IP Library Granted Patent US 10,447,753
Granted Patent B2
US 10,447,753 · App. 15/292,419 · Granted Oct 15, 2019

Encoding scalability with brokers

Inventors: Grady Player (Riverton, UT); Calvin Ryan Owen (Draper, UT); David Frederick Brueck (Saratoga Springs, UT)
Assignee: Verizon Digital Media Services Inc.
H04L65/607H04L41/0896H04L41/5025H04L65/601H04L67/2809H04L41/509H04L43/0817
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,447,753
App. No.
15/292,419
Granted
Oct 15, 2019
Kind
B2
Abstract

A scalable architecture is provided for decentralized scaling of resources in a media content encoding platform. The scalable architecture is comprised of a first slicing tier, a second broker tier, and a third encoding tier. Each tier can be horizontally and vertically scaled independent of one another. The second broker tier receives media content slices from the first slicing tier. The second broker tier retains the slices directly in main memory of different brokers without writing the slices to a database or disk. The brokers distribute the slices from main memory across the third encoding tier for encoding based on availability of different encoders in the third tier. This architecture improves overall encoding performance as some of the delays associated with managing and distributing the slices at the second tier are eliminated by operation of the brokers.

Claims (29)

1. A method comprising:

receiving a plurality of slices at a first set of brokers, wherein each slice of the plurality of slices comprises a different segment of at least one media content;

queuing the plurality of slices in memory of the first set of brokers without writing the plurality of slices to disk;

encoding a first set of the plurality of slices with a first set of encoders;

determining a first rate corresponding to a rate of receiving the plurality of slices at the first set of brokers, and a second rate corresponding to a rate of encoding the plurality of slices with the first set of encoders based on said encoding;

scaling from the first set of encoders to a larger second set of encoders in response to the first rate of receiving the plurality of slices being greater than the second rate of encoding the plurality of slices;

encoding a second set of the plurality of slices with the second set of encoders; and

determining a third rate that corresponds to a rate of encoding the plurality of slices with the second set of encoders based on said encoding the second set of slices, and wherein the third rate is greater than the first rate or the second rate.

2. The method of claim 1 , wherein said scaling from the first set of brokers comprises adding at least one broker to the first set of brokers, the at least one broker comprising additional memory that is used in retaining a subset of the plurality of slices.

3. The method of claim 1 further comprising removing the first set of slices from memory of the first set of brokers in response to encoding the first set of slices.

4. The method of claim 1 further comprising assigning a first subset of the first set of encoders to a first broker of the first set of brokers and a different second subset of the second set of encoders to a second broker of the first set of brokers.

5. The method of claim 4 , wherein encoding the first set of slices comprises each encoder of the first subset of encoders encoding slices retained in memory of the first broker and each encoder of the second subset of encoders encoding slices retained in memory of the second broker.

6. A method comprising:

configuring a first set of a plurality of machines as a first set of brokers;

receiving a plurality of slices directly into memory of the first set of brokers without writing the plurality of slices to storage or a database, wherein each slice of the plurality of slices comprises a different segment of at least one media content;

configuring a second set of the plurality of machines as a first set of encoders;

passing a first set of the plurality of slices from the first set of brokers to the first set of encoders based on messaging exchanged between the first set of brokers and the first set of encoders;

encoding the first set of slices with the first set of encoders while retaining a second set of the plurality of slices in memory of the first set of brokers; and

scaling from the first set of brokers and the first set of encoders to a second set of brokers and a second set of encoders by reconfiguring at least one machine from operating as a broker in the first set of brokers to operating as an encoder in the second set of encoders, or by reconfiguring at least one machine from operating as an encoder in the first set of encoders to operating as a broker in the second set of brokers.

7. The method of claim 6 , further comprising passing a first slice from the second set of slices to a first encoder of the first set of encoders after the first encoder completes encoding of a slice from the first set of slices.

8. The method of claim 6 further comprising removing the first set of slices from said memory of the first set of brokers in response to said encoding.

