WO2013011569A1 - ストリームデータ処理サーバ及びストリームデータ処理プログラムを記録した記録媒体 - Google Patents

ストリームデータ処理サーバ及びストリームデータ処理プログラムを記録した記録媒体 Download PDF

Info

Publication number
WO2013011569A1
WO2013011569A1 PCT/JP2011/066408 JP2011066408W WO2013011569A1 WO 2013011569 A1 WO2013011569 A1 WO 2013011569A1 JP 2011066408 W JP2011066408 W JP 2011066408W WO 2013011569 A1 WO2013011569 A1 WO 2013011569A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
statistical value
input
time
stream data
Prior art date
Application number
PCT/JP2011/066408
Other languages
English (en)
French (fr)
Inventor
常之 今木
Original Assignee
株式会社日立製作所
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 株式会社日立製作所 filed Critical 株式会社日立製作所
Priority to JP2013524548A priority Critical patent/JP5634607B2/ja
Priority to PCT/JP2011/066408 priority patent/WO2013011569A1/ja
Priority to US14/003,838 priority patent/US9405795B2/en
Publication of WO2013011569A1 publication Critical patent/WO2013011569A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/147Network analysis or design for predicting network behaviour
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64723Monitoring of network processes or resources, e.g. monitoring of network load
    • H04N21/6473Monitoring network processes errors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content

