# US 2014/0208334 A1 · Computation device and computation execution method

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

- Number: US 2014/0208334 A1
- Document ID: US20140208334A1
- Status: Published application
- Kind: A1
- Application number: 13/985,788
- Filed: 2011-10-21
- Published: 2014-07-24
- Earliest claimed: 2011-02-21
- Assignees: NEC Corporation
- Inventors: Hiroaki Inoue; Takashi Takenaka
- Web page: https://patentgrep.com/patent/US20140208334A1

## CPC

- G06F 9/542: {Event management; Broadcasting; Multicasting; Notifications}
- G06F 7/00: Methods or arrangements for processing data by operating upon the order or content of the data handled (logic circuits H03K19/00)
- G06F 16/90344: {by using string matching techniques}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A computation device includes a data path element (300) including a function processing unit (4000) that executes a computation specified in a function using input data included in an event (1000) as an argument; and a control path element (2000) that detects the event (1000) by use of a return value (ret) of the function. The function processing unit (4000) includes a data calculation unit (4001) that executes a computation and outputs a first result (d0); and a control comparison unit (4002) that outputs, to the control path element (2000), a result of comparison between the input data and data for specifying the event (1000), as the return value (ret).

## Claims

### Claim at position 1

1-35. (canceled)

### Claim 36

A computation device comprising:
a first data processing unit including a first function processing unit for executing a first computation specified in a first function using first input data included in a first event as an argument; and
a first control processing unit for detecting the first event by use of a first return value of the first function,
wherein the first function processing unit comprises:
a first data calculation unit for executing the first computation and outputting a first result; and
a first control comparison unit for outputting, to the first control processing unit, a result of comparison between the first input data and first data for specifying the first event, as the first return value.

### Claim 37 (depends on 36)

The computation device according to claim 36, comprising:
a second data processing unit including a second function processing unit for executing a computation specified in a second function using second input data included in a second event as an argument; and
a second control processing unit for detecting a second event by use of a second return value of the second function, wherein
the second function processing unit comprises:
a second data calculation unit for executing the second computation and outputting a second result; and
a second control comparison unit for outputting, to the second control processing unit, a result of comparison between the second input data and second data for specifying the second event, as the second return value, and
an event sequence including the first event and the second event is detected based on the first return value and the second return value.

### Claim 38 (depends on 37)

The computation device according to claim 37, wherein
the first function and the second function constitute a function sequence represented by a regular expression, and
the first data calculation unit executes the first computation using at least one of the first input data and the first result as an argument, and outputs the first result,
the second data calculation unit executes the second computation using at least one of the second input data, the first result, and the second result as an argument, and outputs the second result, and
a third result is output using at least one of the first result and the second result based on the regular expression.

### Claim 39 (depends on 36)

The computation device according to claim 36, wherein the first function processing unit determines whether or not to perform the first computation according to a value of a first operation stop request received.

### Claim 40 (depends on 37)

The computation device according to claim 37, wherein the second function processing unit determines whether or not to perform the second computation according to a value of a second operation stop request received.

### Claim 41 (depends on 39)

The computation device according to claim 39, comprising:
a first holding unit for holding the first event, outputting first event holding information indicative of whether or not the number of held first events is 0, and supplying the first events to the first function processing unit in order of inputting the first events; and
a first operation stop request generation unit for generating a third operation stop request for controlling execution of a computation of a preceding-stage computation device based on the first event holding information and the value of the first operation stop request.

### Claim 42 (depends on 40)

The computation device according to claim 40, comprising:
a second holding unit for holding the second event, outputting second event holding information indicative of whether or not the number of held second events is 0, and supplying the second events to the second function processing unit in order of inputting the second events; and
a second operation stop request generation unit for generating a fourth operation stop request for controlling execution of a computation of a preceding-stage computation device based on the second event holding information and the value of the second operation stop request.

### Claim 43 (depends on 41)

The computation device according to claim 41, wherein the first holding unit determines whether or not to supply the first event to the first function processing unit, based on first validity information indicative of whether a result of the execution of the computation of the preceding-stage computation device is valid or not.

### Claim 44 (depends on 42)

The computation device according to claim 42, wherein the second holding unit determines whether or not to supply the second event to the second function processing unit, based on second validity information indicative of whether a result of the execution of the computation of the preceding-stage computation device is valid or not.

### Claim 45

