IP Library Granted Patent US 7,860,006
Granted Patent B1
US 7,860,006 · App. 11/116,949 · Granted Dec 28, 2010

Integrated methods of performing network switch functions

Assignee: Extreme Networks, 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,860,006
App. No.
11/116,949
Granted
Dec 28, 2010
Kind
B1
Abstract

On-switch methods for enforcing a policy relating to one or more network switch resources, for detecting and mitigating a network anomaly, and for selectively filtering packets to an externally-accessible port, are provided. The methods may each be embodied as one or more rules held by one or more processor readable media, with one or more of the rules defining one or more conditions to be met by one or more usage-derived packet statistics, and one or more actions to be performed if the one or more conditions are met.

Claims (57)

1. A system, integrated with or coupled to a network switch having a plurality of ports, for applying one or more policies to selected ports of the switch, comprising:

a user interface for receiving user input, for each of the one or more policies, comprising one or more structured rules for implementing the policy, and user selection of any one or more of the plurality of ports for application of the one or more structured rules;

one or more processor readable media for holding, for each of the one or more policies, the one or more structured rules for implementing the policy; and

one or more processors for accessing, for each of the one or more policies, the one or more structured rules for implementing the policy held by the one or more processor readable media, compiling the one or more structured rules into executable software, and executing the software;

wherein, for each of the one or more policies, the one or more structured rules implementing a policy specify: (1) a packet profile; (2) a counter having content; (3) a usage-based packet statistic to be derived from the counter having content; (4) one or more conditions; and (5) one or more actions to be taken if the one or more conditions are met;

wherein the one or more processors, for each of the one or more policies, execute the software compiled from the one or more structured rules implementing the policy, thus applying the policy to the selected ports of the switch by performing the following steps: (1) updating the counter having content as packets that match a specified profile are transmitted from the selected one or more ports; (2) deriving the usage-based packet statistic from the updated counter contents; (3) checking whether the usage-based packet statistic satisfies the one or more conditions; and (4) taking the one or more actions if the usage-based packet statistic meets the one or more conditions.

2. A system, integrated with or coupled to a network switch having a plurality of ports, for applying one or more policies to selected ports of the switch, comprising:

a user interface for receiving user input, for each of the one or more policies, comprising one or more structured rules for implementing the policy, and user selection of any one or more of the plurality of ports for application of the one or more structured rules;

one or more processor readable media for holding, for each of the one or more policies, the one or more structured rules for implementing the policy; and

one or more processors for accessing, for each of the one or more policies, the one or more structured rules for implementing the policy held by the one or more processor readable media, compiling the one or more structured rules into executable software, and executing the software;

wherein, for each policy, the one or more structured rules implementing a policy specify: (1) a first packet profile; (2) a first counter having content; (3) a second packet profile; (4) a second counter having content; (5) a usage-based packet statistic to be derived from the first and second counter having content; (6) one or more conditions; and (7) one or more actions to be taken if the one or more conditions are met;

wherein the one or more processors, for each of the one or more policies, execute the software compiled from the one or more structured rules implementing the policy, thus applying the policy to the selected ports of the switch by performing the following steps: (1) updating the first counter contents as packets that match a specified profile are transmitted from the selected one or more ports; (2) updating the second counter contents as packets that match a specified profile are transmitted from the selected one or more ports; (3) deriving the usage-based packet statistic from the updated first and second counter contents; (4) checking whether the usage-based packet statistic satisfies the one or more conditions; and (5) taking the one or more actions if the usage-based packet statistic meets the one or more conditions.

3. The system of claim 1 wherein the user interface is further configured to allow the user to select, for a policy, a packet flow direction.

4. The system of claim 3 wherein, when the selected packet flow direction for the policy is ingress, the one or more processors, when executing the software compiled from the one or more structured rules implementing the policy, update the counter contents as packets matching the specified profile are received at the selected one or more ports.

5. The system of claim 3 wherein, when the selected packet flow direction for the policy is egress, the one or more processors, when executing the software compiled from the one or more structured rules implementing the policy, update the counter contents as packets matching the specified profile are transmitted from the selected one or more ports.

6. The system of claim 3 wherein, when the user does not select a packet flow direction for the policy through the user interface, the system applies a default selection for that policy, wherein the packet flow direction is either ingress or egress.

7. The system of claim 6 wherein the default selection is ingress.

8. The system of claim 2 wherein the user interface is further configured to allow the user to select, for a policy, a packet flow direction.

9. The system of claim 8 wherein, when the selected packet flow direction for the policy is ingress, the one or more processors, when executing the software compiled from the one or more structured rules implementing the policy, update the first and second counter contents as packets matching the specified profile are received at the selected one or more ports.

10. The system of claim 8 wherein, when the selected packet flow direction for the policy is egress, the one or more processors, when executing the software compiled from the one or more structured rules implementing the policy, update the first and second counter contents as packets matching the specified profile are transmitted from the selected one or more ports.

