(57)【特許請求の範囲】
【請求項１】
複数のデバイスから構成される第１のＰ２Ｐグループのうち少なくとも１つの前記デバイスが、少なくとも１つのピアツーピア（Ｐ２Ｐ）グループを発見するためにスキャンし、
前記スキャンの結果を前記第１のＰ２Ｐグループ内で共有し、
前記共有された結果に基づき前記第１のＰ２Ｐグループの切替えスケジュールを用意し、前記切替えスケジュールを使って、前記複数のデバイスのうち接続先を切り替えるデバイスである切替えデバイスが前記第１のＰ２Ｐグループの第１オーナーデバイスとの接続を切断して第２のＰ２Ｐグループの第２オーナーデバイスと接続し、
前記切替えデバイスを使って前記第２のＰ２Ｐグループと前記切替えスケジュールを含む情報を共有し、
前記切替えスケジュールを使って前記切替えデバイスが前記第２オーナーデバイスとの接続を切断して前記第１オーナーデバイスと再接続し、
前記情報に基づいて前記切替えデバイスを介して前記第１のＰ２Ｐグループと前記第２のＰ２Ｐグループとの間で通信を行うこと、を含む方法
【請求項２】
前記情報が、
前記スキャンにより発見された、前記少なくとも１つのＰ２Ｐグループのリストと、
前記少なくとも１つのＰ２Ｐグループに含まれる少なくとも１つのデバイスのリストと、
前記スキャンにより発見された前記少なくとも１つのＰ２Ｐグループから収集した情報と、
の少なくとも１つを含む、請求項１に記載の方法。
【請求項３】
前記切替えスケジュールが
前記切替えデバイスを識別する識別情報と、
前記切替えデバイスが前記第１のＰ２Ｐグループから切り替える前記第２のＰ２Ｐグループの切替え先情報と、
前記切替えデバイスが前記第１のＰ２Ｐグループから離れる離脱時刻と、
前記切替えデバイスが前記第１のＰ２Ｐグループに戻る到着時刻と、
単位時間当たりに切替えが起こる回数と、
の少なくとも１つを含む、請求項１または２に記載の方法。
【請求項４】
前記第１オーナーデバイスが、前記第１のＰ２Ｐグループと前記第２のＰ２Ｐグループの間のトラヒック負荷の変動に基づいて前記第１オーナーデバイスから前記第２オーナーデバイスへと切替えを行う切替えデバイスの数を変動させる、請求項１から３のいずれか１項に記載の方法。
【請求項５】
前記第１オーナーデバイスが、前記第１のＰ２Ｐグループと前記第２のＰ２Ｐグループとの間のトラヒック負荷の変動に基づいて前記切替えデバイスが単位時間間隔当たりに前記第１オーナーデバイスと前記第２オーナーデバイスとの間で切替えを行う回数を変動させる、請求項１に記載の方法。
【請求項６】
前記情報が、
前記第１のＰ２Ｐグループの少なくとも１つのデバイスのセキュリティ認証情報と、
前記第１のＰ２Ｐグループの前記切替えスケジュールと、
前記少なくとも１つのデバイスによって使われる少なくとも１つの動作チャネルと、
前記少なくとも１つのデバイスのＭＡＣアドレスと、
の少なくとも１つを含む、請求項１または２に記載の方法。
【請求項７】
前記第１オーナーデバイスが前記少なくとも１つのＰ２ＰグループのＰ２Ｐデバイスのセキュリティ認証情報を記憶し、
前記記憶されたセキュリティ認証情報により前記Ｐ２ＰデバイスがＰ２Ｐ  Ｉｎｖｉｔａｔｉｏｎ手続きにおいて前記第１オーナーデバイスに接続する、請求項１に記載の方法。
【請求項８】
前記第１オーナーデバイスが、
デバイスタイプと、
デバイスの能力と、
送信範囲と、
前記第２オーナーデバイスからの受信信号強度と、
一次メモリ容量と、
処理速度と、
残存電力と、
前記第１のＰ２Ｐグループに滞在する予定時間と、
の少なくとも１つに基づいて、前記第１のＰ２Ｐグループの１つ又は複数のクライアントから切替えデバイスを選択する、請求項１に記載の方法。
【請求項９】
前記切替えデバイスが前記第２のＰ２Ｐグループへ切り替える間にプローブ要求又はプローブ応答にグループ識別情報を含める、請求項１に記載の方法。
【請求項１０】
複数のデバイスから構成される第１のピアツーピア（Ｐ２Ｐ）グループと、
第２のＰ２Ｐグループと、
前記第１のＰ２Ｐグループの第１オーナーデバイスと、
前記第２のＰ２Ｐグループの第２オーナーデバイスと、
前記複数のデバイスのうち接続先を切り替えるデバイスである切替えデバイスと、
を含み、
前記第１オーナーデバイスが、少なくとも１つのピアツーピア（Ｐ２Ｐ）グループを発見するために、前記第１のＰ２Ｐグループの少なくとも１つの前記デバイスにより行われるスキャンの結果を前記第１のＰ２Ｐグループ内で共有し、
前記第１オーナーデバイスが前記共有された結果に基づいて前記第１のＰ２Ｐグループの切替えスケジュールを用意し、前記切替えスケジュールを使って前記切替えデバイスが前記第１オーナーデバイスとの接続を切断して前記第２オーナーデバイスへ接続し、
前記切替えデバイスが前記第２のＰ２Ｐグループと前記切替えスケジュールを含む情報を共有し、
前記切替えスケジュールを使って前記切替えデバイスが前記第２オーナーデバイスとの接続を切断して前記第１オーナーデバイスと再接続し、
前記情報に基づいて前記切替えデバイスを介して前記第１のＰ２Ｐグループと前記第２のＰ２Ｐグループとの間の通信を行うシステム。
【請求項１１】
複数のデバイスから構成される第１のピアツーピア（Ｐ２Ｐ）グループのうちの前記デバイスである第１オーナーデバイスであって、
前記複数のデバイスのうち接続先を切り替えるデバイスである切替えデバイスが、前記第１オーナーデバイスとの接続を切断して第２のＰ２Ｐグループの第２オーナーデバイスに接続し、前記切替えデバイスが前記第２オーナーデバイスとの接続を切断して前記第１オーナーデバイスと再接続することを可能とする切替えスケジュールと、
少なくとも１つのＰ２Ｐグループを発見するために前記複数のデバイスのうち少なくとも１つの前記デバイスによって行われるスキャンの結果を前記第１のＰ２Ｐグループ内で共有し、前記共有された結果に基づいて前記第１のＰ２Ｐグループの前記切替えスケジュールを用意するプロセッサと、
を含み、
前記切替えデバイスが、
共有された前記切替えスケジュールを使って、前記第１のＰ２Ｐグループの第１オーナーデバイスとの接続を切断して第２のＰ２Ｐグループの第２オーナーデバイスと接続し、
前記第２のＰ２Ｐグループと前記切替えスケジュールを含む情報を共有し、
前記切替えスケジュールを使って前記第２オーナーデバイスとの接続を切断して前記第１オーナーデバイスと再接続し、
前記デバイスが、
前記情報に基づいて前記切替えデバイスを介して前記第１のＰ２Ｐグループと前記第２のＰ２Ｐグループとの間で通信を行う、第１オーナーデバイス。
【請求項１２】
複数のデバイスから構成される第１のピアツーピア（Ｐ２Ｐ）グループの第１オーナーデバイスにより用意された切替えスケジュールに基づいて、前記第１オーナーデバイスとの接続を切断して第２のＰ２Ｐグループの第２オーナーデバイスに接続し、前記第２のＰ２Ｐグループと前記切替えスケジュールを含む情報を共有し、前記第２オーナーデバイスとの接続を切断して前記第１オーナーデバイスと再接続するプロセッサと、
前記情報に基づいて、前記第１のＰ２Ｐグループと前記第２のＰ２Ｐグループの間で接続先の切替を行って通信を行う通信モジュールと、
を備え、
前記複数のデバイスのうち少なくとも１つの前記デバイスが、
少なくとも１つのピアツーピア（Ｐ２Ｐ）グループを発見するためにスキャンし、
前記スキャンの結果を前記第１のＰ２Ｐグループ内で共有する、切替えデバイス。
【請求項１３】
複数のデバイスから構成される第１のピアツーピア（Ｐ２Ｐ）グループの第１オーナーデバイスにより用意された切替えスケジュールに基づいて、前記第１オーナーデバイスとの接続を切断する処理と、
前記切替えスケジュールに基づいて、第２のＰ２Ｐグループの第２オーナーデバイスに接続する処理と、
前記第２のＰ２Ｐグループと前記切替えスケジュールを含む情報を共有する処理と、
前記切替えスケジュールに基づいて、前記第２オーナーデバイスとの接続を切断して前記第１オーナーデバイスと再接続する処理と、
前記情報に基づいて前記第１のＰ２Ｐグループと前記第２のＰ２Ｐグループとの間で接続先の切替を行って通信を行う処理と、
少なくとも１つのピアツーピア（Ｐ２Ｐ）グループを発見するためにスキャンする処理と、
前記スキャンの結果を前記第１のＰ２Ｐグループ内で共有する処理と、
をデバイスのコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は概してデバイス間での通信に関する。特に、本願は無線ピアツーピア（Ｐｅｅｒ  ｔｏ  Ｐｅｅｒ；  Ｐ２Ｐ）ネットワークにおける方法、装置及びシステムに関する。
【背景技術】
【０００２】
Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔとしても知られるＷｉ−Ｆｉピアツーピア（Ｐｅｅｒ  ｔｏ  Ｐｅｅｒ；  Ｐ２Ｐ）は、近年発表されたデバイス間通信の規格である。Ｗｉ−Ｆｉ  Ｐ２Ｐにより、デバイスはインターネットへの接続性を要求されることなく典型的なＷｉ−Ｆｉ速度（少なくとも８０２．１１ｇ）でお互いに通信することができる。Ｗｉ−Ｆｉの従来のインフラストラクチャモードと異なるのは、パケットのルーティングを行うアクセスポイント（ＡＰ）として動作する専用のハードウェアが必要とされないことである。Ｗｉ−Ｆｉピアツーピア（Ｐ２Ｐ）技術仕様書第１．４版（非特許文献１）によれば、任意のＷｉ−Ｆｉ  Ｐ２Ｐデバイスが（ＡＰと類似する）Ｐ２Ｐグループオーナ又は（ＳＴＡ（非ＡＰステーション）と類似する）Ｐ２Ｐクライアントの役割を担うことができる。データ通信の開始前に、Ｗｉ−Ｆｉ  Ｐ２ＰデバイスはＷｉ−Ｆｉ  Ｐ２Ｐデバイス間でネゴシエーションにより、Ｐ２Ｐグループオーナ役を担うデバイスを決定し、グループを作成する。その後、Ｐ２ＰグループオーナはＷｉ−Ｆｉ  Ｐ２ＰデバイスをＰ２Ｐクライアントとしてさらに追加する。Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ規格は、データ通信の開始前にグループの作成を義務付けており、ピア間のすべての通信はグループ内で行われる。グループはスター型トポロジで動作し、すべてのパケットはＰ２Ｐグループオーナを介してルーティングされる。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Ｗｉ−Ｆｉピアツーピア（Ｐ２Ｐ）技術仕様書第１．４版（Ｗｉ−Ｆｉ  Ｐｅｅｒ−ｔｏ−Ｐｅｅｒ（Ｐ２Ｐ）Ｔｅｃｈｎｉｃａｌ  ｓｐｅｃｉｆｉｃａｔｉｏｎ  Ｖｅｒｓｉｏｎ  １．４）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔは、１つのグループとして動作し、そのグループでは、１つのノードがリーダー（Ｗｉ−Ｆｉ  Ｐ２Ｐ用語でグループオーナ（Ｇｒｏｕｐ  Ｏｗｎｅｒ）又はＰ２Ｐ  ＧＯと呼ばれる）の役割を担い、他のグループメンバーがＰ２ＰクライアントとしてＰ２Ｐ  ＧＯに常時接続される。Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔにおけるピアツーピア通信はグループ内で規定される。Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔを使って広い領域内の大量のノードへコンテンツを配送することは、グループ外部との通信を単一の物理／論理ＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）エンティティを使って行うことができないため、技術的に難しい。それゆえ、多くのＷｉ−Ｆｉ  Ｐ２Ｐデバイスが集まると、孤立したＷｉ−Ｆｉ  Ｐ２Ｐグループがいくつか形成されることになる。このような複数のグループのＷｉ−Ｆｉ  Ｐ２Ｐネットワークにおいては、１つのＷｉ−Ｆｉ  Ｐ２Ｐグループ内のノードが、遠く離れた場所にある別のＷｉ−Ｆｉ  Ｐ２Ｐグループを発見すること、又は他のグループとデータを共有することは技術的に難しい。これらのグループは、孤立し非接続な状態であるだけでなく、動作も非同期である。
【０００５】
例示の実施形態のいずれかは、上述の問題を解決し、分散した複数のグループのＰ２Ｐネットワークでグループ間データ通信が可能となる仕組みを提供することを目的の１つとする。
【０００６】
上記の目的に加え、本発明の自明で明らかな他の利点は詳細な明細書と図面から示されるであろう。
【課題を解決するための手段】
【０００７】
本実施形態に係る方法は、少なくとも１つのピアツーピア（Ｐ２Ｐ）グループを発見するためにスキャンし、前記スキャンの結果を第１のＰ２Ｐグループ内で共有し、前記共有された結果に基づき前記第１のＰ２Ｐグループの切替えスケジュールを用意し、前記切替えスケジュールを使って切替えデバイスが前記第１のＰ２Ｐグループの第１オーナーデバイスとの接続を切断して第２のＰ２Ｐグループの第２オーナーデバイスと接続し、前記切替えデバイスを使って前記第２のＰ２Ｐグループと情報を共有し、前記情報に基づいて前記第１のＰ２Ｐグループと前記第２のＰ２Ｐグループとの間で通信を行う。
本実施形態に係るシステムは、第１のピアツーピア（Ｐ２Ｐ）グループと、第２のＰ２Ｐグループと、前記第１のＰ２Ｐグループの第１オーナーデバイスと、前記第２のＰ２Ｐグループの第２オーナーデバイスと、切替えデバイスと、を含み、前記第１のオーナーデバイスが、少なくとも１つのピアツーピア（Ｐ２Ｐ）グループを発見するために行われるスキャンの結果を前記第１のＰ２Ｐグループ内で共有し、前記第１オーナーデバイスが前記共有された結果に基づいて前記第１のＰ２Ｐグループの切替えスケジュールを用意し、前記切替えスケジュールを使って前記切替えデバイスが前記第１オーナーデバイスとの接続を切断して前記第２オーナーデバイスへ接続し、前記切替えデバイスが前記第２のＰ２Ｐグループと情報を共有し、前記情報に基づいて前記第１のＰ２Ｐグループと前記第２のＰ２Ｐグループとの間の通信を行う。
本実施形態に係る第１のＰ２Ｐグループの第１オーナーデバイスは、切替えデバイスが前記第１オーナーデバイスとの接続を切断して第２のＰ２Ｐグループの第２オーナーデバイスに接続することを可能とする切替えスケジュールと、少なくとも１つのＰ２Ｐグループを発見するために行われるスキャンの結果を前記第１のＰ２Ｐグループ内で共有し、前記共有された結果に基づいて前記第１のＰ２Ｐグループの前記切替えスケジュールを用意するプロセッサと、を含む。
本実施形態に係る切替えデバイスは、第１のピアツーピア（Ｐ２Ｐ）グループの第１オーナーデバイスにより用意された切替えスケジュールに基づいて、前記第１オーナーデバイスとの接続を切断して第２のＰ２Ｐグループの第２オーナーデバイスに接続し、前記第２のＰ２Ｐグループと情報を共有するプロセッサと、前記情報に基づいて前記第１のＰ２Ｐグループと前記第２のＰ２Ｐグループの間で通信を行う通信モジュールと、を備える。
本実施形態に係る非一時的コンピュータ可読媒体は、デバイスを制御して、第１のピアツーピア（Ｐ２Ｐ）グループの第１オーナーデバイスにより用意された切替えスケジュールに基づいて、前記第１オーナーデバイスとの接続を切断し、前記切替えスケジュールに基づいて、第２のＰ２Ｐグループの第２オーナーデバイスに接続し、前記第２のＰ２Ｐグループと情報を共有し、前記情報に基づいて前記第１のＰ２Ｐグループと前記第２のＰ２Ｐグループとの間で通信を行うこと、を含む方法を実行する命令を具現化する。
【発明の効果】
【０００８】
例示の実施形態によれば、大量のノードへのコンテンツ配送は、Ｐ２Ｐネットワークのグループの大きさによる制約を克服するアドホック的な方法により可能となる。
【０００９】
したがって、本発明は、いくつかのステップと、１つ又は複数のそのようなステップのその他の各ステップに対する関係と、そのようなステップに影響するよう構成された、構造の特徴を具現化する装置と、要素の組み合わせと、部品の配置とを含み、これらすべては、以下の詳細な開示で例示され、本発明の範囲は請求項で示される。
【図面の簡単な説明】
【００１０】
【図１】本発明の例示の実施形態による無線ピアツーピア（Ｐ２Ｐ）グループを示す模式図である。
【図２】本発明の例示の実施形態によるノードの機能構成を示すブロック図である。
【図３】本発明の例示の実施形態によるノードに備えられた切替えスケジュールの例を示す模式図である。
【図４】本発明の例示の実施形態によるノードに備えられた切替えスケジュールの別の例を示す模式図である。
【図５】本発明の例示の実施形態による、４つのＷｉ−Ｆｉ  Ｐ２Ｐグループと、対応する切替えスケジュールとを示す模式図である。
【図６】本発明の例示の実施形態による、切替えスケジュールを構築するステップを示すフローチャートである。
【図７】本発明の例示の実施形態による、一つのＷｉ−Ｆｉ  Ｐ２Ｐグループから他のグループへ切り替える仕組みを示すフローチャートである。
【図８】本発明の例示の実施形態による、適応的負荷分散の仕組みを示すフローチャートである。
【図９】本発明の例示の実施形態による、適応的負荷分散をグラフで表示したものである。
【図１０】本発明の例示の実施形態による、新たなＷｉ−Ｆｉ  Ｐ２Ｐデバイスがネットワークへ加入する仕組みを示す模式図である。
【図１１】本発明の例示の実施形態による、切替えの仕組みを起動する過程を示す模式図である。
【図１２】本発明の例示の実施形態による、切替えの仕組みを起動する過程を示す模式図である。
【図１３】本発明の例示の実施形態による、切替えの仕組みを起動する過程を示す模式図である。
【図１４】本開示の１つ又は複数の実施形態による、２つ以上のピアツーピアグループ間で通信を行うために使われるデバイスを示す模式図である。
【発明を実施するための形態】
【００１１】
本明細書において以下では、「例示の（ｅｘｅｍｐｌａｒｙ）」という単語は「例、実例、又は例証の役割を果たす」という意味で使われる。本明細書において「例示の」として説明される任意の実施形態は、必ずしも他の実施形態よりも好適な、又は有益であると解釈されるべきではない。
【００１２】
１．例示の実施形態の概要
例示の実施形態は、上で論じた問題にグループ間切替えの仕組みを使って対処する。あらゆるグループのピアツーピア（Ｐ２Ｐ）グループオーナ（ＧＯ）は、グループメンバー（自身を含む）に対して隣接のグループに関する情報を見つけるために繰り返しＤｅｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙを行い、Ｐ２Ｐ  ＧＯへ報告するように指示する。検出結果に基づいて、Ｐ２Ｐ  ＧＯはクライアントの一部又はすべてに、定期的に現在のグループとの接続を切断して隣接のグループに加入するよう指示する。より具体的には、Ｐ２Ｐ  ＧＯは、離脱時刻と再加入時刻又は切替え頻度とを含み、どのクライアントがどのグループに切り替わらなければいけないかを明らかにする切替えスケジュールを用意してもよい。この切替えスケジュールは、グループ間接続のそれぞれにおいて、グループ間切替えイベントの（単位時間当たりの）頻度と共にグループ間接続トポロジマップとして機能する。切替えの割り当ては、どの隣接のグループがどのクライアントによって発見されたかを確認する仕組みに従い、隣接のＧＯがどんなデリバリノード（Ｄｅｌｉｖｅｒｙ  Ｎｏｄｅ；  ＤＮ）を受け入れているかどうかに応じて、ＧＯによってクライアントへ委ねられる。デリバリノードの役割を割り当てる仕組みには、ノードの能力がデリバリノードとしてふさわしいかを確認することも含むことができる。これとともに、クライアントと隣接のＧＯの間の物理的な距離と受信信号強度との少なくとも１つが、切替え作業を割り当てる前に考慮される。こうして、あらゆるＧＯが自グループ用の切替えスケジュールを用意し、当該切替えスケジュールは必要に応じて必要な時に更新される。切替えイベントの間、切替えスケジュールは他の必要なグループ運用制御メッセージと共に隣接のグループと共有される。最初のスケジュールが用意されると、対応するクライアントがもともとのＧＯとの接続を切断し、ランダムバックオフの仕組みに従って、時間切れとなるまでスケジュールで指定されている隣接のＧＯとの接続を試みる。隣接のＧＯへの加入に成功したら、このクライアントはこのグループと自身のもともとのグループとの間のデリバリノードとして自身を登録し、自身及び他の知られているすべてのグループの切替えスケジュール並びにネットワークトポロジマップをこの隣接のグループと共有する。また、訪問したグループに知られている切替えスケジュール又はトポロジマップを収集し、自身のグループへの再加入後に自身のグループ内で共有する。ＧＯは登録されるデリバリノードの数を最大値で制限することができる。ＧＯは上限に達するまでデリバリノードの要求を認める。
【００１３】
広域ネットワークにおいて、送信範囲は明らかに問題となる。したがって、すべてのグループが他のあらゆるグループを発見できない可能性が非常に高い。そのような場合に非効率なルーティングを避けるために、切替えイベントの間、あらゆるグループは、発見されたグループのリスト、動作チャネル、グループメンバー情報及び対応する切替えスケジュール並びにトポロジマップを他のグループと共有することができる。それゆえ、１つのグループが他の多くのグループの圏外である場合でも、少なくとも１つの他のグループが到達可能である限り、そのグループは切替えによって発見されうる。加えて、切替えスケジュールについての知識を経路の計算及びそのグループへのメッセージ送信のスケジュールを組むのに活用することができる。
【００１４】
あらゆるＷｉ−Ｆｉ  Ｐ２ＰグループのＧＯは、クライアント又はデリバリノード（ＤＮ）に空きポジションがあるかを示すために追加情報をプローブ要求／応答フレーム又はビーコンフレームに追加することができる。こうすることで、他のＧＯがそのグループとＤＮ使用可能接続を開始できるかを知ることができる。また、新たなＷｉ−Ｆｉ  Ｐ２ＰノードがＤｅｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙのみを行うことで関わりを持てるＧＯを見つけられるようになる。
【００１５】
ＧＯは、デリバリノードに対して（ＢＳＳＩＤのような）グループ識別情報をプローブ要求／応答フレームへ加えさせることにより、通常のクライアントからの接続要求とデリバリノードからの接続要求を区別することができる。
【００１６】
一部の激しく混雑した経路でのトラヒック要求の急激な上昇に対応するため、これらの経路内のグループのＰ２Ｐ  ＧＯはデリバリノードの切替え頻度を増やすことができ、又はより多くのグループ間切替え用のデリバリノードを使うことさえできる。そのような負荷分散の仕組みは、状況に応じて切替えスケジュールを更新するＰ２Ｐ  ＧＯの間での事前のネゴシエーションにより行われる。一対のＷｉ−Ｆｉ  Ｐ２Ｐグループの間でのデリバリノードの切替え頻度及び数は、トラヒック要求が低下した場合はデフォルト値まで下げることができる。こうして、デリバリノードの数とその切替え頻度を適切に変化させることで、ネットワークトラヒックを制御することができる。
【００１７】
上述のように、深刻な工学的問題を解決するため、例示の実施形態はグループ間での予定した切替えの仕組みを開示している。多数のＷｉ−Ｆｉ  Ｐ２Ｐグループを含む分散ネットワークの状況では、グループのすべてのメンバーが近隣探索（ｎｅｉｇｈｂｏｒ  ｄｉｓｃｏｖｅｒｙ）を繰り返し行う。新たな隣接のＧＯが発見された場合は、クライアントはグループ内で情報を共有する。クライアントからの近隣探索結果に基づいて、ＧＯは各クライアントに委ねられる切替え作業を配置した切替えスケジュールを用意する。切替え作業を割り当てるのに用いられる仕組みでは、特定のクライアントで受信された隣接のＧＯの信号強度（Ｒｅｃｅｉｖｅｄ  Ｓｉｇｎａｌ  Ｓｔｒｅｎｇｔｈ；  ＲＳＳ）のようなパラメータを考慮するため、特定のグループ（ＧＯ）を発見したすべてのクライアントの中から、そのＧＯからのＲＳＳが最大のものに、そのＧＯへの切替え作業が委ねられる。Ｐ２Ｐクライアントへの切替え作業の割り当ては、残存電力、ＣＰＵ（中央処理装置）速度、一次メモリ容量、送信範囲、グループ内での予定滞在時間などのような、クライアントのデバイスとしての能力を確認することでも行うことができる。ここで「切替え作業」は、現在の（親）グループとの接続を切断し、規定された時間にわたり隣接のグループのＧＯに接続し、親グループへ再加入することを意味する。また多数の予備ノードがＰ２Ｐ  ＧＯによってグループメンバーから選択され、切替え作業を割り当てられたノードが予期しない時間にわたってネットワークから離脱してしまう場合に中断なく切替えを行うため、切替え作業を引き受けることができる。前記のスケジュールは切替えノード、親グループ、切替え先となる隣接のグループ、親からの離脱時刻及び親グループへの再加入（到着）時刻などの情報を含み得るが、これらに限られるものではない。また、単位時間当たりに親グループと訪問しているグループとの間で往復切替えを行う回数を伴う、デリバリノードの切替え頻度の情報も含んでいてもよい。切替えスケジュールがグループ内で共有されると、デリバリノードとして指名されたクライアントは指定された離脱時刻に親グループとの接続を切断する。クライアントは指定された隣接のＧＯへ接続要求を送り、接続の確立に失敗した場合は、ＣＳＭＡ（Ｃａｒｒｉｅｒ  Ｓｅｎｓｅ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ；  搬送波感知多重アクセス）の仕組みと同様のランダムなバックオフ時間の後で再試行する。失敗するごとに、デリバリノードはコンテンションウインドウを大きくして、その中からランダムな時刻を次の再試行の瞬間として選ぶことができる。
【００１８】
初めて接続されると、切替えノードは情報を共有し、この情報にはグループＩＤ、グループメンバーＩＤ（ＭＡＣアドレス）、動作の頻度、セキュリティ認証情報、親グループ及び親グループにより発見された（又は親グループに知られている）他のすべてのグループの切替えスケジュールが含まれるが、これらに限られない。また、訪問したグループから同様の情報を収集し、指定された到着時刻に親グループへ再加入する。切替えノードが切替えスケジュールに記述されている時刻を守ることができずに遅れが発生した際には、切替えスケジュールはＧＯによって新しいタイミングで更新される。
【００１９】
最初の切替えイベントの後で、訪問したグループのＧＯは、以降の切替えイベントがＩｎｖｉｔａｔｉｏｎの仕組みを使うことで高速化されるように、ＤＮ（複数可）を含むＰｅｒｓｉｓｔｅｎｔ  Ｇｒｏｕｐの履歴を作成する。また、グループのすべてのＤＮは、迅速な切替えが可能となるように、割り当てられた隣接のＧＯを含むＰｅｒｓｉｓｔｅｎｔ  Ｇｒｏｕｐの履歴を作成する。特定のグループへの切替え作業が一つのクライアントから別のクライアントへ変更されたとしても、新しい切替えノードもＩｎｖｉｔａｔｉｏｎの仕組みを使って同じ方法に従うことで接続することができる。
【００２０】
切替え作業の割り当ては静的ではない場合がある。Ｐ２Ｐ  ＧＯは後でＤＮを変更すると決めることができ、様々な理由に応じて他のＰ２Ｐクライアントのいずれかに作業を割り当てることができる。そうした理由には（ｉ）別のＰ２Ｐクライアントがより高い能力を有する（対応する隣接のＧＯからより強いＲＳＳを受信する、残存電力がより高い、ＣＰＵ速度や一次メモリなどのデバイススペックがより高い）又は（ｉｉ）現在のＤＮがグループを離脱すると決める、などが含まれるが、これらに限定されるものではない。そのような場合に切替えスケジュールはそれに応じて更新される。特定の隣接のＧＯに接続するのに最も適したデリバリノードを選択するために、ここで挙げられたメトリクスをＧＯで使用することができる。
【００２１】
リアルタイムでトラヒックを負荷分散するため、Ｗｉ−Ｆｉ  Ｐ２ＰグループのＧＯノードはトラヒックが多い経路の一部をなす、１つ又は複数の特定のグループに対してより多くの切替えノードを割り当てることができる。したがって、切替えスケジュールはすべての経路沿いのトラヒックに応じて適応的に更新される。更新された切替えスケジュールはその後の切替えイベントにおいて他のグループと共有される。
【００２２】
送信ノードの送信キュー内のパケットは、各パケットの送信先に対応する経路へと切替えを行うイベントの時刻に従って優先順位を付けて、並べることができる。こうすることで、切替えスケジュールの情報を利用して効率的な送信スケジュールを組めるようになる。
【００２３】
あらゆるＧＯは許容するクライアントポジションの総数を、（１）クライアントと（２）デリバリノード（ＤＮ）の２つのカテゴリに分けることができる。ＧＯが新たなＰ２Ｐデバイスからの接続要求を受け付けるのは、第１カテゴリが一杯になるまでである。あらゆるＷｉ−Ｆｉ  Ｐ２Ｐ  ＧＯはクライアントカテゴリとＤＮカテゴリの空きをプローブ要求／応答及びビーコンで告知することができる。ＧＯが隣接にＤＮカテゴリの空きを告知している別のＧＯを発見した場合、このＧＯはそのグループに対するＤＮとしてクライアントの１つを指名する。クライアントがＤＮとして割り当てられると、そのクライアントのカテゴリはクライアントからＤＮへと変更され、クライアントカテゴリに空きが生じて、それがその後のプローブ要求／応答又はビーコンで告知される。一つのＷｉ−Ｆｉ  Ｐ２ＰグループからのＤＮが別のＷｉ−Ｆｉ  Ｐ２Ｐグループへ切り替えを行う場合はいつでも、現在のグループの（ＢＳＳＩＤ（Ｂａｓｉｃ  Ｓｅｒｖｉｃｅ  Ｓｅｔ  Ｉｄｅｎｔｉｆｉｅｒ；  基本サービスセット識別子）のような）情報をいくらか含めてその隣接のＧＯへプローブ要求／応答を送ることができる。こうすることで、その他方のＧＯが新たなＰ２ＰデバイスとＤＮとを区別することができる。一つのＷｉ−Ｆｉ  Ｐ２ＰグループからのＤＮが初めて別のＷｉ−Ｆｉ  Ｐ２Ｐグループへ切り替えを行う場合、訪問しているＧＯに自身をこれら２つのグループの間のＤＮとして登録する。そして両方のＧＯがＤＮの空きポジションを１つ減らす。あらゆるＧＯが現在の他のグループとのＤＮ使用可能接続（もしあれば）と（自身のもの、及びＤＮを介して収集した他のグループの）切替えスケジュールの情報を、ＤＮを介して共有する。これは直接到達することができないグループへの経路の計算に利用することができる。ＧＯが他のグループとのＤＮ使用可能接続を止めると決定した場合、ＤＮは切替え作業を停止することをこの他方のグループに事前に通知することができる。その後、ＤＮが切替えを行っていた対応するＧＯのペアは、この切替えに基づく接続に対するＤＮのリストからこのＤＮの登録を取り消すことができる。「切替え」活動を停止したＤＮは通常のクライアントとして再度指名を受けることができる。通常のクライアントとＤＮの数は許容されるクライアントの総数に合計されることになるが、２つのカテゴリのそれぞれの数は適応的に変動させることができる。
【００２４】
あらゆるＷｉ−Ｆｉ  Ｐ２ＰグループのＧＯはプローブ要求／応答フレーム又はビーコンフレームに１ビットのフラグを追加することができ、０はＧＯがこれ以上クライアントを受け付けられないことを意味することができ、１はＧＯが接続要求を受け付け中であることを意味することができる。あるいは、ＧＯはプローブ要求／応答フレーム又はビーコンフレームにクライアントポジションの空きの数のような詳細情報をさらに含めることができる。こうすることで、クライアントは隣接のどのＧＯが接続要求を受け付けているかをＤｅｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙのみによって知ることができ、グループへの加入時間を削減できる。同様に、ＧＯノードもデリバリノードの空きポジションを告知することができる。こうすることで、隣接で稼働中の別のＷｉ−Ｆｉ  ＤｉｒｅｃｔグループのＧＯがこのグループとＤＮ使用可能接続を形成することができると知ることができる。ＤＮポジションに空きを有する２つのＷｉ−Ｆｉ  Ｐ２Ｐグループがお互いを発見すると、これらのグループは他方のグループへＤＮを派遣する、又は他方のグループからのＤＮを期待することができる。ＤＮは、他方のグループが自身の親グループを知ることができ、新たなＷｉ−Ｆｉ  Ｐ２Ｐデバイスからの別の接続要求と区別できるように、（親グループのＢＳＳＩＤのような）親グループの情報をプローブ要求／応答に明記する。この方法がなければ、最大数のクライアントを有するＧＯはＤＮからの接続要求を拒絶してしまう場合もある。あらゆるＷｉ−Ｆｉ  Ｐ２Ｐデバイスが、スイッチを入れられたあと、アクティブスキャン（Ａｃｔｉｖｅ  Ｓｃａｎ）を行って、クライアントカテゴリに対する空きフラグが非ゼロであると告知しているＧＯへ接続要求を送信することができる。そうでなければクライアントカテゴリの空きポジションを提示しているＧＯを見つけるまで、発見されたＧＯのそれぞれに対して次々に接続要求を送信しなければならないところを、このようにして、ネットワークへの加入時間を削減することができる。こうして、ネットワークへ加入する手続きの簡易化とグループにわたる情報の流れの円滑化とが可能な、複数のＷｉ−Ｆｉ  Ｄｉｒｅｃｔグループを有する大規模分散ネットワークを実現することができる。
【００２５】
本発明によれば、多数のノードへのコンテンツ配送はＷｉ−Ｆｉ  Ｄｉｒｅｃｔのグループの大きさによる制約を克服するアドホック的な方法により可能となる。具体的には、各Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔグループで切替えスケジュールを作成し、複数のグループにわたってそれを共有することで、切替えイベントが決定的となり、事前に知られうる。動的なトポロジの再構成を伴うネットワークにおける経路の可用性は時間と共に変化するため、経路の可用性に関する事前の知識がないということは、送信キューのすべてのパケットがランダムな順番で、又は「先入れ先出し」（ＦＩＦＯ）の順に送信されるということを意味する。例示の実施形態では複数のグループにわたる切替えスケジュールの共有を利用する。そのような切替え頻度を含む切替えスケジュールの事前の知識はパケット送信のスケジュールの作成及び効率的なルーティングテーブルの作成に役立つであろう。また、切替えイベントの事前の知識により送信ノードが切替え先グループに対する切替えノードを知り、不必要にデータを大量に送ることを回避できる。このような切替えスケジュールの共有は本質的に、どのグループのペアがデリバリノードによって対応する切替え頻度で接続されているかを示すトポロジマップとして機能する。
【００２６】
加えて、あらゆるグループによって発見されたすべてのグループについての情報の共有により、あらゆるグループが、他のすべてのグループがお互いの送信範囲の外にある場合であっても、他のすべてのグループへの経路を知っていることが保証される。また、ＧＯがプローブ応答／ビーコンでサポートできる「許容されるデリバリノードの数」を明示することで、隣接で稼働中の他のグループがそのグループと切替えを行うことが可能か、知ることが可能になる。さらに、すべてのデリバリノードがＩｎｖｉｔａｔｉｏｎによって接続できることを確実にするために、あらゆるＧＯがすべてのデリバリノードに対して人工的なＰｅｒｓｉｓｔｅｎｔ  Ｓｅｓｓｉｏｎの履歴を用意する場合、切替えの遅れが削減される。また、我々の仕組みには新たなクライアント又はデリバリノードを受け入れる能力があるかをプローブ要求／応答又はビーコンに規定するＧＯの提供が含まれるので、新たなＰ２Ｐデバイスが特定のＧＯへ接続できるかをＤｅｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙのみによって知ることができる。この方法により、空きを告知しているＧＯへ接続要求を送るため、新たなデバイスがネットワークへ加入するのに必要な時間が削減される。またデリバリノードは、ＧＯが新たなＰ２Ｐデバイスとデリバリノードとを区別できるようにするためにプローブ要求／応答に（ＢＳＳＩＤのような）グループＩＤ情報を持っている。最後に、Ｗｉ−Ｆｉ  Ｐ２Ｐグループのペア間でのデリバリノードの数及びその切替え頻度を適切に変動させることで、複数のグループのＷｉ−Ｆｉ  Ｐ２Ｐネットワークにおいて多量のネットワークトラヒックに対処することが可能となる。
【００２７】
２．例示の実施形態
以降では、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ規格に従い、本発明の例示の実施形態を例として説明する。例示の実施形態は、添付の図面と共にその詳細が漏れなく論じられ、最終的に典型的な実例をもって説明される。
【００２８】
２．１  システム構成
図１に示されるように、４つのノードが例示のＷｉ−Ｆｉ  Ｄｉｒｅｃｔグループ１０１を形成する。グループ１０１において、ノード１０３がグループオーナ（ＧＯ）として動作し、他のノード１０２、１０４、１０５は関連するクライアントとしてそれぞれ動作する。グループ１０１が形成されると、ＧＯノード１０３はＷｉ−Ｆｉインフラストラクチャモード運用におけるアクセスポイントと類似した役割を演じる。ＧＯ１０３は、ＧＯが去った場合にグループが崩壊しないようにグループ内で事前に共有された予備のリーダーノード及びセキュリティ認証情報のリストを保持する。すべてのクライアントノードは予備のリーダーノードを含む仮想的でＰｅｒｓｉｓｔｅｎｔ  Ｇｒｏｕｐの履歴を用意し、突然崩壊が起こった場合にＩｎｖｉｔａｔｉｏｎを使って予備のリーダーに迅速に再接続する。
【００２９】
図２を参照すると、ノード１０２〜１０５は同じ構成を有するが、ＧＯ又はクライアントとして動作することができる。ノードは以下の機能性、すなわち無線システム２０１、ユーザコントローラ２０２、切替えスケジュール２０３、プロセッサ２０４、及びメモリ２０５を含む。無線システム２０１はＷｉ−Ｆｉ  Ｄｉｒｅｃｔ通信機能を含む。ユーザコントローラ２０２はＤｅｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙ、ＧＯ  Ｎｅｇｏｔｉａｔｉｏｎ、Ｐｒｏｖｉｓｉｏｎａｌ  Ｓｅｒｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙ及びＩｎｖｉｔａｔｉｏｎの仕組みなどのＷｉ−Ｆｉ  Ｄｉｒｅｃｔ接続手続きを制御する。切替えスケジュール２０３は、切替えノード（切替えデバイス）、切替えを行うよう割り当てられている隣接のグループ、現在のグループからの離脱時刻、現在のグループへの復帰時刻のリストを含む。プロセッサ２０４は本実施形態に従い、メモリ２０５に格納されたオペレーティングシステム及びアプリケーションを実行することができる。切替えスケジュール２０３はメモリ２０５又は半導体メモリなどの別の記憶装置に含むことができる。
【００３０】
図３は所与のＷｉ−Ｆｉ  Ｄｉｒｅｃｔグループの例示の切替えスケジュール２０３（ａ）の例を示す。切替えスケジュール２０３（ａ）はグループＩＤ（グループのＧＯが生成したグループのＩＤ）の情報、切替えノードＩＤ、ノードが切り替えを行う対応する切替え先グループ、親グループからの離脱時刻及び親グループへの復帰時刻の少なくとも１つを含む。たとえば、切替えノードＩＤ１は切替え先グループＩＤ１へ切り替える。切替えノードは離脱時刻Ｔ１に離脱し、到着時刻Ｔ３に復帰する。
【００３１】
図４は所与のＷｉ−Ｆｉ  Ｄｉｒｅｃｔグループの例示の切替えスケジュール２０３（ｂ）の別の例を示す。切替えスケジュールはグループＩＤ（グループのＧＯが生成したグループのＩＤ）の情報、切替えノードＩＤ、ノードが切り替えを行う対応する切替え先グループ、及び切替え頻度の少なくとも１つを含む。
【００３２】
図５は、近隣で稼働している４つの例示的なＷｉ−Ｆｉ  Ｄｉｒｅｃｔグループ４１７〜４２０を示す。グループ１は１つのグループオーナ４０１と、グループオーナ４０１と関連する３つのクライアント４０２〜４０４を含む。グループ２は１つのグループオーナ４０５と、グループオーナ４０５と関連する３つのクライアント４０６〜４０８を含む。グループ３は１つのグループオーナ４０９と、グループオーナ４０９と関連する３つのクライアント４１０〜４１２を含む。グループ４は１つのグループオーナ４１３と、グループオーナ４１３と関連する３つのクライアント４１４〜４１６を含む。ここで、グループ１、２及び３はお互いの送信範囲内にあり、グループ２、３、及び４はお互いの送信範囲内にあると想定している。この場合、グループ１と４はお互いを直接見つけることができない。あらゆるグループのノードは、隣接で稼働している任意のＧＯを発見するために定期的にＤｅｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙを行う。Ｄｅｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙの結果はグループ内で共有される。たとえば、ノード４０４及び４０３は隣接のＧＯ４０５及び４０９を発見できる。ＧＯ４０５の受信信号強度（ＲＳＳ）はノード４０４でより強くなり、４０９のＲＳＳはノード４０３でより強くなる。グループ１（４１７）のＧＯ４０１はグループ２（４１８）への切替え作業をノード４０４に、グループ３（４１９）への切替え作業をノード４０３に割り当てる。ＧＯ４０１は、切替えノードの離脱時刻及び再加入時刻を規定する自グループ用の切替えスケジュールを用意する。あるいは、別の例示の実施形態においては、同じ隣接のグループへの切替えのために複数の切替えノードが割り当てられることがある。指定された離脱時刻に、指定された切替えノード４０４及び４０３は親グループとの接続を切断し、それぞれ割り当てられた隣接のＧＯ４０５、４０９に接続する。（グループ２に対する）切替えノード４０４及び（グループ３に対する）切替えノード４０３は親グループ並びに親グループにより発見された（又は親グループに知られた）他のグループの情報（グループＩＤ、グループメンバーＭＡＣアドレス、動作チャネル、セキュリティ認証情報、及び切替えスケジュール）を隣接のグループと共有する。切替えノード４０４及び４０３は訪問したＧＯ４０５及び４０９で入手可能な同様の情報を収集することができ、それぞれの到着時刻Ｔ３、Ｔ４に親ＧＯ４０１に再加入することができる。収集された情報は親グループ１（４１７）内で共有される。
【００３３】
図５を使用して説明した例において、上記で説明したのと同じ仕組みに従ってグループ２（４１８）のノード４０８はグループ４（４２０）への切替え作業を割り当てられる。ノード４０８はグループ２（４１８）の情報だけでなく、グループ１（４１７）の情報もグループ４（４２０）内で共有する。同様に、ノード４０８はグループ４（４２０）からの同様の情報をグループ２（４１８）へ持っていくことができ、この情報はその後の切替えイベントでグループ１（４１７）と共有される。こうして、グループ１はグループ４を知ることとなり、逆もまた同様であるが、両者はお互いを直接見つけることはできない。切替えスケジュール２０３が共有されると、両者は最も適切な経路を選択し、パケット送信のスケジュールを組むことができる。
【００３４】
図６は、ＧＯノードによるＷｉ−Ｆｉ  Ｐ２Ｐグループの切替えスケジュール作成のフローチャートを示す。これは図５のグループ１を例として説明される。動作Ｓ５０１において、Ｗｉ−Ｆｉ  Ｐ２Ｐグループ１のすべてのノード４０２〜４０４は定期的に近隣探索を行う。ノード４０２〜４０４はビーコンに空き情報を加えることができる。動作Ｓ５０２において、発見されたすべての隣接のＧＯ４０１の情報がグループ１内で全てのノードによって共有される。動作Ｓ５０３において、特定の隣接のＧＯ４０５又は４０９を発見したクライアント４０３又は４０４の中から、隣接のＧＯ４０５又は４０９から最も強い受信信号強度を得るクライアント４０３又は４０４が選ばれ、その隣接のＧＯに切り替える。たとえば図５では、ＧＯ４０５がクライアント４０４に対して選ばれ、ＧＯ４０９がクライアント４０３に対して選ばれる。動作Ｓ５０４において、ＧＯ４０１は発見されたあらゆる隣接のＧＯ４０５又は４０９へ切替える作業をクライアント４０３又は４０４に割り当てるための切替えスケジュールを用意する。具体的には、近隣探索の結果に基づいて、グループオーナ４０１が切替えスケジュールに配置された切替え作業を割り当てる。
【００３５】
図７は、上述のように、一つのＷｉ−Ｆｉ  Ｐ２Ｐグループから別のグループに切り替える仕組みのフローチャートを示す。これは図５のグループ１を例として説明される。動作Ｓ６０１において、特定のＧＯ４０５又は４０９へ切り替えるよう割り当てられたノード４０３又は４０４は予定された離脱時刻Ｔ１又はＴ２に親グループ１（４１７）との接続を切断する。動作Ｓ６０２において、ノード４０３又は４０４は特定の隣接のＧＯ４０５又は４０９へ接続要求又はＩｎｖｉｔａｔｉｏｎ要求を送る。動作Ｓ６０３において、ＧＯ４０５又は４０９で進行中のなんらかの接続プロセスのために接続失敗した場合、切替えノード４０３又は４０４はウインドウからランダムなバックオフ時間を選択し、その時間の間待機した後で接続要求を再送する。失敗するごとに、切替えノード４０３又は４０４はウインドウサイズを大きくする。予定された親グループ１（４１７）への再加入時刻Ｔ３又はＴ４までに隣接のＧＯ４０５又は４０９との接続に失敗する場合、切替えノード４０３又は４０４は親グループ１（４１７）に再度接続する。動作Ｓ６０４において、接続の成功後、切替えノード４０３又は４０４は親グループ１に知られている少なくとも１つのグループのグループ情報、メンバーノード情報、セキュリティ認証情報、動作チャネル、グループの切替えスケジュール、の少なくとも１つを共有する。切替えノード４０３又は４０４は訪問したグループ２（４１８）又はグループ３（４１９）から同様の情報を収集する。たとえば、最初の成功した切替えイベントの後で、グループ情報、メンバー情報、セキュリティ認証情報、及び切替えスケジュールがグループ１とグループ２の間、又はグループ１とグループ３の間で交換される。加えて、ＧＯは発見された隣接のグループの切替えノードを含むＰｅｒｓｉｓｔｅｎｔ  Ｇｒｏｕｐの履歴を作成することができ、すべてのグループの切替えノードは発見された隣接のグループの少なくとも１つのＧＯを含むＰｅｒｓｉｓｔｅｎｔ  Ｇｒｏｕｐの履歴を作成することができる。こうしてＩｎｖｉｔａｔｉｏｎの仕組みを採用することで将来の切替えイベントを行うことができて、切替えの遅れが削減される。動作Ｓ６０５において、切替えノード４０３又は４０４は訪問したＧＯ４０５又は４０９との接続を切断し、親グループ１の切替えスケジュールに厳密に従って、グループ１に再加入する。
【００３６】
図８は適応的負荷分散の仕組みのフローチャートを示す。動作Ｓ７０１において、２つ以上のＷｉ−Ｆｉ  Ｐ２Ｐグループで構成される特定の経路上のトラヒック負荷が増加する場合、該当するＷｉ−Ｆｉ  Ｐ２ＰグループのＧＯは、この経路内のグループに対してより多くの切替えノードを割り当てることで、又はこの経路内の切替えノードの切替え頻度を増やすことで、切替えスケジュールを更新する。あるいは、該当するＷｉ−Ｆｉ  Ｐ２ＰグループのＧＯは、この経路内のグループに対してより多くの切替えノードを割り当てること、及びこの経路内の切替えノードの切替え頻度を増やすことの両方で、切替えスケジュールを更新することができる。たとえば、一つのノードの切替え頻度が最大値に達した場合、ＧＯは１つのノード当たりの切替え頻度と切替えノードの数の組み合わせを調整することができる。動作Ｓ７０２において、混雑した経路内のＷｉ−Ｆｉ  Ｐ２ＰグループのＧＯは、この経路沿いの切替え専用ノードの増加若しくは切替え頻度の増加、又はその両方についての情報をこれらＧＯの間で交換する。動作Ｓ７０３において、トラヒック負荷の減少に対して、該当する隣接のＧＯへ通知し、切替えスケジュールを更新することにより切替え専用ノードの数がデフォルト値へと減らされる。上記のように、適応的負荷分散はＷｉ−Ｆｉ  Ｐ２Ｐグループのペアの間でデリバリノードの数を適応的に増やすか、デリバリノードの切替え頻度を増やす、又はその両方を行うことで実施でき、切替えが発生する両方のＧＯの合意の下で高いトラヒックの要求を満たすことができる。トラヒック負荷の減少に対して、デリバリノードの数はデフォルト値へと減らすことができる。
【００３７】
図９は適応的負荷分散をグラフで表現したものを示す。（Ａ）はＷｉ−Ｆｉ  Ｐ２Ｐグループのペアの間のトラヒックの例示的な変動を示す。（Ｂ）若しくは（Ｃ）のいずれか、又はその両方が動作されうるのかに応じて、トラヒックのレベルを比較するのに１つ又は複数の閾値があり得る。（Ｂ）はデリバリノードの数が（Ａ）のグループ間トラヒックの増加に対応して適応的に増加していることを示している。（Ａ）におけるトラヒック閾値はｋ個のレベルに設定されている。時点Ｔ１及びＴ２の間のトラヒックはトラヒック閾値１よりも少ない。結果として、デリバリノードの数は最小限のデフォルト値であるＮ１に設定され、対応する切替え頻度はＦ１に設定される。Ｔ２とＴ３の間のトラヒックはトラヒック閾値１を上回るが、それでもトラヒック閾値２よりは少ない。これに応じて、デリバリノードの数はこの増加したトラヒック要求に対応するため、（Ｂ）でＮ２へと増やされる。デリバリノードの切替え頻度も（Ｃ）に示すようにＦ２へと増やすことができる。Ｔ３とＴ４の間のトラヒックはさらに増加し、デリバリノードの数及び／又はデリバリノードの切替え頻度も増やされる。Ｔ４とＴ５の間でトラヒック要求がトラヒック閾値１を下回ると、デリバリノードの数及び／又は対応する切替え頻度もそれぞれ最小限のデフォルト値であるＮ１とＦ１へと下げられる。この仕組みに従い、（Ｂ）若しくは（Ｃ）のいずれか、又はその両方をＷｉ−Ｆｉ  Ｐ２Ｐグループのペアの間のトラヒックの変動に応じて採用することができる。
【００３８】
図１０は新たなＷｉ−Ｆｉ  Ｐ２Ｐデバイスがネットワークへ加入する仕組みの模式図を示す。デバイスはＤｅｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙを行って、活動中のＧＯのプローブ要求／応答フレーム又はビーコンフレームを見つける。発見されたすべてのＧＯの中からデバイスはクライアントの空きが非ゼロであると告知しているＧＯを選び、そのＧＯへ接続要求を送る。このように、この方法はＤｅｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙを行うだけで適切なＧＯを見つけるのに役立つ。たとえば、ノード４３０（新たなＷｉ−Ｆｉ  Ｐ２Ｐデバイス）はＤｅｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙを行って、活動中のＧＯ（グループ２のＧＯ４０５、グループ４のＧＯ４１３、グループ１のＧＯ４０１）を見つける。ノード４３０はクライアントカテゴリに１つの空きを告知しているグループ１のＧＯ４０１を選択する。ノード４３０はＧＯ４０１へＷｉ−Ｆｉ  Ｐ２Ｐ接続要求を送る。
【００３９】
図１１はＷｉ−Ｆｉ  Ｐ２Ｐグループのペアの間でのＤＮ使用可能接続の開始に関する模式図を示す。ＤＮの空きが非ゼロで、既存のＤＮ使用可能接続を持たない２つのグループがお互いを見つけた場合、これらのグループは他方のグループへデリバリノードを派遣するか、デリバリノードの派遣を期待する。具体的には、第１グループが第２グループへデリバリノードを派遣する、又は第２グループからのデリバリノードを待つ（期待する）、のどちらかを行うことで、デリバリノードが両方向に派遣されうる。図１１において、グループ４はデリバリノードカテゴリで１つの空きを告知している。グループ１もデリバリノードカテゴリで１つの空きを告知している。グループ１とグループ４は既存のＤＮ使用可能接続を持たない。
【００４０】
図１２は、前の図から続いて、Ｗｉ−Ｆｉ  Ｐ２Ｐグループのペアの間でのＤＮ使用可能接続を開始する方法についての模式図を示す。この図に示すように、グループの１つが他方のグループへデリバリノードを派遣する。これらのグループの両方がそれに応じて空き情報を更新する。たとえば、図１２でグループ４のクライアントノード４１５がデリバリノードへと変更される。結果として、クライアントポジション（クライアントカテゴリ）の空きが作られ、ＤＮの空きが１つ減らされる。同時に、グループ１のＤＮの空きも１つ減らすことができる。
【００４１】
図１３は、前の図から続いて、Ｗｉ−Ｆｉ  Ｐ２Ｐグループのペアの間でのＤＮ使用可能接続の方法についての模式図を示す。図１３に示すように、指名されたデリバリノード４１５は切替え活動の一環としてまた親グループ４へと切り替える。たとえば、図１３において、ＤＮの空きはいまだゼロである。したがって、指名されたデリバリノード４１５は一時的にグループ４へと切り替えを行うが、デリバリノード４１５はいまだグループ１とグループ４の間のデリバリノード（切替えノード）である。
【００４２】
図１４は本開示の１つ又は複数の実施形態による２つ以上のピアツーピアグループ間で通信を行うのに使われるデバイスの模式的ブロック図を示す。様々な実装において、デバイスはピアツーピア通信を使って通信可能なパーソナルコンピュータデバイス（たとえばスマートフォン、タブレットコンピュータ、パーソナルコンピュータ、ノートパソコン、携帯情報端末（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔｓ；  ＰＤＡ）など）を含むことができる。図１４において、デバイス５００はオーナーデバイスにより用意された切替えスケジュールに基づいて、第１ピアツーピア（Ｐ２Ｐ）グループの第１オーナーデバイスとの接続を切断し、切替えスケジュールに基づいて第２のＰ２Ｐグループの第２オーナーデバイスに接続し、第２のＰ２Ｐグループと情報を共有するように構成されたプロセッサ５０１を含む。デバイス５００はまた第１のＰ２Ｐグループと第２のＰ２Ｐグループとの間で情報に基づいて通信を行うように構成された通信モジュール５０２を含む。
【００４３】
デバイス５００は図２に示すメモリ２０５を含むことができる。メモリにはシステムメモリ構成要素（たとえばランダムアクセスメモリ（Ｒａｎｄｏｍ−Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ；  ＲＡＭ））、静的なストレージ構成要素（たとえば読み出し専用メモリ（Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ；  ＲＯＭ））、及び／又はディスクドライブを含むことができる。デバイス５００はプロセッサ５０１及び他の構成要素によってシステムメモリ構成要素に含まれる１つ又は複数の命令のシーケンスを実行することで特定の操作を行う。論理はコンピュータ可読媒体内に符号化することができ、実行する命令をプロセッサ５０１に与えるのに関与する任意の媒体を参照することができる。このような媒体はどのような形態も取りえて、不揮発性媒体、揮発性媒体、及び送信媒体を含むが、これらに限られない。様々な実装において、不揮発性媒体には光学ディスク若しくは磁気ディスク、又はソリッドステートドライブを含み、揮発性媒体にはシステムメモリ構成要素のような動的なメモリを含み、送信媒体にはバスを構成する電線を含む、同軸ケーブル、銅線、及び光ファイバーを含む。一実施形態において、論理は非一時的コンピュータ可読媒体内に符号化される。一例では、送信媒体は電波、光、赤外線によるデータ通信の際に生成されるもののような音波又は光波の形を取る。
【００４４】
コンピュータ可読媒体の一般的な形態としては、たとえば、フロッピーディスク、フレキシブルディスク、ハードディスク、磁気テープ、任意の他の磁気媒体、コンパクトディスク（Ｃｏｍｐａｃｔ  Ｄｉｓｃ；  ＣＤ）ＲＯＭ、任意の他の光学媒体、パンチカード、紙テープ、穴のパターンを有する任意の他の物理的媒体、ＲＡＭ、プログラマブルＲＯＭ（Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ；  ＰＲＯＭ）、電気的消去可能プログラマブルＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ；  ＥＥＰＲＯＭ）、フラッシュＥＥＰＲＯＭ、任意の他のメモリチップ若しくはカートリッジ、又はコンピュータがそこから読み出すよう構成されている任意の他の媒体が含まれる。
【００４５】
適用できる場合には、本開示によって与えられる様々な実施形態をハードウェア、ソフトウェア、又はハードウェアとソフトウェアの組み合わせを使って実装することができる。適用できる場合には、本開示の趣旨から逸脱することなく、本明細書に記載された様々なハードウェア構成要素及び／又はソフトウェア構成要素を組み合わせて、ソフトウェア、ハードウェア及び／又は両者から成る複合的構成要素とすることもできる。適用できる場合には、本開示の趣旨から逸脱することなく、本明細書に記載された様々なハードウェア構成要素及び／又はソフトウェア構成要素はソフトウェア、ハードウェア及び／又は両者から成る従属構成要素へ分けることができる。加えて、適用できる場合には、ソフトウェア構成要素はハードウェア構成要素として実装できると考えられ、逆もまた同様である。
【００４６】
デバイスによって実行されるコンピュータプログラムのような本開示に従うアプリケーションソフトウェアは、１つ又は複数のコンピュータ可読媒体に記憶することができる。本明細書で特定されたステップもまた、ネットワーク化された、並びに／又はそうではない、１つ若しくは複数の、汎用若しくは特定用途のコンピュータ及び／若しくはコンピュータシステムを使って実装できると考えられる。適用できる場合には、本明細書で説明された様々なステップの順番は、本明細書で説明された特徴を提供するため、変更する、組み合わせて複合的なステップとする、及び／又はサブステップへと分ける、とすることができる。
【００４７】
本開示の実施形態を説明してきたが、これらの実施形態は開示を例証するものであり、開示を限定するものではない。たとえば、「デバイス（ｄｅｖｉｃｅ）」という単語は、グループに接続可能だがどのグループにも接続されていないグループオーナ、クライアント、又はＰ２Ｐデバイスを規定することができる。たとえば、図９に示す閾値に関し、切替え頻度の閾値はデリバリノードの数の閾値と同じ、又は異なるものとできる。たとえば、切替えスケジュールを使って切替えデバイス（デリバリノード）がＰ２Ｐグループオーナとの接続を切断し、他のＰ２Ｐグループオーナに接続することで、本明細書で論じた斬新なＷｉ−Ｆｉ  Ｄｉｒｅｃｔ通信方法が実現できる。
【００４８】
本開示の実施形態はまた、これらの実施形態に制限されるものではなく、本開示の原理に従って当業者により数々の変更及び変形が可能であり、以下に請求される本開示の趣旨と範囲の中に含まれると理解されるべきである。
【００４９】
上記の例示の実施形態は無線ピアツーピア（Ｐ２Ｐ）ネットワークに適用可能である。
【符号の説明】
【００５０】
１０１−１０６  ノード
２０１  無線システム
２０２  ユーザコントローラ
２０３  切替えスケジュール
２０４  プロセッサ
２０５  メモリ
【図１】
0006493563.tif 000002
【図２】
0006493563.tif 000003
【図３】
0006493563.tif 000004
【図４】
0006493563.tif 000005
【図５】
0006493563.tif 000006
【図６】
0006493563.tif 000007
【図７】
0006493563.tif 000008
【図８】
0006493563.tif 000009
【図９】
0006493563.tif 000010
【図１０】
0006493563.tif 000011
【図１１】
0006493563.tif 000012
【図１２】
0006493563.tif 000013
【図１３】
0006493563.tif 000014
【図１４】
0006493563.tif 000015