Browse Prior Art Database

Non-Blocking Transactional Mobile Agent Execution Disclosure Number: IPCOM000015153D
Original Publication Date: 2002-Jan-12
Included in the Prior Art Database: 2003-Jun-20

Publishing Venue



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