СПОСОБ СОЗДАНИЯ БЕСПРОВОДНОЙ МНОГОСКАЧКОВОЙ СЕТИ
METHOD OF CREATING MULTIHOP WIRELESS NETWORK

Изобретение описывает способ создания беспроводной многоскачковой, предпочтительно ячеистой, сети, в частности, сети типа ZigBee, содержащей множество устройств в схеме расположения устройств. Изобретение дополнительно описывает устройство, содержащее сетевой интерфейс для соединения с беспроводной многоскачковой сетью.
УРОВЕНЬ ТЕХНИКИ
Использование беспроводных сетей становится широко распространенным в бизнесе (торговле, промышленности, институциональном бизнесе) и также на потребительских рынках для автоматического управления различными схемами расположения устройств. Примерами являются системы автоматизации зданий, например, для освещения, обогрева и вентиляции, безопасности и т.д., содержащие устройства, такие как балласты ламп, переключатели, диммеры или другие элементы управления, датчики дневного света/присутствия, выключатели, счетчики и т.д. Использование радиоуправления делает устройства автоматизации независимыми от источников электроэнергии в среде управления, таким образом, допуская свободу размещения устройств, поскольку управление устройствами более не зависит от электропроводки и розеток, и допуская улучшенную портативность устройств, по меньшей мере, для тех устройств, которые имеют питание от аккумулятора, таких как переключатели и датчики. Обычными примерами таких беспроводных персональных сетей (WPAN) являются сети ZigBee (IEEE 802.15.4), Bluetooth, HomeRF или Wi-Fi.
Во многих случаях диапазон передачи воздушных интерфейсов между устройствами меньше, чем размеры сети, и для соединения на уровне приложений первому устройству может потребоваться создание сетевого пути (именуемого далее также “маршрутом”) ко второму устройству посредством определенного количества третьих устройств, которые передают сообщение от первого устройства ко второму устройству. Такая сеть, в которой, на уровне приложений, отправляющее устройство передает сообщение принимающему устройству, используя другие устройства в качестве промежуточных станций, называется “многоскачковой” сетью. Таким образом, сетевой путь между отправляющим и принимающим устройством может быть создан самоорганизующимся образом в соответствии с правилами соответствующего сетевого стандарта. Для этого используются физические соединения, т.е. фактическое нахождение друг друга устройствами в радиодиапазоне, особенно в ячеистых сетях, и логические соединения, т.е. специальные взаимосвязи между узлами, особенно в древовидной топологии. Физические и логические соединения между устройствами могут быть созданы в процессе инициализации, например, когда устройство присоединяется к сети. В другом примере, сетевой путь может быть создан, когда он необходим, спонтанным образом, в частности, когда предыдущий сетевой путь обрывается, например, вследствие отказа промежуточного устройства на пути.
В настоящее время ZigBee является единственной стандартной маломощной, малогабаритной технологией WPAN, которая допускает самоорганизацию в значительной степени. ZigBee предлагает два пути создания топологии сети: 'DirectJoin' (непосредственное присоединение) и свободное объединение, таким образом, в обоих случаях может быть создана древовидная структура, которая является предпочтительным размещением для сетей меньшего размера, или может быть создана стохастическая структура, которая может быть предпочтительным решением для более крупных сетей. Устройство, к которому присоединяется новое устройство, называется 'родительским устройством' присоединившегося устройства ('дочернего устройства').
Способ DirectJoin требует от пользователя предварительного определения взаимосвязей типа родитель-потомок для всех устройств в сети. Помимо высокого обременения пользователя (особенно в случае больших сетей с тысячами узлов), это требует экспертных инструментальных средств для измерения радиодиапазона и/или экспертных знаний о беспроводном распространении и связано с высокими затратами по техническому обслуживанию при необходимости изменений или адаптаций в сети. Это нежелательно в нестабильном, допускающем множество путей, беспроводном окружении.
Процедура свободного объединения позволяет осуществляющему поиск устройству (или новому, или присутствующему в сети ранее), намеревающемуся присоединиться к сети, выбрать родительский узел в соответствии с предварительно заданными критериями. В стандарте ZigBee и конечные устройства ZigBee (называемые далее также 'ZED') с уменьшенной функциональностью, и маршрутизаторы ZigBee (называемые далее также 'ZR') пытаются выбрать в качестве родительского объекта маршрутизатор, для которого верны все следующие условия:
1. Маршрутизатор принадлежит сети, идентифицированной конкретным сетевым идентификатором ('параметр ExtendedPANId' (расширенный идентификатор персональной сети) или 'EPID' в стандарте ZigBee);
2. Маршрутизатор открыт для запросов на присоединение и оповещает о емкости правильного типа устройства (маршрутизатора ZigBee или конечного устройства ZigBee);
3. Объявленное 'обновление id' является недавним;
4. Качество связи для кадров, принятых от этого устройства, таково, что стоимость связи не превышает 3. [ZigBee-2007, 053474r17, раздел 3.6.1.4.1.1., стр.352, 1.1ff],
таким образом, стоимость связи вычисляется как
<mrow><mi>C</mi><mrow><mo>{</mo><mi>I</mi><mo>}</mo></mrow><mo>=</mo><mrow><mo>{</mo><mtable columnalign="left"><mtr><mtd><mn>7,</mn></mtd></mtr><mtr><mtd><mi>min</mi><mrow><mo>(</mo><mrow><mn>7,</mn><mi>r</mi><mi>o</mi><mi>u</mi><mi>n</mi><mi>d</mi><mrow><mo>(</mo><mrow><mfrac><mn>1</mn><mrow><msub><mi>p</mi><mn>1</mn></msub><msup><mrow /><mn>4</mn></msup></mrow></mfrac></mrow><mo>)</mo></mrow></mrow><mo>)</mo></mrow></mtd></mtr></mtable></mrow></mrow>
(1)
1
где p - вероятность доставки пакета по линии 1 связи и может быть получена анализом частоты появления ошибок и/или свойств сигнала, таких как значения детектирования энергии и/или отношения сигнал/шум; на усмотрение конструктора ZigBee.
5. Если более чем одно устройство удовлетворяет данным четырем требованиям, то, в соответствии со стандартом ZigBee, присоединяющееся устройство выберет родительский объект с наименьшей глубиной дерева. [ZigBee-2007, 053474r17, раздел 3.6.1.4.1.1., стр.352, 1.18ff]. Если более чем один потенциальный родительский объект имеет наименьшую глубину дерева, устройство может выбрать любой из них.
При исходном формировании сети еще не будет иметься хорошая оценка стоимости связи для устройств, так как к тому времени отправлено/принято очень небольшое количество пакетов. Когда в качестве значения по умолчанию для стоимости связи взято значение 7 (см. уравнение 1), все возможные родительские объекты удовлетворяет требованиям 1-4 с ограничением четвертым требованием, что фактически заставит узел применять только пятое правило, т.е. выбирать расположенный наиболее высоко родительский объект в сетевом дереве (с наименьшей глубиной дерева).
Следовательно, вышеупомянутый способ свободного объединения может иметь результатом сетевые топологии, которые очень плотны в непосредственной близости от корня дерева, т.е. от координатора PAN ZigBee (именуемого далее также 'ZC'), который формирует корень сетевой логической структуры (главным образом, дерева), и может иметь результатом линии связи типа родитель-потомок потенциально плохого качества (по меньшей мере, могут быть доступны линии связи более высокого качества). В результате, рабочие характеристики сети будут менее чем оптимальными в отношении задержки и надежности доставки пакетов. Главным образом это касается сетей, вмещающих в себя ZED'ы, которые стандарт заставляет осуществлять связь исключительно посредством их родительского объекта.
В сетях, подобных ZigBee, предполагается наличие многих работающих от аккумулятора устройств с уменьшенной функциональностью, подобных ZED, так как достоинство беспроводного управления состоит в его независимости от основных источников энергии. Предполагается, что устройства управления - переключатели, датчики, удаленные контроллеры (RC) и т.д., использующие радиосвязь главным образом в ответ на пользовательский ввод, или на воспринятые изменения в окружении - являются ZED'ами, работающими от аккумулятора. Они могут управлять множеством устройств, включая чувствительные к потере пакетов и критичные по времени приложения, например, переключение освещения, требующие, несмотря на уменьшенную функциональность ZED, определенного уровня рабочих характеристик сети. Кроме того, желательно максимально увеличить надежность сети и при этом сберечь энергию ZED, сводя к минимуму количество ретрансляций, связанных с командой.
Следовательно, задачей изобретения является предоставление более интеллектуального способа самоорганизации для формирования беспроводных многоскачковых сетей, в частности, сетей типа ZigBee, которые включают в себя ZED'ы, и предоставление устройства, содержащего сетевой интерфейс для соединения с беспроводной многоскачковой сетью в соответствии с данным способом.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
С этой целью настоящее изобретение описывает способ создания беспроводной многоскачковой сети, содержащей множество устройств в схеме расположения устройств, причем при данном способе устройства создают физическое беспроводное соединение, по меньшей мере, с другим устройством сети в процессе самоорганизации, причем в данном процессе самоорганизации
- осуществляющее поиск устройство, намеревающееся присоединиться к сети, прослушивает маяковые сигналы, излучаемые родительскими устройствами-кандидатами, уже находящимися в сети, причем маяковый сигнал содержит идентификатор сети и идентификатор устройства излучающего устройства;
- осуществляющее поиск устройство выбирает родительское устройство среди числа родительских устройств-кандидатов в процессе выбора родительского объекта, в соответствии с заданными правилами выбора, основываясь на идентификаторах (EPID) сети, возможностях приема родительских устройств-кандидатов и значениях параметра качества связи, относящихся к устройству и родительским устройствам-кандидатам,
причем в процессе выбора родительского объекта применяют дополнительные данные соединения на уровне приложений осуществляющего поиск устройства и/или родительских устройств-кандидатов;
- и осуществляющее поиск устройство подсоединяется физически, и, предпочтительно, также логически (“объединяется” - термин, используемый в стандарте ZigBee) через выбранное родительское устройство к сети.
В сети ZigBee родительские устройства-кандидаты являются ZR (или ZC), отправляющими свой параметр ExtendedPANId в качестве идентификатора сети и адрес IEEE в качестве идентификатора устройства в так называемом “маяковом” сигнале в качестве ответного сигнала на маяковый сигнал запроса осуществляющего поиск устройства. Возможностями приема являются возможности родительского устройства-кандидата принимать устройство конкретного типа, например, ZED или ZR, в качестве дополнительного дочернего объекта, информация о которых также включена в маяковый сигнал. Значением параметра качества связи может быть стоимость связи, определяемая в соответствии с уравнением (1).
В отличие от современного стандарта, теперь в процессе выбора родительского объекта учитываются данные соединения на уровне приложений. Такими данными соединения на уровне приложений могут быть любые данные, раскрывающие, с каким другим устройством устройство непосредственно или опосредованно связано или соединено на уровне приложений, а также насколько важно такое связывание, например, связан ли переключатель со светильником, управляемым переключателем, или два или более светильника находятся в одной функциональной группе и управляются общим переключателем или на какую из двух отслеживающих станций датчик должен чаще передавать отчеты. Используя этот способ, в качестве родительского устройства, предпочтительно, выбирается ближайшее связанное устройство, т.е. родительское устройство-кандидат, которое имеет лучшее качество связи и связано с осуществляющим поиск устройством. Как будет показано ниже, такой подход приводит, очень просто, к значительному улучшению рабочих характеристик древовидной сети, созданной способом самоорганизации, так как количество скачков, используемых для создания сетевого пути, может быть существенно уменьшено.
Подходящее устройство содержит сетевой интерфейс для подсоединения к такой беспроводной многоскачковой сети, причем сетевой интерфейс содержит
- прослушивающий блок, который, при намерении устройства присоединиться к сети, прослушивает маяковые сигналы, излучаемые родительскими устройствами-кандидатами, уже находящимися в сети, причем маяковые сигналы содержат идентификатор сети и идентификатор устройства родительских устройств-кандидатов,
- блок выбора родительского объекта для выбора родительского устройства среди родительских устройств-кандидатов в соответствии с заданными правилами выбора, основываясь на идентификаторах (EPID) сети, возможностях приема родительских устройств-кандидатов и значениях параметра качества связи для связи между устройством и родительскими устройствами-кандидатами,
причем блок выбора родительского объекта реализован таким образом, что оно также использует данные соединения на уровне приложений устройства и/или родительских устройств-кандидатов в процессе выбора родительского устройства,
- и блок соединения для создания физического и, предпочтительно, также логического соединения в сети между устройством и выбранным родительским устройством.
Изобретение предпочтительно используется для сетей типа ZigBee, но также оно может быть использовано для других подобных многоскачковых сетей, которые также способны создавать физические и, предпочтительно, также логические соединения между сетевыми узлами в процессе самоорганизации.
Зависимые пункты формулы изобретения и последующее описание раскрывают, в частности, предпочтительные варианты воплощения и признаки изобретения, в соответствии с которыми, в частности, устройство по изобретению может быть дополнительно развито в соответствии с зависимыми пунктами формулы изобретения на способ.
В предпочтительных вариантах воплощения изобретения осуществляющее поиск устройство отправляет сигнал запроса устройствам, уже находящимся в сети. Каждое из определенного количества родительских устройств-кандидатов, которые принимают сигнал запроса, может затем излучить маяковый сигнал в качестве ответа. Такой сигнал запроса для сканирования возможных родительских устройств может быть широковещательно передан блоком сканирования или модулем сетевого интерфейса. Этот способ является более простым и менее энергозатратным, так как родительским устройствам-кандидатам не нужно непрерывно передавать маяковый сигнал, но только при намерении устройства присоединиться к сети.
Если осуществляющее поиск устройство принимает маяковый сигнал от устройства с правильным идентификатором сети, осуществляющее поиск устройство может затем запросить его прием этим излучающим родительским устройством-кандидатом в качестве дочернего объекта. Для уменьшения трафика данных маяковые сигналы родительского устройства-кандидата, предпочтительно, уже содержат возможность приема для устройства такого типа (в ZigBee: ZR или ZED).
Кроме того, маяковый сигнал может уже содержать информацию о глубине дерева излучающего родительского устройства-кандидата, указывающую на количество узлов между излучающим родительским устройством-кандидатом и корнем древовидной структуры сети, например, координатором ZigBee в сети ZigBee. Такая информация о глубине дерева затем может быть также учтена в процессе выбора родительского объекта. Например, в случае двух одинаково подходящих родительских устройств-кандидатов, рассматривая данные соединения на уровне приложений, могут быть выбраны родительские устройства-кандидаты с меньшей глубиной дерева, таким же образом, как и в существующем стандарте ZigBee.
Как упоминалось выше, данными соединения на уровне приложений могут быть любые данные, которые определяют, с каким другим устройством устройство непосредственно или опосредованно связано или соединено на уровне приложений, или важность такого связывания. На основе этих данных осуществляющее поиск устройство может подходящим образом выбрать в качестве родительского устройства то устройство, которое на уровне приложений выступает в качестве контроллера для этого осуществляющего поиск устройства или которое, на уровне приложений, управляет этим осуществляющим поиск устройством. Например, в сети ZigBee переключатель (ZED или ZR) может выбрать один из светильников ZR, которыми он управляет.
Это требует от устройств знаний о других устройствах, с которыми оно будет осуществлять связь на уровне приложений. Этого легко достигнуть, например, если данные соединения на уровне приложений содержат набор, например простой список, идентификаторов устройств других устройств, к которым устройства должны быть подсоединены на уровне приложений. Этот набор или список идентификаторов (называемый далее “таблицей связывания”) может быть сохранен в подходящей памяти сетевого интерфейса.
Таким образом, например, контроллер может выбрать в качестве родительского одно из устройств, с которым он связан, сравнением идентификаторов устройств, находящихся в маяковом сигнале и сохраненных в таблице связывания. Для этой цели предпочтительно в качестве идентификаторов устройств используется уникальный 64-битный длинный адрес устройств с сети ZigBee.
Распространяя правила, определенные для контроллера ZEDs в вышеописанном подходе, другие устройства, которые должны управляться одним контроллером, могут, если это возможно, особенно если они сами являются ZEDs, выбирать в качестве своих родительских объектов родительский объект контроллера, чтобы минимизировать количество скачков.
Устройства в схеме расположения устройств могут быть сгруппированы в функциональные группы, и данные соединения на уровне приложений могут содержать данные о принадлежности к группе. Используя также принадлежность к общей группе в качестве критерия для выбора родительского объекта, также можно достигнуть уменьшения количества скачков при соединении уровней приложений. Тем не менее, это требует конфигурации принадлежности к группе до объединения и знания о других участниках группы, которое может быть подано в виде простого идентификатора группы в маяковом сигнале.
Связывания и/или функциональные группы предпочтительно конфигурируют на обычной фазе ввода в эксплуатацию, так что данные соединения на уровне приложений доступны для выбора родительского объекта для устройства, намеревающегося присоединиться к рабочей сети. Также они могут быть статически заранее сконфигурированы, например, продавцом (установщиком) устройства или системным интегратором, например, созданы с помощью способов Out Of Band (вне основной полосы).
В предпочтительном варианте воплощения сети ZigBee данные соединения на уровне приложений содержат данные о связывании на подуровне поддержки приложений (APS). Альтернативно, в приложения может быть предоставлена эта информация непосредственно, т.е. данные соединения на уровне приложений непосредственно объединены с объектами приложений устройств, без использования механизма связывания APS. Далее, следовательно, для простоты любое логическое соединение на уровне приложений между начальным устройством и конечным устройством может быть названо “связыванием” и соответствующие устройства могут быть названы “связанными устройствами”, не зависимо от того, используется ли механизм связывания APS или нет.
Как объяснено выше, осуществляющее поиск устройство, предпочтительно, должно выбрать родительский объект среди родительских устройств-кандидатов, с которыми оно связано. Тем не менее, в частности, когда создается новая сеть, эти связанные устройства могут еще не находиться в сети, когда осуществляющее поиск устройство пытается присоединиться. Таким образом, в предпочтительном варианте воплощения осуществляющее поиск устройство отправляет новый сигнал запроса после первого сигнала запроса, если оно не приняло ответный сигнал от родительского устройства-кандидата, с которым запрашивающее устройство должно быть соединено на уровне приложений в соответствии с данными соединения на уровне приложений. Таким образом, осуществляющее поиск устройство, главным образом ZED, может отложить, предпочтительно в пределах заданного временного ограничения, объединение до тех пор, пока, по меньшей мере, N связанных устройств (N равно или более 1) не будут обнаружены при исходном сканировании, так как осуществляющие поиск устройства “знают”, что связанные устройства присоединятся к сети. Это позволит формировать еще более эффективные топологии, при этом не задерживая формирование сети. Информация о том, какие связанные устройства расположены по соседству, если такие есть, может быть, например, набрана в течение фазы ввода в эксплуатацию и сохранена. Например, маяковые сигналы потенциальных родительских объектов, набранные в течение фазы ввода в эксплуатацию, могут быть сохранены вместе с данными соединения на уровне приложений в памяти осуществляющего поиск устройства.
Когда осуществляющее поиск устройство присоединяется к сети, в частности, к сети, которая находится в процессе создания, осуществляющее поиск устройство может найти связанное родительское устройство, которое в настоящий момент времени является наиболее близко расположенным. Тем не менее, другие возможные подходящие родительские устройства, которые расположены еще ближе, были запущены позже и, следовательно, не могут быть найдены этим осуществляющим поиск устройством во время объединения. Чтобы исправить эту ситуацию в предпочтительном варианте воплощения изобретения устройство ожидает в течение заданного периода времени задержки после исходного запуска до поиска родительского устройства. Например, осуществляющие поиск устройства могли бы по умолчанию откладывать свою исходную процедуру объединения, которая может заключать в себе передачу сигнала запроса, так что они могут выбирать родительское устройство из большего количества доступных, уже объединившихся, устройств. Это может быть реализовано, например, в виде периода ожидания по умолчанию после включения питания и/или повторного запуска; предпочтительно, только в рабочем режиме и не в режиме ввода в эксплуатацию. В отличие от простого увеличения параметра ScanDuration (длительность сканирования) в современном стандарте ZigBee, данный способ не увеличивает исходное потребление энергии осуществляющими поиск устройствами.
Спецификация ZigBee позволяет полнофункциональному устройству объединяться в качестве ZR или, если это невозможно из-за истощения адресного пространства потенциальных родительских объектов или записей памяти для дочерних объектов, объединяться в качестве ZED. Для полнофункционального устройства, которое не может найти родительское устройство в соответствии со стандартным подходом ZigBee в качестве ZR (главным образом, из-за неудовлетворения критериев 2 и 4), может быть более выгодным стать дочерним объектом ZED для данного ближайшего связанного маршрутизатора вместо объединения в качестве ZR к более удаленному связанному или несвязанному маршрутизатору. Следовательно, в дополнительном предпочтительном варианте воплощения изобретения осуществляющее поиск устройство с возможностями полнофункционального устройства может физически подсоединиться как устройство с уменьшенной функциональностью к другому маршрутизирующему устройству, не имеющему дополнительной возможности приема для сетевого маршрутизирующего устройства, если это сетевое маршрутизирующее устройство является наиболее подходящим родительским устройством-кандидатом в соответствии с данными соединения на уровне приложений. Этот подход дополнительно улучшит рабочие характеристики сетей, которые используют маршрутизацию по древовидной структуре.
Если доступны многие родительские устройства-кандидаты, удовлетворяющие критерию одного из вышеуказанных способов, осуществляющее поиск устройство может выбрать одно из них с наиболее сильным сигналом. Предпочтительно, согласно критерию 4 стандартного процесса объединения ZigBee, объясненного выше, значения параметра качества связи, относящиеся к осуществляющему поиск устройству и родительским устройствам-кандидатам, применяются в процессе выбора родительского устройства. Таким образом, осуществляющее поиск устройство увеличивает вероятность доставки сообщения приложения, по меньшей мере, на одно связанное устройство и уменьшает количество скачков в сети, требуемых для этой доставки.
В другом варианте воплощения для выбора родительского объекта среди многих связанных устройств в его окрестности, удовлетворяющего всем вышеуказанным критериям сети и приложения, осуществляющее поиск устройство может использовать любые дополнительные данные приложения в виде указания на то, как часто сообщения приложения будут отправляться на конкретные связанные устройства, например, максимальный и минимальный период обновлений, устанавливаемый приложением. Осуществляющее поиск устройство может затем выбрать в качестве родительского устройства устройство, с которым оно наиболее часто осуществляет связь, таким образом, оптимизируя самый большой вклад в свой поток трафика уменьшением этой связи до одного скачка.
В еще одном другом варианте воплощения, если определены индикаторы свойств и/или качества обслуживания, например, приписывающие уровни важности для выбранных команд и/или параметров конкретным логическим соединениям, портам или гнездам или целым приложениям, присваиваемые или производителем устройства или в процесс ввода в эксплуатацию, осуществляющее поиск устройство может выбрать среди связанных устройств родительское устройство, которое имеет наивысший приоритет и/или наиболее строгие требования QoS (качество обслуживания) (например, минимальная задержка, максимальная надежность). С этой целью в отношении данного соединения на уровне приложений между осуществляющим поиск устройством и устройством, которое связано с осуществляющим поиск устройством на уровне приложений, данные соединения на уровне приложений могут, предпочтительно, содержать индикатор качества обслуживания и/или данные о приоритетах и/или данные, касающиеся оцененной частоты передачи сообщений на уровне приложений между осуществляющим поиск устройством и соответствующим связанным устройством. Например, в ZigBee такие индикаторы могут быть включены в таблицу связывания осуществляющего поиск устройства.
Применимость способа по изобретению может быть ограничена только некоторыми типами устройств или назначениями устройств. Некоторые устройства, несмотря на то, что являются конечными устройствами и/или запитаны от аккумулятора, могут не требовать данного способа. Например, центральный переключатель освещения для всего здания может не находится в непосредственной близости от любого из его связанных устройств и/или может не требовать быстрого времени ответа. Информация, набранная на фазе ввода в эксплуатацию, при ее использовании, может быть использована для определения такого случая. В качестве другого примера, переносной пульт дистанционного управления может не быть постоянно связанным с тем или иным устройством; он может извлекать выгоду от быстрого объединения с первым устройством, находящимся поблизости, с умеренной стоимостью связи.
Когда осуществляющее поиск устройство определяет, что ни одно из связанных устройств не имеет емкости для приема новых дочерних объектов, по причине того, что они не являются маршрутизаторами, или их емкость для приема дочерних объектов исчерпана, или потому что они не удовлетворяют другим критериям выбора родительского объекта, осуществляющее поиск устройство может вернуться к стандартной процедуре.
Предпочтительно, устройство, уже присоединившееся к сети, может также поменять свое родительское устройство, если оно принимает новые данные соединения на уровне приложений. Например, если после формирования сети (согласно стандартному способу или одному из способов, раскрытых выше), сообщения прикладного уровня не доставляются надежно, осуществляющее поиск устройство может решить заменить свой родительский объект. В сети ZigBee это может быть инициировано, например, недостатком ответов при сквозной передаче данных на уровне приложений, ACKs на подуровне APS, ACKs на MAC-уровне (от родительского узла) и/или изменением стоимости связи. Проактивная замена родительского объекта может потребоваться, если информация о связывании становится доступной только после присоединения к сети, например, если не используется фаза ввода в эксплуатацию.
Процедуры, аналогичные описанным выше, могут быть использованы устройством, которое пытается повторно присоединиться к сети; например, устройством без родительского объекта, т.е. устройством, потерявшим соединение со своим родительским объектом, например, из-за удаления родительского объекта или изменения беспроводного распространения. В зависимости от стоимости связи и данных о рабочих характеристиках, набранных ранее при присоединении к сети, устройство может выбрать новый родительский объект, учитывая данные на уровне приложений.
Очевидно, родительское устройство также может использовать данные на уровне приложений до приема запроса на объединение или запроса на присоединение от дочернего объекта. Например, когда родительский объект может принять только один дочерний объект и принимает запрос на объединение от двух потенциальных дочерних объектов, по существу, одновременно, из которых только один объект связан с родительским, родительский маршрутизатор может предпочесть связанное устройство.
Предпочтительно, маршрутизирующие устройства могут применять вышеописанные способы для выбора своих физических соединений с другими соседними устройствами помимо родительских объектов. Память встроенных устройств, ZR или ZED, обычно ограничена, позволяя сохранять только заранее заданное количество соседних узлов, дочерних объектов и маршрутизаторов. В сетях с плотным расположением узлов каждый маршрутизатор может иметь некоторое количество физических соединений, которое значительно превышает пространство, доступное в таблице соседнего узла. Таким образом, при заполнении соседней таблицы, вместо того, чтобы основываться исключительно на порядке обнаружения и/или индикаторах стоимости связи, маршрутизаторы могут также использовать данные соединения на уровне приложений, такие как, например, существование соединения на уровне приложений или его приоритет.
Другие задачи и признаки настоящего изобретения станут очевидными из последующих подробных описаний, рассмотренных вместе с сопроводительными чертежами. Следует, тем не менее, понимать, что чертежи предназначены исключительно для целей иллюстрации и не в качестве определения границ изобретения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг.1 показывает схематическое представление стека протоколов ZigBee для объяснения процесса выбора родительского объекта согласно современному стандарту;
Фиг.2 показывает блок-схему процесса объединения неподсоединенного осуществляющего поиск устройства согласно современному стандарту;
Фиг.3 показывает схематическое представление варианта воплощения схемы расположения устройств, содержащей несколько функциональных групп устройств в различных комнатах;
Фиг.4 показывает примерный график объединений ZigBee для схемы расположения устройств по Фиг.3 для древовидной топологии при свободном объединении согласно современному стандарту;
Фиг.5 показывает схематическое представление стека протоколов ZigBee для объяснения процесса выбора родительского объекта согласно варианту воплощения изобретения;
Фиг.6 показывает блок-схему процесса объединения неподсоединенного осуществляющего поиск устройства согласно варианту воплощения изобретения;
Фиг.7 показывает примерный график объединений ZigBee для схемы расположения устройств по Фиг.3 для древовидной топологии при свободном объединении согласно варианту воплощения изобретения.
На всех чертежах одинаковые ссылочные позиции обозначают одинаковые объекты. Объекты на диаграммах необязательно начерчены в масштабе.
ПОДРОБНОЕ ОПИСАНИЕ ВАРИАНТОВ ВОПЛОЩЕНИЯ
Далее, без какого-либо ограничения изобретения, предполагается, что сеть является сетью типа ZigBee, так как ZigBee в настоящее время является наиболее распространенным стандартом для беспроводных ячеистых сетей. Тем не менее, изобретение может быть также использовано в аналогичных многоскачковых сетях.
1
240
1
240
1
240
Фиг.1 показывает обычный стек протоколов ZigBee. Требуется, чтобы устройства ZigBee соответствовали стандарту IEEE 802.15.4-2003 для беспроводных персональных сетей (WPAN) с низким уровнем скорости. Стандарт определяет нижние уровни протокола - физический уровень PHY и часть MAC управления доступом к среде уровня линии передачи данных. Этот стандарт определяет работу на нелицензированных ISM частотах 2.4. ГГц, 915 МГц и 868 МГц. Сетевой уровень NWK отвечает за адресацию и маршрутизацию пакетов, обеспечение служб сквозной передачи данных на высшие слои стека протоколов, которые являются частью каркаса AF приложений. Каркас AF приложений включает в себя подуровень APS поддержки приложений, определенное число (до 240 на одно устройство ZigBee) объектов AO, …, AO приложения и часть Объекта ZDO Устройства ZigBee. Подуровень APS поддержки приложений, например, отвечает за управление связыванием. Объекты AO, …, AO приложения реализуются разработчиком устройства, который использует интерфейс ZigBee и могут соответствовать частному или стандартизированному профилю приложения ZigBee, например, профилю Домашней Автоматизации (HA), Автоматизации Коммерческих Зданий (CBA) или Интеллектуальной Энергии (ZSE). Объект ZDO Устройства ZigBee управляет устройством ZigBee и, среди прочего, отвечает за выбор сети, за инициализацию уровней ZigBee (за исключением объектов AO, …, AO приложения), определение действительной функции устройства (ZED, ZR или ZC) ZigBee, обнаружение других устройств в сети и инициирование отправки запросов на связывание. Поставщик Услуг Безопасности SEC отвечает за обмен и поддержку сертификатов безопасности, а также за работу службы безопасности, например, шифрование и аутентификацию.
Со ссылкой на Фиг.2 будет примерно объяснено, каким образом отсоединенное устройство ZigBee может присоединиться к существующей сети ZigBee согласно современному стандарту ZigBee. Таким образом, все еще отсоединенное осуществляющее поиск устройство, намеревающееся присоединиться к сети, будет осуществлять сканирование на наличие потенциальных родительских устройств, передавая сигнал запроса, прослушивая маяковые сигналы от устройств в пределах диапазона действия и определяя стоимость связи для каждого отвечающего устройства. Сканирование может быть выполнено прослушивающим блоком LU уровня MAC управления доступом к среде (см. Фиг.1), и блок LC вычисления стоимости связи может вычислить стоимость связи в соответствии с уравнением (1), приведенным выше.
Данные из маякового сигнала каждого обнаруженного потенциального родительского устройства, в частности, идентификатор EPID сети, 16-битные и 64-битные адреса, возможность приема дочернего объекта и глубина дерева, передаваемые в маяковом сигнале, а также вычисленная стоимость связи, передаются на сетевой уровень NWK, который набирает данные маяковых сигналов. На следующем этапе блок PS выбора родительского объекта сетевого уровня NWK выбирает родительское устройство среди родительских устройств-кандидатов в соответствии с критериями 1-4 выбора стандарта ZigBee, объясненными выше, основываясь на данных, принятых с маяковыми сигналами, и стоимости связи. Для выбора только родительских устройств правильной сети в блок PS выбора родительского объекта предоставляется идентификатор EPID сети выбранной сети из блока NS выбора сети Объекта ZDO Устройства ZigBee.
Если найдено только одно родительское устройство-кандидат, удовлетворяющее критериям, блок CU соединения уровня MAC управления доступом к среде инициирует физическое подсоединение (объединение) к этому выбранному родительскому устройству, т.е. осуществляющее поиск устройство присоединится к выбранному родительскому устройству в сети с выбранным EPID. Если количество родительских устройств-кандидатов, удовлетворяющих критериям, превышает одно, блок выбора родительского объекта выберет родительское устройство, основываясь на глубине дерева (критерий 5, упомянутый выше). Детали такого процесса объединения будут известны специалистам в данной области техники, поэтому на данном этапе не требуются дополнительные объяснения.
Следует заметить, что прослушивающий блок LU, блок LC вычисления стоимости связи, блок PS выбора родительского объекта, блок BM управления связыванием, блок NS выбора сети и блок CU соединения - все реализуются в виде модулей программного обеспечения или алгоритмов, запускаемых на процессоре интерфейса ZigBee устройства ZigBee, и указаны на конкретных уровнях ZigBee в стеке протоколов на Фиг.1 для упрощения понимания.
Можно показать, что данный механизм выбора родительского объекта по умолчанию, предлагаемый спецификацией ZigBee, приводит к субоптимальным сетевым топологиям, и, следовательно, также к субоптимальным рабочим характеристикам сетей, особенно, если в них заключены ZED.
Схема D расположения устройств в обычном офисном окружении взята в качестве образца и показана на Фиг.3. Офисное окружение состоит из десяти комнат и коридора, ведущего к каждой из комнат. Схема D расположения устройств в данном случае является схемой расположения освещения, но следует заметить, что на данном этапе изобретение не ограничивается каким-либо образом осветительными системами.
1
2
10
Каждая комната оборудована шестью лампами, которые являются маршрутизаторами 7-12, 16-21, 25-30, 34-39, 43-48, 52-57, 61-66, 70-75, 79-84, 88-93 ZigBee, управляемыми (т.е. связанными с) одним переключателем в каждой комнате, который является ZED 15, 24, 33, 42, 51, 60, 69, 78, 87, 96. В каждой комнате установлены несвязанная розетка 14, 23, 32, 41, 50, 59, 68, 77, 86, 95 ZED и несвязанный светочувствительный датчик 13, 22, 31, 40, 49, 58, 67, 76, 85, 94 ZED. Лампы 0, …, 5 в коридоре управляются переключателем 6 этажа. Все эти устройства 0, 1, 2, …, 96 сгруппированы в функциональные группы R, R, …, R в соответствии с комнатой, в которой установлены устройства. Каждое устройство 0, 1, 2, …, 96 обозначено простым кружком.
Для такой схемы D расположения устройств исходное формирование сети выполняют в соответствии со стандартной процедурой ZigBee, объясненной выше. Предполагается, что надежные значения параметра качества связи еще не доступны (например, из-за факта реализации интегрирующей функции, так что, по существу, для стоимости связи ZigBee принимается значение по умолчанию, равное 7), поэтому родительские объекты выбираются на основе их положения (глубины) в сетевом дереве. Дополнительно принимается, что устройство 0 было первым устройством, и оно выступает в качестве координатора ZigBee. Примерный график объединений ZigBee для топологии свободного объединения, достигаемой с помощью данного способа, показан на Фиг.4. Параметры ZigBee Cskip для формирования логического дерева были установлены на: Cm=30, Rm=12, Lm=4. Логические соединения с глубиной дерева, равной “1”, указаны пунктирными линиями; соединения с глубиной дерева, равной “2”, показаны сплошными линиями, таким образом, линии исходят из центра круга, обозначающего родительское устройство, и заканчиваются на периметре круга, обозначающего дочернее устройство. Как можно видеть, узел, расположенный ближе к корню (измеряя в скачках вдоль логической структуры дерева) является родительским; узел, соединенный с данным узлом, является его дочерним объектом.
Рабочие характеристики данной сети были измерены с использованием модели 'NS-2' сети. Таким образом, был смоделирован худший вариант: одиннадцать переключателей были переключены точно в один момент времени, и каждый из них отправляет сообщение в одноадресной передаче на все шесть объединенных ламп, что приводит к шторму из шестидесяти шести сообщений. Эксперимент был повторен 10000 раз для получения статически релевантных данных. Рабочие характеристики, полученные в результате моделирования для графика объединений, показанного на Фиг.4, представлены в следующей таблице:
Таблица 1Результаты моделирования для сети в соответствии с графиком объединений по Фиг.4
средняя частота появления отказов
23,0%
минимальная частота появления отказов
0,2%
максимальная частота появления отказов
93,0%
средняя задержка (мс)
304
минимальная задержка (мс)
6,6
максимальная задержка (мс)
528
задержка<200 мс
22,5%
Как можно видеть из таблицы, в среднем 23% команд не достигло своего пункта назначения. Такие плохие рабочие характеристики топологии свободных объединений в соответствии с алгоритмом ZigBee по умолчанию вызваны длинными и, следовательно, слабыми линиями связи, приводящими к потере пакетов при конфликтах вследствие проблемы скрытого узла. Кроме того, многоскачковый путь, состоящий из некоторого числа слабых линий связи, увеличивает вероятность конфликтов для пакета.
Чтобы исправить этот недостаток стандарта ZigBee устройства ZigBee реализуют в соответствии с изобретением, так что информация о соединении на уровне приложений, такая как информация о связывании и/или информация о группах, учитывается в процессе выбора родительского объекта.
Принцип такого изменения стандарта ZigBee будет объяснен с помощью Фиг.5 и Фиг.6, причем Фиг.5 является графическим представлением стека протоколов ZigBee, показанного на Фиг.1, а Фиг.6 показывает блок-схему процесса объединения согласно варианту воплощения изобретения.
Согласно этапам I и II блок-схемы, в неподсоединенное устройство предоставляют данные соединения на уровне приложений. Эти данные могут быть сгенерированы обычным путем в процессе ввода в эксплуатацию, при котором идентификаторы устройства набирают и группируют и, в качестве части установки, выполняют конфигурацию логики приложения, т.е. конфигурируют логические соединения для создания управляющих взаимосвязей между устройствами на основе свойств, таких как тип и местоположение. Например, в осветительной системе может быть определено, какой из переключателей должен управлять той или иной лампой(ами). Конфигурация логики приложения может быть выполнена с использованием центральной системы ввода в эксплуатацию, которая передает данные устройствам через интерфейсы ZigBee.
На этапе III устройство будет искать потенциальные родительские устройства обычным путем, передавая сигнал запроса, принимая маяковые сигналы и определяя стоимость связи для каждого ответившего устройства, используя прослушивающий блок LU и блок LC вычисления стоимости связи, как объяснено в отношении Фиг.1 выше. На этапе IV данные маяковых сигналов каждого обнаруженного потенциального родительского устройства и вычисленная стоимость связи передаются на сетевой уровень NWK для набора данных.
Также, блок NS выбора сети Объекта ZDO Устройства ZigBee обычным путем передает идентификатор EPID сети выбранной сети на устройство PS выбора родительского объекта сетевого уровня NWK.
В отличие от современного стандарта, в блок PS выбора родительского объекта теперь также предоставляют данные соединения на уровне приложений или информацию о связывании из блока BM управления связыванием (см. Фиг.5). Эта информация о связывании доступна в виде списка L 64-битных длинных адресов других устройств, с которыми связано устройство. Подобная информация BI о связывании может быть также предоставлена из объектов приложения, здесь, в качестве примера, из объекта AO 1 приложения. Обычно блок BM управления связыванием использует информацию о связывании, которая содержит список L, только для создания соединения на уровне приложений с устройством назначения, когда само устройство уже находится в сети. Используя способ по изобретению, список теперь может быть выгодно использован блоком PS выбора родительского объекта в процессе выбора родительского объекта. Согласно этапу V потенциальные родительские устройства выбираются только в соответствии с критериями 1-4, упомянутыми выше, из таких родительских устройств-кандидатов, с которыми устройство связано. Это можно обеспечить, например, простым сравнением 64-битных адресов в маяковых сигналах со списком L из блока управления связыванием. Таким образом, связанное устройство с лучшей стоимостью связи будет выбрано в качестве родительского устройства.
На этапе VI выполняется проверка того, как много потенциальных родительских устройств найдено на этапе V. Если найдено только одно потенциальное родительское устройство, блок CU соединения MAC-уровня управления доступом к среде инициирует объединение с этим выбранным родительским устройством, и устройство присоединится к выбранному родительскому устройству в сети на этапе XII.
Если количество потенциальных родительских устройств превышает одно, блок выбора родительского объекта рассматривает дополнительные данные на уровне приложений, а именно частоту передачи отчетов. Частота передачи отчетов может быть получена считыванием конечной точки отправителя и идентификатора кластера на один 64-битный адрес пункта назначения из таблицы связывания и затем опросом соответствующего объекта приложения. Блок выбора родительского объекта затем выберет, на этапе VII, устройство с наивысшей оцененной частотой передачи отчетов, т.е. потенциальное родительское устройство, с которым осуществляющее поиск устройство будет возможно наиболее часто осуществлять связь. Если более чем одно потенциальное родительское устройство имеет одинаковую наивысшую частоту передачи отчетов, как показано на этапе VIII, выбирают родительское устройство с наивысшим приоритетом. Приоритет может быть определен в процессе конфигурации логики и вложен в таблицу связывания. Если более двух устройств имеют наивысший приоритет, связанное устройство может быть выбрано на основе глубины дерева (этапы X и XI).
Если, на этапе V, среди устройств, от которых были приняты маяковые сигналы, не было детектировано связанное устройство, и список L не был пустым, процесс, по истечении времени ожидания (этап XV), возвращается к этапу III, и осуществляющее поиск устройство вновь сканирует на наличие других устройств, так как осуществляющее поиск устройство “знает”, что могут существовать другие устройства, с которыми оно связано. Чтобы предотвратить устройство от возникновения тупиковой ситуации в процедуре объединения, возвращение к этапу III ассоциировано с критерием истечения времени, например, заданного максимального периода времени или максимального количества циклов сканирования. Если, на этапе XIV, критерий истечения времени удовлетворен, осуществляющее поиск устройство следует обычной процедуре выбора родительского объекта в соответствии с современным стандартом ZigBee на этапах XVI, XVII и, возможно, XI.
Когда родительское устройство выбрано, происходит присоединение к сети через выбранное родительское устройство на этапах XII и XIII.
Фиг.7 показывает примерный график объединений ZigBee для топологии свободного объединения для такого же офисного окружения, что и на Фиг.4, но теперь такая топология достигается способом по изобретению. В данном способе, как объяснено выше, из потенциальных родительских объектов выбирается связанное устройство с лучшей стоимостью связи. Здесь, логические соединения с глубиной дерева, равной “1”, показаны пунктирными линиями, соединения с глубиной дерева, равной “2”, показаны штрихпунктирными линиями, а соединения с глубиной дерева, равной “3”, показаны сплошными линиями. Используются такие же параметры Cskip, как и на Фиг.4: Cm=30, Rm=12, Lm=4.
Рабочие характеристики данной сети были смоделированы с использованием модели 'NS-2' сети, также для худшего варианта, когда одиннадцать переключателей были переключены точно в один момент времени, и каждый из них отправляет сообщение в одноадресной передаче на все шесть связанных ламп, что приводит к шторму из шестидесяти шести сообщений. Рабочие характеристики, полученные в результате для графика объединений, показанного на Фиг.7, представлены в следующей таблице:
Таблица 2Результаты моделирования для сети в соответствии с графиком объединений по Фиг.7
средняя частота появления отказов
2,01%
минимальная частота появления отказов
0,0%
максимальная частота появления отказов
62,6%
средняя задержка (мс)
136
минимальная задержка (мс)
3,3
максимальная задержка (мс)
345
задержка<200 мс
74,8%
Как можно видеть из данной таблицы, по сравнению с результатами, перечисленными в таблице 1 для графика объединений по Фиг.4, способ предлагает значительное улучшение по сравнению с образцом, в отношении задержки на коэффициент более чем в два раза, от 304 мс до 136 мс, и в отношении надежности, так как частота появления отказов уменьшена более чем на 90%. Следует заметить, что был смоделирован худший вариант, когда шестьдесят шесть сообщений отправляются в сети с плотным расположением узлов точно в один момент времени. Очевидно, для не самой неблагоприятной ситуации будут получены значительно лучшие результаты.
Хотя настоящее изобретение раскрыто в виде предпочтительных вариантов воплощения и их вариаций, понятно, что могли бы быть сделаны многочисленные дополнительные модификации и вариации этих вариантов воплощения без отклонения от объема изобретения. В частности, следует заметить, что этапы VII-X процесса по Фиг.6 являются необязательными. Для ясности, следует понимать, что использование в настоящей заявке неопределенных артиклей “a” или “an” не исключает множества, и “содержащий” не исключает наличия других этапов или элементов. “Блок” или “модуль” может содержать определенное число блоков или модулей, если не указано иное.