IP Library Granted Patent US 7,290,050
Granted Patent B1
US 7,290,050 · App. 10/252,061 · Granted Oct 30, 2007

Transparent load balancer for network connections

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 7,290,050
App. No.
10/252,061
Granted
Oct 30, 2007
Kind
B1
Abstract

A transparent load balancer receives incoming Ethernet frames having incoming source and destination IP and MAC addresses. The load balancer diverts the incoming frames to one of several multi-application platforms. The incoming frames are communicated across a first TCP connection that terminates on a multi-application platform. The first TCP connection is defined by TCP source and destination ports. The transparent load balancer receives outgoing frames from the multi-application platform and outputs the outgoing frames with source and destination IP and MAC addresses that are identical to the incoming source and destination IP and MAC addresses. The outgoing frames are communicated across a second TCP connection, the second TCP connection being defined by the same TCP source port and TCP destination port of the first TCP connection. The transparent load balancer and multi-application platforms can be inserted into a running network without noticeable interruption to devices on the network.

Claims (33)

1. A method, comprising:

receiving a plurality of first incoming frames, each of the first incoming frames carrying a frame payload and having an incoming source IP address, an incoming source MAC address, an incoming destination IP address and an incoming destination MAC address;

forwarding all of the first incoming frames to a first application platform, a first TCP connection being terminated on the first application platform, the frame payloads of the first incoming frames together comprising a first data portion, the first data portion being communicated across the first TCP connection;

receiving a plurality of first outgoing frames from the first application platform, each of the first outgoing frames carrying a frame payload, the frame payloads of the first outgoing frames together comprising the first data portion; and

outputting the first outgoing frames, each of the first outgoing frames having an outgoing source IP address that is identical to the incoming source IP address, an outgoing source MAC address that is identical to the incoming source MAC address, an outgoing destination IP address that is identical to the incoming destination IP address and an outgoing destination MAC address that is identical to the incoming destination MAC address.

2. The method of claim 1 , wherein the first data portion is a data accumulation representing a voice communication.

3. The method of claim 1 , wherein the first outgoing frames are output across a second TCP connection, the first TCP connection being defined by a first TCP source port and a first TCP destination port, the second TCP connection being defined by the same first TCP source port and the same first TCP destination port.

4. The method of claim 3 , further comprising:

receiving a plurality of second incoming frames, each of the second incoming frames carrying a frame payload and having a second source IP address, a second source MAC address, a second destination IP address and a second destination MAC address;

forwarding all of the second incoming frames to a second application platform, a third TCP connection being terminated on the second application platform, the frame payloads of the second incoming frames together comprising a second data portion, the second data portion being communicated across the third TCP connection;

receiving a plurality of second outgoing frames from the second application platform, each of the second outgoing frames carrying a frame payload, the frame payloads of the second outgoing frames together comprising the second data portion; and

outputting the second outgoing frames, each of the second outgoing frames having a source IP address that is identical to the second source IP address, a source MAC address that is identical to the second source MAC address, a destination IP address that is identical to the second destination IP address and a destination MAC address that is identical to the second destination MAC address.

5. The method of claim 4 , wherein the second outgoing frames are output across a fourth TCP connection, the third TCP connection being defined by a third TCP source port and a third TCP destination port, the fourth TCP connection being defined by the same third TCP source port and the same third TCP destination port.

6. A load balancer, comprising:

a first interface that receives a plurality of first incoming frames each having a frame payload, the frame payloads of the first incoming frames together comprising a first data portion, the first data portion being communicated across a first TCP connection, each of the first incoming frames having an incoming source IP address, an incoming source MAC address, an incoming destination IP address and an incoming destination MAC address;

an address translator that gives the first incoming frames a destination IP address and a destination MAC address of a first application platform, the first TCP connection being terminated on the first application platform, the first interface outputting the first incoming frames, the first interface receiving a plurality of first outgoing frames from the first application platform, the first outgoing frames each having a frame payload, the frame payloads of the first outgoing frames together comprising the first data portion, the address translator giving the first outgoing frames the incoming source IP address, the incoming source MAC address, the incoming destination IP address and the incoming destination MAC address; and

a second interface that outputs the first outgoing frames.

7. The load balancer of claim 6 , wherein the first data portion is a data accumulation representing a voice communication.

8. The load balancer of claim 6 , wherein the first interface receives a plurality of second incoming frames each having a frame payload, the frame payloads of the second incoming frames together comprising a second data portion, the second data portion being communicated across a third TCP connection, each of the second incoming frames having a second source IP address, a second source MAC address, a second destination IP address and a second destination MAC address, the address translator giving the second incoming frames a destination IP address and a destination MAC address of a second application platform, the third TCP connection being terminated on the second application platform, the first interface outputting the second incoming frames, the first interface receiving a plurality of second outgoing frames from the second application platform, the second outgoing frames each having a frame payload, the frame payloads of the second outgoing frames together comprising the second data portion, the address translator giving the second outgoing frames the second source IP address, the second source MAC address, the second destination IP address and the second destination MAC address, the second interface outputting the second outgoing frames.

