JP2008083808A - Filter processor, data storage device, shared information management device, filter processing method and filter processing program - Google Patents

Filter processor, data storage device, shared information management device, filter processing method and filter processing program Download PDF

Info

Publication number
JP2008083808A
JP2008083808A JP2006260824A JP2006260824A JP2008083808A JP 2008083808 A JP2008083808 A JP 2008083808A JP 2006260824 A JP2006260824 A JP 2006260824A JP 2006260824 A JP2006260824 A JP 2006260824A JP 2008083808 A JP2008083808 A JP 2008083808A
Authority
JP
Japan
Prior art keywords
filter processing
unit
data
filter
restart
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.)
Granted
Application number
JP2006260824A
Other languages
Japanese (ja)
Other versions
JP4764300B2 (en
Inventor
Hiroyuki Uchiyama
寛之 内山
Hiroki Akama
浩樹 赤間
Fumimitsu Miura
史光 三浦
Shuichi Nishioka
秀一 西岡
Masaki Hyodo
正樹 兵藤
Ichibe Naito
一兵衛 内藤
Masashi Yamamuro
雅司 山室
Norihiko Sakurai
紀彦 櫻井
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 JP2006260824A priority Critical patent/JP4764300B2/en
Publication of JP2008083808A publication Critical patent/JP2008083808A/en
Application granted granted Critical
Publication of JP4764300B2 publication Critical patent/JP4764300B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To prevent reduction of processing capability of the whole system even when receiving various stream data from an information source. <P>SOLUTION: A filter processing means 10 (10A-10N) used for a stream data management system 1 receives queue state information showing a queue state in a data storage means 20 from each of the data storage means 20 storing the stream data. The filter processing means 10 selects the data storage means 20 that is an acquisition source of the stream data on the basis of the received queue state information. The filter processing means 10 acquires the stream data from the selected data storage means 20, and executes prescribed filter processing to the stream data. When the filter processing means 10 downloads file data from a shared information management means 30 and adds a filter processing function, the filter processing means 10 confirms to the shared information management means 30 whether a restart can be performed or not. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、ストリームデータ処理技術に関する。   The present invention relates to a stream data processing technique.

従来、各種センサやICタグ、携帯電話等により様々なデータを収集し、この収集したデータにフィルタ処理を行い、所定の利用先へ流通させるストリームデータ処理技術がある。このようなストリームデータ処理技術として、telegraphCQ(非特許文献1参照)や、borealis(非特許文献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.,“Te1egraphCQ:Continuous Dataflow Processing for an Uncertain World,” CIDR(2003) D.J.Abadi,Y.Ahmad,M.Balazinska,U.Cetintemel,M.Cherniack,J.H.Hwang,W.Lindner,A.S.Maskey,A.Rasin,E.Ryvkina,N.Tatbul,Y.Xing,and Stan Zdonik, “The Design of the Borealis Stream Processing Engine,”CIDR(2005)
2. Description of the Related Art Conventionally, there is a stream data processing technique in which various data are collected by various sensors, IC tags, mobile phones, etc., and the collected data is subjected to filter processing and distributed to a predetermined usage destination. As such stream data processing techniques, telegraphCQ (see Non-Patent Document 1) and borealis (see Non-Patent Document 2) have been proposed.
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., “Te1egraphCQ: Continuous Dataflow Processing for an Uncertain Dataflow Processing for ancercer World, ”CIDR (2003) DJAbadi, Y.Ahmad, M.Balazinska, U.Cetintemel, M.Cherniack, JHHwang, W.Lindner, ASMaskey, A.Rasin, E.Ryvkina, N.Tatbul, Y.Xing, and Stan Zdonik, “The Design of the Borealis Stream Processing Engine, ”CIDR (2005)

前記したtelegraphCQは、入力されるデータの性質変化に合わせてストリームデータ処理を実行するものであるが、処理を実行するのは単一サーバのみである。つまり、前記したtelegraphCQにおいて、複数のサーバがストリームデータ処理を実行することについては考慮されていない。   The telegraph CQ described above executes stream data processing according to changes in the properties of input data, but only a single server executes the processing. That is, in the telegraphCQ described above, it is not considered that a plurality of servers execute stream data processing.

また、前記したborealisは、複数のサーバがストリームデータ処理を実行するものであるが、各サーバの最適配置が決定した後に、ストリームデータ処理のマイグレーション処理(負荷の大きいサーバから、負荷の小さいサーバへオペレーションを移行する処理)を行う必要がある。しかし、各サーバにおいてこのようなマイグレーション処理を実行すると、マイグレーションの負荷が大きくなり、特に、各種センサやICタグ等、様々な情報源からデータ入力を受け付けたり、また、その情報源からのデータ入力量の変化が激しかったりする場合、システム全体の処理能力が下がる可能性がある。   In the above-described borealis, a plurality of servers execute stream data processing. After the optimum arrangement of each server is determined, stream data processing migration processing (from a server with a high load to a server with a low load). Processing to migrate operations). However, if such a migration process is executed in each server, the migration load increases. In particular, data input from various information sources such as various sensors and IC tags is accepted, and data input from the information source is also performed. When the change in quantity is severe, the processing capacity of the entire system may be reduced.

そこで、本発明は前記した問題を解決し、様々な情報源からストリームデータを受信する場合であっても、システム全体の処理能力が低下しないようにするフィルタ処理装置等を提供することを目的とする。   SUMMARY OF THE INVENTION Accordingly, an object of the present invention is to provide a filter processing apparatus and the like that solves the above-described problems and prevents the processing capacity of the entire system from being lowered even when stream data is received from various information sources. To do.

前記した課題を解決するため、請求項1に記載の発明は、複数のフィルタ処理装置によりストリームデータのフィルタ処理を行うストリームデータ管理システムに用いられるフィルタ処理装置であって、各種データの入力を受け付ける入力部と、複数の情報源より送信されたストリームデータを蓄積するデータ蓄積装置それぞれから、前記入力部経由で、このデータ蓄積装置におけるキュー状態を示したキュー状態情報を受信し、前記受信したキュー状態情報に基づき、前記ストリームデータの取得元となる前記データ蓄積装置を選択する選択処理部と、前記選択処理部により選択されたデータ蓄積装置から、前記入力部経由で、このデータ蓄積装置に蓄積されたストリームデータを取得するデータ取得処理部と、前記フィルタ処理装置により実行されるフィルタ処理の内容を記述したフィルタオペレーションを記憶する記憶部と、前記ストリームデータに対し前記フィルタオペレーションに基づくフィルタ処理を実行するフィルタ処理部と、前記ストリームデータに付されたサービスIDごとに、このストリームデータに対し実行すべきフィルタ処理を示したサービスIDテーブルと、前記取得したストリームデータに付されたサービスIDとを参照して、前記取得したストリームデータに対し実行すべきフィルタオペレーションを決定し、前記決定したフィルタオペレーションを前記記憶部から読み出し、この読み出したフィルタオペレーションに基づくフィルタ処理を前記フィルタ処理部に実行させるフィルタ実行制御部と、前記フィルタ処理後のストリームデータを出力する出力部とを備える構成とした。   In order to solve the above-described problem, the invention described in claim 1 is a filter processing device used in a stream data management system that performs filtering of stream data by a plurality of filter processing devices, and accepts input of various data. From each of the input unit and the data storage devices that store the stream data transmitted from the plurality of information sources, the queue state information indicating the queue state in the data storage device is received via the input unit, and the received queue Based on the status information, the selection processing unit that selects the data storage device from which the stream data is acquired, and the data storage device selected by the selection processing unit, the data is stored in the data storage device via the input unit. A data acquisition processing unit for acquiring the stream data and the filter processing device For each service ID assigned to the stream data, a storage unit that stores a filter operation describing the contents of the filter process to be executed, a filter processing unit that executes a filter process based on the filter operation on the stream data, and The filter operation to be executed on the acquired stream data is determined with reference to the service ID table indicating the filter processing to be executed on the stream data and the service ID attached to the acquired stream data. Then, the determined filter operation is read from the storage unit, a filter execution control unit for causing the filter processing unit to execute a filter process based on the read filter operation, and stream data after the filter process are output. And configured to include an output unit.

このような構成によれば、ストリームデータ管理システムにおけるフィルタ処理装置はそれぞれ、複数のデータ蓄積装置からストリームデータを取得する。このとき、フィルタ処理装置それぞれが、各データ蓄積装置におけるキュー状態に基づき、ストリームデータを取得するデータ蓄積装置を決定する。例えば、フィルタ処理装置は、より入力スループットが大きいデータ蓄積装置からストリームデータを取得するようにする。これにより、フィルタ処理装置同士で処理負荷の情報をやりとりしなくても、各フィルタ処理装置同士のフィルタ処理負荷のバランスをとることができる。つまり、ストリームデータ管理システムにおいて、特定のフィルタ処理装置に処理負荷が集中することがなくなる。これにより、ストリームデータ管理システムが、異なる流量特性を持つストリームデータを受信する場合において、特定のフィルタ処理装置がボトルネックとなって、システム全体の処理能力が低下することがなくなる。   According to such a configuration, each filter processing device in the stream data management system acquires stream data from a plurality of data storage devices. At this time, each filter processing device determines a data storage device that acquires stream data based on the queue state in each data storage device. For example, the filter processing device acquires stream data from a data storage device having a higher input throughput. Thereby, even if it does not exchange the processing load information between filter processing apparatuses, the filter processing load of each filter processing apparatus can be balanced. That is, in the stream data management system, the processing load is not concentrated on a specific filter processing device. As a result, when the stream data management system receives stream data having different flow characteristics, the specific filter processing device does not become a bottleneck, and the processing capacity of the entire system is not reduced.

請求項2に記載の発明は、請求項1に記載のフィルタ処理装置において、前記フィルタオペレーションは、前記フィルタ処理後のストリームデータの出力先の情報を含み、前記フィルタ処理部は、前記フィルタオペレーションに基づき、前記フィルタ処理後のストリームデータの出力先を決定する構成とした。   According to a second aspect of the present invention, in the filter processing device according to the first aspect, the filter operation includes information on an output destination of the stream data after the filter processing, and the filter processing unit includes the filter operation. Based on this, the output destination of the stream data after the filtering process is determined.

このような構成によれば、フィルタ処理装置は、フィルタ処理後のストリームデータを所定の出力先に出力することができる。例えば、ストリームデータが、各家庭のテレビ番組の視聴データであるとき、フィルタ処理装置は、このストリームデータにフィルタ処理を行った後、視聴率調査を行う会社のサーバへ出力することができる。つまり、フィルタ処理後のストリームデータの出力先の制御を行うことができる。なお、このように、フィルタオペレーションが、フィルタ処理後のストリームデータの出力先の情報を含むことで、フィルタ処理装置において、フィルタ処理機能が追加されたとき、本システムの管理者等が、出力先を逐次手動で追加する必要がなくなり、大変便利である。   According to such a configuration, the filter processing apparatus can output the stream data after the filter processing to a predetermined output destination. For example, when the stream data is viewing data of a television program in each home, the filter processing device can perform the filtering process on the stream data and then output the stream data to the server of the company that conducts the audience rating survey. That is, it is possible to control the output destination of the stream data after the filtering process. As described above, when the filter operation includes the information on the output destination of the stream data after the filter processing, when the filter processing function is added in the filter processing apparatus, the administrator of the system can output the output destination. This is very convenient because there is no need to manually add.

請求項3に記載の発明は、請求項1または請求項2に記載のフィルタ処理装置において、前記データ蓄積装置それぞれにおけるキュー状態情報は、このデータ蓄積装置における入力スループット、出力スループットおよびCPUコストのうち少なくともいずれか1つの値を含み、前記選択処理部は、前記データ蓄積装置それぞれにおける入力スループット、出力スループットおよびCPUコストのうち少なくともいずれか1つの値に基づき、前記いずれかの値が大きいものから優先的に、前記ストリームデータの取得元となる前記データ蓄積装置を選択する構成とした。   According to a third aspect of the present invention, in the filter processing device according to the first or second aspect, the queue status information in each of the data storage devices includes input throughput, output throughput, and CPU cost in the data storage device. Including at least one of the values, and the selection processing unit prioritizes the one having the larger value based on at least one of the input throughput, the output throughput, and the CPU cost in each of the data storage devices. In particular, the data storage device from which the stream data is acquired is selected.

このような構成によれば、各フィルタ処理装置の選択処理部は、データ蓄積装置それぞれにおける入力スループット、出力スループットおよびCPU(Central Processing Unit)コストに基づき、ストリームデータを取得するデータ蓄積装置を選択するので、より混雑しているデータ蓄積装置から優先的にストリームデータを取得することができる。   According to such a configuration, the selection processing unit of each filter processing device selects a data storage device that acquires stream data based on the input throughput, output throughput, and CPU (Central Processing Unit) cost of each data storage device. Therefore, the stream data can be preferentially acquired from the data storage device that is more congested.

請求項4に記載の発明は、請求項1ないし請求項3のいずれか1項に記載のフィルタ処理装置において、前記フィルタ実行制御部は、前記取得したストリームデータに必要なフィルタ処理機能が、前記フィルタ処理部にあるか否かを判断するフィルタ判定部と、前記フィルタ取得判定部において、前記取得したストリームデータに対し必要なフィルタ処理機能が、前記フィルタ処理部にないと判断されたとき、(1)前記フィルタ処理に必要なファイルと、(2)前記ストリームデータ管理システムにおいて再起動を許可する前記フィルタ処理装置の数を示した再起動情報とを記憶する共有情報管理装置から、前記フィルタ処理に必要なファイルを取得し、前記フィルタ処理部に追加するフィルタ取得部と、前記共有情報管理装置に対し、自身のフィルタ処理装置の再起動を許可するか否かを問い合わせる再起動問い合わせ部と、前記再起動問い合わせ部において、前記共有情報管理装置から自身のフィルタ処理装置の再起動を許可する旨の応答を受信したとき、前記自身のフィルタ処理装置を再起動し、前記再起動を完了したとき、前記共有情報管理装置へ、前記自身のフィルタ処理装置の再起動の完了を通知する再起動部とを備える構成とした。   According to a fourth aspect of the present invention, in the filter processing device according to any one of the first to third aspects, the filter execution control unit has a filter processing function required for the acquired stream data. When the filter determination unit that determines whether or not the filter processing unit is present and the filter acquisition determination unit determine that the filter processing function necessary for the acquired stream data is not present in the filter processing unit ( From the shared information management device storing the file necessary for the filter processing and (2) restart information indicating the number of the filter processing devices permitted to restart in the stream data management system, the filter processing To the filter acquisition unit that acquires necessary files for addition to the filter processing unit and the shared information management device. A restart inquiry unit that inquires whether or not to permit restart of the filter processing device, and a response to permit restart of the own filter processing device from the shared information management device at the restart inquiry unit A restart unit that restarts the own filter processing device and notifies the shared information management device of the completion of restart of the own filter processing device when the restart is completed. It was.

このような構成によれば、各フィルタ処理装置は、共有情報管理装置から、自身に不足しているフィルタ処理に必要なファイルを取得し、フィルタ処理部に追加する。従って、各フィルタ処理装置は、ストリームデータの種類が変化した場合でも、フィルタ処理を実行することができる。なお、各フィルタ処理装置がフィルタ処理機能を追加する場合、フィルタ処理装置の再起動が必要となるが、各フィルタ処理装置は、共有情報管理装置から、再起動を許可する旨の通知を受信したときに再起動を実行する。これにより、再起動中のためフィルタ処理が停止してしまうフィルタ処理装置が、所定数を超え、システム全体の処理能力が著しく低下するのを防止できる。   According to such a configuration, each filter processing device acquires a file necessary for the filter processing that is lacking from the shared information management device and adds the file to the filter processing unit. Therefore, each filter processing device can execute the filter processing even when the type of stream data changes. When each filter processing device adds a filter processing function, it is necessary to restart the filter processing device, but each filter processing device has received a notification from the shared information management device that the restart is permitted. When performing a reboot. As a result, it is possible to prevent the number of filter processing devices whose filter processing is stopped due to restarting from exceeding a predetermined number and the processing capacity of the entire system from being significantly reduced.

請求項5に記載の発明は、請求項4に記載のフィルタ処理装置において、前記再起動問い合わせ部は、所定時間経過しても、前記共有情報管理装置から自身のフィルタ処理装置の再起動を許可する旨の応答を受信しなかったとき、再度、前記自身のフィルタ処理装置の再起動を許可するか否かを問い合わせる構成とした。   According to a fifth aspect of the present invention, in the filter processing device according to the fourth aspect, the restart inquiry unit permits the restart of its own filter processing device from the shared information management device even if a predetermined time has elapsed. When a response to this effect is not received, it is again inquired whether or not the restart of the own filter processing device is permitted.

このような構成によれば、システム全体で、所定数以上のフィルタ処理装置が再起動中のため、自身のフィルタ処理装置が再起動できなかった場合でも、時間をずらして、自身のフィルタ処理装置を再起動させることができる。   According to such a configuration, since a predetermined number or more of the filter processing apparatuses are being restarted in the entire system, even if the own filter processing apparatus cannot be restarted, the time is shifted and the own filter processing apparatus Can be restarted.

請求項6に記載の発明は、請求項1ないし請求項5のいずれか1項に記載のフィルタ処理装置へ、前記ストリームデータを送信するデータ蓄積装置であって、このデータ蓄積装置における単位時間あたりの入力スループット、出力スループットおよびCPUコストのうち少なくともいずれか1つの値が、所定の閾値以上に変化したとき、前記フィルタ処理装置へ、前記データ蓄積装置におけるキュー状態情報を送信する構成とした。   According to a sixth aspect of the present invention, there is provided a data storage device for transmitting the stream data to the filter processing device according to any one of the first to fifth aspects. When at least one of the input throughput, the output throughput, and the CPU cost changes to a predetermined threshold value or more, the queue status information in the data storage device is transmitted to the filter processing device.

このような構成によれば、フィルタ処理装置は、データ蓄積装置のキュー状態(入力スループット、出力スループットおよびCPUコスト)の変化があったとき、この変化をいち早く取り込み、この変化後のキュー状態情報をもとにストリームデータの取得元となるデータ蓄積装置を決定することができる。   According to such a configuration, when there is a change in the queue state (input throughput, output throughput, and CPU cost) of the data storage device, the filter processing apparatus quickly captures the change, and acquires the queue state information after the change. Based on this, it is possible to determine a data storage device from which stream data is acquired.

請求項7に記載の発明は、請求項4または請求項5に記載のフィルタ処理装置におけるフィルタ処理に必要なファイルと、再起動を許可する前記フィルタ処理装置の数を示した再起動情報とを記憶する記憶部を備える共有情報管理装置であって、前記フィルタ処理装置からの要求に応じて、前記フィルタ処理に必要なファイルデータを送信するファイルデータ送信部と、前記フィルタ処理装置から、再起動を許可するか否かの問い合わせを受信した場合、前記再起動情報における再起動を許可するフィルタ処理装置の数が正であるか否かを判断し、前記再起動を許可するフィルタ処理装置の数が正であると判断したとき、前記フィルタ処理装置へ、前記フィルタ処理装置の再起動を許可する旨の応答を送信する再起動判定処理部と、前記フィルタ処理装置へ、前記再起動を許可する旨の応答を送信したとき、前記再起動情報における再起動を許可するフィルタ処理装置の数を減算し、前記フィルタ処理装置から、このフィルタ処理装置の再起動を完了した旨の通知を受信したとき、前記再起動情報における再起動を許可するフィルタ処理装置の数を加算する再起動情報更新部とを備える構成とした。   According to a seventh aspect of the present invention, there is provided a file necessary for the filter processing in the filter processing device according to the fourth or fifth aspect, and restart information indicating the number of the filter processing devices permitted to be restarted. A shared information management device comprising a storage unit for storing, a file data transmission unit for transmitting file data necessary for the filter processing in response to a request from the filter processing device, and a restart from the filter processing device If the inquiry about whether or not to permit is received, it is determined whether or not the number of filter processing devices permitted to restart in the restart information is positive, and the number of filter processing devices permitted to restart Is determined to be positive, a restart determination processing unit that transmits a response to permit the restart of the filter processing device to the filter processing device; When the response indicating that the restart is permitted is transmitted to the data processing device, the number of filter processing devices that are permitted to be restarted in the restart information is subtracted, and the filter processing device is restarted from the filter processing device. And a restart information update unit that adds the number of filter processing devices that are permitted to restart in the restart information when a notification that the start is completed is received.

このような構成によれば、共有情報管理装置は、フィルタ処理装置からの要求に応じて、フィルタ処理に必要なファイルデータを送信するので、フィルタ処理装置に様々なストリームデータのフィルタ処理を実行させることができる。また、この共有情報管理装置は、システム全体において、再起動を許可するフィルタ処理装置の数を管理するので、再起動中のためフィルタ処理が停止するフィルタ処理装置が所定数を超え、システム全体の処理能力が著しく低下するのを防止できる。   According to such a configuration, the shared information management apparatus transmits file data necessary for the filtering process in response to a request from the filtering process apparatus, and thus causes the filtering process apparatus to perform various stream data filtering processes. be able to. In addition, since this shared information management device manages the number of filter processing devices that are allowed to be restarted in the entire system, the number of filter processing devices in which the filter processing is stopped because of restarting exceeds a predetermined number, It is possible to prevent the processing capacity from being significantly reduced.

請求項8に記載の発明は、複数のフィルタ処理装置によりストリームデータのフィルタ処理を行うストリームデータ管理システムに用いられるフィルタ処理装置それぞれが、前記ストリームデータを蓄積する1以上のデータ蓄積装置それぞれから、このデータ蓄積装置におけるキュー状態を示したキュー状態情報を受信するステップと、前記受信したキュー状態情報に基づき、前記ストリームデータの取得元となる前記データ蓄積装置を選択するステップと、前記選択されたデータ蓄積装置から、このデータ蓄積装置に蓄積されたストリームデータを取得するステップと、前記ストリームデータに付されたサービスIDごとに、このストリームデータに対し実行すべきフィルタ処理を示したサービスIDテーブルと、前記取得したストリームデータに付されたサービスIDとを参照して、前記取得したストリームデータに対し実行すべきフィルタオペレーションを決定し、前記決定したフィルタオペレーションを記憶部から読み出し、この読み出したフィルタオペレーションに基づくフィルタ処理をフィルタ処理部に実行させるステップと、前記フィルタ処理後のストリームデータを出力するステップと、を実行することを特徴とするフィルタ処理方法とした。   The invention according to claim 8 is that each of the filter processing devices used in the stream data management system that performs filtering of stream data by a plurality of filter processing devices, from each of the one or more data storage devices that store the stream data, Receiving queue state information indicating a queue state in the data storage device, selecting the data storage device from which the stream data is acquired based on the received queue state information, and the selected A step of acquiring stream data stored in the data storage device from the data storage device, and a service ID table indicating a filtering process to be performed on the stream data for each service ID attached to the stream data; , The obtained stream A filter operation to be performed on the acquired stream data is determined with reference to the service ID attached to the data, the determined filter operation is read from the storage unit, and a filter process based on the read filter operation is performed The filter processing method is characterized in that the step of causing the filter processing unit to execute and the step of outputting the stream data after the filter processing are executed.

このような方法によれば、ストリームデータ管理システムにおけるフィルタ処理装置はそれぞれ、複数のデータ蓄積装置からストリームデータを取得する。このとき、フィルタ処理装置それぞれが、各データ蓄積装置におけるキュー状態に基づき、ストリームデータを取得するデータ蓄積装置を決定する。例えば、フィルタ処理装置は、より入力スループットが大きいデータ蓄積装置からストリームデータを取得するようにする。これにより、フィルタ処理装置同士で処理負荷の情報をやりとりしなくても、各フィルタ処理装置同士のフィルタ処理のバランスをとることができる。つまり、ストリームデータ管理システムにおいて、特定のフィルタ処理装置に処理負荷が集中することがなくなる。これにより、ストリームデータ管理システムが、異なる流量特性を持つストリームデータを受信する場合において、特定のフィルタ処理装置がボトルネックとなって、システム全体の処理能力が低下することがなくなる。   According to such a method, each of the filter processing devices in the stream data management system acquires stream data from a plurality of data storage devices. At this time, each filter processing device determines a data storage device that acquires stream data based on the queue state in each data storage device. For example, the filter processing device acquires stream data from a data storage device having a higher input throughput. Thereby, it is possible to balance the filter processing between the respective filter processing devices without exchanging processing load information between the filter processing devices. That is, in the stream data management system, the processing load is not concentrated on a specific filter processing device. As a result, when the stream data management system receives stream data having different flow characteristics, the specific filter processing device does not become a bottleneck, and the processing capacity of the entire system is not reduced.

請求項9に記載の発明は、請求項8に記載のフィルタ処理方法において、前記データ蓄積装置それぞれにおけるキュー状態情報は、このデータ蓄積装置における入力スループット、出力スループットおよびCPUコストのうち少なくともいずれか1つの値を含み、前記フィルタ処理装置は、前記ストリームデータを取得元となる前記データ蓄積装置を選択するとき、前記データ蓄積装置それぞれにおける入力スループット、出力スループットおよびCPUコストのうち少なくともいずれか1つの値に基づき、前記いずれかの値が大きいものから優先的に、前記ストリームデータを取得元となる前記データ蓄積装置を選択することを特徴とするフィルタ処理方法とした。   According to a ninth aspect of the present invention, in the filter processing method according to the eighth aspect, the queue status information in each of the data storage devices is at least one of input throughput, output throughput, and CPU cost in the data storage device. When the filter processing device selects the data storage device from which the stream data is acquired, at least one value of input throughput, output throughput, and CPU cost in each of the data storage devices Based on the above, the filtering method is characterized in that the data storage device from which the stream data is obtained is selected with priority from the one of the large values.

このような方法によれば、各フィルタ処理装置の選択処理部は、データ蓄積装置それぞれにおける入力スループット、出力スループットおよびCPUコストに基づき、ストリームデータを取得するデータ蓄積装置を選択するので、より混雑しているデータ蓄積装置から優先的にストリームデータを取得することができる。   According to such a method, the selection processing unit of each filter processing device selects a data storage device that acquires stream data on the basis of the input throughput, output throughput, and CPU cost of each data storage device, so that it is more congested. Stream data can be preferentially acquired from the existing data storage device.

請求項10に記載の発明は、請求項8または請求項9に記載のフィルタ処理方法をコンピュータに実行させることを特徴とするフィルタ処理プログラムとした。   According to a tenth aspect of the present invention, there is provided a filter processing program that causes a computer to execute the filter processing method according to the eighth or ninth aspect.

このようなフィルタ処理プログラムによれば、コンピュータに請求項8または請求項9に記載のフィルタ処理方法を実行させることができる。   According to such a filter processing program, it is possible to cause a computer to execute the filter processing method according to claim 8 or claim 9.

本発明によれば、ストリームデータ管理システムにおいて、情報源のデータ入力量の変化が激しい場合であっても、システム全体の処理能力を著しく低下させないようにすることができる。また、ストリームデータ管理システムにおけるフィルタ処理装置は、フィルタ処理機能を追加できるので、様々なストリームデータに対しフィルタ処理を実行することができる。さらに、このようなフィルタ処理機能を追加する場合においても、システム全体の処理能力を著しく低下させないようにすることができる。   According to the present invention, in the stream data management system, even when the data input amount of the information source changes drastically, the processing capacity of the entire system can be prevented from being significantly reduced. Moreover, since the filter processing apparatus in the stream data management system can add a filter processing function, it can execute filter processing on various stream data. Furthermore, even when such a filtering function is added, the processing capacity of the entire system can be prevented from being significantly reduced.

以下、本発明を実施するための最良の形態(以下、実施の形態という)を、図面を参照しながら説明する。   Hereinafter, the best mode for carrying out the present invention (hereinafter referred to as an embodiment) will be described with reference to the drawings.

図1は、本実施の形態のストリームデータ管理システムを含むシステムの構成例を示した図である。図1に示すように、システムは、様々な情報源から取得したデータにサービスID(SID)を付し、このデータをストリームデータとして送信するクライアント50(50A,50B)と、受信したストリームデータのフィルタ処理を行うストリームデータ管理システム1と、フィルタ処理されたデータの出力先である、出力先60(60A〜60N)と、この出力先60からデータの検索を行う検索クライアント70(70A〜70N)とを含んで構成される。   FIG. 1 is a diagram illustrating a configuration example of a system including a stream data management system according to the present embodiment. As shown in FIG. 1, the system attaches a service ID (SID) to data acquired from various information sources, transmits the data as stream data, and a client 50 (50A, 50B) and the received stream data. The stream data management system 1 that performs filtering, the output destination 60 (60A to 60N) that is the output destination of the filtered data, and the search client 70 (70A to 70N) that searches for data from the output destination 60 It is comprised including.

ストリームデータ管理システム1は、クライアント50へ、ストリームデータの送信先となるデータ蓄積手段(装置)20を指示するキュー割当手段40と、クライアント50から送信されたストリームデータを蓄積するデータ蓄積手段(装置)20(20A,20B,…,20N)と、ストリームデータのフィルタ処理を行うフィルタ処理手段(装置)10(10A〜10N)と、このフィルタ処理手段10におけるフィルタ処理部124(詳細は後記)の機能を実現するファイルデータ等を記憶する共有情報管理手段(装置)30とを含んで構成される。   The stream data management system 1 includes a queue allocating unit 40 that instructs the client 50 to specify a data storage unit (device) 20 that is a transmission destination of the stream data, and a data storage unit (device) that stores the stream data transmitted from the client 50. ) 20 (20A, 20B,..., 20N), filter processing means (apparatus) 10 (10A to 10N) for filtering stream data, and a filter processing unit 124 (details will be described later) in the filter processing means 10 And a shared information management means (device) 30 for storing file data and the like for realizing the function.

また、出力先60は、ストリームデータ管理システム1においてフィルタ処理されたデータをDB(データベース)61に蓄積する蓄積処理部62と、フィルタ処理されたデータを記憶するDB61と、検索クライアント70からの要求に応じて、このDB61から所定のデータを検索する検索処理部63とを含んで構成される。   Further, the output destination 60 includes a storage processing unit 62 that stores data filtered in the stream data management system 1 in a DB (database) 61, a DB 61 that stores the filtered data, and requests from the search client 70. And a search processing unit 63 that searches the DB 61 for predetermined data.

(1)クライアント50とストリームデータ管理システム1との間、(2)ストリームデータ管理システム1と出力先60との間はそれぞれ、図示しない伝送経路により接続される。さらに、データ蓄積手段20、フィルタ処理手段10、出力先60の数は、図1において、それぞれN個としたが、これに限定されない。   (1) The client 50 and the stream data management system 1 are connected to each other, and (2) the stream data management system 1 and the output destination 60 are connected by a transmission path (not shown). Furthermore, although the number of data storage means 20, filter processing means 10, and output destinations 60 is N in FIG. 1, it is not limited to this.

<動作概要>
ここで、図1のシステムの動作概要を説明する。まず、クライアント50は、様々な情報源からデータを取得し、そのデータに応じたSIDを付する。このSIDはSIDのバージョンの情報を含んでいてもよい。そして、クライアント50は、このSIDを付したデータをストリームデータとして、ストリームデータ管理システム1へ送信する。ストリームデータ管理システム1のキュー割当手段40は、ストリームデータの送信先であるデータ蓄積手段20を選択する。そして、クライアント50に対し、ストリームデータの送信先のデータ蓄積手段20を指示し、クライアント50は、指示されたデータ蓄積手段20にストリームデータを送信する。なお、データ蓄積手段20はそれぞれ、自身のキュー状態(入力スループット、出力スループットおよびCPUコスト等)に所定の閾値以上の変化があったとき、このキュー状態を各フィルタ処理手段10へ通知する。
<Overview of operation>
Here, an outline of the operation of the system of FIG. 1 will be described. First, the client 50 acquires data from various information sources and attaches SIDs corresponding to the data. This SID may include SID version information. Then, the client 50 transmits the data with the SID as stream data to the stream data management system 1. The queue assignment unit 40 of the stream data management system 1 selects the data storage unit 20 that is the transmission destination of the stream data. Then, the client 50 is instructed to the data storage unit 20 that is the transmission destination of the stream data, and the client 50 transmits the stream data to the instructed data storage unit 20. Each of the data storage means 20 notifies each filter processing means 10 of this queue state when its own queue state (input throughput, output throughput, CPU cost, etc.) has changed by a predetermined threshold value or more.

続いて、フィルタ処理手段10は、各データ蓄積手段20から通知されたキュー状態をもとに、ストリームデータを取得するデータ蓄積手段20を決定する。例えば、データ蓄積手段20(20A〜20N)のうち、データ蓄積手段20Bにおける入力スループットが比較的大きな値であった場合、このデータ蓄積手段20Bをストリームデータの取得元として決定する。   Subsequently, the filter processing unit 10 determines the data storage unit 20 that acquires the stream data based on the queue state notified from each data storage unit 20. For example, when the input throughput in the data storage unit 20B among the data storage units 20 (20A to 20N) is a relatively large value, the data storage unit 20B is determined as the stream data acquisition source.

次に、フィルタ処理手段10は、この決定したデータ蓄積手段20からストリームデータを取得し、フィルタ処理を行う。各ストリームデータに対し行うべきフィルタ処理は、このストリームデータに付されたSIDに基づき判断する。ここで、このストリームデータに必要なフィルタ処理機能が自身のフィルタ処理部124になかった場合、フィルタ処理手段10は、共有情報管理手段30からファイルデータを取得して、フィルタ処理機能の追加を行う。そして、フィルタ処理手段10は、機能の追加後、フィルタ処理を実行する。   Next, the filter processing unit 10 acquires stream data from the determined data storage unit 20 and performs a filter process. The filtering process to be performed on each stream data is determined based on the SID attached to the stream data. Here, when the filter processing unit 124 does not have the filter processing function necessary for the stream data, the filter processing unit 10 acquires the file data from the shared information management unit 30 and adds the filter processing function. . Then, the filter processing means 10 executes the filter processing after adding the function.

なお、フィルタ処理手段10は、共有情報管理手段30からのファイルデータ取得により機能の追加を行うとき、再起動を行う。このとき、フィルタ処理手段10は、まず、自身が再起動してよいか否かを共有情報管理手段30に問い合わせる。ここで、共有情報管理手段30は、現時点において、ストリームデータ管理システム1全体で、再起動によりフィルタ処理を停止してもよいフィルタ処理手段10の数(再起動上限値)を記録している。そして、共有情報管理手段30は、この問い合わせを受けたフィルタ処理手段10を再起動しても、再起動上限値を超えないとき、このフィルタ処理手段10に再起動を許可する旨の通知を行う。一方、このフィルタ処理手段10を再起動すると、再起動上限値を超えるとき、共有情報管理手段30は、このフィルタ処理手段10に再起動を許可しない旨の通知を行う。このようにすることで、ストリームデータ管理システム1において、所定数を超えたフィルタ処理手段10が再起動のため停止し、システム全体のフィルタ処理能力が著しく低下することを防止できる。   The filter processing unit 10 restarts when adding a function by acquiring file data from the shared information management unit 30. At this time, the filter processing means 10 first inquires of the shared information management means 30 whether or not it can be restarted. Here, the shared information management means 30 records the number (restart upper limit value) of the filter processing means 10 that may stop the filter processing by restarting the entire stream data management system 1 at the present time. Then, the shared information management means 30 notifies the filter processing means 10 that the restart is permitted when the restart upper limit value is not exceeded even if the filter processing means 10 that has received this inquiry is restarted. . On the other hand, when the filter processing unit 10 is restarted, when the restart upper limit is exceeded, the shared information management unit 30 notifies the filter processing unit 10 that the restart is not permitted. By doing in this way, in the stream data management system 1, it can prevent that the filter processing means 10 exceeding the predetermined number stops for restart, and the filter processing capability of the whole system falls remarkably.

なお、この後、フィルタ処理手段10は、フィルタ処理後のストリームデータを所定の出力先60へ出力する。そして、出力先60においてフィルタ処理後のデータをDB61に蓄積し、このDB61のデータは、検索クライアント70により検索可能となる。   After that, the filter processing unit 10 outputs the stream data after the filter processing to a predetermined output destination 60. Then, the filtered data is accumulated in the DB 61 at the output destination 60, and the data in the DB 61 can be searched by the search client 70.

また、このクライアント50、キュー割当手段40、データ蓄積手段20、共有情報管理手段30、フィルタ処理手段10、出力先60および検索クライアント70は、入出力インタフェース、CPU(Central Processing Unit)等の演算処理部、RAM(Random Access Memory)、ROM(Read Only Memory)、HDD(Hard Disk Drive)等の記憶部等を備えるコンピュータにより実現される。また、各処理部は、CPUによるプログラム実行処理あるいは専用回路により実現される。   Further, the client 50, the queue allocation means 40, the data storage means 20, the shared information management means 30, the filter processing means 10, the output destination 60, and the search client 70 are input / output interfaces, arithmetic processing such as a CPU (Central Processing Unit), etc. And a computer including a storage unit such as a random access memory (RAM), a read only memory (ROM), and a hard disk drive (HDD). Each processing unit is realized by a program execution process by a CPU or a dedicated circuit.

また、データ蓄積手段20(20A〜20N)はそれぞれ別個のコンピュータ(装置)により実現するようにしてもよいし、これらをまとめて1つのコンピュータにより実現するようにしてもよい。さらに、フィルタ処理手段10(10A〜10N)についても、それぞれ別個のコンピュータ(装置)により実現するようにしてもよいし、これらをまとめて1つのコンピュータにより実現するようにしてもよい。つまり、データ蓄積手段20(20A〜20N)およびフィルタ処理手段10(10A〜10N)をそれぞれ、プロセスにより実現するようにしてもよいし、コンピュータ(マシン)により実現するようにしてもよい。さらに、キュー割当手段40は、ロードバランサをさらに備え、このロードバランサにより各データ蓄積手段20へのストリームデータの割り当てを行うようにしてもよい。   The data storage means 20 (20A to 20N) may be realized by separate computers (devices), or may be realized by a single computer. Further, the filter processing means 10 (10A to 10N) may be realized by separate computers (devices), or may be realized by a single computer. That is, the data storage means 20 (20A to 20N) and the filter processing means 10 (10A to 10N) may be realized by processes or may be realized by a computer (machine). Further, the queue allocation unit 40 may further include a load balancer, and the load balancer may allocate the stream data to each data storage unit 20.

<データ蓄積手段>
次に、図2を用いてデータ蓄積手段20を詳細に説明する。図2は、図1のデータ蓄積手段の詳細を示した機能ブロック図である。
<Data storage means>
Next, the data storage means 20 will be described in detail with reference to FIG. FIG. 2 is a functional block diagram showing details of the data storage means of FIG.

データ蓄積手段20は、クライアント50から送信されたストリームデータを一時的に蓄積する手段である。このようなデータ蓄積手段20は、図2に示すように、クライアント50からのストリームデータの入力を受け付ける入力部21と、記憶部24におけるキュー241の状態を監視し、所定の閾値以上にキュー状態の変化があったとき、このデータ蓄積手段20におけるキュー状態情報(入力スループット、出力スループットおよびCPUコスト等の情報)を送信する処理部22と、ストリームデータおよび前記したキュー状態情報を出力するための出力部23と、蓄積したストリームデータのキュー241が形成される記憶部24とを含んで構成される。   The data storage unit 20 is a unit that temporarily stores the stream data transmitted from the client 50. As shown in FIG. 2, the data storage unit 20 monitors the status of the queue 241 in the input unit 21 that receives the stream data input from the client 50 and the storage unit 24, and the queue state exceeds a predetermined threshold value. When there is a change, the processing unit 22 for transmitting the queue status information (information such as input throughput, output throughput and CPU cost) in the data storage means 20, and for outputting the stream data and the queue status information described above The output unit 23 includes a storage unit 24 in which a queue 241 of accumulated stream data is formed.

なお、この入力部21および出力部23は、クライアント50やフィルタ処理手段10との間でデータ入出力可能な入出力インタフェースにより実現され、記憶部24は、RAM、HDD等により実現される。また、処理部22は、CPUによる記憶部24に記憶されるプログラムの実行処理、専用回路等により実現される。なお、記憶部24において、キュー241として蓄積されたストリームデータは、フィルタ処理手段10からの要求に応じて、フィルタ処理手段10へ送信される。   The input unit 21 and the output unit 23 are realized by an input / output interface capable of inputting / outputting data to / from the client 50 and the filter processing unit 10, and the storage unit 24 is realized by a RAM, an HDD, or the like. The processing unit 22 is realized by an execution process of a program stored in the storage unit 24 by the CPU, a dedicated circuit, and the like. In the storage unit 24, the stream data accumulated as the queue 241 is transmitted to the filter processing unit 10 in response to a request from the filter processing unit 10.

処理部22は、キュー状態監視部221と、キュー状態情報送信部222とを含んで構成される。キュー状態監視部221は、自身のデータ蓄積手段20におけるキュー状態(入力スループット、出力スループットおよびCPUコスト等)を監視する。そして、キュー状態監視部221は、共有情報管理手段30のキュー状態情報通知閾値321(詳細は後記)に示される閾値以上に、キュー状態が変化したか否かを監視する。   The processing unit 22 includes a queue state monitoring unit 221 and a queue state information transmission unit 222. The queue state monitoring unit 221 monitors the queue state (input throughput, output throughput, CPU cost, etc.) in its own data storage means 20. Then, the queue state monitoring unit 221 monitors whether or not the queue state has changed beyond a threshold value indicated by a queue state information notification threshold value 321 (details will be described later) of the shared information management unit 30.

キュー状態情報送信部222は、キュー状態監視部221においてキュー状態が共有情報管理手段30のキュー状態情報通知閾値321に示される閾値以上に変化したとき、このデータ蓄積手段20におけるキュー状態情報を各フィルタ処理手段10へ送信する。このときのキュー状態情報には、自身のデータ蓄積手段20の識別情報が付される。また、キュー状態情報の送信は、例えば、各フィルタ処理手段10への同報送信等により行われる。   When the queue state monitoring unit 221 changes the queue state to a threshold value indicated by the queue state information notification threshold 321 of the shared information management unit 30, the queue state information transmission unit 222 changes the queue state information in the data storage unit 20 to each queue state information. It transmits to the filter processing means 10. At this time, identification information of the data storage means 20 is attached to the queue state information. Further, the transmission of the queue state information is performed by, for example, broadcast transmission to each filter processing means 10 or the like.

このようにすることで、データ蓄積手段20は、自身のキュー状態に変化があったとき、自身のキュー状態をいち早く各フィルタ処理手段10へ通知することができる。なお、キュー状態情報通知閾値321は、このデータ蓄積手段20が共有情報管理手段30からコピーして記憶部24に記憶しておき、キュー状態監視部221は、この記憶部24に記憶されたキュー状態情報通知閾値321を参照して、キュー状態の監視を行うようにしてもよい。   In this way, the data storage unit 20 can quickly notify each filter processing unit 10 of its own queue state when its own queue state has changed. Note that the queue status information notification threshold 321 is copied from the shared information management unit 30 by the data storage unit 20 and stored in the storage unit 24, and the queue state monitoring unit 221 stores the queue status information stored in the storage unit 24. The queue state may be monitored with reference to the state information notification threshold value 321.

<フィルタ処理手段>
次に、図1に戻ってフィルタ処理手段10を詳細に説明する。フィルタ処理手段10は、図1に示すように、ストリームデータの入力を受け付ける入力部11と、ストリームデータをデータ蓄積手段20から取得し、フィルタ処理を行う処理部12と、フィルタ処理を行ったデータを出力する出力部13と、このフィルタ処理手段10の機能を実現するためのプログラムや、各データ蓄積手段20のキュー状態を示したキュー状態テーブル141を記憶する記憶部14とを含んで構成される。この入力部11および出力部13も、データ蓄積手段20や出力先60との間でデータ入出力可能な入出力インタフェースにより実現され、記憶部14は、RAM、HDD等により実現される。また、処理部12は、CPUによる記憶部14に記憶されるプログラムの実行処理、専用回路等により実現される。
<Filter processing means>
Next, returning to FIG. 1, the filter processing means 10 will be described in detail. As shown in FIG. 1, the filter processing unit 10 includes an input unit 11 that receives input of stream data, a processing unit 12 that acquires stream data from the data storage unit 20 and performs filter processing, and data that has undergone filter processing. Output unit 13 and a storage unit 14 for storing a program for realizing the function of the filter processing unit 10 and a queue state table 141 indicating the queue state of each data storage unit 20. The The input unit 11 and the output unit 13 are also realized by an input / output interface capable of inputting / outputting data to / from the data storage unit 20 and the output destination 60, and the storage unit 14 is realized by a RAM, an HDD, or the like. The processing unit 12 is realized by an execution process of a program stored in the storage unit 14 by the CPU, a dedicated circuit, and the like.

この処理部12は、選択処理部121と、データ取得処理部122と、フィルタ実行制御部123と、フィルタ処理部124(124A〜124N)とを含んで構成される。   The processing unit 12 includes a selection processing unit 121, a data acquisition processing unit 122, a filter execution control unit 123, and filter processing units 124 (124A to 124N).

選択処理部121は、データ蓄積手段20から送信されてきた、このデータ蓄積手段20のキュー状態情報(入力スループット、出力スループット、CPUコスト(フィルタコスト)等を示した情報)を入力部11経由で受信し、この情報をキュー状態テーブル141(詳細は後記)に反映する。そして、選択処理部121は、このキュー状態テーブル141に記された各データ蓄積手段20におけるキュー状態情報をもとに、ストリームデータの取得元となるデータ蓄積手段20を選択(決定)する。このときのデータ蓄積手段20の選択処理の詳細は、具体例を用いて後記するが、例えば、入力スループットの値の大きいデータ蓄積手段20ほど高確率で(優先的に)選択するようにする。   The selection processing unit 121 receives the queue status information (information indicating input throughput, output throughput, CPU cost (filter cost), etc.) transmitted from the data storage unit 20 via the input unit 11. This information is received and reflected in the queue status table 141 (details will be described later). Then, the selection processing unit 121 selects (determines) the data storage unit 20 that is the stream data acquisition source based on the queue state information in each data storage unit 20 described in the queue state table 141. Details of the selection process of the data storage unit 20 at this time will be described later using a specific example. For example, the data storage unit 20 having a larger input throughput value is selected with higher probability (priority).

データ取得処理部122は、選択処理部121により選択されたデータ蓄積手段20からストリームデータを入力部11経由で受信する。なお、ストリームデータを取得するタイミングは、例えば、自身のフィルタ処理手段10において処理しているデータがなくなったときでもよいし、処理中のデータが所定の閾値以下となったときでもよい。   The data acquisition processing unit 122 receives stream data from the data storage unit 20 selected by the selection processing unit 121 via the input unit 11. Note that the timing of acquiring the stream data may be, for example, when there is no data processed in its own filter processing means 10 or when the data being processed falls below a predetermined threshold.

フィルタ実行制御部123は、データ取得処理部122から取得したストリームデータに付されたSIDと、共有情報管理手段30のSIDテーブル322(詳細は後記)とを参照して、このストリームデータに対し実行すべきフィルタ処理(フィルタオペレーションの適用手順)を決定する。そして、フィルタ実行制御部123は、記憶部14からフィルタオペレーション(FOP)を読み出し、FOPにより記述されるフィルタ処理をフィルタ処理部124に実行させる。   The filter execution control unit 123 refers to the SID attached to the stream data acquired from the data acquisition processing unit 122 and the SID table 322 (details will be described later) of the shared information management unit 30, and executes this stream data. Determine the filter processing (application procedure of filter operation) to be performed. Then, the filter execution control unit 123 reads the filter operation (FOP) from the storage unit 14 and causes the filter processing unit 124 to execute the filter process described by the FOP.

なお、このフィルタ実行制御部123は、このストリームデータに対し実行すべきフィルタ処理機能が自身のフィルタ処理手段10にないとき、共有情報管理手段30から、このフィルタ処理機能を実現するためのファイルデータ(フィルタオペレーションを含む)をダウンロードし、機能追加を行う。この実行制御部123の詳細は、図4を用いて後記する。   The filter execution control unit 123 receives the file data for realizing the filter processing function from the shared information management unit 30 when the filter processing unit 10 does not have the filter processing function to be executed on the stream data. Download (including filter operation) and add functions. Details of the execution control unit 123 will be described later with reference to FIG.

フィルタ処理部124は、フィルタ実行制御部123からの指示に基づき、ストリームデータに対しフィルタ処理を実行する。このフィルタ処理部124におけるフィルタ処理の内容はフィルタオペレーション(FOP)により記述され、フィルタ処理部124は、このFOPに基づきフィルタ処理を実行する。このFOPは例えば「画像フォーマットをJPEGから、Bitmapフォーマットに変換する」というものや、「画像サイズを特徴抽出ルーチンに合うように正規化する」というもの等である。また、このFOPは、「処理後のデータを出力先60Aに出力する」等、処理後のデータの出力先に関する情報を含んでいてもよい。このFOPは、記憶部14に記憶され、フィルタ実行制御部123により読み出される。   Based on an instruction from the filter execution control unit 123, the filter processing unit 124 performs filter processing on the stream data. The content of the filter processing in the filter processing unit 124 is described by a filter operation (FOP), and the filter processing unit 124 executes the filter processing based on this FOP. This FOP is, for example, “Convert image format from JPEG to Bitmap format” or “Normalize image size to fit feature extraction routine”. Further, this FOP may include information regarding the output destination of the processed data such as “output the processed data to the output destination 60A”. This FOP is stored in the storage unit 14 and read by the filter execution control unit 123.

記憶部14は、前記したFOPを含み、このフィルタ処理手段10の機能を実現するプログラム(図示省略)と、キュー状態テーブル141とを記憶する。このキュー状態テーブル141は、各データ蓄積手段20ごとのキュー状態を示した情報である。以下の表1に、キュー状態テーブル141を例示する。   The storage unit 14 stores the above-described FOP, a program (not shown) that realizes the function of the filter processing unit 10, and a queue state table 141. The queue status table 141 is information indicating the queue status for each data storage unit 20. Table 1 below illustrates the queue state table 141.

Figure 2008083808
Figure 2008083808

例えば、表1に例示したキュー状態テーブル141において、ID「1」のデータ蓄積手段20の入力スループットは「10」であり、出力スループットは「10」であり、CPUコストは「2」であることを示す。   For example, in the queue status table 141 illustrated in Table 1, the input throughput of the data storage unit 20 with ID “1” is “10”, the output throughput is “10”, and the CPU cost is “2”. Indicates.

なお、入力スループットとは、データ蓄積手段20へ入力されるデータの単位時間当たりの入力量である。また、出力スループットとは、データ蓄積手段20に蓄えられたデータがフィルタ処理手段10へ出力されるときに単位時間当たりの出力量である。なお、入力量および出力量は、例えば、データベースでいうところのタプル(レコード)の数で定量化することができる。   The input throughput is an input amount per unit time of data input to the data storage unit 20. The output throughput is an output amount per unit time when the data stored in the data storage unit 20 is output to the filter processing unit 10. The input amount and the output amount can be quantified by the number of tuples (records) in the database.

さらに、CPUコストは、例えば、この1タプルあたりのフィルタ処理時間により定義される。フィルタ処理時間は、データ蓄積手段20がフィルタ処理手段10へデータを渡した後に、そのデータが処理されるまでの時間とする。つまり、データ蓄積手段20は、フィルタ処理手段10へデータを渡したとき、その時間を記録しておく。そして、フィルタ処理手段10は、当該データのフィルタ処理を完了したとき、その旨の通知をデータ蓄積手段20へ送信するので、この通知を受信するまでの時間によりデータ蓄積手段20は、当該データのフィルタ処理時間を計測する。そして、データ蓄積手段20は、この計測したフィルタ処理時間が大きいほど、CPUコストが大きいと判断する。   Furthermore, the CPU cost is defined by, for example, the filter processing time per tuple. The filter processing time is a time from when the data storage unit 20 passes the data to the filter processing unit 10 until the data is processed. That is, the data storage unit 20 records the time when the data is passed to the filter processing unit 10. When the filter processing unit 10 completes the filtering process of the data, the filter processing unit 10 transmits a notification to that effect to the data storage unit 20. Measure the filter processing time. The data storage unit 20 determines that the CPU cost increases as the measured filter processing time increases.

ここで、前記したキュー状態テーブル141を参照した、選択処理部121によるデータ蓄積手段20の選択処理を、図3を用いて説明する。図3は、図1の選択処理部によるデータ蓄積手段の選択処理を説明する図である。ここでは、選択処理部121が、入力スループットの値をもとにストリームデータの取得元となるデータ蓄積手段20を選択する場合を例に説明する。   Here, the selection processing of the data storage unit 20 by the selection processing unit 121 with reference to the queue state table 141 will be described with reference to FIG. FIG. 3 is a diagram for explaining selection processing of the data storage means by the selection processing unit of FIG. Here, an example will be described in which the selection processing unit 121 selects the data storage unit 20 that is the stream data acquisition source based on the input throughput value.

(1)まず、選択処理部121は、キュー状態テーブル141における入力スループットの値の総和(10+5+5=20)を求める。
(2)次に、選択処理部121は、1〜20(入力スループットの値の総和)までの間のランダム値rを生成する。
(3)そして、選択処理部121は、前記した(2)で生成したランダム値rをもとに、データを取得するデータ蓄積手段20を選択する。例えば、(2)で生成したランダム値rが1≦r≦10を満たすものであれば、ID「1」のデータ蓄積手段20を選択し、ランダム値rが11≦r≦15を満たすものであれば、ID「2」のデータ蓄積手段20を選択し、ランダム値rが16≦r≦20を満たすものであれば、ID「3」のデータ蓄積手段20を選択する。
(1) First, the selection processing unit 121 obtains the sum (10 + 5 + 5 = 20) of input throughput values in the queue state table 141.
(2) Next, the selection processing unit 121 generates a random value r between 1 and 20 (sum of input throughput values).
(3) Then, the selection processing unit 121 selects the data storage unit 20 that acquires data based on the random value r generated in the above (2). For example, if the random value r generated in (2) satisfies 1 ≦ r ≦ 10, the data storage means 20 with ID “1” is selected, and the random value r satisfies 11 ≦ r ≦ 15. If there is, the data storage means 20 with ID “2” is selected, and if the random value r satisfies 16 ≦ r ≦ 20, the data storage means 20 with ID “3” is selected.

すなわち、データ蓄積手段20の数が3であった場合、ID「1」のデータ蓄積手段20が選択される確率は50%、ID「2」のデータ蓄積手段20が選択される確率は25%、ID「3」のデータ蓄積手段20が選択される確率は25%となる。つまり、各フィルタ処理手段10の選択処理部121は、ストリームデータを取得するデータ蓄積手段20を選択するとき、より負荷の大きいデータ蓄積手段20を高い確率で選択することができる。   That is, when the number of data storage means 20 is 3, the probability that the data storage means 20 with ID “1” is selected is 50%, and the probability that the data storage means 20 with ID “2” is selected is 25%. , The probability that the data storage means 20 with ID “3” is selected is 25%. That is, the selection processing unit 121 of each filter processing unit 10 can select the data storage unit 20 having a higher load with a high probability when selecting the data storage unit 20 that acquires the stream data.

なお、ここでは、選択処理部121は、データ蓄積手段20の入力スループットの値をもとにストリームデータを取得するデータ蓄積手段20の選択を行うこととしたが、出力スループットまたはCPUコストの値をもとにストリームデータを取得するデータ蓄積手段20の選択を行うようにしてもよい。あるいは、入力スループット、出力スループットおよびCPUコストのすべての値を考慮してデータ蓄積手段20の選択を行うようにしてもよい。つまり、データ蓄積手段20における入力スループット、出力スループットおよびCPUコストのうち少なくともいずれか1つの値に基づき、データの取得元となるデータ蓄積手段20の選択を行うようにする。   Here, the selection processing unit 121 selects the data storage unit 20 that acquires the stream data based on the input throughput value of the data storage unit 20, but the output throughput or CPU cost value is determined. The data storage means 20 that acquires the stream data may be selected. Alternatively, the data storage unit 20 may be selected in consideration of all values of input throughput, output throughput, and CPU cost. That is, the data storage means 20 that is the data acquisition source is selected based on at least one of the input throughput, output throughput, and CPU cost in the data storage means 20.

<フィルタ実行制御部>
次に、前記したフィルタ実行制御部123の詳細を、図4を用いて説明する。図4は、図1のフィルタ実行制御部の詳細を示した機能ブロック図である。
<Filter execution control unit>
Next, the details of the filter execution control unit 123 will be described with reference to FIG. FIG. 4 is a functional block diagram showing details of the filter execution control unit of FIG.

図4に示すように、フィルタ実行制御部123は、フィルタ判定部126と、フィルタ取得部127と、再起動問い合わせ部128と、再起動部129と、フィルタ処理適用部130とを含んで構成される。   As shown in FIG. 4, the filter execution control unit 123 includes a filter determination unit 126, a filter acquisition unit 127, a restart inquiry unit 128, a restart unit 129, and a filter processing application unit 130. The

フィルタ判定部126は、データ取得処理部122から出力されたストリームデータに付されたSIDおよびSIDのバージョンと、共有情報管理手段30のSIDテーブル322(詳細は後記)とを参照して、このストリームデータに対し実行すべきフィルタオペレーションを判断する。また、フィルタ判定部126は、このストリームデータに必要なフィルタ処理機能が、フィルタ処理部124にあるか否かを判断する。   The filter determination unit 126 refers to the SID and the version of the SID attached to the stream data output from the data acquisition processing unit 122 and the SID table 322 (details will be described later) of the shared information management unit 30 to refer to this stream. Determine the filter operation to be performed on the data. Further, the filter determination unit 126 determines whether or not the filter processing unit 124 has a filter processing function necessary for the stream data.

フィルタ取得部127は、フィルタ判定部126において、ストリームデータに必要なフィルタ処理機能が、フィルタ処理部124にないと判断されたとき、共有情報管理手段30からファイルデータ323を取得する。そして、このファイルデータ323をインストールすることにより、フィルタ処理手段10にフィルタ処理機能を追加する。   The filter acquisition unit 127 acquires the file data 323 from the shared information management unit 30 when the filter determination unit 126 determines that the filter processing function necessary for the stream data is not in the filter processing unit 124. Then, by installing the file data 323, a filter processing function is added to the filter processing means 10.

再起動問い合わせ部128は、フィルタ取得部127がファイルデータ323を取得した後、共有情報管理手段30に対し、自身のフィルタ処理手段10の再起動を許可するか否かを問い合わせる。   After the filter acquisition unit 127 acquires the file data 323, the restart inquiry unit 128 inquires of the shared information management unit 30 whether or not the restart of its own filter processing unit 10 is permitted.

再起動部129は、共有情報管理手段30から自身のフィルタ処理手段10の再起動を許可する旨の応答を受信したとき、自身のフィルタ処理手段10を再起動する。また、再起動部129は、再起動を完了したとき、共有情報管理手段30へ、自身のフィルタ処理手段10の再起動の完了を通知する。このようにすることで、共有情報管理手段30へ、各フィルタ処理手段10が再起動中のためフィルタ処理を停止している状態であるかが通知されることになる。   When the restart unit 129 receives a response from the shared information management unit 30 to permit the restart of the own filter processing unit 10, the restart unit 129 restarts the own filter processing unit 10. In addition, when the restart is completed, the restart unit 129 notifies the shared information management unit 30 of the completion of restart of its own filter processing unit 10. In this way, the shared information management unit 30 is notified whether each filter processing unit 10 is in a state where the filter processing is stopped because it is being restarted.

フィルタ処理適用部130は、ストリームデータに付されたSIDおよびSIDのバージョンと、共有情報管理手段30のSIDテーブル322(詳細は後記)とを参照して、このストリームデータに対し実行すべきフィルタオペレーションを適用する。すなわち、SIDテーブル322に示されるスキーマ情報と、FOP(フィルタオペレーション)系列とを参照して、このストリームデータに対し、どのような手順でフィルタ処理を実行すればよいかを判断する。そして、フィルタ処理部124に、この判断した手順でフィルタ処理を実行させる。   The filter processing application unit 130 refers to the SID and the version of the SID attached to the stream data, and the SID table 322 (details will be described later) of the shared information management unit 30 to perform a filter operation to be performed on the stream data. Apply. That is, with reference to the schema information shown in the SID table 322 and the FOP (filter operation) sequence, it is determined in what procedure the filtering process should be executed on this stream data. Then, the filter processing unit 124 is caused to execute the filter process according to the determined procedure.

なお、共有情報管理手段30からファイルデータ323を取得するタイミングは、フィルタ処理手段10において、ストリームデータに必要なフィルタ処理機能がないことを検知したときでもよいし、所定期間ごとであってもよい。   Note that the timing for acquiring the file data 323 from the shared information management unit 30 may be when the filter processing unit 10 detects that there is no filter processing function necessary for the stream data, or may be every predetermined period. .

<共有情報管理手段>
次に、図5を用いて、共有情報管理手段30を詳細に説明する。図5は、図1の共有情報管理手段の機能ブロック図である(適宜、図1および図2参照)。
<Shared information management means>
Next, the shared information management unit 30 will be described in detail with reference to FIG. FIG. 5 is a functional block diagram of the shared information management means of FIG. 1 (see FIGS. 1 and 2 as appropriate).

図5に示すように、共有情報管理手段30は、各種データの入力を司る入力部31と、フィルタ処理手段10(図1参照)により参照される各種データや共有情報管理手段30の機能を実現するプログラムを記憶する記憶部32と、各種データの出力を司る出力部33と、この共有情報管理手段30全体の制御を司る処理部34とを含んで構成される。この入力部31および出力部33は、データ蓄積手段20やフィルタ処理手段10等との間でデータ入出力可能な入出力インタフェースにより実現され、記憶部32は、RAM、HDD等により実現される。また、処理部34は、CPUによるプログラム実行処理や、専用回路等により実現される。なお、図5において、前記したプログラムの図示は省略している。   As shown in FIG. 5, the shared information management unit 30 realizes the functions of the input unit 31 that controls the input of various data and the various data and shared information management unit 30 that are referred to by the filter processing unit 10 (see FIG. 1). A storage unit 32 that stores a program to be executed, an output unit 33 that controls the output of various data, and a processing unit 34 that controls the entire shared information management unit 30. The input unit 31 and the output unit 33 are realized by an input / output interface capable of inputting / outputting data to / from the data storage unit 20, the filter processing unit 10, and the like, and the storage unit 32 is realized by a RAM, an HDD, or the like. The processing unit 34 is realized by a program execution process by a CPU, a dedicated circuit, or the like. In FIG. 5, the program is not shown.

記憶部32は、共有情報管理手段30の機能を実現するプログラム(図示省略)と、キュー状態情報通知閾値321と、テーブル322と、ファイルデータ323と、再起動情報324とを記憶する。   The storage unit 32 stores a program (not shown) that realizes the function of the shared information management unit 30, a queue state information notification threshold value 321, a table 322, file data 323, and restart information 324.

キュー状態情報通知閾値321は、データ蓄積手段20のキュー状態監視部221が、キュー状態情報を送信するか否かを判断するための閾値である。このキュー状態情報通知閾値321は、例えば、入力スループット、出力スループット、CPUコスト等の少なくともいずれか1つの値が、全体の2割変化した場合(つまり、増加あるいは減少)した場合等の条件を設定する。   The queue status information notification threshold 321 is a threshold for the queue status monitoring unit 221 of the data storage unit 20 to determine whether or not to transmit queue status information. This queue state information notification threshold value 321 is set with conditions such as when at least one of input throughput, output throughput, CPU cost, etc. has changed by 20% of the whole (that is, increased or decreased). To do.

SIDテーブル322は、SIDごとに、そのSIDが付されたストリームデータに対し行うべきフィルタ処理の内容を示したテーブルである。このSIDテーブル322を以下の表2に例示する。   The SID table 322 is a table showing the content of the filter processing to be performed on the stream data to which the SID is attached for each SID. The SID table 322 is illustrated in Table 2 below.

Figure 2008083808
Figure 2008083808

表2に例示するSIDテーブル322は、SIDと、そのSIDのバージョンと、ストリームデータのスキーマ情報と、そのSIDおよびバージョンを持つストリームデータに対し適用すべきフィルタオペレーション(FOP)系列(適用すべきFOPの識別情報およびフィルタオペレーションの適用手順)とが示される。   The SID table 322 illustrated in Table 2 includes a SID, a version of the SID, schema information of the stream data, and a filter operation (FOP) sequence to be applied to the stream data having the SID and the version (the FOP to be applied). Identification information and filter operation application procedure).

