Method and system for implementing a databus in a global ecosystem of interrelated services
First Claim
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 network 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, wherein the identifying further comprises;
accessing a plurality of PK-partition maps held in a satellite cache, wherein said satellite cache is in the local network domain, andlooking up a 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, wherein the 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 and 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,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.
7 Assignments
0 Petitions
Accused Products
Abstract
In accordance with an exemplary embodiment of the present invention, a DataBus data management architecture is presented for the NewWave service platform. It presents an architecture for creating a consistent, enterprise-wide data persistence layer which allows clients to access shared enterprise data. The DataBus achieves this enterprise-wide look by decoupling shared enterprise data from specific applications (breaking down the stovepipes) and opening up the data layer to across-the-enterprise access (given proper authorization). The DataBus architecture is designed from the ground up for global scalability and accommodation of evolving business data models in a highly-distributed physical deployment. Scaling is realized predominantly through the partitioning, while individual partitions are mapped to logical data domains that are defined along more relevant dimensions than entity-type dimensions (e.g., geography, line of business, etc.) and cut across traditional entity boundaries. Central to the DataBus data model is the notion that a data layer represents a shared asset of the corporation that is decoupled from the separate production applications requiring access to this data. The DataBus data architecture combines several main features or facets, such as partitioning, multi-hop finder strategies, externalized associations, object layer mediating access to underlying data storage, support for logical domains and transaction management.
-
Citations
48 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 network 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, wherein the identifying 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 a 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, wherein the 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 and 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, 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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. 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 a 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. - View Dependent Claims (16, 17, 18)
-
-
19. 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, wherein the instructions for identifying a partition holding the data object comprises; instructions for accessing a plurality of PK-partition maps held in a satellite service cache in a local domain, instructions for looking up a 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, 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; and instructions for returning the requested data object to the client, 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. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30)
-
-
31. 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 the unique PK to the data object;determining a partition in which to create the data object; returning an instance of the data object to the client; creating a PK-partition map for mapping the unique PK associated with the data object to a partition identifier of the partition in which the data object was created; 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 located outside the local domain. - View Dependent Claims (32, 33, 34, 35, 36, 37)
-
-
38. 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 instructions for receiving a request from a client to create a data object, said satellite service instructions to be executed in a local domain; instructions for determining whether a unique primary key (PK) is available for the data object; instructions for assigning the unique PK to the data object; instructions for determining a partition in which to create the data object; instructions for returning an instance of the data object to the client; instructions for creating a PK-partition map for mapping the unique PK associated with the data object to a partition identifier of the partition in which the data object was created; instructions for storing a copy of the PK-partition map with a satellite; and instructions for storing a copy of the PK-partition map with an enterprise repository, wherein the enterprise repository is located outside the local domain. - View Dependent Claims (39, 40, 41, 42, 43, 44)
-
-
45. 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 first plurality of primary keys (PK)-partition maps for identifying a partition by a unique PK; a steward service for managing PKs; a plurality of enterprise network domains, wherein each network domain comprises a satellite service for maintaining a second plurality of PK-partition maps for identifying a partition by a unique PK; and a transaction manager service for managing transactions between a partition and a client, 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.
-
-
46. 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 first plurality of primary keys (PK)-partition maps for identifying a partition by a unique PK; a steward service for managing PKs; a plurality of enterprise network domains, wherein each network domain comprises a satellite service for maintaining a second plurality of PK-partition maps for identifying a partition by a unique PK; and a transaction manager service for managing transactions between a partition and a client, wherein each of the steward, satellite or transaction manager services is operable to run in a container service, the container service being configured to execute on a generic host server.
-
-
47. 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; 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 and wherein at least one network domain 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; and a transaction manager service for managing transactions between a partition and a client; and 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.
-
-
48. 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; 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; a transaction manager service for managing transactions between a partition and a client; and 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, wherein each of the steward, satellite or transaction manager services is operable to run in a container service, which in turn is configured to execute on a generic host server.
-
Specification