Личный кабинет        15.04.2024   

Что такое проприетарные протоколы. Передача данных в портативных мультимедиа-плеерах: проприетарные протоколы. Передача данных между цппс объекта и диспетчерским центром

Прежде всего определим области применения каналов передачи данных в электроэнергетике и задачи, которые решаются с их помощью. В настоящее время к основным областям применения систем передачи данных можно отнести системы релейной защиты и автоматики (РЗА), диспетчерского и автоматизированного технологического управления электроэнергетическими объектами (АСТУ), а также системы автоматизированного учета энергоресурсов. В рамках этих систем решаются следующие задачи:

Системы АСТУ

  1. Передача данных между локальными устройствами телемеханики (ТМ), устройствами РЗА и центральной приемопередающей станцией (ЦППС).
  2. Передача данных между объектом и диспетчерским центром.
  3. Передача данных между диспетчерскими центрами.

Системы учета

  1. Передача данных от приборов учета в устройства сбора и передачи данных (УСПД).
  2. Передача данных от УСПД на сервер.

В части систем РЗА можно отметить следующее: несмотря на то, что сбор данных с устройств РЗА в АСТУ в цифровом формате стал внедряться с момента появления цифровых устройств РЗА, связи между устройствами по-прежнему организуются аналоговыми цепями.

В РЗА системы передачи информации могут выполнять следующие функции:

  1. Передача дискретных сигналов.
  2. Передача данных между устройствами РЗА и ЦППС.

Другим важным каналом передачи, общим как для систем РЗА, так и для систем АСТУ и учета, является канал, по которому осуществляется передача измерений от измерительных трансформаторов тока и напряжения. До последнего времени о внедрении цифровых протоколов связи на данном уровне речь не шла, однако, имея в виду появление протокола для передачи мгновенных значений тока и напряжения МЭК 61850-9-2, на проблемах этого информационного канала также стоит остановиться.

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

Передача измерений от ТТ и ТН

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

  • большая разветвленность и протяженность медных кабелей, приводящая к необходимости применения большого числа вспомогательного оборудования (испытательных блоков, клеммников и т.д.) и, как следствие, к повышению стоимости систем и сложности монтажа и наладки;
  • подверженность измерительных цепей воздействию элек­тромагнитных помех;
  • сложность или отсутствие возможности контроля исправности измерительного канала в темпе процесса, сложность поиска места повреждения;
  • влияние сопротивления измерительных цепей на точность измерений и необходимость согласования мощности ТТ/ТН с сопротивлением цепей и нагрузкой приемника.

Передача дискретных сигналов между устройствами

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

Такой способ передачи информации имеет следующие недостатки :

  • необходимо большое число контрольных кабелей, проложенных между шкафами с аппаратурой;
  • устройства должны иметь большое число дискретных входов и выходов;
  • количество передаваемых сигналов ограничивается определенным количеством дискретных входов и выходов;
  • отсутствует возможность контроля связи между устройствами;
  • возможно ложное срабатывание дискретного входа устройства при замыкании на землю в цепи передачи сигнала;
  • цепи подвержены воздействию электромагнитных помех;
  • сложность расширения систем РЗА.

Передача данных между РЗА и ЦППС

Обмен данными между РЗА и ЦППС на объекте осуществляется в цифровом формате. Однако ввиду необходимости интеграции большого количества различных устройств этот способ имеет следующие особенности:

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

Передача данных между ЦППС объекта и диспетчерским центром

Передача данных между объектом и диспетчерским центром также ведется в цифровом формате. Обычно для этих целей используют протоколы МЭК 60870-101/104. Особенности реализации этих систем связи:

  • необходимость передачи данных в протоколах диспетчерского управления, как правило, отличающихся от протоколов, применяемых на подстанции;
  • передача ограниченного количества информации, что обусловлено необходимостью переназначения всех сигналов с одного протокола на другой, и, как следствие, потеря некоторых данных, передача которых на этапе проектирования не была сочтена целесообразной;
  • отсутствие единых наименований сигналов в рамках объекта и в центрах управления сетями (ЦУС), приводящее к сложности наладки и отслеживания ошибок.

Обратимся к рис. 1, где приведена принципиальная схема организации передачи данных. Следует отметить большое количество проприетарных (фирменных) протоколов. Широкое распространение таких протоколов требует, во-первых, большого количества шлюзов (конвертеров), во-вторых, хорошей квалификации и опыта персонала в работе с различными протоколами. В конечном счете это ведет к усложнению системы и проблемам при эксплуатации и расширении.

Рис. 1. Схема организации передачи данных.

Охарактеризуем кратко показанные стандартные протоколы.

Modbus

Modbus – один из наиболее распространенных сетевых протоколов для интеграции устройств РЗА в систему АСТУ, построенный на архитектуре «клиент–сервер». Популярность этого протокола во многом обусловлена его открытостью, поэтому большинство устройств поддерживают этот протокол.

