# US 12,761,983 B2 · Data processing apparatus, computer-readable storage medium, system, and data processing method for improved event processing

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

- Number: US 12,761,983 B2
- Document ID: US12761983B2
- Status: Granted
- Kind: B2
- Application number: 18/167,099
- Filed: 2023-02-10
- Published: 2023-06-22
- Granted: 2026-10-13
- Earliest claimed: 2020-11-18
- Assignees: SoftBank Corp.
- Applicants: SoftBank Corp.
- Inventors: Minoru Owada
- Web page: https://patentgrep.com/patent/US12761983B2

## CPC

- G06F 9/542: {Event management; Broadcasting; Multicasting; Notifications}
- G06F 9/48: Program initiating; Program switching, e.g. by interrupt
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

There is provided a data processing apparatus including: a set data recording unit configured to record set data obtained by combining an event representing data which is generated by processing data by a program, with a program which is started when a plurality of events including the event are complete and processes the plurality of events; and a data processing execution unit configured to execute a plurality of programs by a plurality of pieces of set data recorded by the set data recording unit. There is provided a data processing method including: recording set data obtained by combining an event representing data which is generated by processing data by a program, with a program which is started when a plurality of events including the event are complete and processes the plurality of events; and executing a plurality of programs by a plurality of pieces of set data recorded.

## Claims

### Claim 1

A data processing apparatus comprising:
one or more processors provided with computer-readable instructions such that, when the computer-readable instructions are executed by the one or more processors, the data processing apparatus is configured to comprise:
a data receiving unit configured to receive data;
a set data recording unit configured to record a plurality of set data, each of the plurality of set data being obtained by combining a corresponding one of a plurality of events with a corresponding one of a plurality of first programs, each of the plurality of set data also including identifying information regarding any others of the plurality of events associated with the corresponding one of the plurality of events, the corresponding one of the plurality of first programs being started when each of the corresponding one of the plurality of events and any others of the plurality of events associated with the corresponding one of the plurality of events have been generated by a respective one of a plurality of second programs by processing the data obtained by the data receiving unit, the corresponding one of the plurality of first programs processes the corresponding one of the plurality of events and any others of the plurality of events associated with the corresponding one of the plurality of events to generate a corresponding one of a plurality of resulting events; and
a data processing execution unit configured to execute the plurality of first programs, each of the plurality of first programs being configured to process at least two respective events from among the plurality of events and the plurality of resulting events,
wherein the data processing apparatus further comprises a memory, and wherein when one of the plurality of second programs processes the data obtained by the data receiving unit to generate one of the plurality of events, the one of the plurality of events generated by the one of the plurality of second programs is stored in a non-transitory storage medium and the data that has been processed and the one of the plurality of second programs are deleted from the memory to reduce a required amount of memory, and
wherein each of the plurality of first programs is capable of processing corresponding ones of the plurality of events and the plurality of resulting events regardless of the order in which the corresponding ones of the plurality of events and the plurality of resulting events are generated and regardless of the time interval between the generation of each of the corresponding ones of the plurality of events and the plurality of resulting events.

### Claim 2 (depends on 1)

The data processing apparatus according to claim 1, wherein
the set data recording unit is configured to record
a first set data, of the plurality of set data, obtained by combining a first event, of the plurality of events, with a first one of the plurality of first programs, which is started when the first event and a second event, of the plurality of events, have been generated and which processes the first event and the second event, and
a second set data, of the plurality of set data, obtained by combining the second event with the first one of the plurality of first programs, which is started when the second event and the first event have been generated and which processes the second event and the first event.

### Claim 3 (depends on 1)

The data processing apparatus according to claim 1, comprising:
a set data management unit configured to manage the plurality of set data, by a graph database in which each of the plurality of set data is set as a node.

### Claim 4 (depends on 2)

The data processing apparatus according to claim 2, comprising:
a set data management unit configured to manage the plurality of set data, by a graph database in which each of the plurality of set data is set as a node.

### Claim 5 (depends on 1)

The data processing apparatus according to claim 1, comprising:
a CEP (Complex Event Processing) execution unit configured to execute CEP on the data;
a batch processing execution unit configured to execute batch processing on the data; and
a selection unit configured to select, according to a predetermined condition, an execution unit that processes data output from the data processing execution unit, the CEP execution unit, and the batch processing execution unit.

### Claim 6 (depends on 2)

The data processing apparatus according to claim 2, comprising:
a CEP (Complex Event Processing) execution unit configured to execute CEP on the data;
a batch processing execution unit configured to execute batch processing on the data; and
a selection unit configured to select, according to a predetermined condition, an execution unit that processes data output from the data processing execution unit, the CEP execution unit, and the batch processing execution unit.

### Claim 7 (depends on 3)

The data processing apparatus according to claim 3, comprising:
a CEP (Complex Event Processing) execution unit configured to execute CEP on the data;
a batch processing execution unit configured to execute batch processing on the data; and
a selection unit configured to select, according to a predetermined condition, an execution unit that processes data output from the data processing execution unit, the CEP execution unit, and the batch processing execution unit.

### Claim 8 (depends on 4)

