(57)【特許請求の範囲】
【請求項１】
仮想デバイスコーディネータを有する仮想ネットワークで動作する仮想デバイスを低電力デバイスに関連付ける、コンピュータによって実施される方法であって、
前記仮想デバイスコーディネータによって、前記低電力デバイスから低電力デバイス記述子を受信することであって、前記低電力デバイス記述子は、前記低電力デバイスに関連する電力特性を示す少なくとも１つのフィールドを備える、こと、
前記仮想デバイスコーディネータによって、前記受信された低電力デバイス記述子に基づいて低電力デバイス種別を判定すること、
前記仮想デバイスコーディネータによって、前記判定された低電力デバイス種別および前記受信された低電力デバイス記述子に基づいて前記仮想デバイスを構成することであって、前記仮想デバイスは、前記低電力デバイスに関連する前記電力特性に基づき、前記低電力デバイスから新しいデータを取得して応答するか、前記低電力デバイスから以前に取得したデータを用いて応答するかを決定するように構成される、こと、
前記仮想デバイスコーディネータによって、前記構成された仮想デバイスが前記低電力デバイスに関連付けられていることを示す関連性記録を記憶すること
を含む方法。
【請求項２】
前記仮想デバイスコーディネータによって、要求元デバイスからデータ要求を受信すること、
前記仮想デバイスコーディネータによって、前記受信されたデータ要求が前記低電力デバイスにアドレス指定されていると判定すること、
前記仮想デバイスコーディネータによって、前記仮想デバイスに前記受信されたデータ要求を送信すること
をさらに含む、請求項１に記載の方法。
【請求項３】
前記判定された低電力デバイス種別が前記低電力デバイスのクラスタ値、デバイス製造業者、ホームオートメーション機能、通信機能、モバイルサービス機能および／または産業管理機能のうちの１つまたは複数を示す、請求項１に記載の方法。
【請求項４】
前記判定された低電力デバイス種別がマルチメディア制御機能、照明制御機能、エネルギー制御機能および／または温度制御機能のうちの１つまたは複数を示す、請求項１に記載の方法。
【請求項５】
前記仮想デバイスが仮想機械で作動するオペレーティングシステムで実行される、請求項１に記載の方法。
【請求項６】
前記仮想デバイスがオブジェクト指向のクラスのインスタンスである、請求項１に記載の方法。
【請求項７】
第１コンピュータで仮想ネットワークを動的に作成する方法であって、
仮想デバイスコーディネータによって、要求元デバイスから低電力デバイスデータ要求を受信すること、
前記仮想デバイスコーディネータによって、前記受信された低電力デバイスデータ要求が前記仮想デバイスコーディネータによって管理されている低電力デバイスにアドレス指定されていると判定すること、
前記低電力デバイス要求が前記仮想デバイスコーディネータによって管理されている前記低電力デバイスにアドレス指定されていると判定されたときに、前記仮想デバイスコーディネータによって、前記低電力デバイスに低電力デバイス記述子を要求すること、
前記仮想デバイスコーディネータによって、前記低電力デバイスに前記低電力デバイス記述子を要求した後に、前記低電力デバイスから前記低電力デバイス記述子を受信することであって、前記低電力デバイス記述子は、前記低電力デバイスに関連する電力特性を示す少なくとも１つのフィールドを備える、こと、
前記仮想デバイスコーディネータによって、前記受信された低電力デバイス記述子および前記受信された低電力デバイスデータ要求に基づいて仮想デバイスを作成することであって、前記仮想デバイスは、前記低電力デバイスに関連する前記電力特性に基づき、前記低電力デバイスから新しいデータを取得して応答するか、前記低電力デバイスから以前に取得したデータを用いて応答するかを決定するように構成される、こと
を含む方法。
【請求項８】
前記仮想デバイスコーディネータによって、アプリケーション記述子要求メッセージを前記低電力デバイスに送信すること、
前記仮想デバイスコーディネータによって、前記アプリケーション記述子要求を送信した後に、前記低電力デバイスで作動する低電力デバイスアプリケーションの表示情報を受信すること、
前記仮想デバイスコーディネータによって、前記低電力デバイスアプリケーションの前記受信された表示情報に基づいて、前記仮想デバイス上に仮想アプリケーションを作成すること
をさらに含む、請求項７に記載の方法。
【請求項９】
前記仮想デバイスコーディネータによって、前記受信された低電力デバイスデータ要求を前記作成された仮想デバイスに転送することをさらに含む、請求項８に記載の方法。
【請求項１０】
前記第１コンピュータ上の仮想機械で作動する第１オペレーティングシステムで前記仮想デバイスコーディネータが実行される、請求項８に記載の方法。
【請求項１１】
前記第１コンピュータ上の仮想機械で作動する第２オペレーティングシステムで前記仮想デバイスが実行される、請求項１０に記載の方法。
【請求項１２】
前記仮想デバイスコーディネータによって、前記低電力デバイスに関連する電力特性を示す前記少なくとも１つのフィールドに基づいて動作状態値を更新すること、
前記仮想デバイスコーディネータによって、前記仮想デバイスに前記更新された動作状態値を送信すること
をさらに含む、請求項７に記載の方法。
【請求項１３】
前記要求元デバイスが、携帯電話、パーソナルコンピュータ、ナビゲーションコンピュータおよび／またはビデオゲームシステムのうちの１つまたは複数である、請求項７に記載の方法。
【請求項１４】
低電力デバイスから低電力デバイス記述子を受信するように構成されたネットワーク受信機であって、前記低電力デバイス記述子は、前記低電力デバイスに関連する電力特性を示す少なくとも１つのフィールドを備える、ネットワーク受信機と、
前記ネットワーク受信機に結合され、前記受信された低電力デバイス記述子に基づいて前記低電力デバイスに仮想デバイスを関連付けるように構成された仮想デバイスコーディネータであって、前記仮想デバイスは、前記低電力デバイスに関連する前記電力特性に基づき、前記低電力デバイスから新しいデータを取得して応答するか、前記低電力デバイスから以前に取得したデータを用いて応答するかを決定するように構成される、仮想デバイスコーディネータと、
前記仮想デバイスコーディネータに結合され、前記仮想デバイスと前記低電力デバイスとの関連性を示す１つまたは複数の関連性記録を記憶するように構成されたコンピュータ可読メモリと
を備える、仮想デバイスコンピューティングシステム。
【請求項１５】
前記仮想デバイスコーディネータが、前記受信された低電力デバイス記述子に基づいて低電力デバイス種別を判定するようにさらに構成されている、請求項１４に記載のシステム。
【請求項１６】
前記仮想デバイスコーディネータが、前記低電力デバイス種別に基づいて前記仮想デバイスを構成するようにさらに構成されている、請求項１５に記載のシステム。
【請求項１７】
仮想デバイスコーディネータを有する仮想ネットワーク内で動作する仮想デバイスを低電力デバイスに関連付けるための製造品であって、
前記低電力デバイスから低電力デバイス記述子を受信することであって、前記低電力デバイス記述子は、前記低電力デバイスに関連する電力特性を示す少なくとも１つのフィールドを備える、こと、
前記受信された低電力デバイス記述子に基づいて低電力デバイス種別を判定すること、
前記判定された低電力デバイス種別および前記受信された低電力デバイス記述子に基づいて前記仮想デバイスを構成することであって、前記仮想デバイスは、前記低電力デバイスに関連する前記電力特性に基づき、前記低電力デバイスから新しいデータを取得して応答するか、前記低電力デバイスから以前に取得したデータを用いて応答するかを決定するように構成される、こと、
前記構成された仮想デバイスが前記低電力デバイスに関連付けられていることを示す関連性記録を記憶すること
を含む方法を実行するためのコンピュータ実行可能命令を保持するコンピュータ可読媒体を備える製造品。
【請求項１８】
要求元デバイスからデータ要求を受信すること、
前記受信されたデータ要求が前記低電力デバイスにアドレス指定されていると判定すること、
前記受信されたデータ要求が前記低電力デバイスにアドレス指定されていると判定されたときに前記仮想デバイスに前記受信されたデータ要求を送信すること
をさらに含む前記方法を実行するためのコンピュータ実行可能命令を保持する前記コンピュータ可読媒体を備える、請求項１７に記載の製造品。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、２００９年７月２１日に出願され、Ｖｉｒｔｕａｌｉｚａｔｉｏｎ  ｆｏｒ  Ｌｏｗ−Ｐｏｗｅｒ  Ｎｅｔｗｏｒｋｓと題し、その全体の開示が参照により本明細書に組み込まれる米国特許出願第１２／５０６，３８３号の利益を主張する。
【０００２】
本出願は、２００９年７月２１日に出願され、Ｐｅｒｆｏｒｍｉｎｇ  Ｓｅｒｖｉｃｅｓ  ｏｎ  Ｂｅｈａｌｆ  ｏｆ  Ｌｏｗ−Ｐｏｗｅｒ  Ｄｅｖｉｃｅｓと題する米国特許出願第１２／５０６，３９１号に関する。
【０００３】
本開示は、一般にデバイスおよびネットワークの仮想化に関し、より具体的にはネットワークで動作する低電力（ＬＰ）デバイスの機能を強化することに関する。
【背景技術】
【０００４】
ＬＰデバイスは典型的には、家庭用または商業用の設定でセンサおよび制御の機能を提供するように設計されている。こうしたデバイスは一般に、無線ネットワークを介して互いに通信することで、ホームオートメーション、セキュリティおよび監視などの機能を提供している。
【発明の概要】
【０００５】
本開示は、仮想デバイスコーディネータを有する仮想ネットワークで動作する仮想デバイスを低電力デバイスに関連付ける、コンピュータによって実施される方法について全般的に説明する。一部の例示的方法は、仮想デバイスコーディネータによって、低電力デバイスから低電力デバイス記述子を受信すること、および仮想デバイスコーディネータによって、受信された低電力デバイス記述子に基づいて低電力デバイス種別を判定することを含むことができる。仮想デバイスコーディネータは、判定された低電力デバイス種別および受信された低電力デバイス記述子に基づいて仮想デバイスを構成する。仮想デバイスコーディネータは、構成された仮想デバイスが低電力デバイスに関連付けられていることを示す関連性記録を記憶する。
【０００６】
本開示はまた、第１コンピュータで仮想ネットワークを動的に作成する方法について全般的に説明する。一部の例示的方法は、仮想デバイスコーディネータによって、要求元デバイスから低電力デバイスデータ要求を受信すること、および仮想デバイスコーディネータによって、受信された低電力デバイスデータ要求が仮想デバイスコーディネータによって管理されている低電力デバイスにアドレス指定されていると判定することを含むことができる。仮想デバイスコーディネータは、低電力デバイス要求が仮想デバイスコーディネータによって管理されている低電力デバイスにアドレス指定されていると判定されたときに、低電力デバイスに低電力デバイス記述子を要求し、低電力デバイスに低電力デバイス記述子を要求した後に、低電力デバイスから低電力デバイス記述子を受信する。仮想デバイスコーディネータは、受信された低電力デバイス記述子および受信された低電力デバイスデータ要求に基づいて仮想デバイスを作成する。
【０００７】
本開示はまた、仮想デバイスコンピューティングシステムについて全般的に説明する。仮想デバイスコンピューティングシステムの一部の例は、ネットワーク受信機、ネットワーク受信機に結合された仮想デバイスコーディネータ、および仮想デバイスコーディネータに結合されたコンピュータ可読メモリを含むことができる。ネットワーク受信機は、低電力デバイスから低電力デバイス記述子を受信するように構成される。仮想デバイスコーディネータは、受信された低電力デバイス記述子に基づいて低電力デバイスに仮想デバイスを関連付けるように構成される。コンピュータ可読メモリは、仮想デバイスと低電力デバイスとの関連性を示す１つまたは複数の関連性記録を記憶するように構成される。
【０００８】
本開示はまた、仮想デバイスコーディネータを有する仮想ネットワークで動作する仮想デバイスを低電力デバイスに関連付けるための製造品について全般的に説明する。一部の例示的な製造品は、低電力デバイスから低電力デバイス記述子を受信すること、および受信された低電力デバイス記述子に基づいて低電力デバイス種別を判定することを含む方法を実施するコンピュータ実行可能命令を保持するコンピュータ可読媒体を含むことができる。仮想デバイスは、判定された低電力デバイス種別および受信された低電力デバイス記述子に基づいて構成される。構成された仮想デバイスが低電力デバイスに関連付けられていることを示す関連性記録が記憶される。
【０００９】
上記の概要は、例示に過ぎず、決して限定的であることは意図されていない。上述の例示的な態様、実施形態および特徴に加えて、さらなる態様、実施形態および特徴が、図面および以下の詳細な説明を参照することにより明らかになろう。
【００１０】
本開示の上記の特徴および他の特徴は、添付の図面とともに行う以下の説明および添付のクレームからより十分に明らかになろう。これらの図面は、本開示によるいくつかの実施形態のみを示しており、よってその範囲を限定するものとみなすべきでないことを理解した上で、本開示について、以下の添付の図面を使用することで、さらに具体的かつ詳細に説明する。
【図面の簡単な説明】
【００１１】
【図１】本開示の少なくともいくつかの実施形態に従って配置された、仮想ネットワーキングシステムの例を示すシステム図である。
【図２】本開示の少なくともいくつかの実施形態に従って配置された、仮想ネットワーキングシステムの例を示すシステム図である。
【図３】本開示の少なくともいくつかの実施形態に従って配置された、ＬＰデバイスコンピューティングシステムから仮想デバイスコンピューティングシステムに渡されるデバイス記述子ファイルの例を示す図である。
【図４】本開示の少なくともいくつかの実施形態に従って配置された、ＬＰデバイスコンピューティングシステムから仮想デバイスコンピューティングシステムに渡される電力記述子ファイルの例を示す図である。
【図５】本開示の少なくともいくつかの実施形態に従って配置された、ＬＰネットワークのため仮想デバイスネットワークを作成するプロセスの例を示すシステム図である。
【図６】本開示の少なくともいくつかの実施形態に従って配置された、ＬＰデバイスによって提供された情報に基づいて仮想デバイスおよびアプリケーションを作成するための例示的なプロセスを示すシーケンス図である。
【図７】本開示の少なくともいくつかの実施形態に従って配置された、コンピューティングデバイスからの要求に基づいて仮想デバイスを動的に作成するための例示的なプロセスを示すシーケンス図である。
【図８】本開示の少なくともいくつかの実施形態に従って配置された、複数の仮想デバイスによって提供された情報に基づいて仮想デバイスセットを作成するための例示的なプロセスを示すシーケンス図である。
【図９】本開示の少なくともいくつかの実施形態に従って配置された、仮想デバイスをＬＰデバイスから切り離すための例示的なプロセスを示すシーケンス図である。
【図１０】本開示の少なくともいくつかの実施形態に従って配置された、仮想ネットワーキングシステムの代替構成の例を示すシステム図である。
【図１１】本開示の少なくともいくつかの実施形態に従って配置された、仮想ネットワーキングシステムの代替構成の例を示すシステム図である。
【図１２】本開示の少なくともいくつかの実施形態に従って配置された、仮想デバイスを使用してＬＰデバイスへの要求を処理する例示的なプロセスを示す、ＬＰデバイスがほぼ一定の電力を維持する場合のシーケンス図である。
【図１３】本開示の少なくともいくつかの実施形態に従って配置された、仮想デバイスを使用してＬＰデバイスへの要求を処理する例示的なプロセスを示す、ＬＰデバイスが周期的に電力供給される場合のシーケンス図である。
【図１４】本開示の少なくともいくつかの実施形態に従って配置された、仮想デバイスを使用してＬＰデバイスへの要求を処理する例示的なプロセスを示す、ＬＰデバイスの充電レベルが臨界レベルにある場合のシーケンス図である。
【図１５】本開示の少なくともいくつかの実施形態に従って配置された、仮想デバイスを使用して温度予測を生成するための例示的なプロセスを示す、関連ＬＰデバイスが通信可能ではない場合のシーケンス図である。
【図１６】本開示の少なくともいくつかの実施形態に従って配置された、仮想デバイスを使用して温度予測を生成するための例示的なプロセスを示す、関連ＬＰデバイスが通信可能である場合のシーケンス図である。
【図１７】本開示の少なくともいくつかの実施形態に従って配置された、仮想ネットワーキングシステムの実施態様を示すコンピュータアーキテクチャまたはシステムを示すブロック図である。
【発明を実施するための形態】
【００１２】
以下の詳細な説明では、本明細書の一部を形成する添付の図面を参照する。図面では、文脈によって別段規定されない限り、同様の記号は通常、同様の構成要素を識別する。詳細な説明、図面およびクレームで説明する例示的な実施形態は、限定的となるように意図されてはいない。本明細書で提示する主題の趣旨または範囲から離れることなく、他の実施形態を利用することができ、また他の変更を行うことができる。本明細書で全般的に説明し、図で示す本開示の態様を、多種多様な構成で編成、置換、結合および設計することができ、そのすべてが明示的に企図されており、本開示の一部をなすことが容易に理解されよう。
【００１３】
統一モデリング言語（ＵＭＬ）を使用して、方法およびシステムをモデル化および／または説明すること、ならびにその機能および内部運用を一層理解するための、また標準表記法を使用する外部の構成要素、システムおよび人々とのインターフェースについて説明するための土台を提供することができる。ユースケース図、クラス図およびアクティビティ図を含むがこれらに限定されないＵＭＬ図は、本明細書で使用される際、本発明の実施形態を説明するのを助ける役割を果たすことが意図されているが、その実施態様を何らかの特定のハードウェアまたはソフトウェア実装に制限するものではない。
【００１４】
本開示は特に、仮想デバイスコンピューティングシステムの実施態様による低電力（ＬＰ）デバイスネットワークの仮想化に関係する方法、装置、コンピュータプログラムおよびシステムを対象とする。本明細書で使用する用語「コンピューティングシステム」は一般に、物理的であるか仮想的であるかを問わず、デバイス内またはデバイス間の通信を容易にするためのネットワークまたは他の通信媒体もしくは通信プロトコルを介して結合または相互接続されたコンピューティングデバイスのうちの１つまたは複数を指すことがある。
【００１５】
手短に言えば、本開示の複数の実施形態は、デバイスの仮想化により関連ＬＰデバイスコンピューティングシステムの機能をサポート、エミュレートおよび／または補完するように構成された仮想デバイスコンピューティングシステムを含むことができる。デバイスの仮想化は一般に、ＬＰデバイスの機能をサポート、エミュレートおよび／または補完する１つまたは複数のソフトウェアモジュールの使用を指すことがある。特定のデバイスに関連付けられたソフトウェアモジュールを総称して「仮想デバイス」と呼ぶことができる。
【００１６】
図１は、本開示の少なくとも一部の実施形態による仮想ネットワーキングシステム１０の例を示すシステム図である。図１では、仮想デバイスコンピューティングシステム１１０は、ＬＰデバイス１０２に関する記述的情報を受信するためＬＰデバイスコンピューティングシステム１００と通信するように構成され得る。仮想デバイスコンピューティングシステム１１０は、ＬＰデバイスコンピューティングシステム１００と対話するように適合された仮想デバイスコーディネータ１１９を含むことができる。仮想デバイスコーディネータ１１９は、ＬＰデバイス１０２から受信した記述的情報に基づいて、ＬＰデバイス１０２の機能をサポート、エミュレートおよび補完するように仮想デバイス１１２を作成または構成することができる。仮想デバイス１１２は、データベース１５３に結合することができ、それにより仮想デバイス１１２は、例えばＬＰデバイス１０２に関係するデータを記憶することができる。また、仮想デバイスコンピューティングシステム１１０および／または仮想デバイスコーディネータ１１９はネットワーク１２０に結合することができ、それにより、ＬＰデバイスコンピューティングシステム１００の外部で動作しているコンピューティング１３０との通信を容易にすることができる。こうして、ネットワーク１２０を通じて、コンピューティングデバイス１３０は、仮想デバイスコーディネータ１１９との通信を介した仮想デバイス１１２との対話を通じて、ＬＰデバイス１０２に関する情報を求める要求を送信し、かかる情報を受信することができる。
【００１７】
図１のＬＰデバイス１０２のようなＬＰデバイスは、無線パーソナルエリアネットワーク（ＰＡＮ）により（例えば、低電力デジタル無線を介して）通信するように構成され得るデバイス、システム、装置または機器であってよい。ＬＰデバイスは、家庭用または商業用の設定でセンサおよび制御の機能を提供するように適合され得る。ＬＰデバイスの例は、照明制御モジュール、温度センサモジュール、温度制御ユニット、エネルギーモニタ、水センサ、煙および火災検出器、動き検出器、ビデオ監視ユニットおよび高度遠隔制御装置を含むことができ、これらに限定されない。
【００１８】
ＬＰデバイスは、比較的少ない電力消費および短い伝送待ち時間といった特性により、他の無線ネットワーキング技術から区別され得る。電力消費に関して、ＬＰデバイスはバッテリ電力に依拠することができる。したがって、ＬＰデバイスは、最低限の電力で動作し、アクティブでないときに「スリープ」モードに入ることによってバッテリ寿命を最長化するように構成され得る。さらに電力消費を制限し、個々のデバイスのコストを減らすため、ＬＰデバイス標準は、ＬＰデバイスがサポートできる帯域幅に対するおおよその上限を設定することができる。例えば、「ＺｉｇＢｅｅ」標準は、帯域幅を約２５０ｋｂｐｓに制限している。伝送待ち時間に関して、ＬＰデバイスは、ＬＰデバイス間のメッセージ送信に必要な時間をほぼ最小限に抑えるように設計され得る。帯域幅に対する制限および待ち時間を最小限に抑えるという目標から、ＬＰデバイスは転送できるデータの量が制限されることがある。したがって、ＬＰデバイス間で通信するのに使用されるメッセージのサイズは、Ｗｉ−ＦｉおよびＷｉＭａｘといった他の無線技術と比べて小さいことがある。
【００１９】
引き続き図１を参照すると、ＬＰデバイスコンピューティングシステム１００のＬＰデバイス１０２は、ＬＰデバイス動作に関する情報を送受信するため仮想デバイスコーディネータ１１９と通信するように適合され得る。仮想デバイスコーディネータ１１９は、ＬＰデバイスコンピューティングシステム１００から受信した情報（例えば、記述子ファイル）に基づいて仮想デバイスコンピューティングシステム１１０を作成および管理するように構成されたハードウェアとソフトウェアとの組合せであってよい。一部の実施形態では、仮想デバイスコーディネータ１１９は、仮想デバイスコーディネータソフトウェア、コンピュータ可読メモリ、１つもしくは複数のネットワーク接続、１つもしくは複数の処理ユニットおよび／またはデータベースのうちの１つまたは複数を備えることがある。仮想デバイスコーディネータ１１９に割り当てられたコンピューティングリソースを仮想デバイスコーディネータ１１９は排他的に利用すること、またはリソースを多重処理コンピューティング環境で共有することができる。一部の実施形態では、仮想デバイス１１２を、仮想デバイスコンピューティングシステム１１０に含めることができ、かつ仮想デバイスコーディネータ１１９と同じコンピュータで実行することができる。他の実施形態では、仮想デバイス１１２および仮想デバイスコーディネータの実行を２つ以上のコンピュータに分けることができる。
【００２０】
一部の実施形態では、仮想デバイスコーディネータ１１９は、ＬＰデバイスコンピューティングシステム１００から受信した記述子ファイルを使用して、ＬＰデバイス１０２で利用できる機能をサポート、エミュレートおよび／または補完する１つまたは複数のソフトウェアモジュールを作成することができる。個別のＬＰデバイスに関連付けられたソフトウェアモジュールを総称して「仮想デバイス」と呼ぶことができる。したがって、例えば、ＬＰデバイス１０２が温度センサである場合、仮想デバイス１１２は仮想温度センサであり得る。仮想デバイス１１２は、ＬＰデバイスアーキテクチャによって示されたハードウェア制限を超える強化された機能を提供できるハードウェア環境で動作するように設計可能である。例えば、仮想デバイス１１２は、ＬＰデバイス１０２よりはるかに大きな記憶領域（例えば、図１のデータベース１５３）、および仮想デバイス１１２がほぼ連続的に動作できるようにする電源にアクセスすることができる。加えて、仮想デバイス１１２は、ＬＰデバイス１０２では都合良く使用することができないプロトコルによって実施されるセキュリティ、認証、翻訳、構成および管理に関するソフトウェアおよびハードウェア標準を活用するように適合され得る。
【００２１】
引き続き図１を参照すると、ＬＰデバイス１０２は、例えば温度センサモジュールであってよい。かかるデバイスは、一定の間隔をおいて温度測定を行い、その測定をＬＰデバイスコンピューティングシステム１００を介して他のＬＰデバイス（図１には示されていない）に通信するように構成されてもよい。過去の温度測定の記録を維持するといった他の機能は、ＬＰデバイス１０２では利用できないこともある。かかる機能を提供するため、仮想デバイスコーディネータ１１９は、ＬＰデバイス１０２の動作特性を判定するように構成されてもよく、そうした特性をサポート、エミュレートおよび／または補完するように仮想デバイス１１２を構成することができる。仮想デバイス１１２は、例えば、ＬＰデバイス１０２による測定を、仮想デバイス１１２に結合され得るデータベース１１３に記録するように構成されてもよい。こうして、ＬＰデバイスコンピューティングシステム１００の外部にあるコンピューティングデバイス１３０は、温度センサモジュール１０２による過去の温度測定の記録を受信するために（例えば、仮想デバイスコーディネータ１１９を介して）仮想デバイスコンピューティングシステム１１０と通信するように適合され得る。以下でより詳しく説明するように、仮想デバイスコンピューティングシステム１１０は、仮想デバイスコーディネータ１１９によって調整された、複数の仮想デバイス（図１には示されていない）間の対話および通信を容易にするように構成されてもよいことを理解されたい。
【００２２】
図２は、本開示の少なくとも一部の実施形態による仮想ネットワーキングシステム２０の例を示すシステム図である。図２の仮想ネットワーキングシステム２０は、複数のＬＰデバイスの機能をサポート、エミュレートおよび／または補完することができる複数の仮想デバイスを備える。図２では、仮想ネットワーキングシステム２０は、１つまたは複数のＬＰデバイス１０２、１０４、１０６および１０８（それぞれ「Ｌ１」、「Ｌ２」、「Ｌ３」および「Ｌ４」と称する）ならびにＬＰデバイスコーディネータ１０９（「ＬＣ」と称する）を備えるＬＰデバイスコンピューティングシステム１００を含むことができる。仮想ネットワーキングシステム２０はまた、１つまたは複数の仮想デバイス１１２、１１４、１１６および１１８（それぞれ「Ｖ１」、「Ｖ２」、「Ｖ３」および「Ｖ４」と称する）ならびに仮想デバイスコーディネータ１１９（「ＶＣ」と称する）を備える仮想デバイスコンピューティングシステム１１０を含むことができる。ＬＰデバイス１０２、１０４、１０６および１０８は、ＬＰデバイス通信用に特別に設計されたネットワークプロトコルを含む、当技術分野で一般に知られている無線プロトコルを使用してＬＰデバイスコンピューティングシステム１００内で互いに通信するように編成可能である。例えば、ＺｉｇＢｅｅネットワークでは、ＬＰデバイスはＩＥＥＥ８０２．１５．４無線プロトコルを使用して通信することができる。一部のネットワーク構成では、ＬＰデバイスコーディネータ１０９は、ネットワーク知識を維持して、ＬＰデバイス１０２、１０４、１０６および１０８の間での通信を容易にするように編成されることがある。一部の実施形態では、ＬＰデバイスコーディネータ１０９の機能は１つのＬＰデバイスに含まれ得る。例えば、ＺｉｇＢｅｅネットワークでは、任意のＬＰデバイスがＬＰデバイスコーディネータとして動作することができる。したがって、一部の実施形態では、ＬＰデバイスコーディネータ１１９はＬＰデバイスでもある。
【００２３】
図２の例では、ＬＰデバイス１０２は、ＬＰネットワークインターフェース１４４を介してＬＰデバイスコンピューティングシステム１００と通信するセンサアプリケーション１４２を備えるＬＰ温度センサデバイス１４０であり得る。ＬＰネットワークインターフェース１４４を通じて、ＬＰデバイス１０２は、ＬＰデバイス１０４、１０６、１０８および１０９に対して、ＬＰデバイス１０２で温度センサアプリケーション１４２が実行されていることを示す記述子ファイルを送信するように編成可能である。記述子ファイルを、ＬＰデバイスコンピューティングシステム１００から仮想デバイスコンピューティングシステム１１０へ、２つのコンピューティングシステム１００、１１０の間の通信リンク１６０を通じてさらに送ることができる。記述子ファイルに含まれている情報に基づいて、仮想デバイスコーディネータ１１９は、ＬＰデバイス１０２で利用できる機能をサポート、エミュレートおよび補完するように仮想デバイス１１２を構成することができる。
【００２４】
引き続き図２を参照すると、仮想デバイス１１２は、仮想温度センサデバイス１５０によってＬＰデバイス１０２をサポート、エミュレートおよび／または補完するように構成され得る。仮想温度センサデバイス１５０は、ＬＰデバイス１０２で作動するセンサアプリケーション１４２に関連付けられた仮想デバイス１１２で作動する仮想センサアプリケーション１５４を含むことができる。仮想センサアプリケーション１５４は、ＬＰデバイス１０２の状態情報を記録すること、温度データの過去の解析および将来の予測を提供すること、ならびに温度データの操作および変換を含み、これらに限定されない様々な機能を実行するように構成されてもよい。仮想温度センサデバイス１１２に関連付けられたデータベース１５３は、仮想センサアプリケーション１５４によって収集および生成された情報を記憶するように編成され得る。仮想温度センサデバイス１５０はまた、ＴＣＰ／ＩＰ接続を介して他のデバイスに接続するためのＴＣＰ／ＩＰインターフェース１５１を含むことができる。例えば、ネットワーク１２０を介してコンピューティングデバイス１３０に対し、ＴＣＰ／ＩＰであり得る（以下でより詳しく論じる）ネットワーク接続１８０によりデータを通信することができる。同様に、仮想温度センサデバイス１５０は、ＬＰデバイスコンピューティングシステム１００と直接的にインターフェースをとるためのＬＰネットワークインターフェース１５２を含むことができる。
【００２５】
一部の実施形態では、仮想デバイス１１２、１１４、１１６および１１８は、１つもしくは複数の物理的コンピューティングデバイス上で、または１つもしくは複数の物理的コンピューティングデバイスによって実施されることがある。他の実施形態では、複数の仮想デバイスは、単一の物理的コンピューティングデバイス上で実施される。したがって、仮想機械は、例えばプロセッサ、１つもしくは複数のハードドライブおよび／またはネットワーク接続を含むハードウェアアーキテクチャを共有することができる。また、コンピューティングデバイス上での仮想デバイス１１２、１１４、１１６および１１８の一部または全部の実施態様は、それらの機能要件に基づくことができる。例えば、複数の種類の仮想デバイス（例えば、大量の記憶を必要とする種類もあれば、少量のデータを記憶する種類もある）を有する仮想ネットワークでは、様々な種類の仮想デバイスの実行を、特定の物理的コンピュータでのメモリ使用をほぼ最大化するグループ単位で複数の物理的コンピュータに分散することができる。
【００２６】
一部の実施形態では、仮想デバイス１１２、１１４、１１６および１１８はコンピュータ上で動作する仮想機械で実行できる。仮想機械は、例えば十分に機能するオペレーティングシステムをサポートすることができる完全なシステムプラットフォームを提供することができる。ＶＭｗａｒｅ、Ｍｉｃｒｏｓｏｆｔ  Ｖｉｒｔｕａｌ  ＰＣおよびＰａｒａｌｌｅｌｓといった商用ソフトウェアを使用して、各ハードウェア仮想機械をホストすることができる。仮想機械の利点は、互いにはっきり分離した状態で単一のコンピュータ上に複数のオペレーティングシステム環境が存在し得ることである。したがって、一実施形態では、複数の仮想デバイスが単一のコンピュータ上の複数の仮想機械で作動することができる。これにより仮想機械は、例えばコンピュータの利用可能なメモリおよびそのネットワーク接続を衝突することなく共有することができる。他の実施形態では、仮想機械は複数の仮想コンピューティングシステム構成をサポートする複数のコンピュータに分散され得る。したがって、仮想コンピューティングシステム１１０のコンピューティングリソースは、関連ＬＰデバイスコンピューティングシステム１００のコンピューティングリソースと同様の規模とすることができる。
【００２７】
一部の実施形態では、仮想デバイスとＬＰデバイスとの間に１対１の対応があり得る。例えば、図２を参照すると、仮想デバイス１１２、１１４、１１６および１１８は、それぞれＬＰデバイス１０２、１０４、１０６および１０８に関連付けることができる。加えて、仮想デバイスコーディネータ１１９はＬＰデバイスコーディネータ１１９に関連付けることができる。他の実施形態では、１つの仮想デバイスは、複数のＬＰデバイスで利用可能な機能をサポート、エミュレートおよび／または補完することができる。ＬＰデバイスの数と仮想デバイスの数との対応は、ＬＰコンピューティングシステムの複雑性、仮想デバイスが利用できる計算リソース、または可能ネットワークを管理する管理者の好みといった要素に基づいて選択できる。複数のＬＰデバイスが単一の仮想デバイスに関連付けられる場合、仮想デバイスは、ＬＰデバイス間で区別するためＬＰデバイスによって提供される識別子を使用するように適合可能である。
【００２８】
引き続き図２を参照すると、仮想デバイスコンピューティングシステム１１０は、少なくとも１つのネットワーク接続を通じてＬＰデバイスコンピューティングシステム１００と結合できる。図２に示されているように、ＬＰデバイスコーディネータ１０９と仮想デバイスコーディネータ１１９との間に単一のネットワーク接続１６０があり得る。他の実施形態（例えば、図３および図４に示されている）では、ＬＰデバイスコンピューティングシステム１００と仮想デバイスコンピューティングシステム１１０との間の接続は、ＬＰデバイス１０２、１０４、１０６、１０８、ＬＰデバイスコーディネータ１０９、仮想デバイス１１２、１１４、１１６、１１８および仮想デバイスコーディネータ１１９の任意の組合せの間のものであってよい。一部の実施形態では、ネットワーク接続１６０は、ＬＰデバイスによって使用される同じネットワーキングプロトコルを使用して実施できる。例えば、ＬＰデバイスがＩＥＥＥ８０２．１５．４−２００６準拠の低速無線パーソナルエリアネットワークで動作する場合、ネットワーク接続１６０は、ＩＥＥＥ．８０２．１５．４−２００６標準をサポートする。翻訳機能を仮想デバイスコーディネータ１１９で、または仮想デバイス１１２、１１４、１１６および１１８で実施して、仮想デバイスコンピューティングシステム１１０に適合するフォーマットにデータをフォーマットすることができる。頑強なインターフェースを提供するため、様々なＬＰパケットフォーマットを処理する翻訳機能が提供され得る。例えば、インターフェース１５２は、ＺｉｇＢｅｅ、ＷｉｒｅｌｅｓｓＨＡＲＴおよびＭｉＷｉといったＬＰデバイス仕様に従いフォーマットされたデータを処理する機能を有することがある。
【００２９】
図２では、ネットワーク１２０を介して仮想デバイスコーディネータ１１９と通信するコンピューティングデバイス１３０が示されている。ネットワーク１２０は、インターネット、イントラネット、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、メトロポリタンエリアネットワーク（ＭＡＮ）、直接接続または一連の接続、ケーブルＴＶインフラストラクチャ、セルラ電話ネットワークまたはその他のネットワーク、デバイス間の通信を促進できる伝送チャネルまたは媒体、仮想ネットワーキングシステム１０のモジュールおよび他の構成要素を含む、当技術分野で一般に知られている任意のネットワークまたはシステムであってよい。ネットワーク１２０は、有線、無線またはこれらの組合せであり得る。有線接続は、イーサネット（登録商標）、ユニバーサルシリアルバス（ＵＳＢ）、ＲＪ−１１または当技術分野で一般に知られているその他の任意の有線接続を使用して実施できる。無線接続は、Ｗｉ−Ｆｉ、ＷｉＭＡＸ、ブルートゥース、赤外線、セルラネットワーク、衛星または当技術分野で一般に知られているその他の任意の無線接続方法を使用して実施できる。ネットワーク１２０は、クライアント−サーバ、トークンリング、ピアツーピア方式、または当技術分野で知られているその他の任意のネットワークトポロジで実施できる。加えて、複数のネットワークは単独で活動するか、互いに通信してネットワーク１２０での通信を容易にすることができる。ＥＤＧＥ、３Ｇおよび／またはＩＥＥＥ８０２．１１標準通信プロトコルなど、様々なデバイスおよび他のネットワークがネットワーク１２０と通信するのを容易にするため、様々なネットワーキング標準プロトコルを用いることができる。
【００３０】
仮想デバイスコンピューティングシステム１１０に関連付けられたネットワーク接続は、利用可能なコンピューティングおよびネットワーキングリソースならびにＬＰデバイスコンピューティングシステム１００におけるデバイスの動作ニーズに応じて、多くの方法で構成され得る。特定の仮想デバイスに関連付けられたＬＰデバイスに対して情報を要求する場合、当該仮想デバイスは、デバイスコーディネータ１０９、１１９を通じて要求を送信することができる。例えば、仮想デバイス１１２は、仮想デバイスコーディネータ１１９に要求を送信することによって、ＬＰデバイス１０２に対してデータを要求することができる。仮想デバイスコーディネータ１１９はＬＰデバイスコーディネータ１０９に要求を送信するように編成可能であり、次いでＬＰデバイスコーディネータ１０９はＬＰデバイス１０２に要求を送ることができる。ＬＰデバイス１０２は逆方向の通信経路で仮想デバイス１１２に応答することができる。
【００３１】
ネットワークを通じてデータを送受信することが一般に可能な任意のデバイス１３０は、仮想デバイスコンピューティングシステム１１０と通信するように構成され得る。例えば、図２を参照すると、コンピューティングデバイス１３０は、ネットワーク１２０およびネットワーク接続１８０を通じて仮想デバイスコーディネータ１１９と通信するように構成されてもよい。コンピューティングデバイス１３０は一般に、仮想デバイスコンピューティングシステム１１０と通信すること、ならびにＬＰおよび仮想コンピューティングシステム１００、１１０の両方の外で（すなわち、ＬＰおよび仮想コンピューティングシステム１００、１１０のいずれにも含まれない）動作することが可能な任意のデバイスであり得る。適切なデバイスの例は、携帯情報端末（ＰＤＡ）、セル電話（スマートフォンを含む）、パーソナルコンピュータ（ＰＣ）、およびビデオゲームシステムを含み、これらに限定されない。
【００３２】
ＬＰデバイス１０２、１０４、１０６および１０８は、ブロードキャストまたはユニキャストアドレスでＬＰデバイスコーディネータ１０９からデバイス発見要求（以下でより詳しく論じる）を出すことによって発見され得る。同様に、デバイスでいかなるサービスが利用できるかを判定するため、ＬＰデバイスコーディネータ１０９からＬＰデバイス１０２、１０４、１０６および１０８のうちの１つまたは複数に対しサービス発見要求（以下でより詳しく論じる）を送信することができる。ＬＰデバイスは、要求を出したデバイスに１つまたは複数の記述子ファイルを送信することによって、デバイス発見要求またはサービス発見要求に応答することができる。また、様々な種類の記述子ファイルが存在することがあり、各種類はＬＰデバイスに関する異なる情報を提供する。例えば、ＺｉｇＢｅｅでは、デバイスは５つの記述子ファイル種類、すなわち、ノード記述子、ノード、電力記述子、単純な記述子（ｓｉｍｐｌｅ  ｄｅｓｃｒｉｐｔｏｒ）、複雑な記述子（ｃｏｍｐｌｅｘ  ｄｅｓｃｒｉｐｔｏｒ）のうちの１つで記述することができる。
【００３３】
図３は、本開示の少なくとも一部の実施形態による、ＬＰデバイスコンピューティングシステム１００から仮想デバイスコンピューティングシステム１１０に渡されるデバイス記述子ファイル６００の例を示す図である。ＬＰデバイスは、デバイス発見要求に応じてデバイス記述子ファイル６００を送信することができる。図３に示すファイル６００のフォーマットは、ＺｉｇＢｅｅプロトコルによって使用されるフォーマットに類似しているが、任意のファイルフォーマットを使用することができる。図３の例では、ファイル６００に関連付けられたＬＰデバイスはＬＰランプデバイス（不図示）である。例示的なデバイス記述子６００は、ＬＰデバイスの性質（すなわち、ＬＰデバイスはオンまたはオフにすることができるライトである）を示すデバイス識別子６０２を含むことができる。プロファイル識別子６０４は、ＬＰランプデバイスがホームオートメーションデバイスに分類されることを示すことができる。プロファイル識別子６０４は、例えば、どのように情報をＬＰデバイスと交換するか判断するために使用できる。クラスタ値６０６は、ＬＰデバイスに送信され得るコマンド種類およびコンピューティングデバイスによってアクセス可能なデバイスの属性を識別することができる。クラスタ値を使用して低電力デバイスのグループを指すこともできる。例えば、複数のランプが同じクラスタに属する場合、それらはすべて、個々のデバイスではなくクラスタとの対話でオフにされ得る。図３の例では、ＬＰランプデバイスは「オン」または「オフ」のコマンドを受信することができる。クラスタ識別子６０６を使用して、ランプからどのような種類の応答を期待すべきかを判定することもできる。エンドポイントフィールド６０８を用いて、ＬＰランプデバイスの一意識別子を提供することができる。一部の実施形態では、デバイス記述子６００の一部としてＬＰデバイスから他の形式の記述的情報も送信されることに留意されたい。例えば、ＬＰデバイスは、その製造業者、モデル名および通し番号などの情報を共有するように構成されてもよい。また、図３に関して説明したフィールド６０２、６０４、６０６および／または６０８のうちの１つまたは複数は、ＬＰランプデバイスによって送信されたデバイス記述子ファイル６００に存在しないこともある。
【００３４】
図４は、本開示の少なくとも一部の実施形態による、ＬＰデバイスコンピューティングシステム１００から仮想デバイスコンピューティングシステム１１０に渡される電力記述子ファイル７００の例を示す図である。図４の電力記述子ファイル７００は、図３のデバイス記述子ファイル６００に対応する。ＬＰデバイスは、デバイス発見要求に応じて電力記述子ファイル７００を送信することができる。電力記述子ファイル７００は、例えば、ＬＰランプデバイスに電力を供給するために使用される現在の電源が充電式バッテリＡであること、およびＬＰランプデバイスに電力を供給するために充電式バッテリＢも利用可能であることを（この例では）示す利用可能な電源フィールド７０４および現在の電源フィールド７０６を含むことができる。加えて、電源レベルフィールド７０８は、充電式バッテリＡが完全に充電されていることを示すことができる。現在の電力モードフィールド７０２は、ＬＰデバイスが動作するように現在どのように構成されているかを示すことができる。この例では、ＬＰデバイスは周期的に電力供給されるように構成できる。また、図４に関して説明したフィールド７０２、７０４、７０６および７０８のうちの１つまたは複数は、ＬＰランプデバイスによって送信された電力記述子ファイル７００に存在しないこともある。
【００３５】
図５は、本開示の少なくとも一部の実施形態による、ＬＰネットワークのために仮想デバイスネットワークを作成するプロセスの例を示すシステム図である。図５の例では、ＬＰデバイスコンピューティングシステム１００（例えば、温度センサ、煙検出器および２つのランプ）に４つのＬＰデバイス１０２、１０４、１０６および１０８（それぞれ「Ｌ１」、「Ｌ２」、「Ｌ３」、「Ｌ４」と称する）がある。例示的なデバイス種類がキー５０６で提示されている。また、ＬＰデバイスコンピューティングシステム１００には、ＬＰデバイス１０２、１０４、１０６および１０８を調整するように適合可能なＬＰコーディネータデバイス１０９もある。初期オペレーション５００では、仮想デバイスコンピューティングシステム１１０の仮想デバイスコーディネータ５１９は、サービス発見要求をＬＰデバイスコーディネータ１０９に送信することによって仮想ネットワーク作成プロセスを開始するように適合され得る。ステップ５０１では、ＬＰデバイスコーディネータ１０９は、ＬＰデバイスコンピューティングシステム１００のＬＰデバイス１０２、１０４、１０６および１０８にサービス発見要求を送信するように適合され得る。ＬＰデバイス１０２、１０４、１０６および１０８は、ＬＰデバイスコーディネータ１０９に１つまたは複数の記述子ファイルを送信するように構成されてもよい。現在利用できないデバイスについては、ＬＰデバイスコーディネータ１０９は、最後に把握された構成を使用して利用不可能なデバイスの記述子ファイルを生成することができる。これは、例えば、サービス発見要求が出された時点でデバイスの電源がオフになっていた場合に生じ得る。ステップ５０２では、ＬＰデバイスコーディネータ１０９は、仮想デバイスコーディネータ５１９に記述子ファイルを送信するように編成できる。記述子ファイルが仮想デバイスコーディネータ５１９によって受信されると、ファイルに含まれている情報を構文解析して、例えば、ＬＰコンピューティングシステム１００に何個のＬＰデバイスが存在するか、かかるデバイス向けにどのようなアプリケーションが存在するか、およびかかるデバイスの電力特性を判定することができる。この情報に基づいて、仮想デバイスをステップ５０３、５０４および５０５で作成することができる。例えば、ステップ５０３では、仮想デバイスコーディネータ５１９は、ＬＰコンピューティングシステム１００で動作するＬＰ温度センサデバイス１０２に関して提供された情報に基づいて仮想デバイスＶ１  ５１２を作成するように編成可能である。同様に、仮想デバイスＶ２  ５１４は、ステップ５０４で、ＬＰ煙検出器デバイス１０６に関して集められた情報に基づいて作成され得る。
【００３６】
図５の例では、複数のＬＰデバイスをサポート、エミュレートおよび／または補完するように仮想デバイスを作成および構成することもできる。例えば、ステップ５０５では、仮想デバイスＶ３  ５１６は、ＬＰデバイスコンピューティングシステム１００で動作する２つのランプ１０４および１０８に関して提供された情報に基づいて作成できる。したがって、この例では、仮想デバイスコーディネータ５１９は、単一の仮想デバイス５１６がＬＰデバイス１０４、１０８の両方を効果的にサポートできると判定することができる。例えば、ランプ１０４、１０８の両方は、同じコマンドを受け入れ、動作するための最低電力を求めるように構成され得る。したがって、効率化のため、２つのアプリケーションを作成することができ、メッセージ生成機能を共有することができる。デバイス記述子ファイル６００のエンドポイントフィールド７０８（例えば、図３参照）で提供される一意識別子を使用して、単一の仮想デバイス５１６で作動する異なるＬＰデバイス１０４、１０８に関連付けられる２つのアプリケーションを区別することができる。
【００３７】
図６は、本開示の少なくとも一部の実施形態による、ＬＰデバイスによって提供された情報に基づいて仮想デバイスおよびアプリケーションを作成するための例示的なプロセスを示すシーケンス図である。仮想デバイスコーディネータ１１９は、ＬＰデバイスコンピューティングシステム１００のＬＰデバイスの特性を記述することができる記述子ファイルを求める要求をＬＰデバイスコーディネータ１０９に送信するように編成できる。ＬＰデバイスコーディネータ１０９は、デバイス記述子要求および／または電力記述子要求をＬＰ温度センサデバイス１０２に送信するように構成されてもよい。これに応じて、ＬＰ温度センサデバイス１０２はデバイス記述子ファイルおよび電力記述子ファイルをＬＰデバイスコーディネータ１０９に送信することができ、次いでＬＰデバイスコーディネータ１０９はかかるファイルを仮想デバイスコーディネータ１１９に送ることができる。仮想デバイスコーディネータ１１９は、受信された情報に基づいて、仮想温度センサデバイス１１２を作成すべきだと判定し得る。仮想デバイスコーディネータ１１９は、仮想温度センサデバイスが現時点で存在しないと判定することができ、次いでかかるデバイスを作成することができる。随意に、仮想デバイスコーディネータ１１９は、ＬＰ温度センサデバイス１０２との関連性を示すため仮想温度センサデバイスで作動する１つまたは複数のソフトウェアモジュールに一意識別子を割り当てることができる。
【００３８】
一部の実施形態では、仮想デバイスはＬＰデバイスデータを求める要求に基づいて作成できる。したがって、仮想デバイスは「必要に応じて」作成可能であり、それにより仮想デバイスに対応している（１つまたは複数の）コンピュータのリソースを節約する可能性がある。
【００３９】
図７は、本開示の少なくとも一部の実施形態に従い、コンピューティングデバイスからの要求に基づいて仮想デバイスを動的に作成するための例示的なプロセスを示すシーケンス図である。図７では、仮想デバイスコーディネータ１１９は、ＬＰデバイスコンピューティングシステム１００の外部に位置することのあるコンピューティングデバイス１３０から温度センサデータを求める要求を受信する。仮想デバイスコーディネータ１１９は、要求がＬＰ温度センサデバイス１０２にアドレス指定されていると判定するように構成され得る。この判定は、例えば、コンピューティングデバイス１３０からのセンサ要求における宛先値を調べることによって行うことができる。仮想デバイスコーディネータ１１９は、温度センサ要求を処理できる仮想デバイスがあるか否か判定するため仮想デバイスコンピューティングシステム１１０を評価するように適合可能である。かかるデバイスが存在しない場合、仮想デバイスコーディネータ１１９はＬＰ温度センサデバイス１０２と直接的にまたはＬＰコーディネータ１０９（不図示、図２参照）を通じて交信して、適切なＬＰデバイス１０２からデバイス記述子データを取り出すことができる。デバイス記述子データを仮想デバイスコーディネータ１１９が使用して、仮想温度センサデバイス１１２を作成することができる。仮想デバイスコーディネータ１１９は、ＬＰ温度センサデバイス１０２をサポート、エミュレートおよび／または補完するように構成された仮想温度センサデバイス１１２を作成するように編成可能であり、あるいは、仮想デバイスコーディネータ１１９は、仮想デバイスが一般に必要とする最低限の機能を提供できる汎用仮想デバイスを作成するように編成可能である。図７の例では、仮想温度センサデバイス１１２を作成することができる。ＬＰ温度センサデバイス１０２をサポートするように仮想温度センサデバイス１１２を構成するために、仮想温度センサデバイスは、記述子ファイルを受信してＬＰ温度センサデバイス１０２の機能特性を判定するために、ＬＰ温度センサデバイス１０２と通信するように適合可能である。かかる記述子ファイルに基づいて、仮想温度センサデバイス１１２は、その構成ソフトウェアモジュールのうちの１つまたは複数を、ＬＰアプリケーションをサポート、エミュレートまたは補完するように構成することができる。仮想デバイスコーディネータ１１９は、作成された仮想温度センサデバイス１１２にセンサデータ要求を転送するように編成可能である。
【００４０】
一部の実施形態では、仮想デバイスが作成されると、仮想デバイスは（１つまたは複数の）関連ＬＰデバイスおよびＬＰデバイスコーディネータとの通信を継続して、関連ＬＰデバイスの動作状態に関する情報を保持することができる。例えば、仮想デバイスは、仮想デバイスコーディネータまたは（１つもしくは複数の）関連ＬＰデバイスに対して記述子ファイルを繰り返し要求するように構成されてもよい。この情報は、例えば、デバイスがオンであるかオフであるか、デバイスが現時点で臨界電力で作動しているか、またはデバイスが十分に充電されているかを示すことができる。この情報を仮想デバイスが使用して、ＬＰデバイスに関連する動作状態を保持することができる。例えば、仮想デバイスが温度データを求める要求を受信した場合、仮想デバイスはＬＰ温度センサデバイスの動作状態をチェックすることができる。仮想デバイスは、ＬＰデバイスの電源が現時点でオフになっていると判定した場合、仮想デバイスに記憶されているデータで要求に応じることができる。
【００４１】
一部の実施形態では、各仮想デバイスにＬＰデバイスの動作状態情報を保持させるのではなく、仮想デバイスコーディネータが、ＬＰデバイスコンピューティングシステムの１つまたは複数のＬＰデバイスの動作状態を保持するように構成され得る。この情報は、例えば、ＬＰデバイスコーディネータとの通信を通じて、またはＬＰデバイスコンピューティングシステムの１つまたは複数のＬＰデバイスとの直接的な通信を通じて収集できる。仮想デバイスコンピューティングシステムの仮想デバイスは、仮想デバイスコーディネータから動作状態情報を取り出すように構成され得る。
【００４２】
一部の実施形態では、仮想デバイスはＬＰデバイス種別をサポートするように構成できる。したがって、同様に分類されたＬＰデバイスは、同じ仮想デバイスによってサポート可能である。種別は、ＬＰコンピューティングシステムにおける各ＬＰデバイスについて、記述子ファイルにおけるＬＰデバイスによって提供された記述子情報に基づいて判定される。種別は、１つまたは複数のデバイス特性に基づいて作ることができる。一部の実施形態では、単一の製造業者からのデバイスは単一の仮想デバイスに関連付けることができる。他の実施形態では、種別は、デバイスで利用可能な機能を示すことができる。この種の種別の例は、ホームオートメーション機能、通信機能、モバイルサービス機能、産業管理機能（ｉｎｄｕｓｔｒｉａｌ  ｍａｎａｇｅｍｅｎｔ  ｆｕｎｃｔｉｏｎａｌｉｔｙ）、マルチメディア制御機能、照明制御機能、エネルギー制御機能および温度制御機能を含み、これらに限定されない。例えば、図３を再び参照すると、デバイス記述子ファイル７００を使用して、デバイス記述子ファイル７００のプロファイル識別子値７０４に基づいてホームオートメーション機能を提供するものにＬＰデバイス１０２を分類することができる。デバイスはまた、例えば、電力使用など動作特性や、デバイスクラスタに含まれることによって分類できる。
【００４３】
図８は、本開示の少なくとも一部の実施形態に従い、複数の仮想デバイスによって提供された情報に基づいて仮想デバイスセットを作成するための例示的なプロセスを示すシーケンス図である。図８の例では、仮想デバイスコーディネータ１１９は、ＬＰデバイスコーディネータ１０９にファイル記述子を要求するように編成できる。一部の実施形態では、要求は対応するＬＰデバイスに直接的に送信されることがある。図８の例では、ＬＰデバイスコーディネータ１０９は、ＬＰランプデバイス１５０４、ＬＰライトスイッチデバイス１５０６および／またはＬＰ天井ライトデバイス１５０８に一連の発見要求を出すように構成できる。各々のＬＰデバイス１５０４、１５０６または１５０８は、ＬＰデバイスコーディネータ１０９に１つまたは複数の記述子ファイルを送信することによって応答するように構成できる。ＬＰデバイスコーディネータ１０９がＬＰデバイス１５０４、１５０６または１５０８からの応答を受信すると、応答は仮想デバイスコーディネータ１１９に送信され得る。仮想デバイスコーディネータ１１９は、各記述子ファイルを受信すると、ファイル内の情報を解析して種別を判定することができる。この場合、３つのデバイス１５０４、１５０６および１５０８はすべて、仮想デバイスコーディネータに１１９によって、照明デバイスに分類され得る。各々のＬＰデバイス１５０４、１５０６および／または１５０８は、仮想照明デバイス１５１０に関連付けることができる。
【００４４】
一部の実施形態では、仮想コンピューティングシステム１１０は、例えば、ＬＰデバイスが反応していないと判定した場合に、時が過ぎれば仮想デバイスからＬＰデバイスを切り離すことがある。
【００４５】
図９は、本開示の少なくとも一部の実施形態に従い、ＬＰデバイスから仮想デバイスを切り離すための例示的なプロセスを示すシーケンス図である。図９の例では、仮想デバイスコーディネータ１１９は最初に、仮想ＨＶＡＣデバイス１６０２をＬＰ空調デバイス１６０４に関連付けることができる。一定の時間にわたり、仮想デバイス１６０２はステータス報告をＬＰ空調デバイス１６０４に要求することができる。仮想デバイス１６０２がＬＰ空調デバイス１６０４から返信を受信しなかった場合、タイムアウトが生じて、仮想デバイス１６０２に、ＬＰ空調デバイス１６０４の電源がオフになっているようであることを示すフラグをセットすることを促すことができる。タイマを開始することができ、しきい値を上回っているとタイマが判定すると、仮想デバイス１６０２はＬＰ空調デバイス１６０４からの切離しを要求することができる。仮想ＨＶＡＣデバイス１６０２はしきい値を任意の所望の値に設定できることに留意されたい。一部の実施形態では、しきい値はデバイスの電力特性に基づいて設定できる。例えば、連続的に電源がオンになっていると予想されるＬＰデバイスは、数秒のしきい値を有することがあり、電力が時々供給されるＬＰデバイスは、数時間のしきい値を有することがある。仮想ＬＰデバイス１６０２が空調ＬＰデバイス１６０４から切り離されると、仮想デバイス１６０２のリソースの再割り当てを新たなＬＰデバイスに対して行うことができる。図９の例では、空調ＬＰデバイス１６０４と仮想デバイス１６０２の切離しに続いて、仮想デバイスコーディネータ１１９は、仮想ＨＶＡＣデバイス１６０２をＬＰヒータデバイス１６０６に関連付けることができる。
【００４６】
図１０は、本開示の少なくとも一部の実施形態による仮想ネットワーキングシステムの代替構成の例を示すシステム図である。図１０に示されているように、一部の実施形態では、仮想ネットワーキングシステム３０は、仮想デバイスコンピューティングシステム３１０の各仮想デバイスへの直接的なネットワーク接続を提供するように構成できる。図１０の例では、仮想デバイス１１２、１１４、１１６および１１８ならびに仮想デバイスコーディネータ１１９はそれぞれ、ネットワーク１２０に直接的に接続され得る。コンピューティングデバイス１３０は、ネットワーク１２０を介して、仮想デバイスコンピューティングシステム３１０の任意の仮想デバイス１１２、１１４、１１６または１１８に、対応するデバイスに関連するアドレスによって直接接続するように適合可能である。例えば、各仮想デバイスは、ユニフォームリソースロケータ（ＵＲＬ）またはＩＰアドレスによってアドレス指定され得る。
【００４７】
図１１は、本開示の少なくとも一部の実施形態による仮想ネットワーキングシステムの代替構成の例を示すシステム図である。図１１に示されているように、一部の実施形態では、仮想ネットワーキングシステム４０は、仮想デバイスがその関連ＬＰデバイスと直接的に交信するように構成された仮想デバイスコンピューティングシステムを提供することができる。図１１では、仮想デバイスコンピューティングシステム４１０の仮想デバイス１１２、１１４、１１６および１１８は、ＬＰデバイスコンピューティングシステム４００におけるそれらの関連ＬＰデバイス１０２、１０４、１０６および１０８と直接的に結合できる。したがって、仮想デバイス１１２、１１４、１１６および１１８は、ＬＰデバイスコーディネータ１０９および仮想デバイスコーディネータ１１９を使用することなく、関連ＬＰデバイス１０２、１０４、１０６および１０８と直接的に通信するように構成できる。ただし、仮想デバイスコーディネータ１１９はそれでもなお、仮想デバイス作成、仮想デバイス構成および仮想コンピューティングシステム４１０の維持などのサービスを提供できることを理解されたい。
【００４８】
図１２は、本開示の少なくとも一部の実施形態による、仮想デバイスを使用してＬＰデバイスへの要求を処理する例示的なプロセスを示す、ＬＰデバイスがほぼ一定の電力を維持する場合のシーケンス図である。この点について、仮想デバイスコンピューティングシステム１１０は、コンピューティングデバイス（例えば、図２のコンピューティングデバイス１３０）とＬＰデバイスコンピューティングシステム１００との間の通信を仲介する役割を果たすことができる。図１２の例では、コンピューティングデバイス１３０は、温度センサデータを求める要求を仮想デバイスコーディネータ１１９に送信するように編成され得る。仮想デバイスコーディネータ１１９は、センサデータ要求の意図された宛先を判定するように構成できる。一部の実施形態では、仮想デバイスコーディネータ１１９は、センサデータ要求に関連する宛先アドレスを評価するように編成可能である。この宛先アドレスは、例えば、ユニフォームリソースロケータ（ＵＲＬ）またはＩＰアドレスの場合がある。ＬＰ温度センサデバイス１０２が意図された宛先であると仮想デバイスコーディネータ１１９が判定した場合、要求先のＬＰデバイス１０２に関連付けられた仮想温度センサデバイス１１２にセンサデータ要求を転送することができる。仮想温度センサデバイス１０２は、ＬＰデバイス１０２に関連する電力記述子情報をチェックすることができる。仮想温度センサデバイス１１２が、例えば、基礎的ＬＰデバイス１０２がほぼ一定の電力で動作していると判定した場合、温度センサデータを求める要求をＬＰデバイス１０２に送信することができる。ＬＰデバイス１０２は、仮想温度センサデバイス１００を介してコンピューティングデバイス１３０に返信することができる。
【００４９】
図１３は、本開示の少なくとも一部の実施形態による、仮想デバイス１１２を使用してＬＰデバイスへの要求を処理する例示的なプロセスを示す、ＬＰデバイスが周期的に電力供給される場合のシーケンス図である。図１３では、仮想温度センサデバイス１１２は、ＬＰ温度センサデバイス１０２（図１３には示されていない）の電力特性を調べるように適合可能である。かかる電力特性は、例えば、仮想温度センサデバイス１１２によって以前に受信された１つまたは複数の記述子ファイルに含まれている情報に基づいて判定されている場合がある。図１３では、仮想温度センサデバイス１１２は、ＬＰデバイス１０２が周期的に電力供給されていると判定するように編成できる。仮想温度センサデバイス１１２は、仮想温度センサデバイス１１２に結合されたデータベース（不図示）に問い合わせて、デバイス１１２がＬＰデバイス１０２からデータを最後に受信したのはいつかを確認することができる。データが十分に最近のものであることが分かると、仮想温度センサデバイス１１２は、ＬＰ温度センサデバイス１０２に代わってコンピューティングデバイス１３０に応答することができる。仮想温度センサデバイス１１２は、デバイスデータが十分に最近のものではないと判定した場合、図１２の例のようにデータをＬＰデバイス１０２に要求することができ、そして応答することができる。
【００５０】
図１４は、本開示の少なくとも一部の実施形態による、仮想デバイス１１２を使用してＬＰデバイス１０２への要求を処理する例示的なプロセスを示す、ＬＰデバイスの充電レベルが臨界レベルにある場合のシーケンス図である。ＬＰデバイス１０２の充電レベルに関する情報は、例えば、仮想デバイス１１２にとってアクセス可能なデバイス記述子ファイルで提供され得る。図１４の例では、仮想温度センサデバイス１１２は、データが更新されたのがいつかに関わりなく、データベース（不図示）からの情報で応答するように編成できる。ＬＰデバイス１０２が電源オフ状態にあると仮想温度センサデバイス１１２が判定したときに、同様の応答を生成することができる。一部の実施形態では、仮想温度センサデバイス１００は、情報が古くて不正確かもしれないことを示す情報を、要求元のコンピューティングデバイス１３０に送信するように構成できる。
【００５１】
一部の実施形態では、仮想デバイスコンピューティングシステム１１０は、１つまたは複数の仮想デバイス１１２、１１４、１１６、１１８および／または１１９がＬＰデバイス１０２、１０４、１０６、１０８および／または１０９に代わってサービスを実行することを許容することによって、基礎的ＬＰデバイスコンピューティングシステム１００の機能を強化するように適合可能である。例えば、コンピューティングデバイス１３０は、サービス要求を通信するために直接または仮想デバイスコーディネータ１１９を通じて仮想デバイスと対話するように構成できる。サービス要求は、仮想デバイスでのサービスを要求するのに必要な任意の情報を含むことができる。例えば、サービス要求は、低電力アプリケーションデータを求める要求および処理要求を含むことができる。処理要求の例は、過去の低電力デバイスデータ、予想される将来のＬＰデバイスデータを求める要求、および低電力デバイスデータの図表表示を求める要求を含み、これらに限定されない。例えば、予想される将来のＬＰデバイスデータは、最近傍、線形、多項式またはスプライン補間技法などを使用して生成できる。仮想デバイスは、サービス要求を受信した後、要求先の低電力デバイスに関連する記述子ファイルを評価して、低電力デバイスが要求されたサービスを提供できるか否か判定することができる。要求先の低電力デバイスが要求されたサービスを実行できない場合、仮想デバイスは、場合によっては低電力デバイスによって以前に生成されたデータを使用して、サービスをローカルで実行することができる。
【００５２】
図１５は、本開示の少なくとも一部の実施形態による、仮想デバイス１１２を使用して温度予測を生成するための例示的なプロセスを示す、関連ＬＰデバイスが通信可能ではない場合のシーケンス図である。この例示的なプロセスでは、コンピューティングデバイス１３０は、ＬＰ温度センサデバイス１０２（図１５では示されていない）から温度予測を取り出すことを試みることができる。コンピューティングデバイス１３０は、温度予測を求めるサービス要求を仮想デバイスコーディネータ１１９に送信するように適合され得る。仮想デバイスコーディネータ１１９は、サービス要求に符号化された宛先情報を解析し、ＬＰ温度センサデバイス１０２が意図された宛先であると判定するように構成できる。仮想デバイスコーディネータ１１９はまた、ＬＰ温度センサデバイス１０２に関連付けられた仮想デバイス、すなわち、仮想温度センサデバイス１１２に要求を転送するように構成できる。他の実施形態では、コンピューティングデバイスは仮想温度センサデバイス１１２と直接的に交信し、それにより仮想デバイスコーディネータ１１９を飛び越えることができるように構成できることに留意されたい。
【００５３】
引き続き図１５を参照すると、仮想温度センサデバイス１１２は、図１５でサービス要求を受信すると、要求を処理することができる。温度センサデバイス１１２は、予測データが要求されていると判定するように編成できる。一部の実施形態では、受信されたメッセージに符号化されている処理要求を考慮することにより、この判定がなされ得る。この処理要求は、例えば、要求元デバイスのためにデータをフォーマットする方法を仮想デバイス１１２に知らせる情報を含むことができる。処理要求の例は、過去の低電力デバイスデータ、予想されるさらなる低電力デバイスデータを求める要求、および／または低電力デバイスデータの図表表示を求める要求を含むことができ、これらに限定されない。仮想デバイス１１２は、ＬＰ温度センサデバイス１０２がコンピューティングデバイス１３０のセンサデータ要求に応じることが可能であるか否かを判定するため、デバイス１０２の機能を評価するように適合され得る。図１５の例では、仮想温度センサデバイス１１２は、ＬＰ温度センサデバイス１０２は将来の温度条件を予測するようには構成されていないと判定し得る。したがって、仮想温度センサデバイス１１２は、要求された温度予測を内部で生成すること、または要求された予測が利用できない旨の表示情報（indication）で応答することができる。
【００５４】
引き続き図１５を参照すると、温度予測の精度を高めるため、仮想温度センサデバイス１１２は、ＬＰ温度センサデバイス１０２が現時点で電力供給されていて通信可能である（すなわち、「アクティブ」である）場合には、ＬＰ温度センサデバイス１０２から現在の温度データを収集するように構成されてもよい。仮想温度センサデバイス１１２は、ＬＰ温度センサデバイス１０２によって提供される記述子ファイルから導出される電力プロファイルを評価することによって、ＬＰデバイス１０２がアクティブであるか否かを判定するように構成され得る。ＬＰデバイス１０２が現時点で通信不可能であることを電力プロファイルが示した場合、ＬＰデバイス１０２に照会を出さないこともある。通信不可能であることは、例えば、ＬＰデバイスが現時点で電力供給されていないことを電力プロファイルが明示したときに示され得る。同様に、ＬＰデバイス１０２が臨界電力で作動していることを電力プロファイルが示したとき、仮想温度センサデバイス１１２はＬＰデバイス１０２に照会しないことがあり、それによりＬＰバッテリリソースを保持することができる。図１５の例では、ＬＰデバイス１０２が利用不可能であると仮想温度センサデバイス１１２が判定し、仮想温度センサデバイス１１２にとってアクセス可能なデータベースに保存されている過去のデータのみを使用して予測が生成される。温度予測が生成されると、仮想温度センサデバイス１１２は、元の温度予測要求への返信としてコンピューティングデバイス１３０に温度予測情報を送信することができる。
【００５５】
温度予測が生成されている間にＬＰデバイス１０２が利用できる場合、仮想温度センサデバイス１１２は、ＬＰ温度センサデバイス１０２から現在の温度データを収集して当該データを温度予測に含めることができる。
【００５６】
図１６は、本開示の少なくとも一部の実施形態による、仮想デバイス１１２を使用して温度予測を生成するための例示的なプロセスを示す、関連ＬＰデバイスが通信可能である場合のシーケンス図である。図１６の例では、仮想温度センサデバイス１１２は、ＬＰデバイス１０２に関連する電力プロファイルを評価し、ＬＰデバイス１０２が利用可能であると判定する。利用可能であることは、例えば、ＬＰデバイス１０２の電源が常にオンになっていることを電力プロファイルが明示したときに示され得る。仮想温度センサデバイス１１２は、センサデータを求める要求をＬＰデバイス１０２に送信することができ、関連する応答を受信することができる。要求および応答は、直接または１つもしくは複数の仲介役の仮想デバイスもしくはＬＰデバイスを通じて送信できることに留意されたい。図１６の例と同様に、仮想温度センサデバイス１１２にとってアクセス可能なデータベースから過去の温度データを収集することができる。過去および現在の温度センサデータを使用して、予測を生成することができる。元の温度予測要求に対する応答として、コンピューティングデバイス１３０に予測情報を送信することができる。
【００５７】
図１７は、本開示の少なくとも一部の実施形態による、仮想ネットワーキングシステム１０の実施態様を示すコンピュータアーキテクチャまたはシステム１８００を示すブロック図である。システムバス１８０２は、中央処理ユニット（ＣＰＵ）１８０４、ＲＡＭ１８０６、基本入出力システム（ＢＩＯＳ）１８０８および他の構成要素の間でデータを移送するように編成できる。ＣＰＵ１８０４は、キャッシュメモリ構成要素１８２４を含むことができる。ＲＡＭ１８０６は、仮想デバイスプロセス１８４０を含むことができる。仮想デバイスプロセス１８４０は、１つまたは複数のＬＰデバイスの機能をサポート、エミュレートおよび／または補完するように構成されてもよい。コンピュータシステム１８００は、ハードディスクドライブ（ＨＤＤ）、光ストレージドライブ（例えば、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＷ）、フラッシュメモリ、テープデバイス、または他のストレージデバイス（不図示）にアクセスするための１つまたは複数の外部ストレージポート１８１７を含むことができる。（１つまたは複数の）関連ストレージデバイスは、外部ストレージポート１８１７を通じて接続または結合することができ、外部ストレージポート１８１７はディスクコントローラ１８２２を介してシステムバス１８０２に接続または結合できる。キーボードおよびポインティングデバイス（例えば、マウス、タッチパッド）（不図示）は（１つまたは複数の）キーボード／マウスポート１８１２に接続または結合することができ、他のＩ／Ｏデバイスは（１つまたは複数の）追加のＩ／Ｏポート１８１３に接続または結合することができ、これらのポートはＩ／Ｏコントローラ１８１０を通じてシステムバス１８０２に接続または結合することができる。シリアルポート、パラレルポート、ファイアワイヤアダプタまたはバイオメトリックデバイス（不図示）などの追加のポートまたはデバイスは、Ｉ／Ｏコントローラ１８１０を通じて利用できる。表示デバイス（不図示）は、表示デバイスポート１８１４に接続または結合することができ、表示デバイスポート１８１４はビデオコントローラ１８１５を通じてシステムバス１８０２に接続または結合することができる。イーサネット（登録商標）デバイスまたはネットワーク機能を有する他のデバイスを含むがこれに限定されないネットワークデバイス（不図示）は、ネットワークポート１８２０に接続または結合することができ、ネットワークポート１８２０はネットワークコントローラ１８１６を通じてシステムバス１８０２に接続または結合することができる。コンピュータシステム１８００は、無線コントローラ１８２６に接続または結合されたアンテナ１８２８を使用して、無線ルータを含むがこれに限定されない無線オペレーション（不図示）向けに構成され得るネットワークデバイスに無線で接続または結合することができ、無線コントローラ１８２６は、システムバス１８０２に接続または結合することができ、アンテナはネットワークデバイスとの間で信号を送受信するように編成され得る。コンピュータシステム１８００は、１つまたは複数のＵＳＢポート１８２３を含むことができる。プリンタ、スキャナ、キーボード、マウス、デジタルカメラ、ストレージデバイス、ＰＤＡ、セルラ電話、バイオメトリックデバイス、ウェブカメラおよびＩ／Ｏアダプタを含むが、これらに限定されないＵＳＢデバイス（不図示）は、ＵＳＢポート１８２３に接続または結合することができ、ＵＳＢポート１８２３は、ＵＳＢコントローラ１８１１を通じてシステムバス１８０２に接続または結合することができる。セルラ電話、ＰＤＡ、または他の携帯用デバイスなどの他のデバイスも、無線Ｉ／Ｏコントローラ１８３０に接続または結合された無線Ｉ／Ｏアンテナ１８３２を介して無線接続することができる。無線Ｉ／Ｏ技術の例は、ブルートゥース、赤外線（ＩＲ）および無線周波（ＲＦ）を含むが、これらに限定されない。マイクロフォン、スピーカーまたはヘッドフォンなどのオーディオデバイスは、音声ポート１８３８に接続または結合することができ、音声ポート１８３８は音声コントローラ１８３４に接続または結合することができ、音声コントローラ１８３４はシステムバス１８０２に接続または結合することができる。拡張スロット１８１８は、コンピュータシステム１８００に追加のカードを置くことができるよう、業界標準アーキテクチャ（ＩＳＡ）スロット、周辺構成要素相互接続（ＰＣＩ）拡張スロット、ＰＣＩ  Ｅｘｐｒｅｓｓ拡張スロット、Ａｃｃｅｌｅｒａｔｅｄ  Ｇｒａｐｈｉｃｓ  Ｐｏｒｔ（ＡＧＰ）スロットまたは当技術分野で一般に知られているその他のスロットから構成され得る。これらのスロットを使用して、ネットワークカード、ビデオカード、音声カード、モデム、およびコンピュータで一般に使用されるその他の周辺デバイスを接続または結合することができる。コンピュータシステム１８００はまた、外部の電源および内部または外部のバッテリに接続または結合された電源を含むがこれらに限定されない電源（不図示）を含むことができる。こうしたデバイスの詳細な説明については、単に便宜上省略しており、限定的に解釈すべきではない。
【００５８】
本開示の実施形態は、ハードウェアおよびソフトウェアの任意の組合せで実施できる。コンピュータ実施装置として実施される場合、実施形態は上述のステップおよび機能のすべてを実行するための手段を使用して実施される。
【００５９】
本開示の実施形態は、例えばコンピュータ使用可能媒体を有する製造品（例えば１つまたは複数のコンピュータプログラム製品）に含めることができる。この媒体は、例えば、本開示の実施形態の機構を提供し容易にするためのコンピュータ可読プログラムコード手段をその中に具現化している。製造品は、コンピュータシステムの一部として含めること、または別個に販売することができる。
【００６０】
システムの態様のハードウェア実装とソフトウェア実装との間の区別は、ほとんど残っておらず、ハードウェアまたはソフトウェアの使用は一般に（ただし常にではなく、特定の文脈では、ハードウェアとソフトウェアとの間の選択が重要になり得るという点で）コストと効率性との兼ね合いを表す設計の選択である。本明細書で説明したプロセスおよび／またはシステムおよび／または他の技術を実現できる様々な手段（例えば、ハードウェア、ソフトウェアおよび／またはファームウェア）があり、その上、好ましい手段は、プロセスおよび／またはシステムおよび／または他の技術が展開される文脈によって変化する。例えば、実施者は、速度および精度が最も重要であると判定した場合、主としてハードウェアおよび／またはファームウェア手段を選ぶことがあり、柔軟性が最も重要である場合、実施者は、主としてソフトウェア実装を選択してもよく、または、さらに別法として、実施者は、ハードウェア、ソフトウェアおよび／またはファームウェアの何らかの組合せを選んでもよい。
【００６１】
上記の詳細な説明は、ブロック図、フローチャートおよび／または例を使用することによって、デバイスおよび／またはプロセスの様々な実施形態について述べている。こうしたブロック図、フローチャートおよび／または例が１つまたは複数の機能および／または動作を含む限りでは、こうしたブロック図、フローチャートまたは例の中の各々の機能および／または動作は、幅広いハードウェア、ソフトウェア、ファームウェアまたは事実上任意のその組合せによって個々にかつ／または集合的に実施され得ることが当業者には理解されよう。一実施形態では、本明細書で説明した主題のいくつかの部分は、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、デジタル信号プロセッサ（ＤＳＰ）または他の集積された形式によって実施され得る。しかし、本明細書に開示された実施形態の一部の態様は、１つまたは複数のコンピュータ上で実行される１つまたは複数のコンピュータプログラムとして（例えば、１つまたは複数のコンピュータシステム上で実行される１つまたは複数のプログラムとして）、１つまたは複数のプロセッサ上で実行される１つまたは複数のプログラムとして（例えば、１つまたは複数のマイクロプロセッサ上で実行される１つまたは複数のプログラムとして）、ファームウェアとして、または事実上任意のその組合せとして、全体的にまたは部分的に集積回路に同等に実装することができ、また回路を設計すること、ならびに／またはソフトウェアおよび／もしくはファームウェアのコードを作成することは、本開示に鑑みて十分に当業者の技術の範囲内にあることを当業者は理解するであろう。さらに、本明細書で説明した主題の機構は、プログラム製品として様々な形で配布することがき、また本明細書で説明した主題の例示的な一実施形態は、この配布を実際に実施するために使用される特定のタイプの信号担持媒体に関係なく適用されることを、当業者は理解しよう。信号担持媒体の例は、以下を含むが、これらに限定されない。フレキシブルディスク、ハードディスクドライブ（ＨＤＤ）、コンパクトディスク（ＣＤ）、デジタルビデオディスク（ＤＶＤ）、デジタルテープ、コンピュータメモリなどの記録可能なタイプの媒体、ならびにデジタルおよび／またはアナログ通信媒体（例えば、光ファイバケーブル、導波管、有線通信リンク、無線通信リンクなど）などの伝送タイプの媒体。
【００６２】
本明細書に示されたやり方でデバイスおよび／またはプロセスについて説明し、その後、工学の慣例を使用し、このような説明したデバイスおよび／またはプロセスをデータ処理システムに統合することは当技術分野では一般的であることを、当業者は理解するであろう。すなわち、本明細書で説明したデバイスおよび／またはプロセスの少なくとも一部が、十分な量の実験によってデータ処理システムに統合され得る。一般的なデータ処理システムは、システムユニット筐体、ビデオ表示デバイス、揮発性メモリおよび不揮発性メモリなどのメモリ、マイクロプロセッサおよびデジタル信号プロセッサなどのプロセッサ、オペレーティングシステム、ドライバ、グラフィカルユーザインターフェース、およびアプリケーションプログラムなどのコンピュータエンティティ、タッチパッドや画面などの１つもしくは複数の対話デバイス、ならびに／またはフィードバックループおよび制御モータ（例えば、位置および／もしくは速度を感知するためのフィードバック、構成要素および／もしくは量の移動および／もしくは調整のための制御モータ）を含む制御システムのうちの１つまたは複数を一般に含むことを、当業者は理解するであろう。一般的なデータ処理システムが、データコンピューティング／通信および／またはネットワークコンピューティング／通信システムで一般に見られるものなど、任意の適切な市販のコンポーネントを使用して実装され得る。
【００６３】
本明細書で説明した主題は、それぞれ異なる他の構成要素内に含まれた、またはそれに結び付けられたそれぞれ異なる構成要素を示すことがある。こうした示されたアーキテクチャは、例に過ぎず、実際には、同じ機能を実現する多くの他のアーキテクチャを実装できることを理解されたい。概念的な意味では、同じ機能を実現する構成要素のいかなる編成も、所望の機能が実現するように有効に「関連付けられる」。したがって、特定の機能を実現するために本明細書で組み合わされたいかなる２つの構成要素も、アーキテクチャまたは中間の構成要素に関係なく所望の機能が実現するように互いに「関連付けられる」とみなすことができる。同様に、そのように関連付けられたいかなる２つの構成要素もまた、所望の機能を実現するために互いに「動作可能に接続される」または「動作可能に結合される」とみなすことができ、そのような関連付けが可能ないかなる２つの構成要素もまた、所望の機能を実現するために互いに「動作可能に結合可能である」とみなすことができる。動作可能に結合可能であるものの具体的な例は、物理的に組にすることが可能な、かつ／もしくは物理的に対話する構成要素、ならびに／または無線で対話可能な、かつ／もしくは無線で対話する構成要素、ならびに／または論理的に対話する、かつ／もしくは論理的に対話可能な構成要素を含むが、これらに限定されない。
【００６４】
実質的に任意の複数および／単数の用語を本明細書で使用することに関して、当業者は、文脈および／適用例に適切であるように、複数から単数に、かつ／または単数から複数に変換することができよう。様々な単数／複数の置換について、明瞭にするために、本明細書に明示的に述べられ得る。
【００６５】
一般に、本明細書、特に添付のクレーム（例えば、添付のクレームの本文）中に用いられた用語は一般に「オープンな（ｏｐｅｎ）」用語として意図されている（例えば、用語「含む（ｉｎｃｌｕｄｉｎｇ）」は、「含むが、限定されるものではない」と解釈すべきであり、用語「有する（ｈａｖｉｎｇ）」は、「少なくとも有する」と解釈すべきであり、「含む（ｉｎｃｌｕｄｅｓ）」は、「含むが、限定されるものではない」と解釈すべきである、など）ことが当業者には理解されよう。特定の数の導入クレームの列挙が意図されている場合、かかる意図はクレーム中に明示的に列挙されており、こうした列挙がない場合には、かかる意図は存在しないことが当業者にはさらに理解されよう。例えば、理解への助けとして、下記の添付のクレームは、クレーム列挙の導入のために導入語句「少なくとも１つ」および「１つまたは複数」の使用を含み得る。しかし、こうした語句の使用は、同じクレームが導入語句「１つまたは複数」または「少なくとも１つ」および「１つ（ａまたはａｎ）」などの不定冠詞を含む場合でも、不定冠詞「１つ（ａまたはａｎ）」によるクレーム列挙の導入によって、こうした導入クレーム列挙を含むいずれかの特定のクレームが、こうした列挙を１つしか含まない発明に限定されることを示唆すると解釈すべきではなく（例えば、「１つ（ａおよび／またはａｎ）」は、「少なくとも１つ」または「１つまたは複数」を意味するものと一般に解釈すべきであり）、クレーム列挙の導入に用いられた定冠詞の使用についても同じことが当てはまる。さらに、特定の数の導入クレーム列挙が明示的に列挙される場合でも、こうした列挙は一般に、少なくとも列挙された数を意味するものと解釈すべきである（例えば、他の修飾子のない「２つの列挙」の素の列挙は一般に、少なくとも２つの列挙、または２つ以上の列挙を意味する）ことを、当業者は理解するであろう。さらに、「Ａ、ＢおよびＣのうちの少なくとも１つなど」に類似の慣例的表現が用いられる場合には、一般にこうした構成は、当業者がこの慣例的表現を理解するという意味で意図されている（例えば、Ａ、ＢおよびＣのうちの少なくとも１つを有するシステムは、Ａだけ、Ｂだけ、Ｃだけ、ＡとＢともに、ＡとＣともに、ＢとＣともに、および／またはＡ、Ｂ、Ｃともになど、を有するシステムを含むが、これらに限定されない）。事実上任意の離接語および／または２つ以上の代替語を提示する語句は、説明であれ、クレームであれ、図面であれ、用語のうちの１つ、用語のいずれか、または両方の用語を含む可能性を企図するものと理解すべきであることが、当業者にはさらに理解されよう。例えば、語句「ＡまたはＢ」は、「Ａ」もしくは「Ｂ」、または「ＡおよびＢ」の可能性を含むものと理解されよう。
【００６６】
様々な態様および実施形態が本明細書に開示されているが、他の態様および実施形態が当業者には明らかであろう。本明細書に開示された様々な態様および実施形態は、例示を目的としており、限定することを意図しておらず、真の範囲および趣旨は、以下のクレームに示されている。
【図１】
0005249470.tif 000002
【図２】
0005249470.tif 000003
【図３】
0005249470.tif 000004
【図４】
0005249470.tif 000005
【図５】
0005249470.tif 000006
【図６】
0005249470.tif 000007
【図７】
0005249470.tif 000008
【図８】
0005249470.tif 000009
【図９】
0005249470.tif 000010
【図１０】
0005249470.tif 000011
【図１１】
0005249470.tif 000012
【図１２】
0005249470.tif 000013
【図１３】
0005249470.tif 000014
【図１４】
0005249470.tif 000015
【図１５】
0005249470.tif 000016
【図１６】
0005249470.tif 000017
【図１７】
0005249470.tif 000018