Протокол Modbus может применяться для передачи данных по последовательным линиям связи RS-485, RS-433, RS-232, а также сети TCP/IP (Modbus TCP).

Стандарт Modbus состоит из трех частей, описывающих прикладной уровень протокола, спецификацию канального и физического уровней, а также спецификацию ADU для транспорта через стек TCP/IP.

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

МЭК 60870-5-101/103/104

МЭК 60870-5-101 – протокол телемеханики, предназначенный для передачи сигналов ТМ в АСТУ. Он также построен на архитектуре «клиент–сервер» и предназначен для передачи данных по последовательным линиям связи RS-232/485.

Протокол МЭК 60870-5-104 является расширением протокола 101 и регламентирует использование сетевого доступа по протоколу TCP/IP. Стандарты МЭК 60870-5-101/104 не подразумевают наличие семантической модели данных.

Протокол МЭК 60870-5-103 предназначен для обеспечения возможности интеграции в систему управления энергообъекта устройств РЗА. В отличие от стандартов МЭК 60870-5-101/104, он определяет семантику для фиксированного набора данных, формируемых устройствами РЗА. Одним из основных недостатков протокола МЭК 60870-5-103 является относительно невысокая скорость передачи данных.

Протоколы МЭК 60870-5-101/103/104 обеспечивают достаточно высокую функциональность при решении задач телеуправления, телесигнализации и телеизмерений, интеграции данных устройств в системы управления. В отличие от Modbus они позволяют также осуществлять спорадическую передачу данных с устройств.

В основу протоколов, как и в предыдущем случае, положен обмен таблицами сигналов, причем типы данных, которыми осуществляется обмен, жестко фиксированы.

В целом протоколы хорошо подходят для решения описанного выше спектра задач, однако обладают рядом недостатков :

  1. Передача данных осуществляется в два этапа: назначение индексированных коммуникационных объектов на прикладные объекты; назначение прикладных объектов на переменные в прикладной базе данных или программе. Таким образом, отсутствует семантическая связь (полностью или частично) между передаваемыми данными и объектами данных прикладных функций.
  2. Протоколы не предусматривают возможность передачи сигналов реального времени. При этом под сигналами реального времени понимаются данные, которые должны передаваться в темпе процесса с минимально возможными выдержками времени, к которым относятся, например, команды отключения, передача мгновенных значений токов и напряжений от измерительных трансформаторов. При передаче таких сигналов задержки в канале связи являются критическими. Отметим, что данный пункт не связан с возможностью синхронизации устройств с единым сервером времени, а касается именно вопросов скорости передачи данных между устройствами.

DNP3

В России этот стандарт распространен слабо, однако некоторые устройства автоматизации все же поддерживают его. Долгое время протокол не был стандартизован, но сейчас он утвержден как стандарт IEEE-1815.

DNP3 поддерживает и последовательные линии связи RS-232/485, и сети TCP/IP. Протокол описывает три уровня модели OSI: прикладной, канальный и физический. Его отличительной особенностью является возможность передачи данных как от ведущего устройства к ведомому, так и между ведомыми устройствами. DNP3 также поддерживает спорадическую передачу данных от ведомых устройств.

В основу передачи данных положен, как и в случае с МЭК-101/104, принцип передачи таблицы значений. При этом с целью оптимизации использования коммуникационных ресурсов ведется посылка не всей базы данных, а только ее переменной части.

Важным отличием протокола DNP3 от рассмотренных ранее является попытка объектного описания модели данных и независимость объектов данных от передаваемых сообщений. Для описания структуры данных в DNP3 используется XML-описание информационной модели.

В дано подробное сравнение протоколов, но мы в табл. 1 приведем краткие выдержки применительно к рассмотренным выше протоколам.

Таблица 1. Протоколы передачи данных

Параметр Протокол
Modbus МЭК-101/103/104 DNP3
Линии связи RS-232/485/422
TCP/IP (Modbus TCP)
RS-232/485/422
TCP/IP (104)
RS-232/485/422
TCP/IP
Архитектура Клиент – сервер Клиент – сервер Клиент – сервер
Принцип передачи данных Обмен индексированными точками данных
Спорадическая передача данных Нет Да Да
Семантическая модель данных Нет Нет
Базовая (103)
Да
Передача данных в режиме реального времени Нет Нет Нет

Выводы

Из представленного краткого анализа видно, что существующие протоколы связи достаточно успешно позволяют реализовывать задачи диспетчерского управления / интеграции данных в системы управления, однако не позволяют реализовывать функции реального времени (такие как передача дискретных сигналов между устройствами РЗА, передача мгновенных значений токов и напряжений).

