(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024151689
(43)【公開日】2024-10-25
(54)【発明の名称】データ処理システム、データ処理方法、及びデータ処理プログラム
(51)【国際特許分類】
H04L 47/62 20220101AFI20241018BHJP
H04L 47/56 20220101ALI20241018BHJP
G06F 16/28 20190101ALI20241018BHJP
【FI】
H04L47/62
H04L47/56
G06F16/28
【審査請求】有
【請求項の数】14
【出願形態】OL
(21)【出願番号】P 2023065236
(22)【出願日】2023-04-12
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110000279
【氏名又は名称】弁理士法人ウィルフォート国際特許事務所
(72)【発明者】
【氏名】二星 義裕
(72)【発明者】
【氏名】齊藤 信一郎
(72)【発明者】
【氏名】羽原 拓哉
【テーマコード(参考)】
5B175
5K030
【Fターム(参考)】
5B175AA02
5K030KA03
5K030LC02
5K030MA13
5K030MB13
(57)【要約】
【課題】データ登録先へ登録するデータの溜め込み時間を容易且つ適切に設定できるようにする。
【解決手段】データを受け取ってバッファに格納し、バッファに格納したデータを所定のデータ蓄積装置12へ出力する処理を実行するデータ処理システム20において、データ処理システム20は、1以上のプロセッサを含み、プロセッサを、データ蓄積装置12のデータを参照する参照周期を受け付け、バッファに格納されたデータを前記データ格納先へ出力するまで溜め込んでおく時間である溜め込み時間を、前記バッファへの格納対象となるデータを前記バッファへ格納できないデータ損失の有無に基づいて、前記参照周期以内の時間に決定し、決定された前記溜め込み時間に従って、前記バッファのデータを前記データ蓄積装置12に出力するように構成する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
データを受け取ってバッファに格納し、前記バッファに格納したデータを所定のデータ格納先へ出力する処理を実行するデータ処理システムであって、
前記データ処理システムは、1以上のプロセッサを含み、
前記プロセッサは、
前記データ格納先のデータを参照する参照周期を受け付け、
前記バッファに格納されたデータを前記データ格納先へ出力するまで溜め込んでおく時間である溜め込み時間を、前記バッファへの格納対象となるデータを前記バッファへ格納できないデータ損失の有無に基づいて、前記参照周期以内の時間に決定し、
決定された前記溜め込み時間に従って、前記バッファのデータを前記データ格納先に出力する
データ処理システム。
【請求項2】
前記プロセッサは、
前記参照周期以内の1以上の時間を前記溜め込み時間の候補である候補溜め込み時間とした場合における、前記バッファへデータを格納できないデータ損失の発生の有無を検出し、
前記データ損失が発生しなかった前記候補溜め込み時間を、前記溜め込み時間に決定する
請求項1に記載のデータ処理システム。
【請求項3】
前記プロセッサは、
複数の前記候補溜め込み時間の中の前記データ損失が発生しなかった最短の候補溜め込み時間を、前記溜め込み時間に決定する
請求項2に記載のデータ処理システム。
【請求項4】
前記プロセッサは、
前記参照周期と同じ値から徐々に減算していくことにより、複数の候補溜め込み時間を逐次決定し、前記バッファへデータを格納できないデータ損失の発生の有無を検出していくことにより、前記データ損失が発生しなかった最短の前記候補溜め込み時間を探索する
請求項3に記載のデータ処理システム。
【請求項5】
前記プロセッサは、
前記参照周期と同じ時間である溜め込み時間において、前記データ損失が発生した場合には、前記参照周期と同じ時間を前記溜め込み時間に決定する
請求項1に記載のデータ処理システム。
【請求項6】
前記プロセッサは、
入力されたデータの内の前記バッファへの格納対象とするデータの割合を示すデータ透過率に従って、前記入力されたデータを間引く間引き処理を実行して、前記間引き処理後のデータを前記バッファに格納し、
前記データ透過率を変えた場合における、前記バッファへの格納対象となるデータを前記バッファへ格納できないデータ損失の発生の有無を検出し、
前記データ損失が発生しない場合の前記データ透過率を、以降に使用するデータ透過率に決定する
請求項5に記載のデータ処理システム。
【請求項7】
前記プロセッサは、
入力されるデータとして用いるテストデータの設定を受け付け、
前記設定に従ったテストデータを生成して前記入力されるデータとして用いる
請求項1に記載のデータ処理システム。
【請求項8】
前記データ処理システムは、
ゲートウェイと、前記ゲートウェイとネットワークを介して接続されたサーバとを備え、
前記ゲートウェイは、入力されたデータを受け取って第1バッファに格納し、前記第1バッファに格納したデータを前記サーバに出力する処理を実行し、
前記サーバは、前記ゲートウェイからデータを受け取って第2バッファに格納し、前記第2バッファに格納したデータを前記データ格納先に出力する処理を実行し、
前記プロセッサは、
前記第1バッファに格納されたデータを前記サーバへ出力するまで溜め込んでおく時間である第1溜め込み時間を、前記第1バッファへの格納対象となるデータを前記第1バッファへ格納できないデータ損失の有無に基づいて、前記参照周期以内の時間に決定し、
前記第2バッファに格納されたデータを前記データ格納先へ出力するまで溜め込んでおく時間である第2溜め込み時間を、前記第2バッファへの格納対象となるデータを前記第2バッファへ格納できないデータ損失の有無に基づいて、前記参照周期以内の時間に決定する
請求項1に記載のデータ処理システム。
【請求項9】
前記プロセッサは、
データ損失回避を優先する指示を受け付け、
データ損失回避を優先する指示を受け付けた場合に、前記バッファに格納されたデータを前記データ格納先へ出力するまで溜め込んでおく時間である損失回避時溜め込み時間を、複数の時間を前記溜め込み時間の候補である候補損失回避時溜め込み時間とした場合における、前記バッファへデータを格納できないデータ損失が発生しなかった候補損失回避時溜め込み時間の内の最長の候補損失回避時溜め込み時間に決定する
請求項1に記載のデータ処理システム。
【請求項10】
前記プロセッサは、
所定のデータソースからの実際のデータを用いて、前記バッファへの格納対象となるデータを前記バッファへ格納できないデータ損失の有無を検出する
請求項1に記載のデータ処理システム。
【請求項11】
前記プロセッサは、
前記データ損失の発生が所定の条件を満たした場合に、前記溜め込み時間を再設定する処理を行う
請求項10に記載のデータ処理システム。
【請求項12】
前記プロセッサは、
決定された前記溜め込み時間を表示させる
請求項1に記載のデータ処理システム。
【請求項13】
データを受け取ってバッファに格納し、前記バッファに格納したデータを所定のデータ格納先へ出力する処理を実行するデータ処理システムによるデータ処理方法であって、
前記データ処理システムは、
前記データ格納先のデータを参照する参照周期を受け付け、
前記バッファに格納されたデータを前記データ格納先へ出力するまで溜め込んでおく時間である溜め込み時間を、前記バッファへの格納対象となるデータを前記バッファへ格納できないデータ損失の有無に基づいて、前記参照周期以内の時間に決定し、
決定された前記溜め込み時間に従って、前記バッファのデータを前記データ格納先に出力する
データ処理方法。
【請求項14】
データを受け取ってバッファに格納し、前記バッファに格納したデータを所定のデータ格納先へ出力する処理をコンピュータに実行させるデータ処理プログラムであって、
前記コンピュータに、
前記データ格納先のデータを参照する参照周期を受け付けさせ
前記バッファに格納されたデータを前記データ格納先へ出力するまで溜め込んでおく時間である溜め込み時間を、前記バッファへの格納対象となるデータを前記バッファへ格納できないデータ損失の有無に基づいて、前記参照周期以内の時間に決定させ、
決定された前記溜め込み時間に従って、前記バッファのデータを前記データ格納先に出力させる
データ処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データソースのデータをデータ格納先に登録する技術に関する。
【背景技術】
【0002】
現場等で生成されたデータをデータベース等のデータ格納先に登録し、データ格納先に格納されたデータを用いて可視化、分析等の処理が行われている。
【0003】
例えば、生成されたデータを受け取って、データ登録先に登録する処理を実行する処理装置において、データが到着するたびに逐次的にデータをデータ登録先に登録する処理を行うようにすると、データ登録先への登録処理におけるオーバヘッドが大きくなる。このため、処理装置の性能(例えば、バッファのサイズ等)によっては、データ登録先への登録処理の影響により、到着したデータをバッファに格納できないデータ損失(データロスト)が発生する虞がある。
【0004】
これに対して、例えば、所定の時間(溜め込み時間)内に到着したデータを集約してデータ登録先に登録するようにして、データ登録先への登録処理の効率を向上してデータロストを防ぐ技術が知られている。
【0005】
しかしながら、溜め込み時間が長すぎると、データ登録先へのデータの格納に長期間を要し、データ登録先のデータを利活用するデータ利活用先での処理におけるリアルタイム性が損なわれてしまう虞がある。
【0006】
例えば、特許文献1には、時間的制約があって管理が厳しいストリームデータを処理する技術として、ストリームデータと、非ストリームデータを処理する装置において、パラメータを備えたリクエストに対して2種類の待ち行列と、パラメータによってリクエスト実行順番を計画する処理と、待ち行列をスキャンし最適なリクエストを実行する処理を持つことによりリクエスト実行順番を処理が最適化されるようにリアルタイムに切り替える技術が開示されている。
【先行技術文献】
【特許文献】
【0007】
【発明の概要】
【発明が解決しようとする課題】
【0008】
上記したように、溜め込み時間が長すぎると、データ登録先へのデータの格納に長期間を要し、データ登録先のデータを利活用するデータ利活用先での処理におけるリアルタイム性が損なわれてしまう虞があるが、溜め込み時間をどのように設定するについての技術は知られていない。
【0009】
本発明は、上記事情に鑑みなされたものであり、その目的は、データ登録先へ登録するデータの溜め込み時間を容易且つ適切に設定することのできる技術を提供することにある。
【課題を解決するための手段】
【0010】
上記目的を達成するため、一観点に係るデータ処理システムは、データを受け取ってバッファに格納し、前記バッファに格納したデータを所定のデータ格納先へ出力する処理を実行するデータ処理システムであって、前記データ処理システムは、1以上のプロセッサを含み、前記プロセッサは、前記データ格納先のデータを参照する参照周期を受け付け、前記バッファに格納されたデータを前記データ格納先へ出力するまで溜め込んでおく時間である溜め込み時間を、前記バッファへの格納対象となるデータを前記バッファへ格納できないデータ損失の有無に基づいて、前記参照周期以内の時間に決定し、決定された前記溜め込み時間に従って、前記バッファのデータを前記データ格納先に出力する。
【発明の効果】
【0011】
本発明によれば、データ登録先へ登録するデータの溜め込み時間を容易且つ適切に設定することができる。
【図面の簡単な説明】
【0012】
【
図1】
図1は、第1実施形態に係る情報処理システムの全体構成図である。
【
図2】
図2は、第1実施形態に係るリスト表の構成図である。
【
図3】
図3は、第1実施形態に係る設定画面の構成図である。
【
図4】
図4は、第1実施形態に係る溜め込み時間設定処理のフローチャートである。
【
図5】
図5は、第1実施形態に係るリスト表の状態の一例を示す図である。
【
図6】
図6は、第1実施形態に係るリスト表の状態の他の例を示す図である。
【
図7】
図7は、第1実施形態に係るデータ処理システムのハードウェア構成図である。
【
図8】
図8は、第2実施形態に係るデータ処理システムの機能構成図である。
【
図9】
図9は、第2実施形態に係るリスト表の構成図である。
【
図10】
図10は、第2実施形態に係る溜め込み時間設定処理のフローチャートである。
【
図11】
図11は、変形例にかかるデータ処理システムの構成図である。
【発明を実施するための形態】
【0013】
実施形態について、図面を参照して説明する。なお、以下に説明する実施形態は特許請求の範囲に係る発明を限定するものではなく、また実施形態の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0014】
図1は、第1実施形態に係る情報処理システムの全体構成図である。
【0015】
情報処理システム10は、データソースデバイス11と、データ処理システム20と、データ蓄積装置12と、データ利活用装置13とを含む。データソースデバイス11と、データ処理システム20とは、ネットワーク15を介して接続されている。
【0016】
データソースデバイス11は、データ蓄積装置12に蓄積するデータのソースとなるデバイスである。データソースデバイス11は、例えば、各種状態を検出するセンサを含んでもよい。データソースデバイス11は、データ処理システム20に逐次データを送信する。
【0017】
データ蓄積装置12は、データ格納先の一例であり、例えば、データベースであり、データソースデバイス11のデータを利用可能に蓄積する。
【0018】
データ利活用装置13は、データ蓄積装置12に蓄積されたデータを参照して、各種処理を実行する。例えば、データ利活用装置13は、処理に必要なデータを所定の参照周期(例えば、5秒)で参照して処理を実行する。
【0019】
データ処理システム20は、データソースデバイス11から送信されるデータをデータ蓄積装置12に格納する処理を実行する。
【0020】
データ処理システム20は、データ受付部21と、データ出力部22と、溜め込み時間決定処理部23とを含む。データ受付部21は、データソースデバイス11から送信されたデータ(格納対象データ)を受け付けてバッファに格納する処理を行う。データ出力部22は、データを送信するまでに溜め込んでおく時間(溜め込み時間)の設定に従ってバッファに格納されたデータをデータ蓄積装置12に送信する。
【0021】
溜め込み時間決定処理部23は、データ出力部22におけるデータの溜め込み時間を決定する溜め込み時間決定処理(
図4参照)を実行する機能部であり、処理部30と、設定部40とを含む。
【0022】
設定部40は、優先度設定部41と、テストデータ設定部42と、再設定部43とを含む。優先度設定部41は、後述する設定画面100(
図3参照)への設定に従って、パラメータ調整部33に溜め込み時間決定処理における優先度を設定する。テストデータ設定部42は、設定画面100への設定に従って、テストデータ生成部34により生成するテストデータの設定を行う。再設定部43は、溜め込み時間の再設定が設定されている場合に、溜め込み時間決定処理を再度実行させる処理を行う。
【0023】
処理部30は、ロス検出部31と、スループット検出部32と、パラメータ調整部33と、テストデータ生成部34と、を含む。ロス検出部31は、データ受付部21によるデータソースデバイス11からのデータをバッファに格納できないデータロスの発生を検出する。スループット検出部32は、データ出力部22によるデータ蓄積装置12へのデータの格納におけるスループットを検出する。パラメータ調整部33は、データ出力部22におけるパラメータ(データの溜め込み時間)を調整するための溜め込み時間決定処理を実行する。テストデータ生成部34は、テストデータの設定に従って溜め込み時間設定処理に使用するテストデータを生成してデータ受付部21に渡す処理を行う。
【0024】
次に、溜め込み時間決定処理において、生成されるリスト表について説明する。
【0025】
図2は、第1実施形態に係るリスト表の構成図である。
【0026】
リスト表50は、溜め込み時間設定処理におけるテストで使用した溜め込み時間(候補溜め込み時間)毎のエントリを含む。リスト表50のエントリは、溜め込み時間51と、スループット値52と、データロス有/無53とのフィールドを含む。溜め込み時間51には、エントリに対応する候補溜め込み時間が格納される。スループット値52には、エントリに対応する候補溜め込み時間とした場合のデータ出力部22によるスループットが格納される。データロス有/無53には、エントリに対応する候補溜め込み時間とした場合におけるデータ受付部21でのデータロスの発生の有無が格納される。
【0027】
次に、設定画面100について説明する。
【0028】
図3は、第1実施形態に係る設定画面の構成図である。
【0029】
設定画面100は、溜め込み時間決定処理に必要な各種情報を設定するとともに、溜め込み時間決定処理による実行結果を表示するための画面であり、データ処理プログラムを実行する後述するプロセッサ81により、例えば、データ処理システム20に接続されたディスプレイ等の表示装置や、データ処理システム20にネットワークを介して接続された情報処理装置の表示装置に表示される。
【0030】
設定画面100は、優先度設定領域110と、テストデータ設定領域120と、自動再設定領域130と、テスト開始ボタン140と、実行結果領域150とを含む。
【0031】
優先度設定領域110は、優先度ボタン表示領域111と、参照周期設定領域112とを含む。優先度ボタン表示領域111は、溜め込み時間を設定するための優先度の設定を行う領域であり、データソースデバイス11から送信されるデータの損失の回避(データ損失回避)を優先するのか、又はデータ利活用装置におけるデータを使用するアプリケーションの性能(アプリ側性能)を優先するのかを選択するためのラジオボタンが表示される。参照周期設定領域112は、アプリ側性能を優先する場合のアプリケーションにおけるデータ蓄積装置のデータに対する参照周期を設定する領域である。
【0032】
テストデータ設定領域120は、テストデータ生成量設定領域121と、テストデータサイズ設定領域122とを含む。テストデータ生成量設定領域121は、データソースデバイス11から到達するデータを模擬するテストデータの単位時間当たりのデータの数(件数)を設定する領域である。テストデータサイズ設定領域122は、テストデータのサイズを設定する領域である。
【0033】
自動再設定領域130は、溜め込み時間を自動で再設定するか否かを設定するラジオボタンが表示される領域である。
【0034】
テスト開始ボタン140は、テストデータを利用しての溜め込み時間設定処理を開始させる指示を行うボタンであり、テスト開始ボタン140が押下されると、溜め込み時間設定処理が開始される。
【0035】
実行結果領域150は、溜め込み時間表示領域151と、スループット値表示領域152とを含む。溜め込み時間表示領域151は、溜め込み時間設定処理により設定された溜め込み時間を表示する領域である。スループット値表示領域152は、溜め込み時間設定処理により設定された溜め込み時間とした場合におけるデータ蓄積装置12にデータを格納する際のスループットの値が表示される領域である。
【0036】
次に、データ処理システム20による処理動作について説明する。
【0037】
図4は、第1実施形態に係る溜め込み時間設定処理のフローチャートである。
【0038】
溜め込み時間設定処理は、例えば、設定画面100において、テスト開始ボタン140が押下された場合、又はパラメータ調整部33に自動再設定が設定され、決定した溜め込み時間を用いて処理を開始した後に、ロス検出部31によりデータロスが所定の頻度以上発生したことを検出した場合に実行される。
【0039】
まず、設定部40は、設定画面100に設定された各種要件を取得し、取得した要件に従って処理部30の設定を行う(S11)。具体的には、優先度設定部41は、設定画面100に設定された優先度をパラメータ調整部33に設定し、テストデータ設定部42は、設定画面に設定されたテストデータの要件をテストデータ生成部34に設定し、再設定部43は、設定画面100に自動再設定が設定されている場合には、パラメータ調整部33に自動再設定を設定する。
【0040】
次いで、パラメータ調整部33は、アプリ側性能を優先として設定されているか否かを判定する(S12)。
【0041】
この結果、アプリ側性能を優先として設定されている場合(S12:Yes)には、パラメータ調整部33は、データ出力部22における溜め込み時間を設定画面のデータ参照周期に設定し(S13)、処理をステップS15に進める。
【0042】
一方、アプリ側性能を優先として設定されていない場合(S12:No)には、パラメータ調整部33は、データ出力部22における溜め込み時間を0秒に設定し(S14)、処理をステップS15に進める。
【0043】
ステップS15では、パラメータ調整部33は、テストデータ生成部34にテストデータの設定内容に従ってテストデータの生成を開始させる。
【0044】
次いで、パラメータ調整部33は、テストデータ生成部34に一定時間テストデータを生成させてデータ受付部21に送信させる(S16)。これにより、データ受付部21は送信されたデータを受け付けてバッファに格納する処理を実行し、データ出力部22は設定された溜め込み時間に従ってバッファのデータをデータ蓄積装置12に出力する処理を実行することとなる。
【0045】
このようにデータ受付部21及びデータ出力部22が処理を行っている際には、ロス検出部31は、データ受付部21におけるデータロスの発生の有無を検出してパラメータ調整部33に通知し、スループット検出部32は、データ出力部22によるスループットを検出してパラメータ調整部33に通知する。
【0046】
次いで、パラメータ調整部33は、テストデータを使ってのテスト結果、すなわち、設定されている溜め込み時間、スループット、データロスの有無の情報をリスト表50に登録する(S17)。
【0047】
次いで、パラメータ調整部33は、アプリ側性能を優先として設定されているか否かを判定し(S18)、アプリ側性能を優先として設定されている場合(S18:Yes)には、処理をステップS19に進める一方、アプリ側性能を優先として設定されていない場合(S18:No)には、処理をステップS20に進める。
【0048】
ステップS19では、パラメータ調整部33は、溜め込み時間が0以下を満たしているか否かを判定し、満たしている場合(S19:Yes)には、リスト表50からデータロスがない溜め込み時間の中のいずれかを、実際に使用する溜め込み時間と決定してデータ出力部22に設定し(S22)、処理を終了する。ここで、実際に使用する溜め込み時間としては、アプリ側性能を優先として設定されている場合には、例えば、最短の溜め込み時間としてもよく、データロスがない溜め込み時間がない場合には、最長の溜め込み時間(参照周期と同じ時間)としてもよい。また、パラメータ調整部33は、決定した溜め込み時間を設定画面100の実行結果領域150に表示させるようにしてもよい。
【0049】
一方、溜め込み時間が0以下を満たしていない場合(S19:No)には、パラメータ調整部33は、処理をステップS21に進める。
【0050】
ステップS20では、パラメータ調整部33は、データロスが発生したか否かを判定し、データロスが発生していない場合(S20:No)には、処理をステップS22に進める一方、データロスが発生している場合(S20:Yes)には、データ出力部22に設定されている溜め込み時間を加算(例えば、+1)して設定をし(S23)、処理をステップS15に進める。
【0051】
ステップS21では、パラメータ調整部33は、データロスが発生したか否かを判定し、データロスが発生していない場合(S21:No)には、データ出力部22に設定されている溜め込み時間を減算(例えば、-1)して設定をし(S24)、処理をステップS15に進める一方、データロスが発生している場合(S21:Yes)には、処理をステップS22に進める。
【0052】
次に、溜め込み時間設定処理が行われた場合のリスト表のいくつかの例と、それぞれの場合に決定される溜め込み時間について
図2,
図5,
図6を参照して説明する。
図5は、第1実施形態に係るリスト表の状態の一例を示す図であり、
図6は、第1実施形態に係るリスト表の状態の他の例を示す図である。
【0053】
図2のリスト表は、アプリ側性能を優先する設定がされ、参照時間が7秒に設定されている場合の例であり、
図5のリスト表は、アプリ側性能を優先する設定がされ、参照時間が2秒に設定されている場合の例であり、
図6のリスト表は、アプリ側性能を優先する設定がされていない場合、すなわち、データ損失回避を優先する設定がされている場合の例である。
【0054】
アプリ側性能を優先する設定がされ、参照時間が7秒に設定されている場合には、溜め込み時間設定処理により、
図2に示すように、溜め込み時間が参照時間の7秒からデータロスが発生した時間である4秒までのエントリがリスト表50に格納される。この場合には、例えば、データロスが発生していない最短の溜め込み時間である5秒が使用する溜め込み時間として決定される。これにより、データロスを発生させることなく、データ利活用装置13での参照時間以下の溜め込み時間でデータ蓄積装置12にデータを格納することができ、データ利活用装置13でのリアルタイム性を適切に維持することができる。
【0055】
また、アプリ側性能を優先する設定がされ、参照時間が2秒に設定されている場合には、溜め込み時間設定処理により、
図5に示すように、溜め込み時間が参照時間の2秒から処理が開始されるが、データロスが発生するので、溜め込み時間が2秒のエントリのみがリスト表50に格納される。この場合には、参照時間と同じ時間である2秒が使用する溜め込み時間として決定される。これにより、データロスは発生してしまうが、データ利活用装置13での参照時間と同じ溜め込み時間でデータ蓄積装置12にデータを格納することができ、データ利活用装置13でのリアルタイム性を損なうことを抑制することができる。
【0056】
また、アプリ側性能を優先する設定がされていない場合には、溜め込み時間設定処理により、
図6に示すように、溜め込み時間が0秒から処理が開始され、データロスが発生しなくなる時間である5秒までのエントリがリスト表50に格納される。この場合には、データロスが発生していない最短の時間である5秒が使用する溜め込み時間として決定される。これにより、データロスを発生させることなくデータ蓄積装置12にデータを格納することができる。
【0057】
次にデータ処理システム20のハードウェア構成の一例について説明する。
【0058】
図7は、第1実施形態に係るデータ処理システムのハードウェア構成図である。
【0059】
データ処理システム20は、例えば、PC(Personal Computer)や汎用サーバ等のコンピュータであり、プロセッサ81と、主記憶装置82と、副記憶装置83と、ネットワークインターフェース(NW IF)84と、を含む。
【0060】
NW IF84は、例えば、有線LANカードや無線LANカードなどのインターフェースであり、ネットワーク15等を介して、他の装置(データソースデバイス11、データ蓄積装置12等)と通信する。
【0061】
プロセッサ81は、例えば、CPU(Central Processing Unit)であり、主記憶装置82及び/又は副記憶装置83に格納されているプログラムに従って各種処理を実行する。
【0062】
主記憶装置82は、例えば、RAM(RANDOM ACCESS MEMORY)であり、プロセッサ81で実行されるプログラムや、必要な情報(例えば、リスト表50)を記憶する。また、主記憶装置82は、例えば、データソースデバイス11から受信したデータのバッファとして使用されてもよい。
【0063】
副記憶装置83は、例えば、ハードディスクやフラッシュメモリなどであり、プロセッサ81で実行されるプログラムや、プロセッサ81に利用されるデータを記憶する。本実施形態では、副記憶装置83は、溜め込み時間決定処理を実行するデータ処理プログラムを記憶する。
【0064】
本実施形態では、例えば、データ処理プログラムをプロセッサ81が実行することにより、データ受付部21、データ出力部22、処理部30、及び設定部40が構成される。
【0065】
次に、第2実施形態に係るデータ処理システムについて説明する。
【0066】
図8は、第2実施形態に係るデータ処理システムの機能構成図である。なお、
図8において、第1実施形態に係るデータ処理システム20と同様な部分には、同一符号を付すこととする。
【0067】
第2実施形態に係るデータ処理システム20Aは、処理部30に代えて処理部30Aを備える。処理部30Aは、処理部30に対して、新たにシェーピング部35を備えるとともに、パラメータ調整部33に代えてパラメータ調整部33Aを備えている。
【0068】
シェーピング部35は、所定の透過率に従って、入力されるデータを間引く間引き処理(シェーピング処理)を行う。シェーピング部35は、通常時には、データソースデバイス11から受信したデータに対してシェーピング処理を行ったデータ(格納対象データ)をデータ受付部21に入力し、テスト時(溜め込み時間決定処理時)においては、テストデータ生成部34により生成されたデータについてシェーピング処理を行ったデータ(格納対象データ)をデータ受付部21に入力する。
【0069】
パラメータ調整部33Aは、パラメータ調整部33による溜め込み時間設定処理に対して、シェーピング部35に設定する透過率を調整する処理を加えた溜め込み時間設定処理(
図10参照)を実行する。
【0070】
次に、溜め込み時間決定処理において、生成されるリスト表について説明する。
【0071】
図9は、第2実施形態に係るリスト表の構成図である。なお、
図2に示すリスト表50と同様な部分には同一の符号を付している。
【0072】
リスト表60は、テストに使用した溜め込み時間(候補溜め込み時間)毎のエントリを含む。リスト表60のエントリは、溜め込み時間51と、スループット値52と、データロス有/無53と、データ透過率54とのフィールドを含む。データ透過率54には、入力されたデータをシェーピング部35がシェーピング処理をしてデータ受付部21に入力させる割合(データ透過率)が格納される。
【0073】
次に、データ処理システム20Aによる処理動作について説明する。
【0074】
図10は、第2実施形態に係る溜め込み時間設定処理のフローチャートである。なお、
図4に示す第1実施形態に係る溜め込み時間設定処理と同様な処理ステップには、同一の符号を付し、重複する説明を省略する場合がある。
【0075】
ステップS13を行った後、パラメータ調整部33Aは、探索フラグをOFFに設定し(S31)、シェーピング部35のデータ透過率を100%に設定し(S32)、溜め込み時間固定フラグをOFFに設定し(S33)、処理をステップS15に進める。ここで、探索フラグは、データロスが発生していない溜め込み時間を検出したか否かを示し、溜め込み時間固定フラグは、溜め込み時間を変更するか否かを示す。
【0076】
ステップS21において、データロスが発生していない場合(S21:No)には、処理をステップS34に進める一方、データロスが発生している場合(S21:Yes)には、処理をステップS35に進める。
【0077】
ステップS34では、パラメータ調整部33Aは、溜め込み時間固定フラグがOFFか否かを判定する。溜め込み時間固定フラグがOFFでない場合(S34:No)には、パラメータ調整部33Aは、溜め込み時間を変更しないことを意味しているので、処理をステップS22に進める。
【0078】
一方、溜め込み時間固定フラグがOFFである場合(S34:Yes)には、パラメータ調整部33Aは、データ出力部22に設定されている溜め込み時間を減算(例えば、-1)して設定をし(S36)、探索フラグをONに設定し(S37)、処理をステップS15に進める。
【0079】
ステップS35では、パラメータ調整部33Aは、探索フラグがOFFか否かを判定する。この結果、探索フラグがOFFでない場合(S35:No)には、データロスが発生しなかった溜め込み時間を既に探索していることを意味しているので、パラメータ調整部33Aは、処理をステップS22に進める。
【0080】
一方、探索フラグがOFFである場合(S35:Yes)には、パラメータ調整部33Aは、溜め込み時間が参照周期と同じ場合においてデータロスが発生し、データ透過率を変更しないとデータロスの発生を防ぐことができないことを意味しているので、パラメータ調整部33Aは、溜め込み時間固定フラグをONに設定し(S38)、データ透過率を減算(例えば、-10%)してシェーピング部35に設定し(S39)、処理をステップS15に進める。
【0081】
次に、溜め込み時間設定処理が行われた場合のリスト表の例と、その場合に決定される溜め込み時間及びデータ透過率について
図9を参照して説明する。
【0082】
図9のリスト表は、アプリ側性能を優先する設定がされ、参照時間が2秒に設定されている場合の例である。
【0083】
アプリ側性能を優先する設定がされ、参照時間が2秒に設定されている場合には、溜め込み時間設定処理により、
図9に示すように、溜め込み時間が参照時間の2秒のみのエントリがリスト表60に格納される。そして、データ透過率54には、データロスが発生しなくなるまで減算されたデータ透過率(
図9の例では、50%)が格納される。この場合には、参照時間と同じ溜め込み時間である2秒が使用する溜め込み時間として決定され、シェーピング部35は、データ透過率が50%に設定される。これにより、溜め込み時間を参照時間としつつ、データロスが発生しないデータ透過率として、データ蓄積装置12にデータを格納することができる。この場合には、データソースデバイス11からのデータの一部は、シェーピングされてしまうが、シェーピングされた後の最新のデータについては、参照時間毎にデータ蓄積装置12に格納することができるので、データ利活用装置13でのリアルタイム性を適切に維持することができる。
【0084】
次に、変形例に係るデータ処理システムについて説明する。
【0085】
図11は、変形例に係るデータ処理システムの構成図である。なお、
図1に示すデータ処理システムと同様な機能部については、同一の符号を付している。
【0086】
変形例に係るデータ処理システム20Bは、ネットワーク75を介して接続されたゲートウェイ71とサーバ70とを含む。
【0087】
ゲートウェイ71は、データ受付部72と、データ出力部73と、テストデータ生成部74とを含む。
【0088】
データ受付部72は、データソースデバイス11から送信されたデータを受け付けてゲートウェイ1内のバッファ(第1バッファ)に格納する処理を行う。データ出力部73は、データを送信するまでに溜め込んでおく時間(溜め込み時間)の設定に従ってバッファに格納されたデータをサーバ70に送信する。テストデータ生成部74は、テストデータの設定に従ってテストデータを生成してデータ受付部72に渡す処理を行う。
【0089】
サーバ70は、データ受付部21と、データ出力部22と、処理部30Bと、設定部40とを含む。なお、データ受付部21は、データソースデバイス11ではなく、ゲートウェイ71から送信されたデータを受け付けてバッファ(第2バッファ)に格納する処理を行う。
【0090】
処理部30Bは、ロス検出部31Bと、スループット検出部32Bと、パラメータ調整部33Bとを含む。ロス検出部31Bは、データ受付部21及びデータ受付部72による入力されたデータをバッファに格納できないデータロスの発生を検出する。スループット検出部32Bは、データ出力部22及びデータ出力部73によるデータ出力におけるスループットを検出する。パラメータ調整部33Bは、データ出力部22及びデータ出力部73のそれぞれにおけるパラメータ(データの溜め込み時間)を調整するための溜め込み時間決定処理を実行する。なお、溜め込み時間決定処理は、
図4に示す溜め込み時間決定処理と同様な処理を、ゲートウェイ71と、サーバ70とのそれぞれについて行う。
【0091】
このデータ処理システム20Bによると、ゲートウェイ71からサーバ70へ出力されるデータについての溜め込み時間も適切に決定することができる。
【0092】
なお、本発明は、上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で、適宜変形して実施することが可能である。
【0093】
例えば、上記実施形態では、溜め込み時間設定処理において、テストデータを入力して溜め込み時間を決定するようにしていたが、本発明はこれに限られず、例えば、データソースデバイスからの実際のデータを入力して溜め込み時間を決定するようにしもよい。
【0094】
また、上記実施形態において、プロセッサが行っていた処理の一部又は全部を、専用のハードウェア回路で行うようにしてもよい。また、上記実施形態におけるプログラムは、プログラムソースからインストールされてよい。プログラムソースは、プログラム配布サーバ又は記録メディア(例えば可搬型の記録メディア)であってもよい。
【符号の説明】
【0095】
10…情報処理システム、11…データソースデバイス、12…データ蓄積装置、13…データ利活用装置、20,20A,20B…データ処理システム、21…データ受付部、22…データ出力部、23…溜め込み時間決定処理部、30…処理部、31…ロス検出部、32…スループット検出部、33…パラメータ調整部、34…テストデータ生成部、40…設定部、41…優先度設定部、42…テストデータ設定部、43…再設定部