IP Library Granted Patent US 10,819,683
Granted Patent B2
US 10,819,683 · App. 15/817,992 · Granted Oct 27, 2020

Inspection context caching for deep packet inspection

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 10,819,683
App. No.
15/817,992
Granted
Oct 27, 2020
Kind
B2
Abstract

A method, system, and computer-usable medium are disclosed for performing deep packet inspection of network traffic, comprising: receiving a unit of one or more network packets, calculating a calculated fingerprint for data within the unit, determining a current inspection context, determining whether the calculated fingerprint and the current inspection context matches an entry stored in a cache, wherein the entry includes a stored fingerprint and a cached inspection context, and performing operations associated with deep packet inspection of the unit based on whether the calculated fingerprint and the current inspection context match the entry.

Claims (47)

1. A computer-implemented method for performing inspection of network traffic, comprising:

receiving a unit of one or more network packets;

calculating a calculated fingerprint for data within the unit;

determining a current inspection context, wherein the current inspection context is indicative of a state of an algorithm for performing deep packet inspection;

determining whether the calculated fingerprint and the current inspection context matches an entry stored in a cache, wherein the entry includes a stored fingerprint and a cached inspection context; and

performing operations associated with deep packet inspection of the unit based on whether the calculated fingerprint and the current inspection context match the entry.

2. The method of claim 1 , wherein performing operations associated with deep packet inspection of the unit comprises, responsive to determining that the calculated fingerprint and the current inspection context match the entry stored in the cache:

reading from the cache an inspection result associated with the stored fingerprint, the inspection result resulting from a deep packet inspection of a previous unit of one or more network packets from which the stored fingerprint was generated; and

handling the unit in accordance with the inspection result.

3. The method of claim 1 , wherein performing operations associated with deep packet inspection of the unit comprises, responsive to determining that the calculated fingerprint and the current inspection context fails to match any entry stored in the cache, deleting entries of the cache following entries associated with one or more previous data blocks to the unit.

4. The method of claim 1 , wherein performing operations associated with deep packet inspection of the unit comprises, responsive to determining that the calculated fingerprint and the current inspection context fails to match any entry stored in the cache:

performing deep packet inspection of data of the unit;

handling the unit in accordance with an inspection result; and

storing in the cache fingerprints of data and an inspection context associated with the unit along with the inspection result.

5. The method of claim 1 , wherein calculating the calculated fingerprint comprises calculating a hash checksum of the data within the unit.

6. A system comprising:

a processor; and

a non-transitory, computer-readable storage medium embodying computer program code comprising instructions executable by the processor and configured for:

receiving a unit of one or more network packets;

calculating a calculated fingerprint for data within the unit;

determining a current inspection context, wherein the current inspection context is indicative of a state of an algorithm for performing deep packet inspection;

determining whether the calculated fingerprint and the current inspection context matches an entry stored in a cache, wherein the entry includes a stored fingerprint and a cached inspection context; and

performing operations associated with deep packet inspection of the unit based on whether the calculated fingerprint and the current inspection context match the entry.

7. The system of claim 6 , wherein performing operations associated with deep packet inspection of the unit comprises, responsive to determining that the calculated fingerprint and the current inspection context match the entry stored in the cache:

reading from the cache an inspection result associated with the stored fingerprint, the inspection result resulting from a deep packet inspection of a previous unit of one or more network packets from which the stored fingerprint was generated; and

handling the unit in accordance with the inspection result.

8. The system of claim 6 , wherein performing operations associated with deep packet inspection of the unit comprises, responsive to determining that the calculated fingerprint and the current inspection context fails to match any entry stored in the cache, deleting entries of the cache following entries associated with one or more previous data blocks to the unit.

9. The system of claim 6 , wherein performing operations associated with deep packet inspection of the unit comprises, responsive to determining that the calculated fingerprint and the current inspection context fails to match any entry stored in the cache:

performing deep packet inspection of data of the unit;

handling the unit in accordance with an inspection result; and

storing in the cache fingerprints of data and an inspection context associated with the unit along with the inspection result.

