【文献】
Ververidis,C.N., Polyzos,G.C.,Service discovery for mobile Ad Hoc networks: a survey of issues and techniques,Communications Surveys & Tutorials, IEEE,2008年,Volume:10, Issue:3,URL,http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=4625803
(58)【調査した分野】(Int.Cl.,DB名)
前記インフラストラクチャー接続が前記無線ピア・ツー・ピア接続よりも堅牢であれば、前記インフラストラクチャー接続を用いて、前記サービスを前記第2電子装置に提供することを更に含む、請求項1に記載の方法。
【発明を実施するための形態】
【0014】
以下の記述は、あらゆる当業者が実施形態を作成、使用できるように提示されており、特定の用途、及びその要件の状況内で提供されている。開示される実施形態に対する様々な改良は、当業者にはすぐ分かるであろう。本明細書において定義されている一般原理は、本開示の精神や範囲から逸脱することなく他の実施形態、及び応用に適用可能である。従って、本発明は、示されている実施形態のみに限定されるものではなく、本明細書で開示されている原理、及び特徴と矛盾しない最も広い範囲を許容するものとする。
【0015】
この詳細な説明の中で記述されているデータ構造、及びコードは、主として、コンピュータ可読能記憶媒体上に記憶される。この記憶媒体は、コンピュータ・システムで使用されるコード、及び/又は、データを記憶可能とする任意のデバイス、又は、媒体であってもよい。コンピュータ可読記憶媒体には、揮発性メモリ、不揮発性メモリ、ディスク・ドライブ、磁気テープ、CD(コンパクトディスク)、DVD(ディジタル多用途ディスク、若しくは、ディジタルビデオディスク)等の磁気、及び光学記憶デバイス、又は、現在公知とされるか、あるいは、今後開発されるコード、及び/又は、データを記憶可能とする他の媒体が含まれるが、これらに限定されるものではない。
【0016】
この詳細な説明のセクションで述べられている方法、及びプロセスは、前述のコンピュータ可読記憶媒体に記憶可能なコード、及び/又は、データとして具体化できる。コンピュータ・システムが、コンピュータ可読記憶媒体上に記憶されたコード、及び/又は、データを読み取り、これを実行すると、コンピュータ・システムは、データ構造、及びコードとして具現化され、且つ、コンピュータ可読記憶媒体内に記憶される方法、及びプロセスを実行する。
【0017】
更に、本明細書で述べられる方法、及びプロセスは、ハードウェア・モジュール、又は、装置に含めてもよい。これらのモジュール、又は、装置には、特定用途向け集積回路(ASIC)チップ、フィールド・プログラマブル・ゲートアレイ(FPGA)、特定時刻において特定のソフトウェア・モジュール、若しくは、コードの一部を実行する専用、あるいは、共用プロセッサ、及び/又は、現在公知とされるか、あるいは、今後開発される他のプログラマブル・ロジックデバイスを含むことが可能であるが、これらに限定されるものではない。ハードウェア・モジュール、又は、装置が動作すると、その内部に含まれている方法、及びプロセスを実行する。
【0018】
開示の実施形態は、電子装置上のサービスを公示、発見、及び/又は、使用するための方法、並びに、システムを提供する。
図1に示すように、多数のコンピュータ・システム110〜112が、無線アクセス・ポイント、セルラー電波塔、及び/又はルータ等の機器によって提供されるネットワーク・リンク106〜108を介してネットワーク104に接続する。電子装置110〜112は、パーソナル・コンピュータ、ラップトップ・コンピュータ、タブレット・コンピュータ、モバイル電話、携帯型メディア・プレーヤ、デジタル・メディア受信器、ビデオ・ゲーム・コンソール、プリンター、スキャナー、及び/又は、他のネットワーク対応電子装置に対応可能である。ネットワーク104には、ローカルエリア・ネットワーク(LAN)、広域ネットワーク(WAN)、パーソナルエリア・ネットワーク(PAN)、仮想プライベート・ネットワーク、イントラネット、モバイル電話ネットワーク(例えば、セルラー・ネットワーク)、WiFiネットワーク、イーサネット・ネットワーク、及び/又は、ネットワーク104に接続する電子装置(例えば、電子装置110〜112)間の通信を支援する既存のインフラストラクチャー(例えば、ネットワーク・リンク106〜108)を備えた他の形態のネットワークを含められる。
【0019】
電子装置110〜112は、ネットワーク104を介して互いに、及び/又は、他の電子装置若しくはサーバと通信できる。例えば、電子装置110は、Bonjour(Bonjour(商標)は、アップル社の登録商標)等の発見プロトコルを用いて、電子装置110上のサービスを電子装置112、及び/又は、ネットワーク104上の他の電子装置に公示できる。同様に、電子装置112は、発見プロトコル、及びネットワーク104を用いて、電子装置110上のサービスを発見(例えば、検知)できる。最終的に、電子装置112は、ネットワーク104を介して電子装置110に接続し、サービスにアクセスすることで、このサービスを使うことができる。例えば、電子装置112は、発見プロトコル及びネットワーク104を用いて、ファイル転送、メディアのストリーム配信、印刷、文書の協調作業、及び/又は、電子装置110上でのディスクトップ共有を実行するためのサービスにアクセスできる。
【0020】
だが、電子装置110〜112間の通信は、ネットワーク・リンク106〜108及び/若しくはネットワーク104の可用性、帯域、並びに/又は、機能によって制限されることがある。例えば、各電子装置110〜112は、電子装置を他の電子装置に接続する構造化ネットワーク(例えば、ネットワーク104)が無いと、他の電子装置上のサービスを発見、及び/又は、使用することができない。
【0021】
1つ以上の実施形態において、電子装置110〜112には、電子装置110〜112間のネットワーク・リンク106〜108、及び/又は、他の既存ネットワーク・インフラストラクチャーが無い場合において、互いにサービスを公示、発見、及び/又は、利用し合うための機能が含まれる。
図2で示すように、1組の電子装置202〜204は、
図1のネットワーク104等の構造化ネットワークにおける1つ以上のネットワーク・リンク206(例えば、アクセス・ポイント、ルータ、セルラー電波塔等)を介して接続できる。逆に、ネットワーク・リンク206は、電子装置202〜204の一方、又は、両方から利用不可能であり(例えば、範囲外、保護下等)、電子装置202〜204は、構造化ネットワークを介して互いに接続することができない場合がある。
【0022】
ネットワーク・リンク206、及び/又は、他の既存ネットワーク・インフラストラクチャーを介して通信せずに、電子装置202上のアプリケーション222から提供されるサービス226を電子装置204上のアプリケーション224によって利用可能となるよう、電子装置202は、仮想アクセス・ポイント・インターフェース216、及び発見プロトコル234(例えば、Bonjour(登録商標))を介してサービス226を公示できる。同様に、電子装置204は、発見プロトコル234、及び仮想アクセス・ポイント・インターフェース216を介して、サービス226を発見し、これを利用可能である。
【0023】
具体的には、電子装置202上の発見装置208は、アプリケーション222からサービス226に関する公示要求を受信できる。この公示要求には、非インフラストラクチャー機構を用いてサービス226を公示する要求を含められる。例えば、公示要求は、仮想アクセス・ポイント・インターフェース216、及び/又は、他のアドホック・ピア・ツー・ピア機構を介してサービス226を公示するためのフラグ、及び/又は、インジケータを含むことができる。あるいは、アプリケーション222は、電子装置202上の仮想アクセス・ポイント・インターフェース216の可用性を認識してない場合があり、公示要求は、仮想アクセス・ポイント・インターフェース216を用いてサービス226を公示するための要求を省略できる。
【0024】
公示要求に応じて、電子装置202上の発見装置208、及び/又は、通信装置212は、仮想アクセス・ポイント・インターフェース216を有効にできる。例えば、発見装置208から公示要求、及び/又は、仮想アクセス・ポイント・インターフェース216を起動するための要求の受信後、通信装置212は、仮想アクセス・ポイント・インターフェース216を起動できる。仮想アクセス・ポイント・インターフェース216を作成するため、通信装置212は、「軽量」アクセス・ポイントとして動作、及び/又は、無線アドホック・ネットワークを提供するよう、電子装置202上で無線装置を構成できる。
【0025】
通信装置212には、仮想アクセス・ポイント・インターフェース216を提供する間、構造化ネットワーク(例えば、ネットワーク・リンク206を介して)に接続する機能も、含められる。例えば、通信装置212は、仮想アクセス・ポイント・インターフェース216を介してサービス226を公示するために、WiFiネットワーク、及びアドホック機構との接続を介して、ネットワーク接続を同時に提供できる。
【0026】
サービス226を公示するために、発見装置208、及び/又は、通信装置212は、電子装置202付近にある他の電子装置(例えば、電子装置204)による仮想アクセス・ポイント・インターフェース216、及び/又は、サービス226の検知が可能となる。例えば、発見装置208、及び/又は、通信装置212は、仮想アクセス・ポイント・インターフェース216、及び/又は、サービス226に関する情報を含むビーコン・フレームを、定期的に送信できる。ビーコン・フレームは、仮想アクセス・ポイント・インターフェース216に関する1組の機能、対応可能なデータ・レート、及び/又は、識別子(例えば、802.11サービスセット識別子(SSID))を指定できる。ビーコン・フレームはまた、サービス226、発見プロトコル234に関するサポート、及び/又は、仮想アクセス・ポイント・インターフェース216に関する他の一意な属性を記述する1つ以上の情報要素を含められる。発見装置208、及び/又は、通信装置212はまた、他の電子装置からプローブ要求フレームを受信して、ビーコン・フレームと同じ情報を含むプローブ応答フレームを他の電子装置に送信できる。
【0027】
図2で示すように、電子装置204はまた、発見装置210、及び通信装置214も含められる。発見装置210、及び/又は、通信装置214は、電子装置204上に別個の仮想アクセス・ポイント・インターフェースを提供する機能を発見装置210、及び/又は、通信装置214に備えていない場合であっても、仮想アクセス・ポイント・インターフェース216を検知する機能を含められる。例えば、発見装置210は、電子装置202等の付近の電子装置上で公示されるサービスをブラウズ、及び/又は、スキャン処理するためのブラウズ要求を、アプリケーション224から受信できる。通信装置214は、通信装置214によりサポートされる1つ以上の802.11バンドの各チャンネル上でプローブ要求フレームを送信することで、付近の電子装置をスキャン処理することができる。スキャン処理中、通信装置214は、通信装置212により使用されるチャンネル上でビーコン・フレーム、及び/又は、プローブ応答フレームを受信できる。ビーコン・フレーム、及び/又は、プローブ応答フレームはまた、上述の仮想アクセス・ポイント・インターフェース216、及び/又は、サービスに関する情報を含められる。
【0028】
次に、発見装置210、及び/又は、通信装置214は、付近の電子装置のスキャン処理中に得られた情報を用いて、サービス226の発見を実行できる。サービス226の発見を始動するために、発見装置210、及び/又は、通信装置214は、発見プロトコル234を用いて、サービス226に関する発見要求218を電子装置202に送信できる。例えば、発見装置210、及び/又は、通信装置214は、サービス226に関するブラウズされた識別子を含む包括的公示サービス(GAS)フレームとして発見要求218を送信できる。ブラウズされた識別子は、アプリケーション224によりブラウズ要求内で発見装置210へ提供可能である。即ち、ブラウズされた識別子は、アプリケーション224が利用に関心を示したサービスとしてサービス226を特定できる。
【0029】
1つ以上の実施形態において、発見要求218は、電子装置204上の1つ以上のサービス提供も含む。例えば、発見要求218には、サービス提供に関する公示識別子(例えば、サービス種別)、サービス提供に関連するデータ、及び/又は、電子装置202によるサービス提供の発見を可能とする他の情報を含められる。即ち、発見要求218は、電子装置204上で公示されるサービスに関する情報を提供し、それと同時に、電子装置202上で公示されるサービスに関する情報も要求できる。従って、発見要求218は、電子装置202〜204間のサービスの相互的、及び/又は、「対称的」発見を支援可能であり、これについて、
図3と関連して以下でより詳細に論じる。
【0030】
発見要求218に応じて、発見装置208、及び/又は、通信装置212は、発見要求218に対する発見応答220を生成可能である。発見応答220は、サービス226に関連するデータを含めてもよい。例えば、発見応答220は、サービス226に関するブラウズされた識別子(例えば、サービス種別)、サービス226に関する一意な名称、及び/又は、電子装置204がサービス226を発見するのに十分な他の情報を含むことができる。そして、発見装置208、及び/又は、通信装置212は、発見応答220を電子装置204に送信することで、電子装置204によるサービス226の発見を完了可能である。
【0031】
サービス226が公示中、及び/又は、発見中において、発見装置208、及び/又は、通信装置212は、電子装置204等の電子装置202付近にある電子装置により公示されるサービスの発見も実行できる。例えば、アプリケーション222は、ブラウズ要求を発見装置208に送信可能であり、発見装置208、及び/又は、通信装置212は、ある範囲の802.11チャンネルを介してプローブ要求フレームを送信し、付近の電子装置からプローブ要求フレームに関するプローブ応答フレームを受信することで、付近の電子装置をスキャン処理できる。そして、発見装置208、及び/又は、通信装置212は、ブラウズ要求、プローブ応答フレーム、及び/又は、発見プロトコル234からの情報を用いて、発見要求を付近の電子装置に送信し、付近の電子装置から発見要求に対する発見応答を受信可能である。
【0032】
サービス(例えば、サービス226)が、電子装置(例えば、電子装置204)によって発見されると、このサービスは、電子装置によって使用可能である。例えば、通信装置214は、発見応答220からのサービス226に関する一意な名称を使用して、電子装置202上のサービス226にアクセスするためのネットワーク・アドレス、ポート番号、及び/又は、他の構成情報のドメイン名称システム(DNS)検索を実行できる。あるいは、通信装置214は、発見応答220から構成情報を直接取得できる。次に、通信装置214は、構成情報、及び仮想アクセス・ポイント・インターフェース216を用いて、電子装置202との無線ピア・ツー・ピア接続228を確立すると、電子装置204は、この無線ピア・ツー・ピア接続228を介してサービス226を使用できる。
【0033】
前述の様に、電子装置202〜204はまた、ネットワーク・リンク206、及び/又は、他の既存のネットワーク・インフラストラクチャーにより提供されるインフラストラクチャー接続を介しても接続できる。インフラストラクチャー接続が利用可能で、且つ、無線ピア・ツー・ピア接続228よりも堅牢な接続(例えば、信号強度がより高い、帯域がより広い等)に関連する場合、通信装置212〜214は、このインフラストラクチャー接続を用いてサービス226を電子装置204に提供可能である。一方、利用できるインフラストラクチャー接続が無い場合、及び/又は、インフラストラクチャー接続が無線ピア・ツー・ピア接続228よりも堅牢性が低い場合、電子装置204は、電子装置224によるサービス226の使用が完了するまで、無線ピア・ツー・ピア接続228を用いてサービス226にアクセスできる。
【0034】
発見装置208、及び/又は、通信装置212は、サービス226の公示の終了がアプリケーション222から受信されるまで、サービス226に関する公示、及び/又は、仮想アクセス・ポイント・インターフェース216の提供を継続して実行もできる。例えば、アプリケーション222は、サービス226に関する公示を終了させる要求を発見装置208に送信して、発見装置208は、仮想アクセス・ポイント・インターフェース216を介して、サービス226の公示を中断可能である。仮想アクセス・ポイント・インターフェース216を介して他のサービスが公示されていなければ、通信装置212はまた、仮想アクセス・ポイント・インターフェース216を無効にできる。
【0035】
それ故、電子装置202〜204間のインフラストラクチャー接続が無ければ、仮想アクセス・ポイント・インターフェース216によって、電子装置202〜204は、サービス(例えば、サービス226)を互いに公示、発見、及び使用することが可能である。更に、各電子装置上のサービスの公示は、仮想アクセス・ポイント・インターフェースの提供者を選択するための他の電子装置との交渉後ではなくサービスの公示要求の受信時に、仮想アクセス・ポイント・インターフェース(例えば、仮想アクセス・ポイント・インターフェース216)を有効とすることで効率化できる。最終的に、サービス提供を含む発見要求(例えば、発見要求218)の送信によって、電子装置202〜204間のサービスの「対称的」発見を可能とし、電子装置202〜204上のサービスを相互に発見するため、電子装置202〜204双方による発見要求、及び発見応答の送信を必要とする従来の「非対称的」サービス発見に関連する遅延を低減することもできる。
【0036】
図2のシステムが様々な様式で実施可能なことは、当業者に理解されるであろう。第1に、各電子装置202〜204上の発見装置208〜210、及び通信装置212〜214は、同一のソフトウェア、及び/又は、ハードウェア構成要素によって提供されるか、あるいは、発見装置208〜210、及び通信装置212〜214は、互いに独立して実行可能である。例えば、発見装置208〜210、及び通信装置212〜214は、アプリケーション・プロセッサ、ベースバンド・プロセッサ、マルチコア・プロセッサ、単一コア・プロセッサ、オペレーティング・システム・カーネル、独立アプリケーション、及び/又は、ドライバの種々の組み合わせを用いて実装できる。
【0037】
第2に、電子装置202〜204は、種々の技術を用いて、サービスを公示、及び発見することができる。例えば、電子装置202〜204は、種々の種類、及び/又は、802.11フレームの系列、及び/又は、他のネットワーク機構を用いて、他の電子装置のスキャン処理、他の電子装置上でのサービスの発見、及び/又は、他の電子装置でのサービスの公示を実行可能である。
【0038】
図3は、開示の実施形態に係わる発見要求302、及び発見応答304を示す。発見要求302、及び発見応答304によって、第1電子装置(例えば、
図2の電子装置202〜204)上のサービスを第2電子装置により発見できる。これにより、発見要求302は、第2電子装置により送信され、第1電子装置上のサービス発見を始動できる。サービスを特定するために、発見要求302には、サービスについてブラウズされた識別子306を含められる。例えば、第2電子装置は、サービス利用に関心を示した第2電子装置上のアプリケーションからこのサービスに関するBonjour(登録商標)サービス種別を取得できる。第2電子装置には、サービスに関する情報をより多く要求するための発見要求302内のブラウズされた識別子としてBonjour(登録商標)サービス種別を含められる。
【0039】
図3で示す様に、発見要求302はまた、1組の公示識別子308、及び1組のデータ310も含められる。前述の様に、公示された識別子308、及びデータ310は、第2電子装置上の1つ以上のサービス提供(例えば、公示されたサービス)を指定できる。例えば、公示された識別子308は、サービス提供に関するサービス種別で良く、データ310は、サービス提供の一意な名称、サービス提供に関する詳細、及び/又は、第1電子装置、及び/又は、付近にある他の電子装置によるサービス提供の発見を可能とする他の情報を含められる。更に、公示された識別子308、及びデータ310は、サービスと類似、及び/又は、関連するサービス提供に適用可能であるか、あるいは、公示された識別子308、及びデータ310は、サービスに関連しないものも含めた第2電子装置上の種々のサービス提供を記述できる。
【0040】
第1電子装置は、発見要求302に応じて、発見応答304を生成し、この発見応答304を第2電子装置に送信できる。発見要求302には、公示された識別子308、及びデータ310が含まれるので、第2電子装置により公示されるサービス(例えば、サービス提供)を発見する上で、第2電子装置への種々の発見要求の送信を省略することが可能である。
【0041】
発見要求302と同様、発見応答304は、発見するサービスを特定するためのブラウズされた識別子306を含められる。発見応答304はまた、サービスに関連するデータ312も含むことが可能である。例えば、発見応答304は、サービスに関する一意な名称、サービスの詳細、サービスに関連するグラフィック(例えば、アイコン)、及び/又は、サービスの発見に関連する他の情報を含められる。発見応答304が第2電子装置により受信されると、各電子装置は、他の電子装置上の1つ以上のサービスを発見したであろう。
【0042】
第1、及び/又は、第2電子装置は、発見要求302、及び/又は、発見応答304内の情報を用いて、サービスを利用できる。具体的には、第2電子装置は、発見応答304からのデータ312を用いて、第1電子装置とのネットワーク接続(例えば、無線ピア・ツー・ピア接続、インフラストラクチャー接続等)を確立できる。あるいは、第1電子装置は、発見要求302からのデータ310を用いて、第2電子装置とのネットワーク接続を始動する。ネットワーク接続が始動すると、第1電子装置は、ネットワーク接続を介してサービスを第2電子装置に提供できるか、又は、第1電子装置は、第2電子装置上の類似、及び/又は、関連するサービスの使用を始動できる。
【0043】
例えば、第1及び第2電子装置は共に、ピア・ツー・ピア型ファイル転送サービスを公示し、発見要求302及び発見応答304を使用して、ピア・ツー・ピア型ファイル転送サービスに関する「対称型」発見を実行できる。そして、各電子装置は、発見要求302、及び/又は、発見応答304からの情報を用いて、他の電子装置とのピア・ツー・ピア接続を確立し、このピア・ツー・ピア接続を介してファイルを他の電子装置に転送できる。
【0044】
図4は、開示の実施形態に係わる第1電子装置上のサービスを提供するプロセスについて説明するフローチャートを示す。1つ以上の実施形態において、1つ以上のステップの省略、反復実行、及び/又は、異なる順序での実行が可能である。従って、
図4で示すステップの特定の構成は、実施形態の範囲を限定するものとして解釈すべきでない。
【0045】
最初に、仮想アクセス・ポイント・インターフェース、及び発見プロトコルを用いて、第1電子装置上のサービスを公示する。サービスを公示するために、サービスを提供するアプリケーションからのサービスの公示要求に応じて、仮想アクセス・ポイント・インターフェースを有効とする(ステップ400)。仮想アクセス・ポイント・インターフェースは、「軽量」アクセス・ポイントとして動作するよう、及び/又は、無線アドホック・ネットワークを提供するよう電子装置上で無線装置を構成することで有効にできる。この公示要求には、非インフラストラクチャー機構を用いてサービスを公示する要求を含められる。
【0046】
ブラウズ要求はまた、アプリケーションから受信できる(ステップ402)。ブラウズ要求を受信したら、第1電子装置付近にある1つ以上の電子装置のスキャン処理を実行する(ステップ404)。このスキャン処理は、アプリケーションから第1電子装置へのブラウズ要求に応じて発生可能である。更に、スキャン処理は、アプリケーションにサービスを公示することから独立して実行できる。スキャン処理中、プローブ要求フレームは、第1電子装置による無線通信用に使用される1つ以上のバンドの各チャンネル上で送信可能である。そして、プローブ要求フレームに対するプローブ応答フレームは、第1電子装置付近にある1つ以上の電子装置から受信可能である。スキャン処理により電子装置(複数)が検知されると、発見プロトコルを用いて、電子装置(複数)により公示される1組のサービスを取得し(ステップ406)、これについて、
図5を参考として以下でより詳細に論じる。即ち、他の電子装置上のサービスの発見は、他の電子装置へのサービスの公示と同時に第1電子装置により実行可能である。ブラウズ要求が受信されなければ、他の電子装置上のサービスのスキャン処理、及び/又は、ブラウジングは、第1電子装置によって実行できない。
【0047】
発見要求は、第2電子装置から仮想アクセス・ポイント・インターフェースを介して受信可能である(ステップ408)。発見要求が受信されないと、サービスの発見を実行できない。発見要求が受信されると、発見要求に対する発見応答が送信される(ステップ410)。発見応答には、第2電子装置がサービスを発見可能とする情報を含められる。更に、発見要求は、第2電子装置上の1つ以上のサービス提供を含むことが可能であり、これにより、別個の発見要求を第2電子装置に送信して、第2電子装置から発見応答を受信することなく、第1電子装置上でのサービス提供(複数)の発見が可能となる。
【0048】
次に、仮想アクセス・ポイント・インターフェースを用いて、第1、第2電子装置間の無線ピア・ツー・ピア接続を確立したら(ステップ412)、この無線ピア・ツー・ピア接続を介してサービスを第2電子装置に提供する(ステップ414)。例えば、第2電子装置は、第1電子装置からのプローブ応答フレーム内の情報で仮想アクセス・ポイント・インターフェースを接続することにより、無線ピア・ツー・ピア接続を確立できる。そして、第2電子装置は、発見応答からの情報、及び無線ピア・ツー・ピア接続を用いて、ファイルの転送、ディスクトップの共有、文書上での協調作業、音声、及び/又は、映像のストリーム配信、及び/又は、第1電子装置による印刷ジョブの実行を行う。
【0049】
第1、第2電子装置間のインフラストラクチャー接続を利用でき、しかも、これは無線ピア・ツー・ピア接続よりも堅牢である場合もある(ステップ416)。例えば、第1、第2電子装置を無線ピア・ツー・ピア接続よりも高い信号強度、及び/又は、広い帯域を有するWiFiアクセス・ポイントを介して接続できる。インフラストラクチャー接続が無線ピア・ツー・ピア接続よりも堅牢であれば、このインフラストラクチャー接続を用いて、サービスを第2電子装置に提供する(ステップ418)。インフラストラクチャー接続が無線ピア・ツー・ピア接続よりも堅牢でなければ、引き続き、無線ピア・ツー・ピア接続を用いて、サービスを第2電子装置に提供する。
【0050】
サービスの公示終了が検知される場合がある(ステップ420)。例えば、サービスの公示を中断するための要求をアプリケーションから受信する時、公示の終了を検知できる。サービスの公示の終了が検知されなければ、電子装置へのサービスの公示(ステップ408〜410)、及び他の電子装置によるサービスの利用(ステップ412〜418)と併せて、スキャン処理及びサービス発見を付近の電子装置上で実行し続ける(ステップ402〜406)。サービスの公示の終了が検知されると、仮想アクセス・ポイント・インターフェースは無効化されて(ステップ422)、サービスは、仮想アクセス・ポイント・インターフェースを介してこれ以上公示、及び/又は、提供されることはない。付近の電子装置からのサービスのスキャン処理、及び/又は、ブラウジング(ステップ402〜406)は、第1装置上でのサービスのブラウジングがまた無効となるまで継続できる。
【0051】
図5は、開示の実施形態に係わる第1電子装置上のサービスを使用するプロセスについて説明するフローチャートを示す。1つ以上の実施形態において、1つ以上のステップの省略、反復実行、及び/又は、異なる順序での実行が可能である。従って、
図5で示すステップの特定の構成は、実施形態の範囲を限定するものとして解釈すべきでない。
【0052】
第1に、サービスについてブラウズされた識別子を含むブラウズ要求を、第2電子装置上で取得する(ステップ500)。例えば、第2電子装置は、第1電子装置を含む付近の電子装置上のサービス利用に関心を示した第2電子装置上のアプリケーションからブラウズ要求を取得できる。
【0053】
次に、第2電子装置付近にある1つ以上の電子装置のスキャン処理を用いて、第1電子装置を検知する(ステップ502)。例えば、第1電子装置は、この第1電子装置によって使用されるチャンネル上でプローブ要求を送信することで検知可能であり、第1電子装置からプローブ要求に対するプローブ応答を受信できる。
【0054】
第1電子装置の検知後、発見プロトコルを用いて、ブラウズされた識別子を含む発見要求、及び第2電子装置上の1つ以上のサービス提供を第1電子装置へ送信する(ステップ504)。各サービス提供には、サービス提供に関する公示識別子、及びサービス提供に関連するデータを含められる。サービス提供(複数)によって、既存、及び/又は、従来型サービス発見法とは異なり、別個の発見要求を第2電子装置に送信して、第2電子装置から発見応答を取得することなく、第1電子装置は、第2電子装置により公示されるサービス(例えば、サービス提供)を発見することが可能である。即ち、サービス提供(複数)は、第1、第2電子装置上のサービスの「対称的」発見を支援できるのに対して、他の発見機構は、より時間がかかる「非対称的な」発見機構を使用する場合がある。
【0055】
そして、発見要求に対する発見応答を、第1電子装置から受信したら(ステップ506)、これを用いて、第2電子装置から第1電子装置上のサービスにアクセスする(ステップ508)。例えば、発見応答には、ブラウズされた識別子、及びサービスに関連するデータを含められる。このデータによって、第2電子装置は、第1電子装置とのネットワーク接続を確立して(例えば、無線ピア・ツー・ピア接続、インフラストラクチャー接続)、このネットワーク接続を介してサービスにアクセスできる。第1電子装置はまた、第2電子装置の発見要求からのデータを用いて、第2電子装置に接続し、第2電子装置上のサービスを使用できる。
【0056】
図6は、開示の実施形態に係るコンピュータ・システム600を示す。コンピュータ・システム600は、プロセッサ602、メモリ604、記憶装置606、及び/又は、電子計算装置内に見られる他の構成要素を含む装置に対応してもよい。プロセッサ602は、コンピュータ・システム600内の他のプロセッサによる並列処理、及び/又はマルチスレッド動作をサポートできる。コンピュータ・システム600はまた、キーボード608、マウス610、及びディスプレイ612等の入出力(I/O)装置も含められる。
【0057】
コンピュータ・システム600は、本実施形態の様々な構成要素を実行する機能を備えられる。具体的には、コンピュータ・システム600は、コンピュータ・システム600上のハードウェア資源、及びソフトウェア資源の使用を調整するオペレーティング・システム(図示せず)、並びに利用者向けに専用タスクを実行する1つ以上のアプリケーションを含むことができる。利用者用のタスクを実行するため、アプリケーションは、オペレーティング・システムからコンピュータ・システム600上のハードウェア資源の使用を取得でき、並びに、オペレーティング・システムによって提供されるハードウェア・フレームワーク、及び/又はソフトウェア・フレームワークを介してユーザと相互作用することも可能である。
【0058】
1つ以上の実施形態において、コンピュータ・システム600は、第1電子装置上のサービスを提供するシステムを提供する。このシステムは、仮想アクセス・ポイント・インターフェース、及び発見プロトコルを用いて、第1電子サービス上のサービスを公示する発見装置を含められる。仮想アクセス・ポイント・インターフェースによって、第2電子装置によるサービスの発見を第1、第2装置間でインフラストラクチャー接続を行わずに実行できる。このシステムはまた、仮想アクセス・ポイント・インターフェースを提供し、この仮想アクセス・ポイント・インターフェースを用いて、第1電子装置と第2電子装置との間の無線ピア・ツー・ピア接続を確立する通信装置も含められる。この通信装置はまた、無線ピア・ツー・ピア接続を介してサービスを第2電子装置に提供することもできる。
【0059】
加えて、コンピュータ・システム600の1つ以上の構成要素を遠隔配置し、ネットワークを介して他の構成要素に接続することができる。本実施形態の一部(例えば、発見装置、通信装置、電子装置等)はまた、本実施形態を実施する分散システムの異なるノード上に配置することもできる。例えば、本実施形態は、複数の電子装置を1組の無線ピア・ツー・ピア接続、及び/又は、インフラストラクチャー接続を介して互いに接続することで実装可能である。
【0060】
図7は、開示の実施形態に係わる仮想アクセス・ポイント・インターフェース712を提供する例示的なシステムを示す。このシステムは、
図2の電子装置202の様な電子装置上で実装できる。
図7で示す様に、システムには、アプリケーション702により提供されるサービスの公示要求216を生成するアプリケーション702が含まれる。例えば、アプリケーション702は、電子装置上のサービスを共有するピア・ツー・ピア・ファイルの公示を要求できる。
【0061】
アプリケーション702は、公示要求216をアプリケーションによるサービスの公示を可能とするマルチキャスト・ドメイン名システム(mDNS)レスポンダ704へ提供し、mDNSレスポンダ704は、プラグイン216を用いて、公示要求216をピア・ツー・ピア(P2P)スーパーバイザ706に送信する。アプリケーション702、mDNSレスポンダ704、及びP2Pスーパーバイザ706は全て、電子装置上のユーザ空間716内に常駐可能である。
【0062】
次に、P2Pスーパーバイザ706は、ベンダー抽象化レイヤー708(例えば、アプリケーション・プログラミング・インターフェース(API))を介してメッセージをベンダー固有802.11ドライバ710に送信可能であり、802.11ドライバ710は、新規仮想アクセス・ポイント・インターフェース712を作成できる。例えば、付近の電子装置への「軽量」アクセス・ポイントとして動作することで、仮想アクセス・ポイント・インターフェース712を提供するよう、802.11ドライバ710は、電子装置上で802.11無線を構成できる。802.11ドライバ710はまた、仮想アクセス・ポイント・インターフェース712を提供する間、構造化WiFiネットワークに接続するよう、無線装置を構成できる。ベンダー抽象化レイヤー708、及び802.11ドライバ710は、電子装置上のカーネル空間718内に常駐可能である。
【0063】
そして、P2Pスーパーバイザ706は、仮想アクセス・ポイント・インターフェース712から付近の電子装置へと送信されるビーコン・フレーム、及び/又は、プローブ応答フレームを介してサービスを公示できる。P2Pスーパーバイザ706はまた、仮想アクセス・ポイント・インターフェース712を介して電子装置から発見要求を受信し、発見要求に対する発見応答を生成し、802.11ドライバ710、及び/又は、仮想アクセス・ポイント・インターフェース712を介して、発見要求に対する発見応答を送信する。最終的に、P2Pスーパーバイザ706は、発見要求を電子装置に送信して、電子装置により公示されるサービスを含む発見応答を受信可能である。
【0064】
アプリケーション702により提供されるサービスを使用するために、第2電子装置は、仮想アクセス・ポイント・インターフェース712を介して電子装置との無線P2P接続を確立し、仮想アクセス・ポイント・インターフェース712、及び電子装置上のネットワーク・スタック714を介してパケットをアプリケーション702へ送信可能である。アプリケーション702はまた、無線P2P接続、ネットワーク・スタック714、及び仮想アクセス・ポイント・インターフェース712を用いて、パケットを第2電子装置に送信することで、サービスを第2電子装置に提供できる。最終的に、2つの電子装置間のインフラストラクチャー接続を利用でき、無線P2P接続よりも堅牢であれば、このインフラストラクチャー接続を用いて、サービスを第2電子装置に提供可能である。
【0065】
様々な実施形態に関する前述の説明を、例示と説明のためにのみに提示してきた。これらは、包括的とすること、或いは、本発明を開示した形態に制約することを意図していない。したがって、多くの改良、及び変形形態は、当業者には明らかであろう。更に、上記の開示は、本発明を制限することを意図していない。