以下、本発明の一態様として開示するデータ送信システムについて説明する。
図1は、開示するデータ送信システム1の一実施例におけるシステム構成例を示す図である。
データ送信システム1は、通信ユニット11、ゲートウェイ装置(GW1、GW2、GW3)12、HUB装置またはルータ装置(ハブ/ルータ)13、およびサーバ装置(サーバ)14を有する。
通信ユニット11は、各種計測データを収集する装置各々に備えられ、予め設定された期間毎に計測値を含む検針データを取得または生成し、マルチホップ通信により他の通信ユニット11を介してゲートウェイ装置12へ転送する。通信ユニット11は、例えば、家庭、店舗等に設置される電力メータに組み込まれる専用ハードウェアとして実施することができる。
ゲートウェイ装置(GW1、GW2、GW3)12は、各通信ユニット11から受信した検針データをハブ/ルータ13を介してサーバ装置14へ送信する。なお、ゲートウェイ装置12−ハブ/ルータ13−サーバ装置14間の通信は無線または有線を問わない。
なお、ゲートウェイ装置12、ハブ/ルータ13、サーバ装置14は既知の装置で実施可能である。
図2は、データ送信システム1における各通信ユニットの接続関係および経路情報の管理例を示す図である。
データ送信システム1の各通信ユニット11は、アドホックネットワークによりデータ送信を行うため、ルーティング情報としてゲートウェイ管理テーブル15を保持している。
ゲートウェイ管理テーブル15は、データ送信の最終宛先となる各ゲートウェイ装置12への経路を示す情報を記憶する記憶部であり、各ゲートウェイ装置12への経路毎に、その経路において次のデータ送信先となる隣接宛先(ネクストホップアドレス)が記録されている。ゲートウェイ管理テーブル15は、ゲートウェイ装置12毎の経路から、データ送信に使用する経路を管理できるようにしている。ゲートウェイ管理テーブル15は、例えば、検針データを定期送信する主たるゲートウェイ装置(GW1)12を最終宛先とする第1の経路、予備となるゲートウェイ装置(GW2)12を最終宛先とする第2の経路が記録される。
例えば、通信ユニットA11が保持するGW管理テーブル15には、第1の経路として、最終宛先にゲートウェイ装置(GW1)12を示す“GW1”および隣接宛先に通信ユニットB11を示す“UNIT B”が記録され、第2の経路として、最終宛先にゲートウェイ装置(GW2)12を示す“GW2”および隣接宛先に通信ユニットC11を示す“UNIT C”が記録されている。
また、通信ユニットS11が保持するGW管理テーブル15には、第1の経路として、最終宛先にゲートウェイ装置(GW1)12を示す“GW1”および隣接宛先に通信ユニットA11を示す“UNIT A”が記録され、第2の経路として、最終宛先にゲートウェイ装置(GW2)12を示す“GW2”および隣接宛先に通信ユニットA11を示す“UNIT A”が記録されている。
ゲートウェイ管理テーブル15により、第1の経路(主たる経路)のゲートウェイ装置(GW1)12が検針データの送信先として不適切であると分かれば、即座に第2の経路(予備的な経路)によりゲートウェイ装置(GW2)12へ検針データを送信することができる。
ゲートウェイ装置12は、サーバ装置14への送信処理を行うアプリケーションがサーバ装置14との通信異常を検出した場合に、自分のMACアドレスを設定した「GW通信断通知」を配下の通信ユニット11に対してブロードキャストし、通信ユニット11に対し、他のゲートウェイ装置12への検針データ再送を要求する。
各通信ユニット11は、検針データの再送要求に備えるため、自身が保持しているGW管理テーブル15に記録された第1の経路と第2の経路のそれぞれの「隣接宛先」に設定されている通信ユニットが同一であるか異なるかをチェックして検針データの蓄積処理の要否を判定する。通信ユニット11は、GW管理テーブル15の第1の経路と第2の経路の「隣接宛先」の通信ユニット(ネクストホップアドレス)が異なっている場合のみ、他の通信ユニット11のいずれにも蓄積されていない検針データの複製・蓄積を実施する。
図2に示す例では、通信ユニットS11が保持するGW管理テーブル15の第1の経路と第2の経路の「隣接宛先」は“UNIT A”で同一であるので、通信ユニットS11は、自身の検針データsを蓄積しない。
一方、通信ユニットA11が保持するGW管理テーブル15の第1の経路と第2の経路の「隣接宛先」は“UNIT B”と“UNIT C”で異なっているので、通信ユニットA11は、自身の検針データaと通信ユニットS11から受信した検針データsを複製して蓄積しておく。
図2に示すGW管理テーブル15は、第1の経路、第2の経路までしか存在しない構成例であるが、ネットワーク内に3台以上のゲートウェイ装置12が存在する場合には、存在するゲートウェイ装置12の数だけ、各ゲートウェイ装置12を最終宛先とする経路が生成されてGW管理テーブル15に記録される。ただし、検針データ蓄積処理の要否判定を行う対象は、GW管理テーブル15の主たる経路である第1の経路および予備の経路の最優先(第1位)である経路のみである。なお、経路の優先順位は、例えば、経路の通信品質に基づいて決定してもよい。
ネットワーク内にゲートウェイ装置12が3台以上存在しているケースで、各通信ユニット11は、ゲートウェイ装置(GW1)12からの「GW通信断通知」を受信した場合には、GW管理テーブル15の経路の優先順位の入れ替えを行うようにしてもよい。例えば、3台のゲートウェイ装置(GW1、GW2、GW3)12の中から、「GW通信断通知」を送信してきたゲートウェイ装置(GW1)を最終宛先としている経路を第3(最下位)の経路とし、第2の経路および第3の経路を、それぞれ、第1の経路、第2の経路として、定期送信における最終宛先をゲートウェイ装置(GW2)12、予備の最終宛先をゲートウェイ装置(GW3)12とする。
このように、通信不可となったゲートウェイ装置12への経路の順位を下げて経路の優先順位を入れ替えることにより、仮に複数台のゲートウェイ装置12−サーバ装置14間で障害が発生した場合でも、データ送信システム1は、以下に説明する検針データの分散蓄積および再送を実行することが可能となる。
図3は、データ送信システム1のネットワークにおけるデータ分散保持の例を示す図である。
図3に示すネットワークにおいて、四角形は通信ユニット11またはゲートウェイ装置12を示し、角丸矩形は各通信ユニット11が取得または生成する検針データを示す。四角形および角丸矩形内の英字は、通信ユニット11を識別する情報であり、例えば、内部に“A”と記された四角形は、通信ユニットAを表し、内部に“a”と記された角丸矩形は、通信ユニットA11で取得または生成された検針データaを表す。
図3に示すネットワークで、ゲートウェイ装置(GW1)12の配下となる通信ユニット11の一部として通信ユニットA、C、G、K、L、Sがあるとする。
通信ユニットC、K、L、Sは、GW管理テーブル15の第1および第2の経路の「隣接宛先」が同一となるため、検針データの蓄積を行わない。
通信ユニットAは、GW管理テーブル15の第1および第2の経路の「隣接宛先」が異なるため(GW1、UNIT G)、自身の検針データaおよび受信した検針データc、k、l、sを蓄積する。
通信ユニットGは、GW管理テーブル15の第1および第2の経路の「隣接宛先」が異なるため(UNIT A、UNIT I)、検針データを蓄積するが、受信した検針データf、n、r、o、p、qは既に通信ユニットFで蓄積されているので、自身の検針データgのみを蓄積する。
図3に示すように、各通信ユニット11が検針データを分散して保持している状態において、ゲートウェイ装置(GW1)12からの「GW通信断通知」を受信した全通信ユニット11が、受信した「GW通信断通知」を配下の通信ユニット11へブロードキャストする。ここで、各通信ユニット11は、「GW通信断通知」を通知したゲートウェイ装置(GW1)12がGW管理テーブル15の第1の経路の最終宛先と一致する場合に、データ再送処理を実行する。データ再送処理では、通信ユニット11は、保持している全検針データを、GW管理テーブル15の第2の経路の最終宛先であるゲートウェイ装置(GW2)12へ送信する。通信ユニット11は、複数の検針データを連結して1つの再送用データとして送信してもよい。
通信ユニット11は、保持しているデータを次回の検針データ送信処理の直前に削除する。
従来のデータ送信システム90においては、「GW通信断通知」を受信した各通信ユニット91は、その通知を更にブロードキャストすると共に、それがゲートウェイ装置(GW1)92からの通知であれば、自身の検針データをゲートウェイ装置(GW2)92に向けて送信する、といった動作が想定されていた。しかし、この従来の方法では、検針データの収集を達成することはできるが、初めにゲートウェイ装置(GW1)92へ送信された検針データは特に利用されず、送信元の各通信ユニット91において、送信前後に再送用のコピーを作成する程度である。
これに対し、開示するデータ送信システム1では、各通信ユニット11が、ゲートウェイ装置(GW1)12へ送信する検針データを転送途中で複写・蓄積しておき、再送信が必要となった際に利用できるようにする。データ送信システム1では、全通信ユニット11が自発の検針データを蓄積するのではなく、データ蓄積が必要と判定した通信ユニット11のみが自身の検針データと中継した他の通信ユニット11の検針データを重複することなく記憶する。このように、データ送信システム1は、ネットワーク内に検針データを分散して保持することにより、再送信時の通信トラフィックを低減することが可能となる。
図3に示す検針データの保持例では、ネットワーク内の12台/20台=60%の通信ユニット11が、データ再送を実行する必要が無くなっている。さらに、ゲートウェイ装置12から遠い末端の通信ユニット11の検針データほど、自装置よりもゲートウェイ装置12へ近い通信ユニット11で記憶される状況となる。そのため、データ再送が必要になった場合にも、従来に比べて転送のホップ数を大きく軽減することが可能となる。
加えて、アドホックネットワークでは、通信経路が常に最適な形になるようにルーティングテーブルが動的に更新されるため、各通信ユニット11のGW管理テーブル15も動的に更新される。したがって、検針データを記憶する役目を担う通信ユニット11も、その都度変化することになり、特定の通信ユニット11のみに、データ蓄積処理が集中してしまう事態を避けることが可能となる。
以下、データ送信システム1の通信ユニット11の機能をより詳細に説明する。
図4は、通信ユニット11の機能ブロック構成例を示す図である。
各通信ユニット11は、通信制御部16、データ管理部17を備える。
通信制御部16は、マルチホップ通信を制御する処理部であり、GW管理テーブル15の他、データ送信部161、データ受信部162、蓄積判定部163、再送判定部164を備える。
データ送信部161は、GW管理テーブル15の「隣接宛先」に記録された他の通信ユニット11、ゲートウェイ装置12へ検針データを送信する。
データ受信部162は、他の通信ユニット11から送信された検針データ、データ再送要求(「GW通信断通知」)等を受信する。
蓄積判定部163は、受信した検針データの蓄積フラグをチェックする。蓄積フラグは、その検針データがネットワーク内の通信ユニット11のいずれかで蓄積済みであるか否かを示し、“オフ(未蓄積)”または“オン(蓄積済み)”が設定される。蓄積判定部163は、蓄積フラグがオフであれば、検針データをデータ管理部17へ渡し、蓄積フラグがオンであれば、検針データをデータ送信部161に渡す。
再送判定部164は、ゲートウェイ装置12からの「GW通信断通知」が受信された場合に、検針データの再送処理を実行するか否かを判定する。再送判定部164は、「GW通信断通知」を通知したゲートウェイ装置12がGW管理テーブル15の第1の経路の最終宛先と一致、かつ、データ蓄積部174に検針データが記憶されている場合に、検針データの再送処理の実行を決定する。
データ管理部17は、メータの計測値を含む検針データを管理する処理部であり、データ取得部171、蓄積要否判定部172、蓄積処理・フラグ制御部173、データ蓄積部174を備える。
データ取得部171は、メータの計測値を含む検針データを取得または生成し、初期設定の“オフ”を設定した蓄積フラグを検針データに付加する。
蓄積要否判定部172は、GW管理テーブル15の第1および第2の経路の「隣接宛先」を参照し、「隣接宛先」に記録されたアドレスが異なっている場合に、蓄積処理が必要と判定する。
蓄積処理・フラグ制御部173は、検針データを複写してデータ蓄積部174へ保存し、保存した検針データの蓄積フラグにオンを設定する。
データ蓄積部174は、検針データを記憶する。
次に、通信ユニット11の処理の流れを説明する。
図5は、通信ユニット11における自発処理の処理フロー例を示す図である。
自発処理は、各通信ユニット11が自装置で得た検針データを所定のゲートウェイ装置12へ送信する処理である。
各通信ユニット11では、データ取得部171が、定期検針を行う所定の時間または契機毎に、メータの計測値を含む検針データを取得し、または自らメータの計測値を読み取って検針データを生成し、検針データに蓄積フラグを付加しオフ(未蓄積)に設定する(ステップS1)。
蓄積要否判定部172は、GW管理テーブル15の第1の経路と第2の経路の「隣接宛先」に設定されているMACアドレスが相違するかを判定する(ステップS2)。「隣接宛先」に設定されているMACアドレスが相違する場合には(ステップS2のY)、蓄積処理・フラグ制御部173が、検針データの蓄積フラグをオンに設定し(ステップS3)、検針データを複製してデータ蓄積部174へ格納し(ステップS4)、ステップS5の処理へ進む。
「隣接宛先」に設定されているMACアドレスが同一である場合には(ステップS2のN)、ステップS5の処理へ進む。
ステップS5の処理で、データ管理部17は、検針データの送信を通信制御部16へ依頼し、通信制御部16のデータ送信部161が、GW管理テーブル15の第1の経路に従って検針データの送信処理を行う。
図6は、通信ユニット11における中継処理の処理フロー例を示す図である。
中継処理は、各通信ユニット11が、他の通信ユニット11から受信した検針データをその最終宛先に応じた転送先へ送信する処理である。
各通信ユニット11では、データ受信部162が下位の通信ユニット11からの検針データを受信する(ステップS11)。
蓄積判定部163は、受信した検針データの蓄積フラグがオフであるかを判定する(ステップS12)。検針データの蓄積フラグがオフであれば(ステップS12のY)、蓄積判定部163は、GW管理テーブル15の第1および第2の経路の「隣接宛先」のMACアドレスが相違するかを判定する(ステップS13)。
「隣接宛先」のMACアドレスが相違する場合には(ステップS13のY)、蓄積処理・フラグ制御部173が、受信した検針データの蓄積フラグをオンに設定し(ステップS14)、受信した検針データを複製してデータ蓄積部174へ格納し(ステップS15)、ステップS16の処理へ進む。
検針データの蓄積フラグがオフでない場合(ステップS12のN)、もしくは、GW管理テーブル15の第1および第2の経路の「隣接宛先」のMACアドレスが同一である場合(ステップS13のN)、ステップS16の処理へ進む。
ステップS16の処理で、通信制御部16のデータ送信部161が、GW管理テーブル15の第1の経路に従って検針データの送信処理を行う。
図7は、通信ユニット11におけるデータ再送処理の処理フロー例を示す図である。
各通信ユニット11では、データ受信部162がゲートウェイ装置(GW1)12からの「GW通信断通知」を受信する(ステップS21)。
再送判定部164は、「GW通信断通知」を通知したゲートウェイ装置12のMACアドレスがGW管理テーブル15の第1の経路の最終宛先と一致するかをチェックする(ステップS22)。「GW通信断通知」のMACアドレスがGW管理テーブル15の第1の経路の最終宛先と一致すれば(ステップS22のY)、再送判定部164は、データ蓄積部174に検針データが記憶されているかをチェックする(ステップS23)。
データ蓄積部174に検針データが記憶されていれば(ステップS23のY)、データ送信部161が、データ蓄積部174に記憶されている全ての検針データを集約して再送用検針データを生成し、GW管理テーブル15の第2の経路に従って再送用検針データの送信を行い(ステップS24)、「GW通信断通知」を転送する(ステップS25)。
「GW通信断通知」のMACアドレスがGW管理テーブル15の第1の経路の最終宛先と一致しない場合(ステップS22のN)またはデータ蓄積部174に検針データが記憶されていない場合(ステップS23のN)、データ送信部161は、「GW通信断通知」を転送する(ステップS25)。
以下、図8〜図12を用いて、データ送信システム1のデータの分散保持およびデータ再送のより具体的な実施例を説明する。
本実施例において、データ送信システム1は、10台の通信ユニット11(A、B、C、D、E、F、G、H、I、J)および2台のゲートウェイ装置12(GW1、GW2)を備えているとする。なお、図示しないが、データ送信システム1は、ゲートウェイ装置12と接続するハブ/ルータ13、サーバ装置14を備えている。
まずデータ送信システム1において、定期検針時間に達した通信ユニット11は、自身の検針データを作成する。
図8は、データ送信システム1において、各通信ユニット11が検針データ送信開始の直前状態の一例を示す図である。
通信ユニット(A、B、C、D、E、F、G、H、I、J)11は、それぞれ、自発処理により、検針データ(a、b、c、d、e、f、g、h、i、j)を作成している。
各通信ユニット11の通信制御部16が、GW管理テーブル15を確認し、ルーティングテーブルに従って検針データの送信・転送処理を行う。
検針データの送信・転送処理の際に、データ管理部17が、GW管理テーブル15の第1および第2の経路の「隣接宛先」を参照し、自身の蓄積処理の要否の判定を行う。データ管理部17は、自身での蓄積処理が不要と判定した場合には、作成した検針データの蓄積フラグを“オフ(未蓄積)”のままにしておき、蓄積処理が必要と判定した場合には、作成した検針データの複製をデータ蓄積部174に保存し、蓄積フラグに“オン(蓄積済み)”を設定する。
その後、通信制御部16が、GW管理テーブル15の第1の経路の「最終宛先」のゲートウェイ装置(GW1)12へ向けて検針データを送信する。
図9は、データ蓄積判定の例を示す図である。
通信ユニットD11では、蓄積要否判定部172が、GW管理テーブル15の第1の経路(ゲートウェイ装置(GW1)12への経路)と第2の経路(ゲートウェイ装置(GW2)12への経路)の「隣接宛先」が共に通信ユニットA(同一)であって、蓄積処理は不要であると判定する。したがって、通信ユニットD11では、検針データdの蓄積を行わずに、データ送信部161が、GW管理テーブル15の第1の経路のゲートウェイ装置(GW1)12を宛先として、蓄積フラグがオフの検針データdを隣接宛先の通信ユニットA11に送信する。
通信ユニットA11では、データ受信部162が検針データdを受信すると、蓄積判定部163が、検針データdの蓄積フラグがオフであるので蓄積判定を行う。蓄積判定部163が、GW管理テーブル15の第1および第2の経路の「隣接宛先」が通信ユニットB、通信ユニットCで異なっているので、蓄積処理が必要と判定する。
この判定を受けて、蓄積処理・フラグ制御部173が、検針データdを複製してデータ蓄積部174に格納し、検針データdの蓄積フラグにオンを設定する。その後、データ送信部161が、蓄積フラグがオンの検針データdを、GW管理テーブル15の第1の経路に従って通信ユニットB11に転送する。
通信ユニットB11では、データ受信部162が検針データdを受信すると、蓄積判定部163が、検針データdの蓄積フラグがオンであるので、蓄積処理は不要であると判定する。したがって、蓄積処理を行わずに、データ送信部161が、GW管理テーブル15の第1の経路に従って、蓄積フラグがオンの検針データdをゲートウェイ装置(GW1)12宛に転送する。
通信ユニットH11では、通信ユニットD11と同様、蓄積要否判定部172が、GW管理テーブル15の第1および第2の経路の「隣接宛先」が共に通信ユニットG(同一)であるので、蓄積処理不要と判定する。したがって、蓄積処理を行わずに、データ送信部161が、蓄積フラグがオフの検針データhを通信ユニットG11宛に送信する。
通信ユニットG11では、データ受信部162が検針データhを受信すると、蓄積判定部163が、検針データhの蓄積フラグがオフであるので、蓄積判定を行う。蓄積判定部163が、GW管理テーブル15の第1および第2の経路の「隣接宛先」が通信ユニットBで同一であるので、蓄積処理は不要であると判定する。したがって、蓄積処理を行わずに、データ送信部161が、蓄積フラグがオフの検針データhを通信ユニットB11宛に転送する。
通信ユニットB11では、データ受信部162が検針データhを受信すると、蓄積判定部163が、受信した検針データhの蓄積フラグがオフであるので、蓄積判定を行う。蓄積判定部163が、GW管理テーブル15の第1および第2の経路の「隣接宛先」がゲートウェイ装置(GW1)、通信ユニットAであって異なるので、蓄積処理要と判定する。
蓄積処理・フラグ制御部173が、検針データhを複製してデータ蓄積部174に蓄積し、検針データhの蓄積フラグにオンを設定する。そして、データ送信部161が、蓄積フラグがオンの検針データhをゲートウェイ装置(GW1)11へ転送する。
図10には、定期送信終了後の複製された検針データの分散保持の例を示す図である。図10に示す点線の角丸矩形は、各通信ユニット11で保持されている複製された検針データを示す。
各通信ユニット11が定期送信時に検針データを送信すると、ゲートウェイ装置(GW1)12宛に検針データa、b、d、e、f、g、h、i、jが送信され、ゲートウェイ装置(GW2)12宛に検針データcが送信されることになる。同時に、ネットワーク上のいくつかの通信ユニット11に、検針データの複製データが分散して保持される状態となる。
ここで、ゲートウェイ装置(GW1)12とサーバ装置14間に通信障害が発生し、ゲートウェイ装置(GW1)12が、受信した検針データをサーバ装置14に送信できなかったとする。所定回数のリトライ後、ゲートウェイ装置(GW1)12は、ネットワーク上の全通信ユニット11に対してデータ再送要求を示す「GW通信断通知」を送信する。
図11は、「GW通信断通知」の送信例を示す図である。
ゲートウェイ装置(GW1)12が自装置のMACアドレスを含む「GW通信断通知」をブロードキャストすると、「GW通信断通知」を受信した各通信ユニット11は、「GW通信断通知」を他の通信ユニット11へ転送してゆく。
ゲートウェイ装置(GW1)12からの「GW通信断通知」を受信すると、ゲートウェイ装置(GW1)12宛の検針データを蓄積している通信ユニット11は、データ再送信処理を行う。
図12は、蓄積している検針データの送信例を示す図である。
通信ユニット(A、B、E、F)11では、データ管理部17がデータ蓄積部174に蓄積している全ての検針データをまとめた再送用検針データを生成する。蓄積処理・フラグ制御部173は、再送用検針データの蓄積フラグにオフを設定する。これにより、他の通信ユニット11で再送用検針データが蓄積されることを防ぐことができる。
通信制御部16のデータ送信部161は、GW管理テーブル15の第2の経路に従って、ゲートウェイ装置(GW2)12宛に再送用検針データを送信する。例えば、通信ユニットB11では、蓄積している検針データb、g、hをまとめた再送用検針データを送信する。なお、通信ユニットB11は、複製した検針データを個別に送信することができるが、データ蓄積部174に蓄積している全検針データを1つの再送用データにして送信することが好ましい。
その後、データ蓄積部174に複製の検針データを蓄積している各通信ユニット11は、次回の定期送信時の直前に、データ蓄積部174の検針データを削除する。
または、サーバ装置14への検針データ送信に成功したゲートウェイ装置12、すなわち通常の定期送信時にはゲートウェイ装置装置(GW1)12もしくはデータ再送実行時にはゲートウェイ装置(GW2)12が、「送信完了通知」を全通信ユニット11へ発行することにより、ネットワーク上の各通信ユニット11が「送信完了通知」を受信したタイミングでデータ蓄積部174の検針データを削除するようにしてもよい。
図13および図14は、上記で説明したデータ送信および再送信におけるシーケンス例を示す図である。
図13および図14に示すシーケンス例では、データ送信システム1の一部の通信ユニット11についての処理シーケンスを示している。
図13に示すように、定期送信時に、通信ユニットC11の検針データcはゲートウェイ装置(GW2)12へ送信される。通信ユニットD11の検針データdは、中継する通信ユニットA11で蓄積されてゲートウェイ装置(GW1)12へ転送される。通信ユニットH11の検針データhは、通信ユニットG、Bで中継され、経路が分岐する通信ユニットB11で蓄積されてゲートウェイ装置(GW1)12へ転送される。通信ユニットG11の検針データgは、中継する通信ユニットB11で蓄積されてゲートウェイ装置(GW1)12へ転送される。
ゲートウェイ装置(GW1)12は、配下の通信ユニット11から検針データを受信した後所定の時間(数分間)待機して、サーバ装置14への送信処理を開始する。サーバ装置14とのTCPコネクション確立失敗(待機時間=10秒)が所定回数を超えて生じた後、ゲートウェイ装置(GW1)12は、「GW通信断通知」を全通信ユニット11にブロードキャストしてデータ再送を要求する。
図14に示すように、「GW通信断通知」を受信すると、通信ユニットB11および通信ユニットA11は、「GW通信断通知」を発行したゲートウェイ装置(GW1)12がGW管理テーブル15の第1の経路の最終宛先と一致かつ蓄積する検針データの存在から、再送処理の実施を決定する。そして、通信ユニットB11が、蓄積していた3件分の再送用検針データ(再送データ(b、g、h))を、通信ユニットA11が蓄積していた2件分の再送用検針データ(再送データ(a、d))を、第2の経路の最終宛先であるゲートウェイ装置(GW2)12へ送信する。
「GW通信断通知」を受信した通信ユニットC11は、「GW通信断通知」を発行したゲートウェイ装置(GW1)12がGW管理テーブル15の第1の経路の最終宛先と一致しないので、再送要求を無視し、再送処理を実行しない。
ゲートウェイ装置(GW2)12は、通信ユニット11から再送用検針データを受信すると、サーバ装置14への送信処理を開始し、TCPコネクション確立により、受信した再送用検針データをサーバ装置14へ送信する。これにより、サーバ装置14は、全通信ユニット11の検針データを収集することができる。
図15は、データ送信システム1の通信ユニット11のハードウェア構成例を示す図である。
通信ユニット11は、専用ハードウェアとしての実施の他、CPU101、主記憶部(DRAM)102、補助記憶部(フラッシュメモリ)103、ネットワークカード104が内部ネットワーク等で接続された情報処理端末100として実施することができる。
通信ユニット11を実施する情報処理端末100では、データ管理部17の処理を実行する実行プログラムおよびその処理に必要な情報を補助記憶部103が記憶され、実行プログラムが主記憶部102にロードされて処理を実行する。データ蓄積部174は、補助記憶部103により実現される。通信制御部16およびGW管理テーブル15は、これらの特定の処理を実行するように構成されたネットワークカード104により実現される。
以上説明したように、データ送信システム1では、再送のための検針データをネットワーク上の複数の通信ユニットで分散して保持することができ、各通信ユニット11の処理負荷および資源の使用量を分散することができる。
さらに、データ送信システム1では、検針データを保持する通信ユニット11のみが実際にデータ再送処理を行い、その他の通信ユニット11はデータ再送処理が不要となる。
図12に示すように、実際に再送処理を行う通信ユニット11は通信ユニットA、B、E、Fであり、その他の通信ユニットD、G、H、I、Jは検針データを送信する必要がない。したがって、ネットワーク上に流れるフレーム数を減らし、再送時の通信トラフィックを抑制することができる。
なお、従来のデータ送信システム90では、各通信ユニット91で検針データを取得または作成する自発処理の場合には、検針データは直ちにアドホック通信を制御するアドホックエンジン(AE)へ渡り、転送される。また、検針データの中継処理では、配下の通信ユニット91からの検針データの受信処理、および上位の通信ユニット91またはゲートウェイ装置92への送信処理は、AE内のみで行われる。したがって、検針データを管理するアプリケーション側は、自発処理の場合には、経路情報によるゲートウェイ装置92への送信依頼をAEへ行うのみであり、実際に送信先となる相手を認識できない。また、中継処理の場合には、検針データを中継したこと(下位の通信ユニットから受信したこと)すら認識できない。
従来のデータ送信システム90では、サーバ装置94が検針データを受信できなかった場合、あるいは、ゲートウェイ装置92からサーバ装置94へ検針データを送信できなかった場合には、サーバ装置94またはゲートウェイ装置92によって配下の通信ユニット91に対し検針データの再送信が要求される。しかし、各通信ユニット91からの検針データの再送は、ゲートウェイ装置92に対するユニキャスト送信で実施されるため、再送が必要になった検針データ(再送データ)が多いほど、アドホックネットワークに大きな負荷がかかることになる。また、再送データを集約するゲートウェイ装置92および再送データの送信・転送を行う通信ユニット91の処理負荷も増加する。
これに対し、開示するデータ送信システム1では、まず、再送処理を実施する通信ユニット11の台数を少なくすることができ、ゲートウェイ装置12−通信ユニット11間の通信回数が大幅に削減される。
さらに、複数の検針データをまとめて送信することができ、従来では1件の検針データに対して1件ずつ付加していた制御情報を集約することができ、通信トラフィックの増加を抑えることが可能になる。
さらに、各検針データのゲートウェイ装置12への送達にかかる転送ホップ数も軽減されるため、検針データの再収集に掛かる所要時間も短縮されることになる。