例えば、表2に例示するSIDテーブル322において、SID「10」、SIDのバージョン「1.0」のストリームデータのスキーマ情報は「NAME char(10)、TEL char(10)、ADDRESS char(100)、AGE int」であり、このストリームデータに対して「FOP102,FOP103,FOP104」というフィルタ処理を、「FOP102→FOP103→FOP104」という順番で適用すべきであることを示す。なお、スキーマ情報における括弧内の値は、フィルタ処理部124におうてフィルタ処理を行うときのウィンドウサイズである。例えば、フィルタ処理部124が、データのうち「NAME」に関するフィルタ処理を行うときには、10個のデータ(レコード)が必要であることを示す。   For example, in the SID table 322 illustrated in Table 2, the schema information of the stream data of the SID “10” and the SID version “1.0” is “NAME char (10), TEL char (10), ADDRESS char (100)”. AGE int ”, and indicates that the filter processing“ FOP102, FOP103, FOP104 ”should be applied to this stream data in the order“ FOP102 → FOP103 → FOP104 ”. The value in parentheses in the schema information is the window size when the filter processing unit 124 performs the filter processing. For example, when the filter processing unit 124 performs a filter process on “NAME” in the data, it indicates that 10 data (records) are necessary.

このSIDテーブル322は、フィルタ処理手段10のフィルタ実行制御部123がストリームデータに対し実行すべきフィルタ処理の内容を判断する際に参照される。なお、このSIDテーブル322の情報は、入力部31経由で書き換え可能である。   The SID table 322 is referred to when the filter execution control unit 123 of the filter processing unit 10 determines the content of the filter process to be executed on the stream data. The information in the SID table 322 can be rewritten via the input unit 31.

