本実施形態の通信ネットワークシステムは、第1の中継器を含む第1のネットワーク、第2の中継器を含む第2のネットワークを有し、第1のネットワークへの接続要求を送信する第1の端末、第1のネットワークに接続し、第2のネットワークへも接続可能な第2の端末がある。さらに、第1のネットワークに接続し、第1の端末からの接続要求の受信に応答して、第1のネットワークへの第1の収容端末残数が0のとき、第2の端末の前記第2のネットワークへの接続先変更可否を問い合わせ、第2の端末の第2のネットワークへの接続先変更可に応じて、第1の端末を接続する第3の端末を有する。
通信ネットワークシステムは、第1のネットワークは、第1の中継器をルートノードとし、第3の端末は第2の端末より第1の中継器に近く接続しているツリー状のトポロジーを構成している。
通信ネットワークシステムは、第2の端末の第2のネットワークへの接続先変更拒否に応じて、第3の端末は、第3の端末より第1の中継器に近く接続している他の端末へ、そのような他の端末が無い場合は第1の中継器へ、第1の端末からの接続要求を送信する。
通信ネットワークシステムは、第1の端末からの接続要求を受信した第1の中継器からの、第1のネットワークへの接続先変更拒否に応じて、第3の端末は、第1の端末の前記第1のネットワークへの接続を待機させる。
通信ネットワークシステムは、第1の中継器の第1のネットワークからの離脱に応答して、第3の端末は、第2の端末を介して第2のネットワークへ接続する。
通信ネットワークシステムは、第3のネットワークを構成する第3の中継器から、第3のネットワークの第3の収容端末残数を含む接続先中継器変更要求の受信に応答して、第3の端末は、第1の収容端末残数と第3の収容端末残数との大きい方に対応する、第1のネットワークおよび第3のネットワークの一方に接続する。
以上のような通信ネットワークシステム、通信ネットワークを構成する端末、通信ネットワークの構成方法が、実施例として開示される。まず、各実施例に共通する事項について説明する。
図1は、後述する実施例1の、端末130が選択可能な複数のネットワークに接続する場合のトポロジーを例示する図である。具体的には、端末130がネットワークへ接続する状況において、接続先のネットワークを中継器110配下のネットワークと中継器120配下のネットワークから選択できる場合である。各ネットワークは、データ収集サーバ102と接続する各中継器によって特定される。中継器配下の端末は、中継器をルートノードとするツリー状のネットワークを構成する。ある端末から見て中継器側に接続する他の端末を上位端末、中継器とは反対側に接続する他の端末を下位端末と呼ぶ。データ収集サーバ102は、図示するように管理サーバ100と接続する。
図2Aに端末のハードウェア構成図を示し、図3Aに端末の機能構成図を示す。端末は、図2Aに示すように、CPU(Central Processing Unit)200、揮発性メモリ202、記憶装置204、通信インタフェース206を搭載している端末であり、スマートメータやセンサー等が該当する。記憶装置204は、ハードディスクや不揮発性メモリといった記憶媒体であり、図3Aに示すように、隣接端末管理テーブル300、トポロジー管理テーブル302、ならびに、緊急時トポロジー管理テーブル304を有する。隣接端末管理テーブル300、トポロジー管理テーブル302、緊急時トポロジー管理テーブル304の構成を図4A〜図4Cに示す。なお、端末が緊急時トポロジー管理テーブル304を有するように図3Aに示し、引き続き図4Cも説明するが、本実施例では用いず、後述の実施例2で用いる。
図4Aに示す隣接端末管理テーブル300は、周辺に存在し、直接、通信可能な端末(隣接端末:上位端末及び下位端末)に関する情報を記録するテーブルであり、チャネル番号400、端末ID402、中継器ID404、データ収集サーバID406、ならびに、収容残数408から成る。チャネル番号400には、中継器によって特定されるネットワークに対応して規定され、そのネットワークに接続する端末が使用する通信チャネルを一意に識別するID(Identification)を設定する。端末ID402には、IP(Internet Protocol)アドレス等の、隣接端末を一意に識別するIDを設定する。中継器ID404には、隣接端末が属するネットワークの中継器を一意に識別する、IPアドレス等のIDを設定する。データ収集サーバID406には、隣接端末が属するネットワークの中継器が接続するデータ収集サーバを一意に識別する、IPアドレス等のIDを設定する。収容残数408には、中継器配下のネットワークに接続できる端末の残り台数を設定する。
図4Bに示すトポロジー管理テーブル302は、自端末が属しているネットワークを特定する中継器ID410、自端末に接続する上位端末のID412、自端末に接続する下位端末のID414、自端末が属しているネットワークに接続している接続端末数416からなる。中継器ID410は、各端末に関して、隣接端末管理テーブル300の中継器ID404と同じである。
図4Cに示す緊急時トポロジー管理テーブル304の構成は、トポロジー管理テーブル302と同じであり、中継器ID420、上位端末のID422、下位端末のID424、接続端末数426からなる。
図3Aに示すように、端末は、通信部306、チャネルスキャン部308、送信パケット生成部310、受信パケット解析部312、パケット中継部314、テーブル更新部316を有する。通信部306は、通信インタフェース206を通じて、各端末、中継器、データ収集サーバと、直接的または間接的に通信する。、隣接端末とは直接的な通信により、端末ID402、中継器ID404、データ収集サーバID406、および、収容残数408を送受信する。チャネルスキャン部308は、通信インタフェース206を通じて、周辺で通信に利用されているチャネルを検出し、そのチャネルにより通信可能な隣接端末を検出する。送信パケット生成部310は、通常のデータパケットの生成送信と共に、本実施例では、端末がネットワークに接続する際、あるいは、ネットワークから離脱する際に、通信インタフェース206を通じて、接続要求等の制御パケットを送信する。受信パケット解析部312は、通信インタフェース206を通じて受信したパケットの種類を解析して、パケットに含まれるデータや制御データを抽出する。パケット中継部314は、通信インタフェース206を通じて受信したデータパケットが自端末宛のパケットではない場合、正規の宛先に近づくように次の隣接端末へ中継する。テーブル更新部316は、受信パケット解析部312において抽出されたデータを基に、各種テーブルの値を更新する。本実施例では、制御データを基に、隣接端末管理テーブル300などのテーブルを更新する。
図2Bに中継器のハードウェア構成図を示し、図3Bに中継器の機能構成図を示す。中継器は、図2Bに示すように、CPU210、揮発性メモリ212、記憶装置214、通信インタフェース216を搭載している端末であり、ゲートウェイ等が該当する。記憶装置214とは、ハードディスクや不揮発性メモリといった記憶媒体であり、図3Bに示すように、端末と同様のトポロジー管理テーブル302、及びネットワーク管理テーブル320を有する。ネットワーク管理テーブル320の構成を図4Dに示す。
図4Dに示すネットワーク管理テーブル320は、中継器配下のネットワークに収容される端末の台数を管理するテーブルであり、最大収容端末台数430、収容端末数432、収容残数434から成る。最大収容端末数430には、中継器に搭載されるCPUの性能や通信媒体等から算出される、中継器配下のネットワークに接続可能な端末の台数の最大値を設定する。収容端末数432には、中継器配下のネットワークに接続している端末の台数を設定する。収容残数434には、最大収容端末数430から収容端末数432を減算した値を設定する。
図3Bに示すように、中継器は、通信部322、チャネルスキャン部324、送信パケット生成部326、受信パケット解析部328、パケット中継部330、テーブル更新部332を有する。通信部322は、通信インタフェース216を通じて、各端末、および、他の中継器と通信することにより、端末ID402、中継器ID404、データ収集サーバID406、ならびに、収容残数408を送受信する。チャネルスキャン部308は、通信インタフェース216を通じて、周辺で通信に利用されているチャネルを検出する。送信パケット生成部326とは、中継器が、ネットワークに接続する際、あるいは、ネットワークから離脱する際に、通信インタフェース216を通じて、接続要求等を送信する。受信パケット解析部328は、通信インタフェース216を通じて受信したパケットの種類を解析して、パケットに含まれるデータを抽出する。パケット中継部330は、通信インタフェース216を通じて受信したパケットが自中継器宛のパケットではない場合、正規の宛先に近づくように次の中継器や端末へ中継する。ネットワーク管理テーブル更新部332は、受信パケット解析部328において受信パケットから抽出されたデータを基に、ネットワーク管理テーブル320の値を更新する。
図2Cにデータ収集サーバのハードウェア構成図を示し、図3Cにデータ収集サーバの機能構成図を示す。データ収集サーバは、図2Cに示すように、CPU220、揮発性メモリ222、記憶装置224、通信インタフェース226を搭載した情報処理装置であり、端末からアップロードされたデータを管理するデータベースサーバ等が該当する。記憶装置224は、ハードディスクや不揮発性メモリといった記憶媒体である。
図3Cに示すように、データ収集サーバは、通信部340、送信パケット生成部342、受信パケット解析部344、パケット中継部346を有する。通信部340は、通信インタフェース226を通じて、各中継器、および、管理サーバと通信することにより、データ収集サーバのIDや待機中の端末のIDを送受信する。送信パケット生成部342は、通信インタフェース226を通じて、データ収集サーバのID等を送信する。受信パケット解析部344は、通信インタフェース226を通じて受信したパケットの種類を解析して、パケットに含まれるデータを抽出する。パケット中継部346は、通信インタフェース226を通じて受信したパケットが自端末宛のパケットではない場合、正規の宛先に近づくように管理サーバ、あるいは、中継器へ中継する。
図2Dに管理サーバのハードウェア構成図を示し、図3Dに管理サーバの機能構成図を示す。管理サーバは、図2Dに示すように、CPU230、揮発性メモリ232、記憶装置234、通信インタフェース236、画面表示部238を搭載した情報処理装置であり、アプリケーションサーバ等が該当する。記憶装置234は、ハードディスクや不揮発性メモリといった記憶媒体であり、図3Dに示すように、待機端末管理テーブル360を有する。待機端末管理テーブル360の構成を図4Eに示す。
図4Eに示す待機端末管理テーブル360は、ネットワークに接続できなかった端末に関する情報を管理するテーブルであり、待機端末ID440、中継器ID442、ならびに、データ収集サーバID444から成る。待機端末ID440には、ネットワークに接続できなかった端末のIDを設定する。中継器ID442には、ネットワークに接続できなかった端末が属する中継器のIDを設定する。データ収集サーバID444には、ネットワークに接続できなかった端末が属するデータ収集サーバのIDを設定する。
図3Dに示すように、管理サーバは、通信部362、送信パケット生成部364、受信パケット解析部366、パケット中継部368、待機端末管理テーブル更新部370を有する。通信部362は、通信インタフェース236を通じて、データ収集サーバと通信することにより、管理サーバのIDやデータ収集サーバのID等を送受信する。送信パケット生成部364は、通信インタフェース236を通じて、管理サーバのID等を送信する。受信パケット解析部366とは、通信インタフェース236を通じて受信したパケットの種類を解析して、パケットに含まれるデータを抽出する。端末状態表示部368は、画面表示部238を通じて、管理サーバが提供する方法で待機端末に関する情報を表示する。待機端末管理テーブル更新部370は、受信パケット解析部366において抽出されたデータを基に、待機端末管理テーブル360の値を更新する。
以上の構成における動作を以下の実施例により説明する。
本実施例では、新規に設置された端末がネットワークに接続する場合のシーケンス、及び端末がネットワークから離脱する場合のシーケンスの例を説明する。
図1は、前述したように、端末130が選択可能な複数のネットワークに接続する場合のトポロジーを例示する図である。具体的には、端末130がネットワークへ接続する状況において、接続先のネットワークを中継器110配下のネットワークと中継器120配下のネットワークから選択できる場合である。
図5は、図1に示す端末130が中継器110配下のネットワークに接続する際のシーケンスを示した図である。後述するシーケンス図でも同様であるが、複数の端末等による横並びのステップは、図示の都合上であり、時間的に同期していることを示すものではない。
端末130は、ネットワークに接続する場合、チャネルスキャン処理を実行する(ステップ500)。チャネルスキャン処理のフローチャートを図6に示す。端末130は、変数iに“1”を設定して、1番目のチャネルを使用して通信を行う周辺端末が存在するかをスキャンする(ステップ600〜ステップ604)。1番目のチャネルを使用して通信を行う端末112を周辺端末として検出した場合は、端末130は端末112から、端末112のID、端末112が接続中のネットワークの中継器110のID、データ収集サーバ102のID、ならびに、中継器110の収容残数を受信する(ステップ606、ステップ608)。端末130からのスキャンに応答して、端末112は、自らのID(端末112のID)と共に、自らの隣接端末管理テーブル300に登録している中継器110のIDなどを送信する。データ収集サーバ102のIDを受信した端末130は、データ収集サーバ102が接続先として選択可能なデータ収集サーバであるかを判断して、隣接端末管理テーブル300のチャネル番号400に“1”、端末ID402に端末112のID、中継器ID404に中継器110のID、データ収集サーバID406にデータ収集サーバ102のID、収容残数408に端末112から受信した収容残数を登録する(ステップ610、ステップ612)。他に1番目のチャネルを使用する端末を検出できなかった場合は、変数iに“1”を加算する(ステップ614)。2番目のチャネルを使用する周辺端末124を検出した場合は、周辺端末112を検出した場合と同様の手順で隣接端末管理テーブル300、ならびに、変数iを更新する(ステップ602〜ステップ614)。システムで使用しているチャネルの全てにおいて、そのチャネルを使用する周辺端末が存在するかを確認した後、チャネルスキャン処理を終了する(ステップ602)。
チャネルスキャン処理を終了した端末130は、隣接端末管理テーブル300を参照して、収容残数408の値が最も大きいネットワークに属している周辺端末である端末112に、接続する端末の台数は“1”であるという情報と、その端末のIDとして端末130のIDを含む接続要求のパケット(以降、接続要求のような制御パケットに送信に関して、単に接続要求を送信すると表現する。また、各制御パケットは、その制御パケットの送信の源の端末のIDを含む。)を送信する(ステップ502)。
接続要求を受信した端末112は、接続要求受付処理を実行して、接続許可を端末130へ送信する(ステップ504〜ステップ508)。接続要求受付処理の詳細は後述する。接続許可を送信した端末112は、接続要求の送信元である端末130のIDを自らのトポロジー管理テーブル302の下位端末ID414に登録する(ステップ510)。
接続許可を受信した端末130は、接続許可の送信元である端末112を自らのトポロジー管理テーブル302の上位端末ID422に登録して、接続する端末の台数が“1”であるという情報を含む接続通知を端末112に送信する(ステップ512〜ステップ516)。
接続通知を受信した端末130は、トポロジー管理テーブル302の接続端末数416に“1”を加算して、接続通知を中継器110に中継する(ステップ518〜ステップ522)。
接続通知を受信した中継器110は、ネットワーク管理テーブル320の収容端末数432に“1”を加算して、収容残数434から“1”を減算する(ステップ524、ステップ526)。更新後の収容残数434の値を、中継器110配下のネットワークに接続する全ての端末に配信する(ステップ528)。
収容残数を受信した端末112は、隣接端末管理テーブル300の収容残数408を更新して、収容残数を下位端末である端末130に送信する(ステップ530〜ステップ534)。
端末130は、隣接端末管理テーブル300の収容残数408に受信した収容残数を更新(設定)する(ステップ536、ステップ538)。
図7は、端末が、選択したネットワークへ接続できず、他のネットワークに接続する場合のトポロジーを例示する図である。具体的には、端末730がネットワークへ接続する状況において、中継器700の収容残数が“0”である場合のトポロジーを例示する図である。図8及び図9は、図7の状況において、端末730が、中継器700配下のネットワークに接続できず、中継器710配下のネットワークに接続する際のシーケンスを示した図である。
端末700は、チャネルスキャン処理を実行した後、端末706に接続要求を送信する(ステップ800、ステップ802)。
接続要求を受信した端末706は、接続要求受付処理を実行して、収容残数が“0”であるため、下位端末である端末708に接続先変更要求を送信する(ステップ804〜ステップ808)。接続要求受付処理の詳細は後述する。
接続先変更要求を受信した端末708は、接続先変更検討処理を実行して、接続先変更拒否(ここでは、接続先を変更できないことを仮定している。)を接続先変更要求の送信元である端末706に送信する(ステップ810〜ステップ814)。接続先変更検討処理の詳細は後述する。
接続先変更拒否を受信した端末706は、接続要求受付処理を実行して、トポロジー管理テーブル302に登録している下位端末から接続先変更の承認が得られなかったため、上位端末である端末702に接続先変更要求を送信する(ステップ816〜ステップ820)。接続要求受付処理の詳細は後述する。
接続先変更要求を受信した端末702は、接続先変更検討処理を実行して、下位端末である端末704に接続先変更要求を送信する(ステップ822〜ステップ826)。接続要求受付処理の詳細は後述する。
接続先変更要求を受信した端末704は、接続先変更検討処理を実行して、中継器710配下のネットワークに属する端末712と通信できるため(端末708は接続先を変更できないと仮定し、端末704は、中継器710配下のネットワークに属する端末712に接続変更できると仮定して説明する。)、隣接端末管理テーブル300に登録されている端末712に関する情報を含む接続先変更承認を端末702に送信する(ステップ828〜ステップ832)。接続先変更検討処理の詳細は後述する。なお、端末704が接続変更できない場合は、図11を用いて後述する、接続先変更拒否を送信するシーケンスに従う。
接続先変更承認を受信した端末702は、接続先変更承認を接続先変更要求の送信元である端末706に送信する(ステップ834、ステップ836)。端末702は、トポロジー管理テーブル302の下位端末ID414から端末712を削除して、接続端末数416から“1”を減算する(ステップ838)。図4Bの例示は下位端末が一台の場合を示しているが、下位端末が複数台の場合は、下位端末ID414の欄を複数台分にする。端末702は、端末704から受信した端末712に関する情報(端末704は、中継器710配下のネットワークに接続している端末712に関する情報を、自らの隣接端末管理テーブル300に有している。)を基に、隣接端末管理テーブル300の端末704に関するチャネル番号400、中継器ID404、データ収集サーバID406、ならびに、収容残数408を更新する(ステップ840)。収容残数408は、端末704に関するチャネル番号400に対応しては、端末712に関する情報に含まれる中継器710配下のネットワークの収容残数から“1”を減算した値とし、端末706に関するチャネル番号400に対応しては、“0”から“1”に更新する。
接続先変更承認を受信した端末706は、接続許可を端末730に送信して、接続要求の送信元である端末730をトポロジー管理テーブル302の下位端末ID414に登録する(ステップ842〜ステップ846)。
接続許可を受信した端末730は、接続許可の送信元である端末706をトポロジー管理テーブル302の上位端末ID422に登録して、接続する端末の台数が“1”であるという情報を含む接続通知を端末706に送信する(ステップ848〜ステップ900)。
以降、図5にて示したシーケンスと同様に、接続通知が中継器700まで中継されると共に各端末のトポロジー管理テーブル302が更新されて、中継器700から収容残数がネットワーク全体に配信される(ステップ902〜ステップ942)。
図10は、端末が、選択したネットワークへ接続できず、他のネットワークにも接続できない場合のトポロジーを例示する図である。具体的には、端末730がネットワークへ接続する状況において、中継器700の収容残数が“0”であり、端末708は、接続先変更を拒否し、かつ、端末704が端末712と通信できない(接続先変更を拒否する)場合のトポロジーを例示する図である。図11は、図10の状況において、端末730が中継器700配下のネットワークに接続を試みる際のシーケンスを示した図である。なお、端末704が接続先変更要求を受信するまでは、図8のシーケンスと同様であるため、それ以降のシーケンスについて以下で説明する。
接続先変更要求を受信した端末704は、接続先変更検討処理を実行して、接続先変更拒否を接続先変更要求の送信元である端末702に送信する(ステップ1100〜ステップ1104)。接続先変更検討処理の詳細は後述する。
接続先変更拒否を受信した端末702は、接続要求受付処理を実行して、トポロジー管理テーブル302に登録している下位端末から接続先変更の承認が得られなかったため、上位端末である中継器700に接続先変更要求を送信する(ステップ1106〜ステップ1110)。接続要求受付処理の詳細は後述する。
接続先変更要求を受信した中継器700は、接続要求受付処理を実行して、トポロジー管理テーブル302に登録している下位端末から接続先変更の承認が得られなかったため、接続先変更要求の送信元である端末702に接続拒否を送信する(ステップ1112〜ステップ1116)。中継器における接続要求受付処理の詳細は後述する。
接続拒否を受信した端末702は、接続先変更要求の送信元である端末706に接続拒否を送信する(ステップ1118、ステップ1120)。
接続拒否を受信した端末706は、接続要求の送信元である端末730に接続拒否を送信する(ステップ1122、ステップ1124)。
接続拒否を受信した端末730は、端末706に待機通知を送信して、待機する(ステップ1126〜ステップ1130)。
待機通知を受信した端末706は、上位端末である端末702へ待機通知を送信する(ステップ1132、ステップ1134)。
待機通知を受信した端末702は、中継器700へ待機通知を送信する(ステップ1136、ステップ1138)。
待機通知を受信した中継器700は、データ収集サーバ102へ待機通知を送信する(ステップ1140、ステップ1142)。
待機通知を受信したデータ収集サーバ102は、管理サーバ100へ待機通知を送信する(ステップ1144、ステップ1146)。
待機通知を受信した管理サーバ100は、受信した待機通知を示す制御パケットに含まれている、待機通知を発行した端末730のID、端末730が属するネットワークの中継器700のID、および管理サーバ100へ待機通知を送信してきたデータ収集サーバ102のIDを、それぞれ待機端末管理テーブル360の待機端末ID440、中継器ID442、及びデータ収集サーバID444に登録する。管理サーバ100は、さらに画面表示部238により、待機通知の送信元である端末730のIDを表示する(ステップ1148、ステップ1150)。
なお、待機している端末730は、所定周期で接続要求を端末706に送信する(図5のステップ502に相当)。接続できたならば、中継器700が(図5のステップ524〜ステップ528のタイミングで)端末706がネットワークに接続できたことをデータ収集サーバ102を介して管理サーバ100へ通知することにより、管理サーバ100が待機端末管理テーブル360をクリアし、端末730の待機状態が解消される。
図12は、端末1204が中継器1200配下のネットワークから離脱する場合のトポロジーを例示する図である。図13は、図12の状況において、端末1204が中継器1200配下のネットワークから離脱する際のシーケンスを示した図である。
ネットワークから離脱する端末1204は、ネットワーク切断通知を端末1206、ならびに、端末1202へ送信する(ステップ1300)。
ネットワーク切断通知を受信した端末1206は、トポロジー管理テーブル302、ならびに、隣接端末管理テーブル300から端末1204に関する情報を削除して、図5で示した初期接続のシーケンスを実行する(ステップ1302〜ステップ1306)。
ネットワーク切断通知を受信した端末1202は、トポロジー管理テーブル302、ならびに、隣接端末管理テーブル300から端末1204に関する情報を削除して、ネットワーク切断通知を中継器1200に送信する(ステップ1308〜ステップ1314)。
ネットワーク切断通知を受信した中継器1200は、ネットワーク管理テーブル320の収容端末数432から“2”を減算して、収容残数434に“2”を加算する(ステップ1316、ステップ1318)。更新後の収容残数434を中継器1200配下の全端末に送信する(ステップ1320)。
収容残数を受信した端末1202、ならびに、端末1208は、隣接端末管理テーブル300の収容残数408を更新する(ステップ1322〜ステップ1328)。
図14に、接続要求受付処理のフローチャートを示す。接続要求を受信した場合、隣接端末管理テーブル300を参照して、自端末の接続しているネットワークの収容残数が“0”より大きいかを判断する(ステップ1400、ステップ1402)。収容残数が“0”より大きい場合は、接続要求の送信元の端末へ接続許可を送信する(ステップ1404)。また、収容残数が“0”であった場合、あるいは、接続先変更要求、接続先変更拒否を受信した場合は、トポロジー管理テーブル302の下位端末ID414を参照して、そこに登録されている端末へ接続先変更要求を送信する(ステップ1406〜ステップ1410)。下位端末ID414に登録されている全端末に接続先変更要求を送信しても接続先変更承認が得られなかった場合は、トポロジー管理テーブル302の上位端末412に登録されている端末へ接続先変更要求を送信する(ステップ1412)。
図15に、中継器における接続要求受付処理のフローチャートを示す。なお、図14に示す端末の接続先要求受付処理のステップ1400〜ステップ1410は同じであるので、ここでは端末の接続先要求受付処理と異なるステップ1512について説明する。中継器では、全ての下位端末に接続先変更要求を送信して接続先変更承認が得られなかった場合、接続要求の送信元の端末に対して接続拒否を送信する(ステップ1512)。
図16に、接続先変更検討処理のフローチャートを示す。まず、接続先変更要求を受信した端末は、隣接端末管理テーブル300を参照して、現在接続中の中継器配下のネットワークとは異なる他の中継器配下のネットワークに接続している端末が存在するかを確認する(ステップ1600、ステップ1602)。他の中継器配下のネットワークに接続中の端末が存在する場合、接続先変更要求の送信元の端末へ接続先変更承認を送信して、他の中継器配下のネットワークに接続中の端末に対して、接続要求を送信する(ステップ1604、ステップ1606)。また、隣接端末管理テーブルに他の中継器に接続中の端末が登録されていない場合、接続先変更要求の送信元の端末へ接続拒否を送信する(ステップ1608)。
本実施例では、中継器が故障などにより一時的に離脱した場合のネットワークの構築方法、及び中継器が故障などから復帰し、再接続する場合のネットワークの構築方法の例を説明する。
図17は、中継器700が故障などにより一時的に離脱した場合のトポロジーを例示する図である。図18、図19、および図20は、図17の状況において、中継器700が故障などにより離脱した場合にネットワークが再構築される際のシーケンスを示した図である。
ある期間(たとえば、30秒)、通信できない等の理由により中継器700の故障を検出した端末702は、トポロジー管理テーブル302を参照して、下位端末である端末704へ他中継器接続状況報告要求を送信する(ステップ1800、ステップ1802)。
他中継器接続状況報告要求を受信した端末704は、隣接端末管理テーブル300を参照して、故障した中継器700とは異なる中継器に接続中の端末が登録されているかを確認して、他の中継器に接続中の端末が存在しないことを通知する内容の中継器接続状況を送信する(ステップ1804〜ステップ1808)。
他中継器接続状況を受信した端末702は、ステップ1802と同様に、他中継器接続状況報告要求を下位端末である端末706に送信する(ステップ1810、ステップ1812)。端末702は、ステップ1812を、ステップ1802と並行して実行しても良い。
他中継器接続状況報告要求を受信した端末706は、隣接端末管理テーブル300を参照して、故障した中継器700とは異なる中継器に接続中の端末が登録されているかを確認する(ステップ1814、ステップ1816)。端末706は、他の中継器710に接続中の端末712へ収容残数報告要求を送信する(ステップ1818)。
収容残数報告要求を受信した端末712は、隣接端末管理テーブル300を参照して、収容残数報告を端末706へ送信する(ステップ1820、ステップ1822)。
収容残数報告を受信した端末706は、収容残数報告の内容を含む他中継器接続状況を端末702へ送信する(ステップ1824、ステップ1826)。
他中継器接続状況を受信した端末702は、下位端末から受信した他中継器接続状況に含まれる収容残数を比較して、最も収容残数の値の大きい中継器に接続可能な端末へ接続先中継器変更を送信する(ステップ1828〜ステップ1902)。送信する接続先中継器変更には、端末702、端末704及び端末706の3台の端末の接続先を変更する内容を含んでいる。ここでは、収容残数報告の内容を含む他中継器接続状況は、下位端末である端末706からのみであるので、最も収容残数の値の大きい中継器に接続可能な端末として端末706を選択することになるが、複数の下位端末から収容残数報告の内容を含む他中継器接続状況を受信した場合は、最も収容残数の値の大きい中継器に接続可能な端末へ接続先中継器変更を送信する。
接続先中継器変更を受信した端末706は、端末712へ接続要求を送信する(ステップ1904、ステップ1906)。
接続要求を受信した端末712は、接続要求受付処理を実行した後、端末706へ接続許可を送信する(ステップ1908〜ステップ1912)。端末712は、接続要求の送信元である端末706をトポロジー管理テーブル302の下位端末ID414に登録する(ステップ1914)。
接続許可を受信した端末706は、端末702、端末704、ならびに端末706が新規に接続するという内容を含む接続通知を端末712へ送信して、3台の端末が新規に接続すること、及び、中継器710配下のネットワークのチャネル番号及び収容残数(隣接端末管理テーブル300の中継器ID404が中継器710であるチャネルの収容残数408から3を減算した値)を含む接続先中継器変更完了を端末702へ送信する(ステップ1916〜ステップ1920)。このシーケンスにおけるトポロジーの変更が一時的なものであることを管理するために、端末706は、緊急時トポロジー管理テーブル304の上位端末ID422に端末712を登録して、下位端末ID424に端末702を登録する(ステップ1922)。また、端末706は、隣接端末管理テーブル300の中継器ID404が中継器710であるチャネルの収容残数408を更新(−3)する(ステップ1924)。
接続先中継器変更完了を受信した端末702は、接続先中継器変更完了の内容を含んだチャネル変更通知を下位端末である端末704に送信する(ステップ1926、ステップ1928)。端末702は、使用するチャネルを変更した後、緊急時トポロジー管理テーブル304の上位端末ID422に端末706のIDを登録して、接続端末数426を更新する(ステップ1930、ステップ1932)。また、端末702は、受信した接続先中継器変更完了の内容に基づいて、隣接端末管理テーブル300のチャネル番号400、中継器ID404、ならびに、収容残数408を更新する(ステップ1934)。
チャネル変更通知を受信した端末704は、使用するチャネルを変更して、チャネル変更通知の内容に基づいて隣接端末管理テーブル300のチャネル番号400、中継器ID404、ならびに、収容残数408を更新する(ステップ1936〜ステップ1940)。
接続通知を受信した端末712は、トポロジー管理テーブル302の下位端末ID414、ならびに、接続端末数416を0から3に更新して、接続通知を中継器710へ送信する(ステップ1942〜ステップ1946)。
接続通知を受信した中継器710は、図5にて示したシーケンスのステップ524以降と同様に、中継器710から収容残数がネットワーク全体に配信される(ステップ1948、ステップ1950、ステップ2000〜ステップ2022、)。
図21は、図17の状況において、故障などにより離脱した中継器700が復旧し、再接続する際のシーケンスを示した図である。
中継器700から送信されるビーコン等を受信したことにより、中継器700の復旧を検出した端末702は、再接続要求を中継器700へ送信する(ステップ2100、ステップ2102)。
再接続要求を受信した中継器700は、不揮発性の記憶装置214に記憶されているネットワーク管理テーブル320を参照することにより、端末702が以前に中継器700に接続していたことを認識して、再接続承認を端末702へ送信する(ステップ2104〜ステップ2108)。
再接続要承認を受信した端末702は、ネットワーク切断要求を端末706へ送信する(ステップ2110、ステップ2112)。
ネットワーク切断要求を受信した端末706は、図13で示したシーケンスと同様の手順で、中継器710のネットワークから離脱して、ネットワーク切断完了を端末702へ送信する(ステップ2114〜ステップ2118)。
以降、図13で示したシーケンスと同様に、端末712のトポロジー管理テーブル302、ならびに、隣接端末管理テーブル300が更新されて、ネットワーク切断通知を受信した中継器710から収容残数が配信される(ステップ2120〜ステップ2136)。
ネットワーク切断完了を受信した端末702は、チャネル変更通知を端末704、ならびに端末706へ送信して、再接続完了を中継器700へ送信する(ステップ2138〜ステップ2142)。
チャネル変更通知を受信した端末704、ならびに、端末706は、使用するチャネルを変更した後、隣接管理テーブル300のチャネル番号400、ならびに、中継器ID404を更新する(ステップ2144〜ステップ2154)。
接続完了を受信した中継器700は、図5にて示したシーケンスのステップ524以降と同様に、収容残数をネットワーク全体に配信する(ステップ2156〜ステップ2174)。
本実施例では、新規に中継器が設置された場合のネットワークの構築方法の例を説明する。図22は、中継器710が新規に設置された場合のトポロジーを例示する図である。図23、および図24は、図22の状況において、中継器710が新規に設置された場合にネットワークが再構築される際のシーケンスを示した図である。
新規に設置された中継器710は、チャネルスキャン処理を実行することにより、周辺で通信を行う端末を検出して、収容残数に関する情報を含む接続先中継器変更要求を送信する(ステップ2300、ステップ2302)。
接続先中継器変更要求を受信した端末704は、隣接端末管理テーブル300を参照することにより、現在接続中の中継器700配下のネットワークの収容残数408と中継器710から受信した収容残数を比較して、中継器710から受信した収容残数の値が大きい場合は接続先中継器変更承認を中継器710へ送信する(ステップ2304〜ステップ2308)。
接続先中継器変更承認を受信した中継器710は、新規に構築するネットワークで使用するチャネル番号を端末704へ送信する(ステップ2310、ステップ2312)。
チャネル番号を受信した端末704は、ネットワーク切断通知を端末702へ送信する(ステップ2314、ステップ2316)。また、端末704は、チャネル番号を端末706へ送信して、使用するチャネルを変更した後、隣接管理端末テーブル300のチャネル番号を更新して、接続先中継器変更完了を中継器710へ送信する(ステップ2318〜ステップ2324)。
以降、図13に示すシーケンスと同様に、ネットワーク切断通知は端末702から中継器700へと送信されて、端末702のトポロジー管理テーブル302、隣接端末管理テーブル300、ならびに、中継器700のネットワーク管理テーブルが更新された後、収容残数が中継器700配下のネットワーク全体に配信される(ステップ2326〜ステップ2342)。
チャネル変更通知を受信した端末706は、使用するチャネルを変更した後、隣接端末管理テーブル300のチャネル番号400、ならびに、中継器ID404を更新する(ステップ2344〜ステップ2348)。
接続先中継器変更完了を受信した中継器710は、ネットワーク管理テーブル320を更新して、収容残数を端末704へ送信する(ステップ2350〜ステップ2354)。
以降、図5にて示したシーケンスのステップ524以降と同様に、収容残数を中継器710配下のネットワーク全体に配信する(ステップ2356〜ステップ2364)。
収容残数の配信が終了した中継器710は、接続先中継器変更要求を端末704へ送信する(ステップ2400)。
接続先中継器変更要求を受信した端末704は、隣接端末管理テーブル300を参照して、他の中継器に接続中の端末702へ接続先中継器変更要求を送信する(ステップ2402〜ステップ2406)。
接続先中継器変更要求を受信した端末702は、隣接端末管理テーブル300を参照することにより、現在接続中の中継器700の収容残数と中継器710の収容残数を比較して、中継器700の収容残数の値が大きい場合、接続先中継器変更拒否を端末704へ送信する(ステップ2408〜ステップ2412)。
接続先中継器変更拒否を受信した端末704は、接続先中継器変更拒否を中継器710へ送信する(ステップ2414、ステップ2416)。
接続先中継器変更拒否を受信した中継器710は、ネットワーク管理テーブル320を参照して、接続先中継器変更要求を送信していない端末がいない場合は処理を終了する(ステップ2418、ステップ2420)。
以上、実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
例えば、接続先のネットワークを選択する際の基準を、中継器にかかる負荷をできるだけ均一にする収容残数ではなく、通信速度を向上させることができる端末間の電界強度としてもよい。
説明した実施形態によれば、ネットワークのトポロジーに変化があった場合において、ネットワークに接続可能な端末の台数の制限の中でネットワークの構築が可能となる。