Ordered event stream merging

US11340792B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11340792-B2
Application numberUS-202016944089-A
CountryUS
Kind codeB2
Filing dateJul 30, 2020
Priority dateJul 30, 2020
Publication dateMay 24, 2022
Grant dateMay 24, 2022

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Merging of portions of ordered event streams is disclosed. The disclosed merging of events can limit loss of order of events from streams in exchange for reduced computational load by grouping events according to a pseudo-epoch, wherein events are stored according to a scheme, even though the grouping can result reading events in a different order that that in which the events were written. However, by grouping the events, there can be fewer transitions between storage schemes when reading events than if they were read in the same order in which they were written, thereby reducing computational load. Moreover, restraints on the loss of order can be imposed by selecting a maximum progress window and generally restricting groups from comprising events two different storage schemes. Where events can be moved to archival storage, reducing storage scheme transitions can be of further benefit and speed access times of archived events.

First claim

Opening claim text (preview).

What is claimed is: 1. A system, comprising: a processor; and a memory that stores executable instructions that, when executed by the processor, facilitate performance of operations, comprising: receiving an indication to merge a first portion of a first ordered event stream and a second portion of a second ordered event stream, wherein the first ordered event stream and the second ordered event stream are stored via an ordered event stream storage system; determining a read order of events of the first portion of the first ordered event stream and the second portion of the second ordered event stream, wherein the read order supports out of order reading of an event, and wherein the out of order reading is a different order than a first writing order of events of the first event stream and a second writing order of events of the second event stream; and enabling reading of the events of the first portion of the first ordered event stream and the second portion of the second ordered event stream according to the read order. 2. The system of claim 1 , wherein the read order is preserved to facilitate future reads of the first portion of the first ordered event stream and the second portion of the second ordered event stream according to the read order. 3. The system of claim 1 , wherein the events of the first portion of the first ordered event stream and the second portion of the second ordered event stream are rewritten to reduce seek times corresponding to reading the events according to the read order. 4. The system of claim 1 , wherein the first ordered event stream and the second ordered event stream are a same ordered event stream. 5. The system of claim 1 , wherein the first ordered event stream and the second ordered event stream are different ordered event streams. 6. The system of claim 5 , wherein the first portion of the first ordered event stream corresponds to a first event storage scheme, wherein the second portion of the second ordered event stream corresponds to a second event storage scheme, and wherein the first event storage scheme and the second event storage scheme are a same event storage scheme. 7. The system of claim 5 , wherein the first portion of the first ordered event stream corresponds to a first event storage scheme, wherein the second portion of the second ordered event stream corresponds to a second event storage scheme, and wherein the first event storage scheme and the second event storage scheme are different event storage schemes. 8. The system of claim 7 , wherein the operations further comprise: determining a first pseudo-epoch comprising first events of the first portion of the first ordered event stream; determining a second pseudo-epoch comprising second events of the second portion of the second ordered event stream; and wherein the determining a read order of events of the first portion of the first ordered event stream and the second portion of the second ordered event stream comprises determining a progress step read order of the first events and the second events according to the first pseudo-epoch and the second pseudo-epoch. 9. The system of claim 8 , wherein the first pseudo-epoch does not comprise events from more than one epoch of the first portion of the first ordered event stream, and wherein the second pseudo-epoch does not comprise events from more than one epoch of the second portion of the second ordered event stream. 10. The system of claim 8 , wherein the first pseudo-epoch does not exceed a first maximum progress window size, and wherein the second pseudo-epoch does not exceed a second maximum progress window size. 11. The system of claim 8 , wherein the determining the progress step read order of the first events and the second events according to the first pseudo-epoch and the second pseudo-epoch results in reading the events of the first portion of the first ordered event stream and the second portion of the second ordered event stream in an order that is a different order than the events were written to the first portion of the first ordered event stream and the second portion of the second ordered event stream. 12. The system of claim 8 , wherein the determining the progress step read order of the first events and the second events according to the first pseudo-epoch and the second pseudo-epoch results in reading the events of the first portion of the first ordered event stream and the second portion of the second ordered event stream with less vacillation between the first event storage scheme and the second event storage scheme than would be experienced where the events of the first portion of the first ordered event stream and the second portion of the second ordered event stream are read in the order than the events were written to the first portion of the first ordered event stream and the second portion of the second ordered event stream. 13. The system of claim 1 , wherein the first portion of the first ordered event stream comprises first events stored in a first type of data storage and comprises second events stored in a second type of data storage. 14. The system of claim 13 , wherein the first type of data storage enables faster access to data than the second type of data storage. 15. A method, comprising: determining, by a system comprising a processor, a read order of merged events of a first portion of a first ordered event stream and a second portion of a second ordered event stream, wherein the first ordered event stream and the second ordered event stream are stored via an ordered event stream storage system, wherein the read order of the merged events comprises an out of order event read in comparison to a writing order of events into the first event stream and the second event stream, wherein the first ordered event stream and the second ordered event stream are different ordered event streams, wherein the first ordered event stream employs a first event storage scheme corresponding to a first epoch, wherein the second ordered event stream employs a second event storage scheme corresponding to a second epoch, and wherein the read order is based on a progress step associated with a first pseudo-epoch corresponding to first events of the first portion of the first epoch and a second pseudo-epoch corresponding to second events of the second portion of the second epoch; and reading, by the system, the first events of the first portion of the first epoch and the second events of the second portion of the second epoch according to the read order of the merged events. 16. The method of claim 15 , further comprising performing, by the system, an operation selected from a group of operations comprising a storing operation that stores the read order of merged events to facilitate future reads of the merged events, and a relocation operation that relocates the first events and the second events in the ordered event stream storage system to reduce seek times associated with reading the merged events. 17. The method of claim 15 , wherein the determining the read order of the merged events comprises determining the first pseudo-epoch and the second pseudo-epoch, wherein the first and second pseudo-epoch are each smaller than a selectable maximum progress size, wherein the first and second pseudo-epoch each do not transition an epoch boundary, and wherein the first and second pseudo-epoch each comprise a same progress point. 18. A non-transitory machine-readable medium, comprising executable instructions that, when executed by a processor, facilitate performance of operations, comprising: in

Assignees

Inventors

Classifications

  • Command handling arrangements, e.g. command buffers, queues, command scheduling · CPC title

  • G06F3/0611Primary

    in relation to response time · CPC title

  • Monitoring storage devices or systems · CPC title

  • in relation to availability · CPC title

  • G06F3/067Primary

    Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS] · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11340792B2 cover?
Merging of portions of ordered event streams is disclosed. The disclosed merging of events can limit loss of order of events from streams in exchange for reduced computational load by grouping events according to a pseudo-epoch, wherein events are stored according to a scheme, even though the grouping can result reading events in a different order that that in which the events were written. How…
Who is the assignee on this patent?
Emc Ip Holding Co Llc
What technology area does this patent fall under?
Primary CPC classification G06F3/0611. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 24 2022 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).