IP Library Patent Application 14746738
Patent Application
App. No. 14/746,738

COOPERATIVE DISTRIBUTED CONTROL OF TARGET SYSTEMS

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 None
App. No.
14/746,738
Abstract

Techniques are described for implementing automated control systems that manipulate operations of specified target systems, such as by modifying or otherwise manipulating inputs or other control elements of the target system that affect its operation (e.g., affect one or more outputs of the target system). An automated control system for such a target system may in some situations have a distributed architecture that provides cooperative distributed control of the target system, such as with multiple decision modules that each control a portion of the target system and operate in a partially decoupled manner with respect to each other, with the various decision modules' operations being at least partially synchronized and each having a consensus with one or more other decision modules, even if a fully synchronized convergence of all decision modules at all times is not guaranteed.

Claims (97)

1 . A computer-implemented method comprising:

receiving, by a collaborative distributed decision system implemented by one or more computing systems, system information from one or more users that describes a physical system having a plurality of inter-related elements and having one or more outputs whose values vary based at least in part on values of one or more manipulatable control elements of the plurality, wherein the system information includes multiple rules that each has one or more conditions to evaluate and that specify restrictions involving the plurality of elements, the multiple rules including one or more soft rules whose conditions evaluate to one of three or more possible values under differing situations to represent varying degrees of uncertainty and further including additional rules whose conditions evaluate to either true or false under differing situations;

receiving, by the collaborative distributed decision system, objective information that identifies a goal to be achieved during controlling of the physical system;

obtaining, by the collaborative distributed decision system, sensor information that identifies current state information for at least one element of the plurality;

converting, by the collaborative distributed decision system, the system information and the objective information and the sensor information to coupled differential equations that represent a model describing a current state of the physical system;

performing, by the collaborative distributed decision system, a piecewise linear analysis of the coupled differential equations to identify one or more control actions that manipulate values of the one or more manipulatable control elements and that provide a solution for the goal, wherein the provided solution is within a threshold amount of an optimal solution for the goal; and

initiating performance of the one or more control actions in the physical system to manipulate values of the one or more manipulatable control elements and to cause resulting changes in the values of the one or more outputs.

2 . The computer-implemented method of claim 1 wherein the physical system is an electricity generating facility, wherein the plurality of inter-related elements include multiple alternative electricity sources within the electricity generating facility, wherein the manipulatable control elements include one or more controls to determine whether to accept a request to supply a specified amount of electricity at a current time and to select which alternative electricity source to provide the specified amount of electricity at the current time if accepted, wherein the outputs include the electricity being provided, and wherein the goal is to maximize profits for the electricity generating facility from providing of the electricity.

3 . The computer-implemented method of claim 1 wherein the physical system is an energy generating facility, wherein the plurality of inter-related elements include at least one energy source within the energy generating facility and at least one energy storage mechanism within the energy generating facility, wherein the manipulatable control elements include one or more controls to determine whether to accept a request to supply a specified amount of energy at a current time and to determine to provide energy to the at least one energy storage mechanism at the current time if not accepted and to provide energy from the at least one energy source if accepted, wherein the outputs include the energy being provided, and wherein the goal is to maximize profits for the electricity generating facility from providing of the energy.

4 . The computer-implemented method of claim 1 wherein the physical system is a vehicle, wherein the plurality of inter-related elements include a motor and a battery of the vehicle, wherein the manipulatable control elements include one or more controls to select whether at a current time to remove energy from the battery to power the motor or to add excess energy to the battery and how much energy to remove from the battery, wherein the outputs include effects of the motor to move the vehicle, and wherein the goal is to move the vehicle at one or more specified speeds with a minimum of energy produced from the battery.

5 . The computer-implemented method of claim 4 wherein the plurality of inter-related elements further includes an engine that is manipulatable to modify energy generated from the engine, wherein the manipulatable control elements further include one or more additional controls to determine how much energy to generate from the engine for use at least in part in adding the excess energy to the battery, and wherein the goal includes to minimize use of fuel by the engine.

6 . The computer-implemented method of claim 1 wherein the physical system includes product inventory at one or more locations, wherein the plurality of inter-related elements include one or more product sources that provide products and increase the inventory at the one or more locations and further include one or more product recipients that receive products and decrease the inventory at the one or more locations, wherein the manipulatable control elements include one or more first controls to select at a current time one or more first amounts of one or more products to request from the one or more product sources, and further include one or more second controls to select at the current time one or more second amounts of at least one product to provide to the one or more product recipients, wherein the outputs include products being provided from the one or more locations to the one or more product recipients, and wherein the goal is to maximize profit of an entity operating the one or more locations while maintaining the inventory at one or more specified levels.

