# US 12,602,219 B2 · Information processing apparatus capable of preventing delay of execution of periodically executed processing, method of controlling information processing apparatus, and storage medium

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

- Number: US 12,602,219 B2
- Document ID: US12602219B2
- Status: Granted
- Kind: B2
- Application number: 18/333,683
- Filed: 2023-06-13
- Published: 2023-12-28
- Granted: 2026-04-14
- Earliest claimed: 2022-06-23
- Assignees: Canon Kabushiki Kaisha
- Applicants: Canon Kabushiki Kaisha
- Inventors: Takahiro Fujimura
- Web page: https://patentgrep.com/patent/US12602219B2

## CPC

- G06F 8/65: Updates (security arrangements therefor G06F21/57)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

An information processing apparatus capable of preventing execution of periodically executed processing from being delayed due to update of firmware. Execution of update processing for updating the firmware of the information processing apparatus is controlled according to satisfaction of a predetermined condition. A CPU controls, based on a timing at which the predetermined condition is satisfied and a start time of periodically executed processing which is periodically executed by the information processing apparatus, whether to execute the update processing without waiting for completion of the periodically executed processing or execute the update processing after the completion of the periodically executed processing.

## Claims

### Claim 1

An information processing apparatus comprising:
at least one memory storing instructions; and
at least one processor which, upon executing the stored instructions, performs the functions of:
a control unit that controls execution of update processing for updating predetermined data of the information processing apparatus according to satisfaction of a predetermined condition,
wherein the control unit controls, based on a timing at which the predetermined condition is satisfied and a start time of predetermined processing which is periodically executed by the information processing apparatus, whether to execute the update processing without waiting for completion of the predetermined processing or execute the update processing after the completion of the predetermined processing,
wherein the at least one processor, upon executing the stored instructions, further performs the functions of a time calculation unit that calculates a completion predicted time of the update processing based on the timing at which the predetermined condition is satisfied, and
wherein in a case where the completion predicted time of the update processing is earlier than the start time of the predetermined processing which is periodically executed by the information processing apparatus, the control unit executes the update processing without waiting for the completion of the predetermined processing, and in a case where the completion predicted time of the update processing is not earlier than the start time of the predetermined processing, the control unit executes the update processing after the completion of the predetermined processing, and
wherein the at least one processor, upon executing the stored instructions, further performs the functions of
a first calculation unit that calculates a download speed based on a time period required to perform processing for receiving predetermined data from a server that provides update data used for the update processing, and
a second calculation unit that calculates a writing speed based on a time period required to perform processing for writing the predetermined data into a storage unit of the information processing apparatus, and
wherein the time calculation unit calculates the completion predicted time of the update processing based on the download speed, the writing speed, and a data size of the update data.

### Claim 2 (depends on 1)

The information processing apparatus according to claim 1, wherein the predetermined data is part of the update data.

### Claim 3 (depends on 1)

The information processing apparatus according to claim 1, wherein the predetermined data is data which is different from the update data and is smaller in data size than the update data.

### Claim 4 (depends on 1)

The information processing apparatus according to claim 1, wherein the predetermined processing includes ink circulation processing.

### Claim 5 (depends on 1)

The information processing apparatus according to claim 1, wherein the predetermined processing includes processing for transmitting information related to a subscription contract to an external apparatus.

### Claim 6 (depends on 1)

The information processing apparatus according to claim 1, wherein the predetermined processing includes processing for transmitting status information of the information processing apparatus to an external apparatus.

### Claim 7 (depends on 1)

The information processing apparatus according to claim 1, wherein the at least one memory and the at least one processor further function as a display control unit configured to perform, in a case where the completion predicted time of the update processing is not earlier than the start time of the predetermined processing, control such that a selection screen for prompting a user to select whether or not to execute the update processing is displayed on a display section of the image processing apparatus, and
wherein the completion predicted time of the update processing is displayed on the selection screen.

### Claim 8 (depends on 1)

The information processing apparatus according to claim 1, wherein in a case where the start time of the predetermined processing is not to come before a predetermined time elapses after the timing at which the predetermined condition is satisfied, the control unit executes the update processing without waiting for the completion of the predetermined processing, and
in a case where the start time of the predetermined processing is to come before the predetermined time elapses after the timing at which the predetermined condition is satisfied, the control unit executes the update processing after the completion of the predetermined processing.

### Claim 9 (depends on 1)

The information processing apparatus according to claim 1, wherein in a case where the start time of the predetermined processing is to come before a predetermined time period elapses after the timing at which the predetermined condition is satisfied, the control unit starts the predetermined processing at a timing before the start time of the predetermined processing, and
wherein in a case where the start time of the predetermined processing is to come at a time outside a time slot between the timing at which the predetermined condition is satisfied and a time at which the predetermined time period elapses, the control unit starts the predetermined processing at the start time of the predetermined processing.

### Claim 10 (depends on 1)

The information processing apparatus according to claim 1, wherein the start time of the predetermined processing is a timing at which a condition determined in advance in association the predetermined processing is satisfied.

### Claim 11 (depends on 1)

The information processing apparatus according to claim 1, wherein the predetermined data is firmware.

### Claim 12 (depends on 1)

The information processing apparatus according to claim 1, wherein the information processing apparatus is an image forming apparatus that forms an image on a recording medium.