Definitions

  • the present invention relates to stream data analysis processing using an approximate expression.
  • the stream data processing system targets stream data.
  • the stream data is a data sequence in chronological order that arrives without interruption.
  • the query is a scenario indicating the data to be processed and the processing content, and is described using CQL (Continuous Query Language).
  • sliding windows There are two types of sliding windows. Specifically, a number window that holds n time-series data immediately before the time to be processed and a time window that holds time-series data for n hours immediately before the time to be processed. It is a kind.
  • the stream data processing system can analyze the state at the current time and cope with prediction of future data changes.
  • a computer that processes stream data cuts out time-series data using a sliding window, and analyzes the relationship between time and target values (metrics) for the cut-out time-series data. To do.
  • the computer calculates a relational expression (approximate expression) between time and metrics as an analysis result. As a result, a future change in value can be predicted.
  • Equations (1) and (2) are solutions to the equation shown in Equation (3).
  • An object of the present invention is to provide a stream data processing system that can calculate an approximate expression at low calculation cost without causing overflow even when the time value is large.
  • a typical example of the invention disclosed in the present application is as follows. That is, a processor, a memory connected to the processor, a storage medium connected to the processor, and an interface connected to the processor and connected to another device are continued from the monitored computer system.
  • a stream data processing server for processing incoming stream data wherein the stream data includes a plurality of data with time stamps, and the stream data processing server performs sliding according to a query registered in advance.
  • a stream data processing unit that cuts out the data included in a target processing range from the stream data using a window and executes an analysis process on the cut-out data; and the stream data processing unit Using the collected data.
  • An approximate expression calculation unit for calculating an approximate expression indicating a correspondence relationship between the timestamp and the value of the data, and calculating a predicted value of the data using the calculated approximate expression, and based on the calculated predicted value
  • An abnormality detection unit that predicts the occurrence of an abnormality in the computer system, and the approximate expression calculation unit determines any time stamp of the extracted data as a time origin, and The time stamp is corrected to a relative time value from the origin of the determined time, and the approximate expression is calculated using the corrected time stamp and the data value.
  • FIG. 1 is a block diagram illustrating a configuration example of a stream data processing system according to an embodiment of the present invention.
  • the stream data processing system includes a stream data processing server 100, a monitoring target system, and a plurality of host computers 130 and 140.
  • the stream data processing server 100 is connected to the monitoring target system 120 and the plurality of host computers 130 and 140 via the network 150.
  • the network 150 may be a WAN, a LAN, or the like, but the present invention is not limited to the network connection type.
  • the stream data processing server 100 receives the stream data transmitted from the monitoring target system 120 and processes the stream data according to the instructed query.
  • the stream data includes a plurality of data 122 in time series order.
  • the stream data processing server 100 includes a processor 101, a memory 102, a network interface 104, and a storage 105, and each component is connected via a bus 103.
  • the processor 101 executes various processes by executing a program stored in the memory 102.
  • the memory 102 stores a program executed by the processor 101 and information necessary for executing the program. Specifically, the memory 102 includes a stream data processing unit 110.
  • the stream data processing unit 110 processes stream data.
  • the stream data processing unit 110 reads a query group definition stored in the storage 105 at the start of processing, and configures a query graph based on the read query group definition.
  • the stream data processing unit 110 executes processing according to the query graph.
  • the stream data processing unit 110 includes an approximate expression calculation unit 112 and an abnormality detection unit 113.
  • the approximate expression calculation unit 112 performs an analysis process on the plurality of data 122 cut out by the sliding window, and calculates an approximate expression.
  • the data cut out by the sliding window is also referred to as target data.
  • the sliding window is referred to as a window.
  • the abnormality detection unit 113 detects the occurrence of an abnormality in the monitoring target system 120 using the calculated approximate expression and predicts the occurrence of the abnormality. For example, the abnormality detection unit 113 calculates a predicted value of metrics using an approximate expression, and determines whether the predicted value is equal to or greater than a predetermined threshold value.
  • the network interface 104 is an interface for connecting to the network 150.
  • the storage 105 stores stream data (data 122), a query 132, and other information.
  • the storage 105 may be a storage medium such as an HDD or an SSD.
  • the present invention is not limited to the type of storage medium.
  • the monitoring target system 120 is a computer system composed of a plurality of computers (not shown).
  • a system monitor 121 for monitoring data (metrics) to be monitored is executed on a computer (not shown) constituting the monitoring target system 120.
  • the system monitor 121 collects necessary data from a computer (not shown) constituting the monitoring target system 120, and generates data 122 from the collected data. In addition, the system monitor 121 transmits the generated data 122 to the stream data processing server 100.
  • the host computers 130 and 140 are computers used by users who use the stream data processing server 100, and include a processor (not shown), a memory (not shown), and a network interface (not shown).
  • the abnormality monitoring query operation interface 131 is an interface for registering the abnormality monitoring query 132 and instructing the execution of the abnormality monitoring query 132.
  • the stream data processing server 100 analyzes the abnormality monitoring query 132 and configures a query graph for executing the stream data processing.
  • the stream data processing server 100 processes stream data according to the query graph.
  • the abnormality monitoring process 141 is a process for displaying a processing result to the user and notifying an error or the like based on the result 142 transmitted from the stream data processing server 100.
  • one computer may provide the abnormality monitoring query operation interface 131 and execute the abnormality monitoring process 141.
  • 2 and 3 are explanatory views showing an example of an approximation method using a conventional least square method.
  • an approximation method of the linear expression will be described.
  • the horizontal axis x represents time
  • the vertical axis y represents metrics. Metrics may be, for example, the usage rate of a processor to be monitored and the usage rate of a network band.
  • the time means a time stamp given to the data.
  • the coefficients a and b can be calculated using the equations (1) and (2).
  • the values of the equations (4) to (7) may be obtained in order to calculate the coefficients a and b.
  • S (t) the values shown in the equations (4) to (7) are not distinguished, they are described as a value S (t).
  • the time origin is moved in accordance with the movement of the window. Specifically, the approximate expression calculation unit 112 first determines the time stamp of any one of the extracted data 122 as the origin. Next, the approximate expression calculation unit 112 corrects the time stamp of the cut out data 122 to the relative time from the corrected origin. Along with the time stamp correction processing described above, equations (4) to (7) are also changed.
  • Equation (4) to (7) is deformed as shown Equation (8) to Formula (11). That is, the first problem can be solved by using the relative time. Further, when Expressions (8) to (11) are used, Expressions (1) and (2) can be expressed as Expressions (12) and (13).
  • 4A and 4B are explanatory diagrams illustrating an example of an approximation method using the least square method according to the embodiment of the present invention.
  • the approximate expression calculation unit 112 uses the time stamp of the latest data 411 in the window 410 as the origin.
  • the origin O m of the time before moving the window 410 is the time stamp X t ⁇ 1 of the data 413.
  • the time origin O m is moved to the time stamp X t of the data 423.
  • the data 424 is deleted as the window moves.
  • origin determination method of the present invention is not limited to the above-described method, and any time stamp included in the window 410 may be used as the origin.
  • Equations (8) to (11) are transformed as shown in Equations (14) to (17).
  • d t and z t are values representing a time difference, and are defined as in Expression (18) and Expression (19).
  • the value S (t) is treated as a state value.
  • each module of the approximate expression calculation unit 112 is configured to generate a time difference between the data input process and the data output process.
  • FIG. 5 is an explanatory diagram illustrating a configuration of the approximate expression calculation unit 112 according to the embodiment of this invention.
  • the approximate expression calculation unit 112 includes a data input unit 501, an initial state generation unit 502, a state value storage unit 503, a window data storage unit 504, a data storage unit 505, a state value update unit 506, a coefficient calculation unit 507, and a data output unit. 508.
  • the data input unit 501 receives input of target data.
  • the target data is input in the form of a time stamp and metrics. That is, target data in the format (x, y) is input.
  • target data is input to the data input unit 501 one by one in chronological order.
  • the initial state generation unit 502 When the target data is input to the approximate expression calculation unit 112 for the first time, the initial state generation unit 502 generates an initial value S (0) of the state value and outputs the generated initial value S (0). Specifically, the initial values of the equations (8) to (11) are “0”.
  • the state value storage unit 503 stores the state value S (t). When target data is input for the first time, the state value storage unit 503 stores an initial value S (0).
  • the window data storage unit 504 stores the target data cut out by the window. Further, the window data storage unit 504 executes data update processing as the window moves. Specifically, the following processing is executed.
  • the window data storage unit 504 determines whether there is data to be deleted from the window as the window moves. That is, it is determined whether there is target data that is no longer included in the window as the window moves.
  • the window data storage unit 504 When there is data to be deleted from the window, the window data storage unit 504 outputs the data to the state value update unit 506.
  • data that is erased as the window moves is also referred to as erasure data.
  • the processing of the window data storage unit 504 is different between the number window and the time window. Specific processing will be described later with reference to FIGS.
  • the data storage unit 505 stores target data used for calculating the state value S (t).
  • the data storage unit 505 stores target data that is one time before the target data received by the data input unit 501. For example, when the data input unit 501 receives target data (x 6 , y 6 ), the data storage unit 505 stores the target data (x 5 , y 5 ).
  • State value update unit 506 calculates a state value S (t) using equations (14) to (17) when a value is input from each component unit.
  • the coefficient calculation unit 507 substitutes the state value S (t) into the equations (12) and (13), and the coefficient a And b are calculated.
  • the data output unit 508 generates an approximate expression based on the calculated coefficients a and b, and outputs the generated approximate expression to the abnormality detection unit 113.
  • the state value storage unit 503, the window data storage unit 504, and the data storage unit 505 have a function of storing data in the storage area of the memory 102.
  • the data input unit 501 When the target data is input, the data input unit 501 outputs the target data to the initial state generation unit 502, the window data storage unit 504, the data storage unit 505, and the state value update unit 506.
  • the data input unit 501 generates a minute time delay and outputs the data to the data storage unit 505.
  • the initial state generation unit 502 When the target data is input for the first time, the initial state generation unit 502 generates an initial state value S (0), and outputs the generated initial state value S (0) to the state value storage unit 503.
  • the data storage unit 505 outputs the currently stored target data to the state value update unit 506, and stores new target data after a lapse of a minute time. Thus, the previous time-series target data can be held when processing the input target data.
  • the state value storage unit 503 outputs the currently stored state value S (t) to the state value update unit 506.
  • the state value update unit 506 substitutes the values input from the data input unit 501, the state value storage unit 503, the window data storage unit 504, and the data storage unit 505 into equations (14) to (17), and the window moves.
  • the state value S (t + 1) after the calculation is calculated. Further, the state value update unit 506 outputs the calculated state value S (t + 1) to the state value storage unit 503 and the coefficient calculation unit 507.
  • the state value update unit 506 generates a minute time delay and outputs the update value S (t + 1) to the state value storage unit 503. That is. After the minute time has elapsed, the state value S (t + 1) in the state value storage unit 503 is updated.
  • the consistency between the input and the output is maintained by generating a minute time delay.
  • recursive processing can be realized by providing a minute time delay when data is input to the state value storage unit 503 and the data storage unit 505.
  • the minute time may be shorter than the time accuracy of the time stamp. For example, when the time accuracy of the time stamp is 1 millisecond, a delay of about 1 microsecond or 1 nanosecond may be generated.
  • the input timing of the target data is the same as the generation timing of the disappearance data.
  • the number of target data cut out by the number window is equal to or less than the number of data set in the number window, no disappearance data is generated.
  • the state value update unit 506 it is necessary for the state value update unit 506 to change the calculation formula separately when the disappearance data is input and when the disappearance data is not input.
  • FIG. 6 is a flowchart illustrating processing executed by the state value update unit 506 in the embodiment of the present invention.
  • the state value update unit 506 calculates a time difference dt when target data is input from the data input unit 501 (step S601).
  • the state value update unit 506 determines whether there is annihilation data (step S602).
  • the state value update unit 506 determines whether extinction data is input from the window data storage unit 504. When extinction data is input, it is determined that there is extinction data.
  • the state value update unit 506 calculates the time difference z t (step S603).
  • the state value update unit 506 sets the time difference z t to “0” (step S605).
  • the state value update unit 506 substitutes the values input from each unit into the equations (14) to (17), calculates each state value (step S604), and ends the process.
  • FIG. 7 is an explanatory diagram showing data update timing of each component of the approximate expression calculation unit 112 according to the embodiment of the present invention.
  • FIG. 7 illustrates an example of a number window in which seven pieces of data are cut out.
  • the data input unit 501 receives input of target data (x 6 , y 6 ).
  • the data storage unit 505 stores the target data (x 5 , y 5 ) in the previous time series.
  • Data storage unit 505 outputs the target data (x 5, y 5) to the state value update section 506, the target data (x 5 from the target data (x 6, y 6) is inputted after a lapse of short time, y 5 ) to the target data (x 6 , y 6 ).
  • the state value update unit 506 uses the target data (x 5 , y 5 ), the state value S (5), and the target data (x 6 , y 6 ).
  • the state value S (6) is calculated. Further, the state value update unit 506 outputs the state value S (6) to the state value storage unit 503.
  • the state value storage unit 503 stores the state value S (5) in the previous time series when the target data (x 6 , y 6 ) is input.
  • the state value storage unit 503 updates the state value S (6) after a minute time has elapsed.
  • the update process is executed in the same way when other target data is input.
  • the window data storage unit 504 outputs the disappearance data to the state value update unit 506.
  • the state value update unit 506 calculates the state value S (t) using a mathematical formula having a time difference z t of “0” until data (x 8 , y 8 ) is input.
  • the state value update unit 506 needs to change the calculation formula used for the update process depending on the type of input data.
  • FIG. 8 is a flowchart illustrating processing executed by the state value update unit 506 in the embodiment of the present invention.
  • the state value update unit 506 determines whether or not the input data is extinction data (step S801). Since the determination process is the same as that in step S602, description thereof is omitted.
  • the state value update unit 506 calculates the time difference z t (step S802), and further sets the time difference d t to “0” (step S803). ).
  • the state value update unit 506 substitutes each value into the equations (14) to (17) to calculate the state value S (t) (step S804), and ends the process.
  • the state value update unit 506 calculates the time difference dt (step S805), and further, the time difference z t is set to “0” (step S806).
  • the state value update unit 506 substitutes each value into the equations (14) to (17) to calculate the state value S (t) (step S803), and ends the process.
  • FIG. 9 is an explanatory diagram showing the data update timing of each component of the approximate expression calculation unit 112 according to the embodiment of the present invention.
  • the input timing of the target data and the input timing of the disappearance data are different.
  • the update method of the data input unit 501, the state value storage unit 503, and the data storage unit 505 is the same as that in the case of the number window, the description is omitted.
  • the state value update unit 506 calculates the state value S (6) by executing the processes of step S805, step S806, and step S804.
  • the state value update unit 506 calculates the state value S (7) by executing the processes of steps S802, S803, and S804.
  • the present invention is not limited to a first-order approximation formula, but can be applied to a case of approximating a higher-order polynomial expression.
  • the m-th order approximate expression may be obtained by solving a simultaneous equation having a coefficient that is a sum of powers of x and a sum of products of powers of x and y.
  • representing the state value Sxm (t) is the m-th power sum of the time x at time x t as in Equation (21).
  • the state value Sxm (t ⁇ 1) which is the sum of x to the m-th power at time x t ⁇ 1 , is expressed as in Equation (22).
  • the sum of the product of the power of x and y can be calculated as an approximate expression using the expressions shown in Expression (24) and Expression (25). That is, the approximate expression calculation unit 112 can calculate the coefficient of the m-th order polynomial using a recursive and incremental calculation method with the configuration shown in FIG.
  • the approximate expression calculation unit 112 can calculate the approximate expression while reducing the calculation cost.

