СПОСОБ КОНФИГУРИРОВАНИЯ УЗЛОВОГО УСТРОЙСТВА, СЕТЬ И УЗЛОВОЕ УСТРОЙСТВО
METHOD FOR NODE DEVICE CONFIGURATION, NETWORK AND NODE DEVICE

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение относится к устройствам связи в сети связи, например, к сети наружного освещения, где каждое узловое устройство соединено со светильником, которым управляют команды, отправляемые по сети. Изобретение также относится к способам конфигурирования таких узлов.
Это изобретение, например, относится к сетям наружного освещения, использующим беспроводную связь.
УРОВЕНЬ ТЕХНИКИ ИЗОБРЕТЕНИЯ
В некоторых сетях связи, например, в сетях наружного освещения, каждое узловое устройство имеет два или большее количество интерфейсов связи. В примере, показанном на фиг. 1, каждый узел 100 сети имеет, например, ячеистый интерфейс 101 и интерфейс 102 GPRS. Интерфейс 102 GPRS используется для выполнения автоматического соединения с серверной частью, например, посредством UDP/DTLS/CoAP. В этом смысле, если установление связи по протоколу DTLS является успешным, то устройство может регистрироваться, и некоторые параметры конфигурации могут отправляться в устройство. Когда все узловые устройства 100 соединены, ячеистая сеть может конфигурироваться, и параметры создания сети могут передаваться на удаленный контроллер 110 по соединению GPRS. Кроме того, модуль GPRS некоторых из узловых устройств 100 может выключаться так, чтобы эти устройства с выключенным GPRS осуществляли связь с серверной частью только через оставшиеся устройства, которые все еще имеют включенный интерфейс GPRS (например, узловое устройство 100a). Кроме того, это устройство 100a может работать в качестве простого маршрутизатора, дополнительно упрощая всю архитектуру системы связи и обеспечивая прямую связь между сетью и удаленным контроллером 110 в серверной части. Это означает, что часть осуществления связи выполняется по ячеистой сети, а другая часть - по сети GPRS. Интерфейс GPRS может также быть другим интерфейсом связи дальнего радиуса действия, таким как UMTS, LTE или даже радиосвязь субгигагерцового диапазона, с которым устройства могут осуществлять связь в звездообразной топологии с дальним радиусом действия.
В такой сети можно иметь систему полностью на основе IP (Интернет-протокола), таким образом минимизируя количество преобразований протоколов. Для этой цели 6LoWPAN является одним из возможных протоколов, которые могут использоваться. Однако, необходимо удостоверяться, что все еще могут выполняться некоторые основные закономерности осуществления связи, а именно:
1. Одноадресная связь от серверной части до любого узлового устройства: она может использоваться для включения/выключения светильника (одноадресная передача нисходящей линии связи).
2. Одноадресная связь от любого узлового устройства в системе освещения к серверной части: она может использоваться для предоставления информации об энергии (одноадресная передача восходящей линии связи).
3. Многоадресная связь от серверной части к набору устройств в системе освещения: она может использоваться для обновления программного обеспечения или для включения/выключения группы светильников (многоадресная передача нисходящей линии связи).
4. Локальная связь в системе освещения между множеством узловых устройств: она может использоваться для предоставления возможности использования продуктов, которые требуют связи между равноправными устройствами сети. В таких продуктах датчики и беспроводная связь используются для обеспечения света по требованию, то есть когда обнаруживается движущийся человек или транспортное средство.
В сети 6LoWPAN протокол маршрутизации определяется с помощью протокола маршрутизации для маломощных сетей с потерями (RPL). Сеть на основе RPL состоит из экземпляров RPL. Каждый из этих экземпляров RPL может иметь один или большее количество ориентированных направленных ациклических графов расстояний (DODAG). Каждый DODAG заканчивается в особом узле, который называют корневым узлом.
Два типа экземпляров могут быть найдены в узловых устройствах:
- Глобальные экземпляры, которые идентифицируются с помощью ИД (идентификатора) экземпляра. Каждый глобальный экземпляр может включать в себя множество DODAG (с отличающимся корневым узлом в каждом).
- Локальные экземпляры, которые являются особыми экземплярами, связанными с узлом. Каждый локальный экземпляр может иметь только один DODAG. Два поля необходимы для их идентификации: ИД экземпляра и ИД DODAG. ИД DODAG является уникальным и доступным IP-адресом узла, который действует в качестве корневого узла DODAG.
Узел может присоединяться только к одному DODAG в пределах экземпляра RPL, и связи между DODAG того же самого экземпляра невозможны (они изолированы). С другой стороны, узел может присоединяться одновременно к различным экземплярам RPL. Таким образом, узел может иметь или быть частью множества локальных экземпляров.
Кроме того, существует потребность в такой сети, чтобы она поддерживала протокол маршрутизации многоадресной передачи. Для достижения вышеупомянутых целей связи можно попытаться создать множество подсетей, каждая связанна с граничным маршрутизатором (с включенным GPRS), который является корневым узлом DODAG глобального экземпляра. Однако, это имеет такое ограничение, что локальная связь невозможна, когда сталкиваются с границами сетей, как показано на фиг. 2. На этой фигуре кажется, что подсети N1 и N2 изолированы и не могут осуществлять связь непосредственно в сети этой топологии. Связь между N1 и N2 может выполняться только через серверную часть, которая в этом случае требует использования передачи GPRS. Таким образом, связь узлового устройства из подсети N1 с другим узловым устройством из подсети N2 неэффективна. Кроме того, маршрутизация многоадресной передачи для обоих узлов N1 и N2 не поддерживается в этом примере.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Целью изобретения является предложение устройства, которое облегчает решение упомянутых выше проблем.
Другой целью изобретения является предложение способа конфигурирования узловых устройств в сети, который предоставляет возможность использования протокола эффективной маршрутизации, наряду с тем, что он предлагает все возможные режимы передачи.
В соответствии с первым аспектом изобретения предложено устройство, содержащее контроллер маршрутизации для маршрутизации сообщений к множеству узловых устройств сети, данный контроллер маршрутизации содержит
глобальный экземпляр, предоставляющий возможность маршрутизации сообщений к набору маршрутизации из узловых устройств,
по меньшей мере один локальный экземпляр для маршрутизации пакетов к соседнему узловому устройству, соседствующему с данным устройством, причем соседнее узловое устройство выбирается независимо от того, принадлежит или нет соседнее узловое устройство набору маршрутизации из узловых устройств,
и причем контроллер маршрутизации конфигурируется для использования локального экземпляра для маршрутизации сообщений многоадресной передачи к узловым устройствам.
Таким образом, локальный экземпляр может использоваться для достижения соседних узлов, которые недоступны с помощью глобального экземпляра и которые являются частью другой подсети. Затем узлы этой другой подсети могут использовать свой собственный глобальный экземпляр для маршрутизации сообщений к узлам в их подсети. С помощью маршрутизации сообщения многоадресной передачи с помощью локального экземпляра предоставляется возможность более эффективной маршрутизации сообщений.
В первом варианте осуществления первого аспекта изобретения глобальный экземпляр содержит по меньшей мере один ориентированный направленный ациклический граф расстояний, определяющий маршруты, связывающие узловые устройства из набора маршрутизации и имеющие в качестве корневого узла узловое устройство, являющееся устройством-маршрутизатором, соединяющим сеть с серверной частью. Этот первый вариант осуществления предоставляет возможность, например, избежать маршрутизации сообщений через серверную часть и выполнить маршрутизацию напрямую к соседней подсети через один из маршрутов, предложенных локальными экземплярами. Это особенно интересно для приложений, требующих локальной связи, или для многоадресной передачи сообщений.
В другом варианте осуществления первого аспекта изобретения контроллер маршрутизации конфигурируется для использования глобального экземпляра для одноадресной передачи сообщений и для многоадресной передачи сообщений от серверной части. Таким образом, в зависимости от применения или от целевых узлов сообщения и от их соответствующего расположения в сети, глобальный экземпляр может использоваться вместо локального экземпляра для маршрутизации сообщений, предлагая больше гибкости при маршрутизации сообщений.
В еще одном варианте осуществления первого аспекта изобретения связь между серверной частью и сетью выполняются по среде передачи, которая отличается от среды передачи сети. Она может быть средой связи дальнего радиуса действия, такой как GPRS или LTE.
В соответствии со вторым аспектом изобретения предложен способ конфигурирования узлового устройства в сети, упомянутое узловое устройство содержит контроллер маршрутизации для маршрутизации сообщений к другим узловым устройствам сети, данный способ содержит этапы, на которых
(a) создают в контроллере маршрутизации глобальный экземпляр, предоставляющий возможность маршрутизации сообщений к набору маршрутизации из других узловых устройств,
(b) создают по меньшей мере один локальный экземпляр для маршрутизации пакетов к соседнему узловому устройству, соседствующему с данным узловым устройством, причем этап (b) включает в себя выбор соседнего узлового устройства независимо от того, принадлежит или нет соседнее узловое устройство набору маршрутизации из других узловых устройств,
(c) конфигурируют контроллер маршрутизации для использования локальных экземпляров для маршрутизации сообщений многоадресной передачи.
Как замечено выше, локальный экземпляр может использоваться для достижения соседних узлов, которые недоступны с помощью глобального экземпляра и которые являются частью другой подсети. Затем узлы этой другой подсети могут использовать свой собственный глобальный экземпляр для маршрутизации сообщений к узлам своей подсети. С помощью маршрутизации сообщения многоадресной передачи с помощью локального экземпляра предоставляется возможность более эффективной маршрутизации сообщений. Это конкретно настраивается для использования применений, вовлекающих локальную связь, где множеству соседних узловых устройств нужно сообщать об обнаружении движущегося человека или транспортного средства, так, чтобы соседние устройства могли включаться соответствующим образом.
В соответствии с вариантом осуществления этого аспекта изобретения, конфигурация локальных экземпляров на этапе (c), используемых физическим интерфейсом, выполняется посредством обмена сообщениями по другому физическому интерфейсу.
В соответствии с другим вариантом осуществления этого аспекта изобретения конфигурация локальных экземпляров на этапе (b) содержит назначение узловому устройству локального экземпляра, в котором узловое устройство действует в качестве корневого узла, и назначение идентификаторов других локальных экземпляров, в которых узловое устройство действует в качестве приемной стороны.
В соответствии с вариантом осуществления второго аспекта изобретения этап (a) дополнительно содержит создание по меньшей мере одного ориентированного направленного ациклического графа расстояний, определяющего маршруты, связывающие узловые устройства набора маршрутизации и имеющие в качестве корневого узла узловое устройство, являющееся устройством-маршрутизатором, соединяющим сеть c серверной частью. Таким образом, в зависимости от применения или целевых узлов сообщения и их соответствующего расположения в сети, узловое устройство конфигурируется для использования глобального экземпляра вместо локального экземпляра для маршрутизации сообщений, предлагая больше гибкости при маршрутизации сообщений.
В соответствии с другим вариантом осуществления второго аспекта этап (b) дополнительно содержит создание ориентированного направленного ациклического графа расстояний, определяющего маршруты, связывающие соседнее устройство с узловым устройством. Кроме того, этап (a) и этап (b) выполняются, основываясь на соответствующей географической информации узлового устройства и других узловых устройств. Благодаря соответствующей информации узлового устройства локальный экземпляр может конфигурироваться так, чтобы он создавал мост связи или линию связи между двумя изолированными подсетями, сформированными с помощью схемы маршрутизации глобального экземпляра. Например, глобальные экземпляры и локальные экземпляры могут выбирать узловые устройства для обеспечения, чтобы любой отличающийся глобальный экземпляр соединялся с одним или с большим количеством локальных экземпляров. Это предоставляет возможность в некоторых вариантах осуществления избегать маршрутизации сообщений через серверную часть, которая является неэффективной. Она может также быть дорогостоящей, так как для этого могут потребоваться, например, ресурсы GPRS, за которые требуется оплата поставщику услуг.
В дополнительной разновидности этого варианта осуществления до этапов (a) - (c) способ содержит этап, на котором узловые устройства сети передают свою соответствующую географическую информацию на центральный контроллер в серверной части, и этапы (a) - (c) выполняются из упомянутого центрального контроллера. Узловое устройство может включать в себя, например, набор микросхем GPS для установления своей географической информации точным образом и передачи ее на центральный контроллер в серверной части. Географическая информация может также получаться с помощью другого средства, например, от сотовой сети связи. Центральный контроллер в серверной части имеет большую мощность вычислений, чем узловые устройства, для создания и конфигурирования оптимизированным образом схем маршрутизации, которые будут использоваться сетью.
В разновидности вариантов осуществления второго аспекта изобретения этапы (a) - (c) выполняются из центрального контроллера в серверной части. Возможно, не требуется, чтобы узловые устройства передавали свою географическую информацию, так как она может быть известна заранее, например, из инсталляционной карты.
В дополнительной разновидности вариантов осуществления второго аспекта изобретения этап (b) содержит создание интерфейса MPL (где прежде был локальный экземпляр RPL) для протокола MPL, и узловое устройство является уникальным источником протокола MPL. В другой разновидности вариантов осуществления второго аспекта изобретения этап (a) содержит создание интерфейса MPL в глобальном экземпляре для протокола MPL, и причем узел-маршрутизатор, соединенный с серверной частью, является уникальным источником протокола MPL. Протокол многоадресной передачи для маломощных сетей с потерями (MPL) является кандидатом на 6LoWPAN ввиду его свойств и его эффективности в таких сетях.
В еще одной разновидности вариантов осуществления второго аспекта изобретения этапы (a) и (b) содержат создание интерфейса RPL в локальном экземпляре и в глобальном экземпляре для протокола RPL.
В еще одной разновидности вариантов осуществления второго аспекта изобретения локальные экземпляры определяются с помощью дерева маршрутизации, которое имеет минимальную глубину. Это означает, например, что все узлы, перечисленные в локальных экземплярах, могут достигаться за один переход (не требуется промежуточная ретрансляция). Это предоставляет возможность простой и эффективной маршрутизации сообщений. Получение этих деревьев минимальной глубины особенно просто, если они вычисляются в серверной части, имеющей общее знание сети и точного географического расположения устройств.
В другой разновидности вариантов осуществления второго аспекта изобретения локальный экземпляр определяет маршруты посредством древовидной структуры, имеющей корневой узел, промежуточные узлы и конечные узлы, и где сообщения, маршрутизируемые от корневого узла к конечным узлам в локальном экземпляре, передаются с помощью многоадресной передачи больше одного раза с помощью корневого и всех промежуточных узлов для обеспечения надежности. С помощью повтора сообщения, которое является многоадресной передачей, предоставляется возможность поддержания надежности при передаче сообщений.
Эти и другие аспекты изобретения будут очевидны и будут объясняться со ссылкой на варианты осуществления, описанные в дальнейшем.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Настоящее изобретение будет теперь описано более подробно посредством примера со ссылкой на сопроводительные чертежи, на которых:
• Фиг. 1 - структурная схема сети, в которой может воплощаться изобретение.
• Фиг. 2 - представление экземпляров маршрутизации в сети, содержащей узлы в соответствии с вариантом осуществления изобретения.
• Фиг. 3A-3D показывает маршрутизацию пакетов в сети на фиг. 2.
• Фиг. 4 - последовательность операций, представляющая способ конфигурирования сети в соответствии с другим вариантом осуществления изобретения.
• Фиг. 5 - представление экземпляров маршрутизации в сети, содержащей узлы в соответствии с другим вариантом осуществления изобретения.
• Фиг. 6 - представление экземпляров маршрутизации в сети, содержащей узлы в соответствии с еще одним вариантом осуществления изобретения.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
Настоящее изобретение относится к узловым устройствам в сети и к способу конфигурирования такого узлового устройства для предоставления возможности маршрутизации сообщений в сети.
Как замечено ранее, существует потребность в протоколе многоадресной передачи в сети, которая изображена на фиг. 1. Действительно, в сетях наружного освещения многоадресная передача может использоваться для включения или выключения группы светильников или информирования группы светильников об обнаруженном объекте около узлового устройства.
Протокол многоадресной передачи для маломощных сетей с потерями (MPL) является протоколом, который будет использоваться для многоадресной передачи в сети 6LoWPAN. Основные особенности протокола MPL являются следующими:
• Каждое узловое устройство имеет один или большее количество интерфейсов MPL. Эти интерфейсы имеют один или большее количество связанных IP-адресов одноадресной передачи.
• Каждый интерфейс может подписываться на одну или большее количество областей MPL. Существует один уникальный адрес многоадресной передачи, связанный с каждой областью.
• Среди узлов, которые присоединяются к области через один из своих интерфейсов, существуют некоторые особые узлы, которые испускают информацию в данную область. Эти узлы называют источником.
• Когда источник отправляет сообщение, оно будет использовать адрес области многоадресной передачи в качестве получателя, и каждый узел, подписанный на эту область, примет сообщение.
• Все узлы работают в качестве переадресатора MPL. Таким образом, если узел ранее не принял сообщение, то он будет его ретранслировать.
• Алгоритм Trickle используется для управления связью при многоадресной передаче и ретрансляциями.
В варианте осуществления изобретения RPL может использоваться для создания элементов маршрутизации. RPL хорошо подходит для примера связи при одноадресной передаче. С другой стороны, MPL - хорошая возможность для связи при многоадресной передаче.
Как показано на фиг. 2, первый вариант осуществления изобретения использует глобальный и локальный экземпляры RPL для достижения всех целей при осуществлении связи. В сети на фиг. 2 множество узловых устройств 100 и 100a связаны и формируют отличающиеся подсети N1 и N2. Узловые устройства 100 и 100a соединены друг с другом посредством своего ячеистого интерфейса. Узловые устройства 100a однако дополнительно работают в качестве граничных маршрутизаторов, используя свой интерфейс GPRS для осуществления связи с сетью 200 серверной части, соединенной с удаленным контроллером (не показан).
Для маршрутизации пакетов данных по сетям N1 и N2 глобальный и локальный экземпляры RPL распространяются в сети. На фиг. 2 представлено содержимое некоторых глобальных экземпляров со ссылкой на часть сети 21 и соединения между узловыми устройствами в качестве маршрутов. Точно так же эталонная величина 22 используется для представления некоторых примеров локальных экземпляров, посредством которых соседние узлы могут маршрутизировать сообщения друг к другу. Для каждой подсети N1, N2:
• Существует один глобальный экземпляр 21 с несколькими DODAG в нем. Каждый корневой DODAG будет работать в качестве граничного маршрутизатора 100a, предоставляя возможность его интерфейсу GPRS осуществлять связь с серверной частью 200. Каждое узловое устройство 100 из подсети присоединяется к одному DODAG этого глобального экземпляра.
• Каждому узловому устройству 100 и 100a подсети будет принадлежать по меньшей мере один локальный экземпляр 22, к которому соседние узлы в непосредственной близости будут присоединятся или будут добавляться.
С этой структурой могут быть достигнуты все шаблоны связей:
• Восходящая/нисходящая связь одноадресной передачи и многоадресной передачи между каждым узловым устройством и серверной частью будут достигнуты, используя глобальный экземпляр 21.
• Узловые устройства (которые являются датчиками в этом случае) будут использовать свой локальный экземпляр 22 для отправки информации многоадресной передачи в соседние узлы, которые присоединились к нему.
С помощью выбора в локальном экземпляре 22 узлового устройства других узлов независимо от того, включает в себя или нет эти другие узлы глобальный экземпляр узлового устройства или глобальный экземпляр другого узлового устройства, имеющего отличающийся корневой узел, линии связи могут создаваться между различными подсетями N1 и N2, которые были бы иначе изолированы. Например, локальный экземпляр 22a соединяет эти две подсети и предоставляет возможность осуществления связи от сети N1 к сети N2, не проходя через серверную часть. В варианте изобретения могут предпочтительно создаваться локальные экземпляры, включающие в себя узлы, которые уже не включает в себя глобальный экземпляр, для увеличения вероятности создания множества линий связи с другими подсетями.
В соответствии с обычным подходом, нет никакого другого способа связать узлы одной подсети с другой, кроме как через серверную часть. Это создало бы задержки, и использовало бы ресурсы GPRS, которые дороже, чем прямая линия связи. Это не предоставило бы возможность реализации некоторых применений, например, отслеживания уровней света и сопровождения движущегося объекта от первой подсети N1 ко второй подсети N2. Как можно заметить, использование локальных экземпляров для распространения информации к самым близким узлам избегает ограничений этого обычного подхода, где узлы из различных подсетей не могли осуществлять связь. Полное объяснение всех возможных сценариев представлено на фиг. 3A - 3D. На этих фиг. 3A-3D глобальный экземпляр показан в верхней части диаграммы с ее древовидной структурой. Затем показаны несколько локальных экземпляров, каждый выделен рассматриваемому узлу. Для ясности показаны только локальные экземпляры этих восьми узловых устройств (1001-1008) внизу сети. Однако, промежуточные узловые устройства или узлы граничных маршрутизаторов также имеют локальные экземпляры для маршрутизации сообщений к соответствующим им соседним узлам. Например, локальный экземпляр узла 1001 показывает, как локальный экземпляр этого узлового устройства 1001 маршрутизирует сообщения к узловым устройствам 1002 и 1003.
Фиг. 3A показывает маршрутизацию сообщения одноадресной передачи от маршрутизатора, используя глобальный экземпляр. Как можно увидеть с помощью полужирных стрелок, пакет данных маршрутизируется способом одноадресной передачи от серверной части 200 к узловому устройству 1003. Глобальный экземпляр может использоваться для маршрутизации любого сообщения одноадресной передачи от серверной части к любому из устройств. Она может использоваться, например, удаленным контроллером для передачи команды к одному светильнику для включения или выключения.
Противоположный маршрут показан на фиг. 3B, которая показывает маршрутизацию сообщения одноадресной передачи от узла 1005 к узлу маршрутизатора и затем к серверной части, используя глобальный экземпляр. Она может использоваться узловыми устройствами для маршрутизации сообщений, которые передают обратно, например, некоторую информацию о состоянии светильника или о количестве энергии, расходуемой светильником.
Фиг. 3C показывает маршрутизацию сообщения многоадресной передачи от серверной части к группе светильников. Она может использоваться для распространения параметров конфигурации к группе светильников или, например, для включения или выключения группы светильников.
В случае многоадресной передачи от узлов, или для некоторых локальных связей в качестве одноадресной передачи к соседнему узлу, маршрутизация показана на фиг. 3D. В этом случае для маршрутизации сообщений используется локальный экземпляр. На примере на фиг. 3D узел 1005 может достичь соседних узлов 1003, 1004, 1006 и 1007 с помощью многоадресной передачи. Узлы 1006 и 1007 достигаются с помощью узлового устройства 1005, хотя они находятся не в той же самой сети. Например, в случае широковещания сообщений, используя алгоритм Trickle, сообщения могут направляться и достигать других подсетей быстрее, и не требуется, чтобы они проходили через серверную часть 200.
Как показано на фиг. 3A - 3D, локальные экземпляры определяются с помощью дерева маршрутизации, которое имеет минимальную глубину. Это означает, что от узлового устройства, служащего корневым узлом, все другие узлы могут достигаться с минимальным количеством переходов. Как правило, минимальное количество переходов равно 1, то есть корневой узел может напрямую достигать всех узлов, перечисленных в локальном экземпляре.
Вовлечение локальных экземпляров имеет больше преимуществ, чем уход от ограничений глобальных структур. Каждому узлу могут принадлежать несколько локальных экземпляров, что может приводить к ответу, изменяющемуся в зависимости от ситуации. Если экземпляры создаются, следуя различным требованиям по применению, то сеть может реагировать на событие на уровне маршрутизации в зависимости от необходимого применения (межуровневая оптимизация). Например, если существует несколько экземпляров, основанных на расстоянии или на количестве переходов до туда, куда хотят, чтобы сообщение перемещалось, и когда что-нибудь обнаруживается во внешней среде, сеть будет иметь возможность распространять сообщение на небольшое количество переходов (например, обнаружение медленно движущегося объекта, такого как человек), или может принять решение отправить его настолько далеко, насколько это возможно (например, обнаружение быстро движущегося объекта, такого как автомобиль). Кроме того, в сценарии с автомобилем возможно распространять сообщения только в направлении, в котором едет автомобиль.
Создание экземпляров и, опционально, связанного DODAG может выполняться в серверной части. Для достижения этого серверная часть выполняет алгоритмы, основываясь на таких показателях, как расположение, прямая видимость, расстояние между узлами и мощность сигнала.
Некоторые из этих показателей будут отправлять из узлов в серверную часть через GPRS во время или после фазы соединения. Остальные показатели будут вычисляться с помощью серверной части с помощью географической информации (географического расположения узлов). Поскольку в некоторых сетях освещения все узловые устройства имеют модуль GPS, расположение каждого узлового устройства можно отпралять, например, через GPRS во время соединения, с упомянутыми прежде показателями.
Затем серверная часть начинает работу алгоритмов, например, основываясь на принятой географической информации, и создает набор параметров сети для каждого узла. Наконец серверная часть принудительно устанавливает параметры сети для каждого узла через GPRS.
Создание локальных экземпляров облегчается с помощью глобальной информации сети. Как упомянуто прежде, глобальная информация может вычисляться с помощью расположения GPS, или в одной из разновидностей, основываясь на информации о расположении, сохраненной во время инсталляции сети.
Для создания каждого локального экземпляра следующий алгоритм может выполняться в серверной части. Этот алгоритм имеет в качестве вводимой информации набор узлов, которые должны присоединиться к локальному экземпляру, и включает в себя несколько функций. Этот алгоритм генерирует структуру с минимальным количеством переходов. Это достигается с помощью добавления еще одного перехода в каждой итерации, только если линии связи являются допустимыми. Допустимость линии связи может изменяться или корректироваться, например, основываясь на ситуации (окружающей среде, близости источников помех) и на необходимой производительности сети. Для каждого узла алгоритм будет добавлять наилучшую для него линию связи (которая будет узлом предыдущей итерации).
Вводимая информация:
Существует две основные вводимые информации для этого алгоритма:
• Узел, который станет корневым узлом данной иерархической структуры.
• Набор узлов, для которых хотят, чтобы их включала в себя создаваемая топология. Задание этого набора узлов не определяется с помощью этого алгоритма.
Кроме того, необходима информация о показателях для определения, является или нет линия связи подходящей для осуществления связи, или имеет или нет она достаточное качество для использования.
Выводимая информация:
• Список узлов со связанным родительским узлом в экземпляре.
• Узлы, которые нельзя присоединить к структуре. Это может произойти, если нет линии связи, которая удовлетворяет требованиям связи.
Вычисление набора узлов может отличаться в зависимости от применения (например: для автомобиля, перемещающегося в одном определенном направлении, или для идущего человека не будут нужны одинаковые возможности, как объяснено в особенности 1), или для всех узлов в заданной зоне, находящейся в заданном расположении. Таким образом, каждый узел может иметь больше одного локального экземпляра для каждой цели применения.
Этот алгоритм может выполняться в серверной части, как упомянуто ранее. В этой особенности также упоминаются основные показатели. Это показатели будут использоваться в функции стоимости, которая будет вызываться в следующих функциях:
valid_link (node1, node2):
Проверяет, является или нет линия связи между двумя узлами достаточно хорошей для использования.
Вводимая информация: node1 и node2, которые формируют линию связи, которая будет проверяться
Выводимая информация: истина, если линия связи между node1 и node2 является подходящей. Иначе - ложь.
best_link (node, parent1, parent2):
Учитывая две возможности, возвращает наилучший родительский узел для заданного узла.
Вводимая информация:
• node: узел, для которого ищут родительский узел.
• parent1: первый возможный вариант.
• parent2: второй возможный вариант.
Выводимая информация: наилучший родительский узел из двух доступных.
look_for_parent (node, list):
Ищет наилучший родительский узел для узла в списке доступных в настоящее время родительских узлов.
Вводимая информация:
• node: узел, для которого ищут родительский узел.
• list: доступные узлы, которые могут стать родительским узлом для данного узла.
Выводимая информация: наилучший доступный родительский узел или нуль, если в пределах списка нет допустимого узла.
look_for_parents (included, look_for):
Ищет наилучший родительский узел для набора узлов в списке возможных родительских узлов.
Вводимая информация:
• included: список узлов, которые уже находятся в структуре.
• look_for: узлы, которым все еще нужен родительский узел.
Выводимая информация:
• added_nodes: список узлов, которые приняли родительский узел при этом вызове функции.
• remaining: узлы, которые не приняли родительский узел при вызове этой функции.
Все вышеприведенные абстрактные функции детализированы в следующем компактном алгоритме.
Прежде всего, необходимо объяснить две особые функции, которые используются в пределах данного алгоритма. Они базируются на функции стоимости для достижения своих целей:
valid_link (node1, node2):
Проверяет, достаточно ли хороша линия связи между двумя узлами для использования
Вводимая информация: два вовлеченных узла
Выводимая информация: истина, если линия связи между узлами является подходящей. Иначе - ложь.
best_link (node, parent1, parent2):
Учитывая две возможности, возвращает наилучший родительский узел для узла
Вводимая информация:
• node: узел, для которого ищут родительский узел.
• parent1: первый возможный вариант.
• parent2: второй возможный вариант.
Выводимая информация: наилучший родительский узел из двух доступных.
С помощью описанных выше функциональных возможностей теперь можно показать функции, используемые с помощью этого алгоритма для установки структуры локального экземпляра, и, наконец, код алгоритма.
look_for_parent(node, list):
Ищет наилучший родительский узел для узла в списке доступных в настоящее время родительских узлов.
Вводимая информация:
• node: узел, для которого ищут родительский узел.
• list: доступные узлы, которые могут стать родительским узлом для данного узла.
Выводимая информация:
• Наилучший доступный родительский узел или нуль, если в пределах списка нет допустимого узла.
temporal
parent
1: _null
n
list
2: for all in do
valid
link
node, n
3: if _() then
temporal
parent
null
4: if _is then
temporal
parent
5: _n
6: else
temporal
parent
7: _best_link(node, temporal_parent, n)
8: end if
9: end if
10: end for
11: return temporal_parent
look_for_parents(included, look_for):
Ищет наилучший родительский узел для набора узлов в списке возможных родительских узлов
Вводимая информация:
• included: список узлов, которые уже находятся в структуре.
• look_for: узлы, которым все еще нужен родительский узел.
Выводимая информация:
• added_nodes: список узлов, которые приняли родительский узел при этом вызове функции.
• remaining: узлы, которые не приняли родительский узел при этом вызове функции
aux
1: null
n
look
for
2: for all in _do
aux
3: look_for_parent(n, included)
aux
null
4: if is then
5: add n to remaining
6: else
7: add n to added_nodes
8: set aux as parent of n
9: end if
10: end for
added
nodes, remaining
11: return {_}
Алгоритм:
Генерирует структуру с минимальным количеством переходов
Вводимая информация:
root: узел, который станет корневым узлом локального экземпляра.
• nodes: список узлов, которые хотят присоединиться к экземпляру.
• Показатели, используемые для установки стоимости линии связи: расстояние, прямая видимость (LoS), мощность сигнала.
Выводимая информация:
• Список узлов со связанным родительским узлом для формирования экземпляра.
• Узлы, которые не смогли присоединиться к экземпляру.
last
included
1: _{root}
not
included
2: _nodes
last
included
null
not
included
null
3: while _is not and _is not do
new, remaining
4: {} look_for_parents(last_included, not_included)
last
included, not
included
5: {__} {new, remaining}
6: end while
Цикл с условием продолжения в алгоритме имеет два возможных окончания:
last
included -
no
included
• _не нуль, и _- нуль: нормальное окончание, все узлы присоединились к локальному экземпляру.
last
included
no
included -
• _- нуль, и _не нуль: некоторые узлы не смогли присоединиться к экземпляру, потому что у них не было ни одной подходящей линии связи.
• Другие комбинации невозможны (notnull-notnull означает продолжение цикла, и не может быть null-null, потому что должна закончиться предыдущая итерация).
Локальные экземпляры RPL обеспечивают хорошее решение для случаев предоставления возможности использования всех связей. Обсуждают, можно ли улучшить RPL с помощью добавления особенностей MPL. Можно применять этот протокол и в глобальном, и в локальном экземпляре в этой структуре. В локальных экземплярах:
• Каждый узел будет иметь интерфейс MPL.
• Кроме того, каждый узел будет подписан на область MPL, где он является уникальным источником.
• Другие находящиеся рядом узлы будут подписаны на эту область в качестве переадресаторов MPL.
В глобальных экземплярах:
• Снова, каждый узел будет иметь интерфейс MPL (такой же, как локальный экземпляр).
• Существует область MPL для каждого DODAG, причем корневой узел является единственным источником в нем.
• Каждый узел в DODAG будет подписан на область DODAG.
Кроме объясненного выше решения можно подумать в другом подходе. Можно использовать для всей сети глобальную область MPL, которая будет использоваться для сообщений локальной и глобальной многоадресных передач. Для достижения этого необходимо устанавливать максимальное количество переходов в каждом сообщении:
• Если хотят, чтобы сообщение распространялось глобально, то можно определять это количество переходов как максимально допустимое значение.
• Если хотят, чтобы сообщение имело локальный диапазон, то можно ограничивать количество переходов, чтобы избежать распространения сообщения по всей сети.
В двух обсуждаемых подходах все еще должен быть глобальный экземпляр RPL для выполнения связи одноадресной передачи между серверной частью и узлами сети.
В соответствии с другим аспектом изобретения, изображенного на фиг. 4, способ конфигурирования сети показывается в последовательности операций. В сети на фиг. 2 способ содержит этапы
S100, на котором узловые устройства сети передают свою соответствующую географическую информацию на центральный контроллер в серверной части. Географическая информация, которая могла также быть получена из устройства хранения данных в разновидности этого варианта осуществления, используется для оптимизации глобальных экземпляров и локальных экземпляров, принимая во внимание расположения узлов.
S101, на котором в контроллере маршрутизации создают глобальный экземпляр, предоставляющий возможность маршрутизации сообщений к набору маршрутизации из других узловых устройств.
S102, на котором создают по меньшей мере один локальный экземпляр для маршрутизации пакетов к соседнему узловому устройству, соседствующему с данным узловым устройством. Этап S102 включает в себя выбор соседнего узлового устройства независимо от того, принадлежит или нет соседнее узловое устройство набору маршрутизации из других узловых устройств. Таким образом, локальные экземпляры могут конфигурироваться для соединения более двух сетей, сформированных с помощью глобальных экземпляров.
S103, на котором конфигурируют контроллер маршрутизации для использования локальных экземпляров для маршрутизации сообщений многоадресной передачи. В частности, этап S103 содержит назначение узловому устройству локального экземпляра, в котором узловое устройство действует в качестве корневого узла, и назначение идентификаторов других локальных экземпляров, в которых узловое устройство действует в качестве приемной стороны. Таким образом, каждый узел знает все локальные экземпляры, в которых он принимает участие или в качестве корневого узла, или в качестве получателя.
Этапы S101-103 могут выполняться из удаленного контроллера в серверной части. Действительно, этот объект обычно имеет больше мощности обработки, может таким образом оптимизировать конфигурацию локальных экземпляров и глобальных экземпляров.
В дополнительном варианте осуществления узловое устройство (то есть устройство, содержащее контроллер маршрутизации) использует нестандартизированное решение прикладного уровня (например, собственное решение) для маршрутизации по меньшей мере некоторых из пакетов в локальном экземпляре. Под нестандартизированным предполагается, что операция локального экземпляра не обязательно соответствует спецификации RPL. Однако, в этом варианте осуществления маршрутизация в глобальном экземпляре все еще выполняется, как описано в других вариантах осуществления.
В этом варианте осуществления работа этого единственного локального экземпляра выполняется следующим образом. Узел датчика генерирует событие, которое нужно доставить к группе узлов-получателей. Датчик передает пакет, содержащий информацию о событии, используя многоадресную передачу или широковещание с одним переходом, называемый в данной работе сообщением о событии. Например, оно может быть локальным для линии связи сообщением многоадресной передачи IPv6 UDP.
Событие может быть, например, обнаружением с помощью датчика движения движущегося человека или движущегося транспортного средства, уровнем света, обнаруженным с помощью датчика света. Информация о событии включает в себя идентификатор группы-получателя, к которой должно быть передано событие. Например, группа может определяться в качестве адреса получателя многоадресной передачи IPv6 в пакете IPv6 UDP. Или ее может включать в себя полезная нагрузка сообщения UDP. Все или самые прямые (с одним переходом) соседние узлы для узла датчика примут эту передачу. Любые узлы, которые не конфигурируются для приема таких передач, например, потому что они не распознают формат или потому что адрес (а) получателя не соответствует членству в группе узла, просто откажутся от пакета.
Любые узлы, которые конфигурируются для реагирования на передачу сообщения о событии, будут выполнять в зависимости от их конфигурации по меньшей мере одно из приведенных ниже заданий, которыми являются:
1. Переносят информацию о событии к приложению, работающему локально в узле, и используют его для включения, выключения или изменения уровня снижения яркости локального источника (ов) освещения, которым управляет узел. Это происходит, если по меньшей мере один локальный источник освещения конфигурируется так, чтобы он был частью группы, которая указана в сообщении о событии.
2. Выполняют ретрансляцию с помощью широковещания (или многоадресной передачи) сообщения о событии к соседним с ним узлам. Перед ретрансляцией с помощью широковещания сообщение о событии может изменяться различными способами.
a. Опционально, счетчик «предельного значения количества переходов», который сохраняется в сообщении о событии, уменьшается перед отправкой, или альтернативно, счетчик «количества переходов» увеличивается перед отправкой. В этом случае узел-отправитель также проверяет, основываясь на счетчике, может или нет для сообщения все еще выполняться ретранслироваться с помощью широковещания, основываясь на конфигурируемых максимальных предельных значениях количества переходов. Такая функция помогает ограничивать количество узлов, по которым сообщение о событии распространяется этим способом, чтобы предотвратить перегрузку сети.
b. Опционально, узел ждет случайный период времени перед выполнением попытки ретрансляции для помощи в предотвращении перегрузки беспроводной сети.
c. Опционально, узел конфигурируется для выполнения ретрансляции определенное количество раз, например, 3 раза со случайными интервалами ожидания, или многократно с изменением интервалов ожидания, как планируется с помощью алгоритма Trickle. Это используется для увеличния надежности способа в случае, если РЧ пакеты потеряны.
d. Опционально, перед ретрансляцией выполняется проверка, было или нет сообщение о конкретном событии уже передано узлом прежде. Если передано прежде N раз, то узел решает не выполнять ретрансляцию снова. Значение N является конфигурируемым в данной работе (например, N=1 или N=3). Оно может использоваться для помощи в предотвращении перегрузки беспроводной сети.
i. Проверка новизны может выполняться, используя известное средство, например, комбинацию оригинального идентификатора отправителя (то есть узла датчика) и порядкового номера в сообщении о событии (назначенного с помощью узла датчика).
e. Опционально, узел полностью восстанавливает сообщение о событии, основываяь на предыдущем принятом сообщении о событии. (Это, например, полезно, если отличающееся шифрование должно применяться к пакету.)
Вышеупомянутые задания могут работать полностью или главным образом на прикладном уровне, то есть описанная функция ретрансляции с помощью широковещания не обязательно интегрируется в стек осуществления связи в локальном узле, но может работать в качестве приложения поверх стека. Например, используя API/средство локального для линии связи UDP IPv6 многоадресной передачи, предлагаемое стеком 6LoWPAN.
Другой альтернативный вариант осуществления аналогичен вышеупомянутому варианту осуществления за исключением того, что только «члены группы» (то есть узловые устройства в группе-получателе, в которую отправляет узел датчика) конфигурируются для ретрансляции с помощью широковещания сообщений о событии. Это немного упрощает усилие по конфигурации, которая необходима для системы. Однако, это означает, что для определенного типа сообщения локального экземпляра объекта маршрутизации, используемого для маршрутизации, этот тип сообщения основан на членах группы, то есть на соседних узловых устройствах в наборе узлов, перечисленных в глобальном экземпляре, которому принадлежит узловое устройство.
В дополнительном варианте осуществления узел (то есть устройство, содержащее контроллер маршрутизации) должен выполнять маршрутизацию пакетов в локальном экземпляре, используя способ, основанный на скачкообразной перестройке частоты (FH) для беспроводной связи. Использование FH является предпочтительным или даже предписанным для некоторых регионов мира, но это обеспечивает дополнительные сложные проблемы для маршрутизации в пределах локальных экземпляров.
В этом варианте осуществления маршрутизация в глобальном экземпляре выполняется таким образом, как описано в других вариантах осуществления данной патентной заявки. Также операции маршрутизации локального экземпляра могут выполняться таким же образом, благодаря возможностям, описанным в приведенных ниже вариантах осуществления для сохранения многочисленных глобальных экземпляров синхронизированными по времени друг с другом.
В системе типа со скачкообразной перестройкой частоты частотный РЧ канал изменяется (переключается), основываясь на внутреннем таймере в каждом узле. Переключения каналов следуют известному псевдослучайному шаблону, называемому последовательностью переключений или канальной последовательностью. Шаблон может быть одинаковым для всех узлов или отличающимся для узлов. В любом случае шаблон (или множество шаблонов) известны всем узлам в системе. Чтобы удостовериться, что узлы могут осуществлять связь, то есть что узел знает, на каком канале работают соседние с ним узлы, необходима временная синхронизация внутренних таймеров узла. Для достижения временной синхронизации обычно существует один узел, который действует в качестве координатора/источника времени и отправляют маяки времени, которые другие узлы принимают для синхронизации своего таймера. Узлы, которые находятся вне досягаемости узла источника времени, будут синхронизироваться по времени, принимая маяки времени других узлов, которые отправляют маяки времени, основываясь на своих внутренних синхроимпульсах (но только если эти синхроимпульсы уже синхронизированы с маяками времени других узлов). Таким образом маяк времени, исходящий из источника времени, будет «распространяться» по всей ячеистой сети, охватывающей все узлы глобального экземпляра.
Затем, от внутреннего таймера, обычно вычисляются по меньшей мере две переменные:
1. Индекс канала - указывает текущее расположение в канальной последовательности
2. Таймер продолжительности работы - указывает, сколько времени уже прошло при работе на текущем канале.
В варианте осуществления, представленном на фиг. 5, каждый из узлов 1, 2, 3 является источником времени для одного глобального экземпляра. Маяки времени будут распространяться ко всем узлам в конечном счете через 1, 2 или 3 перехода в ячеистой сети. Например, оба узла A и B синхронизируются по временем с помощью маяков времени их соответствующих родительских узлов, как обозначено стрелкой.
Однако, обычно в системе со скачкообразной перестройкой частоты источники времени независимо управляют своим внутренним таймером, не будучи синхронизированными с другими синхроимпульсами. Нет также никакой необходимости синхронизировать внутренний таймер с любым другим, потому что привязка по времени используется только в пределах границ одной ячеистой сети (глобальный экземпляр). В ситуации вариантов осуществления изобретения, где необходима связь локального экземпляра, возможно через границы глобальных экземпляров, требуется синхронизация.
Например, узлы A и B на фиг. 5 должны осуществлять связь с соседними узлами в пределах своего локального экземпляра, как представлено с помощью штриховой линии связи. Эта связь невозможна, если узлы A и B работают на различных каналах из-за скачкообразной перестройки частоты. В обычной системе со скачкообразной перестройкой частоты внутренние таймеры узлов 1 и 2 не синхронизированы, следовательно, узлы A и B наиболее вероятно будут работать на двух отличающихся каналах. Действительно, A извлекает свою привязку по времени косвенно из узла 1, а B - косвенно из узла 2.
Решение, заданное с помощью варианта осуществления на фиг. 5, основано на синхронизации по времени GPS. Фиг. 5 показывает концептуальный описание в общих чертах решения сохранить многочисленные глобальные экземпляры синхронизированными по времени, используя абсолютную привязку по времени GPS/GNSS.
В соответствии с этим вариантом осуществления по меньшей мере для двух глобальных экземпляров каждый узел конфигурируется с помощью детерминированной псевдослучайной последовательности или функции для вычисления таких последовательностей. Каждое значение в последовательности обозначает частотный канал, на котором будут работать. Каждый узел (например, 1, 2, 3), который конфигурируется в качестве источника времени в пределах глобального экземпляра, включает свой приемник GPS, из которого получается абсолютная привязка по времени (такая, как время GPS или UTC). Нужно отметить, что также другие GNSS/спутниковые навигационные системы могут использоваться наряду с или вместо GPS: Глонас, Галилео, Компас. В этом примере граничные маршрутизаторы предпочтительно конфигурируются в качестве источников времени, но в другой разновидности, источник времени может включать в себя другой (или множество) узел (лов) глобального экземпляра.
Из эталонного времени вычисляются две следующие переменные
a. Индекс канала, указывающий канал в псевдослучайной канальной последовательности.
b. Значение таймера продолжительности работы, используемое для установки начального значения для таймера продолжительности работы.
Вышеупомянутые переменные используются для создания сигналов маяка времени; и другие узлы в глобальном экземпляре синхронизируются с этими маяками времени, как обычно в системах FH.
Эффект вышеприведенного решения состоит в том, что узлы A и B в любое время имеют возможность осуществлять связь друг с другом в одном и том же канале. Это предоставляет возможность узлам маршрутизировать пакеты связи по локальному экземпляру таким же образом, как описано ранее в этой патентной заявке.
Точность времени GPS, которая может получаться в недорогом узле (порядка микросекунд), достаточна для достижения необходимой точности (которая находится в порядке 0,5-100 мс в зависимости от требуемой производительности связи локального экземпляра и используемых параметров FH).
В разновидности варианта осуществления на фиг. 5 может использоваться сигнал импульса времени. В этом преимущественном примере модуль GPS может конфигурироваться для генерации импульса времени в проводнике, который выбирается на входном контакте радио-чипа. Радио-чип может точно вычислять эти две упомянутые ранее переменные (индекс канала и таймер продолжительности работы) при использовании следующих данных в комбинации:
1. Переключений синхроимпульсов
2. Временной метки, основанной на эталонном времени (например, UTC), которая получается из модуля GPS через его последовательный API
В данном случае информация временной метки обеспечивает абсолютное время некоторой неопределенностью (например, неустойчивая синхронизация из-за задержек последовательной передачи данных или обработки), переключения синхроимпульсов предоставляют информацию для корректировки данной неточности.
Следует отметить, что сигнал импульса времени будет все еще генерироваться с помощью модуля GPS, основываясь на локальных синхроимпульсах, если сигнал GPS будет временно потерян. В этом случае внутренний таймер узла источника времени будет медленно смещаться от требуемого эталонного времени. В зависимости от точности кристалла и изменений окружающей температуры, таймер в узле источника времени может оставаться достаточно хорошим для целей данного изобретения в течение от нескольких минут до множества часов.
В другом варианте осуществления, раскрытом на фиг. 6, используется сетевой протокол службы времени.
Этот вариант осуществления аналогичен варианту осуществления на фиг. 5, за исключением того, что для извлечения эталонного времени вместо GPS используется сетевой протокол службы времени (NTP). Этот вариант осуществления может применяться в качестве резервного решения в случае, если сигнал GPS временно недоступен (например, из-за метеорологических условий или затенения), или в качестве автономного решения (вместо GPS).
Как показано на фиг. 6, каждый источник времени регулярно контактирует с сервером времени и выполняет протокол (такой как NTP) для синхронизации своего локального таймера с эталонным временем сервера времени.
Если связь сети серверной части выполняется по технологиям с высокой скоростью передачи данных с низким временем ожидания, таким как Ethernet или WiFi, то может достигаться точность времени 1-10 мс, которая является достаточной, хотя производительность связи ниже основанного на GPS способа, если точность становится больше ~1 мс. По технологии сотовой связи (2G/GPRS, 3G, 4G) производительность, как ожидают, будет худшей. Для сотовой связи 3G один тест показывает, что точность 10 мс может достигаться большую часть времени и 20 мс - все время.
Другие изменения раскрытых вариантов осуществления могут осмысливаться и выполняться специалистами при осуществлении требуемого изобретения из изучения чертежей, раскрытия и прилагаемой формулы изобретения. В формуле изобретения слово «содержит» не исключает другие элементы или этапы, и неопределенный артикль «a» или «an» не исключает множественности. Тот факт, что конкретные меры приведены во взаимно отличающихся зависимых пунктах формулы изобретения, не указывает, что комбинация этих мер не может использоваться для получения преимуществ.
Вышеизложенное описание детализирует конкретные варианты осуществления изобретения. Следует признать, однако, что независимо от того, насколько подробно вышеизложенное показано в тексте, изобретение может применяться множеством способов, и поэтому не ограничено раскрытыми вариантами осуществления. Нужно отметить, что использование конкретной терминологии при описании конкретных особенностей или аспектов изобретения не должно подразумевать, что данная терминология повторно определяется в данной работе, чтобы она ограничивалась таким образом, что она включает в себя любые конкретные характеристики данных особенностей или аспектов изобретения, с которым связана эта терминология.