Большое количество проприетарных протоколов приводит к усложнению процесса интеграции устройств в единую систему:

  • Протоколы должны поддерживаться контроллером и ЦППС, что требует реализации поддержки большого количества протоколов в УСО и ЦППС одновременно и ведет к удорожанию оборудования.
  • Для интеграции устройств по проприетарным протоколам требуется квалификация наладочного персонала в работе с каждым из них.
  • Переназначение сигналов из проприетарных протоколов в общепромышленные и назад часто приводит к потере информации, включая дополнительную информацию (такую как метки времени, метки качества и т.п.).

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

Передача ответственных команд управления (команды отключения выключателей от РЗА, оперативные блокировки и т.п.) и оцифрованных мгновенных значений токов и напряжений невозможна в цифровом формате в силу непригодности существующих протоколов связи для передачи подобного рода информации.

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

Основные положения при создании стандарта МЭК 61850

Работа над стандартом МЭК 61850 началась в 1995 году, причем изначально велась двумя независимыми, параллельно работающими группами : одна из них, образованная UCA , занималась разработкой общих объектных моделей подстанционного оборудования (GOMFSE); вторая, образованная в рамках технического комитета 57 МЭК, занималась созданием стандарта на протокол передачи данных для подстанций.

Позднее, в 1997 году, работы обеих групп были объединены под эгидой рабочей группы 10 ТК 57 МЭК и вошли в основу стандарта МЭК 61850.

В основе стандарта лежат три положения:

  • Он должен быть технологически независимым, то есть вне зависимости от технологического прогресса стандарт должен подвергаться минимальным изменениям.
  • Он должен быть гибким, то есть допускать решение различных задач с использованием одних и тех же стандартизованных механизмов.
  • Он должен быть расширяемым.

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

На сегодняшний день МЭК 61850 состоит из 25 различных документов (в том числе разрабатываемых), которые охватывают широкий круг вопросов и делают его гораздо больше, чем просто спецификацией ряда коммуникационных протоколов. Отметим основные особенности стандарта :

  • Определяет не только то, как должен производиться обмен информацией, но и то, какой информацией должен производиться обмен. Стандарт описывает абстрактные модели оборудования объекта и выполняемых функций. Информационная модель, лежащая в основе стандарта, представляется в виде классов объектов данных, атрибутов данных, абстрактных сервисов и описания взаимосвязей между ними.
  • Определяет процесс проектирования и наладки систем.
  • Определяет язык описания конфигурации системы (System Configuration description Language – SCL). Данный язык обеспечивает возможность обмена информацией о конфигурации устройств в стандартизованном формате между программным обеспечением различных фирм-производителей.
  • Описывает методики испытаний и приемки оборудования.

Работая с МЭК 61850, необходимо понимать, что стандарт:

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

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

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

