ГОСТ Р 57872-2017 Телевидение вещательное цифровое. Система TV-Anytime. Передача метаданных по двунаправленной сети. Технология замены персонального профиля. Основные параметры

Обложка ГОСТ Р 57872-2017 Телевидение вещательное цифровое. Система TV-Anytime. Передача метаданных по двунаправленной сети. Технология замены персонального профиля. Основные параметры
Обозначение
ГОСТ Р 57872-2017
Наименование
Телевидение вещательное цифровое. Система TV-Anytime. Передача метаданных по двунаправленной сети. Технология замены персонального профиля. Основные параметры
Статус
Действует
Дата введения
2018.01.08
Дата отмены
-
Заменен на
-
Код ОКС
33.170


ГОСТ Р 57872-2017

НАЦИОНАЛЬНЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ



ТЕЛЕВИДЕНИЕ ВЕЩАТЕЛЬНОЕ ЦИФРОВОЕ


Система TV-Anytime. Передача метаданных по двунаправленной сети. Технология замены персонального профиля


Основные параметры


Digital video broadcasting. System TV-Anytime. Delivery of metadata over a bi-directional network. The technology of changing the personal profile. Basic parameters



ОКС 33.170
ОКП 657400

Дата введения 2018-08-01

Предисловие

Предисловие

1 РАЗРАБОТАН Автономной некоммерческой организацией "Научно-технический центр информатики" (АНО "НТЦИ")

2 ВНЕСЕН Техническим комитетом по стандартизации ТК 480 "Связь"

3 УТВЕРЖДЕН И ВВЕДЕН В ДЕЙСТВИЕ Приказом Федерального агентства по техническому регулированию и метрологии от 31 октября 2017 г. N 1586-ст

4 Настоящий стандарт разработан с учетом основных нормативных положений стандарта Европейского института по стандартизации в области телекоммуникаций (ETSI) ЕТСИ ТС 102 822-6-3 V1.6.1 (2012-12)* "Широковещательные и on-line услуги: поиск, выбор и правильное использование контента на персональных системах хранения ("TV-Anytime"); Часть 6: Доставка метаданных по двунаправленной сети; Подраздел 3: Фаза 2 - замена персонального профиля" [ETSI TS 102 822-6-3 V1.6.1 (2012-12) "Broadcast and On-line Services: Search, select, and rightful use of content on personal storage systems ("TV-Anytime"); Part 6: Delivery of metadata over a bi-directional network; Sub-part 3: Phase 2 - Exchange of Personal Profile", NEQ]
________________
* Доступ к международным и зарубежным документам, упомянутым в тексте, можно получить, обратившись в Службу поддержки пользователей. - .

5 ВВЕДЕН ВПЕРВЫЕ


Правила применения настоящего стандарта установлены в статье 26 Федерального закона от 29 июня 2015 г. N 162-ФЗ "О стандартизации в Российской Федерации". Информация об изменениях к настоящему стандарту публикуется в ежегодном (по состоянию на 1 января текущего года) информационном указателе "Национальные стандарты", а официальный текст изменений и поправок - в ежемесячном информационном указателе "Национальные стандарты". В случае пересмотра (замены) или отмены настоящего стандарта соответствующее уведомление будет опубликовано в ближайшем выпуске ежемесячного информационного указателя "Национальные стандарты". Соответствующая информация, уведомление и тексты размещаются также в информационной системе общего пользования - на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет (www.gost.ru)

1 Область применения


Настоящий стандарт определяет технологии запросов метаданных и представления данных о персональном профиле клиента на основе IP и web-служб. Настоящий стандарт специфицирует параметры процесса инициации средств для запроса метаданных TV-Anytime из служб метаданных, базирующихся на IP, а также предоставляет сценарии обслуживания.

2 Нормативные ссылки


В настоящем стандарте использована нормативная ссылка на следующий стандарт:

ГОСТ Р 56454 Телевидение вещательное цифровое. Система TV-Anytime. Управление правами и защита информации. Основные параметры

Примечание - При пользовании настоящим стандартом целесообразно проверить действие ссылочных стандартов в информационной системе общего пользования - на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет или по ежегодному информационному указателю "Национальные стандарты", который опубликован по состоянию на 1 января текущего года, и по выпускам ежемесячного информационного указателя "Национальные стандарты" за текущий год. Если заменен ссылочный стандарт, на который дана недатированная ссылка, то рекомендуется использовать действующую версию этого стандарта с учетом всех внесенных в данную версию изменений. Если заменен ссылочный стандарт, на который дана датированная ссылка, то рекомендуется использовать версию этого стандарта с указанным выше годом утверждения (принятия). Если после утверждения настоящего стандарта в ссылочный стандарт, на который дана датированная ссылка, внесено изменение, затрагивающее положение, на которое дана ссылка, то это положение рекомендуется применять без учета данного изменения. Если ссылочный стандарт отменен без замены, то положение, в котором дана ссылка на него, рекомендуется применять в части, не затрагивающей эту ссылку.

3 Термины, определения, обозначения и сокращения

3.1 Термины и определения


В настоящем стандарте применены следующие термины с соответствующими определениями:

3.1.1 агрегатор контента (aggregator): Объект (организация), собирающий и обрабатывающий информацию о контенте, службах и их поставщиках.

3.1.2 аттрактор (attractor): Элемент метаданных, который доступен клиенту для помощи в процессе выбора контента с целью привлечения клиента к предлагаемому контенту. Аттрактор может включать в себя заголовок программы и имя актера.

3.1.3 аутентификация (authentication): Процедура надежного подтверждения, что сервер или клиент имеет подлинный сертификат и что сертификат не был отменен, а также средство надежного подтверждения, что сообщение получено из доверяемого источника.

3.1.4 контент (content): Видео- и аудиофайлы, к которым клиент хотел бы получить доступ и которые могут быть сохранены на персональном цифровом рекордере (PDR).

3.1.5 метаданные (metadata): Данные о контенте, такие как название, жанр и резюме телевизионной программы.

Примечание - В контексте TV-Anytime метаданные также включают в себя данные профиля и истории клиента.

3.1.6 персональный (личный) профиль (personal profile): Данные, представляющие интересы и предпочтения клиента.

3.1.7 политика (policy): Логически определенный, исполнимый и тестируемый ряд правил поведения.

3.1.8 принципал (principal): Объект, который идентифицирован провайдером идентификации и который может принимать решения и выполнять операции, связанные с аутентификацией от его имени.

Примечание - Принципалами могут быть отдельные клиенты, группы лиц, корпорации или другие юридические лица.

3.1.9 провайдер атрибутов (attribute provider): Объект, который предоставляет атрибуты, связанные с принципалами, например служба персонализированного профиля.

3.1.10 провайдер (поставщик) (provider): Объект, который поставляет контент или службы в PDR.

3.1.11 провайдер идентификации: Объект, который создает, поддерживает и управляет идентификационными данными для принципалов и обеспечивает аутентификацию другим провайдерам служб в пределах круга доверия.

3.1.12 протокол Диффи-Хеллмана: Криптографический протокол, который дает возможность двум сторонам получить общий ключ шифрования при использовании незащищенного от перехвата канала связи. Полученный ключ используется для шифрования обмена данными с помощью алгоритмов симметричного шифрования.

3.1.13 разрешение местоположения (location resolution): Процесс установления адреса (местонахождения и времени) конкретного экземпляра контента по его CRID.

3.1.14 синтаксис (syntax): Часть языка программирования, которая описывает структуру программ как набор символов.

3.1.15 служба метаданных (metadata service): Служба, которая предоставляет данные TV-Anytime, используя сервер в двунаправленной сети.

Примечание - Форматы данных и протоколов, используемых для доставки сведений, определяются настоящим стандартом.

