IP Library Granted Patent US 10,516,608
Granted Patent B2
US 10,516,608 · App. 14/483,317 · Granted Dec 24, 2019

Systems and methods for directly responding to distributed network traffic

Inventor: Michael P. Biancaniello (Haymarket, VA)
Assignee: Oath Inc.
H04L45/74H04L61/10H04L67/10H04L67/1002H04L67/42
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,516,608
App. No.
14/483,317
Granted
Dec 24, 2019
Kind
B2
Abstract

Systems and methods are disclosed for directly responding to distributed network traffic received from a plurality of client devices. One method includes receiving, at a source device, client requests including a packet having a reserved portion, a source portion, and a destination portion; determining, for each client request, a target device from a plurality of target devices to respond to the client request; modifying, for each client request by the source device, the destination portion of the packet to an address of target device; modifying, for each client request by a switching layer prior to the target device receiving the modified client request, the destination portion; and responding directly to each client request by the target device without traversing the source device.

Claims (52)

1. A computer-implemented method for directly responding to client requests received from a plurality of client devices, the method including:

receiving, at a source device, a client request from a client device of the plurality of client devices, wherein the client request includes a packet having a reserve portion, a source portion set to an address of the client device, and a destination portion set to include each of a virtual IP (“VIP”) address and a VIP port of the source device, wherein the reserve portion includes Differentiated Service Code Point (“DCSP”) bits, and wherein the VIP address of the source device is provided to the client device by a domain name server (“DNS”) server;

determining, by the source device, a target device from a plurality of target devices to respond to the client request;

modifying, by the source device, the destination portion of the packet from the VIP address of the source device to an address of the determined target device, and modifying, by the source device, the source portion to indicate the VIP address of the source device;

transmitting, by the source device, the modified client request to the determined target device, wherein the source device uses an application programming interface to transmit the modified client request, and wherein the source device transmits the modified client request across a layer 3 boundary and via a protocol having type length value (TLV) packets;

prior to the determined target device receiving the modified client request, inspecting, by a switching layer, the packet of the client request, wherein the switching layer includes one or more of a switch and a router configured with a software-defined networking (SDN) traffic director, and wherein the SDN traffic director is configured to modify the packet of the client request;

based on the inspection, modifying by the switching layer, the VIP port in the destination portion of the packet to a port of the determined target device; and

responding, by the determined target device, to the client request by sending a response directly from the determined target device to the client device without traversing the source device, wherein the response includes a packet having a source portion set to the VIP address of the source device and a destination portion set to the address of the client device.

2. The method of claim 1 , wherein the source device is a load balancer and the target device is a server.

3. The method of claim 1 , further comprising:

modifying, by the switching layer, the port of the determined target device in the response to the VIP port of the source device based on a predetermined table,

wherein the port of the determined target device is different from the VIP port of the source device.

4. The method of claim 1 , further comprising:

determining, by the switching layer, whether the response includes a close connection indication; and

transmitting, by the switching layer, any determined close connection indication to the source device for a response determined to include the close connection indication.

5. The method of claim 1 , wherein Internet Protocol defines a format of the client request and the response.

6. The method of claim 1 , wherein the DSCP bits of the reserve portion comprise an IPv4 packet header of the packet.

7. A system for directly responding to client requests received from a plurality of client devices, the system including:

a data storage device that stores instructions for directly responding to client requests received from a plurality of client devices; and

a processor configured to execute the instructions to perform a method including:

receiving, at a source device, a client request from a client device of the plurality of client devices, wherein the client request includes a packet having a reserve portion, a source portion set to an address of the client device, and a destination portion set to include each of a virtual IP (“VIP”) address and a VIP port of the source device, wherein the reserve portion includes Differentiated Service Code Point (“DCSP”) bits, and wherein the VIP address of the source device is provided to the client device by a domain name server (“DNS”) server;

determining, by the source device, a target device from a plurality of target devices to respond to the client request;

modifying, by the source device, the destination portion of the packet from the VIP address of the source device to an address of the determined target device, and modifying, by the source device, the source portion to indicate the VIP address of the source device;

transmitting, by the source device, the modified client request to the determined target device, wherein the source device uses an application programming interface to transmit the modified client request, and wherein the source device transmits the modified client request across a layer 3 boundary and via a protocol having type length value (TLV) packets;