Список литературы

  1. Баглейбтер О.И. Трансформатор тока в сетях релейной защиты. Противодействие насыщению ТТ апериодической составляющей тока КЗ // Новости ЭлектроТехники. 2008. № 5(53).
  2. Schaub P., Haywood J., Ingram D., Kenwrick A., Dusha G. Test and Evaluation of Non Conventional Instrument Transformers and Sampled Value Process Bus on Powerlink’s Transmission Network. SEAPAC 2011. CIGRE Australia Panel B5.
  3. Шевцов М. В. Передача дискретных сигналов между УРЗА по цифровым каналам связи // Релейщик. 2009. № 1.
  4. Schwarz K. Comparison of IEC 60870-5-101/-103/-104, DNP3, and IEC 60870-6-TASE.2 with IEC 61850 (электронный документ: http://bit.ly/NOHn8L).
  5. Brunner C., Apostolov A. IEC 61850 Brand New World. PAC World Magazine. Summer 2007.
  6. IEC 61850-1: Introduction and Overview.

Многие из нас слышали о таком термине, как «проприетарный». Им могли называть что угодно. Оборудование, драйверы, программы. Что же это за термин такой, и что он обозначает? Вообще, это слово пришло к нам из английского языка. В общем смысле «проприетарный» - это продукт, имеющий лицензию. А подробнее значение этого термина мы разберем чуть ниже.

Термин «проприетарный». Значение

Слово «проприетарный» происходит от английского слова proprietary, что означает «личное» или «патентованное». Этот термин используется для обозначения чего-либо «несвободного». Будь то ПО или оборудование. Это значит, что к примеру, имеет некую лицензию. Естественно, за то, чтобы пользоваться лицензионным программным обеспечением, придется платить деньги. Причем в некоторых случаях — деньги немалые.

В случае с оборудованием значение слова «проприетарный» несколько меняется. Этим термином обычно обозначаются некоторые уникальные части оборудования, характеризующие определенного производителя. К примеру, у смартфонов компании Apple присутствуют уникальные и патентованные разъемы для зарядки устройства.

Проприетарное программное обеспечение (ПО)

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

С проприетарным программным обеспечением не все так просто. Ярким представителем компаний, использующих проприетарные лицензии, является компания Adobe с ее «вечным» Photoshop. За пользование продукцией Adobe придется платить серьезные деньги. Да и Microsoft недалеко ушли. За использование фирменной ОС Windows 10, к примеру, придется каждый год отчислять солидную сумму. Сейчас это обычная практика среди крупных производителей программного обеспечения.

Плюсы и минусы проприетарного ПО

Чтобы лучше разобраться в проприетарном ПО, нужно сравнить его плюсы и минусы. Итак, к плюсам можно отнести такие моменты:

  • Постоянная техническая поддержка продукта.
  • Более стабильная работа по сравнению со свободным ПО.
  • Гарантированное отсутствие вредоносных объектов (вирусов).
  • Автоматические обновления ПО.
  • Качественное использование всех возможностей оборудования.

Все это были плюсы проприетарного ПО. Теперь перейдем к минусам:

  • Солидная сумма оплаты за лицензию.
  • Проприетарные протоколы работы устройства.
  • Зависимость от разработчика.
  • Невозможность изменить исходный код.
  • Ограничение на распространение ПО.
  • Ограничение на модификацию ПО.

Как мы видим, самый большой минус состоит в оплате лицензии за пользование подобным ПО. Остальные минусы несущественны для среднестатистического пользователя. Для таких юзеров «проприетарный» - это оптимальный выбор. Если, конечно, денег не жалко.

Проприетарные драйверы

Проприетарными также бывают и драйверы устройств. В этом случае "проприетарный" означает, что они поставляются от производителя с закрытым исходным кодом. Внесение каких-либо изменений в их структуру невозможно. Обычно такие драйверы актуальны в использующих открытое ПО. Особенно этим грешат свободные «линуксоподобные» системы. Они-то обычно и используют проприетарные драйвера. Ubuntu, к примеру, повально использует и свободные, и «закрытые».

Такие драйверы под Ubuntu отличаются большей стабильностью, чем свободные. Что и неудивительно, ведь в их исходном коде никто не «ковырялся». Но, в отличие от свободных драйверов, пользователям «закрытого» ПО приходится довольно долго ждать свежей обновленной версии. Тут уж приходится выбирать: новизна или стабильность.

Проприетарное оборудование

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

Проприетарными разъемами для своих девайсов «грешит» компания Apple. У них все подряд патентованное и «закрытое». Если вы вздумаете подключить, к примеру, к iPhone нелицензионное зарядное устройство — ваш девайс может даже сгореть. Такое оборудование обычно производится только с целью содрать с пользователей больше денег. Очевидных плюсов в использовании проприетарных разъемов не наблюдается. На скорость передачи данных или скорость зарядки девайса это никак не влияет.

Заключение

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

Наш небольшой ликбез закончен. Теперь можно смело выбирать между закрытым и свободным ПО, зная все его плюсы и минусы. Значение слова «проприетарный» теперь нам известно.

Сегодня я расскажу о замечательном протоколе вещания RTMFP . В нём реализовано много интересных подходов и бытует очень много предрассудков относительно его возможностей. Хочу подогреть интерес к этой теме и развеять существующие иллюзии. Я не нашёл ничего лучше для вещания в реальном времени, и решил написать этот пост.

Предыстория

Давным-давно в далёкой галактике...
В 2004"ом жила-была Amicima, Inc. в которой были разработана GPL реализация протокола MFP - MFPNet . Потом они выпустили amiciPhone - одного из конкурентов Skype, но из-за проблем позиционирования дела пошли не очень хорошо. В 2007"ом их приобрели Adobe так как им нужен был хороший протокол вещания реального времени.
А что не так с RTMP ?
RTMP не является протоколом вещания реального времени:
  • не решается проблема минимизации задержек;
  • вещание прекращается при смене адреса устройства;
  • TCP значительно увеличивает задержки и раздувает сообщения ненужными проверками доставки;
  • нет контроля размера окна.
Учитывая скорость развития мобильных сетей, покупка Amicima была довольно логичным и перспективным решением.
Предрассудки по поводу RTMFP
  1. Это проприетарный протокол
    Adobe решила его опубликовать в виде RFC7016 для того, чтобы подогреть внимание общественности, но как-то обошлось. Как ни странно, это не похоже на кривую спецификацию RTMP и больше напоминает MFP.

    Сам по себе протокол модульный: обмен сертификатами, шифрование, синхронизация потоков выполнены в виде отдельного профиля. То, что происходит в Flash"е, остаётся в Flash"e. Для разработчиков сторонних решений, типа Cumulus , Flash оставался чёрным ящиком; как-то тихо и незаметно в апреле 2014-го вышел Adobe"s RTMFP Profile for Flash Communication .

  2. Это UDP - значит, нет гарантии доставки
    Достаточно много протоколов реального времени используют UDP, для гарантии доставки добавляют сетевую контрольную сумму и избирательные проверки доставки. Проверяют только то, что обязательно должно прийти, а не всё в подряд. Для аудио/видео контроль доставки пакетов не имеет большего смысла. Размер окна (MTU) обычно максимален и статичен, что повышает вероятность возникновения ситуации проигрывания пустоты с последующим приёмом неактуальных данных при потере пакета.
  3. RTMFP нам не нужен - у нас есть WebRTC
    WebRTC это не протокол, это браузерная технология - попытка интегрировать SIP с RTP стэком в браузер. Если скрестить в кучу RTP, SRTP, SCTP, RTCP, ZRTP, RTSP - получится RTMFP. Но в ряде случаев у подобных связок есть избыточность и проблемы с адресацией которых нет в RTMFP.

    У RTMFP есть и проброс через NAT, и контроль размера окна, и метаданные для потоков с контролем избыточности со стороны приложения, и forwarding/redirect сессий, и свой DHT.

    Сколько нужно инкапсулировать RTP-подобных протоколов, чтобы это всё реализовать?.. Думаю, где-то 4-5 штук.

    Текущая реализация протоколов вещания напоминает ситуацию:

    «Существует 6 протоколов, но у них всех есть фатальный недостаток, и мы разработаем ещё один...»
    Проходит год.
    «Существует 7 протоколов, и у них всех есть фатальный недостаток...»

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

RTMFP и модель OSI

Итак, давайте рассмотрим, какие уровни модели OSI покрывает RTMFP протокол.
  • Физический и канальный
    Эфемерных энергетических флуктуаций от порхающих бабочек тут нет, а так хотелось бы избыточности посредством передачи данных в подпространствах варпа.
  • Сетевой и транспортный
    Это IP и UDP multicast.
    Тут и Path MTU discovery и Congestion Control, уже в коробке, для каждого конкретного потока. Есть режим передачи данных с выборочной частотой проверкой доставки - проверяем раз в N пакетов. Все пакеты имеют временные метки для замера задержки при доставке. Встроенная кольцевая хэш-адресация конечных точек типа DHT.
  • Уровень представления
    Для Flash это, конечно же, AMF3 и инкапсулированный RTMP, но передавать можно любые другие данные.

Безопасность в RTMFP

  • Классический обмен ключами по Диффи-Хелману c статическими и эфемерными ключами.
  • Cookies и сертификаты в сессиях, с возможностью цифровой подписи пакетов. Правда, по умолчанию неподписанные пакеты считаются валидными
  • Для шифрования используется AES128, но можно использовать любой другой блочный алгоритм.
  • HMAC-SHA256 или сетевые контрольные суммы.
Пользовательскую аутентификацию и авторизацию можно реализовать со стороны приложения. Вопрос фильтрации зловреда остаётся открытым.

Где функция-убийца?

Я думаю, все помнят провал трансляции последней презентации нового поп-телефона IPhone 6 Plus?

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

И все его увидят…

Варианты использования

  1. Вещание контента в реальном времени
    Собственно, это предназначение самого протокола, и с этой задачей он справляется очень хорошо.
    Его можно использовать не только для передачи аудио/видео, но и как основной транспорт в Flash играх.
  2. CDN
    Это Р2Р и для загрузки файла нужно лишь знать его имя, хэш и размер.
    Можно реализовать http2rtmfp шлюз - возможности открываются довольно занимательные.
  3. Видео-конференции и чаты
    В пост-сноуденовскую эпоху RTMFP - доступный и защищённый Р2Р транспорт. Также основным преимуществом является возможность продолжить вещание при смене сетевого адреса устройства. WebRTC может отвалится при смене соты в 3G/4G. RTP стэк плохо подходит для вещания в подобной среде.
  4. Передача данных реального времени внутри приватных сетей
    Основным преимуществом для данного варианта использования является возможность гибкой политики маршрутизации, минимизации задержек, опциональной проверки доставки пакетов и встроенные средства приоритезации трафика. Всё это можно настроить индивидуально для каждого конкретного приложения.

Как обстоят дела с существующими решениями на базе RTMFP?

Если кратко - дела обстоят очень плохо. На сегодняшний день из открытых реализаций есть разве что Cumulus. Развивается он очень вяло. Основан не на RFC, а на первых реверсах RTMFP Cirrus 1, так что совместимость с текущим Flash Profile Cirrus 2 довольно сомнительна. В нём реализована большая часть полезностей, в том числе организация избыточности в Р2Р и вещание между устройствами. Есть FMS, но он работает как FMS…

Буду рад конструктивным замечаниям.

В комментариях прошу указать аналоги RTMFP, если вам они известны.

Основным отличием портативных аудиоплееров «поколения Интернет» от своих предшественников является их тесная интеграция с персональным компьютером.

В прошлом портативные плееры воспроизводили музыку с распространенных сменных носителей и не нуждались в подключении к чему бы то ни было, кроме наушников

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

Контент необходимо перенести с компьютера, в котором он обычно хранится на жестком диске форм-фактора 3.5”, на носители портативных плееров: флэш-память, жесткие диски форм-фактора 1” и 1.8”

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

В любом подобном интерфейсе можно выделить два уровня. Первый – физический, т.е. непосредственно провода, разъемы, микросхемы и т.п. Второй – программный, это, условно говоря, набор инструкций и алгоритмов, согласно которым осуществляется обмен данными на физическом уровне. Этот программный уровень часто называют протоколом. Сегодня мы будем в основном говорить именно о нем. Для пользователя он является «лицом» интерфейса, его возможности и недостатки определяют удобство или сложности в эксплуатации устройства в целом.

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

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

По меркам цифровой портативной техники MP3-плееры – уже достаточно немолодой класс устройств. Они появились в то время, когда инфраструктура ПК была совершенно не готова к роли компьютера как мультимедиа-хоста. И на физическом, и на программном уровне в этой области еще не существовало распространенных и стандартизированных решений, они лишь находились в разработке, готовились к выходу на рынок или существовали в штучных количествах. В схожем положении оказались другие родственные классы портативных устройств: мобильные накопители, цифровые камеры, сотовые телефоны, КПК. Все эти разновидности мобильной техники появились примерно в одно и то же время, во второй половине 90-х годов. Своим появлением они вызвали необходимость разработки единых стандартных протоколов сопряжения ПК с портативной техникой.

На физическом уровне все было относительно ясно. Первые портативные устройства были вынуждены использовать COM и LPT – других широкодоступных интерфейсов в то время просто не было.

LPT-разъем до сих пор можно найти на большинстве ПК

Так, именно физический интерфейс LPT использовался родоначальниками MP3-плееров, Saehan MpMan и Diamond Rio. Этот период можно назвать «кустарным», разработчикам приходилось использовать интерфейсы и протоколы, изначально созданные для совершенно иных задач.

Однако мучаться в оковах медленных и неудобных интерфейсов новому поколению портативного аудио пришлось недолго: уже в следующем 1999 году производители представили широкий спектр устройств, использующих новый стандарт: USB, Universal Serial Bus.

Какое-то время наблюдалась видимость борьбы между USB и распространенным главным образом на компьютерах Apple Macintosh протоколом Firewire.

Война Firewire- USB в портативных плеерах: от iPod 1 G – только Firewire – до iPod 5 G – только USB

Однако основная масса портативного аудио быстро и безболезненно пересела на Universal Serial Bus, закрыв, по крайней мере в рамках проводных решений, вопрос с передачей данных на физическом уровне.

Далеко не так просто сложилось все для программных протоколов. В тот короткий период, когда производители вынужденно использовали COM и LPT, программные протоколы были исключительно их собственной разработки. Никакими другими они быть, собственно, и не могли, т.к. и COM-, и LPT-интерфейсы создавались в свое время, естественно, совсем не для передачи мультимедийных файлов на портативные цифровые проигрыватели. Разрабатывать драйверы и программные оболочки для последних кроме самих разработчиков было некому, а о стандартизации речи и вовсе не шло.

Но и появление USB не решило проблему. Индустрия в первую очередь озаботилась созданием стандартных протоколов для мобильных накопителей, цифровых камер. Ситуация с MP3-плеерами была вообще не ясна: запретят их или нет, а если все же не запретят, то какими особенностями должны обладать протоколы, чтобы форум SDMI дал добро. В подобных условиях разработка программных протоколов по-прежнему лежала на плечах разработчика устройства. Так продолжалось не менее четырех лет, пока, наконец, в плеерах не начали появляться стандартные протоколы передачи данных. Эти годы были временем господства первой разновидности программных протоколов – проприетарных или закрытых.

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

Проприетарный протокол на примере RCA- Thomson Lyra. Используется собственный драйвер (PDP2222. SYS), который необходимо устанавливать отдельно на каждый ПК, к которому планируется подключать плеер

Это создает множество неудобств для пользователя. Ни о какой прозрачности речи нет – пользователь сам вынужден вручную устанавливать драйверы и ПО для своего плеера. При этом могут возникать различные сложности, к примеру, если покупатель по ошибке подключит плеер к ПК раньше установки драйверов.

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

О совместимости тоже лучше забыть: драйверы и ПО работали лишь с данной моделью плеера (в лучшем случае – с несколькими моделями от данного производителя), а плеер мог работать только с ПК, на котором установлены данные драйверы и ПО. Возможности программных оболочек поначалу были совсем скудны и ограничивались исключительно копированием аудиофайлов в память плеера. Позже появилось разнообразие в способах копирования контента на плеер: индивидуально по трекам или синхронизацией содержимого памяти плеера с содержимым скомпонованной из аудиофайлов, находящейся на ПК библиотеки. Отдельные программные оболочки поддерживали лишь один из этих способов. Со временем ПО обретало дополнительные возможности, к примеру, копирование любых файлов, а не только поддерживаемых плеером, что давало возможность использования его как накопителя (функция получила прозвище Data Taxi). Однако тот факт, что для данной операции была обязательна установка на ПК драйверов и ПО, серьезно снижал полезность этой функции. О высоких эстетических качествах, безукоризненной работе и хорошей эргономике оболочек речь, как правило, и вовсе не шла. Пользователи тогда были в массе своей людьми суровыми и неизбалованными: копируются файлы на плеер – и ладно.

Через проприетарные системы прошло большинство производителей: iriver, Rio Audio, Creative, Cowon, Mpio и т.д. У каждого из этих производителей в свое время были и свои драйверы, и свое программное обеспечение, у кого-то более, у кого-то менее удачное. В любом случае, сменив плеер на устройство другого производителя, пользователь был вынужден приспосабливаться к новой оболочке с ее логикой и особенностями. Многие производители продолжают и сегодня комплектовать свои устройства этими программами как альтернативой стандартам MSC/UMS или MTP-решениям.

Проприетарные оболочки -менеджеры : Iriver Music Manager, Cowon JetAudio, Mpio Manager, Creative Play Center

Зоопарк всевозможных оболочек не мог устраивать потребителей (с существованием кучи разношерстных драйверов они еще могли смириться). Не устраивал он и производителей, особенно небольших, не имевших ресурсов на разработку качественного программного обеспечения. Поэтому в 1999 – начале 2000-х годов определенную популярность обрело использование оболочек сторонних производителей.

Среди них можно выделить программу MusicMatch Jukebox.

Интерфейс MusicMatch Jukebox

До появления iTunes для Windows PC именно она использовалась здесь для работы с Apple iPod. Работала она и с плеерами других производителей, таких, как RCA-Thomson.

Программы типа MusicMatch Jukebox были первыми ростками стандартизации. Они позволяли использовать плееры разных производителей без установки дополнительного ПО для каждого из них. Решение не было безупречным, это был лишь шаг от разномастных протоколов и оболочек к стандартизированным решениям. В данном случае же был стандартизирован только интерфейс управления протоколом, установка отдельных драйверов для каждого устройства по-прежнему оказывалась необходимой. Сами оболочки не входили в состав операционной системы, их было необходимо устанавливать отдельно, из Интернета или с сопутствующего CD. Их функциональность, стабильность работы и удобство зачастую также вызывали вопросы. Поддерживались далеко не все плееры, что вынуждало производителей комплектовать свои устройства плагинами для популярных программ-менеджеров.

Доступно для скачивания на сайте RCA- Lyra: в первую очередь плагин для MusicMatch Jukebox и только потом собственная оболочка Lyra DJ

Обычно со временем программа «толстела», обрастала ненужными пользователю функциями, рекламой, требовала все больше ресурсов.

Еще одна популярная в прошлом оболочка – RealJukebox

Одновременно росло давление конкурентов: в 2001 году Windows Media Player вошел в стандартную поставку Windows XP, в 2003 году появился iTunes для Windows. Небольшие азиатские компании в 2002-2003 году также нашли хорошую замену этому ПО – открытый протокол MSC/UMS. В результате оболочки типа MusicMatch Jukebox сошли со сцены, чтобы уступить место протоколам нового поколения. Но их наследие не пропало даром: модель «одна оболочка для разных плееров» во многом унаследована системой Microsoft PlaysForSure.

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

На сайте iriver непроприетарные прошивки до сих пор отмечаются особо, как UMS или MTP

Тут можно вспомнить, к примеру, iriver или Creative. Плееры iriver вообще выпускались в двух вариантах: для рынка США – работающие через проприетарный протокол, для других – через открытый MSC/UMS. Такая «жизнь после смерти» для закрытых протоколов продолжилась вплоть до выхода в 2004 протокола MTP, который, будучи относительно универсален, устроил и звукозаписывающие компании.

Период 2002-2004 гг. был переходным от «темных веков» закрытых систем к относительной открытости современных протоколов. Сегодня чистые проприетарные протоколы полностью вышли из употребления.

Недостаточно). Правообладатель проприетарного ПО сохраняет за собой монополию на его использование, копирование и модификацию, полностью или в существенных моментах. Обычно проприетарным называют любое несвободное ПО, включая полусвободное .