3.1.16 служба обнаружения (discovery service): Web-служба для поиска поставщиков (провайдеров) атрибутов.

3.1.17 ссылка контента (content reference): Указатель на конкретный элемент контента.

3.1.18 схема метаданных (metadata schema): Идентификатор, ассоциированный с набором схем расширяемого языка разметки (extensible Markup Language), которые в глобальном масштабе идентифицируют эти схемы.

Примечание - Глобальное уникальное пространство имен гарантирует, что имена типов определенных схем в этом пространстве имен не конфликтуют с такими же именами в других местах.

3.1.19 управление доступом (access control): Акт опосредования запрошенного доступа к ресурсу, основанный на знаниях привилегий запрашивающей стороной и атрибутах управления запрашиваемым ресурсом.

3.1.20 хеширование (hashing): Преобразование входного массива данных произвольной длины в выходную битовую строку фиксированной длины.

3.2 Обозначения


В настоящем стандарте применены следующие обозначения:

<EncryptedResourcelD> - зашифрованный элемент идентификации, содержащий зашифрованный ключ;

<TargetNamespace> - абстрактное описание целевого пространства имен WSDL;

<Encryptedkey> - ключ шифрования;

<EncryptedResourcelD> - зашифрованный элемент идентификации, содержащий зашифрованный ключ;

<ExtendedUserDescription> - часть метаданных TV-Anytime;

<Modify> - элемент запроса ресурса;

<Modification> - составная часть элемента <Modify>;

<Query> - элемент запроса ресурса;

<Queryltem> - элемент запроса данных, указывающий, какие данные нужны от ресурса;

<QueryResponse> - элемент ответа на запрос;

<ResourcelD> - элемент идентификации конкретного ресурса;

<Select> - элемент в составе элементов <Query> и <Modify>;

<ServiceType> - элемент идентификации службы профилей клиентов TV-Anytime;

<Status> - элемент, указывающий состояние результата обработки запроса;

<StatusDescription> - элемент, предоставляющий подробную информацию о статусе возврата;

<TVAMain> - элемент, являющийся корневым узлом структуры данных;

<urn: tva:metadata:profile:2007> - целевое пространство имен.

3.3 Сокращения


В настоящем стандарте применены следующие сокращения:

ТВ - телевидение;

CRID - идентификатор ссылки (адреса) контента;

EPG - электронный путеводитель по программам ТВ;

HTTP - протокол передачи гипертекста;

IP - межсетевой протокол.

Примечание - Общее наименование сетевых протоколов, применяемых в сети Интернет;


SOAP - протокол обмена структурированными сообщениями в распределенной вычислительной среде (простой протокол доступа к объектам);

TLS - безопасность транспортного уровня;

URI - универсальный идентификатор информационного ресурса;

URL - унифицированный указатель ресурса (адреса ресурса в сети Интернет);

Web - "мировая паутина" (гипертекстовая система в сети Интернет);

WSDL - язык описания web-служб;

XML - расширяемый язык разметки;

XPath - язык запросов к элементам документов XML;

XSD - описание схемы XML.

4 Тип службы профиля пользователя TV-Anytime

4.1 Определение типа службы


Служба профиля пользователя TV-Anytime - это web-служба, которая обращается к некоторому ресурсу для получения информации о пользователе, обновления этой информации о пользователе или выполняет какие-либо действия в интересах пользователя. Информацией о пользователе могут быть его предпочтения и местоположение. Изменения этой информации ведут к замене профиля пользователя TV-Anytime.

Типы, используемые в службе профиля пользователя TV-Anytime, определены в целевом пространстве имен <urn: tva:metadata:profile:2007>.

Это позволяет средствам, поддерживающим схему XML, проверять достоверность сообщений. На типы, определенные в ГОСТ Р 56476, можно ссылаться в пространстве имен транспорта (с использованием механизмов использования схем XML согласно [1], [2]). Схема и классификация схемы должны быть в соответствии с приложением А. Схема ("Schema") XML должна быть в соответствии с А.1 (приложение А). Она содержит механизмы импорта схемы XML, которые позволяют выполнять ссылки в пространстве имен транспорта для определения необходимых типов и фрагментов схемы XML.

Фрагменты схемы, определенные в этом пространстве имен, специфицированы в 5.1-5.3. Элемент <ServiceType> используется для идентификации службы профиля пользователя TV-Anytime. Должно обеспечиваться постоянство этого URI во всех реализациях службы профилей пользователей TV-Anytime. Рекомендуется обеспечивать соответствие этого URI пространству имен <TargetNamespace> абстрактного описания WSDL для службы.

Экземпляр службы - это физический экземпляр конкретного типа службы профиля пользователя TV-Anytime. Каждый экземпляр службы размещается провайдером, который идентифицируется URI.

Пример экземпляра службы - это "конечная точка" SOAP поверх HTTP, предлагающая персонализированную службу EPG. Экземпляр службы предоставляет интерфейс протокола для набора ресурсов. Ресурсом являются данные, относящиеся к пользователю, или служба, действующая в интересах пользователя. Запрос в сообщении от пользователя к экземпляру службы включает в себя идентификатор ресурса (т.е. URI), с которым должен взаимодействовать экземпляр службы. Ресурс имеет доступ к связанным с ним политиками управления. Политики управления доступом, как правило, находятся в компетенции объектов, связанных с ресурсом. Политика управления доступа к ресурсу должна выполняться экземпляром службы.

4.2 Обнаружение местоположения службы идентификации


Провайдер службы использует службу обнаружения для установления местоположения конкретной службы идентификации пользователя. Служба обнаружения позволяет оперативно и безопасно обнаруживать объекты службы идентификации пользователя и реагировать на основе разрешения с описанием службы требуемой службы идентификации. Таким образом, провайдер служб может получить доступ к частям идентификационной информации пользователя, которая может быть в распоряжении нескольких провайдеров и которые могут предлагать пользователю службы, используя его профиль.

Настоящий стандарт параметры службы обнаружения не устанавливает.

4.3 Модель данных TV-Anytime


В модели данных TV-Anytime профиль пользователя определяется в соответствии с изложенным в настоящем подразделе.

Метаданные пользователя формируются на основе истории использования, содержащей список действий, выполненных пользователем за период наблюдений. Указанный список может впоследствии использоваться для формирования пользовательского предпочтения.

Сбор и представление информации истории использования выполняются в стандартизованном формате, актуальном для нескольких областей применения и сценариев использования, представленных ниже:

- отслеживание и контроль контента, просмотренного пользователем;

- создание персонализированного телегида путем отслеживания привычек просмотра пользователя;

- продажа рекламодателям истории просмотра;

- отслеживание и мониторинг использования контента для более эффективного развития (усовершенствования) контента;

- продажа провайдеру служб данных статистики;

- вознаграждение пользователя за его согласие на передачу данных его истории использования провайдерам контента.

Схема истории использования TV-Anytime основана на схеме описания UsageHistory. UsageHistory описывает историю потребления аудиовизуального контента в виде списков действий, выполняемых пользователем за период наблюдения.

Семантика схемы описания UsageHistory представлена в таблице 1.


Таблица 1 - Семантика схемы описания UsageHistory

Имя

Описание

UsageHistoryType

Определяет историю потребления мультимедийного контента пользователем

Userldentifier

Определяет личность пользователя, для которого предоставлена история использования. Этот элемент имеет тип UserldentifierType и содержит защищенный атрибут. Личность пользователя не должна раскрываться, если для этого атрибута не установлено значение "False"

UserActionHistory

Описывает историю действий, выполненных пользователем в течение определенных периодов наблюдения

allowCollection

Указывает, позволяет ли пользователь использовать историю использования своих действий. Допустимые значения определяются следующим образом:

- "True" указывает, что данные истории использования могут быть собраны;

- "False" указывает, что сбор данных истории использования не допускается;

