IP Library Granted Patent US 9,419,867
Granted Patent B2
US 9,419,867 · App. 11/694,703 · Granted Aug 16, 2016

Data and control plane architecture for network application traffic management device

Inventors: Jon Eric Okholm (Monte Sereno, CA); Guy Riddle (Los Gatos, CA)
Assignee: Blue Coat Systems, Inc.
H04L43/02H04L47/10H04L47/20H04L47/2441H04L41/0213
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,419,867
App. No.
11/694,703
Granted
Aug 16, 2016
Kind
B2
Abstract

A data and control plane architecture for network devices. An example system architecture includes a network processing unit implementing one or more data plane operations, and a network device operably coupled to the network processing unit that implements a control plane. In a particular implementation, the network processing unit is configured to process network traffic according to a data plane configuration, and sample selected packets to the network device. The network device processes the sampled packets and adjusts the data plane configuration responsive to the sampled packets.

Claims (112)

1. An apparatus comprising

a control plane; and

a network processing unit comprising a processor to execute instructions to configure the network processing unit to:

apply one or more policies to received packets of respective data flows through a plurality of ports according to a data plane configuration;

sample the received packets of the respective data flows to the control plane at a first sampling rate;

discontinue sampling of the received packets for all the respective data flows in response to receiving from the control plane a control message signaling discontinuance of the sampling of packets;

wherein the control plane is configured to:

process the received packets of the respective data flows sampled by the network processing unit;

transmit control messages to the network processing unit to change the data plane configuration, the control messages to indicate an overload condition;

wherein:

at least some of the control messages each identify a data flow of the respective data flows and signal the discontinuance of the sampling of the packets for all the respective data flows;

the data flows are identified by a combination comprising a source Internet Protocol address and a destination Internet Protocol address; and

the network processing unit is further configured to:

discontinue sampling of received packets responsive to a control message indicating the overload condition; and

resume sampling of packets at a second sampling rate less than the first sampling rate applied before sampling was discontinued.

2. The apparatus of claim 1 , wherein:

the data plane configuration comprises a default policy;

one or more control messages identify one or more policies for respective data flows; and

the network processing unit is further configured to apply a current data plane configuration to all received packets.

3. The apparatus of claim 2 wherein the one or more policies include partition identifiers for respective data flows.

4. The apparatus of claim 1 wherein the network processing unit is further configured to sample connection-initiating packets of respective data flows to the control plane.

5. The apparatus of claim 1 wherein the network processing unit is further configured to sample the initial packets of respective data flows to the control plane.

6. The apparatus of claim 1 wherein the network processing unit is further configured to sample connection-terminating packets of respective data flows to the control plane.

7. The apparatus of claim 1 wherein the network processing unit is further configured to periodically sample packets of respective data flows to the control plane.

8. The apparatus of claim 1 wherein the control plane is further configured to:

classify the respective data flows based on the sampled packets;

identify one or more policies for the respective data flows; and

provide the identified policies for the respective data flows in the control messages transmitted to the network processing unit.

9. The apparatus of claim 1 wherein the network processing unit is further configured to:

maintain one or more network statistics based on received packets; and

transmit the one or more network statistics to the control plane in one or more control messages.

10. The apparatus of claim 9 wherein:

the control plane is configured to maintain network statistics on sampled packets; and

the network statistics transmitted to the control plane in the one or more control messages omit information corresponding to sampled packets.

11. The apparatus of claim 1 wherein the control plane is a network application traffic management unit.

12. The apparatus of claim 1 further comprising a second network processing unit comprising a processing and configured to:

apply one or more policies to received packets of respective data flows according to a second data plane configuration;

selectively sample the received packets of the respective data flows to the control plane;

wherein the control plane is further configured to:

process packets sampled by the second network processing unit; and

transmit control messages to the second network processing unit to change the second data plane configuration.

13. The apparatus of claim 1 further comprising a second control plane configured to:

process packets sampled by the network processing unit; and

transmit control messages to the network processing unit to change the data plane configuration.

14. The apparatus of claim 13 wherein the network processing unit is further configured to sample packets of a given data flow exclusively to either the first or second control planes.

15. The apparatus of claim 1 wherein the network processing unit is further configured to increase the first sampling rate until receipt of a control message indicating an overload condition.

