(57)【特許請求の範囲】
【請求項１】
ネットワーク通信デバイスであって、
処理ユニットと、
メモリと、
前記メモリに記憶され前記処理ユニット上で動作する、第１の仮想メータおよび第２の仮想メータであって、前記第１の仮想メータおよび前記第２の仮想メータは、デジタル計測データを、第１および第２のサービスの地点にそれぞれ関連付けられた第１および第２のリモート計測センサから受信するように構成され、それぞれのサービスの地点は前記ネットワーク通信デバイスとは離れている、第１の仮想メータおよび第２の仮想メータと、
前記デジタル計測データを、前記第１および第２のリモート計測センサから前記第１および第２の仮想メータにそれぞれ経路指定する通信インターフェースであって、前記第１および前記第２の仮想メータのそれぞれは、
他の仮想メータには利用できない専用メモリ空間と、
前記専用メモリ空間内で動作可能な複数のアプリケーションであって、それぞれのアプリケーションは、前記他の仮想メータの前記専用メモリ空間を利用することができず、前記複数のアプリケーションの少なくとも一つは、管理機関によって承認され、かつロックされたコードを有しており、前記複数のアプリケーションの少なくとも一つは、サードパーティによって提供され、前記管理機関によって承認されておらず、かつロックされていないコードを有する、複数のアプリケーションと
を含む、通信インターフェースと
を備えたネットワーク通信デバイス。
【請求項２】
前記通信インターフェースは、前記第１の仮想メータおよび前記第２の仮想メータは、それぞれが単一のサービスの地点に関連付けられた単一の計測センサからデジタル計測データを個別に受信する複数の仮想メータの中にあり、前記単一のサービスの地点は、共同住宅における単一の住宅を含み、前記デジタル計測データは、電子的な消費データを含むように構成される、請求項１に記載のネットワーク通信デバイス。
【請求項３】
前記第１の仮想メータおよび前記第２の仮想メータは、別々に、前記第１のリモート計測センサおよび前記第２のリモート計測センサから、通信ネットワークを通じて前記デジタル計測データを受信し、前記通信ネットワークは、無線ネットワークおよび／または有線ネットワークを含む、請求項２に記載のネットワーク通信デバイス。
【請求項４】
前記通信インターフェースは、前記第１のリモート計測センサまたは前記第２のリモート計測センサに制御信号を送って、ユーティリティサービスがそれぞれの前記第１または第２のサービスの地点にサービスすることを遠隔で遮断する、請求項２に記載のネットワーク通信デバイス。
【請求項５】
前記ユーティリティサービスは、水、電気またはガスを含む、請求項４に記載のネットワーク通信デバイス。
【請求項６】
前記第１のリモート計測センサおよび前記第２のリモート計測センサから受け取られた前記デジタル計測データをユーティリティプロバイダに送信するためのネットワーキングモジュールをさらに備える、請求項２に記載のネットワーク通信デバイス。
【請求項７】
オペレーティングシステムをさらに備え、前記第１の仮想メータおよび前記第２の仮想メータは、前記オペレーティングシステムを使用して実行される、請求項１に記載のネットワーク通信デバイス。
【請求項８】
前記第１の仮想メータおよび前記第２の仮想メータによってアクセス可能な共通データストアをさらに備える、請求項１に記載のネットワーク通信デバイス。
【請求項９】
ユーティリティ消費データを第１のサービスの地点から収集する第１の計量要素と、
ユーティリティ消費データを第２のサービスの地点から収集する第２の計量要素と、
前記第１および前記第２の計量要素のそれぞれから離れているネットワーク通信デバイス内の第１および第２の仮想メータと
を備え、前記第１および第２の仮想メータのそれぞれは、
前記第２の仮想メータおよび前記第１の仮想メータのうちの他方に、それぞれ利用できない専用メモリ空間であって、デジタル計測データは、前記第１の仮想メータおよび前記第２の仮想メータのそれぞれによって、通信ネットワークを通じて受信され、前記デジタル計測データは、前記第１のサービスの地点および前記第２のサービスの地点に関連付けられており、前記第１のサービスの地点および前記第２のサービスの地点は、前記第１の仮想メータおよび前記第２の仮想メータにそれぞれ関連付けられている、専用メモリ空間と、
前記専用メモリ空間内のそれぞれの一つの内で動作可能な複数のアプリケーションであって、前記複数のアプリケーションの少なくとも一つは、管理機関によって承認されたロックされたアプリケーションであって、かつロックされたコードを有する計量アプリケーションであり、前記複数のアプリケーションの少なくとも一つは、サードパーティによって提供され、前記管理機関によって承認されておらず、かつロックされていないコードを有するロックされていないアプリケーションである、複数のアプリケーションと
を備えたシステム。
【請求項１０】
前記第１および第２の計量要素、並びに前記第１および第２の仮想メータは、無線接続または有線接続を介して通信する、請求項９に記載のシステム。
【請求項１１】
前記第１および第２の計量要素は、前記デジタル計測データを前記第１および第２の仮想メータに前記通信ネットワークを通じて通信する、請求項９に記載のシステム。
【請求項１２】
前記第１および第２の計量要素のそれぞれに取り付けられたスイッチをさらに備え、前記スイッチは、制御信号をそれぞれの仮想メータから受け取ると、ユーティリティサービスがそれぞれの前記第１のサービスの地点または前記第２のサービスの地点にサービスすることを遮断するように構成される、請求項９に記載のシステム。
【請求項１３】
前記第１および第２の仮想メータ、並びに前記第１および第２の計量要素は、安全な暗号化プロトコルを使用して通信する、請求項９に記載のシステム。
【請求項１４】
処理ユニットと、
実行可能命令を記憶するメモリと
を備えたデバイスであって、前記実行可能命令は、前記処理ユニットによって実行されたとき、
前記メモリ内で複数の仮想メータをインスタンス化することであって、それぞれの仮想メータは、前記デバイスに対して遠隔の複数の計測センサのそれぞれの一つに関連付けられている、ことと、
デジタル計測データを通信ネットワークを通じて受信することであって、前記デジタル計測データは、それぞれがそれぞれのサービスの地点に関連付けられている前記複数の計測センサのそれぞれからのデータであり、前記それぞれのサービスの地点のそれぞれは異なる仮想メータに関連付けられている、ことと、
それぞれの仮想メータ内の複数のアプリケーションを実行することであって、前記複数のアプリケーションの少なくとも一つは、管理機関によって承認され、かつロックされたコードを有しており、前記複数のアプリケーションの少なくとも一つは、サードパーティによって提供され、前記管理機関によって承認されておらず、かつロックされていないコードを有する、ことと、
前記複数の計測センサのそれぞれの前記デジタル計測データを、前記複数の仮想メータのそれぞれの仮想メータ内の前記複数のアプリケーションによって処理することであって、前記処理することは、それぞれの仮想メータのメモリ内の計量またはデータ分析アプリケーションのオペレーションを含む、ことと
を備える動作を前記処理ユニットに実行させる、デバイス。
【請求項１５】
ロックされているコードを有する、前記複数のアプリケーションの前記少なくとも一つのそれぞれは、ロックされたアプリケーションであり、ロックされていないコードを有する、前記複数のアプリケーションの前記少なくとも一つのそれぞれは、ロックされていないアプリケーションであり、前記第１および第２の仮想メータのそれぞれは、
前記ロックされたアプリケーションおよび前記ロックされていないアプリケーションを実行し、
前記ロックされたアプリケーションおよび前記ロックされていないアプリケーションのアウトプットを比較し、
前記ロックされていないアプリケーションのアウトプットと前記ロックされたアプリケーションのアウトプットとの差が予め定められた誤差の閾値以内である場合、前記ロックされていないアプリケーションをロックして新たにロックされたアプリケーションを生成し、
前記ロックされたアプリケーションを前記新たにロックされたアプリケーションで置き換え、前記ロックされたアプリケーションによって実行される機能は、その後、前記新たにロックされたアプリケーションによって実行される
ように構成される、請求項１に記載のネットワーク通信デバイス。
【請求項１６】
前記ロックされたアプリケーションおよび前記ロックされていないアプリケーションの実行は、ロックされた計量アプリケーションおよびロックされていない計量アプリケーションの実行を備え、
前記ロックされたアプリケーションを前記新たにロックされたアプリケーションで置き換えることは、前記新たにロックされたアプリケーションを示すために設定ファイルを更新することを備える、
請求項１５に記載のネットワーク通信デバイス。
【請求項１７】
前記第１の仮想メータおよび前記第２の仮想メータのそれぞれのロックされた計量アプリケーションは、それぞれの仮想メータの前記専用メモリ空間内で動作可能であり、前記第１の仮想メータおよび前記第２の仮想メータの前記ロックされた計量アプリケーションは、前記第１の仮想メータおよび前記第２の仮想メータのうちの他方の前記専用メモリ空間を利用することを防止され、
前記第１の仮想メータおよび前記第２の仮想メータのロックされていない計量アプリケーションはまた、前記第１の仮想メータまたは前記第２の仮想メータのそれぞれの仮想メータにおける前記専用メモリ空間内で動作可能であり、
前記第１の仮想メータおよび前記第２の仮想メータのそれぞれは、
前記ロックされた計量アプリケーションおよび前記ロックされていない計量アプリケーションのアウトプットを比較することと、
前記比較されたアウトプットの差が予め定められた誤差の閾値以内であるかどうかを判定することと、
前記ロックされていない計量アプリケーションのアウトプットと前記ロックされた計量アプリケーションのアウトプットとの差が予め定められた誤差の前記閾値以内である場合、前記ロックされていない計量アプリケーションをロックして新たにロックされた計量アプリケーションを生成することと、
前記ロックされた計量アプリケーションを前記新たにロックされた計量アプリケーションで置き換えることであって、前記ロックされた計量アプリケーションによって実行される機能は、その後、前記新たにロックされた計量アプリケーションによって実行される、ことと
を備える動作を実行する、請求項９に記載のシステム。
【請求項１８】
前記ロックされていない計量アプリケーションは、試験段階のソフトウェアを備え、
前記ロックされていない計量アプリケーションは、前記管理機関によってまだ承認されていないコードを含む、
請求項１７に記載のシステム。
【請求項１９】
前記複数の仮想メータのそれぞれは、
ロックされたアプリケーションおよびロックされていないアプリケーションを実行し、
前記ロックされたアプリケーションおよび前記ロックされていないアプリケーションのアウトプットを比較し、
前記ロックされていないアプリケーションのアウトプットと前記ロックされたアプリケーションのアウトプットとの差が予め定められた誤差の閾値以内である場合、前記ロックされていないアプリケーションをロックして新たにロックされたアプリケーションを生成し、
前記ロックされたアプリケーションを前記新たにロックされたアプリケーションで置き換え、前記ロックされたアプリケーションによって実行される機能は、その後、前記新たにロックされたアプリケーションによって実行される
ように構成される、請求項１４に記載のデバイス。
【請求項２０】
前記ロックされていないアプリケーションは、前記メモリに格納されると変更可能なコードを含み、
前記新たにロックされたアプリケーションは、前記メモリに格納されると変更不可なコードを含み、
前記ロックされたアプリケーションを前記新たにロックされたアプリケーションで置き換えることは、前記デジタル計測データを前記新たにロックされたアプリケーションで処理することをもたらす、請求項１９に記載のデバイス。
【発明の詳細な説明】
【背景技術】
【０００１】
関連技術の相互参照
本出願は、参照により本明細書にその全体が組み込まれる、2012年12月17日に出願された米国特許出願第13/717,576号明細書の優先権を主張する。
【０００２】
スマートデバイス技術の到来により、ますます多くのスマートデバイスが、住宅用、商業用および工業用に使用するために開発され、入手可能になっている。これらのスマートデバイスの例は、例えば、スマートユーティリティメータ、センサ、制御デバイスなどを含みうる。これらのスマートデバイス（例えばスマートユーティリティメータ）は、それらの多用途かつ多様な機能のため、様々な用途（例えばユーティリティサービス）に非常に望ましいが、これらのスマートデバイスの設置および／またはアップグレードは、物理的および／または法的な理由または制限のため、時として困難に直面することがある。例えば、位置（例えば共同住宅）によっては、ユーティリティメータを設置するための物理的空間がユーティリティメータを収容するのに十分でないことがある。さらに、いくつかの事例では、ユーティリティメータの特定の機能性および／またはデータが、他の機能性および／またはデータよりも厳しい要件に従うことがある。例えば、顧客または消費者団体が、特定のデータが他より高いプライバシー水準で取り扱われることを求める場合、公益事業会社（utility company）が、特定のデータについて他よりも高いレベルの精度もしくは完全性を要求する場合、および／または、管理機関が、他のデータの取扱いを規制しない一方で、ある種のデータが取り扱われる必要がある規格を規制する場合がある。
【図面の簡単な説明】
【０００３】
発明を実施するための形態は、添付図面を参照して示される。図面中、参照番号の最も左の桁は、参照番号が最初に現れる図を識別する。異なる図における同じ参照番号の使用は、同様または同一の要素を示す。
【図１】計量機能性が単一の物理的デバイスによって行われる例示的な統一された計量プラットフォームを示す。
【図２】計量機能性が複数の物理的デバイスにわたって分散される例示的な分散された計量プラットフォームを示す図である。
【図３】例示的な分散された計量プラットフォームが実装され得る例示的なネットワーク環境を示す図である。
【図４】図２の分散された計量プラットフォームを実装するように構成された例示的なネットワーク通信デバイスを示す図である。
【図５】仮想メータを実装することができない例示的なコンピュータ環境を示す図である。
【図６】仮想メータを使用して計測データを処理する例示的な方法を示す図である。
【図７】隔離されたアプリケーション空間において複数のアプリケーションを動作させる例示的な方法を示す。
【発明を実施するための形態】
【０００４】
概観
前述のように、完全なサービスユーティリティメータの設置は、物理的空間制約のため、常に可能なわけではない。本出願は、分散された計量手法を説明し、この手法では、計量機能性が、（完全なサービスユーティリティメータよりも小さなフォームファクタを有することができる）計量要素と、計量要素から遠隔の位置に配設されたネットワーク通信デバイスとの間で分けられる。一般に、計量要素は、リソース消費情報を検知し、処理、記憶、および／または公益事業会社のヘッドエンド（head end）または中央局への報告のためにリソース消費データをネットワーク通信デバイスへ中継する。いくつかの実装形態では、ネットワーク通信デバイスは、（例えば、住宅用途で）単一計量要素と通信し単一計量要素をサポートすることができ、他の実装形態では、（例えば、共同住宅または商業サイトで）複数の計量要素と通信し複数の計量要素をサポートすることができる。各計測センサに対応する計量機能性は、ネットワーク通信デバイスのメモリにおける仮想メータのインスタンスとして実装され得る。従って、ネットワーク通信デバイスが複数の計量要素と通信し複数の計量要素をサポートする場合、ネットワーク通信デバイスは、複数の仮想メータインスタンスを含み得る。
【０００５】
また前述のように、ユーティリティメータの特定の機能性および／またはデータは、他の機能性および／またはデータよりも厳しい要件に従うことがある。本出願は、互いに隔離または分割された複数のアプリケーション空間を使用する計量手法をさらに説明する。例えば、第１のアプリケーション空間は、顧客、公益事業会社および／または管理機関の要件に従うように構成されてよく、修正されないようにロックされることが可能である。第２のアプリケーション空間は、第１のアプリケーション空間から隔離されてよく、修正または更新を可能にするようにロックされないことが可能である。別の例では、第１のアプリケーション空間は、サードパーティデバイスまたはサービス（例えば、家庭内ディスプレイ、機器、サードパーティアプリケーション等）によってアクセス可能とすることができる一方、第２のアプリケーション空間は、認可された（authorized）デバイスまたはサービス（例えば、公益事業会社によって管理されるデバイス、公認または承認されたアプリケーション等）のみによってアクセス可能とすることができる。いくつかの例では、複数のアプリケーション空間は、互いに完全に隔離されてよく、それぞれが、それ自体のオペレーティングシステム、アプリケーションおよびデータストアを含む。しかしながら、他の例では、別々のアプリケーション空間が、特定の機能性（例えば特定のドライバ）を共有することができ、および／または共通データストアにアクセスすることができる。
【０００６】
例示的な統一された計量プラットフォーム
図１は、単一の物理的計量デバイス１００が完全な計量機能性を含む、例示的な統一された計量プラットフォームを示す。図１に示されるように、例示的な物理的計量デバイス１００は、計量要素１０２およびレジスタ処理要素１０４を含むことができる。計量要素１０２は、（集合的にアナログ−デジタル変換器１０６と称される）１または複数のアナログ−デジタル変換器（ＡＤＣ）１０６−１、１０６−２、…、１０６−Ｓを含むことができ、それらは、１または複数のアナログ信号または入力をデジタル信号または入力に変換する。Ｓは１以上の整数である。計量要素１０２は、計測処理ユニット１０８をさらに含むことができる。計測処理ユニット１０８は、計測データ１１０（例えば、例示的な物理的計量デバイス１００が取り付けられたサイトまたは機器に関連付けられた電圧および／または電流入力など）をデジタルサンプリングするように構成される。計測処理ユニット１０８は、１または複数のアナログ−デジタル変換器１０６によって変換されているデジタル化された計測データに対して基本的演算（例えば、電気メータの有効（active）、実（real）、および無効電力およびエネルギーを表す数学的計算）をさらに行うことができる。
【０００７】
一実装形態では、レジスタ処理ユニット１０４がアプリケーション処理ユニット１１２を含むことができる。アプリケーション処理ユニット１１２は、インターフェース１１４（例えば、シリアルインターフェース、ユニバーサルシリアルバス、または他の物理的接続）を通じて、計量要素１０２の計測処理ユニット１０８によって処理された計測データを受け取る。処理された計測データを受け取ると、アプリケーション処理ユニット１１２は、処理された計測データに対して、データ記憶、検索、表示、ユーザ入力および／または通信を含むがこれらに限定されない１または複数のオペレーションを行うことができる。一実装形態では、レジスタ処理要素１０４は、レジスタ処理要素１０４（または例示的な物理的計量デバイス１００）と関連付けられたユーティリティプロバイダとの間でデータを通信する通信モジュール１１６をさらに含むことができる。通信モジュール１１６は、例えば、無線周波数（ＲＦ）チャネル、電力線通信（ＰＬＣ）チャネル、セルラ通信チャネルなどを含む、通信チャネル１１８を通じて、データを送信および受信することができる。
【０００８】
また、いくつかの実装形態では、例示的な物理的計量デバイス１００は、サイトまたは機器のユーティリティ消費示度などの示度を示すディスプレイ１２０を含むことができる。いくつかの事例では、例示的な物理的計量デバイス１００がサービス遮断スイッチ１２２をさらに含むことができ、サービス遮断スイッチ１２２は、関連付けられたユーティリティプロバイダからレジスタ処理要素１０４の通信モジュール１１６を通じて制御信号または命令を受け取ることに応答して、関連付けられたユーティリティサービスがサイトまたは機器にサービスしないようにする遠隔遮断１２４を可能にする。
【０００９】
いくつかの事例では、例示的な物理的計量デバイス１００は、オペレーティングシステム（例えば、Ｌｉｎｕｘ（登録商標）、Ｗｉｎｄｏｗｓ（登録商標）、Ｕｎｉｘ（登録商標）などのマルチタスクオペレーティングシステム）と、オペレーティングシステム上で動作して、上述されたようにレジスタ処理ユニット１０４において処理された計測データに対してオペレーションを行う計量アプリケーションとを含むことができる。
【００１０】
例示的な分散された計量プラットフォーム
統一された計量プラットフォームに加えて、本開示は、分散された計量プラットフォームも説明し、分散された計量プラットフォームでは、スマートユーティリティメータの機能性が、（完全なサービスユーティリティメータよりも小さなフォームファクタを有することができる）サービスの地点（point of service）における計量要素と、計量要素から遠隔の位置に配設されたネットワーク通信デバイスとの間で分けられる。分散された計量プラットフォームのネットワーク通信デバイスは、仮想メータ（または仮想計量アプリケーション）として、完全な機能性を有する物理的計量デバイスに関連付けられた１または複数の機能を仮想化する。仮想メータは、通常は（例示的な物理的計量デバイス１００などの）物理的計量デバイス内に提供されるまたは含まれる機能および／またはメモリ空間の分離または分割をできるようにし、また、ネットワーク通信デバイスのメモリで動作する１または複数の仮想メータにおいて機能および／またはメモリ空間の実装を可能にする。例えば、ネットワーク通信デバイスは、仮想メータとして、例示的な物理的計量デバイス１００のレジスタ処理要素１０４に関連付けられた機能の一部または全部を仮想化することができる。ネットワーク通信デバイスは、通信ネットワークを通じて遠隔の計量要素と通信することができる。より詳細に後述される一例では、単一のネットワーク通信デバイスが、複数の計量要素と通信してよく、複数の仮想メータ（例えば、それが通信している各計量要素に対応する別個の仮想メータインスタンス）をホストしてもよい。
【００１１】
図２は、例えばネットワーク通信デバイス２０２および計測センサ２０４を含む複数のデバイスにて実装される、例示的な分散された計量プラットフォーム２００を示す。この例では、ネットワーク通信デバイス２０２は、計測センサ２０４に対して別個または遠隔である。計測センサ２０４は、それを取り付けられたサイトまたは機器に関連付けられた計測データ２０６を収集および／またはサンプリングするように構成された、基本的計測センサを含むことができる。計測データ２０６は、単一または複数の局面のサービスを含むことができる。いくつかの実装形態では、基本的計測センサは、ネットワーク通信デバイス２０２に計測データを送る前に、収集（および／またはサンプリング）された計測データ２０６に対して基本的または事前の演算をさらに行うことができる。計測センサ２０４の例は、例示的な物理的計量デバイス１００の計量要素１０２のような計量要素を含んでよい。また、計測センサ２０４は、計量側通信インターフェース２０８をさらに含むことができ、計量側通信インターフェース２０８は、通信接続２１０を介して計測センサ２０４とネットワーク通信デバイス２０２の間のデータ通信を促進する。一実装形態では、通信接続２１０は、例えば、無線接続（例えば、短距離無線周波数（ＲＦ）チャネル接続、ＷｉＦｉ接続など）または有線接続（例えば、ＵＳＢ、イーサネット（登録商標）、ＰＬＣ、もしくは他の物理的ケーブル接続）を含む、近距離無線通信接続または短距離通信接続を含むことができる。一実装形態では、計測データ２０６は、例えば、サイトもしくは機器に関連付けられたユーティリティサービスの消費データ、サイトもしくは機器の識別情報、および／または計測センサ２０４の識別情報を含むことができるが、これらに限定されない。ユーティリティサービスは、例えば、水道サービス、ガスサービス、電気サービスなどを含んでよい。
【００１２】
ネットワーク通信デバイス２０２は、仮装クラスタメータ（virtual cluster meter）２１２を含むことができ、一実装形態では、仮装クラスタメータ２１２は、例示的な物理的計量デバイス１００のレジスタ処理要素１０４と同様の機能性を実施する。ネットワーク通信デバイス２０２は、通信接続２１０を介して計測センサ２０４との通信を促進する収集側通信インターフェース２１４をさらに含むことができる。一実装形態では、仮想クラスタメータ２１２は、物理的計量デバイス１００の機能性と同様の機能性を含む仮想メータ（またはアプリケーション）２１６のインスタンスを含むことができる。仮想メータ２１６のインスタンスは、例示的な物理的計量デバイス１００のレジスタ処理要素１０４の計量アプリケーションによって行われる機能と同様の１または複数の機能を行うことができる。仮想メータ２１６のインスタンスは、ネットワーク通信デバイス２０２に含まれるオペレーティングシステム２１８内または上で動作することができる。一実装形態では、ネットワーク通信デバイス２０２のオペレーティングシステム２１８は、仮想メータの全てに共通であってよい。他の実装形態では、各仮想メータ２１６（または仮想メータ２１６のインスタンス）は、オペレーティングシステムのそれ自体のインスタンス、およびオペレーティングシステムの関連付けられたドライバを含むことができる。
【００１３】
上の例では、分散された計量デバイス２００は、単一のネットワーク通信デバイス２０２および単一の計測センサ２０４を含むように説明されているが、いくつかの事例では、分散された計量デバイス２００は、２つ以上の計測センサ２０４を含むことができる。各計測センサ２０４は、仮想クラスタメータ２１２における仮想メータ２１６の単一のインスタンスに関連付けられ得る。追加的または代替的に、いくつかの実装形態では、１または複数の計測センサ２０４はそれぞれが、仮想メータ２１６の複数のインスタンス、および／または複数の仮想メータ２１６に関連付けられてもよい。これに関して、収集側通信インターフェース２１４は、計測センサ２０４と仮想メータ２１６の間の通信をサポートすることができる。例えば、特定の計測センサ２０４から計測データを受け取ると、収集側通信インターフェース２１４は、後続処理のために、計測データを、この計測センサ２０４が対応する仮想メータ２１６へ経路指定することができる。
【００１４】
一実装形態では、仮想メータ２１６は、（計量／計測アプリケーション、ユーティリティデータ分析アプリケーション、不正検出アプリケーションなどの）複数のアプリケーションを含むことができる。複数のアプリケーションは、仮想メータ２１６内で互いに隔離され得る。追加的または代替的に、仮想メータ２１６は、他の仮想メータから隔離されてもよい。例えば、仮想メータは、別の仮想メータに関連付けられたデータの一部または全部についてアクセス（例えば読取り）および／または操作（例えば、編集、修正、書き込みなど）を行うことを防止され得る。追加的または代替的に、仮想メータは、別の仮想メータに含まれる１または複数のアプリケーションおよび／またはデータに影響することを制限され得る。分散された計量デバイス２００（または仮装クラスタメータ２１２）は、各仮想メータに対して指定されたメモリ空間またはパーティションを割り当てること、ならびに／または、各仮想メータとそれぞれの１もしくは複数のアプリケーションおよび／もしくはデータとの間の対応関係を確立することによって、この隔離を実施することができる。分散された計量デバイス２００（または仮想クラスタメータ２１２）は、データもしくはアプリケーションが、仮想メータに対して割り当てられた指定されたメモリ空間内に配置されているかどうか、ならびに／または仮想メータとアプリケーションの間の対応関係が、分散された計量デバイスにおいて存在するかどうかを検討することにより、仮想メータが特定のデータにアクセスすることおよび／またはアプリケーションを使用することを可能にされるかどうかを決定することができる。
【００１５】
また、ネットワーク通信デバイス２０２は、１もしくは複数の仮想メータ（または１もしくは複数の仮想メータの１もしくは複数のアプリケーション）によって共有されおよび／またはアクセス可能である、共通データストア２２０および／またはプログラムライブラリ２２２をさらに含むことができる。データストア２２０は、仮想メータによって使用可能な共通データまたは情報を記憶することができる。プログラムライブラリ２２２は、それぞれの計測センサからのデータに対して１または複数のオペレーションを行うために仮想メータが利用し得る１または複数のルーチンまたはプログラムを含むことができる。
【００１６】
（完全な計量機能性を有する）物理的計量デバイスの１または複数の機能を仮想化し、仮想メータを物理的計量デバイスの残りの部分から分離することによって、説明されたシステムは、新規の計量デバイスが、サイトまたは機器に関連付けられた計測データを収集またはサンプリングすることに焦点を合わせられるようにする。さらに、説明されたシステムは、新規の計量デバイスが、従来の計量デバイスよりも小さいサイズおよび／または少ない処理パワー（従って、より低いコスト）を有することを可能にする。
【００１７】
上の例では、仮想メータ２１６は、分散された計量デバイス２００のネットワーク通信デバイス２０２（または仮想クラスタメータ２１２）内に存在するように説明されている。しかしながら、あるいは、いくつかの実装形態では、仮想メータ２１６の機能の一部または全部が、例えば、計量デバイスの物理的サイズ、メモリ、および／または処理パワーの要件などに基づいて、サイトまたは機器（例えば、計測センサ２０４または例示的な物理的計量デバイス１００）からの計測データの収集および／またはサンプリングを行う計量デバイス内に存在してもよい。
【００１８】
本出願は、複数の多様な実施形態および実装形態を説明する。以下の節は、種々の実装形態を実施するために適切な例示的な環境を説明する。次に、本出願は、仮想メータを使用して計量デバイスを仮想化し計測データを処理するための例示的なシステム、デバイス、およびプロセスを説明する。
【００１９】
例示的な環境
図３は、例示的な分散された計量デバイス２００を実装するために使用可能な例示的なネットワーク環境３００の概略図である。ネットワーク環境３００は、ネットワーク通信デバイス２０２と、（集合的にサイト３０２と称される）１または複数のサイト３０２−１、３０２−２、３０２−Ｎに関連付けられた（上述されたように、集合的に計測センサ２０４と称される）１または複数のユーティリティ計量デバイスまたは計測センサ２０４−１、２０４−２、…、２０４−Ｍとをさらに含むことができる。ＭおよびＮは、同じまたは異なることがあり、１以上の整数である。この例では、ネットワーク通信デバイス２０２は、仮想クラスタメータ２１２を含むことができる。いくつかの実装形態では、ネットワーク環境３００は、１または複数のサーバ３０４をさらに含むことができる。１または複数の計測センサ２０４は、通信接続２１０を介してネットワーク通信デバイス２０２とデータを通信することができる。ネットワーク通信デバイス２０２は、通信ネットワーク３０６を通じて１または複数のサーバ３０４と通信することができる。
【００２０】
この例では、仮想クラスタメータ２１２（および／またはネットワーク通信デバイス２０２）は、１または複数の計測センサ２０４に対して別個または遠隔であるように説明されている。例えば、１または複数の計測センサ２０４が、１つの位置（例えば、共同住宅のクローゼットまたはエンクロージャ）内に配置されるとともに、仮想クラスタメータ２１２（および／またはネットワーク通信デバイス２０２）が、第１の位置から遠隔にある第２の位置（例えば、クローゼットまたはエンクロージャの外部、共同住宅の別の部屋、共同住宅建築の屋根または外部など）に設置されてもよい。さらに、仮想クラスタメータ２１２（および／またはネットワーク通信デバイス２０２）の機能の一部または全部は、サーバ３０４によって実装されてよい。
【００２１】
さらに、いくつかの事例では、仮想クラスタメータ２１２（および／またはネットワーク通信デバイス２０２）の機能の一部または全部は、分散されたコンピュータシステムまたはアーキテクチャ、例えば、クラウドコンピュータシステムまたはアーキテクチャで実装されてよい。追加的または代替的に、いくつかの実装形態では、仮想クラスタメータ２１２（および／またはネットワーク通信デバイス２０２）の機能の一部または全部は、１または複数のサービスとして実装されてよい。例えば、仮想クラスタメータ２１２（および／またはネットワーク通信デバイス２０２）の機能の一部または全部は、例えば、計測センサ２０４、ネットワーク通信デバイス２０２、および／またはサーバ３０４を含む１または複数のコンピュータデバイスによって提供される、１または複数のクラウドサービスとして実装されてよい。
【００２２】
一実装形態では、サイトは、住宅または事業用の土地建物またはユニットなどの不動産（例えば、部屋、アパート、家、事務所、マルチユニットの建物、共同住宅など）を含んでよい。追加的または代替的に、いくつかの実装形態では、サイトは、（給湯器、暖房炉、空調システムなどの）機器を含んでよい。いくつかの実装形態では、サイトは、例えば計測センサ２０４のような共通ユーティリティ計量デバイスを共有する１または複数の不動産および／または機器を含んでよい。
【００２３】
さらに、通信接続２１０は、短距離通信接続および／または近距離通信接続を含んでよい。短距離通信接続は、例えば、（ＷｉＦｉ接続、短距離無線周波数（ＲＦ）チャネル接続などのような）短距離無線接続、（ＵＳＢ、イーサネット、ＰＬＣ、もしくは他の物理的ケーブル接続のような）有線接続、または無線と有線の両方の接続を含んでよい。
【００２４】
いくつかの実装形態では、通信ネットワーク３０６は、無線もしくは有線ネットワーク、またはこれらの組み合わせであってよい。通信ネットワーク３０６は、互いに相互接続され、単一の大きなネットワーク（例えば、インターネットまたはイントラネット）として機能する個別ネットワークの集合であってよい。そのような個別ネットワークの例は、近隣エリアネットワーク（neighborhood area network：ＮＡＮ）、電話網、ケーブルネットワーク、ローカルエリアネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）、メトロポリタンエリアネットワーク（ＭＡＮ）を含むが、これらに限定されない。さらに、個別ネットワークは、無線もしくは有線ネットワーク、またはこれらの組み合わせであってもよい。いくつかの実装形態では、通信ネットワーク３０６は、データを送信するために、無線周波数（ＲＦ）チャネル、電力線通信（ＰＬＣ）チャネル、セルラ通信チャネルなどを採用することができる。
【００２５】
さらに、ネットワーク通信デバイス２０２は、例えば、制御デバイス、トランス、ルータ、サーバ、リレー（例えばセルラリレー）、スイッチ、バルブ、上記の組み合わせ、または、通信ネットワーク３０６に結合可能であって計測センサ２０４に代わってデータを送信および／もしくは受信できる任意のデバイスを含む、様々なデバイスの１つとして実装されてよい。一実装形態では、計測センサ２０４は、部分的にまたは完全にネットワーク通信デバイス２０２を通じて、関連付けられたユーティリティプロバイダ（例えばサーバ３０４）とデータを通信する。
【００２６】
一実装形態では、計測センサ２０４は、例えば、スマートユーティリティメータ（例えば、電気、ガス、および／もしくは水量メータ）、センサ（例えば、温度センサ、測候所、周波数センサなど）、または上記の組み合わせを含む、様々なデバイスの１つとして実装されてよい。計測センサ２０４は、サイト（例えば住宅サイトなど）に関連付けられた計測データ（またはリソース消費情報）を収集および／またはサンプリングし、（基本的処理を伴うまたは伴わない）計測データを処理するためにネットワーク通信デバイス２０２に送る。計測データは、サイトに関連付けられた（水道サービス、ガスサービス、および／または電気サービスなどの）ユーティリティサービスの消費データを含むことができるが、これらに限定されない。また、計測データは、サイトの識別情報（例えば消費者番号）、および／または計測センサ２０４の識別情報（例えばデバイス識別子など）を含むことができる。
【００２７】
また、いくつかの実装形態では、（図３の計測センサ２０４−Ｍで表されるような）計測センサ２０４は、（図１に示された計測処理ユニット１０８に比せられるような）処理ユニット３０８を含むことができる。処理ユニット３０８は、メモリ３１２に通信可能に結合された１または複数のプロセッサ３１０を含むことができる。メモリ３１２は、種々の機能を実装するようにプロセッサ３１０上で実行可能な１または複数のソフトウェアおよび／またはファームウェアモジュールを記憶するように構成され得る。本明細書ではモジュールはメモリに記憶されプロセッサ上で実行可能なソフトウェアおよび／またはファームウェアとして説明されているが、他の実装形態では、任意または全てのモジュールが、説明された機能を実行するために、全体または部分的にハードウェア（例えば、ＡＳＩＣ、特化された処理ユニットなど）によって実装されてよい。
【００２８】
メモリ３１２は、プロセッサ可読媒体を含んでよく、ランダムアクセスメモリ（ＲＡＭ）などの揮発性メモリ、および／または読取り専用メモリ（ＲＯＭ）もしくはフラッシュＲＡＭなどの不揮発性メモリの形態をとってよい。プロセッサ可読媒体は、プロセッサ可読命令、データ構造、プログラムモジュール、１または複数のプロセッサによって実行される他のデータなどの情報の記憶のために任意の方法または技術で実装された揮発性および不揮発性の着脱可能および着脱不能な媒体を含む。プロセッサ可読媒体の例は、相変化メモリ（ＰＲＡＭ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、他のタイプのランダムアクセスメモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、電気的消去可能プログラマブル読取り専用メモリ（ＥＥＰＲＯＭ）、フラッシュメモリ、もしくは他のメモリ技術、コンパクトディスクＲＯＭ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）、もしくは他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、もしくは他の磁気ストレージデバイス、またはコンピュータデバイスによるアクセスのために情報を記憶するように使用され得る任意の他の非伝送媒体を含むが、これらに限定されない。本明細書で定義される場合、プロセッサ可読媒体は、変調されたデータ信号および搬送波などの通信媒体を含まない。
【００２９】
いくつかの実装形態では、計測センサ２０４は、通信接続３１４を任意に含んでよい。通信接続３１４は、短距離通信接続、近距離通信接続などを含む。短距離通信接続は、例えば、（ＷｉＦｉ接続、短距離無線周波数（ＲＦ）チャネル接続などの）短距離無線接続、（ＵＳＢ、イーサネット、ＰＬＣ、もしくは他の物理的ケーブル接続などの）有線接続、または無線と有線の両方の接続を含んでよい。短距離通信接続は、例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）接続などを含んでよい。
【００３０】
いくつかの実装形態では、ネットワーク環境３００は、中央局３１６をさらに含むことができる。いくつかの例では、中央局３１６は、ネットワーク通信デバイス２０２を通じて計測センサ２０４の１または複数から受け取られたデータの処理、分析、記憶、および／または管理を行う、集中化されたメータデータ管理システムを含む。追加的または代替的に、中央局３１６は、ＡＭＩネットワークのデバイスのレジストリ、デバイス構成設定、およびバージョン情報などを保持するために、ネットワーク管理システム（ＮＭＳ）を含んでよい。図３の例は、単一の位置で中央局３１６を示すが、いくつかの例では、中央局３１６は、複数の位置（例えばサーバ３０４）に分散されてよく、および／または、（例えば、高度に非集中化され分散されたコンピュータプラットフォームの場合に）完全に除去されてもよい。
【００３１】
図４は、ネットワーク通信デバイス２０２をより詳細に示す。一実装形態では、ネットワーク通信デバイス２０２は、１または複数のプロセッサ４０２、ネットワークインターフェース４０４、およびメモリ４０６を含むことができるが、これらに限定されない。いくつかの実装形態では、ネットワーク通信デバイス２０２は、入力／出力インターフェース４０８を任意に含んでよい。プロセッサ４０２は、ネットワークインターフェース４０４（例えば、図２に示されたような収集側通信インターフェース２１４）から受け取られた、入力／出力インターフェース４０８から受け取られた、および／またはメモリ４０６に記憶された命令を実行するように構成される。メモリ４０６は、プロセッサ可読媒体を含むことができる。
【００３２】
以下の例示的な実装形態では、仮想メータ（または仮装計量アプリケーション）は、ネットワーク通信デバイス２０２（および／または仮想クラスタメータ２１２）内に存在するおよび／またはインスタンス化されることができる。しかしながら、いくつかの実装形態では、１または複数の仮想メータ（またはアプリケーション）は、（例えば、計測センサ２０４が、１または複数の仮想メータまたはアプリケーションを動作させるための最小限のメモリおよび処理能力を所持するならば、）計測センサ２０４内に存在するおよび／またはインスタンス化されることができる。追加的または代替的に、仮想メータ（または仮想メータの機能）は、ネットワーク通信デバイス２０２と関連付けられた計測センサ２０４との間で分散されてよい。
【００３３】
一実装形態では、ネットワーク通信デバイス２０２は、オペレーティングシステム４１０を含むことができる。オペレーティングシステム４１０は、例えば、マルチタスクオペレーティングシステム、例えば、Ｌｉｎｕｘ、Ｕｎｉｘ、Ｗｉｎｄｏｗｓ  ＣＥ（登録商標）などを含んでよい。一実装形態では、オペレーティングシステム４１０の一部または全部が、仮想クラスタメータ２１２に含まれてもよい。あるいは、仮想クラスタメータ２１２が、オペレーティングシステム４１０によってサポートされるアプリケーションまたはサービスとして含まれてもよい。以下に説明される例示的な実装形態では、オペレーティングシステム４１０が仮想クラスタメータ２１２に含まれるように説明される。
【００３４】
一実装形態では、仮想クラスタメータ２１２は、オペレーティングシステム４１０にて動作する（集合的に仮想メータ４１２と称される）１または複数の仮想メータ４１２−１、…、４１２−Ｐの１または複数のインスタンスを含むことができる。Ｐは１以上の整数である。他の事例では、仮想メータ４１２（または仮想メータのインスタンス）は、オペレーティングシステム（例えばオペレーティングシステム４１０）のそれ自体のインスタンス、およびそれの関連付けられたドライバを含むことができる。仮想メータ４１２の各インスタンスは、ネットワーク通信デバイス２０２に接続された最大１つの計測センサ２４０に関連付けられ得る。追加的または代替的に、仮想メータ４１２の１または複数のインスタンスが、単一の計測センサ２０４に関連付けられてもよい。いくつかの実装形態では、複数の異なる仮想メータ４１２のインスタンスが、単一の計測センサ２０４に関連付けられ得る。同じ仮想メータ４１２のインスタンスは、オペレーティングシステム４１０および／または仮想クラスタメータ２１２によって提供された同じセットのソフトウェアコンポーネントおよびデータから作成またはインスタンス化されたインスタンスに対応する。異なる仮想メータ４１２のインスタンスは、オペレーティングシステム４１０および／または仮想クラスタメータ２１２によって提供された異なる（部分的に重複するまたは全く重複しない）セットのソフトウェアコンポーネントおよびデータから作成またはインスタンス化されたインスタンスに対応する。一実装形態では、仮想メータ４１２の各インスタンスは、それぞれのインスタンスの識別情報としてインスタンス識別子またはグループ識別子を割り当てられる。
【００３５】
仮想クラスタメータ２１２は、単一の計測センサ２０４について、仮想メータ４１２の２以上のインスタンス、または２以上の仮想メータ４１２のインスタンスをインスタンス化することができ、異なるインスタンスまたは仮想メータが、単一の計測センサ２０４から受け取られた計測データに対して異なるオペレーションを行う。計測データに対する異なるオペレーションの例は、例えば、課金目的の計測データの処理、計測データの特性を決定するための計測データの処理（例えば、単一の計測センサ２０４が取り付けられた住宅サイトに関連付けられたユーティリティ消費）、ユーティリティサービスの品質の監視などを含んでよい。
【００３６】
一実装形態では、仮想クラスタメータ２１２（または仮想メータ４１２）は、（制御信号、計測データなどのような）データを、通信接続２１０を通じて対応する計測センサ２０４と通信することができる。例えば、仮想クラスタメータ２１２（または仮想メータ４１２）は、安全な暗号化（secure encryption）プロトコルまたはアルゴリズムを使用して、データを計測センサ２０４と通信することができる。安全な暗号化プロトコルまたはアルゴリズムの例は、例えば、共有鍵暗号化、公開／秘密鍵暗号化、デジタル署名、メッセージ認証コード（ＭＡＣ）などを含んでよい。計測センサ２０４の処理および暗号化能力に応じて、１または複数の暗号化プロトコルまたはアルゴリズムがデータ通信のために選択され得る。例えば、いくつかの実装形態では、仮想クラスタメータ２１２（または仮想メータ４１２）は、安全な暗号化プロトコル例えばデジタル署名を使用して、計測センサ２０４に制御信号または命令を送って、計測センサ２０４に実装されまたは取り付けられ得る（遮断スイッチ１２２などの）遮断スイッチを作動させることができる。
【００３７】
さらに、仮想クラスタメータ２１２（またはネットワーク通信デバイス２０２）は、仮想メータ４１２の各インスタンスに関係付けられた情報を記憶するメモリ空間を専用化するまたは割り当てることができる。情報は、例えば、仮想メータ４１２のインスタンスに関連付けられたデータおよびアプリケーションプログラムを含んでよい。一実装形態では、仮想メータ４１２の各インスタンスは、同じ仮想メータ４１２および／または異なる仮想メータ４１２の他のインスタンスから隔離される。例えば、第１の仮想メータの第１のインスタンスに割り当てられた第１のメモリ空間におけるデータは、第２の仮想メータの第２のインスタンスによってアクセス不可能とすることができ、ここで、第１の仮想メータと第２の仮想メータは同じであっても異なっていてもよい。追加的または代替的に、第１の仮想メータの第１のインスタンスと第２の仮想メータの第２のインスタンスとは、１つのインスタンスが別のインスタンスのオペレーションおよびデータに影響することができないという意味で互いに隔離される。一実装形態では、仮想クラスタメータ２１２は、各仮想メータ４１２に対して指定されたメモリ空間を割り当てること、ならびに／または、各仮想メータ４１２とそれぞれの１もしくは複数のアプリケーションおよび／もしくはデータとの間の対応関係を確立することによって、この隔離を実施することができる。例えば、各仮想メータ４１２（または仮想メータ４１２の各インスタンス）は、保護されたモードで動作していることが可能である。一実装形態では、保護されたモードは、ネットワーク通信デバイス２０２内のハードウェア（例えば、コンピュータデバイス内に含まれ、かつプロセッサによって要求されたメモリへのアクセスの処理を担当するメモリ管理ユニット（ＭＭＵ）またはページ化メモリ管理ユニット（ＰＭＭＵ））によって提供および／または実施され得る。仮想クラスタメータ２１２は、仮想メータ４１２が特定のデータへのアクセスおよび／またはアプリケーションの使用を可能にされるかどうかに関して、仮想メータ４１２に割り当てられた指定されたメモリ空間内にそのデータおよび／もしくはアプリケーションが配置されているかどうか、ならびに／または仮想メータ４１２とアプリケーションの間の対応関係が仮想クラスタメータ２１２内に存在するかどうかを検査することによって、決定することができる。
【００３８】
また、ネットワーク通信デバイス２０２（または仮想クラスタメータ２１２）は、１もしくは複数の仮想メータ４１２（または１もしくは複数の仮想メータ４１２の１もしくは複数のアプリケーションプログラム）によって共有されるおよび／またはアクセス可能である共通データストア４１４および／またはプログラムライブラリ４１６をさらに含むことができる。データストア４１４は、仮想メータ４１２によって使用可能な共通データまたは情報を記憶することができる。プログラムライブラリ４１６は、仮想メータ４１２がそれぞれの計測センサ２０４からのデータに対する１または複数のオペレーションを行うために採用し得る、１または複数のルーチンまたはプログラムを含むことができる。
【００３９】
一実装形態では、仮想メータ４１２の各インスタンスは、別々に、ネットワークインターフェース４０４（例えば、図２に示されるような収集側通信インターフェース２１４）を通じて、対応する計測センサ２０４とデータを通信（受信および／または送信）することができる。上述されたように、仮想メータ４１２の各インスタンスは、別々に、ネットワークインターフェース４０４を通じ通信接続２１０を介して、対応する計測センサ２０４とデータを通信することができる。ネットワークインターフェース４０４は、計測センサ２０４と仮想メータ４１２の間の通信をサポートする。例えば、特定の計測センサ２０４から計測データを受け取ると、ネットワークインターフェース４０４は、後続処理のために、計測データを、この計測センサ２０４が対応する仮想メータ４１２へ経路指定することができる。ネットワークインターフェース４０４は、例えば、計測センサ２０４の識別情報、および／または仮想メータ４１２のインスタンスの識別情報に基づいて、仮想メータ４１２のどのインスタンスがどの計測センサ２０４に対応するかを決定することができる。
【００４０】
また、ネットワーク通信デバイス２０２は、１または複数の計測センサ２０４から受け取られた計測データを、仮想メータ４１２のそれぞれのインスタンスによる処理の後に、関連付けられたユーティリティプロバイダ（例えば、サーバ３０４または中央局３１６）に送信する、ネットワーキングモジュール４１８を含むことができる。一実装形態では、処理された計測データを送る前に、ネットワーキングモジュール４１８が、計測センサ２０４、仮想メータインスタンス、および／または仮想メータに応じて、処理された計測データを分け隔て、分け隔てられた計測データを別々にユーティリティプロバイダに送ることができる。あるいは、ネットワーキングモジュール４１８は、計測センサの処理された計測データを、分け隔てなしにユーティリティプロバイダに送ってもよい。
【００４１】
いくつかの実装形態では、ネットワーキングモジュール４１８は、計測センサ２０４が取り付けられたサイト３０２（例えば住宅サイトなど）にユーティリティサービスが供給またはサービスすることを遠隔で遮断するための、ユーティリティプロバイダからの制御信号または命令を受け取ることができる。制御信号または命令を受け取ることに応答して、ネットワーク通信デバイス２０２は、計測センサ２０４に取り付けられた（サービス遮断スイッチ１２２と同様の）サービス遮断スイッチに制御信号を送って、ユーティリティサービスがサイト３０２にサービスすることを遠隔で遮断することができる。
【００４２】
図５は、１または複数の仮想メータ４１２を実装することに使用可能な例示的なコンピュータ環境５００をより詳細に示す。この例では、１または複数の仮想メータ４１２（すなわち、仮想メータ４１２−１、…、４１２−Ｋ）は、ネットワーク通信デバイス５０２においてインスタンス化されおよび／または動作するように説明されている。Ｋは１以上の整数である。一実装形態では、ネットワーク通信デバイス５０２は、例えば、物理的計量デバイス１００、分散された計量デバイス２００、ネットワーク通信デバイス２０２、計測センサ２０４、および／または仮想クラスタメータ２１２と同様の機能性を含むことができる。いくつかの実装形態では、ネットワーク通信デバイス５０２は、ユーティリティメータまたはユーティリティコンピュータデバイスを含むことができる。１または複数の仮想メータ４１２は、（ネットワーク通信デバイス５０２がネットワーク通信デバイス２０２に対応する場合のメモリ４０６などの）メモリにおいて、（ネットワーク通信デバイス５０２が仮想クラスタメータに対応する場合のオペレーティングシステム４１０などの）オペレーティングシステム内または上で、動作することができる。オペレーティングシステム５０４は、Ｌｉｎｕｘ、Ｕｎｉｘ、Ｗｉｎｄｏｗｓ  ＣＥなどのマルチタスクオペレーティングシステムを含んでよい。一実装形態では、１または複数の仮想メータ４１２は、オペレーティングシステム５０４のユーザまたはアプリケーション空間５０６においてインスタンス化され動作することができる。
【００４３】
一実装形態では、（仮想メータ４１２−Ｋによって表されるような）仮想メータ４１２は、（集合的にアプリケーションスタック５０８と称される）１または複数のアプリケーションスタック５０８−１、…、５０８−Ｊを含むことができる。Ｊは１以上の整数である。各アプリケーションスタック５０８は、データを作成するデータならびにコード（および／またはアプリケーション）の自己完結された「スタック」を含んでよい。アプリケーションスタック５０８は、ファイルシステム上のそれ自体のディレクトリ内で動作することができ、他のアプリケーションスタック５０８から独立して（例えば、他のアプリケーションスタックが、仮想メータ４１２の同じインスタンスに属するか異なるインスタンスに属するかにかかわらず）アップグレードされてよい。
【００４４】
一実装形態では、仮想メータ４１２のインスタンス（または仮想メータインスタンス）は、異なるアプリケーションスタック５０８に分割および／または記憶され得る異なるタイプのコードおよび／またはデータを含むことができる。限定ではなく例として、仮想メータインスタンスは、例えば、メモリに記憶された後に変更不可能であるロックされたバージョンのコード、およびメモリに記憶された後に変更可能であるロックされていないバージョンのコードを含むことができる。前述のように、ネットワーク通信デバイス５０２の特定の機能性および／またはデータは、他の機能性および／またはデータよりも厳しい要件に従うことがある。一実装形態では、ネットワーク通信デバイス５０２（または仮想メータインスタンス）は、互いから隔離または分割された複数のアプリケーション空間を使用してこれらの要件を満たすことができる。例えば、第１のアプリケーション空間は、顧客、公益事業会社、および／または管理機関の要件に従うように構成されてよく、修正されないようにロックされることが可能である。第２のアプリケーション空間は、第１のアプリケーション空間から隔離されてよく、修正または更新を可能にするようにロックされないことが可能である。別の例では、第１のアプリケーション空間は、サードパーティデバイスまたはサービス（例えば、家庭内ディスプレイ、機器、サードパーティアプリケーションなど）によってアクセス可能とすることができる一方、第２のアプリケーション空間は、認可されたデバイスまたはサービス（例えば、公益事業会社によって管理されるデバイス、公認または承認されたアプリケーションなど）のみによってアクセス可能とすることができる。いくつかの例では、複数のアプリケーション空間は、互いに完全に隔離されてよく、それぞれが、それ自体のオペレーティングシステム、アプリケーション、およびデータストアを含む。しかしながら、他の例では、別々のアプリケーション空間が、特定の機能性（例えば特定のドライバ）を共有することができ、および／または共通データストアにアクセスすることができる。
【００４５】
例えば、仮想メータ４１２（および／または仮想クラスタメータ２１２）のインスタンスは、例えば、使用時間帯（time of use：ＴＯＵ）アプリケーションが管理機関によって承認もしくは認定されているかどうかに応じて、ロックされるまたはロックされないことが可能である、ＴＯＵアプリケーションを含むことができる。ＴＯＵアプリケーションは、ユーティリティプロバイダが、時刻に基づいて、仮想メータ４１２のインスタンスに対応する計測センサ２０４に関連付けられたユーティリティ消費者に、異なるように課金または請求することをできるようにする。例えば、ＴＯＵアプリケーションは、２つの異なる期間である「ピーク時」および「オフピーク」を含み、例えば、ユーティリティプロバイダによって定義されるような２つの期間の１つとして、異なる時刻、日、週、月、および／または季節を指定することができる。追加的または代替的に、仮想メータ４１２（および／または仮想クラスタメータ２１２）のインスタンスは、仮想メータ４１２のインスタンスに対応する計測センサ２０４に関連付けられたユーティリティ消費者のための負荷プロファイルアプリケーションを含む。負荷プロファイルアプリケーションは、ユーティリティ消費者の（ユーティリティ使用または消費などの）負荷プロファイルを時間経過とともに検出および／または分析し、このプロファイルの情報をユーティリティプロバイダに提供することができる。このプロファイル情報は、プロファイルが前もって分析されるユーティリティ消費者を含むそれの消費者に対して十分であろうユーティリティサービスを、ユーティリティプロバイダが決定および生成することを可能にすることができる。
【００４６】
限定ではなく例として、ロックされたバージョンのコードは、例えば、計測データを処理するために使用される１または複数の機能および／またはパラメータ（例えば、課金目的に使用される機能および／またはパラメータなど）を含むことができる。追加的または代替的に、ロックされたバージョンのコードは、管理機関によって承認されたコードのバージョンを含むことができる。管理機関は、ネットワーク通信デバイス５０２が設置された国で設定された法的要件および／またはデバイス要件をネットワーク通信デバイス５０２が満たすかどうかを監督（oversee）および／または認定する、認可されたエンティティを含んでよい。追加的または代替的に、ロックされたバージョンのコードは、法定計量によって規制されおよび／または法的管理に従う属性または特性を含む法律に関連するコードのバージョンを含んでよい。ロックされたバージョンのコードの例は、インスタンス化後には変更または改変されることが可能にされないユーティリティ消費を計算するために使用される方程式または式を含むアプリケーションスタックを含む。
【００４７】
ロックされていないバージョンのコードは、法律に関連しないコードのバージョン（すなわち、法定計量によって規制されおよび／または法的管理に従う属性または特性を含まないコード）を含んでよい。追加的または代替的に、ロックされていないバージョンのコードは、計測データを処理するために、管理機関によってまだ承認されていないコードのバージョン（例えば、提示された新規のコード、またはパイロットコード）を含んでよい。追加的または代替的に、ロックされていないバージョンのコードは、経時変化を受けやすいコードのバージョンを含んでよい。例えば、ロックされていないバージョンのコードは、サードパーティアプリケーションによってアクセス可能なコードを含むアプリケーションスタック、計測データを処理するための方程式または式の１もしくは複数の新規もしくはテストバージョン、方程式または式の新規もしくはテストバージョンの結果を、方程式または式の当初もしくは承認バージョンと比較するように構成されたコードのバージョン、および／または、監視、盗難もしくは不正検出、データ分析などの追加の計算もしくはテストのための他のコードを含んでよい。
【００４８】
いくつかの事例では、仮想メータインスタンスは、ロックされていないバージョンのコードによって処理された計測データの結果を、ロックされたバージョンのコードによって処理された計測データの結果と比較することができる。例えば、仮想メータインスタンスは、ロックされていないバージョンのコードによって処理された計測データの結果が、ロックされたバージョンのコードによって処理された計測データの結果に対して予め決定された誤差の閾値内であるかどうかを決定することができる。ロックされていないバージョンのコードによって処理された計測データの結果とロックされたバージョンのコードによって処理された計測データの結果との差が、予め決定された誤差の閾値内であると決定することに応答して、仮想メータインスタンスは、ロックされていないバージョンのコードをロックして（コードにフラグを立てて）、第２のロックされたバージョンのコードを生成することができる。いくつかの実装形態では、仮想メータインスタンスは、管理機関から第２のロックされたバージョンのコードの承認を受け取ることに応答して、ロックされたバージョンのコードを第２のロックされたバージョンのコードに置き換えることができる。例えば、計測データを処理するための以前に使用されたロックされたバージョンのコードを参照または識別する代わりに、仮想メータインスタンスは、計測データを処理するための第２（新規）のバージョンのコードを参照または識別することができる。仮想メータインスタンスは、そのようにするために、第２のロックされたバージョンのコードが計測データを処理するために現在使用されることを示す構成（ファイル）を変更または更新する（例えば、構成ファイルにおける計測データを処理するためのコードに関連付けられたエントリを、第２のロックされたバージョンのコードの識別子またはアドレスに更新する）ことができる。
【００４９】
いくつかの実装形態では、コンピュータ環境５００は、オペレーティングシステム５０４のカーネル空間にオペレーティングシステム５０４のカーネル（またはカーネルのコンポーネント）として動作する計測ドライバ５１０をさらに含むことができる。計測ドライバ５１０は、ネットワーク通信デバイス５０２が始動されたときにオペレーティングシステムのカーネル空間にロードされ維持され得る。計測ドライバ５１０は、計測データを処理するために１または複数の仮想メータ４１２へのサポートを提供する。追加的または代替的に、いくつかの実装形態では、計測ドライバ５１０が、仮想メータインスタンスのロックされたバージョンのコードおよび／またはロックされていないバージョンのコードに、計測データを提供することができる。
【００５０】
一実装形態では、ネットワーク通信デバイス５０２は、ロックされたバージョンのコードとロックされていないバージョンのコード（例えば、法律に関連するコードと法律に関連しないコード）の分離を実施し、ロックされていないバージョンのコードからロックされたバージョンのコードを隔離することができる。例えば、ネットワーク通信デバイス５０２は、ロックされたバージョンのコードおよびロックされていないバージョンのコードに対して異なるメモリ空間を指定することによって、ロックされたバージョンのコードとロックされていないバージョンのコードとの間のハードスプリット（hard-split）またはソフトスプリット（soft-split）を実施することができる。次いで、ネットワーク通信デバイス５０２は、ロックされていないバージョンのコードが、ロックされたバージョンのコードに割り当てられたメモリ空間にアクセスすること、および逆の場合を制限することができる。しかしながら、いくつかの実装形態では、ネットワーク通信デバイス５０２は、ロックされたバージョンのコードがロックされていないバージョンのコードに割り当てられたメモリ空間にアクセスすることを可能にするが、その逆は可能にしなくてよい。
【００５１】
前述の実装形態と同様に、ネットワーク通信デバイス５０２はさらに、異なる仮想メータインスタンスに対して異なるメモリ空間を指定することができ、仮想メータインスタンスは、別の仮想メータインスタンスのメモリ空間にアクセスすることを可能にされないことができる。追加的または代替的に、ネットワーク通信デバイス５０２はさらに、仮想メータインスタンス間の隔離を実施するために、仮想メータインスタンス（その中にアプリケーションおよびデータを含む）とメモリ空間との間の対応関係を確立することができる。そのようにして、ネットワーク通信デバイス５０２は、１つの仮想メータインスタンスに関連付けられたコード、アプリケーション、および／またはデータを、別の仮想メータインスタンスに関連付けられたコード、アプリケーション、および／またはデータから隔離して、各仮想メータインスタンスが別の仮想メータインスタンスのオペレーションおよびデータに影響できないようにする。
【００５２】
一実装形態では、ネットワーク通信デバイス５０２は、１または複数の仮想メータ４１２のインスタンスからのデータを記憶する共通データストア５１４をさらに含むことができる。記憶されるデータの例は、例えば、計測データが処理される仮想メータインスタンス、ネットワーク通信デバイス５０２、または仮想メータインスタンスに対応する計測センサの各識別子でスタンプまたは識別される関連付けられたユーティリティプロバイダに送られるべき、処理された計測データを含むことができる。追加的または代替的に、ネットワーク通信デバイス５０２は、共通プログラムライブラリ５１６をさらに含むことができ、共通プログラムライブラリ５１６から、１または複数の仮想メータインスタンスが、例えば、計測データを処理するためのルーチンまたは機能を導出および／または呼出しすることができる。
【００５３】
一実装形態では、ネットワーク通信デバイス５０２は、オペレーティングシステム５０４によって提供された１または複数のサービスおよび／またはリソースを含むことができる第１のグループのコンポーネントのインスタンスを作成することにより、第１の仮想メータインスタンス（例えば、仮想メータ４１２−１のインスタンス）をインスタンス化することができる。１または複数のサービスおよび／またはリソースは、例えば、オペレーティングシステム５０４のユーザ空間および／またはカーネル空間に提供されるソフトウェアモジュール、カーネル、ドライバ、および／またはプログラムを含んでよい。ネットワーク通信デバイス５０２は、第１のインスタンスまたはグループ識別子を、第１の仮想メータインスタンスに割り当て、第１の仮想メータインスタンスのグループの各コンポーネントに関連付けられたデータおよび／またはコードに、該当する第１のコンポーネント識別子を割り当てることができる。
【００５４】
いくつかの実装形態では、ネットワーク通信デバイス５０２は、１または複数の他の仮想メータインスタンスをインスタンス化することができる。例えば、ネットワーク通信デバイス５０２は、同じ第１のグループのコンポーネントのインスタンス、または第１のグループのコンポーネントとは異なる第２のグループのコンポーネントのインスタンスを作成することにより、第２の仮想メータインスタンス（例えば、仮想メータ４１２−Ｍのインスタンス）をインスタンス化することができる。ネットワーク通信デバイス５０２は、第２のインスタンスまたはグループ識別子を、第２の仮想メータインスタンスに割り当て、第２の仮想メータインスタンスのグループの各コンポーネントに関連付けられたデータおよび／またはコードに、該当する第２のコンポーネント識別子を割り当てることができる。一実装形態では、ネットワーク通信デバイス５０２は、各仮想メータインスタンスのインスタンスまたはグループ識別子、および各仮想メータに関連付けられた各コンポーネント識別子を、（例えば、共通データストア５１４内の）共通データベースに登録または記録することができる。一実装形態では、ネットワーク通信デバイス５０２は、インスタンス識別子およびコンポーネント識別子が問合せの条件として含まれる場合またはその場合に限り、共通データベースへの問合せ、または共通データベースから問合せ結果を返すことを可能にすることができる。
【００５５】
前述の実装形態で説明されたように、各仮想メータインスタンス（例えば、その中のデータおよびアプリケーション）は、仮想メータが、オペレーティングシステム５０４によって提供されたコンポーネントの同じまたは異なるグループを使用してインスタンス化されたかにかかわらず、一般に他の仮想メータインスタンスから独立している。しかしながら、いくつかの実装形態では、ネットワーク通信デバイス５０２は例外を可能にすることができる。限定ではなく例として、ネットワーク通信デバイス５０２は、新規の仮想メータインスタンスへの仮想メータインスタンス（例えば第１の仮想メータインスタンス）のアップグレードを可能にすることができる。一実装形態では、新規の仮想メータインスタンスは、アップグレードされることになる仮想メータインスタンスの１または複数のコンポーネントを再使用し、アップグレードされることになる仮想メータインスタンスによって所有されるデータについてアクセス、修正、および／または取得をすることができる。この新規の仮想メータは、アップグレードのための１または複数の追加のコンポーネントを含むこともできる。
【００５６】
追加的または代替的に、ネットワーク通信デバイス５０２は、新規の仮想メータインスタンスのための新規のコンポーネントを作成し、新規のコンポーネントは、アップグレードされる仮想メータインスタンスの（古い）コンポーネントにアクセスし、その仮想メータインスタンスによって所有されるデータについてアクセス、修正、および／または取得をする。しかしながら、どの実装形態が使用されるかに関わらず、ネットワーク通信デバイス５０２は、新規のインスタンスまたはグループ識別子を、新規の仮想メータインスタンスに割り当て、新規のコンポーネント識別子を、新規の仮想メータインスタンスの各新規のコンポーネント（または各コンポーネントに関連付けられたデータ）に割り当てる。
【００５７】
例示的な方法
図６は、１または複数の仮想メータをホストするネットワーク通信デバイスを使用して計測データを処理する例示的な方法６００を示すフローチャートである。図７は、隔離されたアプリケーション空間において複数のアプリケーションを動作させる例示的な方法７００を示すフローチャートである。図６および図７の方法は、図１〜図５の例示的な実装形態および環境で実装され得るが、必ずしもその必要はない。説明を簡単にするために、方法６００および７００は、図１〜図５を参照して説明される。しかしながら、あるいは、方法６００および７００は、他の環境においておよび／または他のデバイスもしくはシステムを使用して実装されてもよい。
【００５８】
方法６００および７００は、コンピュータ実行可能命令の一般的文脈で説明される。一般に、コンピュータ実行可能命令は、特定の機能を行うまたは特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造、プロシージャ、モジュール、および機能などを含んでよい。方法は、通信ネットワークを介してリンクされる遠隔処理デバイスによって機能が行われる分散されたコンピュータ環境で実施され得る。分散されたコンピュータ環境では、コンピュータ実行可能命令は、メモリ記憶デバイスを含むローカルおよび／または遠隔コンピュータ記憶媒体に配置され得る。
【００５９】
例示的な方法は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの組み合わせで実装され得る一連のオペレーションを表す論理フローにおけるブロックの集合として示される。方法が説明される順序は限定として解釈されることを意図されず、任意の数の説明される方法ブロックは、方法または代替的方法を実装するために任意の順序で組み合わせられてよい。また、個々のブロックは、本明細書に説明される主題の趣旨および範囲から逸脱することなく、方法から省略され得る。ソフトウェアの文脈において、ブロックは、１または複数のプロセッサによって実行されたときに、記載されたオペレーションを行うコンピュータ命令を表す。
【００６０】
図６を参照すると、ブロック６０２で、ネットワーク通信デバイス２０２は、第１の仮想メータのインスタンスをインスタンス化することができる。一実装形態では、ネットワーク通信デバイス２０２は、計測センサ２０４との接続が確立されたという表示を受け取ることに応答して、この第１の仮想メータのインスタンスをインスタンス化することができる。追加的または代替的に、ネットワーク通信デバイス２０２は、関連付けられたユーティリティプロバイダ、またはユーティリティプロバイダに関係付けられた認可された人物から、信号または命令を受け取ることに応答して、この第１の仮想メータのインスタンスをインスタンス化することができる。計測センサ２０４は、ネットワーク通信デバイス２０２に対して遠隔にあってよい。第１の仮想メータのインスタンスは、計測センサ２０４から通信接続を通じて計測データを受け取るように構成される。
【００６１】
ブロック６０４で、ネットワーク通信デバイス２０２は、第２の計測センサ２０４のための第２の仮想メータのインスタンスをさらにインスタンス化することができる。第２の計測センサ２０４は、第１の計測センサ２０４と同じであっても異なっていてもよい。いずれの場合も、ネットワーク通信デバイス２０２は、第１の仮想メータのインスタンスから隔離されアクセス不可能であるメモリ空間において、第２の仮想メータのインスタンスをインスタンス化することができる。
【００６２】
ブロック６０６で、ネットワーク通信デバイス２０２は、１または複数の追加の計測センサのための１または複数の追加の仮想メータの１または複数のインスタンスをさらにインスタンス化することができる。ネットワーク通信デバイス２０２は、他の仮想メータインスタンスから隔離されアクセス不可能であるメモリ空間において、各仮想メータインスタンスをインスタンス化することができる。
【００６３】
ブロック６０８で、ネットワーク通信デバイス２０２は、１または複数の計測センサ２０４から計測データを受け取る。一実装形態では、ネットワーク通信デバイス２０２は、連続的または定期的に、計測センサ２０４から計測データを受け取ることができる。追加的または代替的に、ネットワーク通信デバイス２０２は、計測データを取得するために計測センサ２０４に制御信号または命令を送った後に、計測センサ２０４から計測データを受け取ることができる。
【００６４】
ブロック６１０で、１または複数の対応する仮想メータが、１または複数の計測センサ２０４から受け取られた計測データを処理する。
【００６５】
ブロック６１２で、ネットワーク通信デバイス２０２または１もしくは複数の対応する仮想メータが処理された計測データをユーティリティプロバイダに送るまたは送信する。
【００６６】
図７に戻って参照すると、ブロック７０２で、ネットワーク通信デバイス５０２が、第１のアプリケーション空間において第１のアプリケーションを動作させることができる。第１のアプリケーションは、計測アプリケーション、監視アプリケーション、不正検出アプリケーション、データ分析アプリケーションなどを含む。第１のアプリケーションは、ネットワーク通信デバイス５０２上で動作する第１の仮想メータに含まれ得る。
【００６７】
ブロック７０４で、ネットワーク通信デバイス５０２は、第２のアプリケーション空間において第２のアプリケーションを動作させることができる。第２のアプリケーション空間は、第１のアプリケーション空間から隔離される。一実装形態では、第２のアプリケーションは、ネットワーク通信デバイス５０２上で動作する第１の仮想メータに含まれ得る。第２のアプリケーションは、第１のアプリケーションと同じまたは異なるアプリケーションのインスタンスを含んでよい。
【００６８】
ブロック７０６で、ネットワーク通信デバイス５０２は、第３のアプリケーション空間において第３のアプリケーションを動作させることができる。第３のアプリケーション空間は、第１のアプリケーション空間および第２のアプリケーション空間から隔離され得る。第３のアプリケーションは、ネットワーク通信デバイス５０２上で動作する第２の仮想メータの部分とすることができる。第３のアプリケーションは、第１のアプリケーションまたは第２のアプリケーションと同じまたは異なるアプリケーションのインスタンスを含んでよい。第１の仮想メータおよび第２の仮想メータは、互いに隔離され得る。
【００６９】
ブロック７０８で、ネットワーク通信デバイス５０２は、第１のグループ識別子を、第１の仮想メータに対して、ならびに、第１のコンポーネント識別子を、第１の仮想メータの第１のアプリケーションおよび第２のアプリケーションのそれぞれに関連付けられたデータに対して割り当てることができる。
【００７０】
ブロック７１０で、ネットワーク通信デバイス５０２は、第２のグループ識別子を、第２の仮想メータに対して、ならびに、第２のコンポーネント識別子を、第２の仮想メータの第３のアプリケーションに関連付けられたデータに対して割り当てることができる。
【００７１】
ブロック７１２で、ネットワーク通信デバイス５０２は、第１の仮想メータに関連付けられた第１のグループ識別子および各第１のコンポーネント識別子、ならびに第２の仮想メータに関連付けられた第２のグループ識別子および各第２のコンポーネント識別子を、共通データベースに登録または記録することができる。
【００７２】
ブロック７１４で、ネットワーク通信デバイス５０２は、第２の仮想メータを新規の仮想メータにアップグレードすることができる。新規の仮想メータは、第２の仮想メータに関連付けられたデータに対して１または複数のオペレーションを行うことが可能であり得る。
【００７３】
本明細書に説明されたいずれの方法のいずれの行為も、１または複数のプロセッサ可読媒体上に記憶された命令に基づいて、少なくとも部分的にプロセッサまたは他の電子デバイスによって実装され得る。限定ではなく例として、本明細書において説明されたいずれの方法のいずれの行為も、１または複数のコンピュータ記憶媒体のような１または複数のプロセッサ可読媒体上に記憶され得る実行可能命令を用いて構成された１または複数のプロセッサの制御下で実装され得る。
【００７４】
結論
本発明は構造的特徴および／または方法論的行為に対して特定の言葉で説明されているが、本発明は説明された特定の特徴または行為に必ずしも限定されないことは理解されよう。むしろ、特定の特徴および行為は本発明を実装する例示的な形態として開示される。
【図１】
0006267226.tif 000002
【図２】
0006267226.tif 000003
【図３】
0006267226.tif 000004
【図４】
0006267226.tif 000005
【図５】
0006267226.tif 000006
【図６】
0006267226.tif 000007
【図７】
0006267226.tif 000008