- "User", указывает, что в каждом конкретном случае следует запрашивать разрешение. "По умолчанию" значение allowCollection равно "False".


Семантика схемы описания UserActionHistory представлена в таблице 2.


Таблица 2 - Семантика схемы описания UserActionHistory

Имя

Описание

UserActionHistoryТуре

Указывает историю действий, выполняемых пользователем

ObservationPeriod

Описывает период(ды) времени, в течение которого(ых) были записаны связанные элементы истории. Множественный экземпляр может использоваться для представления прерываемых периодов времени

UserActionList

Описывает список действий одного и того же типа, т.е. все действия в UserActionList имеют одно и то же значение ActionType

Protected

Указывает, хочет ли пользователь сохранить конфиденциальную информацию истории своих действий.

Допустимые значения определяются следующим образом:

- "True" указывает, что информация об истории действий пользователя может быть доступна только пользователю и не должна сообщаться внешним сторонам;

- "False" указывает, что информация о истории действий пользователя не должна оставаться конфиденциальной и может передаваться внешним сторонам, таким как провайдеры служб и доверенные программные агенты


Схема описания UserActionList нормирует список элементов действий пользователя, структурированный в соответствии с конкретным типом действия. Каждый UserAction связан только с одной программой или объектом контента.

Схема описания UserActionList описывает несколько списков действий пользователей, каждый из которых является журналом конкретных действий пользователя, например "Запись" или "Воспроизведение", относящихся к аудиовизуальному контенту.

Схема описания UserAction предоставляет подробную информацию об отдельных действиях пользователя, включая время появления, продолжительность, связанный CRID программы, расположение программы и ссылки на соответствующие описания и материалы контента.

Семантика дополнительного элемента схемы описания UserAction представлена в таблице 3.

Схема XML, определенная таким образом, указывает данные, которые служба может использовать. Модель данных определяет данные и структуру данных. Как правило, эта структура является иерархической и имеет корневой узел <TVAMain>. Частью метаданных TV-Anytime, имеющих отношение к службе изменения профиля пользователя TV-Anytime, является <ExtendedUserDescription>.


Таблица 3 - Семантика дополнительного элемента схемы описания UserAction

Имя

Описание

ProgramLocation

Элемент (опциональный), описывающий расположение программы, связанной с действием пользователя

Rating

Элемент (опциональный), определяющий значение рейтинга и критерий оценки действия пользователя

5 Интерфейс сообщения профиля клиента TV-Anytime

5.1 Общие вопросы


Настоящий раздел определяет параметры двух протоколов: для запроса данных и изменения данных.

Оба эти протокола используют шаблон обмена сообщениями "запрос/ответ". Сообщения, указанные в настоящем стандарте, переносятся в теле SOAP.

5.1.1 Ресурсы

Протоколы для выполнения запросов и изменений данных имеют определенную иерархию для доступа к данным.

На первом уровне иерархии выбираются необходимые ресурсы. Например, ресурсом может быть личный профиль определенной персоны. Множественные ресурсы могут быть доступны в одном запросе, но запросы и изменения не могут смешиваться в одном сообщении запроса.

В сообщении запроса каждого ресурса должен быть элемент <Query> (запрашивать) или элемент <Modify> (изменять) ресурс. Элементом ресурса является элемент <ResourcelD> или элемент <EncryptedResourcelD>. Листинг декларации "ResourcelDGroup" показан на рисунке 1.

Рисунок 1 - Листинг декларации "ResourcelDGroup"

<complexType name="ResourcelDType">
<simpleContent>
<extension base="anyURI">
<attribute name="id" type="tva:TVAIDType" />
</extension>
</simpleContent>
</complexType>
<complexType name="EncryptedResourcelDType">
<sequence>
<element ref="xenc:EncryptedData" />
<element ref="xenc:EncryptedKey" />
</sequence>
</complexType>
<group name="ResourcelDGroup">
<choice maxOccurs="unbounded">
<element name="ResourcelD" type="tvap:ResourcelDType" />
<element name="EncryptedResourcelD" type="tvap:EncryptedResourcelDType" />
</choice>
</group>


Рисунок 1 - Листинг декларации "ResourcelDGroup"


В таблице 4 представлены определения типов и атрибутов.


Таблица 4 - Определения типов и атрибутов

Имя

Определение

ResourcelDType

Комплексный тип для определения идентификатора ресурса

Id

Атрибут типа "TVAIDType"

EncryptedResourcelDType

Комплексный тип для переноса идентификаторов закодированного ресурса

ResourcelDGroup

Определяет группу "ResourcelDs" и/или "EncryptedResourcelDs"

ResourcelD

Идентификатор конкретного ресурса

EncryptedResourcelD

Содержит идентификатор, который был зашифрован, и зашифрованный ключ, который был использован для шифрования ResourcelD.

Дополнительные объяснения приведены в 5.1.2


Если элемент <ResourcelD> принимает значение "urn:liberty:isf:implied-resource", этот элемент может быть исключен из элемента, содержащего <Query> или <Modify>. Во всех остальных случаях должен присутствовать элемент <ResourcelD> или элемент <EncryptedResourcelD>.

Схема определяет элемент "EncryptedResourcelD", предназначенный для транспортировки идентификатора закодированного ресурса.

"EncryptedResourcelD" содержит "ResourcelD", который был зашифрован, и зашифрованный ключ, использованный для шифрования "ResourcelD". Использование "EncryptedResourcelD" необходимо по соображениям конфиденциальности. Если для элемента "Encryptedkey" используют непредсказуемый код, то каждое открытие службы пользователя позволит получить другой идентификатор.

Примечание - Ключ должен быть уникальным для каждого пользователя.

5.1.2 Элемент <Select>

Второй уровень иерархии отбора ресурсов находится внутри элементов <Query> и <Modify>. Сообщение содержит запрос более подробного описания того, что предполагается получить при доступе в указанном ресурсе. Это указано в элементе <Select>. В качестве примера, когда ресурс является личным профилем, в элементе <Select> можно указать "UserPreferences". При запросе <Query> запрашиваются все "UserPreferences", в случае запроса <Modify> запрашивается изменение "UserPreferences".

Когда запрашивается или изменяется только часть "UserPreferences", элемент <Select> должен быть направлен только на эту часть. Части, которые не должны изменяться, должны быть переписаны с использованием существующих значений, когда передана полная "UserPreferences". Элементы <Query> и <Modify> могут содержать в собственной субструктуре несколько элементов <Select>. Поэтому при использовании одного и того же элемента <Query> или <Modify> могут быть доступны разные части ресурса.

Элемент <Select> указывает на места в описании метаданных пользователя TV-Anytime, при этом для элемента <Select> рекомендуется использовать строку, содержащую выражение XPath. Это правило не требует поддержки полного документа XPath. Каждый профиль службы обмена TV-Anytime следует ограничивать необходимым набором выражений XPath (при отсутствии необходимости в применении полного XPath).

Предопределенный набор аббревиатур выражений "Select Path", который будет использоваться вместо полных выражений XPath, приведен в таблице 5.


Таблица 5 - Предопределенный набор аббревиатур выражений "Select Path"

Аббревиатура выбранного поля

Полное выражение XPath

tva:profile:UserSearchPreferences

/TVAMain/ExtendedUserDescription/UserPreferences/FilteringAnd
SearchPreferences

tva:profile:UserBrowsingPreferences

/TVAMain/ExtendedUserDescriptions/UserPreferences/Browsing-
Preferences

tva:profile:UserActionHistory

/TVAMain/ExtendedUserDescriptions/UsageHistory/UserActionHistory

tva:profile:UserName

/TVAMain/ExtendedUserDescription/UserlnformationTable/BioGraphic-
lnformation/Name

tva:profile:UserAge

