IP Library Granted Patent US 8,621,062
Granted Patent B1
US 8,621,062 · App. 13/831,822 · Granted Dec 31, 2013

Push signaling to run jobs on available servers

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 8,621,062
App. No.
13/831,822
Granted
Dec 31, 2013
Kind
B1
Abstract

Embodiments are directed towards push signaling to run jobs on available servers. Users may provide jobs or job instructions to a job control node. Job control node may determine one or more available job target nodes from among a plurality of managed nodes associated with the job control node. The job target nodes may be determined based on information included in the provided job instructions. If there are available job target nodes, the job control node may provide the job instructions to each available job target node. Further, the job control node may receive communications from one or more available job target nodes that indicates that the job target node is prepared and ready to execute the received job instructions. Next, the job control node may issue a job start command that triggers the prepared job target nodes to begin executing the provided job instructions.

Claims (71)

1. A method for managing a job over a network, comprising:

providing at least one job instruction to a job control node;

enabling a heartbeat message to be communicated between at least the job control node and at least one of a plurality managed nodes;

determining at least one of the plurality of managed nodes that is available to be managed as a job target node based on the at least one job instruction and the heartbeat message;

providing the at least one job instruction to each of the available job target nodes;

determining at least one job target node that is prepared to execute the at least one job instruction based on at least an acknowledgement provided by each of the prepared job target nodes;

executing the at least one job instruction on each of the prepared job target nodes; and

if the at least one job instruction is finished executing on each of the prepared job target nodes, record a job status for each of the prepared job target nodes, wherein a status for the at least one job instruction is updated.

2. The method of claim 1 , wherein executing the at least one job instruction further comprises, delaying the execution of the at least one job instruction until a quantity of prepared job target nodes exceeds a defined threshold.

3. The method of claim 1 , wherein executing the at least one job instruction, further comprises, executing the at least one job instruction on at least a portion of a plurality of prepared job target nodes and executing the at least one job instruction on at least another portion of the plurality of prepared job target nodes after a determined time interval.

4. The method of claim 1 , further comprising, determining at least one job target node associated with at least one entity group based on a search of a configuration management database, wherein the at least one entity group includes at least one type of node.

5. The method of claim 1 , wherein determining if the at least one job instruction is finished, further comprises, determining if the at least one job instruction is successfully completed or if the at least one job instruction failed to complete.

6. The method of claim 1 , wherein determining the at least one available job target node, further comprises, searching among a plurality of managed nodes based on at least one entity group, wherein the at least one entity group includes at least one type of node.

7. The method of claim 1 , wherein determining the at least one available job target node, further comprises, searching for at least one managed node that is indicated as previously failing to successfully complete the at least one job instruction.

8. The method of claim 1 , wherein providing the at least one job instruction to each of the available job target nodes, further comprises, staggering a delivery of the at least one job instruction to at least a portion of the prepared job target nodes by a determined time interval.

9. A system that is arranged for managing a job over a network, comprising:

A job control node comprising:

a transceiver that is operative to communicate over the network;

a memory that is operative to store at least instructions; and

a processor device that is operative to execute instructions that enable actions, including:

providing at least one job instruction to a job control node;

communicating a heartbeat message between at least the job control node and at least one of a plurality managed nodes;

determining at least one of the plurality of managed nodes that is available to be managed as a job target node based on the at least one job instruction and the heartbeat message;

providing the at least one job instruction to each of the available job target nodes;

determining at least one job target node that is prepared to execute the at least one job instruction based on at least an acknowledgement provided by each of the prepared job target nodes;

executing the at least one job instruction on each of the prepared job target nodes; and

if the at least one job instruction is finished executing on each of the prepared job target nodes, record a job status for each of the prepared job target nodes, wherein a status for the at least one job instruction is updated; and

a job target node, comprising:

a transceiver that is operative to communicate over the network;

a memory that is operative to store at least instructions; and

a processor device that is operative to execute instructions that enable actions, including:

communicating a heartbeat message to the at least the job control node; and

executing the at least one job instruction.

10. The system of claim 9 , wherein executing the at least one job instruction further comprises, delaying the execution of the at least one job instruction until a quantity of prepared job target nodes exceeds a defined threshold.

11. The system of claim 9 , wherein executing the at least one job instruction, further comprises, executing the at least one job instruction on at least a portion of a plurality of prepared job target nodes and executing the at least one job instruction on at least another portion of the plurality of prepared job target nodes after a determined time interval.

12. The system of claim 9 , further comprising, determining at least one job target node associated with at least one entity group based on a search of a configuration management database, wherein the at least one entity group includes at least one type of node.

13. The system of claim 9 , wherein determining if the at least one job instruction is finished, further comprises, determining if the at least one job instruction is successfully completed or if the at least one job instruction failed to complete.

14. The system of claim 9 , wherein determining the at least one available job target node, further comprises, searching among a plurality of managed nodes based on at least one entity group, wherein the at least one entity group includes at least one type of node.

15. The system of claim 9 , wherein determining the at least one available job target node, further comprises, searching for at least one managed node that is indicated as previously failing to successfully complete the at least one job instruction.

16. The system of claim 9 , wherein providing the at least one job instruction to each of the available job target nodes, further comprises, staggering a delivery of the at least one job instruction to at least a portion of the prepared job target nodes by a determined time interval.

