IP Library Granted Patent US 11,595,297
Granted Patent B2
US 11,595,297 · App. 17/127,249 · Granted Feb 28, 2023

Multi-VPN multi link traffic routing

Inventors: Dileep Kumar Soma (Austin, TX); Vivek Viswanathan Iyer (Austin, TX); Liam B. Quinn (Austin, TX)
Assignee: Dell Products L.P.
H04L45/245H04L12/4633H04L63/0227H04L63/0272
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,595,297
App. No.
17/127,249
Granted
Feb 28, 2023
Kind
B2
Abstract

A system, method, and computer-readable medium for performing a traffic routing operation. The traffic routing operation includes: establishing a plurality of virtual private network (VPN) connections within an information handling system; obtaining a configuration policy for each of the plurality of VPN connections, the configuration policy for each of the plurality of VPN connections comprising an indication of at least one type of supported link of a plurality of links; configuring a plurality of queues for packets being communicated via the plurality of virtual private network connections, the plurality of queues being greater than the plurality of VPN connections; creating a tunnel indication for each of the plurality of VPN connections; mapping the tunnel indication for each of the plurality of VP connections to a respective queue of the plurality of queues; and, mapping each queue of the plurality of queues to a link of a particular VPN connection.

Claims (58)

1. A computer-implementable method for performing a traffic routing operation, comprising:

establishing a plurality of virtual private network (VPN) connections via an information handling system;

obtaining a configuration policy for each of the plurality of VPN connections, the configuration policy for each of the plurality of VPN connections comprising an indication of at least one type of supported link of a plurality of links;

configuring a plurality of queues for packets being communicated via the plurality of virtual private network connections, the plurality of queues being greater than the plurality of VPN connections;

creating a tunnel indication for each of the plurality of VPN connections;

mapping the tunnel indication for each of the plurality of VPN connections to a respective queue of the plurality of queues; and,

mapping each queue of the plurality of queues to a link of a particular VPN connection, the mapping using the configuration policy for each of the plurality of VPN connections.

2. The method of claim 1 , wherein:

the traffic routing operation includes a user mode of operation, the user mode of operation executing an operating system service.

3. The method of claim 1 , wherein:

the traffic routing operation includes a kernel mode of operation, the kernel mode of operation performing a multi-link network traffic operation, the multi-link network traffic operation interacting with an input/output control system.

4. The method of claim 3 , wherein:

the input/output control system comprises a filtering platform, the filtering platform performing a network filtering operation.

5. The method of claim 3 , wherein:

the input/output control system comprises a loadable kernel module, the loadable kernel module interacting with an input/output control system of the information handling system.

6. The method of claim 1 , further comprising:

performing a many to many mapping of the plurality of VPN connections to the plurality of links, the many to many mapping being optimized for a multi-link configuration using network link attributes to determine which link is suited for assignment of a particular VPN connection.

7. A system comprising:

a processor;

a data bus coupled to the processor; and

a non-transitory, computer-readable storage medium embodying computer program code, the non-transitory, computer-readable storage medium being coupled to the data bus, the computer program code interacting with a plurality of computer operations and comprising instructions executable by the processor and configured for:

establishing a plurality of virtual private network (VPN) connections via an information handling system;

obtaining a configuration policy for each of the plurality of VPN connections, the configuration policy for each of the plurality of VPN connections comprising an indication of at least one type of supported link of a plurality of links;

configuring a plurality of queues for packets being communicated via the plurality of virtual private network connections, the plurality of queues being greater than the plurality of VPN connections;

creating a tunnel indication for each of the plurality of VPN connections;

mapping the tunnel indication for each of the plurality of VPN connections to a respective queue of the plurality of queues; and,

mapping each queue of the plurality of queues to a link of a particular VPN connection, the mapping using the configuration policy for each of the plurality of VPN connections.

8. The system of claim 7 , wherein:

the traffic routing operation includes a user mode of operation, the user mode of operation executing an operating system service.

9. The system of claim 7 , wherein:

the traffic routing operation includes a kernel mode of operation, the kernel mode of operation performing a multi-link network traffic operation, the multi-link network traffic operation interacting with an input/output control system.

10. The system of claim 9 , wherein:

the input/output control system comprises a filtering platform, the filtering platform performing a network filtering operation.

11. The system of claim 7 , wherein:

the input/output control system comprises a loadable kernel module, the loadable kernel module interacting with an input/output control system of the information handling system.

12. The system of claim 7 , wherein the instructions executable by the processor are further configured for:

performing a many to many mapping of the plurality of VPN connections to the plurality of links, the many to many mapping being optimized for a multi-link configuration using network link attributes to determine which link is suited for assignment of a particular VPN connection.

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

establishing a plurality of virtual private network (VPN) connections via an information handling system;

obtaining a configuration policy for each of the plurality of VPN connections, the configuration policy for each of the plurality of VPN connections comprising an indication of at least one type of supported link of a plurality of links;

configuring a plurality of queues for packets being communicated via the plurality of virtual private network connections, the plurality of queues being greater than the plurality of VPN connections;

creating a tunnel indication for each of the plurality of VPN connections;

mapping the tunnel indication for each of the plurality of VPN connections to a respective queue of the plurality of queues; and,

mapping each queue of the plurality of queues to a link of a particular VPN connection, the mapping using the configuration policy for each of the plurality of VPN connections.

14. The non-transitory, computer-readable storage medium of claim 13 , wherein:

the traffic routing operation includes a user mode of operation, the user mode of operation executing an operating system service.

15. The non-transitory, computer-readable storage medium of claim 13 , wherein:

the traffic routing operation includes a kernel mode of operation, the kernel mode of operation performing a multi-link network traffic operation, the multi-link network traffic operation interacting with an input/output control system.

16. The non-transitory, computer-readable storage medium of claim 15 , wherein:

the input/output control system comprises a filtering platform, the filtering platform performing a network filtering operation.

17. The non-transitory, computer-readable storage medium of claim 13 , wherein:

the input/output control system comprises a loadable kernel module, the loadable kernel module interacting with an input/output control system of the information handling system.

18. The non-transitory, computer-readable storage medium of claim 13 , wherein the computer executable instructions are further configured for:

performing a many to many mapping of the plurality of VPN connections to the plurality of links, the many to many mapping being optimized for a multi-link configuration using network link attributes to determine which link is suited for assignment of a particular VPN connection.

19. The non-transitory, computer-readable storage medium of claim 13 , wherein:

the computer executable instructions are deployable to a client system from a server system at a remote location.

20. The non-transitory, computer-readable storage medium of claim 13 , wherein:

the computer executable instructions are provided by a service provider to a user on an on-demand basis.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (055479/0342) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0460 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (055479/0051) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0663 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056136/0752) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0771 →
RELEASE OF SECURITY INTEREST AT REEL 055408 FRAME 0697 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0553 →
SECURITY INTEREST Recorded Mar 3, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056136/0752 →
SECURITY INTEREST Recorded Mar 3, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 055479/0051 →
SECURITY INTEREST Recorded Mar 3, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 055479/0342 →
SECURITY AGREEMENT Recorded Feb 25, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 055408/0697 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 18, 2020
From: SOMA, DILEEP KUMAR; IYER, VIVEK VISWANATHAN; QUINN, LIAM B.
To: DELL PRODUCTS L.P.
Reel/Frame 054697/0243 →