ファイルデータ323は、フィルタ処理手段10のフィルタ処理部124の機能を実現するファイルデータである。このファイルデータは、例えば、ストリームデータ管理システム1で用いられる最新バージョンのファイルデータであり、前記したFOPを含むものである。このファイルデータ323は、フィルタ処理手段10からの要求に基づき、フィルタ送信部341により、この要求の送信元のフィルタ処理手段10へ送信される。   The file data 323 is file data that realizes the function of the filter processing unit 124 of the filter processing means 10. This file data is, for example, the latest version of file data used in the stream data management system 1 and includes the above-described FOP. The file data 323 is transmitted to the filter processing unit 10 that is the transmission source of the request by the filter transmission unit 341 based on the request from the filter processing unit 10.

再起動情報324は、ストリームデータ管理システム1において再起動を許可するフィルタ処理手段10の数を示した情報である。例えば、ストリームデータ管理システム1全体において、再起動によりフィルタ処理を停止してもよいフィルタ処理手段10の数が「10」の場合、初期値として、この再起動情報324に「10」を設定しておく。この再起動情報324は、再起動判定処理部342(後記)により参照され、再起動情報更新部343(後記)により書き換えられる。   The restart information 324 is information indicating the number of filter processing units 10 that are permitted to restart in the stream data management system 1. For example, in the entire stream data management system 1, when the number of filter processing means 10 that may stop the filter processing by restart is “10”, “10” is set in the restart information 324 as an initial value. Keep it. The restart information 324 is referred to by the restart determination processing unit 342 (described later) and rewritten by the restart information updating unit 343 (described later).

