IP Library Granted Patent US 10,530,679
Granted Patent B2
US 10,530,679 · App. 15/670,190 · Granted Jan 7, 2020

Purging failover through application controlled transit selection

Inventors: Amir Reza Khakpour (Los Angeles, CA); Derek Shiell (Los Angeles, CA)
Assignee: Verizon Digital Media Services Inc.
H04L45/22H04L1/20H04L45/12H04L45/24H04L45/42H04L1/188H04L12/1868H04L45/306H04L45/70H04L45/74H04W88/06
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,530,679
App. No.
15/670,190
Granted
Jan 7, 2020
Kind
B2
Abstract

Some embodiments provide redundancy and failover for accelerating and improving the processing of commands across a distributed platform. A distributed platform administrative server distributes commands to different distributed platform points-of-presence (PoPs) for execution. The administrative server distributes the commands over a first set of transit provider paths that connect the server to each PoP. The administrative server selects the first set of paths based on different addressing associated with each of the paths. If any of the first paths is unavailable or underperforming, the administrative server selects a second path by changing a destination address and resends the command to the particular PoP over the second path. Some embodiments further modify PoP server operation so that the PoP servers can identify commands issued according to the different path addressing and distribute such commands to all other servers of the same PoP upon identifying the different path addressing.

Claims (31)

1. A method comprising:

distributing a command to a common destination simultaneously over each of (i) a first transit provider path using a first network address of the common destination, and (ii) a different second transit provider path using a second network address of the common destination, wherein the first transit provider path comprises a first set of network hops to the common destination with at least one different network hop than a second set of network hops comprising the second transit provider path to the common destination;

receiving confirmation of command execution over the first transit provider path in response to said common destination executing the command distributed over the first transit provider path as a result of the command distributed over the first transit provider path reaching the common destination before the command distributed over the second transit provider path;

receiving confirmation of command execution over the second transit provider path in response to said common destination executing the command distributed over the second transit provider path as a result of the command distributed over the second transit provider path reaching the common destination before the command distributed over the first transit provider path; and

discarding a redundant copy of the command arriving at the common destination from one of the first and second transit provider paths after earlier arrival of the command from another of the first and second transit provider paths.

2. The method of claim 1 , wherein receiving confirmation over the first transit provider path is further in response to the first transit provider path having lower latency to the common destination than the second transit provider path, and wherein receiving confirmation over the second transit provider path is further in response to the second transit provider path having lower latency to the common destination than the first transit provider.

3. The method of claim 1 , wherein said distributing comprises addressing a first message comprising said command with a first Internet Protocol (IP) address that is advertised over the first transit provider path by the common destination, and addressing a second message comprising said command with a different second IP address that is advertised over the second transit provider path by the common destination.

4. The method of claim 3 further comprising receiving from the common destination, a first route advertisement comprising the first IP address via the first transit provider path, and a second route advertisement comprising the second IP address via the second transit provider path.

5. The method of claim 1 , wherein receiving confirmation over the first transit provider path indicates faster performance over the first transit provider path than the second transit provider path, and wherein receiving confirmation over the second transit provider path indicates faster performance over the second transit provider path than the first transit provider path.

6. The method of claim 5 further comprising distributing subsequent messaging to the common destination over the first transit provider path in response to receiving confirmation of command execution over the first transit provider path.

7. The method of claim 1 further comprising monitoring performance over the first transit provider path and the second transit provider path based on said receiving confirmation over the first transit provider path and said receiving confirmation over the second transit provider path.

8. The method of claim 1 further comprising:

monitoring at least one parameter associated with performance of the first transit provider path and the second transit provider path to the common destination;

sending a new message over the first transit provider path, before sending the new message over the second transit provider path, by addressing the new message to the first network address based on said monitoring of the at least one parameter identifying faster transit through the first transit provider path than the second transit provider path; and

sending a new message over the second transit provider path, before sending the new message over the first transit provider path, by addressing the new message to the second network address based on said monitoring of the at least one parameter identifying faster transit through the second transit provider path than the first transit provider path.

9. The method of claim 8 , wherein monitoring the at least one parameter comprises periodically pinging at least the first address and the second address.

10. The method of claim 8 further comprising monitoring cost associated with sending a message over each of the first and second transit provider paths, and wherein said sending the new message over the first transit provider path is further in response to the cost of sending said message over the first transit provider path being less than the cost of sending said message over the second transit provider path.

11. The method of claim 8 , wherein monitoring the at least one parameter comprises detecting different amounts of congestion affecting the first transit provider path and the second transit provider path.

12. The method of claim 8 further comprising receiving from a router at the common destination, a first route advertisement message over the first transit provider path comprising the first network address, and a second route advertisement message over the second transit provider path comprising the second network address.

13. A non-transitory computer-readable medium, storing a set of processor-executable instructions, which, when executed by one or more processors, cause the one or more processors to:

distribute a command to a common destination simultaneously over each of (i) a first transit provider path using a first network address of the common destination, and (ii) a different second transit provider path using a second network address of the common destination, wherein the first transit provider path comprises a first set of network hops to the common destination with at least one different network hop than a second set of network hops comprising the second transit provider path to the common destination;

receive confirmation of command execution over the first transit provider path in response to said common destination executing the command distributed over the first transit provider path as a result of the command distributed over the first transit provider path reaching the common destination before the command distributed over the second transit provider path;

receive confirmation of command execution over the second transit provider path in response to said common destination executing the command distributed over the second transit provider path as a result of the command distributed over the second transit provider path reaching the common destination before the command distributed over the first transit provider path; and

discard a redundant copy of the command arriving at the common destination from one of the first and second transit provider paths after earlier arrival of the command from another of the first and second transit provider paths.

14. 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:

distribute a command to a common destination simultaneously over each of (i) a first transit provider path using a first network address of the common destination, and (ii) a different second transit provider path using a second network address of the common destination, wherein the first transit provider path comprises a first set of network hops to the common destination with at least one different network hop than a second set of network hops comprising the second transit provider path to the common destination;

receive confirmation of command execution over the first transit provider path in response to said common destination executing the command distributed over the first transit provider path as a result of the command distributed over the first transit provider path reaching the common destination before the command distributed over the second transit provider path; and

receive confirmation of command execution over the second transit provider path in response to said common destination executing the command distributed over the second transit provider path as a result of the command distributed over the second transit provider path reaching the common destination before the command distributed over the first transit provider path; and

discard a redundant copy of the command arriving at the common destination from one of the first and second transit provider paths after earlier arrival of the command from another of the first and second transit provider paths.

Assignments (11)
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 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 30, 2025
From: EDGIO, INC.
To: DRNC HOLDINGS, INC.
Reel/Frame 070071/0327 →
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 Aug 7, 2017
From: KHAKPOUR, AMIR REZA; SHIELL, DEREK
To: EDGECAST NETWORKS, INC.
Reel/Frame 043214/0928 →
CHANGE OF NAME Recorded Aug 7, 2017
From: EDGECAST NETWORKS, INC.
To: VERIZON DIGITAL MEDIA SERVICES INC.
Reel/Frame 043477/0896 →
Continuity (3)
Continuation 15066862 · Mar 10, 2016
Continuation In Part 14679266 · Apr 6, 2015
Related Publication 20170339047A1 · Nov 23, 2017