/TVAMain/ExtendedUserDescription/UserlnformationTable/BioGraphic-
lnformation/Age

tva:profile:UserAge

TVAMain/ExtendedUserDescription/UserlnformationTable/BioGraphic-
lnformation/Gender

tva:profile:UserLanguage

/TVAMain/ExtendedUserDescription/UserlnformationTable/BioGraphic-
lnformation/Language

tva:profile:UserLocation

/TVAMain/ExtendedUserDescription/UserlnformationTable/Usage-
Environment/NaturalEnvironment/Location


Успешно выполненные запросы (далее - успешные запросы) всегда содержат элемент <TVAMain>, при возврате они содержат данные, определенные параметрами в элементе <Select>.

Листинг схемы элемента "SelectType" представлен на рисунке 2.

Рисунок 2 - Листинг схемы элемента "SelectType"

<simpleType name="SelectTypeType">
<restriction base="string">
<enumeration value="xpath" />
<enumeration value="abbreviated" />
</restriction>
</simpleType>
<complexType name="SelectType">
<simpleContent>
<extension base="string">
<attribute name="type" type="tvap:SelectTypeType" use="optional" default="abbreviated" />
</extension>
</simpleContent>
</complexType>


Рисунок 2 - Листинг схемы элемента "SelectType"


Семантика схемы элемента "SelectType" представлена в таблице 6.


Таблица 6 - Семантика схемы элемента "SelectType"

Имя

Описание

SelectTypeType

Простой тип для типа формата запроса. Ниже приведены возможные значения:

- "XPath" - формат запроса "XPath";

- "abbreviated" (сокращенно) - формат запроса в сокращенном формате

SelectType

Сложный тип, определяющий элемент "select"

Type

Определяет тип формата запроса: "Xpath" или сокращенный формат

5.1.3 Ключевые слова обнаружения

Ключевые слова обнаружения используются (опционально) для обозначения вариантов служб профиля пользователя TV-Anytime. Определения ключевых слов обнаружения представлены в таблице 7.


Таблица 7 - Определения ключевых слов обнаружения (опционально)

Ключевые слова обнаружения

Определение

Urn:liberty:dst:allPaths

Провайдер служб поддерживает все (необходимые) пути без поддержки полного "XPath"

Urn:liberty:dst:fullXPath

Провайдер служб поддерживает полный "XPath"

urn:liberty:dst:multipleResources

Провайдер служб поддерживает доступ к нескольким ресурсам

urn:liberty:dst:changeHistorySupported

Провайдер служб обрабатывает атрибут "changedSince"

Urn:liberty:dst:noModify

Провайдер служб не поддерживает изменений

urn:liberty:dst:multipleQueryItems

Провайдер служб поддерживает несколько элементов <Queryltem> внутри элемента <Query>

urn:liberty:dst:multipleModification

Провайдер служб поддерживает несколько элементов <Modification> внутри элемента <Modify>

5.1.4 Элемент <Status>

Сообщение, переданное в ответ на запрос (далее - ответное сообщение), содержит один или несколько элементов <Status>, указывающих состояние результата обработки запроса. Элемент <Status> имеет атрибут кода, который содержит статус возврата в виде строки. В таблице 8 определены коды статуса, которые будут использоваться в качестве значений атрибута кода. Схема классификации элемента <Status> должна быть в соответствии с А.2 (приложение А).


Таблица 8 - Определения кодов статуса

Код статуса

Определение

ActionNotAuthorized

Указывает, что требуемое действие не разрешено

ActionNotSupported

Указывает, что требуемое действие не поддержано этой службой

AIIReturned

Указывает, что провайдер атрибута не обязан давать самую свежую информацию с момента времени, указанного в параметре "changedSince".

Это не считается ошибкой. Код также показывает, что все данные в настоящее время могут быть возвращены (за исключением тех, которые аннулированы)

ChangedSinceReturnsAII

Указывает, что провайдер атрибута не поддерживает параметр "changedSince" и возвращает все данные, адресованные на "Select", независимо от последнего времени модификации. Некоторые или все возвращаемые данные могут быть фактически старше, чем время, указанное в параметре "changedSince"

DataTooLong

Указывает, что размер запрашиваемых данных превышает заданный порог провайдера служб. Это относится только к модификациям

ExistsAlready

Указывает, что запрос пытается изменить существовавшее значение

Failed

Указывает, что запрос не удался

InvalidData

Указывает, что запрос содержит неверные данные

InvalidResourcelD

Указывает, что ресурс "ResourcelD" (идентификатор запроса) является недействительным

InvalidSelect

Указывает, что выбранный элемент в запросе является недействительным

MissingNewDataElement

Указывает, что запрос не указывает никаких новых данных для обновления

MissingResourcelDEIement

Указывает, что запрос не может указать "ResourcelD" (идентификатор ресурса)

MissingSelect

Указывает, что запрос не определяет выбранный элемент

NoMoreElements

Указывает, что возвращаемые данные завершаются преждевременно из-за отсутствия элементов

NoMultipleAllowed

Указывает, что несколько запросов недопустимы

NoMultipleResources

Указывает, что использование нескольких ресурсов не допускается

OK

Указывает, что действие было успешно подтверждено

TimeOut

Указывает, что запрос не удался из-за окончания времени ожидания

UnexpectedError

Указывает, что произошла непредвиденная ошибка


Атрибут кода верхнего уровня внутри элемента <Status> содержит значение "ОK" или "Failed". Элемент <Status> может содержать элемент "StatusDescription", предоставляя более подробную информацию о статусе возврата. В таблице 9 приведены более подробные сведения о статусе возврата. Если запрос по какой-то причине не выполняется, то атрибут "requestlDRef" элемента <StatusDescription> содержит значение "requestlDRef" атрибута проблемного элемента в сообщении запроса.

На рисунке 3 приведен листинг элементов "Status" и "StatusDescription".

Рисунок 3 - Листинг элементов "Status" и "StatusDescription

<complexType name="StatusDeschptionType">
<simpleContent>
<extension base="mpeg7:TextualType">
<attribute name="href" type="mpeg7:termReferenceType" use="optional" />
</extension>
</simpleContent>
</complexType>
<complexType name="StatusType">
<sequence>
<element name="StatusDescription" type="tvap:StatusDescriptionType" minOccurs="0"
maxOccurs="unbounded" />
</sequence>
<attribute name="code" use="required">
<simpleType>
<restriction base="string">
<enumeration value="OK" />
<enumeration value="Failed" />
</restriction>
</simpleType>
</attribute>
<attribute name="requestlDRef" type="tva:TVAIDRefType" use="optional" />
</complexType>


Рисунок 3 - Листинг элементов "Status" и "StatusDescription"


В таблице 9 приведена семантика элементов "Status" и "StatusDescription".


Таблица 9 - Семантика элементов "Status" и "StatusDescription"

Имя

Описание

StatusType

Сложный тип, который определяет коды "Status", которые будут использоваться в качестве значений для атрибута кода "Status"

code

Атрибут указывает на то, что возвращаемое значение "Status" должно содержать либо значение "ОK" или "Failed"

requestlDRef

Атрибут, который содержит значение атрибута "ItemId" элемента в сообщении запроса, что это статус

StatusDescriptionType

Сложный тип, который определяет коды состояния, которые будут использоваться в качестве значений для элемента "StatusDescription"

href

Атрибут (опциональный), который определяет URN, используемый для указания кода в схеме классификации кода состояния элемента "Status"

5.1.5 Идентификаторы связи запросов и ответов

Для связывания запросов и ответов используются различные типы атрибутов идентификаторов. Ответные сообщения связаны с запросами, использующими атрибуты "MessagelD" и "inResponseToMessageld", которые присутствуют в заголовке SOAP [1], [2]. Службы должны включать в себя атрибуты "MessagelD" и "inResponseToMessageld" во всех сообщениях запроса и ответа, определенных в настоящем стандарте. Внутренние сообщения, атрибуты "ItemId" и "itemlDRef" используются для связывания информации внутри ответных сообщений на детали сообщений запроса.

