IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

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

特開2022-141746メッシュネットワークコミッショニング
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022141746
(43)【公開日】2022-09-29
(54)【発明の名称】メッシュネットワークコミッショニング
(51)【国際特許分類】
   H04W 76/10 20180101AFI20220921BHJP
   H04W 84/18 20090101ALI20220921BHJP
   H04W 12/08 20210101ALI20220921BHJP
【FI】
H04W76/10
H04W84/18
H04W12/08
【審査請求】有
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2022108975
(22)【出願日】2022-07-06
(62)【分割の表示】P 2020147536の分割
【原出願日】2015-06-24
(31)【優先権主張番号】62/063,135
(32)【優先日】2014-10-13
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/115,601
(32)【優先日】2015-02-12
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/016,450
(32)【優先日】2014-06-24
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/141,853
(32)【優先日】2015-04-02
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】トゥロン,マーティン・エイ
(72)【発明者】
【氏名】エリクソン,グラント・エム
(72)【発明者】
【氏名】ボロス,クリストファー・エイ
(72)【発明者】
【氏名】ローグ,ジェイ・ディ
(57)【要約】      (修正有)
【課題】メッシュネットワークコミッショニングを簡略化する方法及び装置を提供する。
【解決手段】無線メッシュネットワークにおいて、コミッショニングデバイスは、メッシュネットワークに1つ以上の参加デバイスを参加させるためにネットワーク通信セッションを安全に確立するために、メッシュネットワークのコミッショニングデバイスとボーダールータとの間に安全なコミッショニング通信セッションを確立する。コミッショニングデバイスは、メッシュネットワークのための参加を起動し、参加デバイスからメッシュネットワークに参加するための要求を受信することができる。コミッショニングデバイスは、コミッショニングデバイスと参加デバイスとの間に安全なジョイナー通信セッションを確立し、暗号化されたデバイス識別子を使用して参加デバイスを認証し、参加デバイスをメッシュネットワークに参加させる。
【選択図】図2
【特許請求の範囲】
【請求項1】
メッシュネットワークに参加デバイスを安全に参加させる方法であって、前記方法は、
ジョイナールータで、メッシュネットワークに参加することを要求する参加デバイスからメッセージを受信するステップと、
受信されたメッセージを、メッシュネットワークのコミッショニングデバイスに転送するステップと、
コミッショニングデバイスから、参加デバイスがメッシュネットワークに参加するための認証を受信するステップと、
ネットワーク情報を参加デバイスに送信するステップとを含み、
ネットワーク情報は、参加デバイスがメッシュネットワークに参加することを可能にするために有効である、方法。
【請求項2】
参加デバイスからビーコン要求を受信するステップと、
ジョイナールータから参加デバイスにビーコンを送信するステップとをさらに含み、
ビーコンは、メッシュネットワークが参加のために利用可能であるという表示を提供する、請求項1に記載の方法。
【請求項3】
前記ビーコンを送信するステップは、参加デバイスが参加デバイスとジョイナールータとの間にローカルリンクを確立することを可能にするために有効である、請求項2に記載の方法。
【請求項4】
前記メッセージを受信するステップと、前記受信されたメッセージを転送するステップとは、データグラムトランスポート層セキュリティ(DTLS)を使用して行なわれる、前述の請求項のいずれか1項に記載の方法。
【請求項5】
前記メッセージを受信するステップと、前記受信されたメッセージを転送するステップとは、ユーザデータグラムプロトコル(UDP)を使用して行なわれる、請求項1~3のいずれか1項に記載の方法。
【請求項6】
参加デバイスから受信されたメッセージは、参加デバイスを認証するために使用可能である暗号化されたデバイス識別子を含み、
参加デバイスは、ジャグリングによるパスワード認証済みキー交換(J-PAKE)を使用して認証され、
認証は、コミッショニングデバイスと参加デバイスとの間に安全な通信セッションを確立するために有効である、前述の請求項のいずれか1項に記載の方法。
【請求項7】
前記受信されたメッセージをコミッショニングデバイスに転送するステップは、ジョイナールータとコミッショニングデバイスとの間の通信経路において、メッシュネットワークの1つ以上のルータを通して、受信されたメッセージを転送するステップを含む、前述の請求項のいずれか1項に記載の方法。
【請求項8】
1つ以上のルータのうちの1つは、メッシュネットワークを外部ネットワークに接続するボーダールータであり、コミッショニングデバイスは外部ネットワークに取付けられている、請求項7に記載の方法。
【請求項9】
ジョイナールータとして実現されるメッシュネットワークデバイスであって、メッシュネットワークデバイスは、
メッシュネットワークにおける通信のために構成されたメッシュネットワークインターフェイスと、
コミッショニングアプリケーションを実現するためのメモリおよびプロセッサシステムとを含み、コミッショニングアプリケーションは、
メッシュネットワークインターフェイスを介して、メッシュネットワークに参加することを要求する参加デバイスからメッセージを受信し、
受信されたメッセージを、メッシュネットワークのコミッショニングデバイスに転送し、
コミッショニングデバイスから、参加デバイスがメッシュネットワークに参加するための認証を受信し、
ネットワーク情報が参加デバイスに送信されるのを開始するように構成され、
ネットワーク情報は、参加デバイスがメッシュネットワークに参加することを可能にするために有効である、メッシュネットワークデバイス。
【請求項10】
コミッショニングアプリケーションは、
メッシュネットワークインターフェイスを介して、参加デバイスからビーコン要求を受信し、
ビーコンがジョイナールータから参加デバイスに送信されるのを開始するように構成され、
ビーコンは、メッシュネットワークが参加のために利用可能であるという表示を提供する、請求項9に記載のメッシュネットワークデバイス。
【請求項11】
ビーコンは、参加デバイスが参加デバイスとジョイナールータとの間にローカルリンクを確立することを可能にするために有効である、請求項10に記載のメッシュネットワークデバイス。
【請求項12】
コミッショニングアプリケーションは、データグラムトランスポート層セキュリティ(DTLS)を使用してメッセージを受信し、受信されたメッセージを転送するように構成されている、請求項9~11のいずれか1項に記載のメッシュネットワークデバイス。
【請求項13】
コミッショニングアプリケーションは、ユーザデータグラムプロトコル(UDP)を使用してメッセージを受信し、受信されたメッセージを転送するように構成されている、請求項9~11のいずれか1項に記載のメッシュネットワークデバイス。
【請求項14】
参加デバイスから受信されたメッセージは、参加デバイスを認証するために使用可能である暗号化されたデバイス識別子を含み、
参加デバイスは、ジャグリングによるパスワード認証済みキー交換(J-PAKE)を使用して認証され、
認証は、コミッショニングデバイスと参加デバイスとの間に安全な通信セッションを確立するために有効である、請求項9~13のいずれか1項に記載のメッシュネットワークデバイス。
【請求項15】
コミッショニングアプリケーションは、ジョイナールータとコミッショニングデバイスとの間の通信経路において、メッシュネットワークの1つ以上のルータを通して、受信されたメッセージを転送するように構成されている、請求項9~14のいずれか1項に記載のメッシュネットワークデバイス。
【請求項16】
1つ以上のルータのうちの1つは、メッシュネットワークを外部ネットワークに接続するボーダールータであり、コミッショニングデバイスは外部ネットワークに取付けられている、請求項15に記載のメッシュネットワークデバイス。
【請求項17】
メッシュネットワークシステムであって、
メッシュネットワークに参加することを要求するように構成された参加デバイスと、
ジョイナールータとを含み、ジョイナールータは、
メッシュネットワークに参加することを要求する参加デバイスからメッセージを受信し、
受信されたメッセージを、メッシュネットワークのコミッショニングデバイスに転送し、
コミッショニングデバイスから、参加デバイスがメッシュネットワークに参加するための認証を受信し、
ネットワーク情報を参加デバイスに送信するように構成され、
ネットワーク情報は、参加デバイスがメッシュネットワークに参加することを可能にするために有効である、メッシュネットワークシステム。
【請求項18】
ジョイナールータは、
参加デバイスからビーコン要求を受信し、
ビーコンを参加デバイスに送信するように構成され、
ビーコンは、メッシュネットワークが参加のために利用可能であるという表示を提供し、ビーコンは、参加デバイスが参加デバイスとジョイナールータとの間にローカルリンクを確立することを可能にするために有効である、請求項17に記載のメッシュネットワークシステム。
【請求項19】
参加デバイスから受信されたメッセージは、参加デバイスを認証するために使用可能である暗号化されたデバイス識別子を含み、
参加デバイスは、ジャグリングによるパスワード認証済みキー交換(J-PAKE)を使用して認証され、
認証は、コミッショニングデバイスと参加デバイスとの間に安全な通信セッションを確立するために有効である、前述の請求項のいずれか1項に記載のメッシュネットワークシステム。
【請求項20】
ジョイナールータは、ジョイナールータとコミッショニングデバイスとの間の通信経路において、メッシュネットワークの1つ以上のルータを通して、受信されたメッセージをコミッショニングデバイスに転送するように構成され、ルータのうちの1つは、メッシュネットワークを外部ネットワークに接続するボーダールータである、請求項17~19のいずれか1項に記載のメッシュネットワークシステム。
【請求項21】
メッシュネットワークに参加デバイスを安全に参加させる方法であって、前記方法は、
ジョイナールータで、メッシュネットワークに参加することを要求する参加デバイスからDTLS-ClientHelloメッセージを受信するステップと、
受信されたDTLS-ClientHelloメッセージをDTLS中継受信通知メッセージ内にカプセル化するステップと、
DTLS中継受信通知メッセージを、メッシュネットワークのコミッショニングデバイスに送信するステップと、
コミッショニングデバイスから、DTLS中継送信通知メッセージを受信するステップと、
DTLS中継送信通知メッセージの内容を参加デバイスに送信するステップとを含み、内容は、参加デバイスがメッシュネットワークに参加することを可能にするために有効であり、前記方法はさらに、
コミッショニングデバイスから、参加デバイスはメッシュネットワーク用のネットワーククレデンシャルを受信するよう委託されるべきであるという表示を受信するステップと、
コミッショニングデバイスから、コミッショニングデバイスと参加デバイスとの間で共
有されるキー暗号化キー(KEK)を受信するステップと、
表示を受信するステップに応答して、ネットワーククレデンシャルの通信を安全にするためにKEKを使用してジョイナールータから参加デバイスにネットワーククレデンシャルを送信するステップとを含む、方法。
【請求項22】
参加デバイスからビーコン要求を受信するステップと、
ジョイナールータから参加デバイスにビーコンを送信するステップとをさらに含む、請求項21に記載の方法。
【請求項23】
ビーコンは、ネットワーク名と、メッシュネットワークへの参加が許可されている1つ以上の参加デバイスを示すステアリングデータとを含む、請求項22に記載の方法。
【請求項24】
前記参加デバイスからDTLS-ClientHelloメッセージを受信するステップは、ユーザデータグラムプロトコル(UDP)を利用する、請求項21~23のいずれか1項に記載の方法。
【請求項25】
DTLS中継受信通知メッセージは、
参加デバイスのアドレスと、
ジョイナールータのアドレスと、
受信されたDTLS-ClientHelloメッセージとを含む、請求項21~24のいずれか1項に記載の方法。
【請求項26】
DTLS中継送信通知メッセージは、
参加デバイスのアドレスと、
ジョイナールータのアドレスと、
DTLS-HelloVerifyメッセージとを含む、請求項21~25のいずれか1項に記載の方法。
【請求項27】
前記DTLS中継送信通知メッセージの内容を参加デバイスに送信するステップは、コミッショニングデバイスと参加デバイスとの間に安全な通信セッションを確立するために有効である、請求項21~26のいずれか1項に記載の方法。
【請求項28】
安全な通信セッションは、参加デバイスのプロビジョニングを行なうために使用可能である、請求項27に記載の方法。
【請求項29】
参加デバイスからコミッショニングデバイスに送信されるDTLS中継受信通知メッセージの送信に速度制限を適用するステップをさらに含む、請求項21に記載の方法。
【請求項30】
ジョイナールータとして実現されるメッシュネットワークデバイスであって、メッシュネットワークデバイスは、
メッシュネットワークにおける通信のために構成されたメッシュネットワークインターフェイスと、
コミッショニングアプリケーションを実現するためのメモリおよびプロセッサシステムとを含み、コミッショニングアプリケーションは、
メッシュネットワークインターフェイスを介して、メッシュネットワークに参加することを要求する参加デバイスからDTLS-ClientHelloメッセージを受信し、
受信されたDTLS-ClientHelloメッセージをDTLS中継受信通知メッセージ内にカプセル化し、
DTLS中継受信通知メッセージが、メッシュネットワークのコミッショニングデバイスに送信されるのを開始し、
コミッショニングデバイスから、DTLS中継送信通知メッセージを受信し、
DTLS中継送信通知メッセージの内容が参加デバイスに送信されるのを開始するように構成され、内容は、参加デバイスがメッシュネットワークに参加することを可能にするために有効であり、コミッショニングアプリケーションはさらに、
コミッショニングデバイスから、参加デバイスはメッシュネットワーク用のネットワーククレデンシャルを受信するよう委託されるべきであるという表示を受信し、
コミッショニングデバイスから、コミッショニングデバイスと参加デバイスとの間で共有されるキー暗号化キー(KEK)を受信し、
表示に応答して、ネットワーククレデンシャルの通信を安全にするためにKEKを使用してネットワーククレデンシャルがジョイナールータから参加デバイスに送信されるのを開始するように構成されている、メッシュネットワークデバイス。
【請求項31】
コミッショニングアプリケーションは、
メッシュネットワークインターフェイスを介して、参加デバイスからビーコン要求を受信し、
ビーコンがジョイナールータから参加デバイスに送信されるのを開始するように構成されている、請求項30に記載のメッシュネットワークデバイス。
【請求項32】
コミッショニングアプリケーションは、ユーザデータグラムプロトコル(UDP)を利用して参加デバイスからDTLS-ClientHelloメッセージを受信するように構成されている、請求項30に記載のメッシュネットワークデバイス。
【請求項33】
DTLS中継受信通知メッセージは、
参加デバイスのアドレスと、
ジョイナールータのアドレスと、
受信されたDTLS-ClientHelloメッセージとを含み、
DTLS中継送信通知メッセージは、
参加デバイスのアドレスと、
ジョイナールータのアドレスと、
DTLS-HelloVerifyメッセージとを含む、請求項30~32のいずれか1項に記載のメッシュネットワークデバイス。
【請求項34】
参加デバイスに送信されたDTLS中継送信通知メッセージの内容は、コミッショニングデバイスと参加デバイスとの間に安全な通信セッションを確立するために有効である、請求項30~33のいずれか1項に記載のメッシュネットワークデバイス。
【請求項35】
安全な通信セッションは、参加デバイスのプロビジョニングを行なうために使用可能である、請求項30~34のいずれか1項に記載のメッシュネットワークデバイス。
【請求項36】
メッシュネットワークシステムであって、
メッシュネットワークに参加することを要求するように構成された参加デバイスと、
ジョイナールータとを含み、ジョイナールータは、
メッシュネットワークに参加することを要求する参加デバイスからDTLS-ClientHelloメッセージを受信し、
受信されたDTLS-ClientHelloメッセージをDTLS中継受信通知メッセージ内にカプセル化し、
DTLS中継受信通知メッセージを、メッシュネットワークのコミッショニングデバイスに送信し、
コミッショニングデバイスから、DTLS中継送信通知メッセージを受信し、
DTLS中継送信通知メッセージの内容を参加デバイスに送信するように構成され、内
容は、参加デバイスがメッシュネットワークに参加することを可能にするために有効であり、ジョイナールータはさらに、
コミッショニングデバイスから、参加デバイスはメッシュネットワーク用のネットワーククレデンシャルを受信するよう委託されるべきであるという表示を受信し、
コミッショニングデバイスから、コミッショニングデバイスと参加デバイスとの間で共有されるキー暗号化キー(KEK)を受信し、
表示に応答して、ネットワーククレデンシャルの通信を安全にするためにKEKを使用してジョイナールータから参加デバイスにネットワーククレデンシャルを送信するように構成されている、メッシュネットワークシステム。
【請求項37】
ジョイナールータは、
参加デバイスからビーコン要求を受信し、
ジョイナールータから参加デバイスにビーコンを送信するように構成されている、請求項36に記載のメッシュネットワークデバイス。
【請求項38】
ビーコンは、ネットワーク名と、メッシュネットワークへの参加が許可されている1つ以上の参加デバイスを示すステアリングデータとを含む、請求項37に記載のメッシュネットワークデバイス。
【請求項39】
ジョイナールータは、ユーザデータグラムプロトコル(UDP)を利用して参加デバイスからDTLS-ClientHelloメッセージを受信するように構成されている、請求項36に記載のメッシュネットワークデバイス。
【請求項40】
DTLS中継受信通知メッセージは、
参加デバイスのアドレスと、
ジョイナールータのアドレスと、
受信されたDTLS-ClientHelloメッセージとを含み、
DTLS中継送信通知メッセージは、
参加デバイスのアドレスと、
ジョイナールータのアドレスと、
DTLS-HelloVerifyメッセージとを含む、請求項36~39のいずれか1項に記載のメッシュネットワークデバイス。
【請求項41】
メッシュネットワークに参加するように1つ以上の参加デバイスをコミッショニングするためのコミッショナーになるようにコミッショニングデバイスを認可する方法であって、前記方法は、
ボーダールータで、メッシュネットワーク用のコミッショナーになるための申請をコミッショニングデバイスから受信するステップと、
受信された申請を、メッシュネットワークのリーダーデバイスに送信するステップと、
リーダーデバイスから、申請に対する応答を受信するステップとを含み、応答は申請の受入れまたは拒否を表示し、前記方法はさらに、
前記応答を受信するステップに応答して、申請の受入れまたは拒否の表示をコミッショニングデバイスに送信するステップを含む、方法。
【請求項42】
ボーダールータによって、コミッショニングデバイスのためのメッシュネットワークの利用可能性を広告するステップをさらに含み、前記申請を受信するステップは、コミッショニングデバイスが前記広告を受信することに応答している、請求項41に記載の方法。
【請求項43】
ボーダールータで、ボーダールータに安全に接続するための要求をコミッショニングデバイスから受信するステップをさらに含む、前述の請求項のいずれか1項に記載の方法。
【請求項44】
安全な接続は、データグラムトランスポート層セキュリティ(DTLS)を使用して確立される、請求項43に記載の方法。
【請求項45】
前記申請の受入れの表示を送信するステップは、安全なコミッショニングセッションを確立する、請求項41~44のいずれか1項に記載の方法。
【請求項46】
安全なコミッショニング通信セッションを確立するために、コミッショニングデバイスのアイデンティティをボーダールータに登録するステップをさらに含み、前記登録するステップは、暗号化されたコミッショニングクレデンシャルをボーダールータに提供するステップを含み、暗号化されたコミッショニングクレデンシャルは、ユーザによってコミッショニングデバイスに入力されたコミッショニングクレデンシャルから導き出されたものである、請求項41~45のいずれか1項に記載の方法。
【請求項47】
ボーダールータは、コミッショニングデバイスをメッシュネットワークに認証するために使用可能である暗号化されたコミッショニングクレデンシャルのコピーを含む、請求項46に記載の方法。
【請求項48】
暗号化されたコミッショニングクレデンシャルのコピーは、コミッショニングクレデンシャルから以前に導き出され、
コミッショニングクレデンシャルは、暗号化されたコミッショニングクレデンシャルのコピーを導き出したメッシュネットワークのリーダーデバイスに注入され、
リーダーデバイスは、暗号化されたコミッショニングクレデンシャルのコピーを、ボーダールータに安全に通信した、請求項47に記載の方法。
【請求項49】
ボーダールータとして実現されるメッシュネットワークデバイスであって、メッシュネットワークデバイスは、
メッシュネットワークにおける通信のために構成されたメッシュネットワークインターフェイスと、
コミッショニングアプリケーションを実現するためのメモリおよびプロセッサシステムとを含み、コミッショニングアプリケーションは、
メッシュネットワークインターフェイスを介して、メッシュネットワークに参加するように1つ以上の参加デバイスをコミッショニングするためのメッシュネットワーク用のコミッショナーになるための申請をコミッショニングデバイスから受信し、
受信された申請がメッシュネットワークのリーダーデバイスに送信されるのを開始し、
リーダーデバイスから、申請に対する応答を受信するように構成され、応答は申請の受入れまたは拒否を表示し、コミッショニングアプリケーションはさらに、
申請に対する受信された応答に応答して、申請の受入れまたは拒否の表示がコミッショニングデバイスに送信されるのを開始するように構成されている、メッシュネットワークデバイス。
【請求項50】
コミッショニングアプリケーションは、コミッショニングデバイスのためのメッシュネットワークの利用可能性を広告し、コミッショニングデバイスが広告された利用可能性を受信することに応答して申請を受信するように構成され、
広告された利用可能性は、マルチキャストドメイン名システム(mDNS)を含むサービス発見プロトコルを使用して行なわれる、請求項49に記載のメッシュネットワークデバイス。
【請求項51】
コミッショニングアプリケーションは、ボーダールータに安全に接続するための要求をコミッショニングデバイスから受信するように構成され、
安全な接続は、データグラムトランスポート層セキュリティ(DTLS)を使用して確立される、前述の請求項のいずれか1項に記載のメッシュネットワークデバイス。
【請求項52】
リーダーデバイスによる申請の受入れは、コミッショニングデバイスがメッシュネットワーク用のコミッショナーになることを認可し、
メッシュネットワーク用のアクティブなコミッショナーを追跡する内部状態をリーダーデバイスが更新することを可能にする申請の受入れは、メッシュネットワーク用の参加許可フラグを真に設定して、メッシュネットワーク内でコミッショニングデータセットを伝搬し、
申請の受入れの送信された表示は、安全なコミッショニングセッションを確立する、請求項49~51のいずれか1項に記載のメッシュネットワークデバイス。
【請求項53】
コミッショニングアプリケーションは、ボーダールータに提供された暗号化されたコミッショニングクレデンシャルを含む、安全なコミッショニング通信セッションを確立するために、コミッショニングデバイスのアイデンティティをボーダールータに登録するように構成され、
暗号化されたコミッショニングクレデンシャルは、ユーザによってコミッショニングデバイスに入力されたコミッショニングクレデンシャルから導き出されたものであり、
ボーダールータは、コミッショニングデバイスをメッシュネットワークに認証するために使用可能である暗号化されたコミッショニングクレデンシャルのコピーを含む、請求項49~52のいずれか1項に記載のメッシュネットワークデバイス。
【請求項54】
コミッショニングデバイスとボーダールータとは、メッシュネットワーク以外の他のネットワークを通して通信する、請求項49~52のいずれか1項に記載のメッシュネットワークデバイス。
【請求項55】
他のネットワークは、Wi-Fiネットワークまたはイーサネットネットワークのうちの一方である、請求項54に記載のメッシュネットワークデバイス。
【請求項56】
メッシュネットワークシステムであって、
メッシュネットワークに参加するように1つ以上の参加デバイスをコミッショニングするためのコミッショナーになるよう申請するように構成されたコミッショニングデバイスと、
ボーダールータとを含み、ボーダールータは、
メッシュネットワーク用のコミッショナーになるための申請をコミッショニングデバイスから受信し、
受信された申請を、メッシュネットワークのリーダーデバイスに送信し、
リーダーデバイスから、申請に対する応答を受信するように構成され、応答は申請の受入れまたは拒否を表示し、ボーダールータはさらに、
申請の受入れまたは拒否の表示をコミッショニングデバイスに送信するように構成されている、メッシュネットワークシステム。
【請求項57】
ボーダールータは、コミッショニングデバイスのためのメッシュネットワークの利用可能性を広告し、コミッショニングデバイスが広告を受信することに応答して申請を受信するように構成されている、請求項56に記載のメッシュネットワークシステム。
【請求項58】
コミッショニングデバイスとボーダールータとは、メッシュネットワーク以外の他のネットワークを通して通信する、前述の請求項のいずれか1項に記載のメッシュネットワークシステム。
【請求項59】
他のネットワークは、Wi-Fiネットワークまたはイーサネットネットワークのうちの一方である、請求項58に記載のメッシュネットワークシステム。
【請求項60】
ボーダールータは、安全なコミッショニングセッションを確立するために、申請の受入れの表示を送信するように構成されている、請求項56~59のいずれか1項に記載のメッシュネットワークシステム。
【請求項61】
メッシュネットワークのリーダーデバイスによって実現される方法であって、前記方法は、
メッシュネットワークに参加するように参加デバイスをコミッショニングするためのコミッショナーとしてコミッショニングデバイスを受入れるための申請を、リーダーデバイスによって受信するステップと、
受信された申請を受入れるかまたは拒否するかを判断するステップと、
前記判断の表示を含む応答を送信するステップと、
前記判断が受入れであることに応答して、メッシュネットワーク用のアクティブなコミッショナーを追跡する内部状態を更新するステップとを含む、方法。
【請求項62】
コミッショニングデバイスから、メッシュネットワーク用の参加モードを開始するためのコマンドを受信するステップをさらに含む、請求項61に記載の方法。
【請求項63】
メッシュネットワーク内でコミッショニングデータセットを伝搬するステップをさらに含む、請求項62に記載の方法。
【請求項64】
コミッショニングデータセットは、
コミッショナーセッション識別子と、
コミッショナータイムスタンプと、
暗号化されたコミッショナークレデンシャルと、
どのセキュリティ関連動作がメッシュネットワークにおいて許可されているかを示すセキュリティポリシーとを含む、請求項63に記載の方法。
【請求項65】
リーダーデバイスのコミッショニング中にリーダーデバイスに注入されたコミッショニングクレデンシャルから、暗号化されたコミッショニングクレデンシャルを導き出すステップをさらに含む、請求項64に記載の方法。
【請求項66】
暗号化されたコミッショニングクレデンシャルの導出は、キー導出関数を適用することによって行なわれ、キー導出関数は、暗号ベースのメッセージ認証コード(CMAC)を使用してハッシングを複数回行なう、請求項65に記載の方法。
【請求項67】
ボーダールータがコミッショニングデバイスをメッシュネットワークに認証することを可能にするために有効である、暗号化されたコミッショニングクレデンシャルのコピーをボーダールータに送信するステップをさらに含む、請求項65に記載の方法。
【請求項68】
コミッショナーがメッシュネットワーク上でアクティブである場合、コミッショニングデータセットは、ボーダールータの位置をさらに含む、請求項64に記載の方法。
【請求項69】
メッシュネットワークのリーダーデバイスとして実現されるメッシュネットワークデバイスであって、メッシュネットワークデバイスは、
メッシュネットワークにおける通信のために構成されたメッシュネットワークインターフェイスと、
コミッショニングアプリケーションを実現するためのメモリおよびプロセッサシステム
とを含み、コミッショニングアプリケーションは、
メッシュネットワークインターフェイスを介して、メッシュネットワークに参加するように参加デバイスをコミッショニングするためのコミッショナーとしてコミッショニングデバイスを受入れるための申請を受信し、
受信された申請を受入れるかまたは拒否するかを判断し、
受信された申請を受入れるかまたは拒否するかの判断の表示を含む応答が送信されるのを開始し、
判断が受信された申請の受入れであることに応答して、メッシュネットワーク用のアクティブなコミッショナーを追跡する内部状態を更新するように構成されている、メッシュネットワークデバイス。
【請求項70】
コミッショニングアプリケーションは、コミッショニングデバイスから、メッシュネットワーク用の参加モードを開始するためのコマンドを受信するように構成されている、請求項69に記載のメッシュネットワークデバイス。
【請求項71】
コミッショニングアプリケーションは、メッシュネットワーク内でコミッショニングデータセットを伝搬するように構成されている、請求項70に記載のメッシュネットワークデバイス。
【請求項72】
コミッショニングデータセットは、
コミッショナーセッション識別子と、
コミッショナータイムスタンプと、
暗号化されたコミッショナークレデンシャルと、
どのセキュリティ関連動作がメッシュネットワークにおいて許可されているかを示すセキュリティポリシーとを含み、
コミッショニングアプリケーションはさらに、リーダーデバイスのコミッショニング中にリーダーデバイスに注入されたコミッショニングクレデンシャルから、暗号化されたコミッショニングクレデンシャルを導き出すように構成され、暗号化されたコミッショニングクレデンシャルの導出は、キー導出関数を適用することによって行なわれ、キー導出関数は、暗号ベースのメッセージ認証コード(CMAC)を使用してハッシングを複数回行なう、請求項71に記載のメッシュネットワークデバイス。
【請求項73】
コミッショニングアプリケーションは、ボーダールータがコミッショニングデバイスをメッシュネットワークに認証することを可能にするために有効である、暗号化されたコミッショニングクレデンシャルのコピーをボーダールータに送信するように構成されている、請求項72に記載のメッシュネットワークデバイス。
【請求項74】
コミッショナーがメッシュネットワーク上でアクティブである場合、コミッショニングデータセットは、ボーダールータの位置をさらに含む、請求項72に記載のメッシュネットワークデバイス。
【請求項75】
メッシュネットワークシステムであって、
メッシュネットワークに参加するように1つ以上の参加デバイスをコミッショニングするためのコミッショナーになるよう申請するように構成されたコミッショニングデバイスと、
メッシュネットワークのリーダーデバイスとを含み、リーダーデバイスは、
メッシュネットワークに参加するように参加デバイスをコミッショニングするためのコミッショナーとしてコミッショニングデバイスを受入れるための申請を受信し、
受信された申請を受入れるかまたは拒否するかを判断し、
受信された申請を受入れるかまたは拒否するかに関する判断の表示を含む応答を送信し

