Transactional messages in journal-based storage systems
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06F-007/00
G06F-017/00
G06F-017/30
출원번호
US-0833001
(2015-08-21)
등록번호
US-9990391
(2018-06-05)
발명자
/ 주소
Cole, Timothy Daniel
Morkel, John Michael
Jacques De Kadt, Christopher Richard
Danilov, Artem
Vermeulen, Allan Henry
Certain, Tate Andrew
Ross, Andrew Wayne
출원인 / 주소
Amazon Technologies, Inc.
대리인 / 주소
Kowert, Robert C.
인용정보
피인용 횟수 :
1인용 특허 :
16
초록▼
A journal manager of a multi-data-store storage system receives a transaction which includes a message to be stored in the storage system's journal if the transaction request is accepted for commit. The journal manager performs a conflict detection operation, accepts the transaction request, and sto
A journal manager of a multi-data-store storage system receives a transaction which includes a message to be stored in the storage system's journal if the transaction request is accepted for commit. The journal manager performs a conflict detection operation, accepts the transaction request, and stores a corresponding committed transaction entry including the message in the journal. A write applier associated with a registered materialization node of the journal reads the committed transaction entry and applies a write indicated in the entry. A registered message subscriber of the journal reads the committed transaction entry asynchronously with respect to the write applier, and reads the contents of the message without applying the write.
대표청구항▼
1. A system, comprising: a journal manager implemented at one or more computing devices of a multi-data-store database, wherein the multi-data-store database comprises a first data store manager of a first data store; andone or more message subscribers including a first message subscriber implemente
1. A system, comprising: a journal manager implemented at one or more computing devices of a multi-data-store database, wherein the multi-data-store database comprises a first data store manager of a first data store; andone or more message subscribers including a first message subscriber implemented at one or more computing devices;wherein the journal manager is configured to: accept a first transaction request for commit, based at least in part on analysis of (a) a read set descriptor of the first transaction request and (b) respective write set descriptors of a selected subset of committed transaction entries in a journal of the multi-data-store database, wherein the first transaction request includes (a) a write directed to a data object materialized at the first data store and (b) an indication of a first message to be stored in the journal in the event that the first transaction request is accepted for commit;append a new committed transaction entry corresponding to the first transaction request to the journal, wherein the new committed transaction entry indicates (a) the write directed to the data object and (b) the first message;wherein the first data store manager is configured to: in response to examining the new committed transaction entry as part of the first data store manager's sequential analysis of the journal, apply the write to the data object; andwherein the first message subscriber is configured to: in response to examining the new committed transaction entry as part of the first message subscriber's sequential analysis of the journal, initiate, without applying the write indicated in the new committed transaction entry, an operation requested in the first message, wherein the first message subscriber's sequential analysis is performed asynchronously with respect to the first data store manager's sequential analysis. 2. The system as recited in claim 1, wherein the journal manager is configured to: append, in response to a second transaction request, a second committed transaction entry to the journal, wherein the second committed transaction entry includes a second message indicated in the second transaction request, and wherein the second committed transaction entry does not indicate a write to be applied at a data store of the multi-data-store storage system. 3. The system as recited in claim 1, further comprising a second message subscriber implemented at one or more computing devices of the multi-data-store database, wherein the second journal message subscriber is configured to: in response to examining the new committed transaction entry, initiate one or more other operations indicated by the first message. 4. The system as recited in claim 1, wherein the journal manager is configured to: append, to the journal, a committed transaction entry representing a version of a journal schema of the multi-node storage system, wherein the version of the journal schema includes an indication of (a) a set of attributes of the data object, and (b) a message representation language, wherein the first message is formatted in the message representation language. 5. The system as recited in claim 1, wherein the journal message subscriber is configured to: prepare a second transaction request, wherein the second transaction request includes a second write directed to a different data object materialized at a different data store of the multi-data-store storage system, wherein the second write indicates that the operation indicated in the first committed transaction entry has been completed by the first journal message subscriber; andsubmit the second transaction request to the journal manager. 6. A method, comprising: accepting, by a journal manager implemented at one or more computing devices of a multi-data-store storage system, a first transaction request for commit, wherein said accepting is based at least in part on a conflict detection operation of an optimistic concurrency control protocol, wherein the first transaction request includes (a) a write directed to a first data store of the multi-data-store storage system and (b) a first message to be stored in a journal of committed transaction entries in the event that the first transaction request is accepted for commit;appending, by the journal manager, a new committed transaction entry corresponding to the first transaction request to the journal, wherein the new committed transaction entry comprises respective indications of (a) the first message and (b) the write directed to the first data store;in response to examining, by a data store manager implemented at one or more computing devices associated with the first data store, the new committed transaction entry during sequential analysis of the journal, applying, by the first data store manager, the write to a data object of the first data store; andin response to examining, by a first journal message subscriber implemented at one or more computing devices of the multi-data-store storage system, the new committed transaction entry during sequential analysis of the journal, initiating, by the first journal message subscriber without materializing the write indicated in the new committed transaction entry, one or more operations indicated by the first message. 7. The method as recited in claim 6, further comprising: appending, by the journal manager in response to a second transaction request, a second committed transaction entry to the journal, wherein the second committed transaction entry includes a second message indicated in the second transaction request, and wherein the second committed transaction entry does not indicate a write to be applied at a data store of the multi-data-store storage system. 8. The method as recited in claim 6, further comprising: preparing, at a transaction-submitter component of the multi-data-store storage system, the first transaction request in accordance with a first version of a journal schema of the multi-data-store storage system, wherein the first version of the journal schema includes an indication of (a) a set of attributes of the data object and (b) a message representation language to be used to indicate the first message. 9. The method as recited in claim 8, further comprising: verifying, by the transaction-submitter component prior to transmitting a second transaction request to the journal, wherein the second transaction request indicates a proposed change to the message representation language, that at least the first journal message subscriber has approved the proposed change to the message representation language. 10. The method as recited in claim 6, further comprising: registering, by the journal manager, the first journal message subscriber as a consumer of the journal's committed transaction entries, wherein said registering is responsive to receiving a message subscription request. 11. The method as recited in claim 6, wherein said the one or more operations comprise: preparing a second transaction request; andsubmitting the second transaction request to the journal manager. 12. The method as recited in claim 6, wherein the message includes an indication of one or more intended recipients, including the first journal message subscriber. 13. The method as recited in claim 12, wherein the message includes an indication that contents of the message are not to be provided to an entity which is not among the one or more intended recipients. 14. The method as recited in claim 6, further comprising: in response to examining, by a second journal message subscriber implemented at one or more computing devices of the multi-data-store storage system, the new committed transaction entry, initiating, by the second journal message subscriber without materializing the write indicated in the new committed transaction entry, one or more other operations indicated by the first message. 15. The method as recited in claim 6, wherein the new committed transaction entry indicates a validity period of the first message, further comprising: detecting, based on an examination of the new committed transaction entry by a second journal message subscriber implemented at one or more computing devices of the multi-data-store storage system, that the validity period has expired; anddetermining, by the second journal message subscriber in response to said detecting, that the one or more operations indicated by the first message are not to be initiated by the second journal message subscriber. 16. The method as recited in claim 6, wherein the multi-data-store storage system stores configuration information of a virtualized computing service of a provider network, wherein the first committed transaction entry indicates that pre-launch configuration operations for a particular virtual machine have been completed, and wherein said initiating the one or more operations includes initiating a launch of the particular virtual machine. 17. A non-transitory computer-accessible storage medium storing program instructions that when executed on one or more processors: accept a first transaction request for commit, based at least in part on a conflict detection operation of an optimistic concurrency control protocol, wherein the first transaction request includes (a) a write directed to a data object materialized at a first materialization node of a journal-based multi-node storage system and (b) an indication of a first message to be stored in a journal of committed transaction entries of the multi-node storage system in the event that the first transaction request is accepted for commit;append a new committed transaction entry corresponding to the first transaction request to the journal, wherein the new committed transaction entry indicates (a) the first message and (b) the write directed to the data object;in response to a particular read request from a first message subscriber node of the multi-node storage system, provide at least a portion of the new committed transaction entry to the first message subscriber node. 18. The non-transitory computer-accessible storage medium as recited in claim 17, wherein the instructions when executed on the one or more processors: append, in response to a second transaction request, a second committed transaction entry to the journal, wherein the second committed transaction entry includes a second message indicated in the second transaction request, and wherein the second committed transaction entry does not indicate a write to be applied to a data object at a materialization node of the multi-node storage system. 19. The non-transitory computer-accessible storage medium as recited in claim 17, wherein the instructions when executed on the one or more processors: append, to the journal, a committed transaction entry representing a first version of a journal schema of the multi-node storage system, wherein the first version of the journal schema includes an indication of (a) a set of attributes of the data object and (b) a message representation language to be used to indicate the first message. 20. The non-transitory computer-accessible storage medium as recited in claim 17, wherein the first message indicates one or more operations to be performed by a recipient of the message, wherein the one or more operations include: preparing a second transaction request; andsubmitting the second transaction request to the journal manager.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (16)
Corbin, Scott Roger; Shepherd, Joel; Pareek, Alok; McAllister, Chris, Apparatus and method for log based replication of distributed transactions using globally acknowledged commits.
Wang, Rui; Byrne, Peter; Stewart, Leigh M.; Dhamankar, Robin D.; Guo, Qun; Habben, Michael E.; Jiang, Xiaowei, Data change ordering in multi-log based replication.
Lampson Butler (Cambridge MA) Lomet David B. (Westford MA), Distributed transaction processing using two-phase commit protocol with presumed-commit without log force.
O'Loughlin, Keith; Harrison, David; Darby, Niall; Cummins, Padraig; Moore, Lorraine, System and method for providing a distributed workflow through a plurality of handheld devices.
Cole, Timothy Daniel; Danilov, Artem; Ross, Andrew Wayne; Morkel, John Michael; Certain, Tate Andrew; Vermeulen, Allan Henry; Jacques De Kadt, Christopher Richard, Materialization strategies in journal-based databases.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.