Storage of log-structured data
US-2017357667-A1 · Dec 14, 2017 · US
US11044336B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11044336-B2 |
| Application number | US-201815882863-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jan 29, 2018 |
| Priority date | Jan 29, 2018 |
| Publication date | Jun 22, 2021 |
| Grant date | Jun 22, 2021 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A software application executing on a selected application server in a cluster of application servers stores in a buffer in a memory of the selected application server a payload of data and a corresponding key. The application transfers a copy of the payload of data and the corresponding key to a selected second application server in the cluster, and creates a record in an entry in a transaction log stored in a database to which the cluster of applications servers has access, the record including: the corresponding key, a first value identifying the selected second application server to which the copy of the payload of data and corresponding key were transferred, and a second value identifying the selected first application server in which the payload of data and corresponding key were stored.
Opening claim text (preview).
What is claimed is: 1. A method performed by a cluster of application servers, each having at least a processor and a memory therein, and access to a persistent data store, the method comprising: a software application executing on a selected first application server in the cluster performing the steps of: storing in a buffer in the memory of the selected first application server a payload of data associated with a transaction performed by the software application with the persistent data store and a corresponding key that indicates a logical point in time at which the associated transaction was committed to the persistent data store, wherein the key sequences the associated transaction based on the order in which it was performed with the persistent data store when a plurality of transactions are sent to an external system; transferring a copy of the payload of data and the corresponding key to a selected second application server in the cluster; and creating a record in an entry in a transaction log stored in a database system to which the cluster of applications servers has access, the record including: the corresponding key, a first value identifying the selected second application server to which the copy of the payload of data and corresponding key were transferred, and a second value identifying the selected first application server in which the payload of data and corresponding key were stored, wherein the database system uses the key to restrict recovery operations from altering changes made to the database system. 2. The method of claim 1 , wherein further comprising: receiving a first user input at a load balancer for the cluster; selecting, by the load balancer, an application server in the cluster to which to transmit the first user input as the selected first application server; transmitting the first user input to the selected first application server; and performing, by the software application executing on the selected first application server, a transaction with the persistent data store, responsive to the first user input. 3. The method of claim 1 , further comprising a software application executing on the selected second application server performing the steps of storing in a buffer in the memory of the selected second application server the copy of the payload of data and the corresponding key. 4. The method of claim 3 , further comprising: the software application executing on the selected second application server performing the steps of: searching first for the copy of the payload of data in the memory buffer in the selected second application server, using the corresponding key as an index to locate the copy; and reading the copy of the payload of data from the memory buffer in the selected second application server, and transmitting the copy of the payload of data to a software application executing outside the cluster of application servers, when the first searching finds the copy. 5. The method of claim 4 , further comprising: the software application executing on the selected second application server performing the steps of: searching second the transaction log for the record, using the corresponding key as an index to locate the record, when the first searching fails to find the copy; and searching third the record for a value identifying an application server other than the selected second application server, finding the second value identifying the selected first application server, and sending a request to the selected first application server to transfer the payload of data to the software application executing on the selected second application server, when the second searching finds the record. 6. The method of claim 5 , further comprising: the software application executing on the first application server performing the steps of: searching fourth for the payload of data in the memory buffer in the selected first application server, when the third searching finds the second value identifying the selected first application server; and reading the payload of data from the memory buffer in the selected first application server and transferring the payload of data to the software application executing on the selected second application server, when the fourth searching finds the payload. 7. The method of claim 6 , further comprising the software application executing on the selected second application server transmitting the payload of data to the software application executing outside the cluster of application servers. 8. The method of claim 5 , further comprising: the software application executing on the selected first application server in the cluster further performing the steps of: transferring a second copy of the payload of data and the corresponding key to a selected third application server in the cluster; adding to the record in the transaction log a third value identifying the selected third application server to which the second copy of the payload of data and corresponding key were transferred; and the software application executing on the selected second application server performing the steps of: searching fourth the record for a value identifying an application server other than the selected second application server, finding the third value identifying the selected third application server, and sending a request to the selected third application server to transfer the second copy of the payload of data to the software application executing on the selected second application server, when the request to the selected first application server to transfer the payload of data to the software application executing on the selected second application server fails. 9. A system to execute within a host organization, wherein the system comprises a cluster of application servers, each having at least a processor and a memory therein, and access to a persistent data store, the processor and memory to execute a software application executing on a selected first application server in the cluster performing the steps of: storing in a buffer in the memory of the selected first application server a payload of data associated with a transaction performed by the software application with the persistent data store and a corresponding key that indicates a logical point in time at which the associated transaction was committed to the persistent data store, wherein the key sequences the associated transaction based on the order in which it was performed with the persistent data store when a plurality of transactions are sent to an external system; transferring a copy of the payload of data and the corresponding key to a selected second application server in the cluster; and creating a record in an entry in a transaction log stored in a database system to which the cluster of applications servers has access, the record including: the corresponding key, a first value identifying the selected second application server to which the copy of the payload of data and corresponding key were transferred, and a second value identifying the selected first application server in which the payload of data and corresponding key were stored, wherein the database system uses the key to restrict recovery operations from altering changes made to the database system. 10. The system of claim 9 , further comprising: means for receiving a first user input at a load balancer for the cluster; means for selecting, by the load balancer, an application server in the cluster to which to transmit the first user input as the selected first application server; means for transmitting the first user input to the selected first application server; and means for performing, by the software appli
Policies or rules for updating, deleting or replacing the stored data · CPC title
Data buffering arrangements · CPC title
Server selection for load balancing · CPC title
for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS] · CPC title
between a Database Management System and a front-end application · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.