Образцы объектов приведены в приложении Б. Образец заголовка SOAP приведен в Б.1 (приложение Б).

Примечание - Oтвeтныe cooбщeния нe coдepжaт элeмeнты <RESOURCEID> или <EncryptedResourcelD>, поэтому они не могут быть использованы для этого. См. определения и правила обработки элементов <Query> и <Modify> для получения более подробной информации.

5.1.6 Атрибут метки времени "timestamp"

Ответное сообщение может содержать метку времени "timestamp".

Метка выполнена так, что запрашивающая сторона может проверить наличие каких-либо изменений после получения ответа или внести изменения, которые будут успешными, если не было никаких других изменений, сделанных после того, как метка времени была получена.

5.2 Параметры процессов запросов данных


Поддерживаются два типа запросов данных: один для получения текущих данных, а другой для запроса только измененных данных. Эти два типа запросов могут присутствовать вместе в одном и том же сообщении. Ответ может содержать данные с общими техническими характеристиками или без общих технических характеристик, в зависимости от запроса. Для некоторых элементов некоторые общие атрибуты возвращаются всегда.

5.2.1 Параметры схемы запроса <Query>

Листинг схемы запроса данных <Query> представлен на рисунке 4.

Рисунок 4 - Листинг схемы запроса данных <Query>

<complexType name="QueryType">
<sequence>
<group name="ResourcelDGroup" type="tvap:ResourcelDGroup" minOccurs="0" />
<element name="Queryltem" minOccurs="0" maxOccurs="unbounded">
<complexType>
<sequence>
<element name="Select" type="tvap:SelectType" minOccurs="0" />
</sequence>
<attribute name="ifemID" type="tva:TVAIDType" />
<attribute name="changedSince" type="dateTime" />
</complexType>
</element>
</sequence>
<attribute name="gueryID" type="tva:TVAIDType" />
</complexType>
<element name="Query" type="tvap:QueryType" />


Рисунок 4 - Листинг схемы запроса данных <Query>

Схема запроса данных <Query> представлена в таблице 10.


Таблица 10 - Семантика схемы запроса данных <Query>

Имя

Описание

QueryType

Тип, который определяет запрос для получения текущих данных

ResourcelDGroup

Содержит группы "ResourcelD" и/или "EncryptedRESOURCEID"

Queryltem

Указывает, какие данные нужны от ресурса запрашивающей стороне

Select

Подробно описывает, к чему запрос хочет получить доступ внутри указанного ресурса

itemID

Уникальный идентификатор используют для согласования элементов запроса на элементы ответа

changedSince

Используется, когда запрашивающая сторона хочет получить только те данные, которые изменились со времени, указанного этим атрибутом

querylD

Уникальный идентификатор для сопоставления запросов с ответами


Пример схемы "Query" приведен в Б.2 (приложении Б).

5.2.2 Параметры схемы ответа на запрос <QueryResponse>

Листинг схемы ответа на запрос <QueryResponse> представлен на рисунке 5.

Рисунок 5 - Листинг схемы ответа на запрос <QueryResponse>

<complexType name="QueryResponseType">
<sequence>
<element name="Status" type="tvap:StatusType" minOccurs="1" />
<element name="Data" minOccurs="0" maxOccurs="unbounded">
<complexType>
<sequence>
<element name="TVAMain" type="tva:TVAMainType" minOccurs="0" />
</sequence>
<attribute name="itemlDRef" type="tva:TVAIDRefType" />
</complexType>
</element>
</sequence>
<attribute name="querylDRef" type="tva:TVAIDRefType" />
<attribute name="timeStamp" type="dateTime" />
</complexType>
<element name="QueryResponse" type="tvap:QueryResponseType" />


Рисунок 5 - Листинг схемы ответа на запрос <QueryResponse>


Семантика схемы ответа на запрос <QueryResponse> представлена в таблице 11.


Таблица 11 - Семантика схемы ответа на запрос <QueryResponse>

Имя

Описание

QueryResponseType

Сложный тип содержит ответ на запрос

Status

Указывает, "да" или "нет", или не удалась обработка запроса

См. 5.1.5 для пояснений

Data

Содержит данные профиля TV-Anytime, запрошенные одним элементом <Queryltem>

itemlDRef

Используется для связывания элементов в ответ на соответствующие элементы в запросе

querylDRef

Используется для связывания элементов в ответ на соответствующие элементы в запросе

timestamp

Указывает время, когда запрос был обработан, для того, чтобы использовать позже при запросе изменений с того времени


Возвращаемый экземпляр документа должен быть схемой XML и действительным по отношению к схемам метаданных, агрегированным в файлы:

- tva_mpeg21_tva.xsd;

- tva_metadata_3-3_v131.xsd.

Расширенная схема метаданных импортирует следующие файлы:

- tva_mpeg7.xsd;

- tva_metadata_3-1_v151.xsd;

- tva_interstitial_3-4_v131.xsd;

- xml.xsd;

- tva_rmpi_5-1_v141.xsd.

Файлы схемы замены профиля пользователя TV-Anytime должны быть в соответствии с приложением В.

Кроме того, каждый экземпляр документа должен содержать соответствующий "TVAIDType", чтобы обеспечить полное разыменование всех узлов "TVAIDRefType" внутри экземпляра документа. В случае успеха элемент данных "Data" содержит информацию, указанную в элементе "Select". Сообщение запроса может содержать несколько элементов <Query>.

Пример схемы "QueryResponse" приведен в Б.3 (приложение Б).

5.3 Параметры процессов изменения данных


В общем случае данные, сохраненные с помощью службы данных, могут получить начальные значения, существующие значения могут быть заменены новыми значениями и, кроме того, данные могут быть удалены. Принципал может выполнять эти изменения непосредственно в службе данных, используя предоставленный интерфейс клиента, но эти модификации могут быть сделаны и другими провайдерами служб. Элемент <Modify> поддерживает все эти операции для провайдеров служб, которые хотят изменить данные, хранящиеся в службах данных.

5.3.1 Параметры схемы <Modify>

Листинг схемы <Modify> представлен на рисунке 6.

Рисунок 6 - Листинг схемы <Modify>

<complexType name="ModifyType">
<sequence>
<group name="ResourcelDGroup" type="tvap:ResourcelDGroup" minOccurs="0" />
<element name="Modification" maxOccurs="unbounded">
<complexType>
<sequence>
<element name="Select" type="tvap:SelectType" minOccurs="0" />
<element name="NewData" minOccurs="0">
<complexType>
<sequence>
<element name="TVAMain" type="TVAMainType" minOccurs="0" />
</sequence>
</complexType>
</element>
</sequence>
<attribute name="itemID" type="tvap:IDType" />
<attribute name="notChangedSince" type="dateTime" />
<attribute name="overrideAllowed" type="boolean" default="0" />
</complexType>
</element>
</sequence>
<attribute name="modifylD" type="tvap:IDType" />
</complexType>
<element name="Modify" type="tvap:ModifyType" />


Рисунок 6 - Листинг схемы <Modify>

Семантика схемы <Modify> представлена в таблице 12.


Таблица 12 - Семантика схемы <Modify>

Имя

Описание

ModifyType

Измените данные, хранящиеся в службах данных

ResourcelDGroup

Содержит группу ресурсов "ResourcelDs" и/или "EncryptedResourcelDs"

Modification

Определяет, какие и как должны быть модифицированы элементы данных указанного ресурса

itemID

Используется для разделения элементов друг от друга в запросе

Select

Определяет данные, на которые должно повлиять это изменение

NewData