なお、この記憶部32に記憶される情報は、入力部31経由で入力される。   Information stored in the storage unit 32 is input via the input unit 31.

次に、処理部34を説明する。処理部34は、フィルタ送信部341と、再起動判定処理部342と、再起動情報更新部343とを含んで構成される。   Next, the processing unit 34 will be described. The processing unit 34 includes a filter transmission unit 341, a restart determination processing unit 342, and a restart information update unit 343.

フィルタ送信部(ファイルデータ送信部)341は、フィルタ処理手段10のフィルタ取得部127(図4参照)からファイルデータの取得要求を受信すると、これに応じて、出力部33経由で、ファイルデータ323を送信する。   Upon receiving a file data acquisition request from the filter acquisition unit 127 (see FIG. 4) of the filter processing unit 10, the filter transmission unit (file data transmission unit) 341 receives the file data 323 via the output unit 33 accordingly. Send.

再起動判定処理部342は、フィルタ処理手段10の再起動問い合わせ部128(図4参照)から、このフィルタ処理手段10の再起動を許可するか否かの問い合わせを受信すると、再起動情報324を参照して、このフィルタ処理手段10の再起動を許可するか否かを判断する。例えば、再起動判定処理部342は、このフィルタ処理手段10の再起動を許可するか否かの問い合わせを受信した場合において、再起動情報324における再起動を許可するフィルタ処理手段10の数が正であるとき、フィルタ処理手段10へ、このフィルタ処理手段10の再起動を許可する旨の応答を送信する。一方、再起動判定処理部342は、再起動情報324における再起動を許可するフィルタ処理装置の数が0以下であるとき、フィルタ処理手段10へ、このフィルタ処理手段10の再起動を許可しない旨の応答を送信する。   When the restart determination processing unit 342 receives an inquiry from the restart inquiry unit 128 (see FIG. 4) of the filter processing unit 10 as to whether or not the restart of the filter processing unit 10 is permitted, the restart determination unit 342 displays the restart information 324. With reference to this, it is determined whether or not the restart of the filter processing means 10 is permitted. For example, when the restart determination processing unit 342 receives an inquiry as to whether or not to permit restart of the filter processing unit 10, the number of filter processing units 10 that permit restart in the restart information 324 is correct. If so, a response is sent to the filter processing means 10 to permit the restart of the filter processing means 10. On the other hand, when the number of filter processing devices permitted to restart in the restart information 324 is 0 or less, the restart determination processing unit 342 does not permit the filter processing unit 10 to restart the filter processing unit 10. Send the response.

