IP Library › Granted Patent US 12,386,632
Granted Patent B2
US 12,386,632 · App. 18/245,545 · Granted Aug 12, 2025

Software controller generation and application

Inventors: Damien Anderson (Glasgow, GB); Paul Harvey (Glasgow, GB); Yusaku Kaneta (Tokyo, JP); Petros Papadopoulos (Glasgow, GB); Philip Rodgers (London, GB); Marc Roper (Glasgow, GB)
Assignee: RAKUTEN MOBILE, INC.
G06F9/44505
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,386,632
App. No.
18/245,545
Granted
Aug 12, 2025
Kind
B2
Abstract

Software controllers are generated and applied by identifying a controllable parameter and a readable metric from a target entity, generating a software controller configured to determine a value of the controllable parameter based on the readable metric, receiving a first metric value corresponding to the readable metric, and applying a first controllable parameter value to the target entity, the first controllable parameter value produced by the software controller in response to input of the first metric value. Software controllers are generated by arranging a sequence of operations relating the controllable parameter to the readable metric, applying a plurality of genetic operators to the sequence to produce a plurality of offspring sequences, and determining whether each offspring sequence among the plurality of offspring sequences is fit for use as the software controller.

Claims (86)

1. A non-transitory computer-readable medium including instructions executable by a processor to cause the processor to perform operations comprising:

articulating an overall fitness function from a service requirement;

decomposing the overall fitness function into a plurality of fitness functions; and

automating control of a target entity by performing, for each fitness function among the plurality of fitness functions:

identifying a controllable parameter and a readable metric from the target entity;

generating a software controller configured to determine a value of the controllable parameter based on the readable metric by:

arranging a sequence of operations relating the controllable parameter to the readable metric,

applying a plurality of genetic operators to the sequence to produce a plurality of offspring sequences, and

determining whether each offspring sequence among the plurality of offspring sequences is fit for use as the software controller by

using each offspring sequence among the plurality of offspring sequences to process test data in a test environment to produce a test metric value, and

comparing the test metric value of each offspring sequence among the plurality of offspring sequences to a corresponding test expected value of a fitness function among the plurality of fitness functions,

receiving a first metric value corresponding to the readable metric; and

applying a first controllable parameter value to the target entity, the first controllable parameter value produced by the software controller in response to input of the first metric value.

2. The computer-readable medium of claim 1 , wherein automating control of the target entity includes further performing, for each fitness function among the plurality of fitness functions:

receiving a second metric value corresponding to the readable metric in response to applying the first controllable parameter value;

comparing the second metric value to a second expected value of the fitness function; and

replacing, in response to the second metric value deviating from the second expected value by more than a threshold amount, the software controller with an offspring sequence among the plurality of offspring sequences determined to be fit for use as the software controller.

3. The computer-readable medium of claim 1 , wherein the identifying the controllable parameter and applying the first controllable parameter value is performed by a platform interface configured to convert controllable parameter values and readable metric values between a software controller format and a target entity format.

4. The computer-readable medium of claim 1 , wherein the applying the first controllable parameter value to the target entity includes:

modifying a configuration file to include the first controllable parameter value,

executing a new instance of the target entity with the configuration file, and

terminating an existing instance of the target entity.

5. The computer-readable medium of claim 1 , wherein the decomposing the overall fitness function includes:

applying a hyper evolution controller to the overall fitness function to produce a plurality of meta evolution controllers, the hyper evolution controller configured to

assign a meta fitness function among the plurality of fitness functions to each meta evolution controller, and

replace any meta evolution controller in response to output of the meta evolution controller deviating from expected output according to the overall fitness function, and

applying each meta evolution controller to the corresponding meta fitness function to produce a corresponding set of evolution controllers among the plurality of evolution controllers including the evolution controller, each meta evolution controller configured to

assign a fitness function among the plurality of fitness functions to each evolution controller among the corresponding set of evolution controllers, and

replace any evolution controller among the corresponding set of evolution controllers in response to output of the evolution controller deviating from expected output according to the corresponding meta fitness function,

wherein the plurality of evolution controllers are configured to generate a plurality of software controllers including the software controller, the plurality of software controllers collectively configured to determine values of a plurality of controllable parameters including the controllable parameter based on a plurality of readable metrics including the readable metric.

6. The computer-readable medium of claim 1 , wherein the identifying the controllable parameter includes determining a value range within which the controllable parameter is adjustable.

7. The computer-readable medium of claim 1 , wherein the identifying the controllable parameter includes determining a value granularity at which the controllable parameter is adjustable.

8. A method comprising:

articulating an overall fitness function from a service requirement;

decomposing the overall fitness function into a plurality of fitness functions; and

automating control of a target entity by performing, for each fitness function among the plurality of fitness functions:

identifying a controllable parameter and a readable metric from the target entity;

generating a software controller configured to determine a value of the controllable parameter based on the readable metric by:

arranging a sequence of operations relating the controllable parameter to the readable metric,

applying a plurality of genetic operators to the sequence to produce a plurality of offspring sequences, and

determining whether each offspring sequence among the plurality of offspring sequences is fit for use as the software controller by

using each offspring sequence among the plurality of offspring sequences to process test data in a test environment to produce a test metric value, and