17. A processor readable non-transitive storage media that includes instructions for managing a job over a network, wherein execution of the instructions by a processor device enables actions, comprising:

providing at least one job instruction to a job control node;

communicating a heartbeat message between at least the job control node and at least one of a plurality managed nodes;

determining at least one of the plurality of managed nodes that is available to be managed as a job target node based on the at least one job instruction and the heartbeat message;

providing the at least one job instruction to each of the available job target nodes;

determining at least one job target node that is prepared to execute the at least one job instruction based on at least an acknowledgement provided by each of the prepared job target nodes;

executing the at least one job instruction on each of the prepared job target nodes; and

if the at least one job instruction is finished executing on each of the prepared job target nodes, record a job status for each of the prepared job target nodes, wherein a status for the at least one job instruction is updated.

18. The media of claim 17 , wherein executing the at least one job instruction further comprises, delaying the execution of the at least one job instruction until a quantity of prepared job target nodes exceeds a defined threshold.

19. The media of claim 17 , wherein executing the at least one job instruction, further comprises, executing the at least one job instruction on at least a portion of a plurality of prepared job target nodes and executing the at least one job instruction on at least another portion of the plurality of prepared job target nodes after a determined time interval.

20. The media of claim 17 , further comprising, determining at least one job target node associated with at least one entity group based on a search of a configuration management database, wherein the at least one entity group includes at least one type of node.

21. The media of claim 17 , wherein determining if the at least one job instruction is finished, further comprises, determining if the at least one job instruction is successfully completed or if the at least one job instruction failed to complete.

22. The media of claim 17 , wherein determining the at least one available job target node, further comprises, searching among a plurality of managed nodes based on at least one entity group, wherein the at least one entity group includes at least one type of node.

23. The media of claim 17 , wherein determining the at least one available job target node, further comprises, searching for at least one managed node that is indicated as previously failing to successfully complete the at least one job instruction.

24. A network device that is operative for managing a job over a network, comprising:

a transceiver that is operative to communicate over a network;

a memory that is operative to store at least instructions; and

a processor device that is operative to execute instructions that enable actions, including:

providing at least one job instruction to a job control node;

enabling a heartbeat message to be communicated between at least the job control node and at least one of a plurality managed nodes;

determining at least one of the plurality of managed nodes that is available to be managed as a job target node based on the at least one job instruction and the heartbeat message;

providing the at least one job instruction to each of the available job target nodes;

determining at least one job target node that is prepared to execute the at least one job instruction based on at least an acknowledgement provided by each of the prepared job target nodes;

executing the at least one job instruction on each of the prepared job target nodes; and

if the at least one job instruction is finished executing on each of the prepared job target nodes, record a job status for each of the prepared job target nodes, wherein a status for the at least one job instruction is updated.

25. The network device of claim 24 , wherein executing the at least one job instruction further comprises, delaying the execution of the at least one job instruction until a quantity of prepared job target nodes exceeds a defined threshold.

26. The network device of claim 24 , wherein executing the at least one job instruction, further comprises, executing the at least one job instruction on at least a portion of a plurality of prepared job target nodes and executing the at least one job instruction on at least another portion of the plurality of prepared job target nodes after a determined time interval.

27. The network device of claim 24 , further comprising, determining at least one job target node associated with at least one entity group based on a search of a configuration management database, wherein the at least one entity group includes at least one type of node.

28. The network device of claim 24 , wherein determining if the at least one job instruction is finished, further comprises, determining if the at least one job instruction is successfully completed or if the at least one job instruction failed to complete.

29. The network device of claim 24 , wherein determining the at least one available job target node, further comprises, searching among a plurality of managed nodes based on at least one entity group, wherein the at least one entity group includes at least one type of node.

30. The network device of claim 24 , wherein determining the at least one available job target node, further comprises, searching for at least one managed node that is indicated as previously failing to successfully complete the at least one job instruction.

Assignments (8)
SECURITY INTEREST Recorded Jul 21, 2025
From: PROGRESS SOFTWARE CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 072094/0790 →
SECURITY INTEREST Recorded Mar 7, 2024
From: PROGRESS SOFTWARE CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 066762/0833 →
SECURITY INTEREST Recorded Jan 25, 2022
From: PROGRESS SOFTWARE CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 058840/0099 →
MERGER AND CHANGE OF NAME Recorded Nov 16, 2020
From: CHEF SOFTWARE INC.; PROGRESS SOFTWARE CORPORATION
To: PROGRESS SOFTWARE CORPORATION
Reel/Frame 054380/0897 →
TERMINATION OF INTELLECTUAL PROPERTY SECURITY AGREEMENT RECORDED @ REEL 043894 AND FRAME 0608 Recorded Oct 5, 2020
From: SILICON VALLEY BANK
To: CHEF SOFTWARE INC.
Reel/Frame 053983/0056 →
SECURITY INTEREST Recorded Oct 18, 2017
From: CHEF SOFTWARE INC.
To: SILICON VALLEY BANK
Reel/Frame 043894/0608 →
CHANGE OF NAME Recorded Mar 3, 2014
From: OPSCODE, INC.
To: CHEF SOFTWARE INC.
Reel/Frame 032379/0725 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 18, 2013
From: ANDERSON, MARK ANDREW; BROWN, CHRISTOPHER JAMES; SMITH, KEVIN ALLEN; KEISER, JOHN BRADEN
To: OPSCODE, INC.
Reel/Frame 030034/0647 →