Claims
- 1. A data processing system implemented method for managing data as a shared asset among clients in an enterprise, said enterprise comprising a plurality of network domains and further comprises a plurality of partitions for holding data, the method comprising:
receiving a request in a local domain for a data object, wherein the request is from a client and identifies the data object by a unique primary key (PK); identifying a partition holding the data object based on the unique PK for the data object; and returning the requested data object to the client.
- 2. The method recited in claim 1, wherein identifying a partition holding the data object further comprises:
accessing a plurality of PK-partition maps held in a satellite cache, wherein said satellite cache is in the local network domain; and looking up the partition identifier for the partition holding the data object in the plurality of PK-partition maps from the satellite cache based on the unique PK for the data object.
- 3. The method recited in claim 2, wherein looking up the partition identifier in the satellite cache using the plurality of PK-partition maps returns a null set of partition identifiers identifying a partition holding the data object further comprises:
accessing a plurality of PK-partition maps held in an enterprise repository, wherein said enterprise repository is external to the local network domain; and looking up the partition identifier for the partition holding the data object in the plurality of PK-partition maps in the enterprise repository based on the unique PK for the data object.
- 4. The method recited in claim 3, wherein looking up the partition identifier in the enterprise repository using the plurality of PK-partition maps returns a null set of partition identifiers, identifying a partition holding the data object further comprises:
issuing a query from a steward to each partition for the identity of the partition holding the data object; and returning the identity of the partition holding the data object.
- 5. The method recited in claim 4, wherein the request data object is an entity type and the steward is an entity manager for said type of entity.
- 6. The method recited in claim 5, wherein prior to receiving a request in a local network domain for a data object the method further comprises:
finding a satellite in the local network domain, wherein the client looks up a satellite with a domain registrar in the local network domain.
- 7. The method recited in claim 6 further comprises:
receiving a satellite proxy object for the satellite, wherein the client interacts with the satellite through the satellite proxy object.
- 8. The method recited in claim 6 further comprises:
receiving a satellite proxy object for the satellite, wherein the satellite proxy object performs at least one of receiving a request, identifying a partition, and returning the requested data object local to the client.
- 9. The method recited in claim 1, wherein returning the requested data object to the client further comprises:
querying the partition holding the data object to find the data object based on the unique PK, wherein the partition returns a data object instance to the client.
- 10. The method recited in claim 1, wherein returning the requested data object to the client further comprises:
receiving a clone of the data object; and receiving an update to the data object.
- 11. The method recited in claim 1, wherein returning the requested data object to the client further comprises:
receiving a clone of the data object; and returning an update to the data object to the partition.
- 12. The method recited in claim 11 further comprises:
receiving a stale data exception in response to the update to the data object returned to the partition.
- 13. The method recited in claim 10, wherein the client is substantially Java compliant.
- 14. The method recited in claim 1, wherein returning the requested data object to the client further comprises:
querying, by a satellite in the local domain, the partition holding the data object to find the data object based on the unique PK; receiving a clone of the data object at the satellite; and granting accesses to the client of the clone of the data object at the satellite, wherein the client is not Java compliant.
- 15. The method recited in claim 1, wherein each of the plurality of partitions are object containers for running services and at least one of the plurality of partitions is hosted by a unique host server.
- 16. The method recited in claim 1, wherein at least some of the plurality of partitions hold a plurality of data objects, each of said plurality of data objects being of a common entity type.
- 17. The method recited in claim 1, wherein each of the plurality of partitions holds data objects of a common entity type.
- 18. A system for managing data as a shared asset among clients in an enterprise comprising:
a plurality of servers, said plurality of servers comprising a plurality of groups of servers, each group of servers in said plurality of servers being located at a common physical location; a plurality of resources, each of said plurality of resources being associated with a server in a group of servers located at physical location, at least a portion of said plurality of resources allocated for storing data; and a plurality of services, each service in said of said plurality of services running on a server of the plurality of servers, said plurality of services comprises:
a plurality of container services:
an enterprise repository service for maintaining a plurality of primary keys (PK)-partition maps for identifying a partition by a unique PK; a steward service for managing PKs; and a satellite service for maintaining a plurality of PK-partition maps for identifying a partition by a unique PK.
- 19. A system of claim 18 further comprises:
a plurality of partitions, wherein each partition of said plurality of partitions being defined by one of a container service, a resource allocated for storing data and data of a common entity type.
- 20. A system of claim 18 further comprises:
a plurality of databases, each database of said plurality of databases storing data of a common entity type, wherein said plurality of databases being allocated from at least one of said plurality of resources allocated for storing data; and a plurality of partitions, each of said plurality of partitions being associated with a database storing data of a common entity type.
- 21. A system of claim 19, wherein said each of said plurality of partitions being further associated with a container service running on a server of the plurality of servers.
- 22. A data processing system implemented program product embodied on a data processing system readable medium for implementing a method for managing data as a shared asset among clients in an enterprise, said enterprise comprising a plurality of network domains and further comprising a plurality of partitions for holding data, the product comprising:
satellite service instructions for receiving a request from a client for a data object by a unique primary key (PK); instructions for identifying a partition holding the data object based on the unique PK for the data object; and instructions for returning the requested data object to the client.
- 23. The program product recited in claim 22, wherein the instructions for identifying a partition holding the data object further comprises:
instructions for accessing a plurality of PK-partition maps held in a satellite service cache, wherein said satellite service cache is in the local domain; and instructions for looking up the partition identifier for the partition holding the data object in the plurality of PK-partition maps from the satellite service cache based on the unique PK for the data object.
- 24. The program product recited in claim 23, the instructions identifying a partition holding the data object further comprises:
instructions for determining whether a null set of partition identifiers is returned in response to executing the instructions for looking up the partition identifier in the satellite service cache using the plurality of PK-partition maps; instructions for accessing a plurality of PK-partition maps held in an enterprise repository, wherein said enterprise repository is external to the local domain; and instructions for looking up the partition identifier for the partition holding the data object in the plurality of PK-partition maps in the enterprise repository based on the unique PK for the data object.
- 25. The program product recited in claim 24, wherein the instructions identifying a partition holding the data object further comprises:
instructions for determining whether a null set of partition identifiers is returned in response to executing the instructions for looking up the partition identifier in the enterprise repository using the plurality of PK-partition maps; instructions for issuing a query from a steward service to each partition for the identity of the partition holding the data object; and instructions for returning the identity of the partition holding the data object.
- 26. The program product recited in claim 25, wherein the requested data object is an entity type and the steward service is an entity manager for said type of entity.
- 27. The program product recited in claim 22 further comprises:
client instructions for finding a satellite service in the local domain, said instructions, when executed, causes the client to look up a satellite service with a domain registrar in the local domain.
- 28. The program product recited in claim 27 further comprises:
client instructions for receiving a satellite proxy object for the satellite service, wherein the client interacts with satellite service through the satellite proxy object.
- 29. The program product recited in claim 27 further comprises:
client instructions for receiving a satellite proxy object for the satellite service, wherein the satellite proxy object performs at least one of receiving a request, identifying a partition, and returning the requested data object, local to the client.
- 30. The program product recited in claim 22, wherein the instructions for returning the requested data object to the client further comprises:
instructions for querying the partition holding the data object to find the data object based on the unique PK, wherein the partition returns a data object instance to the client.
- 31. The program product recited in claim 22, wherein the instructions for returning the requested data object to the client further comprises:
instructions for receiving a clone of the data object; and instructions for receiving an update to the data object.
- 32. The program product recited in claim 22, wherein the instructions for returning the requested data object to the client further comprises:
instructions for receiving a clone of the data object; and instructions for returning an update to the data object to the partition.
- 33. The program product recited in claim 32 further comprises:
instructions for receiving a stale data exception in response to the update to the data object returned to the partition.
- 34. The program product recited in claim 31, wherein the client is substantially Java compliant.
- 35. The program product recited in claim 22, wherein the instructions for returning the requested data object to the client further comprises:
instructions for querying, by a satellite service in the local domain, the partition holding the data object to find the data object based on the unique PK; instructions for receiving a clone of the data object at the satellite service; and instructions for granting access to the client of the clone of the data object at the satellite service, wherein the client is not Java compliant.
- 36. The program product recited in claim 22, wherein each of the plurality of partitions are object containers for executing instructions for running services and at least one of the plurality of partitions is hosted by a unique host server.
- 37. A data processing system implemented method for managing data as a shared asset among clients in an enterprise, said enterprise comprising a plurality of logical network domains and further comprising a plurality of partitions for holding data, the method comprising:
receiving a request in a local domain to create a data object, wherein the request is received by a satellite and sent from a client; determining whether a unique primary key (PK) is available for the data object; assigning a unique PK to the data object; determining the partition in which to create the data object; and returning an instance of the data object to the client.
- 38. The method recited in claim 37, wherein determining whether a unique PK is available for the data object further comprises:
checking a cache associated with the satellite for an available PK.
- 39. The method recited in claim 38 further comprises:
requesting a plurality of PKs from a steward in response to a PK not being available in the satellite cache.
- 40. The method recited in claim 38, wherein the data object is an entity type and the steward is an entity manager for said type of entity.
- 41. The method recited in claim 37, wherein prior to receiving a request in a local domain to create data object the method further comprises:
finding a satellite in the local domain, wherein the client looks up a satellite with a domain registrar in the local domain.
- 42. The method recited in claim 41 further comprises:
receiving a satellite proxy object for the satellite, wherein the client interacts with a satellite through the satellite proxy object.
- 43. The method recited in claim 41 further comprises:
receiving a satellite proxy object for the satellite, wherein at least one of receiving a request, determining whether a unique PK is available, assigning a unique PK to the data object, determining the partition in which to create the data object, and returning an instance of the data object, is performed local to the client through the satellite proxy object.
- 44. The method recited in claim 37 further comprises:
creating a PK-partition map for mapping the unique PK associated with the data object to the partition identifier of the partition in which the data object was created.
- 45. The method recited in claim 44 further comprises:
storing a copy of the PK-partition map with the satellite; and storing a copy of the PK-partition map with an enterprise repository, wherein the enterprise repository is outside the local domain.
- 46. The method recited in claim 44 further comprises:
storing a copy of the PK-partition map with the satellite; and storing a copy of the PK-partition map with a steward, wherein the steward is outside the local domain.
- 47. The method recited in claim 44, wherein the request to create the data object identifies the data object as a locally viewable data object, the method further comprises:
storing a copy of the PK-partition map with the satellite.
- 48. A data processing system implemented program product embodied on a data processing system readable medium for implementing a method for managing data as a shared asset among clients in an enterprise, said enterprise comprising a plurality of network domains and further comprising a plurality of partitions for holding data, the program product comprising:
satellite service instruction for receiving a request from a client to create a data object, said satellite service instruction executing in a local domain; instruction for determining whether a unique primary key (PK) is available for the data object; instruction for assigning a unique PK to the data object; instruction for determining the partition in which to create the data object; and instruction for returning an instance of the data object to the client.
- 49. The program product recited in claim 48, wherein the instruction for determining whether a unique primary key (PK) is available for the data object further comprises:
instruction for checking a cache associated with the satellite for an available PK.
- 50. The program product recited in claim 49 further comprises:
instruction for requesting a plurality of PKs from a steward in response to a PK not being available in the satellite service cache.
- 51. The program product recited in claim 50, wherein the data object is an entity type and the steward service is an entity manager for said type of entity.
- 52. The program product recited in claim 48 further comprises:
client instruction for finding a satellite in the local domain, when executed the client looks up a satellite with a domain registrar service executing in the local domain.
- 53. The program product recited in claim 52 further comprises:
instruction for receiving a satellite proxy object for the satellite, wherein the client interacts with the satellite through the satellite proxy object.
- 54. The program product recited in claim 52 further comprises:
instruction for receiving a satellite proxy object for the satellite, wherein at least one of instruction for receiving a request, determining whether a unique PK is available, instruction for assigning a unique PK to the data object, instruction for determining the partition in which to create the data object, and instruction for returning an instance of the data object, is executed local to the client through the satellite proxy object.
- 55. The program product recited in claim 48 further comprises:
instruction for creating a PK-partition map for mapping the unique PK associated with the data object to the partition identifier of the partition in which the data object was created.
- 56. The program product recited in claim 55 further comprises:
instruction for storing a copy of the PK-partition map with the satellite; and instruction for storing a copy of the PK-partition map with an enterprise repository, wherein the enterprise repository is outside the local domain.
- 57. The program product recited in claim 55 further comprises:
instruction for storing a copy of the PK-partition map with the satellite; and instruction for storing a copy of the PK-partition map with a steward, wherein the steward is external to the local domain.
- 58. The program product recited in claim 55, wherein the request to create the data object identifies the data object as a locally viewable data object, the program product further comprises:
instruction for storing a copy of the PK-partition map with the satellite.
- 59. A system for managing data as a shared asset among clients in an enterprise comprising:
a plurality of enterprise data resources, at least some of said plurality of enterprise data resources being partitioned into identifiable partitions; an enterprise repository for maintaining a plurality of primary keys (PK)-partition maps for identifying a partition by a unique PK; a steward service for managing PKs; and a plurality of enterprise network domains, wherein each network domain comprises a satellite service for maintaining a plurality of PK-partition maps for identifying a partition by a unique PK.
- 60. A system recited in claim 59 further comprises:
a domain registrar service in each of the plurality of enterprise network domains for maintaining a list of services running to the respective enterprise network domain.
- 61. A system recited in claim 59, wherein said steward service issues queries to the identifiable partitions for a data item by its unique PK.
- 62. A system recited in claim 59, wherein at least one network domain further comprises:
a first steward service for managing primary keys (PKs) associated with a first entity type and a second steward service for managing primary keys (PKs) associated with a second entity type.
- 63. A system recited in claim 59 further comprises:
a transaction manager service for managing transactions between a partition and a client.
- 64. A system recited in claim 59, wherein each of the plurality of enterprise data resources is hosted by a specialized server host.
- 65. A system recited in claim 59, wherein each service is running in a container service, which is in turn executing on a generic host server.
- 66. A data processing system implemented method for managing data as a shared asset among clients in an enterprise, said enterprise comprising a plurality of network domains and further comprising a plurality of partitions for holding data, the method comprising:
identifying enterprise data as being one of a plurality of entity types, wherein an entity type is a category of data; partitioning each of the plurality of entity types into a plurality of partitions of entity-type data, wherein each of the plurality of partitions contains one entity type; storing each of the partitions of entity-type data in a database, said database resident on a storage associated with a specialized host server and being partitioned correspondingly to the partitions of entity-type data; and defining a logical domain of partitions within the partitions of entity-type data, wherein the logical domain of partitions comprises a plurality of entity-type data and a plurality of partitions of entity-type data.
- 67. The method recited in claim 66, wherein identifying enterprise data being one of a plurality of entity types, wherein an entity type is a category of data further comprises:
identifying customer data; and identifying account data.
- 68. The method recited in claim 66, wherein defining a logical domain of partition within the partitions of entity-type data further comprises:
identifying data within a geographic logical domain.
- 69. The method recited in claim 66, wherein defining a logical domain of partition within the partitions of entity-type data further comprises:
identifying data within an enterprise line-of-business.
- 70. The method recited in claim 66, wherein the logical domain defines enterprise data in a plurality of entity types in a plurality of partitions.
- 71. A data processing system implemented program product embodied on a processing system readable medium for implementing a method for managing data as a shared asset among clients in an enterprise, said enterprise comprising a plurality of network domains and further comprising a plurality of partitions for holding data, the program product comprising:
instructions for identifying enterprise data as being one of a plurality of entity types, wherein an entity type is a category of data; instructions for partitioning each of the plurality of entity types into a plurality of partitions of entity-type data; instructions for storing each of the partitions of entity-type data in a database, said database resident on a storage associated with a specialized host server and being partitioned correspondingly to the partitions of entity-type data; and instructions for identifying a logical domain of partitions within the partitions of entity-type data, wherein the logical domain of partitions comprises a plurality of entity-type data and a plurality of partitions of entity-type data.
- 72. The program product recited in claim 71, wherein instructions for identifying enterprise data as being one of a plurality of entity types, wherein an entity type is a category of data further comprises:
instructions for identifying customer data; and instructions for identifying account data.
- 73. The program product recited in claim 71, wherein the instructions for identifying a logical domain of partitions within the partitions of entity-type data further comprises:
instructions for identifying data within a geographic logical domain.
- 74. The program product recited in claim 71, wherein the instructions for identifying a logical domain of partitions within the partitions of entity-type data further comprises:
instructions for identifying data within an enterprise line-of-business.
CROSS REFERENCES TO RELATED APPLICATIONS
[0001] The present application is a divisional application of, and claims priority from, co-pending U.S. patent application Ser. No. 09/863,456 entitled “METHOD AND SYSTEM FOR MANAGING PARTITIONED DATA RESOURCES,” filed on May 22, 2001, currently pending which claims priority from provisional U.S. patent application Ser. No. 60/206,564 filed on May 22, 2000 and is a divisional application related to the following non-provisional U.S. patent applications: “METHOD AND SYSTEM FOR IMPLEMENTING A GLOBAL ECOSYSTEM OF INTERRELATED SERVICES,” Attorney Docket No. RIC-01-005 filed on Mar. 29, 2002; “METHOD AND SYSTEM FOR IMPLEMENTING A MANAGEMENT OPERATIONS CENTER IN A GLOBAL ECOSYSTEM OF INTERRELATED SERVICES,” Attorney Docket No. RIC-01-006 filed on Mar. 29, 2002; “METHOD AND SYSTEM FOR REALIZING AN AGGREGATOR IN A MANAGEMENT OPERATIONS CENTER IMPLEMENTED IN A GLOBAL ECOSYSTEM OF INTERRELATED SERVICES,” Attorney Docket No. RIC-01-007 filed on Mar. 29, 2002; “METHOD AND SYSTEM FOR REALIZING AN AVATAR IN A MANAGEMENT OPERATIONS CENTER IMPLEMENTED IN A GLOBAL ECOSYSTEM OF INTERRELATED SERVICES,” Attorney Docket No. RIC-01-008 filed on Mar. 29, 2002; “METHOD AND SYSTEM FOR REALIZING A RENDEZVOUS SERVICE IN A MANAGEMENT OPERATIONS CENTER IMPLEMENTED IN A GLOBAL ECOSYSTEM OF INTERRELATED SERVICES,” Attorney Docket No. RIC-01-009 filed on Mar. 29, 2002; “METHOD AND SYSTEM FOR IMPLEMENTING IMPROVED CONTAINERS IN A GLOBAL ECOSYSTEM OF INTERRELATED SERVICES,” Attorney Docket No. RIC-01-010 filed on Mar. 29, 2002; “METHOD AND SYSTEM FOR IMPLEMENTING A GLOBAL LOOKUP IN A GLOBAL ECOSYSTEM OF INTERRELATED SERVICES,” Attorney Docket No. RIC-01-011 filed on Mar. 29, 2002; “METHOD AND SYSTEM FOR USING MOBILE CODE IN A GLOBAL ECOSYSTEM OF INTERRELATED SERVICES, ” Attorney Docket No. RIC-01-012 filed on Mar. 29, 2002; and “METHOD AND SYSTEM FOR IMPLEMENTING A GLOBAL INFORMATION BUS IN A GLOBAL ECOSYSTEM OF INTERRELATED SERVICES,” Attorney Docket No. RIC-01-014 filed on Mar. 29, 2002; all of which are assigned to the assignee of the present invention. The above-identified applications are incorporated by reference in their entirety.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60206564 |
May 2000 |
US |
Divisions (1)
|
Number |
Date |
Country |
Parent |
09863456 |
May 2001 |
US |
Child |
10110000 |
Mar 2002 |
US |