IP Library Granted Patent US 10,324,942
Granted Patent B2
US 10,324,942 · App. 14/444,888 · Granted Jun 18, 2019

Segment data visibility and management in a distributed database of time stamped records

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,324,942
App. No.
14/444,888
Granted
Jun 18, 2019
Kind
B2
Abstract

A distributed database of time stamped records can be used to store time series data such as events occurring on the Internet. A distributed database of time stamped records can store segments of data that contain events for different time intervals. The volume of events occurring on the Internet introduces a “Big Data” variable that makes collections of data sets so large and complex they are difficult to manage. Disclosed are systems and methods to manage segments of a distributed database of time stamped records for optimal size (for storage and performance reasons etc.) and for proper visibility to data when different segments contain data for overlapping time periods.

Claims (43)

1. A non-transitory computer readable medium comprising computer executable instructions stored thereon to cause one or more processors to perform data storage and retrieval operations from a computer memory configured according to a distributed database of time stamped records collected into data segments, each data segment including data from a data source collected over a time interval, each data segment associated to a creation time that the data segment was created, each data segment stored on one of a plurality of query nodes, the operations comprising:

building a timeline data structure for the data source and for a timeline view interval, the building of the timeline data structure comprising:

identifying, data segments that include data from the data source that was collected over a time interval included in the timeline view interval;

identifying, among the identified data segments, overlapping data segments that include overlapping portions of data collected over an overlapping time interval;

selecting the overlapping portion that is included in the overlapping segment having the most recent creation time; and

building the timeline data structure with the selected overlapping portion and with portions of the identified data segments that do not overlap with any portion of any other of the identified data segments.

2. The non-transitory computer readable medium of claim 1 , wherein the operations further include:

receiving a query request at a broker node from a query client;

identifying, using the timeline data structure, data segments that include a most recent set of available data applicable to the query request;

retrieving the identified data segments:

generating a query response by consolidating the most recent set of available data included in the retrieved data segments; and

returning a query response to the query client.

3. The non-transitory computer readable medium of claim 1 , wherein each query node is either a historical node or a real-time node.

4. The non-transitory computer readable medium of claim 2 , wherein retrieving the identified data segments further comprises checking a cache for the identified data segments.

5. The non-transitory computer readable medium of claim 4 , wherein the query request is not sent to query nodes for segments located in the cache.

6. The non-transitory computer readable medium of claim 4 , wherein the cache is local to the broker node.

7. The non-transitory computer readable medium of claim 2 , wherein the query client comprises a graphical user interface on a client computer.

8. The non-transitory computer readable medium of claim 2 , wherein the query client comprises a computer process executing on a computer different from the broker node.

9. A non-transitory computer readable medium comprising computer executable instructions stored thereon to cause one or more processing units to perform data storage and retrieval operations from a computer memory configured according to a distributed database of time stamped records collected into data segments, the operations comprising:

determining, from among the data segments, a plurality of merger segments to merge into a single merged segment based on at least one of a size of each of the merger segments, a size of a resulting merged segment, and machine resources providing infrastructure to the distributed database of time stamped records, each merger segment comprising segment data in the form of at least one of a dimension and a metric;

determining at least one overlapping dimension included in every one of the plurality of merger segments to merge;

combining merger segment data for each of the at least one overlapping dimension;

determining at least one non-overlapping dimension that is not included in at least one of the plurality of merger segments to merge; and

assigning a null value for each non-overlapping dimension.

10. The non-transitory computer readable medium of claim 9 , the operations further comprising:

define a merged time interval spanning from an earliest start time of the plurality of merger segments to a latest finish time of the plurality of merger segments.

11. The non-transitory computer readable medium of claim 9 , wherein each created segment has a unique version associated to a creation time that the data segment was created.

12. A method for storing and retrieving data from a computer memory, comprising:

configuring said computer memory according to a distributed database of time stamped records collected into data segments;

determining, from among the data segments, a plurality of merger segments to merge into a single merged segment based on at least one of a size of each of the merger segments, a size of a resulting merged segment, and machine resources providing infrastructure to the distributed database of time stamped records, wherein each merger segment comprises segment data in the form of at least one of a dimension and a metric;

