US2019072938A1PendingUtilityA1

Controlling distributed device operations

53
Assignee: SIRQUL INCPriority: Mar 27, 2012Filed: Jul 31, 2018Published: Mar 7, 2019
Est. expiryMar 27, 2032(~5.7 yrs left)· nominal 20-yr term from priority
G06Q 20/3224H04W 4/029H04L 67/025G05B 15/02H04W 84/04G05B 19/418H04W 4/02H04W 84/10Y02P90/80
53
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Techniques are described for controlling distributed operations of devices, such as for devices that are each part of or otherwise associated with a mechanical system containing actuators to manipulate a surrounding environment and optionally further containing sensors to obtain information from the surrounding environment, and with such a device controlling the associated system to perform industrial operations. The described techniques may include identifying a group of multiple such devices to perform one or more assigned tasks, such as in a cooperative distributed manner with each device performing part of the assigned tasks, and/or in a competitive manner with some or all devices independently performing at least one assigned task. The performances of the devices may further be evaluated in various manners, and the devices selected to perform one or more tasks may be identified in various manners (including based at least in part on past performance evaluations).

Claims

exact text as granted — not AI-modified
1 - 30 . (canceled) 
     
     
         31 . A computer-implemented method comprising:
 sending, by one or more computing systems and to each of multiple devices, first instructions over one or more networks to implement a specified type of operation that causes a mechanical system associated with the device to change an environment around the associated mechanical system;   evaluating, by the one or more computing systems, performance of each of the multiple devices in implementing the specified type of operation, including scoring the performance of each of the multiple devices according to one or more specified criteria;   selecting, by the one or more computing systems, one or more devices of the multiple devices to implement additional operations of the specified type, wherein the selecting is based at least in part on the evaluated performance of the one or more devices; and   sending, by the one or more computing systems and based on the selecting, one or more second instructions to each of the one or more devices to implement one or more of the additional operations of the specified type.   
     
     
         32 . The computer-implemented method of  claim 31  wherein the multiple devices include multiple controller devices that each has capabilities to receive and implement instructions to control multiple types of operations of an associated mechanical system, and wherein the specified type of operation is one of the multiple types of operations. 
     
     
         33 . The computer-implemented method of  claim 31  wherein, for each of the multiple devices, the mechanical system associated with the device has one or more mechanical actuators to manipulate a surrounding environment, and wherein sending of the first instructions to a device to perform the specified type of operation includes causing the device to use at least one mechanical actuator of the associated mechanical system to manipulate the surrounding environment to accomplish a task associated with the specified type of operation. 
     
     
         34 . The computer-implemented method of  claim 31  wherein, for each of the multiple devices, the mechanical system associated with the device includes environmental controls for an interior of a building, and wherein sending of the first instructions to a device to perform the specified type of operation includes causing the device to issue one or more commands to at least one environmental control to manipulate the environment within the interior of the building to accomplish a task associated with the specified type of operation. 
     
     
         35 . The computer-implemented method of  claim 31  wherein mechanical systems associated with the multiple devices are of multiple types and have different types of mechanical components, and wherein the evaluating of the performance of a device in implementing the specified type of operation includes evaluating performance of the mechanical system associated with the device in using mechanical components of the mechanical system to accomplish a task associated with the specified type of operation. 
     
     
         36 . The computer-implemented method of  claim 31  wherein the multiple devices are of multiple types and have different types of capabilities, and wherein the evaluating of the performance of a device in implementing the specified type of operation includes evaluating use of capabilities of the device to accomplish a task associated with the specified type of operation. 
     
     
         37 . The computer-implemented method of  claim 31  further comprising, by the one or more computing systems and before the sending of the first instructions to the multiple devices, selecting the multiple devices by sending a query to a plurality of devices to identify capabilities to implement the specified type of operation, receiving responses to the sent query from some of the plurality of devices, and selecting the multiple devices from the some devices based at least in part on the received responses. 
     
     
         38 . The computer-implemented method of  claim 31  further comprising, by the one or more computing systems and before the sending of the first instructions to the multiple devices, receiving information about a plurality of devices that include additional devices separate from the multiple devices and that each has capabilities to implement the specified type of operation, and selecting the multiple devices from the plurality of devices based at least in part on historical performance of the multiple devices. 
     
     
         39 . The computer-implemented method of  claim 31  further comprising, by the one or more computing systems and before the sending of the first instructions to the multiple devices, receiving information about a plurality of devices that include additional devices separate from the multiple devices and that each has capabilities to implement the specified type of operation, and selecting the multiple devices from the plurality of devices based at least in part on scheduled maintenance for at least one device of the plurality of devices. 
     
     
         40 . The computer-implemented method of  claim 31  further comprising, by the one or more computing systems and before the sending of the first instructions to the multiple devices:
 receiving information about a plurality of devices that include additional devices separate from the multiple devices and that each has capabilities to implement the specified type of operation; 
 receiving a request to perform the specified type of operation, the received request indicating a geographical location; and 
 selecting the multiple devices from the plurality of devices based at least in part on the multiple devices being in the geographical location. 
 
     
     
         41 . The computer-implemented method of  claim 31  further comprising, by the one or more computing systems and before the sending of the first instructions to the multiple devices:
 obtaining workload information for a plurality of devices that indicates current loads of the plurality of devices based at least in part on tasks being performed by at least some of the plurality of devices, the plurality of devices including the multiple devices and including additional devices that are separate from the multiple devices and that each has capabilities to implement the specified type of operation; 
 receiving information about a specified task to be performed; 
 determining to implement the specified type of operation as part of performing the task; and 
 selecting the multiple devices from the plurality of devices to perform the specified task based at least in part on the obtained workload information. 
 
     
     
         42 . The computer-implemented method of  claim 41  further comprising, by the one or more computing systems:
 receiving past performance scores for the plurality of devices; and 
 receiving information about a priority of the specified task, 
 and wherein the selecting of the multiple devices further includes:
 identifying the multiple devices as having higher past performance scores than the additional devices; 
 identifying the priority of the specified task as being higher than priorities of other tasks; and 
 determining to use the multiple devices to perform the specified task based at least in part on the priority of the specified task being higher than the priorities of the other tasks and on the multiple devices having higher past performance scores than the additional devices. 
 
 
     
     
         43 . The computer-implemented method of  claim 42  wherein the multiple devices are performing the other tasks at a time of the selecting of the multiple devices, and wherein the sending of the first instructions to the multiple devices includes instructing the multiple devices to, based at least in part on the priority of the specified task being higher than the priorities of the other tasks, perform the specified task rather than the other tasks. 
     
     
         44 . The computer-implemented method of  claim 42  further comprising, by the one or more computing systems:
 determining a time by which the performing of the specified task is to be completed; and 
 determining that the multiple devices will be able to perform the specified task by the determined time; 
 and wherein the determining to use the multiple devices is based at least in part on the determining that the multiple devices will be able to perform the specified task by the determined time. 
 
     
     
         45 . The computer-implemented method of  claim 41  further comprising, by the one or more computing systems:
 receiving information about a plurality of inter-related tasks to be performed in a specified order, wherein at least one task of the inter-related tasks is specified to be performed after successful completion of at least one other task of the inter-related tasks; 
 identifying the multiple devices as having capacity to perform the plurality of inter-related tasks; and 
 determining to use the multiple devices to perform the plurality of inter-related tasks based at least in part on the capacity of the multiple devices to perform the plurality of inter-related tasks. 
 
     
     
         46 . The computer-implemented method of  claim 45  wherein the sending of the first instructions to the multiple devices includes instructing the multiple devices to perform the plurality of inter-related tasks in the specified order. 
     
     
         47 . The computer-implemented method of  claim 31  wherein the one or more computing systems are part of a centralized server system managing a plurality of devices that include the multiple devices and include additional devices separate from the multiple devices, and wherein the method further comprises:
 receiving, by one or more of the multiple devices, the sent first instructions; 
 implementing, by at least the one or more devices, the specified type of operation; and 
 providing, by at least one of the multiple devices, information to the centralized server system about the implementing of the specified type of operation. 
 
     
     
         48 . The computer-implemented method of  claim 47  wherein the implementing of the specified type of operation includes performing, by the multiple devices, one or more tasks associated with the specified type of operation, and wherein the receiving of the sent first instructions is performed at least in part over at least one network connection between the centralized server system and one of the multiple devices that is selected to act as a host device for a group of devices including the multiple devices. 
     
     
         49 . The computer-implemented method of  claim 48  wherein selecting of the one device as the host device for the group of devices is performed by the centralized server system before the sending of the first instructions,
 wherein the method further comprises selecting, by the multiple devices, and during the performing of the one or more tasks after the at least one network connection becomes unavailable, a new host device for the group of devices to manage further performing of the one or more tasks, 
 and wherein the providing of the information to the centralized server system is performed at least in part over at least one additional network connection created between the centralized server system and the new host device. 
 
     
     
         50 . The computer-implemented method of  claim 31  wherein the one or more computing systems are part of a centralized server system managing a plurality of devices that include the multiple devices and include additional devices separate from the multiple devices, wherein the scoring of the performance of each of the multiple devices includes generating performance scores for the multiple devices, and wherein the method further comprises, after the scoring of the performance of each of the multiple devices:
 storing, by the one or more computing systems, the generated performance scores for the multiple devices, for use in first subsequent automated decisions by the centralized server system involving the multiple devices based at least in part on the generated performance scores; and 
 sending, by the one or more computing systems, information about the generated performance scores to each of the plurality of devices, to enable any of the plurality of devices to make second subsequent automated decisions involving the multiple devices based at least in part on the generated performance scores. 
 
     
     
         51 . The computer-implemented method of  claim 31  wherein the evaluating and the selecting and the sending of the second instructions are performed repeatedly to iteratively identify one or more primary devices for the specified type of operation that have highest evaluations of performance after a plurality of previous performances of the specified type of operation, and wherein the method further comprises sending, by the one or more computing systems and to the one or more primary devices after the identifying, instructions to perform further operations of the specified type. 
     
     
         52 . The computer-implemented method of  claim 31  further comprising, by the one or more computing systems, selecting at least one additional device for performing a second type of operation different from the specified type of operation based at least in part on prior performance of the at least one additional device, the selected at least one additional device being different from the selected one or more devices for the specified type of operation. 
     
     
         53 . A non-transitory computer-readable medium having stored contents that cause one or more computing systems to perform automated operations including at least:
 initiating performance by multiple devices of a first task, including sending information about the first task over one or more networks to the multiple devices;   evaluating, for the multiple devices, the performance of the first task, including scoring the performance according to one or more specified criteria;   selecting, based at least in part on the evaluated performance, one or more devices of the multiple devices to perform a second task; and   initiating performance of the second task by the selected one or more devices.   
     
     
         54 . The non-transitory computer-readable medium of  claim 53  wherein the multiple devices each controls an associated mechanical system and has capabilities to receive and implement instructions to modify operations of the associated mechanical system, wherein the first task and the second task each involves a specified type of operation for the associated mechanical systems to manipulate a surrounding environment, and wherein the initiating of the performance of the first task includes sending first instructions to each of the multiple devices to cause the device to control the mechanical system associated with the device to perform the specified type of operation. 
     
     
         55 . The non-transitory computer-readable medium of  claim 53  wherein the automated operations further include, before the initiating of the performance of the first task by the multiple devices, selecting the multiple devices by sending a query to a plurality of devices to identify capabilities to perform the first task, receiving responses to the sent query from at least some of the plurality of devices, and selecting the multiple devices from the plurality of devices based at least in part on the received responses. 
     
     
         56 . A system comprising:
 a plurality of devices associated with multiple mechanical systems;   one or more hardware processors of one or more computing systems; and   one or more memories with stored instructions that, when executed by at least one of the one or more hardware processors, cause the system to perform automated operations including at least:
 performing, by multiple devices of the plurality of devices, and in response to received instructions, a specified task that modifies operations of at least one of the multiple mechanical systems; 
 sending, to the one or more computing systems, information about results of the performing of the specified task for at least some of the multiple devices; and 
 further modifying, by one or more of the multiple devices and in response to additional instructions received after the one or more devices are selected to further perform the specified task based at least in part on the sent information about the results, operations of one or more of the mechanical systems based on the specified task. 
   
     
     
         57 . The system of  claim 56  wherein the automated operations further include:
 selecting the multiple devices from the plurality of devices based at least in part on one or more characteristics of the multiple devices; 
 sending, to at least one of the multiple devices and over one or more networks, first instructions to implement the specified task; 
 evaluating performance of the at least some devices in implementing the specified task, including scoring the performance of each of the at least some devices according to one or more specified criteria; 
 selecting, based at least in part on the evaluating of the performance, the one or more devices to further perform the specified task; and 
 sending, to at least one of the one or more devices, second instructions to further implement the specified task. 
 
     
     
         58 . The system of  claim 57  wherein the automated operations further include, before the performing of the specified task by the multiple devices, selecting the multiple devices by sending a query to the plurality of devices to identify capabilities to perform the specified task, receiving responses to the sent query from at least some of the plurality of devices, and selecting the multiple devices from the plurality of devices based at least in part on the received responses. 
     
     
         59 . The system of  claim 56  wherein the multiple devices each controls an associated mechanical system and has capabilities to receive and implement instructions to modify operations of the associated mechanical system, and wherein performing of the specified task by a device involves causing the associated mechanical system to manipulate a surrounding environment.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.