IP Library Granted Patent US 8,706,796
Granted Patent B2
US 8,706,796 · App. 11/965,275 · Granted Apr 22, 2014

Managing a cluster of computers

Inventors: Jeffery Rodd Daviss (Port Coquitlam, CA); Harry Todd Meade (Surrey, CA); Sunil Puri (Burnaby, CA)
Assignee: SAP France S.A.
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,706,796
App. No.
11/965,275
Granted
Apr 22, 2014
Kind
B2
Abstract

A system has a set of servers utilizing different operating systems to constitute a cross-platform system. A central management server has a set of objects characterizing the set of servers. The set of objects have relationship edges to related objects. A server intelligence agent coordinates the start-up of the central management server and the set of servers and coordinates the control of state changes within the set of servers.

Claims (46)

1. A system, comprising:

a plurality of interconnected servers utilizing a plurality of operating systems to constitute a cross-platform system, the plurality of interconnected servers being deployed as a single computer resource;

a central management server with a set of objects characterizing the plurality of interconnected servers, wherein the set of objects have relationship edges to related objects, and wherein the relationship edges contain configuration and deployment information for the plurality of interconnected servers, wherein the set of objects are stored in a manner that is not specific to a particular platform and the objects comprise platform specific information; and

a server intelligence agent to coordinate the start-up of the central management server and the plurality of interconnected servers, and to automate the starting and stopping of the plurality of interconnected servers;

wherein:

the server intelligence agent, upon receipt of a state change notification from a centralized management server, sends a query of objects to the centralized system;

the centralized system, in response to the query, returns server state information from one or more servers to the server intelligence agent;

the server intelligence agent compares the returned server state information with specified or expected state information;

the server intelligence agent, based on the comparing of the returned server state information with the specified or expected state information, generates server instructions and transmits the generated server instructions to the one or more servers; and

the server intelligence agent receives registration updates for the one or more servers subsequent to the transmission of the generated server instructions.

2. The system of claim 1 wherein the set of objects includes an install object characterizing a set of executable files that compose the system.

3. The system of claim 2 wherein the install object specifies entry-point files to provide information to launch a server and arguments used to launch a service supported by the server.

4. The system of claim 1 wherein the set of objects includes an enterprise node object for providing information to launch a server.

5. The system of claim 4 wherein the enterprise node object further provides information on the server intelligence agent.

6. The system of claim 1 wherein the set of objects includes a service object characterizing a function hosted in a server.

7. The system of claim 6 wherein the service object specifies server configuration and security information.

8. The system of claim 1 wherein the set of objects includes a service container object representing an executable file of a server.

9. The system of claim 8 wherein the service container object hosts a plurality of services.

10. The system of claim 1 wherein the set of objects includes a server object characterizing a server.

11. The system of claim 10 wherein the server object uses enterprise node object information and install object information to convert platform-neutral information into path and file names that can be used on a local machine.

12. The system of claim 1 wherein the relationship edges include an install object and enterprise node object relationship that resolves installed binaries to a physical location on a disk.

13. The system of claim 1 wherein the relationship edges include an install object and service container object relationship that specifies the location of an executable file for a service container.

14. The system of claim 1 wherein the relationship edges include an install object and service object relationship that specifies the location of binary files associated with a service.

15. The system of claim 1 wherein the relationship edges include a service object and service container object relationship that specifies the services that an instance of a service container hosts.

16. The system of claim 1 wherein the relationship edges include a service container object and server object relationship that specifies an instance of a service container.

17. The system of claim 1 wherein the relationship edges include a service object and server object relationship that specifies services provided by a server, the information used to launch the server, and information to configure the service.

18. The system of claim 1 wherein the relationship edge includes an enterprise node object and server object relationship that allows a server to resolve its install location to a physical path.

19. The system of claim 1 further comprising a remote administration mechanism for interacting with the central management server to change the plurality of servers, wherein the remote administration mechanism changes the set of objects and relationship edges.

20. The system of claim 1 , wherein the configuration and deployment information includes one or more of:

shared libraries that are explicitly loaded by an executable to provide services;

configuration of the services provided by the shared libraries;

configuration of the executable that hosts the shared libraries;

machines where the executables execute; and

deployment information of the plurality of interconnected servers.

21. A method comprising:

sending, by a server intelligence agent, upon receipt of a state change notification from a centralized management server, a query of objects to a centralized system, wherein the objects are stored in a manner that is not specific to a particular platform and the objects comprises platform specific information;

returning, by the centralized system in response to the query, server state information from one or more servers to the server intelligence agent;

comparing, by the server intelligence agent, the returned server state information with specified or expected state information;

generating, by the server intelligence agent based on the comparing of the returned server state information with the specified or expected state information, server instructions and transmitting the generated server instructions to the one or more servers; and

receiving, by the server intelligence agent, registration updates for the one or more servers subsequent to the transmission of the generated server instructions.

22. A non-transitory computer program product storing instructions, which when executed by at least one data processor, result in operations comprising:

sending, by a server intelligence agent, upon receipt of a state change notification from a centralized management server, a query of objects to a centralized system, wherein the objects are stored in a manner that is not specific to a particular platform and the objects comprise platform specific information;

returning, by the centralized system in response to the query, server state information from one or more servers to the server intelligence agent;

comparing, by the server intelligence agent, the returned server state information with specified or expected state information;

generating, by the server intelligence agent based on the comparing of the returned server state information with the specified or expected state information, server instructions and transmitting the generated server instructions to the one or more servers; and

receiving, by the server intelligence agent, registration updates for the one or more servers subsequent to the transmission of the generated server instructions.

Assignments (2)
CHANGE OF NAME Recorded Jul 12, 2011
From: BUSINESS OBJECTS, S.A.
To: SAP FRANCE S.A.
Reel/Frame 026581/0190 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 11, 2008
From: DAVISS, JEFFERY RODD; MEADE, HARRY TODD; PURI, SUNIL
To: BUSINESS OBJECTS, S.A.
Reel/Frame 020634/0197 →
Continuity (1)
Related Publication 20090172697A1 · Jul 2, 2009