IP Library Granted Patent US 10,523,564
Granted Patent B2
US 10,523,564 · App. 16/230,862 · Granted Dec 31, 2019

Redirecting network traffic based on content

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,523,564
App. No.
16/230,862
Granted
Dec 31, 2019
Kind
B2
Abstract

A rule indicates that data having particular characteristics be automatically routed to a particular destination. When software on a switching device detects a new data stream, it is analyzed to determine whether it has characteristics specified by the rule. If it does, the packet is encapsulated with a special tag, indicating that the packet should be routed to the new destination. Also, an entry is added to a quick-lookup table in the switching device. The entry indicates that future packets in the data stream that have the same source and destination port and address should also be routed to the new destination.

Claims (63)

1. An access switch device, comprising:

a forwarding table that maps groups of destination addresses to respective outputs of the access switch device;

a quick lookup table that stores a plurality of entries, each entry of the plurality of entries having a corresponding data stream;

a flow matching module configured to:

determine that a packet received at the access switch device corresponds to a data stream that has a corresponding entry in the quick lookup table, wherein the entry includes a label associated with the data stream;

in response to determining that the data stream corresponding to the packet has a corresponding entry in the quick lookup table, affix the label to the packet; and

forward the packet to an output port of the access switch device, the output port selected based on the label; and

a redirect module configured to:

in response to the flow matching module determining that a second packet corresponds to a second data stream that does not have a corresponding entry in the quick lookup table, send the second packet to a flow vector server.

2. The access switch device as recited in claim 1 , further comprising:

an expiration module configured to:

determine that at least one of the plurality of entries has been stored in the quick lookup table for an amount of time exceeding a pre-determined threshold; and

when the at least one of the plurality of entries is determined to have been stored in the quick lookup table for longer than the pre-determined threshold, purge the entry from the quick lookup table.

3. The access switch device as recited in claim 1 , wherein the flow matching module is further configured to determine, based on header information of the packet, the data stream corresponding to the packet.

4. The access switch device as recited in claim 1 , wherein the quick lookup table is configured to store a second entry including a second label, wherein the second entry corresponds to the second data stream, wherein the second label is received from the flow vector server.

5. The access switch device as recited in claim 4 , wherein the flow matching module is further configured to, in response to the quick lookup table storing the second entry:

affix the second label to the second packet; and

forward the second packet to a second output port of the access switch device, the second output port selected based on the second label.

6. The access switch device as recited in claim 5 , wherein the flow matching module is further configured to:

determine that an additional packet corresponds to the second data stream, the additional packet being received after the second packet;

in response to receiving the additional packet, determine that the second data stream has a corresponding entry in the quick lookup table, wherein the entry includes the second label associated with the second data stream;

in response to determining that the data stream corresponding to the packet has a corresponding entry in the quick lookup table, affix the second label to the additional packet; and

forward the second packet to the second output port of the access switch device, the second output port based on the second label.

7. An method performed by an access switch device comprising:

generating a forwarding table that maps groups of destination addresses to respective outputs of the access switch device;

generating a quick lookup table that stores a plurality of entries, each entry of the plurality of entries having a corresponding data stream;

determining that a packet received at the access switch device corresponds to a data stream that has a corresponding entry in the quick lookup table, wherein the entry includes a label associated with the data stream;

in response to determining that the data stream corresponding to the packet has a corresponding entry in the quick lookup table, affixing the label to the packet;

forwarding the packet to an output port of the access switch device, the output port selected based on the label; and

in response to determining that a second packet corresponds to a second data stream that does not have a corresponding entry in the quick lookup table, sending the second packet to a flow vector server.

8. The method of claim 7 , further comprising:

determining that at least one of the plurality of entries has been stored in the quick lookup table for an amount of time exceeding a pre-determined threshold; and

when the at least one of the plurality of entries is determined to have been stored in the quick lookup table for longer than the pre-determined threshold, purging the entry from the quick lookup table.

