Claims
- 1. A method of adding a new filter defining a portion of a network policy into a set of installed filters in a framework including a set of active filters and a set of disabled filters, the new filter and each filter in the set of installed filters including a set of filter conditions and a priority class comprising:
determining whether at least one installed filter in the set of the installed filters conflicts with the new filter; identifying whether the priority class of the new filter is lower than the priority class of the at least one installed filter; and adding the new filter into the set of installed filters.
- 2. The method of claim 1, wherein the set of active filters are identified in an active filter list and the set of disabled filters are identified in a disabled filter list.
- 3. The method of claim 1, wherein the priority class of the new filter is lower than the priority class of the at least one installed filter, further comprising:
identifying the new filter as one of the set of disabled filters.
- 4. The method of claim 1, wherein the priority class of the new filter is higher than the priority class of the at least one installed filter, further comprising:
identifying the new filter as one of the set of active filters.
- 5. The method of claim 4, further comprising:
identifying the at least one installed filter as one of the set of disabled filter list.
- 6. The method of claim 1, wherein the new filter and each of filter in the set of installed filters include a weight value, further comprising:
calculating the weight value of the new filter by applying a scaling factor to each of the filter conditions resulting in a set of scaled filter conditions and including the scaled filter conditions in the weight value.
- 7. The method of claim 6, whereby the step of determining that the at least one installed filter in the set of the installed filters conflicts with the new filter comprises:
retrieving a set of potential at-odds filters from the set of installed filters with a matching set of filter conditions and a set of contradictory actions; identifying a set of actual at-odds filters based on a comparison of the priority class and the weight value of the potential at odds filters and the priority class and the weight value of the new filter.
- 8. The method of claim 7, wherein the priority class of the new filter is higher than the priority class of at least one of the set of actual odds filters and the weight of the new filter is lower than the weight of the at least one of the set of actual at odds filters.
- 9. The method of claim 7, wherein the priority class of the new filter is lower than the priority class of at least one of the set of actual odds filters and the weight of the new filter is higher than the weight of the at least one of the set of actual at odds filters.
- 10. A method for removing a first filter from a set of installed filters in a framework having an active filter list and a disabled filter list, comprising:
removing the first filter from the set of installed filters; determining whether the first filter was identified in the disabled filter list; identifying at least a second filter from the set of installed filters; removing the second filter from the disabled filter list; and adding the second filter to the active filter list.
- 11. The method of claim 10, wherein the second filter conflicts with the first filter.
- 12. The method of claim 11, wherein the second filter has a common set of filter conditions with the first filter and the first filter and second filter have different filter actions.
- 13. The method of claim 12 wherein the second filter has a higher priority class than the first filter and a lower weight value than the first filter.
- 14. The method of claim 12, wherein the second filter has a lower priority class than the first filter and a higher weight value than the first filter.
- 15. A method of identifying that a first filter conflicts with a second filter, each of the first and second filters having filter conditions that include a set of parameters, an action, a weight value, and a priority class value, comprising:
determining that the first filter and the second filter have a common set of parameters and different actions; determining that the first filter has a higher priority class value and a lower weight value than that of the second filter.
- 16. The method of claim 15 wherein the first filter is a new filter to be installed into a set of installed filters and wherein the second filter is stored in the set of installed filters.
- 17. The method of claim 16, wherein the second filter is identified in an active filter list.
- 18. The method of claim 16, wherein the first and second filter are assigned to a same layer process.
- 19. A method for automatically calculating a priority value for a filter to be installed into a set of installed filters that define a network policy, comprising:
identifying a set of per layer weight definitions, each of the set of per layer weight definitions including a bit allocation and a corresponding filter condition; determining a scaling factor; and for each per layer weight definition, scaling the filter condition to fit in the corresponding bit allocation; and rendering the priority value by placing each filter condition in the corresponding bit allocation.
- 20. The method of claim 19, wherein the per layer weight definitions are associated with a layer process in an operating system.
- 21. The method of claim 19 wherein the filter condition comprises m bits and the bit allocation comprises n bits and wherein m>n.
- 22. The method of claim 19 wherein in the scaling factor is exponential scaling factor.
- 23. A computer-readable medium for executing computer-readable instructions for adding a new filter defining a portion of a network policy into a set of installed filters in a framework including an active filter list and a disabled filter list; the new filter and each filter in the set of installed filters including a set of filter conditions and a priority class comprising:
determining whether at least one installed filter in the set of the installed filters conflicts with the new filter; identifying whether the priority class of the new filter is lower than the priority class of the at least one installed filter; and adding the new filter into the set of installed filters.
- 24. The computer-readable medium of claim 23, wherein the priority class of the new filter is lower than the priority class of the at least one installed filter, further comprising:
identifying the new filter in the disabled filter list.
- 25. The computer-readable medium of claim 23, wherein the priority class of the new filter is higher than the priority class of the at least one installed filter, further comprising:
identifying the new filter in the active filter list.
- 26. The computer-readable medium of claim 24, further comprising:
adding the at least one installed filter to the disabled filter list.
- 27. The computer-readable medium of claim 23, wherein the new filter and each of the filters in the set of installed filters include a weight value, further comprising:
calculating the weight value by applying a scaling factor to each of the filter conditions resulting in a set of scaled filter conditions and including the scaled filter conditions in the weight value.
- 28. The computer-readable medium of claim 27, whereby the step of determining that the at least one installed filter in the set of the installed filters conflicts with the new filter comprises:
retrieving a set of potential at-odds filters from the set of installed filters with a matching set of filter conditions and a set of contradictory actions; identifying a set of actual at-odds filters based on a comparison of the priority class and the weight value of the potential at odds filters and the priority class and the weight value of the new filter.
- 29. A computer-readable medium for executing computer-readable instructions for removing a first filter from a set of installed filters in a framework having an active filter list and a disabled filter list, comprising:
removing the first filter from the set of installed filters; determining whether the first filter was identified in the disabled filter list; identifying at least a second filter from the set of installed filters; removing the second filter from the disabled filter list; and adding the second filter to the active filter list.
- 30. The computer-readable medium of claim 29, wherein the second filter conflicts with the first filter.
- 31. The computer-readable medium of claim 30, wherein the second filter has a common set of filter conditions with the first filter and the first filter and second filter have contradictory actions.
- 32. A computer-readable medium for executing computer-readable instructions for identifying that a first filter conflicts with a second filter, each of the first and second filters having filter conditions that include a set of parameters, an action, a weight value, and a priority class value, comprising:
determining that the first filter and the second filter have a common set of parameters and different actions; determining that the first filter has a higher priority class value and a lower weight value than that of the second filter.
- 33. The computer-readable medium of claim 32, wherein the first filter is a new filter to be installed into a set of installed filters and wherein the second filter is stored in the set of installed filters.
- 34. The computer-readable medium of claim 32, wherein the second filter is identified in an active filter list.
- 35. A computer-readable medium for executing computer-executable instructions for automatically calculating a priority value for a filter to be installed into a set of installed filters that define a network policy, comprising:
identifying a set of per layer weight definitions, each of the set of per layer weight definitions including a bit allocation and a corresponding filter condition; determining a scaling factor; and for each per layer weight definition, scaling the filter condition to fit in the corresponding bit allocation; and rendering the priority value by placing each filter condition in the corresponding bit allocation.
- 36. The computer-readable medium of claim 35, wherein the filter condition comprises m bits and the bit allocation comprises n bits and wherein m>n.
- 37. The computer-readable medium of claim 35, wherein in the scaling factor is exponential scaling factor.
RELATED APPLICATIONS
[0001] The present application contains subject matter related to that of patent application “Multi-Layer Based Method for Implementing Network Firewalls,” Ser. No. ______ attorney docket number 221039; “Multi-Layered Firewall Architecture Implemented in a Network Device,” Ser. No. ______ attorney docket number 221038; and “A Method and Framework for Integrating a Plurality of Network Policies,” Ser. No. ______ attorney docket number 221041, filed on the same day as the present application, the disclosures of which are hereby expressly incorporated by reference.