(57)【特許請求の範囲】
【請求項１】
少なくとも１つの第２のデバイスと通信する第１のデバイスであって、
プロセッサと、
前記プロセッサに結合され、前記プロセッサに方法を実行させる命令を保存するメモリと、
を有し、前記方法は、
前記第１のデバイス上のアプリケーションと互換性がある互換アプリケーションを決定するステップと、
前記互換アプリケーションを識別する副デバイスタイプフィールドを、データリンクレイヤの発見アクションフレームにアタッチするステップと、
前記発見アクションフレーム及びアタッチされた前記副デバイスタイプフィールドをピアツーピア無線ネットワーク上で送信するステップと、
前記第１のデバイス上のアプリケーションへのアクセスに関し、前記副デバイスタイプフィールドで識別される前記互換アプリケーションに対応する第２のデバイス上のアプリケーションに関する要求を含む応答を、前記第２のデバイスから受信する受信ステップと、
を有する、第１のデバイス。
【請求項２】
請求項１に記載のデバイスであって、前記発見アクションフレームは、主デバイスタイプフィールドと副デバイスタイプフィールドとを含む、デバイス。
【請求項３】
請求項２に記載のデバイスであって、前記副デバイスタイプフィールドは、前記少なくとも１つのアプリケーションを含み、前記主デバイスタイプフィールドは、デバイスタイプを含む、デバイス。
【請求項４】
請求項１に記載のデバイスであって、前記少なくとも１つのアプリケーションは、ファイル転送アプリケーション、同期アプリケーション、ゲームアプリケーション、チャットアプリケーション、または印刷アプリケーションのうちの何れかを含む、デバイス。
【請求項５】
請求項１に記載のデバイスであって、前記発見アクションフレームは、ビーコンフレーム、プローブ要求フレーム、または、プローブ応答フレームを含む、デバイス。
【請求項６】
方法であって、
第１のデバイスが、前記第１のデバイス上のアプリケーションと互換性がある互換アプリケーションを決定するステップと、
前記互換アプリケーションを識別する副デバイスタイプフィールドを、データリンクレイヤの発見アクションフレームにアタッチするステップと、
前記第１のデバイスにより、前記発見アクションフレーム及びアタッチされた前記副デバイスタイプフィールドをピアツーピア無線ネットワーク上で送信するステップと、
前記第１のデバイス上のアプリケーションへのアクセスに関し、前記副デバイスタイプフィールドで識別される前記互換アプリケーションに対応する第２のデバイス上のアプリケーションに関する要求を含む応答を、前記第１のデバイスにより前記第２のデバイスから受信するステップと、
を有する方法。
【請求項７】
請求項６に記載の方法であって、前記第２のデバイスのタイプに対応するデバイスタイプを識別する主デバイスタイプフィールドを、前記データリンクレイヤの発見アクションフレームにアタッチするステップをさらに有する方法。
【請求項８】
請求項６に記載の方法であって、前記データリンクレイヤは、オープンシステム接続モデルデータリンクレイヤプロトコルに基づいている、方法。
【請求項９】
請求項６に記載の方法であって、前記発見アクションフレームは、ビーコンフレーム、プローブ要求フレーム、または、プローブ応答フレームを含む、方法。
【請求項１０】
請求項６に記載の方法であって、前記第１のデバイス上のアプリケーションと互換性がある互換アプリケーションを決定する前記ステップは、前記アプリケーションのためのアイコンの選択の検出に基づいて開始され、前記アイコンは、前記第１のデバイスのグラフィカルユーザインターフェイス上に表示される、方法。
【請求項１１】
方法であって、
ピアツーピア無線ネットワーク上のアクションフレームをシステムにおいて受信するステップであって、該アクションフレームは、アプリケーション名または識別子を含む副デバイスタイプフィールドを含む、ステップと、
前記副デバイスタイプフィールドから前記アプリケーション名または識別子を抽出するステップと、
前記アプリケーション名または識別子が、前記システム上に格納されたアプリケーションに対応するか否かを決定するステップと、
前記アプリケーションに関連する情報を交換するために、前記ピアツーピア無線ネットワークを使用するか否かを決定するステップと、
前記アプリケーションに関連する情報を交換するために、前記ピアツーピア無線ネットワークを使用する旨の決定に応じて、前記アプリケーションのためのピアツーピア無線ネットワークの接続を開始するための指示を含む応答を送信するステップと、
を有する方法。
【請求項１２】
請求項１１に記載の方法であって、前記アクションフレームは、デバイスタイプ情報を含む主デバイスタイプフィールドを含む、方法。
【請求項１３】
請求項１１に記載の方法であって、前記アクションフレームは、オープンシステム接続モデルデータリンクレイヤプロトコルのための発見アクションフレームを含む、方法。
【請求項１４】
請求項１１に記載の方法であって、前記アプリケーション名または識別子が、前記システム上に格納されたアプリケーションに対応するか否かを決定する前記ステップは、前記の対応するアプリケーションが前記の名前のアプリケーションと互換性があるか否かを決定するステップを含む、方法。
【請求項１５】
請求項１１に記載の方法であって、前記システムは第１のデバイスであり、前記アプリケーションは第１アプリケーションであり、前記第１のデバイス上の前記第１アプリケーションと、第２のデバイス上の第２アプリケーションとの間に前記ピアツーピア無線ネットワークの接続を確立するステップをさらに有する、方法。
【請求項１６】
少なくとも１つのコンピュータプロセッサによって実行される場合に、前記少なくとも１つのコンピュータプロセッサが、請求項６乃至１０のいずれか１項に記載の方法を実行するように動作可能なコンピュータ実行可能命令を含むコンピュータプログラム。
【請求項１７】
請求項１１乃至１５のいずれか１項に記載の方法をコンピュータプロセッサに実行させるように構成されるコンピュータプログラム。
【請求項１８】
少なくとも１つの第１のデバイスと通信する第２のデバイスであって、
プロセッサと、
前記プロセッサに結合され、前記プロセッサに方法を実行させる命令を保存するメモリと、
を有し、前記方法は、
ピアツーピア無線ネットワーク上のアクションフレームを前記第２のデバイスにおいて受信するステップであって、該アクションフレームは、アプリケーション名または識別子を含む副デバイスタイプフィールドを含む、ステップと、
前記副デバイスタイプフィールドから前記アプリケーション名または識別子を抽出するステップと、
前記アプリケーション名または識別子が、前記第２のデバイス上に格納されたアプリケーションに対応するか否かを決定するステップと、
前記アプリケーションに関連する情報を交換するために、前記ピアツーピア無線ネットワークを使用するか否かを決定するステップと、
前記アプリケーションに関連する情報を交換するために、前記ピアツーピア無線ネットワークを使用する旨の決定に応じて、前記アプリケーションのためのピアツーピア無線ネットワークの接続を開始するための指示を含む応答を、前記第１のデバイスに送信するステップと、
を有する、第２のデバイス。
【請求項１９】
請求項１８に記載のデバイスであって、前記発見アクションフレームは、主デバイスタイプフィールドと副デバイスタイプフィールドとを含む、デバイス。
【請求項２０】
請求項１９に記載のデバイスであって、前記少なくとも１つのアプリケーションは、前記副デバイスタイプフィールドにマップされ、デバイスタイプは前記主デバイスタイプフィールドにマップされる、デバイス。
【請求項２１】
請求項１８に記載のデバイスであって、前記少なくとも１つのアプリケーションは、ファイル転送アプリケーション、同期アプリケーション、ゲームアプリケーション、チャットアプリケーション、または印刷アプリケーションのうちの何れかを含む、デバイス。
【請求項２２】
請求項１８に記載のデバイスであって、前記発見アクションフレームは、ビーコンフレーム、プローブ要求フレーム、または、プローブ応答フレームを含む、デバイス。
【請求項２３】
請求項１６又は１７に記載のコンピュータプログラムを記憶する記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本特許出願は、一般に、ピアツーピア無線ネットワーク接続を実装するためのシステムおよび方法に関する。
【背景技術】
【０００２】
携帯デバイスの使用が普及しており、互いに近接している携帯デバイス間をネットワークまたは通信する必要性が増している。携帯デバイスのネットワーキング、および、他の近くの非携帯デバイスへの携帯デバイスのネットワーキングを促進するために、いくつかの方法が開発されてきた（例、ユニバーサルプラグアンドプレイ、ボンジュール（Bonjour）、およびＷｉ−Ｆｉダイレクト）。
【０００３】
一般的に、携帯デバイスは、汎用接続要求を介して他のデバイスとネットワークする能力を宣伝する。汎用接続要求は、他のデバイスと無線接続を確立できるデバイスを識別するための能力を提供し得る。ひとたび互いを識別すると、無線接続またはＷｉ−Ｆｉ接続は、デバイス上のアプリケーションおよびサービスが情報を交換することを可能にする。
【図面の簡単な説明】
【０００４】
図の中の特徴は番号が付されており、記載された説明と相互参照される。一般的に、最初の番号はその特徴が最初に導入された図の番号を反映し、残りの番号は、その図の中で、その特徴を他の注目の特徴から区別することを意図している。しかし、1つの特徴がいくつかの図にわたって使用されるならば、その特徴が最初に現れた図においてその特徴を識別するために使用された番号が使用されるであろう。添付図への参照が行われるであろう。それらの図は必ずしも一定の縮尺では描かれていない。
【図１】本発明の一実施形態に従った、ピアツーピア無線ネットワークを実装するピアツーピア無線ネットワークおよび携帯デバイスの代表的環境の簡易ブロック図である。
【図２】本発明の一実施形態に従った、どのように携帯デバイスがピアツーピア無線ネットワークを確立するかの１実施形態を示す簡易ブロック図である。
【図３】本発明の一実施形態に従った、携帯デバイス上のアプリケーションのためのピアツーピア無線ネットワーク接続を開始するための例示の方法を示すフロー図である。
【図４】本発明の一実施形態に従った、携帯デバイス上のアプリケーションのためのピアツーピア無線ネットワーク接続を開始するための他の例示の方法を示すフロー図である。
【図５】本発明の一実施形態に従った、他の携帯デバイス上のアプリケーションと、携帯デバイス上のアプリケーションのためのピアツーピア無線ネットワーク接続を確立するための例示の方法を示すフロー図である。
【図６】本発明の一実施形態に従った、本発明の一実施形態に従った２台の携帯デバイス間のアプリケーションのためにピアツーピア無線ネットワーク接続を確立するための例示の方法を示すフロー図である。
【図７】本発明の一実施形態に従った、複数のアプリケーションのためのピアツーピア無線ネットワークを開始する携帯デバイスのインターフェイスの簡略図である。
【発明を実施するための形態】
【０００５】
本発明の実施形態は、添付の図面を参照して、以下本明細書において、より十分に説明される。図面には開示の実施形態が示されている。この開示はしかし、多くの異なる形式において実施され得、本明細書において説明される実施形態に限定されると解釈されるべきではなく、むしろ、これらの実施形態は、本開示が徹底的かつ完全となるように提供され、当業者に対して開示の範囲を十分に伝えるであろう。
【０００６】
本開示において説明される実施形態は、簡潔なプロトコルを使用して２つの携帯デバイス間のピアツーピア無線ネットワーク接続を実装するための、システム、方法、および装置を提供し得る。一側面において、携帯デバイスのユーザは、単一のアプリケーションに関連するデータまたは情報を他の携帯デバイスのユーザと交換したいかもしれない。一般的に、これは、ユーザが、ＷｉＦｉおよびＴＣＰ／ＩＰ接続を確立するために詳細な通信プロトコルを実装することを要求する。別の方法では、本開示は、ＴＣＰ／ＩＰ接続を確立することなく、単一のアプリケーションから直接接続を開始するためのシステムおよび方法を説明する。第１の携帯デバイス上のアプリケーションと第２の携帯デバイス上の対応するアプリケーションとの間のピアツーピア無線ネットワーク接続を確立するための合理化された処理を可能にするために、既存の通信プロトコルのさまざまな側面が修正され得る。
【０００７】
本発明の例示の実施形態が、添付の図面を参照して今から説明される。
【０００８】
図１は、ピアツーピア無線ネットワークを実装する、ピアツーピア無線ネットワークおよび携帯デバイスの代表的環境の簡易ブロック図である。環境１００は、第１の携帯デバイス１０２と、ピアツーピア無線ネットワーク接続１０６によって一緒に結合された第２の携帯デバイスとを含み得る。この実施形態において、ピアツーピア無線ネットワーク接続は、２つのデバイス間のアドホックネットワークを生成するためのアクセスポイントを必要としない。一般に、ピアツーピアネットワークは、近くにあるデバイス同士がお互いに発見し通信することを可能にする。例えば、無線ネットワーク接続１０６は、第１のユーザ１０８および第２のユーザ１１０が、各々のデバイス１０２、１０４の間で情報を交換することを可能にする。
【０００９】
一実施形態において、第１のデバイス１０２は、コンピュータプロセッサ１１２、メモリ１１４、通信モジュール１１６、ファイル転送モジュール１１８、チャットモジュール１２０、ゲームモジュール１２２、および印刷モジュール１２４、を含み得る。しかし、第１のデバイス１０２は、いかなるタイプの携帯デバイス上で使用され見つけられうるさまざまな他のモジュール（非図示）を含み得る。例えば、第１の携帯デバイス１０２は、ビデオモジュール、オーディオモジュール、および、第１の携帯デバイス１０２によって実装され得る機能またはアプリケーションのためのいかなる他のモジュールを含み得る。
【００１０】
この実施形態において、コンピュータプロセッサ１１２は、メモリ１１４に格納された、インストールされたハードウェア、アプリケーション、またはサービスをデバイスが実行することを可能にするコンピュータ可読命令を実行し得る。１以上のコンピュータプロセッサ１１２は、限定されるものではないが、中央処理装置（ＣＰＵ）、デジタル・シグナル・プロセッサ（ＤＳＰ）、縮小命令セットコンピュータ（ＲＩＳＣ）、複雑命令セットコンピュータ（ＣＩＳＣ）、マイクロプロセッサ、マイクロコントローラ、フィールド・プログラマブル・ゲートアレイ（ＦＰＧＡ）、または、これらのいかなる組合せ、を含み得る。デバイス１０２はまた、１以上のプロセッサ１１２と、デバイス１０２の１以上の他のコンポーネントとの間の通信を制御するためのチップセット（不図示）を含み得る。ある実施形態において、デバイス１０２は、Ｉｎｔｅｌ（登録商標）アーキテクチャシステムに基づくことができ、プロセッサ１１２およびチップセットは、Ｉｎｔｅｌ（登録商標）Ａｔｏｍ（登録商標）プロセッサファミリーなどのＩｎｔｅｌ（登録商標）プロセッサおよびチップセットのファミリーからのものであることができる。１以上のプロセッサ１１２はまた、特定のデータ処理機能またはタスクを扱うための１以上のアプリケーション特定集積回路（ＡＳＩＣ）、または、アプリケーション特定標準製品（ＡＳＳＰ）を含み得る。
【００１１】
この実施形態において、メモリ１１４は、１以上の揮発性および／または不揮発性メモリデバイスを含み得、該１以上の揮発性および／または不揮発性メモリデバイスは、これらに限定されないが、ランダム・アクセス・メモリ（ＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、スタティックＲＡＭ（ＳＲＡＭ）、シンクロナス・ダイナミックＲＡＭ（ＳＤＲＡＭ）、ダブル・データ・レート（ＤＤＲ）ＳＤＲＡＭ（ＤＤＲ−ＳＤＲＡＭ）、ＲＡＭ−ＢＵＳ  ＤＲＡＭ（ＲＤＲＡＭ）、フラッシュ・メモリ・デバイス、電気的消去可能プログラム可能リード・オンリー・メモリ（ＥＥＰＲＯＭ）、不揮発性ＲＡＭ（ＮＶＲＡＭ）、汎用シリアルバス（ＵＳＢ）着脱可能メモリ、または、これらの組み合わせ、を含み得る。
【００１２】
この実施形態において、通信モジュール１１６は、第１のデバイス１０２のための無線通信を実装および管理し得る。通信モジュール１１６は、無線システムを含み得、該無線システムは、Ｗｉ−Ｆｉダイレクト標準（参照：２０１０年１０月に公開されたＷｉ−Ｆｉダイレクト仕様書）および／または、ＩＥＥＥ８０２．１１無線標準（参照：２００７年３月８日に公開されたＩＥＥＥ８０２．１１−２００７、２００９年１０月に公開されたＩＥＥＥ８０２．１１ｎ−２００９）または、これらの組み合わせ、を使用してメッセージをブロードキャストおよび受信するためのハードウェアおよびソフトウェアを含み得る。無線システムは、８０２．１１無線標準によって規定された動作周波数の広い範囲で動作可能な、送信機および受信機または送受信機（不図示）を含み得る。
【００１３】
この実施形態において、デバイス１０２は、デバイス１０２上の特定の機能を可能にするいくつかのモジュールおよび／またはアプリケーションを含み得る。例えば、ファイル転送モジュール１１８は、たとえそれがメモリ１１４に格納されたさまざまなファイルの移動であれ、コピーであれ、転送であれ、第１のデバイス１０２が他のデバイスとファイルを共有することを可能にし得る。チャットモジュール１２０は、２以上のデバイス間のテキスト、ビデオ、またはオーディオデータのほぼリアルタイムの交換を可能にし得る。ゲームモジュール１２２は、さまざまなビデオ、オーディオ、および制御機能を含み得るインタラクティブゲームをプレイすることを可能にし得る。一側面において、ゲームは、携帯デバイス間でほぼリアルタイムでプレイされ得、その結果、ユーザは、共通のゲーム環境においてお互いを相手に、または一緒にプレイし得る。印刷モジュール１２４は、第１のデバイス１０２上に格納されたいかなるタイプの文書を印刷することをユーザに許すために、遠隔のプリンタとインターフェイスすることを可能にし得る。最後に、第１のデバイス１０２は、デバイス１０２が、さまざまなファイル（例、音楽、ビデオ、テキスト）を、第１のデバイス１０２上に位置するファイルのコピーまたはオリジナルを管理する別のデバイス１０４または遠隔格納デバイス（不図示）と同期させることを可能にする同期モジュール１４０を含み得る。第２のデバイス１０４もまた、コンピュータプロセッサ１２６、メモリ１２８、および、通信モジュール１３０、ファイル転送モジュール１３２、チャットモジュール１３４、ゲームモジュール１３６、印刷モジュール１３８、および同期モジュール１４２、等の上述したモジュールと同じまたは類似のモジュールを含み得る。なお、上記モジュールは、ハードウェア、ソフトウェア、またはその組合せによって実装され得る。
【００１４】
図２は、どのように携帯デバイスがピアツーピア無線ネットワークを確立するかを示す簡易ブロック図２００である。ブロック図２００は、図１において記載された通信モジュール１１６、１３０についての追加の詳細を提供する。この実施形態において、通信モジュール１１６、１３０は、ネットワーキングのオープンシステム相互接続（ＯＳＩ）モデルの下で動作するモジュールを含み得る。一般に、ＯＳＩモデルは、メディアレイヤおよびホストレイヤに分けられる。メディアレイヤは、物理レイヤ（レイヤ１）、データリンクレイヤ（レイヤ２）、およびネットワークレイヤ（レイヤ３）を含み得る。レイヤ１モジュール２０２、２１６は、メディア、信号、およびデータのバイナリ伝送に関連する。レイヤ２モジュール２０４、２１８は、物理アドレッシングに関係し得、レイヤ２におけるデータは、ネットワーク上の他のデバイスを発見するために使用され得る発見アクションフレームまたはアクションフレームから構成されている。レイヤ３モジュール２０６、２２０は、経路決定および論理アドレッシングに関連し得、このレイヤにおけるデータはパケットとして参照される。ホストレイヤは、トランスポートレイヤ（レイヤ４）、セッションレイヤ（レイヤ５）、プレゼンテーションレイヤ（レイヤ６）、およびアプリケーションレイヤ（レイヤ７）を含む。レイヤ４モジュール２０８、２２２は、エンドツーエンド接続、信頼性、およびフロー制御に関係し、一般に、セグメントの単位で参照される。レイヤ５モジュール２１０、２２４は、ホスト間通信およびアプリケーション間のセッション管理に関連し得る。レイヤ６モジュール２１２、２２６は、データ表現、暗号化、および暗号解読に関係し得る。レイヤ７モジュール２１４、２２８は、インターネットプロトコルネットワークに亘るプロセス間通信のためのアプリケーションデータに関係し得る。レイヤ７モジュール２１４、２２８は、インターネットプロトコルネットワークに亘るプロセス間通信のためのアプリケーションデータに関連し得る。
【００１５】
レイヤ２プロトコル下では、デバイス（例、デバイス１０２）は、他のデバイス（例、デバイス１０４）に対して、Ｗｉ−Ｆｉ直接接続、または、ピアツーピア無線ネットワーク接続１０６を確立することを求めていることを宣伝し得る。宣伝は、ネットワーク上をデバイスから他のデバイスへ情報を送信またはブロードキャストすることにより発生する。レイヤ２の宣伝または発見プロトコルは、デバイス１０２のためのアドレスまたはネットワーク情報（例、サービスセットＩＤ）を含む、ビーコンフレーム、プローブ要求フレーム、およびプローブ応答フレームを含み得る。一般に、受信デバイス（例、デバイス１０４）は、送信デバイス（例、デバイス１０２）によって送信されたフレームから、アドレスおよびネットワークを抽出し得る。フレームまたは発見アクションフレームは、アドレスおよびネットワーク情報フィールドに加えて、情報フィールドを含み得る。例えば、フレームはまた、主デバイスタイプフィールドおよび副デバイスタイプフィールドを含み得る。主デバイスタイプフィールドは、一般に、送信デバイスがネットワーク上で探しているデバイスのタイプに関連するデバイス情報を含み得る。一実施形態において、副デバイスタイプフィールドは、ネットワーク上で探されている追加のデバイスのリストを含み得る。デバイスタイプフィールドは、デバイスの製造元またはモデルに関連するベンダー固有デバイス情報を含み得る。さらに、デバイス情報はまた、デバイスが含むべきハードウェア固有機能を含み得る。しかし、代替の実施形態において、副デバイスタイプフィールドは、ネットワーク上にあるデバイス上で探されている１以上のアプリケーションまたはサービス、の名前または識別子を含み得る。アプリケーションおよびサービスは、図１において記載された上記機能、およびコンピューティングデバイスによって実行され得るいかなる他のタイプのアプリケーションまたはサービスを含み得る。
【００１６】
図３は、携帯デバイス上のアプリケーションのためのピアツーピア無線ネットワーク接続を開始するための方法３００のフロー図である。方法３００は、上述したレイヤ２プロトコルを使用して、デバイス１０２によるアプリケーション宣伝の実装を示す。
【００１７】
ブロック３０２において、デバイス１０２は、すべてのアプリケーションおよびサービスを、ネットワーク上でブロードキャストされるアクションフレームにおいて使用される副デバイスタイプフィールドにマッピングする。アクションフレームは、これらに限定されないが、ビーコンフレーム、プローブ応答フレーム、およびプローブ要求フレームを含む、１以上のいかなるレイヤ２通信フレームを含み得る。一実施形態において、副デバイスタイプフィールドは、探されるデバイスがベンダー固有のタイプであるように、ベンダー固有であり得る。ベンダー固有タイプは、主デバイスタイプフィールドにおいてマッピングされ得る。
【００１８】
ビーコンフレームは無線ネットワーク上でブロードキャストされ、デバイス１０２のプレゼンスを無線ネットワーク１０６上の他のデバイス（例、デバイス１０４）に宣伝するサービスセット識別子（ＳＳＩＤ）を含む。ビーコンは、周期的に無線ネットワーク１０６上でブロードキャストされる。ピアツーピアの文脈においては、ビーコンは比較的短い距離、デバイスから１５０フィート未満の距離だけ離れた中にある、デバイスに対してブロードキャストされる。ＳＳＩＤに加えて、ビーコンはまた、主デバイスタイプおよび副デバイスタイプ情報を含み得る。例えば、主デバイスタイプフィールドは、デバイス１０２によって探されているデバイスのベンダー固有の詳細を含み得る。副デバイスタイプフィールドは、デバイス１０２によって探されているアプリケーションのためのアプリケーション識別子を含み得る。
【００１９】
プローブ要求フレームは、無線ネットワーク接続１０６上の他のデバイスから情報を要求するために使用され得る。例えば、プローブ要求フレームは、どのデバイスが送信デバイスの範囲内に存在するかを決定するために、プローブ要求に応答するように他のデバイスに対して要求し得る。プローブ要求はまた、主デバイスタイプおよび副デバイスタイプ情報を含み得る。デバイスタイプ情報は、或るタイプのデバイス（例、主デバイスタイプフィールドを使用して）が、範囲内に存在し、特定のアプリケーションをインストールしているか否か（例、副デバイスタイプフィールドを使用して）を決定することの要求として扱われ得る。同様に、プローブ要求フレームの受信に応答して送信されるプローブ応答フレームもまた、主および副デバイスタイプ情報を含み得る。
【００２０】
ブロック３０４において、副デバイスタイプフィールドは、デバイス１０２によってブロードキャストされ得る発見フレームにアタッチされる。上で述べたように、発見フレームは、これらに限定されないが、ビーコンフレーム、プローブ要求フレーム、およびプローブ応答フレームを含み得る。
【００２１】
ブロック３０６において、発見フレームは、デバイス１０２によってネットワーク１０６上でブロードキャストされる。発見フレームは、近くにいるデバイス（例、デバイス１０４）を発見することを試みている。もし、発見フレームが主および副デバイスタイプ情報を含み得るならば、発見フレームは、或るアプリケーションをインストールした或るデバイスタイプの近くにいるデバイスを見つけることを試みているであろう。他の実施形態において、発見フレームは、副デバイスタイプ情報を含み得、副デバイスタイプフィールドに挙げられた１以上のアプリケーションがデバイス上にインストールされているいかなるデバイスを、タイプに関係無く検出するために使用される。
【００２２】
ブロック３０８において、発見フレームに対する応答がデバイス１０２において受信される。応答は、ネットワーク上の他のデバイス１０４から送信されたアクションフレームであり、１以上のアプリケーションを使用してデバイス１０２と接続するための要求を含み得る。一実施形態において、応答は、デバイス１０４が、発見フレームを送信したデバイス１０２によって探されているアプリケーションを含まないことを示し得る。他の実施形態において、応答は、デバイス１０４が、ブロードキャストしているデバイス１０２によって探されているアプリケーションを含まないことを示し得る。応答はまた、デバイス１０４からの、ブロードキャストしているデバイス１０２上にインストールされた１以上のアプリケーションへのアクセスについての要求を含み得る。
【００２３】
ブロック３１０において、他のデバイス１０４と接続するための応答を受信すると、通信モジュール１１６は、デバイス１０４との接続を開始する。第１のデバイス１０２のアプリケーションと第２のデバイス１０４上のアプリケーションとの間の接続がひとたび作られると、第１および第２のデバイスは、無線ネットワーク接続１０６上でアプリケーションに関係する情報の交換を開始する。
【００２４】
図４は、携帯デバイス１０２上のアプリケーションのためのピアツーピア無線ネットワーク接続を開始するための他の方法４００を示すフロー図４である。方法４００は、上記のレイヤ２プロトコルを使用してデバイス１０２によって宣伝するアプリケーションの実装を示す。なお、方法４００において提示されるイベントの順序は、単に一実施形態を代表するに過ぎない。他の実施形態において、イベントは、異なる順序で実装され得、他の順序においては１以上のイベントが省略され得る。
【００２５】
ブロック４０２において、デバイス１０２は、どのタイプのデバイスと無線ネットワーク接続１０６上で接続したいかについて決定するかまたは指示される。デバイスタイプは、ネットワーク接続を伴ういかなるデバイス、または、製造元、モデル、またはオペレーティングシステムバージョンに基づくベンダー固有のデバイスを含み得る。デバイスタイプ情報は、レイヤ２発見フレームまたはアクションフレームにおいて使用され得る主デバイスタイプフィールドにマッピングされ得る。上で述べたように、主デバイスタイプフィールドは、レイヤ２発見技術によって、ネットワークに接続された特定のタイプのデバイスを発見するために使用される。
【００２６】
ブロック４０４において、デバイス１０２は、他のデバイス１０４上の対応するアプリケーションと、どのアプリケーションが接続する必要があるかを決定するかまたは指示される。デバイスは、アプリケーション名または識別子を、副デバイスタイプフィールドにマッピングする。上で述べたように、アプリケーション名または識別子にマッピングされた副デバイスタイプフィールドは、レイヤ２発見技術によって、ネットワークに接続されたデバイス上の特定のアプリケーションを発見するために使用される。
【００２７】
ブロック４０６において、デバイス１０２は、無線ネットワーク接続１０６上のデバイスの発見のために使用されるレイヤ２アクションフレームに、副デバイスタイプフィールドをアタッチする。
【００２８】
ブロック４０８において、デバイス１０２は、無線ピアツーピアネットワーク上で、互換性のあるアプリケーションをともなう互換性のあるデバイスのための宣伝をしている発見アクションフレームを、副デバイスタイプフィールド情報とともに送信する。他の実施形態において、デバイス１０２は、互換性のあるアプリケーションを持ついかなるデバイスのための宣伝をしている。互換性のあるアプリケーションは、他のアプリケーションとインターフェイスし得るアプリケーションまたはサービスであり、他のアプリケーションと成功裏に情報を交換し、そして／または、アクションフレームの副デバイスタイプフィールドにおいてマッピングされた他のアプリケーションとインターフェイスするように設計されている。
【００２９】
ブロック４１０において、デバイス１０２は、発見アクションフレームに対する応答を受信する。一実施形態において、応答は、ブロードキャストされた発見アクションフレームの中に含まれていたアプリケーションのための接続要求を含み得る。他の実施形態において、応答は、発見アクションフレームにおいて特定されたアプリケーションが応答デバイス１０４上にインストールされていることの表示を含み得る。
【００３０】
ブロック４１２において、ブロードキャストするデバイス１０２上のアプリケーションと、応答するデバイス１０４上の対応するアプリケーションとの間で、無線ネットワーク上の接続が可能となる。接続は、アプリケーション間の情報交換を、排他的な基準で、または非排他的な基準で、可能とする。非排他的な実施形態において、接続は、デバイス上の他のアプリケーションによって情報を交換するために利用され得る無線接続を作ることにより可能となる。排他的な実施形態において、排他的な接続が、発見アクションフレームにおいて宣伝されたアプリケーション間で可能となる。デバイス上の他のアプリケーションは、無線接続の使用から除外される。
【００３１】
図５は、他の携帯デバイス１０４上のアプリケーションと、携帯デバイス１０２上のアプリケーションのためのピアツーピア無線ネットワーク接続を確立するための方法５００のフロー図である。方法５００は、上記のレイヤ２プロトコルを使用した、デバイス１０４によって受信された発見フレームまたはアクションフレームに対する応答を示している。
【００３２】
ブロック５０２において、デバイス１０４は、ピアツーピア無線ネットワーク接続１０４上で、レイヤ２通信（例、発見フレームまたはアクションフレーム）を受信する。レイヤ２通信は、これらに限定されないが、ビーコンフレームまたはプローブ要求フレームを含み得る。１以上のフレーム内に埋め込まれているのは、レイヤ２通信を送信したデバイス１０２上に格納されたアプリケーション名または識別子を含むように修正された副デバイスタイプフィールドである。
【００３３】
ブロック５０４において、デバイス１０４は、発見フレームまたはアクションフレームの副デバイスタイプフィールドからアプリケーション名を抽出する。一実施形態において、抽出処理は、副デバイスタイプフィールドからアプリケーション名をコピーすることを含み得る。他の実施形態において、抽出処理は、副デバイスタイプフィールドに格納された情報を読み出すことを含み得る。
【００３４】
ブロック５０６において、もし、デバイス１０４が、メモリ１２８に格納された同じまたは類似のサービスまたはアプリケーション、またはデバイス上にモジュール１３０−１３８を持つならば、コンピュータプロセッサは、発見フレームまたはアクションフレームから抽出されたアプリケーションまたはサービスを使用してデバイス１０２とインターフェイスしたいか否かをユーザ１１０に尋ねるプロンプトを、デバイス１０４のディスプレイ上に提示する。
【００３５】
ブロック５０８において、デバイス１０４は、ピアツーピア無線ネットワーク１０６上の接続を求めていたデバイス１０２に対して、応答を送信する。応答は、肯定的応答または否定的応答であり得る。もし、接続を求めているデバイス１０２が肯定的応答を受信するならば、デバイス１０２、１０４は、それぞれのアプリケーションをピアツーピア無線ネットワーク上でお互いに接続し、情報の交換を開始する。
【００３６】
図６は、２つのデバイス１０２、１０４の間の特定のアプリケーションのためのピアツーピア無線ネットワーク接続を、レイヤ２通信プロトコルを使用して確立するための方法６００を示すフロー図である。フロー図は、デバイス１０２、１０４の間の交換のタイミングを示す時間軸（例、時間矢印）を含む。
【００３７】
ブロック６０２において、第１のデバイス１０２は、範囲内にある他のデバイス（例、デバイス１０４）を探して、ピアツーピア無線ネットワーク接続１０６上で発見フレームを提供し得る。発見フレームは、デバイス１０２が、それらのデバイス上で発見したいアプリケーション名または識別子を含む。一実施形態において、アプリケーション名は、発見フレームの中に埋め込まれた副デバイスタイプフィールド内に格納されている。発見フレームは、いかなるレイヤ２通信プロトコルの一部として含まれ得る。一実施形態において、発見フレームはビーコンフレームであり得る。他の実施形態において、発見フレームはプローブ要求フレームであり得る。
【００３８】
ブロック６０４において、第２のデバイス１０４は、第１のデバイス１０２から受信した発見フレームに対する応答を提供し得る。応答は、発見フレーム内に含まれるアプリケーションは、第２のデバイス１０４上に格納またはインストールされていることの表示を含み得る。応答はまた、第２のデバイス１０４が、第１のデバイス１０２上のアプリケーションと、第２のデバイス１０４上の対応するアプリケーションとの間で、例えば、操作などの、情報を交換したいということの表示を含み得る。
【００３９】
他の実施形態において、第２のデバイス１０４は、フレーム内に埋め込まれたアプリケーション名を含み得る発見フレームを提供し得る。一実施形態において、アプリケーション名は、発見フレームの副デバイスタイプフィールドの中に埋め込まれる。第１のデバイス１０２は、発見フレームを受信し、アプリケーションが、例えば、デバイス１０２のメモリの中に、格納またはインストールされているか否かを決定する。第１のデバイス１０２は、アプリケーションを使用して第２のデバイス１０４と情報を交換したいとユーザ１０８が望んでいることを示す応答を送信し得る。
【００４０】
ブロック６０６において、デバイス１０２および１０４は、各デバイス上の対応するアプリケーション間で情報を交換するために無線またはＷｉ−Ｆｉ接続を有効にする。一実施形態において、Ｗｉ−Ｆｉ接続は非排他的であり、接続は、デバイス上に格納されたアプリケーションのいずれの間でも使用され得る。他の実施形態において、無線またはＷｉ−Ｆｉ接続は、発見フレームの中に埋め込まれたアプリケーションに対するだけの排他的なものである。
【００４１】
図７は、複数のアプリケーションのためにピアツーピア無線ネットワークを開始する、デバイス１０２のための例示的なグラフィカルユーザインターフェイス（ＧＵＩ）７００の簡略図である。この実施形態において、複数のアプリケーションアイコン７０２−７１２は、ＧＵＩ７００のデスクトップ上に位置している。アプリケーションアイコンは、デバイス上のアプリケーションを選択または開始する選択可能機能である。一実施形態において、アプリケーションは、ファイル転送アプリケーション７０２、チャットアプリケーション７０４、印刷アプリケーション７０６、および第１のゲームアプリケーション７０８、第２のゲームアプリケーション７１０、および同期アプリケーション７１２を含み得る。
【００４２】
ファイル転送アプリケーション７０２は、1つの格納位置から他の格納位置へファイルをコピー、移動、または転送することを通して、デバイス内の、またはデバイスに接続された他のデバイス内のファイルを転送するために使用され得る。ファイルは、いかなる電子文書、ファイル、命令、またはコードを含み得る。
【００４３】
チャットアプリケーション７０４は、このデバイス１０２と他のデバイス１０４との間で、リアルタイムまたはほぼリアルタイムで、テキスト、オーディオ、またはビデオメッセージを交換するために利用可能とされる。
【００４４】
印刷アプリケーション７０６は、デバイス１０２上に格納された文書の印刷を可能にし得る。デバイスは、ネットワークプリンタと、またはピアツーピア無線接続上のプリンタとインターフェイスし得る。
【００４５】
ゲームアプリケーション７０８、７１０は、デバイス上で、ネットワーク上で、またはピアツーピア接続上で実行され得るいかなるゲームまたはエンターテイメントプログラムの代表である。
【００４６】
最後に、デバイス１０２は、デバイスが、他のデバイスとの間で共有される、または、デバイス１０２から離れて格納されるファイルを同期させることを可能にする同期アプリケーション７１２を含み得る。一実施形態において、同期アプリケーション７１２は、デバイス１０２の音楽ファイルデータベースを、他のデバイス上に格納された遠隔音楽ファイルデータベースと同期させ得る。
【００４７】
ＧＵＩ７００はまた、アプリケーションのそれぞれのための接続ウインドウ７１４−７２４を含み得る。接続ウインドウは、ユーザが他のユーザと共有したい、またはインターフェイスしたいと望むアプリケーションをユーザが選択することを可能にする。一実施形態において、ファイル転送接続ウインドウ７１４は、カーソル（不図示）がファイル転送アプリケーション７０２上にある時にマウスを右クリックすることにより開始され得る。ファイル転送接続ウインドウ７１４は、利用可能な、対象となる、または範囲内のユーザであり、そのユーザのファイル転送アプリケーションがお互いにピアツーピア無線ネットワーク接続１０６上で通信することを望むか否かについて問合せされ得るユーザ、のリストを提供し得る。この実施形態において、３人のユーザが利用可能として表示されている。ユーザ１０８は、ユーザ１、ユーザ２、またはサーバ１、またはそれらの組み合わせを選択し得、開始ボタンを選択することにより接続要求を開始し得る。一実施形態において、開始ボタンは、コンピュータプロセッサ１１２が、ファイル転送アプリケーションを、レイヤ２通信アクションフレーム内で使用されている副デバイスタイプフィールドへマップすることを可能にする。図３乃至６において上述したように、副デバイスタイプフィールドは、デバイス１０２が、自身のファイル転送アプリケーションを他のデバイス１０４上の他のファイル転送アプリケーションと接続することを可能にする。他の実施形態において、利用可能なエンティティは、プリンタ、サーバ、データベース、または他のデバイス上で実行されているアプリケーションであり得る。
【００４８】
本明細書において記載される実施形態は、例えば本明細書において記載された方法および／または動作を実行するために、ハードウェア、ソフトウェア、および／または、ファームウェアを使用して実装され得る。本明細書において記載された或る実施形態は、機械によって実行されるならば、本明細書において記載された方法および／または動作を機械に実行させる機械実行可能な命令を格納した具体的な機械可読媒体として提供され得る。具体的な機械可読媒体は、これらに限定されないが、フロッピー（登録商標）ディスク、光ディスク、コンパクトディスクリードオンリーメモリ（ＣＤ−ＲＯＭ）、コンパクトディスクリライタブル（ＣＤ−ＲＷ）、光磁気ディスクを含むいかなるタイプのディスク、リードオンリーメモリ（ＲＯＭ）、ダイナミックおよびスタティックＲＡＭのようなランダムアクセスメモリ（ＲＡＭ）、消去可能ブログラマブルリードオンリーメモリ（ＥＰＲＯＭ）、電気的消去可能プログラマブルリードオンリーメモリ（ＥＥＰＲＯＭ）、フラッシュメモリ、磁気または光カード等の半導体デバイス、または、電子命令を格納するために適切ないかなるタイプの具体的な媒体を含み得る。機械は、いかなる適切な処理または計算プラットフォーム、デバイスまたはシステムを含み得、いかなる適切なハードウェアおよび／またはソフトウェアの組み合わせを使用して実装され得る。命令は、いかなる適切なタイプのコードを含み得、いかなる適切なプログラミング言語を使用して実装され得る。他の実施形態において、本明細書において記載された方法および／または動作を実行するための機械実行可能命令は、ファームウェアにおいて具体化され得る。
【００４９】
さまざまな機能、側面、および実施形態が本明細書において記載されてきた。これらの機能、側面、および実施形態は、当業者によって理解されるであろうように、バリエーションや変更を受けやすいとともに、お互いが組み合わせられやすい。本発明は、従って、そのような組合せ、バリエーション、および変更を包含すると考えられるべきである。本明細書において採用されてきた用語および表現は、限定のためではなく、記載のための用語として使用され得る。そのような用語および表現の使用において、示された、または、記載された、機能（またはその部分）のいかなる均等物を除外する意図はなく、クレームの範囲内において様々な修正が可能である。他の修正、バリエーション、および代替案もまた可能である。それに応じて、クレームは、すべてのそのような均等物をカバーすることを意図している。
【００５０】
発明の或る実施形態が、現在最も実用的でさまざまな実施形態であると考えられるものとの関連において記載されてきたが、理解されるべきは、発明は、開示された実施形態に限定されるべきではなく、反対に、クレームの範囲内に含まれるさまざまな変更および均等の配置をカバーすることを意図しているということである。本明細書において特定の用語が採用されているが、それらは、一般的且つ説明の意味のみで使用され得、限定する目的で使用されるものではない。
【００５１】
この書面による説明は、例を使用して、ベストモードを含む、発明の或る実施形態を開示し、また、当業者が発明の或る実施形態を実行できるようにするために、いかなるデバイスまたはシステムを作成し使用し、いかなる組み込まれた方法を実行することを含む。発明の実施形態の特許可能な範囲はクレームにおいて定義され、当業者が思いつく他の例を含み得る。そのような他の例は、もし、それらの例が、クレームの文字通りの言語と異ならない構造的要素を持つならば、あるいは、もし、それらの例が、クレームの文字通りの言語と本質的でない違いのある等価な構造的要素を持つならば、クレームの範囲内であることが意図されている。以下の例は、さらなる実施形態に関係する。デバイス上のアプリケーションをデータリンクレイヤの副デバイスタイプフィールドにマップするステップと、副デバイスタイプフィールドをデータリンクレイヤの発見アクションフレームにアタッチするステップと、発見アクションフレームをピアツーピア無線ネットワーク上で送信するステップと、そして、副デバイスタイプフィールド内で提供されるアプリケーションへのアクセスの要求を含む応答を受信するステップと、を含む方法。
【００５２】
一実施形態において、データリンクレイヤは、オープンシステム接続モデルデータリンクレイヤプロトコルに、部分的に基づいている。また、発見アクションフレームは、ビーコンフレーム、プローブ要求、または、プローブ応答フレームを含む。さらに、アプリケーションのマッピングは、アプリケーションのためのアイコンの選択の検出に、部分的に基づいて開始され得る。アイコンは、デバイスのグラフィカルユーザインターフェイス上に表示されている。
【００５３】
他の例示の実施形態は、デバイスにおいてピアツーピア無線ネットワーク上でアクションフレームを受信する受信ステップであり、該アクションフレームはアプリケーション名または識別子を含む副デバイスタイプフィールドを含む、受信ステップと、副デバイスタイプフィールドからアプリケーション名または識別子を抽出する抽出ステップと、アプリケーション名または識別子が、デバイス上に格納されたアプリケーションに対応するか否かを決定する決定ステップと、アプリケーションに関連する情報を交換するためにピアツーピア無線ネットワークを使用するか否かを決定する決定ステップと、アプリケーションのためのピアツーピア無線ネットワーク接続を開始することを示す表示を含む応答を送信する送信ステップと、を含む方法を含む。一例において、アクションフレームは、デバイスタイプ情報を含む主デバイスタイプフィールドと、オープンシステム接続モデルデータリンクレイヤプロトコルのための発見アクションフレームとを含む。
【００５４】
他の実施形態において、該方法はさらに、アプリケーション名または識別子が、デバイス上に格納されたアプリケーションに対応するか否かを決定する決定ステップが、対応するアプリケーションが、その名前のアプリケーションと互換性があるか否かを決定する決定ステップを含むことを含む。一例において、デバイスは第１のデバイスであり、アプリケーションは第１のアプリケーションであり、該方法はさらに、第１のデバイス上の第１のアプリケーションと、第２のデバイス上の第２のアプリケーションとの間にピアツーピア無線接続を確立する確立ステップを含む。
【００５５】
他の例示の実施形態は、少なくとも１つのコンピュータプロセッサによって実行されるとき、少なくとも１つのコンピュータプロセッサに以下のステップを含む方法を実装させる、１以上の具体的なコンピュータ可読記憶媒体を含む。以下のステップは、デバイス上のアプリケーションをデータリンクレイヤの副デバイスタイプフィールドにマッピングするマッピングステップと、副デバイスタイプフィールドをデータリンクレイヤの発見アクションフレームにアタッチするアタッチステップと、発見アクションフレームをピアツーピア無線ネットワーク上で送信する送信ステップと、副デバイスタイプフィールドにおいて提供されているアプリケーションへのアクセスの要求を含む応答を受信する受信ステップと、デバイスタイプを主デバイスタイプフィールドにマッピングするマッピングステップと、を含む。
【００５６】
一実施形態において、発見アクションフレームは、ビーコンフレーム、プローブ要求フレーム、またはプローブ応答フレームを含む。
【００５７】
他の実施形態において、該方法はさらに、アプリケーションのための無線接続を開始するために、アプリケーションのためのアイコンが選択されたことを決定する決定ステップであり、該アイコンは、デバイスのためのグラフィカルユーザインターフェイス上に表示されている、決定ステップと、アプリケーションのための無線接続の対象として、利用可能なデバイスが選択されたことを決定する決定ステップと、を含む。
【００５８】
他の実施形態は、デバイス上で実行可能な複数のアプリケーションを格納するメモリと、アプリケーションの少なくとも１つを発見アクションフレームにマップするコンピュータプロセッサと、発見アクションフレームを使用して少なくとも１つのアプリケーションのためのピアツーピア無線接続を求める通信モジュールであり、発見アクションフレームに対する応答が受信されたとき、少なくとも１つのアプリケーションのためのピアツーピア無線接続を確立する、通信モジュールと、を含むデバイスを含み得る。発見アクションフレームは、主デバイスタイプフィールドと副デバイスタイプフィールドを含む。少なくとも１つのアプリケーションは、副デバイスタイプフィールドにマップされ、デバイスタイプは、主デバイスタイプフィールドにマップされる。さらに、少なくとも１つのアプリケーションは、以下のうちの１つを含む：ファイル転送アプリケーション、同期アプリケーション、ゲームアプリケーション、チャットアプリケーション、または、印刷アプリケーション。最後に、発見アクションフレームは、ビーコンフレーム、プローブ要求フレーム、または、プローブ応答フレームを含む。
【図１】
0005882505.tif 000002
【図２】
0005882505.tif 000003
【図３】
0005882505.tif 000004
【図４】
0005882505.tif 000005
【図５】
0005882505.tif 000006
【図６】
0005882505.tif 000007
【図７】
0005882505.tif 000008