IP Library Granted Patent US 8,244,869
Granted Patent B2
US 8,244,869 · App. 12/270,024 · Granted Aug 14, 2012

System and method for starting server services

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,244,869
App. No.
12/270,024
Granted
Aug 14, 2012
Kind
B2
Abstract

In one embodiment, services are not loaded if they are not needed by the user and if no services needed by the user are dependent upon them. In one embodiment, server services are represented as nodes in a graph data structure. Connections between the nodes indicate dependencies between the server services. The graph is sorted to create an ordered list of services which can be used to startup the services. In another embodiment a server services manager reads license files and user inputs and marks the ordered list of services to indicate which services are to startup.

Claims (71)

1. A method for loading server services comprising:

providing an application server, executing on a computer including a computer readable medium and processor, wherein functionality provided by the application server is embodied in a plurality of features, each of which includes one or more server services of a plurality of server services that are internal service classes available on the application server;

representing the plurality of server services as a graph data structure comprising nodes and a plurality of connections between the nodes;

wherein each node in the graph data structure represents a different server service, and wherein the plurality of connections between nodes indicate dependencies between those server services, and wherein the application server is configured to start a particular server service only after all server services on which the particular server service depends have been started;

when the application server is started,

sorting the graph data structure to create an ordered list of nodes based on the plurality of connections between the nodes;

reading license files to determine which of the plurality of server services are licensed services;

receiving startup options from a user input;

updating the ordered list of nodes based on the license files and the startup options to indicate which server services to start, wherein the server services to start include

a set of server services which includes those server services that are both licensed services and which were indicated in the startup options, and

other server services on which the server services in the set of server services depend; and

loading only the server services in the set of server services, and the other server services upon which the server services in the set of server services depend, during startup according to the ordered list.

2. The method of claim 1 further comprising: wherein the ordered list of nodes indicates the order of service startup.

3. The method of claim 1 wherein updating the ordered list of nodes comprises:

marking a first group of nodes according to the license files; marking a second group of nodes wherein the second group of nodes contains nodes which are connected to any node from the first group; and wherein marked nodes indicate services to start.

4. The method of claim 1 wherein sorting the graph data structure to create an ordered list of nodes comprises performing a topological sort on the graph data structure.

5. The method of claim 1 further comprising:

wherein the ordered list of nodes indicates the order of service startup.

6. The method of claim 1 wherein updating the ordered list of nodes comprises:

marking a first group of nodes according to the license files;

marking a second group of nodes according to the user input;

marking a third group of nodes wherein the third group of nodes contains nodes which are connected to any node from the first or second groups; and

wherein marked nodes indicate services to start.

7. The method of claim 1 wherein receiving startup options from a user input comprises receiving a list of services to be disabled.

8. The method of claim 1 wherein the user input is one of:

a properties file;

an xml file; and

a command line.

9. A system for loading server services comprising:

an application server, executing on a computer including a computer readable medium and processor;

a plurality of server services that are internal service classes available on the application server, wherein functionality provided by the application server is embodied in a plurality of features, each of which includes one or more server services of the plurality of server services;

a representation of the plurality of server services wherein the representation comprises nodes and a plurality of connections between the nodes, wherein each node in the representation represents a different server service, and wherein the plurality of connections between the nodes indicate dependencies between those server services, and wherein the application server is configured to start a particular server service only after all server services on which the particular server service depends have been started;

a server services model component wherein when the application server is started, the server services model component

receives the representation of the plurality of server services, and

sorts the representation of the plurality of server services to create an ordered list of server services based on the plurality of connections between the nodes; and

a server services manager component wherein the server services manager component can receives the ordered list of server services,

reads license files to determine which of the plurality of server services are licensed services,

receives startup options from a user input;

updates the ordered list of server services based on the license files and the startup options to indicate which server services to start, wherein the server services to start include

a set of server services which includes those server services that are both licensed services and which were indicated in the startup options, and

other server services on which the server services in the set of server services depend; and

loads only the server services in the set of server services, and the other server services upon which the server services in the set of server services depend, during startup according to the ordered list of server services.

10. The system of claim 9 wherein the representation of the plurality of server services is a graph data structure comprising nodes and connections between nodes wherein the nodes represent the plurality of server services and the connections between nodes represent dependencies between server services from the plurality of server services.

11. The system of claim 10 wherein the server services model performs a topological sort on the graph data structure to create an ordered list of server services.

12. The system of claim 9 wherein update the ordered list of server services comprises:

marking a first group of nodes according to the license files;

marking a second group of nodes wherein the second group of nodes contains nodes which are connected to any node from the first group; and

wherein marked nodes indicate services to start.

13. The system of claim 9 wherein update the ordered list of server services comprises:

marking a first group of nodes according to the license files;

marking a second group of nodes according to the user input;

marking a third group of nodes wherein the third group of nodes contains nodes which are connected to any node from the first or second groups; and

wherein marked nodes indicate services to start.

14. A computer readable storage device containing code for loading server services comprising:

providing an application server, wherein functionality provided by the application server is embodied in a plurality of features, each of which includes one or more server services of a plurality of server services that are internal service classes available on the application server;

representing the plurality of server services as a graph data structure comprising nodes and a plurality of connections between the nodes;

wherein each node in the graph data structure represents a different server service, and

wherein the plurality of connections between nodes indicate dependencies between those server services, and wherein the application server is configured to start a particular server service only after all server services on which the particular server service depends have been started;

when the application server is started;

sorting the graph data structure to create an ordered list of nodes based on the plurality of connections between the nodes;

reading license files to determine which of the plurality of server services are licensed services;

receiving startup options from a user input;

updating the ordered list of nodes based on the license files and the startup options to indicate which server services to start, wherein the server services to start include

a set of server services which includes those server services that are both licensed services and which were indicated in the startup options, and other server services on which the server services in the set of server services depend; and

loading only the server services in the set of server services, and the other server services upon which the server services in the set of server services depend, during startup according to the ordered list.

15. The computer readable medium of claim 14 further comprising: wherein the ordered list of nodes indicates the order of service startup.

16. The computer readable medium of claim 14 wherein updating the ordered list of nodes comprises:

marking a first group of nodes according to the license files;

marking a second group of nodes wherein the second group of nodes contains nodes which are connected to any node from the first group; and

wherein marked nodes indicate services to start.

17. The computer readable medium of claim 14 wherein sorting the graph data structure to create an ordered list of nodes comprises performing a topological sort on the graph data structure.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 15, 2010
From: BEA SYSTEMS, INC.
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 025192/0244 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 13, 2008
From: ANSARI, AKBAR ALI; GISH, JAMES WILLIAM
To: BEA SYSTEMS, INC.
Reel/Frame 021832/0841 →