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
OG exemplary drawing
 
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.