Определяет, какие данные запрашивающая сторона хочет получить от ресурса

notChangedSince

Модификация не разрешена, если данные изменились со времени определенного этим атрибутом. Используется, чтобы избежать проблем параллелизма

overrideAllowed

Используется для защиты текущих значений при добавлении новых данных

modifyID

Используется для разделения друг от друга элементов в запросе

5.3.2 Ответ об изменении

Элемент <ModifyResponse> содержит элемент <Status>, который описывает состояние результата обработки запроса <Modify>. Атрибут метки времени "timestamp" дает значение времени, которое может использоваться для проверки наличия изменений с момента этого изменения, и атрибут "itemlDRef" для сопоставления элементов <ModifyResponse> и <Modify> в запросе.

Листинг схемы <ModifyResponse> представлен на рисунке 7.

Рисунок 7 - Синтаксис схемы <ModifyResponse>

<complexType name="ModifyResponseType">
<sequence>
<element name="Status" type="tvap:StatusType" />
</sequence>
<attribute name="modifylDRef" type="tvap:IDReferenceType" />
<attribute name="timeStamp" type="dateTime" />
</complexType>
<element name="ModifyResponse" type="tvap:ModifyResponseType" />


Рисунок 7 - Синтаксис схемы <ModifyResponse>


Семантика схемы <ModifyResponse> представлена в таблице 13.


Таблица 13 - Семантика схемы <ModifyResponse>

ModifyResponseType

Сложный тип, содержит ответ на <Modify>

Status

Указывает, удалась или не удалась обработка запроса

См. 5.1.5 для объяснения и уточнения значения

modifylDRef

Используется для связывания элементов в ответ на соответствующие элементы в запросе

timestamp

Указывает время, когда запрос был обработан, для того, чтобы использовать позднее при запросе изменений за прошедшее время


Сообщение запроса может содержать несколько элементов <Modify>.

6 Конфиденциальность и безопасность

6.1 Требования конфиденциальности

6.1.1 Введение

Информация о демографии, о личных предпочтениях и об истории просмотров является особенным инструментом. Простое указание личного вкуса позволяет наблюдателю иметь представление о личных качествах клиента. Когда детализированный статус и детализированная информация о местоположении добавляются к личному профилю, ошибки управления такой персональной информацией становятся критичными.

6.1.2 Авторизация наблюдателей

Клиент должен иметь возможность определять, кто может запросить его личный профиль. Следствием этому является необходимость проверки входящих запросов профиля, чтобы гарантировать, что запрашивающий их объект был уполномочен принципалом получать информацию личного профиля. Реализация и обслуживание любых списков авторизации нормированы для отдельных протоколов. В 6.1.3-6.1.5 описаны механизмы, определяющие возможности доступа запрашивающего пользователя к данным службы замены профиля и возможности их использования.

6.1.3 <Consent>

Блок с заголовком <Consent> позволяет пользователю службы замены профиля информировать провайдера этой службы, что они получили согласие принципала на получение данных.

6.1.4 <UsageDirective>

Блок с заголовком <UsageDirective> позволяет принципалу указывать ограничения возможности использования представленных данных. Семантика этого блока будет включать URL, специфицированным в блоке <UsageDirective> в представляемом ответе. Указанный URL будет ссылаться на описание набора обязательств, запрашивающего пользователя службы замены профиля, которые должны выполняться.

6.1.5 "Options"

Провайдер служб профиля пользователя имеет возможность указывать информацию, содержащуюся в метаданных пользователя, которую можно заменять и, в частности, определять возможность совместного использования идентификатора пользователя. Это выполняется определением параметров в предлагаемых ресурсах, которые публикуются во время обмена сообщениями SOAP. В этом смысле элемент "Options" может быть принят в качестве выражения возможностей (вариантов) предоставления ресурса, которое обеспечивает подсказки для запрашивающей стороны о доступности, определенных данных или операций ресурса, например о доступности идентификатора пользователя.

6.2 Требования безопасности


Должны поддерживаться механизмы безопасности транспортного уровня (TLS), обеспечивающие защиту сеанса связи при условии поддержки клиентом и сервером механизма TLS.

Должны поддерживаться следующие основные процедуры механизма безопасности:

- согласование доступных для применения алгоритмов шифрования и хеширования между сервером и клиентом;

- инициализация безопасного канала аутентификации между сервером и клиентом;

- взаимная аутентификация сервера и клиента;

- формирование секретного сеансового ключа по протоколу Диффи-Хеллмана;

- шифрование и дешифрование передаваемых данных служб TV-Anytime.

Рекомендуется обеспечивать возможность поддержки безопасности web-служб и, в частности, безопасности сообщений SOAP применением нескольких моделей с несколькими:

- форматами безопасности;

- доменами доверия при аутентификации;

- форматами подписи;

- форматами технологии шифрования.

Приложение А (обязательное). Схема и классификация схемы

Приложение А
(обязательное)

А.1 Схема ("Schema") XML

Листинг схемы ("Schema") XML представлен на рисунке А1.

Рисунок A.1 - Листинг схемы "Schema"

<?xml version="1.0" encoding="UTF-8"?>
<schema tarqetNamespace="urn:tva.profile:2012" xmlns:xenc="http://www.w3.org/2001 /04/xmlenc#" xmIns:mpeg7="urn:tva:mpeg7:2008"xmIns:tvap="urn:tva:profile:2012"
xmIns:tva="urn.tva.metadata:2072"xmIns="http://www.w3.org/2001/XMLSchema" element-FormDefault="qualified"
attributeFormDefault="unqualified">
<annotation>
<documentation xml:lang="en">This schema consists of datatypes that are normatively defined in TS 102 822-6-3</documentation>
</annotation>
<import namespace="http://www.w3.orq/XML/1998/namespace" schemaLocation="xml.xsd" />
<import namespace="urn:tva:mpeg7:2008" schemaLocation="tva_mpeg7_2008.xsd" />
<import namespace="urn.tva:metadata:2012"schemaLocation="tva_metadata_3-7_v181.xsd" />
<import namespace="http://www.w3.org/2001/04/xmlenc#" schemaLocation="xencschema.xsd"/>
<annotation>
<documentation xml:lang="en">Base Types</documentation>
</annotation>
<complexType name="ResourcelDType">
<simpleContent>
<extension base="anyURI">
<attribute name="id" type="tva:TAIDType" />
</extension>
</simpleContent>
</complexType>
<complexType name="EncryptedResourcelDType">
<sequence>
<element ref="xenc:EncryptedData" />
<element ref="xenc:EncryptedKey" />
</sequence>
</complexType>
<group name="ResourcelDGroup">
<choice>
<element name="ResourcelD" type="tvap:ResourcelDType" />
<element name="EncryptedResourcelD" type="tvap:EncryptedResourcelDType" />
</choice>
</group>
<simpleType name="SelectTypeType">
<restriction base="string">
<enumeration value="xpath" />
<enumeration value="abbreviated" />
</restriction>
</simpleType>
<complexType name="SelectType">
<simpleContent>


Рисунок A.1 - Листинг схемы "Schema", лист 1