comparing the test metric value of each offspring sequence among the plurality of offspring sequences to a corresponding test expected value of a fitness function among the plurality of fitness functions,

receiving a first metric value corresponding to the readable metric; and

applying a first controllable parameter value to the target entity, the first controllable parameter value produced by the software controller in response to input of the first metric value.

9. The method of claim 8 , wherein automating control of the target entity includes further performing, for each fitness function among the plurality of fitness functions:

receiving a second metric value corresponding to the readable metric in response to applying the first controllable parameter value;

comparing the second metric value to a second expected value of the fitness function; and

replacing, in response to the second metric value deviating from the second expected value by more than a threshold amount, the software controller with an offspring sequence among the plurality of offspring sequences determined to be fit for use as the software controller.

10. The method of claim 8 , wherein the identifying the controllable parameter and applying the first controllable parameter value is performed by a platform interface configured to convert controllable parameter values and readable metric values between a software controller format and a target entity format.

11. The method of claim 8 , wherein the applying the first controllable parameter value to the target entity includes:

modifying a configuration file to include the first controllable parameter value,

executing a new instance of the target entity with the configuration file, and

terminating an existing instance of the target entity.

12. The method of claim 8 , wherein the decomposing the overall fitness function includes:

applying a hyper evolution controller to the overall fitness function to produce a plurality of meta evolution controllers, the hyper evolution controller configured to

assign a meta fitness function among the plurality of fitness functions to each meta evolution controller, and

replace any meta evolution controller in response to output of the meta evolution controller deviating from expected output according to the overall fitness function, and

applying each meta evolution controller to the corresponding meta fitness function to produce a corresponding set of evolution controllers among the plurality of evolution controllers including the evolution controller, each meta evolution controller configured to

assign a fitness function among the plurality of fitness functions to each evolution controller among the corresponding set of evolution controllers, and

replace any evolution controller among the corresponding set of evolution controllers in response to output of the evolution controller deviating from expected output according to the corresponding meta fitness function,

wherein the plurality of evolution controllers are configured to generate a plurality of software controllers including the software controller, the plurality of software controllers collectively configured to determine values of a plurality of controllable parameters including the controllable parameter based on a plurality of readable metrics including the readable metric.

13. The method of claim 8 , wherein the identifying the controllable parameter includes determining a value range within which the controllable parameter is adjustable.

14. The method of claim 8 , wherein the identifying the controllable parameter includes determining a value granularity at which the controllable parameter is adjustable.

15. An apparatus comprising:

a controller including circuitry configured to

articulate an overall fitness function from a service requirement;

decompose the overall fitness function into a plurality of fitness functions; and

automate control of a target entity with circuitry configured to, for each fitness function among the plurality of fitness functions:

identify a controllable parameter and a readable metric from the target entity;

generate a software controller configured to determine a value of the controllable parameter based on the readable metric by:

arranging a sequence of operations relating the controllable parameter to the readable metric,

applying a plurality of genetic operators to the sequence to produce a plurality of offspring sequences, and

determining whether each offspring sequence among the plurality of offspring sequences is fit for use as the software controller by

 using each offspring sequence among the plurality of offspring sequences to process test data in a test environment to produce a test metric value, and

 comparing the test metric value of each offspring sequence among the plurality of offspring sequences to a corresponding test expected value of a fitness function among the plurality of fitness functions,

receive a first metric value corresponding to the readable metric; and

apply a first controllable parameter value to the target entity, the first controllable parameter value produced by the software controller in response to input of the first metric value.

16. The apparatus of claim 15 , wherein the circuitry is further configured to, for each fitness function among the plurality of fitness functions:

receive a second metric value corresponding to the readable metric in response to applying the first controllable parameter value;

compare the second metric value to a second expected value of the fitness function; and

replace, in response to the second metric value deviating from the second expected value by more than a threshold amount, the software controller with an offspring sequence among the plurality of offspring sequences determined to be fit for use as the software controller.

17. The apparatus of claim 15 , wherein the circuitry is further configured to, in applying the first controllable parameter value to the target entity,

modify a configuration file to include the first controllable parameter value,

execute a new instance of the target entity with the configuration file, and

terminate an existing instance of the target entity.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 16, 2023
From: ANDERSON, DAMIEN; HARVEY, PAUL; KANETA, YUSAKU; PAPADOPOULOS, PETROS; RODGERS, PHILIP; ROPER, MARC
To: RAKUTEN MOBILE, INC.
Reel/Frame 062996/0722 →
Continuity (1)
Related Publication 20240427611A1 · Dec 26, 2024
References Cited (10)
US 10936046B2 · Chao · 2021 [cited by examiner]
US 11881315B1 · Soon-Shiong · 2024 [cited by examiner]
US 20070112912A1 · Weber et al. · 2007 [cited by applicant]
US 20100318911A1 · Holladay et al. · 2010 [cited by applicant]
US 20100318917A1 · Holladay · 2010 [cited by examiner]
US 20180099409A1 · Meier et al. · 2018 [cited by applicant]
US 20220039478A1 · Lavanchy · 2022 [cited by examiner]
US 20240068936A1 · Liu · 2024 [cited by examiner]
US 20250118394A1 · Cronin · 2025 [cited by examiner]
WO 2022216694A1 · 2022 [cited by applicant]