Asynchronous write request management
AssigneesAtlassian Pty Ltd., Atlassian Inc.
InventorsJeevjyot Singh Chhabda, Mikhael Tanutama
Life of this patent
Estimating the term…
Abstract
Systems and methods provide techniques for more effective read/write management in collaborative data interaction frameworks. In response, embodiments of the present invention provide methods, apparatuses, systems, computing devices, and/or the like that are configured to enable effective and efficient read/write management in collaborative data interaction frameworks. For example, certain embodiments of the present invention provide methods, apparatuses, systems, computing devices, and/or the like that are configured to read/write management in collaborative data interaction frameworks using techniques that utilize asynchronous write request management along with partially decoupled read request management.
Claims24
An apparatus for reliable data retrieval given asynchronous write request processing, the apparatus comprising at least one processor and at least one memory including program code, the at least one memory and the program code configured to, with the processor, cause the apparatus to at least:
- receive a read request for a data object identifier from a client computing device;
- in response to receiving the read request, determine a match status for the data object identifier based on an unprocessed write request ledger, wherein the match status describes an affirmative match status when the unprocessed write request ledger comprises one or more unprocessed sequence numbers that describe one or more unprocessed write requests for the data object identifier;
- in response to determining that the match status describes the affirmative match status, generate an update data object associated with the data object identifier based on a latest state of target data associated with the data object identifier upon determining that at least one of a set of data retrieval conditions is satisfied, wherein the set of data retrieval conditions comprises a first data retrieval condition that is satisfied when all of the one or more unprocessed write requests are marked as processed and a second data retrieval condition that is satisfied when a waiting period is expired;
- and
- transmit the update data object to the client computing device.
A computer-implemented method for reliable data retrieval given asynchronous write request processing, the computer-implemented method comprising:
- receiving a read request for a data object identifier from a client computing device;
- in response to receiving the read request, determining a match status for the data object identifier based on an unprocessed write request ledger, wherein the match status describes an affirmative match status when the unprocessed write request ledger comprises one or more unprocessed sequence numbers that describe one or more unprocessed write requests for the data object identifier;
- in response to determining that the match status describes the affirmative match status, generating an update data object associated with the data object identifier based on a latest state of target data associated with the data object identifier upon determining that at least one of one of a set of data retrieval conditions is satisfied, wherein the set of data retrieval conditions comprise a first data retrieval condition that is satisfied when all of the one or more unprocessed write requests are marked as processed and a second data retrieval condition that is satisfied when a waiting period is expired;
- and
- transmitting the update data object to the client computing device.
A computer program product for reliable data retrieval given asynchronous write request processing, the computer program product comprising at least one non-transitory computer-readable storage medium having computer-readable program code portions stored therein, the computer-readable program code portions configured to:
- receive a read request for a data object identifier from a client computing device;
- in response to receiving the read request, determine a match status for the data object identifier based on an unprocessed write request ledger, wherein the match status describes an affirmative match status when the unprocessed write request ledger comprises one or more unprocessed sequence numbers that describe one or more unprocessed write requests for the data object identifier;
- in response to determining that the match status describes the affirmative match status, generate an update data object associated with the data object identifier based on a latest state of target data associated with the data object identifier upon determining that at least one of a set of data retrieval conditions is satisfied, wherein the set of data retrieval conditions comprises a first data retrieval condition that is satisfied when all of the one or more unprocessed write requests are marked as processed and a second data retrieval condition that is satisfied when a waiting period is expired;
- and
- transmit the update data object to the client computing device.
An apparatus for asynchronous write request processing, the apparatus comprising at least one processor and at least one memory including program code, the at least one memory and the program code configured to, with the processor, cause the apparatus to at least:
- receive a write request for a data object identifier;
- and
- in response to receiving the write request:
- generate a sequence number for the write request,
- update an unprocessed write request ledger for the data object identifier by adding the sequence number to the unprocessed write request ledger,
- process the write request by persistently storing write request data associated with the write request as part of target data for the data object identifier, and
- in response to processing the write request, remove the sequence number from the unprocessed write request ledger.
Dependencies are inferred from the claim text.