摘要:
Write operations for weakly consistent replicated database systems have application-specific embedded dependency queries and related descriptions of the results that are expected to be returned when the respective dependency queries are run against the database. The dependency queries are arbitrary queries that are provided by the application to satisfy the requirements of the application. Write operations that conflict with the current state of any given instance of such a database are detected by comparing (a) the results that are returned when the dependency queries for those writes are run against the given instance of the database with (b) the results that are expected to be returned.
摘要:
Write operations for weakly consistent replicated database systems have embedded conflict detection and conflict resolution procedures for identifying and resolving, respectively conflicts between such write operations and the current state of any given instance of such a database. These write operations are committed to a firm execution order by the host for one instance of such a database, and this execution order propagates to the other instances of the database. Accordingly, a write log distinguishes between the writes that are known to be committed to a firm execution order (the "tentative writes") is maintained for each instance of the database, thereby enabling the user to explicitly identifying the stable data and the potentially unstable data in any given instance of the database. Furthermore, provision is made for enabling users to select from a set of predefined consistency guarantees across all instances of such a database for any given session.
摘要:
The present invention provides client-selected consistency guarantees to clients of a weakly consistent replicated database on a per "session" basis. The clients have access to utilities which allow the clients to, individually or collectively, define a "session" over which the selected guarantees are enforced. A "session" is broadly defined as a sequence of logically related Reads and Writes to the database. Sessions are initiated and terminated substantially independently of other sessions which may exist concurrently. Clients are allowed, however, to clone sessions and/or merge sessions with other clients. Clients select a minimum relevant subset of guarantees from among a set of pre-defined consistency guarantees, where "relevancy" is a client determined factor. At any given time, the system may be enforcing a number of different combinations of consistency guarantees. The guarantees ensure that all clients participating in a particular session view the database as having certain conditions of data consistency--the consistency of which is only provided with respect to the participants' Read and Write requests. Clients are allowed to downgrade their selected guarantees during the course of their sessions. One implementation of the present invention permits the selection of any one of four consistency guarantees.
摘要:
A write log that distinguishes between write operations that are known to be in a stable write order ("committed writes") and write operations that still are in a potentially unstable write order ("tentative writes") are maintained for each instance of a weakly consistent replicated database so that the stable and the potentially unstable data in any given instance of such a database can be explicitly identified.
摘要:
Write operations for weakly consistent replicated database systems have embedded application-specific merge procedures that are invoked for resolving conflicts whenever it is found that the related write operation conflicts with the current state of a given instance of such a database. The effect of executing such a merge procedure is deterministic for any state of the given instance of the database happens to be in when the merge procedure is executed.
摘要:
A method of redeeming for a seller electronic payments generated by and received from a customer using a master key unknown to the seller. In anticipation of making electronic payments, a customer sends a bank the master key that he will use to generate electronic payments. The bank stores the master key. Later, the bank receives from the seller a redemption request including a seller identifier, a first value of a payment index, and an electronic payment associated with the first value of the payment index. The bank authenticates the electronic payment by comparing the electronic payment to a hash of a string including the master key, the seller identifier, and the first value of the payment index. If the electronic payment is authenticated, the bank determines an amount due to the seller and credits that amount to the seller.
摘要:
A method of space efficient electronic payments. A customer initiates an electronic transaction by transmitting a request for payment information to a seller. In response, the customer receives from the seller the payment information needed to generate an electronic payment. The customer determines the reliability of the payment information by authenticating it. If the payment information is authenticated, then the customer generates an electronic payment using the payment information and a master key unknown to the seller. Finally, the customer transmits the electronic payment to the seller along with a request for desired goods and/or services.
摘要:
A system and method for enabling distributed transaction processing by moving all application logic away from the server and into the client by using an optimistic concurrency control framework with client-side transaction validation including virtual full replication under a transactional programming model with full Atomicity, Consistency, Isolation, and Durability (ACID) properties.
摘要:
Schema evolution involves defining flavored object groups. Specifically, related collections of replicated tables and other database objects, which are defined as belonging to an object group, are given different “flavors.” A flavor describes different subsets of the objects and even different subsets of the columns in the master tables. In one embodiment, when one site in a distributed database system propagates changes to a replicated database object, the current flavor for the site is also transmitted, so that the destination site can make the necessary adjustments in the uploaded changes by dropping the values for obsolete columns and using default values for new columns.
摘要:
A method for applying changes to a standby system is described in which multiple apply tasks or “slaves” are scheduled to changes from redo logs, especially those changes in large transactions, in parallel and as soon as they are encountered in the logs. To foster data convergence, a partial ordering may be imposed on the transactions so that those transactions that actually depend on others are forced to wait on the transactions they are dependent upon commit. To foster read consistency, synchronization points may be periodically established, at which points a read consistent state of the standby database system can be obtained-all without adversely impact the throughput of the system.