# US 2012/0084788 A1 · Complex event distributing apparatus, complex event distributing method, and complex event distributing program

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2012/0084788 A1
- Document ID: US20120084788A1
- Status: Published application
- Kind: A1
- Application number: 13/193,701
- Filed: 2011-07-29
- Published: 2012-04-05
- Earliest claimed: 2010-10-05
- Assignees: Fujitsu Limited
- Inventors: Yoshinori Sakamoto
- Web page: https://patentgrep.com/patent/US20120084788A1

## CPC

- G06F 9/5083: {Techniques for rebalancing the load in a distributed system}
- G06F 2209/5022: Workload threshold
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A server calculates correlations between complex event processing processes performed by virtual machines (VMs) so as to detect events from streams using condition expressions for identifying the events. The server obtains the load status of each of the VMs. The server then detects a VM having a processing load exceeding a predetermined level based on the load status thus obtained. When a VM having a processing load exceeding a predetermined level is detected, the server distributes the complex event processing processes to the respective VMs based on the calculated correlations between the complex event processing processes.

## Claims

### Claim 1

A complex event distributing apparatus comprising:
a calculating unit that calculates correlations between complex event processing processes executed on information processing apparatuses to detect events from a stream based on condition expressions each identifying an event;
an obtaining unit that obtains a load status of each of the information processing apparatuses;
a detecting unit that detects an information processing apparatus having a processing load exceeding a predetermined level based on the load status obtained by the obtaining unit; and
a distributing unit that distributes the complex event processing processes to the information processing apparatuses based on the correlations between the complex event processing processes calculated by the calculating unit when the detecting unit detects an information processing apparatus having a processing load exceeding the predetermined level.

### Claim 2 (depends on 1)

The complex event distributing apparatus according to claim 1, wherein
the calculating unit calculates correlations between the condition expressions based on number of redundancy of elements constituting the condition expressions as the correlations between the complex event processing processes, and
the distributing unit distributes the complex event processing processes by shifting the condition expressions to the information processing apparatuses based on the correlations between the condition expressions calculated by the calculating unit.

### Claim 3 (depends on 1)

The complex event distributing apparatus according to claim 1, wherein
the calculating unit calculates correlations between the elements based on any one of or both of number of combinations of the elements constituting the condition expressions and concatenations of the elements in the condition expressions as the correlations between the complex event processing processes, and
the distributing unit distributes the complex event processing processes by dividing each of the condition expressions into elements, and shifting the divided elements to the information processing apparatuses based on the correlations between the elements calculated by the calculating unit.

### Claim 4 (depends on 3)

The complex event distributing apparatus according to claim 3, wherein the distributing unit distributes the complex event processing processes by shifting the condition expressions or the elements to the information processing apparatuses in a manner to gather the condition expressions having high correlations therebetween calculated by the calculating unit or the elements having high correlations therebetween calculated by the calculating unit.

### Claim 5 (depends on 2)

The complex event distributing apparatus according to claim 2, wherein
the calculating unit further calculates resource utilization for each of the condition expressions, and
the distributing unit distributes the complex event processing processes by shifting the condition expressions having low correlations therebetween calculated by the calculating unit to different information processing apparatuses from the condition expressions having the resource utilization calculated by the calculating unit in excess of a predetermined level.

### Claim 6 (depends on 3)

The complex event distributing apparatus according to claim 3, wherein
the calculating unit further calculates resource utilization for each of the elements, and
the distributing unit distributes the complex event processing processes by shifting the elements having low correlations therebetween calculated by the calculating unit to different information processing apparatuses from the elements having the resource utilization calculated by the calculating unit in excess of a predetermined level.

### Claim 7 (depends on 1)

The complex event distributing apparatus according to claim 1, wherein
the distributing unit brings back the complex event processing processes to a condition before being distributed when the processing load of the information processing apparatus detected by the detecting unit becomes lower than the predetermined level.

### Claim 8

A complex event distributing method that is a control method executed by a computer, the method comprising:
calculating correlations between complex event processing processes executed on information processing apparatuses to detect events from a stream based on condition expressions each identifying an event;
obtaining a load status of each of the information processing apparatuses;
detecting an information processing apparatus having a processing load exceeding a predetermined level based on the load status thus obtained; and
distributing the complex event processing processes to the information processing apparatuses based on the correlations between the complex event processing processes thus calculated when an information processing apparatus is detected to have a processing load exceeding the predetermined level.

### Claim 9

A non-transitory computer-readable medium storing a program for processing a complex event distributing, the program causing a computer to execute:
calculating correlations between complex event processing processes executed on information processing apparatuses to detect events from a stream based on condition expressions each identifying an event;
obtaining a load status of each of the information processing apparatuses;
detecting an information processing apparatus having a processing load exceeding a predetermined level based on the load status thus obtained; and
distributing the complex event processing processes to the information processing apparatuses based on the correlations between the complex event processing processes thus calculated when an information processing apparatus is detected to have a processing load exceeding the predetermined level.

### Claim 10

A complex event distributing apparatus comprising:
a processor; and
a memory, wherein the processor executes:
calculating correlations between complex event processing processes executed on information processing apparatuses to detect events from a stream based on condition expressions each identifying an event;
obtaining a load status of each of the information processing apparatuses;
detecting an information processing apparatus having a processing load exceeding a predetermined level based on the load status thus obtained; and
distributing the complex event processing processes to the information processing apparatuses based on the correlations between the complex event processing processes thus calculated when an information processing apparatus is detected to have a processing load exceeding the predetermined level.