7 . The computer-implemented method of claim 1 wherein the additional rules include one or more absolute rules that specify non-modifiable restrictions that are requirements regarding operation of the physical system, and further include one or more hard rules that specify restrictions regarding operation of the physical system that can be modified in specified situations.

8 . The computer-implemented method of claim 1 wherein the system information and the sensor information and the goal are associated with a first decision module of a plurality of decision modules of the collaborative distributed decision system, wherein the plurality of decision modules each has a distinct model describing the current state of the physical system that is based on a distinct set of system information and sensor information and one or more goals, and wherein the method further comprises determining an aggregated model that is based on the distinct models for the plurality of decision modules and that simultaneously provides solutions for the goals of each of the plurality of decision modules, wherein the aggregated model has one or more associated control actions to perform in the physical system to manipulate values of the one or more manipulatable control elements in a specified manner.

9 . The computer-implemented method of claim 8 further comprising determining the aggregated model by successively synchronizing, for each of the plurality of decision modules, the model for that decision module with a shared model describing the current state of the physical system maintained for an additional virtual decision module, and wherein the determined one or more associated control actions are based on results of the successive synchronizing.

10 . The computer-implemented method of claim 9 wherein the plurality of decision modules each has an associated Hamiltonian function that expresses the model for that decision module, wherein the shared model for the additional virtual decision module is expressed with an additional Hamiltonian function, and wherein the synchronizing, for each of the plurality of decision modules, of the model for that decision module with the shared model for the additional virtual decision module includes:

creating a combined Hamiltonian function that includes the Hamiltonian function associated with that decision module and the additional Hamiltonian function for the additional virtual decision module;

determining a Pareto equilibrium for the combined Hamiltonian function; and

before performing the synchronizing for a next of the plurality of decision modules, updating the shared model and the model specific to the decision module based on results of the determined Pareto equilibrium.

11 . The computer-implemented method of claim 8 wherein the model for each of the plurality of decision modules is expressed with a Hamiltonian function specific to that decision module, and wherein the method further comprises determining the aggregated model in a distributed manner by, for one of the plurality of decision modules:

successively synchronizing, for at least some of the other decision modules of the plurality, the model for the other decision module with the model for the one decision module by:

obtaining the Hamiltonian function specific to the other decision module;

creating a combined Hamiltonian function that includes the Hamiltonian function specific to the other decision module and the Hamiltonian function specific to the one decision module;

determining a Pareto equilibrium for the combined Hamiltonian function; and

before performing the synchronizing for a next of the at least some other decision modules of the plurality, updating the models for each of the one decision module and the other decision module based on results of the determined Pareto equilibrium; and

repeating the successive synchronizing until the plurality of decision models converge on a shared model describing the current state of the physical system that simultaneously provides solutions for the goals of each of the plurality of decision modules and that is associated with the determined one or more additional control actions.

12 . The computer-implemented method of claim 8 further comprising, for each of the plurality of decision modules other than the first decision module:

receiving, by the collaborative distributed decision system, the system information for the decision module from one or more users to describe the physical system, wherein the system information for the decision module includes multiple rules for the decision module that are distinct from the multiple rules for the first decision module;

converting, by the collaborative distributed decision system, the system information for the decision module and the sensor information for the decision module and the one or more goals for the decision module to coupled differential equations for the decision module that are distinct from the coupled differential equations for the first decision module and that represent the model for the decision module;

performing, by the collaborative distributed decision system, a piecewise linear analysis of the coupled differential equations for the decision module to identify one or more control actions for the decision module that provide a solution for the decision module for the one or more goals of the decision module, wherein the provided solution for the decision module is within a threshold amount of an optimal solution for the one or more goals of the decision module; and

providing information about the one or more control actions for the decision module.

13 . The computer-implemented method of claim 8 further comprising, for each of the plurality of decision modules other than the first decision module:

receiving, by the collaborative distributed decision system, the one or more goals for the decision module that are to be achieved during the controlling of the physical system, wherein the one or more goals for the decision module are distinct from the goal for the first decision module;

