ЭФФЕКТИВНОЕ ФОРМИРОВАНИЕ ПРОИЗВОЛЬНО ОРГАНИЗУЮЩИХСЯ СЕТЕЙ
EFFICIENT FORMATION OF RANDOMLY ORGANISED NETWORKS

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение, в общем, относится к организации сетей вычислительных машин, а более конкретно к формированию вычислительных сетей.
УРОВЕНЬ ТЕХНИКИ
Организация сетей вычислительных машин, чтобы упрощать связь с огромным числом типов данных, становится общераспространенной на современном рабочем месте и все в большей степени в наших домах. Все, начиная с повсеместной сегодня электронной почты, программ обмена мгновенными сообщениями, дискуссионных групп, совместного использования электронных документов и файлов различных типов до потоковой передачи аудио и видео, сложных интерактивных сред, организованных в сети вычислительных машин, может усовершенствовать традиционные формы связи и предоставить новые способы для работы и развлечений. Расширение функциональности, предоставляемое вычислительной машине за счет присоединения к сети, является значительным, но имеется ряд практических барьеров для возможностей подключения, которые могут не допускать или снижать доступ к полной функциональности. Проблема может быть особенно острой для мобильных вычислительных машин, допускающих присоединение к беспроводным сетям.
Для целей данного описания, беспроводные вычислительные сети могут быть классифицированы на два общих типа: инфраструктурные сети и произвольно организующиеся сети. Инфраструктурные сети включают в себя один или более специализированных сетевых компонентов, например сетевой концентратор или точку доступа к беспроводной сети. В отличие от этого произвольно организующиеся сети не обязательно должны включать в себя такие сетевые компоненты. Например, произвольно организующаяся вычислительная сеть может включать в себя немного больше, чем группу вычислительных машин, каждая из которых имеет аппаратные средства для беспроводного сетевого интерфейса.
Как свидетельствует название, произвольно организующиеся сети предназначены для того, чтобы предоставлять спонтанную или незапланированную организацию вычислительных сетей в ходе путешествий или нахождения в гостях. По сути, произвольно организующиеся сети позволяют упростить возможность подключения к сети в любом месте в любое время. Тем не менее, формирование традиционных произвольно организующихся сетей может быть трудным и/или медленным, так, что, несмотря на свой потенциал, использование произвольно организующихся сетей остается относительно нераспространенным. Многие трудности формирования произвольно организующихся сетей возникают в результате нехватки инфраструктурных средств, типично имеющихся в инфраструктурных сетях.
Одна проблема связана с конвергенцией произвольно организующейся сети. В рамках группы вычислительных машин, пытающихся сформировать произвольно организующуюся сеть, ни одна из вычислительных машин не должна необходимо быть ведущей или создателем сетевых политик. Несколько различных вычислительных машин в группе могут одновременно пытаться инициировать формирование произвольно организующейся сети. Вычислительные машины в группе могут быть по-разному сконфигурированы и по-разному реагировать на протоколы инициирования и/или формирования сети. Как результат, вместо конвергенции к одной произвольно организующейся сети, в группе вычислительных машин могут сформироваться несколько произвольно организующихся сетей.
В некоторых традиционных системах и способах формирования произвольно организующихся сетей отсутствуют механизмы конвергенции к одной произвольно организующейся сети. Даже если такие механизмы имеются, конвергенция может быть настолько медленной, что препятствует регулярному применению. Даже задержки порядка минуты может быть достаточными для того, чтобы считаться барьером к возможностям подключения. Другим источником задержки в некоторых традиционных системах и способах формирования произвольно организующихся сетей является отсутствие эффективного механизма быстрого назначения сетевых идентификаторов, таких как сетевые адреса, участникам сети. В отношении таких механизмов воспринимаемая задержка для конечного пользователя может быть настолько значительной, насколько существует низкоуровневая процедурная задержка.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Данный раздел представляет упрощенное краткое изложение некоторых вариантов осуществления изобретения. Это краткое изложение не является всесторонним обзором изобретения. Оно не предназначено для того, чтобы определять ключевые/важнейшие элементы изобретения или обрисовать область применения изобретения. Его единственная цель - представить некоторые варианты осуществления изобретения в упрощенной форме в качестве вступления в более подробное описание, которое изложено далее.
В варианте осуществления изобретения идентификатор произвольно организующейся сети принимается, например, в модуле конвергенции произвольно организующейся сети узла произвольно организующейся сети. Один или более параметров произвольно организующейся сети могут быть сформированы как функция идентификатора произвольно организующейся сети. Каждая из группы вычислительных машин, пытающихся сформировать произвольно организующуюся сеть, идентифицированную посредством идентификатора произвольно организующейся сети, может формировать один или более параметров произвольно организующейся сети. Две или более из группы вычислительных машин могут осуществлять протокол формирования произвольно организующейся сети, параметризованный с помощью сформированного одного или более параметров произвольно организующейся сети. Эффективное формирование произвольно организующейся сети, таким образом, может быть упрощено.
В варианте осуществления изобретения инструкция для присоединения к сети, принимается, например, в сетевой службе. Тип сети, к которой следует присоединиться, может различаться, в частности, может быть определено, является сеть произвольно организующейся сетью или, например, инфраструктурной сетью. Если произвольно организующаяся сеть обнаружена, может быть активирован режим получения адреса произвольно организующейся сети, содержащий ускоренное получение адреса произвольно организующейся сети.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Хотя прилагаемая формула изобретения подробно излагает признаки изобретения, изобретение и его преимущества лучше понимаются из последующего подробного описания, рассматриваемого вместе с прилагаемыми чертежами, на которых:
Фиг.1 - это схематичное представление, в общем иллюстрирующее примерную вычислительную систему, используемую для того, чтобы реализовать вариант осуществления изобретения;
Фиг.2 - это схематичное представление, иллюстрирующее примерное вычислительное сетевое окружение, подходящее для включения аспектов изобретения;
Фиг.3 - это блок-схема, иллюстрирующая примерную архитектуру вычислительной системы для эффективного формирования произвольно организующихся сетей, в соответствии с вариантом осуществления изобретения;
Фиг.4 - это блок-схема последовательности операций способа, иллюстрирующая примерные этапы для упрощения конвергенции произвольно организующейся сети в соответствии с вариантом осуществления изобретения;
Фиг.5 - это блок-схема последовательности операций способа, иллюстрирующая примерные этапы для эффективного формирования произвольно организующейся сети в соответствии с вариантом осуществления изобретения;
Фиг.6 - это блок-схема последовательности операций способа, иллюстрирующая примерные этапы для выхода из произвольно организующейся сети в соответствии с вариантом осуществления изобретения; и
Фиг.7 - это блок-схема последовательности операций способа, иллюстрирующая примерные этапы для выбора схемы обмена данными физического уровня в соответствии с вариантом осуществления изобретения.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
До перехода к описанию различных вариантов осуществления изобретения ниже предоставляется описание вычислительной машины, в которой могут быть использованы на практике различные варианты осуществления изобретения. Хотя это и не обязательно, изобретение описано в общем контексте машиноисполняемых инструкций, таких как программные модули, приводимые в исполнение посредством вычислительной машины. Как правило, программные модули включают в себя процедуры, объекты, компоненты, структуры данных и т.п., которые выполняют конкретные задачи или реализуют конкретные абстрактные типы данных. Термин "программа" при использовании в данном документе может ассоциативно связываться с одним программным модулем или несколькими программными модулями, действующими совместно. Термины "вычислительная машина" и "вычислительное устройство" при использовании в данном документе включают в себя любое устройство, которое электронным образом приводит в исполнение одну или более программ, например персональные вычислительные машины (ПЭВМ), переносимые вычислительные устройства, многопроцессорные системы, микропроцессорную программируемую бытовую электронную аппаратуру, сетевые ПЭВМ, мини-ЭВМ, планшетные ПЭВМ, дорожные вычислительные машины, бытовые устройства, имеющие микропроцессор или микроконтроллер, маршрутизаторы, шлюзы, концентраторы и т.п. Изобретение может быть использовано в распределенных вычислительных окружениях, в которых задачи выполняются удаленными обрабатывающими устройствами, которые связаны через сеть связи. В распределенном вычислительном окружении программы могут быть размещены на локальных и удаленных устройствах хранения данных.
Ссылаясь на фиг.1, показан пример базовой конфигурации для вычислительной машины 102, в которой могут быть реализованы аспекты изобретения, описанного в данном документе. В своей самой базовой конфигурации вычислительная машина 102 типично включает в себя, по меньшей мере, один процессор 104 и запоминающее устройство 106. Процессор 104 приводит в исполнение инструкции, чтобы выполнять задачи в соответствии с различными вариантами осуществления изобретения. При выполнении этих задач процессор 104 может передавать электронные сигналы в другие части вычислительной машины 102 и в устройства вне вычислительной машины 102, чтобы приводить к какому-либо результату. В зависимости от точной конфигурации и типа вычислительной машины 102 запоминающее устройство 106 может быть энергозависимым (например, ОЗУ), энергонезависимым (например, ПЗУ или флэш-память) либо какой-либо комбинацией двух вышеозначенных вариантов. Эта самая базовая конфигурация проиллюстрирована на фиг.1 посредством пунктирной линии 108.
Вычислительная машина 102 также может иметь дополнительные признаки/функциональность. Например, вычислительная машина 102 может также включать в себя дополнительное устройство хранения (съемное 110 и/или стационарное 112) в том числе, но не только, магнитные или оптические диски либо ленты. Носители хранения вычислительной машины включают в себя энергозависимые и энергонезависимые, съемные и стационарные носители, реализованные любым способом или технологией для хранения информации, такой как машиноисполняемые инструкции, структуры данных, программные модули или другие данные. Носители хранения данных для вычислительных машин включают в себя (но не только) ПЗУ, ОЗУ, ЭСППЗУ, флэш-память, CD-ROM, универсальные цифровые диски (DVD) или другие оптические диски, магнитные кассеты, магнитные ленты, магнитные диски или другие магнитные устройства хранения, либо любой другой носитель, который может быть использован для того, чтобы хранить нужную информацию, и к которому может осуществлять доступ вычислительная машина 102. Любой такой носитель хранения данных для вычислительных машин может быть частью вычислительной машины 102.
Вычислительная машина 102 предпочтительно также содержит подключения 114 связи, которые позволяют устройству взаимодействовать с другими устройствами, такими как удаленная вычислительная машина(ы) 116. Подключение связи является примером носителя связи. Носители связи типично осуществляют машиночитаемые инструкции, структуры данных, программные модули или другие данные в модулированном информационном сигнале, таком как несущее колебание или другой механизм распространения, и включают в себя любой носитель для доставки информации. В качестве примера, а не ограничения, термин "носитель связи" включает в себя беспроводные среды, такие как акустическую, радиочастотную, инфракрасную или другую беспроводную среду. Термин "машиночитаемые носители" при использовании в данном документе включает в себя как носители хранения для вычислительных машин, так и среду связи.
Вычислительная машина 102 также может иметь устройства 118 ввода, такие как клавиатура/клавишная панель, мышь, перо, устройство речевого ввода, устройство сенсорного ввода и т.д. Устройства 120 вывода, такие как дисплей, громкоговорители, принтер и т.д., также могут быть включены. Все эти устройства широко распространены в данной области техники и не обязательно должны подробно описываться в данном документе.
В нижеследующем описании изобретение поясняется со ссылкой на действия и символические представления операций, которые выполняются посредством одного или более вычислительных устройств, если не указано иное. По существу, следует понимать, что такие действия и операции, которые иногда упоминаются как машиноисполняемые, включают в себя обработку посредством процессора вычислительной машины электрических сигналов, представляющих данные в структурированной форме. Эта обработка преобразует данные или хранит их в областях системы запоминающего устройства вычислительной машины, которые реконфигурируют или иным образом изменяют работу вычислительной машины способом, хорошо известным специалистам в данной области техники. Структуры данных, где хранятся данные, - это физические области запоминающего устройства, которые имеют конкретные свойства, задаваемые посредством формата данных. Тем не менее, хотя изобретение описывается в вышеозначенном контексте, он не предназначен для того, чтобы быть ограничивающим, поскольку специалисты в данной области техники должны принимать во внимание, что различные действия и операции, описываемые далее, также могут быть реализованы в аппаратных средствах.
В варианте осуществления изобретения предоставляются системы и способы эффективного формирования произвольно организующихся сетей. Стандартные параметры формирования произвольно организующихся сетей могут быть установлены в каждом предполагаемом сетевом узле, чтобы упростить быструю конвергенцию произвольно организующейся сети. Могут быть активированы режимы формирования произвольно организующихся сетей, которые, например, предоставляют эффективное назначение идентификаторов произвольно организующихся сетей с необходимостью элементов и устройств, типично находящихся в инфраструктурных сетях.
Для понятности полезно описать варианты осуществления изобретения в контексте примерной группы вычислительных машин, пытающихся сформировать произвольно организующуюся сеть. Фиг.2 иллюстрирует примерное вычислительное сетевое окружение 200, подходящее для включения аспектов изобретения. Вычислительное сетевое окружение 200 включает в себя вычислительные машины 202, 204, 206, 208, 210, 212, 214, пытающиеся сформировать одну произвольно организующуюся сеть, указанную посредством пунктирной линии 216.
При ситуации, проиллюстрированной посредством фиг.2, т.е. через некоторое время после инициирования процесса формирования произвольно организующейся сети, сформировано две произвольно организующиеся сети 218 и 220. Одна произвольно организующаяся сеть 218 включает в себя вычислительные машины 202, 204 и 206. Другая произвольно организующаяся сеть 220 включает в себя вычислительные машины 208, 210, 212 и 214. Каждая из вычислительных машин 202, 204 и 206 может обмениваться данными друг с другом, а каждая из вычислительных машин 208, 210, 212 и 214 может обмениваться данными друг с другом. Обмен данными между произвольно организующимися сетями 218 и 220 может быть ограниченным или отсутствовать.
В определенный момент до ситуации, проиллюстрированной посредством фиг.2, более двух произвольно организующихся сетей 218 и 220 могло быть сформировано между вычислительными машинами 202, 204, 206, 208, 210, 212, 214. Через определенное время после ситуации, проиллюстрированной посредством фиг.2, произвольно организующиеся сети 218 и 220 могут объединяться, чтобы сформировать одну произвольно организующуюся сеть 216, произвольно организующиеся сети 218 и 220 могут оставаться отдельными, одна или более вычислительных машин 208, 210, 212 и 214 может выходить из произвольно организующейся сети 220, чтобы присоединиться к другой произвольно организующейся сети 218, одна или более вычислительных машин 202, 204 и 208 может выходить из произвольно организующейся сети 218, чтобы присоединиться к произвольно организующейся сети 220, или одна или более вычислительных машин 202, 204, 206, 208, 210, 212 и 214 может выходить из текущей произвольно организующейся сети 218 или 220, чтобы сформировать новую произвольно организующуюся сеть (не показана на фиг.2).
Формирование нескольких произвольно организующихся сетей 218 и 220 в качестве этапа по направлению к конвергенции в одну произвольно организующуюся сеть 216 необязательно является нежелательным. В варианте осуществления изобретения нежелательным является большое время конвергенции, т.е. излишнее количество времени между инициированием формирования произвольно организующейся сети и конвергенцией в одну произвольно организующуюся сеть 216. До описания примерных способов формирования и конвергенции произвольно организующейся сети в соответствии с вариантом осуществления изобретения должно быть полезным описать примерную архитектуру, подходящую для упрощения машинной реализации способов.
Фиг.3 иллюстрирует примерную архитектуру 300 в соответствии с вариантом осуществления изобретения. Для понятности описания некоторые элементы архитектуры 300 могут быть конкретными для беспроводных сетей в соответствии с одним или более стандартов обмена беспроводными данными Института инженеров по электротехнике и радиоэлектронике (IEEE) семейства 802.11, таких как 802.11a, 802.11b, 802.11g и/или 802.11n. Тем не менее, каждый вариант осуществления изобретения не ограничен таким образом. Специалисты в данной области техники должны признавать, что обозначения IEEE 80.2.11a, 802.11b, 802.11g не являются просто идентификационными кодами для длинных документов технических стандартов, но стали специальными терминами в данной области техники, так что даже розничные потребители могут знать эти термины, в частности, благодаря способам, которыми стандарты взаимодействуют и не взаимодействуют друг с другом.
Вычислительная машина 302, такая как вычислительная машина 102 (фиг.1), может включать в себя операционную систему 304, такую как вычислительная операционная система Microsoft Windows. Операционная система 304 может включать в себя сетевую службу 306, такую как Windows Networking, как описано в разделе "Windows Networking (WNet)" Microsoft Windows Platform Software Development Kit (SDK) в Microsoft Developer Network (MSDN) Library, датированной мартом 2005 года. Сетевая служба 306 может опосредовать доступ посредством вычислительной машины 302 к одной или более сетей, например произвольно организующихся сетей 216, 218 и 220 (фиг.2).
Специалисты в данной области техники должны признавать, что сетевая архитектура, такая как архитектура 300, может содержать несколько различных и, по меньшей мере, частично независимых уровней сетевой функциональности. Например, Международная организация по стандартам (ISO) описывает модель взаимодействия открытых систем (OSI) для сетевых архитектур, которая различает прикладной уровень, уровень представления, сеансовый уровень, транспортный уровень, сетевой уровень, уровень линии передачи данных и физический уровень. Подробности см. в работе Zimmerman "OSI Reference Model - The ISO Model of Architecture for Open System Interconnection", IEEE, Transactions on Communications, апрель 1980 года. Подробности по отличающейся, но не несовместимой многоуровневой модели сетевой архитектуры описаны в статье "Gateways Solution Overview" раздела "Windows Embedded Devices" Microsoft Windows Embedded Developer Center в Microsoft Developer Network (MSDN) Library, датированной 2004.
Вычислительная машина 302 может включать в себя одну или более сетевых интерфейсных плат (NIC) 308, 310 (только две проиллюстрированы на фиг.3). Для каждой сетевой интерфейсной платы 308, 310 операционная система 304 может включать в себя соответствующие модули драйверов 312, 314 сетевой интерфейсной платы. Сетевая служба 306 может отправлять и принимать данные в и из произвольно организующихся сетей 216, 218, 220 (фиг.2) с помощью модулей драйверов 312, 314 сетевых интерфейсных плат. Модули драйверов 312, 314 сетевых интерфейсных плат могут отправлять и принимать данные из произвольно организующихся сетей 216, 218, 220 с помощью сетевых интерфейсных плат 308, 310. Компоненты 306, 308, 310, 312, 314 архитектуры 300 не обязательно должны соответствовать "один-к-одному", например уровням архитектуры взаимодействия открытых систем. Например, сетевые интерфейсные платы могут реализовывать аспекты уровня линии передачи данных, а также физического уровня.
В этом примере сетевая служба 306 включает в себя стек 316 протокола управления передачей и Интернет-протокола (TCP/IP). Альтернативные архитектуры в соответствии с вариантом осуществления изобретения могут включать в себя дополнительные или альтернативные стеки сетевых протоколов, не показанные на фиг.3. Сетевая служба 306 может включать в себя модуль 318 автоматической частной адресации по Интернет-протоколу (APIPA), допускающий формирование и назначение частного адреса Интернет-протокола для вычислительной машины 302 независимо от удаленных сетевых служб, таких как службы формирования и назначения адресов Интернет-протокола, предоставляемые посредством сервера протокола динамической конфигурации хоста (DHCP). Подробности по реализации автоматической частной адресации по Интернет-протоколу в соответствии с вариантом осуществления изобретения, в частности подробности работы без серверов, а также назначаемой сетью адресации по Интернет-протоколу, описаны в статье "Plug and Play-Networking with Microsoft Automatic Private IP Addressing", датированной мартом 1998 года, в разделе "Internet Protocol Helper" Microsoft Windows Platform Software Development Kit (SDK) в Microsoft Developer Network (MSDN) Library. Аналогичные механизмы автоматической адресации могут быть включены для сетевых протоколов, отличных от Интернет-протокола (IP). Хотя не показано на фиг.3, варианты осуществления изобретения могут включать в себя традиционный модуль протокола динамической конфигурации хоста (DHCP), допускающий предоставление назначаемой сетью адресации по Интернет-протоколу.
В варианте осуществления изобретения сетевая служба 306 включает в себя модуль 320 конвергенции произвольно организующейся сети, упрощающий эффективное формирование произвольно организующихся сетей. Модуль 320 конвергенции произвольно организующейся сети может включать в себя генератор 322 параметров произвольно организующихся сетей, набор 324 правил конвергенции произвольно организующейся сети и модуль 326 режима получения адреса произвольно организующейся сети.
Генератор 322 параметров произвольно организующихся сетей может формировать параметры произвольно организующихся сетей, подходящие для псевдослучайного распределения, такие как сетевые идентификаторы и варианты выбора радиочастотных каналов (к примеру, номера каналов беспроводной связи). Набор 324 правил конвергенции произвольно организующейся сети может включать в себя одно или более правил конвергенции произвольно организующейся сети, используемых модулем конвергенции произвольно организующейся сети, чтобы упростить конвергенцию произвольно организующейся сети. В частности, набор 324 правил конвергенции произвольно организующейся сети может определять один или более параметров произвольно организующихся сетей, которые не подходят для псевдослучайного распределения и/или для которых оптимальный выбор из доступного набора значений возможен, например выбор схемы обмена данными физического уровня (к примеру, PHY-тип). Модуль 326 режима получения адреса произвольно организующейся сети может управлять переходами сетевой службы 306 в и из режима получения адреса произвольно организующейся сети, например из и в режим получения адреса инфраструктурной сети и/или сети по умолчанию.
Сетевая служба 306 дополнительно может включать в себя сетевое имя или идентификатор набора служб (SSID) 328. Идентификатор 328 набора служб не обязательно должен включать в себя машиноисполняемые инструкции, например, идентификатором 328 набора служб может быть поле данных, сохраненное в системном запоминающем устройстве 106 (фиг.1). Идентификатор 328 набора служб одновременно может быть ассоциативно связан с различными произвольно организующимися сетями, например, произвольно организующиеся сети 218 и 220 (фиг.2) могут быть ассоциативно связаны с одинаковыми значениями идентификатора 328 набора служб. В варианте осуществления изобретения две или более произвольно организующиеся сети, ассоциативно связанные с одинаковыми значениями идентификатора 328 набора служб, имеют целью конвергенцию к одной произвольно организующейся сети, такой как произвольно организующаяся сеть 216. Разумеется, сетевая служба 306 может включать в себя несколько идентификаторов набора служб, таких как идентификатор 328 набора служб, хотя для простоты только один такой идентификатор проиллюстрирован на фиг.3.
В варианте осуществления изобретения сетевая служба 306 дополнительно может включать в себя графический пользовательский интерфейс (GUI) 330 произвольно организующейся сети для конфигурирования, управления командами и/или иного взаимодействия с сетевой службой 306. В одном или более альтернативных вариантов осуществления изобретения графический пользовательский интерфейс 330 произвольно организующейся сети может быть встроен в общий графический пользовательский интерфейс соединения сетей, не конкретный для произвольно организующихся сетей, и не обязательно должен быть частью сетевой службы 306. В частности, пользователь вычислительной машины 302 может ввести значение для идентификатора 328 набора служб с помощью графического пользовательского интерфейса 330 произвольно организующейся сети. Значение идентификатора 328 набора служб может быть введено с помощью алфавитно-цифровой клавиатуры, выбрано из перечня вариантов и/или введено с помощью любого подходящего устройства и/или средства управления графическим или неграфическим пользовательским интерфейсом, либо, например, автоматически определено на основе одной или более сетей (не обязательно произвольно организующихся сетей 216, 218, 220 по фиг.2), обнаруженных посредством одной или более сетевых интерфейсных плат 308, 310.
Каждая вычислительная машина 202, 204, 206, 208, 210, 212 и 214 (фиг.2) может включать в себя некоторые или все элементы, проиллюстрированные на фиг.3. В частности, некоторые или все из вычислительных машин 202, 204, 206, 208, 210, 212 и 214 могут включать в себя модуль 320 конвергенции произвольно организующейся сети. В варианте осуществления изобретения одна или аналогичная операция генератора 322 параметров произвольно организующихся сетей, набора 324 правил конвергенции произвольно организующейся сети и/или модуль 326 режима получения адреса произвольно организующейся сети в каждой вычислительной машине 202, 204, 206, 208, 210, 212 и 214 предоставляет эффективное формирование произвольно организующихся сетей.
После описания примерной архитектуры 300 далее описываются примерные способы эффективного формирования произвольно организующихся сетей. В варианте осуществления изобретения быстрая конвергенция произвольно организующейся сети упрощается посредством формирования одинаковых или аналогичных значений сетевых параметров из одного начального значения и/или из одного набора либо поднабора правил конвергенции. Фиг.4 иллюстрирует примерные этапы для упрощения конвергенции произвольно организующейся сети в соответствии с вариантом осуществления изобретения.
На этапе 402 идентификатор произвольно организующейся сети, такой как идентификатор набора служб (SSID) 328 (фиг.3), может быть принят, например, модулем 320 конвергенции произвольно организующейся сети. Идентификатором произвольно организующейся сети типично является алфавитно-цифровая строка символов или строка символов Unicode, но может быть любым надлежащим именем или идентификатором произвольно организующейся сети. Например, группа людей, каждый из которых с вычислительной машиной 202, 204, 206, 208, 210, 212 и 214 (фиг.2), содержащей сетевую службу 306, может собраться в комнате совещаний и принять решение сформировать произвольно организующуюся сеть. Может быть так, что группа принимает решение назвать произвольно организующуюся сеть "meeting", и один из членов группы вводит сетевое имя (т.е. значение идентификатора 328 набора служб) "meeting" с помощью графического пользовательского интерфейса 330 произвольно организующейся сети. Первый, кто ввел сетевое имя "meeting", может считаться основателем произвольно организующейся сети. В данном примере значение идентификатора 328 набора служб "meeting" затем принимается модулем 320 конвергенции произвольно организующейся сети непосредственно из графического пользовательского интерфейса 330 произвольно организующейся сети или посредством сетевой службы 306. Значение идентификатора 328 набора служб "meeting" может быть автоматически принято одним или более членами группы и, например, привести в результате к графическому приглашению для того, чтобы присоединиться к произвольно организующейся сети "meeting", которое каждый приглашаемый может принять, отклонить или игнорировать.
На этапе 404 один или более параметров произвольно организующейся сети может быть сформирован как функция, например криптографическая односторонняя хеш-функция значения идентификатора 328 набора служб (фиг.3). Пример, проиллюстрированный посредством фиг.4, показывает два параметра произвольно организующейся сети, сформированные на подэтапах 406 и 408 этапа 404. Каждый из этапов 404, 406 и 408 может выполнять любую надлежащую криптографическую хеш-функцию. Эти криптографические хеш-функции широко известны в данной области техники и не должны подробно описываться в данном документе. Этапы 404, 406 и/или 408 могут быть выполнены посредством генератора 322 параметров произвольно организующейся сети. Каждая вычислительная машина 202, 204, 206, 208, 210, 212 и 214 (фиг.2) может содержать генератор 322 параметров произвольно организующейся сети. Генератор 322 параметров произвольно организующейся сети может формировать одинаковые одно или более значений параметров произвольно организующейся сети на каждой вычислительной машине 202, 204, 206, 208, 210, 212 и 214, которые снабжаются одним идентификатором 328 набора служб.
На этапе 406 базовый идентификатор набора служб (BSSID) может быть сформирован как функция, например криптографическая хеш-функция значения идентификатора 328 набора служб (фиг.3). Несмотря на похожие названия специалисты в данной области техники должны принимать во внимание, что идентификатор набора служб (SSID) 328 и базовый идентификатор набора служб (BSSID) являются различными идентификаторами, выполняющими различные роли. Например, в отличие от идентификатора 328 набора служб, который может быть выбран пользователем вычислительной машины 302, чтобы идентифицировать произвольно организующуюся сеть 216 (фиг.2), адрес управления доступом к среде (MAC), ассоциативно связанный с одной из сетевых интерфейсных плат 308 или 310, может быть использован в традиционных системах и способах в качестве базового идентификатора набора служб. В варианте осуществления изобретения возможность для различных базовых идентификаторов наборов служб быть ассоциативно связанными с одним идентификатором набора служб может быть причиной неэффективности конвергенции произвольно организующейся сети, приводящей, например, к нескольким произвольно организующимся сетям 218 и 220 (фиг.2) вместо одной произвольно организующейся сети 216, так что формирование базового идентификатора набора служб как функции от идентификатора набора служб позволяет устранить эту неэффективность.
На этапе 408 номер канала беспроводной связи может быть сформирован как функция, например криптографическая хеш-функция идентификатора 328 набора служб (фиг.3). Кроме того, выбор различных номеров каналов посредством различных вычислительных машин 202, 204, 206, 208, 210, 212 и 214 (фиг.2) в ходе формирования произвольно организующейся сети может приводить к неэффективности конвергенции произвольно организующейся сети. В варианте осуществления изобретения формирование такого же номера канала беспроводной связи, что и функция от такого же значения идентификатора 328 набора служб в каждой вычислительной машине 202, 204, 206, 208, 210, 212 и 214, предотвращает эту неэффективность формирования произвольно организующихся сетей.
На этапе 410 схема связи физического уровня (к примеру, PHY-тип) может быть выбрана из набора доступных схем. Например, каждая вычислительная машина 202, 204, 206, 208, 210, 212 и 214 (фиг.2) может включать в себя сетевые интерфейсные платы 308, 310, поддерживающие один или более PHY-типов IEEE 802.11a, 802.11b и 802.11g. Этап 410 может быть выполнен в каждой вычислительной машине 202, 204, 206, 208, 210, 212 и 214 в ходе формирования произвольно организующихся сетей, и PHY-тип может быть выбран, например, в соответствии с некоторым поднабором из набора 324 правил конвергенции произвольно организующейся сети (фиг.3). Примерные этапы выбора схемы связи физического уровня в соответствии с вариантом осуществления изобретения описаны ниже более подробно со ссылкой на фиг.7.
После установления общего набора параметров произвольно организующихся сетей в вычислительных машинах 202, 204, 206, 208, 210, 212 и 214 (фиг.2) на этапе 412 протокол формирования произвольно организующейся сети может быть выполнен, например, посредством вычислительных машин 202, 204, 206, 208, 210, 212 и 214 с помощью (т.е. параметризованных с помощью) общего набора параметров произвольно организующихся сетей. Этап 412 может включать в себя явную параметризацию протокола формирования произвольно организующихся сетей, например, модуль 320 конвергенции произвольно организующейся сети (фиг.3) может сохранять сформированные, выбранные и/или определенные значения параметров произвольно организующихся сетей с помощью сетевой службы 306. В варианте осуществления изобретения, в сравнении с традиционным отсутствием координации между вычислительными машинами 202, 204, 206, 208, 210, 212 и 214, установления общего набора параметров произвольно организующихся сетей на этапах 404, 406, 408 и/или 410 приводит к более эффективному формированию произвольно организующихся сетей. Дополнительные подробности относительно формирования произвольно организующихся сетей описаны ниже со ссылкой на фиг.5 и 6.
Фиг.5 иллюстрирует примерные этапы формирования произвольно организующихся сетей в соответствии с вариантом осуществления изобретения. В частности, фиг.5 иллюстрирует примерные этапы для эффективного получения сетевого адреса в вычислительном сетевом окружении, независимом от ресурсов инфраструктурной сети, таких как серверы протокола динамической конфигурации хоста (DHCP). Например, этапы, проиллюстрированные на фиг.5, могут быть выполнены как часть этапа 412 (фиг.4).
На этапе 502 может быть принята инструкция для присоединения к вычислительной сети. Например, сетевая служба 306 (фиг.3) может принять инструкцию, чтобы присоединиться к вычислительной сети, от вычислительной операционной системы 304. На этапе 504 может быть определен тип вычислительной сети, к которой следует присоединиться. В частности, может быть определено то, является ли вычислительная машина, которая должна быть присоединена, инфраструктурной вычислительной сетью или произвольно организующейся вычислительной сетью. Определение по этапу 504 может быть выполнено в соответствии с контекстом инструкции для присоединения (контекст даже может явно задавать тип сети), или, например, модуль 320 конвергенции произвольно организующейся сети может запрашивать у сетевой службы 306 и/или вычислительной операционной системы 304 информацию, соответствующую типу сети. В варианте осуществления изобретения этапы 502 и 504 выполняются совместно с этапом 402 (фиг.4) и до этапов 404 и 410.
При типе сети, определенном на этапе 504, тип сети может быть проверен на этапе 506. Если сеть является произвольно организующейся сетью, процедура может перейти к этапу 508. В противном случае, процедура может перейти к этапу 510. На этапе 508 может быть активирован режим получения адреса произвольно организующейся сети (ANAA), например, модулем 326 режима получения адреса произвольно организующейся сети (фиг.3). В частности, режим получения адреса произвольно организующейся сети может избегать активной ссылки на ресурсы инфраструктурной сети, такие как серверы протокола динамической конфигурации хоста (DHCP). В отличие от этого на этапе 510, без активированного режима получения адреса произвольно организующейся сети, может быть сделана попытка получить сетевой адрес из этого ресурса инфраструктурной сети. При активированном режиме получения адреса произвольно организующейся сети процедура может перейти к этапу 512.
На этапе 512 ускоренное получение адреса произвольно организующейся сети может осуществляться независимо от ресурсов инфраструктурной сети. Фиг.5 иллюстрирует два примерных подэтапа 514 и 516 этапа 512, подходящих для встраивания в этап 512, когда адрес произвольно организующейся сети для получения является адресом Интернет-протокола (IP), тем не менее, специалистам в данной области техники должно быть очевидным, что каждый вариант осуществления изобретения не ограничен таким образом. На этапе 514 может быть получен автоматический частный IP-адрес (APIPA), например, с помощью модуля 318 автоматического частного IP-адреса (APIPA) (фиг.3). Поскольку в варианте осуществления изобретения автоматический частный IP-адрес назначается псевдослучайно и без ссылки на координирующий ресурс инфраструктурной сети, есть вероятность того, чтобы более одной вычислительной машины 202, 204, 206, 208, 210, 212 и 214 (фиг.2) при формировании произвольно организующейся сети 216 может получить один автоматический частный IP-адрес. На этапе 516 эти дублированные адреса могут быть обнаружены и получены повторно в традиционной процедуре обнаружения дублированных адресов.
В значительной степени режим получения адреса произвольно организующейся сети, активированный на этапе 508, может быть ускоренным и/или более эффективным режимом получения сетевого адреса для произвольно организующейся сети в сравнении, например, с режимом получения адреса инфраструктурной сети или адреса по умолчанию. Например, режим получения адреса по умолчанию или адреса инфраструктурной сети может включать в себя один или более этапов, соответствующих этапу 510, на которых может быть сделана попытка получить сетевой адрес от сервера протокола динамической конфигурации хоста и т.п. Если такая попытка выполняется в сети, где отсутствует подобная инфраструктура, определенное количество времени будет потеряно (к примеру, 60 секунд) до того, как истечет тайм-аут попытки, даже если затем выполняются один или более этапов, соответствующих этапу 512. Режим получения адреса произвольно организующейся сети позволяет избегать потенциально сложных проблем, ассоциативно связанных с повышением эффективности обнаружения инфраструктурных элементов, за счет устранения этих попыток обнаружения. В варианте осуществления изобретения режим получения адреса произвольно организующейся сети, таким образом, повышает эффективность формирования произвольно организующейся сети. В одном или более вариантов осуществления изобретения режим получения адреса произвольно организующейся сети может выполняться параллельно с одним или более режимов получения адреса произвольно организующейся сети, таких как режим получения адреса по умолчанию или адреса инфраструктурной сети, и, например, один или более сетевых адресов, полученных с помощью альтернативных режимов получения сетевого адреса, могут дополнять или заменять сетевой адрес, полученный посредством режима получения адреса произвольно организующейся сети.
После того как адрес произвольно организующейся сети успешно получен на этапе 512, вычислительная машина 202, 204, 206, 208, 210, 212 и 214 (фиг.2), выполняющая этап 512, может рассматриваться как присоединившаяся к произвольно организующейся сети, такой как произвольно организующаяся сеть 216, 218 или 220. В некоторой точке вычислительная машина 202, 204, 206, 208, 210, 212 и 214 может выйти из произвольно организующейся сети 216, 218 или 220. Фиг.6 иллюстрирует примерные этапы для выхода из произвольно организующейся сети 216, 218 или 220 в соответствии с вариантом осуществления изобретения. Соединительный символ 518 указывает непрерывность между этапами, проиллюстрированными посредством фиг.5, и этапами, проиллюстрированными посредством фиг.6.
На этапе 602 может быть принято уведомление отсоединения от произвольно организующейся сети, например, модулем 320 конвергенции произвольно организующейся сети (фиг.3). В варианте осуществления изобретения уведомления отсоединения от произвольно организующейся сети соответствуют традиционным уведомлениям отсоединения носителей, предоставляемым посредством сетевой службы 306. В ответ на уведомление отсоединения от произвольно организующейся сети, на этапе режим получения адреса произвольно организующейся сети (ANAA), активированный на этапе 508 (фиг.5), может быть деактивирован. Как результат, сетевая служба 306 может вернуться к режиму получения сетевого адреса по умолчанию или инфраструктурному режиму получения сетевого адреса.
Фиг.7 иллюстрирует примерные этапы для выбора схемы обмена данными физического уровня в соответствии с вариантом осуществления изобретения. На этапе 702 может быть определено то, должна ли схема обмена данными физического уровня (к примеру, PHY-тип) быть выбрана вручную. Например, конфигурационный элемент сетевой службы 306 (фиг.3) может указать, должна ли схема обмена данными физического уровня быть выбрана вручную или автоматически. Если схема обмена данными физического уровня должна быть выбрана вручную, процедура может перейти к этапу 704. В противном случае, процедура может перейти к этапу 706.
На этапе 704 графический пользовательский интерфейс (GUI) выбора схемы обмена данными физического уровня может быть отображен пользователю вычислительной машины 302 (фиг.3), например, посредством сетевой службы 306. Графический пользовательский интерфейс выбора схемы обмена данными физического уровня может представлять варианты схемы обмена данными физического уровня для выбора пользователем вычислительной машины 302. Например, варианты схемы обмена данными физического уровня могут быть определены посредством характеристик сетевых интерфейсных плат 308, 310. На этапе 708 выбор, сделанный пользователем вычислительной машины 302, может быть принят, например, посредством сетевой службы 306.
На этапе 706 число доступных схем обмена данными физического уровня может быть определено. Например, модуль 320 конвергенции произвольно организующейся сети (фиг.3) может запросить сетевую службу 306 в отношении характеристик сетевых интерфейсных плат 308, 310 вычислительной машины 302. Если определено, что число доступных схем обмена данными физического уровня превышает одну, то процедура может перейти к этапу 710. В противном случае, процедура может перейти к этапу 712. На этапе 712 одна доступная схема обмена данными физического уровня может быть выбрана или, если нет доступных схем обмена данными физического уровня, может быть активировано программное исключение.
На этапе 710 может быть определено, доступны ли схемы обмена данными физического уровня IEEE 802.11a, 802.11b и 802.11g. Если схемы обмена данными физического уровня IEEE 802.11a, 802.11b и 802.11g доступны, то процедура может перейти к этапу 714. В противном случае, процедура может перейти к этапу 716. На этапе 714 может быть выбрана схема обмена данными физического уровня IEEE 802.11g. В варианте осуществления изобретения выбор схемы обмена данными физического уровня IEEE 802.11g для этого состояния оптимизирует конвергенцию произвольно организующейся сети, поскольку схема обмена данными физического уровня IEEE 802.11g имеет обратную совместимость со схемой обмена данными физического уровня 802.11b, тогда как ни 802.11b, ни 802.11g не имеют обратной совместимости с 802.11a.
На этапе 716 может быть определено, доступны ли схемы обмена данными физического уровня IEEE 802.11b и 802.11g. Если схемы обмена данными физического уровня IEEE 802.11b и 802.11g доступны, то процедура может перейти к этапу 718. В противном случае, процедура может перейти к этапу 720. На этапе 718 может быть выбрана схема обмена данными физического уровня IEEE 802.11g. В варианте осуществления изобретения выбор схемы обмена данными физического уровня IEEE 802.11g для этого состояния оптимизирует конвергенцию произвольно организующейся сети, поскольку схема обмена данными физического уровня IEEE 802.11g имеет обратную совместимость со схемой обмена данными физического уровня 802.11b.
Как указано посредством пунктирных линий 722, 724 и 726, каждая из пар состояние-действие, т.е. этапы 706 и 712, этапы 710 и 714 и этапы 716 и 718 могут рассматриваться как правило конвергенции произвольно организующейся сети, подходящее для кодирования и/или включения в набор 324 правил конвергенции произвольно организующейся сети (фиг.3). Каждый вариант осуществления изобретения не обязательно должен иметь каждое из правил 722, 724 и 726. Вариант осуществления изобретения может иметь больше или меньше, чем правила 722, 724 и 726. Дополнительные и/или другие правила могут иметь состояние конвергенции произвольно организующейся сети и действие конвергенции произвольно организующейся сети, аналогичные правилам 722, 724 и 726, но каждый вариант осуществления изобретения не ограничен таким образом. Состояние конвергенции произвольно организующейся сети может включать в себя любой подходящий предикат, например, как задано посредством базы данных или языка программирования. Действие конвергенции произвольно организующейся сети может включать в себя любой подходящий набор программных инструкций, например, как задано посредством базы данных или языка программирования, и включать в себя вызовы функций и другие взаимодействия с операционной системой 304 (фиг.3) вычислительной машины 302 и с удаленными вычислительными машинами 116 (фиг.1).
После исчерпания набора 722, 724 и 726 правил в этом примере процедура может перейти к этапу 720, чтобы попытаться осуществить процедуру раздела схемы обмена данными физического уровня на основе ранжирования. Хотя в альтернативном варианте осуществления изобретения этапы 720 и 728 опущены, и программное исключение возникает, если набор правил конвергенции произвольно организующейся сети 324 исчерпался.
На этапе 720 каждая доступная схема обмена данными физического уровня может быть ранжирована согласно эффективности конвергенции произвольно организующейся сети. Например, каждая схема обмена данными физического уровня может быть ассоциативно связана со сконфигурированным рангом конвергенции или функцией ранжирования конвергенции, и доступные схемы обмена данными физического уровня могут быть ранжированы согласно соответствующим сконфигурированным рангам конвергенции или соответствующим функциям ранжирования конвергенции. Подходящие параметры для функций ранжирования конвергенции включают в себя набор доступных схем обмена данными физического уровня, их сконфигурированные ранги конвергенции и/или функции ранжирования конвергенции. Функции ранжирования конвергенции могут модифицировать существующие сконфигурированные ранги конвергенции и/или немедленно возвращать новые ранги конвергенции.
На этапе 728 может быть выбрана схема обмена данными физического уровня с наивысшим рангом. Если две или более схем обмена данными физического уровня имеют одинаковый ранг, вариант может выбираться детерминировано из схем обмена данными физического уровня с одинаковым рангом, например в обратном алфавитном порядке названий схем. В варианте осуществления изобретения этапы, проиллюстрированные на фиг.7, обеспечивают то, что одинаковый или совместимый выбор схемы обмена данными физического уровня выполняется в группе вычислительных машин 202, 204, 206, 208, 210, 212 и 214 (фиг.2), пытающихся добиться конвергенции к одной произвольно организующейся сети 216, тем самым, повышая эффективность конвергенции произвольно организующейся сети.
В примере, проиллюстрированном на фиг.7, этапы 720 и 728 показаны как этапы, которые могут быть выполнены помимо или вместо этапов, ассоциативно связанных с правилами 722, 724 и 726. Тем не менее, в альтернативном варианте осуществления изобретения этапы 720 и 728 могут быть реализованы как одно или более правил конвергенции произвольно организующейся сети в наборе правил конвергенции 324 (фиг.3). Если этапы реализованы как правила в наборе 324 правил конвергенции, правила в наборе 324 правил конвергенции могут быть интерпретированы модулем 320 конвергенции произвольно организующейся сети. В противном случае, этапы могут быть традиционно включены, например, в модуль 320 конвергенции произвольно организующейся сети.
Все ссылки, в том числе публикации, патентные заявки и патенты, упоминаемые в данном документе, содержатся по ссылке в той степени, как если бы каждая ссылка была отдельно и конкретно указана так, чтобы содержаться по ссылке, и полностью изложена в данном документе.
Использование терминов "a" и "an" и "the" и аналогичных объектов ссылки в контексте описания изобретения (особенно в контексте прилагаемой формулы изобретения) должно истолковываться так, чтобы охватывать единственное и множественное число, если иное не указано в данном документе или явно опровергается контекстом. Термины "содержащий", "имеющий", "включающий в себя" и "вмещающий" должны истолковываться как открытые термины (т.е. означающие "включающий, но не только"), если не указано иное. Перечисление диапазонов значений в данном документе служит просто для того, чтобы выступать в качестве укороченного метода задания ссылок отдельно на каждое значение, попадающее в диапазон, если иное не указывается в данном документе, и каждое отдельное значение включается в техническое описание так, как если бы оно было отдельно перечислено в данном документе. Все способы, описанные в данном документе, могут выполняться в любом надлежащем порядке, если иное не указано в данном документе или явно опровергается контекстом. Использование всех без исключения примеров или примерный язык (к примеру, "такой как"), предоставляемый в данном документе, предназначен просто для того, чтобы лучше разъяснять изобретение, и не налагает никаких ограничений на область применения изобретения, если не заявлено иное. Никакой язык в данном подробном описании не должен истолковываться как указывающий какой-либо незаявленный в формуле изобретения элемент как важнейших для применения изобретения на практике.
В данном документе описаны предпочтительные варианты осуществления, в том числе оптимальный режим, известный авторам изобретения, для осуществления изобретения. Вариации в эти предпочтительные варианты осуществления могут стать очевидными специалистам в данной области техники после прочтения вышеизложенного описания. Авторы изобретения предполагают, что специалисты в данной области техники используют эти вариации надлежащим образом, и авторы изобретения планируют, что изобретение будет использовано на практике способами, отличными от конкретно описанных в данном документе. Следовательно, данное изобретение включает все модификации и эквиваленты в предмет, перечисленный в формуле изобретения, прилагаемой к нему, согласно соответствующему законодательству. Более того, любая комбинация вышеописанных элементов во всех возможных вариациях заключается посредством данного изобретения, если иное не указано данном документе или явно опровергается контекстом.