IP Library Granted Patent US 10,419,461
Granted Patent B2
US 10,419,461 · App. 15/830,264 · Granted Sep 17, 2019

Method and an apparatus to perform multi-connection traffic analysis and management

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,419,461
App. No.
15/830,264
Granted
Sep 17, 2019
Kind
B2
Abstract

A method and an apparatus to perform multi-connection traffic analysis and management are described. In one embodiment, the method includes analyzing data packets in the first data flow of a client application for a pattern of interest, where the client application communicates data using first and second data flows. In response to the method detecting a pattern of interest in the first data flow, the method identifies the second data flow and identifies a traffic policy for the second data flow. The method applies the identified traffic policy to the second data flow. Other embodiments have been claimed and described.

Claims (48)

1. A method for inspecting data packets transmitted between computing devices, the method comprising:

maintaining a first set of state information relating to a first set of data packets being transferred from a first application program at a first computing device to a second computing device, wherein the first set of data packets are associated with a first connection of a plurality of connections;

maintaining a second set of state information relating to a second set of data packets being transferred from the second computing device to the first application program, wherein the second set of data packets are associated with the first connection of the plurality of connections;

maintaining one or more additional sets of state information relating to data packets that are associated with at least a second connection of the plurality of connections;

receiving a subsequent data packet associated with the first set of data packets, wherein the subsequent data packet is received out-of-order;

buffering the subsequent data packet based on an identification that the subsequent data packet has been received out-of-order;

receiving a data packet that precedes the buffered data packet associated with the first set of data packets;

updating the first set of state information based on a scan of the preceding data packet;

identifying that the updated first set of state information corresponds to a pattern of interest; and

initiating an action associated with the identified pattern of interest.

2. The method of claim 1 , wherein the action associated with the identified pattern of interest corresponds to throttling bandwidth associated with the first connection.

3. The method of claim 1 , wherein the action associated with the identified pattern of interest corresponds to preventing data associated with the first application program from being transferred between the first application program and the second computing device.

4. The method of claim 2 , wherein throttling the bandwidth associated with the first connection ensures a minimum bandwidth for a data flow associated with the first connection in at least a first direction.

5. The method of claim 1 , wherein the action associated with the identified pattern of interest corresponds to controlling an amount of bandwidth associated with an audio/visual conference.

6. The method of claim 1 , wherein the action associated with the identified pattern of interest corresponds to controlling an amount of bandwidth associated with data transferred via a port associated with digital media transport.

7. The method of claim 1 , wherein the one or more additional sets of state information include monitoring data regarding a first data flow in a first direction and a second data flow in a second direction.

8. A non-transitory computer-readable storage medium having embodied thereon a program executable by a processor for implementing a method for inspecting data packets transmitted between computing devices, the method comprising:

maintaining a first set of state information relating to a first set of data packets being transferred from a first application program at a first computing device to a second computing device, wherein the first set of data packets are associated with a first connection of a plurality of connections;

maintaining a second set of state information relating to a second set of data packets being transferred from the second computing device to the first application program, wherein the second set of data packets are associated with the first connection of the plurality of connections;

maintaining one or more additional sets of state information relating to data packets that are associated with at least a second connection of the plurality of connections;

receiving a subsequent data packet associated with the first set of data packets, wherein the subsequent data packet is received out-of-order;

buffering the subsequent data packet based on an identification that the subsequent data packet has been received out-of-order;

receiving a data packet that precedes the buffered data packet associated with the first set of data packets;

updating the first set of state information based on a scan of the preceding data packet;

identifying that the updated first set of state information corresponds to a pattern of interest; and

initiating an action associated with the identified pattern of interest.

9. The non-transitory computer-readable storage medium of claim 8 , wherein the action associated with the identified pattern of interest corresponds to throttling bandwidth associated with the first connection.

10. The non-transitory computer-readable storage medium of claim 8 , wherein the action associated with the identified pattern of interest corresponds to preventing data associated with the first application program from being transferred between the first application program and the second computing device.