11. The system of claim 8 wherein, when the user does not select a packet flow direction for the policy through the user interface, the system applies a default selection for that policy.

12. The system of claim 11 wherein the default selection is ingress.

13. The system of claim 1 wherein the one or more structured rules implementing a policy further specify a repetition time period, and the one or more processors, when executing the software compiled from the one or more structured rules implementing the policy, repeats steps (2), (3) and (4) at a frequency determined by the repetition time period.

14. The system of claim 2 wherein the one or more structured rules implanting a policy further specify a repetition time period, and the one or more processors, when executing the software compiled from the one or more structured rules implementing the policy, repeats steps (3), (4) and (5) at a frequency determined by the repetition time period.

15. The system of claim 1 wherein the network switch is in communication with one or more virtual local area networks (VLANs), and the user interface is further configured to allow a user to select, for a policy, one or more of the VLANs for application of the policy.

16. The system of claim 15 wherein the user interface is further configured to allow the user to select, for a policy, a packet flow direction.

17. The system of claim 16 wherein, when the selected packet flow direction for the policy is ingress, the one or more processors, when executing the software compiled from the one or more structured rules implementing the policy, update the counter contents as packets matching the specified profile are received from the selected one or more VLANs.

18. The system of claim 16 wherein, when the selected packet flow direction for the policy is egress, the one or more processors, when executing the software compiled from the one or more structured rules implementing the policy, update the counter contents as packets matching the specified profile are transmitted to the selected one or more VLANs.

19. The system of claim 2 wherein the network switch is in communication with one or more virtual local area networks (VLANs), and the user interface is further configured to allow a user to select, for a policy, one or more of the VLANs for application of the policy.

20. The system of claim 19 wherein the user interface is further configured to allow the user to select, for a policy, a packet flow direction.

21. The system of claim 20 wherein, when the selected packet flow direction for the policy is ingress, the one or more processors, when executing the software compiled from the one or more structured rules implementing the policy, update the first and second counter contents as packets matching the specified profile are received from the selected one or more VLANs.

22. The system of claim 20 wherein, when the selected packet flow direction for the policy is egress, the one or more processors, when executing the software compiled from the one or more structured rules implementing the policy, update the counter contents as packets matching the specified profile are transmitted to the selected one or more VLANs.

23. The system of claim 15 or 19 wherein the one or more processors implement a priority resolution scheme for resolving conflicts, if any that may arise between structured rules applicable to selected ports and rules applicable to selected VLANs that include those ports.

24. The system of claim 1 or 2 wherein the packet profile specifies one or more conditions to be met by one or more fields of the packet.

25. The system of claim 1 wherein the counter contents represent a cumulative count of the number of packets matching the packet profile that are received at any of the selected one or more ports.

26. The system of claim 1 where the counter contents represent a cumulative count of the number of bytes of packets matching the packet profile that are received at any of the selected one or more ports.

27. The system of claim 2 wherein the first counter contents represent a cumulative count of the number of packets matching the first packet profile that are either received at or transmitted from any of the selected one or more ports, and the second counter contents represent a cumulative count of the number of packets matching the second packet profile that are either received at or transmitted from any of the selected one or more ports.

28. The system of claim 2 where the first counter contents represent a cumulative count of the number of bytes of packets matching the first packet profile that are either received at or transmitted from any of the selected one or more ports, and the second counter contents represent a cumulative count of the number of bytes of packets matching the second packet profile that are either received at or transmitted from any of the selected one or more ports.

29. The system of claim 25 wherein the usage-based packet statistic is the cumulative count of the number of packets matching the packet profile that are either received at or transmitted from any of the selected one or more ports.

30. The system of claim 26 where the usage-based packet statistic is the cumulative count of the number of bytes of packets matching the packet profile that are either received at or transmitted from any of the selected one or more ports.

31. The system of claim 25 where the usage-based packet statistic is a rate of change of the cumulative count of the number of packets matching the specified profile that are either received at or transmitted from any of the selected one or more ports.

32. The system of claim 26 wherein the usage-based packet statistic is the rate of change of the cumulative count of the number of bytes of packets matching the specified profile that are either received at or transmitted from any of the selected one or more ports.

33. The system of claim 27 wherein the usage-based packet statistic is the ratio of the cumulative count of the number of packets matching the first packet profile that are either received at or transmitted from any of the selected one or more ports to the cumulative count of the number of packets matching the second packet profile that are either received at or transmitted from any of the selected one or more ports.

34. The system of claim 28 where the usage-based packet statistic is the ratio of the cumulative count of the number of bytes of packets matching the first packet profile that are either received at or transmitted from any of the selected one or more ports to the cumulative count of the number of bytes of packets matching the second packet profile that are either received at or transmitted from any of the selected one or more ports.

