Привет!
Ежесекундно во всем мире растет число взаимодействий между цифровыми субъектами и объектами в повседневной жизни, образовании, медицине, интернете-вещей, промышленности, высоких технологиях, торговле, развлечениях, телекоммуникациях и финансовых услугах.
Цифровые объекты: видеофильм, веб-камера, игра, электронная книга, умный дом, автомобиль, фитнес-гаджет, платежный терминал, база данных, хранилище контента, датчики в сельском хозяйстве, банк и т.д. — все они взаимодействуют согласно договорам включающим в себя участников, условия и предмет взаимодействия.
Как управлять этими взаимодействиями и договорами между бесчисленным числом участников? Решения не было. В этой статье команда Aggregion, создающей платформу управления цифровыми правами, расскажет про проблематику цифровых прав, мотивацию создания проекта, реальные нужды и архитектуру проекта, управляющего миллионами сущностей внутри жизненного цикла цифрового права. Внутри статьи есть врезки с цитатами Нукри Башарули, основателя проекта, и Дениса Безрукова, руководителя разработки.
Компания Aggregion создаёт платформу управления цифровыми правами, который позволяет выстраивать и контролировать любые по сложности схемы распространения цифровых прав, их условий и операций над ними.
Нукри: Я работал в проекте с компанией Интел в образовании, когда в одной из школ вместе с оборудованием — школьными ноутбуками — учителя попросили поставить образовательный контент. Обратились в крупные издательства с просьбой подписать лицензионный договор и предоставить контент. Мне казалось, что это простая задача. В итоге подписание договора заняло 1,5 года. Это многократно вышло за мои ожидания, натолкнув на мысль, что с такой проблемой сталкиваются все, кто пытается получить права на цифровые продукты. Сформулировал гипотезу, что рынку цифровых продуктов нужен процессинг цифровых прав по примеру Mastercard. Они двигают деньги, а процессинг должен двигать цифровые лицензии. Так и появился Aggregion.
Aggregion работает над:
- Системой управления цифровыми правами,
- Биллингом цифровых прав и управление лимитами,
- Интеграционными адаптерами к смежным решениям.
Нукри: Как ранее упоминалось, мы работаем с цифровыми правообладателями. Они создают продукты: сервисы, ПО, приложения, контент, книжки, видео и т.п. Эти продукты могут состоять из цифровых объектов, которые могут собираться в продукт согласно авторским (лицензионным) договорам. Затем эти продукты (объекты) могут отправляться реселлерам. Для этого работает лицензионный договор, и эти продукты могут продаваться в каналах в различных модификациях. Каналов распространения таких продуктов может быть много, часто разных. Ежедневно появляются новые. Вопрос в том, как с одной стороны собрать правообладателей и их продукты, а с другой стороны подключить множество каналов продаж и при этом соблюдать сложные модели лицензирования цифровых объектов (продуктов)? Для этого и создается Aggregion — единый механизм контроля распространения таких продуктов.
Проекты по управлению цифровыми правами уже реализуются вместе с компаниями Microsoft, Intel, Disney, Pearson, Vodafone, финансовыми организациями, крупнейшими ритейлерами и др.
Например, решение, сделанное для одного из региональных филиалов Disney. По сути, платформа обработки лицензий Aggregion позволяет Disney лицензировать и безопасно продавать свой цифровой контент через различные каналы распространения и многочисленные дистрибьюторов, сохраняя при этом полный контроль.
В чем суть этой системы? Прилагаем и текст, и картинку:
- Сервисы Azure, которые позволяют быстро загрузить контент, сконвертировать его в нужный формат и обеспечить бесперебойную передачу на устройство пользователя. В основном тут Azure Storage, Blobs.
- Единый каталог, в который агрегировано большое количество разных продуктов. Сначала это был просто каталог, сейчас планируем выпустить интеграцию с Azure Machine Learning, чтобы можно было в автоматическом режиме строить каталоги и описания для цифровых объектов любого типа, что должно сократить ручной труд правообладателей.
- Для каждого продукта строится лицензионная модель, включающая сотни параметров лицензирования, которые описывают правила использования продукта от схемы DRM до геотаргетирования.
- Биллинг и управление лимитами – отдельный модуль, чтобы автоматически обсчитать всех участников дистрибуционного канала и проконтролировать лимиты на операции с контентом.
- Интеграционные адаптеры к смежным системам: проигрывателям контента, системам защиты, Смарт ТВ, торговым площадкам, POS-терминалам, и др.
Техника
Команда проектировала архитектуру решения сразу в облаке, но решение может ограниченно использоваться и в гибридном режиме.
Ниже — визуально жизненный цикл всего запроса от загрузки документа до выдачи защищенного документа пользователю.
Все начинается с сохранения пользовательских файлов. Пользователи могут быстро и надежно смотреть их на клиентских устройствах. Для этого — Azure Blob Storage. Aggregion предоставляет возможность использования внутреннего хранилища Aggregion (Azure Blob Storage + CDN), так и дает клиентам возможность подключения к Aggregion собственного хранилища Azure Blob Storage – достаточно ввести свои credentials. Процесс загрузки контента выглядит следующим образом:
Заметили блок защиты материалов? Это много задач, поэтому их выполняют несколько сервисов. Для стриминга и защиты видеоконтента — Azure Media Services. К сожалению, условия задач Aggregion не позволяют использовать сервис кодирования видео, предоставляемый AMS, однако мы добились отличных результатов, используя виртуальные машины с GPU в Azure. Видео, загружаемое клиентом, обрабатывается на виртуальных машинах N-серии, используя аппаратное ускорение с помощью NVIDIA Tesla M60. Aggregion удалось добиться скорости кодирования видео, более чем в 10 раз превышающую скорость кодирования на CPU.
Денис Безруков, руководитель разработки: Исходное видео разделяется на несколько аудиодорожек для разных языков, извлекаются дорожки субтитров, исходная видеодорожка кодируется с разными разрешениями и битрейтом для поддержки адаптивного воспроизведения. Для этого мы используем утилиту ffmpeg, скомпилированную с поддержкой модулей h264_nvenc и cuvid. Декодирование исходной видеодорожки осуществляется средствами GPU в том случае, если исходный поток закодирован с помощью поддерживаемого видеокартой кодека и с использованием поддерживаемого цветового профиля. В ином случае, декодирование осуществляется средствами CPU. Кодирование во всех случаях осуществляется средствами GPU. При условии, если исходное видео закодировано с поддерживаемыми видеокартой параметрами, имеет разрешение 1080p, скорость полного процесса одновременного кодирования в разрешения 320p, 480p, 720p и 1080p составляет, в среднем, 15-20x. В случае использования GPU только для кодирования, скорость составляет, в среднем 2-3x. Аналогичный процесс без использования GPU показывает скорость 0.2-0.3x. Таким образом мы добились скорости кодирования видео минимум в 10 раз выше, чем при использовании CPU. Несмотря на то, что виртуальные машины с N-series с GPU стоят дороже обычных виртуальных машин, из-за высокой скорости выполнения кодирования на них, мы в итоге тратим значительно меньше денег.
Жизненный цикл видео-контента выглядит следующим образом:
Лицензии управляются с помощью Microsoft Azure RMS (Right Management Services). Права на документ, размещенный в Aggregion, могут быть распределены, используя любые доступные средства управления лицензиями в Aggregion и в конечном итоге заданы для документа с помощью PaaS-сервиса RMS в облаке.
Нукри: пользователи нашей системы разделяются на 2 типа: Издатели и Потребители. Издатели загружают в систему контент разных типов, управляют лицензионными правами, строят дилерские цепочки. Пользователи потребляют контент: скачивают и читают электронные книги, смотрят видео, пользуются онлайн-ресурсами. Когда издатель загружает в систему контент, он проходит предварительную обработку: видео перекодируется для адаптивного стриминга, электронные книги шифруются нашим собственным DRM.
При загрузке контента основное приложение помещает задание для энкодеров в очередь RabbitMQ. Задание содержит всю необходимую информацию для того, чтобы инстанс энкодера мог обработать контент и залить в хранилище, либо опубликовать Asset в Azure Media Services.
Вот и вся система. Система выдерживала нагрузку в сотни миллионов одновременных пользователей. Откуда столько?
Нукри: в системе огромное число объектов цифрового права с одной стороны, а с другой стороны более 100 млн. виртуальных пользователей, которые решают разные задачи по работе с этими правами этих объектов — создают, модифицируют, распространяют, используют — работают с единичными объектами или группами. Права цифровых объектов, как правило, состоят из десятков, иногда сотен параметров. Вы можете представить масштабы такой задачи. А это было с год назад. Сегодня объемы цифровых прав под управлением нашей платформы выросли многократно, учитывая сегодняшние темпы сотрудничества с правообладателями, могу предположить, что через несколько количество цифровых объектов под управлением будет исчисляться миллиардами.
Вместо заключения
Основные задачи Aggregion — реализовать проекты по управлению правами во всех наиболее интересных, коих насчитывается 27 и подключить крупнейших правообладателей к платформе. Мы не ожидали такой высокий интерес к платформе со стороны крупнейших мировых правообладателей. Каждый из них поставил перед нами непростую задачу.
Важнейший плюс от использования Azure — безопасность данных клиентов. Ни в каком другом облаке нет такого количества готовых к использованию продуктов и в то же время проапрувленных у крупнейших наших заказчиков.
Автор: ahriman