11. The non-transitory computer-readable storage medium of claim 9 , wherein throttling the bandwidth associated with the first connection ensures a minimum bandwidth for a data flow associated with the first connection in at least a first direction.

12. The non-transitory computer-readable storage medium of claim 8 , wherein the action associated with the identified pattern of interest corresponds to controlling an amount of bandwidth associated with an audio/visual conference.

13. The non-transitory computer-readable storage medium of claim 8 , wherein the action associated with the identified pattern of interest corresponds to controlling an amount of bandwidth associated with data transferred via a port associated with digital media transport.

14. The non-transitory computer-readable storage medium of claim 8 , wherein the one or more additional sets of state information include monitoring data regarding a first data flow in a first direction and a second data flow in a second direction.

15. An apparatus for inspecting data packets transmitted between computing devices, the apparatus comprising:

a plurality of network interfaces that receive data packets associated with a plurality of different connections;

a memory that:

maintains a first set of state information relating to a first set of data packets being transferred from a first application program at a first computing device to a second computing device, wherein the first set of data packets are associated with a first connection of a plurality of connections,

maintains a second set of state information relating to a second set of data packets being transferred from the second computing device to the first application program, wherein the second set of data packets are associated with the first connection of the plurality of connections, and

maintains one or more additional sets of state information relating to data packets that are associated with at least a second connection of the plurality of connections; and

a processor that executes instructions out of the memory, wherein execution of the instructions by the processor:

buffers a subsequent data packet associated with the first set of data packets based on an identification that the subsequent data packet has been received out-of-order,

updates the first set of state information based on a scan of a received data packet that precedes the buffered data packet associated with the first set of data packets,

identifies that the updated first set of state information corresponds to a pattern of interest; and

initiates an action associated with the identified pattern of interest.

16. The apparatus of claim 15 , wherein the action associated with the identified pattern of interest corresponds to throttling bandwidth associated with the first connection.

17. The apparatus of claim 15 , wherein the action associated with the identified pattern of interest corresponds to preventing data associated with the first application program from being transferred between the first application program and the second computing device.

18. The apparatus of claim 16 , wherein throttling the bandwidth associated with the first connection ensures a minimum bandwidth for a data flow associated with the first connection in at least a first direction.

19. The apparatus of claim 15 , wherein the action associated with the identified pattern of interest corresponds to controlling an amount of bandwidth associated with an audio/visual conference.

20. The apparatus of claim 15 , wherein the action associated with the identified pattern of interest corresponds to controlling an amount of bandwidth associated with data transferred via a port associated with digital media transport.

Assignments (9)
FIRST LIEN IP SUPPLEMENT Recorded Jun 30, 2025
From: SONICWALL US HOLDINGS INC.
To: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
Reel/Frame 071777/0641 →
RELEASE OF SECOND LIEN SECURITY INTEREST IN PATENTS RECORDED AT RF 046321/0393 Recorded Jun 16, 2025
From: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
To: SONICWALL US HOLDINGS INC.
Reel/Frame 071625/0887 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: SONICWALL US HOLDINGS INC.
To: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
Reel/Frame 046321/0393 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: SONICWALL US HOLDINGS INC.
To: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
Reel/Frame 046321/0414 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 9, 2018
From: DUBROVSKY, ALEKSANDR; YANOVSKY, BORIS; ZHU, SHUNHUI
To: SONICWALL, INC.
Reel/Frame 045756/0914 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 9, 2018
From: QUEST SOFTWARE INC.
To: SONICWALL US HOLDINGS INC.
Reel/Frame 046163/0374 →
CHANGE OF NAME Recorded May 9, 2018
From: SONICWALL, INC.
To: SONICWALL L.L.C.
Reel/Frame 045756/0964 →
MERGER Recorded May 9, 2018
From: SONICWALL L.L.C.
To: DELL SOFTWARE INC.
Reel/Frame 045757/0029 →
CHANGE OF NAME Recorded May 9, 2018
From: DELL SOFTWARE INC.
To: QUEST SOFTWARE INC.
Reel/Frame 045757/0056 →