ЭФФЕКТИВНОЕ УПРАВЛЕНИЕ ТАБЛИЦАМИ ПОСРЕДНИКОВ В СЕТЯХ СВЯЗИ
EFFICIENT CONTROL OF INTERMEDIARY TABLES IN COMMUNICATION NETWORKS

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Изобретение относится к области сетей связи, где устройства-посредники (например, узлы-посредники) работают в качестве ретрансляционных устройств (например, ретрансляционных узлов) для перенаправления сообщений от устройств с ограниченными ресурсами (например, узлов с ограниченными ресурсами), например - но не только - устройств ZigBee Green Power (ZGPD), к их приемникам или устройствам-адресатам (например, узлам-адресатам).
УРОВЕНЬ ТЕХНИКИ ИЗОБРЕТЕНИЯ
В беспроводной сети могут использоваться устройства с ограниченными ресурсами, включая устройства с ограниченной энергией, такие как поглощающие энергию устройства. Такие устройства весьма ограничены в доступном количестве энергии, что ограничивает их предлагаемые функциональные возможности и влияет на управление, ввод в эксплуатацию и обслуживание сети.
Одним примером такой технологии является развивающийся стандарт ZigBee Green Power (ZGP). Устройство ZGP (ZGPD) является устройством с ограниченными ресурсами, которое может питаться с помощью поглощения энергии и которое может не иметь батареи, либо которое может иметь лишь небольшой объем памяти и, соответственно, может передавать и/или принимать только в незапланированных случаях. Например, ZGPD может быть безбатарейным переключателем, который может передавать только в течение короткого времени, как только он приводится в действие пользователем, и не обладает возможностью приема. Другим примером ZGPD может быть безбатарейный переключатель, который может принимать в течение короткого времени, как только он приводится в действие пользователем и передал свой сигнал. Еще одним примером ZGPD является периодически сообщающий датчик, поглощающий энергию из своего окружения, например, посредством фотогальванического элемента, с возможностями приема или без таковых. Если устройство с ограниченной энергией находится вне диапазона устройства, управлять которым оно конфигурируется (устройство, подлежащее управлению, называется "приемником" или "устройством-адресатом"), то промежуточное устройство (называемое "посредником") используется для перенаправления информации в приемник. Линии беспроводной связи между посредником и ограниченным устройством могут появляться и исчезать в течение времени существования сети, например из-за изменений в условиях распространения или в относительном местоположении устройств, и/или из-за добавления и удаления устройств. По причинам безопасности и производительности системы посредники могут перенаправлять только для ограниченных устройств, для которых у них есть запись в таблице (то есть запись в таблице посредника), например, чтобы иметь возможность выполнять проверку свежести или безопасности (аутентификация, дешифрование). Для надежности связи можно использовать больше одного посредника для перенаправления информации от имени ограниченного устройства.
Существуют различные способы для создания/расширения такой записи в таблице посредника, автоматически или по запросу например, пользователя или объекта обслуживания и/или конфигурации. Однако подходы для удаления записи, доступные в настоящее время в спецификации ZGP, требуют участия пользователя посредством использования инструмента ввода в эксплуатацию и/или ручного взаимодействия с ограниченным устройством и/или управляемым устройством (каждое из которых может устанавливаться на потолке), что обременительно для крупномасштабной сети, такой как сети автоматизации зданий; и может требовать повторяющихся действий удаления, если объединяется с автоматическим созданием таблицы посредника, которое доступно сегодня в спецификации ZGP.
Из-за масштаба сети и автоматического создания таблицы посредника существует потребность в автоматическом управлении таблицами посредников. В соответствии со спецификацией ZGP от реализованного посредника зависит выбор некоторой эвристики управления, то есть выбор эвристики, которая отбирает запись для удаления из (заполненной) таблицы посредника, например, если нужно добавить новую запись; единственный рекомендованный способ для автоматического удаления записей в таблице посредника указывает на эти записи с признаком InRange в поле Options, установленным в "0b0", при желании совместно с подполем ZGPDfixed поля Options, также установленным в "0b0" (ср. рекомендованные методы ZGP для ZBA, документ ZigBee 11-0196 г01, раздел 5.4.2.1, страница 24, строка 22-24); или на записи с признаком EntryActive в поле Options, установленным в "0b0", которые можно переместить в список zgppBlockedZGPDID (документ ZigBee 09-5499r23, раздел 3.5.2.2.1, строка 21-23). Другая возможная эвристика исключена из объема спецификации ZGP; она может относиться к основанным на опыте методикам для решения, изучения и обнаружения проблем. Там, где исчерпывающий поиск является непрактичным, эвристика используется для ускорения процесса отыскания удовлетворительного решения. Примеры такой эвристики включают в себя использование эмпирического правила, обоснованного предположения, интуитивного суждения или здравого смысла. Самой основной эвристикой является метод проб и ошибок. Может иметь место некоторый уровень свободы для разработчиков посредников, так как несмотря на то, что плохая эвристика уменьшает эффективность и надежность сети, плохая эвристика не может привести к длительному сбою сети. В текущей спецификации ZGP отсутствует снижение производительности для посредников, имеющих сильно заполненные таблицы посредников, так что агрессивная очистка для сокращения таблицы посредника гораздо меньше размера доступной памяти на посреднике не обладает благоприятным эффектом.
Текущая спецификация ZGP предлагает некоторые другие механизмы для обслуживания таблиц посредников, особенно для создания записи в таблице посредника. Например, в процессе ввода в эксплуатацию (возможно, с участием пользователя), преемник или инструмент ввода в эксплуатацию отправляет управляющее извещение (например, команду ZGP Pairing с признаком AddSink, установленным в "0b1"), информирующее посредника (посредников) о новом созданном отношении управления, включающее в себя идентификатор ограниченного устройства и соответствующий приемник (приемники). Данное управляющее извещение можно отправить с помощью широковещания (с ограниченным диапазоном), с необязательным добавлением посредника (посредников) в таблицу, только если они находятся в диапазоне ограниченного устройства, особенно если устройство указывает постоянное местоположение. Во время работы создания записи в таблице посредника можно достичь на посреднике с помощью приема незатребованного управляющего извещения, или связи от неизвестного ограниченного устройства и наблюдения другого посредника (посредников), перенаправляющего ее, или связи от неизвестного ограниченного устройства и создания запроса отношений управления (например, команда ZGP Pairing Search или широковещательная команда ZGP Notification). Записи в таблице посредника можно удалять после приема GPDF (Кадр устройства Green Power) вывода из эксплуатации от ограниченного узла в режиме ввода в эксплуатацию (специально инициированного на ограниченном узле) либо после приема команды снятия контроля (например, ZGP Pairing с признаком AddSink, установленным в "0b0", или с признаком RemoveZGPD, установленным в "0b1"), специально инициированного на приемнике/инструменте ввода в эксплуатацию.
Другими автоматическими операциями с таблицей посредника, упомянутыми в спецификации ZGP, являются очистка признака первого для перенаправления и/или удаление любых пакетов, стоящих в очереди для перенаправления, после приема перенаправленной другим посредником связи или пакета подтверждения от приемника (ср. спецификацию ZGP, документ ZigBee 09-5499-23, раздел А.3.5.2.1, страница 124, строка 9-39), либо очистка признака первого для перенаправления и удаление любых пакетов, стоящих в очереди для доставки ограниченному устройству, после приема запроса на отправку ограниченному устройству при назначаемом другом посреднике (ср. спецификацию ZGP, документ ZigBee 09-5499-23, раздел А.3.5.2.1, страница 122, строка 43 - страница 123, строка 5).
Вышеупомянутые подходы позволяют определять состояние записи в таблице посредника. Однако из-за непредсказуемого расписания передач ограниченным устройством (которое может зависеть от количества доступной энергии и/или взаимодействия с пользователем) и ненадежного характера беспроводных передач, особенно от ограниченных устройств, которые, возможно, не используют квитирования (АСК) и процедуры доступа к каналу (например, Коллективный доступ с контролем несущей и предотвращением конфликтов (CSMA/CA)), простые подходы для автоматического удаления таблицы посредника на основе старения (например, удаление записей, которые истекут быстрее всех, удаление записей, которые создавались раньше всех, удаление записей, которые использовались меньше всех) не подходят для ограниченных устройств.
Хотя известно несколько решений для устройств-посредников, чтобы самостоятельно принимать решения по созданию, сохранению, обновлению или удалению записи в таблице посредника, они не гарантируют оптимальной производительности системы с эффективным назначением посредников (с необходимым уровнем резервирования) на каждое ограниченное устройство.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Задача изобретения - обеспечить эффективное управление таблицами посредников в сети, чтобы достичь по меньшей мере одного из удаления устаревших записей в таблице посредника, предупреждения переполнения таблицы посредника, предупреждения слишком многих активных посредников на каждое ограниченное устройство (особенно в плотных сетях), гарантии по меньшей мере одного посредника на каждое ограниченное устройство (в плотных сетях) и оптимальной надежности посредников.
Эта задача решается с помощью устройства по п. 1, способа по п. 6 и компьютерного программного продукта по п. 7.
Соответственно, предлагаются решения для управления содержимым таблиц посредников способами, которые оптимизируют производительность, задержку и надежность для рассматриваемой сети (сетей), оптимизируя при этом определенное количество устройств-посредников раннего действия на каждое ограниченное устройство. Количество устройств-посредников, у которых есть запись в таблице посредника для устройства с ограниченными ресурсами, определяется по меньшей мере для одного устройства с ограниченными ресурсами на основе информации таблиц посредников, принятой от устройств-посредников и/или других устройств в сети, и/или по меньшей мере частично на основе наблюдения сообщений, отправленных по меньшей мере одним из упомянутых устройств-посредников, действуя при этом в качестве ретрансляционного устройства для упомянутого устройства с ограниченными ресурсами. Знание количества устройств-посредников на каждое ограниченное устройство (например, ZGPD) позволяет устройству (которое могло бы предоставляться на устройстве-посреднике, устройстве-приемнике, управляющем устройстве подобном, например, инструменту ввода в эксплуатацию или системе управления зданием, или другому устройству) добавлять или удалять или подтверждать или создавать записи или пробные записи. В качестве примера количество устройств-посредников, у которых есть запись в таблице посредника для устройства с ограниченными ресурсами, может определяться путем передачи запроса записей в таблице посредника, например, в широковещательной рассылке для обращения к посредникам или в одноадресной рассылке другому устройству, хранящему записи. В качестве альтернативы или дополнительно отношение между количеством раз, которое устройство-посредник, у которого есть запись в таблице посредника для устройства с ограниченными ресурсами, действовало для устройства с ограниченными ресурсами, и количеством раз, которое устройство с ограниченными ресурсами выполнило передачу, определяется на основе информации, принятой от устройств-посредников, и/или по меньшей мере частично на основе наблюдения сообщений, отправленных по меньшей мере одним из упомянутых устройств-посредников, действуя при этом в качестве ретрансляционного устройства для упомянутого устройства с ограниченными ресурсами, и если это отношение превышает заранее установленную пороговую величину, то инициируется создание по меньшей мере одного дополнительного устройства-посредника, у которого есть запись в таблице посредника для устройства с ограниченными ресурсами, либо, если это отношение превышает другую заранее установленную пороговую величину, то инициируется удаление по меньшей мере одной записи в таблице посредника для устройства с ограниченными ресурсами. Кроме того, управление таблицами посредников можно упростить путем принуждения устройства-посредника (устройств-посредников) сообщать информацию об известных устройствах с ограниченными ресурсами. В связи с этим устройство-посредник (устройства-посредники) можно приспособить для предоставления записей мониторинга об устройствах с ограниченными ресурсами, обнаруженных в его/их диапазоне приема. Эти обнаруженные устройства с ограниченными ресурсами могут быть еще не перечислены в его/их таблице посредника.
Посредством этого можно обеспечить, что каждый ограниченный узел имеет записи в таблице на устройствах-посредниках. В результате обеспечения того, что каждое устройство с ограниченными ресурсами имеет несколько устройств-посредников раннего действия в его диапазоне передачи, можно оптимизировать надежность системы. Посредством этого производительность системы можно быстро и эффективно повысить путем эффективного назначения устройств-посредников (с необходимым уровнем резервирования) на каждое ограниченное устройство. Необходимого или нужного количества устройств-посредников на каждое ограниченное устройство можно достичь с помощью методик управления таблицами посредников для удаления записей в таблице посредника (у выбранного устройства-посредника) и/или добавления записей в таблицу посредника (в выбранном устройстве-посреднике), чтобы оптимизировать общую производительность системы и характеристики надежности.
Все решения, которые заданы в вышеупомянутых независимых пунктах формулы изобретения на устройство и способ, относятся к взаимосвязанным изделиям или альтернативным решениям вышеупомянутой задачи, которые связаны общей концепцией уравновешивания использования устройств-посредников для узлов с ограниченными ресурсами путем управления записями в таблице посредника для устройств с ограниченными ресурсами на основе совместно используемой информации об устройствах с ограниченными ресурсами и/или связанных записей в таблице посредника.
В соответствии с первым аспектом количество устройств-посредников может определяться на основе информации таблиц посредников, принятой от устройств-посредников или других устройств в сети, и/или по меньшей мере частично на основе наблюдения сообщений, отправленных по меньшей мере одним из устройств-посредников, действуя при этом в качестве ретрансляционного устройства для устройства с ограниченными ресурсами. Эти меры упрощают сбор информации, из которой можно вывести количество устройств-посредников.
В соответствии со вторым аспектом, который можно объединить с вышеупомянутым первым аспектом, по меньшей мере определенное количество устройств-посредников, у которых есть запись в таблице посредника для устройства с ограниченными ресурсами, можно сохранить в таблице подсчета посредников, и устройство-посредник можно удалить из таблицы подсчета посредников в ответ на сообщение (например, одноадресное, или групповое, или широковещательное сообщение), принятое от устройства-посредника или другого устройства, например приемника, и указывающее, что устройство-посредник решило или получило команду удалить устройство с ограниченными ресурсами из своей таблицы посредника или прекратить перенаправление от его имени. Данная мера обеспечивает, что информация о посреднике, используемая для управления таблицами посредников, поддерживается актуальной.
В соответствии с третьим аспектом, который можно объединить с вышеупомянутым первым или вторым аспектом, запись в таблице для устройства с ограниченными ресурсами можно удалить или маркировать как кандидат на удаление по меньшей мере из одной таблицы посредника, либо можно прекратить перенаправление от имени устройства с ограниченными ресурсами, если определяется по меньшей мере одно из следующих условий: наличие устройств-посредников больше заранее установленной верхней пороговой величины с записью в таблице посредника для устройства с ограниченными ресурсами, или которые перенаправляют от его имени, устройства-посредники имеют недостаточные индикаторы надежности, все устройства-посредники в заданной области или с заданной возможностью имеют заполненные таблицы посредников, изменяется пороговая величина, изменяются характеристики ограниченного устройства, изменение в сопряжениях. Это обеспечивает, что для каждого устройства с ограниченными ресурсами количество устройств-посредников раннего действия в его диапазоне передачи остается ниже верхней пороговой величины.
В соответствии с четвертым аспектом, который можно объединить с любым из вышеупомянутых аспектов с первого по третий, запись в таблице посредника восстанавливается устройством в момент или до истечения времени существования записи в таблице посредника. Посредством этого устройство на основе доступной, связанной с посредником информации может решить, следует ли поддерживать запись в таблице посредника даже после истечения ее времени существования.
В соответствии с пятым аспектом, который можно объединить с любым из вышеупомянутых аспектов с первого по четвертый, можно инициировать действие, которое вызывает создание больше посредников раннего действия с записью в таблице посредника для устройства с ограниченными ресурсами, или которые перенаправляют от его имени, если определено по меньшей мере одно из следующих условий: определенное количество устройств-посредников с записями в таблице посредника для устройства с ограниченными ресурсами (то есть количество устройств-посредников раннего действия) ниже заранее установленной нижней пороговой величины, существующие посредники не имеют достаточных индикаторов надежности, другие посредники имеют достаточные или лучшие индикаторы надежности, изменяется пороговая величина, изменяются характеристики ограниченного устройства, или изменение в сопряжениях. Посредством этого можно обеспечить, что каждый ограниченный узел имеет заранее установленное минимальное количество записей в таблице на устройствах-посредниках.
В соответствии с шестым аспектом, который можно объединить с любым из вышеупомянутых аспектов с первого по пятый, устройство-посредник можно выполнить с возможностью перенаправления сообщения, принятого от устройства с ограниченными ресурсами, для которого у него есть запись в таблице посредника для перенаправления, после истечения характерного для посредника времени задержки, и пока оно не увидит, что другой посредник уже перенаправил это сообщение, причем устройство-посредник выполнено с возможностью управления характерным для посредника временем задержки, так что существует ненулевая вероятность, что это время задержки будет меньше, чем используемое другими устройствами-посредниками в диапазоне устройства с ограниченными ресурсами, даже если топология сети такова, что эти другие устройства-посредники располагаются лучше относительно устройства с ограниченными ресурсами, или если условия распространения таковы, что другие устройства-посредники имеют индикаторы надежности лучше. Посредством этого каждое устройство-посредник иногда будет получать возможность действовать от имени ограниченного устройства. Характерное для посредника время задержки можно вычислить путем включения по меньшей мере одной из случайной составляющей и/или составляющей, которая основывается на подсчете количества последних случаев, когда устройство с ограниченными ресурсами сгенерировало сообщение, которое не было перенаправлено устройством-посредником, и/или составляющей, которая- основывается на подсчете устройств-посредников, перенаправляющих от имени устройства с ограниченными ресурсами. Посредством этого можно добиться большей устойчивости совокупности активных посредников.
В соответствии с седьмым аспектом, который можно объединить с любым из аспектов с первого по восьмой, инициируется действие для прекращения перенаправления от имени устройства с ограниченными ресурсами и для удаления записи в таблице посредника у устройства-посредника для устройства с ограниченными ресурсами, или маркировки записи в таблице посредника как кандидата на удаление, если вышеупомянутое отношение между количеством раз, которое устройство-посредник, у которого есть запись в таблице посредника для устройства с ограниченными ресурсами, действовало для устройства с ограниченными ресурсами, и количеством раз, которое устройство с ограниченными ресурсами выполнило передачу, опустилось ниже заранее установленной пороговой величины или другой (меньшей) пороговой величины. Посредством этого можно обнаружить и удалить устройства-посредники, которые используются не часто или уже не находятся в диапазоне ограниченного устройства.
В соответствии с восьмым аспектом, который можно объединить с любым из аспектов с первого по седьмой, отношение между количеством раз, которое устройство-посредник, у которого есть запись в таблице посредника для устройства с ограниченными ресурсами, действовало для устройства с ограниченными ресурсами, и количеством раз, которое устройство с ограниченными ресурсами выполнило передачу, может определяться на основе информации мониторинга об устройстве с ограниченными ресурсами, принятой от устройств-посредников, которые не имеют запись в таблице посредника для устройства с ограниченными ресурсами или не перенаправляют от его имени. Соответственно, устройства-посредники без функции раннего действия могут успешно привлекаться к управлению таблицами посредников.
В соответствии с девятым аспектом, который можно объединить с любым из аспектов с первого по девятый, действие для получения записи в таблице посредника для устройства с ограниченными ресурсами или для начала перенаправления от имени устройства с ограниченными ресурсами может инициироваться вторым устройством-посредником (без функции раннего действия), которое не перенаправляет от имени устройства с ограниченными ресурсами, если второе устройство-посредник обнаруживает, что отношение другого устройства-посредника превышает заранее установленную пороговую величину. Посредством этого устройства-посредники, которые не имеют запись в таблице посредника для ограниченного устройства, могут активно участвовать в управлении таблицами.
В соответствии с десятым аспектом, который можно объединить с любым из аспектов с первого по девятый, устройство-посредник можно выполнить с возможностью приема командного сообщения, которое ссылается на устройство с ограниченными ресурсами, где устройство-посредник выполнено с возможностью исполнения команды, только если в настоящее время у него есть запись мониторинга, связанная с последним сообщением от ограниченного устройства. Как уже упоминалось выше, это повышает устойчивость совокупности активных посредников. Определенная команда может привести к добавлению записи в таблице посредника для устройства с ограниченными ресурсами на устройстве-посреднике.
Отметим, что устройство и устройство-посредник могут быть реализованы как дискретные аппаратные схемы с дискретными аппаратными компонентами, как интегральная схема, как компоновка модулей микросхемы или как устройство или микросхема обработки сигналов, управляемое (управляемая) системной программой либо программой, сохраненной в памяти, записанной на машиночитаемом носителе или загруженной из сети, такой как Интернет.
Нужно понимать, что устройство по п. 1, способ по п. 6 и компьютерный программный продукт по π. 7 имеют аналогичные и/или идентичные предпочтительные варианты осуществления, которые, в частности, заданы в зависимых пунктах формулы изобретения.
Следует понимать, что предпочтительный вариант осуществления изобретения также может быть любым сочетанием зависимых пунктов формулы изобретения и соответствующего независимого пункта формулы изобретения.
Эти и другие аспекты изобретения станут очевидными и разъясненными со ссылкой на варианты осуществления, описанные ниже.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
На чертежах:
Фиг. 1 показывает схематическую блок-схему архитектуры системы в соответствии с различными вариантами осуществления.
ПОДРОБНОЕ ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ
Варианты осуществления теперь описываются на основе беспроводной ячеистой сети, содержащей одно или несколько ограниченных устройств R, которые могут отправлять сообщения, помещая их в пакеты, но ограничены в своей способности отправлять много пакетов или длинные беспроводные пакеты и ограничены в своей способности прослушивать пакеты в течение длительных периодов времени или вообще принимать (например, устройства, питаемые с помощью механизмов аккумулирования энергии), одно или несколько устройств-приемников Т, которые должны принимать и воздействовать на сообщения от ограниченных устройств R, где сообщения могут кодироваться в один или несколько пакетов, и кодирование сообщения в пакет может меняться на основе последовательности скачков, и сообщения могут доставляться в режиме свободной, одноадресной, многоадресной, групповой или широковещательной связи, одно или несколько устройств-посредников Р, которые помогают доставлять сообщения от ограниченных устройств вне (радио)диапазона ограниченных устройств и/или помогают в доставке их в необходимом формате сообщений и/или более надежном, совершая специальные действия (например, доставляя сообщение дальше к устройству-приемнику Τ), когда они принимают пакет от ограниченного устройства. Устройства-посредники Ρ обычно могут обладать большей мощностью, чем ограниченные устройства, поэтому они могут выполнять дополнительную обработку сообщений, использовать разные форматы сообщений с более длинными сообщениями или сообщениями по другому протоколу, выполнять действия по повторению попытки или действия по выявлению маршрута от имени ограниченного устройства, и т.п. При желании может предоставляться одно или несколько устройств-маршрутизаторов RT, которые не могут действовать в качестве устройства-посредника, но могут направлять сообщения, отправленные устройством-посредником Ρ к устройству-приемнику Т. Сеть называется "ячеистой" сетью для указания, что имеется по меньшей мере одно устройство, которое допускает работу в качестве ретранслятора для сообщения.
Одно устройство может действовать в качестве устройства-приемника Τ и устройства-посредника Р, а также в качестве устройства-маршрутизатора RT.
Фиг. 1 показывает типичную топологию сети, в которой можно реализовать настоящее изобретение. Стрелки на фиг. 1 показывают пакеты, которые отправляются и принимаются для доставки сообщения от ограниченного, устройства R1 к устройству-приемнику Т1. Пунктирная стрелка указывает, что в этом примере исходный пакет, отправленный ограниченным устройством R1, также принимается первым устройством-посредником Р1, но первое устройство-посредник Р1 не воздействует на него. Существует несколько подходов, с помощью которых первое устройство-посредник Р1 и второе устройство-посредник Р2 могут координироваться для предотвращения любого неэкономного действия их обоих при перенаправлении пакета.
Как указано на фиг. 1, первое и второе устройства-посредники Р1 и Р2 являются посредниками, которые находятся в диапазоне ограниченного устройства R1. Существует несколько причин, почему может быть выгодно иметь исполнение системы, при котором несколько устройств в диапазоне могут работать или действовать в качестве посредников для ограниченного устройства R1.
i
i
Первой причиной является надежность. Для каждого сообщения M ограниченное устройство R1 может иметь лишь ограниченную энергию для отправки пакетов, содержащих сообщение. Например, ограниченное устройство R1 может быть способно отправить два или три пакета, кодирующие сообщение, в течение очень короткого временного промежутка (например, заданного доступностью поглощенной энергии). Также оно может быть не способно выполнить необходимые механизмы доступа к каналу и/или ожидать приема кадра квитирования, и все это может отрицательно влиять на надежность связи. В этом случае наличие большего количества посредников вокруг ограниченного устройства R1, которые будут прослушивать, а также будут способны перенаправить пакеты от ограниченного устройства R1, увеличивает вероятность того, что по меньшей мере один посредник примет пакет с сообщением Μ и впоследствии убедится, что он доставлен приемнику Т.
Второй причиной является мобильность. Если ограниченное устройство R1 может перемещаться, то оно может выйти из диапазона какого-нибудь одиночного посредника, посредник может переместиться/выключиться, либо условия распространения могут измениться (например, вследствие временных или постоянных перестановок в пространстве или перемещений людей).
Третьей причиной является уклонение от конфигурации ограниченного устройства. Может быть невозможно или нежелательно конфигурировать ограниченное устройство R1 для хранения сетевого адреса одного устройства-посредника. Поэтому любой пакет сообщений, отправленный ограниченным устройством R1, автоматически будет широковещательным/многоадресным пакетом, адресованным всем или нескольким устройствам с функцией посредника (в диапазоне).
Варианты осуществления настоящего изобретения применяются к системам с возможностью иметь несколько посредников для каждого ограниченного устройства R1. В таких системах для скорости, эффективности и надежности полезно, если посредники могут содержать в себе "информацию о состоянии", также называемую "информацией таблицы посредника", касаемо ограниченных устройств. Примерами такой "информации о состоянии", применимой к одному ограниченному устройству R1, являются (i) идентификатор ограниченного устройства, (ii) адреса (или идентификаторы) устройства-приемника (или устройств) для некоторых сообщений от ограниченного устройства R1, если ограниченное устройство R1 не может внедрить или не внедряет эту информацию в свои пакеты сообщений, или другая информация, влияющая на перенаправление от имени ограниченного устройства, например состояние записи, информация о маршрутизации, адреса-псевдонимы для перенаправления, (iii) информация, которая делает надежнее связь от или к ограниченному устройству R1, например, ключ шифрования, используемый ограниченным устройством R1, защитный счетчик кадров, использованный недавно ограниченным устройством R1 (счетчики кадров могут защитить от атак с повторением пакетов и/или используются в качестве векторов начального заполнения для ключа), (iv) информация о качестве линии связи между ограниченным устройством и устройством-посредником, (v) возможности ограниченного устройства и (vi) сообщение, которое нужно отправить к ограниченному устройству R1, как только оно включает свой радиоблок и устанавливает его на прием таких сообщений; все или некоторые из них можно сохранить. Обычно аккумулирующее энергию устройство или узел могло бы (мог бы) включать свой радиоблок и устанавливать его в режим приема на короткое время после того, как оно отправило пакет сообщений.
В вариантах осуществления термин "таблица посредника" и "информация таблицы посредника" предназначен для охвата части или всей структуры данных на посреднике, которая хранит информацию об одном или нескольких ограниченных устройствах или для них и может содержать один или несколько информационных элементов, описанных в предыдущем абзаце. Таблица посредника может содержать информацию для одного или многих разных ограниченных узлов Rx. Таким образом, в такой системе записи в таблице посредника нужно создавать, обслуживать и использовать для перенаправления связи ограниченного устройства, а также, возможно, удалять их.
Например, на фиг. 1 было бы полезно, если бы оба устройства-посредника Р1 и Р2 хранили информацию для ограниченного устройства R1 в своих таблицах посредников. Если ограниченное устройство R1 может перемещаться, также было бы полезно, если бы ту информацию хранило третье устройство-посредник Р3. Однако в наиболее продуманных ячеистых сетях память в устройствах или узлах-посредниках ограничивается, так что не всегда будет возможно сохранить информацию обо всех ограниченных узлах во всех таблицах посредников всех узлов-посредников (с функцией посредника).
Однако узел-посредник, который в настоящее время не имеет никакой информации об ограниченном узле R1 в таблице посредника, все же может решить начать работу в качестве посредника для того узла. Поэтому можно идентифицировать два типа посредников, окружающих ограниченный узел. Первый тип является посредником раннего действия, который имеет информацию об ограниченных устройствах в своей таблице посредника или перенаправляет от имени таких ограниченных устройств, а второй тип является посредником без функции раннего действия, который (еще) не имеет информации ни о каком ограниченном устройстве в своей таблице посредника, или по меньшей мере не имеет достаточной информации, и соответственно не может перенаправлять от имени ограниченного устройства (R1) в момент, когда он принимает сообщение от ограниченного устройства R1. Посреднику позднего действия сначала придется откуда-нибудь получить необходимую информацию в сети. Отметим, что по всему настоящему описанию изобретения термины "активные посредники" и "посредники раннего действия" имеют одинаковый смысл и предназначены для взаимозаменяемого использования.
i
i
i
Компоновка в сети может быть такой, что каждый ограниченный узел в своем диапазоне передачи имеет по меньшей мере несколько посредников раннего действия. Однако в этом случае может быть желателен механизм для предотвращения того, что каждый посредник раннего действия решает действовать во всех случаях, когда он принимает сообщение от ограниченного устройства в своем диапазоне. В противном случае наличие нескольких посредников раннего действия может вызвать увеличение в задержке доставки сообщений или даже уменьшение надежности доставки. Одним из таких предусмотренных механизмов предотвращения могло бы быть информирование других посредников в диапазоне ограниченного устройства, если некоторое устройство-посредник воздействует на принятое сообщение от ограниченного устройства R1. Если другие устройства-посредники информируются о действии некоторого устройства-посредника, то они сами могут воздержаться от действия. Такой информационный механизм может быть реализован следующим образом. Предположим, что первое устройство-посредник Р1 приняло сообщение M от ограниченного устройства R1 и теперь должно решить, воздействовать ли на него. Затем оно запустит счетчик лимита времени и будет прослушивать канал сети. Если оно наблюдает пакет от другого устройства-посредника, например от второго устройства Р2, содержащий полезную нагрузку, которая указывает, что второе устройство-посредник Р2 воздействовало на то же сообщение M ограниченного устройства R1, то первое устройство-посредник Р1 решает не действовать и останавливает счетчик. Если счетчик достигает нуля без приема пакета от второго устройства-посредника Р2 для сообщения M ограниченного устройства R1, то первое устройство-посредник Р1 становится активным и действует для ограниченного устройства R1. Из-за различий в диапазонах отправки сети и некоторой присущей ненадежности доставки беспроводных пакетов механизмы вроде этого не запретят во всех случаях, что несколько посредников решат воздействовать на одно и то же сообщение от ограниченного устройства R1. Поэтому предусмотрено, что также имеются механизмы, например на узлах-приемниках, для отфильтровывания идентичных сообщений от нескольких посредников, которые действовали.
В предстоящем стандарте ZGP используются следующие механизмы для активных и действительных записей в таблице посредника (ср. спецификацию ZGP, документ ZigBee 09-5499-23, раздел А.3.5.2.1, страница 124, строка 9-39). В случае одноадресного перенаправления посредники, имеющие запись в таблице посредника для конкретного ограниченного устройства, вычисляют задержку перенаправления на основе таких критериев, как качество принятого сигнала от ограниченного устройства, доступность одноадресных маршрутов к устройствам-приемникам и факт того, что являлись первыми для перенаправления в прошлом. По истечении задержки перенаправления устройство-посредник отправляет сообщение ZGP Tunneling Stop в 2-скачковой широковещательной рассылке с альтернативным сетевым адресом источника и альтернативным сетевым порядковым номером, выведенными из информации в GPDF, чтобы информировать других посредников, а позднее отправляет сообщение (сообщения) ZGP Notification в одноадресной рассылке. После приема сообщения ZGP Tunneling Stop для одной и той же команды ZGPD в течение задержки перенаправления посредник отменяет свою запланированную передачу. В случае групповой связи для GPDF, указывающей возможность приема, те посредники, имеющие запись в таблице посредника для конкретного ограниченного устройства, вычисляют задержку перенаправления, как описано выше (не принимая во внимание доступность одноадресных маршрутов к устройствам-приемникам). По истечению задержки перенаправления посредник отправляет сообщение (сообщения) ZGP Notification в многоадресной рассылке APS (Подуровень поддержки приложений), и оно включает в себя его короткий адрес и индикатор качества сигнала, принятого от ограниченного устройства R1. После приема сообщения ZGP Notification для одной и той же команды ZGPD в течение задержки перенаправления, если ZGP Notification имеет лучший индикатор качества или равный индикатор качества и более младший короткий адрес, то устройство-посредник отменяет свою запланированную передачу. В случае групповой связи для GPDF, не указывающей возможность приема, устройства-посредники, имеющие запись в таблице посредника для конкретного ограниченного устройства, перенаправляют сообщение (сообщения) ZGP Notification в многоадресной рассылке APS с альтернативным сетевым адресом источника и альтернативным сетевым порядковым номером, выведенными из информации в GPDF, что заставляет независимо сформированные пакеты ZGP Notification выглядеть идентичными Таблице широковещательных транзакций (Broadcast Transaction Table) в ZigBee. Такой же механизм может использоваться приемниками, допускающими групповое перенаправление на основе таблицы приемников (ср. спецификацию ZGP, 09-5499-23, раздел А.3.5.2.5, страница 135, строка 28-35).
Если устройство-посредник имеет успех в передаче ZGP Notification, то оно устанавливает признак первого для перенаправления у своей записи в таблице посредника в "истину" и очищает его после приема сообщения ZGP Notification Response от одноадресного приемника с признаком первого для перенаправления, установленным в "ложь" (ср. спецификацию ZGP, 09-5499-23, раздел А.3.5.2.1, страница 124, строка 9-39). Приемники фильтруют принятые команды ZGPD на основе идентификатора ZGPD (SrcID), значения счетчика кадров и режима связи; дополнительная фильтрация дубликатов выполняется нижними уровнями (ср. спецификацию ZigBee Green Power, 09-5499-23, раздел Α.3.6.1.2).
Записи в таблице посредника нужно создавать с самого начала. Они могут создаваться, например, как часть процесса ввода в эксплуатацию, привлекающего пользователя и/или инструмент. Записи в таблице посредника также могли бы создаваться автоматически. Посредник без функции раннего действия, который решает действовать для ограниченного узла, в конце действия может закончить с достаточной информацией для создания у себя таблицы посредника для ограниченного устройства. Узел без функции раннего действия, который может перехватить связь, позволяющую ему создать дополнительную запись в таблице посредника, может решить сделать это, особенно когда у него есть доступное свободное место для большего количества записей.
Предполагается, что устройство-посредник перехватывает информацию об ограниченном узле, рассылаемую в сети, что позволяет ему добавить ограниченное устройство в свою таблицу посредника и стать узлом раннего действия для ограниченного устройства. Особенно если устройство-посредник (еще) не принимало никакого сообщения от ограниченного устройства, то есть оно может (еще) не находиться в диапазоне ограниченного устройства. Устройство-посредник могло бы, например, прослушивать сообщение широковещательного или многоадресного типа, предназначенное для всех заинтересованных узлов, информирующее их об ограниченном узле. Как посредник Рх должен решать, следует ли ему добавлять ограниченное устройство в свою таблицу посредника, особенно если это означает, что ему придется удалить другую запись из таблицы посредника? Способы помощи для такого решения обсуждаются ниже.
В предстоящем стандарте ZGP используются следующие механизмы для конфигурирования информации в таблицы посредников (ср. спецификацию ZGP, 09-5499-23, раздел А.3.5.2.1, страница 122, строка 17-41; раздел А.3.5.2.2.2, страница 127, строка 2-21; раздел А.3.9). Как часть успешной процедуры ввода в эксплуатацию, приемник ZGP (ZGPS) или ZGPCT (инструмент ввода в эксплуатацию ZGP) отправляет сообщение ZGP Pairing с признаком AddSink, установленным в "ОЫ" (ср. спецификацию ZGP, 09-5499-23, раздел А.3.3.5.2), обычно в виде широковещательной передачи по всей сети, переносящей, среди прочего, SrcID (то есть идентификатор ограниченного устройства ZGPD), настройки безопасности, если есть, и необходимый режим связи для перенаправления. После приема ZGP Pairing устройства-посредники создают/расширяют записи в таблице посредника поступившей информацией. Для приемников, допускающих перенаправление на основе таблицы приемников, записи в таблице приемников создаются после приема команды ZGP Pairing Configuration, которая может быть отправлена другим ZGPS, или ZGPCT, или другим устройством управления (ср. спецификацию ZigBee Green Power, 09-5499-23, раздел Α.3.3.4.7; раздел Α.3.5.2.5, страница 132, строка 27-страница 134, строка 27).
i
i
Старые/ненужные записи в таблице посредника следует удалять автоматически, если возможно. Однако ограниченные устройства могут иметь очень непостоянные шаблоны передачи, зависящие, например, от доступности энергии и/или. инициирования пользователем. Одним способом управления таблицами посредников может быть использование стратегий замены "наиболее давнего по использованию". По стратегии "наиболее давнего по использованию", если устройству-посреднику нужно добавить ограниченное устройство в свою таблицу посредника, которая уже заполнена, то оно удалит узел R, который является наиболее давним по использованию, где узел R может выбираться в качестве узла среди всех узлов в таблице, от имени которого устройство-посредник действовало в качестве посредника наиболее давно (дальше всего в прошлом), либо может выбираться в качестве узла среди всех узлов в таблице, который устройство-посредник наблюдало наиболее давно в качестве генерирующего какое-либо сообщение.
Однако существуют проблемы с такими стратегиями замены "наиболее давнего по использованию". Предположим, что таблицы посредников ограничиваются 5 записями, и сеть содержит 15 устройств-посредников (узлов) и 15 ограниченных устройств (узлов), причем все они находятся в диапазоне приема всех остальных. Предположим, что 10 из ограниченных устройств являются датчиками температуры, которые сообщают данные каждую минуту, а 5 являются кнопочными выключателями света, которые используются в среднем один раз в день. В этом случае существует высокая вероятность того, что каждое утро независимо от того, какая точная стратегия замены "наиболее давнего по использованию" используется, все таблицы посредников на всех устройствах-посредниках будут заполнены данными о датчиках температуры, при этом все выключатели света исчезли из таблиц. В зависимости от исполнения других аспектов сети это сделает обработку сообщений от выключателей света медленной, ненадежной иди даже невозможной. Поэтому нужна стратегия лучше, чем "наиболее давнего по использованию". 15 устройств-посредников имеют 15*5=75 записей в таблице среди них, поэтому должна присутствовать возможность иметь каждое из 15 ограниченных устройств в таблице посредника по меньшей мере одного устройства-посредника.
Другим способом управления таблицами посредников было бы использование стратегий замены "в порядке поступления". Очевидно, что это также субоптимально, поскольку не учитывает активность или важность никакого ограниченного устройства.
Запасным решением может быть привлечение пользователя к удалению, записей в таблице посредника.
Предстоящий стандарт ZGP предлагает следующие механизмы для удаления записи из таблицы посредника.
Удаление устройства ZGPD из сети, включая удаление связанных записей в таблице посредника, может инициироваться отправкой ZGPD команды ZGPD Decommissioning и/или отправкой приемником/инструментом ввода в эксплуатацию команды ZGP Pairing с признаком RemoveZGPD, установленным в "истину" (ср. спецификацию ZGP, 09-5499-23, раздел А.3.3.5.2). Оба действия предполагаются инициируемыми пользователем. Удаление конкретного сопряжения (то есть информации о приемнике) из записи в таблице посредника может инициироваться отправкой
приемником/инструментом ввода в эксплуатацию команды ZGP Pairing с признаком AddSink, установленным в "ложь". Приемники могут удалять устаревшие одноадресные сопряжения путем отправки ZGP Notification Response с признаком NoPairing, установленным в "истину" (ср. спецификацию ZGP, 09-5499-23, раздел А.3.3.5.1). Для устройств-посредников, работающих в области автоматизации зданий, рекомендуется очищать записи в таблице посредника с признаком InRange, установленным в "ложь" (ср. рекомендованные методы ZGP для ZBA, документ ZigBee 11-0196 г01, раздел 5.4.2.1, страница 24, строка 22-24). Посредники также могут иметь записи с признаком EntryActive в поле Options, установленным в "0b0", которые можно переместить в список zgppBlockedZGPDID (документ ZigBee 09-5499r23, раздел 3.5.2.2.1, строка 21-23).
Хотя записи в таблице для неизвестных ограниченных устройств можно обнаружить "своевременно", например, при первом наблюдении команды от устройства, и однажды удаленные/аннулированные записи в таблице можно повторно обнаружить/снова активировать, следует быть осторожным, чтобы плохая эвристика не привела к серьезному сбою системы. Представим себе портативную аварийную кнопку, предназначенную для приведения в действие, когда носителю требуется помощь. Ее реализация в виде устройства с ограниченными ресурсами, например поглощающего энергию устройства, может быть полезной, так как это гарантирует, что никому не придется столкнуться с разряженными батареями/заменой батарей. Можно создать сопряжение с устройством-приемником. Но кнопка будет приводиться в действие очень редко (например, пару раз в год), возможно, каждый раз в разном местоположении (поскольку ее носитель перемещается); и даже операции обслуживания, при наличии, могут быть нечастыми (например, каждые две недели). Если после активизации кнопки ни у какого посредника нет записи в таблице, то в одной предусмотренной реализации системы сообщение не будет перенаправлено, а вместо этого может быть отправлен запрос; и только результат запроса может использоваться для перенаправления следующего сообщения. Однако текущий важный сигнал тревоги может быть не перенаправлен.
В соответствии с первым вариантом осуществления в системе по меньшей мере для одного ограниченного устройства существует по меньшей мере один объект управления таблицами, который (иногда) определяет, сколько посредников имеют записи в таблице посредника для ограниченного устройства. Объект управления таблицами может быть по меньшей мере одним из устройств-посредников, перенаправляющих от имени ограниченного устройства, по меньшей мере одним из приемников, сопряженных с ограниченным устройством, или другим устройством, например устройством (устройствами) централизованного обслуживания вроде ZigBee Trust Centre, ZigBee Coordinator, ZigBee Network Manager, инструментом ввода в эксплуатацию или другим типом контроллера/управляющего узла, внутри или вне сети, например системы управления зданием. Кроме ведения подсчета активных посредников, можно хранить дополнительную информацию, включая одно или несколько из идентификаторов активных посредников, индикаторов надежности активных посредников, возможностей активных посредников, уровней заполнения таблиц у активных посредников, местоположения активных посредников и т.п.
Потребность в определении количества активных устройств-посредников, точный способ определения и действия, вытекающие из определения, могут отличаться по каждому ограниченному устройству, например, принимая во внимание критерии вроде типа ограниченного устройства, применения, мобильности, интервала передачи сообщений или индивидуальных характеристик ограниченного устройства. Характеристики могут включать в себя, например, важность и местоположение узла (например, локальные условия распространения) или механизм перенаправления (например, одноадресная, групповая, подстановочная запись в таблице посредника).
Целевое количество устройств-посредников раннего действия на каждое ограниченное устройство или, в качестве альтернативы, нижняя и верхняя пороговая величина для количества устройств-посредников могут определяться глобально, закрепляться стандартом или политикой конкретной сети либо поставщика. Кроме того, они могут зависеть от типа устройства, применения, мобильности, интервала передачи сообщений, индивидуальных характеристик ограниченного устройства, например, важности и местоположения (например, локальные условия распространения) или механизма перенаправления (например, одноадресный, групповой). Целевое количество или пороговые величины могут меняться за время существования сети, что инициируется, например, приемником, объектом управления либо вызывается некоторым изменением конфигурации, например изменением частоты передачи сообщений у ограниченного устройства или изменением в сопряжении. Кроме того, можно задать дополнительные условия для выбора посредников раннего действия, как описано ниже (ср. описанные ниже критерии сравнения).
Хотя добавление большего количества устройств-посредников раннего действия для ограниченного узла может увеличить надежность, это также могло бы вызвать дополнительный сетевой трафик, так что критерием оптимизации не обязательно должна быть максимизация количества устройств-посредников раннего действия. Объект управления таблицами может поддерживать количество устройств-посредников раннего действия на каждое ограниченное устройство выше нижней границы, но это можно объединить с объектом управления таблицами для поддержания количества устройств-посредников раннего действия ниже некоторой пороговой величины нижней границы. Если задаются дополнительные условия для посредников раннего действия (ср. описанные ниже критерии сравнения), то сам факт того, что посредник начинает или прекращает удовлетворять тем условиям, также может привести к добавлению/удалению из посредников раннего действия. Например, если посредник раннего действия уже не выполняет условие минимального индикатора надежности, то его можно удалить из таблицы (подсчета) активных посредников. В другом примере, если все устройства-посредники в диапазоне конкретного ограниченного устройства R2, обладающего конкретной возможностью, например, допускающего одноадресное перенаправление, имеют заполненные таблицы, и нужна новая одноадресная запись в таблице посредника для ограниченного узла R2, то можно инициировать групповую запись в таблице для другого узла R1 в том же диапазоне по меньшей мере на одном из тех посредников, и если необходимо, добавить ее в таблицу посредника у одного или нескольких посредников с функцией групповой рассылки в диапазоне R1.
Предложенное решение по ведению по меньшей мере подсчета активных посредников в таблице посредника можно объединить с механизмом, который вызывает удаление устройства-посредника из таблицы (подсчета) активных посредников на объекте управления таблицами, если это устройство-посредник было неактивным в течение длительного времени в качестве устройства-посредника вообще или в качестве устройства-посредника для рассматриваемого ограниченного устройства в частности, либо если это устройство-посредник решило или получило команду удалить ограниченное устройство из собственной таблицы (таблиц) посредника. Устройство-посредник, удаляющее устройство из своей таблицы, могло бы, например, отправить широковещательное сообщение, оповещающее, что оно так поступило, либо эту информацию можно вывести из информации таблицы посредника. В качестве альтернативы потребность удаления устройства-посредника из таблицы активных посредников для данного ограниченного устройства можно вывести из команды, указывающей посреднику удалить свою запись в таблице посредника для этого ограниченного устройства.
Кроме того, вышеупомянутое решение подсчета посредников можно выгодно объединить с самостоятельным удалением записи в таблице для конкретного устройства устройством-посредником, если оно никогда, редко или никогда в последний интервал времени заданной длины не получало возможность действовать в качестве активного устройства-посредника. Таким образом, это также позволило бы удалить такие устройства-посредники, которые никогда не будут полезны для ограниченного устройства.
В первом варианте осуществления, который основывается на объектах управления таблицами, подсчитывающих устройства-посредники с пороговой величиной верхней границы, если определение указывает, что количество устройств-посредников, перенаправляющих от имени некоторого ограниченного устройства, больше некоторой верхней пороговой величины, то объект управления таблицами выполняет действие, которое вызывает удаление некоторых записей в таблице посредника.
Чтобы идентифицировать устройство-посредник, которому следует оставить запись в таблице посредника, и/или устройство-посредник, которому следует удалить запись в таблице посредника, объект управления таблицами может использовать по меньшей мере один из критериев сравнения типа индикатора надежности, например на основе уровня сигнала или расстояния между устройством-посредником и ограниченным узлом, или индикаторов надежности, указывающих то, как часто устройство-посредник принимает/пропускает связь от ограниченного узла, количества записей в таблице посредника у устройства-посредника, для которых устройство-посредник является очень активным (например, если это количество больше, тогда для этого устройства-посредника может быть полезнее удалить одну запись), возможностей посредников, например в показателях поддерживаемых режимов безопасности или связи, сравнительной скорости, с которой это устройство-посредник действует для ограниченного узла по сравнению с другими устройствами-посредниками, и других характеристик устройств-посредников, например относительного положения устройств-посредников по отношению друг к другу (например, может быть лучше выбирать активные устройства-посредники, которые не являются соседями друг друга, чтобы ограничить риск того, что они подвергаются одинаковым помехам распространения), соединенности устройства-посредника с сетью, например его количество соседей (маршрутизаторов) (может быть лучше использовать хорошо соединенные посредники, так как множество возможных маршрутов должно увеличить надежность сообщений, которые они перенаправляют), и общей надежности связи этого устройства-посредника (например, которая указана в качестве линии связи, сообщенном его соседями).
В одном примере реализации первого варианта осуществления для определения могут использоваться сообщения, которыми уже обмениваются с другой целью. В качестве более подробного примера этого устройство-приемник для ограниченного устройства может отслеживать идентификаторы устройств-посредников, которые перенаправляют к нему сообщения от имени ограниченного устройства. Это может выполняться, например, путем получения идентификаторов перенаправляющих устройств-посредников из сообщений, которые они отправляют, и сохранения их в "таблице подсчета активных посредников". Если количество записей в таблице подсчета активных посредников увеличивается выше верхней пороговой величины, то устройство-приемник может выбрать устройство-посредник из "таблицы подсчета активных посредников", например на основе одного или нескольких описанных выше условий, и отправляет сообщение этому устройству-посреднику, указывающее ему удалить запись в таблице посредника для ограниченного узла или сделать запись в таблице серьезным кандидатом на удаление, если устройству-посреднику нужно добавить другой ограниченный узел в свою таблицу.
В другом примере реализации первого варианта осуществления для ограниченного устройства одно или несколько устройств-посредников раннего действия могут вести запись посредством таблицы подсчета активных посредников из тех устройств-посредников, которые наблюдаются как действующие раньше для того ограниченного устройства. Например, устройство-посредник раннего действия может выполнять это путем прослушивания сообщений, отправленных этими устройствами-посредниками. Если устройство-посредник раннего действия принимает сообщение, указывающее, что другое устройство-посредник действовало раньше, и из сообщения можно вывести идентификатор того устройства-посредника, то оно может сохранить идентификатор нового устройства-посредника в таблице подсчета активных посредников. Если количество записей в таблице подсчета активных посредников увеличивается выше верхней пороговой величины, и/или другие посредники лучше выполняют дополнительные условия для посредников раннего действия, то устройство-посредник может решить удалить свою запись в таблице посредника для ограниченного устройства (или сделать ее серьезным кандидатом на удаление, как только нужно будет добавить новую запись в таблице посредника) или - например, на основе одного или нескольких описанных выше дополнительных условий для посредников раннего действия - выбрать другого посредника и попросить его удалить свою запись в таблице посредника.
В предстоящей спецификации ZGP адрес источника сообщения, то есть посредника раннего действия или устройства-приемника, допускающего перенаправление на основе таблицы приемников, может определяться из кластерных сообщений Tunneling Stop, ZGP Commissioning Notification и/или ZGP Notification Green Power, которые он отправляет.Если псевдоним не используется, то адрес источника сообщения, то есть посредника, который действовал раньше, может определяться на основе поля адреса источника NWK или поля адреса ZGPP/TempMaster Short, если включены. Если псевдоним используется, то адрес источника сообщения, то есть посредника, который действовал раньше, может определяться из МАС-адреса источника, если поле Radius заголовка NWK в принятом сообщении имеет свое начальное значение. Сообщение (сообщения) может дополнительно содержать индикаторы надежности для раньше действовавшего посредника, например поле Distance. Эти сообщения могут приниматься другими посредниками и приемниками.
Удаление записи в таблице посредника может выполняться путем отправки в одноадресной рассылке выбранному устройству-посреднику команды ZGP Pairing с подполем AddSink, установленным в "0b0", или подполем RemoveZGPD, установленным в "0b1" (ср. спецификацию ZigBee Green Power, 09-5499-23, раздел Α.3.3.5.2). Удаление записи в таблице приемников может выполняться с помощью команды ZGP Pairing Configuration с подполем Action поля Actions, установленным в "0b011" или "0b100" (ср. спецификацию ZigBee Green Power, 09-5499-23, раздел Α.3.3.4.7; раздел Α.3.5.2.5, страница 132, строка 27 - страница 134, строка 27).
В соответствии со вторым вариантом осуществления предоставляется по меньшей мере один объект управления таблицами для отслеживания того, сколько устройств-посредников регистрируется для ограниченного узла, и для сравнения этого количества с пороговой величиной нижней границы. Если имеется слишком мало устройств-посредников раннего действия, или слишком мало устройств-посредников раннего действия, удовлетворяющих дополнительным критериям для посредников раннего действия, или имеются некоторые доступные устройства-посредники без функции раннего действия, удовлетворяющие дополнительным критериям для посредников раннего действия, то объект управления таблицами выполняет действие, которое вызывает создание большего количества активных устройств-посредников (устройств-посредников раннего действия в диапазоне). Отслеживающий объект управления таблицами здесь может не совпадать с объектом, который выполняет действия на основе пороговой величины верхней границы. Отслеживающие процедуры могут быть, например, такими, как описаны выше или ниже. Объект может быть по меньшей мере одним из устройств-посредников, перенаправляющих от имени ограниченного устройства, по меньшей мере одним из приемников, сопряженных с ограниченным устройством, или другим устройством, например устройством (устройствами) централизованного обслуживания вроде ZigBee Trust Centre, ZigBee Coordinator, ZigBee Network Manager, инструментом ввода в эксплуатацию или другим типом контроллера/управляющего узла, внутри или вне сети, например системы управления зданием.
В соответствии с третьим вариантом осуществления, добавление и удаление записей в таблице посредника управляется на основе глобальных сведений. Здесь решающий объект управления таблицами может быть другим устройством, например производительным узлом, например шлюзовым узлом сети (например, граничным маршрутизатором или LBR 6lowpan), устройством управления сетью (например, вроде ZigBee Trust Centre, ZigBee Coordinator, ZigBee Network Manager) или другим типом контроллера/управляющего узла, например устройством системы управления зданием или устройством ввода в эксплуатацию, внутри или вне сети (например, в Интернете). Его решения могут основываться на долгосрочных статистических данных. В примере объект управления таблицами может регулярно собирать содержимое таблиц посредников от всех устройств-посредников и/или информацию о посреднике от других устройств, например приемников, контроллеров, шлюзов и инструмента (инструментов) ввода в эксплуатацию, а также может собирать другие данные, связанные с топологией сети (или вызывать их формирование). Иногда объект просматривает свои записи и выбирает содержимое таблиц посредников для оптимизации производительности сети, а затем обновляет таблицы посредников путем рассылки соответствующих сообщений устройствам-посредникам. Например, объект управления таблицами может собирать постоянные и кратковременные записи из таблиц посредников для создания долгосрочной исторической записи в своей памяти о том, какие посредники находятся на расстоянии приема от какого ограниченного узла. В дополнительном примере объект управления таблицами может собирать другую информацию о работе посредника, включающую в себя местоположение посредника, сетевое членство посредника, информацию о соседях посредника, информацию о маршрутизации посредника, информацию о надежности посредника, нагрузку посредника, включающую свой прикладной трафик и другой перенаправленный трафик, возможности посредника и т.п. Кроме того, объект управления таблицами может иметь доступ к другим данным, например поэтажному плану с подробным местоположением посредников, расположением помещений/зон, препятствиями, наличием внешних источников помех и т.п. Объект управления таблицами может затем (пере)назначить устройства-посредники ограниченному устройству, пытаясь прийти к глобальному критерию, что каждый ограниченный узел должен иметь по меньшей мере заранее установленное количество устройств-посредников раннего действия в своем диапазоне, если это вообще возможно, где количество устройств-посредников зависит, возможно, от характеристики (характеристик) ограниченного устройства, которая описана раньше, и где посредникам раннего действия при желании может потребоваться соответствовать дополнительному критерию/критериям посредника, который описан раньше.
В предстоящей спецификации ZGP объект управления таблицами может собирать информацию об устройствах, перенаправляющих от имени ZGPD, путем считывания таблиц посредников у устройств-посредников, например с использованием команды ZCL Read Attributes, и таблиц приемников и таблиц перевода у приемников, допускающих перенаправление на основе таблицы приемников, с использованием команд ZCL Read Attributes и ZGP Translation Table Request (ср. спецификацию ZigBee Green Power, 09-5499-23, раздел A.3.3.4.5). Таблицами можно управлять путем отправки команд ZGP Pairing/ZGP Pairing Configuration для посредников/приемников соответственно. С тем же успехом может быть возможна запись в атрибуты таблицы посредством команды ZCL Write Attributes.
Можно ввести команду, запрашивающую все устройства, имеющие записи для конкретного ZGPD, чтобы упростить начальный поиск объекта управления таблицами. Например, команду ZGP Pairing Search (ср. спецификацию ZigBee Green Power, 09-5499-23, раздел Α.3.3.4.2), предназначенную в текущей спецификации ZGP только для обнаружения приемников, сопряженных с конкретным ZGPD, можно расширить для указания, какие устройства (посредники и/или приемники) должны отвечать на этот запрос. С тем же успехом этого можно добиться, например, путем добавления подполя ProxyResponse в зарезервированных сейчас подполях поля Options, указывающего - будучи установленным в "0b1" - что устройства-посредники с записью в таблице для этого ZGPD должны отвечать на этот запрос.В качестве альтернативы устройства-посредники могли бы инициироваться для ответа на ZGP Pairing Search путем установки в "0b0" всех подполей запроса режима (Request Unicast Sinks, Request Derived Groupcast Sinks, Request Commissioned groupcast sinks). Это обладает дополнительной выгодой в виде подавления ответов от приемников. Информация о сопряжении в приемниках обычно предполагается более статичной, чем записи в таблице посредника. Приемники, допускающие перенаправление на основе таблицы приемников, также могут отвечать на этот запрос, или их можно было бы запросить сообщать отдельно, например с помощью дополнительного признака. Кроме того, можно было бы запросить записи в таблице посредника конкретного типа или класса записи, например, только записи в таблице посредника для ограниченных устройств вне радиодиапазона посредника (то есть с признаком InRange в поле Option у записи в таблице посредника, установленным в "0b0"; ср. спецификацию ZGP, 09-5499-23, раздел А.3.4.2.2.1), или только неактивные и/или недействительные записи в таблице посредника (то есть признак EntryActive и/или EntryValid в поле Option у записи в таблице посредника установлен в "0b0"; ср. спецификацию ZGP, 09-5499-23, раздел А.3.4.2.2.1), или только пробные/автоматически созданные записи; может потребоваться добавить дополнительные индикаторы для этих запросов, например, используя зарезервированные сейчас подполя в поле Options команды Pairing Search. Ответом на такой запрос могла бы быть полная запись в таблице посредника или новая команда, переносящая выбранную информацию, например идентичная или аналогичная одной из команд передачи сообщений, обсуждаемых в данном изобретении.
Кроме того, команда ZGP Pairing Search могла бы использоваться для обнаружения всех ограниченных устройств, которые используют конкретный режим связи, например, если режим связи указывает потребность в обслуживании таблиц посредников, и/или применение ограниченного устройства, и/или тип устройства. Этого можно было бы достичь, например, путем установки в "0b1" подходящего подполя запроса режима (Request Unicast Sinks, Request Derived Groupcast Sinks, Request Commissioned Groupcast Sinks) в поле Options команды ZGP Pairing Search и установки поля SrcID ZGPD в конкретное значение, например "0xffffffff". Аналогичным образом другие возможности ZGPD, если они указывают потребность в обслуживании таблиц посредников, и/или применение ограниченного устройства, и/или тип устройства, могли бы запрашиваться, например, устройствами ZGPD, использующими конкретный уровень безопасности или тип ключа, портативными устройствами ZGPD, устройствами ZGPD, допускающими двунаправленную связь, и т.п.; может потребоваться добавить дополнительные индикаторы для этих запросов, например, используя зарезервированные сейчас подполя в поле Options.
В другом примере можно ввести специальную команду для запроса всех устройств, имеющих записи для конкретного ZGPD и/или ZGPD с конкретными возможностями.
Приводится пример объекта управления таблицами, применяющего глобальный критерий. Во-первых, он использует средство проверки состояния сети, например вышеупомянутую команду (команды) ZGP, для создания полного снимка всех текущих узлов в системе: ограниченных устройств, устройств-посредников и устройств-приемников. Снимок содержит сетевые адреса для каждого устройства. Он также содержит идентификаторы всех устройств-посредников, которые в настоящее время имеют ограниченное устройство в их таблице посредника, для каждого ограниченного устройства. Он также может содержать для каждого ограниченного устройства сущность устройства, например, это периодически сообщающий узел-датчик, который не требует высокой надежности для доставки каждого сообщения, или управляемый человеком узел-тумблер света, который не нуждается в высокой надежности, или другие характеристики. Информация в системах, которые допускают мобильные ограниченные узлы (например, портативные ПДУ), также может содержать информацию о том, является ли ограниченное устройство неподвижным или мобильным. Поскольку не каждое устройство-посредник будет находиться в диапазоне каждого ограниченного устройства, объект управления таблицами также собирает информацию о том, какие устройства-посредники находятся в диапазоне каких ограниченных устройств, которые могут быть или не быть теми же посредниками, которые в настоящее время имеют ограниченное устройство в их таблице посредника. Как правило, такая информация не будет двоичным признаком в диапазоне "да" или "нет" на каждую пару посредник - ограниченное устройство, а скорее оценкой расстояния, уровня сигнала и/или коэффициента потери пакетов в той паре. Такая информация могла бы основываться, например, на известном поэтажном плане здания с местоположениями всех устройств-посредников и ограниченных устройств. Такая информация также могла бы собираться динамически, например, с помощью записи статистических данных о приеме пакетов и уровнях сигнала. Кроме того, по каждому устройству-посреднику может сохраняться информация о возможностях посредника и состоянии, например, поддерживаемые режимы связи, поддерживаемые уровни безопасности и/или общее количество занятых/свободных записей в таблице посредника. Кроме того, по каждому устройству-приемнику может сохраняться некоторая информация о применении, возможности и состоянии, например, поддерживаемый и необходимый режим связи, возможно, определяющая режим связи и/или количество посредников, необходимые ограниченным устройствам, сопряженным с этим приемником.
Тогда объект управления таблицами из третьего варианта осуществления использует некоторую или всю вышеупомянутую информацию для определения целевого минимального количества устройств-посредников T(Rx) для каждого ограниченного устройства. Например, в системе, где имеется точно NR ограниченных устройств, которые все являются неподвижными выключателями, и где имеется NP устройств-посредников, допускающих наличие не более 5 записей в таблице посредника, T(Rx) могло бы вычисляться как:
T(Rx)=min(Nmin,floor((NP*5)/NR)) (1)
При этом "floor" является функцией (из стандартной библиотеки С), которая округляет с понижением некое число до целого, a Nmin является типовым, заданным приложением минимумом. Например, если NR=11 и NP=5, то это вычисление дает floor=2, и соответственно, если Nmin=4, то T(Rx)=2 для каждого ограниченного устройства.
После вычисления этого T(Rx) объект управления таблицами идентифицирует те ограниченные устройства, которые в настоящее время имеют менее T(Rx) устройств-посредников с записью в таблице посредника для них. Для этих ограниченных устройств объект управления таблицами выполняет действие для добавления записей в таблице посредника.
В одном подходе к добавлению записей для ограниченного устройства объект управления таблицами выбирает устройство-посредник, которое еще не имеет рассматриваемое ограниченное устройство в своей таблице посредника, а затем отправляет команды этому устройству-посреднику, которые вызывают добавление рассматриваемого ограниченного устройства в таблицу этого устройства-посредника. Чтобы выбрать это новое устройство-посредник, объект управления таблицами может искать в информации, которую он собрал из сети, пока не найдет устройство-посредник, которое находится в. диапазоне ограниченного устройства (или, вероятно, в диапазоне ограниченного устройства) и имеет свободное место в таблице посредника, или имеет по меньшей мере одно другое ограниченное устройство в таблице посредника, для которого количество устройств-посредников, которые имеют другое ограниченное устройство в их таблице посредника, превышает вышеупомянутое целевое минимальное количество T(Rd) для другого ограниченного устройства. Если вышеупомянутый подход приводит к множественному выбору для нового устройства-посредника или другого ограниченного устройства, то при выборе посредника объект управления таблицами может принять во внимание дополнительные критерии посредника (которые описаны выше), например, возможность посредника и индикатор надежности, например, на основе RSSI или расстояния.
Если нужно создать место в таблице посредника для ограниченного устройства, то выбранное другое ограниченное устройство можно удалить из таблицы посредника в выбранном (новом) устройстве-посреднике. Поэтому предложенное решение в соответствии с третьим вариантом осуществления также вызывает удаление записей в таблице посредника.
Кроме того, объект может заменить одного посредника другим посредником, который (лучше) соответствует некоторым дополнительным критериям посредника.
Ниже обсуждаются разные способы добавления или создания новых активных посредников для ограниченного устройства в вышеприведенных вариантах осуществления.
В первом примере одному или нескольким выбранным устройствам-посредникам отправляется одноадресное сообщение, дающее команду добавить запись в таблице для рассматриваемого ограниченного устройства. Это решение применимо в случаях, где объект управления таблицами имеет достаточно памяти для хранения информации о топологии сети, или другой исторической информации, указывающей, какие устройства-посредники, вероятно, находятся в диапазоне ограниченного устройства, или списка устройств-посредников, которые в прошлом действовали от имени этого ограниченного устройства, используя определенную или "подстановочную" запись в таблице посредника, или устройств-посредников, которые выполняли поиск этого ограниченного устройства, например, в ограниченном периоде времени в прошлом. В спецификации ZGP этого можно было бы достичь с помощью одноадресного сообщения ZGP Pairing или напрямую, путем записи в таблицу посредника.
Во втором примере могло бы отправляться широковещательное сообщение с ограниченным числом скачков, исходящее от устройства, например посредника или приемника, про которое известно, что оно находится близко к ограниченному устройству или в его диапазоне, дающее некоторым или всем принимающим устройствам-посредникам команду добавить или активировать запись в таблице для ограниченного устройства. Здесь созданную запись можно рассматривать как "пробную" запись. Однако отметим, что такая "пробная запись" может использоваться независимо от объекта управления таблицами, то есть она также может создаваться самими посредниками. Например, устройство-посредник может дать команду некоторым из своих соседей добавить запись в таблице или дать им команду опросить своих соседей. В другом примере устройство-приемник может дать команду некоторым из своих соседей, посредников и/или приемников, добавить "пробную" запись в таблице.
Устройства-посредники и устройства, допускающие функциональные возможности посредника, например приемники, допускающие перенаправление на основе таблицы приемников, могут конфигурироваться для проведения различия между "пробными" записями, созданными для нахождения всех или наилучших устройств-посредников, и другими типами записей вроде автоматически сконфигурированных записей, готовых записей или записей по умолчанию, и/или управляемых записей, созданных после выбора объектом. Устройства-посредники могут сами выводить настройки, например на основе процедуры создания таблицы (например, принятой команды, источника команды, режима связи команды), или они явно могут быть частью самого сообщения. Таким образом, пробную и/или автоматически сконфигурированную запись в таблице можно удалить быстро в более поздний момент, например, когда нужно больше места, если устройство-посредник не действовало ни разу в качестве устройства-посредника раннего действия в течение периода времени от добавления записи до более позднего момента, и/или если оно не наблюдало никакого сообщения, генерируемого ограниченным устройством в течение того периода времени.
Пробные записи можно задавать так, что увеличивается вероятность того, что новое устройство-посредник с самого начала рано действует для ограниченного устройства, так что их наличие становится известным, и их надежность можно оценить. В предстоящей спецификации ZGP этого можно достичь путем установки в "истину" признака первого для перенаправления у записей нового посредника (ср. спецификацию ZigBee Green Power, 09-5499-23, раздел Α.3.4.2.2.1).
В расширении "пробные" записи на устройствах-посредниках, выбранных как посредники раннего действия, можно подтверждать с помощью объекта управления таблицами и превращать в управляемые записи. В спецификации ZGP этого можно было бы достичь с помощью сообщения ZGP Pairing или ZGP Configure Pairing и/или путем непосредственной записи в таблицу посредника или таблицу приемников. Кроме того, можно удалить пробные записи на некоторых устройствах-посредниках, не выбранных как посредники раннего действия, например, связываясь индивидуально с теми устройствами-посредниками (если известны) или же путем отправки широковещательной команды, указывающей, что "испытание" закончилось.
Применительно к спецификации ZGP сообщения для переноса некоторых из вышеупомянутых команд часто могут успешно внедряться в пакеты сообщений, которые также переносят другую информацию или команды. Например, внутри сообщения ZGP Tunneling Stop и/или сообщения ZGP Notificaiton. Это обеспечивает дополнительное преимущество в том, что недавно добавленное активное устройство-посредник немедленно оповестит о себе приемники посредством сообщения ZGP Pairing Search, чтобы завершить запись в таблице посредника.
Кроме того, этого можно было бы достичь с помощью объекта управления таблицами путем отправки команды ZGP Pairing (с признаком AddSink = "0b1") и/или команды ZGP Configure Pairing, и/или путем непосредственной записи в таблицу посредника или таблицу приемников. Команды должны позволить приемному устройству идентифицировать, что отправитель является другим устройством-посредником, и/или что сообщение является попыткой увеличить количество устройств-посредников. Это может быть неявным, например с помощью используемого режима доставки (например, широковещательная связь всегда означает пробную запись). Также это может быть явным в команде. Например, можно задать признак пробной записи в зарезервированных сейчас подполях поля Options в команде ZGP Pairing и установить его в "истину", или можно задать признак "временной/управляемой записи" в зарезервированных сейчас подполях поля Options в команде ZGP Pairing и установить его во "временную запись". Если отправлено в одноадресной рассылке, то сообщение предпочтительно допускает ответ с помощью ответа ZCL по умолчанию, например в случае, когда приемник не поддерживает функцию ZGP, либо если он не обладает никакими или необходимыми возможностями посредника, либо если таблица посредника уже заполнена. Команда ZGP Pairing с признаком AddSink="0b0" и/или признаком RemoveZGPD="0b1" и признаком пробной записи="ОЫ" или признаком "временной/управляемой записи" = "временная" может использоваться для удаления неподтвержденных записей, также используя групповую или широковещательную рассылку. С этой целью можно задать дополнительную команду.
Объект управления таблицами может выбирать из своих соседей, преимущественно тех, кто еще не знает о перенаправлении от имени этого ZGPD. Кроме того, объект управления таблицами дополнительно может исключать приемники, все или те, про которых известно, что они не допускают перенаправление на основе таблицы приемников. Преимущественно, чтобы устройства-посредники уже имели бы список SrcID, в диапазоне которых они находятся, но не перенаправляют активно. Преимущественно, чтобы во время или вскоре после этого дополнительного выбора посредника ZGPD могло бы отправить сообщение, чтобы позволить устройствам-посредникам подтвердить прием либо оценку расстояния или надежности, и т.п. Выбранное устройство-посредник, если находится поблизости от ZGPD, может подделать передачу ZGPD, чтобы имитировать ее.
Вышеупомянутые варианты осуществления с первого по третий можно улучшить путем предоставления следующих дополнительных мер на устройствах-посредниках, чтобы облегчить другим объектам их подсчет и/или чтобы собрать связанные с посредником статистические данные.
В первом улучшении устройство-посредник может периодически отправлять широковещательное сообщение, которое содержит идентификаторы ограниченных устройств в его таблице посредника, например, всем или только тем ограниченным устройствам, которые соответствуют некоторым критериям (например, потребность в обслуживании таблиц посредников, тем, которые в диапазоне, тем, для которых активно перенаправляет посредник). Объекты управления таблицами, принимающие такие широковещательные сообщения, могут использовать их для обновления своих таблиц подсчета активных посредников. Сообщение также могут включать в себя дополнительную информацию, которая может использоваться для обслуживания таблиц посредников, например расстояние до посредника и т.п.
В спецификации ZGP можно отправить всю таблицу посредника ZGP, например, в ZGP Attributes Report. В качестве альтернативы можно было бы задать специальную команду, переносящую только релевантные данные, например, аналогичную по формату команде ZGP Tunneling Stop. В предстоящей спецификации ZGP, если используется одноадресное перенаправление и/или если ZGPD поддерживает двунаправленную операцию, то устройства-посредники, уже перенаправляющие от имени ZGPD, можно поощрять за поддержание перенаправления. Этого можно добиться путем принуждения устройств-посредников планировать перенаправление после задержки, Задержки туннелирования, вычисленной на основе определенной информации, например, которая задана в спецификации ZGP: индикация уровня принимаемого сигнала (RSSI) у принятого GDPF (Кадр устройства Green Power), факт того, что являлся первым для перенаправления в прошлом, и - в случае одноадресной рассылки - доступность всех одноадресных маршрутов к сопряженным приемникам; расширенная дополнительным компонентом для увеличения вероятности перенаправления у посредника, независимо от топологии сети или индикаторов надежности.
Во втором улучшении устройства-посредники управляются для генерирования сообщений с предсказуемой регулярностью (то есть ненулевой вероятностью перенаправления). Чтобы добиться этого, система может быть приспособлена для обеспечения того, что каждое устройство-посредник раннего действия в диапазоне ограниченного устройства имеет ненулевую вероятность отправки сообщения, соответственно информирующую приемник и/или объект (объекты) о состоянии в качестве устройства-посредника раннего действия для ограниченного устройства, где эта ненулевая вероятность значительно выше нуля независимо от того, какой является топология локальной сети вокруг ограниченного устройства, или каковы индикаторы надежности у других посредников, перенаправляющих от имени того же ограниченного устройства.
В одном примере этого второго улучшения устройство-посредник, которое принимает сообщение от ограниченного устройства и которое имеет ограниченное устройство в своей таблице посредника, может выполнять "отчетное действие" в среднем один раз каждые N раз, где N, например, равно 10.
Механизм, который создает поведение "один раз каждые N раз", мог бы быть счетчиком, отсчитывающим обратно от N, или механизмом на основе случайных чисел, который формирует решение "да" в среднем каждые 1/N раз. N можно вывести из количества посредников, перенаправляющих от имени ограниченного устройства, или фактического количества устройств-посредников раннего действия, доступных для этого ограниченного устройства. Если N является фактическим количеством устройств-посредников раннего действия, доступных для этого ограниченного устройства, или целевым количеством, которое будет реализовано, то объект, который управляет совокупностью посредников, мог бы отправлять это N посреднику на этапе конфигурации. В другом варианте осуществления фактическое количество устройств-посредников раннего действия, доступных для этого ограниченного устройства, можно вывести по меньшей мере частично на основе наблюдения перенаправляющего поведения у других устройств-посредников, перенаправляющих от имени одного и того же ограниченного устройства.
Вышеупомянутое отчетное действие может быть действием отправки сообщения, которое позволяет другому объекту (объектам) узнать о состоянии посредника в качестве устройства-посредника для ограниченного устройства. Один способом реализации отчетного действия может быть принуждение устройства-посредника отправлять широковещательное/групповое сообщение ZGP Notification или одноадресное сообщение ZGP Notification, даже если устройство-посредник определило, что это уже не нужно для доставки сообщения от ограниченного устройства его получателям, причем сообщение включает в себя четкую идентификацию отправляющего посредника. Могут отправляться и другие сообщения (периодически).
Применительно к предстоящей спецификации ZGP такое сообщение может быть, например, одноадресным сообщением ZGP Notification (ср. спецификацию ZGP, документ ZigBee 09-5499-23, раздел А.3.3.4.1) по меньшей мере одному устройству-приемнику у ограниченного устройства, с такой же полезной нагрузкой и содержимым счетчика последовательностей у ограниченного устройства, что и отправлены устройством-посредником раннего действия (если есть), но своим адресом в качестве одноадресного отправителя. Либо одноадресное ZGP Notification или другое сообщение другому объекту, допускающему управление таблицами посредников, например, который задан в подстановочной записи в таблице.
Кроме того, применительно к предстоящему стандарту ZGP, если ограниченное устройство имеет многоадресную группу в качестве своего приемника, то устройство-посредник может отправлять одноадресное, многоадресное или широковещательное сообщение, отражающее его содержимое таблицы посредника, либо сообщение ZGP Notification (ср. спецификацию ZGP, документ ZigBee 09-5499-23, раздел А.3.3.4.1) или ZGP Tunneling Stop (ср. спецификацию ZGP, документ ZigBee 09-5499-23, раздел А.3.4.4.1), отправленное без псевдонима.
Если отслеживающий объект управления таблицами является устройством-посредником или другим устройством в диапазоне ограниченного устройства, и/или посредниками, перенаправляющими от его имени, то также может быть возможно извлечение информации о посреднике из сообщения с псевдонимом (которое описано выше).
В третьем улучшении ненулевые вероятности действия в качестве первого действующего посредника обеспечиваются для всех устройств-посредников раннего действия в диапазоне. В примере из этого третьего улучшения предполагается контекст исполнения, в котором все устройства-посредники Ρ1…Ρn раннего действия при приеме сообщения от ограниченного устройства будут ожидать характерное для посредника время WT1…WTn задержки перед попыткой стать первым обратившимся к беспроводной среде, чтобы действовать в качестве устройства-посредника, в то же время осуществляя мониторинг среды, чтобы увидеть, действовало ли первым другое устройство-посредник. Такой механизм существует, например, в предстоящей спецификации ZGP. В этом улучшении алгоритм перенаправления можно приспособить таким образом, что никакое одиночное устройство-посредник или группа устройств-посредников никогда не будет первым (первой), чтобы действовать от имени ограниченного устройства независимо от того, какая топология сети используется или каковы индикаторы надежности у конкретных устройств-посредников.
В первой предложенной реализации третьего улучшения вычисление характерного для посредника времени задержки на каждом другом устройстве-посреднике могло бы управляться так, что каждое устройство-посредник иногда будет получать возможность перенаправления. В качестве одной предложенной меры по созданию в характерное для посредника время задержки могла бы включаться случайная составляющая, при этом каждое устройство-посредник использует свой генератор случайных чисел, не синхронизированный ни с каким другим из генераторов случайных чисел, чтобы в результате разные значения характерного для посредника времени задержки каждый раз распределялись в некоторой степени равномерно.
Во второй предложенной реализации третьего улучшения каждое устройство-посредник раннего действия отслеживает, как давно оно действовало в качестве первого (перенаправляющего) посредника для рассматриваемого ограниченного устройства. Когда оно в следующий раз обнаруживает сообщение от ограниченного устройства, оно включает в вычисление характерного для посредника времени задержки некую составляющую, которая зависит от этой информации. Например, если устройство-посредник только что действовало в качестве первого (перенаправляющего) посредника, то оно добавит (большую) составляющую в свое характерное для посредника время задержки, чтобы предоставить другим устройствам-посредникам больше возможности действовать первыми. Если оно какое-то время не действовало в качестве первого (перенаправляющего) посредника, то оно уже не добавит (большую) составляющую, повышая вероятность того, что оно снова будет действовать первым, или оно может даже вычесть некоторую составляющую времени. Также могут использоваться и другие стратегии вычисления характерного для посредника времени задержки, например, чем раньше устройство-посредник действовало первым, тем короче характерное для посредника время задержки.
Если принят механизм вроде вышеупомянутого, который обеспечивает ненулевые возможности для всех устройств-посредников раннего действия, чтобы действовать в качестве первого действующего посредника, то можно принять следующий подход на основе четвертого варианта осуществления для управления совокупностью активных посредников для каждого ограниченного устройства.
Четвертый вариант осуществления ориентирован на подход управления совокупностью посредников без прямого подсчета посредников. Некоторый объект управления таблицами, например каждое устройство-посредник, сам отслеживает или приблизительно вычисляет отношение Ratio.Py(Rx) между количеством раз, которое устройство-посредник (Ру) действовало в качестве первого действующего посредника для ограниченного устройства (Rx), и количеством раз, которое ограниченное устройство выполнило передачу, подсчитанными за период Τ времени. Соответственно:
Ratio.Ру(Rx)=RL/RR (2),
где RL обозначает количество раз, которое посредник (Ру) действовал в качестве посредника для ограниченного устройства (Rx) в течение периода Τ времени, a RR обозначает количество раз, которое ограниченное устройство (Rx) отправило сообщение в течение периода Τ времени. Это отношение также может приблизительно вычисляться устройством-посредником путем локального прослушивания передач, принятых от ограниченного устройства, относительно общего количества передач, выполненных ограниченным устройством (то есть включая также передачи, пропущенные этим посредником), и использования этого подсчета в качестве правой стороны уравнения. Если это отношение у действовавшего устройства-посредника превышает некую пороговую величину, например 50%, то объект управления таблицами выполняет действия для создания большего количества посредников раннего действия для ограниченного устройства. Пороговая величина предпочтительно связана с Мх, являющимся оптимальным количеством посредников для этого ограниченного устройства Rx, которое, в свою очередь, может быть связано с применением и/или возможностями этих ограниченных устройств, которые описаны раньше. Например, пороговая величина могла бы равняться [100%/Мх]. Отметим, что обычно будет полезно провести проверку пороговой величины только после того, как накоплено некоторое минимальное количество статистических данных, например, только после того, как подсчет RL и/или RR на правой стороне вышеприведенного уравнения (2) достиг заданного минимального значения, например, по меньшей мере 3. Подход в соответствии со вторым вариантом осуществления может называться "без прямого подсчета", потому что значение 1/Ratio.Ру(Rx) используется в этом подходе для приблизительного вычисления количества устройств-посредников раннего действия для ограниченного устройства. Этот подход можно усовершенствовать, если имеется некий уравнительный механизм (например, вышеупомянутое третье улучшение вариантов осуществления с первого по третий), который заставляет каждое устройство-посредник раннего действия действовать до некоторой степени равновероятно.
В четвертом варианте осуществления устройство-посредник может отслеживать свое отношение Ratio.Ру(Rx). Если это отношение превышает (верхнюю) пороговую величину, то устройство-посредник может отправить сообщение, которое вызывает создание других устройств-посредников раннего действия в его окрестности. Например, применительно к предстоящей спецификации ZGP можно было бы сгенерировать некоторое сообщение, как описано выше в разделе "Способы добавления новых активных посредников". В качестве альтернативы устройство-посредник может отправить информацию о своем отношении ограниченному устройству и/или устройству-приемнику вместе с некоторыми из сообщений, которые ему уже нужно отправить, например, когда действует в качестве первого действующего посредника для ограниченного устройства, а другие посредники, принимающие такие сообщения, могут обработать эту информацию об отношении.
Если устройство-посредник без функции раннего действия извещает, что отношение у другого устройства-посредника выше пороговой величины, тогда как оно само также находится в диапазоне ограниченного устройства, оно может выполнить действие, чтобы самому стать посредником раннего действия для ограниченного устройства. Решение посредника без функции раннего действия выполнить такое действие также могло бы основываться на факторах вроде доступного места в своей таблице посредника, его возможностей или доступности записей в таблице, которые можно удалить, не влияя на производительность системы, например, с очень низкими отношениями или "пробные" записи. Также может играть некоторую роль сравнение индикаторов уровня принимаемого сигнала или индикаторов расстояния между ограниченным устройством и другим устройством-посредником, и ограниченным устройством и посредником без функции раннего действия.
В еще одном примере, если отношение превышает пороговую величину, то устройство-посредник может информировать другой объект, который может инициировать другие действия, описанные в разделе "Способы добавления новых активных посредников" в спецификации ZGP.
В качестве дополнительного варианта, если отношение опускается ниже (нижней) пороговой величины, то объект управления таблицами, который сам может быть или не быть посредником, может выполнить действие для удаления записи в таблице посредника для ограниченного устройства из устройства-посредника или сделать ее серьезным кандидатом на удаление, также при этом прекращая, при желании, действовать в качестве устройства-посредника раннего действия для этого узла или добавляя большую составляющую времени к характерному для посредника времени задержки, которое задано выше. К тому же для очистки таблицы посредника могут учитываться дополнительные критерии, включающие в себя индикаторы надежности, например количество команд от ограниченного устройства, (недавно или последовательно) пропущенных, и/или расстояние либо RSSI/LQI от ограниченного устройства, или другая информация о состоянии и/или возможностях посредника.
Типовая реализация предполагает фиксированную пороговую величину нижней границы, и удаление либо маркировку записи в таблице посредника для ограниченного устройства в качестве кандидата на удаление на устройстве-посреднике, как только отношение Ratio.Py(Rx) опускается ниже этой пороговой величины. Например, если пороговая величина равна 25% (то есть оптимальное количество посредников для этого Rx, Мх, равно 100%/25%=4 посредникам), то это обеспечит, что в ситуации, где 5 или более посредников находятся в диапазоне ограниченного устройства, имеется запись в таблице посредника для этого ограниченного устройства, и если уравниваются возможности для раннего действия среди посредников раннего действия в диапазоне, то размер совокупности активных посредников будет стремиться стать устойчивым около 4 (то есть 1/0,25). Стабилизация около низкого количества посредников может быть полезной, так как это сохранит некоторые записи в таблице посредника свободными, чтобы справляться с изменениями и мобильными ограниченными узлами, и вообще сделает систему быстрее в реакции на изменение. В этом решении существует опасность того, что несколько посредников могут почти одновременно определить, что их отношения ниже пороговой величины, что вызывает внезапное сокращение совокупности посредников для ограниченного устройства до очень небольшого размера. В большинстве ситуаций эта опасность не возникнет при условии, что проверка отношения не выполняется слишком рано. В таких ситуациях естественная случайность системы и особенно принятие во внимание дополнительных критериев, например индикатора надежности, будет обеспечивать то, что маловероятна ситуация, когда многие посредники почти одновременно опустятся ниже пороговой величины. Стабилизация около большего количества посредников может быть полезной для увеличения вероятности доставки каждого сообщения.
Чтобы предотвратить чрезвычайные ситуации, может быть полезно добавить дополнительную меру в том, что если устройство-посредник удаляет ограниченное устройство из своей таблицы, то оно отправляет широковещательное сообщение об этом, причем другие устройства-посредники настраиваются для приема и обработки этого широковещательного сообщения. Одним способом обработки сообщения является, например, что устройство-посредник регулирует свои счетчики для вычисления своего отношения таким образом, чтобы временно увеличить это отношение.
В соответствии с четвертым вариантом осуществления механизм конфигурации для одной или нескольких пороговых величин отношения можно обеспечить на каждом устройстве-посреднике, чтобы они могли конфигурироваться на основе сведений о количестве ограниченных устройств и/или количестве устройств-посредников в системе. Эта конфигурация может осуществляться, например, установщиком системы, или она может применяться в реальном масштабе времени с помощью инструмента или системы мониторинга (например, объекта управления таблицами), который (которая) собирает информацию о таких количествах, и ее также можно изменять, например, вследствие меняющихся отношений сопряжения, условий распространения и/или меняющейся частоты передачи сообщений у ограниченного устройства. Однако это также может быть фиксированным параметром. Пороговая величина (величины) может иметь разные значения на каждое ограниченное устройство, тип ограниченного устройства и/или применение, и/или на каждый используемый режим связи. Посреднику, или приемнику, или объекту управления таблицами с тем же успехом может понадобиться отслеживать необслуженные сообщения, то есть сообщения, которые не перенаправлял никакой из посредников. Они могут подсчитываться локально или передаваться, например, приемником либо объектом управления таблицами.
В качестве обобщения вышесказанного устройство-посредник может отслеживать отношение, по которому оно обслуживает ограниченное устройство, и может изменять составляющую характерного для посредника времени задержки, так что она больше, если отношение ниже некоторого порогового значения, и меньше, если отношение выше некоторого порогового значения. Например, устройство-посредник может добавить 50 мс к характерному для посредника времени задержки, если отношение ниже 20%, или может добавить 0 мс, если отношение выше 30%, и (30%-отношение)*2 мс, если отношение ниже 30%. Это дает в результате то, что устройства-посредники с меньшими отношениями стремятся быть менее. активными, что приводит к большей устойчивости совокупности активных посредников.
По меньшей мере в некоторых из вышеупомянутых вариантов осуществления объекты управления таблицами использованы для извлечения и использования статистической информации. Ниже объясняются дополнительные варианты осуществления, чтобы собрать и сделать доступной статистическую информацию.
В соответствии с пятым вариантом осуществления устройство-посредник, которое (в данный момент) не обладает функцией раннего действия для ограниченного устройства, настраивается (например, путем встраивания этой функции во время производства или путем (динамического) конфигурирования устройства-посредника) для текущего контроля передач от ограниченного устройства и сбора данных о них, например, по меньшей мере одного из. подсчета сообщений, принятых от ограниченного устройства, уровня сигнала (самого последнего, среднего, …) от ограниченного устройства, самого последнего счетчика принятых кадров в сообщении от ограниченного устройства, и подсчета, идентификаторов, индикаторов надежности, возможностей и/или отношений перенаправления у посредника или посредников, которые наблюдались недавно как действующие раньше для ограниченного устройства.
В одной реализации этого пятого варианта осуществления объект управления таблицами, который управляет совокупностью посредников для ограниченного устройства, может активно извлекать информацию мониторинга об ограниченном устройстве из устройств-посредников без функции раннего действия, чтобы оптимизировать количество устройств-посредников раннего действия для ограниченного устройства. В другой реализации этого пятого варианта осуществления устройство без функции раннего действия может само выполнить действия для увеличения совокупности устройств-посредников раннего действия.
В качестве одного примера предположим, что для периодически сообщающего узла - датчика в качестве ограниченного устройства объект управления таблицами пытается обеспечить соблюдение такой политики, что должно существовать только одно устройство-посредник раннего действия в диапазоне ограниченного устройства (такая политика дает в результате снижение сетевого трафика, но за счет надежности). Может произойти (например, вследствие изменений в окружении) то, что это одиночное устройство-посредник покидает 'диапазон ограниченного устройства. Если объект управления таблицами обнаруживает, что больше не поступают многие сообщения, которые он предполагает получить от ограниченного устройства, то он может запросить некоторые другие устройства-посредники вокруг ограниченного устройства, которые контролируют ограниченное устройство. С помощью сбора информации типа самого последнего счетчика принятых кадров объект управления таблицами может проводить различия между ситуацией "ограниченное устройство находится вне диапазона устройства-посредника" или "устройство-посредник неисправно и прекратило перенаправление" и ситуацией "ограниченное устройство неисправно и полностью прекратило передачу". С помощью сбора информации об уровне сигнала от нескольких контролирующих устройств-посредников и ее сравнения объект управления таблицами может выбрать наилучшее устройство, чтобы оно стало новым устройством-посредником раннего действия для ограниченного устройства.
Применительно к спецификации ZGP объект управления таблицами мог бы настроить устройство-посредник как не имеющее функции раннего действия для ограниченного устройства, но все же контролирующее, путем создания записи в таблице посредника, которая неактивна и действительна на устройстве-посреднике (ср. спецификацию ZGP, 09-5499-23, раздел А.3.4.2.2.1, и А.3.5.2.2.2, страница 127, строка 26-27), или записи zgppBlockedZGPDID (ср. спецификацию ZGP, 09-5499-23, раздел А.3.4.2.6). Устройство-посредник тогда будет отслеживать счетчик кадров ограниченного устройства в своей таблице посредника, который можно считывать посредством объекта управления таблицами с помощью команды или иногда сообщать. Чтобы сделать полезнее вышеописанное решение, таблицу посредника можно расширить дополнительными полями. Более того, это использование неактивных и действительных записей в таблице посредника понадобилось бы разъяснить в спецификации, либо в качестве альтернативы можно добавить другую (более компактную) структуру данных, предназначенную для сбора информации мониторинга.
Во многих системах, особенно с ограничениями памяти, полезно обеспечить управление таблицами посредников для ограниченного устройства сразу после того, как ограниченное устройство передало сообщение. Для поддержки таких систем все устройства-посредники могут хранить записи мониторинга последних N сообщений (Ν>=1), которые они приняли от ограниченных устройств. Предусмотренная запись мониторинга хранит некоторую статистическую информацию об одном или нескольких принятых сообщениях от ограниченного устройства. Запись мониторинга для некоторого ограниченного устройства предусмотрена имеющей гораздо меньший размер памяти, чем полная запись в таблице посредника для ограниченного устройства, потому что запись· в таблице посредника для ограниченного устройства также должна хранить информацию, нужную посреднику для перенаправления сообщений от ограниченного устройства к их адресату. Каждая запись мониторинга может содержать по меньшей мере идентификатор ограниченного устройства и, при желании для поддержки некоторых альтернатив, по меньшей мере одно из уровня сигнала, с которым принималось сообщение от ограниченного устройства, идентификатора и/или уровня сигнала любого устройства-посредника, которое наблюдалось как действующее раньше, и счетчика кадров или L самых младших разрядов счетчика кадров. Эта информация может использоваться несколькими способами. Во-первых, объект управления таблицами, который хочет добавить больше устройств-посредников для ограниченного устройства, может запросить некоторые или все устройства-посредники, чтобы получить эти записи мониторинга и выбрать наилучшее устройство-посредник (устройства-посредники) для добавления. Во-вторых, объект управления таблицами, который хочет добавить больше посредников для ограниченного устройства, мог бы сделать это путем отправки широковещательного или группового сообщения, дающего команду всем принимающим его устройствам-посредникам проверить, имеют ли они ограниченное устройство в своих записях, а затем выполнить некоторое действие, если ограниченное устройство присутствует, и если, при желании, также соблюдаются некоторые другие критерии (например, ограниченное устройство находится в диапазоне посредника, что можно вывести, например, путем сравнения порядкового номера или счетчика кадров, включенного в сообщение, с соответствующим значением записей мониторинга).
Применительно к спецификации ZGP такие команды могли бы принимать вид дополнительного признака в команде ZGP Pairing.
Одним возможным действием для устройств-посредников для условного исполнения может быть добавление ограниченного устройства в их таблицу посредника. Представление этого действия условным обеспечивает то преимущество, что исключается создание записей в таблице посредника на устройствах-посредниках, которые находятся вне диапазона ограниченного устройства. Другим возможным действием для устройств-посредников является выполнение действий, которые заставляют некоторые или все из них оповещать о себе объект управления таблицами, например, отправлять одноадресное сообщение объекту управления таблицами.
Одним возможным действием, которое могло бы запрашиваться для устройств-посредников без функции раннего действия, которые имеют ограниченное устройство в их таблице посредника или записи мониторинга, может быть инициирование обнаружения для ограниченного устройства. Механизм обнаружения позволяет приемнику выбрать одно или несколько устройств-посредников среди всех, которые выполняются обнаружение, и назначить его/их в качестве нового устройства-посредника (устройств) раннего действия. Преимущественно, что использование обнаружения вместо одноадресной рассылки часто будет создавать меньше сетевого трафика, а также будет требовать меньше новых расширений в кодовой базе реализаций ZGP. Также, если используется это решение, то объект управления таблицами, который решает, что нужно больше устройств-посредников, мог бы отличаться от объекта, выбирающего новое устройство-посредник (устройства).
В соответствии с шестым вариантом осуществления записи в таблице посредника могут управляться путем восстановления. В этом шестом варианте осуществления записи в таблице посредника имеют ограниченное время существования, и политика управления временем существования в таблице известна объекту управления таблицами. Время существования может выражаться в единицах времени (например, 48 часов), в абсолютном моменте времени (например, действительно до 12 октября 2012 г., 18:00 СЕТ) или в количестве сообщений, которые будут приняты от ограниченного устройства/перенаправлены от его имени (например, 1000 сообщений или вплоть до этого количества, и включая счетчик кадров 0x87654321). Таким образом, в момент или до истечения времени существования записи объект управления таблицами может создать новые записи в таблице на выбранных устройствах-посредниках. В другой реализации в момент или до истечения времени существования записи посредники инициируют процедуру восстановления, например путем отправки широковещательной или групповой команды поиска, например, чтобы связаться с приемниками, и/или путем отправки одноадресной команды, например, чтобы связаться с приемниками или центральным объектом обслуживания.
Подводя итог, описано несколько методик для управления содержимым таблиц посредников способами, которые оптимизируют производительность, задержку и надежность для сетей связи, обеспечивая при этом определенное количество посредников раннего действия на каждое ограниченное устройство. Объекту разрешается поддерживать необходимое количество посредников на каждое устройство с ограниченными ресурсами путем удаления или добавления записей в таблице посредника. Кроме того, объекту разрешается отслеживать посредники раннего действия на основе стратегий перенаправления, стратегий передачи сообщений и/или стратегий опроса. Посредством этого можно управлять записями в таблице посредника для оптимизации общей производительности системы и характеристик надежности. Объект может включаться в одно или несколько устройств, участвующих в связи ограниченных устройств, вроде посредников раннего действия, посредников без функции раннего действия и/или приемников, и обеспечивать локальную оптимизацию. Объект может включаться в одно или несколько специализированных устройств вроде контроллеров, устройств обслуживания, конфигурации или управления, и обеспечивать глобальную оптимизацию.
Дополнительно отметим, что устройство-посредник может быть любым устройством, выполняющим ретрансляционную функцию для ограниченного устройства, и соответственно заявленные способы применимы к этому устройству. Например, в спецификации ZGP оно может быть любым из следующих типов устройств: ZGP Proxy, ZGP Proxy Minimum, ZGP Combo, выполняющее ретрансляционную функцию на основе информации в своей таблице посредника; и ZGP Combo Minimum, выполняющее ретрансляционную функцию на основе информации в своей таблице приемников.
Хотя изобретение проиллюстрировано и подробно описано на чертежах и в предшествующем описании, такая иллюстрация и описание должны считаться пояснительными или типовыми, а не ограничивающими. Изобретение не ограничивается раскрытым вариантом осуществления.
Даже если варианты осуществления в основном описываются с использованием примеров ZigBee Green Power, изобретение применимо к любым сетям с устройствами с ограниченными ресурсами, включая обычные сети ZigBee, сети 6LoWPAN, ячеистые сети Wi-Fi и т.п.
Предложенным применением настоящего изобретения могут быть любые приложения управления зданием или системы управления зданием, включающие в себя системы управления освещением, системы отопления, вентиляции и кондиционирования воздуха, системы управления жалюзи, системы защиты, безопасности и контроля доступа/ отслеживание людей и имущества; и любое другое применение для управления, измерения, мониторинга и автоматизации, извлекающее выгоду от ограниченных устройств.
Другие разновидности раскрытых вариантов осуществления могут подразумеваться и осуществляться специалистами в данной области техники при применении в практике заявленного изобретения, из изучения чертежей, раскрытия изобретения и прилагаемой формулы изобретения. В формуле изобретения слово "содержащий" не исключает других элементов или этапов, и единственное число не исключает множества. Один процессор или другой блок может выполнять функции нескольких элементов, перечисленных в формуле изобретения. Сам факт, что некоторые критерии перечисляются во взаимно разных зависимых пунктах формулы изобретения, не указывает на то, что сочетание этих критериев не может использоваться с пользой.
Предшествующее описание подробно описывает некоторые варианты осуществления изобретения. Однако нужно будет принять во внимание, что независимо от того, насколько подробно вышеизложенное появляется в тексте, изобретение может быть применено на практике многими способами и поэтому не ограничивается раскрытыми вариантами осуществления. Следует отметить, что использование конкретной терминологии при описании некоторых признаков или аспектов изобретения не следует воспринимать подразумевающим, что терминология переопределяется в этом документе для ее ограничения, чтобы включить любые конкретные характеристики признаков или аспектов изобретения, с которыми ассоциируется та терминология.