Patent application number | Description | Published |
20120179645 | TRANSACTION SUPPORT FOR DISTRIBUTED DATA - A distributed system with transaction support may have a transaction component and one or more data components. The transaction component may manage a transaction using a log sequence number for each operation, and then transmit operations to one or more data components with log sequence numbers. The data components may perform the data operations in an idempotent manner and return a reply. The transaction component may then write the operation, its log sequence number, and information from the reply message to its log. The transaction component is able to commit a transaction, as well as retry or undo portions of a transaction, by using the information stored on its log. This may be possible even when a single transaction uses multiple data components, which may be located on different devices or manage separate and independent data sources. | 07-12-2012 |
20130346725 | STRUCTURING STORAGE BASED ON LATCH-FREE B-TREES - A request to modify an object in storage that is associated with one or more computing devices may be obtained, the storage organized based on a latch-free B-tree structure. A storage address of the object may be determined, based on accessing a mapping table that includes map indicators mapping logical object identifiers to physical storage addresses. A prepending of a first delta record to a prior object state of the object may be initiated, the first delta record indicating an object modification associated with the obtained request. Installation of a first state change associated with the object modification may be initiated via a first atomic operation on a mapping table entry that indicates the prior object state of the object. For example, the latch-free B-tree structure may include a B-tree like index structure over records as the objects, and logical page identifiers as the logical object identifiers. | 12-26-2013 |
Patent application number | Description | Published |
20080228795 | TRANSACTION TIME INDEXING WITH VERSION COMPRESSION - A system and method that facilitates and effectuates transaction time indexing with version compression. The system includes an indexing component that partitions a database page containing multiple temporally related versions of a record into a historical page and a current page based at least in part on a time or a key. The system includes a compression component that constructs backward deltas for compressing earlier (historical) versions of records that are stored on the page. Because there is always an uncompressed version for each record on each page, decompression can be done based solely on information stored on the record's page. | 09-18-2008 |
20080307012 | TSB-TREE PAGE SPLIT STRATEGY - A system and method that is designed to effectuate and facilitate time and key splitting of versioned database pages in a temporal database. The system includes a component that examines the page when it is full. The component can thereafter selectively undertake a time split or key split of the versioned database page, wherein the key split can be delayed until a single version current utilization of the versioned database page and a single version utilization of a oldest version on the versioned database page exceeds a threshold utilization at which point an exclusive key split can be performed. | 12-11-2008 |
20090182783 | LAZIER TIMESTAMPING IN A TRANSACTION TIME DATABASE - Systems and methods for facilitating more efficient timestamping in a lazy timestamping transaction time database environment are described herein. A recovery log component can store timestamp information of a transaction in a commit record of the transaction, wherein the commit record of the transaction is included in a recovery log. A volatile reference count component can update reference count data of the transaction in a volatile timestamp table to reflect a number of records of the transaction that do not persistently include timestamp information. Further, a checkpoint component can update timestamp information for a batch of transactions, wherein the timestamp information is updated in a record of the persistent timestamp table to ensure that the timestamp information persists in the record of the persistent timestamp table before the commit record of the transaction that contains the transaction's timestamp information is deleted from the recovery log. | 07-16-2009 |
20100250750 | CONSISTENT CLUSTER OPERATIONAL DATA IN A SERVER CLUSTER USING A QUORUM OF REPLICAS - A method and system for increasing server cluster availability by requiring at a minimum only one node and a quorum replica set of replica members to form and operate a cluster. Replica members maintain cluster operational data. A cluster operates when one node possesses a majority of replica members, which ensures that any new or surviving cluster includes consistent cluster operational data via at least one replica member from the immediately prior cluster. Arbitration provides exclusive ownership by one node of the replica members, including at cluster formation, and when the owning node fails. Arbitration uses a fast mutual exclusion algorithm and a reservation mechanism to challenge for and defend the exclusive reservation of each member. A quorum replica set algorithm brings members online and offline with data consistency, including updating unreconciled replica members, and ensures consistent read and update operations. | 09-30-2010 |
20110238813 | CONSISTENT CLUSTER OPERATIONAL DATA IN A SERVER CLUSTER USING A QUORUM OF REPLICAS - A method and system for increasing server cluster availability by requiring at a minimum only one node and a quorum replica set of replica members to form and operate a cluster. Replica members maintain cluster operational data. A cluster operates when one node possesses a majority of replica members, which ensures that any new or surviving cluster includes consistent cluster operational data via at least one replica member from the immediately prior cluster. Arbitration provides exclusive ownership by one node of the replica members, including at cluster formation, and when the owning node fails. Arbitration uses a fast mutual exclusion algorithm and a reservation mechanism to challenge for and defend the exclusive reservation of each member. A quorum replica set algorithm brings members online and offline with data consistency, including updating unreconciled replica members, and ensures consistent read and update operations. | 09-29-2011 |
20110238842 | CONSISTENT CLUSTER OPERATIONAL DATA IN A SERVER CLUSTER USING A QUORUM OF REPLICAS - A method and system for increasing server cluster availability by requiring at a minimum only one node and a quorum replica set of replica members to form and operate a cluster. Replica members maintain cluster operational data. A cluster operates when one node possesses a majority of replica members, which ensures that any new or surviving cluster includes consistent cluster operational data via at least one replica member from the immediately prior cluster. Arbitration provides exclusive ownership by one node of the replica members, including at cluster formation, and when the owning node fails. Arbitration uses a fast mutual exclusion algorithm and a reservation mechanism to challenge for and defend the exclusive reservation of each member. A quorum replica set algorithm brings members online and offline with data consistency, including updating unreconciled replica members, and ensures consistent read and update operations. | 09-29-2011 |
20110302143 | MULTI-VERSION CONCURRENCY WITH ORDERED TIMESTAMPS - Multiple versions of a set of data objects can be maintained to allow concurrent conflicting access to the objects. Additionally, a range of acceptable timestamps for each transaction in a set of database transactions can be tracked. Conflicting access requests for an object in the set of objects can be detected, and the requests can be made by two or more conflicting transactions in the set of transactions. A range of acceptable timestamps for at least one of the conflicting transactions can be adjusted, such that an order of transaction timestamps can be maintained in accordance with a specified transaction isolation level. Such timestamp range adjustment can frequently permit conflicting read and write accesses to proceed concurrently. When concurrent access cannot be allowed while maintaining such an order of transaction timestamps, in many cases one of the conflicting accesses can be blocked instead of aborting one of the transactions. | 12-08-2011 |
20130311525 | IDEMPOTENT COMMAND EXECUTION - Systems and methods are described that facilitate idempotent execution of commands generated by a client for execution by a database server. Each command transmitted to the server includes a command ID generated by the client. The server attempts to execute each command and subsequently stores the command ID associated therewith in a repository along with an indication of whether the command executed successfully. When a new command is received by the server, it determines if the command ID associated therewith has already been stored in the repository. If the command ID associated with the new command has not already been stored in the repository, then the server executes the new command. If the command ID associated with the new command has already been stored in the repository and a previously-received command associated with the command ID has been executed successfully, then the server will not execute the new command. | 11-21-2013 |
20130339533 | VIRTUAL SESSION MANAGEMENT AND REESTABLISHMENT - Systems and methods are described that establish and maintain a virtual session between a client and one or more database servers. A database server establishes a first session with a client wherein establishing the virtual session with the client comprises associating a virtual session identifier (ID) with the first session, generates state information in association with the first session, and stores the state information in a repository in association with the virtual session ID. After the first session fails, a same or different database server establishes a second session with the client wherein establishing the second session with the client comprises receiving the virtual session ID from the client, accesses the state information that was stored in the repository in association with the virtual session ID, and associates the state information with the second session. | 12-19-2013 |
20140108868 | SMART ERROR RECOVERY FOR DATABASE APPLICATIONS - A database server includes logic that is operable to monitor and analyze at least events occurring within an environment of the database server and/or execution errors generated by the database server in order to detect whether a problem condition exists. The database server further includes logic that is operable to send one or more commands to a database driver of a client that is communicatively connected to the database server, the one or more commands specifying one or more actions to be taken by the database driver in response to the existence of the problem condition. The database driver includes logic that is operable to receive the one or more commands from the database server and logic that is operable to cause the one or more commands to be executed. | 04-17-2014 |
20140379991 | LATCH-FREE, LOG-STRUCTURED STORAGE FOR MULTIPLE ACCESS METHODS - A data manager may include a data opaque interface configured to provide, to an arbitrarily selected page-oriented access method, interface access to page data storage that includes latch-free access to the page data storage. In another aspect, a swap operation may be initiated, of a portion of a first page in cache layer storage to a location in secondary storage, based on initiating a prepending of a partial swap delta record to a page state associated with the first page, the partial swap delta record including a main memory address indicating a storage location of a flush delta record that indicates a location in secondary storage of a missing part of the first page. In another aspect, a page manager may initiate a flush operation of a first page in cache layer storage to a location in secondary storage, based on atomic operations with flush delta records. | 12-25-2014 |