[omniORB] Does omniORB2 support object migration? Or is this the work of a separate service?

Devin Venable dvenable@visionael.com
Wed, 16 Jun 1999 11:41:14 -0500


According to some INPRISE literature that I posses, their ORB supports
"CORBA standard object migration".  This ability is described (paraphrase)
as:

1	An client obtains an IOR to an object that resides inside server
process 1
2	The object is removed from process 1 and placed in process 2
3	The client, who was never notified that the object was moved to a
different process, tries
	to use its stale object reference and the invocation fails.
4	The VisiBroker ORB runtime will detect the failed call and, by
default, automatically re-discover the object.  The osagent (Naming Service)
will provide the object reference of the migrated object.
5	After the ORB runtime has discovered the new object reference it
will retry the method invocation which will now succeed.

The main issues I am concerned with is items 4 and 5.  These questions come
to mind:

In instances where a client has and object reference, and the object it
refers to dies and then comes back (perhaps the server was rebooted), will
the omniORB re-discover the object?  Is this standard ORB behavior or an
INPRISE add-on feature?

Would the Naming Service be aware that an object that it had bound has
perished, and would it somehow provide an updated IOR to the ORB?

Would the ORB runtime know to attempt a retry using the new object reference
that it invisibly obtained (unknown to the client).

I wonder how it is possible that the client could continue to use the same
IOR to invoke methods when, in fact, the object has been rebound?

Devin Venable
Product Developer
VISIONAEL