converting, by the collaborative distributed decision system, the system information for the decision module and the sensor information for the decision module and the one or more goals for the decision module to coupled differential equations for the decision module that are distinct from the coupled differential equations for the first decision module and that represent the model for the decision module;

performing, by the collaborative distributed decision system, a piecewise linear analysis of the coupled differential equations for the decision module to identify one or more control actions for the decision module that provide a solution for the decision module for the one or more goals of the decision module, wherein the provided solution for the decision module is within a threshold amount of an optimal solution for the one or more goals of the decision module; and

providing information about the one or more control actions for the decision module.

14 . The computer-implemented method of claim 8 further comprising, for each of the plurality of decision modules other than the first decision module:

obtaining, by the collaborative distributed decision system, sensor information for the decision module that identifies current state information for at least one element of the plurality of inter-related elements for the physical system, wherein the sensor information for the decision module is distinct from the sensor information for the first decision module;

converting, by the collaborative distributed decision system, the system information for the decision module and the sensor information for the decision module and the one or more goals for the decision module to coupled differential equations for the decision module that are distinct from the coupled differential equations for the first decision module and that represent the model for the decision module;

performing, by the collaborative distributed decision system, a piecewise linear analysis of the coupled differential equations for the decision module to identify one or more control actions for the decision module that provide a solution for the decision module for the one or more goals of the decision module, wherein the provided solution for the decision module is within a threshold amount of an optimal solution for the one or more goals of the decision module; and

providing information about the one or more control actions for the decision module.

15 . The computer-implemented method of claim 8 wherein the aggregated model that simultaneously provides solutions for the goals of each of the plurality of decision modules corresponds to a first time, and wherein the method further comprises, for each of multiple additional successive times after the first time, updating the aggregated model for the additional successive time by:

obtaining, by the collaborative distributed decision system, additional sensor information that identifies current state information at the additional successive time for one or more elements of the plurality;

creating, by the collaborative distributed decision system, additional coupled differential equations from the aggregated model and from the additional sensor information;

performing, by the collaborative distributed decision system, a piecewise linear analysis of the additional coupled differential equations to attempt to identify an additional solution at the additional successive time that simultaneously provides solutions for the goals of each of the plurality of decision modules; and

if the additional solution at the additional successive time is identified, updating the aggregated model to reflect the additional solution.

16 . The computer-implemented method of claim 15 further comprising, during one of the multiple additional successive times, modifying the plurality of decision modules to include one or more additional decision modules that each has a model describing the current state of the physical system that is different from the models of other of the plurality of decision modules and that includes a distinct set of system information and sensor information and one or more goals, and wherein the updating of the aggregated model after the one additional successive time includes using the one or more additional decision modules as part of the plurality of decision modules.

17 . The computer-implemented method of claim 15 further comprising, during one of the multiple additional successive times, modifying the plurality of decision modules to remove one or more decision modules from the plurality of decision modules, and wherein the updating of the aggregated model after the one additional successive time includes using the plurality of decision modules without the one or more removed decision modules.

18 . The computer-implemented method of claim 15 further comprising:

during one of the multiple additional successive times, losing an ability to communicate with one or more decision modules of the plurality of decision modules; and

for each of one or more further successive times of the multiple additional successive times after the one additional successive time and while the ability to communicate with the one or more decision modules is unavailable, and for each of the one or more decision modules, individually updating the aggregated model for the further successive time using additional sensor information for the further successive time and using the distinct set of system information and one or more goals for that decision module.

19 . The computer-implemented method of claim 18 wherein the losing of the ability to communicate with the one or more decision modules is based on one or more unreliable network connections to the one or more decision modules, wherein at least some decision modules of the plurality retain the ability to communicate after the one additional successive time, and wherein the method further comprises, for each of the one or more further successive times, performing the updating for the further successive time of the aggregated model by using at least some decision modules without the one or more decision modules.

20 . The computer-implemented method of claim 1 further comprising:

storing, by the collaborative distributed decision system and for a first time corresponding to the performing of the piecewise linear analysis, a model describing a current state of the physical system at the first time that includes the goal information and the system information and information about the resulting changes in the values of the one or more outputs from the performance of the one or more control actions in the physical system; and

at one or more later second times after the first time, updating the stored model by:

obtaining, by the one or more computing systems, additional sensor information that identifies current state information at the second time for one or more elements of the plurality;

