IP Library Granted Patent US 11,398,977
Granted Patent B2
US 11,398,977 · App. 16/749,881 · Granted Jul 26, 2022

Packet classifier

Inventors: Matthew Ian Ronald Williams (Enfield, GB); Michael Jeffrey Evans (Enfield, GB)
Assignee: Metaswitch Networks Ltd.
H04L45/302H04L43/0817H04L45/74H04L47/2441H04L69/22
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 11,398,977
App. No.
16/749,881
Granted
Jul 26, 2022
Kind
B2
Abstract

A packet classifier and methods of processing data packets in a data communications network can include receiving a data packet comprising packet header data; performing rule-based classification of the received data packet to generate rule-based classification data; and processing the data packet in accordance with the rule-based classification data.

Claims (61)

1. A method of performing rule-based classification of data packets in a data communications network, comprising:

receiving a data packet comprising packet header data;

obtaining feature definition data representative of a plurality of packet header features;

based on a comparison of the packet header data of the received data packet with the feature definition data, generating a first bit pattern comprising a first plurality of bits derived from the comparison, each bit indicating the presence or absence of a packet header feature in the plurality of packet header features;

obtaining a second bit pattern comprising a second plurality of bits, the second bit pattern representative of a packet detection rule;

determining a rule-based classification based on a comparison of the first bit pattern with the second bit pattern; and

processing the data packet in accordance with the rule-based classification.

2. The method according to claim 1 , wherein the packet detection rule is a first packet detection rule, further comprising:

obtaining a third bit pattern comprising a third plurality of bits representative of a second packet detection rule.

3. The method according to claim 2 , wherein the determining the rule-based classification comprises:

duplicating the first bit pattern into one register of a processor;

loading the second and third bit patterns into another register of the processor as a vector;

wherein the rule-based classification is determined based on a comparison between the one register and the other register.

4. The method according to claim 3 , further comprising:

obtaining a fourth bit pattern comprising a fourth plurality of bits representative of a third packet detection rule, and wherein the rule-based classification is determined based on a comparison comprises comparing a duplicated set of the first bit pattern with a first vector comprising the second and third bit patterns, wherein the fourth bit pattern is not included in the first vector.

5. The method according to claim 4 , wherein the second, third and fourth bit patterns are associated with priority data indicative of priorities attached to each respective packet detection rule, and wherein placement of the second and third bit patterns into the first vector is determined according to the priority data.

6. The method according to claim 5 , further comprising, when there is no match between the first bit pattern and the second and third bit patterns, comparing a duplicated set of the first bit pattern with a second vector comprising the fourth bit pattern.

7. The method according to claim 5 , further comprising, when there is a match between the first bit pattern and at least one of the second and third bit patterns, determining the rule-based classification without comparing the first bit pattern to the fourth bit pattern.

8. The method according to claim 1 , wherein generating the first bit pattern comprises extracting a value from a field of the packet header data, duplicating the value into one register of a processor, loading at least part of the feature definition data as a vector into another register of the processor, and performing a comparison between the one register and the other register.

9. The method according to claim 1 , wherein the first bit pattern comprises a bit mask in which the first plurality of bits indicate presence or absence of respective packet header features.

10. The method according to claim 1 , further comprising:

performing session-based classification of the received data packet to generate session classification data;

wherein the rule-based classification is based on the session classification data,

wherein the session-based classification comprises:

obtaining session detection data representative of a plurality of sessions;

loading the session detection data into a tree-structure classifier; and

performing classification of session identifier data in the packet header data using the tree-structure classifier to generate the session classification data.

11. The method according to claim 1 , wherein the processing of the data packet in accordance with the rule-based classification data comprises one or more of:

dropping the received data packet;

routing the received data packet to a selected service function processor;

applying a selected Quality of Service (QoS) treatment to the received data packet; and

performing a selected differential usage reporting or charging function with respect to the received data packet.

12. The method according to claim 1 , wherein the method is performed by a packet forwarding engine.