Abstract

 ストリームデータの分析処理において、データと時刻との間の関係を示す近似式を算出する場合に桁あふれが発生する可能性がある。 監視対象の計算機システムから継続して到来するストリームデータを処理するストリームデータ処理サーバであって、ストリームデータ処理サーバは、スライディングウィンドウを用いてストリームデータからデータを切り出し、分析処理を実行するストリームデータ処理部を備え、ストリームデータ処理部は、タイムスタンプとデータの値との対応関係を示す近似式を算出する近似式算出部を備え、近似式算出部は、切り出されたデータのいずれかのタイムスタンプを時刻の原点に決定し、タイムスタンプを決定された時刻の原点からの相対的な時刻値に修正し、修正されたタイムスタンプとデータの値とを用いて前記近似式を算出する。

Description

ストリームデータ処理サーバ及びストリームデータ処理プログラムを記録した記録媒体
 ストリームデータの分析処理に関する。特に、近似式を用いたストリームデータの分析処理に関する。
 近年、処理するデータ量が増大しており、リアルタイムにデータを集計し、また、分析することを可能とするストリームデータ処理システムが注目を集めている。ストリームデータ処理システムは、ストリームデータを処理対象とする。ここで、ストリームデータとは、途切れることなく到来する時系列順のデータ列である。
 ストリームデータ処理システムでは、予め定義されたクエリにしたがってデータ処理が実行される。クエリとは、処理の対象とするデータ及び処理内容を示すシナリオであり、CQL(Continuous Query Language)を用いて記載される。
 ストリームデータは、連続的に途切れることなく到来し続けるため、演算対象となるデータを抽出する必要がある。したがって、ストリームデータに対する分析処理では、ストリームデータから有限のデータ集合を切り出すためにスライディングウィンドウが用いられる。
 スライディングウィンドウには、大きく2種類ある。具体的には、処理の対象とする時刻の直前n個分の時系列データを保持する個数ウィンドウと、処理の対象とする時刻の直前n時間分の時系列データを保持する時間ウィンドウとの2種類である。
 スライディングウィンドウを利用することによって、例えば、個数ウィンドウを使用した場合、任意の時刻に対して、直前n個分の入力情報をリアルタイムに近い時刻で集計及び分析することが可能となる。したがって、ストリームデータ処理システムは、現時刻における状態を分析し、将来のデータ変化を予測した対応が可能となる。
 ストリームデータ処理システムでは、ストリームデータを処理する計算機が、スライディングウィンドウを用いて時系列データを切り出し、切り出された時系列データに対して時刻と対象とする値(メトリクス)との間の関係を分析する。当該計算機は、分析結果として、時刻とメトリクスとの間の関係式(近似式)を算出する。これによって、将来の値の変化を予測することができる。
 時刻と対象とする値との間の関係式を算出する方法として、最小二乗法が知られている。例えば、n個の時系列データを抽出する個数ウィンドウを用いて時刻xとメトリクスyとの間の関係を一次式y=ax+bで近似する場合、係数a及びbの値はそれぞれ式(1)及び式(2)を用いて算出できる。ただし、iは時系列データの順番を表す自然数である。
Figure JPOXMLDOC01-appb-M000025

Figure JPOXMLDOC01-appb-M000026
 なお、式(1)及び式(2)は、式(3)に示す方程式の解である。
Figure JPOXMLDOC01-appb-M000027
特開2010-108152号公報
 ストリームデータ処理システムでは、時系列データを継続的に処理するため、長時間経過した場合、すなわち、時刻xの値が大きくなると式(1)及び式(2)の各項の値(各種の和、及びその積)が大きくなる。したがって、計算機における整数表現の桁あふれが発生する。また、桁あふれの発生を抑制するために浮動小数点数を利用したとしても桁落ちが発生する可能性がある。
 本発明は、時刻の値が大きい場合であっても、桁あふれを発生させず、かつ、計算コストを低くして近似式を算出可能なストリームデータ処理システムを提供することを目的とする。
 本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、プロセッサと、前記プロセッサに接続されるメモリと、前記プロセッサに接続される記憶媒体と、前記プロセッサに接続され、他の装置と接続するためのインタフェースとを備え、監視対象の計算機システムから継続して到来するストリームデータを処理するストリームデータ処理サーバであって、前記ストリームデータは、タイムスタンプが付与された複数のデータを含み、前記ストリームデータ処理サーバは、予め登録されたクエリにしたがって、スライディングウィンドウを用いて前記ストリームデータから対象となる処理範囲に含まれる前記データを切り出し、前記切り出されたデータに対して分析処理を実行するストリームデータ処理部を備え、前記ストリームデータ処理部は、前記切り出されたデータを用いて前記タイムスタンプと前記データの値との対応関係を示す近似式を算出する近似式算出部と、前記算出された近似式を用いて前記データの予測値を算出し、前記算出された予測値に基づいて前記計算機システムの異常の発生を予測する異常検出部と、を備え、前記近似式算出部は、前記切り出されたデータのいずれかのタイムスタンプを時刻の原点に決定し、前記切り出されたデータの前記タイムスタンプを、前記決定された時刻の原点からの相対的な時刻値に修正し、修正された前記タイムスタンプと、前記データの値とを用いて前記近似式を算出することを特徴とする。
 本発明の一形態によれば、時刻の原点の修正に伴って、スライディングウィンドウによって切り出されたデータのタイムスタンプを修正することによって、近似式を算出する際の桁あふれの発生を抑制することができる。
