IP Library Granted Patent US 9,473,410
Granted Patent B2
US 9,473,410 · App. 14/230,045 · Granted Oct 18, 2016

System and method for load balancing in computer networks

Inventor: Michael Marchetti (Cambridge, CA)
Assignee: SANDVINE INCORPORATED ULC
H04L47/125H04L45/74
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,473,410
App. No.
14/230,045
Granted
Oct 18, 2016
Kind
B2
Abstract

A method and system for load balancing are provided. The method includes: receiving a tunnel frame from a traffic flow; determining whether the tunnel frame is one of a plurality of frames from a packet; if the frame is one of a plurality of frames, reassembling the plurality of frames associated with the packet to determine an inner IP header; load balancing the packet based on the inner IP header; and applying traffic policies to the packet. The system has: a traffic interface configured to receive a tunnel frame from the traffic flow; a subscriber load balancer configured to determine whether the tunnel frame is one of a plurality of frames from a packet; at least one IP reassembly engine configured to reassemble the plurality of frames associated with the packet to determine an inner IP header; and at least one flow policy engine configured to load balance the packet based on the inner IP header; and apply traffic policies to the packet.

Claims (41)

1. A method for load balancing network traffic comprising:

receiving a tunnel frame from a traffic flow;

determining whether the tunnel frame is one of a plurality of frames from a packet;

if the tunnel frame is one of a plurality of frames, reassembling the plurality of frames associated with the packet to determine a subscriber Internet Protocol (IP) header, and generate an inner IP header based on the subscriber IP header and comprising metadata related to subscriber identity;

determining whether there are Maximum Transmission Unit (MTU) restrictions associated with a path of the packet;

if there are MTU restrictions, fragmenting the packet into a plurality of re-fragmented frames; and

inserting the inner IP header into a subscriber payload of each frame of the plurality of re-fragmented frames;

load balancing the packet or re-fragmented frames based on the metadata related to subscriber identity; and

applying traffic policies to the packet or re-fragmented frames.

2. The method of claim 1 further comprising diverting the packet or re-fragmented frames after applying the traffic policies to the packet or re-fragmented frames.

3. The method of claim 1 wherein, determining whether the tunnel frame is one of a plurality of frames associated with the packet comprises determining whether a tunnel sending the frame fragments packets.

4. The method of claim 3 wherein, determining whether the tunnel sending the frame fragments packets comprises:

determining the tunnel identification; and

retrieving fragmentation data associated with the tunnel.

5. The method of claim 1 wherein the applying traffic policies comprises sending the plurality of frames of the packet across a plurality of links to a specific flow policy engine.

6. The method of claim 1 , wherein the determining of the IP header is determined from a first frame of the plurality of frames.

7. The method of claim 1 , wherein the determining of the IP header is determined from the reassembled plurality of frames.

8. A system for load balancing comprising:

at least one processor coupled to a memory storing instructions executable by that at least one processor to implement:

a traffic interface configured to receive a frame packet from a traffic flow;

a subscriber load balancer configured to determine whether a tunnel frame is one of a plurality of frames from a packet;

at least one Internet protocol (IP) reassembly engine, configured to reassemble the plurality of frames, wherein the IP reassembly engine is further configured to:

determine a subscriber IP header associated with the packet;

generate an inner IP header based on the subscriber IP header and

comprising metadata related to subscriber identity;

determine whether there are Maximum Transmission Unit (MTU)

restrictions associated with a path of the packet;

if there are MTU restrictions, fragment the packet into a plurality of frames; and

insert the inner IP header into a subscriber payload of each frame of the plurality of frames; and

at least one flow policy engine configured to load balance the packet or re-fragmented frames based on the metadata related to subscriber identity and apply traffic policies to the packet or re-fragmented frames.

9. The system of claim 8 further comprising a diverted flow policy engine configured to divert the packet or re-fragmented frames after applying the traffic policies to the packet.

10. The system of claim 8 wherein, the subscriber load balancer is further configured to determine if the tunnel frame is one of a plurality of frames, whether a tunnel sending the frame fragments packets.

11. The system of claim 10 further comprising, a tunnel fragmentation learning module configured to determine whether the tunnel sending the frame fragments packets by:

determining the tunnel identification; and

retrieving fragmentation data associated with the tunnel.

12. The system of claim 8 wherein the at least one flow policy engine is configured to perform deep packet inspection (DPI) on the packet.

13. The system of claim 8 comprising a plurality of flow policy engines wherein the at least one IP reassembly engine is further configured to send the plurality of frames of the packet across a plurality of links to the same flow policy engine.

14. The system of claim 8 , wherein the IP reassembly engine is further configured to determine the IP header from a first frame of plurality of frames.

15. The system of claim 8 , wherein the IP reassembly engine is further configured to determine the IP header from the reassembled plurality of frames.

16. The method of claim 1 wherein the tunnel frame is received at a middle node between tunnel endpoints.

17. The system of claim 8 wherein the system is a middle node located between tunnel endpoints.

Assignments (4)
MERGER Recorded Dec 7, 2018
From: SANDVINE CORPORATION; SANDVINE INCORPORATED ULC; SANDVINE LTD.; SANDVINE TECHNOLOGIES (CANADA) INC.
To: SANDVINE CORPORATION
Reel/Frame 047750/0077 →
MERGER Recorded Dec 7, 2018
From: PNI CANADA ACQUIRECO CORP.; SANDVINE CORPORATION
To: PNI CANADA ACQUIRECO CORP.
Reel/Frame 047750/0326 →
CHANGE OF NAME Recorded Dec 7, 2018
From: PNI CANADA ACQUIRECO CORP.
To: SANDVINE CORPORATION
Reel/Frame 048897/0558 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 31, 2014
From: MARCHETTI, MICHAEL
To: SANDVINE INCORPORATED ULC
Reel/Frame 032557/0797 →
Continuity (1)
Related Publication 20150281089A1 · Oct 1, 2015