The data processing apparatus according to claim 4, comprising:
a CEP (Complex Event Processing) execution unit configured to execute CEP on the data;
a batch processing execution unit configured to execute batch processing on the data; and
a selection unit configured to select, according to a predetermined condition, an execution unit that processes data output from the data processing execution unit, the CEP execution unit, and the batch processing execution unit.

### Claim 9 (depends on 5)

The data processing apparatus according to claim 5, wherein
the selection unit is configured to select, according to an amount of the data which is a processing target, the execution unit that processes the data output from the data processing execution unit, the CEP execution unit, and the batch processing execution unit.

### Claim 10 (depends on 5)

The data processing apparatus according to claim 5, wherein
the selection unit is configured to select, according to a response performance of processing which is a target, the execution unit that processes the data output from the data processing execution unit, the CEP execution unit, and the batch processing execution unit.

### Claim 11

A non-transitory, computer-readable storage medium having stored thereon a program that causes a computer to function as:
a data receiving unit configured to receive data;
a set data recording unit configured to record a plurality of set data, each of the plurality of set data being obtained by combining a corresponding one of a plurality of events with a corresponding one of a plurality of first programs, each of the plurality of set data also including identifying information regarding any others of the plurality of events associated with the corresponding one of the plurality of events, the corresponding one of the plurality of first programs being started when each of the corresponding one of the plurality of events and any others of the plurality of events associated with the corresponding one of the plurality of events have been generated by a respective one of a plurality of second programs by processing the data obtained by the data receiving unit, the corresponding one of the plurality of first programs processes the corresponding one of the plurality of events and any others of the plurality of events associated with the corresponding one of the plurality of events to generate a corresponding one of a plurality of resulting events; and
a data processing execution unit configured to execute the plurality of first programs, each of the plurality of first programs being configured to process at least two respective events from among the plurality of events and the plurality of resulting events,
wherein the computer further comprises a memory, and wherein when one of the plurality of second programs processes the data obtained by the data receiving unit to generate one of the plurality of events, the one of the plurality of events generated by the one of the plurality of second programs is stored in a non-transitory storage medium and the data that has been processed and the one of the plurality of second programs are deleted from the memory to reduce a required amount of memory, and
wherein the program causes the computer to function such that each of the plurality of first programs is capable of processing corresponding ones of the plurality of events and the plurality of resulting events regardless of the order in which the corresponding ones of the plurality of events and the plurality of resulting events are generated and regardless of the time interval between the generation of each of the corresponding ones of the plurality of events and the plurality of resulting events.

### Claim 12 (depends on 1)

A system comprising:
the data processing apparatus according to claim 1;
a CEP (Complex Event Processing) apparatus that is able to execute CEP on the data;
a batch processing apparatus that is able to execute batch processing on the data; and
a selection unit configured to select, according to a predetermined condition, an apparatus that processes output data from the data processing apparatus, the CEP apparatus, and the batch processing apparatus.

### Claim 13 (depends on 2)

A system comprising:
the data processing apparatus according to claim 2;
a CEP (Complex Event Processing) apparatus that is able to execute CEP on the data;
a batch processing apparatus that is able to execute batch processing on the data; and
a selection unit configured to select, according to a predetermined condition, an apparatus that processes output data from the data processing apparatus, the CEP apparatus, and the batch processing apparatus.

### Claim 14 (depends on 3)

A system comprising:
the data processing apparatus according to claim 3;
a CEP (Complex Event Processing) apparatus that is able to execute CEP on the data;
a batch processing apparatus that is able to execute batch processing on the data; and
a selection unit configured to select, according to a predetermined condition, an apparatus that processes output data from the data processing apparatus, the CEP apparatus, and the batch processing apparatus.

### Claim 15

A data processing method that is executed by a computer, wherein the computer executes instructions that cause the computer to comprise a set data recording unit and a data receiving unit, the data processing method comprising:
recording, in the set data recording unit, a plurality of set data, each of the plurality of set data being obtained by combining a corresponding one of a plurality of events with a corresponding one of a plurality of first programs, each of the plurality of set data also including identifying information regarding any others of the plurality of events associated with the corresponding one of the plurality of events, the corresponding one of the plurality of first programs being started when each of the corresponding one of the plurality of events and any others of the plurality of events associated with the corresponding one of the plurality of events have been generated by a respective one of a plurality of second programs by processing the data obtained by the data receiving unit, the corresponding one of the plurality of first programs processes the corresponding one of the plurality of events and any others of the plurality of events associated with the corresponding one of the plurality of events to generate a corresponding one of a plurality of resulting events; and
executing the plurality of first programs, each of the plurality of first programs being configured to process at least two respective events from among the plurality of events and the plurality of resulting events,
wherein the computer further comprises a memory, and wherein when one of the plurality of second programs processes the data obtained by the data receiving unit to generate one of the plurality of events, the one of the plurality of events generated by the one of the plurality of second programs is stored in a non-transitory storage medium and the data that has been processed and the one of the plurality of second programs are deleted from the memory to reduce a required amount of memory, and
wherein each of the plurality of first programs is capable of processing corresponding ones of the plurality of events and the plurality of resulting events regardless of the order in which the corresponding ones of the plurality of events and the plurality of resulting events are generated and regardless of the time interval between the generation of each of the corresponding ones of the plurality of events and the plurality of resulting events.