本発明の実施形態におけるストリームデータ処理システムの構成例を示すブロック図である。 従来の最小二乗法を用いた近似方法の一例を示す説明図である。 従来の最小二乗法を用いた近似方法の一例を示す説明図である。 本発明の実施形態における最小二乗法を用いた近似方法の一例を示す説明図である。 本発明の実施形態における最小二乗法を用いた近似方法の一例を示す説明図である。 本発明の実施形態の近似式算出部の構成を示す説明図である。 本発明の実施形態における状態値更新部が実行する処理を説明するフローチャートである。 本発明の実施形態における近似式算出部の各構成部のデータの更新タイミングを示す説明図である。 本発明の実施形態における状態値更新部が実行する処理を説明するフローチャートである。 本発明の実施形態における近似式算出部の各構成部のデータの更新タイミングを示す説明図である。
 図1は、本発明の実施形態におけるストリームデータ処理システムの構成例を示すブロック図である。
 ストリームデータ処理システムは、ストリームデータ処理サーバ100、監視対象システム、及び複数のホスト計算機130、140から構成される。
 ストリームデータ処理サーバ100は、ネットワーク150を介して監視対象システム120、及び複数のホスト計算機130、140と接続される。なお、ネットワーク150は、WAN、LANなどを用いることが考えられるが、本発明はネットワークの接続形式に限定されない。
 ストリームデータ処理サーバ100は、監視対象システム120から送信されるストリームデータを受信し、また、指示されたクエリに従ってストリームデータを処理する。ストリームデータは、時系列順の複数のデータ122を含む。
 ストリームデータ処理サーバ100は、プロセッサ101、メモリ102、ネットワークインタフェース104、及びストレージ105を備え、各構成はバス103を介して接続される。
 プロセッサ101は、メモリ102に格納されるプログラムを実行することによって各種処理を実行する。
 メモリ102は、プロセッサ101が実行するプログラム及び当該プログラムを実行するために必要な情報を格納する。具体的には、メモリ102は、ストリームデータ処理部110を備える。
 ストリームデータ処理部110は、ストリームデータを処理する。ストリームデータ処理部110は、処理の開始時に、ストレージ105に格納されるクエリグループの定義を読み出し、読み出されたクエリグループの定義に基づいてクエリグラフを構成する。ストリームデータ処理部110は、クエリグラフに従って処理を実行する。
 ストリームデータ処理部110は、近似式算出部112及び異常検出部113を含む。
 近似式算出部112は、スライディングウィンドウによって切り出された複数のデータ122に対して分析処理を実行して、近似式を算出する。以下、スライディングウィンドウによって切り出されたデータを対象データとも記載する。また、以下では、スライディングウィンドウをウィンドウと記載する。
 異常検出部113は、算出された近似式を用いて監視対象システム120の異常の発生を検出し、また、異常発生を予測する。例えば、異常検出部113は、近似式を用いてメトリクスの予測値を算出し、当該予測値が所定の閾値以上か否かを判定する。
 以下、近似式算出部112及び異常検出部113を主語にして処理を説明する場合、プロセッサ101によって、各構成部を実現するためのプログラムが実行されていることを表す。
 なお、近似式算出部112及び異常検出部113が備える機能は、ハードウェアを用いて実現されてもよい。
 ネットワークインタフェース104は、ネットワーク150と接続するためのインタフェースである。
 ストレージ105は、ストリームデータ(データ122)、クエリ132、及びその他の情報を格納する。ストレージ105は、例えば、HDD及びSSD等の記憶媒体が考えられる。なお、本発明は記憶媒体の種類に限定されない。
 監視対象システム120は、複数の計算機(図示省略)から構成される計算機システムである。監視対象システム120を構成する計算機(図示省略)上では、監視対象となるデータ(メトリクス)を監視するためのシステムモニタ121が実行される。
 システムモニタ121は、監視対象システム120を構成する計算機(図示省略)から必要なデータを収集し、収集されたデータからデータ122を生成する。また、システムモニタ121は、生成されたデータ122をストリームデータ処理サーバ100に送信する。
 ホスト計算機130、140は、ストリームデータ処理サーバ100を利用するユーザが利用する計算機であり、プロセッサ(図示省略)、メモリ(図示省略)、及びネットワークインタフェース(図示省略)を備える。
 ホスト計算機130上では、異常監視クエリ操作インタフェース131を実現するためのプログラムが実行される。異常監視クエリ操作インタフェース131は、異常監視クエリ132を登録し、また、当該異常監視クエリ132の実行を命令するためのインタフェースである。
 なお、ストリームデータ処理サーバ100は、異常監視クエリ132が入力されると、異常監視クエリ132を分析して、ストリームデータ処理を実行するためのクエリグラフを構成する。ストリームデータ処理サーバ100は、クエリグラフにしたがって、ストリームデータを処理する。
 ホスト計算機140上では、異常監視プロセス141が実行される。異常監視プロセス141は、ストリームデータ処理サーバ100から送信された結果142に基づいて、ユーザに処理結果を表示し、エラー等を通知するためのプロセスである。
 なお、一つの計算機が、異常監視クエリ操作インタフェース131を提供し、また、異常監視プロセス141を実行してもよい。
 まず、従来の最小二乗法を用いた近似方法について説明する。
 図2及び図3は、従来の最小二乗法を用いた近似方法の一例を示す説明図である。ここでは、一次式の近似方法について説明する。
 図2及び図3では、横軸xが時刻を表し、縦軸yがメトリクスを表す。メトリクスは、例えば、モニタリングの対象となるプロセッサの使用率、及びネットワーク帯域の使用率などが考えられる。なお、時刻はデータに付与されたタイムスタンプを意味する。
 図2において、個数ウィンドウ200によって切り出された7個の対象データに対して最小二乗法を適用した場合、直線201のような一次式が近似式として算出される。また、図3において、個数ウィンドウ300によって切り出された7個の対象データに対して最小二乗法を適用した場合、直線301のような一次式が近似式として算出される。
 ここで、係数a及びbは、式(1)及び式(2)を用いて算出することができる。式(1)及び式(2)から分かるように係数a及びbを算出するためには、式(4)~式(7)の値を求めればよい。
Figure JPOXMLDOC01-appb-M000028

Figure JPOXMLDOC01-appb-M000029

Figure JPOXMLDOC01-appb-M000030

Figure JPOXMLDOC01-appb-M000031

以下、式(4)~式(7)に示す値を区別しない場合には値S(t)と記載する。
 しかし、前述の算出方法には、以下のような問題点がある。
 第1の問題点は、図3に示すように時刻の絶対値Xが時刻差wより十分大きい場合(w<<X)、ウィンドウ内のデータ間の時刻値の違いが、相対的に意味をなさない値となる。したがって、係数a及びbの値が正しく算出できない。
 これは、時刻xの値が大きくなることによって、式(4)~(7)の値の桁数が大きくなり桁あふれが発生することに該当する。
 そこで、本発明では、ウィンドウの移動に合わせて時刻の原点を移動させる。具体的には、近似式算出部112は、まず、切り出されたデータ122のいずれかのデータ122のタイムスタンプを原点として決定する。次に、近似式算出部112は、切り出されたデータ122のタイムスタンプを修正された原点からの相対時間に修正する。前述したタイムスタンプの修正処理に伴って、式(4)~式(7)も変更される。
 例えば、任意のデータのタイムスタンプxが時刻の原点として決定された場合、式(4)~式(7)は、式(8)~式(11)に示すように変形される。すなわち、相対的な時刻を用いることによって、第1の問題点を解消することができる。
Figure JPOXMLDOC01-appb-M000032

Figure JPOXMLDOC01-appb-M000033

Figure JPOXMLDOC01-appb-M000034

Figure JPOXMLDOC01-appb-M000035

また、式(8)~式(11)を用いると式(1)及び式(2)は、式(12)及び式(13)のように表すことができる。
Figure JPOXMLDOC01-appb-M000036

Figure JPOXMLDOC01-appb-M000037
 図4A及び図4Bは、本発明の実施形態における最小二乗法を用いた近似方法の一例を示す説明図である。
 近似式算出部112は、ウィンドウ410内の最新のデータ411のタイムスタンプを原点とする。
 図4A及び図4Bに示す例では、ウィンドウ410を移動させる前の時刻の原点Oは、データ413のタイムスタンプXt-1である。ウィンドウ410の移動に伴って時刻の原点Oがデータ423のタイムスタンプXに移動される。このとき、ウィンドウの移動に伴ってデータ424が消去される。
 なお、本発明の原点の決定方法は前述したものに限定されず、ウィンドウ410内に含まれるいずれかのタイムスタンプを原点とすればよい。
 このとき、式(4)~(7)は、式(8)~(11)に示すような式となる。これによって、時刻の絶対値の増大による式(4)~(7)の桁あふれを回避することができる。したがって、第1の問題点は、時刻の原点を移動させることによって解決できる。
 しかし、ウィンドウのサイズが大きくなるにしたがって、式(8)~式(11)の計算コストが増大するという第2の問題点が存在する。
 そこで、本発明では、ウィンドウを移動させる前に算出された値S(t)から、次に算出する値S(t)を求めるインクリメンタルな算出方法を用いる。具体的には、式(8)~式(11)を式(14)~式(17)に示すように変形する。
Figure JPOXMLDOC01-appb-M000038

Figure JPOXMLDOC01-appb-M000039

Figure JPOXMLDOC01-appb-M000040

Figure JPOXMLDOC01-appb-M000041

ここで、d及びzは時刻差を表す値であり、式(18)及び式(19)のように定義される。
Figure JPOXMLDOC01-appb-M000042

