Moving objects in a distributed computing environment
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-modified1. 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.