35. The system of claim 27 where the usage-based packet statistic is the ratio of the rate of change of the cumulative count of the number of packets matching the first packet profile that are either received at or transmitted from any of the selected one or more ports to a rate of change of the cumulative count of the number of packets matching a second packet profile that are either received at or transmitted from any of the selected one or more ports.

36. The system of claim 28 wherein the usage-based packet statistic is the ratio of a rate of change of the cumulative count of the number of bytes of packets matching a first packet specified profile that are either received at or transmitted from any of the selected one or more ports to the rate of change of the cumulative count of the number of bytes of packets matching the second packet specified profile that are either received at or transmitted from any of the selected one or more ports.

37. The system of claim 1 or 2 wherein the one or more conditions comprise the usage-based packet statistic exceeding a predetermined threshold.

38. The system of claim 1 or 2 wherein the one or more actions comprise denying switch access to packets matching the packet profile that are either received at or transmitted from any of the selected one or more ports.

39. The system of claim 1 or 2 wherein the one or more actions comprise changing priority of packets matching the packet profile that are either received at or transmitted from any of the selected one or more ports.

40. The system of claim 1 or 2 wherein the one or more actions comprise sending a trap message to a server accessible by a network administrator.

41. The system of claim 1 or 2 wherein the one or more actions comprise statistical sampling of every Nth one of packets matching the packet profile that are either received at or transmitted from any of the selected one or more ports.

42. The system of claim 1 or 2 wherein the one or more actions comprise logging a message to a file or message server accessible by a network administrator.

43. The system of claim 1 or 2 wherein the one or more actions comprise disabling one or more switch ports.

44. The system of claim 1 or 2 wherein the one or more actions comprise deleting one or more ports from a virtual local area network (VLAN).

45. The system of claim 1 or 2 wherein, for at least one of the policies, the one or more rules implementing the policy specify one or more other actions to be taken if the one or more conditions are not satisfied, and the one or more processors, in executing the software compiled from the one or more structured rules, takes these one or more other actions if the one or more conditions are not satisfied.

46. The system of claim 1 or 2 wherein, for at least one of the policies, the one or more structured rules implementing the policy conforms to an IF-THEN format.

47. The system of claim 1 or 2 wherein, for at least one of the policies, the one or more structured rules implementing the policy conforms to an IF-THEN-ELSE format.

Assignments (12)
RELEASE OF PATENT AND TRADEMARK SECURITY INTEREST AT REEL/FRAME NO. 46050/0546 Recorded Jul 30, 2026
From: BANK OF MONTREAL, AS AGENT
To: EXTREME NETWORKS, INC.
Reel/Frame 076081/0088 →
SECURITY INTEREST Recorded Jul 29, 2026
From: EXTREME NETWORKS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 076078/0590 →
AMENDED SECURITY AGREEMENT Recorded Aug 18, 2023
From: EXTREME NETWORKS, INC.; AEROHIVE NETWORKS, INC.
To: BANK OF MONTREAL
Reel/Frame 064782/0971 →
RELEASE OF SECURITY INTEREST Recorded May 1, 2018
From: SILICON VALLEY BANK
To: EXTREME NETWORKS, INC.
Reel/Frame 046051/0775 →
SECURITY INTEREST Recorded May 1, 2018
From: EXTREME NETWORKS, INC.
To: BANK OF MONTREAL
Reel/Frame 046050/0546 →
THIRD AMENDED AND RESTATED PATENT AND TRADEMARK SECURITY AGREEMENT Recorded Oct 31, 2017
From: EXTREME NETWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 044639/0300 →
SECOND AMENDED AND RESTATED PATENT AND TRADEMARK SECURITY AGREEMENT Recorded Jul 14, 2017
From: EXTREME NETWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 043200/0614 →
AMENDED AND RESTATED PATENT AND TRADEMARK SECURITY AGREEMENT Recorded Oct 31, 2016
From: EXTREME NETWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 040521/0762 →
SECURITY AGREEMENT Recorded Jul 27, 2015
From: EXTREME NETWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 036189/0284 →
RECORDED ON 4/4/06 AT REEL/FRAME 017745/0861 Recorded Jul 13, 2006
From: KASHYAP, PRAKASH M.; NGUYEN, THANH; CHEW, BOON LING
To: EXTREME NETWORKS, INC.
Reel/Frame 018082/0798 →
CORRECTED COVER SHEET TO ADD ASSIGNOR'S NAME, PREVIOUSLY RECORDED AT REEL/FRAME 017168/0629 (ASSIGNMENT OF ASSIGNOR'S INTEREST) Recorded Apr 4, 2006
From: KASHYAP, PRAKASH M.; NGUYEN, THANH; CHEW, BOON LING
To: EXTREME NETWORKS, INC.
Reel/Frame 017745/0861 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 5, 2006
From: KASHYAP, PRAKASH M.; NGUYEN, THANH
To: EXTREME NETWORKS, INC.
Reel/Frame 017168/0629 →