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

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

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

特表2024-512738ユーティリティエンドポイントにおける分離開発モードの使用可能化
<>
  • 特表-ユーティリティエンドポイントにおける分離開発モードの使用可能化 図1
  • 特表-ユーティリティエンドポイントにおける分離開発モードの使用可能化 図2
  • 特表-ユーティリティエンドポイントにおける分離開発モードの使用可能化 図3
  • 特表-ユーティリティエンドポイントにおける分離開発モードの使用可能化 図4
  • 特表-ユーティリティエンドポイントにおける分離開発モードの使用可能化 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-03-19
(54)【発明の名称】ユーティリティエンドポイントにおける分離開発モードの使用可能化
(51)【国際特許分類】
   G06F 21/57 20130101AFI20240312BHJP
   G06F 21/44 20130101ALI20240312BHJP
   G06F 21/74 20130101ALI20240312BHJP
【FI】
G06F21/57
G06F21/44
G06F21/74
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023560669
(86)(22)【出願日】2022-03-29
(85)【翻訳文提出日】2023-11-28
(86)【国際出願番号】 US2022022362
(87)【国際公開番号】W WO2022212388
(87)【国際公開日】2022-10-06
(31)【優先権主張番号】17/217,812
(32)【優先日】2021-03-30
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.BLUETOOTH
2.ZIGBEE
3.VISUAL BASIC
4.JAVA
(71)【出願人】
【識別番号】523325484
【氏名又は名称】ランディス・ギア・テクノロジー・インコーポレイテッド
【氏名又は名称原語表記】LANDIS+GYR TECHNOLOGY, INC.
(74)【代理人】
【識別番号】100145403
【弁理士】
【氏名又は名称】山尾 憲人
(74)【代理人】
【識別番号】100135703
【弁理士】
【氏名又は名称】岡部 英隆
(74)【代理人】
【識別番号】100221556
【弁理士】
【氏名又は名称】金田 隆章
(72)【発明者】
【氏名】デシュムク,プシュペシュ クマール
(72)【発明者】
【氏名】チャスコ,スティーブン ジョン
(72)【発明者】
【氏名】ヒューグー,ダミアン
(57)【要約】
ユーティリティデバイス上のソフトウェア開発のための技術が開示される。一例では、ユーティリティデバイスは、製造者署名を検証したことに応答して、分離開発モードに移行する。分離開発モードにあるとき、ユーティリティデバイスは、ネットワークに参加することを制限され、開発コンピューティングシステムからアプリケーションを受信する。ユーティリティデバイスは、ネットワーク署名を検証し、ネットワーク試験モードに移行する。ネットワーク試験モードにあるとき、ユーティリティデバイスは、ネットワークに参加し、ネットワークを介してヘッドエンドシステムに登録し、アプリケーションを実行する。閾値時間が経過した後、ユーティリティデバイスは分離開発モードに移行する。
【特許請求の範囲】
【請求項1】
1又は複数のプロセッサを含み、エンドポイントモード、分離開発モード、及びネットワーク試験モードのうちの1又は複数で動作するように構成されたユーティリティデバイスであって、
前記ユーティリティデバイスは、前記エンドポイントモードにあるとき、
ネットワーク上の他のデバイスと通信し、
製造者署名及びネットワーク署名にアクセスし、
参照製造者署名に対して前記製造者署名を検証し、
前記製造者署名を検証したことに応答して、前記分離開発モードに移行する
ように構成され、
前記ユーティリティデバイスは、前記分離開発モードにあるとき、前記ネットワークに参加することを制限され、
開発ポートを介して、開発コンピューティングシステムからアプリケーションを受信し、
前記1又は複数のプロセッサ上で前記アプリケーションを実行し、
参照ネットワーク署名に対して前記ネットワーク署名を検証し、
前記ネットワーク署名を検証したことに応答して、前記ネットワーク試験モードに移行する
ように構成され、
前記ユーティリティデバイスは、前記ネットワーク試験モードにあるとき、
前記ネットワークに参加し、
前記ネットワークを介してヘッドエンドシステムに登録し、
前記1又は複数のプロセッサ上で前記アプリケーションを実行し、前記ユーティリティデバイスが前記アプリケーションに基づいて1又は複数の他のユーティリティデバイスと通信し、
閾値時間が経過した後、前記分離開発モードに移行する
ように構成される、
ユーティリティデバイス。
【請求項2】
前記製造者署名は、メッセージ内に含まれ、前記参照製造者署名に対して前記製造者署名を検証することは、前記メッセージを製造者の公開鍵で復号し、前記メッセージを前記参照製造者署名と比較することを含む、請求項1に記載のユーティリティデバイス。
【請求項3】
前記ユーティリティデバイスは、診断ポートと、JTAG(Joint Test Action Group)ポートとを含み、前記分離開発モードにあるとき、前記診断ポート及び前記JTAGポートのうちの1又は複数が使用不可にされる、請求項1に記載のユーティリティデバイス。
【請求項4】
前記分離開発モードにあるとき、前記ユーティリティデバイスは、前記ヘッドエンドシステムと通信するのを制限される、請求項1に記載のユーティリティデバイス。
【請求項5】
前記製造者署名及び前記ネットワーク署名は、データベース内の前記ユーティリティデバイスの固有の識別子の照合に基づいて生成され、前記固有の識別子は、前記ユーティリティデバイスのネットワークデバイス識別子又はシリアル番号である、請求項1に記載のユーティリティデバイス。
【請求項6】
前記分離開発モードに移行すること又は前記ネットワーク試験モードに移行することは、前記ユーティリティデバイスをリブートすること又はリセットすることを含む、請求項1に記載のユーティリティデバイス。
【請求項7】
前記ネットワーク署名は、メッセージ内に含まれ、前記参照ネットワーク署名に対して前記ネットワーク署名を検証することは、前記メッセージをユーティリティネットワーク事業者の公開鍵で復号し、前記メッセージを前記参照ネットワーク署名と比較することを含む、請求項1に記載のユーティリティデバイス。
【請求項8】
前記ネットワーク試験モードにあるとき、外部開発システムから入力を受信すると、前記ユーティリティデバイスは、前記分離開発モードに移行するように構成される、請求項1に記載のユーティリティデバイス。
【請求項9】
前記参照製造者署名に対して前記製造者署名を検証することは、前記製造者署名のハッシュを作成し、前記ハッシュを参照ハッシュと比較することを含む、請求項1に記載のユーティリティデバイス。
【請求項10】
前記エンドポイントモードにあるとき、前記ユーティリティデバイスは、前記ユーティリティデバイスの固有の識別子を前記開発コンピューティングシステムに送信するように構成され、前記製造者署名及び前記ネットワーク署名のうちの前記1又は複数は、前記開発コンピューティングシステムから受信される、請求項1に記載のユーティリティデバイス。
【請求項11】
開発証明書を求める要求を送信することと、
製造者署名及びネットワーク署名を受信することと、
参照製造者署名に対して前記製造者署名を検証することと、
前記製造者署名を検証したことに応答して、分離開発モードに移行することと、
を含む方法であって、
前記要求は、ユーティリティデバイスの固有の識別子を含み、
前記方法は、前記分離開発モードにあるとき、
前記ユーティリティデバイスがネットワークに参加することを制限し、
開発コンピューティングシステムからアプリケーションを受信し、
前記アプリケーションを実行し、
参照ネットワーク署名に対して前記ネットワーク署名を検証し、
前記ネットワーク署名を検証したことに応答して、ネットワーク試験モードに移行し、
前記ネットワーク試験モードにあるとき、
前記ネットワークに参加し、前記ネットワークに接続された1又は複数のユーティリティデバイスと通信し、
前記ネットワークを介してヘッドエンドシステムに登録し、
前記1又は複数のユーティリティデバイスと通信可能な前記アプリケーションを実行し、
閾値時間が経過した後、前記分離開発モードに移行する、
方法。
【請求項12】
前記製造者署名が第1のメッセージ内に含まれ、
前記参照製造者署名に対して前記製造者署名を検証することは、前記第1のメッセージを製造者の公開鍵で復号し、前記第1のメッセージを前記製造者署名と比較することを含み、
前記ネットワーク署名は、第2のメッセージ内に含まれ、
前記参照ネットワーク署名に対して前記ネットワーク署名を検証することは、前記第2のメッセージをユーティリティネットワーク事業者の公開鍵で復号し、前記第2のメッセージを前記ネットワーク署名と比較することを含む、請求項11に記載の方法。
【請求項13】
前記分離開発モードに移行すること又は前記ネットワーク試験モードに移行することは、前記ユーティリティデバイスをリブートすることを含む、請求項11に記載の方法。
【請求項14】
前記参照ネットワーク署名に対して前記ネットワーク署名を検証することは、前記ネットワーク署名のハッシュを作成し、前記ハッシュを参照ハッシュと比較することを含む、請求項11に記載の方法。
【請求項15】
検証サーバに、開発証明書を求める要求を送信し、
前記検証サーバから、ネットワーク署名及び製造者署名を含む前記開発証明書を受信し、
前記開発証明書及びアプリケーションをユーティリティデバイスに送信する、
ように構成された開発コンピューティングシステムを含むシステムであって、
前記要求は、前記ユーティリティデバイスの固有の識別子を含み、
前記ユーティリティデバイスは、
1又は複数のプロセッサと、
参照製造者署名及び参照ネットワーク署名を記憶するように構成されたメモリと、を備え、
前記ユーティリティデバイスは、前記開発コンピューティングシステムと通信し、エンドポイントモード、分離開発モード、又はネットワーク試験モードのうちの1又は複数で動作するようにさらに構成され、
前記ユーティリティデバイスは、前記エンドポイントモードにあるとき、
ネットワーク上の他のデバイスと通信し、
前記開発コンピューティングシステムから、前記開発証明書を受信し、
前記参照製造者署名に対して前記製造者署名を検証し、
前記製造者署名を検証したことに応答して、前記分離開発モードに移行する
ように構成され、
前記ユーティリティデバイスは、前記分離開発モードにあるとき、前記ネットワークに参加することを制限され、
前記1又は複数のプロセッサ上で前記アプリケーションを実行し、
前記参照ネットワーク署名に対して前記ネットワーク署名を検証し、
前記ネットワーク署名を検証したことに応答して、前記ネットワーク試験モードに移行する
ように構成された、
システム。
【請求項16】
前記製造者署名は、メッセージ内に含まれ、前記参照製造者署名に対して前記製造者署名を検証することは、前記メッセージを製造者の公開鍵で復号し、前記メッセージを前記参照製造者署名と比較することを含む、請求項15に記載のシステム。
【請求項17】
前記ネットワーク署名は、メッセージ内に含まれ、前記参照ネットワーク署名に対して前記ネットワーク署名を検証することは、前記メッセージをユーティリティネットワーク事業者の公開鍵で復号し、前記メッセージを前記参照ネットワーク署名と比較することを含む、請求項15に記載のシステム。
【請求項18】
前記開発コンピューティングシステムは、前記ユーティリティデバイスから、開発ポートを介して、前記ユーティリティデバイスの前記固有の識別子を取得するようにさらに構成される、請求項15に記載のシステム。
【請求項19】
前記ユーティリティデバイスが前記分離開発モードにあるとき、前記開発コンピューティングシステムは、前記アプリケーションをデバッグするように構成される、請求項15に記載のシステム。
【請求項20】
前記検証サーバが前記要求を受信すると、前記検証サーバは、承認済みのデバイスのデータベース内の前記固有の識別子を照合し、前記開発証明書を生成する、請求項15に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般に、リソース分配システムに関し、より具体的には、リソース分配システム内のユーティリティデバイス上で実行されるアプリケーションのソフトウェア開発に関する。
【背景技術】
【0002】
最新のリソース分配システムは、相互接続されたユーティリティデバイス(ユーティリティメータなど)のネットワークを使用して消費その他のデータを収集し、データを課金その他の目的のために中央システムに伝える。各ユーティリティデバイスは、典型的には、通信ネットワーク(例えば、無線メッシュネットワーク)に接続される。いくつかの例では、ユーティリティデバイスは、カスタムアプリケーションソフトウェアを実行することができる。
【発明の概要】
【0003】
特定の態様及び特徴は、ユーティリティメータなどのユーティリティデバイス上で実行されるアプリケーションのソフトウェア開発のための技術を含む。一態様において、ユーティリティデバイスは、1又は複数のプロセッサを含む。ユーティリティデバイスは、エンドポイントモード、分離開発モード、及びネットワーク試験モードのうちの1又は複数で動作するように構成される。エンドポイントモードにあるとき、ユーティリティデバイスは、ネットワーク上の他のデバイスと通信するように構成される。エンドポイントモードにあるとき、ユーティリティデバイスは、製造者署名及びネットワーク署名にアクセスするようにさらに構成される。エンドポイントモードにあるとき、ユーティリティデバイスは、参照製造者署名に対して製造者署名を検証するようにさらに構成される。エンドポイントモードにあるとき、ユーティリティデバイスは、製造者署名を検証したことに応答して、分離開発モードに移行するようにさらに構成される。分離開発モードにあるとき、ユーティリティデバイスは、ネットワークに参加することを制限され、開発ポートを介して、開発コンピューティングシステムからアプリケーションを受信するように構成される。分離開発モードにあるとき、ユーティリティデバイスは、1又は複数のプロセッサ上でアプリケーションを実行するようにさらに構成される。分離開発モードにあるとき、ユーティリティデバイスは、参照ネットワーク署名に対してネットワーク署名を検証するようにさらに構成される。分離開発モードにあるとき、ユーティリティデバイスは、ネットワーク署名を検証したことに応答して、ネットワーク試験モードに移行するようにさらに構成される。ネットワーク試験モードにあるとき、ユーティリティデバイスは、ネットワークに参加するようにさらに構成される。ネットワーク試験モードにあるとき、ユーティリティデバイスは、ネットワークを介してヘッドエンドシステムに登録するようにさらに構成される。ネットワーク試験モードにあるとき、ユーティリティデバイスは、1又は複数のプロセッサ上でアプリケーションを実行するようにさらに構成される。ユーティリティデバイスは、アプリケーションに基づいて1又は複数の他のユーティリティデバイスと通信する。ネットワーク試験モードにあるとき、ユーティリティデバイスは、閾値時間が経過した後、分離開発モードに移行するようにさらに構成される。
【0004】
別の態様において、方法は、開発証明書を求める要求を送信することを含む。要求は、ユーティリティデバイスの固有の識別子を含む。方法は、製造者署名及びネットワーク署名を受信することをさらに含む。方法は、参照製造者署名に対して製造者署名を検証することをさらに含む。方法は、製造者署名を検証したことに応答して、分離開発モードに移行することをさらに含む。分離開発モードにあるとき、方法は、ユーティリティデバイスがネットワークに参加するのを制限することをさらに含む。分離開発モードにあるとき、方法は、開発コンピューティングシステムからアプリケーションを受信することをさらに含む。分離開発モードにあるとき、方法は、アプリケーションを実行することをさらに含む。分離開発モードにあるとき、方法は、参照ネットワーク署名に対してネットワーク署名を検証することをさらに含む。分離開発モードにあるとき、方法は、ネットワーク署名を検証したことに応答して、ネットワーク試験モードに移行することをさらに含む。ネットワーク試験モードにあるとき、方法は、ネットワークに参加し、ネットワークに接続された1又は複数のユーティリティデバイスと通信することをさらに含む。ネットワーク試験モードにあるとき、方法は、ネットワークを介してヘッドエンドシステムに登録することをさらに含む。ネットワーク試験モードにあるとき、方法は、アプリケーションを実行することをさらに含む。アプリケーションは、1又は複数のユーティリティデバイスと通信することができる。ネットワーク試験モードにあるとき、方法は、閾値時間が経過した後、分離開発モードに移行することをさらに含む。
【0005】
別の態様において、システムは、開発コンピューティングシステムとユーティリティデバイスとを含む。開発コンピューティングシステムは、検証サーバに、開発証明書を求める要求を送信するように構成される。要求は、ユーティリティデバイスの固有の識別子を含む。開発コンピューティングシステムは、検証サーバから、開発証明書を受信するように構成される。開発証明書は、ネットワーク署名及び製造者署名を含む。開発コンピューティングシステムは、開発証明書及びアプリケーションをユーティリティデバイスに送信するようにさらに構成される。ユーティリティデバイスは、1又は複数のプロセッサと、参照製造者署名及び参照ネットワーク署名を記憶するように構成されたメモリとを含む。ユーティリティデバイスは、開発コンピューティングシステムと通信し、エンドポイントモード、分離開発モード、又はネットワーク試験モードのうちの1又は複数で動作するようにさらに構成される。エンドポイントモードにあるとき、ユーティリティデバイスは、ネットワーク上の他のデバイスと通信するように構成される。エンドポイントモードにあるとき、ユーティリティデバイスは、開発コンピューティングシステムから開発証明書を受信するように構成される。エンドポイントモードにあるとき、ユーティリティデバイスは、参照製造者署名に対して製造者署名を検証するように構成される。製造者署名を検証したことに応答して、ユーティリティデバイスは、分離開発モードに移行するように構成される。分離開発モードにあるとき、ユーティリティデバイスは、ネットワークに参加するのを制限され、1又は複数のプロセッサ上でアプリケーションを実行するように構成される。分離開発モードにあるとき、ユーティリティデバイスは、参照ネットワーク署名に対してネットワーク署名を検証するように構成される。分離開発モードにあるとき、ユーティリティデバイスは、ネットワーク署名を検証したことに応答して、ネットワーク試験モードに移行するように構成される。
【0006】
これらの説明例は、本開示を限定又は定義するためではなく、本開示の理解を助ける例を提供するために言及されている。さらなる例及びさらなる説明を、詳細な説明において提供する。
【図面の簡単な説明】
【0007】
本開示の上記その他の特徴、態様、及び利点は、添付の図面を参照して以下の詳細な説明を読めばよりよく理解される。
図1】一態様による、ユーティリティネットワーク内のユーティリティデバイスのための開発環境を示す図である。
図2】一態様による、ユーティリティデバイスの例示的な状態図を示す図である。
図3】一態様による、開発のためにユーティリティデバイスを動作させるための例示的なプロセスを示すフローチャートである。
図4】一態様による、ユーティリティデバイスの開発環境のための検証環境を示す図である。
図5】一態様による、コレクタ又は計量デバイスで使用することができる例示的なコンピューティングシステムを示す図である。
【発明を実施するための形態】
【0008】
開示の解決策は、リソース分配ネットワーク内のユーティリティデバイス(例えば、ユーティリティメータ)上のアプリケーションソフトウェアの開発、デバッギング、試験、及び配置に関する。リソース分配ネットワークの例は、電気、ガス、水の分配ネットワークなどのユーティリティネットワークである。アプリケーションソフトウェアによって行うことができる機能の例には、回線障害の試験、回線損失の判定、安全性問題のチェック、スマートメータリング用途、及びスマートグリッド用途が含まれる。
【0009】
リソース分配ネットワークは、リソース消費やリソースの状況などのパラメータを測定するユーティリティデバイスを含む。リソース分配ネットワーク上のデバイスは、典型的には、1又は複数の通信ネットワークによって接続され、通信ネットワークは、例えば課金目的や分析のために、データを集約し、中央システムに受け渡すことができるメカニズムを提供する。
【0010】
アプリケーションソフトウェアは、ユーティリティデバイスのために開発され、ユーティリティデバイス上に配置され得るが、ユーティリティ通信ネットワークの性質に起因するセキュリティ上の懸念が存在する。例えば、ユーティリティデバイス上で実行されるアプリケーションソフトウェアは、ユーティリティネットワークにアクセスし得るので、不十分に又は悪意を持って書かれたアプリケーションが、ユーティリティネットワークの信頼性の問題を引き起こす可能性がある。このようなリスクは、ユーティリティシステムの安全性要件及び公益要件のために許容されない場合がある。開示の解決策は、アプリケーションの広範な配置の前の、安全で制限された方法でのアプリケーションソフトウェア開発及び試験を容易にすることによってこれらのリスクを軽減する。
【0011】
さらに、ユーティリティデバイス上での安全なアプリケーションソフトウェア開発を容易にすることにより、以前には現実的ではなかった高度な適用を容易にすることができる。例えば、変圧器の下流に位置するユーティリティデバイス上で動作するアプリケーションは、高周波測定を行って、過剰な量の回線損失が発生しているかどうかを判定することができる。しかし、ユーティリティネットワークの帯域幅及び電力に限界があるため、これらの測定値をヘッドエンドシステムに十分に迅速に伝えることは困難となり得る。したがって、アプリケーションがネットワーク上のローカルエリア内で動作することを可能にすることにより、分析能力を向上させることができる。
【0012】
より具体的な例では、開示の解決策は、ユーティリティシステム内に配置されたユーティリティデバイス上での安全なソフトウェア開発を容易にする。開示の解決策は、ユーティリティデバイスの製造者及び/又はユーティリティネットワーク事業者からの1又は複数の証明書又は署名を検証することによって、制限された環境での開発能力及び試験能力を使用可能にする。
【0013】
次に図を参照すると、図1は、一態様による、ユーティリティネットワーク内のユーティリティデバイスのための開発環境を示している。図1は、開発環境100及びユーティリティネットワーク150を示している。開発環境100は、検証サーバ110と、ネットワーク120と、開発コンピューティングシステム130とを含む。図1に示す例では、検証サーバ110がユーティリティネットワーク150上のユーティリティデバイスを検証し、それによって、ユーティリティデバイスの開発及び/又は試験機能を使用可能にする。したがって、ユーティリティネットワーク150上のユーティリティデバイスの能力を、検証サーバ110によって付与された許可によって制限することができる。許可は、開発証明書を受信することによって付与されることができ、開発証明書は1又は複数の署名を含むことができる。例えば、製造者署名は、ユーティリティデバイスの製造者によって付与された許可を表し、ネットワーク署名は、ユーティリティネットワークの事業者によって付与された許可を表す。
【0014】
開発及び試験を容易にするために、所与のユーティリティデバイスに、異なるモードで動作する許可を付与することができ、各モードは、異なる能力及び制限のセットを有する。モードの例には、エンドポイントモード、分離開発モード、及びネットワーク試験モード、が含まれる。モード間の移行又はモードへのアクセスは、デバイスの製造者及び/又はユーティリティネットワークを運営している公益事業によるユーティリティデバイスの検証の成功を根拠とすることができる。これらのモードを、図2に関してさらに説明し、モード間を移行するプロセスの一例を図3で説明する。
【0015】
開発コンピューティングシステム130は、1又は複数のユーティリティデバイス上でアプリケーションソフトウェアをダウンロードし、デバッグし、試験し、実行させるように構成可能である。例えば、開発者は、開発ツール132を使用して、ソフトウェアアプリケーションをオブジェクトファイルに構築(コンパイル、アセンブル、リンクなど)し、開発ポートを介してユーティリティデバイスにオブジェクトファイルをダウンロードし、アプリケーションをステップスルーすることができる。開発ツール132の一例が、統合開発環境(IDE)である。
【0016】
ユーティリティネットワーク150は、ヘッドエンドシステム152、バックホールネットワーク154、コレクタ156、及びネットワーク170のうちの1又は複数を含む。ヘッドエンドシステム152は、バックホールネットワーク154を介してコレクタ156と通信する。バックホールネットワーク154は、有線ネットワーク(例えば、イーサネットや光ファイバケーブル)、無線ネットワーク(例えば、セルラー)、又は両方の組合せとすることができる。ユーティリティデバイスは、エンドユーザ施設に位置し得るが、通信ネットワークがリソースのフローではなくデバイス間の接続性に基づいて構造化されるため、ユーティリティデバイスを含む通信ネットワークのトポロジは、リソース分配ネットワーク自体のトポロジとは根本的に異なる。
【0017】
ネットワーク170は、パーソナルエリアネットワーク(PAN)とすることができる。PANは、WiFi、Bluetooth、ワイヤレス・スマート・ユーティリティ・ネットワーク(Wi-SUN)、ZigBee、電気電子技術者協会(IEEE)802.15プロトコル又は専用プロトコルなどの無線プロトコルを使用する無線ネットワーク又は無線メッシュネットワークであり得る。コレクタ156は、ネットワーク170と通信する。ネットワーク170がPANである場合、コレクタ156はネットワーク170のPANコーディネータとすることができる。コレクタ156は、ユーティリティデバイス160a~eと通信する。各ユーティリティデバイスは、1又は複数のPANを介して1又は複数の他のデバイスと無線通信することができる。ネットワーク170は例示目的で5つのユーティリティデバイスを含んでいるが、任意の数のユーティリティデバイスが可能である。例えば、ネットワーク170は、数百のユーティリティデバイスを含むことができる。ユーティリティデバイス160a~eとコレクタ156との間には、1又は複数の異なる通信経路が存在し得る。
【0018】
ユーティリティデバイス160a~eは、一般に、エンドユーザ施設に(例えば、サービス提供点に)位置するユーティリティメータであるが、電力線、変圧器、コンデンサバンクなどに接続された他の測定デバイス又は制御デバイスも含むことができる。ユーティリティデバイスは、1又は複数のコンピューティングシステムを含むことができる。したがって、ユーティリティデバイスは、高度計量インフラストラクチャ(AMI)機能などの機能を実装することができ、この機能は、計量及びリソース情報の取り込み、処理、及び送信を含むことができる。
【0019】
各ユーティリティデバイス160a~eは、ファームウェア及びソフトウェアアプリケーションを実行することができる。ファームウェアは、オペレーティングシステム、ユーティリティデバイス上の様々な周辺機器用のソフトウェアドライバなどといった基本動作機能を含むことができる。各ユーティリティデバイスは、製造者又はユーティリティネットワーク事業者から予めインストールされた1又は複数のアプリケーションを含んでもよい。
【0020】
アプリケーションソフトウェアは、ターゲットハードウェアが、ネットワークその他の接続性が制限される分離開発モードで動作しているときに試験され、デバッグされ得る。さらに、ネットワーク試験モードでは、ユーティリティネットワーク上である程度制限された能力を依然として維持しながら、かつ/又はデフォルトモードと比較して限られた時間にわたって、分離開発モードと比較してより広範な試験を行うことができる。
【0021】
図2は、一態様による、ユーティリティデバイスの例示的な状態図200を示している。図2は、エンドポイントモード202、分離開発モード204、及びネットワーク試験モード206を示している。3つのモードが列挙されているが、3つより多くのモードが可能である。例示目的で、図2を、ユーティリティデバイス160aに関して説明する。
【0022】
一態様において、ユーティリティデバイス160aは、電源投入時にエンドポイントモード202に入る。エンドポイントモードにあるとき、ユーティリティデバイス160aは、ユーティリティネットワーク内で動作するために必要なデフォルトの機能セットで動作する。例えば、ユーティリティデバイス160aは、ネットワークに参加したり、ネットワークを介して通信したり、ヘッドエンドシステムに登録したりしてもよい。ユーティリティデバイス160aは、計量データを収集及び送信し、分析を行い、任意の承認済みの、又は製造者によってインストールされたアプリケーションソフトウェアを実行し得る。いくつかの例では、エンドポイントモード202では、ユーティリティデバイス160aの任意の診断又は開発ポート、例えばJTAG(Joint Test Action Group)ポートが、ソフトウェア開発又は改ざんを防止するために使用不可にされてもよい。
【0023】
エンドポイントモード202から分離開発モード204に移行するために、製造者署名が取得され、検証される。製造者署名は、ユーティリティデバイスが、アプリケーションソフトウェアをデバッグ及び試験するための製造者からの許可を有することを保証する。開発コンピューティングシステム130は、ユーティリティデバイスに固有キーを要求し、その固有キーを検証サーバ110に送信するなどの動作を行うことによって、移行を容易にすることができる。検証プロセスを、図3及び図4に関してさらに説明する。
【0024】
分離開発モード204になると、ユーティリティデバイスは機能の制限を受ける。制限の例には、ネットワークアクセスの制限又はアクセスなし(例えば、ネットワーク170)、ヘッドエンドシステム152へのアクセスの制限又はアクセスなしが含まれる。開発ツールによるユーティリティデバイスへのアクセスを容易にするために、ユーティリティデバイス上のJTAGポートや診断ポートなどの1又は複数のポートを使用可能にすることができる。いくつかの例では、シリアルポート及びスイッチを介してなど、使用不可にされていない通信ポート上でユーティリティデバイス間の通信を依然として行うこともできる。
【0025】
分離開発モード204では、ネットワークその他の機能が制限されているため、試験又はデバッグされているアプリケーションプログラムは、ネットワーク全体に損傷を与えることができない。したがって、アプリケーションソフトウェアのデバッギング及び試験を、ネットワーク又は他のデバイスに損傷を与えたり、ネットワークの機能(例えば、計量データや状況データの収集及び送信)を妨げたりするリスクなしに行うことができる。
【0026】
分離開発モード204にあるときには、ユーティリティデバイス160aを、開発コンピューティングシステム130及び開発ツール132によって制御することができる。開発ツール132は、1又は複数のアプリケーションプログラムをユーティリティデバイス160aにダウンロードすることができる。開発ツール132はまた、デバッグ、ステップ(コードのステップスルー)、トレースなどといったコマンドを使用してユーティリティデバイス160aを制御することもできる。
【0027】
分離開発モード204からネットワーク試験モード206に移行するために、サーバからネットワーク署名が取得される。ネットワーク署名は、ユーティリティデバイスが、アプリケーションソフトウェアの試験を行うためのユーティリティネットワーク事業者からの許可を有することを示す。証明書又は署名を求める要求は、ユーティリティデバイス160a及び/又は開発ツール132によって行うことができる。いくつかの例では、ユーティリティネットワーク事業者は、ユーティリティデバイス160aの固有の識別子を製造者に送信する。固有の識別子と、場合によってはデバイスの種類や構成などの追加のパラメータとに基づいて、製造者は製造者署名及びネットワーク署名をユーティリティデバイス160aに送信する。検証プロセスを、図3及び図4に関してさらに説明する。
【0028】
ネットワーク試験モード206では、ユーティリティデバイス160aは、例えば、ソフトウェアアプリケーションの限定された試験を可能にするために、ネットワークに参加することができるが、ユーティリティデバイス160aは、依然としてエンドポイントモードと比べて制限を受ける。ネットワーク試験モード206にあるときには、分離開発モード204で存在するいくつかの制限が除去され得る。例えば、ユーティリティデバイス160aは、ネットワークに参加し、ヘッドエンドシステムに登録してもよい。
【0029】
場合によっては、ネットワーク試験モード206へのアクセスを時間制限することができる。例えば、ある期間の後、ユーティリティデバイスは分離開発モード204に自動的に移行して戻ることができる。期間の例には、1日又は7日が含まれる。期間は、事前構成及び/又は調整することができる。エンドポイントモード202から、ユーティリティデバイスは、閾値時間が経過した後、又は開発コンピューティングシステム130がユーティリティデバイスに制御信号を送信した後に、エンドポイントモードに移行して戻ることができる。いくつかの例では、ユーティリティデバイスは、例えば、ユーティリティデバイスのファームウェアの書換え及び/又はユーティリティデバイスのパラメータの変更後に、エンドポイントモード202に移行して戻ることができる。
【0030】
分離開発モード及びネットワーク試験モードで実施される制限は、様々な方法で実施することができる。例えば、一実施態様では、エンドポイントモード202から分離開発モード204及び/又は分離開発モード204からネットワーク試験モード206に移行するために、ユーティリティデバイス160aは、再起動してユーティリティデバイス160aのファームウェアによって制御される制限状態になる。他の場合には、制限を実施するために、ユーティリティデバイスのパラメータセットの適用と組み合わせたリセットが使用される。
【0031】
ネットワークアクセス制限は、(例えば、ファームウェアにおいて)ユーティリティデバイスによって、ネットワークアダプタが使用不可にされるかもしくは制限されるように、又はネットワーク自体によって実施することができる。例えば、ユーティリティデバイスがネットワークに参加できないように、ユーティリティデバイスのシリアル識別子又はネットワーク識別子をソフトウェア内でマスクすることができる。別の例では、ヘッドエンドシステムがユーティリティデバイスの識別子を有するコマンドを送信し、ネットワークにその識別子を制限アクセスリストに追加させることに基づいて、ネットワーク自体が、ユーティリティデバイスへのアクセスを拒否することができる。
【0032】
図3は、一態様による、開発のためにユーティリティデバイスを動作させるための例示的なプロセスを示すフローチャートである。プロセス300に記載されている動作は異なる順序で行うことができ、かつ/又はプロセス300の1つもしくは複数の動作は実行されなくてもよいことが理解されよう。
【0033】
例示目的で、プロセス300を、開発環境100(例えば、開発コンピューティングシステム130)及びユーティリティネットワーク150(例えば、ユーティリティデバイス160a)によって行われるものとして説明する。プロセス300は、エンドポイントモード、分離開発モード、及びネットワーク試験モード、の3つのモードを含む。
【0034】
プロセス300のブロック302では、エンドポイントモードにあるとき、ユーティリティデバイスは、1又は複数のネットワーク上の他のデバイスと通信する。例えば、エンドポイントモードにあるとき、ユーティリティデバイス160aは、他のユーティリティデバイス160b~e、ネットワーク170、コレクタ156、及びバックホールネットワーク154を介してヘッドエンドシステム152と通信するように構成される。エンドポイントモードでは、ユーティリティデバイス160a上の開発ポート及び/又は他のポートは、セキュリティ上の理由で使用不可にされ得る。
【0035】
プロセス300のブロック304では、ユーティリティデバイスは、製造者署名及びネットワーク署名を含む開発証明書にアクセスする。ユーティリティデバイス160aは、開発コンピューティングシステム130を介して(例えば、ユーティリティデバイス160aに接続された開発ポート上で)又はユーティリティネットワーク150を介して(例えば、ネットワーク170を介してコレクタ156を介してバックホールネットワーク154に、バックホールネットワーク154上でヘッドエンドシステム152に)、開発証明書を受信する。
【0036】
ユーティリティデバイス160a又は開発ツール132は、開発証明書を要求することができる。開発証明書を求める要求は、シリアル番号やネットワークデバイス識別子などのユーティリティデバイスの固有の識別子を含むことができる。いくつかの例では、製造者署名及びネットワーク署名を別々に要求することもできる。図4に関してさらに説明するように、開発証明書を発行することは、承認済みのデバイスのデータベース内の固有の識別子を照合することを含むことができる。
【0037】
プロセス300のブロック306では、ユーティリティデバイスは、参照製造者署名に対して製造者署名を検証する。参照製造者署名は、ユーティリティデバイス160aの配置の前に予め決定し、ユーティリティデバイス160aの不揮発性メモリに記憶することもできるし、ユーティリティデバイス160aによって取得する、例えばダウンロードすることもできる。一態様では、図4に関してさらに説明するように、ユーティリティデバイスの検証は、製造者署名の公開・秘密鍵検証を含むことができる。別の態様では、ユーティリティデバイスの検証は、署名のハッシュを比較することを含むことができる。
【0038】
説明したように、ネットワーク署名はブロック316で検証することができる。いくつかの例では、製造者署名とネットワーク署名の両方は、ブロック306において、ユーティリティデバイスによって要求される検証なしに、製造者によって検証されてもよい。例えば、製造者は、ユーティリティネットワーク事業者を承認及び検証することができる。
【0039】
プロセス300のブロック308では、製造者署名を検証したことに応答して、ユーティリティデバイスは分離開発モードに移行する。ユーティリティデバイス160aが製造者署名を検証することができない場合には、ユーティリティデバイス160aは、エンドポイントモードのままであり、かつ/又は開発ポートを介して開発コンピューティングシステム130及び/もしくはユーティリティネットワークにエラーメッセージを発行することができる。
【0040】
プロセス300のブロック310において、ユーティリティデバイスは、ネットワークに参加するのを制限される。分離開発モードにあるとき、ユーティリティデバイスは、特定の動作を行うのを制限される。例えば、ユーティリティデバイス160aが分離開発モードにあるとき、ユーティリティデバイス160aは、ネットワーク170に参加するのを制限され得る。したがって、ユーティリティデバイス160aは、コレクタ156、バックホールネットワーク154、及びヘッドエンドシステム152と通信することができない。
【0041】
プロセス300のブロック312において、ユーティリティデバイスは、開発ポートを介して、開発コンピューティングシステムからアプリケーションを受信する。分離開発モードでは、アプリケーションソフトウェアのダウンロード、デバッギング、トレースなどを容易にするために、ユーティリティデバイス160a上の開発ポート及び/又は他のポートをアクティブにすることができる。一例では、開発ツール132は、アプリケーションを構築し、アプリケーションプログラムをユーティリティデバイス160aにダウンロードさせる。
【0042】
プロセス300のブロック314において、ユーティリティデバイスは、1又は複数のプロセッサ上でアプリケーションを実行する。例を続けると、ユーティリティデバイス160aはアプリケーションを実行する。ユーティリティデバイス160aは、アプリケーションをステップスルーし、トレース又はデバッギング情報を開発ツール132に送り返すことができる。
【0043】
プロセス300のブロック316において、ユーティリティデバイスは、参照ネットワーク署名に対してネットワーク署名を検証する。参照ネットワーク署名は、ユーティリティデバイスの配置の前に予め決定し、ユーティリティデバイスのメモリに記憶することもできるし、ユーティリティデバイスによって取得する、例えばダウンロードすることもできる。分離開発モードからネットワーク試験モードへの移行要求は、開発ツール132を介するなどの外部要求によって行わせることができる。要求を受信すると、ユーティリティデバイス160aは、参照ネットワーク署名に対してネットワーク署名を検証する。参照ネットワーク署名は、ユーティリティデバイスが配置される前に不揮発性メモリに記憶することができる。一態様では、図4に関してさらに説明するように、ユーティリティデバイス160aの検証は、ネットワーク署名の公開・秘密鍵検証を含むことができる。
【0044】
ブロック318において、プロセス300のネットワーク署名を検証したことに応答して、ユーティリティデバイスはネットワーク試験モードに移行する。ユーティリティデバイス160aがネットワーク署名の検証に成功した場合には、ユーティリティデバイス160aはネットワーク試験モードに移行する。ユーティリティデバイス160aがネットワーク署名を検証することができない場合には、ユーティリティデバイス160aは、分離開発モードのままであり、かつ/又は開発ポートを介して開発コンピューティングシステム130及び/もしくはユーティリティネットワークにエラーメッセージを発行することができる。いくつかの例では、ユーティリティデバイス160aは、ブロック326において、タイマが所定の時間に達したときにユーティリティデバイス160aが自動的に分離開発モードに移行して戻ることができるように、タイマを開始することができる。
【0045】
プロセス300のブロック320では、ネットワーク試験モードにあるとき、ユーティリティデバイスは、1又は複数のネットワークに参加する。例を続けると、ユーティリティデバイス160aは、ネットワーク170に参加し、ユーティリティデバイス160b~e、コレクタ156、バックホールネットワーク154、及びヘッドエンドシステム152と通信することができる。分離開発モードではネットワークアクセスが使用不可にされるので、ネットワーク試験モードに移行すると、ユーティリティデバイス160a及び/又はネットワークによってネットワークアクセスが回復される。例えば、ユーティリティデバイスのリブート、リセット、又はシリアル番号のアンマスキングが行われる。
【0046】
プロセス300のブロック322において、ユーティリティデバイスは、ネットワークを介してヘッドエンドシステムに登録する。ユーティリティデバイス160aはヘッドエンドシステム152に登録し、それによって、ユーティリティネットワーク上でのアプリケーションの試験を可能にする。
【0047】
プロセス300のブロック324において、ユーティリティデバイスは、1又は複数のプロセッサ上でアプリケーションを実行する。例を続けると、ユーティリティデバイス160aはアプリケーションを実行し、その際に、ユーティリティデバイス160b~eのうちの1又は複数と通信することができる。
【0048】
プロセス300のブロック326において、閾値時間が経過した後、ユーティリティデバイスは分離開発モードに移行する。例を続けると、ユーティリティデバイス160aは、タイマが閾値時間に達したと判定し、分離開発モードに移行して戻る。
【0049】
モード間の移行は、他のイベントによってトリガすることができる。例えば、移行は、外部コマンド又は入力によって行わせることができる。ネットワーク試験モードにあるとき、外部開発システムから入力を受信すると、ユーティリティデバイスを、分離開発モードに移行するように構成することができる。
【0050】
図4は、一態様による、ユーティリティデバイスの開発環境のための検証環境を示している。図4は検証環境400を示しており、検証環境400は、製造者検証サーバ420、ネットワーク検証サーバ430、ネットワーク450、ユーティリティデバイス460、及び開発コンピューティングシステム470のうちの1又は複数を含む。図4に示す例では、製造者検証サーバ420及びネットワーク検証サーバ430は、ユーティリティデバイス460の固有の識別子を1又は複数のデータベースと照合することによって、ユーティリティデバイス460に付与された許可を各々判定する。結果として得られる許可を、分離開発モード又はネットワーク試験モードのうちの1又は複数を使用可能にする開発証明書に反映させることができる。
【0051】
検証サーバ110を示している図1と比べて、図4は、ユーティリティデバイスが、デバイスの製造者と、デバイスが動作するユーティリティネットワークのユーティリティネットワーク事業者とよって検証される、より具体的な例を示している。例えば、製造者及びユーティリティネットワーク事業者の両方が、それぞれのデータベース内のユーティリティデバイス460の固有の識別子を照合することができる。
【0052】
場合によっては、製造者は、ユーティリティネットワーク事業者も検証する。例えば、ユーティリティネットワーク事業者が製造者によって信頼されている場合には、ユーティリティデバイス460の検証は、製造者検証サーバ420によって行われさえすればよい。いくつかの例では、ユーティリティデバイスがユーティリティを検証する必要がないこともある。例えば、多くの場合、開発はユーティリティ自体であり得る。
【0053】
開発コンピューティングシステム470は、ユーティリティデバイス460の検証を容易にすることができる。例えば、ユーティリティデバイス460は、開発コンピューティングシステム470を介して(例えば、開発ポート及び/又はネットワークを介して)メッセージ又は署名を受信することができる。他の場合には、ユーティリティデバイス460は、ユーティリティネットワークを介して(例えば、コレクタ及びヘッドエンドシステムを介して)製造者検証サーバ420及び/又はネットワーク検証サーバ430と直接通信することができる。同様に、固有の識別子を含む要求は、開発コンピューティングシステム470を介して、又はユーティリティネットワークを介して送信され得る。したがって、ユーティリティデバイスを検証するために開発コンピューティングシステム470が常に使用されてもよいし、使用されなくてもよい。
【0054】
より具体的な例では、ユーティリティデバイス460の製造者は、ユーティリティデバイス460を検証する。製造者検証サーバ420は、検証アプリケーション422と、デバイス検証データベース424と、製造者秘密鍵426とを含む。製造者検証サーバ420は、典型的には、ユーティリティデバイスの製造者の管理下にある。製造者検証サーバ420は、ユーティリティデバイス460及び/又は開発コンピューティングシステム470から要求を受信する。要求は、ユーティリティデバイス460のシリアル番号やデバイスネットワーク識別子などの、1又は複数の固有の識別子を含む。製造者検証サーバ420は、デバイス検証データベース424内の固有の識別子を照合する。検証が成功した場合、例えば、固有の識別子がデバイス検証データベース424内のデバイスの承認済みリストにある場合には、製造者検証サーバ420は、製造者署名をユーティリティデバイス460に送り返す。
【0055】
場合によっては、公開・秘密鍵暗号化が使用される。例えば、製造者検証サーバ420は、メッセージを作成し、製造者署名を含むメッセージを秘密鍵で暗号化する。製造者検証サーバ420は、メッセージをユーティリティデバイス460に送信する。次に、ユーティリティデバイス460は、メッセージを製造者公開鍵462で復号し、メッセージを参照製造者署名と比較することによってメッセージを検証する。署名が一致する場合には、ユーティリティデバイス460は、分離開発モードに移行することができる。
【0056】
加えて、又は代替として、ユーティリティデバイス460を運営する公益事業は、ユーティリティデバイス460を検証する。ネットワーク検証サーバ430は、検証アプリケーション432と、ユーティリティ検証データベース434と、ユーティリティ秘密鍵436とを含む。ネットワーク検証サーバ430は、典型的には、ユーティリティネットワーク事業者の管理下にある。ネットワーク検証サーバ430は、ユーティリティデバイス460及び/又は開発コンピューティングシステム470から要求を受信する。要求は、ユーティリティデバイス460の1又は複数の固有の識別子を含む。ネットワーク検証サーバ430は、ユーティリティ検証データベース434内の固有の識別子を照合する。検証が成功した場合、例えば、固有の識別子がユーティリティ検証データベース434内のデバイスの承認済みリストにある場合には、ネットワーク検証サーバ430は、ユーティリティ署名をユーティリティデバイス460に送り返す。
【0057】
場合によっては、公開・秘密鍵暗号化が使用される。例えば、ネットワーク検証サーバ430は、メッセージを作成し、ユーティリティ署名を含むメッセージを秘密鍵で暗号化する。ネットワーク検証サーバ430は、メッセージをユーティリティデバイス460に送信する。次に、ユーティリティデバイス460は、メッセージをユーティリティ公開鍵464で復号し、メッセージを参照ユーティリティ署名と比較することによってメッセージを検証する。署名が一致する場合には、ユーティリティデバイス460は、ネットワーク試験モードに移行することができる。
【0058】
場合によっては、ハッシングが使用される。例えば、ユーティリティデバイス460は、製造者署名又は署名を含むメッセージを参照ハッシュに対して検証することができる。受信した製造者署名のハッシュが参照ハッシュと一致する場合には、製造者署名が検証される。同様に、ユーティリティデバイス460は、ネットワーク署名、又は署名を含むメッセージを、参照ハッシュに対して検証することができる。受信したネットワーク署名のハッシュが参照ハッシュと一致する場合には、ネットワーク署名が検証される。
【0059】
図5は、一態様による、ユーティリティデバイスで使用することができる例示的なコンピューティングシステムを示している。任意の適切なコンピューティングシステムが、本明細書に記載される動作を行うるために使用され得る。コンピューティングシステム500の図示の例は、メモリデバイス504に通信可能に結合されたプロセッサ502を含む。プロセッサ502は、メモリデバイス504に記憶されたコンピュータ実行可能プログラムコード530を実行するか、メモリデバイス504に記憶されたデータ520にアクセスするか、又はその両方を行う。プログラムコード530は、開発コンピューティングシステム130及び/又は開発ツール132を使用して開発されたアプリケーションのプログラムコードを含むことができる。データ520は、アプリケーションに関連するデータを含むことができる。
【0060】
プロセッサ502の例には、マイクロプロセッサ、特定用途向け集積回路(「ASIC」)、フィールドプログラマブルゲートアレイ(「FPGA」)、又は任意の他の適切な処理デバイスが含まれる。プロセッサ502は、単一の処理デバイスを含む、任意の数の処理デバイス又はコアを含むことができる。コンピューティングシステムの機能は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの組合せで実装され得る。
【0061】
コンピューティングシステム500は、リソース分配ネットワークのリソースに関連するパラメータを測定するように構成されたセンサ550を含むことができる。例えば、配電システムでは、センサ550は、消費電力、電圧、電流などを測定することができる。ガス分配システムでは、センサ550は流量を測定し得る。いくつかの態様では、コンピューティングシステム500は、複数のセンサを含んでもよい。例えば、コンピューティングシステム500は、電力と温度両方のセンサを含んでもよい。
【0062】
コンピューティングシステム500は、リソース調整デバイス511を含んでもよい。リソース調整デバイス511は、電力、水、ガスなどといったリソースを制御するように構成される。リソース調整デバイス511は、リソースを切断、再接続、減速、高速化、又は他の方法で調整し得る。いくつかの実施形態では、リソース調整デバイス511は、コンピューティングシステム500から遠く離れて位置し得る。
【0063】
メモリデバイス504は、データ、プログラムコード、又はその両方を記憶するための任意の適切な非一時的コンピュータ可読媒体を含む。コンピュータ可読媒体は、プロセッサにコンピュータ可読命令又は他のプログラムコードを提供することができる任意の電子、光学、磁気、又は他の記憶デバイスを含むことができる。コンピュータ可読媒体の非限定的な例には、フラッシュメモリ、ROM、RAM、特定用途向け集積回路(ASIC)、又は処理デバイスが命令を読み出すことができる任意の他の媒体が含まれる。命令は、例えば、C、C++、C#、Visual Basic、Java、又はスクリプト言語を含む任意の適切なコンピュータプログラミング言語で書かれたコードからコンパイラ又はインタプリタによって生成されたプロセッサ固有の命令を含んでもよい。
【0064】
コンピューティングシステム500はまた、入力デバイスや出力デバイスなどのいくつかの外部デバイス又は内部デバイスを含んでもよい。例えば、コンピューティングシステム500は、1又は複数の入力/出力(「I/O」)インターフェース508と共に示されている。I/Oインターフェース508は、入力デバイスから入力を受け取るか、又は出力デバイスに出力を提供することができる。コンピューティングシステム500には1又は複数のバス506も含まれる。バス506は、コンピューティングシステム500のそれぞれの1又は複数の構成要素を通信可能に結合する。
【0065】
コンピューティングシステム500はまた、診断ポート505を含んでもよい。診断ポート505は、例えば、機器ベンダー又は公益事業会社によって、コンピューティングシステムが正しく動作しているかどうかを判定するために、又は問題を診断及び修正するために、又はコンピューティングシステム500のファームウェアアップグレードを行うために使用され得る。
【0066】
コンピューティングシステム500はまた、開発ポート509を含んでもよい。開発ポート509は、コンピューティングシステム500上のアプリケーションソフトウェアのダウンロード、実行、及びデバッギングを容易にする。例えば、外部開発コンピューティングシステムは、開発ポート509を介してコンピューティングシステム500に接続し、アプリケーションをコンピューティングシステム500にダウンロードし得る。そこから、外部開発コンピューティングシステムは、アプリケーションを実行、開始、又は停止させることができる。開発ポート509の例には、JTAGポート、シリアルポート、パラレルポート、及びネットワークポートが含まれる。開発ポート509は、ファームウェア又はソフトウェアによって使用不可にされ得る。
【0067】
コンピューティングシステム500は、本明細書に記載される動作のうちの1又は複数を行うようにプロセッサ502を構成するプログラムコード530を実行する。例えば、プログラムコード530は、プロセッサに図3に記載される動作を行わせる。
【0068】
コンピューティングシステム500はまた、ネットワークインターフェースデバイス510を含む。ネットワークインターフェースデバイス510は、1又は複数のデータネットワークへの有線又は無線データ接続を確立するのに適した任意のデバイス又はデバイスのグループを含む。ネットワークインターフェースデバイス510は、無線デバイスであり、アンテナ514を有してもよい。コンピューティングシステム500は、ネットワークインターフェースデバイス510を使用してデータネットワークを介して、コンピューティングシステム又は他の機能を実装する1又は複数の他のコンピューティングデバイスと通信することができる。ネットワークインターフェースデバイス510は、1又は複数のネットワークへのアクセスを制限することができるファームウェアによって制御されてもよい。
【0069】
コンピューティングシステム500はまた、表示デバイス512を含むことができる。表示デバイス512は、LCD、LED、タッチスクリーン、又はコンピューティングシステム500に関する情報を表示するように動作可能な他のデバイスであってもよい。例えば、情報は、コンピューティングシステムの動作状況、ネットワーク状況などを含んでもよい。
【0070】
本主題をその特定の態様に関して詳細に説明してきたが、当業者は、上記の理解に到達すれば、そのような態様の変更、変形、及び均等物を容易に生み出し得ることが理解されよう。したがって、本開示は、限定ではなく例示の目的で提示されており、当業者には容易に明らかになるような本主題へのそのような修正、変形、及び/又は追加の包含を排除しないことを理解されたい。
図1
図2
図3
図4
図5
【国際調査報告】