無線通信ネットワークシステム、無線通信ネットワークシステムの管理サーバ、及び無線通信ネットワークシステムの構築方法
【課題】複数端末のデータを収集する無線通信ネットワークを構築すること。
【解決手段】管理サーバ10は、第1端末40dが第1中継器30aの管理する第1ネットワークグループN1に参加を要求するとき、第1中継器30aに第1端末40dを収容可能か否か判断する。管理サーバ10は、収容可能と判断した場合、第1端末40dが第1ネットワークグループN1に参加することを許可する接続先情報を、第1端末40d宛に送信する。
【解決手段】管理サーバ10は、第1端末40dが第1中継器30aの管理する第1ネットワークグループN1に参加を要求するとき、第1中継器30aに第1端末40dを収容可能か否か判断する。管理サーバ10は、収容可能と判断した場合、第1端末40dが第1ネットワークグループN1に参加することを許可する接続先情報を、第1端末40d宛に送信する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信ネットワークシステムを構築する技術に関する。
【背景技術】
【0002】
スマートグリッド(次世代電力網)は、自動検針システムを備える。自動検針システムは、通信機能を持った電気メータ(いわゆるスマートメータ)等の端末が、自動的に電気使用量等の各種データを電力事業者に報告する。
【0003】
特許文献1には、通信ネットワークを構成する複数の中継器の負荷バランスがほぼ均等になるように、各中継器に各通信端末を接続することが記載されている。
【0004】
特許文献2には、周囲に多くの無線通信装置が存在する場合であっても、無線通信装置間の無駄な通信プロトコルの発生を抑制することが記載されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2001−256157号公報
【特許文献2】特開2009−218811号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
自動検針システムは、電気使用量等の重要なデータを収集する。したがって、無線通信ネットワークは、端末の参加又は端末の離脱等の様々な事態が発生しても、各端末のデータを確実に収集できる高い信頼性が要求される。
【0007】
特許文献1は、新たな端末がネットワークに参加する際、無線通信ネットワークのトラフィックが増大してしまう。なぜなら、サーバにおいて、新たに参加した端末と全ての中継器との接続状況を収集して接続先中継器の優先度を再計算し、その結果を配布するためである。
【0008】
特許文献2は、端末1台あたりの通信帯域を保証できない。なぜなら、無線通信帯域は有限なため、新たに参加した端末の分だけ、従来の端末が使用していた通信帯域が少なくなるからである。
【0009】
そこで、本発明の目的は、信頼性の比較的高い無線通信ネットワークを構築することである。
【0010】
本発明の別の目的は、各端末のデータを収集できる比較的信頼性の高いマルチホップ型無線通信ネットワークを構築することである。
【0011】
本発明の別の目的は、端末の参加又は端末の離脱等の様々な事態が発生したとき、比較的迅速にマルチホップ型無線通信ネットワークを再構築することである。
【課題を解決するための手段】
【0012】
本発明の一実施形態に従う無線通信ネットワークシステムは、
無線通信が可能な複数の端末を少なくとも一つの中継器を介して管理サーバに接続する通信ネットワークシステムであって、
中継器は、複数の端末をネットワークグループとして管理し、複数の端末と管理サーバとの間の通信を中継するものであり、
管理サーバは、
通信ネットワークを介して複数の端末又は複数の中継器とデータの送受信を行う通信部と、
ネットワークグループの構成を制御するための情報を送信する接続処理部とを備えており、
接続処理部は、
複数の端末のうちの第1端末が、複数の中継器のうちの第1中継器により管理される第1ネットワークグループに参加を要求する場合に、第1中継器に第1端末を収容可能か否か判断し、
収容可否判断が肯定的なときは、第1端末が第1ネットワークグループに参加することを許可する接続先情報を、通信部を介して第1端末宛に送信する。
【0013】
好適な実施形態では、第1中継器及び第1ネットワークグループに属する複数の端末は、マルチホップ型無線通信で相互に接続されており、第1中継器をルートノードとするツリー状のネットワークトポロジーを構成してもよい。
【0014】
好適な実施形態では、接続処理部は、
収容可否判断が否定的なとき、第1ネットワークグループに属する複数の端末のうち、第1ネットワークグループと異なる第2ネットワークグループに移行可能な移行候補端末が存在するか否かを判断し、
移行可否判断が肯定的なときは、移行候補端末のうち移行対象を選択し、
第2ネットワークグループに移行させるための接続先変更情報を、通信部を介して、移行対象の端末宛に送信し、
第1端末が第1ネットワークグループに参加することを許可するための接続先情報を、通信部を介して第1端末宛に送信してもよい。
【図面の簡単な説明】
【0015】
【図1】本発明の一実施形態に係る通信ネットワークシステムのネットワークトポロジーを示す。
【図2A】端末40のハードウェア構成の一例を示す。
【図2B】中継器30のハードウェア構成の一例を示す。
【図2C】データ収集サーバ20のハードウェア構成の一例を示す。
【図2D】管理サーバ10のハードウェア構成の一例を示す。
【図3A】端末40の機能ブロック構成の一例を示す。
【図3B】中継器30の機能ブロック構成の一例を示す。
【図3C】データ収集サーバ20の機能ブロック構成の一例を示す。
【図3D】管理サーバ10の機能ブロック構成の一例を示す。
【図4A】周辺端末管理テーブル407のデータ構造の一例を示す。
【図4B】トポロジー管理テーブル408のデータ構造の一例を示す。
【図4C】中継器管理テーブル108のデータ構造の一例を示す。
【図4D】端末管理テーブル109のデータ構造の一例を示す。
【図4E】待機端末管理テーブル110のデータ構造の一例を示す。
【図5】端末40dがネットワークグループN1に参加するときのシーケンスの一例を示す。
【図6】チャネル処理部401の処理フローの一例を示す。
【図7】中継器30aの収容可能端末数が「0」であるネットワークグループN1に、新たな端末40dが参加を要求するときのネットワークトポロジーの一例を示す。
【図8】中継器30aの収容可能端末数が「0」であるネットワークグループN1に、新たな端末40dが参加を要求するときのシーケンスの一例を示す。
【図9】図8のシーケンスの続き。
【図10】中継器30aの収容可能端末数が「0」であるネットワークグループN1に、新たな端末40dが参加を要求するときのネットワークトポロジーの別の一例を示す。
【図11】中継器30aの収容可能端末数が「0」であるネットワークグループN1に、新たな端末40dが接続を要求するときのシーケンスの別の一例を示す。
【図12】ある端末40bがネットワークグループN1から離脱するときのネットワークトポロジーの一例を示す。
【図13】端末40bがネットワークグループから離脱するときのシーケンスの一例を示す。
【図14】管理サーバ10における接続処理のフローの一例を示す。
【図15】管理サーバ10における接続先変更処理のフローの一例を示す。
【図16】中継器30aが一時的に通信ネットワークシステム1から離脱したときのトポロジーの一例を示す。
【図17】中継器30aが一時的に通信ネットワークシステム1から離脱したときのシーケンスを示す。
【発明を実施するための形態】
【0016】
本実施形態では、以下に述べるように、管理サーバ10が備える接続処理部101は、端末40dからネットワークグループN1への参加要求を受けたとき、中継器30aが端末40dを収容可能か否か判断する。
【実施例1】
【0017】
図1は、本発明の一実施形態に係る通信ネットワークシステム1のネットワークトポロジーの一例を示す。通信ネットワークシステム1は、例えば、少なくとも一つの管理サーバ10と、少なくとも一つのデータ収集サーバ20と、複数の中継器30と、複数の端末40とから構成することができる。特に区別しない場合、中継器30a,30bを中継器30と呼ぶ。同様に、端末40a〜40dを端末40と呼ぶ。
【0018】
管理サーバ10は、データ収集サーバ20と無線または有線で、通信可能に接続されている。管理サーバ10は、通信ネットワークシステム1に属する各中継器30及び各端末40を管理する。管理サーバ10の詳細は後述する。
【0019】
データ収集サーバ20は、管理サーバ10及び各中継器30と通信可能に接続されている。データ収集サーバ20は、無線により各中継器30と接続される。データ収集サーバ20は、各中継器30を介して、各端末40と接続される。データ収集サーバ20は、各中継器30及び各端末40が保持する各種データを収集して、それらのデータを管理サーバ10に伝える。データ収集サーバ20の詳細は後述する。
【0020】
中継器30は、データ収集サーバ20及び各端末40と通信可能に接続されている。中継器30は、各ネットワークグループN1,N2に属する端末40を束ねる。特に区別しない場合、ネットワークグループN1,N2を、ネットワークグループNと呼ぶ。端末40同士がマルチホップ型無線通信ネットワークで接続されているネットワークグループNにおいて、中継器30は、ネットワークグループNのゲートウェイのような役割を果たす。中継器30の詳細は後述する。なお、本明細書において、「束ねる」とは、管理する、または、担当するという意味である。
【0021】
端末40は、中継器30及び/又は他の端末40と無線通信可能に接続されている。端末40は、例えば、通信機能を持った電気メータ(いわゆるスマートメータ)等であり、電気使用量等の各種データを保持する。無線通信が可能な距離に位置する端末(以下「周辺端末」という)40同士は、無線通信による情報交換が可能である。例えば図1において、端末40dから見て、周辺端末が40aと40cとする。この場合、端末40dは、周辺端末40a及び40cと無線通信による情報交換が可能である。端末40の詳細は後述する。
【0022】
ネットワークグループNは、1つの中継器30と、その中継器30に束ねられる複数の端末40とから構成される。ネットワークグループNは、1つの中継器30をルートノードとし、その配下に端末40がツリー状に接続されるネットワーク形状を有する。このネットワーク形状をネットワークトポロジーと呼ぶ。
【0023】
例えば、図1において、ネットワークグループN2は、中継器30bをルートノードとし、その配下に端末40bと40eが接続され、さらに端末40bの配下に端末40cが接続されている、ツリー状のネットワークトポロジーを構成する。
【0024】
図1に示すネットワークトポロジーにおいて、末端の端末40cが管理サーバ10にデータを送信するとき、そのデータは、1)直近の端末40b、2)中継器30b、3)データ収集サーバ20、の順番に転送されて、管理サーバ10に届けられる。すなわち、データがマルチホップ形式(いわゆるバケツリレー式)で届けられる。逆に管理サーバ10から端末40cにデータを送信するときも同様に、中継器30b、上位端末40b、末端端末40cの順に転送される。
【0025】
なお、図1では、管理サーバ10と、データ収集サーバ20と、中継器30とをそれぞれ別々の装置として構成する場合を説明した。これに代えて、それらの装置10,20,30のいずれか複数を一つの装置として構成してもよい。
【0026】
図2Aは、端末40のハードウェア構成の一例を示す。端末40は、例えば、CPU(Central Processing Unit)41と、揮発性メモリ42と、記憶装置43と、通信インタフェース44を備える。これら41,42,43,44は、内部バス等で相互に接続される。
【0027】
CPU41は、記憶装置43に記憶されているコンピュータプログラム(以下「プログラム」という)を読み出して実行することで、様々な機能を実現する。
【0028】
揮発性メモリ42は、CPU41がプログラムを実行するにあたり必要なデータを、一時的に記憶する。揮発性メモリ42は、例えば、DRAM(Dynamic Random Access Memory)等で構成される。
【0029】
記憶装置43は、CPU41にて実行されるプログラム及び各種データ等を記憶する。記憶装置43は、例えば、HDD(Hard Disk Drive)又は不揮発性メモリ等で構成される。
【0030】
通信インタフェース44は、ネットワークに接続されている他の装置と無線通信するためのインタフェースである。通信インタフェース44は、他の端末40又は中継器30とマルチホップ型無線通信でデータを送受信する。通信インタフェース44は、周囲で無線通信可能なチャネル(いわゆる無線チャネル番号)を検出する。
【0031】
図2Bは、中継器30のハードウェア構成を示す。中継器30は、例えば、CPU31と、揮発性メモリ32と、記憶装置33と、通信インタフェース34を備える。それら31,32,33,34は内部バス等で相互に接続される。図2Bに示す各ハードウェア31〜34は、図2Aで述べたハードウェア41〜44と同様であるため、その説明を省略する。但し、中継器30の役割と端末40の役割とは相違する。
【0032】
図2Cは、データ収集サーバ20のハードウェア構成を示す。データ収集サーバ20は、例えば、CPU21と、揮発性メモリ22と、記憶装置23と、通信インタフェース24を備える。それら21,22,23,24は内部バス等を介して相互に接続される。図2Cに示す各ハードウェア21〜24は、図2Aに示すハードウェア41〜44とほぼ同様であるため、その説明を省略する。但し、データ収集サーバ20の役割と端末40の役割とは異なる。
【0033】
図2Dは、管理サーバ10のハードウェア構成を示す。管理サーバ10は、例えば、CPU11と、揮発性メモリ12と、記憶装置13と、通信インタフェース14と、画面表示装置15とを備える。それら11,12,13,14,15は内部バス等を介して相互接続される。図2Dに示す各ハードウェア11〜14は、図2Aに示す各ハードゥエア41〜44とほぼ同じなので、その説明を省略する。但し、管理サーバ10の役割と端末40の役割とは異なる。
【0034】
画面表示装置15には、管理サーバ10が管理している情報が表示される。表示される情報としては、例えば、ネットワークグループN内の接続状況がある。画面表示装置15は、例えば、ディスプレイ装置等で構成される。
【0035】
画面表示のみならず、管理サーバ10に指示を与えるための情報入力装置を管理サーバ10に設けてもよい。情報の出力及び情報の入力を行うための装置を、通信ネットワークまたは通信ケーブル等を介して、管理サーバ10に接続する構成でもよい。さらに、管理サーバ10は、一つのコンピュータから構成してもよいし、または、複数のコンピュータから構成してもよい。
【0036】
図3Aは、端末40の機能ブロック構成の一例を示す。端末40は、例えば、チャネル処理部401と、送信データ処理部403と、受信データ処理部404と、テーブル処理部405と、通信処理部406と、周辺端末管理テーブル407と、トポロジー管理テーブル408とを有する。端末40は、例えば、スマートメータとして構成される。または、端末40は、センサとして構成される。
【0037】
チャネル処理部401は、通信インタフェース44を制御して、無線チャネル番号を切り替える。また、チャネル処理部401は、無線チャネル番号を順次切り替えながら、周辺から無線通信が可能な端末を検出する。
【0038】
送信データ処理部403は、他の端末40又は中継器30等に送信するデータを生成する。送信データ処理部403は、端末40がネットワークグループNに参加する際、又は端末40がネットワークグループNから離脱する際に、参加又は離脱を要求するための要求情報を生成する。つまり、送信データ処理部403は、端末40がネットワークグループNに参加する場合、参加を要求するための参加要求情報を生成する。送信データ処理部403は、端末40がネットワークグループNから離脱する場合、離脱を要求するための離脱要求情報を生成する。
【0039】
受信データ処理部404は、通信インタフェース44を介して受信したデータを解析して、そのデータに含まれる各種情報を抽出する。抽出対象の情報としては、例えば、参加要求情報、又は離脱要求情報等がある。受信データ処理部404は、解析結果に基づいて、受信したデータの処理を他の処理部401,403,405,406に依頼する。
【0040】
テーブル処理部405は、周辺端末管理テーブル407及びトポロジー管理テーブル408に対し、データの登録、データの更新、又はデータの削除等を行う。
【0041】
通信処理部406は、通信インタフェース44を制御して、他の端末40等からデータを直接的又は間接的に受信する。また、通信処理部406は、通信インタフェース44を制御して、送信データ処理部403で生成されたデータを他の端末40に直接的又は間接的に送信する。
【0042】
直接的なデータの送受信とは、周辺端末と直接データを送受信することをいう。間接的なデータの送受信とは、ネットワークトポロジー的に上位又は下位の端末とマルチホップ形式でデータを送受信することをいう。また、通信処理部406は、間接的なデータの送受信において、受信したデータが自端末宛でない場合、宛先の端末に近づくように、上位端末または下位端末に転送する。上位端末とは、ネットワークトポロジー的に上位に位置する端末40である。下位端末とは、ネットワークトポロジー的に下位に位置する端末40である。
【0043】
図3Bは、中継器30の機能ブロック構成を示す。中継器30は、ネットワークグループNに属する一つ以上の端末40を統括する。すなわち、中継器30は、端末40同士がマルチホップ型無線通信ネットワークで接続されているネットワークグループNにおいて、ゲートウェイのような役割を果たす。
【0044】
中継器30は、例えば、チャネル処理部301と、送信データ処理部303と、受信データ処理部304と、テーブル処理部305と、通信処理部306と、トポロジー管理テーブル308とを有する。中継器30は、ネットワークグループNに属する端末40から送信されるデータを収集して、データ収集サーバ20に渡す。中継器30は、データ収集サーバ20から送信されたデータを、マルチホップ形式で宛先の端末40に転送する。
【0045】
チャネル処理部301は、通信インタフェース34を制御して、無線チャネル番号を切り替える。また、チャネル処理部301は、無線チャネル番号を順次切り替えながら、周辺から無線通信が可能な端末を検出する。
【0046】
送信データ処理部303は、端末40又は管理サーバ10等に送信するデータを生成する。送信データ処理部303は、中継器30がネットワークグループNに参加する際、又は中継器30がネットワークグループNから離脱する際に、参加又は離脱を要求するための要求情報を生成する。つまり、送信データ処理部303は、中継器30がネットワークグループNに参加する場合、参加を要求するための参加要求情報を生成する。送信データ処理部303は、中継器30がネットワークグループNから離脱する場合、離脱を要求するための離脱要求情報を生成する。
【0047】
受信データ処理部304は、通信インタフェース34を介して受信したデータを解析して、そのデータに含まれる各種情報を抽出する。抽出対象の情報としては、例えば、参加要求情報、又は離脱要求情報等がある。受信データ処理部304は、解析結果に基づいて、受信したデータの処理を他の処理部301,303,305,306に依頼する。
【0048】
テーブル処理部305は、トポロジー管理テーブル308に対し、データの登録、データの更新、又はデータの削除等を行う。
【0049】
通信処理部306は、通信インタフェース34を制御して、端末40等からデータを直接的又は間接的に受信する。また、通信処理部306は、通信インタフェース34を制御して、送信データ処理部303で生成されたデータを端末40又は管理サーバ10等に直接的又は間接的に送信する。なお、トポロジー管理テーブル308については後述する。
【0050】
図3Cは、データ収集サーバ20の機能ブロック構成を示す。データ収集サーバ20は、例えば、端末40から収集したデータを管理するデータベースサーバである。
【0051】
データ収集サーバ20は、例えば、送信データ処理部203と、受信データ処理部204と、通信処理部206とを有する。
【0052】
送信データ処理部203は、端末40又は管理サーバ10等に送信するデータを生成する。
【0053】
受信データ処理部204は、通信インタフェース24を介して受信したデータを解析して、そのデータに含まれる各種情報を抽出する。抽出対象の情報としては、例えば、参加要求情報、又は離脱要求情報等がある。受信データ処理部204は、解析結果に基づいて、受信したデータの処理を他の処理部203,206に依頼する。
【0054】
通信処理部206は、通信インタフェース24を制御して、端末40等からデータを直接的又は間接的に受信する。また、通信処理部206は、通信インタフェース34を制御して、送信データ処理部203で生成されたデータを端末40又は管理サーバ10等に直接的又は間接的に送信する。
【0055】
図3Dは、管理サーバ10の機能ブロック構成を示す。管理サーバ10は、例えば、端末30及び中継器40から様々な要求を受けたり、端末30及び中継器40に指示を与えたりするアプリケーションサーバである。
【0056】
管理サーバ10は、例えば、接続処理部101と、送信データ処理部103と、受信データ処理部104と、テーブル処理部105と、通信処理部106と、表示処理部107と、中継器管理テーブル108と、端末管理テーブル109と、待機端末管理テーブル110とを有する。
【0057】
送信データ処理部103は、端末40又は中継器30等に送信するデータを生成する。
【0058】
受信データ処理部104は、通信インタフェース14を介して受信したデータを解析して、そのデータに含まれる各種情報を抽出する。抽出対象の情報としては、例えば、参加要求情報、又は離脱要求情報等がある。受信データ処理部104は、解析結果に基づいて、受信したデータの処理を他の処理部101,103,105,106に依頼する。
【0059】
テーブル処理部105は、中継器管理テーブル108と、端末管理テーブル109と、待機端末管理テーブル110に対し、データの登録、データの更新、又はデータの削除等を行う。
【0060】
通信処理部106は、通信インタフェース14を制御して、端末40等からデータを直接的又は間接的に受信する。また、通信処理部106は、通信インタフェース14を制御して、送信データ処理部103で生成されたデータを端末40等に直接的又は間接的に送信する。
【0061】
表示処理部107は、画面表示装置15を制御して、管理サーバ10が管理している情報を表示させる。管理対象の情報には、例えば、ネットワークグループNの接続状況等を示す情報が含まれる。例えば、表示処理部107は、ネットワークグループNへの接続を待機している端末40のID(Identification)を表示させる。
【0062】
接続処理部101は、端末40dがネットワークグループN1に参加を要求するとき、ネットワークグループN1を束ねる中継器30aに端末40dを収容可能か否かを判断する。接続処理部101は、端末40dを中継器30aに収容可能であると判断した場合、端末40dに、ネットワークグループN1への参加を許可する接続先情報を送信させる。中継器30aに端末40dが収容可能とは、中継器30aで端末40dを管理可能であることを意味する。後述のように、中継器30で管理可能な端末の台数(収容可能台数)には上限がある。上限値に達した場合、新たな端末40をネットワークグループNに参加させることはできない。
【0063】
接続処理部101は、中継器30aに端末40dを収容できないと判断した場合、ネットワークグループN1に属する端末のうち、他のネットワークグループN2に移行可能な端末が存在するか否かを判断する。
【0064】
現在属しているネットワークグループN1から他のネットワークグループN2に移行可能な端末が有る場合、接続処理部101は、移行可能な端末に、接続先変更情報を送信する。接続先変更情報とは、移行可能な端末を他のネットワークグループN2に移行させるための情報である。接続処理部101は、接続先変更情報を移行可能な端末に送信させた後、端末40dに対して、ネットワークグループN1への参加を許可するための接続先情報を送信させる。
【0065】
接続処理部101は、他のネットワークグループN2に移行可能な端末が無い場合、端末40dに向けて、ネットワークグループN1への参加を待機させるための待機通知を送信させる。
【0066】
接続処理部101は、他のネットワークグループN2に移行可能な端末が複数存在する場合、所定の選択基準に従って、いずれか一つの端末を選択する。所定の選択基準としては、例えば、移行先のネットワークグループN2との通信品質が最もよい端末を選択する方法がある。
【0067】
接続処理部101は、ネットワークグループN1から中継器30aが離脱したことを検知した場合、ネットワークグループN1に属する端末40のうち、他のネットワークグループN2に移行可能な端末が存在するか否かを判断する。移行可能な端末が有る場合、接続処理部101は、その移行可能な端末に、ネットワークグループN2が構成する通信路を経由して、ネットワークグループN2への移行を指示するための接続先変更情報を送信させる。なお、移行可能な端末が複数存在する場合、接続処理部101は、ネットワークグループN1から離脱した中継器30aとネットワークトポロジー的に最も近い端末40aに向けて、接続先変更情報を送信させてもよい。
【0068】
接続処理部101は、ネットワークグループNへの参加要求に対して、参加可否を判断する。さらに、接続処理部101は、中継器30の収容可能端末数が「0」であるネットワークグループNに参加要求があったとき、参加要求元の端末をできるだけ収容できるようにネットワークグループNの構成を調整する。
【0069】
図4Aは、周辺端末管理テーブル407のデータ構造の一例を示す。周辺端末管理テーブル407は、端末40が直接的に無線通信可能な他の端末(周辺端末)に関する情報を保持する。
【0070】
周辺端末管理テーブル407は、例えば、チャネル番号411と、周辺端末ID412と、中継器ID413と、リンク品質414の各情報を保持する。
【0071】
チャネル番号411には、周辺端末が使用している無線通信のチャネル番号が保持される。チャネル番号とは、周辺端末が使用する所定の周波数帯域を示す情報である。同一のネットワークNに属している、中継器30及び端末40は、それぞれ同じチャネル番号を使用する。
【0072】
周辺端末ID412には、周辺に位置する端末40のIDが保持される。端末IDは、例えば、端末のIP(Internet Protocol)アドレスであってもよいし、MACアドレスであってもよいし、システム独自の識別番号等であってもよい。
【0073】
中継器ID413には、周辺端末が属するネットワークNを管理する中継器30のIDが保持される。中継器ID413は、例えば、中継器30のIPアドレスであってもよいし、MACアドレスであってもよいし、システム独自の識別番号等であってもよい。
【0074】
リンク品質414には、周辺端末が発する無線信号の強度が保持される。無線信号の強度とは、例えば、受信した無線信号の電力の大きさである。なお、リンク品質414として、無線信号の強度に代えて又は無線信号の強度と共に他の品質情報を用いてもよい。他の品質情報には、例えば、パケット誤り率、遅延時間、あるいはホップ数などがある。ホップ数とは、データが中継器30に到達するまでに転送される回数である。
【0075】
図4Bは、トポロジー管理テーブル408のデータ構造の一例を示す。トポロジー管理テーブル408は、例えば、中継器ID421と、上位端末ID422と、下位端末ID423の各情報を保持する。
【0076】
中継器ID421には、自端末40が属するネットワークグループNを担当する中継器30のIDが保持される。
【0077】
上位端末ID422には、自端末40から見てネットワークトポロジー的に上位の端末40のIDが保持される。上位端末とは、中継器30により近い端末である。
【0078】
下位端末ID423には、自端末40から見てネットワークトポロジー的に下位の端末のIDが保持される。下位端末とは、中継器30により遠い端末である。
【0079】
図4Cは、中継器管理テーブル108のデータ構造の一例を示す。中継器管理テーブル108は、中継器30が担当可能な端末40の台数を管理する。中継器管理テーブル108は、例えば、中継器ID111と、チャネル番号112と、収容可能端末の最大数113と、収容中端末数114と、収容可能端末数115を保持する。
【0080】
中継器ID111には、管理サーバ10が管理する中継器30のIDが保持される。例えば図1において、中継器30aのIDと中継器30bのIDとが中継器ID111に記憶される。
【0081】
チャネル番号112には、中継器30の使用するチャネル番号が保持される。
【0082】
収容可能端末の最大数113には、中継器30が束ねることが可能な端末40の最大数が保持される。すなわち、中継器30の担当するネットワークグループNに属することが可能な端末40の最大数が保持される。最大数113は、例えば、中継器30が備えるCPU31の性能、及び/又は、中継器30の使用可能な無線帯域の広さ等から算出することができる。
【0083】
収容中端末数114には、中継器30が現在束ねている端末40の数が保持される。すなわち、中継器30が担当するネットワークグループNに現在属している端末40の数が保持される。
【0084】
収容可能端末数115には、収容可能端末の最大数113の値から収容中端末数114の値を減算した値が保持される。すなわち、中継器30が束ねるネットワークグループNに新たに参加可能な端末40の数が保持される。
【0085】
図4Dは、端末管理テーブル109のデータ構造の一例を示す。端末管理テーブル109は、通信ネットワークシステム1に属する全ての端末40を管理するためのテーブルである。端末管理テーブル109は、例えば、端末ID121と、周辺端末ID122と、中継器ID123と、上位端末ID124と、リンク品質125と、中継回数126と、接続端末数127との、各情報を保持する。
【0086】
端末ID121には、通信ネットワークシステム1に属する端末40のIDが保持される。
【0087】
周辺端末ID122には、端末40が無線通信可能な周辺端末のIDが保持される。すなわち、周辺端末ID122には、チャネル処理部401によるスキャンで検出された周辺端末のIDが保持される。したがって、周辺端末ID122には、複数の周辺端末のIDが保持されてもよい。
【0088】
中継器ID123には、端末40が属しているネットワークグループNを束ねる中継器30のIDが保持される。
【0089】
上位端末ID124には、端末40から見て、ネットワークトポロジー的に上位の端末40のIDが保持される。
【0090】
リンク品質125には、周辺端末との間の無線通信の強度が保持される。
【0091】
中継回数126には、端末40と中継器30との間のホップ数が保持される。データが端末40から中継器30に到達するまでの間の、データ転送回数が保持される。
【0092】
接続端末数127には、ネットワークトポロジー的に下位の端末40の総数が保持される。
【0093】
図4Eは、待機端末管理テーブル110のデータ構造の一例を示す。待機端末管理テーブル110は、ネットワークグループNに参加できなかった端末40に関する情報を管理する。ネットワークグループNに参加できなかった端末とは、ネットワークグループNへの参加を拒否された端末である。待機端末管理テーブル110は、例えば、待機端末ID131と、中継器ID132と、データ収集サーバID133とを保持する。
【0094】
待機端末ID131には、ネットワークグループNへの参加を要求したが許可されなかった端末40のIDが保持される。例えば、参加希望先の中継器30の収容可能端末数115の値が「0」である場合、その中継器30の属するネットワークグループNへの参加が拒否される。
【0095】
中継器ID132には、端末30が属するネットワークグループNを束ねる中継器30のIDが保持される。
【0096】
データ収集サーバID133には、端末30がデータを送信するデータ収集サーバ20のIDが保持される。
【0097】
次に、通信ネットワークシステムの処理フローについて説明する。
図5は、端末がネットワークグループに参加するときの処理フローを示す。図5における端末40dは、接続先として、端末40a及び端末40cのいずれかを選択可能であると仮定する。すなわち、端末40dの周辺端末は、端末40a及び端末40cである。なお、図5の処理フローは、端末の処理及び装置間の処理の順番を示すものであって、同じ水平位置に記載した処理が時間的に同期しているわけではない。以後の処理フローの図も同様である。
【0098】
端末40dのチャネル処理部401は、チャネルスキャン処理を実行し、無線通信可能な周辺端末を検索する(S100)。チャネルスキャン処理の詳細は後述する。
【0099】
送信データ処理部403は、参加を要求する端末の数と、参加を要求する端末のID(ここでは端末40dのID)と、宛先である管理サーバ10のIDを含む、参加要求情報を生成する。
【0100】
端末40dの通信処理部406は、チャネルスキャン処理で発見した端末(ここでは、端末40a)に、参加要求情報を送信する(S101)。通信処理部406は、通信プロトコルがIP(インターネットプロトコル)の場合、参加要求情報をパケット化して送信する。
【0101】
端末40aの通信処理部406は、端末40dから参加要求情報を受信する(S102)。端末40aの受信データ処理部404は、受信データを解析して、その受信データが管理サーバ10宛の参加要求情報であると判定し、通信処理部406に転送を指示する。端末40aの通信処理部406は、ネットワークトポロジー的に上位の端末(ここでは中継器30a)に、参加要求情報を転送する(S103)。
【0102】
中継器30aの通信処理部306は、端末40aから参加要求情報を受信する(S104)。
【0103】
中継器30aの受信データ処理部304は、受信したデータが管理サーバ10宛の参加要求情報であると判定し、通信処理部306に転送を指示する。中継器30aの通信処理部306は、ネットワークトポロジー的に上位の端末(ここではデータ収集サーバ20)に、参加要求情報を転送する(S105)。
【0104】
データ収集サーバ20の通信処理部206は、中継器30aから参加要求情報を受信する(S106)。
【0105】
データ収集サーバ20の受信データ処理部204は、受信したデータが管理サーバ10宛の参加要求情報であると判定し、通信処理部206に転送を指示する。データ収集サーバ20の通信処理部206は、ネットワークトポロジー的に上位の端末(ここでは管理サーバ10)に、参加要求情報を転送する(S107)。
【0106】
管理サーバ10の通信処理部106は、データ収集サーバ20から参加要求情報を受信する(S108)。
【0107】
管理サーバ10の受信データ処理部104は、受信したデータが管理サーバ10宛の参加要求情報であると判定し、接続処理部101に処理を指示する(S109)。
【0108】
管理サーバ10の接続処理部101は、参加要求情報の送信元の端末40dが接続先とすべき端末40aを決定する。なお、接続処理部101の動作は後述する。管理サーバ10の送信データ処理部103は、参加要求情報の送信元の端末40dに送信するための接続先情報を生成する。その接続先情報には、接続処理部101が決定した、接続先とすべき端末40aのIDと、接続先とすべき端末40aが属するネットワークグループN1を束ねる中継器30aのIDとが含まれる。管理サーバ10の通信処理部106は、参加要求情報を転送してきたデータ収集サーバ20に、接続先情報を送信する(S110)。
【0109】
データ収集サーバ20の通信処理部106は、管理サーバ10から接続先情報を受信する(S111)。
【0110】
データ収集サーバ20の受信データ処理部204は、受信したデータが端末40d宛の接続先情報であると判定し、通信処理部206に転送を指示する。データ収集サーバ20の通信処理部206は、参加要求情報の転送元の中継器30aに、接続先情報を転送する(S112)。
【0111】
中継器30aの通信処理部306は、データ収集サーバ20から接続先情報を受信する(S113)。
【0112】
中継器30aの受信データ処理部304は、受信したデータが端末40d宛の接続先情報であると判定し、通信処理部306に転送を指示する。中継器30aの通信処理部306は、参加要求情報の転送元の端末40aに、接続先情報を転送する(S114)。
【0113】
端末40aの通信処理部406は、中継器30aから接続先情報を受信する(S115)。
【0114】
端末40aの受信データ処理部404は、受信したデータが端末40d宛の接続先情報であると判定し、通信処理部406に転送を指示する。端末40aの通信処理部406は、参加要求情報の転送元の端末40dに、接続先情報を転送する(S116)。
【0115】
端末40dの通信処理部406は、端末40aから接続先情報を受信する(S117)。
【0116】
端末40dの受信データ処理部404は、受信したデータが自端末40d宛の接続先情報であると判定し、テーブル処理部405に処理を指示する。端末40dのテーブル処理部405は、接続先情報に記載の中継器ID(中継器30aのID)及び接続先の端末ID(端末40aのID)を、それぞれトポロジー管理テーブル408の中継器ID421及び上位端末ID422に登録する(S118)。
【0117】
端末40dの送信データ処理部403は、管理サーバ10を宛先とする接続通知を生成する。接続通知には、例えば、接続元の端末ID(端末40dのID)と、接続先の端末ID(端末40aのID)とを含めることができる。端末40dの通信処理部406は、接続先情報に記載された接続すべき端末40aに、接続通知を送信する(S119)。
【0118】
端末40aの通信処理部406は、端末40dから接続通知を受信する(S120)。
【0119】
端末40aの受信データ処理部404は、受信したデータが管理サーバ10宛の接続通知であると判定し、テーブル処理部405に処理を指示する。端末40aのテーブル処理部405は、接続通知に自端末40aが記載されているので、トポロジー管理テーブル408の下位端末ID313に、接続通知に記載された、接続元の端末40dのIDを登録する(S121)。
【0120】
端末40aの通信処理部406は、接続通知を、ネットワークトポロジー的に上位の端末である中継器30aに送信する(S122)。
【0121】
中継器30aの通信処理部306は、端末40aから接続通知を受信する(S123)。
【0122】
中継器30aの受信データ処理部304は、受信したデータが管理サーバ10宛の接続通知であると判定し、テーブル処理部305に処理を指示する。中継器30aのテーブル処理部305は、その接続通知に自装置が記載されていないので、トポロジー管理テーブル308を更新しない。中継器30aの通信処理部306は、接続通知を、ネットワークトポロジー的に上位の端末であるデータ収集サーバ20に転送する(S124)。
【0123】
データ収集サーバ20の通信処理部206は、中継器30aから接続通知を受信する(S125)。
【0124】
データ収集サーバ20の受信データ処理部204は、受信したデータが管理サーバ10宛の接続通知であると解析し、通信処理部206に転送を指示する。データ収集サーバ20の通信処理部206は、接続通知を管理サーバ10に転送する(S126)。
【0125】
管理サーバ10の通信処理部106は、データ収集サーバ20から接続通知を受信する(S127)。
【0126】
管理サーバ10の受信データ処理部104は、受信したデータが自分宛の接続通知であると判定し、テーブル処理部105に処理を指示する。管理サーバ10のテーブル処理部105は、参加要求情報の送信元端末である端末40dが、正常にネットワークグループに参加できたことを確認し、処理を終了する(S127)。管理サーバ10のテーブル処理部105は、端末管理テーブル111を更新する。
【0127】
以上の処理により、端末40dは、無線通信可能な周辺端末40aを発見し、その周辺端末40aに接続できる。これにより、端末40dは、ネットワークグループN1に参加できる。
【0128】
図6は、チャネル処理部401の処理フローを示す。以下、図6を用いて、図5のステップS100における処理を詳細に説明する。
【0129】
端末40dのチャネル処理部401は、変数i(iは整数)に「1」を代入して初期化する(S200)。ここで、変数iは、以降の処理フローにて、無線通信のチャネル番号として使用される。
【0130】
チャネル処理部401は、変数iが定数N(Nは整数)より大きいか否かを判定する(S201)。Nには、スキャンすべき複数のチャネル番号のうち最も大きいチャネル番号が設定される。すなわち、チャネル処理部401は、N回のスキャンを実行する。
【0131】
ステップS201の判定において変数iが定数N以下のとき(S201:NO)、チャネル処理部401は、チャネル番号iのチャネルにて通信可能な周辺端末をスキャンする(S202)。
【0132】
チャネル処理部401は、ステップS202のスキャン結果に基づき、チャネル番号iにて通信が可能な周辺端末が周囲に存在するか否かを判定する(S203)。
【0133】
周辺端末が存在しないとき(S203:存在しない)、チャネル処理部401は、変数iに「1」を加算して、ステップS201の処理に戻る(S206)。チャネル処理部401は、次のチャネル番号のチャネルにて通信可能な周辺端末をスキャンする。
【0134】
周辺端末が存在するとき(S203:存在する)、チャネル処理部401は、周辺端末(例えば、端末40aとする)から送信されたデータから、その周辺端末40aのIDと、周辺端末40aが属するネットワークグループN1を束ねる中継器30aのIDとを抽出する。チャネル処理部401は、周辺端末40aからデータを受信したときのリンク品質を計測する(S204)。
【0135】
チャネル処理部401は、スキャンしたチャネル番号i(例えば、「1」)と、先ほど抽出した周辺端末40aのIDと、中継器30aのIDと、先ほど計測したリンク品質(例えば、「0.8」)とをセットとして、周辺端末管理テーブル407に登録する(S205)。なお、周辺端末が複数存在するとき、チャネル処理部401は、全ての周辺端末に対して、ステップS204及びS205の処理を実行する。
【0136】
チャネル処理部401は、変数iに「1」を加算して、ステップS201の処理に戻る(S206)。
【0137】
なお、ステップS201の判定において変数iが定数Nよりも大きいとき(S201:YES)、チャネル処理部401は、全てのチャネルのスキャンが完了したと判断し、本処理を終了する。以上の処理により、端末40は、無線通信可能な周辺端末を発見できる。
【0138】
図7は、中継器30の収容可能端末数が「0」であるネットワークグループに、新たな端末が参加を要求するときのネットワークトポロジーの一例を示す。図7において、中継器30aの収容可能端末数は「0」であると仮定する。以下、新たな端末の参加要求を受容できないネットワークグループN1に、端末40dが参加を要求する場合を例に挙げて説明する。
【0139】
図8及び図9は、中継器30aの収容可能端末数が「0」であるネットワークグループN1に、新たな端末40dが参加を要求するときのシーケンスの一例を示す。
【0140】
端末40dのチャネル処理部401は、チャネルスキャン処理を実行する(S300)。
【0141】
端末40dの送信データ処理部403は、チャネルスキャン処理を実行後、宛先を管理サーバ10とする参加要求情報を生成する。端末40dのデータ中継部402は、生成した参加要求情報を端末40aに送信する(S301)。
【0142】
端末40aと中継器40aとデータ収集サーバ20は、図5のステップS102〜S107と同様、端末40dから送信された参加要求情報をいわゆるバケツリレー式に、管理サーバ10まで転送する(S302〜S307)。
【0143】
管理サーバ10の通信処理部106は、要求元である端末40dからの参加要求情報を受信する(S308)。
【0144】
管理サーバ10の受信データ処理部104は、受信したデータが管理サーバ10宛の参加要求情報であると判定し、接続処理部101に処理を指示する。管理サーバ10の接続処理部101は、参加要求情報に基づき、接続処理を実行する(S309)。
【0145】
ネットワークグループN1を束ねる中継器30aは、新たな端末40dの参加要求を許可できないので、接続処理部101は、トポロジーを変更させるための接続先変更処理を実行する(S310)。
【0146】
接続処理部101は、ネットワークグループN1のトポロジーを変更することで新たな端末40dを受容できないか検討する。接続処理及び接続先変更処理の詳細は後述する。ここでは、端末40cを他のネットワークグループN2に移行させることで、端末40dをネットワークグループN1に受容できると仮定する。
【0147】
管理サーバ10の送信データ処理部103は、接続処理部101の判断に基づき、宛先を移行対象の端末40cとする接続先変更情報を生成する。接続先変更情報には、端末40cの接続先を、ネットワークN1に属する端末40aから他のネットワークN2に属する端末40bに変更させるための指示が含まれている。管理サーバ10の通信処理部106は、接続先変更情報をデータ収集サーバ20に送信する(S311)。
【0148】
データ収集サーバ20の通信処理部206は、管理サーバ10から接続先変更情報を受信する(S312)
【0149】
データ収集サーバ20の受信データ処理部204は、受信したデータが端末40c宛の接続先変更情報あると判定し、通信処理部106に転送を指示する。データ収集サーバ20の通信処理部206は、接続先変更情報を中継器30aに転送する(S313)。
【0150】
中継器30aの通信処理部306は、データ収集サーバ20から接続先変更情報を受信する(S314)。
【0151】
中継器30aの受信データ処理部304は、受信したデータが端末40c宛の接続先変更情報であると判定し、テーブル処理部305に処理を指示する。中継器30aのテーブル処理部305は、トポロジー管理テーブル307に、接続先変更情報に記載された端末IDが存在するか否かを確認する。中継器30aのトポロジー管理テーブル307にその端末IDは存在しないので、中継器30aのテーブル処理部305は、トポロジー管理テーブル307を更新しない。中継器30aの通信処理部306は、接続先変更情報をネットワークトポロジー的に下位の端末40aに転送する(S315)。
【0152】
端末40aの通信処理部406は、中継器30aから接続先変更情報を受信する(S316)。
【0153】
端末40aの受信データ処理部404は、受信したデータが端末40c宛の接続先変更情報であると判定し、テーブル処理部405に処理を指示する。端末40aのテーブル処理部405は、トポロジー管理テーブル408に、接続先変更情報に記載された端末IDが存在するか否かを確認する。端末40aのトポロジー管理テーブル408の下位端末ID423に、端末40cのIDが存在するので、端末40aのテーブル処理部405は、トポロジー管理テーブル408を更新する(S317)。端末40aのテーブル処理部405は、トポロジー管理テーブル408の下位端末ID423の欄から、端末40cのIDを削除する。
【0154】
端末40aの通信処理部406は、接続先変更情報を端末40cに転送する(S318)。端末40cの通信処理部406は、端末40aから接続先変更情報を受信する(S319)。
【0155】
端末40cの受信データ処理部404は、受信したデータが自端末40c宛の接続先変更情報であると判定し、テーブル処理部405に処理を指示する。端末40cのテーブル処理部405は、接続先変更情報を基に、トポロジー管理テーブル408を更新する(S320)。端末40cのテーブル処理部405は、トポロジー管理テーブル408の上位端末ID422に記載の端末40aのIDを、接続先変更情報に記載された、端末40bのIDに置換する。
【0156】
端末40cの送信データ処理部403は、接続先を変更する旨を記載した、管理サーバ10宛の接続通知を生成する。例えば、接続通知には、接続元の端末のID(ここでは端末40cのID)と、接続先の端末のID(ここでは端末40bのID)とが記載される。端末40cの通信処理部406は、端末40bと通信可能なチャネル番号に変更し(S321)、接続通知を端末40bに送信する(S322)。
【0157】
端末40bと中継器30bとデータ収集サーバ20は、図5のステップS120〜S126と同様、トポロジー管理テーブルを更新しながら、端末40cから送信された接続通知を管理サーバ10まで転送する(S323〜S329)。
【0158】
管理サーバ10の通信処理部106は、データ収集サーバ20から接続通知を受信する(S330)。
【0159】
管理サーバ10の受信データ処理部304は、受信したデータが管理サーバ10宛の接続通知であると判定し、接続処理部101に処理を指示する。管理サーバ10の接続処理部101は、端末40cがネットワークグループN2に移行し、ネットワークグループN1を束ねる中継器30aの収容可能端末数に空きができたことを確認する。接続処理部101は、端末40dのネットワークグループN1への参加を許可する。管理サーバ10の送信データ処理部103は、端末40dを宛先とする接続先情報を生成する。管理サーバ10の通信処理部106は、接続先情報をデータ収集サーバ20に送信する(S311)。
【0160】
データ収集サーバ20と中継器30aと端末40aは、図5のステップS111〜S116と同様、管理サーバ10から送信された接続先情報を端末40dまで転送する(S332〜S337)。
【0161】
端末40dの通信処理部406は、端末40aから接続先通知を受信する(S338)。
【0162】
端末40dの受信データ処理部404は、受信したデータが自端末40d宛の接続先情報であると判定し、テーブル処理部405に処理を指示する。端末40dのテーブル処理部405は、接続先情報に記載された中継器ID(ここでは中継器30aのID)及び端末ID(ここでは端末40aのID)をそれぞれ、トポロジー管理テーブル408の中継器ID421及び上位端末ID422に登録する(S339)。
【0163】
端末40dの送信データ処理部403は、管理サーバ10を宛先とする接続通知を生成する。端末40dの通信処理部406は、接続先情報に記載された接続すべき端末40aに接続通知を送信する(S340)。
【0164】
端末40aと中継器30aとデータ収集サーバ20は、図5のステップS120〜S126と同様、端末40dから送信された接続通知を管理サーバ10まで転送する(S341〜S347)。
【0165】
管理サーバ10の通信処理部106は、データ収集サーバ20から接続通知を受信する(S348)。
【0166】
管理サーバ10の受信データ処理部104は、受信したデータが管理サーバ10宛の接続通知であると判定し、テーブル処理部105に処理を指示する。管理サーバ10のテーブル処理部105は、参加要求情報の送信元の端末40dが、正常にネットワークグループN1に参加できたことを確認し、本処理を終了する。管理サーバ10のテーブル処理部105は、必要であれば、端末管理テーブル111を更新する。
【0167】
以上の処理によれば、中継器30aの収容可能端末数が「0」であるネットワークグループN1に端末40dが参加を要求した場合でも、端末40dをネットワークグループN1に参加させることができる。なぜなら、管理サーバ10が、端末40cをネットワークグループN1から他のネットワークグループN2に移行させたことで、ネットワークグループN1の中継器30aの収容可能端末数が「1」になったからである。
【0168】
すなわち、管理サーバ10は、中継器管理テーブル108及び端末管理テーブル109を参照して、参加を要求してきた端末40dがそのネットワークグループN1に参加できるように、他の端末40cの接続先を調整する。これにより、本実施形態では、中継器30の通信帯域を効率的に利用できる。
【0169】
図10は、中継器30の収容可能端末数が「0」であるネットワークグループNに、新たな端末が参加を要求するときのネットワークトポロジーの別の一例を示す。図10と図7は、中継器30aの収容可能端末数が「0」であり、かつ、端末40dがネットワークグループN1に参加を要求している点において同じである。しかし、図10と図7は、端末40cが端末40bと通信できない点において異なる。すなわち、ネットワークグループN1内に、他のネットワークグループN2に移行可能な端末が存在しない点で、図10は図7と異なる。
【0170】
図11は、中継器30aの収容可能端末数が「0」であるネットワークグループN1に、新たな端末40dが接続を要求するときのシーケンスの別の一例を示す。すなわち、図11は、図10の状況におけるシーケンスを示す。
【0171】
ステップS400〜S409の処理は、図8のS300〜S309の処理と同様のため、説明を省略する。
【0172】
管理サーバ10の接続処理部101は、接続先変更処理(S410)において、ネットワークグループN1に属する端末40a,40cのいずれもが他のネットワークグループN2に移行できない場合、ネットワークグループN1に端末40dを収容することは不可能と判断する。
【0173】
管理サーバ10の送信データ処理部103は、参加要求情報の要求元の端末40dを宛先とする待機通知を生成する。待機通知には、例えば、待機すべき時間等が記載されている。
【0174】
管理サーバ10の通信処理部106は、待機通知をデータ収集サーバ20に送信する(S411)。
【0175】
管理サーバ10のテーブル処理部105は、参加要求情報の送信元である端末40dのIDと、接続要求情報の送信元の端末が属するネットワークグループを束ねる中継器30aのIDと、接続要求情報を転送したデータ収集サーバ20のIDを、待機端末管理テーブル110に登録する(S412)。すなわち、待機端末管理テーブル110は、ネットワークグループへの参加を待っている端末を管理する。
【0176】
管理サーバ10の表示処理部107は、画面表示装置15を制御して、参加待機中の端末40dのIDを表示する(S413)。
【0177】
なお、データ収集サーバ20に送信された待機通知は、図5のステップS111〜S116と同様、端末40dに転送される(S414〜S419)。
【0178】
端末40dの通信処理部406は、待機通知を受信する(S420)。端末40dの受信データ処理部404は、受信したデータが端末40d宛の待機通知であると判定する。端末40dは、ネットワークグループN1への参加を待機する(S421)。なお、待機中の端末40dは、待機通知に記載の周期、又は所定の周期で、参加要求情報を管理サーバ10に再び送信してもよい。時間の経過により、中継器30aに収容可能な端末に空きが生じる場合等が考えられるためである。
【0179】
端末40dは、ネットワークグループN1に参加できた場合(すなわち、端末40dが接続先通知を受信できたとき)、管理サーバ10宛に接続通知を送信する。
【0180】
管理サーバ10は、端末40dからの接続通知を受信すると、待機端末管理テーブル110から、端末40dの情報を削除する。
【0181】
以上の処理によれば、端末40dをネットワークグループN1に参加させることができない場合、端末40dに参加を待機させることができる。その後、ネットワークグループN1を束ねる中継器30aの収容可能端末数に空きができたときは、待機中の端末40dを優先的に参加させたりすることもできる。
【0182】
図12は、ある端末がネットワークグループN1から離脱するときのネットワークトポロジーの一例を示す。図12では、中継器30の下位に端末40aが無線接続され、端末40aの下位に端末40bが接続され、端末40bの下位に端末40cが接続されている場合を例に挙げる。以下、端末40bがネットワークグループN1から離脱する場合を説明する。
【0183】
図13は、端末がネットワークグループから離脱するときのシーケンスの一例を示す。すなわち、図13は、図12の状況におけるシーケンスを示す。
【0184】
端末40bの通信処理部406は、ネットワークグループN1から離脱するとき、切断通知を生成し、ネットワークトポロジー的に上位の端末40aと下位の端末40cに送信する(S501)。切断通知には、例えば、自己の端末ID等が記載されている。
【0185】
端末40cの通信処理部406は、端末40bから切断通知を受信する(S502)。
【0186】
端末40cの受信データ処理部404は、受信したデータが切断通知であると判定し、テーブル処理部405に処理を指示する。端末40cのテーブル処理部405は、トポロジー管理テーブル408及び隣接端末管理テーブル407から、切断通知に記載の端末ID(端末40bのID)に関連する情報を削除する(S503、S504)。
【0187】
この結果、端末40cは何れのネットワークグループにも参加していないことになってしまう。そこで、端末40cは、新たに参加要求処理(図5の端末40dと同様の処理)を実行する(S505)。
【0188】
一方、端末40aも、上記のステップS502〜S504と同様の処理をする(S506〜S508)
【0189】
端末40aの通信処理部406は、切断通知をネットワークトポロジー的に上位の端末である中継器30に転送する(S509)。中継器30の通信処理部306は、端末40aから切断通知を受信する(S510)。
【0190】
中継器30の受信データ処理部304は、受信したデータが切断通知であると判定し、通信処理部306に転送を指示する。中継器30とデータ収集サーバ20は、図5のステップS123〜S126と同様、バケツリレー式に切断通知を管理サーバ10に転送する(S511〜S513)。
【0191】
管理サーバ10の通信処理部106は、データ収集サーバ20から切断通知を受信する(S514)。
【0192】
管理サーバ10の受信データ処理部104は、受信したデータが切断通知であると判定し、テーブル処理部105に処理を指示する。管理サーバ10のテーブル処理部105は、中継器管理テーブル112及び端末管理テーブル111から、切断通知に記載された端末ID(端末40bのID)に関連する情報を削除する(S515、S516)。
【0193】
以上の処理により、端末40bがネットワークグループN1から離脱したとしても、離脱対象の端末40bの下位に接続された端末40cを、他の端末40aに接続させることができる。すなわち、ある端末40bがネットワークグループN1から離脱した場合、ネットワークグループを再構築できる。
【0194】
図14は、管理サーバ10における接続処理のフローの一例を示す。
【0195】
管理サーバ10の接続処理部101は、参加要求情報から、端末IDと、周辺端末IDと、中継器IDと、リンク品質を抽出する。接続処理部101は、それらの情報をセットで端末管理テーブル111に登録するよう、テーブル処理部105に指示する(S601)。
【0196】
接続処理部101は、中継器管理テーブル112を参照し、参加要求情報に記載の中継器30のうち、収容可能端末数が「0」より大きい中継器30が存在するか否かを判定する(S602)。
【0197】
収容可能端末数が「0」より大きい中継器30が1つ以上存在する場合(S602:YES)、接続処理部101は、それらの中継器30のうち、収容可能端末数が最も多い中継器30を参加要求元の端末40の接続先として選択する(S603)。なお、接続処理部101は、リンク品質が最も良い中継器30を選択してもよいし、中継回数が最も少ない中継器30を選択してもよいし、あるいは、それらを組み合わせて最適な中継器30を選択してもよい。
【0198】
接続処理部101は、ステップS603で選択した中継器30を中継器管理テーブル112から検索し、その中継器30の収容中端末数114と収容可能端末数115を更新する(S604)。
【0199】
接続処理部101は、参加要求元の端末40に接続先情報を送信し(S605)、接続処理を終了する。
【0200】
一方、ステップS602において、収容可能端末数が「0」より大きい中継器が存在しない場合(S602:NO)、接続処理部101は、後述の接続先変更処理を実行する(S606)。
【0201】
図15は、管理サーバ10における接続先変更処理のフローを示す。
【0202】
管理サーバ10の接続処理部101は、端末管理テーブル109を参照する。接続処理部101は、接続要求情報に記載の中継器30によって束ねられているネットワークグループNにおいて、別のネットワークグループに移行できる可能性のある端末(以下「移行候補端末」という)40を検索する(S610)。すなわち、接続処理部101は、現在属しているネットワークグループNとは別のネットワークグループに属している端末40と無線通信が可能な端末を検索する。
【0203】
移行候補端末は、例えば、次の手順で検索可能である。
1)端末管理テーブル109から、接続要求情報に記載の中継器IDを検索する。この検索結果を第1の中継器IDとする。
2)端末管理テーブル109から、第1の中継器IDと同じ行に記載の周辺端末IDを抽出する。
3)抽出した周辺端末IDと同じIDを端末IDから検索する。この検索結果を第2の端末IDとする。
4)第2の端末IDと同じ行に記載の中継器IDを抽出する。この抽出結果を第2の中継器IDとする。
5)第2の端末IDのうち、第1の中継器IDと異なる第2の中継器IDを保持する端末を検索する。この検索結果を移行候補端末とする。移行候補端末は複数存在することもある。
【0204】
例えば、図7における端末40cと端末40bは、互いに別々のネットワークグループに属している。もしも、端末40cが端末40bと無線通信可能である場合、端末40cは、現在属しているネットワークグループN1から端末40bの属するネットワークグループN2に移行できる可能性がある。
【0205】
管理サーバ10の接続処理部101は、ステップS610の検索によって移行候補端末を発見できたか否かを判定する(S611)。
【0206】
移行候補端末が存在しない場合(S611:NO)、接続処理部101は、参加要求元の端末40に待機通知を送信する(S615)。
【0207】
移行候補端末が存在する場合(S611:YES)、接続処理部101は、中継器管理テーブル108から、移行候補端末の移行先の中継器30における収容可能端末数を取得する(S612)。なお、移行候補端末が複数存在する場合、それぞれの移行候補端末の移行先の中継器30について収容可能端末数を取得する。
【0208】
管理サーバ10の接続処理部101は、収容可能端末数が「0」より大きい中継器30の存在の有無を判定する(S613)。
【0209】
ステップS613の判定において、収容可能端末数が「0」より大きい中継器30が存在しない場合(S613:NO)、接続処理部101は、参加要求元の端末に待機通知を送信する(S615)。
【0210】
ステップS613の判定において、収容可能端末数が「0」より大きい中継器30が存在する場合(S613:YES)、接続処理部101は、複数の移行候補端末から所定の条件に基づいて移行させる端末を選択し、その移行端末に接続先変更情報を送信する(S614)。
【0211】
ここで、複数の移行候補端末から移行対象端末を選択する条件例を以下に示す。
1)ネットワークトポロジー的に下位に端末が接続されていない(又は、接続されている端末数が少ない)移行候補端末を優先的に選択する。
2)ネットワークトポロジー的に下位に接続されている端末数が、移行先の中継器30の収容可能端末数以下である移行候補端末を優先的に選択する。
3)収容可能端末数が最も多い中継器30に移行可能な移行候補端末を優先的に選択する。
4)移行後の接続先となる周辺端末とのリンク品質が最良の移行候補端末を優先的に選択する。
上記の条件は、単独で設定されてもよいし、これらを組み合わせて設定されてもよい。
【0212】
以上の処理により、管理サーバ10は、中継器30の収容可能端末の最大数を超えることなく、各中継器30にできるだけ多くの端末40を収容させることができる。すなわち、より多くの端末40がネットワークグループNに参加できる。
【実施例2】
【0213】
第2の実施形態では、中継器30が故障などにより一時的に通信ネットワークシステムから離脱した場合の動作について説明する。第2実施形態は、第1実施形態の変形例に該当する。そこで、第2実施形態と第1実施形態との相違を中心に説明する。
【0214】
図16は、中継器が一時的に通信ネットワークシステムから離脱したときのトポロジーの一例を示す。図16のトポロジーは、図7と同位置である。図16において、中継器30aが故障などにより、一時的に通信ネットワークシステムから離脱すると仮定する。以下、このときの通信ネットワークシステムの動作について説明する。
【0215】
図17は、中継器30aが一時的に通信ネットワークシステムから離脱したときのシーケンスを示す。
【0216】
管理サーバ10の接続処理部101は、中継器30aの故障を検出すると(S700)、端末管理テーブル109を参照する(S701)。接続処理部101は、故障した中継器30aが束ねていた端末40a,40cのうち、他のネットワークグループN2に接続できる可能性がある端末40を選出する(S702)。選出方法は、図15で述べた通りである。
【0217】
接続処理部101は、ステップS702の処理において複数の端末40が選出できた場合、ネットワークトポロジー的により上位の端末を、接続先を変更すべき端末として選択する。
【0218】
管理サーバ10の送信データ処理部103は、接続処理部101が選択した端末(例えば、端末40aとする)を宛先とする、接続先変更情報を生成する。なお、接続先変更情報には、中継器30の故障による接続先変更である旨を示すフラグ等を付与してもよい。すなわち、接続先変更情報に、重要度(又は緊急度)の大きさがわかるフラグ等を設けてもよい。
【0219】
管理サーバ10の通信処理部106は、接続先変更情報をデータ収集サーバ20に送信する(S703)。
【0220】
データ収集サーバ20の通信処理部206は、管理サーバ10から接続先変更情報を受信するが(S704)、それを中継器30aには転送できない。そこで、通信処理部206は、接続先変更情報を、他のネットワークグループN2の中継器30bに転送する(S705)。
【0221】
中継器30bの通信処理部306は、データ収集サーバ20から接続先変更情報を受信して(S706)、端末40bに転送する(S707)。
【0222】
端末40bの通信処理部406は、中継器30bから接続先変更情報を受信する(S708)。
【0223】
端末40bの受信データ処理部404は、宛先が端末40aの接続先変更情報と解析する。ここで、端末40bと端末40aは、ネットワークトポロジー的には接続されていないので、接続先変更情報は端末40aに転送されない。しかし、今回は、中継器30aの離脱に伴う接続先変更という特殊な状況なので、ネットワークトポロジー的に接続されていない端末40にも転送できないか検討する。なお、接続先変更情報に重要度(又は緊急度)のフラグ等が付与されている場合、そのフラグ等を基に特殊な状況か否かを判断してもよい。
【0224】
端末40bの受信データ処理部404は、周辺端末管理テーブル407を参照し、接続先変更情報の宛先の端末40が存在するか否かを判断する。ここでは、端末40aが存在するので、端末40bの受信データ処理部404は、接続先変更情報を端末40aに転送する処理を開始する。
【0225】
端末40bの受信データ処理部404は、端末40aと通信ができるように、自端末40bのチャネル番号を、端末40aが使用中のチャネル番号に一時的に切り替える(S709)
【0226】
端末40bの通信処理部406は、接続先変更情報を端末40aに転送する(S710)。端末40bの受信データ処理部404は、転送完了後、ステップS709で切り替えたチャネル番号を元のチャネル番号に戻す(S711)。
【0227】
端末40aの通信処理部406は、端末40bから接続先変更情報を受信する(S712)。
【0228】
端末40aの受信データ処理部404は、自端末40a宛の接続先変更情報であると判定し、テーブル処理部405に処理を指示する。端末40aのテーブル処理部405は、接続先変更情報に基づき、周辺端末管理テーブル407を更新する(S713)。例えば、端末40aのテーブル処理部405は、周辺端末管理テーブル407から中継器30aのデータセットを削除する。
【0229】
端末40aは、接続先変更情報に従って、トポロジー管理テーブル408を更新する(S714)。例えば、端末40aのテーブル処理部405は、トポロジー管理テーブル408において、中継器ID421を中継器30bのIDに更新し、上位端末ID422を、新たな接続先の端末のID(例えば、端末40bのID)に更新する。
【0230】
端末40aの通信処理部406は、トポロジー的に下位の端末40cにチャネル変更通知を送信する(S715)。チャネル変更通知には、端末40aが端末40bと無線通信するために変更するチャネル番号が記載されている。端末40aは、端末40bと無線通信可能なチャネル番号に変更する(S716)。
【0231】
端末40cの通信処理部406は、端末40aからチャネル変更通知を受信する(S716)。
【0232】
端末40cの受信データ処理部404は、受信したデータがチャネル変更通知であると判定し、テーブル処理部405に処理を指示する。端末40cのテーブル処理部405は、周辺端末管理テーブルを更新する(S718)。例えば、端末40cのテーブル処理部405は、周辺端末管理テーブル407から中継器30aのデータセットを削除する。
【0233】
端末40cのテーブル処理部405は、トポロジー管理テーブル408を更新する(S719)。例えば、端末40bのテーブル処理部405は、トポロジー管理テーブル408において、中継器ID421を中継器30bのIDに更新する。
【0234】
端末40bのチャネル処理部401は、チャネル変更通知に従って、チャネル番号を変更する(S720)。もしも、端末40bが下位端末を有している場合(すなわち、トポロジー管理テーブル408の下位端末ID423に値を有している場合)、チャネル変更通知を下位の端末に転送する。
【0235】
以上の処理により、中継器30aが故障等により通信ネットワークシステムから一時的に離脱しても、離脱した中継器30aに束ねられていた一つまたは複数の端末40の通信を比較的速やかに復旧させることができる。また、管理サーバ10は、離脱した中継器30aにネットワークトポロジー的に近い端末40aに接続変更情報を送信することで、接続先変更に伴うトラフィックの増加を最小限に留めることができる。
【0236】
上述した本発明の実施形態は、本発明の説明のための例示であり、本発明の範囲をそれらの実施形態に限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。
【0237】
例えば、本実施形態は、通信ネットワークシステムの構築方法と表現できる。
「無線通信が可能な複数の端末を少なくとも一つの中継器を介して管理サーバに接続する通信ネットワークシステムを構築するための方法であって、
前記中継器は、前記複数の端末をネットワークグループとして管理し、前記複数の端末と前記管理サーバとの間の通信を中継するものであり、
前記管理サーバは、通信ネットワークを介して前記複数の端末又は複数の前記中継器とデータの送受信を行う通信部と、前記ネットワークグループの構成を制御するための情報を送信する接続処理部とを備えており、
前記接続処理部は、
前記複数の端末のうちの第1端末が、前記複数の中継器のうちの第1中継器により管理される第1ネットワークグループに参加を要求する場合に、前記第1中継器に前記第1端末を収容可能か否か判断し、
前記収容可否判断が肯定的なときは、前記第1端末が前記第1ネットワークグループに参加することを許可する接続先情報を、前記通信部を介して前記第1端末宛に送信する、通信ネットワークシステムの構築方法。」
【符号の説明】
【0238】
1:通信ネットワークシステム、10:管理サーバ、20:データ収集サーバ、30:中継器、40:端末
【技術分野】
【0001】
本発明は、通信ネットワークシステムを構築する技術に関する。
【背景技術】
【0002】
スマートグリッド(次世代電力網)は、自動検針システムを備える。自動検針システムは、通信機能を持った電気メータ(いわゆるスマートメータ)等の端末が、自動的に電気使用量等の各種データを電力事業者に報告する。
【0003】
特許文献1には、通信ネットワークを構成する複数の中継器の負荷バランスがほぼ均等になるように、各中継器に各通信端末を接続することが記載されている。
【0004】
特許文献2には、周囲に多くの無線通信装置が存在する場合であっても、無線通信装置間の無駄な通信プロトコルの発生を抑制することが記載されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2001−256157号公報
【特許文献2】特開2009−218811号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
自動検針システムは、電気使用量等の重要なデータを収集する。したがって、無線通信ネットワークは、端末の参加又は端末の離脱等の様々な事態が発生しても、各端末のデータを確実に収集できる高い信頼性が要求される。
【0007】
特許文献1は、新たな端末がネットワークに参加する際、無線通信ネットワークのトラフィックが増大してしまう。なぜなら、サーバにおいて、新たに参加した端末と全ての中継器との接続状況を収集して接続先中継器の優先度を再計算し、その結果を配布するためである。
【0008】
特許文献2は、端末1台あたりの通信帯域を保証できない。なぜなら、無線通信帯域は有限なため、新たに参加した端末の分だけ、従来の端末が使用していた通信帯域が少なくなるからである。
【0009】
そこで、本発明の目的は、信頼性の比較的高い無線通信ネットワークを構築することである。
【0010】
本発明の別の目的は、各端末のデータを収集できる比較的信頼性の高いマルチホップ型無線通信ネットワークを構築することである。
【0011】
本発明の別の目的は、端末の参加又は端末の離脱等の様々な事態が発生したとき、比較的迅速にマルチホップ型無線通信ネットワークを再構築することである。
【課題を解決するための手段】
【0012】
本発明の一実施形態に従う無線通信ネットワークシステムは、
無線通信が可能な複数の端末を少なくとも一つの中継器を介して管理サーバに接続する通信ネットワークシステムであって、
中継器は、複数の端末をネットワークグループとして管理し、複数の端末と管理サーバとの間の通信を中継するものであり、
管理サーバは、
通信ネットワークを介して複数の端末又は複数の中継器とデータの送受信を行う通信部と、
ネットワークグループの構成を制御するための情報を送信する接続処理部とを備えており、
接続処理部は、
複数の端末のうちの第1端末が、複数の中継器のうちの第1中継器により管理される第1ネットワークグループに参加を要求する場合に、第1中継器に第1端末を収容可能か否か判断し、
収容可否判断が肯定的なときは、第1端末が第1ネットワークグループに参加することを許可する接続先情報を、通信部を介して第1端末宛に送信する。
【0013】
好適な実施形態では、第1中継器及び第1ネットワークグループに属する複数の端末は、マルチホップ型無線通信で相互に接続されており、第1中継器をルートノードとするツリー状のネットワークトポロジーを構成してもよい。
【0014】
好適な実施形態では、接続処理部は、
収容可否判断が否定的なとき、第1ネットワークグループに属する複数の端末のうち、第1ネットワークグループと異なる第2ネットワークグループに移行可能な移行候補端末が存在するか否かを判断し、
移行可否判断が肯定的なときは、移行候補端末のうち移行対象を選択し、
第2ネットワークグループに移行させるための接続先変更情報を、通信部を介して、移行対象の端末宛に送信し、
第1端末が第1ネットワークグループに参加することを許可するための接続先情報を、通信部を介して第1端末宛に送信してもよい。
【図面の簡単な説明】
【0015】
【図1】本発明の一実施形態に係る通信ネットワークシステムのネットワークトポロジーを示す。
【図2A】端末40のハードウェア構成の一例を示す。
【図2B】中継器30のハードウェア構成の一例を示す。
【図2C】データ収集サーバ20のハードウェア構成の一例を示す。
【図2D】管理サーバ10のハードウェア構成の一例を示す。
【図3A】端末40の機能ブロック構成の一例を示す。
【図3B】中継器30の機能ブロック構成の一例を示す。
【図3C】データ収集サーバ20の機能ブロック構成の一例を示す。
【図3D】管理サーバ10の機能ブロック構成の一例を示す。
【図4A】周辺端末管理テーブル407のデータ構造の一例を示す。
【図4B】トポロジー管理テーブル408のデータ構造の一例を示す。
【図4C】中継器管理テーブル108のデータ構造の一例を示す。
【図4D】端末管理テーブル109のデータ構造の一例を示す。
【図4E】待機端末管理テーブル110のデータ構造の一例を示す。
【図5】端末40dがネットワークグループN1に参加するときのシーケンスの一例を示す。
【図6】チャネル処理部401の処理フローの一例を示す。
【図7】中継器30aの収容可能端末数が「0」であるネットワークグループN1に、新たな端末40dが参加を要求するときのネットワークトポロジーの一例を示す。
【図8】中継器30aの収容可能端末数が「0」であるネットワークグループN1に、新たな端末40dが参加を要求するときのシーケンスの一例を示す。
【図9】図8のシーケンスの続き。
【図10】中継器30aの収容可能端末数が「0」であるネットワークグループN1に、新たな端末40dが参加を要求するときのネットワークトポロジーの別の一例を示す。
【図11】中継器30aの収容可能端末数が「0」であるネットワークグループN1に、新たな端末40dが接続を要求するときのシーケンスの別の一例を示す。
【図12】ある端末40bがネットワークグループN1から離脱するときのネットワークトポロジーの一例を示す。
【図13】端末40bがネットワークグループから離脱するときのシーケンスの一例を示す。
【図14】管理サーバ10における接続処理のフローの一例を示す。
【図15】管理サーバ10における接続先変更処理のフローの一例を示す。
【図16】中継器30aが一時的に通信ネットワークシステム1から離脱したときのトポロジーの一例を示す。
【図17】中継器30aが一時的に通信ネットワークシステム1から離脱したときのシーケンスを示す。
【発明を実施するための形態】
【0016】
本実施形態では、以下に述べるように、管理サーバ10が備える接続処理部101は、端末40dからネットワークグループN1への参加要求を受けたとき、中継器30aが端末40dを収容可能か否か判断する。
【実施例1】
【0017】
図1は、本発明の一実施形態に係る通信ネットワークシステム1のネットワークトポロジーの一例を示す。通信ネットワークシステム1は、例えば、少なくとも一つの管理サーバ10と、少なくとも一つのデータ収集サーバ20と、複数の中継器30と、複数の端末40とから構成することができる。特に区別しない場合、中継器30a,30bを中継器30と呼ぶ。同様に、端末40a〜40dを端末40と呼ぶ。
【0018】
管理サーバ10は、データ収集サーバ20と無線または有線で、通信可能に接続されている。管理サーバ10は、通信ネットワークシステム1に属する各中継器30及び各端末40を管理する。管理サーバ10の詳細は後述する。
【0019】
データ収集サーバ20は、管理サーバ10及び各中継器30と通信可能に接続されている。データ収集サーバ20は、無線により各中継器30と接続される。データ収集サーバ20は、各中継器30を介して、各端末40と接続される。データ収集サーバ20は、各中継器30及び各端末40が保持する各種データを収集して、それらのデータを管理サーバ10に伝える。データ収集サーバ20の詳細は後述する。
【0020】
中継器30は、データ収集サーバ20及び各端末40と通信可能に接続されている。中継器30は、各ネットワークグループN1,N2に属する端末40を束ねる。特に区別しない場合、ネットワークグループN1,N2を、ネットワークグループNと呼ぶ。端末40同士がマルチホップ型無線通信ネットワークで接続されているネットワークグループNにおいて、中継器30は、ネットワークグループNのゲートウェイのような役割を果たす。中継器30の詳細は後述する。なお、本明細書において、「束ねる」とは、管理する、または、担当するという意味である。
【0021】
端末40は、中継器30及び/又は他の端末40と無線通信可能に接続されている。端末40は、例えば、通信機能を持った電気メータ(いわゆるスマートメータ)等であり、電気使用量等の各種データを保持する。無線通信が可能な距離に位置する端末(以下「周辺端末」という)40同士は、無線通信による情報交換が可能である。例えば図1において、端末40dから見て、周辺端末が40aと40cとする。この場合、端末40dは、周辺端末40a及び40cと無線通信による情報交換が可能である。端末40の詳細は後述する。
【0022】
ネットワークグループNは、1つの中継器30と、その中継器30に束ねられる複数の端末40とから構成される。ネットワークグループNは、1つの中継器30をルートノードとし、その配下に端末40がツリー状に接続されるネットワーク形状を有する。このネットワーク形状をネットワークトポロジーと呼ぶ。
【0023】
例えば、図1において、ネットワークグループN2は、中継器30bをルートノードとし、その配下に端末40bと40eが接続され、さらに端末40bの配下に端末40cが接続されている、ツリー状のネットワークトポロジーを構成する。
【0024】
図1に示すネットワークトポロジーにおいて、末端の端末40cが管理サーバ10にデータを送信するとき、そのデータは、1)直近の端末40b、2)中継器30b、3)データ収集サーバ20、の順番に転送されて、管理サーバ10に届けられる。すなわち、データがマルチホップ形式(いわゆるバケツリレー式)で届けられる。逆に管理サーバ10から端末40cにデータを送信するときも同様に、中継器30b、上位端末40b、末端端末40cの順に転送される。
【0025】
なお、図1では、管理サーバ10と、データ収集サーバ20と、中継器30とをそれぞれ別々の装置として構成する場合を説明した。これに代えて、それらの装置10,20,30のいずれか複数を一つの装置として構成してもよい。
【0026】
図2Aは、端末40のハードウェア構成の一例を示す。端末40は、例えば、CPU(Central Processing Unit)41と、揮発性メモリ42と、記憶装置43と、通信インタフェース44を備える。これら41,42,43,44は、内部バス等で相互に接続される。
【0027】
CPU41は、記憶装置43に記憶されているコンピュータプログラム(以下「プログラム」という)を読み出して実行することで、様々な機能を実現する。
【0028】
揮発性メモリ42は、CPU41がプログラムを実行するにあたり必要なデータを、一時的に記憶する。揮発性メモリ42は、例えば、DRAM(Dynamic Random Access Memory)等で構成される。
【0029】
記憶装置43は、CPU41にて実行されるプログラム及び各種データ等を記憶する。記憶装置43は、例えば、HDD(Hard Disk Drive)又は不揮発性メモリ等で構成される。
【0030】
通信インタフェース44は、ネットワークに接続されている他の装置と無線通信するためのインタフェースである。通信インタフェース44は、他の端末40又は中継器30とマルチホップ型無線通信でデータを送受信する。通信インタフェース44は、周囲で無線通信可能なチャネル(いわゆる無線チャネル番号)を検出する。
【0031】
図2Bは、中継器30のハードウェア構成を示す。中継器30は、例えば、CPU31と、揮発性メモリ32と、記憶装置33と、通信インタフェース34を備える。それら31,32,33,34は内部バス等で相互に接続される。図2Bに示す各ハードウェア31〜34は、図2Aで述べたハードウェア41〜44と同様であるため、その説明を省略する。但し、中継器30の役割と端末40の役割とは相違する。
【0032】
図2Cは、データ収集サーバ20のハードウェア構成を示す。データ収集サーバ20は、例えば、CPU21と、揮発性メモリ22と、記憶装置23と、通信インタフェース24を備える。それら21,22,23,24は内部バス等を介して相互に接続される。図2Cに示す各ハードウェア21〜24は、図2Aに示すハードウェア41〜44とほぼ同様であるため、その説明を省略する。但し、データ収集サーバ20の役割と端末40の役割とは異なる。
【0033】
図2Dは、管理サーバ10のハードウェア構成を示す。管理サーバ10は、例えば、CPU11と、揮発性メモリ12と、記憶装置13と、通信インタフェース14と、画面表示装置15とを備える。それら11,12,13,14,15は内部バス等を介して相互接続される。図2Dに示す各ハードウェア11〜14は、図2Aに示す各ハードゥエア41〜44とほぼ同じなので、その説明を省略する。但し、管理サーバ10の役割と端末40の役割とは異なる。
【0034】
画面表示装置15には、管理サーバ10が管理している情報が表示される。表示される情報としては、例えば、ネットワークグループN内の接続状況がある。画面表示装置15は、例えば、ディスプレイ装置等で構成される。
【0035】
画面表示のみならず、管理サーバ10に指示を与えるための情報入力装置を管理サーバ10に設けてもよい。情報の出力及び情報の入力を行うための装置を、通信ネットワークまたは通信ケーブル等を介して、管理サーバ10に接続する構成でもよい。さらに、管理サーバ10は、一つのコンピュータから構成してもよいし、または、複数のコンピュータから構成してもよい。
【0036】
図3Aは、端末40の機能ブロック構成の一例を示す。端末40は、例えば、チャネル処理部401と、送信データ処理部403と、受信データ処理部404と、テーブル処理部405と、通信処理部406と、周辺端末管理テーブル407と、トポロジー管理テーブル408とを有する。端末40は、例えば、スマートメータとして構成される。または、端末40は、センサとして構成される。
【0037】
チャネル処理部401は、通信インタフェース44を制御して、無線チャネル番号を切り替える。また、チャネル処理部401は、無線チャネル番号を順次切り替えながら、周辺から無線通信が可能な端末を検出する。
【0038】
送信データ処理部403は、他の端末40又は中継器30等に送信するデータを生成する。送信データ処理部403は、端末40がネットワークグループNに参加する際、又は端末40がネットワークグループNから離脱する際に、参加又は離脱を要求するための要求情報を生成する。つまり、送信データ処理部403は、端末40がネットワークグループNに参加する場合、参加を要求するための参加要求情報を生成する。送信データ処理部403は、端末40がネットワークグループNから離脱する場合、離脱を要求するための離脱要求情報を生成する。
【0039】
受信データ処理部404は、通信インタフェース44を介して受信したデータを解析して、そのデータに含まれる各種情報を抽出する。抽出対象の情報としては、例えば、参加要求情報、又は離脱要求情報等がある。受信データ処理部404は、解析結果に基づいて、受信したデータの処理を他の処理部401,403,405,406に依頼する。
【0040】
テーブル処理部405は、周辺端末管理テーブル407及びトポロジー管理テーブル408に対し、データの登録、データの更新、又はデータの削除等を行う。
【0041】
通信処理部406は、通信インタフェース44を制御して、他の端末40等からデータを直接的又は間接的に受信する。また、通信処理部406は、通信インタフェース44を制御して、送信データ処理部403で生成されたデータを他の端末40に直接的又は間接的に送信する。
【0042】
直接的なデータの送受信とは、周辺端末と直接データを送受信することをいう。間接的なデータの送受信とは、ネットワークトポロジー的に上位又は下位の端末とマルチホップ形式でデータを送受信することをいう。また、通信処理部406は、間接的なデータの送受信において、受信したデータが自端末宛でない場合、宛先の端末に近づくように、上位端末または下位端末に転送する。上位端末とは、ネットワークトポロジー的に上位に位置する端末40である。下位端末とは、ネットワークトポロジー的に下位に位置する端末40である。
【0043】
図3Bは、中継器30の機能ブロック構成を示す。中継器30は、ネットワークグループNに属する一つ以上の端末40を統括する。すなわち、中継器30は、端末40同士がマルチホップ型無線通信ネットワークで接続されているネットワークグループNにおいて、ゲートウェイのような役割を果たす。
【0044】
中継器30は、例えば、チャネル処理部301と、送信データ処理部303と、受信データ処理部304と、テーブル処理部305と、通信処理部306と、トポロジー管理テーブル308とを有する。中継器30は、ネットワークグループNに属する端末40から送信されるデータを収集して、データ収集サーバ20に渡す。中継器30は、データ収集サーバ20から送信されたデータを、マルチホップ形式で宛先の端末40に転送する。
【0045】
チャネル処理部301は、通信インタフェース34を制御して、無線チャネル番号を切り替える。また、チャネル処理部301は、無線チャネル番号を順次切り替えながら、周辺から無線通信が可能な端末を検出する。
【0046】
送信データ処理部303は、端末40又は管理サーバ10等に送信するデータを生成する。送信データ処理部303は、中継器30がネットワークグループNに参加する際、又は中継器30がネットワークグループNから離脱する際に、参加又は離脱を要求するための要求情報を生成する。つまり、送信データ処理部303は、中継器30がネットワークグループNに参加する場合、参加を要求するための参加要求情報を生成する。送信データ処理部303は、中継器30がネットワークグループNから離脱する場合、離脱を要求するための離脱要求情報を生成する。
【0047】
受信データ処理部304は、通信インタフェース34を介して受信したデータを解析して、そのデータに含まれる各種情報を抽出する。抽出対象の情報としては、例えば、参加要求情報、又は離脱要求情報等がある。受信データ処理部304は、解析結果に基づいて、受信したデータの処理を他の処理部301,303,305,306に依頼する。
【0048】
テーブル処理部305は、トポロジー管理テーブル308に対し、データの登録、データの更新、又はデータの削除等を行う。
【0049】
通信処理部306は、通信インタフェース34を制御して、端末40等からデータを直接的又は間接的に受信する。また、通信処理部306は、通信インタフェース34を制御して、送信データ処理部303で生成されたデータを端末40又は管理サーバ10等に直接的又は間接的に送信する。なお、トポロジー管理テーブル308については後述する。
【0050】
図3Cは、データ収集サーバ20の機能ブロック構成を示す。データ収集サーバ20は、例えば、端末40から収集したデータを管理するデータベースサーバである。
【0051】
データ収集サーバ20は、例えば、送信データ処理部203と、受信データ処理部204と、通信処理部206とを有する。
【0052】
送信データ処理部203は、端末40又は管理サーバ10等に送信するデータを生成する。
【0053】
受信データ処理部204は、通信インタフェース24を介して受信したデータを解析して、そのデータに含まれる各種情報を抽出する。抽出対象の情報としては、例えば、参加要求情報、又は離脱要求情報等がある。受信データ処理部204は、解析結果に基づいて、受信したデータの処理を他の処理部203,206に依頼する。
【0054】
通信処理部206は、通信インタフェース24を制御して、端末40等からデータを直接的又は間接的に受信する。また、通信処理部206は、通信インタフェース34を制御して、送信データ処理部203で生成されたデータを端末40又は管理サーバ10等に直接的又は間接的に送信する。
【0055】
図3Dは、管理サーバ10の機能ブロック構成を示す。管理サーバ10は、例えば、端末30及び中継器40から様々な要求を受けたり、端末30及び中継器40に指示を与えたりするアプリケーションサーバである。
【0056】
管理サーバ10は、例えば、接続処理部101と、送信データ処理部103と、受信データ処理部104と、テーブル処理部105と、通信処理部106と、表示処理部107と、中継器管理テーブル108と、端末管理テーブル109と、待機端末管理テーブル110とを有する。
【0057】
送信データ処理部103は、端末40又は中継器30等に送信するデータを生成する。
【0058】
受信データ処理部104は、通信インタフェース14を介して受信したデータを解析して、そのデータに含まれる各種情報を抽出する。抽出対象の情報としては、例えば、参加要求情報、又は離脱要求情報等がある。受信データ処理部104は、解析結果に基づいて、受信したデータの処理を他の処理部101,103,105,106に依頼する。
【0059】
テーブル処理部105は、中継器管理テーブル108と、端末管理テーブル109と、待機端末管理テーブル110に対し、データの登録、データの更新、又はデータの削除等を行う。
【0060】
通信処理部106は、通信インタフェース14を制御して、端末40等からデータを直接的又は間接的に受信する。また、通信処理部106は、通信インタフェース14を制御して、送信データ処理部103で生成されたデータを端末40等に直接的又は間接的に送信する。
【0061】
表示処理部107は、画面表示装置15を制御して、管理サーバ10が管理している情報を表示させる。管理対象の情報には、例えば、ネットワークグループNの接続状況等を示す情報が含まれる。例えば、表示処理部107は、ネットワークグループNへの接続を待機している端末40のID(Identification)を表示させる。
【0062】
接続処理部101は、端末40dがネットワークグループN1に参加を要求するとき、ネットワークグループN1を束ねる中継器30aに端末40dを収容可能か否かを判断する。接続処理部101は、端末40dを中継器30aに収容可能であると判断した場合、端末40dに、ネットワークグループN1への参加を許可する接続先情報を送信させる。中継器30aに端末40dが収容可能とは、中継器30aで端末40dを管理可能であることを意味する。後述のように、中継器30で管理可能な端末の台数(収容可能台数)には上限がある。上限値に達した場合、新たな端末40をネットワークグループNに参加させることはできない。
【0063】
接続処理部101は、中継器30aに端末40dを収容できないと判断した場合、ネットワークグループN1に属する端末のうち、他のネットワークグループN2に移行可能な端末が存在するか否かを判断する。
【0064】
現在属しているネットワークグループN1から他のネットワークグループN2に移行可能な端末が有る場合、接続処理部101は、移行可能な端末に、接続先変更情報を送信する。接続先変更情報とは、移行可能な端末を他のネットワークグループN2に移行させるための情報である。接続処理部101は、接続先変更情報を移行可能な端末に送信させた後、端末40dに対して、ネットワークグループN1への参加を許可するための接続先情報を送信させる。
【0065】
接続処理部101は、他のネットワークグループN2に移行可能な端末が無い場合、端末40dに向けて、ネットワークグループN1への参加を待機させるための待機通知を送信させる。
【0066】
接続処理部101は、他のネットワークグループN2に移行可能な端末が複数存在する場合、所定の選択基準に従って、いずれか一つの端末を選択する。所定の選択基準としては、例えば、移行先のネットワークグループN2との通信品質が最もよい端末を選択する方法がある。
【0067】
接続処理部101は、ネットワークグループN1から中継器30aが離脱したことを検知した場合、ネットワークグループN1に属する端末40のうち、他のネットワークグループN2に移行可能な端末が存在するか否かを判断する。移行可能な端末が有る場合、接続処理部101は、その移行可能な端末に、ネットワークグループN2が構成する通信路を経由して、ネットワークグループN2への移行を指示するための接続先変更情報を送信させる。なお、移行可能な端末が複数存在する場合、接続処理部101は、ネットワークグループN1から離脱した中継器30aとネットワークトポロジー的に最も近い端末40aに向けて、接続先変更情報を送信させてもよい。
【0068】
接続処理部101は、ネットワークグループNへの参加要求に対して、参加可否を判断する。さらに、接続処理部101は、中継器30の収容可能端末数が「0」であるネットワークグループNに参加要求があったとき、参加要求元の端末をできるだけ収容できるようにネットワークグループNの構成を調整する。
【0069】
図4Aは、周辺端末管理テーブル407のデータ構造の一例を示す。周辺端末管理テーブル407は、端末40が直接的に無線通信可能な他の端末(周辺端末)に関する情報を保持する。
【0070】
周辺端末管理テーブル407は、例えば、チャネル番号411と、周辺端末ID412と、中継器ID413と、リンク品質414の各情報を保持する。
【0071】
チャネル番号411には、周辺端末が使用している無線通信のチャネル番号が保持される。チャネル番号とは、周辺端末が使用する所定の周波数帯域を示す情報である。同一のネットワークNに属している、中継器30及び端末40は、それぞれ同じチャネル番号を使用する。
【0072】
周辺端末ID412には、周辺に位置する端末40のIDが保持される。端末IDは、例えば、端末のIP(Internet Protocol)アドレスであってもよいし、MACアドレスであってもよいし、システム独自の識別番号等であってもよい。
【0073】
中継器ID413には、周辺端末が属するネットワークNを管理する中継器30のIDが保持される。中継器ID413は、例えば、中継器30のIPアドレスであってもよいし、MACアドレスであってもよいし、システム独自の識別番号等であってもよい。
【0074】
リンク品質414には、周辺端末が発する無線信号の強度が保持される。無線信号の強度とは、例えば、受信した無線信号の電力の大きさである。なお、リンク品質414として、無線信号の強度に代えて又は無線信号の強度と共に他の品質情報を用いてもよい。他の品質情報には、例えば、パケット誤り率、遅延時間、あるいはホップ数などがある。ホップ数とは、データが中継器30に到達するまでに転送される回数である。
【0075】
図4Bは、トポロジー管理テーブル408のデータ構造の一例を示す。トポロジー管理テーブル408は、例えば、中継器ID421と、上位端末ID422と、下位端末ID423の各情報を保持する。
【0076】
中継器ID421には、自端末40が属するネットワークグループNを担当する中継器30のIDが保持される。
【0077】
上位端末ID422には、自端末40から見てネットワークトポロジー的に上位の端末40のIDが保持される。上位端末とは、中継器30により近い端末である。
【0078】
下位端末ID423には、自端末40から見てネットワークトポロジー的に下位の端末のIDが保持される。下位端末とは、中継器30により遠い端末である。
【0079】
図4Cは、中継器管理テーブル108のデータ構造の一例を示す。中継器管理テーブル108は、中継器30が担当可能な端末40の台数を管理する。中継器管理テーブル108は、例えば、中継器ID111と、チャネル番号112と、収容可能端末の最大数113と、収容中端末数114と、収容可能端末数115を保持する。
【0080】
中継器ID111には、管理サーバ10が管理する中継器30のIDが保持される。例えば図1において、中継器30aのIDと中継器30bのIDとが中継器ID111に記憶される。
【0081】
チャネル番号112には、中継器30の使用するチャネル番号が保持される。
【0082】
収容可能端末の最大数113には、中継器30が束ねることが可能な端末40の最大数が保持される。すなわち、中継器30の担当するネットワークグループNに属することが可能な端末40の最大数が保持される。最大数113は、例えば、中継器30が備えるCPU31の性能、及び/又は、中継器30の使用可能な無線帯域の広さ等から算出することができる。
【0083】
収容中端末数114には、中継器30が現在束ねている端末40の数が保持される。すなわち、中継器30が担当するネットワークグループNに現在属している端末40の数が保持される。
【0084】
収容可能端末数115には、収容可能端末の最大数113の値から収容中端末数114の値を減算した値が保持される。すなわち、中継器30が束ねるネットワークグループNに新たに参加可能な端末40の数が保持される。
【0085】
図4Dは、端末管理テーブル109のデータ構造の一例を示す。端末管理テーブル109は、通信ネットワークシステム1に属する全ての端末40を管理するためのテーブルである。端末管理テーブル109は、例えば、端末ID121と、周辺端末ID122と、中継器ID123と、上位端末ID124と、リンク品質125と、中継回数126と、接続端末数127との、各情報を保持する。
【0086】
端末ID121には、通信ネットワークシステム1に属する端末40のIDが保持される。
【0087】
周辺端末ID122には、端末40が無線通信可能な周辺端末のIDが保持される。すなわち、周辺端末ID122には、チャネル処理部401によるスキャンで検出された周辺端末のIDが保持される。したがって、周辺端末ID122には、複数の周辺端末のIDが保持されてもよい。
【0088】
中継器ID123には、端末40が属しているネットワークグループNを束ねる中継器30のIDが保持される。
【0089】
上位端末ID124には、端末40から見て、ネットワークトポロジー的に上位の端末40のIDが保持される。
【0090】
リンク品質125には、周辺端末との間の無線通信の強度が保持される。
【0091】
中継回数126には、端末40と中継器30との間のホップ数が保持される。データが端末40から中継器30に到達するまでの間の、データ転送回数が保持される。
【0092】
接続端末数127には、ネットワークトポロジー的に下位の端末40の総数が保持される。
【0093】
図4Eは、待機端末管理テーブル110のデータ構造の一例を示す。待機端末管理テーブル110は、ネットワークグループNに参加できなかった端末40に関する情報を管理する。ネットワークグループNに参加できなかった端末とは、ネットワークグループNへの参加を拒否された端末である。待機端末管理テーブル110は、例えば、待機端末ID131と、中継器ID132と、データ収集サーバID133とを保持する。
【0094】
待機端末ID131には、ネットワークグループNへの参加を要求したが許可されなかった端末40のIDが保持される。例えば、参加希望先の中継器30の収容可能端末数115の値が「0」である場合、その中継器30の属するネットワークグループNへの参加が拒否される。
【0095】
中継器ID132には、端末30が属するネットワークグループNを束ねる中継器30のIDが保持される。
【0096】
データ収集サーバID133には、端末30がデータを送信するデータ収集サーバ20のIDが保持される。
【0097】
次に、通信ネットワークシステムの処理フローについて説明する。
図5は、端末がネットワークグループに参加するときの処理フローを示す。図5における端末40dは、接続先として、端末40a及び端末40cのいずれかを選択可能であると仮定する。すなわち、端末40dの周辺端末は、端末40a及び端末40cである。なお、図5の処理フローは、端末の処理及び装置間の処理の順番を示すものであって、同じ水平位置に記載した処理が時間的に同期しているわけではない。以後の処理フローの図も同様である。
【0098】
端末40dのチャネル処理部401は、チャネルスキャン処理を実行し、無線通信可能な周辺端末を検索する(S100)。チャネルスキャン処理の詳細は後述する。
【0099】
送信データ処理部403は、参加を要求する端末の数と、参加を要求する端末のID(ここでは端末40dのID)と、宛先である管理サーバ10のIDを含む、参加要求情報を生成する。
【0100】
端末40dの通信処理部406は、チャネルスキャン処理で発見した端末(ここでは、端末40a)に、参加要求情報を送信する(S101)。通信処理部406は、通信プロトコルがIP(インターネットプロトコル)の場合、参加要求情報をパケット化して送信する。
【0101】
端末40aの通信処理部406は、端末40dから参加要求情報を受信する(S102)。端末40aの受信データ処理部404は、受信データを解析して、その受信データが管理サーバ10宛の参加要求情報であると判定し、通信処理部406に転送を指示する。端末40aの通信処理部406は、ネットワークトポロジー的に上位の端末(ここでは中継器30a)に、参加要求情報を転送する(S103)。
【0102】
中継器30aの通信処理部306は、端末40aから参加要求情報を受信する(S104)。
【0103】
中継器30aの受信データ処理部304は、受信したデータが管理サーバ10宛の参加要求情報であると判定し、通信処理部306に転送を指示する。中継器30aの通信処理部306は、ネットワークトポロジー的に上位の端末(ここではデータ収集サーバ20)に、参加要求情報を転送する(S105)。
【0104】
データ収集サーバ20の通信処理部206は、中継器30aから参加要求情報を受信する(S106)。
【0105】
データ収集サーバ20の受信データ処理部204は、受信したデータが管理サーバ10宛の参加要求情報であると判定し、通信処理部206に転送を指示する。データ収集サーバ20の通信処理部206は、ネットワークトポロジー的に上位の端末(ここでは管理サーバ10)に、参加要求情報を転送する(S107)。
【0106】
管理サーバ10の通信処理部106は、データ収集サーバ20から参加要求情報を受信する(S108)。
【0107】
管理サーバ10の受信データ処理部104は、受信したデータが管理サーバ10宛の参加要求情報であると判定し、接続処理部101に処理を指示する(S109)。
【0108】
管理サーバ10の接続処理部101は、参加要求情報の送信元の端末40dが接続先とすべき端末40aを決定する。なお、接続処理部101の動作は後述する。管理サーバ10の送信データ処理部103は、参加要求情報の送信元の端末40dに送信するための接続先情報を生成する。その接続先情報には、接続処理部101が決定した、接続先とすべき端末40aのIDと、接続先とすべき端末40aが属するネットワークグループN1を束ねる中継器30aのIDとが含まれる。管理サーバ10の通信処理部106は、参加要求情報を転送してきたデータ収集サーバ20に、接続先情報を送信する(S110)。
【0109】
データ収集サーバ20の通信処理部106は、管理サーバ10から接続先情報を受信する(S111)。
【0110】
データ収集サーバ20の受信データ処理部204は、受信したデータが端末40d宛の接続先情報であると判定し、通信処理部206に転送を指示する。データ収集サーバ20の通信処理部206は、参加要求情報の転送元の中継器30aに、接続先情報を転送する(S112)。
【0111】
中継器30aの通信処理部306は、データ収集サーバ20から接続先情報を受信する(S113)。
【0112】
中継器30aの受信データ処理部304は、受信したデータが端末40d宛の接続先情報であると判定し、通信処理部306に転送を指示する。中継器30aの通信処理部306は、参加要求情報の転送元の端末40aに、接続先情報を転送する(S114)。
【0113】
端末40aの通信処理部406は、中継器30aから接続先情報を受信する(S115)。
【0114】
端末40aの受信データ処理部404は、受信したデータが端末40d宛の接続先情報であると判定し、通信処理部406に転送を指示する。端末40aの通信処理部406は、参加要求情報の転送元の端末40dに、接続先情報を転送する(S116)。
【0115】
端末40dの通信処理部406は、端末40aから接続先情報を受信する(S117)。
【0116】
端末40dの受信データ処理部404は、受信したデータが自端末40d宛の接続先情報であると判定し、テーブル処理部405に処理を指示する。端末40dのテーブル処理部405は、接続先情報に記載の中継器ID(中継器30aのID)及び接続先の端末ID(端末40aのID)を、それぞれトポロジー管理テーブル408の中継器ID421及び上位端末ID422に登録する(S118)。
【0117】
端末40dの送信データ処理部403は、管理サーバ10を宛先とする接続通知を生成する。接続通知には、例えば、接続元の端末ID(端末40dのID)と、接続先の端末ID(端末40aのID)とを含めることができる。端末40dの通信処理部406は、接続先情報に記載された接続すべき端末40aに、接続通知を送信する(S119)。
【0118】
端末40aの通信処理部406は、端末40dから接続通知を受信する(S120)。
【0119】
端末40aの受信データ処理部404は、受信したデータが管理サーバ10宛の接続通知であると判定し、テーブル処理部405に処理を指示する。端末40aのテーブル処理部405は、接続通知に自端末40aが記載されているので、トポロジー管理テーブル408の下位端末ID313に、接続通知に記載された、接続元の端末40dのIDを登録する(S121)。
【0120】
端末40aの通信処理部406は、接続通知を、ネットワークトポロジー的に上位の端末である中継器30aに送信する(S122)。
【0121】
中継器30aの通信処理部306は、端末40aから接続通知を受信する(S123)。
【0122】
中継器30aの受信データ処理部304は、受信したデータが管理サーバ10宛の接続通知であると判定し、テーブル処理部305に処理を指示する。中継器30aのテーブル処理部305は、その接続通知に自装置が記載されていないので、トポロジー管理テーブル308を更新しない。中継器30aの通信処理部306は、接続通知を、ネットワークトポロジー的に上位の端末であるデータ収集サーバ20に転送する(S124)。
【0123】
データ収集サーバ20の通信処理部206は、中継器30aから接続通知を受信する(S125)。
【0124】
データ収集サーバ20の受信データ処理部204は、受信したデータが管理サーバ10宛の接続通知であると解析し、通信処理部206に転送を指示する。データ収集サーバ20の通信処理部206は、接続通知を管理サーバ10に転送する(S126)。
【0125】
管理サーバ10の通信処理部106は、データ収集サーバ20から接続通知を受信する(S127)。
【0126】
管理サーバ10の受信データ処理部104は、受信したデータが自分宛の接続通知であると判定し、テーブル処理部105に処理を指示する。管理サーバ10のテーブル処理部105は、参加要求情報の送信元端末である端末40dが、正常にネットワークグループに参加できたことを確認し、処理を終了する(S127)。管理サーバ10のテーブル処理部105は、端末管理テーブル111を更新する。
【0127】
以上の処理により、端末40dは、無線通信可能な周辺端末40aを発見し、その周辺端末40aに接続できる。これにより、端末40dは、ネットワークグループN1に参加できる。
【0128】
図6は、チャネル処理部401の処理フローを示す。以下、図6を用いて、図5のステップS100における処理を詳細に説明する。
【0129】
端末40dのチャネル処理部401は、変数i(iは整数)に「1」を代入して初期化する(S200)。ここで、変数iは、以降の処理フローにて、無線通信のチャネル番号として使用される。
【0130】
チャネル処理部401は、変数iが定数N(Nは整数)より大きいか否かを判定する(S201)。Nには、スキャンすべき複数のチャネル番号のうち最も大きいチャネル番号が設定される。すなわち、チャネル処理部401は、N回のスキャンを実行する。
【0131】
ステップS201の判定において変数iが定数N以下のとき(S201:NO)、チャネル処理部401は、チャネル番号iのチャネルにて通信可能な周辺端末をスキャンする(S202)。
【0132】
チャネル処理部401は、ステップS202のスキャン結果に基づき、チャネル番号iにて通信が可能な周辺端末が周囲に存在するか否かを判定する(S203)。
【0133】
周辺端末が存在しないとき(S203:存在しない)、チャネル処理部401は、変数iに「1」を加算して、ステップS201の処理に戻る(S206)。チャネル処理部401は、次のチャネル番号のチャネルにて通信可能な周辺端末をスキャンする。
【0134】
周辺端末が存在するとき(S203:存在する)、チャネル処理部401は、周辺端末(例えば、端末40aとする)から送信されたデータから、その周辺端末40aのIDと、周辺端末40aが属するネットワークグループN1を束ねる中継器30aのIDとを抽出する。チャネル処理部401は、周辺端末40aからデータを受信したときのリンク品質を計測する(S204)。
【0135】
チャネル処理部401は、スキャンしたチャネル番号i(例えば、「1」)と、先ほど抽出した周辺端末40aのIDと、中継器30aのIDと、先ほど計測したリンク品質(例えば、「0.8」)とをセットとして、周辺端末管理テーブル407に登録する(S205)。なお、周辺端末が複数存在するとき、チャネル処理部401は、全ての周辺端末に対して、ステップS204及びS205の処理を実行する。
【0136】
チャネル処理部401は、変数iに「1」を加算して、ステップS201の処理に戻る(S206)。
【0137】
なお、ステップS201の判定において変数iが定数Nよりも大きいとき(S201:YES)、チャネル処理部401は、全てのチャネルのスキャンが完了したと判断し、本処理を終了する。以上の処理により、端末40は、無線通信可能な周辺端末を発見できる。
【0138】
図7は、中継器30の収容可能端末数が「0」であるネットワークグループに、新たな端末が参加を要求するときのネットワークトポロジーの一例を示す。図7において、中継器30aの収容可能端末数は「0」であると仮定する。以下、新たな端末の参加要求を受容できないネットワークグループN1に、端末40dが参加を要求する場合を例に挙げて説明する。
【0139】
図8及び図9は、中継器30aの収容可能端末数が「0」であるネットワークグループN1に、新たな端末40dが参加を要求するときのシーケンスの一例を示す。
【0140】
端末40dのチャネル処理部401は、チャネルスキャン処理を実行する(S300)。
【0141】
端末40dの送信データ処理部403は、チャネルスキャン処理を実行後、宛先を管理サーバ10とする参加要求情報を生成する。端末40dのデータ中継部402は、生成した参加要求情報を端末40aに送信する(S301)。
【0142】
端末40aと中継器40aとデータ収集サーバ20は、図5のステップS102〜S107と同様、端末40dから送信された参加要求情報をいわゆるバケツリレー式に、管理サーバ10まで転送する(S302〜S307)。
【0143】
管理サーバ10の通信処理部106は、要求元である端末40dからの参加要求情報を受信する(S308)。
【0144】
管理サーバ10の受信データ処理部104は、受信したデータが管理サーバ10宛の参加要求情報であると判定し、接続処理部101に処理を指示する。管理サーバ10の接続処理部101は、参加要求情報に基づき、接続処理を実行する(S309)。
【0145】
ネットワークグループN1を束ねる中継器30aは、新たな端末40dの参加要求を許可できないので、接続処理部101は、トポロジーを変更させるための接続先変更処理を実行する(S310)。
【0146】
接続処理部101は、ネットワークグループN1のトポロジーを変更することで新たな端末40dを受容できないか検討する。接続処理及び接続先変更処理の詳細は後述する。ここでは、端末40cを他のネットワークグループN2に移行させることで、端末40dをネットワークグループN1に受容できると仮定する。
【0147】
管理サーバ10の送信データ処理部103は、接続処理部101の判断に基づき、宛先を移行対象の端末40cとする接続先変更情報を生成する。接続先変更情報には、端末40cの接続先を、ネットワークN1に属する端末40aから他のネットワークN2に属する端末40bに変更させるための指示が含まれている。管理サーバ10の通信処理部106は、接続先変更情報をデータ収集サーバ20に送信する(S311)。
【0148】
データ収集サーバ20の通信処理部206は、管理サーバ10から接続先変更情報を受信する(S312)
【0149】
データ収集サーバ20の受信データ処理部204は、受信したデータが端末40c宛の接続先変更情報あると判定し、通信処理部106に転送を指示する。データ収集サーバ20の通信処理部206は、接続先変更情報を中継器30aに転送する(S313)。
【0150】
中継器30aの通信処理部306は、データ収集サーバ20から接続先変更情報を受信する(S314)。
【0151】
中継器30aの受信データ処理部304は、受信したデータが端末40c宛の接続先変更情報であると判定し、テーブル処理部305に処理を指示する。中継器30aのテーブル処理部305は、トポロジー管理テーブル307に、接続先変更情報に記載された端末IDが存在するか否かを確認する。中継器30aのトポロジー管理テーブル307にその端末IDは存在しないので、中継器30aのテーブル処理部305は、トポロジー管理テーブル307を更新しない。中継器30aの通信処理部306は、接続先変更情報をネットワークトポロジー的に下位の端末40aに転送する(S315)。
【0152】
端末40aの通信処理部406は、中継器30aから接続先変更情報を受信する(S316)。
【0153】
端末40aの受信データ処理部404は、受信したデータが端末40c宛の接続先変更情報であると判定し、テーブル処理部405に処理を指示する。端末40aのテーブル処理部405は、トポロジー管理テーブル408に、接続先変更情報に記載された端末IDが存在するか否かを確認する。端末40aのトポロジー管理テーブル408の下位端末ID423に、端末40cのIDが存在するので、端末40aのテーブル処理部405は、トポロジー管理テーブル408を更新する(S317)。端末40aのテーブル処理部405は、トポロジー管理テーブル408の下位端末ID423の欄から、端末40cのIDを削除する。
【0154】
端末40aの通信処理部406は、接続先変更情報を端末40cに転送する(S318)。端末40cの通信処理部406は、端末40aから接続先変更情報を受信する(S319)。
【0155】
端末40cの受信データ処理部404は、受信したデータが自端末40c宛の接続先変更情報であると判定し、テーブル処理部405に処理を指示する。端末40cのテーブル処理部405は、接続先変更情報を基に、トポロジー管理テーブル408を更新する(S320)。端末40cのテーブル処理部405は、トポロジー管理テーブル408の上位端末ID422に記載の端末40aのIDを、接続先変更情報に記載された、端末40bのIDに置換する。
【0156】
端末40cの送信データ処理部403は、接続先を変更する旨を記載した、管理サーバ10宛の接続通知を生成する。例えば、接続通知には、接続元の端末のID(ここでは端末40cのID)と、接続先の端末のID(ここでは端末40bのID)とが記載される。端末40cの通信処理部406は、端末40bと通信可能なチャネル番号に変更し(S321)、接続通知を端末40bに送信する(S322)。
【0157】
端末40bと中継器30bとデータ収集サーバ20は、図5のステップS120〜S126と同様、トポロジー管理テーブルを更新しながら、端末40cから送信された接続通知を管理サーバ10まで転送する(S323〜S329)。
【0158】
管理サーバ10の通信処理部106は、データ収集サーバ20から接続通知を受信する(S330)。
【0159】
管理サーバ10の受信データ処理部304は、受信したデータが管理サーバ10宛の接続通知であると判定し、接続処理部101に処理を指示する。管理サーバ10の接続処理部101は、端末40cがネットワークグループN2に移行し、ネットワークグループN1を束ねる中継器30aの収容可能端末数に空きができたことを確認する。接続処理部101は、端末40dのネットワークグループN1への参加を許可する。管理サーバ10の送信データ処理部103は、端末40dを宛先とする接続先情報を生成する。管理サーバ10の通信処理部106は、接続先情報をデータ収集サーバ20に送信する(S311)。
【0160】
データ収集サーバ20と中継器30aと端末40aは、図5のステップS111〜S116と同様、管理サーバ10から送信された接続先情報を端末40dまで転送する(S332〜S337)。
【0161】
端末40dの通信処理部406は、端末40aから接続先通知を受信する(S338)。
【0162】
端末40dの受信データ処理部404は、受信したデータが自端末40d宛の接続先情報であると判定し、テーブル処理部405に処理を指示する。端末40dのテーブル処理部405は、接続先情報に記載された中継器ID(ここでは中継器30aのID)及び端末ID(ここでは端末40aのID)をそれぞれ、トポロジー管理テーブル408の中継器ID421及び上位端末ID422に登録する(S339)。
【0163】
端末40dの送信データ処理部403は、管理サーバ10を宛先とする接続通知を生成する。端末40dの通信処理部406は、接続先情報に記載された接続すべき端末40aに接続通知を送信する(S340)。
【0164】
端末40aと中継器30aとデータ収集サーバ20は、図5のステップS120〜S126と同様、端末40dから送信された接続通知を管理サーバ10まで転送する(S341〜S347)。
【0165】
管理サーバ10の通信処理部106は、データ収集サーバ20から接続通知を受信する(S348)。
【0166】
管理サーバ10の受信データ処理部104は、受信したデータが管理サーバ10宛の接続通知であると判定し、テーブル処理部105に処理を指示する。管理サーバ10のテーブル処理部105は、参加要求情報の送信元の端末40dが、正常にネットワークグループN1に参加できたことを確認し、本処理を終了する。管理サーバ10のテーブル処理部105は、必要であれば、端末管理テーブル111を更新する。
【0167】
以上の処理によれば、中継器30aの収容可能端末数が「0」であるネットワークグループN1に端末40dが参加を要求した場合でも、端末40dをネットワークグループN1に参加させることができる。なぜなら、管理サーバ10が、端末40cをネットワークグループN1から他のネットワークグループN2に移行させたことで、ネットワークグループN1の中継器30aの収容可能端末数が「1」になったからである。
【0168】
すなわち、管理サーバ10は、中継器管理テーブル108及び端末管理テーブル109を参照して、参加を要求してきた端末40dがそのネットワークグループN1に参加できるように、他の端末40cの接続先を調整する。これにより、本実施形態では、中継器30の通信帯域を効率的に利用できる。
【0169】
図10は、中継器30の収容可能端末数が「0」であるネットワークグループNに、新たな端末が参加を要求するときのネットワークトポロジーの別の一例を示す。図10と図7は、中継器30aの収容可能端末数が「0」であり、かつ、端末40dがネットワークグループN1に参加を要求している点において同じである。しかし、図10と図7は、端末40cが端末40bと通信できない点において異なる。すなわち、ネットワークグループN1内に、他のネットワークグループN2に移行可能な端末が存在しない点で、図10は図7と異なる。
【0170】
図11は、中継器30aの収容可能端末数が「0」であるネットワークグループN1に、新たな端末40dが接続を要求するときのシーケンスの別の一例を示す。すなわち、図11は、図10の状況におけるシーケンスを示す。
【0171】
ステップS400〜S409の処理は、図8のS300〜S309の処理と同様のため、説明を省略する。
【0172】
管理サーバ10の接続処理部101は、接続先変更処理(S410)において、ネットワークグループN1に属する端末40a,40cのいずれもが他のネットワークグループN2に移行できない場合、ネットワークグループN1に端末40dを収容することは不可能と判断する。
【0173】
管理サーバ10の送信データ処理部103は、参加要求情報の要求元の端末40dを宛先とする待機通知を生成する。待機通知には、例えば、待機すべき時間等が記載されている。
【0174】
管理サーバ10の通信処理部106は、待機通知をデータ収集サーバ20に送信する(S411)。
【0175】
管理サーバ10のテーブル処理部105は、参加要求情報の送信元である端末40dのIDと、接続要求情報の送信元の端末が属するネットワークグループを束ねる中継器30aのIDと、接続要求情報を転送したデータ収集サーバ20のIDを、待機端末管理テーブル110に登録する(S412)。すなわち、待機端末管理テーブル110は、ネットワークグループへの参加を待っている端末を管理する。
【0176】
管理サーバ10の表示処理部107は、画面表示装置15を制御して、参加待機中の端末40dのIDを表示する(S413)。
【0177】
なお、データ収集サーバ20に送信された待機通知は、図5のステップS111〜S116と同様、端末40dに転送される(S414〜S419)。
【0178】
端末40dの通信処理部406は、待機通知を受信する(S420)。端末40dの受信データ処理部404は、受信したデータが端末40d宛の待機通知であると判定する。端末40dは、ネットワークグループN1への参加を待機する(S421)。なお、待機中の端末40dは、待機通知に記載の周期、又は所定の周期で、参加要求情報を管理サーバ10に再び送信してもよい。時間の経過により、中継器30aに収容可能な端末に空きが生じる場合等が考えられるためである。
【0179】
端末40dは、ネットワークグループN1に参加できた場合(すなわち、端末40dが接続先通知を受信できたとき)、管理サーバ10宛に接続通知を送信する。
【0180】
管理サーバ10は、端末40dからの接続通知を受信すると、待機端末管理テーブル110から、端末40dの情報を削除する。
【0181】
以上の処理によれば、端末40dをネットワークグループN1に参加させることができない場合、端末40dに参加を待機させることができる。その後、ネットワークグループN1を束ねる中継器30aの収容可能端末数に空きができたときは、待機中の端末40dを優先的に参加させたりすることもできる。
【0182】
図12は、ある端末がネットワークグループN1から離脱するときのネットワークトポロジーの一例を示す。図12では、中継器30の下位に端末40aが無線接続され、端末40aの下位に端末40bが接続され、端末40bの下位に端末40cが接続されている場合を例に挙げる。以下、端末40bがネットワークグループN1から離脱する場合を説明する。
【0183】
図13は、端末がネットワークグループから離脱するときのシーケンスの一例を示す。すなわち、図13は、図12の状況におけるシーケンスを示す。
【0184】
端末40bの通信処理部406は、ネットワークグループN1から離脱するとき、切断通知を生成し、ネットワークトポロジー的に上位の端末40aと下位の端末40cに送信する(S501)。切断通知には、例えば、自己の端末ID等が記載されている。
【0185】
端末40cの通信処理部406は、端末40bから切断通知を受信する(S502)。
【0186】
端末40cの受信データ処理部404は、受信したデータが切断通知であると判定し、テーブル処理部405に処理を指示する。端末40cのテーブル処理部405は、トポロジー管理テーブル408及び隣接端末管理テーブル407から、切断通知に記載の端末ID(端末40bのID)に関連する情報を削除する(S503、S504)。
【0187】
この結果、端末40cは何れのネットワークグループにも参加していないことになってしまう。そこで、端末40cは、新たに参加要求処理(図5の端末40dと同様の処理)を実行する(S505)。
【0188】
一方、端末40aも、上記のステップS502〜S504と同様の処理をする(S506〜S508)
【0189】
端末40aの通信処理部406は、切断通知をネットワークトポロジー的に上位の端末である中継器30に転送する(S509)。中継器30の通信処理部306は、端末40aから切断通知を受信する(S510)。
【0190】
中継器30の受信データ処理部304は、受信したデータが切断通知であると判定し、通信処理部306に転送を指示する。中継器30とデータ収集サーバ20は、図5のステップS123〜S126と同様、バケツリレー式に切断通知を管理サーバ10に転送する(S511〜S513)。
【0191】
管理サーバ10の通信処理部106は、データ収集サーバ20から切断通知を受信する(S514)。
【0192】
管理サーバ10の受信データ処理部104は、受信したデータが切断通知であると判定し、テーブル処理部105に処理を指示する。管理サーバ10のテーブル処理部105は、中継器管理テーブル112及び端末管理テーブル111から、切断通知に記載された端末ID(端末40bのID)に関連する情報を削除する(S515、S516)。
【0193】
以上の処理により、端末40bがネットワークグループN1から離脱したとしても、離脱対象の端末40bの下位に接続された端末40cを、他の端末40aに接続させることができる。すなわち、ある端末40bがネットワークグループN1から離脱した場合、ネットワークグループを再構築できる。
【0194】
図14は、管理サーバ10における接続処理のフローの一例を示す。
【0195】
管理サーバ10の接続処理部101は、参加要求情報から、端末IDと、周辺端末IDと、中継器IDと、リンク品質を抽出する。接続処理部101は、それらの情報をセットで端末管理テーブル111に登録するよう、テーブル処理部105に指示する(S601)。
【0196】
接続処理部101は、中継器管理テーブル112を参照し、参加要求情報に記載の中継器30のうち、収容可能端末数が「0」より大きい中継器30が存在するか否かを判定する(S602)。
【0197】
収容可能端末数が「0」より大きい中継器30が1つ以上存在する場合(S602:YES)、接続処理部101は、それらの中継器30のうち、収容可能端末数が最も多い中継器30を参加要求元の端末40の接続先として選択する(S603)。なお、接続処理部101は、リンク品質が最も良い中継器30を選択してもよいし、中継回数が最も少ない中継器30を選択してもよいし、あるいは、それらを組み合わせて最適な中継器30を選択してもよい。
【0198】
接続処理部101は、ステップS603で選択した中継器30を中継器管理テーブル112から検索し、その中継器30の収容中端末数114と収容可能端末数115を更新する(S604)。
【0199】
接続処理部101は、参加要求元の端末40に接続先情報を送信し(S605)、接続処理を終了する。
【0200】
一方、ステップS602において、収容可能端末数が「0」より大きい中継器が存在しない場合(S602:NO)、接続処理部101は、後述の接続先変更処理を実行する(S606)。
【0201】
図15は、管理サーバ10における接続先変更処理のフローを示す。
【0202】
管理サーバ10の接続処理部101は、端末管理テーブル109を参照する。接続処理部101は、接続要求情報に記載の中継器30によって束ねられているネットワークグループNにおいて、別のネットワークグループに移行できる可能性のある端末(以下「移行候補端末」という)40を検索する(S610)。すなわち、接続処理部101は、現在属しているネットワークグループNとは別のネットワークグループに属している端末40と無線通信が可能な端末を検索する。
【0203】
移行候補端末は、例えば、次の手順で検索可能である。
1)端末管理テーブル109から、接続要求情報に記載の中継器IDを検索する。この検索結果を第1の中継器IDとする。
2)端末管理テーブル109から、第1の中継器IDと同じ行に記載の周辺端末IDを抽出する。
3)抽出した周辺端末IDと同じIDを端末IDから検索する。この検索結果を第2の端末IDとする。
4)第2の端末IDと同じ行に記載の中継器IDを抽出する。この抽出結果を第2の中継器IDとする。
5)第2の端末IDのうち、第1の中継器IDと異なる第2の中継器IDを保持する端末を検索する。この検索結果を移行候補端末とする。移行候補端末は複数存在することもある。
【0204】
例えば、図7における端末40cと端末40bは、互いに別々のネットワークグループに属している。もしも、端末40cが端末40bと無線通信可能である場合、端末40cは、現在属しているネットワークグループN1から端末40bの属するネットワークグループN2に移行できる可能性がある。
【0205】
管理サーバ10の接続処理部101は、ステップS610の検索によって移行候補端末を発見できたか否かを判定する(S611)。
【0206】
移行候補端末が存在しない場合(S611:NO)、接続処理部101は、参加要求元の端末40に待機通知を送信する(S615)。
【0207】
移行候補端末が存在する場合(S611:YES)、接続処理部101は、中継器管理テーブル108から、移行候補端末の移行先の中継器30における収容可能端末数を取得する(S612)。なお、移行候補端末が複数存在する場合、それぞれの移行候補端末の移行先の中継器30について収容可能端末数を取得する。
【0208】
管理サーバ10の接続処理部101は、収容可能端末数が「0」より大きい中継器30の存在の有無を判定する(S613)。
【0209】
ステップS613の判定において、収容可能端末数が「0」より大きい中継器30が存在しない場合(S613:NO)、接続処理部101は、参加要求元の端末に待機通知を送信する(S615)。
【0210】
ステップS613の判定において、収容可能端末数が「0」より大きい中継器30が存在する場合(S613:YES)、接続処理部101は、複数の移行候補端末から所定の条件に基づいて移行させる端末を選択し、その移行端末に接続先変更情報を送信する(S614)。
【0211】
ここで、複数の移行候補端末から移行対象端末を選択する条件例を以下に示す。
1)ネットワークトポロジー的に下位に端末が接続されていない(又は、接続されている端末数が少ない)移行候補端末を優先的に選択する。
2)ネットワークトポロジー的に下位に接続されている端末数が、移行先の中継器30の収容可能端末数以下である移行候補端末を優先的に選択する。
3)収容可能端末数が最も多い中継器30に移行可能な移行候補端末を優先的に選択する。
4)移行後の接続先となる周辺端末とのリンク品質が最良の移行候補端末を優先的に選択する。
上記の条件は、単独で設定されてもよいし、これらを組み合わせて設定されてもよい。
【0212】
以上の処理により、管理サーバ10は、中継器30の収容可能端末の最大数を超えることなく、各中継器30にできるだけ多くの端末40を収容させることができる。すなわち、より多くの端末40がネットワークグループNに参加できる。
【実施例2】
【0213】
第2の実施形態では、中継器30が故障などにより一時的に通信ネットワークシステムから離脱した場合の動作について説明する。第2実施形態は、第1実施形態の変形例に該当する。そこで、第2実施形態と第1実施形態との相違を中心に説明する。
【0214】
図16は、中継器が一時的に通信ネットワークシステムから離脱したときのトポロジーの一例を示す。図16のトポロジーは、図7と同位置である。図16において、中継器30aが故障などにより、一時的に通信ネットワークシステムから離脱すると仮定する。以下、このときの通信ネットワークシステムの動作について説明する。
【0215】
図17は、中継器30aが一時的に通信ネットワークシステムから離脱したときのシーケンスを示す。
【0216】
管理サーバ10の接続処理部101は、中継器30aの故障を検出すると(S700)、端末管理テーブル109を参照する(S701)。接続処理部101は、故障した中継器30aが束ねていた端末40a,40cのうち、他のネットワークグループN2に接続できる可能性がある端末40を選出する(S702)。選出方法は、図15で述べた通りである。
【0217】
接続処理部101は、ステップS702の処理において複数の端末40が選出できた場合、ネットワークトポロジー的により上位の端末を、接続先を変更すべき端末として選択する。
【0218】
管理サーバ10の送信データ処理部103は、接続処理部101が選択した端末(例えば、端末40aとする)を宛先とする、接続先変更情報を生成する。なお、接続先変更情報には、中継器30の故障による接続先変更である旨を示すフラグ等を付与してもよい。すなわち、接続先変更情報に、重要度(又は緊急度)の大きさがわかるフラグ等を設けてもよい。
【0219】
管理サーバ10の通信処理部106は、接続先変更情報をデータ収集サーバ20に送信する(S703)。
【0220】
データ収集サーバ20の通信処理部206は、管理サーバ10から接続先変更情報を受信するが(S704)、それを中継器30aには転送できない。そこで、通信処理部206は、接続先変更情報を、他のネットワークグループN2の中継器30bに転送する(S705)。
【0221】
中継器30bの通信処理部306は、データ収集サーバ20から接続先変更情報を受信して(S706)、端末40bに転送する(S707)。
【0222】
端末40bの通信処理部406は、中継器30bから接続先変更情報を受信する(S708)。
【0223】
端末40bの受信データ処理部404は、宛先が端末40aの接続先変更情報と解析する。ここで、端末40bと端末40aは、ネットワークトポロジー的には接続されていないので、接続先変更情報は端末40aに転送されない。しかし、今回は、中継器30aの離脱に伴う接続先変更という特殊な状況なので、ネットワークトポロジー的に接続されていない端末40にも転送できないか検討する。なお、接続先変更情報に重要度(又は緊急度)のフラグ等が付与されている場合、そのフラグ等を基に特殊な状況か否かを判断してもよい。
【0224】
端末40bの受信データ処理部404は、周辺端末管理テーブル407を参照し、接続先変更情報の宛先の端末40が存在するか否かを判断する。ここでは、端末40aが存在するので、端末40bの受信データ処理部404は、接続先変更情報を端末40aに転送する処理を開始する。
【0225】
端末40bの受信データ処理部404は、端末40aと通信ができるように、自端末40bのチャネル番号を、端末40aが使用中のチャネル番号に一時的に切り替える(S709)
【0226】
端末40bの通信処理部406は、接続先変更情報を端末40aに転送する(S710)。端末40bの受信データ処理部404は、転送完了後、ステップS709で切り替えたチャネル番号を元のチャネル番号に戻す(S711)。
【0227】
端末40aの通信処理部406は、端末40bから接続先変更情報を受信する(S712)。
【0228】
端末40aの受信データ処理部404は、自端末40a宛の接続先変更情報であると判定し、テーブル処理部405に処理を指示する。端末40aのテーブル処理部405は、接続先変更情報に基づき、周辺端末管理テーブル407を更新する(S713)。例えば、端末40aのテーブル処理部405は、周辺端末管理テーブル407から中継器30aのデータセットを削除する。
【0229】
端末40aは、接続先変更情報に従って、トポロジー管理テーブル408を更新する(S714)。例えば、端末40aのテーブル処理部405は、トポロジー管理テーブル408において、中継器ID421を中継器30bのIDに更新し、上位端末ID422を、新たな接続先の端末のID(例えば、端末40bのID)に更新する。
【0230】
端末40aの通信処理部406は、トポロジー的に下位の端末40cにチャネル変更通知を送信する(S715)。チャネル変更通知には、端末40aが端末40bと無線通信するために変更するチャネル番号が記載されている。端末40aは、端末40bと無線通信可能なチャネル番号に変更する(S716)。
【0231】
端末40cの通信処理部406は、端末40aからチャネル変更通知を受信する(S716)。
【0232】
端末40cの受信データ処理部404は、受信したデータがチャネル変更通知であると判定し、テーブル処理部405に処理を指示する。端末40cのテーブル処理部405は、周辺端末管理テーブルを更新する(S718)。例えば、端末40cのテーブル処理部405は、周辺端末管理テーブル407から中継器30aのデータセットを削除する。
【0233】
端末40cのテーブル処理部405は、トポロジー管理テーブル408を更新する(S719)。例えば、端末40bのテーブル処理部405は、トポロジー管理テーブル408において、中継器ID421を中継器30bのIDに更新する。
【0234】
端末40bのチャネル処理部401は、チャネル変更通知に従って、チャネル番号を変更する(S720)。もしも、端末40bが下位端末を有している場合(すなわち、トポロジー管理テーブル408の下位端末ID423に値を有している場合)、チャネル変更通知を下位の端末に転送する。
【0235】
以上の処理により、中継器30aが故障等により通信ネットワークシステムから一時的に離脱しても、離脱した中継器30aに束ねられていた一つまたは複数の端末40の通信を比較的速やかに復旧させることができる。また、管理サーバ10は、離脱した中継器30aにネットワークトポロジー的に近い端末40aに接続変更情報を送信することで、接続先変更に伴うトラフィックの増加を最小限に留めることができる。
【0236】
上述した本発明の実施形態は、本発明の説明のための例示であり、本発明の範囲をそれらの実施形態に限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。
【0237】
例えば、本実施形態は、通信ネットワークシステムの構築方法と表現できる。
「無線通信が可能な複数の端末を少なくとも一つの中継器を介して管理サーバに接続する通信ネットワークシステムを構築するための方法であって、
前記中継器は、前記複数の端末をネットワークグループとして管理し、前記複数の端末と前記管理サーバとの間の通信を中継するものであり、
前記管理サーバは、通信ネットワークを介して前記複数の端末又は複数の前記中継器とデータの送受信を行う通信部と、前記ネットワークグループの構成を制御するための情報を送信する接続処理部とを備えており、
前記接続処理部は、
前記複数の端末のうちの第1端末が、前記複数の中継器のうちの第1中継器により管理される第1ネットワークグループに参加を要求する場合に、前記第1中継器に前記第1端末を収容可能か否か判断し、
前記収容可否判断が肯定的なときは、前記第1端末が前記第1ネットワークグループに参加することを許可する接続先情報を、前記通信部を介して前記第1端末宛に送信する、通信ネットワークシステムの構築方法。」
【符号の説明】
【0238】
1:通信ネットワークシステム、10:管理サーバ、20:データ収集サーバ、30:中継器、40:端末
【特許請求の範囲】
【請求項1】
無線通信が可能な複数の端末を少なくとも一つの中継器を介して管理サーバに接続する通信ネットワークシステムであって、
前記中継器は、前記複数の端末をネットワークグループとして管理し、前記複数の端末と前記管理サーバとの間の通信を中継するものであり、
前記管理サーバは、
通信ネットワークを介して前記複数の端末又は複数の前記中継器とデータの送受信を行う通信部と、
前記ネットワークグループの構成を制御するための情報を送信する接続処理部とを備えており、
前記接続処理部は、
前記複数の端末のうちの第1端末が、前記複数の中継器のうちの第1中継器により管理される第1ネットワークグループに参加を要求する場合に、前記第1中継器に前記第1端末を収容可能か否か判断し、
前記収容可否判断が肯定的なときは、前記第1端末が前記第1ネットワークグループに参加することを許可する接続先情報を、前記通信部を介して前記第1端末宛に送信する、通信ネットワークシステム。
【請求項2】
前記第1中継器及び前記第1ネットワークグループに属する前記複数の端末は、マルチホップ型無線通信で相互に接続されており、前記第1中継器をルートノードとするツリー状のネットワークトポロジーを構成する
請求項1記載の通信ネットワークシステム。
【請求項3】
前記接続処理部は、
前記収容可否判断が否定的なとき、前記第1ネットワークグループに属する複数の端末のうち、前記第1ネットワークグループと異なる第2ネットワークグループに移行可能な移行候補端末が存在するか否かを判断し、
前記移行可否判断が肯定的なときは、前記移行候補端末のうち移行対象の端末を選択し、
前記第2ネットワークグループに移行させるための接続先変更情報を、前記通信部を介して、前記移行対象の端末宛に送信し、
前記第1端末が前記第1のネットワークグループに参加することを許可するための接続先情報を、前記通信部を介して前記第1端末宛に送信する
請求項2記載の通信ネットワークシステム。
【請求項4】
前記接続処理部は、前記移行可否判断が否定的なとき、前記第1ネットワークグループへの参加を待機させるための待機通知を、前記通信部を介して、前記第1の端末宛に送信する
請求項3記載の通信ネットワークシステム。
【請求項5】
前記接続処理部は、前記複数の移行候補端末と移行先のネットワークグループとの間の通信品質に基づいて、前記移行対象の端末を選択する
請求項4記載の通信ネットワークシステム。
【請求項6】
前記接続処理部は、
前記第1ネットワークグループから前記第1中継器が離脱したことを検知すると、前記第1ネットワークグループに属する複数の端末の中から、前記第2ネットワークグループに移行可能な前記移行候補端末が存在するか否かを判断し、前記移行可否判断が肯定的なときは、前記移行候補端末のうち前記移行対象の端末を選択し、前記第2ネットワークグループに移行させるための接続先変更情報を、前記通信部を介して、前記第2ネットワークグループが構成する通信路を経由して、前記移行対象の端末宛に送信する
請求項5記載の通信ネットワークシステム。
【請求項7】
前記接続処理部は、前記複数の移行候補端末と前記第1中継器との間のネットワークトポロジーにおける距離に基づいて、前記移行対象の端末を選択する
請求項6記載の通信ネットワークシステム。
【請求項8】
無線通信が可能な複数の端末を少なくとも一つの中継器を介して管理サーバに接続する通信ネットワークシステムを管理する管理サーバであって、
前記中継器は、前記複数の端末をネットワークグループとして管理し、前記複数の端末と前記管理サーバとの間の通信を中継するものであり、
通信ネットワークを介して複数の端末とデータの送受信を行う通信部と、
前記ネットワークグループの構成を制御するための情報を送信する接続処理部とを備えており、
前記接続処理部は、
前記複数の端末のうちの第1端末が、前記複数の中継器のうちの第1中継器により管理される第1ネットワークグループに参加を要求する場合に、前記第1ネットワークグループに収容中の端末数が収容可能最大数よりも小さいかを判断し、
前記収容可否判断が肯定的なときは、前記第1端末が前記第1ネットワークグループに参加することを許可するための接続先情報を、前記通信部を介して前記第1端末に送信させる、
通信ネットワークシステムの管理サーバ。
【請求項1】
無線通信が可能な複数の端末を少なくとも一つの中継器を介して管理サーバに接続する通信ネットワークシステムであって、
前記中継器は、前記複数の端末をネットワークグループとして管理し、前記複数の端末と前記管理サーバとの間の通信を中継するものであり、
前記管理サーバは、
通信ネットワークを介して前記複数の端末又は複数の前記中継器とデータの送受信を行う通信部と、
前記ネットワークグループの構成を制御するための情報を送信する接続処理部とを備えており、
前記接続処理部は、
前記複数の端末のうちの第1端末が、前記複数の中継器のうちの第1中継器により管理される第1ネットワークグループに参加を要求する場合に、前記第1中継器に前記第1端末を収容可能か否か判断し、
前記収容可否判断が肯定的なときは、前記第1端末が前記第1ネットワークグループに参加することを許可する接続先情報を、前記通信部を介して前記第1端末宛に送信する、通信ネットワークシステム。
【請求項2】
前記第1中継器及び前記第1ネットワークグループに属する前記複数の端末は、マルチホップ型無線通信で相互に接続されており、前記第1中継器をルートノードとするツリー状のネットワークトポロジーを構成する
請求項1記載の通信ネットワークシステム。
【請求項3】
前記接続処理部は、
前記収容可否判断が否定的なとき、前記第1ネットワークグループに属する複数の端末のうち、前記第1ネットワークグループと異なる第2ネットワークグループに移行可能な移行候補端末が存在するか否かを判断し、
前記移行可否判断が肯定的なときは、前記移行候補端末のうち移行対象の端末を選択し、
前記第2ネットワークグループに移行させるための接続先変更情報を、前記通信部を介して、前記移行対象の端末宛に送信し、
前記第1端末が前記第1のネットワークグループに参加することを許可するための接続先情報を、前記通信部を介して前記第1端末宛に送信する
請求項2記載の通信ネットワークシステム。
【請求項4】
前記接続処理部は、前記移行可否判断が否定的なとき、前記第1ネットワークグループへの参加を待機させるための待機通知を、前記通信部を介して、前記第1の端末宛に送信する
請求項3記載の通信ネットワークシステム。
【請求項5】
前記接続処理部は、前記複数の移行候補端末と移行先のネットワークグループとの間の通信品質に基づいて、前記移行対象の端末を選択する
請求項4記載の通信ネットワークシステム。
【請求項6】
前記接続処理部は、
前記第1ネットワークグループから前記第1中継器が離脱したことを検知すると、前記第1ネットワークグループに属する複数の端末の中から、前記第2ネットワークグループに移行可能な前記移行候補端末が存在するか否かを判断し、前記移行可否判断が肯定的なときは、前記移行候補端末のうち前記移行対象の端末を選択し、前記第2ネットワークグループに移行させるための接続先変更情報を、前記通信部を介して、前記第2ネットワークグループが構成する通信路を経由して、前記移行対象の端末宛に送信する
請求項5記載の通信ネットワークシステム。
【請求項7】
前記接続処理部は、前記複数の移行候補端末と前記第1中継器との間のネットワークトポロジーにおける距離に基づいて、前記移行対象の端末を選択する
請求項6記載の通信ネットワークシステム。
【請求項8】
無線通信が可能な複数の端末を少なくとも一つの中継器を介して管理サーバに接続する通信ネットワークシステムを管理する管理サーバであって、
前記中継器は、前記複数の端末をネットワークグループとして管理し、前記複数の端末と前記管理サーバとの間の通信を中継するものであり、
通信ネットワークを介して複数の端末とデータの送受信を行う通信部と、
前記ネットワークグループの構成を制御するための情報を送信する接続処理部とを備えており、
前記接続処理部は、
前記複数の端末のうちの第1端末が、前記複数の中継器のうちの第1中継器により管理される第1ネットワークグループに参加を要求する場合に、前記第1ネットワークグループに収容中の端末数が収容可能最大数よりも小さいかを判断し、
前記収容可否判断が肯定的なときは、前記第1端末が前記第1ネットワークグループに参加することを許可するための接続先情報を、前記通信部を介して前記第1端末に送信させる、
通信ネットワークシステムの管理サーバ。
【図1】
【図2A】
【図2B】
【図2C】
【図2D】
【図3A】
【図3B】
【図3C】
【図3D】
【図4A】
【図4B】
【図4C】
【図4D】
【図4E】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図2A】
【図2B】
【図2C】
【図2D】
【図3A】
【図3B】
【図3C】
【図3D】
【図4A】
【図4B】
【図4C】
【図4D】
【図4E】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【公開番号】特開2012−222437(P2012−222437A)
【公開日】平成24年11月12日(2012.11.12)
【国際特許分類】
【出願番号】特願2011−83538(P2011−83538)
【出願日】平成23年4月5日(2011.4.5)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
【公開日】平成24年11月12日(2012.11.12)
【国際特許分類】
【出願日】平成23年4月5日(2011.4.5)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
[ Back to top ]