13. The method according to claim 1 , wherein the method is performed by a User Plane Function (UPF) in the data communications network.

14. A non-transitory computer storage medium storing computer-readable instructions that when executed by a processor of a system, cause the system to:

receive a data packet comprising packet header data;

obtain feature definition data representative of a plurality of packet header features;

based on a comparison of the packet header data of the received data packet with the feature definition data, generate a first bit pattern comprising a first plurality of bits derived from the comparison, each bit indicating presence or absence of a packet header feature in the plurality of packet header features;

obtain a second bit pattern comprising a second plurality of bits, the second bit pattern representative of a packet detection rule;

determine a rule-based classification based on a comparison of the first bit pattern with the second bit pattern; and

process the data packet in accordance with the rule-based classification.

15. A system configured to perform rule-based classification of data packets in a data communications network, the system comprising:

one or more processors; and

a memory in communication with the one or more processors, the memory having computer-readable instructions stored thereupon that, when executed by the one or more processors, cause the system to perform operations comprising:

receiving a data packet comprising packet header data;

obtaining feature definition data representative of a plurality of packet header features;

based on a comparison of the packet header data of the received data packet with the feature definition data, generating a first bit pattern comprising a first plurality of bits derived from the comparison, each bit indicating presence or absence of a packet header feature in the plurality of packet header features;

obtaining a second bit pattern comprising a second plurality of bits, the second bit pattern representative of a packet detection rule;

determining a rule-based classification based on a comparison of the first bit pattern with the second bit pattern; and

processing the data packet in accordance with the rule-based classification.

16. The system according to claim 15 , wherein the packet detection rule is a first packet detection rule, further comprising computer-readable instructions stored thereupon that, when executed by the one or more processors, cause the system to perform operations comprising:

obtaining a third bit pattern comprising a third plurality of bits representative of a second packet detection rule.

17. The system according to claim 16 , wherein the determining the rule-based classification comprises:

duplicating the first bit pattern into one register of a processor;

loading the second and third bit patterns into another register of the processor as a vector;

wherein the rule-based classification is determined based on a comparison between the one register and the other register.

18. The system according to claim 17 , further comprising computer-readable instructions stored thereupon that, when executed by the one or more processors, cause the system to perform operations comprising:

obtaining a fourth bit pattern comprising a fourth plurality of bits representative of a third packet detection rule, and wherein the rule-based classification is determined based on a comparison comprises comparing a duplicated set of the first bit pattern with a first vector comprising the second and third bit patterns, wherein the fourth bit pattern is not included in the first vector.

19. The system according to claim 18 , wherein the second, third, and fourth bit patterns are associated with priority data indicative of priorities attached to each respective packet detection rule, and wherein placement of the second and third bit patterns into the first vector is determined according to the priority data.

20. The system according to claim 19 , further comprising computer-readable instructions stored thereupon that, when executed by the one or more processors, cause the system to perform operations comprising:

when there is no match between the first bit pattern and the second and third bit patterns, comparing a duplicated set of the first bit pattern with a second vector comprising the fourth bit pattern.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2026
From: MICROSOFT TECHNOLOGY LICENSING, LLC
To: ALIANZA, INC.
Reel/Frame 075645/0892 →
CHANGE OF NAME Recorded May 13, 2026
From: ALIANZA, INC.
To: ALIANZA, LLC
Reel/Frame 075646/0037 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2026
From: METASWITCH NETWORKS LTD.
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 075578/0155 →
SECURITY INTEREST Recorded May 6, 2025
From: ALIANZA, INC.; METASWITCH NETWORKS LTD
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 071191/0228 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 18, 2020
From: WILLIAMS, MATTHEW IAN RONALD; EVANS, MICHAEL JEFFREY
To: METASWITCH NETWORKS LTD.
Reel/Frame 052979/0960 →
Continuity (1)
Related Publication 20200267077A1 · Aug 20, 2020
Cited By (1)
US 12,368,455