# US 11,115,484 B2 · Control apparatus and control method

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

- Number: US 11,115,484 B2
- Document ID: US11115484B2
- Status: Granted
- Kind: B2
- Application number: 16/362,582
- Filed: 2019-03-22
- Published: 2019-09-26
- Granted: 2021-09-07
- Earliest claimed: 2018-03-26
- Assignees: Fujitsu Limited
- Applicants: Fujitsu Limited
- Inventors: Eiichi Takahashi; Akira Shiba; Kazuki Matsui
- Web page: https://patentgrep.com/patent/US11115484B2

## CPC

- H04L 67/51: Discovery or management thereof, e.g. service location protocol [SLP] or web services
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- H04L 67/52: specially adapted for the location of the user terminal
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A control apparatus includes one or more memories; and one or more processors configured to in response to reception of a first message, by referring to a reception history of one or more messages received prior to the received first message, determine whether a second message having a second timestamp newer than a first timestamp of the received first message has been received, when the second message has been received, perform a first process on the first message and a second process on the second message in order indicated by the first timestamp and the second timestamp, and transmit, to an apparatus to which the first message is transmitted next, a first correction notification including an instruction to correct order of processes executed by the apparatus with respect to the first message and the second message.

## Claims

### Claim 1

A control apparatus comprising:
one or more memories configured to store a reception history; and
one or more processors coupled to the one or more memories, the one or more processors being configured to
in response to reception of a first message which has a first timestamp indicating a time point at which the first message has been generated, obtain a group from among one or more of messages stored in the reception history, each of the one or more messages stored in the reception history being a message which has been received prior to the received first message, the obtained group including a part of or whole of the one or more messages stored in the reception history, each message included in the obtained group having a second timestamp which indicates a time point at which the each message has been generated, the time point indicated by the second timestamp being a time point later than a time point indicated by a first timestamp associated with the received first message,
in response to the obtaining of the group, generate a correction notification by using each message included in the obtained group, the correction notification including first information with respect to the first message and second information with respect to each message included in the obtained group, and
in response to the generating of the correction notification, transmit the generated correction notification to an apparatus to which the first message is to be transmitted next, the transmitting of the generated correction notification being configured to cause the apparatus to correct order of processes in accordance with the first message indicated by the first information and the each message indicated by the second information.

### Claim 2 (depends on 1)

The control apparatus according to claim 1, wherein
the one or more processors are further configured to
store a plurality of received messages in a queue in order of reception,
read the plurality of messages in order of storage in the queue and execute a plurality of processes on the plurality of messages,
hold a plurality of snapshots each of which includes a state for any of the plurality of processes, and
in response to reception of a second correction notification, perform rollback on the basis of the plurality of snapshots.

### Claim 3 (depends on 2)

The control apparatus according to claim 2, wherein the one or more processor are further configured to store one or a plurality of messages in the queue in corrected order based on the second correction notification in response to the reception of the second correction notification.

### Claim 4 (depends on 2)

The control apparatus according to claim 2, wherein the one or more processors are further configured to delete a message in the queue to be corrected in response to reception of the second correction notification.

### Claim 5 (depends on 2)

The microservice control apparatus according to claim 2, wherein
the one or more processors are further configured to
perform a stop of a process on a message in response to reception of a third correction notification, and
when a top message in the queue is a message corresponding to corrected order based on the third correction notification, release the stop.

### Claim 6 (depends on 2)

The control apparatus according to claim 2, wherein a storage capacity holding the plurality of snapshots is set in accordance with a number of downstream apparatus.

### Claim 7 (depends on 1)

The control apparatus according to claim 1, wherein the second information included in the correction notification includes an identifier of each message included in the obtained group.

### Claim 8 (depends on 1)

The control apparatus according to claim 1, wherein the transmitting of the generated correction notification is configured to cause the apparatus to cancel one or more processes each of which has been performed by the apparatus, each of the one or more processes being a process with respect to each message indicated by the second information in the correction notification.

