Server architecture for segregation of dynamic content generation applications into separate process spaces
First Claim
1. A server system for handling client requests from one or more clients, comprising:
- one or more agent collections, each agent collection having one or more agents, the agent collections being individually programmed to handle different respective types of client requests;
one or more application managers, each application manager being configured to manage a corresponding agent collection and to select a particular agent from the corresponding agent collection to process the client request; and
an application manager director to manage the one or more application managers, the application manager director being configured to select a particular application manager and to pass the client request to the particular application manager for processing by the particular agent selected by the particular application manager.
2 Assignments
0 Petitions
Accused Products
Abstract
A server architecture has a server program to receive client requests and multiple applications to process the requests. Each application comprises a collection of agents that can be invoked to process the requests and an application manager that manages the collection of agents. The agents within the associated collection are independent from, but dynamically accessible by, the application manager. Depending on the request, the application manager selects one or more agents to generate content to be returned to the client. An application manager director manages the application managers and facilitates delivery of the client requests from the server program to the suitable application. The application managers are independent from, but dynamically accessible by, the application manager director. For a given request, the director selects the appropriate application manager to handle the request. The application manager, in turn, selects the appropriate agent to process the request. The director can be implemented as part of the server program. The applications, including the agents and associated application managers, can be run either in-process or out-of-process with the server program.
197 Citations
30 Claims
-
1. A server system for handling client requests from one or more clients, comprising:
-
one or more agent collections, each agent collection having one or more agents, the agent collections being individually programmed to handle different respective types of client requests; one or more application managers, each application manager being configured to manage a corresponding agent collection and to select a particular agent from the corresponding agent collection to process the client request; and an application manager director to manage the one or more application managers, the application manager director being configured to select a particular application manager and to pass the client request to the particular application manager for processing by the particular agent selected by the particular application manager. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A server software architecture embodied on a computer-readable medium for implementation on a computer server system, the server software architecture comprising:
-
a server program to receive a client request from a client and return a response to the client; an application manager director to handle the client request in an event that a response to the client request will involve at least some content generation; at least one application manager independent from, but dynamically accessible by, the application manager director; at least one agent independent from, but dynamically accessible by, the application manager, the agent comprising a specialized functionality to process particular types of client requests to generate the response; and upon receiving the client request, the application manager director calls the application manager and passes the client request to the application manager, the application manager calls the agent and passes the client request to the agent, and the agent processes the client request to generate the response. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13)
-
-
14. A dynamic content generation system embodied as computer program modules on a computer-readable medium, the dynamic content generation system being implemented in a server connected to serve one or more clients, the dynamic content generation system comprising:
-
code means for receiving a client request from a client; code means for selecting an application manager based on an application manager'"'"'s functionality from a set of multiple application managers having different defined functionalities, the application managers being capable of running in process or out of process; code means for passing the client request to the selected application manager; code means for selecting an agent to process the client request; code means for passing the client request to the selected agent; code means for processing the client request at the selected agent to dynamically create content that forms a response to the client request; and code means for transferring the response back to the client. - View Dependent Claims (15)
-
-
16. A server computer system comprising:
-
a processing unit; a memory subsystem; a server program stored in the memory subsystem and executed on the processing unit to receive client requests; and multiple applications stored in the memory subsystem and executed on the processing unit either in-process or out-of-process with the server program to dynamically generate responses to the client requests, each said application comprising one or more agents to process the client requests and an application manager to manage the one or more agents, individual applications having different programmed functionalities; and an application manager director to facilitate delivery of the client requests received by the server program to the applications that are appropriate for processing the client requests, whereupon receiving a specific client request, the application manager director selects a particular application manager based upon an application'"'"'s functionality and forwards the specific client request to the particular application manager, and the particular application manager selects a particular agent and forwards the specific client request to the particular agent for processing. - View Dependent Claims (17, 18, 19)
-
-
20. A server operating system for execution on a server that is configured to serve one or more clients, the server operating system being implemented with a dynamic content generation system for handling an HTTP request that involves dynamic generation of content based on data included in the HTTP request, the dynamic content generation system having a managerial hierarchy comprising an application manager director, one or more application managers that are dynamically accessible by the application manager director to handle the client request, and one or more agents grouped in accordance with predefined agent functionalities and in association with the application managers and dynamically accessible by the associated application managers to dynamically generate the content in response to the HTTP request.
-
21. A computer-executable application manager object embodied on a computer-readable medium for execution on a server computer, the server computer running a server software program to receive and process client requests from one or more clients and to return responses to the client requests, the application manager object comprising:
-
a flag field to hold data indicating whether the application manager is in-process with the server software program or out-of-process with the server software program; a list of the client requests that are currently being processed; a table identifying one or more agent programs that are currently running to process the client requests on the list; and code means for selecting the agent programs for processing the client requests. - View Dependent Claims (22)
-
-
23. A method for handling client requests, comprising the following steps:
-
receiving a client request from a client; selecting an application manager suitable for handling the client request; passing the client request to the selected application manager; selecting an agent to process the client request, the agent having a programmed functionality that is associated with the type of client request that is received; passing the client request to the selected agent; processing the client request at the selected agent to dynamically create content that forms a response to the client request; and transferring the response back to the client.
-
-
24. In a server system having a hierarchic managerial architecture comprising an application manager director, one or more application managers that are dynamically accessible by the application manager director, and one or more agents grouped in association with the application managers and dynamically accessible by the associated application managers, a method for handling a client request comprising the following steps:
-
creating a request object to hold data from the client request; identifying an application manager from a set of multiple application managers; calling the identified application manager; creating a shadow object in correspondence with the request object, the shadow object holding at least a subset of the data contained in the request object; identifying an agent from a set of multiple agents; and invoking the identified agent; processing, within the identified agent, the data contained in the shadow object to create a response; returning the response; and destroying the shadow object. - View Dependent Claims (25, 26, 27, 28, 29, 30)
-
Specification