判断が受入れであることに応答して、メッシュネットワーク用のアクティブなコミッショナーを追跡する内部状態を更新するように構成されている、メッシュネットワークシステム。
【請求項76】
リーダーデバイスは、コミッショニングデバイスから、メッシュネットワーク用の参加モードを開始するためのコマンドを受信するように構成されている、請求項75に記載のメッシュネットワークシステム。
【請求項77】
リーダーデバイスは、メッシュネットワーク内でコミッショニングデータセットを伝搬するように構成されている、請求項76に記載のメッシュネットワークシステム。
【請求項78】
コミッショニングデータセットは、
コミッショナーセッション識別子と、
コミッショナータイムスタンプと、
暗号化されたコミッショナークレデンシャルと、
どのセキュリティ関連動作がメッシュネットワークにおいて許可されているかを示すセキュリティポリシーとを含み、
リーダーデバイスはさらに、リーダーデバイスのコミッショニング中にリーダーデバイスに注入されたコミッショニングクレデンシャルから、暗号化されたコミッショニングクレデンシャルを導き出すように構成され、暗号化されたコミッショニングクレデンシャルの導出は、キー導出関数を適用することによって行なわれ、キー導出関数は、暗号ベースのメッセージ認証コード(CMAC)を使用してハッシングを複数回行なう、請求項77に記載のメッシュネットワークシステム。
【請求項79】
リーダーデバイスは、ボーダールータがコミッショニングデバイスをメッシュネットワークに認証することを可能にするために有効である、暗号化されたコミッショニングクレデンシャルのコピーをボーダールータに送信するように構成されている、請求項78に記載のメッシュネットワークシステム。
【請求項80】
コミッショナーがメッシュネットワーク上でアクティブである場合、コミッショニングデータセットは、ボーダールータの位置をさらに含む、請求項78に記載のメッシュネットワークシステム。
【請求項81】
メッシュネットワークに1つ以上の参加デバイスを参加させるためにネットワーク通信セッションを安全に確立する方法であって、前記方法は、
メッシュネットワークのコミッショニングデバイスとボーダールータとの間に安全なコミッショニング通信セッションを確立するステップと、
メッシュネットワークのための参加を起動するステップと、
コミッショニングデバイスによって、参加デバイスのうちの1つからメッシュネットワークに参加するための要求を受信するステップと、
コミッショニングデバイスと参加デバイスとの間に安全なジョイナー通信セッションを確立するステップと、
参加デバイスをメッシュネットワークに参加させるステップとを含む、方法。
【請求項82】
前記安全なコミッショニング通信セッションを確立するステップは、
メッシュネットワーク用のアクティブなコミッショナーとしてのコミッショニングデバイスの受入れを要求するために、コミッショニングデバイスからメッシュネットワークのリーダーデバイスに申請を送信するステップと、
リーダーデバイスから申請の受入れの表示を受信するステップとを含む、請求項81に
記載の方法。
【請求項83】
前記メッシュネットワークのための参加を起動するステップは、メッシュネットワークにおける1つ以上のルータにメッシュネットワークが参加要求を受入れていることを広告させる参加モードを、コミッショニングデバイスが開始するステップを含む、前述の請求項のいずれか1項に記載の方法。
【請求項84】
前記メッシュネットワークのための参加を起動するステップは、メッシュネットワークを参加可能にするために管理メッセージをリーダーデバイスに送信するステップを含み、管理メッセージは、リーダーデバイスがメッシュネットワーク用のネットワークデータを更新し、メッシュネットワークにおける1つ以上のルータデバイスにネットワークデータを伝搬することを可能にするために有効であり、ネットワークデータは、メッシュネットワークが参加のために利用可能であるという表示を含む、請求項81~82のいずれか1項に記載の方法。
【請求項85】
暗号化されたデバイス識別子を使用して参加デバイスを認証するステップをさらに含む、請求項81~84のいずれか1項に記載の方法。
【請求項86】
前記参加デバイスのうちの1つからメッシュネットワークに参加するための要求を受信するステップは、ジョイナールータを介して受信され、前記方法はさらに、
参加デバイスは、メッシュネットワーク用のネットワーククレデンシャルと、コミッショニングデバイスと参加デバイスとの間で共有されるキー暗号化キー(KEK)とを受信するよう委託されるべきであるという表示を、ジョイナールータに送信するステップを含み、前記送信するステップは、ジョイナールータが、受信されたKEKを使用してネットワーククレデンシャルを参加デバイスに安全に送信し、参加デバイスをメッシュネットワークにコミッショニングすることを可能にするために有効である、請求項85に記載の方法。
【請求項87】
前記参加デバイスから要求を受信するステップは、参加デバイスの暗号化されたデバイス識別子を受信するステップを含み、暗号化されたデバイス識別子は、ジャグリングによるパスワード認証済みキー交換(J-PAKE)を使用して、参加デバイスのデバイス識別子から導き出される、請求項81に記載の方法。
【請求項88】
前記安全なジョイナー通信セッションを確立するステップは、
ユーザからコミッショニングデバイスへの入力として受信されたデバイス識別子のコピーから、参加デバイスから受信された暗号化されたデバイス識別子がコミッショニングデバイスによって導き出された暗号化されたデバイス識別子と整合する、とコミッショニングデバイスによって判断するステップと、
ジョイナー通信セッションを安全にするために、暗号化されたデバイス識別子を共有の秘密として使用するステップとを含む、請求項87に記載の方法。
【請求項89】
1つ以上の参加デバイスをメッシュネットワークに参加させるためのコミッショニングデバイスとして実現されるメッシュネットワークデバイスであって、メッシュネットワークデバイスは、
メッシュネットワークにおける通信のために構成されたメッシュネットワークインターフェイスと、
コミッショニングアプリケーションを実現するためのメモリおよびプロセッサシステムとを含み、コミッショニングアプリケーションは、
メッシュネットワークのコミッショニングデバイスとボーダールータとの間に安全なコミッショニング通信セッションを確立し、
メッシュネットワークのための参加を起動し、
メッシュネットワークインターフェイスを介して、参加デバイスのうちの1つからメッシュネットワークに参加するための要求を受信し、
コミッショニングデバイスと参加デバイスとの間に安全なジョイナー通信セッションを確立し、
参加デバイスをメッシュネットワークに参加させるように構成されている、メッシュネットワークデバイス。
【請求項90】
コミッショニングアプリケーションは、
メッシュネットワーク用のアクティブなコミッショナーとしてのコミッショニングデバイスの受入れを要求するために、コミッショニングデバイスからメッシュネットワークのリーダーデバイスに申請を送信し、
リーダーデバイスから申請の受入れの表示を受信するように構成されている、請求項89に記載のメッシュネットワークデバイス。
【請求項91】
コミッショニングアプリケーションは、メッシュネットワークにおける1つ以上のルータにメッシュネットワークが参加要求を受入れていることを広告させる参加モードを開始することにより、前記メッシュネットワークのための参加を起動するように構成されている、前述の請求項のいずれか1項に記載のメッシュネットワークデバイス。
【請求項92】
コミッショニングアプリケーションは、メッシュネットワークを参加可能にするために管理メッセージをリーダーデバイスに送信することにより、前記メッシュネットワークのための参加を起動するように構成されており、管理メッセージは、リーダーデバイスがメッシュネットワーク用のネットワークデータを更新し、メッシュネットワークにおける1つ以上のルータデバイスにネットワークデータを伝搬することを可能にし、ネットワークデータは、メッシュネットワークが参加のために利用可能であるという表示を含む、請求項89~90のいずれか1項に記載のメッシュネットワークデバイス。
【請求項93】
参加デバイスから受信された要求は、参加デバイスの暗号化されたデバイス識別子を含み、暗号化されたデバイス識別子は、ジャグリングによるパスワード認証済みキー交換(J-PAKE)を使用して、参加デバイスのデバイス識別子から導き出される、請求項89に記載のメッシュネットワークデバイス。
【請求項94】
コミッショニングアプリケーションは、
ユーザからコミッショニングデバイスへの入力として受信されたデバイス識別子のコピーから、参加デバイスから受信された暗号化されたデバイス識別子がコミッショニングデバイスによって導き出された暗号化されたデバイス識別子と整合すると判断し、
ジョイナー通信セッションを安全にするために、暗号化されたデバイス識別子を共有の秘密として使用するようにさらに構成された、安全なジョイナー通信セッションを確立するように構成されている、請求項93に記載のメッシュネットワークデバイス。
【請求項95】
コミッショニングアプリケーションは、参加デバイスからのメッシュネットワークに参加するための要求を転送するように構成され、要求は、メッシュネットワークにおける1つ以上のルータデバイスによってコミッショニングデバイスに転送される、請求項89~92のいずれか1項に記載のメッシュネットワークデバイス。
【請求項96】
メッシュネットワークシステムであって、
メッシュネットワークへの参加を要求するように構成された1つ以上の参加デバイスと、
メッシュネットワークのコミッショニングデバイスとを含み、コミッショニングデバイ
スは、
コミッショニングデバイスとメッシュネットワークのボーダールータとの間に安全なコミッショニング通信セッションを確立し、
メッシュネットワークのための参加を起動し、
参加デバイスのうちの1つからメッシュネットワークに参加するための要求を受信し、
コミッショニングデバイスと参加デバイスとの間に安全なジョイナー通信セッションを確立し、
参加デバイスをメッシュネットワークに参加させるように構成されている、メッシュネットワークシステム。
【請求項97】
コミッショニングデバイスは、安全なコミッショニング通信セッションを確立するために、
メッシュネットワーク用のアクティブなコミッショナーとしてのコミッショニングデバイスの受入れを要求するために、コミッショニングデバイスからメッシュネットワークのリーダーデバイスに申請を送信し、
リーダーデバイスから申請の受入れの表示を受信するように構成されている、請求項96に記載のメッシュネットワークシステム。
【請求項98】
コミッショニングデバイスは、メッシュネットワークにおける1つ以上のルータにメッシュネットワークが参加要求を受入れていることを広告させる参加モードを開始することにより、前記メッシュネットワークのための参加を起動するように構成されている、前述の請求項のいずれか1項に記載のメッシュネットワークシステム。
【請求項99】
コミッショニングデバイスは、メッシュネットワークを参加可能にするために管理メッセージをリーダーデバイスに送信することにより、前記メッシュネットワークのための参加を起動するように構成されており、管理メッセージは、リーダーデバイスがメッシュネットワーク用のネットワークデータを更新し、メッシュネットワークにおける1つ以上のルータデバイスにネットワークデータを伝搬することを可能にし、ネットワークデータは、メッシュネットワークが参加のために利用可能であるという表示を含む、請求項96~97のいずれか1項に記載のメッシュネットワークシステム。
【請求項100】
コミッショニングデバイスは、
前記参加デバイスのうちの1つからのメッシュネットワークに参加するための要求を、ジョイナールータを介して受信し、
参加デバイスは、メッシュネットワーク用のネットワーククレデンシャルと、コミッショニングデバイスと参加デバイスとの間で共有されるキー暗号化キー(KEK)とを受信するよう委託されるべきであるという表示を、ジョイナールータに送信するように構成され、送信された表示は、ジョイナールータが、受信されたKEKを使用してネットワーククレデンシャルを参加デバイスに安全に送信し、参加デバイスをメッシュネットワークにコミッショニングすることを可能にする、請求項96に記載のメッシュネットワークシステム。
【請求項101】
メッシュネットワークにおいて参加デバイスをプロビジョニングする方法であって、前記方法は、
メッシュネットワークのコミッショニングデバイスとボーダールータとの間にコミッショニング通信セッションを確立するステップと、
参加デバイスとコミッショニングデバイスとの間にジョイナー通信セッションを確立するステップと、
コミッショニング情報を参加デバイスに送信するステップとを含み、コミッショニング情報は、メッシュネットワークに参加するために参加デバイスによって使用可能であり、
前記方法はさらに、
参加デバイスから、コミッショナーアプリケーションの位置の表示を受信するステップと、
参加デバイスをプロビジョニングするために、コミッショナーアプリケーションを実行するステップとを含む、方法。
【請求項102】
受信された表示を利用してコミッショナーアプリケーションを検索するステップをさらに含む、請求項101に記載の方法。
【請求項103】
コミッショナーアプリケーションの位置の受信された表示は、ユニフォームリソースロケータ(URL)である、前述の請求項のいずれか1項に記載の方法。
【請求項104】
コミッショナーアプリケーションは、インターネットを通してクラウドサービスから検索される、請求項103に記載の方法。
【請求項105】
コミッショニングデバイスは、コミッショナーアプリケーションがコミッショニングデバイスのメモリに格納されているかどうかを判断するために、受信されたURLを使用する、請求項103に記載の方法。
【請求項106】
参加デバイスのプロビジョニングの完了に応答して、参加デバイスのコミッショニングを終了させるステップをさらに含み、終了させるステップは、参加デバイスがメッシュネットワークに参加することを可能にするために有効である、請求項101~105のいずれか1項に記載の方法。
【請求項107】
参加デバイスのプロビジョニングは、参加デバイス上のソフトウェアを更新することを含む、請求項101に記載の方法。
【請求項108】
参加デバイスのプロビジョニングは、参加デバイスをクラウドサービス上のユーザアカウントにリンクすることを含む、請求項101に記載の方法。
【請求項109】
参加デバイスのプロビジョニングは、参加デバイスを構成することを含む、請求項101に記載の方法。
【請求項110】
構成は、メッシュネットワークにおける他のデバイスに関連するローカル構成である、請求項109に記載の方法。
【請求項111】
コミッショニングデバイスとして実現されるメッシュネットワークデバイスであって、メッシュネットワークデバイスは、
メッシュネットワークにおける通信のために構成されたメッシュネットワークインターフェイスと、
コミッショニングアプリケーションを実現するためのメモリおよびプロセッサシステムとを含み、コミッショニングアプリケーションは、
メッシュネットワークのコミッショニングデバイスとボーダールータとの間にコミッショニング通信セッションを確立し、
参加デバイスとコミッショニングデバイスとの間にジョイナー通信セッションを確立し、
コミッショニング情報を参加デバイスに送信するように構成され、コミッショニング情報は、メッシュネットワークに参加するために参加デバイスによって使用可能であり、コミッショニングアプリケーションはさらに、
参加デバイスから、コミッショナーアプリケーションの位置の表示を受信し、
参加デバイスをプロビジョニングするために、コミッショナーアプリケーションを実行するように構成されている、メッシュネットワークデバイス。
【請求項112】
コミッショニングアプリケーションは、受信された表示を利用してコミッショナーアプリケーションを検索するように構成されている、請求項111に記載のメッシュネットワークデバイス。
【請求項113】
コミッショナーアプリケーションの位置の受信された表示は、ユニフォームリソースロケータ(URL)である、前述の請求項のいずれか1項に記載のメッシュネットワークデバイス。
【請求項114】
コミッショナーアプリケーションは、インターネットを通してクラウドサービスから検索される、請求項113に記載のメッシュネットワークデバイス。
【請求項115】
コミッショニングデバイスは、コミッショナーアプリケーションがコミッショニングデバイスのメモリに格納されているかどうかを判断するために、受信されたURLを使用する、請求項113に記載のメッシュネットワークデバイス。
【請求項116】
メッシュネットワークシステムであって、
メッシュネットワークへの参加を要求するように構成された参加デバイスと、
メッシュネットワークのコミッショニングデバイスとを含み、コミッショニングデバイスは、
コミッショニングデバイスとメッシュネットワークのボーダールータとの間にコミッショニング通信セッションを確立し、
参加デバイスとコミッショニングデバイスとの間にジョイナー通信セッションを確立し、
コミッショニング情報を参加デバイスに送信するように構成され、コミッショニング情報は、メッシュネットワークに参加するために参加デバイスによって使用可能であり、コミッショニングデバイスはさらに、
参加デバイスから、コミッショナーアプリケーションの位置の表示を受信し、
参加デバイスをプロビジョニングするために、コミッショナーアプリケーションを実行するように構成されている、メッシュネットワークシステム。
【請求項117】
コミッショニングアプリケーションは、受信された表示を利用してコミッショナーアプリケーションを検索するように構成されている、請求項116に記載のメッシュネットワークシステム。
【請求項118】
コミッショナーアプリケーションの位置の受信された表示は、ユニフォームリソースロケータ(URL)である、前述の請求項のいずれか1項に記載のメッシュネットワークシステム。
【請求項119】
コミッショナーアプリケーションは、インターネットを通してクラウドサービスから検索される、請求項118に記載のメッシュネットワークシステム。
【請求項120】
コミッショニングデバイスは、コミッショナーアプリケーションがコミッショニングデバイスのメモリに格納されているかどうかを判断するために、受信されたURLを使用する、請求項118に記載のメッシュネットワークシステム。
【請求項121】
メッシュネットワークへの参加が許可されているデバイスを識別する方法であって、前記方法は、
メッシュネットワーク用のステアリングデータを求めるステップを含み、ステアリングデータは、メッシュネットワークへの参加が許可されているデバイスに関連付けられたデバイス識別子の表示を含み、前記方法はさらに、
メッシュネットワーク用のコミッショニングデバイスからメッシュネットワークにおける1つ以上のルータにステアリングデータを伝搬するステップを含み、前記伝搬するステップは、1つ以上のルータがステアリングデータをビーコンメッセージで送信することを可能にし、ステアリングデータは、デバイス識別子に関連付けられたデバイスが、デバイスはメッシュネットワークへの参加を許可されていると識別することを可能にするために有効である、方法。
【請求項122】
ステアリングデータは、デバイス識別子の16ビット巡回冗長検査(CRC16)を含む、請求項121に記載の方法。
【請求項123】
デバイス識別子は、IEEE64ビット拡張一意識別子(EUI-64)である、前述の請求項のいずれか1項に記載の方法。
【請求項124】
前記メッシュネットワーク用のステアリングデータを求めるステップはさらに、メッシュネットワークへの参加が許可されている追加のデバイスに関連付けられた追加のデバイス識別子用のステアリングデータを求めるステップを含む、請求項121~123のいずれか1項に記載の方法。
【請求項125】
前記ステアリングデータを伝搬するステップは、デバイスがメッシュネットワークと他のネットワークとを区別することを可能にするために有効である、請求項121~124のいずれか1項に記載の方法。
【請求項126】
他のネットワークは、IEEE802.15.4ネットワークである、請求項125に記載の方法。
【請求項127】
ステアリングデータは、コミッショナーがメッシュネットワーク上でアクティブであることを示す、請求項121に記載の方法。
【請求項128】
コミッショニングデバイスとして実現されるメッシュネットワークデバイスであって、メッシュネットワークデバイスは、
メッシュネットワークにおける通信のために構成されたメッシュネットワークインターフェイスと、
コミッショニングアプリケーションを実現するためのメモリおよびプロセッサシステムとを含み、コミッショニングアプリケーションは、
メッシュネットワーク用のステアリングデータを求めるように構成され、ステアリングデータは、メッシュネットワークへの参加が許可されているデバイスに関連付けられたデバイス識別子の表示を含み、コミッショニングアプリケーションはさらに、
メッシュネットワーク用のコミッショニングデバイスからメッシュネットワークにおける1つ以上のルータにステアリングデータを伝搬するように構成され、伝搬は、1つ以上のルータがステアリングデータをビーコンメッセージで送信することを可能にし、ステアリングデータは、デバイス識別子に関連付けられたデバイスが、デバイスはメッシュネットワークへの参加を許可されていると識別することを可能にするために有効である、メッシュネットワークデバイス。
【請求項129】
ステアリングデータは、デバイス識別子の16ビット巡回冗長検査(CRC16)を含む、請求項128に記載のメッシュネットワークデバイス。
【請求項130】
デバイス識別子は、IEEE64ビット拡張一意識別子(EUI-64)である、前述の請求項のいずれか1項に記載のメッシュネットワークデバイス。
【請求項131】
コミッショニングアプリケーションは、メッシュネットワーク用のステアリングデータを求めるために、メッシュネットワークへの参加が許可されている追加のデバイスに関連付けられた追加のデバイス識別子用のステアリングデータを求めるように構成されている、請求項128~130のいずれか1項に記載のメッシュネットワークデバイス。
【請求項132】
ステアリングデータは、メッシュネットワークと他のネットワークとを区別するためにデバイスによって使用可能である、請求項128~131のいずれか1項に記載のメッシュネットワークデバイス。
【請求項133】
他のネットワークは、IEEE802.15.4ネットワークである、請求項132に記載のメッシュネットワークデバイス。
【請求項134】
ステアリングデータは、コミッショナーがメッシュネットワーク上でアクティブであることを示す、請求項128に記載のメッシュネットワークデバイス。
【請求項135】
メッシュネットワークシステムであって、
メッシュネットワークへの参加を要求するように構成された参加デバイスと、
メッシュネットワークのコミッショニングデバイスとを含み、コミッショニングデバイスは、
メッシュネットワーク用のステアリングデータを求めるように構成され、ステアリングデータは、メッシュネットワークへの参加が許可されているデバイスに関連付けられたデバイス識別子の表示を含み、コミッショニングデバイスはさらに、
メッシュネットワーク用のコミッショニングデバイスからメッシュネットワークにおける1つ以上のルータにステアリングデータを伝搬するように構成され、伝搬は、1つ以上のルータがステアリングデータをビーコンメッセージで送信することを可能にし、ステアリングデータは、デバイス識別子に関連付けられたデバイスが、デバイスはメッシュネットワークへの参加を許可されていると識別することを可能にするために有効である、メッシュネットワークシステム。
【請求項136】
ステアリングデータは、デバイス識別子の16ビット巡回冗長検査(CRC16)を含む、請求項135に記載のメッシュネットワークシステム。
【請求項137】
デバイス識別子は、IEEE64ビット拡張一意識別子(EUI-64)である、前述の請求項のいずれか1項に記載のメッシュネットワークシステム。
【請求項138】
コミッショニングデバイスは、メッシュネットワーク用のステアリングデータを求めるために、メッシュネットワークへの参加が許可されている追加のデバイスに関連付けられた追加のデバイス識別子用のステアリングデータを求めるように構成されている、請求項135~137のいずれか1項に記載のメッシュネットワークシステム。
【請求項139】
ステアリングデータは、デバイスがメッシュネットワークと他のネットワークとを区別することを可能にする、請求項135~138のいずれか1項に記載のメッシュネットワークシステム。
【請求項140】
ステアリングデータは、コミッショナーがメッシュネットワーク上でアクティブであることを示す(GP-22882-01の優先)、請求項135に記載のメッシュネットワークシステム。
【請求項141】
メッシュネットワークへの参加が許可されているデバイスを識別する方法であって、前記方法は、
メッシュネットワーク用のステアリングデータを求めるステップを含み、ステアリングデータは、メッシュネットワークへの参加が許可されているデバイスに関連付けられたデバイス識別子の表示を含み、表示は、デバイス識別子を表わす、ブルームフィルタにおける一組の値として表わされており、前記方法はさらに、
メッシュネットワーク用のコミッショニングデバイスからメッシュネットワークにおける1つ以上のルータにステアリングデータを伝搬するステップを含み、前記伝搬するステップは、1つ以上のルータがステアリングデータをビーコンメッセージで送信することを可能にし、ステアリングデータは、デバイス識別子に関連付けられたデバイスが、ブルームフィルタにおける一組の値をデバイスで求められた第2の一組の値と比較して、デバイスはメッシュネットワークへの参加を許可されていると識別することを可能にする、方法。
【請求項142】
前記ステアリングデータを求めるステップは、
第1のハッシュ値を生成するために第1のハッシュ関数をデバイス識別子に適用するステップと、
第2のハッシュ値を生成するために第2のハッシュ関数をデバイス識別子に適用するステップと、
ブルームフィルタにおける第1のビットフィールド位置を求めるために、第1のハッシュ値に対してモジュロ演算を行なうステップと、
ブルームフィルタにおける第2のビットフィールド位置を求めるために、第2のハッシュ値に対してモジュロ演算を行なうステップと、
ブルームフィルタの第1のビットフィールド位置における値を1に設定するステップと、
ブルームフィルタの第2のビットフィールド位置における値を1に設定するステップとを含む、請求項141に記載の方法。
【請求項143】
第1および第2のハッシュ関数は巡回冗長検査(CRC)であり、第1のハッシュ関数はCRC16-CCITT、第2のハッシュ関数はCRC16-ANSIである、請求項142に記載の方法。
【請求項144】
モジュロ演算用の除数は、ブルームフィルタのビットアレイの長さである、請求項142に記載の方法。
【請求項145】
デバイス識別子は、IEEE64ビット拡張一意識別子(EUI-64)である、前述の請求項のいずれか1項に記載の方法。
【請求項146】
デバイス識別子は、EUI-64の最下位24ビットである、請求項141~144のいずれか1項に記載の方法。
【請求項147】
前記メッシュネットワーク用のステアリングデータを求めるステップはさらに、メッシュネットワークへの参加が許可されている追加のデバイスに関連付けられた追加のデバイス識別子用のステアリングデータを求めるステップを含む、請求項141~146のいずれか1項に記載の方法。
【請求項148】
ステアリングデータの値を、メッシュネットワークのための参加を不能にする0の値に設定するステップをさらに含む、請求項141に記載の方法。
【請求項149】
メッシュネットワークが任意のデバイスのために参加可能であることを示すために、ステアリングデータにおけるすべてのビットフィールド値を1の値に設定するステップをさらに含む、請求項141に記載の方法。
【請求項150】
コミッショニングデバイスとして実現されるメッシュネットワークデバイスであって、メッシュネットワークデバイスは、
メッシュネットワークにおける通信のために構成されたメッシュネットワークインターフェイスと、
コミッショニングアプリケーションを実現するためのメモリおよびプロセッサシステムとを含み、コミッショニングアプリケーションは、
メッシュネットワーク用のステアリングデータを求めるように構成され、ステアリングデータは、メッシュネットワークへの参加が許可されているデバイスに関連付けられたデバイス識別子の表示を含み、表示は、デバイス識別子を表わす、ブルームフィルタにおける一組の値として表わされており、コミッショニングアプリケーションはさらに、
メッシュネットワークにおける1つ以上のルータにステアリングデータを伝搬するように構成され、伝搬は、1つ以上のルータがステアリングデータをビーコンメッセージで送信することを可能にするために有効であり、ステアリングデータは、デバイス識別子に関連付けられたデバイスが、ブルームフィルタにおける一組の値をデバイスで求められた第2の一組の値と比較して、デバイスはメッシュネットワークへの参加を許可されていると識別することを可能にする、メッシュネットワークデバイス。
【請求項151】
コミッショニングアプリケーションは、
第1のハッシュ値を生成するために第1のハッシュ関数をデバイス識別子に適用し、
第2のハッシュ値を生成するために第2のハッシュ関数をデバイス識別子に適用し、
ブルームフィルタにおける第1のビットフィールド位置を求めるために、第1のハッシュ値に対してモジュロ演算を行ない、
ブルームフィルタにおける第2のビットフィールド位置を求めるために、第2のハッシュ値に対してモジュロ演算を行ない、
ブルームフィルタの第1のビットフィールド位置における値を1に設定し、
ブルームフィルタの第2のビットフィールド位置における値を1に設定するように構成されている、請求項150に記載のメッシュネットワークデバイス。
【請求項152】
第1および第2のハッシュ関数は巡回冗長検査(CRC)であり、第1のハッシュ関数はCRC16-CCITT、第2のハッシュ関数はCRC16-ANSIである、請求項151に記載のメッシュネットワークデバイス。
【請求項153】
モジュロ演算用の除数は、ブルームフィルタのビットアレイの長さである、請求項151に記載のメッシュネットワークデバイス。
【請求項154】
デバイス識別子は、IEEE64ビット拡張一意識別子(EUI-64)である、前述の請求項のいずれか1項に記載のメッシュネットワークデバイス。
【請求項155】
メッシュネットワークシステムであって、
メッシュネットワークへの参加を要求するように構成された参加デバイスと、
コミッショニングデバイスとを含み、コミッショニングデバイスは、
メッシュネットワーク用のステアリングデータを求めるように構成され、ステアリングデータは、メッシュネットワークへの参加が許可されているデバイスに関連付けられたデバイス識別子の表示を含み、表示は、デバイス識別子を表わす、ブルームフィルタにおける一組の値として表わされており、コミッショニングデバイスはさらに、
メッシュネットワークにおける1つ以上のルータにステアリングデータを伝搬するよう
に構成され、伝搬は、1つ以上のルータがステアリングデータをビーコンメッセージで送信することを可能にするために有効であり、ステアリングデータは、デバイス識別子に関連付けられたデバイスが、ブルームフィルタにおける一組の値をデバイスで求められた第2の一組の値と比較して、デバイスはメッシュネットワークへの参加を許可されていると識別することを可能にする、メッシュネットワークシステム。
【請求項156】
コミッショニングデバイスは、
第1のハッシュ値を生成するために第1のハッシュ関数をデバイス識別子に適用し、
第2のハッシュ値を生成するために第2のハッシュ関数をデバイス識別子に適用し、
ブルームフィルタにおける第1のビットフィールド位置を求めるために、第1のハッシュ値に対してモジュロ演算を行ない、
ブルームフィルタにおける第2のビットフィールド位置を求めるために、第2のハッシュ値に対してモジュロ演算を行ない、
ブルームフィルタの第1のビットフィールド位置における値を1に設定し、
ブルームフィルタの第2のビットフィールド位置における値を1に設定するように構成されている、請求項155に記載のメッシュネットワークシステム。
【請求項157】
第1および第2のハッシュ関数は巡回冗長検査(CRC)であり、第1のハッシュ関数はCRC16-CCITT、第2のハッシュ関数はCRC16-ANSIである、請求項156に記載のメッシュネットワークシステム。
【請求項158】
モジュロ演算用の除数は、ブルームフィルタのビットアレイの長さである、請求項156に記載のメッシュネットワークシステム。
【請求項159】
デバイス識別子は、IEEE64ビット拡張一意識別子(EUI-64)である、請求項155~158のいずれか1項に記載のメッシュネットワークシステム。
【請求項160】
コンピューティングデバイスは、メッシュネットワーク用のステアリングデータを求めるために、メッシュネットワークへの参加が許可されている追加のデバイスに関連付けられた追加のデバイス識別子用のステアリングデータを求めるように構成されている、請求項155に記載のメッシュネットワークシステム。
【請求項161】
メッシュネットワークのノードにおけるコミッショニングデータを更新する方法であって、前記方法は、
メッシュネットワークにおけるノードデバイスでコミッショニングデータセットを受信するステップと、
受信されたコミッショニングデータセットに含まれるタイムスタンプを、ノードデバイスに格納されているコミッショニングデータセットに含まれる格納されたタイムスタンプと比較するステップと、
前記比較するステップから、格納されたタイムスタンプは受信されたタイムスタンプより最近のものであると判断するステップと、
前記判断するステップに応答して、メッシュネットワークのリーダーデバイスにメッセージを送信するステップとを含み、メッセージは、格納されたコミッショニングデータセットを含み、リーダーデバイスが、格納されたコミッショニングデータセットをメッシュネットワーク用の最も最近のコミッショニングデータセットとして受入れ、格納されたコミッショニングデータセットをメッシュネットワークに伝搬することを可能にするために有効である、方法。
【請求項162】
前記比較するステップから、受信されたタイムスタンプは格納されたタイムスタンプより最近のものであると判断するステップと、
前記受信されたタイムスタンプは格納されたタイムスタンプより最近のものであると判断するステップに応答して、受信されたコミッショニングデータセットと整合するように、格納されたコミッショニングデータセットを更新するステップとをさらに含む、請求項161に記載の方法。
【請求項163】
受信されたコミッショニングデータセットは、
受信されたタイムスタンプと、
コミッショニングクレデンシャルと、
メッシュネットワークのネットワーク名と、
どのセキュリティ関連動作がメッシュネットワークにおいて許可されているかを示すセキュリティポリシーとを含む、前述の請求項のいずれか1項に記載の方法。
【請求項164】
受信されたタイムスタンプは、時間値と、時間値が協定世界時(UTC)までトレーサブルであるという表示とを含む、請求項163に記載の方法。
【請求項165】
ノードデバイスおよびリーダーデバイスは、以前にメッシュネットワークにコミッショニングされ、以前のコミッショニングは、ノードデバイスおよびリーダーデバイスに同一のコミッショニングデータセットを格納した、請求項161~164のいずれか1項に記載の方法。
【請求項166】
ノードデバイスにおける格納されたコミッショニングデータセットは、メッシュネットワークの分裂後に更新され、分裂はメッシュネットワークを複数の区画に分離し、メッシュネットワークの第1の区画はリーダーデバイスを含み、メッシュネットワークの第2の区画はノードデバイスを含む、請求項165に記載の方法。
【請求項167】
分裂は、メッシュネットワーク上のノードデバイスとリーダーデバイスとの間の通信を停止する、請求項166に記載の方法。
【請求項168】
前記ノードデバイスでコミッショニングデータセットを受信するステップは、メッシュネットワークの第1の区画および第2の区画の合併後に起こり、合併は、メッシュネットワーク上にノードデバイスとリーダーデバイスとの間の通信経路を再確立する、請求項166に記載の方法。
【請求項169】
ノードデバイスは、ルータデバイス、またはルータ適格デバイスである、請求項161~168のいずれか1項に記載の方法。
【請求項170】
ルータとして実現されるメッシュネットワークデバイスであって、メッシュネットワークデバイスは、
メッシュネットワークにおける通信のために構成されたメッシュネットワークインターフェイスと、
コミッショニングアプリケーションを実現するためのメモリおよびプロセッサシステムとを含み、コミッショニングアプリケーションは、
コミッショニングデータセットを受信し、
受信されたコミッショニングデータセットに含まれるタイムスタンプを、ルータに格納されているコミッショニングデータセットに含まれる格納されたタイムスタンプと比較し、
比較から、格納されたタイムスタンプは受信されたタイムスタンプより最近のものであると判断し、
判断に応答して、メッシュネットワークのリーダーデバイスにメッセージを送信するように構成され、メッセージは、格納されたコミッショニングデータセットを含み、リーダ
ーデバイスが、格納されたコミッショニングデータセットをメッシュネットワーク用の最も最近のコミッショニングデータセットとして受入れ、格納されたコミッショニングデータセットをメッシュネットワークに伝搬することを可能にするために有効である、メッシュネットワークデバイス。
【請求項171】
コミッショニングアプリケーションは、
比較から、受信されたタイムスタンプは格納されたタイムスタンプより最近のものであると判断し、
受信されたタイムスタンプは格納されたタイムスタンプより最近のものであるという判断に応答して、受信されたコミッショニングデータセットと整合するように、格納されたコミッショニングデータセットを更新するように構成されている、請求項170に記載のメッシュネットワークデバイス。
【請求項172】
受信されたコミッショニングデータセットは、
受信されたタイムスタンプと、
コミッショニングクレデンシャルと、
メッシュネットワークのネットワーク名と、
どのセキュリティ関連動作がメッシュネットワークにおいて許可されているかを示すセキュリティポリシーとを含む、前述の請求項のいずれか1項に記載のメッシュネットワークデバイス。
【請求項173】
受信されたタイムスタンプは、時間値と、時間値が協定世界時(UTC)までトレーサブルであるという表示とを含む、請求項172に記載のメッシュネットワークデバイス。
【請求項174】
ルータおよびリーダーデバイスは、以前にメッシュネットワークにコミッショニングされ、以前のコミッショニングは、ルータおよびリーダーデバイスに同一のコミッショニングデータセットを格納した、請求項170~173のいずれか1項に記載のメッシュネットワークデバイス。
【請求項175】
ルータにおける格納されたコミッショニングデータセットは、メッシュネットワークの分裂後に更新され、分裂はメッシュネットワークを複数の区画に分離し、メッシュネットワークの第1の区画はリーダーデバイスを含み、メッシュネットワークの第2の区画はルータを含む、請求項174に記載のメッシュネットワークデバイス。
【請求項176】
メッシュネットワークシステムであって、
メッシュネットワーク用のコミッショニングデータを維持するように構成されたリーダーデバイスと、
ルータデバイスとを含み、ルータデバイスは、
コミッショニングデータセットを受信し、
受信されたコミッショニングデータセットに含まれるタイムスタンプを、ルータに格納されているコミッショニングデータセットに含まれる格納されたタイムスタンプと比較し、
比較から、格納されたタイムスタンプは受信されたタイムスタンプより最近のものであると判断し、
判断に応答して、メッシュネットワークのリーダーデバイスにメッセージを送信するように構成され、メッセージは、格納されたコミッショニングデータセットを含み、リーダーデバイスが、格納されたコミッショニングデータセットをメッシュネットワーク用の最も最近のコミッショニングデータセットとして受入れ、格納されたコミッショニングデータセットをメッシュネットワークに伝搬することを可能にするために有効である、メッシュネットワークシステム。
【請求項177】
ルータデバイスは、
比較から、受信されたタイムスタンプは格納されたタイムスタンプより最近のものであると判断し、
受信されたタイムスタンプは格納されたタイムスタンプより最近のものであるという判断に応答して、受信されたコミッショニングデータセットと整合するように、格納されたコミッショニングデータセットを更新するように構成されている、請求項176に記載のメッシュネットワークシステム。
【請求項178】
受信されたコミッショニングデータセットは、
受信されたタイムスタンプと、
コミッショニングクレデンシャルと、
メッシュネットワークのネットワーク名と、
どのセキュリティ関連動作がメッシュネットワークにおいて許可されているかを示すセキュリティポリシーとを含む、前述の請求項のいずれか1項に記載のメッシュネットワークシステム。
【請求項179】
受信されたタイムスタンプは、時間値と、時間値が協定世界時(UTC)までトレーサブルであるという表示とを含む、請求項178に記載のメッシュネットワークシステム。
【請求項180】
ルータおよびリーダーデバイスは、以前にメッシュネットワークにコミッショニングされ、以前のコミッショニングは、ルータおよびリーダーデバイスに同一のコミッショニングデータセットを格納した、請求項176に記載のメッシュネットワークシステム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願との相互参照
本願は、2014年6月24日に出願された米国仮特許出願連続番号第62/016,450号の、米国特許法第119条(e)による優先権を主張する。本願はまた、2014年10月13日に出願された米国仮特許出願連続番号第62/063,135号の優先権を主張する。本願はまた、2015年2月12日に出願された米国仮特許出願連続番号第62/115,601号の優先権を主張する。本願はまた、2015年4月2日に出願された米国仮特許出願連続番号第62/141,853号の優先権を主張する。
【背景技術】
【0002】
背景
デバイスを互いに、およびクラウドベースのサービスに接続するために無線メッシュネットワーキングを使用することは、環境条件を感知し、機器を制御し、情報および警告をユーザに提供するためにますます普及している。しかしながら、メッシュネットワーク上の多くのデバイスは、バッテリー電源で長時間動作するように設計されており、それは、デバイスにおける利用可能な計算、ユーザインターフェイス、および無線リソースを制限する。加えて、メッシュネットワークのセキュリティを保証するために、メッシュネットワークに参加してそこで動作するデバイスのアイデンティティが認証され、デバイスにコミッショニングされるクレデンシャルに基づいて、メッシュネットワーク内の通信が暗号化される。しかしながら、メッシュネットワークの遍在性およびスケールが増加するにつれて、コミッショニング手法は、コミッショニングについてのユーザ体験の品質や、コミッショニング中にデバイスを正しいメッシュネットワークに参加させ、クレデンシャルをデバイスに安全に注入し、デバイスおよびアプリケーションに特有の情報をデバイスにプロビジョニングする精度を制限する。
【発明の概要】
【課題を解決するための手段】
【0003】
概要
この概要は、メッシュネットワークコミッショニングの簡略化された概念を紹介するために提供される。簡略化された概念は、以下の詳細な説明でさらに説明される。この概要は、請求される主題の本質的な特徴を識別するよう意図されておらず、また、請求される主題の範囲を定める際に使用されるよう意図されてもいない。
【0004】
概してメッシュネットワークにノードを参加させることに関する、メッシュネットワークコミッショニングが説明される。実施形態では、ジョイナールータは、参加デバイスからビーコン要求を受信し、次にビーコンをジョイナールータから参加デバイスに送信することができ、ビーコンは、メッシュネットワークが参加のために利用可能であるという表示を提供する。送信されたビーコンはまた、参加デバイスが参加デバイスとジョイナールータとの間にローカルリンクを確立することを可能にする。ジョイナールータは、メッシュネットワークに参加することを要求する参加デバイスからメッセージを受信する。参加デバイスから受信されたメッセージは、参加デバイスを認証するために使用可能であるデバイス識別子を含むことができ、参加デバイスは、ジャグリングによるパスワード認証済みキー交換(Password Authenticated Key Exchange by Juggling:J-PAKE)また
は任意の他の好適な暗号スイートを使用して認証され、認証は、コミッショニングデバイスと参加デバイスとの間に安全な通信セッションを確立するために有効である。ジョイナールータは、受信されたメッセージをメッシュネットワークのコミッショニングデバイスに転送し、それは、ジョイナールータとコミッショニングデバイスとの間の通信経路にお
いて、メッシュネットワークの1つ以上のルータを通して、受信されたメッセージを転送することを含み得る。実現化例では、ルータのうちの1つは、メッシュネットワークを外部ネットワークに接続するボーダールータであってもよく、コミッショニングデバイスは外部ネットワークに取付けられている。ジョイナールータは次に、コミッショニングデバイスから、参加デバイスがメッシュネットワークに参加するための認証を受信し、ジョイナールータはネットワーク情報を参加デバイスに送信し、ネットワーク情報は、参加デバイスがメッシュネットワークに参加することを可能にする。
【0005】
概してメッシュネットワークにノードを参加させることに関する、メッシュネットワークコミッショニングが説明される。実施形態では、ジョイナールータは、参加デバイスからビーコン要求を受信し、次にビーコンをジョイナールータから参加デバイスに送信することができ、ビーコンは、メッシュネットワークが参加のために利用可能であるという表示を提供する。送信されたビーコンはまた、参加デバイスが参加デバイスとジョイナールータとの間にローカルリンクを確立することを可能にする。ジョイナールータは、メッシュネットワークに参加することを要求する参加デバイスから、DTLS-ClientHelloメッセージをDTLS中継受信通知メッセージで中継し、それはメッシュネットワークのコミッショニングデバイスに送信される。ジョイナールータは、コミッショニングデバイスからDTLS中継送信通知メッセージを受信し、DTLS中継送信通知メッセージの内容を参加デバイスに送信し、内容は、参加デバイスがメッシュネットワークに参加することを可能にし、コミッショニングデバイスと参加デバイスとの間に安全な通信セッションを確立するために有効である。ジョイナールータは、コミッショニングデバイスから、参加デバイスはメッシュネットワーク用のネットワーククレデンシャルを受信するよう委託されるべきであるという表示を受信し、コミッショニングデバイスと参加デバイスとの間で共有されるキー暗号化キー(Key Encryption Key:KEK)を受信する。ジョイナールータは次に、メディアアクセス制御(Media Access Control:MAC)層でメッセージを暗号化し、認証してネットワーククレデンシャルを安全に通信するためにKEKを使用して、ジョイナールータから参加デバイスにネットワーククレデンシャルおよび他の不可欠なネットワークパラメータを送信する。安全な通信セッションは、参加デバイスのプロビジョニングを行なうために使用可能である。
【0006】
概してコミッショニングセッションを確立することに関する、メッシュネットワークコミッショニングが説明される。実施形態では、ボーダールータは、メッシュネットワークへの参加デバイスのためのコミッショナーになるための申請をコミッショニングデバイスから受信する。ボーダールータは、コミッショニングデバイスのためのメッシュネットワークの利用可能性を広告する。広告を受信することに応答して、コミッショナーは、コミッショニングデバイスが広告を受信することに応答して申請を受信する。ボーダールータは、受信された申請をメッシュネットワークのリーダーデバイスに送信し、リーダーデバイスから申請に対する応答を受信し、応答は申請の受入れまたは拒否を表示する。ボーダールータは、申請の受入れまたは拒否の表示をコミッショニングデバイスに送信する。リーダーデバイスによる申請の受入れは、コミッショニングデバイスがメッシュネットワーク用のコミッショナーになることを認可し、安全なコミッショニングセッションが確立される。申請の受入れはまた、リーダーデバイスが、メッシュネットワーク用のアクティブなコミッショナーを追跡する内部状態を更新すること、メッシュネットワーク全域で参加を可能にすること、メッシュネットワークへの参加が許可されている一組のデバイスを通信すること、およびメッシュネットワーク内でコミッショニングデータセットを伝搬することを可能にする。
【0007】
メッシュネットワークコミッショニングの他の局面では、ボーダールータはまた、安全なコミッショニング通信セッションを確立するために、強化された(たとえば、暗号学的にハッシュされた)コミッショニングクレデンシャルをボーダールータに提供することを
含め、コミッショニングデバイスのアイデンティティを登録することができ、強化されたコミッショニングクレデンシャルは、ユーザによってコミッショニングデバイスに入力されたコミッショニングクレデンシャルパスフレーズから導き出されたものである。ボーダールータは、コミッショニングデバイスをメッシュネットワークに認証するために使用可能である暗号化されたコミッショニングクレデンシャルのコピーを含み、暗号化されたコミッショニングクレデンシャルのコピーは、コミッショニングクレデンシャルから以前に導き出されたものである。コミッショニングクレデンシャルは、暗号化されたコミッショニングクレデンシャルのコピーを導き出したメッシュネットワークのリーダーデバイスに注入され、リーダーデバイスは、暗号化されたコミッショニングクレデンシャルのコピーを、ボーダールータに安全に通信した。
【0008】
概してコミッショニングセッションを確立することに関する、メッシュネットワークコミッショニングが説明される。実施形態では、メッシュネットワークのリーダーデバイスは、メッシュネットワークに参加するように参加デバイスをコミッショニングするためのコミッショナーとしてコミッショニングデバイスを受入れるための申請を受信する。リーダーデバイスは、受信された申請を受入れるかまたは拒否するかを判断し、受信された申請を受入れるかまたは拒否するかという表示とともに、応答をコミッショニングデバイスに送信することができる。コミッショニングデバイスから受信された申請を受入れるかまたは拒否するかに関する判断は、メッシュネットワーク用のアクティブなコミッショナーが1つ存在すると保証することを含んでいてもよい。受信された申請を受入れるという判断に応答して、リーダーデバイスは、メッシュネットワーク用のアクティブなコミッショナーを追跡する内部状態を更新することができる。
【0009】
メッシュネットワークコミッショニングの他の局面では、リーダーデバイスは、コミッショニングデバイスから、メッシュネットワーク用の参加モードを開始するためのコマンドを受信し、メッシュネットワーク内でコミッショニングデータセットを伝搬することができる。強化されたコミッショニングクレデンシャルは、リーダーデバイスのコミッショニング中にリーダーデバイスに注入されたコミッショニングクレデンシャルから導き出され得る。リーダーデバイスは、暗号化されたコミッショニングクレデンシャルのコピーをボーダールータに送信することができ、ボーダールータがコミッショニングデバイスをメッシュネットワークに認証することを可能にする。
【0010】
概して複数のコミッショニングセッションを管理することに関する、メッシュネットワークコミッショニングが説明される。実施形態では、コミッショニングデバイスは、メッシュネットワークに1つ以上の参加デバイスを参加させるためにネットワーク通信セッションを安全に確立するために、メッシュネットワークのコミッショニングデバイスとボーダールータとの間に安全なコミッショニング通信セッションを確立する。安全なコミッショニング通信セッションは、メッシュネットワーク用のアクティブなコミッショナーとしてのコミッショニングデバイスの受入れを要求するために、メッシュネットワークのリーダーデバイスに申請を送信し、リーダーデバイスから申請の受入れの表示を受信するために、コミッショニングデバイスによって使用される。コミッショニングデバイスは、メッシュネットワークのための参加を起動し、参加デバイスからメッシュネットワークに参加するための要求を受信することができる。メッシュネットワークのための参加を起動するために、コミッショニングデバイスは、メッシュネットワークにおけるルータにメッシュネットワークが参加要求を受入れていることを広告させる参加モードを開始することができる。
【0011】
メッシュネットワークコミッショニングの他の局面では、コミッショニングデバイスはまた、メッシュネットワークを参加可能にするために管理メッセージをリーダーデバイスに送信することができ、管理メッセージは、リーダーデバイスがメッシュネットワーク用
のネットワークデータを更新することを可能にする。管理メッセージは、メッシュネットワークへの参加が許可されている参加デバイスを示すステアリングデータを含み得る。ネットワークデータは次に、メッシュネットワークにおけるルータデバイスに伝搬され、ネットワークデータは、メッシュネットワークが参加のために利用可能であるという表示を含む。参加デバイスは、コミッショニングデバイスと安全なジョイナー通信セッションを確立する。コミッショニングデバイスは、参加デバイス用のデバイス用事前共有キー(Pre-Shared Key for the Device:PSKd)を使用して参加デバイスを認証し、参加デバ
イスをメッシュネットワークに参加させる。コミッショニングデバイスが、ユーザからコミッショニングデバイスへの入力として受信されたデバイス識別子のコピーから、参加デバイスから受信された暗号化されたデバイス識別子がコミッショニングデバイスによって導き出された暗号化されたデバイス識別子と整合すると判断し、ジョイナー通信セッションを安全にするために、暗号化されたデバイス識別子を共有の秘密として使用することにより、安全なジョイナー通信セッションは確立され得る。
【0012】
参加デバイスからのメッシュネットワークに参加するための要求は、ジョイナールータを介して受信可能であり、コミッショニングデバイスは、参加デバイスは、メッシュネットワーク用のネットワーククレデンシャルと、コミッショニングデバイスと参加デバイスとの間で共有されるキー暗号化キー(KEK)とを受信するよう委託されるべきであるという表示を、ジョイナールータに送信する。ジョイナールータを介した参加デバイスへの送信は、ジョイナールータが、受信されたKEKを使用してネットワーククレデンシャルを参加デバイスに安全に送信し、参加デバイスをメッシュネットワークにコミッショニングすることを可能にするために有効である。参加デバイスから受信された要求は、参加デバイスの暗号化されたデバイス識別子を含むことができ、暗号化されたデバイス識別子は、ジャグリングによるパスワード認証済みキー交換(J-PAKE)を使用して、参加デバイスのデバイス識別子から導き出される。
【0013】
概して参加デバイスをプロビジョニングすることに関する、メッシュネットワークコミッショニングが説明される。実施形態では、コミッショニングデバイスは、コミッショニングデバイスとメッシュネットワークのボーダールータとの間にコミッショニング通信セッションを確立するとともに、参加デバイスとコミッショニングデバイスとの間にジョイナー通信セッションを確立することができる。コミッショニングデバイスは次に、コミッショニング情報を参加デバイスに送信し、コミッショニング情報は、メッシュネットワークに参加するために参加デバイスによって使用可能である。コミッショニングデバイスは、参加デバイスからコミッショナーアプリケーションの位置の表示を受信し、コミッショナーアプリケーションを検索するために受信された表示を利用し、参加デバイスをプロビジョニングするためにコミッショナーアプリケーションを実行する。
【0014】
概して捜索およびステアリングすることに関する、メッシュネットワークコミッショニングが説明される。実施形態では、メッシュネットワークのコミッショニングデバイスは、メッシュネットワーク用のステアリングデータを求めることができ、ステアリングデータは、メッシュネットワークへの参加が許可されているデバイスに関連付けられたデバイス識別子の表示である。コミッショニングデバイスは次に、メッシュネットワーク用のコミッショニングデバイスからメッシュネットワークにおける1つ以上のルータにステアリングデータを伝搬することができ、ステアリングデータは、コミッショナーがメッシュネットワーク上でアクティブであることを示す。コミッショニングデバイスがステアリングデータを伝搬することは、1つ以上のルータがステアリングデータをビーコンメッセージで送信することを可能にし、ステアリングデータは、デバイス識別子に関連付けられたデバイスが、デバイスはメッシュネットワークへの参加を許可されていると識別することを可能にするために有効である。実現化例では、ステアリングデータは、IEEE64ビット拡張一意識別子(Extended Unique Identifier:EUI-64)であるデバイス識別子
の16ビット巡回冗長検査(16-bit Cyclic Redundancy Check:CRC16)である。コミッショニングデバイスは、メッシュネットワークへの参加が許可されている追加のデバイスに関連付けられた追加のデバイス識別子用のステアリングデータを求めることにより、メッシュネットワーク用のステアリングデータを求めることができる。コミッショニングデバイスがステアリングデータを伝搬することは、デバイスがメッシュネットワークと他のネットワークとを区別することを可能にするために有効であり、他のネットワークはIEEE802.15.4ネットワークである。
【0015】
概して捜索およびステアリングすることに関する、メッシュネットワークコミッショニングが説明される。実施形態では、メッシュネットワークのコミッショニングデバイスは、メッシュネットワーク用のステアリングデータを求めることができ、ステアリングデータは、メッシュネットワークへの参加が許可されているデバイスに関連付けられたデバイス識別子の表示を含み、表示は、デバイス識別子を表わす、ブルームフィルタにおける一組の値として表わされている。コミッショニングデバイスは次に、メッシュネットワーク用のコミッショニングデバイスからメッシュネットワークにおける1つ以上のルータにステアリングデータを伝搬することができる。ステアリングデータを伝搬することは、ルータがステアリングデータをビーコンメッセージで送信することを可能にし、ステアリングデータは、デバイス識別子に関連付けられたデバイスが、ブルームフィルタにおける一組の値をデバイスで求められた第2の一組の値と比較して、デバイスはメッシュネットワークへの参加を許可されていると識別することを可能にする。
【0016】
メッシュネットワークコミッショニングの他の局面では、コミッショニングデバイスは、第1のハッシュ値を生成するために第1のハッシュ関数をデバイス識別子に適用し、第2のハッシュ値を生成するために第2のハッシュ関数をデバイス識別子に適用することにより、ステアリングデータを求める。デバイス識別子は、IEEE64ビット拡張一意識別子(EUI-64)であってもよく、デバイス識別子は、EUI-64の最下位24ビットである。実現化例では、第1および第2のハッシュ関数は巡回冗長検査(CRC)であり、第1のハッシュ関数はCRC16-CCITT、第2のハッシュ関数はCRC16-ANSIである。コミッショニングデバイスは次に、ブルームフィルタにおける第1のビットフィールド位置を求めるために、第1のハッシュ値に対してモジュロ演算を行ない、ブルームフィルタにおける第2のビットフィールド位置を求めるために、第2のハッシュ値に対してモジュロ演算を行なう。モジュロ演算用の除数は、ブルームフィルタのビットアレイの長さであり得る。コミッショニングデバイスは、ブルームフィルタの第1のビットフィールド位置における値を1に設定し、ブルームフィルタの第2のビットフィールド位置における値を1に設定することができる。コミッショニングデバイスは、メッシュネットワークが任意のデバイスのために参加可能であることを示すために、ステアリングデータにおけるビットフィールド値のすべてを1の値に設定することができる。これに代えて、コミッショニングデバイスは、ステアリングデータのビットフィールド値を、メッシュネットワークのための参加を不能にする0の値に設定することができる。
【0017】
概してメッシュネットワークにおいてノードを分割することに関する、メッシュネットワークコミッショニングが説明される。実施形態では、メッシュネットワークにおけるノードデバイスは、コミッショニングデータセットを受信し、受信されたコミッショニングデータセットにおけるタイムスタンプを、ノードに格納されているコミッショニングデータセットにおける格納されたタイムスタンプと比較する。ノードデバイスは、比較から、格納されたタイムスタンプは受信されたタイムスタンプより最近のものであると判断し、これに応じて、メッシュネットワークのリーダーデバイスにメッセージを送信することができ、メッセージは、格納されたコミッショニングデータセットを含む。リーダーデバイスは、格納されたコミッショニングデータセットをメッシュネットワーク用の最も最近のコミッショニングデータセットとして受入れ、格納されたコミッショニングデータセット
をメッシュネットワークに伝搬する。これに代えて、ノードデバイスは、受信されたタイムスタンプは格納されたタイムスタンプより最近のものであると判断し、判断に応答して、受信されたコミッショニングデータセットと整合するように、格納されたコミッショニングデータセットを更新することができる。
【0018】
メッシュネットワークコミッショニングの他の局面では、受信されたコミッショニングデータセットは、受信されたタイムスタンプと、コミッショニングクレデンシャルと、メッシュネットワークのネットワーク名と、どのセキュリティ関連動作がメッシュネットワークにおいて許可されているかを示すセキュリティポリシーとを含む。受信されたタイムスタンプは、時間値と、時間値が協定世界時(Coordinated Universal Time:UTC)までトレーサブルであるという表示とを含む。実現化例では、ノードデバイスおよびリーダーデバイスは、以前にメッシュネットワークにコミッショニングされ、以前のコミッショニングは、ノードデバイスおよびリーダーデバイスに同一のコミッショニングデータセットを格納した。ノードデバイスにおける格納されたコミッショニングデータセットは、メッシュネットワーク上のノードデバイスとリーダーデバイスとの間の通信を停止するメッシュネットワークの分裂後に更新され得る。分裂はメッシュネットワークを分離し、メッシュネットワークの第1の区画はリーダーデバイスを含み、メッシュネットワークの第2の区画はノードデバイスを含む。ノードデバイスは、メッシュネットワークの第1の区画および第2の区画の合併後にコミッショニングデータセットを受信でき、合併は、メッシュネットワーク上にノードデバイスとリーダーデバイスとの間の通信経路を再確立する。
【0019】
図面の簡単な説明
メッシュネットワークコミッショニングの実施形態を、以下の図面を参照して説明する。同様の特徴およびコンポーネントに言及するために、図面全体を通して同じ数字が使用される。
【図面の簡単な説明】
【0020】
図1】メッシュネットワークコミッショニングのさまざまな実施形態が実現され得る例示的なメッシュネットワークシステムを示す図である。
図2】メッシュネットワークコミッショニングのさまざまな実施形態が実現され得る例示的な環境を示す図である。
図3A】メッシュネットワークコミッショニングの実施形態に従って実現されたデバイスを有する、例示的なメッシュネットワーク環境の簡略版を示す図である。
図3B】メッシュネットワークコミッショニングの実施形態に従って実現されたデバイスを有する、例示的なメッシュネットワーク環境の簡略版を示す図である。
図3C】メッシュネットワークコミッショニングの実施形態に従って実現されたデバイスを有する、例示的なメッシュネットワーク環境の簡略版を示す図である。
図3D】メッシュネットワークコミッショニングの実施形態に従って実現されたデバイスを有する、例示的なメッシュネットワーク環境の簡略版を示す図である。
図4】メッシュネットワークコミッショニングの実施形態に従った、メッシュネットワーク環境におけるデバイス間のデータトランザクションの例を示す図である。
図5】メッシュネットワークコミッショニングの実施形態に従った、確立されたコミッショナーセッションと確立されたジョイナーセッションとを有するコミッショニング環境の例を示す図である。
図6】メッシュネットワークコミッショニングの実施形態に従った、コミッショナーセッションを確立するための、メッシュネットワーク環境におけるデバイス間のデータトランザクションの例を示す図である。
図7】メッシュネットワークコミッショニングの実施形態に従った、ジョイナーセッションを確立するための、メッシュネットワーク環境におけるデバイス間のデータトランザクションの例を示す図である。
図8】メッシュネットワークコミッショニングの実施形態に従った、参加デバイス用のデバイス識別子を符号化するためにブルームフィルタを使用して生成されたステアリングデータの例を示す図である。
図9】メッシュネットワークコミッショニングの実施形態に従った、メッシュネットワークを分割する例を示す図である。
図10】ここに説明される手法の実施形態に従った、概してメッシュネットワークにノードを参加させることに関するようなメッシュネットワークコミッショニングの例示的な方法を示す図である。
図11】ここに説明される手法の実施形態に従った、概してメッシュネットワークにノードを参加させることに関するようなメッシュネットワークコミッショニングの別の例示的な方法を示す図である。
図12】ここに説明される手法の実施形態に従った、概してメッシュネットワークにおいてコミッショニングセッションを確立することに関するようなメッシュネットワークコミッショニングの例示的な方法を示す図である。
図13】ここに説明される手法の実施形態に従った、概してメッシュネットワークにおいてコミッショニングセッションを確立することに関するようなメッシュネットワークコミッショニングの別の例示的な方法を示す図である。
図14】ここに説明される手法の実施形態に従った、概してメッシュネットワークにおいて複数のコミッショニングセッションを管理することに関するようなメッシュネットワークコミッショニングの例示的な方法を示す図である。
図15】ここに説明される手法の実施形態に従った、概してメッシュネットワークにおいて参加デバイスをプロビジョニングすることに関するようなメッシュネットワークコミッショニングの例示的な方法を示す図である。
図16】ここに説明される手法の実施形態に従った、概してメッシュネットワークにおいて捜索およびステアリングすることに関するようなメッシュネットワークコミッショニングの例示的な方法を示す図である。
図17】ここに説明される手法の実施形態に従った、概してメッシュネットワークにおいて捜索およびステアリングすることに関するようなメッシュネットワークコミッショニングの別の例示的な方法を示す図である。
図18】ここに説明される手法の実施形態に従った、概してメッシュネットワークにおいてノードを分割することに関するようなメッシュネットワークコミッショニングの例示的な方法を示す図である。
図19】ここに説明される手法の実施形態に従った、メッシュネットワークが実現され得る例示的な環境を示す図である。
図20】ここに説明される手法の実施形態に従った、メッシュネットワーク環境において実現され得る例示的なメッシュネットワークデバイスを示す図である。
図21】メッシュネットワークコミッショニングの実施形態を実現可能な例示的なデバイスを有する例示的なシステムを示す図である。
【発明を実施するための形態】
【0021】
詳細な説明
無線メッシュネットワークは、メッシュネットワーク内のトラフィック用の信頼できる冗長な通信経路を提供するメッシュトポロジーで接続された無線ノードを有する通信ネットワークである。無線メッシュネットワークは、メッシュネットワーク内のデバイス間でトラフィックを転送するために、複数の無線リンク、すなわちホップを使用する。これは、単一の無線リンクによってカバーされるエリアよりも大きいエリアのカバレージを提供する。
【0022】
無線メッシュネットワークは、独自技術、または規格ベースの技術に基づくことができる。たとえば、無線メッシュネットワークはIEEE802.15.4規格に基づいてい
てもよく、それは、メッシュネットワーキングスタックの上位層でのアプリケーションによる使用のために、物理(PHY)層およびメディアアクセス制御(MAC)層の特徴およびサービスを規定する。上位層アプリケーションは、メッシュネットワーク全域でアプリケーションレベルの安全な通信(たとえば、暗号化および認証)を実現するために、これらの規格によって規定されたサービスを使用する。
【0023】
メッシュネットワーク用の規格ベースの技術は安全な通信のためのサービスを提供するものの、これらの技術は、メッシュネットワークの安全なコミッショニングについての完全なソリューションを提供していない。規格ベースのソリューションは、デバイスが安全なメッシュネットワークの帯域外でコミッショニングされ、アプリケーション開発者によって設計されるために放置される、と仮定するかもしれない。たとえば、帯域外コミッショニングソリューションは、参加デバイスがメッシュネットワークへの無線ベースの接続を試みる前に、有線接続を通してネットワーククレデンシャルを注入することを含む。これに代えて、メッシュネットワークが生じると、ネットワーククレデンシャルは、安全でない無線リンクを通して送信される。
【0024】
メッシュネットワークを通して参加デバイスを安全にコミッショニングすることは、特殊なコミッショニングツールや、クレデンシャル注入のための参加デバイス上の追加のインターフェイスの必要性と、安全でない通信リンクを通してクレデンシャルを送信するリスクとをなくす。さまざまな実施形態は、メッシュネットワークに参加するデバイスのコミッショニングを改良するためのメッシュネットワークコミッショニング手法を提供する。
【0025】
インターネットに接続されたネットワークで使用される認証手法は、証明機関によって発行される証明書を使用することに依存し得る。証明書は、ネットワーク上の別のデバイスのアイデンティティを認証するために妥当性を確認され得る。インターネット上のデバイスとは異なり、メッシュネットワークにおけるデバイスは、コミッショニングのためにデバイスを認証するために、インターネットに接続された、証明書ベースの認証にアクセスしなくてもよい。外部証明機関を必要とせずに、メッシュネットワークへのコミッショニングデバイスおよび参加デバイスの安全な認証を提供する、メッシュネットワークコミッショニング手法が説明される。
【0026】
メッシュネットワーク用の規格は、メッシュネットワークにおけるデバイス間の通信のためのネットワークキー(ネットワークマスターキー)およびMAC層暗号化手法を規定するといった、メッシュネットワーク内の通信を安全にするためのサービスを提供する。しかしながら、メッシュネットワークに参加しているデバイスにネットワークキーなどのクレデンシャルを挿入することは、規格によって規定されたPHYおよびMACサービスの範囲外である。参加デバイスがメッシュネットワークへの接続を試みる前に、最初にクレデンシャルを参加デバイスにロードするための帯域外手法が、しばしば使用される。コミッショニング中、メッシュネットワークを通してネットワーククレデンシャルを参加デバイスに安全に通信する、メッシュネットワークコミッショニング手法が説明される。
【0027】
メッシュネットワーク用に設計された多くのデバイスは、ユーザインターフェイス能力が制限されており、またはユーザインターフェイス能力を有していない。メッシュネットワークデバイス上のユーザインターフェイスが制限されているため、参加デバイスについてのパスフレーズ、デバイス識別子および/またはデバイスアドレスなどの情報の入力は、ユーザにとって厄介でエラーを起こしやすいものになる。メッシュネットワークへの参加デバイスのコミッショニング中のユーザ効率およびデータ入力精度を高める、メッシュネットワークコミッショニング手法が説明される。
【0028】
メッシュネットワーキングを使用するシステムがますますユビキタスになるにつれて、メッシュネットワークのコミッショニング中に多くの参加デバイスを追加しなければならない場合がある。多くのメッシュネットワークデバイスの制限されたリソースおよびユーザインターフェイスは、特に多数の参加デバイスをコミッショニングまたは再コミッショニングしなければならない場合に、長くてコストのかかるコミッショニングをもたらす。参加デバイスをメッシュネットワークにコミッショニングするスケーラビリティを高める、メッシュネットワークコミッショニング手法が説明される。
【0029】
無線メッシュネットワークは、ライセンスを有する、またはライセンスを受けていない(ライセンス免除またはライセンスフリーとしても知られる)電波スペクトルを使用してもよい。IEEE802.15.4などの規格は、チャネル周波数、チャネル帯域幅、データレート、変調、アクセス手法などといった、ライセンスを受けていない電波スペクトルの使用を規定しており、それらは、ライセンスを受けていないスペクトルの帯域内で複数のメッシュネットワークが動作することを可能にする。複数のメッシュネットワークが同じ電波スペクトルおよび/または基本的な業界標準ネットワーキングプロトコルを共有する環境において、参加デバイスを正しいメッシュネットワークに安全に参加させる、メッシュネットワークコミッショニング手法が説明される。
【0030】
コミッショニング中にネットワーククレデンシャルを参加デバイスに挿入することに加えて、メッシュネットワークでの使用のために参加デバイスを更新または構成するために、追加のプロビジョニングが参加デバイスにとって必要となる場合がある。このプロビジョニングは、参加デバイスをクラウドサービスのユーザアカウントにリンクするなどといった、情報の安全な通信を必要とする場合がある。コミッショニング中に参加デバイスを安全にプロビジョニングするためのメッシュネットワークコミッショニング手法が説明される。
【0031】
メッシュネットワークコミッショニングのための説明されたシステムおよび方法の特徴および概念は、任意の数の異なる環境、システム、デバイス、および/またはさまざまな構成において実現され得るが、メッシュネットワークコミッショニングの実施形態は、以下の例示的なデバイス、システム、および構成の文脈で説明される。
【0032】
図1は、メッシュネットワークコミッショニングのさまざまな実施形態が実現され得る例示的なメッシュネットワークシステム100を示す。メッシュネットワーク100は、ルータ102と、ルータ適格エンドデバイス104と、エンドデバイス106とを含む無線メッシュネットワークである。ルータ102、ルータ適格エンドデバイス104、およびエンドデバイス106は各々、メッシュネットワークを通した通信のためのメッシュネットワークインターフェイスを含む。ルータ102は、メッシュネットワークインターフェイスを通してパケットデータを送受信する。ルータ102はまた、メッシュネットワーク100全域でトラフィックをルーティングする。ルータ102およびルータ適格エンドデバイス104は、以下に説明されるように、メッシュネットワーク100内のコミッショニングのためのさまざまな役割および役割の組合せを引き受けることができる。
【0033】
ルータ適格エンドデバイス104はメッシュネットワークトポロジーのリーフノードに位置しており、メッシュネットワーク100における他のノードにトラフィックをアクティブにルーティングしていない。ルータ適格デバイス104が追加のデバイスに接続されると、ルータ適格デバイス104はルータ102になることができる。エンドデバイス106は、メッシュネットワーク100を使用して通信できるものの、メッシュネットワーク100においてその親ルータ102への単なる転送を超えてトラフィックをルーティングする能力はない、デバイスである。
【0034】
ルータ102、ルータ適格エンドデバイス104、およびエンドデバイス106は、これらのデバイスのアイデンティティをメッシュネットワーク100のメンバーであるとして認証するために使用されるネットワーククレデンシャルを含む。ルータ102、ルータ適格エンドデバイス104、およびエンドデバイス106は、メッシュネットワークにおける通信を暗号化するためにも、ネットワーククレデンシャルを使用する。
【0035】
図2は、メッシュネットワーキングコミッショニング手法のさまざまな実施形態が実現され得る例示的な環境200を示す。環境200はメッシュネットワーク100を含み、そこでは、いくつかのルータ102がメッシュネットワーク100において特定の役割を行なっている。破線によって示されるようなメッシュネットワーク100内のデバイスは、ネットワーククレデンシャルを使用して、メッシュネットワーク100を通して安全に通信している。メッシュネットワーク100の外部に示されたデバイスは、メッシュネットワーク100用のネットワーククレデンシャルのコピーを有しておらず、安全に通信するためのメッシュネットワーク層セキュリティを使用できない。
【0036】
(ゲートウェイおよび/またはエッジルータとしても知られる)ボーダールータ202は、ルータ102のうちの1つである。ボーダールータ202は、メッシュネットワーク100の外部の外部ネットワークとの通信のための第2のインターフェイスを含む。ボーダールータ202は、外部ネットワークを通してアクセスポイント204に接続する。たとえば、アクセスポイント204は、イーサネット(登録商標)ルータ、Wi-Fi(登録商標)アクセスポイント、または異なるタイプのネットワークをブリッジするための任意の他の好適なデバイスであってもよい。アクセスポイント204は、インターネットなどの通信ネットワーク206に接続する。通信ネットワーク206を介して接続されるクラウドサービス208は、メッシュネットワーク100内のデバイスに関するサービス、および/またはそれらのデバイスを使用するサービスを提供する。限定ではなく例として、クラウドサービス208は、スマートフォン、タブレットなどのエンドユーザデバイスをメッシュネットワーク100におけるデバイスに接続すること、メッシュネットワーク100で得られたデータを処理してエンドユーザに提示すること、1つ以上のメッシュネットワーク100におけるデバイスをクラウドサービス208のユーザアカウントにリンクすること、メッシュネットワーク100におけるデバイスをプロビジョニングして更新すること、などを含むアプリケーションを提供する。
【0037】
メッシュネットワーク100に参加するように新規デバイスをコミッショニングすることを選択したユーザは、コミッショニングデバイス210を使用でき、それは、新規デバイスをコミッショニングするために、アクセスポイント204の外部ネットワーク技術を介してボーダールータ202に接続する。コミッショニングデバイス210は、メッシュネットワーク100にデバイスを参加させるためのコミッショナーの役割で動作するために好適なユーザインターフェイスと通信能力とを有する、スマートフォン、タブレット、ノートブックコンピュータなどの任意のコンピューティングデバイスであってもよい。メッシュネットワーク100用のコミッショナーになるために、コミッショニングデバイス210は、以下に詳細に説明されるように、コミッショナーになるよう申請する。
【0038】
参加デバイス212は、メッシュネットワーク100に参加することをユーザが選択した任意のルータ適格エンドデバイス104またはエンドデバイス106である。コミッショニング前では、参加デバイス212は、メッシュネットワーク100用のネットワーククレデンシャルを受信しておらず、メッシュネットワーク100に認証されること、またはメッシュネットワーク100を通して安全に通信することができない。コミッショニング中、参加デバイス212は、以下に詳細に説明されるように、ジョイナー(すなわち参加デバイス)の役割を行なう。
【0039】
メッシュネットワーク100に参加するための参加デバイス212のコミッショニング中、ルータ102のうちの1つは、ジョイナールータ214の役割を行なう。ジョイナールータ214の役割は、参加デバイス212の1つの無線リンク内にある任意のルータ102によって行なわれ得る。ジョイナールータ214は、以下に詳細に説明されるように、ジョイナーセッションのために参加デバイス212にローカルオンリーの無線リンクを提供する。
【0040】
ルータ102のうちの1つは、メッシュネットワーク100用のリーダー216の役割を行なう。リーダー216はルータ識別子割当てを管理し、また、リーダー216は、メッシュネットワーク100についてのネットワーク構成情報の主要アービターである。リーダー216はまた、どのコミッショニングデバイス210がメッシュネットワーク100用の唯一のアクティブなコミッショナーとして受入れられるかを、任意の所与の時間に制御する。
【0041】
図2に示すような環境200は、デバイスが上述のさまざまな役割のうちの単一の役割のみを行なうことを示す。以下に示し、説明されるような図3A~3Dは、メッシュネットワークコミッショニング手法のためのコミッショニング役割の他の分散を、限定ではなく例として示す。
【0042】
図3Aは、明瞭にするためにコミッショニングに特有の役割を有するデバイスのみが示された、例示的な環境200の簡略版300を示す。この例では、図3Aにおける各デバイスは、メッシュネットワークコミッショニングの実施形態において単一のコミッショニング役割を行なっている。図3Aはまた、コミッショニングプロセス中に使用される通信リンクも示す。メッシュネットワーク100に参加したデバイス間で、安全なメッシュ通信リンク302が使用される。参加デバイス212をメッシュネットワーク100にコミッショニングするために、安全でないローカルオンリーの無線リンク304が、参加デバイス212をジョイナールータ214に接続するために確立される。外部ネットワーク306は、外部ネットワーク上に、ボーダールータ202とコミッショニングデバイス210との間のポイント・ツー・ポイントリンク308といった、図示されるような通信リンクを有する。
【0043】
図3Bも、例示的な環境200の簡略版320を示しており、ジョイナールータ214の役割を追加で行なうボーダールータ202であるボーダー/ジョイナールータ322を示す。図3Cも、例示的な環境200の簡略版340を示しており、コミッショニングデバイス210の役割を追加で行なうボーダールータ202であるコミッショナー/ボーダールータ342を示す。この例では、コミッショナー/ボーダールータ342は、メッシュネットワークインターフェイスを含む。コミッショナー/ボーダールータ342はまた、コミッショナー/ボーダールータ342がメッシュネットワーク100に接続されるため、オン・メッシュ・コミッショナーと呼ばれてもよい。
【0044】
図3Dも、例示的な環境200の簡略版360を示しており、ジョイナールータ214およびコミッショニングデバイス210の役割を追加で行なうボーダールータ202であるコミッショナー/ボーダールータ/ジョイナールータ362を示す。図3A~3Dは、任意のルータ適格エンドデバイス104が(参加デバイス212の役割を除き)複数の役割を行なうことができる、メッシュネットワークコミッショニング役割の起こり得る組合せのサンプルを示す。
【0045】
図4は、さまざまなメッシュネットワークコミッショニング役割を行なっている、メッシュネットワーク100におけるデバイス間のトランザクションを示すことにより、コミッショニングプロセス400を示す。コミッショニングデバイス210、たとえば携帯電
話が、ボーダールータ202からの広告402から、メッシュネットワーク100がコミッショナーのために利用可能であることを発見すると、コミッショニングプロセス400は始まる。コミッショニングデバイス210は次に、コミッショナー用事前共有キー(Pre-Shared Key for the Commissioner:PSKc)を使用して、ボーダールータ202と
の安全なソケット接続を確立する。この安全な接続は、コミッショニングセッションを確立する(404)。アクティブなコミッショナーは一度に1つしか存在できないため、コミッショニングデバイス210は、ボーダールータ202に申請を送信し(406)、それが次に申請としてボーダールータ202によってリーダー216に転送される(408)ことにより、メッシュネットワーク100用のアクティブなコミッショニングデバイス210になるよう、リーダー216に申請する。
【0046】
リーダー216がコミッショニングデバイス210をアクティブなコミッショナーとして受入れると、リーダーは申請応答410をボーダールータ202に送信し、それは次に、申請応答412をコミッショニングデバイスに転送する。リーダー216はまた、メッシュネットワーク100を通して更新されたネットワークデータを伝搬する(414)ことにより、アクティブなコミッショナーが存在することをメッシュネットワーク100上のデバイスに示す。
【0047】
コミッショナーとして一旦アクティブになると、コミッショニングデバイス210は、メッシュネットワーク100のための参加を可能にする。オプションで、コミッショニングデバイス210は、メッシュネットワーク100に参加すると予想される参加デバイス212のデバイス識別子を示すステアリングデータを提供する。コミッショニングデバイス210はまた、ネットワーク名およびセキュリティ構成などのネットワークパラメータを問合せて設定してもよい。
【0048】
参加デバイス212は、ジョイナーセッションを確立するための要求をジョイナールータ214に送信し(416)、それは次に、参加デバイス212からボーダールータ202に要求を中継する(418)。なお、中継要求418は、ジョイナールータ214とボーダールータ202との間で、メッシュネットワークにおける任意の数のルータ102によって転送されてもよい。ボーダールータ202は、ジョイナーセッションを確立するための要求をコミッショニングデバイス210に転送する(420)。コミッショニングデバイス210は、ジョイナーセッションのための要求に対する応答をボーダールータ202に送信し(422)、それは次に、応答をジョイナールータ214に中継する(424)。426で、ジョイナールータ214は、ジョイナーセッションの確立を終了する。図4におけるジョイナーセッションの確立は、明瞭にするために簡略化された態様で示されており、ジョイナーセッションを確立するために、追加の中継されたDTLSメッセージが、DTLSハンドシェイクの一部としてやりとりされてもよい。
【0049】
416~426で示すように、参加デバイス212とコミッショニングデバイス210とは、参加デバイス212用のデバイス用事前共有キー(PSKd)を使用したデータグラムトランスポート層セキュリティ(Datagram Transport Layer Security:DTLS)
またはトランスポート層セキュリティ(Transport Layer Security:TLS)を使用して、ハンドシェイクを行なう。ハンドシェイクは、以下に詳細に説明されるように、メッシュネットワーク100を通した中継に対して行なわれる。コミッショニングデバイス210は、典型的にはQRコード(登録商標)またはバーコードをスキャンすることなどによってコミッショニングデバイス210のユーザインターフェイスを通して入力された、メッシュネットワーク100の帯域外で受信された参加デバイスクレデンシャルから、PSKdを導き出す。ハンドシェイクが一旦完了すると、PSKdから生成された共有の秘密が、ジョイナーセッションを確立してメッシュネットワーク100用のネットワーククレデンシャルをジョイナールータ214から参加デバイス212に渡すために使用される。
オプションで、メッシュネットワーク100用のネットワーククレデンシャルを渡すことに加えて、428で示すように、コミッショナーセッションおよびジョイナーセッションは、ジョイナーをプロビジョニングするために使用されてもよい。
【0050】
図5は、確立されたコミッショナーセッションと確立されたジョイナーセッションとを有するコミッショニング環境500を示す。コミッショナーセッション502は、コミッショニングデバイス210からボーダールータ202への安全な通信トンネルである。ジョイナーセッション504は、コミッショニングデバイス210から参加デバイス212への安全な通信トンネルである。明瞭にするために、他のメッシュ通信リンクおよび外部ネットワーク通信リンクは省略される。
【0051】
第1のデバイスペアリング
メッシュネットワーク100にデバイスを参加させるために、第1のデバイスが、メッシュネットワーク100に参加するためのコミッショニングデバイス用のコミッショニングクレデンシャルと、メッシュネットワーク100の安全な動作のためのネットワーククレデンシャルとを確立するためにコミッショニングされる。コミッショニングデバイス210は、任意のルータ適格エンドデバイス104であり得る第1のデバイスに接続する。第1のデバイスは、メッシュネットワーク100の帯域外でコミッショニングされる。第1のデバイスをコミッショニングデバイス210に接続するために、USB、アドホックWi-Fi、Bluetooth(登録商標)、ポイント・ツー・ポイントIEEE802.15
.4などの任意の好適な接続が使用されてもよい。
【0052】
コミッショニングデバイス210が第1のデバイスに一旦接続すると、コミッショニングデバイスは、メッシュネットワーク100用のPSKcおよびネットワーク名を第1のデバイスにプログラミングする。PSKcは、以下に詳細に説明されるように、コミッショニングデバイス210をメッシュネットワーク100に認証してコミッショニングセッションを確立するために使用される。ネットワーク名は、Wi-Fiネットワークにおけるサービスセット識別子(Service Set Identifier:SSID)と同様に、人間が読み取れる形をしている。第1のデバイスが一旦コミッショニングされると、第1のデバイスはメッシュネットワーク100のリーダー216になる。第1のデバイスはメッシュネットワーク100を形成し、メッシュネットワーク100用の一意的なパーソナルエリアネットワーク識別子(Personal Area Network Identifier:PAN ID)および一意的な拡張PAN ID(XPANID)と、メッシュネットワーク100用のネットワークキーとを判断することを含む。
【0053】
PSKcはコミッショニングクレデンシャルから導き出され、それは、メッシュネットワーク100を管理するユーザによってコミッショニングデバイス210に入力されたヒューマンスケールのパスフレーズである。コミッショニングクレデンシャルは、リーダー216およびコミッショニングデバイス210によって格納されるPSKcを導き出すために、(たとえば、複数回、暗号学的にハッシュすることにより)強化される。PSKcを導き出すために、任意の好適な暗号学的ハッシュ手法が使用されてもよい。
【0054】
PSKcのセキュリティを向上させるには、導き出されたPSKcにおけるコミッショニングクレデンシャルのエントロピーを、ユーザによって入力された同等のヒューマンスケールのコミッショニングクレデンシャルパスフレーズと比べて増加させるために、暗号手法が適用されてもよい。キーストレッチングを使用することにより、導き出されたキーは、物理的に損なわれ得る埋込みノード上に安全に格納可能であり、ユーザのパスフレーズは損なわれないであろう。ユーザは複数のウェブサイトおよびアカウント用にパスフレーズを再使用することが多いため、これは有用である。たとえば、暗号学的ハッシュを複数回適用するといった任意の好適な暗号手法が、キーをストレッチするために使用される
。たとえば、高度暗号化標準の暗号ベースのメッセージ認証コード擬似ランダム関数128(Advanced Encryption Standard-Cipher-based Message Authentication Code-Pseudo-Random Function-128:AES-CMAC-PRF-128)を適用するために、パスワードベースのキー導出関数2(Password-Based Key Derivation Function 2 :PBKD
F2)を使用することができる。たとえば、PSKcは、式1に示すように導き出され得る:
【0055】
【数1】
【0056】
式中、PRFは、PBKDF2によって使用すべき一種の疑似ランダム関数であり、Pは、コミッショニングクレデンシャルであり、Sは、暗号関数用のソルト(たとえば、ネットワーク名と連結されたネットワークタイプなどのストリング)であり、cは、PRFの反復回数であり、dkLenは、導き出されたキー(PSKc)の所望の長さである。
【0057】
コミッショニングセッションの確立
図6は、コミッショニングデバイス210、ボーダールータ202、およびリーダー216間のトランザクションを示すことにより、コミッショナーセッションを確立するプロセス600を示す。メッシュネットワーク100は限られた数のアクティブなコミッショニングデバイス210を有していてもよいが、コミッショナーの役割を行なうことができる複数の潜在的なコミッショニングデバイス210があってもよい。リーダー216は、メッシュネットワーク100用の有限の一組のアクティブなコミッショナーのみが存在することを保証する責任を負う。限定ではなく例として、有限の一組のアクティブなコミッショナーは、単一のアクティブなコミッショナーに限定されてもよい。アクティブなコミッショナーになるために、コミッショニングデバイス210は、メッシュネットワーク用のコミッショナーになるよう、リーダー216に申請する。
【0058】
602で、ボーダールータ202は、外部ネットワークインターフェイス上で、メッシュネットワーク100がコミッショニングデバイス210のために利用可能であることを広告する。ボーダールータ202は、サービス発見プロトコル内でマルチキャスト要求(すなわち、スキャンまたは問合せ)に応答して広告を作ってもよい。たとえば、広告602は、マルチキャストドメイン名サービス(Multicast Domain Name Service:mDNS
)などの任意の好適なサービス発見を使用して行なわれてもよい。具体的には、無線ネットワークのために、ボーダールータ202は、ユニフォームリソースロケータ(Uniform Resource Locator:URL)を介してDNSサービス発見(DNS-SD)を使用して、コミッショニングサービスを広告する。次に、ルックアップサーバが、アクセス可能なすべての異なる無線ネットワーク、メッシュネットワーク100のネットワーク名、およびコミッショニングポートを用いて応答するであろう。
【0059】
コミッショニングデバイス210は、コミッショニングデバイス210とボーダールータ202との間のコミッショニングセッションのための安全な接続を要求することにより、ボーダールータ202からの広告に応答する(604)。たとえば、コミッショニングセッションは、DTLSまたはTLSを使用してコミッショニングセッションを確立するためにPSKcを使用するといった任意の好適な態様で確立され得る。限定ではなく例として、コミッショニングデバイス210およびボーダールータ202は、コミッショニングデバイスを識別してメッシュネットワーク100に認証するために、およびコミッショナーセッションのための安全な接続を確立するために、DTLSメッセージ606~616をやりとりする。
【0060】
コミッショニングセッションは、ユーザデータグラムプロトコル(User Datagram Protocol:UDP)ポートまたは伝送制御プロトコル(Transmission Control Protocol TCP)ポートなどの任意の好適なネットワークポートを、コミッショニングセッションのソースポートおよび宛先ポートの双方として使用してもよい。たとえば、コミッショニングセッションは、ネットワーク発見中に発見されたコミッショニングポートを使用する。各ボーダールータ202は、コミッショニングポートを割当て、またはデフォルトコミッショニングポートを使用することができる。
【0061】
メッシュネットワーク100用のアクティブなコミッショナーになるために、コミッショニングデバイス210は、コミッショナーになることを要求するためにリーダー216に申請する(618)。コミッショニングセッションを使用して、コミッショニングデバイス210はボーダールータ202に、メッシュネットワーク100用のアクティブなコミッショナーになるための申請を送信する(620)。ボーダールータ202は、申請をリーダー216に転送する(622)。たとえば、コミッショニングデバイス210が認証され識別された後で、ボーダールータ202は、コミッショナー申請要求メッセージ620(たとえば、COMM_PET.req)をリーダー216にユニキャストする。コミッショナー申請要求は、コミッショニングデバイス210がメッシュネットワーク100用のアクティブなコミッショニングデバイス210として受入れられることを要求する要求622として(たとえば、LEAD_PET.reqとして)、ボーダールータ202によってリーダー216に転送される。たとえば、コミッショナー識別ストリングを含むコミッショナー申請要求メッセージが、メッシュネットワーク100を通して安全に送信される。
【0062】
リーダー216は、メッシュネットワーク100用のアクティブなコミッショナーが存在するかどうかを判断する。アクティブなコミッショナーが存在する場合、リーダーは、コミッショニングデバイス210からの申請を拒否する。メッシュネットワーク100用のアクティブなコミッショナーが存在しない場合、リーダー216は、コミッショニングデバイス210からの申請を受入れる。リーダー216は、アクティブなコミッショナーが存在すること、およびコミッショニングデバイス210のアイデンティティを反映するように、コミッショニングデータセットのそのコピーを更新する。リーダー216は、メッシュネットワーク100についての参加許可フラグを真に設定する。リーダー216は次に、ネットワークデータおよび更新されたコミッショニングデータセットをメッシュネットワーク100に伝搬し(624)、それは、メッシュネットワーク100が参加可能であることを示す。
【0063】
たとえば、リーダー216は、コミッショニングデバイス210をメッシュネットワーク100用のアクティブなコミッショナーとして受入れるかまたは拒否することにより、コミッショナー申請要求メッセージに応答するであろう。受入れる場合、リーダー216は、ネットワークデータのそのコピーを新規のコミッショナー情報で更新し、参加許可フラグを真に設定するとともに、低電力で損失の多いネットワーク用マルチキャストプロトコル(Multicast Protocol for Low Power and Lossy Networks:MPL)などの任意の
好適なプロトコルを使用して、またはMLE-UPDATEメッセージをマルチキャストして、更新されたネットワークデータおよびコミッショニングデータセットをメッシュネットワーク100を通して伝搬するであろう。
【0064】
潜在的なジョイナールータ214(すなわち、ルータ102およびルータ適格エンドデバイス104)は、リーダー216によって伝搬された、更新されたネットワーク情報およびコミッショニングデータセットを格納する。更新されたネットワーク情報およびコミッショニングデータセットは、任意の参加デバイス212をコミッショニングする際に使用するためのコミッショニングデバイス210との直接通信を可能にする。コミッショニ
ングデータセットは、アクティブなコミッショナー用のプロキシとして作用している現在のアクティブなボーダールータ202に任意のデバイスがメッセージを送信することを許可する、ボーダールータロケータ(router locator:RLOC)を含む。
【0065】
コミッショニングデバイス210からの申請を受入れるかまたは拒否するかを判断した後で、リーダー216は、その決定の表示とともにボーダールータ202に応答する(626)。ボーダールータ202は、リーダー216による、申請を受入れるかまたは拒否するかの決定の表示を含む応答をコミッショニングデバイス210に送信する(628)。たとえば、リーダー216は、コミッショニングデバイス210をメッシュネットワーク100用のアクティブなコミッショナーとして受入れるかまたは拒否するかについてのリーダー216の決定を示すリーダー申請応答メッセージ(たとえば、LEAD_PET.rsp)を、ボーダールータ202に送信する。リーダー216からのリーダー申請応答メッセージの受信に応答して、ボーダールータ202は、コミッショニングデバイス210をメッシュネットワーク100用のアクティブなコミッショナーとして受入れるかまたは拒否するかについてのリーダー216の決定を示すコミッショナー申請応答メッセージ(たとえば、COMM_PET.rsp)を、コミッショニングデバイス210に送信するであろう。
【0066】
これに代えて、630で示すように、リーダー216は、アクティブなコミッショナーになるためのコミッショニングデバイス210の申請を受入れた後で、参加許可フラグを真に設定するものの、リーダー216が更新されたネットワークデータをメッシュネットワーク100に伝搬することを許可するためのコミッショニングデバイス210からの表示を含む管理データ要求設定メッセージ632(たとえば、MGMT_SET.req)を受信するのを待つ。リーダー216は、更新されたネットワークデータを伝搬するための要求を受理確認するための管理データ応答設定メッセージ634(たとえば、MGMT_SET.rsp)で、コミッショニングデバイスに回答する。リーダー216は、ネットワークデータおよび更新されたコミッショニングデータセットをメッシュネットワーク100に伝搬し(636)、それは、メッシュネットワーク100が参加可能であることを示す。
【0067】
コミッショニングデバイス210が、リーダー216が更新されたネットワーク情報を伝搬することを許可するための管理データ要求設定メッセージを送信する前に、コミッショニングデバイス210は、メッシュネットワーク100を参加可能にすることなく、デバイスを構成する、ネットワーク設定を変更する、などのようにメッシュネットワーク100を管理してもよい。コミッショニングデータセットは、コミッショナーセッション識別子と、コミッショニングデータセットタイムスタンプと、PSKcとを含む。コミッショニングデバイス210がメッシュネットワーク100上のアクティブなコミッショナーである場合、コミッショニングデータセットは、ボーダールータ202の位置も含む。メッシュネットワーク100が参加可能である場合、コミッショニングデータセットは、どの参加デバイス212がメッシュネットワーク100への参加を許可されているかを示すステアリングデータも含む。メッシュネットワーク100が参加可能である場合、メッシュネットワーク100におけるルータ102は、ルータ102によって送信されるビーコンに、参加許可フラグおよびステアリングデータを含める。
【0068】
コミッショニングデバイス210は、コミッショニングデバイス210がメッシュネットワーク100上で固有(native)コミッショナーとして動作することを可能にする、メ
ッシュネットワークインターフェイスを含んでいてもよい。固有コミッショナービットがビーコンにおいて設定され、コミッショニングデバイス210がメッシュネットワークインターフェイスを含む場合、コミッショニングデバイス210は、メッシュネットワーク100用のアクティブなコミッショナーになるよう、リーダー216に申請してもよい。
【0069】
アクティブなコミッショナーとして一旦受入れられると、コミッショニングデバイス210は、メッシュネットワーク100のネットワークパラメータを取得し、設定するために管理データ要求設定メッセージおよび管理データ応答取得メッセージを使用して、ネットワークを管理してもよい。ネットワークパラメータは、メッシュネットワーク100用のPSKc、ネットワーク名、ネットワークキー、ネットワークキーシーケンス番号、ネットワークPAN ID、ネットワーク拡張PAN ID、ネットワーク一意ローカルアドレス(Unique Local Address:ULA)、および/または無線チャネルを含む。メッシュネットワーク100から以前に参加したデバイスを排出するための機能といった、追加の管理能力が考えられる。管理データ要求設定メッセージおよび管理データ応答取得メッセージは、コミッショニングセッションを通してボーダールータ202を介してリーダー216に中継される。ネットワークパラメータコマンドを取得し、設定するためのメッセージは、グローバルネットワーク全体の状態に影響を与えるため、メッセージはリーダー216に転送され、リーダー216によって格納される。どのデバイスも、ネットワーク情報を取得するための要求をリーダー216に直接アドレスすることができ、マルチホップアドレッシングを回避することができる。
【0070】
ジョイナーセッションの確立
メッシュネットワーク100に新規デバイスを安全にコミッショニングするために、ジョイナーセッションが、コミッショニングデバイス210と参加デバイス212との間に確立される。ジョイナーセッションは、コミッショニングデバイス210と参加デバイス212との間でメッシュネットワーク100を通る通信トンネルである。参加デバイスクレデンシャルは、参加デバイス212がメッシュネットワーク100に参加するのに適格であることを認証するために使用されるヒューマンスケールのパスフレーズである。参加デバイスクレデンシャルは、任意の好適な帯域外メカニズムによって、参加デバイス212とコミッショニングデバイス210との間で通信される。たとえば、参加デバイスクレデンシャルは、参加デバイス212上に位置するQRコードまたはバーコードをコミッショニングデバイス210に含まれるカメラでスキャンすることにより、参加デバイス212のシリアルナンバーをコミッショニングデバイス210のユーザインターフェイスに入力することにより、といったように通信されてもよい。
【0071】
図7は、コミッショニングデバイス210、ボーダールータ202、ジョイナールータ214、および参加デバイス212間のトランザクションを示すことにより、ジョイナーセッションを確立するプロセス700を示す。いくつかの実施形態では、ジョイナーセッションの確立は、参加デバイス212が、参加すべき潜在的なメッシュネットワーク100を見つけるために、IEEE802.15.4仕様で規定されたチャネルなどの無線チャネルをスキャンすると、始まる。参加デバイス212は、チャネルスキャン中に見つけた各メッシュネットワーク100にビーコン要求を発行し(702)、それに対してすべてのメッシュネットワーク100が応答するであろう。
【0072】
たとえば、参加デバイス212は、すべてのチャネル上で802.15.4MAC-BEACON.要求を送信することにより、アクティブなスキャンを行なう。ビーコン要求の受信に応答して、ジョイナールータ214は、参加デバイス212が参加すべき正しいメッシュネットワーク100を発見するのを支援するために、ステアリングデータを含むビーコン応答を送信する(704)。ジョイナールータ214は、802.15.4MAC-BEACON.応答のペイロードにステアリングデータを含む、802.15.4MAC-BEACON.応答を送信する。ステアリングデータを生成し、送信し、使用する詳細については、以下により詳細に説明される。参加デバイス212が参加すべきメッシュネットワーク100を一旦見つけると、参加デバイス212は、ジョイナールータ214への、安全でないポイント・ツー・ポイント通信リンクであるローカルオンリーの無線
リンクを確立する。
【0073】
たとえば、参加デバイス212は、チャネルスキャンから受信されたビーコンから収集されたMAC層ネットワークパラメータ(たとえば、チャネル、PAN IDなど)を構成することにより、ジョイナールータ214へのローカルオンリーの無線リンクを確立する(706)。参加デバイス212は、ローカルオンリーの無線リンクを確立するために、ジョイナールータ214の安全でないインターフェイス上のジョイナーポート(たとえば、UDPポート)(たとえば、ポート番号5684「:coaps」)にパケットを送信する。ジョイナーポートは、ビーコンにおいても通信される。ジョイナーポートが見つからない場合、デフォルトポートが参加デバイス212によって使用される。
【0074】
参加デバイス212は、メッシュネットワーク100に参加するための要求をジョイナールータ214に送信する。メッシュネットワーク100に参加するための要求を受信すると、ジョイナールータ214は、参加するための権限に対する要求をコミッショニングデバイス210に送信する。ジョイナールータ214は、安全でないジョイナーポート上で参加デバイス212によって送信されたすべてのトラフィックを転送する。ジョイナールータ214は、コミッショニングデバイス210によって理解されるDTLSハンドシェイクの内容を処理せず、または理解しない。いくつかの実施形態では、ジョイナールータ214はそのメモリに、コミッショニングデバイス210の位置、またはコミッショニングデバイス210用のプロキシであるボーダールータ202の位置を格納し、別のデバイス(たとえばリーダー216、またはボーダールータ202)からコミッショニングデバイス210の位置を検索し、または何らかの他の位置(たとえばリモートサービス)を検索してもよい。PSKdは、参加デバイス212をメッシュネットワーク100に認証するために、および、コミッショニングデバイス210と参加デバイス212との間のジョイナーセッションを安全にするために使用される。PSKdは、参加デバイスクレデンシャルから導き出される。
【0075】
いくつかの実施形態では、ジョイナーセッションは、DTLS、ならびに、ジャグリングによるパスワード認証済みキー交換(J-PAKE)、セキュアリモートパスワード(Secure Remote Password:SRP)プロトコル、および/または任意の他の好適なパスワード認証済みキー交換プロトコルなどの認証プロトコルを使用して確立されてもよい。たとえば、NIST P-256楕円曲線を使用したJ-PAKEの楕円曲線変形(EC-JPAKE)が、認証およびキー一致のために使用されてもよい。PSKdを用いてJ-PAKEを使用することは、参加デバイス212をコミッショニングしているユーザが参加デバイス212を物理的に所有していることを証明し、コミッショニングデバイス210がジョイナーセッションを通して正しい参加デバイス212に接続されることを証明する。
【0076】
ジョイナールータ214は、ジョイナーセッションを通して参加デバイス212から受信された、メッシュネットワーク100に参加するための要求を、コミッショニングデバイス210に転送する。コミッショニングデバイス210からメッシュネットワーク100への参加を認証されると、ネットワークキーがジョイナーセッションを使用して参加デバイス212に安全に転送される。
【0077】
たとえば、参加デバイス212は、参加デバイス212用についての人間が読み取れる名前を提供するために、ジョイナー識別メッセージをジョイナールータ214に送信してもよい。ジョイナールータ214は、ジョイナー識別メッセージにおける情報を中継メッセージ内にカプセル化し、コミッショナープレフィックス、エニ―キャストアドレス、またはボーダールータロケータを使用して中継メッセージをボーダールータ202に転送する。中継メッセージを受信すると、ボーダールータ202は、送信元アドレス(この場合
、ジョイナールータ214のアドレス)を中継メッセージの最後の次の中継アドレスのリストに添付し、ジョイナーセッションを通して中継メッセージを転送する。
【0078】
たとえば、参加デバイス212は、DTLSおよびUDPを使用して、ハンドシェイクメッセージをジョイナールータ214に送信する(708)。ジョイナールータ214は、コミッショニングデバイス210への配信のために、DTLSハンドシェイクメッセージをボーダールータ202に中継する(710)。ジョイナールータ214は、中継されたDTLSハンドシェイクメッセージの内容を知らない。ジョイナールータ214は、安全でないローカルオンリーの無線リンクを通して参加デバイス212から受信された受信DTLSハンドシェイクメッセージを、一致した上述のジョイナーUDPポートに基づいてフィルタリングする。ジョイナールータ214は、特定されたジョイナーUDPポート上で受信されたすべてのメッセージを中継する。ジョイナールータ214は、メッシュネットワーク100に対するサービス妨害(Denial of Service:DOS)攻撃を防止する
ために、安全でないメッセージの転送を速度制限してもよい。
【0079】
さらなる例として、参加デバイス212は最初に、DTLS-ClientHelloメッセージをジョイナールータ214に送信することによって、それ自体をコミッショニングデバイス210に名乗り出る。この最初のDTLS-ClientHelloは、コミッショニングデバイス210が、コミッショニングのやりとりの残りの間に使用するためのDTLSクッキーを参加デバイス212に割当てることを許可するよう意図されている。ジョイナールータ214は、DTLS-ClientHello UDPペイロードをDTLS中継受信通知メッセージ(たとえば、RLY_RX.ntf)内にカプセル化し、カプセル化されたパケットのソースアドレス、この場合、参加デバイス212の64ビットのリンクローカルアドレスを中継ホップとして追加する。DTLSクッキーは参加デバイス212に送信され、参加デバイス212は次にそれを、参加デバイス212が本物であることを保証するためにコミッショニングデバイス210に戻す。
【0080】
ジョイナールータ214はまた、そのアドレスを中継点としてDTLS中継受信通知メッセージに追加する。ジョイナールータ214は、DTLS中継受信通知メッセージをボーダールータ202に送信する。ボーダールータ202は、DTLS中継受信通知メッセージを受信すると、コミッショニングセッションを通してDTLS中継受信通知メッセージをコミッショニングデバイス210に転送する(712)。
【0081】
参加デバイス212から受信されたジョイナー識別メッセージに基づいて、コミッショニングデバイス210は、PSKdに基づいてDTLS-HelloVerifyメッセージを開始するためにジョイナー識別メッセージを使用する。714で、DTLS-HelloVerifyメッセージとDTLS中継送信通知メッセージ(たとえば、RLY_TX.ntf)とがボーダールータ202に送信される。716で、ボーダールータ202は、DTLS-HelloVerifyメッセージとDTLS中継送信通知メッセージとをジョイナールータ214に中継する。718で、ジョイナールータ214は、DTLS-HelloVerifyメッセージを参加デバイス212に送信する。
【0082】
これに代えて、コミッショニングデバイス210は、コミッショニングされるべき複数の参加デバイス212についての情報を有していてもよい。コミッショニングデバイス210は、複数の参加デバイス212のうちの特定の1つからDTLS-ClientHelloメッセージを受信すると、DTLS-ClientHelloメッセージを送信した参加デバイス212のIEEE64ビット拡張一意識別子(EUI-64)アドレスを調べる。コミッショニングデバイス210は、特定の参加デバイス212のためのDTLSハンドシェイクを継続するために、コミッショニングされるべき複数の参加デバイス212についての情報においてPSKdを捜す。コミッショニングデバイス210は、組合
わされたDTLS-ServerHello、DTLS―ServerKeyEx、およびDTLS-ServerHelloDoneを、ジョイナールータ214を介して参加デバイス212に戻すように中継する。このDTLSハンドシェイクが完了すると、ジョイナーセッションの確立が完了する。
【0083】
コミッショニングデバイス210が参加デバイス212を一旦認証すると、コミッショニングデバイス210は、メッシュネットワーク100用のネットワーククレデンシャルを参加デバイス212に委託する。たとえば、コミッショニングデバイス210はボーダールータ202からネットワーククレデンシャルを要求し、コミッショニングセッションを通してDTLS中継送信通知メッセージによって伝送された、ジョイナーセッションを通したジョイナー委託メッセージで、ネットワーククレデンシャルを参加デバイス212に送信する。これに代えて、コミッショニングデバイス210は、コミッショニングデバイス210と参加デバイス212との間の共有の秘密としてキー交換キー(Key Exchange
Key:KEK)を使用して、メッシュネットワーク100用のネットワーククレデンシャルを参加デバイス212に委託する。KEKは、参加デバイス212のためにジョイナールータ214に送信され、ローカルオンリーの無線リンクを通した送信用にネットワーククレデンシャルを暗号化するために使用される。
【0084】
参加デバイスのプロビジョニング
参加デバイス212がメッシュネットワーク100に参加する場合、参加デバイス212はプロビジョニングも必要とする場合がある。プロビジョニングは、参加デバイス212におけるファームウェアを更新すること、参加デバイス212を構成すること、メッシュネットワーク100上の他のデバイスに関連するローカル構成を提供すること、参加デバイス212をクラウドサービス208上のユーザのアカウントにリンクすること、参加デバイス212をクラウドベースのアプリケーションサーバにリンクすること、などを含んでいてもよい。依然として確立されているものの、コミッショナーセッションおよびジョイナーセッションは、参加デバイス212がメッシュネットワーク100に参加するためにネットワーククレデンシャルを使用する前に、参加デバイス212をプロビジョニングするために安全な接続を提供するために使用される。
【0085】
参加デバイス212は、参加デバイス212のプロビジョニングを行なうために、コミッショニングデバイス210によって実行されるべきコミッショナーアプリケーションについての位置の表示を送信する。位置の表示は、コミッショニングデバイス210のメモリにおいてコミッショナーアプリケーションを見つけるために使用されてもよく、または、クラウドサービス208からコミッショナーアプリケーションを検索するためにコミッショニングデバイス210によって使用されてもよい。表示は任意の好適な形、たとえばユニフォームリソースロケータ(URL)であってもよい。参加デバイス212のプロビジョニングが終了すると、参加デバイス212は、ジョイナーセッションとローカルオンリーの無線リンクとを終了する。参加デバイス212は、メッシュネットワーク100に参加するためにネットワーククレデンシャルを使用する。
【0086】
ステアリングデータ
無線メッシュネットワークは、電波スペクトルを共有してもよい。IEEE802.15.4などの規格は複数のチャネルを規定しており、それは、複数のネットワークが電波スペクトルの帯域内で動作することを可能にする。加えて、メッシュネットワーク100にコミッショニングするべきデバイスがたくさんある場合、参加デバイス212が参加すべき正しいメッシュネットワーク100を捜索するのを支援するために、ビーコンにおけるステアリングデータを使用して、多くの参加デバイス212用の複数のデバイス識別子を効率的に通信することが望ましい。複数のメッシュネットワークが同じ電波スペクトルおよび/または基本的な業界標準ネットワーキングプロトコルを共有する環境において、
複数の参加デバイス212を正しいメッシュネットワーク100に安全に参加させる、メッシュネットワークコミッショニング手法が説明される。
【0087】
コミッショニングデバイス210が、所望の参加デバイス212用のPSKdおよびEUI-64MACアドレスを取得すると、コミッショニングデバイス210は、どのメッシュネットワーク100に参加すべきかを所望の参加デバイス212に合図するであろうステアリングデータを構築する。ステアリングデータは、メッシュネットワーク100を他の802.15.4ベースのネットワークと区別するための何らかのやり方、メッシュネットワーク100上のアクティブなコミッショナーの有無を通信するためのやり方、および、どの参加デバイス212が現在、メッシュネットワーク100への参加を許可されているかを特定するためのやり方を含むであろう。
【0088】
ステアリングデータはコミッショニングデバイス210によって求められ、メッシュネットワーク100への参加を許可されている1つ以上の参加デバイス212のデバイス識別子を示す。コミッショニングデバイス210は、メッシュネットワーク100におけるルータ102にステアリングデータを伝搬する。ルータ102は次に、メッシュネットワーク100用のビーコンにステアリングデータを含め、ステアリングデータを潜在的な参加デバイス212に提供するためにビーコンを送信する。ビーコンは、メッシュネットワーク100は参加可能であること、および潜在的な参加デバイス212がメッシュネットワーク100への参加を許可されているかどうかということを示す表示とともに送信される。たとえば、コミッショニングデバイス210は、上述のように、所望の参加デバイス212用のPSKdおよびEUI-64MACアドレスを取得する。このEUI-64から、コミッショニングデバイス210は、所望の参加デバイス212がメッシュネットワーク100への参加を許可されていることを所望の参加デバイス212に合図するために、ステアリングデータを構築する。
【0089】
さらなる例では、ステアリングデータは、メッシュネットワーク100への参加を許可されている参加デバイス212の16ビット巡回冗長検査(CRC16)符号化EUI-64アドレスのリストを含んでいてもよい。CRC16は、CRC16符号化アドレスにおける2つの異なるEUI-64アドレス間の衝突の可能性が低い状態で、EUI-64アドレスのコンパクトな表現を提供する。CRC16の使用は、参加デバイス212のデバイス識別子にとって必要なビーコンペイロードのサイズを減少させることにより、適切な参加デバイス212が、メッシュネットワーク100のリソースを効率的に使用しつつ、参加すべき正しいメッシュネットワーク100を効率的に見つけることを可能にする。
【0090】
複数のメッシュネットワーク100がアクティブなコミッショナーを有する場合、参加デバイス212は、アクティブなスキャンからビーコンを収集することにより、正しいメッシュネットワーク100を捜索する。参加デバイス212は、非メッシュネットワークからの収集されたビーコン、間違ったプロトコルを有するビーコン、間違ったバージョンを有するビーコン、間違ったXPANIDを有するビーコン、間違ったネットワーク名を有するビーコン、および/または参加が無効になったビーコンを有するビーコンを切り捨てる。参加デバイス212は、収集されたビーコンのステアリングデータにおける参加デバイス212のデバイス識別子と完全に整合する収集されたビーコンを優先し、整合する収集されたビーコンを最良信号強度の順序で次に優先する。参加デバイス212が首尾よくメッシュネットワーク100に参加するまで、参加デバイス212は(上述のように)一度に1つずつ、優先されるネットワークへの参加を試みる。参加デバイスが、首尾よくメッシュネットワーク100に参加することなく、ネットワークの優先リストを使い尽くした場合、参加デバイス212は、メッシュネットワーク100の捜索を再度始めるために、直ちに、または遅延期間の後にアクティブなスキャンを行なってもよい。
【0091】
ステアリングデータは、どの参加デバイス212がメッシュネットワーク100への参加を試みてもよいか、または試みてはならないかを誘導する。加えて、メッシュネットワーク100が参加のために利用可能ではないことを示すために、ステアリングデータにおけるすべてのビットが0の値に設定されてもよい。これに代えて、メッシュネットワーク100が任意の参加デバイス212による参加のために利用可能であることを示すために、ステアリングデータにおけるすべてのビットが1の値に設定されてもよい。
【0092】
いくつかのコミッショニングデバイス210は、容易にQRコードをスキャンすることにより、EUI-64および参加デバイスクレデンシャルを抽出するためのリソースを欠いてもよい。この場合、ステアリングデータを求める際、参加デバイス212用のデバイス識別子として、EUI-64の最下位24ビットが使用される。ビーコンにおけるSビットは、ステアリングデータを求めるために参加デバイス212用の短い、または長いデバイス識別子が使用されるかどうかを示す。ステアリングデータを求めるためのデバイス識別子としてEUI-64が使用される場合、Sビットは0の値に設定される。ステアリングデータを求めるためのデバイス識別子としてEUI-64の最下位24ビットが使用される場合、Sビットは1の値に設定される。
【0093】
図8は、参加デバイス212用のデバイス識別子をステアリングデータへと符号化するために使用される、ブルームフィルタを使用して生成されたステアリングデータの例800を示す。ブルームフィルタは、異なるデバイス識別子の符号化された値間の衝突の確率が低い、デバイス識別子の効率的な符号化を提供する。ステアリングデータに含めるべき各デバイス識別子802は、第1のハッシュ値を生成するために第1のハッシュ関数804によって符号化され、第2のハッシュ値を生成するために第2のハッシュ関数806によって符号化される。たとえば、第1のハッシュ関数804はCRC16-CCITT、第2のハッシュ関数806はCRC16-ANSIである。デバイス識別子802は、参加デバイス212のEUI-64である。これに代えて、デバイス識別子802として、EUI-64の最下位24ビットが使用される。
【0094】
第1のハッシュ値および第2のハッシュ値に対して、モジュロ演算808が行なわれる。モジュロ演算用の除数は、ブルームフィルタのビットアレイ810の長さである(ビットアレイ810におけるビット位置は812で示され、ビット値は814で示される)。ステアリングデータを求める前に、ビットアレイにおける各ビットは0の値に初期化される。各モジュロ演算の結果は、ビットアレイにおける位置を求める。ビットアレイにおける2つの求められた位置における値は1の値に設定され、2つの求められたビットフィールドは、デバイス識別子へのマッピングを提供する。
【0095】
たとえば、仮想のデバイス識別子802のために、第1のハッシュ関数804の結果に対してモジュロ演算808を行なうことは、デバイス識別子802について3の値をもたらす。第2のハッシュ関数806の結果に対してモジュロ演算808を行なうことは、デバイス識別子802について6の値をもたらす。仮想のデバイス識別子802のブルームフィルタリングされた値を示すために、ビット位置3および6での値は、1の値に設定される。
【0096】
参加デバイス212はまた、参加デバイス212のデバイス識別子を表わすブルームフィルタビット位置を計算する。参加デバイス212は、計算されたビット位置が双方とも、収集されたビーコンにおけるステアリングデータにおいて1の値を含むかどうかを判断する。肯定的な判断は、参加デバイス212がメッシュネットワーク100への参加を許可されていることを参加デバイス212に示す。任意の参加デバイス212がメッシュネットワーク100への参加を許可されていることを示すために、ブルームフィルタのビットアレイにおけるビットの値はすべて1の値に設定されてもよい。ブルームフィルタビッ
トアレイにおけるすべてのビットを0の値に設定することは、メッシュネットワーク100用のアクティブなコミッショナーが存在しないこと、および、メッシュネットワーク100が参加のために利用可能ではないことを示す。ブルームフィルタは、特定の参加デバイスがメッシュネットワーク100への参加を許可されていない場合にその特定の参加デバイス212の参加が許可されていると示す誤判定の確率が低い状態で、適切な参加デバイス212が参加すべき正しいメッシュネットワーク100を効率的に見つけることを可能にしつつ、デバイス識別子についての匿名性を用いたコンパクトな表現を提供する。
【0097】
ブルームフィルタについてのパラメータは、デバイス識別子をハッシュするために使用されるハッシュ関数の数k、ブルームフィルタのビットアレイにおけるビット数m、および、ステアリングデータにおいて表わす参加デバイス212の数nである。限定ではなく例として、パラメータkは2に設定され、多項式0x1021を有するCRC16-CCITTおよび多項式0x8005を有するCRC16-ANSIといった2つのハッシュ関数が使用されることを示す。k、ハッシュ関数、および多項式の他の値が考えられる。
【0098】
ブルームフィルタについての衝突確率pは、以下のように計算され得る。
【0099】
【数2】
【0100】
コミッショニングデバイス212は、ステアリングデータにおいて合理的に低い衝突確率を得るように、ビットアレイの長さmを必要に応じて設定してもよい。ブルームフィルタの使用は、ステアリングデータが、低い衝突確率を維持しつつ、多数の参加デバイス212のメッシュネットワーク100への参加をサポートするためにスケール変更することを許可する。以下の表は、m=127(すなわち16バイト)の場合のnのさまざまな値および衝突確率pについて示す。
【0101】
【表1】
【0102】
多数の参加デバイス212(たとえば1000個)を参加させるために、コミッショニングデバイス210は、より小さい各組がステアリングデータにおいてより低い衝突確率(誤判定)を有するように、大きい一組をより小さい組へと分解してもよい。
【0103】
メッシュネットワーク区画を超えるコミッショニングデータの管理
図9は、メッシュネットワーク100の分裂または分割が生じた場合のメッシュネットワーク100を示す。たとえば、ルータ102のうちの1つが停電して、メッシュネットワーク100の1つの区画または断片が別の区画と通信するのを防げるメッシュネットワーク100の分裂をもたらす場合がある。一方、無線妨害がメッシュネットワーク100の一部における通信を阻止して、メッシュネットワーク100の分裂を生み出す場合がある。メッシュネットワーク100が2つのネットワーク断片902および904へと分裂する場合、ネットワーク断片904は断片904用のリーダーを選択するであろう。また、断片902用のコミッショナーとは異なる断片904用のコミッショナーを受入れるかもしれない。断片のどちらかまたは双方が、分裂中にネットワーククレデンシャルを更新するかもしれない。
【0104】
メッシュネットワーク100は、2つの異なる断片へときれいにかつ確実に分割でき、それらは、2つの区画間の接続性が切断された場合、十分に機能的なネットワークである。これらの区画は、中断されていない区画内に十分に含まれるあらゆる未完了の通信を継続でき、通常キー回転で継続できる。以前は単一のメッシュネットワーク100の一部であった2つのメッシュネットワーク区画は、2つの区画間の接続性が回復されると自律的に合併できる。
【0105】
分裂中にネットワーク断片902においてコミッショニングクレデンシャルが変更された場合、このコミッショニングクレデンシャルの変更は、ネットワーク断片902および904の間で接続性が回復されるとネットワーク断片904内のデバイスに伝搬されるであろう。言い換えれば、いくつかの実施形態では、コミッショニングクレデンシャルは、最も最近採用されたクレデンシャルに更新される。しかしながら、ネットワーク断片902および904の双方が別々のコミッショナーを認可し、分裂中に別々の新しいコミッショニングクレデンシャルを受信する場合、最も最近のクレデンシャルを判断することはより難しくなるかもしれない。
【0106】
以前に断片化されたものの現在合併している任意の2つのメッシュネットワーク断片間のコミッショニングクレデンシャルの解決は、最も最近変更されたコミッショニングデータセットを、メッシュネットワーク100におけるデバイスに伝搬する。断片902において変更がある場合、ユーザは、自分はメッシュネットワーク100全体においてコミッショニングクレデンシャルを変更しているものの、分割のため、断片902においてのみクレデンシャルを有効に変更している、と考える。いくらか後の時点で、断片902および904は合併する。断片化の後、断片902におけるクレデンシャルは変更されたものの、断片904における元のクレデンシャルは変更されないままであったため、合併された断片は、断片化中に断片902において新しいクレデンシャルが確立したと仮定する。分裂中に断片904においてコミッショニングクレデンシャルに変更がある場合、断片904に対して行なわれた変更は、合併後、断片902におけるデバイスに伝搬される。
【0107】
分裂中に2人のユーザがそれぞれの2つの断片902および904においてコミッショニングクレデンシャルを変更する場合、2人のユーザは各々、自分たちはメッシュネットワーク100全体においてコミッショニングクレデンシャルを変更していると考える。しかしながら、メッシュネットワーク100は断片化されているため、双方のユーザは、自分自身をネットワークコミッショナーとして確立し、自分たちのそれぞれのネットワーク断片においてコミッショニングクレデンシャルを変更することができる。いくらか後の時点で断片902および904は合併するが、2つの断片からのどちらのリーダーが、合併されたメッシュネットワーク用のリーダーとして優勢であるかは、知られないかもしれない。優勢であるリーダーは、最も最近変更されたコミッショニングクレデンシャルのコピ
ーを有していないかもしれない。コミッショニングクレデンシャルは2つの断片において独立して変更されたため、最も最近更新されたコミッショニングクレデンシャルを有する断片が優位を得る。
【0108】
2つのうちどちらのネットワーククレデンシャルが最も最近のものであるかを判断するために、コミッショニングデータセットは、タイムスタンプ情報と、コミッショニングクレデンシャルとを含み、メッシュネットワークが合併する際のコミッショニングクレデンシャル間の違いを解決する。タイムスタンプ情報は、メッシュネットワーク100におけるノードが、任意の断片におけるコミッショニングクレデンシャルへの最も最近の更新を判断し、メッシュネットワーク100におけるデバイスにおけるコミッショニングデータセットを最も最近更新されたコミッショニングクレデンシャルに同期させることを可能にする。
【0109】
タイムスタンプ情報は、タイムスタンプと、タイムスタンプが協定世界時(UTC)までトレーサブルであるか、またはメッシュネットワーク100内の相対時間基準であるかという表示とを含む。たとえば、コミッショニングデバイス210が、ネットワークタイムプロトコル(Network Time Protocol:NTP)を使用するなどのネットワーク時間へ
のアクセス、セルラーネットワークを通して提供される時間へのアクセス、全地球測位システム(Global Positioning System:GPS)レシーバからのタイミング情報などを有
するスマートフォンまたはコンピュータなどのデバイスである場合、タイムスタンプはUTCまでトレーサブルである。限定ではなく例として、タイムスタンプがUTCまでトレーサブルである場合、タイムスタンプは、たとえばUNIX(登録商標)時間の開始以降2-15秒単位といった、公知のエポックまでトレーサブルな秒単位で表現される。タイムスタンプがUTCトレーサブル時間である場合、Uビットなどの表示は、タイムスタンプがUTCまでトレーサブルであることを示すように設定される。
【0110】
コミッショニングデバイス210が、UTCトレーサブル時間へのアクセスを有していない、固有コミッショナーなどの組込システムである場合、タイムスタンプは相対時間値を含む。相対時間値は、リーダー216によって提供されるようなタイムスタンプの以前の値を使用し、更新されたコミッショニングデータセット用のタイムスタンプを生成するためにクロックチックの増分を以前のタイムスタンプに追加することによって求められる。限定ではなく例として、タイムチックは、固有コミッショナーの32kHzクロックから導き出された1秒未満のタイムチックの15ビット表現であってもよい。タイムスタンプが相対時間である場合、タイムスタンプが相対時間として表現されることを示すために、Uビットなどの表示は0の値に設定される。相対時間のためのタイムスタンプの増分は、コミッショニングデータへの変更が検出されることを許可する。区画が合併する際、コミッショニングタイムスタンプのうちの1つがUTCまでトレーサブルであり、第2のタイムスタンプが相対時間である場合、UTCトレーサブルなタイムスタンプを有するコミッショニングデータに、より高い優先順位が与えられるであろう。
【0111】
分裂中に別々に更新されたコミッショニングクレデンシャル間でタイムスタンプが同一である場合、タイムスタンプ間のつながりを断つために代替的な手段が使用されてもよい。いくつかの実施形態では、どのクレデンシャルがより最近のものであるかを判断するために、辞書式比較(たとえば、memcmp)が行なわれてもよい。ある実施形態では、タイムスタンプ間のつながりがある場合、1つのネットワーク断片におけるコミッショニングクレデンシャルへの変更が採用されるように、ネットワーク断片が優先されてもよい。たとえば、ネットワーク断片902および904が各々、同一のタイムスタンプを含むコミッショニングクレデンシャル変更を受信すると、2つの断片のコミッショニングデータセットにおけるタイムスタンプ値が同一である場合にはネットワーク断片902における変更が採用されるように、ボーダールータ202を有するネットワーク断片が最優先断
片として考えられてもよい。
【0112】
例示的な方法1000~1800が、メッシュネットワークコミッショニングの1つ以上の実施形態に従って、それぞれの図10~18を参照して説明される。一般に、ここに説明されるコンポーネント、モジュール、方法、および動作のうちのいずれも、ソフトウェア、ファームウェア、ハードウェア(たとえば、固定論理回路)、手動処理、またはそれらの任意の組合せを使用して実現され得る。例示的な方法のいくつかの動作は、コンピュータ処理システムにとってローカルの、および/またはリモートのコンピュータ読取可能ストレージメモリ上に格納された実行可能な命令の一般的状況において説明されてもよく、実現化例は、ソフトウェアアプリケーション、プログラム、関数などを含み得る。これに代えて、またはこれに加えて、ここに説明される機能性のうちのいずれも、フィールドプログラマブルゲートアレイ(Field-programmable Gate Array:FPGA)、特定用
途向け集積回路(Application-specific Integrated Circuit:ASIC)、特定用途向
け標準品(Application-specific Standard Product:ASSP)、システム・オン・チ
ップ・システム(System-on-a-chip system:SoC)、複合プログラマブル論理デバイ
ス(Complex Programmable Logic Device:CPLD)などを含むもののそれらに限定さ
れない1つ以上のハードウェア論理コンポーネントによって、少なくとも部分的に行なわれ得る。
【0113】
図10は、概してメッシュネットワークにノードを参加させることに関するようなメッシュネットワークコミッショニングの例示的な方法1000を示す。方法ブロックが説明される順序は限定として解釈されるよう意図されてはおらず、また、方法または代替的な方法を実現するために、任意の数の説明される方法ブロックを任意の順序で組合わせることができる。
【0114】
ブロック1002で、参加デバイスからビーコン要求が受信され、ブロック1004で、ジョイナールータから参加デバイスにビーコンが送信され、ビーコンは、メッシュネットワークが参加のために利用可能であるという表示を提供する。たとえば、メッシュネットワーク100におけるジョイナールータ214は、参加デバイス212からビーコン要求を受信し、次に参加デバイスにビーコンを送信し、ビーコンは、メッシュネットワーク100が参加のために利用可能であるという表示を提供する。送信されたビーコンは、参加デバイス212が参加デバイスとジョイナールータとの間にローカルリンクを確立することを可能にするために有効である。
【0115】
ブロック1006で、メッシュネットワークに参加することを要求する参加デバイスから、メッセージが受信される。たとえば、メッシュネットワーク100におけるジョイナールータ214は、メッシュネットワークに参加することを要求する参加デバイス212からメッセージを受信する。参加デバイス212から受信されたメッセージは、参加デバイスを認証するために使用可能である暗号化されたデバイス識別子を含み得る。参加デバイスは、ジャグリングによるパスワード認証済みキー交換(J-PAKE)を使用して認証され、認証は、メッシュネットワーク100のコミッショニングデバイス210と参加デバイスとの間に安全な通信セッションを確立するために有効である。
【0116】
ブロック1008で、受信されたメッセージは、メッシュネットワークのコミッショニングデバイスに転送される。たとえば、ジョイナールータ214は、参加デバイス212からメッシュネットワーク100のコミッショニングデバイス210に、受信されたメッセージを転送する。実現化例では、メッセージは、データグラムトランスポート層セキュリティ(DTLS)を使用して、またはユーザデータグラムプロトコル(UDP)を使用して、受信され転送され得る。加えて、受信されたメッセージをコミッショニングデバイス210に転送するジョイナールータ214は、ジョイナールータ214とコミッショニ
ングデバイス210との間の通信経路において、メッシュネットワーク100の1つ以上のルータを通して、受信されたメッセージを転送することを含み得る。実現化例では、ルータのうちの1つは、メッシュネットワーク100を外部ネットワークに接続するボーダールータ202であってもよく、コミッショニングデバイスは外部ネットワークに取付けられている。
【0117】
ブロック1010で、参加デバイスがメッシュネットワークに参加するための認証が受信され、ブロック1012で、ネットワーク情報が参加デバイスに送信され、ネットワーク情報は、参加デバイスがメッシュネットワーク100に参加することを可能にするために有効である。たとえば、ジョイナールータ214は、コミッショニングデバイス210から、参加デバイス212がメッシュネットワーク100に参加するための認証を受信し、ジョイナールータ214は、ネットワーク情報を参加デバイスに送信し、ネットワーク情報は、参加デバイス212がメッシュネットワークに参加することを可能にするために有効である。
【0118】
図11は、概してメッシュネットワークにノードを参加させることに関するようなメッシュネットワークコミッショニングの例示的な方法1100を示す。方法ブロックが説明される順序は限定として解釈されるよう意図されてはおらず、また、方法または代替的な方法を実現するために、任意の数の説明される方法ブロックを任意の順序で組合わせることができる。
【0119】
ブロック1102で、参加デバイスからビーコン要求が受信され、ブロック1104で、ジョイナールータから参加デバイスにビーコンが送信され、ビーコンは、メッシュネットワークが参加のために利用可能であるという表示を提供する。たとえば、メッシュネットワーク100におけるジョイナールータ214は、参加デバイス212からビーコン要求を受信し、次に参加デバイスにビーコンを送信し、ビーコンは、メッシュネットワーク100が参加のために利用可能であるという表示を提供する。ビーコンは、メッシュネットワーク100のネットワーク名と、メッシュネットワークへの参加が許可されている1つ以上の参加デバイス212を示すステアリングデータとを含む。送信されたビーコンは、参加デバイスが参加デバイスとジョイナールータとの間にローカルリンクを確立することを可能にするために有効である。
【0120】
ブロック1106で、メッシュネットワークに参加することを要求する参加デバイスから、DTLS-ClientHelloメッセージが受信され、ブロック1108で、受信されたDTLS-ClientHelloメッセージは、DTLS中継受信通知メッセージ内にカプセル化される。たとえば、ジョイナールータは、メッシュネットワーク100に参加することを要求する参加デバイス212からDTLS-ClientHelloメッセージを受信し、受信されたDTLS-ClientHelloメッセージをDTLS中継受信通知メッセージ内にカプセル化する。DTLS-ClientHelloメッセージは、ユーザデータグラムプロトコル(UDP)を利用して参加デバイス212から受信可能であり、DTLS中継受信通知メッセージは、参加デバイス212のアドレスと、ジョイナールータ214のアドレスと、受信されたDTLS-ClientHelloメッセージとを含む。
【0121】
ブロック1110で、DTLS中継受信通知メッセージは、メッシュネットワークのコミッショニングデバイスに送信される。たとえば、ジョイナールータは、DTLS中継受信通知メッセージを、メッシュネットワーク100のコミッショニングデバイス210に送信する。実現化例では、ジョイナールータは、参加デバイスからコミッショニングデバイス210に送信されるDTLS中継受信通知メッセージの送信に速度制限を適用してもよい。
【0122】
ブロック1112で、コミッショニングデバイスから、DTLS中継送信通知メッセージが受信され、ブロック1114で、DTLS中継送信通知メッセージの内容が参加デバイスに送信され、内容は、参加デバイスがメッシュネットワークに参加することを可能にする。たとえば、ジョイナールータは、コミッショニングデバイス210からDTLS中継送信通知メッセージを受信し、DTLS中継送信通知メッセージの内容を参加デバイス212に送信し、内容は、参加デバイスがメッシュネットワーク100に参加することを可能にし、内容は、コミッショニングデバイス210と参加デバイスとの間に安全な通信セッションを確立するために有効である。DTLS中継送信通知メッセージは、参加デバイス212のアドレスと、ジョイナールータ214のアドレスと、DTLS-HelloVerifyメッセージとを含む。
【0123】
ブロック1116で、コミッショニングデバイスから、参加デバイスはメッシュネットワーク用のネットワーククレデンシャルを受信するよう委託されるべきであるという表示が受信され、ブロック1118で、コミッショニングデバイスと参加デバイスとの間で共有されるキー暗号化キー(KEK)が受信される。たとえば、ジョイナールータ214は、コミッショニングデバイス210から、参加デバイス212はメッシュネットワーク100用のネットワーククレデンシャルを受信するよう委託されるべきであるという表示を受信し、また、コミッショニングデバイス210と参加デバイスとの間で共有されるキー暗号化キー(KEK)を受信する。
【0124】
ブロック1120で、ネットワーククレデンシャルの通信を安全にするためにKEKを使用して、ネットワーククレデンシャルが参加デバイスに送信される。たとえば、ジョイナールータは、ネットワーククレデンシャルの通信を安全にするためにKEKを使用して、ネットワークマスターキーを含むネットワーククレデンシャルを参加デバイス212に送信し、安全な通信セッションは、参加デバイスのプロビジョニングを行なうために使用可能である。
【0125】
図12は、概してメッシュネットワークにおいてコミッショニングセッションを確立することに関するようなメッシュネットワークコミッショニングの例示的な方法1200を示す。方法ブロックが説明される順序は限定として解釈されるよう意図されてはおらず、また、方法または代替的な方法を実現するために、任意の数の説明される方法ブロックを任意の順序で組合わせることができる。
【0126】
ブロック1202で、コミッショニングデバイスのためのメッシュネットワークの利用可能性が広告され、ブロック1204で、メッシュネットワーク用のコミッショナーになるための申請が、コミッショニングデバイスから受信される。たとえば、メッシュネットワーク100のボーダールータ202は、コミッショニングデバイスのためのメッシュネットワークの利用可能性を広告し、メッシュネットワーク用のコミッショナーになるための申請をコミッショニングデバイス210から受信する。申請は、メッシュネットワークの利用可能性を広告することに応答して、コミッショニングデバイス210から受信され得る。コミッショニングデバイス210はまた、ボーダールータ202に安全に接続することを要求でき、安全な接続は、データグラムトランスポート層セキュリティ(DTLS)を使用して確立される。加えて、コミッショニングデバイス210とボーダールータ202とは、Wi-Fiネットワークまたはイーサネット(登録商標)ネットワークといった、メッシュネットワーク以外の他のネットワークを通して通信できる。
【0127】
ブロック1206で、受信された申請はメッシュネットワークのリーダーデバイスに送信され、ブロック1208で、リーダーデバイスから申請に対する応答が受信され、応答は申請の受入れまたは拒否を表示する。たとえば、ボーダールータ202は、コミッショ
ニングデバイス210からメッシュネットワーク100のリーダーデバイス216に、受信された申請を送信し、次に、リーダーデバイス216から申請に対する応答を受信し、応答は申請の受入れまたは拒否を表示する。広告は、マルチキャストドメイン名システム(Multicast Domain Name System:mDNS)であるサービス発見プロトコルを使用して行なわれ得る。
【0128】
ブロック1210で、申請の受入れまたは拒否の表示がコミッショニングデバイスに送信される。たとえば、ボーダールータ202は、申請の受入れまたは拒否の表示をコミッショニングデバイス210に送信し、リーダーデバイス216による申請の受入れは、コミッショニングデバイス210がメッシュネットワーク用のコミッショナーになることを認可する。申請の受入れは安全なコミッショニングセッションを確立し、また、申請の受入れは、リーダーデバイス216が、メッシュネットワーク用のアクティブなコミッショナーを追跡する内部状態を更新し、メッシュネットワーク用の参加許可フラグを真に設定し、メッシュネットワーク内でコミッショニングデータセットを伝搬することを可能にする。
【0129】
ブロック1212で、安全なコミッショニング通信セッションを確立するために、コミッショニングデバイスのアイデンティティがボーダールータに登録される。たとえば、ボーダールータ202は、安全なコミッショニング通信セッションを確立するために、コミッショニングデバイス210のアイデンティティをボーダールータ202に登録する。コミッショニングデバイス210のアイデンティティを登録することは、暗号化されたコミッショニングクレデンシャルをボーダールータ202に提供することを含み、暗号化されたコミッショニングクレデンシャルは、ユーザによってコミッショニングデバイス210に入力されたコミッショニングクレデンシャルから導き出されたものである。ボーダールータ202は、コミッショニングデバイス210をメッシュネットワーク100に認証するために使用可能である暗号化されたコミッショニングクレデンシャルのコピーを含み、暗号化されたコミッショニングクレデンシャルのコピーは、コミッショニングクレデンシャルから以前に導き出され、コミッショニングクレデンシャルは、暗号化されたコミッショニングクレデンシャルのコピーを導き出したメッシュネットワーク100のリーダーデバイス216に注入され、リーダーデバイス216は、暗号化されたコミッショニングクレデンシャルのコピーを、ボーダールータに安全に通信した。
【0130】
図13は、概してメッシュネットワークにおいてコミッショニングセッションを確立することに関するようなメッシュネットワークコミッショニングの例示的な方法1300を示す。方法ブロックが説明される順序は限定として解釈されるよう意図されてはおらず、また、方法または代替的な方法を実現するために、任意の数の説明される方法ブロックを任意の順序で組合わせることができる。
【0131】
ブロック1302で、メッシュネットワークに参加するように参加デバイスをコミッショニングするためのコミッショナーとしてコミッショニングデバイスを受入れるための申請が、受信される。たとえば、メッシュネットワーク100のリーダーデバイス216は、メッシュネットワークに参加するように参加デバイス212をコミッショニングするためのコミッショナーとしてコミッショニングデバイス210を受入れるための申請を受信する。申請は、メッシュネットワークを通してリーダーデバイス216に接続されているボーダールータ202から受信され、コミッショニングデバイス210は、Wi-Fiネットワークまたはイーサネット(登録商標)ネットワークといった別のネットワークを通してボーダールータ202に接続される。また、申請は、ボーダールータ202とコミッショニングデバイス210との間の安全な通信セッションを使用して受信され、安全な通信セッションは、データグラムトランスポート層セキュリティ(DTLS)を使用して確立される。リーダーデバイス216は、メッシュネットワーク用のネットワークインター
フェイスを含むコミッショニングデバイス210から、メッシュネットワーク100を通して申請を受信でき、コミッショニングデバイス210は、ネットワークビーコンにおいて固有コミッショナービットを真に設定することにより、コミッショナーになるよう申請する。コミッショニングデバイス210は、IEEE802.15.4インターフェイスを使用して、制約付きアプリケーションプロトコル(Constrained Application Protocol:CoAP)ポートを通して、リーダーデバイスに申請を通信できる。
【0132】
ブロック1304で、受信された申請を受入れるかまたは拒否するかに関して判断が下され、ブロック1306で、受信された申請を受入れるかまたは拒否するかに関する表示とともに、応答がコミッショニングデバイスに送信される。たとえば、リーダーデバイス216は、受信された申請を受入れるかまたは拒否するかを判断し、次に、受信された申請を受入れるかまたは拒否するかに関する表示とともに、応答をコミッショニングデバイス210に送信する。リーダーデバイス216は、メッシュネットワーク100用のアクティブなコミッショナーが1つ存在すると保証することに基づいて、受信された申請を受入れるかまたは拒否するかを判断する。
【0133】
ブロック1308で、受信された申請を受入れるという判断に応答して、メッシュネットワーク用のアクティブなコミッショナーを追跡する内部状態が更新される。たとえば、リーダーデバイス216は、メッシュネットワーク用のアクティブなコミッショナーを追跡する内部状態を更新する。
【0134】
ブロック1310で、コミッショニングデバイスから、メッシュネットワーク用の参加モードを開始するためのコマンドが受信され、ブロック1312で、メッシュネットワーク内でコミッショニングデータセットが伝搬される。たとえば、リーダーデバイス216は、コミッショニングデバイス210から、メッシュネットワーク100用の参加モードを開始するためのコマンドを受信し、メッシュネットワーク内でコミッショニングデータセットを伝搬する。コミッショニングデータセットは、コミッショナーセッション識別子と、コミッショナータイムスタンプと、暗号化されたコミッショナークレデンシャルと、どのセキュリティ関連動作がメッシュネットワークにおいて許可されているかを示すセキュリティポリシーとを含む。コミッショナーがメッシュネットワーク100上でアクティブである場合、コミッショニングデータセットは、ボーダールータ202の位置をさらに含む。メッシュネットワークにおいて参加モードが可能にされると、コミッショニングデータセットはさらに、参加デバイス212のうちのどれがメッシュネットワークへの参加を許可されているかを示すステアリングデータを含む。
【0135】
ブロック1314で、リーダーデバイスのコミッショニング中にリーダーデバイス216に注入されたコミッショニングクレデンシャルから、暗号化されたコミッショニングクレデンシャルが導き出される。たとえば、リーダーデバイス216は、リーダーデバイスのコミッショニング中にリーダーデバイスに注入されたコミッショニングクレデンシャルから、暗号化されたコミッショニングクレデンシャルを導き出す。暗号化されたコミッショニングクレデンシャルの導出は、キー導出関数を適用することによって行なわれ、キー導出関数は、暗号ベースのメッセージ認証コード(Cipher-based Message Authentication Code:CMAC)を使用してハッシングを複数回行なう。実現化例では、コミッショニングクレデンシャルはヒューマンスケールのパスフレーズであり、暗号化されたコミッショニングクレデンシャルの導出は、コミッショニングクレデンシャルの長さを伸ばすために有効である。
【0136】
ブロック1316で、暗号化されたコミッショニングクレデンシャルのコピーがボーダールータに送信され、ボーダールータがコミッショニングデバイスをメッシュネットワークに認証することを可能にする。たとえば、リーダーデバイス216は、暗号化されたコ
ミッショニングクレデンシャルのコピーをボーダールータ202に送信して、ボーダールータ202がコミッショニングデバイス210をメッシュネットワークに認証することを可能にする。
【0137】
図14は、概してメッシュネットワークにおいて複数のコミッショニングセッションを管理することに関するようなメッシュネットワークコミッショニングの例示的な方法1400を示す。方法ブロックが説明される順序は限定として解釈されるよう意図されてはおらず、また、方法または代替的な方法を実現するために、任意の数の説明される方法ブロックを任意の順序で組合わせることができる。
【0138】
ブロック1402で、メッシュネットワークのコミッショニングデバイスとボーダールータとの間に、安全なコミッショニング通信セッションが確立される。たとえば、コミッショニングデバイス210は、メッシュネットワークに1つ以上の参加デバイス212を参加させるためにネットワーク通信セッションを安全に確立するために、メッシュネットワーク100のコミッショニングデバイスとボーダールータ202との間に安全なコミッショニング通信セッションを確立する。コミッショニングデバイス210は、メッシュネットワーク用のアクティブなコミッショナーとしてのコミッショニングデバイス210の受入れを要求するために、コミッショニングデバイスからメッシュネットワーク100のリーダーデバイス216に申請を送信することにより、安全なコミッショニング通信セッションを確立し、コミッショニングデバイスは、リーダーデバイスから申請の受入れの表示を受信する。
【0139】
ブロック1404で、メッシュネットワークのための参加が起動される。たとえば、コミッショニングデバイスは、メッシュネットワークにおける1つ以上のルータにメッシュネットワークが参加要求を受入れていることを広告させる参加モードを開始することにより、メッシュネットワークのための参加を起動する。コミッショニングデバイス210はまた、メッシュネットワークを参加可能にするために管理メッセージをリーダーデバイス216に送信することにより、メッシュネットワーク100のための参加を起動でき、管理メッセージは、リーダーデバイス216がメッシュネットワーク用のネットワークデータを更新することを可能にする。ネットワークデータは、メッシュネットワークにおける1つ以上のルータデバイスに伝搬され、ネットワークデータは、メッシュネットワーク100が参加のために利用可能であるという表示を含む。ネットワークデータは、ルータデバイスによってビーコンで一斉送信可能であり、管理メッセージは、1つ以上の参加デバイス212を示すステアリングデータを含み、コミッショニングデバイス210は、1つ以上の参加デバイス212をメッシュネットワークに参加させるように構成されている。
【0140】
ブロック1406で、参加デバイスのうちの1つから、メッシュネットワークに参加するための要求が受信される。たとえば、コミッショニングデバイス210は、参加デバイス212のうちの1つからメッシュネットワーク100に参加するための要求を受信し、要求はジョイナールータを介して受信されてもよい。コミッショニングデバイス210は、参加デバイス212が、メッシュネットワーク100用のネットワーククレデンシャルと、コミッショニングデバイス210と参加デバイスとの間で共有されるキー暗号化キー(KEK)とを受信するよう委託されるべきであるという表示を、ジョイナールータ214に送信できる。ジョイナールータ214に送信される表示は、ジョイナールータが、受信されたKEKを使用して、ネットワーククレデンシャルを参加デバイス212に安全に送信し、参加デバイスをメッシュネットワークにコミッショニングすることを可能にする。参加デバイス212から受信された要求は、参加デバイスの暗号化されたデバイス識別子を含むことが可能であり、暗号化されたデバイス識別子は、ジャグリングによるパスワード認証済みキー交換(J-PAKE)を使用して、参加デバイスのデバイス識別子から導き出される。
【0141】
ブロック1408で、コミッショニングデバイスと参加デバイスとの間に、安全なジョイナー通信セッションが確立される。たとえば、コミッショニングデバイス210は、コミッショニングデバイスと参加デバイス212との間に安全なジョイナー通信セッションを確立する。コミッショニングデバイス210は、ユーザからコミッショニングデバイスへの入力として受信されたデバイス識別子のコピーから、参加デバイス212から受信された暗号化されたデバイス識別子がコミッショニングデバイス210によって導き出された暗号化されたデバイス識別子と整合すると判断することにより、安全なジョイナー通信セッションを確立でき、コミッショニングデバイス210は、ジョイナー通信セッションを安全にするために、暗号化されたデバイス識別子を共有の秘密として使用する。
【0142】
ブロック1410で、参加デバイスは、暗号化されたデバイス識別子を使用して認証され、ブロック1412で、参加デバイスは、メッシュネットワークに参加する。たとえば、コミッショニングデバイス210は、暗号化されたデバイス識別子を使用して参加デバイス212を認証し、参加デバイス212をメッシュネットワークに参加させる。
【0143】
図15は、概してメッシュネットワークにおいて参加デバイスをプロビジョニングすることに関するようなメッシュネットワークコミッショニングの例示的な方法1500を示す。方法ブロックが説明される順序は限定として解釈されるよう意図されてはおらず、また、方法または代替的な方法を実現するために、任意の数の説明される方法ブロックを任意の順序で組合わせることができる。
【0144】
ブロック1502で、メッシュネットワークのコミッショニングデバイスとボーダールータとの間に、コミッショニング通信セッションが確立される。たとえば、メッシュネットワーク100のコミッショニングデバイス210は、メッシュネットワークのコミッショニングデバイス210とボーダールータ202との間にコミッショニング通信セッションを確立する。ブロック1504で、参加デバイスとコミッショニングデバイスとの間に、ジョイナー通信セッションが確立される。たとえば、メッシュネットワーク100のコミッショニングデバイス210は、参加デバイス212とコミッショニングデバイスとの間にジョイナー通信セッションを確立する。
【0145】
ブロック1506で、コミッショニング情報が参加デバイスに送信され、コミッショニング情報は、メッシュネットワークに参加するために参加デバイスによって使用可能である。たとえば、メッシュネットワーク100のコミッショニングデバイス210は、メッシュネットワークに参加するために参加デバイス212が使用できるコミッショニング情報を、参加デバイスに送信する。
【0146】
ブロック1508で、参加デバイスから、コミッショナーアプリケーションの位置の表示が受信され、1510で、受信された表示を利用して、コミッショナーアプリケーションが検索される。たとえば、コミッショニングデバイス210は、参加デバイスから、コミッショナーアプリケーションの位置表示を受信し、受信された位置表示はユニフォームリソースロケータ(URL)であってもよく、コミッショニングアプリケーションは、インターネットを通してクラウドサービスからコミッショナーアプリケーションを検索する。コミッショニングデバイス210はまた、コミッショナーアプリケーションがコミッショニングデバイスのメモリに格納されているかどうかを判断するために、受信されたURLを使用できる。
【0147】
ブロック1512で、参加デバイスをプロビジョニングするために、コミッショナーアプリケーションが実行される。たとえば、コミッショニングデバイス210は、参加デバイスをプロビジョニングするために、コミッショナーアプリケーションを利用する。参加
デバイス212のプロビジョニングは、参加デバイス上のソフトウェアを更新すること、参加デバイスをクラウドサービス上のユーザアカウントにリンクすること、および/または参加デバイスを構成することを含み、構成は、メッシュネットワークにおける他のデバイスに関連するローカル構成である。ブロック1514で、参加デバイスのコミッショニングが終了し、参加デバイスがメッシュネットワークに参加することを可能にする。たとえば、メッシュネットワーク100のコミッショニングデバイス210はコミッショニングを終了させ、参加デバイス212がメッシュネットワークに参加することを可能にする。
【0148】
図16は、概してメッシュネットワークにおいて捜索およびステアリングすることに関するようなメッシュネットワークコミッショニングの例示的な方法1600を示す。方法ブロックが説明される順序は限定として解釈されるよう意図されてはおらず、また、方法または代替的な方法を実現するために、任意の数の説明される方法ブロックを任意の順序で組合わせることができる。
【0149】
ブロック1602で、メッシュネットワーク用のステアリングデータが求められ、ステアリングデータは、メッシュネットワークへの参加が許可されているデバイスに関連付けられたデバイス識別子の表示を含む。たとえば、メッシュネットワーク100のコミッショニングデバイス210は、メッシュネットワーク用のステアリングデータを求め、ステアリングデータは、メッシュネットワークへの参加が許可されているデバイスに関連付けられたデバイス識別子の表示を含む。実現化例では、ステアリングデータは、IEEE64ビット拡張一意識別子(EUI-64)であるデバイス識別子の16ビット巡回冗長検査(CRC16)である。コミッショニングデバイス210はまた、メッシュネットワークへの参加が許可されている追加のデバイスに関連付けられた追加のデバイス識別子用のステアリングデータを求めることにより、メッシュネットワーク100用のステアリングデータを求めてもよい。
【0150】
ブロック1604で、ステアリングデータは、メッシュネットワーク用のコミッショニングデバイスからメッシュネットワークにおけるルータに伝搬される。たとえば、メッシュネットワーク100のコミッショニングデバイス210は、メッシュネットワークにおけるルータにステアリングデータを伝搬し、ステアリングデータは、コミッショナーがメッシュネットワーク上でアクティブであることを示す。ステアリングデータを伝搬することは、ルータ102がステアリングデータをビーコンメッセージで送信することを可能にし、ステアリングデータは、デバイス識別子に関連付けられたデバイスが、デバイスはメッシュネットワークへの参加を許可されていると識別することを可能にするために有効である。コミッショニングデバイス210がステアリングデータを伝搬することは、デバイスがメッシュネットワークと他のネットワークとを区別することを可能にするために有効であり、他のネットワークは、IEEE802.15.4ネットワークである。
【0151】
図17は、概してメッシュネットワークにおいて捜索およびステアリングすることに関するようなメッシュネットワークコミッショニングの例示的な方法1700を示す。方法ブロックが説明される順序は限定として解釈されるよう意図されてはおらず、また、方法または代替的な方法を実現するために、任意の数の説明される方法ブロックを任意の順序で組合わせることができる。
【0152】
ブロック1702で、メッシュネットワーク用のステアリングデータが求められ、ステアリングデータは、メッシュネットワークへの参加が許可されているデバイスに関連付けられたデバイス識別子の表示を含み、表示は、デバイス識別子を表わす、ブルームフィルタにおける一組の値として表わされている。たとえば、メッシュネットワーク100のコミッショニングデバイス210は、メッシュネットワーク用のステアリングデータを求め
、ステアリングデータは、デバイス識別子を表わす、ブルームフィルタにおける一組の値として表わされた表示を含む。実現化例では、コミッショニングデバイス210は、第1のハッシュ値を生成するために第1のハッシュ関数をデバイス識別子に適用し、第2のハッシュ値を生成するために第2のハッシュ関数をデバイス識別子に適用することにより、ステアリングデータを求める。デバイス識別子は、IEEE64ビット拡張一意識別子(EUI-64)であってもよく、デバイス識別子は、EUI-64の最下位24ビットである。実現化例では、第1および第2のハッシュ関数は巡回冗長検査(CRC)であり、第1のハッシュ関数はCRC16-CCITT、第2のハッシュ関数はCRC16-ANSIである。
【0153】
コミッショニングデバイス210は次に、ブルームフィルタにおける第1のビットフィールド位置を求めるために、第1のハッシュ値に対してモジュロ演算を行ない、ブルームフィルタにおける第2のビットフィールド位置を求めるために、第2のハッシュ値に対してモジュロ演算を行なう。モジュロ演算用の除数は、ブルームフィルタのビットアレイの長さであり得る。コミッショニングデバイス210は、ブルームフィルタの第1のビットフィールド位置における値を1に設定し、ブルームフィルタの第2のビットフィールド位置における値を1に設定することができる。コミッショニングデバイス210は、メッシュネットワークが任意のデバイスのために参加可能であることを示すために、ステアリングデータにおけるビットフィールド値のすべてを1の値に設定することができる。これに代えて、コミッショニングデバイス210は、ステアリングデータのビットフィールド値を、メッシュネットワークのための参加を不能にする0の値に設定することができる。
【0154】
ブロック1704で、ステアリングデータは、メッシュネットワーク用のコミッショニングデバイスからメッシュネットワークにおけるルータに伝搬される。たとえば、メッシュネットワーク100のコミッショニングデバイス210は、メッシュネットワークにおけるルータにステアリングデータを伝搬し、ステアリングデータは、コミッショナーがメッシュネットワーク上でアクティブであることを示す。ステアリングデータを伝搬することは、ルータ102がステアリングデータをビーコンメッセージで送信することを可能にし、ステアリングデータは、デバイス識別子に関連付けられたデバイスが、ブルームフィルタにおける一組の値をデバイスで求められた第2の一組の値と比較して、デバイスはメッシュネットワークへの参加を許可されていると識別することを可能にする。
【0155】
図18は、概してメッシュネットワークにおいてノードを分割することに関するようなメッシュネットワークコミッショニングの例示的な方法1800を示す。方法ブロックが説明される順序は限定として解釈されるよう意図されてはおらず、また、方法または代替的な方法を実現するために、任意の数の説明される方法ブロックを任意の順序で組合わせることができる。
【0156】
ブロック1802で、メッシュネットワークにおけるノードデバイスで、コミッショニングデータセットが受信される。たとえば、メッシュネットワーク100におけるノードでのノードデバイス(たとえば、ルータ102またはエンドデバイス106)は、受信されたタイムスタンプと、コミッショニングクレデンシャルと、メッシュネットワークのネットワーク名と、どのセキュリティ関連動作がメッシュネットワークにおいて許可されているかを示すセキュリティポリシーとを含むコミッショニングデータセットを受信する。受信されたタイムスタンプは、時間値と、時間値が協定世界時(UTC)までトレーサブルであるという表示とを含む。
【0157】
ブロック1804で、受信されたコミッショニングデータセットに含まれる受信されたタイムスタンプが、ノードデバイスに格納されているコミッショニングデータセットに含まれる格納されたタイムスタンプと比較される。たとえば、メッシュネットワーク100
におけるノードデバイスは、受信されたコミッショニングデータセットに含まれる受信されたタイムスタンプを、ノードデバイスに格納されているコミッショニングデータセットに含まれる格納されたタイムスタンプと比較する。実現化例では、ノードデバイスおよびリーダーデバイスは、以前にメッシュネットワークにコミッショニングされ、以前のコミッショニングは、ノードデバイスおよびリーダーデバイスに同一のコミッショニングデータセットを格納した。ノードデバイスにおける格納されたコミッショニングデータセットは、メッシュネットワーク上のノードデバイスとリーダーデバイスとの間の通信を停止するメッシュネットワークの分裂後に更新され得る。分裂はメッシュネットワークを分離し、メッシュネットワークの第1の区画はリーダーデバイスを含み、メッシュネットワークの第2の区画はノードデバイスを含む。ノードデバイスは、メッシュネットワークの第1の区画および第2の区画の合併後にコミッショニングデータセットを受信でき、合併は、メッシュネットワーク上にノードデバイスとリーダーデバイスとの間の通信経路を再確立する。
【0158】
ブロック1806で、ノードデバイスに格納されているコミッショニングデータセットに含まれる格納されたタイムスタンプが、受信されたコミッショニングデータセットに含まれるタイムスタンプより最近のものであるかどうかに関して、判断が下される。たとえば、(ブロック1806での)比較に基づいて、ノードデバイスは、ノードデバイスに格納されているコミッショニングデータセットに含まれる格納されたタイムスタンプが、受信されたコミッショニングデータセットに含まれるタイムスタンプより最近のものであるかどうかを判断する。
【0159】
格納されたタイムスタンプが受信タイムスタンプより最近のものである場合(すなわち、1806で「はい」の場合)、1808で、メッシュネットワークのリーダーデバイスにメッセージが送信され、メッセージは、格納されたコミッショニングデータセットを含む。たとえば、メッシュネットワークにおけるノードデバイスは、格納されたコミッショニングデータセットを含むメッセージを、メッシュネットワーク100のリーダーデバイスに送信する。送信されたメッセージは、リーダーデバイスが、格納されたコミッショニングデータセットをメッシュネットワーク用の最も最近のコミッショニングデータセットとして受入れ、格納されたコミッショニングデータセットをメッシュネットワークに伝搬することを可能にする。これに代えて、受信されたタイムスタンプが格納されたタイムスタンプより最近のものである場合(すなわち、1806で「いいえ」の場合)、1810で、格納されたコミッショニングデータセットは、受信されたコミッショニングデータセットと整合するように更新される。たとえば、メッシュネットワークにおけるノードデバイスは、受信されたコミッショニングデータセットと整合するように、格納されたコミッショニングデータセットを更新する。
【0160】
図19は、(図1を参照して説明されたような)メッシュネットワーク100、およびメッシュネットワークコミッショニングの実施形態が実現され得る例示的な環境1900を示す。一般に、環境1900は、メッシュネットワークにおける通信のために構成された任意の数のメッシュネットワークデバイスを有するスマートホームまたは他のタイプの構造の一部として実現されるメッシュネットワーク100を含む。たとえば、メッシュネットワークデバイスは、サーモスタット1902と、(たとえば煙および/または一酸化炭素用の)ハザード検出器1904と、(たとえば屋内および屋外の)カメラ1906と、(たとえば屋内および屋外の)照明ユニット1908と、構造1912の内部および/または外部で(たとえばスマートホーム環境において)実現される任意の他のタイプのメッシュネットワークデバイス1910とを含み得る。この例では、メッシュネットワークデバイスはまた、ルータ102、エンドデバイス106、および/または参加デバイス212として実現されるデバイスのうちのいずれかだけでなく、コミッショニングデバイス210、ボーダールータ202、ジョイナールータ214などの前述のデバイスのうちの
いずれかを含み得る。
【0161】
環境1900では、任意の数のメッシュネットワークデバイスが、互いに無線で通信してやりとりするために、無線相互接続用に実現され得る。メッシュネットワークデバイスは、さまざまな有用なスマートホーム目的および実現化例のうちのいずれかを提供するために、互いにおよび/または中央サーバあるいはクラウドコンピューティングシステムとシームレスに統合できる、モジュール式でインテリジェントなマルチセンシングのネットワーク接続型デバイスである。ここに説明されるデバイスのうちのいずれかとして実現され得るメッシュネットワークデバイスの例が、図20を参照して示され、説明される。
【0162】
実現化例では、サーモスタット1902は、スマートホーム環境において周囲の気候特性(たとえば温度および/または湿度)を検出し、HVACシステムを制御するネスト(Nest:登録商標)学習サーモスタットを含んでいてもよい。学習サーモスタット1902および他のスマートデバイスは、デバイスへの居住者設定を取込むことによって「学習する」。たとえば、サーモスタットは、朝および夜用の好ましい温度設定点、構造の居住者が眠っている、または起きている時間、および、居住者が通常外出している、または家にいる時間を学習する。
【0163】
ハザード検出器1904は、有害物質または有害物質を示す物質(たとえば煙、火または一酸化炭素)の存在を検出するために実現され得る。無線相互接続の例では、ハザード検出器1904は、構造における火を示す煙の存在を検出するかもしれず、その場合、最初に煙を検出したハザード検出器は、接続されたメッシュネットワークデバイスのすべてに低電力のウェークアップ信号を一斉送信できる。他のハザード検出器1904は次に、一斉送信されたウェークアップ信号を受信し、ハザード検出のための高電力状態を起動して、警告メッセージの無線通信を受信することができる。また、照明ユニット1908は、一斉送信されたウェークアップ信号を受信し、検出されたハザードの領域で開始して、問題エリアを照明して識別することができる。別の例では、照明ユニット1908は、検出された火または侵入などについての、構造における問題エリアまたは領域を示すために、1つの照明色で起動し、安全な領域および/または構造からの避難経路を示すために、別の照明色で起動してもよい。
【0164】
さまざまな構成では、メッシュネットワークデバイス1910は、ネットワーク接続型ドアロックシステムと協調して機能し、構造1912の外側ドアなどの場所への人の接近またはそこからの出発を検出して反応する玄関インターフェイスデバイスを含み得る。玄関インターフェイスデバイスは、誰かがスマートホーム環境に接近したかまたは入ったかどうかに基づいて、他のメッシュネットワークデバイスとやりとりできる。玄関インターフェイスデバイスは、ドアベル機能性を制御し、音声手段または視覚手段を介して人の接近または出発を知らせることができ、また、居住者が出入りする際にセキュリティシステムを起動または停止するなどのために、セキュリティシステムに対する設定を制御することができる。メッシュネットワークデバイス1910はまた、周囲の照明条件を検出し、(たとえば居住センサで)部屋居住状態を検出し、1つ以上の照明の出力状態および/または薄暗い状態を制御するなどのために、他のセンサおよび検出器を含み得る。場合によっては、センサおよび/または検出器はまた、天井ファンなどのファンの出力状態または速度を制御してもよい。また、センサおよび/または検出器は、部屋または包囲空間における居住を検出し、部屋または構造が居住されていない場合などにコンセントまたはデバイスへの電力の供給を制御してもよい。
【0165】
メッシュネットワークデバイス1910はまた、冷蔵庫、ストーブおよびオーブン、洗濯機、乾燥機、エアコン、プールヒータ、潅漑システム、セキュリティシステムなどの接続された機器および/または制御されるシステム、ならびに、テレビ、娯楽システム、コ
ンピュータ、インターホンシステム、ガレージドアオープナ、天井ファン、制御パネルなどの他の電子デバイスおよびコンピューティングデバイスを含んでいてもよい。プラグが差込まれると、機器、デバイスまたはシステムは、上述のようにそれ自体をメッシュネットワークに知らせることができ、スマートホームなどにおけるメッシュネットワークの制御装置およびデバイスと自動的に統合され得る。なお、メッシュネットワークデバイス1910は、スイミングプールヒータまたは潅漑システムを制御するデバイスといった、構造の外側ではあるものの無線通信範囲内に物理的に位置するデバイスを含んでいてもよい。
【0166】
上述のように、メッシュネットワーク100は、メッシュネットワーク100の外部の外部ネットワークとの通信のためにインターフェイス接続するボーダールータ202を含む。ボーダールータ202はアクセスポイント204に接続し、それは、インターネットなどの通信ネットワーク206に接続する。通信ネットワーク206を介して接続されるクラウドサービス208は、メッシュネットワーク100内のデバイスに関連する、および/またはデバイスを使用するサービスを提供する。例として、クラウドサービス208は、スマートフォン、タブレットなどのエンドユーザデバイスをメッシュネットワークにおけるデバイスに接続し、メッシュネットワーク100で得られたデータを処理してエンドユーザに提示し、1つ以上のメッシュネットワーク100におけるデバイスをクラウドサービス208のユーザアカウントにリンクし、メッシュネットワーク100においてデバイスをプロビジョニングして更新するなどのためのアプリケーションを含み得る。たとえば、ユーザは、スマートホーム環境において、サーモスタット1902および他のメッシュネットワークデバイスを、携帯電話またはタブレットデバイスなどのネットワーク接続型コンピュータまたはポータブルデバイスを使用して制御することができる。また、メッシュネットワークデバイスは、ボーダールータ202およびアクセスポイント204を介して、任意の中央サーバまたはクラウドコンピューティングシステムに情報を通信できる。データ通信は、さまざまな特注または標準無線プロトコル(たとえば、Wi-Fi、低電力用のジグビー(ZigBee:登録商標)、6LoWPANなど)のうちのいずれかを使用して、および/または、さまざまな特注または標準有線プロトコル(CAT6イーサネット(登録商標)、ホームプラグ(HomePlug:登録商標)など)のうちのいずれかを使用することにより、実行され得る。
【0167】
メッシュネットワーク100におけるメッシュネットワークデバイスのうちのいずれも、スマートホーム環境においてメッシュネットワーク100を作り出すための低電力および通信ノードとして機能できる。ネットワークの個々の低電力ノードは、それらが何を感知しているかに関するメッセージを定期的に送り出すことができ、環境における他の低電力ノードは、それら自体のメッセージを送り出すことに加えて、メッセージを繰り返すことができ、それにより、メッシュネットワーク全体にわたってメッセージをノードからノードへ(すなわち、デバイスからデバイスへ)通信する。メッシュネットワークデバイスは、低電力の通信プロトコルを利用してメッセージを受信し、メッセージを他の通信プロトコルに変換し、変換されたメッセージを他のノードおよび/または中央サーバあるいはクラウドコンピューティングシステムに送信して、特に電池式の場合に電力を節約するように実現され得る。たとえば、居住および/または周囲光センサは、周囲光を測定するだけでなく、部屋にいる居住者を検出して、部屋が暗いと周囲光センサが検出する場合、および誰かが部屋にいると居住センサが検出する場合に、光源を起動することができる。また、センサは、居住センサが部屋にいる人の存在を検出したことと同時に起こる瞬間的メッセージを含む、部屋の居住および部屋における光の量に関するメッセージを、定期的に送り出す低電力無線通信チップ(たとえばジグビーチップ)を含み得る。上述のように、これらのメッセージは、メッシュネットワークを使用して、スマートホーム環境内でノードからノードへ(すなわち、デバイスからデバイスへ)、およびインターネットを通して中央サーバまたはクラウドコンピューティングシステムに、無線で送信されてもよい。
【0168】
他の構成では、メッシュネットワークデバイスのうちのさまざまなデバイスは、スマートホーム環境におけるアラームシステム用の「仕掛け線」として機能できる。たとえば、犯人が、窓、ドア、および構造または環境の他の入口点に位置するアラームセンサによる検出を回避した場合、アラームは依然として、メッシュネットワークにおける低電力メッシュノードのうちの1つ以上から、居住、動き、熱、音などのメッセージを受信することによってトリガされ得る。他の実現化例では、メッシュネットワークは、人が構造内の部屋から部屋へ移行するにつれて、照明ユニット1908を自動的に点灯したり消灯したりするために使用され得る。たとえば、メッシュネットワークデバイスは、構造を通る人の動きを検出し、メッシュネットワークのノードを介して対応するメッセージを通信することができる。メッセージを受信する他のメッシュネットワークデバイスは、どの部屋が居住されているかを示すメッセージを使用して、それに応じて起動し、および/または停止することができる。上に言及されるように、メッシュネットワークはまた、緊急時に、安全な出口に通じる適切な照明ユニット1908を点灯することなどによって、出口照明を提供するために利用され得る。照明ユニット1908はまた、人が構造から安全に出るために移動すべき出口経路に沿った方向を示すために点灯されてもよい。
【0169】
さまざまなメッシュネットワークデバイスはまた、構造の居住者を識別して居場所を突き止めるために使用され得るようなウェアラブルコンピューティングデバイスと統合して通信し、それに応じて温度、照明、音響システムなどを調節するように実現されてもよい。他の実現化例では、RFID感知(たとえば、人がRFIDブレスレット、ネックレスまたはキーホブを身に着けること)、合成ビジョン手法(たとえば、ビデオカメラおよび顔認識プロセッサ)、音声手法(たとえば音声、音響パターン、振動パターン認識)、超音波感知/撮像手法、および赤外線または近距離無線通信(near-field communication:NFC)手法(たとえば、人が赤外線またはNFC対応のスマートフォンを身に着けること)は、規則ベースの推論エンジンまたは人工知能手法とともに、構造または環境における居住者の位置に関して感知された情報から有用な結論を引き出す。
【0170】
他の実現化例では、サービスロボットの個人快適エリアネットワーク、個人健康エリアネットワーク、個人安全エリアネットワーク、および/または他のそのような人と向き合う機能性は、これらの機能性のよりよい性能を達成するための規則ベースの推論手法または人工知能手法に従った、環境における他のメッシュネットワークデバイスおよびセンサとの論理的統合によって強化され得る。個人健康エリアに関連する例では、システムは、規則ベースの推論手法および人工知能手法とともに、(たとえば、メッシュネットワークデバイスおよびセンサのうちのいずれかを使用して)家で飼っているペットが居住者の現在の位置に向かって移動しているかどうかを検出することができる。同様に、ハザード検出器サービスロボットは、キッチンで温度レベルおよび湿度レベルが上昇していることを通知され、周囲の煙レベルのいかなる小さな増加もおそらく調理作業によるものであり、本当に危険な条件によるものではないであろうという推論の下で、煙検出しきい値などのハザード検出しきい値を一時的に上昇させることができる。任意のタイプのモニタリング、検出、および/またはサービシングのために構成されたどのサービスロボットも、メッシュネットワーク上で通信するための無線相互接続プロトコルに従った、メッシュネットワーク上のメッシュノードデバイスとして実現可能である。
【0171】
メッシュネットワークデバイス1910はまた、スマートホーム環境における構造の個々の各居住者のためのスマートアラームクロックを含んでいてもよい。たとえば、居住者は、翌日または翌週などの起床時間について、アラームデバイスをカスタマイズし、設定することができる。アラームが鳴る際の居住者のアラームに対する反応を検討し、好ましい睡眠パターンについて経時的に推論するために、人工知能が使用できる。個々の居住者は次に、その人の一意シグネチャに基づいて、メッシュネットワークにおいて追跡され得
る。一意シグネチャは、超音波センサ、受動IRセンサなどを含むセンサといった、メッシュネットワークデバイスに位置するセンサから得られたデータに基づいて求められる。居住者の一意シグネチャは、動き、声、身長、サイズなどのパターンの組合せに基づくことができ、顔認識手法を使用することもできる。
【0172】
無線相互接続の例では、所望の睡眠および起床温度設定まで構造を予め温め、または冷やすようにHVACシステムを効率的な態様で制御するために、個人の起床時間をサーモスタット1902に関連付けることができる。好ましい設定は、人が就寝する前および起床時にサーモスタットに設定された温度を取込むことなどによって経時的に学習可能である。収集されたデータはまた、呼吸パターン、心拍数、動きといった、人の生体認証表示を含んでいてもよく、それらから、推論が、このデータと人が実際にいつ起床したかを示すデータとの組合せに基づいて行なわれる。他のメッシュネットワークデバイスは、所望の設定まで環境を予め温め、または冷やすようにサーモスタット1902を調節すること、および照明1908を点灯または消灯すること、といった他のスマートホーム目的を提供するために、このデータを使用することができる。
【0173】
実現化例では、メッシュネットワークデバイスはまた、スマートホーム環境において流水を検出し、水の使用および消費のアルゴリズムおよびマッピングに基づいて水の使用についての推論を定めるなどのために、音響、振動、および/または動きの感知のために利用され得る。これは、ホームにおける各水源のシグネチャまたはフィンガープリントを求めるために使用可能であり、「音声フィンガープリンティング水使用」とも呼ばれる。同様に、メッシュネットワークデバイスは、ねずみおよび他のげっ歯動物といった望ましくない有害生物の、ならびにシロアリ、ゴキブリおよび他の昆虫による、かすかな音、振動、および/または動きを検出するために利用可能である。システムは次に、早期検出および予防を容易にするのを助けるために、環境における疑わしい有害生物を警告メッセージなどで居住者に通知できる。
【0174】
図20は、ここに説明されるようなメッシュネットワークコミッショニングの1つ以上の実施形態に従った、メッシュネットワークにおけるメッシュネットワークデバイスのうちのいずれかとして実現され得る例示的なメッシュネットワークデバイス2000を示す。デバイス2000は、電子回路、マイクロプロセッサ、メモリ、入出力(I/O)論理制御、通信インターフェイスおよびコンポーネント、ならびに、メッシュネットワークにおいてデバイスを実現するための他のハードウェア、ファームウェア、および/またはソフトウェアと統合され得る。また、メッシュネットワークデバイス2000は、図21に示す例示的なデバイスを参照してさらに説明されるような任意の数の異なるコンポーネントおよびそれらの任意の組合せといったさまざまなコンポーネントを用いて実現され得る。
【0175】
この例では、メッシュネットワークデバイス2000は、実行可能な命令を処理する低電力マイクロプロセッサ2002および高電力マイクロプロセッサ2004(たとえば、マイクロコントローラまたはデジタル信号プロセッサ)を含む。デバイスはまた、(たとえば、電子回路を含めるための)入出力(I/O)論理制御2006を含む。マイクロプロセッサは、1つ以上の半導体を使用して形成された集積回路、プログラマブル論理デバイス、論理デバイスのコンポーネントと、システム・オン・チップ(SoC)として実現されたプロセッサおよびメモリシステムといったシリコンおよび/またはハードウェアにおける他の実現化例とを含み得る。これに代えて、またはこれに加えて、デバイスは、処理回路および制御回路を用いて実現され得るソフトウェア、ハードウェア、ファームウェア、または固定論理回路のうちのいずれか1つまたはそれらの組合せを用いて実現され得る。低電力マイクロプロセッサ2002および高電力マイクロプロセッサ2004はまた、デバイスの1つ以上の異なるデバイス機能性をサポートできる。たとえば、高電力マイ
クロプロセッサ2004は計算集約的動作を実行し、一方、低電力マイクロプロセッサ2002は、1つ以上のセンサ2008からハザードまたは温度を検出するといった、それほど複雑でないプロセスを管理してもよい。低電力マイクロプロセッサ2002はまた、計算集約的プロセスのために高電力マイクロプロセッサ2004を起動するかまたは初期化してもよい。
【0176】
1つ以上のセンサ2008は、加速、温度、湿度、水、供給電力、近接、外部運動、デバイス運動、音声信号、超音波信号、光信号、火、煙、一酸化炭素、全地球測位衛星(global-positioning-satellite:GPS)信号、無線周波数(radio-frequency:RF)、
他の電磁信号または電磁場といったさまざまな特性を検出するために実現され得る。そのため、センサ2008は、温度センサ、湿度センサ、ハザード関連センサ、他の環境センサ、加速度計、マイクロホン、カメラを含むそれ以下の光学センサ(たとえば、電荷結合素子またはビデオカメラ)、能動または受動放射センサ、GPSレシーバ、および無線周波数識別検出器のうちのいずれか1つまたはそれらの組合せを含んでいてもよい。実現化例では、メッシュネットワークデバイス2000は、1つ以上の一次センサと1つ以上の二次センサとを含んでいてもよく、一次センサは、デバイスのコア動作(たとえば、サーモスタットでは温度を感知すること、または、煙検出器では煙を感知すること)の中心となるデータを感知し、一方、二次センサは、他のタイプのデータ(たとえば、動き、光、または音)を感知し、それらはエネルギー効率目的またはスマート動作目的のために使用され得る。
【0177】
メッシュネットワークデバイス2000は、任意のタイプの不揮発性メモリおよび/または他の好適な電子データ記憶デバイスといった、メモリデバイスコントローラ2010およびメモリデバイス2012を含む。メッシュネットワークデバイス2000はまた、メモリによってコンピュータ実行可能命令として維持され、マイクロプロセッサによって実行されるオペレーティングシステム2014といった、さまざまなファームウェアおよび/またはソフトウェアを含み得る。デバイスソフトウェアはまた、メッシュネットワークコミッショニングの実施形態を実現するコミッショニングアプリケーション2106を含んでいてもよい。メッシュネットワークデバイス2000はまた、別のデバイスまたは周辺コンポーネントとインターフェイス接続するためのデバイスインターフェイス2018を含み、メッシュネットワークデバイスのさまざまなコンポーネントをコンポーネント間のデータ通信のために結合する統合データバス2020を含む。メッシュネットワークデバイスにおけるデータバスはまた、異なるバス構造および/またはバスアーキテクチャのうちのいずれか1つまたはそれらの組合せとして実現されてもよい。
【0178】
デバイスインターフェイス2018は、(たとえばユーザインターフェイスとして)ユーザから入力を受信し、および/またはユーザに情報を提供してもよく、受信された入力は、設定を定めるために使用可能である。デバイスインターフェイス2018はまた、ユーザ入力に応答する機械的コンポーネントまたは仮想コンポーネントを含んでいてもよい。たとえば、ユーザは、摺動コンポーネントまたは回転可能コンポーネントを機械的に動かすことができ、もしくは、タッチパッドに沿った動きが検出されてもよく、そのような動きはデバイスの設定調節に対応していてもよい。物理的なおよび仮想の可動ユーザインターフェイスコンポーネントは、ユーザが、明らかな連続体の一部に沿って設定を設定することを許可できる。デバイスインターフェイス2018はまた、ボタン、キーパッド、スイッチ、マイクロホン、および撮像装置(たとえばカメラデバイス)といった任意の数の周辺装置から入力を受信してもよい。
【0179】
メッシュネットワークデバイス2000は、メッシュネットワークにおける他のメッシュネットワークデバイスとの通信用のメッシュネットワークインターフェイス、およびインターネットなどをを介したネットワーク通信用の外部ネットワークインターフェイスと
いった、ネットワークインターフェイス2022を含み得る。メッシュネットワークデバイス2000はまた、メッシュネットワークインターフェイスを介した他のメッシュネットワークデバイスとの無線通信用の、および複数の異なる無線通信システム用の無線システム2024を含む。無線システム2024は、Wi-Fi、Bluetooth(登録商標)、
モバイルブロードバンド、および/またはポイント・ツー・ポイントIEEE 802.15.4を含んでいてもよい。異なる無線システムの各々は、特定の無線通信技術のために実現された無線デバイス、アンテナ、およびチップセットを含み得る。メッシュネットワークデバイス2000はまた、バッテリなどの、および/またはデバイスを線間電圧に接続するための電源2026を含む。デバイスのバッテリを充電するために、交流電源も使用されてもよい。
【0180】
図21は、前述の図1~20を参照して説明されたようなメッシュネットワークコミッショニングの実施形態を実現するメッシュネットワークデバイスのうちのいずれかとして実現され得る例示的なデバイス2102を含む例示的なシステム2100を示す。例示的なデバイス2102は、任意のタイプのコンピューティングデバイス、クライアントデバイス、携帯電話、タブレット、通信デバイス、娯楽デバイス、ゲーミングデバイス、メディア再生デバイス、および/または他のタイプのデバイスであってもよい。また、例示的なデバイス2102は、サーモスタット、ハザード検出器、カメラ、照明ユニット、コミッショニングデバイス、ルータ、ボーダールータ、ジョイナールータ、参加デバイス、エンドデバイス、リーダー、アクセスポイント、および/または他のメッシュネットワークデバイスといった、メッシュネットワーク上での通信のために構成された任意の他のタイプのメッシュネットワークデバイスとして実現されてもよい。
【0181】
デバイス2102は、メッシュネットワークにおけるデバイス間で通信されるデータ、受信中のデータ、一斉送信用に予定されているデータ、データのデータパケット、デバイス間で同期されるデータといったデバイスデータ2106の有線および/または無線通信を可能にする通信デバイス2104を含む。デバイスデータは、任意のタイプの通信データと、デバイス上で実行されるアプリケーションによって生成される音声データ、映像データおよび/または画像データとを含み得る。通信デバイス2104はまた、携帯電話通信用の、および/またはネットワークデータ通信用のトランシーバを含み得る。
【0182】
デバイス2102はまた、デバイス、データネットワーク(たとえば、メッシュネットワーク、外部ネットワークなど)、ならびに他のデバイス間の接続リンクおよび/または通信リンクを提供するデータネットワークインターフェイスといった、入力/出力(I/O)インターフェイス2108を含む。I/Oインターフェイスは、任意のタイプのコンポーネント、周辺装置、および/または付属装置にデバイスを結合するために使用可能である。I/Oインターフェイスはまた、データ入力ポートを含み、それを介して、任意のタイプのデータ、メディアコンテンツ、および/またはデバイスへのユーザ入力などの入力が受信可能であり、また、任意のタイプの通信データ、ならびに音声データ、映像データおよび/または画像データが、任意のコンテンツおよび/またはデータソースから受信可能である。
【0183】
デバイス2102は、実行可能な命令を処理する任意のタイプのマイクロプロセッサ、コントローラなどを有するようなハードウェアで少なくとも部分的に実現され得る処理システム2110を含む。処理システムは、1つ以上の半導体を使用して形成された集積回路、プログラマブル論理デバイス、論理デバイスのコンポーネントと、システム・オン・チップ(SoC)として実現されたプロセッサおよびメモリシステムといったシリコンおよび/またはハードウェアにおける他の実現化例とを含み得る。これに代えて、またはこれに加えて、デバイスは、処理回路および制御回路を用いて実現され得るソフトウェア、ハードウェア、ファームウェア、または固定論理回路のうちのいずれか1つまたはそれら
の組合せを用いて実現され得る。デバイス2102はさらに、デバイス内のさまざまなコンポーネントを結合する任意のタイプのシステムバスまたは他のデータおよびコマンド転送システムを含んでいてもよい。システムバスは、異なるバス構造およびアーキテクチャのうちのいずれか1つまたはそれらの組合せと、制御線およびデータ線とを含み得る。
【0184】
デバイス2102はまた、コンピューティングデバイスによってアクセス可能であり、データおよび実行可能な命令(たとえば、ソフトウェアアプリケーション、モジュール、プログラム、関数など)の永続的格納を提供するデータ記憶装置といったコンピュータ読取可能ストレージメモリ2112を含む。ここに説明されるコンピュータ読取可能ストレージメモリは、伝搬信号を除外する。コンピュータ読取可能ストレージメモリの例は、揮発性メモリおよび不揮発性メモリ、固定されたおよびリムーバブルなメディアデバイス、ならびに、コンピューティングデバイスのアクセスのためにデータを維持する任意の好適なメモリデバイスまたは電子データストレージを含む。コンピュータ読取可能ストレージメモリは、さまざまなメモリデバイス構成におけるランダムアクセスメモリ(random access memory:RAM)、読出専用メモリ(read-only memory:ROM)、フラッシュメモリ、および他のタイプのストレージメモリのさまざまな実現化例を含み得る。
【0185】
コンピュータ読取可能ストレージメモリ2112は、コンピュータ読取可能ストレージメモリでソフトウェアアプリケーションとして維持され、処理システム2110によって実行されるオペレーティングシステムといった、デバイスデータ2106およびさまざまなデバイスアプリケーション2114の格納を提供する。デバイスアプリケーションはまた、任意の形態の制御アプリケーション、ソフトウェアアプリケーション、信号処理および制御モジュール、特定のデバイスに固有のコード、特定のデバイス用のハードウエア抽象化層などといった、デバイスマネージャを含んでいてもよい。この例では、デバイスアプリケーションはまた、例示的なデバイス2102がここに説明されたメッシュネットワークデバイスのうちのいずれかとして実現される場合などに、メッシュネットワークコミッショニングの実施形態を実現する、コミッショニングアプリケーション2116を含む。
【0186】
デバイス2102はまた、音声デバイス2120用の音声データを生成し、および/または表示デバイス2122用の表示データを生成する、音声および/または映像システム2118を含む。音声デバイスおよび/または表示デバイスは、音声データ、映像データ、表示データおよび/または画像データ、たとえばデジタル写真の画像コンテンツなどを処理し、表示し、および/または他の態様で表わす任意のデバイスを含む。実現化例では、音声デバイスおよび/または表示デバイスは、例示的なデバイス2102の統合されたコンポーネントである。これに代えて、音声デバイスおよび/または表示デバイスは、例示的なデバイスの外部の周辺コンポーネントである。実施形態では、メッシュネットワークコミッショニングについて説明された手法のうちのの少なくとも一部は、分散型システムで、たとえば「クラウド」2124を通してプラットフォーム2126で実現されてもよい。クラウド2124は、サービス2128および/またはリソース2130のためのプラットフォーム2126を含み、および/またはプラットフォーム2126を代表する。
【0187】
プラットフォーム2126は、(たとえば、サービス2128に含まれる)サーバデバイスおよび/または(たとえば、リソース2130として含まれる)ソフトウェアリソースといった、ハードウェアの基本的機能性を抽象化し、例示的なデバイス2102を他のデバイス、サーバなどに接続する。リソース2130はまた、例示的なデバイス2102からリモートのサーバに対してコンピュータ処理が実行される間に利用可能なアプリケーションおよび/またはデータを含んでいてもよい。加えて、サービス2128および/またはリソース2130は、インターネット、セルラーネットワーク、またはWi-Fiネ
ットワークなどを通して加入者ネットワークサービスを容易にしてもよい。プラットフォーム2126はまた、機能性がシステム2100全体に分散された相互接続されたデバイス実施形態などにおいて、プラットフォームを介して実現されるリソース2130に対する要望をサービスするために、リソースを抽象化してスケール変更するよう機能してもよい。たとえば、機能性は、例示的なデバイス2102で、および、クラウド2124の機能性を抽象化するプラットフォーム2126を介して、部分的に実現されてもよい。
【0188】
メッシュネットワークコミッショニングの実施形態が、特徴および/または方法に特有の文言で説明されてきたが、添付された請求項の対象は、説明された特定の特徴または方法に必ずしも限定されない。むしろ、特定の特徴および方法は、メッシュネットワークコミッショニングの例示的な実現化例として開示されており、他の同等の特徴および方法が、添付された請求項の範囲内に該当するよう意図されている。また、さまざまな異なる実施形態が説明されており、説明された各実施形態は独立して、または1つ以上の他の説明された実施形態に関連して実現可能であるということが理解されるべきである。
【0189】
メッシュネットワークに参加デバイスを安全に参加させる方法は、ジョイナールータで、メッシュネットワークに参加することを要求する参加デバイスからメッセージを受信するステップと、受信されたメッセージを、メッシュネットワークのコミッショニングデバイスに転送するステップと、コミッショニングデバイスから、参加デバイスがメッシュネットワークに参加するための認証を受信するステップと、ネットワーク情報を参加デバイスに送信するステップとを含み、ネットワーク情報は、参加デバイスがメッシュネットワークに参加することを可能にするために有効である。
【0190】
上述の方法に代えて、または上述の方法に加えて、参加デバイスからビーコン要求を受信するステップと、ジョイナールータから参加デバイスにビーコンを送信するステップとをさらに含み、ビーコンは、メッシュネットワークが参加のために利用可能であるという表示を提供するということ;前記ビーコンを送信するステップは、参加デバイスが参加デバイスとジョイナールータとの間にローカルリンクを確立することを可能にするために有効であるということ;前記メッセージを受信するステップと、前記受信されたメッセージを転送するステップとは、データグラムトランスポート層セキュリティ(DTLS)を使用して行なわれるということ;前記メッセージを受信するステップと、前記受信されたメッセージを転送するステップとは、ユーザデータグラムプロトコル(UDP)を使用して行なわれるということ;参加デバイスから受信されたメッセージは、参加デバイスを認証するために使用可能である暗号化されたデバイス識別子を含み、参加デバイスは、ジャグリングによるパスワード認証済みキー交換(J-PAKE)を使用して認証され、認証は、コミッショニングデバイスと参加デバイスとの間に安全な通信セッションを確立するために有効であるということ;前記受信されたメッセージをコミッショニングデバイスに転送するステップは、ジョイナールータとコミッショニングデバイスとの間の通信経路において、メッシュネットワークの1つ以上のルータを通して、受信されたメッセージを転送するステップを含むということ;および、1つ以上のルータのうちの1つは、メッシュネットワークを外部ネットワークに接続するボーダールータであり、コミッショニングデバイスは外部ネットワークに取付けられているということ、のうちのいずれか1つまたはそれらの組合せが含まれる。
【0191】
ジョイナールータとして実現されるメッシュネットワークデバイスであって、メッシュネットワークデバイスは、メッシュネットワークにおける通信のために構成されたメッシュネットワークインターフェイスと、コミッショニングアプリケーションを実現するためのメモリおよびプロセッサシステムとを含み、コミッショニングアプリケーションは、メッシュネットワークインターフェイスを介して、メッシュネットワークに参加することを要求する参加デバイスからメッセージを受信し、受信されたメッセージを、メッシュネッ
トワークのコミッショニングデバイスに転送し、コミッショニングデバイスから、参加デバイスがメッシュネットワークに参加するための認証を受信し、ネットワーク情報が参加デバイスに送信されるのを開始するように構成され、ネットワーク情報は、参加デバイスがメッシュネットワークに参加することを可能にするために有効である。
【0192】
上述のメッシュネットワークデバイスに代えて、または上述のメッシュネットワークデバイスに加えて、コミッショニングアプリケーションは、メッシュネットワークインターフェイスを介して、参加デバイスからビーコン要求を受信し、ビーコンがジョイナールータから参加デバイスに送信されるのを開始するように構成され、ビーコンは、メッシュネットワークが参加のために利用可能であるという表示を提供するということ;ビーコンは、参加デバイスが参加デバイスとジョイナールータとの間にローカルリンクを確立することを可能にするために有効であるということ;コミッショニングアプリケーションは、データグラムトランスポート層セキュリティ(DTLS)を使用してメッセージを受信し、受信されたメッセージを転送するように構成されているということ;コミッショニングアプリケーションは、ユーザデータグラムプロトコル(UDP)を使用してメッセージを受信し、受信されたメッセージを転送するように構成されているということ;参加デバイスから受信されたメッセージは、参加デバイスを認証するために使用可能である暗号化されたデバイス識別子を含み、参加デバイスは、ジャグリングによるパスワード認証済みキー交換(J-PAKE)を使用して認証され、認証は、コミッショニングデバイスと参加デバイスとの間に安全な通信セッションを確立するために有効であるということ;コミッショニングアプリケーションは、ジョイナールータとコミッショニングデバイスとの間の通信経路において、メッシュネットワークの1つ以上のルータを通して、受信されたメッセージを転送するように構成されているということ;および、1つ以上のルータのうちの1つは、メッシュネットワークを外部ネットワークに接続するボーダールータであり、コミッショニングデバイスは外部ネットワークに取付けられているということ、のうちのいずれか1つまたはそれらの組合せが含まれる。
【0193】
メッシュネットワークシステムは、メッシュネットワークに参加することを要求するように構成された参加デバイスと、ジョイナールータとを含み、ジョイナールータは、メッシュネットワークに参加することを要求する参加デバイスからメッセージを受信し、受信されたメッセージを、メッシュネットワークのコミッショニングデバイスに転送し、コミッショニングデバイスから、参加デバイスがメッシュネットワークに参加するための認証を受信し、ネットワーク情報を参加デバイスに送信するように構成され、ネットワーク情報は、参加デバイスがメッシュネットワークに参加することを可能にするために有効である。
【0194】
上述のメッシュネットワークシステムに代えて、または上述のメッシュネットワークシステムに加えて、ジョイナールータは、参加デバイスからビーコン要求を受信し、ビーコンを参加デバイスに送信するように構成され、ビーコンは、メッシュネットワークが参加のために利用可能であるという表示を提供し、ビーコンは、参加デバイスが参加デバイスとジョイナールータとの間にローカルリンクを確立することを可能にするために有効であるということ;参加デバイスから受信されたメッセージは、参加デバイスを認証するために使用可能である暗号化されたデバイス識別子を含み、参加デバイスは、ジャグリングによるパスワード認証済みキー交換(J-PAKE)を使用して認証され、認証は、コミッショニングデバイスと参加デバイスとの間に安全な通信セッションを確立するために有効であるということ;および、ジョイナールータは、ジョイナールータとコミッショニングデバイスとの間の通信経路において、メッシュネットワークの1つ以上のルータを通して、受信されたメッセージをコミッショニングデバイスに転送するように構成され、ルータのうちの1つは、メッシュネットワークを外部ネットワークに接続するボーダールータであるということ、のうちのいずれか1つまたはそれらの組合せが含まれる。
【0195】
メッシュネットワークに参加デバイスを安全に参加させる方法は、ジョイナールータで、メッシュネットワークに参加することを要求する参加デバイスからDTLS-ClientHelloメッセージを受信するステップと、受信されたDTLS-ClientHelloメッセージをDTLS中継受信通知メッセージ内にカプセル化するステップと、DTLS中継受信通知メッセージを、メッシュネットワークのコミッショニングデバイスに送信するステップと、コミッショニングデバイスから、DTLS中継送信通知メッセージを受信するステップと、DTLS中継送信通知メッセージの内容を参加デバイスに送信するステップとを含み、内容は、参加デバイスがメッシュネットワークに参加することを可能にするために有効であり、前記方法はさらに、コミッショニングデバイスから、参加デバイスはメッシュネットワーク用のネットワーククレデンシャルを受信するよう委託されるべきであるという表示を受信するステップと、コミッショニングデバイスから、コミッショニングデバイスと参加デバイスとの間で共有されるキー暗号化キー(KEK)を受信するステップと、表示を受信するステップに応答して、ネットワーククレデンシャルの通信を安全にするためにKEKを使用してジョイナールータから参加デバイスにネットワーククレデンシャルを送信するステップとを含む。
【0196】
上述の方法に代えて、または上述の方法に加えて、参加デバイスからビーコン要求を受信するステップと、ジョイナールータから参加デバイスにビーコンを送信するステップとをさらに含むということ;ビーコンは、ネットワーク名と、メッシュネットワークへの参加が許可されている1つ以上の参加デバイスを示すステアリングデータとを含むということ;前記参加デバイスからDTLS-ClientHelloメッセージを受信するステップは、ユーザデータグラムプロトコル(UDP)を利用するということ;DTLS中継受信通知メッセージは、参加デバイスのアドレスと、ジョイナールータのアドレスと、受信されたDTLS-ClientHelloメッセージとを含むということ;DTLS中継送信通知メッセージは、参加デバイスのアドレスと、ジョイナールータのアドレスと、DTLS-HelloVerifyメッセージとを含むということ;DTLS中継送信通知メッセージの内容を参加デバイスに送信するステップは、コミッショニングデバイスと参加デバイスとの間に安全な通信セッションを確立するために有効であるということ;安全な通信セッションは、参加デバイスのプロビジョニングを行なうために使用可能であるということ;および、参加デバイスからコミッショニングデバイスに送信されるDTLS中継受信通知メッセージの送信に速度制限を適用するステップをさらに含むということ、のうちのいずれか1つまたはそれらの組合せが含まれる。
【0197】
ジョイナールータとして実現されるメッシュネットワークデバイスであって、メッシュネットワークデバイスは、メッシュネットワークにおける通信のために構成されたメッシュネットワークインターフェイスと、コミッショニングアプリケーションを実現するためのメモリおよびプロセッサシステムとを含み、コミッショニングアプリケーションは、メッシュネットワークインターフェイスを介して、メッシュネットワークに参加することを要求する参加デバイスからDTLS-ClientHelloメッセージを受信し、受信されたDTLS-ClientHelloメッセージをDTLS中継受信通知メッセージ内にカプセル化し、DTLS中継受信通知メッセージが、メッシュネットワークのコミッショニングデバイスに送信されるのを開始し、コミッショニングデバイスから、DTLS中継送信通知メッセージを受信し、DTLS中継送信通知メッセージの内容が参加デバイスに送信されるのを開始するように構成され、内容は、参加デバイスがメッシュネットワークに参加することを可能にするために有効であり、コミッショニングアプリケーションはさらに、コミッショニングデバイスから、参加デバイスはメッシュネットワーク用のネットワーククレデンシャルを受信するよう委託されるべきであるという表示を受信し、コミッショニングデバイスから、コミッショニングデバイスと参加デバイスとの間で共有されるキー暗号化キー(KEK)を受信し、表示に応答して、ネットワーククレデンシャル
の通信を安全にするためにKEKを使用してネットワーククレデンシャルがジョイナールータから参加デバイスに送信されるのを開始するように構成されている。
【0198】
上述のメッシュネットワークデバイスに代えて、または上述のメッシュネットワークデバイスに加えて、メッシュネットワークインターフェイスを介して、参加デバイスからビーコン要求を受信し、ビーコンがジョイナールータから参加デバイスに送信されるのを開始するということ;コミッショニングアプリケーションは、ユーザデータグラムプロトコル(UDP)を利用して参加デバイスからDTLS-ClientHelloメッセージを受信するように構成されているということ;DTLS中継受信通知メッセージは、参加デバイスのアドレスと、ジョイナールータのアドレスと、受信されたDTLS-ClientHelloメッセージとを含み、DTLS中継送信通知メッセージは、参加デバイスのアドレスと、ジョイナールータのアドレスと、DTLS-HelloVerifyメッセージとを含むということ;参加デバイスに送信されたDTLS中継送信通知メッセージの内容は、コミッショニングデバイスと参加デバイスとの間に安全な通信セッションを確立するために有効であるということ;安全な通信セッションは、参加デバイスのプロビジョニングを行なうために使用可能であるということ、のうちのいずれか1つまたはそれらの組合せが含まれる。
【0199】
メッシュネットワークシステムは、メッシュネットワークに参加することを要求するように構成された参加デバイスと、ジョイナールータとを含み、ジョイナールータは、メッシュネットワークに参加することを要求する参加デバイスからDTLS-ClientHelloメッセージを受信し、受信されたDTLS-ClientHelloメッセージをDTLS中継受信通知メッセージ内にカプセル化し、DTLS中継受信通知メッセージを、メッシュネットワークのコミッショニングデバイスに送信し、コミッショニングデバイスから、DTLS中継送信通知メッセージを受信し、DTLS中継送信通知メッセージの内容を参加デバイスに送信するように構成され、内容は、参加デバイスがメッシュネットワークに参加することを可能にするために有効であり、ジョイナールータはさらに、コミッショニングデバイスから、参加デバイスはメッシュネットワーク用のネットワーククレデンシャルを受信するよう委託されるべきであるという表示を受信し、コミッショニングデバイスから、コミッショニングデバイスと参加デバイスとの間で共有されるキー暗号化キー(KEK)を受信し、表示に応答して、ネットワーククレデンシャルの通信を安全にするためにKEKを使用してジョイナールータから参加デバイスにネットワーククレデンシャルを送信するように構成されている。
【0200】
上述のメッシュネットワークシステムに代えて、または上述のメッシュネットワークシステムに加えて、参加デバイスからビーコン要求を受信し、ジョイナールータから参加デバイスにビーコンを送信するということ;ビーコンは、ネットワーク名と、メッシュネットワークへの参加が許可されている1つ以上の参加デバイスを示すステアリングデータとを含むということ;ジョイナールータは、ユーザデータグラムプロトコル(UDP)を利用して参加デバイスからDTLS-ClientHelloメッセージを受信するように構成されているということ;および、DTLS中継受信通知メッセージは、参加デバイスのアドレスと、ジョイナールータのアドレスと、受信されたDTLS-ClientHelloメッセージとを含み、DTLS中継送信通知メッセージは、参加デバイスのアドレスと、ジョイナールータのアドレスと、DTLS-HelloVerifyメッセージとを含むということ、のうちのいずれか1つまたはそれらの組合せが含まれる。
【0201】
メッシュネットワークに参加するように1つ以上の参加デバイスをコミッショニングするためのコミッショナーになるようにコミッショニングデバイスを認可する方法は、ボーダールータで、メッシュネットワーク用のコミッショナーになるための申請をコミッショニングデバイスから受信するステップと、受信された申請を、メッシュネットワークのリ
ーダーデバイスに送信するステップと、リーダーデバイスから、申請に対する応答を受信するステップとを含み、応答は申請の受入れまたは拒否を表示し、前記方法はさらに、前記応答を受信するステップに応答して、申請の受入れまたは拒否の表示をコミッショニングデバイスに送信するステップを含む。
【0202】
上述の方法に代えて、または上述の方法に加えて、ボーダールータによって、コミッショニングデバイスのためのメッシュネットワークの利用可能性を広告するステップをさらに含み、前記申請を受信するステップは、コミッショニングデバイスが前記広告を受信することに応答しているということ;ボーダールータで、ボーダールータに安全に接続するための要求をコミッショニングデバイスから受信するステップをさらに含むということ;安全な接続は、データグラムトランスポート層セキュリティ(DTLS)を使用して確立されるということ;申請の受入れの表示を送信するステップは、安全なコミッショニングセッションを確立するということ;安全なコミッショニング通信セッションを確立するために、コミッショニングデバイスのアイデンティティをボーダールータに登録するステップをさらに含み、前記登録するステップは、暗号化されたコミッショニングクレデンシャルをボーダールータに提供するステップを含み、暗号化されたコミッショニングクレデンシャルは、ユーザによってコミッショニングデバイスに入力されたコミッショニングクレデンシャルから導き出されたものであるということ;ボーダールータは、コミッショニングデバイスをメッシュネットワークに認証するために使用可能である暗号化されたコミッショニングクレデンシャルのコピーを含むということ;および、暗号化されたコミッショニングクレデンシャルのコピーは、コミッショニングクレデンシャルから以前に導き出され、コミッショニングクレデンシャルは、暗号化されたコミッショニングクレデンシャルのコピーを導き出したメッシュネットワークのリーダーデバイスに注入され、リーダーデバイスは、暗号化されたコミッショニングクレデンシャルのコピーを、ボーダールータに安全に通信したということ、のうちのいずれか1つまたはそれらの組合せが含まれる。
【0203】
ボーダールータとして実現されるメッシュネットワークデバイスであって、メッシュネットワークデバイスは、メッシュネットワークにおける通信のために構成されたメッシュネットワークインターフェイスと、コミッショニングアプリケーションを実現するためのメモリおよびプロセッサシステムとを含み、コミッショニングアプリケーションは、メッシュネットワークインターフェイスを介して、メッシュネットワークに参加するように1つ以上の参加デバイスをコミッショニングするためのメッシュネットワーク用のコミッショナーになるための申請をコミッショニングデバイスから受信し、受信された申請がメッシュネットワークのリーダーデバイスに送信されるのを開始し、リーダーデバイスから、申請に対する応答を受信するように構成され、応答は申請の受入れまたは拒否を表示し、コミッショニングアプリケーションはさらに、申請に対する受信された応答に応答して、申請の受入れまたは拒否の表示がコミッショニングデバイスに送信されるのを開始するように構成されている。
【0204】
上述のメッシュネットワークデバイスに代えて、または上述のメッシュネットワークデバイスに加えて、コミッショニングアプリケーションは、コミッショニングデバイスのためのメッシュネットワークの利用可能性を広告し、コミッショニングデバイスが広告された利用可能性を受信することに応答して申請を受信するように構成され、広告された利用可能性は、マルチキャストドメイン名システム(mDNS)を含むサービス発見プロトコルを使用して行なわれるということ;コミッショニングアプリケーションは、ボーダールータに安全に接続するための要求をコミッショニングデバイスから受信するように構成され、安全な接続は、データグラムトランスポート層セキュリティ(DTLS)を使用して確立されるということ;リーダーデバイスによる申請の受入れは、コミッショニングデバイスがメッシュネットワーク用のコミッショナーになることを認可し、メッシュネットワーク用のアクティブなコミッショナーを追跡する内部状態をリーダーデバイスが更新する
ことを可能にする申請の受入れは、メッシュネットワーク用の参加許可フラグを真に設定して、メッシュネットワーク内でコミッショニングデータセットを伝搬し、申請の受入れの送信された表示は、安全なコミッショニングセッションを確立するということ;コミッショニングアプリケーションは、ボーダールータに提供された暗号化されたコミッショニングクレデンシャルを含む、安全なコミッショニング通信セッションを確立するために、コミッショニングデバイスのアイデンティティをボーダールータに登録するように構成され、暗号化されたコミッショニングクレデンシャルは、ユーザによってコミッショニングデバイスに入力されたコミッショニングクレデンシャルから導き出されたものであり、ボーダールータは、コミッショニングデバイスをメッシュネットワークに認証するために使用可能である暗号化されたコミッショニングクレデンシャルのコピーを含むということ;コミッショニングデバイスとボーダールータとは、メッシュネットワーク以外の他のネットワークを通して通信するということ;および、他のネットワークは、Wi-Fiネットワークまたはイーサネットネットワークのうちの一方であるということ、のうちのいずれか1つまたはそれらの組合せが含まれる。
【0205】
メッシュネットワークシステムは、メッシュネットワークに参加するように1つ以上の参加デバイスをコミッショニングするためのコミッショナーになるよう申請するように構成されたコミッショニングデバイスと、ボーダールータとを含み、ボーダールータは、メッシュネットワーク用のコミッショナーになるための申請をコミッショニングデバイスから受信し、受信された申請を、メッシュネットワークのリーダーデバイスに送信し、リーダーデバイスから、申請に対する応答を受信するように構成され、応答は申請の受入れまたは拒否を表示し、ボーダールータはさらに、申請の受入れまたは拒否の表示をコミッショニングデバイスに送信するように構成されている。
【0206】
上述のメッシュネットワークシステムに代えて、または上述のメッシュネットワークシステムに加えて、ボーダールータは、コミッショニングデバイスのためのメッシュネットワークの利用可能性を広告し、コミッショニングデバイスが広告を受信することに応答して申請を受信するように構成されているということ;コミッショニングデバイスとボーダールータとは、メッシュネットワーク以外の他のネットワークを通して通信するということ;他のネットワークは、Wi-Fiネットワークまたはイーサネットネットワークのうちの一方であるということ;および、ボーダールータは、安全なコミッショニングセッションを確立するために、申請の受入れの表示を送信するように構成されているということ、のうちのいずれか1つまたはそれらの組合せが含まれる。
【0207】
メッシュネットワークのリーダーデバイスによって実現される方法は、メッシュネットワークに参加するように参加デバイスをコミッショニングするためのコミッショナーとしてコミッショニングデバイスを受入れるための申請を、リーダーデバイスによって受信するステップと、受信された申請を受入れるかまたは拒否するかを判断するステップと、前記判断の表示を含む応答を送信するステップと、前記判断が受入れであることに応答して、メッシュネットワーク用のアクティブなコミッショナーを追跡する内部状態を更新するステップとを含む。
【0208】
上述の方法に代えて、または上述の方法に加えて、コミッショニングデバイスから、メッシュネットワーク用の参加モードを開始するためのコマンドを受信するステップをさらに含むということ;メッシュネットワーク内でコミッショニングデータセットを伝搬するステップをさらに含むということ;コミッショニングデータセットは、コミッショナーセッション識別子と、コミッショナータイムスタンプと、暗号化されたコミッショナークレデンシャルと、どのセキュリティ関連動作がメッシュネットワークにおいて許可されているかを示すセキュリティポリシーとを含むということ;リーダーデバイスのコミッショニング中にリーダーデバイスに注入されたコミッショニングクレデンシャルから、暗号化さ
れたコミッショニングクレデンシャルを導き出すステップをさらに含むということ;暗号化されたコミッショニングクレデンシャルの導出は、キー導出関数を適用することによって行なわれ、キー導出関数は、暗号ベースのメッセージ認証コード(CMAC)を使用してハッシングを複数回行なうということ;ボーダールータがコミッショニングデバイスをメッシュネットワークに認証することを可能にするために有効である、暗号化されたコミッショニングクレデンシャルのコピーをボーダールータに送信するステップをさらに含むということ;および、コミッショナーがメッシュネットワーク上でアクティブである場合、コミッショニングデータセットは、ボーダールータの位置をさらに含むということ、のうちのいずれか1つまたはそれらの組合せが含まれる。
【0209】
メッシュネットワークのリーダーデバイスとして実現されるメッシュネットワークデバイスであって、メッシュネットワークデバイスは、メッシュネットワークにおける通信のために構成されたメッシュネットワークインターフェイスと、コミッショニングアプリケーションを実現するためのメモリおよびプロセッサシステムとを含み、コミッショニングアプリケーションは、メッシュネットワークインターフェイスを介して、メッシュネットワークに参加するように参加デバイスをコミッショニングするためのコミッショナーとしてコミッショニングデバイスを受入れるための申請を受信し、受信された申請を受入れるかまたは拒否するかを判断し、受信された申請を受入れるかまたは拒否するかの判断の表示を含む応答が送信されるのを開始し、判断が受信された申請の受入れであることに応答して、メッシュネットワーク用のアクティブなコミッショナーを追跡する内部状態を更新するように構成されている。
【0210】
上述のメッシュネットワークデバイスに代えて、または上述のメッシュネットワークデバイスに加えて、コミッショニングアプリケーションは、コミッショニングデバイスから、メッシュネットワーク用の参加モードを開始するためのコマンドを受信するように構成されているということ;コミッショニングアプリケーションは、メッシュネットワーク内でコミッショニングデータセットを伝搬するように構成されているということ;コミッショニングデータセットは、コミッショナーセッション識別子と、コミッショナータイムスタンプと、暗号化されたコミッショナークレデンシャルと、どのセキュリティ関連動作がメッシュネットワークにおいて許可されているかを示すセキュリティポリシーとを含み、コミッショニングアプリケーションはさらに、リーダーデバイスのコミッショニング中にリーダーデバイスに注入されたコミッショニングクレデンシャルから、暗号化されたコミッショニングクレデンシャルを導き出すように構成され、暗号化されたコミッショニングクレデンシャルの導出は、キー導出関数を適用することによって行なわれ、キー導出関数は、暗号ベースのメッセージ認証コード(CMAC)を使用してハッシングを複数回行なうということ;コミッショニングアプリケーションは、ボーダールータがコミッショニングデバイスをメッシュネットワークに認証することを可能にするために有効である、暗号化されたコミッショニングクレデンシャルのコピーをボーダールータに送信するように構成されているということ;および、コミッショナーがメッシュネットワーク上でアクティブである場合、コミッショニングデータセットは、ボーダールータの位置をさらに含むということ、のうちのいずれか1つまたはそれらの組合せが含まれる。
【0211】
メッシュネットワークシステムは、メッシュネットワークに参加するように1つ以上の参加デバイスをコミッショニングするためのコミッショナーになるよう申請するように構成されたコミッショニングデバイスと、メッシュネットワークのリーダーデバイスとを含み、リーダーデバイスは、メッシュネットワークに参加するように参加デバイスをコミッショニングするためのコミッショナーとしてコミッショニングデバイスを受入れるための申請を受信し、受信された申請を受入れるかまたは拒否するかを判断し、受信された申請を受入れるかまたは拒否するかに関する判断の表示を含む応答を送信し、判断が受入れであることに応答して、メッシュネットワーク用のアクティブなコミッショナーを追跡する
内部状態を更新するように構成されている。
【0212】
上述のメッシュネットワークシステムに代えて、または上述のメッシュネットワークシステムに加えて、リーダーデバイスは、コミッショニングデバイスから、メッシュネットワーク用の参加モードを開始するためのコマンドを受信するように構成されているということ;リーダーデバイスは、メッシュネットワーク内でコミッショニングデータセットを伝搬するように構成されているということ;コミッショニングデータセットは、コミッショナーセッション識別子と、コミッショナータイムスタンプと、暗号化されたコミッショナークレデンシャルと、どのセキュリティ関連動作がメッシュネットワークにおいて許可されているかを示すセキュリティポリシーとを含み、リーダーデバイスはさらに、リーダーデバイスのコミッショニング中にリーダーデバイスに注入されたコミッショニングクレデンシャルから、暗号化されたコミッショニングクレデンシャルを導き出すように構成され、暗号化されたコミッショニングクレデンシャルの導出は、キー導出関数を適用することによって行なわれ、キー導出関数は、暗号ベースのメッセージ認証コード(CMAC)を使用してハッシングを複数回行なうということ;リーダーデバイスは、ボーダールータがコミッショニングデバイスをメッシュネットワークに認証することを可能にするために有効である、暗号化されたコミッショニングクレデンシャルのコピーをボーダールータに送信するように構成されているということ;および、コミッショナーがメッシュネットワーク上でアクティブである場合、コミッショニングデータセットは、ボーダールータの位置をさらに含むということ、のうちのいずれか1つまたはそれらの組合せが含まれる。
【0213】
メッシュネットワークに1つ以上の参加デバイスを参加させるためにネットワーク通信セッションを安全に確立する方法は、メッシュネットワークのコミッショニングデバイスとボーダールータとの間に安全なコミッショニング通信セッションを確立するステップと、メッシュネットワークのための参加を起動するステップと、コミッショニングデバイスによって、参加デバイスのうちの1つからメッシュネットワークに参加するための要求を受信するステップと、コミッショニングデバイスと参加デバイスとの間に安全なジョイナー通信セッションを確立するステップと、参加デバイスをメッシュネットワークに参加させるステップとを含む。
【0214】
上述の方法に代えて、または上述の方法に加えて、安全なコミッショニング通信セッションを確立するステップは、メッシュネットワーク用のアクティブなコミッショナーとしてのコミッショニングデバイスの受入れを要求するために、コミッショニングデバイスからメッシュネットワークのリーダーデバイスに申請を送信するステップと、リーダーデバイスから申請の受入れの表示を受信するステップとを含むということ;メッシュネットワークのための参加を起動するステップは、メッシュネットワークにおける1つ以上のルータにメッシュネットワークが参加要求を受入れていることを広告させる参加モードを、コミッショニングデバイスが開始するステップを含むということ;メッシュネットワークのための参加を起動するステップは、メッシュネットワークを参加可能にするために管理メッセージをリーダーデバイスに送信するステップを含み、管理メッセージは、リーダーデバイスがメッシュネットワーク用のネットワークデータを更新し、メッシュネットワークにおける1つ以上のルータデバイスにネットワークデータを伝搬することを可能にするために有効であり、ネットワークデータは、メッシュネットワークが参加のために利用可能であるという表示を含むということ;暗号化されたデバイス識別子を使用して参加デバイスを認証するステップをさらに含むということ;参加デバイスのうちの1つからメッシュネットワークに参加するための要求を受信するステップは、ジョイナールータを介して受信され、前記方法はさらに、参加デバイスは、メッシュネットワーク用のネットワーククレデンシャルと、コミッショニングデバイスと参加デバイスとの間で共有されるキー暗号化キー(KEK)とを受信するよう委託されるべきであるという表示を、ジョイナールータに送信するステップを含み、前記送信するステップは、ジョイナールータが、受信され
たKEKを使用してネットワーククレデンシャルを参加デバイスに安全に送信し、参加デバイスをメッシュネットワークにコミッショニングすることを可能にするために有効であるということ;参加デバイスから要求を受信するステップは、参加デバイスの暗号化されたデバイス識別子を受信するステップを含み、暗号化されたデバイス識別子は、ジャグリングによるパスワード認証済みキー交換(J-PAKE)を使用して、参加デバイスのデバイス識別子から導き出されるということ;安全なジョイナー通信セッションを確立するステップは、ユーザからコミッショニングデバイスへの入力として受信されたデバイス識別子のコピーから、参加デバイスから受信された暗号化されたデバイス識別子がコミッショニングデバイスによって導き出された暗号化されたデバイス識別子と整合する、とコミッショニングデバイスによって判断するステップと、ジョイナー通信セッションを安全にするために、暗号化されたデバイス識別子を共有の秘密として使用するステップとを含むということ、のうちのいずれか1つまたはそれらの組合せが含まれる。
【0215】
1つ以上の参加デバイスをメッシュネットワークに参加させるためのコミッショニングデバイスとして実現されるメッシュネットワークデバイスであって、メッシュネットワークデバイスは、メッシュネットワークにおける通信のために構成されたメッシュネットワークインターフェイスと、コミッショニングアプリケーションを実現するためのメモリおよびプロセッサシステムとを含み、コミッショニングアプリケーションは、メッシュネットワークのコミッショニングデバイスとボーダールータとの間に安全なコミッショニング通信セッションを確立し、メッシュネットワークのための参加を起動し、メッシュネットワークインターフェイスを介して、参加デバイスのうちの1つからメッシュネットワークに参加するための要求を受信し、コミッショニングデバイスと参加デバイスとの間に安全なジョイナー通信セッションを確立し、参加デバイスをメッシュネットワークに参加させるように構成されている。
【0216】
上述のメッシュネットワークデバイスに代えて、または上述のメッシュネットワークデバイスに加えて、コミッショニングアプリケーションは、メッシュネットワーク用のアクティブなコミッショナーとしてのコミッショニングデバイスの受入れを要求するために、コミッショニングデバイスからメッシュネットワークのリーダーデバイスに申請を送信し、リーダーデバイスから申請の受入れの表示を受信するように構成されているということ;コミッショニングアプリケーションは、メッシュネットワークにおける1つ以上のルータにメッシュネットワークが参加要求を受入れていることを広告させる参加モードを起動することにより、前記メッシュネットワークのための参加を起動するように構成されているということ;コミッショニングアプリケーションは、メッシュネットワークを参加可能にするために管理メッセージをリーダーデバイスに送信することにより、前記メッシュネットワークのための参加を起動するように構成されており、管理メッセージは、リーダーデバイスがメッシュネットワーク用のネットワークデータを更新し、メッシュネットワークにおける1つ以上のルータデバイスにネットワークデータを伝搬することを可能にし、ネットワークデータは、メッシュネットワークが参加のために利用可能であるという表示を含むということ;参加デバイスから受信された要求は、参加デバイスの暗号化されたデバイス識別子を含み、暗号化されたデバイス識別子は、ジャグリングによるパスワード認証済みキー交換(J-PAKE)を使用して、参加デバイスのデバイス識別子から導き出されるということ;コミッショニングアプリケーションは、ユーザからコミッショニングデバイスへの入力として受信されたデバイス識別子のコピーから、参加デバイスから受信された暗号化されたデバイス識別子がコミッショニングデバイスによって導き出された暗号化されたデバイス識別子と整合すると判断し、ジョイナー通信セッションを安全にするために、暗号化されたデバイス識別子を共有の秘密として使用するようにさらに構成された、安全なジョイナー通信セッションを確立するように構成されているということ;コミッショニングアプリケーションは、参加デバイスからのメッシュネットワークに参加するための要求を転送するように構成され、要求は、メッシュネットワークにおける1つ以上
のルータデバイスによってコミッショニングデバイスに転送されるということ、のうちのいずれか1つまたはそれらの組合せが含まれる。
【0217】
メッシュネットワークシステムは、メッシュネットワークへの参加を要求するように構成された1つ以上の参加デバイスと、メッシュネットワークのコミッショニングデバイスとを含み、コミッショニングデバイスは、コミッショニングデバイスとメッシュネットワークのボーダールータとの間に安全なコミッショニング通信セッションを確立し、メッシュネットワークのための参加を起動し、参加デバイスのうちの1つからメッシュネットワークに参加するための要求を受信し、コミッショニングデバイスと参加デバイスとの間に安全なジョイナー通信セッションを確立し、参加デバイスをメッシュネットワークに参加させるように構成されている。
【0218】
上述のメッシュネットワークシステムに代えて、または上述のメッシュネットワークシステムに加えて、コミッショニングデバイスは、安全なコミッショニング通信セッションを確立するために、メッシュネットワーク用のアクティブなコミッショナーとしてのコミッショニングデバイスの受入れを要求するために、コミッショニングデバイスからメッシュネットワークのリーダーデバイスに申請を送信し、リーダーデバイスから申請の受入れの表示を受信するように構成されているということ;コミッショニングデバイスは、メッシュネットワークにおける1つ以上のルータにメッシュネットワークが参加要求を受入れていることを広告させる参加モードを起動することにより、前記メッシュネットワークのための参加を起動するように構成されているということ;コミッショニングデバイスは、メッシュネットワークを参加可能にするために管理メッセージをリーダーデバイスに送信することにより、前記メッシュネットワークのための参加を起動するように構成されており、管理メッセージは、リーダーデバイスがメッシュネットワーク用のネットワークデータを更新し、メッシュネットワークにおける1つ以上のルータデバイスにネットワークデータを伝搬することを可能にし、ネットワークデータは、メッシュネットワークが参加のために利用可能であるという表示を含むということ;コミッショニングデバイスは、前記参加デバイスのうちの1つからのメッシュネットワークに参加するための要求を、ジョイナールータを介して受信し、参加デバイスは、メッシュネットワーク用のネットワーククレデンシャルと、コミッショニングデバイスと参加デバイスとの間で共有されるキー暗号化キー(KEK)とを受信するよう委託されるべきであるという表示を、ジョイナールータに送信するように構成され、送信された表示は、ジョイナールータが、受信されたKEKを使用してネットワーククレデンシャルを参加デバイスに安全に送信し、参加デバイスをメッシュネットワークにコミッショニングすることを可能にするということ、のうちのいずれか1つまたはそれらの組合せが含まれる。
【0219】
メッシュネットワークにおいて参加デバイスをプロビジョニングする方法は、メッシュネットワークのコミッショニングデバイスとボーダールータとの間にコミッショニング通信セッションを確立するステップと、参加デバイスとコミッショニングデバイスとの間にジョイナー通信セッションを確立するステップと、コミッショニング情報を参加デバイスに送信するステップとを含み、コミッショニング情報は、メッシュネットワークに参加するために参加デバイスによって使用可能であり、前記方法はさらに、参加デバイスから、コミッショナーアプリケーションの位置の表示を受信するステップと、参加デバイスをプロビジョニングするために、コミッショナーアプリケーションを実行するステップとを含む。
【0220】
上述の方法に代えて、または上述の方法に加えて、受信された表示を利用してコミッショナーアプリケーションを検索するステップをさらに含むということ;コミッショナーアプリケーションの位置の受信された表示は、ユニフォームリソースロケータ(URL)であるということ;コミッショナーアプリケーションは、インターネットを通してクラウド
サービスから検索されるということ;コミッショニングデバイスは、コミッショナーアプリケーションがコミッショニングデバイスのメモリに格納されているかどうかを判断するために、受信されたURLを使用するということ;参加デバイスのプロビジョニングの完了に応答して、参加デバイスのコミッショニングを終了させるステップをさらに含み、終了させるステップは、参加デバイスがメッシュネットワークに参加することを可能にするために有効であるということ;参加デバイスのプロビジョニングは、参加デバイス上のソフトウェアを更新することを含むということ;参加デバイスのプロビジョニングは、参加デバイスをクラウドサービス上のユーザアカウントにリンクすることを含むということ;参加デバイスのプロビジョニングは、参加デバイスを構成することを含むということ;および、構成は、メッシュネットワークにおける他のデバイスに関連するローカル構成であるということ、のうちのいずれか1つまたはそれらの組合せが含まれる。
【0221】
コミッショニングデバイスとして実現されるメッシュネットワークデバイスであって、メッシュネットワークデバイスは、メッシュネットワークにおける通信のために構成されたメッシュネットワークインターフェイスと、コミッショニングアプリケーションを実現するためのメモリおよびプロセッサシステムとを含み、コミッショニングアプリケーションは、メッシュネットワークのコミッショニングデバイスとボーダールータとの間にコミッショニング通信セッションを確立し、参加デバイスとコミッショニングデバイスとの間にジョイナー通信セッションを確立し、コミッショニング情報を参加デバイスに送信するように構成され、コミッショニング情報は、メッシュネットワークに参加するために参加デバイスによって使用可能であり、コミッショニングアプリケーションはさらに、参加デバイスから、コミッショナーアプリケーションの位置の表示を受信し、参加デバイスをプロビジョニングするために、コミッショナーアプリケーションを実行するように構成されている。
【0222】
上述のメッシュネットワークデバイスに代えて、または上述のメッシュネットワークデバイスに加えて、コミッショニングアプリケーションは、受信された表示を利用してコミッショナーアプリケーションを検索するように構成されているということ;コミッショナーアプリケーションの位置の受信された表示は、ユニフォームリソースロケータ(URL)であるということ;コミッショナーアプリケーションは、インターネットを通してクラウドサービスから検索されるということ;コミッショニングデバイスは、コミッショナーアプリケーションがコミッショニングデバイスのメモリに格納されているかどうかを判断するために、受信されたURLを使用するということ、のうちのいずれか1つまたはそれらの組合せが含まれる。
【0223】
メッシュネットワークシステムは、メッシュネットワークへの参加を要求するように構成された参加デバイスと、メッシュネットワークのコミッショニングデバイスとを含み、コミッショニングデバイスは、コミッショニングデバイスとメッシュネットワークのボーダールータとの間にコミッショニング通信セッションを確立し、参加デバイスとコミッショニングデバイスとの間にジョイナー通信セッションを確立し、コミッショニング情報を参加デバイスに送信するように構成され、コミッショニング情報は、メッシュネットワークに参加するために参加デバイスによって使用可能であり、コミッショニングデバイスはさらに、参加デバイスから、コミッショナーアプリケーションの位置の表示を受信し、参加デバイスをプロビジョニングするために、コミッショナーアプリケーションを実行するように構成されている。
【0224】
上述のメッシュネットワークシステムに代えて、または上述のメッシュネットワークシステムに加えて、コミッショニングアプリケーションは、受信された表示を利用してコミッショナーアプリケーションを検索するように構成されているということ;コミッショナーアプリケーションの位置の受信された表示は、ユニフォームリソースロケータ(URL
)であるということ;コミッショナーアプリケーションは、インターネットを通してクラウドサービスから検索されるということ;および、コミッショニングデバイスは、コミッショナーアプリケーションがコミッショニングデバイスのメモリに格納されているかどうかを判断するために、受信されたURLを使用するということ、のうちのいずれか1つまたはそれらの組合せが含まれる。
【0225】
メッシュネットワークへの参加が許可されているデバイスを識別する方法は、メッシュネットワーク用のステアリングデータを求めるステップを含み、ステアリングデータは、メッシュネットワークへの参加が許可されているデバイスに関連付けられたデバイス識別子の表示を含み、前記方法はさらに、メッシュネットワーク用のコミッショニングデバイスからメッシュネットワークにおける1つ以上のルータにステアリングデータを伝搬するステップを含み、前記伝搬するステップは、1つ以上のルータがステアリングデータをビーコンメッセージで送信することを可能にし、ステアリングデータは、デバイス識別子に関連付けられたデバイスが、デバイスはメッシュネットワークへの参加を許可されていると識別することを可能にするために有効である。
【0226】
上述の方法に代えて、または上述の方法に加えて、ステアリングデータは、デバイス識別子の16ビット巡回冗長検査(CRC16)を含むということ;デバイス識別子は、IEEE64ビット拡張一意識別子(EUI-64)であるということ;前記メッシュネットワーク用のステアリングデータを求めるステップはさらに、メッシュネットワークへの参加が許可されている追加のデバイスに関連付けられた追加のデバイス識別子用のステアリングデータを求めるステップを含むということ;前記ステアリングデータを伝搬するステップは、デバイスがメッシュネットワークと他のネットワークとを区別することを可能にするために有効であるということ;他のネットワークは、IEEE802.15.4ネットワークであるということ;および、ステアリングデータは、コミッショナーがメッシュネットワーク上でアクティブであることを示すということ、のうちのいずれか1つまたはそれらの組合せが含まれる。
【0227】
コミッショニングデバイスとして実現されるメッシュネットワークデバイスであって、メッシュネットワークデバイスは、メッシュネットワークにおける通信のために構成されたメッシュネットワークインターフェイスと、コミッショニングアプリケーションを実現するためのメモリおよびプロセッサシステムとを含み、コミッショニングアプリケーションは、メッシュネットワーク用のステアリングデータを求めるように構成され、ステアリングデータは、メッシュネットワークへの参加が許可されているデバイスに関連付けられたデバイス識別子の表示を含み、コミッショニングアプリケーションはさらに、メッシュネットワーク用のコミッショニングデバイスからメッシュネットワークにおける1つ以上のルータにステアリングデータを伝搬するように構成され、伝搬は、1つ以上のルータがステアリングデータをビーコンメッセージで送信することを可能にし、ステアリングデータは、デバイス識別子に関連付けられたデバイスが、デバイスはメッシュネットワークへの参加を許可されていると識別することを可能にするために有効である。
【0228】
上述のメッシュネットワークデバイスに代えて、または上述のメッシュネットワークデバイスに加えて、ステアリングデータは、デバイス識別子の16ビット巡回冗長検査(CRC16)を含むということ;デバイス識別子は、IEEE64ビット拡張一意識別子(EUI-64)であるということ;コミッショニングアプリケーションは、メッシュネットワーク用のステアリングデータを求めるために、メッシュネットワークへの参加が許可されている追加のデバイスに関連付けられた追加のデバイス識別子用のステアリングデータを求めるように構成されているということ;ステアリングデータは、メッシュネットワークと他のネットワークとを区別するためにデバイスによって使用可能であるということ;他のネットワークは、IEEE802.15.4ネットワークであるということ;およ
び、ステアリングデータは、コミッショナーがメッシュネットワーク上でアクティブであることを示すということ、のうちのいずれか1つまたはそれらの組合せが含まれる。
【0229】
メッシュネットワークシステムでは、メッシュネットワークへの参加を要求するように構成された参加デバイスと、メッシュネットワークのコミッショニングデバイスとを含み、コミッショニングデバイスは、メッシュネットワーク用のステアリングデータを求めるように構成され、ステアリングデータは、メッシュネットワークへの参加が許可されているデバイスに関連付けられたデバイス識別子の表示を含み、コミッショニングデバイスはさらに、メッシュネットワーク用のコミッショニングデバイスからメッシュネットワークにおける1つ以上のルータにステアリングデータを伝搬するように構成され、伝搬は、1つ以上のルータがステアリングデータをビーコンメッセージで送信することを可能にし、ステアリングデータは、デバイス識別子に関連付けられたデバイスが、デバイスはメッシュネットワークへの参加を許可されていると識別することを可能にするために有効である。
【0230】
上述のメッシュネットワークシステムに代えて、または上述のメッシュネットワークシステムに加えて、ステアリングデータは、デバイス識別子の16ビット巡回冗長検査(CRC16)を含むということ;デバイス識別子は、IEEE64ビット拡張一意識別子(EUI-64)であるということ;コミッショニングデバイスは、メッシュネットワーク用のステアリングデータを求めるために、メッシュネットワークへの参加が許可されている追加のデバイスに関連付けられた追加のデバイス識別子用のステアリングデータを求めるように構成されているということ;ステアリングデータは、デバイスがメッシュネットワークと他のネットワークとを区別することを可能にするということ;ステアリングデータは、コミッショナーがメッシュネットワーク上でアクティブであることを示すということ、のうちのいずれか1つまたはそれらの組合せが含まれる。
【0231】
メッシュネットワークへの参加が許可されているデバイスを識別する方法は、メッシュネットワーク用のステアリングデータを求めるステップを含み、ステアリングデータは、メッシュネットワークへの参加が許可されているデバイスに関連付けられたデバイス識別子の表示を含み、表示は、デバイス識別子を表わす、ブルームフィルタにおける一組の値として表わされており、前記方法はさらに、メッシュネットワーク用のコミッショニングデバイスからメッシュネットワークにおける1つ以上のルータにステアリングデータを伝搬するステップを含み、前記伝搬するステップは、1つ以上のルータがステアリングデータをビーコンメッセージで送信することを可能にし、ステアリングデータは、デバイス識別子に関連付けられたデバイスが、ブルームフィルタにおける一組の値をデバイスで求められた第2の一組の値と比較して、デバイスはメッシュネットワークへの参加を許可されていると識別することを可能にする。
【0232】
上述の方法に代えて、または上述の方法に加えて、ステアリングデータを求めるステップは、第1のハッシュ値を生成するために第1のハッシュ関数をデバイス識別子に適用するステップと、第2のハッシュ値を生成するために第2のハッシュ関数をデバイス識別子に適用するステップと、ブルームフィルタにおける第1のビットフィールド位置を求めるために、第1のハッシュ値に対してモジュロ演算を行なうステップと、ブルームフィルタにおける第2のビットフィールド位置を求めるために、第2のハッシュ値に対してモジュロ演算を行なうステップと、ブルームフィルタの第1のビットフィールド位置における値を1に設定するステップと、ブルームフィルタの第2のビットフィールド位置における値を1に設定するステップとを含むということ;第1および第2のハッシュ関数は巡回冗長検査(CRC)であり、第1のハッシュ関数はCRC16-CCITT、第2のハッシュ関数はCRC16-ANSIであるということ;モジュロ演算用の除数は、ブルームフィルタのビットアレイの長さであるということ;デバイス識別子は、IEEE64ビット拡
張一意識別子(EUI-64)であるということ;デバイス識別子は、EUI-64の最下位24ビットであるということ;メッシュネットワーク用のステアリングデータを求めるステップはさらに、メッシュネットワークへの参加が許可されている追加のデバイスに関連付けられた追加のデバイス識別子用のステアリングデータを求めるステップを含むということ;ステアリングデータの値を、メッシュネットワークのための参加を不能にする0の値に設定するステップをさらに含むということ;および、メッシュネットワークが任意のデバイスのために参加可能であることを示すために、ステアリングデータにおけるすべてのビットフィールド値を1の値に設定するステップをさらに含むということ、のうちのいずれか1つまたはそれらの組合せが含まれる。
【0233】
コミッショニングデバイスとして実現されるメッシュネットワークデバイスであって、メッシュネットワークデバイスは、メッシュネットワークにおける通信のために構成されたメッシュネットワークインターフェイスと、コミッショニングアプリケーションを実現するためのメモリおよびプロセッサシステムとを含み、コミッショニングアプリケーションは、メッシュネットワーク用のステアリングデータを求めるように構成され、ステアリングデータは、メッシュネットワークへの参加が許可されているデバイスに関連付けられたデバイス識別子の表示を含み、表示は、デバイス識別子を表わす、ブルームフィルタにおける一組の値として表わされており、コミッショニングアプリケーションはさらに、メッシュネットワークにおける1つ以上のルータにステアリングデータを伝搬するように構成され、伝搬は、1つ以上のルータがステアリングデータをビーコンメッセージで送信することを可能にするために有効であり、ステアリングデータは、デバイス識別子に関連付けられたデバイスが、ブルームフィルタにおける一組の値をデバイスで求められた第2の一組の値と比較して、デバイスはメッシュネットワークへの参加を許可されていると識別することを可能にする。
【0234】
上述のメッシュネットワークデバイスに代えて、または上述のメッシュネットワークデバイスに加えて、コミッショニングアプリケーションは、第1のハッシュ値を生成するために第1のハッシュ関数をデバイス識別子に適用し、第2のハッシュ値を生成するために第2のハッシュ関数をデバイス識別子に適用し、ブルームフィルタにおける第1のビットフィールド位置を求めるために、第1のハッシュ値に対してモジュロ演算を行ない、ブルームフィルタにおける第2のビットフィールド位置を求めるために、第2のハッシュ値に対してモジュロ演算を行ない、ブルームフィルタの第1のビットフィールド位置における値を1に設定し、ブルームフィルタの第2のビットフィールド位置における値を1に設定するように構成されているということ;第1および第2のハッシュ関数は巡回冗長検査(CRC)であり、第1のハッシュ関数はCRC16-CCITT、第2のハッシュ関数はCRC16-ANSIであるということ;および、モジュロ演算用の除数は、ブルームフィルタのビットアレイの長さであるということ;デバイス識別子は、IEEE64ビット拡張一意識別子(EUI-64)であるということ、のうちのいずれか1つまたはそれらの組合せが含まれる。
【0235】
メッシュネットワークシステムは、メッシュネットワークへの参加を要求するように構成された参加デバイスと、コミッショニングデバイスとを含み、コミッショニングデバイスは、メッシュネットワーク用のステアリングデータを求めるように構成され、ステアリングデータは、メッシュネットワークへの参加が許可されているデバイスに関連付けられたデバイス識別子の表示を含み、表示は、デバイス識別子を表わす、ブルームフィルタにおける一組の値として表わされており、コミッショニングデバイスはさらに、メッシュネットワークにおける1つ以上のルータにステアリングデータを伝搬するように構成され、伝搬は、1つ以上のルータがステアリングデータをビーコンメッセージで送信することを可能にするために有効であり、ステアリングデータは、デバイス識別子に関連付けられたデバイスが、ブルームフィルタにおける一組の値をデバイスで求められた第2の一組の値
と比較して、デバイスはメッシュネットワークへの参加を許可されていると識別することを可能にする。
【0236】
上述のメッシュネットワークシステムに代えて、または上述のメッシュネットワークシステムに加えて、コミッショニングデバイスは、第1のハッシュ値を生成するために第1のハッシュ関数をデバイス識別子に適用し、第2のハッシュ値を生成するために第2のハッシュ関数をデバイス識別子に適用し、ブルームフィルタにおける第1のビットフィールド位置を求めるために、第1のハッシュ値に対してモジュロ演算を行ない、ブルームフィルタにおける第2のビットフィールド位置を求めるために、第2のハッシュ値に対してモジュロ演算を行ない、ブルームフィルタの第1のビットフィールド位置における値を1に設定し、ブルームフィルタの第2のビットフィールド位置における値を1に設定するように構成されているということ;第1および第2のハッシュ関数は巡回冗長検査(CRC)であり、第1のハッシュ関数はCRC16-CCITT、第2のハッシュ関数はCRC16-ANSIであるということ;モジュロ演算用の除数は、ブルームフィルタのビットアレイの長さであるということ;デバイス識別子は、IEEE64ビット拡張一意識別子(EUI-64)であるということ;コミッショニングデバイスは、メッシュネットワーク用のステアリングデータを求めるために、メッシュネットワークへの参加が許可されている追加のデバイスに関連付けられた追加のデバイス識別子用のステアリングデータを求めるように構成されているということ、のうちのいずれか1つまたはそれらの組合せが含まれる。
【0237】
メッシュネットワークのノードにおけるコミッショニングデータを更新する方法は、メッシュネットワークにおけるノードデバイスでコミッショニングデータセットを受信するステップと、受信されたコミッショニングデータセットに含まれるタイムスタンプを、ノードデバイスに格納されているコミッショニングデータセットに含まれる格納されたタイムスタンプと比較するステップと、前記比較するステップから、格納されたタイムスタンプは受信されたタイムスタンプより最近のものであると判断するステップと、前記判断するステップに応答して、メッシュネットワークのリーダーデバイスにメッセージを送信するステップとを含み、メッセージは、格納されたコミッショニングデータセットを含み、リーダーデバイスが、格納されたコミッショニングデータセットをメッシュネットワーク用の最も最近のコミッショニングデータセットとして受入れ、格納されたコミッショニングデータセットをメッシュネットワークに伝搬することを可能にするために有効である。
【0238】
上述の方法に代えて、または上述の方法に加えて、前記比較するステップから、受信されたタイムスタンプは格納されたタイムスタンプより最近のものであると判断するステップと、前記受信されたタイムスタンプは格納されたタイムスタンプより最近のものであると判断するステップに応答して、受信されたコミッショニングデータセットと整合するように、格納されたコミッショニングデータセットを更新するステップとをさらに含むということ;受信されたコミッショニングデータセットは、受信されたタイムスタンプと、コミッショニングクレデンシャルと、メッシュネットワークのネットワーク名と、どのセキュリティ関連動作がメッシュネットワークにおいて許可されているかを示すセキュリティポリシーとを含むということ;受信されたタイムスタンプは、時間値と、時間値が協定世界時(UTC)までトレーサブルであるという表示とを含むということ;ノードデバイスおよびリーダーデバイスは、以前にメッシュネットワークにコミッショニングされ、以前のコミッショニングは、ノードデバイスおよびリーダーデバイスに同一のコミッショニングデータセットを格納したということ;ノードデバイスにおける格納されたコミッショニングデータセットは、メッシュネットワークの分裂後に更新され、分裂はメッシュネットワークを複数の区画に分離し、メッシュネットワークの第1の区画はリーダーデバイスを含み、メッシュネットワークの第2の区画はノードデバイスを含むということ;分裂は、メッシュネットワーク上のノードデバイスとリーダーデバイスとの間の通信を停止すると
いうこと;ノードデバイスでコミッショニングデータセットを受信するステップは、メッシュネットワークの第1の区画および第2の区画の合併後に起こり、合併は、メッシュネットワーク上にノードデバイスとリーダーデバイスとの間の通信経路を再確立するということ;および、ノードデバイスは、ルータデバイス、またはルータ適格デバイスであるということ、のうちのいずれか1つまたはそれらの組合せが含まれる。
【0239】
ルータとして実現されるメッシュネットワークデバイスであって、メッシュネットワークデバイスは、メッシュネットワークにおける通信のために構成されたメッシュネットワークインターフェイスと、コミッショニングアプリケーションを実現するためのメモリおよびプロセッサシステムとを含み、コミッショニングアプリケーションは、コミッショニングデータセットを受信し、受信されたコミッショニングデータセットに含まれるタイムスタンプを、ルータに格納されているコミッショニングデータセットに含まれる格納されたタイムスタンプと比較し、比較から、格納されたタイムスタンプは受信されたタイムスタンプより最近のものであると判断し、判断に応答して、メッシュネットワークのリーダーデバイスにメッセージを送信するように構成され、メッセージは、格納されたコミッショニングデータセットを含み、リーダーデバイスが、格納されたコミッショニングデータセットをメッシュネットワーク用の最も最近のコミッショニングデータセットとして受入れ、格納されたコミッショニングデータセットをメッシュネットワークに伝搬することを可能にするために有効である。
【0240】
上述のメッシュネットワークデバイスに代えて、または上述のメッシュネットワークデバイスに加えて、コミッショニングアプリケーションは、比較から、受信されたタイムスタンプは格納されたタイムスタンプより最近のものであると判断し、受信されたタイムスタンプは格納されたタイムスタンプより最近のものであるという判断に応答して、受信されたコミッショニングデータセットと整合するように、格納されたコミッショニングデータセットを更新するように構成されているということ;受信されたコミッショニングデータセットは、受信されたタイムスタンプと、コミッショニングクレデンシャルと、メッシュネットワークのネットワーク名と、どのセキュリティ関連動作がメッシュネットワークにおいて許可されているかを示すセキュリティポリシーとを含むということ;受信されたタイムスタンプは、時間値と、時間値が協定世界時(UTC)までトレーサブルであるという表示とを含むということ;ルータおよびリーダーデバイスは、以前にメッシュネットワークにコミッショニングされ、以前のコミッショニングは、ルータおよびリーダーデバイスに同一のコミッショニングデータセットを格納したということ;および、ルータにおける格納されたコミッショニングデータセットは、メッシュネットワークの分裂後に更新され、分裂はメッシュネットワークを複数の区画に分離し、メッシュネットワークの第1の区画はリーダーデバイスを含み、メッシュネットワークの第2の区画はルータを含むということ、のうちのいずれか1つまたはそれらの組合せが含まれる。
【0241】
メッシュネットワークシステムは、メッシュネットワーク用のコミッショニングデータを維持するように構成されたリーダーデバイスと、ルータデバイスとを含み、ルータデバイスは、コミッショニングデータセットを受信し、受信されたコミッショニングデータセットに含まれるタイムスタンプを、ルータに格納されているコミッショニングデータセットに含まれる格納されたタイムスタンプと比較し、比較から、格納されたタイムスタンプは受信されたタイムスタンプより最近のものであると判断し、判断に応答して、メッシュネットワークのリーダーデバイスにメッセージを送信するように構成され、メッセージは、格納されたコミッショニングデータセットを含み、リーダーデバイスが、格納されたコミッショニングデータセットをメッシュネットワーク用の最も最近のコミッショニングデータセットとして受入れ、格納されたコミッショニングデータセットをメッシュネットワークに伝搬することを可能にするために有効である。
【0242】
上述のメッシュネットワークシステムに代えて、または上述のメッシュネットワークシステムに加えて、ルータデバイスは、比較から、受信されたタイムスタンプは格納されたタイムスタンプより最近のものであると判断し、受信されたタイムスタンプは格納されたタイムスタンプより最近のものであるという判断に応答して、受信されたコミッショニングデータセットと整合するように、格納されたコミッショニングデータセットを更新するように構成されているということ;受信されたコミッショニングデータセットは、受信されたタイムスタンプと、コミッショニングクレデンシャルと、メッシュネットワークのネットワーク名と、どのセキュリティ関連動作がメッシュネットワークにおいて許可されているかを示すセキュリティポリシーとを含むということ;受信されたタイムスタンプは、時間値と、時間値が協定世界時(UTC)までトレーサブルであるという表示とを含むということ;および、ルータおよびリーダーデバイスは、以前にメッシュネットワークにコミッショニングされ、以前のコミッショニングは、ルータおよびリーダーデバイスに同一のコミッショニングデータセットを格納したということ、のうちのいずれか1つまたはそれらの組合せが含まれる。
図1
図2
図3A
図3B
図3C
図3D
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
【手続補正書】
【提出日】2022-07-25
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
メッシュネットワークに参加するように1つ以上の参加デバイスをコミッショニングするためのコミッショナーになるようにコミッショニングデバイスを認可する方法であって、前記方法は、
ボーダールータで、データグラムトランスポート層セキュリティ(DTLS)を使用して前記ボーダールータへの安全な接続を確立するための要求を前記コミッショニングデバイスから受信するステップと、
前記ボーダールータで、前記メッシュネットワーク用の前記コミッショナーになるための申請を前記コミッショニングデバイスから受信するステップとを含み、前記申請は、前記ボーダールータのメッシュネットワークインターフェイス以外のネットワークインターフェイスを介して受信され、前記方法はさらに、
受信された前記申請を、前記メッシュネットワークのリーダーデバイスに送信するステップと、
前記リーダーデバイスから、前記申請に対する応答を受信するステップとを含み、前記応答は前記申請の受入れまたは拒否を表示し、前記方法はさらに、
前記応答を受信するステップに応答して、前記申請の前記受入れまたは前記拒否の表示を前記コミッショニングデバイスに送信するステップを含む、方法。
【請求項2】
ボーダールータによって、コミッショニングデバイスのための前記メッシュネットワークの利用可能性を広告するステップをさらに含み、前記申請を受信するステップは、前記コミッショニングデバイスが前記広告を受信することに応答している、請求項1に記載の方法。
【請求項3】
前記安全な接続を確立するための前記要求を受信するステップに応答して、前記方法はさらに、データグラムトランスポート層セキュリティ(DTLS)を使用して前記安全な接続を確立するステップを含む、請求項1または請求項2に記載の方法。
【請求項4】
前記申請の前記受入れの前記表示を送信するステップは、安全なコミッショニングセッションを確立する、請求項1~請求項3のいずれか1項に記載の方法。
【請求項5】
安全なコミッショニング通信セッションを確立するために、前記コミッショニングデバイスのアイデンティティを前記ボーダールータに登録するステップをさらに含み、前記登録するステップは、暗号化されたコミッショニングクレデンシャルを前記ボーダールータに提供するステップを含み、前記暗号化されたコミッショニングクレデンシャルは、ユーザによって前記コミッショニングデバイスに入力されたコミッショニングクレデンシャルから導き出されたものである、請求項1~請求項4のいずれか1項に記載の方法。
【請求項6】
前記ボーダールータは、前記コミッショニングデバイスを前記メッシュネットワークに認証するために使用可能である前記暗号化されたコミッショニングクレデンシャルのコピーを含む、請求項5に記載の方法。
【請求項7】
前記暗号化されたコミッショニングクレデンシャルの前記コピーは、前記コミッショニングクレデンシャルから以前に導き出され、
前記コミッショニングクレデンシャルは、前記暗号化されたコミッショニングクレデンシャルの前記コピーを導き出した前記メッシュネットワークの前記リーダーデバイスに注入され、
前記リーダーデバイスは、前記暗号化されたコミッショニングクレデンシャルの前記コピーを、前記ボーダールータに安全に通信した、請求項6に記載の方法。
【請求項8】
ボーダールータとして実現されるメッシュネットワークデバイスであって、前記メッシュネットワークデバイスは、
メッシュネットワークにおける通信のために構成されたメッシュネットワークインターフェイスと、
コミッショニングアプリケーションを実現するためのメモリおよびプロセッサシステムとを含み、前記コミッショニングアプリケーションは、
データグラムトランスポート層セキュリティ(DTLS)を使用して前記ボーダールータへの安全な接続を確立するための要求をコミッショニングデバイスから受信し、
前記メッシュネットワークに参加するように1つ以上の参加デバイスをコミッショニングするための前記メッシュネットワーク用のコミッショナーになるための申請を前記コミッショニングデバイスから受信するように構成され、前記申請は、前記ボーダールータのメッシュネットワークインターフェイス以外のネットワークインターフェイスを介して受信され、前記コミッショニングアプリケーションはさらに、
受信された前記申請が前記メッシュネットワークインターフェイスを介して前記メッシュネットワークのリーダーデバイスに送信されるのを開始し、
前記リーダーデバイスから、前記申請に対する応答を受信するように構成され、前記応答は前記申請の受入れまたは拒否を表示し、前記コミッショニングアプリケーションはさらに、
前記申請に対する受信された前記応答に応答して、前記申請の前記受入れまたは前記拒否の表示が前記コミッショニングデバイスに送信されるのを開始するように構成されている、メッシュネットワークデバイス。
【請求項9】
前記コミッショニングアプリケーションは、コミッショニングデバイスのための前記メッシュネットワークの利用可能性を広告し、前記コミッショニングデバイスが広告された前記利用可能性を受信することに応答して前記申請を受信するように構成され、
広告された前記利用可能性は、マルチキャストドメイン名システム(mDNS)を含むサービス発見プロトコルを使用して行なわれる、請求項8に記載のメッシュネットワークデバイス。
【請求項10】
前記安全な接続を確立するための前記要求に応答して、前記コミッショニングアプリケーションは、データグラムトランスポート層セキュリティ(DTLS)を使用して前記安全な接続を確立するように構成されている、請求項8または請求項9に記載のメッシュネットワークデバイス。
【請求項11】
前記リーダーデバイスによる前記申請の前記受入れは、前記コミッショニングデバイスが前記メッシュネットワーク用の前記コミッショナーになることを認可し、
前記メッシュネットワーク用のアクティブなコミッショナーを追跡する内部状態を前記リーダーデバイスが更新することを可能にする前記申請の前記受入れは、前記メッシュネットワーク用の参加許可フラグを真に設定して、前記メッシュネットワーク内でコミッショニングデータセットを伝搬し、
前記申請の前記受入れの送信された前記表示は、安全なコミッショニングセッションを確立する、請求項8~請求項10のいずれか1項に記載のメッシュネットワークデバイス。
【請求項12】
前記コミッショニングアプリケーションは、前記ボーダールータに提供された暗号化されたコミッショニングクレデンシャルを含む、安全なコミッショニング通信セッションを確立するために、前記コミッショニングデバイスのアイデンティティを前記ボーダールータに登録するように構成され、
前記暗号化されたコミッショニングクレデンシャルは、ユーザによって前記コミッショニングデバイスに入力されたコミッショニングクレデンシャルから導き出されたものであり、
前記ボーダールータは、前記コミッショニングデバイスを前記メッシュネットワークに認証するために使用可能である前記暗号化されたコミッショニングクレデンシャルのコピーを含む、請求項8~請求項11のいずれか1項に記載のメッシュネットワークデバイス。
【請求項13】
前記コミッショニングデバイスと前記ボーダールータとは、前記メッシュネットワーク以外の他のネットワークを通して通信する、請求項8~請求項12のいずれか1項に記載のメッシュネットワークデバイス。
【請求項14】
前記他のネットワークは、Wi-Fiネットワークまたはイーサネットネットワークのうちの一方である、請求項13に記載のメッシュネットワークデバイス。
【請求項15】
メッシュネットワークシステムであって、
メッシュネットワークに参加するように1つ以上の参加デバイスをコミッショニングするためのコミッショナーになるよう申請するように構成されたコミッショニングデバイスと、
ボーダールータとを含み、前記ボーダールータは、
データグラムトランスポート層セキュリティ(DTLS)を使用して前記ボーダールータへの安全な接続を確立するための要求を前記コミッショニングデバイスから受信し、
前記メッシュネットワーク用の前記コミッショナーになるための申請を前記コミッショニングデバイスから受信するように構成され、前記申請は、前記ボーダールータのメッシュネットワークインターフェイス以外のネットワークインターフェイスを介して受信され、前記ボーダールータはさらに、
受信された前記申請を、前記メッシュネットワークのリーダーデバイスに送信し、
前記リーダーデバイスから、前記申請に対する応答を受信するように構成され、前記応答は前記申請の受入れまたは拒否を表示し、前記ボーダールータはさらに、
前記申請の前記受入れまたは前記拒否の表示を前記コミッショニングデバイスに送信するように構成されている、メッシュネットワークシステム。
【請求項16】
前記ボーダールータは、コミッショニングデバイスのための前記メッシュネットワークの利用可能性を広告し、前記コミッショニングデバイスが前記広告を受信することに応答して前記申請を受信するように構成されている、請求項15に記載のメッシュネットワークシステム。
【請求項17】
前記コミッショニングデバイスと前記ボーダールータとは、前記メッシュネットワーク以外の他のネットワークを通して通信する、請求項15または請求項16に記載のメッシュネットワークシステム。
【請求項18】
前記他のネットワークは、Wi-Fiネットワークまたはイーサネットネットワークのうちの一方である、請求項17に記載のメッシュネットワークシステム。
【請求項19】
前記ボーダールータは、安全なコミッショニングセッションを確立するために、前記申請の前記受入れの前記表示を送信するように構成されている、請求項15~請求項18のいずれか1項に記載のメッシュネットワークシステム。
【請求項20】
前記安全な接続を確立するための前記要求に応答して、前記ボーダールータは、データグラムトランスポート層セキュリティ(DTLS)を使用して前記安全な接続を確立するように構成されている、請求項15~請求項19のいずれか1項に記載のメッシュネットワークシステム。
【外国語明細書】