СПОСОБ И СИСТЕМА ПЕРЕДАЧИ ДАННЫХ НА ОСНОВЕ ТЕХНОЛОГИИ "Peer-to-Peer"
METHOD AND SYSTEM FOR TRANSMITTING DATA BASED ON Peer-to-Peer TECHNOLOGY

Область техники
Настоящее изобретение относится к технологии "Peer-to-Peer" (P2P) и, в частности, к способу и системе передачи данных на основе технологии Р2Р.
Уровень техники
Технология Р2Р берет свое начало от первых методов сетевой связи, заключающихся во взаимном соединении персональных компьютеров (ПК) одного здания посредством локальной вычислительной сети с последующим соединением группы зданий друг с другом способом удаленного коммутируемого доступа через модем. В основу современной сети Интернет положен разработанный режим связи с использованием протокола TCP/IP (Протокол Управления Передачей/Интернет-протокол). Это значит, что с точки зрения основ технология Р2Р не является новой, а представляет собой лишь новый прикладной режим. Хотя исследовательские работы по технологии Р2Р не прекращались никогда, технология Р2Р привлекла к себе повышенное внимание именно в последнее время. Причиной этого, главным образом, стало появление совместно используемого программного обеспечения, такого как Napster, а также программного обеспечения, предназначенного для мгновенного обмена сообщениями (Instant Messaging).
В современной сети Интернет основным прикладным режимом является режим Сервер-Браузер или режим Сервер-Клиент. В таком прикладном режиме в сети должен быть сконфигурирован по меньшей мере один сервер, через который можно передавать информацию. Согласно вышеуказанному прикладному режиму информация либо полностью выгружается на сервер (например, на веб-сайт), где она хранится и откуда она впоследствии загружается, либо информация изначально по сети не передается, до тех пор пока она не будет обработана на сервере по специальному правилу (например, электронная почта).
В настоящее время существует множество приложений, основанных на принципе Р2Р, в которых технология мгновенного обмена сообщениями является типично используемой. В приложениях мгновенного обмена сообщениями два или более пользователей общаются друг с другом путем передачи текстовых сообщений, голосовых сообщений или файлов. Такой тип связи является быстрым и непосредственным, он упрощает взаимодействие с некомпьютерными сетевыми устройствами (такими как электронная записная книжка PDA или мобильный телефон) и позволяет идентифицировать пользователя независимо от устройства. Поскольку технология Р2Р позволяет уменьшить зависимость от центрального сервера или даже полностью устранить эту зависимость, такая связь ближе к режиму связи не сети Интернет. В современных приложениях мгновенного обмена сообщениями уже вовсю используется видеосвязь. При этом по мере дальнейшей популяризации видеосвязи пользователи предъявляют к ней все больше и больше требований. Одно из важнейших требований заключается в возможности предоставления услуги многопользовательского видео. В то же время пользователям теперь недостаточно одной лишь услуги многопользовательского видео - они также заинтересованы в добавлении прочих составляющих в сеанс видеосвязи, например они хотят совмещать режим видеосвязи с обменом текстовыми сообщениями, передавать другой стороне во время онлайн-переписки самостоятельно определяемое изображение, совместно пользоваться файлами и т.п.
В приложениях мгновенного обмена сообщениями функцию многопользовательского совместного использования данных, такую как функцию многопользовательской онлайн-переписки или многопользовательского совместного использования файлов, можно реализовать как функцию передачи дополнительных данных. Существующие технологии многопользовательской онлайн-переписки и многопользовательского совместного использования файлов основаны на режиме Сервер-Клиент, т.е. текстовая информация или файл от отправителя сначала передаются на сервер, после чего сервер распределяет эту текстовую информацию или файл другим получателям. Поэтому при применении технологии такого типа требуется дополнительный сервер для отправки соответствующих данных, что не только увеличивает затраты, но также видоизменяет первоначальную структуру системы Р2Р для передачи аудио и видео.
Проблема передачи данных различных типов может возникнуть и в случае других приложений, основанных на технологии Р2Р, причем, если для пересылки соответствующих данных использовать дополнительный сервер, это безусловно приведет к увеличению затрат. Следовательно, при реализации любого режима передачи Р2Р необходимо уделять особое внимание снижению затрат.
Сущность изобретения
Принимая во внимание вышеизложенное, основную цель настоящего изобретения можно сформулировать как разработка способа передачи данных на основе технологии "Peer-to-Peer" (P2P), обеспечивающего снижение затрат.
Еще одна цель настоящего изобретения заключается в создании системы передачи данных на основе технологии "Peer-to-Peer" (P2P), обеспечивающей снижение затрат.
Для достижения вышеуказанных целей в настоящем изобретении предложены следующие технические решения.
Способ передачи данных на основе технологии "Peer-to-Peer" (технологии Р2Р), в котором соединение Р2Р между передающей стороной и принимающей стороной устанавливают предварительно, включающий в себя:
присвоение передающей стороной идентификатора передаваемым данным согласно их типу и передачу этих имеющих идентификатор данных на принимающую сторону через соединение Р2Р, причем передают данные по меньшей мере одного типа, и передающая сторона добавляет к передаваемым данным одного типа один и тот же идентификатор;
анализ принимающей стороной принятых данных с определением идентификатора данных и обработку принятых данных согласно их типу, указываемому идентификатором, причем в отношении принятых данных, имеющих один и тот же идентификатор, выполняют одинаковую обработку.
Система передачи данных на основе технологии "Peer-to-Peer" (P2P), содержащая:
передающую сторону, выполненную с возможностью присвоения идентификатора передаваемым данным согласно их типу и с возможностью передачи этих имеющих идентификатор данных через соединение Р2Р, причем передаются данные по меньшей мере одного типа, и передающая сторона добавляет к передаваемым данным одного типа один и тот же идентификатор;
и принимающую сторону, выполненную с возможностью приема данных от передающей стороны, анализа принятых данных с определением идентификатора данных, а также с возможностью обработки данных с учетом типа, указываемого идентификатором;
причем между передающей стороной и принимающей стороной существует соединение Р2Р, при этом в отношении принятых данных, имеющих один и тот же идентификатор, принимающая сторона выполняет одинаковую обработку.
Как можно видеть из приведенного описания, в заявленном способе передачи данных на основе технологии Р2Р передающая сторона присваивает идентификатор передаваемым данным согласно типу этих данных, передает имеющие идентификатор данные на принимающую сторону через соединение Р2Р; принимающая сторона анализирует принятые данные с определением идентификатора данных и выполняет обработку данных на основе типа, указываемого идентификатором. Можно видеть, что в соответствии с настоящим изобретением в режиме связи Р2Р передающая сторона присваивает идентификатор данным различных типов, а принимающая сторона выполняет соответствующую обработку для различных типов данных согласно их идентификаторам. Следовательно, по одному каналу данных можно передавать данные различных типов, при этом нет необходимости использовать для пересылки данных дополнительный сервер. Как следствие, снижаются затраты на передачу данных различных типов.
Краткое описание чертежей
Фиг.1 изображает блок-схему способа передачи данных на основе технологии Р2Р, соответствующего одному из вариантов настоящего изобретения.
Фиг.2 изображает блок-схему процесса, выполняемого передающей стороной, направляющей данные, согласно одному из вариантов настоящего изобретения.
Фиг.3 изображает блок-схему процесса, выполняемого принимающей стороной, получающей данные, согласно одному из вариантов настоящего изобретения.
Фиг.4 изображает окно для многопользовательского общения с передачей аудио-, видео- и текстовых данных согласно одному из вариантов настоящего изобретения.
Фиг.5 схематически изображает очередь передачи данных согласно одному из вариантов настоящего изобретения.
Фиг.6 схематически изображает структуру системы передачи данных на основе технологии Р2Р, соответствующей одному из вариантов настоящего изобретения.
Подробное описание изобретения
Задачи, объекты и преимущества настоящего изобретения становятся более понятными из нижеследующего подробного описания конкретных вариантов его осуществления, раскрытых со ссылкой на приложенные чертежи.
Согласно настоящему изобретению в режиме связи Р2Р передающая сторона присваивает идентификатор различным типам данных, а принимающая сторона выполняет в отношении данных различных типов соответствующую обработку согласно их идентификаторам. Таким образом, по одному каналу данных можно передавать данные различных типов без использования дополнительного сервера. Как следствие, данное техническое решение позволяет существенно снизить затраты.
На фиг.1 показана блок-схема способа передачи данных на основе технологии Р2Р, соответствующего одному из вариантов настоящего изобретения. Согласно предложенному способу между передающей стороной и принимающей стороной предварительно устанавливают соединение Р2Р. Как видно из фиг.1, способ включает в себя следующие этапы.
Этап 101: передающая сторона присваивает идентификатор передаваемым данным согласно типу этих данных и передает имеющие идентификатор данные на принимающую сторону через соединение Р2Р. Передаются данные по меньшей мере одного типа.
Канал данных конфигурируют только на передачу данных, при этом не имеет значения какой именно контент передается по этому каналу. Следовательно, можно соответствующим образом присваивать разные идентификаторы различным типам данных и затем все имеющие идентификатор данные передавать через канал данных соединения Р2Р.
Этап 102: принимающая сторона анализирует принятые данные, определяя таким образом идентификатор данных, и выполняет обработку этих данных согласно типу, указываемому идентификатором.
Приняв передаваемые данные, принимающая сторона анализирует эти данные, получая в результате идентификатор. После этого она выполняет соответствующую обработку данных согласно типу, указываемому идентификатором.
Поскольку принимающая сторона принимает данные разных типов, она должна обрабатывать эти данные по-разному. Однако сначала данные должны быть проанализированы для определения идентификатора. Затем данные обрабатывают согласно типу, указываемому этим идентификатором.
Ниже в качестве примера описан вариант изобретения, относящийся к онлайн-общению пользователей с передачей аудио- и видеоданных в приложении мгновенного обмена сообщениями.
Если связь по технологии Р2Р предоставляется множеству пользователей, то сначала между каждыми двумя пользователями устанавливают канал данных, позволяющий передавать данные. Например, если в многопользовательской передаче видеоданных участвуют N пользователей, каждый пользователь устанавливает каналы данных к оставшимся N-1 пользователям и передает свои аудио- и видеоданные этим N-1 пользователям по указанным каналам данных, а также принимает аудио- и видеоданные от других N-1 пользователей по этим каналам данных. Таким образом осуществляется аудио- и видеосвязь.
Однако хотя аудио- и видеоканалы предназначены для передачи аудио- и видеоданных, не имеет значения какие именно данные по ним передаются. Это значит, что аудио- и видеоканалы можно задействовать для передачи некоторых дополнительных данных, реализуя таким образом дополнительные функции связи. Согласно изобретению данным присваивают идентификатор, в результате чего различные типы данных становится удобно анализировать и обрабатывать. Поскольку в каналах нижнего уровня для любого типа данных используется один и тот же метод передачи, перед передачей данных им необходимо назначить идентификатор, после чего принимающая сторона будет анализировать имеющие идентификатор данные, распределяя их по разным типам, и выполнять разные обработки в отношении данных разных типов. Так как при передаче данных задействуются аудио- и видеоканалы, требуется учитывать влияние на аудио- и видеосвязь. Для этого аудио- и видеоканалы не следует уподоблять другим каналам общего назначения и передавать или принимать данные по ним непосредственным образом. Для обеспечения устойчивости аудио- и видеосвязи потоки данных по аудио- и видеоканалам необходимо передавать непрерывно. Таким образом, если для передачи дополнительных данных задействуются аудио- и видеоканалы, влияние на передачу аудио- и видеоданных должно быть минимизировано, чтобы не допустить чрезмерного воздействия на устойчивость аудио- и видеосвязи.
Далее описываются варианты заявленного способа передачи, осуществляемого с участием передающей и принимающей сторон.
На фиг.2 показана блок-схема процесса передачи данных передающей стороной, соответствующего одному из вариантов изобретения. Как показано на фиг.2, процесс включает в себя следующие этапы.
Этап 201: к различным типам данных добавляют соответствующие идентификаторы, после чего все имеющие идентификатор данные включают в очередь передачи данных.
Перед передачей данных передающая сторона присваивает им идентификатор. Впоследствии принимающая сторона анализирует имеющие идентификатор данные, распределяет их по типам и выполняет разную обработку для данных разных типов. Присвоение данным идентификатора, выполняемое передающей стороной, обусловлено функциональными требованиями, поскольку принимающая сторона по разному обрабатывает данные разного назначения. В частности, видеоданные подлежат декодированию и отображению, данные онлайн-переписки (например, текст) подлежат отображению в окне онлайн-переписки, данные изображений подлежат анализу и отображению с использованием соответствующего формата изображений. Таким образом, на передающей стороне к данным, соответствующим первому назначению, добавляют идентификатор данных первого назначения, к данным, соответствующим второму назначению, добавляют идентификатор данных второго назначения и к данным, соответствующим третьему назначению, добавляют идентификатор данных третьего назначения. После добавления различных идентификаторов к данным, соответствующим различным назначениям (т.е. различным типам), передающая сторона включает эти имеющие идентификатор данные в очередь передачи данных. Передаваемые данные могут относиться по меньшей мере к одному из следующих типов: аудиоданные, видеоданные, электронные файлы и информация мгновенного обмена сообщениями.
Этап 202: данные извлекают из очереди передачи данных и передают различным пользователям.
Поскольку метод передачи Р2Р предпочтительно применять в отношении множества пользователей, т.е. множества передающих сторон и множества принимающих сторон, то на этапе 202 данные могут направляться разным принимающим сторонам. По аналогии с вышесказанным, другие передающие стороны осуществляют точно такую же процедуру передачи или подобную ей.
Если используются по меньшей мере две передающие стороны, то каждая передающая сторона самостоятельно присваивает передаваемым данным идентификатор согласно типу этих данных. Каждая передающая сторона добавляет один и тот же идентификатор к передаваемым данным одного типа и передает имеющие идентификатор данные принимающим сторонам по соединениям Р2Р.
Таким образом, в отношении множества пользователей можно реализовать метод распределения данных, имеющих множество разных назначений. Что касается принимающих сторон, то для них тоже можно предложить такие механизмы, как прием данных по множеству каналов и анализ данных, соответствующих множеству назначений.
На фиг.3 показана блок-схема, соответствующая показанному на фиг.2 процессу, но иллюстрирующая процесс приема данных принимающей стороной согласно одному из вариантов изобретения. Как показано на фиг.3, процесс включает в себя следующие этапы.
Зтап 301: принимают данные от различных пользователей, и все принятые данные включают в очередь обработки данных.
Поскольку метод передачи Р2Р предпочтительно применять в отношении множества пользователей, т.е. множества передающих сторон и множества принимающих сторон, то на этом этапе данные могут приниматься от разных передающих сторон, после чего все данные включаются в очередь обработки данных.
Этап 302: данные извлекают из очереди обработки данных и анализируют, причем в отношении данных, соответствующих разным идентификаторам, выполняют разные обработки.
На этом этапе данные сначала извлекают из очереди обработки данных и затем анализируют с определением соответствующих идентификаторов; после этого в отношении данных, соответствующих разным идентификаторам, выполняют разные процессы. Например, видеоданные анализируют и отображают, данные онлайн-переписки (например, текст) отображают в окне онлайн-переписки, данные изображений анализируют и отображают с использованием соответствующего формата изображений. Иными словами, в отношении данных, соответствующих разным функциям, выполняют разные обработки.
Если в способе задействованы по меньшей мере две принимающие стороны, каждая принимающая сторона анализирует принятые данные, определяя идентификаторы передаваемых данных, и выполняет в отношении передаваемых данных, имеющих одинаковый идентификатор, одну и ту же обработку, согласно типу, указываемому идентификатором.
Очевидно, что в соответствии с описанным способом можно также предложить систему, включающую в себя множество пользователей и множество назначений и реализованную путем повторного использования многопользовательских аудио- и видеоканалов Р2Р. Например, во время многопользовательской онлайн-переписки можно реализовать многопользовательское общение с передачей аудио и видео.
Фиг.4 иллюстрирует процесс многопользовательского интерактивного общения с передачей аудио, видео и текста, соответствующий одному из вариантов настоящего изобретения. Как следует из фиг.4, множество пользователей могут обмениваться текстовыми сообщениями и, в то же время, общаться путем передачи аудио и видео. Таким образом общение пользователей становится более естественным. При этом нет необходимости в усовершенствовании существующей архитектуры серверов, что позволяет значительно снизить затраты.
Кроме того, если настоящее изобретение применяется для случая многопользовательского интерактивного общения в приложении мгновенного обмена сообщениями, требуется учитывать влияние на аудио- и видеосвязь, оказываемое дополнительными данными, так как для передачи дополнительных данных используются аудио- и видеоканалы, а данные в предпочтительном случае не передаются или не принимаются непосредственным образом. Для обеспечения устойчивости аудио- и видеосвязи по аудио- и видеоканалам потоки данных следует передавать бесперебойно. Таким образом, когда для передачи дополнительных данных задействуются аудио- и видеоканалы, влияние на передачу аудио- и видеоданных должно быть минимизировано, чтобы не допустить вредных воздействий на устойчивость аудио- и видеосвязи. В предпочтительном случае, чтобы избежать влияния на устойчивость аудио- и видеосвязи, необходимо управлять периодичностью передачи дополнительных данных.
Если передачи ожидает слишком большой объем дополнительных данных, то помимо добавления идентификаторов, при обеспечении посегментной отправки данных с идентификаторами, необходимо также управлять периодичностью передачи данных; в противном случае передача слишком большого объема дополнительных данных может привести к перегруженности аудио- и видеоданными, что отрицательно скажется на устойчивости аудио- и видеосвязи.
Следовательно, предпочтительно, чтобы перед передачей данных передающая сторона смешивала на регулярных интервалах передаваемые данные разных типов. Поскольку имеется очередь передачи данных, то интервал для передачи данных, извлекаемых из указанной очереди согласно очередности, фиксируется только при условии, что интервал для добавления дополнительных данных в очередь передачи данных является фиксированным; при этом сетевыми флюктуациями передачи, обусловленными сетью, можно пренебречь. Это значит, что аудио- и видеоданные добавляются в очередь передачи данных непрерывным образом, тогда как дополнительные данные вводятся в очередь передачи данных на регулярных интервалах. Таким образом, передаваемые данные смешиваются на регулярных интервалах. Следовательно, может быть гарантировано, что интервал для передачи данных фиксируется, только если данные периодически извлекаются и передаются из очереди передачи данных согласно последовательности в очереди.
В случае передаваемых данных, смешанных на регулярных интервалах, М блоков дополнительных данных можно вставлять через каждые N блоков аудио-/видеоданных. N - положительное целое число, большее или равное 1; и М - также положительное целое число, большее или равное 1. Данное изобретение не накладывает ограничений на значения N и М. Так, N может быть больше М, или меньше М, или равно М. Например, если N равно 3, то один блок дополнительных данных можно вставлять через каждые три блока аудио-/видеоданных, или два блока дополнительных данных можно вставлять через каждые три блока аудио-/видеоданных, или три блока дополнительных данных можно вставлять через каждые три блока аудио-/видеоданных. В стандартном случае один блок дополнительных данных вставляют через каждые три блока аудио-/видеоданных.
Выше приведен пример, в котором N равно 3, однако следует понимать, что объем правовой охраны настоящего изобретения не ограничен конкретными значениями N.
Фиг.5 схематически иллюстрирует очередь передачи, используемую в настоящем изобретении. На фиг.5 аудио-/видеоданные представлены круглыми блоками, а дополнительные данные прямоугольными блоками. Как следует из фиг.5, один блок дополнительных данных вставляют через каждые 3 блока аудио-/видеоданных. Дополнительные данные могут представлять собой электронный файл, информацию мгновенного обмена сообщениями (информацию текстового общения) и т.д.
Фиг.6 схематически изображает структуру заявленной системы передачи данных на основе технологии Р2Р. Как показано на фиг.6, система включает в себя несколько терминалов, каждый из которых может являться передающей стороной или принимающей стороной. Система содержит:
передающую сторону, выполненную с возможностью присвоения идентификатора передаваемым данным согласно типу этих данных и с возможностью передачи имеющих идентификатор данных через соединение P2P, причем передаются данные по меньшей мере одного типа;
и принимающую сторону, выполненную с возможностью приема данных, переданных передающей стороной, анализа принятых данных с определением идентификатора данных, а также с возможностью соответствующей обработки данных на основе их типа, указываемого идентификатором;
причем соединение между передающей стороной и принимающей стороной является соединением Р2Р.
В предпочтительном случае задействованы по меньшей мере две передающие стороны и по меньшей мере две принимающие стороны. В этом случае каждая передающая сторона выполнена с возможностью присвоения передаваемым ею данным идентификатора согласно типу этих данных, причем каждая передающая сторона добавляет один и тот же идентификатор к передаваемым данным одного типа; кроме того, каждая передающая сторона выполнена также с возможностью передачи имеющих идентификатор данных принимающим сторонам по соединениям Р2Р. Каждая принимающая сторона выполнена с возможностью анализа принятых ею данных с определением идентификаторов данных и с возможностью выполнения одинаковой обработки в отношении данных, имеющих один и тот же идентификатор, согласно типу, указываемому идентификатором.
В более предпочтительном случае передаются данные по меньшей мере двух типов, а передающая сторона выполнена с возможностью смешивания передаваемых данных различных типов на регулярных интервалах перед передачей данных. Передаваемые данные, после их смешивания на регулярных интервалах, включают в себя аудио-/видеоданные и дополнительные данные, причем один блок дополнительных данных вставляется через каждые три блока аудио-/видеоданных.
Очевидно, что применение настоящего изобретения на основе многопользовательской аудио- и видеосвязи по технологии Р2Р обеспечивает возможность повторного использования существующих аудио- и видеоканалов. Таким образом, согласно настоящему изобретению совместное использование данных множеством пользователей (в частности многопользовательская онлайн-переписка и многопользовательское совместное использование файлов) обеспечивается без необходимости в выделении отдельного сервера, при этом аудио- и видеосвязь является устойчивой.
Выше описаны только предпочтительные варианты изобретения. Их не следует рассматривать как ограничение патентных притязаний. Все модификации, замены и улучшения данного изобретения при условии, что они отвечают его сути, должны расцениваться, как попадающие в объем его правовой охраны.