(57)【要約】【課題】各センサ端末の情報をネットワークを介してサーバ側に転送するときの負荷を分散して効率的に情報転送する。【解決手段】木構造状に接続された複数のセンサ端末１１ａ〜１１ｈと、これらのセンサ端末１１ａ〜１１ｈに通信ネットワーク１３を介して接続され、各情報を個別に処理する複数のサーバ装置１２ａ，１２ｂ，１２ｃとからなる。この中でルートノードとなるセンサ端末は、木構造全体を最も処理能力の高いサーバ装置で処理できない場合に自身を含む木を分割する。各部分木の中で最も小さい部分木に自身を含め、その部分木に属する各センサ端末を処理可能なサーバ装置に割り当てる。残りの各部分木のルートノードに相当する各センサ端末に対し、全てのセンサ端末が割り当てられるまで上記同様の処理を実行させる。割り当て終了後、各部分木のルートノードでアドレス変換を実行して情報転送する。【選択図】図１
2009033346.tif 000002
【特許請求の範囲】
【請求項１】
木構造状に接続された複数のセンサ端末と、これらのセンサ端末にネットワークを介して接続され、上記各センサ端末の情報を個別に処理する複数のサーバ装置とからなる情報処理システムにおいて、
上記各センサ端末の中のルートノードとなるセンサ端末は、
木構造全体を上記各サーバ装置の中で最も処理能力の高いサーバ装置で処理できるか否かを判断する処理能力判断手段と、
この処理能力判断手段によって処理できないものと判断された場合に自身を含む木を分割する分割手段と、
この分割手段によって得られる各部分木の中で最も小さい部分木に自身を含め、その部分木に属する各センサ端末を上記各サーバ装置の中の処理可能なサーバ装置に割り当てる割当手段と、
この割当手段によって割り当てられなかった残りの各部分木のルートノードに相当する各センサ端末に対し、全てのセンサ端末が割り当てられるまで上記同様の処理を実行させる処理要求手段とを具備し、
割り当て終了後、各部分木のルートノードでアドレス変換を実行して上記各センサ端末の情報を上記各サーバ装置に転送することを特徴とする情報処理システム。
【請求項２】
上記各センサ端末の中のルートノードとなるセンサ端末は、
上記各サーバ装置の現在の処理能力を取得する処理能力取得手段と、
自身に接続されたセンサ端末の台数を検出する台数検出手段とを備え、
上記処理能力判断手段は、上記処理能力取得手段によって得られた上記各サーバ装置の現在の処理能力と上記台数検出手段によって検出された接続台数とに基づいて、自身を含む木構造全体を上記各サーバ装置の中で最も処理能力の高いサーバ装置で処理できるか否かを判断することを特徴とする請求項１記載の情報処理システム。
【請求項３】
上記割当手段は、上記処理可能なサーバ装置が複数存在する場合に、その中で最も処理能力に余裕のあるサーバ装置に割り当てることを特徴とする請求項１記載の情報処理システム。
【請求項４】
上記割当手段は、上記処理可能なサーバ装置が複数存在する場合に、その中で当該部分木のセンサ数に対応したサーバ装置に割り当てることを特徴とする請求項１記載の情報処理システム。
【請求項５】
上記割当手段は、上記処理可能なサーバ装置が複数存在する場合に、その中でランダムに選択したサーバ装置に割り当てることを特徴とする請求項１記載の情報処理システム。
【請求項６】
木構造状に接続された複数のセンサ端末と、これらのセンサ端末にネットワークを介して接続され、上記各センサ端末の情報を個別に処理する複数のサーバ装置とからなる情報処理システムに用いられる負荷分散方法であって、
上記各センサ端末の中のルートノードとなるセンサ端末が木構造全体を上記各サーバ装置の中で最も処理能力の高いサーバ装置で処理できるか否かを判断し、
上記最も処理能力の高いサーバ装置で処理できない場合に自身を含む木を分割し、
その分割によって得られる各部分木の中で最も小さい部分木に自身を含め、その部分木に属する各センサ端末を上記各サーバ装置の中の処理可能なサーバ装置に割り当て、
残りの各部分木のルートノードに相当する各センサ端末に対し、全てのセンサ端末が割り当てられるまで同様の処理を実行させ、
割り当て終了後、各部分木のルートノードでアドレス変換を実行して上記各センサ端末の情報を上記各サーバ装置に転送することを特徴とする負荷分散方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、各地域に設置された火災報知器などのセンサ端末の情報を処理するための情報処理システムと、この情報処理システムに用いられる負荷分散方法に関する。
【背景技術】
【０００２】
各地域に火災報知器などのセンサ端末を設置しておき、これらのセンサ端末にて検知された情報を通信ネットワークを介して転送するシステムがある。転送先には、複数台のサーバ装置が設置されており、これらのサーバ装置を通じて各センサ端末の情報を適宜処理するように構成されている。
【０００３】
ここで、サーバ側の処理負担を軽減するものとして、例えば特許文献１がある。特許文献１では、複数のノードを経由してパケットの送受信が可能なマルチポップネットワークにおいて、マルチポップに対応していないＭＡＣ層を持つネットワークインタフェースをマルチポップに対応させる中継方法について開示されている。
【０００４】
【特許文献１】特開２００３−６９６００号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１の手法では、マルチポップネットワークの規模が大きくなった場合に、サーバ側に負荷分散装置が必要となる。その際、負荷分散装置は最終的に全てのノードの情報を一括してアドレス変換して分散処理しなければならないため、負荷分散装置自体の負荷が増大してしまうといった問題がある。
【０００６】
本発明は上記のような点に鑑みなされたもので、各センサ端末の情報をネットワークを介してサーバ側に転送するときの負荷を分散して効率的に情報転送することのできる情報処理システム及び負荷分散方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る情報処理システムは、木構造状に接続された複数のセンサ端末と、これらのセンサ端末にネットワークを介して接続され、上記各センサ端末の情報を個別に処理する複数のサーバ装置とからなる情報処理システムにおいて、上記各センサ端末の中のルートノードとなるセンサ端末は、木構造全体を上記各サーバ装置の中で最も処理能力の高いサーバ装置で処理できるか否かを判断する処理能力判断手段と、この処理能力判断手段によって処理できないものと判断された場合に自身を含む木を分割する分割手段と、この分割手段によって得られる各部分木の中で最も小さい部分木に自身を含め、その部分木に属する各センサ端末を上記各サーバ装置の中の処理可能なサーバ装置に割り当てる割当手段と、この割当手段によって割り当てられなかった残りの各部分木のルートノードに相当する各センサ端末に対し、全てのセンサ端末が割り当てられるまで上記同様の処理を実行させる処理要求手段とを具備し、割り当て終了後、各部分木のルートノードでアドレス変換を実行して上記各センサ端末の情報を上記各サーバ装置に転送するものである。
【０００８】
また、本発明に係る負荷分散方法は、木構造状に接続された複数のセンサ端末と、これらのセンサ端末にネットワークを介して接続され、上記各センサ端末の情報を個別に処理する複数のサーバ装置とからなる情報処理システムに用いられる負荷分散方法であって、上記各センサ端末の中のルートノードとなるセンサ端末が木構造全体を上記各サーバ装置の中で最も処理能力の高いサーバ装置で処理できるか否かを判断し、上記最も処理能力の高いサーバ装置で処理できない場合に自身を含む木を分割し、その分割によって得られる各部分木の中で最も小さい部分木に自身を含め、その部分木に属する各センサ端末を上記各サーバ装置の中の処理可能なサーバ装置に割り当て、残りの各部分木のルートノードに相当する各センサ端末に対し、全てのセンサ端末が割り当てられるまで同様の処理を実行させ、割り当て終了後、各部分木のルートノードでアドレス変換を実行して上記各センサ端末の情報を上記各サーバ装置に転送するものである。
【発明の効果】
【０００９】
本発明によれば、木構造状に接続された複数のセンサ端末を分割し、各部分木のルートノードでアドレス変換を実行することで、各センサ端末の情報をネットワークを介してサーバ側に転送する際の負荷を分散することができる。
【発明を実施するための最良の形態】
【００１０】
以下、図面を参照して本発明の実施形態を説明する。
図１は本発明の一実施形態に係る情報処理システムの全体構成を示すブロック図である。
【００１１】
本実施形態における情報処理システムは、木構造状に接続された複数（この例では８つ）のセンサ端末１１ａ〜１１ｈと、ルートノードに位置するセンサ端末１１ａに接続された複数（この例では３つ）のサーバ装置１２ａ，１２ｂ，１２ｃとからなる。
【００１２】
センサ端末１１ａ〜１１ｈは、例えば火災報知器などからなり、内蔵されたセンサ機能によって検知した情報を外部に転送するための情報送信装置として用いられる。これらのセンサ端末１１ａ〜１１ｈは、各地域の適所に設置されており、木構造状に接続されて１つのネットワークを構築している。
【００１３】
センサ端末１１ａ〜１１ｈにて検知された各情報は、木構造の先端に位置するセンサ端末からルートノードに位置する末端のセンサ端末に向かって順に転送される。ルートノードに位置する末端のセンサ端末１１ａは、これらのセンサ情報を通信ネットワーク１３を介してサーバ装置１２ａ，１２ｂ，１２ｃに分散して転送する機能を備える。なお、センサ端末間の接続形態としては、例えばＢｌｕｅｔｏｏｔｈ（登録商標）等の近距離無線通信あるいは有線による接続であっても良く、本発明はその接続形態に特に限定されるものではない。
【００１４】
サーバ装置１２ａ，１２ｂ，１２ｃは、それぞれに自分に割り当てられたセンサ端末の情報を個別に処理する。なお、サーバ装置２２ａ，２２ｂ…の処理能力（処理可能なセンサ数）はサーバ装置毎に異なる。
【００１５】
図２は本システムに用いられるセンサ端末１１ａの構成を示すブロック図である。なお、他のセンサ端末１１ｂ〜１１ｈについても基本的には同様の構成である。
【００１６】
センサ端末１１ａは、制御部２１、センサ部２２，通信部２３，２４、記憶部２５が設けられている。制御部２１は、ＣＰＵからなり、記憶部２５に記憶された所定のプログラム２５ａを読み込むことにより、そのプログラム２５ａに記述された処理を実行する。
【００１７】
センサ部２２は、例えば火災検知器、地震検知器などのセンサ機器からなる。なお、本発明では、センサの種類について特に限定されるものではない。通信部２３は、他のセンサ端末（センサ端末１１ｂとセンサ端末１１ｄ）との間の通信処理を行う。通信部２４は、サーバ装置１２ａ，１２ｂ，１２ｃとの間の通信処理を行う。記憶部２５は、ＲＯＭ、ＲＡＭなどからなり、制御部２１の処理に必要な各種情報を記憶する。この記憶部２５には、本発明の手法を実現するためのプログラム２５ａと処理能力テーブルＴ１が設けられている。
【００１８】
図３は処理能力テーブルＴ１の一例を示す図である。  
この処理能力テーブルＴ１には、サーバ装置１２ａ，１２ｂ，１２ｃの処理能力が記憶されている。ここで言う処理能力とは、処理可能なセンサ端末の個数のことであり、例えば「４」とは４個のセンサ端末の情報を処理可能であることを示し、「３」とは３個のセンサ端末の情報を処理可能であることを示す。
【００１９】
このような構成において、ルートノードに位置する末端のセンサ端末１１ａは、全てのセンサ情報をサーバ装置１２ａ，１２ｂ，１２ｃに対して分散して転送する。この場合、他のセンサ端末１１ｂ〜１１ｈはそれぞれにローカルネッワーク上の仮想のＩＰアドレスを送り、最終的にセンサ端末１１ａが実アドレスに変換してからサーバ装置１２ａ，１２ｂ，１２ｃに送る。つまり、センサ端末１１ａが全てのセンサ端末のＮＡＴ（Network Address Translation）の役割を有することになる。しかし、このような方法では、センサ端末の増設によりネットワークが大型化した場合に、末端であるセンサ端末１１ａの負荷が増大してしまう問題がある。
【００２０】
そこで、本実施形態では、以下のような手順を繰り返すことで、情報転送時の負荷分散を実現するものである。
【００２１】
すなわち、木構造状に接続されたセンサ端末１１ａ〜１１ｈの割り当てに際し、木構造全体を最も処理能力が高いサーバ装置に割り当てることができる場合は、割り当てを終了する。割り当てることができない場合には、木を各ブランチで分割する。図４にセンサ端末１１ａとセンサ端末１１ｂとを分割した場合の部分木の例、図５にさらにセンサ端末１１ｂとセンサ端末１１ｃとを分割した場合の部分木の例を示す。それぞれに一点鎖線で囲んだ部分が分割後の状態つまり部分木を示している。
【００２２】
ルートノードとなったセンサ端末は最も小さい部分木に含める。そして、各部分木の中の最も大きい部分木に属する各センサ端末を最も処理能力に余裕のあるサーバ装置に割り当てる。これを繰り返し、全てのセンサ端末の割り当てが終了すると、各部分木のルートノードに相当する各センサ端末でＮＡＴを実行する。
【００２３】
以下に、具体的な処理手順について、図６乃至図８に示すフローチャートを参照して詳しく説明する。
【００２４】
今、図１の木構造において、センサ端末１１ａと、そのセンサ端末１１ａに繋がるセンサ端末１１ｂとセンサ端末１１ｃに着目して、それぞれの処理手順を説明する。なお、図の中では、センサ端末１１ａを「センサ端末ａ」、センサ端末１１ｂを「センサ端末ｂ」、センサ端末１１ａを「センサ端末ｃ」と表記してある。また、以下の各フローチャートで示される処理は、それぞれのセンサ端末に設けられた制御部２１が記憶部２５に記憶されたプログラム２５ａを読み込むことにより実行される。
【００２５】
（ａ）センサ端末１１ａの処理手順  
図６はセンサ端末１１ａの処理手順を示すフローチャートである。
【００２６】
初期状態において、ルートノードであるセンサ端末１１ａは、まず、自身に接続されているセンサ端末の台数を検出する（ステップＡ１１）。この接続台数の検出には、Ｈｅｌｌｏパケットを用いる。
【００２７】
すなわち、各センサ端末１１ａ〜１１ｈは、それぞれにネットワークに接続されたときに、Ｈｅｌｌｏパケットと呼ばれる特定のパケットをルートノードに向かって送出する。このＨｅｌｌｏパケットを処理することで、どのブランチに何台のセンサ端末が接続されているのかを知ることができる。なお、Ｈｅｌｌｏパケットに限らず、他の方法でセンサ端末の接続台数を検出することでも良い。
【００２８】
続いて、センサ端末１１ａは、各サーバ装置１２ａ，１２ｂ，１２ｃに対して処理能力要求を送信する（ステップＡ１２）。各サーバ装置１２ａ，１２ｂ，１２ｃでは、この処理能力要求に応答して、自身の処理能力を示す情報を要求元に返信する。図１の例では、サーバ装置１２ａから処理能力要求＝４、サーバ装置１２ｂから処理能力要求＝３、サーバ装置１２ｃから処理能力要求＝１といった情報が返ってくることになる。これらの情報を受信することにより、各サーバ装置１２ａ，１２ｂ，１２ｃの現在の処理能力要求を簡単に取得することができる。
【００２９】
センサ端末１１ａは、各サーバ装置１２ａ，１２ｂ，１２ｃの応答当により現在の処理能力を取得すると、これを図３に示すような処理能力テーブルＴ１に記憶する（ステップＡ１３）。
【００３０】
ここで、センサ端末１１ａは、処理能力テーブルＴ１に記憶された各サーバ装置１２ａ，１２ｂ，１２ｃの現在の処理能力と上記検出したセンサ端末の接続台数とに基づいて、自身を含む木構造全体をサーバ装置１２ａ，１２ｂ，１２ｃの中で最も処理能力の高いサーバ装置で処理できるか否かを判断する（ステップＡ１４）。
【００３１】
もし、最も処理能力の高いサーバ装置で処理可能であれば（ステップＡ１４のＹｅｓ）、センサ端末１１ａは、木構造全体を当該サーバ装置に割り当てて終了することになる（ステップＡ１５）。なお、「木構造全体をサーバ装置に割り当てる」とは、木構造状に接続されている全てのセンサ端末をサーバ装置に割り当てるという意味である。
【００３２】
一方、最も処理能力の高いサーバ装置でも処理できない場合には（ステップＡ１４のＮｏ）、センサ端末１１ａは、図４のように木構造全体を分割する（ステップＡ１６）。分割後、自身を最も小さい部分木に含ませる（ステップＡ１７）。図４の例では、センサ端末１１ｃ〜１１ｈを有する部分木（以下、Ｇ１と称す）と、センサ端末１１ｄのみの部分木（以下、Ｇ２と称す）に分割しているので、そのうちの小さい方の部分木Ｇ２にセンサ端末１１ａを含ませることになる。なお、同数であれば、ランダムに決めるものとする。
【００３３】
次に、センサ端末１１ａは、処理能力テーブルＴ１を参照して、自身を含む部分木Ｇ２をサーバ装置１２ａ，１２ｂ，１２ｃの中で処理可能なサーバ装置に割り当てる（ステップＡ１８）。なお、「部分木をサーバ装置に割り当てる」とは、その部分木に属する各センサ端末をサーバ装置に割り当てるという意味である。
【００３４】
また、上記ステップＡ１８において、処理可能なサーバ装置が複数存在すれば、次の３つの方法のいずれかの方法によって適切なサーバ装置を選択する。  
（１）最も処理能力に余裕のあるサーバ装置
（２）当該部分木のセンサ数に対応したサーバ装置
（３）ランダムに選択。
【００３５】
上記（１）の方法では、最も処理能力に余裕のあるサーバ装置から順に効率的に割り当てることができる。上記（２）の方法では、部分木のセンサ数に適合したジャストフィットのサーバ装置に割り当てることができる。上記（３）の方法では、各サーバ装置に対して平均的に割り当てることができる。どの方法を使用するのかは予め決めておいても良いし、その都度任意に設定できるようにしても良い。
【００３６】
最後に、センサ端末１１ａは、残りの部分木Ｇ１のルートノードとなるセンサ端末１１ｂに対し、処理開始要求を送信して処理を引き継ぐ（ステップＡ１９）。
【００３７】
（ｂ）センサ端末１１ｂの処理手順  
図７はセンサ端末１１ｂの処理手順を示すフローチャートである。
【００３８】
今、図４のように分割された状態で、部分木Ｇ１のルートノードであるセンサ端末１１ｂがセンサ端末１１ａからの処理開始要求を受信したとする（ステップＢ１１）。センサ端末１１ｂは、まず、Ｈｅｌｌｏパケットを用いて自身に接続されているセンサ端末の接続台数を検出する（ステップＢ１２）。
【００３９】
続いて、センサ端末１１ｂは、各サーバ装置１２ａ，１２ｂ，１２ｃに対して処理能力要求を送信する（ステップＢ１３）。上述したように、各サーバ装置１２ａ，１２ｂ，１２ｃでは、この処理能力要求に応答して、自身の処理能力を示す情報を要求元に返信する。ただし、既に割り当てがなされている場合には、残りの処理能力を返信するものとする。例えば、図４の状態で部分木Ｇ１がサーバ装置１２ａに割り当てられたとすると、サーバ装置１２ａは現在の処理能力として「２（４−２）」を返信することになる。
【００４０】
センサ端末１１ｂは、これらの情報を受信することにより、各サーバ装置１２ａ，１２ｂ，１２ｃの現在の処理能力を確認して処理能力テーブルＴ１に記憶する（ステップＢ１４）。
【００４１】
ここで、センサ端末１１ｂは、処理能力テーブルＴ１に記憶された各サーバ装置１２ａ，１２ｂ，１２ｃの現在の処理能力と上記検出したセンサ端末の接続台数とに基づいて、自身を含む部分木Ｇ１をサーバ装置１２ａ，１２ｂ，１２ｃの中で最も処理能力の高いサーバ装置で処理できるか否かを判断する（ステップＢ１５）。
【００４２】
もし、最も処理能力の高いサーバ装置で処理可能であれば（ステップＢ１５のＹｅｓ）、センサ端末１１ｂは、部分木Ｇ１をそのサーバ装置に割り当てて終了することになる（ステップＢ１６）。なお、「部分木をサーバ装置に割り当てる」とは、その部分木に属する各センサ端末をサーバ装置に割り当てるという意味である。
【００４３】
一方、最も処理能力の高いサーバ装置でも処理できない場合には（ステップＢ１５のＮｏ）、センサ端末１１ｂは、図５のように自身を含む部分木Ｇ１をさらに分割する（ステップＢ１７）。分割後、自身を最も小さい部分木に含ませる（ステップＢ１８）。
【００４４】
図５の例では、センサ端末１１ｅ，１１ｆを有する部分木（以下、Ｇ３と称す）と、センサ端末１１ｃ，１１ｇ，１１ｈを有する部分木（以下、Ｇ４と称す）に分かれるので、そのうちの小さい方の部分木Ｇ３にセンサ端末１１ｂを含ませることになる。なお、同数であれば、ランダムに決めるものとする。
【００４５】
次に、センサ端末１１ｂは、処理能力テーブルＴ１を参照して、自身を含む部分木Ｇ３をサーバ装置１２ａ，１２ｂ，１２ｃの中で処理可能なサーバ装置に割り当てる（ステップＢ１９）。この場合、処理可能なサーバ装置が複数存在すれば、上述した３つの方法のいずれかによって適切なサーバ装置を選択するものとする。
【００４６】
最後に、センサ端末１１ｂは、残りの部分木Ｇ４のルートノードとなるセンサ端末１１ｃに対し、処理開始要求を送信して処理を引き継ぐ（ステップＢ２０）。
【００４７】
（ｃ）センサ端末１１ｃの処理手順  
図８はセンサ端末１１ｃの処理手順を示すフローチャートである。基本的な処理の流れは、センサ端末１１ｂの場合と同様である。
【００４８】
すなわち、今、図５のように分割された状態で、部分木Ｇ４のルートノードであるセンサ端末１１ｃがセンサ端末１１ｂからの処理開始要求を受信したとする（ステップＣ１１）。センサ端末１１ｃは、まず、Ｈｅｌｌｏパケットを用いて自身に接続されているセンサ端末の接続台数を検出する（ステップＣ１２）。
【００４９】
続いて、センサ端末１１ｃは、各サーバ装置１２ａ，１２ｂ，１２ｃに対して処理能力要求を送信する（ステップＣ１３）。上述したように、各サーバ装置１２ａ，１２ｂ，１２ｃでは、この処理能力要求に応答して、自身の処理能力を示す情報を要求元に返信する。センサ端末１１ｃは、これらの情報を受信することにより、各サーバ装置１２ａ，１２ｂ，１２ｃの現在の処理能力を確認して処理能力テーブルＴ１に記憶する（ステップＣ１４）。
【００５０】
ここで、センサ端末１１ｃは、処理能力テーブルＴ１に記憶された各サーバ装置１２ａ，１２ｂ，１２ｃの現在の処理能力と上記検出したセンサ端末の接続台数とに基づいて、自身を含む部分木Ｇ４をサーバ装置１２ａ，１２ｂ，１２ｃの中で最も処理能力の高いサーバ装置で処理できるか否かを判断する（ステップＣ１５）。
【００５１】
もし、最も処理能力の高いサーバ装置で処理可能であれば（ステップＣ１５のＹｅｓ）、センサ端末１１ｃは、部分木Ｇ１をそのサーバ装置に割り当てて終了することになる（ステップＣ１６）。
【００５２】
一方、最も処理能力の高いサーバ装置でも処理できない場合には（ステップＣ１５のＮｏ）、センサ端末１１ｃは、自身を含む部分木Ｇ４をさらに分割する（ステップＣ１７）。分割後、自身を最も小さい部分木に含ませる（ステップＣ１８）。なお、図５の例では、部分木Ｇ４をさらに分割すると、センサ端末１１ｇだけの部分木とセンサ端末１１ｈだけの部分木しかできないので、どちらか一方にセンサ端末１１ｃを含ませることになる。
【００５３】
次に、センサ端末１１ｃは、処理能力テーブルＴ１を参照して、自身を含む部分木をサーバ装置１２ａ，１２ｂ，１２ｃの中で処理可能なサーバ装置に割り当てる（ステップＣ１９）。この場合、処理可能なサーバ装置が複数存在すれば、上述した３つの方法のいずれかによって適切なサーバ装置を選択するものとする。
【００５４】
最後に、センサ端末１１ｃは、残りの部分木のルートノードとなるセンサ端末に対し、処理開始要求を送信して処理を引き継ぐ（ステップＣ２０）。
【００５５】
このようにして、木を分割しながら、全てのセンサ端末１１ａ〜１１ｈをサーバ装置１２ａ，１２ｂ，１２ｃに割り当てることができるまで繰り返す。全てのセンサ端末１１ａ〜１１ｈの割り当てが終了すると、各部分木のルートノードに相当する各センサ端末のそれぞれでＮＡＴを実行する。
【００５６】
例えば、図５の状態が最終段階であるとすれば、センサ端末１１ｃ、センサ端末１１ｂ、センサ端末１１ａのそれぞれがＮＡＴを実行することで、各情報をサーバ装置１２ａ，１２ｂ，１２ｃに分散して転送することができる。これにより、従来のように末端のセンサ端末１１ａにＮＡＴの処理が集中することを防いで、効率的に各センサ情報を転送することができるようになる。
【００５７】
なお、ＮＡＴは一例であり、各部分木の中のルートノードで仮想ＩＰアドレスから実アドレスへの変換を行うことができるものであれば、どのようなアドレス変換手段を用いても良い。
【００５８】
また、上記実施形態では、８台のセンサ端末と３台のサーバ装置を例にして説明したが、さらに多くのセンサ端末やサーバ装置が存在する場合であっても同様に適用可能である。
【００５９】
要するに、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【００６０】
また、上述した実施形態において記載した手法は、コンピュータに実行させることのできるプログラムとして、例えば磁気ディスク（フレキシブルディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等）、半導体メモリなどの記録媒体に書き込んで各種装置に適用したり、そのプログラム自体をネットワーク等の伝送媒体により伝送して各種装置に適用することも可能である。本装置を実現するコンピュータは、記録媒体に記録されたプログラムあるいは伝送媒体を介して提供されたプログラムを読み込み、このプログラムによって動作が制御されることにより、上述した処理を実行する。
【図面の簡単な説明】
【００６１】
【図１】図１は本発明の一実施形態に係る情報処理システムの全体構成を示すブロック図である。
【図２】図２は同実施形態における情報処理システムに用いられるセンサ端末の構成を示すブロック図である。
【図３】図３は同実施形態における情報処理システムに用いられるセンサ端末の処理能力テーブルの一例を示す図である。
【図４】図４は同実施形態における１回目の分割によって作られる部分木の例を示す図である。
【図５】図５は同実施形態における２回目の分割によって作られる部分木の例を示す図である。
【図６】図６は同実施形態におけるセンサ端末ａの処理手順を示すフローチャートである。
【図７】図７は同実施形態におけるセンサ端末ｂの処理手順を示すフローチャートである。
【図８】図８は同実施形態におけるセンサ端末ｃの処理手順を示すフローチャートである。
【符号の説明】
【００６２】
１１ａ〜１１ｈ…センサ端末、１２ａ，１２ｂ，１２ｃ…サーバ装置、１３…通信ネットワーク、２１…制御部、２２…センサ部、２３…通信部、２４…通信部、２５…記憶部、２５ａ…プログラム、Ｔ１…処理能力テーブル。
【図１】
2009033346.tif 000003
【図２】
2009033346.tif 000004
【図３】
2009033346.tif 000005
【図４】
2009033346.tif 000006
【図５】
2009033346.tif 000007
【図６】
2009033346.tif 000008
【図７】
2009033346.tif 000009
【図８】
2009033346.tif 000010