IP Library Granted Patent US 10,162,830
Granted Patent B2
US 10,162,830 · App. 15/189,158 · Granted Dec 25, 2018

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: Oath (Americas) Inc.
G06F17/30153G06F17/30312G06F17/30486G06F17/30598
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,162,830
App. No.
15/189,158
Granted
Dec 25, 2018
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 (51)

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;

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

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

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

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.

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 determining whether the frequency count for each key is greater than or equal to the predetermined threshold is based on the updated frequency count for each key.

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

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. The method of claim 4 , further comprising:

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

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

determining whether the estimated frequency count for each key is greater than or equal to a predetermined threshold;

partitioning the key when the estimated frequency count for the key is greater than or equal to the predetermined threshold;

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

determining an updated frequency count for each key based on the global frequency count for each key and the estimated frequency count for each key.

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

9. The system of claim 7 , wherein determining whether the frequency count for each key is greater than or equal to the predetermined threshold is based on the updated frequency count for each key.

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

11. The system of claim 7 , 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.

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

13. 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;

determining whether the estimated frequency count for each key is greater than or equal to a predetermined threshold;

partitioning the key when the estimated frequency count for the key is greater than or equal to the predetermined threshold;

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

determining an updated frequency count for each key based on the global frequency count for each key and the estimated frequency count for each key.

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

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

15. The computer-readable medium of claim 13 , wherein determining whether the frequency count for each key is greater than or equal to the predetermined threshold is based on the updated frequency count for each key.

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

17. The computer-readable medium of claim 13 , 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 →
CHANGE OF NAME Recorded Jun 30, 2017
From: AOL ADVERTISING INC.
To: OATH (AMERICAS) INC.
Reel/Frame 043072/0066 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 22, 2016
From: KYAW, THU R.; JI, JONATHAN; MUFTI, SAAD; ACHUTHAN, SUDHIR; SONG, SANG CHUL
To: AOL ADVERTISING INC.
Reel/Frame 038983/0073 →
Continuity (1)
Related Publication 20170371892A1 · Dec 28, 2017