Способ управления таблицей посредников в беспроводной сети, использующей устройства-посредники
Иллюстрации
Показать всеИзобретение относится к сетям связи. Технический результат заключается в добавлении элементов протокола, которые могут использоваться для улучшения эвристики очистки таблицы на посредниках, что приводит к повышению быстродействия и эффективности сети связи. Узел-посредник содержит средство для управления таблицей посредников, приемник для приема сообщения от первого устройства с ограниченными ресурсами, причем упомянутое сообщение предназначено по меньшей мере одному соответствующему устройству-адресату, средство управления для проверки, включена ли запись для первого устройства с ограниченными ресурсами в набор записей в таблице посредников, причем набор записей в таблице посредников указывает набор устройств с ограниченными ресурсами, которые курирует узел-посредник, передатчик для перенаправления сообщения в зависимости от результата проверки таблицы посредников, средство для управления таблицей посредников, выполненное с возможностью очистки таблицы посредников. 2 н. и 10 з.п. ф-лы, 1 ил.
Реферат
ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение относится к сетям связи, содержащим множество узлов. В частности, некоторые узлы могут быть ограниченными в ресурсах и должны эффективно взаимодействовать с другими узлами. Для этого узлы-посредники работают в качестве ретрансляционных узлов для перенаправления сообщений от узлов с ограниченными ресурсами к их целевым объектам или узлам-адресатам.
Данное изобретение, например, относится к сетям, содержащим узлы ZigBee Green Power (ʺзеленая энергияʺ).
УРОВЕНЬ ТЕХНИКИ ИЗОБРЕТЕНИЯ
В беспроводной сети могут использоваться устройства с ограниченными ресурсами, например поглощающие энергию устройства. Такие устройства весьма ограничены в доступном количестве энергии и, соответственно, ограничены в предлагаемых функциональных возможностях, что влияет на управление, ввод в эксплуатацию и обслуживание сети.
Одним примером такой технологии является создаваемый стандарт ZigBee Green Power.
Если ограниченное устройство находится вне диапазона устройства (называемого целевым объектом), управлять которым оно сконфигурировано, то промежуточное устройство (называемое посредником) выполняет перенаправление. Линии беспроводной связи между посредником и ограниченным устройством могут появляться и исчезать в течение времени существования сети, например из-за изменений в распространении или в относительном местоположении устройств. По причинам безопасности и производительности системы посредники перенаправляют только устройства, для которых у них есть запись в таблице, например, чтобы иметь возможность выполнять проверку свежести или безопасности. Для надежности связи предпочтительно более одного посредника выполняют перенаправление от имени каждого ограниченного устройства.
Существуют различные способы создания/расширения такой записи о посреднике, автоматически или по запросу пользователя. Однако доступные в настоящее время способы удаления записи требуют участия пользователя посредством использования инструмента ввода в эксплуатацию и/или ручного взаимодействия с ограниченным/управляющим устройством (возможно, установленным на потолке), что обременительно для крупномасштабной сети, такой как сеть автоматизации зданий.
Однако из-за масштаба сети и автоматического создания таблицы посредников существует потребность в автоматической очистке таблицы посредников. Однако из-за непредсказуемого расписания передач ограниченным устройством (которое может зависеть от количества доступной энергии и/или взаимодействия с пользователем) и ненадежного характера беспроводных передач, особенно от ограниченного устройства, возможно, не использующего ACK и процедуры доступа к каналу (например, CSMA/CA), простое старение (например, удаление записей, которые истекут быстрее всех, удаление записей, которые создавались раньше всех, удаление записей, которые использовались меньше всех) не подходит для ограниченных устройств.
Сейчас в спецификации ZGP от реализованного посредника зависит выбор некоторой эвристики очистки, то есть выбор эвристики, которая отбирает запись для удаления из заполненной таблицы посредников, если нужно добавить новую запись. Может иметь место некоторый уровень свободы для разработчиков посредников, так как несмотря на то, что плохая эвристика уменьшает эффективность и надежность сети, плохая эвристика не может привести к длительному сбою сети.
Целью данного изобретения является добавление (обязательных) элементов протокола, которые могут использоваться для улучшения эвристики очистки таблицы на посредниках. Более эффективная эвристика приведет к более быстрой и более надежной сети.
В текущей спецификации ZGP отсутствует снижение производительности для посредников, имеющих сильно заполненные таблицы посредников: поэтому агрессивная очистка для сокращения таблицы гораздо меньше размера доступной памяти в посреднике не обладает благоприятным эффектом.
Текущая спецификация ZGP предлагает следующие механизмы для обслуживания таблиц посредников.
Создание записи в таблице посредников:
- в процессе ввода в эксплуатацию (возможно, с участием пользователя), когда целевой объект или инструмент ввода в эксплуатацию отправляет управляющее извещение (ZGP: команда ZGP Pairing (создание пар) с флагом AddSink (добавление приемника), установленным в 0b1), информирующее посредника (посредников) о новом созданном отношении управления, включающее идентификатор ограниченного устройства и соответствующий целевой объект (объекты); его можно отправить по широковещанию (с ограниченным диапазоном), с необязательным добавлением посредника (посредников) в таблицу, только если они находятся в диапазоне ограниченного устройства, особенно если устройство указывает постоянное местоположение;
- во время работы,
* посредником, принимающим незатребованное управляющее извещение;
* посредником, принимающим связь от неизвестного ограниченного устройства и наблюдающим другого посредника (посредников), перенаправляющего ее;
* посредником, принимающим связь от неизвестного ограниченного устройства и делающим запрос отношений управления (ZGP: команда ZGP Pairing Search (поиск пар) или широковещательная команда ZGP Notification (уведомление)).
Удаление записи из таблицы посредников:
- прием GPDF вывода из эксплуатации от ограниченного узла в режиме ввода в эксплуатацию (специально инициированный на ограниченном узле);
- прием команды снятия контроля (ZGP: ZGP Pairing с флагом AddSink, установленным в 0b0, или с RemoveZGPD (удаление устройства ZigBee Green Power), установленным в 0b1), специально инициированный на целевом объекте/инструменте ввода в эксплуатацию.
Следующие операции посредника дополнительно выполняются автоматически:
- после приема перенаправленной связи сбрасывается флаг первого для перенаправления;
- после приема запроса на передачу к ограниченному устройству (ZGP: ZGP Response (ответ)) с помощью назначаемого другого посредника он сбрасывает флаг первого для перенаправления и удаляет любые пакеты, стоящие в очереди для доставки этому ограниченному устройству.
Устройство с ограниченными ресурсами может быть, например, устройством ZigBee Green Power (ZGPD) или т.п., которые не имеют батареи или лишь небольшой объем памяти и могут принимать только в незапланированных случаях. Например, ZGPD может быть безбатарейным переключателем, который может принимать только в течение короткого времени, как только он приводится в действие пользователем и передал свой сигнал. Другим примером ZGPD является периодически сообщающий датчик, поглощающий энергию из своего окружения, например, посредством фотогальванического элемента.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Цель изобретения - предложить способ эффективного управления таблицей посредников в узле-посреднике.
Другая цель изобретения - достичь одной или более из следующих целей:
1. Удаление устаревших записей в таблице посредников.
2. Предупреждение переполнения таблицы посредников.
3. Предотвращение слишком многих активных посредников на одно ограниченное устройство (в плотных сетях).
4. Гарантия наличия по меньшей мере одного посредника на ограниченное устройство (в плотных сетях).
5. Гарантия оптимальной надежности посредника в соответствии с требованиями приложения (например, требованиями важности и rt).
С этой целью предлагаются способы и устройства, которые заданы в прилагаемой формуле изобретения.
Эти и другие аспекты изобретения станут очевидны из описанных ниже вариантов осуществления и будут объясняться со ссылкой на них.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Настоящее изобретение далее будет подробнее описано в качестве примера со ссылкой на Фиг. 1, на которой представлена блок-схема сети, в которой реализуется изобретение.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
Подробная формулировка проблемы
Рассмотрим беспроводную ячеистую сеть, содержащую:
- одно или более ограниченных устройств R, которые ограничены в своей способности отправлять много пакетов или длинные беспроводные пакеты и ограничены в своей способности прослушивать пакеты в течение длительных периодов времени или вообще принимать. Например, устройства, питаемые с помощью механизмов аккумулирования энергии. Ограниченные устройства могут отправлять сообщения, помещая их в пакеты и отправляя их;
- одно или более целевых устройств T, которые должны принимать сообщения от ограниченных устройств R, причем сообщения могут кодироваться в один или более пакетов, и кодирование сообщения в пакет может меняться на основе последовательности скачков;
- одно или более устройств-посредников P, которые помогают доставлять сообщения от ограниченных устройств вне (радио) диапазона ограниченных устройств и/или помогают в доставке их в необходимом формате сообщений и/или надежнее, совершая специальные действия, когда они принимают пакет от ограниченного устройства. Примером такого специального действия является доставка сообщения дальше к целевому объекту T. Устройства-посредники обычно обладают большей мощностью, чем ограниченные устройства, поэтому они могут выполнять дополнительную обработку сообщений, использовать разные форматы сообщений с более длинными сообщениями, выполнять действия по повторению попытки или действия по выявлению маршрута от имени ограниченного устройства, и т.п.;
- как дополнительный вариант, одно или более устройств-маршрутизаторов RT, которые не могут действовать в качестве устройства-посредника, но которые могут направлять сообщения, отправленные устройством-посредником, к целевому устройству.
Назовем это ʺячеистойʺ сетью для указания, что имеется по меньшей мере одно устройство, которое способно работать в качестве ретранслятора для сообщения.
Одно устройство может действовать в качестве целевого устройства и устройства-посредника, а также в качестве устройства-маршрутизатора.
Типичная топология сети показана на фиг. 1. Стрелки на фиг. 1 показывают пакеты, которые отправляются и принимаются, чтобы доставить сообщение от R1 к T1. Пунктирная стрелка указывает, что в этом примере исходный пакет, отправленный R1, также принимается P1, но P1 не воздействует на него. Существует несколько (известных) методик, с помощью которых P1 и P2 могут координироваться для предотвращения неэкономного действия, когда они оба перенаправляют пакет. Такие методики включаются, например, в предстоящий стандарт ZigBee Green Power.
Фиг. 1 показывает, что P1 и P2 являются посредниками, которые находятся в диапазоне R1. Существует несколько причин, почему может быть выгодно иметь исполнение системы, при котором несколько устройств в диапазоне могут работать в качестве посредников для R1:
1. Надежность. Для каждого сообщения Mi, R1 может обладать только ограниченной энергией, с помощью которой может отправить пакеты, содержащие то сообщение. Например, R1 может быть способен отправить только 2 пакета, кодирующих сообщение, в течение очень короткого временного промежутка (например, заданного доступностью поглощенной энергии); также он может быть не способен выполнить необходимые механизмы доступа к каналу и/или ожидать приема кадра квитирования, и все это может отрицательно влиять на надежность связи. В этом случае наличие большего количества посредников вокруг R1, которые будут прослушивать и также будут способны перенаправить пакеты от R1, увеличивает вероятность того, что по меньшей мере один посредник примет пакет с Mi.
2. Мобильность. Если R1 может перемещаться, то он может выйти из диапазона какого-нибудь одиночного посредника, посредник может переместиться/выключиться, либо условия распространения могут измениться (например, вследствие временных или постоянных перестановок в пространстве).
3. Избежать конфигурации ограниченного устройства. Может быть невозможно или нежелательно конфигурировать ограниченное устройство R1 для хранения сетевого адреса одного устройства-посредника. Поэтому любой пакет сообщений, отправленный R1, автоматически будет широковещательным/многоадресным пакетом, адресованным всем устройствам с функцией посредника (в диапазоне).
Данное изобретение применяется главным образом к системам с возможностью иметь несколько посредников для каждого ограниченного устройства R1.
В таких системах для скорости, эффективности и надежности было бы полезно, если бы посредники могли содержать ʺинформацию о состоянииʺ касаемо ограниченных устройств. Примером такой ʺинформации о состоянииʺ, применимой к одному ограниченному устройству R1, являются:
1. Адреса (идентификаторы) целевого устройства (или устройств) для некоторых сообщений от R1, если R1 не может внедрить или не внедряет эту информацию в свои пакеты сообщений.
2. Информация, которая делает надежнее связь от или к R1, например ключ шифрования, используемый R1, защитный счетчик кадров, использованный недавно R1 (счетчики кадров могут защитить от атак с повторением пакетов и/или используются в качестве векторов начального заполнения для ключа).
3. Сообщение, которое нужно отправить к R1, как только R1 включает свою радиостанцию и устанавливает ее на прием таких сообщений. (Обычно аккумулирующий энергию узел R1 мог бы включать свою радиостанцию и устанавливать ее в режим приема на короткое время после того, как он отправил пакет сообщений.)
Для цели данного изобретения зададим ʺтаблицу посредниковʺ в качестве структуры данных в посреднике, которая хранит информацию об одном или более ограниченных устройствах или для них. Таблица посредников может содержать информацию для многих разных ограниченных узлов Rx.
Таким образом, в такой системе записи в таблице посредников нужно создавать, обслуживать и использовать для перенаправления связи ограниченного устройства, а также, возможно, удалять их.
Например, на фиг. 1 было бы полезно, если бы P1 и P2 хранили информацию для R1 в своих таблицах посредников. Если R1 может перемещаться, также было бы полезно, если бы ту информацию хранило P3. Однако в наиболее продуманных ячеистых сетях память в узлах-посредниках ограничивается, поэтому не всегда будет возможно сохранить информацию обо всех ограниченных узлах Rx во всех таблицах посредников всех узлов-посредников Px (с функцией посредника).
Узел-посредник Px, который в настоящее время не имеет никакой информации об ограниченном узле R1 в таблице посредников, все же может решить начать работу в качестве посредника для того узла. Поэтому можно различать два типа посредников, окружающих узел Rx:
- Посредники раннего действия, у которых есть информация об Rx в их таблицах посредников.
- Посредники позднего действия, у которых (еще) нет информации об Rx в их таблицах посредников на момент, когда они принимают сообщение от R1, или по меньшей мере нет достаточной информации, чтобы действовать в качестве посредника. Чтобы действовать, посреднику позднего действия сначала придется получить необходимую информацию откуда-нибудь в сети.
Предпочтительно, чтобы расстановка в сети была такова, что каждый ограниченный узел Rx в своем диапазоне передачи имеет по меньшей мере несколько посредников раннего действия. Однако при такой расстановке предпочтительно нужны механизмы для предотвращения того, чтобы каждый посредник с возможностью действия решал действовать во всех случаях, когда он принимает сообщение от Rx в своем диапазоне. Если это не предотвратить, то наличие нескольких действующих посредников может вызвать увеличение задержки доставки сообщений или даже уменьшение надежности доставки. Одним из таких предусмотренных механизмов предотвращения является тот, что если некоторый посредник Px воздействует на принятое сообщение от Rx и доставляет его, существует средство для других посредников в диапазоне Rx, чтобы узнать о воздействии Px. Если они узнают, то они смогут воздержаться от собственных действий. Такой информационный механизм может принимать следующий вид. Предположим, что посредник P1 принял сообщение Mi от R1 и теперь должен решить, воздействовать ли на него. Затем он запустит счетчик лимита времени и будет прослушивать канал сети. Если он наблюдает пакет от другого посредника, например P2, содержащий полезную нагрузку, которая указывает, что P2 воздействовал на то же сообщение Mi от R1, то P1 решает не действовать и останавливает счетчик. Если счетчик достигает нуля без приема пакета от другого посредника для сообщения Mi от R1, то P1 действует. Из-за различий в диапазонах отправки сети и некоторой присущей ненадежности доставки беспроводных пакетов механизмы вроде этого не запретят во всех случаях, что несколько посредников решат воздействовать на одно и то же сообщение от R1. Поэтому предусмотрено, что также имеются механизмы, например на целевых узлах, для отфильтровывания идентичных сообщений от нескольких посредников, которые действовали.
В предстоящем стандарте ZigBee Green Power используются следующие механизмы для активных и действительных записей в таблице посредников (см. Спецификацию ZigBee Green Power, 09-5499-18, раздел A.3.5.2.1, страница 120, строка 6 - страница 121, строка 17). В случае одноадресного перенаправления посредники, имеющие запись в таблице посредников для конкретного ограниченного устройства Rx, вычисляют задержку перенаправления на основе критериев типа: качества принятого сигнала от ограниченного устройства, доступности одноадресных маршрутов к целевым устройствам и факта того, что являлись первыми для перенаправления в прошлом. По истечении задержки перенаправления посредник отправляет сообщение ZGP Tunneling Stop (остановка туннельной передачи) в 2-скачковом широковещании с альтернативным сетевым адресом источника и альтернативным сетевым порядковым номером, выведенными из информации в GPDF, чтобы информировать других посредников, что он перенаправит сообщение, а позднее отправляет сообщение (сообщения) ZGP Notification в одноадресной рассылке. После приема сообщения ZGP Tunneling Stop для одной и той же команды ZGPD в течение задержки перенаправления посредник отменяет свою запланированную передачу. В случае групповой связи для GPDF, указывающей возможность приема, посредники, имеющие запись в таблице посредников для конкретного ограниченного устройства Rx, вычисляют задержку перенаправления, как описано выше. По истечении задержки перенаправления посредник отправляет сообщение (сообщения) ZGP Notification в многоадресной рассылке APS, и оно включает в себя его короткий адрес и индикатор качества сигнала, принятого от ограниченного устройства Rx. После приема сообщения ZGP Notification для одной и той же команды ZGPD в течение задержки перенаправления, если ZGP Notification имеет лучший индикатор качества или равный индикатор качества и более младший короткий адрес, то посредник отменяет свою запланированную передачу. В случае групповой связи для GPDF, не указывающей возможность приема, посредники, имеющие запись в таблице посредников для конкретного ограниченного устройства Rx, перенаправляют сообщение (сообщения) ZGP Notification в многоадресной рассылке APS с альтернативным сетевым адресом источника и альтернативным сетевым порядковым номером, выведенными из информации в GPDF, что заставляет независимо сформированные пакеты ZGP Notification выглядеть идентичными Таблице широковещательных транзакций (Broadcast Transaction Table) в ZigBee. Такой же механизм используется приемниками, допускающими групповое перенаправление на основе таблицы приемников (см. Спецификацию ZigBee Green Power, 09-5499-18, раздел A.3.5.2.4, страница 128, строка 25-29).
Если посредник имеет успех при передаче ZGP Notification, то он устанавливает флаг FirstToForward (ʺпервый на перенаправлениеʺ) в своей таблице посредников в ИСТИНУ; он сбрасывает его после приема ZGP Notification Response от одноадресного приемника с флагом FirstToForward, установленным в ЛОЖЬ (см. Спецификацию ZigBee Green Power, 09-5499-18, раздел A.3.5.2.1, страница 121, строка 12-17).
Приемники фильтруют принятые команды ZGPD на основе идентификатора ZGPD (SrcID) и значения счетчика кадров (см. Спецификацию ZigBee Green Power, 09-5499-18, раздел A.3.6.1.2, страница 132, строка 2 - страница 134, строка 4).
Записи в таблице посредников нужно создавать с самого начала. Они могут создаваться, например, как часть процесса ввода в эксплуатацию, привлекающего пользователя и/или инструмент.
Записи в таблице посредников также могли бы создаваться автоматически. Посредник позднего действия, который решает действовать для ограниченного узла Rx, в конце действия закончит с достаточной информацией для создания у себя таблицы посредников для Rx, и полезно, если он сделает это. Узел позднего действия, который перехватывает связь, позволяющую ему создать дополнительную запись в таблице посредников, может решить сделать это, особенно когда у него есть доступное свободное пространство для большего количества записей.
Представим себе посредника Px, который перехватывает информацию об ограниченном узле Rx, рассылаемую в сети, которая позволяет ему добавить Rx в свою таблицу посредников и стать узлом раннего действия для Rx; особенно если Px (еще) не принимал сообщение от Rx, то есть он может (еще) не находиться в диапазоне Rx. Px мог бы, например, прослушивать сообщение широковещательного или многоадресного типа, предназначенное для всех заинтересованных узлов, информирующее их об узле Rx. Как посредник Px должен решать, следует ли ему добавлять Rx в свою таблицу посредников, если это означает, что ему придется удалить другой узел из таблицы? Способы помощи для такого решения также раскрываются ниже.
В предстоящем стандарте ZigBee Green Power используются следующие механизмы для конфигурирования информации в таблицы посредников (см. Спецификацию ZigBee Green Power, 09-5499-18, раздел A.3.5.2.1, страница 118, строка 32-39; раздел A.3.9, страница 165, строка 2). Как часть успешной процедуры ввода в эксплуатацию, ZGPS или ZGPCT отправляет сообщение ZGP Pairing с флагом AddSink, установленным в 0b1, обычно в виде широковещательной передачи по всей сети, переносящей, среди прочего, SrcID, настройки безопасности и необходимый режим связи. После приема ZGP Pairing посредники создают/расширяют записи в таблице посредников поступившей информацией. Для приемников, допускающих перенаправление на основе таблицы приемников, записи в Таблице приемников создаются после приема команды Configure Pairing (конфигурация создания пар), которая может быть отправлена другим ZGPS или ZGPCT (см. Спецификацию ZigBee Green Power, 09-5499-18, раздел A.3.5.2.4, страница 127, строка 35 - страница 128, строка 1).
Однако из-за портативности устройства и изменений распространения, а также устройств, добавляемых в сеть позднее, новым посредникам с тем же успехом может понадобиться ʺинформация о состоянииʺ ограниченного устройства в более поздний момент времени.
Предположим, что посредник позднего действия принимает сообщение от R1, а затем не получает никакой информации вообще посредством информационного механизма типа, описанного выше, указывающей, что другой посредник уже произвел действие. В этом случае посреднику приходится принимать трудное решение. Если он решает воздержаться от действия, то сообщение может остаться недоставленным. Однако если он решает действовать, то это будет означать взаимодействие с сетью, чтобы получить необходимую информацию о том, как действовать. Такому взаимодействию обычно придется принять форму запроса широковещательного или многоадресного типа (ʺкто может сказать мне, что делать с сообщениями от R1ʺ), и поскольку наличие некоторой специализированной информации на узлах потенциально предъявляет к ним высокие требования к ресурсам (особенно памяти) и требует, чтобы их местоположение было известно/поддавалось обнаружению посредниками, это также может ввести одну точку отказа. Такие широковещательные или многоадресные запросы могут потреблять значительную полосу пропускания. Что особенно важно, может иметь место ухудшение надежности: при неблагоприятных условиях (особенно в большой и оживленной сети) трафик широковещательных/многоадресных запросов мог бы заглушить сообщения от других устройств, в частности от других ограниченных узлов, заставляя их остаться недоставленными. Однако если широковещательный/многоадресный трафик ограничивается сетью, то Px может потерпеть неудачу в получении необходимой информации, нужной для действия без превышения предусмотренного предельного срока для доставки сообщения от R1 к T1. Существует даже вероятность того, что Px вообще не сможет получить нужную информацию.
Поэтому полезно, если узлу позднего действия можно некоторым образом помочь в его решении действовать или не действовать, причем эта помощь выходит за пределы описанных выше информационных механизмов. Такие способы помощи раскрываются ниже.
В предстоящем стандарте ZigBee Green Power используются следующие механизмы для обслуживания информации в таблицах посредников.
После непосредственного приема GPDF от Rx ZGPD посредник Px устанавливает флаг InRange (в диапазоне) у записи в таблице посредников для Rx в ИСТИНУ (см. Спецификацию ZigBee Green Power, 09-5499-18, раздел A.3.5.2.1, страница 119, строка 44 - страница 120, строка 5). После приема команды ZGP Notification или ZGP Tunneling Stop, для которой Px не наблюдает инициирующего GPDF, Px устанавливает флаг FirstToForward в ЛОЖЬ (см. Спецификацию ZigBee Green Power, 09-5499-18, раздел A.3.5.2.2.2, страница 124, строка 25-28). Если Px принимает команду ZGP Response, переносящую адрес другого устройства в поле Proxy, то Px устанавливает флаг FirstToForward в ЛОЖЬ и удаляет GPDF, стоящие в очереди для доставки этому ZGPD, при наличии (см. Спецификацию ZigBee Green Power, 09-5499-18, раздел A.3.5.2.1, страница 118, строка 43 - страница 119, строка 6). Для посредников, работающих в области автоматизации зданий, рекомендуется сбрасывать флаг InRange при пропуске десяти последовательных GPDF от Rx (см. ZigBee Green Power, рекомендованные методы для ZBA, 11-0196-01, раздел 5.3.2.1, страница 24, строка 21-24).
Нижеследующие механизмы являются частью функции Обслуживания таблиц посредников (см. Спецификацию ZigBee Green Power, 09-5499-18, раздел A.3.5.2.2, страница 124, строка 2-6; раздел A.3.5.2.2.3, раздел A.3.5.2.2.4, раздел A.3.5.2.1, страница 118, строка 27-30). Если посредник Px принимает GPDF от неизвестного Rx ZGPD, то посредник запускает таймер задержки обнаружения. Px затем прослушивает сообщения ZGP Notification/ZGP Tunneling Stop, перенаправленные другими посредниками от имени того же ZGPD, чтобы вывести необходимую информацию. Оба сообщения переносят, среди прочего, флаги, указывающие используемые режимы перенаправления. После истечения таймера задержки обнаружения, если никакие сообщения не принимались или по-прежнему имеется отсутствующая информация (например, адреса одноадресных приемников или ранее введенных в эксплуатацию групп), то Px отправляет широковещательную команду ZGP Pairing Search, запрашивающую у приемников, сопряженных с ZGPD в указанном режиме (режимах) связи, ответить с помощью ZGP Pairing. После приема ZGP Pairing таблица посредников обновляется. Если команды ZGP Pairing Search или ZGP Pairing для Rx принимаются в пределах задержки обнаружения, то Px отменяет свою передачу ZGP Pairing Search. Неактивные записи в таблице посредников можно удалить, а вместо этого сохранить SrcID в списке заблокированных SrcID.
В текущей спецификации ZGP не задаются никакие соответствующие механизмы для обслуживания Таблицы приемников на приемниках, допускающих перенаправление на основе таблицы приемников.
Старые/ненужные записи в таблице посредников следует удалять, предпочтительно автоматически. Однако ограниченные устройства могут иметь очень непостоянные шаблоны передачи, зависящие, среди прочего, от доступности энергии и/или инициирования пользователем.
Одним способом управления таблицами посредников было бы использование стратегий замены ʺнаиболее давнего по использованиюʺ. По стратегии ʺнаиболее давнего по использованиюʺ, если посреднику Px нужно добавить узел Rx в свою таблицу, которая уже заполнена, то он удалит узел Ri, который является наиболее давним по использованию, например:
a) Ri выбирается в качестве узла среди всех узлов в таблице, от имени которого Px действовал в качестве посредника наиболее давно (дальше всего в прошлом);
b) Ri выбирается в качестве узла среди всех узлов в таблице, который Px наблюдал наиболее давно в качестве генерирующего какое-либо сообщение.
Существуют проблемы с такими стратегиями замены ʺнаиболее давнего по использованиюʺ. Предположим, что таблицы посредников ограничиваются 5 записями, и сеть содержит 15 посредников и 15 ограниченных узлов, причем все они находятся в диапазоне приема всех остальных. Предположим, что 10 из ограниченных узлов являются датчиками температуры, которые сообщают данные каждую минуту, а 5 являются кнопочными выключателями света, которые используются в среднем один раз в день. В этом случае существует высокая вероятность того, что каждое утро независимо от точной стратегии замены ʺнаиболее давнего по использованиюʺ все таблицы посредников на всех посредниках будут заполнены данными о датчиках температуры, при этом все выключатели света исчезли из таблиц. В зависимости от исполнения других аспектов сети это сделает обработку сообщений от выключателей света медленной, ненадежной или даже невозможной. Поэтому нужна стратегия лучше, чем ʺнаиболее давнего по использованиюʺ. 15 посредников имеют 15⋅5=75 записей в таблице среди них, поэтому должна быть возможность иметь каждый из 15 ограниченных узлов в таблице по меньшей мере одного посредника.
Другим способом управления таблицами посредников было бы использование стратегий замены ʺв порядке поступленияʺ. Очевидно, что это также субоптимально, поскольку не учитывает активность или важность узла.
Запасным вариантом осуществления является привлечение пользователя к удалению записей в таблице посредников.
Предстоящий стандарт ZigBee Green Power предлагает следующие механизмы для удаления записи из таблицы посредников.
Удаление устройства ZGPD из сети, включая удаление связанных записей в таблице посредников, может инициироваться отправкой ZGPD команды ZGPD Decommissioning (вывод из эксплуатации) и/или отправкой приемником/инструментом ввода в эксплуатацию команды ZGP Pairing с флагом RemoveZGPD, установленным в ИСТИНУ (см. Спецификацию ZigBee Green Power, 09-5499-18, раздел A.3.5.2.5, страница 129, строка 10-15). Оба действия предполагаются инициированными пользователем. Удаление конкретного сопряжения из таблицы посредников может инициироваться отправкой приемником/инструментом ввода в эксплуатацию команды ZGP Pairing с флагом AddSink, установленным в ЛОЖЬ. Приемники удаляют устаревшие одноадресные сопряжения путем отправки ZGP Notification Response с флагом NoPairing, установленным в ИСТИНУ (см. Спецификацию ZigBee Green Power, 09-5499-18, раздел A.3.5.2.5, страница 130, строка 32 - страница 131, строка 2).
Для посредников, работающих в области автоматизации зданий, рекомендуется очищать записи в таблице посредников с флагом InRange, установленным в ЛОЖЬ (см. ZigBee Green Power, рекомендованные методы для ZBA, 11-0196-01, раздел 5.3.2.1, страница 24, строка 18-20).
Хотя записи в таблице для неизвестных устройств можно обнаружить ʺсвоевременноʺ, например при первом наблюдении устройства, и однажды удаленные/аннулированные записи в таблице можно повторно обнаружить/снова активировать, следует быть осторожным, чтобы плохая эвристика не привела к серьезному сбою системы. Представим себе портативную аварийную кнопку, предназначенную для приведения в действие, когда носителю требуется помощь. Ее реализация в виде устройства с ограниченными ресурсами, в особенности поглощающего энергию устройства, может быть полезной, так как это гарантирует, что никому не придется столкнуться с разряженными батареями/заменой батарей. Будет создано сопряжение с целевым объектом. Но кнопка будет приводиться в действие очень редко (например, пару раз в год), возможно, каждый раз в разном местоположении (поскольку ее носитель перемещается); и даже операции обслуживания, при наличии, будут нечастыми (например, каждые две недели). Если после активизации кнопки ни у какого посредника нет записи в таблице, то в одной предусмотренной реализации системы сообщение не будет перенаправлено, а вместо этого может быть отправлен запрос; и только результат запроса может использоваться для перенаправления следующего сообщения. Однако текущий важный сигнал тревоги может быть не перенаправлен.
Данное изобретение содержит несколько методик для управления содержимым таблиц посредников способами, которые оптимизируют производительность, задержку и надежность для описанных выше типов сетей, предотвращая при этом переполнение таблиц посредников.
Далее раскрываются методики, которые предотвращают ненужный рост таблиц посредников:
1. Классы записей в таблице посредников, включающие в себя:
a) Методики подстановки, которые позволяют хранить информацию таблицы посредников компактнее;
b) Классы записей в таблице с разными политиками обслуживания, включая записи в таблице, которые не будут созданы;
c) Критерии принятия решения для определения класса записи в таблице, например, чтобы посредник решил, что для некоторого ограниченного узла он может пропустить то действие работы в качестве посредника и/или добавления записи в таблицу.
Далее также раскрываются методики для оптимизации очистки таблицы посредников. Очистка таблицы означает удаление информации для одного или более ограниченных узлов. Очистка может выполняться в любое время, чтобы создать свободное пространство для предполагаемого будущего использования, или точно в нужный момент, чтобы создать свободное пространство в момент, когда посредник решил, что новая запись в таблице должна быть непременно добавлена. Вместо немедленного удаления записи можно пометить как ʺудаляемыеʺ, чтобы информация о состоянии ограниченного устройства хранилась, пока ее не потребуется заменить записью для другого ограниченного устройства; это позволяет избежать повторного обнаружения, если информация о состоянии снова становится релевантной. Оптимизировать очистку таблицы означает использовать критерии выбора при выборе записей для удаления, которые оптимизируют некоторые аспекты будущей производительности сети (надежность, задержку, использование полосы пропускания и т.п.). Они делятся на две категории.
2. Идентификация устаревших записей, которые можно удалить, не вызывая потери производительности.
3. Средство для определения, какие оставшиеся записи желательнее сохранить по сравнению с другими.
a. Средство, которое зависит от использования информации о состоянии, разосланной в сети.
Данное изобретение дополнительно раскрывает способы, которые помогают посредникам позднего действия в принятии решений, действовать или нет.
Подробное описание изобретения
(4ʹ/5ʹ)
Одним вариантом осуществления для предотвращения ненужного роста таблиц посредников является ограничение количества выделенных записей в таблице посредников, которые нужно хранить посреднику.
В одном варианте осуществления этого способа посредникам предоставляется ʺподстановочнаяʺ запись, позволяющая обращаться с ограниченными устройствами, для которых нет выделенной записи в таблице посредников. При поиске ограниченного устройства Rx в таблице посредников, содержащей ʺподстановочнуюʺ запись, если Rx не соответствует никакой обычной записи, то он все же может соответствовать ʺподстановочнойʺ записи. ʺПодстановочнаяʺ запись может задавать, что она соответствует всем устройствам, не подходящим в других отношениях, или только подмножеству, заданному некоторым образом, например, тем устройствам Rx, которые имеют глобальный уникальный идентификатор устройства, оканчивающийся двумя разрядами ʺ01ʺ. Такая ʺподстановочнаяʺ запись должна указывать предназначенный целевой объект, который может быть широковещательным, групповым или одиночным адресом (адресами) (их списком). В случае одноадресной или группой/многоадресной рассылки адрес предпочтительно указывает некоторое устройство (устройства), способное к обращению с несколькими ограниченными устройствами и соответствующими приемниками; например, система управления зданием, способная обрабатывать пакеты, идентифицировать участвующие устройства и направлять сообщение соответствующим образом, если необходимо. Целевой адрес в ʺподстановочнойʺ записи в таблице также может быть недействительным адресом, указывающим, что посредник не должен перенаправлять от имени ограниченных устройств, о которых у него нет записи