【文献】
柳原健太郎外,マルチホップセンサネットワークにおける非対称経路を用いた省電力化方式,電子情報通信学会技術研究報告IN2007-220,2008年 2月28日
【文献】
渡辺尚外,インフラレス無線ネットワークの動向 −インフラレスインフラとしてのアドホック,センサーネットワーク−,電子情報通信学会技術研究報告NS2007-46,2007年 7月12日
(58)【調査した分野】(Int.Cl.,DB名)
他の移動電子機器との無線接続の状況に応じて、クラスタ構造のP2Pネットワークにおける根ノード、枝ノード若しくは葉ノード、又は、前記P2Pネットワークに帰属しない未帰属ノードの各状態に遷移して機能する移動電子機器であって、
前記P2Pネットワークのトポロジーを制御するトポロジー制御部を備え、
前記トポロジー制御部は、
前記移動電子機器が前記根ノードとして機能している場合には、前記移動電子機器の配下の各ノードに対する、前記未帰属ノードとして機能している前記他の移動電子機器の接続の許否を制御し、
前記移動電子機器が前記根ノードとして機能している場合に、直下の子ノードの数が所定数に達する前は、前記移動電子機器に対する、前記未帰属ノードとして機能している前記他の移動電子機器の接続を許可するように制御するとともに、前記移動電子機器の配下の各ノードに対する、前記未帰属ノードとして機能している前記他の移動電子機器の接続を拒否するように制御し、
前記移動電子機器が前記枝ノード又は前記葉ノードとして機能している場合には、根ノードの制御に従って、前記移動電子機器に対する、前記未帰属ノードとして機能している前記他の移動電子機器の接続の許否を制御する
移動電子機器。
他の移動電子機器との無線接続の状況に応じて、クラスタ構造のP2Pネットワークにおける根ノード、枝ノード若しくは葉ノード、又は、前記P2Pネットワークに帰属しない未帰属ノードの各状態に遷移して機能する前記移動電子機器のコンピュータに、
前記P2Pネットワークのトポロジーを制御するトポロジーステップ
を実行させるプログラムであって、
前記トポロジーステップは、
前記移動電子機器が前記根ノードとして機能している場合には、前記移動電子機器の配下の各ノードに対する、前記未帰属ノードとして機能している前記他の移動電子機器の接続の許否を制御し、
前記移動電子機器が前記根ノードとして機能している場合に、直下の子ノードの数が所定数に達する前は、前記移動電子機器に対する、前記未帰属ノードとして機能している前記他の移動電子機器の接続を許可するように制御するとともに、前記移動電子機器の配下の各ノードに対する、前記未帰属ノードとして機能している前記他の移動電子機器の接続を拒否するように制御し、
前記移動電子機器が前記枝ノード又は前記葉ノードとして機能している場合には、根ノードの制御に従って、前記移動電子機器に対する、前記未帰属ノードとして機能している前記他の移動電子機器の接続の許否を制御する
プログラム。
他の移動電子機器との無線接続の状況に応じて、クラスタ構造のP2Pネットワークにおける根ノード、枝ノード若しくは葉ノード、又は、前記P2Pネットワークに帰属しない未帰属ノードの各状態に遷移して機能する前記移動電子機器のコンピュータに、
前記P2Pネットワークのトポロジーを制御するトポロジーステップ
を実行させるプログラムであって、
前記トポロジーステップは、
前記移動電子機器が前記根ノードとして機能している場合には、前記移動電子機器の配下の各ノードに対する、前記未帰属ノードとして機能している前記他の移動電子機器の接続の許否を制御し、
前記移動電子機器が、前記未帰属ノードとして機能していた前記他の移動電子機器を接続して前記枝ノードとして機能している場合に、前記移動電子機器と同一階層の前記葉ノード又は前記枝ノードとして機能している前記他の移動電子機器がP2Pネットワークから離脱したときは、トポロジーを再構築せず、
前記移動電子機器が前記枝ノード又は前記葉ノードとして機能している場合には、根ノードの制御に従って、前記移動電子機器に対する、前記未帰属ノードとして機能している前記他の移動電子機器の接続の許否を制御する
プログラム。
他の移動電子機器との無線接続の状況に応じて、クラスタ構造のP2Pネットワークにおける根ノード、枝ノード若しくは葉ノード、又は、前記P2Pネットワークに帰属しない未帰属ノードの各状態に遷移して機能する前記移動電子機器のコンピュータに、
前記P2Pネットワークのトポロジーを制御するトポロジーステップと、
接続可能な前記他の移動電子機器をサーチするサーチステップと
を実行させるプログラムであって、
前記トポロジーステップは、
前記移動電子機器が前記根ノードとして機能している場合には、前記移動電子機器の配下の各ノードに対する、前記未帰属ノードとして機能している前記他の移動電子機器の接続の許否を制御し、
前記移動電子機器が前記枝ノード又は前記葉ノードとして機能している場合には、根ノードの制御に従って、前記移動電子機器に対する、前記未帰属ノードとして機能している前記他の移動電子機器の接続の許否を制御し、
前記サーチステップは、
前記未帰属ノードとして機能している前記他の移動電子機器の接続を許可された前記葉ノードとして前記移動電子機器が機能している場合には、前記根ノードとして前記移動電子機器が機能している場合に比べ、より少ない頻度で前記他の移動電子機器をサーチする
プログラム。
【発明を実施するための形態】
【0017】
以下、本発明の一実施形態を、図面を参照して説明する。
【0018】
図1は、本実施形態による移動電子機器の状態遷移を説明するための概念図である。移動電子機器1は、電源OFFの停止状態から電源ONの動作状態になると、まず、未帰属ノード1aとして動作する。続いて、他の移動電子機器1に所定の距離まで近づくと、所定の接続判定条件(後述)に従って、根ノード1b、第1の葉ノード1c、第2の葉ノード1dのいずれかに遷移する。また、第2の葉ノード1dは、後述のコンカレントオペレーション(コンカレントモード)を使用することで枝ノード1eに遷移する。
【0019】
根ノード1b、第1の葉ノード1c、第2の葉ノード1d、枝ノード1eは、いずれも、P2Pネットワークにおける接続が解除された場合には、未帰属ノード1aに遷移した後、P2Pネットワークの再構築で、根ノード1bや第2の葉ノード1d、枝ノード1eに遷移する。
【0020】
未帰属ノード1a、根ノード1b、第1の葉ノード1c、第2の葉ノード1d、枝ノード1eについて説明する。未帰属ノード1aは、他の移動電子機器1と接続していないノードである。根ノード1bは、最上位層の親ノードである。根ノード1bは、自身に接続された子ノード、子ノードに接続された孫ノードなど、全てのノードに関する接続を制御する。1つのP2Pネットワークには、1つの根ノード1bが存在する。
【0021】
第1の葉ノード1cは、他の移動電子機器1との接続を受け付けないノードである。すなわち、第1の葉ノード1cは、子ノードの接続を予定していないノードであり、根ノード1bと第1のプロトコル(Wi−Fi P2P)で接続される。この第1の葉ノード1cは、通信量が少なくなると、第2のプロトコル(IEEE802.11)で第2の葉ノード1dとして根ノード1bに再接続する。
【0022】
第2の葉ノード1dは、他の移動電子機器1との接続を受け付けないノードである。すなわち、第2の葉ノード1dは、子ノードの接続を予定していないノードである。第2の葉ノード1dは、親ノードとは第2のプロトコル(IEEE802.11)で接続する。親ノードと第2のプロトコルで接続された第2の葉ノード1dは、第1のプロトコルと第2のプロトコルとを同時に動作させるコンカレントオペレーションを使用することができる。これにより、第2の葉ノード1dは、他の移動電子機器1と接続可能なノードに遷移する。すなわち、第2の葉ノード1dは、子ノードの接続を予定している枝ノード1eに遷移する。つまり、第2の葉ノード1dは、他の電子機器1との接続を受け付けないが、コンカレントオペレーションを使用でき、枝ノード1eに遷移可能なノードのことである。
【0023】
これに対して、親ノードと第1のプロトコルで接続された第1の葉ノード1cは、第1のプロトコルの制限上、コンカレントオペレーションを使用することができない。そのため、第1の葉ノード1cは、枝ノード1eに遷移することができない。
【0024】
本願において、枝ノード1eは、親ノードと子ノードとの間に配置されたノード、または、子ノードは接続されていないが、親ノードを有し、子ノードを接続可能な状態のノードのことをいう。
【0025】
本実施形態において、移動電子機器1は、他の移動電子機器1と遭遇すると、互いに、上記未帰属ノード1a、根ノード1b、第1の葉ノード1c、第2の葉ノード1d、枝ノード1eのいずれかのノードとして機能する。これにより、複数の階層からなるツリー構造のP2Pネットワークを構築する。本実施形態では、P2Pネットワークの階層をRank=1〜3の3階層に制限することで、通信性能の低下を抑制しつつ、P2Pネットワークを構成する。
【0026】
但し、階層数は、移動電子機器1の通信能力等に依存する。そのため、3階層に限定されることはなく、移動電子機器1の通信能力等に応じて設計すればよい。
【0027】
本実施形態では、1つ1つのノードは、最大3つの子ノードを接続可能としている。しかし、これも、移動電子機器1の通信能力等に依存するので、3つに限定されることなく、移動電子機器1の通信能力等に応じて設計すればよい。
【0028】
本実施形態においては、可能な限り、上層から順に未帰属ノード1aを接続していくことで、階層を深くすることなく、P2Pネットワークを構成することができるようになっている。
【0029】
図2A〜
図2Eは、本実施形態による移動電子機器1の接続可否状態を説明するための概念図である。
図2A〜
図2Eにおいて、それぞれのブロックは、移動電子機器1を、すなわちノードを示している。また、各ブロック内に示される小さな四角(白い四角□、または黒い四角■)は、当該ノードに対する他の移動電子機器1の接続可否状態を示している。移動電子機器1は、最大3つの他の移動電子機器1を、無線により、所定のプロトロコルに従って接続可能である。
但し、移動電子機器1がどのノードであるかによって、あるいは上位の根ノード1bの指示に従って、他の移動電子器1との接続可否が制御される。
【0030】
図2Aに示すように、1つの四角(白い四角□)も示されていないノードAは、他の移動電子機器1と接続していないノード、または接続不能ノード(第1の葉ノード1c)であることを表している。
図2Bに示すように、3つの四角(白い四角□)が示されているノードBは、3つ(白い四角□の合計数)の子ノードの接続を予定しているノード(「接続可能ノード/空状態」)である。言い換えると、ノードBは、子ノードを1つも接続していない状態である。このノードBには、接続している子ノードが所定数(3つ)に達するまで子ノードを接続することが可能である。即ち、ノードBは、あと3つ、子ノードを接続することが可能である。例えば、子ノードを実際に接続した場合、または、仮想的(擬似的)な接続を設定した場合には、その接続数に応じて、ノードBは下記ノードC、D、Eに遷移する。
【0031】
図2Cに示すように、3つの四角(白い四角□)のうち、1つが黒い四角(■)で、2つが白い四角(□)で示されているノードCは、既に1つ(黒い四角■の数)の子ノードが接続されており、2つ(白い四角□の数)の子ノードの接続を予定しているノード(「接続可能ノード/空状態」)である。すなわち、ノードCは、1つの子ノードを実際に、または仮想的に接続している状態である。このノードCは、接続している子ノードが所定数(3つ)に達するまで子ノードを接続することが可能である。即ち、ノードCは、あと2つ、子ノードを接続することが可能である。
【0032】
例えば、ノードCは、子ノードを実際に新たに接続した場合、または、仮想的な新たな接続を設定した場合には、その数に応じて、
図2Dに示すノードD、
図2Eに示すノードEに遷移する。また、ノードCは、実際に子ノードを喪失した場合、または、仮想的な接続の設定を解除した場合には、
図2Bに示すノードBに遷移する。なお、
図1では、便宜上、根ノード1b、枝ノード1e、第2のノード1dをノードCとしている。しかし、それは例示であって、根ノード1b、枝ノード1e、第2のノード1dは、ノードB、C、D、Eのいずれかであればよい。
【0033】
図2Dに示すように、3つの四角(白い四角□)のうち、2つが黒い四角(■)で、1つが白い四角(□)で示されているノードDは、既に2つ(黒い四角■の数)の子ノードが接続されており、1つ(白い四角□の数)の子ノードの接続を予定しているノード(「接続可能ノード/空状態」)である。すなわち、ノードDは、2つの子ノードを実際に、または仮想的に接続している状態である。このノードDは、接続している子ノードが所定数(3つ)に達するまで子ノードを接続することが可能である。即ち、ノードDは、あと1つ、子ノードを接続することが可能である。
【0034】
例えば、ノードDは、子ノードを実際に新たに接続した場合、または、仮想的な新たな接続を設定した場合には、
図2Eに示すノードEに遷移する。また、実際に子ノードを喪失した場合、または、仮想的な接続の設定を解除した場合には、その数に応じて、ノードDは、上記ノードC、Bに遷移する。
【0035】
図2Eに示すように、3つの四角(白い四角□)のうち、全てが黒い四角(■)で示されているノードEは、実際に、または仮想的に3つの子ノードを接続しているノード(「接続不能ノード/満状態」)である。このノードEは、接続している子ノードが所定数に達したため、新たに、子ノードを接続できない。なお、実際に子ノードを喪失した場合、または、仮想的な接続の設定を解除した場合には、その数に応じて、ノードEは、上記ノードD、C、Bに遷移する。
【0036】
図3A、
図3Bは、本実施形態による移動電子機器1の接続条件例を示す概念図である。
図3Aには、未帰属ノード同士が遭遇した場合における接続条件(接続判定条件)を示している。接続条件としては、「バッテリー残量(残量小の確認)」、「バッテリー残量(直接の確認)」を用意している。未帰属ノード同士が遭遇した場合、各未帰属ノードは、自身と相手との接続判定条件を比較し、根ノードに遷移するか、葉ノードに遷移するかを決定する。
【0037】
「バッテリー残量(残量小の確認)」では、自身のバッテリー残量(自残量)が閾値より少なく、かつ相手のバッテリー残量(相手残量)が閾値以上である場合には、葉ノード(第1の葉ノード)に遷移する(相手は根ノードに遷移する)。それ以外の場合には、「バッテリー残量(直接の確認)」に従う。閾値は、残量が少ないレベルを規定する。また、自身のバッテリー残量(自残量)が閾値より少なく、かつ相手のバッテリー残量(相手残量)も閾値より少ない場合には、処理終了(接続なし)としてもよい。
【0038】
「バッテリー残量(直接の確認)」では、自身のバッテリー残量(自残量)が相手のバッテリー残量(相手残量)より多い場合には、根ノードに遷移し、自身のバッテリー残量(自残量)が相手のバッテリー残量(相手残量)より少ない場合には、葉ノード(第1の葉ノード)に遷移する。
【0039】
上記の実施形態では、まず、「バッテリー残量(残量小の確認)」による接続判定を行い、次に「バッテリー残量(直接の確認)」による接続判定を行っている。しかし、これに限らず、「バッテリー残量(残量小の確認)」による接続判定のステップを省略し、「バッテリー残量(直接の確認)」による接続判定のみを行うようにしてもよい。
【0040】
図3Bには、P2Pネットワーク同士が遭遇した場合における接続条件(接続判定条件)を示している。接続条件としては、「相手先の接続状況(満杯か満杯でないか)」、「ノード数」、「階層数」、「クラスタ(NW)ID」を用意している。P2Pネットワーク同士が遭遇した場合、各P2Pネットワークの根ノードは、自身(自NW)と相手(相手NW)との接続判定条件を比較し、P2Pネットワークを解散するか否かを決定する。
【0041】
「相手先の接続状況」(優先度P1)では、相手のP2Pネットワークが満杯(接続不能)である場合には、P2Pネットワークを解散せずに処理を終了する。一方、相手のP2Pネットワークが満杯でない場合には、次の優先度の条件に従う。なお、「満杯」とは、接続許容数の子ノードがすでに接続済であることを指す。
【0042】
次の優先度の条件である「ノード数」(優先度P2)では、自機器(移動電子機器1)のP2Pネットワーク(自NW)のノード数が相手のP2Pネットワーク(相手NW)のノード数より大である場合には、自機器のP2Pネットワークを解散せずに処理を終了する。一方、自機器のP2Pネットワーク(自NW)のノード数が相手のP2Pネットワーク(相手NW)のノード数より小である場合には、自機器のP2Pネットワークを解散する(全ノードを未帰属ノードにする)。また、自機器のP2Pネットワーク(自NW)のノード数と相手のP2Pネットワーク(相手NW)のノード数とが等しい場合には、次の優先度の条件に従う。
【0043】
次の優先度の条件である「階層数」(優先度P3)では、自機器のP2Pネットワーク(自NW)の階層数が相手のP2Pネットワーク(相手NW)の階層数より小である場合には、自機器のP2Pネットワークを解散せずに処理を終了する。一方、自機器のP2Pネットワーク(自NW)の階層数が相手のネットワーク(相手NW)の階層数より大である場合には、自機器のP2Pネットワークを解散する(全ノードを未帰属ノードにする)。また、自機器のP2Pネットワーク(自NW)の階層数と相手のP2Pネットワーク(相手NW)の階層数とが等しい場合には、次の優先度の条件に従う。
【0044】
次の優先度の条件である「クラスタ(NW)ID」(優先度P4)では、自機器のP2PネットワークのクラスタID(自クラスタID)が相手のP2PネットワークのクラスタID(相手クラスタID)より大である場合には、自機器のP2Pネットワークを解散せずに処理を終了する。一方、自機器のP2PネットワークのクラスタID(自クラスタID)が相手のP2PネットワークのクラスタID(相手クラスタID)より小である場合には、自機器のP2Pネットワークを解散する(全ノードを未帰属ノードにする)。自機器のP2PネットワークのクラスタID(自クラスタID)は、各機器のP2Pネットワークにおいて固有値であり、他のP2PネットワークのクラスタIDと重複しない。
【0045】
本実施形態では、上記接続判定条件の順序(優先度)が「相手先の接続状況」→「ノード数」→「階層数」→「クラスタ(NW)ID」(P1<P2<P3<P4)となっている。しかし、接続判定条件の順序(優先度)はこれに限定されない。また、接続判定条件を増減してもよい。
【0046】
図4は、本実施形態による移動電子機器1の構成を示すブロック図である。
図4において、移動電子機器1は、タッチディスプレイ10、ユーザ情報処理部20、ネットワーク制御部30、通信部40、及び記憶部50から構成されている。
【0047】
タッチディスプレイ10は、操作部12、及び表示部14からなる。操作部12は、表示部14に重ねて設けられており、ユーザによるタッチ操作を入力する。
【0048】
表示部14は、液晶表示器や有機EL表示器などからなる。表示部14は、操作部12のタッチ操作に連動するアイコンや各種データ、グラフィックなどを表示する。
【0049】
ユーザ情報処理部20は、当該移動電子機器1で提供し得るアプリケーション(プログラム)によりユーザ情報(音楽、画像、動画など)を処理する。
【0050】
ネットワーク制御部30は、接続制御部32、遷移制御部34、トポロジー制御部36、及び接近検出部38からなる。
【0051】
接続制御部32は、後述するサーチ部42によって見つかった他の移動電子機器1との接続を制御する。より具体的には、接続制御部32は、当該移動電子機器1が未帰属ノード1aとして機能している場合に、P2Pネットワークにおける根ノード1b、もしくは枝ノード1eとして機能している他の移動電子機器1が見つかったときは、当該他の移動電子機器1との接続を制御する。
【0052】
また、接続制御部32は、当該移動電子機器1が、あるP2Pネットワークにおける根ノード1aとして機能している場合に、他のP2Pネットワークにおける根ノード1aとして機能している他の移動電子機器1が見つかったときは、
図3Bに示す、所定の接続判定条件に応じて、当該P2Pネットワークにおける他の移動電子機器1の接続を解除するように制御する。また、接続制御部32は、当該移動電子機器1が根ノード1bとして機能している場合に、有線接続によって、他のP2Pネットワークにおける根ノード1bとの有線接続を制御する。
【0053】
また、接続制御部32は、当該移動電子機器1が未帰属ノード1aとして機能している場合に、未帰属ノード1aとして機能している他の移動電子機器1が見つかったときは、第1の接続制御として、当該他の移動電子機器1に接続し、第2の接続制御として、第1の接続制御によって接続した当該他の移動電子機器1との接続を解除し、第3の接続制御として、第2の接続制御によって接続を解除した当該他の移動電子機器1に再接続するように制御する。
【0054】
接続制御部32は、第1の接続制御の実行後、接続した他の移動電子機器1との通信量に基づいて、第2の接続制御、及び第3の接続制御を実行する。しかし、接続制御部32は、第1の接続制御の実行後、直ちに、第2の接続制御、及び第3の接続制御を実行するようにしてもよい。
【0055】
また、接続制御部32は、第1の接続制御の実行後に、当該移動電子機器1が第1の葉ノード1cとして機能している場合に、自機器の直下に子ノードの接続を要するときに、第2の接続制御、及び第3の接続制御を実行するようにしてもよい。
【0056】
接続制御部32は、第1のプロトコル(Wi−Fi P2P)に従って第1の接続制御を実行し、第2のプロトコル(IEEE802.11)に従って第3の接続制御を実行する。
【0057】
遷移制御部34は、当該移動電子機器1を、未帰属ノード1a、根ノード1b、第1の葉ノード1c、第2の葉ノード1d、あるいは枝ノード1eのどの動作状態に遷移するかを制御する。より具体的には、遷移制御部34は、接続制御部32により上記第1の接続制御が実行された後、未帰属ノード1aから根ノード1b、または第1の葉ノード1cに自機器を遷移させる。また、遷移制御部34は、第1の接続制御の実行後に根ノード1bとして機能している場合には、接続制御部32により第2の接続制御が実行された後、根ノード1bの状態を維持する。
【0058】
また、遷移制御部34は、第1の接続制御の実行後に第1の葉ノード1cとして自機器が機能している場合には、接続制御部32による第2の接続制御の実行後、第1の葉ノード1cから未帰属ノード1aに自機器を遷移させる。また、遷移制御部34は、第2の接続制御の実行後に自機器が根ノード1bとして機能している場合には、接続制御部32により第3の接続制御が実行された後、根ノード1bの状態を維持する。さらに、遷移制御部34は、第2の接続制御の実行後に自機器が未帰属ノード1aとして機能している場合には、接続制御部32により第3の接続制御が実行された後、未帰属ノード1aから第2の葉ノード1dに自機器を遷移させる。
【0059】
トポロジー制御部36は、P2Pネットワークのトポロジーを制御する。より具体的には、トポロジー制御部36は、自機器が根ノード1bとして機能している場合には、配下の各ノードに対する、未帰属ノード1aとして機能している他の移動電子機器1の接続の許否を制御する。トポロジー制御部36は、自機器が枝ノード1e、または第2の葉ノード1dとして機能している場合には、根ノード1bの制御に従って、自機器に対する、未帰属ノード1aとして機能している他の移動電子機器1の接続の許否を制御する。
【0060】
また、トポロジー制御部36は、自機器が根ノード1bとして機能している場合に、直下の子ノードの数が所定数に達する前は、自機器に対する、未帰属ノード1aとして機能している他の移動電子機器1の接続を許可するように制御するとともに、自機器の配下の各ノードに対する、未帰属ノード1aとして機能している他の移動電子機器1の接続を拒否するように制御する。
【0061】
また、トポロジー制御部36は、自機器が根ノード1bとして機能している場合に、直下の子ノードの数が所定数に達した後は、自機器に対する、未帰属ノード1aとして機能している他の移動電子機器1の接続を拒否するように制御するとともに、自機器の配下のノードに対する、未帰属ノード1aとして機能している他の移動電子機器1の接続を許可するように制御する。
【0062】
また、トポロジー制御部36は、未帰属ノード1aとして機能していた他の移動電子機器1を接続して、枝ノード1eとして機能している場合に、自機器と同一階層の第2の葉ノード1d、または枝ノード1eとして機能している他の移動電子機器1がP2Pネットワークから離脱したときは、P2Pネットワーク(のトポロジー)を再構築しないようになっている。
【0063】
また、トポロジー制御部36は、自機器が根ノード1bとして機能している場合に、根ノード1bとして機能している自機器、または、自機器の配下において枝ノード1e、もしくは第2の葉ノード1dとして機能している、ある1つの他の移動電子機器1に対し、未帰属ノード1aとして機能している他の移動電子機器1の接続を許可するように制御する。
【0064】
接近検出部38は、自機器が未帰属ノード1aとして機能している場合には、接続可能な根ノード1b、枝ノード1eをサーチする。このサーチの結果、何れのノードも見つからなかった場合に、接続可能な未帰属ノード1aをサーチする。また、接近検出部38は、自機器が枝ノード1e、もしくは第2の葉ノード1dとして機能している場合に、他の移動電子機器1(例えば、未帰属ノード1aとして機能している他の移動電子機器1)の接近を検出する。また、接近検出部38は、自機器が根ノード1bとして機能している場合に、他の移動電子機器1の接近を検出してもよい。
【0065】
自機器が枝ノード1e、もしくは第2の葉ノード1dとして機能している場合には、根ノード1bの制御に従って、接近検出部38により他の移動電子機器1の接近を検出するようにしてもよい。換言すれば、自機器が根ノード1bとして機能している場合には、例えば、定期的(周期的)に、枝ノード1e、または、第2の葉ノード1dに対し、接近検出部38により他の移動電子機器1の接近を検出するように制御してもよい。
【0066】
通信部40は、サーチ部42、接続情報送受信部44、及びユーザ情報送受信部46からなる。
【0067】
サーチ部42は、所定の通信範囲に存在する他の接続可能な移動電子機器1を探索する。また、このサーチ部42は、自機器が、未帰属ノード1aとして機能している他の移動電子機器1の接続を許可された第2の葉ノード1dとして機能している場合には、根ノード1bとして機能している場合に比べ、より少ない頻度で他の移動電子機器1をサーチするようになっている。
【0068】
接続情報送受信部44は、他の移動電子機器1との間で接続情報(バッテリー残量に関する情報、接続ノード数に関する情報、階層数に関する情報、クラスタIDに関する情報など)を送受信する。
【0069】
ユーザ情報送受信部46は、他の移動電子機器との間で、ユーザ情報(音楽、画像、動画など)を送受信する。
【0070】
図5は、本実施形態による移動電子機器1の動作を説明するためのフローチャートである。移動電子機器1(未帰属ノード)は、電源が投入されると、まず、サーチ部42により、接続可能なノードを探索する(ステップS10)。これにより、接続可能なノードが発見されたか否かを判別する(ステップS12)。接続可能なノードが見つからない場合には(ステップS12のNO)、当該処理を終了する。
【0071】
一方、サーチ部42によって接続可能なノードが発見された場合には(ステップS12のYES)、発見されたノードが未帰属ノードであるか否かが判別される(ステップS14)。発見されたノードが未帰属ノードである場合には(ステップS14のYES)、自身のバッテリー残量(自バッテリー残量)が閾値より小であり、かつ相手のバッテリー残量(相手バッテリー残量)が閾値以上であるか否かが判別される(ステップS16)。
【0072】
自身のバッテリー残量(自バッテリー残量)が閾値より大である場合、あるいは、相手のバッテリー残量(相手バッテリー残量)が閾値以上でない場合には(ステップS16のNO)、自身のバッテリー残量(自バッテリー残量)が相手のバッテリー残量(相手バッテリー残量)より大であるか否かが判別される(ステップS22)。
【0073】
自身のバッテリー残量(自バッテリー残量)が相手のバッテリー残量(相手バッテリー残量)より大である場合には(ステップS22のYES)、第1のプロトコル(Wi−Fi P2P)に従って、相手の未帰属ノードと接続し(ステップS24)、未帰属ノードから根ノードに遷移する(ステップS26)。その後、当該処理を終了する。
【0074】
一方、自身のバッテリー残量(自バッテリー残量)が閾値より小であり、かつ相手のバッテリー残量(相手バッテリー残量)が閾値以上である場合(ステップS16のYES)、あるいは、前述の条件は満たさないが(ステップS16のNO)、自身のバッテリー残量(自バッテリー残量)が相手のバッテリー残量(相手バッテリー残量)より小である場合には(ステップS22のNO)、第1のプロトコル(Wi−Fi P2P)に従って、相手の未帰属ノードと接続し(ステップS28)、未帰属ノードから第1の葉ノードに遷移する(ステップS30)。その後、当該処理を終了する。
【0075】
一方、発見されたノードが未帰属ノードではなく、P2Pネットワークの接続可能なノード(根ノード、枝ノード、第2の葉ノード)であった場合には(ステップS14のNO)、第2のプロトコル(IEEE802.11)に従って、P2Pネットワーク(NW)の接続可能なノード(根ノード、第2の葉ノード、または枝ノード)に接続し(ステップS32)、未帰属ノードから第2の葉ノードに遷移する(ステップS34)。その後、当該処理を終了する。
【0076】
図6は、本実施形態による移動電子機器1(第1の葉ノード)の動作を説明するためのフローチャートである。上述した移動電子機器1において、根ノードに対して、第1の葉ノードとして接続された移動電子機器1は、定期的に
図6に示すフローチャートを実行する。移動電子機器1(第1の葉ノード)は、現在の通信量が所定値より多いか否かを判別する(ステップS40)。そして、現在の通信量が所定値より多い場合には(ステップS40のYES)、現在の動作状態(第1の葉ノード:他の移動電子機器と接続不能なノード)を維持したまま、当該処理を終了する。
【0077】
一方、現在の通信量が所定値より少ない場合には(ステップS40のNO)、一旦、親ノード(根ノード)との接続を解除し(ステップS42)、第1の葉ノードから未帰属ノードに遷移する(ステップS44)。次に、第2のプロトコル(IEEE802.11)に従って、親ノード(根ノード)に再接続し(ステップS46)、未帰属ノードから第2の葉ノード(他の移動電子機器と接続不能であるが、枝ノードに遷移可能なノード)に遷移する(ステップS48)。その後、当該処理を終了する。
【0078】
図7A〜
図7Fは、本実施形態において、未帰属ノード同士が遭遇した場合の動作を説明するための概念図である。
【0079】
図7Aに示すように、未帰属ノード1−1が単独で存在する。そこに、
図7Bに示すように、他の未帰属ノード1−2が近づいてくる。互いに、相手の未帰属ノードを検出すると、上述した
図3Aに示す接続判定条件に従って、自身が親ノードである根ノードになるか、子ノードである第1の葉ノードになるかを判別する。そして、
図7Cに示すように、未帰属ノード1−1が根ノードに遷移し、未帰属ノード1−2が第1のプロトコル(Wi−Fi P2P)に従って根ノードに接続し(第1の接続制御)、第1の葉ノードに遷移している。
【0080】
第1の葉ノード1−2は、上述した
図6に示すフローチャートに従って、通信量が所定値より少なくなると、
図7Dに示すように、根ノード1−1との接続を一旦解除し(第2の接続制御)、
図7Eに示すように、未帰属ノード1−2に遷移する。次に、この未帰属ノード1−2は、
図7Fに示すように、第2のプロトコル(IEEE802.11)に従って、根ノード1−1に再接続し(第3の接続制御)、未帰属ノードから第2の葉ノード(他の移動電子機器と接続不能であるが、枝ノードに遷移可能なノード)に遷移する。
【0081】
このとき、根ノード1−1は、あと2つ(白い四角□の数)の子ノードを接続可能(空状態)である。本実施形態では、上位階層から子ノードを埋めていくように接続制御する。そのため、この時点では第2の葉ノード1−2を枝ノードに遷移させずに接続不能とする。
【0082】
次に、
図8Aから
図8Gを参照して、
図7Cに示す状態から他の移動電子機器(未帰属ノード)が接続されていく様子を説明する。
【0083】
図8A及び
図8Bは、本実施形態において、
図7Cの状態で、他の移動電子機器(未帰属ノード)1−3が近づいてきた場合の接続例を示す概念図である。
図8Aに示すように、根ノード1−1に、第1のプロトコル(Wi−Fi P2P)に従って、第1の葉ノード1−2が接続した状態で、未帰属ノード1−3が近づいてくる。この場合、
図8Bに示すように、未帰属ノード1−3は、根ノード1−1に、第2のプロトコルに従って接続し、第2の葉ノード1−3に遷移する。
【0084】
このとき、根ノード1−1は、あと1つ(白い四角□の数)の子ノードを接続可能(空状態)である。本実施形態では、上位階層から子ノードを埋めていくように接続制御する。そのため、根ノード1−1は、第2の葉ノード1−3を枝ノードに遷移させずに接続不能とする。
【0085】
図8C及び
図8Dは、本実施形態において、
図8Bの状態で、他の移動電子機器(未帰属ノード)1−4が近づいてきた場合の接続例を示す概念図である。
図8Cに示すように、根ノード1−1に、第1のプロトコル(Wi−Fi P2P)に従って、第1の葉ノード1−2が接続し、第2のプロトコル(IEEE802.11)に従って、第2の葉ノード1−3が接続した状態で、未帰属ノード1−4が近づいてくる。この場合、
図8Dに示すように、未帰属ノード1−4は、根ノード1−1に、第2のプロトコルに従って接続し、第2の葉ノード1−4に遷移する。
【0086】
このとき、根ノード1−1は、自身に3つの子ノードが接続されたので、接続不能(満状態)とするとともに、第2の葉ノード1−3、1−4のいずれか1つを枝ノードに遷移させて接続可能(空状態)とし、他方を枝ノードに遷移させずに接続不能とする。ここでは、根ノード1−1は、第2の葉ノード1−3を枝ノード1−3に遷移させて接続可能(空状態)とし、第2の葉ノード1−4を枝ノードに遷移させずに接続不能としている。
【0087】
図8Eは、本実施形態において、
図8Dの状態で、他の移動電子機器(未帰属ノード)1−5が近づいてきた場合の接続例を示す概念図である。
図8Dに示す状態で、未帰属ノード1−5が近づいてくると、
図8Eに示すように、未帰属ノード1−5は、枝ノード1−3に、第2のプロトコルに従って接続し、第2の葉ノード1−5に遷移する。
【0088】
このとき、根ノード1−1は、枝ノード1−3がまだ接続可能(空状態)であるので、第2の葉ノード1−5を枝ノードに遷移させずに接続不能とする。これにより、第2の葉ノード1−5の下層に、子ノードが無用に接続されるのを防止することができる。
【0089】
図8Fは、本実施形態において、
図8Eの状態で、他の移動電子機器(未帰属ノード)1−6、1−7が近づいてきた場合の接続例を示す概念図である。
図8Eに示す状態で、他の移動電子機器(未帰属ノード)1−6、1−7が近づいてくると、
図8Fに示すように、未帰属ノード1−6、1−7は、枝ノード1−3に、第2のプロトコルに従って接続し、第2の葉ノード1−6、1−7に遷移する。このとき、根ノード1−1は、枝ノード1−3が接続不能(満状態)となったので、可能な限り上位層で子ノードが接続されるように、第2の葉ノード1−4を枝ノード1−4に遷移させて接続可能(空状態)とし、第2の葉ノード1−5、1−6、1−7を枝ノードに遷移させずに接続不能とする。これにより、第2の葉ノード1−5、1−6、1−7の下層に、子ノードが無用に接続されるのを防止することができる。
【0090】
図8Gは、本実施形態において、
図8Fの状態で、他の移動電子機器(未帰属ノード)1−8、1−9、1−10が近づいてきた場合の接続例を示す概念図である。
図8Fに示す状態で、他の移動電子機器(未帰属ノード)1−8、1−9、1−10が近づいてくると、
図8Gに示すように、未帰属ノード1−8、1−9、1−10は、枝ノード1−4に、第2のプロトコルに従って接続し、第2の葉ノード1−8、1−9、1−10に遷移する。
【0091】
本実施形態によれば、
図8Aから
図8Gを参照して説明したように、P2Pネットワークは、Rank=1〜3の3つの階層に制限される。そのため、通信性能の低下を抑制しつつ、P2Pネットワークを構成することができる。また、P2Pネットワークの構築過程においても、可能な限り、上位層から子ノードを接続していくようにしたので、効率的にP2Pネットワークを構成することができる。また、子ノードを接続可能なノードが同時に複数ある場合も通信性能が低下することがある。しかし、本実施形態では、子ノードを接続可能なノードが常に1つである。そのため、通信性能の低下を抑制しつつ、P2Pネットワークを構成することができる。
【0092】
次に、
図9Aから
図9Gを参照して、
図7Fに示す状態から他の移動電子機器(未帰属ノード)が接続されていく様子を説明する。
【0093】
図9A及び
図9Bは、本実施形態において、
図7Fの状態で、他の移動電子機器(未帰属ノード)1−3が近づいてきた場合の接続例を示す概念図である。
図9Aに示すように、根ノード1−1に、第2のプロトコル(IEEE802.11)に従って、第2の葉ノード1−2が接続した状態で、未帰属ノード1−3が近づいてくる。この場合、
図9Bに示すように、未帰属ノード1−3は、根ノード1−1に、第2のプロトコルに従って接続し、第2の葉ノード1−3に遷移する。
【0094】
このとき、根ノード1−1は、あと1つ(白い四角□の数)の子ノードを接続可能(空状態)である。本実施形態では、上位階層から子ノードを埋めていくように接続制御する。そのため、根ノード1−1は、第2の葉ノード1−3を枝ノードに遷移させずに接続不能とする。
【0095】
図9C及び
図9Dは、本実施形態において、
図9Bの状態で、他の移動電子機器(未帰属ノード)1−4が近づいてきた場合の接続例を示す概念図である。
図9Cに示すように、根ノード1−1に、第2のプロトコル(IEEE802.11)に従って、第2の葉ノード1−2、及び第2の葉ノード1−3が接続した状態で、未帰属ノード1−4が近づいてくる。この場合、
図9Dに示すように、未帰属ノード1−4は、根ノード1−1に、第2のプロトコルに従って接続し、第2の葉ノード1−4に遷移する。
【0096】
このとき、根ノード1−1は、自身に3つの子ノードが接続されたので、接続不能(満状態)となり、第2の葉ノード1−2を枝ノード1−2に遷移させて接続可能(空状態)とし、第2の葉ノード1−3、1−4を枝ノードに遷移させずに接続不能とする。
【0097】
図9Eは、本実施形態において、
図9Dの状態で、他の移動電子機器(未帰属ノード)1−5が近づいてきた場合の接続例を示す概念図である。
図9Dに示す状態で、未帰属ノード1−5が近づいてくると、
図9Eに示すように、未帰属ノード1−5は、枝ノード1−2に、第2のプロトコルに従って接続し、第2の葉ノード1−5に遷移する。このとき、根ノード1−1は、枝ノード1−2がまだ接続可能(空状態)であるので、第2の葉ノード1−5を枝ノードに遷移させずに接続不能とする。これにより、第2の葉ノード1−5の下層に、子ノードが無用に接続されるのを防止することができる。
【0098】
図9Fは、本実施形態において、
図9Eの状態で、他の移動電子機器(未帰属ノード)1−6、1−7が近づいてきた場合の接続例を示す概念図である。
図9Eに示す状態で、他の移動電子機器(未帰属ノード)1−6、1−7が近づいてくると、
図9Fに示すように、未帰属ノード1−6、1−7は、枝ノード1−2に、第2のプロトコルに従って接続し、第2の葉ノード1−6、1−7に遷移する。このとき、根ノード1−1は、枝ノード1−2が接続不能(満状態)となったので、可能な限り上位層で子ノードが接続されるように、第2の葉ノード1−3を枝ノード1−3に遷移させて接続可能(空状態)とし、第2の葉ノード1−5、1−6、1−7を枝ノードに遷移させずに接続不能とする。これにより、第2の葉ノード1−5、1−6、1−7の下層に、子ノードが無用に接続されるのを防止することができる。
【0099】
図9Gは、本実施形態において、
図9Fの状態で、他の移動電子機器(未帰属ノード)1−8、1−9、1−10、1−11、1−12、1−13が近づいてきた場合の接続例を示す概念図である。
図9Fに示す状態で、まず、他の移動電子機器(未帰属ノード)1−8、1−9、1−10が近づいてくると、
図9Gに示すように、未帰属ノード1−8、1−9、1−10は、枝ノード1−3に、第2のプロトコルに従って接続し、第2の葉ノード1−8、1−9、1−10に遷移する。この段階で、根ノード1−1は、第2の葉ノード1−4を枝ノード1−4に遷移させて接続可能(空状態)とし、第2の葉ノード1−8、1−9、1−10を枝ノードに遷移させずに接続不能とする。
【0100】
次に、他の移動電子機器(未帰属ノード)1−11、1−12、1−13が近づいてくると、未帰属ノード1−11、1−12、1−13は、枝ノード1−4に、第2のプロトコルに従って接続し、第2の葉ノード1−11、1−12、1−13に遷移する。このとき、根ノード1−1は、第2の葉ノード1−11、1−12、1−13を枝ノードに遷移させずに接続不能とする。
【0101】
本実施形態によれば、
図9Aから
図9Gを参照して説明したように、P2Pネットワークは、Rank=1〜3の3つの階層に制限される。そのため、通信性能の低下を抑制しつつ、P2Pネットワークを構成することができる。また、P2Pネットワークの構築過程においても、可能な限り、上位層から子ノードを接続していくようにしたので、効率的にP2Pネットワークを構成することができる。また、子ノードを接続可能なノードが同時に複数ある場合も通信性能が低下することがある。しかし、本実施形態では、子ノードを接続可能なノードが常に1つである。そのため、通信性能の低下を抑制しつつ、P2Pネットワークを構成することができる。
【0102】
さらに、第1のプロトコル(Wi−Fi P2P)で接続された第1の葉ノード1−2を、通信量が少ないときに、第2のプロトコル(IEEE802.11)で第2の葉ノード1−2として再接続することで、(1つの親ノードが3つの子ノードを接続可能で、かつ3階層の場合)、合計13個の移動電子機器1でP2Pネットワークを構築することができる。
【0103】
次に、複数の移動電子機器1により構成されるP2Pネットワーク同士が遭遇した場合に、どのようにしてP2Pネットワークを再構築するかについて説明する。
【0104】
図10は、本実施形態において、P2Pネットワーク同士が遭遇した場合において、P2Pネットワークを再構築する方法について説明するためのフローチャートである。P2Pネットワーク同士が遭遇した場合、それぞれのP2Pネットワークにおける根ノードが、
図10に示すフローチャートを実行する。
【0105】
根ノードは、まず、
図3Bに示す、所定の判定条件に応じたパラメータ(「相手先の接続状況」、「ノード数」、「階層数」、及び「クラスタ(NW)ID」)を交換する(ステップS50)。次に、相手先の接続状況に基づいて、相手のP2Pネットワークは満杯であるか否かを判別する(ステップ52)。そして、相手のP2Pネットワークが満杯である場合には(ステップS52のYES)、P2Pネットワークの再構築自体が大きな負荷となるので、P2Pネットワークの再構築せずに、当該処理を終了する。
【0106】
一方、相手のP2Pネットワークが満杯でない場合には(ステップS52のNO)、ノード数に基づいて、自身のP2Pネットワークと相手のP2Pネットワークのノード数を比較し(ステップS54)、自身のP2Pネットワークと相手のP2Pネットワークのノード数が同数であるか否かを判別する(ステップS56)。自身のP2Pネットワークと相手のP2Pネットワーク双方のノード数が同数でない場合(ステップS56のNO)、相手のP2Pネットワークのノード数よりも自身のP2Pネットワークのノード数の方が少ないか否かを判別する(ステップS58)。自身のP2Pネットワークのノード数の方が相手のP2Pネットワークのノード数よりも少ない場合には(ステップS58のYES)、自身のP2Pネットワークを解散(全てのノードの接続を解除)し(ステップS70)、当該処理を終了する。一方、自身のP2Pネットワークのノード数の方が相手のP2Pネットワークのノード数よりも少なくない場合(即ち、多い場合)には(ステップS58のNO)、自身のP2Pネットワークを解散せずに、当該処理を終了する。
【0107】
接続が解除された移動電子機器1は、未帰属ノード1aとなるので、前述した
図5に示すフローチャートに従って、相手のP2Pネットワークに接続され、P2Pネットワークが再構築されることになる。
【0108】
一方、自身のP2Pネットワークと相手のP2Pネットワーク双方のノード数が同数である場合(ステップS56のYES)、自身のP2Pネットワークと相手のP2Pネットワークの階層数を比較し(ステップS60)、自身のP2Pネットワークと相手のネットワークの階層数が同数であるか否かを判別する(ステップS62)。自身のP2Pネットワークと相手のP2Pネットワーク双方の階層数が同数でない場合(ステップS62のNO)、相手のP2Pネットワークの階層数よりも自身のP2Pネットワークの階層数の方が多いか否かを判別する(ステップS64)。自身のP2Pネットワークの階層数の方が相手のP2Pネットワークの階層数よりも多い場合には(ステップS64のYES)、自身のP2Pネットワークを解散(全てのノードの接続を解除)し(ステップS70)、当該処理を終了する。一方、自身のP2Pネットワークの階層数の方が相手のP2Pネットワークの階層数よりも多くない場合(即ち、少ない場合)には(ステップS64のNO)、自身のP2Pネットワークを解散せずに、当該処理を終了する。
【0109】
接続が解除された移動電子機器1は、未帰属ノード1aとなるので、前述した
図5に示すフローチャートに従って、相手のP2Pネットワークに接続され、P2Pネットワークが再構築されることになる。これにより、再構築後の階層数を少なくすることができる。
【0110】
一方、自身のP2Pネットワークと相手のP2Pネットワーク双方の階層数が同数である場合(ステップS62のYES)、自身のP2Pネットワークと相手のP2PネットワークのIDを比較し(ステップS66)、自身のP2PネットワークのIDの方が相手のP2PネットワークのIDよりも小さいか否かを判別する(ステップS68)。相手のP2PネットワークのIDよりも自身のP2PネットワークのIDの方が小さい場合には(ステップS68のYES)、自身のP2Pネットワークを解散(全てのノードの接続を解除)し(ステップS70)、当該処理を終了する。一方、相手のP2PネットワークのIDよりも自身のP2PネットワークのIDの方が小さくない場合(即ち、大きい場合)には(ステップS68のNO)、身のP2Pネットワークを解散せずに、当該処理を終了する。
【0111】
接続が解除された移動電子機器1は、未帰属ノード1aとなるので、前述した
図5に示すフローチャートに従って、相手のP2Pネットワークに接続され、P2Pネットワークが再構築されることになる。これにより、何れかのP2Pネットワークを解散し、再構築することができる。
【0112】
図11から
図13は、本実施形態において、P2Pネットワーク同士が遭遇した場合に、P2Pネットワークを再構築する一例を説明するための概念図である。
【0113】
まず、
図11に示すように、2つのP2PネットワークNW1、NW2が遭遇すると仮定する。P2PネットワークNW1では、根ノード1−1に対して、第1の葉ノード1−2、枝ノード1−3、及び第2の葉ノード1−4が接続されている。また、上記枝ノード1−3に第2の葉ノード1−5が接続されている。
【0114】
一方、P2PネットワークNW2では、根ノード1−21に対して、枝ノード1−22、枝ノード1−23、及び第2の葉ノード1−24が接続されている。また、上記枝ノード1−22に対して、第2の葉ノード1−25、1−26、1−27が接続されている。
【0115】
したがって、
図11に示す例では、P2PネットワークNW1のノード数は根ノード1−1を含めて「5」であり、P2PネットワークNW2のノード数は根ノード1−21を含めて「7」である。このため、上述した
図3Bに示す接続判定条件、及び
図10に示すフローチャートに従えば、P2PネットワークNW1において、自身のP2Pネットワークを解散することになる。したがって、P2PネットワークNW1は、
図12に示すように、全てのノードの接続を解除し、未帰属ノード1−1〜1−5となる。P2PネットワークNW2は、P2Pネットワークを解散することなく、そのままの状態を保つ。
【0116】
次に、上記未帰属ノード1−1〜1-5は、前述した
図5に示すフローチャートに従って、
図13に示すように、P2PネットワークNW2に接続されることになる。まず、未帰属ノード1−1〜1−3が、
図13に示すように、P2PネットワークNW2の接続可能(空状態)である枝ノード1−23に接続し、第2の葉ノード1−1〜1−3に遷移する。
【0117】
次いで、
図12に示す第2の葉ノード1−24が枝ノード1−24に遷移して接続可能(空状態)になる。そして、未帰属ノード1−4、1−5が、
図13に示すように、この枝ノード1−24に接続し、第2の葉ノード1−4、1−5に遷移する。以上で、P2PネットワークNW1、NW2が遭遇した際の再構築が終了する。
【0118】
図14から
図16は、本実施形態において、P2Pネットワーク同士が遭遇した場合に、P2Pネットワークを再構築する他の例を説明するための概念図である。
【0119】
まず、
図14に示すように、2つのP2PネットワークNW3、NW4が遭遇すると仮定する。P2PネットワークNW3では、根ノード1−1に対して、枝ノード1−2、第2の葉ノード1−3、及び第2の葉ノード1−4が接続されている。
【0120】
一方、P2PネットワークNW4では、根ノード1−31に対して、枝ノード1−32、第2の葉ノード1−34が接続されている。また、上記枝ノード1−32に対して、第2の葉ノード1−35が接続されている。
【0121】
したがって、
図14に示す例では、P2PネットワークNW3のノード数は根ノード1−1を含めて「4」、P2PネットワークNW4のノード数も根ノード31−1を含めて「4」である。一方、P2PネットワークNW3の階層数は「2」であり、P2PネットワークNW4の階層数は「3」である。このため、上述した
図3Bに示す接続判定条件、及び
図10に示すフローチャートに従えば、階層数が多いP2PネットワークNW4において、自身のP2Pネットワークを解散することになる。したがって、P2PネットワークNW4は、
図15に示すように、全てのノードの接続を解除し、未帰属ノード1−31、1−32、1−34、1-35となる。P2PネットワークNW3は、ネットワークを解散することなく、そのままの状態を保つ。
【0122】
次に、上記未帰属ノード1−31、1−32、1−34、1-35は、前述した
図5に示すフローチャートに従って、
図16に示すように、P2PネットワークNW3に接続されることになる。まず、未帰属ノード1−31、1−32、1−34が、
図16に示すように、P2PネットワークNW3の接続可能(空状態)である枝ノード1−2に接続し、第2の葉ノード1−31、1−32、1−34に遷移する。
【0123】
次いで、
図15に示す第2の葉ノード1−3が枝ノード1−3に遷移して接続可能(空状態)になる。未帰属ノード1−35が、
図16に示すように、この枝ノード1−3に接続し、第2の葉ノード1-35に遷移する。以上で、P2PネットワークNW3、NW4が遭遇した際の再構築が終了する。
【0124】
図17A及び
図17Bは、本実施形態において、P2Pネットワークの再構築例の変形例を説明するための概念図である。
図17A及び
図17Bには、P2Pネットワークを構成する移動電子機器(ノード)が離脱した場合のネットワークの再構築について示している。
【0125】
図17Aに示すように、P2Pネットワークにおいては、根ノード1−1に、枝ノード1−2、枝ノード1−3、第2の葉ノード1−4が接続されている。また、上記枝ノード1−2に、第2の葉ノード1−5、1−6、1−7が接続されている。この状態で、
図17Bに示すように、枝ノード1−2と同一階層の第2の葉ノード(または枝ノード)として機能している移動電子機器がP2Pネットワークから離脱したときは、P2Pネットワークを再構築しない。
【0126】
つまり、
図17Bに示す状態で、Rank=3の階層における第2の葉ノード1−5〜1−7のいずれかを一旦切断し、根ノード1−1に再接続すれば、階層の点からみると、深い階層のノードが少なくなるので、P2Pネットワークとしては負担が軽減される。しかしながら、再構築することによる負担に比べると、その効果は少ない。
【0127】
よって、このように、未帰属ノード1aとして機能していた他の移動電子機器を接続して、枝ノード1eとして自機器が機能している場合に、この自機器と同一階層の葉ノード、または枝ノードとして機能している他の移動電子機器1が、P2Pネットワークから離脱した場合には、P2Pネットワークを再構築しない方がよい。
【0128】
図18A及び
図18Bは、本実施形態において、P2Pネットワークの再構築例の他の変形例を説明するための概念図である。P2Pネットワークと新たにこのP2Pネットワークに加わろうとする未帰属ノード1aとの位置関係や、周囲の環境(建物の配置)によっては、未帰属ノード1aがP2Pネットワークに十分に近接しても、接続可能(空状態)の枝ノード1eなどに接続できない場合がある。
【0129】
図18Aは、開けた場所から未帰属ノード1−6が、開けた場所にあるP2Pネットワークに近づいてきた一方で、建物に挟まれた道路から未帰属ノード1−7が、開けた場所にあるP2Pネットワークに近づいてきた場合を示している。P2Pネットワークは、根ノード1−1(満)に、枝ノード1−2(空)、第2の葉ノード1−3、1−4が接続されている。また、上記枝ノード1−2に第2の葉ノード1−5が接続されている。
【0130】
したがって、未帰属ノード1−6、1−7は、枝ノード1−2にのみ接続可能である。
【0131】
未帰属ノード1−6は、開けた場所から近づいているので、接続可能(空状態)な枝ノード1−2を発見することができる。ゆえに、未帰属ノード1−6は、
図18Bに示すように、枝ノード1−2に接続され、第2の葉ノード1−6に遷移する。
【0132】
一方、未帰属ノード1−7は、建物に挟まれた道路から近づいている。そのため、接続可能(空状態)な枝ノード1−2を発見することができない。このため、P2Pネットワークに十分近づいたとしても接続することができないという不具合を生じてしまう。
【0133】
そこで、本実施形態では、葉ノードとして機能している移動電子機器1(図示の例では、第2の葉ノード1−4)は、接近検出部38により、未帰属ノード1−7として機能している他の移動電子機器1の接近を検出すると、枝ノード1−4に遷移して接続可能(空状態)なノードに切り替わる。これにより、未帰属ノード1−7は、
図18Bに示すように、枝ノード1−4に接続することが可能となる。枝ノード1−4に接続後、未帰属ノード1−7は、第2の葉ノード1−7に遷移する。
【0134】
図19は、本実施形態において、P2Pネットワーク同士が遭遇した場合における他の変形例を説明するための概念図である。ここでは、
図14と同様に、
図19に示すように、2つのP2PネットワークNW3、NW4が遭遇すると仮定する。P2PネットワークNW3では、根ノード1−1に対して、枝ノード1−2、第2の葉ノード1−3、及び第2の葉ノード1−4が接続されている。一方、P2PネットワークNW4では、根ノード1−31に対して、枝ノード1−32、第2の葉ノード1−34が接続されている。また、上記枝ノード1−32に対して、第2の葉ノード1−35が接続されている。
【0135】
図14に示す例では、P2PネットワークNW4におけるノードの接続を解除して再構築した。しかし、
図19に示すように、根ノード1−1、1−31が、コンカレントオペレーションを使用してアクセスポイントAPに接続し、さらに、アクセスポイントAPを介して、サーバ100と接続することで、有線接続によって、P2PネットワークNW3、NW4における根ノード1−1、1−31同士を接続するようにしてもよい。コンカレントオペレーションは、第1のプロトコルと第2のプロトコルとを同時に動作させるものである。この場合、ノードの接続を解除して再構築する必要がない。
【0136】
上述した実施形態において、P2Pネットワーク同士が遭遇した場合、それぞれのP2Pネットワークの根ノード1bとして機能している移動電子機器1の接続制御部32は、
図3Bに示す接続判定条件に基づいて、自身のP2Pネットワークにおける他の移動電子機器1の接続を解除するか否かを決定している。しかし、これ以外にも、他の接続判定条件として、例えば、自身のバッテリー残量が、他のP2Pネットワークにおける根ノード1bのバッテリー残量よりも少ない場合に、当該P2Pネットワークにおける他の移動電子機器の接続を解除するように制御してもよい。
【0137】
また、接続制御部32は、他の所定の接続判定条件として、自身のバッテリー残量、及びバッテリーの減少速度に基づくバッテリー不足になるまでの時間が、他のP2Pネットワークにおける根ノード1bのバッテリー残量、及びバッテリーの減少速度に基づくバッテリー不足になる迄の時間よりも短い場合に、当該P2Pネットワークにおける接続を解除するように制御してもよい。
【0138】
また、接続制御部32は、他の所定の接続判定条件として、自身の受信強度が、他のP2Pネットワークにおける根ノード1bの受信強度よりも少ない場合に、当該P2Pネットワークにおける接続を解除するように制御してもよい。
【0139】
また、接続制御部32は、他の所定の接続判定条件として、自身に格納されたソフトウェアのバージョンが、他のP2Pネットワークにおける根ノード1bに格納されたソフトウェアのバージョンよりも古い場合に、当該P2Pネットワークにおける接続を解除するように制御してもよい。
【0140】
また、接続制御部32は、他の所定の接続判定条件として、自身の属するP2Pネットワークに付された固有値と、他のP2Pネットワークに付された固有値との比較結果に応じて、当該P2Pネットワークにおける他の移動電子機器の接続を解除するように制御してもよい。
【0141】
また、接続制御部32は、他のP2Pネットワークにおける根ノードとのネゴシエーションに基づいて、所定の接続判定条件を決定してもよい。
【0142】
また、移動電子機器1のコンピュータには、前記遷移を制御する遷移制御ステップと、前記P2Pネットワークのトポロジーを制御するトポロジーステップとを実行させるプログラムであって、前記トポロジーステップは、前記移動電子機器が前記根ノードとして機能している場合には、前記移動電子機器の配下の各ノードに対する、前記未帰属ノードとして機能している前記他の移動電子機器の接続の許否を制御し、前記移動電子機器が前記枝ノード又は前記葉ノードとして機能している場合には、根ノードの制御に従って、前記移動電子機器に対する、前記未帰属ノードとして機能している前記他の移動電子機器の接続の許否を制御する、プログラムが備わっていてもよい。
【0143】
また、移動電子機器1のコンピュータには、前記遷移を制御する遷移制御ステップと、接続可能な前記他の移動電子機器をサーチするサーチステップと、前記サーチステップによって見つかった前記他の移動電子機器との接続を制御する接続制御ステップとを実行させるプログラムであって、前記接続制御ステップは、 前記移動電子機器が、前記未帰属ノードとして機能している場合に、他のP2Pネットワークにおける根ノード、若しくは枝ノードとして機能している前記他の移動電子機器が見つかったときは、前記他の移動電子機器との接続を制御し、前記移動電子機器が、あるP2Pネットワークにおける前記根ノードとして機能している場合に、他のP2Pネットワークにおける前記根ノードとして機能している前記他の移動電子機器が見つかったときは、所定の接続判定条件に応じて、前記P2Pネットワークにおける前記他の移動電子機器の接続を解除するように制御する、プログラムが備わっていてもよい。
【0144】
また、移動電子機器1のコンピュータには、前記遷移を制御する遷移制御ステップと、接続可能な前記他の移動電子機器をサーチするサーチステップと、前記サーチ部によって見つかった前記他の移動電子機器との接続を制御する接続制御ステップとを実行させるプログラムであって、前記接続制御ステップは、前記移動電子機器が前記未帰属ノードとして機能している場合に、前記未帰属ノードとして機能している前記他の移動電子機器が見つかったときは、第1の接続制御として、前記他の移動電子機器に接続し、第2の接続制御として、前記第1の接続制御によって接続した前記他の移動電子機器との接続を解除し、第3の接続制御として、前記第2の接続制御によって接続を解除した前記他の移動電子機器に再接続するように制御する、プログラムが備わっていてもよい。
【0145】
一実施形態において、移動電子機器は、他の移動電子機器との無線接続の状況に応じて、クラスタ構造のP2Pネットワークにおける根ノード、枝ノード若しくは葉ノード、又は、前記P2Pネットワークに帰属しない未帰属ノードの各状態に遷移して機能する移動電子機器であって、前記P2Pネットワークのトポロジーを制御するトポロジー制御部を備え、前記トポロジー制御部は、前記移動電子機器が前記根ノードとして機能している場合には、前記移動電子機器の配下の各ノードに対する、前記未帰属ノードとして機能している前記他の移動電子機器の接続の許否を制御し、前記移動電子機器が前記枝ノード又は前記葉ノードとして機能している場合には、根ノードの制御に従って、前記移動電子機器に対する、前記未帰属ノードとして機能している前記他の移動電子機器の接続の許否を制御することを特徴とする。
【0146】
上記移動電子機器において、前記トポロジー制御部は、前記移動電子機器が前記根ノードとして機能している場合に、直下の子ノードの数が所定数に達する前は、前記移動電子機器に対する、前記未帰属ノードとして機能している前記他の移動電子機器の接続を許可するように制御するとともに、前記移動電子機器の配下の各ノードに対する、前記未帰属ノードとして機能している前記他の移動電子機器の接続を拒否するように制御するようにしてもよい。
【0147】
上記移動電子機器において、前記移動電子機器が前記根ノードとして機能している場合に、前記直下の子ノードの数が前記所定数に達した後は、前記移動電子機器に対する、前記未帰属ノードとして機能している前記他の移動電子機器の接続を拒否するように制御するとともに、前記移動電子機器の配下のノードに対する、前記未帰属ノードとして機能している前記他の移動電子機器の接続を許可するように制御するようにしてもよい。
【0148】
上記移動電子機器において、前記トポロジー制御部は、前記移動電子機器が、前記未帰属ノードとして機能していた前記他の移動電子機器を接続して前記枝ノードとして機能している場合に、前記移動電子機器と同一階層の前記葉ノード又は前記枝ノードとして機能している前記他の移動電子機器がP2Pネットワークから離脱したときは、トポロジーを再構築しないようにしてもよい。
【0149】
上記移動電子機器において、前記トポロジー制御部は、前記移動電子機器が前記根ノードとして機能している場合に、前記根ノードとして機能している前記移動電子機器、又は、前記移動電子機器の配下において枝ノード若しくは葉ノードとして機能しているある1つの前記他の移動電子機器に対し、前記未帰属ノードとして機能している前記他の移動電子機器の接続を許可するように制御するようにしてもよい。
【0150】
上記移動電子機器において、前記移動電子機器が前記枝ノード又は前記葉ノードとして機能している場合に、前記未帰属ノードとして機能している前記他の移動電子機器の接近を検出する接近検出部を更に備えるようにしてもよい。
【0151】
上記移動電子機器において、前記移動電子機器が前記根ノードとして機能している場合に、有線接続によって、他のP2Pネットワークにおける前記根ノードとの有線接続を制御する接続制御部を更に備えるようにしてもよい。
【0152】
上記移動電子機器において、接続可能な前記他の移動電子機器をサーチするサーチ部を更に備え、前記サーチ部は、前記未帰属ノードとして機能している前記他の移動電子機器の接続を許可された前記葉ノードとして前記移動電子機器が機能している場合には、前記根ノードとして前記移動電子機器が機能している場合に比べ、より少ない頻度で前記他の移動電子機器をサーチするようにしてもよい。
【0153】
一実施形態において、移動電子機器は、他の移動電子機器との無線接続の状況に応じて、クラスタ構造のP2Pネットワークにおける根ノード、枝ノード若しくは葉ノード、又は、前記P2Pネットワークに帰属しない未帰属ノードの各状態に遷移して機能する移動電子機器であって、前記遷移を制御する遷移制御部と、接続可能な前記他の移動電子機器をサーチするサーチ部と、前記サーチ部によって見つかった前記他の移動電子機器との接続を制御する接続制御部とを備え、前記接続制御部は、前記移動電子機器が、前記未帰属ノードとして機能している場合に、P2Pネットワークにおける根ノード、若しくは枝ノードとして機能している前記他の移動電子機器が見つかったときは、前記他の移動電子機器との接続を制御し、前記移動電子機器が、あるP2Pネットワークにおける前記根ノードとして機能している場合に、他のP2Pネットワークにおける前記根ノードとして機能している前記他の移動電子機器が見つかったときは、所定の接続判定条件に応じて、前記P2Pネットワークにおける前記他の移動電子機器の接続を解除するように制御することを特徴とする。
【0154】
上記実施形態において、前記遷移を制御する遷移制御部と、接続可能な前記他の移動電子機器をサーチするサーチ部と、前記サーチ部によって見つかった前記他の移動電子機器との接続を制御する接続制御部とを更に備え、前記接続制御部は、前記移動電子機器が、前記未帰属ノードとして機能している場合に、P2Pネットワークにおける根ノード、若しくは枝ノードとして機能している前記他の移動電子機器が見つかったときは、前記他の移動電子機器との接続を制御し、前記移動電子機器が、あるP2Pネットワークにおける前記根ノードとして機能している場合に、他のP2Pネットワークにおける前記根ノードとして機能している前記他の移動電子機器が見つかったときは、所定の接続判定条件に応じて、前記P2Pネットワークにおける前記他の移動電子機器の接続を解除するように制御してもよい。
【0155】
上記実施形態において、前記接続制御部は、前記所定の接続判定条件として、前記移動電子機器の属するP2Pネットワークの階層数が、前記他のP2Pネットワークの階層数よりも多い場合に、前記P2Pネットワークにおける前記他の移動電子機器の接続を解除するように制御するようにしてもよい。
【0156】
上記実施形態において、前記接続制御部は、前記所定の接続判定条件として、前記移動電子機器の配下のノード数が、前記他のP2Pネットワークにおける前記根ノードの配下のノード数よりも少ない場合に、前記P2Pネットワークにおける前記他の移動電子機器の接続を解除するように制御するようにしてもよい。
【0157】
上記実施形態において、前記接続制御部は、前記所定の接続判定条件として、前記移動電子機器のバッテリー残量が、前記他のP2Pネットワークにおける前記根ノードのバッテリー残量よりも少ない場合に、前記P2Pネットワークにおける前記他の移動電子機器の接続を解除するように制御するようにしてもよい。
【0158】
上記実施形態において、前記接続制御部は、前記所定の接続判定条件として、前記移動電子機器のバッテリー残量及びバッテリーの減少速度に基づくバッテリー不足になる迄の時間が、前記他のP2Pネットワークにおける前記根ノードのバッテリー残量及びバッテリーの減少速度に基づくバッテリー不足になる迄の時間よりも短い場合に、前記P2Pネットワークにおける前記他の移動電子機器の接続を解除するように制御するようにしてもよい。
【0159】
上記実施形態において、前記接続制御部は、前記所定の接続判定条件として、前記移動電子機器の受信強度が、前記他のP2Pネットワークにおける前記根ノードの受信強度よりも少ない場合に、前記P2Pネットワークにおける前記他の移動電子機器の接続を解除するように制御するようにしてもよい。
【0160】
上記実施形態において、前記接続制御部は、前記所定の接続判定条件として、前記移動電子機器に格納されたソフトウェアのバージョンが、前記他のP2Pネットワークにおける前記根ノードに格納されたソフトウェアのバージョンよりも古い場合に、前記P2Pネットワークにおける前記他の移動電子機器の接続を解除するように制御するように制御するようにしてもよい。
【0161】
上記実施形態において、前記接続制御部は、前記所定の接続判定条件として、前記移動電子機器の属するP2Pネットワークに付された固有値と、前記他のP2Pネットワークに付された固有値との比較結果に応じて、前記P2Pネットワークにおける前記他の移動電子機器の接続を解除するように制御するようにしてもよい。
【0162】
上記実施形態において、前記接続制御部は、前記他のP2Pネットワークにおける前記根ノードとのネゴシエーションに基づいて前記所定の接続判定条件を決定するようにしてもよい。
【0163】
上記実施形態において、前記遷移制御部は、前記移動電子機器の前記P2Pネットワークからの接続の解除前に、前記P2Pネットワークにおける前記根ノードとして機能していた場合には、前記根ノードから前記未帰属ノードに前記移動電子機器を遷移させ、前記移動電子機器の前記P2Pネットワークからの接続の解除前に、前記P2Pネットワークにおいて前記枝ノードとして機能していた場合には、前記枝ノードから前記未帰属ノードに前記移動電子機器を遷移させ、前記移動電子機器の前記P2Pネットワークからの接続の解除前に、前記P2Pネットワークにおいて前記葉ノードとして機能していた場合には、前記葉ノードから前記未帰属ノードに前記移動電子機器を遷移させるようにしてもよい。
【0164】
一実施形態において、移動電子機器は、他の移動電子機器との無線接続の状況に応じて、クラスタ構造のP2Pネットワークにおける根ノード、枝ノード若しくは葉ノード、又は、前記P2Pネットワークに帰属しない未帰属ノードの各状態に遷移して機能する移動電子機器であって、前記遷移を制御する遷移制御部と、接続可能な前記他の移動電子機器をサーチするサーチ部と、前記サーチ部によって見つかった前記他の移動電子機器との接続を制御する接続制御部とを備え、前記接続制御部は、前記未帰属ノードとして機能している場合に、前記未帰属ノードとして機能している前記他の移動電子機器が見つかったときは、第1の接続制御として、前記他の移動電子機器に接続し、第2の接続制御として、前記第1の接続制御によって接続した前記他の移動電子機器との接続を解除し、第3の接続制御として、前記第2の接続制御によって接続を解除した前記他の移動電子機器に再接続するように制御することを特徴とする。
【0165】
上記実施形態において、前記接続制御部は、前記未帰属ノードとして機能している場合に、前記未帰属ノードとして機能している前記他の移動電子機器が見つかったときは、第1の接続制御として、前記他の移動電子機器に接続し、第2の接続制御として、前記第1の接続制御によって接続した前記他の移動電子機器との接続を解除し、第3の接続制御として、前記第2の接続制御によって接続を解除した前記他の移動電子機器に再接続するように制御するようにしてもよい。
【0166】
上記実施形態において、前記接続制御部は、前記第1の接続制御の実行後、直ちに、前記第2の接続制御及び前記第3の接続制御を実行するようにしてもよい。
【0167】
上記実施形態において、前記接続制御部は、前記第1の接続制御の実行後、接続した前記他の移動電子機器との通信量に基づいて、前記第2の接続制御及び前記第3の接続制御を実行するようにしてもよい。
【0168】
上記実施形態において、前記遷移制御部は、前記接続制御部による前記第1の接続制御の実行後、前記未帰属ノードから前記根ノード又は前記葉ノードに前記移動電子機器を遷移させ、前記接続制御部は、前記第1の接続制御の実行後に前記葉ノードとして機能している場合には、前記葉ノードとして機能している前記移動電子機器の直下に子ノードの接続を要するときに、前記第2の接続制御及び前記第3の接続制御を実行するようにしてもよい。
【0169】
上記実施形態において、前記接続制御部は、第1のプロトコルに従って前記第1の接続制御を実行し、第2のプロトコルに従って前記第3の接続制御を実行するようにしてもよい。
【0170】
上記実施形態において、前記葉ノードには、接続状況及び制御に応じて、枝ノードに遷移不能な第1の葉ノードと、枝ノードに遷移可能な第2の葉ノードとが存在し、前記遷移制御部は、前記接続制御部による前記第1の接続制御の実行後、前記未帰属ノードから前記根ノード又は前記第1の葉ノードに前記移動電子機器を遷移させ、前記第1の接続制御の実行後に前記移動電子機器が前記根ノードとして機能している場合には、前記接続制御部による前記第2の接続制御の実行後、前記根ノードの状態を維持し、前記第1の接続制御の実行後に前記移動電子機器が前記第1の葉ノードとして機能している場合には、前記接続制御部による前記第2の接続制御の実行後、前記第1の葉ノードから前記未帰属ノードに前記移動電子機器を遷移させ、前記第2の接続制御の実行後に前記移動電子機器が前記根ノードとして機能している場合には、前記接続制御部による前記第3の接続制御の実行後、前記移動電子機器の前記根ノードの状態を維持し、前記第2の接続制御の実行後に前記移動電子機器が前記未帰属ノードとして機能している場合には、前記接続制御部による前記第3の接続制御の実行後、前記未帰属ノードから前記第2の葉ノードに前記移動電子機器を遷移させるようにしてもよい。
【0171】
上記実施形態において、前記サーチ部は、前記移動電子機器が前記未帰属ノードとして機能している場合には、接続可能な前記根ノード、若しくは前記枝ノードをサーチし、何れのノードも見つからなかった場合に、接続可能な前記未帰属ノードをサーチするようにしてもよい。