System and method for generating and storing real-time analytics metric data using an in memory buffer service consumer framework

US9767040B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9767040-B2
Application numberUS-201514841503-A
CountryUS
Kind codeB2
Filing dateAug 31, 2015
Priority dateAug 31, 2015
Publication dateSep 19, 2017
Grant dateSep 19, 2017

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.

In an example, a processing system of a database system may categorize event data taken from logged interactions of users with a multi-tenant information system to provide a metric. Event roll-up aggregate metrics used to provide the metric may be generated in connection with event capture. The processing system of the database system may periodically calculate the metric for a particular one of the tenants, and electronically store the periodically calculated metrics for accessing responsive to a query of the particular tenant.

First claim

Opening claim text (preview).

The invention claimed is: 1. A database system, comprising: a first bounded buffer; a first buffer flush regulator to enforce a first load factor associated with the first bounded buffer by flushing objects from the first bounded buffer according to at least one of a first predetermined object lifetime threshold or first predetermined time interval; and a memory device having instructions stored thereon, the instructions including: a plurality of first instructions, each first instruction defining a respective consumer of first consumers; and a plurality of second instructions, each second instruction defining a task node for a respective one of the first consumers; wherein a consumer of the first consumers is to consume objects of a first type from the first bounded buffer, and one of said task nodes that corresponds to a different consumer of the first consumers is to generate objects of a second type that is different than the first type for consumption by a second consumer that is different than the first consumers. 2. The database system of claim 1 , wherein the instructions further comprise: a third instruction defining the second consumer, wherein said second consumer is to consume objects of the second type; and a fourth instruction defining a task node for the second consumer. 3. The database system of claim 2 , wherein the system further comprises: a second bounded buffer; and a second buffer flush regulator to enforce a second load factor associated with the second bounded buffer by flushing objects from the second bounded buffer according to at least one of a second predetermined object lifetime threshold that is different than the first predetermined object lifetime threshold or a second predetermined time interval that is different than the first predetermined time interval; wherein the objects of the second type are input to the second bounded buffer, and the task node corresponding to the second consumer consumes from the second bounded buffer. 4. The database system of claim 3 , wherein the second predetermined object lifetime threshold is greater than the first predetermined object lifetime threshold. 5. The database system of claim 3 , wherein the second predetermined time interval is greater than the first predetermined time interval. 6. The database system of claim 3 , wherein the second predetermined object lifetime threshold is greater than the first predetermined object lifetime threshold by a configurable factor. 7. The database system of claim 6 , wherein the configurable factor is set to at least ten. 8. The database system of claim 3 , wherein the second predetermined time interval is greater than the first predetermined time interval by a configurable factor of at least six. 9. The database system of claim 8 , wherein the configurable factor is set to at least six. 10. The database system of claim 2 , wherein the objects of the first type comprise original data and the objects of the second type comprise derived data. 11. The database system of claim 2 , wherein the objects of the first type comprise event data and the objects of the second type comprise metrics based on the event data. 12. The database system of claim 2 , further comprising: a non-relational distributed database to receive data output from the task node of the second consumer. 13. The database system of claim 12 , wherein the non-relational distributed database further comprises a temporary table for storing ongoing metrics per application server. 14. The database system of claim 13 , further comprising a metrics generator using a time-based job scheduler to access data from the temporary table in order to aggregate metric calculations across all application servers in a given timeframe for a given metric type for a given customer organization. 15. The database system of claim 2 , wherein the fourth instruction is to assign an executor selected from a group of executors including a synchronous executor, a time bounded executor, and an asynchronous executor to the second consumer. 16. The database system of claim 1 , wherein at least one of the second instructions is to assign an executor selected from a group of executors including a synchronous executor, a time bounded executor, and an asynchronous executor to a corresponding one of the first consumers. 17. A database system, comprising: a first bounded buffer and a second bounded buffer; a first buffer flush regulator to enforce a first load factor associated with the first bounded buffer by flushing objects from the first bounded buffer according to at least one of a first predetermined object lifetime threshold or first predetermined time interval, and a second buffer flush regulator to enforce a second load factor associated with the second bounded buffer by flushing objects from the second bounded buffer according to at least one of a second predetermined object lifetime threshold that is different than the first predetermined object lifetime threshold or a second predetermined time interval that is different than the first predetermined time interval; a memory device having instructions stored thereon, the instructions including: a plurality of first instructions, each first instruction defining a respective consumer of first consumers; and a plurality of second instructions, each second instruction defining a task node for a respective one of the first consumers; wherein a consumer of the first consumers is to consume objects of a first type from the first bounded buffer, and one of the task nodes that corresponds to a different consumer of the first consumers is to generate objects of a second type that is different than the first type and output the generated objects to the second bounded buffer. 18. The database system of claim 17 , wherein the instructions further comprise: a third instruction defining a second consumer that is different than the first consumers, wherein said second consumer is to consume objects of the second type from the second bounded buffer; and a fourth instruction defining a task node for the second consumer. 19. The database system of claim 18 , further comprising: a non-relational distributed database to receive data output from the task node of the second consumer; wherein the non-relational distributed database further comprises a temporary table for storing ongoing metrics per application server. 20. The database system of claim 19 , further comprising a metrics generator using a time-based job scheduler to access data from the temporary table in order to aggregate metric calculations across all application servers in a given timeframe for a given metric type for a given customer organization.

Assignees

Inventors

Classifications

  • G06F12/023Primary

    Free address space management · CPC title

  • Space efficiency improvement · CPC title

  • G06F12/12Primary

    Replacement control · CPC title

  • Integrating or interfacing systems involving database management systems · 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 US9767040B2 cover?
In an example, a processing system of a database system may categorize event data taken from logged interactions of users with a multi-tenant information system to provide a metric. Event roll-up aggregate metrics used to provide the metric may be generated in connection with event capture. The processing system of the database system may periodically calculate the metric for a particular one o…
Who is the assignee on this patent?
Salesforce Com Inc
What technology area does this patent fall under?
Primary CPC classification G06F12/023. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 19 2017 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).