IP Library Granted Patent US 11,750,564
Granted Patent B2
US 11,750,564 · App. 17/453,514 · Granted Sep 5, 2023

Systems and methods for monitoring and securing networks using a shared buffer

Inventors: Paolo Fabio Zaino (Brighton, GB); Bryan Wesley Brown (Baltimore, MD)
Assignee: LOOKINGGLASS CYBER SOLUTIONS, INC.
H04L63/0245H04L45/42H04L45/74H04L63/1425
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,750,564
App. No.
17/453,514
Granted
Sep 5, 2023
Kind
B2
Abstract

Disclosed are systems and methods for securing a network including one or more network nodes connecting a plurality of network connected devices of the network. A method may include: receiving and temporarily storing a plurality of data packets in a shared buffer of a network node; receiving requests from a first processing engine and a second processing engine to access a temporarily stored data packet; generating a first pointer and a second pointer to the temporarily stored data packet, the second pointer being different from the first pointer while pointing to the same temporarily stored data packet; and enabling the first processing engine to use the generated first pointer to access the temporarily stored data packet and the second processing engine to use the generated second pointer to access the temporarily stored data packet.

Claims (61)

1. A computer-implemented method for securing a network comprising one or more network nodes connecting a plurality of network connected devices of the network, the method comprising:

establishing a first connection between a first processing engine and a shared buffer of a network node among the one or more network nodes;

generating a first pointer to a first temporarily stored data packet in the shared buffer using the established first connection;

enabling the first processing engine to use the generated first pointer to access the first temporarily stored data packet using the established first connection;

establishing a second connection between a second processing engine and the shared buffer;

generating a second pointer to the first temporarily stored data packet using the established second connection, the second pointer being different from the first pointer; and

enabling the second processing engine to use the generated second pointer to access the first temporarily stored data packet using the established second connection,

wherein the enabling allows the first processing engine and the second processing engine to access the first temporarily stored data packet simultaneously.

2. The computer-implemented method of claim 1 , wherein the shared buffer is a shared circular buffer.

3. The computer-implemented method of claim 1 , further comprising:

establishing a third connection between a third processing engine and the shared buffer;

generating a third pointer to the first temporarily stored data packet using the established third connection; and

enabling the third processing engine to use the generated third pointer to access the first temporarily stored data packet using the established third connection.

4. The computer-implemented method of claim 1 , further comprising:

receiving a message regarding the first temporarily stored data packet from the first processing engine and/or the second processing engine.

5. The computer-implemented method of claim 4 , further comprising:

processing the first temporarily stored data packet based on the received message, wherein processing the first temporarily stored data packet comprises dropping the first data packet from the buffer, routing from the buffer, and/or modifying the data packet; and

notifying the first processing engine, the second processing engine, and/or a controller regarding the processed first temporarily stored data packet.

6. The computer-implemented method of claim 1 , wherein the network node comprises the first processing engine.

7. The computer-implemented method of claim 1 , wherein the network node comprises the shared buffer and a remote network node comprises the second processing engine.

8. A network node of a network comprising one or more network nodes connecting a plurality of network connected devices of the network, the network node comprising:

a data storage device storing processor-readable instructions; and

a processor configured to execute the instructions to perform a method including:

establishing a first connection between a first processing engine and a shared buffer of a network node among the one or more network nodes;

generating a first pointer to a first temporarily stored data packet in the shared buffer using the established first connection;

enabling the first processing engine to use the generated first pointer to access the first temporarily stored data packet using the established first connection;

establishing a second connection between a second processing engine and the shared buffer;

generating a second pointer to the first temporarily stored data packet using the established second connection, the second pointer being different from the first pointer; and

enabling the second processing engine to use the generated second pointer to access the first temporarily stored data packet using the established second connection,

wherein the enabling allows the first processing engine and the second processing engine to access the first temporarily stored data packet simultaneously.

9. The network node of claim 8 , wherein the shared buffer is a shared circular buffer.

10. The network node of claim 8 , wherein the processor is further configured for:

establishing a third connection between a third processing engine and the shared buffer;

generating a third pointer to the first temporarily stored data packet using the established third connection; and

enabling the third processing engine to use the generated third pointer to access the first temporarily stored data packet using the established third connection.

11. The network node of claim 8 , wherein the processor is further configured for:

receiving a message regarding the first temporarily stored data packet from the first processing engine and/or the second processing engine.

12. The network node of claim 11 , wherein the processor is further configured for:

processing the first temporarily stored data packet based on the received message, wherein processing the first temporarily stored data packet comprises dropping the first data packet from the buffer, routing from the buffer, and/or modifying the first data packet; and

notifying the first processing engine, the second processing engine, and/or a controller regarding the processed first temporarily stored data packet.

13. The network node of claim 8 , wherein the network node comprises the first processing engine.

14. The network node of claim 8 , wherein the network node comprises the shared buffer and a remote network node comprises the second processing engine.

15. A network node of a network comprising one or more network nodes connecting a plurality of network connected devices of the network, the network node including non-transitory computer-readable medium containing instructions that, when executed by a processor, cause the processor to perform a method comprising:

establishing a first connection between a first processing engine and a shared buffer of a network node among the one or more network nodes;

generating a first pointer to a first temporarily stored data packet in the shared buffer using the established first connection;

enabling the first processing engine to use the generated first pointer to access the first temporarily stored data packet using the established first connection;

establishing a second connection between a second processing engine and the shared buffer;

generating a second pointer to the first temporarily stored data packet using the established second connection, the second pointer being different from the first pointer; and

enabling the second processing engine to use the generated second pointer to access the first temporarily stored data packet using the established second connection,

wherein the enabling allows the first processing engine and the second processing engine to access the first temporarily stored data packet simultaneously.

16. The network node of claim 15 , wherein the shared buffer is a shared circular buffer.

17. The network node of claim 15 , the method further comprising:

establishing a third connection between a third processing engine and the shared buffer;

generating a third pointer to the first temporarily stored data packet using the established third connection; and

enabling the third processing engine to use the generated third pointer to access the first temporarily stored data packet using the established third connection.

18. The network node of claim 15 , the method further comprising:

receiving a message regarding the first temporarily stored data packet from the first processing engine and/or the second processing engine.

19. The network node of claim 18 , the method further comprising:

processing the first temporarily stored data packet based on the received message, wherein processing the first temporarily stored data packet comprises dropping the first data packet from the buffer, routing from the buffer, and/or modifying the first data packet; and

notifying the first processing engine, the second processing engine, and/or a controller regarding the processed first temporarily stored data packet.

20. The network node of claim 15 , wherein the network node comprises the first processing engine, and wherein a remote network node comprises the second processing engine.

Assignments (9)
RELEASE OF SECURITY INTEREST Recorded May 16, 2024
From: STIFEL BANK
To: LOOKINGGLASS CYBER SOLUTIONS, LLC
Reel/Frame 067429/0361 →
SECURITY INTEREST Recorded May 13, 2024
From: ZEROFOX, INC.; LOOKINGGLASS CYBER SOLUTIONS, LLC; IDENTITY THEFT GUARD SOLUTIONS, INC.
To: MONROE CAPITAL MANAGEMENT ADVISORS, LLC
Reel/Frame 067396/0304 →
RELEASE OF SECURITY INTEREST Recorded Apr 17, 2024
From: EASTWARD FUND MANAGEMENT, LLC
To: LOOKINGGLASS CYBER SOLUTIONS, INC.; CLOUDSHIELD TECHNOLOGIES, LLC; CYVEILLANCE, INC.
Reel/Frame 067131/0803 →
CHANGE OF NAME Recorded Jun 1, 2023
From: LOOKINGGLASS CYBER SOLUTIONS, INC.
To: LOOKINGGLASS CYBER SOLUTIONS, LLC
Reel/Frame 063821/0591 →
SECURITY INTEREST Recorded Jun 1, 2023
From: LOOKINGGLASS CYBER SOLUTIONS, LLC
To: STIFEL BANK
Reel/Frame 063829/0248 →
RELEASE OF SECURITY INTEREST Recorded Mar 3, 2023
From: SILICON VALLEY BANK
To: LOOKINGGLASS CYBER SOLUTIONS, INC.
Reel/Frame 062871/0797 →
SECURITY INTEREST Recorded May 11, 2022
From: LOOKINGGLASS CYBER SOLUTIONS, INC.
To: EASTWARD FUND MANAGEMENT, LLC
Reel/Frame 059892/0264 →
SECURITY INTEREST Recorded May 2, 2022
From: LOOKINGGLASS CYBER SOLUTIONS, INC.
To: SILICON VALLEY BANK
Reel/Frame 059785/0820 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 4, 2021
From: ZAINO, PAOLO FABIO; BROWN, BRYAN WESLEY
To: LOOKINGGLASS CYBER SOLUTIONS, INC.
Reel/Frame 058020/0298 →