再起動情報更新部343は、再起動判定処理部342が、フィルタ処理手段10へ、このフィルタ処理手段10の再起動を許可する旨の応答を送信したとき、再起動情報324において、再起動を許可するフィルタ処理装置の数を1減らす。また、フィルタ処理手段10の再起動部129(図4参照)から、再起動完了通知を受信したとき、再起動を許可するフィルタ処理装置の数を1増やす。   When the restart determination processing unit 342 transmits a response indicating that the restart of the filter processing unit 10 is permitted to the filter processing unit 10, the restart information update unit 343 performs restart in the restart information 324. Reduce the number of allowed filter processing devices by one. Further, when a restart completion notification is received from the restart unit 129 (see FIG. 4) of the filter processing unit 10, the number of filter processing devices that are permitted to restart is increased by one.

このようにすることで、共有情報管理手段30は、ストリームデータ管理システム1において、再起動中のためフィルタ処理を停止しているフィルタ処理手段10の数を所定数以下に保つことができる。   By doing in this way, the shared information management means 30 can keep the number of the filter processing means 10 that has stopped the filter processing due to the restart in the stream data management system 1 below a predetermined number.

なお、この共有情報管理手段30は、ファイルデータ323が最新のものに更新されたとき、そのファイルデータ323により提供されるFOPに関連するSIDを、各フィルタ処理手段10に公開するようにしてもよい。このようにすることで、各フィルタ処理手段10は、自身が備えるフィルタ処理機能にアップデートが必要なことをすぐに知ることができる。   The shared information management unit 30 may disclose the SID associated with the FOP provided by the file data 323 to each filter processing unit 10 when the file data 323 is updated to the latest one. Good. By doing in this way, each filter processing means 10 can immediately know that the filter processing function provided therein needs to be updated.

<動作手順>
次に、ストリームデータ管理システム1の動作を説明する。まず、図6を用いて、ストリームデータがデータ蓄積手段20に蓄積されるまでの手順を説明する。図6は、ストリームデータが図1のデータ蓄積手段に蓄積されるまでの手順を示したフローチャートである。
<Operation procedure>
Next, the operation of the stream data management system 1 will be described. First, a procedure until stream data is stored in the data storage unit 20 will be described with reference to FIG. FIG. 6 is a flowchart showing a procedure until stream data is stored in the data storage means of FIG.

まず、クライアント50は、キュー割当手段40へこのクライアント50からのストリームデータの蓄積先となるデータ蓄積手段20の指定依頼を送信する(S601)。これを受信したキュー割当手段40は、データ蓄積手段20の選択を行い、この選択したデータ蓄積手段20として指定する(S602)。なお、ここでのデータ蓄積手段20の選択は、例えば、ストリームデータ管理システム1におけるすべてのデータ蓄積手段20のうち、最もキューが短いデータ蓄積手段20を選択するようにする。このようにすることで、各データ蓄積手段20において偏りが少ない状態でキューが形成されることになる。   First, the client 50 transmits a request for specifying the data storage means 20 that is the storage destination of the stream data from the client 50 to the queue assignment means 40 (S601). Upon receiving this, the queue allocation unit 40 selects the data storage unit 20 and designates it as the selected data storage unit 20 (S602). Here, the data storage means 20 is selected, for example, by selecting the data storage means 20 having the shortest queue among all the data storage means 20 in the stream data management system 1. By doing so, queues are formed in each data storage means 20 with little bias.

次に、クライアント50は、データ蓄積手段20の指定を受信すると、指定されたデータ蓄積手段20へデータ(ストリームデータ)を送信する(S603)。ここで送信するデータは、SIDを含むものである。   Next, when receiving the designation of the data storage unit 20, the client 50 transmits data (stream data) to the designated data storage unit 20 (S603). The data transmitted here includes the SID.

そして、データ蓄積手段20は、クライアント50からデータを受信すると、このデータを、記憶部24(図2参照)に蓄積する(S604)。このようにして、データ蓄積手段20にデータが蓄積される。   Then, when receiving data from the client 50, the data storage means 20 stores this data in the storage unit 24 (see FIG. 2) (S604). In this way, data is stored in the data storage unit 20.

次に、図7を用いて、キュー状態テーブル141(図1参照)の更新手順を説明する。図7は、図1のキュー状態テーブルの更新手順を示したフローチャートである。   Next, a procedure for updating the queue state table 141 (see FIG. 1) will be described with reference to FIG. FIG. 7 is a flowchart showing a procedure for updating the queue state table of FIG.

データ蓄積手段20は、クライアント50から送信されるデータを蓄積し(S701)、キュー状態監視部221(図2参照)は、このデータ蓄積手段20におけるキュー状態を監視する(S702)。キュー状態監視部221は、共有情報管理手段30のキュー状態情報通知閾値321に示される閾値以上に、キュー状態の変化があるか否か判断する(S703)。   The data storage unit 20 stores data transmitted from the client 50 (S701), and the queue state monitoring unit 221 (see FIG. 2) monitors the queue state in the data storage unit 20 (S702). The queue state monitoring unit 221 determines whether or not there is a change in the queue state beyond the threshold indicated by the queue state information notification threshold 321 of the shared information management unit 30 (S703).

ここで、キュー状態監視部221は、共有情報管理手段30のキュー状態情報通知閾値321に示される閾値以上に、キュー状態の変化があると判断したとき(S703のYes)、キュー状態情報送信部222は、このデータ蓄積手段20におけるキュー状態情報を各フィルタ処理手段10へ送信する(S704)。   Here, when the queue state monitoring unit 221 determines that there is a change in the queue state beyond the threshold indicated by the queue state information notification threshold 321 of the shared information management unit 30 (Yes in S703), the queue state information transmission unit 222 transmits the queue status information in the data storage means 20 to each filter processing means 10 (S704).

フィルタ処理手段10の選択処理部121は、各データ蓄積手段20からキュー状態情報を受信すると、この情報をキュー状態テーブル141に記憶する。つまり、キュー状態テーブル141の更新を行う(S705)。   When the selection processing unit 121 of the filter processing unit 10 receives queue state information from each data storage unit 20, the selection processing unit 121 stores this information in the queue state table 141. That is, the queue state table 141 is updated (S705).

次に、図8および図9を用いて、フィルタ処理手段10のフィルタ処理手順を説明する。図8および図9は、図1のフィルタ処理手段のフィルタ処理手順を示したフローチャートである(適宜、図1および図4参照)。   Next, the filter processing procedure of the filter processing means 10 will be described with reference to FIGS. 8 and 9 are flowcharts showing the filter processing procedure of the filter processing means of FIG. 1 (see FIGS. 1 and 4 as appropriate).

まず、フィルタ処理手段10において処理すべきデータがないことを検知すると(S801のYes)、選択処理部121は、キュー状態テーブル141を参照して、次にデータを取得するデータ蓄積手段20を選択する(S802)。このときの選択手順の詳細については、図10を用いて後記する。そして、データ取得処理部122は、この選択したデータ蓄積手段20からデータを取得する(S803)。   First, when it is detected that there is no data to be processed in the filter processing means 10 (Yes in S801), the selection processing unit 121 refers to the queue state table 141 and selects the data storage means 20 that acquires data next. (S802). Details of the selection procedure at this time will be described later with reference to FIG. Then, the data acquisition processing unit 122 acquires data from the selected data storage unit 20 (S803).

次に、フィルタ判定部126(図4参照)は、このデータに付されたSIDの情報(SIDおよびそのバージョン)と、SIDテーブル322とを参照して、このストリームデータに対し必要なフィルタ処理機能を判断する(S804)。そして、このストリームデータに対し必要なフィルタ処理機能が自身のフィルタ処理手段10にあるか否かを判断する(S805)。ここで、必要なフィルタ処理機能が自身のフィルタ処理手段10にないとき(S805のNo)、フィルタ取得部127は、共有情報管理手段30から、必要なフィルタ処理機能を取得する(S806)。すなわち、フィルタ取得部127は、共有情報管理手段30から、ファイルデータ323を取得し、このファイルデータ323により、フィルタ処理部124にフィルタ処理機能を追加する。   Next, the filter determination unit 126 (see FIG. 4) refers to the SID information (SID and its version) attached to this data and the SID table 322, and performs a filtering function necessary for this stream data. Is determined (S804). Then, it is determined whether or not the filter processing function necessary for the stream data is present in its own filter processing means 10 (S805). Here, when the necessary filter processing function does not exist in its own filter processing means 10 (No in S805), the filter acquisition unit 127 acquires the necessary filter processing function from the shared information management means 30 (S806). That is, the filter acquisition unit 127 acquires the file data 323 from the shared information management unit 30 and adds a filter processing function to the filter processing unit 124 using the file data 323.

一方、必要なフィルタ処理機能が自身のフィルタ処理手段10にあるとき(S805のYes)、図9のS901へ進み、再起動問い合わせ部128は共有情報管理手段30に対し、自身のフィルタ処理手段10の再起動を許可するか否かを問い合わせる(S901)。つまり、自身のフィルタ処理手段10の再起動を許可するか否かを問い合わせるメッセージを送信する。   On the other hand, when the necessary filter processing function is present in the own filter processing means 10 (Yes in S805), the process proceeds to S901 in FIG. 9, and the restart inquiry unit 128 instructs the shared information management means 30 to the own filter processing means 10. An inquiry is made as to whether or not to permit restart of the system (S901). That is, a message for inquiring whether or not to permit restarting of its own filter processing means 10 is transmitted.

そして、フィルタ処理手段10の再起動問い合わせ部128は、共有情報管理手段30からの再起動を許可するか否かの問い合わせの応答を待つ。ここで、共有情報管理手段30から自身のフィルタ処理手段10の再起動を許可する旨の応答を受信したとき(S902のYes)、再起動部129は、自身のフィルタ処理手段10を再起動する(S903)。そして、再起動部129は、再起動を完了すると、再起動完了の通知を共有情報管理手段30へ送信する(S904)。次に、フィルタ実行制御部123は、S806で取得したフィルタ処理機能により、フィルタ処理を実行する(S905)。すなわち、フィルタ実行制御部123は、SIDテーブル322に従い、このストリームデータに対するフィルタ処理の内容を判断し、このフィルタ処理を実行するための所定のFOPを記憶部14から読み出す。そして、フィルタ実行制御部123は、このFOPに基づきフィルタ処理部124に所定の順序でフィルタ処理を実行させ、フィルタ処理後のデータを所定の出力先60へ出力させる。そして、図8のS801へ戻る。   Then, the restart inquiry unit 128 of the filter processing unit 10 waits for a response from the shared information management unit 30 as to whether or not to permit restart. Here, when the response indicating that the restart of the own filter processing unit 10 is permitted from the shared information management unit 30 (Yes in S902), the restart unit 129 restarts the own filter processing unit 10. (S903). Then, when the restart is completed, the restart unit 129 transmits a notification of restart completion to the shared information management unit 30 (S904). Next, the filter execution control unit 123 executes the filter process using the filter processing function acquired in S806 (S905). That is, the filter execution control unit 123 determines the content of the filter process for this stream data according to the SID table 322, and reads a predetermined FOP for executing this filter process from the storage unit 14. Then, the filter execution control unit 123 causes the filter processing unit 124 to execute the filter processing in a predetermined order based on this FOP, and outputs the data after the filter processing to a predetermined output destination 60. Then, the process returns to S801 in FIG.

なお、図9のS902において、フィルタ処理手段10の再起動問い合わせ部128が、共有情報管理手段30から、自身のフィルタ処理手段10の再起動を許可しない通知を受信したとき、あるいは、自身のフィルタ処理手段10の再起動を許可する旨の応答を受信できなかったとき(S902のNo)、所定時間経過後(S906のYes)、S901へ戻る。そして、フィルタ処理手段10再起動問い合わせ部128は共有情報管理手段30に対し、自身のフィルタ処理手段10の再起動を許可するか否かを問い合わせる。このようにすることで、他のフィルタ処理手段10が再起動中のため、自身のフィルタ処理手段10が再起動できなかった場合でも、時間をずらして、再起動することができる。   In S902 of FIG. 9, when the restart inquiry unit 128 of the filter processing unit 10 receives a notification from the shared information management unit 30 that does not permit the restart of its own filter processing unit 10, or its own filter When a response to permit the restart of the processing means 10 has not been received (No in S902), after a predetermined time has elapsed (Yes in S906), the process returns to S901. Then, the filter processing unit 10 restart inquiry unit 128 inquires of the shared information management unit 30 whether or not the restart of the filter processing unit 10 is permitted. By doing in this way, since the other filter processing means 10 is being restarted, even if its own filter processing means 10 cannot be restarted, it can be restarted with a time shift.

