(58)【調査した分野】(Int.Cl.,DB名)
1以上のワイヤレス・チャネルを前記割り当てるステップは、該1以上のワイヤレス・チャネルのチャネル品質に基づく、請求項1乃至7いずれか一項記載のコンピュータにより実施される方法。
【発明を実施するための形態】
【0007】
概要
デバイス間ワイヤレス・データ通信の接続情報のための技術が説明される。少なくともいくつかの実施形態において、仲介デバイスは、様々なワイヤレス・デバイスのワイヤレス接続情報を保持する。ワイヤレス接続情報は、特定のワイヤレス・デバイスにアクセスすることができるワイヤレス・チャネルを含む。仲介デバイスは、ワイヤレス・デバイスとのワイヤレス通信を可能にするために、ワイヤレス接続情報を様々な他のデバイスに提供することができる。例えば、仲介デバイスは、ワイヤレス接続情報を求めるデバイスからの問合せに応答して、ワイヤレス接続情報を提供することができる。代替的に又は追加的に、仲介デバイスは、そのような問合せとは無関係に、例えば、ワイヤレス接続情報を含む事前通知を介して、ワイヤレス接続情報を提供してもよい。
【0008】
例えば、ワイヤレス・デバイス(例えば、ワイヤレス・マウス)が、特定のワイヤレス・チャネル及び/又はワイヤレス・チャネルのセットを介して通信するよう構成されるシナリオを考えてみる。ワイヤレス・デバイスは、仲介エンティティに、1つのチャネル及び/又は複数のチャネルに加えて、ワイヤレス・デバイスのためのワイヤレス通信パラメータに関する他の情報も通知することができる。仲介エンティティは、チャネルの識別子を含むワイヤレス接続情報を、例えば、ラップトップ・コンピュータ、デスクトップ・コンピュータ、タブレット・コンピュータ等のクライアント・デバイスに提供することができる。クライアント・デバイスは、ワイヤレス接続情報を利用して、1以上のチャネルを介してワイヤレス・デバイスとワイヤレスでデータを通信することができる。少なくともいくつかの実施例において、クライアント・デバイスは、1以上のチャネルを利用して、例えば、中間デバイス又はネットワークとは無関係に、ワイヤレス・デバイスとの直接ワイヤレス接続を確立することができる。
【0009】
少なくともいくつかの実施例において、クライアント・デバイスとワイヤレス・デバイスとの間のデータ通信は、クライアント・デバイスとワイヤレス・デバイスとの間の直接ワイヤレス・ローカル・エリア・ネットワーク(WLAN)接続を介して実施され得る。WLANは、例えば、IEEE(Institute of Electrical and Electronics Engineers)により管理されるワイヤレス・データ通信のための802.11規格に従って、クライアント・デバイスにより実施され得る。802.11規格は、しばしば、「Wi−Fi(登録商標)」と呼ばれるが、本明細書では、WLANと呼ぶ。
【0010】
通常、WLAN規格は、ワイヤレス・デバイスが通信するために利用することができる特定のチャネル周波数帯域を指定する。そのような周波数帯域の例は、2.4ギガヘルツ(GHz)、3.6GHz、5GHz等を含む。さらに、特定の周波数帯域は、信号を送信するために各々を使用することができる複数のチャネルに分割され得る。例えば、周波数帯域は、信号を送信及び/又は受信するために選択することができる重なり合わない複数のチャネルに分割され得る。少なくともいくつかの実施例において、チャネルは、特定の周波数帯域の20メガヘルツ(MHz)幅の分割に対応し得る。
【0011】
チャネルは、信号を送信及び/又は受信するために個別に利用することができる複数のサブチャネル(例えば、キャリア信号)にさらに分割され得る。例えば、(例えば、上述した周波数帯域のうちの1つにおける)20MHz幅のチャネルは、RF信号を送信及び受信するために各々を使用することができる52個のサブチャネルに分割され得る。直交周波数分割多重方式(OFDM)等の信号変調を利用する実施例において、サブチャネルのうちのいくつかは、データを送信するために利用され得るのに対し、他のサブチャネルは、誤り訂正のために利用され得る。例えば、OFDMを52個のサブチャネルに適用する実施例において、サブチャネルのうちの48個が、データを送信及び受信するために利用され得るのに対し、サブチャネルのうちの4個が、誤り訂正のために利用され得る。利用可能なサブチャネルのこの割り当ては、例示の目的で提供されたに過ぎず、実施例は、多種多様なタスク及び/又は目的のために、利用可能なサブチャネルを割り当ててもよい。したがって、本明細書で使用されるとき、用語「チャネル」は、特定のチャネル、チャネルのセット、サブチャネル、及び/又はサブチャネルのセットを指し得る。
【0012】
少なくともいくつかの実施形態において、クライアント・デバイスとワイヤレス・デバイスとの間のワイヤレス接続は、サブチャネルの予め指定されたサブセットに従って確立され得る。例えば、ワイヤレス・デバイスは、予め指定された1つのチャネル及び/又はチャネルのセットを用いてデータを送信するよう構成され得る。したがって、クライアント・デバイスには、(例えば、仲介エンティティにより、)ワイヤレス・デバイスとのワイヤレス・データ通信を可能にする1以上のチャネルが通知され得る。代替的に又は追加的に、1以上のチャネルが、例えば、仲介エンティティにより、ワイヤレス・デバイスとのワイヤレス・データ通信のために割り当てられてもよい。
【0013】
以下の記載において、本明細書で説明する技術を使用するよう動作可能な例示的な環境がまず説明される。次いで、「例示的な実施シナリオ」と題されるセクションが、その例示的な環境及び他の環境において使用され得る、本明細書で説明する技術を伴ういくつかの実施シナリオを説明する。最後に、「例示的なシステム及びデバイス」と題されるセクションが、1以上の実施形態に従った、本明細書で説明する技術を使用するよう動作可能な例示的なシステム及びデバイスを説明する。
【0014】
例示的な環境
図1は、デバイス間ワイヤレス・データ通信の接続情報のための技術を使用するよう動作可能な、例示的な実施例における環境100の図である。環境100は、任意の適切なコンピューティング・デバイスとして具現化され得るコンピューティング・デバイス102を含む。コンピューティング・デバイス102としては、例えば、デスクトップ・コンピュータ、ポータブル・コンピュータ(例えば、ラップトップ)、携帯情報端末(PDA)等のハンドヘルド・コンピュータ、タブレット・コンピュータ等があるが、これらに限定されるものではない。コンピューティング・デバイス102の多種多様な例のうちの1つが
図6に示され、以下で説明される。
【0015】
図1のコンピューティング・デバイス102は、クライアント・ワイヤレス・モジュール104を含むものとして図示されている。クライアント・ワイヤレス・モジュール104は、コンピューティング・デバイス102が、他のデバイス及び/又はエンティティとワイヤレスで通信することを可能にする機能を表す。クライアント・ワイヤレス・モジュール104は、多種多様なワイヤレス技術及びプロトコルを介したデータ通信を可能にするよう構成され得る。そのような技術及び/又はプロトコルの例は、セルラ通信(例えば、2G、3G、4G等)、近距離通信(NFC)、近距離ワイヤレス接続(例えば、Bluetooth(登録商標))、ローカル・エリア・ワイヤレス・ネットワーク(例えば、IEEE802.11に準拠する1以上の規格)、ワイド・エリア・ワイヤレス・ネットワーク(例えば、IEEE802.16に準拠する1以上の規格)、ワイヤレス電話網等を含む。例えば、クライアント・ワイヤレス・モジュール104は、本明細書で説明する、デバイス間ワイヤレス・データ通信の接続情報のための技術を使用するよう構成される。
【0016】
コンピューティング・デバイス102は、クライアント・ワイヤレス・ハードウェア106をさらに含む。クライアント・ワイヤレス・ハードウェア106は、コンピューティング・デバイス102がワイヤレスで通信することを可能にするために使用することができる様々なハードウェア・コンポーネントを表す。クライアント・ワイヤレス・ハードウェア106の例は、無線送信機、無線受信機、様々なタイプのアンテナ及び/又はアンテナの組合せ、インピーダンス・マッチング機能等を含む。
【0017】
さらに、コンピューティング・デバイス102の一部として、1以上のデバイス・ドライバ108が含まれる。デバイス・ドライバ108は、コンピューティング・デバイス102が、様々なデバイスとインタラクトすること、及びその逆を可能にする機能を表す。例えば、デバイス・ドライバ108は、コンピューティング・デバイス102の様々な機能(例えば、オペレーティング・システム、アプリケーション、サービス等)が、コンピューティング・デバイス102に関連付けられた入力/出力(I/O)デバイス等の様々なデバイスとインタラクトすることを可能にし得る。さらに、デバイス・ドライバ108は、コンピューティング・デバイス102に関連付けられたデバイス(例えば、I/Oデバイス)が、コンピューティング・デバイス102の様々な機能とインタラクトすることを可能にし得る。
【0018】
環境100は、ワイヤレス・デバイス110をさらに含む。ワイヤレス・デバイス110は、コンピューティング・デバイス102とワイヤレスで通信するよう構成された多種多様なデバイスを表す。ワイヤレス・デバイス110の例は、マウス、キーボード、ゲーム・コントローラ、タッチパッド、オーディオ出力デバイス、ビデオ・ディスプレイ・デバイス、センサ、カメラ等を含む。これらの例は、例示の目的で提供されたに過ぎず、多様な他のデバイス・タイプ及び/又はインスタンスが、特許請求される実施形態の主旨及び範囲内で使用され得る。
【0019】
ワイヤレス・デバイス110は、デバイス・ワイヤレス・モジュール112を含む。デバイス・ワイヤレス・モジュール112は、例えば、本明細書で説明する、デバイス間ワイヤレス・データ通信の接続情報のための技術に従ったワイヤレス・データ通信を可能にする機能を表す。例えば、デバイス・ワイヤレス・モジュール112は、ワイヤレス・デバイス110が、例えば、デバイス・ワイヤレス・モジュール112とクライアント・ワイヤレス・モジュール104との間のデータ通信を介して、コンピューティング・デバイス102とワイヤレスで通信することを可能にし得る。デバイス・ワイヤレス・モジュール112は、多種多様なワイヤレス技術及び/又はプロトコルを介したデータ通信を可能にするよう構成され得る。ワイヤレス技術及び/又はプロトコルの例は、上記及び以下のとおりである。
【0020】
さらに、ワイヤレス・デバイス110の一部として、デバイス・ワイヤレス・ハードウェア114が含まれる。デバイス・ワイヤレス・ハードウェア114は、ワイヤレス・デバイス110がワイヤレスで通信することを可能にするために使用することができる様々なハードウェア・コンポーネントを表す。デバイス・ワイヤレス・ハードウェア114の例は、無線送信機、無線受信機、様々なタイプのアンテナ及び/又はアンテナの組合せ、インピーダンス・マッチング機能等を含む。
【0021】
本明細書で説明する実施例に従うと、ワイヤレス・デバイス110と、多種多様なワイヤレス・データ通信技術及び/又はプロトコルを利用するコンピューティング・デバイス102との間のワイヤレス・データ通信を確立するための技術を使用することができる。例えば、上述した802.11規格を参照すると、例えば、デバイス間のWLAN接続を管理する別個のアクセス・ポイントとは無関係に、デバイス間のWLAN接続を介したワイヤレス・デバイス110とコンピューティング・デバイス102との間の直接ワイヤレス・データ通信を可能にするための技術を使用することができる。
【0022】
ワイヤレス・デバイス110とコンピューティング・デバイス102との間のWLAN接続を確立及び維持する1つの例示的な方法は、IEEEにより確立及び管理されるWi−Fi Direct(登録商標)プロトコルの一部を利用する。例えば、コンピューティング・デバイス102及び/又はワイヤレス・デバイス110は、例えば、Wi−Fi Direct(登録商標)準拠のデータ・パケットの交換を介する等、Wi−Fi Direct(登録商標)プロトコルを介して通信するよう構成され得る。したがって、少なくともいくつかの実施例において、本明細書で説明する、デバイス間ワイヤレス・データ通信の接続情報のための技術は、例えば、コンピューティング・デバイス102とワイヤレス・デバイス110との間等のデバイス間のWi−Fi Direct(登録商標)データ通信のコンテキストで使用され得る。しかしながら、これは、限定的であることを意図するものではなく、開示する実施形態に従った多種多様なワイヤレス技術及びプロトコルが利用されてもよい。さらに、確立されるワイヤレス・プロトコル(例えば、802.11、Wi−Fi Direct(登録商標)等)の所定の態様が、デバイス間のワイヤレス・データ通信を可能にする本明細書で説明する技術とともに利用され得るが、本明細書で説明する技術は独創的なものであり、現在存在するようなこれらのプロトコルの一部として考えられるべきではない。
【0023】
環境100は仲介デバイス116をさらに含む。仲介デバイス116は、仲介モジュール118を含む、且つ/あるいは仲介モジュール118を使用する。仲介デバイス116は、コンピューティング・デバイス、サーバ、ワイヤレス・ルータ等の任意の適切なデバイス及び/又はデバイスの組合せとして構成され得る。仲介モジュール118は、コンピューティング・デバイス102、ワイヤレス・デバイス110等の様々なデバイスのためのワイヤレス・サービスを管理する機能を表す。例えば、仲介モジュール118は、様々なデバイスのワイヤレス接続情報をトラッキングすることができ、デバイス間のワイヤレス・データ通信を可能にするために、デバイス間でワイヤレス接続情報を伝達することができる。仲介モジュール118は、様々な他のワイヤレス関連機能を実施することができる。他のワイヤレス関連機能の例については以下で説明する。
【0024】
例示の目的上、環境100が、単一のワイヤレス・デバイス110とコンピューティング・デバイス102との間のワイヤレス・データ通信に関して説明される。しかしながら、本明細書で説明する実施形態は、3以上のデバイス間のワイヤレス接続を生成及び管理するために使用されてもよい。例えば、仲介デバイス116は、本明細書で説明する技術を利用して、複数の異なるワイヤレス・デバイス及び/又はワイヤレス・デバイスの複数のセット間のワイヤレス・データ通信を可能にし得る。さらに、コンピューティング・デバイス102と複数のワイヤレス・デバイスとの間のデータ通信は、複数のワイヤレス・デバイスへの仮想接続(例えば、論理接続)を介して管理され得る。コンピューティング・デバイス102は、様々なリソース・スケジューリング技術及び/又はアルゴリズムを使用して、複数のワイヤレス・デバイスとの仮想接続を管理することができる。そのようなリソース・スケジューリング技術の例は、ラウンドロビン・スケジューリング、シリアル・スケジューリング、優先度に基づくスケジューリング等を含む。
【0025】
ワイヤレス・デバイス110が、ワイヤレスで通信するよう構成されるものとして、本明細書で説明されるが、これは、限定的であることを意図するものではない。例えば、少なくともいくつかの実施形態において、ワイヤレス・デバイス110は、特定のデバイス(例えば、コンピューティング・デバイス102)とワイヤレスで通信するよう構成され得る一方で、異なるデバイスと有線接続を介して通信するよう構成され得る。
【0026】
図1に明示されていないが、環境100は、ネットワークを含み得る。コンピューティング・デバイス102及びワイヤレス・デバイス110は、このネットワークを介して通信することができる。そのようなネットワークの例は、ローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)、インターネット等を含む。したがって、コンピューティング・デバイス102及びワイヤレス・デバイス110は、直接的に互いに通信してもよいし、且つ/あるいは1以上の中間ネットワークを介して通信してもよい。
【0027】
本明細書で説明する技術が機能し得る例示的な環境について説明したが、1以上の実施形態に従ったいくつかの例示的な実施シナリオの説明についてこれより検討する。
【0028】
例示的な実施シナリオ
以下の記載は、1以上の実施形態に従ったデバイス間ワイヤレス・データ通信の接続情報の例示的な実施シナリオを説明する。実施シナリオは、
図1の環境100及び/又は任意の他の適切な環境において使用され得る。
【0029】
図2は、1以上の実施形態に従った方法におけるステップを説明するフロー図である。ステップ200において、特定のデバイスのワイヤレス接続情報を受信する。例えば、ワイヤレス・デバイス110は、そのワイヤレス通信パラメータに関する様々な情報を仲介デバイス116に送信することができる。そのような情報は、ワイヤレス・デバイス110がワイヤレス・データ通信を送信及び/又は受信する1つのチャネル及び/又は複数のチャネルを識別することができる。ワイヤレス・デバイス110がどれくらい頻繁にワイヤレスでデータを送信しているか及び/又は別のデバイスからのワイヤレス・データ送信をどれくらい頻繁にチェックするか等、他のタイプの情報も指定されてもよい。この情報はまた、ワイヤレス・デバイス110により使用される変調方式のタイプ(例えば、OFDM)、ワイヤレス・デバイス110により使用される誤り訂正符号化のタイプ(例えば、順方向誤り訂正(FEC))等を含み得る。
【0030】
ステップ202において、ワイヤレス接続情報を異なるデバイスに送信する。例えば、仲介デバイス116は、ワイヤレス接続情報をコンピューティング・デバイス102に送信することができる。ワイヤレス接続情報は、例えば、コンピューティング・デバイス102等からの、ワイヤレス接続情報を求める問合せに応答して送信され得る。代替的に又は追加的に、ワイヤレス接続情報は、例えば、ワイヤレス接続情報を求める明示的な問合せに応答するのではなく、事前に送信されてもよい。例えば、仲介デバイス116は、ワイヤレス・デバイス110のワイヤレス接続情報を受信することができ、それに応じて、ワイヤレス接続情報をコンピューティング・デバイス102に送信することができる。
【0031】
本明細書で詳述するように、ワイヤレス接続情報を送信することにより、直接デバイス間ワイヤレス・データ通信が可能となり得る。直接ワイヤレス・データ通信は、ワイヤレス・ルータ、ワイヤレス・ネットワーク等の中間エンティティとは無関係に生じ得る。
【0032】
図3は、1以上の実施形態に従った方法におけるステップを説明するフロー図である。ステップ300において、特定のデバイスのワイヤレス接続情報を受信する。例えば、コンピューティング・デバイス102は、仲介デバイス116から、ワイヤレス接続情報を受信することができる。ワイヤレス接続情報は、例えば、コンピューティング・デバイス102から仲介デバイス116への、ワイヤレス接続情報を求める問合せに応答して受信され得る。代替的に又は追加的に、ワイヤレス接続情報は、仲介デバイス116からコンピューティング・デバイス102へ送信される通知等の要求されていない(unsolicited)送信を介して受信されてもよい。
【0033】
ワイヤレス接続情報は、特定のデバイスとのワイヤレス通信のためのパラメータを含む。そのようなパラメータとして、特定のデバイスがワイヤレス通信を送信及び/又は受信するために利用する1つのチャネル及び/又は複数のチャネル等がある。他のパラメータの例は、上記及び以下のとおりである。
【0034】
ステップ302において、ワイヤレス接続情報を利用して、特定のデバイスとワイヤレスで通信する。コンピューティング・デバイス102は、例えば、ワイヤレス接続情報を利用して、ワイヤレス・デバイス110との直接ワイヤレス・データ通信を確立することができる。例えば、コンピューティング・デバイス102は、ワイヤレス接続情報において識別された1つのワイヤレス・チャネル及び/又は複数のワイヤレス・チャネルを介して、データ・パケットをワイヤレス・デバイス110に送信することができる。リクエスト・パケット、レスポンス・パケット等の様々なタイプのデータ・パケットが利用され得る。したがって、コンピューティング・デバイス102は、ワイヤレス接続情報において識別された1つのワイヤレス・チャネル及び/又は複数のワイヤレス・チャネルを介して、ワイヤレス・デバイス110とワイヤレスで通信することができる。
【0035】
ステップ304において、ワイヤレス接続情報をローカルに記憶する。特定のデバイスとの後続のワイヤレス通信セッションが、例えば、外部ソースからのワイヤレス接続情報の受信とは無関係に確立され得るように、例えば、ワイヤレス接続情報は、ローカルに記憶され得る。コンピューティング・デバイス102は、例えば、ワイヤレス・デバイス110のワイヤレス接続情報を、コンピューティング・デバイス102上でローカルに記憶することができる。したがって、コンピューティング・デバイス102は、ローカルに記憶されたワイヤレス接続情報にアクセスして、コンピューティング・デバイス102とワイヤレス・デバイス110との間の後続の直接Wi−Fi(登録商標)接続等の後続の通信セッションのために、ワイヤレス・デバイス110とのワイヤレス通信を開始することができる。
【0036】
図4は、様々なリソースのワイヤレス接続情報をトラッキングするために使用することができるリソース・テーブル400を示している。例えば、仲介デバイス116は、リソース・テーブル400を保持することができ、リソース・テーブル400からの情報を利用して、他のデバイスに様々なリソースのワイヤレス接続情報に関して通知することができる。
【0037】
代替的に又は追加的に、コンピューティング・デバイス102は、例えば、クライアント・ワイヤレス・モジュール104と協働して、リソース・テーブル400の少なくともいくつかの部分をローカルに記憶してもよい。例えば、リソース・テーブル400からの情報は、仲介デバイス116からコンピューティング・デバイス102に伝達され得る。コンピューティング・デバイス102は、コンピューティング・デバイス102がリソース・テーブル400に記憶された情報を介して様々なリソースとワイヤレスで通信することを可能にするために、リソース・テーブル400をローカルに記憶することができる。
【0038】
リソース・テーブル400は、リソース識別子(ID)列402を含む。リソースID列402は、特定のリソースの識別子を含む。リソースの例は、デバイスのインスタンス、デバイスのカテゴリ、サービス(例えば、データ処理サービス、コンテンツ・サービス等)、物理的リソース(例えば、会議室)等を含む。媒体アクセス制御(MAC)アドレス、インターネット・プロトコル(IP)アドレス、OUI(organizationally unique identifier)等の様々なタイプのリソース識別子が利用され得る。したがって、少なくともいくつかの実施形態において、リソースID列402に示されるIDは、リソースの特定のインスタンス及び/又はリソースの特定のカテゴリを識別することができる。
【0039】
リソース・タイプ列404がさらに示されている。リソース・タイプ列404は、様々な実施形態に従ってワイヤレス接続情報をトラッキングすることができる様々なタイプのリソースを指定する。チャネル列406は、特定のリソースを見つけることができるワイヤレス・チャネル及び/又はサブチャネルを指定する。少なくともいくつかの実施例において、例えば、特定のチャネルが、ワイヤレス通信のために別のリソースにより使用されている場合等、リソースは、交互に利用することができる複数の利用可能なチャネルを有することができる。上述したように、チャネルとは、例えば、特定の周波数範囲におけるチャネル及び/又はサブチャネル等の、周波数帯域の特定の部分を指し得る。
【0040】
1以上の実施形態に従うと、リソースのための1つのチャネル及び/又は複数のチャネルは、リソース自身により、例えば、リソースにより使用されるロジックを介して決定され得る。代替的に又は追加的に、1つのチャネル及び/又は複数のチャネルは、異なるエンティティにより、リソースのために割り当てられてもよい。例えば、仲介モジュール118は、様々なファクタに基づいて、チャネルをリソースに割り当てることができる。そのような1つのファクタは、チャネル利用可能性(channel availability)であり得、例えば、そのチャネル利用可能性に基づいて、チャネルが現在使用中である、且つ/あるいはチャネルが異なるリソースに割り当てられる。例えば、仲介モジュール118が特定のリソースにより使用されることになるチャネルを決定しているシナリオを考えてみる。仲介モジュール118が、チャネルが別のリソースにより現在使用中であると判定した場合、仲介モジュール118は、特定のリソースによる使用のために、異なるチャネルを割り当てることができる。
【0041】
別のファクタはチャネル品質であり得る。例えば、特定のチャネルがノイズを含むと判定された場合、異なるチャネルがリソースのために選択され得る。特定のリソースのためのワイヤレス・チャネルを決定する際に、多様な他のファクタが考慮に入れられ得る。
【0042】
リソース・テーブル400は、ポーリング間隔列408をさらに含む。ポーリング間隔列408は、特定のリソースが、例えば、接続リクエストの一部等の、そのリソースにワイヤレスで送信されているデータをどれくらい頻繁にチェックするかを指定する。
【0043】
リソース・テーブル400に含まれる情報は、例示の目的で提供されたに過ぎず、多種多様なリソース及びリソース・タイプのための多種多様なリソース情報を指定する実施形態が使用されてもよい。上述したように、例えば、リソース・テーブル400は、デバイスにより使用される様々なタイプの変調方式、様々なタイプの誤り訂正符号化等をトラッキングし得る。
【0044】
図5は、1以上の実施形態に従った方法におけるステップを説明するフロー図である。ステップ500において、リソースを求めるリクエストを受信する。仲介デバイス116は、例えば、リソースのワイヤレス接続情報を求めるリクエストを、コンピューティング・デバイス102から受信することができる。リクエストは、プリンタ、ディスプレイ・デバイス、オーディオ出力デバイス等のリソース・タイプを含み得るが、そのリソースの特定のインスタンスの識別子を含まない。代替的に、リクエストは、例えば、MACアドレス等の、リソースの特定のインスタンスの識別子を含んでもよい。
【0045】
ステップ502において、リクエストに対応するリソースを探す。例えば、リクエストに適合するリソースを探すために、リクエストに含まれる情報を用いて、リソース・テーブル400に問い合わせることができる。リクエストが、特定のタイプのリソースを探し出した場合(例えば、特定のリソース・インスタンスを識別しない場合)、そのリソース・タイプに合致するリソース・インスタンスを探すことができる。例えば、現在ビジーでない(例えば、別のデバイスによりアクセス中でない)リソースが識別され得る。
【0046】
ステップ504において、リソースのワイヤレス接続情報を提供する。ワイヤレス接続情報は、例えば、デバイスがリソースとワイヤレスで通信することを可能にするために、そのデバイスによる受信のために送信され得る。したがって、本明細書で説明した技術は、多種多様なリソースをトラッキングすることが可能にし得、リソースとのワイヤレス・データ通信を仲介することを可能にする。
【0047】
いくつかの例示的な実施シナリオを説明したが、次に、1以上の実施形態に従った例示的なシステム及びデバイスの説明について検討する。
【0048】
例示的なシステム及びデバイス
図6は、例示的なコンピューティング・デバイス602を含む例示的なシステムを一般に600で示している。例示的なコンピューティング・デバイス602は、本明細書で説明した様々な技術を実装することができる1以上のコンピューティング・システム及び/又はデバイスを表す。例えば、
図1を参照して上述したコンピューティング・デバイス102は、コンピューティング・デバイス602として具現化され得る。コンピューティング・デバイス602は、例えば、サービス・プロバイダのサーバ、クライアントに関連付けられたデバイス(例えば、クライアント・デバイス)、オンチップ・デバイス、及び/又は任意の他の適切なコンピューティング・デバイス若しくはコンピューティング・システムであり得る。
【0049】
図示した例示的なコンピューティング・デバイス602は、処理システム604、1以上のコンピュータ読み取り可能媒体606、及び互いに通信可能に接続された1以上のI/Oインタフェース608を含む。図示してはいないが、コンピューティング・デバイス602は、様々なコンポーネントを互いに接続するシステム・バス、又は他のデータ・コマンド転送システムをさらに含み得る。システム・バスは、様々なバス構造のうちの任意の1つ又はそれらの組合せを含み得る。そのようなバス構造として、メモリ・バス若しくはメモリ・コントローラ、周辺バス、ユニバーサル・シリアル・バス、及び/又は様々なバス・アーキテクチャのうちのいずれかを利用するプロセッサ・バス若しくはローカル・バス等がある。制御・データ線等の様々な他の例も意図されている。
【0050】
処理システム604は、ハードウェアを用いて1以上のオペレーションを実行する機能を表す。したがって、処理システム604は、プロセッサ、機能ブロック等として構成され得るハードウェア・エレメント610を含むものとして図示されている。これは、1以上の半導体を用いて形成された特定用途向け集積回路又は他の論理デバイスとしてのハードウェアによる実装を含み得る。ハードウェア・エレメント610は、ハードウェア・エレメント610が形成される材料、又は本明細書において使用された処理メカニズムにより限定されるものではない。例えば、例えば、プロセッサは、1以上の半導体及び/又はトランジスタ(例えば、電子集積回路(IC))から構成され得る。このようなコンテキストにおいて、プロセッサ実行可能命令は、電子的に実行可能な命令であり得る。
【0051】
コンピュータ読み取り可能媒体606は、メモリ/ストレージ612を含むものとして図示されている。メモリ/ストレージ612は、1以上のコンピュータ読み取り可能媒体に関連付けられたメモリ/ストレージ能力を表す。メモリ/ストレージ612は、不揮発性媒体(ランダム・アクセス・メモリ(RAM)等)、及び/又は不揮発性媒体(読み取り専用メモリ(ROM)、フラッシュ・メモリ、光ディスク、磁気ディスク等)を含み得る。メモリ/ストレージ612は、固定媒体(例えば、RAM、ROM、固定ハード・ドライブ等)に加えて、取り外し可能な媒体(例えば、フラッシュ・メモリ、取り外し可能なハード・ドライブ、光ディスク等)も含み得る。コンピュータ読み取り可能媒体606は、以下でさらに説明するような様々な他の態様で構成され得る。
【0052】
1以上の入力/出力インタフェース608は、ユーザがコンピューティング・デバイス602にコマンド及び情報を入力することを可能にするとともに、様々な入力/出力デバイスを用いてユーザ及び/又は他のコンポーネント若しくはデバイスに情報を提示することも可能にする機能を表す。入力デバイスの例は、キーボード、カーソル制御デバイス(例えば、マウス)、(例えば、ボイス入力及び/又は音声入力を実装するための)マイクロフォン、スキャナ、タッチ機能(例えば、物理的なタッチを検出するよう構成される静電容量式センサ又は他のセンサ)、カメラ(例えば、タッチを伴わないジェスチャとしての動きを検出するために可視波長又は赤外線周波数等の非可視波長を用い得る)等を含む。出力デバイスの例は、ディスプレイ・デバイス(例えば、モニタ又はプロジェクタ)、スピーカ、プリンタ、ネットワーク・カード、触覚応答デバイス等を含む。したがって、コンピューティング・デバイス602は、ユーザ・インタラクションをサポートするために、以下でさらに説明するような様々な態様で構成され得る。
【0053】
様々な技術は、ソフトウェア、ハードウェア・エレメント、又はプログラム・モジュールの一般的なコンテキストで本明細書において説明され得る。一般に、このようなモジュールは、特定のタスクを実行する、あるいは特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、エレメント、コンポーネント、及びデータ構造等を含む。本明細書において使用される「モジュール」、「機能」、及び「コンポーネント」の用語は、一般に、ソフトウェア、ファームウェア、ハードウェア、又はそれらの組み合わせを表す。本明細書で説明した技術の特徴は、プラットフォームに依存せず、技術が様々なプロセッサを有する様々な商用コンピューティング・プラットフォームに実装され得ることを意味する。
【0054】
説明したモジュール及び技術の実装は、何らかの形態のコンピュータ読み取り可能媒体に記憶され得る、あるいは何らかの形態のコンピュータ読み取り可能媒体を介して送信され得る。コンピュータ読み取り可能媒体は、コンピューティング・デバイス602によりアクセスされ得る様々な媒体を含み得る。例えば、コンピュータ読み取り可能媒体は、「コンピュータ読み取り可能記憶媒体」及び「コンピュータ読み取り可能信号媒体」を含み得るが、これらに限定されるものではない。
【0055】
「コンピュータ読み取り可能記憶媒体」は、単なる信号伝送、搬送波、又は信号自体ではなく、情報の永続的記憶を可能にする媒体及び/又はデバイスを指し得る。したがって、コンピュータ読み取り可能記憶媒体は、信号自体を含まない。コンピュータ読み取り可能記憶媒体は、例えば、揮発性及び不揮発性、取り外し可能な及び取り外し不可能な媒体、並びに/又は、例えば、コンピュータ読み取り可能命令、データ構造、プログラム・モジュール、論理エレメント/回路、又は他のデータ等の情報の記憶に適した方法又は技術で実装される記憶デバイス等のハードウェアを含む。コンピュータ読み取り可能記憶媒体の例は、RAM、ROM、EEPROM、フラッシュ・メモリ、若しくは他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)、若しくは他の光ストレージ、ハード・ディスク、磁気カセット、磁気テープ、磁気ディスク・ストレージ、若しくは他の磁気記憶デバイス、又は他の記憶デバイス、有体の媒体、又は所望の情報を記憶するのに適切であるとともにコンピュータによりアクセスされ得る製品を含み得るが、これらに限定されるものではない。
【0056】
「コンピュータ読み取り可能信号媒体」は、例えば、ネットワークを介して、コンピューティング・デバイス602のハードウェアに命令を送信するよう構成される信号搬送媒体を指し得る。信号媒体は、通常、コンピュータ読み取り可能命令、データ構造、プログラム・モジュール、又は他のデータを、例えば、搬送波、データ信号、又は他の搬送機構等の変調されたデータ信号として具現化し得る。信号媒体はまた、任意の情報配信媒体を含む。用語「変調されたデータ信号」とは、信号内の情報を符号化するように、設定又は変更された特性のうちの1以上を有する信号を意味する。例えば、通信媒体は、有線ネットワーク又は直接配線接続等の有線媒体、並びに、音響、RF、赤外線、及び他の無線媒体等の無線媒体を含むが、これらに限定されるものではない。
【0057】
前述したように、ハードウェア・エレメント610及びコンピュータ読み取り可能媒体606は、命令、モジュール、プログラマブル・デバイス・ロジック、及び/又は本明細書で説明した技術のうち少なくともいくつかの態様を実装するためにいくつかの実施形態で用いられ得るハードウェアの形態で実装された固定デバイス・ロジックを表す。ハードウェア・エレメントは、集積回路又はオンチップ・システムのコンポーネント、特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、コンプレックス・プログラマブル論理デバイス(CPLD)、及び、シリコン又は他のハードウェア・デバイスによる他の実装を含み得る。このコンテキストにおいて、ハードウェア・エレメントは、ハードウェア、及び、実行のための命令を記憶するために利用されるハードウェア・デバイス、例えば、前述したコンピュータ読み取り可能記憶媒体により具現化される命令、モジュール、及び/又はロジックによって定められるプログラム・タスクを実行する処理デバイスとして動作し得る。
【0058】
前述したものの組合せもまた、本明細書で説明した様々な技術及びモジュールを実装するために用いられ得る。したがって、ソフトウェア、ハードウェア、又はプログラム・モジュール及び他のプログラム・モジュールは、何らかの形態のコンピュータ読み取り可能記憶媒体に具現化された、且つ/あるいは1以上のハードウェア・エレメント610により具現化された1以上の命令及び/又はロジックとして実装され得る。コンピューティング・デバイス602は、ソフトウェア・モジュール及び/又はハードウェア・モジュールに対応する特定の命令及び/又は機能を実装するよう構成され得る。したがって、ソフトウェアとしてコンピューティング・デバイス602により実行可能であるモジュールとしてのモジュールの実装は、例えば、コンピュータ読み取り可能記憶媒体及び/又は処理システムのハードウェア・エレメント610の使用を通じて、少なくとも部分的にハードウェアにより実現され得る。命令及び/又は機能は、本明細書で説明した技術、モジュール、及び例を実装するように、1以上の製品(例えば、1以上のコンピューティング・デバイス602及び/又は処理システム604)により実行可能/動作可能であり得る。
【0059】
図6にさらに示されるように、例示的なシステム600は、パーソナル・コンピュータ(PC)、テレビジョン・デバイス、及び/又はモバイル・デバイス上でアプリケーションを実行するときのシームレスなユーザ・エクスペリエンスのためのユビキタス環境を可能にする。サービス及びアプリケーションは、アプリケーションを利用している、ビデオ・ゲームをプレイしている、ビデオを見ている等の間に1つのデバイスから次のデバイスへ遷移するときの共通のユーザ・エクスペリエンスのために、全ての3つの環境で実質的に同様に実行される。
【0060】
例示的なシステム600において、複数のデバイスは、中央コンピューティング・デバイスを介して相互接続される。中央コンピューティング・デバイスは、複数のデバイスに対してローカルにあってもよいし、複数のデバイスからリモートに配置されてもよい。一実施形態において、中央コンピューティング・デバイスは、ネットワーク、インターネット、又は他のデータ通信リンクを介して複数のデバイスに接続される1以上のサーバ・コンピュータのクラウドであり得る。
【0061】
一実施形態において、この相互接続アーキテクチャは、複数のデバイスのユーザに共通したシームレスなエクスペリエンスを提供するために、複数のデバイスにわたって機能を提供することを可能にする。複数のデバイスの各々は、異なる物理的な要件及び機能を有し得るが、中央コンピューティング・デバイスは、各デバイスへ合わせられていながら全てのデバイスに共通であるエクスペリエンスのデバイスへの提供を可能にするプラットフォームを使用する。一実施形態において、ターゲット・デバイスの分類が生成され、エクスペリエンスが、デバイスの汎用分類に合わせられる。デバイスの分類は、デバイスの物理的な特徴、使用のタイプ、又は他の共通の特性により定められ得る。
【0062】
様々な実施例において、コンピューティング・デバイス602は、例えば、コンピュータ614、モバイル616、及びテレビジョン618の使用のために、様々な異なる構成を仮定し得る。それらの構成の各々は、一般に異なる構成及び機能を有し得るデバイスを含み、したがって、コンピューティング・デバイス602は、異なるデバイス分類のうちの1以上に従って構成され得る。例えば、コンピューティング・デバイス602は、パーソナル・コンピュータ、デスクトップ・コンピュータ、マルチスクリーン・コンピュータ、ラップトップ・コンピュータ、ネットブック等を含むデバイスのコンピュータ614の分類として実施され得る。
【0063】
コンピューティング・デバイス602はまた、携帯電話機、ポータブル音楽プレーヤ、ポータブル・ゲーム機、タブレット・コンピュータ、マルチスクリーン・コンピュータ等のモバイル・デバイスを含むデバイスのモバイル616の分類として実施され得る。コンピューティング・デバイス602はまた、通常の視聴環境において一般により大きなスクリーンを有する、あるいはそのようなスクリーンへ接続されるデバイスを含むデバイスのテレビジョン618の分類として実施され得る。そのようなデバイスは、テレビジョン、セット・トップ・ボックス、ゲーム機等を含む。
【0064】
本明細書で説明した技術は、コンピューティング・デバイス602のそれらの様々な構成によりサポートされ得るが、本明細書で説明した技術の特定の例に限定されるものではない。例えば、クライアント・ワイヤレス・モジュール104、デバイス・ワイヤレス・モジュール112、及び/又は仲介モジュール118を参照して説明した機能は、以下で説明するように、例えば、プラットフォーム622を介して「クラウド」620上で、全て又は部分的に分散システムの使用を通じて実施され得る。
【0065】
クラウド620は、リソース624のためのプラットフォーム622を含む、且つ/あるいは表す。プラットフォーム622は、クラウド620のハードウェア・リソース(例えば、サーバ)及びソフトウェアの基礎となる機能を抽象化する(abstract)。リソース624は、コンピュータ処理がコンピューティング・デバイス602からリモートにあるサーバで実行されている間に利用され得るアプリケーション及び/又はデータを含み得る。リソース624はまた、インターネット、及び/又は、セルラ・ネットワーク若しくはWi−Fi(登録商標)ネットワーク等のサブスクライバ・ネットワークを介して提供されるサービスを含み得る。
【0066】
プラットフォーム622は、コンピューティング・デバイス602を他のコンピューティング・デバイスに接続するリソース及び機能を抽象化し得る。プラットフォーム622はまた、プラットフォーム622を介して実施されるリソース624に対する直面されている需要に対する対応するレベルのスケールを提供するためのリソースのスケーリングを抽象化する働きをしてもよい。したがって、相互接続されるデバイスの実施形態において、本明細書で説明した機能の実施は、システム600の全体にわたって分散されてもよい。例えば、機能は、クラウド620の機能を抽象化するプラットフォーム622を介して、及びコンピューティング・デバイス602において部分的に実施されてもよい。
【0067】
本明細書で説明した技術を実行するよう実施され得る複数の方法が本明細書で説明される。方法の態様は、ハードウェア、ファームウェア、若しくはソフトウェア、又はそれらの組合せにより実施され得る。方法は、1以上のデバイスにより実行されるオペレーションを特定するブロックのセットとして示されるが、必ずしもそれぞれのブロックによりオペレーションを実行するために示された順序に限定されるものではない。さらに、特定の方法に関して示されているオペレーションは、1以上の実施例に従った異なる方法のオペレーションと組み合わされてもよいし、且つ/あるいは交換されてもよい。方法の態様は、環境100を参照して上述した様々なエンティティ間のインタラクションを介して実施され得る。
【0068】
結論
デバイス間ワイヤレス・データ通信の接続情報のための技術が説明された。実施形態が構造的特徴及び/又は方法論的動作に特有の言語で説明されたとしても、添付の特許請求の範囲で定義される実施形態は、必ずしも、説明した具体的な特徴又は動作に限定されるわけではないことを理解すべきである。むしろ、具体的な特徴及び動作は、特許請求される実施形態を実施する例示的な形態として開示されるものである。