IP Library Granted Patent US 10,311,471
Granted Patent B2
US 10,311,471 · App. 16/050,986 · Granted Jun 4, 2019

Graph-based compression of data 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,311,471
App. No.
16/050,986
Granted
Jun 4, 2019
Kind
B2
Abstract

In general, embodiments of the present invention provide systems, methods and computer readable media for data record compression using graph-based techniques.

Claims (46)

1. A computer-implemented method for generating a compressed list of impression data records, the method comprising:

receiving, by a processor, a set of impression data records describing a sequence of consumer behavior instances collected during a time window, wherein the set of impression data records is associated with a particular consumer;

generating, by the processor, a directed link graph representing the consumer behavior instances;

generating, by the processor, the compressed list of the impression data records based at least in part on properties of the directed link graph;

determining, by the processor, a first component of the set of impression data records to be an index component;

generating, by the processor, a sorted list of the set of impression data records by ordering the set of impression data records using a respective value of the index component within each impression data record;

identifying, by the processor, a set of unique index component values within the sorted list of the set of impression data records; and

generating, by the processor, an ordered list of the set of unique index component values using the sorted list of the set of impression data records.

2. The method of claim 1 , wherein each impression data record of the set of impression data records comprises a plurality of data components.

3. The method of claim 2 , wherein the plurality of data components includes one or more of an identifier of the promotion, a date on which the interaction occurred, and a position of the promotion within the impression display layout.

4. The method of claim 1 , wherein the graph nodes respectively represent the consumer behavior instances and each of the graph edges connecting a pair of the nodes represents a hyperlink between the nodes.

5. The method of claim 1 , further comprising generating, by the processor, an index value list by replacing each impression data record of the set of impression data records with its respective position in the ordered list of the set of unique index component values.

6. The method of claim 5 , further comprising generating, by the processor, an encoded index value list by calculating an encoded index value for each element of the index value list.

7. The method of claim 6 , wherein calculating the encoded index value for each element of the index value list comprises subtracting, by the processor, a value from a previous value in the index value list to produce a difference value; and

in instances where the difference value is positive, multiplying, by the processor, the difference by an integer;

in instances where the difference value is negative, multiplying, by the processor, a mod of the difference by the integer and subtracting the integer.

8. The method of claim 7 , wherein the integer is 2.

9. The method of claim 7 , further comprising compressing, by the processor, the encoded index value list.

10. The method of claim 9 , wherein the encoded index value list is compressed using Elias delta encoding.

11. A system comprising:

one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations implementing generating a compressed list of impression data records, the operations comprising:

receiving a set of impression data records describing a sequence of consumer behavior instances collected during a time window, wherein the set of impression data records is associated with a particular consumer;

generating a directed link graph representing the consumer behavior instances;

generating the compressed list of the impression data records based at least in part on properties of the directed link graph;

determining a first component of the set of impression data records to be an index component;

generating a sorted list of the set of impression data records by ordering the set of impression data records using a respective value of the index component within each impression data record;

identifying a set of unique index component values within the sorted list of the set of impression data records; and

generating an ordered list of the set of unique index component values using the sorted list of the set of impression data records.

12. The system of claim 11 , wherein each impression data record of the set of impression data records comprises a plurality of data components.

13. The system of claim 12 , wherein the plurality of data components includes one or more of an identifier of the promotion, a date on which the interaction occurred, and a position of the promotion within the impression display layout.

14. The system of claim 11 , wherein the graph nodes respectively represent the consumer behavior instances and each of the graph edges connecting a pair of the nodes represents a hyperlink between the nodes.

15. The system of claim 11 , further comprising generating an index value list by replacing each impression data record of the set of impression data records with its respective position in the ordered list of the set of unique index component values.

16. The system of claim 15 , further comprising generating an encoded index value list by calculating an encoded index value for each element of the index value list.

17. The system of claim 16 , wherein calculating the encoded index value for each element of the index value list comprises subtracting a value from a previous value in the index value list to produce a difference value; and

in instances where the difference value is positive, multiplying the difference by an integer;

in instances where the difference value is negative, multiplying a mod of the difference by the integer and subtracting the integer.

18. The system of claim 17 , wherein the integer is 2.

19. The system of claim 17 , further comprising compressing the encoded index value list using Elias delta encoding.

20. A computer program product, stored on a computer readable medium, comprising instructions that when executed on one or more computers cause the one or more computers to perform operations implementing generating a compressed list of impression data records, the operations comprising:

receiving a set of impression data records describing a sequence of consumer behavior instances collected during a time window, wherein the set of impression data records is associated with a particular consumer;

generating a directed link graph representing the consumer behavior instances;

generating the compressed list of the impression data records based at least in part on properties of the directed link graph;

determining a first component of the set of impression data records to be an index component;

generating a sorted list of the set of impression data records by ordering the set of impression data records using a respective value of the index component within each impression data record;

identifying a set of unique index component values within the sorted list of the set of impression data records; and

generating an ordered list of the set of unique index component values using the sorted list of the set of impression data records.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 12, 2024
From: GROUPON, INC.
To: BYTEDANCE INC.
Reel/Frame 068722/0203 →
RELEASE OF SECURITY INTEREST Recorded Feb 26, 2024
From: JPMORGAN CHASE BANK, N.A.
To: GROUPON, INC.; LIVINGSOCIAL, LLC (F/K/A LIVINGSOCIAL, INC.)
Reel/Frame 066676/0001 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN INTELLECTUAL PROPERTY RIGHTS Recorded Feb 26, 2024
From: JPMORGAN CHASE BANK, N.A.
To: GROUPON, INC.; LIVINGSOCIAL, LLC (F/K/A LIVINGSOCIAL, INC.)
Reel/Frame 066676/0251 →
SECURITY INTEREST Recorded Jul 23, 2020
From: GROUPON, INC.; LIVINGSOCIAL, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 053294/0495 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 13, 2018
From: ZILLERUELO-RAMOS, RICARDO A.; ARROYO GARCIA, HERNAN ENRIQUE; FRISBIE, JOE; L'HUILLIER, GASTON; LARRAIN, FRANCISCO JOSE
To: GROUPON, INC.
Reel/Frame 047486/0475 →