10. The system of claim 6 , wherein calculating the calculated fingerprint comprises calculating a hash checksum of the data within the unit.

11. A non-transitory, computer-readable storage medium embodying computer program code, the computer program code comprising computer executable instructions configured for:

receiving a unit of one or more network packets;

calculating a calculated fingerprint for data within the unit;

determining a current inspection context, wherein the current inspection context is indicative of a state of an algorithm for performing deep packet inspection;

determining whether the calculated fingerprint and the current inspection context matches an entry stored in a cache, wherein the entry includes a stored fingerprint and a cached inspection context; and

performing operations associated with deep packet inspection of the unit based on whether the calculated fingerprint and the current inspection context match the entry.

12. The non-transitory, computer-readable storage medium of claim 11 , wherein performing operations associated with deep packet inspection of the unit comprises, responsive to determining that the calculated fingerprint and the current inspection context match the entry stored in the cache:

reading from the cache an inspection result associated with the stored fingerprint, the inspection result resulting from a deep packet inspection of a previous unit of one or more network packets from which the stored fingerprint was generated; and

handling the unit in accordance with the inspection result.

13. The non-transitory, computer-readable storage medium of claim 11 , wherein performing operations associated with deep packet inspection of the unit comprises, responsive to determining that the calculated fingerprint and the current inspection context fails to match any entry stored in the cache, deleting entries of the cache following entries associated with one or more previous data blocks to the unit.

14. The non-transitory, computer-readable storage medium of claim 11 , wherein performing operations associated with deep packet inspection of the unit comprises, responsive to determining that the calculated fingerprint and the current inspection context fails to match any entry stored in the cache:

performing deep packet inspection of data of the unit;

handling the unit in accordance with an inspection result; and

storing in the cache fingerprints of data and an inspection context associated with the unit along with the inspection result.

15. The non-transitory, computer-readable storage medium of claim 11 , wherein calculating the calculated fingerprint comprises calculating a hash checksum of the data within the unit.

Assignments (9)
RELEASE OF SECURITY INTEREST Recorded Apr 2, 2025
From: UBS AG, STAMFORD BRANCH
To: FORCEPOINT, LLC; BITGLASS, LLC
Reel/Frame 070706/0263 →
SECURITY INTEREST Recorded Apr 1, 2025
From: FORCEPOINT LLC; BITGLASS, LLC
To: SOCIÉTÉ GÉNÉRALE
Reel/Frame 070703/0887 →
CORRECTIVE ASSIGNMENT TO CORRECT THE APPLICATION NUMBER 15817922 PREVIOUSLY RECORDED AT REEL: 057001 FRAME: 0057. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT . Recorded Jan 11, 2023
From: FORCEPOINT FEDERAL HOLDINGS LLC
To: FORCEPOINT LLC
Reel/Frame 062352/0097 →
CORRECTIVE ASSIGNMENT TO CORRECT THE APPLICATION NUMBER 15817922 PREVIOUSLY RECORDED AT REEL: 056214 FRAME: 0798. ASSIGNOR(S) HEREBY CONFIRMS THE CHANGE OF NAME. Recorded Sep 7, 2022
From: FORCEPOINT LLC
To: FORCEPOINT FEDERAL HOLDINGS LLC
Reel/Frame 061387/0686 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 19, 2021
From: FORCEPOINT FEDERAL HOLDINGS LLC
To: FORCEPOINT LLC
Reel/Frame 057001/0057 →
PATENT SECURITY AGREEMENT Recorded Jan 20, 2021
From: REDOWL ANALYTICS, INC.; FORCEPOINT LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 055052/0302 →
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Jan 8, 2021
From: RAYTHEON COMPANY
To: FORCEPOINT LLC
Reel/Frame 055492/0266 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Jul 6, 2018
From: FORCEPOINT LLC
To: RAYTHEON COMPANY
Reel/Frame 046495/0561 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 20, 2017
From: RAHKONEN, VALTTERI; NURMELA, KARI
To: FORCEPOINT LLC
Reel/Frame 044180/0074 →