次に本発明の実施の形態について図面を参照して詳細に説明する。
[第1の実施形態]
図1を参照すると、本発明の第1の実施形態に係る通信システム100は、複数のノード(無線通信端末)101から構成される。各々のノード101は、例えば、自動車などの車両に搭載された無線通信端末、あるいは歩行者が所持するスマートフォン等の無線通信端末である。各々のノード101は、ピアツーピアグループ(P2Pグループ)を形成することができる通信方式による無線通信を行うことができる。本実施形態では、上記通信方式は、Wi−Fi Directである。但し、本発明はWi−Fi Directに限定されず、他のノードとピアツーピアグループを形成することができる通信方式であれば適用できる。
図1では、複数のノード101が3つのピアツーピアグループ(以下、単にグループと記す)G1〜G3を構成している。グループG1は、ノード101−1が親(グループオーナ)となって形成され、ノード101−2〜101−3がその子(クライアント)である。またグループG2は、ノード101−4がグループオーナとなって形成され、ノード101−5がそのクライアントである。またグループG3は、ノード101−6がグループオーナとなって形成され、ノード101−7、101−8がそのクライアントである。一方、ノード101−9は、他ノードとグループを形成していない単独のノードである。
グループG1に属するノード101−1〜101−3間では、ノード101−1をアクセスポイントにしてWi−Fi Directによる通信が行える。またグループG2に属するノード101−4〜101−5間では、ノード101−4をアクセスポイントにしてWi−Fi Directによる通信が行える。またグループG3に属するノード101−6〜101−8間では、ノード101−6をアクセスポイントにしてWi−Fi Directによる通信が行える。しかし、グループG1に属するノード101−1〜101−3とグループG2に属するノード101−4〜101−5とグループG3に属するノード101−6〜101−8と単独のノード101−9との間では、グループが相違するのでWi−Fi Directによる通信は直接には行えない。そのため、何れかのノード101がコンテンツを取得したとしても、現状のグループ構成のままでは、グループ外の他ノードへコンテンツを伝搬させることはできない。そのため、何れかのノード101が取得したコンテンツが、緊急性を有する災害情報、交通情報、SOS信号などのような重大で即座に対応しなければならない緊急コンテンツである場合、情報共有の遅れにより不測の事態を招きかねない。
そこで、本実施形態では、何れかのノード101が取得したコンテンツが緊急コンテンツであれば、グループ外への迅速なコンテンツの伝搬を実現する。そのため、本実施形態では、緊急コンテンツを取得したノード101は、グループ内の他ノードへ緊急コンテンツを通知し終えると、デリバリノードとなって速やかにグループから離脱し、そして、グループ外の他ノードに接続して当該他ノードへ緊急コンテンツを通知することにより、グループ外のノードとの間の緊急コンテンツの共有を実現する。以下では、図1に示した9台のノード101のうち、ノード101−1が緊急コンテンツを取得した場合を例にして説明する。但し、緊急コンテンツを最初に取得するノード101は、特定のノード101−1に限定されず、他のノード101であっても良く、また、緊急コンテンツを最初に取得するノードは複数存在していても良い。
図2はノード101で実行される処理の一例を示すフローチャートである。以下、図1および図2を参照して、本実施形態の動作を説明する。
ノード101−1は、コンテンツを取得すると、図2に示す処理の実行を開始する。ノード101−1がコンテンツを取得する経路は複数考えられる。例えば、ノード101−1の利用者(人)が、ノード101−1に備わるキーボードや外部入力端子等を通じてコンテンツをノード101−1へ入力することが考えられる。或いは、ノード101−1が携帯電話機能を有しており、ショートメッセージやメール等によってコンテンツを受信することが考えられる。或いは、ノード101−1がデータ放送受信機能を有しており、データ放送によってコンテンツを受信することが考えられる。或いは、ノード101−1が同じグループの他のノードからWi−Fi Directによる通信によってコンテンツを受信することが考えられる。
ノード101−1は、まず、取得したコンテンツが緊急コンテンツか否かを判定する(ステップS101)。緊急コンテンツか否かを判定する方法は幾つか考えられる。例えば、コンテンツが所定の言語で記述され、緊急コンテンツには緊急性を表す属性値以下、緊急属性値と記す)が挿入されている場合、取得したコンテンツに緊急属性値が存在するか否かを確認する方法がある。あるいは、コンテンツに緊急の程度を表す属性値(以下、緊急レベル属性値と記す)が必ず挿入されており、緊急の程度がより高いものほど緊急レベル属性値が大きな値である場合、緊急レベル属性値が所定値以上か否かを確認する方法がある。あるいは、所定の属性値によらず、コンテンツに含まれるテキストの意味を解析して、緊急性の高いコンテンツか否かを判断するようにしてもよい。ノード101−1は、取得したコンテンツが緊急コンテンツでなければ、図2に示した処理を終了する。
また、ノード101−1は、取得したコンテンツが緊急コンテンツであれば、取得したコンテンツが新規か否かを判定する(ステップS102)。新規コンテンツか否かを判定する方法は幾つか考えられる。例えば、ノード101は、取得したコンテンツをメモリ等で構成されるコンテンツ記憶部に過去一定期間保存するように構成されている場合、取得したコンテンツと同じコンテンツがコンテンツ記憶部に存在するか否かを調べることによって、取得したコンテンツが新規か否かを判定する。或いは、ノード101は、取得したコンテンツの要約あるいは識別情報をコンテンツ記憶部に過去一定期間保存するように構成されている場合、取得したコンテンツの要約あるいは識別情報と同じ要約あるいは識別情報がコンテンツ記憶部に存在するか否かを調べることによって、取得したコンテンツが新規か否かを判定する。ノード101−1は、取得したコンテンツが新規コンテンツでなければ、図2に示した処理を終了する。
ノード101−1は、取得したコンテンツが緊急かつ新規なコンテンツであれば、以下のような処理を実行する。まず、ノード101−1は、取得した緊急かつ新規なコンテンツをグループ内のノード101−2、101−3へ送信する(ステップS103)。そして、ノード101−1は、グループG1から離脱する(ステップS104)。ノード101−1は、グループG1のグループオーナであるため、グループG1がグループG1から離脱することにより、グループG1は消滅する。その結果、ノード101−1〜101−3は、それぞれ単独のノードとなる。
単独のノードとなったノード101−1は、緊急コンテンツを通知すべきノードが周囲に存在するか否かを所定時間に亘って探索する(ステップS105)。そして、ノード101−1は、緊急コンテンツを通知すべきノードを発見すると、そのノードに接続する(ステップS106)。例えば、図1を参照すると、ノード101−1の周囲にグループG2のオーナノードであるノード101−4が存在している。このため、ノード101−1は、ノード101−4を発見すると、ノード101−4に接続する(ステップS106)。これによって、ノード101−1は、図3に示すように、グループG2のクライアントとなる。次にノード101−1は、接続したノード101−4へ緊急コンテンツを送信する(ステップS107)。次に、ノード101−1は、緊急コンテンツの送信を終えると、図4に示すように、ノード101−4との接続を切断し(ステップS108)、再び単独のノードとなって、ステップS105の処理へと戻る。
ノード101−1は、ステップS105において所定時間に亘って探索を続行しても緊急コンテンツを通知すべきノードを発見できなかった場合、デリバリ終了条件が成立したか否かを判定する(ステップS109)。デリバリ終了条件としては、例えば、緊急コンテンツに設定された有効期限が経過した、緊急コンテンツを受信してから一定時間が経過した、あるいは、ノード101−1の利用者からデリバリ停止指示が入力された、などが考えられる。デリバリ終了条件が成立していなければ、ステップS105に戻って上述した処理と同様の処理を繰り返す。他方、デリバリ終了条件が成立していれば、図2の処理を終える。
他方、ノード101−1から緊急コンテンツを受信したノード101−4は、図2に示した処理を開始する。その結果、ノード101−4は、受信した緊急コンテンツが新規であれば、グループG2のノード101−5へ緊急コンテンツを送信し(ステップS103)、グループG2から離脱する(ステップS104)。その結果、ノード101−4〜101−5は、図4に示すように、それぞれ単独のノードとなる。
また、ノード101−1から緊急コンテンツを受信したノード101−2は、図2に示した処理を開始する。その結果、ノード101−2は、受信した緊急コンテンツが新規であれば、ステップS103〜S104を実質的にスキップして、単独のノードとなってステップS105の処理へ進む。ノード101−2がステップS103〜S104を実質的にスキップするのは、ノード101−2は緊急コンテンツを受信した直後にノード101−1との接続が切断されており、既に単独のノードになっているためである。また、ノード101−1から緊急コンテンツを受信したノード101−3は、同様の理由で、図2に示した処理を開始し、単独のノードとなってステップS105の処理へ進む。これにより、ノード101−2、101−3のそれぞれは、緊急コンテンツを通知すべきノードが周囲に存在するか否かを所定時間にわたって探索する。
図1を参照すると、ノード101−2の周囲に単独のノード101−9が存在している。このため、ノード101−2は、ノード101−9を発見すると、図3に示すように、ノード101−9に接続し(ステップS106)、ノード101−9へ緊急コンテンツを通知する(ステップS107)。次に、ノード101−2は、図4に示すように、ノード101−9との接続を切断し(ステップS108)、再び単独のノードとなって、ステップS105の処理へ戻る。
また図1を参照すると、ノード101−3の周囲にグループG3のオーナノードであるノード101−6が存在している。このため、ノード101−3は、ノード101−6を発見すると、図3に示すように、ノード101−6に接続し(ステップS106)、ノード101−6へ緊急コンテンツを通知する(ステップS107)。次に、ノード101−3は、図4に示すように、ノード101−6との接続を切断し(ステップS108)、再び、単独のノードとなって、ステップS105の処理へ戻る。
さらに、ノード101−3から緊急コンテンツを受信したノード101−6は、図2に示した処理を開始する。その結果、ノード101−6は、受信した緊急コンテンツが新規であれば、グループG3のノード101−7、101−8へ緊急コンテンツを送信し(ステップS103)、グループG3から離脱する(ステップS104)。その結果、ノード101−6〜101−8は、図4に示すように、それぞれ単独のノードとなる。
以上のようにして、グループG1のノード101−1が取得した緊急コンテンツが、グループを超えて全てのノードに速やかに伝搬されていく。また、デリバリ終了条件が成立するまで、各ノード101は、緊急コンテンツを通知すべきノードの探索、発見したノードとの接続、緊急コンテンツの授受を実行するため、他の場所から移動してきたノードに対しても緊急コンテンツを伝搬することができる。
以下、本実施形態に係る通信システムの構成および動作をさらに詳細に説明する。
図5は、ノード101として使用するノードNの構成例を示すブロック図である。この例のノードNは、無線通信インターフェイス部(以下、無線通信I/F部と記す)10、20と、操作入力部30と、画面表示部40と、記憶部50と、演算処理部60とから構成されている。
無線通信I/F部10、20は、専用の無線通信回路からなり、無線通信回線を介して接続された他の無線通信端末などの各種装置との間で無線通信を行う機能を有している。そのうち、無線通信I/F部10は、Wi−Fi Directに対応した無線LANのインターフェイスであり、無線通信I/F部20は、3GやLTEなどのセルラー通信に対応した無線インターフェイスである。
操作入力部30は、キーボードやマウスなどの操作入力装置からなり、オペレータの操作を検出して演算処理部60に出力する機能を有している。
画面表示部40は、LCD(Liquid Crystal Display)やPDP(Plasma Display Panel)などの画面表示装置からなり、演算処理部60からの指示に応じて、操作メニューなどの各種情報を画面表示する機能を有している。
記憶部50は、ハードディスクやメモリなどの記憶装置からなり、演算処理部60での各種処理に必要な処理情報やプログラム50Pを記憶する機能を有している。プログラム50Pは、演算処理部60に読み込まれて実行されることにより各種処理部を実現するプログラムであり、通信I/F部10、20や操作入力部30などのデータ入出力機能を介して外部装置(図示せず)や記憶媒体(図示せず)から予め読み込まれて記憶部50に保存される。記憶部50で記憶される主な処理情報として、共有情報50A、グループ情報50C、および緊急コンテンツ制御情報50Dがある。
共有情報50Aは、他のノードとお互いに共有するデータであり、例えば、災害情報や交通情報などである。
グループ情報50Cは、自端末が所属するグループ(P2Pグループ)に関する情報である。何れかのグループに参加している場合、そのグループオーナを特定する情報、そのクライアントノードを特定する情報がグループ情報50Cに登録される。また何れのグループにも参加していない場合、その旨が登録される。ノードNは、このグループ情報50Cにより自ノードがグループオーナか、クライアントかを管理し、グループオーナに応じた処理、クライアントに応じた処理を実行する。図6はグループ情報50Cの構成例である。この例のグループ情報50Cは、ノード識別子とMACアドレスとオーナビットとの組を記憶するエントリを、当該グループのメンバの数だけ有している。オーナビットは、その組のノード識別子あるいはMACアドレスで特定されるノードがグループオーナのときは値1に、そうでなければ、即ちクライアントであれば値0に、それぞれ設定される。
緊急コンテンツ制御情報50Dは、ノードNが緊急コンテンツを保有しているか否かを示す情報である。図7は緊急コンテンツ制御情報50Dの構成例である。この例の緊急コンテンツ制御情報50Dは、緊急コンテンツ保有フラグと緊急レベルと有効期限とから構成される。緊急コンテンツ保有フラグは、ノードNが緊急コンテンツを保有していれば、値1にセットされ、保有していなければ値0にリセットされる。緊急レベルは、保有している緊急コンテンツのうちの最も値の大きな緊急レベルの値がセットされる。有効期限は、緊急レベルに値がセットされた緊急コンテンツの有効期限がセットされる。緊急コンテンツ保有フラグと緊急レベルと有効期限の初期値はNULLであり、ノードNが或る緊急コンテンツを取得すると、取得した緊急コンテンツに応じて、緊急コンテンツ保有フラグと緊急レベルと有効期限が必要に応じて更新される。また、ノードNが複数の緊急コンテンツを保有している状態で、何れか1つの緊急コンテンツの有効期限が切れると、それに応じて緊急コンテンツ保有フラグと緊急レベルと有効期限が必要に応じて更新される。保有する全ての緊急コンテンツの有効期限が切れると、緊急コンテンツ保有フラグと緊急レベルと有効期限は初期値のNULLに更新される。
演算処理部60は、MPUなどのマイクロプロセッサとその周辺回路を有し、記憶部50からプログラム50Pを読み込んで実行することにより、上記ハードウェアとプログラム50Pとを協働させて各種処理部を実現する機能を有している。演算処理部60で実現される主な処理部として、Wi−Fi接続制御部60A、セルラー通信制御部60B、および自動接続制御部60Cがある。
Wi−Fi接続制御部60Aは、Wi−Fi Directのパケットを生成して無線通信I/F部10を通じて送信し、また無線通信I/F部10を通じてWi−Fi Directのパケットを受信するブロックである。Wi−Fi接続制御部60Aは、“Device Discovery”、“Group Formation”、“WPS(Wi−Fi Protected Setup)Provisioning Phase1”、“WPS Provisioning Phase2”といった単位で制御を行う。また、Wi−Fi接続制御部60Aは、自動接続制御部60Cからイベント(コマンド)を受信して制御を開始し、その結果をイベント(応答)として自動接続制御部60Cに通知する。
セルラー通信制御部60Bは、セルラー通信のパケットを生成して無線通信I/F部20を通じて送信し、また無線通信I/F部20を通じてセルラー通信のパケットを受信するブロックである。セルラー通信制御部60Bは、自動接続制御部60Cからイベント(コマンド)を受信するとそのイベントに応じた制御を実行し、その結果をイベント(応答)として自動接続制御部60Cに通知する。
自動接続制御部60Cは、Wi−Fi接続制御部60Aとセルラー通信制御部60Bの上位階層に位置する制御部である。自動接続制御部60Cは、セルラー通信制御部60Bを制御することにより、Wi−Fi DirectのP2Pグループを跨ったメッセージの送受信を実現する。また自動接続制御部60Cは、Wi−Fi接続制御部60Aを制御することにより、Wi−Fi Directによる自動接続を実現する。具体的には、例えばノード同士が近づいた時に自動的に1つのグループを構築し、グループ内でノード間通信を実現する。また、既に構築されたグループに新しいノードが近づいた時には構築済みのグループに自動的に参加する。さらに、構築済みのグループからノードを自動的に離脱させる。そして、自動接続制御部60Cは、このようなWi−Fi Directの接続および離脱の処理により、図2を参照して説明した情報共有方法をWi−Fi P2Pネットワークにおいて実現する。
以下、自動接続制御部60Cの機能をより詳細に説明する。まず、Wi−Fi Directの接続および離脱の機能について説明し、その後、図2を参照して説明した情報共有に関連する制御機能を説明する。
<Wi−Fi Directの接続および離脱>
図8に示すように、ノード間でグループを形成する場合(CASE1)、まず、Device Discovery処理により近隣のP2Pノードを探索し、P2Pノードが発見されるとGO Negotiation処理により何れか一方がグループオーナ(GO)、他方がクライアントとなって接続する。続いて、WPS Provision Phase−1(認証フェーズ)およびPahse−2(暗号化フェーズ)が順次実行される。
既存GOに接続する場合(CASE2)、まず、Device Discovery処理により近隣のP2Pノードを探索し、発見されたP2PノードがGOであれば、Provision Discovery処理により当該GOに接続し、続いて、WPS Provision Phase−1(認証フェーズ)およびPahse−2(暗号化フェーズ)が順次実行される。
PersitentGOに接続する場合(CASE3)、まず、Device Discovery処理により近隣のP2Pノードを探索し、発見されたP2PノードがPersistentGOであれば、Invitation処理により当該PersistentGOに接続し、続いて、WPS Provision Pahse−2(暗号化フェーズ)が順次実行される。
図9に例示するように、Device Discovery動作が実行される。すなわち、各ノードにおけるWi−Fi接続制御部は、自動接続制御部から検索要求を受けると、隣接ノードの検索を開始し、Search状態とListen状態とを交互に繰り返す。Search状態では、所定のチャネルを順次切り替えながらProbe Requestを送出し、それに対する応答であるProbe responseを待つ。Listen状態では、他ノードからのProbe Requestを待ち、Probe Requestを受信すれば、それに対してProbe Responseを返す。ノードN1がグループのクライアントの場合、ノードN1のWi−Fi接続制御部がノードN2からProbe Responseを受信すれば、当該隣接ノードN2の情報を隣接ノード情報として自グループのグループオーナへ通知する。
図10に例示するように、既存GOに対するDevice Discovery動作が実行される。ノードN2をグループオーナとするグループが既に構築されている場合、ノードN1からのProbe Requestに対して、GOノードN2がProbe Responseを返す。その際、GOノードN2からのProbe ResponseのP2P Device Info Attributeには、当該グループに属するクライアントのリスト(ここでは、ノードN2とN3の情報)が含まれる。
図11に例示するように、端末間でグループを形成する際のGO Negotiation動作が実行される。ノード間でGO Negotiation Request、GO Negotiation ResponseおよびGO Negotiation Confirmationをやりとりすることで、一方のノードがGOとなり、ビーコンをブロードキャストし始める。
図12に例示するように、既存GOに接続するためのProvision Discovery動作が実行される。ノードN1からのノードN2に対するProvision Discovery Requestに対して、GOノードN2がノードN1に対するProvision Discovery Responseを返すことでノードN1がノードN2に接続される。
図13に例示するように、Persistent−GOに接続するためのInvitation動作が実行される。ノードN1からのノードN2に対するInvitation Requestに対して、Persistent−GOノードN2がノードN1に対するInvitation Responseを返すことでノードN1がノードN2に接続される。
図14に示すように、クライアント主導の離脱では、クライアントノードN1がDeauthenticationあるいはDisassociation IndicationをGOノードN2へ送信することで、離脱可能である。逆に、グループ主導の離脱では、GOノードN2がクライアントノードN1へDeauthenticationあるいはDisassociation Indicationを送信することでクライアントを離脱させることができる。
<情報共有に係る制御機能>
図15は本実施形態に係る通信システムの動作の一例を示すフローチャートである。以下、図15を参照して、ノード101−1が取得した緊急コンテンツを他のノード101−2〜101−9との間で共有する際のノード101の動作について説明する。
まず、ノード101−1の自動接続制御部60Cは、操作入力部30から緊急コンテンツを入力し、あるいは緊急コンテンツを有するメッセージが無線通信I/F部20で受信されてセルラー通信制御部60Bから入力される(ステップS111)。
図16は緊急コンテンツの一例を示す。この例の緊急コンテンツは、XML(Extensible Markup Language)言語で記述されている。この緊急コンテンツは、埼玉県に出された竜巻注意情報であり、緊急レベルは最も高い3、有効期限は2016年2月15日14時00分である。なお、図16は説明の便宜上のものであり、XML宣言を省略するなどして簡素化している。ここでは、XML言語で記述された緊急コンテンツを例示しているが、本発明で使用する緊急コンテンツはXML言語で記述されたものに限定されないことは言うもでもない。
ノード101−1の自動接続制御部60Cは、入力された緊急コンテンツが新規コンテンツであれば、共有情報50Aとして記憶部50に記憶し、また緊急コンテンツ制御情報50Dを更新する。具体的には、自動接続制御部60Cは、図7の緊急コンテンツ保有フラグを1にセットし、緊急レベルを3にセットし、有効期限に2016年2月15日14時00分を設定する。そして、ノード101−1の自動接続制御部60Cは、Wi−Fi接続制御部60Aを使用して緊急コンテンツを、グループG1のノード101−2〜101−3へ通知する(ステップS112)。ノード101−1〜101−3の自動接続制御部60Cは、緊急コンテンツが無線通信I/F部10で受信されてWi−Fi接続制御部60Aを通じて入力されると、共有情報50Aとして記憶部50に記憶し、また緊急コンテンツ制御情報50Dを上記ノード101−1と同様に更新する。
その後、ノード101−1〜101−3の自動接続制御部60Cは、Wi−Fi接続制御部60Aを使用して切断手順を実行する(ステップS113)。これにより、ノード101−1〜101−3のそれぞれは、単独ノードとなる。
単独ノードとなったノード101−1〜101−3の自動接続制御部60Cは、近隣のノードを探索する。この探索は、Wi−Fi Direct仕様のDevice Discoveryプロシージャに準拠して行う。他方、グループG2、G3のグループオーナであるノード101−4、101−6のWi−Fi接続制御部60Aは、ビーコンをブロードキャストしており、単独のノードであるノード101−9は、ノード101−1〜101−3と同様に近隣のノードを探索している。
図15では、近隣ノードの探索により、ノード101−1はノード101−4を発見し、ノード101−2はノード101−9を発見した場合を例示している。
ノード101−1のWi−Fi接続制御部60Aは、発見したノード101−4に対して、プローブ要求を送信し(ステップS114)、ノード101−4からプローブ応答を受信する(ステップS115)。そして、ノード101−1の自動接続制御部60Cは、ノード101−4の自動接続制御部60Cとの間で接続手順を実行する(ステップS116)。これにより、ノード101−1は、グループG2のクライアントとしてノード101−4に接続する。次に、ノード101−1の自動接続制御部60Cは、共有情報50Aに記憶された図16の緊急コンテンツを、Wi−Fi接続制御部60Aを使用して、ノード101−4へ通知する(ステップS117)。ノード101−4の自動接続制御部60Cは、緊急コンテンツが無線通信I/F部10で受信されてWi−Fi接続制御部60Aを通じて入力されると、共有情報50Aとして記憶部50に記憶し、また緊急コンテンツ制御情報50Dを更新する。さらに、ノード101−4の自動接続制御部60Cは、取得した緊急コンテンツをノード101−5へ通知する。ノード101−5の自動接続制御部60Cは、緊急コンテンツが無線通信I/F部10で受信されてWi−Fi接続制御部60Aを通じて入力されると、共有情報50Aとして記憶部50に記憶し、また緊急コンテンツ制御情報50Dを更新する。その後、ノード101−1、101−4〜101−5の自動接続制御部60Cは、Wi−Fi接続制御部60Aを使用して切断手順を実行する(ステップS118)。これにより、ノード101−1、101−4〜101−5のそれぞれは、単独ノードとなる。
一方、ノード101−2のWi−Fi接続制御部60Aは、発見したノード101−9に対して、プローブ要求を送信し(ステップS121)、ノード101−9からプローブ応答を受信する(ステップS122)。そして、ノード101−2の自動接続制御部60Cは、ノード101−9の自動接続制御部60Cとの間で接続手順を実行する(ステップS123)。これにより、ノード101−2とノード101−9は、何れか一方がグループオーナとなって、互いに接続する。次に、ノード101−2の自動接続制御部60Cは、共有情報50Aに記憶された図16の緊急コンテンツを、Wi−Fi接続制御部60Aを使用して、ノード101−9へ通知する(ステップS124)。ノード101−9の自動接続制御部60Cは、緊急コンテンツが無線通信I/F部10で受信されてWi−Fi接続制御部60Aを通じて入力されると、共有情報50Aとして記憶部50に記憶し、また緊急コンテンツ制御情報50Dを更新する。その後、ノード101−2、101−9の自動接続制御部60Cは、Wi−Fi接続制御部60Aを使用して切断手順を実行する(ステップS125)。これにより、ノード101−2、101−9のそれぞれは、単独ノードとなる。
図15には記載されていないが、単独ノードとなったノード101−3は、グループG3のノード101−6を発見すると、グループG2のノード101−4を発見したノード101−1と同様の動作を行う。また、グループG3のノード101−6は、グループG2のノード101−4と同様の動作を行い、グループG3のノード101−7、101−8は、グループG2のノード101−5と同様の動作を行う。これにより、ノード101−3が取得した緊急コンテンツが、ノード101−6〜101−8へ通知されることになる。
このようにして本実施形態によれば、グループG1のノード101−1が取得した緊急コンテンツが、グループを超えて全てのノードに速やかに伝搬されていく。
[第2の実施形態]
次に本発明の第2の実施形態について説明する。本実施形態は、第1の実施形態と比較して、図2のステップS105に関連する構成および動作が相違し、それ以外は第1の実施形態と同じである。
本実施形態に係るノード101は、Wi−FiのProbe Request、Probe ResponseやBeaconといった無線LANの管理フレームに、保有する緊急コンテンツの有無および保有する緊急コンテンツの緊急レベルの情報(以下、緊急コンテンツ情報と記す)を追加するように構成されている。具体的には、ノード101のWi−Fi接続処理部60Aは、管理フレームを送信する前に、緊急コンテンツ制御情報50Dを参照して、緊急コンテンツ保有フラグがセットされているか否か、有効期限が過ぎていないかどうかを確認する。そして、Wi−Fi接続処理部60Aは、緊急コンテンツ保有フラグがセットされており、且つ有効期限が過ぎていなければ、緊急コンテンツを有する旨と緊急レベルとから構成される緊急コンテンツ情報を、送信する管理フレームに追加する。また、Wi−Fi接続処理部60Aは、緊急コンテンツ保有フラグがセットされていないか、セットされていても有効期限が過ぎていれば、送信する管理フレームに緊急コンテンツ情報を追加しないか或いはNULL値の緊急コンテンツ情報を追加する。
また本実施形態に係るノード101のWi−Fi接続処理部60Aは、図2のステップS105の緊急コンテンツを通知すべきノードの探索では、近隣のノードから送信される管理フレームを受信すると、それに追加された緊急コンテンツ情報に基づいて、緊急コンテンツを通知すべきノードを決定するように構成されている。具体的には、Wi−Fi接続処理部60Aは、近隣の或るノードから受信した管理フレームに緊急コンテンツ情報が付加されていないか、あるいは付加されていてもNULL値であれば、当該ノードを、緊急コンテンツを通知すべきノードに決定する。また、Wi−Fi接続処理部60Aは、近隣の或るノードから受信した管理フレームに緊急コンテンツ情報が付加されているが、その緊急レベルが緊急コンテンツ制御情報50Dに設定されている緊急レベルより低ければ、当該ノードを、緊急コンテンツを通知すべきノードに決定する。また、Wi−Fi接続処理部60Aは、上記以外の場合、当該ノードは、緊急コンテンツを既に保有しているノードであるため除外し、他のノードの探索を続行する。
一般に、プローブ要求/プローブ応答、ビーコンの各フレームをはじめとする無線LANの管理フレームは、IE(Information Element)と呼ばれる追加情報を持つことができる。IEのフォーマットを図18に示す。IEは1バイトのフィールドID、1バイトのフィールド長、そしてフィールド長で定義されたサイズのコンテンツの3要素からなる可変長フォーマットである。そこで、管理フレームに緊急コンテンツ情報を追加する具体例の一つとして、上述したIEを利用することが考えられる。具体的には、フィールドIDに緊急コンテンツ情報の通知を示す独自の値を入れ、コンテンツに緊急コンテンツ情報を入れるようにする。但し、管理フレームに緊急コンテンツ情報を追加する方法は、IEを使用する方法に限定されない。例えば、P2Pデバイスネームの一部に緊急コンテンツ情報を追加し、あるいはベンダーアトリビュートやグループケーパビリティビットを使用して緊急コンテンツ情報を追加する等、他の任意の方法を採用することができる。
図17は、図15のステップS113の切断手順が実行され、ノード101−1〜101−3が単独ノードとなって近隣のノードを探索している場面を表している。ノード101−1〜101−3は、緊急コンテンツを保有するため、緊急コンテンツ情報を付加したプローブ要求を周囲にブロードキャストしている。一方、グループG2、G3のオーナノード101−4、101−6は、緊急コンテンツを保有していないため、緊急コンテンツ情報のないビーコンを周囲にブロードキャストしている。また、単独ノードであるノード101−9は、緊急コンテンツを保有していないため、緊急コンテンツ情報のないプローブ要求を周囲にブロードキャストしている。
ノード101−1は、ノード101−4からビーコンを受信することにより、ノード101−4を発見する。またノード101−1は、ノード101−2、101−3からプローブ要求を受信することにより、ノード101−2、101−3を発見する。このため、ノード101−1は、ノード101−4よりも早くノード101−2、101−3を発見すると、ノード101−2、101−3に接続する可能性がある。しかし、本実施形態では、ノード101−2、101−3から送出されるプローブ要求には緊急コンテンツ情報があるので、ノード101−1は、発見したノード101−2、101−3を無視し、探索を続行する。そして、ノード101−1は、ノード101−4からビーコンを受信すると、ビーコンには緊急コンテンツ情報が付加されていないので、ノード101−4を接続すべきノードに決定する。
同様の理由により、ノード101−2は、近隣に存在するノード101−1、101−3、101−9のうち、緊急コンテンツを保有していないノード101−9に接続し、ノード101−3は、近隣に存在するノード101−1、101−2、101−6のうち、緊急コンテンツを保有していないノード101−6に接続する。
このように本実施形態によれば、緊急コンテンツを取得したノード101は、緊急コンテンツを通知すべきノードの探索において、緊急コンテンツを未だ有していないノードに接続することができる。これによって、緊急コンテンツを有しているノードに接続する無駄がなく、緊急コンテンツをより迅速にノード間で伝搬させることができる。
[第3の実施形態]
次に本発明の第3の実施形態について説明する。本実施形態は、第2の実施形態と比較して、図2のステップS107に関連する構成および動作が相違し、それ以外は第2の実施形態と同じである。
本実施形態に係るノード101は、他ノードとの接続を完了すると、当該他ノードとの接続に際して当該他ノードから受信した管理フレーム(上述したWi−FiのProbe Request、Probe ResponseやBeaconといった無線LANの管理フレーム)に付加されている緊急コンテンツ情報と記憶部50に記憶されている緊急コンテンツ制御情報50Dに基づいて、送信を開始するか、受信を待ち合わせるかを決定するように構成されている。具体的には、ノード101の自動接続制御部60Cは、図19に示す判定表に従う。
図19に示す判定表は、横軸方向に緊急コンテンツ制御情報50Dの緊急コンテンツフラグのセットとリセットの状態をマッピングし、縦軸方向に受信した管理フレームにおける緊急コンテンツ情報の有無をマッピングし、縦軸と横軸の交点に判定結果を記載している。
この判定表によれば、緊急コンテンツ制御情報50Dの緊急コンテンツフラグがセットされている場合、即ちノード101が緊急コンテンツを保有している場合、他ノードから受信した管理フレームに緊急コンテンツ情報が無ければ、即ち他ノードが緊急コンテンツを保有していなければ、ノード101は、一定時間内に送信を開始するように決定する。
また、判定表によれば、緊急コンテンツ制御情報50Dの緊急コンテンツフラグがリセットされている場合、即ちノード101が緊急コンテンツを保有していない場合、他ノードから受信した管理フレームに緊急コンテンツ情報が有れば、即ち他ノードが緊急コンテンツを保有していれば、ノード101は、一定時間受信を待つように決定する。
また、判定表によれば、緊急コンテンツ制御情報50Dの緊急コンテンツフラグがセットされている場合、即ちノード101が緊急コンテンツを保有している場合、他ノードから受信した管理フレームに緊急コンテンツ情報が有れば、即ち他ノードが緊急コンテンツを保有していれば、双方の緊急レベルを比較し、ノード101の緊急レベルが他ノードの緊急レベルを超えていれば、ノード101は、一定時間内に送信を開始するように決定し、ノード101の緊急レベルが他ノードの緊急レベル以下であれば、一定時間受信を待つように決定する。
また、判定表によれば、緊急コンテンツ制御情報50Dの緊急コンテンツフラグがリセットされている場合、即ちノード101が緊急コンテンツを保有していない場合、他ノードから受信した管理フレームに緊急コンテンツ情報が無ければ、即ち他ノードが緊急コンテンツを保有していなければ、ノード101は、送信および受信に何らの制限はないと決定する。即ち、ノード101は、一定時間以内に送信を開始しても良いし、一定時間だけ受信を待機してもよいと決定する。
図20は、図15のステップS116、S123の接続手順が実行され、ノード101−1がグループG2のノード101−4に接続し、ノード101−2がノード101−4に接続した場面を表している。また、図20は、ノード101−3がグループG3のノード101−6に接続した画面を表している。
ノード101−1とノード101−4との接続が完了すると、それぞれのノードは、図19の判定表に基づいて、送信を開始するか、受信を待ち合わせるかを決定する。この場合、ノード101−1は緊急コンテンツを保有しているので、接続後一定時間内にノード101−4に対する緊急コンテンツの送信を開始する。他方、ノード101−4は、緊急コンテンツを保有していないので、接続後一定時間、受信を待つ。これによって、ノード101−1とノード101−4との間で緊急コンテンツの送受信が行われる。若し、本実施形態のような制御を行わない場合、ノード101−1が緊急コンテンツをノード101−4へ送信する前に、ノード101−4が何らかの情報をノード101−1へ送信する事態が発生する可能性がある。そうすると当該送信が完了するまで、ノード101−1からノード101−4へ緊急コンテンツを通知できなくなり、緊急コンテンツの速やかな伝搬が困難になる。
同様の理由により、ノード101−2は、ノード101−9と接続を完了すると、一定時間内に緊急コンテンツの送信を開始し、ノード101−9はノード101−2と接続を完了すると、一定時間受信を待機することで、ノード101−2からノード101−9へ緊急コンテンツが速やかに通知されることになる。また、ノード101−3は、ノード101−6と接続を完了すると、一定時間内に緊急コンテンツの送信を開始し、ノード101−6はノード101−3と接続を完了すると、一定時間受信を待機することで、ノード101−3からノード101−6へ緊急コンテンツが速やかに通知されることになる。
このように本実施形態によれば、緊急コンテンツを取得したノード101と緊急コンテンツを取得していないノード101とが接続を完了すると、緊急コンテンツを取得していないノード101が受信待ちとなっている状態で、緊急コンテンツを取得したノード101から緊急コンテンツを取得していないノード101へ緊急コンテンツの送信を開始することができる。
[第4の実施形態]
次に本発明の第4の実施形態について説明する。本実施形態は、第1の実施形態と比較して、緊急コンテンツにデリバリ制御命令が記述されている点と、緊急コンテンツを取得したノード101はそのデリバリ制御命令に従ってデリバリ動作を制御する点で相違し、それ以外は第1の実施形態と同じである。
図21はデリバリ制御命令を有する緊急コンテンツの一例を示す。この例の緊急コンテンツは、図16に示した緊急コンテンツと比較して、「制御」という要素によって、制御命令が追加されている。この例では、コンテンツ取得時のネットワークトポロジを保存し、コンテンツのデリバリ動作を開始し、有効期限後、保存したネットワークトポロジに基づいてネットワークを構成する、というデリバリ制御命令が記載されている。本実施形態に係るノード101は、緊急コンテンツを取得すると、その緊急コンテンツに記述されたデリバリ制御命令に従って動作を行うように構成されている。
例えば、ノード101−1は、図15のステップS111において図21に示した緊急コンテンツを取得すると、デリバリ制御命令に従って、以下のような動作を行う。まず、ノード101−1は、コンテンツ取得時のネットワークトポロジとして、ノード101−1〜101−3がグループG1を構成していることを記憶部50に保存する。そして、ノード101−1は、緊急コンテンツのデリバリ動作を開始し、緊急コンテンツをノード101−2〜101−3へ通知し、ノード101−2〜101−3との接続を切断する等、第1の実施形態で説明したような動作を行う(ステップS112〜S118)。そして、例えば、ステップS118を実行して単独ノードとなった時点で、緊急コンテンツに記載されていた有効期限の2016年2月15日14時00分に達したとすると、ノード101−1は、保存してあったネットワークトポロジを記憶部50から読み出し、ネットワークを再構成するために、近隣からノード101−2、101−3を探索する。
他方、ノード101−1から緊急コンテンツを取得したノード101−2、101−3は、取得した緊急コンテンツのデリバリ制御命令に従って、コンテンツ取得時のネットワークトポロジとして、ノード101−1〜101−3がグループG1を構成していることを記憶部50に保存する。そして、ノード101−2は、緊急コンテンツのデリバリ動作を開始し、ノード101−1との接続の切断、ノード101−9との接続等、第1の実施形態で説明したような動作を行う(ステップS113、S121〜S125)。そして、例えば、ステップS125を実行して単独ノードとなった時点で、緊急コンテンツに記載されていた有効期限の2016年2月15日14時00分に達したとすると、ノード101−2は、保存してあったネットワークトポロジを記憶部50から読み出し、ネットワークを再構成するために、近隣からノード101−1、101−3を探索する。また、ノード101−3は、緊急コンテンツのデリバリ動作を開始し、ノード101−1との接続の切断、ノード101−6との接続等、第1の実施形態で説明したような動作を行う。そして、単独ノードとなった時点で、緊急コンテンツに記載されていた有効期限の2016年2月15日14時00分に達したとすると、ノード101−3は、保存してあったネットワークトポロジを記憶部50から読み出し、ネットワークを再構成するために、近隣からノード101−1、101−2を探索する。
こうして、ノード101−1〜101−3は互いに探索を行って発見すると、互いに接続する。これによって、ノード101−1〜101−3とで1つのグループが再構成される。
同様の理由により、一旦単独ノードとなったノード101−4〜101−5は、取得した緊急コンテンツの有効期限が切れた後、互いに接続して1つのグループを形成する。また、一旦単独ノードとなったノード101−6〜101−8は、取得した緊急コンテンツの有効期限が切れた後、互いに接続して1つのグループを形成する。さらに、ノード101−9は、保存してあるネットワークトポロジが単独ノードであるため、単独ノードとして存続する。
このように本実施形態によれば、緊急コンテンツに挿入したデリバリ制御命令に基づいて、当該緊急コンテンツを取得したノードの動作を制御することができる。
図21に記載した緊急コンテンツはあくまでの一例であり、本発明は図21に記載した緊急コンテンツに限定されるものではない。また、緊急コンテンツに記載するデリバリ制御命令は、図21に記載したもの以外に各種考えられる。例えば、以下のようなデリバリ制御命令であってもよい。
例えば、デリバリ制御命令は、緊急コンテンツの取得時および取得後に接続した他ノードの履歴を保存し、緊急コンテンツを通知すべきノードの探索では、上記履歴に記載のないノードを探索するような命令であってよい。
また、デリバリ制御命令は、緊急コンテンツの取得時から所定時間が経過すると、緊急コンテンツ取得時のネットワークトポロジを再構成するような命令であってよい。
[第5の実施形態]
図22を参照すると、本発明の第5の実施形態に係る無線通信端末500は、無線通信部501と自動接続制御部502とを有する。
無線通信部501は、他の無線通信端末とピアツーピアグループを形成することができる通信方式による無線通信を行う機能を有する。
自動接続制御部502は、無線通信部501を使用して他の無線通信端末を探索し、接続し、情報を授受し、切断する機能を有する。より具体的には、自動接続制御部502は、無線通信端末500が第1のピアツーピアグループに属する場合、新たに取得したコンテンツの内容に基づいて無線通信端末500をデリバリノードにするか否かを決定する機能を有する。また自動接続制御部502は、デリバリノードにすると決定した場合、無線通信端末500を第1のピアツーピアグループから切り離す機能と、他の無線通信端末を探索する機能とを有する。さらに自動接続制御部502は、探索によって発見した他の無線通信端末に接続して無線通信端末500と当該他の無線通信端末との間で上記コンテンツを授受する機能を有する。
このような機能を有する本実施形態に係る無線通信端末500は、以下のように動作する。すなわち、自動接続制御部502は、無線通信端末500が第1のピアツーピアグループに属する場合、新たに取得したコンテンツの内容に基づいて無線通信端末500をデリバリノードにするか否かを決定する。また、自動接続制御部502は、デリバリノードにすると決定した場合、無線通信部501を使用して、無線通信端末500を第1のピアツーピアグループから切り離し、他の無線通信端末を探索する。また、自動接続制御部502は、他の無線通信端末を発見すると、無線通信部501を使用して、当該発見した他の無線通信端末に接続し、無線通信端末500と当該他の無線通信端末との間で上記コンテンツを授受する。
本実施形態に係る無線通信端末500は、以上のように構成され動作することにより、第1のピアツーピアグループ外の無線通信端末との間でコンテンツを授受することができる。その理由は、無線通信端末500は、新たに取得したコンテンツの内容に基づいてデリバリノードになると、第1のピアツーピアグループから離脱して他の無線通信端末を探索し、発見した他の無線通信端末に接続して当該他の無線通信端末との間で上記コンテンツを授受するためである。
以上、本発明を幾つかの実施形態を挙げて説明したが、本発明は以上の例に限定されず、本発明の範囲内において各種の付加変更が可能である。