特許第6644936号(P6644936)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ グーグル インコーポレイテッドの特許一覧

<>
  • 特許6644936-メッシュネットワークアドレッシング 図000002
  • 特許6644936-メッシュネットワークアドレッシング 図000003
  • 特許6644936-メッシュネットワークアドレッシング 図000004
  • 特許6644936-メッシュネットワークアドレッシング 図000005
  • 特許6644936-メッシュネットワークアドレッシング 図000006
  • 特許6644936-メッシュネットワークアドレッシング 図000007
  • 特許6644936-メッシュネットワークアドレッシング 図000008
  • 特許6644936-メッシュネットワークアドレッシング 図000009
  • 特許6644936-メッシュネットワークアドレッシング 図000010
  • 特許6644936-メッシュネットワークアドレッシング 図000011
  • 特許6644936-メッシュネットワークアドレッシング 図000012
  • 特許6644936-メッシュネットワークアドレッシング 図000013
  • 特許6644936-メッシュネットワークアドレッシング 図000014
  • 特許6644936-メッシュネットワークアドレッシング 図000015
  • 特許6644936-メッシュネットワークアドレッシング 図000016
  • 特許6644936-メッシュネットワークアドレッシング 図000017
  • 特許6644936-メッシュネットワークアドレッシング 図000018
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6644936
(24)【登録日】2020年1月10日
(45)【発行日】2020年2月12日
(54)【発明の名称】メッシュネットワークアドレッシング
(51)【国際特許分類】
   H04L 12/721 20130101AFI20200130BHJP
   H04L 12/70 20130101ALI20200130BHJP
【FI】
   H04L12/721 Z
   H04L12/70 B
