IP Library Granted Patent US 11,012,524
Granted Patent B2
US 11,012,524 · App. 16/679,555 · Granted May 18, 2021

Remote socket splicing system

Inventors: Samuel Liddicott (Wakefield, GB); Shane O'Hanlon (Kerry, IE)
Assignee: Dell Products L.P.
H04L67/2814H04L45/22H04L45/58H04L67/141H04L67/28
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,012,524
App. No.
16/679,555
Granted
May 18, 2021
Kind
B2
Abstract

A remote socket splicing system includes a first computing device and a second computing device that are coupled to a router device. A proxy system is coupled to the router device. The proxy system is configured to operate on a first connection with the first computing device through the first router device, and operate on a second connection with the second computing device through the first router device. The proxy system is also configured to send an instruction to perform a socket splicing operation to the first router device subsequent to operating on the first connection and the second connection. The first router device is configured to perform the socket splicing operation to provide a data path between the first computing device and the second computing device that does not include the proxy system.

Claims (54)

1. A remote socket splicing system, comprising:

a first router device that includes a first chassis and a first communication system that is housed in the first chassis; and

a proxy system that includes a second chassis and a second communication system that is housed in the second chassis, wherein the proxy system is coupled to the first communication system included in the first router device and is configured to:

identify a first computing device that is coupled to the first router device;

identify a second computing device that is coupled to the first router device; and

transmit, to the first router device that is coupled to each of the first computing device and the second computing device and via the first communication system and the second communication system, a socket splicing instruction that is configured to cause the first router device to perform a socket splicing operation that provides a data path that transmits data between the first computing device and the second computing device and that does not include the proxy system.

2. The remote socket splicing system of claim 1 , wherein the first computing device is a client device and the second computing device is a server device, and wherein the first router device is configured to use the data path to transmit at least one data communication between the server device and the client device.

3. The remote socket splicing system of claim 1 , wherein the first computing device is a first client device and the second computing device is a second client device, and wherein the first router device is configured to use the data path to transmit at least one data communication between the first client device and the second client device.

4. The remote socket splicing system of claim 1 , further comprising:

a second router device that is coupled between the first router device and the proxy system, wherein the second router device is configured to:

receive the socket splicing instruction; and

determine that the first router device is coupled to both of the first computing device and the second computing device and, in response, forward the socket splicing instruction to the first router device.

5. The remote socket splicing system of claim 1 , wherein the proxy system is configured to:

determine that the first router device is configured to provide the data path between the first computing device and the second computing device that does not include the proxy system and, in response, transmit the socket splicing instruction to the first router device.

6. The remote socket splicing system of claim 1 , wherein the proxy system is configured to:

receive, from the first router device in response to the socket splicing instruction, a socket splicing confirmation; and

close, in response to receiving the socket splicing confirmation, respective connections between the proxy system and each of the first computing device and the second computing device.

7. An information handling system (IHS), comprising:

a first chassis;

a first communication system that is housed in the first chassis and that is configured to couple to a second communication system that is housed in a second chassis included in a first router device;

a processing system that is housed in the first chassis and that is coupled to the first communication system; and

a memory system that is housed in the first chassis and that is coupled to the processing system and that includes instruction that, when executed by the processing system, cause the processing system to provide a remote socket splicing engine that is configured to:

identify a first computing device that is coupled to the first router device;

identify a second computing device that is coupled to the first router device; and

transmit, to the first router device that is coupled to each of the first computing device and the second computing device and via the first communication system and the second communication system, a socket splicing instruction that is configured to cause the first router device to perform a socket splicing operation that provides a first data path that transmits data between the first computing device and the second computing device and that does not include the first communication system.

8. The IHS of claim 7 , wherein the first computing device is a client device and the second computing device is a server device, and wherein the first router device is configured to use the first data path to transmit at least one data communication between the server device and the client device.

9. The IHS of claim 7 , wherein the first computing device is a first client device and the second computing device is a second client device, and wherein the first router device is configured to use the first data path to transmit at least one data communication between the first client device and the second client device.

10. The IHS of claim 7 , wherein the socket splicing instruction is configured to cause a second router device that couples the processing system to the first router device to:

determine that the first router device is coupled to both of the first computing device and the second computing device and, in response, forward the socket splicing instruction to the first router device.

11. The IHS of claim 7 , wherein the remote socket splicing engine is configured to:

determine that the first router device is configured to provide the first data path between the first computing device and the second computing device that does not include the communication system and, in response, transmit the socket splicing instruction to the first router device.

12. The IHS of claim 7 , wherein the remote socket splicing engine is configured to:

receive, from the first router device, a socket splicing response that indicates that the socket splicing operation was not performed by the first router device; and

perform, in response to receiving the socket splicing response, the socket splicing operation to provide a second data path between the first computing device and the second computing device that includes the communication system.

13. The IHS of claim 7 , wherein the remote socket splicing engine is configured to:

receive, from the first router device in response to the socket splicing instruction, a socket splicing confirmation; and

close, in response to receiving the socket splicing confirmation, respective connections between the communication system and each of the first computing device and the second computing device.

14. A method for performing remote socket splicing, comprising:

identifying, by a proxy system that includes a first chassis and a first communication system that is housed in the first chassis, a first computing device, wherein the first computing device is coupled to a first router device that is coupled to the proxy system and that includes a second chassis and a second communication system that is coupled to the first communication system and housed in the second chassis;

identifying, by the proxy system, a second computing device that is coupled to the first router device; and

transmitting, by the proxy system to the first router device that is coupled to each of the first computing device and the second computing device and via the first communication system and the second communication system, a socket splicing instruction that is configured to cause the first router device to perform a socket splicing operation that provides a first data path that transmits data between the first computing device and the second computing device and that does not include the proxy system.

15. The method of claim 14 , wherein the first computing device is a client device and the second computing device is a server device, and wherein the first router device is configured to use the first data path to transmit at least one data communication between the server device and the client device.

16. The method of claim 14 , wherein the first computing device is a first client device and the second computing device is a second client device, and wherein the first router device is configured to use the first data path to transmit at least one data communication between the first client device and the second client device.

17. The method of claim 14 , further comprising:

receiving, by a second router device that couples the proxy system to the first router device, the socket splicing instruction; and

determining, by the second router device, that the first router device is coupled to both of the first computing device and the second computing device and, in response, forwarding the socket splicing instruction to the first router device.

18. The method of claim 14 , further comprising:

determining, by the proxy system, that the first router device is configured to provide the first data path between the first computing device and the second computing device that does not include the proxy system and, in response, transmitting the socket splicing instruction to the first router device.

19. The method of claim 14 , further comprising:

receiving, by the proxy system from the first router device, a socket splicing response that indicates that the socket splicing operation was not performed by the first router device; and

performing, by the proxy system in response to receiving the socket splicing response, the socket splicing operation to provide a second data path between the first computing device and the second computing device that includes the proxy system.

20. The method of claim 14 , further comprising:

receive, by the proxy system from the first router device in response to the socket splicing instruction, a socket splicing confirmation; and

closing, by the proxy system in response to receiving the socket splicing confirmation, respective connections between the proxy system and each of the first computing device and the second computing device.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0742 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052216/0758) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0680 →
RELEASE OF SECURITY INTEREST AF REEL 052243 FRAME 0773 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0152 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 053311/0169 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 26, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052243/0773 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Mar 24, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052216/0758 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 11, 2019
From: LIDDICOTT, SAMUEL; O'HANLON, SHANE
To: DELL PRODUCTS L.P.
Reel/Frame 050970/0124 →