determining at least one overlapping dimension included in every one of the plurality of merger segments to merge;

combining merger segment data for each of the at least one overlapping dimension;

determining at least one non-overlapping dimension that is not included in at least one of the plurality of merger segments to merge;

assigning a null value for each non-overlapping dimension

associating the merged segment with a time stamp corresponding to a time that the plurality of merger segments was merged into the single merged segment.

13. The method of claim 12 , further comprising:

determining at least one overlapping metric included in every one of the plurality of merger segments to merge;

combining merger segment data for each of the at least one overlapping metric;

determining at least one non-overlapping metric that is not included in at least one of the plurality of merger segments to merge; and

assigning a null value for each non-overlapping metric.

14. The method of claim 12 , further comprising:

define a merged time interval spanning from an earliest start time of the plurality of merger segments to a latest finish time of the plurality of merger segments.

15. The method of claim 12 , wherein each created segment has a unique version associated to a creation time that the data segment was created.

Assignments (14)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 19, 2022
From: FACET DATA, INC.
To: RILL DATA, INC.
Reel/Frame 060554/0042 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE ADDRESS PREVIOUSLY RECORDED AT REEL: 054137 FRAME: 0363. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Nov 18, 2020
From: EXPOSIT LABS, INC.
To: FACET DATA, INC.
Reel/Frame 054456/0884 →
CHANGE OF NAME Recorded Oct 22, 2020
From: EXPOSIT LABS, INC.
To: FACET DATA, INC.
Reel/Frame 054137/0363 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 26, 2020
From: SNAP INC.
To: EXPOSIT LABS, INC.
Reel/Frame 053058/0547 →
CORRECTIVE ASSIGNMENT TO CORRECT THE PCT NUMBER PCT/IB2016/058014 PREVIOUSLY RECORDED ON REEL 047690 FRAME 0640. ASSIGNOR(S) HEREBY CONFIRMS THE CHANGE OF NAME. Recorded Jan 17, 2019
From: SNAPCHAT, INC.
To: SNAP INC.
Reel/Frame 048089/0452 →
CHANGE OF NAME Recorded Dec 6, 2018
From: SNAPCHAT, INC.
To: SNAP INC.
Reel/Frame 047690/0640 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 24, 2018
From: METAMARKETS GROUP INC.
To: SNAP INC.
Reel/Frame 047288/0965 →
RELEASE OF SECURITY INTEREST IN INTELLECTUAL PROPERTY COLLATERAL AT REEL/FRAME NO. 39836/0417 Recorded Nov 10, 2017
From: WF FUND V LIMITED PARTNERSHIP
To: METAMARKETS GROUP, INC.
Reel/Frame 044418/0927 →
RELEASE OF SECURITY INTEREST IN INTELLECTUAL PROPERTY COLLATERAL AT REEL/FRAME NO. 42855/0498 Recorded Nov 10, 2017
From: WESTERN ALLIANCE BANK
To: METAMARKETS GROUP, INC.
Reel/Frame 044418/0944 →
RELEASE OF SECURITY INTEREST Recorded Jul 3, 2017
From: CITY NATIONAL BANK
To: METAMARKETS GROUP, INC.
Reel/Frame 042881/0795 →
SECURITY INTEREST Recorded Jun 29, 2017
From: METAMARKETS GROUP, INC.
To: WESTERN ALLIANCE BANK
Reel/Frame 042855/0498 →
SECURITY INTEREST Recorded Sep 22, 2016
From: METAMARKETS GROUP, INC.
To: CITY NATIONAL BANK
Reel/Frame 039835/0134 →
SECURITY INTEREST Recorded Sep 22, 2016
From: METAMARKETS GROUP, INC.
To: WF FUND V LIMITED PARTNERSHIP
Reel/Frame 039836/0417 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2014
From: YANG, FANGJIN; TSCHETTER, ERIC
To: METAMARKETS GROUP INC.
Reel/Frame 033415/0872 →
Cited By (2)
US 12,216,519 US 12,645,280