Ordering events with alternating epochs of event identifiers

US2016337435A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2016337435-A1
Application numberUS-201514712659-A
CountryUS
Kind codeA1
Filing dateMay 14, 2015
Priority dateMay 14, 2015
Publication dateNov 17, 2016
Grant date

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.

A system, method, and apparatus are provided for identifying and/or ordering events (or notifications of events) within a computing environment featuring a high rate of events (e.g., hundreds of millions per minute). New events are labeled based on multiple alternating epochs comprising sequences of event identifiers, wherein each epoch's identifiers are mutually exclusive of other epochs. Illustratively, each epoch may commence with a different initial identifier (e.g., 0, 1, 2) and each epoch's sequence of identifiers thereafter increment in the same manner (e.g., by twos, by threes) until a maximum identifier is encountered. All of one epoch's identifiers are applied before the next epoch's are applied. After a last epoch is exhausted, labeling begins again with the first epoch. Verifying or enforcing event ordering may involve determining a given event's identifier, epoch, timestamp, and/or other characteristics, and/or characteristics of a previous event.

First claim

Opening claim text (preview).

What is claimed is: 1 . A method, comprising: at an event producer within a computing environment hosting an online application: initiating a new event in response to application activity; and labeling the new event with a current event identifier of a first epoch comprising a first sequence of event identifiers; wherein the event producer labels events within the online application with event identifiers from multiple alternating epochs that include the first epoch and a second epoch comprising a second sequence of event identifiers mutually exclusive of the first sequence; and at an event consumer within the computing environment: receiving the new event; and determining whether the new event was received out of order. 2 . The method of claim 1 , wherein determining whether the new event was received out of order comprises: comparing the current event identifier to a previous event identifier of a previously received event; comparing a timestamp of the new event to a previous timestamp of the previously received event; based on the current event identifier, identifying the first epoch; and based on the previous event identifier, identifying a previous epoch associated with the previously received event. 3 . The method of claim 2 , wherein determining whether the new event was received out of order further comprises: comparing the first epoch with the previous epoch; and when the first epoch does not match the previous epoch, determining one or more of: whether the current event identifier is the first event identifier in the first sequence of event identifiers; and whether the previous event identifier is the final event identifier in a sequence of event identifiers associated with the previous epoch. 4 . The method of claim 1 , wherein labeling the new event comprises: retrieving data identifying a previous event identifier of an event preceding the new event; identifying the first epoch as a current epoch among the multiple epochs; and identifying the current event identifier. 5 . The method of claim 4 , wherein identifying the first epoch as the current epoch comprises one or more of: identifying an epoch comprising the previous event identifier; and determining whether the previous event identifier was the final event identifier in one of the multiple epochs' sequences of event identifiers. 6 . The method of claim 1 , wherein initiating the new event comprises: detecting a predefined interaction between the computing environment and a user of the online application; and associating a current timestamp with the new event. 7 . The method of claim 6 , further comprising: associating one or more attributes of the user with the new event. 8 . The method of claim 1 , wherein event producers within the computing environment, including the event producer, initiate in excess of one hundred million events per minute. 9 . An apparatus, comprising: one or more processors; and a first memory storing instructions that, when executed, cause the apparatus to: initiate a new event in response to application activity; and label the new event with a current event identifier of a first epoch comprising a first sequence of event identifiers; wherein the event producer labels events within the online application with event identifiers from multiple alternating epochs that include the first epoch and a second epoch comprising a second sequence of event identifiers mutually exclusive of the first sequence; and a second memory storing instructions that, when executed, cause the apparatus to: receive the new event; and determine whether the new event was received out of order. 10 . The apparatus of claim 9 , wherein determining whether the new event was received out of order comprises two or more of: comparing the current event identifier to a previous event identifier of a previously received event; comparing a timestamp of the new event to a previous timestamp of the previously received event; based on the current event identifier, identifying the first epoch; and based on the previous event identifier, identifying a previous epoch associated with the previously received event. 11 . The apparatus of claim 10 , wherein determining whether the new event was received out of order further comprises: comparing the first epoch with the previous epoch; and when the first epoch does not match the previous epoch, determining one or more of: whether the current event identifier is the first event identifier in the first sequence of event identifiers; and whether the previous event identifier is the final event identifier in a sequence of event identifiers associated with the previous epoch. 12 . The apparatus of claim 9 , wherein labeling the new event comprises: retrieving data identifying a previous event identifier of an event preceding the new event; identifying the first epoch as a current epoch among the multiple epochs; and identifying the current event identifier. 13 . The apparatus of claim 12 , wherein identifying the first epoch as the current epoch comprises one or more of: identifying an epoch comprising the previous event identifier; and determining whether the previous event identifier was the final event identifier in one of the multiple epochs' sequences of event identifiers. 14 . The apparatus of claim 9 , wherein initiating the new event comprises: detecting a predefined interaction between the computing environment and a user of the online application; and associating a current timestamp with the new event. 15 . A system, comprising: one or more processors; and an event producer module comprising a non-transitory computer-readable medium storing instructions that, when executed, cause the system to: initiate a new event in response to application activity; and label the new event with a current event identifier of a first epoch comprising a first sequence of event identifiers; wherein the event producer labels events within the online application with event identifiers from multiple alternating epochs that include the first epoch and a second epoch comprising a second sequence of event identifiers mutually exclusive of the first sequence; and an event consumer module comprising a non-transitory computer-readable medium storing instructions that, when executed, cause the system to: receive the new event; and determine whether the new event was received out of order. 16 . The system of claim 15 , wherein determining whether the new event was received out of order comprises two or more of: comparing the current event identifier to a previous event identifier of a previously received event; comparing a timestamp of the new event to a previous timestamp of the previously received event; based on the current event identifier, identifying the first epoch; and based on the previous event identifier, identifying a previous epoch associated with the previously received event. 17 . The system of claim 16 , wherein determining whether the new event was received out of order further comprises: comparing the first epoch with the previous epoch; and when the first epoch does not match the previous epoch, determining one or more of: whether the current event identifier is the first event identifier in the first sequence of event identifiers; and whether the previous event identifier is the final event identifier in a sequence of event identifiers associated with the previous epoch. 18 . The system of claim 15 , wherein labeling

Assignees

Inventors

Classifications

  • Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms · CPC title

  • Electricity · mapped topic

  • H04L67/02Primary

    based on web technology, e.g. hypertext transfer protocol [HTTP] · CPC title

  • Routing a service request depending on the request content or context · 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 US2016337435A1 cover?
A system, method, and apparatus are provided for identifying and/or ordering events (or notifications of events) within a computing environment featuring a high rate of events (e.g., hundreds of millions per minute). New events are labeled based on multiple alternating epochs comprising sequences of event identifiers, wherein each epoch's identifiers are mutually exclusive of other epochs. Illu…
Who is the assignee on this patent?
Linkedin Corp
What technology area does this patent fall under?
Primary CPC classification H04L67/02. Mapped technology areas include Electricity.
When was this patent published?
Publication date Thu Nov 17 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).