IP Library Granted Patent US 7,103,889
Granted Patent B2
US 7,103,889 · App. 10/202,662 · Granted Sep 5, 2006

Method, system, and article of manufacture for agent processing

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,103,889
App. No.
10/202,662
Granted
Sep 5, 2006
Kind
B2
Abstract

Disclosed is a system, method, and article of manufacture for agent processing. In particular, an agent may be executed within an address space of an invoking process that invoked the agent or may be executed in a separate address space. While the agent is processing, the execution of the agent within the address space of the invoking process may be switched to execution of the agent within the separate address space. Similarly, while the agent is processing, the execution of the agent in the separate address space may be switched to execution of the agent in the address space of the invoking process. Moreover, if the invoking process terminates before completing processing, when the invoking process restarts, the invoking process redetermines which agents should be executed in separate address spaces based on information stored before the invoking process terminated.

Claims (70)

1. A method in a computer system for processing a request for information concerning a hardware device generated at a client with an invoking process executing in a server, the method comprising:

identifying an agent that may process the request by accessing the hardware device;

determining whether the agent should be executed within an address space of the invoking process that would invoke the agent or within a separate address space in the server;

if it is determined that the agent should be executed within a separate address space, executing the agent within a separate address space;

following a failure and restarting of the invoking process, using the invoking process to make a determination whether to execute the identified agent within the invoking process address space or within a separate address space based on the performance of the agent when the agent was executing;

when the invoking process is restarted:

determining which agents are to be executed in one or more separate address spaces based on performance information of those agents when they were executing stored by the invoking process during the execution of those agents; and

executing those agents in the one or more separate address spaces;

wherein the agent is a Common Information Model (CIM) provider; and

wherein the invoking process is a CIM object manager.

2. The method of claim 1 , further comprising:

receiving an indication to switch an agent that is executing within the separate address space to an agent that is executing within the address space of the invoking process that invoked the agent;

terminating the agent to be switched; and

executing the agent within the address space of the invoking process.

3. The method of claim 1 , wherein the agent is part of a group of agents and further comprising:

terminating each of the agents in the group; and

executing each of the agents in the group within the address space of the invoking process that invoked the agents.

4. The method of claim 1 , further comprising:

receiving an indication to switch the agent that is executing within the address space of an invoking process that invoked the agent to the agent that is executing in a separate address space;

quiescing the agent that is executing within the address space of the invoking process; and

executing the agent within the separate address space.

5. The method of claim 1 wherein, following a failure and restarting of the invoking process, the determination whether to execute the identified agent within the invoking process address space or within a separate address space comprises executing the identified agent in the separate address space when the agents fails while executing in the invoking process address space.

6. The method of claim 1 wherein, following a failure and restarting of the invoking process, the determination whether to execute the identified agent within the invoking process address space or within a separate address space comprises executing the identified agent in the invoking process address space when the agent completes successfully while executing in the separate address space.

7. A system operating in a server of a computer system for processing a request generated at a client computer for information concerning a hardware device of the computer system, the system comprising:

a session manager executing in the server;

one or more agents in the server;

one or more invoking processes that can invoke the agents to execute in the server;

means at the session manager for identifying which agent may process the request by accessing the hardware device;

determining at the session manager whether the identified agent should be executed within an address space of an invoking process or within a separate address space in the server;

if it is determined that the agent should be executed within a separate address space, executing the agent within a separate address space; and

means in the session manager and operable following a failure and restarting of the invoking process, for making a determination whether to execute the identified agent within the invoking process address space or within a separate address space based on the performance of the agent when the agent was executing;

when the invoking process is restarted:

means for determining which agents are to be executed in one or more separate address spaces based on performance information of those agents when they were executing stored by the invoking process during the execution of those agents; and

means for executing those agents in the one or more separate address spaces;

wherein each of the agents is a Common Information Model (CIM) provider; and

wherein each of the invoking processes is a CIM object manager.

8. The system of claim 7 , further comprising:

means for receiving an indication to switch an agent that is executing within the separate address space to an agent that is executing within the address space of the invoking process that invoked the agent;

means for terminating the agent to be switched; and

means for executing the agent within the address space of the invoking process.

9. The system of claim 7 , wherein the agent is part of a group of agents and further comprising:

means for terminating each of the agents in the group; and

means for executing each of the agents in the group within the address space of the invoking process that invoked the agents.

10. The system of claim 7 , further comprising:

means for receiving an indication to switch the agent that is executing within the address space of an invoking process that invoked the agent to the agent that is executing in a separate address space;

means for quiescing the agent that is executing within the address space of the invoking process; and

means for executing the agent within the separate address space.

11. The system of claim 7 wherein the means operable following a failure and restarting of the invoking process, for making the determination whether to execute the identified agent within the invoking process address space or within a separate address space comprises means for executing the identified agent in the separate address space when the agents fails while executing in the invoking process address space.

12. The system of claim 7 wherein the means operable following a failure and restarting of the invoking process, for making the determination whether to execute the identified agent within the invoking process address space or within a separate address space comprises means for executing the identified agent in the invoking process address space when the agent completes successfully while executing in the separate address space.

13. An article of manufacture comprising a storage medium having computer readable program code thereon including instructions for processing a request for information concerning a hardware device with an invoking a process executing in a server, wherein the program code is capable of causing operations in the processor of a computer system, the operations comprising:

identifying an agent that may process the request by accessing the hardware device;

determining whether the agent should be executed within an address space of an the invoking process that would invoke the agent or within a separate address space in the server;

if it is determined that the agent should be executed within a separate address space, executing the agent within a separate address space;

following a failure and restarting of the invoking process using the invoking process to make a determination whether to execute the identified agent within the invoking process address space or within a separate address space based on the performance of the agent when the agent was executing; and

when the invoking process is restarted:

determining which agents are to be executed in one or more separate address spaces based on performance information of those agents when they were executing stored by the invoking process during the execution of those agents; and

executing those agents in the one or more separate address spaces; wherein the agent is a Common Information Model (CIM) provider; and wherein the invoking process is a CIM object manager.

14. The article of manufacture of claim 13 , the operations further comprising:

receiving an indication to switch an agent that is executing within the separate address space to an agent that is executing within the address space of the invoking process that invoked the agent;

terminating the agent to be switched; and

executing the agent within the address space of the invoking process.

15. The article of manufacture of claim 13 , wherein the agent is part of a group of agents and the operations further comprising:

terminating each of the agents in the group; and

executing each of the agents in the group within the address space of the invoking process that invoked the agents.

16. The article of manufacture of claim 13 , the operations further comprising:

receiving an indication to switch the agent that is executing within the address space of an invoking process that invoked the agent to the agent that is executing in a separate address space;

quiescing the agent that is executing within the address space of the invoking process; and

executing the agent within the separate address space.

17. The article of manufacture of claim 13 wherein, following a failure and restarting of the invoking process, the determination whether to execute the identified agent within the invoking process address space or within a separate address space comprises executing the identified agent in the separate address space when the agents fails while executing in the invoking process address space.

18. The article of manufacture of claim 13 wherein, following a failure and restarting of the invoking process, the determination whether to execute the identified agent within the invoking process address space or within a separate address space comprises executing the identified agent in the invoking process address space when the agent completes successfully while executing in the separate address space.

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 037302/0616 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 23, 2002
From: HILTGEN, DANIEL K.
To: SUN MICROSYSTEMS, INC.
Reel/Frame 013142/0132 →