<extension base="string">
<attribute name="type" type="tvap:SelectTypeType" use="optional" dexfault="abbreviated" />
</extension>
</simpleContent>
</complexType>
<complexType name="StatusDescriptionType">
<complexContent>
<extension base="mpeg7:TextualType">
<attribute name="href" type="mpeg7:termReferenceType" use="optional" />
</extension>
</complexContent>
</complexType>
<complexType name="StatusType">
<sequence>
<element name="StatusDescription" type="tvap:StatusDescriptionType" minOccurs="0" maxOccurs="unbounded" />
</sequence>
<attribute name="code" use="required">
<simpleType>
<restriction base="string">
<enumeration value="OK" />
<enumeration value="Failed" />
</restriction>
</simpleType>
</attribute>
<attribute name="requestlDRef" type="tva:TVAIDRefType" use="optional" />
</complexType>
<annotation>
<documentation xml:lang="en">Clause 5.2.1 Query</documentation>
</annotation>
<complexType name="QueryType">
<sequence>
<group ref="tvap:ResourcelDGroup" />
<element name="Queryltem" minOccurs="0" maxOccurs="unbounded">
<complexType>
<sequence>
<element name="Select" type="tvap:SelectType" minOccurs="0" />
</sequence>
<attribute name="itemlD" type="tva:TVAIDType" />
<attribute name="changedSince" type="dateTime" />
</complexType>
</element>
</sequence>
<attribute name="querylD" type="tva:TVAIDType" />
</complexType>
<element name="Query" type="tvap:QueryType" />
<annotation>
<documentation xml:lang="en">Clause 5.2.2 Query Response</documentation>
</annotation>
<complexType name="QueryResponseType">
<sequence>
<element name="Status" type="tvap:StatusType" maxOccurs="unbounded" />


Рисунок A.1, лист 2

<element name="Date" minOccurs="0" maxOccurs="unbounded">
<complexType>
<sequence>
<element name="TVAMain" type="tva:TVAMainType" minOccurs="0" />
</sequence>
<attribute name="itemlDRef" type="tva:TVAIDRefType" />
</complexType>
</element>
</sequence>
<attribute name="querylDRef" type="tva:TVAIDRefType" />
<attribute name="timeStamp" type="dateTime" />
</complexType>
<element name="QueryResponse" type="tvap:QueryResponseType" />
<annotation>
documentation xml:lang="en">Clause 5.3.1 Modify</documentation>
</annotation>
<complexType name="ModifyType">
<sequence>
<group ref="tvap:ResourcelDGroup" />
<element name="Modification" maxOccurs="unbounded">
<complexType>
<sequence>
<element name="Select" type="tvap:SelectType" minOccurs="0" />
<element name="NewData" minOccurs="0">
<complexType>
<sequence>
<element name="TVAMain" type="tva:TVAMainType" minOccurs="0" />
</sequence>
</complexType>
</element>
</sequence>
<attribute name="itemlD" type="tva:TVAIDType" />
<attribute name="notChangedSince" type="dateTime" />
<attribute name="overrideAllowed" type="boolean" default="0" />
</complexType>
</element>
</sequence>
<attribute name="modifylD" type="tva:TVAIDType" />
</complexType>
<element name="Modify" type="tvap:ModifyType" />
<annotation>
documentation xml:lang="en">Clause 5.3.2 Modify Response</documentation>
</annotation>
<complexType name="ModifyResponseType">
<sequence>
<element name="Status" type="tvap:StatusType" maxOccurs="unbounded" />
</sequence>
<attribute name="modifylDRef" type="tva:TVAIDRefType" />
<attribute name="timeStamp" type="dateTime" />
</complexType>
<element name=''ModifyResponse" type="tvap:ModifyResponseType" />
</schema>


Рисунок A.1, лист 3


А.2 Схема классификации элемента <Status>

Листинг схемы классификации элемента <Status> представлен на рисунке А.2.

Рисунок А.2 - Листинг схемы классификации элемента <Status>

<ClassificationScheme uri="urn:tva:profile:cs:StatusCS:2005">
<!-- ########################################################## -->
<!-- Status Code returned to requests -->
<!-- Definition: -->
<!-- ########################################################## -->
<Term termlD="1">
<Name xml:lang="en">ActionNotAuthorized</Name>
<Definition xml:lang="en">
Indicates that the requested action is not authorized.
</Definition>
</Term>
<Term termlD="2">
<Name xml:lang="en">
ActionNotSupported</Name>
<Definition xml:lang="en">
Indicates that the requested action is not supported by this service.
</Definition>
</Term>
<Term termlD="3">
<Name xml:lang="en">
AIIReturned </Name>
<Definition xml:lang="en"> definition</Definition>
</Term>
<Term termlD="4">
<Name xml:lang="en">
ChangedSinceReturnsAIl</Name>
<Definition xml:lang="en">lndicates that when an attribute provider does not support this parameter and returns all the data addressed by Select regardless of the latest modification times. Some or all data returned might actually be older than the time specified in the ChangedSince parameter.
</Definition>
</Term>
<Term termlD="5">
<Name xml:lang="en">DataTooLong</Name>
<Definition xml:lang="en">Indicates that the size of the requested data exceeds the preset threshold of the service provider. This is only for modifications.
</Definition>
</Term>
<Term termlD="6">
<Name xml:lang="en">ExistsAlready</Name>
<Definition xml:lang="en"<lndicates that the request is trying to modify to a preexisting value.
</Definition>
</Term>
<Term termlD="7">
<Name xml:lang="en">lnvalidData </Name>
<Definition xml:lang="en">lndicates that the request contains invalid data
</Definition>
</Term>


Рисунок А.2 - Листинг схемы классификации элемента <Status>

<Term termlD="8">
<Name xml:lang="en">InvalidResourcelD</Name>
<Definition xml:lang="en">Indicates that the ResourcelD of the request is invalid.
</Definition>

</Term>

<Term termlD="9">
<Name xml:lang="en">InvalidSelect</Name>
<Definition xml:lang="en">Indicates that the Select element is invalid in the request.
</Definition>

</Term>

<Term termlD="10">
<Name xml:lang="en">MissingNewDataElement</Name>
<Definition xml:lang="en">Indicates that the request specifies no new data to be updated.
</Definition>

</Term>

<Term termlD="11">
<Name xml:lang="en">MissingResourcelDEIement</Name>
<Definition xml:lang="en">Indicates that the request fails to specify the ResourcelD
</Definition>

</Term>

<Term termlD="12">
<Name xml:lang="en">MissingSelect</Name>
<Definition xml:lang="en">Indicates that the request fails to specify the Select element
</Definition>

</Term>

<Term termlD="13">
<Namexml:lang="en">NoMoreElements</Name>
<Definition xml:lang="en">Indicates that the returned data ends prematurely for lack of elements.
</Definition>

</Term>

<Term termlD="14">
<Name xml:lang="en">NoMultipleAllowed</Name>
<Definition xml:lang="en">Indicates that multiple requests are not allowed
</Definition>

</Term>

<Term termlD="15">
<Name xml:lang="en">NoMultipleResources</Name>
<Definition xml:lang="en">Indicates that the use of multiple resources is not allowed
</Definition>

</Term>

<Term termlD="16">
<Name xml:lang="en">TimeOut</Name>
<Definition xml:lang="en">Indicates that the request has failed because of timeout.
</Definition>

</Term>

<Term termlD="17">
<Name xml:lang="en">UnexpectedError</Name>
<Definition xml:lang="en">Indicates that an unexpected error has occurred</Definition>

</Term>

</ClassificationScheme>


Рисунок А.2, лист 2

Приложение Б (справочное). Образцы объектов

Приложение Б
(справочное)

Б.1 Образец заголовка SOAP

Листинг образца заголовка SOAP представлен на рисунке Б.1.

Рисунок Б.1 - Листинг образца заголовка SOAP