Figure JPOXMLDOC01-appb-M000043
 なお、ウィンドウを移動させたときに、古いデータが消去されない場合には式(12)のzは「0」となる。
 本実施形態では値S(t)を状態値として扱う。これによって、値S(t)を算出するために式(8)~式(11)に示すようなSUM計算を実行する必要がなくなり、第2の問題点を解決することができる。
 インクリメンタルな算出方法を実現する場合に、更新した値S(t)を再度入力として扱わなければならないという第3の問題点が発生する。すなわち、更新値を新たな入力として次の更新値を算出する再帰的な演算処理が必要となる。しかし、再帰的な演算をするためには単純なループ処理では、入力と出力とが同時に発生し、算出処理が収束しないため、再帰的な演算処理を実現することが困難となる。
 そこで、本発明ではデータの入力処理とデータの更新処理との間に時間差を発生させる。本発明では、データの入力処理とデータの出力処理との間に時間差を発生させるために、近似式算出部112の各モジュールを構成している点に特徴がある。
 図5は、本発明の実施形態の近似式算出部112の構成を示す説明図である。
 近似式算出部112は、データ入力部501、初期状態生成部502、状態値格納部503、ウィンドウデータ格納部504、データ格納部505、状態値更新部506、係数算出部507、及びデータ出力部508を備える。
 データ入力部501は、対象データの入力を受け付ける。なお、対象データは、タイムスタンプ及びメトリクスの形式で入力される。すなわち、(x,y)の形式の対象データが入力される。
 また、本発明ではインクリメンタルな処理が実行されるため、データ入力部501には対象データが時系列順に一つずつ入力される。
 初期状態生成部502は、近似式算出部112に初めて対象データが入力された場合に、状態値の初期値S(0)を生成し、生成された初期値S(0)を出力する。具体的には、式(8)~式(11)の各初期値は「0」となる。
 状態値格納部503は、状態値S(t)を格納する。なお、対象データが初めて入力された場合には、状態値格納部503は初期値S(0)を格納する。
 ウィンドウデータ格納部504は、ウィンドウによって切り出された対象データを格納する。また、ウィンドウデータ格納部504は、ウィンドウの移動に伴ってデータ更新処理を実行する。具体的には、以下のような処理が実行される。
 ウィンドウデータ格納部504は、ウィンドウの移動に伴って、当該ウィンドウから消去されるデータが存在するか否かを判定する。すなわち、ウィンドウの移動に伴って、当該ウィンドウ内に含まれなくなった対象データが存在するか否かが判定される。
 当該ウィンドウから消去されるデータが存在する場合、ウィンドウデータ格納部504は、当該データを状態値更新部506に出力する。以下、ウィンドウの移動に伴って消去されるデータを消滅データとも記載する。
 個数ウィンドウの場合、対象データの入力と消滅データの入力とは同一のタイミングになる。一方、時間ウィンドウの場合、対象データの入力と消滅データの入力とは異なるタイミングとなる。したがって、ウィンドウデータ格納部504の処理は、個数ウィンドウと時間ウィンドウとでは異なる。具体的な処理については、図6及び図8を用いて後述する。
 データ格納部505は、状態値S(t)を算出するために用いる対象データを格納する。データ格納部505には、データ入力部501が受け付けた対象データより時系列が一つ前の対象データが格納される。例えば、データ入力部501が、対象データ(x,y)を受け付けた場合、データ格納部505は、対象データ(x,y)が格納される。
 状態値更新部506は、各構成部から値が入力されると、式(14)~(17)を用いて状態値S(t)を算出する。
 なお、個数ウィンドウと時間ウィンドウとで更新処理が異なる。これは、対象データの入力タイミングと消滅データの入力タイミングとが異なることに起因する。状態値更新部506が実行する処理の詳細については、図6及び図8を用いて後述する。
 係数算出部507は、状態値更新部506によって算出された状態値S(t)が入力されると、当該状態値S(t)を式(12)及び式(13)に代入し、係数a及びbを算出する。
 データ出力部508は、算出された係数a及びbに基づいて近似式を生成し、生成された近似式を異常検出部113に出力する。
 なお、状態値格納部503、ウィンドウデータ格納部504、及びデータ格納部505は、メモリ102の記憶領域にデータを格納する機能を有する。
 以下、近似式算出部112のデータの流れについて説明する。
 データ入力部501は、対象データが入力されると、当該対象データを、初期状態生成部502、ウィンドウデータ格納部504、データ格納部505及び状態値更新部506に出力する。
 このとき、データ入力部501は、微小時間の遅延を発生させてデータ格納部505にデータを出力する。
 初期状態生成部502は、初めて対象データが入力される場合、初期の状態値S(0)を生成し、生成された初期の状態値S(0)を状態値格納部503に出力する。
 データ格納部505は、現在格納されている対象データを状態値更新部506に出力し、微小時間経過後に新たな対象データを格納する。これによって、入力された対象データに対する処理を実行する時に、一つ前の時系列の対象データを保持することができる。
 状態値格納部503は、現在格納されている状態値S(t)を状態値更新部506に出力する。
 状態値更新部506は、データ入力部501、状態値格納部503、ウィンドウデータ格納部504、及びデータ格納部505から入力された値を式(14)~(17)に代入し、ウィンドウが移動した後の状態値S(t+1)を算出する。さらに、状態値更新部506は、算出された状態値S(t+1)を、状態値格納部503及び係数算出部507に出力する。
 このとき、状態値更新部506は、微小時間の遅延を発生させて状態値格納部503に更新値S(t+1)を出力する。すなわち。微小時間経過後に、状態値格納部503の状態値S(t+1)が更新される。
 これは、遅延を発生させずに状態値格納部503に更新値S(t+1)が入力されると、更新値S(t+1)を入力として新たな更新値S(t+1)が算出されるため、演算処理が収束しないという問題が発生するためである。
 そこで、本発明では、微小時間の遅延を発生させることによって、入力と出力との整合性を保つようにしている。
 以上のように、状態値格納部503及びデータ格納部505へのデータ入力時に微小時間の遅延を設けることによって再帰的な処理を実現することが可能となる。
 なお、近似式算出部112のデータフローを実現するためには、特許文献1に記載された再帰クエリによって実現することができる。
 なお、微小時間はタイムスタンプの時刻精度より短い時間であればよく、例えば、タイムスタンプの時刻精度が1ミリ秒である場合、1マイクロ秒又は1ナノ秒程度の遅延を発生させればよい。
 次に、各構成部の処理の流れについて説明する。なお、個数ウィンドウと時間ウィンドウとでは処理の手順が異なるため、それぞれのウィンドウ毎に説明する。まず、個数ウィンドウについて説明する。
 個数ウィンドウの場合、対象データの入力タイミングと消滅データの発生タイミングとが同一である。ただし、個数ウィンドウによって切り出される対象データの数が、当該個数ウィンドウに設定されたデータ数以下の場合、消滅データは発生しない。
 したがって、状態値更新部506は、消滅データが入力される場合と、消滅データが入力されない場合とに分けて算出式を変更する必要がある。
 図6は、本発明の実施形態における状態値更新部506が実行する処理を説明するフローチャートである。
 まず、状態値更新部506は、データ入力部501から対象データが入力されると時間差dを算出する(ステップS601)。
 次に、状態値更新部506は、消滅データがあるか否かを判定する(ステップS602)。
 具体的には、状態値更新部506は、ウィンドウデータ格納部504から消滅データが入力されたか否かを判定する。消滅データが入力された場合には、消滅データがあると判定される。
 消滅データが発生したと判定された場合、状態値更新部506は、時刻差zを算出する(ステップS603)。
 消滅データがないと判定された場合、状態値更新部506は、時刻差zを「0」に設定する(ステップS605)。
 状態値更新部506は、各部から入力された値を式(14)~式(17)に代入して、各状態値を算出し(ステップS604)、処理を終了する。
 次に、近似式算出部112におけるデータの更新タイミングについて説明する。
 図7は、本発明の実施形態における近似式算出部112の各構成部のデータの更新タイミングを示す説明図である。
 図7では、7個のデータを切り出す個数ウィンドウの場合を例に説明する。
 データ入力部501が対象データ(x,y)の入力を受け付ける。
 このとき、データ格納部505には、時系列が一つ前の対象データ(x,y)が格納されている。データ格納部505は、対象データ(x,y)を状態値更新部506に出力し、対象データ(x,y)が入力されてから微小時間経過後に対象データ(x,y)から対象データ(x,y)に更新する。
 状態値更新部506は、対象データ(x,y)が入力されると、対象データ(x,y)、状態値S(5)及び対象データ(x,y)を用いて状態値S(6)を算出する。また、状態値更新部506は、状態値S(6)を状態値格納部503に出力する。
 状態値格納部503は、対象データ(x,y)が入力された時点では時系列が一つ前の状態値S(5)を格納している。状態値格納部503は、状態値更新部506から状態値S(6)が入力されると微小時間経過後に、状態値S(6)に更新する。
 他の対象データが入力された場合も同様に更新処理が実行される。
 ウィンドウデータ格納部504は、消滅データを状態値更新部506に出力する。図7に示す例では、7個のデータを切り出す個数ウィンドウを用いているため、データ(x,y)が入力されたときに初めて、その7個前に入力されていたデータの消滅を表す、消滅データ(x,y)が発生する。したがって、状態値更新部506は、データ(x,y)が入力されるまでは、時刻差zが「0」の数式を用いて状態値S(t)を算出する。
 次に、時間ウィンドウについて説明する。
 時間ウィンドウの場合、対象データの入力タイミングと消滅データの入力タイミングとが異なる。したがって、状態値更新部506は入力されたデータの種類によって更新処理に用いる算出式を変更する必要がある。
 図8は、本発明の実施形態における状態値更新部506が実行する処理を説明するフローチャートである。
 状態値更新部506は、入力されたデータが消滅データであるか否かを判定する(ステップS801)。当該判定処理は、ステップS602と同一であるため説明を省略する。
 入力されたデータが消滅データであると判定された場合、状態値更新部506は、時刻差zを算出し(ステップS802)、さらに、時刻差dを「0」に設定する(ステップS803)。
 これは、新たな対象データが入力されていないため時刻の原点を移動させる必要がないためである。
 状態値更新部506は、各値を式(14)~(17)に代入して、状態値S(t)を算出し(ステップS804)、処理を終了する。
 入力されたデータが消滅データでないと判定された場合、すなわち、入力されたデータが対象データである場合、状態値更新部506は、時刻差dを算出し(ステップS805)、さらに、時刻差zを「0」に設定する(ステップS806)。
 状態値更新部506は、各値を式(14)~(17)に代入して、状態値S(t)を算出し(ステップS803)、処理を終了する。
 次に、近似式算出部112におけるデータの更新タイミングについて説明する。
 図9は、本発明の実施形態における近似式算出部112の各構成部のデータの更新タイミングを示す説明図である。
 ここでは、時間ウィンドウのサイズが「T」である場合を例に説明する。
 時間ウィンドウでは、対象データの入力タイミングと消滅データの入力タイミングとが異なる。ただし、データ入力部501、状態値格納部503、及びデータ格納部505の更新方法は、個数ウィンドウの場合と同一であるため説明を省略する。
 図9に示す例では、対象データ(x,y)が入力された時点では、消滅データは発生しない。このとき、状態値更新部506は、ステップS805、ステップS806及びステップS804の処理を実行して状態値S(6)を算出する。
 また、時刻x=x+Tの時、すなわちデータ(x,y)が入力されてからウィンドウサイズの時間Tが経過したときに消滅データ(x,y)が発生し、当該消滅データ(x,y)が状態値更新部506に入力される。このとき、状態値更新部506は、ステップS802、ステップS803及びステップS804の処理を実行して状態値S(7)を算出する。
 [変形例]
 本発明は、一次の近似式に限定されず、高次の多項式に近似する場合にも適用することができる。
 例えば、2次の近似式y=ax+bx+cの場合には、式(20)に示す連立方程式を解くことによって係数a、b及びcを求めることができる。