9. A system comprising:

a plurality of machines comprising:

a first set of the plurality of machines configured as a first set of brokers, the first set of brokers receiving a plurality of slices directly into memory of the first set of brokers without writing the plurality of slices to storage or a database, wherein each slice of the plurality of slices comprises a different segment of at least one media content;

a second set of the plurality of machines configured as a first set of encoders, the first set of encoders (i) receiving a first set of the plurality of slices from the first set of brokers based on messaging exchanged between the first set of brokers and the first set of encoders, and (ii) encoding the first set of slices with the first set of encoders while retaining a second set of the plurality of slices in memory of the first set of brokers; and

a device comprising:

a non-transitory computer-readable medium storing a set of processor-executable instructions; and

one or more processors configured to execute the set of processor-executable instructions, wherein executing the set of processor-executable instructions causes the one or more processors to:

scale from the first set of brokers and the first set of encoders to a second set of brokers and a second set of encoders by reconfiguring at least one machine from operating as a broker in the first set of brokers to operating as an encoder in the second set of encoders, or by reconfiguring at least one machine from operating as an encoder in the first set of encoders to operating as a broker in the second set of brokers.

Assignments (10)
RELEASE OF PATENT SECURITY AGREEMENT [RECORDED AT REEL/FRAME 065597/0406] Recorded Jul 9, 2025
From: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION
To: UPLYNK, INC. (F/K/A EDGIO, INC.)
Reel/Frame 071875/0105 →
RELEASE OF PATENT SECURITY AGREEMENT [RECORDED AT REEL/FRAME 065597/0212] Recorded Jul 3, 2025
From: LYNROCK LAKE MASTER FUND LP
To: UPLYNK, INC. (F/K/A EDGIO, INC.); MOJO MERGER SUB, LLC
Reel/Frame 071817/0877 →
PATENT SECURITY AGREEMENT Recorded Jul 3, 2025
From: UPLYNK, INC. (F/K/A EDGIO, INC.)
To: LYNROCK LAKE MASTER FUND LP
Reel/Frame 071817/0974 →
RELEASE OF PATENT SECURITY AGREEMENT [RECORDED AT REEL/FRAME 068763/0276] Recorded Jul 3, 2025
From: LYNROCK LAKE MASTER FUND LP
To: UPLYNK, INC. (F/K/A EDGIO, INC.); MOJO MERGER SUB, LLC
Reel/Frame 071818/0022 →
PATENT SECURITY AGREEMENT Recorded Aug 23, 2024
From: EDGIO, INC.; MOJO MERGER SUB, LLC
To: LYNROCK LAKE MASTER FUND LP [LYNROCK LAKE PARTNERS LLC, ITS GENERAL PARTNER]
Reel/Frame 068763/0276 →
PATENT SECURITY AGREEMENT Recorded Nov 15, 2023
From: EDGIO, INC.; MOJO MERGER SUB, LLC
To: LYNROCK LAKE MASTER FUND LP [LYNROCK LAKE PARTNERS LLC, ITS GENERAL PARTNER]
Reel/Frame 065597/0212 →
PATENT SECURITY AGREEMENT Recorded Nov 15, 2023
From: EDGIO, INC.; MOJO MERGER SUB, LLC
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION
Reel/Frame 065597/0406 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 21, 2022
From: EDGECAST INC.
To: EDGIO, INC.
Reel/Frame 061738/0972 →
CHANGE OF NAME Recorded Mar 15, 2022
From: VERIZON DIGITAL MEDIA SERVICES INC.
To: EDGECAST INC.
Reel/Frame 059367/0990 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 13, 2016
From: PLAYER, GRADY; OWEN, CALVIN RYAN; BRUECK, DAVID FREDERICK
To: VERIZON DIGITAL MEDIA SERVICES INC.
Reel/Frame 040005/0231 →
Continuity (1)
Related Publication 20180109583A1 · Apr 19, 2018