A computation device comprising:
a first computation device that executes arithmetic processing on a first function; and
a second computation device that executes arithmetic processing on a second function, wherein
the first computation device comprises:
a first data processing unit including a first function processing unit for executing a first computation specified in a first function using first input data included in a first event as an argument; and
a first control processing unit for detecting the first event by use of a first return value of the first function, and
the first function processing unit comprises:
a first data calculation unit for executing the first computation and outputting a first result; and
a first control comparison unit for outputting, to the first control processing unit, a result of comparison between the first input data and first data for specifying the first event, as the first return value.

### Claim 46 (depends on 45)

The computation device according to claim 45, wherein
the second computation device comprises:
a second data processing unit including a second function processing unit for executing a computation specified in a second function using second input data included in a second event as an argument; and
a second control processing unit for detecting a second event by use of a second return value of the second function,
the second function processing unit comprises:
a second data calculation unit for executing the second computation and outputting a second result; and
a second control comparison unit for outputting, to the second control processing unit, a result of comparison between the second input data and second data for specifying the second event, as the second return value, and
an event sequence including the first event and second event is detected based on the first return value and the second return value.

### Claim 47 (depends on 36)

The computation device according to claim 36, wherein the computation device receives, as real-time information, an event sequence including two or more of the events.

### Claim 48 (depends on 36)

The computation device according to claim 36, wherein the data calculation unit stores, compares, or computes the input data, and outputs the input data.

### Claim 49 (depends on 37)

The computation device according to claim 37, wherein
the first function and the second function constitute a function sequence represented by a regular expression,
the regular expression includes the functions and an operator, and
the operator includes at least one of a concatenation to describe execution of a computation of a function subsequent to a certain function, a sum to describe which one of the two functions is to be selected, and a repetition to describe one or more computations of the functions.

### Claim 50 (depends on 49)

The computation device according to claim 49, wherein
when the regular expression includes the first and second functions and a concatenation to describe execution of a computation of the second function after the first function,
the second data processing unit outputs a result of the arithmetic processing based on a result of the arithmetic processing of the first data processing unit, and
the second control processing unit outputs a detection result based on a result of the second control processing unit.

### Claim 51 (depends on 49)

The computation device according to claim 49, wherein when the regular expression includes the first and second functions and a concatenation to describe execution of a computation of the second function after the first function, the first and second data processing unit are connected in series and the first and second control processing unit are connected in series.

### Claim 52 (depends on 49)

The computation device according to claim 49, wherein
when the regular expression includes the first and second functions and a sum to describe which one of the first and second functions is to be selected, the computation device comprises:
determination unit for determining that an event sequence is detected, when at least one of the first and second control processing unit detects an event; and
a first selection unit for selecting and outputting one of computation results of the first and second data processing unit according to output results of the first and second control processing unit.

### Claim 53 (depends on 49)

The computation device according to claim 49, wherein
when the regular expression includes the first and second functions and a sum to describe which one of computations of the first and second functions is to be selected,
the computation device comprises a logic circuit that computes a logical OR, and a first multiplexer, and
outputs of the first and second control processing unit are input to the logic circuit, and the logical OR is output as a result of detection of an event sequence,
the first and second data processing unit input computation results to an input of the first multiplexer, and
the first multiplexer outputs one of comparison results of the first and second data processing unit according to output results of the first and second control processing unit.

### Claim 54 (depends on 53)

The computation device according to claim 53, wherein
a logical AND between information indicative of whether a result of the first computation is a valid value or not and information indicative of whether a result of the second computation is a valid value or not is supplied as information indicating validity of a computation result to a subsequent-stage computation device, and
a logical AND between a state indicative of whether the first data calculation unit is executable or not and a state indicative of whether the second data calculation unit is executable or not is output as an operation stop request to be supplied to a subsequent-stage computation device.

### Claim 55 (depends on 53)

The computation device according to claim 53, comprising delay unit for delaying an output of one of the first and second data processing unit based on the number of cycles required for computations of the first and second data processing unit.

### Claim 56 (depends on 45)

The computation device according to claim 45, comprising:
a second determination unit for determining whether or not to input an output of a preceding-stage control processing unit to the first control processing unit according to an output result of the first control processing unit; and
a third determination unit for selecting one of output results of the first data processing unit and preceding-stage data processing unit according to the output result of the first control processing unit, and inputting the selected output result to the first data processing unit.

### Claim 57 (depends on 45)

