СПОСОБ И СИСТЕМА РАСПРОСТРАНЕНИЯ МЕДИА КОНТЕНТА В ПИРИНГОВОЙ СЕТИ ПЕРЕДАЧИ ДАННЫХ
METHOD AND SYSTEM OF MEDIA CONTENT DISTRIBUTION IN PEER-TO-PEER DATA TRANSMISSION NETWORK

ОБЛАСТЬ ТЕХНИКИ
Заявленное изобретение относится к области распространения контента в сетях передачи данных, в частности к способу и системе для передачи медиа контента в пиринговых сетях с обеспечением защиты контента от несанкционированной передачи и распространения.
УРОВЕНЬ ТЕХНИКИ
На сегодняшний день существуют реализации для распространения контента в пиринговых сетях как для статического (фильм, мелодия, аудиокнига и т.п.), так и для динамического (стриминг видео, прямые телевизионные или спортивные трансляции и т.п.) контента. Все они в целом реализуют следующий подход:
- контент (файл) разбивается на сегменты;
- клиенты (программы, установленные на компьютере пользователей) устанавливают соединения друг с другом напрямую;
- клиенты обмениваются друг с другом сегментами файла, добиваясь наличия друг у друга всех сегментов исходного файла.
Очевидно, что при такой реализации, контент, в конечном счете получаемый каждым из клиентов, является строго одинаковым для всех клиентов.
Для распространения в пиринговой сети статического контента применяется протокол bittorrent (http://www.bittorrent.org/beps/bep_0003.html). Этот протокол является открытым, и существует множество его реализаций на разных языках программирования (C/C++, java и т.д.) и для различных платформ (Windows, Linux и т.д.)
Для распространения в пиринговой сети динамического контента применяется протокол bittorrent live (патент US 9094263 В2, 28.07.2015), а также такие сервисы как peer5.com и streamroot.com, которые используют открытую библиотеку WebRTC (https://ru.wikipedia.org/wiki/WebRTC).
В целом эти реализации вполне успешно решают задачи доставки файлов до пользователей с использованием пиринговой сети, однако с точки зрения потребностей правообладателей, публикующих контент в сети, необходимо, чтобы каждый клиент получал уникальную копию файла, которая бы содержала цифровой идентификатор, например цифровую водяную метку (знак), идентифицирующую клиента и его легальное право на получение требуемого контента. В этом случае при несанкционированном распространении файла становилось бы возможным отследить источник утечки - конкретного пользователя, допустившего нелегальное распространение контента.
Однако одновременное использование существующих пиринговых технологий и цифровых водных меток является взаимоисключающим в силу того, что для пирингового обмена, контент должен быть строго одинаковым, а для цифровых водных меток - разным для каждого получателя.
Таким образом, существующий уровень техники присутствующих на рынке решений не нацелен на решение задачи защиты канала дистрибуции, а фокусируется лишь на решении задачи распределенной доставки файлов.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
Задачей настоящего изобретения является создание новой технологии, которая обеспечит распределенную доставку файлов за счет использования пиринговой сети, при этом пользователи будут получать уникальную копию контента, которая будет содержать идентификатор пользователя. При этом одновременно будет решаться как проблема сетевой нагрузки на сервер, так и защиты прав правообладателей контента.
Техническими результатами при реализации настоящего изобретения являются снижение серверной нагрузки при передаче контента, за счет пирингового процесса передачи данных между пользователями, повышение степени защиты контента от нелегального распространения за счет возможности обнаружения конкретных пользователей, допускающих несанкционированное копирование и распространение контента.
В одном из предпочтительных вариантов осуществления заявленного изобретения заявлен способ распространения медиа контента в пиринговой сети передачи данных между сервером медиа контента и устройствами пользователей пиринговой сети, содержащий этапы, на которых:
на серверной части:
- получают запрос на предоставление медиа контента;
- определяют медиа контент, подлежащий передаче на пользовательское устройство;
- добавляют в один или более фрагментов упомянутого контента, по меньшей мере, один цифровой идентификатор, причем идентификатор является уникальными для каждого пользователя, инициировавшего запрос упомянутого контента;
- создают уникальную копию контента, предназначенную для передачи каждому из упомянутых пользователей, запрашивающих упомянутый контент;
- разделяют каждую упомянутую уникальную копию контента на уникальные сегменты, содержащие фрагменты с упомянутым цифровым идентификатором, и общие сегменты, не содержащие идентификаторов, причем уникальные сегменты связывают с информацией соответствующего пользователя, инициировавшего запрос на предоставление упомянутого контента;
- передают соответствующему пользователю по сети передачи данных упомянутые уникальные сегменты контента;
- осуществляют определение пользователей пиринговой сети, содержащих общие сегменты упомянутого контента и передачу данной информации пользователям, запрашивающим упомянутый контент;
на стороне устройства пользователя:
- принимают, по меньшей мере, один уникальный сегмент контента от сервера;
- инициируют прием общих сегментов упомянутого контента от других пользователей пиринговой сети и/или сервера;
- инициируют передачу общих сегментов упомянутого контента другим пользователям пиринговой сети.
В другом предпочтительном варианте осуществления заявленного изобретения заявлена система распространения медиа контента в пиринговой сети передачи данных, содержащая сервер и множество устройств пользователей, причем
сервер выполнен с возможностью:
- получения запроса на предоставление медиа контента;
- определения контента для передачи на одно или более пользовательское устройство;
- создания уникальной копии контента для каждого из пользовательских устройств с помощью добавления в один или более фрагментов контента, по меньшей мере, одного цифрового идентификатора, причем цифровой идентификатор каждой копии контента является уникальным для каждого пользовательского устройства, инициировавшего запрос на получение контента;
- разделения каждой полученной упомянутой уникальной копии контента на уникальные сегменты, содержащие фрагменты с упомянутым цифровым идентификатором, и общие сегменты, не содержащие идентификаторов, причем уникальные сегменты связывают с информацией соответствующего пользователя, инициировавшего запрос на предоставление упомянутого контента;
- передачи соответствующему пользовательскому устройству по сети передачи данных упомянутых уникальных сегментов;
- осуществления определения пользователей пиринговой сети, содержащих общие сегменты упомянутого контента, и передачу данной информации пользователям, запрашивающим упомянутый контент;
устройство пользователя выполнено с возможностью
- принимать от сервера уникальные сегменты запрошенного контента;
- принимать общие сегменты упомянутого контента от других пользователей пиринговой сети и/или сервера;
- передавать общие сегменты упомянутого контента другим пользователям пиринговой сети.
В другом предпочтительном варианте осуществления заявленного изобретения заявлен сервер распространения медиа контента в пиринговой сети передачи данных, содержащий:
- по меньшей мере, один процессор;
- по меньшей мере, одну память;
причем, по меньшей мере, в одной памяти хранится, по меньшей мере, одно программное приложение, которое при его выполнении, по меньшей мере, одним процессором инициирует выполнение этапов, на которых:
- определяют медиа контент для передачи на одно или более устройств пользователей;
- добавляют в один или более фрагментов упомянутого контента, по меньшей мере, один цифровой идентификатор, причем идентификатор является уникальными для каждого пользователя (пользовательского устройства), инициировавшего запрос упомянутого контента;
- создают уникальную копию контента, предназначенную для передачи каждому из упомянутых пользователей, запрашивающих упомянутый контент;
- разделяют каждую упомянутую уникальную копию контента на уникальные сегменты, содержащие фрагменты с упомянутым цифровым идентификатором, и общие сегменты, не содержащие идентификаторов, причем уникальные сегменты связывают с информацией соответствующего пользователя, инициировавшего запрос на предоставление упомянутого контента;
- передают соответствующему пользователю по сети передачи данных упомянутые уникальные сегменты контента;
- осуществляют определение пользователей пиринговой сети, содержащих общие сегменты упомянутого контента;
и
- передают соответствующему пользователю информацию о других пользователях, которые могут передать общие сегменты контента.
В одном из частных вариантов реализации заявленного изобретения цифровой идентификатор добавляется в одинаковые или разные фрагменты каждой из копий медиа контента или несколько цифровых идентификаторов добавляются в одинаковые или различные фрагменты каждой из копий медиа контента.
В другом частном варианте реализации заявленного изобретения каждый из пользователей направляет информацию об общих сегментах контента, которые он может отправить другим пользователям, на сервер, причем отправка такого рода информации может осуществляться через заданный промежуток времени.
В другом частном варианте реализации клиентские устройства выполнены с возможностью проверки получаемых сегментов контента на целостность, например, с помощью проверки соответствия хеш-сумм сегментов, а также возможностью хранения получаемых сегментов медиа контента в зашифрованном виде.
Другие частные варианты реализации заявленного изобретения будут подробно раскрыты далее в настоящих материалах заявки.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг. 1 иллюстрирует общую схему распространения медиа контента.
Фиг. 2 иллюстрирует общие этапы способа распространения контента.
Фиг. 3 иллюстрирует этапы способа при создании уникальной копии контента.
Фиг. 4 иллюстрирует вариант создания уникальных файлов контента с помощью одинаковой маски разметки.
Фиг. 5 иллюстрирует вариант создания уникальных файлов контента с помощью случайной маски разметки.
Фиг. 6 иллюстрирует вариант создания уникальных файлов контента с помощью случайной маски разметки и созданием сегментов для прямой загрузки с сервера.
Фиг. 7 иллюстрирует схему разделения уникальных копий файлов контента на сегменты.
Фиг. 8-10 иллюстрируют варианты схем обмена сегментами контента согласно заявленному изобретению.
Фиг. 11 иллюстрирует схему выполнения этапов способа передачи сегментов согласно заявленному изобретению.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
На Фиг. 1 представлен общий вид схемы передачи медиа контента согласно заявленному изобретению. В заявленную структуру системы 100 передачи медиа контента входит сервер передачи медиа контента 110, содержащий хранилище медиа контента 111. Сервер 110 может представлять собой как единичную ЭВМ, так и несколько вычислительных устройств (серверный кластер). Сервер 110 также может представлять собой суперкомпьютер.
Хранилище медиа контента 111 может представлять собой устройство для хранения данных (HDD, SSD, SD, Flash), непосредственно являющееся частью сервера 110, а также может выполняться как удаленное устройство для хранения и передачи информации, например персональный компьютер, облачное хранилище информации и т.п., осуществляющее обмен данными с сервером 110 через канал передачи данных (LAN, WLAN, WAN, GSM).
Аппаратная часть сервера 110, в общем случае, включается в себя один или более процессоров, ОЗУ, ПЗУ, а также устройства для хранения данных (HDD, SSD, SD, Flash), интерфейсы ввода/вывода (I/O) и, по меньшей мере, один сетевой интерфейс.
Сервер 110 с помощью сети передачи данных, например, Internet передает запрашиваемый пользователями 130-132 медиа контент. Пользователи 130-132 связаны между собой посредством пиринговой сети передачи данных (peer-to-peer или Р2Р).
Упоминаемый в настоящих материалах заявки термин «медиа контент» относится как к статичному типу контента (фильм, мелодия, аудиокнига), так и к динамическому - стриминг видео, прямые телевизионные или спортивные трансляции, радиотрансляции и т.п.
Медиа контент может представлять собой любой вид аудиовизуальных произведений, представляющий собой видеофайл или аудиофайл. Контент также может представлять собой файлы контейнерного формата (mkv, mp4, MOV, OGG и т.п.).
Согласно Фиг. 2 способ 200 передачи медиа контента заключается в следующем.
Пользовательские устройства 130-132 выполняют процесс авторизации на сервере 110 (или на ресурсе, связанном с сервером 110) и направляет запрос на сервер 110 на получение медиа контента.
На этапе 201 сервер 110 принимает запрос от, по меньшей мере, одного пользовательского устройства (130-132) на предоставление медиа контента и на основании информации, идентифицирующей пользователя, создает уникальную копию запрашиваемого медиа контента (этап 202).
На Фиг. 3 отображена схема принципа создания уникальной копии контента. На этапе 2021 сервер 110 определяет фрагменты контента и на этапе 2022 вносит в выбранные фрагменты контента, например кадр, или последовательность кадров, или временные отрезки (для аудиофайла), уникальные идентификаторы, в частности цифровые водяные знаки (метки).
В общем виде цифровой идентификатор выглядит так, что в контент внедряется какая-то цифровая метка, например, пусть это будет случайное 256-битное число:
4fdeeec697cdlcf85b0a65e4b6021eea8c4282ce2800e867f3cacd51b208fbbb.
Идентификационная информация пользователя представлена как:
UID=075cde1b3e89a7715f92c46bf6f72e37abe84247
Далее сервер 110 решает, что копия с идентификатором:
4fdeeec697cd1cf85b0a65e4b6021eea8c4282ce2800e867f3cacd51b208fbbb
будет передана пользователю с идентификатором:
075cde1b3e89a7715f92c46bf6f72e37abe84247
и запоминает это связку.
Таким образом, метка 4fdeeec697cd1cf85b0a65e4b6021eea8c4282ce2800e867f3cacd51b208fbbb становится уникальным идентификатором пользователя 075cdelb3e89a7715f92c46bf6f72e37abe84247.
Такая схема позволяет заранее подготовить несколько копий помеченного контента и уже в момент запроса пользователя привязать конкретную копию к конкретному пользователю.
Стоит отметить, что из существующего уровня техники широко известны различные принципы внедрения цифровых водяных знаков в контент для его защиты, как для статичного контента (см., например, патент RU 2405218, 27.11.2010), так и для динамического (см., например, Методы внедрения цифровых водяных знаков в потоковое видео. Григорьян А.К., Аветисова Н.Г. - Информационно-управляющие системы. - №2 (45). 2010 г.).
На этапе 202 на основании идентификационной информации, полученной от пользователей (130-132), для каждого из них создается уникальная копия файла контента, которая впоследствии кодируется (этап 2023) с внесенными уникальными цифровыми идентификаторами и затем разделяется на сегменты (этап 2024) для передачи конкретному пользователю (этап 203).
Важно отметить тот факт, что шаг кодирования 2023 является опциональным и внесение в файл контента цифровых меток 2022 может осуществляться в уже заранее закодированный файл, если используемая реализация технологий водных меток это позволяет. Также шаг 2023 может выполняться параллельно с этапом 203 непосредственной передачи уникальных сегментов одному или более пользователей (130-132).
Рассмотрим более подробно принцип защиты контента с помощью цифровых идентификаторов. На Фиг. 4-6 представлены различные варианты реализации внесения цифровых идентификаторов в медиа контент. Согласно Фиг. 4 в одном из вариантов защиты контента может применяться маска разметки, при которой в первоначальный (эталонный) файл 300, содержащий сегменты 301, вносятся для каждого пользователя, осуществившего запрос на получения контента, уникальные идентификаторы в определенные упомянутые сегменты.
Для каждого пользователя файлы 310-330 являются уникальными, равно как и сегменты файла контента 311, 321, 331, содержащие цифровой идентификатор соответствующего пользователя.
При реализации внесения цифровых идентификаторов с одинаковой маской разметки сегменты контента, содержащие фрагменты, например кадры, выбираются одинаковыми в файлах 310, 320, 330 для каждого клиента.
Согласно Фиг. 5 показан принцип разметки файлов контента для пользователей с помощью случайной маски разметки. В данном случае реализации каждая уникальная копия файла контента 340, 350, 360 содержит сегменты 341, 351, 361, которые могут быть различными, но могут и совпадать, например 12-й сегмент в файлах 350 и 360 может совпадать, но при этом каждый из этих сегментов (для файла 350 и 360) будет содержать свой уникальный цифровой идентификатор соответствующего пользователя.
При этом последовательность сегментов 301, не содержащих цифрового идентификатора, для каждого файла 340, 350, 360 клиента будет различной.
На Фиг. 6 представлен принцип разметки файлов контента с применением случайной маски и дополнительной разметки начальных частей файла для их непосредственной загрузки с сервера 110 для максимально быстрого начала воспроизведения. Как видно из иллюстрации, сегменты 371, 381, 391 в начале файла контента могут охватывать одинаковое количество фрагментов, при этом сегменты 301, не содержащие цифровых идентификаторов, равно как и другие сегменты 371, 381, 391, содержащие цифровой идентификатор, могут являться различными или одинаковыми, по аналогии с принципом, представленным на Фиг. 5.
На Фиг. 7 представлен принцип разделения контента на сегменты, который реализуется на этапе 2024, представленном на Фиг. 3.
Для каждого клиента 130-132 создается уникальная копия файла контента 1300, 1310, 1320 при помощи любого типа разметки, представленного на Фиг. 4-6. Затем с помощью программного обеспечения сервера 110 происходит определение уникальных фрагментов, содержащих цифровой идентификатор пользователя 130-132. Каждая уникальная копия файла разделяется на сегменты для каждого из пользователей 130-132. Сегменты представляют собой общие сегменты 1300, 1310, 1320 и уникальные сегменты 1301, 1311, 1321.
Общие сегменты 1300, 1310, 1320 каждый из соответствующих пользователей 130-132 может передать другому пользователю 130-132 (или нескольким пользователям) с помощью Р2Р соединения, данные сегменты не содержат фрагментов с цифровым идентификатором пользователя. Уникальные сегменты 1301, 1311, 1321 каждый из пользователей получает строго от серверной части 110, причем каждый из уникальных сегментов 1301, 1311, 1321 может содержать один или более фрагментов, содержащих цифровой идентификатор пользователя 130-132.
На Фиг. 8 показан вариант схемы передачи уникальных сегментов в сети передачи данных для одного клиента 130. Созданные на сервере 110 уникальные сегменты 1301, например сегменты 5, 8, 14 файла, передаются клиенту 130, инициировавшему запрос получения медиа контента, непосредственно от сервера 110. Общие сегменты 1300, необходимые для осуществления воспроизведения контента, также передаются от сервера 110 устройству пользователя 130 в силу того, что в сети нет ни одного клиента, способного отдать общие сегменты.
Согласно Фиг. 9 в случае, когда два клиента 130, 131 осуществляют запрос на получение одного и того же типа контента от сервера 110, уникальные сегменты 1301, 1311 контента для каждого клиента передаются от сервера 110. Общие сегменты 1300, 1310 для каждого из клиентов могут быть полностью или частично переданы каждому из клиентов 130, 131 от серверной части 110, либо клиент, например 130, который осуществил ранее получение контента, запрашиваемого клиентом 131, может передать с помощью Р2Р соединения часть общих сегментов 1300. Оставшуюся часть общих сегментов 1310 клиент 131 запрашивает у сервера 110.
На Фиг. 10 показан принцип передачи сегментов контента в случае, когда запрос на предоставление контента происходит от трех или более пользователей 130-132.
По аналогии с принципом передачи сегментов контента, представленных на Фиг. 8-9, при увеличении количества пользователей в сети, запрашивающих контент, сервер 110 анализирует возможность снижения нагрузки за счет предоставления каждому из пользователей 130-132 информации о других пользователях 130-132, содержащих общие сегменты контента, которые они могут получить с помощью Р2Р связи между собой.
Уникальные сегменты для каждого из пользователей 130-132 передаются с сервера 110. Общие сегменты 1300, 1310 передаются между пользователями в Р2Р сети передачи данных с помощью запроса соответствующего пользователя, например, 132 за получением недостающих общих сегментов к пользователям 130 и 131.
Общий принцип работы схемы передачи контента будет рассмотрен далее с отсылкой к этапам способа, представленного на Фиг. 11.
Уникальные сегменты 1301, 1311, 1321 передаются при соединении каждого из пользователей 130-132, инициировавших запрос на получение медиа контента, с сервером 110, посредством сети передачи данных, например сети Интернет. После того как пользователь 130-132 получает уникальный сегмент контента (этап 204) или параллельно данному этапу, клиентское устройство данного пользователя получает от сервера информацию о других пользователях в сети, которые содержат общие сегменты контента 1300, 1310, 1320, которые могут быть получены указанным пользователем с помощью Р2Р соединения. Если на этапе 206 пользователей, которые могут передать общие сегменты контента, не выявлено или не все необходимые сегменты контента были от них получены, то пользователь запрашивает получение недостающих общих сегментов контента от сервера (этап 212).
Уникальные и общие сегменты контента могут предоставляться параллельно для каждого из пользователей, в частности, такой подход актуален, когда еще недостаточно пользователей, которые с помощью Р2Р передачи могут отдать необходимые сегменты контента или когда пользователь является единственным пользователем, запрашивающим данное наименование контента.
На этапе 207 при обнаружении пользователей в Р2Р сети каждый из пользователей, запросивший получение контента, получает от сервера 110 информацию о том, у какого пользователя он может получить общие сегменты выбранного контента 1300, 1310, 1320. Данная информация, как правило, представляется в виде IP адресов пользователей сети.
При выборе нужного пользователя на этапе 208 с ним устанавливается Р2Р соединение для получения общих сегментов, которые он может передать. После получения сегментов на этапе 208 далее на этапе 209 приложение клиент на пользовательском устройстве 130-132 проверяет, достаточно ли количество сегментов для воспроизведения упомянутого контента. Если количество сегментов достаточное, то на этапе 210 выполняется воспроизведение запрошенного пользователем контента. В случае если сегментов для воспроизведения недостаточно, то инициируется выполнение этапа 212, на котором пользовательское устройство запрашивает недостающие сегменты у сервера 110 (этап 213).
После старта воспроизведения контента (этап 210) клиентское приложение пользовательского устройства повторяет этап запроса уникальных частей контента от сервера 110. Это, в частности, актуально при получении динамического контента, например просмотр живой трансляции спортивного матча на веб-сайте, а также при получении статического контента, например кинофильма, имеющего большой размер, из-за чего потребуется значительное время для загрузки файла целиком.
Каждый из пользователей 130-132 после получения уникальных сегментов 1301, 1311, 1321 и общих сегментов 1300, 1310, 1320 направляет на сервер информацию о полученных сегментах конкретного наименования контента для ее последующего использования при сообщении другим пользователям о сегментах, которые могут быть переданы им в Р2Р сети. Данная информация направляется каждым из пользователей на сервер через заданный промежуток времени, хранится сервером заданное время и используется сервером для сообщения пользователям о других пользователях, которые могут передать общие сегменты в Р2Р сети.
Уникальные сегменты контента 1301, 1311, 1321 после получения пользователями 130-132, запросившими получение необходимого контента, используются для фиксации фактов несанкционированного распространения контента одним или более пользователями. При обнаружении в сети контента, содержащего цифровые идентификаторы пользователей, легально получивших данный контент от контент-сервера 110, позволяют установить факт несанкционированного распространения контента и установить конкретного пользователя, который допустил такое распространение, с помощью сравнения нелегальной копии, доступной в сети и содержащей идентификатор пользователя с эталонным файлом, хранимым на сервере.
Дополнительно каждое приложение клиентского устройства 130-132 при получении сегментов (как уникальных, так и общих) проверяет каждый из сегментов на целостность. Как правило, такой тип проверки заключается в проверке, например, хеш-суммы содержимого сегмента. Данный способ является наиболее распространенным, но не ограничивает иные варианты реализации проверки целостности контента. При проверке хеш-сумм сервер вычисляет и сообщает клиентским устройствам параметры для проверки упомянутых хеш-сумм сегментов, полученных ими. Клиентское устройство пользователя затем сравнивает полученные параметры хеш-сумм.
После получения уникальных сегментов контента 1301, 1311, 1321, равно как и общих сегментов 1300, 1310, 1320, каждое клиентское устройство 130-132 может выполнять шифрование каждого полученного сегмента контента. Шифрование происходит в момент сохранения сегмента (полученного от сервера или другого клиента). При проигрывании и при отправке другим пользователям, запросившим сегмент, происходит расшифровка передаваемого сегмента.
Упомянутое в настоящих материалах заявки пользовательское устройство может представлять собой ЭВМ портативного или стационарного вида, например PC, смартфон, планшет, игровую приставку, ноутбук.
В общем виде каждое из клиентских устройств пользователей содержит, по меньшей мере, один процессор, по меньшей мере, одну память, в которой хранятся команды для исполнения процессором, реализующие выполнения программного приложения, предназначенного для запроса медиа контента с сервера, его получения и обмена с другими участниками Р2Р сети.
Представленное в настоящей заявке описание раскрывает предпочтительные варианты реализации заявленного изобретения и не должно толковаться как ограничивающее иные, частные варианты реализации заявленного решения, не выходящие за рамки испрашиваемой правовой охраны.