Server application components with control over state duration
First Claim
1. In a computer having a main memory, a method of enhancing scalability of server applications, comprising:
- executing an application component under control of an operating service, the application component having a state and function code for performing work responsive to method invocations from a client;
providing an interface for the operating service to receive an indication from the application component that the work is complete;
maintaining the state in the main memory between the method invocations of the function code by the client in the absence of the indication from the application component that the work is complete; and
destroying the state of the application component in response to the indication from the application component to the operating service at the provided interface that the work is complete and without action by the client.
5 Assignments
0 Petitions
Accused Products
Abstract
A component-based framework includes system services and component integration interfaces that provide a run-time environment for component-based server application in which server application components have control over the duration of their state independent of client action. The framework provides functions that a server application component calls to indicate its work for a client is complete, and its state is to be destroyed. On the component'"'"'s return from the client'"'"'s method call, the framework destroys the component'"'"'s state thus releasing any server computer resources held by the component. This allows the server application components to be programmed so as to minimize the duration that their state remains in memory consuming server computer resources, and which enhances scalability of the server application.
81 Citations
21 Claims
-
1. In a computer having a main memory, a method of enhancing scalability of server applications, comprising:
-
executing an application component under control of an operating service, the application component having a state and function code for performing work responsive to method invocations from a client;
providing an interface for the operating service to receive an indication from the application component that the work is complete;
maintaining the state in the main memory between the method invocations of the function code by the client in the absence of the indication from the application component that the work is complete; and
destroying the state of the application component in response to the indication from the application component to the operating service at the provided interface that the work is complete and without action by the client. - View Dependent Claims (2, 3, 4)
-
-
5. In a computer, a computer operating environment for scalable, component-based server applications, comprising:
-
a run-time service for executing an application component in a process, the application component having a state and implementing a set of functions;
an instance creation service operative, responsive to a request of a client, to return a reference to the application component through the run-time service to the client, whereby the client calls functions of the application component indirectly through the run-time service using the reference to initiate work by the application component; and
the run-time service being operative, responsive to an indication from the application component that the application component has completed the work for the client, to destroy the application component'"'"'s state on the application component returning from a call by the client without action by the client;
wherein the application component initiates the indication before returning from the call by the client, whereby the application component'"'"'s state is destroyed immediately on return from the client'"'"'s call without further action by the client. - View Dependent Claims (9, 10)
-
-
6. In a computer, a computer operating environment for scalable, component-based server applications, comprising:
-
a run-time service for executing an application component in a process, the application component having a state and implementing a set of functions;
an instance creation service operative, responsive to a request of a client, to return a reference to the application component through the run-time service to the client, whereby the client calls functions of the application component indirectly through the run-time service using the reference to initiate work by the application component;
the run-time service being operative, responsive to an indication from the application component that the application component has completed the work for the client, to destroy the application component'"'"'s state on the application component returning from a call by the client without action by the client; and
a component context associated by the run-time service with the application component and providing an interface having a member function that the application component calls to initiate the indication. - View Dependent Claims (7, 8)
-
-
11. In a computer, a method of encapsulating state of processing work for a client by a server application in a component with improved scalability, comprising:
-
encapsulating function code and a processing state for the work in a component;
providing a reference through an operating service for a client to call the function code of the component to initiate processing of the work by the component;
receiving an indication from the component that the work by the component is complete;
discarding the processing state of the component responsive to the component indicating completion of the work before receiving any indication from the client that the component'"'"'s work is complete; and
performing the step of discarding the processing state upon a next return of the component from a call of the client following the indication from the component that the work is complete.
-
-
12. In a computer, a method of encapsulating state of processing work for a client by a server application in a component with improved scalability, comprising:
-
encapsulating function code and a processing state for the work in a component;
providing a reference through an operating service for a client to call the function code of the component to initiate processing of the work by the component;
receiving an indication from the component that the work by the component is complete; and
discarding the processing state of the component responsive to the component indicating completion of the work before receiving any indication from the client that the component'"'"'s work is complete;
wherein the step of receiving the indication includes providing a context object containing data representing a context of the component and having an integration interface for receiving a call of the component to indicate that the work by the component is complete. - View Dependent Claims (13, 14)
-
-
15. In a computer having a main memory, a method of enhancing scalability of server applications, comprising:
-
executing an application component under control of an operating service, the application component having a component data state and function code for performing work on a data resource responsive to method invocations from a client, the component'"'"'s work on the data resource having a work data state, the component data state initially having an initial post-creation state upon the component'"'"'s creation;
providing an interface for the operating service to receive an indication from the application component that the work is complete;
maintaining the component data state in the main memory between the method invocations of the function code by the client in the absence of the indication from the application component that the work is complete; and
in response to the indication and without client action, destroying the component data state by the operating service upon a next return of the application component from a method invocation of the client, while persistently maintaining the work data state. - View Dependent Claims (16)
-
-
17. A computer readable program code-carrying media having software program code encoded thereon, the software program code for executing on a server computer and implementing a method of enhancing scalability of server applications, the method comprising:
-
executing an application component under control of an operating service, the application component having a component data state and function code for performing work on a data resource responsive to method invocations from a client, the component'"'"'s work on the data resource having a work data state, the component data state initially having an initial post-creation state upon the component'"'"'s creation;
providing an interface for the operating service to receive an indication from the application component that the work is complete;
maintaining the component data state in the main memory between the method invocations of the function code by the client in the absence of the indication from the application component that the work is complete; and
in response to the indication and without client action, destroying the component data state by the operating service upon a next return of the application component from a method invocation of the client, while persistently maintaining the work data state.
-
-
18. In a computer having a main memory, an application component having a state and function code for performing work responsive to method invocations from a client, an improved method of enhancing scalability of server applications, comprising:
-
providing an interface for the operating service to receive an indication from the application component that the work is complete;
maintaining the state in the main memory between the method invocations of the function code by the client in the absence of the indication from the application component that the work is complete; and
destroying the state of the application component in response to the indication from the application component to the operating service at the provided interface that the work is complete and without an indication from the client allowing the state of the application component to be destroyed. - View Dependent Claims (19, 20, 21)
subsequent to the destroying step, restoring the state of the application component in main memory upon receiving a method invocation from the client.
-
-
20. The method of claim 19, further comprising:
subsequent to the restoring step, destroying the state of the application component in response to the indication from the application component to the operating service at the provided interface that the work is complete and without an indication from the client allowing the state of the application component to be destroyed.
-
21. The method of claim 18 wherein the destroying step does not include notifying the client that the state of the application component is destroyed.
Specification