The computation device according to claim 45, comprising a repetition logic for repeating an input to each of the first control processing unit and the first data processing unit according to an output result of the first control processing unit,
wherein the repetition logic outputs, to a preceding-stage computation device, a fixed value for requesting to stop arithmetic processing during computation of the first data processing unit.

### Claim 58 (depends on 45)

The computation device according to claim 45, comprising second and third multiplexers, wherein
the second multiplexer determines whether or not to input an output of preceding-stage control processing unit to the first control processing unit according to an output result of the first control processing unit, and
the third multiplexer selects one of output results of the first data processing unit and preceding-stage data processing unit according to an output result of the first control processing unit, and inputs the selected output result to the first data processing unit.

### Claim 59

A computation execution method comprising:
executing a first computation to output a first result, and outputting, as a first return value, a result of comparison between first input data included in a first event and first data for specifying the first event, thereby executing the first computation specified in a first function using the first input data as an argument; and
detecting the first event by use of the first return value of the first function.

### Claim 60 (depends on 59)

The computation execution method according to claim 59, wherein a computation of a regular expression including the first function and an operator for describing a repetition to describe one or more computations of the first function, by use of an event sequence including the event as an input.

### Claim 61

A computation execution method comprising:
executing arithmetic processing for a first function by use of an event sequence including a first event including one or more pieces of first input data and a second event including one or more pieces of second input data;
executing arithmetic processing for a second function by use of the event sequence as an input, wherein
the arithmetic processing for the first function includes:
executing a first computation specified in the first function to output a first result, and outputting, as a first return value, a result of comparison between the first input data and first data for specifying the first event, thereby executing the first computation by use of the first input data as an argument, and
detecting the first event by use of the first return value of the first function.

### Claim 62 (depends on 61)

The computation execution method according to claim 61, wherein the arithmetic processing for the second function includes:
executing a second computation specified in the second function to output a second result, and outputting, as a second return value, a result of comparison between the second input data and second data for specifying the second event, thereby executing the second computation using the second input data as an argument;
detecting the second event by use of the second return value of the second function; and
detecting the event sequence based on the first return value and the second return value.

### Claim 63 (depends on 59)

The computation execution method according to claim 59, wherein the event sequence is real-time information.

### Claim 64 (depends on 59)

The computation execution method according to claim 59, wherein the computation specified in the first function using the input data as an argument is processing of storing, comparing, or computing the input data.

### Claim 65

A non-transitory computer readable medium storing a program for causing a computer to execute:
a first data processing for executing a first computation to output a first result, and outputting, as a first return value, a result of comparison between first input data and first data, thereby executing the first computation specified in a first function using the first input data as an argument; and
a first control processing for detecting a first event including one or more pieces of the first input data, by use of the first return value of the first function.

### Claim 66 (depends on 65)

The non-transitory computer readable medium storing a program according to claim 65, wherein a computation of a regular expression including the first function and an operator for describing a repetition to describe one or more computations of the first function, by use of an event sequence including the event as an input.

### Claim 67

A non-transitory computer readable medium storing a program for causing a computer to execute a predetermined operation including:
a first arithmetic processing for executing arithmetic processing for a first function by using, as an input, an event sequence including a first event including one or more pieces of first input data and a second event including one or more pieces of second input data; and
a second arithmetic processing for executing arithmetic processing for a second function by using the event sequence as an input,
wherein the first arithmetic processing includes:
a first data processing for executing a first computation specified in the first function to output a first result, and outputting, as a first return value, a result of comparison between the first input data and first data for specifying the first event, thereby executing the first computation using the first input data as an argument; and
a first control processing for detecting the first event by use of the first return value of the first function.

### Claim 68 (depends on 58)

The non-transitory computer readable medium storing the program according to claim 58, wherein the second arithmetic processing includes:
a second data processing for executing a second computation specified in the second function to output a second result, and outputting, as a second return value, a result of comparison between the second input data and second data for specifying the second event, thereby executing the second computation using the second input data as an argument; and
a second control processing for detecting the second event by use of the second return value of the second function, and
the event sequence is detected based on the first return value and the second return value.

### Claim 69 (depends on 65)

The non-transitory computer readable medium storing the program according to claim 65, wherein the event sequence is real-time information.

### Claim 70 (depends on 65)

The non-transitory computer readable medium storing the program according to claim 65, wherein the computation specified in the first function using the input data as an argument is processing of storing, comparing, or computing the input data.
