JP4528273B2 - 制御ノード装置及びデータ管理方法及びプログラム - Google Patents
制御ノード装置及びデータ管理方法及びプログラム Download PDFInfo
- 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
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)のタグ情報などがある。
ブロードバンドネットワークの普及は、動画や音楽などの大規模なコンテンツの配信を可能にした。
また、微細なセンサやRFIDは今後さまざまな分野での普及が予想される。
このように、ストリームデータの利用は様々な分野に拡大していると共に、ネットワーク上を流れるストリームデータの量も増加の一途にある。
従来、Webのコンテンツや電子メールは情報を発信/伝達する手段であったが、近年では機密情報漏洩防止などの観点からWebコンテンツや電子メールのフィルタリングへの要求がある。
ストリームデータの処理には、特定の条件に合致したレコードの検索・フィルタリング、複数レコード間の集計・統計、データの形式の変換などがある。
例えば、電子メールの場合、1通の電子メール=発信時刻の情報を持った1つのレコードである。ストリームデータには、情報源によっては次のような特徴がある。
(1)レコードが可変長である。
(2)ストリームデータの入力速度(単位時間当たりの到着レコード数)は、時間によって変動する。
(3)長時間に渡ってサービスが提供される。
一方で、電子メールなどは、1通の電子メールのサイズは常に一定ではなく、また時間帯によってその入力速度は変化する。
そして、いずれのストリームデータの場合も、そのサービスの提供を停止するまでは、ストリームデータは入力し続ける。
(1)リアルタイム処理
(2)レコードの順序の維持
また、電子メールのようにレコードの順序が厳密に守られなくても良い情報源もある一方で、順序の情報を持ったストリームデータにおいては、その処理によって順序が変化しないことが求められる。
ストリームデータの処理においては、ネットワーク上にストリームデータ処理装置が設置されている。または、ネットワーク上にネットワークの分岐装置を設置し、分岐先の1つをストリームデータ処理装置に接続する。
ストリームデータ処理装置には予め処理の条件が設定されていて、ストリームデータが入力されるたびにその処理条件に従って処理を行い、処理結果をストリームデータとしてネットワークに出力したり、ディスプレイなどの表示装置に処理結果を表示したりする。
フィルタリング装置は、電子メールが入力されるたびにフィルタリング条件との電子メールとの照合を行い、フィルタリング条件と合致しなかった場合はその電子メールをネットワーク上に送出する。また、入力の電子メールがフィルタリング条件に合致した場合は、その電子メールの伝送を抑止し、ディスプレイ装置などにその抑止した電子メールの情報を出力する。
また、ストリームデータの入力速度は時間によって変動するため、突然大量のストリームデータがストリームデータ処理装置に入力されることがあり得る。
短時間にストリームデータ処理装置にストリームデータが集中した場合、処理ノードの処理能力の上限を超えてしまい、処理の遅延時間が長くなりリアルタイム処理の要求に応えられなくなったり、遅延時間を一定以下に抑えるためストリームデータの一部を廃棄する必要が生じたりする。
ストリームデータの並列処理では、ストリームデータの処理をN台の処理ノードで分担することにより、N倍の処理能力を得ることを目的とする。
図1の例では、ストリームデータが流れるネットワーク102上にストリームデータ並列処理を制御する制御ノード装置101(以下、単に制御ノードともいう)が設置されている。
また、制御ノードと複数台の処理ノード装置103〜105(以下、単に処理ノードともいう)はデータ転送手段106で接続されている。
制御ノードは、処理条件の処理ノードへの設定、ストリームデータの入出力、ストリームデータの処理ノードへの転送、処理ノードから転送された処理結果の集計、処理結果の出力などを処理する機能を備えた装置である。
処理ノードは、制御ノードから転送されたストリームデータに対して処理条件に従って処理をし、その処理結果を制御ノードに転送する機能を備えた装置である。
ストリームデータ処理に先立って、制御ノード101に処理条件を設定すると、制御ノードは処理条件を処理ノード上の処理に適した形式に変換して処理ノードにセットする。制御ノードおよび処理ノードは処理条件がセットされると待機状態になり、ストリームデータの入力を待つ。
制御ノードにストリームデータが入力されると、制御ノードは処理ノードの中の1台を選択して入力ストリームデータを転送する。処理ノードはストリームデータが入力されると、設定されている処理条件に従ってストリームデータを処理し、その処理結果を制御ノード101に転送する。
制御ノード101は転送された処理結果を編集・集計などしてからネットワーク102に出力したり、処理結果をディスプレイ装置などに出力したりする。
また、仮に、ストリームデータの入力速度が想定の範囲を超えて増加した場合でも、処理ノードの数を増やすことによって、ストリームデータの入力速度の増加に追随することが可能となる。
この方式は、IPネットワークにおける画像ファイル伝送プロトコル「SVFTP(Swift Very large File Transfer Protocol)プロトコル」を用いたものである。SVFTPプロトコルでは、コネクション数、初期ウインドウサイズ、パケットサイズなどのパラメータが用意されているが、従来はこれらのパラメータは通信開始以前に決定されるものであり、通信途中に変更することができなかった。
特許文献1記載の方式では、これらパラメータを通信環境(CPU負荷、IPパケットロス率など)の変動に応じて変化させることにより、画像ファイルの伝送スループットを向上させることができる。
また、データ転送手段上のデータ転送量を削減するために制御ノード〜処理ノード間の転送データを圧縮する場合、1レコード単位の小さいサイズのデータを圧縮しても圧縮効率が低くなるという課題がある。
それぞれがデータ処理を行う複数の処理ノード装置に接続された制御ノード装置であって、
データに許容される許容遅延時間の範囲内の特定の時間を蓄積時間として設定する時間設定部と、
データ処理の対象となるデータを入力するデータ入力部と、
前記データ入力部によるデータ入力が開始されてから前記時間設定部により設定された蓄積時間の間、前記データ入力部によりデータが入力される度に入力されたデータを蓄積し、蓄積時間の経過時に蓄積しているデータを出力するデータ蓄積部と、
前記データ蓄積部に蓄積されているデータに対するデータ処理を行わせる処理ノード装置を前記複数の処理ノード装置の中から選択する処理ノード選択部と、
前記データ蓄積部からのデータを前記処理ノード選択部により選択された選択処理ノード装置に対して送信する通信部とを有することを特徴とする。
本実施の形態に係るストリームデータ処理装置は、図1に示した構成によって、ストリームデータを並列に処理することを特徴とする。
つまり、上記したように、制御ノード装置101(以下、単に制御ノードともいう)と複数の処理ノード装置103〜105(以下、単に処理ノードともいう)がデータ転送手段106で接続されている構成において、制御ノードが複数の処理ノードにストリームデータの処理を行わせることによりストリームデータの並列処理を実現する。
応答制約時間設定部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により編集・集計等された結果を出力装置に対して出力する。
複数の処理ノード装置103〜105に接続された制御ノード装置101において、応答制約時間設定部205が、ストリームデータに許容される遅延時間である応答制約時間をストリームデータの蓄積時間として設定し、ストリームデータ入力部202がデータ処理の対象となるストリームデータを入力すると、ストリームデータ蓄積部203が、蓄積時間の間、ストリームデータが入力される度に入力されたストリームデータを蓄積し、蓄積時間の経過時に蓄積しているストリームデータを出力する。
また、処理ノード選択部204が、ストリームデータ蓄積部203に蓄積されているストリームデータに対するデータ処理を行わせる処理ノード装置を複数の処理ノード装置の中から選択し、通信制御部208が、ストリームデータ蓄積部203からのストリームデータを選択された処理ノード装置に対して送信する。
図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などは、出力部、出力装置の一例である。
磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム922により実行される。
ファイル群924には、以下に述べる説明において、「〜の判定結果」、「〜の計算結果」、「〜の処理結果」、「〜の評価結果」等として説明する情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリになどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのCPUの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示・抽出のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、以下で説明するフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
処理条件入力部209に処理条件が入力されたら、その処理条件を処理条件設定部210において照合に適した形式に変換して、通信制御部208を通して全ての処理ノードに処理条件をセットする。
設定された蓄積時間(=応答制約時間)は、ストリームデータ蓄積部203及び蓄積時間計測部206に記憶される。
このとき、次に発生したイベントによって、処理の流れが変化する(S604)。
ステップS604でストリームデータ入力部202からストリームデータが入力されると、そのストリームデータはステップS605でストリームデータ蓄積部203に蓄積される(データ蓄積ステップ)。
ストリームデータ蓄積部203は、ストリームデータを蓄積するのに十分な主記憶または二次記憶装置を備えており、ストリームデータを蓄積することができる。
蓄積時間計測部206は時間を計測する機能を備えており、ストリームデータ蓄積部203に最初のストリームデータが入力されると、ストリームデータの蓄積を開始してからの時間(ストリームデータ蓄積時間)の計測を開始する。以後、ストリームデータ入力部202にストリームデータが入力されるたびに、入力されたストリームデータがストリームデータ蓄積部203に蓄積される。
次に、ステップS606で、処理ノード監視部207が休止状態の処理ノードを検出し、処理ノード選択部204が休止状態の処理ノードの中から蓄積されたストリームデータの処理を行わせる処理ノードを選択する(処理ノード選択ステップ)、
処理ノード監視部207は、各処理ノードがストリームデータの処理中の実行状態であるか、処理を実行していない休止状態にあるかを監視している。処理ノードは、処理ノードにストリームデータが転送されてから処理結果を制御ノードに転送するまでが実行状態、ストリームデータが転送されるまでが休止状態と見なすことができる。
処理ノード選択部204は、ストリームデータが入力されると、処理ノード監視部207に休止状態の制御ノードの有無を問い合わせ、ステップS606で通信制御部208を通して休止状態の処理ノードの1つをストリームデータの処理を行わせる処理ノードとして選択する。
次に、ステップS607において、通信制御部208が、処理ノード選択部204により選択された処理ノードに対して、蓄積されたストリームデータを転送する(通信ステップ)。そして、蓄積時間計測部206は初期化される。蓄積時間計測部206は、次のストリームデータが入力されると、再びストリームデータ蓄積時間の計測を開始する。
図7は、処理ノードにおけるストリームデータの処理の流れを示したものである。
処理ノードは、ステップS701でストリームデータが入力されると、ステップS702で入力された複数レコードのストリームデータの中から、先頭の1レコードを取得する。
次にステップS703で、処理条件に従って取得したストリームデータの1レコードを処理する。1レコードの処理結果は、専用の記憶領域に記憶する。
ステップS704で、入力された全てのレコードを処理したか否かを判定し、未処理のレコードが存在する場合は、ステップS702に戻って次のレコードを取得する。入力された全てのストリームデータに対して処理を終えている場合は、ステップS705で処理結果をまとめて制御ノードに転送する。
ステップS609で、処理結果集計部212は、指定された処理条件に従って、複数の処理ノードから上がった処理結果を集計する。例えば、処理ノード選択部204において、ストリームデータを転送した順序と転送先の処理ノードとを対にして記憶しておけば、ストリームデータを転送した順序で、処理ノードの処理結果を並べることで、ストリームデータの順序を保つことができる。
集計した処理結果は、ストリームデータとしてストリームデータ出力部211からネットワークに出力したり、処理結果出力部213から出力装置に出力したりする。
また、処理結果に応じて、入力のストリームデータをそのままストリームデータ出力部211から出力するようにしても良い。
以降、ストリームデータの入力がなくなるまで、ステップS604〜S610を繰り返す。ここで、「ストリームデータの入力がなくなる」とは、電子メールの送受信サービスが停止する、センサによる測定を打ち切る、などの要因により、ストリームデータが発生しなくなる状況を意味する。
ストリームデータ処理装置のスループットの上限と比較してストリームデータのストリームデータ入力部202への入力速度(単位時間当たりのストリームデータの入力量)が低くなるに従って、処理が割り当てられていない処理ノードが増加する。そこで、最小休止処理ノード数を設定するとともに、最小蓄積ストリームデータ量(バイト数、レコード数)を設定しておき、処理が割り当てられていない処理ノードの数が最小休止処理ノード数を超えていて、かつストリームデータ蓄積部203に蓄積されたストリームデータ量が最小蓄積ストリームデータ量を超えている場合には、応答制約時間を待たずに処理ノードにストリームデータを転送しても良い。
つまり、ストリームデータ蓄積部203は、処理ノード監視部207により検出された休止状態の処理ノード装置の数が所定の上限値を超え、蓄積しているストリームデータのデータ量が所定の下限値を超える場合に、蓄積時間の経過前であっても、ストリームデータの蓄積を停止し、蓄積しているストリームデータを出力し、蓄積しているストリームデータを処理ノードに転送するようにしてもよい。
この場合、ストリームデータ蓄積部203において応答制約時間まで蓄積してから処理するよりも、ストリームデータ蓄積部203で蓄積せずにそのまま処理ノードで処理した方が、処理結果の応答時間を短縮できる場合がある。
そこで、ストリームデータの入力速度の下限値を予め設定しておき、ストリームデータのストリームデータ入力部202への入力速度が、その設定値以下の場合には、ストリームデータ蓄積部203に蓄積せずに処理するようにしても良い。
また、そのような場合には、処理ノードへ転送せずに処理できるように、制御ノードにもストリームデータの処理機能を備えておき、制御ノード上で直接ストリームデータを処理するようにしても良い。
つまり、制御ノード装置101に、複数の処理ノード装置103〜105と同等のデータ処理を行うデータ処理部を設け、ストリームデータ入力部202におけるデータ入力速度が所定の値を下回る場合は、いずれの処理ノード装置にもデータを送信せず、データ処理部にデータ処理を行わせるようにしてもよい。
処理結果を出力する際には、電子メールに指定のキーワードが含まれていない場合には、入力の電子メールをそのまま出力する。電子メールに指定のキーワードが含まれていた場合には、当該電子メールを出力する代わりに伝送が抑止されたことを出力装置に出力する。
この場合は、例えば、処理条件設定部210が、データ処理に許容される応答制約残時間(データ処理許容時間)を通知するメッセージ(データ処理許容時間通知)を生成し、通信制御部208が、ストリームデータとともに、処理条件設定部210により生成されたメッセージ(データ処理許容時間通知)を選択された処理ノード装置に対して送信するようにしてもよい。
一方で、処理ノードに入力された全てのストリームデータに対する処理が終わるまで処理結果の転送を保留しておくと、全ての処理結果が揃うまでに応答制約時間を過ぎてしまう場合が発生する。そこで、処理ノードにおいて、ストリームデータが入力されてからの処理時間を計測しておき、応答制約残時間と等しくなった時点で処理された処理結果だけを先行して制御ノードに転送するようにしても良い。
つまり、ストリームデータ蓄積部203は、蓄積時間の経過前であっても、一つのデータ処理を構成する全てのストリームデータが蓄積された時点でストリームデータの蓄積を停止し、蓄積しているデータを出力し、蓄積しているストリームデータを処理ノードに転送するようにしてもよい。
つまり、ストリームデータ蓄積部203は、蓄積時間の経過前であっても、一または複数のデータ処理を構成するストリームデータの全てが蓄積された時点でストリームデータの蓄積を停止し、蓄積しているストリームデータを処理ノードに転送するようにしてもよい。
サイズの小さいデータをデータ転送手段を通して転送した場合、データの転送効率が低下するが、複数レコードをまとめてデータ転送手段を通して転送することにより、データの転送効率を向上させることができる。
また、ストリームデータを複数レコード単位で処理することにより、このデータ転送手段の転送時間を初めとした処理のオーバーヘッドを削減することができる。
さらに、蓄積した複数レコードのストリームデータを転送する際には、転送先にはその時点で処理が割り当てられていない処理ノードを選択することにより、ストリームデータを途切れることなく処理することができる。
これらの効果により、全体のストリームデータのスループット(単位時間当たりに処理可能なストリームデータの量)を向上させることができる。
ストリームデータの入力速度がさらに低下して、ストリームデータの入力速度がある設定値よりも低い場合には、ストリームデータを蓄積せずに処理することで、処理の応答時間を短縮することができる。
データ転送手段106は、制御ノードと処理ノードがそれぞれ異なる計算機である場合は、LANなどの通信手段でよい。また制御ノードと処理ノードの機能が同一の計算機上にある場合は、それぞれを電気的につなぐバスのようなものでよい。
また、制御ノードの各機能部は、それぞれが個別の専用のプロセッサによって実現されても良いし、1乃至複数の汎用プロセッサ上で動作するソフトウェアによって実現されても良い。また、制御ノード及び処理ノードに2次記憶装置を備えて、入力ストリームデータや処理結果、処理の履歴などを記憶するようにしても良い。
(1)1台の制御ノードとデータの転送手段で接続された1台以上の処理ノードから構成される。
(2)処理ノードは、設定された条件に従ってストリームデータを処理し、その結果を出力する機能を備える。
(3)制御ノードは、ストリームデータの入出力機能と、時間の計測機能と、ストリームデータの蓄積機能と、処理ノードとの通信機能と、処理ノードの監視機能を備える。
(4)制御ノードには、ストリームデータの入力に先立って応答制約時間が設定されており、ストリームデータが入力されるとその応答制約時間の範囲内でストリームデータを蓄積し、蓄積したストリームデータを上記データの転送手段を通して処理ノードに転送する。処理ノードは設定された条件に従ってストリームデータを処理し、その処理結果をデータの転送手段を通して制御ノードに転送する。制御ノードは、個々の処理ノードから転送された処理結果を集計し、ストリームデータとして出力する。
(5)制御ノードは各処理ノードを監視しており、制御ノードが蓄積したストリームデータを処理ノードに転送する際には、休止状態の処理ノードに転送する。
休止状態の処理ノードの数が予め設定した上限値を超えていて、かつ蓄積したストリームデータの量が予め設定した下限値を超えた場合に、蓄積したストリームデータを処理ノードに転送する。
処理条件が1以上の複数レコードのストリームデータ集合にまたがった集計処理を行うものであった場合に、ストリームデータを処理ノードに転送する時点で蓄積されているストリームデータ集合だけを処理ノードに転送する、
制御ノードに最小ストリームデータ入力速度を設定しておき、ストリームデータの入力速度がその最小ストリームデータ入力速度未満であった場合に、ストリームデータを蓄積せずに処理ノードに転送する。
制御ノード上に処理ノードと同等のストリームデータの処理機能を備え、ストリームデータを蓄積せずに処理する場合には、制御ノード上のストリームデータの処理機能によって処理する。
制御ノードは処理時間測定機能を備える。制御ノードは蓄積したストリームデータを処理ノードに転送する際に、応答制約残時間の情報を転送する。処理ノードはストリームデータが転送されてからの処理時間を計測し、処理時間が応答制約残時間を超えた場合に、既に確定している処理結果を制御ノードに転送する。
実施の形態1のストリームデータ処理装置では、ストリームデータの蓄積時間にストリームデータの処理時間を考慮していないため、厳密に応答制約時間の範囲内で処理結果を出力することはできなかった。ストリームデータの種類や処理によっては、応答制約時間が厳密に守られる必要がないものもあるため、実施の形態1のストリームデータ処理装置でも十分な場合もあるが、応答時間を厳密に制御したい場合には適していなかった。
実施の形態2のストリームデータ処理装置は、ストリームデータ蓄積部におけるストリームデータの蓄積時間に、ストリームデータの処理時間の推定値を考慮することにより、指定された応答制約時間で処理結果を出力できるようにしたものである。
実施の形態2のストリームデータ処理装置は、図2に示した実施の形態1のストリームデータ処理装置に処理時間算出部308を追加した構成になっている。
本実施の形態では、処理時間算出部308が時間設定部の例となる。
実施の形態2のストリームデータ処理装置の動作は、大部分において実施の形態1のストリームデータ処理装置と同じであるため、相違点であるストリームデータ蓄積部303にのみ着目して説明する。
ストリームデータ蓄積時間≦応答制約時間−蓄積されたレコードの処理時間
・・・(式1)
レコードの処理時間は、処理時間算出部308によって算出される。
1レコードの処理時間=k×S+c・・・(式2)
ここで、kが比例定数、cは処理時間に固定的に含まれる定数とし、既知であるとする。この時、処理ノードに転送されたストリームデータ全体の処理に要する時間は以下のようになる。
比例定数k=kp+kT ・・・(式4)
kp:処理ノード上の処理時間に関わる比例定数
kT:ネットワーク上のデータ転送時間に関わる比例定数
比例定数k=kq×R ・・・(式5)
このような処理エンジンの場合、処理条件設定部311が処理条件を処理ノードにセットすると同時に、処理条件のサイズの情報を処理時間算出部308に提供し、処理時間算出部308は提供された処理条件のサイズから処理時間の比例定数を算出するように構成しても良い。
つまり、処理条件設定部311が、処理ノード装置におけるデータ処理に対する処理条件を設定するとともに、処理時間算出部308が、処理条件設定部311により設定された処理条件に基づいて、ストリームデータ蓄積部303に蓄積されているストリームデータに対して処理ノード装置が行うデータ処理の予測処理時間を算出し、応答許容時間(許容遅延時間)と予測処理時間とから蓄積時間を設定するようにしてもよい。
図4に、実施の形態2のストリームデータ処理装置を、統計情報を記録するようにしたときの構成を示す。
統計情報管理部412は、処理条件設定部411から処理条件のサイズの情報を取得したり、ストリームデータ蓄積部403から処理ノードに転送されたストリームデータのサイズを取得したり、処理結果集計部414に送られる情報から処理されたストリームデータのサイズや処理に要した時間の情報を取得したりして、それらの統計情報を記録する。
処理時間とストリームデータのサイズが比例することが既知であれば、処理されたストリームデータとそのストリームデータの処理に要した時間の統計情報から、最小自乗法などを用いて図5のように処理時間の比例定数や処理時間に固定で含まれる定数を算出することができる。そして、算出された各定数を処理時間算出部408におけるストリームデータの処理時間の算出に利用しても良い。
つまり、図4に示す構成において、統計情報管理部412が、各処理ノード装置においてデータ処理を行ったストリームデータのデータ量と当該データ量に対するデータ処理に要した実績処理時間とを示す統計情報(実績情報)を取得し、取得した統計情報を記憶し、処理時間算出部408が、統計情報管理部412に記憶されている統計情報に示されているデータ量と実績処理時間との関係に基づいて、予測処理時間を算出するようにしてもよい。
なお、図4の構成において、統計情報管理部412は実績情報記憶部の例である。
つまり、統計情報管理部412は、各処理ノード装置においてデータ処理を行った際の処理条件と当該処理条件によるデータ処理に要した実績処理時間とを示す統計情報(実績情報)を取得し、処理時間算出部408が、統計情報管理部412に記憶されている統計情報に示されている処理条件と実績処理時間との関係に基づいて、予測処理時間を算出するようにしてもよい。
ここで、ストリームデータの処理速度とは、ストリームデータの処理時間がストリームデータのサイズに比例する処理装置の場合、処理時間の比例定数の逆数に相当する。
この場合、ストリームデータ蓄積部303において応答制約時間まで蓄積してから処理するよりも、ストリームデータ蓄積部303で蓄積せずにそのまま処理ノードで処理した方が、処理結果の応答時間が短縮できる場合がある。
そこで、ある係数(値域0〜1)を予め設定しておき、ストリームデータのストリームデータ入力部302への入力速度が、ストリームデータの処理速度に該係数を乗じた値よりも低い場合に、ストリームデータ蓄積部303に蓄積せずに処理するようにしても良い。また、そのような場合には、処理ノードへ転送せずに処理できるように、制御ノードにもストリームデータの処理機能を備えておき、制御ノード上で直接ストリームデータを処理するようにしても良い。
つまり、ストリームデータ入力部302におけるデータ入力速度が、複数の処理ノード装置におけるデータ処理速度に所定の係数を乗じた値を下回る場合は、ストリームデータ蓄積部303にデータを蓄積しないようにすることが可能である。
また、制御ノード装置101に、複数の処理ノード装置103〜105と同等のデータ処理を行うデータ処理部を設け、ストリームデータ入力部302におけるデータ入力速度が所定の値を下回る場合は、いずれの処理ノード装置にもデータを送信せず、データ処理部にデータ処理を行わせるようにしてもよい。
ストリームデータを蓄積する際には、応答制約時間から蓄積したストリームデータの処理時間を差し引いた時間の範囲内で蓄積することにより、より応答制約時間内に処理結果を出力できるように制御することが可能になる。
ストリームデータの処理時間は、処理するストリームデータのサイズとの相関関係が既知であれば、そこから算出することが可能である。
ストリームデータ蓄積機能に、ストリームデータの処理時間を算出する機能を備える。ストリームデータの処理時間を、1レコードのストリームデータのサイズ、処理条件のサイズから算出する手段が既知である処理エンジンを備えた処理ノードが接続されている場合に、制御ノードにおいては、入力ストリームデータのサイズと処理条件のサイズから上記算出手段によって計算される処理時間の総和が応答制約時間未満となる範囲でストリームデータを蓄積し、蓄積したストリームデータを処理ノードに転送する。
処理したストリームデータのサイズと、処理ノードにおけるストリームデータの処理に要した時間と、処理条件のサイズを統計情報として記録する機能を備え、それら統計情報から処理ノードにおけるストリームデータの処理時間を算出する算出式のパラメータや定数を決定する。
制御ノードに最小ストリームデータ入力速度を算出するための係数を設定しておき、ストリームデータの入力速度が、ストリームデータ処理速度に上記係数を乗じた速度未満あった場合に、ストリームデータを蓄積せずに処理ノードに転送する。
Claims (14)
- それぞれがデータ処理を行う複数の処理ノード装置に接続された制御ノード装置であって、
データに許容される許容遅延時間の範囲内の特定の時間を蓄積時間として設定する時間設定部と、
データ処理の対象となるデータを入力するデータ入力部と、
前記データ入力部によるデータ入力が開始されてから前記時間設定部により設定された蓄積時間の間、前記データ入力部によりデータが入力される度に入力されたデータを蓄積し、蓄積時間の経過時に蓄積しているデータを出力するデータ蓄積部と、
前記データ蓄積部に蓄積されているデータに対するデータ処理を行わせる処理ノード装置を前記複数の処理ノード装置の中から選択する処理ノード選択部と、
前記データ蓄積部からのデータを前記処理ノード選択部により選択された選択処理ノード装置に対して送信する通信部とを有することを特徴とする制御ノード装置。 - 前記制御ノード装置は、更に、
前記複数の処理ノード装置を監視し、データ処理を行っていない休止状態の処理ノード装置を検出する処理ノード監視部を有し、
前記データ蓄積部は、
前記処理ノード監視部により検出された休止状態の処理ノード装置の数が所定の上限値を超え、蓄積しているデータのデータ量が所定の下限値を超える場合に、蓄積時間の経過前であっても、データの蓄積を停止し、蓄積しているデータを出力することを特徴とする請求項1に記載の制御ノード装置。 - 前記データ蓄積部は、
蓄積時間の経過前であっても、一つのデータ処理を構成する全てのデータが蓄積された時点でデータの蓄積を停止し、蓄積しているデータを出力することを特徴とする請求項1に記載の制御ノード装置。 - 前記データ蓄積部は、
蓄積時間に達した時点で一つのデータ処理を構成するデータの全てが蓄積されていない場合は、蓄積時間に達した時点で蓄積されているデータを出力することを特徴とする請求項1に記載の制御ノード装置。 - 前記時間設定部は、
前記データ蓄積部に蓄積されているデータのデータ量に基づいて、前記データ蓄積部に蓄積されているデータに対して処理ノード装置が行うデータ処理の予測処理時間を算出し、許容遅延時間と予測処理時間とから蓄積時間を設定することを特徴とする請求項1に記載の制御ノード装置。 - 前記制御ノード装置は、更に、
処理ノード装置におけるデータ処理に対する処理条件を設定する処理条件設定部を有し、
前記時間設定部は、
前記処理条件設定部により設定された処理条件に基づいて、前記データ蓄積部に蓄積されているデータに対して処理ノード装置が行うデータ処理の予測処理時間を算出し、許容遅延時間と予測処理時間とから蓄積時間を設定することを特徴とする請求項1に記載の制御ノード装置。 - 前記制御ノード装置は、更に、
各処理ノード装置においてデータ処理を行ったデータのデータ量と当該データ量に対するデータ処理に要した実績処理時間とを示す実績情報を取得し、取得した実績情報を記憶する実績情報記憶部を有し、
前記時間設定部は、
前記実績情報記憶部に記憶されている実績情報に示されているデータ量と実績処理時間との関係に基づいて、予測処理時間を算出することを特徴とする請求項5に記載の制御ノード装置。 - 前記制御ノード装置は、更に、
各処理ノード装置においてデータ処理を行った際の処理条件と当該処理条件によるデータ処理に要した実績処理時間とを示す実績情報を取得し、取得した実績情報を記憶する実績情報記憶部を有し、
前記時間設定部は、
前記実績情報記憶部に記憶されている実績情報に示されている処理条件と実績処理時間との関係に基づいて、予測処理時間を算出することを特徴とする請求項6に記載の制御ノード装置。 - 前記制御ノード装置は、
前記データ入力部におけるデータ入力速度が所定の値を下回る場合は、前記データ蓄積部にデータを蓄積しないことを特徴とする請求項1に記載の制御ノード装置。 - 前記制御ノード装置は、
前記データ入力部におけるデータ入力速度が、前記複数の処理ノード装置におけるデータ処理速度に所定の係数を乗じた値を下回る場合は、前記データ蓄積部にデータを蓄積しないことを特徴とする請求項9に記載の制御ノード装置。 - 前記制御ノード装置は、更に、
前記複数の処理ノード装置と同等のデータ処理を行うデータ処理部を有し、
前記データ入力部におけるデータ入力速度が所定の値を下回る場合は、いずれの処理ノード装置にもデータを送信せず、前記データ処理部にデータ処理を行わせることを特徴とする請求項9に記載の制御ノード装置。 - 前記制御ノード装置は、更に、
データ処理に許容されるデータ処理許容時間を通知するデータ処理許容時間通知を生成する処理条件設定部を有し、
前記通信部は、
前記処理条件設定部により生成されたデータ処理許容時間通知を選択処理ノード装置に対して送信することを特徴とする請求項1に記載の制御ノード装置。 - それぞれがデータ処理を行う複数の処理ノード装置のいずれかにデータ処理を行わせるデータ管理方法であって、
データに許容される許容遅延時間の範囲内の特定の時間を蓄積時間として設定する時間設定ステップと、
データ処理の対象となるデータを入力するデータ入力ステップと、
前記データ入力ステップによるデータ入力が開始されてから前記時間設定ステップにより設定された蓄積時間の間、前記データ入力ステップによりデータが入力される度に入力されたデータを蓄積し、蓄積時間の経過時に蓄積しているデータを出力するデータ蓄積ステップと、
前記データ蓄積ステップにより蓄積されたデータに対するデータ処理を行わせる処理ノード装置を前記複数の処理ノード装置の中から選択する処理ノード選択ステップと、
前記データ蓄積ステップにより出力されたデータを前記処理ノード選択ステップにより選択された選択処理ノード装置に対して送信する通信ステップとを有することを特徴とするデータ管理方法。 - それぞれがデータ処理を行う複数の処理ノード装置と通信を行うコンピュータに、
データに許容される許容遅延時間の範囲内の特定の時間を蓄積時間として設定する時間設定手順と、
データ処理の対象となるデータを入力するデータ入力手順と、
前記データ入力手順によるデータ入力が開始されてから前記時間設定手順により設定された蓄積時間の間、前記データ入力手順によりデータが入力される度に入力されたデータを蓄積し、蓄積時間の経過時に蓄積しているデータを出力するデータ蓄積手順と、
前記データ蓄積手順により蓄積されたデータに対するデータ処理を行わせる処理ノード装置を前記複数の処理ノード装置の中から選択する処理ノード選択手順と、
前記データ蓄積手順により出力されたデータを前記処理ノード選択手順により選択された選択処理ノード装置に対して送信する通信手順を実行させることを特徴とするプログラム。
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)
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)
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 | 情報処理システム、情報処理装置、分散情報処理方法及びコンピュータプログラム |
-
2006
- 2006-03-17 JP JP2006074620A patent/JP4528273B2/ja active Active
Patent Citations (4)
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 |