IP Library Granted Patent US 7,930,338
Granted Patent B2
US 7,930,338 · App. 11/017,562 · Granted Apr 19, 2011

Observer for grid-enabled software applications

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 7,930,338
App. No.
11/017,562
Granted
Apr 19, 2011
Kind
B2
Abstract

A method includes, in a network of interconnected grid compute nodes, receiving a request to execute an application in the network, registering the application, determining whether the application meets a threshold to enable assigning the application to one of the grid compute nodes within the network, assigning the application to execute on a specific grid compute node having no other current applications executing, preparing the grid compute node for execution of the application, recovering the grid compute node if the application terminates prematurely, and deregistering the application on the grid compute node if the application executes successfully.

Claims (88)

1. A method comprising:

receiving, in a network of interconnected grid compute nodes, a request to execute an application in the network;

registering the requested application;

maintaining a history of application executions in a grid network, wherein the history includes a list of a number of times each application in the grid network previously failed to execute;

determining, based on the history of application executions, whether the requested application has previously failed to execute more often than a predetermined number of times;

deploying the requested application on the network based on a determination that the requested application has not previously failed to execute more often than the predetermined number of times, the deploying including:

assigning the requested application to execute on a specific grid compute node having no other current applications executing;

preparing the specific grid compute node for execution of the requested application;

recovering the specific grid compute node if execution of the requested application fails; and

deregistering the requested application on the specific grid compute node if the requested application executes successfully; and

preventing deployment of the requested application on the network based on a determination that the requested application has previously failed to execute more often than the predetermined number of times.

2. The method of claim 1 wherein preparing comprises:

blocking applications attempting to access the specific grid compute node;

negotiating with the requested application to provide periodic status messages; and

obtaining an initial snapshot of the specific grid compute node prior to execution of the requested application.

3. The method of claim 2 wherein the initial snapshot comprises all resources managed by the specific grid compute node, the resources including a listing of local files and directories, a total amount of used disk space, a list of used and free Transmission Control Protocol/Internet Protocol (TCP/IP) ports, memory usage and a number of executing processes.

4. The method of claim 2 wherein the initial snapshot comprises an image stored in an advanced hardware management system over an application program interface (API).

5. The method of claim 4 wherein the advanced hardware management system comprises a blade management system.

6. The method of claim 2 wherein recovering comprises:

comparing a current snapshot of the specific grid compute node with the initial snapshot; and

adjusting differences found in the current snapshot in response to the comparing.

7. The method of claim 2 wherein recovering comprises:

comparing a current snapshot with the initial snapshot; and

rebooting the specific grid compute node in response to the comparing.

8. The method of claim 2 wherein recovering comprises:

comparing a current snapshot of the specific grid compute node with the initial snapshot; and

installing a new image on the specific grid compute node.

9. The method of claim 8 wherein the new image includes a software grid manager service residing inside a grid container.

10. The method of claim 8 wherein recovering further comprises reconnecting the specific grid compute node to the network.

11. A non-transitory computer-readable storage medium storing a computer program that, when executed by a data processing apparatus, is operable to cause the data processing apparatus to:

receive, in a network of interconnected grid compute nodes, request to execute an application in the network;

register the requested application;

maintain a history of application executions in a grid network, wherein the history includes a list of a number of times each application in the grid network previously failed to execute;

determine, based on the history of application executions, whether the requested application has previously failed to execute more often than a predetermined number of times;

deploy the requested application on the network based on a determination that the requested application has not previously failed to execute more often than the predetermined number of times, the deploying including:

assigning the requested application to execute on a specific grid compute node having no other current applications executing;

preparing the specific grid compute node for execution of the requested application;

recovering the specific grid compute node if execution of the requested application fails; and

deregistering the requested application on the specific grid compute node if the requested application executes successfully; and

prevent deployment of the requested application on the network based on a determination that the requested application has previously failed to execute more often than the predetermined number of times.

12. The non-transitory computer-readable storage medium of claim 11 wherein preparing comprises:

blocking access to other applications attempting to access the specific grid compute node;

negotiating with the requested application to provide periodic status messages; and

obtaining an initial snapshot of the specific grid compute node prior to execution of the requested application.