次に、図10を用いて、選択処理部121が、次にデータを取得するデータ蓄積手段20を選択する手順(図8のS802)を詳細に説明する。図10は、図1の選択処理部が、次にデータを取得するデータ蓄積手段を選択する手順を示したフローチャートである(適宜図1参照)。   Next, a procedure (S802 in FIG. 8) in which the selection processing unit 121 selects the data storage unit 20 to acquire data next will be described in detail with reference to FIG. FIG. 10 is a flowchart showing a procedure for selecting the data storage means for acquiring data next by the selection processing unit of FIG. 1 (see FIG. 1 as appropriate).

まず、フィルタ処理手段10において処理すべきデータがないことを検知すると、選択処理部121は、キュー状態テーブル141を参照して、すべてのデータ蓄積手段20における負荷(処理負荷)の和を算出する(S1001)。例えば、すべてのデータ蓄積手段20における入力スループットの値の総和を求める。   First, when the filter processing unit 10 detects that there is no data to be processed, the selection processing unit 121 refers to the queue state table 141 and calculates the sum of loads (processing loads) in all the data storage units 20. (S1001). For example, the sum of input throughput values in all data storage means 20 is obtained.

選択処理部121は、1〜負荷の和(S1001で算出した負荷の和)の値の間で、ランダム値rを生成する(S1002)。このときのランダム値rの生成は、公知の技術を用いてよい。   The selection processing unit 121 generates a random value r between the values of 1 to the sum of loads (the sum of loads calculated in S1001) (S1002). The generation of the random value r at this time may use a known technique.

そして、選択処理部121は、S[1](1番目のデータ蓄積手段20における負荷)からS[j](j番目のデータ蓄積手段20における負荷)までの和≦r≦S[1](1番目のデータ蓄積手段20における負荷)からS[j+1](j+1番目のデータ蓄積手段20における負荷)までの和を満たすjを決定し、出力する(S1003)。つまり、選択処理部121は、次にデータを取得するデータ蓄積手段20を決定する。なお、ストリームデータ管理システム1における、データ蓄積手段20の数がNであるとき、jは、1≦j≦Nを満たす値である。   The selection processing unit 121 then sums S [1] (the load in the first data storage unit 20) to S [j] (the load in the jth data storage unit 20) ≦ r ≦ S [1] ( J that satisfies the sum from the load in the first data storage unit 20) to S [j + 1] (the load in the j + 1th data storage unit 20) is determined and output (S1003). That is, the selection processing unit 121 determines the data storage unit 20 that acquires data next. When the number of data storage means 20 in the stream data management system 1 is N, j is a value that satisfies 1 ≦ j ≦ N.

このようにすることで、各フィルタ処理手段10は、ストリームデータを取得するデータ蓄積手段20を選択するとき、より負荷の大きいデータ蓄積手段20を高い確率で選択することができる。   By doing in this way, each filter processing means 10 can select the data storage means 20 with larger load when selecting the data storage means 20 for acquiring the stream data.

次に、図11を用いて、フィルタ処理手段10から、再起動を許可するか否かの問い合わせを受信した共有情報管理手段30の動作手順を説明する。図11は、図1のフィルタ処理手段から、再起動を許可するか否かの問い合わせを受信した共有情報管理手段の動作手順を示したフローチャートである(適宜、図5参照)。   Next, an operation procedure of the shared information management unit 30 that has received an inquiry from the filter processing unit 10 as to whether or not to permit restart will be described with reference to FIG. FIG. 11 is a flowchart showing an operation procedure of the shared information management unit that has received an inquiry as to whether or not to permit restart from the filter processing unit of FIG. 1 (see FIG. 5 as appropriate).

まず、共有情報管理手段30の再起動判定処理部342(図5参照)は、フィルタ処理手段10から再起動を許可するか否かの問い合わせを受信すると(S1101のYes)、再起動情報324を参照する(S1102)。   First, when the restart determination processing unit 342 (see FIG. 5) of the shared information management unit 30 receives an inquiry from the filter processing unit 10 as to whether or not to allow restart (Yes in S1101), the restart information 324 is stored. Reference is made (S1102).

そして、再起動判定処理部342は、この再起動情報324において再起動を許可するフィルタ処理手段10の数が正か否かを判断する(S1103)。   Then, the restart determination processing unit 342 determines whether or not the number of the filter processing means 10 permitting restart in the restart information 324 is positive (S1103).

ここで、この再起動情報324において再起動を許可するフィルタ処理手段10の数が正であるとき(S1103のYes)、再起動判定処理部342はフィルタ処理手段10へ、このフィルタ処理手段10の再起動を許可する旨の応答を送信する(S1104)。   Here, when the number of filter processing means 10 permitting restart in the restart information 324 is positive (Yes in S1103), the restart determination processing unit 342 sends the filter processing means 10 to the filter processing means 10. A response to permit the restart is transmitted (S1104).

そして、再起動情報更新部343は、再起動情報324において、再起動を許可するフィルタ処理装置の数を1減らす(S1105)。   Then, the restart information update unit 343 reduces the number of filter processing devices permitted to restart by 1 in the restart information 324 (S1105).

この後、共有情報管理手段30の再起動判定処理部342は、フィルタ処理手段10から再起動完了の通知を待ち、フィルタ処理手段10から再起動完了の通知を受信したとき(S1106のYes)、共有情報管理手段30の再起動情報更新部343は、再起動情報324において、再起動を許可するフィルタ処理装置の数を1増やす(S1107)。そして、S1101へ戻る。   Thereafter, the restart determination processing unit 342 of the shared information management unit 30 waits for a restart completion notification from the filter processing unit 10 and receives a restart completion notification from the filter processing unit 10 (Yes in S1106). In the restart information 324, the restart information update unit 343 of the shared information management unit 30 increases the number of filter processing devices that are permitted to restart by one (S1107). Then, the process returns to S1101.

一方、S1103において、再起動情報324の再起動を許可するフィルタ処理手段10の数が0以下であったとき(S1103のNo)、共有情報管理手段30の再起動判定処理部342はフィルタ処理手段10へ、このフィルタ処理手段10の再起動を許可しない旨の応答を送信する(S1108)。そして、S1101へ戻る。   On the other hand, in S1103, when the number of the filter processing means 10 permitting restart of the restart information 324 is 0 or less (No in S1103), the restart determination processing unit 342 of the shared information management means 30 is the filter processing means. A response to the effect that the restart of the filter processing means 10 is not permitted is transmitted to 10 (S1108). Then, the process returns to S1101.

このようにすることで、共有情報管理手段30は、ストリームデータ管理システム1において、再起動中のためフィルタ処理を停止しているフィルタ処理手段10の数を所定数以下にすることができる。   By doing in this way, the shared information management means 30 can make the number of the filter processing means 10 which have stopped the filter processing because of the restart in the stream data management system 1 not more than a predetermined number.

<実施の形態の例>
次に、前記したシステムの実施の形態の例を、具体例を用いて説明する。まず、ストリームデータ管理システム1が、映像監視を行う場合を例に説明する。
<Example of embodiment>
Next, an example of an embodiment of the above-described system will be described using a specific example. First, a case where the stream data management system 1 performs video monitoring will be described as an example.

ここでは、監視対象の映像において、その映像に写っているオブジェクト(人物)が予め指定されている軌跡以外の軌跡を辿ったか否かを監視する場合を例に説明する。   Here, a case will be described as an example in which it is monitored whether or not an object (person) reflected in a video to be monitored has followed a trajectory other than a trajectory designated in advance.

クライアント50は、監視カメラ等からの映像を受信すると、この映像をフレームごとに分解する。そして、キュー割り当て手段40から指示されたデータ蓄積手段20へ、この分解されたフレームのデータ(ストリームデータ)を送信する。このデータにはSIDおよびそのSIDバージョンに関する情報が付されている。データを受信したデータ蓄積手段20は、このデータをキュー241(図2参照)として積む。   When the client 50 receives a video from a surveillance camera or the like, the client 50 decomposes the video into frames. Then, the decomposed frame data (stream data) is transmitted to the data storage means 20 instructed from the queue assignment means 40. Information relating to the SID and its SID version is attached to this data. The data storage means 20 that has received the data accumulates this data as a queue 241 (see FIG. 2).

各フィルタ処理手段10は、データ蓄積手段20におけるキュー状態から、データを取得するデータ蓄積手段20を決定し、この決定したデータ蓄積手段20からデータを取得する。そして、取得したデータのSIDおよびそのバージョンと、共有情報管理手段30のSIDテーブル322(図4参照)とを参照して、このデータに対し実行すべきフィルタ処理を判断する。例えば、フィルタ処理手段10は、以下のFOPを順に実行すると判断する。   Each filter processing means 10 determines the data storage means 20 for acquiring data from the queue state in the data storage means 20 and acquires data from the determined data storage means 20. Then, with reference to the SID and version of the acquired data and the SID table 322 (see FIG. 4) of the shared information management unit 30, the filtering process to be performed on this data is determined. For example, the filter processing unit 10 determines to execute the following FOPs in order.

(FOP11)画像フォーマットをJPEG(Joint Photographic Experts Group)から、Bitmapフォーマットに変換し、
(FOP12)画像サイズを特徴抽出ルーチンに合うように正規化し、
(FOP13)カラー情報から白黒輝度画像情報を抽出し、
(FOP14)その白黒輝度画像情報と、事前に登録してある背景画像との差分を検出し、
(FOP15)その差分について領域のラベリングを行い、
(FOP16)指定画素数以下の領域はノイズとして除去し、
(FOP17)各領域について、重心位置・面積・形状等を検出し、
(FOP18)その結果をXML(eXtensible Markup Language)タグ化し、
(FOP19)XMLデータとして、出力先60Aへ送る
(FOP11) Image format is converted from JPEG (Joint Photographic Experts Group) to Bitmap format,
(FOP12) normalize the image size to fit the feature extraction routine,
(FOP13) Black and white luminance image information is extracted from the color information,
(FOP14) Detecting a difference between the monochrome luminance image information and a background image registered in advance,
(FOP15) Label the area for the difference,
(FOP16) The area below the specified number of pixels is removed as noise,
(FOP17) For each region, the center of gravity, area, shape, etc. are detected,
(FOP18) XML (eXtensible Markup Language) tag the result,
(FOP19) Send as XML data to output destination 60A

このXMLデータを受信した出力先60Aは、このXMLデータの情報源ごとにデータをソートし、時刻順に並んだ系列を得て、映像内のオブジェクトの軌跡を得る。そして、その軌跡が、予め指定されている軌跡に類似する(あるいは類似しない)場合、監視者に対し警報を発する。   The output destination 60A that has received the XML data sorts the data for each information source of the XML data, obtains a sequence arranged in time order, and obtains the locus of the object in the video. When the trajectory is similar (or not similar) to the trajectory designated in advance, an alarm is issued to the supervisor.

ここで、ストリームデータ管理システム1において、映像に写る人物が複数である場合、その人物間の関係(親子、男女、その他)を抽出するとき、各フィルタ処理手段10に以下のFOPの追加が必要になる。   Here, in the stream data management system 1, when there are a plurality of persons appearing in the video, the following FOP needs to be added to each filter processing means 10 when extracting the relationship (parent-child, gender, etc.) between the persons. become.

(FOP1A1)各ラベルについて、そのオブジェクト間の関係を抽出し、
(FOP1A2)その結果をXMLタグ化する
(FOP1A1) For each label, extract the relationship between its objects,
(FOP1A2) XML tag the result

ここで、各フィルタ処理手段10に、前記したFOPを追加する場合を説明する。   Here, a case where the above-described FOP is added to each filter processing means 10 will be described.

まず、システムの管理者等が、予め、前記したFOP1A1およびFOP1A2を実現するためのファイルデータ323(図4参照)を共有情報管理手段30に登録しておく。そして、フィルタ処理手段10において処理中のデータがなくなったことを契機として、フィルタ処理手段10は、共有情報管理手段30に新たなファイルデータ323が存在することを確認すると、この新たなファイルデータ323を共有情報管理手段30から取得する。そして、フィルタ処理手段10は、共有情報管理手段30に対し、自身が再起動してもよいか否かを問い合わせ、再起動してもよい旨の応答を受信したとき、再起動する。そして、フィルタ処理手段10は、ファイルデータ323によりFOP1A1およびFOP1A2の機能を追加する。なお、このフィルタ処理手段10が再起動中の間、フィルタ処理はいったんストップするが、他のフィルタ処理手段10において、フィルタ処理は継続される。そして、再起動を完了したフィルタ処理手段10は、この追加されたFOP1A1およびFOP1A2の機能により、データに対しフィルタ処理を実行する。   First, a system administrator or the like registers file data 323 (see FIG. 4) for realizing the above-described FOP1A1 and FOP1A2 in the shared information management means 30 in advance. Then, when there is no more data being processed in the filter processing unit 10, the filter processing unit 10 confirms that the new file data 323 exists in the shared information management unit 30, and this new file data 323. Is acquired from the shared information management means 30. Then, the filter processing means 10 inquires of the shared information management means 30 whether or not it can be restarted, and restarts when receiving a response indicating that it may be restarted. Then, the filter processing means 10 adds the functions of FOP1A1 and FOP1A2 with the file data 323. While the filter processing unit 10 is being restarted, the filter processing is temporarily stopped, but the filter processing is continued in the other filter processing units 10. Then, the filter processing means 10 that has completed the restart executes filter processing on the data by using the functions of the added FOP1A1 and FOP1A2.

このようにすることで、フィルタ処理手段10に新たなフィルタ処理を追加する場合であっても、システム全体の処理能力が著しく低下することがなくなる。   In this way, even when a new filter process is added to the filter processing unit 10, the processing capacity of the entire system is not significantly reduced.

次に、ある特定の目的に利用される映像データに対し、当初の目的以外の利用が必要になったとき、各フィルタ処理手段10に新たなFOPを追加することで対応できることを具体例とともに示す。   Next, it will be shown together with a specific example that video data used for a specific purpose can be dealt with by adding a new FOP to each filter processing means 10 when use other than the original purpose becomes necessary. .

例えば、データ蓄積手段20は、A駅に設置された構内の監視カメラからの映像データに対して、特徴情報を抽出して蓄積していたものとする。また、データ蓄積手段20は、犯罪防止のためA駅の駅前商店街の監視カメラからの映像データを蓄積していたものとする。   For example, it is assumed that the data storage unit 20 has extracted and stored feature information for video data from a surveillance camera installed in a station A. In addition, it is assumed that the data storage unit 20 stores video data from a monitoring camera in a shopping street in front of the station A for crime prevention.

これらに対して、各フィルタ処理手段10は従来のフィルタ処理を維持しながら、それぞれのデータから、どの時間帯に、どのような人々が、どのように流れるかを抽出し、駅前の不動産会社の空き店舗向けのマーケティング用のDBへ送信したい場合、前記した手順と同様の手順により、以下のFOPを追加すればよい。   On the other hand, each filter processing means 10 extracts what people flow in what time zone and how from each data while maintaining the conventional filter processing, and the real estate company in front of the station. When it is desired to transmit to a marketing DB for vacant stores, the following FOP may be added by the same procedure as described above.

(FOP1B1)それぞれのデータから、どの時間帯に、どのような人々が、どのように流れるかを抽出し、
(FOP1B2)駅前の不動産会社の空き店舗向けのマーケティング用のDBへ送信する
(FOP1B1) Extract from each data what kind of people and how they flow,
(FOP1B2) Send to the marketing DB for the vacant store of the real estate company in front of the station

次に、ストリームデータ管理システム1において、各家庭におけるテレビ番組の視聴率を取得する場合について説明する。   Next, a case where the stream data management system 1 acquires the audience rating of a television program in each home will be described.

