The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.
The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.
Patent No.:
Date of Patent:
Dec. 11, 2001
Filed:
Apr. 23, 1998
Lei Jin, Newcastle, WA (US);
David L. Kaplan, Mercer Island, WA (US);
Murali R. Krishnan, Redmond, WA (US);
Microsoft Corporation, Redmond, WA (US);
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 applications, including the agents and associated application managers, can be run either in-process or out-of-process with the server program. The server architecture has a detection and recovery subsystem that detects when an out-of-process application crashes and then recovers the application from that crash. The subsystem logs requests when they are passed to the out-of-process application, and remove the requests from the log when responses to the requests are returned from the application. If the out-of-process application crashes while one or more requests are outstanding, those requests remain listed on the log and thus readily identifiable. During recovery, the subsystem cleans up the outstanding requests until the log is cleared. Thereafter, the subsystem restarts the failed application to restore the service.