(57)【特許請求の範囲】
【請求項１】
一又は複数のデータ送信部から構成されるデータ送信部群と、
データの送信期限が近づくほど、前記データ送信部群が送信するデータの送信量を単調減少させる制御部と、
前記データ送信部群から送信されるデータを受信するデータ集約部と、
を備えるデータ集約システム。
【請求項２】
前記制御部は、
データの送信期限が近づくほど、少なくとも一つの前記送信部が送信するデータの送信量を単調減少させる
請求項１記載のデータ集約システム。
【請求項３】
特定時点からデータの送信期限までの時間を分割した複数の時間間隔をタイムスロットとし、前記各データ送信部がデータを送信するタイムスロットを送信タイムスロットとして決定する送信タイムスロット決定部と、
前記各送信タイムスロットにおいて、前記各データ送信部が送信するデータの送信量が、前記データの送信期限が近付くほど単調減少し、かつ／または、前記データ送信部群が送信するデータの送信量が、前記データの送信期限が近付くほど単調減少するように、前記各送信タイムスロットにデータの送信量を割り当てる送信量割当て部と、を備え、
前記制御部は、前記各データ送信部が、前記送信量割当て部に割り当てられた送信量のデータを送信するよう制御する請求項１または２記載のデータ集約システム。
【請求項４】
前記制御部はさらに、前記データ送信部が送信したデータに再送が発生した場合、再送時点から前記データの送信期限までの期間において、再送分の送信量を含めたデータの送信量を、前記データの送信期限が近づくほど単調減少させる
請求項１乃至３のいずれか一つに記載のデータ集約システム。
【請求項５】
前記特定時点から前記データの送信期限までのデータをバッファリングし、前記データ送信部にバッファリングしたデータを送信するバッファリング部と、
前記バッファリング部にバッファリングされたデータ量が、前記特定時点から前記データの送信期限までに前記各送信タイムスロットに割り当てられたデータの総量を超過する場合、前記バッファリング部にバッファリングされたデータ量が、前記特定時点から前記データの送信期限までに前記各送信タイムスロットに割り当てられたデータの総量以下になるようにデータの圧縮を行うデータ圧縮部と、を備える、
請求項３に記載のデータ集約システム。
【請求項６】
前記送信タイムスロット決定部はさらに、前記各タイムスロットにおける前記複数のデータ送信部の前記データ集約部への接続数が所定の閾値以下であり、かつ、前記特定時点から前記データの送信期限までにおける各データ送信部のデータ送信回数が同一となるように、送信タイムスロットを決定する
請求項３又は５のいずれか一つに記載のデータ集約システム。
【請求項７】
前記送信タイムスロット決定部はさらに、前記データ送信部の数が前記データ集約部の所定の接続上限数より多い場合、複数の前記データ送信部から前記所定の接続上限数のデータ送信部を選択する際の組み合わせの数の倍数を、前記タイムスロットの数とする
請求項３、５又は６のいずれか一つに記載のデータ集約システム。
【請求項８】
データの送信期限が近づくほど、一又は複数のデータ送信部から構成されるデータ送信部群が送信するデータの送信量を単調減少させる制御処理と、
前記データ送信部群から送信されるデータを受信するデータ集約処理と、
をコンピュータに実行させるデータ集約プログラム。
【請求項９】
制御部が、データの送信期限が近づくほど、一又は複数のデータ送信部から構成されるデータ送信部群が送信するデータの送信量を単調減少させ、
データ集約部が、前記データ送信部群から送信されるデータを受信する、
データ集約方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一又は複数のデータ送信部から送信されるデータを集約するためのデータ集約システム、データ集約プログラム、及びデータ集約方法に関する。
【背景技術】
【０００２】
データ集約システムとは、例えばアプリケーションにおいてデータの出力が行われる場合に、データ送信部が定期的にアプリケーションから受け取ったデータを送信し、データ集約部にて送信されたデータを集約するシステムである。特に、データ集約部が複数のデータ送信部からのデータを受信する場合には、各データ送信部のデータ送信タイミングを調節することで、データ集約部およびデータ送信部が過負荷となることを防ぎ、効率的にデータ集約を行う必要がある。そのようなログ集約システムの一例が特許文献１および特許文献２に記載されている。
【０００３】
特許文献１では、データ集約システムに相当するシステムが、クライアントおよびサーバにより構成されている。クライアント内のクライアントモジュールは、サーバ内のスケジュール設定部で設定されたスケジュール指定情報に基づき、クライアントのマシン情報を収集してサーバに送信する。スケジュール指定情報は、クライアントのマシン情報を収集する時刻、マシン負荷が低いときにマシン情報を送信するか否か、などを指定している。
【０００４】
特許文献２では、データ集約システムに相当するシステムが、センサ、データ集約装置、およびセンサからのデータをデータ集約装置に送信するゲートウェイ装置により構成されている。ゲートウェイ装置は、センサから送信されたデータを一時的に蓄積するキューバッファを備えており、データ集約装置が作成したスケジュールに従ってキューバッファに蓄積されたデータをデータ集約装置に送信する。データ集約装置は、センサデータ用キューの使用状況に基づいて、データを送信するタイミングであるタイムリソースを決定し、各ゲートウェイ装置に対するスケジュールを作成する。
【０００５】
非特許文献１では、ネットワークにおいてデータの輻輳が発生した際に、再送のタイミングが集中しないよう、データ再送の時間間隔を指数的に増やすことが記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００１−３０６５１１号公報
【特許文献２】特許第４５７４６００号
【非特許文献１】B.-J. Kwak, N.-O. Song and L. E. Miller "Analysis of the stability and performance of exponential backoff",Proc. IEEE WCNC, 2003, vol. 3, pp.1754-1759
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、集約されたデータはデータ収集の目的に応じて分析・利用されるため、データの送信期限が設けられていることが多い。また、送信期限までの残り時間が短くなってから再送が発生すると、残り時間で送信すべきデータ量が、再送発生時点から送信期限までの間の最大送信可能データ量を超過してしまい、送信期限までにデータの送信を完了できないことがあった。しかし、特許文献１、２及び非特許文献１に記載のデータ集約システムでは、送信期限までの残り時間が短くなってから再送が発生することがあり、送信期限までにデータの送信を完了できないという問題点があった。
【０００８】
そこで、本発明の目的は、期限内にデータの集約を完了できるデータ集約システムを提供することにある。
【課題を解決するための手段】
【０００９】
本発明の第一のシステムは、一又は複数のデータ送信部から構成されるデータ送信部群と、データの送信期限が近づくほど、前記データ送信部群が送信するデータの送信量を単調減少させる制御部と、前記データ送信部群から送信されるデータを受信するデータ集約部と、を備える。
【発明の効果】
【００１０】
本発明によれば、期限内にデータの集約を完了できるデータ集約システムを提供することができる。
【図面の簡単な説明】
【００１１】
【図１】第一実施形態の構成を示すブロック図である。
【図２】第一実施形態のハードウェア構成を示すブロック図である。
【図３】第二実施形態の構成を示すブロック図である。
【図４】送信スケジュールの一例を示す説明図である。
【図５】データ収集部１１の動作の一例を示すフローチャートである。
【図６】データ集約部１２の動作の一例を示すフローチャートである。
【図７】第三実施形態の構成を示すブロック図である。
【図８】データ収集サーバリストの一例を示す説明図である。
【図９】空の送信スケジュールの一例を示す説明図である。
【図１０】送信タイムスロット決定部１３３の動作の一例を示すフローチャートである。
【図１１】スケジュール基本設定の一例を示す説明図である。
【図１２】送信スケジュールの一例を示す説明図である。
【図１３】送信スケジュール作成部１１６の動作の一例を示すフローチャートである。
【図１４】割当て基本設定の一例を示す説明図である。
【図１５】送信スケジュールの一例を示す説明図である。
【図１６】更新された送信スケジュールの一例を示す説明図である。
【図１７】データ圧縮部１１７の動作の一例を示すフローチャートである。
【図１８】送信スケジュール作成部１１６の動作の一例を示すフローチャートである。
【図１９】更新された送信スケジュールの一例を示す説明図である。
【発明を実施するための形態】
【００１２】
以下に、図面を参照して、本発明の実施の形態について詳しく説明する。ただし、以下の実施の形態に記載されている構成要素はあくまで例示であり、本発明の技術範囲をそれらに限定する趣旨のものではない。
（第一実施形態）
（第一実施形態の構成）
第一実施形態の構成例について説明する。図１は第一実施形態の構成例を示すブロック図である。
【００１３】
データ集約システム１は、データ送信部群２と、制御部３と、データ集約部４とを含む。データ送信部群２は、一又は複数のデータ送信部５から構成される。データ送信部群２は、例えばアプリケーション等から出力されたデータをデータ集約部４に送信する。制御部３は、データ送信部群２が送信するデータ量が、データの送信期限が近づくほど単調減少するようデータ送信部群を制御する。ここで単調減少とは、データの送信量が、データの送信期限が近づいても「増加しない」ことをいう。また、特定時点から送信期限までの間にデータの送信量が０となる時間がある場合は、当該時間の送信量はデータの送信量に含めなくても良い。すなわち、制御部３は、データ送信部群２によるデータの送信量が「０」と「０より大きい」を繰り返すような場合は、「０より大きい」となる時間のデータ送信量について、データの送信期限が近づくほど単調減少するよう制御してもよい。また、データ送信部群２が複数のデータ送信部５で構成される場合、データ送信部群２のデータ送信量が単調減少していれば良く、各データ送信部５のデータ送信量は単調減少していなくてもよい。例えば、データの送信期限が近づくほどデータ送信量が増加するデータ送信部５があっても良く、増加と減少を繰り返すようなデータ送信部５があっても良い。なお、制御部３およびデータ集約部４は一つでも複数でも良い。制御部３は、データ集約部４またはデータ送信部５と同一のハードウェア装置によって実現されても良いし、別のハードウェア装置によって実現されても良い。データ集約部４は、データ送信部群２が送信したデータを受信する。
【００１４】
データ送信部群２、制御部３、データ集約部４のそれぞれを実現するハードウェア間の情報の送受信は、通信ネットワークを介して行われる。通信は無線でも有線でも良い。また、ハードウェア間を結ぶ通信ネットワークは、インターネット等の同一のネットワークでも良いし、異なるネットワークでも良い。
【００１５】
次に、第一実施形態のハードウェア構成について、図２を用いて説明する。図２は、制御部３、データ集約部４、データ送信部５をそれぞれ実現するハードウェアの構成を示している。ＣＰＵ６は演算制御用のプロセッサであり、プログラムを実行することで本発明の各機能手段を実現する。ＲＯＭ７は、初期データ及びプログラムなどの固定データ及びプログラムを記憶する。通信制御部８は、ネットワークを介して外部装置と通信する。ＲＡＭ９は、ＣＰＵ６が一時記憶のワークエリアとして使用するランダムアクセスメモリである。ＲＡＭ９には、本実施形態の実現に必要な種々のデータを記憶する容量が確保される。大容量記憶部１０は、本実施形態の実現に必要なデータベース等のデータや、ＣＰＵ６が実行するアプリケーションプログラムを、不揮発に記憶する。
【００１６】
第一実施形態では、データ送信部群２のデータの送信量が、送信期限が近づくほど単調減少するため、送信期限が近づくほど、再送の発生率が小さくなる。すると、送信期限までの残り時間で送信すべきデータ量が、送信期限までの間の最大送信可能データ量を超過する確率が小さくなる。つまり、本実施形態により、送信期限内にデータ集約を完了することができる。
【００１７】
また、他の課題として、送信期限に近づいてから再送が増加することで、送信期限付近でのデータ送信部のハードウェア負荷が増加し、データ送信部と同一のハードウェア上にあるアプリケーションの性能が劣化することがあった。しかし、本実施形態のようにデータの送信期限が近づくほど単調減少するようデータ送信部群を制御することにより、送信期限に近づく毎にデータ送信部の負荷を低くすることができる。そのため、本実施形態では、データ送信部と同一のハードウェア上にあるアプリケーションの性能劣化を防ぐことができる。
【００１８】
さらに本実施形態の変形例として、制御部３は、データ送信部５が送信するデータの送信量を、送信期限に近づくほど単調減少させても良い。つまり、制御部３は、全て又は一部のデータ送信部５を別個に制御し、それぞれについてのデータ送信量を送信期限に近づくほど単調減少させることで、データ送信部群２として送信するデータ量が送信期限に近づくほど単調減少するよう制御しても良い。
（第二実施形態）
（第二実施形態の構成）
第二実施形態の構成例について説明する。図３は第二実施形態の構成例を示すブロック図である。第二実施形態では、第一実施形態と比較すると、各制御部１１４が各データ送信部１１３と共にデータ収集部１１を構成している点で異なる。そのため、データ送信部群が送信するデータ量が送信期限に近づくほど単調減少するだけでなく、各データ送信部１１３が送信するデータ量も、送信期限に近づくほど単調減少する。また、第二実施形態では、データ集約部１２およびデータ取集部１１内に複数の構成が存在する。詳細は以下で説明する。
【００１９】
データ集約システム１は、データ収集部１１とデータ集約部１２とを含む。データ収集部１１およびデータ集約部１２は、ひとつでも複数でもよい。データ収集部１１とデータ集約部１２とは通信ネットワークを介して接続されている。データ収集部１１は、不図示のアプリケーションからデータを受信し、受信したデータをデータ集約部１２に送信する。アプリケーションが出力するデータは、例えば、データが生成された時刻とデータ内容を含むログデータ等である。データ集約部１２は、データ収集部１１から受信したデータを不図示のデータ分析部へ送信する。不図示のデータ分析部は、データ集約部１２からデータを受信し、受信したデータの分析処理を行う。分析処理は取得したデータを利用するための任意の内容でよく、例えば、ログデータ中の特定の単語の数を計数する等がある。データ分析部が分析処理を繰り返す時間間隔をタイムボックスとする。分析処理の対象となるデータは、当該分析処理が開始するまでに分析部への送信が完了されなければならない。よって、データ集約部１２は、分析処理に間に合うように、当該分析の対象となるデータを取集部１１から収集しきらなければならない。そのため、データ収集部１１が送信するデータには、データの送信期限が設けられている。本実施形態では、あるタイムボックスにおいてアプリケーションで生成されたデータの分析開始時刻を、次のタイムボックス終了時点とする。つまり、データが生成されたタイムボックスの次のタイムボックスの終了時点を、そのデータの送信期限とする。しかし、データの送信期限はこれに限られず、データが生成されたタイムボックスから所定の数のタイムボックスが経過した時点としてもよいし、具体的な時間や時刻を設定しても良い。
＜データ収集部１１＞
データ収集部１１は、データ記憶部１１１、データバッファリング部１１２、データ送信部１１３、制御部１１４、送信スケジュール記憶部１１５を含む。データ記憶部１１１は、不図示のアプリケーションが出力したデータを記憶する。データバッファリング部１１２は、不図示のアプリケーションが出力したデータがデータ記憶部１１１に書き込まれたタイミングで、当該データの一時的な記憶（バッファリング）を行う。データ収集部１１は、次のタイムボックスになったと判定するとバッファリングされたデータを不図示の送信用バッファに移動し、データバッファリング部１１２が記憶していたデータを削除する。データ収集部１１は、タイムボックス経過毎にこの処理を行う。次のタイムボックスになったか否かの判定は、現在の時刻を元に行われても良いし、タイムボックス開始時点からの経過時間を計測することによって行われても良い。
【００２０】
データ送信部１１３は、送信用バッファに記憶されたログをデータ集約部１２に送信する。データ送信部１１３が送信するデータ量や送信のタイミングは制御部１１４により制御されている。
【００２１】
制御部１１４は、送信スケジュール記憶部１１５に記憶された送信スケジュールを参照し、送信スケジュールに従ってデータ送信部１１３のデータの送信を制御する。具体的には、制御部１１４は、送信スケジュールが示すデータの送信のタイミングになったことを判定すると、データ送信部１１３にデータを送信させる。
【００２２】
送信スケジュール記憶部１１５は、送信スケジュールを記憶する。送信スケジュールの一例を図４に示す。送信スケジュールは例えば、データ送信部１１３が、どのタイムボックスのどのタイムスロットにおいてどのくらいの量のデータを送信するかを示す。ここで、タイムスロットとは、タイムボックスをさらに所定の時間間隔で分割したものをいう。
図４に示す送信スケジュールでは、タイムボックス１は６０秒間から成り、各タイムスロットは１０秒である。ここで、データ送信部１１３がデータを送信するタイムスロット（データ送信量＞０のタイムスロット）を送信タイムスロットと呼ぶ。図４に示す送信スケジュールでは、タイムスロット１において１００、タイムスロット４において７５、タイムスロット５において５０の所定単位のデータが、データ送信部１１３から送信されることを示している。図４に示す送信スケジュールは一例であるが、送信スケジュールは、データの送信期限（本実施例ではタイムボックスの終了時点）が近づくほど、各送信タイムスロットにおけるデータの送信量が単調減少する必要がある。制御部１１４は、送信スケジュールを参照することで、データ送信部１１３が送信するデータの量やタイミングを制御することができる。
＜データ集約部１２＞
データ集約部１２は、データ受信部１２１、データ受信キュー１２２を含む。データ受信部１２１は、一又は複数のデータ送信部１１３から送信されたデータを受信し、データ受信キュー１２２に記憶させる。データ受信キュー１２２は、データ受信部１２１がデータを受信したタイミングで、当該データを記憶する。不図示のデータ分析部は、タイムボックス経過毎にデータ受信キュー１２２に記憶されている全てのデータを取得し、データ受信キュー１２２に記憶されているデータを削除する。そして、データ分析部は取得したデータの分析処理を行う。なお、データ分析部はデータ集約部と同一のハードウェア装置によって実現されても良いし、別でも良い。
（第二実施形態の動作）
以下、第二実施形態の動作について説明する。
＜データ収集部１１＞
図５は、データ収集部１１の動作を示すフローチャートである。まず、データバッファリング部１１２は、データ記憶部１１１がアプリケーションから受信したデータをバッファリングする（Ｓ２１）。データ収集部１１は、バッファリングされたデータが生成したタイムボックスの次のタイムボックスになったか否かを判定する（Ｓ２２）。次のタイムボックスになっていないと判定された場合、次のタイムボックスになったと判定されるまで、データバッファリング部１１２はデータのバッファリングを繰り返し行う。次のタイムボックスになったと判定された場合、データ収集部１１は、データバッファリング部１１２がバッファリングしたデータを送信用バッファに移動し、データバッファリング部１１２が記憶していたデータを削除する（Ｓ２３）。制御部１１４は、送信スケジュール記憶部１１５に記憶されている送信スケジュールを参照し、データ送信のタイミングになったか否かを判定する（Ｓ２４）。例えば制御部１１４は、タイムボックス１が開始してから１１秒が経過していると計測すると、図４に示す送信スケジュールを参照し、現在タイムスロット２であるため、データの送信タイミングでないと判定する。制御部１１４は、タイムボックス１が開始した時刻と現在の時刻から、現在のタイムスロットを判断しても良い。データの送信タイミングになっていないと判定された場合、制御部１１４は所定時間経過後に再び送信タイミングの判定を行う。データの送信タイミングになったと判定された場合、制御部１１４は、送信用バッファにバッファリングされているデータをデータ送信部１１３に送信させる（Ｓ２５）。データの送信量は、送信スケジュールの該当するタイムスロットにおけるデータ送信量となる。例えば現在がタイムスロット５であれば、制御部１１４は５０のデータをデータ送信部１１３に送信させる。さらに制御部１１４は、送信スケジュールを参照し、現在のタイムボックス内にデータを送信していない送信タイムスロットが残っているかを判断する（Ｓ２６）。例えば現在が図４のタイムスロット５におけるデータの送信が完了した時点であれば、タイムスロット６ではデータの送信量が０であるため、タイムボックス１内にはデータを送信していない送信タイムスロットは残っていない。現在のタイムボックス内にデータを送信していない送信タイムスロットが残っていない場合、データ収集部１１は現在のタイムボックスにおける処理を終了する。
＜データ集約部１２＞
図６は、データ集約部１２の動作を示すフローチャートである。まず、データ受信部１２１はデータ収集部１１からデータを受信する（Ｓ２７）。データ集約部１２は、データ受信部１１２が受信したデータをデータ受信キュー１２２に記憶させる（Ｓ２８）。データ受信キュー１１２では、データの生成時刻順にデータがソートされて記憶される。データ分析部は、次のタイムボックスになったと判定すると、データ受信キュー１１２に記憶されている全てのデータを取得し、元のデータをデータ受信キュー１１２から削除する。そして、データ分析部は、受信したデータの分析を行う（Ｓ３０）。
【００２３】
第二実施形態では、各制御部１１４がデータ収集部１１に配置され、各データ送信部１１３を制御する構成としているため、ネットワークに制御部１１４を配置する必要がない。また、各データ送信部１１３に対する送信スケジュールもデータ収集部１１内に存在するため、各データ収集部１１内の制御部１１４が互いにデータの送信量を把握する必要がない。したがって、データ送信部１１３の制御にかかる時間が短縮されるため、送信期限内にデータ集約を完了できる可能性がさらに高くなる。
（第三実施形態）
（第三実施形態の構成）
次に、第三実施形態の構成例について説明する。図７は第三実施形態の構成例を示すブロック図である。本実施形態に係るシステムは、上記第二実施形態と比べると、送信タイムスロット計画部１３、送信スケジュール作成部１１６、データ圧縮部１１７を有する点で異なる。なお、送信タイムスロット計画部１３内の各構成は、データ集約部１２やデータ収集部１１と同一のハードウェアによって実現されても良い。また、送信スケジュール作成部１１６内の各構成は、データ収集部１１と別のハードウェア装置により実現されても良い。その他の構成および動作は第二実施形態と同様のため、説明を省略する。
＜送信タイムスロット計画部＞
送信タイムスロット計画部１３は、スケジュール基本設定記憶部１３１、データ収集サーバリスト記憶部１３２、送信タイムスロット決定部１３３、送信タイムスロット記憶部１３４を含む。
【００２４】
スケジュール基本設定記憶部１３１は、データ分析部が行うデータ分析の開始時刻や終了時刻、分析を繰り返す時間間隔、データ送信部１１３がデータを送信可能な時間間隔等を、スケジュール基本設定として記憶している。また、スケジュール基本設定記憶部１３１は、データ集約部へのデータ収集部の最大同時接続数、データ受信部１２１がデータを受信可能な時間間隔等もスケジュール基本設定として記憶している。
【００２５】
データ収集サーバリスト記憶部１３２は、ログ収集部の識別子データをデータ収集サーバリストとして記憶している。データ収集サーバリストの一例を図８に示す。図８より、本実施形態のデータ集約システム１におけるデータ収集部の数は４つであり、それぞれデータ収集部１〜４というサーバ名であることがわかる。また、データ収集部１〜４には１〜４の識別子Ｎｏ．が振られている。
【００２６】
送信タイムスロット決定部１３３は、スケジュール基本設定記憶部１３１からスケジュール基本設定を、データ収集サーバリスト記憶部１３２からデータ収集サーバリストを取得する。そして、それらのデータを基に、各データ収集部がデータを送信するタイミングとなる送信タイムスロットを決定する。具体的には、送信タイムスロット決定部１３３は、データ分析の時間間隔をタイムボックスの時間幅とし、データ受信部１２１がデータを受信可能な時間間隔をタイムスロットの時間幅として、図９に示すような空の送信スケジュールを作成する。ただし、タイムボックスの時間幅やタイムスロットの時間幅はこれらに限られず、システムの設計者やユーザが任意に設定し、スケジュール基本設定記憶部１３１に格納できるものである。図９に示す表では、ＸＸ年ＸＸ月ＸＸ日のＹＹ：ＹＹ：ＹＹ（時刻）から各データ収集部によるデータの送信が開始され、同日のＺＺ：ＺＺ：ＺＺ（時刻）のデータ送信期限までにデータの送信が完了する。ＺＺ：ＺＺ：ＺＺは送信されたデータの分析開始時刻である。また、タイムボックス（ＴＢ）の時間幅はデータ分析の時間間隔であり、タイムスロット（ＴＳ）の時間幅はデータ受信部１２１がデータを受信可能な時間間隔である。そして、送信タイムスロット決定部１３３は、データ集約部へのデータ収集部の最大同時接続数をもとに、各データ収集部についての送信タイムスロットを決定する。すなわち、送信タイムスロット決定部１３３は、各タイムスロットにおいてデータを送信するデータ収集部の数が、最大同時接続数以下となるように、送信タイムスロットを決定する。また、送信タイムスロット決定部１３３は、各データ収集部の一つのタイムボックス内でのデータ送信回数を同一にしても良い。そうすると、どのデータ取集部も同じ回数データ集約部へデータを送信できる。送信タイムスロット記憶部１３４は、送信タイムスロット決定部１３３が決定した送信タイムスロットのデータを記憶する。
＜送信スケジュール作成部＞
送信スケジュール作成部１１６は、送信量割当て部１１６１、圧縮率計算部１１６２、割当て基本設定記憶部１１６３を含む。送信量割当て部１１６１は、送信タイムスロット記憶部から、自身が含まれているデータ収集部についての送信タイムスロットのデータを取得する。そして、各送信タイムスロットにおいてどのくらいの量のデータを送信するかを割り当て、送信スケジュールを作成する。同一タイムボックス内の一番目の送信タイムスロットには、データ集約部の最大同時受信データ量÷データ集約部への最大同時接続数以下のデータ送信量が割り当てられる。また、送信量割当て部１１６１は、データの送信期限であるタイムボックスの終了時点が近づくほど、データの送信量が単調減少するようにデータ送信量を割り当てる。データ送信量の割り当てに関しては第三実施形態の動作の説明にて詳しく説明する。
【００２７】
圧縮率計算部１１６２は、バッファリング部１１２に現在バッファリングされているデータ量と、次のタイムボックスについて送信量割当て部１１６１が割り当てたデータ送信量とを比較する。つまり、現在バッファリングされているデータ量と、次のタイムボックスで送信が予定されているデータの総量とが比較される。そして、圧縮率計算部１１６２は、バッファリングされているデータ量の方が多い場合、超過分を、送信スケジュールの次のタイムボックスにおける各送信タイムスロットに分配する。さらに、圧縮率計算部１１６２は、分配後の各タイムスロットにおけるデータの送信量が、送信量割当て部１１６１が割り当てた送信量になるようデータの圧縮率を計算し、送信スケジュールを更新する。
【００２８】
割当て基本設定記憶部１１６３は、送信量割当て部１１６１による送信量の割り当てに用いられるデータが記憶されている。例えば、データ集約部の最大同時受信データ量、データ集約部への最大同時接続数、単調減少関数の式、単調減少関数で用いられる定数、などである。
【００２９】
送信スケジュール記憶部１１５は、圧縮率計算部１１６２によって更新された送信スケジュールを記憶する。なお、送信スケジュール記憶部１１５は、更新前の送信スケジュールを記憶しておき、更新があった場合に更新後の送信スケジュールを上書きしてもよい。
＜データ圧縮部＞
データ圧縮部１１７は、送信スケジュール記憶部１１５に記憶されている送信スケジュールを参照し、バッファリング部１１２にバッファリングされているデータを圧縮する。データを圧縮するタイミングは、現在バッファリングされているデータについての圧縮率が圧縮率計算部１１６２によって計算され、送信スケジュールが更新された時点から、圧縮の対象となるデータがデータ送信部１１３によって送信される時点までとする。
（第三実施形態の動作）
以下、第三実施形態の動作について説明する。なお、送信タイムスロット計画部１３、送信スケジュール作成部１１６、データ圧縮部１１７以外の動作については第二実施形態と同様であるので、説明を省略する。
＜送信タイムスロット計画部＞
図１０は、送信タイムスロット決定部１３３の動作の例を示すフローチャートである。なお、図１０に示す動作は、動作によって決定される送信タイムスロットにおけるデータの送信が開始されるまでに終了する必要がある。まず、送信タイムスロット決定部１３３は、スケジュール基本設定記憶部１３１からスケジュール基本設定を、データ収集サーバリスト記憶部１３２からデータ収集サーバリストを取得する（Ｓ４１）。図１１にスケジュール基本設定の一例を示す。本実施形態の動作では、データ分析の開始時刻、分析回数、分析間隔、データ集約部１２へのデータ収集部１１の最大同時接続数、がスケジュール基本設定として取得される。
【００３０】
そして、送信タイムスロット決定部１３３は、取得したスケジュール基本設定およびデータ収集サーバリストを用いて、例えば図１２のような送信タイムスロットを決定する（Ｓ４２）。図１２ではタイムボックス１について決定された送信タイムスロットを示しているが、実際は分析回数分のタイムボックス（本実施形態ではタイムボックス１００００まで）について送信タイムスロットが決定される。また、各タイムボックスにおける各データ収集部のデータ送信のタイミングが同一の場合は、送信スケジュールを複数のタイムボックスについて使い回しても良い。本実施形態では、送信タイムスロット決定部１３３は、分析間隔（１分）をタイムボックスの時間幅として空のスケジュールを作成する。また、データの送信が行われたタイムボックス１の終了時点を当該データの分析開始時間とすると、タイムボックス１は２０１４年１２月２５日１２：００：００に終了する。次に、送信タイムスロット決定部１３３は、データ送信部の数がデータ集約部の所定の接続上限数より多い場合、複数のデータ送信部から所定の接続上限数のデータ送信部を選択する際の組み合わせの数の倍数を、タイムスロットの数として決定する。本実施形態では、データ収集部１１のデータ集約部１２への最大同時接続数である２を、データ集約部１２の所定の接続上限数とする。すると、送信タイムスロット決定部１３３は、４つのデータ収集部１１から接続上限数の２つを選ぶ組み合わせの数の倍数を、一つのタイムボックスにおけるタイムスロットの数として決定する。これにより、同一タイムボックス内で同時にデータを送信するデータ収集部１１の組み合わせを網羅することができ、かつ、各データ収集部１１の同一タイムボックス内でのデータ送信回数を同一とすることができる。数式で表すと、４Ｃ２＝６の倍数を一つのタイムボックスにおけるタイムスロットの数とする。本実施形態では、一つのタイムボックスにおけるタイムスロットの数を６とする。よってタイムスロットの時間幅は、タイムボックスの時間幅である１分を６つに分割し、１０秒となる。最後に、送信タイムスロット決定部１３３は、同時にデータを送信する２つのデータ収集部１１の全ての組み合わせを網羅するよう、空のスケジュールに当てはめる。同時にデータを送信するデータ収集部１１のペアを番号で表すと、１−２、１−３、１−４、２−３、２−４、３−４の６つとなる。なお、どのタイムスロットにどのペアを当てはめるかは任意であり、システム設計やシステムユーザが適宜設定できるものとする。図１２における○は、各データ収集部１１がデータ集約部１２へデータを送信するタイミングを示している。すなわち、○がついているタイムスロットは各データ収集部１１について決定された送信タイムスロットである。
【００３１】
最後に、送信タイムスロット決定部１３３は、決定した送信タイムスロットのデータを送信タイムスロット記憶部１３４に記憶させる（Ｓ４３）。
【００３２】
なお、データ送信部の数がデータ集約部の所定の接続上限数以下である場合は、送信タイムスロット決定部１３３は、一つのタイムボックスにおけるタイムスロットの数をいくつにしても良い。また、その場合、送信タイムスロット決定部１３３は、全てのタイムスロットにおいて、全てのデータ収集部１１がデータを送信するよう送信タイムスロットを決定しても良い。
＜送信スケジュール作成部＞
図１３は、送信スケジュール作成部１１６の動作の例を示すフローチャートである。まず、送信スケジュール作成部１１６内の送信量割当て部１１６１は、送信タイムスロット記憶部１３４から、自身が含まれているデータ収集部についての送信タイムスロットのデータを取得する（Ｓ５１）。例えば、データ収集部１内の送信量割当て部１１６１であれば、図１２の表におけるデータ収集部１の送信タイムスロットを示す行を送信タイムスロット記憶部１３４から取得する。送信量割当て部１１６１がデータ収集部１１と別のハードウェア装置により実現されている場合、送信量割当て部１１６１は全てのデータ収集部についての送信タイムスロットのデータを取得しても良い。そして、送信量割当て部１１６１は、データの送信期限であるタイムボックスの終了時点が近づくほど、データの送信量が単調減少するように各送信タイムスロットにデータの送信量を割り当て、送信スケジュールを作成する（Ｓ５２）。本実施形態では、現在バッファリング部にバッファリングされているデータは次のタイムボックスでデータ集約部に送信されるものとする。送信量の割り当てには、単調減少関数を用いることができる。また、送信量の割り当てに用いる関数や定数は、割当て基本設定記憶部１１６３に記憶されている。送信量割当て部１１６１は、割当て基本設定記憶部１１６３、データ集約部の最大同時受信データ量、データ集約部への最大同時接続数、単調減少関数の式、単調減少関数で用いられる定数等を、割当て基本設定記憶部１１６３から取得する。割当て基本設定記憶部１１６３に記憶されているデータの一例を図１４に示す。本実施形態では、データ収集部１〜４内の各割当て基本設定記憶部１１６３が有する関数や定数は同一であるものとするが、それぞれ異なっていても良い。また、本実施形態では、送信量割当て部１１６１は、データの送信量（ｙ）、タイムボックス内の早い送信タイムスロットから１ずつ数が加算される変数（α）、定数（ａ）、定数（ｂ）としたｙ＝−ａα＋ｂの関数を用いて送信量を割り当てる。定数（ａ）は、図１４にも示されているが、２５である。定数（ｂ）は、データ収集部１があるタイムスロットにおいて送信できる最大のデータ量とし、集約部の最大同時受信データ量／データ集約部への最大同時接続数から、１２５である。よって、これらの値を代入すると、単調減数関数はｙ＝−２５α＋１２５となる。送信量割当て部１１６１がこの式を用いて各タイムスロットにデータ送信量を割り当てる。以上のようにして作成された送信スケジュールの例を図１５に示す。タイムスロット１はタイムボックス１において一番目に早い送信タイムスロットであるためα＝１であり、データ送信量が１００である。同様に、タイムスロット４ではα＝２のためデータ送信量が７５、タイムスロット５ではα＝３のためデータ送信量が５０である。なお、送信量の割り当てに用いられる単調減少関数はこれに限られず、タイムボックスの開始時点からの経過時間（ｔ）が大きくなるにつれてデータの送信量（ｙ）が小さくなる関数ｙ＝−ａｔ＋ｂやｙ＝−ａｔ＾２＋ｂ（ａ≧０）などでも良い。
【００３３】
圧縮率計算部１１６２は、送信量割当て部１１６１が作成した送信スケジュールを受け取り、次のタイムボックスにおけるデータ送信量の総量とバッファリング部１１２に現在バッファリングされているデータ量とを比較する（Ｓ５３）。そして、圧縮率計算部１１６２は、バッファリングされているデータ量の方が多い場合、超過分を、次のタイムボックスの送信タイムスロットに分配する（Ｓ５４）。図１５より、次のタイムボックスにおけるデータ送信量の総量は２２５である。バッファリング部１１２に現在バッファリングされているデータ量が例えば３００である場合、圧縮率計算部１１６２は、超過分である７５のデータ量を送信タイムスロットに分配する。分配されるデータ量は、各送信タイムスロットで同量でも良いし、勾配をつけても良い。勾配をつける場合、タイムボックスの終了時点が近づくほど分配量が多くなる、または少なくなる等が挙げられる。ただし、後のステップにおけるデータの圧縮の動作による負荷が、所定の値以下になる分配量が望ましい。さらに、圧縮率計算部１１６２は、分配後の各タイムスロットにおけるデータの送信量が、送信量割当て部１１６１が割り当てた送信量になるようデータの圧縮率を計算し、送信スケジュールを更新する（Ｓ５５）。図１６に、圧縮率計算部１１６２によって更新された送信スケジュールの例を示す。本実施例では、超過分の７５のデータ量を３つの送信タイムスロットに均等に分配したため、分配量はいずれも２５である。圧縮率は、各送信タイムスロットについて、（データ送信量＋分配量）／データ送信量×１００で求められた値である。例えば、ＴＳ１では、（１００＋２５）／１００×１００＝１２５（％）である。なお、Ｓ５３において、バッファリング部１１２に現在バッファリングされているデータ量が次のタイムボックスにおけるデータ送信量以下である場合は、圧縮率は０となる。最後に、圧縮率計算部１１６２は、更新した送信スケジュールを送信スケジュール記憶部１１５に記憶する（Ｓ５６）。
＜データ圧縮部＞
図１７は、データ圧縮部１１７の動作の例を示すフローチャートである。まず、データ圧縮部１１７は、次のタイムボックスの送信スケジュールを送信スケジュール記憶部１１５から取得する（Ｓ６１）。そして、送信スケジュールに示される圧縮率のうち、直近の送信タイムスロットについての圧縮率に基づいて、バッファリング部１１２にバッファリングされているデータを圧縮する（Ｓ６２）。
【００３４】
第三実施形態では、送信タイムスロット計画部１３がデータ収集部１１と別のハードウェア上に存在するため、データ収集部１１が複数ある場合も、送信タイムスロットの決定に当たりデータ収集部１１どうしが通信を行う必要がない。よって、送信スケジュールの作成にかかる時間が短縮され、送信期限内にデータ集約を完了できる可能性がさらに高くなる。また、バッファリング部１１２にバッファリングされているデータ量が送信スケジュールで定められたデータ送信量を超過している場合でも、データ圧縮部１１７がデータの圧縮を行うことにより、送信期限内にデータ集約を完了できる可能性が高くなる。
【００３５】
なお、第三実施形態は、一又は複数のデータ送信部１１３（データ送信部群）、制御部１１４、データ集約部１２、送信タイムスロット決定部１３３、送信量割当て部１１６１で構成することもできる。その場合の動作を以下に示す。まず、送信タイムスロット決定部１３３は、各データ送信部１１３がデータを送信するタイミングである送信タイムスロットを決定する。そして、送信量割当て部１１６１は、各送信タイムスロットにおいて、各データ送信部１１３が送信するデータ量を割り当てる。このとき、送信量割当て部１１６１は、各データ送信部１１３が送信するデータ量が、データの送信期限に近づくほど単調減少するように割当てる。すなわち、本実施形態では、送信量割当て部１１６１は、各タイムボックスの終了時点に近づくほどデータの送信量が単調減少するように割当てを行う。制御部１１４は、各送信タイムスロットについて、送信量割当て部１１６１が割当てたデータ量を送信するようにデータ送信部１１３を制御する。これにより、送信部１１３は、送信期限が近づくほどデータの送信量が単調減少するようデータを送信することができる。最後に、データ集約部１２は、一又は複数のデータ送信部１１３が送信したデータを受信する。
（第四実施形態）
次に、第四実施形態について説明する。第四実施形態におけるデータ集約システムの構成は第三実施形態と同様であるため、説明を省略する。
（第四実施形態の動作）
以下、第四実施形態の動作について説明する。第四実施形態では、送信スケジュール作成部１１６の動作が第三実施例と異なる。なお、送信スケジュール作成部１１６以外の動作については第三実施形態と同様であるので、説明を省略する。本実施形態では、第三実施形態のＴＢ１のＴＳ１におけるデータの送信の後に、データ量２０の再送が発生したものとする。図１８は、再送が発生した際の送信スケジュール作成部１１６の動作の例を示すフローチャートである。まず、送信スケジュール作成部１１６は、データ収集部１１からデータの再送が発生すること、およびデータの再送量を取得する（Ｓ７１）。そして、送信スケジュール作成部１１６内の圧縮率計算部１１６２は、ＴＢ１の残りの送信タイムスロットに再送分のデータを分配する（Ｓ７２）。ＴＳ１は既に過ぎているため、圧縮率計算部１１６２は、残りの送信タイムスロットであるＴＳ４およびＴＳ５に再送分のデータ量２０を分配する。本実施形態では、ＴＳ４およびＴＳ５に均等に、１０ずつ再送分のデータ量を割り当てられるものとするが、分配の仕方は第三実施形態の送信量の割当てと同様、これに限られない。さらに、圧縮率計算部１１６２は、再送分データの分配後のデータの送信量が、送信量割当て部１１６１が割り当てた送信量になるようデータの圧縮率を計算し、送信スケジュールを更新する（Ｓ７３）。図１９に、圧縮率計算部１１６２によって更新された送信スケジュールの例を示す。ＴＳ４およびＴＳ５に１０ずつ再送分のデータ量を割り当てるため、図１９にでは、分配量（再送）はいずれも１０となっている。また、圧縮率は、（データ送信量＋分配量＋分配量（再送））／データ送信量×１００で求められた値に上書きされる。例えば、ＴＳ４では、（７５＋２５＋１０）／７５×１００＝１４７（％）である。なお、再送分データの送信方法について、再送時点から前記データの送信期限までの期間において、再送分の送信量を含めたデータの送信量を、前記データの送信期限が近づくほど単調減少させるように動作させればよい。具体的には、再送分データの送信方法は、上述したように、データの圧縮を行って送付してもよいし、データ送信量＋分配量（再送）の値がデータ集約部の最大同時受信データ量を超過しない場合は、分配量（再送）についてはデータの圧縮を行わなくても良い。すなわち、ＴＳ４および５における１０の再送分データは圧縮を行わずにデータ集約部に送信されても良い。最後に、圧縮率計算部１１６２は、更新した送信スケジュールを送信スケジュール記憶部１１５に上書きして記憶する（Ｓ７４）。
【００３６】
第四実施形態では、再送分を加算したデータの送信量が、送信期限が近づくほど単調減少する。そのため、送信期限が近づくほど、更なる再送の発生率が小さくなり、送信期限内にデータ集約を完了することができる。なお、再送分データの分配後のデータの送信量が、送信量割当て部１１６１が割り当てた送信量にならなくともよい。その場合は、少なくとも、再送分が加算された送信タイムスロットから、送信期限が近づくにつれて、データの送信量が単調減少すれば良い。
【００３７】
上述した各実施形態は本発明を具体化した一例に過ぎず、請求の範囲に記載された本発明の趣旨の範囲内であれば、種々変更することができるものである。
【符号の説明】
【００３８】
１    データ集約システム
２    データ送信部群
３    制御部
４    データ集約部
５    データ送信部
６    ＣＰＵ
７    ＲＯＭ
８    通信制御部
９    ＲＡＭ
１０    大容量記憶部
１１    データ収集部
１２    データ集約部
１３    送信タイムスロット計画部
１１１    データ記憶部
１１２    データバッファリング部
１１３    データ送信部
１１４    制御部
１１５    送信スケジュール記憶部
１１６    送信スケジュール作成部
１１７    データ圧縮部
１２１    データ受信部
１２２    データ受信キュー
１３１    スケジュール基本設定記憶部
１３２    データ収集サーバリスト記憶部
１３３    送信タイムスロット決定部
１３４    送信タイムスロット記憶部
１１６１    送信量割当て部
１１６２    圧縮率計算部
１１６３    割当て基本設定記憶部
【図１】
0006459548.tif 000002
【図２】
0006459548.tif 000003
【図３】
0006459548.tif 000004
【図４】
0006459548.tif 000005
【図５】
0006459548.tif 000006
【図６】
0006459548.tif 000007
【図７】
0006459548.tif 000008
【図８】
0006459548.tif 000009
【図９】
0006459548.tif 000010
【図１０】
0006459548.tif 000011
【図１１】
0006459548.tif 000012
【図１２】
0006459548.tif 000013
【図１３】
0006459548.tif 000014
【図１４】
0006459548.tif 000015
【図１５】
0006459548.tif 000016
【図１６】
0006459548.tif 000017
【図１７】
0006459548.tif 000018
【図１８】
0006459548.tif 000019
【図１９】
0006459548.tif 000020