### Claim 13

A method of controlling an information processing apparatus, comprising:
controlling execution of update processing for updating predetermined data of the information processing apparatus according to satisfaction of a predetermined condition; and
controlling, based on a timing at which the predetermined condition is satisfied and a start time of predetermined processing which is periodically executed by the information processing apparatus, whether to execute the update processing without waiting for completion of the predetermined processing or execute the update processing after the completion of the predetermined processing;
calculating a completion predicted time of the update processing based on the timing at which the predetermined condition is satisfied,
wherein in a case where the completion predicted time of the update processing is earlier than the start time of the predetermined processing which is periodically executed by the information processing apparatus, the update processing is executed without waiting for the completion of the predetermined processing, and in a case where the completion predicted time of the update processing is not earlier than the start time of the predetermined processing, the update processing is executed after the completion of the predetermined processing;
performing a first calculation to calculate a download speed based on a time period required to perform processing for receiving predetermined data from a server that provides update data used for the update processing; and
performing a second calculation to calculate a writing speed based on a time period required to perform processing for writing the predetermined data into a storage unit of the information processing apparatus,
wherein the completion predicted time of the update processing is calculated based on the download speed, the writing speed, and a data size of the update data.

### Claim 14

A non-transitory tangible computer-readable storage medium storing a program for causing a computer to execute a method of controlling an information processing apparatus,
wherein the method comprises:
controlling execution of update processing for updating predetermined data of the information processing apparatus according to satisfaction of a predetermined condition;
controlling, based on a timing at which the predetermined condition is satisfied and a start time of predetermined processing which is periodically executed by the information processing apparatus, whether to execute the update processing without waiting for completion of the predetermined processing or execute the update processing after the completion of the predetermined processing;
calculating a completion predicted time of the update processing based on the timing at which the predetermined condition is satisfied,
wherein in a case where the completion predicted time of the update processing is earlier than the start time of the predetermined processing which is periodically executed by the information processing apparatus, the update processing is executed without waiting for the completion of the predetermined processing, and in a case where the completion predicted time of the update processing is not earlier than the start time of the predetermined processing, the update processing is executed after the completion of the predetermined processing;
performing a first calculation to calculate a download speed based on a time period required to perform processing for receiving predetermined data from a server that provides update data used for the update processing; and
performing a second calculation to calculate a writing speed based on a time period required to perform processing for writing the predetermined data into a storage unit of the information processing apparatus,
wherein the completion predicted time of the update processing is calculated based on the download speed, the writing speed, and a data size of the update data.

### Claim 15

An information processing apparatus comprising:
at least one memory storing instructions; and
at least one processor which, upon executing the stored instructions, performs the functions of:
a control unit that controls execution of update processing for updating predetermined data of the information processing apparatus according to satisfaction of a predetermined condition,
wherein the control unit controls, based on a timing at which the predetermined condition is satisfied and a start time of predetermined processing which is periodically executed by the information processing apparatus, whether to execute the update processing without waiting for completion of the predetermined processing or execute the update processing after the completion of the predetermined processing,
wherein in a case where the start time of the predetermined processing is to come before a predetermined time period elapses after the timing at which the predetermined condition is satisfied, the control unit starts the predetermined processing at a timing before the start time of the predetermined processing, and
wherein in a case where the start time of the predetermined processing is to come at a time outside a time slot between the timing at which the predetermined condition is satisfied and a time at which the predetermined time period elapses, the control unit starts the predetermined processing at the start time of the predetermined processing.

### Claim 16

A method of controlling an information processing apparatus, comprising:
controlling execution of update processing for updating predetermined data of the information processing apparatus according to satisfaction of a predetermined condition,
controlling, based on a timing at which the predetermined condition is satisfied and a start time of predetermined processing which is periodically executed by the information processing apparatus, whether to execute the update processing without waiting for completion of the predetermined processing or execute the update processing after the completion of the predetermined processing,
wherein in a case where the start time of the predetermined processing is to come before a predetermined time period elapses after the timing at which the predetermined condition is satisfied, the controlling starts the predetermined processing at a timing before the start time of the predetermined processing, and
wherein in a case where the start time of the predetermined processing is to come at a time outside a time slot between the timing at which the predetermined condition is satisfied and a time at which the predetermined time period elapses, the controlling starts the predetermined processing at the start time of the predetermined processing.

### Claim 17

A non-transitory tangible computer-readable storage medium storing a program for causing a computer to execute a method of controlling an information processing apparatus,
wherein the method comprises:
controlling execution of update processing for updating predetermined data of the information processing apparatus according to satisfaction of a predetermined condition,
controlling, based on a timing at which the predetermined condition is satisfied and a start time of predetermined processing which is periodically executed by the information processing apparatus, whether to execute the update processing without waiting for completion of the predetermined processing or execute the update processing after the completion of the predetermined processing,
wherein in a case where the start time of the predetermined processing is to come before a predetermined time period elapses after the timing at which the predetermined condition is satisfied, the controlling starts the predetermined processing at a timing before the start time of the predetermined processing, and
wherein in a case where the start time of the predetermined processing is to come at a time outside a time slot between the timing at which the predetermined condition is satisfied and a time at which the predetermined time period elapses, the controlling starts the predetermined processing at the start time of the predetermined processing.
