IP Library › Granted Patent US 7,693,985
Granted Patent B2
US 7,693,985 · App. 11/450,929 · Granted Apr 6, 2010

Technique for dispatching data packets to service control engines

Assignee: Cisco Technology, Inc.
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,693,985
App. No.
11/450,929
Granted
Apr 6, 2010
Kind
B2
Abstract

A dispatching technique dispatches packets to a plurality of service control engines (SCEs) which in aggregate may be configured to handle traffic produced by a high-speed high-capacity data link. Upstream and downstream packets that are associated with a data flow between a subscriber and a destination node in a communication network are received from by a dispatcher which is located in a path used by the data flow. For each packet, the dispatcher identifies an SCE from among a plurality of SCEs that is to receive the packet based upon an address contained in the packet. The packet is then dispatched by the dispatcher to the identified SCE which processes the packet accordingly. After processing the packet, the SCE returns the packet to the dispatcher which further processes the packet including transferring the packet onto the communication network towards its destination.

Claims (65)

1. A method for dispatching data packets to a service control engine (SCE) in a plurality of SCEs in a communication network, the method comprising:

in an upstream direction of a data flow:

receiving a data packet from the communication network;

hashing a source address contained in the data packet to identify an SCE in the plurality of SCEs;

dispatching the data packet to the correspondingly identified SCE on a first Virtual Local Area Network (VLAN) to perform deep packet inspection of the data packet;

receiving the data packet from the correspondingly identified SCE on a second VLAN; and

forwarding the data packet received from the correspondingly identified SCE to a destination wherein the destination is associated with a destination address contained in the data packet;

in a downstream direction of the data flow:

receiving a second data packet from the communication network;

hashing a destination address contained in the second data packet to identify the SCE in the plurality of SCEs;

dispatching the second data packet to the correspondingly identified SCE on the second VLAN to perform deep packet inspection of the second data packet;

receiving the second data packet from the correspondingly identified SCE on the first VLAN; and

forwarding the second data packet received from the correspondingly identified SCE to a destination associated with the destination address contained in the second data packet;

such that packets associated with the same data flow are dispatched to the same SCE.

2. A method as defined in claim 1 wherein:

identifying includes identifying a physical data link from the hashed source address, and

dispatching includes dispatching the data packet to the correspondingly identified SCE via the identified physical data link.

3. A method as defined in claim 2 wherein:

dispatching further includes transferring the data packet to the correspondingly identified SCE on a trunk carried by the physical data link.

4. A method as defined in claim 3 wherein the trunk is an Institute of Electrical and Electronics Engineers (IEEE) 802.1Q trunk.

5. A method as defined in claim 1 wherein:

identifying includes identifying a physical data link from the hashed destination address, and

dispatching the second data packet to the correspondingly identified SCE includes dispatching the second data packet to the correspondingly identified SCE via the identified physical data link.

6. A method as defined in claim 5 wherein dispatching the second packet to the correspondingly identified SCE further includes transferring the second data packet to the correspondingly identified SCE on a trunk carried by the physical data link.

7. A method as defined in claim 6 wherein the trunk is an Institute of Electrical and Electronics Engineers (IEEE) 802.1Q trunk.

8. A dispatcher for dispatching data packets to a service control engine (SCE) in a plurality of SCEs in a communication network, the dispatcher comprising:

in an upstream direction of a data flow:

a first network interface configured to receive a data packet from the communication network;

a second network interface coupled to an SCE in the plurality of SCEs;

dispatching logic configured to:

(a) hash a source address contained in the data packet to identify the SCE in the plurality of SCEs, and

(b) dispatch the data packet on a first Virtual Local Area Network (VLAN) via the second network interface to the correspondingly identified SCE to perform deep packet inspection of the data packet; and

a third network interface coupled to the SCE and configured to receive the data packet from the SCE on a second VLAN;

in a downstream direction of the data flow:

a fourth network interface configured to receive a second data packet from the communication network, wherein the dispatching logic is further configured to:

(a) hash a destination address contained in the second data packet to identify the SCE in the plurality of SCEs, and

b) dispatch the second data packet to the correspondingly identified SCE on the second VLAN via the third network interface to perform deep packet inspection of the second data packet,

the dispatching logic is further configured to dispatch packets associated with the same data flow to the same SCE.

9. A dispatcher as defined in claim 8 wherein the dispatching logic is further configured to:

(a) identify a physical data link from the hashed source address and

(b) dispatch the data packet to the correspondingly identified SCE via the physical data link.

10. A dispatcher as defined in claim 9 wherein the dispatching logic is further configured to dispatch the data packet to the correspondingly identified SCE on a trunk carried by the physical data link.

11. A dispatcher as defined in claim 10 wherein the trunk is an Institute of Electrical and Electronics Engineers (IEEE) 802.1Q trunk.

12. A dispatcher as defined in claim 8 further comprising:

a supervisor engine, wherein the second network interface is further configured to receive the second data packet from the correspondingly identified SCE on the first VLAN, and the supervisor engine is configured to forward the second data packet received from the correspondingly identified SCE to a destination associated with a destination address contained in the second data packet.

13. An apparatus for dispatching data packets to a service control engine (SCE) in a plurality of SCEs in a communication network, the apparatus comprising:

in an upstream direction of a data flow:

means for receiving a data packet from the communication network;

means for hashing a source address contained in the data packet to identify an SCE in the plurality of SCEs that is to receive the data packet;

means for dispatching the data packet on a first Virtual Local Area Network (VLAN) to the correspondingly identified SCE to perform deep packet inspection of the first data packet; and

means for receiving the data packet from the correspondingly identified SCE on a second VLAN; and

means for forwarding the data packet received from the correspondingly identified SCE to a destination associated with a destination address contained in the data packet

in a downstream direction of the data flow:

means for receiving a second data packet from the communication network;

means for hashing a destination address contained in the second data packet to identify the SCE in the plurality of SCEs;

means for dispatching the second data packet to the correspondingly identified SCE to perform deep packet inspection of the second data packet on the second VLAN;

means for receiving the second data packet from the correspondingly identified SCE on the first VLAN; and

means for forwarding the second data packet received from the correspondingly identified SCE to a destination associated with the destination address contained in the second data packet

such that packets associated with the same data flow are dispatched to the same SCE.

14. An apparatus as defined in claim 13 wherein:

the identifying means includes means for identifying a physical data link from the hashed source address contained in the data packet, and

the dispatching means includes means for dispatching the data packet on the first VLAN to the correspondingly identified SCE via the physical data link.

15. An apparatus as defined in claim 13 wherein:

the means for identifying includes means for identifying a physical data link from the hashed destination address contained in the second data packet, and

the means for dispatching the second data packet to the correspondingly identified SCE includes means for dispatching the second data packet to the correspondingly identified SCE via the identified physical data link.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2006
From: KEOHANE, MICHAEL; FEDORKOW, GUY; HAZAN, GAASH; FINKELMAN, ORI; WEILL, OFER
To: CISCO TECHNOLOGY, INC.
Reel/Frame 017992/0584 →
Continuity (1)
Related Publication 20070288615A1 · Dec 13, 2007