IP Library Granted Patent US 7,827,152
Granted Patent B1
US 7,827,152 · App. 11/259,443 · Granted Nov 2, 2010

Asynchronous on-demand service startup

Assignee: Oracle America, Inc.
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,827,152
App. No.
11/259,443
Granted
Nov 2, 2010
Kind
B1
Abstract

An application server may initialize network services asynchronously and/or on-demand. Some services may be initialized during startup of the application server, while initialization of other services may be delayed. The application server may report that the services are initialized before they are actually initialized and may be configured to receive client requests for non-initialized services. When a client request is received, the application server may delay processing the client request either until the requested service is initialized or until all services are initialized. The application server may hold a received client request in a network layer until the requested service, and possibly other services on which the requested service depends, is initialized able to process the client request. Delaying initialization of some application server network services may result in a faster startup or restart time for the application server.

Claims (40)

1. A system, comprising:

a processor; and

a memory coupled to the processor, wherein the memory comprises program instructions executable by the processor to implement:

an application server comprising a plurality of network services, wherein each network service is configured to provide a respective service after being initialized, wherein to provide its respective service, each network service is configured to:

listen on one or more respective network ports of the application server for requests from one or more clients for service provided by the network service; and

service the requests for service received on the one or more respective network ports;

wherein the application server is configured to startup without initializing the plurality of network services; and

a socket service distinct from the plurality of network services, the socket service configured to:

startup prior to initialization of the plurality of network services;

intercept a client request on the one or more respective network ports for service from one of the plurality of network services that is not yet initialized; and

in response to said intercepting the client request for service, initialize the requested one of the plurality of network services.

2. The system as recited in claim 1 , wherein the socket service is initialized during startup of the application server.

3. The system as recited in claim 1 , wherein the socket service is further configured to indicate that the application server is ready to receive requests for the network services regardless of whether or not the network servers were initialized.

4. The system as recited in claim 3 , wherein prior to indicating that the application server is ready to receive requests for the network services, the socket service is configured to access network service port information regarding a plurality of network service ports associated with the plurality of network services.

5. The system as recited in claim 4 , wherein the socket service is further configured to register a selector for each network service port according to the network service port information.

6. The system as recited in claim 1 , wherein in response to receiving the client request the socket service is further configured to delay a response to a client that sent the client request until the requested network service is initialized.

7. The system as recited in claim 1 , wherein in response to receiving the client request, the socket service is further configured to send a response to a client that sent the client request, wherein the response is configured to cause the client to resend the client request.

8. The system as recited in claim 1 , wherein after having been initialized the requested network service is configured to process the client request.

9. The system as recited in claim 1 , wherein to initialize the requested network service the socket service is further configured to initialize all of the plurality of network services.

10. The system as recited in claim 1 , wherein the socket service is further configured to initialize the plurality of network services as an asynchronous background process prior to receiving the client request.

11. The system as recited in claim 1 , wherein the socket service is further configured to initialize one or more others of the plurality of network services required by the requested network service.

12. A method, comprising:

initializing an application server without initializing one or more of a plurality of network services of the application server, wherein initializing the application server comprises initializing a socket service, wherein the socket service is distinct from the plurality of network services;

wherein once initialized, each network service listens on one or more respective network ports of the application server for requests for service from one or more clients and services the requests;

receiving a client request for one of the network services, wherein said receiving is performed by said socket service intercepting the client request on one of the specific network ports when the corresponding network service is not yet initialized; and

in response to receiving the client request, initializing the requested network service, wherein said initializing the requested network service is caused by the socket service.

13. The method of claim 12 , further comprising indicating that the application server is ready to receive requests for the network services regardless of whether the network services were initialized.

14. The method of claim 13 , wherein the socket service performs said indicating, said receiving, and said initializing the requested network service.

15. The method of claim 14 , further comprising:

the socket service accessing network service port information regarding a plurality of network service ports associated with the plurality of network services prior to said indicating that the application server is ready receive requests for the network services; and

the socket service registering a selector for each network service port according to the network service port information.

16. The method of claim 12 , further comprising, in response to said receiving a client request, delaying a response to a client that sent the client request until the requested network service is initialized.

17. The method of claim 12 , further comprising, in response to receiving the client request, sending a response to a client that sent the client request, wherein the response is configured to cause the client to resend the client request.

18. The method of claim 12 , further comprising: initiating initialization the plurality of network services as asynchronous background process prior to receiving the client request.

19. The method of claim 12 , further comprising: initializing one or more others of the plurality of network services required by the requested network service.

20. A computer accessible medium, comprising program instructions executable to implement:

initializing an application server without initializing one or more of a plurality of network services of the application server, wherein initializing the application server comprises initializing a socket service, wherein the socket service is distinct from the plurality of network services;

wherein once initialized, each network service listens on one or more respective network ports of the application server for requests for service from one or more clients and services the requests;

receiving a client request for one of the network services, wherein said receiving is performed by said socket service intercepting the client request on one of the specific network ports when the corresponding network service is not yet initialized; and

in response to receiving the client request, initializing the requested network service, wherein said initializing the requested network service is caused by the socket service.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Dec 16, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037306/0530 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2005
From: GANGASHARAN, BINOD PANKAJAKSHY; KRISHNAN, SANJEEV; GORE, ADITYA
To: SUN MICROSYSTEMS, INC.
Reel/Frame 017143/0148 →