IP Library Granted Patent US 9,292,345
Granted Patent B2
US 9,292,345 · App. 14/324,753 · Granted Mar 22, 2016

Systems, methods, and computer program products for processing sets of instructions for mobile devices

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 9,292,345
App. No.
14/324,753
Granted
Mar 22, 2016
Kind
B2
Abstract

Systems, methods, and computer program products are provided for managing processes. A command is received to process one or more workflows, each of the one or more workflows including a set of instructions. A request for identification of one or more devices meeting predefined criteria is issued. A device identifier (ID) and data corresponding to each of the one or more devices meeting the predefined criteria are stored in a database. The one or more workflows are processed for each of the one or more devices meeting the predefined criteria by executing the set of instructions included in the one or more workflows. Executing the set of instructions included in the one or more workflows includes calling one or more functions to be performed by one or more communicatively coupled systems.

Claims (47)

1. A process management system, comprising:

at least one memory operable to store a database and one or more workflows, each of the one or more workflows including a set of instructions comprising instructions to transmit a command to a computing device to wake up the respective computing device without presenting notification on the computing device of receipt of the instructions and to establish a network connection with the system to transmit one or more commands to the computing device; and

a processor coupled to the at least one memory, the processor being able to:

receive a command to process the one or more workflows;

issue a request for identification of one or more computing devices meeting one or more predefined criteria;

store a computing device identifier (ID) and data in the database corresponding to each of the one or more computing devices meeting the one or more predefined criteria; and

process the one or more workflows for each of the one or more computing devices meeting the one or more predefined criteria by executing the set of instructions included in the one or more workflows, wherein executing the set of instructions included in the one or more workflows includes calling one or more functions to be performed by one or more communicatively coupled systems associated with the process management system and wherein executing the set of instructions further includes communicating the command to the one or more computing devices meeting the one or more predefined criteria to wake up each respective computing device and to establish the network connection with the system.

2. The system according to claim 1 , wherein the processor is further operable to generate a schedule including at least a start time to start processing of the one or more workflows.

3. The system according to claim 1 , further comprising a common proxy for communicating data, including requests to call the one or more functions, to the one or more communicatively coupled systems.

4. The system according to claim 1 , wherein the memory is further operable to store a results database which stores results of processing the one or more workflows.

5. The system according to claim 1 , wherein the processor is further operable to validate the one or more workflows by communicating with a rules engine.

6. The system according to claim 1 , wherein the predefined criteria comprise a type and model of a computing device.

7. The system according to claim 1 , wherein one of the workflows is a cleanup workflow, and wherein the processor is further operable to:

identify an error computing device that has encountered an error; and

execute the cleanup workflow for the error computing device.

8. The system according to claim 1 , wherein one of the workflows is for updating an applet on a secure element of a computing device.

9. The system according to claim 1 , wherein the processor is further operable to process the one or more workflows for the one or more computing devices meeting the one or more predetermined criteria by:

setting up a pool of device IDs corresponding to a subset of the computing devices to be concurrently processed; and

processing, concurrently, the one or more workflows for each of the one or more computing devices in the pool.

10. The system according to claim 9 , wherein the processor is further operable to:

add a new computing device ID to the pool when processing is completed for one of the computing devices in the pool.

11. The system according to claim 1 , wherein the processor is further operable to request, from one of the one or more computing devices, a time range in which processing the one or more workflows may be initiated.

12. A computer-implemented method, comprising:

receiving, using one or more computing devices associated with a process management system, a command to process one or more workflows, each of the one or more workflows including a set of instructions comprising instructions to transmit a command to a computing device to wake up the respective computing device without presenting notification on the computing device of receipt of the instructions and to establish a network connection with the system to transmit one or more commands to the computing devices;

issuing, using the one or more computing devices, a request for identification of one or more computing devices meeting one or more predefined criteria;

storing, using the one or more computing devices a device identifier (ID) and data in a database corresponding to each of the one or more computing devices meeting the one or more predefined criteria; and

processing, using the one or more computing devices, the one or more workflows for each of the one or more computing devices meeting the one or more predefined criteria by executing the set of instructions included in the one or more workflows, wherein executing the set of instructions included in the one or more workflows includes calling one or more functions to be performed by one or more communicatively coupled systems associated with the process management system and wherein executing the set of instructions further includes communicating the command to the one or more computing devices meeting the one or more predefined criteria to wake up each respective computing device and to establish the network connection with the system.

13. The method according to claim 12 , further comprising generating, using the one or more computing devices a schedule including at least a start time to processing of the one or more workflows.

14. The method according to claim 12 , wherein data, including requests to call the one or more functions, are communicated to the one or more communicatively coupled systems via a common proxy.

15. The method according to claim 12 , further comprising storing, using the one or more computing devices, results of processing the one or more workflows in a results database.

16. The method according to claim 12 , further comprising validating, using the one or more computing devices, the one or more workflows by communicating with a rules engine.

17. The method according to claim 12 , wherein the predefined criteria comprise a type and model of a computing device.

18. The method according to claim 12 , wherein one of the workflows is a cleanup workflow, and wherein the method further comprises:

identifying, using the one or more computing devices, an error computing device that has encountered an error; and

executing, using the one or more computing devices, the cleanup workflow for the error computing device.

19. The method according to claim 12 , wherein one of the workflows is for updating an applet on a secure element of a computing device.

20. The method according to claim 12 , wherein the processing of the one or more workflows for the one or more devices meeting the one or more predetermined criteria further comprises:

creating, using the one or more computing devices, a pool of device IDs corresponding to a subset of the computing devices to be concurrently processed; and

processing, concurrently and using the one or more computing devices, the one or more workflows for each of the one or more computing devices in the pool.

21. The method according to claim 20 , further comprising adding, using the one or more computing devices, a new computing device ID to the pool when processing is completed for one of the devices in the pool.

22. The method according to claim 12 , further comprising requesting, using the one or more computing devices and from one of the one or more computing devices meeting the one or more predefined criteria, a time range in which processing the one or more workflows may be initiated.

23. A computer program product, comprising:

a non-transitory computer-readable medium having computer-executable instructions stored thereon that when executed by one or more processors cause the one or more processors to manage processes, the computer-executable instructions comprising:

computer-executable program instructions to receive a command to process one or more workflows, each of the one or more workflows including a set of instructions comprising instructions to transmit a command to a computing device to wake up the respective computing device without presenting notification on the computing device of receipt of the instructions and to establish a network connection with the system to transmit one or more commands to the computing device;

computer-executable program instructions to issue a request for identification of one or more computing devices meeting one or more predefined criteria;

computer-executable program instructions to store a device identifier (ID) and data in a database corresponding to each of the one or more computing devices meeting the one or more predefined criteria; and

computer-executable program instructions to process the one or more workflows for each of the one or more computing devices meeting the one or more predefined criteria by executing the set of instructions included in the one or more workflows, wherein executing the set of instructions included in the one or more workflows includes calling one or more functions to be performed by one or more communicatively coupled systems associated with the one or more processors and wherein executing the set of instructions further includes communicating commands to the one or more computing devices meeting the one or more predefined criteria to wake up each respective computing device and to establish the network connection with the system.

Assignments (3)
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044566/0657 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 20, 2015
From: JVL VENTURES, LLC
To: GOOGLE INC.
Reel/Frame 035463/0544 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 31, 2014
From: LETTOW, GREG A.; SRINIVASAMURTHY, KIRAN H.; GARGIULO, MICHAEL J.
To: JVL VENTURES, LLC
Reel/Frame 033435/0055 →