JP2009104513A - Filter processing apparatus, data storage device, filter processing method, and filter processing program - Google Patents

Filter processing apparatus, data storage device, filter processing method, and filter processing program Download PDF

Info

Publication number
JP2009104513A
JP2009104513A JP2007277370A JP2007277370A JP2009104513A JP 2009104513 A JP2009104513 A JP 2009104513A JP 2007277370 A JP2007277370 A JP 2007277370A JP 2007277370 A JP2007277370 A JP 2007277370A JP 2009104513 A JP2009104513 A JP 2009104513A
Authority
JP
Japan
Prior art keywords
data
data storage
filter processing
unit
queue load
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
JP2007277370A
Other languages
Japanese (ja)
Other versions
JP4714202B2 (en
Inventor
Hiroyuki Uchiyama
寛之 内山
Hiroki Akama
浩樹 赤間
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 JP2007277370A priority Critical patent/JP4714202B2/en
Publication of JP2009104513A publication Critical patent/JP2009104513A/en
Application granted granted Critical
Publication of JP4714202B2 publication Critical patent/JP4714202B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To prevent overall throughput of a stream data management system from deteriorating even if the amount of data input as information sources remarkably changes. <P>SOLUTION: A filter processing means 10 creates a source list 142a based on queue load information indicating the queue load of each data storage means 20, the source list 142a indicating the data storage means 20 that serves as a data source for the filter processing means 10. The filter processing means 10 acquires data from the data storage means 20 according to the source list 142a. If the overall throughput of each filter processing means 10 is greater than the overall load of each data storage means 10, sleep time is set for the source list 142a to reduce the failures when the filter processing means 10 acquires data from the data storage means 20, so as to prevent the throughput of the data storage means 20 from deteriorating. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

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

従来、各種センサやICタグ、携帯電話等で計測されたデータをストリームデータとして受信し、このストリームデータにフィルタ処理を行い、所定の利用先へ流通させるストリームデータ処理技術がある。このようなストリームデータ処理技術として、telegraphCQ(非特許文献1参照)や、borealis(非特許文献2参照)が提案されている。
Sirish Chandrasekaran,Owen Cooper,AmolDeshpande,Michael J.Franklin,JosephM. Hellerstein,Wei Hong,SaileshKrishnamurthy,Sam Madden,VijayshankarRaman,Fred Reiss,and Mehul 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 S.tan Zdonik, “The Design of the Borealis Stream Processing Engine,”CIDR(2005)
Conventionally, there is a stream data processing technique for receiving data measured by various sensors, IC tags, mobile phones, and the like as stream data, filtering the stream data, and distributing the stream data 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, AmolDeshpande, Michael J. Franklin, JosephM. Hellerstein, Wei Hong, SaileshKrishnamurthy, Sam Madden, VijayshankarRaman, Fred Reiss, and Mehul Shah, “Te1egraphCQ: Continuous Dataflow Processing for an DR” DJAbadi, Y.Ahmad, M.Balazinska, U.Cetintemel, M.Cherniack, JHHwang, W.Lindner, ASMaskey, A.Rasin, E.Ryvkina, N.Tatbul, Y.Xing, and S.tan Zdonik, “The Design of the Borealis Stream Processing Engine, ”CIDR (2005)

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

また、前記したborealisは、複数のサーバでストリームデータ処理を実行するものであるが、各サーバの最適配置が決定した後に、ストリームデータ処理のマイグレーション処理(負荷の大きいサーバから、負荷の小さいサーバへオペレーションを移行する処理)を行う必要がある。しかし、各サーバにおいてこのようなマイグレーション処理を実行すると、マイグレーション自体の負荷が大きくなり、特に、各種センサやICタグ等、様々な情報源からデータ入力を受け付けたり、また、その情報源からのデータ入力量の変化が激しかったりする場合、システム全体の処理能力が下がる可能性がある。   In addition, the above-described borealis executes stream data processing on a plurality of servers. 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 load of the migration itself increases. In particular, data input from various information sources such as various sensors and IC tags is accepted, and data from the information source is also received. If the change in input amount 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に記載の発明は、複数のフィルタ処理装置によりストリームデータのフィルタ処理を行うストリームデータ管理システムに用いられる前記フィルタ処理装置であって、各種データの入力を受け付ける入力部と、複数の情報源より送信されたストリームデータを蓄積する1以上のデータ蓄積装置それぞれから、前記入力部経由で、当該データ蓄積装置におけるキュー負荷の値を示したキュー負荷情報を受信し、この受信したキュー負荷情報をキュー負荷テーブルへ格納するキュー負荷テーブル更新部と、前記データ蓄積装置それぞれのキュー負荷を示した前記キュー負荷テーブルを記憶する記憶部と、前記キュー負荷テーブルに示されるデータ蓄積装置のうち、そのキュー負荷の値が大きいデータ蓄積装置ほど高確率で選択し、選択した順に前記データ蓄積装置の識別情報を取得先リストに記録し、前記選択したデータ蓄積装置の識別情報を記録した取得先リストを前記記憶部に格納する取得先リスト作成部と、前記取得先リストに示される順に前記ストリームデータの取得先となる前記データ蓄積装置を選択する選択処理部と、前記選択されたデータ蓄積装置から、前記ストリームデータを取得するデータ取得処理部と、前記取得したストリームデータに対しフィルタ処理を実行するフィルタ処理部と、前記フィルタ処理後のストリームデータを出力する出力部とを備える構成とした。   In order to solve the above-described problem, the invention described in claim 1 is the filter processing device used in a stream data management system that performs filtering of stream data by a plurality of filter processing devices, and inputs various data. Queue load information indicating the value of the queue load in the data storage device is received via the input unit from each of the input unit that receives the data and one or more data storage devices that store stream data transmitted from a plurality of information sources. A queue load table update unit for storing the received queue load information in the queue load table, a storage unit for storing the queue load table indicating the queue load of each of the data storage devices, and the queue load table. Data storage devices that have a large queue load value The acquisition destination list that selects with high probability, records the identification information of the data storage device in the acquisition destination list in the order of selection, and stores the acquisition destination list in which the identification information of the selected data storage device is recorded in the storage unit A creation unit; a selection processing unit that selects the data storage device that is the acquisition destination of the stream data in the order shown in the acquisition destination list; and a data acquisition process that acquires the stream data from the selected data storage device A filter processing unit that performs a filtering process on the acquired stream data, and an output unit that outputs the stream data after the filtering process.

請求項7に記載の発明は、複数の情報源より送信されたストリームデータを蓄積する1以上のデータ蓄積装置それぞれのキュー負荷の値を示したキュー負荷テーブルを記憶する記憶部を備え、複数のフィルタ処理装置によりストリームデータのフィルタ処理を行うストリームデータ管理システムに用いられる前記フィルタ処理装置が、前記データ蓄積装置それぞれから、入力部経由で、当該データ蓄積装置におけるキュー負荷を示したキュー負荷情報を受信し、この受信したキュー負荷情報を前記記憶部のキュー負荷テーブルへ格納するステップと、前記キュー負荷テーブルに示されるデータ蓄積装置のうち、そのキュー負荷の値が大きいデータ蓄積装置ほど高確率で選択し、この選択したデータ蓄積装置の識別情報を順次取得先リストに記録し、前記選択したデータ蓄積装置の識別情報を記録した取得先リストを前記記憶部に格納するステップと、前記取得先リストに示される順に前記ストリームデータの取得先となる前記データ蓄積装置を選択するステップと、前記選択されたデータ蓄積装置から、前記ストリームデータを取得するステップと、前記取得したストリームデータに対しフィルタ処理を実行するステップと、前記フィルタ処理後のストリームデータを出力部経由で出力するステップとを実行する方法とした。   The invention according to claim 7 includes a storage unit that stores a queue load table indicating a queue load value of each of one or more data storage devices that store stream data transmitted from a plurality of information sources, The filter processing device used in the stream data management system for filtering stream data by the filter processing device receives queue load information indicating the queue load in the data storage device from each of the data storage devices via the input unit. Receiving and storing the received queue load information in the queue load table of the storage unit, and among the data storage devices indicated in the queue load table, a data storage device having a larger queue load value has a higher probability. Select and select the data storage device identification information in the acquisition list. And storing the acquisition destination list in which the identification information of the selected data storage device is recorded in the storage unit, and selecting the data storage device that is the acquisition destination of the stream data in the order indicated in the acquisition destination list. A step of acquiring the stream data from the selected data storage device, a step of executing a filtering process on the acquired stream data, and outputting the stream data after the filtering process via an output unit And step by step.

このようにすることで、ストリームデータ管理システムのフィルタ処理装置はキュー負荷の値が大きいデータ蓄積装置ほど高確率で選択して、取得先リストを作成し、その取得先リストに従いデータ蓄積装置からストリームデータを取得する。従って、フィルタ処理装置は、キュー負荷が大きいデータ蓄積装置から優先的にデータを取得することができる。よって、特定のデータ蓄積装置にキュー負荷が偏ることがなくなる。また、このように取得先リストを参照して、データ取得先となるデータ蓄積装置を選択するので、フィルタ処理装置それぞれでマイグレーションを行う必要がなくなり、システム全体の処理能力の低下を防止できる。   In this way, the filter processing device of the stream data management system selects a data storage device with a larger queue load value with a higher probability, creates an acquisition destination list, and streams from the data storage device according to the acquisition destination list. Get the data. Therefore, the filter processing apparatus can preferentially acquire data from a data storage apparatus with a large queue load. Therefore, the queue load is not biased to a specific data storage device. In addition, since the data storage device that is the data acquisition destination is selected with reference to the acquisition destination list in this way, it is not necessary to perform migration in each filter processing device, and it is possible to prevent a reduction in processing capacity of the entire system.

請求項2に記載の発明は、請求項1に記載のフィルタ処理装置において、前記キュー負荷情報が、当該データ蓄積装置における(1)入力スループットと、(2)このデータ蓄積装置から送出されたデータの前記フィルタ処理装置におけるデータ1個あたりの平均処理時間とを含む構成とした。   According to a second aspect of the present invention, in the filter processing device according to the first aspect, the queue load information includes (1) input throughput in the data storage device and (2) data transmitted from the data storage device. And the average processing time per piece of data in the filter processing apparatus.

このようにすることで、フィルタ処理装置は、各データ蓄積手段におけるキュー負荷を正確に把握することができる。   In this way, the filter processing apparatus can accurately grasp the queue load in each data storage unit.

請求項3に記載の発明は、請求項1または請求項2に記載のフィルタ処理装置において、前記記憶部が、前記ストリームデータ管理システムに用いられるフィルタ処理装置それぞれのフィルタ処理能力の合計値Pを記憶し、前記フィルタ処理装置それぞれのフィルタ処理能力の合計値Pと、前記キュー負荷テーブルに示されるデータ蓄積装置それぞれのキュー負荷の合計値Sとの差(P−S)が、所定の閾値P×εを超えるとき、前記取得先リストに、前記データ取得処理部に前記データ蓄積装置からストリームデータを取得させないスリープ時間を示したスリープ情報を設定するスリープ情報追加部をさらに備え、前記選択処理部は、前記取得先リストから前記スリープ情報を読み出したとき、前記データ取得処理部は、前記読み出したスリープ情報に示されるスリープ時間が経過するまで前記ストリームデータを取得しない構成とした。   According to a third aspect of the present invention, in the filter processing device according to the first or second aspect, the storage unit calculates a total value P of filter processing capacities of the filter processing devices used in the stream data management system. The difference (PS) between the total value P of the filter processing capabilities of each of the filter processing devices and the total value S of the queue loads of the data storage devices indicated in the queue load table is a predetermined threshold value P When the number exceeds ε, the selection processing unit further includes a sleep information adding unit that sets sleep information indicating a sleep time during which the data acquisition processing unit does not acquire stream data from the data storage device in the acquisition destination list. When the sleep information is read from the acquisition destination list, the data acquisition processing unit The stream data is not acquired until the sleep time indicated by the loop information elapses.

このようにすることで、各フィルタ処理装置のフィルタ処理能力の合計値の方が、各データ蓄積装置におけるキュー負荷の合計値を上回る場合に、フィルタ処理装置は適宜スリープ時間を入れながらデータ蓄積装置からストリームデータを取得する。これにより、フィルタ処理装置は、データ蓄積装置から必要以上にデータ取得を行うこと(空振り)を低減できるので、無駄な電気消費を抑制できる。さらに、このようにフィルタ処理装置において適宜スリープ時間を入れながらデータ蓄積装置からストリームデータを取得することで、データ蓄積装置において過剰にストリームデータの取得要求を受け付けることがなくなる。これによりデータ蓄積装置における入力データの受け付け能力の低下を防止できる。   By doing in this way, when the total value of the filter processing capacity of each filter processing device exceeds the total value of the queue load in each data storage device, the filter processing device appropriately puts the sleep time into the data storage device Get stream data from. As a result, the filter processing device can reduce unnecessary data acquisition from the data storage device (empty swing), and therefore wasteful electricity consumption can be suppressed. Further, by acquiring the stream data from the data storage device while appropriately putting a sleep time in the filter processing device in this manner, the data storage device does not receive an excessive stream data acquisition request. As a result, it is possible to prevent a decrease in the ability to accept input data in the data storage device.

請求項4に記載の発明は、請求項3に記載のフィルタ処理装置において、前記εの値は、0.2〜0.3であり、前記スリープ情報追加部は、前記スリープ時間の合計値が、前記(P−S)×(0.7〜0.8)となるよう、前記取得先リストに前記スリープ情報を設定する構成とした。   According to a fourth aspect of the present invention, in the filter processing device according to the third aspect, the value of ε is 0.2 to 0.3, and the sleep information adding unit has a total value of the sleep time. The sleep information is set in the acquisition source list such that (PS) × (0.7 to 0.8).

このようにすることで、フィルタ処理装置は、前記した空振りを低減しつつ、各データ蓄積装置におけるデータの平均待ち行列長を短くできる。   By doing so, the filter processing device can shorten the average queue length of data in each data storage device while reducing the above-described idling.

請求項5に記載の発明は、請求項3または請求項4に記載の前記スリープ情報追加部が、前記取得先リストに前記スリープ情報を設定するとき、前記スリープ時間の合計値を、記取得先リストに設定されるデータ取得の回数で割った値を、前記取得先リスト上で前記取得先となるデータ蓄積装置の識別情報それぞれの後に設定する構成とした。   According to a fifth aspect of the present invention, when the sleep information adding unit according to the third or fourth aspect sets the sleep information in the acquisition destination list, the total value of the sleep time is stored in the acquisition destination. A value divided by the number of times of data acquisition set in the list is set after each identification information of the data storage device as the acquisition destination on the acquisition destination list.

このようにすることで、フィルタ処置装置は、各データ蓄積装置からデータを取得するとき、スリープ時間を均等にして取得するので、特定のデータ蓄積装置にデータが溜まることを防止できる。   In this way, when the filter treatment device acquires data from each data storage device, the filter treatment device acquires the sleep time evenly, so that it is possible to prevent data from being accumulated in a specific data storage device.

請求項6に記載の発明は、請求項1ないし請求項5のいずれか1項に記載のフィルタ処理装置へ、前記ストリームデータを送信するデータ蓄積装置であって、前記フィルタ処理装置へデータを送出したとき、その時刻を記録し、前記フィルタ処理装置において当該データのフィルタ処理を完了すると、その旨の通知を受信し、当該フィルタ処理装置にデータを送出してから前記通知を受信するまでの時間の平均値を計算し、この計算した平均値を前記送出したデータ数で割って、前記データ蓄積装置から送出されたデータの前記フィルタ処理装置におけるデータ1個あたりの平均処理時間として記録し、前記データ蓄積装置における(1)入力スループットおよび(2)前記データ蓄積装置から送出されたデータの前記フィルタ処理装置におけるデータ1個あたりの平均処理時間の少なくとも一方が、所定の閾値以上に変化したとき、前記フィルタ処理装置へ、前記データ蓄積装置におけるキュー負荷の値を示した前記キュー負荷情報を送信する構成とした。   A sixth aspect of the present invention is a data storage device for transmitting the stream data to the filter processing device according to any one of the first to fifth aspects, wherein the data is transmitted to the filter processing device. The time is recorded, and when the filtering process of the data is completed in the filter processing device, a notification to that effect is received, and the time from when the data is sent to the filter processing device until the notification is received The average value is calculated by dividing the calculated average value by the number of transmitted data, and recorded as the average processing time per data in the filter processing device of the data transmitted from the data storage device, (1) input throughput in the data storage device and (2) the filter processing device for data sent from the data storage device A configuration in which the queue load information indicating a queue load value in the data storage device is transmitted to the filter processing device when at least one of the average processing time per data changes to a predetermined threshold value or more; did.

このようにすることで、各フィルタ処理装置は各データ蓄積装置からキュー負荷情報を受信するので、それぞれのキュー負荷情報に基づきデータ取得先を選択できる。従って、各フィルタ処理装置でマイグレーションを行う必要がなくなり、システム全体の処理能力の低下を防止できる。   By doing so, each filter processing device receives queue load information from each data storage device, so that a data acquisition destination can be selected based on the respective queue load information. Therefore, it is not necessary to perform migration in each filter processing apparatus, and it is possible to prevent a reduction in processing capacity of the entire system.

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

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

本発明によれば、ストリームデータ管理システムにおいて、情報源のデータ入力量の変化が激しい場合であっても、システム全体の処理能力を著しく低下させないようにすることができる。   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.

以下、本発明を実施するための最良の形態(以下、実施の形態という)を、第1の実施の形態および第2の実施の形態に分けて説明する。   Hereinafter, the best mode for carrying out the present invention (hereinafter referred to as an “embodiment”) will be described by dividing it into a first embodiment and a second embodiment.

≪第1の実施の形態≫
図1は、本実施の形態のストリームデータ管理システムを含むシステムの構成例を示した図である。図1に示すように、システムは、様々な情報源から取得したデータにサービスID(SID)を付し、このデータをストリームデータとして送信するクライアント50(50A,50B)と、受信したストリームデータのフィルタ処理を行うストリームデータ管理システム1と、フィルタ処理されたデータの出力先である、出力先60(60A〜60N)と、この出力先60からデータの検索を行う検索クライアント70(70A〜70N)とを含んで構成される。
<< First Embodiment >>
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個としたが、これに限定されない。なお、フィルタ処理手段10はそれぞれ同じ機能を備えるものとする。   (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. It is assumed that the filter processing means 10 have the same function.

<動作概要>
ここで、図1のシステムの動作概要を説明する。まず、クライアント50は、様々な情報源からデータを取得し、そのデータに応じたSIDを付する。このSIDはSIDのバージョンの情報を含んでいてもよい。そして、クライアント50は、このSIDを付したデータをストリームデータとして、ストリームデータ管理システム1へ送信する。ストリームデータ管理システム1のキュー割当手段40は、ストリームデータの送信先であるデータ蓄積手段20を選択する。そして、クライアント50に対し、ストリームデータの送信先のデータ蓄積手段20を指示し、クライアント50は、指示されたデータ蓄積手段20にストリームデータを送信する。なお、データ蓄積手段20はそれぞれ、自身のキュー負荷に所定の閾値以上の変化があったとき、そのキュー負荷の値を示したキュー負荷情報を含むキュー負荷情報変更通知を各フィルタ処理手段10へ通知する。そして、キュー負荷テーブル更新部126はキュー負荷情報を、各データ蓄積手段20におけるキュー負荷テーブル141に反映する。
<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 units 20 sends a queue load information change notification including queue load information indicating the value of the queue load to each filter processing unit 10 when its own queue load changes by a predetermined threshold value or more. Notice. Then, the queue load table updating unit 126 reflects the queue load information in the queue load table 141 in each data storage unit 20.

続いて、フィルタ処理手段10は、取得先リスト142を作成する。この取得先リスト142はストリームデータの取得先となるデータ蓄積手段20を時系列で示した情報であえる。例えば、フィルタ処理手段10は、データ蓄積手段20(20A〜20N)から、ランダム値を用いて、データ取得先となるデータ蓄積手段20を順に選択する。このとき、フィルタ処理手段10は、キュー負荷テーブル141に示される各データ蓄積手段20のキュー負荷の値をもとに、キュー負荷が高いデータ蓄積手段20ほど優先的に選択するようにする。例えば、データ蓄積手段20Aにおけるキュー負荷の値が「10」であり、データ蓄積手段20B,20Cのキュー負荷の値がそれぞれ「5」であった場合、フィルタ処理手段10は、10:5:5の確率で選択するようにして、この選択したデータ蓄積手段20の識別情報を取得先リスト142に順次書きこんでいく。このようにしてフィルタ処理手段10は取得先リスト142を作成する。そして、フィルタ処理手段10は、この作成した取得先リスト142に示される順にデータ蓄積手段20からデータを取得する。そして、フィルタ処理手段10は、この決定したデータ蓄積手段20からストリームデータを取得し、フィルタ処理を行う。各ストリームデータに対し行うべきフィルタ処理は、このストリームデータに付されたSIDに基づき判断する。なお、ここで、このストリームデータに必要なフィルタ処理機能が自身のフィルタ処理部124になかった場合、フィルタ処理手段10は、共有情報管理手段30からファイルデータを取得して、フィルタ処理機能の追加を行うようにしてもよい。   Subsequently, the filter processing unit 10 creates an acquisition destination list 142. This acquisition destination list 142 can be information indicating the data storage means 20 as an acquisition destination of stream data in time series. For example, the filter processing unit 10 sequentially selects the data storage unit 20 as a data acquisition destination from the data storage unit 20 (20A to 20N) using a random value. At this time, the filter processing means 10 preferentially selects the data storage means 20 having a higher queue load based on the queue load value of each data storage means 20 shown in the queue load table 141. For example, if the queue load value in the data storage means 20A is “10” and the queue load values in the data storage means 20B and 20C are “5”, the filter processing means 10 is 10: 5: 5. The identification information of the selected data storage means 20 is sequentially written in the acquisition destination list 142. In this way, the filter processing means 10 creates the acquisition destination list 142. Then, the filter processing unit 10 acquires data from the data storage unit 20 in the order shown in the created acquisition destination list 142. The filter processing unit 10 acquires stream data from the determined data storage unit 20 and performs filter processing. 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 function necessary for the stream data is not in its own filter processing unit 124, the filter processing unit 10 acquires the file data from the shared information management unit 30 and adds the filter processing function. May be performed.

フィルタ処理手段10は、フィルタ処理後、ストリームデータを所定の出力先60へ出力する。そして、出力先60においてフィルタ処理後のデータをDB61に蓄積し、このDB61のデータは、検索クライアント70により検索可能となる。   The filter processing means 10 outputs the stream data to a predetermined output destination 60 after the filter processing. 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におけるキュー負荷情報(入力スループット、フィルタ処理手段10におけるデータ1個あたりの平均処理時間、このデータ蓄積手段20に溜まっているデータの個数等)を送信する処理部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 load exceeds a predetermined threshold. Queue load information in the data storage means 20 (input throughput, average processing time per data in the filter processing means 10, number of data accumulated in the data storage means 20, etc.) is transmitted. A processing unit 22, an output unit 23 for outputting the stream data and the queue load information, and a storage unit 24 in which a queue 241 for the 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におけるキュー負荷を監視する。そして、キュー負荷監視部221は、所定の閾値(共有情報管理手段30のキュー負荷情報通知閾値321)以上に、キュー負荷が変化したか否かを監視する   The processing unit 22 includes a queue load monitoring unit 221 and a queue load information transmission unit 222. The queue load monitoring unit 221 monitors the queue load in its own data storage unit 20. Then, the queue load monitoring unit 221 monitors whether or not the queue load has changed beyond a predetermined threshold (the queue load information notification threshold 321 of the shared information management unit 30).

キュー負荷情報送信部222は、キュー負荷監視部221においてキュー負荷が共有情報管理手段30のキュー負荷情報通知閾値321に示される閾値以上に変化したとき、このデータ蓄積手段20におけるキュー負荷情報を各フィルタ処理手段10へ送信する。例えば、キュー負荷情報のうち、入力スループット、フィルタ処理手段10におけるデータ1個あたりの平均処理時間およびこのデータ蓄積手段20に溜まっているデータの個数のうち少なくともいずれか1つがキュー負荷情報通知閾値321に示される値以上に変化したとき、キュー負荷情報を各フィルタ処理手段10へ送信する。このときのキュー負荷情報には、自身のデータ蓄積手段20の識別情報が付される。また、キュー負荷情報の送信は、例えば、各フィルタ処理手段10への同報送信等により行われる。   When the queue load monitoring unit 221 changes the queue load to a threshold value indicated by the queue load information notification threshold value 321 of the shared information management unit 30, the queue load information transmission unit 222 changes the queue load information in the data storage unit 20 to each queue load information. It transmits to the filter processing means 10. For example, among the queue load information, at least one of the input throughput, the average processing time per data in the filter processing unit 10, and the number of data accumulated in the data storage unit 20 is the queue load information notification threshold 321. Queue load information is transmitted to each filter processing means 10 when the value changes beyond the value shown in FIG. At this time, the identification information of the data storage means 20 is attached to the queue load information. The queue load information is transmitted 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 load when its own queue load has changed. The queue load 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. The queue load monitoring unit 221 stores the queue load information notification threshold 321 in the queue stored in the storage unit 24. The queue load may be monitored with reference to the load information notification threshold value 321.

<フィルタ処理手段>
図1に戻ってフィルタ処理手段10を詳細に説明する。フィルタ処理手段10は、図1に示すように、ストリームデータの入力を受け付ける入力部11と、ストリームデータをデータ蓄積手段20から取得し、フィルタ処理を行う処理部12と、フィルタ処理を行ったデータを出力する出力部13と、このフィルタ処理手段10の機能を実現するためのプログラムや、各データ蓄積手段20のキュー負荷を示したキュー負荷テーブル141、データの取得先となるデータ蓄積手段20を時系列で示した取得先リスト142を記憶する記憶部14とを含んで構成される。この入力部11および出力部13も、データ蓄積手段20や出力先60との間でデータ入出力可能な入出力インタフェースにより実現され、記憶部14は、RAM、HDD等により実現される。また、処理部12は、CPUによる記憶部14に記憶されるプログラムの実行処理、専用回路等により実現される。
<Filter processing means>
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, a program for realizing the function of the filter processing unit 10, a queue load table 141 indicating the queue load of each data storage unit 20, and a data storage unit 20 as a data acquisition destination And a storage unit 14 that stores the acquisition source list 142 shown in time series. 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と、取得先リスト作成部125と、キュー負荷テーブル更新部126とを含んで構成される。スリープ情報追加部127については、別途第2の実施の形態で説明する。   The processing unit 12 includes a selection processing unit 121, a data acquisition processing unit 122, a filter execution control unit 123, a filter processing unit 124, an acquisition destination list creation unit 125, and a queue load table update unit 126. Composed. The sleep information adding unit 127 will be described separately in the second embodiment.

選択処理部121は取得先リスト142に示される順にデータ蓄積手段20を選択し、この選択したデータ蓄積手段20をデータ取得先としてデータ取得処理部122へ指示する。   The selection processing unit 121 selects the data storage unit 20 in the order shown in the acquisition destination list 142 and instructs the data acquisition processing unit 122 to use the selected data storage unit 20 as a data acquisition destination.

データ取得処理部122は、選択処理部121により指示されたデータ蓄積手段20からストリームデータを取得する。なお、ストリームデータを取得するタイミングは、例えば、自身のフィルタ処理手段10において処理しているデータがなくなったときでもよいし、処理中のデータが所定の閾値以下となったときでもよい。   The data acquisition processing unit 122 acquires stream data from the data storage unit 20 instructed by the selection processing unit 121. 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テーブル(図示省略)とを参照して、このストリームデータに対し実行すべきフィルタ処理(フィルタオペレーションの適用手順)を決定する。そして、フィルタ実行制御部123は、記憶部14からフィルタオペレーション(FOP)を読み出し、FOPにより記述されるフィルタ処理をフィルタ処理部124に実行させる。   The filter execution control unit 123 should execute this stream data with reference to the SID attached to the stream data acquired from the data acquisition processing unit 122 and the SID table (not shown) of the shared information management unit 30. Determine the filtering process (filter operation application procedure). 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から、このフィルタ処理機能を実現するためのファイルデータ(フィルタオペレーションを含む)をダウンロードし、機能追加を行うようにしてもよい。   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. (Including filter operation) may be downloaded to add functions.

フィルタ処理部124は、フィルタ実行制御部123からの指示に基づき、ストリームデータに対しフィルタ処理を実行する。このフィルタ処理部124におけるフィルタ処理の内容はフィルタオペレーション(FOP)により記述され、フィルタ処理部124は、このFOPに基づきフィルタ処理を実行する。このFOPは例えば「画像フォーマットをJPEG(Joint Photographic Experts Group)から、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 (Joint Photographic Experts Group) 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.

取得先リスト作成部125は、キュー負荷テーブル141をもとに取得先リスト142を作成する。このとき、取得先リスト作成部125は、キュー負荷テーブル141に示される各データ蓄積手段20のうち、キュー負荷が高いデータ蓄積手段20を高い確率で選択するようにする。そして、このような選択を所定回数(例えば、M回)繰り返し、選択した順に、この選択したデータ蓄積手段20の識別情報を取得先リスト142に記録する。例えば、データ蓄積手段20Aにおけるキュー負荷の値が「10」であり、データ蓄積手段20B,20Cのキュー負荷の値がそれぞれ「5」であった場合、フィルタ処理手段10は、10:5:5の確率で選択するようにして、この選択したデータ蓄積手段20の識別情報を取得先リスト142に順次書きこんでいく。このときの取得先リスト142の作成手順の具体例は、図3を用いて後記する。なお、このようにして作成された取得先リスト142は、選択処理部121により、データ取得先のデータ蓄積手段20を選択する際に参照される。   The acquisition destination list creation unit 125 creates the acquisition destination list 142 based on the queue load table 141. At this time, the acquisition destination list creation unit 125 selects the data storage unit 20 having a high queue load among the data storage units 20 shown in the queue load table 141 with a high probability. Such selection is repeated a predetermined number of times (for example, M times), and the identification information of the selected data storage means 20 is recorded in the acquisition destination list 142 in the order of selection. For example, if the queue load value in the data storage means 20A is “10” and the queue load values in the data storage means 20B and 20C are “5”, the filter processing means 10 is 10: 5: 5. The identification information of the selected data storage means 20 is sequentially written in the acquisition destination list 142. A specific example of the procedure for creating the acquisition destination list 142 at this time will be described later with reference to FIG. The acquisition destination list 142 created in this way is referred to when the selection processing unit 121 selects the data storage unit 20 as the data acquisition destination.

キュー負荷テーブル更新部126は、データ蓄積手段20からキュー負荷情報変更通知を受信すると、この通知に含まれるキュー負荷情報を記憶部14に格納する。そして、キュー負荷テーブル更新部126は、このキュー負荷情報をもとに各データ蓄積手段20のキュー負荷cを計算し、その計算した負荷cをキュー負荷テーブル141に書き込む。 When receiving the queue load information change notification from the data storage unit 20, the queue load table update unit 126 stores the queue load information included in this notification in the storage unit 14. Then, queue load table updating unit 126, a queue load c i of each data storage means 20 calculates this queue load information based, write the load c i which is the calculated queue load table 141.

記憶部14は、前記したFOP、このフィルタ処理手段10の機能を実現するプログラム(図示省略)、キュー負荷テーブル141、取得先リスト142等を記憶する。なお、取得先リスト142aについては、別途第2の実施の形態で説明する。このキュー負荷テーブル141および取得先リスト142を、図3を参照しながら説明する。図3は、図1のキュー負荷テーブルに基づく取得先リストの作成を概念的に説明した図である。   The storage unit 14 stores the FOP, a program (not shown) that implements the function of the filter processing unit 10, a queue load table 141, an acquisition destination list 142, and the like. The acquisition destination list 142a will be described separately in the second embodiment. The queue load table 141 and the acquisition destination list 142 will be described with reference to FIG. FIG. 3 is a diagram conceptually illustrating creation of an acquisition destination list based on the queue load table of FIG.

このキュー負荷テーブル141は、図3に示すように、データ蓄積手段20ごとのキュー負荷(負荷)c(データ蓄積手段iで計測されたキュー負荷)を示した情報である。例えば、図3に示すキュー負荷テーブル141において、ID「1」のデータ蓄積手段20のキュー負荷は「10」であることを示す。このキュー負荷cは以下の式(1)により定義される。
=λ+p…式(1)
λ:単位時間あたりの平均入力データ数(入力スループット)
:データ1個あたりの平均処理時間(CPUコスト)
:データ蓄積手段に溜まっているデータ数
従って、これらのΣcは、図3の式(2)のように定義される。なお、データ1個あたりの平均処理時間xは、データ蓄積手段20がフィルタ処理手段10へデータを渡した後に、そのデータが処理されるまでの時間である。つまり、データ蓄積手段20は、フィルタ処理手段10へデータを送出したとき、その送出時刻を記録しておく。そして、フィルタ処理手段10において当該データのフィルタ処理を完了すると、その旨の通知をこのフィルタ処理手段10から受信するので、データ蓄積手段20は、フィルタ処理手段10にデータを渡してからこの通知を受信するまでの時間の平均値を、データ数で割ってデータ1個あたりの平均処理時間xとする。また、前記した式(1)においてpを含めないようにしてもよい。
As shown in FIG. 3, the queue load table 141 is information indicating a queue load (load) c i (queue load measured by the data storage unit i) for each data storage unit 20. For example, the queue load table 141 shown in FIG. 3 indicates that the queue load of the data storage means 20 with ID “1” is “10”. This queue load c i is defined by the following equation (1).
c i = λ i x i + p i x i (1)
λ i : Average number of input data per unit time (input throughput)
x i : Average processing time per data (CPU cost)
p i : Number of data accumulated in the data accumulating means Therefore, these Σc i are defined as in the equation (2) in FIG. The average processing time x i per piece of data is the time until the data is processed after the data storage means 20 delivers the data to the filter processing means 10. That is, when data is sent to the filter processing means 10, the data storage means 20 records the sending time. When the filter processing unit 10 completes the filtering process of the data, a notification to that effect is received from the filter processing unit 10, so the data storage unit 20 passes the data to the filter processing unit 10 and then notifies the notification. the average time until receiving, the average processing time x i per one data is divided by the data number. Further, p i x i may not be included in the above-described formula (1).

また、取得先リスト142は、図3に示すように、データの取得先となるデータ蓄積手段20の識別情報(ID)を取得順に示した情報である。例えば、図3に示す取得先リスト142において、データ取得処理部122は、ID「1」→「1」→「2」→「1」→「1」→…→「1」という順にデータ蓄積手段20からデータを取得することを示す。   Further, as shown in FIG. 3, the acquisition destination list 142 is information indicating the identification information (ID) of the data storage unit 20 that is the acquisition destination of data in the order of acquisition. For example, in the acquisition destination list 142 shown in FIG. 3, the data acquisition processing unit 122 sets the data storage means in the order of ID “1” → “1” → “2” → “1” → “1” →. 20 indicates that data is acquired.

ここで、キュー負荷テーブル141を参照した取得先リスト142の作成手順を、図3を用いて説明する。(1)まず、図1の取得先リスト作成部125は、キュー負荷テーブル141における総負荷Sを求める。ここでの総負荷Sは、図3に例示したキュー負荷テーブル141に示されるcの値から、総負荷S=20となる。(2)次に、取得先リスト作成部125は、1〜20(総負荷S)までの間のランダム値rを生成する。(3)そして、取得先リスト作成部125は、前記した(2)で生成したランダム値rをもとに、データを取得するデータ蓄積手段20を決定(選択)する。例えば、キュー負荷テーブル141に示されるID「1」、「2」、「3」のデータ蓄積手段20のキュー負荷cはそれぞれ「10」、「5」、「5」である。従って、総負荷Sの値「20」を10:5:5に分割し、(2)で生成したランダム値rが1≦r≦10を満たすものであれば、ID「1」のデータ蓄積手段20を選択し、ランダム値rが11≦r≦15を満たすものであれば、ID「2」のデータ蓄積手段20を選択し、ランダム値rが16≦r≦20を満たすものであれば、ID「3」のデータ蓄積手段20を選択する。 Here, a procedure for creating the acquisition source list 142 with reference to the queue load table 141 will be described with reference to FIG. (1) First, the acquisition destination list creation unit 125 in FIG. 1 obtains the total load S in the queue load table 141. The total load S here is the total load S = 20 from the value of c i shown in the queue load table 141 illustrated in FIG. (2) Next, the acquisition destination list creation unit 125 generates a random value r between 1 and 20 (total load S). (3) Then, the acquisition destination list creation unit 125 determines (selects) the data storage unit 20 that acquires data based on the random value r generated in (2) described above. For example, ID "1" shown in the queue load table 141, "2", "3", respectively queue load c i is the data storage unit 20 "10", "5", "5". Therefore, if the value “20” of the total load S is divided into 10: 5: 5 and the random value r generated in (2) satisfies 1 ≦ r ≦ 10, the data storage means with ID “1” is stored. If 20 is selected and the random value r satisfies 11 ≦ r ≦ 15, 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の取得先リスト142は、ストリームデータを取得するデータ蓄積手段20を選択するとき、当該データ蓄積手段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” will be selected is set to 25%. That is, the acquisition destination list 142 of each filter processing unit 10 selects the data storage unit 20 with a probability proportional to the queue load value of the data storage unit 20 when selecting the data storage unit 20 to acquire the stream data. .

(4)取得先リスト作成部125は、前記した(2)、(3)を繰り返すことで、取得先リスト142を作成する。この取得先リスト142は、前記したとおり、データの取得先であるデータ蓄積手段20のキュー負荷の値に比例した確率でデータ蓄積手段20を選択したものである。従って、この取得先リスト142に示されるデータ取得元の各データ蓄積手段20のIDの登場回数は、ほぼ各データ蓄積手段20のキュー負荷の値に比例した回数になる。よって、このような取得先リスト142に基づきデータ取得を行うデータ取得処理部122は、データ蓄積手段20それぞれのキュー負荷の値に比例した頻度でデータ蓄積手段20からデータ取得を行うことになる。   (4) The acquisition destination list creation unit 125 creates the acquisition destination list 142 by repeating the above (2) and (3). As described above, the acquisition destination list 142 is selected from the data storage means 20 with a probability proportional to the queue load value of the data storage means 20 that is the data acquisition destination. Therefore, the number of appearances of the ID of each data storage unit 20 of the data acquisition source shown in the acquisition destination list 142 is approximately proportional to the queue load value of each data storage unit 20. Therefore, the data acquisition processing unit 122 that acquires data based on such an acquisition destination list 142 acquires data from the data storage unit 20 at a frequency proportional to the queue load value of each data storage unit 20.

<動作手順>
次に、図1〜図3を参照しつつ図4を用いて、図1のフィルタ処理手段10の動作手順を説明する。図4は、図1のフィルタ処理手段の動作を示したフローチャートである。
<Operation procedure>
Next, the operation procedure of the filter processing means 10 of FIG. 1 will be described using FIG. 4 with reference to FIGS. FIG. 4 is a flowchart showing the operation of the filter processing means of FIG.

図1のフィルタ処理手段10のキュー負荷テーブル更新部126は、データ蓄積手段20からのキュー負荷情報変更通知の受信を待つ(S101)。そして、キュー負荷テーブル更新部126は、キュー負荷情報変更通知を受信すると(S101のYes)、この通知に含まれるキュー負荷情報を記憶部14に格納する。そして、キュー負荷テーブル更新部126は、このキュー負荷情報をもとに各データ蓄積手段20のキュー負荷cを計算し、その計算した負荷cをもとにキュー負荷テーブル141(図3参照)を更新する(S102)。 The queue load table update unit 126 of the filter processing unit 10 in FIG. 1 waits for reception of a queue load information change notification from the data storage unit 20 (S101). Then, when receiving the queue load information change notification (Yes in S101), the queue load table update unit 126 stores the queue load information included in this notification in the storage unit 14. Then, queue load table updating unit 126, a queue load c i of each data storage means 20 calculates this queue load information based, queue load table 141 (see FIG. 3 based on the load c i that the calculation ) Is updated (S102).

そして、取得先リスト作成部125は、更新したキュー負荷テーブル141をもとに取得先リスト142(図3参照)を作成する(S103)。この取得先リスト142の作成手順については、後記する。そして、取得先リスト作成部125は、作成した取得先リスト142を記憶部14に格納する。   Then, the acquisition destination list creation unit 125 creates the acquisition destination list 142 (see FIG. 3) based on the updated queue load table 141 (S103). The procedure for creating the acquisition source list 142 will be described later. Then, the acquisition destination list creation unit 125 stores the created acquisition destination list 142 in the storage unit 14.

次に、選択処理部121は、この取得先リスト142の位置番号カウンタCに初期値「1」をセットする(S104)。そして、新たなキュー負荷情報変更通知を受信したか否かを判断し(S105)、キュー負荷情報変更通知を受信していないことを確認すると(S105のNo)、選択処理部121は、位置番号カウンタCが取得先リスト142の大きさ(登録されているデータ数M)を超えているか否かを判断する(S106)。ここで、位置番号カウンタCが取得先リスト142の大きさを超えていれば(S106のYes)、選択処理部121は、位置番号カウンタCを初期値「1」に戻し(S107)、S108へ進む。なお、S105でキュー負荷情報変更通知を受信していたとき(S105のYes)、キュー負荷テーブル141の変更が必要なので、S102へ戻る。   Next, the selection processing unit 121 sets an initial value “1” in the position number counter C of the acquisition destination list 142 (S104). Then, it is determined whether or not a new queue load information change notification has been received (S105). When it is confirmed that the queue load information change notification has not been received (No in S105), the selection processing unit 121 determines that the position number It is determined whether or not the counter C exceeds the size of the acquisition destination list 142 (number of registered data M) (S106). If the position number counter C exceeds the size of the acquisition destination list 142 (Yes in S106), the selection processing unit 121 returns the position number counter C to the initial value “1” (S107), and proceeds to S108. move on. When the queue load information change notification is received in S105 (Yes in S105), the queue load table 141 needs to be changed, and the process returns to S102.

一方、位置番号カウンタCが取得先リスト142の大きさを超えていなければ(S106のNo)、選択処理部121はこの位置番号カウンタCに対応するデータ蓄積手段20のIDを取得先リスト142から読み取り(S108)、データ取得処理部122はこの読み取ったIDのデータ蓄積手段20からデータ取得を行う。そして、フィルタ実行制御部123において取得したデータのフィルタ処理を実行する(S109)。そして、選択処理部121は、位置番号カウンタCをインクリメントし(S110)、S105へ戻る。   On the other hand, if the position number counter C does not exceed the size of the acquisition destination list 142 (No in S106), the selection processing unit 121 obtains the ID of the data storage unit 20 corresponding to the position number counter C from the acquisition destination list 142. Reading (S108), the data acquisition processing unit 122 acquires data from the data storage means 20 of the read ID. And the filter process of the data acquired in the filter execution control part 123 is performed (S109). Then, the selection processing unit 121 increments the position number counter C (S110), and returns to S105.

このような処理を行うことで、フィルタ処理手段10は、各データ蓄積手段20の最新のキュー負荷を反映した取得先リスト142を作成する。従って、フィルタ処理手段10は、この最新のキュー負荷を反映した取得先リスト142に従ってデータ蓄積手段20からデータを取得することができる。   By performing such processing, the filter processing unit 10 creates the acquisition destination list 142 reflecting the latest queue load of each data storage unit 20. Therefore, the filter processing unit 10 can acquire data from the data storage unit 20 in accordance with the acquisition destination list 142 reflecting the latest queue load.

次に、図5を用いて、取得先リスト142の作成手順を説明する。図5は、図1の取得先リストの作成手順を示すフローチャートである。   Next, a procedure for creating the acquisition destination list 142 will be described with reference to FIG. FIG. 5 is a flowchart showing a procedure for creating the acquisition destination list of FIG.

まず、取得先リスト作成部125は、ループカウンタaに初期値「0」をセットする(S201)。そして、キュー負荷テーブル141を参照して、すべてのデータ蓄積手段20における負荷cの和S(総負荷S)を計算する(S202)。 First, the acquisition destination list creation unit 125 sets an initial value “0” to the loop counter a (S201). Then, by referring to the queue load table 141, computing the sum S (total load S) of the load c i in all of the data storage unit 20 (S202).

次に、取得先リスト作成部125は、ループカウンタaが取得先リスト142の大きさMよりも大きければ(S203のYes)、取得先リスト142を出力し(S208)、処理を終了する。   Next, if the loop counter a is larger than the size M of the acquisition destination list 142 (Yes in S203), the acquisition destination list creation unit 125 outputs the acquisition destination list 142 (S208) and ends the process.

一方、ループカウンタaの値が取得先リスト142の大きさM以下であれば(S203のNo)、取得先リスト作成部125は、1〜S(S202で計算したすべてのデータ蓄積手段20における負荷cの和)の間の値で、ランダム値rを生成する(S204)。このときのランダム値rの生成は、公知の技術を用いてよい。 On the other hand, if the value of the loop counter a is equal to or smaller than the size M of the acquisition destination list 142 (No in S203), the acquisition destination list creation unit 125 determines 1 to S (loads in all data storage means 20 calculated in S202). a value between c sum of i), generates a random value r (S204). The generation of the random value r at this time may use a known technique.

そして、取得先リスト作成部125は、[c1(1番目のデータ蓄積手段20における負荷)からc(h番目のデータ蓄積手段20における負荷)までの和]≦[r]<[c1(1番目のデータ蓄積手段20における負荷)からch+1(h+1番目のデータ蓄積手段20における負荷)までの和]を満たすhを決定する(S205)。なお、ストリームデータ管理システム1におけるデータ蓄積手段20の数がNであるとき、hは、1≦h≦Nを満たす値である。 Then, the acquisition destination list creating unit 125 adds [c 1 (the load in the first data storage unit 20) to c h (the load in the hth data storage unit 20)] ≦ [r] <[c 1 H satisfying (sum from the load in the first data storage unit 20) to c h + 1 (the load in the h + 1th data storage unit 20)] is determined (S205). When the number of data storage units 20 in the stream data management system 1 is N, h is a value that satisfies 1 ≦ h ≦ N.

次に、取得先リスト作成部125は、取得先リスト142の第a番目の要素として、h番目のデータ蓄積手段20のIDを取得先リスト142に格納する(S206)。そして、取得先リスト作成部125は、ループカウンタaをインクリメントして(S207)、S203へ戻る。   Next, the acquisition destination list creation unit 125 stores the ID of the h-th data storage unit 20 in the acquisition destination list 142 as the a-th element of the acquisition destination list 142 (S206). Then, the acquisition destination list creation unit 125 increments the loop counter a (S207), and returns to S203.

このようにして作成された、取得先リスト142に基づきデータ取得処理部122はデータ蓄積手段20のキュー負荷が高ければ高い頻度で、データ蓄積手段20のキュー負荷が低ければ低い頻度で、データ取得を行う。従って、特定のデータ蓄積手段20だけがデータの待ち行列長が長くなるのを防止できるの。つまり、データ蓄積手段20へのデータ入力量の変化が激しい場合であっても、各データ蓄積手段20においてキュー負荷や待ち行列の長さに偏りがなくなるので、ストリームデータ管理システム1全体の処理能力を著しく低下させないようにすることができる。   Based on the acquisition destination list 142 created in this way, the data acquisition processing unit 122 acquires data at a high frequency when the queue load of the data storage unit 20 is high and at a low frequency when the queue load of the data storage unit 20 is low. I do. Accordingly, only the specific data storage means 20 can prevent the data queue length from becoming long. That is, even if the change in the amount of data input to the data storage means 20 is severe, there is no bias in the queue load or queue length in each data storage means 20, so the processing capacity of the entire stream data management system 1 Can be prevented from being significantly reduced.

≪第2の実施の形態≫
次に、本発明の第2の実施の形態を説明する。第2の実施の形態は、各フィルタ処理手段10のフィルタ処理能力の方が、各データ蓄積手段20におけるキュー負荷の合計を上回るとき、フィルタ処理手段10は適宜スリープ時間を入れながらデータ蓄積手段20からデータ取得を行うことを特徴とする。これにより、フィルタ処理手段10は、データ蓄積手段20から必要以上にデータ取得を行うこと(空振り)が無くなるので、無駄な電気消費を抑制できる。さらに、フィルタ処理手段10は必要以上にデータ蓄積手段20へストリームデータの取得要求を行わないので、データ蓄積手段20の負荷を低減し、データ蓄積手段20はクライアント50からの入力データ受信も滞りなく行うことができる。
<< Second Embodiment >>
Next, a second embodiment of the present invention will be described. In the second embodiment, when the filter processing capability of each filter processing unit 10 exceeds the total queue load in each data storage unit 20, the filter processing unit 10 appropriately puts the sleep time into the data storage unit 20 Data acquisition is performed from As a result, the filter processing unit 10 does not acquire more data than necessary from the data storage unit 20 (idle swing), and therefore, wasteful electricity consumption can be suppressed. Furthermore, since the filter processing unit 10 does not request the data storage unit 20 to acquire more stream data than necessary, the load on the data storage unit 20 is reduced, and the data storage unit 20 receives input data from the client 50 without any delay. It can be carried out.

第2の実施の形態のフィルタ処理手段10は、スリープ情報追加部127を含み、このスリープ情報追加部127は、取得先リスト142aにスリープ時間を設定する。スリープ時間とは、データ取得処理部122にデータ蓄積手段20からのデータ取得を行わせない時間である。図6は、第2の実施の形態の取得先リストを概念的に説明した図である。図6に示すように、取得先リスト142aは、データ取得処理部122の取得先となるデータ蓄積手段20のID以外に、このデータ取得処理部122にデータ取得を行わせないスリープを示す情報(スリープ情報)を含む。このスリープ情報は、データ取得処理部122にデータ取得を行わせない時間(スリープ時間)を含む。選択処理部121において、このスリープ情報を読み取ったとき、スリープ時間が経過するまでデータ取得処理部122にデータ取得を指示しない。   The filter processing means 10 of the second exemplary embodiment includes a sleep information adding unit 127, and the sleep information adding unit 127 sets a sleep time in the acquisition destination list 142a. The sleep time is a time during which the data acquisition processing unit 122 is not allowed to acquire data from the data storage unit 20. FIG. 6 is a diagram conceptually illustrating the acquisition destination list according to the second embodiment. As illustrated in FIG. 6, the acquisition destination list 142 a includes information indicating sleep that does not cause the data acquisition processing unit 122 to acquire data, in addition to the ID of the data storage unit 20 that is the acquisition destination of the data acquisition processing unit 122. Sleep information). This sleep information includes a time during which data acquisition processing unit 122 does not acquire data (sleep time). When the selection processing unit 121 reads this sleep information, it does not instruct the data acquisition processing unit 122 to acquire data until the sleep time has elapsed.

