以下に説明する本発明の実施形態は、センター機器から大量のセンサー機器を、モバイル公衆網を用いて制御する際、公衆網のボトルネックを推定し、通信事業者設備の変更を加えることなく、かつ、効率的にセンター側からセンサー機器に対する要求を処理する制御方式である。具体的には、センター側からセンサー機器へデータ通信処理を行う際に、GPS情報に基づくセンサー端末の位置、各地域の混雑度、及びセンサーノードのレスポンスタイムを把握し、モバイル公衆網のIPデータ通信処理上限を超えないように、効率良く、センター側からセンサー機器への要求を処理する方式である。具体的には、本実施形態は次の二つの処理を含む。
・地域分散処理
モバイル通信網のボトルネックは、コアネットワークと無線ネットワーク部分に分かれるが、それぞれエリアを考慮した設計となっており、1箇所のエリアに対して、センター側からの要求がそのエリアに集中すると処理を行うことができない。従って、通信対象となるエリアを分散して要求を行うと、効率的に処理を行うことができる。センサー機器は移動している可能性があるため、センター側は、センサー機器が所属するエリアを知るために、センサー機器からのGPS情報を収集し、最新のエリアに対する分布情報を把握し、エリアを意識して、処理要求をセンサー機器に送信する。
・レスポンスタイムによる処理
地域分散処理実施時に収集した、各センサーノードのレスポンスタイムに応じて、効率的な処理を実施する。
以下、本発明の実施形態の詳細を添付図面に基づいて説明する。
図1は、本発明の実施形態の通信システム全体の構成を示すブロック図である。図1を参照して、モバイルネットワークの負荷を軽減するセンサーノードへの処理方式の概要を説明する。
本実施形態の通信システム101は、センサーノード制御を行うセンター設備104、複数のセンサーノード103及びモバイル通信事業者網(モバイルネットワーク)105からなる。
センター設備104は、相互に接続されたプロセッサ110、記憶装置111及びインターフェース112を有する計算機によって実現される。後述するセンター設備104によって実行される処理は、実際には、プロセッサ110が記憶装置111に格納されたプログラム(図示省略)を実行することによって実現される。記憶装置111には、さらに、後述する分割エリア位置管理テーブル201(図2参照)及びセンサーノード位置管理テーブル301(図3参照)が格納される。
モバイルネットワーク105は、一般的なモバイル通信事業者網であってよく、例えば、複数のゲートウェイ装置107及び複数の基地局108を有する。各基地局108は、各センサーノード103との間で無線によるIPデータ通信を行う。
サービスエリア109は、モバイルネットワーク105を介してサービスが提供される範囲である。提供されるサービスはどのようなものであってもよい。サービスエリア109内には、サービスの対象となる複数のセンサーノード103が配置される。各センサーノード103は、それぞれが所定の位置に固定されていてもよいし、携帯電話端末のように移動してもよい。
各センサーノード103は、物理量を計測するセンサーと、データを通信する通信部と、を有する。例えば、各センサーノード103の通信部は、モバイルネットワーク105を介してセンター設備104から要求を受信すると、その要求に応じて、センサーが計測した物理量を含むデータをセンター設備104に送信する。さらに、各センサーノード103は、GPS信号受信機を有し、GPS102から受信したGPS信号に基づいて位置情報を取得し、センター設備104に送信してもよい。
各センサーノード103はどのような種類のものであってもよいが、固定されたセンサーノード103の例としては、通信機能を有する電力量計(いわゆるスマートメーター)等が挙げられる。センター設備104は、全てのセンサーノード103に順次要求を送信し、要求を受信した各センサーノード103はセンサーが計測した電力量を含むデータをセンター設備104に応答する。また、移動可能なセンサーノード103の例としては、携帯電話端末、いわゆるスマートフォンのような携帯情報端末、又はいわゆるプローブカーのようなセンサー及び通信機能を備えた車両等が挙げられる。これらも同様にセンター設備104からの要求に対してセンサーが取得したデータを応答する。
本実施形態では、センター設備104が、モバイルネットワーク105の設備状況を推測し、サービスエリア109を最適な大きさの複数の地区(エリア)106に分割する。更に、センター設備104は、各センサーノード103の位置情報に基づいて、分割したエリアと各センサーノード103の位置とのマッピング処理を行い、マッピングの結果に基づいて、地理的に分散したIPデータ通信を行う。また、各センサーノード103のレスポンスの状況から、モバイルネットワーク105の混雑度が低いと判断されるセンサーノード103については、地理的要因を意識せずに時分割処理を実施する。
図2は、本発明の実施形態のセンター設備104が保持する分割エリア位置管理テーブル201の説明図である。
分割エリア位置管理テーブル201は、センサーノード103の分布をグループ化するための分割エリアを表わすテーブルであり、追記型で記録される。センサーノード103は移動体又は固定で設置されるものを想定しており、センサーノード103ひとつひとつが位置座標を持つ。あるサービスで利用されるセンサーノード103はそのサービスエリア109内に分散して存在している。本実施形態では、管理が容易となるように、サービスエリア109が分割される。各センサーノード103は分割されたエリアのいずれかに属する。
分割エリア位置管理テーブル201は、サービスエリア109をルールに従って基本分割したエリア情報と、センサーノード103の密集の程度に応じて、管理を細分化するためさらに分割されたエリア情報と、を記録する。更に細分化されたエリアは、基本分割されたエリアを記録した後に分割エリア位置管理テーブル201へ追加される。
分割エリア位置管理テーブル201は、エリア固有番号211、エリアレベル番号212、緯度経度(北西端)213、緯度経度(南東端)214、エリア内にあるセンサーノード数215、上位レベル固有番号216及び最上位レベル固有番号217を含む。
エリア固有番号(111)は、各エリア106を一意に識別する識別子である。例えば、サービスエリア109を南北方向の等間隔の境界線及び東西方向の等間隔の境界線によって格子状に基本分割した場合、分割された方形の各エリア106にA、B、C…のような固有番号が与えられる。例えば、北西のエリア106から南東のエリア106までに、A、B、C…のような固有番号が順に与えられてもよい。
基本分割されたエリア106は「エリアレベル1(最上位レベル)」として管理される。エリアレベル番号212は、各エリア106のエリアレベルを示す。後述するように、基本分割されたエリア106はさらに細かいエリアに分割される場合があるが、そのような細かいエリアにはより低いレベル(例えばエリアレベル2又は3等)が与えられる。
各エリア106の位置及び大きさは、2点の緯度経度情報、例えば各エリア106の北西端の緯度経度213及び南東端の緯度経度214を用いて表わせる。基本分割されたエリア106は初期段階で生成されるエリアであり、サービスエリア109が変わらない限り変更されない。
サービスエリア109には複数のセンサーノード103が存在し、各センサーノード103の座標データから各エリア106に所属する(すなわち各エリア106内に位置する)センサーノード103の数をカウントでき、その情報がエリア内にあるセンサーノード数215に記録される。センサーノード103があるエリア106内に存在するか否かは、エリア情報の北西端の緯度経度情報(xx.yyy)、南西端の位置情報(aa.bbb)と、センサーノードの位置情報(cc.ddd)から、xx>cc>aaかつbbb>ddd>yyy(西経の場合)が満たされるか否かによって判別される。
センター設備104からセンサーノード103に対して接続する(例えば要求を送信する)とき、大量のセンサーノード103が登録されているエリア106に対して連続して要求を送信すると、輻輳、応答遅延、または他のサービスへの影響を与える恐れがある。このため、センサーノード103の分布数に応じてエリア106が細分化される。細分化の詳細については図9及び図10を参照して後述する。細分化されたエリアは、レベルがひとつ下がる。
たとえばエリアAは、エリアAの中心を通る南北方向及び東西方向の境界線によって4個のエリアに分割されてもよい。分割された4個のエリアのうち左上(北西)、右上(北東)、左下(南西)及び右下(南東)のエリアが、それぞれ、エリアA1、A2、A3及びA4となる。これらのエリアA1〜A4のエリアレベルは、最上位のレベルより一つ低い「2」となる。
分割されたエリアA1等は分割エリア位置管理テーブル201に追記される。具体的には、分割された各エリアを一意に識別するエリア固有番号211、分割された各エリアのレベルを示すエリアレベル番号212、それらのエリアの2点の座標情報213、214、及びそれらのエリア内にあるセンサーノード数215が登録される。さらに、それらのエリアを含む一つ上位のレベルのエリアの識別子(上記の例ではエリアA1〜A4を含むエリアAの識別子)が上位レベル固有番号216に登録され、それらのエリアを含む最上位のレベルのエリアの識別子(上記の例では同様にエリアAの識別子)が最上位レベル固有番号(117)に登録される。
尚、上記のようにエリアが細分化された際、細分化されたエリアを含む上位レベルのエリアに関するエリア内にあるセンサーノード数215の値が削除される。例えば、エリアAがエリアA1〜A4に細分化された場合、エリアAに関するエリア内にあるセンサーノード数215が削除される。
細分化されたエリアにさらに多数のセンサーノードが登録されている場合は、エリアがさらに分割され、分割されたそれぞれのエリアに関する情報が分割エリア位置管理テーブル201に追記される。
図3は、本発明の実施形態のセンター設備104が保持するセンサーノード位置管理テーブル301の説明図である。
センサーノード位置管理テーブル301は、センサーノード106の情報と所属するエリアの関係を表すテーブルであり、追記型で記録される。センサーノード位置管理テーブル301に含まれる情報は、センサーノード番号311、緯度経度情報312、所属エリア固有番号313、エリアレベル番号314、最上位レベルの固有番号315、処理結果316及びレスポンスタイム317である。
センサーノード106にはそれぞれ一意に決まる固有のセンサーノード番号(シリアルNo)311がつけられ、これによって一意に管理される。センサーノード106はそれぞれ位置情報をもち、GPS情報から取得した位置座標情報が緯度経度情報312に記録される。各センサーノード106はいずれかのエリアに属するため、その所属するエリアの固有番号、レベル、及びそのエリアを含む最上位レベルのエリアの固有番号が、それぞれ、所属エリア固有番号313、エリアレベル番号314及び最上位レベルの固有番号(L1エリア)315として記録される。所属エリアはセンサーノード106の密集によって細分化される可能性があるため、これらの情報は適宜更新される。また、後述(図11以降)のセンサーノードに対する要求処理を行った場合、その結果(OK/NG)及びレスポンスタイムが、処理結果316及びレスポンスタイム317として記録される。処理結果316とレスポンスタイム317は、要求処理がなされた場合にその処理結果に応じて更新される。
図4は、本発明の実施形態のセンター設備104が実行する処理の全体を示すフロー図である。
最初に、センター設備104は、サービスエリア109を適切なエリア106に分割する処理(1項、ステップ401)を行う。この処理の詳細については、図5及び図6を参照して後述する。次に、センター設備104は、分割されたエリア106とセンサーノード103との位置関係を把握する処理、すなわち、分割エリアとセンサーノードとのマッピング処理(2項、ステップ402)を行う。この処理の詳細については、図7及び図8を参照して後述する。次に、センター設備104は、センサーノード103の分布状況から、分割されたエリア106をさらに分割する処理、すなわち、分割エリアの最適化処理(3項、ステップ403)を行う。この処理の詳細については、図9及び図10を参照して後述する。
次に、センター設備104は、実際の処理を行うセンサーノード103を選択する処理、すなわち、処理を開始するセンサーノードの選択及び処理方式(4−1項、ステップ404)を実施する。この処理の詳細については、図11を参照して後述する。次に、センター設備104は、センサーノード103への処理を分散するために、次に処理するセンサーノード103を選択及び決定する処理、すなわち、次に処理するセンサーノードの選択及び処理方式(4−2項〜404項、ステップ405〜407)を行う。これらの処理の詳細については、図12〜図15Bを参照して説明する。また、ステップ404〜407の処理の具体例については、図22を参照して説明する。次に、センター設備104は、レスポンスタイムを加味した処理、すなわち、レスポンスタイムによる処理方式(5項、ステップ408)を行う。この処理の詳細については、図16及び図17を参照して説明する。
一連のセンサーノード103への処理は、上記の処理によって完了する。しかし、センサーノード103は固定されているとは限らず、移動する場合がある。移動するセンサーノード103への処理が行われる場合、上記処理におけるエリア106とセンサーノード103のマッピング状況が時間の経過とともに変化ことが推測される。つまり、センサーノード103の位置変更頻度、通信環境の変化(センサーノードが存在するエリアに含まれる他のサービスのノード又は他の移動機の増減による環境変化)に対応する必要がある。
従って、M2M(Machine−to−Machine)サービスの内容(どれくらいの周期でセンサーノード103への処理を実行するか、位置変更頻度、通信環境の変化)に応じて、ある時間が経過した後、エリア106とセンサーノード103とのマッピング処理をやり直す必要がある。例えば、10分ごとにセンサーノード103への処理が実行されるサービスにおいて、30分単位でセンサーノード103がエリア106を跨って移動することが予想される場合、30分に一度見直しを行うなどが考えられる。このような場合には、センター設備104は、ステップ408が終了した後に、マッピングの更新時期が到来したか否かを判定し(ステップ409)、到来した場合(上記の例では前回の更新から30分が経過した場合)、ステップ402以降の処理を再度実行してもよい。実際の見直しを行う時間については、処理ログから処理速度が低下した場合を考慮するなど、システム負荷及び効率性の観点から決定する必要がある。また、センサーノード位置情報の更新時期でなく、本サービスの終了およびサービスエリアの変更などが生じた場合などは、本処理が終了する(ステップ409)。
図5は、本発明の実施形態のセンター設備104が実行する初期段階のエリア分割処理を示す説明図である。
センサーノード103が利用可能なサービスエリア501(図1のサービスエリア109に相当)があるとき、サービスエリア501の端の2点の座標からエリアの中心502の位置が計算でき、その中心502から、例えば南北方向及び東西方向の等間隔の境界線によってエリア503を分けてゆく。図5の例では、サービスエリア501が、√10km四方の複数のエリア503に分割される。図5に示す点線の境界線で囲まれた、面積が10km2の方形の各領域がエリア503であり、それぞれが図1のエリア106に相当する。
上記の手順によって、複数のエリア503全体の外周がサービスエリア501を内包するまで拡張される。その結果、図5に示すように、サービスエリア501内のいずれの地点も必ずいずれかのエリア503に含まれることになる。このようにして分割されたエリア503のエリアレベルは「1」となり、サービスエリア501が変わらない限り、固定される。
図6は、本発明の実施形態のセンター設備104が実行する初期段階のエリア分割処理を示すフロー図である。
サービスエリア501は、M2Mサービスを行うエリアであり、そのサービスエリア501が、通信事業者網の一般的な基地局カバーエリアの大きさとして想定されるNkm2のエリアに分割する(N:例えば10km2)。
図5を参照して説明したように、分割エリア503は、それらの全体の外周がサービスエリア501を包含するまで、センター設備104がサービスエリア501を含む空間を10km2単位で分割することによって生成される(ステップ601)。センター設備104は、分割後のエリア情報を分割エリア位置管理テーブル201におけるエリア固有番号211、エリアレベル番号212、緯度経度(北西端)213、緯度経度(南東端)214、上位レベル固有番号216、及び最上位レベル固有番号(L1エリア)217に記録する(ステップ602)。
図7は、本発明の実施形態のセンター設備104が、センサーノードを、分割されたレベル1のエリアにマッピングする処理を示す説明図である。
図7には、一例として、サービスエリア501内に分布する14個のセンサーノード701を示す。各センサーノード701が、図1に示すセンサーノード103に相当する。各センサーノード701に表示された小文字のアルファベット「a」〜「n」は、各センサーノード701の固有番号である。
センター設備104は、各センサーノード701の座標データを分割されたレベル1のエリア503にマッピングし、各エリアに属するか否かを判別する。図7の例ではサービスエリア501を含む空間が横6×縦4の24のエリア503に分割され、例えばセンサーノードa(701)は固有番号Eによって識別されるレベル1のエリア503に属する。同様に、センサーノードbからnもいずれかのレベル1のエリア503に属する。
センター設備104は、マッピングした結果をセンサーノード位置管理テーブル301に登録する。さらに、センター設備104は、マッピングの結果に従って、分割エリア位置管理テーブル201の各センサーノード701が所属するレベル1の固有エリア番号のエリア内にあるセンサーノード数215をカウントする。
図8は、本発明の実施形態のセンター設備104が、センサーノードを、分割されたレベル1のエリアにマッピングする処理を示すフロー図である。
センター設備104は、各センサーノード701のGPS情報を用いて、各センサーノード701の固有番号及び位置情報を取得し、それらの情報に基づいて、センサーノード位置管理テーブル301のセンサーノード番号311及び緯度経度情報312を記録する(ステップ801)。尚、センサーノード番号311としては、各センサーノード701を一意に決定する番号が付与される。図3及び図7の例では便宜上「a」等が付与されているが、例えば、製品のシリアル番号が使用されてもよい。
なお、例えば各センサーノード701が固定されておりその位置情報が既知である場合には、GPS情報が使用されずに、既知の位置情報が予めセンサーノード位置管理テーブル301の緯度経度情報312に記録されていてもよい。
次に、センター設備104は、ステップ801で取得した各センサーノード701の緯度経度と、分割エリア位置管理テーブル201の緯度経度(北西端)213及び緯度経度(南東端)214とに基づいて、各センサーノード701が属するエリア503について、所属エリア固有番号313、エリアレベル番号314、及び最上位レベルの固有番号(L1エリア)315を記録する(ステップ802)。
次に、センター設備104は、センサーノード位置管理テーブル301の所属エリア固有番号313を参照し、その値に基づいて、分割エリア位置管理テーブル201のエリア内にあるセンサーノード数215に情報を記録する(ステップ803)。図7の場合、例えばエリアEにはセンサーノードc及びnが属するため、エリアEに関するエリア内にあるセンサーノード数215の値は「2」となる。
図9は、本発明の実施形態のセンター設備104が実行する分割エリアの最適化処理を示す説明図である。
具体的には、図9は、エリアの細分化方法及び細分化されたエリアへのセンサーノードのマッピング方法を現している。図9には、説明のために、図7とは異なるセンサーノードの分布の例を示している。この例では、エリアレベル1のエリア901を4分割することで、エリアレベル2の4個のエリア902を規定し、そのエリアレベル2のエリア902と複数のセンサーノード701との位置関係を示している。エリア901には7個のセンサーノード701(すなわちセンサーノードa〜g)が分布し、エリア901が再分化されると、それぞれのセンサーノード701がいずれかのエリア902に属することとなる。
図10は、本発明の実施形態のセンター設備104が実行する分割エリアの最適化処理を示すフロー図である。
センサーノードが集中するエリアは、モバイルネットワーク105において、例えば基地局の増設等の設備増強が通信事業者によって行われている可能性がある。すなわち、通常の基地局108のカバーエリアの面積が10km2程度であったとしても、センサーノードの集中が常態化している地域(例えば都心部等)では、より高密度に基地局108が設置され、そのような地域における基地局108のカバーエリアは10km2程度より顕著に小さい可能性がある。このため、センター設備104は、更なるエリアの細分化を行う。
エリアの細分化は、例えば、通信事業者が定める、一つの基地局108が単位時間当たりに通信できるIPパケット数の上限(Xとする)に基づいて行われる。センター設備104は、各エリアにXより多い数のセンサーノード701があるか否かを判定し(ステップ1001)、Xより多い数のセンサーノード701があるエリア(以下、図10の説明において「対象エリア」と記載する)については、細分化処理を行う。
具体的には、センター設備104は、対象エリアの中心を通る南北方向の境界線及び東西方向の境界線によって対象エリアを4分割することで、新しい(細分化された)エリアを定義するステップ1002。このように、既に定義されているエリアをさらに分割することによって定義されたエリアは、分割前エリアレベルの下位レベルのエリアと定義される。例えば、エリアレベル1のエリア901を4分割することによって定義された各エリア902のエリアレベルは、「1」の一段下位の「2」となる。
次に、センター設備104は、新しく定義された4エリアに対応するエントリを分割エリア位置管理テーブル201に追加し(ステップ1003)、追加したエントリのエリア固有番号211、エリアレベル番号212、緯度経度(北西端)213、緯度経度(南東端)214、上位レベル固有番号216、及び最上位レベル固有番号(L1エリア)217に、各エリアに関する情報を記録する(ステップ1004)。
次に、センター設備104は、追加したエリアの緯度経度(北西端、南東端)情報及びセンサーノードの緯度経度に基づいて、センサーノード位置管理テーブル301の各センサーノードに関する所属エリア固有番号313、エリアレベル番号314、及び最上位レベルの固有番号(L1エリア)315を更新する(ステップ1005)。
次に、センター設備104は、センサーノード位置管理テーブル301の“所属エリア固有番号313を参照し、新たに定義されたエリアに関する分割エリア位置管理テーブル201のエリア内にあるセンサーノード数215に情報を記録する。また、同時に、新たに定義されたエリアを含むその上位レベルのエリアに関するエリア内にあるセンサーノード数215の値を削除する(ステップ1006)。尚、上記のフローは分割エリア位置管理テーブル201の最上位のエントリから順に、最終エントリまで実行される。
センター設備104は、上記のようにして細分化したエリアが所定の条件を満たす場合、それをさらに細分化してもよい。例えば、図9の細分化された4個のエリア902のうち、エリア固有番号が「A4」であるエリア(すなわちエリアA4)は、4個のセンサーノード701を含んでいる。この例において、IPパケット数の上限Xが「3」以下であれば、センター設備104は、エリアA4を対象エリアとして図10の処理を実行する。
図11は、本発明の実施形態のセンター設備104が実行する、処理を開始するセンサーノードの選択及び処理方式を示すフロー図である。
最初に、センター設備104は、処理すべきセンサーノードが存在するかを確認する(ステップ1101)。例えば、センター設備104は、センター側における処理要求一覧を検索し、処理一覧表(図示省略)を作成する。処理一覧表は、例えば、各センサーノードの固有番号、処理のステータス(未処理、OK、又はNG)、処理内容及び失敗回数を示す情報を含む。センター設備104は、処理一覧表を検索することによって処理すべきセンサーノードの有無を判断する。処理すべきセンサーノードがない場合は、センター設備104は、一定期間時間を置き(ステップ1102)、再度検索を行う(ステップ1103)。
処理すべきノードがある場合、センター設備104は、分割レベルが最も低いエリアを抽出する(分割エリア位置管理テーブル201におけるエリアレベル番号212を参照して抽出する)(ステップ1104)。次に、センター設備104は、ステップ1104で抽出したエリアの中から、最もセンサーノード数の多いエリアを抽出する(ステップ1105)。このとき、分割エリア位置管理テーブル201における、エリア内にあるセンサーノード数215が参照される。
次に、センター設備104は、ステップ1105において複数のエリアが抽出されたか否かを判定する(ステップ1106)。複数のエリアが抽出された場合、センター設備104は、ステップ1107及び1108を順次実行する。一方、一つのエリアのみが抽出された場合、センター設備104は、抽出された一つのエリアを選択されたエリアとして、ステップ1107を実行せずにステップ1108を実行する。
ステップ1107において、センター設備104は、抽出された複数のエリアから任意の(例えば、分割エリア位置管理テーブル201への登録順が最も早い)エリアを選択する。次に、ステップ1108において、センター設備104は、選択されたエリア内の任意の(例えば、センサーノード位置管理テーブル301の登録順が最も早い)センサーノードを選択する。
次に、センター設備104は、選択したセンサーノードに対して処理を実行し、処理結果を判定する(ステップ1109)。ここで実行される処理とは、例えば、センター設備104が選択したセンサーノード103にモバイルネットワーク105を介してリクエストを送信し、センサーノード103からのレスポンス(例えばセンサーによって取得されたデータを含む)を受信する処理であってもよい。以下の説明においても同様である。処理結果は、センサーノードからの正常レスポンスがあれば、OKと判定され、センサーノードからレスポンスがない、または異常レスポンスがあった場合はNGと判定される。これらの判定結果は、処理一覧表のステータスに反映される。後述する判定結果についても同様である。
結果がOKの場合、センター設備104は、選択したセンサーノードに関する情報(例えばセンサーノード位置管理テーブル301の処理結果316及びレスポンスタイム317)を更新し(ステップ1110)、続いて図12に示す処理を実行する。NGの場合は、センター設備104はリクエストの再送処理を実施する(ステップ1111)。再送処理の結果もNGであった場合、センター設備104は再送処理を繰り返し実行し、指定回数の再送処理の結果が全てNGの場合(ステップ1112)、選択したセンサーノードの処理結果をNGと判定し、当該センサーノードの処理結果316を「NG」に更新する(ステップ1113)。そして、センター設備104は、NGと判定されたセンサーノードを除き、ステップ1101以降の処理をやり直す。
図12は、本発明の実施形態のセンター設備104が実行する、次に処理するセンサーノードの選択及び処理方式を示す第1のフロー図の第1の部分である。
具体的には、図12は、いずれかのエリアのセンサーノードを処理したる場合における次に処理するセンサーノードの選択及び処理方式のフローを示している。
最初に、センター設備104は、前回処理されたセンサーノードが属するレベル1のエリア、及び、そのエリアに隣接するレベル1のエリアの固有番号を抽出する(ステップ1201)。ここで、前回処理されたセンサーノードとは、今回の図12及びそれに続く一連の処理が、図11の処理によって選択及び処理された、処理を開始するセンサーノード(すなわち最初に処理されるセンサーノード)の次に処理されるセンサーノードを選択するために実行される場合は、当該図11の処理によって選択及び処理されたセンサーノードであり、前回の図12及びそれに続く一連の処理によって選択されたセンサーノードの次に処理されるセンサーノードを選択するために実行される場合は、当該前回の図12等の処理によって選択及び処理されたセンサーノードである。また、前回処理されたセンサーノードが所属するエリアを、前回処理されたエリアとも記載する。
例えば、図7の例において、センサーノードjが前回処理された場合、ステップ1201において、センサーノードjが属するエリアJ、及び、エリアJに隣接する(言い換えるとエリアJと境界を接する)エリアE、F、G、I、K、M、N及びOが抽出される。
また、前回処理されたセンサーノードが属するレベル1のエリアとは、前回処理されたセンサーノードがレベル1より低いレベルのエリアに属している場合には、そのエリアを含むレベル1のエリアである。例えば、図9の例において、前回処理されたセンサーノードが、レベル2のエリアA4に属するセンサーノードaである場合、前回処理されたセンサーノードが属するレベル1のエリアは、エリアA4を含むレベル1のエリアAである。
次に、センター設備104は、ステップ1201で抽出されたエリアを除くエリアのうち、分割レベルが最も低いエリア、すなわち、最も細かく分割されたエリアを抽出する(ステップ1202)。
次に、センター設備104は、ステップ1202で抽出されたエリアに未処理のセンサーノードが存在するかを判定する(ステップ1203)。未処理のセンサーノードが存在する場合、センター設備104は、抽出されたエリアからのセンサーノードの選択及び処理を実行する(ステップ1204)。ステップ1204の詳細については、図13を参照して後述する。その後、処理はステップ1201に戻り、センター設備104は、ステップ1204で選択及び処理されたセンサーノードの次のセンサーノードの選択及び処理を実行する。
ステップ1202で抽出されたエリアに未処理のセンサーノードが存在しない場合、センター設備104は、ステップ1203で判定されたエリアのレベルが1より低いか否かを判定する(ステップ1205)。エリアのレベルが1より低い場合には、センター設備104は、ステップ1201で抽出されたエリアを除くエリアから、直前のステップ1203で判定されたエリアレベルより1段高いレベルのエリアを抽出し、抽出されたエリアを対象としてステップ1203以降の処理を実行する。例えば、ステップ1202においてレベル3のエリアが抽出され、その次のステップ1203においてレベル3のエリアに未処理のノードが存在しないと判定された場合、センター設備104は、ステップ1201で抽出されたエリアを除くレベル2のエリアに未処理のノードが存在するか否かを判定する(ステップ1203)。
ステップ1205でエリアのレベルが1(すなわち最上位)であると判定された場合、ステップ1201において抽出されたエリア以外に未処理のセンサーノードが存在していない。この場合、センター設備104は、図14に示す処理を実行する。この処理については後述する。
図13は、本発明の実施形態のセンター設備104が実行する、次に処理するセンサーノードの選択及び処理方式を示す第1のフロー図の第2の部分である。
図13の処理は、図12のステップ1204において実行される。さらに、後述する図14のステップ1405及び図15Aのステップ1505においても図13の処理が実行されるが、ここでは、図12のステップ1204において実行される場合について説明する。
最初に、センター設備104は、ステップ1202で抽出されたエリアから、所属している未処理のセンサーノードが多いエリアを抽出する(ステップ1301)。次に、センター設備104は、ステップ1301で複数のエリアが抽出された場合、緯度経度情報に基づいて、それらのエリアのうち、前回処理されたエリアから最も距離があるエリアを抽出する(ステップ1302)。エリア間の距離は、例えば、エリアの北西端の緯度経度情報から算出される。
次に、センター設備104は、ステップ1302で複数のエリアが抽出されたか否かを判定する(ステップ1303)。複数のエリアが抽出された場合、センター設備104は、それらのエリアから任意の(例えば、分割エリア位置管理テーブル201への登録順が最も早い)エリアを選択し(ステップ1304)、ステップ1305へ進む。一方、ステップ1302で一つのエリアのみが抽出された場合、センター設備104は、その一つのエリアを選択されたエリアとしてステップ1305へ進む。
次に、センター設備104は、選択されたエリアに所属する未処理のセンサーノードから任意の一つ(例えばセンサーノード位置管理テーブル301への登録順が最も早いもの)を選択する(ステップ1305)。
その後、センター設備104は、選択したセンサーノードに対して処理を実行し、処理結果を判定し(ステップ1306)、判定結果がNGの場合は再送処理を実行し(ステップ1307)、指定回数の再送処理の結果が全てNGの場合(ステップ1308)、選択したセンサーノードの処理結果をNGと判定し、当該センサーノードの処理結果316を「NG」に設定する(ステップ1310)。これらの処理は、図11のステップ1109、1111〜1113と同様である。一方、ステップ1306の処理結果又はステップ1307の再送処理の結果がOKであった場合は、当該センサーノードの処理結果316を「OK」に設定する(ステップ1309)。これによって、当該センサーノードは処理済みとなる。
次に、センター設備104は、上記の処理結果に基づいて分割エリア位置管理テーブル201及びセンサーノード位置管理テーブル301を更新する(ステップ1311)。以上で図13の処理が終了し、引き続き、図12のステップ1204、図14のステップ1405又は図15Aのステップ1505の後の処理が実行される。
図14は、本発明の実施形態のセンター設備104が実行する、次に処理するセンサーノードの選択及び処理方式を示す第2のフロー図である。
具体的には、図14は、前回処理されたレベル1のエリア及びそれに隣接するレベル1のエリア以外のいずれでもないエリアに所属する未処理のセンサーノードの数が0となった場合に、次に処理するセンサーノードの選択及び処理を行うために実行する処理を示す。
最初に、センター設備104は、前回処理されたレベル1のエリア以外の最も低いレベルの(すなわち最も細かく分割された)エリアを抽出する(ステップ1401)。この時点で、既に前回処理されたレベル1のエリア及びそれに隣接するレベル1のエリアの外のエリアに未処理のセンサーノードが存在しないため、ステップ1401では前回処理されたレベル1のエリアに隣接するレベル1のエリアに含まれる最も低いレベルのエリアが抽出される。
次に、センター設備104は、ステップ1401で抽出されたエリアに未処理のセンサーノードが存在するか否かを判定する(ステップ1402)。未処理のセンサーノードが存在する場合には、ステップ1401で抽出されたエリアを対象として、センサーノードの選択及び処理を実行する(ステップ1405)。この処理は図13を参照して説明した通りである。ステップ1405が終了すると、処理はステップ1401に戻る。
ステップ1401で抽出されたエリアに未処理のセンサーノードが存在しない場合、センター設備104は、ステップ1402の判定の対象となったエリアのレベルが1であるか否かを判定する(ステップ1403)。ステップ1402の判定の対象となったエリアのレベルが1より低い場合、センター設備104は、ステップ1402の判定の対象となったエリアのレベルより1段高いレベルのエリアを対象として、ステップ1401と同様の処理を行って、エリアを抽出する(ステップ1404)。例えばステップ1402において、レベル3のエリアに未処理のセンサーノードが存在しないと判定された場合、ステップ1404において、レベル2のエリアが抽出される。そして、センター設備104は、ステップ1404で抽出したエリアを対象として、ステップ1402以降の処理を実行する。
ステップ1403において、ステップ1402の判定の対象となったエリアのレベルが1であると判定された場合、前回処理されたレベル1のエリアの外には未処理のセンサーノードが存在しない。この場合、センター設備104は、図15A及び図15Bの処理を実行する。
図15A及び図15Bは、本発明の実施形態のセンター設備104が実行する、次に処理するセンサーノードの選択及び処理方式を示す第3のフロー図である。
図15A及び図15Bに示す処理は、前回処理されたレベル1のエリアの外には未処理のセンサーノードが存在しなくなったときに実行される。この場合でも、前回処理されたレベル1のエリア内で、できる限り分散して処理を行うため、上位レベルから処理可能なセンサーノードが存在するエリアを抽出し、分散処理を行う。
この処理を実行する時点で、処理の対象となるレベル1のエリアは1つ(すなわち、前回処理されたレベル1のエリア)である。以下、このエリアを該当エリアとも記載する。最初に、センター設備104は、該当エリア内にレベル2以下のレベルのエリアが存在するか否かを判定する(ステップ1501)。レベル2以下のレベルのエリアが存在しない場合は、センター設備104は、未処理のセンサーノードがなくなるまで、該当エリア内の任意のセンサーノードに処理を行い、その後処理を終了する。
具体的には、センター設備104は、該当エリアに未処理のセンサーノードが存在するか否かを判定し(ステップ1510)、存在する場合には、任意の未処理のセンサーノードを選択して処理を実行し(ステップ1511)、処理結果を判定する(ステップ1512)。処理結果がNGの場合、センター設備104は、再送処理を実行し(ステップ1513)、指定した回数の再送処理に失敗した場合(ステップ1514)、処理結果を「NG」に設定する(ステップ1515)。一方、処理結果が「OK」の場合、センター設備104は、分割エリア位置管理テーブル201及びセンサーノード位置管理テーブル301を更新する。これらの処理は図11のステップ1109〜1113と同様である。
ステップ1510において、該当エリアに未処理のノードが存在しないと判定された場合、サービスエリア内の全てのセンサーノードに対する処理が終了する。
ステップ1501においてレベル2以下のレベルのエリアが存在すると判定された場合、センター設備104は、最初にレベル2のエリアを抽出し、さらにレベル3、レベル4のエリアが存在するとき、下位レベルのエリアに所属するノードを抽出して、ノード数の多いエリアを対象に処理を行う。以下、処理手順を説明する。
最初に、センター設備104は、エリアレベル2を除外エリアレベルの初期値として設定する(ステップ1502)。
次に、センター設備104は、前回処理されたセンサーノードが属する除外エリアレベルのエリア以外のエリアのうち、最も低いレベルのエリアを抽出する(ステップ1503)。この抽出は、分割エリア位置管理テーブル201のエリアレベル番号212に基づいて行われる。
次に、センター設備104は、ステップ1503で抽出されたエリアに未処理のセンサーノードが存在するか否かを判定する(ステップ1504)。未処理のセンサーノードが存在する場合には、ステップ1503で抽出されたエリアを対象として、センサーノードの選択及び処理を実行する(ステップ1505)。この処理は図13を参照して説明した通りである。ステップ1505が終了すると、処理はステップ1503に戻る。ステップ1503で抽出されたエリア(複数のエリアが抽出された場合にはそれらの全てのエリア)に未処理のセンサーノードがないとステップ1504で判定されるまで、ステップ1503〜1505が繰り返される。
ステップ1503で抽出されたエリアに未処理のセンサーノードがないとステップ1504で判定された場合、センター設備104は、ステップ1503で抽出されたエリアのレベルを除外エリアレベルと比較する(ステップ1506)。ステップ1503で抽出されたエリアのレベルが除外エリアレベルより低い場合、センター設備104は、前回処理されたセンサーノードが属する除外エリアレベルのエリア以外のエリアのうち、ステップ1503で抽出されたエリアのレベルより1段高いレベルのエリアを抽出し(ステップ1508)、抽出したエリアについてステップ1504以降の処理を実行する。
一方、ステップ1503で抽出されたエリアのレベルが除外エリアレベルと同じである場合、前回処理されたセンサーノードが属する除外エリアレベルのエリアの外のエリアに未処理のセンサーノードが残っている可能性はない。この場合、センター設備104は、前回処理されたセンサーノードが属する除外エリアレベルのエリアに未処理のノードが存在するか否かを判定する(ステップ1507)。未処理のノードが存在する場合、センター設備104は、除外エリアレベルを1段下げて(例えば除外エリアレベルが「2」であった場合には「3」に設定して)(ステップ1509)、ステップ1503以降の処理を実行する。
ステップ1507において未処理のノードが存在しないと判定された場合には、サービスエリア内の全てのセンサーノードに対する処理が終了する。
上記の処理が終了すると、処理一覧表(図示省略)に含まれる各センサーノードのステータスは「OK」又は「NG」のいずれかとなる。センサーノード位置管理テーブル301の各センサーノードの処理結果316も同様に「OK」又は「NG」のいずれかとなり、「OK」に対応するレスポンスタイム317には実際に計測されたレスポンスタイムが入る。
その後、再びサービスエリア内の全センサーノードを対象とする処理を実行するタイミングが到来すると、少なくとも処理一覧表に含まれる全てのセンサーノードのステータスが「未処理」に更新され、未処理のステータスに対する処理が開始される。例えばセンター設備104が定期的に全センサーノードからセンサーデータを取得する場合、定期的に全センサーノードを対象とする処理を実行するタイミングが到来する。このとき、センター設備104は、サービスエリア内の全センサーノードを対象として図4のステップ404〜407を再び実行してもよいが、レスポンスタイム317の値に基づいて、ステップ408の処理(図16及び図17参照)を実行してもよい。
図16は、本発明の実施形態のセンター設備104が取得したレスポンスタイムの分布を示す説明図である。
センター設備104は、処理が成功した全センサーノードのレスポンスタイム317の値の分布状況から、それらのセンサーノードをレスポンスの速い群と遅い群に区別する。例えば、分布1601が得られた場合、センター設備104は、レスポンスタイム317の値が−σに相当する値以下のセンサーノードをレスポンスタイムが速い群、残りをレスポンスタイムが遅い群に分類してもよい。尚、この分布グラフは、センサーノードの位置情報を見直すまでは、変更されない。
図17は、本発明の実施形態のセンター設備104が実行する、レスポンスタイムに基づく処理方式を示すフロー図である。
最初に、センター設備104は、各センサーノードのレスポンスタイムを用いて分布(例えば図16の分布1601)を作成する(ステップ1701)。次に、センター設備104は、各センサーノードの処理結果がOK又はNGのいずれであるかを判定する(ステップ1702)。処理結果がOKであったセンサーノードについては、レスポンスタイムと分布パターンとの比較結果に基づいてレスポンスタイムが速い群又は遅い群に分類する(ステップ1703)。具体的には、例えば、レスポンスタイムの値が−σ以下に該当するセンサーノードはレスポンスタイムが速い群に分類され、それ以外はレスポンスタイムが遅い群に分類される。
センター設備104は、レスポンスタイムが速い群に分類されたセンサーノードについて、対応する基地局に余裕があると判断し、上限のパケット数Xを超えない範囲で、連続で(すなわち、処理の分散を考慮することなく、対象となった複数のセンサーノードに任意の順序で)リクエストの送信処理を実施する。具体的には、センター設備104は、レスポンスタイムが速い群に分類された各センサーノードに対して、上限のパケット数Xを超えない範囲で、処理の分散を考慮することなく、任意の順序でリクエストを送信する。
その後、センター設備104は、ステップ1704の処理結果に応じて、センサーノード位置管理テーブル301の処理結果316及びレスポンスタイム317を更新する(ステップ1705)。
一方、センター設備104は、レスポンスタイムが遅い群に分類されたセンサーノード、及び、ステップ1702で処理結果がNGと判定されたセンサーノードについて、図11〜図15Bに示した処理を実行する。
ステップ1705及び図11〜図15Bに示した処理のいずれも終了すると、センター設備104は、処理を終了するか否かを判定する(ステップ1706)。処理を終了しない場合、センター設備104は、ステップ1702以降の処理を再度実行する。処理を終了する場合、続いて図4のステップ409が実行される。
図18は、本発明の実施形態における隣接エリアの説明図である。
本実施形態において、前回処理されたエリア1801の隣接エリア1802は、前回処理されたエリア1801の周りのエリア、より詳細には、前回処理されたエリア1801と境界を接するエリアと定義される。図18の例では、前回処理されたエリア1801の北、北東、東、南東、南、南西、西、及び北西の各方向で境界を接する8個のエリアが隣接エリア1802となる。
図19は、本発明の実施形態における隣接エリアの検索方法の説明図である。
前回処理されたセンサーノードを含む最上位レベルのエリア1801の隣接エリア1802は、エリア1801の緯度経度(北西端)213を基準座標として、検索対象座標を検索することによって検索される。具体的には、センター設備104は、図20のテーブルに登録されたエリアと一致するエリアが分割エリア位置管理テーブル201にあるか否かを判定する。
図20は、本発明の実施形態のセンター設備104が隣接エリアを検索する際に参照する隣接エリア検索情報テーブルの説明図である。
図20に示す隣接エリア検索情報テーブル2001は、センター設備104の記憶装置111に保持される。図20には、北西端の緯度及び経度がそれぞれ「xxxx」及び「yyyy」であるエリア1801に関する隣接エリア検索情報テーブル2001を示す。具体的には、隣接エリア検索情報テーブル2001は、方角2011、緯度2012及び経度2013を含む。
例えば最初のエントリの方角2011、緯度2012及び経度2013としてそれぞれ「東側」「xxxx」及び「yyyy+(√10km分東に移動した座標)」が保持されている。これは、エリア1801の東側に隣接するエリア1802の(北西端)の緯度及び経度がそれぞれ「xxxx」及び「yyyy+(√10km分東に移動した座標)」であることを示している。
同様に、隣接エリア検索情報テーブル2001は、エリア1801の西、南、北、北東、南東、北西及び南西のそれぞれの方向に隣接するエリア1802の北西端の緯度及び経度が隣接エリア検索情報テーブル2001に保持される。これらの値をキーとして分割エリア位置管理テーブル201を検索することによって、隣接メッシュを検索することができる。
図21は、本発明の実施形態のセンター設備104が隣接エリアを抽出する処理を示すフロー図である。
具体的には、図21は、前回処理されたセンサーノードを含むレベル1のエリアに隣接するレベル1のエリア、及びそれらに含まれる下位レベルのエリアの抽出方法を示している。
最初に、センター設備104は、前回処理されたセンサーノードを含むレベル1のエリアの北西端の座標を検索し(ステップ2101)、図20の表に従い東西南北、北東、南東、北西、及び南西に隣接するレベル1の8エリアの北西端座標を計算する(ステップ2102)。次に、センター設備104は、隣接エリアの北西端座標を持つエリアが存在するか否かを判断し(ステップ2103)、存在する場合、そのエリアを隣接エリアと判断して、その固有番号を隣接エリアとして登録する(ステップ2104)。一方、隣接エリアの北西端座標を持つエリアが存在していない場合、ステップ2104は実行されず、処理はステップ2105に進む。
次に、センター設備104は、8個の隣接エリアの検索が終了したか否かを判定する(ステップ2105)。終了していない場合、処理はステップ2103に戻り、終了するまで繰り返される。8個の隣接エリアの検索が終了した場合、センター設備104は、前回処理されたセンサーノードを含むレベル1のエリア、それに隣接するレベル1のエリア、及びそれらに含まれるレベル2以下のレベルのエリアの固有番号を抽出する(ステップ2106)。レベル1の隣接エリアに含まれる下位レベルのエリアの固有番号は、当該レベル1の隣接エリアの固有番号と同一の最上位レベル固有番号217を有する分割エリア位置管理テーブルのエントリを検索することによって得られる。
以下、上記の処理によるエリアの選択の順序の具体例を説明する。
図22は、本発明の実施形態において分割されたエリア、及び各エリアに分布するセンサーノード数の具体例である。
より詳細には、図22は、図4のステップ401〜403が実行された結果の一例を示す。この例において、太い実線で区切られた25個のエリアが、レベル1(すなわち最上位のレベル)のエリアであり、それぞれの左下に表示されたA〜Yは各エリアの固有番号(識別子)である。ただし、レベル2以下のエリアにさらに分割されたエリアについては、レベル1のエリアの固有番号の表示が省略されている。この例において、レベル1の各エリアが10km2の面積を有する正方形であり、図の上方向が北であるが、このような分割方法は一例であり、実際の分割方法はこれに限定されない。
図22の例では、エリアG、H、I、L、M、Q、S及びXがレベル2以下のエリアに分割されている。例えば、エリアGは、エリアGの中心を通る南北方向及び東西方向の細い実線で区切られたレベル2のエリアG1〜G4に分割されている。各エリアの左下にエリアの固有番号G1等が表示されている。ただし、この例においてエリアG4はさらにエリアG4の中心を通る南北方向及び東西方向の細い点線で区切られたレベル3のエリアG41〜G44に分割されているため、固有番号G4の表示は省略されている。レベル3のエリアの固有番号G41等の表示も省略されているが、エリアG4の北西、南西、北東、南東のそれぞれの部分がエリアG41、G42、G43及びG44である。このような、エリアG41〜G44の最下位の枝番号1〜4とそれぞれのエリアの方角との関係は、他のレベル3のエリアにも適用される。
同様に、エリアHはレベル2のエリアH1〜H4に分割され、エリアH4はさらにレベル3のエリアH41〜H44に分割されている。エリアIはレベル2のエリアI1〜I4に分割され、エリアI3はさらにレベル3のエリアI31〜I34に分割されている。エリアLはレベル2のエリアL1〜L4に分割され、エリアL4はさらにレベル3のエリアL41〜L44に分割されている。エリアMはレベル2のエリアM1〜M4に分割され、エリアM3はさらにレベル3のエリアM31〜M34に分割されている。エリアQはレベル2のエリアQ1〜Q4に分割され、エリアQ2はさらにレベル3のエリアQ21〜Q24に分割されている。エリアSはレベル2のエリアS1〜S4に分割され、エリアS3はさらにレベル3のエリアS31〜S34に分割されている。エリアXはレベル2のエリアX1〜X4に分割され、エリアX2はさらにレベル3のエリアX21〜X24に分割されている。
各エリアの中央に表示されている数字は、各エリアに含まれる未処理のセンサーノードの数である。図22には、処理が開始される前の時点の未処理のセンサーノード数、すなわち、各エリアに含まれる処理対象の全センサーノードの数を示す。ここでは説明を簡単にするために、全てのノードを対象として図4のステップ404〜407の処理が実行される(すなわちステップ408は実行されない)例を説明する。
最初に、処理を開始するセンサーノードが選択される(ステップ404)。図22の例では、最も低いレベルであって、かつ、最も多くのセンサーノードを含むエリアS33が選択される(ステップ1104、1105及び1107)。そして、エリアS33に含まれる5個の未処理のセンサーノードから任意の一つが選択され(ステップ1108)、処理が実行される(ステップ1109)。処理が成功すると、エリアS33の未処理のノード数が「4」に更新される。
その後、次に処理するセンサーノードが選択される(ステップ405〜407)。上記の例では、前回処理されたセンサーノードの属するレベル1のエリアS、及びそれに隣接するレベル1のエリアM、N、O、R、T、W、X、Yを除くエリア(すなわち、エリアS以外のエリアのうち、エリアSと境界を接しないエリア)のうち、分割レベルが最も低い、レベル3のエリアG41〜G44、H41〜H44、I31〜I34、L41〜L44、及びQ21〜Q24が抽出される(ステップ1201及び1202)。
続いて、抽出されたエリアのうち、含まれるセンサーノードの数が最も多い「3」であり、かつ、前回処理されたエリアS22から最も遠いエリアG41が選択される(ステップ1301及び1302)。そして、選択されたエリアG41に含まれる3個の未処理のセンサーノードから任意の一つが選択され(ステップ1305)、処理が実行される(ステップ1306)。処理が成功すると、エリアG41の未処理のノード数が「2」に更新される(ステップ1311)。
その後、同様の手順で、エリアS33、Q21、S33、G41、X23、M33、X24、G43、S33、H44、Q21、I33、L44、X22、M31、X23、M32、X21、及びM33が、順次選択される。エリアM33の次のエリアを選択する時点で、エリアM及びそれに隣接するエリアのいずれにも含まれないエリアのうち、最も低いレベル3のエリアX21〜X24は、いずれも、未処理のノードを一つも含んでいない。このため、エリアM及びそれに隣接するエリアのいずれにも含まれないエリアのうち、レベル3の一つ上のレベル2のエリアX1、X2及びX4が抽出される(ステップ1206)。これらに含まれる未処理のセンサーノードの数はいずれも「1」であるため、それらのうち最もエリアM33から遠いエリアX4が選択される(ステップ1302)。
その後、同様の手順で、エリアG41、S34、G43、S32、G42、S33、G44、S31、H41、Q23、I32、Q21、I34、Q24、I31、Q22、I33、L43、I2、L41、X3、H42、X1、H43、S4、L42、I4、L44、S2、H44、S1、G3、I1、L3、N、L1、N、G2、N、L2、Y、M31、E、M33、J、M34、D、M32、T、W、O、及びRが順次選択される。
上記の例の最後のエリアRの次のエリアを選択する時点で、エリアR及びそれに隣接するエリアのいずれにも含まれないエリアには、未処理のセンサーノードが残っていない。さらに、エリアRのレベルは1である。このため、次に、エリアRに隣接するエリアであって、まだ未処理のセンサーノードが一つ残っているエリアNが選択され(ステップ1401〜1404)、エリアNの未処理のセンサーノードが処理される(ステップ1405)。以上でサービスエリア内の全てのセンサーノードに対する処理が終了する。
ここで、図15Aの具体例を説明するために、ある時点において、エリアIのみに、図22に示すような未処理のセンサーノードが残り、それ以外の全てのエリアの未処理のセンサーノード数が0になったと仮定する。すなわち、I1、I2、I31、I32、I34及びI4の未処理のセンサーノード数が「1」であり、I33の未処理のセンサーノード数が「2」であり、それら以外の全てのエリアの未処理のセンサーノード数が「0」であると仮定する。
この例において、エリアI33が選択されると、エリアI33内の二つのセンサーノードのうち一つに対する処理が実行され、エリアI33の未処理のセンサーノード数は「1」となる。次に処理するセンサーノードを選択するために図12に示す処理が実行されるが、エリアI及びそれに隣接するエリアのいずれにも含まれないエリアには、未処理のセンサーノードが残っていないため、最終的にステップ1205においてエリアレベルが「1」と判定され、図14の処理が実行される。しかし、上記のように、エリアI以外のエリアには未処理のセンサーノードが残っていないため、最終的に、ステップ1402において未処理のノードが存在しないと判定され、ステップ1403においてエリアレベルが「1」と判定され、図15Aの処理が実行される。
図15Aの処理において、エリアIにレベル2以下のエリアが存在するため、除外レベルエリアとしてレベル2が設定される(ステップ1501、1502)。前回処理されたセンサーノードを含むレベル2のエリアI3以外のエリアで、最も低いレベルのエリアI1、I2及びI4が抽出され(ステップ1503)、それらに未処理のセンサーノードが存在するため(ステップ1504)、それらのうちエリアI2が選択され(ステップ1301、1302)、処理が実行される(ステップ1306)。その結果、エリアI2の未処理のセンサーノード数は「0」となる。
次に処理するセンサーノードを選択するために、上記と同様の手順で図15Aの処理が実行され、前回処理されたセンサーノードを含むレベル2のエリアI2以外の最も低いレベルのエリアI31〜I34が抽出され(ステップ1503)、最終的にそれらのうちエリアI33が選択され、処理される(ステップ1301、1302、1306)。その後、同様の処理によってI1、I34、I4、及びI31が順次選択される。
次に処理するセンサーノードを選択するために、上記と同様の手順で図15Aの処理が実行される。ステップ1503においてエリアI1、I2及びI4が抽出されるが、この時点で、エリアI32以外のエリアには未処理のノードが存在していないため、ステップ1504において未処理のノードが存在しないと判定され、ステップ1506において、抽出したエリアI1等のレベルが除外エリアレベルと同じ「2」であると判定され、ステップ1507において未処理のノードが存在すると判定される。そして、除外エリアレベルが「3」に設定され(ステップ1509)、前回処理されたセンサーノードを含むエリアI31以外のエリアI32、I33及びI34が抽出され(ステップ1503)、それらのうち未処理のセンサーノードを含むI32が選択され(ステップ1301)、処理が実行される(ステップ1306)。
ここで、本発明の実施形態の効果を説明する。
従来、M2Mビジネスを行う事業者は、通信網のボトルネックで大量のセンサーノードをきめ細かに制御することが出来ず、センサーノードからの自律発呼の方式によるサービスに限定、もしくは、センター側からの限られた処理しか行うことができず、サービス内容に限界があった。しかし、本実施形態によれば、センター側からこれまで以上に多数のセンサーノードに対して制御が可能になることによって、新たな付加価値サービスを創出することが可能になる。
またキャリア網は、通常の音声電話、スマートフォンなどのパケット通信も常にサービスしており、M2Mネットワークを現状のキャリア網にそのまま適応すると、負荷の高い基地局及び通信設備にさらなる負荷をかけることになる。本方式を用いることで、センサーノードの分布とその端末の応答時間から設備の負荷を測ることができ、擬似的に基地局及び通信設備の負荷の分散を図ることができる。
さらにセンサーノードの分布を定期的に見直すことで、センサーノードが移動体である場合にも適応が可能となり、他の利用者の分布及び利用頻度にも対応が可能となる。
以下、上記の効果の詳細について、実施形態と対比しながら説明する。
図12及び図13の処理によって、前回処理したセンサーノードを含むレベル1のエリア及びそれに隣接するレベル1のエリアの外のエリアに属するセンサーノードが、次に処理するセンサーノードとして選択される。これは、前回処理したセンサーノードからの距離が少なくともレベル1のエリアのサイズ以上であるセンサーノード(図5、図22等の例では、前回処理したセンサーノードから√10km2以上離れているセンサーノード)が、優先的に、次に処理するセンサーノードとして選択されることを意味する。
一般に、基地局108の正確な所在地及びそのカバーエリアは、モバイルネットワーク105を提供する無線通信事業者以外の者には知り得ない。しかし、カバーエリアのおおよその大きさを推定し、図5等に示すようにその大きさと同等の大きさのエリアを設定した場合、それぞれが隣接する二つのエリアに属する二つのセンサーノードは実際には一つの基地局108のカバーエリアに属する可能性があるが、それぞれが隣接しない二つのエリアに属する二つのセンサーノードは一つの基地局108のカバーエリアに属する可能性が低い。このため、前回処理したセンサーノードを含むレベル1のエリア及びそれに隣接するレベル1のエリアの外のエリアに属するセンサーノードを、次に処理するセンサーノードとして選択することによって、センサーノードへの要求を同じ基地局から連続して送信することが防止される。これによって通信が地理的に分散され、特定の基地局に負荷が集中することを防ぐことができる。
さらに、図11〜図13の処理によれば、より細かく分割されたエリアが優先的に選択され、同じレベルのエリアの中では、より多くの未処理のセンサーノードを含むエリアが優先的に選択される。図9及び図10の処理の結果、エリアがより細かく分割されているほど、そのエリアにおけるセンサーノードの密集度が高いといえる。また、同じレベルのエリアであっても、多くの未処理のセンサーノードを含んでいるほど、未処理のセンサーノードの密集度が高い。
すなわち、より低いレベルの(すなわちより細かく分割された)エリアを優先的に選択することは、センサーノードの密集度が高い地域のセンサーノードを、次に処理するセンサーノードとして優先的に選択することを意味する。また、より多くの未処理のセンサーノードを含むエリアのセンサーノードを優先的に選択することは、未処理のセンサーノードの密集度が高い地域のセンサーノードを、次に処理するセンサーノードとして優先的に選択することを意味する。
センサーノードの密集度を考慮せずにセンサーノードに対する処理順序を決定した場合、処理が進行するにつれて未処理のセンサーノードが狭い地域に集中して残ってしまう可能性がある。その場合、それらの未処理のセンサーノードに対する処理を地理的に十分に分散させることが困難になる。上記のようにセンサーノードの密集度を考慮して処理順序を決定することによって、未処理のセンサーノードが狭い地域に集中して残ることを防ぎ、最後まで処理を地理的に十分に分散させることができる。
上記のように密集度を考慮した処理を行ってもなお、狭い地域に未処理のセンサーノードが集中して残ってしまう可能性があるが、その場合でも、本発明の実施形態によれば、可能な限り処理を地理的に分散することができる。具体的には、前回処理されたセンサーノードを含むレベル1のエリアに隣接するレベル1のエリア以外のエリアには未処理のセンサーノードが残っていないが、隣接するレベル1のエリアには残っている場合、前回処理されたセンサーノードを含むレベル1のエリアと、それに隣接するレベル1のエリアとの間で処理が分散される(図14)。複数の未処理のセンサーノードがレベル1の一つのエリアのみに残り、かつ、そのレベル1のエリアが下位のレベルのエリアに分割されている場合には、下位のレベルのエリア間で処理が分散される(図15A)。これらの場合にも可能な限り距離の離れたセンサーノードが選択される(ステップ1302)。下位のレベルのエリアと実際の基地局のカバーエリアとが概ね対応していれば、上記の処理によって、処理を地理的に分散できる可能性が増す。
また、エリアの分割は単位時間当たりの通信量の上限に基づいて行われるため(図10)、上記のような処理の分散によって、一つの基地局108を使用したセンター設備104からの通信が上記の上限を超えることが防止される。
レスポンスタイムが速い群に分類されたセンサーノードについては、対応する基地局に余裕がある可能性が高いため、それらを他のセンサーノードと区別して処理することによって、効率的に処理を進めることができる。
なお、本発明は上記した実施形態に限定されるものではなく、様々な変形例が含まれる。ここで、本発明の実施形態の代表的な変形例について説明するが、本発明はこれらの変形例にも限定されない。
上記の実施形態のセンサーノード103は、端末装置の一例であり、任意の種類の端末装置によって置き換えることができる。各端末装置は、ネットワークを介してセンター設備104と通信できるものである限りどのような種類のものであってもよく、例えばセンサーを備えなくてもよい。センター設備104は、上記の方法で決定した順序で各端末装置に順次要求を送信し、各端末装置からの応答を受信する。各端末装置からの応答は、要求に応じたものであればどのような種類のものよく、例えばセンサーデータを含まなくてもよい。
上記の実施形態はセンサーノード103が基地局108との間で無線通信を行う例を示しているが、センサーノード103が有線通信を行ってもよい。その場合、基地局108はセンサーノード103とセンター設備104との有線通信を中継する中継装置又はそれに類するものである。各基地局108にカバーエリア(少なくとも、おおよそのカバーエリア)が存在し、そのおおよその大きさが推定可能であれば、本発明を適用することができる。
上記の実施形態は、各基地局108の所在地が不明であり、したがって各基地局108のカバーエリアの正確な位置及び大きさが不明である例を示しているが、それらが明確である場合にも、本発明を適用することができる。この場合、図5等に示したエリアの分割を行う必要がなく、分割エリア位置管理テーブル201に実際のカバーエリアに関する情報が登録される。また、この場合、基地局が増設されている可能性を考慮する必要がないため、図9等に示したエリアの細分化を行う必要もない。例えば、全てのカバーエリアを、それぞれの大きさにかかわらず、レベル1のエリアとして本実施形態の処理を行ってもよい。カバーエリアが明確であっても、その境界付近のセンサーノード103はどちらのエリアに所属しているか不明である場合がある。この場合にも、前回処理されたセンサーノード103の次に処理されるセンサーノード103を、前回のエリアと隣接しないエリアから選択することによって、それらの二つのセンサーノード103間に、少なくとも隣接するエリアのサイズ以上の距離が確保されるため、一つの基地局への連続した要求の送信を確実に回避することができる。
また、上記の実施形態では、あるセンサーノード103が選択されると、そのセンサーノード103に対する処理が実行され、その結果を判定した後に、次のセンサーノード103が選択される(例えば図12及び図13参照)。しかし、このような手順は一例であり、選択されたセンサーノード103の処理が実行される前に次のセンサーノード103が選択されてもよい。例えば、センター設備104は、図11〜図15Bに示した方法によって予め全てのセンサーノード103の処理順序を決定し、その後、決定した順序で各センサーノード103への処理を実行してもよい。
また、上記した実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換えることが可能であり、また、ある実施形態の構成に他の実施形態の構成を加えることも可能である。また、各実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によってハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによってソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、不揮発性半導体メモリ、ハードディスクドライブ、SSD(Solid State Drive)等の記憶デバイス、または、ICカード、SDカード、DVD等の計算機読み取り可能な非一時的データ記憶媒体に格納することができる。
また、図面には、実施形態を説明するために必要と考えられる制御線及び情報線を示しており、必ずしも、本発明が適用された実際の製品に含まれる全ての制御線及び情報線を示しているとは限らない。実際にはほとんど全ての構成が相互に接続されていると考えてもよい。