US 11,706,314 B2
Configuration of workflows for coordinated device environments
Kawarjit Bedi, Sammamish, WA (US); Sravan Kumar Nandamuri, Bellevue, WA (US); Piyush Gupta, Issaquah, WA (US); Atulya Beheray, Sammamish, WA (US); and James Gosling, Redwood City, CA (US)
Assigned to Amazon Technologies, Inc., Seattle, WA (US)
Filed by Amazon Technologies, Inc., Seattle, WA (US)
Filed on Nov. 26, 2018, as Appl. No. 16/200,049.
Prior Publication US 2020/0169619 A1, May 28, 2020
Int. Cl. H04L 67/60 (2022.01); G06F 8/30 (2018.01); G06F 9/50 (2006.01); H04L 67/125 (2022.01)
CPC H04L 67/60 (2022.05) [G06F 8/313 (2013.01); G06F 9/5072 (2013.01); H04L 67/125 (2013.01)] 26 Claims
OG exemplary drawing
 
1. A system for deployment of coordinated device network applications, the system comprising:
a plurality of computing devices corresponding to user devices; and
one or more computing devices associated with a coordinated devices management service for coordinating a first coordinated device and a second coordinated device having different modules for communication, wherein the coordinated devices management service is configured to:
receive a manual selection of the first coordinated device from an interface generated on a user device;
determine a first module associated with the first coordinated device, wherein the first module identifies:
(i) a first set of inputs,
(ii) a first set of outputs, and
(iii) a first set of communication protocols for the first coordinated device, the first set of communication protocols including a first communication input protocol for receiving the first set of inputs associated with the first coordinated device and a first output communication protocol for transmitting the first set of outputs associated with the first coordinated device;
receive, from the interface generated on the user device, a manual selection of the second coordinated device;
receive, from the interface generated on the user device, a workflow definition between the first and second coordinated devices, wherein the workflow definition includes:
(i) at least a communication path between the first and second coordinated devices, the communication path defined by a user illustration received from the interface; and
(ii) communication decision making logic, the communication decision logic providing criteria for allowing communications between the first and second coordinated devices and branching information of communication paths between the first and second coordinated devices;
determine a second module associated with the second coordinated device, wherein the second module defines:
(i) a second set of inputs,
(ii) a second set of outputs, and
(iii) a second set of communication protocols for the second coordinated device, the second set of communication protocols including a second communication input protocol for receiving the second set of inputs associated with the second coordinated device and a second output communication protocol for transmitting the second set of outputs associated with the second coordinated device;
automatically generate a mapping between the first and second coordinated devices based on the communication paths defined in the workflow definition, wherein the mapping defines a transformation of the communications between the first and second coordinated devices to facilitate the communications between the first and second coordinated devices without requiring a modification to the first and second modules and wherein the mapping between the first and second coordinated devices is not previously defined, and further wherein the mapping is automatically generated based on the first set of outputs associated with the first coordinated device and the second set of inputs associated with the second coordinated device, and further wherein the mapping is automatically generated based on the branching information of communication paths between the first and second coordinated devices;
generate a workflow corresponding to the communication decision making logic and the mapping; and
cause the generation of executable code corresponding to the workflow, wherein the generated executable code implements a task, when executed by the one or more computing devices associated with the coordinated devices management service, causes the coordinated devices management service to at least:
in response to receiving the communications between the first and second coordinated devices, route the communications between the first and second coordinated devices to a remote on-demand code execution system to perform the transformation of the communications defined in the mapping between the first and second coordinated devices, wherein a determination of the routing between the first and second coordinated devices to the remote on-demand execution system is based on routing criteria associated with the task.