(57)【特許請求の範囲】
【請求項１】
第１のデバイスのコンピュータープロセッサが、前記第１のデバイスのアプリケーションから、第２のデバイスに接続するための無線接続要求を受信するステップと、
前記コンピュータープロセッサが、前記第２のデバイスから、前記第１のデバイスに接続するための指示を受信するステップと、
前記コンピュータープロセッサが、前記無線接続要求が初回の無線接続要求であると決定するステップと、
前記コンピュータープロセッサが、前記無線接続要求に応答し、且つ、前記第１のデバイスが検出可能モードであるのかグループオーナーモードであるのかに少なくとも部分的に基づき、無線接続プロトコルを生成するステップと、
前記無線接続プロトコルを前記第１のデバイスの無線通信システムに送って、無線接続を開始するステップと、
前記アプリケーションに無線接続開始メッセージを送るステップと、
前記無線接続プロトコルに少なくとも部分的に基づく前記無線接続を確立するステップと、
前記アプリケーションに無線接続メッセージを送るステップと、
を含む、方法。
【請求項２】
前記無線通信システムから、前記第１のデバイスに対する前記初回の無線接続要求を示すネゴシエーション要求を受信するステップと、
前記ネゴシエーション要求を受信することに少なくとも部分的に基づいて、且つ前記アプリケーションから前記無線接続要求を受信する前に、前記アプリケーションにピアツーピア接続要求を送るステップと、
を更に含む、請求項１に記載の方法。
【請求項３】
前記無線通信システムから、前記第１のデバイスに対する次回以降の無線接続要求を示す招待要求を受信するステップと、
前記招待要求を受信することに少なくとも部分的に基づいて、且つ前記アプリケーションから前記無線接続要求を受信する前に、前記アプリケーションにピアツーピア接続要求を送るステップと、
を更に含む、請求項１に記載の方法。
【請求項４】
前記無線接続要求は更に、前記第１のデバイスのユーザーデータと、前記第１のデバイスと情報をやりとりしている１以上の他のデバイスからのユーザーデータと、前記第１のデバイスの無線接続の実行履歴と、前記第１のデバイスと情報をやりとりしている前記１以上の他のデバイスのデバイス情報とに、少なくとも部分的に基づく、
請求項１に記載の方法。
【請求項５】
前記初回の無線接続要求に基づく前記無線接続プロトコルは、
グループオーナーネゴシエーションプロトコル、
ＷＰＳ（Wi-Fi  Protected  Setup）プロトコル、
デバイス関連付けプロトコル、
デバイス認証プロトコル、
デバイスＩＰ割り当てプロトコル
のうち少なくとも１つを含む、請求項１に記載の方法。
【請求項６】
次回以降の無線接続要求に基づく前記無線接続プロトコルは、
招待プロトコル、
デバイス関連付けプロトコル、
デバイス４ウェイハンドシェイクプロトコル、
デバイスＩＰ割り当てプロトコル
のうち少なくとも１つを含む、請求項１に記載の方法。
【請求項７】
コンピューターに請求項１乃至６のうちいずれか一項に記載の方法を実行させるためのコンピュータープログラム。
【請求項８】
請求項１乃至６のいずれか一項に記載の方法を実行するように設けられる通信デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に、ピアツーピア接続を実行するためのシステム及び方法に関する。
【背景技術】
【０００２】
モバイルデバイスコンピューティングの発達により、オンデマンドで実行されることが期待される機能の範囲及び性能が拡大されている。モバイルデバイスによって実行されているタスクの量及び範囲によって必要とされるネットワークの接続性は、ユーザーの要求に応えるために、ますます高くなっている。また、モバイルデバイスアプリケーションに対する要求が高まると共に、アプリケーションプロバイダの数も増加している。プロバイダの増加により、モバイルデバイスは、一層多様化したプロバイダにより提供されるより多くのアプリケーションとインターフェースを介して接続されることが求められる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
モバイルデバイスのアプリケーションは、有用且つ有益なアプリケーションをユーザーに提供するために、他のデバイスやサーバー等の情報源とネットワークで接続されることがますます多くなっている。そのため、アプリケーションプロバイダは、そのアプリケーションの機能性を最大化及び／又は最適化するために、モバイルデバイスの無線モジュールを利用するということに依存するところが大きい。そのため消費者は、様々なアプリケーションにおいて無線接続を利用し維持するための信頼性の高い方法を強く求めているが、そのようなアプリケーションを作製する多様な開発者が無線運用についての専門知識をどの程度有するかは、開発者によって様々である。
【図面の簡単な説明】
【０００４】
図面中の特徴は符号で示され、本明細書と相互参照される。一般に、参照符号の１番目の数字は、特徴が最初に導入された図面番号を示し、残りの番号は、同図面中において該特徴を他の参照符号付きの特徴と区別するものである。しかしながら、いくつかの図面を通して特徴が用いられる場合、最初にその特徴が登場する図面でその特徴を特定するのに用いられた符号が用いられる。添付の図面を参照するが、図面は必ずしも一定の縮尺で描画されていない。
【０００５】
【図１】本開示の１以上の実施形態に係る、無線インターフェースモジュールを用いて他のデバイスとの無線インタラクションを管理するデバイスの代表的な環境を示す、簡易ブロック図である。
【図２】本開示の１以上の実施形態に係る、モバイルデバイスのアプリケーションにより初めて無線接続を開始する例示的方法を示すフローチャートである。
【図３】本開示の１以上の実施形態に係る、他のデバイスからの要求に少なくとも部分的に基づいて、モバイルデバイスでの無線接続を初めて開始する例示的方法を示すフローチャートである。
【図４】本開示の１以上の実施形態に係る、モバイルデバイスのアプリケーションによって２回目以降の無線接続を開始する例示的方法を示すフローチャートである。
【図５】本開示の１以上の実施形態に係る、他のデバイスからの要求に少なくとも部分的に基づいて、モバイルデバイスでの２回目以降の無線接続を開始する例示的方法を示すフローチャートである。
【発明を実施するための形態】
【０００６】
本開示の実施形態を示す添付の図面を参照して、以下に本開示の実施形態を詳述する。しかしながら、本開示は他の多くの形で実施してよく、以下に記載する実施形態に限定されるものと解釈されるべきではない。むしろ、これらの実施形態により本開示が詳細なものとなり、本開示の範囲が当業者に十分に理解される。
【０００７】
本開示に記載される実施形態は、単純化されたプロトコルを用いて２つのモバイルデバイス間の無線接続を行うシステム、方法、及び装置を提供し得る。一態様において、モバイルデバイスユーザーは、他のモバイルデバイスユーザーと関連したデータ又は情報をやりとりすることを希望する。しかし、適時に効率よく無線接続を確立し管理するために必要な機能が、アプリケーションに含まれていない場合がある。単純化された命令セット要求をアプリケーションに送り無線接続を開始するために、モバイルデバイスに無線インターフェースモジュールを組み込んでよい。単純化された命令セットにより、アプリケーションと無線システムとのインタラクションの量を最小化することができ、また、アプリケーションのプログラミングの複雑さを低減することができる。無線インターフェースモジュールの効果のひとつとして、アプリケーションが無線接続を開始するのに必要な命令の量を低減することにより、エラーの可能性を最小限に抑えられるということがある。多くの効果の中には、無線システムを更新又は変更しても、その無線システムの更新を原因としてアプリケーションを更新する必要がないというものもある。また、無線インターフェースモジュールは、デバイスの過去の実績と、アプリケーションから受信した命令とは無関係に行われた他のデバイスとの接続とに基づいて、無線システムを管理することができる。
【０００８】
本発明の例示的な実施形態を、添付の図面を参照して説明する。
【０００９】
図１は、デバイス１０２の代表的な環境１００を示す簡易ブロック図である。デバイス１０２は、無線インターフェースモジュール１２４を用いて、アクセスポイント１０８を経由する無線接続１０６又はピアツーピア無線接続１１０を介する他のデバイスとの無線インタラクションを管理してよい。
【００１０】
一実施形態において、デバイス１０２はコンピュータープロセッサ１１２を有してよい。コンピュータープロセッサ１１２は、メモリ１１４に格納されるコンピューター可読命令を実行する。１以上のコンピュータープロセッサ１１２には、ＣＰＵ（Central  Processing  Unit）、ＤＳＰ（Digital  Signal  Processor）、ＲＩＳＣ（Reduced  Instruction  Set  Computer）、ＣＩＳＣ（Complex  Instruction  Set  Computer）、マイクロプロセッサ、マイクロコンピューター、ＦＰＧＡ（Field  Programmable  Gate  Array）、又はこれらの任意の組み合わせが含まれてよい。また、デバイス１０２は、１以上のプロセッサ１１２とデバイス１０２の１以上の他の構成要素との通信を制御するチップセット（図示なし）を有してよい。ある実施形態では、デバイス１０２は、Ｉｎｔｅｌ（登録商標）Ａｒｃｈｉｔｅｃｔｕｒｅシステムに基づいてよく、プロセッサ１１２及びチップセットは、Ｉｎｔｅｌ（登録商標）プロセッサ及びチップセットのファミリー（Ｉｎｔｅｌ（登録商標）Ａｔｏｍ（登録商標）プロセッサファミリー等）によるものであってよい。また、１以上のプロセッサ１１２は、特定のデータ処理機能又はタスクを扱う１以上のＡＳＩＣ（Application-Specific  Integrated  Circuit）又はＡＳＳＰ（Application-Specific  Standard  Product）を有してよい。
【００１１】
デバイス１０２は、入出力インターフェース１１６を有してよい。入出力インターフェース１１６は、コンテンツの表示やユーザー入力の受け付けが可能な様々な要素を有してよい。例えば、入出力インターフェースには、ディスプレイ、キーボード、マウス、タッチ画面ディスプレイ、音声認識インターフェース、動作認識インターフェース、タッチバッド等が含まれる。
【００１２】
デバイス１０２は、無線システム１１８を有してよい。無線システム１１８は、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ規格（２０１０年１０月発行のＷｉ−Ｆｉ  Ｄｉｒｅｃｔ仕様を参照）とＩＥＥＥ８０２．１１無線規格（２００７年３月８日発行のＩＥＥＥ８０２.１１−２００７、２００９年１０月発行のＩＥＥＥ８０２.１１ｎ−２００９を参照）のいずれか又はその組み合わせを用いてメッセージを送受信するハードウェア及びソフトウェアを含む。無線システム１１８は、８０２.１１無線規格に準拠する幅広い動作周波数において動作可能な送信機及び受信機、又は送受信機（図示なし）を含んでよい。
【００１３】
一実施形態において、メモリ１１４は、デバイスを動作させモバイルデバイスに共通する様々な機能を提供する様々なモジュールを格納してよい。例えば、オペレーティングシステム１２０は、ファイル管理機能を提供し、ユーザー入力を解釈し、デバイス１０２上の資源を管理してよい。オペレーティングシステム１２０は、コンピュータープロセッサ１１２に様々な命令セットを送って、ユーザーにコンテンツを提示し又はユーザーからコンテンツを受け取る知覚要素（ディスプレイ等）を機能させる数値演算又は論理演算を実行させてよい。また、メモリ１１４は、１以上のアプリケーション１２２を格納してよい。アプリケーション１２２は、デバイス１０２上で様々なタスク又は演算を実行したり、無線接続１１０を介して他のデバイス１０４と連動してタスクを実行したりする。例えば、アプリケーション１２２には、ブラウザ、ＧＰＳ装置、ワードプロセッサ、データベースインターフェース、視聴覚プレーヤー、又は、デバイス１０２によって要求される情報及び／又はデバイス１０２上で特定のタスクを実行するのに必要な情報について他のデバイス１０４に問い合わせる特定のタスクを行うアプリケーションが含まれる。
【００１４】
メモリ１１４は、１以上の揮発性メモリ素子及び／又は不揮発性メモリ素子を含んでよい。例えば、ＲＡＭ（Random  Access  Memory）、ＤＲＡＭ（Dynamic  RAM）、ＳＲＡＭ（Static  RAM）、ＳＤＲＡＭ（Synchronous  Dynamic  RAM）、ＤＤＲ−ＳＤＲＡＭ（Double  Data  Rate  SDRAM）、ＲＤＲＡＭ（Rambus  DRAM）、フラッシュメモリ、ＥＥＰＲＯＭ（Electrically  Erasable  Programmable  Read-Only  Memory）、不揮発性ＲＡＭ（Non-Volatile  RAM：ＮＶＲＡＭ）、着脱式のＵＳＢ（Universal  Serial  Bus）メモリ、又はこれらの組み合わせを含んでよい。
【００１５】
本実施形態において、デバイス１０２は、無線インターフェースモジュール１２４を有してよい。無線インターフェースモジュール１２４は、アプリケーション１２２と無線システム１１８との間の媒介として機能することができる。無線インターフェースモジュール１２４により、アプリケーション１２２の開発者は、無線システム１１８の具体的な技術を知らなくても、無線システム１１８を利用することが可能となる。例えば、無線システムが継時的に更新又は最適化されても、改善又は更新された無線機能を利用するために、アプリケーション１２２を無線システムとインターフェースを介して接続する方法を変更する必要がない。
【００１６】
デバイス１０２は、無線データ格納部１２６を有してよい。無線データ格納部１２６は、無線システムの動作及び実績の記録を取る。本実施形態では、無線データ格納部１２６は、ユーザーデータモジュール１２８、接続データモジュール１３０、及びデバイスデータモジュール１３２を有してよい。ユーザーデータモジュール１２８は、デバイス１０２のユーザーデータと、デバイス１０２とデータをやりとりしている他のデバイス１０４からのユーザーデータとを記録してよい。接続データモジュール１３０は、無線接続の実行履歴及び性能の履歴を記録してよい。デバイスデータモジュール１３２は、無線接続１０６，１０８を介して情報をやりとりしているデバイス１０４のデバイス情報又は構成を格納する。無線インターフェースモジュール１２４は、上述のデータを用いて、無線システム１１８の開始プロセスを最適化することができる。最適化の概念については、以下に詳述する。
【００１７】
一実施形態において、無線インターフェースモジュール１２４は、デバイス１０２と他のデバイス１０４のうち１以上との無線接続を確立する間の、アプリケーション１２２と無線システム１１８との間のインタラクションを低減するように機能する。一例では、無線インターフェースモジュール１２４は、アプリケーション１２２又は他のデバイス１０４から接続要求を受信し、アプリケーション１２２からのインタラクションが最小となる無線接続を確立する。したがって、無線の規格、設備、又は性能について詳しい知識がなくても、アプリケーション１２２の無線接続を確立することができる。アプリケーションの最小インタラクションには、無線インターフェースモジュール１２４に接続要求を送信するステップと、無線接続１０６が有効化されアプリケーション１２２により使用可能な状態であるという確認を受信するステップとを含めることができる。無線接続の確立における各要素は、無線インターフェースモジュール１２４によって管理される。また、無線インターフェースモジュール１２４により、無線データ格納部１２６に格納されたデータに基づく接続の確立を最適化することができる。
【００１８】
他の実施形態において、無線接続１０６を、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ規格を用いて確立することができる。この規格に基づき、デバイス１０２は、検出可能モード、グループオーナーモード、及びステーションモードのうち１つの状態になることができる。検出可能モードにおいて、デバイス１０２は他のデバイスを検出することができ、無線接続を介して他のデバイスと接続可能な状態である。しかし、デバイス１０２は、検出可能モードにある場合には通常他のデバイスと無線接続をしない。グループオーナーモードの時に、デバイス１０２は１以上のデバイス１０４と接続し、グループに参加を希望する他のデバイスと接続可能な状態となる。グループオーナーモードにおいて、デバイス１０２はグループオーナーであり、ネットワーク上の他のデバイスにとってのアクセスポイントすなわち「ホットスポット」として動作する。ステーションモードでは、デバイス１０２は、グループのアクセスポイントとして機能するグループオーナーデバイスに接続する。ステーションモードである間、デバイスは通常他のデバイスと直接的に接続されない。Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔデバイスは対等であり、これら３つのモードのうち任意のモードとなることができる。よって、無線インターフェースモジュール１２４がデバイス間の接続を確立する方法は、デバイスの現在のモードすなわち状態によって変化しうる。したがって、無線インターフェースモジュール１２４は、デバイス１０２の範囲に存在する可能性のあるデバイス１０４の状態を監視又は判定し、その情報を用いて、無線接続を開始すべきか又は開始できるかを判定することができる。例えば、デバイス１０４がステーションモードである場合、無線インターフェースモジュール１２４が該デバイス１０４との接続を確立しようとすることはない。一方、デバイス１０４がグループオーナーモード又は検出可能モードである場合、無線インターフェースモジュール１２４は、デバイス１０４との無線接続を試みるよう無線システム１１８に指示する。
【００１９】
図２〜５は、デバイス１０２とデバイス１０４との無線接続を確立する間の、アプリケーション１２２、無線インターフェースモジュール１２４、及び無線システム１１８の間のインタラクションに関する、様々な方法の実施形態を示すフローチャートである。
【００２０】
図２は、モバイルデバイスのアプリケーションによって初めて無線接続を開始する例示的方法２００のフローチャートである。本実施形態において、デバイス１０２及び他のデバイス１０４は、検出可能モード又はグループオーナーモードである。本実施形態では、デバイス１０２が接続を開始しており、デバイス１０２，１０４が接続されるのは初めてである。
【００２１】
本実施形態において、アプリケーション１２２は、接続要求WPanStartConnectionメッセージ２０２を無線インターフェースモジュール１２４に送ることによって、接続を開始する。接続メッセージ２０２を受信すると、無線インターフェースモジュール１２４は、招待すなわち接続要求２０４を無線システム１１８に送り、無線システム１１８は、招待要求を他のデバイス１０４に送る。デバイス１０４が、無線接続１１０の確立を受け入れることを示す確認メッセージ２０６を送出すると、無線インターフェースモジュール１２４は、PAN_CONNECTION_STARTEDメッセージ２０８をアプリケーション１２２に送る。
【００２２】
無線接続１１０を開始するために、無線インターフェースモジュール１２４は無線データ格納部１２６にアクセスし、デバイス１０２，１０４間で無線接続１１０が開始されているのは今回が初めてであることを通知すると共に、デバイス１０２，１０４が検出可能モード又はグループオーナーモードであることを通知する。そのようなものとして、無線インターフェースモジュール１２４は一連の手順に従って、無線接続１１０の確立を試みる。該手順により、デバイス１０２，１０４の状態と、デバイスの性能及び構成と、デバイス間の履歴が無いこととが説明される。
【００２３】
特定の順序で一連の手順を提示するが、他の実施形態では実際の手順の順序を変更することができ、又は特定のステップを省略してもよい。本実施形態では、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ規格に記載されているように、例えば無線インターフェースモジュール１２４はグループオーナーネゴシエーション２１０を実行して、どのデバイスがグループオーナーになるのかを判定する。ＷＰＳ（Wi-Fi  Protected  Setup）操作２１２を行って、デバイス１０２，１０４間の任意のセキュリティ証明書を有効化することができる。また、デバイス関連付け２１４、デバイス認証２１６、及びデバイスＩＰ割り当て２１８を行うことができる。代替の実施形態では、無線接続１１０を確立するために、上記方法と併せて任意の他のＷｉ−Ｆｉ  Ｄｉｒｅｃｔ操作を実行することもできる。無線接続１１０が確立されると、無線インターフェースモジュール１２４は、PAN_CONNECTION_COMPLETEメッセージ２２０をアプリケーション１２２に送り、アプリケーションがデバイス１０４と情報のやりとりを開始できることを示す。
【００２４】
図３は、他のデバイス１０４からの要求に少なくとも部分的に基づいて、モバイルデバイスでの無線接続１１０を初めて開始する例示的方法３００を示すフローチャートである。本実施形態において、デバイス１０２及びデバイス１０４は、検出可能モード又はグループオーナーモードである。他のデバイス１０４が接続を開始しており、デバイス１０２，１０４が接続されるのは初めてである。
【００２５】
本実施形態において、デバイス１０４は、グループオーナーネゴシエーションメッセージ３０２を、無線システム１１８を介して無線インターフェースモジュール１２４に送出する。無線インターフェースモジュール１２４は、PAN_CONNECTION_REQUEST３０４をアプリケーション１２２に送る。アプリケーション１２２のユーザー（図示なし）により応答３０６の受領が示されると、アプリケーション１２２は、WPanStartConnectionメッセージ３０８を無線インターフェースモジュール１２４に送る。これに従って、無線インターフェースモジュール１２４は無線データ格納部１２６にアクセスし、デバイス１０２，１０４間で無線接続が開始されているのは今回が初めてであると判定する。そのようなものとして、無線インターフェースモジュール１２４は一連の手順に従って、無線接続１１０の確立を試みる。該手順により、デバイス１０２，１０４の状態と、デバイスの性能及び構成と、デバイス間の履歴が無いこととが説明される。
【００２６】
特定の順序で一連の手順を提示するが、他の実施形態では実際の手順の順序を変更することができ、又は特定のステップを省略してもよい。本実施形態では、例えば無線インターフェースモジュール１２４はグループオーナーネゴシエーション３１２を実行して、どのデバイスがグループオーナーになるのかを判定する。ＷＰＳ（Wi-Fi  Protected  Setup）操作３１４を行って、任意のセキュリティ証明書又は許可書を有効化することができる。また、デバイス関連付け３１６、デバイス認証３１８、及びデバイスＩＰ割り当て３２０を行うことができる。代替の実施形態では、無線接続を確立するために、上記方法と併せて任意の他のＷｉ−Ｆｉ  Ｄｉｒｅｃｔ操作を実行することもできる。接続が確立されると、無線インターフェースモジュール１２４は、PAN_CONNECTION_COMPLETEメッセージ３２２をアプリケーション１２２に送り、アプリケーション１２２がデバイス１０４との情報のやりとりを開始できることを示す。
【００２７】
図４は、モバイルデバイスのアプリケーションによって２回目以降の無線接続を開始する例示的方法４００を示すフローチャートである。方法４００において、デバイス１０２及びデバイス１０４は、検出可能モード又はグループオーナーモードである。デバイス１０２が接続を開始しており、デバイス１０２，１０４が接続されるのは複数回目である。
【００２８】
本実施形態において、アプリケーション１２２は、接続要求WPanStartConnectionメッセージ４０２を無線インターフェースモジュール１２４に送ることによって、接続を開始する。接続要求４０２を受信すると、無線インターフェースモジュール１２４は無線データベース格納部１２６にアクセスするか、又は無線データベース格納部１２６によりフラグを付けられて、この無線接続がデバイス１０２，１０４間において２回目以降の接続であることを示す。この判定に少なくとも部分的に基づいて、無線インターフェースモジュール１２４は、PAN_CONNECTION_STARTEDメッセージ４０４をアプリケーション１２２に送り、招待要求４０６を無線システム１１８に送る。招待要求４０６は、デバイス１０４に渡される。
【００２９】
特定の順序で以下の一連の手順を提示するが、他の実施形態では実際の手順の順序を変更することができ、又は特定のステップを省略してもよい。本実施形態では、例えば無線インターフェースモジュール１２４は、デバイス１０４からの肯定応答に続いて、デバイス関連付け４０８、４ウェイハンドシェイク４１０、及びデバイスＩＰ割り当て４１２を開始する。代替の実施形態では、無線接続を確立するために、上記方法と併せて任意の他のＷｉ−Ｆｉ  Ｄｉｒｅｃｔ操作を実行することもできる。接続が確立されると、無線インターフェースモジュール１２４は、PAN_CONNECTION_COMPLETEメッセージ４１４をアプリケーション１２２に送り、アプリケーション１２２がデバイス１０４と情報のやりとりを開始できることを示す。
【００３０】
図５は、他のデバイスからの要求に少なくとも部分的に基づいて、モバイルデバイスでの２回目以降の無線接続を開始する例示的方法５００を示すフローチャートである。方法５００が示す接続の実施形態では、デバイス１０２及び他のデバイス１０４は検出可能モード又はグループオーナーモードであり、デバイス１０４が接続を開始しており、デバイス１０２，１０４が接続されるのは複数回目である。
【００３１】
本実施形態において、デバイス１０４は、招待要求５０２を無線インターフェースモジュール１２４に送出する。無線インターフェースモジュール１２４は、PAN_CONNECTION_REQUEST５０４をアプリケーション１２２に送る。アプリケーション１２２のユーザー（図示なし）により応答５０６の受領が示されると、アプリケーション１２２は、WPanStartConnectionメッセージ５０８を無線インターフェースモジュール１２４に送る。これに従って、無線インターフェースモジュール１２４は無線データベース格納部１２６にアクセスし、デバイス１０２，１０４間で無線接続が開始されるのは今回が初めてではないと判定する。そのようなものとして、無線インターフェースモジュール１２４は無線接続１０８の確立を試み、PAN_CONNECTION_STARTEDメッセージ５１０をアプリケーション１２２に送る。
【００３２】
特定の順序で以下の一連の手順を提示するが、他の実施形態では実際の手順の順序を変更することができ、又は特定のステップを省略してもよい。本実施形態では、例えば無線インターフェースモジュール１２４は、デバイス関連付け５１４、４ウェイハンドシェイク５１６、及びデバイスＩＰ割り当て５１８を開始する。代替の実施形態では、無線接続を確立するために、上記方法と併せて任意の他のＷｉ−Ｆｉ  Ｄｉｒｅｃｔ操作を実行することもできる。接続が確立されると、無線インターフェースモジュール１２４は、PAN_CONNECTION_COMPLETEメッセージ５２０をアプリケーション１２２に送り、アプリケーション１２２がデバイス１０４と情報のやりとりを開始できることを示す。
【００３３】
本明細書に記載の実施形態は、本明細書に記載の方法及び／又は動作を行うために、ハードウェア、ソフトウェア、及び／又はファームウェアを用いて実施されてよい。本明細書に記載の特定の実施形態は、機械により実行可能な命令を格納する有形の機械可読媒体として提供されてよい。機械により実行可能な命令は、機械により実行されると、本明細書に記載の方法及び／又は動作を該機械に実行させる。有形の機械可読媒体には、電子的命令を格納するのに適した任意の種類の有形媒体が含まれる。例えば、フロッピー（登録商標）ディスク、光ディスク、ＣＤ−ＲＯＭ（Compact  Disk  Read-Only  Memory）、ＣＤ−ＲＷ（Compact  Disk  Rewritable）、光磁気ディスク等の任意の種類のディスクや、ＲＯＭ（Read-Only  Memory）、ＲＡＭ（Random  Access  Memory）（ダイナミックＲＡＭ、スタティックＲＡＭ、ＥＰＲＯＭ（Erasable  Programmable  Read-Only  Memory）、ＥＥＰＲＯＭ（Electrically  Erasable  Programmable  Read-Only  Memory）等）及びフラッシュメモリ等の半導体素子、磁気カード又は光カードが含まれる。機械には、任意の適切な処理プラットフォーム若しくは計算プラットフォーム、デバイス、又はシステムが含まれてよく、ハードウェア及び／又はソフトウェアの任意の適切な組み合わせを用いて実施されてよい。命令は、任意の適切な種類のコードを含んでよく、任意の適切なプログラミング言語を用いて実施されてよい。他の実施形態において、本明細書に記載の方法及び／又は動作を実行するための機械により実行可能な命令は、ファームウェアによって実現されてよい。
【００３４】
様々な特徴、態様、及び実施形態を本明細書に記載した。当業者には明らかなように、特徴、態様、及び実施形態は互いに組み合わされてよく、また、変形及び変更がなされてもよい。したがって、本開示は、そのような組み合わせ、変形、及び変更を包含するものとみなされるべきである。
【００３５】
本明細書において用いられる用語及び表現は、説明上の用語として用いられており、そのような用語及び表現の使用法を限定するものではなく、図示された特徴及び記載された特徴（又はその一部）のいかなる均等物も除外しない。当然ながら、特許請求の範囲において様々な変更が可能である。他の変更、変形、及び代替も可能である。したがって、特許請求の範囲は、このような均等物の全てを包含するものである。
【００３６】
本発明の特定の実施形態を、現在最も現実的であると考えられるもの及び各種実施形態に関連して説明したが、当然ながら、本発明は開示された実施形態に限定されず、むしろ、特許請求の範囲内の様々な変更及び均等な構成を包含するものである。本明細書において具体的な用語を用いたが、包括的且つ記述的な意味で用いたに過ぎず、限定を目的としない。
【００３７】
本明細書では、例を用いて、本発明の最良の形態を含む特定の実施形態を開示した。また、当業者がデバイス又はシステムを製造及び使用し、組み込まれる方法を実行するというように、本発明の特定の実施形態を実施できるようにした。本発明の特定の実施形態における特許性のある範囲は、特許請求の範囲において定義され、また、当業者によって想到される他の例を包含し得る。そのような他の例は、請求項の文言と相違しない構成要素を含む場合、又は請求項の文言と実質的に相違しない均等な構成要素を含む場合、特許請求の範囲内に包含されるものとする。
【００３８】
以下の例は、更なる実施形態に関連する。デバイスは、無線接続要求を生成するアプリケーションと、該アプリケーションから該無線接続要求を受信することに少なくとも部分的に基づく接続プロトコルを生成する無線インターフェースモジュールと、送受信機を有する無線通信モジュールとを備える。該送受信機は、無線メッセージを送受信して、該無線インターフェースモジュールから受信した該接続プロトコルに少なくとも部分的に基づく無線接続を確立する。一実施形態において、該接続プロトコルは更に、該無線接続要求が初回の無線接続要求を含むのか次回以降の無線接続要求を含むのかに、少なくとも部分的に基づく。また、該接続プロトコルは更に、該デバイスが検出可能モードであるのかグループオーナーモードであるのかに、少なくとも部分的に基づく。別の実施形態において、該無線接続要求は初回の無線接続要求を含み、該接続プロトコルはグループオーナーネゴシエーション要求を含む。他の例において、該無線接続要求は次回以降の無線接続要求を含み、該接続プロトコルは招待要求を含む。
【００３９】
更に別の実施形態において、該無線接続要求は初回の無線接続要求であり、該接続プロトコルは第１の接続プロトコルであり、該無線インターフェースモジュールは、該アプリケーションから次回の無線接続要求を受信することに少なくとも部分的に基づく第２の接続プロトコルを生成する。ここで、該第２の接続プロトコルは該第１の接続プロトコルとは異なる。
【００４０】
該デバイスは、無線データ格納部を有することもできる。該無線データ格納部は、該デバイスのユーザーデータと、該デバイスと情報をやりとりしている１以上の他のデバイスからのユーザーデータと、該デバイスの無線接続の実行履歴と、該デバイスと情報をやりとりしている該１以上の他のデバイスのデバイス情報又は構成とを記録する。また、該接続プロトコルは、該無線接続要求が初回の接続要求を含むのか次回以降の接続要求を含むのかと、該無線データ格納部に格納されるいずれかの情報とに、少なくとも部分的に基づく。
【００４１】
更に別の実施形態において、方法は、
デバイスのアプリケーションから無線接続要求を受信するステップと、
コンピュータープロセッサを用いて、該無線接続要求が初回の無線接続要求を含むのか次回以降の無線接続要求を含むのかに少なくとも部分的に基づく無線接続プロトコルを生成するステップと、ここで、該初回の無線接続要求に基づく該無線接続プロトコルは、該次回以降の無線接続要求に基づく無線接続プロトコルと異なり、
該無線接続プロトコルを該デバイスの無線通信システムに送って、無線接続を開始するステップと、
該アプリケーションに無線接続開始メッセージを送るステップと、
該無線接続プロトコルに少なくとも部分的に基づく該無線接続を確立するステップと、
該アプリケーションに無線接続メッセージを送るステップと、
を含む。
【００４２】
他の実施形態において、該無線接続プロトコルは更に、該デバイスが検出可能モードであるのかグループオーナーモードであるのかに、少なくともの部分的に基づく。
【００４３】
他の実施形態において、該方法は、
該無線通信システムから、該デバイスに対する該初回の無線接続要求を示すネゴシエーション要求を受信するステップと、
該ネゴシエーション要求を受信することに少なくとも部分的に基づいて、且つ該アプリケーションから該無線接続要求を受信する前に、該アプリケーションにピアツーピア接続要求を送るステップと、
を更に含む。
【００４４】
更に別の実施形態において、該方法は、
該無線通信システムから、該デバイスに対する該次回以降の無線接続要求を示す招待要求を受信するステップと、
該ネゴシエーション要求を受信することに少なくとも部分的に基づいて、且つ該アプリケーションから該無線接続要求を受信する前に、該アプリケーションにピアツーピア接続要求を送るステップと、
を更に含む。
【００４５】
他の実施形態において、該無線接続要求は更に、該デバイスのユーザーデータと、該デバイスと情報をやりとりしている１以上の他のデバイスからのユーザーデータと、該デバイスの無線接続の実行履歴と、該デバイスと情報をやりとりしている該１以上の他のデバイスのデバイス情報又は構成とに、少なくとも部分的に基づく。
【００４６】
また、該初回の無線接続要求に基づく該無線接続プロトコルは、グループオーナーネゴシエーションプロトコル、ＷＰＳ（Wi-Fi  Protected  Setup）プロトコル、デバイス関連付けプロトコル、デバイス認証プロトコル、及び／又はデバイスＩＰ割り当てプロトコルを含む。
【００４７】
他の実施形態において、該次回以降の無線接続要求に基づく該無線接続プロトコルは、招待プロトコル、デバイス関連付けプロトコル、デバイス４ウェイハンドシェイクプロトコル、及び／又はデバイスＩＰ割り当てプロトコルを含む。
【００４８】
さらに別の実施形態において、上述の該方法は、１以上の有形のコンピューター可読記憶媒体により実施することができる。該１以上の有形のコンピューター可読記憶媒体はコンピューターにより実行可能な命令を含み、該命令は、少なくとも１つのコンピュータープロセッサにより実行されると、該少なくとも１つのコンピュータープロセッサが上記方法を実行できるようにする。
【００４９】
更に別の実施形態において、通信デバイスは、メモリと、１以上のコンピュータープロセッサとを有し、無線通信システムは、上記方法を実行する。
【図１】
0006001099.tif 000002
【図２】
0006001099.tif 000003
【図３】
0006001099.tif 000004
【図４】
0006001099.tif 000005
【図５】
0006001099.tif 000006