IP Library Granted Patent US 11,080,099
Granted Patent B2
US 11,080,099 · App. 16/198,133 · Granted Aug 3, 2021

Systems and methods for dynamic partitioning in distributed environments

Inventors: Thu R. Kyaw (Reston, VA); Jonathan Ji (Aldie, VA); Saad Mufti (Fairfax, VA); Sudhir Achuthan (Vienna, VA); Sang Chul Song (Aldie, VA)
Assignee: Verizon Media Inc.
G06F9/5077G06F9/5083G06F16/285
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 11,080,099
App. No.
16/198,133
Granted
Aug 3, 2021
Kind
B2
Abstract

Methods, systems, and computer-readable media are disclosed for dynamic partitioning in distributed computing environments. One method includes: receiving a first data set and a second data set; mapping the first data set into a first set of key-value pairs; mapping the second data set into a second set of key-value pairs; estimating, using a sketch, a frequency count for each key based on the first set of key-value pairs and the second set of key-value pairs; determining whether the estimated frequency count for each key is greater than or equal to a predetermined threshold; and partitioning the key when the estimated frequency count for the key is greater than or equal to the predetermined threshold.

Claims (48)

1. A computer-implemented method for dynamic partitioning in distributed computing environments, the method comprising:

receiving, at a processor, a first data set and a second data set;

mapping, by the processor, the first data set into a first set of key-value pairs;

mapping, by the processor, the second data set into a second set of key-value pairs;

estimating, by the processor using a sketch, a frequency count for each key based on the first set of key-value pairs and the second set of key-value pairs;

retrieving, by the processor from a master node, a global frequency count for each key of the key-value pairs;

determining, by the processor, an updated frequency count for each key based on the global frequency count for each key and the estimated frequency count for each key;

determining, by the processor, whether the estimated frequency count for each key is greater than or equal to a predetermined threshold based on the updated frequency count for each key; and

partitioning, by the processor, the key when the estimated frequency count for the key is greater than or equal to the predetermined threshold.

2. The method of claim 1 , further comprising:

transmitting, by the processor to the master node, the updated frequency count for each key.

3. The method of claim 1 , wherein the sketch is one of a lossy algorithm and a count-min sketch.

4. The method of claim 3 , further comprising:

reducing, by the processor, the values of each set of values grouped by each key into a set of pairs.

5. The method of claim 1 , further comprising:

grouping, by the processor, the values of the key-value pairs by the key to form a set of values grouped by each key.

6. A system for dynamic partitioning in distributed computing environments, the system including:

a data storage device that stores instructions for dynamic partitioning in distributed computing environments; and

a processor configured to execute the instructions to perform a method including:

receiving a first data set and a second data set;

mapping the first data set into a first set of key-value pairs;

mapping the second data set into a second set of key-value pairs;

estimating, using a sketch, a frequency count for each key based on the first set of key-value pairs and the second set of key-value pairs;

retrieving, by the processor from a master node, a global frequency count for each key of the key-value pairs;

determining, by the processor, an updated frequency count for each key based on the global frequency count for each key and the estimated frequency count for each key;

determining, by the processor, whether the estimated frequency count for each key is greater than or equal to a predetermined threshold based on the updated frequency count for each key; and

partitioning, by the processor, the key when the estimated frequency count for the key is greater than or equal to the predetermined threshold.

7. The system of claim 6 , wherein the processor is further configured to execute the instructions to perform the method including:

transmitting, to the master node, the updated frequency count for each key.

8. The system of claim 6 , wherein the sketch is one of a lossy algorithm and a count-min sketch.

9. The system of claim 6 , wherein the processor is further configured to execute the instructions to perform the method including:

grouping the values of the key-value pairs by the key to form a set of values grouped by each key.

10. The system of claim 9 , wherein the processor is further configured to execute the instructions to perform the method including:

reducing the values of each set of values grouped by each key into a set of pairs.

11. A non-transitory computer-readable medium storing instructions that, when executed by a computer, cause the computer to perform a method for dynamic partitioning in distributed computing environments, the method including:

receiving a first data set and a second data set;

mapping the first data set into a first set of key-value pairs;

mapping the second data set into a second set of key-value pairs;

estimating, using a sketch, a frequency count for each key based on the first set of key-value pairs and the second set of key-value pairs;

retrieving, by the processor from a master node, a global frequency count for each key of the key-value pairs;

determining, by the processor, an updated frequency count for each key based on the global frequency count for each key and the estimated frequency count for each key;

determining, by the processor, whether the estimated frequency count for each key is greater than or equal to a predetermined threshold based on the updated frequency count for each key; and

partitioning, by the processor, the key when the estimated frequency count for the key is greater than or equal to the predetermined threshold.

12. The computer-readable medium of claim 11 , further comprising:

transmitting, to the master node, the updated frequency count for each key.

13. The computer-readable medium of claim 11 , wherein the sketch is one of a lossy algorithm and a count-min sketch.

14. The computer-readable medium of claim 11 , further comprising:

grouping the values of the key-value pairs by the key to form a set of values grouped by each key.

Assignments (5)
PATENT SECURITY AGREEMENT (FIRST LIEN) Recorded Sep 29, 2022
From: YAHOO ASSETS LLC
To: ROYAL BANK OF CANADA, AS COLLATERAL AGENT
Reel/Frame 061571/0773 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2021
From: YAHOO AD TECH LLC (FORMERLY VERIZON MEDIA INC.)
To: YAHOO ASSETS LLC
Reel/Frame 058982/0282 →
CHANGE OF NAME Recorded Feb 24, 2020
From: OATH (AMERICAS) INC.
To: VERIZON MEDIA INC.
Reel/Frame 051999/0720 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2018
From: KYAW, THU R.; JI, JONATHAN; MUFTI, SAAD; ACHUTHAN, SUDHIR; SONG, SANG CHUL
To: AOL ADVERTISING INC.
Reel/Frame 047565/0246 →
CHANGE OF NAME Recorded Nov 21, 2018
From: AOL ADVERTISING INC.
To: OATH (AMERICAS) INC.
Reel/Frame 047877/0896 →