JP4528273B2 - 制御ノード装置及びデータ管理方法及びプログラム - Google Patents

制御ノード装置及びデータ管理方法及びプログラム Download PDF

Info

Publication number
JP4528273B2
JP4528273B2 JP2006074620A JP2006074620A JP4528273B2 JP 4528273 B2 JP4528273 B2 JP 4528273B2 JP 2006074620 A JP2006074620 A JP 2006074620A JP 2006074620 A JP2006074620 A JP 2006074620A JP 4528273 B2 JP4528273 B2 JP 4528273B2
Authority
JP
Japan
Prior art keywords
processing
data
time
stream data
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2006074620A
Other languages
English (en)
Other versions
JP2007251769A (ja
Inventor
隆顕 中村
光則 郡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2006074620A priority Critical patent/JP4528273B2/ja
Publication of JP2007251769A publication Critical patent/JP2007251769A/ja
Application granted granted Critical
Publication of JP4528273B2 publication Critical patent/JP4528273B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、データを複数の処理ノードにて並列処理する並列処理技術に関する。
ネットワーク上を流れるデータ一般をストリームデータと呼ぶ。
近年、様々な分野においてストリームデータの利用が進んでいる。
ストリームデータの例として、Webや電子メール、動画や音楽のストリーミング配信、ネットワーク機器やセキュリティ対策製品の出力するログ、監視画像、温度や光などを感知するセンサから送られるセンサデータ、株価などの金融データ、気象データ、RFID(Radio Frequency Identification)のタグ情報などがある。
現在既にWebや電子メールは広く利用されている。
ブロードバンドネットワークの普及は、動画や音楽などの大規模なコンテンツの配信を可能にした。
また、微細なセンサやRFIDは今後さまざまな分野での普及が予想される。
このように、ストリームデータの利用は様々な分野に拡大していると共に、ネットワーク上を流れるストリームデータの量も増加の一途にある。
ストリームデータの利用の増加は、そのストリームデータに対する処理の多様化にもつながる。
従来、Webのコンテンツや電子メールは情報を発信/伝達する手段であったが、近年では機密情報漏洩防止などの観点からWebコンテンツや電子メールのフィルタリングへの要求がある。
ストリームデータの処理には、特定の条件に合致したレコードの検索・フィルタリング、複数レコード間の集計・統計、データの形式の変換などがある。
ここではストリームデータを、ネットワーク上を流れる時間の情報や順序を持ったレコードの列と定義する。
例えば、電子メールの場合、1通の電子メール=発信時刻の情報を持った1つのレコードである。ストリームデータには、情報源によっては次のような特徴がある。
(1)レコードが可変長である。
(2)ストリームデータの入力速度(単位時間当たりの到着レコード数)は、時間によって変動する。
(3)長時間に渡ってサービスが提供される。
一定時間間隔で周囲の気温を測定し、その値(数値)を転送するようなセンサデータの場合は、1レコードが固定長で、その入力速度も一定である。
一方で、電子メールなどは、1通の電子メールのサイズは常に一定ではなく、また時間帯によってその入力速度は変化する。
そして、いずれのストリームデータの場合も、そのサービスの提供を停止するまでは、ストリームデータは入力し続ける。
ストリームデータの処理に対しては、次のようなことが要求される。
(1)リアルタイム処理
(2)レコードの順序の維持
ストリームデータはネットワーク上を伝送する都合上、多少の遅延は許容されるものの、基本的にはリアルタイムな処理が要求される。
また、電子メールのようにレコードの順序が厳密に守られなくても良い情報源もある一方で、順序の情報を持ったストリームデータにおいては、その処理によって順序が変化しないことが求められる。
ストリームデータ処理の基本的な形態を示す。
ストリームデータの処理においては、ネットワーク上にストリームデータ処理装置が設置されている。または、ネットワーク上にネットワークの分岐装置を設置し、分岐先の1つをストリームデータ処理装置に接続する。
ストリームデータ処理装置には予め処理の条件が設定されていて、ストリームデータが入力されるたびにその処理条件に従って処理を行い、処理結果をストリームデータとしてネットワークに出力したり、ディスプレイなどの表示装置に処理結果を表示したりする。
ある条件に合致した電子メールの伝送を抑止する電子メールのフィルタリングを例にすると、電子メールの伝送経路上にフィルタリング装置を設置し、フィルタリングの条件を設定する。
フィルタリング装置は、電子メールが入力されるたびにフィルタリング条件との電子メールとの照合を行い、フィルタリング条件と合致しなかった場合はその電子メールをネットワーク上に送出する。また、入力の電子メールがフィルタリング条件に合致した場合は、その電子メールの伝送を抑止し、ディスプレイ装置などにその抑止した電子メールの情報を出力する。
上で述べたように、ストリームデータの1レコードは可変長であり、1レコードのサイズが大きい場合には1レコードの処理に長い時間がかかる場合がある。
また、ストリームデータの入力速度は時間によって変動するため、突然大量のストリームデータがストリームデータ処理装置に入力されることがあり得る。
短時間にストリームデータ処理装置にストリームデータが集中した場合、処理ノードの処理能力の上限を超えてしまい、処理の遅延時間が長くなりリアルタイム処理の要求に応えられなくなったり、遅延時間を一定以下に抑えるためストリームデータの一部を廃棄する必要が生じたりする。
ストリームデータ処理装置の処理能力を向上する手段として、ストリームデータの並列処理が考えられる。
ストリームデータの並列処理では、ストリームデータの処理をN台の処理ノードで分担することにより、N倍の処理能力を得ることを目的とする。
ストリームデータ並列処理装置の構成の一例を図1に示す。
図1の例では、ストリームデータが流れるネットワーク102上にストリームデータ並列処理を制御する制御ノード装置101(以下、単に制御ノードともいう)が設置されている。
また、制御ノードと複数台の処理ノード装置103〜105(以下、単に処理ノードともいう)はデータ転送手段106で接続されている。
制御ノードは、処理条件の処理ノードへの設定、ストリームデータの入出力、ストリームデータの処理ノードへの転送、処理ノードから転送された処理結果の集計、処理結果の出力などを処理する機能を備えた装置である。
処理ノードは、制御ノードから転送されたストリームデータに対して処理条件に従って処理をし、その処理結果を制御ノードに転送する機能を備えた装置である。
処理の流れは次のようになる。
ストリームデータ処理に先立って、制御ノード101に処理条件を設定すると、制御ノードは処理条件を処理ノード上の処理に適した形式に変換して処理ノードにセットする。制御ノードおよび処理ノードは処理条件がセットされると待機状態になり、ストリームデータの入力を待つ。
制御ノードにストリームデータが入力されると、制御ノードは処理ノードの中の1台を選択して入力ストリームデータを転送する。処理ノードはストリームデータが入力されると、設定されている処理条件に従ってストリームデータを処理し、その処理結果を制御ノード101に転送する。
制御ノード101は転送された処理結果を編集・集計などしてからネットワーク102に出力したり、処理結果をディスプレイ装置などに出力したりする。
上記のように、ストリームデータの並列処理装置を構成することにより、ストリームデータの入力速度が単一の処理装置では処理困難なほど高速であった場合でも、全てのストリームデータを処理することが可能となる。
また、仮に、ストリームデータの入力速度が想定の範囲を超えて増加した場合でも、処理ノードの数を増やすことによって、ストリームデータの入力速度の増加に追随することが可能となる。
特許文献1に記載されている技術は、ネットワーク上を画像を伝送する装置において、通信途中で通信環境が変動しても、スループットを最適化できる画像伝送プロトコルの制御装置に関するものである。
この方式は、IPネットワークにおける画像ファイル伝送プロトコル「SVFTP(Swift Very large File Transfer Protocol)プロトコル」を用いたものである。SVFTPプロトコルでは、コネクション数、初期ウインドウサイズ、パケットサイズなどのパラメータが用意されているが、従来はこれらのパラメータは通信開始以前に決定されるものであり、通信途中に変更することができなかった。
特許文献1記載の方式では、これらパラメータを通信環境(CPU負荷、IPパケットロス率など)の変動に応じて変化させることにより、画像ファイルの伝送スループットを向上させることができる。
特開2003−32316号公報
上記のようなストリームデータを並列に処理する処理装置においては、1レコード単位で制御ノードから処理ノードへストリームデータをデータ転送手段を通して転送したり、処理結果を処理ノードから制御ノードに転送したりする場合に、転送するデータのサイズが小さいとデータ転送手段の転送効率が低下する。その結果、1レコード辺りの処理時間が増加し、全体のスループット低下につながるという課題がある。
また、データ転送手段上のデータ転送量を削減するために制御ノード〜処理ノード間の転送データを圧縮する場合、1レコード単位の小さいサイズのデータを圧縮しても圧縮効率が低くなるという課題がある。
特許文献1の方式は、SVFTPプロトコルにおいて通信途中で通信環境が変動しても、処理装置の処理負荷を考慮しつつスループットを最適化することにあり、処理を並列化して処理能力を向上させることについてや、並列化することにより生じる処理のオーバーヘッド増加に対応することができない。
本発明は、例えば、上記のような問題を解決することを主な目的としており、ストリームデータの並列処理環境において、処理ノードと制御ノード間の転送効率を改善し、処理のスループットを向上させることを主な目的とする。
本発明に係る制御ノード装置は、
それぞれがデータ処理を行う複数の処理ノード装置に接続された制御ノード装置であって、
データに許容される許容遅延時間の範囲内の特定の時間を蓄積時間として設定する時間設定部と、
データ処理の対象となるデータを入力するデータ入力部と、
前記データ入力部によるデータ入力が開始されてから前記時間設定部により設定された蓄積時間の間、前記データ入力部によりデータが入力される度に入力されたデータを蓄積し、蓄積時間の経過時に蓄積しているデータを出力するデータ蓄積部と、
前記データ蓄積部に蓄積されているデータに対するデータ処理を行わせる処理ノード装置を前記複数の処理ノード装置の中から選択する処理ノード選択部と、
前記データ蓄積部からのデータを前記処理ノード選択部により選択された選択処理ノード装置に対して送信する通信部とを有することを特徴とする。
本発明によれば、許容遅延時間の範囲内で蓄積時間を設定し、蓄積時間の間データを蓄積した後に制御ノード装置から処理ノード装置に対してデータを送信するため、処理ノード装置と制御ノード装置間の転送効率を向上させ、処理のスループットを向上させることが可能となる。
実施の形態1.
本実施の形態に係るストリームデータ処理装置は、図1に示した構成によって、ストリームデータを並列に処理することを特徴とする。
つまり、上記したように、制御ノード装置101(以下、単に制御ノードともいう)と複数の処理ノード装置103〜105(以下、単に処理ノードともいう)がデータ転送手段106で接続されている構成において、制御ノードが複数の処理ノードにストリームデータの処理を行わせることによりストリームデータの並列処理を実現する。
図2は、実施の形態1によるストリームデータ処理装置の制御ノード装置101の構成例を示す構成図である。
図2において、ストリームデータ処理装置の制御ノード101は、処理条件入力部209、処理条件設定部210、応答制約時間設定部205、ストリームデータ入力部202、ストリームデータ蓄積部203、蓄積時間計測部206、処理ノード監視部207、処理ノード選択部204、通信制御部208、処理結果集計部212、ストリームデータ出力部211、処理結果出力部213から構成される。
ストリームデータ入力部202(データ入力部)は、外部のネットワークと接続されており、データ処理の対象となるストリームデータを入力する。
応答制約時間設定部205(時間設定部)は、ストリームデータに許容される応答制約時間(許容遅延時間)の範囲内の特定の時間をストリームデータの蓄積時間として設定する。
ストリームデータ蓄積部203(データ蓄積部)は、ストリームデータ入力部202によるストリームデータの入力が開始されてから応答制約時間設定部205により設定された蓄積時間の間、ストリームデータ入力部202によりストリームデータが入力される度に入力されたストリームデータを蓄積し、蓄積時間の経過時に蓄積しているストリームデータを出力する。
蓄積時間計測部206は、応答制約時間設定部205により設定された蓄積時間を計測する。
処理ノード監視部207は、複数の処理ノード装置103〜105を監視し、データ処理を行っていない休止状態の処理ノード装置を検出する。
処理ノード選択部204は、ストリームデータ蓄積部203に蓄積されているストリームデータに対するデータ処理を行わせる処理ノード装置を複数の処理ノード装置103〜105の中から選択する。例えば、処理ノード監視部207により休止状態と判断された処理ノード装置を選択する。
通信制御部208(通信部)は、データ転送手段106で全ての処理ノード装置と接続されており、制御ノード〜処理ノード間の通信を司る。また、通信制御部208は、ストリームデータ蓄積部203からのストリームデータを処理ノード選択部204により選択された処理ノード装置に対して送信する。
処理条件入力部209は、処理ノード装置103〜105にストリームデータの処理を行わせる際の処理条件を、例えば、オペレータから入力する。
処理条件設定部210は、処理条件入力部209により入力された処理条件を処理ノード装置上の処理に適した形式に変換し、通信制御部208及びデータ転送手段106を介して処理ノード装置103〜105にセットする。
処理結果集計部212は、処理ノード装置から転送されたストリームデータに対する処理結果を編集・集計等する。
ストリームデータ出力部211は、外部のネットワークに接続されており、処理結果集計部212により編集・集計等された結果を外部のネットワークに対して出力する。
処理結果出力部213はディスプレイ装置などの出力装置に接続されており、処理結果集計部212により編集・集計等された結果を出力装置に対して出力する。
本実施の形態に係る制御ノード装置101の動作の要旨を説明する。
複数の処理ノード装置103〜105に接続された制御ノード装置101において、応答制約時間設定部205が、ストリームデータに許容される遅延時間である応答制約時間をストリームデータの蓄積時間として設定し、ストリームデータ入力部202がデータ処理の対象となるストリームデータを入力すると、ストリームデータ蓄積部203が、蓄積時間の間、ストリームデータが入力される度に入力されたストリームデータを蓄積し、蓄積時間の経過時に蓄積しているストリームデータを出力する。
また、処理ノード選択部204が、ストリームデータ蓄積部203に蓄積されているストリームデータに対するデータ処理を行わせる処理ノード装置を複数の処理ノード装置の中から選択し、通信制御部208が、ストリームデータ蓄積部203からのストリームデータを選択された処理ノード装置に対して送信する。
次に、本実施の形態及び以下に述べる実施の形態に示す制御ノード装置101、処理ノード装置103〜105のハードウェア構成例について説明する。
図8は、本実施の形態及び以下に述べる実施の形態に示す制御ノード装置101、処理ノード装置103〜105のハードウェア資源の一例を示す図である。
図8において、制御ノード装置101、処理ノード装置103〜105のそれぞれは、プログラムを実行するCPU911(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。CPU911は、バス912を介して、例えば、ROM(Read Only Memory)913、RAM(Random Access Memory)914、通信ボード915、表示装置901、キーボード902、マウス903、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。
更に、CPU911は、FDD904(Flexible Disk Drive)、コンパクトディスク装置905(CDD)、プリンタ装置906、スキャナ装置907と接続していてもよい。また、磁気ディスク装置920の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。
通信ボード915、キーボード902、スキャナ装置907、FDD904などは、入力部、入力装置の一例である。
また、通信ボード915、表示装置901、プリンタ装置906などは、出力部、出力装置の一例である。
通信ボード915は、図1に示すように、ネットワークに接続されている。例えば、通信ボード915は、LAN(ローカルエリアネットワーク)、インターネット、WAN(ワイドエリアネットワーク)などに接続されていても構わない。
磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム922により実行される。
上記プログラム群923には、以下に述べる説明において「〜部」、「〜手段」として説明する機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
ファイル群924には、以下に述べる説明において、「〜の判定結果」、「〜の計算結果」、「〜の処理結果」、「〜の評価結果」等として説明する情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリになどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのCPUの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示・抽出のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、以下で説明するフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
また、以下に述べる説明において「〜部」、「〜手段」として説明するものは、「〜回路」、「〜装置」、「〜機器」、「手段」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」、「〜手段」として説明するものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、以下に述べる「〜部」、「〜手段」としてコンピュータを機能させるものである。あるいは、以下に述べる「〜部」、「〜手段」の手順や方法をコンピュータに実行させるものである。
このように、本実施の形態及び以下に述べる実施の形態に示す制御ノード装置101、処理ノード装置103〜105は、それぞれ、処理装置たるCPU、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「〜部」、「〜手段」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
図6は、実施の形態1によるストリームデータの処理の流れである。実施の形態1によるストリームデータ処理装置の動作を説明する。
フィルタリングの処理の実行する場合、初めにステップS601でフィルタリングの条件を処理条件入力部209に入力する。
処理条件入力部209に処理条件が入力されたら、その処理条件を処理条件設定部210において照合に適した形式に変換して、通信制御部208を通して全ての処理ノードに処理条件をセットする。
また、ストリームデータの入力を受け付ける前に、ステップS602で応答制約時間設定部205が応答制約時間をストリームデータ蓄積部203における蓄積時間として設定する(時間設定ステップ)。応答制約時間とは、ストリームデータの処理を行うことによって、どの程度までストリームデータの伝送の遅延を許容するかという指標(許容遅延時間)である。
設定された蓄積時間(=応答制約時間)は、ストリームデータ蓄積部203及び蓄積時間計測部206に記憶される。
続いて、ステップS603において、ストリームデータの入力を受け付ける(データ入力ステップ)。
このとき、次に発生したイベントによって、処理の流れが変化する(S604)。
ステップS604でストリームデータ入力部202からストリームデータが入力されると、そのストリームデータはステップS605でストリームデータ蓄積部203に蓄積される(データ蓄積ステップ)。
ストリームデータ蓄積部203は、ストリームデータを蓄積するのに十分な主記憶または二次記憶装置を備えており、ストリームデータを蓄積することができる。
蓄積時間計測部206は時間を計測する機能を備えており、ストリームデータ蓄積部203に最初のストリームデータが入力されると、ストリームデータの蓄積を開始してからの時間(ストリームデータ蓄積時間)の計測を開始する。以後、ストリームデータ入力部202にストリームデータが入力されるたびに、入力されたストリームデータがストリームデータ蓄積部203に蓄積される。
ステップS604で、蓄積時間計測部206で計測しているストリームデータ蓄積時間が設定された蓄積時間、すなわち応答制約時間になったら、ストリームデータ蓄積部203は、蓄積したストリームデータをまとめて処理ノード選択部204に転送する。
次に、ステップS606で、処理ノード監視部207が休止状態の処理ノードを検出し、処理ノード選択部204が休止状態の処理ノードの中から蓄積されたストリームデータの処理を行わせる処理ノードを選択する(処理ノード選択ステップ)、
処理ノード監視部207は、各処理ノードがストリームデータの処理中の実行状態であるか、処理を実行していない休止状態にあるかを監視している。処理ノードは、処理ノードにストリームデータが転送されてから処理結果を制御ノードに転送するまでが実行状態、ストリームデータが転送されるまでが休止状態と見なすことができる。
処理ノード選択部204は、ストリームデータが入力されると、処理ノード監視部207に休止状態の制御ノードの有無を問い合わせ、ステップS606で通信制御部208を通して休止状態の処理ノードの1つをストリームデータの処理を行わせる処理ノードとして選択する。
次に、ステップS607において、通信制御部208が、処理ノード選択部204により選択された処理ノードに対して、蓄積されたストリームデータを転送する(通信ステップ)。そして、蓄積時間計測部206は初期化される。蓄積時間計測部206は、次のストリームデータが入力されると、再びストリームデータ蓄積時間の計測を開始する。
ステップS608で、選択された処理ノードは、入力されたストリームデータに対して、指定された処理条件に従って処理を行う。
図7は、処理ノードにおけるストリームデータの処理の流れを示したものである。
処理ノードは、ステップS701でストリームデータが入力されると、ステップS702で入力された複数レコードのストリームデータの中から、先頭の1レコードを取得する。
次にステップS703で、処理条件に従って取得したストリームデータの1レコードを処理する。1レコードの処理結果は、専用の記憶領域に記憶する。
ステップS704で、入力された全てのレコードを処理したか否かを判定し、未処理のレコードが存在する場合は、ステップS702に戻って次のレコードを取得する。入力された全てのストリームデータに対して処理を終えている場合は、ステップS705で処理結果をまとめて制御ノードに転送する。
処理ノードから制御ノードに転送された処理結果は、通信制御部208を通して処理結果集計部212に送られる。
ステップS609で、処理結果集計部212は、指定された処理条件に従って、複数の処理ノードから上がった処理結果を集計する。例えば、処理ノード選択部204において、ストリームデータを転送した順序と転送先の処理ノードとを対にして記憶しておけば、ストリームデータを転送した順序で、処理ノードの処理結果を並べることで、ストリームデータの順序を保つことができる。
集計した処理結果は、ストリームデータとしてストリームデータ出力部211からネットワークに出力したり、処理結果出力部213から出力装置に出力したりする。
また、処理結果に応じて、入力のストリームデータをそのままストリームデータ出力部211から出力するようにしても良い。
以降、ストリームデータの入力がなくなるまで、ステップS604〜S610を繰り返す。ここで、「ストリームデータの入力がなくなる」とは、電子メールの送受信サービスが停止する、センサによる測定を打ち切る、などの要因により、ストリームデータが発生しなくなる状況を意味する。
ストリームデータの単位時間の転送量は常に一定とは限らない。
ストリームデータ処理装置のスループットの上限と比較してストリームデータのストリームデータ入力部202への入力速度(単位時間当たりのストリームデータの入力量)が低くなるに従って、処理が割り当てられていない処理ノードが増加する。そこで、最小休止処理ノード数を設定するとともに、最小蓄積ストリームデータ量(バイト数、レコード数)を設定しておき、処理が割り当てられていない処理ノードの数が最小休止処理ノード数を超えていて、かつストリームデータ蓄積部203に蓄積されたストリームデータ量が最小蓄積ストリームデータ量を超えている場合には、応答制約時間を待たずに処理ノードにストリームデータを転送しても良い。
つまり、ストリームデータ蓄積部203は、処理ノード監視部207により検出された休止状態の処理ノード装置の数が所定の上限値を超え、蓄積しているストリームデータのデータ量が所定の下限値を超える場合に、蓄積時間の経過前であっても、ストリームデータの蓄積を停止し、蓄積しているストリームデータを出力し、蓄積しているストリームデータを処理ノードに転送するようにしてもよい。
ストリームデータの入力速度がさらに低下して、応答制約時間の範囲内で到着するストリームデータのレコード数が1以下など極めて少ないの場合がある。
この場合、ストリームデータ蓄積部203において応答制約時間まで蓄積してから処理するよりも、ストリームデータ蓄積部203で蓄積せずにそのまま処理ノードで処理した方が、処理結果の応答時間を短縮できる場合がある。
そこで、ストリームデータの入力速度の下限値を予め設定しておき、ストリームデータのストリームデータ入力部202への入力速度が、その設定値以下の場合には、ストリームデータ蓄積部203に蓄積せずに処理するようにしても良い。
また、そのような場合には、処理ノードへ転送せずに処理できるように、制御ノードにもストリームデータの処理機能を備えておき、制御ノード上で直接ストリームデータを処理するようにしても良い。
つまり、制御ノード装置101に、複数の処理ノード装置103〜105と同等のデータ処理を行うデータ処理部を設け、ストリームデータ入力部202におけるデータ入力速度が所定の値を下回る場合は、いずれの処理ノード装置にもデータを送信せず、データ処理部にデータ処理を行わせるようにしてもよい。
このようなストリームデータ処理装置の例として、電子メールのフィルタリング装置がある。電子メールのフィルタリング装置では、処理条件として指定された特定のキーワードによって電子メール中のテキスト情報を照合して、そのキーワードを含む電子メールがあった場合には、その電子メールの伝送を抑止すると共にその情報を出力装置に出力する。
電子メールのフィルタリング装置では、初めに処理条件として検出したいキーワード(固定文字列、正規表現パターンなど)や、そのキーワードが一定回数ヒットした場合にのみ伝送を抑止したい場合はその閾値を指定する。また、応答制約時間を「5秒」のように設定する。一般的に電子メールの場合、その伝送に秒単位の遅延があっても特に問題にはならない。
ストリームデータ入力部202に電子メールが入力されるようになると、ストリームデータ蓄積部203において、応答制約時間単位で電子メールを蓄積する。ストリームデータ蓄積部203に蓄積された1レコード以上の電子メールがまとまって処理ノードに転送されると、処理ノードは全ての電子メールに対して指定されたキーワードを含むか照合を行い、処理結果を制御ノードに転送する。電子メールのフィルタリング装置の場合、処理結果はキーワードを「含む」または「含まない」を意味するブール値の列と入力電子メールそのものであってもよいし、ヒット回数を表わす数値の列であっても良い。処理結果集計部212において電子メールの照合結果を集計するが、電子メールの場合は順序は厳密に守られなくても良い場合が一般的なので、処理ノードから転送された処理結果から順に出力してよい。
処理結果を出力する際には、電子メールに指定のキーワードが含まれていない場合には、入力の電子メールをそのまま出力する。電子メールに指定のキーワードが含まれていた場合には、当該電子メールを出力する代わりに伝送が抑止されたことを出力装置に出力する。
上記の動作の説明では、ストリームデータ蓄積部203におけるストリームデータの蓄積時間を、応答制約時間に等しくしたが、処理ノードにおける処理時間を考慮していなかった。そこで、予めある係数(値域0〜1)を設定しておき、応答制約時間に該係数を乗じた時間が経過した時点で、蓄積したストリームデータを処理ノードに転送するようにしても良い。さらに、応答制約時間からストリームデータの蓄積時間を引いた応答制約残時間を、ストリームデータと合わせて処理ノードに転送するようにしても良い。
この場合は、例えば、処理条件設定部210が、データ処理に許容される応答制約残時間(データ処理許容時間)を通知するメッセージ(データ処理許容時間通知)を生成し、通信制御部208が、ストリームデータとともに、処理条件設定部210により生成されたメッセージ(データ処理許容時間通知)を選択された処理ノード装置に対して送信するようにしてもよい。
処理ノードの処理結果をデータ転送手段を通して転送する場合も、少ないレコード単位で処理結果を転送するとデータ転送手段上のデータ転送効率が低下する。
一方で、処理ノードに入力された全てのストリームデータに対する処理が終わるまで処理結果の転送を保留しておくと、全ての処理結果が揃うまでに応答制約時間を過ぎてしまう場合が発生する。そこで、処理ノードにおいて、ストリームデータが入力されてからの処理時間を計測しておき、応答制約残時間と等しくなった時点で処理された処理結果だけを先行して制御ノードに転送するようにしても良い。
ストリームデータの処理には、1レコード単位で処理するものだけではなく、時間範囲やレコード数で区切って複数のレコード集合に対する処理を求められるものもある。例えば、「過去10秒間に到着したストリームデータに対して集計した結果を、10秒間隔で出力する。」「前後100レコードのストリームデータに対して集計した結果を出力する。」のような処理を行うものがある。このような処理条件が指定された場合、ストリームデータ蓄積部203において、応答制約時間に加えてこの複数レコードの区切りも考慮してストリームデータを蓄積するように構成しても良い。
つまり、ストリームデータ蓄積部203は、蓄積時間の経過前であっても、一つのデータ処理を構成する全てのストリームデータが蓄積された時点でストリームデータの蓄積を停止し、蓄積しているデータを出力し、蓄積しているストリームデータを処理ノードに転送するようにしてもよい。
処理条件が、時間範囲でストリームデータを区切って複数のレコード集合に対する処理を行う場合、1または複数のレコード集合を蓄積した時点で、応答制約時間の残り時間が上記時間範囲よりも短い場合は、その時点で蓄積できたストリームデータを処理ノードに転送して処理を実行するようにしても良い。レコード数でストリームデータを区切って複数のレコード集合に対する処理を行う場合、応答制約時間に達した時点で1または複数のレコード集合と1つのレコード集合に満たない1または複数のレコードがあった場合、レコード集合のみを処理ノードに転送して処理を実行するようにしても良い。
つまり、ストリームデータ蓄積部203は、蓄積時間の経過前であっても、一または複数のデータ処理を構成するストリームデータの全てが蓄積された時点でストリームデータの蓄積を停止し、蓄積しているストリームデータを処理ノードに転送するようにしてもよい。
以上のように、実施の形態1によれば、ストリームデータ処理装置に入力されたストリームデータを、ある指定された応答制約時間の範囲内で蓄積し、蓄積された複数レコードのストリームデータを処理ノードに転送する。
サイズの小さいデータをデータ転送手段を通して転送した場合、データの転送効率が低下するが、複数レコードをまとめてデータ転送手段を通して転送することにより、データの転送効率を向上させることができる。
また、ストリームデータを複数レコード単位で処理することにより、このデータ転送手段の転送時間を初めとした処理のオーバーヘッドを削減することができる。
さらに、蓄積した複数レコードのストリームデータを転送する際には、転送先にはその時点で処理が割り当てられていない処理ノードを選択することにより、ストリームデータを途切れることなく処理することができる。
これらの効果により、全体のストリームデータのスループット(単位時間当たりに処理可能なストリームデータの量)を向上させることができる。
また、ストリームデータの入力速度が低下して、処理が割り当てられていない処理ノード数と蓄積されたストリームデータ量が一定値を超えた場合には、応答制約時間に達する前にストリームデータを処理することで応答時間を短縮することができる。
ストリームデータの入力速度がさらに低下して、ストリームデータの入力速度がある設定値よりも低い場合には、ストリームデータを蓄積せずに処理することで、処理の応答時間を短縮することができる。
また、データ転送手段上のデータ転送量を削減するために、入力ストリームデータや処理結果を圧縮する場合には、1レコード単位で圧縮するよりも、処理ノードに転送する複数レコード分をまとめて圧縮する方が、圧縮効率を高めることができるという効果もある。
また、処理ノード上の処理中に応答制約時間を経過してしまいそうな場合には、その時点で処理が完了した処理結果を制御ノードに転送することで、処理の応答時間を短縮することができる。
このような、実施の形態1のストリームデータ処理装置では、ストリームデータの最大の入力速度が増加し、ストリームデータ処理の最大スループットを上回ってしまうような場合には、処理ノードの数を増やすことで、ストリームデータの入力速度の増加に追随することができる。
実施の形態1のストリームデータ処理装置の制御ノードと処理ノードは、それぞれ異なる計算機であってもよいし、1つの計算機上の異なるプロセッサまたはプロセスであっても良い。
データ転送手段106は、制御ノードと処理ノードがそれぞれ異なる計算機である場合は、LANなどの通信手段でよい。また制御ノードと処理ノードの機能が同一の計算機上にある場合は、それぞれを電気的につなぐバスのようなものでよい。
また、制御ノードの各機能部は、それぞれが個別の専用のプロセッサによって実現されても良いし、1乃至複数の汎用プロセッサ上で動作するソフトウェアによって実現されても良い。また、制御ノード及び処理ノードに2次記憶装置を備えて、入力ストリームデータや処理結果、処理の履歴などを記憶するようにしても良い。
本実施の形態では、次のような要素を備えたストリームデータ処理装置について説明した。
(1)1台の制御ノードとデータの転送手段で接続された1台以上の処理ノードから構成される。
(2)処理ノードは、設定された条件に従ってストリームデータを処理し、その結果を出力する機能を備える。
(3)制御ノードは、ストリームデータの入出力機能と、時間の計測機能と、ストリームデータの蓄積機能と、処理ノードとの通信機能と、処理ノードの監視機能を備える。
(4)制御ノードには、ストリームデータの入力に先立って応答制約時間が設定されており、ストリームデータが入力されるとその応答制約時間の範囲内でストリームデータを蓄積し、蓄積したストリームデータを上記データの転送手段を通して処理ノードに転送する。処理ノードは設定された条件に従ってストリームデータを処理し、その処理結果をデータの転送手段を通して制御ノードに転送する。制御ノードは、個々の処理ノードから転送された処理結果を集計し、ストリームデータとして出力する。
(5)制御ノードは各処理ノードを監視しており、制御ノードが蓄積したストリームデータを処理ノードに転送する際には、休止状態の処理ノードに転送する。
また、本実施の形態では、次のような要素を備えたストリームデータ処理装置について説明した。
休止状態の処理ノードの数が予め設定した上限値を超えていて、かつ蓄積したストリームデータの量が予め設定した下限値を超えた場合に、蓄積したストリームデータを処理ノードに転送する。
また、本実施の形態では、次のような要素を備えたストリームデータ処理装置について説明した。
処理条件が1以上の複数レコードのストリームデータ集合にまたがった集計処理を行うものであった場合に、ストリームデータを処理ノードに転送する時点で蓄積されているストリームデータ集合だけを処理ノードに転送する、
また、本実施の形態では、次のような要素を備えたストリームデータ処理装置について説明した。
制御ノードに最小ストリームデータ入力速度を設定しておき、ストリームデータの入力速度がその最小ストリームデータ入力速度未満であった場合に、ストリームデータを蓄積せずに処理ノードに転送する。
また、本実施の形態では、次のような要素を備えたストリームデータ処理装置について説明した。
制御ノード上に処理ノードと同等のストリームデータの処理機能を備え、ストリームデータを蓄積せずに処理する場合には、制御ノード上のストリームデータの処理機能によって処理する。
また、本実施の形態では、次のような要素を備えたストリームデータ処理装置について説明した。
制御ノードは処理時間測定機能を備える。制御ノードは蓄積したストリームデータを処理ノードに転送する際に、応答制約残時間の情報を転送する。処理ノードはストリームデータが転送されてからの処理時間を計測し、処理時間が応答制約残時間を超えた場合に、既に確定している処理結果を制御ノードに転送する。
実施の形態2.
実施の形態1のストリームデータ処理装置では、ストリームデータの蓄積時間にストリームデータの処理時間を考慮していないため、厳密に応答制約時間の範囲内で処理結果を出力することはできなかった。ストリームデータの種類や処理によっては、応答制約時間が厳密に守られる必要がないものもあるため、実施の形態1のストリームデータ処理装置でも十分な場合もあるが、応答時間を厳密に制御したい場合には適していなかった。
実施の形態2のストリームデータ処理装置は、ストリームデータ蓄積部におけるストリームデータの蓄積時間に、ストリームデータの処理時間の推定値を考慮することにより、指定された応答制約時間で処理結果を出力できるようにしたものである。
図3に実施の形態2のストリームデータ処理装置の構成を示す。
実施の形態2のストリームデータ処理装置は、図2に示した実施の形態1のストリームデータ処理装置に処理時間算出部308を追加した構成になっている。
処理時間算出部308は、ストリームデータ蓄積部303に蓄積されているストリームデータのデータ量に基づいて、ストリームデータ蓄積部303に蓄積されているストリームデータに対して処理ノード装置が行うデータ処理の予測処理時間を算出し、応答制約時間(許容遅延時間)と予測処理時間とから蓄積時間を設定する。
本実施の形態では、処理時間算出部308が時間設定部の例となる。
実施の形態2のストリームデータ処理装置の動作を説明する。
実施の形態2のストリームデータ処理装置の動作は、大部分において実施の形態1のストリームデータ処理装置と同じであるため、相違点であるストリームデータ蓄積部303にのみ着目して説明する。
ストリームデータ蓄積部303においてストリームデータの蓄積時間が以下の条件を満たす範囲でストリームデータを蓄積する。
ストリームデータ蓄積時間≦応答制約時間−蓄積されたレコードの処理時間
・・・(式1)
次に、蓄積されたレコードの処理時間を算出する手段を示す。
レコードの処理時間は、処理時間算出部308によって算出される。
処理ノードにおける1レコードのストリームデータの処理時間が、ストリームデータのサイズに比例する処理エンジンを備えていた場合、ストリームデータのサイズをSとおくと、1レコードの処理時間は次のように表わすことができる。
1レコードの処理時間=k×S+c・・・(式2)
ここで、kが比例定数、cは処理時間に固定的に含まれる定数とし、既知であるとする。この時、処理ノードに転送されたストリームデータ全体の処理に要する時間は以下のようになる。
Figure 0004528273
Nは蓄積されたレコードの数とする。
データ転送手段上のデータ転送時間は、転送するデータがあるまとまったサイズ以上であった場合は、転送するデータサイズに比例すると見なすことができる。よって、式2〜3’の比例定数には、制御ノード〜処理ノード間のデータ転送に関する成分を含んでいても良い。
比例定数k=k+k・・・(式4)
:処理ノード上の処理時間に関わる比例定数
:ネットワーク上のデータ転送時間に関わる比例定数
実施の形態1で示した電子メールのフィルタリング装置など、ストリームデータのテキスト情報をキーワードなどで照合するストリームデータの処理装置において、処理時間がストリームデータのサイズに比例するような処理ノード上の処理エンジンとして、DFA(Detarministic Finite Automaton:決定性有限オートマトン)方式の文字列照合アルゴリズムを基にしたものの場合や、AC(Aho−Corasick)方式の文字列照合アルゴリズムを基にしたものである場合などが挙げられる。これらの処理エンジンでは、処理時間は入力された電子メール(テキスト)のサイズ(バイト数または文字数)に比例する。
ここでは、処理時間が処理するストリームデータのサイズに比例する場合について示したが、比例する場合以外でも処理時間の算出方法さえ既知であれば、同様に処理時間を算出し式1に適用することは可能である。
上記のような処理エンジンで、比例定数kやが処理条件のサイズに比例する場合がある。処理条件のサイズをR、比例定数をkとすると、処理時間の比例定数は次のように表わすことができる。
比例定数k=k×R ・・・(式5)
このような処理エンジンの場合、処理条件設定部311が処理条件を処理ノードにセットすると同時に、処理条件のサイズの情報を処理時間算出部308に提供し、処理時間算出部308は提供された処理条件のサイズから処理時間の比例定数を算出するように構成しても良い。
つまり、処理条件設定部311が、処理ノード装置におけるデータ処理に対する処理条件を設定するとともに、処理時間算出部308が、処理条件設定部311により設定された処理条件に基づいて、ストリームデータ蓄積部303に蓄積されているストリームデータに対して処理ノード装置が行うデータ処理の予測処理時間を算出し、応答許容時間(許容遅延時間)と予測処理時間とから蓄積時間を設定するようにしてもよい。
実施の形態1で示した電子メールのフィルタリング装置など、ストリームデータのテキスト情報をキーワードなどで照合するストリームデータの処理装置において、処理時間の比例定数が、処理条件のサイズに比例するような処理ノードの処理エンジンとして、NFA(Non−detarministic Finite Automaton:非決定性有限オートマトン)方式の文字列照合アルゴリズムを基にしたものなどが挙げられる。この処理エンジンでは、正規表現キーワードによる照合が可能で、処理時間の比例定数は処理条件のサイズ(処理条件に含まれるユニークな文字数)に比例する。
ここでは、処理時間の比例定数が処理条件のサイズに比例する場合について示したが、比例する場合以外でも比例定数の算出方法さえ既知であれば、同様に処理時間の比例定数を算出し、式2や3、3’に適用することは可能である。
ストリームデータ処理装置の処理エンジンで、比例定数kや、処理時間に固定で含まれる定数cが処理条件のサイズに依存して変化する場合、処理したストリームデータのサイズや、ストリームデータの処理時間、処理条件のサイズの統計情報を記録しておき、それらの統計情報を利用して処理時間の比例定数や固定で含まれる定数を動的に算出するように構成しても良い。
図4に、実施の形態2のストリームデータ処理装置を、統計情報を記録するようにしたときの構成を示す。
図4に示したストリームデータ処理装置は、図3のストリームデータ処理装置に統計情報管理部412を追加した構成をしている。
統計情報管理部412は、処理条件設定部411から処理条件のサイズの情報を取得したり、ストリームデータ蓄積部403から処理ノードに転送されたストリームデータのサイズを取得したり、処理結果集計部414に送られる情報から処理されたストリームデータのサイズや処理に要した時間の情報を取得したりして、それらの統計情報を記録する。
処理時間とストリームデータのサイズが比例することが既知であれば、処理されたストリームデータとそのストリームデータの処理に要した時間の統計情報から、最小自乗法などを用いて図5のように処理時間の比例定数や処理時間に固定で含まれる定数を算出することができる。そして、算出された各定数を処理時間算出部408におけるストリームデータの処理時間の算出に利用しても良い。
つまり、図4に示す構成において、統計情報管理部412が、各処理ノード装置においてデータ処理を行ったストリームデータのデータ量と当該データ量に対するデータ処理に要した実績処理時間とを示す統計情報(実績情報)を取得し、取得した統計情報を記憶し、処理時間算出部408が、統計情報管理部412に記憶されている統計情報に示されているデータ量と実績処理時間との関係に基づいて、予測処理時間を算出するようにしてもよい。
なお、図4の構成において、統計情報管理部412は実績情報記憶部の例である。
同様にして、処理時間の比例定数と処理条件のサイズや、処理時間に固定で含まれる定数と処理条件のサイズの統計情報から、それらの各定数を算出するための算出式を求めることができる。そして、その算出式を用いて各定数を算出し、ストリームデータの処理時間の算出に利用しても良い。
つまり、統計情報管理部412は、各処理ノード装置においてデータ処理を行った際の処理条件と当該処理条件によるデータ処理に要した実績処理時間とを示す統計情報(実績情報)を取得し、処理時間算出部408が、統計情報管理部412に記憶されている統計情報に示されている処理条件と実績処理時間との関係に基づいて、予測処理時間を算出するようにしてもよい。
ストリームデータの単位時間の転送量は常に一定とは限らないため、ストリームデータのストリームデータ入力部302への入力速度(単位時間当たりのストリームデータの入力量)が低く、入力速度がストリームデータの処理速度よりも遥かに低い場合がある。
ここで、ストリームデータの処理速度とは、ストリームデータの処理時間がストリームデータのサイズに比例する処理装置の場合、処理時間の比例定数の逆数に相当する。
この場合、ストリームデータ蓄積部303において応答制約時間まで蓄積してから処理するよりも、ストリームデータ蓄積部303で蓄積せずにそのまま処理ノードで処理した方が、処理結果の応答時間が短縮できる場合がある。
そこで、ある係数(値域0〜1)を予め設定しておき、ストリームデータのストリームデータ入力部302への入力速度が、ストリームデータの処理速度に該係数を乗じた値よりも低い場合に、ストリームデータ蓄積部303に蓄積せずに処理するようにしても良い。また、そのような場合には、処理ノードへ転送せずに処理できるように、制御ノードにもストリームデータの処理機能を備えておき、制御ノード上で直接ストリームデータを処理するようにしても良い。
つまり、ストリームデータ入力部302におけるデータ入力速度が、複数の処理ノード装置におけるデータ処理速度に所定の係数を乗じた値を下回る場合は、ストリームデータ蓄積部303にデータを蓄積しないようにすることが可能である。
また、制御ノード装置101に、複数の処理ノード装置103〜105と同等のデータ処理を行うデータ処理部を設け、ストリームデータ入力部302におけるデータ入力速度が所定の値を下回る場合は、いずれの処理ノード装置にもデータを送信せず、データ処理部にデータ処理を行わせるようにしてもよい。
以上のように、実施の形態2によれば、ストリームデータ処理装置に入力されたストリームデータを、ある指定された応答制約時間の範囲内で蓄積し、蓄積された複数レコードのストリームデータを処理ノードに転送する。
ストリームデータを蓄積する際には、応答制約時間から蓄積したストリームデータの処理時間を差し引いた時間の範囲内で蓄積することにより、より応答制約時間内に処理結果を出力できるように制御することが可能になる。
ストリームデータの処理時間は、処理するストリームデータのサイズとの相関関係が既知であれば、そこから算出することが可能である。
また、ストリームデータのサイズと、そのストリームデータの処理時間、処理条件のサイズなどの統計的な情報を蓄積しておき、それらの情報を利用して処理時間を算出するための算出式を動的に導くことで、処理時間の算出精度を向上させることができる。
また、ある係数(0〜1)を予め設定しておき、ストリームデータの入力速度が、ストリームデータの処理速度に該係数を乗じた値よりも低い場合には、ストリームデータを蓄積せずに直接処理することにより、ストリームデータの処理の応答時間を短縮することができる。
ここでは、ストリームデータを複数の処理ノードで並列に処理することを前提に示してきたが、ストリームデータを一定時間の範囲内で蓄積して処理した方が、逐次的に処理した場合と比べて利点がある場合は、本発明の処理方式を適用することは十分可能である。
本実施の形態では、次のような要素を備えたストリームデータ処理装置について説明した。
ストリームデータ蓄積機能に、ストリームデータの処理時間を算出する機能を備える。ストリームデータの処理時間を、1レコードのストリームデータのサイズ、処理条件のサイズから算出する手段が既知である処理エンジンを備えた処理ノードが接続されている場合に、制御ノードにおいては、入力ストリームデータのサイズと処理条件のサイズから上記算出手段によって計算される処理時間の総和が応答制約時間未満となる範囲でストリームデータを蓄積し、蓄積したストリームデータを処理ノードに転送する。
また、本実施の形態では、次のような要素を備えたストリームデータ処理装置について説明した。
処理したストリームデータのサイズと、処理ノードにおけるストリームデータの処理に要した時間と、処理条件のサイズを統計情報として記録する機能を備え、それら統計情報から処理ノードにおけるストリームデータの処理時間を算出する算出式のパラメータや定数を決定する。
また、本実施の形態では、次のような要素を備えたストリームデータ処理装置について説明した。
制御ノードに最小ストリームデータ入力速度を算出するための係数を設定しておき、ストリームデータの入力速度が、ストリームデータ処理速度に上記係数を乗じた速度未満あった場合に、ストリームデータを蓄積せずに処理ノードに転送する。
実施の形態1に係るストリームデータ並列処理装置の構成例を示す図。 実施の形態1に係る制御ノード装置の構成例を示す図。 実施の形態2に係る制御ノード装置の構成例を示す図。 実施の形態2に係る制御ノード装置の構成例を示す図。 実施の形態2に係るストリームデータのサイズと処理時間との関係を示す図。 実施の形態1に係る制御ノード装置及び処理ノード装置の動作例を示すフローチャート図。 実施の形態1に係る処理ノード装置の動作例を示すフローチャート図。 実施の形態1、2に係る制御ノード装置及び処理ノード装置のハードウェア構成例を示す図。
符号の説明
101 制御ノード装置、102 ネットワーク、103 処理ノード装置、104 処理ノード装置、105 処理ノード装置、106 データ転送手段、202 ストリームデータ入力部、203 ストリームデータ蓄積部、204 処理ノード選択部、205 応答制約時間設定部、206 蓄積時間計測部、207 処理ノード監視部、208 通信制御部、209 処理条件入力部、210 処理条件設定部、211 ストリームデータ出力部、212 処理結果集計部、213 処理結果出力部、302 ストリームデータ入力部、303 ストリームデータ蓄積部、304 処理ノード選択部、305 通信制御部、306 応答制約時間設定部、307 蓄積時間計測部、308 処理時間算出部、309 処理ノード監視部、310 処理条件入力部、311 処理条件設定部、312 ストリームデータ出力部、313 処理結果集計部、314 処理結果出力部、402 ストリームデータ入力部、403 ストリームデータ蓄積部、404 処理ノード選択部、405 通信制御部、406 応答制約時間設定部、407 蓄積時間計測部、408 処理時間算出部、409 処理ノード監視部、410 処理条件入力部、411 処理条件設定部、412 統計情報管理部、413 ストリームデータ出力部、414 処理結果集計部、415 処理結果出力部。

Claims (14)

  1. それぞれがデータ処理を行う複数の処理ノード装置に接続された制御ノード装置であって、
    データに許容される許容遅延時間の範囲内の特定の時間を蓄積時間として設定する時間設定部と、
    データ処理の対象となるデータを入力するデータ入力部と、
    前記データ入力部によるデータ入力が開始されてから前記時間設定部により設定された蓄積時間の間、前記データ入力部によりデータが入力される度に入力されたデータを蓄積し、蓄積時間の経過時に蓄積しているデータを出力するデータ蓄積部と、
    前記データ蓄積部に蓄積されているデータに対するデータ処理を行わせる処理ノード装置を前記複数の処理ノード装置の中から選択する処理ノード選択部と、
    前記データ蓄積部からのデータを前記処理ノード選択部により選択された選択処理ノード装置に対して送信する通信部とを有することを特徴とする制御ノード装置。
  2. 前記制御ノード装置は、更に、
    前記複数の処理ノード装置を監視し、データ処理を行っていない休止状態の処理ノード装置を検出する処理ノード監視部を有し、
    前記データ蓄積部は、
    前記処理ノード監視部により検出された休止状態の処理ノード装置の数が所定の上限値を超え、蓄積しているデータのデータ量が所定の下限値を超える場合に、蓄積時間の経過前であっても、データの蓄積を停止し、蓄積しているデータを出力することを特徴とする請求項1に記載の制御ノード装置。
  3. 前記データ蓄積部は、
    蓄積時間の経過前であっても、一つのデータ処理を構成する全てのデータが蓄積された時点でデータの蓄積を停止し、蓄積しているデータを出力することを特徴とする請求項1に記載の制御ノード装置。
  4. 前記データ蓄積部は、
    蓄積時間に達した時点で一つのデータ処理を構成するデータの全てが蓄積されていない場合は、蓄積時間に達した時点で蓄積されているデータを出力することを特徴とする請求項1に記載の制御ノード装置。
  5. 前記時間設定部は、
    前記データ蓄積部に蓄積されているデータのデータ量に基づいて、前記データ蓄積部に蓄積されているデータに対して処理ノード装置が行うデータ処理の予測処理時間を算出し、許容遅延時間と予測処理時間とから蓄積時間を設定することを特徴とする請求項1に記載の制御ノード装置。
  6. 前記制御ノード装置は、更に、
    処理ノード装置におけるデータ処理に対する処理条件を設定する処理条件設定部を有し、
    前記時間設定部は、
    前記処理条件設定部により設定された処理条件に基づいて、前記データ蓄積部に蓄積されているデータに対して処理ノード装置が行うデータ処理の予測処理時間を算出し、許容遅延時間と予測処理時間とから蓄積時間を設定することを特徴とする請求項1に記載の制御ノード装置。
  7. 前記制御ノード装置は、更に、
    各処理ノード装置においてデータ処理を行ったデータのデータ量と当該データ量に対するデータ処理に要した実績処理時間とを示す実績情報を取得し、取得した実績情報を記憶する実績情報記憶部を有し、
    前記時間設定部は、
    前記実績情報記憶部に記憶されている実績情報に示されているデータ量と実績処理時間との関係に基づいて、予測処理時間を算出することを特徴とする請求項5に記載の制御ノード装置。
  8. 前記制御ノード装置は、更に、
    各処理ノード装置においてデータ処理を行った際の処理条件と当該処理条件によるデータ処理に要した実績処理時間とを示す実績情報を取得し、取得した実績情報を記憶する実績情報記憶部を有し、
    前記時間設定部は、
    前記実績情報記憶部に記憶されている実績情報に示されている処理条件と実績処理時間との関係に基づいて、予測処理時間を算出することを特徴とする請求項6に記載の制御ノード装置。
  9. 前記制御ノード装置は、
    前記データ入力部におけるデータ入力速度が所定の値を下回る場合は、前記データ蓄積部にデータを蓄積しないことを特徴とする請求項1に記載の制御ノード装置。
  10. 前記制御ノード装置は、
    前記データ入力部におけるデータ入力速度が、前記複数の処理ノード装置におけるデータ処理速度に所定の係数を乗じた値を下回る場合は、前記データ蓄積部にデータを蓄積しないことを特徴とする請求項9に記載の制御ノード装置。
  11. 前記制御ノード装置は、更に、
    前記複数の処理ノード装置と同等のデータ処理を行うデータ処理部を有し、
    前記データ入力部におけるデータ入力速度が所定の値を下回る場合は、いずれの処理ノード装置にもデータを送信せず、前記データ処理部にデータ処理を行わせることを特徴とする請求項9に記載の制御ノード装置。
  12. 前記制御ノード装置は、更に、
    データ処理に許容されるデータ処理許容時間を通知するデータ処理許容時間通知を生成する処理条件設定部を有し、
    前記通信部は、
    前記処理条件設定部により生成されたデータ処理許容時間通知を選択処理ノード装置に対して送信することを特徴とする請求項1に記載の制御ノード装置。
  13. それぞれがデータ処理を行う複数の処理ノード装置のいずれかにデータ処理を行わせるデータ管理方法であって、
    データに許容される許容遅延時間の範囲内の特定の時間を蓄積時間として設定する時間設定ステップと、
    データ処理の対象となるデータを入力するデータ入力ステップと、
    前記データ入力ステップによるデータ入力が開始されてから前記時間設定ステップにより設定された蓄積時間の間、前記データ入力ステップによりデータが入力される度に入力されたデータを蓄積し、蓄積時間の経過時に蓄積しているデータを出力するデータ蓄積ステップと、
    前記データ蓄積ステップにより蓄積されたデータに対するデータ処理を行わせる処理ノード装置を前記複数の処理ノード装置の中から選択する処理ノード選択ステップと、
    前記データ蓄積ステップにより出力されたデータを前記処理ノード選択ステップにより選択された選択処理ノード装置に対して送信する通信ステップとを有することを特徴とするデータ管理方法。
  14. それぞれがデータ処理を行う複数の処理ノード装置と通信を行うコンピュータに、
    データに許容される許容遅延時間の範囲内の特定の時間を蓄積時間として設定する時間設定手順と、
    データ処理の対象となるデータを入力するデータ入力手順と、
    前記データ入力手順によるデータ入力が開始されてから前記時間設定手順により設定された蓄積時間の間、前記データ入力手順によりデータが入力される度に入力されたデータを蓄積し、蓄積時間の経過時に蓄積しているデータを出力するデータ蓄積手順と、
    前記データ蓄積手順により蓄積されたデータに対するデータ処理を行わせる処理ノード装置を前記複数の処理ノード装置の中から選択する処理ノード選択手順と、
    前記データ蓄積手順により出力されたデータを前記処理ノード選択手順により選択された選択処理ノード装置に対して送信する通信手順を実行させることを特徴とするプログラム。
JP2006074620A 2006-03-17 2006-03-17 制御ノード装置及びデータ管理方法及びプログラム Active JP4528273B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006074620A JP4528273B2 (ja) 2006-03-17 2006-03-17 制御ノード装置及びデータ管理方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006074620A JP4528273B2 (ja) 2006-03-17 2006-03-17 制御ノード装置及びデータ管理方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2007251769A JP2007251769A (ja) 2007-09-27
JP4528273B2 true JP4528273B2 (ja) 2010-08-18

Family

ID=38595569

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006074620A Active JP4528273B2 (ja) 2006-03-17 2006-03-17 制御ノード装置及びデータ管理方法及びプログラム

Country Status (1)

Country Link
JP (1) JP4528273B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014163072A1 (ja) * 2013-04-01 2014-10-09 日本電気株式会社 情報処理装置、情報処理方法およびプログラム
US10394692B2 (en) * 2015-01-29 2019-08-27 Signalfx, Inc. Real-time processing of data streams received from instrumented software

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000236538A (ja) * 1999-02-15 2000-08-29 Nippon Telegr & Teleph Corp <Ntt> オブジェクト圧縮符号化装置
JP2001203749A (ja) * 2000-01-20 2001-07-27 Mitsubishi Electric Corp 高効率データ送信装置及び高効率データ伝送システム
JP2003032316A (ja) * 2001-05-11 2003-01-31 Kddi Corp 画像伝送プロトコル制御装置
JP2004287801A (ja) * 2003-03-20 2004-10-14 Sony Computer Entertainment Inc 情報処理システム、情報処理装置、分散情報処理方法及びコンピュータプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000236538A (ja) * 1999-02-15 2000-08-29 Nippon Telegr & Teleph Corp <Ntt> オブジェクト圧縮符号化装置
JP2001203749A (ja) * 2000-01-20 2001-07-27 Mitsubishi Electric Corp 高効率データ送信装置及び高効率データ伝送システム
JP2003032316A (ja) * 2001-05-11 2003-01-31 Kddi Corp 画像伝送プロトコル制御装置
JP2004287801A (ja) * 2003-03-20 2004-10-14 Sony Computer Entertainment Inc 情報処理システム、情報処理装置、分散情報処理方法及びコンピュータプログラム

Also Published As

Publication number Publication date
JP2007251769A (ja) 2007-09-27

Similar Documents

Publication Publication Date Title
JP4815459B2 (ja) 負荷分散制御サーバ、負荷分散制御方法及びコンピュータプログラム
US11694094B2 (en) Inferring digital twins from captured data
US8560667B2 (en) Analysis method and apparatus
JP4058038B2 (ja) 負荷監視装置および負荷監視方法
US8479215B2 (en) Decentralized load distribution to reduce power and/or cooling costs in an event-driven system
CN110806954B (zh) 评估云主机资源的方法、装置、设备及存储介质
CN106452933B (zh) 一种业务数据的统计方法、装置及系统
JP4466615B2 (ja) 運用管理システム、監視装置、被監視装置、運用管理方法及びプログラム
US20150341239A1 (en) Identifying Problems In A Storage Area Network
KR20170123720A (ko) 사용자 탐색 이벤트의 예측
US10452666B2 (en) Sensor data search system, sensor data search method and management computer
JP2010041471A (ja) 通信データ統計装置、通信データ統計方法およびプログラム
US20150281100A1 (en) Apparatus and method for selecting a flow to be changed upon congestion occurrence
US9135325B2 (en) Information processing apparatus, computer-readable recording medium, and information processing method
JP2009251686A (ja) 文書検索装置
US11294736B2 (en) Distributed processing system, distributed processing method, and recording medium
WO2019239821A1 (ja) 分散処理システムおよび分散処理方法
US20210302276A1 (en) Data processing device and data processing method
KR101908377B1 (ko) 계량데이터 관리 시스템 및 컴퓨터 판독가능 기록 매체
KR20180121775A (ko) 데이터에 대한 요청들을 조정하고 인증하기 위한 방법 및 장치
WO2015182629A1 (ja) 監視システム、監視装置及び監視プログラム
JP4528273B2 (ja) 制御ノード装置及びデータ管理方法及びプログラム
CN113282920B (zh) 日志异常检测方法、装置、计算机设备和存储介质
JP5957318B2 (ja) ネットワークシステム、情報中継装置、及びパケット配信方法
US8635381B2 (en) System, method and computer program product for monitoring memory access

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080820

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100601

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100604

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130611

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4528273

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250