【請求項の数】21
【外国語出願】
【全頁数】48
(21)【出願番号】特願2019-141094(P2019-141094)
(22)【出願日】2019年7月31日
(62)【分割の表示】特願2019-52562(P2019-52562)の分割
【原出願日】2016年1月20日
(65)【公開番号】特開2019-216445(P2019-216445A)
(43)【公開日】2019年12月19日
【審査請求日】2019年8月30日
(31)【優先権主張番号】14/798,451
(32)【優先日】2015年7月13日
(33)【優先権主張国】US
(31)【優先権主張番号】14/798,456
(32)【優先日】2015年7月13日
(33)【優先権主張国】US
(31)【優先権主張番号】14/798,455
(32)【優先日】2015年7月13日
(33)【優先権主張国】US
(31)【優先権主張番号】14/798,448
(32)【優先日】2015年7月13日
(33)【優先権主張国】US
(31)【優先権主張番号】14/798,452
(32)【優先日】2015年7月13日
(33)【優先権主張国】US
(31)【優先権主張番号】62/111,510
(32)【優先日】2015年2月3日
(33)【優先権主張国】US
(31)【優先権主張番号】62/131,188
(32)【優先日】2015年3月10日
(33)【優先権主張国】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
(74)【代理人】
【識別番号】110001195
【氏名又は名称】特許業務法人深見特許事務所
(72)【発明者】
【氏名】フイ,ジョナサン・ウィン−ヤン
(72)【発明者】
【氏名】ウッドヤット,ジェームズ・エイチ
(72)【発明者】
【氏名】トゥロン,マルティン・エイ
【審査官】 宮島 郁美
(56)【参考文献】
【文献】 特開2003−198582(JP,A)
【文献】 特開2002−261806(JP,A)
【文献】 米国特許出願公開第2013/0003607(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L12/00−12/26,12/50−12/955
(57)【特許請求の範囲】
【請求項1】
親ルータデバイスが、メッシュネットワークにおいてエンドデバイスアドレスを管理する方法であって、
子エンドデバイスがスリープモードを出て前記子エンドデバイスのメッシュネットワークインターフェイスの出力を上げることに応答して、前記子エンドデバイスに所属することを備え、前記子エンドデバイスは、前記所属後のある時点で、前記スリープモードに再び入り、前記子エンドデバイスの前記メッシュネットワークインターフェイスの出力を下げるよう構成され、前記方法はさらに、
前記所属される子エンドデバイスから子識別子を受信することと、
前記子エンドデバイスに代わって前記親ルータデバイスが、前記子エンドデバイスの前記受信された子識別子および前記親ルータデバイスのルータ識別子に基づいて、インターフェイス識別子(IID)を前記子エンドデバイスのためのルーティングロケータ(RLOC)にエンコードすることと、
前記親ルータデバイスで前記子エンドデバイスに対するアドレスクエリを受信することと、
前記子エンドデバイスに代って、前記子エンドデバイスと関連付けられる前記RLOCで、前記アドレスクエリに応答することと、
前記子エンドデバイスに対するデータパケットを受信することとを備え、前記子エンドデバイスが前記スリープモードで動作するとき、前記データパケットは前記親ルータデバイスに格納され、前記方法はさらに、
前記子エンドデバイスが前記スリープモードを出たことに応答して、前記格納されたデータパケットを前記子エンドデバイスに転送することを備える、メッシュネットワークにおいて子エンドデバイスアドレスを管理する方法。
【請求項2】
前記所属することは、
前記親ルータデバイスに前記子エンドデバイスに対するアドレスを登録することと、
前記登録に応答して、前記子エンドデバイスに前記子識別子を割当てることとをさらに含む、請求項1に記載の方法。
【請求項3】
前記親ルータデバイスは複数個の前記子エンドデバイスに対してアドレスを登録でき、前記親ルータデバイスは、前記複数個の前記子エンドデバイスの各々に対して対応するRLOCを維持する、請求項2に記載の方法。
【請求項4】
前記受信されるアドレスクエリはエンドポイント識別子(EID)を含む、請求項1から3のいずれか1項に記載の方法。
【請求項5】
前記子エンドデバイスから転送される送出データパケットを受信することと、
前記子エンドデバイスに代って前記送出データパケットのためのルートを判断することとをさらに備える、請求項1から4のいずれか1項に記載の方法。
【請求項6】
前記子エンドデバイスはマルチキャストアドレスを前記親ルータデバイスに登録する、請求項2に記載の方法。
【請求項7】
前記マルチキャストアドレスの1つまたは複数は強制的であり、前記親ルータデバイスは前記1つまたは複数の強制的なマルチキャストアドレスを前記子エンドデバイスに対して暗黙に登録する、請求項6に記載の方法。
【請求項8】
ルータデバイスとして実現されるメッシュネットワークデバイスであって、
メッシュネットワークにおける通信のために構成されたメッシュネットワークインターフェイスと、
アドレッシングアプリケーションを実現するためのメモリおよびプロセッサシステムとを備え、前記アドレッシングアプリケーションは、
エンドデバイスがスリープモードを出て前記エンドデバイスのメッシュネットワークインターフェイスの出力を上げることに応答して、前記エンドデバイスに所属するよう構成され、前記エンドデバイスは、前記所属後のある時点で、前記スリープモードに再び入り、前記エンドデバイスの前記メッシュネットワークインターフェイスの出力を下げるよう構成され、前記アドレッシングアプリケーションはさらに、
前記所属されるエンドデバイスから子識別子を受信し、
前記エンドデバイスの前記受信された子識別子および前記ルータデバイスのルータ識別子に基づいて、インターフェイス識別子(IID)を前記エンドデバイスのためのルーティングロケータ(RLOC)にエンコードし、
前記メッシュネットワークインターフェイスを介して、前記エンドデバイスに対するアドレスクエリを受信し、
前記エンドデバイスに代って、前記エンドデバイスと関連付けられる前記RLOCで、前記アドレスクエリに応答し、
前記エンドデバイスに対するデータパケットを前記メッシュネットワークインターフェイスを介して受信するよう構成され、前記エンドデバイスが前記スリープモードで動作するとき、前記データパケットは前記ルータデバイスに格納され、前記アドレッシングアプリケーションはさらに、
前記エンドデバイスが前記スリープモードを出たあとに、前記格納されたデータパケットを前記エンドデバイスに転送するように構成される、メッシュネットワークデバイス。
【請求項9】
前記アドレッシングアプリケーションは、
前記エンドデバイスに対するアドレスを登録し、
前記登録に応答して、前記エンドデバイスに前記子識別子を割当てるように構成される、請求項8に記載のメッシュネットワークデバイス。
【請求項10】
前記アドレッシングアプリケーションは、複数個の前記エンドデバイスに対してアドレスを登録するように構成され、前記ルータデバイスは、前記複数個の前記エンドデバイスの各々に対して対応するRLOCを維持する、請求項9に記載のメッシュネットワークデバイス。
【請求項11】
前記エンドデバイスはマルチキャストアドレスを前記ルータデバイスに登録するよう構成され、
前記マルチキャストアドレスの1つまたは複数は強制的であり、
前記ルータデバイスは前記1つまたは複数の強制的なマルチキャストアドレスを前記エンドデバイスに対して暗黙に登録するよう構成される、請求項9または10に記載のメッシュネットワークデバイス。
【請求項12】
前記受信されるアドレスクエリはエンドポイント識別子(EID)を含む、請求項8から11のいずれか1項に記載のメッシュネットワークデバイス。
【請求項13】
前記エンドデバイスは、前記ルータデバイスに送出データパケットを転送し、前記ルータデバイスは、前記エンドデバイスに代って前記送出データパケットのためのルートを判断する、請求項8から12のいずれか1項に記載のメッシュネットワークデバイス。
【請求項14】
メッシュネットワークシステムであって、
エンドデバイスを備え、前記エンドデバイスは、
スリープモードを出てメッシュネットワークインターフェイスの出力を上げ、
メッシュネットワークとの通信を確立し、前記メッシュネットワークにおいて通信するようルータデバイスに所属し、
前記所属後のある時点で、前記スリープモードに再び入り、前記メッシュネットワークインターフェイスの出力を下げ、
前記ルータデバイスとの通信を再確立するよう、周期的に前記スリープモードを出て前記メッシュネットワークインターフェイスの出力を上げるように構成され、
前記ルータデバイスは、
前記所属されるエンドデバイスから子識別子を受信し、
前記エンドデバイスの前記受信された子識別子および前記ルータデバイスのルータ識別子に基づいて、インターフェイス識別子(IID)を前記エンドデバイスのためのルーティングロケータ(RLOC)にエンコードし、
前記ルータデバイスで前記エンドデバイスに対するアドレスクエリを受信し、
前記エンドデバイスに代って、前記エンドデバイスと関連付けられる前記RLOCで、前記アドレスクエリに応答し、
前記エンドデバイスが前記スリープモードで動作するとき、前記エンドデバイスに対して格納される入来データパケットを受信し、
前記エンドデバイスが前記スリープモードを出たあと、前記エンドデバイスに前記格納された入来データパケットを転送するように構成される、メッシュネットワークシステム。
【請求項15】
前記エンドデバイスは前記ルータデバイスにアドレスを登録するように構成され、前記ルータデバイスは前記エンドデバイスに前記子識別子を割当てるように構成される、請求項14に記載のメッシュネットワークシステム。
【請求項16】
前記エンドデバイスは、前記ルータデバイスに送出データパケットを転送するように構成され、前記ルータデバイスは、前記エンドデバイスに代って、前記送出データパケットのためのルートを判断するように構成される、請求項14または15に記載のメッシュネットワークシステム。
【請求項17】
前記受信されるアドレスクエリはエンドポイント識別子(EID)を含む、請求項14から16のいずれか1項に記載のメッシュネットワークシステム。
【請求項18】
前記ルータデバイスは複数個のエンドデバイスに対してアドレスを登録するように構成され、前記ルータデバイスは、前記複数個の前記エンドデバイスの各々に対して対応するRLOCを維持する、請求項15に記載のメッシュネットワークシステム。
【請求項19】
前記エンドデバイスは、マルチキャストアドレスを前記ルータデバイスに登録するように構成される、請求項15に記載のメッシュネットワークシステム。
【請求項20】
前記マルチキャストアドレスの1つまたは複数は強制的であり、前記ルータデバイスは前記1つまたは複数の強制的なマルチキャストアドレスを前記エンドデバイスに対して暗黙に登録する、請求項19に記載のメッシュネットワークシステム。
【請求項21】
請求項1から7のいずれか1項に記載の方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願への相互参照
この出願は、2015年7月13日に提出された米国特許出願連続番号14/798,448に対する優先権を主張する。この出願は、さらに2015年7月13日に提出された米国特許出願連続番号14/798,451に対する優先権を主張する。この出願は、さらに2015年7月13日に提出された米国特許出願連続番号14/798,452に対する優先権を主張する。この出願は、さらに2015年7月13日に提出された米国特許出願連続番号14/798,455に対する優先権を主張する。この出願は、さらに2015年7月13日に提出された米国特許出願連続番号14/798,456に対する優先権を主張する。この出願は、さらに2015年2月3日に提出された米国仮特許出願連続番号62/111,510に対する35U.S.C.§119(e)の下での優先権を主張し、その開示全体を、ここに引用により援用する。この出願は、さらに2015年3月10日に提出された米国仮特許出願連続番号62/131,188に対する35U.S.C.§119(e)の下での優先権を主張し、その開示全体を、ここに引用により援用する。
【背景技術】
【0002】
背景
デバイスを互いに、およびクラウドベースのサービスに接続するために無線メッシュネットワーキングを使用することは、環境条件を感知し、機器を制御し、情報および警告をユーザに提供するためにますます普及している。しかしながら、メッシュネットワーク上の多くのデバイスは、バッテリー電源で長時間動作するように設計されており、それは、デバイスにおける利用可能な計算、ユーザインターフェイス、および無線リソースを制限する。加えて、いくつかのメッシュネットワークデバイスは電力消費を低減するために周期的にスリープするかもしれず、データパケットを受信するようにメッシュネットワークと常時無線連絡状態にはない。しかしながら、メッシュネットワークの遍在および相互接続性の増大で、ネットワークアドレッシング技術は、メッシュネットワーク内において、およびメッシュネットワークデバイスと外部ネットワークデバイスとサービスとの間において、データパケットをルーティングする効率、柔軟性および冗長性を制限する。
【発明の概要】
【課題を解決するための手段】
【0003】
概要
この概要は、一般的にアドレッシングおよびルーティングに関係づけられるメッシュネットワークアドレッシングの簡略化された概念を紹介するために提供される。簡略化された概念は、以下の詳細な説明でさらに説明される。この概要は、請求される主題の本質的な特徴を識別するよう意図されておらず、また、請求される主題の範囲を定める際に使用されるよう意図されてもいない。
【0004】
一般に、メッシュネットワークにおいてパケットをアドレッシングおよびルーティングすることに関するメッシュネットワークアドレッシングが記載される。実施の形態では、ボーダールータは、外部ネットワークからアドレスプレフィックスおよび関連付けられる構成情報を受信する。受信されるアドレスプレフィックスおよび構成情報により、ボーダールータは、受信されるアドレスプレフィックスおよび構成情報を含むプロビジョニングドメインを、一意の識別子とともに形成することができる。ボーダールータは、形成されたプロビジョニングドメインをメッシュネットワークにおいてリーダーデバイスに転送し、それはプロビジョニングドメインを記憶し、プロビジョニングドメインを任意の他のプ
ロビジョニングドメインと並んでメッシュネットワークのためのネットワークデータの一部として伝搬する。プロビジョニングドメインは、メッシュネットワークにおけるルータ、エンドデバイスまたはホストがパケットを宛先アドレスにアドレッシングするためのルートを選択することを可能にする。実現例では、プロビジョニングドメインは、ボーダールータのためのルーティングロケータ(RLOC)を含み、ルータがボーダールータを用いてパケットを外部ネットワークに転送することを可能にする。
【0005】
一般的にメッシュネットワークにおいてパケットをアドレッシングおよびルーティングすることに関するメッシュネットワークアドレッシングが記載される。実施の形態では、ルータは、ネットワーク宛先に伝送すべきパケットを受取り、そのネットワーク宛先がメッシュネットワーク内にあるかどうかを判断し得る。ネットワーク宛先は、ルータが、ネットワーク宛先に関連付けられネットワーク宛先のためのルーティング可能なネットワークアドレスを提供するルーティングロケータ(RLOC)を発見することを可能にする。ルータは、発見されたルーティングロケータから、ルーティング可能なネットワークアドレスを用いて、受信されたパケットを転送する。実現例では、ルータは、ルータに記憶されるRLOCのキャッシュを検索すること、またはアドレスクエリをメッシュネットワークを介して送信することなどによることを含むさまざまな態様でRLOCを発見することができる。
【0006】
一般的にメッシュネットワークにおいてパケットをアドレッシングおよびルーティングすることに関するメッシュネットワークアドレッシングが記載される。実施の形態では、ルータは、エンドデバイスのためのアドレスを登録し、子識別子をそのエンドデバイスに割当てる。ルータは、エンドデバイスのエンドポイント識別子(EID)およびルータのルータ識別子をエンドポイント識別子にエンコードすることができ、ルータはそれをエンドデバイスのためのルーティングロケータ(RLOC)に組入れる。ルータはエンドデバイスに対するアドレスクエリをメッシュネットワークを介して受信し、そのアドレスクエリに対して、エンドデバイスの代わりに、エンドデバイスに対するRLOCを含む応答で応答する。ルータは、データパケットをエンドデバイスの代わりに受信し、ルータがそのデータパケットをエンドデバイスに転送し得るまで、そのデータパケットをエンドデバイスのための保存することができる。
【0007】
一般に、パケットをアドレッシングおよびルーティングすることに関するメッシュネットワークアドレッシングが記載される。実施の形態では、ルータデバイスはプロビジョニングドメインを受信し、それらは、各々、アドレスプレフィックスと、アドレスプレフィックスのための関連付けられるプリファレンス値とを含む。ルータは、アドレスプレフィックスのうちの1つに基づいて、宛先にデータパケットを転送するよう用いるべきルートを判断することができる。ルータは、プリファレンス値を用いて、データパケットのルーティングを優先順位付けすることができる。他の局面では、プリファレンス値は1つ以上のファクタに基づいて設定することができ、ルータはプリファレンス値をメッシュネットワークルーティングコストに加えて用いることにより、データパケットのためのルートを判断することができる。
【0008】
一般に、メッシュネットワークにおける重複アドレス検出に関するメッシュネットワークアドレッシングが記載される。実施の形態では、メッシュネットワークのエンドデバイスは、メッシュネットワークにおいて通信のためにルータデバイスに配属されるエンドデバイスと関連付けられるアドレスおよび時間ベースの情報を含むアドレス識別子を生成することができる。アドレス識別子は、さらに、エンドデバイスによって生成されるランダム値を含んでもよい。アドレス識別子は、ルータデバイスによって、エンドデバイスのタプル状態として維持される。エンドデバイスまたはルータデバイスは、アドレスクエリを開始して、指定されるアドレスを有するメッシュネットワークにおけるメッシュネットワ
ークデバイスが指定されるアドレスに対応するタプル状態で応答することを要求することができる。エンドデバイスまたはルータデバイスは、アドレスクエリに応答して、指定されるアドレスを有するメッシュネットワークデバイスのタプル状態を受信する。エンドデバイスまたはルータデバイスは、次いで、メッシュネットワークデバイスのタプル状態における時間ベースの情報をエンドデバイスのタプル状態における時間ベースの情報と比較し、時間ベースの情報に基づいてメッシュネットワークデバイスの重複アドレスを検出することができる。エンドデバイスまたはルータデバイスは、次いで、重複アドレスを有するメッシュネットワークデバイスのうちの1つ以上に対して、新たなアドレスを生成するよう命じることができる。
【0009】
メッシュネットワークアドレッシングの実施形態を、以下の図面を参照して説明する。同様の特徴およびコンポーネントに言及するために、図面全体を通して同じ数字が使用される。
【図面の簡単な説明】
【0010】
図1】メッシュネットワークアドレッシングのさまざまな実施形態が実現され得る例示的なメッシュネットワークシステムを示す図である。
図2】メッシュネットワークアドレッシングのさまざまな実施形態が実現され得る例示的な環境を示す図である。
図3】メッシュネットワークアドレッシング技術のさまざまな実施形態が実現され得る例示的な環境を示す図である。
図4】メッシュネットワークアドレッシング技術のさまざまな実施形態が実現され得る例示的な環境400をさらに示す図である。
図5】概して重複アドレス検出に関するようなメッシュネットワークアドレッシングのさまざまな実施形態が実現され得る例示的なメッシュネットワークシステムを示す図である。
図6】メッシュネットワークアドレッシングのさまざまな実施の形態に従う、例示的メッシュネットワークシステムにおける重複アドレス検出の例をさらに示す図である。。
図7】メッシュネットワークアドレッシングのさまざまな実施の形態に従う、例示的メッシュネットワークシステムにおける重複アドレス検出の例をさらに示す図である。。
図8】メッシュネットワークアドレッシングのさまざまな実施の形態に従う、例示的メッシュネットワークシステムにおける重複アドレス検出の例をさらに示す図である。。
図9】メッシュネットワークアドレッシングのさまざまな実施の形態に従う、例示的メッシュネットワークシステムにおける重複アドレス検出の例をさらに示す図である。。
図10】ここに説明される技術の実施形態に従った、概してメッシュネットワークにおけるプロビジョニングドメインに関するようなメッシュネットワークアドレッシングの例示的な方法を示す図である。
図11】ここに説明される技術の実施形態に従った、概してメッシュネットワークにおけるアドレッシングアーキテクチャに関するようなメッシュネットワークアドレッシングの別の例示的な方法を示す図である。
図12】ここに説明される技術の実施形態に従った、概してメッシュネットワークにおけるエンドデバイスに関するようなメッシュネットワークアドレッシングの例示的な方法を示す図である。
図13】ここに説明される技術の実施形態に従った、概してメッシュネットワークにおける優先されるルーティングに関するようなメッシュネットワークアドレッシングの別の例示的な方法を示す図である。
図14】ここに説明される技術の実施形態に従った、概してメッシュネットワークにおける重複アドレス検出に関するようなメッシュネットワークアドレッシングの例示的な方法を示す図である。
図15】ここに説明される技術の実施形態に従った、メッシュネットワークが実現され得る例示的な環境を示す図である。
図16】ここに説明される技術の1つ以上の実施形態に従った、メッシュネットワーク環境において実現され得る例示的なメッシュネットワークデバイスを示す図である。
図17】メッシュネットワークアドレッシングの実施形態を実現可能な例示的なデバイスを有する例示的なシステムを示す図である。
【発明を実施するための形態】
【0011】
詳細な説明
無線メッシュネットワークは、メッシュネットワーク内のトラフィック用の信頼できる冗長な通信経路を提供するメッシュトポロジーで接続された無線ノードを有する通信ネットワークである。無線メッシュネットワークは、メッシュネットワーク内のデバイス間でトラフィックを転送するために、複数の無線リンク、すなわちホップを使用する。これは、単一の無線リンクによってカバーされるエリアよりも大きいエリアに対するカバレージを提供する。
【0012】
無線メッシュネットワークは、独自技術、または規格ベースの技術に基づくことができる。たとえば、無線メッシュネットワークはIEEE802.15.4規格に基づいていてもよく、それは、メッシュネットワーキングスタックの上位層でのアプリケーションによる使用のために、物理(PHY)層およびメディアアクセス制御(MAC)層の特徴およびサービスを規定する。上位層アプリケーションは、メッシュネットワーク全域およびメッシュネットワークと外部ネットワークとの間においてプリケーションレベルの通信をサポートをするよう、パケットデータのアドレッシングおよびルーティングをサポートするよう、これらの規格によって規定されたサービスに依存する。
【0013】
多くの規格に基づく技術がインターネット(登録商標)プロトコル(IP)ネットワークなどのネットワークにおけるデータパケットのアドレッシングおよびルーティングのために開発されてきたが、これらの技術はメッシュネットワークに対してパケットをアドレッシングおよびルーティングするための完全な解決策を提供しはしない。たとえば、メッシュネットワークは複数の外部ネットワークに接続されるかも知れず、外部ネットワークは、各々、メッシュネットワークデバイスによってデータパケットをアドレッシングおよびルーティングするよう用いられ得る異なる組のネットワーク構成データを提供する。しかしながら、メッシュネットワークデバイスは、どの組のネットワーク構成データを用いるか、または異なる組のネットワーク構成データからの異なる、おそらくは競合する構成情報のアイテムをどのように合併してデータパケットをアドレッシングするかを判断することを任される。
【0014】
プロビジョニングドメインを確立してメッシュネットワークのためのネットワーク構成データを識別、記憶および伝搬することは、異なる外部ネットワークに対するネットワーク構成データの一貫した管理を与える。メッシュネットワークデバイスが所与のプロビジョニングドメインからのネットワーク構成データを用いる場合、(たとえばネットワーク構成データを混合することからの)一貫性のない、または競合する使用が防がれる。さまざまな実施の形態は、ネットワーク構成データの管理および使用を改善するメッシュネットワークアドレッシング技術を提供する。
【0015】
メッシュネットワークのためのアドレッシングおよびルーティング技術はルーティング非効率性を生じさせ、メッシュネットワークに対して単一障害点を形成するかも知れない
。たとえば、メッシュネットワークをインターネットサービスプロバイダ(ISP)の外部ネットワークに接続するボーダールータはISPからアドレスプレフィックスおよび関連付けられるネットワーク構成データを受信し得る。ボーダールータにおけるダイナミックホストコンフィギュレーションプロトコル(DHCP)サーバは、ISPによって供給されるアドレスプレフィックスを用いて、メッシュネットワークデバイスアドレスをルーティングのためのネットワークアドレスにマッピングする。
【0016】
メッシュネットワークにおけるネットワークアドレスルックアップがDHCPサーバを経ると、ルーティング非効率性を生じさせ、DHCPサーバはメッシュネットワークに対して可能性のある単一障害点となる。さらに、DHCPサーバにIPv6アドレスを構成するよう要求することは、メッシュネットワークに対して可能性のある単一障害点を形成する。DHCPサーバが障害を生じさせると、メッシュネットワークデバイスはIPv6アドレスを得ることはできない。集中型サービスがメッシュネットワーク内外でデータパケットのための宛先アドレスを判断する必要性を伴わずに、データパケットに対するメッシュ上グローバルアドレッシングを提供するメッシュネットワークアドレッシング技術が記載される。
【0017】
センサのようなメッシュネットワークのための多くのデバイスが、何ヶ月または何年ものような長い時間期間にわたる低電力バッテリ動作のために設計される。長い稼働寿命を達成するために、バッテリにより電力を供給されるメッシュデバイスは、さまざまな時間期間の間、無線およびネットワークインターフェイスなどのような多くの機能をオフにするかまたはスリープさせ得る。スリープ期間中、メッシュデバイスは、メッシュネットワーク上において、それに対してアドレッシングされるパケットを受信するよう利用可能ではない。
【0018】
多くのネットワークアドレッシングおよびルーティング技術はデータパケットをそのようなスリープ中のデバイスに伝送することはできず、パケットの送り手に対して、スリープ中のデバイスに対する伝送は失敗した旨を示すかも知れない。スリープ中の子エンドデバイスのために、ルーティング宛先を提供しエンドデバイスに代わってアドレスクエリに応答する親ルータデバイスにアドレス登録を行なうメッシュネットワークアドレッシング技術が記載される。親ルータデバイスは、スリープ中のエンドデバイスのために、エンドデバイスがデータパケットを受取るよう覚醒するまで、受信されたデータパケットを保存する。
【0019】
メッシュネットワークにおけるパケットはルーティングコストに基づいてルーティングされてもよい。たとえば、ルーティングコストは、ルーティング経路におけるリンクの数などのようなルートの特性またはリンク品質の測定値の1つまたはそれらの組合せに基づいてもよい。ルーティングコストは、データパケットをルーティングすることを1つのルートに対してよりも他のルートに対して優先順位付けするよう必要とされる情報を完全に記載しなくてもよい。プリファレンスをアドレスプレフィックスと関連付けて、プリファレンスに基づいてデータパケットのルーティングを優先順位付けするメッシュネットワークアドレッシング技術が記載される。
【0020】
メッシュネットワークにおけるデバイスは、メッシュネットワークにおいて使用中の他のアドレスの組の知識なしに、アドレスを非集中化された態様でランダムに生成する処理を用いてもよい。メッシュネットワークのトポロジーは経時的に変動するので、デバイスは異なるルータに所属し、さらなるアドレスを作成し得る。アドレスがメッシュネットワーク内を伝搬されるにつれ、重複アドレスが異なるメッシュデバイスによって形成され、アドレスがメッシュデバイス間において一意でない場合には、ルーティング問題を生じさせるかも知れない。メッシュネットワークにおいて重複アドレスを検出するメッシュネッ
トワークアドレッシング技術が記載される。
【0021】
メッシュネットワークアドレッシングのための説明されたシステムおよび方法の特徴および概念は、任意の数の異なる環境、システム、デバイス、および/またはさまざまな構成において実現され得るが、メッシュネットワークアドレッシングの実施形態は、以下の例示的なデバイス、システム、および構成の文脈で説明される。
【0022】
図1は、メッシュネットワークアドレッシングのさまざまな実施形態が実現され得る例示的なメッシュネットワークシステム100を示す。メッシュネットワーク100は、ルータ102と、ルータ適格エンドデバイス104と、エンドデバイス106とを含む無線メッシュネットワークである。ルータ102、ルータ適格エンドデバイス104、およびエンドデバイス106は各々、メッシュネットワークを通した通信のためのメッシュネットワークインターフェイスを含む。ルータ102は、メッシュネットワークインターフェイスを通してパケットデータを送受信する。ルータ102はまた、メッシュネットワーク100全域でトラフィックをルーティングする。
【0023】
ルータ適格エンドデバイス104はメッシュネットワークトポロジーのリーフノードに位置しており、メッシュネットワーク100における他のノードにトラフィックをアクティブにルーティングしていない。ルータ適格デバイス104が追加のメッシュネットワークデバイスに接続されると、ルータ適格デバイス104はルータ102になることができる。エンドデバイス106は、メッシュネットワーク100を使用して通信できるものの、メッシュネットワーク100においてその親ルータ102に単にパケットを転送することを超えてトラフィックをルーティングする能力はない、デバイスである。
【0024】
いくつかのエンドデバイス106は、エンドデバイス106が動作可能な時間の一部の間、何らかの動作またはハードウェアの出力を下げる(つまりスリープにする)かも知れない。たとえば、エンドデバイス106は、無線またはネットワークインターフェイスの出力を下げて、メッシュネットワーク100に対する接続を必要とする動作間において電力を節約するかも知れない。たとえば、バッテリにより電力を供給される温度センサは周期的にのみ覚醒状態にあって温度の報告を送信するかも知れず、温度センサは温度センサが報告を行なう次のときまでスリープする。エンドデバイス106は、スリープすると、アドレスクエリに応答するよう、またはメッシュネットワーク100を介してデータパケットを受信するよう、メッシュネットワーク100に対して能動的には接続されない。
【0025】
図2は、メッシュネットワーキングアドレッシング技術のさまざまな実施形態が実現され得る例示的な環境200を示す。環境200はメッシュネットワーク100を含み、そこでは、いくつかのルータ102がメッシュネットワーク100において特定の役割を行なっている。
【0026】
(ゲートウェイおよび/またはエッジルータとしても知られる)ボーダールータ202は、ルータ102のうちの1つである。ボーダールータ202は、メッシュネットワーク100の外部の外部ネットワークとの通信のための第2のインターフェイスを含む。ボーダールータ202は、外部ネットワークを通してアクセスポイント204に接続する。たとえば、アクセスポイント204は、イーサネット(登録商標)ルータ、Wi−Fi(登録商標)アクセスポイント、セルラー基地局または異なるタイプのネットワークをブリッジするための任意の他の好適なデバイスであってもよい。明瞭性のため、単一のボーダールータ202が図2に示されるが、メッシュネットワーク100は任意の数のボーダールータ202を有してもよく、それらは任意の数の外部ネットワークに接続してもよい。他の実現例では、エンドデバイス106はボーダールータ202として動作してもよい。この場合、ボーダールータ202として動作するエンドデバイスは、メッシュネットワーク
100と外部ネットワークとの間におけるトラフィックをルーティングしているが、他のメッシュネットワーク間のトラフィックはルーティングしていない。
【0027】
アクセスポイント204は、インターネットなどの通信ネットワーク206に接続する。通信ネットワーク206を介して接続されるクラウドサービス208は、メッシュネットワーク100内のデバイスに関するサービス、および/またはそれらのデバイスを使用するサービスを提供する。限定ではなく例として、クラウドサービス208は、スマートフォン、タブレットなどのエンドユーザデバイスをメッシュネットワーク100におけるデバイスに接続すること、メッシュネットワーク100で得られたデータを処理してエンドユーザに提示すること、1つ以上のメッシュネットワーク100におけるデバイスをクラウドサービス208のユーザアカウントにリンクすること、メッシュネットワーク100におけるデバイスをプロビジョニングして更新すること、などを含むアプリケーションを提供する。
【0028】
ルータ102のうちの1つは、メッシュネットワーク100用のリーダー210の役割を行なう。リーダー210はルータ識別子割当てを管理し、ネットワーク構成情報の中央アービターであり、ネットワーク構成情報を含むネットワークデータをメッシュネットワーク100のために伝搬する。
【0029】
図3は、メッシュネットワークアドレッシング技術のさまざまな実施の形態が実現され得る例示的な環境300を示す。環境300は、2つの外部ネットワーク302および304に接続されるメッシュネットワーク100を示す。この例では、2つの外部ネットワークが示されるが、任意の数の物理的または仮想ネットワークが、任意の好適なネットワーク接続技術を用いて、メッシュネットワーク100に接続されてもよい。図3は、さらに、外部ネットワーク302および304の各々が、306および308において示されるように、1つ以上のボーダールータ202によってメッシュネットワーク100に接続されることを示す。任意のボーダールータ202が任意の数の外部ネットワークに接続してよい。任意の外部ネットワークが、さらに、任意の数のボーダールータ202を介して、メッシュネットワーク100に接続してもよい。
【0030】
プロビジョニングドメイン
図4は、メッシュネットワークアドレッシング技術のさまざまな実施の形態が実現され得る例示的環境400を示す。環境400は、外部ネットワーク302および304からネットワーク構成データを受信するよう示されるメッシュネットワーク100を含む。外部ネットワーク302は構成データ402をボーダールータ406に与える。構成データ402は、外部ネットワーク302によってメッシュネットワーク100に割当てられるアドレスプレフィックスに関連付けられ、アドレスプレフィックスは、メッシュネットワーク100上において、データパケットをアドレッシングおよびルーティングすることに対して利用可能である。外部ネットワーク304は構成データ404をボーダールータ406およびボーダールータ408に与える。構成データ404は、外部ネットワーク304によってメッシュネットワーク100に割当てられるアドレスプレフィックスに関連付けられ、アドレスプレフィックスは、メッシュネットワーク100上において、データパケットをアドレッシングおよびルーティングすることに対して利用可能である。
【0031】
任意のメッシュネットワークデバイスが構成データ404または構成データ404を用いてデータパケットをアドレッシングおよびルーティングしてもよい。プロビジョニングドメインを用いて、構成データ402および構成データ404から引出される構成情報の任意のおそらくは競合する組合せがデータパケットをある宛先に対してアドレッシングすることに対して用いられないことを保証する。プロビジョニングドメインは、ボーダールータ202のうちの1つ以上によって与えられるメッシュネットワーク100に対する構
成情報の整合性のある組である。例として、および限定ではなく、プロビジョニングドメインにおける構成情報は、メッシュ上プレフィックス、ネットワークアドレス構成情報、外部ルート、および/または他のネットワーク構成情報を含んでもよい。
【0032】
プロビジョニングドメインは、ともに用いられるネットワーク構成情報のアイテムを関連付ける。複数のプロビジョニングドメインに記憶されるネットワーク構成情報の使用は相互に排他的である(つまりメッシュネットワークデバイスは一度に1つのプロビジョニングドメインのみからのネットワーク構成情報を用いる)。
【0033】
ある実施の形態では、ある特定のプロビジョニングドメインにおけるネットワーク構成情報は単一のボーダールータ202によって供給されてもよい。代替的に、複数のボーダールータ202は、各々、任意の特定のプロビジョニングドメインに含まれる情報のサブセットを供給してもよく、その場合、プロビジョニングドメインは、複数のボーダールータ202によって供給されるネットワーク構成情報のサブセットの収集物である。
【0034】
メッシュネットワーク100のためのプロビジョニングドメインはリーダー210によってタプルとして維持される。プロビジョニングドメインの各々は、タプルに含まれる一意の識別子によって識別される。リーダー210は、プロビジョニングドメインを、メッシュネットワーク100においてルータ102およびルータ適格エンドデバイス104に伝搬する。たとえば、リーダー210は、プロビジョニングドメインを、メッシュネットワーク100のネットワークデータにおいて、低電力で損失の多いネットワーク用マルチキャストプロトコル(Multicast Protocol for Low Power and Lossy Networks:MPL
)などの任意の好適なプロトコルを使用して、またはMLE−UPDATEメッセージをマルチキャストして、伝搬してもよい。
【0035】
例として、および限定ではなく、プロビジョニングドメインのタプルは、ネットワークアドレスプレフィックス(たとえばIPv6アドレスプレフィックス)、タプルが関連付けられる一意のプロビジョニングドメイン識別子、ネットワークアドレスプレフィックスをメッシュネットワーク100に対して利用可能にするボーダールータ202のためのルーティングロケータ(RLOC)、プロビジョニングドメインに対するある数の構成フラグ、および/またはルータプリファレンス値を含む。
【0036】
タプルにおける構成フラグは1つ以上のフラグを含んでもよく、それは、プロビジョニングドメインにおけるルートが最小の時間期間に対して安定すること、メッシュネットワークデバイスがネットワークアドレスプレフィックスを用いてアドレスを自動構成するよう許されること、メッシュネットワークデバイスが、ネットワークアドレスプレフィックスを用いて、以前に構成されたアドレスを用いるよう許されること、プロビジョニングドメインに関連付けられるボーダールータ202がネットワークアドレスプレフィックスのためにアドレス構成を管理すること、プロビジョニングドメインに関連付けられるボーダールータ202が他のネットワーク構成データ(たとえばドメイン名サービス(DNS)サーバ)を供給すること、および/またはプロビジョニングドメインに関連付けられるボーダールータ202がネットワークアドレスプレフィックスを用いてデータパケットのためのデフォルトルートにソースを与えること、を示す。
【0037】
メッシュネットワークアドレスアーキテクチャ
メッシュネットワーク100においては、単一の無線送信で到達可能なメッシュネットワークインターフェイス(メッシュネットワークデバイス)の組によって、リンクローカル範囲が規定されてもよい。換言すれば、リンクローカル範囲は、メッシュネットワーク100内において互いに直接接続するメッシュネットワークデバイスを含む。
【0038】
メッシュネットワークデバイスは、リンクローカルアドレスを用いて、単一の無線送信の範囲内におけるメッシュネットワークデバイスに到達する。メッシュネットワークデバイスは、リンクローカルアドレスを用いて、近隣のメッシュネットワークデバイスを発見し、リンクを構成し、および/またはルーティング情報を交換する。ある実施の形態では、メッシュネットワークデバイスは、リンクローカルアドレスを、IEEE802.15.4ネットワークスタックのメディアアクセスコントロール(MAC)層のIEEE802.15.4拡張アドレスから導き出されるインターフェイス識別子とともに割当てられてもよい。たとえば、メッシュネットワークデバイスは、リンクローカルIPv6アドレスをインターフェイス識別子(IID)とともに割当て、IIDは、IEEE802.15.4拡張アドレスのSHA−256ハッシュを計算し、そのSHA−256ハッシュの最初の8バイトをIIDとして取ることにより得られる。メッシュネットワーク100に配属されると、メッシュネットワークデバイスは、リンクローカルIPv6アドレスに、メッシュネットワークデバイスに割当てられるRLOCと同じIIDを割当てる。
【0039】
メッシュネットワーク100においては、メッシュネットワークローカル(つまりメッシュローカルまたは領域ローカル)範囲が、任意の数の無線送信を介して同じメッシュネットワーク100内において参加するメッシュインターフェイス(メッシュネットワークデバイス)の組によって規定される。さらに、同じメッシュローカル範囲内におけるすべてのメッシュインターフェイスは、同じメッシュコミッショニングパラメータ(つまりマスターキー、拡張パーソナルエリアネットワーク識別子(PANID)、およびメッシュローカルプレフィックス)を共有し、同じメッシュネットワーク100に能動的に参加している。メッシュネットワークデバイスはメッシュローカルプレフィックスからメッシュローカルアドレスを形成する。
【0040】
メッシュネットワークデバイスは、メッシュローカルアドレスを用いて、同じメッシュネットワーク100内における他のメッシュネットワークデバイスに到達する。メッシュネットワークデバイスがメッシュネットワーク100に配属されると、2つのメッシュローカルアドレスがそのメッシュネットワークデバイスに割当てられる。第1のものは、ルーティングロケータ(RLOC)であり、それは、メッシュローカル一意ローカルアドレス(ULA)プレフィックスであるプレフィックスと、これもメッシュローカルULAプレフィックスであるプレフィックスを含むエンドポイント識別子(EID)とを含む。RLOCは、親ルータ102のルータ識別子(ルータID)、および親ルータ102の子であるエンドデバイス106の子識別子(子ID)をエンコーディングしたものである。第2の割当てられるメッシュローカルアドレスはメッシュローカルエンドポイント識別子(ML−EID)であり、それは、プレフィックスがメッシュローカルULAプレフィックスでありインターフェイス識別子(IID)がランダムに選択されるEIDである。
【0041】
ユニキャストメッシュローカルアドレスおよびメッシュローカルマルチキャストアドレスに加えて、メッシュネットワーク100はエニーキャストアドレッシングをサポートする。メッシュネットワーク100はIPv6エニーキャストアドレスを用いてメッシュネットワークDHCPv6エージェントと通信する。エンドデバイス106によってDHCPv6エージェントに到達するよう用いられる、メッシュローカルプレフィックスベースのDHCPv6エージェントエニーキャストアドレスが規定される。プレフィックスベースのDHCPv6エージェントエニーキャストアドレスは、メッシュローカルULAプレフィックスおよびインターフェイス識別子を用いて形成されるRLOCであり、フォーム0000:00FF:FE00:FC0nを有し、そこにおいて、「n」は、ボーダールータ202が働くメ
ッシュ上プレフィックスに割当てられる低電力無線パーソナルエリアネットワーク(6LoWPAN)コンテキストIDを介するIPv6である。
【0042】
メッシュネットワーク100は、さらに、IPv6エニーキャストアドレスを用いてメ
ッシュネットワークサーバと通信する。メッシュネットワークサーバは、ネットワークデータをリーダー210、たとえばボーダールータ202、DHCPサーバなどに寄与する任意のメッシュデバイスである。メッシュローカルサービスエニーキャストアドレスが規定され、エンドデバイス106はそれを用いて所与のタイプのメッシュネットワークサーバに到達してもよい。メッシュローカルサービスエニーキャストアドレスはメッシュローカルプレフィックスを用いて形成されるRLOCであり、インターフェイス識別子はフォーム0000:00FF:FE00:FCmnを有し、そこにおいて、「mn」はサービスタイプIDに16
を足したものである。
【0043】
メッシュネットワークデバイスは、さらに、メッシュローカル範囲よりも大きな範囲を有するユニキャストアドレスを割当てる。メッシュネットワーク100内においては、グローバルユニキャストアドレス(GUA)を用いて、メッシュネットワーク100外のデバイスとの通信を(たとえばWi−Fiのような論理的に接続されたネットワークを介して、またはインターネットを介して)可能にする。グローバルユニキャストアドレスは、メッシュローカル範囲よりも大きな範囲を有する任意のIPv6ユニキャストアドレスを含んでもよい。ネットワークデータにおけるプロビジョニングドメインは、グローバルアドレスを構成する際に用いられてもよいグローバルプレフィックスを示す。たとえば、外部ネットワークに接続されるモバイルデバイスは、メッシュネットワーク100上のデバイスに、外部ネットワーク接続を通して、ボーダールータ202を介して、グローバルアドレスを用いて接続してもよい。
【0044】
プロビジョニングドメインは、メッシュネットワーク100に割当てられる1つ以上のメッシュ上プレフィックスを示す。ある実施の形態では、メッシュネットワークデバイスはメッシュ上プレフィックスからグローバルアドレスを割当ててもよい。代替的に、メッシュネットワーク100のネットワークデータがメッシュネットワーク100上における1つ以上のDHCPv6サーバの存在を示す場合には、メッシュネットワークデバイスはDHCPv6を用いてグローバルアドレスを割当ててもよい。
【0045】
ある実施の形態では、メッシュネットワーク100におけるすべてのメッシュネットワークデバイスは、通信のために、ある数の異なるユニキャストアドレス(たとえばIPv6ユニキャストアドレス)を用いる。リンクローカル範囲よりも大きな範囲を有するアドレスに対しては、メッシュネットワーク100は、2つの異なるタイプのアドレス:ルーティングロケータ(RLOC)およびエンドポイント識別子(EID)を規定してもよい。
【0046】
RLOCは、メッシュネットワーク100内においてある特定のメッシュネットワークデバイスの位置を識別するネットワークアドレス(たとえばIPv6アドレス)である。ある実施の形態では、RLOCは、メッシュネットワークデバイスによって、制御トラフィックを通信しデータグラム(たとえばIPv6データグラム、UDP送信など)をそれらの意図される宛先に伝送することに対してしか用いられない。そのような実施の形態では、アプリケーションは、一般的には、RLOCに対する可視性を有さず、またはRLOCを用いない。
【0047】
ユニキャストRLOCはメッシュローカル範囲を有し、インターフェイス識別子においてルータIDおよび子IDをエンコードする。一例として、限定ではなく、ユニキャストRLOCのためのプレフィックスは、メッシュローカルプレフィックスおよびインターフェイス識別子であり、フォーム0000:00FF:FE00:xxxxを有し、そこにおいて、「xxxx
」は、ルータIDおよび子IDを埋込む16ビット値である。
【0048】
メッシュネットワークエンドポイント識別子(EID)は、メッシュネットワーク10
0内において所与のメッシュネットワークデバイスを一意に識別し、メッシュネットワーク100におけるトポロジー変更からは独立したネットワークアドレス(たとえばIPv6アドレス)である。RLOCの他に、メッシュネットワーク100は、メッシュローカル範囲と同じであるかまたはそれより大きい範囲を有するすべての他のユニキャストアドレス(IPv6ユニキャストアドレスなど)をエンドポイント識別子として考慮する。エンドポイント識別子は、メッシュネットワーク100内におけるメッシュネットワークデバイスの位置からは独立しており、メッシュネットワーク100におけるトポロジー変更に応答して変化しない。
【0049】
EIDは、メッシュネットワーク100内におけるメッシュネットワークに対して安定した識別子を与える。しかしながら、EIDは直接ルーティング可能ではなく、なぜならば、メッシュルーティングプロトコルはRLOCのためのルート情報を交換するのみであるからである。EIDがIPv6宛先アドレスである状態でIPv6データグラムなどのようなデータグラムを伝送するために、メッシュネットワークデバイスはEID対RLOCマッピングルックアップを実行する。
【0050】
たとえば、メッシュネットワークデバイスはデータパケットをある宛先アドレスとともに受信し、それは、そのアドレスが関連付けられるメッシュ上RLOCを有する旨を示すIPv6アドレスプレフィックスを含む。メッシュネットワークデバイスは、上記のように、受取られたIPv6アドレスプレフィックスをメッシュネットワーク100内において伝搬されるプロビジョニングドメインにおけるアドレスプレフィックスと比較することによって、関連付けられるメッシュ上RLOCがある、と判断することができる。
【0051】
メッシュネットワークデバイスが、宛先アドレスがメッシュ上アドレスプレフィックスに関連付けられる、と判断する場合には、メッシュネットワークデバイスは、その受信されたアドレスに対してEID対RLOCマッピングを発見する。EID対RLOCマッピングは、メッシュネットワークデバイスによって記憶されるEID対RLOCマッピングのキャッシュにおいて検索を行なうこと、またはアドレスクエリをメッシュネットワーク100内におけるすべてのルータ102および/もしくはルータ適格エンドデバイスにマルチキャストすることなど、任意の好適な態様によって見出される。
【0052】
ある実施の形態では、メッシュネットワークデバイスは、EID対RLOCマッピングをキャッシュするアドレスクエリセットを含む。EID対RLOCマッピングのアドレスクエリセットは、メッシュネットワークデバイスによって開始されるアドレスクエリから得られるEID対RLOCマッピングを含む。アドレスクエリセットは、さらに、メッシュネットワークデバイスを通してルーティングされるメッシュネットワークトラフィックを観察し、当該観察されたトラフィックからEID対RLOCマッピングをアドレスクエリセットに保存することによって、好機をねらって得られる、当該EID対RLOCマッピングを含んでもよい。
【0053】
ある実施の形態では、メッシュネットワークデバイスは、EID対RLOCマッピングが探されるEIDを含むアドレスクエリメッセージをメッシュネットワーク100を介してマルチキャストする。アドレスクエリメッセージはすべてのルータ102およびルータ適格エンドデバイス104に対してマルチキャストされる。アドレスクエリメッセージは、アドレスクエリメッセージがメッシュネットワーク100においてすべてのルータ102およびルータ適格エンドデバイス104にアドレッシングされることを指定するマルチキャストアドレスを用いてマルチキャストされる。アドレスクエリメッセージにおけるEIDに対して、EID対RLOCマッピングを有する任意のルータ102および/またはルータ適格エンドデバイス104は、関連付けられるEID対RLOCマッピングを、アドレスクエリを開始したメッシュネットワークデバイスに送信することによって、アドレ
スクエリメッセージに応答する。
【0054】
アドレスクエリ性能を改善し、ネットワークトラフィックを低減するために、メッシュネットワークデバイスは、アドレスクエリメッセージのマルチキャストに対してホップの数を制限してもよい。たとえば、エンドデバイス106は、所望のEID対RLOCマッピングを得るよう親ルータ102に到達するのに単一のホップを介してアドレスクエリメッセージを送信することしか必要とされなくてもよい。所望のEID対RLOCマッピングが、限定された数のホップを介してマルチキャストされるアドレスクエリから返されない場合には、メッシュネットワークデバイスは、アドレスクエリメッセージを、全メッシュネットワーク100にマルチキャストすることなどのように、より多くの数のホップを介してマルチキャストする。
【0055】
加えて、EID対RLOCマッピングルックアップの速度を改善し、ネットワークトラフィックを低減するために、メッシュネットワークデバイスは、アドレスクエリセットを検索し、次いで、アドレスクエリセットの検索が所与のEIDに対してEID対RLOCマッピングを返すのに失敗した場合にはアドレスクエリをマルチキャストすることなど、任意の好適な態様で上記の実施の形態を組合せてもよい。
【0056】
EIDはメッシュネットワーク100におけるトポロジー変更に面して安定したままであるので、アプリケーションプログラムついて、メッシュネットワークデバイスと通信する際にはEIDを用いることが好ましい。しかしながら、ある実施の形態では、アプリケーションプログラムは、メッシュネットワーク100内における単純な要求応答通信パターンに対しては、RLOCを直接用いてもよい。
【0057】
メッシュネットワーク100においては、マルチキャストアドレッシングはさまざまなマルチキャストグループを含む。マルチキャスト伝送は、メッシュネットワークにおけるデバイスおよびマルチキャストアドレスの登録のタイプに依存する。たとえば、電力供給されるメッシュネットワークデバイス、およびバッテリにより電力供給されるセンサなどのような、さまざまな時間期間の間スリープするメッシュネットワークデバイスの両方を含む全ノードマルチキャストグループ、または全ルータマルチキャストグループは、ルータ102およびルータ適格エンドデバイス104の両方を含む。マルチキャストグループは、リンクローカルおよび領域ローカル範囲など、さまざまな範囲で規定される。たとえば、メッシュネットワークデバイスの各々は、リンクローカル全ノードマルチキャストアドレス(たとえばff02::1)に加入する。ルータ102、ルータ適格デバイス104、ま
たはボーダールータ202として動作するメッシュネットワークデバイスはリンクローカル全ルータマルチキャストアドレス(たとえばff02::2)に加入する。他の例では、メッ
シュネットワークデバイスの各々は領域ローカル全ノードマルチキャストアドレス(たとえばff03::1)に加入する。ルータ102、ルータ適格デバイス104またはボーダール
ータ202として動作するメッシュネットワークデバイスは領域ローカル全ルータマルチキャストアドレス(たとえばff03::2)に加入する。
【0058】
グローバル範囲を伴うマルチキャストアドレスに関して、ボーダールータ202はマルチキャストパケットの外部ネットワークからメッシュネットワーク100への転送を限定または制限してもよい。たとえば、ボーダールータ202は、より広帯域の外部ネットワークからマルチキャストパケットを転送することを制限して、メッシュネットワーク100の容量を圧倒することを回避してもよい。しかしながら、ボーダールータ202は、メッシュネットワーク100を用いるアプリケーションに関連付けられるクラウドサービス208からのマルチキャストパケットなどのように、外部ネットワークからのマルチキャストがメッシュネットワーク100に対して適切である場合には、そのようなマルチキャストパケットをメッシュネットワーク100において選択的に転送してもよい。
【0059】
エンドデバイスアドレッシング
センサなどのような多くのタイプのエンドデバイス106は、何ヶ月または何年といった長期間の間における低電力のバッテリ動作に対して設計される。長い稼働寿命を達成するために、バッテリにより電力を供給されるメッシュデバイスは、さまざまな期間の間、無線およびネットワークインターフェイスなどのような多くの動作をオフにするかまたはスリープにする。エンドデバイス106はメッシュネットワーク100を用いて通信することができるが、親ルータ102に対する単なる転送を超えて、メッシュネットワーク100においてトラフィックをルーティングする能力を欠く。したがって、このタイプのデバイスは、機能低減デバイス(RFD)またはスリープ状態の子デバイスと称されてもよい。スリープ期間中、エンドデバイス106は、メッシュネットワーク100上において、エンドデバイス106にアドレッシングされたデータパケットを受取るよう利用可能ではない。
【0060】
エンドデバイス106が親ルータ102に所属すると、エンドデバイス106に対するアドレス登録が子IDをエンドデバイス106に割当てる。割当てられた子IDおよび親ルータ102のルータIDを用いて、親ルータ102は、子エンドデバイス106に代わって、子エンドデバイス106にアドレッシングされたメッシュネットワークトラフィックに応答する。
【0061】
エンドデバイス106が親ルータ102に登録すると、エンドデバイス106はマルチキャストアドレスを親ルータ102に登録する。たとえば、デフォルトで、親ルータ102は子エンドデバイス106に対してマルチキャストメッセージを待ち行列に入れない。マルチキャストアドレスを登録することによって、親ルータは、どのマルチキャストメッセージが子デバイス106にとって関心のあるものかを判断することができ、親ルータ102はそれらのマルチキャストメッセージを子エンドデバイス106に代わって待ち行列に入れる。ある実施の形態では、いくつかのマルチキャストアドレスはメッシュネットワークデバイスにとって強制的であり、各メッシュネットワークデバイスに対して暗黙に登録される。子エンドデバイス106に対しては、強制的なマルチキャストアドレスは親ルータ102に暗黙に登録される。これらの強制的なマルチキャストアドレスに対するマルチキャストメッセージは、親ルータ102によって子エンドデバイス106のために待ち行列に入れられる。
【0062】
メッシュネットワーク100におけるパケットデータのルーティングは、EIDにマッピングされるRLOCに基づく。親ルータ102に配属される子エンドデバイス106に対して、親ルータ102のルータIDおよび子エンドデバイス106の子IDはインターフェイス識別子(IID)にエンコードされる。たとえば、ルータIDは、IIDの第1のサブセットのビットフィールドにエンコードされ、子IDは、IIDの第2のサブセットのビットフィールドにエンコードされる。例として、および限定ではなく、ルータIDは、16ビットIIDのビット0〜5にエンコードされ、子IDは、IIDのビット7〜15にエンコードされる。任意の所与のルータ102は、任意の所与の時間に登録される複数の子エンドデバイス106を有してもよい。
【0063】
各エンドデバイス106に対するRLOCは、IIDにおけるエンコードされたルータIDおよび子IDからのメッシュローカル範囲でエンコードされる。エンドデバイス106に対するRLOCは、メッシュネットワークデバイスによって用いられて、データパケットをアドレッシングしエンドデバイス106にルーティングする。データパケットがそのようなRLOCを用いてアドレッシングされると、データパケットはメッシュネットワーク100において子エンドデバイス106の親ルータ102にルーティングされ、それは、エンドデバイス106が時間期間の間スリープしている場合には重要である。エンド
デバイス106がスリープしていない場合においては、親ルータ102は子エンドデバイス106に対するRLOCで応答してもよく、それはパケットが子エンドデバイス106に直接送られることを可能にすることになる。
【0064】
親ルータ102は、子エンドデバイス106にアドレッシングされる任意のメッセージに応答する。たとえば、親ルータ102は、子エンドデバイス106のEIDを含む任意のアドレスクエリに対して、子エンドデバイス106に対するRLOCで応答する。
【0065】
子エンドデバイス106は、ホストオンリーのデバイスとして動作し、メッシュネットワーク100および/または外部ネットワークにわたる通信のためにすべてのパケットを親ルータ102に転送する。たとえば、子エンドデバイス106はEIDをRLOCに分解しない。子エンドデバイス106は親ルータ102に依存して分解を実行する。子エンドデバイス106は、親ルータ102に依存して、メッシュネットワーク100外の宛先を伴うパケットについて、ボーダールータ202を選択する。
【0066】
子エンドデバイス106は、さらに、親ルータ102に依存して、子デバイス106にアドレッシングされたすべてのデータパケット、および子エンドデバイス106が親ルータ102に登録したマルチキャストアドレスからのマルチキャストメッセージを受信および記憶し、それらは、子エンドデバイスがスリープ中である間に受信されてもよい。子エンドデバイス106が覚醒すると、保存されたデータパケットは子エンドデバイス106に転送される。親ルータ102がスリープ中の子エンドデバイス106に代わって応答することによって、子エンドデバイス106に対するトラフィックはメッシュネットワーク100上において効率よくかつ信頼性高く処理されることが確実にされ、なぜならば、親ルータ102は子エンドデバイス106に送信されるメッセージに応答し、それは、子エンドデバイスが延長された時間期間の間低電力モードで動作して電力を節約することを可能にするからである。
【0067】
優先順位付けされたルーティングについてのプリファレンス
メッシュネットワークにおいてデータパケットのためにルートを判断するための判断は、データパケットが転送され得る考えられ得るルートの各々に関連付けられるルーティングコストに基づいてもよい。たとえば、ルーティングコストは、ルートの特性およびそのルートにおける構成ホップのうちの1つまたはそれらの組合せに基づいてもよい。たとえば、ルーティングコストは、ルーティング経路におけるホップの数、またはそのルートにおけるホップに対するリンク品質の測定値に基づいてもよい。
【0068】
データパケットがインターネットなどのような外部ネットワークにおける宛先にルーティングされる場合においては、考えられ得るルート間における判断をなす際に考慮すべき他のファクタがあるかも知れない。異なる外部ネットワークは異なる財務コスト、信頼性、レイテンシ、帯域幅、セキュリティなどを有するかも知れず、それらは1つのルートを他のルートよりも好ましいものにするかも知れない。しかしながら、ルーティングコストは、パケットデータのルーティングを1つの外部ネットワークに対してよりも他の外部ネットワークに対して優先順位付けすることにおいて有用な他のファクタを十分には記載しないかも知れない。
【0069】
たとえば、パケットは、Wi−Fiネットワーク接続を用いるルート、またはセルラーネットワーク接続を用いるルートのいずれかを介して転送され得る。Wi−Fiネットワークを用いるコストの方がより低い場合には、Wi−Fiネットワークをセルラーネットワークに対して優先させることが好ましいかも知れない。他の例では、有線ネットワーク(たとえばイーサネット(登録商標))ルートがある場合、その有線ネットワークが無線ネットワークよりもよいサービスの品質(QoS)保証を提供する場合には、それは無線
ネットワークルートに対して優先されてもよい。
【0070】
ネットワークデータにおける各プロビジョニングドメインは外部ネットワークに割当てられるアドレスプレフィックスに関連付けられる。各プロビジョニングドメインは、さらに、アドレスプレフィックスおよび関連付けられるボーダールータ202に関連付けられるルータプリファレンス値を含む。ルータプリファレンス値は、候補ルートを優先順位付けするために、プリファレンスを比較するよう用いられる。
【0071】
例として、限定ではなく、プリファレンスは、高いプリファレンス、中間プリファレンス、または低いプリファレンスに対応する値に設定されてもよい。任意のプリファレンスの値が、ユーザによって、ユーザがルーティングプリファレンスのために選択する任意の好適な基準に基づいて設定されてもよい。どのような値もプリファレンスに対して設定されない場合には、プロビジョニングドメインを事前設定する際に、デフォルト値が設定されてもよい。たとえば、プリファレンスに対する値は中間プリファレンスを表わす値に設定されてもよい。
【0072】
ある実施の形態では、ルータ102は、転送判断をなす際に、プロビジョニングドメインにおけるルート情報を、メッシュルーティングコストおよび次のホップ情報とともに用いてもよい。IPv6宛先アドレスがメッシュ上アドレスでない場合には、ルータ102は、IPv6ソースアドレスを用いて、IPv6ソースアドレスのプレフィックスと同じプロビジョニングドメインに関連付けられるルートを提供するボーダールータ202の組を判断する。
【0073】
ボーダールータ202の組内において、ルータ102は最も長い外部ルートプレフィックス一致を以下のように見出す:
1) 2つのアドレスプレフィックスが一致する場合には、より高いプリファレンスを伴うアドレスプレフィックスを選択する。
【0074】
2) どの外部ルートも一致しない場合には、デフォルトルートを提供するボーダールータ202を選択する。
【0075】
3) 2つ以上のボーダールータ202がデフォルトルートを提供する場合には、より高いプリファレンスを伴うボーダールータ202を選択する。
【0076】
4) 最後に、2つ以上のボーダールータ202が残る場合には、最も低いメッシュ経路コストを伴うボーダールータ202を選択する。
【0077】
IPv6宛先アドレスがプレフィックスベースのDHCPv6エージェントエニーキャストRLOCである場合には、ルータ102は、エニーキャストアドレスにおいてエンコードされるコンテキストIDを用いて、コンテキストIDに関連付けられるプレフィックスと同じプロビジョニングドメインを伴うDHCPv6エージェントの組を判断する。その組内で、ルータ102は最も近いDHCPv6エージェントを以下のように見出す:
1) 2つ以上のDHCPv6エージェントがデフォルトルートを提供する場合には、より高いプリファレンス値を伴うDHCPv6エージェントを選択する。
【0078】
2) 2つ以上のDHCPv6エージェントが残る場合には、最も低いメッシュ経路コストを伴うDHCPv6エージェントを選択する。
【0079】
重複アドレス検出
図5は、重複アドレス検出に一般的に関するメッシュネットワークアドレッシングのさ
まざまな実施の形態が実現され得る例示のメッシュネットワークシステム500を示す。例示のメッシュネットワークシステム500は、図1および図2を参照して記載されるメッシュネットワーク100を含み、ルータデバイス102およびエンドデバイス106を含む。ルータデバイスのうちのいくつかは、それらのデバイスを例示のメッシュネットワークシステム500の以下の議論において単に区別するために、102以外の番号識別子を付与されるが、ルータのうちの任意のルータがここに記載されるルータ102として実現されてもよい。同様に、エンドデバイスは、それらのデバイスを以下の議論において単に区別するために、106以外の番号識別子を付与されるが、エンドデバイスのうちの任意のものがここに記載されるエンドデバイス106として実現されてもよい。
【0080】
エンドデバイス106は、パケットデータをメッシュネットワークインターフェイスを介して送受信し、メッシュネットワーク100にわたってトラフィックをルーティングすることができるルータデバイス102を介してなど、メッシュネットワークを介する通信のためのメッシュネットワークインターフェイスを含む。さらに、エンドデバイス(メッシュネットワークのリーフノードまたはエッジデバイスとも称される)は、メッシュネットワーク100を介して、データをその関連付けられるルータデバイス102に転送することによって通信することができ、それは、次いで、データをメッシュネットワークにわたってルーティングする。一般的に、メッシュネットワークデバイス、および特にエンドデバイスは、プライバシーの理由のためになど、IPアドレスをメッシュネットワーク上においてランダムに選択または生成する。しかしながら、メッシュネットワークデバイスの1つ以上は同じアドレスを選択または生成するかも知れず、それは、メッシュネットワークデバイスの2つ以上によって生成される重複アドレスに対するチェックの必要を促す。
【0081】
エンドデバイス106がメッシュネットワーク100においてルータデバイス102に所属すると(たとえば、エンドデバイスが、メッシュネットワークにおける無線通信のためにルータデバイスに通信可能に結合されると)、エンドデバイスは、メッシュネットワークにおいてエンドデバイスを所属させるルータにデバイス状態を記憶することになる。たとえば、記憶されたデバイス状態は、アドレスとランダム値と寿命とを含むタプル状態である(たとえば、タプルは、順序づけられた要素のリストである)。アドレスはエンドデバイスによって選択または生成され、ランダム値はエンドデバイスによって生成され、寿命は、ルータが、配属されるエンドデバイスに対する状態をどれくらいの間維持するかを示す。たとえば、エンドデバイス502はメッシュネットワーク100においてルータ504に配属され、エンドデバイスは、アドレス1111およびランダム値2653を60分(60m)の寿命とともに生成する。ルータ504は、指定される60分(60m)の寿命の間、エンドデバイス502のタプル状態506を維持する。エンドデバイス502はそれ自体の状態をエンドデバイスのアドレス識別子508として維持することが注目される。より詳細に以下に記載されるように、ランダム値は、メッシュネットワークデバイス(たとえばエンドデバイスまたはルータデバイス)によって、メッシュネットワークにおいてデバイスアドレスの一意性をテストするよう用いることができる。
【0082】
エンドデバイス502と同様に、エンドデバイス510はメッシュネットワーク100においてルータ512に配属されており、エンドデバイス510は、アドレス2222およびランダム値5829を45分(45m)の寿命とともに生成する。ルータ512は指定される寿命(または残存寿命)の間エンドデバイス510のタプル状態514を維持し、エンドデバイス510はそれ自体の状態をエンドデバイスのアドレス識別子516として維持する。同様に、エンドデバイス518はメッシュネットワーク100においてルータ520に配属され、エンドデバイス518は、アドレス1111およびランダム値4829を30分(30m)の寿命とともに生成する。ルータ520は指定される寿命(または残存寿命)の間エンドデバイス518のタプル状態522を維持し、エンドデバイス5
18はそれ自体の状態をエンドデバイスのアドレス識別子524として維持する。この例では、それぞれのエンドデバイスの寿命は分単位で表されるが、秒単位、時単位、日単位などのような任意の他の時間持続期間として指定されてもよい。他の筋書では、エンドデバイス518は、60分(60m)(つまり30分におけるメッシュネットワークの現在の状態に先立って30分)の寿命とともにルータ520に配属されていてもよい。同様に、エンドデバイス510は、60分(60m)(つまり45分におけるメッシュネットワークの現在の状態に先立って15分)の寿命とともにルータ512に配属されていてもよい。
【0083】
メッシュネットワーク100の実現例では、ルータデバイス102は制限されたメモリを有するかもしれず、エンドデバイス106はさまざまな時間にルータデバイスの異なる1つに所属するかもしれない。たとえば、図6は、エンドデバイス518がルータデバイス520から移動し、ルータデバイス526に所属するときの重複アドレス検出の例を続ける。エンドデバイスのアドレス識別子を維持するよう寿命を与えられて、ルータデバイスは、異なるルータデバイスに所属しているエンドデバイスのアドレス識別子をそうでなければ記憶するであろうメモリを取り戻すことができる。エンドデバイスは、ルータデバイスの異なる1つに移動し所属すると、それは、対応する指定される寿命の間、アドレス識別子を、記憶されたタプル状態として、以前のルータに残す。
【0084】
図6は、メッシュネットワークアドレッシングのさまざまな実施の形態に従う、例示的メッシュネットワークシステム500における重複アドレス検出の例をさらに示す。この例600では、エンドデバイス518は、(たとえば図5において示されるように)ルータデバイス520から移動しており、メッシュネットワーク100においてルータデバイス526に所属している。エンドデバイス518は依然としてアドレス1111を有しており、新たなランダム値9482を60分(60m)の寿命とともに生成する。ルータ526は、指定される60分(60m)の寿命の間、エンドデバイス518の新たなタプル状態602を維持する。エンドデバイス518はそれ自体の状態をアドレス識別子518として維持するが、それは、ルータ520によって維持される、以前のタプル状態522と、ルータ526によって維持される新たなタプル状態602との両方を含むよう更新されていることに注目されたい。さらに、エンドデバイスのすべてに対する寿命指定はすべて10分だけ減分されて、エンドデバイス518は、エンドデバイス518がルータ520に配属されたときのメッシュネットワークの以前の状態の10分後に、異なるルータ526に移動し、それに所属したことを示すことに注目されたい。
【0085】
エンドデバイス518は、メッシュネットワーク100において他のメッシュネットワークデバイスのすべてに対してマルチキャストアドレスクエリを開始し、同じアドレスを伴う他のメッシュネットワークデバイスのいずれかが、その同じアドレスに対して記憶される対応するタプル状態で応答し返すことを要求することができる。たとえば、エンドデバイス518は、メッシュネットワーク100においてマルチキャストアドレスクエリを開始し、同じアドレス1111を伴う他のメッシュネットワークデバイスのいずれかが、関連付けられるルータデバイスでの対応する記憶されるタプル状態で応答し返すことを要求することができる。同じ1111のアドレスだけでは、メッシュネットワークにおいて重複アドレスを検出するために十分な情報を与えない。しかしながら、アドレスと乱数との組合せは、メッシュネットワークにおいてメッシュネットワークデバイスの重複アドレスを検出する根拠を与える。
【0086】
たとえば、エンドデバイス518によって開始されるマルチキャストアドレスクエリに応答して、エンドデバイスは、(たとえば、エンドデバイス518が以前に配属されていた)ルータ520から(1111、4829、20m)タプル状態522;(たとえば、エンドデバイス518が現在所属させられている)ルータ526から(1111、948
2、60m)タプル状態602;およびルータ504から(1111、2653、50m)タプル状態506が戻るのを受信することになる。(1111、4829、20m)タプル状態522はエンドデバイス518が現在所属させられている1つ以外のルータデバイスにおける重複アドレス1111を示すが、エンドデバイス518は、重複は、エンドデバイスがそれ自体の状態をアドレス識別子524として維持することに基づいて、以前にエンドデバイス518それ自体によって生成された、と判断することができる。同様に、ルータ504からの(1111、2653、50m)タプル状態506は、エンドデバイス502と重複アドレス1111を示すが、それはエンドデバイス518によって重複アドレスとして検出され、なぜならば、ランダム値2653はエンドデバイスによって生成され記憶されたランダム値(たとえば4829および9482)のいずれとも一致しないからである。
【0087】
これはファーストパーティ重複アドレス検出(first-party duplicate address detection)の例であり、なぜならば、エンドデバイス518は、他のメッシュネットワークデ
バイスのいずれかがエンドデバイスアドレスの重複であるアドレスを有するかどうかを判断するべくアドレスクエリを開始しているからである。同様の技術において、サードパーティ重複アドレス検出(third-party duplicate address detection)は、メッシュネッ
トワークデバイスの1つ以上の重複アドレスがあるかどうかを判断することを望む、メッシュネットワーク100における他のメッシュネットワークデバイスによって開始することができる。サードパーティ重複アドレス検出は図5および図7を参照して記載される。
【0088】
エンドデバイス518または他のメッシュネットワークデバイスがメッシュネットワーク100において重複アドレスを検出すると、エンドデバイスは、重複アドレスを有するメッシュネットワークデバイスに新たなアドレスを生成するよう命じることができる。実現例では、エンドデバイスまたはルータデバイスは重複アドレスの可能性を検出し、アドレスエラー通知をマルチキャストして、検出された重複アドレスを他のメッシュネットワークデバイスに通知することができる。さらに、マルチキャストアドレスエラー通知を受信する(たとえばエンドデバイスの)親デバイスは、それのネットワークデバイス子供のいずれかがアドレスエラー通知の目標であるかどうかを判断するようチェックし、スリープ状態の子供が同様に通知を得ることができるように、ユニキャストメッセージを送信することができる。
【0089】
重複アドレス検出の実施の形態では、メッシュネットワーク100は、楽観的な重複アドレス検出の形式とともに実現することができ、そこでは、重複を検出し解決する任意の試みが生ずる前に、IPv6アドレスが割当てられ用いられてもよい。ML−EIDを用いて、メッシュネットワークデバイスを高い確率で一意に識別し、なぜならばそれらは所与のデバイスによって無作為に選択されるからである。デバイスのIEEE802.15.4拡張アドレスが用いられてもよいが、ML−EIDが利用され、なぜならば、それらは、無線で送信されるとき、常に暗号化されるからである。IEEE802.15.4拡張アドレスは平文で802.15.4ヘッダの一部として送信され、したがって、デバイスは、プライバシーを保存するためにその拡張アドレスを変更してもよい。アドレス通知メッセージを用いて重複EIDを検出することができる。メッシュネットワークデバイスは、アドレスクエリに応答して、または事前対応のアドレス通知の場合には非同期で、アドレス通知メッセージを受信することができる。メッシュネットワークデバイスは両方の筋書において重複検出を実行する。
【0090】
同じEIDが同じメッシュネットワークパーティションにおいて2つ以上のメッシュネットワークデバイスに対して割当てられると、アドレスクエリは複数のアドレス通知メッセージを生成する。アドレス通知メッセージの受信側は受信されるアドレス通知メッセージのML−EID TLVを比較して、複数返答が、複数のインターフェイスが同じIP
v6アドレスを用いているためか、または単一のインターフェイスがルータデバイスからルータデバイスに移動しているためかどうかを判断する。2つ以上の受信されるアドレス通知メッセージが、同じEIDだが、異なるMLEIDを有する場合には、次いで、受信側デバイスは、EIDが2つ以上のデバイスによって使用されていると判断することができ、領域ローカルの全ルータマルチキャストアドレス(FF03::2)に対してアドレスエラー通知メッセージをマルチキャストする。
【0091】
事前対応のアドレス通知メッセージを受信するメッシュネットワークデバイスは、アドレス通知メッセージのRLOC16を、それのEID対RLOCマップキャッシュに含まれるRLOC16と比較する。EID対RLOCマップキャッシュエントリがEIDに対して存在し、RLOC16が異なる場合には、次いで、メッシュネットワークデバイスは、EIDが2つ以上のデバイスによって使用されているかもしれないと判断でき、EID対RLOCマップキャッシュエントリに含まれるRLOC16に対してアドレスエラー通知をユニキャストし、および、次いで、新たに受信されるRLOC16でEID対RLOCマップキャッシュエントリを更新する。このユニキャストメッセージは、古いRLOCが本当にEIDの重複ユーザであるかまたは単純に古くなったデータであるかかどうかチェックするよう働く。
【0092】
ユニキャストアドレスエラー通知メッセージの受信側は、目標EIDがそれ自体に属するか、またはルータデバイスの場合には、その子供たちの1つに属するかどうか判断することができ、それのローカル状態における目標EIDと関連付けられるML−EIDとアドレスエラー通知メッセージにおけるML−EIDを比較する。ML−EIDが異なる場合には、メッシュネットワークデバイスは、目標EIDが1つより多いデバイスによって使用されている、と判断することができ、領域ローカルの全ルータマルチキャストグループ(FF03::2)に対してアドレスエラー通知メッセージをマルチキャストする。
【0093】
メッシュネットワークデバイスはアドレスエラー通知メッセージを送信して、他のメッシュネットワークデバイスに、重複EIDが使用されているかもしれないことを通知することができる。実現例では、アドレスエラー通知メッセージは、検出された重複IPv6アドレスおよび、重複アドレス検出をトリガしたアドレス通知に含まれるML−EIDを含むCoAP POSTメッセージ:URIパス;NON POST coap://[<peer address>]:MM/a/ae; CoAP Payload; 目標EID TLV;およびMLEID TLVである。IPv6
ソースアドレスは発信元デバイスのRLOCであり、IPv6宛先アドレスはマルチキャストを介して送信されたときの領域ローカルの全ルータマルチキャストアドレス(FF03::2)であるか、またはユニキャストを介して送信されたときの宛先デバイスのRLOCで
ある。目標EID TLVおよびML−EID TLVは、メッセージをトリガしたアドレス通知またはアドレスエラー通知メッセージからコピーされる。
【0094】
メッシュネットワークデバイスがアドレスエラー通知メッセージを受信すると、メッシュネットワークデバイスは目標EIDがそれのメッシュネットワークインターフェイスに割当てられるかどうかチェックすることができる。目標EIDがそのメッシュネットワークインターフェイスに割当てられ、ML−EIDが異なる場合には、重複が検出され、デバイスは目標EIDを用いることを停止する。アドレスエラー通知の受信側デバイスがルータデバイスである場合には、デバイスは、目標EIDがそれのRFD子メッシュネットワークインターフェイスの1つに割当てられるかどうかチェックする。目標EIDがRFD子メッシュネットワークインターフェイスに割当てられ、ML−EIDが異なる場合には、重複が検出され、ルータデバイスは対応するRFD子(たとえばエンドデバイス)にアドレスエラー通知をユニキャストし、ルータデバイスはRFD子アドレスセットから目標EIDを除去する。ユニキャストアドレスエラー通知の受信側デバイスがRFDでない場合には、メッシュネットワークデバイスは領域ローカルの全ルータマルチキャストアド
レス(FF03::2)にアドレスエラー通知をマルチキャストする。
【0095】
図7はメッシュネットワークアドレッシングのさまざまな実施の形態に従う、例示的メッシュネットワークシステム500における重複アドレス検出の例をさらに示す。この例700では、エンドデバイス518は、(たとえば図5において示されるように)ルータデバイス520から移動しており、メッシュネットワーク100においてルータデバイス526に所属している。エンドデバイス518は依然としてアドレス1111を有しており、新たなランダム値9482を指定された60分(60m)の寿命とともに生成する。ルータ526は、指定される60分(60m)の寿命の間、エンドデバイス518の新たなタプル状態702を維持する。
【0096】
この例700では、タプル状態702はアドレスと1つ以上の以前のランダム値と現在のランダム値と寿命とを含む。タプル状態702のこの形式は、エンドデバイス518がどこにいたかの痕跡(たとえばどのルータにエンドデバイスが配属されていたかの痕跡)を与える。たとえば、ルータ520から移動し、メッシュネットワーク100においてルータ526に配属されるエンドデバイス518は、アドレス1111を有しており、新たなランダム値9482を60分(60m)の寿命とともに生成する。ルータ526は指定される寿命の間(1111、9482、4829、60m)をエンドデバイス518のタプル状態702として維持する。1つ以上の以前のランダム値を含むタプル状態702のフォーマットは、エンドデバイスは、2つのルータデバイスに配属されているエンドデバイスに対して、エンドデバイスが、移動してさまざまなルータデバイスに所属するにつれて、検出されることができることを規定する。エンドデバイス518は、さらに、それ自体の状態をアドレス識別子524として維持し、エンドデバイス518に対するアドレス識別子は以前のタプル状態522と新たなタプル状態702との両方を含む。
【0097】
メッシュネットワーク100におけるルータデバイス102のどちらかなどのような、メッシュネットワークデバイスの別のものは、マルチキャストアドレスクエリを他のメッシュネットワークデバイスのすべてに対して開始し、指定されるアドレスを伴う他のメッシュネットワークデバイスのいずれかが、その同じアドレスに対して記憶される対応するタプル状態で応答し返すことを要求することができる。たとえば、ルータデバイス102は、メッシュネットワーク100においてマルチキャストアドレスクエリを開始し、アドレス1111を伴う他のメッシュネットワークデバイスのいずれかが、対応する記憶されるタプル状態で応答し返すことを要求することができる。マルチキャストアドレスクエリに応答して、ルータデバイスは、(たとえば、エンドデバイス518が以前に配属されていた)ルータ520から(1111、4829、20m)タプル状態522;(たとえば、エンドデバイスが現在所属させられている)ルータ526から(1111、9482、4829、60m)タプル状態702;およびルータ504から(1111、2653、50m)タプル状態506が戻るのを受信することになる。
【0098】
(1111、4829、20m)タプル状態522における4829のランダム値は、(1111、9482、4829、60m)タプル状態702に含まれているが、ルータ102は、(1111、4829、20m)タプル状態522および(1111、9482、4829、60m)タプル状態702は同じメッシュネットワークデバイス(たとえばこの例ではエンドデバイス518)によって生成される、と判断することができる。しかしながら、(1111、2653、50m)タプル状態506における2653のランダム値は、(1111、4829、20m)タプル状態522または(1111、9482、4829、60m)タプル状態702のどちらにおいても生じず、ルータデバイスは重複アドレスを検出する。
【0099】
サードパーティ重複アドレス検出の恩恵は、常時オン状態のルータ(たとえばルータデ
バイス102)が、電池式のエンドデバイスを含まずに、アドレスの一意性をテストしてもよいということであり、それは、エンドデバイス518は、マルチキャストアドレスクエリを開始し、応答を受信し、応答を処理するよう電力を供給される、図5および図6を参照して記載されたファーストパーティ重複アドレス検出筋書における場合とは異なる。重複アドレス検出のための技術の最適化は、タプル状態の寿命値を用いて、ランダム値をエンコードし、(たとえばルータデバイスにおける限られた利用可能なメモリのために、)関連付けられるルータデバイスによってランダム値を維持する必要性を低減することを含む。加えて、k個の最も最近のランダム値は、ネットワークパーティションおよび/またはメッセージ落下を処理するよう維持されることができる。
【0100】
図8はメッシュネットワークアドレッシングのさまざまな実施の形態に従う、例示的メッシュネットワークシステム500における重複アドレス検出の例800を示す。この例800では、エンドデバイス106がメッシュネットワーク100においてルータデバイス102に所属すると(たとえば、エンドデバイスが、メッシュネットワークにおける無線通信のためにルータデバイスに通信可能に結合されると)、エンドデバイスは、メッシュネットワークにおいてエンドデバイスを所属させるルータにおいてデバイス状態を記憶することになる。たとえば、記憶されたデバイス状態は、エンドデバイス106がルータデバイス102に所属するときの所属時間(「Ta」)、およびエンドデバイス106が、配属されるルータデバイス102と最後に通信した最後のトランザクション時間(「Tt」)を含む、時間ベースの情報である。
【0101】
たとえば、エンドデバイス502はメッシュネットワーク100においてルータ504に配属され、エンドデバイスは、アドレス1111を60分(60m)の寿命とともに生成する。エンドデバイス502はそれ自体の状態をエンドデバイスのアドレス識別子802として維持する。ルータ504は時間ベースの情報804を維持し、それは、エンドデバイス502が時間Ta:4においてルータ504に所属したこと、およびエンドデバイス502は時間Tt:6において最後にルータ504とトランザクションを通信したことを示す。この例では、所属時間Ta:4およびトランザクション時間Tt:6のような、示される所属時間およびトランザクション時間は、単純に秒、分、時、日、および/または他の時間持続期間の任意の1つまたは組合せを表してもよい整数として示される。
【0102】
エンドデバイス502と同様に、エンドデバイス510はメッシュネットワーク100においてルータ512に配属されており、エンドデバイスは、アドレス2222を45分(45m)の寿命とともに生成する。エンドデバイス510はそれ自体の状態をエンドデバイスのアドレス識別子806として維持する。ルータ512は時間ベースの情報808を維持し、それは、エンドデバイス510が時間Ta:3においてルータ512に所属したこと、およびエンドデバイス510は時間Tt:7において最後にルータ512とトランザクションを通信したことを示す。同様に、エンドデバイス518はメッシュネットワーク100においてルータ520に配属され、エンドデバイスは、アドレス1111を30分(30m)の寿命とともに生成する。エンドデバイス518はそれ自体の状態をエンドデバイスのアドレス識別子810として維持する。ルータ520は時間ベースの情報812を維持し、それは、エンドデバイス518が時間Ta:2においてルータ520に所属したこと、およびエンドデバイス518は時間Tt:5において最後にルータ520とトランザクションを通信したことを示す。図9は、エンドデバイス518がルータデバイス520から移動し、ルータデバイス526に所属するときの重複アドレス検出の例を続ける。
【0103】
図9は、図8を参照して記載されるように、メッシュネットワークアドレッシングのさまざまな実施の形態に従う、例示的メッシュネットワークシステム500における重複アドレス検出の例をさらに示す。この例900では、エンドデバイス518は、(たとえば
図8において示されるように)ルータデバイス520から移動しており、メッシュネットワーク100においてルータデバイス526に所属している。エンドデバイス518は依然としてアドレス1111を30分(30m)の寿命とともに有する。ルータ526は新たな時間ベースの情報902を維持し、それは、エンドデバイス518が時間Ta:10においてルータ526に所属したこと、およびエンドデバイス518は時間Tt:13において最後にルータ526とトランザクションを通信したことを示す。エンドデバイスのすべてに対する示されたトランザクション時間は、すべて、それぞれのルータデバイスとの最後の通信されたトランザクションに基いて更新されていることが注目される。
【0104】
エンドデバイス518は、メッシュネットワーク100において他のメッシュネットワークデバイスのすべてに対してマルチキャストアドレスクエリを開始し、同じアドレスを伴う他のメッシュネットワークデバイスのいずれかが、その同じアドレスに対して記憶される対応する時間ベースの情報で応答し返すことを要求することができる。たとえば、エンドデバイス518は、メッシュネットワーク100においてマルチキャストアドレスクエリを開始し、同じアドレス1111を伴う他のメッシュネットワークデバイスのいずれかが、関連付けられるルータデバイスでの対応する記憶される時間ベースの情報で応答し返すことを要求することができる。同じ1111のアドレスだけでは、メッシュネットワークにおいて重複アドレスを検出するために十分な情報を与えない。しかしながら、時間ベースの情報、またはアドレスと時間ベースの情報との組合せは、メッシュネットワークにおいてメッシュネットワークデバイスの重複アドレスを検出する根拠を与える。
【0105】
たとえば、エンドデバイス518によって開始されるマルチキャストアドレスクエリに応答して、エンドデバイスは、(たとえば、エンドデバイス518が以前に配属されていた)ルータ520から(Ta:2、Tt:5)時間ベースの情報812;(たとえば、エンドデバイス518が現在所属させられている)ルータ526から(Ta:10、Tt:13)時間ベースの情報902;およびルータ504から(Ta:4、Tt:12)時間ベースの情報804が戻るのを受信することになる。メッシュネットワークデバイスの重複アドレスは、エンドデバイスの所属時間Taと、エンドデバイスが配属されるルータデバイスとトランザクションを通信した最後のトランザクション時間Ttとの間の重なり時間持続期間に基いて、検出することができる。たとえば(1111のアドレスを有する)エンドデバイス502に対応する(Ta:4、Tt:12)時間ベースの情報804は、(Ta:2、Tt:5)時間ベースの情報812、および(同様に1111のアドレスを有する)エンドデバイス518に対応する(Ta:10、Tt:13)時間ベースの情報902の両方と重なる。したがって、エンドデバイス518は、時間ベースの情報重なりを、あるメッシュネットワークデバイスが重複アドレスを有することとして検出することができる。
【0106】
これはファーストパーティ重複アドレス検出の例であり、なぜならば、エンドデバイス518は、他のメッシュネットワークデバイスのいずれかがエンドデバイスアドレスの重複であるアドレスを有するかどうかを判断するべくアドレスクエリを開始しているからである。上記の同様の技術において、サードパーティ重複アドレス検出は、メッシュネットワークデバイスの1つ以上の重複アドレスがあるかどうかを判断することを望む、ルータデバイス102の内の任意のもののような、メッシュネットワーク100における他のメッシュネットワークデバイスによって開始することができる。
【0107】
例示的方法1000から1400は、メッシュネットワークアドレッシングの1つ以上の実施の形態に従って、それぞれ図10図14を参照して記載される。一般に、ここに説明されるコンポーネント、モジュール、方法、および動作のうちのいずれも、ソフトウェア、ファームウェア、ハードウェア(たとえば、固定論理回路)、手動処理、またはそれらの任意の組合せを使用して実現され得る。例示的な方法のいくつかの動作は、コンピ
ュータ処理システムにとってローカルの、および/またはリモートのコンピュータ読取可能ストレージメモリ上に格納された実行可能な命令の一般的状況において説明されてもよく、実現化例は、ソフトウェアアプリケーション、プログラム、関数などを含み得る。これに代えて、またはこれに加えて、ここに説明される機能性のうちのいずれも、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、特定用途向け標準化製品(ASSP)、システム・オン・チップ・システム(SoC)、複合プログラマブル論理デバイス(CPLD)などを含むもののそれらに限定されない1つ以上のハードウェア論理コンポーネントによって、少なくとも部分的に行なわれ得る。
【0108】
図10は、概してメッシュネットワークにおいてパケットをアドレッシングおよびルーティングすることに関するようなメッシュネットワークアドレッシングの例示的な方法1000を示す。方法ブロックが説明される順序は限定として解釈されるよう意図されてはおらず、また、方法または代替的な方法を実現するために、任意の数の説明される方法ブロックを任意の順序で組合わせることができる。
【0109】
ブロック1002において、アドレスプレフィックスおよび関連付けられる構成情報が外部ネットワークから受信され、ブロック1004において、プロビジョニングドメインが形成され、受信されるアドレスプレフィックスと関連付けられる。たとえば、ボーダールータ202は、それぞれ、外部ネットワーク302または304などのような外部ネットワークから、アドレスプレフィックス、および構成データ402または404などのような関連付けられるネットワーク構成情報を受信する。ボーダールータ202は、受信されるアドレスプレフィックスおよび関連付けられる構成情報を含むプロビジョニングドメインを、プロビジョニングドメインに対する一意の識別子とともに形成する。
【0110】
ブロック1006において、形成されたプロビジョニングドメインは、メッシュネットワーク100のリーダーデバイスに転送される。ブロック1008において、プロビジョニングドメインはリーダーからメッシュネットワーク100に伝搬される。たとえば、ボーダールータ202は、形成されたプロビジョニングドメインを、メッシュネットワーク100を介してリーダーデバイス210に転送し、それは、リーダーデバイス210がプロビジョニングドメインを記憶するよう効力がある。リーダーデバイス210は、受信されるプロビジョニングドメインをメッシュネットワーク100においてルータ102およびルータ適格エンドデバイス104に伝搬する。代替的に、ボーダールータ202は構成データ402または404をリーダーデバイス210に転送し、それは、プロビジョニングドメインを形成し、プロビジョニングドメインに一意の識別子を割当てた後、メッシュネットワーク100にプロビジョニングドメインを伝搬する。
【0111】
ブロック1010において、パケットが、伝搬されたプロビジョニングドメインにおける情報を用いて、アドレッシングされる。ブロック1012において、アドレッシングされたパケットは、メッシュネットワークを介して転送される。たとえば、ルータ102は、(たとえばRLOCルックアップからの)データパケットの宛先ついて、プロビジョニングドメインにおけるアドレスプレフィックスを用いてデータパケットに対する宛先アドレスを形成するよう判断する。ルータ102は、宛先アドレスを用いて、あるルート上でデータパケットを転送する。
【0112】
図11は、概してメッシュネットワークにおいてパケットをアドレッシングおよびルーティングすることに関するようなメッシュネットワークアドレッシングの例示的な方法1100を示す。方法ブロックが説明される順序は限定として解釈されるよう意図されてはおらず、また、方法または代替的な方法を実現するために、任意の数の説明される方法ブロックを任意の順序で組合わせることができる。
【0113】
ブロック1102において、パケットがネットワーク宛先への伝送のために受信される。ブロック1104において、ネットワーク宛先がメッシュネットワーク上にあるかどうかが判断される。たとえば、ルータ102は、ネットワーク宛先に伝送するためにパケットを(たとえばルータ102上で実行するアプリケーションから、またはルータ102の子エンドデバイス106から)受信する。ルータ102は、ネットワーク宛先がメッシュネットワーク上にはあるがルーティング可能なアドレスではないことを示すエンドポイント識別子(EID)であるネットワーク宛先などのように、ネットワーク宛先がメッシュネットワーク上にあると判断する。
【0114】
ブロック1106において、ネットワーク宛先と関連付けられるルーティングロケータ(RLOC)が発見される。1108において、パケットは、RLOCから、ルーティング可能なネットワークアドレスを宛先アドレスとして用いて、転送される。たとえば、ルータ102は、ルータ102においてキャッシュに入れられたRLOCのRLOCルックアップによって、またはアドレスクエリの実行によってなどのように、EIDに対するRLOCを発見する。ルータ102は、RLOCにおいてEIDからマッピングされるルーティング可能なネットワークアドレスを用いて、パケットのために(IPv6宛先アドレスなどのような)宛先アドレスを形成する。ルータ102はパケットを宛先アドレスに基いてメッシュネットワーク100上で転送する。
【0115】
図12は、概してメッシュネットワークにけるエンドデバイスのためのアドレッシングおよびルーティングに関するようなメッシュネットワークアドレッシングの例示的な方法1200を示す。方法ブロックが説明される順序は限定として解釈されるよう意図されてはおらず、また、方法または代替的な方法を実現するために、任意の数の説明される方法ブロックを任意の順序で組合わせることができる。
【0116】
ブロック1202において、エンドデバイスのアドレスが登録される。1204において、子識別子がエンドデバイスに割当てられる。ブロック1206において、エンドポイント識別子(EID)が子識別子およびルータ識別子からルーティングロケータ(RLOC)にエンコードされる。たとえば、子エンドデバイス106に対するアドレスが親ルータ102において登録される。親ルータ102は、子エンドデバイス106に子識別子を割当てる。親ルータ102は子識別子および親ルータ102のルータ識別子を子エンドデバイスに対するルーティングロケータにエンコードする。
【0117】
ブロック1208において、エンドデバイスに対するアドレスクエリが受信される。1210において、アドレスクエリに対する応答がエンドデバイスに代ってなされる。たとえば、親ルータ102は、子エンドデバイス106に対するエンコードされたEIDを含むアドレスクエリをメッシュネットワーク100を介して受信する。親ルータ102は、子エンドデバイスに代って、子エンドデバイスに対するRLOCで、アドレスクエリに対して応答する。
【0118】
ブロック1212において、エンドデバイスに対するデータパケットが受信され、1214において、エンドデバイスに対する受信されたデータパケットは保存され、1216において、保存されたデータパケットは、エンドデバイスに転送される。たとえば、親ルータ102は、子エンドデバイス106に代って、子エンドデバイス106に対してアドレッシングされるデータパケットを受信する。子エンドデバイス106に代ってデータパケットを受信することは、受信されるデータパケットを承認すること、受信されるデータパケットをメッセージに組立てること、欠落しているパケットの再送信を要求することなどのような、任意のネットワーキングプロトコルを実行することを含んでもよい。親ルータ102は子エンドデバイス106がスリープしている時間期間中などにおいて、受信されるデータパケットを保存する。親ルータ102は、子エンドデバイス106がスリープ
の期間を終了し、親ルータ102とのメッシュネットワーク通信を再確立するなどのようなときに、保存されたデータパケットを子エンドデバイス106に転送する。
【0119】
図13は、概してメッシュネットワークにおけるルーティングのアドレスベースの優先順位付けに関するようなメッシュネットワークアドレッシングの例示的な方法1300を示す。方法ブロックが説明される順序は限定として解釈されるよう意図されてはおらず、また、方法または代替的な方法を実現するために、任意の数の説明される方法ブロックを任意の順序で組合わせることができる。
【0120】
ブロック1302において、第1のプリファレンス値が第1のアドレスプレフィックスに割当てられる。ブロック1304において、第2のプリファレンス値が第2のアドレスプレフィックスに割当てられる。たとえば、第1のプリファレンス値は第1のプロビジョニングドメインにおいて第1のアドレスプレフィックスに対して割当てられる。第2のプリファレンス値は第2のプロビジョニングドメインにおいて第2のアドレスプレフィックスに対して割当てられる。プリファレンス値はデフォルト値などを用いて、ネットワーク管理者によってなどのように、任意の好適な態様において設定されてもよい。
【0121】
ブロック1306において、アドレスプレフィックスおよび関連付けられるプリファレンス値はメッシュネットワークに伝搬される。たとえば、メッシュネットワーク100のリーダーデバイス210は、第1のプロビジョニングドメインおよび第2のプロビジョニングドメインを、ネットワークデータの一部として、メッシュネットワーク100におけるルータ102およびルータ適格デバイス104に伝搬する。
【0122】
1308において、プリファレンス値に基いて、宛先アドレスにパケットをアドレッシングするために使用するアドレスプレフィックスを判断する。たとえば、ルータ102は、伝搬されたプロビジョニングドメインにおける第1および第2のプリファレンス値を用いて、メッシュネットワーク100上でパケットをアドレッシングおよび転送するために第1のアドレスプレフィックスまたは第2のアドレスプレフィックスを宛先アドレス(たとえばIPv6宛先アドレス)のために用いるべきかどうかを判断する。
【0123】
図14は、概してメッシュネットワークにおける重複アドレス検出に関するようなメッシュネットワークアドレッシングの例示的な方法1400を示す。方法ブロックが説明される順序は限定として解釈されるよう意図されてはおらず、また、方法または代替的な方法を実現するために、任意の数の説明される方法ブロックを任意の順序で組合わせることができる。
【0124】
ブロック1402において、アドレス識別子が生成され、アドレス識別子は、メッシュネットワークにおける通信のためにルータデバイスに配属されるエンドデバイスに関連付けられ、アドレス識別子はエンドデバイスのタプル状態としてルータデバイスによって維持される。たとえば、エンドデバイス106がメッシュネットワーク100においてルータデバイス102に所属すると(たとえば、エンドデバイスが、メッシュネットワークにおいて無線通信のためにルータデバイスに通信可能に結合されると)、エンドデバイス518はアドレス識別子を生成する。エンドデバイスは、メッシュネットワークにおいてエンドデバイスを所属させるルータにおいてデバイス状態を記憶する。実現例では、記憶されたデバイス状態は、アドレスとランダム値と寿命とを含むタプル状態(たとえば要素のリスト)である。アドレスはエンドデバイスによって選択または生成され、ランダム値はエンドデバイスによって生成され、寿命は、ルータが、配属されるエンドデバイスに対する状態をどれくらいの間維持するかを示す。他の実現例では、アドレス識別子はエンドデバイスと関連付けられるアドレスおよび時間ベースの情報を含む。時間ベースの情報は、エンドデバイス106がルータデバイス102に所属する所属時間(「Ta」)を含み、
エンドデバイス106が、配属されるルータデバイス102と最後に通信した最後のトランザクション時間(「Tt」)を含む。
【0125】
ブロック1404において、アドレスクエリを開始して、指定されるアドレスを有するメッシュネットワークにおけるメッシュネットワークデバイスが指定されるアドレスに対応するタプル状態で応答することを要求する。たとえば、エンドデバイスまたはルータデバイスは、メッシュネットワーク100において他のメッシュネットワークデバイスのすべてに対してマルチキャストアドレスクエリを開始し、同じアドレスを伴う他のメッシュネットワークデバイスのいずれかが、その同じアドレスに対して記憶される対応するタプル状態で応答し返すことを要求する。他の実現例では、エンドデバイスまたはルータデバイスは、メッシュネットワーク100において他のメッシュネットワークデバイスのすべてに対してマルチキャストアドレスクエリを開始し、同じアドレスを伴う他のメッシュネットワークデバイスのいずれかが、その同じアドレスに対して記憶される対応する時間ベースの情報で応答し返すことを要求する。
【0126】
ブロック1406において、アドレスクエリに応答して、指定されるアドレスを有するメッシュネットワークデバイスのタプル状態が受信される。たとえば、エンドデバイスまたはルータデバイスは、同じ指定されるアドレスを有する他のメッシュネットワークデバイス(たとえば他のエンドデバイス)に対応するタプル状態が戻るのを受信する。他の実現例では、たとえば、エンドデバイスまたはルータデバイスは、同じ指定されるアドレスを有する他のメッシュネットワークデバイス(たとえば他のエンドデバイス)に対応する時間ベースの情報が戻るのを受信する。
【0127】
ブロック1408において、メッシュネットワークデバイスのタプル状態におけるアドレス識別子の情報をエンドデバイスのタプル状態における情報と比較する。たとえば、エンドデバイスまたはルータデバイスは、エンドデバイスに対するアドレス識別子情報を、同じアドレスを有する他のメッシュネットワークデバイスのアドレス識別子情報と比較して、重複デバイスアドレスを判断する。代替的に、エンドデバイスまたはルータデバイスは、他のメッシュネットワークデバイスのタプル状態における時間ベースの情報を、エンドデバイスのタプル状態における時間ベースの情報と比較して、メッシュネットワークデバイスの重複アドレスを検出する。
【0128】
ブロック1410において、メッシュネットワークデバイスの重複アドレスが、メッシュネットワークデバイスのタプル状態の一部として維持されるアドレス識別子の情報の比較に基づいて検出される。たとえば、マルチキャストアドレスクエリを開始するエンドデバイスまたはルータデバイスは、メッシュネットワークデバイスの重複アドレスを、メッシュネットワークデバイスのタプル状態の一部として維持されるランダム値に基いて、または他の実現例では、メッシュネットワークデバイスに対応する時間ベースの情報に基いて、検出する。
【0129】
ブロック1412において、重複アドレスを有するメッシュネットワークデバイスの1つ以上は、新たなアドレスを生成するよう命じられる。たとえば重複アドレスを検出するエンドデバイスまたはルータデバイスは、重複アドレスを有するメッシュネットワークデバイスの1つ以上に、新たなアドレスを生成するよう命じる。
【0130】
図15は、(図1を参照して説明されたような)メッシュネットワーク100、およびメッシュネットワークアドレッシングの実施形態が実現され得る例示的な環境1500を示す。一般に、環境1500は、メッシュネットワークにおける通信のために構成された任意の数およびタイプのメッシュネットワークデバイスを有するスマートホームまたは他のタイプの構造物の一部として実現されるメッシュネットワーク100を含む。たとえば
、メッシュネットワークデバイスは、サーモスタット1502と、(たとえば煙および/または一酸化炭素用の)ハザード検出器1504と、(たとえば屋内および屋外の)カメラ1506と、(たとえば屋内および屋外の)照明ユニット1508と、構造物1512の内部および/または外部で(たとえばスマートホーム環境において)実現される任意の他のタイプのメッシュネットワークデバイス1510とを含み得る。この例では、メッシュネットワークデバイスはまた、ボーダールータ202、ルータ102、ルータ適格エンドデバイス104、および/またはエンドデバイス106などの前述のデバイスのうちのいずれかを含み得る。
【0131】
環境1500では、任意の数のメッシュネットワークデバイスが、互いに無線で通信してやりとりするために、無線相互接続用に実現され得る。メッシュネットワークデバイスは、さまざまな有用なスマートホーム目的および実現化例のうちのいずれかを提供するために、互いにおよび/または中央サーバあるいはクラウドコンピューティングシステムとシームレスに統合できる、モジュール式でインテリジェントなマルチセンシングのネットワーク接続型デバイスである。ここに説明されるデバイスのうちのいずれかとして実現され得るメッシュネットワークデバイスの例が、図16を参照して示され、説明される。
【0132】
実現化例では、サーモスタット1502は、スマートホーム環境において周囲の気候特性(たとえば温度および/または湿度)を検出し、HVACシステムを制御するネスト(Nest:登録商標)学習サーモスタットを含んでいてもよい。学習サーモスタット1502および他のスマートデバイスは、デバイスへの居住者設定を取込むことによって「学習する」。たとえば、サーモスタットは、朝および夜用の好ましい温度設定点、構造物の居住者が眠っている、または起きている時間、および、居住者が通常外出している、または家にいる時間を学習する。
【0133】
ハザード検出器1504は、有害物質または有害物質を示す物質(たとえば煙、火または一酸化炭素)の存在を検出するために実現され得る。無線相互接続の例では、ハザード検出器1504は、構造物における火を示す煙の存在を検出するかもしれず、その場合、最初に煙を検出したハザード検出器は、接続されたメッシュネットワークデバイスのすべてに低電力のウェークアップ信号を一斉送信できる。他のハザード検出器1504は次に、一斉送信されたウェークアップ信号を受信し、ハザード検出のための高電力状態を起動して、警告メッセージの無線通信を受信することができる。また、照明ユニット1508は、一斉送信されたウェークアップ信号を受信し、検出されたハザードの領域で開始して、問題エリアを照明して識別することができる。別の例では、照明ユニット1508は、検出された火または侵入などについての、構造物における問題エリアまたは領域を示すために、1つの照明色で起動し、安全な領域および/または構造物からの避難経路を示すために、別の照明色で起動してもよい。別の例では、ドアベルまたは扉監視システムは、存在が検出されると黄色(または他の色)を点滅させ、警報が起動される場合には赤色を点滅させるLEDを含んでもよい。
【0134】
さまざまな構成では、メッシュネットワークデバイス1510は、ネットワーク接続型ドアロックシステムと協調して機能し、構造物1512の外側ドアなどの場所への人の接近またはそこからの出発を検出して反応する玄関インターフェイスデバイスを含み得る。玄関インターフェイスデバイスは、誰かがスマートホーム環境に接近したかまたは入ったかどうかに基づいて、他のメッシュネットワークデバイスとやりとりできる。玄関インターフェイスデバイスは、ドアベル機能性を制御し、音声手段または視覚手段を介して人の接近または出発を知らせることができ、また、居住者が出入りする際にセキュリティシステムを起動または停止するなどのために、セキュリティシステムに対する設定を制御することができる。メッシュネットワークデバイス1510はまた、周囲の照明条件を検出し、(たとえば居住センサで)部屋居住状態を検出し、1つ以上の照明の出力状態および/
または薄暗い状態を制御するなどのために、他のセンサおよび検出器を含み得る。場合によっては、センサおよび/または検出器はまた、天井ファンなどのファンの出力状態または速度を制御してもよい。また、センサおよび/または検出器は、部屋または包囲空間における居住を検出し、部屋または構造物が居住されていない場合などにコンセントまたはデバイスへの電力の供給を制御してもよい。
【0135】
メッシュネットワークデバイス1510はまた、冷蔵庫、ストーブおよびオーブン、洗濯機、乾燥機、エアコン、プールヒータ、潅漑システム、セキュリティシステムなどの接続された機器および/または制御されるシステム、ならびに、テレビ、娯楽システム、コンピュータ、インターホンシステム、ガレージドアオープナ、天井ファン、制御パネルなどの他の電子デバイスおよびコンピューティングデバイスを含んでいてもよい。プラグが差込まれると、機器、デバイスまたはシステムは、上述のようにそれ自体をメッシュネットワークに知らせることができ、スマートホームなどにおけるメッシュネットワークの制御装置およびデバイスと自動的に統合され得る。なお、メッシュネットワークデバイス1510は、スイミングプールヒータまたは潅漑システムを制御するデバイスといった、構造物の外側ではあるものの無線通信範囲内に物理的に位置するデバイスを含んでいてもよい。
【0136】
上述のように、メッシュネットワーク100は、メッシュネットワーク100の外部の外部ネットワークとの通信のためにインターフェイス接続するボーダールータ202を含む。ボーダールータ202はアクセスポイント204に接続し、それは、インターネットなどの通信ネットワーク206に接続する。通信ネットワーク206を介して接続されるクラウドサービス208は、メッシュネットワーク100内のデバイスに関連する、および/またはデバイスを使用するサービスを提供する。例として、クラウドサービス208は、スマートフォン、タブレットなどのエンドユーザデバイスをメッシュネットワークにおけるデバイスに接続し、メッシュネットワーク100で得られたデータを処理してエンドユーザに提示し、1つ以上のメッシュネットワーク100におけるデバイスをクラウドサービス208のユーザアカウントにリンクし、メッシュネットワーク100においてデバイスをプロビジョニングして更新するなどのためのアプリケーションを含み得る。たとえば、ユーザは、スマートホーム環境において、サーモスタット1502および他のメッシュネットワークデバイスを、携帯電話またはタブレットデバイスなどのネットワーク接続型コンピュータまたはポータブルデバイスを使用して制御することができる。また、メッシュネットワークデバイスは、ボーダールータ202およびアクセスポイント204を介して、任意の中央サーバまたはクラウドコンピューティングシステムに情報を通信できる。データ通信は、さまざまな特注または標準無線プロトコル(たとえば、Wi−Fi、低電力用のジグビー(ZigBee:登録商標)、6LoWPANなど)のうちのいずれかを使用して、および/または、さまざまな特注または標準有線プロトコル(CAT6イーサネット(登録商標)、ホームプラグ(HomePlug:登録商標)など)のうちのいずれかを使用することにより、実行され得る。
【0137】
メッシュネットワーク100におけるメッシュネットワークデバイスのうちのいずれも、スマートホーム環境においてメッシュネットワーク100を作り出すための低電力および通信ノードとして機能できる。ネットワークの個々の低電力ノードは、それらが何を感知しているかに関するメッセージを定期的に送り出すことができ、環境における他の低電力ノードは、それら自体のメッセージを送り出すことに加えて、メッセージを繰り返すことができ、それにより、メッシュネットワーク全体にわたってメッセージをノードからノードへ(すなわち、デバイスからデバイスへ)通信する。メッシュネットワークデバイスは、低電力の通信プロトコルを利用してメッセージを受信し、メッセージを他の通信プロトコルに変換し、変換されたメッセージを他のノードおよび/または中央サーバあるいはクラウドコンピューティングシステムに送信して、特に電池式の場合に電力を節約するよ
うに実現され得る。たとえば、居住および/または周囲光センサは、周囲光を測定するだけでなく、部屋にいる居住者を検出して、部屋が暗いと周囲光センサが検出する場合、および誰かが部屋にいると居住センサが検出する場合に、光源を起動することができる。また、センサは、居住センサが部屋にいる人の存在を検出したことと同時に起こる瞬間的メッセージを含む、部屋の居住および部屋における光の量に関するメッセージを、定期的に送り出す低電力無線通信チップ(たとえばジグビーチップ)を含み得る。上述のように、これらのメッセージは、メッシュネットワークを使用して、スマートホーム環境内でノードからノードへ(すなわち、デバイスからデバイスへ)、およびインターネットを通して中央サーバまたはクラウドコンピューティングシステムに、無線で送信されてもよい。
【0138】
他の構成では、メッシュネットワークデバイスのうちのさまざまなデバイスは、スマートホーム環境におけるアラームシステム用の「仕掛け線」として機能できる。たとえば、犯人が、窓、ドア、および構造物または環境の他の入口点に位置するアラームセンサによる検出を回避した場合、アラームは依然として、メッシュネットワークにおける低電力メッシュノードのうちの1つ以上から、居住、動き、熱、音などのメッセージを受信することによってトリガされ得る。他の実現化例では、メッシュネットワークは、人が構造物内の部屋から部屋へ移行するにつれて、照明ユニット1508を自動的に点灯したり消灯したりするために使用され得る。たとえば、メッシュネットワークデバイスは、構造物を通る人の動きを検出し、メッシュネットワークのノードを介して対応するメッセージを通信することができる。メッセージを受信する他のメッシュネットワークデバイスは、どの部屋が居住されているかを示すメッセージを使用して、それに応じて起動し、および/または停止することができる。上に言及されるように、メッシュネットワークはまた、緊急時に、安全な出口に通じる適切な照明ユニット1508を点灯することなどによって、出口照明を提供するために利用され得る。照明ユニット1508はまた、人が構造物から安全に出るために移動すべき出口経路に沿った方向を示すために点灯されてもよい。
【0139】
さまざまなメッシュネットワークデバイスはまた、構造物の居住者を識別して居場所を突き止めるために使用され得るようなウェアラブルコンピューティングデバイスと統合して通信し、それに応じて温度、照明、音響システムなどを調節するように実現されてもよい。他の実現化例では、RFID感知(たとえば、人がRFIDブレスレット、ネックレスまたはキーホブを身に着けること)、合成ビジョン手法(たとえば、ビデオカメラおよび顔認識プロセッサ)、音声手法(たとえば音声、音響パターン、振動パターン認識)、超音波感知/撮像手法、および赤外線または近距離無線通信(near-field communication:NFC)手法(たとえば、人が赤外線またはNFC対応のスマートフォンを身に着けること)は、規則ベースの推論エンジンまたは人工知能手法とともに、構造物または環境における居住者の位置に関して感知された情報から有用な結論を引き出す。
【0140】
他の実現化例では、サービスロボットの個人快適エリアネットワーク、個人健康エリアネットワーク、個人安全エリアネットワーク、および/または他のそのような人と向き合う機能性は、これらの機能性のよりよい性能を達成するための規則ベースの推論手法または人工知能手法に従った、環境における他のメッシュネットワークデバイスおよびセンサとの論理的統合によって強化され得る。個人健康エリアに関連する例では、システムは、規則ベースの推論手法および人工知能手法とともに、(たとえば、メッシュネットワークデバイスおよびセンサのうちのいずれかを使用して)家で飼っているペットが居住者の現在の位置に向かって移動しているかどうかを検出することができる。同様に、ハザード検出器サービスロボットは、キッチンで温度レベルおよび湿度レベルが上昇していることを通知され、周囲の煙レベルのいかなる小さな増加もおそらく調理作業によるものであり、本当に危険な条件によるものではないであろうという推論の下で、煙検出しきい値などのハザード検出しきい値を一時的に上昇させることができる。任意のタイプのモニタリング、検出、および/またはサービシングのために構成されたどのサービスロボットも、メッ
シュネットワーク上で通信するための無線相互接続プロトコルに従った、メッシュネットワーク上のメッシュノードデバイスとして実現可能である。
【0141】
メッシュネットワークデバイス1510はまた、スマートホーム環境における構造物の個々の各居住者のためのスマートアラームクロックを含んでいてもよい。たとえば、居住者は、翌日または翌週などの起床時間について、アラームデバイスをカスタマイズし、設定することができる。アラームが鳴る際の居住者のアラームに対する反応を検討し、好ましい睡眠パターンについて経時的に推論するために、人工知能が使用できる。個々の居住者は次に、その人の一意シグネチャに基づいて、メッシュネットワークにおいて追跡され得る。一意シグネチャは、超音波センサ、受動IRセンサなどを含むセンサといった、メッシュネットワークデバイスに位置するセンサから得られたデータに基づいて求められる。居住者の一意シグネチャは、動き、声、身長、サイズなどのパターンの組合せに基づくことができ、顔認識手法を使用することもできる。
【0142】
無線相互接続の例では、所望の睡眠および起床温度設定まで構造物を予め温め、または冷やすようにHVACシステムを効率的な態様で制御するために、個人の起床時間をサーモスタット1502に関連付けることができる。好ましい設定は、人が就寝する前および起床時にサーモスタットに設定された温度を取込むことなどによって経時的に学習可能である。収集されたデータはまた、呼吸パターン、心拍数、動きといった、人の生体認証表示を含んでいてもよく、それらから、推論が、このデータと人が実際にいつ起床したかを示すデータとの組合せに基づいて行なわれる。他のメッシュネットワークデバイスは、所望の設定まで環境を予め温め、または冷やすようにサーモスタット1502を調節すること、および照明1508を点灯または消灯すること、といった他のスマートホーム目的を提供するために、このデータを使用することができる。
【0143】
実現化例では、メッシュネットワークデバイスはまた、スマートホーム環境において流水を検出し、水の使用および消費のアルゴリズムおよびマッピングに基づいて水の使用についての推論を定めるなどのために、音響、振動、および/または動きの感知のために利用され得る。これは、ホームにおける各水源のシグネチャまたはフィンガープリントを求めるために使用可能であり、「音声フィンガープリンティング水使用」とも呼ばれる。同様に、メッシュネットワークデバイスは、ねずみおよび他のげっ歯動物といった望ましくない有害生物の、ならびにシロアリ、ゴキブリおよび他の昆虫による、かすかな音、振動、および/または動きを検出するために利用可能である。システムは次に、早期検出および予防を容易にするのを助けるために、環境における疑わしい有害生物を警告メッセージなどで居住者に通知できる。
【0144】
さらなる筋書きにおいて、メッシュネットワークおよびメッシュネットワークデバイスに対してここに記載される技術は、メッシュネットワークおよび例示的な環境1500において加わり動作するよう構成可能および/またはアドレッシング可能であるサードパーティプロダクトおよびデバイスに対して実現されることができる。互いと無線で通信し対話するよう無線相互接続に対して例示の環境において実現され得るサードパーティプロダクトおよびデバイスのさまざまな例が以下に記載される。上記のように、サードパーティプロダクトおよびデバイスは、さまざまな有用な目的および実現例のうちの任意のものを提供するよう互いとおよび/または中央サーバもしくはクラウドコンピューティングシステムと途切れ目なく統合するよう設計および実現され得る。
【0145】
(たとえば洗濯機、乾燥機、オーブンレンジ、食洗機、冷蔵庫など)主要な家庭用機器などのような機器デバイスは、家がHOME状態にあるときに洗濯物を洗うためなど、メッシュネットワークにおいて動作することができ、またはある機器は、家がAWAY状態にある(たとえばすべての人が構造物から去った)ときに経済モードに入ることができる
。火事もしくは自然災害などのような非常事態において、または非常事態に至り得る検出された天候状態に基づいて、天然ガスを用いる機器(たとえばストーブおよび湯沸かし器など)は不能化されてもよい。家のAWAY状態においては、オーブンがオン状態であるという通知、または洗濯機のステータスなどのような任意の他の機器の状態、冷蔵庫が動作を停止したこと、暖炉が期待以上に動作していることなどを報告する通知が、ユーザのモバイルデバイスに通信されてもよい。さらに、暖炉が期待される以上に動作しているという通知は、さらに、ドアまたは窓が冷たい外部の環境に対して開かれたままであることまたは破られて開いている旨の指示であってもよい。ユーザが、オーブンがオン状態である通知などのような機器通知に対して応答しない場合には、システムはオーブンを自動的にオフにしてもよい。
【0146】
機器(たとえば洗濯機および乾燥機など)は、家のHOME状態において消音モードに入ってもよい。家がAWAY状態にあり、蛇口がお湯に対してオン状態にされている場合には、システムは家HOME状態を起動することができる。さらなる機器の使用は、在宅および在宅者のおおよその数の指示を与えることができる。構造物の在宅者が指定された時間数または日数の間いない場合には、システムはエコモードに入るよう要求を通信することができ、ユーザは次いでそれを遠隔でモバイルデバイス上において承認してもよい。加えて、システムは、機器が(ピーク使用時間中にエネルギを節約する)RHR中に活性化される場合には警告を発し、RHR中における湯の流れを低減し、セントラルヒーティングおよび冷却システムを起動して、空気を、非常事態中において、または警報が活性化される場合に、押出すかまたは引入れ、オーブン温度またはオーブンがオン状態であることに基づいて、サーモスタットを調整するかまたは何らかの他のメッシュネットワークデバイス設定点を設定し、水および/または電気使用の報告をユーザのモバイルデバイスに通信してもよい。
【0147】
ブラインド、日除けもしくは他のタイプの覆いを有するか、または通電変色性であってもよい、ドアまたは窓は、夜の時間中において、または家AWAY状態において、日除けを下げるようになど、自動的に活性化されることができる。日除けは、さらに、HVACをオンにするのではなく、温度を下げるよう、または直射日光が検出される場合に、閉じられてもよい。代替的に、日除けは、警報が発せられる場合に開かれ、またはRHRの場合に閉じることができる。同様に、電気ファンを、RHRの場合にオンにすることができ、または構造物もしくは環境を加熱する場合にファンを反転させることができる。ファン状態、速度または他の特性を、別のメッシュネットワークデバイス設定点を変更する基礎として用いることができる。さらに、エネルギ使用データをユーザのモバイルデバイスに通信することができる。HVACユニットが加熱または冷却している場合には、ファンを脱階層化(反転)モードにおいて動作させることができる。家がAWAYモードにセットされる場合には、ファンを定期的にオンにする、および/または同じ制限された継続期間の間HVACファンとして起動してもよい。警報中、任意の外部の排気ファンが活性化されてもよい。HVACは、複数のセンサ入力を有することにより、カスタマイズされた温度制御に対してホーム環境の在宅を判断してもよい。
【0148】
電気自動車充電はDRベースであり得、危険が検出された場合には停止されるか、またはユーザはRHR中に充電を遅延させるオプションを与えられる。加えて、電気車両充電に対するエネルギ使用データがアップロードされ得、システムはスケジュールを学習して、ユーザが典型的にはいつ車両から去り、車両を利用するかに基づいて、車両を使用に対して予め調整するようになどすることができる。
【0149】
家庭照明を、家HOMEモードまたはAWAYモードに基づいてオンまたはオフになるように設定することができ、動き検知を用いて家HOMEモードを判断またはセットすることができる。家がAWAYモードにある場合には、システムは照明をランダムにオンお
よびオフにすることができる。より効率的でない照明はより頻繁に用いられないようにすることができる。夕食の状況、映画を見ている状況、ロマンチックな状況など、家の「状況」を雰囲気および照明で形成することができる。上に注記されるように、照明は赤い色を照射して危険または非常事態を示してもよく、次いで、明るい白色に変更して構造物からの出口経路を照明してもよい。照明は、さらに、RHRに対してオフにされるか暗くされ、温度に基づいてオンまたはオフにされ、および/または異なる開始色、中間色または終了色を有し得る。
【0150】
動き検知は照明を切換えHOMEモードを起動するよう統合されることができる。照明活性化は在宅を検出するよう監視されることができ、検出される在宅者がいない場合には、メッセージを通信して、HVACを非活性化するよう要求することができる。カメラ統合および撮像に関しては、動きが検出された場合には、照明の輝度をカメラ撮像のために増大させてもよい。照明が突発する場合には、カメラは照明にズームし得る。照明は、検出されたユーザ、ユーザプロファイルに基づいて、および/または照明もしくは温度を調整するよう、調整され得る。照明スケジュールを、家HOMEモードまたはAWAYモードに対して学習することができ、照明起動はHOMEモードを示すかまたは活性化させる。警報が活性化される場合には、屋外照明のすべてが活性化され、および/または、スイミングプール照明、投光照明および他の屋外照明などのような異なる色を照射することができる。照明は、さらに、警告または警報を示す、安定した、点滅する、ランダムな、または何らかのパターンでオンにされてもよい。警報が活性化される場合には、照明は、注意として黄色、または警告として赤色など、注意喚起ステータス色を照射することができる。照明の一部は、侵入者の位置および存在を示すよう照射することができる。照明は、さらに、ホーム環境センサ判断に基づくなどして、構造物からの安全な出口経路を照射するようオンにもされ得る。
【0151】
ドアロックがロック解除されない場合には、家HOMEモードが起動され得、同様に、在宅者が退去してドアをロックする場合には、家AWAYモードがセットされ得る。ロックのステータスは、在宅者がいる場合および家HOMEモードにある場合には、システムによって頻度がより低くポーリングされることができ、家AWAYモードにある場合にはより頻繁にポーリングされることができる。さらに、低バッテリ状態に遭遇し、家がAWAYモードにある場合には、フィーチャはロックベースのメッシュネットワークデバイスのバッテリ電力を節約するよう休眠し得る。ロックベースのデバイスは、ピンコード+BLE認証に基づいて動作するよう設計されることができ、ロックまたはロック解除状態を、在宅判断のために用い、および/または在宅判断のために他のセンサ情報と組合せることができる。ユーザが休暇中である場合などには、予期せぬドアロック解除は警報を起動することができ、ロック解除メッセージがユーザのモバイルデバイスに通信されることができる。さらに、ユーザが出発または退去すると、モバイルデバイスのスクリーン上の表示のために通知が起動され得る。
【0152】
すべてのタイプの無線センサデバイスを、メッシュネットワークにおいて動作し、温度および他の読取値をユーザおよび他のメッシュネットワークデバイスの任意のものに与えるよう実現することができる。サービスの観点からは、家AWAYモードおよびHVAC設定は、ユーザが他の場所にチェックインしたときに起動されてもよく、それは、さらに、位置サービス入力および/または暦イベントに基づいてもよい。システムは、さらに、予約、警報対話、および/またはサーモスタットの音声制御もしくは他のメッシュネットワークデバイスの任意のものに対して実現されてもよい。家の客が、システムのうちのいくつかのフィーチャおよび局面を近接度に基づいて制御することを許されてもよい。センサは、さらに、客に対して一時的なカメラアクセスおよび一時的なキーアクセスを容易にしてもよい。さらに、客自身の家が制御され、AWAYモードがメッシュネットワーク環境を含む他の構造物において検出される在宅に基づいて起動されてもよい。客の到着前お
よび客の退去後に部屋を自動的に撮影してもよく、非常に多くの客が検出もされ得る。
【0153】
ソーラーパワー装置は、メッシュネットワークにおいて、天気予報および蓄電された電荷に基づいて、サーモスタットを制御し、電気車両を充電し、および/または機器を起動することができる。スイッチおよびプラグを、在宅センサとともに、ここに記載されるフィーチャの多くに対して実現して、ユーザ検出などのために、警報装置を起動し、装置をRHR(混雑時報酬)中に非活性化し、エネルギ消費通知を通信するようになどすることができる。VOIPシステムを統合して、家AWAYモードにおいて、ユーザに対する呼出を転送するか、または警報が活性化された場合には911非常事態を呼出すことができる。VOIPシステムは、さらに、予定されるHOMEモード時間を監視し、家HOME状態に入らない場合にはユーザに対する呼出を起動することができる。
【0154】
音声および映像フィーチャを実現して、テレビおよび音声設備を非常事態、危険および警報状態中において下げ、家HOME状態および家AWAY状態においてデバイスをオンまたはオフにすることができる。警報を、さらに、メッシュネットワークデバイスを介して、メッセージとして、ある特定のデシベルレベルで伝搬(たとえば再同報通信)することもできる。音声は、さらに、家の状態に基づいて切換えることができ、IRセンサおよびアプリケーションの使用は家HOME状態を示すことができる。音声システムを用いて音声警報をシステムのスピーカを介して伝搬することができ、および/またはカメラが侵入者を検出する場合には音声を再生することができる。音声システムは、メッシュネットワークデバイスの任意のものと同様に、家に到着する人のETAに基づいてオンまたはオフにすることができる。
【0155】
自動車を一般にメッシュネットワークデバイスとして例示の環境に統合し、家に到着する人のETAを通信することができる。家HOME状態および家AWAY状態は、逆行して構造物を退去する際、またはETAが構造物を暖めるかまたは冷却するよう熱的遷移時間の使用を含むしきい値に基づく場合に、与えられるETAに基づいて起動されることができる。ジオフェンスのフィーチャもメッシュネットワークにおける使用のために組込むことができる。ユーザのモバイルデバイスと同様に、自動車は、メッシュネットワークデバイスのうちの任意のものおよび/またはメッシュネットワーク全体の車内ステータスを表示して、カメラ画像または動画配信を含むようにすることができる。自動車(車両)は、使用のために、家におけるサーモスタット設定に基づいて予め調整されることができ、ユーザ環境温度は、ユーザが家から車両へ、またはその逆に移動する中、維持される。例示の環境における構造物の微細な位置制御を用いて、到着時にガレージの扉を開くが、構造物の任意の他の入口ドア(またはそれらの任意の他の組合せ)をロック解除しないようになど、入口点を起動することができる。ガレージ扉の開閉を用いて、家HOME状態または家AWAY状態のいずれかを起動することもできる。ガレージ扉は、さらに、温度が高過ぎるかまたは低過ぎることが検出されることに基づいて開閉されることができる。ガレージ扉は、煙またはCOなどに対して、警報に基づいて開閉されることができ、強制的に開けられる場合には、システムはカメラを起動することができる。
【0156】
個人的健康および監視デバイスをメッシュネットワークおよび例示の環境1500に組込むことができる。さらに、ウェアラブルデバイスを、さらに、ここに記載されるさまざまなフィーチャの多くを実現するよう動作可能である任意のタイプのメッシュネットワークデバイスとして統合することができる。たとえば、ベッドカバーまたはウェアラブルデバイスはユーザが眠っているのを検出してもよく、部屋に対するサーモスタット状態を調整してユーザの好みおよび/またはプロファイルに対応する。起床温度が、さらに、ベッドカバーの動きまたはウェアラブル装置に基づいてもよく、家HOME状態は照明、音楽、テレビなどを含むよう起動されてもよい。乳幼児のステータスおよび/または体温をユーザのモバイルデバイスに通信することができ、カメラを乳幼児のステータスに基づいて
オンにすることができ、乳幼児モニタはシステムにおいて警報活性化を振動させ、および/または上昇させ、乳幼児モニタがジオフェンスを出る場合などには、警報が活性化され得る。乳幼児のためのメッシュネットワークデバイスはより厳格であってもよく、乳幼児設定に対して、より少ない温度ドリフトに対応するようにしてもよい。ユーザの体温を、ウェアラブルデバイスによって判断し、HVACをそれに従って調整することができる。ペット検出のためのペットウェアラブルデバイスを用いてカメラの誤った起動を低減することができる。
【0157】
上記の多くのカメラフィーチャに代えて、またはそれに加えて、カメラの1つ以上を用いて、家AWAY状態がセットされる場合には、通知を起動することができる。カメラの活性化および非活性化は、家HOME状態と家AWAY状態との間の手動または自動切換に基づいて行なうことができる。警報が活性化される場合には、画像クリップがユーザのモバイル装置などに通知として送信され、映像履歴も含まれてもよい。ドアベルまたはドアノックが(たとえばマイクロフォン、センサコンタクトなどによって)検出される場合には、カメラをオンにし、画像または映像を捕捉し、画像または映像を、閲覧のために、家における表示装置またはユーザのモバイルデバイス上に通信する。ユーザが構造物から退去する場合には、ウェアラブルデバイスはカメラをオンにすることを起動することができ、構造物に戻ってくると、カメラをオフにすることを開始することができる。同様に、ユーザが眠りに落ちた場合には、ウェアラブルデバイスはその睡眠を検出し、カメラをオンにすることを開始することができ、ユーザが目覚めると、カメラをオフにすることを開始することができる。動きがあるゾーンで検出され、かつ構造物に在宅者がいない場合には(たとえば家AWAY状態)、システムは、音楽、照明などをオンにすることによって、あたかも誰かが構造物内にいるかのようにシミュレーションするよう起動することができる。同様に、ある延長された時間の間どのような動きも検出されない場合には、システムは、あたかも誰かが家にいるかのようにシミュレーションを起動することができる。顔認識を実現してユーザの好みおよび/またはプロファイルをサポートすることができる。一般に、映像クリップ、音声記録または画像を、メッシュネットワークの例示的環境において検出される任意のイベントに対して捕捉および/または生成することができる。さらに、メッシュネットワーク内へのサードパーティアクセスポイントは、通知および関連のカメラへのその後のリンクを与える。
【0158】
シャワーおよび蛇口を例示の環境においてメッシュネットワークデバイスとして制御することができる。たとえば、警報中において、使用中のシャワーまたは蛇口を、冷水を流すように変更することができ、またはシャワーヘッド周りのLEDリングを起動して警報を示すことができる。同様に、扉のところにいる人に対して、シャワーを冷たくしてもよく、および/またはLEDライトを、ユーザに通知するように起動してもよい。一般にホーム自動化に対しては、メッシュネットワークデバイスは、サーモスタット、警報、動き、検出される音声、危険、ならびに他の属性およびフィーチャに基づいて制御することができる。RHRに対しては、ファンをオンにし、窓の日除けを閉じ、照明をオフにすることができる。温度、窓の日除け、音楽などを設定することを含むよう、ある場面を設定することができる。目覚まし時計は、検出されたカメラの動きイベントを知らせるかまたは警報で伝え、音声供給を開くことができる。目覚まし時計を用いて、フィーチャの数多くを容易にして、警報を知らせること、睡眠および起床温度、照明、警報をプログラミングすること、およびRHRを知らせることなどができる。
【0159】
リモコンデバイスを、さらに、メッシュネットワークデバイスとして実現して、ここに記載されるメッシュネットワークデバイスおよびフィーチャのうちの任意のものを制御および起動して、危険状態が検出されたとき、または警報が活性化されたときに、音声および映像を下げるようにすることができる。リモコンデバイスを、さらに、音声記録のために用いて、システムの質問に答え、RHRを知らせてもよい。保険予防のフィーチャおよ
び局面をさらに組込んで、特に煙およびCO検出器において低バッテリ状態が検出されたときにメッシュネットワークデバイスのためにバッテリを自動的に送達するようになどしてもよい。保険会社は、さらに、警報状態が活性化されたときに通知を受けてもよく、それによって、サポートが火事または侵入の後などに提供され得る。
【0160】
メッシュネットワークおよび/または例示的環境1500において動作するよう設計され得る他のサードパーティプロダクトおよびデバイスは、乳幼児およびペット監視装置、他のモノのインターネット(IoT)デバイス、ソフトウェアスタックプロバイダ、RFモジュールおよび開発キット、アクセスポイントおよびハブ装置、負荷制御スイッチ、セキュリティベースの装置、RFIDタグおよびビーコンデバイス、ドローンおよびボットデバイス、エネルギ貯蔵設備および装置、ホビー装置、測定ユニットおよび装置、PERS、測候所装置、設備、ならびに/または任意の他のタイプのプロダクトおよびメッシュネットワークデバイスを含むことができる。たとえば、スイミングプールヒータおよびポンプは、家がAWAYモードにあるかまたはRHR中にあるときに、エネルギを節約するよう、必須でないプール要素としてオフにされ得る。メッシュネットワークに関連付けられるクラウドベースのフィーチャに対しては、ISP/MSOフィーチャを実現して、ユーザがサーモスタット状態(または任意のメッシュネットワークデバイスの状態)をひと目で閲覧することができることを規定するようになどできる。侵入者警報または火災警報が活性化される場合には、スプリンクラーシステムを活性化およびオンにしてもよい。水の使用のメッセージをさらにユーザのモバイルデバイスに通信することができる。掃除機システムを家AWAY状態が起動されたときに掃除を行なうよう設定することができる。
【0161】
図16は、ここに説明されるようなメッシュネットワークアドレッシングの1つ以上の実施形態に従った、メッシュネットワークにおけるメッシュネットワークデバイスのうちのいずれかとして実現され得る例示的なメッシュネットワークデバイス1600を示す。デバイス1600は、電子回路、マイクロプロセッサ、メモリ、入出力(I/O)論理制御、通信インターフェイスおよびコンポーネント、ならびに、メッシュネットワークにおいてデバイスを実現するための他のハードウェア、ファームウェア、および/またはソフトウェアと統合され得る。また、メッシュネットワークデバイス1600は、図17に示す例示的なデバイスを参照してさらに説明されるような任意の数の異なるコンポーネントおよびそれらの任意の組合せといったさまざまなコンポーネントを用いて実現され得る。
【0162】
この例では、メッシュネットワークデバイス1600は、実行可能な命令を処理する低電力マイクロプロセッサ1602および高電力マイクロプロセッサ1604(たとえば、マイクロコントローラまたはデジタル信号プロセッサ)を含む。デバイスはまた、(たとえば、電子回路を含めるための)入出力(I/O)論理制御1606を含む。マイクロプロセッサは、1つ以上の半導体を使用して形成された集積回路、プログラマブル論理デバイス、論理デバイスのコンポーネントと、システム・オン・チップ(SoC)として実現されたプロセッサおよびメモリシステムといったシリコンおよび/またはハードウェアにおける他の実現化例とを含み得る。これに代えて、またはこれに加えて、デバイスは、処理回路および制御回路を用いて実現され得るソフトウェア、ハードウェア、ファームウェア、または固定論理回路のうちのいずれか1つまたはそれらの組合せを用いて実現され得る。低電力マイクロプロセッサ1602および高電力マイクロプロセッサ1604はまた、デバイスの1つ以上の異なるデバイス機能性をサポートできる。たとえば、高電力マイクロプロセッサ1604は計算集約的動作を実行し、一方、低電力マイクロプロセッサ1602は、1つ以上のセンサ1608からハザードまたは温度を検出するといった、それほど複雑でないプロセスを管理してもよい。低電力マイクロプロセッサ1602はまた、計算集約的プロセスのために高電力マイクロプロセッサ1604を起動するかまたは初期化してもよい。
【0163】
1つ以上のセンサ1608は、加速、温度、湿度、水、供給電力、近接、外部運動、デバイス運動、音声信号、超音波信号、光信号、火、煙、一酸化炭素、全地球測位衛星(global-positioning-satellite:GPS)信号、無線周波数(radio-frequency:RF)、
他の電磁信号または電磁場といったさまざまな特性を検出するために実現され得る。そのため、センサ1608は、温度センサ、湿度センサ、ハザード関連センサ、他の環境センサ、加速度計、マイクロホン、カメラを含むそれ以下の光学センサ(たとえば、電荷結合素子またはビデオカメラ)、能動または受動放射センサ、GPSレシーバ、および無線周波数識別検出器のうちのいずれか1つまたはそれらの組合せを含んでいてもよい。実現化例では、メッシュネットワークデバイス1600は、1つ以上の一次センサと1つ以上の二次センサとを含んでいてもよく、一次センサは、デバイスのコア動作(たとえば、サーモスタットでは温度を感知すること、または、煙検出器では煙を感知すること)の中心となるデータを感知し、一方、二次センサは、他のタイプのデータ(たとえば、動き、光、または音)を感知し、それらはエネルギー効率目的またはスマート動作目的のために使用され得る。
【0164】
メッシュネットワークデバイス1600は、メモリデバイスコントローラ1610、および任意のタイプの不揮発性メモリおよび/または他の好適な電子データ記憶デバイスといった、メモリデバイス1612を含む。メッシュネットワークデバイス1600はまた、メモリによってコンピュータ実行可能命令として維持され、マイクロプロセッサによって実行されるオペレーティングシステム1614といった、さまざまなファームウェアおよび/またはソフトウェアを含み得る。デバイスソフトウェアはまた、メッシュネットワークアドレッシングの実施形態を実現するアドレッシングアプリケーション1616を含んでいてもよい。メッシュネットワークデバイス1600はまた、別のデバイスまたは周辺コンポーネントとインターフェイス接続するためのデバイスインターフェイス1618を含み、メッシュネットワークデバイスのさまざまなコンポーネントをコンポーネント間のデータ通信のために結合する統合データバス1620を含む。メッシュネットワークデバイスにおけるデータバスはまた、異なるバス構造および/またはバスアーキテクチャのうちのいずれか1つまたはそれらの組合せとして実現されてもよい。
【0165】
デバイスインターフェイス1618は、(たとえばユーザインターフェイスとして)ユーザから入力を受信し、および/またはユーザに情報を提供してもよく、受信された入力は、設定を定めるために使用可能である。デバイスインターフェイス1618はまた、ユーザ入力に応答する機械的コンポーネントまたは仮想コンポーネントを含んでいてもよい。たとえば、ユーザは、摺動コンポーネントまたは回転可能コンポーネントを機械的に動かすことができ、または、タッチパッドに沿った動きが検出されてもよく、そのような動きはデバイスの設定調節に対応していてもよい。物理的なおよび仮想の可動ユーザインターフェイスコンポーネントは、ユーザが、明らかな連続体の一部に沿って設定を設定することを可能にする。デバイスインターフェイス1618はまた、ボタン、キーパッド、スイッチ、マイクロホン、および撮像装置(たとえばカメラデバイス)といった任意の数の周辺装置から入力を受信してもよい。
【0166】
メッシュネットワークデバイス1600は、メッシュネットワークにおける他のメッシュネットワークデバイスとの通信用のメッシュネットワークインターフェイス、およびインターネットなどを介したネットワーク通信用の外部ネットワークインターフェイスといった、ネットワークインターフェイス1622を含み得る。メッシュネットワークデバイス1600はまた、メッシュネットワークインターフェイスを介した他のメッシュネットワークデバイスとの無線通信用の、および複数の異なる無線通信システム用の無線システム1624を含む。無線システム1624は、Wi−Fi、Bluetooth(登録商標)、モ
バイルブロードバンド、および/またはポイント・ツー・ポイントIEEE 802.15.4を含んでいてもよい。異なる無線システムの各々は、特定の無線通信技術のために
実現された無線デバイス、アンテナ、およびチップセットを含み得る。メッシュネットワークデバイス1600はまた、バッテリなどの、および/またはデバイスを線間電圧に接続するための電源1626を含む。デバイスのバッテリを充電するために、交流電源も使用されてもよい。
【0167】
図17は、前述の図1〜16を参照して説明されたようなメッシュネットワークアドレッシングの実施形態を実現するメッシュネットワークデバイスのうちのいずれかとして実現され得る例示的なデバイス1702を含む例示的なシステム1700を示す。例示的なデバイス1702は、任意のタイプのコンピューティングデバイス、クライアントデバイス、携帯電話、タブレット、通信デバイス、娯楽デバイス、ゲーミングデバイス、メディア再生デバイス、および/または他のタイプのデバイスであってもよい。また、例示的なデバイス1702は、サーモスタット、ハザード検出器、カメラ、照明ユニット、ルータ、ボーダールータ、ジョイナールータ、参加デバイス、エンドデバイス、リーダー、アクセスポイント、および/または他のメッシュネットワークデバイスといった、メッシュネットワーク上での通信のために構成された任意の他のタイプのメッシュネットワークデバイスとして実現されてもよい。
【0168】
デバイス1702は、メッシュネットワークにおけるデバイス間で通信されるデータ、受信中のデータ、一斉送信用に予定されているデータ、データのデータパケット、デバイス間で同期されるデータといったデバイスデータ1706の有線および/または無線通信を可能にする通信デバイス1704を含む。デバイスデータは、任意のタイプの通信データと、デバイス上で実行されるアプリケーションによって生成される音声データ、映像データおよび/または画像データとを含み得る。通信デバイス1704はまた、携帯電話通信用の、および/またはネットワークデータ通信用のトランシーバを含み得る。
【0169】
デバイス1702はまた、デバイス、データネットワーク(たとえば、メッシュネットワーク、外部ネットワークなど)、ならびに他のデバイス間の接続リンクおよび/または通信リンクを提供するデータネットワークインターフェイスといった、入力/出力(I/O)インターフェイス1708を含む。I/Oインターフェイスは、任意のタイプのコンポーネント、周辺装置、および/または付属装置にデバイスを結合するために使用可能である。I/Oインターフェイスはまた、データ入力ポートを含み、それを介して、任意のタイプのデータ、メディアコンテンツ、および/またはデバイスへのユーザ入力などの入力が受信可能であり、また、任意のタイプの通信データ、ならびに音声データ、映像データおよび/または画像データが、任意のコンテンツおよび/またはデータソースから受信可能である。
【0170】
デバイス1702は、実行可能な命令を処理する任意のタイプのマイクロプロセッサ、コントローラなどを有するようなハードウェアで少なくとも部分的に実現され得る処理システム1710を含む。処理システムは、1つ以上の半導体を使用して形成された集積回路、プログラマブル論理デバイス、論理デバイスのコンポーネントと、システム・オン・チップ(SoC)として実現されたプロセッサおよびメモリシステムといったシリコンおよび/またはハードウェアにおける他の実現化例とを含み得る。これに代えて、またはこれに加えて、デバイスは、処理回路および制御回路を用いて実現され得るソフトウェア、ハードウェア、ファームウェア、または固定論理回路のうちのいずれか1つまたはそれらの組合せを用いて実現され得る。デバイス1702はさらに、デバイス内のさまざまなコンポーネントを結合する任意のタイプのシステムバスまたは他のデータおよびコマンド転送システムを含んでいてもよい。システムバスは、異なるバス構造およびアーキテクチャのうちのいずれか1つまたはそれらの組合せと、制御線およびデータ線とを含み得る。
【0171】
デバイス1702はまた、コンピューティングデバイスによってアクセス可能であり、
データおよび実行可能な命令(たとえば、ソフトウェアアプリケーション、モジュール、プログラム、関数など)の永続的格納を提供するデータ記憶装置といったコンピュータ読取可能ストレージメモリ1712を含む。ここに説明されるコンピュータ読取可能ストレージメモリは、伝搬信号を除外する。コンピュータ読取可能ストレージメモリの例は、揮発性メモリおよび不揮発性メモリ、固定されたおよびリムーバブルなメディアデバイス、ならびに、コンピューティングデバイスのアクセスのためにデータを維持する任意の好適なメモリデバイスまたは電子データストレージを含む。コンピュータ読取可能ストレージメモリは、さまざまなメモリデバイス構成におけるランダムアクセスメモリ(random access memory:RAM)、読出専用メモリ(read-only memory:ROM)、フラッシュメモリ、および他のタイプのストレージメモリのさまざまな実現化例を含み得る。
【0172】
コンピュータ読取可能ストレージメモリ1712は、コンピュータ読取可能ストレージメモリでソフトウェアアプリケーションとして維持され、処理システム1710によって実行されるオペレーティングシステムといった、デバイスデータ1706およびさまざまなデバイスアプリケーション1714の格納を提供する。デバイスアプリケーションはまた、任意の形態の制御アプリケーション、ソフトウェアアプリケーション、信号処理および制御モジュール、特定のデバイスに固有のコード、特定のデバイス用のハードウエア抽象化層などといった、デバイスマネージャを含んでいてもよい。この例では、デバイスアプリケーションはまた、例示的なデバイス1702がここに説明されたメッシュネットワークデバイスのうちのいずれかとして実現される場合などに、メッシュネットワークアドレッシングの実施形態を実現する、アドレッシングアプリケーション1716を含む。
【0173】
デバイス1702はまた、音声デバイス1720用の音声データを生成し、および/または表示デバイス1722用の表示データを生成する、音声および/または映像システム1718を含む。音声デバイスおよび/または表示デバイスは、音声データ、映像データ、表示データおよび/または画像データ、たとえばデジタル写真の画像コンテンツなどを処理し、表示し、および/または他の態様で表わす任意のデバイスを含む。実現化例では、音声デバイスおよび/または表示デバイスは、例示的なデバイス1702の統合されたコンポーネントである。これに代えて、音声デバイスおよび/または表示デバイスは、例示的なデバイスの外部の周辺コンポーネントである。実施形態では、メッシュネットワークアドレッシングについて説明された技術のうちのの少なくとも一部は、分散型システムで、たとえば「クラウド」1724を通してプラットフォーム1726で実現されてもよい。クラウド1724は、サービス1728および/またはリソース1730のためのプラットフォーム1726を含み、および/またはプラットフォーム1726を代表する。
【0174】
プラットフォーム1726は、(たとえば、サービス1728に含まれる)サーバデバイスおよび/または(たとえば、リソース1730として含まれる)ソフトウェアリソースといった、ハードウェアの基本的機能性を抽象化し、例示的なデバイス1702を他のデバイス、サーバなどに接続する。リソース1730はまた、例示的なデバイス1702からリモートのサーバに対してコンピュータ処理が実行される間に利用可能なアプリケーションおよび/またはデータを含んでいてもよい。加えて、サービス1728および/またはリソース1730は、インターネット、セルラーネットワーク、またはWi−Fiネットワークなどを通して加入者ネットワークサービスを容易にしてもよい。プラットフォーム1726はまた、機能性がシステム1700全体に分散された相互接続されたデバイス実施形態などにおいて、プラットフォームを介して実現されるリソース1730に対する要望をサービスするために、リソースを抽象化してスケール変更するよう機能してもよい。たとえば、機能性は、例示的なデバイス1702で、および、クラウド1724の機能性を抽象化するプラットフォーム1726を介して、部分的に実現されてもよい。
【0175】
メッシュネットワークアドレッシングの実施形態が、特徴および/または方法に特有の
文言で説明されてきたが、添付された請求項の対象は、説明された特定の特徴または方法に必ずしも限定されない。むしろ、特定の特徴および方法は、メッシュネットワークアドレッシングの例示的な実現化例として開示されており、他の同等の特徴および方法が、添付された請求項の範囲内に該当するよう意図されている。また、さまざまな異なる実施形態が説明されており、説明された各実施形態は独立して、または1つ以上の他の説明された実施形態に関連して実現可能であるということが理解されるべきである。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17