# US 10,481,952 B2 · Non-transitory computer-readable medium, system, and information processing method

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

- Number: US 10,481,952 B2
- Document ID: US10481952B2
- Status: Granted
- Kind: B2
- Application number: 15/783,061
- Filed: 2017-10-13
- Published: 2018-04-26
- Granted: 2019-11-19
- Earliest claimed: 2016-10-25
- Assignees: Canon Kabushiki Kaisha
- Applicants: Canon Kabushiki Kaisha
- Inventors: Kenta Yabe
- Web page: https://patentgrep.com/patent/US10481952B2

## CPC

- G06F 9/5038: {considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration (scheduling strategies G06F9/4881 and subgroups)}
- G06F 9/4812: {by interrupt, e.g. masked}
- G06F 9/4837: {time dependent}
- G06F 9/485: {Task life-cycle, e.g. stopping, restarting, resuming execution (G06F9/4881 takes precedence)}
- G06F 9/4881: {Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues}
- G06F 9/5044: {considering hardware capabilities}
- G06F 9/5072: {Grid computing}
- G06F 9/5088: {involving task migration}
- G06F 9/542: {Event management; Broadcasting; Multicasting; Notifications}
- G06F 11/0757: {by exceeding a time limit, i.e. time-out, e.g. watchdogs}
- G06F 11/302: {where the computing system component is a software system}
- G06F 11/3065: {Monitoring arrangements determined by the means or processing involved in reporting the monitored data (error or fault reporting or logging G06F11/0766)}
- G06F 11/3419: {by assessing time}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

In the case where an indication that a limit of an event-driven computing service will be reached is detected during the execution of asynchronous process code, the same asynchronous process code is started in an execution environment having higher specifications from the asynchronous process code currently being executed, and processing is continued.

## Claims

### Claim 1

A non-transitory computer-readable medium storing a first program therein executed by a computer constituting a system, the first program causing a computer to execute an information processing method comprising:
processing data using computing resources registered in association with the first program, in accordance with detection of a system event registered in association with the first program;
interrupting the processing of the data in accordance with a result of monitoring an amount of time taken to execute the first program, and
starting a second program registered in the system so that the data is processed,
wherein the system event indicates that the data to be processed has been stored in a predetermined storage location, and
wherein the second program is registered without being associated with the predetermined storage location.

### Claim 2 (depends on 1)

The non-transitory computer-readable medium according to claim 1,
wherein the amount of time taken to execute the first program includes one of an amount of time elapsed from when the first program is executed, a remaining amount of time permitted for the execution of the first program, and a remaining amount of time at which it is determined that the second program is to be started.

### Claim 3 (depends on 1)

The non-transitory computer-readable medium according to claim 1,
wherein the processing is interrupted in response to the amount of time elapsed from when the first program is executed exceeding a limit time; and
the second program is started before the amount of time elapsed from when the first program is executed exceeds the limit time.

### Claim 4 (depends on 1)

The non-transitory computer-readable medium according to claim 1,
wherein the second program is started in the case where a number of retries carried out in response to the execution time of the first program exceeding a limit time has exceeded a predetermined number.

### Claim 5 (depends on 1)

The non-transitory computer-readable medium according to claim 1,
wherein more computing resources are assigned to the second program than to the first program.

### Claim 6 (depends on 1)

The non-transitory computer-readable medium according to claim 1,
wherein the second program processes the same data as the first program.

### Claim 7 (depends on 1)

The non-transitory computer-readable medium according to claim 1,
wherein the second program has the same code as the first program.

### Claim 8

A system that provides a service that executes a first script, the system comprising:
at least one processor; and
at least one memory storing instructions, wherein, upon execution of the stored instructions, the at least one processor functions as:
a detection unit configured to detect a system event;
a processing unit configured to process data using computing resources registered in association with a first script in accordance with detection of the system event;
a monitoring unit configured to monitor an amount of time taken to execute the first script; and
an execution unit configured to interrupt the processing of the data in accordance with a result of monitoring the amount of time taken to execute the first script, and start a second script registered in the system so that the data is processed,
wherein the system event indicates that the data to be processed has been stored in a predetermined storage location, and
wherein the second script is registered without being associated with the predetermined storage location.

### Claim 9 (depends on 8)

The system according to claim 8,
wherein the amount of time taken to execute the first script includes one of an amount of time elapsed from when the first script is executed, a remaining amount of time permitted for the execution of the first script, and a remaining amount of time at which it is determined that the second script is to be started.

### Claim 10 (depends on 8)

The system according to claim 8,
wherein the processing is interrupted in response to the amount of time elapsed from when the first script is executed exceeding a limit time; and
the execution unit starts the second script before the amount of time elapsed from when the first script is executed exceeds the limit time.

### Claim 11 (depends on 8)

The system according to claim 8,
wherein the execution unit executes the second script registered in the system in the case where a number of retries carried out in response to the execution time of the first script exceeding the limit time has exceeded a predetermined number; and
the data being processed by the processing unit is processed as a result of the second script.

### Claim 12 (depends on 8)

The system according to claim 8,
wherein the second script has the same code as the first script; and
more computing resources are assigned to the second script than to the first script.

### Claim 13 (depends on 8)

The system according to claim 8,
wherein the second script processes the same data as the first script.

### Claim 14

An information processing method in a system that provides a service that executes a first script, the method comprising:
detecting a system event;
processing data using computing resources registered in association with a first script in accordance with detection of the system event;
monitoring an amount of time taken to execute the first script; and
interrupting the processing of the data and executing a second script registered in the system so that the data is processed, in accordance with a result of monitoring the amount of time taken to execute the first script,
wherein the system event indicates that the data to be processed has been stored in a predetermined storage location, and
wherein the second script is registered without being associated with the predetermined storage location.
