JP4871213B2 - ストリームデータ処理方法、ストリームデータ処理プログラムおよびストリームデータ処理システム - Google Patents

ストリームデータ処理方法、ストリームデータ処理プログラムおよびストリームデータ処理システム Download PDF

Info

Publication number
JP4871213B2
JP4871213B2 JP2007138440A JP2007138440A JP4871213B2 JP 4871213 B2 JP4871213 B2 JP 4871213B2 JP 2007138440 A JP2007138440 A JP 2007138440A JP 2007138440 A JP2007138440 A JP 2007138440A JP 4871213 B2 JP4871213 B2 JP 4871213B2
Authority
JP
Japan
Prior art keywords
data
stream data
information
sid
data storage
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
JP2007138440A
Other languages
English (en)
Other versions
JP2008294774A (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2007138440A priority Critical patent/JP4871213B2/ja
Publication of JP2008294774A publication Critical patent/JP2008294774A/ja
Application granted granted Critical
Publication of JP4871213B2 publication Critical patent/JP4871213B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、ストリームデータ処理技術に関する。
従来、各種センサやICタグ、携帯電話等により様々なデータを収集し、この収集したデータにフィルタ処理を行い、所定の利用先へ流通させるストリームデータ処理技術がある。このようなストリームデータ処理技術として、telegraphCQ(非特許文献1参照)が提案されている。また、このようなストリームデータ処理技術において、受信したデータをDB(データベース)に蓄積し、このデータの検索を可能とする技術も提案されている(非特許文献2参照)。
Sirish Chandrasekaran,Owen Cooper,AmoI Deshpande,Michael J.Franklin,Joseph M. Hellerstein,Wei Hong,Sailesh Krishnamurthy,Sam Madden,Vijayshankar Raman,Fred Reiss,and Mehul A.Shah.,"TelegraphCQ:Continuous Dataflow Processing for an Uncertain World," CIDR(2003) 山田他、ストリーム処理とデータベースを統合した実世界情報管理基盤、電子情報通信学会、データ工学ワークショップDEWS2006、2006
前記した技術のいずれもが、単一のサーバがストリームデータ処理を実行するものである。つまり、前記した複数のサーバがストリームデータ処理を実行することについては考慮されていない。このため、多数の情報源からストリームデータを受信する場合、システム全体の処理能力が低下してしまうという問題があった。また、このように複数のサーバがフィルタ処理を行う場合において、過去のデータ(フィルタ処理後のストリームデータ)の洗い直しやマイニング等のために再フィルタ処理が必要な場合もある。このような場合、各サーバのDBに蓄積された過去のストリームデータを読み出す必要があるが、再フィルタ処理の対象データがどのサーバのどのディレクトリに蓄積されているかを把握しなければならず、再フィルタ処理が困難であった。
そこで、本発明は前記した問題を解決し、様々な情報源からストリームデータを受信する場合であっても、システム全体の処理能力が低下しないようにし、かつ再フィルタ処理を行いやすくすることを目的とする。
前記した課題を解決するため、請求項1に記載の発明は、(1)複数の情報源端末より送信されたストリームデータを蓄積する複数のデータ蓄積装置と、(2)このデータ蓄積装置から取得した前記ストリームデータに対しフィルタ処理を実行する複数のフィルタ処理装置と、(3)前記ストリームデータの種別を示すSIDごとに、このSIDを持つストリームデータに対し実行すべき前記フィルタ処理およびそのフィルタ処理の適用手順を示した処理手順情報を前記フィルタ処理装置へ送信する情報管理装置とを備えるストリームデータ処理システムにおけるストリームデータ処理方法であって、前記情報管理装置は、前記情報源端末から、前記SIDを含む当該ストリームデータの送信先割り当て要求を受信したとき、記憶部に記憶された前記SIDごとに、当該SIDのストリームデータの送信先であるデータ蓄積装置の識別情報を示したシステム情報を参照して、当該情報源端末へこのストリームデータの送信先である前記データ蓄積装置の識別情報を送信し、前記情報源端末は、前記情報管理装置から送信された識別情報に対応する前記データ蓄積装置へ前記ストリームデータを送信し、前記データ蓄積装置はそれぞれ、前記ストリームデータを受信したとき、この受信したストリームデータをキュー部に出力するとともに、蓄積データ記憶部に蓄積し、前記フィルタ処理装置は、前記データ蓄積装置のキュー部におけるキュー状態に基づき、前記ストリームデータの取得元となる前記データ蓄積装置を選択し、前記選択されたデータ蓄積装置のキュー部から、このキュー部に蓄積されたストリームデータを取得し、前記情報管理装置から受信した前記処理手順情報と、前記取得したストリームデータに付されたSIDとを参照して、前記取得したストリームデータに対し実行すべきフィルタ処理を決定し、前記決定したフィルタ処理を実行し、前記データ蓄積装置はそれぞれ、前記情報源端末からストリームデータを受信し、このストリームデータを蓄積データ記憶部に記憶したとき、このストリームデータのSIDと、このストリームデータの受信時刻と、自データ蓄積装置の識別情報およびこのストリームデータの記憶領域を示す情報とを対応付けた追記データ位置情報を作成し、前記情報管理装置へ送信し、前記情報管理装置は、前記データ蓄積装置それぞれから送信された前記追記データ位置情報を記憶部に記憶し、外部装置から、当該ストリームデータのSIDおよび受信時刻を含む前記ストリームデータの検索要求を受信したとき、前記検索要求に含まれる前記SIDおよび前記受信時刻をキーとして、前記記憶部から、当該ストリームデータに関する前記追記データ位置情報を検索し、前記検索した追記データ位置情報を前記外部装置へ送信することを特徴とするストリームデータ処理方法とした。
このような方法によれば、ストリームデータ処理システムは、複数のデータ蓄積装置および複数のフィルタ処理装置を用いるので、様々な情報源からストリームデータを受信する場合であっても、システム全体の処理能力が低下しないようにすることができる。また、このフィルタ処理装置はそれぞれ、データ蓄積装置からストリームデータを取得するとき、各データ蓄積装置におけるキュー状態に基づき、ストリームデータを取得するデータ蓄積装置を決定する。例えば、フィルタ処理装置は、より入力スループットが大きいデータ蓄積装置からストリームデータを取得するようにする。これにより、フィルタ処理装置同士で処理負荷の情報をやりとりしなくても、各フィルタ処理装置同士のフィルタ処理負荷のバランスをとることができる。さらに、データ蓄積装置はそれぞれ、この情報源端末から受信したストリームデータをキュー部に送信するとともに、蓄積データ記憶部にも蓄積する。そして、データ蓄積装置はそれぞれ、自データ蓄積装置に蓄積したストリームデータの記憶位置を情報管理装置に送信し、情報管理装置は、この記憶位置(追記データ位置情報)を記憶部に記憶する。このようにすることで、情報管理装置は外部装置から再フィルタ処理の対象となるストリームデータの検索要求を受け付けたとき、このストリームデータの記憶位置を外部装置へ応答することができる。つまり、外部装置は、再フィルタ処理の対象のストリームデータの記憶位置を知ることができる。なお、このような追記データ位置情報を受信した外部装置は、情報管理装置へ再フィルタ処理の指示を送信するとき、この追記データ位置情報をそのまま送信してしてもよいし、この追記データ位置情報に示されるストリームデータのうち、所定のストリームデータを選択して、再フィルタ処理の指示を送信してもよい。
請求項2に記載の発明は、前記情報管理装置が、前記外部装置から、前記データ蓄積装置に蓄積された前記ストリームデータを処理の内容を変更してフィルタ処理する再フィルタ処理の対象であるストリームデータに関する前記追記データ位置情報と前記再フィルタ処理の内容とを示した再フィルタ指示情報を受信したとき、前記再フィルタ処理の対象とするストリームデータに用いる再フィルタ用SIDを発行し、前記記憶部における前記システム情報に、前記再フィルタ用SIDと、このSIDを持つストリームデータを蓄積するデータ蓄積装置の識別情報とを対応付けた情報を追加し、前記記憶部における前記処理手順情報に、前記発行した再フィルタ処理用SIDと、このSIDを持つストリームデータに対する前記再フィルタ処理の内容と対応付けた情報を追加することで、前記再フィルタ処理の内容を前記処理手順情報に反映し、前記再フィルタ処理の内容を反映した処理手順情報を、前記フィルタ処理装置へ送信し、前記複数のデータ蓄積装置のうち、いずれか1つのデータ蓄積装置を選択し、この選択したデータ蓄積装置へ前記発行した再フィルタ処理用SIDを含む前記再フィルタ処理指示情報を送信し、前記再フィルタ処理指示情報を受信したデータ蓄積装置は、前記受信した再フィルタ指示情報に示される前記データ蓄積装置の記憶領域から、前記再フィルタ処理の対象であるストリームデータを取得し、前記取得した再フィルタ処理の対象であるストリームデータに前記再フィルタ処理用SIDを付し、前記再フィルタ指示情報に含まれる再フィルタ用SIDをキーとして、前記情報管理装置から、このデータ蓄積装置が接続すべき前記データ蓄積装置の識別情報を取得し、前記取得した識別情報に示される前記データ蓄積装置へ接続して、このデータ蓄積装置へ前記ストリームデータを送信し、前記フィルタ処理装置は、前記データ蓄積装置のキュー部から、前記再フィルタ処理用のSIDを持つストリームデータを取得したとき、前記情報管理装置から受信した前記再フィルタ処理の内容を反映した処理手順情報を参照して、前記フィルタ処理を実行することを特徴とする請求項1に記載のストリームデータ処理方法とした。
このような方法によれば、外部装置は、情報管理装置から、再フィルタ処理の対象のストリームデータの記憶位置を受信することができる。つまり、外部装置は、情報管理装置に、この再フィルタ処理の対象のストリームデータの記憶位置を含む再フィルタ指示情報を送信する。そして、この情報管理装置は、システム内のデータ蓄積装置に、この再フィルタ処理指示情報に示されるデータ蓄積装置から当該ストリームデータを取得させる。そして、このストリームデータを取得したデータ蓄積装置は、このストリームデータを自データ蓄積装置のキュー部に流し込む。次に、フィルタ処理装置は、このデータ蓄積装置のキュー部に流し込まれた再フィルタ処理の対象のストリームデータを取得すると、情報管理装置から受信しておいた処理手順情報(再フィルタ処理の内容を反映した処理手順情報)を参照して、このストリームデータに対し、再フィルタ処理を実行することができる。
請求項3に記載の発明は、前記情報管理装置が、前記外部装置から、前記再フィルタ処理の対象とするストリームデータのSID、受信時刻および当該ストリームデータに対し実行すべき再フィルタ処理の内容を示した再フィルタ指示情報を受信したとき、前記再フィルタ処理の対象とするストリームデータのSIDおよび受信時刻をキーとして、前記記憶部から、当該ストリームデータに関する前記追記データ位置情報を検索し、前記検索した追記データ位置情報および前記再フィルタ処理の内容を示した再フィルタ指示情報を、前記複数のデータ蓄積装置のうち、いずれか1つのデータ蓄積装置へ送信することを特徴とする請求項2に記載のストリームデータ処理方法とした。
このような方法によれば、情報管理装置は、外部装置へ再フィルタ処理の対象のストリームデータに関する追記データ位置情報を送信する必要がなくなる。
請求項4に記載の発明は、前記情報管理装置が、前記受信した再フィルタ指示情報に示される再フィルタ処理の内容が、当該ストリームデータに対するウィンドウ処理を含むか否かを判断し、前記受信した再フィルタ指示情報に示される再フィルタ処理の内容が、当該ストリームデータに対するウィンドウ処理を含まないと判断した場合、前記再フィルタ処理指示情報の送信先である前記データ蓄積装置を選択するとき、前記記憶部から検索された当該ストリームデータに関する追記データ位置情報を、当該ストリームデータを有するデータ蓄積装置ごとに分け、前記分けた追記データ位置情報を前記再フィルタ指示情報に含め、当該ストリームデータを有するデータ蓄積装置それぞれへ送信することを特徴とする請求項2または請求項3に記載のストリームデータ処理方法とした。
このような方法によれば、情報管理装置は、再フィルタ処理の内容が、当該ストリームデータに対するウィンドウ処理を行う必要がなければ、当該ストリームデータを有するデータ蓄積装置それぞれが、自データ蓄積装置の蓄積データ記憶部からストリームデータを読み出し、キュー部に流し込むことになる。従って、再フィルタ処理の対象のストリームデータの読み出しを効率よく行うことができる。
請求項5に記載の発明は、(1)複数の情報源端末より送信されたストリームデータを蓄積する複数のデータ蓄積装置と、(2)このデータ蓄積装置から取得した前記ストリームデータに対しフィルタ処理を実行する複数のフィルタ処理装置と、(3)前記ストリームデータの種別を示すSIDごとに、このSIDを持つストリームデータに対し実行すべき前記フィルタ処理およびそのフィルタ処理の適用手順を示した処理手順情報を前記フィルタ処理装置へ送信する情報管理装置とを備えるストリームデータ処理システムに用いられるストリームデータ処理プログラムであって、前記情報管理装置であるコンピュータに、情報源端末から、前記SIDを含む当該ストリームデータの送信先割り当て要求を受信したとき、記憶部に記憶された前記SIDごとに、当該SIDのストリームデータの送信先であるデータ蓄積装置の識別情報を示したシステム情報を参照して、当該情報源端末へこのストリームデータの送信先である前記データ蓄積装置の識別情報を送信するステップと、前記データ蓄積装置それぞれから、当該データ蓄積装置において記憶された前記ストリームデータのSIDと、このストリームデータの受信時刻と、自データ蓄積装置の識別情報およびこのストリームデータの記憶領域とを対応付けた追記データ位置情報を取得するステップと、前記追記データ位置情報を記憶部に記憶するステップと、外部装置から、当該ストリームデータのSIDおよび受信時刻を含む前記ストリームデータの検索要求を受信したとき、前記検索要求に含まれる前記SIDおよび前記受信時刻をキーとして、前記記憶部から、当該ストリームデータに関する前記追記データ位置情報を検索するステップと、前記検索した追記データ位置情報を前記外部装置へ送信するステップと、を実行させるためのストリームデータ処理プログラムとした。
このようなプログラムによれば、コンピュータを、請求項1に記載の各ステップを実行する情報管理装置として機能させることができる。
請求項6に記載の発明は、(1)複数の情報源端末より送信されたストリームデータを蓄積する複数のデータ蓄積装置と、(2)このデータ蓄積装置から取得した前記ストリームデータに対しフィルタ処理を実行する複数のフィルタ処理装置と、(3)前記ストリームデータの種別を示すSIDごとに、このSIDを持つストリームデータに対し実行すべき前記フィルタ処理およびそのフィルタ処理の適用手順を示した処理手順情報を前記フィルタ処理装置へ送信する情報管理装置とを備えるストリームデータ処理システムであって、前記データ蓄積装置は、前記受信したストリームデータを蓄積する蓄積データ記憶部および前記フィルタ処理装置へ出力するストリームデータを一時的に蓄積するキュー部を備え、前記フィルタ処理装置は、前記データ蓄積装置のキュー部におけるキュー状態に基づき、前記ストリームデータの取得元となる前記データ蓄積装置を選択する選択処理部と、
前記選択されたデータ蓄積装置のキュー部から、このキュー部に蓄積されたストリームデータを取得するデータ取得部と、前記情報管理装置から受信した前記処理手順情報と、前記取得したストリームデータに付されたSIDとを参照して、前記取得したストリームデータに対し実行すべきフィルタ処理を決定し、前記決定したフィルタ処理を実行するフィルタ処理実行部とを備え、前記データ蓄積装置はそれぞれ、前記情報源端末から受信したストリームデータを蓄積する蓄積データ記憶部と、前記ストリームデータを前記蓄積データ記憶部に記憶したとき、このストリームデータのSIDと、このストリームデータの受信時刻と、自データ蓄積装置の識別情報およびこのストリームデータの記憶領域を示す情報とを対応付けた追記データ位置情報を作成し、前記情報管理装置へ送信する追記データ位置情報送信部とを備え、前記情報管理装置は、前記データ蓄積装置それぞれから送信された前記追記データ位置情報を記憶部に記憶するデータ位置管理部と、外部装置から、当該ストリームデータのSIDおよび受信時刻を含む前記ストリームデータの検索要求を受信したとき、前記検索要求に含まれる前記SIDおよび前記受信時刻をキーとして、前記記憶部から、前記ストリームデータに関する前記追記データ位置情報を検索し、前記検索した追記データ位置情報を前記外部装置へ送信する追記データ位置管理部と、を備えることを特徴とするストリームデータ処理システムとした。
このような構成によれば、ストリームデータ処理システムは、複数のデータ蓄積装置および複数のフィルタ処理装置を用いるので、様々な情報源からストリームデータを受信する場合であっても、システム全体の処理能力が低下しないようにすることができる。また、このフィルタ処理装置はそれぞれ、データ蓄積装置からストリームデータを取得するとき、各データ蓄積装置におけるキュー状態に基づき、ストリームデータを取得するデータ蓄積装置を決定する。例えば、フィルタ処理装置は、より入力スループットが大きいデータ蓄積装置からストリームデータを取得するようにする。これにより、フィルタ処理装置同士で処理負荷の情報をやりとりしなくても、各フィルタ処理装置同士のフィルタ処理負荷のバランスをとることができる。さらに、データ蓄積装置はそれぞれ、この情報源端末から受信したストリームデータをキュー部に送信するとともに、蓄積データ記憶部にも蓄積する。そして、データ蓄積装置はそれぞれ、自データ蓄積装置に蓄積したストリームデータの記憶位置を情報管理装置に送信し、情報管理装置は、この記憶位置(追記データ位置情報)を記憶部に記憶する。このようにすることで、情報管理装置は外部装置から再フィルタ処理の対象となるストリームデータの検索要求を受け付けたとき、このストリームデータの記憶位置を外部装置へ応答することができる。つまり、外部装置は、再フィルタ処理の対象のストリームデータの記憶位置を知ることができる。なお、このような追記データ位置情報を受信した外部装置は、情報管理装置へ再フィルタ処理の指示を送信するとき、この追記データ位置情報をそのまま送信してしてもよいし、この追記データ位置情報に示されるストリームデータのうち、所定のストリームデータを選択して、再フィルタ処理の指示を送信してもよい。
本発明によれば、様々な情報源からストリームデータを受信する場合であっても、システム全体の処理能力を低下させず、かつ再フィルタ処理を行いやすくすることができる。
以下、本発明を実施するための最良の形態(以下、実施の形態という)を、第1の実施の形態および第2の実施の形態に分けて説明する。なお、各実施の形態におけるストリームデータは、例えば、XML(Extensible Markup Language)形式のデータ等である。
≪第1の実施の形態≫
図1は、第1の実施の形態のストリームデータ処理システムを示すブロック図である。
ストリームデータ処理システム(以下、適宜システムと略す)は、計測データやログデータ等の時系列で作成されるデータにサービスID(SID)を付し、このデータをストリームデータとして送信する追記クライアント(情報源端末)50(50A〜50N)と、追記クライアント50から送信されたストリームデータを蓄積するデータ蓄積装置20(20A〜20N)と、このデータ蓄積装置20からストリームデータを取得し、フィルタ処理を行うフィルタ処理装置10(10A〜10N)と、フィルタ処理後のストリームデータを蓄積するデータベース装置60(60A〜60N)と、このデータベース装置60からデータの検索を行う参照クライアント(外部装置)70(70A〜70N)と、このデータ蓄積装置20やフィルタ処理装置10を動作させるための各種情報を管理する情報管理装置30とを含んで構成される。なお、SIDとは、ストリームデータの種類や、このストリームデータの送信元(情報源)を識別するための識別情報である。
なお、(1)追記クライアント50と、情報管理装置30およびデータ蓄積装置20(20A〜20N)との間、(2)情報管理装置30と、データ蓄積装置20(20A〜20N)との間、(3)データ蓄積装置20(20A〜20N)同士、(4)データ蓄積装置20(20A〜20N)と、フィルタ処理装置10(10A〜10N)の間、(5)フィルタ処理装置10(10A〜10N)とデータベース装置60(60A〜60N)との間、(6)データベース装置60(60A〜60N)と、参照クライアント70(70A〜70N)との間はそれぞれ、図示しないネットワークにより接続される。さらに、追記クライアント50、データ蓄積装置20、フィルタ処理装置10、データベース装置60、参照クライアント70の数は、それぞれN個としたが、これに限定されない。
<追記クライアント>
追記クライアント(外部装置)50は、通信インタフェース等を備えるコンピュータである。この追記クライアント50は、当該追記クライアント50に割当てられたSIDを付したデータを順次ストリームデータとしてデータ蓄積装置20へ送信する。
このとき送信するストリームデータは、各地の気温データや、コンピュータのログ等、時系列で計測されるデータであり、例えば、XML形式で記述される。また、追記クライアント50の接続先、つまり、ストリームデータの送信先であるデータ蓄積装置20の追記部221,222は、情報管理装置30から指示された(割り当てられた)ものとする。
<情報管理装置>
情報管理装置30は、フィルタ処理に用いる各種データを蓄積するともに、追記クライアント50の接続先の割り当て、データ蓄積装置20(20A〜20N)におけるストリームデータの蓄積情報(追記データ位置情報)の記録、参照クライアント70からの再フィルタ指示の受け付け等を行う。
このような情報管理装置30は、記憶部32と、接続先割当部31と、データ再フィルタ制御部33と、データ位置管理部34と、情報管理部35と、再起動処理部36とを備える。なお、ここでは図示を省略しているが、情報管理装置30は、各種データの入力を司る入力部と、出力を司る出力部と、CPU(Central Processing Unit)、メモリ、通信インタフェース等を備えるコンピュータにより実現される。
記憶部32は、システム情報321、情報源情報(SID情報)322、スキーマ情報323、処理手順情報324、データ位置管理DB(データベース)325および再起動情報326を所定領域に備える。
システム情報321は、SIDごとに、そのSIDのストリームデータの送信先を示した情報である。ここでの送信先は、例えばデータ蓄積装置20の識別情報(IPアドレス等)およびそのデータ蓄積装置20における追記部221,222の識別情報(ID)を示した情報(表1参照)である。このシステム情報321は、接続先割当部31や、データ蓄積装置20の蓄積データ取得部25(後記)により参照される。なお、この追記部221,222のIDは、追記部221,222に割当てられたポート番号を用いてもよい。
Figure 0004871213
図2は、図1の情報源情報およびスキーマ情報を例示した図である。
情報源情報(SID情報)322は、当該SIDの定義情報であり、図2の符号201に示すようにSIDと、当該SIDを持つストリームデータのスキーマ情報の識別情報(SCHEMA)と、このストリームデータに用いるフィルタの識別情報(FILTER)、このストリームデータのウィンドウサイズ(WINDOW_SIZE)等を示した情報である。図2の符号201に示す情報源情報は、SID「DML001」の定義情報であり、このストリームデータのスキーマは「DML001_SCHEMA」に定義されるスキーマであり、このストリームデータに用いるフィルタは「XpathFilter(“update”)」であり、このストリームデータのウィンドウサイズは「1」であることを示す。
スキーマ情報323は、当該SIDを持つストリームデータのスキーマの定義情報である。図2の符号202に示すスキーマ情報は、「DML001_SCHEMA」、つまり、SID「DML001」のスキーマ情報であり、このストリームデータのスキーマは、「col_t」は「timestamp」であり、「col_id」は「int」であり、「col_d」は「xml」であることを示す。
処理手順情報324は、SIDごとに、そのSIDのストリームデータに対しフィルタ処理装置10が適用すべきフィルタ処理、つまり、フィルタオペレーション(FOP)系列(適用すべきFOPおよびそのFOPの適用手順)が示される。また、この処理手順情報は、表2に例示するように、ストリームデータのスキーマ情報(スキーマ定義情報)やフィルタ処理を行うときのウィンドウサイズ(表2のスキーマ情報における括弧内の値参照)を含んでいてもよい。
例えば、表2に示す処理手順情報のSID「10」のスキーマ情報には、「NAME」に関するフィルタ処理を行うときには、10個のデータ(レコード)が必要であることを示す。また、このストリームデータには「FOP102、FOP103、FOP104」というFOPを適用することを示す。なお、このスキーマ情報は、スキーマ情報323に記憶されるものと同じものである。
Figure 0004871213
データ位置管理DB325は、システム内の各データ蓄積装置20(20A〜20N)に蓄積されるストリームデータの記憶位置を示した追記データ位置情報を蓄積する。この追記データ位置情報は、後記する図5に例示するように、ストリームデータのSIDと、このデータ蓄積装置20がストリームデータを受信した時刻、このストリームデータの記憶位置(追記データ位置)とを対応付けて記憶したものである。なお、追記データ位置とは、このストリームデータを記憶するデータ蓄積装置20の識別情報およびこのデータ蓄積装置20における記憶位置を示した情報である。
このように、情報管理装置30がデータ位置管理DB325により、各データ蓄積装置20に蓄積されるストリームデータの記憶位置を把握することで、情報管理装置30は各データ蓄積装置20に蓄積されたストリームデータから再フィルタの対象のストリームデータを効率的に見つけられる。なお、この追記データ位置情報は、各データ蓄積装置20から受信したものである。また、この追記データ位置情報におけるストリームデータを受信した時刻(受信時刻)に代えて、このストリームデータがデータ蓄積装置20の蓄積データ記憶部24(後記)に記憶された時刻を用いてよい。このデータ位置管理DB325における追記データ位置情報の管理方法は、例えば、B-Tree、B+Tree、R-Tree、Red Black Tree等を用いる。
図1の説明に戻る。再起動情報326は、システム内において再起動を許可するフィルタ処理装置10の数を示した情報である。例えば、システム全体において、再起動によりフィルタ処理を停止してもよいフィルタ処理装置10の数が「10」の場合、この再起動情報326の初期値として、「10」を設定しておく。この再起動情報326は、再起動処理部36(後記)がフィルタ処理装置10の再起動を許可するか否かを判断するときに参照される。
接続先割当部31は、外部装置(追記クライアント50またはデータ蓄積装置20)から接続先割当要求を受信すると、この接続先割当要求に含まれるSIDをキーとしてシステム情報321から、この外部装置が接続すべき接続先(データ蓄積装置20における追記部221,222)を検索する。そして、接続先割当部31は、この検索した接続先(データ蓄積装置20における追記部221,222)を、この外部装置の接続先として指示する。なお、ここで指示する接続先は、例えば、データ蓄積装置20の識別情報(IPアドレス等)と、追記部221,222のポート番号との組み合わせ等である。また、接続先割当部31は、各データ蓄積装置20の負荷状態を考慮して、より処理負荷の少ない接続先を選択するようにしてもよい。つまり、接続先割当部31は、接続先に変更し、各データ蓄積装置20間のロードバランスをとるようにしてもよい。
図3は、図1のストリームデータ処理システムの動作概要を示すブロック図である。データ再フィルタ制御部33は、図3に示すように、参照クライアント70から、再フィルタ指示(再フィルタ処理の対象のストリームデータのSID、時区間等を示した情報、再フィルタ処理の内容)を受信すると、システム内の任意のマシン(データ蓄積装置20)を決定する。この後、データ再フィルタ制御部33は、この決定したデータ蓄積装置20のプロセス管理部26(後記)へ再フィルタ指示を送信する。なお、ここでの再フィルタ処理とは、例えば、フィルタ処理に用いる閾値やパラメータの変更、フィルタ処理の手順の変更等である。また、この再フィルタ指示には、この再フィルタ処理の対象のストリームデータに関する追記データ位置情報を含める。この追記データ位置情報は、データ位置管理部34により、データ位置管理DB325から取得する。
このとき、データ再フィルタ制御部33は、この再フィルタ処理用に新たなSID(再フィルタ用SID)を発行し、この再フィルタ指示に含める。なお、このデータ再フィルタ制御部33は、情報管理部35(後記)に、この再フィルタ用SIDと、当該SIDをもつストリームデータに関する情報を、システム情報321、情報源情報322、スキーマ情報323、処理手順情報324に追加登録するよう指示する。
例えば、データ再フィルタ制御部33は、SID「10」、時区間「A〜B」のストリームデータに対し再フィルタ処理を行うという再フィルタ指示を受信したとき、当該ストリームデータに対し再フィルタ用SID「30」という新たなSIDを発行する。そして、データ再フィルタ制御部33は、情報管理部35(後記)に、当該SIDをもつストリームデータに関する情報を、システム情報321、情報源情報322、スキーマ情報323、処理手順情報324に追加するよう指示する。また、データ再フィルタ制御部33は、情報管理部35(後記)に、当該再フィルタ用SIDに関する処理手順情報324に、この再フィルタ指示に示される再フィルタ処理の内容(例えば、フィルタにおける閾値の変更等)を書き加えるよう指示する。なお、データ再フィルタ制御部33がこのように新たなSID(再フィルタ用SID)を発行し、再フィルタ処理の対象のストリームデータに割当てるのは、もともと同じSIDを持つストリームデータであっても、再フィルタ処理の対象としたいストリームデータのみに再フィルタ処理を適用することができるからである。
データ位置管理部34は、各データ蓄積装置20から受信した追記データ位置情報を、データ位置管理DB325に記憶する。
図4は、図1のストリームデータ処理システムの動作概要を示すブロック図である。例えば、図4に示すように、データ位置管理部34は、データ蓄積装置20の各追記部221,222(後記)からSID、時刻および追記データ位置を含む追記データ位置情報を受信すると、この追記データ位置情報を順次、データ位置管理DB325に追加登録していく。また、このデータ位置管理部34は、当該ストリームデータの時区間(受信時刻の始まりから終わりまでの時間)とSIDとを含む再フィルタ指示(または追記データ位置情報の検索要求)を受信すると、この時区間およびSIDをキーとして、データ位置管理DB325から追記データ位置情報を検索する。つまり、再フィルタ指示に示されるストリームデータがどのデータ蓄積装置20のどの記憶位置に記憶されているかを検索する。なお、このデータ位置管理部34は、この検索した追記データ位置情報を追記データ位置リストとして参照クライアント70へ送信するようにしてもよい。
図1の説明に戻る。情報管理部35は、記憶部32の各情報を追加したり変更したりする。例えば、参照クライアント70から送信された再フィルタ処理の内容であるフィルタ処理の閾値変更情報を、処理手順情報324に反映する。また、各フィルタ処理装置10の要求に応じて、処理手順情報324に登録された情報源情報322、スキーマ情報323、処理手順情報等をフィルタ処理装置10へ送信する。これにより、この情報管理装置30に新たに追加された再フィルタ処理の内容を、フィルタ処理装置10へ反映させることができる。
再起動処理部36は、フィルタ処理装置10から、再起動を許可するか否かの問い合わせを受信すると、再起動情報326を参照して、このフィルタ処理装置10の再起動を許可するか否かを応答する。例えば、再起動情報326に示される値が「1」以上であれば再起動を許可するが、「0」なら再起動を許可しない。また、再起動処理部36が、1台のフィルタ処理装置10の再起動を許可したとき、この再起動情報の値を「1」減らす。そして、このフィルタ処理装置10の再起動が完了すると、再起動処理部36は、再起動情報326の値を元に戻す。このようにすることで、システム内において再起動によりフィルタ処理を停止するフィルタ処理装置の数を所定数以下にすることができ、システム内のフィルタ処理の効率が極端に低下するのを防止できる。
なお、前記した記憶部は、RAM(Random Access Memory)、ROM(Read Only Memory)、HDD(Hard Disk Drive)等により実現される。また、接続先割り当て部31、データ再フィルタ制御部33、データ位置管理部34、情報管理部35、再起動処理部36は、CPUによるプログラム実行処理または専用のハードウェアにより実現される。CPUによるプログラム実行処理により実現する場合、記憶部32はこれらのプログラムを記憶する。
<データ蓄積装置>
データ蓄積装置20(20A〜20N)はそれぞれ、追記クライアント50から送信されたストリームデータを一時的に蓄積する。このようなデータ蓄積装置20は、入力部21と、出力部23と、追記部221,222と、蓄積データ記憶部24と、蓄積データ取得部25と、プロセス管理部26とを含む。なお、追記部221,222の数は図1に示した数に限定されない。
入力部21は、追記クライアント50からストリームデータを受信する。出力部23は、追記部221,222から出力されたストリームデータをフィルタ処理装置10へ出力する。また、追記部221,222はそれぞれ、受信したストリームデータをキュー部226(後記)に出力するとともに、蓄積データ記憶部24に蓄積する。このような追記部221,222は、ストリーム受付部223と、追記データ蓄積部224と、キュー管理部225と、キュー部226と、追記データ位置情報送信部227と、を含んで構成される。
ストリーム受付部223は、追記クライアント50から、入力部21経由でストリームデータを受信する。そして、この受信したストリームデータを追記データ蓄積部224とキュー管理部225へ出力する。
追記データ蓄積部224は、ストリームデータを蓄積データ記憶部24に蓄積する。なお、追記データ蓄積部224は、追記クライアント50から受信したストリームデータをそのまま蓄積データ記憶部24に蓄積するようにするのが好ましい。これは、この蓄積データ記憶部24内のストリームデータの管理に、例えば、DBMS(DataBase Management System)等を用いると、データのトランザクション処理に伴う、各種ジャーナル、チェックポイント等が必要になり、大量のストリームデータを追記するとき、効率が悪いからである。
キュー管理部225はストリーム受付部223から出力されたデータ(ストリームデータ)をキュー部226に出力する。そして、フィルタ処理装置10からストリームデータの取得要求があったとき、このキュー部226に蓄積されたストリームデータをフィルタ処理装置10へ送信する。
追記データ位置情報送信部227は、この追記部221,222において、蓄積データ記憶部24にストリームデータが蓄積(記憶)されると、このストリームデータの追記データ位置情報を作成し、この追記データ位置情報を情報管理装置30へ送信する。なお、この追記データ位置情報に示される追記データ位置は、例えば、URI(Uniform Resource Identifier)、ファイルパス、ロケーションID等により記述される。
キュー部226は、キュー管理部225から出力されたストリームデータをキューとして蓄積する。
蓄積データ記憶部24は、追記部221,222から出力されたストリームデータを蓄積する。
蓄積データ取得部25は、前記した図3に示すように、プロセス管理部26からの再フィルタ指示を受信すると、この再フィルタ指示基づき、自データ蓄積装置20、または他のデータ蓄積装置20の蓄積データ記憶部24から、ストリームデータを取得する。そして、この取得したストリームデータに、プロセス管理部26から指示された再フィルタ用SIDを付与する。そして、この蓄積データ取得部25は、この再フィルタ用SIDを付与したストリームデータの送信先を、前記した情報管理装置30の接続先割当部31に問い合わせ、この接続先割当部31から指示されたデータ蓄積装置20の追記部(例えば、追記部222)へ、このストリームデータを流し込む。そして、このストリームデータは、追記部221,222のキュー部226に蓄積された後、フィルタ処理装置10が取得し、再フィルタ処理が行われる。
プロセス管理部26は、データ蓄積装置20内の蓄積データ取得部25や、追記部221,222の制御を行う。例えば、プロセス管理部26は、情報管理装置30から再フィルタ指示を受信したとき、この指示内容に基づき、自データ蓄積装置20の蓄積データ取得部25に対し、再フィルタ処理の対象となるストリームデータの取得を指示する。
なお、入力部21および出力部23は、追記クライアント50やフィルタ処理装置10との間でデータ入出力可能な入出力インタフェースにより実現される。
このデータ蓄積装置20もコンピュータにより実現され、蓄積データ記憶部24は、例えば、RAM、HDD等により実現される。また、蓄積データ取得部25、プロセス管理部26、追記部221,222のストリーム受付部223、追記データ蓄積部224、キュー管理部225、追記データ位置情報送信部227は、CPUによるプログラムの実行処理または専用ハードウェア等により実現される。キュー部226は、このデータ蓄積装置20のRAM等に形成される。
なお、このキュー管理部225は、キュー部226のキュー状態(入力スループット、出力スループットおよびCPUコスト等)を監視する。そして、このキュー状態が所定の閾値以上に変化したとき、このデータ蓄積装置20におけるキュー状態情報を各フィルタ処理装置10へ送信するようにしてもよい。このときのキュー状態情報には、自身のデータ蓄積装置20の識別情報が付されたものである。また、このときのキュー状態情報の送信は、各フィルタ処理装置10への同報送信等により行われる。このようにすることで、データ蓄積装置20は、自身のキュー状態に変化があったとき、自身のキュー状態をいち早く各フィルタ処理装置10へ通知することができる。
<フィルタ処理装置>
フィルタ処理装置10は、データ蓄積装置20(20A〜20N)から、ストリームデータを取得し、この取得したストリームデータに対しフィルタ処理を実行する。このようなフィルタ処理装置10は、入力部11と、出力部13と、処理部12(12A,12B)を備える。なお、この処理部の数は、図1に示す数に限定されない。
入力部11は、データ蓄積装置20からストリームデータを受信する。出力部13は、フィルタ処理後のストリームデータをデータベース装置60へ出力する。
処理部12は、キュー選択部121と、データ取得部122と、フィルタ実行制御部123と、フィルタ処理部124(124A〜124N)と、再起動問い合わせ部125とを備える。
キュー選択部121は、ストリームデータの取得元となるデータ蓄積装置20を選択する。このときのデータ蓄積装置20の選択は、例えば、データ蓄積装置20から送信されてきた、当該データ蓄積装置20のキュー状態情報(入力スループット、出力スループット、CPUコスト(フィルタコスト)等を示した情報)をもとに、入力スループットの値の大きいデータ蓄積装置20ほど高確率で(優先的に)選択するようにする。
データ取得部122は、キュー選択部121により選択されたデータ蓄積装置20からストリームデータを取得する。なお、このストリームデータを取得するタイミングは、例えば、自身のフィルタ処理装置10において処理しているデータがなくなったときでもよいし、処理中のデータが所定の閾値以下となったときでもよい。
フィルタ実行制御部123は、データ取得部122から取得したストリームデータに付されたSIDと、情報管理装置30から受信しておいた、情報源情報322、スキーマ情報323、処理手順情報324とを参照して、このSIDを持つストリームデータに対し実行すべきフィルタ処理を決定する。なお、ここでのフィルタ処理とは、FOPおよびそのFOPの適用手順を含むものである。そして、フィルタ実行制御部123は、決定したフィルタ処理をフィルタ処理部124に実行させる。なお、この情報管理装置30から取得した、情報源情報322、スキーマ情報323、処理手順情報324は、フィルタ処理装置10の図示しない記憶部に記憶され、フィルタ処理を決定するときに適宜参照される。
なお、このフィルタ実行制御部123は、このストリームデータに対し実行すべきフィルタ処理機能が自身のフィルタ処理装置10にないとき(例えば、再フィルタ用SIDが付与されたストリームデータを受信したが、このSIDに対する処理手順情報がなかったとき)、情報管理装置30から、このフィルタ処理機能を実現するためのファイルデータ(フィルタオペレーションを含む)をダウンロードし、機能追加を行う。このようにすることで、フィルタ処理装置10は、再フィルタ処理を確実に実行できる。
フィルタ処理部124は、フィルタ実行制御部123からの指示に基づき、ストリームデータに対しフィルタ処理を実行する。このフィルタ処理部124におけるフィルタ処理の内容はFOPにより記述され、フィルタ処理部124は、このFOPに基づきフィルタ処理を実行する。このFOPは例えば「X℃以上の温度の情報を持つストリームデータを抽出する」というものや、「処理後のデータをデータベース装置60Aに出力する」というものである。このFOPは、フィルタ処理装置10の記憶部(図示せず)に処理手順情報の一部として記憶される。
なお、再起動問い合わせ部125は、フィルタ取得部127がスキーマ情報323を取得した後、情報管理装置30に対し、自身のフィルタ処理装置10の再起動を許可するか否かを問い合わせる。そして、情報管理装置30から、自身のフィルタ処理装置10の再起動を許可する旨の応答を受信したとき、自フィルタ処理装置10を再起動させる。このようにすることで、ストリームデータ処理システムにおいて、所定数を超えたフィルタ処理装置10が再起動のため停止し、システム全体のフィルタ処理能力が著しく低下することを防止できる。
なお、この後、フィルタ処理部124は、出力部13経由でフィルタ処理後のストリームデータをデータベース装置60へ出力する。
フィルタ処理装置10も、CPU、RAM、HDD、通信インタフェース等を備えるコンピュータにより実現される。キュー選択部121、データ取得部122、フィルタ実行制御部123、フィルタ処理部124、再起動問い合わせ部125は、CPUによるプログラムの実行処理または専用ハードウェア等により実現される。
<データベース装置>
データベース装置60は、フィルタ処理装置10においてフィルタ処理されたストリームデータを受け付ける受付部62(62A〜62N)、このストリームデータを蓄積するDB(データベース)61(61A〜61N)、参照クライアント70からの検索要求に応じてDB61(61A〜61N)からデータを検索する検索部63(63A〜63N)を備える。このデータ蓄積装置20も、CPU、RAM、HDD、通信インタフェース等を備えるコンピュータにより実現される。なお、この受付部62、検索部63は、CPUによるプログラムの実行処理または専用ハードウェア等により実現される。また、DB61は、HDD等により実現される。なお、この検索部63に代えて、プッシュ型で参照クライアント70へDB61に蓄積されたデータを送信する配信部を用いるようにしてもよい。
<参照クライアント>
参照クライアント70は、データベース装置60からデータの検索を行ったり、情報管理装置30に対し、再フィルタ指示(再フィルタ処理の内容、再フィルタ処理の対象のストリームデータのSID、時区間等を示した情報)を送信し、データ蓄積装置20に蓄積されたストリームデータの再フィルタ処理を指示したりする。この参照クライアント70もCPU、RAM、HDD、通信インタフェース等を備えるコンピュータにより実現される。
なお、フィルタ処理装置10(10A〜10N)およびデータ蓄積装置20(20A〜20N)は、それぞれ別個のコンピュータ(装置)により実現するようにしてもよいし、これらをまとめて1つのコンピュータにより実現するようにしてもよい。
<動作手順>
次に、図1を参照しつつ、図5および図6を用いて、図1のシステムの動作手順を説明する。図5および図6は、図1のストリームデータ処理システムの動作手順を示す図である。まず、図5を用いて、情報管理装置30が、追記データ位置情報を取得し、蓄積する手順を説明する。
追記クライアント50は、情報源からデータ(ストリームデータ)100を受信すると、このデータに付されたSID(例えば「SID-kana99」)を含む追記先払出し依頼を情報管理装置30の接続先割当部31へ送信する(S41)。つまり、追記クライアント50は、ストリームデータの送信先の追記部221,222(当該追記部を備えるデータ蓄積装置20のIPアドレス、当該追記部と接続するためのポート番号)を情報管理装置30に問い合わせる。
接続先割当部31は、S41で送信された追記先払出し依頼を受信すると、この追記先払出し依頼に示されるSIDをキーとして、システム情報321を検索する。そして、接続先割当部31は、ストリームデータの送信先の追記部(例えば、追記部221)のあるデータ蓄積装置20のIPアドレスと、追記部221のPort(ポート番号)を示した追記先を払出す(S42)。
追記クライアント50は、S42で払い出された追記部(例えば、追記部221)へ接続する(S43)。そして、追記クライアント50は、例えば、「SID-kana99」を持つ追記データ100をこの接続した追記部221へ送信する。つまり、ストリームデータを追記する(S44)。
追記部221は、ストリーム受付部223(図1参照)によりこの追記データ100を受信すると、この追記データ100の受信時刻(受取時刻)を取得する(S45)。つまり、この追記データ100の受信時刻を記録する。また、追記部221は、追記データ蓄積部224(図1参照)により、この受信したストリームデータ(追記データ)を蓄積データ記憶部24へ蓄積する(S46)。次に、追記データ位置情報送信部227は、この蓄積した追記データ100の追記データ位置情報を作成する。そして、この追記データ位置情報送信部227は、作成した追記データ位置情報を情報管理装置30へ送信する(S47)。この追記データ位置情報は、この蓄積した追記データ100のSID(「SID-kana99」)、S45で取得した受信時刻(「2007/02/20T 10:00」)、追記データ位置(「macA.ntt/app99/b.log」)を含むものである。なお、この追記データ位置は、この追記データ100を記憶するデータ蓄積装置20は「macA.ntt」であり、そのデータ蓄積装置20の蓄積データ記憶部24における記憶領域は「/app99/b.log」であることを示す。
このような追記データ位置情報を受信した情報管理装置30のデータ位置管理部34は、この追記データ位置情報をデータ位置記憶DB61に記憶する(図5の追記データ位置情報401参照)。
また、データ蓄積装置20の追記部221は、キュー管理部225(図1参照)により、追記データ100をキュー部226に蓄積する(S48:キュー管理)。
この後、追記部221は、ストリーム受付部223(図1参照)により、同じSID「SID-kana99」を持つ追記データ101を受信すると(S49)、前記した手順と同様に、この追記データ101の受信時刻(受取時刻)を取得する(S50)。また、追記部221は、追記データ蓄積部224により、追記データ101を蓄積データ記憶部24へ蓄積すると(S51)、前記した手順と同様に、この蓄積したデータ101の追記データ位置情報(SID(「SID-kana99」)、S50で取得した受信時刻(「2007/02/20T 11:00」)、追記データ位置(「macA.ntt/app99/b.log」)を含む)を作成し、この追記データ位置情報を情報管理装置30へ送信する(S52)。
このような追記データ位置情報を受信した情報管理装置30のデータ位置管理部34は、この追記データ位置情報をデータ位置記憶DB61に記憶する(図5の符号404参照)。
そして、データ蓄積装置20の追記部221は、受信した追記データ101をキュー部226に蓄積する(S53:キュー管理)。
以上のような処理を繰り返し、各データ蓄積装置20は、ストリームデータを蓄積し、情報管理装置30は、各データ蓄積装置20に蓄積されるストリームデータの追記データ位置情報をデータ位置記憶DB61に記憶していく。
続いて、図6を用いて、参照クライアント70が再フィルタ指示を送信してから、フィルタ処理装置10で再フィルタ処理が実行されるまでの手順を説明する。
参照クライアント70は、再フィルタ処理の対象とするストリームデータのSIDと、時区間と、再フィルタ処理の内容とを含む再フィルタ指示を情報管理装置30のデータ再フィルタ制御部33へ送信する(S61)。
再フィルタ指示を受信した情報管理装置30のデータ再フィルタ制御部33は、この再フィルタ処理用のSID(再フィルタ用SID)を発行し、再フィルタ用SIDの割当を行う(S62)。すなわち、データ再フィルタ制御部33は、情報管理部35に、発行した再フィルタ用SIDと、当該SIDをもつストリームデータに関する情報を、システム情報321、情報源情報322、スキーマ情報323、処理手順情報324に登録するよう指示する。
また、データ再フィルタ制御部33は、処理手順情報324に再フィルタ処理を登録する(S63)。つまり、データ再フィルタ制御部33は、情報管理部35に対し、この再フィルタ用SIDに関する処理手順情報324として、この再フィルタ指示に示される再フィルタ処理の内容(例えば、フィルタにおける閾値の変更等)を書き加えるよう指示する。また、データ再フィルタ制御部33は、情報管理部35に対し、システム情報321に、再フィルタ用SIDと、このSIDを持つストリームデータの送信先であるデータ蓄積装置20の追記部221,222の情報とを対応付けた情報を追加する。
次に、データ再フィルタ制御部33は、データ位置管理DB325から、この再フィルタ処理の対象となるストリームデータの追記データ位置情報を検索する(S64)。具体的には、データ再フィルタ制御部33は、データ位置管理部34(図1参照)に対し、再フィルタ指示に含まれるSIDと、時区間とをキーとして、追記データ位置情報を検索するよう指示する。そして、その検索結果を受け取る。
そして、データ再フィルタ制御部33は、システム内のデータ蓄積装置20の中から、再フィルタ追記クライアントとなるマシン(データ蓄積装置20)を1つ決定する(S65)。このときのマシン(データ蓄積装置20)の決定は、例えばラウンドロビン等により行われる。
次に、データ再フィルタ制御部33は、この決定したデータ蓄積装置20のプロセス管理部26に対し、S64において検索した追記データ位置情報と、再フィルタ用SIDとを含む再フィルタ指示を送信する(S66)。
データ再フィルタ制御部33からの再フィルタ指示を受信したデータ蓄積装置20のプロセス管理部26は、蓄積データ取得部25を起動させ、自データ蓄積装置20を再フィルタ追記クライアントとして起動させる(S67)。そして、蓄積データ取得部25に対し、S66で受信した追記データ位置情報と、再フィルタ用SIDとを含む再フィルタ指示を転送する(S68)。
そして、蓄積データ取得部25は、この再フィルタ指示を受信すると、情報管理装置30の接続先割当部31に対し、追記先払出し依頼を送信する(S69)。このときの追記先払出し依頼は、この再フィルタ指示に含まれる再フィルタ用SIDを含むものである。つまり、蓄積データ取得部25は、再フィルタの対象であるストリームデータを読み出した後、どの追記部221,222に流し込めばよいのかを接続先割当部31へ問い合わせる。
そして、このような払出し依頼を受信した接続先割当部31は、この再フィルタ用SIDをキーとして、システム情報321(図1参照)から、この再フィルタ用SIDを持つストリームデータを流し込む追記部221のIPアドレスとPort(ポート番号)とを検索する。そして、接続先割当部31は、この検索したIPアドレスとPort(ポート番号)とを追記先として払出す(S70)。
そして、蓄積データ取得部25は、この接続先割当部31から払出されたIPアドレスとPort(ポート番号)に示される追記部221に接続する(S71)。
そして、蓄積データ取得部25は、S68で転送された再フィルタ指示の追記データ位置情報に示される蓄積データ記憶部24の記憶位置(記憶領域)から、再フィルタ処理の対象のデータ(ストリームデータ)を読み込む(S72)。
なお、このS72において、この再フィルタ処理の対象のデータが、自データ蓄積装置20の蓄積データ記憶部24に蓄積されていれば、自データ蓄積装置20の蓄積データ記憶部24から読み出し、他のデータ蓄積装置20の蓄積データ記憶部24に蓄積されていれば、図示しないネットワーク経由でこの他のデータ蓄積装置20の蓄積データ記憶部24から読み出すことになる。
このようにして蓄積データ取得部25が再フィルタ処理の対象のデータを読み込むと、この読み込んだデータ(追記データ)のSIDを、S68で送信された再フィルタ指示に含まれる再フィルタ用IDに付け替え、S71で接続した追記部221へ流し込む。つまり、追記部221へストリームデータを追記する(S73)。そして、追記部221は、前記した図5のS48やS53と同様にキュー管理を行う(S74)。
この後、フィルタ処理装置10は、データ蓄積装置20の追記部221からデータを取得すると(S75)、このデータに対しフィルタ処理を行う(S76)。つまり、追記部221から取得したデータが再フィルタ用SIDを持つデータであれば、このデータに対し再フィルタ処理を行う。次に、図1を参照しつつ、図7を用いて、図6のS75およびS76の処理を詳細に説明する。図7は、図6のS75およびS76の処理を詳細に説明する図である。
図1のデータ取得部122は、自身に処理すべきデータがあるか否かをチェックし(S701)、処理すべきデータがないことを検知すると(S701のYes)、キュー選択部121において次にデータを取得するデータ蓄積装置20を選択する(S702)。このときのデータ蓄積装置20の選択は、前記した通り、例えば、各データ蓄積装置20から送信されてきたキュー状態情報をもとに、入力スループットの値の大きいデータ蓄積装置20ほど優先的に選択する。
そして、データ取得部122は、S702で選択したデータ蓄積装置20からデータを取得する(S703)。取得したデータは、フィルタ実行制御部123に出力する。
次に、フィルタ実行制御部123は、処理手順情報126を参照して、この取得したデータに付されたSIDをキーとして、このデータに対し必要なフィルタ処理機能を判断する(S704)。そして、フィルタ実行制御部123は、このデータに対し必要なフィルタ処理機能が自身のフィルタ処理装置10にあるか否かを判断する(S705)。ここで、必要なフィルタ処理機能が自身のフィルタ処理装置10にないとき(S705のNo)、フィルタ実行制御部123は、情報管理装置30から、必要なフィルタ処理機能(情報源情報322や、スキーマ情報323、処理手順情報324等を含む)を取得する(S706)。例えば、フィルタ実行制御部123が取得したデータが、再フィルタ用SIDが付されたデータである場合、この再フィルタ用SIDに対応するフィルタ処理機能まだフィルタ処理装置10にダウンロード(取得)していない可能性が高い。そこで、フィルタ実行制御部123は、この再フィルタ用SIDを含むストリームデータを受信すると、このSIDに対応するフィルタ処理機能を情報管理装置30からダウンロードする。つまり、情報管理装置30は、このSIDに対応するフィルタ処理機能をフィルタ処理装置10へ送信する。そして、フィルタ処理装置10のフィルタ実行制御部123はフィルタ処理部124にフィルタ処理機能を追加する。
一方、ここで、必要なフィルタ処理機能が自身のフィルタ処理装置10にあるとき(S705のYes)、S707へ進む。
そして、フィルタ実行制御部123は、S703で取得したデータに対し、フィルタ処理を実行する(S707)。すなわち、フィルタ実行制御部123は、このストリームデータのSIDと、情報源情報322や、スキーマ情報323、処理手順情報324とを参照して、このストリームデータに対するフィルタ処理の内容を判断し、このフィルタ処理を実行するためのFOPを記憶部から読み出す。そして、フィルタ実行制御部123は、このFOPに基づきフィルタ処理部124に所定の順序でフィルタ処理を実行させ、フィルタ処理部124はフィルタ処理後、このデータを所定のデータベース装置60へ出力する(S708)。
このようにすることで、情報管理装置30は、各フィルタ処理装置10に再フィルタ処理を実行させることができる。
なお、ここでは説明を省略しているが、図7のS706で、フィルタ処理装置10のフィルタ実行制御部123が情報管理装置30から必要なフィルタ処理機能を取得した後、再起動処理部36は、情報管理装置30に対し、自身のフィルタ処理装置10の再起動を許可するか否かを問い合わせる。そして、再起動処理部36は、情報管理装置30から、再起動許可の応答を受信したとき、自身のフィルタ処理装置10を再起動する。次に、再起動処理部36は、再起動を完了すると、再起動完了の通知を情報管理装置30へ送信する。一方、再起動処理部36は、情報管理装置30から、再起動許可の応答を受信できなかった場合、自身のフィルタ処理装置10は再起動させず、例えば所定時間経過後に、再起動を許可するか否かを問い合わせる。このようにすることで、他のフィルタ処理装置10の再起動により、自身のフィルタ処理装置10が再起動できなかった場合でも、時間をずらして、再起動することができる。従って、システム全体のフィルタ処理能力が著しく低下することを防止できる。
≪第2の実施の形態≫
続いて、第2の実施の形態を説明する。第2の実施の形態は、再フィルタの対象となるストリームデータを蓄積するそれぞれのデータ蓄積装置が、自身の蓄積データ記憶部から再フィルタの対象となるストリームデータを読み出し、追記部へ流し込む(ストリームデータの追記)ことを特徴とする。つまり、再フィルタの対象となるストリームデータが複数のデータ蓄積装置にまたがって蓄積されている場合、このストリームデータの追記部への(送信)流し込みを、各データ蓄積装置それぞれが実行することを特徴とする。図8は、第2の実施の形態のストリームデータ処理システムを示すブロック図である。図8を用いて、第2の実施の形態の概要を説明する。前記した第1の実施の形態と同様の構成要素は同じ符号を付して、説明を省略する。
図8に示すように、第2の実施の形態のストリームデータ処理システムにおける情報管理装置30は、データ再フィルタ制御部33Aを備える。このデータ再フィルタ制御部33Aは、参照クライアント70から、再フィルタ処理の対象とするストリームデータのSIDおよび時区間と、再フィルタ処理の内容とを含む再フィルタ指示を受信すると、データ位置管理部34に、データの存在するマシンを特定させる。つまり、データ位置管理部34は、データ位置管理DB325の追記データ位置情報を参照して、当該再フィルタ処理の対象とするストリームデータを蓄積するデータ蓄積装置20を検索して、このストリームデータの存在するマシン(データ蓄積装置20)を特定する。そして、データ再フィルタ制御部33は、このストリームデータの存在するデータ蓄積装置20を、ストリームデータの追記を行うデータ蓄積装置20(マシン)として決定し、このデータ蓄積装置20のプロセス管理部26に対し、ストリームデータの読み出しを指示する。
この後、このような指示を受けたデータ蓄積装置20はそれぞれ、蓄積データ取得部25により、自データ蓄積装置20の蓄積データ記憶部24から、再フィルタ処理の対象となるストリームデータを読み出す。そして、蓄積データ取得部25は、情報管理装置30の接続先割当部31にこのストリームデータを流し込む追記先を問い合わせ、この接続先割当部31から指示された追記部222へ、ストリームデータを流し込む。次に、各フィルタ処理装置10は、この再フィルタ処理の対象のストリームデータをデータ蓄積装置20それぞれのキュー部226から取得し、再フィルタ処理を実行する。そして、再フィルタ処理後のデータをデータベース装置60へ送信する。つまり、データ蓄積装置20それぞれが、並列して再フィルタの対象となるストリームデータの読み出し、および、追記部222への流し込みを行う。
<動作手順>
このような第2の実施の形態のストリームデータ処理システムの動作手順を、図9を用いて説明する。図9は、図8のストリームデータ処理システム動作手順を示す図である。
図9のS91の処理は、図6のS61の処理と同様なので、説明を省略し、S92から説明する。
情報管理装置30のデータ再フィルタ制御部33Aは、S91で送信された再フィルタ指示に示される再フィルタ処理の内容がウィンドウ処理を含むか否かを判断する(S92)。ここでの再フィルタ処理の内容がウィンドウ処理を含むか否かの判断は、再フィルタ指示に含まれる再フィルタ処理の内容そのものから判断してもよいし、情報源情報322に登録されているこの再フィルタ対象のストリームデータのSIDに関する情報源情報322を参照して判断してもよい。情報源情報322を参照して判断する場合、当該SIDの情報源情報322(図2の符号201参照)に定義されているウィンドウサイズが「2」以上であるか否かにより判断すればよい。
例えば、図2の符号201に例示したSID「DML001」の情報源情報において、ウィンドウサイズは「1」である。従って、データ再フィルタ制御部33Aは、再フィルタ処理の内容がウィンドウ処理を含まないと判断する。
図9のS92において再フィルタ処理の内容がウィンドウ処理を含むと判断したとき(S92のYes)、データ再フィルタ制御部33Aは、前記した図6のS62以降と同様の処理を行う。つまり、データ再フィルタ制御部33Aが選択したいずれか1つのデータ蓄積装置20が、各データ蓄積装置20から再フィルタ対象のストリームデータを読み出し、追記部221,222へ流し込む処理を行う。
一方、S92において再フィルタ処理の内容がウィンドウ処理を含まないと判断したとき(S92のNo)、情報管理装置30は、前記した図6のS62、S63と同様に、再フィルタ用SIDの割当(S93)と、再フィルタ処理の登録(S94)とを行う。そして、S64と同様に、データ位置管理DB325から、再フィルタ指示に示されるSIDと時区間とをキーとして、追記データ位置情報の検索を行う(S95)。
データ再フィルタ制御部33Aは、S95で検索した追記データ位置情報(追記データ位置情報のリスト)における追記データ位置に示されるデータ蓄積装置20の識別情報を参照して、この追記データ位置情報をデータ蓄積装置20ごとに分ける(S96)。
例えば、データ再フィルタ制御部33Aは、再フィルタ指示においてSID「SID−kana99」と、時区間「2007/02/20T 10:00〜2007/02/20T 12:00」という指示が含まれていた場合、図5に例示したデータ位置管理DB325から、この条件に合う追記データ位置情報402,403,405を検索する。ここで、これらの追記データ位置情報402,403,405の追記データ位置の識別情報の記載部分(追記データ位置情報の冒頭の部分)を見ると、「macA.ntt」となっているものと、「macB.ntt」となっているものとがある。つまり、再フィルタ処理の対象となるストリームデータは異なるデータ蓄積装置20に蓄積されている。したがって、データ再フィルタ制御部33Aは、この追記データ位置情報402,403,405を、「macA.ntt」から始まる追記データ位置情報402,403と、「macB.ntt」から始まる追記データ位置情報405とに分ける。つまり、「macA.ntt」のデータ蓄積装置20へ送信する追記データ位置情報402,403と、「macB.ntt」のデータ蓄積装置20へ送信する追記データ位置情報405とに分ける。
そして、データ再フィルタ制御部33Aは、再フィルタ処理の対象のストリームデータを蓄積するそれぞれのデータ蓄積装置20へ、S96で分けた追記データ位置情報を含む再フィルタ指示を送信する(S97)。例えば、データ再フィルタ制御部33Aは、「macA.ntt」のデータ蓄積装置20へは追記データ位置情報402,403を含む再フィルタ指示を送信し、「macB.ntt」のデータ蓄積装置20へは追記データ位置情報405を含む再フィルタ指示を送信する。そして、各データ蓄積装置20における再フィルタ処理の対象のストリームデータの読み出し、追記部221,222への流し込み、フィルタ処理装置10によるフィルタ処理の手順は、第1の実施の形態と同様なので説明を省略する。
このようにすることで、再フィルタ処理の対象のストリームデータが複数のデータ蓄積装置20にまたがって蓄積されている場合、それぞれのデータ蓄積装置20において、蓄積データ記憶部24から再フィルタ処理の対象のストリームデータの読み出し、キュー部226へ流し込むので、再フィルタ処理の対象のストリームデータの読み出しを効率よく行うことができる。
なお、本発明は前記した各実施の形態に限定されず、広く変形可能である。
例えば、情報管理装置30において参照クライアント70から再フィルタ指示を受信した後(図6のS61の後)、この再フィルタ指示の対象である追記データ位置情報(追記データ位置リスト)を参照クライアント70へ送信するようにしてもよい。図10は、図1および図8の情報管理装置および参照クライアントの動作手順を示す図である。
すなわち、図10に示すように、情報管理装置30のデータ位置管理部34は、参照クライアント70から、SIDと時区間とを含む追記データ位置情報の検索要求を受信する(S151)。そして、データ位置管理部34は、この検索要求に含まれるSIDと時区間とをキーとして、データ位置管理DB325から追記データ位置情報を検索し、この検索結果をまとめた結果リスト(追記データ位置リスト)を作成する(S152)。そして、データ位置管理部34は、この作成した追記データ位置リストを前記検索要求に対する検索結果として返却する(送信する)(S153)。
そして、このような追記データ位置リストを受信した参照クライアント70は、再フィルタ処理の内容と、追記データ位置リストに示される追記データ位置情報とを含む再フィルタ指示を情報管理装置30のデータ再フィルタ制御部33Aへ送信する(S154)。
この後、データ再フィルタ制御部33Aは、追記フィルタ用SIDの割当と、再フィルタ処理の登録とを行った後、S54で参照クライアント70から送信された再フィルタ指示に含まれる追記データ位置情報に従い、データ蓄積装置20に再フィルタ指示を行う。
なお、参照クライアント70は、S54において、情報管理装置30から受信した追記データ位置リストに示される追記データ位置情報の中から、所定の情報を選択し、この選択した追記データ位置情報を再フィルタ指示に含めて送信するようにしてもよい。このようにすることで、参照クライアント70は、SIDおよび時区間を指定して検索されたストリームデータが、どのデータ蓄積装置20の、どの記憶位置に蓄積されているか、どの程度のデータ数があるか等を確認した上で、再フィルタ指示することができる。
なお、このようにいったん参照クライアント70が追記データ位置リストを受信してから再フィルタ指示を送信する場合、参照クライアント70はこの追記データ位置リストそのものではなく、このリストを示す識別情報を送信するようにしてもよい。
また、前記した各実施の形態において、データ蓄積装置20が、自データ蓄積装置20の追記データ位置情報を、情報管理装置30へ送信するタイミングは、このデータ蓄積装置20の接続先割当部31から接続先の払い出しを受けたときでもよいし、追記クライアント50がデータ蓄積装置20に接続したときでもよいし、データ蓄積装置20が追記クライアント50からストリームデータを受信したときでもよい。
さらに、前記した各実施の形態のフィルタ処理装置10におけるウィンドウ処理は、現在のデータを基準にして、過去n件分のデータを使うウィンドウ処理(Touple-based Window)のほかに、過去所定時区間分のデータを使うウィンドウ処理(Time-based Window)等、様々なウィンドウ処理を用いてよい。
また、追記クライアント50が送信するストリームデータは、XMLデータ以外でも、CLOB(Character Large Object)型データでもよいし、BLOB(Binary Large OBject)型データでもよい。
さらに、前記した第1の実施の形態において、情報管理装置30は、再フィルタ追記クライアントとして1つのデータ蓄積装置20を選択することとしたが、複数のデータ蓄積装置20を選択するようにしてもよい。
さらに、前記した第2の実施の形態において、再フィルタ処理の内容がウィンドウ処理を含まない場合、情報管理装置30は、再フィルタ処理の対象のストリームデータを蓄積するデータ蓄積装置20それぞれを追記クライアントとして割り当てる(つまり、各データ蓄積装置20における並列処理を指示する)こととしたが、これに限定されない。例えば、情報管理装置30は、参照クライアント70から受信した再フィルタ指示に、前記並列処理を要求するフラグが含まれていたときに、各データ蓄積装置20を追記クライアントとして割り当て、この並列処理を要求するフラグが含まれていなかったときには、第1の実施の形態のように、いずれか1つのデータ蓄積装置20を追記クライアントとして割り当てるようにしてもよい。
また、前記した各実施の形態のシステムは、様々な分野に適用可能である。
例えば、本システムを、冷蔵庫メーカのメンテナンスセンタ等において各冷蔵庫の庫内温度を監視するために用いてもよい。この場合、図1の追記クライアント50は、所定時間ごとに冷蔵庫の庫内温度を示したストリームデータを送信し、フィルタ処理装置10において、このストリームデータに示される庫内温度(特定のカラム(例えば、C1)に記録)が所定の閾値超えた場合、異常として検出する。そして、このメンテナンスセンタ等の参照クライアント70は、この検出結果を、データベース装置60経由で受信する。
このような場合において、参照クライアント70により、所定の冷蔵庫の異常検出を受信すると、冷蔵庫メーカのメンテナンスセンタ等はこのような異常が発生するまでの過程を調査したい場合もある。
このような場合、以下のようにすればよい。すなわち、異常が検出された冷蔵庫の種別を示すSID、フィルタ処理装置10のフィルタ処理部124における庫内温度の異常検出のための閾値を変更する。そして、情報管理装置30は、データ蓄積装置20の過去のストリームデータを再度この閾値変更後のフィルタ処理装置10に流すという処理を何度か繰り返す。
具体例を用いて説明すると、過去3ヶ月分さかのぼって、庫内温度が3℃以上の頻度はどれくらいあったかを調べたい場合、参照クライアント70から、異常が検出された冷蔵庫のSID、過去3ヶ月分という時区間、庫内温度が3℃以上のときに異常検出という再フィルタ処理の内容を含む再フィルタ指示を情報管理装置30へ送信する。また、同様に、過去1年分さかのぼって、庫内温度が0℃以上の頻度はどれくらいあったかを調べたい場合、参照クライアント70から、異常が検出された冷蔵庫のSID、過去1年分という時区間、庫内温度が0℃以上のときに異常検出という再フィルタ処理の内容を含む再フィルタ指示を情報管理装置30へ送信する。
このような処理を何度か繰り返すことで、各冷蔵庫の庫内温度が、前記異常検出の温度まで徐々に上昇していったのか、急激に上昇していったのか、またその時期はいつ頃か等の分析を行うことができる。
また、本システムを全国各地の気温の監視に用いるようにしてもよい。この場合、例えば複数の追記クライアント50はそれぞれ、1分ごとに気温を計測する。次に、この計測した気温データに、各地に割当てられたSIDを付したストリームデータを、データ蓄積装置20へ送信する。そして、フィルタ処理装置10において、40℃以上の気温データを検出したとき、警報を出すよう設定しておく。
ここで、フィルタ処理装置10において5年間、気温を監視していて、ある日、A地点で40℃以上の警報が出たとする。このような場合、参照クライアント70は、A地点のSID、過去3年分という時区間、気温が38℃以上のときに警報を出すという再フィルタ処理の内容を含む再フィルタ指示を情報管理装置30へ送信する。このようにすることで、A地点について、過去3年分の気温のデータのうち、気温が38℃以上のデータを調べることができる。
つまり、本システムによれば、複数のデータ蓄積装置20およびフィルタ処理装置10を用いて処理を行うので、莫大な数の冷蔵庫の庫内温度や全国の各地点の気温監視等、多数のストリームデータのフィルタ処理を効率的に実行できる。また、このように複数のデータ蓄積装置20に過去のストリームデータを蓄積する場合でも、情報管理装置30が追記データ位置情報により過去のストリームデータがどのデータ蓄積装置20に蓄積されているか把握しているので、効率的に再フィルタ対象のストリームデータを探すことができる。
なお、本システムは、情報管理装置30に新しいフィルタが追加され、フィルタ処理装置10においてこの新しいフィルタで再度過去のストリームデータを流しなおす場合にも有効である。
例えば、本システムのフィルタ処理装置10において街角の監視画像のストリームデータから人物を検出する人物検出ツール用い、その地点の人の流量を測定する場合において、人物検出ツールの人物検出精度が向上したとき(例えば、親子関係を判別できるようになった場合や、人物の移動方向も検出できるようになった場合等)、まず、フィルタ処理装置10における人物検出ツールを、この人物検出精度の向上した人物検出ツールに入れ替える。そして、追記クライアント50からの再フィルタ指示に基づき、本システムはこの新たな人物検出ツールで、過去のストリームデータに対し再フィルタ処理を実行する。このようにすることで、新しいフィルタができたとき、この新しいフィルタを用いて過去のストリームデータの洗い直しをすることができる。
なお、このように新しいフィルタ処理を追加したフィルタ処理装置10は、再起動のため一時的に停止するが、前記したとおり、情報管理装置30が再起動処理部36により、再起動するフィルタ処理装置10の数を制限する。従って、新しいフィルタ処理の追加のため多数のフィルタ処理装置10が停止し、システム全体のフィルタ処理能力が著しく低下することを防止できる。
さらに、本システムは、前記した例以外にも、ホームゲートウェイのログの監視や、携帯電話機の機器状態の監視等に適用してもよい。
本実施の形態に係る情報管理装置30、データ蓄積装置20、フィルタ処理装置10は、前記したような処理を実行させるプログラムによって実現することができ、そのプログラムをコンピュータによる読み取り可能な記憶媒体(CD−ROM等)に記憶して提供することが可能である。また、そのプログラムを、ネットワークを通して提供することも可能である。
第1の実施の形態のストリームデータ処理システムを示すブロック図である。 図1の情報源情報およびスキーマ情報を例示した図である。 図1のストリームデータ処理システムの動作概要を示す図である。 図1のストリームデータ処理システムの動作概要を示す図である。 図1のストリームデータ処理システムの動作手順を示す図である。 図1のストリームデータ処理システムの動作手順を示す図である。 図6のS75およびS76の処理を詳細に説明する図である。 第2の実施の形態のストリームデータ処理システムを示すブロック図である。 図8のストリームデータ処理システム動作手順を示す図である。 図1および図8の情報管理装置および参照クライアントの動作手順を示す図である。
符号の説明
10(10A〜10N) フィルタ処理装置
11,21 入力部
12,32 処理部
13,23 出力部
20(20A〜20N) データ蓄積装置
24 蓄積データ記憶部
25 蓄積データ取得部
26 プロセス管理部
30 情報管理装置
31 接続先割当部
33,33A データ再フィルタ制御部
34 データ位置管理部
35 情報管理部
36 再起動処理部
50(50A〜50N) 追記クライアント(情報源端末)
60 データベース装置
61 データ位置記憶DB
62 受付部
63 検索部
70 参照クライアント(外部装置)
121 キュー選択部
122 データ取得部
123 フィルタ実行制御部
124 フィルタ処理部
125 再起動問い合わせ部
126 処理手順情報
127 フィルタ取得部
124 フィルタ処理部
221,222 追記部
223 ストリーム受付部
224 追記データ蓄積部
225 キュー管理部
226 キュー部
227 追記データ位置情報送信部
321 システム情報
322 情報源情報
323 スキーマ情報
324 処理手順情報
325 データ位置管理DB
326 再起動情報

Claims (6)

  1. (1)複数の情報源端末より送信されたストリームデータを蓄積する複数のデータ蓄積装置と、(2)このデータ蓄積装置から取得した前記ストリームデータに対しフィルタ処理を実行する複数のフィルタ処理装置と、(3)前記ストリームデータの種別を示すSIDごとに、このSIDを持つストリームデータに対し実行すべき前記フィルタ処理およびそのフィルタ処理の適用手順を示した処理手順情報を前記フィルタ処理装置へ送信する情報管理装置とを備えるストリームデータ処理システムにおけるストリームデータ処理方法であって、
    前記情報管理装置は、
    前記情報源端末から、前記SIDを含む当該ストリームデータの送信先割り当て要求を受信したとき、記憶部に記憶された前記SIDごとに、当該SIDのストリームデータの送信先であるデータ蓄積装置の識別情報を示したシステム情報を参照して、当該情報源端末へこのストリームデータの送信先である前記データ蓄積装置の識別情報を送信し、
    前記情報源端末は、
    前記情報管理装置から送信された識別情報に対応する前記データ蓄積装置へ前記ストリームデータを送信し、
    前記データ蓄積装置はそれぞれ、前記ストリームデータを受信したとき、この受信したストリームデータをキュー部に出力するとともに、蓄積データ記憶部に蓄積し、
    前記フィルタ処理装置は、
    前記データ蓄積装置のキュー部におけるキュー状態に基づき、前記ストリームデータの取得元となる前記データ蓄積装置を選択し、
    前記選択されたデータ蓄積装置のキュー部から、このキュー部に蓄積されたストリームデータを取得し、
    前記情報管理装置から受信した前記処理手順情報と、前記取得したストリームデータに付されたSIDとを参照して、前記取得したストリームデータに対し実行すべきフィルタ処理を決定し、前記決定したフィルタ処理を実行し、
    前記データ蓄積装置はそれぞれ、
    前記情報源端末からストリームデータを受信し、このストリームデータを蓄積データ記憶部に記憶したとき、このストリームデータのSIDと、このストリームデータの受信時刻と、自データ蓄積装置の識別情報およびこのストリームデータの記憶領域を示す情報とを対応付けた追記データ位置情報を作成し、前記情報管理装置へ送信し、
    前記情報管理装置は、
    前記データ蓄積装置それぞれから送信された前記追記データ位置情報を記憶部に記憶し、
    外部装置から、当該ストリームデータのSIDおよび受信時刻を含む前記ストリームデータの検索要求を受信したとき、
    前記検索要求に含まれる前記SIDおよび前記受信時刻をキーとして、前記記憶部から、当該ストリームデータに関する前記追記データ位置情報を検索し、
    前記検索した追記データ位置情報を前記外部装置へ送信することを特徴とするストリームデータ処理方法。
  2. 前記情報管理装置は、
    前記外部装置から、前記データ蓄積装置に蓄積された前記ストリームデータを処理の内容を変更してフィルタ処理する再フィルタ処理の対象であるストリームデータに関する前記追記データ位置情報と前記再フィルタ処理の内容とを示した再フィルタ指示情報を受信したとき、
    前記再フィルタ処理の対象とするストリームデータに用いる再フィルタ用SIDを発行し、
    前記記憶部における前記システム情報に、前記再フィルタ用SIDと、このSIDを持つストリームデータを蓄積するデータ蓄積装置の識別情報とを対応付けた情報を追加し、
    前記記憶部における前記処理手順情報に、前記発行した再フィルタ処理用SIDと、このSIDを持つストリームデータに対する前記再フィルタ処理の内容と対応付けた情報を追加することで、前記再フィルタ処理の内容を前記処理手順情報に反映し、
    前記再フィルタ処理の内容を反映した処理手順情報を、前記フィルタ処理装置へ送信し、
    前記複数のデータ蓄積装置のうち、いずれか1つのデータ蓄積装置を選択し、
    この選択したデータ蓄積装置へ前記発行した再フィルタ処理用SIDを含む前記再フィルタ処理指示情報を送信し、
    前記再フィルタ処理指示情報を受信したデータ蓄積装置は、
    前記受信した再フィルタ指示情報に示される前記データ蓄積装置の記憶領域から、前記再フィルタ処理の対象であるストリームデータを取得し、
    前記取得した再フィルタ処理の対象であるストリームデータに前記再フィルタ処理用のSIDを付与し、
    前記再フィルタ指示情報に含まれる再フィルタ用SIDをキーとして、前記情報管理装置から、このデータ蓄積装置が接続すべき前記データ蓄積装置の識別情報を取得し、
    前記取得した識別情報に示される前記データ蓄積装置へ接続して、このデータ蓄積装置へ前記ストリームデータを送信し、
    前記フィルタ処理装置は、
    前記データ蓄積装置のキュー部から、前記再フィルタ処理用SIDを持つストリームデータを取得したとき、
    前記情報管理装置から受信した前記再フィルタ処理の内容を反映した処理手順情報を参照して、前記フィルタ処理を実行することを特徴とする請求項1に記載のストリームデータ処理方法。
  3. 前記情報管理装置は、
    前記外部装置から、前記再フィルタ処理の対象とするストリームデータのSID、受信時刻および当該ストリームデータに対し実行すべき再フィルタ処理の内容を示した再フィルタ指示情報を受信したとき、
    前記再フィルタ処理の対象とするストリームデータのSIDおよび受信時刻をキーとして、前記記憶部から、当該ストリームデータに関する前記追記データ位置情報を検索し、
    前記検索した追記データ位置情報および前記再フィルタ処理の内容を示した再フィルタ指示情報を、前記複数のデータ蓄積装置のうち、いずれか1つのデータ蓄積装置へ送信することを特徴とする請求項2に記載のストリームデータ処理方法。
  4. 前記情報管理装置は、
    前記受信した再フィルタ指示情報に示される再フィルタ処理の内容が、当該ストリームデータに対するウィンドウ処理を含むか否かを判断し、
    前記受信した再フィルタ指示情報に示される再フィルタ処理の内容が、当該ストリームデータに対するウィンドウ処理を含まないと判断した場合、
    前記再フィルタ処理指示情報の送信先である前記データ蓄積装置を選択するとき、前記記憶部から検索された当該ストリームデータに関する追記データ位置情報を、当該ストリームデータを有するデータ蓄積装置ごとに分け、前記分けた追記データ位置情報を前記再フィルタ指示情報に含め、当該ストリームデータを有するデータ蓄積装置それぞれへ送信することを特徴とする請求項2または請求項3に記載のストリームデータ処理方法。
  5. (1)複数の情報源端末より送信されたストリームデータを蓄積する複数のデータ蓄積装置と、(2)このデータ蓄積装置から取得した前記ストリームデータに対しフィルタ処理を実行する複数のフィルタ処理装置と、(3)前記ストリームデータの種別を示すSIDごとに、このSIDを持つストリームデータに対し実行すべき前記フィルタ処理およびそのフィルタ処理の適用手順を示した処理手順情報を前記フィルタ処理装置へ送信する情報管理装置とを備えるストリームデータ処理システムに用いられるストリームデータ処理プログラムであって、
    前記情報管理装置であるコンピュータに、
    情報源端末から、前記SIDを含む当該ストリームデータの送信先割り当て要求を受信したとき、記憶部に記憶された前記SIDごとに、当該SIDのストリームデータの送信先であるデータ蓄積装置の識別情報を示したシステム情報を参照して、当該情報源端末へこのストリームデータの送信先である前記データ蓄積装置の識別情報を送信するステップと、
    前記データ蓄積装置それぞれから、当該データ蓄積装置において記憶された前記ストリームデータのSIDと、このストリームデータの受信時刻と、自データ蓄積装置の識別情報およびこのストリームデータの記憶領域とを対応付けた追記データ位置情報を取得するステップと、
    前記追記データ位置情報を記憶部に記憶するステップと、
    外部装置から、当該ストリームデータのSIDおよび受信時刻を含む前記ストリームデータの検索要求を受信したとき、
    前記検索要求に含まれる前記SIDおよび前記受信時刻をキーとして、前記記憶部から、当該ストリームデータに関する前記追記データ位置情報を検索するステップと、
    前記検索した追記データ位置情報を前記外部装置へ送信するステップと、
    を実行させるためのストリームデータ処理プログラム。
  6. (1)複数の情報源端末より送信されたストリームデータを蓄積する複数のデータ蓄積装置と、(2)このデータ蓄積装置から取得した前記ストリームデータに対しフィルタ処理を実行する複数のフィルタ処理装置と、(3)前記ストリームデータの種別を示すSIDごとに、このSIDを持つストリームデータに対し実行すべき前記フィルタ処理およびそのフィルタ処理の適用手順を示した処理手順情報を前記フィルタ処理装置へ送信する情報管理装置とを備えるストリームデータ処理システムであって、
    前記データ蓄積装置は、
    前記受信したストリームデータを蓄積する蓄積データ記憶部および前記フィルタ処理装置へ出力するストリームデータを一時的に蓄積するキュー部を備え、
    前記フィルタ処理装置は、
    前記データ蓄積装置のキュー部におけるキュー状態に基づき、前記ストリームデータの取得元となる前記データ蓄積装置を選択する選択処理部と、
    前記選択されたデータ蓄積装置のキュー部から、このキュー部に蓄積されたストリームデータを取得するデータ取得部と、
    前記情報管理装置から受信した前記処理手順情報と、前記取得したストリームデータに付されたSIDとを参照して、前記取得したストリームデータに対し実行すべきフィルタ処理を決定し、前記決定したフィルタ処理を実行するフィルタ処理実行部とを備え、
    前記データ蓄積装置はそれぞれ、
    前記情報源端末から受信したストリームデータを蓄積する蓄積データ記憶部と、
    前記ストリームデータを前記蓄積データ記憶部に記憶したとき、このストリームデータのSIDと、このストリームデータの受信時刻と、自データ蓄積装置の識別情報およびこのストリームデータの記憶領域を示す情報とを対応付けた追記データ位置情報を作成し、前記情報管理装置へ送信する追記データ位置情報送信部とを備え、
    前記情報管理装置は、
    前記データ蓄積装置それぞれから送信された前記追記データ位置情報を記憶部に記憶するデータ位置管理部と、
    外部装置から、当該ストリームデータのSIDおよび受信時刻を含む前記ストリームデータの検索要求を受信したとき、前記検索要求に含まれる前記SIDおよび前記受信時刻をキーとして、前記記憶部から、前記ストリームデータに関する前記追記データ位置情報を検索し、前記検索した追記データ位置情報を前記外部装置へ送信する追記データ位置管理部と、
    を備えることを特徴とするストリームデータ処理システム。
JP2007138440A 2007-05-24 2007-05-24 ストリームデータ処理方法、ストリームデータ処理プログラムおよびストリームデータ処理システム Active JP4871213B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007138440A JP4871213B2 (ja) 2007-05-24 2007-05-24 ストリームデータ処理方法、ストリームデータ処理プログラムおよびストリームデータ処理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007138440A JP4871213B2 (ja) 2007-05-24 2007-05-24 ストリームデータ処理方法、ストリームデータ処理プログラムおよびストリームデータ処理システム

Publications (2)

Publication Number Publication Date
JP2008294774A JP2008294774A (ja) 2008-12-04
JP4871213B2 true JP4871213B2 (ja) 2012-02-08

Family

ID=40169046

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007138440A Active JP4871213B2 (ja) 2007-05-24 2007-05-24 ストリームデータ処理方法、ストリームデータ処理プログラムおよびストリームデータ処理システム

Country Status (1)

Country Link
JP (1) JP4871213B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5439014B2 (ja) * 2009-04-10 2014-03-12 株式会社日立製作所 データ処理システム、その処理方法、及び計算機
JP5314570B2 (ja) * 2009-11-06 2013-10-16 日本電信電話株式会社 蓄積データの再構成システム、再構成方法およびプログラム
JP5637896B2 (ja) * 2011-02-24 2014-12-10 富士通株式会社 ウィンドウ処理装置,方法およびプログラム
EP2902909A4 (en) * 2012-09-28 2016-06-01 Nec Corp DISTRIBUTED MEMORY DEVICE, MEMORY NOTES, DATA PROCESSING PROCEDURES AND PROGRAM
JP2014229166A (ja) * 2013-05-24 2014-12-08 富士通株式会社 通信システム、通信方法、事業管理システム、管理装置、プログラム、中継装置、データ位置管理装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4885463B2 (ja) * 2005-03-03 2012-02-29 株式会社日立製作所 センサネットワークシステム、センサデータの処理方法及びプログラム
JP4596943B2 (ja) * 2005-03-24 2010-12-15 株式会社日立製作所 センサネットワークシステム、データの転送方法及びプログラム

Also Published As

Publication number Publication date
JP2008294774A (ja) 2008-12-04

Similar Documents

Publication Publication Date Title
US8655943B2 (en) Web server providing access to documents having multiple versions
WO2015140927A1 (ja) データ転送監視システム、データ転送監視方法、および拠点システム
JP6870466B2 (ja) 制御プログラム、制御方法、制御装置、及びデータベースサーバ
JP4871213B2 (ja) ストリームデータ処理方法、ストリームデータ処理プログラムおよびストリームデータ処理システム
CN107748790B (zh) 一种线上服务系统、数据加载方法、装置及设备
US9514176B2 (en) Database update notification method
JP4764300B2 (ja) ストリームデータ管理システム、ストリームデータ管理方法およびそのプログラム
CN106980572B (zh) 分布式系统的在线调试方法和系统
US8583754B2 (en) Business flow distributed processing system and method
JP2010072834A (ja) 障害対処プログラム及び障害対処装置
JP4741301B2 (ja) 情報検索システム、情報検索装置、情報検索方法、記録媒体及びプログラム
US8688823B1 (en) Association of network traffic to enterprise users in a terminal services environment
JP4909290B2 (ja) ストリームデータ処理方法、ストリームデータ処理プログラムおよびストリームデータ処理システム
US9009073B1 (en) Product availability check using image processing
US7159019B2 (en) Information collection apparatus and method
JP6855364B2 (ja) ログ収集システム及びプログラム
US7703106B2 (en) Discovering and monitoring process executions
US8015207B2 (en) Method and apparatus for unstructured data mining and distributed processing
CN110083509A (zh) 一种日志数据的规整方法及装置
JP2005044226A (ja) 操作情報収集システム
KR20190104671A (ko) 콘텐츠 기반 클린 클라우드 시스템 및 그 방법
WO2023073952A1 (ja) セキュリティ分析装置、セキュリティ分析方法、及びコンピュータ読み取り可能な記録媒体
JP2005157727A (ja) ログ処理方法及びその処理プログラム並びに実施システム
JP7167749B2 (ja) 情報処理装置、情報処理システム、及び情報処理プログラム
WO2022107406A1 (ja) 情報処理システム、情報処理方法及び計算機

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090128

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20110810

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110823

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111006

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: 20111115

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: 20111118

R150 Certificate of patent or registration of utility model

Ref document number: 4871213

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20141125

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350