Рассматриваемое понятие не связано напрямую с понятием коммерческого программного обеспечения .

Этимология

FSF

Термин «проприетарное программное обеспечение» используется FSF (фондом свободного ПО) для определения программного обеспечения, которое с позиции Фонда не является свободным . .

Полусвободное программное обеспечение

Свободное ПО, которое разрешает практически неограниченное использование, распространение и изменение (в том числе с распространением изменённых версий) ПО в некоммерческих целях, Фонд СПО ранее называл полусвободным . Как и и Debian , Фонд СПО считал данные условия неприемлемыми для свободного ПО, но отличал полусвободное ПО от собственнического. «Проприетарное ПО» и «полусвободное ПО» вместе назывались «несвободным ПО». Позже FSF отказался от понятия «полусвободного ПО», и начал использовать термин «проприетарное ПО» для всего несвободного ПО .

Средства ограничений

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

Технические средства включают в себя выпуск только машинно-читаемых двоичных файлов , ограничение доступа к читаемому человеком исходному коду (закрытый исходный код), затруднение использования собственноручно сделанных копий. Доступ к закрытому коду обычно имеют сотрудники компании-разработчика, но могут применяться и более гибкие условия ограничения доступа, в которых предоставление исходного кода разрешено партнёрам компании, техническим аудиторам или другим лицам в соответствии с политикой компании.

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