<soapenv:Header>
<sb:Correlation id="NTTAEB9DE0EB0B1A89B00797A14C6EE85F6" messageID="uuid:debbffd3-4ea8-973e-5463-e5ecc2d95dde" timestamp="2004-03-10T05:59:01Z" soapenv:actor="http://schemas.xmlsoap.org/soap/actor/next"
soapenv:mustUnderstand="1" xmlns:sb="urn:liberty:sb:2003-08" />
<sb:Provider providerlD="https://UKCP.com:8443/" soapenv:mustUnderstand="0" xmlns:sb="urn.liberfy.sb:2003-08" />
<wsse:Security soapenv:actor="http://schemas.xmlsoap.org/soap/actor/next" soapenv:mustUnderstand="1" xmlns:wsse="http://schemas.xmlsoap.org/ws/2003/06/secext" />
<wsse:BinarySecurityToken EncodingType="wsse:Base64Binary" ValueType="wsse:X509v3" wsu:Id="X509Token" xmlns:wsu="http://schemas.xmlsoap.org/ws/2003/06/utility">
MIICBDCCAW2gAwlBAglBUTANBgkqhkiG9w0BAQQFADA1MQswCQYDVQQGEwJVUzEUMBIGA1UEChMLT
GNZXJ0eSBJT1AxEDAOBgNVBAMTB1Rlc3QgQ0EwHhcNMDMxMjA1MTQ0Mjl1WhcNMDQxMjA0MTQ0Mjl1W
jBMMQswCQYDVQQGEwJVUzEYMBYGA1UEChMPTGliZXJ0eSBJT1AgamtzMSMwlQYDVQQDExpudHQtY
S1zaWduLmxpYmVydHktaW9wLm9yZzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAq9SI+JvcHKNjjtE/
v70TKMMXo+Ft05RBy/XUruHZsuH0b206MYG+CCBoPyJ6Jv+6+ZsCglEjfJ6lqRZRZmPdGv92zcBHHO1/k1/GG7
FPNFH+mrUm/66nRDysv6JFMzW7+Ct7132IUUiTEvj45CXHEcyy8JUffd1J1+FOrVweAEUCAwEAAaMNMAswCQ
YDVR0TBAIwADANBgkqhkiG9w0BAQQFAAOBgQBwqsW22HMTLTcxn3jiifP+yBjKRaYpikrRzffeJ8XtLUrHCkm7Z
OX/OeqidHAARB4ITxmlTCB3LbHmViAk4G66K4Yb9Y0FFVJCFyaYHnY6W6oLDkTv5IMqDL//vV6QF9boO2gvTp
ap4WL5+6meNmCyWKoeO4CuwX3qys5yrA8opg==
</wsse:BinarySecurityToken>
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:Signedlnfo>
<ds:CanonicalizationMethod Algorithm="http:// www.w3.org/TR/2001/REC-xml-c14n-20010315" />
<ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
<ds:Reference URI="#NTTAEB9DE0EB0B1A89B00797A14C6EE85F6">
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> <ds:DigestValue>/vqZkvlo2MkbAntQ3j0+I0QsZ4k=</ds:DigestValue>
</ds:Reference>
<ds:Reference URI="#NTT43EBDA48A7965082DA284C13DE33EFDE">
<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> <ds:DigestValue>js4Cmrbteuy9Epti94O9+xFj7yk=</ds:DigestValue>
</ds:Reference>
</ds:Signedlnfo>
<ds:SignatureValue> Rh9MenehPh/9zlB/8wNg4tCKaLls5ayiRbfKrepXpD9qbslOVjZ0/2R1ChiX/WaDANtVtdfj/sD3utjTLLRNiXKF45RWK
QtzZT3e RG2elAfm7a9ZnWgFBm0Q+/kSPmPHzo3aCx9K8yVUPmdg/S8BWjh5VLvz9U99JDJKF4FEx3o= </ds:SignatureValue>
<ds:Keylnfo>


Рисунок Б.1 - Листинг образца заголовка SOAP

<wsse:SecurityTokenReference Usage="sec:MessageAuthentication" xmlns:sec="urn:liberty:sec:2003-08">
<wsse:Reference URI="#X509Token" />
</wsse:SecurityTokenReference>
</ds:Keylnfo>
</ds:Signature>
</wsse:Security>
</soapenv:Header>


Рисунок Б.1, лист 2

Б.2 Пример схемы "Query"

Пример листинга схемы "Query" представлен на рисунке Б.2.

Рисунок Б.2 - Пример листинга схемы "Query"

<Query querylD="QR001">
<ResourcelD>http://profile-provider.com/d8ddw6dd7m28v628</ResourcelD>
<Queryltem itemID="preference" changedSince="2001-12-17T09:30:47-05:00">
<Select type="abbreviated">tva:profile:UserSearchPreferences</Select>
</Queryltem>
<Queryltem itemlD="where">
<Select type="abbreviated">tva:profile:UserLocation</Select>
</Queryltem>
</Query>


Рисунок Б.2 - Пример листинга схемы "Query"

Б.3 Пример схемы "QueryResponse"

Пример листинга схемы "QueryResponse" представлен на рисунке Б.3.

Рисунок Б.3 - Пример листинга схемы "QueryResponse" (ответа на запрос)

<QueryResponse xmIns="urn:tva:profile:2012" xmIns:mpeg7="urn:tva:mpeg7:2008" xmIns:tva="urn:tva:metadata:2012" querylDRef="QR001" timeStamp="2001-12-17T09:30:47-05:00">
<Status code="OK" requestlDRef="preference" />
<Data itemlDRef="preference">
<TVAMain xml:lang="en" publisher="TV-Anytime.org" publicationTime="2006-1217T09:30:47-05:00" rightsOwner="TV-Anytime.org">
<tva:UserDescription>
<tva:UserPreferences>
<tva: UserPreference>
<mpeg7:FilteringAndSearchPreferences preference Value="90" xmlns:mpeg7="urn:mpeg:mpeg7:schema:2001">
<mpeg7:ClassificationPreferences>
<mpeg7:Genre href="urn:mpeg:GenreCS">
<mpeg7:Name>Soccer</mpeg7:Name>
</mpeg7:Genre>
</mpeg7:ClassificationPreferences>
<mpeg7:CreationPreferences>
<mpeg7:Creator preference Value="70">
<mpeg7:Role href="urn:tva:metadata:cs:TVARoleCS:2002:V43">
<mpeg7:Name>Participant</mpeg7:Name>
</mpeg7:Role>
<mpeg7: Agent xsi:type="mpeg7:OrganizationType">
<mpeg7:Name>
<mpeg7:GivenName>Manchester United</mpeg7:GivenName>
</mpeg7:Name>
</mpeg7:Agent>
</mpeg7:Creator>
</mpeg7:CreationPreferences>
</mpeg7:FilteringAndSearchPreferences>
</tva:UserPreference>
</tva:UserPreferences>
</tva:UserDescription>
</TVAMain>
</Data>
</QueryResponse>


Рисунок Б.3 - Пример листинга схемы "QueryResponse" (ответа на запрос)

Приложение В (обязательное). Файлы схемы замены профиля пользователя TV-Anytime

Приложение В
(обязательное)


Схемы замены профиля пользователя TV-Anytime, перечисленные в настоящем стандарте, были агрегированы в серии файлов xsd:

- tva_profile_exchange_6-3_v161.xsd;

- xenc-schema.xsd;

- xmldsig-core-schema.xsd.

Схема метаданных замены профиля пользователя TV-Anytime импортирует другие файлы, которые должны присутствовать для того, чтобы схема могла быть правомочной:

- xml.xsd;

- tva_mpeg7_2008.xsd;

- tva_metadata_3-1_v181.xsd.

Библиография

[1]

Хабибуллин И.Ш. Разработка веб-служб средствами Java. - СПб.: БХВ-Петербург, 2003. - 400 с: ил.

[2]

Машнин Т.С. Web-сервисы Java. - СПб.: БХВ-Петербург, 2012. - 560 с: ил.

УДК 621.397:681.327.8:006.354

ОКС 33.170

ОКП 657400

Ключевые слова: вещание цифровое, TV-Anytime, служба метаданных, провайдер, профиль клиента, профиль пользователя, схема метаданных, схема XML, двунаправленная сеть, HTTP, SOAP




Электронный текст документа
и сверен по:
официальное издание
М.: Стандартинформ, 2017