СПОСОБЫ И УСТРОЙСТВА ДЛЯ ОБНАРУЖЕНИЯ ОДНОРАНГОВЫХ ОВЕРЛЕЙНЫХ СЕТЕЙ
METHODS AND APPARATUS FOR DETECTING PEER-TO-PEER OVERLAY NETWORKS

Испрашивание приоритета согласно § 119 35 Свода Законов США
По данной заявке испрашивается приоритет на основании предварительной заявки США №61/073,325, которая озаглавлена “Methods and apparatus for discovery of peer-to-peer overlay networks”, подана 17 июня 2008, принадлежит правообладателю настоящей заявки и настоящим явным образом включена в настоящее описание путем ссылки.
Область техники, к которой относится изобретение
Настоящая заявка относится, в общем, к работе оверлейных сетей и, более конкретно, к способам и устройствам для обнаружения одноранговых оверлейных сетей.
Уровень техники
Сеть, в которой узлы-члены получают услуги при отсутствии основывающейся на сервере инфраструктуры, упоминается здесь как “одноранговая” оверлейная сеть. В одноранговой оверлейной сети одноранговые узлы взаимодействуют друг с другом как для предоставления услуг, так и для поддержания сети. Одноранговые оверлейные сети могут быть созданы поверх основной сети, такой как сеть, использующая межсетевой протокол (IP).
Для того чтобы узел участвовал в одноранговой оверлейной сети, он должен выявить имена существующих оверлейных сетей и метаданные, ассоциированные с этими оверлейными сетями. Метаданные в типичном случае включают в себя IP-адреса узлов входа, которые могут посодействовать присоединяющемуся узлу присоединиться к конкретной оверлейной сети.
Существует ряд традиционных подходов к решению проблемы обнаружения оверлейных сетей. Узел может найти имена доступных оверлейных сетей с использованием внеполосного механизма, такого как Web-поиск. Затем, узел может использовать службы доменных имен (DNS) для разрешения каких-либо выявленных имен оверлейных сетей для нахождения адресов межсетевого протокола (IP-адресов) узлов входа. Согласно второму подходу используется широко известная супер оверлейная сеть. Любой узел, который желает обнаружить другие оверлейные сети, присоединяется к супер оверлейной сети и опрашивает узлы в супер оверлейной сети на предмет информации о других оверлейных сетях. К сожалению, эти методики являются неэффективными и затрудняют для узла обнаружение и присоединение к конкретной оверлейной сети.
Следовательно, является желательным иметь эффективный в плане затрат механизм, который функционирует для обеспечения узлу возможности обнаруживать одноранговые оверлейные сети.
Раскрытие изобретения
Согласно одному или более аспектам, предложена содержащая способы и устройства система обнаружения одноранговых оверлейных сетей, которая функционирует для обеспечения узлу возможности обнаруживать одноранговые оверлейные сети. Согласно различным аспектам, система функционирует для обеспечения узлу возможности использовать механизмы транспорта локальной сети, такие как многоадресная передача по IP, для обнаружения ассоциированной с оверлейными сетями информации, собранной другими узлами в локальной сети. Эта информация может затем использоваться узлом для присоединения к конкретной оверлейной сети.
Согласно аспекту предложен способ работы узла для обнаружения оверлейных сетей. Способ содержит этапы, на которых принимают запрос обнаружения информации об интересующих оверлейных сетях, формируют поисковый запрос, содержащий по меньшей мере один параметр, ассоциированный с этими интересующими оверлейными сетями, и передают поисковый запрос на узлы в локальной сети.
Согласно аспекту предложено устройство, выполненное с возможностью обнаружения оверлейных сетей. Устройство содержит средство для приема запроса обнаружения информации об интересующих оверлейных сетях, средство для формирования поискового запроса, содержащего по меньшей мере один параметр, ассоциированный с этими интересующими оверлейными сетями, и средство для передачи поискового запроса на узлы в локальной сети.
Согласно аспекту предложено устройство, выполненное с возможностью обнаружения оверлейных сетей. Устройство содержит процессор, выполненный с возможностью принимать запрос обнаружения информации об интересующих оверлейных сетях и формировать поисковый запрос, содержащий по меньшей мере один параметр, ассоциированный с этими интересующими оверлейными сетями, и приемопередатчик, выполненный с возможностью передавать поисковый запрос на узлы в локальной сети.
Согласно аспекту предложен компьютерный программный продукт для обнаружения оверлейных сетей. Компьютерный программный продукт содержит машиночитаемый носитель, воплощающий коды, исполняемые для приема запроса обнаружения информации об интересующих оверлейных сетях, формирования поискового запроса, содержащего по меньшей мере один параметр, ассоциированный с этими интересующими оверлейными сетями, и передачи поискового запроса на узлы в локальной сети.
Согласно аспекту предложен способ работы узла для обнаружения оверлейных сетей. Способ содержит этапы, на которых поддерживают базу данных оверлейных сетей с метаданными, ассоциированными с одной или более известными оверлейными сетями, получают поисковый запрос, который содержит по меньшей мере один параметр, ассоциированный с интересующими оверлейными сетями, определяют одну или более выбранных оверлейных сетей из базы данных оверлейных сетей на основе этого по меньшей мере одного параметра и передают метаданные, ассоциированные с этими одной или более выбранными оверлейными сетями, в ответ на поисковый запрос.
Согласно аспекту предложено устройство, выполненное с возможностью для обнаружения оверлейных сетей. Устройство содержит средство для поддержания базы данных оверлейных сетей с метаданными, ассоциированными с одной или более известными оверлейными сетями, средство для получения поискового запроса, который содержит по меньшей мере один параметр, ассоциированный с интересующими оверлейными сетями, средство для определения одной или более выбранных оверлейных сетей из базы данных оверлейных сетей на основе этого по меньшей мере одного параметра и средство для передачи метаданных, ассоциированных с этими одной или более выбранными оверлейными сетями, в ответ на поисковый запрос.
Согласно аспекту предложено устройство, выполненное с возможностью обнаружения оверлейных сетей. Устройство содержит память, содержащую базу данных оверлейных сетей с метаданными, ассоциированными с одной или более известными оверлейными сетями, и связанный с памятью процессор, выполненный с возможностью получать поисковый запрос, который содержит по меньшей мере один параметр, ассоциированный с интересующими оверлейными сетями, определять одну или более выбранных оверлейных сетей из базы данных оверлейных сетей на основе этого по меньшей мере одного параметра и передавать метаданные, ассоциированные с этими одной или более выбранными оверлейными сетями, в ответ на поисковый запрос.
Согласно аспекту предложен компьютерный программный продукт для обнаружения оверлейных сетей. Компьютерный программный продукт содержит машиночитаемый носитель, воплощающий коды, исполняемые для поддержания базы данных оверлейных сетей с метаданными, ассоциированными с одной или более известными оверлейными сетями, получения поискового запроса, который содержит по меньшей мере один параметр, ассоциированный с интересующими оверлейными сетями, определения одной или более выбранных оверлейных сетей из базы данных оверлейных сетей на основе этого по меньшей мере одного параметра и передачи метаданных, ассоциированных с этими одной или более выбранными оверлейными сетями, в ответ на поисковый запрос.
Другие аспекты станут понятны после ознакомления с приведенными ниже перечнем фигур чертежей, описанием и формулой изобретения.
Краткое описание чертежей
Вышеизложенные аспекты станут более понятны при обращении к нижеследующему описанию в сочетании с сопровождающими его чертежами, на которых:
Фиг.1 - сеть, иллюстрирующая аспекты системы обнаружения одноранговых оверлейных сетей;
Фиг.2 - иллюстративный обрабатывающий блок обнаружения для использования в узле согласно аспектам системы обнаружения одноранговых оверлейных сетей;
Фиг.3 - иллюстративный способ работы обрабатывающего блока обнаружения в узле для обеспечения аспектов системы обнаружения одноранговых оверлейных сетей;
Фиг.4 - иллюстративный способ работы обрабатывающего блока обнаружения в узле для обеспечения аспектов системы обнаружения одноранговых оверлейных сетей;
Фиг.5 - иллюстративный способ работы обрабатывающего блока обнаружения в узле для обеспечения аспектов системы обнаружения одноранговых оверлейных сетей;
Фиг.6 - иллюстративный обрабатывающий блок обнаружения для использования в узле для обеспечения аспектов системы обнаружения одноранговых оверлейных сетей;
Фиг.7 - иллюстративный обрабатывающий блок обнаружения для использования в узле для обеспечения аспектов системы обнаружения одноранговых оверлейных сетей.
Осуществление изобретения
В нижеследующем описании приводятся аспекты системы обнаружения одноранговых оверлейных сетей, которая функционирует для обеспечения узлу возможности обнаруживать одноранговые оверлейные сети. Система функционирует таким образом, что узел, который желает обнаружить существующие одноранговые оверлейные сети, посылает запрос “поиска оверлейных сетей” в своей локальной сети. Запрос содержит один или более атрибутов (или параметров), которые идентифицируют типы оверлейных сетей, представляющих интерес для узла. В одном варианте реализации запрос поиска оверлейных сетей может быть передан на широко известный IP-адрес многоадресной или широковещательной передачи. Узлы в локальной сети функционируют таким образом, чтобы отслеживать оверлейные сети, о которых им становится известно, и метаданные, ассоциированные с этими оверлейными сетями. Когда они принимают запрос поиска оверлейных сетей, они отвечают информацией об известных им оверлейных сетях, которые соответствуют критериям поиска. Таким образом, запрашивающий узел может эффективным образом обнаруживать интересующие оверлейные сети с помощью других узлов в его локальной сети.
На Фиг.1 показана сеть 100, которой иллюстрируются аспекты системы обнаружения одноранговых оверлейных сетей. Сеть 100 содержит основную сеть 102, которая содержит сеть любого типа, такую как сеть на основе межсетевого протокола. Хотя основная сеть 102 показана как единый объект, основная сеть может содержать любое количество или типы сетей, такие как глобальные сети (WAN), локальные сети (LAN), беспроводные сети или любой другой тип сети.
Основная сеть содержит множество одноранговых оверлейных сетей (104, 106 и 108). Каждая из одноранговых оверлейных сетей 104, 106 и 108 содержит поднабор узлов основной сети 102 и функционирует, используя сервисы основной сети 102, для обеспечения этим узлам возможности осуществлять связь. Например, в одноранговых оверлейных сетях 104, 106 и 108 узлы соединены линиями связи, обеспечиваемыми основной сетью 102, для образования требующихся путей маршрутизации. Следует отметить, что одноранговые оверлейные сети 104, 106 и 108 могут иметь любую топологию или архитектуру для обеспечения любой конфигурации маршрутизации и не ограничены конфигурациями, показанными на Фиг.1.
Основная сеть 102 также содержит локальную сеть, обобщенно обозначенную позицией 110, которая содержит множество узлов. Узлы локальной сети 110 выполнены с возможностью осуществлять связь с другими узлами в сети 102 и друг с другом, используя однонаправленные, многоадресные или широковещательные передачи. Например, узел 112, который является частью локальной сети 110, может осуществлять многоадресную передачу или широковещание сообщений на другие узлы в локальной сети 110.
В соответствии с системой обнаружения оверлейных сетей, узлы в локальной сети 110 содержат обрабатывающий блок 114 обнаружения (DP). Для целей настоящего описания, DP 114 показан в узле 112; однако, при этом также подразумевается, что DP 114 доступен и на других узлах локальной сети 110. DP 114 функционирует для сохранения информации и метаданных об оверлейных сетях, о которых ассоциированный с ним узел становится осведомленным во время работы в сети 102. Например, данная информация содержит, но не в ограничительном смысле: имена оверлейных сетей, IP-адреса узлов, IP-адреса узлов входа и/или другие метаданные, ассоциированные с оверлейными сетями, известными в сети 102. Эту информацию получают во время работы узлов локальной сети 110 при выполнении маршрутизации сообщений или других задач. Эта информация сохраняется в DP 114 для последующего использования.
Согласно аспекту обрабатывающие блоки обнаружения, размещенные на узлах локальной сети 110, автоматически объявляют о своей соответственной информации об известных оверлейных сетях. Таким образом, DP 114, функционирующий на узле 112, способен выполнять прослушивание на предмет таких объявлений, чтобы стать осведомленным об одной или более оверлейных сетях.
Согласно еще одному аспекту в ответ на запрос, например, со стороны приложения, исполняющегося в узле 112, DP 114 формирует и отправляет запрос поиска оверлейных сетей в локальную сеть 110 для получения информации, ассоциированной с оверлейными сетями, которые соответствуют параметрам в этом поисковом запросе. Данный поисковый запрос содержит один или более атрибутов или параметров, которые идентифицируют типы оверлейных сетей, представляющих интерес для узла 112. Например, поисковый запрос содержит один или более из следующих параметров, но не ограничен лишь этими параметрами:
1) имена оверлейных сетей;
2) типы контента;
3) конкретный контент;
4) параметры качества обслуживания (QoS);
5) область работы оверлейной сети;
6) параметр типа оверлейной сети.
Согласно аспекту запрос поиска оверлейных сетей может быть передан на широко известный IP-адрес многоадресной или широковещательной передачи, либо он может быть передан на четко определенный экземпляр сервиса обнаружения оверлейных сетей. В последнем случае экземпляры сервиса сначала обнаруживаются, используя любые известные протоколы обнаружения сервисов. В любом случае, обрабатывающие блоки DP 114, функционирующие в узлах в локальной сети 110, отслеживают оверлейные сети, о которых им становится известно, и метаданные, ассоциированные с этими оверлейными сетями. Когда они принимают запрос поиска оверлейных сетей, они отвечают информацией об известных им оверлейных сетях, которые соответствуют критериям поиска. Более подробное описание работы DP 114 приведено ниже. Таким образом, система обнаружения одноранговых оверлейных сетей функционирует таким образом, чтобы обеспечить узлу возможность обнаруживать интересующие одноранговые оверлейные сети.
На Фиг.2 показан иллюстративный обрабатывающий блок 200 обнаружения для использования в узле согласно аспектам системы обнаружения одноранговых оверлейных сетей. Например, обрабатывающий блок 200 обнаружения приспособлен для использования в качестве обрабатывающего блока 114 обнаружения, показанного на Фиг.1. Обрабатывающий блок 200 обнаружения содержит процессор 202, память 204 и приемопередатчик 206, все из которых подключены к шине 208 данных. Следует отметить, что обрабатывающий блок 200 обнаружения является просто одним вариантом реализации и что возможны другие реализации в рамках объема аспектов настоящего изобретения.
Приемопередатчик 206 содержит аппаратное обеспечение и/или аппаратное обеспечение, исполняющее программное обеспечение, которые функционируют для обеспечения обрабатывающему блоку 200 обнаружения обмениваться данными или другой информацией с множеством узлов в сети. Согласно аспекту приемопередатчик 206 выполнен с возможностью передавать поисковый запрос по локальной сети с использованием однонаправленных, многоадресных или широковещательных передач. Приемопередатчик 206 также выполнен с возможностью осуществлять передачу или прослушивание объявлений в локальной сети или принимать сообщения в ответ на переданные поисковые запросы.
Память 204 представляет собой любое подходящее запоминающее устройство, приспособленное для хранения базы 212 данных оверлейных сетей, содержащей информацию (т.е. метаданные), ассоциированную с одной или более одноранговыми оверлейными сетями, о которых обрабатывающий блок 200 обнаружения осведомлен.
Память 204 также содержит модуль 214 обнаружения, который содержит один или более модулей, содержащих инструкции или коды, исполняемые процессором 202 для обеспечения описанных здесь функций системы обнаружения одноранговых оверлейных сетей.
Процессор 202 содержит по меньшей мере одно из центрального процессорного устройства (CPU), процессора, вентильной матрицы, аппаратной логики, элементов памяти и/или аппаратных средств, исполняющих программное обеспечение. Согласно аспекту, процессор функционирует для исполнения инструкций модуля 214 обнаружения для управления обрабатывающим блоком 200 обнаружения так, чтобы он выполнял описанные здесь функции системы обнаружения одноранговых оверлейных сетей.
Поддержание базы данных оверлейных сетей
Во время работы процессор 202 функционирует для поддержания базы 212 данных оверлейных сетей с информацией об оверлейных сетях, о которых становится известно обрабатывающему блоку 200 обнаружения. Например, во время нормальной маршрутизации сообщений и сетевой связи процессору 202 становится известно об информации и/или метаданных, ассоциированных с одной или более оверлейными сетями. Процессор 202 функционирует для сохранения этой информации и/или метаданных в базе 212 данных оверлейных сетей. Например, информация и/или метаданные, ассоциированные с одной или более оверлейными сетями, содержат, но не ограничены нижеследующими сведениями:
1) имена оверлейных сетей;
2) адреса узлов;
3) адреса узлов входа;
4) типы контента;
5) конкретный контент;
6) параметры качества обслуживания (QoS);
7) область работы оверлейной сети;
8) тип оверлейной сети.
Передача и прием объявлений оверлейных сетей
Согласно аспекту процессор 202 функционирует для управления приемопередатчиком 206 таким образом, чтобы он автоматически передавал объявления в локальную сеть. Объявления содержат информацию из базы 212 данных оверлейных сетей об известных оверлейных сетях. Согласно еще одному аспекту приемопередатчик 206 функционирует для выполнения прослушивания на предмет объявлений, переданных другими узлами в локальной сети. Объявления содержат информацию об оверлейных сетях, известных другим узлам, из которых исходят эти объявления. Принятая информация объявлений подается в процессор 202, который использует эту информацию для обновления базы 212 данных оверлейных сетей.
Поиск оверлейных сетей
Согласно еще одному аспекту процессор 202 функционирует для приема запроса информации об оверлейных сетях, которые соответствуют критериям поиска. Данный запрос может исходить из приложений, исполняющихся в узле, в котором размещен обрабатывающий блок 200 обнаружения. Например, запрос принимается от одного или более приложений по линии 216 связи. Процессор 202 обрабатывает запрос для формирования поискового запроса, который содержит критерии, параметры и/или метаданные, ассоциированные с оверлейными сетями, поиск которых должен быть проведен. Процессор 202 управляет приемопередатчиком 206 так, чтобы он передал поисковый запрос на другие узлы в локальной сети. Например, приемопередатчик 206 передает поисковый запрос с использованием по меньшей мере одной из однонаправленной, многоадресной и широковещательной передачи.
Узлы, принимающие поисковый запрос, содержат свои собственные соответственные обрабатывающие блоки DP, которые функционируют для поддержания баз данных оверлейных сетей, аналогичных базе 212 данных оверлейных сетей. Обрабатывающие блоки DP на принимающих узлах осуществляют поиск по своим соответственным базам данных оверлейных сетей для определения информации и/или метаданных о каких-либо оверлейных сетях, которые соответствуют параметрам, включенным в поисковый запрос. Эта информация возвращается на DP 200. Например, данная информация принимается по линии 210 связи приемопередатчиком 206, который подает эту информацию в процессор 202. Процессор 202 затем информирует запрашивающий объект (используя линию 216 связи) об оверлейных сетях, которые соответствуют поисковому запросу. Помимо этого, процессор 202 функционирует для обновления базы 212 данных оверлейных сетей любой принятой информацией о вновь обнаруженных оверлейных сетях.
Согласно аспекту система обнаружения одноранговых оверлейных сетей содержит компьютерный программный продукт, представляющий собой одну или более программных инструкций (“команд”) или набор “кодов”, сохраненных или воплощенных на машиночитаемом носителе. Когда коды исполняются по меньшей мере одним процессором, например, процессором 202, их исполнение предписывает обрабатывающему блоку 200 обнаружения обеспечивать функции описываемой здесь системы обнаружения одноранговых оверлейных сетей. Например, машиночитаемый носитель представляет собой флоппи-диск, CDROM, карту памяти, устройство флэш-памяти, ОЗУ, ПЗУ или любой другой тип запоминающего устройства или машиночитаемого носителя, который непосредственно взаимодействует с обрабатывающим блоком 200 обнаружения. Согласно еще одному аспекту наборы кодов могут быть загружены в обрабатывающий блок 200 обнаружения из внешнего устройства или ресурса сети связи. Наборы кодов, при их исполнении, функционируют для обеспечения функций описываемой здесь системы обнаружения одноранговых оверлейных сетей.
На Фиг.3 показан иллюстративный способ 300 функционирования обрабатывающего блока обнаружения в узле для обеспечения аспектов системы обнаружения одноранговых оверлейных сетей. В целях ясности, способ 300 описывается ниже со ссылкой на обрабатывающий блок 200 обнаружения, показанный на Фиг.2. Согласно аспекту процессор 202 исполняет один или более наборов кодов, предусмотренных модулем 214 обнаружения, для управления обрабатывающим блоком 200 обнаружения для выполнения функций, описываемых ниже.
На этапе 302 принимают запрос обнаружения информации об оверлейных сетях, представляющих интерес для запрашивающего объекта. Согласно аспекту, этот запрос принимается по линии 216 связи процессором 202 от приложений, исполняющихся в узле, в котором DP 200 размещен.
На этапе 304 на основе данного запроса формируют поисковый запрос. Например, процессор 202 формирует поисковый запрос так, чтобы он содержал один или более параметров, которые описывают или идентифицируют критерии, ассоциированные с оверлейными сетями, поиск которых должен быть проведен. Например, поисковый запрос содержит, но не в ограничительном смысле, параметры, описанные выше.
На этапе 306 поисковый запрос передают в локальную сеть. Например, процессор 202 управляет приемопередатчиком 206 так, чтобы он передал поисковый запрос в локальную сеть, используя линию 210 связи. Приемопередатчик 206 передает поисковый запрос, используя однонаправленную, многоадресную или широковещательную передачу в локальной сети.
На этапе 308 принимают информацию об оверлейных сетях, которые соответствуют поисковому запросу. Например, приемопередатчик 206 принимает эту информацию от узлов в локальной сети. В одном варианте реализации каждый узел содержит DP, который поддерживает базу данных оверлейных сетей с информацией об оверлейных сетях. Обрабатывающие блоки DP на этих узлах идентифицируют выбранные оверлейные сети на основе одного или более параметров в поисковом запросе. Узлы затем предают информацию о выбранных оверлейных сетях по линии 210 связи для приема приемопередатчиком 206. Приемопередатчик 206 затем подает эту информацию в процессор 202.
На этапе 310 принятую информацию, идентифицирующую оверлейные сети, соответствующие поисковому запросу, направляют первоначально запросившему ее объекту. Например, процессор 202 подает принятую информацию об оверлейных сетях, соответствующих поисковому запросу, в запрашивающее приложение, используя линию 216 связи.
Следовательно, способ 300 выполняется обрабатывающим блоком обнаружения в узле для обеспечения аспектов системы обнаружения одноранговых оверлейных сетей. Следует отметить, что способ 300 представляет собой лишь один возможный вариант реализации и что операции способа 300 могут быть переупорядочены или иным образом изменены в рамках объема различных аспектов настоящего изобретения. Таким образом, в рамках объема описанных здесь различных аспектов настоящего изобретения возможны другие варианты реализации.
На Фиг.4 показан иллюстративный способ 400 функционирования обрабатывающего блока обнаружения для обеспечения аспектов системы обнаружения одноранговых оверлейных сетей. В целях ясности, способ 400 описывается ниже со ссылкой на обрабатывающий блок 200 обнаружения, показанный на Фиг.2. Согласно аспекту процессор 202 исполняет один или более наборов кодов, предусмотренных модулем 214 обнаружения, для управления обрабатывающим блоком 200 обнаружения для выполнения функций, описываемых ниже.
На этапе 402 поддерживают базу данных оверлейных сетей с метаданными, ассоциированными с известными оверлейными сетями. Например, процессор 202 получает информацию об одной или более оверлейных сетях во время нормальных транзакций маршрутизации или передачи сообщений в основной сети. Процессор 202 сохраняет метаданные, ассоциированные с известными оверлейными сетями, в базе 212 данных оверлейных сетей. Согласно одному аспекту процессор 202 обновляет базу данных оверлейных сетей метаданными, ассоциированными с вновь обнаруженными оверлейными сетями. Например, одна или более оверлейных сетей могут быть обнаружены во время функционирования обрабатывающего блока обнаружения в локальной сети.
На этапе 404 принимают поисковый запрос. Например, приемопередатчик 206 принимает поисковый запрос в однонаправленной, многоадресной или широковещательной передаче в локальной сети. Приемопередатчик 206 принимает поисковый запрос по линии 210 связи. Поисковый запрос содержит один или более параметров, идентифицирующих интересующие оверлейные сети, поиск информации о которых осуществляется.
Согласно еще одному аспекту поисковый запрос формируется локальным образом в ответ на запрос от приложения, исполняющегося в узле, в котором DP 200 размещен. Например, процессор 202 принимает запрос информации об оверлейных сетях, представляющих интерес для запрашивающего приложения. Согласно аспекту данный запрос принимается по линии 216 связи процессором 202 от приложения, исполняющегося в узле, в котором DP 200 размещен.
На этапе 406 выполняют определение на предмет того, соответствуют ли параметры в поисковом запросе какой-либо из оверлейных сетей, которые описаны в базе данных оверлейных сетей. Например, процессор 202 функционирует для сопоставления параметров в поисковом запросе с информацией, сохраненной в базе данных оверлейных сетей, для определения метаданных и другой информации об известных оверлейных сетях, которые соответствуют поисковому запросу.
На этапе 408, в предположении, что имеет место соответствие, метаданные и другую информацию, которые соответствуют параметрам в поисковом запросе, получают из базы данных оверлейных сетей. Например, процессор 202 получает метаданные и другую информацию, которые соответствуют поисковому запросу, из базы 212 данных оверлейных сетей.
На этапе 410 метаданные и другую информацию, определенные из базы данных на основе поискового запроса, передают в ответ на поисковый запрос. Например, процессор 202 управляет приемопередатчиком 202 так, чтобы он передавал метаданные и другую информацию объекту, ассоциированному с поисковым запросом. В одном аспекте, метаданные передаются узлу, ассоциированному с поисковым запросом, что осуществляется с использованием линии 210 связи. Согласно еще одному аспекту, где поиск осуществляется в локальной базе данных оверлейных сетей, метаданные передаются локально исполняющемуся приложению, ассоциированному с изначальным запросом, что выполняется процессором 202 с использованием линии 216 связи.
Следовательно, способ 400 выполняется обрабатывающим блоком обнаружения в узле для обеспечения аспектов системы обнаружения одноранговых оверлейных сетей. Следует отметить, что способ 400 представляет собой лишь один возможный вариант реализации и что операции способа 400 могут быть переупорядочены или иным образом изменены в рамках объема различных аспектов настоящего изобретения. Таким образом, в рамках объема описанных здесь различных аспектов настоящего изобретения возможны другие варианты реализации.
На Фиг.5 показан иллюстративный способ 500 функционирования обрабатывающего блока обнаружения для обеспечения аспектов системы обнаружения одноранговых оверлейных сетей. В целях ясности, способ 500 описывается ниже со ссылкой на обрабатывающий блок 200 обнаружения, показанный на Фиг.2. Согласно аспекту процессор 202 исполняет один или более наборов кодов, предусмотренных модулем 214 обнаружения, для управления обрабатывающим блоком 200 обнаружения для выполнения функций, описываемых ниже.
На этапе 502 поддерживают базу данных оверлейных сетей с метаданными, ассоциированными с известными оверлейными сетями. Например, процессор 202 получает информацию об одной или более оверлейных сетях во время нормальных транзакций маршрутизации или передачи сообщений в основной сети. Процессор 202 сохраняет метаданные, ассоциированные с известными оверлейными сетями, в базе 212 данных оверлейных сетей. Согласно аспекту процессор 202 обновляет базу данных оверлейных сетей метаданными, ассоциированными с вновь обнаруженными оверлейными сетями. Например, одна или более оверлейных сетей могут быть обнаружены во время функционирования обрабатывающего блока обнаружения в локальной сети.
На этапе 504 в локальную сеть передают объявления. Например, процессор 202 получает информацию из базы 212 данных оверлейных сетей, содержащей метаданные, ассоциированные с известными оверлейными сетями, и направляет эту информацию на приемопередатчик 206. Приемопередатчик 206 функционирует для передачи метаданных в локальную сеть в одном или более объявлениях, которые могут быть приняты в локальной сети любым узлом, который может выполнять прослушивание. Например, приемопередатчик 206 функционирует для передачи одного или более объявлений в по меньшей мере одной из однонаправленной, многоадресной и широковещательной передачи в локальной сети.
На этапе 506 принимают одно или более объявлений, которые содержат метаданные об известных оверлейных сетях. Например, приемопередатчик 206 функционирует для приема одного или более объявлений в по меньшей мере одной из однонаправленной, многоадресной и широковещательной передачи в локальной сети. Процессор 202 затем обновляет базу 212 данных оверлейных сетей, используя принятые метаданные. Например, способ переходит к блоку 502, где базу 212 данных оверлейных сетей обновляют.
Следовательно, способ 500 выполняется обрабатывающим блоком обнаружения в узле для обеспечения аспектов системы обнаружения одноранговых оверлейных сетей. Следует отметить, что способ 500 представляет собой лишь один возможный вариант реализации и что операции способа 500 могут быть переупорядочены или иным образом изменены в рамках объема различных аспектов настоящего изобретения. Таким образом, в рамках объема описанных здесь различных аспектов настоящего изобретения возможны другие варианты реализации.
Следует отметить, что все из способов 300, 400 и 500 могут выполняться одним и тем же обрабатывающим блоком обнаружения, размещенным в узле в локальной сети. Операции способов 300, 400 и 500 могут комбинироваться, перемешиваться или иным образом выполняться параллельным или последовательным образом так, чтобы все функции описываемой здесь системы обнаружения могли быть выполнены одним обрабатывающим блоком обнаружения.
На Фиг.6 показан иллюстративный обрабатывающий блок 600 обнаружения для использования в узле для обеспечения аспектов системы обнаружения оверлейных сетей. Например, обрабатывающий блок 600 обнаружения реализован сообразно обрабатывающему блоку 200 обнаружения, показанному на Фиг.2. Согласно аспекту обрабатывающий блок 600 обнаружения реализуется как по меньшей мере одна интегральная микросхема, содержащая один или более модулей, выполненных с возможностью обеспечения аспектов описываемой здесь системы обнаружения оверлейных сетей. Например, согласно аспекту каждый модуль содержит аппаратное обеспечение и/или аппаратное обеспечение, исполняющее программное обеспечение.
Обрабатывающий блок 600 обнаружения содержит первый модуль, содержащий средство (602) для приема запроса обнаружения информации об интересующих оверлейных сетях, что согласно аспекту реализуется процессором 202. Обрабатывающий блок 600 обнаружения также содержит второй модуль, содержащий средство (604) для формирования поискового запроса, который содержит по меньшей мере один параметр, ассоциированный с интересующими оверлейными сетями, что согласно аспекту реализуется процессором 202. Обрабатывающий блок 600 обнаружения также содержит третий модуль, содержащий средство (606) для передачи поискового запроса на узлы в локальной сети, что согласно аспекту реализуется приемопередатчиком 206.
На Фиг.7 показан иллюстративный обрабатывающий блок 600 обнаружения для использования в узле для обеспечения аспектов системы обнаружения оверлейных сетей. Например, обрабатывающий блок 700 обнаружения реализован сообразно обрабатывающему блоку 200 обнаружения, показанному на Фиг.2. Согласно аспекту обрабатывающий блок 700 обнаружения реализуется как по меньшей мере одна интегральная микросхема, содержащая один или более модулей, выполненных с возможностью обеспечения аспектов описываемой здесь системы обнаружения оверлейных сетей. Например, согласно аспекту каждый модуль содержит аппаратное обеспечение и/или аппаратное обеспечение, исполняющее программное обеспечение.
Обрабатывающий блок 700 обнаружения содержит первый модуль, содержащий средство (702) для поддержания базы данных оверлейных сетей, содержащей метаданные, ассоциированные с одной или более известными оверлейными сетями, что согласно аспекту реализуется памятью 204. Обрабатывающий блок 700 обнаружения также содержит второй модуль, содержащий средство (704) для получения поискового запроса, который содержит по меньшей мере один параметр, ассоциированный с интересующими оверлейными сетями, что согласно аспекту реализуется процессором 202. Обрабатывающий блок 700 обнаружения также содержит третий модуль, содержащий средство (706) для определения одной или более выбранных оверлейных сетей из базы данных оверлейных сетей на основе упомянутого по меньшей мере одного параметра, что согласно аспекту реализуется процессором 202. Обрабатывающий блок 700 обнаружения также содержит четвертый модуль, содержащий средство (708) для передачи метаданных, ассоциированных с этими одной или более выбранными оверлейными сетями, в ответ на поисковый запрос, что согласно аспекту реализуется процессором 202.
Различные иллюстративные логические средства, логические блоки, модули и схемы, описанные в связи с раскрытыми здесь аспектами, могут быть реализованы или осуществлены в процессоре общего назначения, цифровом сигнальном процессоре (DSP), специализированной интегральной микросхеме (ASIC), программируемой вентильной матрице (FPGA) или другом программируемом логическом устройстве, дискретной вентильной или транзисторной логике, дискретных аппаратных компонентах или любой их комбинации, предназначенной для выполнения описанных здесь функций. Процессор общего назначения может представлять собой микропроцессор, но, в качестве альтернативы, он может представлять собой любой известный процессор, контроллер, микроконтроллер или конечный автомат. Процессор может быть реализован как комбинация вычислительных устройств, например, комбинация DSP и микропроцессора, множества микропроцессоров, одного или более микропроцессоров в сочетании с ядром DSP или любая другая такая конфигурация.
Этапы алгоритма или способа, описанные в связи с раскрытыми здесь аспектами, могут быть воплощены непосредственно в аппаратном обеспечении, в модуле программного обеспечения, исполняемом процессором, или в комбинации их обоих. Программный модуль может находиться в памяти ОЗУ, флэш-памяти, памяти ПЗУ, памяти EPROM, памяти EEPROM, регистрах, жестком диске, съемном диске, CDROM или любой другой форме носителя данных, известных в технике. Иллюстративный носитель данных подключен к процессору, так что процессор может считывать информацию с носителя данных или записывать информацию на носитель данных. В альтернативном варианте, носитель данных может быть интегрирован с процессором. Процессор и носитель данных могут находиться в ASIC. ASIC может находиться в устройстве беспроводной связи. В альтернативном варианте, процессор и носитель данных могут находиться в дискретных компонентах в устройстве беспроводной связи.
Описание раскрытых аспектов предоставлено для обеспечения любому специалисту возможности изготовить или использовать настоящее изобретение. Различные модификации этих аспектов могут быть без труда поняты специалистами, и описанные здесь базовые принципы могут быть применены к другим аспектам, например, в услуге мгновенного обмена сообщениями или любых общих приложениях беспроводного обмена данными, на отступая от сущности и объема изобретения. Таким образом, не подразумевается, что настоящее изобретение ограничено показанными здесь аспектами, но ему должен соответствовать наиболее широкий объем, согласующийся с раскрытыми здесь принципами и новыми признаками. Слово “иллюстративный” используется здесь исключительно как означающее “служащий в качестве примера, образца или иллюстрации”. Любой аспект, описанный здесь как “иллюстративный”, необязательно подразумевается как предпочтительный или преимущественный относительно других аспектов.
Соответственно, хотя здесь описаны и проиллюстрированы аспекты системы обнаружения одноранговых оверлейных сетей, следует понимать, что различные изменения могут быть выполнены в отношении этих аспектов, не отступая от их сущности или существенных характеристик. Следовательно, приведенные здесь раскрытие и описание подразумеваются иллюстративными, а не ограничивающими в отношении объема изобретения, который определяется нижеследующей формулой изобретения.