Client programming model with abstraction
First Claim
Patent Images
1. A system for providing data access to a client application, comprising:
- a client programming model in communication with the client application to receive a data request from the client application, wherein the data request includes a desired state of data;
a first database that stores data and is accessible by the client programming model;
a second database that stores a replica of the data and is accessible by the client programming model;
an administration console in communication with the client programming model to provide administrative functionality; and
a configuration database that comprises a topology of the first database and the second database, to provide the topology of the first database and the second database to the client programming model, wherein the topology comprises a mapping of logical partitions to physical partitions in the first database and the second database, the client programming model using the topology to satisfy the data request from the client application, wherein the client programming model is adapted to analyze the first database and the second database to determine which of the first database and the second database to access to satisfy the data request from the client application according to the desired state of data.
2 Assignments
0 Petitions
Accused Products
Abstract
A client programming model with abstraction hides from an underlying client application or application program interface (API) the details of where each element of data is located, and which copy of the data is resident on an available server and associated databases. The model wraps a database, such as a virtual database, and provides data-dependent and application-dependent routing, failover, and operational administration.
133 Citations
25 Claims
-
1. A system for providing data access to a client application, comprising:
-
a client programming model in communication with the client application to receive a data request from the client application, wherein the data request includes a desired state of data; a first database that stores data and is accessible by the client programming model; a second database that stores a replica of the data and is accessible by the client programming model; an administration console in communication with the client programming model to provide administrative functionality; and a configuration database that comprises a topology of the first database and the second database, to provide the topology of the first database and the second database to the client programming model, wherein the topology comprises a mapping of logical partitions to physical partitions in the first database and the second database, the client programming model using the topology to satisfy the data request from the client application, wherein the client programming model is adapted to analyze the first database and the second database to determine which of the first database and the second database to access to satisfy the data request from the client application according to the desired state of data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. In a computer system, a method of providing data access to a client application, comprising:
-
receiving a client application request at a client programming model, wherein the client application request comprises a desired state of data; retrieving, by the client programming model, configuration information of a first database and a second database from a configuration database, the first database comprising data and is accessible by the client programming model, and the second database comprising a replica of the data and is accessible by the client programming model; generating, by the client programming model, a mapping of the first database and the second database based on the configuration information, wherein generating the mapping comprises mapping logical partitions to physical partitions in the first database and the second database; and satisfying the client application request responsive to the mapping, wherein satisfying the client application request comprises analyzing the first database and the second database, and satisfying the client application request from one of the first database and the second database responsive to the analyzing, wherein analyzing the first database and the second database comprises determining the state of the data in the first database and the state of the replica of the data in the second database and comparing the state of the data and the state of the replica to the desired state. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. A computer readable medium having stored thereon computer executable instructions for performing a method of providing data access to a client application, the method comprising:
-
receiving a client application request at a client programming model, wherein the request includes a desired state of data; retrieving, by the client programming model, configuration information of a first database and a second database from a configuration database, the first database comprising data and is accessible by the client programming model, and the second database comprising a replica of the data and is accessible by the client programming model; generating, by the client programming model, a mapping of the first database and the second database based on the configuration information, wherein generating the mapping comprises mapping logical partitions to physical partitions in the first database and the second database; and satisfying the client application request responsive to the mapping, wherein satisfying the client application request responsive to the mapping comprises analyzing the mapping and satisfying the client application request from one of the first database and the second database responsive to the analyzing and according to the desired state of data. - View Dependent Claims (18, 19, 20, 21, 22, 23)
-
-
24. A method of communicating between a client application and a second application in a distributed processing system, comprising:
-
issuing, by the client application, a request for a second application, wherein the request includes a desired state of data; receiving, by a client programming model, the request for the second application; issuing, by the client programming model, a request for configuration information of a first database and a second database from a configuration database, wherein the configuration information comprises a mapping of logical partitions to physical partitions in the first database and the second database, receiving, by the client programming model, the configuration information; analyzing, by the client programming model, the configuration information; issuing, by the client programming model, a request for data from one of the first or second databases based on the analysis and according to the desired state of data; receiving, by the client programming model, requested data from one of the first or second databases; issuing, by the client programming model, the requested data to the client application; and receiving, by the client application, the requested data, the requested data related to the request for the second application.
-
-
25. A method of communicating between a client application and a second application in a distributed processing system, comprising:
-
issuing, by the client application, a request for a second application, wherein the request comprises a desired state of data; receiving, by a client programming model, the request for the second application; issuing, by the client programming model, a request for configuration information of a first database and a second database from a configuration database, wherein the configuration information comprises a mapping of logical partitions to physical partitions in the first database and the second database, receiving, by the client programming model, the configuration information; issuing, by the client programming model, an interface object to the client application responsive to the request for the second application; issuing, by the client application, a request to access data on the interface object, wherein the request to access data is related to the request from the second application; receiving, by the client programming model, the request to access data; analyzing, by the client programming model, the configuration information; issuing, by the client programming model, a request for data from one of the first database or the second database based on the analysis of the configuration information and according to the desired state of data; receiving, by the client programming model, requested data from one of the first database or second database; issuing, by the client programming model, the requested data to the client application; and receiving, by the client application, the requested data, the requested data related to the request for the second application.
-
Specification