Правовая охрана

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

Правовая охрана компьютерных программ основывается на положениях ряда международных соглашений и конвенций. Впрочем, почти все они в той или иной степени (как то Парижская, Бернская, Римская конвенции и Вашингтонский договор) инкорпорированы в тексте Соглашения ТРИПС , администрируемом Всемирной торговой организацией. Соглашение ТРИПС предусматривает, что компьютерные программы охраняются «подобно охране, литературных произведений в соответствии с Бернской конвенцией (1971)». Впрочем, на практике все чаще используется второй режим охраны проприетарного цифрового контента в виде патента (ст. 27 ТРИПС). Например, в США, первый патент на программного обеспечение в США был выдан в 50-х, патент № 3,380,029 от. выданный Мартину Готсу (Martin A. Goetz) . Однако полноценная правовая доктрина патентования компьютерных программ в США была сформирована лишь в 1980-х в результате ряда судебных прецедентов (Gottschallk v. Benson; Diamond v. Diehr.), которые выработали специальные критерии, применимые для патентования компьютерных программ. До этого времени нельзя говорить о патентовании компьютерных программ в США как об отлаженной процедуре. Одним из последних патентов на компьютерную программу был патент, выданный 6 января. № US 9,230,358 B2, которым охраняется метод, система и компьютерная программа визуализации виджетов. В ЕС патентование компьютерных программ основано на положении ЕПК, которое было уточнено рядом решений Европейского патентного офиса. В деле № T258/03 (Hitachi / Auction method) от 21.04.2004 г. Апелляционная палата Европейского патентного офиса указала, что ст. 52 (1) и 52 (2) ЕПК не запрещает патентование компьютерных программ, однако не каждое «техническое решение» может быть запатентовано. По мнению представителей патентного офиса, применение «технических средств» для решения проблемы вполне понятно, однако предполагает необходимость дополнения «технического решения» «инновационным».

