低電力ネットワークのための仮想化
仮想デバイスコーディネータを有する仮想ネットワークで動作する仮想デバイスを低電力デバイスに関連付けるための方法およびシステムに関係する技法ついて全般的に説明する。例示的な方法は、仮想デバイスコーディネータによって、低電力デバイスから低電力デバイス記述子を受信することを含むことができる。仮想デバイスコーディネータは、受信された低電力デバイス記述子に基づいて低電力デバイス種別を判定するように編成され得る。仮想デバイスは、仮想デバイスコーディネータによって、低電力デバイス種別および/または低電力デバイス記述子のうちの1つまたは複数に基づいて構成できる。仮想デバイスコーディネータは、仮想デバイスが低電力デバイスに関連付けられていることを示す関連性記録を記憶するように適合可能である。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2009年7月21日に出願され、Virtualization for Low−Power Networksと題し、その全体の開示が参照により本明細書に組み込まれる米国特許出願第12/506,383号の利益を主張する。
【0002】
本出願は、2009年7月21日に出願され、Performing Services on Behalf of Low−Power Devicesと題する米国特許出願第12/506,391号に関する。
【0003】
本開示は、一般にデバイスおよびネットワークの仮想化に関し、より具体的にはネットワークで動作する低電力(LP)デバイスの機能を強化することに関する。
【背景技術】
【0004】
LPデバイスは典型的には、家庭用または商業用の設定でセンサおよび制御の機能を提供するように設計されている。こうしたデバイスは一般に、無線ネットワークを介して互いに通信することで、ホームオートメーション、セキュリティおよび監視などの機能を提供している。
【発明の概要】
【0005】
本開示は、仮想デバイスコーディネータを有する仮想ネットワークで動作する仮想デバイスを低電力デバイスに関連付ける、コンピュータによって実施される方法について全般的に説明する。一部の例示的方法は、仮想デバイスコーディネータによって、低電力デバイスから低電力デバイス記述子を受信すること、および仮想デバイスコーディネータによって、受信された低電力デバイス記述子に基づいて低電力デバイス種別を判定することを含むことができる。仮想デバイスコーディネータは、判定された低電力デバイス種別および受信された低電力デバイス記述子に基づいて仮想デバイスを構成する。仮想デバイスコーディネータは、構成された仮想デバイスが低電力デバイスに関連付けられていることを示す関連性記録を記憶する。
【0006】
本開示はまた、第1コンピュータで仮想ネットワークを動的に作成する方法について全般的に説明する。一部の例示的方法は、仮想デバイスコーディネータによって、要求元デバイスから低電力デバイスデータ要求を受信すること、および仮想デバイスコーディネータによって、受信された低電力デバイスデータ要求が仮想デバイスコーディネータによって管理されている低電力デバイスにアドレス指定されていると判定することを含むことができる。仮想デバイスコーディネータは、低電力デバイス要求が仮想デバイスコーディネータによって管理されている低電力デバイスにアドレス指定されていると判定されたときに、低電力デバイスに低電力デバイス記述子を要求し、低電力デバイスに低電力デバイス記述子を要求した後に、低電力デバイスから低電力デバイス記述子を受信する。仮想デバイスコーディネータは、受信された低電力デバイス記述子および受信された低電力デバイスデータ要求に基づいて仮想デバイスを作成する。
【0007】
本開示はまた、仮想デバイスコンピューティングシステムについて全般的に説明する。仮想デバイスコンピューティングシステムの一部の例は、ネットワーク受信機、ネットワーク受信機に結合された仮想デバイスコーディネータ、および仮想デバイスコーディネータに結合されたコンピュータ可読メモリを含むことができる。ネットワーク受信機は、低電力デバイスから低電力デバイス記述子を受信するように構成される。仮想デバイスコーディネータは、受信された低電力デバイス記述子に基づいて低電力デバイスに仮想デバイスを関連付けるように構成される。コンピュータ可読メモリは、仮想デバイスと低電力デバイスとの関連性を示す1つまたは複数の関連性記録を記憶するように構成される。
【0008】
本開示はまた、仮想デバイスコーディネータを有する仮想ネットワークで動作する仮想デバイスを低電力デバイスに関連付けるための製造品について全般的に説明する。一部の例示的な製造品は、低電力デバイスから低電力デバイス記述子を受信すること、および受信された低電力デバイス記述子に基づいて低電力デバイス種別を判定することを含む方法を実施するコンピュータ実行可能命令を保持するコンピュータ可読媒体を含むことができる。仮想デバイスは、判定された低電力デバイス種別および受信された低電力デバイス記述子に基づいて構成される。構成された仮想デバイスが低電力デバイスに関連付けられていることを示す関連性記録が記憶される。
【0009】
上記の概要は、例示に過ぎず、決して限定的であることは意図されていない。上述の例示的な態様、実施形態および特徴に加えて、さらなる態様、実施形態および特徴が、図面および以下の詳細な説明を参照することにより明らかになろう。
【0010】
本開示の上記の特徴および他の特徴は、添付の図面とともに行う以下の説明および添付のクレームからより十分に明らかになろう。これらの図面は、本開示によるいくつかの実施形態のみを示しており、よってその範囲を限定するものとみなすべきでないことを理解した上で、本開示について、以下の添付の図面を使用することで、さらに具体的かつ詳細に説明する。
【図面の簡単な説明】
【0011】
【図1】本開示の少なくともいくつかの実施形態に従って配置された、仮想ネットワーキングシステムの例を示すシステム図である。
【図2】本開示の少なくともいくつかの実施形態に従って配置された、仮想ネットワーキングシステムの例を示すシステム図である。
【図3】本開示の少なくともいくつかの実施形態に従って配置された、LPデバイスコンピューティングシステムから仮想デバイスコンピューティングシステムに渡されるデバイス記述子ファイルの例を示す図である。
【図4】本開示の少なくともいくつかの実施形態に従って配置された、LPデバイスコンピューティングシステムから仮想デバイスコンピューティングシステムに渡される電力記述子ファイルの例を示す図である。
【図5】本開示の少なくともいくつかの実施形態に従って配置された、LPネットワークのため仮想デバイスネットワークを作成するプロセスの例を示すシステム図である。
【図6】本開示の少なくともいくつかの実施形態に従って配置された、LPデバイスによって提供された情報に基づいて仮想デバイスおよびアプリケーションを作成するための例示的なプロセスを示すシーケンス図である。
【図7】本開示の少なくともいくつかの実施形態に従って配置された、コンピューティングデバイスからの要求に基づいて仮想デバイスを動的に作成するための例示的なプロセスを示すシーケンス図である。
【図8】本開示の少なくともいくつかの実施形態に従って配置された、複数の仮想デバイスによって提供された情報に基づいて仮想デバイスセットを作成するための例示的なプロセスを示すシーケンス図である。
【図9】本開示の少なくともいくつかの実施形態に従って配置された、仮想デバイスをLPデバイスから切り離すための例示的なプロセスを示すシーケンス図である。
【図10】本開示の少なくともいくつかの実施形態に従って配置された、仮想ネットワーキングシステムの代替構成の例を示すシステム図である。
【図11】本開示の少なくともいくつかの実施形態に従って配置された、仮想ネットワーキングシステムの代替構成の例を示すシステム図である。
【図12】本開示の少なくともいくつかの実施形態に従って配置された、仮想デバイスを使用してLPデバイスへの要求を処理する例示的なプロセスを示す、LPデバイスがほぼ一定の電力を維持する場合のシーケンス図である。
【図13】本開示の少なくともいくつかの実施形態に従って配置された、仮想デバイスを使用してLPデバイスへの要求を処理する例示的なプロセスを示す、LPデバイスが周期的に電力供給される場合のシーケンス図である。
【図14】本開示の少なくともいくつかの実施形態に従って配置された、仮想デバイスを使用してLPデバイスへの要求を処理する例示的なプロセスを示す、LPデバイスの充電レベルが臨界レベルにある場合のシーケンス図である。
【図15】本開示の少なくともいくつかの実施形態に従って配置された、仮想デバイスを使用して温度予測を生成するための例示的なプロセスを示す、関連LPデバイスが通信可能ではない場合のシーケンス図である。
【図16】本開示の少なくともいくつかの実施形態に従って配置された、仮想デバイスを使用して温度予測を生成するための例示的なプロセスを示す、関連LPデバイスが通信可能である場合のシーケンス図である。
【図17】本開示の少なくともいくつかの実施形態に従って配置された、仮想ネットワーキングシステムの実施態様を示すコンピュータアーキテクチャまたはシステムを示すブロック図である。
【発明を実施するための形態】
【0012】
以下の詳細な説明では、本明細書の一部を形成する添付の図面を参照する。図面では、文脈によって別段規定されない限り、同様の記号は通常、同様の構成要素を識別する。詳細な説明、図面およびクレームで説明する例示的な実施形態は、限定的となるように意図されてはいない。本明細書で提示する主題の趣旨または範囲から離れることなく、他の実施形態を利用することができ、また他の変更を行うことができる。本明細書で全般的に説明し、図で示す本開示の態様を、多種多様な構成で編成、置換、結合および設計することができ、そのすべてが明示的に企図されており、本開示の一部をなすことが容易に理解されよう。
【0013】
統一モデリング言語(UML)を使用して、方法およびシステムをモデル化および/または説明すること、ならびにその機能および内部運用を一層理解するための、また標準表記法を使用する外部の構成要素、システムおよび人々とのインターフェースについて説明するための土台を提供することができる。ユースケース図、クラス図およびアクティビティ図を含むがこれらに限定されないUML図は、本明細書で使用される際、本発明の実施形態を説明するのを助ける役割を果たすことが意図されているが、その実施態様を何らかの特定のハードウェアまたはソフトウェア実装に制限するものではない。
【0014】
本開示は特に、仮想デバイスコンピューティングシステムの実施態様による低電力(LP)デバイスネットワークの仮想化に関係する方法、装置、コンピュータプログラムおよびシステムを対象とする。本明細書で使用する用語「コンピューティングシステム」は一般に、物理的であるか仮想的であるかを問わず、デバイス内またはデバイス間の通信を容易にするためのネットワークまたは他の通信媒体もしくは通信プロトコルを介して結合または相互接続されたコンピューティングデバイスのうちの1つまたは複数を指すことがある。
【0015】
手短に言えば、本開示の複数の実施形態は、デバイスの仮想化により関連LPデバイスコンピューティングシステムの機能をサポート、エミュレートおよび/または補完するように構成された仮想デバイスコンピューティングシステムを含むことができる。デバイスの仮想化は一般に、LPデバイスの機能をサポート、エミュレートおよび/または補完する1つまたは複数のソフトウェアモジュールの使用を指すことがある。特定のデバイスに関連付けられたソフトウェアモジュールを総称して「仮想デバイス」と呼ぶことができる。
【0016】
図1は、本開示の少なくとも一部の実施形態による仮想ネットワーキングシステム10の例を示すシステム図である。図1では、仮想デバイスコンピューティングシステム110は、LPデバイス102に関する記述的情報を受信するためLPデバイスコンピューティングシステム100と通信するように構成され得る。仮想デバイスコンピューティングシステム110は、LPデバイスコンピューティングシステム100と対話するように適合された仮想デバイスコーディネータ119を含むことができる。仮想デバイスコーディネータ119は、LPデバイス102から受信した記述的情報に基づいて、LPデバイス102の機能をサポート、エミュレートおよび補完するように仮想デバイス112を作成または構成することができる。仮想デバイス112は、データベース153に結合することができ、それにより仮想デバイス112は、例えばLPデバイス102に関係するデータを記憶することができる。また、仮想デバイスコンピューティングシステム110および/または仮想デバイスコーディネータ119はネットワーク120に結合することができ、それにより、LPデバイスコンピューティングシステム100の外部で動作しているコンピューティング130との通信を容易にすることができる。こうして、ネットワーク120を通じて、コンピューティングデバイス130は、仮想デバイスコーディネータ119との通信を介した仮想デバイス112との対話を通じて、LPデバイス102に関する情報を求める要求を送信し、かかる情報を受信することができる。
【0017】
図1のLPデバイス102のようなLPデバイスは、無線パーソナルエリアネットワーク(PAN)により(例えば、低電力デジタル無線を介して)通信するように構成され得るデバイス、システム、装置または機器であってよい。LPデバイスは、家庭用または商業用の設定でセンサおよび制御の機能を提供するように適合され得る。LPデバイスの例は、照明制御モジュール、温度センサモジュール、温度制御ユニット、エネルギーモニタ、水センサ、煙および火災検出器、動き検出器、ビデオ監視ユニットおよび高度遠隔制御装置を含むことができ、これらに限定されない。
【0018】
LPデバイスは、比較的少ない電力消費および短い伝送待ち時間といった特性により、他の無線ネットワーキング技術から区別され得る。電力消費に関して、LPデバイスはバッテリ電力に依拠することができる。したがって、LPデバイスは、最低限の電力で動作し、アクティブでないときに「スリープ」モードに入ることによってバッテリ寿命を最長化するように構成され得る。さらに電力消費を制限し、個々のデバイスのコストを減らすため、LPデバイス標準は、LPデバイスがサポートできる帯域幅に対するおおよその上限を設定することができる。例えば、「ZigBee」標準は、帯域幅を約250kbpsに制限している。伝送待ち時間に関して、LPデバイスは、LPデバイス間のメッセージ送信に必要な時間をほぼ最小限に抑えるように設計され得る。帯域幅に対する制限および待ち時間を最小限に抑えるという目標から、LPデバイスは転送できるデータの量が制限されることがある。したがって、LPデバイス間で通信するのに使用されるメッセージのサイズは、Wi−FiおよびWiMaxといった他の無線技術と比べて小さいことがある。
【0019】
引き続き図1を参照すると、LPデバイスコンピューティングシステム100のLPデバイス102は、LPデバイス動作に関する情報を送受信するため仮想デバイスコーディネータ119と通信するように適合され得る。仮想デバイスコーディネータ119は、LPデバイスコンピューティングシステム100から受信した情報(例えば、記述子ファイル)に基づいて仮想デバイスコンピューティングシステム110を作成および管理するように構成されたハードウェアとソフトウェアとの組合せであってよい。一部の実施形態では、仮想デバイスコーディネータ119は、仮想デバイスコーディネータソフトウェア、コンピュータ可読メモリ、1つもしくは複数のネットワーク接続、1つもしくは複数の処理ユニットおよび/またはデータベースのうちの1つまたは複数を備えることがある。仮想デバイスコーディネータ119に割り当てられたコンピューティングリソースを仮想デバイスコーディネータ119は排他的に利用すること、またはリソースを多重処理コンピューティング環境で共有することができる。一部の実施形態では、仮想デバイス112を、仮想デバイスコンピューティングシステム110に含めることができ、かつ仮想デバイスコーディネータ119と同じコンピュータで実行することができる。他の実施形態では、仮想デバイス112および仮想デバイスコーディネータの実行を2つ以上のコンピュータに分けることができる。
【0020】
一部の実施形態では、仮想デバイスコーディネータ119は、LPデバイスコンピューティングシステム100から受信した記述子ファイルを使用して、LPデバイス102で利用できる機能をサポート、エミュレートおよび/または補完する1つまたは複数のソフトウェアモジュールを作成することができる。個別のLPデバイスに関連付けられたソフトウェアモジュールを総称して「仮想デバイス」と呼ぶことができる。したがって、例えば、LPデバイス102が温度センサである場合、仮想デバイス112は仮想温度センサであり得る。仮想デバイス112は、LPデバイスアーキテクチャによって示されたハードウェア制限を超える強化された機能を提供できるハードウェア環境で動作するように設計可能である。例えば、仮想デバイス112は、LPデバイス102よりはるかに大きな記憶領域(例えば、図1のデータベース153)、および仮想デバイス112がほぼ連続的に動作できるようにする電源にアクセスすることができる。加えて、仮想デバイス112は、LPデバイス102では都合良く使用することができないプロトコルによって実施されるセキュリティ、認証、翻訳、構成および管理に関するソフトウェアおよびハードウェア標準を活用するように適合され得る。
【0021】
引き続き図1を参照すると、LPデバイス102は、例えば温度センサモジュールであってよい。かかるデバイスは、一定の間隔をおいて温度測定を行い、その測定をLPデバイスコンピューティングシステム100を介して他のLPデバイス(図1には示されていない)に通信するように構成されてもよい。過去の温度測定の記録を維持するといった他の機能は、LPデバイス102では利用できないこともある。かかる機能を提供するため、仮想デバイスコーディネータ119は、LPデバイス102の動作特性を判定するように構成されてもよく、そうした特性をサポート、エミュレートおよび/または補完するように仮想デバイス112を構成することができる。仮想デバイス112は、例えば、LPデバイス102による測定を、仮想デバイス112に結合され得るデータベース113に記録するように構成されてもよい。こうして、LPデバイスコンピューティングシステム100の外部にあるコンピューティングデバイス130は、温度センサモジュール102による過去の温度測定の記録を受信するために(例えば、仮想デバイスコーディネータ119を介して)仮想デバイスコンピューティングシステム110と通信するように適合され得る。以下でより詳しく説明するように、仮想デバイスコンピューティングシステム110は、仮想デバイスコーディネータ119によって調整された、複数の仮想デバイス(図1には示されていない)間の対話および通信を容易にするように構成されてもよいことを理解されたい。
【0022】
図2は、本開示の少なくとも一部の実施形態による仮想ネットワーキングシステム20の例を示すシステム図である。図2の仮想ネットワーキングシステム20は、複数のLPデバイスの機能をサポート、エミュレートおよび/または補完することができる複数の仮想デバイスを備える。図2では、仮想ネットワーキングシステム20は、1つまたは複数のLPデバイス102、104、106および108(それぞれ「L1」、「L2」、「L3」および「L4」と称する)ならびにLPデバイスコーディネータ109(「LC」と称する)を備えるLPデバイスコンピューティングシステム100を含むことができる。仮想ネットワーキングシステム20はまた、1つまたは複数の仮想デバイス112、114、116および118(それぞれ「V1」、「V2」、「V3」および「V4」と称する)ならびに仮想デバイスコーディネータ119(「VC」と称する)を備える仮想デバイスコンピューティングシステム110を含むことができる。LPデバイス102、104、106および108は、LPデバイス通信用に特別に設計されたネットワークプロトコルを含む、当技術分野で一般に知られている無線プロトコルを使用してLPデバイスコンピューティングシステム100内で互いに通信するように編成可能である。例えば、ZigBeeネットワークでは、LPデバイスはIEEE802.15.4無線プロトコルを使用して通信することができる。一部のネットワーク構成では、LPデバイスコーディネータ109は、ネットワーク知識を維持して、LPデバイス102、104、106および108の間での通信を容易にするように編成されることがある。一部の実施形態では、LPデバイスコーディネータ109の機能は1つのLPデバイスに含まれ得る。例えば、ZigBeeネットワークでは、任意のLPデバイスがLPデバイスコーディネータとして動作することができる。したがって、一部の実施形態では、LPデバイスコーディネータ119はLPデバイスでもある。
【0023】
図2の例では、LPデバイス102は、LPネットワークインターフェース144を介してLPデバイスコンピューティングシステム100と通信するセンサアプリケーション142を備えるLP温度センサデバイス140であり得る。LPネットワークインターフェース144を通じて、LPデバイス102は、LPデバイス104、106、108および109に対して、LPデバイス102で温度センサアプリケーション142が実行されていることを示す記述子ファイルを送信するように編成可能である。記述子ファイルを、LPデバイスコンピューティングシステム100から仮想デバイスコンピューティングシステム110へ、2つのコンピューティングシステム100、110の間の通信リンク160を通じてさらに送ることができる。記述子ファイルに含まれている情報に基づいて、仮想デバイスコーディネータ119は、LPデバイス102で利用できる機能をサポート、エミュレートおよび補完するように仮想デバイス112を構成することができる。
【0024】
引き続き図2を参照すると、仮想デバイス112は、仮想温度センサデバイス150によってLPデバイス102をサポート、エミュレートおよび/または補完するように構成され得る。仮想温度センサデバイス150は、LPデバイス102で作動するセンサアプリケーション142に関連付けられた仮想デバイス112で作動する仮想センサアプリケーション154を含むことができる。仮想センサアプリケーション154は、LPデバイス102の状態情報を記録すること、温度データの過去の解析および将来の予測を提供すること、ならびに温度データの操作および変換を含み、これらに限定されない様々な機能を実行するように構成されてもよい。仮想温度センサデバイス112に関連付けられたデータベース153は、仮想センサアプリケーション154によって収集および生成された情報を記憶するように編成され得る。仮想温度センサデバイス150はまた、TCP/IP接続を介して他のデバイスに接続するためのTCP/IPインターフェース151を含むことができる。例えば、ネットワーク120を介してコンピューティングデバイス130に対し、TCP/IPであり得る(以下でより詳しく論じる)ネットワーク接続180によりデータを通信することができる。同様に、仮想温度センサデバイス150は、LPデバイスコンピューティングシステム100と直接的にインターフェースをとるためのLPネットワークインターフェース152を含むことができる。
【0025】
一部の実施形態では、仮想デバイス112、114、116および118は、1つもしくは複数の物理的コンピューティングデバイス上で、または1つもしくは複数の物理的コンピューティングデバイスによって実施されることがある。他の実施形態では、複数の仮想デバイスは、単一の物理的コンピューティングデバイス上で実施される。したがって、仮想機械は、例えばプロセッサ、1つもしくは複数のハードドライブおよび/またはネットワーク接続を含むハードウェアアーキテクチャを共有することができる。また、コンピューティングデバイス上での仮想デバイス112、114、116および118の一部または全部の実施態様は、それらの機能要件に基づくことができる。例えば、複数の種類の仮想デバイス(例えば、大量の記憶を必要とする種類もあれば、少量のデータを記憶する種類もある)を有する仮想ネットワークでは、様々な種類の仮想デバイスの実行を、特定の物理的コンピュータでのメモリ使用をほぼ最大化するグループ単位で複数の物理的コンピュータに分散することができる。
【0026】
一部の実施形態では、仮想デバイス112、114、116および118はコンピュータ上で動作する仮想機械で実行できる。仮想機械は、例えば十分に機能するオペレーティングシステムをサポートすることができる完全なシステムプラットフォームを提供することができる。VMware、Microsoft Virtual PCおよびParallelsといった商用ソフトウェアを使用して、各ハードウェア仮想機械をホストすることができる。仮想機械の利点は、互いにはっきり分離した状態で単一のコンピュータ上に複数のオペレーティングシステム環境が存在し得ることである。したがって、一実施形態では、複数の仮想デバイスが単一のコンピュータ上の複数の仮想機械で作動することができる。これにより仮想機械は、例えばコンピュータの利用可能なメモリおよびそのネットワーク接続を衝突することなく共有することができる。他の実施形態では、仮想機械は複数の仮想コンピューティングシステム構成をサポートする複数のコンピュータに分散され得る。したがって、仮想コンピューティングシステム110のコンピューティングリソースは、関連LPデバイスコンピューティングシステム100のコンピューティングリソースと同様の規模とすることができる。
【0027】
一部の実施形態では、仮想デバイスとLPデバイスとの間に1対1の対応があり得る。例えば、図2を参照すると、仮想デバイス112、114、116および118は、それぞれLPデバイス102、104、106および108に関連付けることができる。加えて、仮想デバイスコーディネータ119はLPデバイスコーディネータ119に関連付けることができる。他の実施形態では、1つの仮想デバイスは、複数のLPデバイスで利用可能な機能をサポート、エミュレートおよび/または補完することができる。LPデバイスの数と仮想デバイスの数との対応は、LPコンピューティングシステムの複雑性、仮想デバイスが利用できる計算リソース、または可能ネットワークを管理する管理者の好みといった要素に基づいて選択できる。複数のLPデバイスが単一の仮想デバイスに関連付けられる場合、仮想デバイスは、LPデバイス間で区別するためLPデバイスによって提供される識別子を使用するように適合可能である。
【0028】
引き続き図2を参照すると、仮想デバイスコンピューティングシステム110は、少なくとも1つのネットワーク接続を通じてLPデバイスコンピューティングシステム100と結合できる。図2に示されているように、LPデバイスコーディネータ109と仮想デバイスコーディネータ119との間に単一のネットワーク接続160があり得る。他の実施形態(例えば、図3および図4に示されている)では、LPデバイスコンピューティングシステム100と仮想デバイスコンピューティングシステム110との間の接続は、LPデバイス102、104、106、108、LPデバイスコーディネータ109、仮想デバイス112、114、116、118および仮想デバイスコーディネータ119の任意の組合せの間のものであってよい。一部の実施形態では、ネットワーク接続160は、LPデバイスによって使用される同じネットワーキングプロトコルを使用して実施できる。例えば、LPデバイスがIEEE802.15.4−2006準拠の低速無線パーソナルエリアネットワークで動作する場合、ネットワーク接続160は、IEEE.802.15.4−2006標準をサポートする。翻訳機能を仮想デバイスコーディネータ119で、または仮想デバイス112、114、116および118で実施して、仮想デバイスコンピューティングシステム110に適合するフォーマットにデータをフォーマットすることができる。頑強なインターフェースを提供するため、様々なLPパケットフォーマットを処理する翻訳機能が提供され得る。例えば、インターフェース152は、ZigBee、WirelessHARTおよびMiWiといったLPデバイス仕様に従いフォーマットされたデータを処理する機能を有することがある。
【0029】
図2では、ネットワーク120を介して仮想デバイスコーディネータ119と通信するコンピューティングデバイス130が示されている。ネットワーク120は、インターネット、イントラネット、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、メトロポリタンエリアネットワーク(MAN)、直接接続または一連の接続、ケーブルTVインフラストラクチャ、セルラ電話ネットワークまたはその他のネットワーク、デバイス間の通信を促進できる伝送チャネルまたは媒体、仮想ネットワーキングシステム10のモジュールおよび他の構成要素を含む、当技術分野で一般に知られている任意のネットワークまたはシステムであってよい。ネットワーク120は、有線、無線またはこれらの組合せであり得る。有線接続は、イーサネット(登録商標)、ユニバーサルシリアルバス(USB)、RJ−11または当技術分野で一般に知られているその他の任意の有線接続を使用して実施できる。無線接続は、Wi−Fi、WiMAX、ブルートゥース、赤外線、セルラネットワーク、衛星または当技術分野で一般に知られているその他の任意の無線接続方法を使用して実施できる。ネットワーク120は、クライアント−サーバ、トークンリング、ピアツーピア方式、または当技術分野で知られているその他の任意のネットワークトポロジで実施できる。加えて、複数のネットワークは単独で活動するか、互いに通信してネットワーク120での通信を容易にすることができる。EDGE、3Gおよび/またはIEEE802.11標準通信プロトコルなど、様々なデバイスおよび他のネットワークがネットワーク120と通信するのを容易にするため、様々なネットワーキング標準プロトコルを用いることができる。
【0030】
仮想デバイスコンピューティングシステム110に関連付けられたネットワーク接続は、利用可能なコンピューティングおよびネットワーキングリソースならびにLPデバイスコンピューティングシステム100におけるデバイスの動作ニーズに応じて、多くの方法で構成され得る。特定の仮想デバイスに関連付けられたLPデバイスに対して情報を要求する場合、当該仮想デバイスは、デバイスコーディネータ109、119を通じて要求を送信することができる。例えば、仮想デバイス112は、仮想デバイスコーディネータ119に要求を送信することによって、LPデバイス102に対してデータを要求することができる。仮想デバイスコーディネータ119はLPデバイスコーディネータ109に要求を送信するように編成可能であり、次いでLPデバイスコーディネータ109はLPデバイス102に要求を送ることができる。LPデバイス102は逆方向の通信経路で仮想デバイス112に応答することができる。
【0031】
ネットワークを通じてデータを送受信することが一般に可能な任意のデバイス130は、仮想デバイスコンピューティングシステム110と通信するように構成され得る。例えば、図2を参照すると、コンピューティングデバイス130は、ネットワーク120およびネットワーク接続180を通じて仮想デバイスコーディネータ119と通信するように構成されてもよい。コンピューティングデバイス130は一般に、仮想デバイスコンピューティングシステム110と通信すること、ならびにLPおよび仮想コンピューティングシステム100、110の両方の外で(すなわち、LPおよび仮想コンピューティングシステム100、110のいずれにも含まれない)動作することが可能な任意のデバイスであり得る。適切なデバイスの例は、携帯情報端末(PDA)、セル電話(スマートフォンを含む)、パーソナルコンピュータ(PC)、およびビデオゲームシステムを含み、これらに限定されない。
【0032】
LPデバイス102、104、106および108は、ブロードキャストまたはユニキャストアドレスでLPデバイスコーディネータ109からデバイス発見要求(以下でより詳しく論じる)を出すことによって発見され得る。同様に、デバイスでいかなるサービスが利用できるかを判定するため、LPデバイスコーディネータ109からLPデバイス102、104、106および108のうちの1つまたは複数に対しサービス発見要求(以下でより詳しく論じる)を送信することができる。LPデバイスは、要求を出したデバイスに1つまたは複数の記述子ファイルを送信することによって、デバイス発見要求またはサービス発見要求に応答することができる。また、様々な種類の記述子ファイルが存在することがあり、各種類はLPデバイスに関する異なる情報を提供する。例えば、ZigBeeでは、デバイスは5つの記述子ファイル種類、すなわち、ノード記述子、ノード、電力記述子、単純な記述子(simple descriptor)、複雑な記述子(complex descriptor)のうちの1つで記述することができる。
【0033】
図3は、本開示の少なくとも一部の実施形態による、LPデバイスコンピューティングシステム100から仮想デバイスコンピューティングシステム110に渡されるデバイス記述子ファイル600の例を示す図である。LPデバイスは、デバイス発見要求に応じてデバイス記述子ファイル600を送信することができる。図3に示すファイル600のフォーマットは、ZigBeeプロトコルによって使用されるフォーマットに類似しているが、任意のファイルフォーマットを使用することができる。図3の例では、ファイル600に関連付けられたLPデバイスはLPランプデバイス(不図示)である。例示的なデバイス記述子600は、LPデバイスの性質(すなわち、LPデバイスはオンまたはオフにすることができるライトである)を示すデバイス識別子602を含むことができる。プロファイル識別子604は、LPランプデバイスがホームオートメーションデバイスに分類されることを示すことができる。プロファイル識別子604は、例えば、どのように情報をLPデバイスと交換するか判断するために使用できる。クラスタ値606は、LPデバイスに送信され得るコマンド種類およびコンピューティングデバイスによってアクセス可能なデバイスの属性を識別することができる。クラスタ値を使用して低電力デバイスのグループを指すこともできる。例えば、複数のランプが同じクラスタに属する場合、それらはすべて、個々のデバイスではなくクラスタとの対話でオフにされ得る。図3の例では、LPランプデバイスは「オン」または「オフ」のコマンドを受信することができる。クラスタ識別子606を使用して、ランプからどのような種類の応答を期待すべきかを判定することもできる。エンドポイントフィールド608を用いて、LPランプデバイスの一意識別子を提供することができる。一部の実施形態では、デバイス記述子600の一部としてLPデバイスから他の形式の記述的情報も送信されることに留意されたい。例えば、LPデバイスは、その製造業者、モデル名および通し番号などの情報を共有するように構成されてもよい。また、図3に関して説明したフィールド602、604、606および/または608のうちの1つまたは複数は、LPランプデバイスによって送信されたデバイス記述子ファイル600に存在しないこともある。
【0034】
図4は、本開示の少なくとも一部の実施形態による、LPデバイスコンピューティングシステム100から仮想デバイスコンピューティングシステム110に渡される電力記述子ファイル700の例を示す図である。図4の電力記述子ファイル700は、図3のデバイス記述子ファイル600に対応する。LPデバイスは、デバイス発見要求に応じて電力記述子ファイル700を送信することができる。電力記述子ファイル700は、例えば、LPランプデバイスに電力を供給するために使用される現在の電源が充電式バッテリAであること、およびLPランプデバイスに電力を供給するために充電式バッテリBも利用可能であることを(この例では)示す利用可能な電源フィールド704および現在の電源フィールド706を含むことができる。加えて、電源レベルフィールド708は、充電式バッテリAが完全に充電されていることを示すことができる。現在の電力モードフィールド702は、LPデバイスが動作するように現在どのように構成されているかを示すことができる。この例では、LPデバイスは周期的に電力供給されるように構成できる。また、図4に関して説明したフィールド702、704、706および708のうちの1つまたは複数は、LPランプデバイスによって送信された電力記述子ファイル700に存在しないこともある。
【0035】
図5は、本開示の少なくとも一部の実施形態による、LPネットワークのために仮想デバイスネットワークを作成するプロセスの例を示すシステム図である。図5の例では、LPデバイスコンピューティングシステム100(例えば、温度センサ、煙検出器および2つのランプ)に4つのLPデバイス102、104、106および108(それぞれ「L1」、「L2」、「L3」、「L4」と称する)がある。例示的なデバイス種類がキー506で提示されている。また、LPデバイスコンピューティングシステム100には、LPデバイス102、104、106および108を調整するように適合可能なLPコーディネータデバイス109もある。初期オペレーション500では、仮想デバイスコンピューティングシステム110の仮想デバイスコーディネータ519は、サービス発見要求をLPデバイスコーディネータ109に送信することによって仮想ネットワーク作成プロセスを開始するように適合され得る。ステップ501では、LPデバイスコーディネータ109は、LPデバイスコンピューティングシステム100のLPデバイス102、104、106および108にサービス発見要求を送信するように適合され得る。LPデバイス102、104、106および108は、LPデバイスコーディネータ109に1つまたは複数の記述子ファイルを送信するように構成されてもよい。現在利用できないデバイスについては、LPデバイスコーディネータ109は、最後に把握された構成を使用して利用不可能なデバイスの記述子ファイルを生成することができる。これは、例えば、サービス発見要求が出された時点でデバイスの電源がオフになっていた場合に生じ得る。ステップ502では、LPデバイスコーディネータ109は、仮想デバイスコーディネータ519に記述子ファイルを送信するように編成できる。記述子ファイルが仮想デバイスコーディネータ519によって受信されると、ファイルに含まれている情報を構文解析して、例えば、LPコンピューティングシステム100に何個のLPデバイスが存在するか、かかるデバイス向けにどのようなアプリケーションが存在するか、およびかかるデバイスの電力特性を判定することができる。この情報に基づいて、仮想デバイスをステップ503、504および505で作成することができる。例えば、ステップ503では、仮想デバイスコーディネータ519は、LPコンピューティングシステム100で動作するLP温度センサデバイス102に関して提供された情報に基づいて仮想デバイスV1 512を作成するように編成可能である。同様に、仮想デバイスV2 514は、ステップ504で、LP煙検出器デバイス106に関して集められた情報に基づいて作成され得る。
【0036】
図5の例では、複数のLPデバイスをサポート、エミュレートおよび/または補完するように仮想デバイスを作成および構成することもできる。例えば、ステップ505では、仮想デバイスV3 516は、LPデバイスコンピューティングシステム100で動作する2つのランプ104および108に関して提供された情報に基づいて作成できる。したがって、この例では、仮想デバイスコーディネータ519は、単一の仮想デバイス516がLPデバイス104、108の両方を効果的にサポートできると判定することができる。例えば、ランプ104、108の両方は、同じコマンドを受け入れ、動作するための最低電力を求めるように構成され得る。したがって、効率化のため、2つのアプリケーションを作成することができ、メッセージ生成機能を共有することができる。デバイス記述子ファイル600のエンドポイントフィールド708(例えば、図3参照)で提供される一意識別子を使用して、単一の仮想デバイス516で作動する異なるLPデバイス104、108に関連付けられる2つのアプリケーションを区別することができる。
【0037】
図6は、本開示の少なくとも一部の実施形態による、LPデバイスによって提供された情報に基づいて仮想デバイスおよびアプリケーションを作成するための例示的なプロセスを示すシーケンス図である。仮想デバイスコーディネータ119は、LPデバイスコンピューティングシステム100のLPデバイスの特性を記述することができる記述子ファイルを求める要求をLPデバイスコーディネータ109に送信するように編成できる。LPデバイスコーディネータ109は、デバイス記述子要求および/または電力記述子要求をLP温度センサデバイス102に送信するように構成されてもよい。これに応じて、LP温度センサデバイス102はデバイス記述子ファイルおよび電力記述子ファイルをLPデバイスコーディネータ109に送信することができ、次いでLPデバイスコーディネータ109はかかるファイルを仮想デバイスコーディネータ119に送ることができる。仮想デバイスコーディネータ119は、受信された情報に基づいて、仮想温度センサデバイス112を作成すべきだと判定し得る。仮想デバイスコーディネータ119は、仮想温度センサデバイスが現時点で存在しないと判定することができ、次いでかかるデバイスを作成することができる。随意に、仮想デバイスコーディネータ119は、LP温度センサデバイス102との関連性を示すため仮想温度センサデバイスで作動する1つまたは複数のソフトウェアモジュールに一意識別子を割り当てることができる。
【0038】
一部の実施形態では、仮想デバイスはLPデバイスデータを求める要求に基づいて作成できる。したがって、仮想デバイスは「必要に応じて」作成可能であり、それにより仮想デバイスに対応している(1つまたは複数の)コンピュータのリソースを節約する可能性がある。
【0039】
図7は、本開示の少なくとも一部の実施形態に従い、コンピューティングデバイスからの要求に基づいて仮想デバイスを動的に作成するための例示的なプロセスを示すシーケンス図である。図7では、仮想デバイスコーディネータ119は、LPデバイスコンピューティングシステム100の外部に位置することのあるコンピューティングデバイス130から温度センサデータを求める要求を受信する。仮想デバイスコーディネータ119は、要求がLP温度センサデバイス102にアドレス指定されていると判定するように構成され得る。この判定は、例えば、コンピューティングデバイス130からのセンサ要求における宛先値を調べることによって行うことができる。仮想デバイスコーディネータ119は、温度センサ要求を処理できる仮想デバイスがあるか否か判定するため仮想デバイスコンピューティングシステム110を評価するように適合可能である。かかるデバイスが存在しない場合、仮想デバイスコーディネータ119はLP温度センサデバイス102と直接的にまたはLPコーディネータ109(不図示、図2参照)を通じて交信して、適切なLPデバイス102からデバイス記述子データを取り出すことができる。デバイス記述子データを仮想デバイスコーディネータ119が使用して、仮想温度センサデバイス112を作成することができる。仮想デバイスコーディネータ119は、LP温度センサデバイス102をサポート、エミュレートおよび/または補完するように構成された仮想温度センサデバイス112を作成するように編成可能であり、あるいは、仮想デバイスコーディネータ119は、仮想デバイスが一般に必要とする最低限の機能を提供できる汎用仮想デバイスを作成するように編成可能である。図7の例では、仮想温度センサデバイス112を作成することができる。LP温度センサデバイス102をサポートするように仮想温度センサデバイス112を構成するために、仮想温度センサデバイスは、記述子ファイルを受信してLP温度センサデバイス102の機能特性を判定するために、LP温度センサデバイス102と通信するように適合可能である。かかる記述子ファイルに基づいて、仮想温度センサデバイス112は、その構成ソフトウェアモジュールのうちの1つまたは複数を、LPアプリケーションをサポート、エミュレートまたは補完するように構成することができる。仮想デバイスコーディネータ119は、作成された仮想温度センサデバイス112にセンサデータ要求を転送するように編成可能である。
【0040】
一部の実施形態では、仮想デバイスが作成されると、仮想デバイスは(1つまたは複数の)関連LPデバイスおよびLPデバイスコーディネータとの通信を継続して、関連LPデバイスの動作状態に関する情報を保持することができる。例えば、仮想デバイスは、仮想デバイスコーディネータまたは(1つもしくは複数の)関連LPデバイスに対して記述子ファイルを繰り返し要求するように構成されてもよい。この情報は、例えば、デバイスがオンであるかオフであるか、デバイスが現時点で臨界電力で作動しているか、またはデバイスが十分に充電されているかを示すことができる。この情報を仮想デバイスが使用して、LPデバイスに関連する動作状態を保持することができる。例えば、仮想デバイスが温度データを求める要求を受信した場合、仮想デバイスはLP温度センサデバイスの動作状態をチェックすることができる。仮想デバイスは、LPデバイスの電源が現時点でオフになっていると判定した場合、仮想デバイスに記憶されているデータで要求に応じることができる。
【0041】
一部の実施形態では、各仮想デバイスにLPデバイスの動作状態情報を保持させるのではなく、仮想デバイスコーディネータが、LPデバイスコンピューティングシステムの1つまたは複数のLPデバイスの動作状態を保持するように構成され得る。この情報は、例えば、LPデバイスコーディネータとの通信を通じて、またはLPデバイスコンピューティングシステムの1つまたは複数のLPデバイスとの直接的な通信を通じて収集できる。仮想デバイスコンピューティングシステムの仮想デバイスは、仮想デバイスコーディネータから動作状態情報を取り出すように構成され得る。
【0042】
一部の実施形態では、仮想デバイスはLPデバイス種別をサポートするように構成できる。したがって、同様に分類されたLPデバイスは、同じ仮想デバイスによってサポート可能である。種別は、LPコンピューティングシステムにおける各LPデバイスについて、記述子ファイルにおけるLPデバイスによって提供された記述子情報に基づいて判定される。種別は、1つまたは複数のデバイス特性に基づいて作ることができる。一部の実施形態では、単一の製造業者からのデバイスは単一の仮想デバイスに関連付けることができる。他の実施形態では、種別は、デバイスで利用可能な機能を示すことができる。この種の種別の例は、ホームオートメーション機能、通信機能、モバイルサービス機能、産業管理機能(industrial management functionality)、マルチメディア制御機能、照明制御機能、エネルギー制御機能および温度制御機能を含み、これらに限定されない。例えば、図3を再び参照すると、デバイス記述子ファイル700を使用して、デバイス記述子ファイル700のプロファイル識別子値704に基づいてホームオートメーション機能を提供するものにLPデバイス102を分類することができる。デバイスはまた、例えば、電力使用など動作特性や、デバイスクラスタに含まれることによって分類できる。
【0043】
図8は、本開示の少なくとも一部の実施形態に従い、複数の仮想デバイスによって提供された情報に基づいて仮想デバイスセットを作成するための例示的なプロセスを示すシーケンス図である。図8の例では、仮想デバイスコーディネータ119は、LPデバイスコーディネータ109にファイル記述子を要求するように編成できる。一部の実施形態では、要求は対応するLPデバイスに直接的に送信されることがある。図8の例では、LPデバイスコーディネータ109は、LPランプデバイス1504、LPライトスイッチデバイス1506および/またはLP天井ライトデバイス1508に一連の発見要求を出すように構成できる。各々のLPデバイス1504、1506または1508は、LPデバイスコーディネータ109に1つまたは複数の記述子ファイルを送信することによって応答するように構成できる。LPデバイスコーディネータ109がLPデバイス1504、1506または1508からの応答を受信すると、応答は仮想デバイスコーディネータ119に送信され得る。仮想デバイスコーディネータ119は、各記述子ファイルを受信すると、ファイル内の情報を解析して種別を判定することができる。この場合、3つのデバイス1504、1506および1508はすべて、仮想デバイスコーディネータに119によって、照明デバイスに分類され得る。各々のLPデバイス1504、1506および/または1508は、仮想照明デバイス1510に関連付けることができる。
【0044】
一部の実施形態では、仮想コンピューティングシステム110は、例えば、LPデバイスが反応していないと判定した場合に、時が過ぎれば仮想デバイスからLPデバイスを切り離すことがある。
【0045】
図9は、本開示の少なくとも一部の実施形態に従い、LPデバイスから仮想デバイスを切り離すための例示的なプロセスを示すシーケンス図である。図9の例では、仮想デバイスコーディネータ119は最初に、仮想HVACデバイス1602をLP空調デバイス1604に関連付けることができる。一定の時間にわたり、仮想デバイス1602はステータス報告をLP空調デバイス1604に要求することができる。仮想デバイス1602がLP空調デバイス1604から返信を受信しなかった場合、タイムアウトが生じて、仮想デバイス1602に、LP空調デバイス1604の電源がオフになっているようであることを示すフラグをセットすることを促すことができる。タイマを開始することができ、しきい値を上回っているとタイマが判定すると、仮想デバイス1602はLP空調デバイス1604からの切離しを要求することができる。仮想HVACデバイス1602はしきい値を任意の所望の値に設定できることに留意されたい。一部の実施形態では、しきい値はデバイスの電力特性に基づいて設定できる。例えば、連続的に電源がオンになっていると予想されるLPデバイスは、数秒のしきい値を有することがあり、電力が時々供給されるLPデバイスは、数時間のしきい値を有することがある。仮想LPデバイス1602が空調LPデバイス1604から切り離されると、仮想デバイス1602のリソースの再割り当てを新たなLPデバイスに対して行うことができる。図9の例では、空調LPデバイス1604と仮想デバイス1602の切離しに続いて、仮想デバイスコーディネータ119は、仮想HVACデバイス1602をLPヒータデバイス1606に関連付けることができる。
【0046】
図10は、本開示の少なくとも一部の実施形態による仮想ネットワーキングシステムの代替構成の例を示すシステム図である。図10に示されているように、一部の実施形態では、仮想ネットワーキングシステム30は、仮想デバイスコンピューティングシステム310の各仮想デバイスへの直接的なネットワーク接続を提供するように構成できる。図10の例では、仮想デバイス112、114、116および118ならびに仮想デバイスコーディネータ119はそれぞれ、ネットワーク120に直接的に接続され得る。コンピューティングデバイス130は、ネットワーク120を介して、仮想デバイスコンピューティングシステム310の任意の仮想デバイス112、114、116または118に、対応するデバイスに関連するアドレスによって直接接続するように適合可能である。例えば、各仮想デバイスは、ユニフォームリソースロケータ(URL)またはIPアドレスによってアドレス指定され得る。
【0047】
図11は、本開示の少なくとも一部の実施形態による仮想ネットワーキングシステムの代替構成の例を示すシステム図である。図11に示されているように、一部の実施形態では、仮想ネットワーキングシステム40は、仮想デバイスがその関連LPデバイスと直接的に交信するように構成された仮想デバイスコンピューティングシステムを提供することができる。図11では、仮想デバイスコンピューティングシステム410の仮想デバイス112、114、116および118は、LPデバイスコンピューティングシステム400におけるそれらの関連LPデバイス102、104、106および108と直接的に結合できる。したがって、仮想デバイス112、114、116および118は、LPデバイスコーディネータ109および仮想デバイスコーディネータ119を使用することなく、関連LPデバイス102、104、106および108と直接的に通信するように構成できる。ただし、仮想デバイスコーディネータ119はそれでもなお、仮想デバイス作成、仮想デバイス構成および仮想コンピューティングシステム410の維持などのサービスを提供できることを理解されたい。
【0048】
図12は、本開示の少なくとも一部の実施形態による、仮想デバイスを使用してLPデバイスへの要求を処理する例示的なプロセスを示す、LPデバイスがほぼ一定の電力を維持する場合のシーケンス図である。この点について、仮想デバイスコンピューティングシステム110は、コンピューティングデバイス(例えば、図2のコンピューティングデバイス130)とLPデバイスコンピューティングシステム100との間の通信を仲介する役割を果たすことができる。図12の例では、コンピューティングデバイス130は、温度センサデータを求める要求を仮想デバイスコーディネータ119に送信するように編成され得る。仮想デバイスコーディネータ119は、センサデータ要求の意図された宛先を判定するように構成できる。一部の実施形態では、仮想デバイスコーディネータ119は、センサデータ要求に関連する宛先アドレスを評価するように編成可能である。この宛先アドレスは、例えば、ユニフォームリソースロケータ(URL)またはIPアドレスの場合がある。LP温度センサデバイス102が意図された宛先であると仮想デバイスコーディネータ119が判定した場合、要求先のLPデバイス102に関連付けられた仮想温度センサデバイス112にセンサデータ要求を転送することができる。仮想温度センサデバイス102は、LPデバイス102に関連する電力記述子情報をチェックすることができる。仮想温度センサデバイス112が、例えば、基礎的LPデバイス102がほぼ一定の電力で動作していると判定した場合、温度センサデータを求める要求をLPデバイス102に送信することができる。LPデバイス102は、仮想温度センサデバイス100を介してコンピューティングデバイス130に返信することができる。
【0049】
図13は、本開示の少なくとも一部の実施形態による、仮想デバイス112を使用してLPデバイスへの要求を処理する例示的なプロセスを示す、LPデバイスが周期的に電力供給される場合のシーケンス図である。図13では、仮想温度センサデバイス112は、LP温度センサデバイス102(図13には示されていない)の電力特性を調べるように適合可能である。かかる電力特性は、例えば、仮想温度センサデバイス112によって以前に受信された1つまたは複数の記述子ファイルに含まれている情報に基づいて判定されている場合がある。図13では、仮想温度センサデバイス112は、LPデバイス102が周期的に電力供給されていると判定するように編成できる。仮想温度センサデバイス112は、仮想温度センサデバイス112に結合されたデータベース(不図示)に問い合わせて、デバイス112がLPデバイス102からデータを最後に受信したのはいつかを確認することができる。データが十分に最近のものであることが分かると、仮想温度センサデバイス112は、LP温度センサデバイス102に代わってコンピューティングデバイス130に応答することができる。仮想温度センサデバイス112は、デバイスデータが十分に最近のものではないと判定した場合、図12の例のようにデータをLPデバイス102に要求することができ、そして応答することができる。
【0050】
図14は、本開示の少なくとも一部の実施形態による、仮想デバイス112を使用してLPデバイス102への要求を処理する例示的なプロセスを示す、LPデバイスの充電レベルが臨界レベルにある場合のシーケンス図である。LPデバイス102の充電レベルに関する情報は、例えば、仮想デバイス112にとってアクセス可能なデバイス記述子ファイルで提供され得る。図14の例では、仮想温度センサデバイス112は、データが更新されたのがいつかに関わりなく、データベース(不図示)からの情報で応答するように編成できる。LPデバイス102が電源オフ状態にあると仮想温度センサデバイス112が判定したときに、同様の応答を生成することができる。一部の実施形態では、仮想温度センサデバイス100は、情報が古くて不正確かもしれないことを示す情報を、要求元のコンピューティングデバイス130に送信するように構成できる。
【0051】
一部の実施形態では、仮想デバイスコンピューティングシステム110は、1つまたは複数の仮想デバイス112、114、116、118および/または119がLPデバイス102、104、106、108および/または109に代わってサービスを実行することを許容することによって、基礎的LPデバイスコンピューティングシステム100の機能を強化するように適合可能である。例えば、コンピューティングデバイス130は、サービス要求を通信するために直接または仮想デバイスコーディネータ119を通じて仮想デバイスと対話するように構成できる。サービス要求は、仮想デバイスでのサービスを要求するのに必要な任意の情報を含むことができる。例えば、サービス要求は、低電力アプリケーションデータを求める要求および処理要求を含むことができる。処理要求の例は、過去の低電力デバイスデータ、予想される将来のLPデバイスデータを求める要求、および低電力デバイスデータの図表表示を求める要求を含み、これらに限定されない。例えば、予想される将来のLPデバイスデータは、最近傍、線形、多項式またはスプライン補間技法などを使用して生成できる。仮想デバイスは、サービス要求を受信した後、要求先の低電力デバイスに関連する記述子ファイルを評価して、低電力デバイスが要求されたサービスを提供できるか否か判定することができる。要求先の低電力デバイスが要求されたサービスを実行できない場合、仮想デバイスは、場合によっては低電力デバイスによって以前に生成されたデータを使用して、サービスをローカルで実行することができる。
【0052】
図15は、本開示の少なくとも一部の実施形態による、仮想デバイス112を使用して温度予測を生成するための例示的なプロセスを示す、関連LPデバイスが通信可能ではない場合のシーケンス図である。この例示的なプロセスでは、コンピューティングデバイス130は、LP温度センサデバイス102(図15では示されていない)から温度予測を取り出すことを試みることができる。コンピューティングデバイス130は、温度予測を求めるサービス要求を仮想デバイスコーディネータ119に送信するように適合され得る。仮想デバイスコーディネータ119は、サービス要求に符号化された宛先情報を解析し、LP温度センサデバイス102が意図された宛先であると判定するように構成できる。仮想デバイスコーディネータ119はまた、LP温度センサデバイス102に関連付けられた仮想デバイス、すなわち、仮想温度センサデバイス112に要求を転送するように構成できる。他の実施形態では、コンピューティングデバイスは仮想温度センサデバイス112と直接的に交信し、それにより仮想デバイスコーディネータ119を飛び越えることができるように構成できることに留意されたい。
【0053】
引き続き図15を参照すると、仮想温度センサデバイス112は、図15でサービス要求を受信すると、要求を処理することができる。温度センサデバイス112は、予測データが要求されていると判定するように編成できる。一部の実施形態では、受信されたメッセージに符号化されている処理要求を考慮することにより、この判定がなされ得る。この処理要求は、例えば、要求元デバイスのためにデータをフォーマットする方法を仮想デバイス112に知らせる情報を含むことができる。処理要求の例は、過去の低電力デバイスデータ、予想されるさらなる低電力デバイスデータを求める要求、および/または低電力デバイスデータの図表表示を求める要求を含むことができ、これらに限定されない。仮想デバイス112は、LP温度センサデバイス102がコンピューティングデバイス130のセンサデータ要求に応じることが可能であるか否かを判定するため、デバイス102の機能を評価するように適合され得る。図15の例では、仮想温度センサデバイス112は、LP温度センサデバイス102は将来の温度条件を予測するようには構成されていないと判定し得る。したがって、仮想温度センサデバイス112は、要求された温度予測を内部で生成すること、または要求された予測が利用できない旨の表示情報(indication)で応答することができる。
【0054】
引き続き図15を参照すると、温度予測の精度を高めるため、仮想温度センサデバイス112は、LP温度センサデバイス102が現時点で電力供給されていて通信可能である(すなわち、「アクティブ」である)場合には、LP温度センサデバイス102から現在の温度データを収集するように構成されてもよい。仮想温度センサデバイス112は、LP温度センサデバイス102によって提供される記述子ファイルから導出される電力プロファイルを評価することによって、LPデバイス102がアクティブであるか否かを判定するように構成され得る。LPデバイス102が現時点で通信不可能であることを電力プロファイルが示した場合、LPデバイス102に照会を出さないこともある。通信不可能であることは、例えば、LPデバイスが現時点で電力供給されていないことを電力プロファイルが明示したときに示され得る。同様に、LPデバイス102が臨界電力で作動していることを電力プロファイルが示したとき、仮想温度センサデバイス112はLPデバイス102に照会しないことがあり、それによりLPバッテリリソースを保持することができる。図15の例では、LPデバイス102が利用不可能であると仮想温度センサデバイス112が判定し、仮想温度センサデバイス112にとってアクセス可能なデータベースに保存されている過去のデータのみを使用して予測が生成される。温度予測が生成されると、仮想温度センサデバイス112は、元の温度予測要求への返信としてコンピューティングデバイス130に温度予測情報を送信することができる。
【0055】
温度予測が生成されている間にLPデバイス102が利用できる場合、仮想温度センサデバイス112は、LP温度センサデバイス102から現在の温度データを収集して当該データを温度予測に含めることができる。
【0056】
図16は、本開示の少なくとも一部の実施形態による、仮想デバイス112を使用して温度予測を生成するための例示的なプロセスを示す、関連LPデバイスが通信可能である場合のシーケンス図である。図16の例では、仮想温度センサデバイス112は、LPデバイス102に関連する電力プロファイルを評価し、LPデバイス102が利用可能であると判定する。利用可能であることは、例えば、LPデバイス102の電源が常にオンになっていることを電力プロファイルが明示したときに示され得る。仮想温度センサデバイス112は、センサデータを求める要求をLPデバイス102に送信することができ、関連する応答を受信することができる。要求および応答は、直接または1つもしくは複数の仲介役の仮想デバイスもしくはLPデバイスを通じて送信できることに留意されたい。図16の例と同様に、仮想温度センサデバイス112にとってアクセス可能なデータベースから過去の温度データを収集することができる。過去および現在の温度センサデータを使用して、予測を生成することができる。元の温度予測要求に対する応答として、コンピューティングデバイス130に予測情報を送信することができる。
【0057】
図17は、本開示の少なくとも一部の実施形態による、仮想ネットワーキングシステム10の実施態様を示すコンピュータアーキテクチャまたはシステム1800を示すブロック図である。システムバス1802は、中央処理ユニット(CPU)1804、RAM1806、基本入出力システム(BIOS)1808および他の構成要素の間でデータを移送するように編成できる。CPU1804は、キャッシュメモリ構成要素1824を含むことができる。RAM1806は、仮想デバイスプロセス1840を含むことができる。仮想デバイスプロセス1840は、1つまたは複数のLPデバイスの機能をサポート、エミュレートおよび/または補完するように構成されてもよい。コンピュータシステム1800は、ハードディスクドライブ(HDD)、光ストレージドライブ(例えば、CD−ROM、DVD−ROM、DVD−RW)、フラッシュメモリ、テープデバイス、または他のストレージデバイス(不図示)にアクセスするための1つまたは複数の外部ストレージポート1817を含むことができる。(1つまたは複数の)関連ストレージデバイスは、外部ストレージポート1817を通じて接続または結合することができ、外部ストレージポート1817はディスクコントローラ1822を介してシステムバス1802に接続または結合できる。キーボードおよびポインティングデバイス(例えば、マウス、タッチパッド)(不図示)は(1つまたは複数の)キーボード/マウスポート1812に接続または結合することができ、他のI/Oデバイスは(1つまたは複数の)追加のI/Oポート1813に接続または結合することができ、これらのポートはI/Oコントローラ1810を通じてシステムバス1802に接続または結合することができる。シリアルポート、パラレルポート、ファイアワイヤアダプタまたはバイオメトリックデバイス(不図示)などの追加のポートまたはデバイスは、I/Oコントローラ1810を通じて利用できる。表示デバイス(不図示)は、表示デバイスポート1814に接続または結合することができ、表示デバイスポート1814はビデオコントローラ1815を通じてシステムバス1802に接続または結合することができる。イーサネット(登録商標)デバイスまたはネットワーク機能を有する他のデバイスを含むがこれに限定されないネットワークデバイス(不図示)は、ネットワークポート1820に接続または結合することができ、ネットワークポート1820はネットワークコントローラ1816を通じてシステムバス1802に接続または結合することができる。コンピュータシステム1800は、無線コントローラ1826に接続または結合されたアンテナ1828を使用して、無線ルータを含むがこれに限定されない無線オペレーション(不図示)向けに構成され得るネットワークデバイスに無線で接続または結合することができ、無線コントローラ1826は、システムバス1802に接続または結合することができ、アンテナはネットワークデバイスとの間で信号を送受信するように編成され得る。コンピュータシステム1800は、1つまたは複数のUSBポート1823を含むことができる。プリンタ、スキャナ、キーボード、マウス、デジタルカメラ、ストレージデバイス、PDA、セルラ電話、バイオメトリックデバイス、ウェブカメラおよびI/Oアダプタを含むが、これらに限定されないUSBデバイス(不図示)は、USBポート1823に接続または結合することができ、USBポート1823は、USBコントローラ1811を通じてシステムバス1802に接続または結合することができる。セルラ電話、PDA、または他の携帯用デバイスなどの他のデバイスも、無線I/Oコントローラ1830に接続または結合された無線I/Oアンテナ1832を介して無線接続することができる。無線I/O技術の例は、ブルートゥース、赤外線(IR)および無線周波(RF)を含むが、これらに限定されない。マイクロフォン、スピーカーまたはヘッドフォンなどのオーディオデバイスは、音声ポート1838に接続または結合することができ、音声ポート1838は音声コントローラ1834に接続または結合することができ、音声コントローラ1834はシステムバス1802に接続または結合することができる。拡張スロット1818は、コンピュータシステム1800に追加のカードを置くことができるよう、業界標準アーキテクチャ(ISA)スロット、周辺構成要素相互接続(PCI)拡張スロット、PCI Express拡張スロット、Accelerated Graphics Port(AGP)スロットまたは当技術分野で一般に知られているその他のスロットから構成され得る。これらのスロットを使用して、ネットワークカード、ビデオカード、音声カード、モデム、およびコンピュータで一般に使用されるその他の周辺デバイスを接続または結合することができる。コンピュータシステム1800はまた、外部の電源および内部または外部のバッテリに接続または結合された電源を含むがこれらに限定されない電源(不図示)を含むことができる。こうしたデバイスの詳細な説明については、単に便宜上省略しており、限定的に解釈すべきではない。
【0058】
本開示の実施形態は、ハードウェアおよびソフトウェアの任意の組合せで実施できる。コンピュータ実施装置として実施される場合、実施形態は上述のステップおよび機能のすべてを実行するための手段を使用して実施される。
【0059】
本開示の実施形態は、例えばコンピュータ使用可能媒体を有する製造品(例えば1つまたは複数のコンピュータプログラム製品)に含めることができる。この媒体は、例えば、本開示の実施形態の機構を提供し容易にするためのコンピュータ可読プログラムコード手段をその中に具現化している。製造品は、コンピュータシステムの一部として含めること、または別個に販売することができる。
【0060】
システムの態様のハードウェア実装とソフトウェア実装との間の区別は、ほとんど残っておらず、ハードウェアまたはソフトウェアの使用は一般に(ただし常にではなく、特定の文脈では、ハードウェアとソフトウェアとの間の選択が重要になり得るという点で)コストと効率性との兼ね合いを表す設計の選択である。本明細書で説明したプロセスおよび/またはシステムおよび/または他の技術を実現できる様々な手段(例えば、ハードウェア、ソフトウェアおよび/またはファームウェア)があり、その上、好ましい手段は、プロセスおよび/またはシステムおよび/または他の技術が展開される文脈によって変化する。例えば、実施者は、速度および精度が最も重要であると判定した場合、主としてハードウェアおよび/またはファームウェア手段を選ぶことがあり、柔軟性が最も重要である場合、実施者は、主としてソフトウェア実装を選択してもよく、または、さらに別法として、実施者は、ハードウェア、ソフトウェアおよび/またはファームウェアの何らかの組合せを選んでもよい。
【0061】
上記の詳細な説明は、ブロック図、フローチャートおよび/または例を使用することによって、デバイスおよび/またはプロセスの様々な実施形態について述べている。こうしたブロック図、フローチャートおよび/または例が1つまたは複数の機能および/または動作を含む限りでは、こうしたブロック図、フローチャートまたは例の中の各々の機能および/または動作は、幅広いハードウェア、ソフトウェア、ファームウェアまたは事実上任意のその組合せによって個々にかつ/または集合的に実施され得ることが当業者には理解されよう。一実施形態では、本明細書で説明した主題のいくつかの部分は、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、デジタル信号プロセッサ(DSP)または他の集積された形式によって実施され得る。しかし、本明細書に開示された実施形態の一部の態様は、1つまたは複数のコンピュータ上で実行される1つまたは複数のコンピュータプログラムとして(例えば、1つまたは複数のコンピュータシステム上で実行される1つまたは複数のプログラムとして)、1つまたは複数のプロセッサ上で実行される1つまたは複数のプログラムとして(例えば、1つまたは複数のマイクロプロセッサ上で実行される1つまたは複数のプログラムとして)、ファームウェアとして、または事実上任意のその組合せとして、全体的にまたは部分的に集積回路に同等に実装することができ、また回路を設計すること、ならびに/またはソフトウェアおよび/もしくはファームウェアのコードを作成することは、本開示に鑑みて十分に当業者の技術の範囲内にあることを当業者は理解するであろう。さらに、本明細書で説明した主題の機構は、プログラム製品として様々な形で配布することがき、また本明細書で説明した主題の例示的な一実施形態は、この配布を実際に実施するために使用される特定のタイプの信号担持媒体に関係なく適用されることを、当業者は理解しよう。信号担持媒体の例は、以下を含むが、これらに限定されない。フレキシブルディスク、ハードディスクドライブ(HDD)、コンパクトディスク(CD)、デジタルビデオディスク(DVD)、デジタルテープ、コンピュータメモリなどの記録可能なタイプの媒体、ならびにデジタルおよび/またはアナログ通信媒体(例えば、光ファイバケーブル、導波管、有線通信リンク、無線通信リンクなど)などの伝送タイプの媒体。
【0062】
本明細書に示されたやり方でデバイスおよび/またはプロセスについて説明し、その後、工学の慣例を使用し、このような説明したデバイスおよび/またはプロセスをデータ処理システムに統合することは当技術分野では一般的であることを、当業者は理解するであろう。すなわち、本明細書で説明したデバイスおよび/またはプロセスの少なくとも一部が、十分な量の実験によってデータ処理システムに統合され得る。一般的なデータ処理システムは、システムユニット筐体、ビデオ表示デバイス、揮発性メモリおよび不揮発性メモリなどのメモリ、マイクロプロセッサおよびデジタル信号プロセッサなどのプロセッサ、オペレーティングシステム、ドライバ、グラフィカルユーザインターフェース、およびアプリケーションプログラムなどのコンピュータエンティティ、タッチパッドや画面などの1つもしくは複数の対話デバイス、ならびに/またはフィードバックループおよび制御モータ(例えば、位置および/もしくは速度を感知するためのフィードバック、構成要素および/もしくは量の移動および/もしくは調整のための制御モータ)を含む制御システムのうちの1つまたは複数を一般に含むことを、当業者は理解するであろう。一般的なデータ処理システムが、データコンピューティング/通信および/またはネットワークコンピューティング/通信システムで一般に見られるものなど、任意の適切な市販のコンポーネントを使用して実装され得る。
【0063】
本明細書で説明した主題は、それぞれ異なる他の構成要素内に含まれた、またはそれに結び付けられたそれぞれ異なる構成要素を示すことがある。こうした示されたアーキテクチャは、例に過ぎず、実際には、同じ機能を実現する多くの他のアーキテクチャを実装できることを理解されたい。概念的な意味では、同じ機能を実現する構成要素のいかなる編成も、所望の機能が実現するように有効に「関連付けられる」。したがって、特定の機能を実現するために本明細書で組み合わされたいかなる2つの構成要素も、アーキテクチャまたは中間の構成要素に関係なく所望の機能が実現するように互いに「関連付けられる」とみなすことができる。同様に、そのように関連付けられたいかなる2つの構成要素もまた、所望の機能を実現するために互いに「動作可能に接続される」または「動作可能に結合される」とみなすことができ、そのような関連付けが可能ないかなる2つの構成要素もまた、所望の機能を実現するために互いに「動作可能に結合可能である」とみなすことができる。動作可能に結合可能であるものの具体的な例は、物理的に組にすることが可能な、かつ/もしくは物理的に対話する構成要素、ならびに/または無線で対話可能な、かつ/もしくは無線で対話する構成要素、ならびに/または論理的に対話する、かつ/もしくは論理的に対話可能な構成要素を含むが、これらに限定されない。
【0064】
実質的に任意の複数および/単数の用語を本明細書で使用することに関して、当業者は、文脈および/適用例に適切であるように、複数から単数に、かつ/または単数から複数に変換することができよう。様々な単数/複数の置換について、明瞭にするために、本明細書に明示的に述べられ得る。
【0065】
一般に、本明細書、特に添付のクレーム(例えば、添付のクレームの本文)中に用いられた用語は一般に「オープンな(open)」用語として意図されている(例えば、用語「含む(including)」は、「含むが、限定されるものではない」と解釈すべきであり、用語「有する(having)」は、「少なくとも有する」と解釈すべきであり、「含む(includes)」は、「含むが、限定されるものではない」と解釈すべきである、など)ことが当業者には理解されよう。特定の数の導入クレームの列挙が意図されている場合、かかる意図はクレーム中に明示的に列挙されており、こうした列挙がない場合には、かかる意図は存在しないことが当業者にはさらに理解されよう。例えば、理解への助けとして、下記の添付のクレームは、クレーム列挙の導入のために導入語句「少なくとも1つ」および「1つまたは複数」の使用を含み得る。しかし、こうした語句の使用は、同じクレームが導入語句「1つまたは複数」または「少なくとも1つ」および「1つ(aまたはan)」などの不定冠詞を含む場合でも、不定冠詞「1つ(aまたはan)」によるクレーム列挙の導入によって、こうした導入クレーム列挙を含むいずれかの特定のクレームが、こうした列挙を1つしか含まない発明に限定されることを示唆すると解釈すべきではなく(例えば、「1つ(aおよび/またはan)」は、「少なくとも1つ」または「1つまたは複数」を意味するものと一般に解釈すべきであり)、クレーム列挙の導入に用いられた定冠詞の使用についても同じことが当てはまる。さらに、特定の数の導入クレーム列挙が明示的に列挙される場合でも、こうした列挙は一般に、少なくとも列挙された数を意味するものと解釈すべきである(例えば、他の修飾子のない「2つの列挙」の素の列挙は一般に、少なくとも2つの列挙、または2つ以上の列挙を意味する)ことを、当業者は理解するであろう。さらに、「A、BおよびCのうちの少なくとも1つなど」に類似の慣例的表現が用いられる場合には、一般にこうした構成は、当業者がこの慣例的表現を理解するという意味で意図されている(例えば、A、BおよびCのうちの少なくとも1つを有するシステムは、Aだけ、Bだけ、Cだけ、AとBともに、AとCともに、BとCともに、および/またはA、B、Cともになど、を有するシステムを含むが、これらに限定されない)。事実上任意の離接語および/または2つ以上の代替語を提示する語句は、説明であれ、クレームであれ、図面であれ、用語のうちの1つ、用語のいずれか、または両方の用語を含む可能性を企図するものと理解すべきであることが、当業者にはさらに理解されよう。例えば、語句「AまたはB」は、「A」もしくは「B」、または「AおよびB」の可能性を含むものと理解されよう。
【0066】
様々な態様および実施形態が本明細書に開示されているが、他の態様および実施形態が当業者には明らかであろう。本明細書に開示された様々な態様および実施形態は、例示を目的としており、限定することを意図しておらず、真の範囲および趣旨は、以下のクレームに示されている。
【技術分野】
【0001】
関連出願の相互参照
本出願は、2009年7月21日に出願され、Virtualization for Low−Power Networksと題し、その全体の開示が参照により本明細書に組み込まれる米国特許出願第12/506,383号の利益を主張する。
【0002】
本出願は、2009年7月21日に出願され、Performing Services on Behalf of Low−Power Devicesと題する米国特許出願第12/506,391号に関する。
【0003】
本開示は、一般にデバイスおよびネットワークの仮想化に関し、より具体的にはネットワークで動作する低電力(LP)デバイスの機能を強化することに関する。
【背景技術】
【0004】
LPデバイスは典型的には、家庭用または商業用の設定でセンサおよび制御の機能を提供するように設計されている。こうしたデバイスは一般に、無線ネットワークを介して互いに通信することで、ホームオートメーション、セキュリティおよび監視などの機能を提供している。
【発明の概要】
【0005】
本開示は、仮想デバイスコーディネータを有する仮想ネットワークで動作する仮想デバイスを低電力デバイスに関連付ける、コンピュータによって実施される方法について全般的に説明する。一部の例示的方法は、仮想デバイスコーディネータによって、低電力デバイスから低電力デバイス記述子を受信すること、および仮想デバイスコーディネータによって、受信された低電力デバイス記述子に基づいて低電力デバイス種別を判定することを含むことができる。仮想デバイスコーディネータは、判定された低電力デバイス種別および受信された低電力デバイス記述子に基づいて仮想デバイスを構成する。仮想デバイスコーディネータは、構成された仮想デバイスが低電力デバイスに関連付けられていることを示す関連性記録を記憶する。
【0006】
本開示はまた、第1コンピュータで仮想ネットワークを動的に作成する方法について全般的に説明する。一部の例示的方法は、仮想デバイスコーディネータによって、要求元デバイスから低電力デバイスデータ要求を受信すること、および仮想デバイスコーディネータによって、受信された低電力デバイスデータ要求が仮想デバイスコーディネータによって管理されている低電力デバイスにアドレス指定されていると判定することを含むことができる。仮想デバイスコーディネータは、低電力デバイス要求が仮想デバイスコーディネータによって管理されている低電力デバイスにアドレス指定されていると判定されたときに、低電力デバイスに低電力デバイス記述子を要求し、低電力デバイスに低電力デバイス記述子を要求した後に、低電力デバイスから低電力デバイス記述子を受信する。仮想デバイスコーディネータは、受信された低電力デバイス記述子および受信された低電力デバイスデータ要求に基づいて仮想デバイスを作成する。
【0007】
本開示はまた、仮想デバイスコンピューティングシステムについて全般的に説明する。仮想デバイスコンピューティングシステムの一部の例は、ネットワーク受信機、ネットワーク受信機に結合された仮想デバイスコーディネータ、および仮想デバイスコーディネータに結合されたコンピュータ可読メモリを含むことができる。ネットワーク受信機は、低電力デバイスから低電力デバイス記述子を受信するように構成される。仮想デバイスコーディネータは、受信された低電力デバイス記述子に基づいて低電力デバイスに仮想デバイスを関連付けるように構成される。コンピュータ可読メモリは、仮想デバイスと低電力デバイスとの関連性を示す1つまたは複数の関連性記録を記憶するように構成される。
【0008】
本開示はまた、仮想デバイスコーディネータを有する仮想ネットワークで動作する仮想デバイスを低電力デバイスに関連付けるための製造品について全般的に説明する。一部の例示的な製造品は、低電力デバイスから低電力デバイス記述子を受信すること、および受信された低電力デバイス記述子に基づいて低電力デバイス種別を判定することを含む方法を実施するコンピュータ実行可能命令を保持するコンピュータ可読媒体を含むことができる。仮想デバイスは、判定された低電力デバイス種別および受信された低電力デバイス記述子に基づいて構成される。構成された仮想デバイスが低電力デバイスに関連付けられていることを示す関連性記録が記憶される。
【0009】
上記の概要は、例示に過ぎず、決して限定的であることは意図されていない。上述の例示的な態様、実施形態および特徴に加えて、さらなる態様、実施形態および特徴が、図面および以下の詳細な説明を参照することにより明らかになろう。
【0010】
本開示の上記の特徴および他の特徴は、添付の図面とともに行う以下の説明および添付のクレームからより十分に明らかになろう。これらの図面は、本開示によるいくつかの実施形態のみを示しており、よってその範囲を限定するものとみなすべきでないことを理解した上で、本開示について、以下の添付の図面を使用することで、さらに具体的かつ詳細に説明する。
【図面の簡単な説明】
【0011】
【図1】本開示の少なくともいくつかの実施形態に従って配置された、仮想ネットワーキングシステムの例を示すシステム図である。
【図2】本開示の少なくともいくつかの実施形態に従って配置された、仮想ネットワーキングシステムの例を示すシステム図である。
【図3】本開示の少なくともいくつかの実施形態に従って配置された、LPデバイスコンピューティングシステムから仮想デバイスコンピューティングシステムに渡されるデバイス記述子ファイルの例を示す図である。
【図4】本開示の少なくともいくつかの実施形態に従って配置された、LPデバイスコンピューティングシステムから仮想デバイスコンピューティングシステムに渡される電力記述子ファイルの例を示す図である。
【図5】本開示の少なくともいくつかの実施形態に従って配置された、LPネットワークのため仮想デバイスネットワークを作成するプロセスの例を示すシステム図である。
【図6】本開示の少なくともいくつかの実施形態に従って配置された、LPデバイスによって提供された情報に基づいて仮想デバイスおよびアプリケーションを作成するための例示的なプロセスを示すシーケンス図である。
【図7】本開示の少なくともいくつかの実施形態に従って配置された、コンピューティングデバイスからの要求に基づいて仮想デバイスを動的に作成するための例示的なプロセスを示すシーケンス図である。
【図8】本開示の少なくともいくつかの実施形態に従って配置された、複数の仮想デバイスによって提供された情報に基づいて仮想デバイスセットを作成するための例示的なプロセスを示すシーケンス図である。
【図9】本開示の少なくともいくつかの実施形態に従って配置された、仮想デバイスをLPデバイスから切り離すための例示的なプロセスを示すシーケンス図である。
【図10】本開示の少なくともいくつかの実施形態に従って配置された、仮想ネットワーキングシステムの代替構成の例を示すシステム図である。
【図11】本開示の少なくともいくつかの実施形態に従って配置された、仮想ネットワーキングシステムの代替構成の例を示すシステム図である。
【図12】本開示の少なくともいくつかの実施形態に従って配置された、仮想デバイスを使用してLPデバイスへの要求を処理する例示的なプロセスを示す、LPデバイスがほぼ一定の電力を維持する場合のシーケンス図である。
【図13】本開示の少なくともいくつかの実施形態に従って配置された、仮想デバイスを使用してLPデバイスへの要求を処理する例示的なプロセスを示す、LPデバイスが周期的に電力供給される場合のシーケンス図である。
【図14】本開示の少なくともいくつかの実施形態に従って配置された、仮想デバイスを使用してLPデバイスへの要求を処理する例示的なプロセスを示す、LPデバイスの充電レベルが臨界レベルにある場合のシーケンス図である。
【図15】本開示の少なくともいくつかの実施形態に従って配置された、仮想デバイスを使用して温度予測を生成するための例示的なプロセスを示す、関連LPデバイスが通信可能ではない場合のシーケンス図である。
【図16】本開示の少なくともいくつかの実施形態に従って配置された、仮想デバイスを使用して温度予測を生成するための例示的なプロセスを示す、関連LPデバイスが通信可能である場合のシーケンス図である。
【図17】本開示の少なくともいくつかの実施形態に従って配置された、仮想ネットワーキングシステムの実施態様を示すコンピュータアーキテクチャまたはシステムを示すブロック図である。
【発明を実施するための形態】
【0012】
以下の詳細な説明では、本明細書の一部を形成する添付の図面を参照する。図面では、文脈によって別段規定されない限り、同様の記号は通常、同様の構成要素を識別する。詳細な説明、図面およびクレームで説明する例示的な実施形態は、限定的となるように意図されてはいない。本明細書で提示する主題の趣旨または範囲から離れることなく、他の実施形態を利用することができ、また他の変更を行うことができる。本明細書で全般的に説明し、図で示す本開示の態様を、多種多様な構成で編成、置換、結合および設計することができ、そのすべてが明示的に企図されており、本開示の一部をなすことが容易に理解されよう。
【0013】
統一モデリング言語(UML)を使用して、方法およびシステムをモデル化および/または説明すること、ならびにその機能および内部運用を一層理解するための、また標準表記法を使用する外部の構成要素、システムおよび人々とのインターフェースについて説明するための土台を提供することができる。ユースケース図、クラス図およびアクティビティ図を含むがこれらに限定されないUML図は、本明細書で使用される際、本発明の実施形態を説明するのを助ける役割を果たすことが意図されているが、その実施態様を何らかの特定のハードウェアまたはソフトウェア実装に制限するものではない。
【0014】
本開示は特に、仮想デバイスコンピューティングシステムの実施態様による低電力(LP)デバイスネットワークの仮想化に関係する方法、装置、コンピュータプログラムおよびシステムを対象とする。本明細書で使用する用語「コンピューティングシステム」は一般に、物理的であるか仮想的であるかを問わず、デバイス内またはデバイス間の通信を容易にするためのネットワークまたは他の通信媒体もしくは通信プロトコルを介して結合または相互接続されたコンピューティングデバイスのうちの1つまたは複数を指すことがある。
【0015】
手短に言えば、本開示の複数の実施形態は、デバイスの仮想化により関連LPデバイスコンピューティングシステムの機能をサポート、エミュレートおよび/または補完するように構成された仮想デバイスコンピューティングシステムを含むことができる。デバイスの仮想化は一般に、LPデバイスの機能をサポート、エミュレートおよび/または補完する1つまたは複数のソフトウェアモジュールの使用を指すことがある。特定のデバイスに関連付けられたソフトウェアモジュールを総称して「仮想デバイス」と呼ぶことができる。
【0016】
図1は、本開示の少なくとも一部の実施形態による仮想ネットワーキングシステム10の例を示すシステム図である。図1では、仮想デバイスコンピューティングシステム110は、LPデバイス102に関する記述的情報を受信するためLPデバイスコンピューティングシステム100と通信するように構成され得る。仮想デバイスコンピューティングシステム110は、LPデバイスコンピューティングシステム100と対話するように適合された仮想デバイスコーディネータ119を含むことができる。仮想デバイスコーディネータ119は、LPデバイス102から受信した記述的情報に基づいて、LPデバイス102の機能をサポート、エミュレートおよび補完するように仮想デバイス112を作成または構成することができる。仮想デバイス112は、データベース153に結合することができ、それにより仮想デバイス112は、例えばLPデバイス102に関係するデータを記憶することができる。また、仮想デバイスコンピューティングシステム110および/または仮想デバイスコーディネータ119はネットワーク120に結合することができ、それにより、LPデバイスコンピューティングシステム100の外部で動作しているコンピューティング130との通信を容易にすることができる。こうして、ネットワーク120を通じて、コンピューティングデバイス130は、仮想デバイスコーディネータ119との通信を介した仮想デバイス112との対話を通じて、LPデバイス102に関する情報を求める要求を送信し、かかる情報を受信することができる。
【0017】
図1のLPデバイス102のようなLPデバイスは、無線パーソナルエリアネットワーク(PAN)により(例えば、低電力デジタル無線を介して)通信するように構成され得るデバイス、システム、装置または機器であってよい。LPデバイスは、家庭用または商業用の設定でセンサおよび制御の機能を提供するように適合され得る。LPデバイスの例は、照明制御モジュール、温度センサモジュール、温度制御ユニット、エネルギーモニタ、水センサ、煙および火災検出器、動き検出器、ビデオ監視ユニットおよび高度遠隔制御装置を含むことができ、これらに限定されない。
【0018】
LPデバイスは、比較的少ない電力消費および短い伝送待ち時間といった特性により、他の無線ネットワーキング技術から区別され得る。電力消費に関して、LPデバイスはバッテリ電力に依拠することができる。したがって、LPデバイスは、最低限の電力で動作し、アクティブでないときに「スリープ」モードに入ることによってバッテリ寿命を最長化するように構成され得る。さらに電力消費を制限し、個々のデバイスのコストを減らすため、LPデバイス標準は、LPデバイスがサポートできる帯域幅に対するおおよその上限を設定することができる。例えば、「ZigBee」標準は、帯域幅を約250kbpsに制限している。伝送待ち時間に関して、LPデバイスは、LPデバイス間のメッセージ送信に必要な時間をほぼ最小限に抑えるように設計され得る。帯域幅に対する制限および待ち時間を最小限に抑えるという目標から、LPデバイスは転送できるデータの量が制限されることがある。したがって、LPデバイス間で通信するのに使用されるメッセージのサイズは、Wi−FiおよびWiMaxといった他の無線技術と比べて小さいことがある。
【0019】
引き続き図1を参照すると、LPデバイスコンピューティングシステム100のLPデバイス102は、LPデバイス動作に関する情報を送受信するため仮想デバイスコーディネータ119と通信するように適合され得る。仮想デバイスコーディネータ119は、LPデバイスコンピューティングシステム100から受信した情報(例えば、記述子ファイル)に基づいて仮想デバイスコンピューティングシステム110を作成および管理するように構成されたハードウェアとソフトウェアとの組合せであってよい。一部の実施形態では、仮想デバイスコーディネータ119は、仮想デバイスコーディネータソフトウェア、コンピュータ可読メモリ、1つもしくは複数のネットワーク接続、1つもしくは複数の処理ユニットおよび/またはデータベースのうちの1つまたは複数を備えることがある。仮想デバイスコーディネータ119に割り当てられたコンピューティングリソースを仮想デバイスコーディネータ119は排他的に利用すること、またはリソースを多重処理コンピューティング環境で共有することができる。一部の実施形態では、仮想デバイス112を、仮想デバイスコンピューティングシステム110に含めることができ、かつ仮想デバイスコーディネータ119と同じコンピュータで実行することができる。他の実施形態では、仮想デバイス112および仮想デバイスコーディネータの実行を2つ以上のコンピュータに分けることができる。
【0020】
一部の実施形態では、仮想デバイスコーディネータ119は、LPデバイスコンピューティングシステム100から受信した記述子ファイルを使用して、LPデバイス102で利用できる機能をサポート、エミュレートおよび/または補完する1つまたは複数のソフトウェアモジュールを作成することができる。個別のLPデバイスに関連付けられたソフトウェアモジュールを総称して「仮想デバイス」と呼ぶことができる。したがって、例えば、LPデバイス102が温度センサである場合、仮想デバイス112は仮想温度センサであり得る。仮想デバイス112は、LPデバイスアーキテクチャによって示されたハードウェア制限を超える強化された機能を提供できるハードウェア環境で動作するように設計可能である。例えば、仮想デバイス112は、LPデバイス102よりはるかに大きな記憶領域(例えば、図1のデータベース153)、および仮想デバイス112がほぼ連続的に動作できるようにする電源にアクセスすることができる。加えて、仮想デバイス112は、LPデバイス102では都合良く使用することができないプロトコルによって実施されるセキュリティ、認証、翻訳、構成および管理に関するソフトウェアおよびハードウェア標準を活用するように適合され得る。
【0021】
引き続き図1を参照すると、LPデバイス102は、例えば温度センサモジュールであってよい。かかるデバイスは、一定の間隔をおいて温度測定を行い、その測定をLPデバイスコンピューティングシステム100を介して他のLPデバイス(図1には示されていない)に通信するように構成されてもよい。過去の温度測定の記録を維持するといった他の機能は、LPデバイス102では利用できないこともある。かかる機能を提供するため、仮想デバイスコーディネータ119は、LPデバイス102の動作特性を判定するように構成されてもよく、そうした特性をサポート、エミュレートおよび/または補完するように仮想デバイス112を構成することができる。仮想デバイス112は、例えば、LPデバイス102による測定を、仮想デバイス112に結合され得るデータベース113に記録するように構成されてもよい。こうして、LPデバイスコンピューティングシステム100の外部にあるコンピューティングデバイス130は、温度センサモジュール102による過去の温度測定の記録を受信するために(例えば、仮想デバイスコーディネータ119を介して)仮想デバイスコンピューティングシステム110と通信するように適合され得る。以下でより詳しく説明するように、仮想デバイスコンピューティングシステム110は、仮想デバイスコーディネータ119によって調整された、複数の仮想デバイス(図1には示されていない)間の対話および通信を容易にするように構成されてもよいことを理解されたい。
【0022】
図2は、本開示の少なくとも一部の実施形態による仮想ネットワーキングシステム20の例を示すシステム図である。図2の仮想ネットワーキングシステム20は、複数のLPデバイスの機能をサポート、エミュレートおよび/または補完することができる複数の仮想デバイスを備える。図2では、仮想ネットワーキングシステム20は、1つまたは複数のLPデバイス102、104、106および108(それぞれ「L1」、「L2」、「L3」および「L4」と称する)ならびにLPデバイスコーディネータ109(「LC」と称する)を備えるLPデバイスコンピューティングシステム100を含むことができる。仮想ネットワーキングシステム20はまた、1つまたは複数の仮想デバイス112、114、116および118(それぞれ「V1」、「V2」、「V3」および「V4」と称する)ならびに仮想デバイスコーディネータ119(「VC」と称する)を備える仮想デバイスコンピューティングシステム110を含むことができる。LPデバイス102、104、106および108は、LPデバイス通信用に特別に設計されたネットワークプロトコルを含む、当技術分野で一般に知られている無線プロトコルを使用してLPデバイスコンピューティングシステム100内で互いに通信するように編成可能である。例えば、ZigBeeネットワークでは、LPデバイスはIEEE802.15.4無線プロトコルを使用して通信することができる。一部のネットワーク構成では、LPデバイスコーディネータ109は、ネットワーク知識を維持して、LPデバイス102、104、106および108の間での通信を容易にするように編成されることがある。一部の実施形態では、LPデバイスコーディネータ109の機能は1つのLPデバイスに含まれ得る。例えば、ZigBeeネットワークでは、任意のLPデバイスがLPデバイスコーディネータとして動作することができる。したがって、一部の実施形態では、LPデバイスコーディネータ119はLPデバイスでもある。
【0023】
図2の例では、LPデバイス102は、LPネットワークインターフェース144を介してLPデバイスコンピューティングシステム100と通信するセンサアプリケーション142を備えるLP温度センサデバイス140であり得る。LPネットワークインターフェース144を通じて、LPデバイス102は、LPデバイス104、106、108および109に対して、LPデバイス102で温度センサアプリケーション142が実行されていることを示す記述子ファイルを送信するように編成可能である。記述子ファイルを、LPデバイスコンピューティングシステム100から仮想デバイスコンピューティングシステム110へ、2つのコンピューティングシステム100、110の間の通信リンク160を通じてさらに送ることができる。記述子ファイルに含まれている情報に基づいて、仮想デバイスコーディネータ119は、LPデバイス102で利用できる機能をサポート、エミュレートおよび補完するように仮想デバイス112を構成することができる。
【0024】
引き続き図2を参照すると、仮想デバイス112は、仮想温度センサデバイス150によってLPデバイス102をサポート、エミュレートおよび/または補完するように構成され得る。仮想温度センサデバイス150は、LPデバイス102で作動するセンサアプリケーション142に関連付けられた仮想デバイス112で作動する仮想センサアプリケーション154を含むことができる。仮想センサアプリケーション154は、LPデバイス102の状態情報を記録すること、温度データの過去の解析および将来の予測を提供すること、ならびに温度データの操作および変換を含み、これらに限定されない様々な機能を実行するように構成されてもよい。仮想温度センサデバイス112に関連付けられたデータベース153は、仮想センサアプリケーション154によって収集および生成された情報を記憶するように編成され得る。仮想温度センサデバイス150はまた、TCP/IP接続を介して他のデバイスに接続するためのTCP/IPインターフェース151を含むことができる。例えば、ネットワーク120を介してコンピューティングデバイス130に対し、TCP/IPであり得る(以下でより詳しく論じる)ネットワーク接続180によりデータを通信することができる。同様に、仮想温度センサデバイス150は、LPデバイスコンピューティングシステム100と直接的にインターフェースをとるためのLPネットワークインターフェース152を含むことができる。
【0025】
一部の実施形態では、仮想デバイス112、114、116および118は、1つもしくは複数の物理的コンピューティングデバイス上で、または1つもしくは複数の物理的コンピューティングデバイスによって実施されることがある。他の実施形態では、複数の仮想デバイスは、単一の物理的コンピューティングデバイス上で実施される。したがって、仮想機械は、例えばプロセッサ、1つもしくは複数のハードドライブおよび/またはネットワーク接続を含むハードウェアアーキテクチャを共有することができる。また、コンピューティングデバイス上での仮想デバイス112、114、116および118の一部または全部の実施態様は、それらの機能要件に基づくことができる。例えば、複数の種類の仮想デバイス(例えば、大量の記憶を必要とする種類もあれば、少量のデータを記憶する種類もある)を有する仮想ネットワークでは、様々な種類の仮想デバイスの実行を、特定の物理的コンピュータでのメモリ使用をほぼ最大化するグループ単位で複数の物理的コンピュータに分散することができる。
【0026】
一部の実施形態では、仮想デバイス112、114、116および118はコンピュータ上で動作する仮想機械で実行できる。仮想機械は、例えば十分に機能するオペレーティングシステムをサポートすることができる完全なシステムプラットフォームを提供することができる。VMware、Microsoft Virtual PCおよびParallelsといった商用ソフトウェアを使用して、各ハードウェア仮想機械をホストすることができる。仮想機械の利点は、互いにはっきり分離した状態で単一のコンピュータ上に複数のオペレーティングシステム環境が存在し得ることである。したがって、一実施形態では、複数の仮想デバイスが単一のコンピュータ上の複数の仮想機械で作動することができる。これにより仮想機械は、例えばコンピュータの利用可能なメモリおよびそのネットワーク接続を衝突することなく共有することができる。他の実施形態では、仮想機械は複数の仮想コンピューティングシステム構成をサポートする複数のコンピュータに分散され得る。したがって、仮想コンピューティングシステム110のコンピューティングリソースは、関連LPデバイスコンピューティングシステム100のコンピューティングリソースと同様の規模とすることができる。
【0027】
一部の実施形態では、仮想デバイスとLPデバイスとの間に1対1の対応があり得る。例えば、図2を参照すると、仮想デバイス112、114、116および118は、それぞれLPデバイス102、104、106および108に関連付けることができる。加えて、仮想デバイスコーディネータ119はLPデバイスコーディネータ119に関連付けることができる。他の実施形態では、1つの仮想デバイスは、複数のLPデバイスで利用可能な機能をサポート、エミュレートおよび/または補完することができる。LPデバイスの数と仮想デバイスの数との対応は、LPコンピューティングシステムの複雑性、仮想デバイスが利用できる計算リソース、または可能ネットワークを管理する管理者の好みといった要素に基づいて選択できる。複数のLPデバイスが単一の仮想デバイスに関連付けられる場合、仮想デバイスは、LPデバイス間で区別するためLPデバイスによって提供される識別子を使用するように適合可能である。
【0028】
引き続き図2を参照すると、仮想デバイスコンピューティングシステム110は、少なくとも1つのネットワーク接続を通じてLPデバイスコンピューティングシステム100と結合できる。図2に示されているように、LPデバイスコーディネータ109と仮想デバイスコーディネータ119との間に単一のネットワーク接続160があり得る。他の実施形態(例えば、図3および図4に示されている)では、LPデバイスコンピューティングシステム100と仮想デバイスコンピューティングシステム110との間の接続は、LPデバイス102、104、106、108、LPデバイスコーディネータ109、仮想デバイス112、114、116、118および仮想デバイスコーディネータ119の任意の組合せの間のものであってよい。一部の実施形態では、ネットワーク接続160は、LPデバイスによって使用される同じネットワーキングプロトコルを使用して実施できる。例えば、LPデバイスがIEEE802.15.4−2006準拠の低速無線パーソナルエリアネットワークで動作する場合、ネットワーク接続160は、IEEE.802.15.4−2006標準をサポートする。翻訳機能を仮想デバイスコーディネータ119で、または仮想デバイス112、114、116および118で実施して、仮想デバイスコンピューティングシステム110に適合するフォーマットにデータをフォーマットすることができる。頑強なインターフェースを提供するため、様々なLPパケットフォーマットを処理する翻訳機能が提供され得る。例えば、インターフェース152は、ZigBee、WirelessHARTおよびMiWiといったLPデバイス仕様に従いフォーマットされたデータを処理する機能を有することがある。
【0029】
図2では、ネットワーク120を介して仮想デバイスコーディネータ119と通信するコンピューティングデバイス130が示されている。ネットワーク120は、インターネット、イントラネット、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、メトロポリタンエリアネットワーク(MAN)、直接接続または一連の接続、ケーブルTVインフラストラクチャ、セルラ電話ネットワークまたはその他のネットワーク、デバイス間の通信を促進できる伝送チャネルまたは媒体、仮想ネットワーキングシステム10のモジュールおよび他の構成要素を含む、当技術分野で一般に知られている任意のネットワークまたはシステムであってよい。ネットワーク120は、有線、無線またはこれらの組合せであり得る。有線接続は、イーサネット(登録商標)、ユニバーサルシリアルバス(USB)、RJ−11または当技術分野で一般に知られているその他の任意の有線接続を使用して実施できる。無線接続は、Wi−Fi、WiMAX、ブルートゥース、赤外線、セルラネットワーク、衛星または当技術分野で一般に知られているその他の任意の無線接続方法を使用して実施できる。ネットワーク120は、クライアント−サーバ、トークンリング、ピアツーピア方式、または当技術分野で知られているその他の任意のネットワークトポロジで実施できる。加えて、複数のネットワークは単独で活動するか、互いに通信してネットワーク120での通信を容易にすることができる。EDGE、3Gおよび/またはIEEE802.11標準通信プロトコルなど、様々なデバイスおよび他のネットワークがネットワーク120と通信するのを容易にするため、様々なネットワーキング標準プロトコルを用いることができる。
【0030】
仮想デバイスコンピューティングシステム110に関連付けられたネットワーク接続は、利用可能なコンピューティングおよびネットワーキングリソースならびにLPデバイスコンピューティングシステム100におけるデバイスの動作ニーズに応じて、多くの方法で構成され得る。特定の仮想デバイスに関連付けられたLPデバイスに対して情報を要求する場合、当該仮想デバイスは、デバイスコーディネータ109、119を通じて要求を送信することができる。例えば、仮想デバイス112は、仮想デバイスコーディネータ119に要求を送信することによって、LPデバイス102に対してデータを要求することができる。仮想デバイスコーディネータ119はLPデバイスコーディネータ109に要求を送信するように編成可能であり、次いでLPデバイスコーディネータ109はLPデバイス102に要求を送ることができる。LPデバイス102は逆方向の通信経路で仮想デバイス112に応答することができる。
【0031】
ネットワークを通じてデータを送受信することが一般に可能な任意のデバイス130は、仮想デバイスコンピューティングシステム110と通信するように構成され得る。例えば、図2を参照すると、コンピューティングデバイス130は、ネットワーク120およびネットワーク接続180を通じて仮想デバイスコーディネータ119と通信するように構成されてもよい。コンピューティングデバイス130は一般に、仮想デバイスコンピューティングシステム110と通信すること、ならびにLPおよび仮想コンピューティングシステム100、110の両方の外で(すなわち、LPおよび仮想コンピューティングシステム100、110のいずれにも含まれない)動作することが可能な任意のデバイスであり得る。適切なデバイスの例は、携帯情報端末(PDA)、セル電話(スマートフォンを含む)、パーソナルコンピュータ(PC)、およびビデオゲームシステムを含み、これらに限定されない。
【0032】
LPデバイス102、104、106および108は、ブロードキャストまたはユニキャストアドレスでLPデバイスコーディネータ109からデバイス発見要求(以下でより詳しく論じる)を出すことによって発見され得る。同様に、デバイスでいかなるサービスが利用できるかを判定するため、LPデバイスコーディネータ109からLPデバイス102、104、106および108のうちの1つまたは複数に対しサービス発見要求(以下でより詳しく論じる)を送信することができる。LPデバイスは、要求を出したデバイスに1つまたは複数の記述子ファイルを送信することによって、デバイス発見要求またはサービス発見要求に応答することができる。また、様々な種類の記述子ファイルが存在することがあり、各種類はLPデバイスに関する異なる情報を提供する。例えば、ZigBeeでは、デバイスは5つの記述子ファイル種類、すなわち、ノード記述子、ノード、電力記述子、単純な記述子(simple descriptor)、複雑な記述子(complex descriptor)のうちの1つで記述することができる。
【0033】
図3は、本開示の少なくとも一部の実施形態による、LPデバイスコンピューティングシステム100から仮想デバイスコンピューティングシステム110に渡されるデバイス記述子ファイル600の例を示す図である。LPデバイスは、デバイス発見要求に応じてデバイス記述子ファイル600を送信することができる。図3に示すファイル600のフォーマットは、ZigBeeプロトコルによって使用されるフォーマットに類似しているが、任意のファイルフォーマットを使用することができる。図3の例では、ファイル600に関連付けられたLPデバイスはLPランプデバイス(不図示)である。例示的なデバイス記述子600は、LPデバイスの性質(すなわち、LPデバイスはオンまたはオフにすることができるライトである)を示すデバイス識別子602を含むことができる。プロファイル識別子604は、LPランプデバイスがホームオートメーションデバイスに分類されることを示すことができる。プロファイル識別子604は、例えば、どのように情報をLPデバイスと交換するか判断するために使用できる。クラスタ値606は、LPデバイスに送信され得るコマンド種類およびコンピューティングデバイスによってアクセス可能なデバイスの属性を識別することができる。クラスタ値を使用して低電力デバイスのグループを指すこともできる。例えば、複数のランプが同じクラスタに属する場合、それらはすべて、個々のデバイスではなくクラスタとの対話でオフにされ得る。図3の例では、LPランプデバイスは「オン」または「オフ」のコマンドを受信することができる。クラスタ識別子606を使用して、ランプからどのような種類の応答を期待すべきかを判定することもできる。エンドポイントフィールド608を用いて、LPランプデバイスの一意識別子を提供することができる。一部の実施形態では、デバイス記述子600の一部としてLPデバイスから他の形式の記述的情報も送信されることに留意されたい。例えば、LPデバイスは、その製造業者、モデル名および通し番号などの情報を共有するように構成されてもよい。また、図3に関して説明したフィールド602、604、606および/または608のうちの1つまたは複数は、LPランプデバイスによって送信されたデバイス記述子ファイル600に存在しないこともある。
【0034】
図4は、本開示の少なくとも一部の実施形態による、LPデバイスコンピューティングシステム100から仮想デバイスコンピューティングシステム110に渡される電力記述子ファイル700の例を示す図である。図4の電力記述子ファイル700は、図3のデバイス記述子ファイル600に対応する。LPデバイスは、デバイス発見要求に応じて電力記述子ファイル700を送信することができる。電力記述子ファイル700は、例えば、LPランプデバイスに電力を供給するために使用される現在の電源が充電式バッテリAであること、およびLPランプデバイスに電力を供給するために充電式バッテリBも利用可能であることを(この例では)示す利用可能な電源フィールド704および現在の電源フィールド706を含むことができる。加えて、電源レベルフィールド708は、充電式バッテリAが完全に充電されていることを示すことができる。現在の電力モードフィールド702は、LPデバイスが動作するように現在どのように構成されているかを示すことができる。この例では、LPデバイスは周期的に電力供給されるように構成できる。また、図4に関して説明したフィールド702、704、706および708のうちの1つまたは複数は、LPランプデバイスによって送信された電力記述子ファイル700に存在しないこともある。
【0035】
図5は、本開示の少なくとも一部の実施形態による、LPネットワークのために仮想デバイスネットワークを作成するプロセスの例を示すシステム図である。図5の例では、LPデバイスコンピューティングシステム100(例えば、温度センサ、煙検出器および2つのランプ)に4つのLPデバイス102、104、106および108(それぞれ「L1」、「L2」、「L3」、「L4」と称する)がある。例示的なデバイス種類がキー506で提示されている。また、LPデバイスコンピューティングシステム100には、LPデバイス102、104、106および108を調整するように適合可能なLPコーディネータデバイス109もある。初期オペレーション500では、仮想デバイスコンピューティングシステム110の仮想デバイスコーディネータ519は、サービス発見要求をLPデバイスコーディネータ109に送信することによって仮想ネットワーク作成プロセスを開始するように適合され得る。ステップ501では、LPデバイスコーディネータ109は、LPデバイスコンピューティングシステム100のLPデバイス102、104、106および108にサービス発見要求を送信するように適合され得る。LPデバイス102、104、106および108は、LPデバイスコーディネータ109に1つまたは複数の記述子ファイルを送信するように構成されてもよい。現在利用できないデバイスについては、LPデバイスコーディネータ109は、最後に把握された構成を使用して利用不可能なデバイスの記述子ファイルを生成することができる。これは、例えば、サービス発見要求が出された時点でデバイスの電源がオフになっていた場合に生じ得る。ステップ502では、LPデバイスコーディネータ109は、仮想デバイスコーディネータ519に記述子ファイルを送信するように編成できる。記述子ファイルが仮想デバイスコーディネータ519によって受信されると、ファイルに含まれている情報を構文解析して、例えば、LPコンピューティングシステム100に何個のLPデバイスが存在するか、かかるデバイス向けにどのようなアプリケーションが存在するか、およびかかるデバイスの電力特性を判定することができる。この情報に基づいて、仮想デバイスをステップ503、504および505で作成することができる。例えば、ステップ503では、仮想デバイスコーディネータ519は、LPコンピューティングシステム100で動作するLP温度センサデバイス102に関して提供された情報に基づいて仮想デバイスV1 512を作成するように編成可能である。同様に、仮想デバイスV2 514は、ステップ504で、LP煙検出器デバイス106に関して集められた情報に基づいて作成され得る。
【0036】
図5の例では、複数のLPデバイスをサポート、エミュレートおよび/または補完するように仮想デバイスを作成および構成することもできる。例えば、ステップ505では、仮想デバイスV3 516は、LPデバイスコンピューティングシステム100で動作する2つのランプ104および108に関して提供された情報に基づいて作成できる。したがって、この例では、仮想デバイスコーディネータ519は、単一の仮想デバイス516がLPデバイス104、108の両方を効果的にサポートできると判定することができる。例えば、ランプ104、108の両方は、同じコマンドを受け入れ、動作するための最低電力を求めるように構成され得る。したがって、効率化のため、2つのアプリケーションを作成することができ、メッセージ生成機能を共有することができる。デバイス記述子ファイル600のエンドポイントフィールド708(例えば、図3参照)で提供される一意識別子を使用して、単一の仮想デバイス516で作動する異なるLPデバイス104、108に関連付けられる2つのアプリケーションを区別することができる。
【0037】
図6は、本開示の少なくとも一部の実施形態による、LPデバイスによって提供された情報に基づいて仮想デバイスおよびアプリケーションを作成するための例示的なプロセスを示すシーケンス図である。仮想デバイスコーディネータ119は、LPデバイスコンピューティングシステム100のLPデバイスの特性を記述することができる記述子ファイルを求める要求をLPデバイスコーディネータ109に送信するように編成できる。LPデバイスコーディネータ109は、デバイス記述子要求および/または電力記述子要求をLP温度センサデバイス102に送信するように構成されてもよい。これに応じて、LP温度センサデバイス102はデバイス記述子ファイルおよび電力記述子ファイルをLPデバイスコーディネータ109に送信することができ、次いでLPデバイスコーディネータ109はかかるファイルを仮想デバイスコーディネータ119に送ることができる。仮想デバイスコーディネータ119は、受信された情報に基づいて、仮想温度センサデバイス112を作成すべきだと判定し得る。仮想デバイスコーディネータ119は、仮想温度センサデバイスが現時点で存在しないと判定することができ、次いでかかるデバイスを作成することができる。随意に、仮想デバイスコーディネータ119は、LP温度センサデバイス102との関連性を示すため仮想温度センサデバイスで作動する1つまたは複数のソフトウェアモジュールに一意識別子を割り当てることができる。
【0038】
一部の実施形態では、仮想デバイスはLPデバイスデータを求める要求に基づいて作成できる。したがって、仮想デバイスは「必要に応じて」作成可能であり、それにより仮想デバイスに対応している(1つまたは複数の)コンピュータのリソースを節約する可能性がある。
【0039】
図7は、本開示の少なくとも一部の実施形態に従い、コンピューティングデバイスからの要求に基づいて仮想デバイスを動的に作成するための例示的なプロセスを示すシーケンス図である。図7では、仮想デバイスコーディネータ119は、LPデバイスコンピューティングシステム100の外部に位置することのあるコンピューティングデバイス130から温度センサデータを求める要求を受信する。仮想デバイスコーディネータ119は、要求がLP温度センサデバイス102にアドレス指定されていると判定するように構成され得る。この判定は、例えば、コンピューティングデバイス130からのセンサ要求における宛先値を調べることによって行うことができる。仮想デバイスコーディネータ119は、温度センサ要求を処理できる仮想デバイスがあるか否か判定するため仮想デバイスコンピューティングシステム110を評価するように適合可能である。かかるデバイスが存在しない場合、仮想デバイスコーディネータ119はLP温度センサデバイス102と直接的にまたはLPコーディネータ109(不図示、図2参照)を通じて交信して、適切なLPデバイス102からデバイス記述子データを取り出すことができる。デバイス記述子データを仮想デバイスコーディネータ119が使用して、仮想温度センサデバイス112を作成することができる。仮想デバイスコーディネータ119は、LP温度センサデバイス102をサポート、エミュレートおよび/または補完するように構成された仮想温度センサデバイス112を作成するように編成可能であり、あるいは、仮想デバイスコーディネータ119は、仮想デバイスが一般に必要とする最低限の機能を提供できる汎用仮想デバイスを作成するように編成可能である。図7の例では、仮想温度センサデバイス112を作成することができる。LP温度センサデバイス102をサポートするように仮想温度センサデバイス112を構成するために、仮想温度センサデバイスは、記述子ファイルを受信してLP温度センサデバイス102の機能特性を判定するために、LP温度センサデバイス102と通信するように適合可能である。かかる記述子ファイルに基づいて、仮想温度センサデバイス112は、その構成ソフトウェアモジュールのうちの1つまたは複数を、LPアプリケーションをサポート、エミュレートまたは補完するように構成することができる。仮想デバイスコーディネータ119は、作成された仮想温度センサデバイス112にセンサデータ要求を転送するように編成可能である。
【0040】
一部の実施形態では、仮想デバイスが作成されると、仮想デバイスは(1つまたは複数の)関連LPデバイスおよびLPデバイスコーディネータとの通信を継続して、関連LPデバイスの動作状態に関する情報を保持することができる。例えば、仮想デバイスは、仮想デバイスコーディネータまたは(1つもしくは複数の)関連LPデバイスに対して記述子ファイルを繰り返し要求するように構成されてもよい。この情報は、例えば、デバイスがオンであるかオフであるか、デバイスが現時点で臨界電力で作動しているか、またはデバイスが十分に充電されているかを示すことができる。この情報を仮想デバイスが使用して、LPデバイスに関連する動作状態を保持することができる。例えば、仮想デバイスが温度データを求める要求を受信した場合、仮想デバイスはLP温度センサデバイスの動作状態をチェックすることができる。仮想デバイスは、LPデバイスの電源が現時点でオフになっていると判定した場合、仮想デバイスに記憶されているデータで要求に応じることができる。
【0041】
一部の実施形態では、各仮想デバイスにLPデバイスの動作状態情報を保持させるのではなく、仮想デバイスコーディネータが、LPデバイスコンピューティングシステムの1つまたは複数のLPデバイスの動作状態を保持するように構成され得る。この情報は、例えば、LPデバイスコーディネータとの通信を通じて、またはLPデバイスコンピューティングシステムの1つまたは複数のLPデバイスとの直接的な通信を通じて収集できる。仮想デバイスコンピューティングシステムの仮想デバイスは、仮想デバイスコーディネータから動作状態情報を取り出すように構成され得る。
【0042】
一部の実施形態では、仮想デバイスはLPデバイス種別をサポートするように構成できる。したがって、同様に分類されたLPデバイスは、同じ仮想デバイスによってサポート可能である。種別は、LPコンピューティングシステムにおける各LPデバイスについて、記述子ファイルにおけるLPデバイスによって提供された記述子情報に基づいて判定される。種別は、1つまたは複数のデバイス特性に基づいて作ることができる。一部の実施形態では、単一の製造業者からのデバイスは単一の仮想デバイスに関連付けることができる。他の実施形態では、種別は、デバイスで利用可能な機能を示すことができる。この種の種別の例は、ホームオートメーション機能、通信機能、モバイルサービス機能、産業管理機能(industrial management functionality)、マルチメディア制御機能、照明制御機能、エネルギー制御機能および温度制御機能を含み、これらに限定されない。例えば、図3を再び参照すると、デバイス記述子ファイル700を使用して、デバイス記述子ファイル700のプロファイル識別子値704に基づいてホームオートメーション機能を提供するものにLPデバイス102を分類することができる。デバイスはまた、例えば、電力使用など動作特性や、デバイスクラスタに含まれることによって分類できる。
【0043】
図8は、本開示の少なくとも一部の実施形態に従い、複数の仮想デバイスによって提供された情報に基づいて仮想デバイスセットを作成するための例示的なプロセスを示すシーケンス図である。図8の例では、仮想デバイスコーディネータ119は、LPデバイスコーディネータ109にファイル記述子を要求するように編成できる。一部の実施形態では、要求は対応するLPデバイスに直接的に送信されることがある。図8の例では、LPデバイスコーディネータ109は、LPランプデバイス1504、LPライトスイッチデバイス1506および/またはLP天井ライトデバイス1508に一連の発見要求を出すように構成できる。各々のLPデバイス1504、1506または1508は、LPデバイスコーディネータ109に1つまたは複数の記述子ファイルを送信することによって応答するように構成できる。LPデバイスコーディネータ109がLPデバイス1504、1506または1508からの応答を受信すると、応答は仮想デバイスコーディネータ119に送信され得る。仮想デバイスコーディネータ119は、各記述子ファイルを受信すると、ファイル内の情報を解析して種別を判定することができる。この場合、3つのデバイス1504、1506および1508はすべて、仮想デバイスコーディネータに119によって、照明デバイスに分類され得る。各々のLPデバイス1504、1506および/または1508は、仮想照明デバイス1510に関連付けることができる。
【0044】
一部の実施形態では、仮想コンピューティングシステム110は、例えば、LPデバイスが反応していないと判定した場合に、時が過ぎれば仮想デバイスからLPデバイスを切り離すことがある。
【0045】
図9は、本開示の少なくとも一部の実施形態に従い、LPデバイスから仮想デバイスを切り離すための例示的なプロセスを示すシーケンス図である。図9の例では、仮想デバイスコーディネータ119は最初に、仮想HVACデバイス1602をLP空調デバイス1604に関連付けることができる。一定の時間にわたり、仮想デバイス1602はステータス報告をLP空調デバイス1604に要求することができる。仮想デバイス1602がLP空調デバイス1604から返信を受信しなかった場合、タイムアウトが生じて、仮想デバイス1602に、LP空調デバイス1604の電源がオフになっているようであることを示すフラグをセットすることを促すことができる。タイマを開始することができ、しきい値を上回っているとタイマが判定すると、仮想デバイス1602はLP空調デバイス1604からの切離しを要求することができる。仮想HVACデバイス1602はしきい値を任意の所望の値に設定できることに留意されたい。一部の実施形態では、しきい値はデバイスの電力特性に基づいて設定できる。例えば、連続的に電源がオンになっていると予想されるLPデバイスは、数秒のしきい値を有することがあり、電力が時々供給されるLPデバイスは、数時間のしきい値を有することがある。仮想LPデバイス1602が空調LPデバイス1604から切り離されると、仮想デバイス1602のリソースの再割り当てを新たなLPデバイスに対して行うことができる。図9の例では、空調LPデバイス1604と仮想デバイス1602の切離しに続いて、仮想デバイスコーディネータ119は、仮想HVACデバイス1602をLPヒータデバイス1606に関連付けることができる。
【0046】
図10は、本開示の少なくとも一部の実施形態による仮想ネットワーキングシステムの代替構成の例を示すシステム図である。図10に示されているように、一部の実施形態では、仮想ネットワーキングシステム30は、仮想デバイスコンピューティングシステム310の各仮想デバイスへの直接的なネットワーク接続を提供するように構成できる。図10の例では、仮想デバイス112、114、116および118ならびに仮想デバイスコーディネータ119はそれぞれ、ネットワーク120に直接的に接続され得る。コンピューティングデバイス130は、ネットワーク120を介して、仮想デバイスコンピューティングシステム310の任意の仮想デバイス112、114、116または118に、対応するデバイスに関連するアドレスによって直接接続するように適合可能である。例えば、各仮想デバイスは、ユニフォームリソースロケータ(URL)またはIPアドレスによってアドレス指定され得る。
【0047】
図11は、本開示の少なくとも一部の実施形態による仮想ネットワーキングシステムの代替構成の例を示すシステム図である。図11に示されているように、一部の実施形態では、仮想ネットワーキングシステム40は、仮想デバイスがその関連LPデバイスと直接的に交信するように構成された仮想デバイスコンピューティングシステムを提供することができる。図11では、仮想デバイスコンピューティングシステム410の仮想デバイス112、114、116および118は、LPデバイスコンピューティングシステム400におけるそれらの関連LPデバイス102、104、106および108と直接的に結合できる。したがって、仮想デバイス112、114、116および118は、LPデバイスコーディネータ109および仮想デバイスコーディネータ119を使用することなく、関連LPデバイス102、104、106および108と直接的に通信するように構成できる。ただし、仮想デバイスコーディネータ119はそれでもなお、仮想デバイス作成、仮想デバイス構成および仮想コンピューティングシステム410の維持などのサービスを提供できることを理解されたい。
【0048】
図12は、本開示の少なくとも一部の実施形態による、仮想デバイスを使用してLPデバイスへの要求を処理する例示的なプロセスを示す、LPデバイスがほぼ一定の電力を維持する場合のシーケンス図である。この点について、仮想デバイスコンピューティングシステム110は、コンピューティングデバイス(例えば、図2のコンピューティングデバイス130)とLPデバイスコンピューティングシステム100との間の通信を仲介する役割を果たすことができる。図12の例では、コンピューティングデバイス130は、温度センサデータを求める要求を仮想デバイスコーディネータ119に送信するように編成され得る。仮想デバイスコーディネータ119は、センサデータ要求の意図された宛先を判定するように構成できる。一部の実施形態では、仮想デバイスコーディネータ119は、センサデータ要求に関連する宛先アドレスを評価するように編成可能である。この宛先アドレスは、例えば、ユニフォームリソースロケータ(URL)またはIPアドレスの場合がある。LP温度センサデバイス102が意図された宛先であると仮想デバイスコーディネータ119が判定した場合、要求先のLPデバイス102に関連付けられた仮想温度センサデバイス112にセンサデータ要求を転送することができる。仮想温度センサデバイス102は、LPデバイス102に関連する電力記述子情報をチェックすることができる。仮想温度センサデバイス112が、例えば、基礎的LPデバイス102がほぼ一定の電力で動作していると判定した場合、温度センサデータを求める要求をLPデバイス102に送信することができる。LPデバイス102は、仮想温度センサデバイス100を介してコンピューティングデバイス130に返信することができる。
【0049】
図13は、本開示の少なくとも一部の実施形態による、仮想デバイス112を使用してLPデバイスへの要求を処理する例示的なプロセスを示す、LPデバイスが周期的に電力供給される場合のシーケンス図である。図13では、仮想温度センサデバイス112は、LP温度センサデバイス102(図13には示されていない)の電力特性を調べるように適合可能である。かかる電力特性は、例えば、仮想温度センサデバイス112によって以前に受信された1つまたは複数の記述子ファイルに含まれている情報に基づいて判定されている場合がある。図13では、仮想温度センサデバイス112は、LPデバイス102が周期的に電力供給されていると判定するように編成できる。仮想温度センサデバイス112は、仮想温度センサデバイス112に結合されたデータベース(不図示)に問い合わせて、デバイス112がLPデバイス102からデータを最後に受信したのはいつかを確認することができる。データが十分に最近のものであることが分かると、仮想温度センサデバイス112は、LP温度センサデバイス102に代わってコンピューティングデバイス130に応答することができる。仮想温度センサデバイス112は、デバイスデータが十分に最近のものではないと判定した場合、図12の例のようにデータをLPデバイス102に要求することができ、そして応答することができる。
【0050】
図14は、本開示の少なくとも一部の実施形態による、仮想デバイス112を使用してLPデバイス102への要求を処理する例示的なプロセスを示す、LPデバイスの充電レベルが臨界レベルにある場合のシーケンス図である。LPデバイス102の充電レベルに関する情報は、例えば、仮想デバイス112にとってアクセス可能なデバイス記述子ファイルで提供され得る。図14の例では、仮想温度センサデバイス112は、データが更新されたのがいつかに関わりなく、データベース(不図示)からの情報で応答するように編成できる。LPデバイス102が電源オフ状態にあると仮想温度センサデバイス112が判定したときに、同様の応答を生成することができる。一部の実施形態では、仮想温度センサデバイス100は、情報が古くて不正確かもしれないことを示す情報を、要求元のコンピューティングデバイス130に送信するように構成できる。
【0051】
一部の実施形態では、仮想デバイスコンピューティングシステム110は、1つまたは複数の仮想デバイス112、114、116、118および/または119がLPデバイス102、104、106、108および/または109に代わってサービスを実行することを許容することによって、基礎的LPデバイスコンピューティングシステム100の機能を強化するように適合可能である。例えば、コンピューティングデバイス130は、サービス要求を通信するために直接または仮想デバイスコーディネータ119を通じて仮想デバイスと対話するように構成できる。サービス要求は、仮想デバイスでのサービスを要求するのに必要な任意の情報を含むことができる。例えば、サービス要求は、低電力アプリケーションデータを求める要求および処理要求を含むことができる。処理要求の例は、過去の低電力デバイスデータ、予想される将来のLPデバイスデータを求める要求、および低電力デバイスデータの図表表示を求める要求を含み、これらに限定されない。例えば、予想される将来のLPデバイスデータは、最近傍、線形、多項式またはスプライン補間技法などを使用して生成できる。仮想デバイスは、サービス要求を受信した後、要求先の低電力デバイスに関連する記述子ファイルを評価して、低電力デバイスが要求されたサービスを提供できるか否か判定することができる。要求先の低電力デバイスが要求されたサービスを実行できない場合、仮想デバイスは、場合によっては低電力デバイスによって以前に生成されたデータを使用して、サービスをローカルで実行することができる。
【0052】
図15は、本開示の少なくとも一部の実施形態による、仮想デバイス112を使用して温度予測を生成するための例示的なプロセスを示す、関連LPデバイスが通信可能ではない場合のシーケンス図である。この例示的なプロセスでは、コンピューティングデバイス130は、LP温度センサデバイス102(図15では示されていない)から温度予測を取り出すことを試みることができる。コンピューティングデバイス130は、温度予測を求めるサービス要求を仮想デバイスコーディネータ119に送信するように適合され得る。仮想デバイスコーディネータ119は、サービス要求に符号化された宛先情報を解析し、LP温度センサデバイス102が意図された宛先であると判定するように構成できる。仮想デバイスコーディネータ119はまた、LP温度センサデバイス102に関連付けられた仮想デバイス、すなわち、仮想温度センサデバイス112に要求を転送するように構成できる。他の実施形態では、コンピューティングデバイスは仮想温度センサデバイス112と直接的に交信し、それにより仮想デバイスコーディネータ119を飛び越えることができるように構成できることに留意されたい。
【0053】
引き続き図15を参照すると、仮想温度センサデバイス112は、図15でサービス要求を受信すると、要求を処理することができる。温度センサデバイス112は、予測データが要求されていると判定するように編成できる。一部の実施形態では、受信されたメッセージに符号化されている処理要求を考慮することにより、この判定がなされ得る。この処理要求は、例えば、要求元デバイスのためにデータをフォーマットする方法を仮想デバイス112に知らせる情報を含むことができる。処理要求の例は、過去の低電力デバイスデータ、予想されるさらなる低電力デバイスデータを求める要求、および/または低電力デバイスデータの図表表示を求める要求を含むことができ、これらに限定されない。仮想デバイス112は、LP温度センサデバイス102がコンピューティングデバイス130のセンサデータ要求に応じることが可能であるか否かを判定するため、デバイス102の機能を評価するように適合され得る。図15の例では、仮想温度センサデバイス112は、LP温度センサデバイス102は将来の温度条件を予測するようには構成されていないと判定し得る。したがって、仮想温度センサデバイス112は、要求された温度予測を内部で生成すること、または要求された予測が利用できない旨の表示情報(indication)で応答することができる。
【0054】
引き続き図15を参照すると、温度予測の精度を高めるため、仮想温度センサデバイス112は、LP温度センサデバイス102が現時点で電力供給されていて通信可能である(すなわち、「アクティブ」である)場合には、LP温度センサデバイス102から現在の温度データを収集するように構成されてもよい。仮想温度センサデバイス112は、LP温度センサデバイス102によって提供される記述子ファイルから導出される電力プロファイルを評価することによって、LPデバイス102がアクティブであるか否かを判定するように構成され得る。LPデバイス102が現時点で通信不可能であることを電力プロファイルが示した場合、LPデバイス102に照会を出さないこともある。通信不可能であることは、例えば、LPデバイスが現時点で電力供給されていないことを電力プロファイルが明示したときに示され得る。同様に、LPデバイス102が臨界電力で作動していることを電力プロファイルが示したとき、仮想温度センサデバイス112はLPデバイス102に照会しないことがあり、それによりLPバッテリリソースを保持することができる。図15の例では、LPデバイス102が利用不可能であると仮想温度センサデバイス112が判定し、仮想温度センサデバイス112にとってアクセス可能なデータベースに保存されている過去のデータのみを使用して予測が生成される。温度予測が生成されると、仮想温度センサデバイス112は、元の温度予測要求への返信としてコンピューティングデバイス130に温度予測情報を送信することができる。
【0055】
温度予測が生成されている間にLPデバイス102が利用できる場合、仮想温度センサデバイス112は、LP温度センサデバイス102から現在の温度データを収集して当該データを温度予測に含めることができる。
【0056】
図16は、本開示の少なくとも一部の実施形態による、仮想デバイス112を使用して温度予測を生成するための例示的なプロセスを示す、関連LPデバイスが通信可能である場合のシーケンス図である。図16の例では、仮想温度センサデバイス112は、LPデバイス102に関連する電力プロファイルを評価し、LPデバイス102が利用可能であると判定する。利用可能であることは、例えば、LPデバイス102の電源が常にオンになっていることを電力プロファイルが明示したときに示され得る。仮想温度センサデバイス112は、センサデータを求める要求をLPデバイス102に送信することができ、関連する応答を受信することができる。要求および応答は、直接または1つもしくは複数の仲介役の仮想デバイスもしくはLPデバイスを通じて送信できることに留意されたい。図16の例と同様に、仮想温度センサデバイス112にとってアクセス可能なデータベースから過去の温度データを収集することができる。過去および現在の温度センサデータを使用して、予測を生成することができる。元の温度予測要求に対する応答として、コンピューティングデバイス130に予測情報を送信することができる。
【0057】
図17は、本開示の少なくとも一部の実施形態による、仮想ネットワーキングシステム10の実施態様を示すコンピュータアーキテクチャまたはシステム1800を示すブロック図である。システムバス1802は、中央処理ユニット(CPU)1804、RAM1806、基本入出力システム(BIOS)1808および他の構成要素の間でデータを移送するように編成できる。CPU1804は、キャッシュメモリ構成要素1824を含むことができる。RAM1806は、仮想デバイスプロセス1840を含むことができる。仮想デバイスプロセス1840は、1つまたは複数のLPデバイスの機能をサポート、エミュレートおよび/または補完するように構成されてもよい。コンピュータシステム1800は、ハードディスクドライブ(HDD)、光ストレージドライブ(例えば、CD−ROM、DVD−ROM、DVD−RW)、フラッシュメモリ、テープデバイス、または他のストレージデバイス(不図示)にアクセスするための1つまたは複数の外部ストレージポート1817を含むことができる。(1つまたは複数の)関連ストレージデバイスは、外部ストレージポート1817を通じて接続または結合することができ、外部ストレージポート1817はディスクコントローラ1822を介してシステムバス1802に接続または結合できる。キーボードおよびポインティングデバイス(例えば、マウス、タッチパッド)(不図示)は(1つまたは複数の)キーボード/マウスポート1812に接続または結合することができ、他のI/Oデバイスは(1つまたは複数の)追加のI/Oポート1813に接続または結合することができ、これらのポートはI/Oコントローラ1810を通じてシステムバス1802に接続または結合することができる。シリアルポート、パラレルポート、ファイアワイヤアダプタまたはバイオメトリックデバイス(不図示)などの追加のポートまたはデバイスは、I/Oコントローラ1810を通じて利用できる。表示デバイス(不図示)は、表示デバイスポート1814に接続または結合することができ、表示デバイスポート1814はビデオコントローラ1815を通じてシステムバス1802に接続または結合することができる。イーサネット(登録商標)デバイスまたはネットワーク機能を有する他のデバイスを含むがこれに限定されないネットワークデバイス(不図示)は、ネットワークポート1820に接続または結合することができ、ネットワークポート1820はネットワークコントローラ1816を通じてシステムバス1802に接続または結合することができる。コンピュータシステム1800は、無線コントローラ1826に接続または結合されたアンテナ1828を使用して、無線ルータを含むがこれに限定されない無線オペレーション(不図示)向けに構成され得るネットワークデバイスに無線で接続または結合することができ、無線コントローラ1826は、システムバス1802に接続または結合することができ、アンテナはネットワークデバイスとの間で信号を送受信するように編成され得る。コンピュータシステム1800は、1つまたは複数のUSBポート1823を含むことができる。プリンタ、スキャナ、キーボード、マウス、デジタルカメラ、ストレージデバイス、PDA、セルラ電話、バイオメトリックデバイス、ウェブカメラおよびI/Oアダプタを含むが、これらに限定されないUSBデバイス(不図示)は、USBポート1823に接続または結合することができ、USBポート1823は、USBコントローラ1811を通じてシステムバス1802に接続または結合することができる。セルラ電話、PDA、または他の携帯用デバイスなどの他のデバイスも、無線I/Oコントローラ1830に接続または結合された無線I/Oアンテナ1832を介して無線接続することができる。無線I/O技術の例は、ブルートゥース、赤外線(IR)および無線周波(RF)を含むが、これらに限定されない。マイクロフォン、スピーカーまたはヘッドフォンなどのオーディオデバイスは、音声ポート1838に接続または結合することができ、音声ポート1838は音声コントローラ1834に接続または結合することができ、音声コントローラ1834はシステムバス1802に接続または結合することができる。拡張スロット1818は、コンピュータシステム1800に追加のカードを置くことができるよう、業界標準アーキテクチャ(ISA)スロット、周辺構成要素相互接続(PCI)拡張スロット、PCI Express拡張スロット、Accelerated Graphics Port(AGP)スロットまたは当技術分野で一般に知られているその他のスロットから構成され得る。これらのスロットを使用して、ネットワークカード、ビデオカード、音声カード、モデム、およびコンピュータで一般に使用されるその他の周辺デバイスを接続または結合することができる。コンピュータシステム1800はまた、外部の電源および内部または外部のバッテリに接続または結合された電源を含むがこれらに限定されない電源(不図示)を含むことができる。こうしたデバイスの詳細な説明については、単に便宜上省略しており、限定的に解釈すべきではない。
【0058】
本開示の実施形態は、ハードウェアおよびソフトウェアの任意の組合せで実施できる。コンピュータ実施装置として実施される場合、実施形態は上述のステップおよび機能のすべてを実行するための手段を使用して実施される。
【0059】
本開示の実施形態は、例えばコンピュータ使用可能媒体を有する製造品(例えば1つまたは複数のコンピュータプログラム製品)に含めることができる。この媒体は、例えば、本開示の実施形態の機構を提供し容易にするためのコンピュータ可読プログラムコード手段をその中に具現化している。製造品は、コンピュータシステムの一部として含めること、または別個に販売することができる。
【0060】
システムの態様のハードウェア実装とソフトウェア実装との間の区別は、ほとんど残っておらず、ハードウェアまたはソフトウェアの使用は一般に(ただし常にではなく、特定の文脈では、ハードウェアとソフトウェアとの間の選択が重要になり得るという点で)コストと効率性との兼ね合いを表す設計の選択である。本明細書で説明したプロセスおよび/またはシステムおよび/または他の技術を実現できる様々な手段(例えば、ハードウェア、ソフトウェアおよび/またはファームウェア)があり、その上、好ましい手段は、プロセスおよび/またはシステムおよび/または他の技術が展開される文脈によって変化する。例えば、実施者は、速度および精度が最も重要であると判定した場合、主としてハードウェアおよび/またはファームウェア手段を選ぶことがあり、柔軟性が最も重要である場合、実施者は、主としてソフトウェア実装を選択してもよく、または、さらに別法として、実施者は、ハードウェア、ソフトウェアおよび/またはファームウェアの何らかの組合せを選んでもよい。
【0061】
上記の詳細な説明は、ブロック図、フローチャートおよび/または例を使用することによって、デバイスおよび/またはプロセスの様々な実施形態について述べている。こうしたブロック図、フローチャートおよび/または例が1つまたは複数の機能および/または動作を含む限りでは、こうしたブロック図、フローチャートまたは例の中の各々の機能および/または動作は、幅広いハードウェア、ソフトウェア、ファームウェアまたは事実上任意のその組合せによって個々にかつ/または集合的に実施され得ることが当業者には理解されよう。一実施形態では、本明細書で説明した主題のいくつかの部分は、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、デジタル信号プロセッサ(DSP)または他の集積された形式によって実施され得る。しかし、本明細書に開示された実施形態の一部の態様は、1つまたは複数のコンピュータ上で実行される1つまたは複数のコンピュータプログラムとして(例えば、1つまたは複数のコンピュータシステム上で実行される1つまたは複数のプログラムとして)、1つまたは複数のプロセッサ上で実行される1つまたは複数のプログラムとして(例えば、1つまたは複数のマイクロプロセッサ上で実行される1つまたは複数のプログラムとして)、ファームウェアとして、または事実上任意のその組合せとして、全体的にまたは部分的に集積回路に同等に実装することができ、また回路を設計すること、ならびに/またはソフトウェアおよび/もしくはファームウェアのコードを作成することは、本開示に鑑みて十分に当業者の技術の範囲内にあることを当業者は理解するであろう。さらに、本明細書で説明した主題の機構は、プログラム製品として様々な形で配布することがき、また本明細書で説明した主題の例示的な一実施形態は、この配布を実際に実施するために使用される特定のタイプの信号担持媒体に関係なく適用されることを、当業者は理解しよう。信号担持媒体の例は、以下を含むが、これらに限定されない。フレキシブルディスク、ハードディスクドライブ(HDD)、コンパクトディスク(CD)、デジタルビデオディスク(DVD)、デジタルテープ、コンピュータメモリなどの記録可能なタイプの媒体、ならびにデジタルおよび/またはアナログ通信媒体(例えば、光ファイバケーブル、導波管、有線通信リンク、無線通信リンクなど)などの伝送タイプの媒体。
【0062】
本明細書に示されたやり方でデバイスおよび/またはプロセスについて説明し、その後、工学の慣例を使用し、このような説明したデバイスおよび/またはプロセスをデータ処理システムに統合することは当技術分野では一般的であることを、当業者は理解するであろう。すなわち、本明細書で説明したデバイスおよび/またはプロセスの少なくとも一部が、十分な量の実験によってデータ処理システムに統合され得る。一般的なデータ処理システムは、システムユニット筐体、ビデオ表示デバイス、揮発性メモリおよび不揮発性メモリなどのメモリ、マイクロプロセッサおよびデジタル信号プロセッサなどのプロセッサ、オペレーティングシステム、ドライバ、グラフィカルユーザインターフェース、およびアプリケーションプログラムなどのコンピュータエンティティ、タッチパッドや画面などの1つもしくは複数の対話デバイス、ならびに/またはフィードバックループおよび制御モータ(例えば、位置および/もしくは速度を感知するためのフィードバック、構成要素および/もしくは量の移動および/もしくは調整のための制御モータ)を含む制御システムのうちの1つまたは複数を一般に含むことを、当業者は理解するであろう。一般的なデータ処理システムが、データコンピューティング/通信および/またはネットワークコンピューティング/通信システムで一般に見られるものなど、任意の適切な市販のコンポーネントを使用して実装され得る。
【0063】
本明細書で説明した主題は、それぞれ異なる他の構成要素内に含まれた、またはそれに結び付けられたそれぞれ異なる構成要素を示すことがある。こうした示されたアーキテクチャは、例に過ぎず、実際には、同じ機能を実現する多くの他のアーキテクチャを実装できることを理解されたい。概念的な意味では、同じ機能を実現する構成要素のいかなる編成も、所望の機能が実現するように有効に「関連付けられる」。したがって、特定の機能を実現するために本明細書で組み合わされたいかなる2つの構成要素も、アーキテクチャまたは中間の構成要素に関係なく所望の機能が実現するように互いに「関連付けられる」とみなすことができる。同様に、そのように関連付けられたいかなる2つの構成要素もまた、所望の機能を実現するために互いに「動作可能に接続される」または「動作可能に結合される」とみなすことができ、そのような関連付けが可能ないかなる2つの構成要素もまた、所望の機能を実現するために互いに「動作可能に結合可能である」とみなすことができる。動作可能に結合可能であるものの具体的な例は、物理的に組にすることが可能な、かつ/もしくは物理的に対話する構成要素、ならびに/または無線で対話可能な、かつ/もしくは無線で対話する構成要素、ならびに/または論理的に対話する、かつ/もしくは論理的に対話可能な構成要素を含むが、これらに限定されない。
【0064】
実質的に任意の複数および/単数の用語を本明細書で使用することに関して、当業者は、文脈および/適用例に適切であるように、複数から単数に、かつ/または単数から複数に変換することができよう。様々な単数/複数の置換について、明瞭にするために、本明細書に明示的に述べられ得る。
【0065】
一般に、本明細書、特に添付のクレーム(例えば、添付のクレームの本文)中に用いられた用語は一般に「オープンな(open)」用語として意図されている(例えば、用語「含む(including)」は、「含むが、限定されるものではない」と解釈すべきであり、用語「有する(having)」は、「少なくとも有する」と解釈すべきであり、「含む(includes)」は、「含むが、限定されるものではない」と解釈すべきである、など)ことが当業者には理解されよう。特定の数の導入クレームの列挙が意図されている場合、かかる意図はクレーム中に明示的に列挙されており、こうした列挙がない場合には、かかる意図は存在しないことが当業者にはさらに理解されよう。例えば、理解への助けとして、下記の添付のクレームは、クレーム列挙の導入のために導入語句「少なくとも1つ」および「1つまたは複数」の使用を含み得る。しかし、こうした語句の使用は、同じクレームが導入語句「1つまたは複数」または「少なくとも1つ」および「1つ(aまたはan)」などの不定冠詞を含む場合でも、不定冠詞「1つ(aまたはan)」によるクレーム列挙の導入によって、こうした導入クレーム列挙を含むいずれかの特定のクレームが、こうした列挙を1つしか含まない発明に限定されることを示唆すると解釈すべきではなく(例えば、「1つ(aおよび/またはan)」は、「少なくとも1つ」または「1つまたは複数」を意味するものと一般に解釈すべきであり)、クレーム列挙の導入に用いられた定冠詞の使用についても同じことが当てはまる。さらに、特定の数の導入クレーム列挙が明示的に列挙される場合でも、こうした列挙は一般に、少なくとも列挙された数を意味するものと解釈すべきである(例えば、他の修飾子のない「2つの列挙」の素の列挙は一般に、少なくとも2つの列挙、または2つ以上の列挙を意味する)ことを、当業者は理解するであろう。さらに、「A、BおよびCのうちの少なくとも1つなど」に類似の慣例的表現が用いられる場合には、一般にこうした構成は、当業者がこの慣例的表現を理解するという意味で意図されている(例えば、A、BおよびCのうちの少なくとも1つを有するシステムは、Aだけ、Bだけ、Cだけ、AとBともに、AとCともに、BとCともに、および/またはA、B、Cともになど、を有するシステムを含むが、これらに限定されない)。事実上任意の離接語および/または2つ以上の代替語を提示する語句は、説明であれ、クレームであれ、図面であれ、用語のうちの1つ、用語のいずれか、または両方の用語を含む可能性を企図するものと理解すべきであることが、当業者にはさらに理解されよう。例えば、語句「AまたはB」は、「A」もしくは「B」、または「AおよびB」の可能性を含むものと理解されよう。
【0066】
様々な態様および実施形態が本明細書に開示されているが、他の態様および実施形態が当業者には明らかであろう。本明細書に開示された様々な態様および実施形態は、例示を目的としており、限定することを意図しておらず、真の範囲および趣旨は、以下のクレームに示されている。
【特許請求の範囲】
【請求項1】
仮想デバイスコーディネータを有する仮想ネットワークで動作する仮想デバイスを低電力デバイスに関連付ける、コンピュータによって実施される方法であって、
前記仮想デバイスコーディネータによって、前記低電力デバイスから低電力デバイス記述子を受信すること、
前記仮想デバイスコーディネータによって、前記受信された低電力デバイス記述子に基づいて低電力デバイス種別を判定すること、
前記仮想デバイスコーディネータによって、前記判定された低電力デバイス種別および前記受信された低電力デバイス記述子に基づいて前記仮想デバイスを構成すること、
前記仮想デバイスコーディネータによって、前記構成された仮想デバイスが前記低電力デバイスに関連付けられていることを示す関連性記録を記憶すること
を含む方法。
【請求項2】
前記仮想デバイスコーディネータによって、要求元デバイスからデータ要求を受信すること、
前記仮想デバイスコーディネータによって、前記受信されたデータ要求が前記低電力デバイスにアドレス指定されていると判定すること、
前記仮想デバイスコーディネータによって、前記仮想デバイスに前記受信されたデータ要求を送信すること
をさらに含む、請求項1に記載の方法。
【請求項3】
前記低電力デバイス記述子が前記低電力デバイスに関連する電力特性を示す少なくとも1つのフィールドを備える、請求項1に記載の方法。
【請求項4】
前記判定された低電力デバイス種別が前記低電力デバイスのクラスタ値、デバイス製造業者、ホームオートメーション機能、通信機能、モバイルサービス機能および/または産業管理機能のうちの1つまたは複数を示す、請求項1に記載の方法。
【請求項5】
前記判定された低電力デバイス種別がマルチメディア制御機能、照明制御機能、エネルギー制御機能および/または温度制御機能のうちの1つまたは複数を示す、請求項1に記載の方法。
【請求項6】
前記仮想デバイスが仮想機械で作動するオペレーティングシステムで実行される、請求項1に記載の方法。
【請求項7】
前記仮想デバイスがオブジェクト指向のクラスのインスタンスである、請求項1に記載の方法。
【請求項8】
第1コンピュータで仮想ネットワークを動的に作成する方法であって、
仮想デバイスコーディネータによって、要求元デバイスから低電力デバイスデータ要求を受信すること、
前記仮想デバイスコーディネータによって、前記受信された低電力デバイスデータ要求が前記仮想デバイスコーディネータによって管理されている低電力デバイスにアドレス指定されていると判定すること、
前記低電力デバイス要求が前記仮想デバイスコーディネータによって管理されている前記低電力デバイスにアドレス指定されていると判定されたときに、前記仮想デバイスコーディネータによって、前記低電力デバイスに低電力デバイス記述子を要求すること、
前記仮想デバイスコーディネータによって、前記低電力デバイスに前記低電力デバイス記述子を要求した後に、前記低電力デバイスから前記低電力デバイス記述子を受信すること、
前記仮想デバイスコーディネータによって、前記受信された低電力デバイス記述子および前記受信された低電力デバイスデータ要求に基づいて仮想デバイスを作成すること
を含む方法。
【請求項9】
前記仮想デバイスコーディネータによって、アプリケーション記述子要求メッセージを前記低電力デバイスに送信すること、
前記仮想デバイスコーディネータによって、前記アプリケーション記述子要求を送信した後に、前記低電力デバイスで作動する低電力デバイスアプリケーションの表示情報を受信すること、
前記仮想デバイスコーディネータによって、前記低電力デバイスアプリケーションの前記受信された表示情報に基づいて、前記仮想デバイス上に仮想アプリケーションを作成すること
をさらに含む、請求項8に記載の方法。
【請求項10】
前記仮想デバイスコーディネータによって、前記受信された低電力デバイスデータ要求を前記作成された仮想デバイスに転送することをさらに含む、請求項9に記載の方法。
【請求項11】
前記第1コンピュータ上の仮想機械で作動する第1オペレーティングシステムで前記仮想デバイスコーディネータが実行される、請求項9に記載の方法。
【請求項12】
前記第1コンピュータ上の仮想機械で作動する第2オペレーティングシステムで前記仮想デバイスが実行される、請求項11に記載の方法。
【請求項13】
前記受信された低電力デバイス記述子が前記低電力デバイスに関連する電力特性を示す少なくとも1つのフィールドを備える、請求項8に記載の方法。
【請求項14】
前記仮想デバイスコーディネータによって、前記低電力デバイスに関連する電力特性を示す前記少なくとも1つのフィールドに基づいて動作状態値を更新すること、
前記仮想デバイスコーディネータによって、前記仮想デバイスに前記更新された動作状態値を送信すること
をさらに含む、請求項13に記載の方法。
【請求項15】
前記要求元デバイスが、携帯電話、パーソナルコンピュータ、ナビゲーションコンピュータおよび/またはビデオゲームシステムのうちの1つまたは複数である、請求項8に記載の方法。
【請求項16】
低電力デバイスから低電力デバイス記述子を受信するように構成されたネットワーク受信機と、
前記ネットワーク受信機に結合され、前記受信された低電力デバイス記述子に基づいて前記低電力デバイスに仮想デバイスを関連付けるように構成された仮想デバイスコーディネータと、
前記仮想デバイスコーディネータに結合され、前記仮想デバイスと前記低電力デバイスとの関連性を示す1つまたは複数の関連性記録を記憶するように構成されたコンピュータ可読メモリと
を備える、仮想デバイスコンピューティングシステム。
【請求項17】
前記仮想デバイスコーディネータが、前記受信された低電力デバイス記述子に基づいて低電力デバイス種別を判定するようにさらに構成されている、請求項16に記載のシステム。
【請求項18】
前記仮想デバイスコーディネータが、前記低電力デバイス種別に基づいて前記仮想デバイスを構成するようにさらに構成されている、請求項17に記載のシステム。
【請求項19】
仮想デバイスコーディネータを有する仮想ネットワーク内で動作する仮想デバイスを低電力デバイスに関連付けるための製造品であって、
前記低電力デバイスから低電力デバイス記述子を受信すること、
前記受信された低電力デバイス記述子に基づいて低電力デバイス種別を判定すること、
前記判定された低電力デバイス種別および前記受信された低電力デバイス記述子に基づいて前記仮想デバイスを構成すること、
前記構成された仮想デバイスが前記低電力デバイスに関連付けられていることを示す関連性記録を記憶すること
を含む方法を実行するためのコンピュータ実行可能命令を保持するコンピュータ可読媒体を備える製造品。
【請求項20】
要求元デバイスからデータ要求を受信すること、
前記受信されたデータ要求が前記低電力デバイスにアドレス指定されていると判定すること、
前記受信されたデータ要求が前記低電力デバイスにアドレス指定されていると判定されたときに前記仮想デバイスに前記受信されたデータ要求を送信すること
をさらに含む前記方法を実行するためのコンピュータ実行可能命令を保持する前記コンピュータ可読媒体を備える、請求項19に記載の製造品。
【請求項1】
仮想デバイスコーディネータを有する仮想ネットワークで動作する仮想デバイスを低電力デバイスに関連付ける、コンピュータによって実施される方法であって、
前記仮想デバイスコーディネータによって、前記低電力デバイスから低電力デバイス記述子を受信すること、
前記仮想デバイスコーディネータによって、前記受信された低電力デバイス記述子に基づいて低電力デバイス種別を判定すること、
前記仮想デバイスコーディネータによって、前記判定された低電力デバイス種別および前記受信された低電力デバイス記述子に基づいて前記仮想デバイスを構成すること、
前記仮想デバイスコーディネータによって、前記構成された仮想デバイスが前記低電力デバイスに関連付けられていることを示す関連性記録を記憶すること
を含む方法。
【請求項2】
前記仮想デバイスコーディネータによって、要求元デバイスからデータ要求を受信すること、
前記仮想デバイスコーディネータによって、前記受信されたデータ要求が前記低電力デバイスにアドレス指定されていると判定すること、
前記仮想デバイスコーディネータによって、前記仮想デバイスに前記受信されたデータ要求を送信すること
をさらに含む、請求項1に記載の方法。
【請求項3】
前記低電力デバイス記述子が前記低電力デバイスに関連する電力特性を示す少なくとも1つのフィールドを備える、請求項1に記載の方法。
【請求項4】
前記判定された低電力デバイス種別が前記低電力デバイスのクラスタ値、デバイス製造業者、ホームオートメーション機能、通信機能、モバイルサービス機能および/または産業管理機能のうちの1つまたは複数を示す、請求項1に記載の方法。
【請求項5】
前記判定された低電力デバイス種別がマルチメディア制御機能、照明制御機能、エネルギー制御機能および/または温度制御機能のうちの1つまたは複数を示す、請求項1に記載の方法。
【請求項6】
前記仮想デバイスが仮想機械で作動するオペレーティングシステムで実行される、請求項1に記載の方法。
【請求項7】
前記仮想デバイスがオブジェクト指向のクラスのインスタンスである、請求項1に記載の方法。
【請求項8】
第1コンピュータで仮想ネットワークを動的に作成する方法であって、
仮想デバイスコーディネータによって、要求元デバイスから低電力デバイスデータ要求を受信すること、
前記仮想デバイスコーディネータによって、前記受信された低電力デバイスデータ要求が前記仮想デバイスコーディネータによって管理されている低電力デバイスにアドレス指定されていると判定すること、
前記低電力デバイス要求が前記仮想デバイスコーディネータによって管理されている前記低電力デバイスにアドレス指定されていると判定されたときに、前記仮想デバイスコーディネータによって、前記低電力デバイスに低電力デバイス記述子を要求すること、
前記仮想デバイスコーディネータによって、前記低電力デバイスに前記低電力デバイス記述子を要求した後に、前記低電力デバイスから前記低電力デバイス記述子を受信すること、
前記仮想デバイスコーディネータによって、前記受信された低電力デバイス記述子および前記受信された低電力デバイスデータ要求に基づいて仮想デバイスを作成すること
を含む方法。
【請求項9】
前記仮想デバイスコーディネータによって、アプリケーション記述子要求メッセージを前記低電力デバイスに送信すること、
前記仮想デバイスコーディネータによって、前記アプリケーション記述子要求を送信した後に、前記低電力デバイスで作動する低電力デバイスアプリケーションの表示情報を受信すること、
前記仮想デバイスコーディネータによって、前記低電力デバイスアプリケーションの前記受信された表示情報に基づいて、前記仮想デバイス上に仮想アプリケーションを作成すること
をさらに含む、請求項8に記載の方法。
【請求項10】
前記仮想デバイスコーディネータによって、前記受信された低電力デバイスデータ要求を前記作成された仮想デバイスに転送することをさらに含む、請求項9に記載の方法。
【請求項11】
前記第1コンピュータ上の仮想機械で作動する第1オペレーティングシステムで前記仮想デバイスコーディネータが実行される、請求項9に記載の方法。
【請求項12】
前記第1コンピュータ上の仮想機械で作動する第2オペレーティングシステムで前記仮想デバイスが実行される、請求項11に記載の方法。
【請求項13】
前記受信された低電力デバイス記述子が前記低電力デバイスに関連する電力特性を示す少なくとも1つのフィールドを備える、請求項8に記載の方法。
【請求項14】
前記仮想デバイスコーディネータによって、前記低電力デバイスに関連する電力特性を示す前記少なくとも1つのフィールドに基づいて動作状態値を更新すること、
前記仮想デバイスコーディネータによって、前記仮想デバイスに前記更新された動作状態値を送信すること
をさらに含む、請求項13に記載の方法。
【請求項15】
前記要求元デバイスが、携帯電話、パーソナルコンピュータ、ナビゲーションコンピュータおよび/またはビデオゲームシステムのうちの1つまたは複数である、請求項8に記載の方法。
【請求項16】
低電力デバイスから低電力デバイス記述子を受信するように構成されたネットワーク受信機と、
前記ネットワーク受信機に結合され、前記受信された低電力デバイス記述子に基づいて前記低電力デバイスに仮想デバイスを関連付けるように構成された仮想デバイスコーディネータと、
前記仮想デバイスコーディネータに結合され、前記仮想デバイスと前記低電力デバイスとの関連性を示す1つまたは複数の関連性記録を記憶するように構成されたコンピュータ可読メモリと
を備える、仮想デバイスコンピューティングシステム。
【請求項17】
前記仮想デバイスコーディネータが、前記受信された低電力デバイス記述子に基づいて低電力デバイス種別を判定するようにさらに構成されている、請求項16に記載のシステム。
【請求項18】
前記仮想デバイスコーディネータが、前記低電力デバイス種別に基づいて前記仮想デバイスを構成するようにさらに構成されている、請求項17に記載のシステム。
【請求項19】
仮想デバイスコーディネータを有する仮想ネットワーク内で動作する仮想デバイスを低電力デバイスに関連付けるための製造品であって、
前記低電力デバイスから低電力デバイス記述子を受信すること、
前記受信された低電力デバイス記述子に基づいて低電力デバイス種別を判定すること、
前記判定された低電力デバイス種別および前記受信された低電力デバイス記述子に基づいて前記仮想デバイスを構成すること、
前記構成された仮想デバイスが前記低電力デバイスに関連付けられていることを示す関連性記録を記憶すること
を含む方法を実行するためのコンピュータ実行可能命令を保持するコンピュータ可読媒体を備える製造品。
【請求項20】
要求元デバイスからデータ要求を受信すること、
前記受信されたデータ要求が前記低電力デバイスにアドレス指定されていると判定すること、
前記受信されたデータ要求が前記低電力デバイスにアドレス指定されていると判定されたときに前記仮想デバイスに前記受信されたデータ要求を送信すること
をさらに含む前記方法を実行するためのコンピュータ実行可能命令を保持する前記コンピュータ可読媒体を備える、請求項19に記載の製造品。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【公表番号】特表2012−533821(P2012−533821A)
【公表日】平成24年12月27日(2012.12.27)
【国際特許分類】
【出願番号】特願2012−521639(P2012−521639)
【出願日】平成22年6月3日(2010.6.3)
【国際出願番号】PCT/US2010/037176
【国際公開番号】WO2011/011115
【国際公開日】平成23年1月27日(2011.1.27)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.ZIGBEE
【出願人】(509348786)エンパイア テクノロジー ディベロップメント エルエルシー (117)
【Fターム(参考)】
【公表日】平成24年12月27日(2012.12.27)
【国際特許分類】
【出願日】平成22年6月3日(2010.6.3)
【国際出願番号】PCT/US2010/037176
【国際公開番号】WO2011/011115
【国際公開日】平成23年1月27日(2011.1.27)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.ZIGBEE
【出願人】(509348786)エンパイア テクノロジー ディベロップメント エルエルシー (117)
【Fターム(参考)】
[ Back to top ]