IP Library Granted Patent US 7,143,439
Granted Patent B2
US 7,143,439 · App. 09/878,093 · Granted Nov 28, 2006

Efficient evaluation of rules

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,143,439
App. No.
09/878,093
Granted
Nov 28, 2006
Kind
B2
Abstract

A method and apparatus uses a proprietary algorithm for organizing network security policy rules in a way that minimizes the number of rules considered when determining the set of rules applicable to a given protocol event.

Claims (29)

1. A computer-implemented method for a policy engine first to organize pre-runtime and second to select policy rules in a way to effect an efficient evaluation of a protocol event at runtime, said protocol event having an agent descriptor, a protocol name, and a protocol action, said method comprising the steps of:

providing a policy engine first to organize pre-runtime and second to select policy rules in a way to effect an efficient evaluation of a protocol event at runtime, said protocol event having an agent descriptor, a protocol name, and a protocol action, said policy engine;

creating a first associative array having a first key and a first value, wherein said first key corresponds to an agent descriptor and said first value is a reference to a second associative array having a second key and a second value;

creating a second associative array, wherein said second key corresponds to a protocol name and said second value is a reference to a third associative array having a third key and a third value;

creating a third associative array, wherein said third key corresponds to a protocol action and said third value is a reference to a fourth associative array having a fourth key and a fourth value;

creating a fourth associative array, wherein said fourth key corresponds to a set of policy rules and said fourth value is a rank number associated with said any of said policy rules;

upon receiving at runtime an incoming protocol event comprising an associated agent descriptor, an associated protocol name, and an associated protocol action, selecting said first associative array, wherein said first key corresponds to said associated agent descriptor and said first value is a reference to said second associative array;

selecting said second associative array, wherein said second key corresponds to said associated protocol name and said second value is a reference to said third associative array;

selecting said third associative array, wherein said third key corresponds to said associated protocol action and said third value is a reference to said fourth associative array; and

selecting said fourth associative array, wherein said fourth key corresponds to any of said policy rules and said fourth value is a said rank number associated with said any of said policy rules, wherein said rank number is a relative value dependent on, and does not have to be unique with respect to, other rank numbers in said fourth associative array.

2. The computer-implemented method of claim 1 , further comprising ordering said policy rules in decreasing order of rank number.

3. The computer-implemented method of claim 2 , further comprising incorporating constraints into said ordering.

4. The computer-implemented method of claim 2 , further comprising ordering in lexical order rules having a same rank number.

5. The computer-implemented method of claim 1 , wherein said any of said policy rules is referenced by a plurality of said fourth associative arrays.

6. A computer system for a policy engine first to organize pre-runtime and second to select policy rules in a way to effect an efficient evaluation of a protocol event at runtime, said protocol event having an agent descriptor, a protocol name, and a protocol action, said computer system comprising:

at least one computer with accessibly coupled computer memory;

a policy engine first to organize pre-runtime and second to select policy rules in a way to effect an efficient evaluation of a protocol event at runtime, said protocol event having an agent descriptor, a protocol name, and a protocol action contains program code segments residing in said computer memory accessibly coupled to said computer of said computer system comprised of:

a program code segment supporting creating a first associative array having a first key and a first value, wherein said first key corresponds to an agent descriptor and said first value is a reference to a second associative array having a second key and a second value;

a program code segment supporting creating a second associative array, wherein said second key corresponds to a protocol name and said second value is a reference to a third associative array having a third key and a third value;

a program code segment supporting creating a third associative array, wherein said third key corresponds to a protocol action and said third value is a reference to a fourth associative array having a fourth key and a fourth value;

a program code segment supporting creating a fourth associative array, wherein said fourth key corresponds to a set of policy rules and said fourth value is a rank number associated with said any of said policy rules;

a program code segment supporting, upon receiving at runtime an incoming protocol event comprising an associated agent descriptor, an associated protocol name, and an associated protocol action, selecting said first associative array, wherein said first key corresponds to said associated agent descriptor and said first value is a reference to a said second associative array;

a program code segment supporting selecting said second associative array, wherein said second key corresponds to said associated protocol name and said second value is a reference to said third associative array;

a program code segment supporting selecting said third associative array, wherein said third key corresponds to said associated protocol action and said third value is a reference to said fourth associative array; and

a program code segment supporting selecting said fourth associative array, wherein said fourth key corresponds to any of said policy rules and said fourth value is said rank number associated with said any of said policy rules, wherein said rank number is a relative value dependent on, and does not have to be unique with respect to, other rank numbers in said fourth associative array.

7. The computer system of claim 6 , further comprising a program code segment supporting ordering said policy rules in decreasing order of rank number.

8. The computer system of claim 7 , further comprising a program code segment supporting incorporating constraints into said ordering.

9. The computer system of claim 7 , further comprising a program code segment supporting ordering in lexical order rules having a same rank number.

10. The computer system of claim 6 , wherein said any of said policy rules is referenced, by a plurality of said fourth associative arrays.

Assignments (6)
RELEASE OF INTELLECTUAL PROPERTY COLLATERAL - REEL/FRAME 045056/0676 Recorded Mar 2, 2022
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: MCAFEE, LLC
Reel/Frame 059354/0213 →
RELEASE OF INTELLECTUAL PROPERTY COLLATERAL - REEL/FRAME 045055/0786 Recorded Oct 26, 2020
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: MCAFEE, LLC
Reel/Frame 054238/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENT 6336186 PREVIOUSLY RECORDED ON REEL 045056 FRAME 0676. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Oct 22, 2020
From: MCAFEE, LLC
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 054206/0593 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENT 6336186 PREVIOUSLY RECORDED ON REEL 045055 FRAME 786. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Oct 22, 2020
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 055854/0047 →
SECURITY INTEREST Recorded Jan 12, 2018
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 045055/0786 →
SECURITY INTEREST Recorded Jan 12, 2018
From: MCAFEE, LLC
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 045056/0676 →