СПОСОБЫ И УСТРОЙСТВО ДЛЯ ОПТИМАЛЬНОГО УЧАСТИЯ УСТРОЙСТВ ОДНОРАНГОВОЙ ОВЕРЛЕЙНОЙ СЕТИ
METHODS AND DEVICE FOR OPTIMAL PARTICIPATION OF DEVICES OF PEER-TO-PEER OVERLAY NETWORK

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящая заявка относится в целом к работе оверлейных сетей и более конкретно к способам и устройству для оптимального участия устройств в одноранговой оверлейной сети.
УРОВЕНЬ ТЕХНИКИ
Сеть, в которой узлы-члены получают услуги в отсутствии основанной на сервере инфраструктуры, называется «одноранговой» оверлейной сетью. В одноранговой оверлейной сети равноправные участники взаимодействуют друг с другом как для предоставления услуг, так и для поддержания сети. Одноранговые оверлейные сети могут быть построены на основе базовой сети, например, сети, использующей протокол Интернет (IP).
Как правило, узлы в одноранговой оверлейной сети принимают полное участие в маршрутизации и обслуживании. Хотя это пригодно для среды гомогенных устройств, сеть гетерогенных устройств требует использования различных уровней участия устройства. Например, могут быть небольшие и относительно маломощные устройства, которым необходимо принимать участие в оверлейной сети, но которые не могут обеспечить в полном объеме услуги маршрутизации и обслуживания. Также существуют ситуации, в которых может быть эффективным, экономически целесообразным и/или иным образом выгодным, чтобы устройства с соответствующими ресурсами работали в оверлейной сети, не принимая участия в маршрутизации и обслуживании.
Следовательно, было бы желательно иметь эффективный механизм, посредством которого можно было бы динамически конфигурировать узлы одноранговой оверлейной сети для наиболее эффективного участия в одноранговой сети.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
В одном или более аспектах предоставлена система конфигурирования узла, содержащая способы и устройство, которая функционирует, чтобы динамически конфигурировать узлы в одноранговой оверлейной сети для управления участием в сети.
В одном аспекте предоставлен способ, который выполняется узлом для динамического конфигурирования узла в одноранговой оверлейной сети. Способ содержит этапы, на которых работают в оверлейной сети с использованием первого режима участия, получают, по меньшей мере, один конфигурационный параметр, выбирают второй режим участия для работы в оверлейной сети на основании локальной политики и, по меньшей мере, одного конфигурационного параметра и конфигурируют узел для участия в оверлейной сети на основании второго режима участия.
В одном аспекте предоставлено устройство для динамического конфигурирования узла в одноранговой оверлейной сети. Это устройство содержит средство для работы в оверлейной сети с использованием первого режима участия, средство для получения, по меньшей мере, одного конфигурационного параметра, средство для выбора второго режима участия для работы в оверлейной сети на основании локальной политики и, по меньшей мере, одного конфигурационного параметра и средство для конфигурирования узла для участия в оверлейной сети на основании второго режима участия.
В одном аспекте предоставлено устройство для динамического конфигурирования узла в одноранговой оверлейной сети. Это устройство содержит устройство памяти и процессор, соединенный с устройством памяти, и выполненный с возможностью работы в оверлейной сети с использованием первого режима участия, получения, по меньшей мере, одного конфигурационного параметра, выбора второго режима участия для работы в оверлейной сети на основании локальной политики и, по меньшей мере, одного конфигурационного параметра, и конфигурирования узла для участия в оверлейной сети на основании второго режима участия.
В одном аспекте предоставлен компьютерный программный продукт для динамического конфигурирования узла в одноранговой оверлейной сети. Этот компьютерный программный продукт содержит машиночитаемый носитель данных, хранящий коды, исполняемые для работы в оверлейной сети с использованием первого режима участия, получения, по меньшей мере, одного конфигурационного параметра, выбора второго режима участия для работы в оверлейной сети на основании локальной политики и, по меньшей мере, одного конфигурационного параметра и конфигурирования узла для участия в оверлейной сети на основании второго режима участия.
Другие аспекты станут очевидными после ознакомления с изложенными далее кратким описанием чертежей, описанием и формулой изобретения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Последующие аспекты, описанные в данном документе, станут более очевидными из последующего описания, представляемого совместно с сопроводительными чертежами, на которых:
Фиг.1 изображает сеть, которая иллюстрирует аспекты системы конфигурирования узла;
Фиг.2 иллюстрирует примерный стек протоколов для осуществления различных режимов участия в сети в соответствии с системой конфигурирования узла.
Фиг.3 иллюстрирует примерные модули уровня оверлейной сети для использования в аспектах системы конфигурирования узла;
Фиг.4 иллюстрирует примерный конфигурационный процессор для использования в аспектах системы конфигурирования узла;
Фиг.5 иллюстрирует примерный способ работы узла для обеспечения аспектов системы конфигурирования узла; и
Фиг.6 иллюстрирует примерный конфигурационный процессор для использования в аспектах системы конфигурирования узла.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
Последующее описание описывает аспекты системы конфигурирования узла, которая функционирует для того, чтобы обеспечить возможность динамически конфигурировать узлы в оверлейной сети для управления сетевым участием в одноранговой оверлейной сети.
Фиг.1 изображает сеть 100, которая иллюстрирует аспекты системы конфигурирования узла. Сеть 100 содержит одноранговую оверлейную сеть 102, которая использует любой тип базовой сети, например, сети на основе протокола Интернет для того, чтобы обеспечить возможность узлам в оверлейной сети 102 обмениваться данными друг с другом. Базовая сеть может содержать любое количество типов сетей, таких как WAN, LAN, беспроводные сети, или любой другой тип сети.
В различных вариантах осуществления система конфигурирования узла функционирует, чтобы обеспечить возможность узлам оверлейной сети 102 принимать участие в оверлейной сети в соответствии с одним из множества режимов участия. В целях описания этой системы ниже описываются три режима участия; однако данная система не ограничивается только тремя режимами и подходит для работы практически с любым количеством участвующих узлов.
В первом режиме определяется полное участие в качестве «маршрутизирующего равноправного участника» (RP). Согласно фиг.1 узлы, принимающие участие в оверлейной сети 102 в качестве RP, показаны в основном как 104. Узлы, принимающие участие в качестве RP, представляют собой полноценных участников оверлейной сети 102 и принимают участие в операциях маршрутизации и обслуживания оверлейной сети. Они выполняют функции, такие как функциональные возможности, связанные с обслуживанием оверлейной сети, маршрутизацией сообщений и сохранением в оверлейной сети. Некоторые RP могут иметь более высокое положение по отношению к другим RP с точки зрения вычислительных возможностей и скорости обработки сообщений; однако, по существу, все RP ответственны за оверлейную маршрутизацию, сохранение и обслуживание оверлейной сети и рассматриваются как работающие в качестве полных участников.
Во втором режиме определяется частичное участие в качестве «немаршрутизирующего равноправного участника» (NRP). Согласно фиг.1 узел, принимающий участие в оверлейной сети 102 в качестве NRP, показан как 106. Узлы, принимающие участие в качестве NRP, предоставляют и принимают услуги в/из оверлейной сети, но не принимают участие в аспектах маршрутизации и обслуживания оверлейной сети. Эти узлы выглядят аналогично RP с точки зрения услуг, так как они содержат идентификаторы оверлейного узла, и их представляют другим узлам оверлейной сети. Однако NRP поддерживают только одно соединение с другим равноправным участником в оверлейной сети. Все из оверлейных сетевых запросов NRP маршрутизируются посредством этого равноправного участника, который также называется оверлейной точкой присоединения (OAP) 108. NRP принимают участие в оверлейной сети, но не принимают активного участия в маршрутизации и обслуживании оверлейной сети. Таким образом, они рассматриваются как работающие в качестве частичных участников. Они не сохраняют оверлейные данные, но могут сохранять и извлекать данные в оверлейной сети посредством своих оверлейных точек присоединения.
Немаршрутизирующие равноправные участники, работающие с аккумуляторной батареей, получают выгоду от перехода из состояния готовности в состояние ожидания, потому что они не поддерживают таблицы маршрутизации, а также им не нужно отвечать посредством данных на оверлейные запросы сохранения. Тем не менее, потребление мощности необходимо для обслуживания одного соединения с оверлейной точкой присоединения.
В третьем режиме определяется служебное участие в качестве неравноправных участников (NP). Согласно фиг.1 узлы, принимающие участие в оверлейной сети 102 в качестве NP, показаны в основном как 110. NP содержит устройства или службы, которые не могут принимать участие или которым не требуется полное или частичное участие в оверлейной сети. Например, ограниченным устройствам может потребоваться использовать услуги оверлейной сети или в некоторых случаях может даже потребоваться предоставить услуги объектам в оверлейной сети, но при этом они не могут поддерживать функции полного или частичного участия RP или NRP. Эти устройства обеспечивают служебное участие в оверлейной сети в качестве NP посредством обмена данными с оверлейным посредническим сервером (OPS), работающим на RP или NRP. Например, NP 110 принимает участие в оверлейной сети 102 посредством OPS, работающего на NRP 106. Также следует отметить то, что NP не являются в обязательном порядке ограниченными устройствами. Некоторые NP-устройства могут иметь существенную память и/или ресурсы обработки, но по-прежнему работают в качестве NP в оверлейной сети. Например, NP 112 может предоставлять значительные ресурсы хранения и обработки, которые доступны в качестве услуг для узлов в оверлейной сети 102.
В различных аспектах устройства, такие как персональные компьютеры, сетевые точки доступа, мобильные телефоны с высоким техническим уровнем, которые не имеют значительных ограничений с точки зрения своих ресурсов, представляют собой примеры RP. Устройства, такие как мобильные телефоны с низким техническим уровнем, беспроводные сенсорные устройства с питанием от аккумуляторной батареи, которые имеют значительные ограничения с точки зрения своих ресурсов, представляют собой примеры NRP. Устройства, которые не поддерживают оверлейный протокол, такие как часы или гарнитура, представляют собой примеры NP.
NP-объект может использовать любое средство подключения к его ассоциированному OPS. RP или NRP осуществляют посредничество для всех оверлейных запросов, связанных с NP. Таким образом, NP всегда присоединяются к оверлейной сети посредством посреднического устройства. Узлы, принимающие участие в качестве NP, не имеют идентичностей в оверлейной сети, и, по определению, не являются членами оверлейной сети. Любые услуги, обеспечиваемые NP, формируются в виде услуг, обеспечиваемых соответствующим посредническим устройством в оверлейной сети. В некоторых примерах NP, использующие неспецифицированный протокол обмена данными с RP или NRP, могут быть использованы для дополнительного снижения потребления аккумуляторной батареи, необходимого для обеспечения интерфейса с оверлейной сетью.
Посреднический узел представляется для других узлов в оверлейной сети как объект, который формирует или удовлетворяет оверлейные запросы к NP, в отношении которого организовано посредничество. В некоторых примерах популярные услуги, выполняемые NP, могут иметь более одного посреднического устройства для лучшей доступности. Таким образом, посреднический узел работает в качестве транзитного устройства и преобразователя для всего трафика между оверлейной сетью и NP-узлом, которому он обеспечивает посредничество.
В различных аспектах система конфигурирования узла работает для обеспечения возможности динамически конфигурировать узел для участия в оверлейной сети в любом из режимов участия, описанных выше. Например, узел 106 содержит конфигурационный процессор (CP) 114, который функционирует для обеспечения возможности конфигурировать узел 106 и динамически управлять его режимами участия. Например, CP 114 позволяет узлу 106 динамически выбирать между полным участием (то есть RP), частичным участием (то есть NRP) и служебным участием (то есть, NP). Наличие возможности быть динамически сконфигурированным для участия в любом возможном режиме участия позволяет узлу работать более эффективно, гибко и сохранять мощность и/или ресурсы.
Например, CP 114 функционирует, чтобы обеспечить возможность сконфигурировать узел 106 для частичного участия в качестве NRP и предложить посреднические услуги для NP 110. В другом аспекте узел 106 может быть сконфигурирован для служебного участия в качестве NP, в отношении которого организовано посредничество с помощью RP 108. В еще одном аспекте узел 106 может быть сконфигурирован для полного участия в оверлейной сети 102 в качестве RP. Более подробное описание работы CP 114 представлено ниже.
Фиг.2 иллюстрирует примерные стеки 200 протоколов для осуществления различных режимов участия узла в соответствии с системой конфигурирования узла. Стеки 200 протоколов содержат стек 202 протоколов NRP, стек 204 протоколов OAP, стек 206 протоколов RP и стек 208 протоколов ресурсов. Например, стек 202 протоколов NRP предоставлен CP 114.
Стек 202 протоколов NRP аналогичен стеку 204 протоколов OAP с точки зрения функциональных возможностей. Оба они осуществляют уровень адаптации услуги (SAL) 210, уровень оверлейной сети (ONL) 212 и уровень возможности соединения (CL) 214, уровень 216 стека IP и уровень 218 линии связи. В пределах ONL 212, функциональные возможности, соответствующие маршрутизации и пересылке, отсутствуют в стеке 202 протоколов NRP. NRP имеет один маршрут к оверлейной точке присоединения (OAP). В пределах CL 214 стека 202 протоколов NRP, уменьшается объем служебных издержек на обслуживание соседнего окружения для поддержания управления возможностью соединения только с OAP. Также ожидается, что NRP будет посылать пакет запроса/отклика (ping) (для поддержания соединения в активном состоянии) в OAP.
CP 114 функционирует для конфигурирования уровня 210 адаптации услуги с целью выполнения определения режима и указывает режим участия узла в обращении к уровню 212 оверлейной сети для присоединения к конкретной оверлейной сети. Процесс присоединения NRP аналогичен процессу присоединения RP. OAP является допускающим равноправным участником (узлом, который обладает идентичностью присоединяющегося объекта на момент присоединения). В некотором варианте OAP может быть любым из RP в оверлейной сети, необязательно допускающим равноправным участником. В том случае, когда OAP не является допускающим равноправным участником, может потребоваться состояние пересылки в допускающем равноправном участнике для маршрутизации сообщения в NRP. В альтернативном варианте может быть использована маршрутизация источника для доставки сообщений в NRP. NRP может иметь множество OAP для балансировки нагрузки, возможности временного перехвата управления при отказе и т.д. В этом случае, может быть использована маршрутизация источника для доставки сообщений в NRP.
Ожидается, что RP будут служить в качестве OAP для того, чтобы обеспечить возможность NRP присоединяться к оверлейной сети. OAP различают среди прочих присоединяющихся равноправных участников и присоединяющихся NRP. Во время процесса присоединения, в случае с NRP, OAP заканчивают процесс присоединения после установления соседских взаимоотношений с NRP. Другим объектам не посылаются сообщения (в частности, соседями OAP) в пределах этой оверлейной сети касательно присутствия NRP. OAP сохраняет все идентификаторы ресурсов, которыми обладает NRP в соответствии с вариантами осуществления оверлейной сети. С точки зрения остальных участников оверлейной сети, пространством идентичности обладает OAP и поэтому все сообщения в пространство идентичности приходят в OAP. Примеры таких сообщений включают в себя запросы сохранения данных в оверлейной сети (запросы типа PUT), запросы извлечения данных из оверлейной сети (запросы типа GET) и запросы тестирования возможности соединения с узлом в оверлейной сети (запросы типа PING). OAP удовлетворяет все такие сообщения, связанные с пространством идентичности, назначенным NRP.
Фиг.3 изображает примерные модули уровня 300 оверлейной сети для использования в аспектах системы конфигурирования узла. Например, ONL 300 подходит для использования в качестве ONL 212 для NRP 202 и OAP 204, показанных на фиг.2. OAP 204 обслуживает таблицу 302 оверлейных клиентов, в которой она сохраняет трассировку всех идентичностей, для которых она служит в качестве NRP, и которая включает в себя идентификатор 346 узла оверлейного клиентского. В соответствии с записью в таблице 302 оверлейных клиентов, OAP 204 будет обслуживать соединение с NRP из ее таблицы 304 соединений. Таблица 304 соединений содержит оверлейный идентификатор 334, идентификатор 336 узла, идентификатор 338 соединения и идентификатор 340 потока.
NRP указывает OAP, что он присоединяется к оверлейной сети в качестве NRP, и в это время допускающий равноправный участник (AP) записывает идентификатор узла этого NRP в таблицу 302 оверлейных клиентов. Когда корень идентификатора узла не маршрутизирующего равноправного участника изменяется (вследствие того, что к AP присоединяется новый узел в качестве последующего элемента или предшествующего элемента), то OAP также изменяется. Для содействия переводу NRP в ассоциацию с OAP, текущая OAP посылает сообщение обновления, соответствующее каждому NRP, OAP которого изменилась, вследствие того, что новая OAP указывает тип узла.
В том случае, когда уровень 300 является частью NRP 202, таблица 302 оверлейных клиентов отсутствует. В этом случае таблица 306 маршрутизации будет иметь единственную запись для всех маршрутов, указывающую на OAP, как на следующий интервал связи. Таблица 306 маршрутизации содержит префикс 342 диапазона идентификатора ресурсов и идентификатор 344 узла следующего интервала связи. Таблица 304 соединений также будет указывать соединение с OAP.
Фиг.3 также изображает следующие аспекты системы. Модуль 308 оверлейного управления содержит развитые логические возможности, необходимые для формирования и обслуживания оверлейной сети. Модуль 310 преобразования оверлейного API преобразует запросы от приложения в запросы к конкретным вариантам осуществления оверлейной сети. Примеры таких конкретных вариантов осуществления оверлейной сети включают в себя одноранговые оверлейные сети, такие как Gnutella 312 и Chord 314. Вместо оверлейной сети запросы от приложений также могут быть переданы с помощью среды 316 локального широковещания. Таблица 318 оверлейных метрик содержит производительность, маршрутизацию и другие метрики, относящиеся к оверлейной сети. Наконец, таблица 320 хранения является примером того, как данные могут быть сохранены в оверлейных узлах. Элемент данных связывается с идентификатором 322 ресурсов, который выбирается из пространства идентификаторов оверлейной сети; идентификатором 324 вида, который указывает категорию данных; моделью 326 данных, которая задает тип данных; данными 328 как таковыми; параметром времени существования 330, который указывает продолжительность достоверности данных; и информацией 332 управления доступом, которая определяет разрешения, которые имеют различные оверлейные узлы и пользователи для того, чтобы осуществлять доступ и изменять данные.
Переход между режимами участия
В различных вариантах осуществления CP 114 обеспечивает возможность каждому узлу определять самостоятельно его режим участия в оверлейной сети в качестве RP, NRP или NP. Это определение основано на локальной политике и одном или более конфигурационных параметрах, которые включают в себя, но не ограничиваются этим, характеристики линии связи, определение энергетического баланса в узле, нагрузку в узле, ожидаемые служебные издержки связи, мощность, обработку, ресурсы хранения, пользовательские входные данные, сетевую конфигурацию и/или другие локальные сетевые политики. Режим участия также может быть основан на типе самого устройства.
Например, узел, работающий в качестве NRP, может быть динамически сконфигурирован в RP. Для того чтобы NRP получил полное участие в качестве полного RP, OAP и NRP продолжают процесс присоединения. Сообщения, обычно называемые UPDATE, посылаются новым соседям NRP, информируя их о присутствии NRP. NRP также принимает во владение все данные, ассоциированные с пространством идентичности, которым он теперь обладает. Это выполняется передачей таких данных от прежнего владельца этих данных к NRP. В другом аспекте узел может динамически изменить свое участие посредством выхода из оверлейной сети, находясь в текущем режиме участия, и повторного присоединения к оверлейной сети в новом режиме участия, который был определен CP 114 на основании одного или более конфигурационных параметров, определенных выше.
Фиг.4 изображает примерный конфигурационный процессор 400 для использования в узле в аспектах системы конфигурирования узла. Например, конфигурационный процессор 400 подходит для использования в качестве конфигурационного процессора 114, показанного на фиг.1. Конфигурационный процессор 400 содержит процессор 402 и устройство памяти 404, присоединенное к шине 406 данных. Следует отметить, что конфигурационный процессор 400 является только одним вариантом осуществления, и возможны другие варианты осуществления в объеме данных аспектов.
Устройство памяти 404 представляет собой любое подходящее запоминающее устройство, выполненное с возможностью хранения информации, связанной с одним или более узлами одноранговой оверлейной сети. Например, устройство памяти 404 выполнено с возможностью хранения стека 408 протоколов, такого как стек 202, показанный на фиг.2. Устройство памяти 404 также выполнено с возможностью хранения локальной политики 414, которая обеспечивает политики работы в узле. Устройство памяти 404 также выполнено с возможностью хранения модуля 410, содержащего программы, инструкции, коды и/или любой другой тип исполняемой информации, которые исполняются процессором 402 для обеспечения функций системы конфигурирования узла, описанной в данном документе.
В одном или более аспектах процессор 402 представляет собой, по меньшей мере, одно из CPU, процессора, вентильной матрицы, аппаратной логики, ASIC, элементов памяти и/или аппаратного обеспечения, исполняющего программное обеспечение. В одном аспекте процессор 402 функционирует для исполнения инструкций конфигурационного модуля 410, чтобы получить конфигурационные параметры 412 и выполнить различные операции относительно локальной политики 414 и стека 408 протоколов для обеспечения возможности узлу определить его режим участия в оверлейной сети. В одном аспекте конфигурационные параметры получают посредством процессора 402 путем оценки текущих ресурсов/возможностей узла и приема параметров, связанных с оверлейной сетью. Например, следующие конфигурационные параметры получают посредством процессора 402.
1. Параметры ресурсов мощности устройства
2. Параметры ресурсов обработки устройства
3. Параметры ресурсов хранения устройства
4. Параметры сетевой конфигурации
5. Пользовательские входные данные
Следует отметить, что вышеприведенный список является примерным и что другие конфигурационные параметры могут быть получены процессором 402 для определения режима участия узла. Более подробное описание работы конфигурационного процессора 400 представлено ниже.
В одном аспекте система конфигурирования узла содержит компьютерный программный продукт, содержащий одну или более программных инструкций («инструкции») или наборы «кодов», сохраненных или воплощенных на машиночитаемом носителе данных. Когда эти коды исполняются, по меньшей мере, одним процессором, например, процессором 402, то их исполнение предписывает конфигурационному процессору 400 предоставить функции системы конфигурирования узла, описанной в данном документе. Например, машиночитаемый носитель данных представляет собой гибкий диск, CDROM, карту памяти, устройство памяти типа FLASH, RAM, ROM, оптический диск или любой другой тип устройства памяти или машиночитаемого носителя данных, который обеспечивает интерфейс для конфигурационного процессора 400. В другом аспекте наборы кодов могут быть загружены в конфигурационный процессор 400 из внешнего устройства или ресурса сети связи и сохранены в памяти 404. Наборы кодов при их исполнении обеспечивают аспекты системы конфигурирования узла, описанной в данном документе.
Фиг.5 изображает примерный способ 500 работы узла для обеспечения аспектов системы конфигурирования узла. Для ясности способ 500 описывается ниже со ссылкой на конфигурационный процессор 400, показанный на фиг.400. Например, конфигурационный процессор 400, может работать в узле в одноранговой оверлейной сети. В одном аспекте процессор 402 исполняет один или более наборов кодов или инструкций, обеспеченных конфигурационным модулем 410, чтобы управлять конфигурационным процессором 400 для выполнения функций, описанных ниже.
На этапе 502 устанавливается режим участия для узла в оверлейной сети. В одном аспекте процессор 402 работает, чтобы управлять стеком 408 протоколов для установки режима участия. Например, узел может быть сконфигурирован для полного участия, частичного участия или служебного участия.
На этапе 504 получают и интерпретируют конфигурационные параметры в соответствии с локальной политикой. В одном аспекте процессор 402 получает конфигурационные параметры от одного или более объектов, работающих в узле. Конфигурационные параметры содержат без ограничения указанным мощность устройства, параметры обработки и хранения, параметры сетевой конфигурации и пользовательские входные данные. В одном аспекте конфигурационные параметры интерпретируются процессором 402 с помощью локальной политики 414.
На этапе 506 выполняется определение, требует ли узел полного участия в оверлейной сети. В одном аспекте процессор 402 выполняет это определение, исходя из конфигурационных параметров. Например, если конфигурационные параметры указывают на то, что мощность и ресурсы являются пригодными для полного участия, то способ переходит к этапу 514. Если полное участие невозможно, то способ переходит к этапу 508.
На этапе 508 выполняется определение, требует ли узел частичного участия в оверлейной сети. В одном аспекте процессор 402 выполняет это определение, исходя из конфигурационных параметров. Например, если конфигурационные параметры указывают на то, что мощность и ресурсы являются пригодными для частичного участия, то способ переходит к этапу 518. Если частичное участие невозможно, то способ переходит к этапу 510.
На этапе 510 выполняется определение, требует ли узел служебного участия в оверлейной сети. В одном аспекте процессор 402 выполняет это определение, исходя из конфигурационных параметров. Если узел уже сконфигурирован для служебного участия, то способ переходит к этапу 504. Если узел не сконфигурирован для служебного участия, то способ переходит к этапу 512.
На этапе 514 выполняется определение, сконфигурирован ли уже узел для полного участия в оверлейной сети. В одном аспекте процессор 402 выполняет это определение. Если узел уже сконфигурирован для полного участия, то способ переходит к этапу 504. Если узел не сконфигурирован для полного участия, то способ переходит к этапу 516.
На этапе 516 узел конфигурируется для полного участия. Например, для того, чтобы иметь полное участие в оверлейной сети, узел конфигурируется в качестве маршрутизирующего равноправного участника. В одном аспекте процессор 402 выполняет эту операцию. Например, в одном варианте осуществления узел выходит из оверлейной сети, находясь в своем текущем режиме участия, и повторно присоединяется к сети в режиме полного участия в качестве маршрутизирующего равноправного участника. Затем способ переходит к этапу 504.
На этапе 518 выполняется определение, сконфигурирован ли уже узел для частичного участия в оверлейной сети. В одном аспекте процессор 402 выполняет это определение. Если узел уже сконфигурирован для частичного участия, то способ переходит к этапу 504. Если узел не сконфигурирован для частичного участия, то способ переходит к этапу 520.
На этапе 520 узел конфигурируется для частичного участия. Например, узел конфигурируется в качестве немаршрутизирующего равноправного участника в оверлейной сети. В одном аспекте процессор 402 выполняет эту операцию. Например, в одном варианте осуществления узел выходит из оверлейной сети, находясь в своем текущем режиме участия, и повторно присоединяется к оверлейной сети в режиме частичного участия в качестве немаршрутизирующего равноправного участника. Затем способ переходит к этапу 504.
На этапе 512 узел конфигурируется для служебного участия. Например, узел конфигурируется в качестве неравноправного участника в оверлейной сети. В одном аспекте процессор 402 выполняет эту операцию. Например, в одном варианте осуществления узел выходит из оверлейной сети, находясь в своем текущем режиме участия, и повторно присоединяется к оверлейной сети в режиме служебного участия в качестве неравноправного участника. Затем способ переходит к этапу 504.
Поэтому способ 500 осуществляется в узле для обеспечения аспектов системы конфигурирования узла. Следует отметить, что способ 500 является только одним вариантом осуществления и что операции способа 500 могут быть переставлены местами или иным образом изменены в пределах объема различных аспектов. Таким образом, возможны другие варианты осуществления в объеме различных аспектов, описанных в данном документе.
Фиг.6 изображает примерный конфигурационный процессор 600 для использования для использования в аспектах системы конфигурирования узла. Например, конфигурационный процессор 600 подходит для использования в качестве конфигурационного процессора 400, показанного на фиг.4. В одном аспекте конфигурационный процессор 600 выполнен посредством, по меньшей мере, одной интегральной схемы, содержащей один или более модулей, выполненных с возможностью обеспечения аспектов системы конфигурирования узла, описанной в данном документе. Например, в одном аспекте каждый модуль содержит аппаратное обеспечение и/или аппаратное обеспечение, исполняющее программное обеспечение.
Конфигурационный процессор 600 содержит первый модуль, содержащий средство (602) для работы в оверлейной сети с использованием первого режима участия, которое в одном аспекте включает в себя процессор 402. Конфигурационный процессор 600 также содержит второй модуль, содержащий средство (604) для получения, по меньшей мере, одного конфигурационного параметра, которое в одном аспекте включает в себя процессор 402. Конфигурационный процессор 600 также содержит третий модуль, содержащий средство (606) для выбора второго режима участия для работы в оверлейной сети на основе локальной политики и, по меньшей мере, одного конфигурационного параметра, которое в одном аспекте включает в себя процессор 402. Конфигурационный процессор 600 также содержит четвертый модуль, содержащий средство (608) для конфигурирования узла для участия в оверлейной сети на основании второго режима участия, которое в одном аспекте включает в себя процессор 402.
Различные иллюстративные логические схемы, логические блоки, модули и схемы, описанные в связи с вариантами осуществления, раскрытыми в данном документе, могут быть осуществлены или выполнены с помощью процессора общего назначения, цифрового сигнального процессора (DSP), специализированной интегральной схемы (ASIC), программируемой вентильной матрицы (FPGA) или другого программируемого логического устройства, дискретной вентильной или транзисторной логики, дискретных аппаратных компонентов или любой комбинации вышеперечисленного, предназначенной для выполнения функций, описанных в данном документе. Процессор общего назначения может представлять собой микропроцессор, но в альтернативном варианте упомянутый процессор может представлять собой любой традиционный процессор, контроллер, микроконтроллер или конечный автомат. Процессор также может быть осуществлен в виде комбинации вычислительных устройств, например, комбинации DSP и микропроцессора, множества микропроцессоров, одного или более микропроцессоров в сочетании с ядром на основе DSP или любой другой такой конфигурации.
В одном или более примерных вариантах осуществления, функции, описанные в данном документе, могут быть осуществлены в аппаратном обеспечении, программном обеспечении, встроенном программном обеспечении или любой комбинации вышеперечисленного. В случае осуществления в программном обеспечении упомянутые функции могут быть сохранены или переданы посредством одной или более инструкций или кодов на считываемом компьютером носителе данных. Машиночитаемый носитель данных включает в себя как компьютерный запоминающий носитель данных, так и среду передачи данных, включая любой носитель данных, который способствует передаче компьютерной программы из одного места в другое. Запоминающий носитель данных может представлять собой любой доступный носитель данных, к которому может быть осуществлен доступ посредством компьютера. В качестве примера, но не ограничения, такой машиночитаемый носитель данных может содержать RAM, ROM, EEPROM, CD-ROM или любое другое хранилище на оптических дисках, хранилище на магнитных дисках, или другие магнитные запоминающие устройства, или любой другой носитель данных, которые могут быть использованы для передачи или хранения требуемого программного кода в форме инструкций или структур данных и к которым может быть осуществлен доступ посредством компьютера. Также, любое соединение может быть соответствующим образом определено как считываемый компьютером носитель данных. Например, если программное обеспечение передается с некоторого веб-сайта, сервера или другого удаленного источника с помощью коаксиального кабеля, волоконно-оптического кабеля, витой пары, цифровой абонентской линии связи (DSL) или беспроводных технологий, таких как передача данных в инфракрасном волновом диапазоне, радиоволновом диапазоне, микроволновом диапазоне, то упомянутые коаксиальный кабель, волоконно-оптический кабель, витая пара, цифровая абонентская линия связи (DSL) или беспроводные технологии, такие как передача данных в инфракрасном волновом диапазоне, радиоволновом диапазоне, микроволновом диапазоне, включаются в определение носителя данных. Термин диск («disk» и «disc»), используемый в настоящем документе, включает в себя компакт-диск (CD), лазерный диск, оптический диск, цифровой универсальный диск (DVD), гибкий диск и диск с технологией blue-ray, при этом магнитные диски («disc») обычно воспроизводят данные магнитным способом, а оптические диски («disk») воспроизводят данные оптическим способом с помощью лазера. Комбинации вышеперечисленного также должны быть включены в объем, охватываемый понятием «машиночитаемый носитель данных».
Этапы способа или алгоритма, описанного в связи с вариантами осуществления, раскрытыми в данном документе, могут быть осуществлены непосредственно в аппаратном обеспечении, в программном модуле, исполняемом процессором, или комбинации этих двух вариантов. Программный модуль может располагаться в устройстве памяти типа RAM, устройстве типа флэш-памяти, устройстве памяти типа ROM, устройстве памяти типа EPROM, устройстве памяти типа EEPROM, регистрах, жестком диске, съемном диске, CD-ROM или любой другой форме запоминающего носителя данных, известного в уровне техники. Примерный запоминающий носитель данных присоединяется к процессору таким образом, что процессор может считывать информацию с и записывать информацию на этот запоминающий носитель данных. В альтернативном варианте запоминающий носитель данных может быть интегрирован в процессор. Процессор и запоминающий носитель данных могут располагаться в ASIC. ASIC может располагаться в устройстве беспроводной связи.
Соответственно, несмотря на то, что в данном документе были проиллюстрированы и описаны аспекты посреднической системы, следует понимать, что различные изменения могут быть внесены в эти аспекты без отклонения от их сущности или существенных характеристик. Следовательно, раскрытия и описания, представленные в данном документе, предназначены для иллюстрации, а не ограничения, объема изобретения, который изложен в нижеследующей формуле изобретения.