(57)【特許請求の範囲】
【請求項１】
周波数分割多重プロトコルを用いた通信のためにコンピューティングデバイスを動作させる方法であって、
以前に選択されたサブチャネルの指示情報を記憶部から取り出すことと、
第１のバンド幅を有する信号を送信するために第１の複数の選択されたサブチャネルを選択することであって、前記第１の複数の選択されたサブチャネルは第２の複数のサブチャネルから選択され、前記第２の複数のサブチャネルは全体で第２のバンド幅を有し、前記第２のバンド幅は前記第１のバンド幅よりも広く、別のコンピューティングデバイスから受信したリストが示す該別のコンピューティングデバイスにより使用されるサブチャネルを選択せずに、前記指示情報が前記コンピューティングデバイスによって以前に選択されたことを示すサブチャネルを優先的に選択することを含むことと、
前記第１の複数の選択されたサブチャネルを用いて前記信号を通信することと
を含むことを特徴とする方法。
【請求項２】
前記第１の複数のサブチャネルを選択することは、
（Ａ）所望のデータレートに基づくサブチャネルの数を判断することと、
（Ｂ）前記第２の複数のサブチャネルのうちの１つのサブチャネルを検査して、当該サブチャネルがデータ送信に不適切な状態を有するかどうかを判断することと、
（Ｃ）ステップ（Ｂ）の判断に従って、前記サブチャネルが通信に適切であると判断するか、又は前記サブチャネルが通信に不適切であると判断して、前記サブチャネルが適切であると判断された場合に、前記サブチャネルを通信のために選択することと、
（Ｄ）少なくとも前記サブチャネルの数が選択されるまで、前記第２の複数のサブチャネルのうちの異なるサブチャネルについてステップ（Ｂ）及び（Ｃ）を繰り返すことと
を含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記ステップ（Ｄ）は、選択された前記サブチャネルの指示情報を記憶することをさらに含み、
前記ステップ（Ｂ）は、前記コンピューティングデバイスが予め決められた期間内において新しい信号を生成しようとする場合に、以前に選択されなかったサブチャネルの前に以前に選択されたサブチャネルを検査することをさらに含むことを特徴とする請求項２に記載の方法。
【請求項４】
前記ステップ（Ｄ）は、通信に不適切であると判断されたサブチャネルを記憶することをさらに含み、
前記ステップ（Ｂ）は、前記コンピューティングデバイスが予め決められた期間内において新しい信号を生成しようとする場合に、不適切であると以前に判断されたサブチャネルを不適切であると以前に判断されなかった別のサブチャネルの後に検査することをさらに含むことを特徴とする請求項２に記載の方法。
【請求項５】
前記ステップ（Ｂ）は、サブチャネルを選択して、ランダムな選択プロセス又は連続した順番の選択プロセスの一方により検査することをさらに含むことを特徴とする請求項２に記載の方法。
【請求項６】
無線により通信することは、
選択通知を少なくとも１つの別のコンピューティングデバイスに送信することであって、前記選択通知が、前記コンピューティングデバイスが１組のサブチャネルを選択したことの通知を含むことと、
予め決められた期間、別のコンピューティングデバイスから受信した選択通知に記載されたサブチャネルを選択しないことと
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項７】
前記ステップ（Ｂ）は、前記判断を行う前に、予め決められた期間に前記サブチャネルを検査することをさらに含むことを特徴とする請求項２に記載の方法。
【請求項８】
前記選択することは、通信セッションの始めに一度行われ、前記方法は、選択された前記サブチャネルを前記通信セッションの終わりに開放することをさらに含むことを特徴とする請求項１に記載の方法。
【請求項９】
通信セッションは、離散的なデータ送信であることを特徴とする請求項８に記載の方法。
【請求項１０】
コンピュータにおける実行のための命令が符号化された少なくとも１つのコンピュータ可読媒体を備えるコンピュータ装置であって、前記命令は、実行されると、
以前に選択されたサブチャネルの第１のリストと、別のコンピュータ装置から受信した第２のリストであって以前に使用に不適切であると判断されたサブチャネルの第２のリストとを記憶部から取り出すことと、
第１の複数のサブチャネルにおいて、１組の使用可能なサブチャネルを判断することであって、はじめに前記第１のリスト内の前記以前に選択されたサブチャネルを検査して、使用に不適切であるかどうかを判断し、次いで、前記第１のリストまたは前記第２のリスト内にないサブチャネルを検査して、使用可能であるかどうかを判断し、次いで、前記第２のリスト内のサブチャネルを検査して、使用可能であるかどうかを判断することを含むことと、
第２の複数の選択されたサブチャネルを選択することであって、前記選択されたサブチャネルは、前記１組の使用可能なサブチャネルから選択されることと、
前記第２の複数の選択されたサブチャネルを介して信号を通信することと
を含む方法を実施することを特徴とするコンピュータ装置。
【請求項１１】
前記コンピュータ可読媒体は、以前に選択されたサブチャネルの第１のリストがさらに符号化され、前記判断することは、前記第１のリスト内の前記以前に選択されたサブチャネルが使用可能かどうかを判断することをさらに含むことを特徴とする請求項１０に記載のコンピュータ装置。
【請求項１２】
前記コンピュータ可読媒体は、コンピュータ実行可能命令がさらに符号化され、前記コンピュータ実行可能命令は、実行されると、低電力モードで動作する方法を実行し、前記方法は、
第２の１組の使用可能なサブチャネルを、第３の複数のサブチャネルにおいて判断することであって、前記第３の複数のサブチャネルは、前記第１の複数のサブチャネルのサブセットであることと、
前記第２の１組の使用可能なサブチャネルから、第４の複数のサブチャネルを選択することであって、前記第４の複数のサブチャネルは、前記第３の複数のサブチャネルより少ないことと
を含むことを特徴とする請求項１０に記載のコンピュータ装置。
【請求項１３】
前記コンピュータ装置は、バッテリーをさらに含むことを特徴とする請求項１０に記載のコンピュータ装置。
【請求項１４】
第１のコンピューティングデバイスと第２のコンピューティングデバイスとの間で通信を行うために前記第１のコンピューティングデバイスが実行する方法であって、前記方法は、
以前に選択されたサブチャネルの第１のリストを記憶部から取り出すことと、
第１のバンド幅を有する信号を送信するために複数の選択されたサブチャネルを選択することであって、前記選択されたサブチャネルは、複数のサブチャネルから選択され、前記複数のサブチャネルは、全体で第２のバンド幅を有し、前記第２のバンド幅は、前記第１のバンド幅よりも広く、前記第２のコンピューティングデバイスから受信した第２のリストが示す該第２のコンピューティングデバイスにより使用されるサブチャネルを選択せずに、前記第１のリストが前記第１のコンピューティングデバイスによって以前に選択されたことを示すサブチャネルを優先的に選択することを含むことと、
前記複数の選択されたサブチャネルを介して少なくとも１つのメッセージを送信することと
を含むことを特徴とする方法。
【請求項１５】
前記複数の選択されたサブチャネルを介して少なくとも１つのメッセージを送信することは、前記第２のコンピューティングデバイスから前記第１のコンピューティングデバイスにメッセージを送信することを含むことを特徴とする請求項１４に記載の方法。
【請求項１６】
前記少なくとも１つのメッセージを送信するステップの前に、前記選択されたサブチャネルの識別情報を、前記第１のコンピューティングデバイスから前記第２のコンピューティングデバイスに送信することをさらに含むことを特徴とする請求項１４に記載の方法。
【請求項１７】
前記第１のコンピューティングデバイスにより選択されたサブチャネルを判断するために、前記第２のコンピューティングデバイスによって受信された信号を、前記第２のコンピューティングデバイスにより解析することをさらに含むことを特徴とする請求項１４に記載の方法。
【請求項１８】
前記解析することは、前記第１のコンピューティングデバイスと前記第２のコンピューティングデバイスとの間の通信のために以前に使用したサブチャネルの記憶を検査することと、別のサブチャネルにおいて受信した信号を検査する前に、これらのサブチャネルにおいて受信した信号を解析することと、をさらに含むことを特徴とする請求項１７に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピューティングデバイス同士の間の通信に関する。
【背景技術】
【０００２】
コンピューティングデバイスがより移動性の高いものになるにつれて、コンピューティングデバイス同士の間の無線接続はますます一般的になっている。この結果、今日では、無線接続は様々な方法で使用されている。例えば、無線通信により、コンピューティングデバイスは、有線接続されたネットワークにアクセスポイントを介して接続することができ、アクセスポイントの範囲内にもたらされたデバイスは、サーバ及びプリンタ等のネットワークリソースにアクセスすることができる。さらに、無線接続により、コンピューティングデバイスはアドホックに別のコンピューティングデバイスに接続し、任意の固定インフラストラクチャ無しにデータを交換することができる。
【０００３】
２つのコンピューティングデバイスの間に無線接続を確立するために、周波数スペクトルの一部が、無線通信プロトコルに従いデバイス同士の間で無線周波数信号を送信するために使用される。多くの無線通信プロトコルでは、利用可能な周波数スペクトルは、複数のコンピューティングデバイスが同時にデータを送信でき且つ互いの干渉を最小化できるように複数のチャネルに分割される。
【０００４】
直交周波数分割多重方式（ＯＦＤＭ）は、無線ネットワーク及び有線ネットワークにおいて使用される１つの通信プロトコルであり、当該直交周波数分割多重方式（ＯＦＤＭ）では、周波数スペクトルは複数のチャネルに分割される。ＯＦＤＭでは、チャネルは、通常、比較的狭いバンド幅を有する等しいサブチャネルにさらに分割される。狭いバンド幅のサブチャネルを使用することにより、通信は、有害なマルチパスフェーディング又は別の電磁気的な干渉の影響をほぼ受けず、無線接続により通信する隣接するデバイス同士の間の狭いバンド干渉のリスクは低減され、チャネルを介して送信されるデータの高いデータレート又は改善された誤り率動作を提供する。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、コンピューティングデバイス同士の間の通信を改善する方法及びコンピュータ装置を提供する。
【課題を解決するための手段】
【０００６】
コンピューティングデバイス同士の間の無線通信及び有線通信は、１組の選択されたサブチャネルを使用することにより改善される。サブチャネルは、通信のためにコンピューティングデバイスにより使用可能な周波数スペクトル内のどこから選択されてもよい。
【０００７】
サブチャネルは、当該サブチャネルの特性の測定値に基づいて選択されてもよい。サブチャネルを選択するときの効率性を改善するために、認識プロセスが使用されてもよい。本発明による認識プロセスは、バッテリー又は有限電源から得られる動作時間を長くするために、モバイルコンピューティングデバイスに適用されてもよい。
【０００８】
認識プロセスは、サブチャネル特性の現在の測定値及び以前に得られた情報をサブチャネルの選択の基礎としてもよい。認識処理のために使用される情報は、同じコンピューティングデバイス又は別のコンピューティングデバイスにより、接続を確立するために以前に選択されたサブチャネルについての情報を含んでいてもよい。このような情報はチャネルを確立する際の使用について不適切であると以前に判断されたサブチャネルについての情報を含む場合もある。
【０００９】
本発明の例示的な実施形態では、適切なサブチャネルのサブセットは１組のサブチャネルから選択され、当該適切なサブチャネルのサブセットは１組のサブチャネルのどこからでも選択され、連続したサブチャネルである必要はない。サブチャネルの適切さは任意の適切な技術により判断され、当該適切な技術には、別のコンピューティングデバイスにより生成された信号又は別のソースからの高レベルの電磁気的干渉について、サブチャネルを検査することを含む。技術は、検査されるべきサブチャネルの選択のためにも使用され、当該選択は適切な方法で行われる。当該選択は、まず検査されるべきである、以前に使用したサブチャネルのリストを維持し、後にサブチャネルのリストを検査して、サブチャネルをランダムに選択することを含む。
【００１０】
別の例示的な実施形態では、周波数分割多重（ＦＤＭ）プロトコルを用いた通信のためにコンピューティングデバイスを動作させる方法が提供される。当該方法は、第１のバンド幅を有する信号を送信するために第１の複数の選択されたサブチャネルを選択することを含み、第１の複数の選択されたサブチャネルは第２の複数のサブチャネルから選択され、第２の複数のサブチャネルは全体で第２のバンド幅を有し、第２のバンド幅は第１のバンド幅より広く、前記方法はさらに第１の複数の選択されたサブチャネルを用いて信号を通信することを含む。
【００１１】
別の例示的な実施形態では、コンピュータにおける実行のための命令が符号化された少なくとも１つのコンピュータ可読媒体を含むコンピュータ装置が提供される。上記命令は実行されると以下の方法を実施する。当該方法は、第１の複数のサブチャネルにおいて１組の使用可能なサブチャネルを判断することと、第２の複数の選択されたサブチャネルを選択することとを含み、上記選択されたサブチャネルは１組の使用可能なサブチャネルから選択され、第２の複数の選択されたサブチャネルは第１の複数のサブチャネルよりも少なく、上記方法はさらに、第２の複数の選択されたサブチャネルを介して信号を通信することを含む。
【００１２】
例示的な一実施形態では、第１のコンピューティングデバイスと第２のコンピューティングデバイスとの間で通信を行う方法が提供される。上記方法は、第１のコンピューティングデバイスにより、複数の選択されたサブチャネルを選択して、第１のバンド幅を有する信号を送信することを含み、当該選択されたサブチャネルは、複数のサブチャネルから選択され、当該複数のサブチャネルは全体で第２のバンド幅を有し、第２のバンド幅は第１のバンド幅よりも広く、上記方法はさらに、上記複数の選択されたサブチャネルを介して少なくとも１つのメッセージを送信することを含む。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態が実施され得る例示的なコンピュータシステム環境の図である。
【図２】本発明の実施形態により使用され得る典型的なクライアントコンピュータのブロック図である。
【図３】コンピューティングデバイスがサブチャネルを選択して、当該サブチャネルを介してデータを通信する典型的なプロセスのタイムラインを示す図である。
【図４】通信のためにサブチャネルを選択する例示的なプロセスのフローチャートである。
【図５】サブチャネルを選択して適切さを検査する例示的なプロセスのフローチャートである。
【図６】２つのコンピューティングデバイスが同じサブチャネルを介してデータを送信するときに生じる本発明の実施形態によるランダムになされたバックオフ処理のタイムラインを示す図である。
【発明を実施するための形態】
【００１４】
本発明者は、コンピューティングデバイス同士の間の無線通信及び有線通信が、サブチャネルが連続しているか不連続であるかどうかに関係なく周波数スペクトルのサブチャネルからチャネルを形成することにより、改善され得ることを認識するに至った。
【００１５】
直交周波数分割多重方式（ＯＦＤＭ）の従来の実装では、伝送信号を送信するのに周波数の所定の範囲内の連続したサブチャネルだけが使用される。信号が電子的な干渉を受けるか、又は、通信するために同じ範囲の周波数を使用する多くのデバイスが存在する場合、信号を送信しようとしている多くのサブチャネルは通信に不適切であるかもしれない。サブチャネルが信号を送信するのに使用され得るコンピューティングデバイスは制限されるので、信号は所望のデータレートでの通信をサポートしないかもしれず、コンピューティングデバイスはスペクトル条件が理想的でない場合にチャネルを介する送信のデータレートを下げなければならないかもしれない。
【００１６】
コンピューティングデバイスが使用する信号を生成するために、コンピューティングデバイス同士の間の通信に利用可能なスペクトルの任意の部分からサブチャネルを連続して又は不連続に選択することにより、通信は、スペクトル状態に関係なくより高いデータレートでなされ得る。
【００１７】
サブチャネルは、認識プロセスを用いて効率的に選択することができる。どのサブチャネルが使用に適しているか適していないかを学習することにより、選択プロセスの時間及び処理コストは低減される場合がある。幾つかの実施形態では、認識プロセスは、バッテリー又はその他の有限電源により動作するモバイルコンピューティングデバイス内で使用される。処理コストを低減することにより、電力消費が低減され、バッテリーが交換されるかまたは充電されなければならなくなるまでのデバイスの動作時間を長くする。よって、ユーザの使い勝手（ｕｓｅｒ’ｓ  ｅｘｐｅｒｉｅｎｃｅ）は、許容できない電力消費無しに速いデータレートの通信を提供することによって改善される場合がある。
【００１８】
このようなことを考慮して、本発明の一実施形態は、ＦＤＭプロトコルの適切なサブチャネルを選択するための認識プロセスを対象とする。このようなプロセスは、多くのコンピュータシステム設定のいずれかに実装することができ、当該コンピュータシステム設定は、特定の種類の設定には限定されない。図１は、本発明の一実施形態が実施され得るコンピュータシステムの一例を示しているが、その他のコンピュータシステムであってもよい。
【００１９】
図１のコンピュータシステムは、通信ネットワーク１００、無線アクセスポイント１０２及び１０４、無線コンピューティングデバイス１０６、１０８、１１０、１１２、１１４、及び１１６、並びに有線コンピューティングデバイス１１８及び１２０を含む。通信ネットワーク１００は、２つ以上のコンピュータ（例えば、サーバとクライアント）の間でデータを交換する任意の適切な１つの通信媒体又は複数の通信媒体であってもよく、例えば、当該通信ネットワーク１００はインターネット又は企業内ネットワークである。無線コンピューティングデバイスは無線通信機能を有する任意の適切なコンピューティングデバイスであってもよい。幾つかの典型的な無線コンピューティングデバイスが図示されており、例えば、当該無線コンピューティングデバイスは、ラップトップコンピュータ１０８及び１１２、個人情報端末（ＰＤＡ）１１０、並びにスマートフォン１１４である。さらに、サーバ１０６及びコンピュータ端末１１６等の典型的な固定デバイスも無線通信可能であってよい。これらモバイルデバイス及び固定デバイスのそれぞれは、無線アクセスポイント１０２又は１０４と無線通信している状態にあるか、又は無線通信できる状態にあり、当該無線アクセスポイント１０２又は１０４のそれぞれは、通信ネットワーク１００に接続される。この無線通信により、コンピューティングデバイスは互いにデータを交換することができるか、又は通信ネットワーク１００を介してコンピュータ端末１１８及びサーバ１２０等の有線デバイスとデータを交換することができる。各無線デバイスがデータをアクセスポイント１０２／１０４又は別のデバイスに送信するときに、各無線デバイスは、利用可能なスペクトルの１つ以上のサブチャネルを使用してもよい。よって、無線デバイスは「適切な」サブチャネルへのアクセスのために互いに競合するかもしれない。サブチャネルの適切さは、当該チャネルが、効率的な通信を可能にするのに非常に大きな干渉を受けるかどうかに基づいて判断されてもよい。この干渉は、データを送信する別のコンピューティングデバイスにより生成されるノイズ、又は図１に示した典型的なコンピューティングシステムの範囲内で動作する任意の電子デバイスにより生成されるかもしれない任意の別の電気的ノイズを含む。
【００２０】
ここで説明する本発明の実施形態は、図１に示した典型的なシステムにより実施されることに限定されず、任意の数の無線アクセスポイント及び／又はコンピューティングデバイスを使用するシステムにおいて使用されてもよい。さらに、図１は、インフラストラクチャネットワークにおける無線アクセスポイント１０２及び１０４と無線通信するコンピューティングデバイスを示しているが、本発明の実施形態は、コンピューティングデバイスが別のコンピューティングデバイスと直接通信して、アクセスポイントを介さないアドホックネットワーク又は別のネットワークにおいて実施されてもよい。また、図１は、有線デバイス１１４及び１１６を有する通信ネットワーク１００を含むが、本発明の実施形態は有線ネットワークを含まなくてもよい。
【００２１】
さらに、本発明は、図１に示した典型的な無線ネットワークにおいて実施されることに限定されない。本発明の実施形態は、コンピューティングデバイス同士の間でデータを交換する任意の適切な通信ネットワーク（有線ネットワークを含む）において実施することができ、当該通信ネットワークには、周波数分割多重が実装される。
【００２２】
図２は、本発明の１つ以上の実施形態により使用することができる例示的なコンピューティングデバイス２００を概略的に示す。コンピューティングデバイス２００は、デバイス１０６、１０８、１１０、１１２、１１４、及び１１６等の上述した任意のコンピューティングデバイス又は無線アクセスポイント１０２及び１０４とすることができる。図２は、本発明の実施形態を実施するコンピューティングデバイスに必須の要素を示すこと又は包括的に示すことを目的とはしていないことを理解されたい。
【００２３】
コンピューティングデバイス２００は、無線ネットワークインターフェイスとして機能することができる無線インターフェイスを備える。図示した実施形態では、無線ネットワークインターフェイスは、無線アクセスポイント又は別のデバイス等と無線通信するために、無線ハードウェア２０２により実装されてもよい。デバイス２００は、別の（おそらく、無線でない）方法を用いてコンピュータネットワークを介して通信するネットワークアダプタ２０４、デバイスの使用者に対して情報を表示するディスプレイアダプタ２０６、及び、使用者からのコマンドを受信する入力アダプタ２０８も備える。本発明の幾つかの実施形態では、コンピューティングデバイス２００は、バッテリー２２０を備えてもよい。
【００２４】
デバイス２００は、プロセッサ２１０により処理されるデータ及び／又は実行される命令を記憶するコンピュータ可読媒体２１２をさらに備える。プロセッサ２１０により、データの処理及び命令の実行が可能になる。データ及び命令は、コンピュータ可読媒体２１２に記憶することができ、例えば当該データ及び命令により、コンピューティングデバイス２００の要素同士の間の通信が可能になる。データ及び命令は、オペレーティングシステム２１６を含んでもよく、当該オペレーティングシステム２１６は、制御ソフトウェア２１４を含んでもよい。制御ソフトウェア２１４は、任意の適切なプロトコルを用いてデータを無線で送受信することを制御するコンピュータ実行可能命令を含んでもよく、例えば、当該適切なプロトコルはＯＦＤＭプロトコルである。コンピュータ可読媒体２１２は、コンピューティングデバイス２００における実行のためのアプリケーション２１８を含むコンピュータ実行可能命令をさらに記憶することができる。アプリケーション２１８は、例えば、コンピューティングデバイスの要素を使用して様々な機能を実行し、所望の動作を達成するために、コンピューティングデバイスのユーザにより使用することができる。
【００２５】
本発明は、図２に示した種類のコンピューティングデバイスにより実施されることに限定されず、本発明の実施形態は、任意の適切なコンピューティングデバイスにより実施され得ることを理解されたい。無線ハードウェア２０２、並びにアダプタ２０４、２０６、及び２０８は、任意の適切なハードウェア、ソフトウェア、又はハードウェアとソフトウェアとを組み合わせたものとして実装されてもよく、１つのユニット又は複数のユニットとして実装されてもよい。同様に、コンピュータ可読媒体２１２は、処理デバイスによるアクセスのためのデータ及び命令を記憶する、任意の１つの媒体又は複数の媒体を組み合わせたものとして実装されてもよい。
【００２６】
本発明の幾つかの実施形態において、コンピューティングデバイス２００等の複数のコンピューティングデバイスは、限られた数のサブチャネルを介してデータを送信することができる。よって、コンピューティングデバイスは、通信に適したサブチャネルを選択することができる。この選択は、いかなるように行われてもよく、例えば、以下においてさらに詳しく説明されるように行われる。コンピューティングデバイスが送信のために１つのサブチャネル又は複数のサブチャネルを選択すると、上記デバイスは、別のコンピューティングデバイスが当該サブチャネルを介してデータを送信することを防止し、そうすることによって通信による干渉を防止するために、データを送信する際の使用のためにこれらサブチャネルを「確保（ｒｅｓｅｒｖｅ）」することができる。幾つかの実施形態において、サブチャネルは、１回の離散的なデータ送信（ｄｉｓｃｒｅｔｅ  ｄａｔａ  ｔｒａｎｓｆｅｒ）のためにコンピューティングデバイスに確保することができ、よってサブチャネル選択及び確保プロセスは、データ送信がなされる毎に毎回繰り返すことができる。別の実施形態において、サブチャネルは、通信セッションを含む複数の離散的なデータ送信のためにコンピューティングデバイスにより確保されてもよく、サブチャネル選択及び確保プロセスは、セッション毎の開始時に繰り返されてもよい。幾つかの実施形態において、例えば、高いデータレートが望まれ、この結果、より多くのサブチャネルが必要とされる場合、又は１つ以上のサブチャネルがデータ送信又はセッションの間に通信に不適切になる場合、選択プロセスは、データ送信の間又は通信セッションの間に実行することもできる。本発明は、所定の設定時間において又は所定の設定条件の下で選択プロセスを実行することに限定されない。なぜならサブチャネルの選択及び確保は、通信プロセスにおける任意の適切な時間においてどのように行われてもよいからである。
【００２７】
コンピューティングデバイスが、サブチャネルを介したデータの通信を終えると、当該デバイスにより通信のために以前に確保され且つ選択されたサブチャネルは、上記デバイスにより開放することができ、別のデバイスが当該サブチャネルを使用することができる。この開放は、１回のデータ送信の終わり又は通信セッションの終わりにおいて起きてもよい。幾つかの実施形態において、コンピューティングデバイスが低いデータレートを望む場合、この開放は、データ送信又は通信セッションの間に実行されてもよい。例えば、受信デバイスがデータを適切に処理するデータレートよりも非常に高いデータレートでデータが送信されていることを受信デバイスが示す場合、低いデータレートが望まれるかもしれない。
【００２８】
図３は、このプロセスを、タイムライン３００における複数のコンピューティングデバイスによる典型的な通信プロセスの概要により示す。当該プロセスの詳細は、以下において説明されるが、図３は、説明を簡単にするために与えられた単なる概略である。
【００２９】
ステップ３０２において、デバイスＡにおけるアプリケーションは、所望のデータレートでの接続を要求する。その後、所望のレートでデータを送信するために、２つのサブチャネルが必要であることが判断され、所定のスペクトルが２つの適切なサブチャネルのために検査される。ステップ３０４において、デバイスＡは、上記スペクトルから２つの適切なサブチャネル１及び２を選択して、使用のために当該サブチャネル１及び２を確保する。幾つかの実施形態では、上記デバイスＡは、これら２つのサブチャネルが使用のために選択されたことを示す表示情報を記憶してもよい。
【００３０】
ステップ３０８において、デバイスＢにおけるアプリケーションは、あるデータレートでの接続を要求し、２つのサブチャネルがこの所望のレートを達成するのに必要であることが再び判断される。デバイスＡがステップ３０６においてデータ送信を開始している間に、デバイスＢは、スペクトルを検査してサブチャネル４及び５が通信に適していると特定する。ステップ３１２において、デバイスＢは、通信のためにこれらのサブチャネルを選択して確保する。本発明の幾つかの実施形態において、デバイスＢは、サブチャネル１及び２が通信のためにデバイスＡにより確保されていることを示す通知メッセージをデバイスＡから受信していてもよく、幾つかの実施形態では、デバイスＢは、これらのサブチャネルにおけるデバイスＡの送信を検出して、当該サブチャネルが適していないと特定してもよい。なぜなら、当該サブチャネルは使用されているからである。ステップ３１０において、デバイスＡはデータの送信を終了し、上記サブチャネルを開放し、上記サブチャネルをネットワークにおける他のデバイスによる通信に適したものにする。ステップ３１４において、デバイスＢは、サブチャネル４及び５を介したデータの送信を開始する。
【００３１】
ステップ３１６において、デバイスＡにおけるアプリケーションは、接続が、あるデータレートで確立されることを要求し、上記レートでのデータの送信は２つのサブチャネルを必要とすることが再び判断される。デバイスＡは、適切なサブチャネルのためにスペクトルを検査することを開始して、サブチャネル１及び３が適していることを判断し、ステップ３１８において、サブチャネル１及び３を選択して確保する。本発明の幾つかの実施形態では、デバイスＡは、サブチャネル３を検査する前にサブチャネル１及び２を検査しているかもしれない。なぜなら、デバイスＡは、送信に適しているとして当該サブチャネル１及び２を以前に選択していたからである。デバイスＡは、サブチャネル２が、干渉（当該サブチャネルを介してデータを送信する別のデバイスからの干渉又は任意の別の電子的ノイズからの干渉）のために、送信にはもはや適していないことを検査の間に判断していたかもしれず、サブチャネル３を検査して、選択してもよい。別の実施形態において、サブチャネル１及び３は、適切さについてランダムに検査されて、その後に選択される場合もある。本発明の実施形態は、任意の特定の１つの技術又は複数の技術に従いサブチャネルを選択することに限定されない。なぜなら、サブチャネルの選択は、任意の適切な方法で実施されてもよいからである。
【００３２】
図４は、本発明の幾つかの実施形態により無線でデータを送信するためのサブチャネルを選択するために、コンピューティングデバイスにより実行される１つの典型的なサブチャネル選択プロセスを示す。図４のプロセスは、コンピュータ可読媒体２１２等の少なくとも１つのコンピュータ可読媒体に記憶されるコンピュータ実行可能命令として実装することができ、又はその他の任意の適切な方法で実装してもよい。サブチャネルは、任意の適切な方法で送信のために選択することができ、本発明の実施形態は、図４に示した典型的なプロセスにより実施されることに限定されない。
【００３３】
図４のプロセスは、初期化ステップが実行されるステップ４００において始まる。初期化ステップは、コンピューティングデバイスにおいて実行されるアプリケーションが、当該コンピューティングデバイスと別のコンピューティングデバイスとの間で確立される所定のデータレートの接続、当該接続のための様々なオプションの判断、及び／又はどのようなデータが別のコンピューティングデバイスに送信されるかの判断を要求することを含む。初期化ステップが実行されると、プロセスはステップ４０２に進み、所望のレートに基づいてサブチャネルの数の判断がなされる。
【００３４】
サブチャネルは、任意の適切な方法で選択することができる。例えば、図４の例示的な実施形態では、サブチャネルを選択するために、プロセスは、ステップ４０４から始まるループを実行する。当該ループは、通信のためにデバイスによって使用可能なスペクトル内のサブチャネルを検査することを含み、どのサブチャネルが通信に適しているかを判断する。検査のためのサブチャネルの順序付け（ｏｒｄｅｒｉｎｇ）と当該検査は、任意の適切な方法で行うことができ、その例を以下に説明する。
【００３５】
図４の例示的なプロセスのループは、２つの可能な終了条件を有する。第１の可能な終了条件では、ループは、所望の数のサブチャネルを見つける前にスペクトル内の全てのサブチャネルを検査しており、この場合、プロセスはステップ４１６に進む。プロセスがステップ４１６に進むとエラーが生じ、当該エラーは、接続を要求するアプリケーションによって、又は任意の別の適切な方法により処理され得る。幾つかの実施形態では、ステップ４１６における処理は、適切なサブチャネルによりサポートされ得るデータレートをアプリケーションに知らせることを含んでもよく、図４のプロセスは、適切なサブチャネルにより許される最も高いデータレートに所望のデータレートを下げるアプリケーションによって、再び初期化されてもよい。別の実施形態において、サブチャネルを選択する処理は、適切なサブチャネルについてのスペクトルを再び検査する前に、予め決められた期間又はランダムな期間待ってもよい。一方、第２の可能な終了条件では、ステップ４０６における処理は、所望の数のサブチャネルが選択されたことを判断し、この場合、プロセスはステップ４１８に進む。ステップ４１８及びその後のステップは、以下において詳しく説明する。
【００３６】
終了条件に合うまで、図４のプロセスは、スペクトルの複数のサブチャネルの中をループする。ステップ４０８において、選択されたサブチャネルは、ステップ４１０及び４１２においてなされる判断を助ける情報を集めるために検査される。ステップ４１０において、プロセスは、サブチャネルが通信のために他のデバイスにより使用されているかどうかを判断し、ステップ４１２において、サブチャネルが効率的な通信を可能にするのに非常に大きな電子的な干渉を受けるかどうかを判断する。図示した実施形態では、サブチャネルが別のデバイスにより既に使用されているか、そうでなければノイズが大きすぎる場合、サブチャネルは、信号を通信するときの使用に不適切であると考えられる。どちらかのステップにおいてサブチャネルが通信に不適切であると判断された場合、ループは次のサブチャネルに進む。サブチャネルが通信に適していると判断された場合、当該サブチャネルは送信のために選択され（ステップ４１４）、ループは次のサブチャネルに進む。
【００３７】
情報は、ステップ４０８において任意の適切な方法で得ることができることを理解されたい。図示したプロセスでは、情報は、予め決められた間隔にわたって、サブチャネルにおけるエネルギーをサブチャネルにおける「リスニング」の形態として監視することにより得られる。幾つかの実施形態では、コンピューティングデバイスは、検査されているサブチャネルに当該コンピューティングデバイスのハードウェアを調整し、ハードウェアにおけるレシーバを使用して、予め決められた期間、上記サブチャネルのエネルギーに関するデータを集める。データは、任意の適切な形態で集められてもよく、例えば、ピークエネルギーレベル、平均エネルギーレベル、中間エネルギーレベル等を含む。この実施形態では、リスニングは、サブチャネルにおけるエネルギーレベルを検出して、判断のステップに入力として提供することを含んでもよく、又はサブチャネルからデータを受信する（若しくは受信するように試みる）ことを含んでもよい。別の実施形態では、コンピューティングデバイスは、少なくとも１回スペクトル全体をサンプリングしてもよく、サンプルにおいてフーリエ変換のような検査ステップを行うことにより、複数のサブチャネルに存在するエネルギーレベルを測定してもよい。しかしながら、これらの技術は単なる例であり、１つのサブチャネル又は複数のサブチャネルを検査する任意の適切な技術が本発明の実施形態により使用されてもよいことを理解されたい。
【００３８】
所望の数のサブチャネルがスペクトルから選択される場合（上記した第２の終了条件）、プロセスは、ステップ４０６からステップ４１８に進み、選択されたサブチャネルの指示情報（ｉｎｄｉｃａｔｉｏｎ）がコンピューティングデバイスに記憶される。この指示情報は、リスト又は任意の別の適切なデータ構造としてフォーマットされていてもよい。例えば、リストが、送信における使用のためにコンピューティングデバイスの一時記憶部に記憶され得るか、又は将来の送信における使用のために長期記憶部に記憶され得る。
【００３９】
ステップ４２０において、コンピューティングデバイスは、サブチャネルのリストを含む通知メッセージを、１つ以上の別のコンピューティングデバイスに送信する。本発明の幾つかの実施形態において、サブチャネルがコンピューティングデバイスにより後に開放されるまで、この通知メッセージは、コンピューティングデバイスによる使用のために選択されたサブチャネルを確保するのに用いることができる。受信側の１つ以上の別のコンピューティングデバイスは、送信側のコンピューティングデバイスにより送信されるデータを受信する、接続のその他のエンドポイントとして機能するその他のコンピューティングデバイスを含んでもよく、又は送信側のコンピューティングデバイスの送信範囲内の全ての別のコンピューティングデバイスを含んでもよい。本発明の幾つかの実施形態では、ステップ４２０の送信は、特定のプロトコルを用いて全てのデバイスによりリスニングされる制御周波数を介してなされる。ビーコン信号がこの制御周波数を用いて送信されてもよく、幾つかの実施形態では、ステップ４２０の送信は、ビーコン信号又は既に使用されている別の信号の一部としてなされる。しかしながら、本発明の実施形態では、この情報は任意の適切な方法で送信されてもよいことを理解されたい。
【００４０】
リストが記憶され、送信されると、ステップ４２２において、データは、選択されたサブチャネルを用いて接続ルートを介して送信される。これらのサブチャネルは、上述したように必ずしも連続してはいないが、スペクトルの任意の部分において所定のプロセスにより見つけられた、任意の適切なサブチャネルであり、複数のサブチャネルが、所望のデータレートでの送信を行うために選択され、送信される。サブチャネルを介する送信は、任意の適切な方法で、任意の適切なプロトコルに従い行うことができることを理解されたい。なぜなら、本発明は、任意の特定のネットワークで実施されることに限定されないからである。ステップ４２４において、プロセスは終了する。本発明の実施形態では、ステップ４２４は、コンピューティングデバイスが、選択されたサブチャネルを介して既に通信していないことを示す第２の通知メッセージを、１つ以上のコンピューティングデバイスに送信することを含んでもよい。このように、コンピューティングデバイスにより確保されていたサブチャネルを開放することができ、別のコンピューティングデバイスによる使用に適したものにすることができる。
【００４１】
図４のフローチャートに示したプロセスは単なる例であり、別のプロセス又は一連のステップも可能であることを理解されたい。例えば、本発明の別の実施形態では、接続がアプリケーションにより要求される前に、ステップ４０４から始まるループが実行されてもよい。この実施形態では、スペクトルは、コンピューティングデバイスにより定期的に検査され、適切なサブチャネルの指示情報を記憶することができ、接続が要求されたときに判断を行うのではなく、アプリケーションが接続を要求するときに、所望の数のサブチャネルを、予め判断されたサブチャネルの適切さに基づいて迅速に割り当て、使用することができる。
【００４２】
本発明の実施形態は、低電力モードで動作してもよく、低電力モードでは、送信についてのサブチャネルの適性は、スペクトル全体の一部（ｓｕｂｓｅｔ）にさらに制限される。検査されるサブチャネルの数を制限することは、リスニングすること及び判断することに使われる電力の量を減じ、異なる周波数（すなわち、異なるサブチャネル）で送受信するようにコンピューティングデバイスを設定することに用いられる電力の量を減じる。低電力モードは、ユーザ入力又は所定のバッテリー電力における動作等のデバイスの動作状態に応じて、又は任意の別の適切な方法で起動されることができる。
【００４３】
図４の例では、プロセスは、接続を開始するデバイスにおいて実行される。代わりに又は追加して、別のコンピューティングデバイスにより確立されている接続のエンドポイントとなるデバイスが、サブチャネルを選択するためにプロセスを実行してもよい。コンピューティングデバイスは、データを受信するためにスペクトルを検査し、当該コンピューティングデバイスのために１組のサブチャネルを確保することができ、次いで、当該コンピューティングデバイスが選択したサブチャネルを介してリスニングしている範囲内の全てのデバイスに、通知を送信することができる。その後、コンピューティングデバイスにデータを送信しようとしているデバイスは、これらのサブチャネルを使用して送信を行う。接続のエンドポイントは、同じサブチャネル又は異なるサブチャネルを使用することができる。
【００４４】
本発明の実施形態は、図４に示したステップよりも少ないステップで実行することもできる。例えば、本発明の実施形態では、ステップ４１８においてなされたように、選択されたサブチャネルのリストを記憶しなくてもよく、又はステップ４２０のように、選択されたサブチャネルのリストを別のデバイスに送信しなくてもよい。本発明の幾つかの実施形態では、ステップ４１０とステップ４１２は、別個のステップではなく１つのステップに組み合わされてもよい。
【００４５】
また、本発明の実施形態は、図４の例示的なプロセスにより実行されるステップよりも多くのステップで実行されてもよいことを理解されたい。本発明の幾つかの実施形態では、通信のために選択されたサブチャネルの指示情報を記憶することに加えて、プロセスが、時間又は使用状況要素（ｕｓａｇｅ  ｅｌｅｍｅｎｔ）等のより多くの情報を記憶することができる。時間又は使用状態要素は、いつサブチャネルがコンピューティングデバイスにより開放されるのかについての情報を含んでもよく、又はサブチャネルが選択された状態（ｃｏｎｄｉｔｉｏｎ）についての情報を含んでもよい。
【００４６】
本発明の幾つかの実施形態では、送信に不適切であるとみなされたサブチャネルのリストを、接続を確立する際に使用するサブチャネルの選択に将来用いるために維持してもよい。このようにして、通信に不適切であると見なされたサブチャネルを、将来において避けることができる。本発明の別の実施形態では、ステップ４１８において記憶されたリストを、サブチャネルが不適切であると判断された時点で更新することができる。例えば、サブチャネルが、予め選択されているリストに存在するが、不適切であると判断された場合、当該サブチャネルをリストから削除することができ、そうでなければリスト内で格下げ（ｄｏｗｎｇｒａｄｅ）してもよい。リスト内でサブチャネルを格下げする任意の適切な技術を本発明の実施形態により使用することができ、当該リスト内でサブチャネルを格下げする任意の適切な技術は、例えば、サブチャネルをリスト内で下方に動かすこと、そうでなければ、当該サブチャネルが別のサブチャネルよりも適していないことを示すことを含む。
【００４７】
サブチャネルは、任意の適切な順番で、通信についての適切さを検査するために選択され得ることを理解されたい。本発明の幾つかの実施形態では、順番はランダムに決定されるが、その他の実施形態では、サブチャネルは、スペクトルの一端から他端へ連続して順序付けされ、この順番に従い検査されてもよい。
【００４８】
しかしながら、幾つかのプロトコルは、超広帯域（ＵＷＢ）通信又はＷｉＭＡＸ（Ｗｏｒｌｄｗｉｄｅ  Ｉｎｔｅｒｏｐｅｒａｂｉｌｉｔｙ  ｆｏｒ  Ｍｉｃｒｏｗａｖｅ  Ａｃｃｅｓｓ）等の、スペクトルの非常に広い帯域幅に亘って周波数分割多重（ＦＤＭ）を使用するので、スペクトルのどのサブチャネルが空いているのかを判断する時間及び処理に関するコストが高くなることがある。
【００４９】
よって、本発明の幾つかの実施形態では、サブチャネルが検査される順番は、以前に判断されたデータを使用する認識プロセスに基づくことができる。データは、同じコンピューティングデバイス、同じ様なプロセスを実行する別のコンピューティングデバイス、又は任意の他の適切なソースから得ることができる。この実施形態では、プロセスの認識の態様は、より容易に、迅速に、且つ効率的に判断する助けとするために、以前に判断された情報から「学習する」ステップに関する。
【００５０】
典型的な認識順序付けプロセスを、図５に示す。認識プロセスは、サブチャネルが検査される順番を予め決めるために、図４に示した選択プロセス等の選択プロセスの前に実行される別個のプロセスとして実施されるか、所定のサブチャネルが検査された後に、次に検査するサブチャネルを決定するために選択プロセスと共に実行されるか、又は任意の適切な時間及び任意の適切な方法で実行されてもよい。
【００５１】
ステップ５００において、予め選択されたサブチャネルのリスト（例えば図４のステップ４１８において記憶されたサブチャネルのリスト）が、コンピューティングデバイスの記憶部から取り出される。サブチャネルのこのリストは、最も最近行われた選択プロセスにより選択されたサブチャネルを含んでもよく、又は２回以上の以前の選択プロセスから集められたサブチャネルについての情報を含んでもよい。集められた情報の例として、リストは、サブチャネルが通信に適していると判断された回数を含む指標（ｉｎｄｅｘ）により順序付けすることができるが、本発明の実施形態では、任意の回数の選択プロセスから集められた任意の情報が記憶されてもよいことを理解されたい。
【００５２】
ステップ５０２において、順序付けプロセスは、リスト内のサブチャネルの検査を始める。プロセスは、リスト内のサブチャネルを連続的に検査してもよく、又は上記したような指標等に基づいてサブチャネルを検査してもよい。サブチャネルが、ステップ５０４においてリストから選択されると、当該サブチャネルは、ステップ５０８において、別のコンピューティングデバイスにより現在選択されているとして示されるサブチャネルのリストと照らし合わせてチェックされる。ステップ５０８のチェックは、ネットワークにおけるコンピューティングデバイス同士の間の通知メッセージの交換により可能にされてもよく、当該通知メッセージは、通信のために選択されたサブチャネルのセットを含む。これらのサブチャネルのセットは、任意の適切な方法で交換することができる。例えば、任意の適切な方法は、図４のステップ４２０に関連して上述したプロセスを含む。
【００５３】
上記サブチャネルが別のコンピューティングデバイスにより選択されたとして示されていない場合、ステップ５１０において、当該サブチャネルは検査されたとしてマークを付けられ、図３に関連して説明したように検査されるか、又は、任意のその他の適切な方法で検査される。しかしながら、サブチャネルが別のコンピューティングデバイスにより選択されたとして示された場合であって、検査されていない多くのサブチャネルがリスト内に存在するとステップ５０２において判断された場合、リスト内の別のサブチャネルがステップ５０４において選択されてもよい。リストは更新され、別のデバイスにより使用されるサブチャネルがリストから削除されるか、そうでなければ格下げされる。
【００５４】
検査するプロセスにおいて、リスト内の全てのサブチャネルがステップ５１０において検査されたとしてマークを付けられ、且つ所望の数のサブチャネルがまだ選択されていない場合、プロセスは、ステップ５０６においてリスト内に存在しないサブチャネルを検査してもよい。これらサブチャネルが検査される順序付けは、任意の適切な方法でなされてよく、例えば、当該順序付けは、ランダムな順序付けであるか、或いは、最も低い周波数を有するサブチャネルから最も高い周波数を有するサブチャネルへ連続的に順序付けすることを含む。ステップ５１０により検査されたとしてまだマークを付けられていないサブチャネルは、当該サブチャネルが通信に適しているかどうかを判断するために、図４に関連して上述したように、又は任意の適切な方法で検査することができる。
【００５５】
図５は単なる例示的なプロセスであり、本発明の実施形態は、図５において概略的に示したプロセスを実行することには限定されないことを理解されたい。本発明の実施形態では、図５に示したステップと異なるステップ、より多いステップ、又はより少ないステップが実行されてもよい。例えば、本発明の幾つかの実施形態は、通信に適していないと以前に判断されたサブチャネルのリストを取り出すステップを実行してもよい。このリストは、例えば、以前に選択されたサブチャネルのリスト内に存在しないサブチャネルの検査のために選択するときに使用してもよい。
【００５６】
幾つかの別の実施形態においては、図５のステップ５０８は、別のコンピューティングデバイスから受信したサブチャネルのリストと照らし合わせて、サブチャネルを比較することを含まなくてもよい。例えば、このような比較は、コンピューティングデバイスが、図４のステップ４２０により示されたように選択されたサブチャネルのリストを交換することによってサブチャネルを確保しない実施形態では、なされなくてもよい。これらの実施形態では、コンピューティングデバイスが別のコンピューティングデバイスによる送信のために既に選択されているサブチャネルを送信のために選択する場合に、衝突（コンフリクト）に対処するために、所定のプロセスが実行されてもよい。
【００５７】
図６は、２つのコンピューティングデバイスがタイムライン６１８に関する送信のために、同一のサブチャネルを選択する場合に生ずる衝突（コンフリクト）を解決する典型的なプロセスを示す。ステップ６００において、コンピューティングデバイスＡは、上述した技術を含む選択のための任意の適切な方法に従って、送信のために典型的なサブチャネル１を選択する。ステップ６０２において、コンピューティングデバイスＢは、デバイスＡがサブチャネル１を選択したことを検出せず且つ送信のために当該サブチャネル１を選択する。例えば、コンピューティングデバイスＢは、当該コンピューティングデバイスＢがサブチャネル１における検出をデバイスＡが送信を行っていない間に行ったために、デバイスＡを検出しないことがある。しかしながら、デバイスＢがデバイスＡを検出しなかった理由は、本発明にとって重要なことではない。
【００５８】
ステップ６０４において、デバイスＡは、サブチャネル１における干渉を検出する。図示した状況では、当該干渉は、同時に当該サブチャネルにおいて送信しようとする両方のデバイスにより引き起こされる。これに応じて、デバイスＡは待機時間に入り、待機時間においては、当該デバイスＡはランダムな（不特定の）期間、上記サブチャネルにおいて送信を行わない。ステップ６０６において、デバイスＢも干渉を検出して、ランダムな（不特定の）期間、待機する。これらのランダムな時間は、任意の適切な範囲とすることができる。本発明の幾つかの実施形態では、待機時間はミリ秒のオーダーであってもよいが、本発明の別の実施形態では、待機時間は秒のオーダーであってもよい。しかしながら、本発明は、このランダムな（不特定の）待機時間を、任意の特定の範囲の時間で実装することには限定されないことを理解されたい。
【００５９】
これらの時間はランダムに選択されるので、待機時間は異なり、より短い待機時間を有するデバイスが、そのサブチャネルを先に再び使用しようとするだろう。デバイスＢがより短い待機期間を有するので、まず、当該デバイスＢがステップ６０８においてサブチャネルを干渉についてチェックし、ステップ６１０においてサブチャネルが通信のために空いていることを判断し、この時点において、当該デバイスＢはそのデータの送信を再び始める。ステップ６１２において、デバイスＡは待機期間から出て、干渉についてサブチャネル１をチェックし、ステップ６１４において、サブチャネル１がデバイスＢにより使用されていて、よって送信に適していないと判断する。その後デバイスＡは、ステップ６１６に進み、通信のために新しいサブチャネルを選択する。このような選択は、上述したような技術を含む任意の適切な方法で行われ得る。
【００６０】
図６に示したプロセスは単なる例示的なものであり、本発明の実施形態は衝突（コンフリクト）を解決するための上記プロセスを実行することには限定されないことを理解されたい。所定の実施形態では、干渉の記録を、予め選択されたサブチャネルのリスト内又は予め不適切であるサブチャネルのリスト内に記憶することなど、より多くのステップが実施されてもよい。図６は、説明を簡単にするために２つのデバイスの間の衝突（コンフリクト）を示すが、衝突（コンフリクト）は２つ以上のコンピューティングデバイスの間で生じることがあることも理解されたい。
【００６１】
本発明の上述した実施形態は、任意の多くの方法で実装することができる。例えば、所定の実施形態は、ハードウェア、ソフトウェア、又はそれらを組み合わせたものを使用して実装されてもよい。ソフトウェアで実装される場合、ソフトウェアコードは、任意の適切な１つのプロセッサ又は複数のプロセッサの集合において実行され、複数のプロセッサは、１つのコンピュータに設けられているか、または、複数のコンピュータの中に分散されている。
【００６２】
さらに、コンピュータ又は端末は、ラックマウント式コンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、又はタブレットコンピュータ等の多数の形態のうちの１つとすることができることを理解されたい。さらに、コンピュータ又は端末は、通常はコンピュータと見なされないが、適切な処理能力を有するデバイスに組み込まれてもよい。例えば、当該デバイスは、個人情報端末（ＰＤＡ）、スマートフォン、又は任意のその他の適切なポータブル若しくは固定電子デバイスを含む。
【００６３】
また、コンピュータは、１つ以上の入力及び出力デバイスを有することができる。これらのデバイスは、特にユーザインターフェイスを提供するために使用され得る。ユーザインターフェイスを提供するために使用され得る出力デバイスの例は、出力の視覚的な提示のためのプリンタ又はディスプレイスクリーン、及び、出力の聴覚的な提示のためのスピーカ又は別の音声生成デバイスを含む。ユーザインターフェイスを提供するために使用され得る入力デバイスの例は、キーボード、並びに、マウス、タッチパッド、及びデジタイジングテーブル（ｄｉｇｉｔｉｚｉｎｇ  ｔａｂｌｅ）等のポインティングデバイスを含む。別の例では、コンピュータは、音声認識手段又は別の音声フォーマットで入力情報を受信してもよい。
【００６４】
このようなコンピュータは、適切な形態で１つ以上のネットワークにより相互接続することができ、当該ネットワークは、企業内ネットワーク又はインターネット等の、ローカルエリアネットワーク又はワイドエリアネットワークを含む。このようなネットワークは、任意の適切な技術に基づくことができ、任意の適切なプロトコルに従い動作することができ、かつ、無線ネットワーク、有線ネットワーク、又は光ファイバネットワークを含む。
【００６５】
また、ここで概略を説明した様々な方法又はプロセスは、様々なオペレーティングシステム又はプラットフォームのうちの任意の１つを使用する１つ以上のプロセッサにおいて実行可能であるソフトウェアとしてコード化されてもよい。さらに、そのようなソフトウェアは、任意の多数の適切なプログラミング言語及び／又は従来のプログラミングツール若しくはスクリプトツールを用いて書かれていてもよく、フレームワーク又は仮想マシンにおいて実行される実行可能な機械語コード又は中間コードとしてコンパイルされてもよい。
【００６６】
この点について、本発明は、１つ以上のコンピュータ又はその他のプロセッサにおいて実行された場合に、上記した本発明の様々な実施形態を実施する１つ以上のプログラムが符号化された１つのコンピュータ可読媒体（又は、複数のコンピュータ可読媒体）（例えば、コンピュータメモリ、１つ以上のフロッピー（登録商標）ディスク、コンパクトディスク、光ディスク、磁気テープ、フラッシュメモリ、フィールドプログラマブルゲートアレイ又はその他の半導体デバイスにおける回路等）として実現することができる。１つ又は複数のコンピュータ可読媒体は、当該コンピュータ可読媒体に記憶された１つ又は複数のプログラムが、上記した本発明の様々な実施形態を実施するために１つ以上の異なるコンピュータ又はその他のプロセッサにロードされ得るように、可搬型とすることができる。
【００６７】
用語「プログラム」又は「ソフトウェア」は、コンピュータ又はその他のプロセッサをプログラムして、上記したような本発明の様々な態様を実施するために使用され得る任意の種類のコンピュータコード又はコンピュータ実行可能命令のセットを通常のように意味するためにここで使用される。さらに、この実施形態の一態様によれば、実行されたときに本発明の方法を実施する１つ以上のコンピュータプログラムは、１つのコンピュータ又はプロセッサに存在している必要は無く、本発明の様々な態様を実施するために多数の異なるコンピュータ又はプロセッサにモジュール形式で分散されてもよいことを理解されたい。
【００６８】
コンピュータ実行可能命令は、１つ以上のコンピュータ又はその他のデバイスにより実行されるプログラムモジュール等の様々な形態をとり得る。一般的に、プログラムモジュールは、特定のタスクを実行するか、特定の種類の抽象データを実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含む。典型的には、プログラムモジュールの機能は、様々な実施形態において望まれるように組み合わされてもよく、又は分散されてもよい。
【００６９】
本発明の様々な態様は、単独で、組み合わされて、又は上述した実施形態で特に説明されていない様々な配置で使用されてもよく、その適用において、上記において説明したか図面に示した細かな点及び要素の配置に限定されない。例えば、ある実施形態において説明された態様は、別の実施形態において説明された態様と任意の方法で組み合わされてもよい。
【００７０】
発明特定要素を修飾するために特許請求の範囲において「第１の」、「第２の」、「第３の」等の順番を示す用語を使用することは、それ自体で、ある発明特定要素のその他の発明特定要素に対する優先、先行、若しくは順序、又は方法のステップが実行される時間的な順序を意味しないが、上記順番を示す用語は、ある名前を有する１つの発明特定要素を同じ名前（しかし順番を示す用語を使用している）を有する別の要素から区別するために、区別のための用語として単に使用され、発明特定要素同士を区別する。
【００７１】
また、ここで使用される表現及び用語は説明のために用いられており、制限するとみなされるべきではない。「含む」、「備える」、又は「有する」、「包含する」、「伴う」及びこれらと同様の表現は、これらの表現の後に記載される項目及び均等物並びに追加の項目を含むことができることを意味する。
【００７２】
本発明の少なくとも１つの実施形態の幾つかの態様を説明してきたが、様々な変形、変更、及び改良が当業者により容易に考え出されるであろうことを理解されたい。このような変形、変更、及び改良は本発明の一部であり、本発明の趣旨及び範囲内にある。よって、上記の説明及び図面は単なる例である。
【図１】
0005535643.tif 000002
【図２】
0005535643.tif 000003
【図３】
0005535643.tif 000004
【図４】
0005535643.tif 000005
【図５】
0005535643.tif 000006
【図６】
0005535643.tif 000007