9. The load balancer of claim 6 , wherein the first application platform uses a platform IP address, the platform IP address differing from the incoming destination IP address.

10. The load balancer of claim 6 , wherein the first TCP connection is defined by a first TCP source port and a first TCP destination port, and wherein the first outgoing frames are output from the second interface across a second TCP connection, the second TCP connection being defined by the first TCP source port and the first TCP destination port.

11. The load balancer of claim 10 , wherein the first TCP connection extends through the load balancer to the first application platform, and wherein the second TCP connection extends from the first application platform through the load balancer.

12. A system, comprising:

a first multi-application platform that terminates a first TCP connection and originates a second TCP connection, the first TCP connection having a first TCP source port and the second TCP connection having a second TCP destination port; and

a transparent load balancer that receives first incoming frames and second incoming frames, the transparent load balancer diverting the first incoming frames to the first multi-application platform, the first incoming frames each having an incoming source IP address, an incoming source MAC address, an incoming destination IP address and an incoming destination MAC address and being communicated across the first TCP connection, the first TCP connection having the second TCP destination port as a TCP destination port,

wherein the transparent load balancer receives first outgoing frames from the first multi-application platform and sends the first outgoing frames with an outgoing source IP address that is identical to the incoming source IP address, an outgoing source MAC address that is identical to the incoming source MAC address, an outgoing destination IP address that is identical to the incoming destination IP address and an outgoing destination MAC address that is identical to the incoming destination MAC address to the second TCP destination port.

13. The system of claim 12 , wherein each of the first incoming frames carries a frame payload, the frame payloads of the first incoming frames together comprising a first data portion, the first multi-application platform containing a program, the program operating on the data portion.

14. The system of claim 12 , further comprising:

a second multi-application platform that terminates a third TCP connection and originates a fourth TCP connection, the third TCP connection having a third TCP source port and the fourth TCP connection having a fourth TCP destination port, the transparent load balancer diverting the second incoming frames to the second multi-application platform, the second incoming frames being communicated across the third TCP connection, the third TCP connection having the fourth TCP destination port as a TCP destination port.

15. The system of claim 14 , wherein the transparent load balancer receives first outgoing frames from the first multi-application platform and sends the first outgoing frames to the second TCP destination port, and receives second outgoing frames from the second multi-application platform and sends the second outgoing frames to the fourth TCP destination port.

16. The system of claim 15 , wherein each of the first incoming frames carries a frame payload, the frame payloads of the first incoming frames together comprising a first data portion, each of the first outgoing frames carrying a frame payload, the frame payloads of the first outgoing frames together comprising the first data portion.

17. The system of claim 16 , wherein the first data portion is a data accumulation representing a voice communication.

18. The system of claim 16 , wherein the first data portion is an application file.

Assignments (13)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2019
From: SYMANTEC CORPORATION
To: CA, INC.
Reel/Frame 051144/0918 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 27, 2016
From: BLUE COAT SYSTEMS, INC.
To: SYMANTEC CORPORATION
Reel/Frame 039851/0044 →
RELEASE OF SECURITY INTEREST Recorded Aug 1, 2016
From: JEFFERIES FINANCE LLC
To: BLUE COAT SYSTEMS, INC.
Reel/Frame 039516/0929 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 30740/0181 Recorded May 29, 2015
From: JEFFERIES FINANCE LLC
To: BLUE COAT SYSTEMS, INC.
Reel/Frame 035797/0280 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 27727/0144 Recorded May 29, 2015
From: JEFFERIES FINANCE LLC
To: BLUE COAT SYSTEMS, INC.
Reel/Frame 035798/0006 →
SECURITY INTEREST Recorded May 22, 2015
From: BLUE COAT SYSTEMS, INC.
To: JEFFERIES FINANCE LLC, AS THE COLLATERAL AGENT
Reel/Frame 035751/0348 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Jul 3, 2013
From: BLUE COAT SYSTEMS, INC.
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 030740/0181 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL RECORDED AT R/F 027727/0178 Recorded Oct 16, 2012
From: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
To: BLUE COAT SYSTEMS, INC.
Reel/Frame 029140/0170 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Feb 16, 2012
From: BLUE COAT SYSTEMS, INC.
To: JEFFERIES FINANCE LLC
Reel/Frame 027727/0144 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Feb 16, 2012
From: BLUE COAT SYSTEMS, INC.
To: JEFFERIES FINANCE LLC
Reel/Frame 027727/0178 →
MERGER Recorded Feb 14, 2007
From: OSITIS SOFTWARE, INC.
To: BLUE COAT SYSTEMS, INC.
Reel/Frame 018889/0796 →
MERGER Recorded Feb 27, 2004
From: OSITIS SOFTWARE, INC.
To: BLUE COAT SYSTEMS, INC.
Reel/Frame 015012/0497 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 27, 2002
From: SMITH, CAMERON; OSITIS, VILIS
To: OSITIS SOFTWARE, INC.
Reel/Frame 013535/0033 →