16. The apparatus of claim 1 wherein the control plane is further configured to transmit control messages identifying a bad host; and wherein the network processing selectively discards received packets associated with the bad host.

17. The apparatus of claim 1 wherein the control plane is housed in a first enclosure, and the network processing unit is external to the first enclosure.

18. The apparatus of claim 1 wherein the control plane is further configured to transmit retransmission request messages identifying one or more objects referenced in control messages transmitted from the control plane for which it has no configuration information.

19. The apparatus of claim 1 wherein the network processing unit is further configured to resume

sampling of packets at the second sampling rate further in response to leaving the overload.

20. The apparatus of claim 1 wherein the network processing unit is further configured to

discontinue sampling of received packets responsive to a control message indicating an overload condition while maintaining respective data flows according to the data plane configuration.

21. The apparatus of claim 1 wherein the network processing unit is further configured to

resumes sampling of packets from the same data plane configuration.

22. An apparatus, comprising

a memory;

one or more processors;

one or more network interfaces; and

a firmware application comprising instructions for causing the one or more processors to:

apply one or more policies to received packets of respective data flows through a plurality of ports according to a data plane configuration;

sample the received packets of the respective data flows to a control plane at a first sampling rate;

receive one or more first control messages from the control plane and update the data plane configuration according to information contained in the one or more first control messages;

discontinue sampling of the received packets for a given data flow in response to receiving from the control plane one or more first control messages identifying the given data flow, indicating an overload condition, and signaling discontinuance of the sampling of packets for the given data flow until one or more second control messages to resume sampling of the received packets are received, the second control messages to indicate the control plane has left the overload condition;

receive one or more second control messages; and

resume sampling of the received packets for the given data flow at a second sampling rate less than the first sampling rate applied before sampling was discontinued;

wherein the data flows are identified by a combination comprising a source Internet Protocol address and a destination Internet Protocol address.

23. The apparatus of claim 22 wherein the apparatus further comprises a packet parsing logic circuit that parses received packets into one or more attribute values.

24. The apparatus of claim 22 , further comprising instructions for causing the one or more processors to sample connection-initiating packets of respective data flows to the control plane.

25. The apparatus of claim 22 , further comprising instructions for causing the one or more processors to sample connection-terminating packets of respective data flows to the control plane.

26. The apparatus of claim 22 , further comprising instructions for causing the one or more processors to sample packets of respective data flows to the control plane.

27. Logic encoded in one or more non-transitory computer readable media, wherein the logic, when executed causes one or more processors to

apply one or more policies to received packets of respective data flows through a plurality of ports according to a data plane configuration;

sample the received packets of the respective data flows to a control plane at a first sample rate;

receive one or more first control messages from the control plane and update the data plane configuration according to information contained in the one or more control messages;

discontinue sampling of the received packets for a given data flow in response to receiving from the control plane one or more first control messages identifying the given data flow, indicating an overload condition, and signaling discontinuance of the sampling of packets for the given data flow until one or more second control messages to resume sampling of the received packets are received, the second control messages to indicate the control plane has left the overload condition;

receive one or more second control messages; and

resume sampling of the received packets for the given data flow at a second sampling rate less than the first sampling rate applied before sampling was discontinued;

wherein the data flows are identified by a combination comprising a source Internet Protocol address and a destination Internet Protocol address.

28. An apparatus comprising

a memory;

one or more processors;

one or more network interfaces; and

a control plane application, stored in the memory, comprising instructions for causing the one or more processors to:

receive one or more sampled packets of respective data flows through a plurality of ports from a network processing unit;

classify the respective data flows based on the sampled packets;

identify one or more policies for the respective data flows;

transmit one or more first control messages including the identified policies for the respective data flows to the network processing unit, the first control messages indicating an overload condition; and

transmit one or more second control messages to the network processing unit, wherein the one or more second control messages signal to the network processing unit that samples the packets for the data flow identified in the one or more second control messages should be resumed, the second control messages to indicate that the control plane application has left the overload condition;

wherein:

the one or more first control messages each identify a data flow of the respective data flows sampled by the network processing unit and signal to the network processing unit that sampling of the packets for the data flow identified in the one or more first control messages should be discontinued; and