Figure JPOXMLDOC01-appb-M000044
 一般的に、m次の近似式は、xのべき乗の和、及び、xのべき乗とyとの積の和を係数とする連立方程式の解を求めればよい。ここで、時刻xにおける時刻xのm乗の和である状態値Sxm(t)を式(21)のように表す。このとき、時刻xt-1におけるxのm乗の和である状態値Sxm(t-1)は式(22)のように表される。
Figure JPOXMLDOC01-appb-M000045

Figure JPOXMLDOC01-appb-M000046
 ここで、式(21)を式(23)に示すように変形すると1次の近似式と同様に一つ前の状態値Sxm(t-1)からインクリメンタルな演算によって状態値Sxm(t)が算出することが分かる。
Figure JPOXMLDOC01-appb-M000047
 同様に、xのべき乗とyとの積の和は、式(24)及び式(25)に示すような式を用いて近似式を算出することが可能となる。すなわち、近似式算出部112は、図5に示すような構成によって再帰的かつインクリメンタルな算出方法を用いてm次の多項式の係数を算出できる。
Figure JPOXMLDOC01-appb-M000048

Figure JPOXMLDOC01-appb-M000049
 但し、m≧1とする。また、Sx1(t)=Sx(t)、Syx1(t)=Syx(t)、Sx0(t)=n、及びSyx0(t)=Sy(t)とする。
 本発明の一形態によれば、ウィンドウの移動に伴って時刻の原点を移動させることによって、桁あふれの発生を抑制することができる。また、対象データ及び状態値の更新において微小時間の遅延を発生させることによって再帰的かつインクリメンタルな演算処理を実現できる。これによって、近似式算出部112は、計算コストを低減して近似式の算出が可能となる。
 以上、本発明の実施形態について説明したが、これらは本発明を説明するための例示であり、本発明の適応範囲を例示した形態のみに限定するものではない。また、前述した実施形態のいかなる組み合わせも本発明の実施形態となりうる。

