(58)【調査した分野】(Int.Cl.,DB名)
前記仮想メータの前記インスタンスは、管理機関から前記第2のロックされたバージョンのコードの承認を受け取ることに応答して、前記ロックされたバージョンのコードを前記第2のロックされたバージョンのコードに置き換えるようにさらに構成される、請求項1に記載のユーティリティデバイス。
別の仮想メータのインスタンスをさらに備え、メモリ空間が、前記仮想メータの前記インスタンスに対して指定され、前記別の仮想メータによってアクセス不可能である、請求項1に記載のユーティリティデバイス。
前記第2の仮想メータを新規の仮想メータにアップグレードすることであって、前記新規の仮想メータは、前記第2の仮想メータに関連付けられた前記データに対して1または複数のオペレーションを行うことができる、ことをさらに含む、請求項11に記載の方法。
前記計測ドライバから作成される別の仮想メータのインスタンスをさらに備え、前記別の仮想メータの前記インスタンスは、前記サイトに関連付けられた前記計測データ、または別のサイトに関連付けられた計測データを受け取り処理するように構成される、請求項14に記載のユーティリティメータ。
前記ロックされたバージョンのコードは、前記第1のメモリ空間に記憶された後に変更不可能であるデータを含み、および前記ロックされていないバージョンのコードは、変更可能であるデータを含む、請求項16に記載のユーティリティメータ。
【発明を実施するための形態】
【0004】
概観
前述のように、完全なサービスユーティリティメータの設置は、物理的空間制約のため、常に可能なわけではない。本出願は、分散された計量手法を説明し、この手法では、計量機能性が、(完全なサービスユーティリティメータよりも小さなフォームファクタを有することができる)計量要素と、計量要素から遠隔の位置に配設されたネットワーク通信デバイスとの間で分けられる。一般に、計量要素は、リソース消費情報を検知し、処理、記憶、および/または公益事業会社のヘッドエンド(head end)または中央局への報告のためにリソース消費データをネットワーク通信デバイスへ中継する。いくつかの実装形態では、ネットワーク通信デバイスは、(例えば、住宅用途で)単一計量要素と通信し単一計量要素をサポートすることができ、他の実装形態では、(例えば、共同住宅または商業サイトで)複数の計量要素と通信し複数の計量要素をサポートすることができる。各計測センサに対応する計量機能性は、ネットワーク通信デバイスのメモリにおける仮想メータのインスタンスとして実装され得る。従って、ネットワーク通信デバイスが複数の計量要素と通信し複数の計量要素をサポートする場合、ネットワーク通信デバイスは、複数の仮想メータインスタンスを含み得る。
【0005】
また前述のように、ユーティリティメータの特定の機能性および/またはデータは、他の機能性および/またはデータよりも厳しい要件に従うことがある。本出願は、互いに隔離または分割された複数のアプリケーション空間を使用する計量手法をさらに説明する。例えば、第1のアプリケーション空間は、顧客、公益事業会社および/または管理機関の要件に従うように構成されてよく、修正されないようにロックされることが可能である。第2のアプリケーション空間は、第1のアプリケーション空間から隔離されてよく、修正または更新を可能にするようにロックされないことが可能である。別の例では、第1のアプリケーション空間は、サードパーティデバイスまたはサービス(例えば、家庭内ディスプレイ、機器、サードパーティアプリケーション等)によってアクセス可能とすることができる一方、第2のアプリケーション空間は、認可された(authorized)デバイスまたはサービス(例えば、公益事業会社によって管理されるデバイス、公認または承認されたアプリケーション等)のみによってアクセス可能とすることができる。いくつかの例では、複数のアプリケーション空間は、互いに完全に隔離されてよく、それぞれが、それ自体のオペレーティングシステム、アプリケーションおよびデータストアを含む。しかしながら、他の例では、別々のアプリケーション空間が、特定の機能性(例えば特定のドライバ)を共有することができ、および/または共通データストアにアクセスすることができる。
【0006】
例示的な統一された計量プラットフォーム
図1は、単一の物理的計量デバイス100が完全な計量機能性を含む、例示的な統一された計量プラットフォームを示す。
図1に示されるように、例示的な物理的計量デバイス100は、計量要素102およびレジスタ処理要素104を含むことができる。計量要素102は、(集合的にアナログ−デジタル変換器106と称される)1または複数のアナログ−デジタル変換器(ADC)106−1、106−2、…、106−Sを含むことができ、それらは、1または複数のアナログ信号または入力をデジタル信号または入力に変換する。Sは1以上の整数である。計量要素102は、計測処理ユニット108をさらに含むことができる。計測処理ユニット108は、計測データ110(例えば、例示的な物理的計量デバイス100が取り付けられたサイトまたは機器に関連付けられた電圧および/または電流入力など)をデジタルサンプリングするように構成される。計測処理ユニット108は、1または複数のアナログ−デジタル変換器106によって変換されているデジタル化された計測データに対して基本的演算(例えば、電気メータの有効(active)、実(real)、および無効電力およびエネルギーを表す数学的計算)をさらに行うことができる。
【0007】
一実装形態では、レジスタ処理ユニット104がアプリケーション処理ユニット112を含むことができる。アプリケーション処理ユニット112は、インターフェース114(例えば、シリアルインターフェース、ユニバーサルシリアルバス、または他の物理的接続)を通じて、計量要素102の計測処理ユニット108によって処理された計測データを受け取る。処理された計測データを受け取ると、アプリケーション処理ユニット112は、処理された計測データに対して、データ記憶、検索、表示、ユーザ入力および/または通信を含むがこれらに限定されない1または複数のオペレーションを行うことができる。一実装形態では、レジスタ処理要素104は、レジスタ処理要素104(または例示的な物理的計量デバイス100)と関連付けられたユーティリティプロバイダとの間でデータを通信する通信モジュール116をさらに含むことができる。通信モジュール116は、例えば、無線周波数(RF)チャネル、電力線通信(PLC)チャネル、セルラ通信チャネルなどを含む、通信チャネル118を通じて、データを送信および受信することができる。
【0008】
また、いくつかの実装形態では、例示的な物理的計量デバイス100は、サイトまたは機器のユーティリティ消費示度などの示度を示すディスプレイ120を含むことができる。いくつかの事例では、例示的な物理的計量デバイス100がサービス遮断スイッチ122をさらに含むことができ、サービス遮断スイッチ122は、関連付けられたユーティリティプロバイダからレジスタ処理要素104の通信モジュール116を通じて制御信号または命令を受け取ることに応答して、関連付けられたユーティリティサービスがサイトまたは機器にサービスしないようにする遠隔遮断124を可能にする。
【0009】
いくつかの事例では、例示的な物理的計量デバイス100は、オペレーティングシステム(例えば、Linux(登録商標)、Windows(登録商標)、Unix(登録商標)などのマルチタスクオペレーティングシステム)と、オペレーティングシステム上で動作して、上述されたようにレジスタ処理ユニット104において処理された計測データに対してオペレーションを行う計量アプリケーションとを含むことができる。
【0010】
例示的な分散された計量プラットフォーム
統一された計量プラットフォームに加えて、本開示は、分散された計量プラットフォームも説明し、分散された計量プラットフォームでは、スマートユーティリティメータの機能性が、(完全なサービスユーティリティメータよりも小さなフォームファクタを有することができる)サービスの地点(point of service)における計量要素と、計量要素から遠隔の位置に配設されたネットワーク通信デバイスとの間で分けられる。分散された計量プラットフォームのネットワーク通信デバイスは、仮想メータ(または仮想計量アプリケーション)として、完全な機能性を有する物理的計量デバイスに関連付けられた1または複数の機能を仮想化する。仮想メータは、通常は(例示的な物理的計量デバイス100などの)物理的計量デバイス内に提供されるまたは含まれる機能および/またはメモリ空間の分離または分割をできるようにし、また、ネットワーク通信デバイスのメモリで動作する1または複数の仮想メータにおいて機能および/またはメモリ空間の実装を可能にする。例えば、ネットワーク通信デバイスは、仮想メータとして、例示的な物理的計量デバイス100のレジスタ処理要素104に関連付けられた機能の一部または全部を仮想化することができる。ネットワーク通信デバイスは、通信ネットワークを通じて遠隔の計量要素と通信することができる。より詳細に後述される一例では、単一のネットワーク通信デバイスが、複数の計量要素と通信してよく、複数の仮想メータ(例えば、それが通信している各計量要素に対応する別個の仮想メータインスタンス)をホストしてもよい。
【0011】
図2は、例えばネットワーク通信デバイス202および計測センサ204を含む複数のデバイスにて実装される、例示的な分散された計量プラットフォーム200を示す。この例では、ネットワーク通信デバイス202は、計測センサ204に対して別個または遠隔である。計測センサ204は、それを取り付けられたサイトまたは機器に関連付けられた計測データ206を収集および/またはサンプリングするように構成された、基本的計測センサを含むことができる。計測データ206は、単一または複数の局面のサービスを含むことができる。いくつかの実装形態では、基本的計測センサは、ネットワーク通信デバイス202に計測データを送る前に、収集(および/またはサンプリング)された計測データ206に対して基本的または事前の演算をさらに行うことができる。計測センサ204の例は、例示的な物理的計量デバイス100の計量要素102のような計量要素を含んでよい。また、計測センサ204は、計量側通信インターフェース208をさらに含むことができ、計量側通信インターフェース208は、通信接続210を介して計測センサ204とネットワーク通信デバイス202の間のデータ通信を促進する。一実装形態では、通信接続210は、例えば、無線接続(例えば、短距離無線周波数(RF)チャネル接続、WiFi接続など)または有線接続(例えば、USB、イーサネット(登録商標)、PLC、もしくは他の物理的ケーブル接続)を含む、近距離無線通信接続または短距離通信接続を含むことができる。一実装形態では、計測データ206は、例えば、サイトもしくは機器に関連付けられたユーティリティサービスの消費データ、サイトもしくは機器の識別情報、および/または計測センサ204の識別情報を含むことができるが、これらに限定されない。ユーティリティサービスは、例えば、水道サービス、ガスサービス、電気サービスなどを含んでよい。
【0012】
ネットワーク通信デバイス202は、仮装クラスタメータ(virtual cluster meter)212を含むことができ、一実装形態では、仮装クラスタメータ212は、例示的な物理的計量デバイス100のレジスタ処理要素104と同様の機能性を実施する。ネットワーク通信デバイス202は、通信接続210を介して計測センサ204との通信を促進する収集側通信インターフェース214をさらに含むことができる。一実装形態では、仮想クラスタメータ212は、物理的計量デバイス100の機能性と同様の機能性を含む仮想メータ(またはアプリケーション)216のインスタンスを含むことができる。仮想メータ216のインスタンスは、例示的な物理的計量デバイス100のレジスタ処理要素104の計量アプリケーションによって行われる機能と同様の1または複数の機能を行うことができる。仮想メータ216のインスタンスは、ネットワーク通信デバイス202に含まれるオペレーティングシステム218内または上で動作することができる。一実装形態では、ネットワーク通信デバイス202のオペレーティングシステム218は、仮想メータの全てに共通であってよい。他の実装形態では、各仮想メータ216(または仮想メータ216のインスタンス)は、オペレーティングシステムのそれ自体のインスタンス、およびオペレーティングシステムの関連付けられたドライバを含むことができる。
【0013】
上の例では、分散された計量デバイス200は、単一のネットワーク通信デバイス202および単一の計測センサ204を含むように説明されているが、いくつかの事例では、分散された計量デバイス200は、2つ以上の計測センサ204を含むことができる。各計測センサ204は、仮想クラスタメータ212における仮想メータ216の単一のインスタンスに関連付けられ得る。追加的または代替的に、いくつかの実装形態では、1または複数の計測センサ204はそれぞれが、仮想メータ216の複数のインスタンス、および/または複数の仮想メータ216に関連付けられてもよい。これに関して、収集側通信インターフェース214は、計測
センサ204と仮想メータ216の間の通信をサポートすることができる。例えば、特定の計測センサ204から計測データを受け取ると、収集側通信インターフェース214は、後続処理のために、計測データを、この計測センサ204が対応する仮想メータ216へ経路指定することができる。
【0014】
一実装形態では、仮想メータ216は、(計量/計測アプリケーション、ユーティリティデータ分析アプリケーション、不正検出アプリケーションなどの)複数のアプリケーションを含むことができる。複数のアプリケーションは、仮想メータ216内で互いに隔離され得る。追加的または代替的に、仮想メータ216は、他の仮想メータから隔離されてもよい。例えば、仮想メータは、別の仮想メータに関連付けられたデータの一部または全部についてアクセス(例えば読取り)および/または操作(例えば、編集、修正、書き込みなど)を行うことを防止され得る。追加的または代替的に、仮想メータは、別の仮想メータに含まれる1または複数のアプリケーションおよび/またはデータに影響することを制限され得る。分散された計量デバイス200(または仮装クラスタメータ212)は、各仮想メータに対して指定されたメモリ空間またはパーティションを割り当てること、ならびに/または、各仮想メータとそれぞれの1もしくは複数のアプリケーションおよび/もしくはデータとの間の対応関係を確立することによって、この隔離を実施することができる。分散された計量デバイス200(または仮想クラスタメータ212)は、データもしくはアプリケーションが、仮想メータに対して割り当てられた指定されたメモリ空間内に配置されているかどうか、ならびに/または仮想メータとアプリケーションの間の対応関係が、分散された計量デバイスにおいて存在するかどうかを検討することにより、仮想メータが特定のデータにアクセスすることおよび/またはアプリケーションを使用することを可能にされるかどうかを決定することができる。
【0015】
また、ネットワーク通信デバイス202は、1もしくは複数の仮想メータ(または1もしくは複数の仮想メータの1もしくは複数のアプリケーション)によって共有されおよび/またはアクセス可能である、共通データストア220および/またはプログラムライブラリ222をさらに含むことができる。データストア220は、仮想メータによって使用可能な共通データまたは情報を記憶することができる。プログラムライブラリ222は、それぞれの計測センサからのデータに対して1または複数のオペレーションを行うために仮想メータが利用し得る1または複数のルーチンまたはプログラムを含むことができる。
【0016】
(完全な計量機能性を有する)物理的計量デバイスの1または複数の機能を仮想化し、仮想メータを物理的計量デバイスの残りの部分から分離することによって、説明されたシステムは、新規の計量デバイスが、サイトまたは機器に関連付けられた計測データを収集またはサンプリングすることに焦点を合わせられるようにする。さらに、説明されたシステムは、新規の計量デバイスが、従来の計量デバイスよりも小さいサイズおよび/または少ない処理パワー(従って、より低いコスト)を有することを可能にする。
【0017】
上の例では、仮想メータ216は、分散された計量デバイス200のネットワーク通信デバイス202(または仮想クラスタメータ212)内に存在するように説明されている。しかしながら、あるいは、いくつかの実装形態では、仮想メータ216の機能の一部または全部が、例えば、計量デバイスの物理的サイズ、メモリ、および/または処理パワーの要件などに基づいて、サイトまたは機器(例えば、計測センサ204または例示的な物理的計量デバイス100)からの計測データの収集および/またはサンプリングを行う計量デバイス内に存在してもよい。
【0018】
本出願は、複数の多様な実施形態および実装形態を説明する。以下の節は、種々の実装形態を実施するために適切な例示的な環境を説明する。次に、本出願は、仮想メータを使用して計量デバイスを仮想化し計測データを処理するための例示的なシステム、デバイス、およびプロセスを説明する。
【0019】
例示的な環境
図3は、例示的な分散された計量デバイス200を実装するために使用可能な例示的なネットワーク環境300の概略図である。ネットワーク環境300は、ネットワーク通信デバイス202と、(集合的にサイト302と称される)1または複数のサイト
302−1、302−2、302−Nに関連付けられた(上述されたように、集合的に計測センサ204と称される)1または複数のユーティリティ計量デバイスまたは計測センサ204−1、204−2、…、204−Mとをさらに含むことができる。MおよびNは、同じまたは異なることがあり、1以上の整数である。この例では、ネットワーク通信デバイス202は、仮想クラスタメータ212を含むことができる。いくつかの実装形態では、ネットワーク環境300は、1または複数のサーバ304をさらに含むことができる。1または複数の計測センサ204は、通信接続210を介してネットワーク通信デバイス202とデータを通信することができる。ネットワーク通信デバイス202は、通信ネットワーク306を通じて1または複数のサーバ304と通信することができる。
【0020】
この例では、仮想クラスタメータ212(および/またはネットワーク通信デバイス202)は、1または複数の計測センサ204に対して別個または遠隔であるように説明されている。例えば、1または複数の計測センサ204が、1つの位置(例えば、共同住宅のクローゼットまたはエンクロージャ)内に配置されるとともに、仮想クラスタメータ212(および/またはネットワーク通信デバイス202)が、第1の位置から遠隔にある第2の位置(例えば、クローゼットまたはエンクロージャの外部、共同住宅の別の部屋、共同住宅建築の屋根または外部など)に設置されてもよい。さらに、仮想クラスタメータ212(および/またはネットワーク通信デバイス202)の機能の一部または全部は、サーバ304によって実装されてよい。
【0021】
さらに、いくつかの事例では、仮想クラスタメータ212(および/またはネットワーク通信デバイス202)の機能の一部または全部は、分散されたコンピュータシステムまたはアーキテクチャ、例えば、クラウドコンピュータシステムまたはアーキテクチャで実装されてよい。追加的または代替的に、いくつかの実装形態では、仮想クラスタメータ212(および/またはネットワーク通信デバイス202)の機能の一部または全部は、1または複数のサービスとして実装されてよい。例えば、仮想クラスタメータ212(および/またはネットワーク通信デバイス202)の機能の一部または全部は、例えば、計測センサ204、ネットワーク通信デバイス202、および/またはサーバ304を含む1または複数のコンピュータデバイスによって提供される、1または複数のクラウドサービスとして実装されてよい。
【0022】
一実装形態では、サイトは、住宅または事業用の土地建物またはユニットなどの不動産(例えば、部屋、アパート、家、事務所、マルチユニットの建物、共同住宅など)を含んでよい。追加的または代替的に、いくつかの実装形態では、サイトは、(給湯器、暖房炉、空調システムなどの)機器を含んでよい。いくつかの実装形態では、サイトは、例えば計測センサ204のような共通ユーティリティ計量デバイスを共有する1または複数の不動産および/または機器を含んでよい。
【0023】
さらに、通信接続210は、短距離通信接続および/または近距離通信接続を含んでよい。短距離通信接続は、例えば、(WiFi接続、短距離無線周波数(RF)チャネル接続などのような)短距離無線接続、(USB、イーサネット、PLC、もしくは他の物理的ケーブル接続のような)有線接続、または無線と有線の両方の接続を含んでよい。
【0024】
いくつかの実装形態では、通信ネットワーク306は、無線もしくは有線ネットワーク、またはこれらの組み合わせであってよい。通信ネットワーク306は、互いに相互接続され、単一の大きなネットワーク(例えば、インターネットまたはイントラネット)として機能する個別ネットワークの集合であってよい。そのような個別ネットワークの例は、近隣エリアネットワーク(neighborhood area network:NAN)、電話網、ケーブルネットワーク、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、メトロポリタンエリアネットワーク(MAN)を含むが、これらに限定されない。さらに、個別ネットワークは、無線もしくは有線ネットワーク、またはこれらの組み合わせであってもよい。いくつかの実装形態では、通信ネットワーク306は、データを送信するために、無線周波数(RF)チャネル、電力線通信(PLC)チャネル、セルラ通信チャネルなどを採用することができる。
【0025】
さらに、ネットワーク通信デバイス202は、例えば、制御デバイス、トランス、ルータ、サーバ、リレー(例えばセルラリレー)、スイッチ、バルブ、上記の組み合わせ、または、通信ネットワーク306に結合可能であって計測センサ204に代わってデータを送信および/もしくは受信できる任意のデバイスを含む、様々なデバイスの1つとして実装されてよい。一実装形態では、計測センサ204は、部分的にまたは完全にネットワーク通信デバイス202を通じて、関連付けられたユーティリティプロバイダ(例えばサーバ304)とデータを通信する。
【0026】
一実装形態では、計測センサ204は、例えば、スマートユーティリティメータ(例えば、電気、ガス、および/もしくは水量メータ)、センサ(例えば、温度センサ、測候所、周波数センサなど)、または上記の組み合わせを含む、様々なデバイスの1つとして実装されてよい。計測センサ204は、サイト(例えば住宅サイトなど)に関連付けられた計測データ(またはリソース消費情報)を収集および/またはサンプリングし、(基本的処理を伴うまたは伴わない)計測データを処理するためにネットワーク通信デバイス202に送る。計測データは、サイトに関連付けられた(水道サービス、ガスサービス、および/または電気サービスなどの)ユーティリティサービスの消費データを含むことができるが、これらに限定されない。また、計測データは、サイトの識別情報(例えば消費者番号)、および/または計測センサ204の識別情報(例えばデバイス識別子など)を含むことができる。
【0027】
また、いくつかの実装形態では、(
図3の計測センサ204−Mで表されるような)計測センサ204は、(
図1に示された計測処理ユニット108に比せられるような)処理ユニット308を含むことができる。処理ユニット308は、メモリ312に通信可能に結合された1または複数のプロセッサ310を含むことができる。メモリ312は、種々の機能を実装するようにプロセッサ310上で実行可能な1または複数のソフトウェアおよび/またはファームウェアモジュールを記憶するように構成され得る。本明細書ではモジュールはメモリに記憶されプロセッサ上で実行可能なソフトウェアおよび/またはファームウェアとして説明されているが、他の実装形態では、任意または全てのモジュールが、説明された機能を実行するために、全体または部分的にハードウェア(例えば、ASIC、特化された処理ユニットなど)によって実装されてよい。
【0028】
メモリ312は、プロセッサ可読媒体を含んでよく、ランダムアクセスメモリ(RAM)などの揮発性メモリ、および/または読取り専用メモリ(ROM)もしくはフラッシュRAMなどの不揮発性メモリの形態をとってよい。プロセッサ可読媒体は、プロセッサ可読命令、データ構造、プログラムモジュール、1または複数のプロセッサによって実行される他のデータなどの情報の記憶のために任意の方法または技術で実装された揮発性および不揮発性の着脱可能および着脱不能な媒体を含む。プロセッサ可読媒体の例は、相変化メモリ(PRAM)、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、他のタイプのランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、電気的消去可能プログラマブル読取り専用メモリ(EEPROM)、フラッシュメモリ、もしくは他のメモリ技術、コンパクトディスクROM(CD−ROM)、デジタル多用途ディスク(DVD)、もしくは他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、もしくは他の磁気ストレージデバイス、またはコンピュータデバイスによるアクセスのために情報を記憶するように使用され得る任意の他の非伝送媒体を含むが、これらに限定されない。本明細書で定義される場合、プロセッサ可読媒体は、変調されたデータ信号および搬送波などの通信媒体を含まない。
【0029】
いくつかの実装形態では、計測センサ204は、通信接続314を任意に含んでよい。通信接続314は、短距離通信接続、近距離通信接続などを含む。短距離通信接続は、例えば、(WiFi接続、短距離無線周波数(RF)チャネル接続などの)短距離無線接続、(USB、イーサネット、PLC、もしくは他の物理的ケーブル接続などの)有線接続、または無線と有線の両方の接続を含んでよい。短距離通信接続は、例えば、Bluetooth(登録商標)接続などを含んでよい。
【0030】
いくつかの実装形態では、ネットワーク環境300は、中央局316をさらに含むことができる。いくつかの例では、中央局316は、ネットワーク通信デバイス202を通じて計測センサ204の1または複数から受け取られたデータの処理、分析、記憶、および/または管理を行う、集中化されたメータデータ管理システムを含む。追加的または代替的に、中央局316は、AMIネットワークのデバイスのレジストリ、デバイス構成設定、およびバージョン情報などを保持するために、ネットワーク管理システム(NMS)を含んでよい。
図3の例は、単一の位置で中央局316を示すが、いくつかの例では、中央局316は、複数の位置(例えばサーバ304)に分散されてよく、および/または、(例えば、高度に非集中化され分散されたコンピュータプラットフォームの場合に)完全に除去されてもよい。
【0031】
図4は、ネットワーク通信デバイス202をより詳細に示す。一実装形態では、ネットワーク通信デバイス202は、1または複数のプロセッサ402、ネットワークインターフェース404、およびメモリ406を含むことができるが、これらに限定されない。いくつかの実装形態では、ネットワーク通信デバイス202は、入力/出力インターフェース408を任意に含んでよい。プロセッサ402は、ネットワークインターフェース404(例えば、
図2に示されたような収集側通信インターフェース214)から受け取られた、入力/出力インターフェース408から受け取られた、および/またはメモリ406に記憶された命令を実行するように構成される。メモリ406は、プロセッサ可読媒体を含むことができる。
【0032】
以下の例示的な実装形態では、仮想メータ(または仮装計量アプリケーション)は、ネットワーク通信デバイス202(および/または仮想クラスタメータ212)内に存在するおよび/またはインスタンス化されることができる。しかしながら、いくつかの実装形態では、1または複数の仮想メータ(またはアプリケーション)は、(例えば、計測センサ204が、1または複数の仮想メータまたはアプリケーションを動作させるための最小限のメモリおよび処理能力を所持するならば、)計測センサ204内に存在するおよび/またはインスタンス化されることができる。追加的または代替的に、仮想メータ(または仮想メータの機能)は、ネットワーク通信デバイス202と関連付けられた計測センサ204との間で分散されてよい。
【0033】
一実装形態では、ネットワーク通信デバイス202は、オペレーティングシステム410を含むことができる。オペレーティングシステム410は、例えば、マルチタスクオペレーティングシステム、例えば、Linux、Unix、Windows CE(登録商標)などを含んでよい。一実装形態では、オペレーティングシステム410の一部または全部が、仮想クラスタメータ212に含まれてもよい。あるいは、仮想クラスタメータ212が、オペレーティングシステム410によってサポートされるアプリケーションまたはサービスとして含まれてもよい。以下に説明される例示的な実装形態では、オペレーティングシステム410が仮想クラスタメータ212に含まれるように説明される。
【0034】
一実装形態では、仮想クラスタメータ212は、オペレーティングシステム410にて動作する(集合的に仮想メータ412と称される)1または複数の仮想メータ412−1、…、412−Pの1または複数のインスタンスを含むことができる。Pは1以上の整数である。他の事例では、仮想メータ412(または仮想メータのインスタンス)は、オペレーティングシステム(例えばオペレーティングシステム410)のそれ自体のインスタンス、およびそれの関連付けられたドライバを含むことができる。仮想メータ412の各インスタンスは、ネットワーク通信デバイス202に接続された最大1つの計測センサ240に関連付けられ得る。追加的または代替的に、仮想メータ412の1または複数のインスタンスが、単一の計測センサ204に関連付けられてもよい。いくつかの実装形態では、複数の異なる仮想メータ412のインスタンスが、単一の計測センサ204に関連付けられ得る。同じ仮想メータ412のインスタンスは、オペレーティングシステム410および/または仮想クラスタメータ212によって提供された同じセットのソフトウェアコンポーネントおよびデータから作成またはインスタンス化されたインスタンスに対応する。異なる仮想メータ412のインスタンスは、オペレーティングシステム410および/または仮想クラスタメータ
212によって提供された異なる(部分的に重複するまたは全く重複しない)セットのソフトウェアコンポーネントおよびデータから作成またはインスタンス化されたインスタンスに対応する。一実装形態では、仮想メータ412の各インスタンスは、それぞれのインスタンスの識別情報としてインスタンス識別子またはグループ識別子を割り当てられる。
【0035】
仮想クラスタメータ212は、単一の計測センサ204について、仮想メータ412の2以上のインスタンス、または2以上の仮想メータ412のインスタンスをインスタンス化することができ、異なるインスタンスまたは仮想メータが、単一の計測センサ204から受け取られた計測データに対して異なるオペレーションを行う。計測データに対する異なるオペレーションの例は、例えば、課金目的の計測データの処理、計測データの特性を決定するための計測データの処理(例えば、単一の計測センサ204が取り付けられた住宅サイトに関連付けられたユーティリティ消費)、ユーティリティサービスの品質の監視などを含んでよい。
【0036】
一実装形態では、仮想クラスタメータ212(または仮想メータ412)は、(制御信号、計測データなどのような)データを、通信接続210を通じて対応する計測センサ204と通信することができる。例えば、仮想クラスタメータ212(または仮想メータ412)は、安全な暗号化(secure encryption)プロトコルまたはアルゴリズムを使用して、データを計測センサ204と通信することができる。安全な暗号化プロトコルまたはアルゴリズムの例は、例えば、共有鍵暗号化、公開/秘密鍵暗号化、デジタル署名、メッセージ認証コード(MAC)などを含んでよい。計測センサ204の処理および暗号化能力に応じて、1または複数の暗号化プロトコルまたはアルゴリズムがデータ通信のために選択され得る。例えば、いくつかの実装形態では、仮想クラスタメータ212(または仮想メータ412)は、安全な暗号化プロトコル例えばデジタル署名を使用して、計測センサ204に制御信号または命令を送って、計測センサ204に実装されまたは取り付けられ得る(遮断スイッチ122などの)遮断スイッチを作動させることができる。
【0037】
さらに、仮想クラスタメータ212(またはネットワーク通信デバイス202)は、仮想メータ412の各インスタンスに関係付けられた情報を記憶するメモリ空間を専用化するまたは割り当てることができる。情報は、例えば、仮想メータ412のインスタンスに関連付けられたデータおよびアプリケーションプログラムを含んでよい。一実装形態では、仮想メータ412の各インスタンスは、同じ仮想メータ412および/または異なる仮想メータ412の他のインスタンスから隔離される。例えば、第1の仮想メータの第1のインスタンスに割り当てられた第1のメモリ空間におけるデータは、第2の仮想メータの第2のインスタンスによってアクセス不可能とすることができ、ここで、第1の仮想メータと第2の仮想メータは同じであっても異なっていてもよい。追加的または代替的に、第1の仮想メータの第1のインスタンスと第2の仮想メータの第2のインスタンスとは、1つのインスタンスが別のインスタンスのオペレーションおよびデータに影響することができないという意味で互いに隔離される。一実装形態では、仮想クラスタメータ
212は、各仮想メータ412に対して指定されたメモリ空間を割り当てること、ならびに/または、各仮想メータ412とそれぞれの1もしくは複数のアプリケーションおよび/もしくはデータとの間の対応関係を確立することによって、この隔離を実施することができる。例えば、各仮想メータ412(または仮想メータ412の各インスタンス)は、保護されたモードで動作していることが可能である。一実装形態では、保護されたモードは、ネットワーク通信デバイス202内のハードウェア(例えば、コンピュータデバイス内に含まれ、かつプロセッサによって要求されたメモリへのアクセスの処理を担当するメモリ管理ユニット(MMU)またはページ化メモリ管理ユニット(PMMU))によって提供および/または実施され得る。仮想クラスタメータ
212は、仮想メータ412が特定のデータへのアクセスおよび/またはアプリケーションの使用を可能にされるかどうかに関して、仮想メータ412に割り当てられた指定されたメモリ空間内にそのデータおよび/もしくはアプリケーションが配置されているかどうか、ならびに/または仮想メータ412とアプリケーションの間の対応関係が仮想クラスタメータ
212内に存在するかどうかを検査することによって、決定することができる。
【0038】
また、ネットワーク通信デバイス202(または仮想クラスタメータ212)は、1もしくは複数の仮想メータ412(または1もしくは複数の仮想メータ412の1もしくは複数のアプリケーションプログラム)によって共有されるおよび/またはアクセス可能である共通データストア414および/またはプログラムライブラリ416をさらに含むことができる。データストア414は、仮想メータ412によって使用可能な共通データまたは情報を記憶することができる。プログラムライブラリ416は、仮想メータ412がそれぞれの計測センサ204からのデータに対する1または複数のオペレーションを行うために採用し得る、1または複数のルーチンまたはプログラムを含むことができる。
【0039】
一実装形態では、仮想メータ412の各インスタンスは、別々に、ネットワークインターフェース404(例えば、
図2に示されるような収集側通信インターフェース214)を通じて、対応する計測センサ204とデータを通信(受信および/または送信)することができる。上述されたように、仮想メータ412の各インスタンスは、別々に、ネットワークインターフェース404を通じ通信接続210を介して、対応する計測センサ204とデータを通信することができる。ネットワークインターフェース404は、計測センサ204と仮想メータ412の間の通信をサポートする。例えば、特定の計測センサ204から計測データを受け取ると、ネットワークインターフェース404は、後続処理のために、計測データを、この計測センサ204が対応する仮想メータ412へ経路指定することができる。ネットワークインターフェース404は、例えば、計測センサ204の識別情報、および/または仮想メータ412のインスタンスの識別情報に基づいて、仮想メータ412のどのインスタンスがどの計測センサ204に対応するかを決定することができる。
【0040】
また、ネットワーク通信デバイス202は、1または複数の計測センサ204から受け取られた計測データを、仮想メータ412のそれぞれのインスタンスによる処理の後に、関連付けられたユーティリティプロバイダ(例えば、サーバ304または中央局316)に送信する、ネットワーキングモジュール418を含むことができる。一実装形態では、処理された計測データを送る前に、ネットワーキングモジュール418が、計測センサ204、仮想メータインスタンス、および/または仮想メータに応じて、処理された計測データを分け隔て、分け隔てられた計測データを別々にユーティリティプロバイダに送ることができる。あるいは、ネットワーキングモジュール418は、計測センサの処理された計測データを、分け隔てなしにユーティリティプロバイダに送ってもよい。
【0041】
いくつかの実装形態では、ネットワーキングモジュール418は、計測センサ204が取り付けられたサイト302(例えば住宅サイトなど)にユーティリティサービスが供給またはサービスすることを遠隔で遮断するための、ユーティリティプロバイダからの制御信号または命令を受け取ることができる。制御信号または命令を受け取ることに応答して、ネットワーク通信デバイス202は、計測センサ204に取り付けられた(サービス遮断スイッチ
122と同様の)サービス遮断スイッチに制御信号を送って、ユーティリティサービスがサイト302にサービスすることを遠隔で遮断することができる。
【0042】
図5は、1または複数の仮想メータ412を実装すること
に使用可能な例示的なコンピュータ環境500をより詳細に示す。この例では、1または複数の仮想メータ412(すなわち、仮想メータ412−1、…、412−K)は、ネットワーク通信デバイス502においてインスタンス化されおよび/または動作するように説明されている。Kは1以上の整数である。一実装形態では、ネットワーク通信デバイス502は、例えば、物理的計量デバイス100,分散された計量デバイス200、ネットワーク通信デバイス202、計測センサ204、および/または仮想クラスタメータ212と同様の機能性を含むことができる。いくつかの実装形態では、ネットワーク通信デバイス502は、ユーティリティメータまたはユーティリティコンピュータデバイスを含むことができる。1または複数の仮想メータ412は、(ネットワーク通信デバイス502がネットワーク通信デバイス202に対応する場合のメモリ406などの)メモリにおいて、(ネットワーク通信デバイス502が仮想クラスタメータに対応する場合のオペレーティングシステム410などの)オペレーティングシステム内または上で、動作することができる。オペレーティングシステム504は、Linux、Unix、Windows CEなどのマルチタスクオペレーティングシステムを含んでよい。一実装形態では、1または複数の仮想メータ412は、オペレーティングシステム504のユーザまたはアプリケーション空間506においてインスタンス化され動作することができる。
【0043】
一実装形態では、(仮想メータ412−Kによって表されるような)仮想メータ412は、(集合的にアプリケーションスタック508と称される)1または複数のアプリケーションスタック508−1、…、508−Jを含むことができる。Jは1以上の整数である。各アプリケーションスタック508は、データを作成するデータならびにコード(および/またはアプリケーション)の自己完結された「スタック」を含んでよい。アプリケーションスタック508は、ファイルシステム上のそれ自体のディレクトリ内で動作することができ、他のアプリケーションスタック508から独立して(例えば、他のアプリケーションスタックが、仮想メータ412の同じインスタンスに属するか異なるインスタンスに属するかにかかわらず)アップグレードされてよい。
【0044】
一実装形態では、仮想メータ412のインスタンス(または仮想メータインスタンス)は、異なるアプリケーションスタック508に分割および/または記憶され得る異なるタイプのコードおよび/またはデータを含むことができる。限定ではなく例として、仮想メータインスタンスは、例えば、メモリに記憶された後に変更不可能であるロックされたバージョンのコード、およびメモリに記憶された後に変更可能であるロックされていないバージョンのコードを含むことができる。前述のように、ネットワーク通信デバイス502の特定の機能性および/またはデータは、他の機能性および/またはデータよりも厳しい要件に従うことがある。一実装形態では、ネットワーク通信デバイス502(または仮想メータインスタンス)は、互いから隔離または分割された複数のアプリケーション空間を使用してこれらの要件を満たすことができる。例えば、第1のアプリケーション空間は、顧客、公益事業会社、および/または管理機関の要件に従うように構成されてよく、修正されないようにロックされることが可能である。第2のアプリケーション空間は、第1のアプリケーション空間から隔離されてよく、修正または更新を可能にするようにロックされないことが可能である。別の例では、第1のアプリケーション空間は、サードパーティデバイスまたはサービス(例えば、家庭内ディスプレイ、機器、サードパーティアプリケーションなど)によってアクセス可能とすることができる一方、第2のアプリケーション空間は、認可されたデバイスまたはサービス(例えば、公益事業会社によって管理されるデバイス、公認または承認されたアプリケーションなど)のみによってアクセス可能とすることができる。いくつかの例では、複数のアプリケーション空間は、互いに完全に隔離されてよく、それぞれが、それ自体のオペレーティングシステム、アプリケーション、およびデータストアを含む。しかしながら、他の例では、別々のアプリケーション空間が、特定の機能性(例えば特定のドライバ)を共有することができ、および/または共通データストアにアクセスすることができる。
【0045】
例えば、仮想メータ412(および/または仮想クラスタメータ
212)のインスタンスは、例えば、使用時間帯(time of use:TOU)アプリケーションが管理機関によって承認もしくは認定されているかどうかに応じて、ロックされるまたはロックされないことが可能である、TOUアプリケーションを含むことができる。TOUアプリケーションは、ユーティリティプロバイダが、時刻に基づいて、仮想メータ412のインスタンスに対応する計測センサ204に関連付けられたユーティリティ消費者に、異なるように課金または請求することをできるようにする。例えば、TOUアプリケーションは、2つの異なる期間である「ピーク時」および「オフピーク」を含み、例えば、ユーティリティプロバイダによって定義されるような2つの期間の1つとして、異なる時刻、日、週、月、および/または季節を指定することができる。追加的または代替的に、仮想メータ412(および/または仮想クラスタメータ
212)のインスタンスは、仮想メータ412のインスタンスに対応する計測センサ204に関連付けられたユーティリティ消費者のための負荷プロファイルアプリケーションを含む。負荷プロファイルアプリケーションは、ユーティリティ消費者の(ユーティリティ使用または消費などの)負荷プロファイルを時間経過とともに検出および/または分析し、このプロファイルの情報をユーティリティプロバイダに提供することができる。このプロファイル情報は、プロファイルが前もって分析されるユーティリティ消費者を含むそれの消費者に対して十分であろうユーティリティサービスを、ユーティリティプロバイダが決定および生成することを可能にすることができる。
【0046】
限定ではなく例として、ロックされたバージョンのコードは、例えば、計測データを処理するために使用される1または複数の機能および/またはパラメータ(例えば、課金目的に使用される機能および/またはパラメータなど)を含むことができる。追加的または代替的に、ロックされたバージョンのコードは、管理機関によって承認されたコードのバージョンを含むことができる。管理機関は、ネットワーク通信デバイス502が設置された国で設定された法的要件および/またはデバイス要件をネットワーク通信デバイス502が満たすかどうかを監督(oversee)および/または認定する、認可されたエンティティを含んでよい。追加的または代替的に、ロックされたバージョンのコードは、法定計量によって規制されおよび/または法的管理に従う属性または特性を含む法律に関連するコードのバージョンを含んでよい。ロックされたバージョンのコードの例は、インスタンス化後には変更または改変されることが可能にされないユーティリティ消費を計算するために使用される方程式または式を含むアプリケーションスタックを含む。
【0047】
ロックされていないバージョンのコードは、法律に関連しないコードのバージョン(すなわち、法定計量によって規制されおよび/または法的管理に従う属性または特性を含まないコード)を含んでよい。追加的または代替的に、ロックされていないバージョンのコードは、計測データを処理するために、管理機関によってまだ承認されていないコードのバージョン(例えば、提示された新規のコード、またはパイロットコード)を含んでよい。追加的または代替的に、ロックされていないバージョンのコードは、経時変化を受けやすいコードのバージョンを含んでよい。例えば、ロックされていないバージョンのコードは、サードパーティアプリケーションによってアクセス可能なコードを含むアプリケーションスタック、計測データを処理するための方程式または式の1もしくは複数の新規もしくはテストバージョン、方程式または式の新規もしくはテストバージョンの結果を、方程式または式の当初もしくは承認バージョンと比較するように構成されたコードのバージョン、および/または、監視、盗難もしくは不正検出、データ分析などの追加の計算もしくはテストのための他のコードを含んでよい。
【0048】
いくつかの事例では、仮想メータインスタンスは、ロックされていないバージョンのコードによって処理された計測データの結果を、ロックされたバージョンのコードによって処理された計測データの結果と比較することができる。例えば、仮想メータインスタンスは、ロックされていないバージョンのコードによって処理された計測データの結果が、ロックされたバージョンのコードによって処理された計測データの結果に対して予め決定された誤差の閾値内であるかどうかを決定することができる。ロックされていないバージョンのコードによって処理された計測データの結果とロックされたバージョンのコードによって処理された計測データの結果との差が、予め決定された誤差の閾値内であると決定することに応答して、仮想メータインスタンスは、ロックされていないバージョンのコードをロックして(コードにフラグを立てて)、第2のロックされたバージョンのコードを生成することができる。いくつかの実装形態では、仮想メータインスタンスは、管理機関から第2のロックされたバージョンのコードの承認を受け取ることに応答して、ロックされたバージョンのコードを第2のロックされたバージョンのコードに置き換えることができる。例えば、計測データを処理するための以前に使用されたロックされたバージョンのコードを参照または識別する代わりに、仮想メータインスタンスは、計測データを処理するための第2(新規)のバージョンのコードを参照または識別することができる。仮想メータインスタンスは、そのようにするために、第2のロックされたバージョンのコードが計測データを処理するために現在使用されることを示す構成(ファイル)を変更または更新する(例えば、構成ファイルにおける計測データを処理するためのコードに関連付けられたエントリを、第2のロックされたバージョンのコードの識別子またはアドレスに更新する)ことができる。
【0049】
いくつかの実装形態では、コンピュータ環境500は、オペレーティングシステム504の
カーネル空間にオペレーティングシステム504のカーネル(またはカーネルのコンポーネント)として動作する計測ドライバ510をさらに含むことができる。計測ドライバ510は、ネットワーク通信デバイス502が始動されたときにオペレーティングシステムの
カーネル空間にロードされ維持され得る。計測ドライバ510は、計測データを処理するために1または複数の仮想メータ412へのサポートを提供する。追加的または代替的に、いくつかの実装形態では、計測ドライバ510が、仮想メータインスタンスのロックされたバージョンのコードおよび/またはロックされていないバージョンのコードに、計測データを提供することができる。
【0050】
一実装形態では、ネットワーク通信デバイス502は、ロックされたバージョンのコードとロックされていないバージョンのコード(例えば、法律に関連するコードと法律に関連しないコード)の分離を実施し、ロックされていないバージョンのコードからロックされたバージョンのコードを隔離することができる。例えば、ネットワーク通信デバイス502は、ロックされたバージョンのコードおよびロックされていないバージョンのコードに対して異なるメモリ空間を指定することによって、ロックされたバージョンのコードとロックされていないバージョンのコードとの間のハードスプリット(hard-split)またはソフトスプリット(soft-split)を実施することができる。次いで、ネットワーク通信デバイス502は、ロックされていないバージョンのコードが、ロックされたバージョンのコードに割り当てられたメモリ空間にアクセスすること、および逆の場合を制限することができる。しかしながら、いくつかの実装形態では、ネットワーク通信デバイス502は、ロックされたバージョンのコードがロックされていないバージョンのコードに割り当てられたメモリ空間にアクセスすることを可能にするが、その逆は可能にしなくてよい。
【0051】
前述の実装形態と同様に、ネットワーク通信デバイス502はさらに、異なる仮想メータインスタンスに対して異なるメモリ空間を指定することができ、仮想メータインスタンスは、別の仮想メータインスタンスのメモリ空間にアクセスすることを可能にされないことができる。追加的または代替的に、ネットワーク通信デバイス502はさらに、仮想メータインスタンス間の隔離を実施するために、仮想メータインスタンス(その中にアプリケーションおよびデータを含む)とメモリ空間との間の対応関係を確立することができる。そのようにして、ネットワーク通信デバイス502は、1つの仮想メータインスタンスに関連付けられたコード、アプリケーション、および/またはデータを、別の仮想メータインスタンスに関連付けられたコード、アプリケーション、および/またはデータから隔離して、各仮想メータインスタンスが別の仮想メータインスタンスのオペレーションおよびデータに影響できないようにする。
【0052】
一実装形態では、ネットワーク通信デバイス502は、1または複数の仮想メータ412のインスタンスからのデータを記憶する共通データストア514をさらに含むことができる。記憶されるデータの例は、例えば、計測データが処理される仮想メータインスタンス、ネットワーク通信デバイス502、または仮想メータインスタンスに対応する計測センサの各識別子でスタンプまたは識別される関連付けられたユーティリティプロバイダに送られるべき、処理された計測データを含むことができる。追加的または代替的に、ネットワーク通信デバイス502は、共通プログラムライブラリ516をさらに含むことができ、共通プログラムライブラリ516から、1または複数の仮想メータインスタンスが、例えば、計測データを処理するためのルーチンまたは機能を導出および/または呼出しすることができる。
【0053】
一実装形態では、ネットワーク通信デバイス502は、オペレーティングシステム504によって提供された1または複数のサービスおよび/またはリソースを含むことができる第1のグループのコンポーネントのインスタンスを作成することにより、第1の仮想メータインスタンス(例えば、仮想メータ412−1のインスタンス)をインスタンス化することができる。1または複数のサービスおよび/またはリソースは、例えば、オペレーティングシステム504のユーザ空間および/またはカーネル空間に提供されるソフトウェアモジュール、カーネル、ドライバ、および/またはプログラムを含んでよい。ネットワーク通信デバイス502は、第1のインスタンスまたはグループ識別子を、第1の仮想メータインスタンスに割り当て、第1の仮想メータインスタンスのグループの各コンポーネントに関連付けられたデータおよび/またはコードに、該当する第1のコンポーネント識別子を割り当てることができる。
【0054】
いくつかの実装形態では、ネットワーク通信デバイス502は、1または複数の他の仮想メータインスタンスをインスタンス化することができる。例えば、ネットワーク通信デバイス502は、同じ第1のグループのコンポーネントのインスタンス、または第1のグループのコンポーネントとは異なる第2のグループのコンポーネントのインスタンスを作成することにより、第2の仮想メータインスタンス(例えば、仮想メータ412−Mのインスタンス)をインスタンス化することができる。ネットワーク通信デバイス502は、第2のインスタンスまたはグループ識別子を、第2の仮想メータインスタンスに割り当て、第2の仮想メータインスタンスのグループの各コンポーネントに関連付けられたデータおよび/またはコードに、該当する第2のコンポーネント識別子を割り当てることができる。一実装形態では、ネットワーク通信デバイス502は、各仮想メータインスタンスのインスタンスまたはグループ識別子、および各仮想メータに関連付けられた各コンポーネント識別子を、(例えば、共通データストア514内の)共通データベースに登録または記録することができる。一実装形態では、ネットワーク通信デバイス502は、インスタンス識別子およびコンポーネント識別子が問合せの条件として含まれる場合またはその場合に限り、共通データベースへの問合せ、または共通データベースから問合せ結果を返すことを可能にすることができる。
【0055】
前述の実装形態で説明されたように、各仮想メータインスタンス(例えば、その中のデータおよびアプリケーション)は、仮想メータが、オペレーティングシステム504によって提供されたコンポーネントの同じまたは異なるグループを使用してインスタンス化されたかにかかわらず、一般に他の仮想メータインスタンスから独立している。しかしながら、いくつかの実装形態では、ネットワーク通信デバイス502は例外を可能にすることができる。限定ではなく例として、ネットワーク通信デバイス502は、新規の仮想メータインスタンスへの仮想メータインスタンス(例えば第1の仮想メータインスタンス)のアップグレードを可能にすることができる。一実装形態では、新規の仮想メータインスタンスは、アップグレードされることになる仮想メータインスタンスの1または複数のコンポーネントを再使用し、アップグレードされることになる仮想メータインスタンスによって所有されるデータについてアクセス、修正、および/または取得をすることができる。この新規の仮想メータは、アップグレードのための1または複数の追加のコンポーネントを含むこともできる。
【0056】
追加的または代替的に、ネットワーク通信デバイス502は、新規の仮想メータインスタンスのための新規のコンポーネントを作成し、新規のコンポーネントは、アップグレードされる仮想メータインスタンスの(古い)コンポーネントにアクセスし、その仮想メータインスタンスによって所有されるデータについてアクセス、修正、および/または取得をする。しかしながら、どの実装形態が使用されるかに関わらず、ネットワーク通信デバイス502は、新規のインスタンスまたはグループ識別子を、新規の仮想メータインスタンスに割り当て、新規のコンポーネント識別子を、新規の仮想メータインスタンスの各新規のコンポーネント(または各コンポーネントに関連付けられたデータ)に割り当てる。
【0057】
例示的な方法
図6は、1または複数の仮想メータをホストするネットワーク通信デバイスを使用して計測データを処理する例示的な方法600を示すフローチャートである。
図7は、隔離されたアプリケーション空間において複数のアプリケーションを動作させる例示的な方法700を示すフローチャートである。
図6および
図7の方法は、
図1〜
図5の例示的な実装形態および環境で実装され得るが、必ずしもその必要はない。説明を簡単にするために、方法600および700は、
図1〜
図5を参照して説明される。しかしながら、あるいは、方法600および700は、他の環境においておよび/または他のデバイスもしくはシステムを使用して実装されてもよい。
【0058】
方法600および700は、コンピュータ実行可能命令の一般的文脈で説明される。一般に、コンピュータ実行可能命令は、特定の機能を行うまたは特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造、プロシージャ、モジュール、および機能などを含んでよい。方法は、通信ネットワークを介してリンクされる遠隔処理デバイスによって機能が行われる分散されたコンピュータ環境で実施され得る。分散されたコンピュータ環境では、コンピュータ実行可能命令は、メモリ記憶デバイスを含むローカルおよび/または遠隔コンピュータ記憶媒体に配置され得る。
【0059】
例示的な方法は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの組み合わせで実装され得る一連のオペレーションを表す論理フローにおけるブロックの集合として示される。方法が説明される順序は限定として解釈されることを意図されず、任意の数の説明される方法ブロックは、方法または代替的方法を実装するために任意の順序で組み合わせられてよい。また、個々のブロックは、本明細書に説明される主題の趣旨および範囲から逸脱することなく、方法から省略され得る。ソフトウェアの文脈において、ブロックは、1または複数のプロセッサによって実行されたときに、記載されたオペレーションを行うコンピュータ命令を表す。
【0060】
図6を参照すると、ブロック602で、ネットワーク通信デバイス202は、第1の仮想メータのインスタンスをインスタンス化することができる。一実装形態では、ネットワーク通信デバイス202は、計測センサ204との接続が確立されたという表示を受け取ることに応答して、この第1の仮想メータのインスタンスをインスタンス化することができる。追加的または代替的に、ネットワーク通信デバイス202は、関連付けられたユーティリティプロバイダ、またはユーティリティプロバイダに関係付けられた認可された人物から、信号または命令を受け取ることに応答して、この第1の仮想メータのインスタンスをインスタンス化することができる。計測センサ204は、ネットワーク通信デバイス202に対して遠隔にあってよい。第1の仮想メータのインスタンスは、計測センサ204から通信接続を通じて計測データを受け取るように構成される。
【0061】
ブロック604で、ネットワーク通信デバイス202は、第2の計測センサ204のための第2の仮想メータのインスタンスをさらにインスタンス化することができる。第2の計測センサ204は、第1の計測センサ204と同じであっても異なっていてもよい。いずれの場合も、ネットワーク通信デバイス202は、第1の仮想メータのインスタンスから隔離されアクセス不可能であるメモリ空間において、第2の仮想メータのインスタンスをインスタンス化することができる。
【0062】
ブロック606で、ネットワーク通信デバイス202は、1または複数の追加の計測センサのための1または複数の追加の仮想メータの1または複数のインスタンスをさらにインスタンス化することができる。ネットワーク通信デバイス202は、他の仮想メータインスタンスから隔離されアクセス不可能であるメモリ空間において、各仮想メータインスタンスをインスタンス化することができる。
【0063】
ブロック608で、ネットワーク通信デバイス202は、1または複数の計測センサ204から計測データを受け取る。一実装形態では、ネットワーク通信デバイス202は、連続的または定期的に、計測センサ204から計測データを受け取ることができる。追加的または代替的に、ネットワーク通信デバイス202は、計測データを取得するために計測センサ204に制御信号または命令を送った後に、計測センサ204から計測データを受け取ることができる。
【0064】
ブロック610で、1または複数の対応する仮想メータが、1または複数の計測センサ204から受け取られた計測データを処理する。
【0065】
ブロック612で、ネットワーク通信デバイス202または1もしくは複数の対応する仮想メータが処理された計測データをユーティリティプロバイダに送るまたは送信する。
【0066】
図7に戻って参照すると、ブロック702で、ネットワーク通信デバイス502が、第1のアプリケーション空間において第1のアプリケーションを動作させることができる。第1のアプリケーションは、計測アプリケーション、監視アプリケーション、不正検出アプリケーション、データ分析アプリケーションなどを含む。第1のアプリケーションは、ネットワーク通信デバイス502上で動作する第1の仮想メータに含まれ得る。
【0067】
ブロック704で、ネットワーク通信デバイス502は、第2のアプリケーション空間において第2のアプリケーションを動作させることができる。第2のアプリケーション空間は、第1のアプリケーション空間から隔離される。一実装形態では、第2のアプリケーションは、ネットワーク通信デバイス502上で動作する第1の仮想メータに含まれ得る。第2のアプリケーションは、第1のアプリケーションと同じまたは異なるアプリケーションのインスタンスを含んでよい。
【0068】
ブロック706で、ネットワーク通信デバイス502は、第3のアプリケーション空間において第3のアプリケーションを動作させることができる。第3のアプリケーション空間は、第1のアプリケーション空間および第2のアプリケーション空間から隔離され得る。第3のアプリケーションは、ネットワーク通信デバイス502上で動作する第2の仮想メータの部分とすることができる。第3のアプリケーションは、第1のアプリケーションまたは第2のアプリケーションと同じまたは異なるアプリケーションのインスタンスを含んでよい。第1の仮想メータおよび第2の仮想メータは、互いに隔離され得る。
【0069】
ブロック708で、ネットワーク通信デバイス502は、第1のグループ識別子を、第1の仮想メータに対して、ならびに、第1のコンポーネント識別子を、第1の仮想メータの第1のアプリケーションおよび第2のアプリケーションのそれぞれに関連付けられたデータに対して割り当てることができる。
【0070】
ブロック710で、ネットワーク通信デバイス502は、第2のグループ識別子を、第2の仮想メータに対して、ならびに、第2のコンポーネント識別子を、第2の仮想メータの第3のアプリケーションに関連付けられたデータに対して割り当てることができる。
【0071】
ブロック712で、ネットワーク通信デバイス502は、第1の仮想メータに関連付けられた第1のグループ識別子および各第1のコンポーネント識別子、ならびに第2の仮想メータに関連付けられた第2のグループ識別子および各第2のコンポーネント識別子を、共通データベースに登録または記録することができる。
【0072】
ブロック714で、ネットワーク通信デバイス502は、第2の仮想メータを新規の仮想メータにアップグレードすることができる。新規の仮想メータは、第2の仮想メータに関連付けられたデータに対して1または複数のオペレーションを行うことが可能であり得る。
【0073】
本明細書に説明されたいずれの方法のいずれの行為も、1または複数のプロセッサ可読媒体上に記憶された命令に基づいて、少なくとも部分的にプロセッサまたは他の電子デバイスによって実装され得る。限定ではなく例として、本明細書において説明されたいずれの方法のいずれの行為も、1または複数のコンピュータ記憶媒体のような1または複数のプロセッサ可読媒体上に記憶され得る実行可能命令を用いて構成された1または複数のプロセッサの制御下で実装され得る。
【0074】
結論
本発明は構造的特徴および/または方法論的行為に対して特定の言葉で説明されているが、本発明は説明された特定の特徴または行為に必ずしも限定されないことは理解されよう。むしろ、特定の特徴および行為は本発明を実装する例示的な形態として開示される。