IP Library Granted Patent US 10,044,602
Granted Patent B2
US 10,044,602 · App. 15/693,788 · Granted Aug 7, 2018

Network failover and loop detection in hierarchical networks

Inventors: Amir Reza Khakpour (Santa Monica, CA); Robert J. Peters (Santa Monica, CA); Derek Shiell (Los Angeles, CA)
Assignee: Verizon Digital Media Services Inc.
H04L45/18H04L45/28H04L49/557
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,044,602
App. No.
15/693,788
Granted
Aug 7, 2018
Kind
B2
Abstract

Some embodiments provide loop detection and loop prevention mechanisms for messaging passing in between peers in a multi-tier hierarchy. In some embodiments, the messaging header is modified to track which peers have received a copy of the message. Each peer appends its identifier to the message header before passing the message to another peer. When selecting a receiving peer, the sending peer ensures that the receiving peer is not already identified in the message header. If the receiving peer has already received the message, then another peer from a next-peer list is selected to receive the message. If all peers in the next-peer have been traversed, the sending peer returns an error message via a reverse traversal of the peers in the message header.

Claims (33)

1. A method comprising:

sending a message from a first server in a first tier of servers to a particular server in a second tier of servers over a first network path;

passing a modified message from the first server to a second server in the first tier of servers in response to (i) said sending failing or (ii) poor network performance affecting said sending; and

sending the modified message from the second server to the particular server in the second tier of servers over a different second network path.

2. The method of claim 1 further comprising receiving content from the particular server at the second server in response to said sending the modified message.

3. The method of claim 2 further comprising forwarding said content from the second server to the first server in response to passing the modified message.

4. The method of claim 1 further comprising inspecting a cache of the second server for content referenced in the modified message in response to said passing of the modified message to the second server.

5. The method of claim 4 , wherein said sending the modified message is in response to said inspecting identifying that said content is not present in said cache of the second server.

6. The method of claim 5 further comprising returning said content from said cache of the second server without sending the modified message to the particular server in response to said inspecting identifying that said content is present in said cache and further in response to said passing of the modified message.

7. The method of claim 1 further comprising identifying said second server as a next peer of the first server from a configured peer list of the first tier of servers at the first server before said passing and in response to (i) said sending failing or (ii) said poor network performance.

8. The method of claim 1 further comprising detecting a failure or poor network performance in said sending of the modified message.

9. The method of claim 8 further comprising inspecting a configured peer list of the first tier of servers at the second server in response to said detecting.

10. The method of claim 9 further comprising passing from the second server to the first server, a response that said message cannot be completed in response to the configured peer list comprising one or more server identifiers matching to a first server identifier or any other server identifiers in a header of the modified message.

11. The method of claim 9 further comprising passing a second modified message from the second server to a third server in the first tier of servers in response to said inspecting identifying a third server identifier in the configured peer list as a next peer with an identifier not matching to a first server identifier or any other server identifiers in a header of the modified message, wherein the third server identifier identifies the third server, and wherein the second modified message comprises said message and a header with the first server identifier and a second server identifier.

12. A method comprising:

receiving a message from a first server in a first tier of servers at a second server in the first tier of servers, said message directed to a particular server in a second tier of servers;

sending said message from the second server to the particular server;

identifying at the second server, the first server as a next peer in a next peer list in response to (i) said sending failing or (ii) poor network performance affecting said sending, the next peer list comprising an ordering of other servers in the first tier of servers;

identifying at the second server, a third server in the first tier of servers as a peer after the first server in the next peer list in response to an identifier of the first server being included in a header of said message; and

passing said message from the second server to the third server in response to an identifier of the third server not being included in the header of said message.

13. The method of claim 12 , wherein passing said message comprises inserting an identifier of the second server in said header prior to said passing.

14. The method of claim 12 further comprising inspecting the header of the message at the second server and extracting at least the identifier of the first server based on said inspecting.

15. The method of claim 12 , wherein the next peer list comprises the first server as a first designated peer for the second server and the third server as a second designated peer for the second server.

16. The method of claim 12 , wherein said sending comprises sending the message over a network path to the particular server that is different than a network path connecting the first server to the particular server.

17. A method comprising:

sending a message from a first server in a first tier of servers to a destination;

passing said message from the first server to a second server in the first tier of servers in response to (i) said sending from the first server failing or (ii) poor network performance affecting said sending from the first server;

sending said message from the second server to the destination;

selecting by the second server, a third server in the first tier of servers to attempt sending said message to the destination in response (i) said sending from the second server failing or (ii) poor network performance affecting said sending from the second server, wherein said selecting comprises identifying by the second server, the first server as having previously attempted sending said message to the destination and the third server as not having previously attempted sending said message to the destination; and

passing said message from the second server to the third server in response to said selecting.

18. The method of claim 17 , wherein said passing from the first server comprises inserting an identifier of the first server in a header of said message, and wherein said selecting comprises extracting by the second server, said identifier of the first server from said header.

19. The method of claim 18 , wherein said passing from the second server comprises appending an identifier of the second server to the identifier of the first server in the header of said message.

20. The method of claim 17 , wherein said sending of the message from the first server is over a first network path to the destination, and wherein said sending of the message from the second server is over a different second network path to the destination.

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 Sep 1, 2017
From: KHAKPOUR, AMIR REZA; PETERS, ROBERT J.; SHIELL, DEREK
To: EDGECAST NETWORKS, INC.
Reel/Frame 043470/0874 →
CHANGE OF NAME Recorded Sep 1, 2017
From: EDGECAST NETWORKS, INC.
To: VERIZON DIGITAL MEDIA SERVICES INC.
Reel/Frame 043749/0375 →
Continuity (2)
Continuation 14860287 · Sep 21, 2015
Related Publication 20170366447A1 · Dec 21, 2017