Browse Prior Art Database

Non-Blocking Transactional Mobile Agent Execution

IP.com Disclosure Number: IPCOM000015153D
Original Publication Date: 2002-Jan-12
Included in the Prior Art Database: 2003-Jun-20
Document File: 3 page(s) / 31K

Publishing Venue

IBM

Abstract

A mobile agent executes in a sequence of stages S 0 ,S 1 , ..., S n . At every stage, the mobile agent runs on a logical execution environment, called place, and performs a stage action. For certain applications, it is mandatory that either all stage actions of the agent succeed, or none at all. Assuming, for instance, that an agent owner (i.e., the person or application that creates and configures the agent) sends an agent whose task is to buy an airline ticket and rent a car at the flight destination, then clearly, if no airline ticket is available, the rental car is of limited use. On the other hand, if no rental car is available at the destination, there may be no need to fly there any more (depending on the ultimate destination of the agent owner). Consequently, the agent owner either wants both operations to succeed or none of the two. This property is called atomicity and is fundamental to executing the mobile agent as a transaction. A transactional mobile agent execution tentatively executes all stage actions. At each place a stationary agent is left. This agent waits for the commit or abort decision of the global transaction. Upon receiving a commit decision, it commits the local modifications, otherwise aborts them. If the execution of the stage action is unsuccessful, the agent aborts and notifies all stationary agents of previous stages about the abort decision. Otherwise (i.e., if the stage action is successful) the mobile agent execution continues. The transaction only spans over stages S 1 , ..., S n-1 .On S 0 and S n the interaction with the user takes place and a transaction context is not needed. Moreover, mobile devices are often disconnected from the network. If the transaction is terminated on S n , which may execute on a disconnected device, then the transaction cannot terminate until the device is reconnected. When the mobile agent arrives at stage S n-1 and successfully executes the stage action there, it commits the entire mobile agent execution. At this point, all the locks on accessed data items on previous places are released. While a transactional mobile agent holds a lock on a data item, no other transactional mobile agents can access that data item. Failing components (hardware or software) may lead to blocking in such an approach. Indeed, if a place fails while executing the mobile agent, the transactional mobile agent execution cannot

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 51% of the total text.

Page 1 of 3

Non-Blocking Transactional Mobile Agent Execution

     A mobile agent executes in a sequence of stages S0,S1, ...,
Sn. At every stage, the mobile agent runs on a logical
execution environment, called place, and performs a stage
action. For certain applications, it is mandatory that either all
stage actions of the agent succeed, or none at all. Assuming,
for instance, that an agent owner (i.e., the person or
application that creates and configures the agent) sends an
agent whose task is to buy an airline ticket and rent a car at
the flight destination, then clearly, if no airline ticket is
available, the rental car is of limited use. On the other hand,
if no rental car is available at the destination, there may be
no need to fly there any more (depending on the ultimate
destination of the agent owner). Consequently, the agent owner
either wants both operations to succeed or none of the two. This
property is called atomicity and is fundamental to executing the
mobile agent as a transaction.

A transactional mobile agent execution tentatively executes all
stage actions. At each place a stationary agent is left. This
agent waits for the commit or abort decision of the global
transaction. Upon receiving a commit decision, it commits the
local modifications, otherwise aborts them. If the execution of
the stage action is unsuccessful, the agent aborts and notifies
all stationary agents of previous stages about the abort
decision. Otherwise (i.e., if the stage action is successful)
the mobile agent execution continues. The transaction only spans
over stages S1, ...,
Sn-1.On S0 and Sn the interaction with the user takes place and a
transaction context is not needed. Moreover, mobile devices are
often disconnected from the network. If the transaction is
terminated on Sn, which may execute on a disconnected device,
then the transaction cannot terminate until the device is
reconnected.

  When the mobile agent arrives at stage Sn-1 and successfully
executes the stage action there, it commits the entire mobile
agent execution. At this point, all t...