IP Library Granted Patent US 8,130,645
Granted Patent B2
US 8,130,645 · App. 12/685,505 · Granted Mar 6, 2012

Method and architecture for a scalable application and security switch using multi-level load balancing

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 8,130,645
App. No.
12/685,505
Granted
Mar 6, 2012
Kind
B2
Abstract

A switch architecture and method provides scaling through multi-level load balancing of flows across data and application processing planes. An input/output module receives a communication session flow (forward) from a client device and selects one of a plurality of data processors to process the flow. The selected data processor determines the level of processing needed for the forward flow and selects an application processor from a plurality of such application processors. The application processor generates a session structure identifying actions to be performed on the forward flow and transfers the session structure to the selected data processor to perform the actions on the forward flow. The application processor also predictively generates and offloads a session structure for the associated reverse flow. If the reverse session structure is offloaded to a different data processor, either the forward or reverse flow redirects packets, or is redirected, to the data processor hosting the other flow. Typically, the redirection is accomplished by offloading a redirection structure as the offloaded session structure.

Claims (30)

1. An application switch comprising:

a first I/O interface coupled to a backplane, the first I/O interface configured for receiving one or more packets in a forward flow from a first client device;

a plurality of data processors, each data processor communicatively coupled to the first I/O interface via the backplane and configured for operating upon received forward flow packets;

a plurality of application processors communicatively coupled to the plurality of data processors via the backplane, the application processors configured for generating a session structure including instructions for processing received forward flow packets; and

wherein the first I/O interface is further configured for executing a data processor load balancing algorithm and selecting a target one of the plurality of data processors to process the forward flow packets, wherein the selected data processor is further configured for executing an application processor load balancing algorithm and selecting one of the plurality of application processors to generate the session structure, and the selected application processor is further configured for transferring the session structure to the selected target data processor for processing the forward flow packets.

2. The switch in accordance with claim 1 wherein the session structure comprises one or more actions to be performed on the forward flow packets.

3. A method of load balancing communication connection sessions received at an application switch, the method comprising:

receiving a forward flow of a communication session from a source device;

selecting a one of a plurality of data processors to process the forward flow in accordance with a data processor load balancing algorithm;

transferring the forward flow to the data processor selected to process the forward flow;

determining from the forward flow a level of application processing needed for the forward flow;

transferring the forward flow to an application processor configured for providing the determined level of application processing;

generating a forward session structure for the forward flow that identifies one or more actions to be performed on the forward flow; and

offloading the forward session structure to the selected data processor and processing the forward flow in accordance therewith.

4. The method in accordance with claim 3 further comprising:

selecting a one of a plurality of application processors to process the forward flow in accordance with an application load balancing algorithm; and

transferring the forward flow to the selected application processor.

5. A computer program embodied on a non-transitory computer readable medium and configured to be executed by a processor, the computer program comprising computer readable program code for:

receiving a forward flow of a communication session from a source device;

selecting a one of a plurality of data processors to process the forward flow in accordance with a data processor load balancing algorithm;

transferring the forward flow to the data processor selected to process the forward flow;

determining from the forward flow a level of application processing needed for the forward flow;

transferring the forward flow to an application processor configured for providing the determined level of application processing;

generating a forward session structure for the forward flow that identifies one or more actions to be performed on the forward flow; and

offloading the forward session structure to the selected data processor and processing the forward flow in accordance therewith.

6. The computer program in accordance with claim 5 wherein the computer program further comprises computer readable program code for:

selecting a one of a plurality of application processors to process the forward flow in accordance with an application load balancing algorithm; and

transferring the forward flow to the selected application processor.

7. The computer program in accordance with claim 5 wherein the computer program further comprises computer readable program code for:

redirecting a reverse flow to the data processor selected to process the forward flow and processing the reverse flow in accordance with the forward session structure.

Assignments (7)
RELEASE OF SECURITY INTEREST Recorded Oct 26, 2020
From: JEFFERIES FINANCE LLC
To: RPX CLEARINGHOUSE LLC
Reel/Frame 054305/0505 →
SECURITY INTEREST Recorded Jun 29, 2018
From: RPX CLEARINGHOUSE LLC
To: JEFFERIES FINANCE LLC
Reel/Frame 046485/0644 →
RELEASE (REEL 038041 / FRAME 0001) Recorded Jan 2, 2018
From: JPMORGAN CHASE BANK, N.A.
To: RPX CORPORATION; RPX CLEARINGHOUSE LLC
Reel/Frame 044970/0030 →
SECURITY AGREEMENT Recorded Mar 9, 2016
From: RPX CORPORATION; RPX CLEARINGHOUSE LLC
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 038041/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 9, 2015
From: ROCKSTAR CONSORTIUM US LP; ROCKSTAR CONSORTIUM LLC; BOCKSTAR TECHNOLOGIES LLC; CONSTELLATION TECHNOLOGIES LLC; MOBILESTAR TECHNOLOGIES LLC; NETSTAR TECHNOLOGIES LLC
To: RPX CLEARINGHOUSE LLC
Reel/Frame 034924/0779 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 11, 2014
From: ROCKSTAR BIDCO, LP
To: ROCKSTAR CONSORTIUM US LP
Reel/Frame 032425/0867 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 28, 2011
From: NORTEL NETWORKS LIMITED
To: ROCKSTAR BIDCO, LP
Reel/Frame 027143/0717 →