creating, by the collaborative distributed decision system, additional coupled differential equations from the stored model and from the additional sensor information;

performing, by the collaborative distributed decision system, a piecewise linear analysis of the additional coupled differential equations to attempt to identify an additional solution for the goal at the second time; and

if the additional solution at the second time is identified, updating the stored model to reflect the additional solution for the second time.

21 . The computer-implemented method of claim 20 wherein the one or more later second times include multiple additional successive times after the first time, and wherein the method further comprises identifying patterns in changes over the multiple additional successive times of the stored model, and using the identified patterns to control the physical system after the multiple additional successive times.

22 . The computer-implemented method of claim 20 wherein the one or more later second times include multiple additional successive times after the first time, wherein the method further comprises modifying the multiple rules, during one of the multiple additional successive times, and wherein the updating of the stored model after the one additional successive time includes using the modified rules.

23 . The computer-implemented method of claim 20 wherein the one or more later second times include multiple additional successive times after the first time, wherein the updating of the stored model for each of the multiple additional successive times is performed in a real-time manner after the obtaining of the additional sensor information for that additional successive time, and wherein the method further comprises providing real-time control of the physical system by performing one or more further control actions at each of the multiple additional successive times based on the stored model for that additional successive time.

24 . The computer-implemented method of claim 20 wherein the attempt to identify the additional solution for the goal at one of the second times does not succeed, and wherein the method further comprises:

determining, by the collaborative distributed decision system, at least one of the multiple rules to relax by modifying at least one of the specified restrictions corresponding to the determined at least one rules;

creating, by the collaborative distributed decision system, modified system information with the modified at least one specified restriction;

converting, by the collaborative distributed decision system, the modified system information and the objective information and the additional sensor information to further coupled differential equations;

performing, by the collaborative distributed decision system, a piecewise linear analysis of the further coupled differential equations to identify the one or more additional control actions that manipulate values of the one or more manipulatable control elements and that provide the additional solution for the goal at the one second time, wherein the provided additional solution is within a threshold amount of an optimal solution for the goal at the one second time; and

updating the stored model to reflect the additional solution for the one second time.

25 . The computer-implemented method of claim 24 wherein the modifying of the at least one specified restriction includes suspending one or more of the at least one specified restrictions for at least a period of time.

26 . The computer-implemented method of claim 24 wherein the attempt to identify the additional solution for the goal at the one second time does not succeed due to the restrictions involving the plurality of elements being over-constrained and not having any solution.

27 . A non-transitory computer-readable medium having stored contents that cause one or more computing systems of a collaborative distributed decision system to perform a method, the method comprising:

receiving, by the one or more computing systems, system information from one or more users that describes a target system having a plurality of elements that are inter-related and that include one or more manipulatable control elements with modifiable values, wherein the system information includes multiple rules that each has one or more conditions to evaluate and that specify restrictions involving the plurality of elements, the multiple rules including one or more soft rules whose conditions evaluate to one of three or more possible values under differing situations to represent varying degrees of uncertainty and further including additional rules whose conditions evaluate to either true or false under differing situations;

receiving, by the one or more computing systems, objective information that identifies a goal to be achieved while modifying the values of the one or more manipulatable control elements;

obtaining, by the one or more computing systems, sensor information that identifies information about a physical state of at least one element of the plurality at a specified time;

converting, by the one or more computing systems, the system information and the objective information and the sensor information to coupled differential equations that represent a model describing a state of the target system at the specified time;

performing, by the one or more computing systems, a piecewise linear analysis of the coupled differential equations to identify one or more values of the one or more manipulatable control elements that provide a solution for the goal for the specified time, wherein the provided solution is within a threshold amount of an optimal solution for the goal for the specified time; and

providing information about the identified one or more values, to enable modification of the one or more manipulatable control elements for the specified time to have the identified one or more values.

28 . The non-transitory computer-readable medium of claim 27 wherein the target system is a physical system having one or more outputs whose values vary based at least in part on the values of the manipulatable control elements, and wherein the stored contents include software instructions that, when executed, further cause the one or more computing systems to initiate performance of one or more control actions in the physical system to modify the one or more manipulatable control elements to have the identified one or more values and to cause resulting changes in the values of the one or more outputs.

