IP Library Granted Patent US 9,270,593
Granted Patent B2
US 9,270,593 · App. 14/244,122 · Granted Feb 23, 2016

Prediction based methods for fast routing of IP flows using communication/network processors

Inventors: Benzeer B. Pazhayakath (Bangalore, IN); Vishal D. Ajmera (Bangalore, IN); Santosh Narayanan (Bangalore, IN)
Assignee: Avago Technologies General IP (Singapore) Pte. Ltd.
H04L45/7453H04L45/38
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,270,593
App. No.
14/244,122
Granted
Feb 23, 2016
Kind
B2
Abstract

Aspects of the disclosure pertain to a system and method for providing prediction based, fast routing of IP flows. A hash table-based mechanism is implemented by the system such that classification information obtained and/or utilized for a first packet of an IP flow is applied to subsequent packets of the IP flow, thereby promoting packet processing efficiency for the flow.

Claims (45)

1. A method for processing a packet flow via a processor, the method comprising:

receiving a first packet of the flow;

parsing the first packet, extracting fields of the first packet, and validating the extracted fields of the first packet;

performing a series of table lookups for the validated fields to determine a destination for the first packet;

transmitting the first packet to the determined destination; and

storing data corresponding to the validated fields and the determined destination of the first packet in a hash table in a memory of the processor, the data being a signature function for the packet flow.

2. The method as claimed in claim 1 , further comprising:

receiving a second packet of the flow.

3. The method as claimed in claim 2 , further comprising:

parsing the second packet, extracting fields of the second packet, and validating the extracted fields of the second packet.

4. The method as claimed in claim 3 , further comprising:

determining that the validated fields of the second packet are associated with the validated fields of the first packet defined by the signature function.

5. The method as claimed in claim 4 , further comprising:

accessing the signature function data stored in the hash table.

6. The method as claimed in claim 5 , further comprising:

routing the second packet based upon the signature function data.

7. The method as claimed in claim 6 , further comprising:

removing the signature function data from the hash table after a pre-determined time interval elapses.

8. The method as claimed in claim 6 , wherein the second packet is routed to the destination of the first packet.

9. The method as claimed in claim 6 , wherein the signature function data includes at least one of: an action and a next hop identification.

10. The method as claimed in claim 1 , wherein the processor is one of: a network processor and a communications processor.

11. The method as claimed in claim 1 , wherein the packet flow is an Internet Protocol packet flow.

12. The method as claimed in claim 1 , wherein the table lookups are one of: Policy Based Routing lookups and Access Control Lists lookups.

13. A non-transitory computer-readable medium having computer-executable instructions for performing a method for processing a packet flow via a processor, the method comprising:

receiving a first packet of the packet flow;

parsing the first packet, extracting fields of the first packet, and validating the extracted fields of the first packet;

performing a series of table lookups for the validated fields to determine a destination for the first packet, the table lookups including Policy Based Routing lookups;

transmitting the first packet to the determined destination; and

storing data corresponding to the validated fields and the determined destination of the first packet in a hash table in a memory of the processor, the data being a signature function for the packet flow.

14. The non-transitory computer-readable medium as claimed in claim 13 , the method further comprising:

receiving a second packet of the flow.

15. The non-transitory computer-readable medium as claimed in claim 14 , the method further comprising:

parsing the second packet, extracting fields of the second packet, and validating the extracted fields of the second packet.

16. The non-transitory computer-readable medium as claimed in claim 15 , the method further comprising:

determining that the validated fields of the second packet are associated with the validated fields of the first packet defined by the signature function.

17. The non-transitory computer-readable medium as claimed in claim 16 , the method further comprising:

accessing the signature function data stored in the hash table, the signature data including at least one of: an action and a next hop identification.

18. The non-transitory computer-readable medium as claimed in claim 17 , the method further comprising:

routing the second packet based upon the signature function data, including: routing the second packet to the destination of the first packet.

19. The non-transitory computer-readable medium as claimed in claim 18 , the method further comprising:

removing the signature function data from the hash table after a pre-determined time interval elapses.

20. A networking system, comprising:

a network processor, the network processor including a memory; and

control programming configured for causing the processor to execute a hash engine-based method for processing a packet flow, the method including the steps of: receiving a packet of the flow; parsing the packet, extracting fields of the packet, and validating the extracted fields of the packet; determining that the validated fields of the packet are associated with validated fields associated with an earlier received packet of the flow; accessing signature function data stored in a hash table in the memory of the processor, the signature function data corresponding to the validated fields and a determined destination of the earlier received packet of the flow; and routing the packet to the destination based upon the stored signature function data,

wherein the signature function data includes at least one of: an action and a next hop identification.

Assignments (8)
CORRECTIVE ASSIGNMENT TO CORRECT THE EXECUTION DATE PREVIOUSLY RECORDED AT REEL: 047422 FRAME: 0464. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 6, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 048883/0702 →
MERGER Recorded Oct 5, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047422/0464 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041710/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037808/0001 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (RELEASES RF 032856-0031) Recorded Feb 2, 2016
From: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
To: LSI CORPORATION; AGERE SYSTEMS LLC
Reel/Frame 037684/0039 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 3, 2015
From: LSI CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 035390/0388 →
PATENT SECURITY AGREEMENT Recorded May 8, 2014
From: LSI CORPORATION; AGERE SYSTEMS LLC
To: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
Reel/Frame 032856/0031 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 3, 2014
From: PAZHAYAKATH, BENZEER B.; AJMERA, VISHAL D.; NARAYANAN, SANTOSH
To: LSI CORPORATION
Reel/Frame 032593/0960 →
Priority Claims (1)
IN 531/KOL/2013 · May 9, 2013 · national
Continuity (1)
Related Publication 20140334491A1 · Nov 13, 2014