СПОСОБ И УСТРОЙСТВО СОЗДАНИЯ ОДНОРАНГОВОЙ ГРУППЫ В ОДНОРАНГОВОМ ПРИЛОЖЕНИИ И СПОСОБ ПРИМЕНЕНИЯ ОДНОРАНГОВОЙ ГРУППЫ
METHOD AND APPARATUS FOR CREATING PEER-TO-PEER GROUP IN PEER-TO-PEER APPLICATION AND METHOD OF USING PEER-TO-PEER GROUP

Область техники
Настоящее изобретение относится к сетевой связи, в частности к способу и устройству создания одноранговой группы и способу применения одноранговой группы.
Уровень техники
Технология одноранговой («Peer-to-Peer» (P2P)) связи является основной технологией, широко используемой в настоящее время при потоковой передаче мультимедийной информации. В основе этой технологии лежит использование узлов и управление ими. В традиционных решениях управление узлами осуществляется, как правило, централизованно, то есть с помощью сервера, и узлы не имеют соединения друг с другом.
В традиционных решениях рабочая нагрузка и затраты на сервер при осуществлении управления узлами очень велики и узлы не могут использоваться полностью, что приводит к большому времени ожидания и загрузки и низкой скорости передачи потоковой мультимедийной информации, а также негативно влияет на оценку качества работы такой сети ее пользователями.
Раскрытие изобретения
В вариантах осуществления настоящего изобретения предлагается способ создания одноранговой группы в одноранговом (P2P) приложении. Указанный способ обеспечивает создание более стабильной взаимосвязи между узлами, что позволяет им быстро осуществлять обслуживание, когда требуется сетевой ресурс. В результате уменьшается рабочая нагрузка и затраты на сервер при осуществлении управления, повышается коэффициент использования равноправных узлов, и удовлетворенность пользователей качеством работы системы.
Согласно вариантам осуществления, способ создания одноранговой группы в одноранговом (Peer-to-Peer) приложении включает в себя следующие этапы: запрашивают посредством пользовательского терминала первичный узел у сервера одноранговой (Peer-to-Peer) сети, чтобы получить от сервера один или более первичных узлов в соответствии с настроенной политикой; создают посредством пользовательского терминала первичную одноранговую группу, состоящую из указанного одного или нескольких первичных узлов; осуществляют взаимодействие узлов друг с другом в первичной одноранговой группе для получения информации об узлах другой одноранговой группы и создают на основе этой информации новую одноранговую группу.
В вариантах осуществления предлагается также устройство создания одноранговой группы в одноранговом приложении. В состав этого устройства могут входить следующие блоки:
блок получения первичных узлов, размещенный в пользовательском терминале для получения от сервера одноранговой (Peer-to-Peer) сети одного или более первичных узлов в соответствии с настроенной политикой;
блок создания первичной одноранговой группы, размещенный в пользовательском терминале для создания первичной одноранговой группы из одного или нескольких первичных узлов, полученных блоком получения первичных узлов;
блок создания новой одноранговой группы, размещенный в пользовательском терминале для получения информации об узлах другой одноранговой группы посредством взаимодействия с узлами первичной одноранговой группы и создания новой одноранговой группы на основе полученной информации об узлах.
В вариантах осуществления также предлагается способ применения одноранговой группы, созданной согласно описанному выше способу. В этом способе может быть предусмотрено выполнение следующих действий:
передают посредством пользовательского терминала запрос ресурса серверу одноранговой (Peer-to-Peer) сети для получения от сервера одного или более первичных узлов, имеющих указанный ресурс;
выбирают посредством первичного узла из одноранговой группы, к которой относится указанный первичный узел, другой узел, имеющий указанный ресурс, и предоставляют указанный другой узел пользовательскому терминалу;
получают посредством пользовательского терминала указанного ресурса от указанного первичного узла и указанного другого узла.
Из описанной выше схемы следует, что пользовательский терминал сначала получает от сервера одноранговой (Р2Р) сети один или несколько первичных узлов; сервер одноранговой (Р2Р) сети возвращает один или несколько первичных узлов согласно настроенной политике; пользовательский терминал создает из первичных узлов первичную одноранговую группу; узлы первичной одноранговой группы взаимодействуют друг с другом для получения информации о других узлах других одноранговых групп и, согласно этой информации, создают новую одноранговую группу. Таким образом, между узлами новой одноранговой группы создается стабильная взаимосвязь, и при необходимости они могут обеспечивать быстрое обслуживание. Кроме того, управление одноранговыми узлами осуществляется в пользовательском терминале, благодаря чему уменьшается рабочая нагрузка и затраты на сервер, связанные с функцией управления, повышается коэффициент использования узлов и удовлетворенность пользователей качеством работы системы.
Краткое описание чертежей
На фиг.1 показана схема, иллюстрирующая последовательность этапов способа создания одноранговой группы согласно первому варианту осуществления изобретения.
На фиг.2 схематически показана одноранговая группа, созданная в соответствии с первым вариантом осуществления изобретения.
На фиг.3 представлена схема, иллюстрирующая последовательность этапов способа применения одноранговой группы в одноранговом (Р2Р) приложении согласно второму варианту осуществления изобретения.
На фиг.4 показана структурная схема устройства создания одноранговой группы в одноранговом (Р2Р) приложении согласно третьему варианту осуществления изобретения.
Подробное описание вариантов осуществления изобретения
В вариантах осуществления предложены способ и устройство создания одноранговой группы в одноранговом (Р2Р) приложении, позволяющие создать стабильную взаимосвязь между узлами, чтобы при необходимости они могли быстро осуществлять обслуживание. Далее более подробно и со ссылками на приложенные чертежи описаны варианты осуществления настоящего изобретения.
В первом варианте осуществления предложен способ создания одноранговой группы в одноранговом (Р2Р) приложении. На фиг.1 показана схема, иллюстрирующая последовательность этапов способа создания одноранговой группы в одноранговом (Р2Р) приложении согласно первому варианту осуществления.
Указанный способ может включать в себя следующие этапы.
На этапе, указанном в блоке 11, пользовательский терминал получает от сервера одноранговой (Р2Р) сети один или несколько первичных узлов.
На этом этапе пользовательский терминал может сначала подключиться к серверу одноранговой (Р2Р) сети и послать ему запрос для получения первичных узлов. На этом этапе одноранговая группа в пользовательском терминале не создана. Под первичным узлом понимается узел, имеющий ресурс в одноранговом (Р2Р) приложении, а под сервером одноранговой (Р2Р) сети понимается блок управления, в котором имеется информация об узлах сервера.
На этапе, указанном в блоке 12, сервер одноранговой (Р2Р) сети возвращает один или несколько узлов согласно настроенной политике.
На этом этапе сервер одноранговой (Р2Р) сети принимает запрос пользовательского терминала и возвращает ему один или несколько узлов согласно настроенной политике. Политика может быть заранее задана оператором согласно состояниям занятия ресурсов или определена случайным образом сервером одноранговой (Р2Р) сети в зависимости от условий в сети. Например, может быть задано, что сервер одноранговой (Р2Р) сети в качестве первичных узлов возвращает пользовательскому терминалу узлы, имеющие требуемый ресурс. Например, если требуемый ресурс есть у пяти узлов, в качестве первичных узлов возвращается пять узлов.
На этапе, указанном в блоке 13, пользовательский терминал создает из возвращенных первичных узлов первичную одноранговую группу.
На данном этапе, получив от сервера одноранговой (Р2Р) сети первичные узлы, пользовательский терминал создает из них первичную одноранговую группу. Количество узлов в первичной одноранговой группе равно количеству узлов, возвращенных сервером одноранговой (Р2Р) сети.
На этапе, указанном в блоке 14, узлы первичной одноранговой группы взаимодействуют друг с другом для получения информации об узлах других одноранговых групп и создания новых одноранговых групп.
На этом этапе узлы первичной одноранговой группы взаимодействуют друг с другом для получения информации об узлах других одноранговых групп, получения на основе этой информации новых узлов и создания новых одноранговых групп. В частности, узел первичной одноранговой группы запрашивает список узлов одноранговой группы, к которой относится другой узел. Затем этот узел получает информацию об узлах списка узлов и на ее основе создает новую одноранговую группу из узлов, входящих в список узлов и имеющих один и тот же ресурс.
Например, на фиг.2 приведено схематическое представление одноранговой группы, созданной в соответствии с первым вариантом осуществления. На этом чертеже показаны три одноранговые группы. Узел 2 совместно используется одноранговой группой 1 и одноранговой группой 2, а узел 3 - одноранговой группой 2 и одноранговой группой 3. Узлы одноранговых групп управляют собой сами в свободном режиме. Управление осуществляется пользовательскими терминалами без участия сервера одноранговой (Р2Р) сети.
Кроме того, количество узлов в одноранговых группах, показанных на фиг.2, может задаваться пользовательским терминалом в зависимости от условий в сети или в соответствии с имеющимися потребностями. Например, при хороших условиях в сети верхний предел количества узлов в одноранговой группе может быть установлен равным 100, и при достижении этого предела новые узлы в одноранговую группу добавляться не будут. Одноранговые группы могут идентифицироваться с помощью разных идентификаторов, например одноранговая группа А, одноранговая группа В или одноранговая группа С, что упрощает управление со стороны пользовательского терминала.
Тип сети узлов одноранговой группы, показанных на фиг.2, может задаваться на пользовательском терминале, то есть в соответствии с имеющимися потребностями. Например, на пользовательском терминале можно задать, что одноранговая группа должна содержать 1/3 узлов, непосредственно подключенных к сети общего пользования, 1/3 узлов, подключенных к сети общего пользования через маршрутизаторы, и 1/3 узлов, подключенных к сети общего пользования другими способами. Показанные на фиг.2 узлы одноранговых групп могут иметь одинаковые или разные ресурсы, и в новую одноранговую группу может входить ряд бездействующих узлов. Под бездействующим узлом понимается узел, не имеющий сетевых ресурсов и не выполняющий операций выгрузки и загрузки в некоторый период времени. Количество бездействующих узлов может быть также задано пользовательским терминалом.
Посредством описанного выше процесса создания одноранговой группы может быть обеспечена очень стабильная взаимосвязь между узлами новой одноранговой группы, и при необходимости эти узлы могут быстро осуществлять обслуживание. Управление узлами может осуществляться пользовательским терминалом, что позволяет уменьшить рабочую нагрузку и затраты на сервер при осуществлении управления, повысить эффективность узлов и, таким образом, повысить удовлетворенность пользователей качеством работы системы.
При уменьшении количества узлов в новой одноранговой группе узлы этой группы могут также взаимодействовать для получения информации об узлах в других одноранговых группах и добавления в одноранговую группу новых узлов на основе этой информации. Например, можно указать, что при уменьшении количества узлов в одноранговой группе или уменьшении количества узлов до заданного порога узлы одноранговой группы должны взаимодействовать друг с другом для получения информации об узлах в других одноранговых группах и добавления в эту одноранговую группу новых узлов с одним и тем же ресурсом, чтобы увеличить в ней количество узлов. Следовательно, при удалении из одноранговой группы некоторых узлов общее количество узлов в ней может быть увеличено и сохранено на определенном уровне, что повышает коэффициент использования узлов.
В соответствии со вторым вариантом осуществления предложен способ применения одноранговой группы в одноранговом (Р2Р) приложении. На фиг.3 показана схема, иллюстрирующая этапы способа, соответствующего второму варианту осуществления. В этом способе могут быть предусмотрены следующие этапы.
На этапе, указанном в блоке 31, пользовательский терминал запрашивает у сервера одноранговой (Р2Р) сети некоторый ресурс.
Если на этом этапе после создания одноранговой группы посредством способа, соответствующего первому варианту осуществления, пользовательскому терминалу требуется какой-либо ресурс, он запрашивает его у сервера одноранговой группы.
На этапе, указанном в блоке 32, сервер одноранговой группы возвращает один или несколько первичных узлов, имеющих данный ресурс.
На данном этапе сервер одноранговой (Р2Р) сети принимает от пользовательского терминала запрос на ресурс и возвращает первичные узлы, имеющие запрошенный ресурс. Количество возвращаемых первичных узлов может быть определено сервером одноранговой (Р2Р) сети в зависимости от условий в сети или состояния занятия ресурсов. Например, если запрошенный ресурс имеется на десяти узлах, сервер одноранговой (Р2Р) сети может вернуть пользовательскому терминалу в качестве первичных узлов десять узлов.
На этапе, указанном в блоке 33, первичный узел выбирает из одноранговой группы, к которой он относится, другой узел, имеющий данный ресурс, и предоставляет этот узел пользовательскому терминалу.
На этом этапе первичный узел может выбрать из одноранговой группы, к которой он относится, другой узел с данным ресурсом для пользовательского терминала, и каждый первичный узел может выбрать узел из своей одноранговой группы. Этот процесс выбора может выполняться пользовательским терминалом и не должен выполняться сервером.
На этапе, указанном в блоке 34, пользовательский терминал получает ресурс от первичного узла и другого узла.
На данном этапе пользовательский терминал получает ресурс от первичных узлов и других принятых узлов. Поскольку другие узлы выбираются первичными узлами из соответствующих одноранговых групп, а не сервером, нагрузка управления на сервере и затраты на управление существенно уменьшаются и коэффициент использования узлов повышается, в результате чего повышается удовлетворенность пользователей качеством работы такой сети.
Пользовательский терминал может предоставлять приоритет первичным узлам как источникам ресурса, чтобы гарантировать скорость загрузки.
Например, пользовательский терминал Узел_1 запрашивает ресурс у сервера одноранговой (Р2Р) сети при предположении, что этот узел является новым узлом, не относящимся ни к какой одноранговой группе. Одноранговая группа возвращает Узел_А1 и Узел_А2, имеющие ресурс А. Предполагается, что есть только два узла с данным ресурсом, хотя на практике может быть несколько таких узлов.
Узел_1 запрашивает данные у Узла_А1 и Узла_А2. Узел_1 обнаруживает, что скорости передачи обоих узлов неудовлетворительны, и информирует об этом Узел_А1 и Узел_А2. Узел_А1 и Узел_А2 выбирают подходящие узлы в соответствующих одноранговых группах. Например, узел_А1 выбирает Узел_А3 и Узел_А4, имеющие данный ресурс, а Узел_А2 выбирает Узел_А5 и Узел_А6, имеющие данный ресурс. Таким образом, Узел_1 получает новые узлы - Узел_А3, Узел_А4, Узел_А5 и Узел_А6. Этот процесс может выполняться несколько раз. Узел_1 может получить дополнительные узлы, в результате чего скорость загрузки возрастает. Кроме того, описанный выше процесс выбора не выполняется сервером. Поэтому нагрузка управления на сервер и затраты на него уменьшаются и удовлетворенность пользователей качеством работы сети повышается.
В третьем варианте осуществления предложено устройство создания одноранговой группы в одноранговом (Р2Р) приложении. На фиг.4 схематически показана структура устройства, соответствующего третьему варианту осуществления. Устройство может содержать блок получения первичных узлов, блок создания первичной одноранговой группы и блок создания новой одноранговой группы.
Блок получения первичных узлов размещается в пользовательском терминале и служит для получения одного или нескольких первичных узлов от сервера одноранговой (Р2Р) сети. Количество первичных узлов может быть равно пяти.
Блок создания первичной одноранговой группы размещается в пользовательском терминале и предназначен для создания первичной одноранговой группы из первичных узлов, полученных блоком получения первичных узлов. Процесс создания идентичен процессу, описанному при рассмотрении способа, соответствующему первому варианту осуществления.
Блок создания новой одноранговой группы размещается в пользовательском терминале и предназначен для получения информации об узлах других одноранговых групп посредством взаимодействия с узлами первичной одноранговой группы и создания новой одноранговой группы на основе полученной информации об узлах.
В состав устройства может также входить блок настройки, размещаемый в пользовательском терминале и предназначенный для задания количества узлов новой одноранговой группы, типа сети узлов и количества бездействующих узлов в новой одноранговой группе. Например, можно задать, что одноранговая группа должна содержать 1/3 узлов, непосредственно подключенных к сети общего пользования, 1/3 узлов, подключенных к сети общего пользования через маршрутизаторы, и 1/3 узлов, подключенных к сети общего пользования другими способами. Под бездействующим узлом понимается узел, не имеющий сетевых ресурсов и не выполняющий операций выгрузки и загрузки в заданный период времени. Количество бездействующих узлов может быть также задано пользовательским терминалом.
В состав устройства может также входить блок добавления узлов, настраиваемый на пользовательском терминале и предназначенный для получения информации об узлах других одноранговых групп, когда количество узлов в новой одноранговой группе уменьшается, и добавления в новую одноранговую группу новых узлов на основе полученной информации об узлах. Например, можно указать, что при уменьшении количества узлов в одноранговой группе или уменьшении количества узлов до заданного порога узлы одноранговой группы должны взаимодействовать друг с другом для получения информации об узлах в других одноранговых группах и добавления в эту одноранговую группу новых узлов с одним и тем же ресурсом, чтобы увеличить в ней количество узлов. Следовательно, при удалении из одноранговой группы некоторых узлов общее количество узлов в ней может быть увеличено и сохранено на определенном уровне, что повышает коэффициент использования узлов.
Следует отметить, что устройство разделено на блоки по функциям, но конструкция блоков может быть реализована другим средствам при условии реализации функций. Названия блоков служат только для их идентификации и не должны использоваться для ограничения области настоящего изобретения.
Специалисту понятно, что некоторые или все этапы способов, предложенных в соответствии с изобретением, могут быть реализованы аппаратными средствами, работающими под управлением программного обеспечения. Программное обеспечение может храниться в машиночитаемой среде хранения.
Посредством описанного выше процесса создания одноранговой группы может быть обеспечена очень стабильная взаимосвязь между узлами новой одноранговой группы, и при необходимости эти узлы могут быстро осуществлять обслуживание. Управление узлами может осуществляться пользовательским терминалом, что позволяет уменьшить на сервере нагрузку управления и затраты на сервер, повысить эффективность узлов и, таким образом, повысить оценку качества работы такой сети ее пользователями.
Выше описаны только предпочтительные варианты осуществления настоящего изобретения. Однако объем его охраны не ограничен представленным выше описанием. Объем изобретения охватывает любые изменения и замены в рамках технической области настоящего изобретения, которые могут быть легко выполнены специалистами в данной области. Следовательно, объем охраны настоящего изобретения соответствует формуле изобретения.