13. The non-transitory computer-readable storage medium of claim 12 wherein the initial snapshot comprises all resources managed by the specific grid compute node, the resources including a listing of local files and directories, a total amount of used disk space, a list of used and free Transmission Control Protocol/Internet Protocol (TCP/IP) ports and memory usage and a number of executing processes.

14. The non-transitory computer-readable storage medium of claim 12 wherein the initial snapshot comprises an image stored in an advanced hardware management system over an application program interface (API).

15. The non-transitory computer-readable storage medium of claim 14 wherein the advanced hardware management system comprises a blade management system.

16. The non-transitory computer-readable storage medium of claim 12 wherein recovering comprises:

comparing a current snapshot with the initial snapshot; and

adjusting differences found in the current snapshot in response to the comparing.

17. The non-transitory computer-readable storage medium of claim 12 wherein recovering comprises:

comparing a current snapshot with the initial snapshot; and

rebooting the specific grid compute node in response to the comparing.

18. The non-transitory computer-readable storage medium of claim 12 wherein recovering comprises:

comparing a current snapshot with the initial snapshot; and

installing a new image on the specific grid compute node.

19. The non-transitory computer-readable storage medium of claim 18 wherein the new image includes a software grid manager service residing inside a grid container.

20. The non-transitory computer-readable storage medium of claim 18 wherein recovering further comprises reconnecting the specific grid compute node to the network.

21. An apparatus comprising:

a processor;

means for receiving, in a network of interconnected grid compute nodes, a request to execute an application in the network;

means for registering the requested application;

means for maintaining a history of application executions in a grid network, wherein the history includes a list of a number of times each application in the grid network previously failed to execute;

means for determining, based on the history of application executions, whether the requested application has previously failed to execute more often than a predetermined number of times;

means for deploying the requested application on the network based on a determination that the requested application has not previously failed to execute more often than the predetermined number of times, the means for deploying including:

means for assigning the requested application to execute on a specific grid compute node having no other current applications executing;

means for preparing the specific grid compute node for execution of the requested application;

means for recovering the specific grid compute node if execution of the requested application fails; and

means for deregistering the requested application on the specific grid compute node if the requested application executes successfully; and

means for, preventing deployment of the requested application on the network based on a determination that the requested application has previously failed to execute more often than the predetermined number of times.

22. The apparatus of claim 21 wherein the means for preparing comprises:

means for blocking access to other applications attempting to access the specific grid compute node;

means for negotiating with the requested application to provide periodic status messages; and

means for obtaining an initial snapshot of the specific grid compute node prior to execution of the requested application.

23. The apparatus of claim 22 wherein the initial snapshot comprises all resources managed by the specific grid compute node, the resources including a listing of local files and directories, a total amount of used disk space, a list of used and free Transmission Control Protocol/Internet Protocol (TCP/IP) ports and memory usage and a number of executing processes.

24. The apparatus of claim 22 wherein the initial snapshot comprises an image stored in an advanced hardware management system over an application program interface (API).

25. The apparatus of claim 24 wherein the advanced hardware management system comprises a blade management system.

26. The apparatus of claim 22 wherein the means for recovering comprises:

means for comparing a current snapshot with the initial snapshot; and

means for adjusting differences found in the current snapshot in response to the comparing.

27. The apparatus of claim 22 wherein the means for recovering comprises:

means for comparing a current snapshot with the initial snapshot; and

means for rebooting the specific grid compute node in response to the comparing.

28. The apparatus of claim 22 wherein the means for recovering comprises:

means for comparing a current snapshot with the initial snapshot; and

means for installing a new image on the specific grid compute node.

29. The apparatus of claim 28 wherein the new image includes a software grid manager service residing inside a grid container.

30. The apparatus of claim 28 wherein the means for recovering further comprises means for reconnecting the specific grid compute node to the network.

Assignments (3)
CHANGE OF NAME Recorded Aug 26, 2014
From: SAP AG
To: SAP SE
Reel/Frame 033625/0334 →
CHANGE OF NAME Recorded Dec 21, 2005
From: SAP AKTIENGESELLSCHAFT
To: SAP AG
Reel/Frame 017364/0758 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 20, 2004
From: GEBHART, ALEXANDER; BOZAK, EROL
To: SAP AKTIENGESELLSCHAFT
Reel/Frame 016113/0324 →