IP Library Granted Patent US 12,430,420
Granted Patent B2
US 12,430,420 · App. 18/015,280 · Granted Sep 30, 2025

Information processing apparatus, control method therefor, and program for controlling processing loads of updated programs

Inventor: Shusuke Kitamura (Tokyo, JP)
Assignee: Sony Interactive Entertainment Inc.
G06F21/51
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,430,420
App. No.
18/015,280
Granted
Sep 30, 2025
Kind
B2
Abstract

[Object] An information processing apparatus and a program for alleviating development burdens are provided. [Solving Means] An information processing apparatus 1 receives from a user a request to update a program file recorded in a repository and, in a predetermined manner at a time of receiving the update request, acquires reference information regarding a processing load of an execution object based on the program file. The apparatus then creates a provisional execution object based on the program file related to the received update request, and measures the processing load of the provisional execution object so as to acquire a result of the measurement as processing load information. The processing load information regarding the provisional execution object is verified on the basis of the acquired reference information, and the result of the verification is subjected to a predetermined process.

Claims (75)

1. An information processing apparatus comprising:

one or more storage devices comprising a repository and storing instructions; and

one or more processors, that upon execution of the instructions, are configured to perform:

managing the repository to which a program file is recorded;

receiving a request to update a program file recorded in the repository;

acquiring, in a predetermined manner at a time of receiving the request, reference information regarding a processing load of an execution object on a basis of the program file, wherein the reference information is based on a first elapsed time from a time of execution of the execution object to a time when a predetermined screen appears following the execution of the execution object;

creating a provisional execution object based on the program file related to the request;

measuring the processing load of the provisional execution object to acquire a result of the measurement as processing load information, wherein the processing load information is based on a second elapsed time from a time of execution of the provisional execution object to a time when the predetermined screen appears; and

verifying the processing load information regarding the provisional execution object on a basis of the acquired reference information, wherein

a result of the verification is subjected to a predetermined process.

2. The information processing apparatus according to claim 1 , wherein the one or more processors are further configured to perform:

measuring the processing load of the execution object created on a basis of the program file recorded in the repository at the time of receiving the request; and

acquiring the result of the measurement as the reference information.

3. The information processing apparatus according to claim 2 , wherein

the information processing apparatus is communicably connected with a first execution apparatus and a second execution apparatus both configured to execute the execution object created on a basis of the program file,

wherein the one or more processors are further configured to cause the first execution apparatus to execute the execution object created on a basis of the program file recorded in the repository at the time of receiving the request, to measure the processing load of the execution object, and

wherein the one or more processors are further configured to cause the second execution apparatus to execute the provisional execution object, to measure the processing load of the provisional execution object in parallel with the acquisition of the reference information.

4. The information processing of claim 3 , wherein the one or more processors are further configured to cause the first execution apparatus to execute previously built execution objects in different versions prior to the execution of the execution object to perform multiple acquisitions of the reference information.

5. The information processing apparatus according to claim 1 , wherein one or more processors are further configured to measure the processing load of the execution object created at least at the time of receiving the request and at least at another time that is earlier than the time of receiving the request on a basis of the program file recorded in the repository, and to acquire a result of each measurement as each reference information, and

wherein the one of more processors are further configured to verify the processing load information regarding the provisional execution object by comparing each acquired reference information with the processing load information regarding the provisional execution object.

6. The information processing apparatus of claim 1 , wherein acquiring reference information comprises acquiring reference information multiple times,

wherein measuring the processing load comprises:

creating and providing a provisional execution object based on the program file related to the request multiple times; and

acquiring the processing load information multiple times, and

wherein verifying the processing load comprises comparing distribution of the acquired reference information multiple times with distribution of the obtained load information multiple times.

7. The information processing apparatus of claim 1 , wherein the one or more processors are configured to record the reference information and the processing load information as a log, the log comprising a date and a time of each measurement, information identifying a program update related to each measurement, and the processing loads of each measurement associated with one another.

8. A control method for an information processing apparatus that manages a repository to which a program file is recorded, the control method comprising:

receiving a request to update a program file recorded in the repository;

acquiring, in a predetermined manner at a time of receiving the request, reference information regarding a processing load of an execution object based on the program file, wherein the reference information regarding the processing load of the execution object is based on a first elapsed time from a time of execution of the execution object to a time when a predetermined screen appears following the execution of the execution object;

creating a provisional execution object based on the program file related to the request;

measuring the processing load of the provisional execution object to acquire a result of the measurement as processing load information, wherein the processing load information regarding the provisional execution object is based on a second elapsed time from a time of execution of the provisional execution object to a time when the predetermined screen appears;

verifying the processing load information regarding the provisional execution object on a basis of the acquired reference information; and

subjecting a result of the verification to a predetermined process.

9. The control method of claim 8 , further comprising:

measuring the processing load of the execution object created on a basis of the program file recorded in the repository at the time of receiving the request; and

acquiring the result of the measurement as the reference information.

10. The control method of claim 9 , further comprising:

communicating with a first execution apparatus to cause the first execution apparatus to execute the execution object created on a basis of the program file recorded in the repository at the time of receiving the request, to measure the processing load of the execution object; and

communicating with a second execution apparatus to cause the second execution apparatus to execute the provisional execution object, to measure the processing load of the provisional execution object in parallel with the acquisition of the reference information.

11. The control method of claim 10 , further comprising:

causing the first execution apparatus to execute previously built execution objects in different versions prior to the execution of the execution object to perform multiple acquisitions of the reference information.