the data flows are identified by a combination comprising a source Internet Protocol address and a destination Internet Protocol address;

a non-transitory computer readable media;

a firmware application including instructions in the non-transitory computer readable media, the instructions, when executed, cause the processor to:

apply one or more policies to received packets of respective data flows according to a data plane configuration;

sample the received packets of the respective data flows to the control plane at a first sampling rate;

discontinue sampling of the received packets for a given data flow in response to receiving the one or more first control messages identifying the given data flow and indicating the overload condition; and

resume sampling of the received packets for the given data flow at a second sampling rate less than the first sampling rate applied before sampling was discontinued.

29. A non-transitory computer readable medium comprising

an application comprising instructions for causing a control plane processor to:

receive one or more sampled packets of respective data flows through a plurality of ports from a network processing unit;

classify the respective data flows based on the sampled packets;

identify one or more policies for the respective data flows; and

transmit one or more first control messages including the identified policies for the respective data flows to the network processing unit, wherein at least some of the one or more first control messages each identify a data flow of the respective data flows sampled by the network processing unit and signal to the network processing unit that sampling of the packets for the data flow identified in the one or more first control messages should be discontinued;

transmit one or more second control messages, wherein at least some of the one or more second control messages signal to the network processing unit that sampling of the packets for the data flow identified in the one or more second control messages should be resumed, the second control messages to indicate the control plane processor has left the clearing of an overload condition; and

a firmware application comprising instructions for causing a network processing unit to

apply one or more policies to received packets of respective data flows according to a data plane configuration;

sample the received packets of the respective data flows to a control plane at a first sampling rate;

discontinue sampling of the received packets for a given data flow in response to receiving from the control plane one of the first control messages identifying the given data flow, indicating the overload condition, and signaling discontinuance of the sampling of packets for the given data flow until one more second control packets are received;

receive the one or more first control messages from the control plane and update the data plane configuration according to information contained in the one or more first control messages; and

resume sampling of the received packets in response to receiving the one or more second control messages from the control plane at a second sampling rate less than the first sampling rate applied before sampling was discontinued;

wherein the data flows are identified by combination of a combination comprising a source Internet Protocol address and a destination Internet Protocol address.

Assignments (12)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2019
From: SYMANTEC CORPORATION
To: CA, INC.
Reel/Frame 051144/0918 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 27, 2016
From: BLUE COAT SYSTEMS, INC.
To: SYMANTEC CORPORATION
Reel/Frame 039851/0044 →
RELEASE OF SECURITY INTEREST Recorded Aug 1, 2016
From: JEFFERIES FINANCE LLC
To: BLUE COAT SYSTEMS, INC.
Reel/Frame 039516/0929 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 30740/0181 Recorded May 29, 2015
From: JEFFERIES FINANCE LLC
To: BLUE COAT SYSTEMS, INC.
Reel/Frame 035797/0280 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 27727/0144 Recorded May 29, 2015
From: JEFFERIES FINANCE LLC
To: BLUE COAT SYSTEMS, INC.
Reel/Frame 035798/0006 →
SECURITY INTEREST Recorded May 22, 2015
From: BLUE COAT SYSTEMS, INC.
To: JEFFERIES FINANCE LLC, AS THE COLLATERAL AGENT
Reel/Frame 035751/0348 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Jul 3, 2013
From: BLUE COAT SYSTEMS, INC.
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 030740/0181 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL RECORDED AT R/F 027727/0178 Recorded Oct 16, 2012
From: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
To: BLUE COAT SYSTEMS, INC.
Reel/Frame 029140/0170 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Feb 16, 2012
From: BLUE COAT SYSTEMS, INC.
To: JEFFERIES FINANCE LLC
Reel/Frame 027727/0144 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Feb 16, 2012
From: BLUE COAT SYSTEMS, INC.
To: JEFFERIES FINANCE LLC
Reel/Frame 027727/0178 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 1, 2011
From: PACKETEER, INC.
To: BLUE COAT SYSTEMS, INC.
Reel/Frame 027307/0603 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 30, 2007
From: OKHOLM, JON ERIC; RIDDLE, GUY
To: PACKETEER, INC.
Reel/Frame 019095/0640 →
Continuity (1)
Related Publication 20080239956A1 · Oct 2, 2008