EP0457684A2

Routing objects on action paths in a distributed computing system.

Abstract

A system for routing an "object" (in the sense that object means an abstraction that encapsulates data in a known way, with a known list of operations or methods to access the data, and the object has a unique identity, is mobile, and possibly persistent). The "object" is routed in a distributed computing system along an action path (itself an "object") which defines the logical path to be traversed by the object. The action path consists of action stops naming or describing functionally principals (people or automated mechanisms) required to act upon the routed object in a prescribed order. The object routing system propagates the object along this action path, and monitors and controls its progress until it completes the path. The system includes mechanisms of dispatching the routed object between principals, finding the principals required to act on the routed object, notifying the principals in turn of their required action, and potentially relocating the routed object to the nodes of the principals. Optionally, the object routing system may use mechanisms for nagging principals about pending actions (if no progress occurs within a specified period), reporting such lack of action or progress to other principals, supporting the sharing of an action path by multiple routed objects, and facilitating the routing of an object in parallel to multiple principals. This object routing system is constructed as a generic service layer above services for object management, migration, persistence and interobject communication.

EP0457684A2, drawing sheet 1
Sheet 1 of 16

Term

Term ended

Projected expiry passed 16 May 2011, 15.4 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

26 claims: 3 independent, 23 dependent

  1. 1
    A method of routing an object in a distributed computing system, comprising the steps of:(a) creating a routed object and creating an action path object attached to said routed object, the action path object defining a sequence of action stops for the routed object;(b) dispatching said routed object to the next principal named in the next action stop, including, if necessary, translating the identification of a principal named or described functionally in such action stop and then finding the principal's object handle;(c) notifying that principal object described in such action stop using said handle;(d) logically or physically delivering said routed object to the node preferred by said principal;(e) receiving at a node of said system said routed object and action path object attached to said routed object, the action path object defining a sequence of action stops for the routed object;(f) letting a principal perform an action on said routed object at said node, and when done, indicating so by asking to dispatch said routed object to next principal;(g) dispatching said routed object to the principal named or described in the next action stop of said sequence, including, if necessary, translating the identification of a principal named or described functionally in said next action stop to the principal's object handle;(h) letting a principal perform some action on said routed object at said node, and when done, indicating so by asking to dispatch said routed object to next principal;(i) repeating steps (b) through (h) until the last action stop of said action path is finished;and (j) performing a series of operations requested when the action path is created to be performed after the last action stop.
  2. 8
    A method of routing an object in a distributed computing system, comprising the steps of:(a) receiving at a node of said system a routed object and an action path object attached to said routed object, the action path object defining a sequence of action stops for the routed object, said node being associated with one of said action stops;(b) letting a principal perform an action on said routed object at said node, and when done, indicating so by asking to dispatch said routed object to next principal;(c) dispatching said routed object to the next principal named or functionally described in the next action stop of said sequence, including, if necessary, translating the identification of a principal named or described functionally in said next action stop to its object handle;(d) logically or physically delivering said routed object to said next action stop.
  3. 16
    A system for routing objects in a distributed computing network, comprising:(a) means for receiving at a node of said network a routed object and an action path object attached to said routed object, the action path object defining a sequence of action stops for the routed object, said node being associated with one of said action stops;(b) means for letting a principal perform an action on said routed object at said node, and when done, indicating so by asking to dispatch said routed object to next principal;(c) means for dispatching said routed object to the next principal named or functionally described in the action stop of said sequence, including, if necessary, translating the identification of a principal named or described functionally in said next action stop to the principal's object handle;(d) means for notifying a principal object recorded at said next action stop using said handle;(e) means for logically or physically delivering said routed object to a node preferred by said principal.