例えば、このような取得先リスト142aに基づき、選択処理部121はデータ取得処理部122にID「1」のデータ蓄積手段20からのデータ取得→スリープ→再度ID「1」のデータ蓄積手段20からのデータ取得→スリープ…というように指示を行う。なお、このスリープ時間の合計は、図6に示すように、データ蓄積手段20の総負荷をS、フィルタ処理手段10の総処理能力をPとしたとき、各フィルタ処理手段10の総負荷を(P−S)に相当する時間まで削減する値とする。例えば、このようなスリープによる負荷削減率(P−S)/P=Rとしたとき、各フィルタ処理手段10におけるスリープ時間は、{R/(1−R)}Sに相当する時間とする。   For example, based on such an acquisition destination list 142a, the selection processing unit 121 causes the data acquisition processing unit 122 to acquire data from the data storage unit 20 with ID “1” → sleep → from the data storage unit 20 with ID “1” again. Data acquisition → Sleep ... and so on. As shown in FIG. 6, the total sleep time is calculated by taking the total load of each filter processing means 10 as S, where S is the total load of the data storage means 20 and P is the total processing capacity of the filter processing means 10 ( The value is reduced to a time corresponding to (PS). For example, when the load reduction rate (PS) / P = R due to such sleep, the sleep time in each filter processing unit 10 is a time corresponding to {R / (1-R)} S.

次に、図7を用いて、スリープ情報追加部127の動作手順を説明する。図7は、第2の実施の形態のスリープ情報追加部の動作手順を示したフローチャートである。図7に示すように、まず、スリープ情報追加部127は、キュー負荷テーブル141から、各データ蓄積手段20の総負荷Sを計算する(S301)。そして、(各フィルタ処理手段10の総処理能力P−総負荷S)が所定の閾値(P×ε)より大きいか否かを判断する(S302)。なお、各フィルタ処理手段10の総処理能力Pの値は、例えば、フィルタ処理手段10に記憶部14に格納してあるものものとする。この総処理能力Pの値は、共有情報管理手段30において管理し、この共有情報管理手段30が各フィルタ処理手段10の総処理能力Pの値が変化したときに、フィルタ処理手段10へ送信するようにしてもよい。また、εの値は、例えば0.2〜0.3程度とする。   Next, the operation procedure of the sleep information adding unit 127 will be described with reference to FIG. FIG. 7 is a flowchart illustrating an operation procedure of the sleep information adding unit according to the second embodiment. As shown in FIG. 7, first, the sleep information adding unit 127 calculates the total load S of each data storage unit 20 from the queue load table 141 (S301). Then, it is determined whether (total processing capacity P-total load S of each filter processing means 10) is greater than a predetermined threshold (P × ε) (S302). In addition, the value of the total processing capacity P of each filter processing means 10 shall be stored in the memory | storage part 14 in the filter processing means 10, for example. The value of the total processing capacity P is managed by the shared information management means 30, and the shared information management means 30 transmits to the filter processing means 10 when the value of the total processing capacity P of each filter processing means 10 changes. You may do it. The value of ε is, for example, about 0.2 to 0.3.

ここで、(各フィルタ処理手段10の総処理能力P−総負荷S)が所定の閾値(P×ε)より大きいとき(S302のYes)、スリープ情報追加部127は、負荷削減率R(=(P−S)/P)を計算する(S303)。そして、スリープ情報追加部127は、{R/(1−R)}Sのスリープを取得先リスト142aへ追加する(S304)。なお、ここで取得先リスト142aに追加するスリープは、{R/(1−R)}Sに0.7〜0.8をかけた値とするのが好ましい。この理由については後記する。   Here, when (total processing capacity P-total load S of each filter processing unit 10) is larger than a predetermined threshold (P × ε) (Yes in S302), the sleep information adding unit 127 loads the load reduction rate R (= (PS) / P) is calculated (S303). Then, the sleep information adding unit 127 adds the sleep of {R / (1-R)} S to the acquisition destination list 142a (S304). Note that the sleep added to the acquisition source list 142a here is preferably a value obtained by multiplying {R / (1-R)} S by 0.7 to 0.8. The reason for this will be described later.

一方、(各フィルタ処理手段10の総処理能力P−総負荷S)が所定の閾値(P×ε)より小さいときは(S302のNo)、取得先リスト142aへのスリープ情報の追加を行わず、処理を終了する。   On the other hand, when (total processing capacity P-total load S of each filter processing means 10) is smaller than the predetermined threshold (P × ε) (No in S302), sleep information is not added to the acquisition destination list 142a. The process is terminated.

なお、(各フィルタ処理手段10の総処理能力P−総負荷S)の値が所定の閾値(P×ε)より大きいときに、取得先リスト142にスリープ時間を設定することにしたのは、(各フィルタ処理手段10の総処理能力P−総負荷S)が小さければ空振りは殆ど発生せず、スリープ時間の設定は不要だからである。   When the value of (total processing capacity P-total load S of each filter processing means 10) is larger than a predetermined threshold (P × ε), the reason for setting the sleep time in the acquisition destination list 142 is that This is because if the (total processing capacity P-total load S of each filter processing means 10) is small, the idling hardly occurs and the setting of the sleep time is unnecessary.

さらに、取得先リスト142aに設定するスリープ時間は、{R/(1−R)}Sに0.7〜0.8をかけた値とするのが好ましいのは、これは以下の理由による。図8は、データ処理における待ち行列長の原理を説明するために引用したグラフである。図8に示すように、ρ=到着率(総負荷)/平均サービス量(総処理能力)としたとき、待ち行列長はほぼ1/(1−ρ)に近い値になることが知られている。つまり、ρ=1近傍、総処理能力P=総負荷Sにすると、待ち行列長は激増する。一方、ρ=0.7〜0.8程度の値であれば、データ蓄積手段20における待ち行列長の増加は抑えられる。つまり、スリープ時間を{R/(1−R)}S×(0.7〜0.8)とした方が、各データ蓄積手段20における待ち行列長の増加が抑制され、かつ空振りも低減できることが期待できるからである。   Furthermore, the sleep time set in the acquisition destination list 142a is preferably set to a value obtained by multiplying {R / (1-R)} S by 0.7 to 0.8 for the following reason. FIG. 8 is a graph quoted for explaining the principle of queue length in data processing. As shown in FIG. 8, when ρ = arrival rate (total load) / average service amount (total processing capacity), the queue length is known to be a value close to 1 / (1-ρ). Yes. That is, if ρ = 1 and the total processing capacity P = total load S, the queue length increases drastically. On the other hand, if the value is about ρ = 0.7 to 0.8, an increase in the queue length in the data storage unit 20 can be suppressed. That is, when the sleep time is set to {R / (1-R)} S × (0.7 to 0.8), an increase in queue length in each data storage unit 20 can be suppressed and idling can be reduced. Because it can be expected.

また、取得先リスト142aへのスリープ情報の設定は、例えば、図6に示すように、取得先リスト142a全体にわたり、まんべんなく設定するのが好ましい。例えば、スリープ時間の合計値を、取得先リスト142に設定される要素数(データ蓄積手段20へのデータ取得の回数)で割った値を、取得先であるデータ蓄積装置20のIDそれぞれの後に均等に設定する。これは、データ取得処理部122が各データ蓄積手段20から何回かデータ取得を行った後、まとめてスリープ時間をとるよりも、データ取得の後にこまめにスリープ時間をとる方が、データ蓄積手段20におけるデータ行列長の増加を抑制できるからである。   Moreover, it is preferable to set the sleep information in the acquisition destination list 142a evenly over the entire acquisition destination list 142a, for example, as shown in FIG. For example, the value obtained by dividing the total value of the sleep time by the number of elements set in the acquisition destination list 142 (the number of times of data acquisition to the data storage unit 20) is after each ID of the data storage device 20 that is the acquisition destination. Set evenly. This is because the data storage means 122 is more likely to take a sleep time after data acquisition than to collect the sleep time after the data acquisition processing unit 122 acquires data from each data storage means 20 several times. This is because an increase in the data matrix length at 20 can be suppressed.

次に、第2の実施の形態のフィルタ処理手段10の動作手順を説明する。図9は、第2の実施の形態のフィルタ処理手段の動作手順を示したフローチャートである。図9のS401,402は、図4のS101,102と同様である。なお、S403における取得先リスト142aの作成は、前記したとおりスリープ情報の設定処理を含む。S404〜S408は、図4のS104〜S108と同様であるが、S408で読み取ったIDが「スリープ」であった場合(S409のYes)、選択処理部121は、スリープ情報に設定されたスリープ時間が経過するまでデータ取得処理部122にデータ取得を指示しない。つまりスリープ情報を読み取った場合、データ取得処理部122は指定時間スリープする(S410)。そして、このスリープ情報に設定されたスリープ時間経過後、選択処理部121は、位置番号カウンタCをインクリメントし(S412)、S405へ戻る。一方、S408で読み取ったIDが「スリープ」でなかった場合(S409のNo)、図4のS109と同様に、選択処理部121はデータ取得処理部122に、この読み取ったIDを持つデータ蓄積手段20からのデータ取得を指示する。そして、フィルタ実行制御部123において取得したデータのフィルタ処理を実行する。   Next, the operation procedure of the filter processing means 10 of the second embodiment will be described. FIG. 9 is a flowchart showing the operation procedure of the filter processing means of the second embodiment. S401 and 402 in FIG. 9 are the same as S101 and 102 in FIG. Note that the creation of the acquisition source list 142a in S403 includes the sleep information setting process as described above. S404 to S408 are the same as S104 to S108 in FIG. 4, but if the ID read in S408 is “sleep” (Yes in S409), the selection processing unit 121 sets the sleep time set in the sleep information. The data acquisition processing unit 122 is not instructed to acquire data until elapses. That is, when the sleep information is read, the data acquisition processing unit 122 sleeps for a specified time (S410). After the sleep time set in the sleep information has elapsed, the selection processing unit 121 increments the position number counter C (S412), and returns to S405. On the other hand, when the ID read in S408 is not “sleep” (No in S409), the selection processing unit 121 causes the data acquisition processing unit 122 to store the data storage unit having the read ID as in S109 of FIG. Data acquisition from 20 is instructed. Then, the filter execution control unit 123 executes filter processing on the acquired data.

このようにすることでフィルタ処理手段10は、データ蓄積手段20から必要以上にデータ取得を行うこと(空振り)が無くなるので、無駄な電気消費を抑制できる。さらに、データ蓄積手段20において、フィルタ処理手段10から必要以上にストリームデータの取得を受け付けることで負荷が増大し、データ蓄積手段20がクライアント50からの入力データを受け付けられないという事態を防止できる。   By doing so, the filter processing means 10 does not acquire data more than necessary from the data storage means 20 (idle swing), and therefore it is possible to suppress wasteful electricity consumption. Furthermore, in the data storage unit 20, it is possible to prevent a situation where the load increases due to receiving stream data acquisition more than necessary from the filter processing unit 10, and the data storage unit 20 cannot receive input data from the client 50.

≪実験結果≫
次に、本実施の形態のストリームデータ管理システム1を用いた実験結果を説明する。
≪Experimental results≫
Next, experimental results using the stream data management system 1 of the present embodiment will be described.

図10は、第2の実施の形態のストリームデータ管理システムを用いた実験結果を示したグラフである。本実験において、比較例のストリームデータ管理システムのフィルタ処理手段は取得先リスト142を持たず、処理すべきデータが無くなった時点でデータ取得先となるデータ蓄積手段を選択するものとした。なお、この比較例におけるデータ蓄積手段の選択方法はラウンドロビンとした。また、データ蓄積手段の数を、それぞれ50個とした場合と、200個とした場合の、両方について実験を行った。グラフの横軸は、各データ蓄積手段の入力スループットの合計値を示し、縦軸は、各データ蓄積手段に必要となるフィルタ処理手段の数を示す。ここで、フィルタ処理手段の1個あたりの処理能力(CPUコスト)は、0.1(sec)とした。また、各データ蓄積手段に必要となるフィルタ処理手段の数とは、いずれか1つのデータ蓄積手段においてキュー長が「600」を超えた時点のフィルタ処理手段の数とした。取得先リスト142の大きさMは、「50」とした。   FIG. 10 is a graph showing a result of an experiment using the stream data management system according to the second embodiment. In this experiment, the filter processing means of the stream data management system of the comparative example does not have the acquisition destination list 142, and selects the data storage means as the data acquisition destination when there is no data to be processed. The selection method of the data storage means in this comparative example was round robin. In addition, an experiment was conducted for both the case where the number of data storage means was 50 and 200 respectively. The horizontal axis of the graph indicates the total input throughput of each data storage unit, and the vertical axis indicates the number of filter processing units required for each data storage unit. Here, the processing capacity (CPU cost) per filter processing means was set to 0.1 (sec). The number of filter processing means required for each data storage means is the number of filter processing means when the queue length exceeds “600” in any one data storage means. The size M of the acquisition destination list 142 is “50”.

図10に示すように、本実験において比較例のストリームデータ管理システムは、データ蓄積手段の数が50個の場合、入力スループットが「200」を超えたあたりで、必要となるフィルタ処理手段の数が50個をはるかに超えてしまっている。また、データ蓄積手段の数が200個の場合、既に、入力スループットが「5」を超えたあたりで、必要となるフィルタ処理手段の数が50個をはるかに超えてしまっている。つまり、比較例の場合、データ蓄積手段の数の増加にともない、少ない入力スループットであっても必要となるフィルタ処理手段の数が爆発的に増加し、システム全体の性能が大きく劣化することが分かる。   As shown in FIG. 10, the stream data management system of the comparative example in this experiment is that the number of filter processing means required when the input throughput exceeds “200” when the number of data storage means is 50. There are far more than 50. When the number of data storage means is 200, the number of necessary filter processing means has already far exceeded 50 when the input throughput exceeds “5”. In other words, in the case of the comparative example, as the number of data storage means increases, the number of necessary filter processing means increases explosively even with a small input throughput, and the performance of the entire system is greatly deteriorated. .

一方、本実施の形態のストリームデータ管理システム1によれば、データ蓄積手段20の入力スループットが増えた場合でも、必要となるフィルタ処理手段10の数は50個までゆるやかな伸びを示す。つまり、本実施の形態のストリームデータ管理システム1によれば、データ蓄積手段20の数が増加しても、システム全体の処理能力があまり劣化しないことが分かる。   On the other hand, according to the stream data management system 1 of the present embodiment, even when the input throughput of the data storage unit 20 increases, the number of necessary filter processing units 10 shows a moderate increase to 50. That is, according to the stream data management system 1 of the present embodiment, it can be seen that the processing capacity of the entire system does not deteriorate much even if the number of data storage means 20 increases.

すなわち、本実施の形態のストリームデータ管理システム1におけるフィルタ処理手段10のように、キュー負荷の値が大きいデータ蓄積手段20ほど高確率で選択して、データ取得先となるデータ蓄積手段20を示した取得先リスト142に設定しておき、この取得先リスト142に示される順にデータ蓄積手段20からデータ取得を行った方が、データ蓄積手段20の入力スループットが増加した場合でも、システム全体の処理能力はあまり劣化しないことが分かる。   That is, the data storage unit 20 that is selected with higher probability as the data storage unit 20 having a larger queue load value, such as the filter processing unit 10 in the stream data management system 1 of the present embodiment, is shown. Even if the input throughput of the data storage unit 20 is increased, the processing of the entire system is performed by setting the data in the acquisition source list 142 and acquiring data from the data storage unit 20 in the order shown in the acquisition source list 142. It turns out that ability does not deteriorate so much.

図11は、第2の実施の形態のストリームデータ管理システムを用いた実験結果を示したグラフである。本実験において、ストリームデータ管理システム1で計算されたスリープ時間を変化させ、各データ蓄積手段20の平均待ち行列長と、各フィルタ処理手段10の空振り率と計測した。ここでのスリープ時間は、計算されたスリープ時間{R/(1−R)}Sに対する乗数を0〜1まで変化させたものとした。また、データ蓄積手段20の数は、「30」とし、フィルタ処理手段10のCPUコストは0.1(sec)とした。図11に示すように、計算されたスリープ時間に対する乗数が「1」の場合、つまり、計算された{R/(1−R)}Sそのものである場合、空振り率は限りなく「0」に近づくが、平均待ち行列長が激増する。一方、計算されたスリープ時間に対する乗数が「0」に近づくにつれて、空振り率は増加する。従って、フィルタ処理手段10の空振り率を低減しつつ、データ蓄積手段20の平均待ち行列長の増加も抑制するには、スリープ時間{R/(1−R)}Sに対する乗数として「0.7〜0.8」を採用するのがよいことが分かる。   FIG. 11 is a graph showing a result of an experiment using the stream data management system according to the second embodiment. In this experiment, the sleep time calculated in the stream data management system 1 was changed, and the average queue length of each data storage means 20 and the idle rate of each filter processing means 10 were measured. The sleep time here was obtained by changing the multiplier for the calculated sleep time {R / (1-R)} S from 0 to 1. The number of data storage means 20 is “30”, and the CPU cost of the filter processing means 10 is 0.1 (sec). As shown in FIG. 11, when the multiplier for the calculated sleep time is “1”, that is, when the calculated {R / (1-R)} S itself, the idling rate is unlimitedly “0”. Approaching, but the average queue length increases dramatically. On the other hand, as the multiplier for the calculated sleep time approaches “0”, the idling rate increases. Therefore, in order to suppress the increase in the average queue length of the data storage unit 20 while reducing the idling rate of the filter processing unit 10, the multiplier for the sleep time {R / (1-R)} S is “0.7. It can be seen that it is better to adopt “˜0.8”.

本実施の形態に係るフィルタ処理手段10、データ蓄積手段20、共有情報管理手段30は、前記したような処理を実行させるプログラムによって実現することができ、そのプログラムをコンピュータによる読み取り可能な記憶媒体(CD−ROM等)に記憶して提供することが可能である。また、そのプログラムを、インターネット等のネットワークを通して提供することも可能である。   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 can be read by a computer-readable storage medium ( CD-ROM etc.) 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のキュー負荷テーブルに基づく取得先リストの作成を概念的に説明した図である。FIG. 2 is a diagram conceptually illustrating creation of an acquisition destination list based on the queue load table of FIG. 1. 図1のフィルタ処理手段の動作を示したフローチャートである。It is the flowchart which showed the operation | movement of the filter process means of FIG. 図1の取得先リストの作成手順を示すフローチャートである。It is a flowchart which shows the preparation procedure of the acquisition destination list | wrist of FIG. 第2の実施の形態の取得先リストを概念的に説明した図である。It is the figure which demonstrated notionally the acquisition destination list of 2nd Embodiment. 第2の実施の形態のスリープ情報追加部の動作手順を示したフローチャートである。It is the flowchart which showed the operation | movement procedure of the sleep information addition part of 2nd Embodiment. データ処理における待ち行列長の原理を説明するために引用したグラフである。It is the graph quoted in order to demonstrate the principle of queue length in data processing. 第2の実施の形態のフィルタ処理手段の動作手順を示したフローチャートである。It is the flowchart which showed the operation | movement procedure of the filter process means of 2nd Embodiment. 第2の実施の形態のストリームデータ管理システムを用いた実験結果を示したグラフである。It is the graph which showed the experimental result using the stream data management system of 2nd Embodiment. 第2の実施の形態のストリームデータ管理システムを用いた実験結果を示したグラフである。It is the graph which showed the experimental result using the stream data management system of 2nd Embodiment.

符号の説明Explanation of symbols

1 ストリームデータ管理システム
10 フィルタ処理手段(フィルタ処理装置)
11,21 入力部
12,22 処理部
13,23 出力部
14,24 記憶部
20 データ蓄積手段(データ蓄積装置)
30 共有情報管理手段
40 キュー割当手段
50 クライアント
60 出力先
62 蓄積処理部
63 検索処理部
70 検索クライアント
121 選択処理部
122 データ取得処理部
123 フィルタ実行制御部
124 フィルタ処理部
125 取得先リスト作成部
126 キュー負荷テーブル更新部
127 スリープ情報追加部
141 キュー負荷テーブル
142,142a 取得先リスト
DESCRIPTION OF SYMBOLS 1 Stream data management system 10 Filter processing means (filter processing apparatus)
DESCRIPTION OF SYMBOLS 11,21 Input part 12,22 Processing part 13,23 Output part 14,24 Storage part 20 Data storage means (data storage apparatus)
30 Shared Information Management Unit 40 Queue Allocation Unit 50 Client 60 Output Destination 62 Storage 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 125 Acquisition Destination List Creation Unit 126 Queue load table update unit 127 Sleep information addition unit 141 Queue load table 142, 142a Acquisition destination list

Claims (8)

複数のフィルタ処理装置によりストリームデータのフィルタ処理を行うストリームデータ管理システムに用いられる前記フィルタ処理装置であって、
各種データの入力を受け付ける入力部と、
複数の情報源より送信されたストリームデータを蓄積する1以上のデータ蓄積装置それぞれから、前記入力部経由で、当該データ蓄積装置におけるキュー負荷の値を示したキュー負荷情報を受信し、この受信したキュー負荷情報をキュー負荷テーブルへ格納するキュー負荷テーブル更新部と、
前記データ蓄積装置それぞれのキュー負荷を示した前記キュー負荷テーブルを記憶する記憶部と、
前記キュー負荷テーブルに示されるデータ蓄積装置のうち、そのキュー負荷の値が大きいデータ蓄積装置ほど高確率で選択し、選択した順に前記データ蓄積装置の識別情報を取得先リストに記録し、前記選択したデータ蓄積装置の識別情報を記録した取得先リストを前記記憶部に格納する取得先リスト作成部と、
前記取得先リストに示される順に前記ストリームデータの取得先となる前記データ蓄積装置を選択する選択処理部と、
前記選択されたデータ蓄積装置から、前記ストリームデータを取得するデータ取得処理部と、
前記取得したストリームデータに対しフィルタ処理を実行するフィルタ処理部と、
前記フィルタ処理後のストリームデータを出力する出力部とを備えることを特徴とするフィルタ処理装置。
The 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;
The queue load information indicating the value of the queue load in the data storage device is received from each of the one or more data storage devices that store the stream data transmitted from a plurality of information sources via the input unit. A queue load table update unit for storing queue load information in the queue load table;
A storage unit for storing the queue load table indicating the queue load of each of the data storage devices;
Among the data storage devices shown in the queue load table, a data storage device having a larger queue load value is selected with a higher probability, and the identification information of the data storage device is recorded in the acquisition destination list in the selected order, and the selection is performed. An acquisition destination list creation unit that stores an acquisition destination list in which the identification information of the data storage device is recorded in the storage unit;
A selection processing unit that selects the data storage device that is the acquisition destination of the stream data in the order shown in the acquisition destination list;
A data acquisition processing unit for acquiring the stream data from the selected data storage device;
A filter processing unit that performs a filtering process on the acquired stream data;
And an output unit that outputs the stream data after the filtering process.
前記キュー負荷情報は、当該データ蓄積装置における(1)入力スループットと、(2)このデータ蓄積装置から送出されたデータの前記フィルタ処理装置におけるデータ1個あたりの平均処理時間とを含むことを特徴とする請求項1に記載のフィルタ処理装置。   The queue load information includes (1) input throughput in the data storage device, and (2) an average processing time per data in the filter processing device of data sent from the data storage device. The filter processing apparatus according to claim 1. 前記記憶部は、前記ストリームデータ管理システムに用いられるフィルタ処理装置それぞれのフィルタ処理能力の合計値Pを記憶し、
前記フィルタ処理装置それぞれのフィルタ処理能力の合計値Pと、前記キュー負荷テーブルに示されるデータ蓄積装置それぞれのキュー負荷の合計値Sとの差(P−S)が、所定の閾値P×εを超えるとき、前記取得先リストに、前記データ取得処理部に前記データ蓄積装置からストリームデータを取得させないスリープ時間を示したスリープ情報を設定するスリープ情報追加部をさらに備え、
前記選択処理部が、前記取得先リストから前記スリープ情報を読み出したとき、
前記データ取得処理部は、
前記読み出したスリープ情報に示されるスリープ時間が経過するまで前記ストリームデータを取得しないことを特徴とする請求項1または請求項2に記載のフィルタ処理装置。
The storage unit stores a total value P of filter processing capacities of filter processing devices used in the stream data management system,
The difference (PS) between the total value P of the filter processing capabilities of the respective filter processing devices and the total value S of the queue loads of the respective data storage devices indicated in the queue load table is a predetermined threshold value P × ε. A sleep information adding unit that sets sleep information indicating a sleep time during which the data acquisition processing unit does not acquire stream data from the data storage device in the acquisition destination list,
When the selection processing unit reads the sleep information from the acquisition destination list,
The data acquisition processing unit
3. The filter processing apparatus according to claim 1, wherein the stream data is not acquired until a sleep time indicated by the read sleep information elapses.
前記εの値は、0.2〜0.3であり、
前記スリープ情報追加部は、
前記スリープ時間の合計値が、前記(P−S)×(0.7〜0.8)となるよう、前記取得先リストに前記スリープ情報を設定することを特徴とする請求項3に記載のフィルタ処理装置。
The value of ε is 0.2 to 0.3,
The sleep information adding unit
The sleep information is set in the acquisition source list so that a total value of the sleep times becomes (PS) × (0.7 to 0.8). Filter processing device.
前記スリープ情報追加部は、
前記取得先リストに前記スリープ情報を設定するとき、前記スリープ時間の合計値を、前記取得先リストに設定されるデータ取得の回数で割った値を、前記取得先リスト上で前記取得先となるデータ蓄積装置の識別情報それぞれの後に設定することを特徴とする請求項3または請求項4に記載のフィルタ処理装置。
The sleep information adding unit
When setting the sleep information in the acquisition destination list, a value obtained by dividing the total value of the sleep time by the number of data acquisitions set in the acquisition destination list becomes the acquisition destination on the acquisition destination list. 5. The filter processing device according to claim 3, wherein the filter processing device is set after each identification information of the data storage device.
請求項1ないし請求項5のいずれか1項に記載のフィルタ処理装置へ、前記ストリームデータを送信するデータ蓄積装置であって、
前記フィルタ処理装置へデータを送出したとき、その時刻を記録し、前記フィルタ処理装置において当該データのフィルタ処理を完了すると、その旨の通知を受信し、当該フィルタ処理装置にデータを送出してから前記通知を受信するまでの時間の平均値を計算し、この計算した平均値を前記送出したデータ数で割って、前記データ蓄積装置から送出されたデータの前記フィルタ処理装置におけるデータ1個あたりの平均処理時間として記録し、
前記データ蓄積装置における(1)入力スループットおよび(2)前記データ蓄積装置から送出されたデータの前記フィルタ処理装置におけるデータ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 data is sent to the filter processing device, the time is recorded, and when the filter processing of the data is completed in the filter processing device, a notification to that effect is received and the data is sent to the filter processing device. The average value of the time until the notification is received is calculated, the calculated average value is divided by the number of transmitted data, and the data sent from the data storage device per data in the filter processing device is calculated. Record as average processing time,
When at least one of (1) input throughput in the data storage device and (2) average processing time per data in the filter processing device of data sent from the data storage device changes to a predetermined threshold value or more The data storage device, wherein the queue load information indicating a queue load value in the data storage device is transmitted to the filter processing device.
複数の情報源より送信されたストリームデータを蓄積する1以上のデータ蓄積装置それぞれのキュー負荷の値を示したキュー負荷テーブルを記憶する記憶部を備え、複数のフィルタ処理装置によりストリームデータのフィルタ処理を行うストリームデータ管理システムに用いられる前記フィルタ処理装置が、
前記データ蓄積装置それぞれから、入力部経由で、当該データ蓄積装置におけるキュー負荷を示したキュー負荷情報を受信し、この受信したキュー負荷情報を前記記憶部のキュー負荷テーブルへ格納するステップと、
前記キュー負荷テーブルに示されるデータ蓄積装置のうち、そのキュー負荷の値が大きいデータ蓄積装置ほど高確率で選択し、この選択したデータ蓄積装置の識別情報を順次取得先リストに記録し、前記選択したデータ蓄積装置の識別情報を記録した取得先リストを前記記憶部に格納するステップと、
前記取得先リストに示される順に前記ストリームデータの取得先となる前記データ蓄積装置を選択するステップと、
前記選択されたデータ蓄積装置から、前記ストリームデータを取得するステップと、
前記取得したストリームデータに対しフィルタ処理を実行するステップと、
前記フィルタ処理後のストリームデータを出力部経由で出力するステップとを実行することを特徴とするフィルタ処理方法。
A storage unit for storing a queue load table indicating a queue load value of each of one or more data storage devices that store stream data transmitted from a plurality of information sources is provided, and a plurality of filter processing devices filter stream data The filter processing device used in the stream data management system for performing
Receiving queue load information indicating the queue load in the data storage device from each of the data storage devices via the input unit, and storing the received queue load information in the queue load table of the storage unit;
Among the data storage devices shown in the queue load table, a data storage device having a larger queue load value is selected with higher probability, and identification information of the selected data storage device is sequentially recorded in the acquisition destination list, and the selection is performed. Storing an acquisition destination list in which the identification information of the data storage device is recorded in the storage unit;
Selecting the data storage device that is the acquisition destination of the stream data in the order shown in the acquisition destination list;
Obtaining the stream data from the selected data storage device;
Performing a filtering process on the acquired stream data;
And a step of outputting the stream data after the filtering process via an output unit.
請求項7に記載のフィルタ処理方法を、フィルタ処理装置であるコンピュータに実行させることを特徴とするフィルタ処理プログラム。   A filter processing program that causes a computer that is a filter processing apparatus to execute the filter processing method according to claim 7.
JP2007277370A 2007-10-25 2007-10-25 Filter processing apparatus, filter processing method, and filter processing program Active JP4714202B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007277370A JP4714202B2 (en) 2007-10-25 2007-10-25 Filter processing apparatus, filter processing method, and filter processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007277370A JP4714202B2 (en) 2007-10-25 2007-10-25 Filter processing apparatus, filter processing method, and filter processing program

Publications (2)

Publication Number Publication Date
JP2009104513A true JP2009104513A (en) 2009-05-14
JP4714202B2 JP4714202B2 (en) 2011-06-29

Family

ID=40706103

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007277370A Active JP4714202B2 (en) 2007-10-25 2007-10-25 Filter processing apparatus, filter processing method, and filter processing program

Country Status (1)

Country Link
JP (1) JP4714202B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011164734A (en) * 2010-02-05 2011-08-25 Nippon Telegr & Teleph Corp <Ntt> System and method for processing stream data, data storage device, and program

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6190253A (en) * 1984-10-09 1986-05-08 Fujitsu Ltd Information processing method and its device using system with queue
JPS63214046A (en) * 1987-03-02 1988-09-06 Matsushita Electric Ind Co Ltd Communication control equipment
JPH05265781A (en) * 1991-12-31 1993-10-15 Internatl Business Mach Corp <Ibm> Multimedia data processing system
JP2003298661A (en) * 2002-04-02 2003-10-17 Matsushita Electric Ind Co Ltd Stream data processing equipment, method therefor, program and medium

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6190253A (en) * 1984-10-09 1986-05-08 Fujitsu Ltd Information processing method and its device using system with queue
JPS63214046A (en) * 1987-03-02 1988-09-06 Matsushita Electric Ind Co Ltd Communication control equipment
JPH05265781A (en) * 1991-12-31 1993-10-15 Internatl Business Mach Corp <Ibm> Multimedia data processing system
JP2003298661A (en) * 2002-04-02 2003-10-17 Matsushita Electric Ind Co Ltd Stream data processing equipment, method therefor, program and medium

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011164734A (en) * 2010-02-05 2011-08-25 Nippon Telegr & Teleph Corp <Ntt> System and method for processing stream data, data storage device, and program

Also Published As

Publication number Publication date
JP4714202B2 (en) 2011-06-29

Similar Documents

Publication Publication Date Title
JP5815512B2 (en) Resource management method, computer system, and program
CN104462225B (en) The method, apparatus and system of a kind of digital independent
US20170346893A1 (en) Peer-to-peer data migration
JP6972714B2 (en) Data acquisition programs, equipment, and methods
EP3349130B1 (en) Data compression method and storage system
JP2012079242A (en) Composite event distribution device, composite event distribution method and composite event distribution program
JP5895944B2 (en) Management device, management program, and management method
JP5218985B2 (en) Memory management method computer system and program
JP2010231502A (en) Job processing method, computer-readable recording medium having stored job processing program, and job processing system
JP2023505783A (en) GPU packet aggregation system
JP4714202B2 (en) Filter processing apparatus, filter processing method, and filter processing program
US20150277801A1 (en) Information processing system, control method of information processing system, and recording medium
JP2012221217A (en) Memory management device, memory management method, and control program
JP2011108014A (en) Virtual machine management device, virtual machine management method, and virtual machine management program
JP2015225560A (en) Virtual machine arrangement device, virtual machine arrangement method, and virtual machine arrangement program
JP5617586B2 (en) Information processing program, relay device, and relay management device
JP2015094976A (en) Information processing apparatus, information processing method, and program
CN111405313B (en) Method and system for storing streaming media data
JP6204287B2 (en) Distributed processing method, processing server, and program
WO2013065151A1 (en) Computer system, data transmission method, and data transmission program
JPWO2016079786A1 (en) Computer system and data processing method
JP6398737B2 (en) Log acquisition management program, log acquisition management device, and log acquisition management method
JP6235973B2 (en) server
JP5899369B2 (en) Garbage collection that selects the area to be released based on the update of reference source information
CN107087010B (en) Intermediate data transmission method and system and distributed system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090128

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100819

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100824

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101014

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110325

R150 Certificate of patent or registration of utility model

Ref document number: 4714202

Country of ref document: JP

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