IP Library Granted Patent US 10,062,089
Granted Patent B2
US 10,062,089 · App. 15/449,687 · Granted Aug 28, 2018

Graph-based compression of data records

Inventors: Ricardo A. Zilleruelo-Ramos (Mountain View, CA); Hernan Enrique Arroyo Garcia (Mountain View, CA); Joe Frisbie (Seattle, WA); Gaston L'Huillier (San Francisco, CA); Francisco Jose Larrain (Palo Alto, CA)
Assignee: Groupon, Inc.
G06Q30/0246G06F17/30153G06F17/30339G06F17/30864H03M7/30H03M7/70
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,062,089
App. No.
15/449,687
Granted
Aug 28, 2018
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 (39)

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; and

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

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:

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.

6. The method of claim 5 , 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.

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

8. The method of claim 7 , 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.

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

10. The method of claim 8 , further comprising compressing the encoded index value list.

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

12. 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; and

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

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

14. The system of claim 13 , further comprising:

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.

15. The system of claim 14 , 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. The system of claim 12 , 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.

Assignments (6)
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 →
CORRECTIVE ASSIGNMENT TO CORRECT THE SECOND CONVEYING PARTY NAME PREVIOUSLY RECORDED AT REEL: 045194 FRAME: 0686. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded May 31, 2018
From: ZILLERUELO-RAMOS, RICARDO A.; ARROYO GARCIA, HERNAN ENRIQUE; FRISBIE, JOE; L'HUILLIER, GASTON; LARRAIN, FRANCISCO JOSE
To: GROUPON, INC.
Reel/Frame 046283/0526 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 13, 2018
From: ZILLERUELO-RAMOS, RICARDO A.; ARROYO GARCIA, HERMAN ENRIQUE; FRISBIE, JOE; L'HUILLIER, GASTON; LARRAIN, FRANCISCO JOSE
To: GROUPON, INC.
Reel/Frame 045194/0686 →
Continuity (4)
Continuation 15144977 · May 3, 2016
Continuation 14727591 · Jun 1, 2015
Provisional Application 62017158 · Jun 25, 2014
Related Publication 20180025381A1 · Jan 25, 2018