Claims
- 1. In an object-oriented computer system including an object and at least one invoker, wherein said object is invocable by said at least one invoker, a method of managing said object at runtime, said method comprising:
(a) identifying a request to migrate said object between a split status and a merged status, said split status comprising said object having at least two instances, and said merged status comprising said object having a single instance; and (b) migrating, at run-time, said object between said split status and said merged status, wherein said object is invokable a same way by said at least one invoker, despite said object having one of a split status and a merged status.
- 2. The method of claim 1, wherein said object has an identifier assigned thereto for invoking said object, and wherein said method includes maintaining said identifier for invoking said object despite said object having one of said split status and said merged status.
- 3. The method of claim 2, wherein said object-oriented computer system includes a routing table, said migrating comprises migrating from said split status to said merged status, and said method includes assigning said single instance to said identifier within said routing table.
- 4. The method of claim 2, wherein said object-oriented computer system includes a routing table, said migrating comprises migrating from said merged status to said split status, and said method includes assigning said at least two instances to said identifier within said routing table.
- 5. The method of claim 1, wherein said object has a state comprising invocation persistent values, and wherein said method includes preserving said state of said object during said migrating.
- 6. The method of claim 5, wherein said migrating comprises migrating from said merged status to said split status, and said method includes copying said state of said single instance to said at least two instances.
- 7. The method of claim 5, wherein said migrating comprises migrating from said split status to said merged status, and said method includes consolidating said state of said at least two instances and copying said state to said single instance of said object.
- 8. The method of claim 1, wherein said method includes suspending access to said object prior to said migrating.
- 9. The method of claim 8, wherein said method includes permitting access to said object after said migrating.
- 10. The method of claim 1, wherein said migrating comprises migrating from said merged status to said split status, and wherein said migrating includes deleting said single instance of said object and instantiating said at least two instances thereof.
- 11. The method of claim 1, wherein said migrating comprises migrating from said split status to said merged status, and wherein said migrating includes deleting said at least two instances of said object and instantiating said single instance thereof.
- 12. The method of claim 1, wherein said object has a split status and a split instance in one of said at least two execution environments, and wherein said method further comprises splitting said split instance into at least two more instances thereof in said object-oriented computer system.
- 13. The method of claim 1, wherein said object-oriented computer system includes a plurality of execution environments, said migrating comprises migrating said object from said merged status to said split status, and said at least two instances are distributed among at least two execution environments of said plurality of execution environments.
- 14. The method of claim 13, wherein said at least two execution environments are heterogeneous.
- 15. The method of claim 1, wherein said object-oriented computer system includes a plurality of execution environments, said migrating comprises migrating said object from said split status to said merged status and instantiating said single instance in a selected execution environment of said plurality of execution environments.
- 16. In an object-oriented computer system including an object and at least one invoker, wherein said object is invocable by said at least one invoker, a method of managing said object at runtime, said method comprising:
(a) providing multiple instances of said object, each instance of said multiple instances of said object being a candidate for invocation upon an invocation of said object; (b) receiving said invocation of said object, said invocation identifying said object and being indescriptive of said multiple instances of said object; and (c) invoking an instance of said multiple instances of said object in response to said invocation of said object.
- 17. The method of claim 16, further comprising determining which instance of said multiple instances of said object to invoke during said invoking.
- 18. The method of claim 17, wherein said determining is performed using a predefined heuristic for said object.
- 19. The method of claim 18, wherein said heuristic includes selecting said instance of said object on a same execution environment as said invocation originated from.
- 20. The method of claim 18, wherein said object-oriented computer system includes a plurality of execution environments, and wherein said heuristic operates as a function of communications performance between an execution environment originating said invocation and said plurality of execution environments.
- 21. The method of claim 18, wherein said heuristic comprises a round-robin selection of said multiple instances.
- 22. The method of claim 16, wherein said invoking includes informing said instance about said multiple instances of said object in said object-oriented computing system.
- 23. In an object-oriented computer system including an object and at least one invoker, wherein said object is invocable by said at least one invoker, an apparatus used in managing said object at runtime, said apparatus comprising:
(a) means for identifying a request to migrate said object between a split status and a merged status, said split status comprising said object having at least two instances, and said merged status comprising said object having a single instance; and (b) means for migrating, at run-time, said object between said split status and said merged status, wherein said object is invocable a same way by said at least one invoker, despite said object having one of a split status and a merged status.
- 24. The apparatus of claim 23, wherein said object has an identifier assigned thereto for invoking said object, and wherein said apparatus includes means for maintaining said identifier for invoking said object, despite said object having one of said split status and said merged status.
- 25. The apparatus of claim 24, wherein said object-oriented computer system includes a routing table, said means for migrating comprises means for migrating from said split status to said merged status, and said apparatus includes means for assigning said single instance to said identifier within said routing table.
- 26. The apparatus of claim 24, wherein said object-oriented computer system includes a routing table, said means for migrating comprises means for migrating from said merged status to said split status, and said apparatus includes means for assigning said at least two instances to said identifier within said routing table.
- 27. The apparatus of claim 23, wherein said object has a state comprising invocation persistent values, and wherein said apparatus includes means for preserving said state of said object during said migrating.
- 28. The apparatus of claim 27, wherein said means for migrating comprises means for migrating from said merged status to said split status, and said apparatus includes means for copying said state of said single instance to said at least two instances.
- 29. The apparatus of claim 27, wherein said means for migrating comprises means for migrating from said split status to said merged status, and said apparatus includes means for consolidating said state of said at least two instances and means for copying said state to said single instance of said object.
- 30. The apparatus of claim 23, wherein said apparatus includes means for suspending access to said object prior to said migrating.
- 31. The apparatus of claim 30, further comprising means for permitting access to said object after said migrating.
- 32. The apparatus of claim 23, wherein said means for migrating comprises means for migrating from said merged status to said split status, and wherein said means for migrating includes means for deleting said single instance of said object and means for instantiating said at least two instances thereof.
- 33. The apparatus of claim 23, wherein said means for migrating comprises means for migrating from said split status to said merged status, and wherein said means for migrating includes means for deleting said at least two instances of said object and means for instantiating said single instance thereof.
- 34. The apparatus of claim 19, wherein said object has a split status and a split instance in one of said at least two execution environments, and wherein said apparatus further comprises means for splitting said split instance into at least two more instances thereof in said object-oriented computer system.
- 35. The apparatus of claim 19, wherein said object-oriented computer system includes a plurality of execution environments, said means for migrating comprises means for migrating said object from said merged status to said split status, and said at least two instances are distributed among at least two execution environments of said plurality of execution environments.
- 36. The apparatus of claim 35, wherein said at least two execution environments are heterogeneous.
- 37. The apparatus of claim 19, wherein said object-oriented computer system includes a plurality of execution environments, said means for migrating comprises means for migrating said object from said split status to said merge status and means for instantiating said single instance in a selected execution environment of said plurality of execution environments.
- 38. In an object-oriented computer system including an object and at least one invoker, wherein said object is invocable by said at least one invoker, an apparatus used in managing said object at run-time, said apparatus comprising:
(a) means for providing multiple instances of said object, each instance of said multiple instances of said object being a candidate for invocation upon an invocation of said object; (b) means for receiving said invocation of said object, said invocation identifying said object and being indescriptive of said multiple instances of said object; and (c) means for invoking an instance of said multiple instances of said object in response to said invocation of said object.
- 39. The apparatus of claim 38, further comprising means for determining which instance of said multiple instances of said object to invoke during said invoking.
- 40. The apparatus of claim 39, wherein said means for determining is performed using a predefined heuristic for said object.
- 41. The apparatus of claim 40, wherein said heuristic includes means for selecting said instance of said object on a same execution environment as said invocation originated from.
- 42. The apparatus of claim 40, wherein said object-oriented computer system includes a plurality of execution environments, and wherein said heuristic includes means for operating as a function of communications performance between an execution environment originating said invocation and said plurality of execution environments.
- 43. The apparatus of claim 40, wherein said heuristic comprises means for round-robin selection of said multiple instances.
- 44. The apparatus of claim 40, wherein said means for invoking includes means for informing said instance about said multiple instances of said object in said object-oriented computing system.
CROSS REFERENCE TO RELATED PATENT APPLICATIONS
[0001] The present Patent Application relates to the following commonly owned and concurrently or previously filed U.S. Patent Applications.
[0002] “METHOD AND SYSTEM FOR RUNTIME OBJECT INSTANCE MANAGEMENT,” docket number CR9-95-015, Ser. No. ______, filed herewith on ______, 19______, and
[0003] “METHOD AND SYSTEM OF DYNAMICALLY MOVING OBJECTS BETWEEN HETEROGENEOUS EXECUTION ENVIRONMENTS,” docket number CR9-95-010Ser. No. ______, filed herewith on ______, 19______.
[0004] The above referenced U.S. Patent Applications are hereby expressly incorporated by reference herein in their entireties.
Divisions (1)
|
Number |
Date |
Country |
Parent |
08579544 |
Dec 1995 |
US |
Child |
08882680 |
Jun 1997 |
US |
Continuations (1)
|
Number |
Date |
Country |
Parent |
08882680 |
Jun 1997 |
US |
Child |
10141899 |
May 2002 |
US |