prior to the determined target device receiving the modified client request, inspecting, by a switching layer, the packet of the client request, wherein the switching layer includes one or more of a switch and a router configured with a software-defined networking (SDN) traffic director, and wherein the SDN traffic director is configured to modify the packet of the client request;

based on the inspection, modifying by the switching layer, the VIP port in the destination portion of the packet to a port of the determined target device; and

responding, by the determined target device, to the client request by sending a response directly from the determined target device to the client device without traversing the source device, wherein the response includes a packet having a source portion set to the VIP address of the source device and a destination portion set to the address of the client device.

8. The system of claim 7 , wherein the source device is a load balancer and the target device is a server.

9. The system of claim 7 , wherein the processor is further configured to execute the instructions to perform the method including:

modifying, by the switching layer, the port of the determined target device in the response to the VIP port of the source device based on a predetermined table,

wherein the port of the determined target device is different from the VIP port of the source device.

10. The system of claim 7 , wherein the processor is further configured to execute the instructions to perform the method including:

determining, by the switching layer, whether the response includes a close connection indication; and

transmitting, by the switching layer, any determined close connection indication to the source device for a response determined to include the close connection indication.

11. The system of claim 7 , wherein Internet Protocol defines a format of the client request and the response.

12. The system of claim 7 , wherein the DSCP bits of the reserve portion comprise an IPv4 packet header of the packet.

13. A non-transitory computer-readable medium storing instructions that, when executed by a computer, cause the computer to perform a method of directly responding to client requests received from a plurality of client devices, the method including:

receiving, at a source device, a client request from a client device of the plurality of client devices, wherein the client request includes a packet having a reserve portion, a source portion set to an address of the client device, and a destination portion set to include each of a virtual IP (“VIP”) address and a VIP port of the source device, wherein the reserve portion includes Differentiated Service Code Point (“DCSP”) bits, and wherein the VIP address of the source device is provided to the client device by a domain name server (“DNS”) server;

determining, by the source device, a target device from a plurality of target devices to respond to the client request;

modifying, by the source device, the destination portion of the packet from the VIP address of the source device to an address of the determined target device, and modifying, by the source device, the source portion to indicate the VIP address of the source device;

transmitting, by the source device, the modified client request to the determined target device, wherein the source device uses an application programming interface to transmit the modified client request, and wherein the source device transmits the modified client request across a layer 3 boundary and via a protocol having type length value (TLV) packets;

prior to the determined target device receiving the modified client request, inspecting, by a switching layer, the packet of the client request, wherein the switching layer includes one or more of a switch and a router configured with a software-defined networking (SDN) traffic director, and wherein the SDN traffic director is configured to modify the packet of the client request;

based on the inspection, modifying by the switching layer, the VIP port in the destination portion of the packet to a port of the determined target device; and

responding, by the determined target device, to the client request by sending a response directly from the determined target device to the client device without traversing the source device, wherein the response includes a packet having a source portion set to the VIP address of the source device and a destination portion set to the address of the client device.

14. The computer-readable medium of claim 13 , wherein the source device is a load balancer and the target device is a server.

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

modifying, by the switching layer, the port of the determined target device in the response to the VIP port of the source device based on a predetermined table,

wherein the port of the determined target device is different from the VIP port of the source device.

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

determining, by the switching layer, whether the response includes a close connection indication; and

transmitting, by the switching layer, any determined close connection indication to the source device for a response determined to include the close connection indication.

17. The computer-readable medium of claim 13 , wherein the DSCP bits of the reserve portion comprise an IPv4 packet header of the packet.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 19, 2021
From: VERIZON MEDIA INC.
To: VERIZON PATENT AND LICENSING INC.
Reel/Frame 057453/0431 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2020
From: OATH INC.
To: VERIZON MEDIA INC.
Reel/Frame 054258/0635 →
CHANGE OF NAME Recorded Jun 29, 2017
From: AOL INC.
To: OATH INC.
Reel/Frame 043052/0401 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 11, 2014
From: BIANCANIELLO, MICHAEL P.
To: AOL INC.
Reel/Frame 033719/0438 →
Continuity (1)
Related Publication 20160080259A1 · Mar 17, 2016