IP Library Granted Patent US 9,559,964
Granted Patent B2
US 9,559,964 · App. 14/819,787 · Granted Jan 31, 2017

Control message routing within anycast reliant platforms

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 9,559,964
App. No.
14/819,787
Granted
Jan 31, 2017
Kind
B2
Abstract

Some embodiments provide a transport session discovery protocol that enables load balancing devices of an Anycast reliant distributed platform to route legacy control messages to destinations within the distributed platform that manage the sessions or connections implicated by the legacy control messages, even when the implicated sessions or connections cannot be directly identified from the control message headers. The modified load balancing operation as a result of the transport session discovery protocol involves identifying a message header mapping to an unrecognized session or connection, extracting session or connection identifying information and an error or condition from the message body, generating a new messaging construct to encapsulate the extracted information, and multicasting the messaging construct to other load balancing devices operating within a common point-of-presence. The load balancing device having knowledge of the server managing the implicated session then routes the error or condition to that server.

Claims (29)

1. A method for directing control messages in a Point-of-Presence (PoP) comprising a plurality of load balancing devices and a plurality of servers with the plurality of servers providing at least one of content and services to different clients, the method comprising:

passing during an established session between a particular server of the plurality of servers and a client, a packet addressed from a first address of the PoP to a second address of the client;

receiving at a first load balancing device of the plurality of load balancing devices, a control message comprising an error or status condition, a first header of the control message, and a second header of the packet, wherein the first header specifies a third address of an intermediary node outside the PoP and the first address, and wherein the second header specifies the first address and the second address; and

sending a new control message from the first load balancing device to all other load balancing devices of the plurality of load balancing devices when the addressing from the first header or the second header does not implicate a session that is tracked by the first load balancing device, wherein the new control message comprises the first address and the second address extracted from the second header and said error or condition status.

2. The method of claim 1 further comprising identifying, in response to said sending of the new control message, a second load balancing device of the plurality of load balancing devices tracking the session implicated by the first and second addresses from the new control message.

3. The method of claim 2 further comprising routing the error or status condition from the new control message to the particular server established as one endpoint of said session.

4. The method of claim 3 further comprising modifying packets generated by the particular server for the session established between the particular server and the client in response to said routing of the error or status condition.

5. The method of claim 4 , wherein modifying the packets generated by the particular server comprises reducing one of a size or rate of packets sent over the established connection between the particular server and the client.

6. The method of claim 1 further comprising creating said session in a session table of the second load balancing device without creating an entry for said session in a session table of the first load balancing device.

7. The method of claim 1 further comprising joining each load balancing device of the plurality of load balancing devices to a particular multicast group.

8. The method of claim 7 , wherein sending the new control message comprises multicasting the new control message to the particular multicast group.

9. The method of claim 1 , wherein the new control message is a smaller size than the control message.

10. The method of claim 1 , wherein the control message is an Internet Control Message Protocol (ICMP) message.

11. The method of claim 10 , wherein the new control message is a User Datagram Protocol (UDP) message comprising only a part of the control message.

12. The method of claim 1 , wherein the second header further specifies a source port and a destination port, and wherein the new control message further comprises the source port and the destination port extracted from the second header.

13. A method comprising:

maintaining a different session table at each of a plurality of load balancing devices operating within a particular point-of-presence (PoP);

receiving at a first load balancing device of the plurality of load balancing devices, a control message comprising an error or status condition, a control message header, and an offending packet header from an offending packet triggering said error or status condition;

determining a set of sessions tracked within a session table of the first load balancing device omits a session implicated by the control message header or the offending packet header;

generating at the first load balancing device, a new message from addressing of the offending packet header and said error or status condition from the control message;

sending the new message from the first load balancing device to all other load balancing devices of the plurality of load balancing devices;

matching, in response to sending the new message, said addressing of the offending packet header from the new message to a session identified within a session table of a second load balancing device of the plurality of load balancing devices; and

routing at least the error or status condition from the second load balancing device to a particular server of a plurality of PoP servers operating as one endpoint of said session.

14. The method of claim 13 further comprising extracting said addressing from the offending packet header and said error or status condition from the control message header.

15. The method of claim 13 , wherein sending the new message comprises multicasting the new message from the first load balancing device to all other load balancing devices of the plurality of load balancing devices.

16. The method of claim 13 further comprising entering said session to the session table of the second load balancing device as a result of receiving a content request at the second load balancing device and forwarding the content request to the particular server.

17. The method of claim 16 , wherein entering said session to the session table of the second load balancing device comprises hashing addressing from the content request and selecting the particular server from the plurality of PoP servers to respond to said request based on a result of said hashing.

18. The method of claim 13 , wherein said session is established between the particular server and a client, and wherein the control message originates from an intermediary node through which the offending packet passes in order to reach the client.

19. The method of claim 13 , wherein said determining comprises hashing any of the control message header or the offending packet header with a result of said hashing not identifying any session of the set of sessions tracked within the session table of the first load balancing device.

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 →
CHANGE OF NAME Recorded Apr 25, 2016
From: EDGECAST NETWORKS, INC
To: VERIZON DIGITAL MEDIA SERVICES INC.
Reel/Frame 038511/0045 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 6, 2015
From: HARTRICK, TIMOTHY W.; HASSON, MARC; BRAN, JUAN; LOTFI, HOSSEIN
To: EDGECAST NETWORKS, INC.
Reel/Frame 036268/0489 →