各家庭の視聴率センサ(クライアント50)は、所定期間ごと、またはテレビのチャンネルが変わるたびに、この家庭のIDと、視聴した日時と、チャンネル情報(視聴率の情報)とを含むデータを、データ蓄積手段20へ送信する。各フィルタ処理手段10は、このようなデータを、各データ蓄積手段20から取得して、以下のフィルタ処理を行う。   The audience rating sensor (client 50) of each home stores data including the ID of this home, the date and time of viewing, and channel information (viewing rate information) every predetermined period or each time the TV channel changes. It transmits to the data storage means 20. Each filter processing means 10 acquires such data from each data storage means 20 and performs the following filter processing.

(FOP21)そのまま視聴率調査会社のDBへ転送する (FOP21) Transfer to audience rating database as it is

このとき、マーケティング会社が、視聴率を活用したマーケティングを行うため、視聴率情報を提供することに合意した家庭から、その家庭における視聴率の情報の提供を受けることになったとする。このとき、各フィルタ処理手段10は、マーケティング会社へ視聴率の情報の提供に合意した家庭IDを示した合意DB(データベース)を参照して、マーケティング会社へ視聴率の情報の提供に合意した家庭の視聴率の情報を、このマーケティング会社のDBへ送信する。なお、この合意DBは、例えば、共有情報管理手段30に設置しておく。   At this time, suppose that the marketing company receives provision of audience rating information from a household that has agreed to provide audience rating information in order to perform marketing utilizing audience ratings. At this time, each filter processing means 10 refers to an agreement DB (database) indicating a home ID agreed to provide audience rating information to the marketing company, and has agreed to provide audience rating information to the marketing company. Is sent to the DB of this marketing company. In addition, this agreement DB is installed in the shared information management means 30, for example.

この場合、FOPは以下のようになる。   In this case, the FOP is as follows.

(FOP21´)視聴率調査会社のDBへ転送するとともに、FOP22の処理を行う
(FOP22)合意DBを参照して、受信したデータに付された家庭IDが、合意DBに登録されたものであれば、そのデータをマーケティング会社のDBへ転送する
(FOP21 ′) Transfer to audience rating survey company DB and process FOP22 (FOP22) Referring to agreement DB, home ID attached to received data is registered in agreement DB Transfer the data to the marketing company's database.

各フィルタ処理手段10は、このFOP21´およびFOP22を実現するファイルデータ323を共有情報管理手段30から取得して、「FOP21」を、「FOP21´,FOP22」に置き換える。そして、共有情報管理手段30におけるSIDテーブル322において、視聴率の情報を視聴率調査会社のDBへ転送するというサービスのSIDに対応するFOP系列(表2参照)を、「FOP21」から、「FOP21´,FOP22」に変更する。   Each filter processing unit 10 acquires the file data 323 for realizing the FOP 21 ′ and FOP 22 from the shared information management unit 30 and replaces “FOP 21” with “FOP 21 ′, FOP 22”. Then, in the SID table 322 in the shared information management means 30, FOP sequences (see Table 2) corresponding to the SID of the service for transferring audience rating information to the audience rating research company DB are changed from “FOP21” to “FOP21”. ', FOP22 ".

このようにすることで、各フィルタ処理手段10は、従来の視聴率の情報の収集サービスを妨げることなく、フィルタ処理の追加や変更を行うことができる。   By doing in this way, each filter processing means 10 can add or change filter processing without interfering with the conventional audience rating information collection service.

なお、各フィルタ処理手段10におけるFOPの置き換えは、例えば、処理しているデータがなくなったフィルタ処理手段10から順次行うようにする。また、FOP自体に、処理ロジックを変更する仕組みや、処理ロジックの変更日時を指定しておくようにしてもよい。また、フィルタ処理手段10は、このような処理ロジックの変更を、所定のDBを参照して行うようにしてもよい。   Note that the FOP replacement in each filter processing means 10 is performed sequentially from the filter processing means 10 that no longer has data to be processed, for example. In addition, a mechanism for changing the processing logic and a date and time when the processing logic is changed may be designated in the FOP itself. Further, the filter processing unit 10 may change such processing logic with reference to a predetermined DB.

なお、ストリームデータ(データ)によって、フィルタ処理手段10での処理量が大きく変動する場合、例えば、被写体が多数ある入力される本実施の形態のように、複数のフィルタ処理手段10同士で自律的にフィルタ処理を実行する方法の方が、1つのストリームデータに対し、特定のフィルタ処理手段により処理を行う場合に比べて、システム全体として処理の遅延は発生しにくくなる。   In addition, when the processing amount in the filter processing unit 10 varies greatly depending on the stream data (data), for example, a plurality of filter processing units 10 are autonomously connected to each other as in the present embodiment in which a large number of subjects are input. The method of executing the filter processing is less likely to cause processing delay as a whole system compared to the case of processing a single stream data by a specific filter processing means.

次に、ストリームデータ管理システム1が、Webサーバ、アプリケーションサーバ、DBサーバ、Webクライアント、管理者クライアント等のネットワーク機器から、この機器における実行ログおよび通信ログを収集し、顧客情報DBへのアクセス異常の監視を行う場合を説明する。   Next, the stream data management system 1 collects an execution log and a communication log in this device from network devices such as a Web server, an application server, a DB server, a Web client, and an administrator client, and an abnormal access to the customer information DB A case where monitoring is performed will be described.

ここで、
(1)顧客情報DBへのログインパスワードの認証エラーが連続3回以上あった場合
(2)顧客情報DBに対して、100件以上の検索が行われた場合
(3)認証用のIDやパスワード文字列に対して、シングルオート文字等を含めた攻撃を検出した場合
(4)顧客情報DBの管理者権限でログインして、参照した場合
(5)顧客情報DBを出力する処理を行った場合
(6)夜間や休日に、顧客情報DBに管理者権限でアクセスした場合
に顧客情報DBへのアクセス異常とするとき、フィルタ処理手段10はフィルタ処理部124(図1参照)により以下の処理を実行する。
here,
(1) When there are three or more consecutive login password authentication errors to the customer information DB (2) When 100 or more searches are performed on the customer information DB (3) Authentication ID or password When an attack including single-auto characters is detected for a character string (4) When logging in and referring with the administrator authority of the customer information DB (5) When processing for outputting the customer information DB is performed (6) When the customer information DB is accessed with administrator authority at night or on a holiday, when the access to the customer information DB is abnormal, the filter processing means 10 performs the following processing by the filter processing unit 124 (see FIG. 1). Execute.

・データ中の不要な文字を削除する
・データの文字コードを統一する
・データの表現形式を整形し、正規化する
・特定のサーバ、ユーザ、サービスに関するログを選択する
・特定のプロトコルによるデータを抜き出す
・WebサーバとDBサーバ等、複数の情報源のデータを統合する
・安全と判断できるアクセスパターンに合致しないアクセスを検出する
-Delete unnecessary characters in the data-Unify the character code of the data-Format and normalize the data representation format-Select a log for a specific server, user, service-Data according to a specific protocol Extract ・ Integrate data from multiple information sources such as Web server and DB server ・ Detect access that does not match access pattern that can be judged safe

また、フィルタ処理手段10は、フィルタ処理部124により、前記した処理に加え、
・ログイン等の運用者操作に関する異常データを検出した場合には、データを出力先60Bへ出力する
・認証データに特殊な文字が混在する等のエンドユーザ操作に関する異常データを検出した場合には、データを出力先60Cへ出力する
という処理を追加し、データの出力先の制御を行うようにしてもよい。
Further, the filter processing means 10 uses the filter processing unit 124 in addition to the processing described above.
・ When abnormal data related to operator operations such as login is detected, the data is output to the output destination 60B. ・ When abnormal data related to end user operations such as special characters mixed in the authentication data is detected, A process of outputting data to the output destination 60C may be added to control the data output destination.

さらに、フィルタ処理手段10は、以下の処理を追加してもよい。
・顧客情報DBへログインした際のログインアカウントは、在籍社員DBに含まれるIDであることを確認する
・在籍社員以外のIDにより、顧客情報DBへログインが発生した場合には、メールで情報管理者に警報を送信する
Furthermore, the filter processing means 10 may add the following processing.
・ Check that the login account when logging in to the customer information DB is the ID included in the registered employee DB. ・ If login to the customer information DB occurs due to an ID other than the registered employee, manage the information by e-mail. An alert to the person

このような場合も、前記した手順と同様の手順により、前記した処理を実現するFOPの追加を行うので、既存のアクセス異常の監視を停止させないようにすることができる。   Even in such a case, since the FOP that realizes the above-described processing is added by the same procedure as described above, it is possible to prevent the monitoring of the existing access abnormality from being stopped.

なお、ストリームデータ管理システム1がアクセス異常の監視を行う場合、入力されるストリームデータ(ログデータ)の改ざん防止のため、クライアント50あるいはデータ蓄積手段20において、署名を行うようにしてもよい。   When the stream data management system 1 monitors an access error, the client 50 or the data storage unit 20 may sign a signature in order to prevent falsification of the input stream data (log data).

なお、フィルタ処理手段10において、過去にフィルタ処理を行ったストリームデータの平均値を用いてフィルタ処理を実行するようにしてもよい。これはWindowQueryとよばれるもので、例えば、フィルタ処理手段10は、出力先60のDB61に蓄積されたデータにおけるタイムスタンプの値等を用いて、このDB61のデータの中から、所定期間または所定数のデータを読み出し、このデータの平均値を計算してフィルタ処理を実行するようにしてもよい。   Note that the filter processing unit 10 may execute the filter process using the average value of the stream data that has been subjected to the filter process in the past. This is called WindowQuery. For example, the filter processing means 10 uses a time stamp value or the like in the data stored in the DB 61 of the output destination 60 to select a predetermined period or a predetermined number from the data of this DB 61. These data may be read out, an average value of the data may be calculated, and the filtering process may be executed.

なお、前記した実施の形態において、データ蓄積手段20のキュー状態監視部221は、共有情報管理手段30のキュー状態情報通知閾値321に示される閾値以上に、キュー状態が変化したか否かを監視することとしたが、例えば、データ蓄積手段20の記憶部24に所定量を超えたデータが蓄積されているか否かを監視するようにしてもよい。この場合、キュー状態情報通知閾値321として、例えば、記憶部24におけるバッファの80%を超えた場合の値等を設定しておき、キュー状態監視部221は、記憶部24におけるバッファの80%を超える量のデータが蓄積されているか否かを監視する。このようにすることで、フィルタ処理手段10は、データ蓄積手段20における輻輳発生を未然に防止できるので、ストリームデータ管理システム1におけるフィルタ処理の低下を防止することができる。   In the above-described embodiment, the queue state monitoring unit 221 of the data storage unit 20 monitors whether the queue state has changed beyond the threshold value indicated by the queue state information notification threshold value 321 of the shared information management unit 30. However, for example, it may be monitored whether or not data exceeding a predetermined amount is stored in the storage unit 24 of the data storage unit 20. In this case, as the queue state information notification threshold value 321, for example, a value when 80% of the buffer in the storage unit 24 is exceeded is set, and the queue state monitoring unit 221 sets 80% of the buffer in the storage unit 24. Monitor whether more data is accumulated. By doing so, the filter processing unit 10 can prevent the occurrence of congestion in the data storage unit 20 in advance, so that it is possible to prevent the filter processing in the stream data management system 1 from being lowered.

本実施の形態に係るフィルタ処理手段10、データ蓄積手段20、共有情報管理手段30は、前記したような処理を実行させるプログラムによって実現することができ、そのプログラムをコンピュータによる読み取り可能な記憶媒体に記憶して提供することが可能である。また、そのプログラムを、インターネット等のネットワークを通して提供することも可能である。   The filter processing unit 10, the data storage unit 20, and the shared information management unit 30 according to the present embodiment can be realized by a program that executes the processing as described above, and the program is stored in a computer-readable storage medium. It can be stored and provided. It is also possible to provide the program through a network such as the Internet.

本実施の形態のストリームデータ管理システムを含むシステムの構成例を示した図である。It is the figure which showed the structural example of the system containing the stream data management system of this Embodiment. 図1のデータ蓄積手段の詳細を示した機能ブロック図である。It is the functional block diagram which showed the detail of the data storage means of FIG. 図1の選択処理部によるデータ蓄積手段の選択処理を説明する図である。It is a figure explaining the selection process of the data storage means by the selection process part of FIG. 図1のフィルタ実行制御部の詳細を示した機能ブロック図である。It is the functional block diagram which showed the detail of the filter execution control part of FIG. 図1の共有情報管理手段の機能ブロック図である。It is a functional block diagram of the shared information management means of FIG. ストリームデータが図1のデータ蓄積手段に蓄積されるまでの手順を示したフローチャートである。2 is a flowchart showing a procedure until stream data is stored in a data storage unit in FIG. 1. 図7は、図1のキュー状態テーブルの更新手順を示したフローチャートである。FIG. 7 is a flowchart showing a procedure for updating the queue state table of FIG. 図1のフィルタ処理手段のフィルタ処理手順を示したフローチャートである。It is the flowchart which showed the filter processing procedure of the filter processing means of FIG. 図1のフィルタ処理手段のフィルタ処理手順を示したフローチャートである。It is the flowchart which showed the filter processing procedure of the filter processing means of FIG. 図1の選択処理部が、次にデータを取得するデータ蓄積手段を選択する手順を示したフローチャートである。It is the flowchart which showed the procedure in which the selection process part of FIG. 1 selects the data storage means which acquires data next. 図1のフィルタ処理手段から、再起動を許可するか否かの問い合わせを受信した共有情報管理手段の動作手順を示したフローチャートである。3 is a flowchart showing an operation procedure of a shared information management unit that has received an inquiry as to whether or not to permit restart from the filter processing unit of FIG. 1.

符号の説明Explanation of symbols

1 ストリームデータ管理システム
10 フィルタ処理手段
11,21,31 入力部
12,22,32 処理部
13,23,33 出力部
14,24,34 記憶部
20(20A〜20N) データ蓄積手段
30 共有情報管理手段
40 キュー割当手段
50 クライアント
60(60A〜60N) 出力先
61 DB(データベース)
62 蓄積処理部
63 検索処理部
70 検索クライアント
121 選択処理部
122 データ取得処理部
123 フィルタ実行制御部
124 フィルタ処理部
126 フィルタ判定部
127 フィルタ取得部
128 再起動問い合わせ部
129 再起動部
130 フィルタ処理適用部
141 キュー状態テーブル
221 キュー状態監視部
222 キュー状態情報送信部
241 キュー
321 キュー状態情報通知閾値
322 SID(サービスID)テーブル
323 ファイルデータ
324 再起動情報
341 フィルタ送信部
342 再起動判定処理部
343 再起動情報更新部
DESCRIPTION OF SYMBOLS 1 Stream data management system 10 Filter processing means 11, 21, 31 Input part 12, 22, 32 Processing part 13, 23, 33 Output part 14, 24, 34 Storage part 20 (20A-20N) Data storage means 30 Shared information management Means 40 Queue allocation means 50 Client 60 (60A to 60N) Output destination 61 DB (database)
62 accumulation processing unit 63 search processing unit 70 search client 121 selection processing unit 122 data acquisition processing unit 123 filter execution control unit 124 filter processing unit 126 filter determination unit 127 filter acquisition unit 128 restart inquiry unit 129 restart unit 130 filter processing application Unit 141 queue state table 221 queue state monitoring unit 222 queue state information transmission unit 241 queue 321 queue state information notification threshold 322 SID (service ID) table 323 file data 324 restart information 341 filter transmission unit 342 restart determination processing unit 343 re Startup information update unit

Claims (10)