Claims (12)

  1.  プロセッサと、前記プロセッサに接続されるメモリと、前記プロセッサに接続される記憶媒体と、前記プロセッサに接続され、他の装置と接続するためのインタフェースとを備え、監視対象の計算機システムから継続して到来するストリームデータを処理するストリームデータ処理サーバであって、
     前記ストリームデータは、タイムスタンプが付与された複数のデータを含み、
     前記ストリームデータ処理サーバは、予め登録されたクエリにしたがって、スライディングウィンドウを用いて前記ストリームデータから対象となる処理範囲に含まれる前記データを切り出し、前記切り出されたデータに対して分析処理を実行するストリームデータ処理部を備え、
     前記ストリームデータ処理部は、
     前記切り出されたデータを用いて前記タイムスタンプと前記データの値との対応関係を示す近似式を算出する近似式算出部と、
     前記算出された近似式を用いて前記データの予測値を算出し、前記算出された予測値に基づいて前記計算機システムの異常の発生を予測する異常検出部と、を備え、
     前記近似式算出部は、
     前記切り出されたデータのいずれかのタイムスタンプを時刻の原点に決定し、
     前記切り出されたデータの前記タイムスタンプを、前記決定された時刻の原点からの相対的な時刻値に修正し、
     修正された前記タイムスタンプと、前記データの値とを用いて前記近似式を算出することを特徴とするストリームデータ処理サーバ。
  2.  前記近似式算出部は、最小二乗法を用いて前記近似式を算出し、
     前記近似式算出部は、
     前記切り出されたデータの入力を受け付ける入力部と、
     前記入力部が受け付けたデータを格納するデータ格納部と、
     前記切り出されたデータに基づいて前記近似式の係数を算出するために用いる統計値を算出する統計値算出部と、
     前記算出された統計値を格納する統計値格納部と、
     前記統計値を用いて前記近似式の係数を算出する係数算出部と、
    を有し、
     前記入力部が第1のデータの入力を受け付けた場合に、前記統計値算出部は、前記第1のデータが入力される前に入力された前記データに基づいて算出された第1の統計値と、前記第1のデータとを用いて、第2の統計値を算出することを特徴とする請求項1に記載のストリームデータ処理サーバ。
  3.  前記入力部は、
     前記第1のデータを受け付けた直後に、前記統計値算出部に前記第1のデータを出力し、
     前記第1のデータを受け付けてから微小時間経過後に、前記データ格納部に前記第1のデータを出力し、
     前記データ格納部は、前記第1のデータが入力される直前に入力された前記データを前記統計値算出部に出力した後に、前記第1のデータを格納し、
     前記統計値算出部は、
     前記第2の統計値を算出した直後に、前記算出された第2の統計値を前記係数算出部に出力し、
     前記第2の統計値を算出してから微小時間経過後に、前記算出された第2の統計値を前記統計値格納部に出力し、
     前記統計値格納部は、前記第1の統計値を前記統計値算出部に出力した後に、前記算出された第2の統計値を格納することを特徴とする請求項2に記載のストリームデータ処理サーバ。
  4.  前記近似式算出部は、
     前記タイムスタンプがxt-n+1~xまでのn個の前記データを用いて、前記データの値yと前記タイムスタンプxとの間の関係を示す一次式y=ax+bを算出する場合に、最も現在の時刻に近い前記タイムスタンプxを前記時刻の原点として決定し、
     式(1)、式(2)、式(3)、及び式(4)に示す前記統計値を算出し、
     式(5)及び式(6)を用いて前記一次式の係数a及びbを算出することを特徴とする請求項3に記載のストリームデータ処理サーバ。
    Figure JPOXMLDOC01-appb-M000001

    Figure JPOXMLDOC01-appb-M000002

    Figure JPOXMLDOC01-appb-M000003

    Figure JPOXMLDOC01-appb-M000004

    Figure JPOXMLDOC01-appb-M000005

    Figure JPOXMLDOC01-appb-M000006
  5.  前記統計値格納部が、前記タイムスタンプがxt-1である前記第1の統計値を格納し、
     前記入力部がタイムスタンプの値がxである前記第1のデータの入力を受け付けた場合に、前記統計値算出部は、式(7)、式(8)、式(9)、式(10)、式(11)、及び式(12)を用いて前記第2の統計値を算出することを特徴とする請求項4に記載のストリームデータ処理サーバ。
    Figure JPOXMLDOC01-appb-M000007

    Figure JPOXMLDOC01-appb-M000008

    Figure JPOXMLDOC01-appb-M000009

    Figure JPOXMLDOC01-appb-M000010

    Figure JPOXMLDOC01-appb-M000011

    Figure JPOXMLDOC01-appb-M000012
  6.  前記近似式算出部は、
     前記処理範囲を変更した場合に、前記変更前の処理範囲に含まれるが、前記変更後の処理範囲に含まれない前記データである消滅データがあるか否かを判定し、
     前記消滅データがないと判定された場合には、zが0である場合の式(7)、式(8)、及び式(9)を用いて前記第2の統計値を算出することを特徴とする請求項5に記載のストリームデータ処理サーバ。
  7.  プロセッサと、前記プロセッサに接続されるメモリと、前記プロセッサに接続される記憶媒体と、前記プロセッサに接続され、他の装置と接続するためのインタフェースとを備え、監視対象の計算機システムから継続して到来するストリームデータを処理する計算機が実行するストリームデータ処理プログラムを記録した記録媒体であって、
     前記ストリームデータは、タイムスタンプが付与された複数のデータを含み、
     前記メモリは、予め登録されたクエリの定義情報を格納し、
     前記ストリームデータ処理プログラムは、
     前記クエリの定義情報にしたがって、スライディングウィンドウを用いて前記ストリームデータから対象となる処理範囲に含まれる前記データを切り出す第1の手順と、
     前記切り出されたデータを用いて前記タイムスタンプと前記データの値との対応関係を示す近似式を算出する第2の手順と、
     前記算出された近似式を用いて前記データの予測値を算出し、前記算出された予測値に基づいて前記計算機システムの異常の発生を予測する第3の手順と、
     を前記プロセッサに実行させ、
     前記第2の手順は、
     前記切り出されたデータのいずれかのタイムスタンプを時刻の原点に決定する手順と、
     前記切り出されたデータの前記タイムスタンプを、前記決定された時刻の原点からの相対的な時刻値に修正する手順と、
     修正された前記タイムスタンプと、前記データの値とを用いて前記近似式を算出する手順とを含むことを特徴とするストリームデータ処理プログラムを記録した記録媒体。
  8.  前記ストリームデータ処理プログラムは、
     最小二乗法を用いて前記近似式を算出される手順を前記プロセッサに実行させ、
     前記データの入力を受け付ける入力手段と、
     前記入力部が受け付けたデータを格納するデータ格納手段と、
     前記切り出されたデータに基づいて前記近似式の係数を算出するために用いる統計値を算出する統計値算出手段と、
     前記算出された統計値を格納する統計値格納手段と、
     前記統計値を用いて前記近似式の係数を算出する係数算出手段と、
    を有し、
     前記第2の手段は、前記入力手段によって第1のデータの入力を受け付けた場合に、前記第1のデータが入力を受け付ける前に入力された全ての前記データに基づいて算出された第1の統計値と前記第1のデータとを用いて、第2の統計値を算出する手順を前記統計値算出手段に実行させる手順を含むことを特徴とする請求項7に記載のストリームデータ処理プログラムを記録した記録媒体。
  9.  前記第1のデータを受け付けた直後に、前記統計値格納手段に前記第1のデータを出力する手順と、前記第1のデータを受け付けてから微小時間経過後に、前記データ格納手段に前記第1のデータを出力する手順とを、前記入力手段に実行させ、
     前記第1のデータが入力される直前に入力された前記データを前記統計値算出手段に出力した後に、前記第1のデータを格納する手順を前記データ格納手段に実行させ、
     前記第2の統計値が算出された直後に、前記算出された第2の統計値を前記係数算出手段に出力する手段と、前記第2の統計値が算出されてから微小時間経過後に、前記算出された第2の統計値を前記統計値格納手段に出力させる手順とを、前記統計値算出手段に実行させ、
     前記第1の統計値を前記統計値算出手段に出力する手順と、その後、前記算出された第2の統計値を格納する手順とを前記統計値格納手段に実行させることを特徴とする請求項8に記載のストリームデータ処理プログラムを記録した記録媒体。
  10.  前記第2の手順は、
     前記タイムスタンプがxt-n+1~xまでのn個の前記データを用いて、前記データの値yと前記タイムスタンプxとの間の関係を示す一次式y=ax+bを算出する場合に、最も現在の時刻に近い前記タイムスタンプxを前記時刻の原点として決定する手順と、
     式(13)、式(14)、式(15)、及び式(16)に示す前記統計値を算出する手順と、
     式(17)及び式(18)を用いて前記一次式の係数a及びbを算出する手順と、を前記近似式算出手段に実行させることを特徴とする請求項9に記載のストリームデータ処理プログラムを記録した記録媒体。
    Figure JPOXMLDOC01-appb-M000013

    Figure JPOXMLDOC01-appb-M000014

    Figure JPOXMLDOC01-appb-M000015

    Figure JPOXMLDOC01-appb-M000016

    Figure JPOXMLDOC01-appb-M000017

    Figure JPOXMLDOC01-appb-M000018
  11.  前記統計値格納手段によって前記タイムスタンプがxt-1である前記第1の統計値が格納され、前記入力手段によってタイムスタンプの値がxである前記第1のデータの入力が受け付けられた場合に、式(19)、式(20)、式(21)、式(22)、式(23)、及び式(24)を用いて前記第2の統計値を算出する手順を前記統計値算出手段に実行させることを特徴とする請求項10に記載のストリームデータ処理プログラムを記録した記録媒体。
    Figure JPOXMLDOC01-appb-M000019

    Figure JPOXMLDOC01-appb-M000020

    Figure JPOXMLDOC01-appb-M000021

    Figure JPOXMLDOC01-appb-M000022

    Figure JPOXMLDOC01-appb-M000023

    Figure JPOXMLDOC01-appb-M000024
  12.  前記第2の手順は、
     前記処理範囲を変更した場合に、前記変更前の処理範囲に含まれるが、前記変更後の処理範囲に含まれない前記データである消滅データがあるか否かを判定する手順と、
     前記消滅データがないと判定された場合には、zが0である場合の式(19)、式(20)、及び式(21)を用いて前記第2の統計値を算出する手順と、を前記近似式算出手段に実行させることを特徴とする請求項11に記載のストリームデータ処理プログラムを記録した記録媒体。
