IP Library › Granted Patent US 7,526,479
Granted Patent B2
US 7,526,479 · App. 10/749,957 · Granted Apr 28, 2009

Configuration manager in enterprise computing system

Assignee: SAP AG
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,526,479
App. No.
10/749,957
Granted
Apr 28, 2009
Kind
B2
Abstract

A system and method are described for managing a plurality of application servers. In one embodiment, the application servers are organized into groups referred to as “instances.” Each instance includes a group of redundant application servers and a dispatcher for distributing service requests to each of the application servers. A group of instances may be organized as a “cluster.” Each server includes a configuration manager to facilitate changes to configuration information within the cluster. The configuration manager may include a configuration cache and monitor its consistency with respect to other instances within the cluster.

Claims (78)

1. A method comprising:

storing a configuration for a distributed environment, which includes a first node, in a central storage of the distributed environment; and

updating a portion of the configuration by the first node in the distributed environment, the first node separate from the central storage, wherein updating comprises:

acquiring a lock for the portion of the configuration by the first node in the distributed environment;

modifying the portion of the configuration:

invalidating a representation of the portion of the configuration in the distributed environment;

releasing the lock;

updating a database at the central storage to reflect modifications of the portion of the configuration; and

blocking reads of the configuration from the database during the updating.

2. The method of claim 1 wherein updating further comprises:

notifying nodes in the distributed environment that the configuration has been updated.

3. The method of claim 1 wherein the lock is cluster wide.

4. The method of claim 1 wherein updating further comprises:

writing changes to a shared database at the central storage.

5. The method of claim 1 wherein modifying comprises:

changing a configuration object in a branch of a tree structure.

6. The method of claim 1 wherein invalidating comprises:

sending a cache invalidation event to another node in the cluster.

7. The method of claim 1 wherein invalidating comprises:

sending a message to a plurality of Java 2 Enterprise Edition (J2EE) nodes.

8. The method of claim 1 wherein updating further comprises:

notifying a registered listener at a second node that the configuration has been changed, the second node separate from the first node and the central storage.

9. A system comprising:

a plurality of nodes each having an instance of a configuration manager to maintain consistent storage of a configuration across the nodes without passing configuration modifications between the nodes, a node in the plurality of nodes to update a portion of the configuration by:

acquiring a lock for the portion of the configuration by the node;

modifying the portion of the configuration;

invalidating a representation of the portion of the configuration;

releasing the lock;

updating a shared relational database to reflect modifications of the portion of the configuration; and

blocking reads of the configuration during update;

a locking server shared by the plurality of nodes to coordinate access to the configuration; and

a database management system to provide an interface with the shared relational database, the shared relational database to store the configuration.

10. The system of claim 9 wherein the configuration manager comprises:

a configuration cache; and

a configuration handler.

11. The system of claim 10 wherein the configuration manager further comprises:

a persistency handler.

12. The system of claim 9 further comprising:

a configuration handler to permit access to and modification of the configuration.

13. The system of claim 9 wherein the configuration comprises:

a plurality of persistent objects holding information about a Java 2 enterprise edition cluster.

14. The system of claim 13 wherein some of the persistent objects are cacheable.

15. The system of claim 9 wherein the configuration manager comprises:

a change event listener to notify registered components of configuration change events.

16. A computer readable storage media containing executable computer program instructions which when executed cause a digital processing system to perform a method comprising:

storing a configuration for a distributed environment, which includes a first node, in a central storage of the distributed environment; and

updating a portion of the configuration by the first node in the distributed environment, the first node separate from the central storage, wherein updating comprises:

acquiring a lock for the portion of the configuration by the first node in the distributed environment;

modifying the portion of the configuration;

invalidating a representation of the portion of the configuration in the distributed environment;

releasing the lock;

updating a database at the central storage to reflect modifications of the portion of the configuration; and

blocking reads of the configuration from the database during the updating.

17. The computer readable storage media of claim 16 containing executable computer program instructions which when executed cause a digital processing system to perform the method wherein updating comprises:

notifying nodes in the distributed environment that the configuration has been updated.

18. The computer readable storage media of claim 16 containing executable computer program instructions which when executed cause a digital processing system to perform the method wherein updating further comprises:

changing the configuration locally;

writing the changes to a shared database at the central storage; and

committing the changes.

19. The computer readable storage media of claim 16 containing executable computer program instructions which when executed cause a digital processing system to perform the method wherein invalidating comprises:

sending a cache invalidation event to another node in the cluster.

20. The computer readable storage media of claim 16 containing executable computer program instructions which when executed cause a digital processing system to perform the method wherein updating comprises:

notifying a registered listener at a second node that the configuration has been changed, the second node separate from the first node and the central storage.

21. A system comprising:

means for maintaining consistent storage of configuration information in a distributed environment;

means for controlling write access to the configuration information by nodes of the distributed environment;

means for interfacing with a relational database system to provide persistent storage of the configuration information; and

means for updating a portion of the configuration information by the nodes of the distributed environment, the nodes separate from the relational database system, wherein updating comprises:

acquiring a lock for the portion of the configuration information by the nodes of the distributed environment;

modifying the portion of the configuration information;

invalidating a representation of the portion of the configuration information in the distributed environment;

releasing the lock;

updating the relational database system to reflect modifications of the portion of the configuration information; and

blocking reads of the configuration information during the updating.

22. The system of claim 21 wherein the configuration information comprises:

a plurality of persistent objects holding information about a Java 2 Enterprise Edition cluster.

23. The system of claim 21 wherein the means for maintaining comprises:

a configuration cache resident in each node of the distributed environment; and a configuration handler resident in each node of the distributed environment.

Assignments (2)
CHANGE OF NAME Recorded Aug 26, 2014
From: SAP AG
To: SAP SE
Reel/Frame 033625/0334 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 14, 2004
From: ZENZ, INGO
To: SAP AKTIENGESELLSCHAFT
Reel/Frame 015464/0924 →
Continuity (1)
Related Publication 20050144610A1 · Jun 30, 2005