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

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

▶ ランディス・ギア・テクノロジー・インコーポレイテッドの特許一覧

特表2024-516497ネットワークゲートウェイ上の分散型台帳
<>
  • 特表-ネットワークゲートウェイ上の分散型台帳 図1
  • 特表-ネットワークゲートウェイ上の分散型台帳 図2
  • 特表-ネットワークゲートウェイ上の分散型台帳 図3
  • 特表-ネットワークゲートウェイ上の分散型台帳 図4
  • 特表-ネットワークゲートウェイ上の分散型台帳 図5
  • 特表-ネットワークゲートウェイ上の分散型台帳 図6
  • 特表-ネットワークゲートウェイ上の分散型台帳 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-04-16
(54)【発明の名称】ネットワークゲートウェイ上の分散型台帳
(51)【国際特許分類】
   G06F 16/182 20190101AFI20240409BHJP
   G06Q 50/06 20240101ALI20240409BHJP
【FI】
G06F16/182
G06Q50/06
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023555604
(86)(22)【出願日】2022-03-11
(85)【翻訳文提出日】2023-11-09
(86)【国際出願番号】 US2022019986
(87)【国際公開番号】W WO2022192696
(87)【国際公開日】2022-09-15
(31)【優先権主張番号】17/199,495
(32)【優先日】2021-03-12
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.BLUETOOTH
2.ZIGBEE
3.JAVA
(71)【出願人】
【識別番号】523325484
【氏名又は名称】ランディス・ギア・テクノロジー・インコーポレイテッド
【氏名又は名称原語表記】LANDIS+GYR TECHNOLOGY, INC.
(74)【代理人】
【識別番号】100145403
【弁理士】
【氏名又は名称】山尾 憲人
(74)【代理人】
【識別番号】100135703
【弁理士】
【氏名又は名称】岡部 英隆
(74)【代理人】
【識別番号】100227927
【弁理士】
【氏名又は名称】中村 拓
(72)【発明者】
【氏名】カーン,ファラズ
(57)【要約】
ユーティリティネットワークを伴う分散型台帳を使用するための技術が開示される。ユーティリティネットワークは、バックホールネットワークに接続されるユーティリティコレクタのセットを含む。ユーティリティコレクタのセットのそれぞれは、分散型台帳のコピーを記憶するように構成されるメモリを含む。ユーティリティネットワークはパーソナルエリアネットワーク(PAN)を含む。ユーティリティコレクタのセットのそれぞれは、対応するPANに接続されるとともに、対応するPAN上のユーティリティデバイスの対応するセットにおけるPANコーディネータとして機能するように構成される。ユーティリティコレクタは、分散型台帳システムに加わることを要求する。ユーティリティコレクタは、ユーティリティコレクタのセットが分散型台帳システムに加わるための要求を承認することを示す承認と分散型台帳の現在の状態とを受ける。ユーティリティコレクタは、現在の状態に基づいて分散型台帳のコピーをインスタンス化することにより、分散型台帳システムに加わる。
【特許請求の範囲】
【請求項1】
バックホールネットワークに接続される複数のユーティリティコレクタであって、前記複数のユーティリティコレクタのそれぞれが、分散型台帳のコピーを記憶するように構成されるメモリを備える、複数のユーティリティコレクタと、
複数のパーソナルエリアネットワーク(PAN)であって、前記複数のユーティリティコレクタのそれぞれが、対応するPANに接続されるとともに、前記対応するPAN上のユーティリティデバイスの対応するセットにおけるPANコーディネータとして機能するように構成される、複数のPANと、
を備え、
前記複数のユーティリティコレクタのうちの第1のユーティリティコレクタは、
前記バックホールネットワークを介して、暗号鍵を要求し、
前記バックホールネットワークを介して、分散型台帳システムに加わるための要求を送信し、
前記バックホールネットワークを介して、前記複数のユーティリティコレクタの閾値割合が前記分散型台帳システムに加わるための要求を承認することを示す承認と前記分散型台帳の現在の状態とを受信し、
前記分散型台帳の前記現在の状態を使用して、前記第1のユーティリティコレクタの前記分散型台帳の前記コピーをインスタンス化し、前記分散型台帳の前記現在の状態が前記複数のPAN及び前記ユーティリティデバイスのセットに関する情報を含み、
第1のユーティリティコレクタと関連付けられるユーティリティデバイスに関する情報を取得し、
前記第1のユーティリティコレクタと関連付けられる前記ユーティリティデバイスに関する情報を前記暗号鍵で暗号化して該情報を前記分散型台帳に記憶する、
ように構成され、
前記分散型台帳システムに加わる前記複数のユーティリティコレクタのうちの第2のユーティリティコレクタは、
前記複数のユーティリティコレクタのうちの特定のユーティリティコレクタが応答していないことを識別し、
前記第2のユーティリティコレクタの前記分散型台帳の前記コピーから、前記応答していないユーティリティコレクタのPAN内の前記ユーティリティデバイスのセットを識別し、
前記応答していないユーティリティコレクタの前記PAN内の前記ユーティリティデバイスのセットのうちの1つ以上が前記第2のユーティリティコレクタの前記PANに加わるようにし、
前記加わることを反映するように前記第2のユーティリティコレクタの前記分散型台帳の前記コピーを更新し、
前記バックホールネットワークを介して前記更新を送信する、
ように構成される、ユーティリティネットワーク。
【請求項2】
前記暗号鍵を要求することは、ヘッドエンドシステムに要求を送信することを含み、前記承認を受信することは、前記ヘッドエンドシステムから前記承認を受信することを含む、請求項1に記載のユーティリティネットワーク。
【請求項3】
前記分散型台帳が複数のブロックを備え、各ブロックが1つ以上のコレクタ又はユーティリティデバイス間のトランザクションを表し、
前記分散型台帳の現在の状態が前記複数のブロックを含み、
前記第1のユーティリティコレクタは、前記承認を識別する新たなブロックをインスタンス化するとともに、前記新たなブロックを前記第1のユーティリティコレクタの前記分散型台帳の前記コピーに記憶するように構成される、請求項1に記載のユーティリティネットワーク。
【請求項4】
前記第2のユーティリティコレクタは、
前記第1のユーティリティコレクタが応答していないという表示を含む新たなブロックをインスタンス化し、
前記第2のユーティリティコレクタの前記分散型台帳の前記コピーに前記新たなブロックを記憶する、
ように更に構成される、請求項1に記載のユーティリティネットワーク。
【請求項5】
前記第1のユーティリティコレクタは、
ユーティリティコレクタのためのファームウェア更新を受信し、
前記第1のユーティリティコレクタの前記分散型台帳の前記コピーから、前記ファームウェア更新が前記第1のユーティリティコレクタに適用されていないと決定し、
前記ファームウェア更新を前記第1のユーティリティコレクタに適用し、
前記ファームウェア更新が前記第1のユーティリティコレクタに適用されたことを示す新たなブロックをインスタンス化し、
前記第1のユーティリティコレクタの前記分散型台帳の前記コピーに前記新たなブロックを追加し、
前記新たなブロックを少なくとも1つの他のコレクタに送信する、
ように更に構成される、請求項1に記載のユーティリティネットワーク。
【請求項6】
前記第1のユーティリティコレクタは、
ユーティリティデバイスのためのファームウェア更新を受信し、
前記第1のユーティリティコレクタに対応する前記ユーティリティデバイスのセットのうちの少なくとも1つのユーティリティデバイスに前記ファームウェア更新を適用し、
前記ファームウェア更新がユーティリティデバイスに適用されたことを示す新たなブロックをインスタンス化し、
前記第1のユーティリティコレクタの前記分散型台帳の前記コピーに、前記新たなブロックを追加し、
前記新たなブロックを少なくとも1つの他のコレクタに送信する、
ように更に構成される、請求項1に記載のユーティリティネットワーク。
【請求項7】
前記応答していないユーティリティコレクタの前記PAN内の前記ユーティリティデバイスのセットを識別することは、前記第2のユーティリティコレクタの前記分散型台帳の前記コピーから、前記第1のユーティリティコレクタに関連する前記PANの第1のネットワークトポロジに関する情報にアクセスすること、及び前記第1のネットワークトポロジに関する前記情報から前記ユーティリティデバイスのセットを決定することを含む、請求項1に記載のユーティリティネットワーク。
【請求項8】
前記複数のユーティリティコレクタのうちの前記第2のユーティリティコレクタは、
前記第2のユーティリティコレクタの前記分散型台帳の前記コピーから、前記第1のユーティリティコレクタと関連付けられるブロックのリンク品質指標にアクセスし、
前記リンク品質指標がリンク品質閾値未満であると決定することに応じて、
前記第2のユーティリティコレクタの前記分散型台帳の前記コピーから、前記第1のユーティリティコレクタの前記PAN内の前記ユーティリティデバイスのセットを識別し、
前記第1のユーティリティコレクタの前記PAN内の前記ユーティリティデバイスのセットのうちの1つ以上が前記第2のユーティリティコレクタの前記PANに加わるようにし、
前記加わることを反映するように前記第2のユーティリティコレクタの前記分散型台帳の前記コピーを更新し、
前記バックホールネットワークを介して前記更新を送信する、
ように更に構成される、請求項1に記載のユーティリティネットワーク。
【請求項9】
バックホールネットワークに接続された複数のユーティリティコレクタであって、前記複数のユーティリティコレクタのそれぞれが、分散型台帳のコピーを記憶するように構成されるメモリを備える、複数のユーティリティコレクタと、
複数のパーソナルエリアネットワーク(PAN)であって、前記複数のユーティリティコレクタのそれぞれが、対応するPANに接続されるとともに、前記対応するPAN上のユーティリティデバイスの対応するセットにおけるPANコーディネータとして機能するように構成される、複数のPANと、
を備え、
前記複数のユーティリティコレクタのうちの第1のユーティリティコレクタは、
前記バックホールネットワークを介して、暗号鍵を要求し、
前記バックホールネットワークを介して、分散型台帳システムに加わるための要求を送信し、
前記バックホールネットワークを介して、前記複数のユーティリティコレクタの閾値割合が前記分散型台帳システムに加わるための要求を承認することを示す承認と前記分散型台帳の現在の状態とを受信し、
前記暗号鍵を使用して、前記分散型台帳の前記現在の状態を解読し、
前記分散型台帳の前記解読された現在の状態を使用して前記第1のユーティリティコレクタの前記分散型台帳の前記コピーをインスタンス化し、前記分散型台帳の前記現在の状態が、前記複数のPAN及び前記ユーティリティデバイスのセットに関する情報を含む、
ように構成され、
前記分散型台帳システムに加わる前記複数のユーティリティコレクタのうちの第2のユーティリティコレクタは、
ユーティリティコレクタのためのファームウェア更新を受信し、
前記第2のユーティリティコレクタの前記分散型台帳の前記コピーから、前記第2のユーティリティコレクタが前記ファームウェア更新以外のファームウェアバージョンを使用していると決定し、
前記ファームウェア更新を前記第2のユーティリティコレクタに適用し、
前記ファームウェア更新が前記第2のユーティリティコレクタに適用されたことを示す新たなブロックをインスタンス化し、
前記第2のユーティリティコレクタの前記分散型台帳の前記コピーに、前記新たなブロックを追加し、
前記新たなブロックを少なくとも1つの他のコレクタへ送信する、
ように構成される、ユーティリティネットワーク。
【請求項10】
前記分散型台帳が複数のブロックを備え、各ブロックが1つ以上のコレクタ又はユーティリティデバイス間のトランザクションを表し、
前記分散型台帳の現在の状態が前記複数のブロックを含み、
前記第1のユーティリティコレクタは、前記承認を識別する新たなブロックをインスタンス化するとともに、前記新たなブロックを前記第1のユーティリティコレクタの前記分散型台帳の前記コピーに記憶するように構成される、請求項9に記載のユーティリティネットワーク。
【請求項11】
前記第2のユーティリティコレクタは、
1つ以上のネットワークピングを前記第1のユーティリティコレクタに送信することに応じて、
前記第1のユーティリティコレクタが応答していないことを識別し、
前記第1のユーティリティコレクタが応答していないことを示す新たなブロックをインスタンス化し、
前記第2のユーティリティコレクタの前記分散型台帳の前記コピーに前記新たなブロックを記憶し、
前記新たなブロックを前記少なくとも1つの他のコレクタに送信する、
ように更に構成される、請求項9に記載のユーティリティネットワーク。
【請求項12】
前記バックホールネットワークを介して前記新たなブロックを送信することにより、更なるユーティリティコレクタが、前記新たなブロックを受信するとともに、前記新たなブロックを前記分散型台帳のそれぞれのコピーに適用する、請求項11に記載のユーティリティネットワーク。
【請求項13】
前記バックホールネットワークを介して前記新たなブロックを送信することにより、更なるユーティリティコレクタが、前記新たなブロックから、前記ファームウェア更新が利用可能であると決定するとともに、前記ファームウェア更新を前記更なるユーティリティコレクタに適用する、請求項9に記載のユーティリティネットワーク。
【請求項14】
前記複数のユーティリティコレクタのうちの前記第2のユーティリティコレクタは、前記第1のユーティリティコレクタに1つ以上のネットワークピングを送信することに応じて、
前記第2のユーティリティコレクタの前記分散型台帳の前記コピーから、前記第1のユーティリティコレクタと関連付けられるPANの第1のネットワークトポロジに関する情報を識別し、
前記第1のユーティリティコレクタの前記PAN内の前記ユーティリティデバイスのセットのうちの1つ以上が前記第2のユーティリティコレクタの前記PANに加わるようにし、
前記加わることを反映するように前記第2のユーティリティコレクタの前記分散型台帳の前記コピーを更新し、
前記バックホールネットワークを介して前記更新を送信する、
ように更に構成される、請求項9に記載のユーティリティネットワーク。
【請求項15】
前記第1のユーティリティコレクタは、
ユーティリティコレクタのためのファームウェア更新を受信し、
前記第1のユーティリティコレクタの前記分散型台帳の前記コピーから、前記ファームウェア更新が前記第1のユーティリティコレクタに適用されていないと決定し、
前記ファームウェア更新を前記第1のユーティリティコレクタに適用し、
前記ファームウェア更新が前記第1のユーティリティコレクタに適用されたことを示す新たなブロックをインスタンス化し、
前記第1のユーティリティコレクタの前記分散型台帳の前記コピーに前記新たなブロックを追加し、
前記新たなブロックを少なくとも1つの更なるコレクタに送信する、
ように更に構成される、請求項9に記載のユーティリティネットワーク。
【請求項16】
バックホールネットワークに接続される複数のユーティリティコレクタであって、前記複数のユーティリティコレクタのそれぞれが、分散型台帳のコピーを記憶するように構成されるメモリを備える、複数のユーティリティコレクタと、
複数のパーソナルエリアネットワーク(PAN)であって、前記複数のユーティリティコレクタのそれぞれが、対応するPANに接続されるとともに、前記対応するPAN上のユーティリティデバイスの対応するセットにおけるPANコーディネータとして機能するように構成される、複数のPANと、
を備え、
前記複数のユーティリティコレクタのうちの第1のユーティリティコレクタは、
前記バックホールネットワークを介して、分散型台帳システムに加わるための要求を送信し、
前記バックホールネットワークを介して、前記複数のユーティリティコレクタの閾値割合が前記分散型台帳システムに加わるための要求を承認することを示す承認と前記分散型台帳の現在の状態とを受信し、
前記分散型台帳の前記現在の状態を使用して前記第1のユーティリティコレクタの前記分散型台帳の前記コピーをインスタンス化し、前記分散型台帳の前記現在の状態が、前記複数のPAN及び前記ユーティリティデバイスのセットに関する情報を含み、
前記第1のユーティリティコレクタと関連付けられるユーティリティデバイスに関する第1のネットワークトポロジを取得し、
前記第1のネットワークトポロジに関する情報を前記分散型台帳に記憶する、
ように構成され、
前記分散型台帳システムに加わる前記複数のユーティリティコレクタのうちの第2のユーティリティコレクタは、
前記第1のユーティリティコレクタに1つ以上のネットワークピングを送信することに応じて、前記第1のユーティリティコレクタが応答していないことを識別し、
前記第2のユーティリティコレクタの前記分散型台帳の前記コピーから、前記第1のネットワークトポロジに関する情報にアクセスし、
前記第1のネットワークトポロジに関する情報から、前記ユーティリティデバイスのセットのうちの1つ以上のユーティリティデバイスを識別し、
前記1つ以上のユーティリティデバイスが前記第2のユーティリティコレクタのPANに加わるようにする、
ように構成される、ユーティリティネットワーク。
【請求項17】
前記第2のユーティリティコレクタは、
前記第2のユーティリティコレクタの前記分散型台帳の前記コピーから、前記第2のユーティリティコレクタで実行されているアプリケーションのバージョンを決定し、
前記バージョンが現在のバージョンよりも小さいと決定することに応じて、前記現在のバージョンに対応するアプリケーション更新にアクセスするとともに、前記アプリケーション更新を前記第2のユーティリティコレクタに適用し、
前記アプリケーション更新が前記第2のユーティリティコレクタに適用されたことを示す新たなブロックをインスタンス化し、
前記第2のユーティリティコレクタの前記分散型台帳の前記コピーに前記新たなブロックを追加し、
前記新たなブロックを少なくとも1つの他のコレクタに送信する、
ように更に構成される、請求項16に記載のユーティリティネットワーク。
【請求項18】
前記分散型台帳が複数のブロックを備え、各ブロックが1つ以上のコレクタ又はユーティリティデバイス間のトランザクションを表し、
前記分散型台帳の現在の状態が前記複数のブロックを含み、
前記第1のユーティリティコレクタは、前記承認を識別する新たなブロックをインスタンス化するとともに、前記新たなブロックを前記第1のユーティリティコレクタの前記分散型台帳の前記コピーに記憶するように構成される、
請求項16に記載のユーティリティネットワーク。
【請求項19】
前記第2のユーティリティコレクタは、
前記加わることを反映するように前記第2のユーティリティコレクタの前記分散型台帳の前記コピーを更新し、
前記バックホールネットワークを介して前記更新を送信する、
ように更に構成される、請求項16に記載のユーティリティネットワーク。
【請求項20】
前記第1のユーティリティコレクタは、
ユーティリティコレクタのためのファームウェア更新を受信し、
前記第1のユーティリティコレクタの前記分散型台帳の前記コピーから、前記ファームウェア更新が前記第1のユーティリティコレクタに適用されていないと決定し、
前記ファームウェア更新を前記第1のユーティリティコレクタに適用し、
前記ファームウェア更新が前記第1のユーティリティコレクタに適用されたことを示す新たなブロックをインスタンス化し、
前記第1のユーティリティコレクタの前記分散型台帳の前記コピーに前記新たなブロックを追加し、
前記新たなブロックを少なくとも1つの他のコレクタに送信する、
ように更に構成される、請求項16に記載のユーティリティネットワーク。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般に、リソース分配システムに関し、より具体的には、ネットワークゲートウェイが分散型台帳システムを使用するリソース分配システムに関する。
【背景技術】
【0002】
現代のリソース分配システムは、相互接続されたユーティリティデバイス(例えば、ユーティリティメータ)のネットワークを使用して消費を測定し、課金及び他の目的のために消費データを中央システムに伝搬する。各ユーティリティデバイスは、一般に、通信ネットワーク(例えば、無線メッシュネットワーク)の一部に接続され、通信ネットワークの各部分はユーティリティコレクタによって管理される。次に、ユーティリティコレクタは、データを集約し、課金及び他の目的のためにデータを中央システムに渡す。
【発明の概要】
【0003】
特定の態様及び特徴は、リソース分配システム内で分散型台帳を使用するための技術を含む。一例において、ユーティリティネットワークは、バックホールネットワークに接続されるユーティリティコレクタを含む。各ユーティリティコレクタは、分散型台帳のコピーを記憶するように構成されるメモリを含む。ユーティリティネットワークはパーソナルエリアネットワーク(PAN)を含む。各ユーティリティコレクタは、対応するPANに接続されるとともに、対応するPAN上のユーティリティデバイスの対応するセットにおけるPANコーディネータとして機能するように構成される。ユーティリティコレクタのうちの第1のユーティリティコレクタは、バックホールネットワークを介して暗号鍵を要求するように構成される。第1のユーティリティコレクタは、バックホールネットワークを介して分散型台帳システムに加わるための要求を送信するように構成される。第1のユーティリティコレクタは、バックホールネットワークを介して、ユーティリティコレクタの閾値割合が分散型台帳システムに加わるための要求を承認することを示す承認と分散型台帳の現在の状態とを受信するように更に構成される。第1のユーティリティコレクタは、分散型台帳の現在の状態を使用して第1のユーティリティコレクタの分散型台帳のコピーをインスタンス化するように更に構成され、分散型台帳の現在の状態は、PAN及びユーティリティデバイスのセットに関する情報を含む。第1のユーティリティコレクタは、第1のユーティリティコレクタと関連付けられるユーティリティデバイスに関する情報を取得するように更に構成される。第1のユーティリティコレクタは、第1のユーティリティコレクタと関連付けられるユーティリティデバイスに関する情報を暗号鍵で暗号化し、その情報を分散型台帳に記憶するように更に構成される。第2のユーティリティコレクタが、ユーティリティコレクタの特定のユーティリティコレクタが応答していないことを識別するように更に構成される。第2のユーティリティコレクタは、第2のユーティリティコレクタの分散型台帳のコピーから、応答していないユーティリティコレクタのPAN内のユーティリティデバイスのセットを識別するように更に構成される。第2のユーティリティコレクタは、応答していないユーティリティコレクタのPAN内のユーティリティデバイスのセットのうちの1つ以上が第2のユーティリティコレクタのPANを加わるようにするべく更に構成される。第2のユーティリティコレクタは、第2のユーティリティコレクタの分散型台帳のコピーを更新して加わることを反映するように更に構成される。第2のユーティリティコレクタは、バックホールネットワークを介して更新を送信するように更に構成される。
【0004】
他の態様において、ユーティリティネットワークは、バックホールネットワークに接続されるユーティリティコレクタを含む。各ユーティリティコレクタは、分散型台帳のコピーを記憶するように構成されるメモリを含む。ユーティリティネットワークはパーソナルエリアネットワーク(PAN)を含む。各ユーティリティコレクタは、対応するPANに接続されるとともに、対応するPAN上のユーティリティデバイスの対応するセットにおけるPANコーディネータとして機能するように構成される。ユーティリティコレクタのうちの第1のユーティリティコレクタは、バックホールネットワークを介して暗号鍵を要求するように構成される。ユーティリティコレクタのうちの第1のユーティリティコレクタは、バックホールネットワークを介して分散型台帳システムに加わるための要求を送信するように更に構成される。ユーティリティコレクタのうちの第1のユーティリティコレクタは、バックホールネットワークを介して、ユーティリティコレクタの閾値割合が分散型台帳システムに加わるための要求を承認することを示す承認と分散型台帳の現在の状態とを受信するように更に構成される。ユーティリティコレクタのうちの第1のユーティリティコレクタは、暗号鍵を使用して、分散型台帳の現在の状態を解読するように更に構成される。ユーティリティコレクタのうちの第1のユーティリティコレクタは、分散型台帳の解読された現在の状態を使用して、第1のユーティリティコレクタの分散型台帳のコピーをインスタンス化するように更に構成される。分散型台帳の現在の状態は、PAN及びユーティリティデバイスのセットに関する情報を含む。分散型台帳システムに加わるユーティリティコレクタのうちの第2のユーティリティコレクタは、ユーティリティコレクタにおけるファームウェア更新を受信するように構成される。分散型台帳システムに加わるユーティリティコレクタのうちの第2のユーティリティコレクタは、第2のユーティリティコレクタの分散型台帳のコピーから、第2のユーティリティコレクタがファームウェア更新以外のファームウェアバージョンを使用していることを決定するように構成される。分散型台帳システムに加わるユーティリティコレクタのうちの第2のユーティリティコレクタは、第2のユーティリティコレクタにファームウェア更新を適用するように更に構成される。分散型台帳システムに加わるユーティリティコレクタのうちの第2のユーティリティコレクタは、ファームウェア更新が第2のユーティリティコレクタに適用されたことを示す新たなブロックをインスタンス化するように更に構成される。分散型台帳システムに加わるユーティリティコレクタのうちの第2のユーティリティコレクタは、第2のユーティリティコレクタの分散型台帳のコピーに、新たなブロックを追加するように更に構成される。分散型台帳システムに加わるユーティリティコレクタのうちの第2のユーティリティコレクタは、新たなブロックを少なくとも1つの他のコレクタに送信するように更に構成される。
【0005】
他の態様において、ユーティリティネットワークは、バックホールネットワークに接続されるユーティリティコレクタを含む。各ユーティリティコレクタは、分散型台帳のコピーを記憶するように構成されるメモリを含む。ユーティリティネットワークはパーソナルエリアネットワーク(PAN)を含む。各ユーティリティコレクタは、対応するPANに接続されるとともに、対応するPAN上のユーティリティデバイスの対応するセットにおけるPANコーディネータとして機能するように構成される。ユーティリティコレクタのうちの第1のユーティリティコレクタは、バックホールネットワークを介して、分散型台帳システムに加わるための要求を送信するように構成される。ユーティリティコレクタのうちの第1のユーティリティコレクタは、バックホールネットワークを介して、ユーティリティコレクタの閾値割合が分散型台帳システムに加わるための要求を承認することを示す承認と分散型台帳の現在の状態とを受信するように更に構成される。ユーティリティコレクタのうちの第1のユーティリティコレクタは、分散型台帳の現在の状態を使用して、第1のユーティリティコレクタの分散型台帳のコピーをインスタンス化するように構成される。分散型台帳の現在の状態は、PAN及びユーティリティデバイスのセットに関する情報を含む。ユーティリティコレクタのうちの第1のユーティリティコレクタは、第1のユーティリティコレクタと関連付けられるユーティリティデバイスに関する第1のネットワークトポロジを取得するように構成される。ユーティリティコレクタのうちの第1のユーティリティコレクタは、第1のネットワークトポロジに関する情報を分散型台帳に記憶するように更に構成される。分散型台帳システムに加わるユーティリティコレクタのうちの第2のユーティリティコレクタは、1つ以上のネットワークピングを第1のユーティリティコレクタに送信することに応じて、第1のユーティリティコレクタが応答していないことを識別するように構成される。分散型台帳システムに加わるユーティリティコレクタのうちの第2のユーティリティコレクタは、第2のユーティリティコレクタの分散型台帳のコピーから、第1のネットワークトポロジに関する情報にアクセスするように更に構成される。分散型台帳システムに加わるユーティリティコレクタのうちの第2のユーティリティコレクタは、第1のネットワークトポロジに関する情報から、ユーティリティデバイスのセットのうちの1つ以上のユーティリティデバイスを識別するように更に構成される。分散型台帳システムに加わるユーティリティコレクタのうちの第2のユーティリティコレクタは、1つ以上のユーティリティデバイスを第2のユーティリティコレクタのPANに加わらせるように構成される。
【0006】
これらの例示的な例は、本開示を限定又は規定するためではなく、その理解を助けるための例を提供するために言及される。更なる例及び更なる説明は、詳細な説明で提供される。
【図面の簡単な説明】
【0007】
本開示のこれら及び他の特徴、態様、及び利点は、添付図面を参照して以下の詳細な説明を読むと、より良く理解される。
図1】一態様に係るリソース分配ネットワークの典型的な通信ネットワークトポロジを示す。
図2】一態様に係る典型的な台帳を示す。
図3】一態様に係る分散型台帳システムを使用するユーティリティコレクタのシステムに加わるための典型的なプロセスを示すフローチャートである。
図4】一態様に係る分散型台帳システムを使用してユーティリティコレクタの停止から回復するための典型的なプロセスを示すフローチャートである。
図5】一態様に係るコレクタとヘッドエンドシステムとの間の典型的な信号を示す信号フロー図である。
図6】一態様に係る2つのユーティリティコレクタ間の典型的な信号を示す信号フロー図である。
図7】一態様に係るコレクタ又は計測デバイスで使用され得る典型的なコンピューティングシステムを示す。
【発明を実施するための形態】
【0008】
開示された解決策は、分散型台帳システムを使用するリソース分配ネットワークに関する。リソース分配ネットワークは、電気、ガス、又は水分配ネットワークなどのユーティリティネットワークを含む。分散型台帳システムとは、そのコピーが各デバイスに保持された台帳から集合的に動作するデバイスのシステムをいう。分散型台帳の例は、ブロックチェーンである。
【0009】
リソース分配ネットワークは、リソース消費又はリソースの状態などのパラメータを測定する多くのユーティリティデバイスを含む。リソース分配ネットワーク上のデバイスは、典型的には、1つ以上の通信ネットワークによって接続され、この通信ネットワークは、例えば課金目的又は分析のために、データを集約し、中央システムに渡すことができるメカニズムを提供する。計測デバイスのグループは、例えば地理的エリアによって別個のパーソナルエリアネットワーク(PAN)にクラスタリングすることができ、各PANは個々のゲートウェイ又はコレクタによって集約される。
【0010】
しかし、既存のシステムでは、コレクタは、各コレクタが対応するパーソナルエリアネットワーク上のユーティリティデバイスについてのみ知っており、ネットワーク全体を知らないように構成されることが多い。この構成は、本質的に、高度なアプリケーションの使用を制限する可能性がある。
【0011】
対照的に、特定の態様は、コレクタ、PAN、ユーティリティデバイス、及び他の情報の記録を維持するために分散型台帳を使用する。分散型台帳は、暗号的に安全であり得る。したがって、開示されたシステムは、より耐障害性があり、より安全であり、非中央集権型アプリケーションを可能にすることができる。例えば、分散型台帳を使用することによって、所与のユーティリティコレクタは、他のユーティリティコレクタの状態、例えば、他のユーティリティコレクタがアクティブであるかどうか、接続性に問題があるかどうか(例えば、ユーティリティデバイス)、デバイスにインストールされたファームウェア更新の現在のバージョンなどを維持することができる。あるコレクタに関してネットワーク障害が発生した場合、別のコレクタは、分散型台帳から現在の状態を取得し、任意の取り残されたデバイスとの通信を再確立することができる。更に、ネットワーク更新、デバイス更新、又はアプリケーションは、ヘッドエンドシステムからの関与を最小限にするか、又は全く伴わずに、デバイスとコレクタとの間で伝播することができる。
【0012】
ここで図を参照すると、図1は、一態様による、リソース分配ネットワークの例示的な通信ネットワークトポロジを示す。図1は、ヘッドエンドシステム102、バックホールネットワーク150、コレクタ110a~n、及びパーソナルエリアネットワーク(PAN)120a~nを含む通信ネットワーク100を示す。図1に示す例では、ヘッドエンドシステム102は、バックホールネットワーク150を介してコレクタ110a~nと通信する。バックホールネットワーク150は、有線ネットワーク(例えば、イーサネット又は光ファイバケーブル)、無線ネットワーク(例えば、セルラ)、又は両方の組み合わせとすることができる。ユーティリティデバイスは、エンドユーザプレミスに配置されてもよいが、通信ネットワークは、リソース自体ではなくデバイス間の接続性に基づいて構成されるため、通信ネットワーク100は、リソース分配ネットワーク自体のトポロジとは根本的に異なる。
【0013】
コレクタ110a~nは、それぞれパーソナルエリアネットワーク(PAN)120a~nと通信する。各コレクタ110a~nは、対応するPANのためのパーソナルエリアネットワーク(PAN)コーディネータとすることができる。例えば、コレクタ110aは、ユーティリティデバイス140a、142a、144a、及び146aと通信し、コレクタ110bは、ユーティリティデバイス140b、142b、144b、146bと通信し、コレクタ110nは、ユーティリティデバイス140n、142n、144n、及び146nと通信する。各ユーティリティデバイスは、1つ以上のPANを介して1つ以上の他のデバイスと無線通信することができる。
【0014】
PANS120a~nのそれぞれは、例示目的のために4つのユーティリティデバイスを含むが、任意の数のユーティリティデバイスが可能である。例えば、パーソナルエリアネットワークは、数百のユーティリティデバイスを含むことができる。したがって、ユーティリティデバイス間に1つ以上の異なる通信経路が存在することができる。更に、所与のユーティリティデバイスは、コレクタと直接接続しなくてもよい。PANは、WiFi、Bluetooth、ZigBee、及びIEEE802.15プロトコルなどの無線プロトコル又は専用プロトコルを使用する無線ネットワーク又は無線メッシュネットワークであり得る。
【0015】
ユーティリティデバイスは、一般に、エンドユーザ施設に(例えば、サービスの地点に)配置されたユーティリティメータであるが、電力線、変圧器、コンデンサバンクなどに接続された他の測定デバイスも含むことができる。ユーティリティデバイスは、1つ以上のコンピューティングシステムを含むことができる。したがって、ユーティリティデバイスは、計測及びリソース情報の取り込み、処理、及び送信を含むことができる高度計測インフラストラクチャ(AMI)機能などの機能を実装することができる。
【0016】
2つ以上のコレクタ110a~nは、分散型台帳システムを使用することができる。例えば、各コレクタ110a~nは、コレクタ、関連するデバイス、及びPANに関する情報を含む分散型台帳の1つ以上のコピーを維持することができる。図示のように、コレクタ110aは台帳114aを含み、コレクタ110bは台帳114bを含み、コレクタ110nは台帳114nを含む。
【0017】
各台帳114a~nは、それが記憶されているコレクタ、バックホールネットワークに接続された他のコレクタ、コレクタに対応するパーソナルエリアネットワーク上のユーティリティデバイス、又は別のパーソナルエリアネットワーク上のユーティリティデバイスに関する情報を含むことができる。分散型台帳に対する1つのコレクタ上で行われた変更又は更新は、バックホールネットワークにわたって伝搬される。分散型台帳の例は、図2に関して更に説明される。
【0018】
分散型台帳システムを使用して、コレクタ110a~nは、ヘッドエンドシステム102によって従来実行されていたタスクを実行することができる。タスクの例は、図3図6に関して更に説明される。例えば、コレクタは、分散型アプリケーションを実行し、分散型台帳システムに加わり、別のコレクタが分散型台帳システムに加わることを承認し、分散型台帳システムを離れ、1つ以上のデバイスの停止によって引き起こされる接続性の損失を回復し、又はファームウェア更新を配信することができる。コレクタ又はユーティリティデバイス内でそのような動作を実行するのに適したコンピューティングデバイスの例を図7に示す。
【0019】
各コレクタ110a~nは、1つ以上のアプリケーションを含む。図示のように、コレクタ110aはアプリケーション116aを含み、コレクタ110bはアプリケーション116bを含み、コレクタ110nはアプリケーション116nを含む。コレクタは、それぞれが分散方式で動作することができる1つ以上のアプリケーションを実行することができる。アプリケーションの例は、データ分析を実行すること、又はソフトウェアもしくはファームウェアの更新を分配することを含む。
【0020】
図2は、一態様に係る例示的な台帳を示す。図2は、台帳200を示す。台帳200は、台帳114a~nの一例である。台帳200は、コレクタ110a~nに関する情報、コレクタ110a~nによって管理されるPAN上のユーティリティデバイス、他のデバイスから取得されたユーティリティ情報、コレクタ又はユーティリティデバイスが実行しているファームウェアのバージョンなどを記憶するために使用することができる。図3及び図4に関して更に説明するように、そのような情報は、分散型台帳システムに加わる及び/又はコレクタ障害から回復するために使用することができる。
【0021】
台帳200は、テーブル、リンクリスト、ブロックチェーン、又は任意の他のデータ構造として編成することができる。ブロックチェーンとは、暗号を使用してリンク及び保護することができる、連続的に増加するレコード又はブロックのリストを指す。例えば、図示のように、台帳200は、ブロック210a~nを含むブロックチェーンに編成される。したがって、台帳200は、ブロックチェーン又はブロックチェーンデータ構造とも呼ばれ得る。3つのブロックが示されているが、任意の数のブロックが可能である。
【0022】
ブロック210a~nは、異なるタイプのものとすることができ、任意のコレクタによって読み書きすることができる。更に、ブロックは、コレクタ110a~nのうちの1つ以上によって、又は他のデバイスによって台帳に追加されてもよい。例えば、第1のコレクタは、情報を第2のコレクタに送信したことを示すブロックを追加することができる。次いで、第2のコレクタは、情報が第1のコレクタから受信されたことを示す別のブロックを追加することができる。
【0023】
各ブロック210a~nは、1つ以上のフィールドを含む。各フィールドは、コレクタ又はユーティリティデバイスに関する情報又はそれに関連するトランザクションを含むことができる。例えば、ブロック210aは、トランザクション識別子フィールド212aと、MACアドレスフィールド214aと、PANネットワーク識別子フィールド216aと、ファームウェアバージョンフィールド218aと、最後の通信フィールド220aと、関連付けられたデバイスフィールド222aと、バックホール接続状態224aと、アプリケーションバージョン226aと、メッセージ228aと、リンク品質指標(LQI)230aと、容量測定232aと、低電力損失ネットワークのためのルーティングプロトコル(RPL)トポロジ234aと、ブロックタイプ236aとを含み、ブロック210bは、トランザクション識別子フィールド212bと、MACアドレスフィールド214bと、PANネットワーク識別子フィールド216bと、ファームウェアバージョンフィールド218bと、最後の通信フィールド220bと、関連付けられたデバイスフィールド222bと、バックホール接続状態224bと、アプリケーションバージョン226bと、メッセージ228bと、リンク品質指標(LQI)230bと、容量測定232bと、低電力損失ネットワークのためのルーティングプロトコル(RPL)トポロジ234bと、ブロックタイプ236bとを含み、ブロック210nは、トランザクション識別子フィールド212nと、MACアドレスフィールド214nと、PANネットワーク識別子フィールド216nと、ファームウェアバージョンフィールド218nと、最後の通信フィールド220nと、関連付けられたデバイスフィールド222nと、バックホール接続状態224nと、アプリケーションバージョン226nと、メッセージ228nと、リンク品質指標(LQI)230nと、容量測定232nと、低電力損失ネットワークのためのルーティングプロトコル(RPL)トポロジ234nと、ブロックタイプ236nとを含む。更なるフィールドが可能である。
【0024】
トランザクション識別子フィールド212a~nはそれぞれ、対応するブロックに関連付けられたトランザクションを識別する。トランザクション識別子の例には、特定のトランザクションが受信又は処理された順序を示す連番、又はトランザクションが記録されたときのタイムスタンプが含まれる。
【0025】
MACアドレスフィールド214a~nは、それぞれのブロックに関連付けられたデバイスの媒体アクセス層(MAC)アドレスである。例えば、ブロックが、コレクタ110aが分散型台帳に加わったトランザクションを表す場合、対応するMACアドレスフィールド214aは、コレクタ110aのMACアドレスであり得る。
【0026】
PANネットワーク識別子フィールド216aは、特定のデバイスが動作しているPANに対応するコレクタの識別子(例えば、MACアドレス)である。対応するMACアドレスフィールド214a~n及びPANアドレスフィールド216a~nは、対応するブロックを作成したコレクタに関連付けることができる。
【0027】
各ファームウェアバージョンフィールド218a~nは、対応するデバイス上で動作している特定のファームウェアのバージョン番号である。この情報は、コレクタがコレクタ又はユーティリティデバイスのファームウェアを更新させることを容易にする。
【0028】
各最後の通信フィールド220a~nは、特定のデバイスの最後の既知の通信の時間とすることができる。各関連デバイスフィールド222a~nは、トランザクション又はブロックに関連する1つ以上のデバイスを指す。例えば、ブロックがネットワークに加わるコレクタを指す場合、関連付けられたデバイスフィールドは、特定のコレクタのPAN上のユーティリティデバイスを含むことができる。
【0029】
各バックホール接続状態フィールド224a~nは、バックホール接続の状態を示す。例えば、所与のブロックがコレクタに関連付けられている場合、対応するバックホール接続状態フィールドは、そのコレクタがバックホールに接続されているかどうかを示す。場合によっては、接続状況フィールド224a~nの値は、バックホールが接続されている(例えば、1)か、切断されている(例えば、0)か、又は接続状況が不明である(例えば、9)かを示す番号を含む。
【0030】
各アプリケーションバージョンフィールド226a-nは、対応するコレクタ上で実行されている現在のアプリケーションのバージョンを示す。各コレクタは、1つ以上のアプリケーションを実行することができる。アプリケーションは、コレクタ上で実行される基礎となるファームウェアとは異なる。アプリケーションバージョンは、コレクタがアプリケーションの最新バージョンを実行しているかどうかを確認し、それに応じてアプリケーションを更新するためにコレクタによって使用され得る。
【0031】
各メッセージフィールド228a~nは、ヘッドエンドシステムに転送されるメッセージ又はメッセージのアレイへの参照を含む。例えば、各メッセージフィールド228a~nは、ヘッドエンドシステムに転送されるべきそのコレクタのためのPAN内のユーティリティデバイスから生じる読み取り値又はイベントデータを含む。
【0032】
各リンク品質指標(LQI)フィールド230a~nは、対応するPAN内のデバイスのバックホール又は品質指標のいずれかの品質を示す。LQIフィールドは、PAN内のデバイスの平均又は集約されたLQIを使用することができる。一態様では、リンク品質が閾値レベルを下回った場合、コレクタは、トラフィックを再ルーティングし得る。
【0033】
低電力損失ネットワークのための各ルーティングプロトコル(RPL)トポロジフィールド234a~nは、対応するPANに関するルーティング情報を含む。例えば、RPLトポロジフィールド234a~nは、PANデバイスの論理ツリー及びPAN内に形成されたリンク層の数を示すトポロジグラフを含むことができる。このようにして、第1のコレクタが接続性を失った場合、第2のコレクタは、台帳から第1のコレクタのPANのトポロジを容易に決定することができる。
【0034】
各容量測定フィールド232a~nは、対応するPANの容量を示す。一例では、容量測定フィールド232a~nは、PAN上のデバイスの数を含むことができる。これは、負荷分散、負荷遮断、PANにわたるデバイスの分割、又はヘッドエンドシステムへのエラーの警告などの動作を実行するためにアプリケーションによって使用され得る。
【0035】
各ブロックタイプフィールド236a~nは、特定のブロックのタイプを示す。ブロックタイプの例には、新しいデバイスブロック(新しいデバイスがPANに加わったことを示す)、新しいコレクタブロック(新しいコレクタがバックホールネットワークに加わったことを示す)、デバイスオフラインブロック(デバイスがオフライン又は切断されたように見えたことを示す)、及び新しいコレクタ要求ブロック(新しいコレクタが分散型ネットワークに加わるのを要求したことを示す)が含まれる。
【0036】
分散型台帳がブロックチェーンとして実装される態様では、各ブロック210a~nは、前のブロックの暗号ハッシュ、タイムスタンプトランザクション、及び他の情報を含む。各ブロックは、ユーティリティデバイス又はコレクタのトランザクションに対応することができる。トランザクションは、情報の転送を表す署名されたデータ構造とすることができる。トランザクションの例には、ネットワークに加わること、ネットワークを離れること、メッセージを送信すること、及び暗号鍵を要求することが含まれる。したがって、台帳200は、ブロック210a~nに記憶されるデータの変更に対して本質的に耐性を持たせることができる。場合によっては、記録されると、任意の所与のブロック内のデータは、全ての後続のブロックの変更なしに遡及的に変更することはできず、ネットワークデバイスの閾値割合(例えば、多数又は複数)の合意を必要とする可能性がある。このようにして、古いトランザクションに関連付けられたデータを変更することは実行不可能である。これは、そのような変更が、変更が望まれるブロックを含む後続のトランザクション/ブロックごとにハッシュの再生成を必要とするからである。
【0037】
台帳200内の全てのノードは、全体として、例えば、他のデバイス(他のコレクタ110a~nなど)上の台帳のコピーで、分散型台帳と同期することができる。同期は、バックホールネットワークを介して台帳の1つ以上のブロックを送信することを含むことができる。同期が完了した後、他のコレクタは、台帳全体の同じコピーに対して全く同じコピー又はアクセスを有する。更に、任意のコレクタは、ブロック210a~nに埋め込まれたハッシュに対して暗号化操作を実行することによって、台帳の信頼性及び整合性を検証することができる。
【0038】
台帳200の現在の状態は、全てのブロック210a~nを含む。したがって、現在の状態は、各PAN上のユーティリティデバイス、各トランザクションがデバイスを追加又は削除すること、各デバイスのファームウェアの現在のバージョンなどの複数のPANに関する情報を含む。台帳の現在の状態は、新しいコレクタが分散型台帳システムに加わることができるようにするなど、様々な目的のために決定することができる。
【0039】
1つ以上の分散型アプリケーションがプロセスを実装することができ、又はアルゴリズムを自動化してネットワーク上のノード間で共有することができる。例えば、コレクタは、1つ以上の他のコレクタを監視することができる。第1のコレクタは、インターネット制御メッセージプロトコル(IMCP)ピングを1つ以上の他のコレクタに周期的に送信して、他のコレクタがバックホールネットワークに接続されているかどうかを決定することができる。別の例では、各コレクタは、他のコレクタに定期的に更新を送信することができる。このような更新は、分散型台帳に記録することができる。1つ以上のコレクタは、定期的な更新をヘッドエンドシステムに送信することができる。
【0040】
別の例では、第1のコレクタは、第2のコレクタからのデータフローを検証することができる。閾値時間にわたってデータが報告されない場合、警告を発することができる。
【0041】
ネットワークの分散された性質を考えると、そのようなプロセス又はアルゴリズムは、ネットワーク上でイベントがトリガされたときに特定の信頼性で実行することができる。イベントの例は、特定の時間に到達したこと(例えば、夜遅く)、又はヘッドエンドシステムからの更新である。そのようなプロセス又はアルゴリズムは、1つ以上のコレクタ上で実行することができる。このようにして、ネットワークは、ヘッドエンドシステムに依存することなく自律的に動作することができる。更に、ネットワークの非中央集権型の性質により、これらのアプリケーションは、全てのコレクタ上で複製する必要なしに、コレクタ上で実行し、ネットワーク全体で共有することができる。この手法は、ファームウェアのアップグレードの時間を短縮することができ、それによってネットワークのアップタイムを長く保つ。
【0042】
分散型台帳システムの一部ではないコレクタは、システムに加わることを要求することができる。そのようなプロセスの一例を図3に記載する。
【0043】
図3は、一態様に係る分散型台帳システムを使用してユーティリティコレクタのシステムに加わるための例示的なプロセス300を示すフローチャートである。プロセス300に記載された動作は、異なる順序で実行することができ、及び/又はプロセス300の1つ以上の動作を実行する必要はないことが理解され得る。プロセス300は、分散型台帳システムの一部ではなく、システムに加わることを望むコレクタによって使用することができる。
【0044】
例示目的のために、プロセス300は、コレクタ110aが台帳200のコピー上で動作することによって実行されるものとして説明される。しかし、プロセス300は、任意のコレクタ110a~nによって実行することができる。コレクタは、分散型台帳システムに加わるのとは別に、又はそれと共にバックホールネットワークに加わることができる。例えば、場合によっては、プロセス300が開始される前に、コレクタ110aは、バックホールネットワークに加わることができ、ヘッドエンドシステム102と通信することができる。別の例では、コレクタ110aは、プロセス300の一部として、例えば分散型台帳に加わるための要求により、バックホールネットワークに加わることができる。
【0045】
ブロック302において、プロセス300は、バックホールネットワークを介して暗号鍵を要求することを含む。暗号鍵により、ユーティリティコレクタは、分散型台帳のコピー及び/又は分散型台帳のコピー内のブロックを暗号化することができる。例示の目的のために、暗号鍵は、ヘッドエンドシステム102から要求されるものとして説明されているが、暗号鍵は、コレクタ110b~nのうちの1つなどの別のデバイスから要求することができる。
【0046】
引き続き例を続けると、コレクタ110aは、バックホールネットワーク150を介してヘッドエンドシステム102に暗号鍵を要求する。そして、ヘッドエンドシステム102は、暗号鍵をコレクタ110aに送信する。コレクタが暗号鍵を受信すると、コレクタは分散型台帳システムに加わることを要求することができる。
【0047】
暗号鍵を要求及び/又は送信するトランザクションは、台帳に記憶することができる。例えば、異なるコレクタ、例えばコレクタ110bは、トランザクションを表すブロック(例えば、ブロック210a~n)をインスタンス化又は作成することができる。コレクタ110b(又は要求を行わなかった別のコレクタ)は、生成されたブロックを分散型台帳のコピーに記憶することができる。更新は、バックホールネットワークを介して他のコレクタに自動的に伝搬され得る。場合によっては、コレクタ110aは、暗号鍵が受信されたという確認応答を別のコレクタに送信し、トランザクションを記録させることができる。
【0048】
ブロック304において、プロセス300は、バックホールネットワークを介して、分散型台帳システムに加わるための要求を送信することを含む。要求は、他のコレクタ110b~nに直接送信されるか、又は単一のコレクタに送信されることができ、このコレクタは、その後、他のコレクタに要求を伝搬する。
【0049】
引き続き例を続けると、コレクタ110aは、バックホールネットワーク150を介して分散型台帳システムに加わるための要求を送信する。要求は、コレクタ110aのMACアドレス及び/又はアプリケーションバージョン226aなどのコレクタ110aに関する情報を含むことができる。
【0050】
場合によっては、ブロック302及び304を組み合わせることができる。したがって、暗号鍵の要求と分散型台帳に加わるための要求とを同じ要求で送信することができる。
【0051】
特定のコレクタが分散型台帳システムに加わることができるかどうかの決定は、ヘッドエンドシステム102、コレクタ110b~nのうちの1つ以上、又はそれらの何らかの組み合わせによって行うことができる。例えば、決定は、コレクタ110aがヘッドエンドシステム102又はコレクタ110b~nによって記憶された事前承認済みアクセスリストにあるかどうかに基づくことができる。場合によっては、決定は、ヘッドエンドシステム102からの情報に基づいてコレクタ110b~nによって行うことができ、及び/又はコレクタに提供することができる。例えば、ヘッドエンドシステム102は、コレクタ110aに暗号鍵を提供することができ、コレクタ110b~nによる承認は、暗号鍵を有するコレクタ110aに基づくことができる。
【0052】
別の例では、コンセンサス手法を使用して、特定のコレクタが既存の分散型台帳システムに加わることができるかどうかを決定することができる。コンセンサス手法は、コレクタに照会することを含む。この手法では、システムに加わるための要求の承認は、特定の閾値、例えば、特定の数又は割合のユーティリティコレクタが要求を承認することを必要とする場合がある。コレクタの適切な閾値の例には、大部分のコレクタ、複数のコレクタなどが含まれる。コンセンサス手法は、RAFTコンセンサスアルゴリズム(RAFT)、Paxosプロトコル、又はビザンチンフォールトトレランスプロトコル(pBFT、sBFT、dBFT)などの1つ以上の方法を含むことができる。コンセンサス方法は、コレクタ110b~nが、要求コレクタ110aによって提出された要求トランザクションの有効性について合意できるようにする。
【0053】
ブロック306において、プロセス300は、バックホールネットワークを介して、分散型台帳システムに加わるための要求の承認及び分散型台帳の現在の状態を受信することを含む。
【0054】
続いて、コレクタ110aは、分散型台帳システムに加わるための承認を受け付ける。このとき、コレクタ110aは、分散型台帳システムの利用を開始することができ、例えば、分散型台帳のコピーにアクセスしたり、他のコレクタと通信したりすることができる。承認を反映する更新は、台帳のブロックに記憶することができ、更新はバックホールネットワークを介して他のコレクタに自動的に伝搬される。
【0055】
台帳には、分散型台帳に加わることを要求している又は分散型台帳に加わっているトランザクションを示すブロックを記憶することができる。例えば、コレクタ110aは、ブロック(例えば、ブロック210a~n)をインスタンス化し、生成されたブロックを分散型台帳のコピーに記憶することができる。
【0056】
ブロック308において、プロセス300は、分散型台帳の現在の状態を使用して第1のユーティリティコレクタの分散型台帳のコピーを作成することを含み、分散型台帳の現在の状態は、複数のPAN及びユーティリティデバイスのセットに関する情報を含む。例を続けると、コレクタ110aは、台帳の現在の状態を使用して分散型台帳のコピーをインスタンス化する。
【0057】
ブロック310において、プロセス300は、第1のユーティリティコレクタと関連付けられるユーティリティデバイスに関する情報を有するブロックを作成することを含む。引き続き例を続けると、PAN120aと通信するコレクタ110aは、ユーティリティデバイス140n、142n、144n、及び146nに関する情報を含むブロックを作成する。コレクタ110aは、このブロックを分散型台帳に書き込み、他のコレクタ110b-nに伝播させる。
【0058】
ブロック312において、プロセス300は、第1のユーティリティコレクタと関連付けられるユーティリティデバイスに関する情報を有するブロックを暗号鍵で暗号化することを含む。続いて、コレクタ110aは、分散型台帳のコピーを暗号化して保存する。コレクタ110aは、台帳の暗号化されたコピーをコレクタ110a内のメモリに保存することができる。場合によっては、コレクタ110aは、外部又はネットワークデバイスに台帳のコピーを記憶することができる。
【0059】
分散型台帳システムを利用するユーティリティコレクタの利点は、障害回復である。原因の例には、ユーティリティデバイスのハードウェア障害、電源障害、又はネットワーク接続の問題が含まれる。例えば、コレクタがオフラインになっている場合、コレクタがコーディネータであるPAN上のユーティリティデバイスは、もはやそれらの消費データをヘッドエンドシステムに通信することができない可能性があり、したがって、ユーティリティ会社は、課金データを手動で収集しなければならない可能性があり、又は課金データは、ヘッドエンドシステムへの配信が遅延される。分散型台帳を使用することによって、ユーティリティネットワークは、コレクタがオフラインであると決定することができ、1つ以上の他のコレクタは、取り残されたユーティリティメータを異なるPANに再接続させることができる。図4は、そのようなケースを取り扱うためのプロセスの一例を示す。
【0060】
図4は、一態様に係る分散型台帳システムを使用してユーティリティコレクタの停止から回復するための例示的なプロセス400を示すフローチャートである。プロセス400に記載された動作は、異なる順序で実行することができ、及び/又はプロセス400の1つ以上の動作を実行する必要はないことが理解され得る。
【0061】
ブロック402において、プロセス400は、特定のユーティリティコレクタが応答していないことを識別することを含む。例示目的のために、プロセス400はコレクタ110bによって実行されるものとして説明される。例えば、コレクタ110bは、コレクタ110aにメッセージを送信する。コレクタ110bは、所定の時間待機することができる。この時間の後に応答がない場合、コレクタ110bはコレクタ110aに再度到達しようと試みることができる。所定の時間量及び/又は試行回数の後、コレクタ110bは、コレクタ110aが利用不可能であるとみなすことができる。
【0062】
応答していないコレクタの決定を反映する更新は、台帳のブロックに記憶することができ、更新はバックホールネットワークを介して他のコレクタに自動的に伝搬される。例えば、コレクタ110bは、コレクタ110aが応答していないという表示を含む新たなブロックをインスタンス化し、新たなブロックをコレクタ110bの分散型台帳のコピーに記憶することができる。
【0063】
ブロック404において、プロセス400は、第2のユーティリティコレクタの分散型台帳のコピーから、応答していないユーティリティコレクタのPAN内のユーティリティデバイスのセットを識別することを含む。例えば、コレクタ110bは、コレクタ110bに記憶された分散型台帳のコピーにアクセスする。分散型台帳のコピーから、コレクタ110bは、コレクタ110aに関連付けられたPAN、例えばPAN120aを決定する。コレクタ110bは、PAN120a上で識別されたユーティリティデバイスを決定する。台帳200がブロックチェーンに記憶され、台帳に記憶された1つ以上のPAN上の全てのユーティリティデバイスを示すトランザクションが存在する場合、コレクタ110bは、台帳200内のブロックをステップスルーし、PAN120aに関連付けられたデバイスのリストを形成する。他の場合には、台帳200は、各ユーティリティデバイスのアイデンティティを示すトランザクションを有していなくてもよく、ブロック404は、応答していないコレクタに以前に接続された各ユーティリティデバイスのアイデンティティを決定するために、他のデータ構造又はデバイスへのクエリを含むことができる。
【0064】
応答していないコレクタの決定を反映する更新は、台帳のブロックに記憶することができ、更新はバックホールネットワークを介して他のコレクタに自動的に伝搬される。
【0065】
ブロック406において、プロセス400は、応答していないユーティリティコレクタのPAN内のユーティリティデバイスのセットのうちの1つ以上をPAN120bに加わらせることを含む。コレクタ110bは、PAN120aの各ユーティリティデバイスとの通信を試みる。コレクタ110bがユーティリティデバイスに到達することに成功した場合、コレクタ110bは、ユーティリティデバイスをPAN120bなどの異なるPANに接続させる。どのPANを接合するかの決定は、最小距離又は最大検出信号強度を有する別のコレクタをユーティリティデバイスが決定することによって行うことができる。コレクタ110bは、PAN120aに関連付けられた全てのユーティリティデバイスが異なるPANに再割り当てされるまで、このプロセスを継続する。コレクタ110aのPANは破壊され、関連するユーティリティデバイスはPAN120bに移動する。
【0066】
PAN120bへの新たなユーティリティデバイスの追加を反映した更新は、台帳のブロックに記憶することができ、更新はバックホールネットワークを介して他のコレクタに自動的に伝搬される。例えば、コレクタ110bは、特定のデバイスがPAN120bに接触、到達、及び/又は追加されたという表示を含む新たなブロックをインスタンス化することができる。次に、コレクタ110bは、コレクタ110bの分散型台帳のコピーに新たなブロックを記憶することができる。
【0067】
ブロック408において、プロセス400は、加わることを反映するために第2のユーティリティの分散型台帳のコピーを更新することを含む。コレクタ110bは、その変更を反映するように台帳を更新する。例えば、コレクタ110bは、ブロックを追加して、既にPAN120a上の及びこの時点では別のPAN上の各ユーティリティデバイスを反映する。
【0068】
ブロック410において、プロセス400は、バックホールネットワークを介して更新を送信することを含む。コレクタ110bは、他のコレクタ110c~nが変更にアクセスし、それらのそれぞれの台帳を更新することができるように、バックホールネットワークを介して更新された台帳及び/又はブロックを送信する。
【0069】
一態様において、分散型台帳システムは、コレクタ及び/又はユーティリティデバイスのファームウェア更新を分散又は管理するために使用することができる。例えば、所与のコレクタは、別のコレクタ110a~n又はヘッドエンドシステム102からファームウェア更新を受信することができる。次いで、コレクタは、台帳を読み取ることによってファームウェアが適用されたかどうかを決定することができる。ファームウェアがファームウェア更新のバージョン以外のファームウェアバージョンである場合、コレクタは、それ自体のファームウェアを更新し、及び/又はファームウェアを他のコレクタに伝播することができる。
【0070】
ファームウェアの可用性を反映する更新又は更新は、台帳の1つ以上のブロックに記憶することができ、バックホールネットワークを介して他のコレクタに自動的に伝搬することができる。例えば、コレクタ110bは、コレクタ110bのファームウェアが更新されたという表示を含む新たなブロックをインスタンス化することができる。
【0071】
同様のプロセスを、個々のユーティリティデバイスへのファームウェア更新にも採用することができる。例えば、コレクタ110aは、ヘッドエンドシステム102から更新されたユーティリティデバイスファームウェアの表示を受信することができる。次に、コレクタ110aは、PAN120a上のユーティリティデバイス(例えば、ユーティリティデバイス140a、142a、144a、及び146a)に、更新されたファームウェアを受信させ、更新されたファームウェアをインストールさせる。次いで、ファームウェア自体又はファームウェアの可用性の表示を他のコレクタに伝搬することができ、他のコレクタは、接続された他のユーティリティデバイスを更新させることができる。これらの更新は台帳に記録することができ、変更はネットワーク全体に伝搬される。
【0072】
別の例では、コレクタ110a~nは、コレクタ(例えば、PANを介して)に接続されたユーティリティメータに直接ファームウェア更新を提供することができる。例えば、コレクタ110aは、更新されたユーティリティデバイスファームウェアの表示を台帳又は別のコレクタから受信することができる。次に、コレクタ110aは、PAN120a上のユーティリティデバイス(例えば、ユーティリティデバイス140a、142a、144a、及び146a)に、更新されたファームウェアを受信させ、更新されたファームウェアをインストールさせる。
【0073】
更に別の例では、コレクタ110a~nは、コレクタ上で実行されているアプリケーションソフトウェアを更新することができる。例えば、第1のコレクタは、分散型台帳のコピーから、第1のコレクタ(又は別のコレクタ)上で実行されているアプリケーションのバージョンを決定することができる。バージョンが現在のバージョン未満である場合、第1のコレクタは、現在のバージョンに対応するアプリケーション更新にアクセス又はダウンロードし、アプリケーション更新を第1のコレクタに適用することができる。第1のコレクタは、アプリケーション更新が適用されたことを示す新たなブロックと、新たなブロックと、分散型台帳の対応するコピーとをインスタンス化することができる。次いで、ブロックをコレクタ間で伝播させることができる。
【0074】
図5は、一態様に係るコレクタとヘッドエンドシステムとの間の典型的な信号を示す信号フロー図500である。信号フロー図500は、コレクタ510とヘッドエンドシステム502との間の信号の例を示す。これらの信号は、分散型台帳システムに加わることを要求して分散型台帳システムに加わっているコレクタ510の一部として発生し得る。場合によっては、コレクタ510は既にバックホールネットワークの一部である。他の場合には、コレクタ510は、分散型台帳システムに加わるプロセスの一部としてバックホールネットワークに加わるように要求することができる。
【0075】
図3に関して説明したように、ヘッドエンドシステムを含むこれらの動作の一部又は全ては、代わりに、既に分散型台帳システムの一部である別のコレクタを使用することができる。
【0076】
最初に、コレクタ510は、ヘッドエンドシステム502に要求520を送信する。要求は、コレクタ510のネットワークアドレス、タイプ、製造業者などのコレクタ510に関する情報を含むことができる。
【0077】
次に、動作522において、ヘッドエンドシステム502は、コレクタ510が分散型台帳システムに加わることを許可されていることを検証することによって登録を処理する。例えば、ヘッドエンドシステム502は、コレクタ510がコレクタの承認済みデータベース内にあることを検証する。
【0078】
それに応じて、動作524において、ヘッドエンドシステム502は、応答をコレクタ510に送信する。コレクタ510が分散型台帳システムに加わるのをヘッドエンドシステム502が承認する場合、応答は、承認を含むとともに、台帳とともに使用するための暗号鍵を含むことができる。コレクタ510が分散型台帳システムに加わるのをヘッドエンドシステム502が承認しない場合、応答は、承認がないことを示し、暗号鍵を含まない。承認により、1つ以上のブロックを分散型台帳に書き込むことができる。
【0079】
前述したように、場合によっては、登録の検証は、コレクタのコンセンサス方法に依存し得る。他の場合には、ヘッドエンドシステム502は、コレクタ510が加わることができるかどうかを決定し、次いで許可をコレクタのうちの1つ以上に送信することができる。
【0080】
例を続けると、コレクタ510が分散型台帳システムに加わることを承認された場合、コレクタ510は動作526においてそうする。
【0081】
図6は、一態様に係る2つのユーティリティコレクタ間の典型的な信号を示す信号フロー図600である。信号フロー図600は、コレクタ610aと610bとの間の信号の例を示す。
【0082】
図示の例では、コレクタ610bは、コレクタ610aに1つ以上の要求620~624を送信する。例えば、コレクタ610bは、第1の要求620を送信し、一定期間待つことができる。応答が受信されない場合、コレクタ610bは第2の要求622を送信し、以下同様である。コレクタ610bは、所定数の要求の後、コレクタ610aが利用不可であると決定する。この時点で、コレクタ610aは、例えば、1つ以上のコレクタ上で実行されている分散型アプリケーションを介して、アクションを実行するか、又は別のコレクタにアクションを実行させることができる。
【0083】
動作626において、コレクタ610bは、コレクタ610aに関連付けられたユーティリティデバイスを決定する。この決定は、コレクタ610bに記憶された分散型台帳のコピーにアクセスすることで行うことができる。例えば、コレクタ610bは、台帳のコピー内のブロックをステップスルーして、コレクタ610aに関連付けられたPANに加わった全てのユーティリティデバイスを決定することができる。
【0084】
動作628において、コレクタ610bは、動作626において識別されたデバイスのそれぞれと接続する。コレクタ610bは、各デバイスが動作可能なPANに加わるようにする。取り残されたデバイスは、例えば、それぞれのデバイスからの信号強度又は距離に基づいて、1つ以上のPANに加わることができる。
【0085】
図7は、一態様に係るコレクタ又は計測デバイスで使用すれ得る典型的なコンピューティングシステムを示す。本明細書に記載の動作を実行するために、任意の適切なコンピューティングシステムを使用することができる。図示のコンピューティングシステム700の例は、1つ以上のメモリデバイス704に通信可能に結合されたプロセッサ702を含む。プロセッサ702は、メモリデバイス704に記憶されたコンピュータ実行可能プログラムコード730を実行するか、メモリデバイス704に記憶されたデータ720にアクセスするか、又はその両方である。プロセッサ702の例は、マイクロプロセッサ、特定用途向け集積回路(「ASIC」)、フィールドプログラマブルゲートアレイ(「FPGA」)、又は任意の他の適切な処理デバイスを含む。プロセッサ702は、単一の処理デバイスを含む、任意の数の処理デバイス又はコアを含むことができる。コンピューティングシステムの機能は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの組み合わせで実現することができる。
【0086】
コンピューティングシステム700は、リソース分配ネットワークのリソースに関するパラメータを測定するように構成されたセンサ750を含むことができる。例えば、配電システムでは、センサ750は、消費電力、電圧、電流などを測定することができる。ガス分配システムでは、センサ750は流量を測定することができる。幾つかの態様では、コンピューティングシステム700は、複数のセンサを含むことができる。例えば、コンピューティングシステム700は、電力及び温度センサの両方を含むことができる。
【0087】
コンピューティングシステム700は、リソース調整デバイス711を含むことができる。リソース調整デバイス711は、電力、水、ガスなどのリソースを制御するように構成される。リソース調整デバイス711は、リソースを切断、再接続、減速、高速化し、又は他の方法で調整することができる。幾つかの実施形態では、リソース調整デバイス711は、コンピューティングシステム700から遠隔に配置されてもよい。
【0088】
メモリデバイス704は、データ、プログラムコード、又はその両方を記憶するための任意の適切な非一時的コンピュータ可読媒体を含む。コンピュータ可読媒体は、プロセッサにコンピュータ可読命令又は他のプログラムコードを提供することができる任意の電子、光学、磁気、又は他の記憶デバイスを含むことができる。コンピュータ可読媒体の非限定的な例は、フラッシュメモリ、ROM、RAM、ASIC、又は処理デバイスが命令を読み取ることができる任意の他の媒体を含む。命令は、例えば、C、C++、C#、VisualBasic、Java、又はスクリプト言語を含む任意の適切なコンピュータプログラミング言語で書かれたコードからコンパイラ又はインタプリタによって生成されたプロセッサ固有の命令を含むことができる。
【0089】
コンピューティングシステム700は、入力又は出力デバイスなどの幾つかの外部又は内部デバイスを含むこともできる。例えば、コンピューティングシステム700は、1つ以上の入力/出力(「I/O」)インタフェース708と共に示される。I/Oインタフェース708は、入力デバイスから入力を受け取るか、又は出力デバイスに出力を提供することができる。1つ以上のバス706もコンピューティングシステム700に含まれる。バス706は、コンピューティングシステム700のそれぞれの構成要素のうちの1つ以上の構成要素を通信可能に結合する。
【0090】
コンピューティングシステム700は、診断ポート707を含むこともできる。診断ポート707は、例えば、機器ベンダー又は公益事業会社によって、コンピューティングシステムが正しく動作しているかどうかを決定するために、又は問題を診断及び修正するために、又はコンピューティングシステム700のファームウェアのアップグレードを実行するために使用され得る。
【0091】
コンピューティングシステム700は、本明細書に記載の動作のうちの1つ以上を実行するようにプロセッサ702を構成するプログラムコード730を実行する。例えば、プログラムコード730は、プロセッサに図3に記載された動作を実行させる。
【0092】
コンピューティングシステム700は、ネットワークインタフェースデバイス710も含む。ネットワークインタフェースデバイス710は、1つ以上のデータネットワークへの有線又は無線データ接続を確立するのに適した任意のデバイス又はデバイスのグループを含む。ネットワークインタフェースデバイス710は、無線デバイスであってもよく、アンテナ714を有してもよい。コンピューティングシステム700は、ネットワークインタフェースデバイス710を使用してデータネットワークを介して、コンピューティングシステム又は他の機能を実装する1つ以上の他のコンピューティングデバイスと通信することができる。ネットワークインタフェースデバイス710は、コレクタ110a~n、PAN120a~n、ユーティリティデバイス140a~nなどとの通信を可能にする。
【0093】
コンピューティングシステム700は、表示デバイス712を含むこともできる。表示デバイス712は、LCD、LED、タッチスクリーン、又はコンピューティングシステム700に関する情報を表示するように動作可能な他のデバイスとすることができる。例えば、情報は、コンピューティングシステムの動作状態、ネットワーク状態などを含むことができる。
【0094】
本主題をその特定の態様に関して詳細に説明してきたが、当業者は、上記の理解を達成すると、そのような態様の変更、変形、及び均等物を容易に生成することができることが理解され得る。したがって、本開示は、限定ではなく例示の目的で提示されており、当業者には容易に明らかになるような本主題へのそのような修正、変形、及び/又は追加の包含を排除するものではないことを理解すべきである。
図1
図2
図3
図4
図5
図6
図7
【国際調査報告】