(57)【要約】【課題】送信対象となるデータを収集して外部に送信する装置側での制御により、ネットワーク負荷を増大させることなく、大きな遅延なしにより多くのデータを送信可能な技術を提供すること。【解決手段】送信対象となるデータを収集するデータ収集部１１と、収集されたデータを蓄積するバッファ部１２と、バッファ部１２に蓄積されたデータを、ネットワークを介して外部に送信するデータ送信部１３と、バッファ部１２に蓄積されたデータの蓄積量に関するバッファ蓄積情報を生成するバッファ蓄積情報生成部１４と、ネットワークの負荷に関するネットワーク負荷情報を生成するネットワーク負荷情報生成部１５と、バッファ蓄積情報およびネットワーク負荷情報に基づいて、データ送信部１３により使用される帯域幅およびデータの送信量を制御する送信制御部１６と、を備える。【選択図】図１
2014112779.tif 000002
【特許請求の範囲】
【請求項１】
送信対象となるデータを収集するデータ収集部と、
前記データ収集部によって収集されたデータを蓄積するバッファ部と、
前記バッファ部に蓄積されたデータを、ネットワークを介して外部に送信するデータ送信部と、
前記バッファ部に蓄積されたデータの蓄積量に関するバッファ蓄積情報を生成するバッファ蓄積情報生成部と、
前記ネットワークの負荷に関するネットワーク負荷情報を生成するネットワーク負荷情報生成部と、
前記バッファ蓄積情報および前記ネットワーク負荷情報に基づいて、前記データ送信部により使用される帯域幅およびデータの送信量を制御する送信制御部と、
を備えたデータ送信制御装置。
【請求項２】
前記送信制御部は、前記バッファ蓄積情報および前記ネットワーク負荷情報に基づいて、前記データ送信部にあらかじめ定められた使用可能帯域幅を超えてデータ送信を行うか否かを判断し、判断結果に基づいて前記帯域幅および前記送信量を制御することを特徴とする請求項１に記載のデータ送信制御装置。
【請求項３】
前記送信制御部は、前記ネットワーク負荷情報が所定の混雑条件を満たすか否か、および、前記バッファ蓄積情報が所定の蓄積過剰条件を満たすか否かに基づいて、前記帯域幅および前記送信量を制御することを特徴とする請求項１または請求項２に記載のデータ送信制御装置。
【請求項４】
前記送信制御部は、前記ネットワーク負荷情報が所定の混雑条件を満たさず、前記バッファ蓄積情報が所定の蓄積過剰条件を満たすとき、前記使用可能帯域幅を超える帯域幅を決定し、決定した帯域幅に基づき前記送信量を制御することを特徴とする請求項３に記載のデータ送信制御装置。
【請求項５】
前記バッファ蓄積情報生成部は、前記バッファ蓄積情報として、前記バッファ部におけるデータの蓄積量の変化率を表すバッファ蓄積率に基づく情報を生成することを特徴とする請求項１から請求項４のいずれか１項に記載のデータ送信制御装置。
【請求項６】
前記バッファ蓄積情報生成部は、前記バッファ蓄積情報として、前記バッファ部に蓄積されたデータが送出されることによるネットワークの負荷に対する影響を表す情報を、前記バッファ蓄積率の変動に基づいて生成することを特徴とする請求項５に記載のデータ送信制御装置。
【請求項７】
前記ネットワーク負荷情報生成部は、前記ネットワーク負荷情報として、前記データ送信部による送信処理に関して測定される測定情報に基づく情報を生成することを特徴とする請求項１から請求項６のいずれか１項に記載のデータ送信制御装置。
【請求項８】
前記ネットワーク負荷情報生成部は、前記ネットワーク負荷情報として、前記データ送信部による次回のデータ送信時において前記ネットワークが混雑しているか否かを表す情報を、前記測定情報の変動に基づいて生成することと特徴とする請求項７に記載のデータ送信制御装置。
【請求項９】
送信対象となるデータを収集してバッファ部に蓄積し、
前記バッファ部に蓄積されたデータの蓄積量に関するバッファ蓄積情報を生成し、
ネットワークの負荷に関するネットワーク負荷情報を生成し、
前記ネットワークを介して前記バッファ部に蓄積されたデータを外部に送信する際に、前記バッファ蓄積情報および前記ネットワーク負荷情報に基づいて、送信処理に使用される帯域幅およびデータの送信量を制御する、データ送信制御方法。
【請求項１０】
送信対象となるデータを収集してバッファ部に蓄積するデータ収集ステップと、
前記バッファ部に蓄積されたデータの蓄積量に関するバッファ蓄積情報を生成するデータ蓄積情報生成ステップと、
ネットワークの負荷に関するネットワーク負荷情報を生成するネットワーク負荷情報生成ステップと、
前記ネットワークを介して前記バッファ部に蓄積されたデータを外部に送信する際に、前記バッファ蓄積情報および前記ネットワーク負荷情報に基づいて、送信処理に使用される帯域幅およびデータの送信量を制御する送信制御ステップと、
をコンピュータ装置に実行させるコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部へのデータ送信を制御する技術に関する。
【背景技術】
【０００２】
外部へのデータ送信によるネットワーク負荷への影響を調整する技術が知られている。例えば、一般的な情報処理システムは、情報漏洩、システムの不具合または不正利用などの脅威を監視するために、情報処理システムの動作や状態の履歴が記録されたログデータ（以下、単にログとも記載する）を収集し、外部の監視サーバ等へ送信する。このようなログは、情報処理システムの構成要素により生成される。ログを収集する目的の１つは、脅威の発覚後にその脅威の因果関係を究明することである。しかし、情報処理システムの構成要素により生成されるログは膨大な量となるのが一般的である。このため、情報処理システムが、収集した全てのログを監視サーバなどに送信すると、ログの送信だけでネットワークの帯域幅を使い切ってしまい、本来の業務に影響を与えてしまうという問題が生じる。
【０００３】
上記のような問題に対応するため、トラフィックシェーピングという技術が知られている。トラフィックシェーピングとは、データ送信の間隔を調整し、制限された帯域幅を超えないように、ルータで転送レートを平滑化するよう制御する技術である。
【０００４】
このようなトラフィックシェーピングを利用した技術の一例が、特許文献１に記載されている。この特許文献１に記載された関連技術では、トラフィックシェーピングを行う第１の伝送装置は、送信対象のデータを格納するバッファを有し、バッファからデータを所定レートで読み出してトラフィックシェーピングを行って外部に送信する。そして、第１の伝送装置は、バッファのリソースが枯渇すると、トラフィックシェーピングを行う第２の伝送装置に対してデータを送信し、トラフィックシェーピングを依頼する。第２の伝送装置は、第１の伝送装置から受信したデータをバッファに格納し、バッファからシェーピング対象のデータを読み出してトラフィックシェーピングを行って外部に送信する。
【０００５】
また、端末で生成されるイベントデータの送信制御を行う技術の一例が、特許文献２に記載されている。特許文献２に記載された関連技術は、イベントデータに重要度を付与し、ネットワーク負荷が低い場合は、全てのイベントデータを外部へ送信する。また、この関連技術は、ネットワーク負荷が高い場合、重要度の高いイベントデータのみを外部へ送信する。これにより、この関連技術は、イベントデータ送信によるネットワーク負荷への影響を抑えている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１２‐１７５４８１号公報
【特許文献２】特開平１０‐０２８１５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１および特許文献２に記載された関連技術には、以下の課題がある。
【０００８】
特許文献１に記載された関連技術を、ログなどのデータを収集して送信する装置に適用する場合、トラフィックシェーピングを行う他の伝送装置を必要とする。そのため、この関連技術は、ログなどのデータを収集して送信する装置側だけでは、データ送信に伴うネットワーク負荷を調整することができない。
【０００９】
また、特許文献２に記載された関連技術では、ネットワークが混んでいる場合、重要度の低いログが端末側に貯まってしまう。ここで、特許文献２に記載された関連技術を、脅威の因果関係を究明するサーバに対してログを送信する装置に適用する場合について考える。この場合、サーバ側では、発覚した脅威とは直接の関係が薄いと見られるログや、重要度が低いと考えられるログも必要となることが多い。このような場合、端末は、可能な限り多くのログを、大きな遅延なしにサーバに送信することが望ましい。しかしながら、特許文献２に記載された関連技術では、ネットワーク負荷が高い環境では、重要度の低いログがなかなか送信されない。その結果、脅威の因果関係究明が遅れる可能性もある。
【００１０】
本発明は、上述の課題を解決するためになされたもので、送信対象となるデータを収集して外部に送信する装置側での制御により、ネットワーク負荷を増大させることなく、大きな遅延なしにより多くのデータを送信可能な技術を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明のデータ送信制御装置は、送信対象となるデータを収集するデータ収集部と、前記データ収集部によって収集されたデータを蓄積するバッファ部と、前記バッファ部に蓄積されたデータを、ネットワークを介して外部に送信するデータ送信部と、前記バッファ部に蓄積されたデータの蓄積量に関するバッファ蓄積情報を生成するバッファ蓄積情報生成部と、前記ネットワークの負荷に関するネットワーク負荷情報を生成するネットワーク負荷情報生成部と、前記バッファ蓄積情報および前記ネットワーク負荷情報に基づいて、前記データ送信部により使用される帯域幅およびデータの送信量を制御する送信制御部と、を備える。
【００１２】
また、本発明のデータ送信制御方法は、送信対象となるデータを収集してバッファ部に蓄積し、前記バッファ部に蓄積されたデータの蓄積量に関するバッファ蓄積情報を生成し、ネットワークの負荷に関するネットワーク負荷情報を生成し、前記ネットワークを介して前記バッファ部に蓄積されたデータを外部に送信する際に、前記バッファ蓄積情報および前記ネットワーク負荷情報に基づいて、送信処理に使用される帯域幅およびデータの送信量を制御する。
【００１３】
また、本発明のコンピュータ・プログラムは、送信対象となるデータを収集してバッファ部に蓄積するデータ収集ステップと、前記バッファ部に蓄積されたデータの蓄積量に関するバッファ蓄積情報を生成するデータ蓄積情報生成ステップと、ネットワークの負荷に関するネットワーク負荷情報を生成するネットワーク負荷情報生成ステップと、前記ネットワークを介して前記バッファ部に蓄積されたデータを外部に送信する際に、前記バッファ蓄積情報および前記ネットワーク負荷情報に基づいて、送信処理に使用される帯域幅およびデータの送信量を制御する送信制御ステップと、をコンピュータ装置に実行させる。
【発明の効果】
【００１４】
本発明は、送信対象となるデータを収集して外部に送信する装置側での制御により、ネットワーク負荷を増大させることなく、大きな遅延なしにより多くのデータを送信可能な技術を提供することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の第１の実施の形態としてのデータ送信制御装置の機能ブロック図である。
【図２】本発明の第１の実施の形態としてのデータ送信制御装置のデータ収集動作を説明するフローチャートである。
【図３】本発明の第１の実施の形態としてのデータ送信制御装置のデータ送信制御動作を説明するフローチャートである。
【図４】本発明の第２の実施の形態としてのデータ送信制御装置の機能ブロック図である。
【図５】本発明の第２の実施の形態としてのデータ送信制御装置のデータ送信制御動作を説明するフローチャートである。
【図６】本発明の第２の実施の形態としてのデータ送信制御装置のデータ送信制御動作の詳細を説明するフローチャートである。
【発明を実施するための形態】
【００１６】
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
【００１７】
（第１の実施の形態）
本発明の第１の実施の形態としてのデータ送信制御装置１の機能ブロック構成を図１に示す。図１において、データ送信制御装置１は、データ収集部１１と、バッファ部１２と、データ送信部１３と、バッファ蓄積情報生成部１４と、ネットワーク負荷情報生成部１５と、送信制御部１６とを備える。ここで、データ送信制御装置１は、ＣＰＵ（Central Processing Unit）と、ＲＡＭ（Random Access Memory）と、ＲＯＭ（Read Only Memory）と、ハードディスク等の記憶装置と、ネットワークインタフェースとを備えたコンピュータ装置によって構成可能である。この場合、データ収集部１１、バッファ蓄積情報生成部１４、ネットワーク負荷情報生成部１５および送信制御部１６は、ＲＯＭおよび記憶装置に記憶されたコンピュータ・プログラムおよび各種データをＲＡＭに読み込んで実行するＣＰＵによって構成される。また、バッファ部１２は、ＲＡＭまたは記憶装置によって構成される。また、データ送信部１３は、ネットワークインタフェースと、ＲＯＭおよび記憶装置に記憶されたコンピュータ・プログラムおよび各種データをＲＡＭに読み込んで実行するＣＰＵとによって構成される。なお、データ送信制御装置１およびその各機能ブロックのハードウェア構成は、上述の構成に限定されない。
【００１８】
また、データ送信制御装置１は、インターネット、ＬＡＮ（Local Area Network）、公衆回線網、無線通信網またはこれらの組合せ等によって構成されるネットワークを介して、外部装置９０に接続されている。外部装置９０は、例えば、ＣＰＵと、ＲＡＭと、ＲＯＭと、ハードディスク等の記憶装置と、ネットワークインタフェースとを備えたコンピュータ装置によって構成される。なお、図１には、データ送信制御装置１および外部装置９０を１つずつ示しているが、本発明のデータ送信制御装置がデータを送出するネットワークに接続されるデータ送信制御装置および外部装置の数を限定するものではない。
【００１９】
次に、データ送信制御装置１の各機能ブロックの詳細について説明する。
【００２０】
データ収集部１１は、送信対象となるデータを収集する。送信対象となるデータは、例えば、データ送信制御装置１のデータ生成部（図示せず）によって所定のタイミングで逐次生成されるものであってもよい。また、データ収集部１１は、そのようなデータを、所定のタイミングで取得してもよい。あるいは、データ収集部１１は、新しいデータが生成される度に、データを収集するようにしてもよい。
【００２１】
バッファ部１２は、データ収集部１１によって収集されたデータを蓄積する。
【００２２】
データ送信部１３は、バッファ部１２に蓄積されたデータを、ネットワークを介して外部装置９０に送信する。このとき、データ送信部１３は、バッファ部１２に蓄積されたデータのうち、後述の送信制御部１６により決定された送信量分のデータを、送信制御部１６により決定された帯域幅を使用して送信する。
【００２３】
バッファ蓄積情報生成部１４は、バッファ部１２に蓄積されたデータの蓄積量に基づくバッファ蓄積情報を生成する。バッファ蓄積情報とは、例えば、バッファ部１２に蓄積されたデータの蓄積量（バッファ蓄積量）の変化率（バッファ蓄積率）に基づく情報であってもよい。例えば、バッファ蓄積情報生成部１４は、次式（１）を用いてバッファ蓄積率を算出可能である。
[バッファ蓄積率]＝（[新たに収集されたデータのサイズ]＋[既にバッファ部１２に蓄積されてまだ送信されていないデータのサイズ]）／[前回のバッファの蓄積量]・・・（１）
なお、式（１）において、“／”は除算を表す。また、[前回のバッファの蓄積量]とは、バッファ蓄積率の算出時点より所定時間前の時点でバッファ部１２に蓄積されていたデータのサイズを表す。さらに、バッファ蓄積情報生成部１４は、直近の所定期間におけるバッファ蓄積率の平均値をバッファ蓄積情報として生成してもよい。
【００２４】
ネットワーク負荷情報生成部１５は、ネットワークの負荷を表すネットワーク負荷情報を生成する。ここで、ネットワークの負荷とは、データ送信制御装置１および外部装置９０を接続するネットワークの負荷をさす。例えば、ネットワーク負荷情報は、データ送信部１３による送信処理に関して測定される測定情報であってもよい。測定情報とは、ラウンドトリップタイム（ＲＴＴ）や、単位時間あたりに送信が完了した（受信完了の応答を受信した分の）データ量であってもよい。
【００２５】
送信制御部１６は、バッファ蓄積情報およびネットワーク負荷情報に基づいて、データ送信部１３により使用される帯域幅および今後のデータの送信量を制御する。例えば、送信制御部１６は、ネットワーク負荷情報が所定の混雑条件を満たすか否か、および、バッファ蓄積情報が所定の蓄積過剰条件を満たすか否かに基づいて、データ送信部１３に使用される帯域幅および送信量を制御してもよい。例えば、所定の混雑条件とは、ネットワーク負荷情報としての測定情報が閾値を超えることであってもよい。また、例えば、所定の蓄積過剰条件とは、バッファ蓄積情報としてのバッファ蓄積率が閾値を超えることであってもよい。
【００２６】
具体的には、送信制御部１６は、ネットワーク負荷情報が所定の混雑条件を満たさず、バッファ蓄積情報が所定の蓄積過剰条件を満たすとき、前回の送信処理時に決定した帯域幅より大きな帯域幅を決定してもよい。また、この場合、送信制御部１６は、前回の送信処理時に決定した送信量より大きな送信量を決定してもよい。また、送信制御部１６は、ネットワーク負荷情報が所定の混雑条件を満たさず、バッファ蓄積情報が所定の蓄積過剰条件を満たさないとき、前回までに適用されている帯域幅を変更しなくてもよい。また、送信制御部１６は、前回までに適用されている送信量を変更しなくてもよい。また、送信制御部１６は、ネットワーク負荷情報が所定の混雑条件を満たすとき、前回の送信処理時に決定した帯域幅より小さな帯域幅を決定してもよい。また、この場合、送信制御部１６は、前回の送信処理時に決定した送信量より小さな送信量を決定してもよい。
【００２７】
以上のように構成されたデータ送信制御装置１の動作について、図２〜図３を参照して説明する。
【００２８】
まず、データ送信制御装置１のデータ収集動作を図２に示す。
【００２９】
図２では、まず、データ収集部１１は、送信対象となるデータを収集する（ステップＳ１）。
【００３０】
次に、データ収集部１１は、収集したデータをバッファ部１２に蓄積する（ステップＳ２）。これにより、バッファ部１２には、後述のデータ送信制御動作において送信されずにバッファ部１２に残って蓄積されているデータと、今回の動作におけるステップＳ１で新たに収集されたデータとが蓄積される。
【００３１】
以上の動作を、データ送信制御装置１は、所定間隔または新たなデータが生成されるタイミング等で繰り返す。
【００３２】
次に、データ送信制御装置１のデータ送信制御動作を図３に示す。
【００３３】
図３では、まず、バッファ蓄積情報生成部１４は、バッファ部１２におけるデータの蓄積量に基づいて、バッファ蓄積情報を生成する（ステップＳ１１）。例えば、前述のように、バッファ蓄積情報生成部１４は、バッファ蓄積率を算出してバッファ蓄積情報としてもよい。
【００３４】
次に、ネットワーク負荷情報生成部１５は、ネットワーク負荷情報を生成する（ステップＳ１２）。例えば、前述のように、ネットワーク負荷情報生成部１５は、データ送信部１３による前回の送信処理において測定情報を測定し、ネットワーク負荷情報としてもよい。
【００３５】
次に、送信制御部１６は、ステップＳ１１で生成されたバッファ蓄積情報と、ステップＳ１２で生成されたネットワーク負荷情報とに基づいて、データ送信部１３により使用される帯域幅および次回のデータの送信量を決定する（ステップＳ１３）。
【００３６】
次に、データ送信部１３は、バッファ部１２に蓄積されたデータのうち、ステップＳ１３で決定された送信量分のデータを、決定された帯域幅を使用して外部装置９０に対して送信する（ステップＳ１４）。
【００３７】
以上の動作を、データ送信制御装置１は、所定間隔またはあらかじめ定められたスケジュールに従って繰り返す。
【００３８】
次に、本発明の第１の実施の形態の効果について述べる。
【００３９】
本発明の第１の実施の形態としてのデータ送信制御装置は、送信対象となるデータを収集して外部に送信する装置側での制御により、ネットワーク負荷を増大させることなく、大きな遅延なしにより多くのデータを送信することができる。
【００４０】
その理由は、バッファ蓄積情報生成部が、バッファ部に蓄積されたデータの蓄積量に関するバッファ蓄積情報を生成し、ネットワーク負荷情報生成部が、ネットワークの負荷に関するネットワーク負荷情報を生成し、送信制御部が、バッファ蓄積情報とネットワーク負荷情報とに基づいて、次回の帯域幅および送信量を決定し、データ送信部が、バッファ部に蓄積されたデータのうち、決定された送信量の分のデータを、決定された帯域幅を使用して外部に送信するからである。
【００４１】
これにより、本実施の形態としてのデータ送信制御装置は、バッファ蓄積量が増大していく場合、ネットワークの負荷が高くなければ、次回の帯域幅および送信量を多くしてバッファ蓄積量を減らすことが可能となる。もし、バッファ蓄積量が増大する状況で帯域幅や送信量を変更しないと、送信までに遅延が生じるデータが増えることになるが、本実施の形態は、バッファ蓄積量の増大に伴い帯域幅および送信量を増やすよう制御可能である。したがって、本実施の形態は、より多くのデータを大きな遅延なしに送信可能となる。しかも、本実施の形態としてのデータ送信制御装置は、ネットワークの負荷が高い場合は、次回の帯域幅および送信量を少なくしてネットワークの混雑を抑制する。もし、バッファ蓄積量の増大に伴い無条件で帯域幅や送信量を増やすと、ネットワークの負荷に与える影響が大きくなりネットワークが混雑する可能性があるが、本実施の形態は、ネットワークが混雑する場合には、帯域幅および送信量を減らすよう制御可能である。したがって、本実施の形態としてのデータ送信制御装置は、ネットワーク負荷の増大を抑制可能となる。このように、本実施の形態は、ネットワーク負荷を増大させることなく、大きな遅延なしにより多くのデータを送信することが可能である。
【００４２】
（第２の実施の形態）
次に、本発明の第２の実施の形態について図面を参照して詳細に説明する。なお、本実施の形態の説明において参照する各図面において、本発明の第１の実施の形態と同一の構成および同様に動作するステップには同一の符号を付して本実施の形態における詳細な説明を省略する。本実施の形態では、本発明のデータ送信制御装置において、送信対象のデータとして、自装置の動作や状態の履歴を表すログを適用する例について説明する。
【００４３】
まず、本発明の第２の実施の形態としてのデータ送信制御装置２の機能ブロック構成を図４に示す。図４において、データ送信制御装置２は、本発明の第１の実施の形態としてのデータ送信制御装置１に対して、データ収集部１１に替えてデータ収集部２１と、バッファ蓄積情報生成部１４に替えてバッファ蓄積情報生成部２４と、ネットワーク負荷情報生成部１５に替えてネットワーク負荷情報生成部２５と、送信制御部１６に替えて送信制御部２６とを備える。
【００４４】
また、データ送信制御装置２は、インターネット、ＬＡＮ、公衆回線網、無線通信網またはこれらの組合せ等によって構成されるネットワークを介して、ログ収集装置９１に接続されている。ログ収集装置９１は、例えば、ＣＰＵと、ＲＡＭと、ＲＯＭと、ハードディスク等の記憶装置と、ネットワークインタフェースとを備えたコンピュータ装置によって構成され、データ送信制御装置２から送信されるログを受信する装置である。なお、図４には、データ送信制御装置２およびログ収集装置９１を１つずつ示しているが、本発明のデータ送信制御装置がデータを送出するネットワークに接続されるデータ送信制御装置およびログ収集装置の数を限定するものではない。
【００４５】
次に、データ送信制御装置２の各機能ブロックの詳細について説明する。
【００４６】
データ収集部２１は、送信対象となるログを収集する。ログは、自装置の動作や状態の履歴が記録されたデータである。このようなログは、例えば、データ送信制御装置２のログ生成部（図示せず）によって逐次生成されるものとする。
【００４７】
バッファ蓄積情報生成部２４は、バッファ蓄積情報として、バッファ部１２に蓄積されたログが送出されることによるネットワークの負荷に対する影響を表す情報を生成する。例えば、バッファ蓄積情報生成部２４は、バッファ蓄積情報として、バッファ部１２にその時点で蓄積されているログが、その時点の通信スループットで全て送信されるまでの所要時間を算出してもよい。なお、バッファ蓄積情報生成部２４は、このようなバッファ蓄積情報を、バッファ蓄積率の変動に基づいて算出可能である。なお、バッファ蓄積情報生成部２４は、このようなバッファ蓄積情報の算出に際して、通信スループットの変動の傾向を表す傾向情報を加味してもよい。また、バッファ蓄積情報生成部２４は、このような傾向情報として、トレンド分析等の技術により生成された傾向情報を取得してもよい。
【００４８】
ネットワーク負荷情報生成部２５は、ネットワーク負荷情報として、データ送信部１３による次回の送信処理時においてネットワークが混雑しているか否かを表す情報を生成する。例えば、ネットワーク負荷情報生成部２５は、データ送信部１３によって実行された送信処理に関して測定される測定情報の変動に基づいて、このようなネットワーク負荷情報を生成してもよい。測定情報とは、前述のように、ＲＴＴや、単位時間あたりに送信完了したデータ量であってもよい。この場合、ネットワーク負荷情報生成部２５は、測定情報の履歴を蓄積しておくことにより、過去の測定情報の変動に基づいて、ネットワーク負荷情報を生成してもよい。
【００４９】
具体的には、ネットワーク負荷情報生成部２５は、測定情報としてのＲＴＴの値が大きくなり続けていれば、次の送信処理時のネットワークが混んでいることを表すネットワーク負荷情報を生成してもよい。また、ネットワーク負荷情報生成部２５は、測定情報としての単位時間あたりの送信完了データ量が大きくなり続けていれば、次の送信処理時のネットワークがすいていることを表すネットワーク負荷情報を生成してもよい。
【００５０】
送信制御部２６は、バッファ蓄積情報およびネットワーク負荷情報に基づいて、使用可能帯域幅を超えた通信を行うか否かを判断し、判断結果に基づいて、データ送信部１３により使用される帯域幅および今後のログの送信量を決定する。ここで、使用可能帯域幅とは、データ送信部１３によるログ送信処理に対してあらかじめ使用可能であると制限された帯域幅である。例えば、使用可能帯域幅は、ログ収集装置９１に接続される全てのデータ送信制御装置２におけるログ送信処理全体に対してあらかじめ定められた使用可能帯域幅に基づいて定められていてもよい。例えば、帯域幅が１００Ｍｂｐｓ（megabit per second）のネットワークに１台のログ収集装置９１および１０台のデータ送信制御装置２が接続されている場合について考える。この場合、全てのデータ送信制御装置２によるログ送信処理全体に対して全体の１０％に当たる１０Ｍｂｐｓの帯域幅が定められていたとする。この場合、１台のデータ送信制御装置２のログ送信処理に許容される使用可能帯域幅は、１Ｍｂｐｓとなる。なお、このようなログ送信処理全体の使用可能帯域幅を全体の何パーセントとするかは、そのネットワークにおいて過去に使用された帯域幅の実績情報に基づいて、ログ送信処理により使用可能帯域幅全てが使用された場合でもネットワーク全体の帯域が溢れることない値が定められているものとするとする。例えば、ネットワークで使用された帯域幅の過去の平均が８０％であるとき、ログ送信処理全体の使用可能帯域幅を１０％に設定しても輻輳が発生する可能性が低いが、３０％に設定すると輻輳が発生する可能性が高い。この場合、ログ送信処理全体の使用可能帯域はあらかじめ１０％に定められる。
【００５１】
例えば、送信制御部２６は、ネットワーク負荷情報が所定の混雑条件を満たさず、バッファ蓄積情報が所定の蓄積過剰条件を満たす場合に、データ送信部１３に定められた使用可能帯域幅を超える帯域幅を決定し、決定した帯域幅に基づき送信量を決定してもよい。
【００５２】
ここで、本実施の形態では、ネットワーク負荷情報は、次回の送信処理時においてネットワークが混雑しているか否かを表す情報である。したがって、本実施の形態では、所定の混雑条件とは、ネットワーク負荷情報がネットワークの混雑を示すことであってもよい。また、本実施の形態では、バッファ蓄積情報は、バッファ部１２に蓄積されたログが送出されることによるネットワークの負荷に対する影響を表す情報（例えば、送出に要する所要時間等）である。したがって、本実施の形態では、所定の蓄積過剰条件とは、バッファ蓄積情報としての上述の所要時間等が閾値を超えることであってもよい。
【００５３】
具体的には、送信制御部２６は、ネットワーク負荷情報が所定の混雑条件を満たさず、バッファ蓄積情報が所定の蓄積過剰条件を満たす場合に、使用可能帯域幅を超える帯域幅としてあらかじめ定められた所定の帯域幅を決定してもよい。例えば、データ送信部１３の使用可能帯域幅が１Ｍｂｐｓと定められている場合、送信制御部２６は、使用可能帯域幅を超えた帯域幅として２Ｍｂｐｓを決定し、２Ｍｂｐｓで送信可能な送信量を決定してもよい。また、この場合、送信制御部２６は、ネットワーク負荷情報が所定の混雑条件を満たさない間、送信処理の度に段階的に増加させる送信量を決定してもよい。
【００５４】
また、送信制御部２６は、ネットワーク負荷情報が混雑条件を満たさない場合で、バッファ蓄積情報が蓄積過剰条件を満たさない場合には、データ送信部１３に定められた使用可能帯域幅を超えない帯域幅を決定し、決定した帯域幅に基づき送信量を決定してもよい。もし、前回のデータ送信部１３の送信処理において使用可能帯域幅を超える帯域幅を決定していたのであれば、送信制御部２６は、使用可能帯域幅を超えない帯域幅を新たに決定する。もし、前回のデータ送信部１３の送信処理においても使用可能帯域幅を超えない帯域幅を決定していたのであれば、送信制御部２６は、帯域幅を変更しなくてよい。また、この場合も、送信制御部２６は、ネットワーク負荷情報が所定の混雑条件を満たさない間、送信処理の度に段階的に増加させる送信量を決定してもよい。
【００５５】
また、送信制御部２６は、ネットワーク負荷情報が所定の混雑条件を満たす場合は、使用可能帯域幅を超えない帯域幅であって現時点より小さい帯域幅を決定し、決定した帯域幅に基づき前記送信量を制御してもよい。例えば、使用可能帯域幅が１Ｍｂｐｓで前回使用した帯域幅が１Ｍｂｐｓであるとき、送信制御部２６は、０．１Ｍｂｐｓの帯域幅を決定してもよい。また、この場合、送信制御部２６は、決定した帯域幅で送信する送信量を、トレンド分析等を用いて動的に決定してもよい。例えば、送信制御部２６は、次回の送信処理時のネットワーク負荷をトレンド分析による傾向情報を用いて予測することにより、予測したネットワーク負荷の程度に応じて、現時点よりも小さな送信量を動的に決定してもよい。あるいは、送信制御部２６は、このようなケースにあらかじめ定められた所定の小さなサイズの送信量（例えば、１バイト）を決定してもよい。
【００５６】
以上のように構成されたデータ送信制御装置２の動作について説明する。
【００５７】
まず、データ送信制御装置２のログ収集動作について説明する。データ送信制御装置２のログ収集動作は、図２を用いて説明した本発明の第１の実施の形態としてのデータ送信制御装置１のデータ収集動作と略同様である。ただし、本実施の形態では、データ収集部２１は、データとして、データ送信制御装置２の動作や状態の履歴が記録されたログを収集し、バッファ部１２に蓄積する。
【００５８】
次に、データ送信制御装置２のログ送信制御動作について、図５〜図６を参照して説明する。
【００５９】
図５では、まず、バッファ蓄積情報生成部２４は、バッファ部１２におけるログの蓄積率の変動に基づいて、バッファ部１２に蓄積されたログが送出されることによるネットワークの負荷に対する影響を表すバッファ蓄積情報を生成する（ステップＳ２１）。例えば、前述のように、バッファ蓄積情報生成部２４は、バッファ部１２に蓄積されたログが現在の通信スループットで全てネットワークに送出されるまでに要する時間を表すバッファ蓄積情報を生成してもよい。
【００６０】
次に、ネットワーク負荷情報生成部２５は、データ送信部１３による前回までの送信処理に関する測定情報の変動に基づいて、次回の送信処理時にネットワークが混雑しているか否かを表すネットワーク負荷情報を生成する（ステップＳ２２）。
【００６１】
次に、送信制御部２６は、ステップＳ２１で生成されたバッファ蓄積情報と、ステップＳ２２で生成されたネットワーク負荷情報とに基づいて、データ送信部１３により次回使用される帯域幅およびログの送信量を決定する（ステップＳ２３）。このステップの詳細については後述する。
【００６２】
次に、データ送信部１３は、バッファ部１２に蓄積されたログのうち、ステップＳ２３で決定された送信量分のログを、決定された帯域幅を使用してログ送信装置９１に対して送信する（ステップＳ２４）。
【００６３】
以上の動作を、データ送信制御装置２は、所定間隔またはあらかじめ定められたスケジュールに従って繰り返す。
【００６４】
次に、ステップＳ２３の動作の詳細を図６に示す。
【００６５】
図６において、まず、送信制御部２６は、ステップＳ２２で生成されたネットワーク負荷情報が、所定の混雑条件を満たすか否かを判断する（ステップＳ３１）。つまり、送信制御部２６は、ネットワーク負荷情報が、ネットワークが混雑していることを示すか否かを判断する。
【００６６】
ここで、所定の混雑条件を満たすと判断された場合、送信制御部２６は、使用可能帯域幅を超えない範囲のより小さな帯域幅を決定し、決定した帯域幅に基づいて送信量を決定する（ステップＳ３２）。例えば、使用可能帯域幅が１Ｍｂｐｓであれば、送信制御部２６は、使用可能帯域幅を超えない範囲のより小さな帯域幅として、０．１Ｍｂｐｓを決定してもよい。そして、送信制御部２６は、０．１Ｍｂｐｓの帯域幅で送信するログの送信量として、１バイトの送信量を決定してもよい。
【００６７】
一方、所定の混雑条件を満たさないと判断された場合、送信制御部２６は、ステップＳ２１で生成されたバッファ蓄積情報が、所定の蓄積過剰条件を満たすか否かを判断する（ステップＳ３３）。つまり、送信制御部２６は、バッファ蓄積情報の示す値が閾値を超えているか否かを判断する。
【００６８】
ここで、所定の蓄積過剰条件を満たすと判断された場合、送信制御部２６は、使用可能帯域幅を超えた帯域幅を決定し、決定した帯域幅に基づき送信量を決定する（ステップＳ３４）。例えば、使用可能帯域幅が１Ｍｂｐｓであれば、送信制御部２６は、使用可能帯域幅を超えた帯域幅として、２Ｍｂｐｓを決定してもよい。また、この場合、ネットワーク負荷情報が所定の混雑条件を満たさず、バッファ蓄積情報が所定の蓄積過剰条件を満たす間、送信制御部２６は、ステップＳ３４を実行する度に段階的に増加させた送信量を決定してもよい。
【００６９】
一方、所定の蓄積過剰条件を満たさないと判断された場合、送信制御部２６は、使用可能帯域幅を超えないよう送信量を決定する（ステップＳ３５）。例えば、使用可能帯域幅が１Ｍｂｐｓであれば、送信制御部２６は、使用可能帯域幅を超えない帯域幅として、１Ｍｂｐｓを決定してもよい。また、この場合、送信制御部２６は、ネットワーク負荷情報が所定の混雑条件を満たさず、バッファ蓄積情報が所定の蓄積過剰条件を満たさない間、ステップＳ３５を実行する度に段階的に増加させた送信量を決定してもよい。
【００７０】
以上で、ステップＳ２３における送信量制御動作の詳細な説明を終了する。
【００７１】
次に、本発明の第２の実施の形態の効果について述べる。
【００７２】
本発明の第２の実施の形態としてのデータ送信制御装置は、ログ送信処理の使用可能帯域幅が設定されている場合に、送信対象となるログを収集して外部に送信する装置側での制御により、ネットワーク負荷を増大させることなく、大きな遅延なしにより多くのログを送信することができる。
【００７３】
その理由は、送信制御部が、バッファ蓄積情報とネットワーク負荷情報とに基づいて、使用可能帯域幅を超えて通信を行うか否かを判断し、判断結果に基づいて、次回の帯域幅および送信量を決定するからである。
【００７４】
これにより、本実施の形態としてのデータ送信制御装置は、バッファ蓄積量が増大している場合で、次回送信処理時のネットワークの負荷が高くないと予想されれば、使用可能帯域幅を超えて次回の送信処理で使用する帯域幅および送信量を多くすることにより、バッファ蓄積量を減らすことが可能となる。その結果、本実施の形態は、収集されてから送信されるまでに遅延が生じるログを減らすことができる。しかも、本実施の形態としてのデータ送信制御装置は、ネットワークの負荷が高い場合は、バッファ蓄積情報に関わらず、次回の送信処理で使用する帯域幅および送信量を少なくしてネットワークの混雑を抑制する。このように、本実施の形態は、ログ送信処理の使用可能帯域幅が設定されていても、ネットワーク負荷を増大させることなく、大きな遅延なしにより多くのログを送信することが可能である。
【００７５】
また、本発明の第２の実施の形態としてのデータ送信制御装置は、ネットワーク負荷状況およびバッファ蓄積状況をより精度良く判断して、ネットワーク負荷を増大させることなく、大きな遅延なしにより多くのログを送信することができる。
【００７６】
その理由は、バッファ蓄積情報生成部が、バッファ部に蓄積されたログがネットワークに送出される際にネットワークの負荷に与える影響を表すバッファ蓄積情報を生成し、ネットワーク負荷情報生成部が、前回までの送信処理における測定情報に基づいて次回の送信処理時におけるネットワークの負荷が高いか否かを表すネットワーク負荷情報を生成するからである。これにより、送信制御部は、次回の送信処理時のネットワーク負荷状況が混雑しているか否かをより精度良く判定することが可能となり、かつ、バッファ蓄積状況がネットワーク負荷に与える影響が大きいか否かをより精度良く判定することが可能となる。その結果、送信制御部は、使用可能帯域幅を超えた送信処理を行うか否かをより精度良く判断可能となるからである。
【００７７】
なお、本発明の実施の形態において、データ送信制御装置により送信対象とされるデータがログである例を中心に説明したが、本実施の形態は、その他のデータを送信対象とする場合にも適用可能である。
【００７８】
また、上述した本発明の各実施の形態において、データ送信制御装置は、データ送信制御動作（使用する帯域幅および送信量を決定する動作）を、外部へのデータ送信処理を実行する度に行ってもよいし、複数の送信処理に対して１回の送信制御動作を行ってもよい。例えば、送信処理の実行間隔が長い場合や、ネットワーク全体の負荷状況が頻繁に変化する環境では、各実施の形態のデータ送信制御装置は、データ送信処理を実行する度にデータ送信制御動作を行うことが望ましい。また、送信処理の実行間隔が短い場合や、ネットワーク全体の負荷状況があまり変化しない環境では、各実施の形態のデータ送信制御装置は、複数の送信処理に対して１回の送信制御動作を行ってもよい。
【００７９】
また、上述した本発明の各実施の形態において、各フローチャートを参照して説明したデータ送信制御装置の動作を、本発明のコンピュータ・プログラムとしてコンピュータ装置の記憶装置（記憶媒体）に格納しておき、係るコンピュータ・プログラムを当該ＣＰＵが読み出して実行するようにしてもよい。そして、このような場合において、本発明は、係るコンピュータ・プログラムのコードあるいは記憶媒体によって構成される。
【００８０】
また、上述した各実施の形態は、適宜組み合わせて実施されることが可能である。
【００８１】
また、本発明は、上述した各実施の形態に限定されず、様々な態様で実施されることが可能である。
【００８２】
また、上述した各実施の形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
（付記１）
送信対象となるデータを収集するデータ収集部と、
前記データ収集部によって収集されたデータを蓄積するバッファ部と、
前記バッファ部に蓄積されたデータを、ネットワークを介して外部に送信するデータ送信部と、
前記バッファ部に蓄積されたデータの蓄積量に関するバッファ蓄積情報を生成するバッファ蓄積情報生成部と、
前記ネットワークの負荷に関するネットワーク負荷情報を生成するネットワーク負荷情報生成部と、
前記バッファ蓄積情報および前記ネットワーク負荷情報に基づいて、前記データ送信部により使用される帯域幅およびデータの送信量を制御する送信制御部と、
を備えたデータ送信制御装置。
（付記２）
前記送信制御部は、前記バッファ蓄積情報および前記ネットワーク負荷情報に基づいて、前記データ送信部にあらかじめ定められた使用可能帯域幅を超えてデータ送信を行うか否かを判断し、判断結果に基づいて前記帯域幅および前記送信量を制御することを特徴とする付記１に記載のデータ送信制御装置。
（付記３）
前記送信制御部は、前記ネットワーク負荷情報が所定の混雑条件を満たすか否か、および、前記バッファ蓄積情報が所定の蓄積過剰条件を満たすか否かに基づいて、前記帯域幅および前記送信量を制御することを特徴とする付記１または付記２に記載のデータ送信制御装置。
（付記４）
前記送信制御部は、前記ネットワーク負荷情報が所定の混雑条件を満たさず、前記バッファ蓄積情報が所定の蓄積過剰条件を満たすとき、前記使用可能帯域幅を超える帯域幅を決定し、決定した帯域幅に基づき前記送信量を制御することを特徴とする付記３に記載のデータ送信制御装置。
（付記５）
前記送信制御部は、前記ネットワーク負荷情報が所定の混雑条件を満たさず、前記バッファ蓄積情報が所定の蓄積過剰条件を満たさないとき、前記使用可能帯域幅を超えない帯域幅を決定し、決定した帯域幅に基づき前記送信量を制御することを特徴とする付記３または付記４に記載のデータ送信制御装置。
（付記６）
前記送信制御部は、前記ネットワーク負荷情報が所定の混雑条件を満たすとき、前記使用可能帯域幅を超えない帯域幅であって現時点より小さい帯域幅を決定し、決定した帯域幅に基づき前記送信量を制御することを特徴とする付記３から付記５のいずれか１つに記載のデータ送信制御装置。
（付記７）
前記バッファ蓄積情報生成部は、前記バッファ蓄積情報として、前記バッファ部におけるデータの蓄積量の変化率を表すバッファ蓄積率に基づく情報を生成することを特徴とする付記１から付記６のいずれか１つに記載のデータ送信制御装置。
（付記８）
前記バッファ蓄積情報生成部は、前記バッファ蓄積情報として、前記バッファ部に蓄積されたデータが送出されることによるネットワークの負荷に対する影響を表す情報を、前記バッファ蓄積率の変動に基づいて生成することを特徴とする付記７に記載のデータ送信制御装置。
（付記９）
前記ネットワーク負荷情報生成部は、前記ネットワーク負荷情報として、前記データ送信部による送信処理に関して測定される測定情報に基づく情報を生成することを特徴とする付記１から付記８のいずれか１つに記載のデータ送信制御装置。
（付記１０）
前記ネットワーク負荷情報生成部は、前記ネットワーク負荷情報として、前記データ送信部による次回のデータ送信時において前記ネットワークが混雑しているか否かを表す情報を、前記測定情報の変動に基づいて生成することと特徴とする付記９に記載のデータ送信制御装置。
（付記１１）
前記ネットワーク負荷情報生成部は、前記測定情報として、前記データ送信部による送信処理におけるラウンドトリップタイムを測定することを特徴とする付記９または付記１０に記載のデータ送信制御装置。
（付記１２）
前記ネットワーク負荷情報生成部は、前記測定情報として、前記データ送信部により単位時間あたりに送信完了したデータ量を測定することを特徴とする付記９または付記１０に記載のデータ送信制御装置。
（付記１３）
送信対象となるデータを収集してバッファ部に蓄積し、
前記バッファ部に蓄積されたデータの蓄積量に関するバッファ蓄積情報を生成し、
ネットワークの負荷に関するネットワーク負荷情報を生成し、
前記ネットワークを介して前記バッファ部に蓄積されたデータを外部に送信する際に、前記バッファ蓄積情報および前記ネットワーク負荷情報に基づいて、送信処理に使用される帯域幅およびデータの送信量を制御する、データ送信制御方法。
（付記１４）
送信対象となるデータを収集してバッファ部に蓄積するデータ収集ステップと、
前記バッファ部に蓄積されたデータの蓄積量に関するバッファ蓄積情報を生成するデータ蓄積情報生成ステップと、
ネットワークの負荷に関するネットワーク負荷情報を生成するネットワーク負荷情報生成ステップと、
前記ネットワークを介して前記バッファ部に蓄積されたデータを外部に送信する際に、前記バッファ蓄積情報および前記ネットワーク負荷情報に基づいて、送信処理に使用される帯域幅およびデータの送信量を制御する送信制御ステップと、
をコンピュータ装置に実行させるコンピュータ・プログラム。
【符号の説明】
【００８３】
１、２    データ送信制御装置
１１、２１    データ収集部
１２    バッファ部
１３    データ送信部
１４、２４    バッファ蓄積情報生成部
１５、２５    ネットワーク負荷情報生成部
１６、２６    送信制御部
９０    外部装置
９１    ログ収集装置
【図１】
2014112779.tif 000003
【図２】
2014112779.tif 000004
【図３】
2014112779.tif 000005
【図４】
2014112779.tif 000006
【図５】
2014112779.tif 000007
【図６】
2014112779.tif 000008