(57)【特許請求の範囲】
【請求項１】
通信量の上限値に関する情報を記憶する記憶部と、
送信されたデータのデータサイズと当該データを実際に送信するのに要した実質通信量とに基づいて、係数を算出する係数算出部と、
前記係数算出部により算出された前記係数及び未送信データのデータサイズに基づいて求められる推定通信量と、当該未送信データの送信前に行われたデータ送信に要した実質通信積算量とに基づいて、当該未送信データの送信が完了した時点における通信量の積算値を推定した推定通信積算量を算出する推定通信積算量算出部と、
前記記憶部により記憶されている前記上限値に関する情報と、前記推定通信積算量算出部により算出された推定通信積算量とに基づいて、前記未送信データを送信するか否かを判定する判定部と
を備える通信装置。
【請求項２】
前記係数算出部は、データの送信元装置ごとに前記係数を算出し、
前記推定通信積算量算出部は、前記送信元装置ごとに前記推定通信積算量を算出する
請求項１記載の通信装置。
【請求項３】
前記係数算出部は、前記係数の算出時期を所定の条件に基づいて変更する
請求項１または２に記載の通信装置。
【請求項４】
前記判定部によって前記未送信データを送信しないと判定された場合には、自装置以外の通信装置とデータの送信元装置へのデータ中継を交代するための処理を行う交代処理部を備える請求項１ないし３のいずれか１項に記載の通信装置。
【請求項５】
自装置の前記係数算出部によって算出された前記係数に基づいて前記送信元装置へのデータ中継の優先度を決定する優先度決定部を備える請求項４記載の通信装置。
【請求項６】
送信されたデータのデータサイズと当該データを実際に送信するのに要した実質通信量とに基づいて、係数を算出する係数算出ステップと、
前記係数算出ステップにより算出された前記係数及び未送信データのデータサイズに基
づいて求められる推定通信量と、当該未送信データの送信前に行われたデータ送信に要した実質通信積算量とに基づいて、当該未送信データの送信が完了した時点における通信量の積算値を推定した推定通信積算量を算出する推定通信積算量算出ステップと、
予め記憶されている、通信量の上限値に関する情報と、前記推定通信積算量算出ステップにより算出された推定通信積算量とに基づいて、前記未送信データを送信するか否かを判定する判定ステップと
を備える通信制御方法。
【請求項７】
コンピュータに、
送信されたデータのデータサイズと当該データを実際に送信するのに要した実質通信量とに基づいて、係数を算出する係数算出ステップと、
前記係数算出ステップにより算出された前記係数及び未送信データのデータサイズに基づいて求められる推定通信量と、当該未送信データの送信前に行われたデータ送信に要した実質通信積算量とに基づいて、当該未送信データの送信が完了した時点における通信量の積算値を推定した推定通信積算量を算出する推定通信積算量算出ステップと、
予め記憶されている、通信量の上限値に関する情報と、前記推定通信積算量算出ステップにより算出された推定通信積算量とに基づいて、前記未送信データを送信するか否かを判定する判定ステップと
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信量に制限がある場合の通信制御に関する。
【背景技術】
【０００２】
無線メッシュネットワークは、メッシュポイントと呼ばれる複数の通信装置が無線接続されて構成される。いずれかのメッシュポイントにデータ中継機能を実装してメッシュゲートウェイとして動作させることで、無線メッシュネットワークがＷＡＮ（Wide Area Network）などの外部ネットワークに接続可能となる。この外部ネットワークとして例えばＬＴＥ（Long Term Evolution）やいわゆる３Ｇ（第３世代移動通信システム）などの移動通信網を利用する場合、その利用者に対する移動通信サービスの提供形態としては、通信量制限プランと使い放題プランと呼ばれるものがある。通信量制限プランは、通信量に制限があるが、使い放題プランよりも料金が安い。一方、使い放題プランは、通信量制限プランよりも料金が高いが、通信量の制限はない。通信量制限プランにおいて通信量の上限値を超えてしまった場合には、例えばその後の通信速度が低下したり、通信そのものが不可となる。このため、通信量制限プランでＬＴＥや３Ｇなどの移動通信網を利用する場合、通信量が上限値を超えてしまわないような仕組みが有用となる。このような仕組みが求められる状況としては、例えば、移動通信網の通信サービスを受ける移動通信端末と、パーソナルコンピュータとを接続し、移動通信網の回線を利用してパーソナルコンピュータを他のネットワークに接続する場合や、以下に説明するように無線ネットワークを構成する特定の通信装置が移動通信網を介して他のネットワークと通信する場合などがある。
【０００３】
例えば各メッシュポイントに装備されたセンサが検知した検出値を外部ネットワーク経由でサーバ装置に通知するというようなＭ２Ｍ（Machine to Machine）システムにおいては、その通知処理に要する通信量は一定の期間でおおよそ一定の量となるため、上記の通信量制限プランが採用されることが予想される。この場合、複数のメッシュポイントにメッシュゲートウェイとしての機能を実装しておき、これらのメッシュポイント単位で通信量制限プランをそれぞれ契約しておく。そして、これらの各メッシュポイントの通信積算量が上限値に達しないよう、これら各メッシュポイントの間でメッシュゲートウェイとしての機能を切り替えていく。これにより、この無線メッシュネットワーク全体としては、「契約数×通信量制限プランにおける通信量の上限値」までの量のデータ通信を行うことが可能となる。
【０００４】
一般に、アプリケーションプログラムが実行されることによって送信されるデータのデータサイズは、アプリケーション層において特定し得る。しかし、移動通信網や無線メッシュネットワークの各無線通信区間では、電波干渉や輻輳などにより、再送処理が度々発生する。また、各メッシュポイントと外部ネットワーク上の装置とが例えばＨＴＴＰ（Hyper Text Transfer protocol）などを用いて通信セッションを確立する場合、いわゆるハンドシェイク等の手順において実データ（アプリケーションプログラムによって生成されたデータ）を含まない通信が発生する。こういった理由により、移動通信網において実際に発生する通信量は、アプリケーション層で特定されたデータサイズよりも大きくなる。
【０００５】
このため、移動通信網における通信量を正確に特定するためには、上記の再送等を含めた通信量を計測する必要がある。特許文献１には、移動通信網において回線の利用状況を監視し、通信装置毎に通信量を算出してその通信量が上限値を超えると利用者に通知する仕組みが開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−９４３７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１の仕組みでは、通信量が上限値を超えてから利用者に通知しているため、利用者は上限値を超えたときの制限を少なからず受けてしまうという問題がある。また、移動通信網側で回線の利用状況を監視、蓄積するための大規模な設備投資が必要になってしまうという点も課題となる。
【０００８】
そこで、本発明は、通信量の上限値を超えないような制御を通信装置側で実現することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するため、本発明は、通信量の上限値に関する情報を記憶する記憶部と、送信されたデータのデータサイズと当該データを実際に送信するのに要した実質通信量とに基づいて、係数を算出する係数算出部と、前記係数算出部により算出された前記係数及び未送信データのデータサイズに基づいて求められる推定通信量と、当該未送信データの送信前に行われたデータ送信に要した実質通信積算量とに基づいて、当該未送信データの送信が完了した時点における通信量の積算値を推定した推定通信積算量を算出する推定通信積算量算出部と、前記記憶部により記憶されている前記上限値に関する情報と、前記推定通信積算量算出部により算出された推定通信積算量とに基づいて、前記未送信データを送信するか否かを判定する判定部とを備える通信装置を提供する。
【００１０】
前記係数算出部は、データの送信元装置ごとに前記係数を算出し、前記推定通信積算量算出部は、前記送信元装置ごとに前記推定通信積算量を算出するようにしてもよい。
【００１１】
前記係数算出部は、前記係数の算出時期を所定の条件に基づいて変更するようにしてもよい。
【００１２】
前記判定部によって前記未送信データを送信しないと判定された場合には、自装置以外の通信装置とデータの送信元装置へのデータ中継を交代するための処理を行う交代処理部を備えるようにしてもよい。
【００１３】
自装置の前記係数算出部によって算出された前記係数に基づいて前記送信元装置へのデータ中継の優先度を決定する優先度決定部を備えるようにしてもよい。
【００１４】
また、本発明は、送信されたデータのデータサイズと当該データを実際に送信するのに要した実質通信量とに基づいて、係数を算出する係数算出ステップと、前記係数算出ステップにより算出された前記係数及び未送信データのデータサイズに基づいて求められる推定通信量と、当該未送信データの送信前に行われたデータ送信に要した実質通信積算量とに基づいて、当該未送信データの送信が完了した時点における通信量の積算値を推定した推定通信積算量を算出する推定通信積算量算出ステップと、  予め記憶されている、通信量の上限値に関する情報と、前記推定通信積算量算出ステップにより算出された推定通信積算量とに基づいて、前記未送信データを送信するか否かを判定する判定ステップとを備える通信制御方法を提供する。
【００１５】
また、本発明は、コンピュータに、送信されたデータのデータサイズと当該データを実際に送信するのに要した実質通信量とに基づいて、係数を算出する係数算出ステップと、前記係数算出ステップにより算出された前記係数及び未送信データのデータサイズに基づいて求められる推定通信量と、当該未送信データの送信前に行われたデータ送信に要した実質通信積算量とに基づいて、当該未送信データの送信が完了した時点における通信量の積算値を推定した推定通信積算量を算出する推定通信積算量算出ステップと、予め記憶されている、通信量の上限値に関する情報と、前記推定通信積算量算出ステップにより算出された推定通信積算量とに基づいて、前記未送信データを送信するか否かを判定する判定ステップとを実行させるためのプログラムを提供する。
【発明の効果】
【００１６】
本発明によれば、通信量の上限値を超えないような制御を通信装置側で実現することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の一実施形態に係る通信システムの構成を示すブロック図である。
【図２】メッシュゲートウェイの機能を実装した通信装置のハードウェア構成を示すブロック図である。
【図３】メッシュゲートウェイとして動作する通信装置の機能構成を示すブロック図である。
【図４】メッシュポイントとしての通信装置、メッシュゲートウェイとしての通信装置、及びサーバ装置の動作を示すシーケンスチャートである。
【図５】メッシュゲートウェイとしての通信装置の動作を示すフローチャートである。
【図６】推定通信量と直近実質通信積算量と過去実質通信積算量との関係を模式的に示した図である。
【図７】メッシュゲートウェイとしての通信装置の動作を示すフローチャートである。
【発明を実施するための形態】
【００１８】
［実施形態］
［実施形態の構成］
図１は、本発明の一実施形態に係る通信システム１０の構成を示す図である。通信システム１０は、複数の通信装置１００ａ〜１００ｅと、サーバ装置２００と、ネットワーク３００とを備えている。通信装置の数は図１の例示に限らず、実際にはもっと多くてもよい。これらの複数の通信装置１００ａ〜１００ｅ（以下、通信装置１００と総称する）によって無線メッシュネットワークが構成されている。図１では、通信装置１００ａが、ネットワーク３００及び無線メッシュネットワーク間での中継装置に相当するメッシュゲートウェイ（図１ではＭＧと表記）であり、通信装置１００ｂ〜１００ｅが、メッシュポイント（図１ではＭＰと表記）である。これにより、どの通信装置１００からも無線メッシュネットワークの外部（ここではサーバ装置２００）に対して通信を行うことが可能になっている。メッシュゲートウェイとしての機能は、通信装置１００ａ以外の通信装置（例えば通信装置１００ｃ）にも実装されている。そして、これらの各通信装置１００ａ，１００ｃの通信積算量が上限値に達しないように、これら各通信装置の間でメッシュゲートウェイとして機能が切り替えられるようになっている。本実施形態では、各通信装置１００に装備ないし接続されたセンサ等の検知手段が検知した検出値をネットワーク３００経由でサーバ装置２００に通知するという、いわゆるＭ２Ｍの監視システムを想定している。ここでの検知対象としては、温度・湿度などの環境情報や、通信装置１００に接続された機器の状態情報などがあるが、検知対象の内容は特に限定されるものではない。なお、本実施形態ではメッシュネットワークのメッシュゲートウェイを具体例として説明するが、未送信データを送信するか否かを判定する本発明の適用対象はメッシュゲートウェイに限定されるものではなく、通信量制限プランでＬＴＥや３Ｇなどの移動通信網に接続され、かつ、近距離無線機能を有して他の装置に対して移動通信網への通信を提供する装置（ゲートウェイ装置）に適用することができる。
【００１９】
ネットワーク３００は、例えばＬＴＥや３Ｇなどの通信規格の移動通信網である。メッシュゲートウェイとしての機能を実装する通信装置１００ａ，１００ｃについては、ネットワーク３００を運営する通信事業者と通信装置１００の利用者との間で、通信量制限プランの契約がなされている。通信量制限プランは、使い放題プランよりも料金が安いが通信量に制限がある。通信量制限プランで通信量の上限値を超えてしまった場合には、例えばその後の通信速度が低下したり、通信そのものが不可となる。本実施形態のようなＭ２Ｍの監視システムでは検出値を定期的且つ欠落等がないように通知する必要があるため、このような上限値超過時の制限によってその通知が妨げられることはできるだけ避ける必要がある。
【００２０】
図２は、メッシュゲートウェイの機能を実装した通信装置１００のハードウェア構成を示すブロック図である。図２に示すように、通信装置１００は、制御部１０１と、記憶部１０２とを、ネットワーク無線通信部１０３と、近距離無線通信部１０４とを少なくとも備えたコンピュータとして構成されている。上述したセンサ等の検知手段は、通信装置１００が備えていてもよいし、通信装置１００に通信可能に接続されていてもよい。制御部１０１は、ＣＰＵ（Central Processing Unit）などの演算装置と、ＲＯＭ（Read Only Memory）及びＲＡＭ（Random Access Memory）などの記憶装置を備えている。ＲＯＭは、ＣＰＵによって利用されるプログラムや各種データを記憶している。記憶部１０２は、例えばフラッシュメモリなどの不揮発性の記憶手段であり、ＣＰＵによって利用されるプログラムや各種データを記憶している。ＣＰＵは、ＲＯＭや記憶部１０２に記憶されたプログラムやデータをＲＡＭに展開し、そのプログラムに既述された手順に従って処理を行うことにより、後述する各種機能を実現する。ネットワーク無線通信部１０３は、例えばアンテナや通信回路を備えており、ＬＴＥ等の通信規格に従ってネットワーク３００と通信を行う。近距離無線通信部１０４は、例えばアンテナや通信回路を備えており、他の通信装置１００の近距離無線通信部１０４と例えばブルートゥース（登録商標）などの任意の無線通信規格に従って通信を行う。近距離無線通信部１０４の無線通信規格は上記に限定されず、ＷｉＦｉ（登録商標）等の他の規格であってもよい。
【００２１】
なお、メッシュゲートウェイの機能を実装していない通信装置１００（図１の通信装置１００ｂ，１００ｄ，１００ｅ）のハードウェア構成においては、図２に示した構成のうち、制御部１０１、記憶部１０２及び近距離無線通信部１０４は必須であるが、ネットワーク無線通信部１０３は必須ではない。
【００２２】
図３は、通信装置１００の機能構成を示すブロック図である。通信装置１００は、受信部１１０、データサイズ特定部１２０、推定通信積算量算出部１３０、送信可否判定部１４０、中継部１５０、データキャプチャ部１６０、再送係数記憶部１７０、再送係数算出部１８０、直近理想通信積算量記憶部１９０、交代処理部１９１、直近実質通信積算量記憶部１９２、過去実質通信積算量記憶部１９３、上限値記憶部１９４及び更新部１９５という機能を備える。受信部１１０及び中継部１５０はネットワーク無線通信部１０３及び近距離無線通信部１０４によって実現される機能である。データサイズ特定部１２０、推定通信積算量算出部１３０、送信可否判定部１４０、データキャプチャ部１６０、再送係数算出部１８０、交代処理部１９１及び更新部１９５は制御部１０１によって実現される機能である。直近理想通信積算量記憶部１９０、直近実質通信積算量記憶部１９２、過去実質通信積算量記憶部１９３及び上限値記憶部１９４は記憶部１０２によって実現される機能である。
【００２３】
上限値記憶部１９４は、通信量の上限値に関する情報を記憶する記憶部である。再送係数算出部１８０は、送信対象となるデータのデータサイズと当該データを実際に送信するのに要した実質通信量とに基づいて、係数を算出する係数算出部である。推定通信積算量算出部１３０は、係数算出部により算出された係数及び未送信データのデータサイズに基づいて求められる推定通信量と、当該未送信データの送信前に行われたデータ送信に要した実質通信積算量とに基づいて、当該未送信データの送信が完了した時点における通信量の積算値を推定した推定通信積算量を算出する推定通信積算量算出部である。送信可否判定部１４０は、記憶部により記憶されている上限値に関する情報と、推定通信積算量算出部により算出された推定通信積算量とに基づいて、未送信データを送信するか否かを判定する判定部である。交代処理部１９１は、判定部によって未送信データを送信しないと判定された場合には、自装置以外の通信装置と、データの送信元装置へのデータ中継を交代するための処理を行う交代処理部である。
【００２４】
［実施形態の動作］
実施形態の動作として、まず図４を参照して、メッシュゲートウェイとして動作する通信装置１００ａが、他の通信装置（ここでは通信装置１００ｂとする）とサーバ装置２００との間でデータ中継を行うときの動作を説明する。ここで、通信装置１００及びサーバ装置２００間では、ＣｏＡＰ（Constrained Application Protocol）というプロトコルを用いるものとする。ＣｏＡＰは、Ｍ２Ｍでの利用を対象としたプロトコルであり、ＨＴＴＰと同様にＰＯＳＴやＧＥＴ等のリクエスト／レスポンス形式で送受信を行うものであるが、ＴＣＰ（Transmission Control Protocol）ではなくＵＤＰ（User Datagram Protocol）を採用している点などがＨＴＴＰと異なる。
【００２５】
通信セッションの開始時において、通信装置１００ａは、通信装置１００ｂからのリクエストをサーバ装置２００に転送する（ステップＳ１０１）。このリクエストのヘッダには、メッセージ識別子に相当するＭＩＤｈ１と、データをブロック単位に分割して送信する場合のブロック情報ｈ２と、通信装置１００ｂのアプリケーション層において特定された送信対象データのデータサイズｈ３とが含まれている。ブロック情報ｈ２においては、例えば「０／１／１２８」というように、ブロック連番／次ブロック有無フラグ（１：次のブロックがある、０：次のブロックが無い）／ブロックサイズが含まれる。通信装置１００ａは、データサイズとブロック連番＝０とがヘッダに記述されたリクエストを受信した場合、ＵＤＰヘッダに含まれる送信元ＩＰ（Internet Protocol）アドレス、送信先ＩＰアドレス及びポート番号によって特定されるクライアント−サーバアプリケーション間で通信セッションが開始されたものと判断する。
【００２６】
このリクエストに応じて、サーバ装置２００から通信装置１００ｂ宛にレスポンスが送信されて（ステップＳ１０２）、通信セッションの確立がなされる。以降、通信装置１００ｂとサーバ装置３００との間でリクエストとレスポンスが繰り返されることで、通信装置１００ｂからサーバ装置３００に対して、送信対象データがパケット単位で順次送信される（ステップＳ１０３，Ｓ１０４）。
【００２７】
ここで、無線メッシュネットワークからネットワーク３００へと送信されたパケットの損失が発生したとする（ステップＳ１０５）。通信装置１００ｂは、パケット送信時から一定期間内に、サーバ装置２００から、対応するＭＩＤのレスポンスが戻ってこないと、再び同じパケットを送信するという再送制御を行う（ステップＳ１０６．Ｓ１０７）。そして、通信装置１００ｂは、送信対象データをすべて送信し終えると、ヘッダ内の次ブロック有無フラグを「０」としたリクエストを送信し（ステップＳ１０８）、これに応じてサーバ装置２００からのレスポンスが通信装置１００ｂに到達する（ステップＳ１０９）。これにより、この一連の通信セッションは終了する。
【００２８】
図４において、ステップＳ１０１のリクエストのヘッダに記述されたデータサイズ、つまり、この通信セッションにおいて通信装置１００ｂが送信対象としているがこのステップＳ１０１の時点では未送信のデータのデータサイズは、再送等の一切のロスが無いと仮定した場合の通信量であり、本実施形態では「理想通信量」という。
【００２９】
一方、ステップＳ１０１の通信セッション開始からステップＳ１０９の通信セッション終了までに無線メッシュネットワーク及びネットワーク３００間で実際に送受信されたデータのデータ量のことを、「実質通信量」という。つまり、実質通信量は、理想通信量のデータを実際に送信するのに要した現実の通信量である。この実質通信量には、通信装置１００ｂから再送されたデータ（ステップＳ１０６）や、サーバ装置２００からのレスポンス(ステップＳ１０４，Ｓ１０７，Ｓ１０９）や、通信装置１００ｂからのリクエストにおけるペイロード以外のデータ（ヘッダ及びフッタ）が含まれるから、実質通信量＞理想通信量となる。なお、ＣｏＡＰ以外のプロトコルを用いた場合、例えばＴＣＰのＳＩＮ／ＡＣＫなどのように、「通信セッションの確立」を目的としてペイロードを持たない通信が発生する場合、これらも通信料金の課金対象となるため、実質通信量＞理想通信量の原因となる。
【００３０】
そして、実質通信量と理想通信量との比（本実施形態において、より正確には、或る一定期間において求められた実質通信量の積算値とその期間において求められた理想通信量の積算値）を、ここでは再送係数という。つまり、再送係数＝実質通信量／理想通信量であり、その値は１より大きい。なお、再送係数という用語においては、「再送」という表現を用いているが、これは上述したように、再送のみならず、通信セッションの確立のためだけに送受信されるデータ、サーバ装置２００からのレスポンス、通信装置１００ｂからのリクエストにおけるペイロード以外のデータをも考慮して算出される係数である。
【００３１】
次に、図５は、メッシュゲートウェイとして動作する通信装置１００ａが、通信装置１００ｂからサーバ装置２００宛に送信されたデータを中継するときの動作を示すフローチャートである。図５において、通信装置１００ａの受信部１１０（近距離無線通信部１０４）は、通信セッション開始時に通信装置１００ｂから送信されてくるリクエストを受信する（ステップＳ１）。
【００３２】
次に、通信装置１００ａのデータサイズ特定部１２０は、上記リクエストのヘッダを参照して、通信装置１００ｂからの送信対象データ（この時点ではまだ送信していない未送信データ）のデータサイズを特定する（ステップＳ２）。このデータサイズは、前述したとおり「理想通信量」に相当する。
【００３３】
次に、通信装置１００ａの推定通信積算量算出部１３０は、ステップＳ２で特定した未送信データの理想通信量に対して、再送係数記憶部１７０に記憶されている再送係数を乗算することで、この未送信データの送信に要する通信量の推定値である推定通信量を求める。さらに、推定通信積算量算出部１３０は、直近の一定期間内における実質通信量を積算した値である直近実質通信積算量を直近実質通信積算量記憶部１９２から読み出し、さらに、その直近の一定期間以前における実質通信量を積算した値である過去実質通信積算量を過去実質通信積算量記憶部１９３から読み出す。そして、推定通信積算量算出部１３０は、求めた推定通信量と、読み出した直近実質通信積算量と、読み出した過去実質通信積算量とを加算した値である推定通信積算量を求め、比較バッファ１３１に書き込む（ステップＳ３）。
【００３４】
ここで、図６は、推定通信量と、直近実質通信積算量と、過去実質通信積算量と、推定通信積算量の関係を模式的に示した図である。直近実質通信積算量は、現時点Ｔnから過去のある時点Ｔpに至る直近の一定期間における実質通信量の積算値である。過去実質通信積算量は、時点Ｔpより以前の実質通信量の積算値である。推定通信量は、現時点Ｔnではまだ送信されていない未送信データを送信するのに要する通信量の推定値である。推定通信積算量は、直近実質通信積算量、過去実質通信積算量及び推定通信量の合計値である。つまり、推定通信積算量は、未送信データを送信したと仮定した場合の、その送信完了時点Ｔfにおける総通信量の予測値である。したがって、この推定通信積算量と、通信量制限プランにおける通信量の上限値とを比較することで、未送信データを送信した場合の総通信量が上限値を超える可能性が高いか否かを判断することができる。
【００３５】
なお、直近実質通信積算量及び過去実質通信積算量は、その積算対象時期が異なるだけであり、いずれも、未送信データの送信前に行われたデータ送信に要した実質通信積算量という意味では同じである。したがって、推定通信積算量算出部１３０は、再送係数及び未送信データのデータサイズに基づいて求められる推定通信量と、未送信データの送信前に行われたデータ送信に要した実質通信積算量とに基づいて、当該未送信データの送信が完了した時点における通信量の積算値を推定した推定通信積算量を算出するものである。
【００３６】
送信可否判定部１４０は、比較バッファ１３１に書き込まれた推定通信積算量と上限値、記憶部１９４に予め記憶されている上限値とを比較する（ステップＳ４）。なお、本実施形態では上限値記憶部１９４に上限値そのものが記憶されているが、上限値記憶部１９４に記憶されている情報は、通信量の上限値に関する情報であって、送信可否を判定し得るような情報であればよい。推定通信積算量が上限値を超えると判定された場合（ステップＳ４；Ｎｏ）、交代処理部１９１は、未送信データを破棄し、メッシュゲートウェイとして動作し得る他の通信装置（ここでは通信装置１００ｃ）に対し、メッシュゲートウェイとして動作（つまりデータの送信元装置、ここでは通信装置１００ｂへのデータ中継）を自装置と交代するための処理を行う（ステップＳ５）。これにより、メッシュネットワークの中でメッシュゲートウェイ交代処理が実行される。
【００３７】
このメッシュゲートウェイの交代の手順については既存のものを用いればよいが、例えばＶＲＲＰ（Virtual Router Redundancy Protocol）における仮想ＩＰの付け替えの仕組みで実現すればよい。具体的には、メッシュゲートウェイとしての機能が実装されている通信装置１００にはメッシュゲートウェイとしての優先度が登録されており、優先度が最も高い通信装置１００にメッシュゲートウェイとしての仮想ＩＰが割り当てられる。メッシュゲートウェイとして動作する通信装置１００は、一定時間ごとにVRRP Advertisementと呼ばれるメッセージを無線メッシュネットワーク内にブロードキャストする。この通信装置１００がメッシュゲートウェイを交代する場合は、VRRP Advertisement のブロードキャストを停止し、自装置の優先度を下げる。これにより、２番目に優先度の高かった通信装置１００にメッシュゲートウェイの仮想ＩＰが割り当てられ、この仮想ＩＰの割り当てをトリガにしてこの通信装置１００がメッシュゲートウェイとして動作し始める。
【００３８】
図５の説明に戻り、送信可否判定部１４０は、推定通信積算量が上限値を超えないと判断した場合には（ステップＳ４；Ｙｅｓ）、直近理想通信積算量記憶部１９０に記憶されている値にステップＳ２で特定した理想通信量を加算する（ステップＳ６）。中継部１５０は、上記の未送信データをサーバ装置２００に宛てて送信する中継処理を行う（ステップＳ７）。この送信期間において、データキャプチャ部１６０は中継部１５０が送受信したデータ（パケット）をキャプチャし、そのデータサイズを直近実質通信積算量記憶部１９２に記憶されている値に加算していく（ステップＳ８）。
【００３９】
そして、再送係数算出部１８０は、再送係数の算出時期が到来したか否かを判断する（ステップＳ９）。この再送係数の算出時期は、直近実質通信積算量記憶部１９２、直近理想通信積算量記憶部１９０及び過去実質通信積算量記憶部１９３の更新時期から一定期間が経過し、さらに少なくとも１回の通信がなされた後のタイミングである。ネットワーク３００においては一時的に輻輳等の通信障害が発生することが想定されるので、そのような一時的な障害によって再送が頻発して上限値を一気に超過するという事態が発生する場合がある。これを回避するために、最近の（一時的な輻輳等の通信障害が発生した直近の）データをもとに、つまり、通信積算量を記憶する各記憶部である直近理想通信積算量記憶部１９０，直近実質通信積算量記憶部１９２に記憶されたデータを更新して、その更新済の最近の値をもとに、再送係数を算出しなおすことが有効である。再送係数は、例えば送信のたびに算出することとしてもよいし、再送係数算出処理の負荷を減らすために例えば数分おき程度の所定の時間間隔（比較的短い時間間隔を指定することとしてもよい）で算出することとしてもよい。算出時期が到来していれば（ステップＳ９；Ｙｅｓ）、再送係数算出部１８０は、再送係数＝直近実質通信積算量／直近理想通信積算量という計算式で再送係数を算出し、再送係数記憶部１７０に書き込む（ステップＳ１０）。つまり、再送係数算出部１８０は、送信対象となるデータのデータサイズ（理想通信量）と当該データを実際に送信するのに要した実質通信量とに基づいて再送係数を算出する。なお、算出時期が到来していなければ（ステップＳ９；Ｎｏ）、図５の処理は終了する。
【００４０】
次に、図７は、直近実質通信積算量記憶部１９２、直近理想通信積算量記憶部１９０及び過去実質通信積算量記憶部１９３の更新処理を示すフローチャートである。更新部１９５は、各記憶部１９２，１９０，１９３の更新時期が到来したか否かを判断する（ステップＳ１１）。この更新時期は、図６で示した時点Ｔnと時点Ｔpの差に相当する期間が経過するたびである。更新時期が到来していれば（ステップＳ１１；Ｙｅｓ）、更新部１９５は、まず、過去実質通信積算量記憶部１９３に記憶されている値に対し、直近実質通信積算量記憶部１９２に記憶されている値を加算する（ステップＳ１２）。次に、更新部１９５は、直近理想通信積算量記憶部１９０の記憶内容をリセット、つまり直近理想通信積算量をゼロにする（ステップＳ１３）。そして、更新部１９５は、直近実質通信積算量記憶部１９２の記憶内容をリセット、つまり直近実質通信積算量をゼロにする（ステップＳ１４）。
【００４１】
［実施形態の効果］
以上に説明したように、本実施形態では、メッシュゲートウェイとして動作する通信装置１００ａが、メッシュポイントである他の通信装置１００ｂからサーバ装置３００に対して送信対象データを送信するために、アプリケーション層で特定したデータサイズの何倍の通信量を要したかを意味する再送係数を算出する。そして、通信装置１００ａは、通信装置１００ｂからのデータ中継を行うときに、実際に要する通信量を推定した推定通信量を再送係数に基づいて算出し、これを過去の実質的な通信積算量に加算した推定通信積算量を算出する。さらに、通信装置１００ａは、自装置に対して設定された上限値と推定通信積算量とを比較し、上限値を超過する恐れがある場合は未送信データを破棄し、メッシュネットワーク内の他の通信装置１００ｃに対してメッシュゲートウェイの交代を要求する。これにより、通信量の上限値を超えないような制御を通信装置側で実現することが可能となる。
【００４２】
特にＭ２Ｍを利用した監視システムでは小さなパケットが定期的に送信されるため、前述したようなＣｏＡＰのように通信セッションの確立と切断を繰り返すようなプロトコルが用いられる。この場合、データの再送のほかに、通信セッションの確立のためだけに送受信されるデータ、サーバ装置２００からのレスポンス、通信装置１００ｂからのリクエストにおけるペイロード以外のデータなどの容量を無視できないので、理想通信量と実質通信量の差が比較的大きくなる。したがって、このようなＭ２Ｍを利用した監視システムにおいては、本実施形態のように通信量の上限値を超えない制御が特に有効である。
【００４３】
［変形例］
上述した実施形態は次のような変形が可能である。また、以下の変形例を互いに組み合わせて実施してもよい。
［変形例１］
再送係数は、近距離無線における電波干渉等の影響によって送信元装置（例えば図４における通信装置１００ｂ）ごとに異なる。そこで、直近実質通信積算量記憶部１９２、直近理想通信積算量記憶部１９０及び過去実質通信積算量記憶部１９３は、データの送信元装置（つまり図１における各々の通信装置１００ａ〜１００）の直近実質通信積算量、直近理想通信積算量及び過去実質通信積算量をそれぞれ記憶する。再送係数算出部１８０は、データの送信元装置ごとに再送係数を算出して、再送係数記憶部１７０は各通信元装置について算出された再送係数を記憶する。そして、推定通信積算量算出部１３０は、送信元装置ごとに推定通信積算量を算出する。このようにすれば、各々の通信装置１００の近距離無線通信環境に応じて、通信量の上限値を超えないような制御が実現可能となる。
【００４４】
［変形例２］
再送係数算出部１８０は、再送係数の算出時期を所定の条件に基づいて変更してもよい。例えば、前回算出した再送係数と今回算出した再送係数との差が閾値を超える場合には、通信環境が不安定になっている可能性があり、再送係数の大きな変動が起こり得る。このような場合には、再送係数算出部１８０は、再送係数の算出時期を当初の時期よりも早く（再送係数の算出間隔を短く）してもよい。また、ネットワーク３００内の通信設備からネットワーク内で輻輳が発生していることをメッシュゲートウェイに通知することが可能なら、再送係数算出部１８０は、そのような通知があった場合に、再送係数の算出時期を当初の時期よりも早く（再送係数の算出間隔を短く）してもよい。
【００４５】
［変形例３］
実施形態において、メッシュゲートウェイとして動作し得る各通信装置１００に対しては、送信元装置に対する通信の中継を担うメッシュゲートウェイとしての優先度が決められていた。このように各通信装置１００に対して予め決められていた優先度に代えて、次のように、各通信装置１００の再送係数算出部１８０が算出した再送係数に基づいて決定する優先度を用いてもよい。具体的には、メッシュゲートウェイとして動作し得る各通信装置１００は、予め自装置の再送係数算出部１８０で算出された再送係数を評価する評価関数（例：自装置において算出された再送係数に所定の係数をかけた値を優先度として採用する評価関数）や、評価テーブル（例：再送係数と優先度との対応関係を予め定めたテーブル）を記憶した優先度決定部を備える。この優先度決定部は、再送係数算出部１８０が算出した再送係数に基づき、上記の評価関数や評価テーブルから、自装置に対する、メッシュゲートウェイとしての優先度を決定する。
【００４６】
［変形例４］
通信システム１０は実施形態で例示したＭ２Ｍの監視システムに限定されない。また、ネットワーク３００の通信規格や各種プロトコルは実施形態で例示した内容に限定されない。実施形態で用いたＣｏＡＰに代えて、メッシュゲートウェイにより理想通信量を取得可能で、一連の通信セッションの開始から終了までが特定され、かつ、再送制御が行われるようなプロトコルを利用できる。
また、実施形態では、近距離無線区間が無線メッシュネットワークとなっている例を説明したが、本発明の適用は無線メッシュネットワークに限定されるものではない。本発明は、ＷｉＦｉ（登録商標）やブルートゥース（登録商標）等の近距離無線機能を有する通信装置が接続され、料金を抑えるためには通信量上限の制御が必要となる通信プランを利用して移動通信網に接続するゲートウェイ装置に適用することができる。
【００４７】
［変形例５］
本発明は、通信装置だけでなく、通信装置が行う通信制御方法や、コンピュータを通信装置として機能させるためのプログラムといった形態でも実施が可能である。このプログラムは、光ディスク等の記録媒体に記録した形態でコンピュータに提供されたり、インターネット等のネットワークを介してコンピュータに提供されたりしてもよい。
【符号の説明】
【００４８】
１００ａ〜１００ｅ・・・通信装置、１０１・・・制御部、１０２・・・記憶部、１０３・・・ネットワーク無線通信部、１０４・・・近距離無線通信部、１１０・・・受信部、１２０・・・データサイズ特定部、１３０・・・推定通信積算量算出部、１４０・・・送信可否判定部、１５０・・・中継部、１６０・・・データキャプチャ部、１７０・・・再送係数記憶部、１８０・・・再送係数算出部、１９０・・・直近理想通信積算量記憶部、１９１・・・交代処理部、１９２・・・直近実質通信積算量記憶部、１９３・・・過去実質通信積算量記憶部、１９４・・・上限値記憶部、１９５・・・更新部、２００・・・サーバ装置、３００・・・ネットワーク
【図１】
0006416513.tif 000002
【図２】
0006416513.tif 000003
【図３】
0006416513.tif 000004
【図４】
0006416513.tif 000005
【図５】
0006416513.tif 000006
【図６】
0006416513.tif 000007
【図７】
0006416513.tif 000008