### Claim 9 (depends on 1)

The control apparatus according to claim 1, wherein
the first message is a message for microservice, and
each message included in the obtained group is a message for microservice.

### Claim 10

A computer-implemented control method comprising:
in response to reception of a first message which has a first timestamp indicating a time point at which the first message has been generated, obtaining a group from among one or more of messages stored in reception history, each of the one or more messages stored in the reception history being a message which has been received prior to the received first message, the obtained group including a part of or whole of the one or more messages stored in the reception history, each message included in the obtained group having a second timestamp which indicates a time point at which the each message has been generated, the time point indicated by the second timestamp being a time point later than a time point indicated by a first timestamp associated with the received first message;
in response to the obtaining of the group, generating a correction notification by using each message included in the obtained group, the correction notification including first information with respect to the first message and second information with respect to each message included in the obtained group; and
in response to the generating of the correction notification, transmitting the generated correction notification to an apparatus to which the first message is to be transmitted next, the transmitting of the generated correction notification being configured to cause the apparatus to correct order of processes in accordance with the first message indicated by the first information and the each message indicated by the second information.

### Claim 11 (depends on 10)

The control method according to claim 10, further comprising:
storing a plurality of received messages in a queue in order of reception;
reading the plurality of messages in order of storage in the queue and execute a plurality of processes on the plurality of messages;
holding a plurality of snapshots each of which includes a state for any of the plurality of processes; and
in response to reception of a second correction notification, performing rollback on the basis of the plurality of snapshots.

### Claim 12 (depends on 11)

The control method according to claim 11, further comprising: storing one or a plurality of messages in the queue in corrected order based on the second correction notification in response to the reception of the second correction notification.

### Claim 13 (depends on 11)

The control method according to claim 11, further comprising: deleting a message in the queue to be corrected in response to reception of the second correction notification.

### Claim 14 (depends on 11)

The control method according to claim 11, further comprising:
performing a stop of a process on a message in response to reception of a third correction notification; and
when a top message in the queue is a message corresponding to corrected order based on the third correction notification, releasing the stop.

### Claim 15 (depends on 11)

The control method according to claim 11, wherein a storage capacity holding the plurality of snapshots is set in accordance with a number of downstream apparatus.

### Claim 16 (depends on 10)

The control method according to claim 10, wherein the second information included in the correction notification includes an identifier of each message included in the obtained group.

### Claim 17 (depends on 10)

The control method according to claim 10, wherein the transmitting of the generated correction notification is configured to cause the apparatus to cancel one or more processes each of which has been performed by the apparatus, each of the one or more processes being a process with respect to each message indicated by the second information in the correction notification.

### Claim 18 (depends on 10)

The control method according to claim 10, wherein
the first message is a message for microservice, and
each message included in the obtained group is a message for microservice.

### Claim 19

A non-transitory computer-readable medium storing instructions executable by one or more computer, the instructions comprising:
one or more instructions configured to, in response to reception of a first message which has a first timestamp indicating a time point at which the first message has been generated, obtain a group from among one or more of messages stored in a reception history, each of the one or more messages stored in the reception history being a message which has been received prior to the received first message, the obtained group including a part of or whole of the one or more messages stored in the reception history, each message included in the obtained group having a second timestamp which indicates a time point at which the each message has been generated, the time point indicated by the second timestamp being a time point later than a time point indicated by a first timestamp associated with the received first message;
one or more instructions configured to, in response to the obtaining of the group, generating a correction notification by using each message included in the obtained group, the correction notification including first information with respect to the first message and second information with respect to each message included in the obtained group; and
one or more instructions configured to, in response to the generating of the correction notification, transmit the generated correction notification to an apparatus to which the first message is to be transmitted next, the transmitting of the generated correction notification being configured to cause the apparatus to correct order of processes in accordance with the first message indicated by the first information and the each message indicated by the second information.
