IP Library Granted Patent US 9,088,537
Granted Patent B2
US 9,088,537 · App. 13/708,753 · Granted Jul 21, 2015

Apparatus and method for executing agent

Inventors: Hideki Tai (Yokohama, JP); Gaku Yamamoto (Tokyo, JP)
Assignee: International Business Machines Corporation
H04L67/00H04M3/5175
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 9,088,537
App. No.
13/708,753
Granted
Jul 21, 2015
Kind
B2
Abstract

Methods for selecting an initial agent for an agent transaction context (ATC) are presented, the ATC configured to process a transaction utilizing a number of active agents in a multiagent system using a computing device including: causing the computing device to determine whether an agent having a top priority message is present, where the agent is one of the number of active agents in the multiagent system; if the agent having the top priority message is present, causing the computing device to determine whether the agent having the top priority message is processing; and if the agent having the top priority message is not processing, causing the computing device to select the agent having the top priority message as the initial agent for the ATC.

Claims (43)

1. A method for selecting an initial agent for an agent transaction context (ATC), the ATC configured to process a transaction utilizing a plurality of active agents in a multiagent system using a computing device comprising:

causing the computing device to determine whether an agent having a top priority message is present, wherein the agent is one of the plurality of active agents in the multiagent system;

if the agent having the top priority message is present, causing the computing device to determine whether the agent having the top priority message is processing; and

if the agent having the top priority message is not processing, causing the computing device to select the agent having the top priority message as the initial agent for the ATC, wherein the ATC includes at least an agent list and an intra-transaction message queue, wherein the agent list includes at least some of the plurality of active agents required for executing a plurality of threads, wherein the intra-transaction message queue is configured to store a plurality of one-directional messages, and wherein the plurality of one-directional messages are associated with the transaction.

2. The method of claim 1 , further comprising:

if the agent having the top priority message is not present, causing the computing device to determine whether any of the plurality of active agents has been processing previously; and

if any of the plurality of active agents has been processing previously, causing the computing device to select a previously processing agent as the initial agent for the ATC.

3. The method of claim 2 , further comprising:

before the causing the computing device to select the previously processing agent, causing, the computing device to determine whether a number of successive processes of the previously processing agent exceeds a given value; and

if the number exceeds the given value, selecting another of the plurality of active agents.

4. The method of claim 3 , wherein another of the plurality of active agents comprises:

causing the computing device to determine whether any of the plurality of active agents has an unprocessed message; and

if any of the plurality of active agents has an unprocessed message, causing the computing device to select an agent having the unprocessed message as the initial agent for the ATC.

5. The method of claim 1 , further comprising:

if the agent having the top priority message is processing, causing the computing device to determine whether any of the plurality of active agents has been processing previously; and

if any of the plurality of active agents has been processing previously, causing the computing device to select the previously processing agent as the initial agent for the ATC.

6. The method of claim 5 , further comprising:

before the causing the computing device to select the previously processing agent, causing the computing device to determine whether a number of successive processes of the previously processing agent exceeds a given value; and

if the number exceeds the given value, selecting another of the plurality of active agents.

7. The method of claim 6 , wherein selecting another of the plurality of active agents comprises:

causing the computing device to determine whether any of the plurality of active agents has an unprocessed message; and

if any of the plurality of active agents has an unprocessed message, causing the computing device to select an agent having the unprocessed message as the initial agent for the ATC.

8. A computing device program product for selecting an initial agent for an agent transaction context (ATC), the ATC configured to process a transaction utilizing a plurality of active agents in a multiagent system using a computing device comprising:

a non-transitory computer readable medium;

first programmatic instructions for causing the computing device to determine whether an agent having a top priority message is present, wherein the agent is one of the plurality of active agents in the multiagent system;

if the agent having the top priority message is present, second programmatic instructions for causing the computing device to determine whether the agent having the top priority message is processing; and

if the agent having the top priority message is not processing, third programmatic instructions for causing the computing device to select the agent having the top priority message as the initial agent for the ATC, wherein the ATC includes at least an agent list, and an intra-transaction message queue, wherein the agent list includes at least some of the plurality of active agents required for executing a plurality of threads, wherein the intra-transaction message queue is configured to store a plurality of one-directional messages, and wherein the plurality of one-directional messages are associated with the transaction.

9. The computing device program product of claim 8 , further comprising:

if the agent having the top priority message is not present, fourth programmatic instructions for causing the computing device to determine whether any of the plurality of active agents has been processing previously; and

if any of the plurality of active agents has been processing previously, fifth programmatic instructions for causing the computing device to select a previously processing agent as the initial agent for the ATC.

10. The computing device program product of claim 9 , further comprising:

before the fifth programmatic instructions for causing the computing device to select the previously processing agent, sixth programmatic instructions for causing the computing device to determine whether a number of successive processes of the previously processing agent exceeds a given value; and

if the number exceeds the given value, selecting another of the plurality of active agents.

11. The computing device program product of claim 10 , wherein selecting another of the plurality of active agents comprises:

seventh programmatic instructions for causing the computing device to determine whether any of the plurality of active agents has an unprocessed message; and

if any of the plurality of active agents has an unprocessed message, eighth programmatic instructions for causing the computing device to select an agent having the unprocessed message as the initial agent for the ATC.

12. The computing device program product of claim 8 , further comprising:

if the agent having the top priority message is processing, tenth programmatic instructions for causing the computing device to determine whether any of the plurality of active agents has been processing previously; and

if any of the plurality of active agents has been processing previously, eleventh programmatic instructions for causing the computing device to select the previously processing agent as the initial agent for the ATC.

13. The computing device program product of claim 12 , further comprising:

before the eleventh programmatic instructions for causing the computing device to select the previously processing agent, twelfth programmatic instructions for causing the computing device to determine whether a number of successive processes of the previously processing agent exceeds a given value; and

if the number exceeds the given value, selecting another of the plurality of active agents.

14. The computing device program product of claim 13 , wherein selecting another of the plurality of active agents comprises: thirteenth programmatic instructions for causing the computing device to determine whether any of the plurality of active agents has an unprocessed message; and if any of the plurality of active agents has an unprocessed message, fourteenth programmatic instructions for causing the computing device to select an agent having the unprocessed message as the initial agent for the ATC.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 11, 2013
From: TAI, HIDEKI; YAMAMOTO, GAKU
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 030200/0120 →
Priority Claims (1)
JP 2008-85972 · Mar 28, 2008 · national
Continuity (2)
Continuation 12414556 · Mar 30, 2009
Related Publication 20130097219A1 · Apr 18, 2013