USRE41706EExpiredUtility

Moving objects in a distributed computing environment

Individually held — no corporate assignee on recordPriority: Nov 30, 1999Filed: Jan 13, 2006Granted: Sep 14, 2010
Est. expiryNov 30, 2019(expired)· nominal 20-yr term from priority
G06F 9/4862G06F 9/4492G06F 9/449G06F 9/4493
43
PatentIndex Score
0
Cited by
140
References
100
Claims

Abstract

A method for moving objects in a distributed computing system is provided that comprises receiving a move indication ( 224 ) at a mobility facet object ( 206 ) that is aggregated with a primary facet object ( 204 ) through an aggregate object ( 202 ) located at a current host address and port number ( 222 ). A new aggregate object ( 246 ) with the new version ( 242 ) of the primary facet object ( 204 ) as a new primary facet object ( 248 ) and the new version ( 236 ) of the mobility facet object ( 206 ) as a new mobility facet object ( 250 ) are created at a new host address and port number ( 234 ).

Claims

exact text as granted — not AI-modified
1. A method for moving objects in a distributed computing system, comprising:
 receiving a move indication at a mobility object aggregated with a primary object through an aggregate object located at a current host address and port number, the primary object being unique to the aggregate object, the mobility object providing a mobility functionality for the primary object, the move indication instructing the mobility object to move the primary object to a new host address and port number, the aggregate object having the primary object as a primary facet object and the mobility object as a facet object;  
 creating a serialized version of the mobility object in response to the move indication;  
 sending the serialized version of the mobility object to the new host address and port number;  
 creating a new version of the mobility object at the new host address and port number from the serialized version of the mobility object;  
 creating a serialized version of the primary object in response to a serialize and move message from the new version of the mobility object;  
 sending the serialized version of the primary object to the new host address and port number;  
 creating a new version of the primary object at the new host address and port number from the serialized version of the primary object;  
 creating a new aggregate object with the new version of the primary object as a new primary facet object and the new version of the mobility object as a new facet object at the new host address and port number.  
 
     
     
       2. The method of  claim 1 , further comprising:
 locking the aggregate object at the current host address and port number in response to the move indication; and  
 unlocking the aggregate object at the current host address and port number in response to creating the new aggregate object at the new host address and port number.  
 
     
     
       3. The method of  claim 1 , further comprising:  comprising retaining an old version of the aggregate object, the primary object, and the mobility object at the current host address and port number. 
     
     
       4. The method of  claim 1 , further comprising:  comprising aggregating the mobility object at the current host address and port number with the primary object at the current host address and port number, the mobility object linked to an aggregate object at the current host address and port number, the primary object linked to the aggregate object at the current host address and port number. 
     
     
       5. The method of  claim 1 , further comprising instructing the primary object to move to the new host address and port number by invoking a method on the mobility object at the current host address and port number for moving the primary object to the new host address and port number. 
     
     
       6. The method of  claim 1 , further comprising:
 informing the primary object at the current host address and port number that the primary object is about to be moved in response to the move indication;  
 performing pre-departure processing by the primary object at the current host address and port number;  
 determining whether the object is available to move;  
 vetoing the move in response to determining that the object is not available to move; and  
 affirming the move in response to determining that the object is available to move.  
 
     
     
       7. The method of  claim 1 , further comprising:
 completing messages currently being processed by the primary object at the current host address and port number; and  
 suspending new messages arriving at the primary object at the current host address and port number.  
 
     
     
       8. The method of  claim 7 , further comprising:  comprising forwarding suspended messages to the new host address and port number for processing. 
     
     
       9. The method of  claim 1 , further comprising:
 storing the new host address and port number in a reference holder at the current host address and port number; and  
 forwarding messages received at the current host address and port number for the primary object to the new version of the primary object at the new host address and port number.  
 
     
     
       10. The method of  claim 1 , further comprising:  comprising registering the new aggregate object and the new version of the primary object at the new host address and port number. 
     
     
       11. The method of  claim 1 , further comprising:
 deregistering the aggregate object and the primary object at the current host address and port number; and  
 garbage collecting the aggregate object and the primary object at the current host address and port number.  
 
     
     
       12. The method of  claim 1 , further comprising:
 sending a message from a proxy to the primary object at the current host address and port number;  
 throwing an exception back to the proxy indicating that the primary object has moved to the new host address and port number; and  
 resending the message from the proxy to the new version of the primary object at the new host address and port number in response to the exception.  
 
     
     
       13. The method of  claim 1 , further comprising:
 sending a message from a proxy to the primary object at the current host address and port number; and  
 forwarding the message from the current host address and port number to the new version of the primary object at the new host address and port number.  
 
     
     
       14. The method of  claim 1 , further comprising:
 evaluating the sending of the serialized version of the primary object and creating of the new version of the primary object by querying the new version of the primary object to determine if the sending and creating was successful; and  
 aborting the method for moving objects in response to an unsuccessful sending and creating.  
 
     
     
       15. The method of  claim 1 , further comprising:  comprising sending a serialize and move message from the new version of the mobility object at the new host address and port number to the primary object at the current host address and port number, the serialize and move message including an indication that the new version of the mobility object has been established at the new host address and port number. 
     
     
       16. The method of  claim 1 , further comprising:
 locking the aggregate object at the current host address and port number in response to the move indication;  
 sending a successful move message from the new aggregate object at the new host address and port number to the aggregate object at the current host address and port number;  
 unlocking the aggregate object at the current host address and port number;  
 deregistering the aggregate object and the primary object at the current host address and port number in response to the successful move message;  
 storing the new host address and port number in a reference holder at the current host address and port number, the reference holder used for forwarding messages received for the primary object at the current host address and port number.  
 
     
     
       17. The method of  claim 1 , further comprising:
 informing the new version of the primary object at the new host address and port number that movement of the aggregate object at the current host address and port number has started;  
 performing pre-arrival processing by the new version of the primary object at the new host address and port number;  
 determining whether the new version of the primary object at the new host address and port number authorizes completion of the method for moving objects; and  
 aborting the method for moving objects in response to a negative authorization from the new version of the primary object at the new host address and port number.  
 
     
     
       18. The method of  claim 11 , further comprising:
 informing the new aggregate object at the new host address and port number that the aggregate object at the current host address and port number has been deregistered;  
 performing post-arrival processing by the aggregate object at the current host address and port number.  
 
     
     
       19. The method of  claim 1 , further comprising:
 informing the aggregate object at the current host address and port number that creation of the new aggregate object at the new host address and port number has completed;  
 performing post-departure processing by the aggregate object at the current host address and port number.  
 
     
     
       20. A method for moving objects in a distributed computing system, comprising:
   dynamically aggregating a mobility object with a primary object to create an aggregate object located at a current host location, the primary object being unique to the aggregate object and the mobility object providing a mobility functionality for the primary object, and the aggregate object including the primary object as a primary facet object and the mobility object as a facet object;        receiving a move indication at the mobility object, the move indication instructing the mobility object to move the primary object to a new host location;        sending a new version of the mobility object to the new host location in response to the move indication; and        sending a new version of the primary object to the new host location in response to a move message from the new version of the mobility object;        wherein a new aggregate object is created at the new host location, the new aggregate object having the new version of the primary object associated with the new version of the mobility object.     
     
     
       21. The method of  claim 20 , further comprising:
   serializing the new version of the mobility object prior to sending;        wherein the new version of the mobility object is created at the new host location from the serialized version of the mobility object; and        serializing the new version of the primary object prior to sending;        wherein the new version of the primary object is created at the new host location from the serialized version of the primary object.     
     
     
       22. The method of  claim 20 , wherein the new aggregate object at the new host location comprises the new version of the primary object as a new primary facet object and the new version of the mobility object as a new facet object. 
     
     
       23. The method of  claim 20 , wherein the current host location is characterized by a current host address and port number, and the new host location is characterized by a new host address and port number. 
     
     
       24. The method of  claim 20 , further comprising:
   locking the aggregate object at the current host location in response to the move indication; and        unlocking the aggregate object at the current host location in response to creating the new aggregate object at the new host location.     
     
     
       25. The method of  claim 20 , further comprising retaining an old version of the aggregate object, the primary object, and the mobility object at the current host location. 
     
     
       26. The method of  claim 20 , further comprising instructing the primary object to move to the new host location by invoking a method on the mobility object at the current host location for moving the primary object to the new host location. 
     
     
       27. The method of  claim 20 , further comprising:
   informing the primary object at the current host location that the primary object is about to be moved in response to the move indication;        performing pre - departure processing by the primary object at the current host location;        determining whether the primary object is available to move;        vetoing the move in response to determining that the primary object is not available to move; and        affirming the move in response to determining that the primary object is available to move.     
     
     
       28. The method of  claim 20 , further comprising:
   completing messages currently being processed by the primary object at the current host location; and        suspending new messages arriving at the primary object at the current host location.     
     
     
       29. The method of  claim 28 , further comprising forwarding suspended messages to the new host location for processing. 
     
     
       30. The method of  claim 20 , further comprising:
   storing the new host location in a reference holder at the current host location; and        forwarding messages received at the current host location for the primary object to the new version of the primary object at the new host location.     
     
     
       31. The method of  claim 20 , wherein the new aggregate object and the new version of the primary object are registered at the new host location. 
     
     
       32. The method of  claim 20 , further comprising:
   deregistering the aggregate object and the primary object at the current host location; and        garbage collecting the aggregate object and the primary object at the current host location.     
     
     
       33. The method of  claim 20 , further comprising:
   sending a message from a proxy to the primary object at the current host location;        sending an exception back to the proxy indicating that the primary object has moved to the new host location; and        resending the message from the proxy to the new version of the primary object at the new host location in response to the exception.     
     
     
       34. The method of  claim 20 , further comprising:
   sending a message from a proxy to the primary object at the current host location; and        forwarding the message from the current host location to the new version of the primary object at the new host location.     
     
     
       35. The method of  claim 20 , further comprising:
   evaluating the sending of the new version of the primary object by querying the new version of the primary object to determine if the sending was successful; and        aborting the method for moving objects in response to an unsuccessful sending.     
     
     
       36. The method of  claim 20 , further comprising receiving a move message from the new version of the mobility object at the new host location at the primary object at the current host location, the move message including an indication that the new version of the mobility object has been established at the new host location. 
     
     
       37. The method of  claim 20 , further comprising:
   locking the aggregate object at the current host location in response to the move indication;        receiving a successful move message from the new aggregate object at the new host location at the aggregate object at the current host location;        unlocking the aggregate object at the current host location;        deregistering the aggregate object and the primary object at the current host location in response to the successful move message; and        storing the new host location in a reference holder at the current host location, the reference holder used for forwarding messages received for the primary object at the current host location.     
     
     
       38. The method of  claim 20 , further comprising:
   informing the new version of the primary object at the new host location that movement of the aggregate object at the current host location has started;        wherein pre - arrival processing is performed by the new version of the primary object at the new host location;        determining whether the new version of the primary object at the new host location authorizes completion of the method for moving objects; and        aborting the method for moving objects in response to a negative authorization from the new version of the primary object at the new host location.     
     
     
       39. The method of  claim 32 , further comprising:
   informing the new aggregate object at the new host location that the aggregate object at the current host location has been deregistered; and        performing post - arrival processing by the aggregate object at the current host location.     
     
     
       40. The method of  claim 20 , further comprising:
   informing the aggregate object at the current host location that creation of the new aggregate object at the new host location has completed; and        performing post - departure processing by the aggregate object at the current location.     
     
     
       41. One or more computer- readable storage media comprising computer - executable instructions that, when executed, direct a computer to move an object in a distributed computing environment, the computer - executable instructions configured to:      dynamically aggregate a mobility object with a primary object to create an aggregate object located at a current host location, the primary object being unique to the aggregate object and the mobility object providing a mobility functionality for the primary object, and the aggregate object including the primary object as a primary facet object and the mobility object as a facet object;        receive a move indication at the mobility object, the move indication instructing the mobility object to move the primary object to a new host location;        send a new version of the mobility object to the new host location in response to the move indication;        send a new version of the primary object to the new location in response to a move message from the new version of the mobility object; and        create a new aggregate object at the new host location, the new aggregate object having the new version of the primary object associated with the new version of the mobility object.     
     
     
       42. One or more computer- readable storage media as recited in    claim 41   , further comprising computer - executable instructions configured to:      serialize the new version of the mobility object prior to sending;        create the new version of the mobility object at the new host location from the serialized version of the mobility object;        serialize the new version of the primary object prior to sending; and        create the new version of the primary object at the new host location from the serialized version of the primary object.     
     
     
       43. One or more computer- readable storage media as recited in    claim 41   , wherein the current host location is characterized by a current host address and port number, and the new host location is characterized by a new host address and port number.   
     
     
       44. One or more computer- readable storage media as recited in    claim 41   , further comprising computer - executable instructions configured to:      lock the aggregate object at the current host location in response to the move indication; and        unlock the aggregate object at the current host location in response to creating the new aggregate object at the new host location.     
     
     
       45. One or more computer- readable storage media as recited in    claim 41   , further comprising computer - executable instructions configured to retain an old version of the aggregate object, the primary object, and the mobility object at the current host location.   
     
     
       46. One or more computer- readable storage media as recited in    claim 41   , further comprising computer - executable instructions configured to instruct the primary object to move to the new host location by invoking a method on the mobility object at the current host location for moving the primary object to the new host location.   
     
     
       47. One or more computer- readable storage media as recited in    claim 41   , further comprising computer - executable instructions configured to:      inform the primary object at the current host location that the primary object is about to be moved in response to the move indication;        perform pre - departure processing by the primary object at the current host location;        determine whether the primary object is available to move;        veto the move in response to determining that the primary object is not available to move; and        computer readable program code configured to affirm the move in response to determining that the primary object is available to move.     
     
     
       48. One or more computer- readable storage media as recited in    claim 41   , further comprising computer - executable instructions configured to:      complete messages currently being processed by the primary object at the current host location; and        suspend new messages arriving at the primary object at the current host location.     
     
     
       49. One or more computer- readable storage media as recited in    claim 41   , further comprising computer - executable instructions configured to forward suspended messages to the new host location for processing.   
     
     
       50. One or more computer- readable storage media as recited in    claim 41   , further comprising computer - executable instructions configured to:      store the new host location in a reference holder at the current host location; and        forward messages received at the current host location for the primary object to the new version of the primary object at the new host location.     
     
     
       51. One or more computer- readable storage media as recited in    claim 41   , further comprising computer - executable instructions configured to register the new aggregate object and the new version of the primary object at the new host location.   
     
     
       52. One or more computer- readable storage media as recited in    claim 41   , further comprising computer - executable instructions configured to:      deregister the aggregate object and the primary object at the current host location; and        garbage collect the aggregate object and the primary object at the current host location.     
     
     
       53. One or more computer- readable storage media as recited in    claim 41   , further comprising computer - executable instructions configured to:      send a message from a proxy to the primary object at the current host location;        throw send an exception back to the proxy indicating that the primary object has moved to the new host location; and        resend the message from the proxy to the new version of the primary object at the new host location in response to the exception.     
     
     
       54. One or more computer- readable storage media as recited in    claim 41   , further comprising computer - executable instructions configured to:      send a message from a proxy to the primary object at the current host location; and        forward the message from the current host location to the new version of the primary object at the new host location.     
     
     
       55. One or more computer- readable storage media as recited in    claim 41   , further comprising computer - executable instructions configured to:      evaluate the sending of the new version of the primary object by querying the new version of the primary object to determine if the sending was successful; and        abort the method for moving objects in response to an unsuccessful sending.     
     
     
       56. One or more computer- readable storage media as recited in    claim 41   , further comprising computer - executable instructions configured to send a move message from the new version of the mobility object at the new host location to the primary object at the current host location, the move message including an indication that the new version of the mobility object has been established at the new host location.   
     
     
       57. One or more computer- readable storage media as recited in    claim 41   , further comprising computer - executable instructions configured to:      lock the aggregate object at the current host location in response to the move indication;        send a successful move message from the new aggregate object at the new host location to the aggregate object at the current host location;        unlock the aggregate object at the current host location;        deregister the aggregate object and the primary object at the current host location in response to the successful move message; and        store the new host location in a reference holder at the current host location, the reference holder used for forwarding messages received for the primary object at the current host location.     
     
     
       58. One or more computer- readable storage media as recited in    claim 41   , further comprising computer - executable instructions configured to:      inform the new version of the primary object at the new host location that movement of the aggregate object at the current host location has started;        perform pre - arrival processing by the new version of the primary object at the new host location;        determine whether the new version of the primary object at the new host location authorizes completion of the method for moving objects; and        abort the method for moving objects in response to a negative authorization from the new version of the primary object at the new host location.     
     
     
       59. One or more computer- readable storage media as recited in    claim 41   , further comprising computer - executable instructions configured to:      inform the new aggregate object at the new host location that the aggregate object at the current host location has been deregistered; and        perform post - arrival processing by the aggregate object at the current host location.     
     
     
       60. One or more computer- readable storage media as recited in    claim 41   , further comprising computer - executable instructions configured to:      inform the aggregate object at the current host location that creation of the new aggregate object at the new host location has completed; and        perform post - departure processing by the aggregate object at the current location.     
     
     
       61. A method for moving objects in a distributed computing system, comprising:
   dynamically aggregating a mobility object with a primary object to create an aggregate object located at a current host location, the primary object being unique to the aggregate object and the mobility object providing a mobility functionality for the primary object;        receiving a move indication at the mobility object, the move indication instructing the mobility object to move the primary object to a new host location;        sending a new version of the mobility object to the new host location in response to the move indication; and        sending a new version of the primary object to the new host location in response to a move message from the new version of the mobility object;        wherein a new aggregate object is created at the new host location, the new aggregate object having the new version of the primary object associated with the new version of the mobility object, and the new aggregate object including the new version of the primary object as a new primary facet object and the new version of the mobility object as a new facet object.     
     
     
       62. The method of  claim 61 , further comprising:
   serializing the new version of the mobility object prior to sending;        wherein the new version of the mobility object is created at the new host location from the serialized version of the mobility object; and        serializing the new version of the primary object prior to sending;        wherein the new version of the primary object is created at the new host location from the serialized version of the primary object.     
     
     
       63. The method of  claim 61 , wherein the current host location is characterized by a current host address and port number, and the new host location is characterized by a new host address and port number. 
     
     
       64. The method of  claim 61 , further comprising:
   locking the aggregate object at the current host location in response to the move indication; and        unlocking the aggregate object at the current host location in response to creating the new aggregate object at the new host location.     
     
     
       65. The method of  claim 61 , further comprising retaining an old version of the aggregate object, the primary object, and the mobility object at the current host location. 
     
     
       66. The method of  claim 61 , further comprising instructing the primary object to move to the new host location by invoking a method on the mobility object at the current host location for moving the primary object to the new host location. 
     
     
       67. The method of  claim 61 , further comprising:
   informing the primary object at the current host location that the primary object is about to be moved in response to the move indication;        performing pre - departure processing by the primary object at the current host location;        determining whether the primary object is available to move;        vetoing the move in response to determining that the primary object is not available to move; and        affirming the move in response to determining that the primary object is available to move.     
     
     
       68. The method of  claim 61 , further comprising:
   completing messages currently being processed by the primary object at the current host location; and        suspending new messages arriving at the primary object at the current host location.     
     
     
       69. The method of  claim 68 , further comprising forwarding suspended messages to the new host location for processing. 
     
     
       70. The method of  claim 61 , further comprising:
   storing the new host location in a reference holder at the current host location; and        forwarding messages received at the current host location for the primary object to the new version of the primary object at the new host location.     
     
     
       71. The method of  claim 61 , wherein the new aggregate object and the new version of the primary object are registered at the new host location. 
     
     
       72. The method of  claim 61 , further comprising:
   deregistering the aggregate object and the primary object at the current host location; and        garbage collecting the aggregate object and the primary object at the current host location.     
     
     
       73. The method of  claim 61 , further comprising:
   sending a message from a proxy to the primary object at the current host location;        sending an exception back to the proxy indicating that the primary object has moved to the new host location; and        resending the message from the proxy to the new version of the primary object at the new host location in response to the exception.     
     
     
       74. The method of  claim 61 , further comprising:
   sending a message from a proxy to the primary object at the current host location; and        forwarding the message from the current host location to the new version of the primary object at the new host location.     
     
     
       75. The method of  claim 61 , further comprising:
   evaluating the sending of the new version of the primary object by querying the new version of the primary object to determine if the sending was successful; and        aborting the method for moving objects in response to an unsuccessful sending.     
     
     
       76. The method of  claim 61 , further comprising receiving a move message from the new version of the mobility object at the new host location at the primary object at the current host location, the move message including an indication that the new version of the mobility object has been established at the new host location. 
     
     
       77. The method of  claim 61 , further comprising:
   locking the aggregate object at the current host location in response to the move indication;        receiving a successful move message from the new aggregate object at the new host location at the aggregate object at the current host location;        unlocking the aggregate object at the current host location;        deregistering the aggregate object and the primary object at the current host location in response to the successful move message; and        storing the new host location in a reference holder at the current host location, the reference holder used for forwarding messages received for the primary object at the current host location.     
     
     
       78. The method of  claim 61 , further comprising:
   informing the new version of the primary object at the new host location that movement of the aggregate object at the current host location has started;        wherein pre - arrival processing is performed by the new version of the primary object at the new host location;        determining whether the new version of the primary object at the new host location authorizes completion of the method for moving objects; and        aborting the method for moving objects in response to a negative authorization from the new version of the primary object at the new host location.     
     
     
       79. The method of  claim 72 , further comprising:
   informing the new aggregate object at the new host location that the aggregate object at the current host location has been deregistered; and        performing post - arrival processing by the aggregate object at the current host location.     
     
     
       80. The method of  claim 61 , further comprising:
   informing the aggregate object at the current host location that creation of the new aggregate object at the new host location has completed; and        performing post - departure processing by the aggregate object at the current location.     
     
     
       81. One or more computer- readable storage media comprising computer - executable instructions that, when executed, direct a computer to move an object in a distributed computing environment, the computer - executable instructions configured to:      dynamically aggregate a mobility object with a primary object to create an aggregate object located at a current host location, the primary object being unique to the aggregate object and the mobility object providing a mobility functionality for the primary object, the aggregate object including the primary object as a primary facet object and the mobility object as a facet object;        receive a move indication at the mobility object, the move indication instructing the mobility object to move the primary object to a new host location;        send a new version of the mobility object to the new host location in response to the move indication;        send a new version of the primary object to the new host location in response to a move message from the new version of the mobility object; and        create a new aggregate object at the new host location, the new aggregate object having the new version of the primary object associated with the new version of the mobility object, and the new aggregate object creates the new version of the primary object as a new primary facet object and creates the new version of the mobility object as a new facet object.     
     
     
       82. One or more computer- readable storage media as recited in    claim 81   , further comprising computer - executable instructions configured to:      serialize the new version of the mobility object prior to sending;        create the new version of the mobility object at the new host location from the serialized version of the mobility object;        serialize the new version of the primary object prior to sending; and        create the new version of the primary object at the new host location from the serialized version of the primary object.     
     
     
       83. One or more computer- readable storage media as recited in    claim 81   , wherein the current host location is characterized by a current host address and port number, and the new host location is characterized by a new host address and port number.   
     
     
       84. One or more computer- readable storage media as recited in    claim 81   , further comprising computer - executable instructions configured to:      lock the aggregate object at the current host location in response to the move indication; and        unlock the aggregate object at the current host location in response to creating the new aggregate object at the new host location.     
     
     
       85. One or more computer- readable storage media as recited in    claim 81   , further comprising computer - executable instructions configured to retain an old version of the aggregate object, the primary object, and the mobility object at the current host location.   
     
     
       86. One or more computer- readable storage media as recited in    claim 81   , further comprising computer - executable instructions configured to instruct the primary object to move to the new host location by invoking a method on the mobility object at the current host location for moving the primary object to the new host location.   
     
     
       87. One or more computer- readable storage media as recited in    claim 81   , further comprising computer - executable instructions configured to:      inform the primary object at the current host location that the primary object is about to be moved in response to the move indication;        perform pre - departure processing by the primary object at the current host location;        determine whether the primary object is available to move;        veto the move in response to determining that the primary object is not available to move; and        affirm the move in response to determining that the primary object is available to move.     
     
     
       88. One or more computer- readable storage media as recited in    claim 81   , further comprising computer - executable instructions configured to:      complete messages currently being processed by the primary object at the current host location; and        suspend new messages arriving at the primary object at the current host location.     
     
     
       89. One or more computer- readable storage media as recited in    claim 81   , further comprising computer - executable instructions configured to forward suspended messages to the new host location for processing.   
     
     
       90. One or more computer- readable storage media as recited in    claim 81   , further comprising computer - executable instructions configured to:      store the new host location in a reference holder at the current host location; and        forward messages received at the current host location for the primary object to the new version of the primary object at the new host location.     
     
     
       91. One or more computer- readable storage media as recited in    claim 81   , further comprising computer - executable instructions configured to register the new aggregate object and the new version of the primary object at the new host location.   
     
     
       92. One or more computer- readable storage media as recited in    claim 81   , further comprising computer - executable instructions configured to:      deregister the aggregate object and the primary object at the current host location; and        garbage collect the aggregate object and the primary object at the current host location.     
     
     
       93. One or more computer- readable storage media as recited in    claim 81   , further comprising computer - executable instructions configured to:      send a message from a proxy to the primary object at the current host location;        send an exception back to the proxy indicating that the primary object has moved to the new host location; and        resend the message from the proxy to the new version of the primary object at the new host location in response to the exception.     
     
     
       94. One or more computer- readable storage media as recited in    claim 81   , further comprising computer - executable instructions configured to:      send a message from a proxy to the primary object at the current host location; and        forward the message from the current host location to the new version of the primary object at the new host location.     
     
     
       95. One or more computer- readable storage media as recited in    claim 81   , further comprising computer - executable instructions configured to:      evaluate the sending of the new version of the primary object by querying the new version of the primary object to determine if the sending was successful; and        abort the method for moving objects in response to an unsuccessful sending.     
     
     
       96. One or more computer- readable storage media as recited in    claim 81   , further comprising computer - executable instructions configured to send a move message from the new version of the mobility object at the new host location to the primary object at the current host location, the move message including an indication that the new version of the mobility object has been established at the new host location.   
     
     
       97. One or more computer- readable storage media as recited in    claim 81   , further comprising computer - executable instructions configured to:      lock the aggregate object at the current host location in response to the move indication;        send a successful move message from the new aggregate object at the new host location to the aggregate object at the current host location;        unlock the aggregate object at the current host location;        deregister the aggregate object and the primary object at the current host location in response to the successful move message; and        store the new host location in a reference holder at the current host location, the reference holder used for forwarding messages received for the primary object at the current host location.     
     
     
       98. One or more computer- readable storage media as recited in    claim 81   , further comprising computer - executable instructions configured to:      inform the new version of the primary object at the new host location that movement of the aggregate object at the current host location has started;        perform pre - arrival processing by the new version of the primary object at the new host location;        determine whether the new version of the primary object at the new host location authorizes completion of the method for moving objects; and        abort the method for moving objects in response to a negative authorization from the new version of the primary object at the new host location.     
     
     
       99. One or more computer- readable storage media as recited in    claim 81   , further comprising computer - executable instructions configured to:      inform the new aggregate object at the new host location that the aggregate object at the current host location has been deregistered; and        perform post - arrival processing by the aggregate object at the current host location.     
     
     
       100. One or more computer- readable storage media as recited in    claim 81   , further comprising computer - executable instructions configured to:      inform the aggregate object at the current host location that creation of the new aggregate object at the new host location has completed; and        perform post - departure processing by the aggregate object at the current location.

Join the waitlist — get patent alerts

Track USRE41706E — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.