9. The method of claim 7 , further comprising determining, based on header information of the packet, the data stream corresponding to the packet.

10. The method of claim 7 , wherein the quick lookup table is configured to store a second entry including a second label, wherein the second entry corresponds to the second data stream, wherein the second label is received from the flow vector server.

11. The method of claim 7 , further comprising, in response to the quick lookup table storing the second entry:

affixing the second label to the second packet; and

forwarding the second packet to a second output port of the access switch device, the second output port selected based on the second label.

12. The method of claim 11 , further comprising:

determining that an additional packet corresponds to the second data stream, the additional packet being received after the second packet;

in response to receiving the additional packet, determining that the second data stream has a corresponding entry in the quick lookup table, wherein the entry includes the second label associated with the second data stream;

in response to determining that the data stream corresponding to the packet has a corresponding entry in the quick lookup table, affixing the second label to the additional packet; and

forwarding the second packet to the second output port of the access switch device, the second output port based on the second label.

13. A nontransitory storage medium of an access switch device storing instructions that, when executed by at least one processor, cause the access switch device to perform a method, the method comprising:

generating a forwarding table that maps groups of destination addresses to respective outputs of the access switch device;

generating a quick lookup table that stores a plurality of entries, each entry of the plurality of entries having a corresponding data stream;

determining that a packet received at the access switch device corresponds to a data stream that has a corresponding entry in the quick lookup table, wherein the entry includes a label associated with the data stream;

in response to determining that the data stream corresponding to the packet has a corresponding entry in the quick lookup table, affixing the label to the packet;

forwarding the packet to an output port of the access switch device, the output port selected based on the label; and

in response to determining that a second packet corresponds to a second data stream that does not have a corresponding entry in the quick lookup table, sending the second packet to a flow vector server.

14. The nontransitory storage medium of claim 13 , wherein the method further comprises:

determining that at least one of the plurality of entries has been stored in the quick lookup table for an amount of time exceeding a pre-determined threshold; and

when the at least one of the plurality of entries is determined to have been stored in the quick lookup table for longer than the pre-determined threshold, purging the entry from the quick lookup table.

15. The nontransitory storage medium of claim 13 , wherein the method further comprises determining, based on header information of the packet, the data stream corresponding to the packet.

16. The nontransitory storage medium of claim 13 , wherein the quick lookup table is configured to store a second entry including a second label, wherein the second entry corresponds to the second data stream, wherein the second label is received from the flow vector server.

17. The nontransitory storage medium of claim 13 , wherein the method further comprises, in response to the quick lookup table storing the second entry:

affixing the second label to the second packet; and

forwarding the second packet to a second output port of the access switch device, the second output port selected based on the second label.

18. The nontransitory storage medium of claim 17 , wherein the method further comprises:

determining that an additional packet corresponds to the second data stream, the additional packet being received after the second packet;

in response to receiving the additional packet, determining that the second data stream has a corresponding entry in the quick lookup table, wherein the entry includes the second label associated with the second data stream;

in response to determining that the data stream corresponding to the packet has a corresponding entry in the quick lookup table, affixing the second label to the additional packet; and

forwarding the second packet to the second output port of the access switch device, the second output port based on the second label.

Assignments (2)
NOTICE OF GRANT OF SECURITY INTEREST IN INTELLECTUAL PROPERTY (SECOND LIEN) Recorded Nov 4, 2024
From: LEVEL 3 COMMUNICATIONS, LLC; GLOBAL CROSSING TELECOMMUNICATIONS, INC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 069295/0749 →
NOTICE OF GRANT OF SECURITY INTEREST IN INTELLECTUAL PROPERTY (FIRST LIEN) Recorded Nov 4, 2024
From: LEVEL 3 COMMUNICATIONS, LLC; GLOBAL CROSSING TELECOMMUNICATIONS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 069295/0858 →