複数のフィルタ処理装置によりストリームデータのフィルタ処理を行うストリームデータ管理システムに用いられるフィルタ処理装置であって、
各種データの入力を受け付ける入力部と、
複数の情報源より送信されたストリームデータを蓄積するデータ蓄積装置それぞれから、前記入力部経由で、このデータ蓄積装置におけるキュー状態を示したキュー状態情報を受信し、前記受信したキュー状態情報に基づき、前記ストリームデータの取得元となる前記データ蓄積装置を選択する選択処理部と、
前記選択処理部により選択されたデータ蓄積装置から、前記入力部経由で、このデータ蓄積装置に蓄積されたストリームデータを取得するデータ取得処理部と、
前記フィルタ処理装置により実行されるフィルタ処理の内容を記述したフィルタオペレーションを記憶する記憶部と、
前記ストリームデータに対し前記フィルタオペレーションに基づくフィルタ処理を実行するフィルタ処理部と、
前記ストリームデータに付されたサービスIDごとに、このストリームデータに対し実行すべきフィルタ処理を示したサービスIDテーブルと、前記取得したストリームデータに付されたサービスIDとを参照して、前記取得したストリームデータに対し実行すべきフィルタオペレーションを決定し、前記決定したフィルタオペレーションを前記記憶部から読み出し、この読み出したフィルタオペレーションに基づくフィルタ処理を前記フィルタ処理部に実行させるフィルタ実行制御部と、
前記フィルタ処理後のストリームデータを出力する出力部と、
を備えることを特徴とするフィルタ処理装置。
A filter processing device used in a stream data management system that performs filtering of stream data by a plurality of filter processing devices,
An input unit for receiving input of various data;
From each of the data storage devices that store stream data transmitted from a plurality of information sources, queue status information indicating the queue status in the data storage device is received via the input unit, and based on the received queue status information A selection processing unit that selects the data storage device from which the stream data is acquired;
A data acquisition processing unit that acquires stream data stored in the data storage device from the data storage device selected by the selection processing unit via the input unit;
A storage unit for storing a filter operation describing the content of the filter processing executed by the filter processing device;
A filter processing unit that performs a filtering process based on the filter operation on the stream data;
For each service ID attached to the stream data, the service ID table indicating the filtering process to be performed on the stream data and the service ID attached to the acquired stream data are referred to, A filter execution control unit that determines a filter operation to be performed on the stream data, reads the determined filter operation from the storage unit, and causes the filter processing unit to execute a filter process based on the read filter operation;
An output unit for outputting the filtered stream data;
A filter processing apparatus comprising:
前記フィルタオペレーションは、前記フィルタ処理後のストリームデータの出力先の情報を含み、
前記フィルタ処理部は、前記フィルタオペレーションに基づき、前記フィルタ処理後のストリームデータの出力先を決定する請求項1に記載のフィルタ処理装置。
The filter operation includes information on an output destination of the stream data after the filtering process,
The filter processing apparatus according to claim 1, wherein the filter processing unit determines an output destination of the stream data after the filter processing based on the filter operation.
前記データ蓄積装置それぞれにおけるキュー状態情報は、このデータ蓄積装置における入力スループット、出力スループットおよびCPUコストのうち少なくともいずれか1つの値を含み、
前記選択処理部は、
前記データ蓄積装置それぞれにおける入力スループット、出力スループットおよびCPUコストのうち少なくともいずれか1つの値に基づき、前記いずれかの値が大きいものから優先的に、前記ストリームデータの取得元となる前記データ蓄積装置を選択することを特徴とする請求項1または請求項2に記載のフィルタ処理装置。
The queue status information in each of the data storage devices includes at least one value of input throughput, output throughput, and CPU cost in the data storage device,
The selection processing unit
Based on at least one of the input throughput, output throughput, and CPU cost in each of the data storage devices, the data storage device that is the stream data acquisition source in priority from the one of the higher values. The filter processing apparatus according to claim 1, wherein the filter processing apparatus is selected.
前記フィルタ実行制御部は、
前記取得したストリームデータに必要なフィルタ処理機能が、前記フィルタ処理部にあるか否かを判断するフィルタ判定部と、
前記フィルタ取得判定部において、前記取得したストリームデータに対し必要なフィルタ処理機能が、前記フィルタ処理部にないと判断されたとき、(1)前記フィルタ処理に必要なファイルと、(2)前記ストリームデータ管理システムにおいて再起動を許可する前記フィルタ処理装置の数を示した再起動情報とを記憶する共有情報管理装置から、前記フィルタ処理に必要なファイルを取得し、前記フィルタ処理部に追加するフィルタ取得部と、
前記共有情報管理装置に対し、自身のフィルタ処理装置の再起動を許可するか否かを問い合わせる再起動問い合わせ部と、
前記再起動問い合わせ部において、前記共有情報管理装置から自身のフィルタ処理装置の再起動を許可する旨の応答を受信したとき、前記自身のフィルタ処理装置を再起動し、前記再起動を完了したとき、前記共有情報管理装置へ、前記自身のフィルタ処理装置の再起動の完了を通知する再起動部とを備えることを特徴とする請求項1ないし請求項3のいずれか1項に記載のフィルタ処理装置。
The filter execution control unit
A filter determination unit for determining whether or not the filter processing function necessary for the acquired stream data is in the filter processing unit;
When the filter acquisition determining unit determines that the filter processing function necessary for the acquired stream data is not present in the filter processing unit, (1) a file required for the filter processing, and (2) the stream A filter that acquires a file necessary for the filter processing from a shared information management device that stores restart information indicating the number of filter processing devices that are permitted to be restarted in a data management system, and adds the file to the filter processing unit An acquisition unit;
A restart inquiring unit for inquiring whether or not to permit restart of the filter processing apparatus of the shared information management apparatus;
When the restart inquiry unit receives a response from the shared information management device to permit the restart of its own filter processing device, when it restarts its own filter processing device and completes the restart The filter processing according to claim 1, further comprising: a restart unit that notifies the shared information management device of completion of restart of the own filter processing device. apparatus.
前記再起動問い合わせ部は、
所定時間経過しても、前記共有情報管理装置から自身のフィルタ処理装置の再起動を許可する旨の応答を受信しなかったとき、再度、前記自身のフィルタ処理装置の再起動を許可するか否かを問い合わせることを特徴とする請求項4に記載のフィルタ処理装置。
The restart inquiry unit
Whether or not to permit restart of the own filter processing device again when a response to permit restart of the own filter processing device is not received from the shared information management device even after a predetermined time has elapsed. The filter processing apparatus according to claim 4, wherein the filter processing apparatus inquires about whether or not.
請求項1ないし請求項5のいずれか1項に記載のフィルタ処理装置へ、前記ストリームデータを送信するデータ蓄積装置であって、
このデータ蓄積装置における単位時間あたりの入力スループット、出力スループットおよびCPUコストのうち少なくともいずれか1つの値が、所定の閾値以上に変化したとき、前記フィルタ処理装置へ、前記データ蓄積装置におけるキュー状態情報を送信することを特徴とするデータ蓄積装置。
A data storage device that transmits the stream data to the filter processing device according to any one of claims 1 to 5,
When at least one of the input throughput per unit time, the output throughput, and the CPU cost in the data storage device changes to a predetermined threshold value or more, the queue status information in the data storage device is sent to the filter processing device. A data storage device characterized by transmitting the data.
請求項4または請求項5に記載のフィルタ処理装置におけるフィルタ処理に必要なファイルと、再起動を許可する前記フィルタ処理装置の数を示した再起動情報とを記憶する記憶部を備える共有情報管理装置であって、
前記フィルタ処理装置からの要求に応じて、前記フィルタ処理に必要なファイルデータを送信するファイルデータ送信部と、
前記フィルタ処理装置から、再起動を許可するか否かの問い合わせを受信した場合、前記再起動情報における再起動を許可するフィルタ処理装置の数が正であるか否かを判断し、前記再起動を許可するフィルタ処理装置の数が正であると判断したとき、前記フィルタ処理装置へ、前記フィルタ処理装置の再起動を許可する旨の応答を送信する再起動判定処理部と、
前記フィルタ処理装置へ、前記再起動を許可する旨の応答を送信したとき、前記再起動情報における再起動を許可するフィルタ処理装置の数を減算し、前記フィルタ処理装置から、このフィルタ処理装置の再起動を完了した旨の通知を受信したとき、前記再起動情報における再起動を許可するフィルタ処理装置の数を加算する再起動情報更新部と、
を備えることを特徴とする共有情報管理装置。
6. A shared information management comprising a storage unit for storing files necessary for the filter processing in the filter processing device according to claim 4 and restart information indicating the number of the filter processing devices permitted to be restarted. A device,
In response to a request from the filter processing device, a file data transmission unit that transmits file data necessary for the filter processing;
When receiving an inquiry from the filter processing device as to whether or not to allow restart, it is determined whether or not the number of filter processing devices that permit restart in the restart information is positive, and the restart A restart determination processing unit that transmits a response to permit the restart of the filter processing device to the filter processing device,
When a response indicating that the restart is permitted is transmitted to the filter processing device, the number of filter processing devices that are permitted to be restarted in the restart information is subtracted, and the filter processing device A restart information update unit that adds the number of filter processing devices that are allowed to restart in the restart information when a notification that the restart has been completed is received;
A shared information management apparatus comprising:
複数のフィルタ処理装置によりストリームデータのフィルタ処理を行うストリームデータ管理システムに用いられるフィルタ処理装置それぞれが、
前記ストリームデータを蓄積する1以上のデータ蓄積装置それぞれから、このデータ蓄積装置におけるキュー状態を示したキュー状態情報を受信するステップと、
前記受信したキュー状態情報に基づき、前記ストリームデータの取得元となる前記データ蓄積装置を選択するステップと、
前記選択されたデータ蓄積装置から、このデータ蓄積装置に蓄積されたストリームデータを取得するステップと、
前記ストリームデータに付されたサービスIDごとに、このストリームデータに対し実行すべきフィルタ処理を示したサービスIDテーブルと、前記取得したストリームデータに付されたサービスIDとを参照して、前記取得したストリームデータに対し実行すべきフィルタオペレーションを決定し、前記決定したフィルタオペレーションを記憶部から読み出し、この読み出したフィルタオペレーションに基づくフィルタ処理をフィルタ処理部に実行させるステップと、
前記フィルタ処理後のストリームデータを出力するステップと、
を実行することを特徴とするフィルタ処理方法。
Each of the filter processing devices used in the stream data management system that performs stream data filtering by a plurality of filter processing devices,
Receiving queue status information indicating a queue status in the data storage device from each of the one or more data storage devices that store the stream data;
Selecting the data storage device from which the stream data is acquired based on the received queue status information;
Obtaining the stream data stored in the data storage device from the selected data storage device;
For each service ID attached to the stream data, the service ID table indicating the filtering process to be performed on the stream data and the service ID attached to the acquired stream data are referred to, Determining a filter operation to be performed on the stream data, reading the determined filter operation from the storage unit, and causing the filter processing unit to perform a filter process based on the read filter operation;
Outputting the filtered stream data; and
The filtering method characterized by performing.
前記データ蓄積装置それぞれにおけるキュー状態情報は、このデータ蓄積装置における入力スループット、出力スループットおよびCPUコストのうち少なくともいずれか1つの値を含み、
前記フィルタ処理装置は、
前記ストリームデータを取得元となる前記データ蓄積装置を選択するとき、前記データ蓄積装置それぞれにおける入力スループット、出力スループットおよびCPUコストのうち少なくともいずれか1つの値に基づき、前記いずれかの値が大きいものから優先的に、前記ストリームデータを取得元となる前記データ蓄積装置を選択することを特徴とする請求項8に記載のフィルタ処理方法。
The queue status information in each of the data storage devices includes at least one value of input throughput, output throughput, and CPU cost in the data storage device,
The filter processing device includes:
When the data storage device from which the stream data is acquired is selected, one of the values is large based on at least one of the input throughput, output throughput, and CPU cost of each of the data storage devices 9. The filter processing method according to claim 8, wherein the data storage device from which the stream data is acquired is selected with priority.
請求項8または請求項9に記載のフィルタ処理方法をコンピュータに実行させることを特徴とするフィルタ処理プログラム。   A filter processing program for causing a computer to execute the filter processing method according to claim 8 or 9.
JP2006260824A 2006-09-26 2006-09-26 Stream data management system, stream data management method and program thereof Active JP4764300B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006260824A JP4764300B2 (en) 2006-09-26 2006-09-26 Stream data management system, stream data management method and program thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006260824A JP4764300B2 (en) 2006-09-26 2006-09-26 Stream data management system, stream data management method and program thereof

Publications (2)

Publication Number Publication Date
JP2008083808A true JP2008083808A (en) 2008-04-10
JP4764300B2 JP4764300B2 (en) 2011-08-31

Family

ID=39354661

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006260824A Active JP4764300B2 (en) 2006-09-26 2006-09-26 Stream data management system, stream data management method and program thereof

Country Status (1)

Country Link
JP (1) JP4764300B2 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009252173A (en) * 2008-04-10 2009-10-29 Nippon Telegr & Teleph Corp <Ntt> Stream data system, stream data processing method and stream data processing program
JP2010140357A (en) * 2008-12-12 2010-06-24 Hitachi Ltd Stream data processing method, and system
JP2010140252A (en) * 2008-12-11 2010-06-24 Nippon Telegr & Teleph Corp <Ntt> Data stream management system, record processing method, program, and recording medium
US8527531B2 (en) 2009-09-10 2013-09-03 Hitachi, Ltd. Stream data generating method, stream data generating device and a recording medium storing stream data generating program
JP2014175786A (en) * 2013-03-07 2014-09-22 Canon Inc Image pickup device
US9292551B2 (en) 2010-08-31 2016-03-22 Samsung Electronics Co., Ltd. Storage device and stream filtering method thereof
US9558247B2 (en) 2010-08-31 2017-01-31 Samsung Electronics Co., Ltd. Storage device and stream filtering method thereof
KR101822401B1 (en) * 2016-05-30 2018-01-26 주식회사 인프라웨어 Method and apparatus for sharing a collaborative editing document

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04219859A (en) * 1990-03-12 1992-08-10 Hewlett Packard Co <Hp> Harware distributor which distributes series-instruction-stream data to parallel processors
JPH0619861A (en) * 1992-04-30 1994-01-28 Internatl Business Mach Corp <Ibm> Route designation mechanism of transaction processing server

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04219859A (en) * 1990-03-12 1992-08-10 Hewlett Packard Co <Hp> Harware distributor which distributes series-instruction-stream data to parallel processors
JPH0619861A (en) * 1992-04-30 1994-01-28 Internatl Business Mach Corp <Ibm> Route designation mechanism of transaction processing server

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009252173A (en) * 2008-04-10 2009-10-29 Nippon Telegr & Teleph Corp <Ntt> Stream data system, stream data processing method and stream data processing program
JP2010140252A (en) * 2008-12-11 2010-06-24 Nippon Telegr & Teleph Corp <Ntt> Data stream management system, record processing method, program, and recording medium
JP2010140357A (en) * 2008-12-12 2010-06-24 Hitachi Ltd Stream data processing method, and system
JP4727715B2 (en) * 2008-12-12 2011-07-20 株式会社日立製作所 Stream data processing method and system
US8527531B2 (en) 2009-09-10 2013-09-03 Hitachi, Ltd. Stream data generating method, stream data generating device and a recording medium storing stream data generating program
US9292551B2 (en) 2010-08-31 2016-03-22 Samsung Electronics Co., Ltd. Storage device and stream filtering method thereof
US9558247B2 (en) 2010-08-31 2017-01-31 Samsung Electronics Co., Ltd. Storage device and stream filtering method thereof
JP2014175786A (en) * 2013-03-07 2014-09-22 Canon Inc Image pickup device
KR101822401B1 (en) * 2016-05-30 2018-01-26 주식회사 인프라웨어 Method and apparatus for sharing a collaborative editing document

Also Published As

Publication number Publication date
JP4764300B2 (en) 2011-08-31

Similar Documents

Publication Publication Date Title
JP4764300B2 (en) Stream data management system, stream data management method and program thereof
US10348809B2 (en) Naming of distributed business transactions
JP2020507162A5 (en)
JP4661722B2 (en) Operation management system, monitoring apparatus, monitoring setting information generation method and program
CN112380473B (en) Data acquisition and synchronization method, device, equipment and storage medium
US20150227412A1 (en) Server performance correction using remote server actions
US10009220B2 (en) In-vehicle information system and information processing method thereof
CN114172966A (en) Service calling method and device and service processing method and device under unitized architecture
US8775484B2 (en) Data management apparatus and method
JP4871213B2 (en) Stream data processing method, stream data processing program, and stream data processing system
JP5962117B2 (en) Video selection method in an environment with multiple image compression methods
JP2012064155A (en) Management device, control method for the same, and information processing system
US8326977B2 (en) Recording medium storing system analyzing program, system analyzing apparatus, and system analyzing method
US20170223136A1 (en) Any Web Page Reporting and Capture
JP2007264921A (en) Performance information extraction program and apparatus
JP2018170715A (en) Cloud management apparatus, cloud management method, and program
JP2004234045A (en) Method for transmitting vaccine program, computer network system and computer program
KR101971492B1 (en) Cloud Based Image Rendering Method and System Therefor
US10511687B2 (en) Systems and methods for mobile device predictive response capabilities
JP2005157727A (en) Log processing method, and processing program and execution system of the same
US11356406B2 (en) Linking users to viewed content in dynamic internet protocol address environments
JP6803385B2 (en) Data transmission method and data transmission equipment
JP5217853B2 (en) Address association method, address association program, and apparatus
JP2007080053A (en) Xml/web service information management system
JP4909290B2 (en) Stream data processing method, stream data processing program, and stream data processing system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080730

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100525

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100706

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100906

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

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

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

Free format text: PAYMENT UNTIL: 20140617

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4764300

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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