IP Library Patent Application 14710534
Patent Application
App. No. 14/710,534

METHODS, SYSTEMS, AND NON-TRANSITORY COMPUTER READABLE MEDIA FOR GENERATING A TREE STRUCTURE WITH NODAL COMPARISON FIELDS AND CUT VALUES FOR RAPID TREE TRAVERSAL AND REDUCED NUMBERS OF FULL COMPARISONS AT LEAF NODES

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 None
App. No.
14/710,534
Abstract

A method for generating a tree structure with nodal comparison fields and cut values for rapid tree traversal and reduced numbers of full information item comparisons at leaf nodes is disclosed. The method is implemented in a computing device including a processor and a memory. The method includes receiving, by the processor, an information item set for processing information units. The method further includes selecting, by the processor, fields in the information item set and determining distribution frequencies of values of the fields. The method further includes using, by the processor, the distribution frequencies to assign cut values and comparison fields to non-leaf nodes in the tree structure. The method further includes assigning, by the processor, information items in the information item set to leaf nodes in the tree structure using the cut values and the comparison fields.

Claims (43)

1 . A method for generating a tree structure, the method comprising:

in a computing device including a processor and a memory:

receiving, by the processor, an information item set for processing information units;

selecting, by the processor, at least one field in the information item set and determining at least one distribution frequency of values of the at least one field in the information item set;

using, by the processor, the at least one distribution frequency of values to assign at least one comparison field and cut value combination to at least one non-leaf node in the tree structure; and

assigning, by the processor, information items in the information item set to leaf nodes in the tree structure using the at least one comparison field cut value and the combination.

2 . The method of claim 1 wherein the information item set is a prioritized information item set.

3 . The method of claim 1 wherein selecting the at least one field includes identifying a combination of one or more bits in the information item set

4 . The method of claim 1 wherein determining the at least one distribution frequency includes generating at least one histogram structure that stores values indicative of the numbers of occurrences of the values in the information item set.

5 . The method of claim 4 wherein using the at least one distribution frequency to assign the at least one comparison field and cut value combination to the at least one non-leaf node includes using the at least one histogram structure to assign the at least one comparison field and cut value combination to the at least one non-leaf node.

6 . The method of claim 5 wherein the at least one histogram structure comprises at least one array.

7 . The method of claim 6 wherein the at least one array stores numbers of occurrences of the values of the at least one field at indices corresponding to values of the at least one field.

8 . The method of claim 7 wherein assigning the information items in the information item set to the leaf nodes includes:

traversing the at least one array and accumulating at least one count of the numbers of occurrences of the values of the at least one field; and

selecting the at least one comparison field and cut value combination using the at least one accumulated count and a manner in which corresponding values in the array divide the information items in the information item set.

9 . The method of claim 1 wherein at least one information item of the information item set specifies a range of values for at least one field of the information item, and wherein generating the at least one distribution frequency includes recording only a start value and an end value for the range.

10 . The method of claim 9 wherein assigning the at least one comparison field and cut value combination to the at least one non-leaf node includes recording counts of ranges that end before, after, and that include each of the values of the field and selecting the at least one comparison field and cut value combination that most evenly balances the information items among child nodes of the at least one non-leaf node.

11 . The method of claim 1 wherein assigning the information items to the leaf nodes includes assigning subsets of the information items in the information item set to the leaf nodes, where the subset assigned to each leaf node is determined using the at least one comparison field and cut value combination in at least one node of the tree structure leading to the leaf nodes.

12 . The method of claim 1 wherein the computing device comprises a packet processing device, wherein the information items comprise packet processing rules, and wherein the information units comprise packets or portions thereof.

13 . A system for generating a tree structure, the system comprising:

a computing device including a processor and a memory; and a tree builder implemented by the processor for:

receiving an information item set for processing information units;

selecting at least one field in the information item set and determining at least one distribution frequency of values of the at least one field;

using the at least one distribution frequency to assign at least one comparison field and cut value combination to at least one non-leaf node in the tree structure; and

assigning information items in the information item set to leaf nodes in the tree structure using the at least one cut value and the comparison field combination.

14 . The system of claim 13 wherein the information item set is a prioritized information item set.

15 . The system of claim 13 wherein selecting the at least one field includes identifying a combination of one or more bits in the information item set.

16 . The system of claim 13 wherein determining the at least one distribution frequency includes generating at least one histogram structure that stores values indicative of the numbers of occurrences of the values in the information item set.

17 . The system of claim 16 wherein using the at least one distribution frequency to assign the at least one comparison field and cut value combination to the at least one non-leaf node includes using the at least one histogram structure to assign the at least one comparison field and cut value combination to the at least one non-leaf node.

18 . The system of claim 17 wherein the at least one histogram structure comprises at least one array.

19 . The system of claim 18 wherein the at least one array stores numbers of occurrences of the values of the at least one field at indices corresponding to values of the at least one field.

20 . The system of claim 19 wherein assigning the information items in the information item set to the leaf nodes includes:

traversing the at least one array and accumulating at least one count of the numbers of occurrences of the values of the at least one field; and

selecting the at least one comparison field and cut value combination using the at least one accumulated count and a manner in which corresponding values in the array divide the information items in the information item set.

21 . The system of claim 13 wherein at least one information item of the information item set specifies a range of values for at least one field of the information item, and wherein generating the at least one distribution frequency includes recording only a start value and an end value for the range.

22 . The system of claim 21 wherein assigning the at least one comparison field and cut value combination to the at least one non-leaf node includes recording counts of ranges that end before, after, and that include each of the values of the field and selecting the at least one comparison field and cut value combination that most evenly balances the information items among child nodes of the at least one non-leaf node.

23 . The system of claim 13 wherein assigning the information items to the leaf nodes includes assigning subsets of the information items in the information item set to the leaf nodes, where the subset assigned to each leaf node is determined using the at least one comparison field and cut value combination in at least one node of the tree structure leading to the leaf nodes.

24 . The system of claim 13 wherein the computing device comprises a packet processing device, wherein the information items comprise packet processing rules, and wherein the information units comprise packets or portions thereof.

25 . A non-transitory computer readable medium having stored thereon executable instructions that when executed by the processor of a computer control the computer to perform steps comprising:

receiving, by the processor, an information item set for processing information units;

selecting, by the processor, at least one field in the information item set and determining at least one distribution frequency of values of the at least one field;

using, by the processor, the at least one distribution frequency to assign at least one comparison field and cut value combination to at least one non-leaf node in the tree structure; and

assigning, by the processor, information items in the information item set to leaf nodes in the tree structure using the at least one cut value and the comparison field combination.

Assignments (8)
RELEASE OF SECURITY INTEREST Recorded May 1, 2018
From: SILICON VALLEY BANK
To: ENTERASYS NETWORKS, INC.
Reel/Frame 046047/0223 →
SECURITY INTEREST Recorded May 1, 2018
From: EXTREME NETWORKS, INC.
To: BANK OF MONTREAL
Reel/Frame 046050/0546 →
RELEASE OF SECURITY INTEREST Recorded May 1, 2018
From: SILICON VALLEY BANK
To: EXTREME NETWORKS, INC.
Reel/Frame 046051/0775 →
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: ENTERASYS NETWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 036189/0509 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 26, 2015
From: HAGGERTY, WILLIAM THOMAS; NEGUS, STEPHEN HENRY
To: EXTREME NETWORKS, INC.
Reel/Frame 035713/0153 →