12. The control method of claim 8 , further comprising:

measuring the processing load of the execution object created at least at the time of receiving the request and at least at another time that is earlier than the time of receiving the request on a basis of the program file recorded in the repository;

acquiring a result of each measurement as each reference information; and

verifying the processing load information regarding the provisional execution object by comparing each acquired reference information with the processing load information regarding the provisional execution object.

13. The control method of claim 8 , wherein acquiring reference information comprises acquiring reference information multiple times,

wherein measuring the processing load comprises:

creating and providing a provisional execution object based on the program file related to the request multiple times; and

acquiring the processing load information multiple times, and

wherein verifying the processing load comprises comparing distribution of the acquired reference information multiple times with distribution of the obtained load information multiple times.

14. The control method of claim 8 , further comprising recording the reference information and the processing load information as a log,

wherein the log comprises a date and a time of each measurement, information identifying a program update related to each measurement, and the processing loads of each measurement associated with one another.

15. A non-transitory, computer readable storage medium containing a program which, when executed by a computer, causes the computer to perform a control method for managing a repository to which a program file is record, the method comprising:

receiving a request to update a program file recorded in the repository;

acquiring, in a predetermined manner at a time of receiving the request, reference information regarding a processing load of an execution object based on the program file, wherein the reference information regarding the processing load of the execution object is based on a first elapsed time from a time of execution of the execution object to a time when a predetermined screen appears following the execution of the execution object;

creating a provisional execution object based on the program file related to the received request;

measuring the processing load of the provisional execution object to acquire a result of the measurement as processing load information, wherein the processing load information regarding the provisional execution object is based on a second elapsed time from a time of execution of the provisional execution object to a time when the predetermined screen appears; and

verifying the processing load information regarding the provisional execution object on a basis of the acquired reference information, wherein

a result of the verification is subjected to a predetermined process.

16. The non-transitory, computer readable storage medium of claim 15 , wherein the method further comprises:

measuring the processing load of the execution object created on a basis of the program file recorded in the repository at the time of receiving the request; and

acquiring the result of the measurement as the reference information.

17. The non-transitory, computer readable storage medium of claim 16 , wherein the method further comprises:

communicating with a first execution apparatus to cause the first execution apparatus to execute the execution object created on a basis of the program file recorded in the repository at the time of receiving the request, to measure the processing load of the execution object; and

communicating with a second execution apparatus to cause the second execution apparatus to execute the provisional execution object, to measure the processing load of the provisional execution object in parallel with the acquisition of the reference information.

18. The non-transitory, computer readable storage medium of claim 15 , wherein the method further comprises:

measuring the processing load of the execution object created at least at the time of receiving the request and at least at another time that is earlier than the time of receiving the request on a basis of the program file recorded in the repository;

acquiring a result of each measurement as each reference information; and

verifying the processing load information regarding the provisional execution object by comparing each acquired reference information with the processing load information regarding the provisional execution object.

19. The non-transitory, computer readable storage medium of claim 15 , wherein acquiring reference information comprises acquiring reference information multiple times, wherein measuring the processing load comprises:

creating and providing a provisional execution object based on the program file related to the request multiple times; and

acquiring the processing load information multiple times,

wherein verifying the processing load comprises comparing distribution of the acquired reference information multiple times with distribution of the obtained load information multiple times.

20. The non-transitory, computer readable storage medium of claim 15 , wherein the method further comprises:

causing the first execution apparatus to execute previously built execution objects in different versions prior to the execution of the execution object to perform multiple acquisitions of the reference information.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 9, 2023
From: KITAMURA, SHUSUKE
To: SONY INTERACTIVE ENTERTAINMENT INC.
Reel/Frame 062317/0371 →
Continuity (1)
Related Publication 20230185900A1 · Jun 15, 2023
References Cited (18)
US 8214654B1 · Wyatt · 2012 [cited by examiner]
US 8839222B1 · Brandwine · 2014 [cited by examiner]
US 9064055B2 · Hu · 2015 [cited by examiner]
US 9823999B2 · Younger · 2017 [cited by examiner]
US 9858176B2 · Machida · 2018 [cited by examiner]
US 10210037B2 · Flyax · 2019 [cited by examiner]
US 10379982B2 · Thompson · 2019 [cited by examiner]
US 10545855B1 · Jayaswal · 2020 [cited by examiner]
US 11294662B2 · Brugman · 2022 [cited by examiner]
US 11480934B2 · Jermann · 2022 [cited by examiner]
US 12039319B1 · Leung · 2024 [cited by examiner]
US 20160188449A1 · Machida · 2016 [cited by examiner]
US 20170060728A1 · Younger · 2017 [cited by examiner]
US 20180165084A1 · Mahimkar · 2018 [cited by examiner]
US 20230185900A1 · Kitamura · 2023 [cited by examiner]
International Search Report and Written Opinion dated Sep. 1, 2020, from International Patent Application No. PCT/JP2020/029557, 7 sheets including translation. [cited by applicant]
Kalbarczyk, Tomasz, et al. , Analyzing Performance Differences between Multiple Code Versions. 2014, [retrieved on Aug. 19, 2020], Internet: <URL:http:/web.cs.ucla.edu/˜tianyi.zhang/perfdiff.pdf> in particular, 3. Metho… [cited by applicant]
Rhysd, GitHub Action for Continuous Benchmarking, Jun. 10, 2020, [retrieved on Aug. 19, 2020], Internet: <https://github.com/rhysd/github-action-benchmark> in particular, Minimal setup. [cited by applicant]