PCT/JP2011/066408 2011-07-20 2011-07-20 ストリームデータ処理サーバ及びストリームデータ処理プログラムを記録した記録媒体 WO2013011569A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2013524548A JP5634607B2 (ja) 2011-07-20 2011-07-20 ストリームデータ処理サーバ及びストリームデータ処理プログラムを記録した記録媒体
PCT/JP2011/066408 WO2013011569A1 (ja) 2011-07-20 2011-07-20 ストリームデータ処理サーバ及びストリームデータ処理プログラムを記録した記録媒体
US14/003,838 US9405795B2 (en) 2011-07-20 2011-07-20 Stream data processing server and a non-transitory computer-readable storage medium storing a stream data processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/066408 WO2013011569A1 (ja) 2011-07-20 2011-07-20 ストリームデータ処理サーバ及びストリームデータ処理プログラムを記録した記録媒体

Publications (1)

Publication Number Publication Date
WO2013011569A1 true WO2013011569A1 (ja) 2013-01-24

Family

ID=47557776

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/066408 WO2013011569A1 (ja) 2011-07-20 2011-07-20 ストリームデータ処理サーバ及びストリームデータ処理プログラムを記録した記録媒体

Country Status (3)

Country Link
US (1) US9405795B2 (ja)
JP (1) JP5634607B2 (ja)
WO (1) WO2013011569A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10102091B2 (en) 2008-06-04 2018-10-16 Oracle International Corporation System and method for supporting a testing framework for an event processing system using multiple input event streams
US10140196B2 (en) * 2008-06-04 2018-11-27 Oracle International Corporation System and method for configuring a sliding window for testing an event processing system based on a system time
JP5634607B2 (ja) * 2011-07-20 2014-12-03 株式会社日立製作所 ストリームデータ処理サーバ及びストリームデータ処理プログラムを記録した記録媒体
US10331672B2 (en) * 2013-06-21 2019-06-25 Hitachi, Ltd. Stream data processing method with time adjustment
CN103729444B (zh) * 2013-12-30 2017-07-18 清华大学 一种基于设备监测数据间潜在关系的异常数据检测方法
CN106911589B (zh) * 2015-12-22 2020-04-24 阿里巴巴集团控股有限公司 一种数据处理方法和设备
CN107249096B (zh) * 2016-06-14 2021-02-26 杭州海康威视数字技术股份有限公司 全景摄像机及其拍摄方法
CN106250395B (zh) * 2016-07-18 2019-08-13 广西大学 一种数据流相似性的连接方法
CN110471944A (zh) * 2018-05-11 2019-11-19 北京京东尚科信息技术有限公司 指标统计方法、系统、设备及存储介质
US11689754B2 (en) * 2019-09-15 2023-06-27 Comscore, Inc. Systems and methods for predicting viewership and detecting anomalies
CN115230723A (zh) * 2022-03-07 2022-10-25 长城汽车股份有限公司 一种车辆预警方法、装置、电子设备与存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010108073A (ja) * 2008-10-28 2010-05-13 Hitachi Ltd ストリームデータ処理方法、及びシステム
JP2010272022A (ja) * 2009-05-22 2010-12-02 Hitachi Ltd ストリームデータ処理において逆再生を行うデータ処理システム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7130971B2 (en) * 2004-03-30 2006-10-31 Hitachi, Ltd. Assuring genuineness of data stored on a storage device
US7873689B2 (en) * 2004-12-30 2011-01-18 Alcatel-Lucent Usa Inc. Distributed set-expression cardinality estimation
JP4687253B2 (ja) * 2005-06-03 2011-05-25 株式会社日立製作所 ストリームデータ処理システムのクエリ処理方法
US20060288045A1 (en) * 2005-06-16 2006-12-21 Digital Fuel Technologies, Inc. Method for aggregate operations on streaming data
JP4804233B2 (ja) * 2006-06-09 2011-11-02 株式会社日立製作所 ストリームデータ処理方法
JP4933222B2 (ja) * 2006-11-15 2012-05-16 株式会社日立製作所 インデックス処理方法及び計算機システム
WO2009001827A1 (ja) * 2007-06-26 2008-12-31 Toshiba Tec Kabushiki Kaisha 顧客行動管理装置,方法及びプログラム
JP5465413B2 (ja) 2008-10-29 2014-04-09 株式会社日立製作所 ストリームデータ処理方法、及びそのシステム
JP5396184B2 (ja) * 2009-07-31 2014-01-22 株式会社日立製作所 計算機システム及び複数計算機によるストリームデータ分散処理方法
US8595194B2 (en) * 2009-09-15 2013-11-26 At&T Intellectual Property I, L.P. Forward decay temporal data analysis
JP4880025B2 (ja) * 2009-11-26 2012-02-22 株式会社日立製作所 ストリームデータ処理方法、ストリームデータ処理プログラム及びストリームデータ処理装置
JP5634607B2 (ja) * 2011-07-20 2014-12-03 株式会社日立製作所 ストリームデータ処理サーバ及びストリームデータ処理プログラムを記録した記録媒体

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010108073A (ja) * 2008-10-28 2010-05-13 Hitachi Ltd ストリームデータ処理方法、及びシステム
JP2010272022A (ja) * 2009-05-22 2010-12-02 Hitachi Ltd ストリームデータ処理において逆再生を行うデータ処理システム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
TADASHI MANO: "Ubiquitous Jidai no DB Modeling, Data Administration & Data modeling", SOLUTION IT, vol. 16, no. 2, 1 February 2004 (2004-02-01), pages 44 - 48 *

Also Published As

Publication number Publication date
US9405795B2 (en) 2016-08-02
JP5634607B2 (ja) 2014-12-03
JPWO2013011569A1 (ja) 2015-02-23
US20130346441A1 (en) 2013-12-26

Similar Documents

Publication Publication Date Title
JP5634607B2 (ja) ストリームデータ処理サーバ及びストリームデータ処理プログラムを記録した記録媒体
JP4925143B2 (ja) ストリームデータ処理システム、ストリームデータ処理方法及びストリームデータ処理プログラム
US10452983B2 (en) Determining an anomalous state of a system at a future point in time
US10565512B2 (en) Event analysis apparatus, event analysis method and computer program product
US10192050B2 (en) Methods, systems, apparatus, and storage media for use in detecting anomalous behavior and/or in preventing data loss
GB2489831A (en) Video stream processing
US8868993B1 (en) Data replacement policy
WO2015153236A2 (en) Measuring latency in an interactive application
Choi et al. Inference for discretely observed stochastic kinetic networks with applications to epidemic modeling
EP2357562A1 (en) System for assisting with execution of actions in response to detected events, method for assisting with execution of actions in response to detected events, assisting device, and computer program
US20130103373A1 (en) Online simulation model optimization
JP6052278B2 (ja) 動作判定装置、動作判定システムおよび動作判定方法
CN111045939B (zh) Weibull分布的故障检测开源软件可靠性建模方法
JP2017037645A (ja) スマートアラートのためのシステム及び方法
Karlen Characterizing the spread of CoViD-19
US9455940B2 (en) Information processing apparatus and information processing method
CN104156612A (zh) 基于粒子滤波的正向与逆向预测误差的故障预报方法
US20190129781A1 (en) Event investigation assist method and event investigation assist device
JP2015513708A (ja) 高信頼性・高性能のアプリケーションメッセージ配送のためのシステム
JP6615470B2 (ja) 同期制御装置、同期システム及び同期制御方法
Du et al. On-line control of false discovery rates for multiple datastreams
JP2012038135A (ja) トレンド推移判定装置またはその方法
CN113221096A (zh) 一种在混沌工程中随机事件相关性分析方法及系统
JP2015187773A (ja) データ解析装置、データ解析プログラム及びデータ解析方法
Bergström et al. Bayesian nowcasting with leading indicators applied to COVID-19 fatalities in Sweden

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11869679

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2013524548

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 14003838

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11869679

Country of ref document: EP

Kind code of ref document: A1