29 . The non-transitory computer-readable medium of claim 27 wherein the target system includes one or more computing resources being protected from unauthorized operations, wherein the plurality of inter-related elements include one or more sources of attempts to perform operations, wherein the manipulatable control elements include one or more controls to determine whether a change in authorization to a specified type of operation is needed and to select one or more actions to take to implement the change in authorization if so determined, and wherein the goal is to minimize unauthorized operations that are performed.

30 . The non-transitory computer-readable medium of claim 27 wherein the target system includes one or more information sources to be analyzed to determine a risk level from information of the one or more information sources, wherein the manipulatable control elements include one or more controls to determine whether the risk level exceeds a specified threshold and to select one or more actions to take to mitigate the risk level, and wherein the goal is to minimize the risk level.

31 . The non-transitory computer-readable medium of claim 27 wherein the target system includes one or more financial markets, wherein the plurality of inter-related elements include items that can be purchased and/or sold in the one or more financial markets, wherein the manipulatable control elements include one or more controls to determine whether to purchase or sell particular items at particular times and to select one or more actions to initiate transactions to purchase or sell the particular items at the particular times, and wherein the goal is to maximize profit while maintaining risk below a specified threshold.

32 . The non-transitory computer-readable medium of claim 27 wherein the target system includes functionality to perform coding for medical procedures performed on humans, wherein the plurality of inter-related elements include a plurality of medical codes corresponding to a plurality of medical procedures, wherein the manipulatable control elements include one or more controls to select particular medical codes to associate with particular medical procedures in specified circumstances, and wherein the goal is to minimize errors in selected medical codes that cause revenue leakage.

33 . A system comprising:

one or more processors of one or more computing systems; and

a memory containing a plurality of modules of a collaborative distributed decision system that, when executed by at least one of the one or more processors, cause the one or more processors to implement the collaborative distributed decision system, the plurality of modules including:

a user interface module that generates a graphical user interface for use by one or more users and that receives, from the one or more users, system information that describes a physical target system having a plurality of inter-related elements and having one or more outputs whose values vary based at least in part on values of one or more manipulatable control elements of the plurality, wherein the system information includes multiple rules that each has one or more conditions to evaluate and that specify restrictions involving the plurality of elements;

one or more sensor event modules that obtain sensor information identifying current state information for at least one element of the plurality;

a target system representation builder module that converts the system information to a plurality of constraints, and that generates, from the plurality of constraints and the sensor information and a goal to be achieved during controlling of the physical target system, coupled differential equations that represent a model describing a current state of the physical target system;

an optimization determination module that performs a piecewise linear analysis of the coupled differential equations to identify one or more control actions that manipulate values of the one or more manipulatable control elements and that provide a solution for the goal, wherein the provided solution is within a threshold amount of an optimal solution for the goal; and

one or more output modules that provide information about the one or more control actions, to enable performance of the one or more control actions in the physical system to manipulate values of the one or more manipulatable control elements and to cause resulting changes in the values of the one or more outputs.

34 . The system of claim 33 further comprising:

a first decision module that includes the system information and the sensor information and the goal, and that stores the model describing the current state of the physical target system for the first decision module;

multiple other decision modules that each has a distinct model describing the current state of the physical target system that is based on a distinct set of system information and sensor information and one or more goals; and

a stored aggregated model that is based on the model for the first decision module and the distinct models for the multiple other decision modules and that simultaneously provides solutions for the goals of the first decision module and of each of the multiple other decision modules, wherein the aggregated model has one or more associated control actions to perform in the physical target system to manipulate values of the one or more manipulatable control elements in a specified manner

35 . The system of claim 33 further comprising:

the one or more manipulatable control elements; and

one or more effectuators to manipulate the values of the one or more manipulatable control elements and to cause the resulting changes in the values of the one or more outputs.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 6, 2018
From: ATIGEO CORPORATION
To: VERITONE ALPHA, INC.
Reel/Frame 046302/0883 →
SECURITY INTEREST Recorded Nov 9, 2015
From: ATIGEO CORPORATION
To: VENTURE LENDING & LEASING VI, INC.; VENTURE LENDING & LEASING VII, INC.
Reel/Frame 036995/0017 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 22, 2015
From: KOHN, WOLF, DR.; SANDOVAL, MICHAEL LUIS; VETTRIVEL, VISHNU; CROSS, JONATHAN; KNOX, JASON; TALBY, DAVID; LAZARUS, MIKE
To: ATIGEO CORP.
Reel/Frame 036626/0603 →