| US 7,552,437 B2 | ||
| Maintaining application operations within a suboptimal grid environment | ||
| Vincent Valentino Di Luoffo, Sandy Hook, Conn. (US); Craig Fellenstein, Brookfield, Conn. (US); Rick Allen Hamilton, II, Charlottesville, Va. (US); and Joshy Joseph, Poughkeepsie, N.Y. (US) | ||
| Assigned to International Business Machines Corporation, Armonk, N.Y. (US) | ||
| Filed on Jan. 14, 2004, as Appl. No. 10/757,282. | ||
| Prior Publication US 2005/0155033 A1, Jul. 14, 2005 | ||
| Int. Cl. G06F 9/46 (2006.01) | ||
| U.S. Cl. 718—104 | 3 Claims |

| 1. A method for maintaining application operations within a suboptimal grid environment, comprising:
enabling a grid environment comprising a plurality of computing systems each comprising at least one resource comprising at
least one operating system, at least one processor, at least one file system, at least one database manager and at least one
memory manager and communicatively connected over a network through a grid management system to share each said at least one
resource through a plurality of web services comprising simple object access protocol, web services description language,
and extensible mark-up language interfaces implemented within at least one web service layer extended by an open grid services
infrastructure atop at least one grid service layer implemented within an open grid services architecture;
receiving a plurality of separate jobs from a plurality of client systems over said network at said grid management system;
accessing, by said grid management system, a profile stored as a document type definition of an extensible markup language
expression for an application from among a plurality of applications triggered by a particular job from a grid application
profiles database specifying a selection of at least one web service from among said plurality of web services and at least
one grid service within said grid services layer required by said application;
querying, by the grid management system, a plurality of separate business grid management systems to determine which of said
separate business grid management systems manages at least one resource node from among a plurality of resource nodes of said
grid environment comprising said at least one resource, wherein said at least one resource node further comprises said at
least one grid service required for said application in said profile and a price for each said at least one resource node;
managing distribution from said grid management system of each of said plurality of separate jobs to a separate selection
of said at least one resource with said particular job submitted to at least one resource node from among a selection of said
plurality of resource nodes returning availability to handle said particular job at a selected price;
submitting by said grid management system said application from among a plurality of applications to said at least one resource
node, wherein each of said plurality of separate jobs requests at least one of said plurality of applications;
monitoring by said grid management system a performance status of said at least one resource node running said application
according to said profile;
comparing by said grid management system said performance status with an operational requirement specified in said profile
for said application for when said application is operating at said at least one resource node;
responsive to said performance status not meeting said operational requirement, determining by said grid management system
whether there is at least one other resource node from among said plurality of resource nodes within said grid environment
that meets said operational requirement specified in said profile for said application for when said application is operating
at said at least one other resource node;
responsive to determining there is said at least one other resource node that meets said operational requirement specified
in said profile, relocating by said grid management system said application to said at least one other resource node within
said grid environment;
responsive to determining there is not said at least one other resource node that meets said operational requirements specified
is said profile, determining by said grid management system from said profile at least one module to first shutdown from among
a plurality of modules of said application defined in said profile, wherein each of said plurality of modules is assigned
a separate resource size requirement and a separate priority to be shut down in said profile;
responsive to determining from said profile said at least one module to first shutdown, sending an extensible markup language
message by said grid management system to said at least one resource node authorizing said at least one resource node to shutdown
said at least one module, such that said application continues to operate with a portion of said plurality of modules when
said performance status fails to meet said operational requirement in said profile;
responsive to determining there is not said at least one other resource node that meets said operational requirements specified
in said profile, determining by said grid management system whether said application can continue to operate without said
at least one module;
responsive to a determination that said application cannot continue to operate without said first module, returning by said
grid management system an error message for said application to a particular client system requesting said application from
among said plurality of client systems; and
responsive to a determination that said application can continue to operate without said first module, determining by said
grid management system whether a next module from among said plurality of modules should be identified to be shutdown if said
performance status does not meet said operational requirement after shutting down said at least one module.
|