SMPTE 2071
SMPTE 2071 (англ. SMPTE ST 2071) — это комплект стандартов, опубликованных Обществом инженеров кино и телевидения (SMPTE), определяющих структуру, протокол и методы обнаружения служб для управления объектами в рамках Интернета вещей. Стандарты ориентированы на интероперабельность и обнаружаемость объектов в сети, а также рассматривают медиа как первоклассный объект. Стандарт также описывает методологию программирования, которая позволяет объектам описывать свои поведения (функции) другим объектам через сеть и динамически изменять своё поведение во время исполнения. Разработчики приложений, реализующих стандарты SMPTE 2071, концентрируют свои усилия на поддерживаемых функциях, а не на конкретных объектах или классах, которые реализуют эти функции[1].
Разработка стандарта велась Технологическим комитетом SMPTE TC 34CS начиная с 2012 года[2]. Несмотря на заложенные архитектурные концепции, стандарт не получил широкого коммерческого распространения, уступив место спецификациям AMWA NMOS в современных IP-инфраструктурах[3].
История создания
Хронология развития стандарта в рамках Технологического комитета SMPTE TC 34CS («Системы управления медиа и сервисы») началась с публикации первой части (ST 2071-1) 8 октября 2012 года[2]. В 2014 году вышли обновлённые версии первой и второй частей, а также была впервые издана третья часть (ST 2071-3). Последние актуальные редакции первой и второй частей стандарта были выпущены в 2016 году[4].
Медиа как «первоклассный объект»
Стандарты SMPTE 2071 определяют медиа как первоклассный объект, смещая фокус с управления устройствами и сервисами на управление самим медиа-контентом. Такой подход способствует более естественному методу обнаружения, управления и манипулирования медиа, поскольку согласовывает способы управления медиа с их концептуальным восприятием.
Функции как «первоклассные объекты»
Стандарты SMPTE 2071 описывают методологию разработки, при которой функции становятся первоклассными объектами, что позволяет отвязать функции от объектов, которые их реализуют. Стандарт трактует «возможности» как уникально идентифицируемые функции, которые могут быть определены в явной форме (нормативным текстом) и/или с помощью языков описания интерфейса, таких как OMG IDL или WSDL. Такие возможности могут быть задокументированы или зарегистрированы в репозиториях для обеспечения совместимости на уровне функций в неоднородных системах. Механизм отделения определения функции от её реализации достигается за счёт присвоения функциям уникальных идентификаторов (в формате URN), использования формальных языков описания (таких как OMG IDL или WSDL) в качестве контрактов и регистрации этих определений в специальном реестре для последующего обнаружения в сети.
Интероперабельность и новые приложения
Для обмена медиа необходимы единые форматы файлов, методы сжатия/кодирования, механизмы передачи, общая семантика и средства для поиска, определения местоположения, доступа и управления медиа. Комплект стандартов SMPTE 2071 определяет открытый протокол для управления объектами в среде Интернета вещей с возможностями представления и управления медиа как первоклассным объектом. Стандарт SMPTE 2071 «Управление медиа и устройствами» также определяет новую методологию программирования, при которой сложные поведения моделируются как наборы уникально идентифицируемых функций — так называемых «возможностей», а также структуру, обеспечивающую обнаружение конечных точек, экспонирующих эти функции. Как и для медиа, SMPTE 2071 считает возможности (функции) первоклассными объектами, что позволяет реализовать их независимо от объектов, которые их предоставляют. Такая методология может упростить существующие приложения, облегчая обнаружение медиа-сервисов в локальных сетях и/или облачных инфраструктурах. Кроме того, можно создавать новые приложения для управления объектами, работающими с медиа (устройствами и сервисами), не будучи изначально осведомлённым о деталях их реализации. Команды могут быть встроены непосредственно в медиапотоки для инициирования действий на принимающей стороне, если функциональность поддерживается, или проигнорированы, если не поддерживается. Это особенно полезно для управления устройствами на принимающей стороне, например, тактильными устройствами и перспективными, ещё не идентифицированными приложениями.
Практическое применение и статус в индустрии
Стандарт SMPTE ST 2071 не получил широкого коммерческого внедрения. Для задач обнаружения и управления медиаустройствами в современных IP-сетях (в частности, в экосистеме SMPTE ST 2110) де-факто стандартом стали спецификации AMWA NMOS (IS-04 и IS-05)[3]. Современные подходы к управлению смещаются в сторону использования фреймворка gRPC, и сама организация SMPTE начала разработку новых стандартов управления (например, ST 2138-11 Catena) на его основе, фактически отходя от методологии ST 2071.
Документы стандартов
- SMPTE ST 2071-1:2016 – Media Device Control Framework — стандарт, определяющий платформенно-независимый и протокольно-агностичный слой управления устройствами и сервисами через сети на базе IP[1]. Имеет статус «Активный, Стабилизированный» (Active, Stabilized)[2], что означает его зрелость.
- SMPTE ST 2071-2:2016 – Media Device Control Protocol — стандарт, описывающий протокол Web Services, совместимый с профилем WS-I Basic Profile 1.2, с механизмами классификации IP-трафика для поддержки внедрения сетевого качества обслуживания (QoS)[4].
- SMPTE ST 2071-3:2014 – Media Device Control Discovery — стандарт, определяющий применение протокола обнаружения служб на основе DNS с высокой масштабируемостью, от малых сетей до всего Интернета с использованием DNS[5], а также реализующий разделение инфраструктур обнаружения служб и разрешения имён в DNS. Это предотвращает негативное влияние операций обнаружения служб на производительность разрешения имён. Клиенты посредством процедуры service discovery находят URL-адреса для каждой конечной точки, представляющей уникальную функцию («возможность»), зарегистрированную для конкретного устройства или сервиса.