Типичные ограничения проприетарного ПО

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

Ограничение на коммерческое использование

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

Ограничение на распространение

Этот вид ограничений сопровождает обычно крупные программные проекты, когда правообладатель требует оплаты за каждую копию программы. Обычно с таким ограничением используются программные продукты, ориентированные на узкий «профессиональный» сегмент рынка или у программного обеспечения, требующегося большому числу пользователей. Примером может служить пакет программ Adobe CS6 или операционная система Windows 8 .

Ограничение на изучение, модификацию и т. п.

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

Проприетарность «по умолчанию»

По правовым и техническим причинам ПО по умолчанию обычно является проприетарным.

ПО на компилируемых языках используется в виде, не предназначенном для редактирования, то есть без исходных текстов. Автор может не распространять исходные тексты по привычке или считать их недостаточно качественными, чтобы было прилично их показывать.

Из-за разнообразия лицензий автору может быть трудно выбрать лучшую.

Среди сторонников свободного ПО существуют различные мнения о важности свобод пользователя по отношению к ПО, которое исполняется только на удалённой системе (серверное ПО, которое не подпадало под копилефтные условия GNU GPL , из-за чего появилась Affero GPL), или как будто «в Интернете», но на самом деле каждый раз загружается для исполнения в компьютер пользователя (например, скрипты с веб-сайтов, занимающие порой сотни килобайтов при нечитаемо укороченных именах функций), или алгоритмам, реализованным в виде аппаратного обеспечения (что уменьшает долю обычного несвободного ПО , но не делает свободнее его пользователя ). См. GNU AGPL , открытое аппаратное обеспечение , GNUzilla (веб-браузер с дополнением, блокирующим выполнение нетривиальных несвободных JavaScript ‐программ).

Примечания

  1. Proprietary Яндекс-словари
  2. Так как коммерческое ПО может быть свободным: Some Confusing or Loaded Words and Phrases that are Worth Avoiding (англ.) . Free Software Foundation . Проверено 1 декабря 2008. Архивировано 3 февраля 2012 года.