IP Library Granted Patent US 9,813,526
Granted Patent B2
US 9,813,526 · App. 14/722,055 · Granted Nov 7, 2017

Reducing transmission pathway lengths within a distributed network

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 9,813,526
App. No.
14/722,055
Granted
Nov 7, 2017
Kind
B2
Abstract

A solution for reducing transmission pathway lengths within a distributed network, as embodied in various systems, methods, and non-transitory computer-readable storage media, may include migrating a TCP socket from a request server to a data server. The solution may further include reprogramming one or more routers to recognize a new packet route based on the migrated socket. The solution may include the one or more routers subsequently communicating directly with the data server while bypassing the request server.

Claims (46)

1. A system for reducing transmission pathway lengths within a distributed network, the system including:

a request server communicatively coupled to the network, wherein the request server:

establishes a socket, the socket associated with socket state information, receives a client request from a client device communicatively coupled to the network,

queries a resource location server regarding which of a plurality of data servers capable of fulfilling the client request, and

identifies a data server capable of fulfilling the client request based on a resource location server response to the query, the data server being one of the plurality of data servers communicatively coupled to the network; and

a router that receives a migrate socket request and the client request from the request server, wherein the router:

stores a routing table in memory,

sends the migrate socket request and the client request to the data server identified by the request server as being capable of fulfilling the client request, wherein the identified data server establishes a new socket based on socket state information in the migrate socket request, and

receives a data response from the identified data server over the established socket, wherein the response bypasses the request server.

2. The system of claim 1 , wherein the migrate socket request includes an instruction that the router update the routing table to identify a new route based on the migrate socket request and the identified data server.

3. The system of claim 1 , wherein the router updates the routing table by matching destination address and service port information with source address and service port information.

4. The system of claim 1 , wherein the data server further determines that the client device received the data response.

5. The system of claim 4 , wherein the data server closes the socket when the data server determines that the client device received the data response.

6. The system of claim 5 , wherein the router recognizes the closed socket and updates the routing table to reflect that the socket is no longer available for routing purposes.

7. The system of claim 4 , wherein the data server transfers the socket state information back to the request server when the data server determines that the client device received the data response.

8. The system of claim 1 , wherein the request server identifies the data server capable of fulfilling the client request by identifying a primary server capable of fulfilling the client request, and wherein the request server further identifies a secondary server capable of fulfilling the client request when the primary server is unavailable.

9. The system of claim 1 , wherein the router forwards the migrate socket request to one or more additional routers communicatively coupled by the network, and wherein each one or more additional routers includes a routing table that is updated upon receiving the migrate socket request.

10. The system of claim 1 , wherein the client request is an HTTP request.

11. The system of claim 1 , wherein the client request is an HTTPS request.

12. The system of claim 1 , wherein the client request is a non-HTTP request.

13. A method for reducing transmission pathway lengths within a distributed network, the method including:

establishing a socket associated with socket state information;

receiving at a router a client request, the client request received from a client device communicatively coupled to the router by the network;

sending the client request to a request server communicatively coupled to the router by the network;

querying a resource location server to identify which of a plurality of data servers communicatively coupled to the network is capable of fulfilling the client request;

identifying a data server capable of fulfilling the client request based on a resource location server response to the query, the data server being one of a plurality of data servers communicatively coupled to the network;

receiving from the request server a migrate socket request, the client request, and an identification of a data server storing a resource requested by the client request;

sending the client request and the migrate socket request to the identified data server, wherein the identified data server establishes a new socket based on socket state information in the migrate socket request;

executing instructions stored in memory of the router, wherein execution of the instructions by a processor of the router updates one or more routing tables to identify a new route between the client device and the identified data server based on the socket migration; and

transmitting subsequent packets received from the client device to the data server over the new route, wherein the new route bypasses the request server.

14. The method of claim 13 , wherein updating the one or more routing tables includes matching destination address and service port information with source address and service port information.

15. The method of claim 13 , further comprising receiving an indication that the identified data server has closed the migrated socket.

16. The method of claim 15 , further comprising updating the routing table to reflect that the socket is no longer available for routing purposes.

17. A non-transitory computer-readable storage medium having a program embodied thereon, the program being executable by a processor to perform a method for reducing transmission pathway lengths within a distributed network, the method including:

establishing a socket associated with socket state information;

receiving a client request, the client request received from a client device communicatively coupled to the router by the network;

sending the client request to a request server communicatively coupled to the router by the network;

querying a resource location server, the server used to identify data servers capable of fulfilling the client request;

identifying a data server capable of fulfilling the client request based on a resource location server response to the query, the data server being one of a plurality of data servers communicatively coupled to the network;

receiving from the request server a migrate socket request, the client request, and an identification of a data server storing the resource requested by the client request;

sending the client request and the migrate socket request to the data server, wherein the identified data servers establishes a new socket based on socket state information in the migrate socket request;

updating one or more routing tables to identify a new route between the client device and the identified data server based on the socket migration; and

transmitting subsequent packets received from the client device to the identified data server over the new route, wherein the new route bypasses the request server.

18. The non-transitory computer-readable storage medium of claim 17 , further comprising executable instructions for updating the one or more routing tables, wherein updating the one or more routing tables includes matching destination address and service port information with source address and service port information.

19. The non-transitory computer-readable storage medium of claim 17 , further comprising executable instructions for receiving an indication that the identified data server has closed the migrated socket.

20. The non-transitory computer-readable storage medium of claim 18 , further comprising executable instructions for updating the routing table to reflect that the socket is no longer available for routing purposes.

Assignments (22)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 9, 2022
From: QUEST SOFTWARE INC.
To: SONICWALL US HOLDINGS INC.
Reel/Frame 059912/0097 →
RELEASE OF SECOND LIEN SECURITY INTEREST IN PATENTS Recorded Feb 2, 2022
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC.
Reel/Frame 059096/0683 →
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS Recorded Feb 2, 2022
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC.
Reel/Frame 059105/0479 →
CHANGE OF NAME Recorded Jun 19, 2018
From: DELL SOFTWARE INC.
To: QUEST SOFTWARE INC.
Reel/Frame 046393/0009 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: QUEST SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 046327/0486 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: QUEST SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 046327/0347 →
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS RECORDED AT R/F 040581/0850 Recorded May 22, 2018
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC. (F/K/A DELL SOFTWARE INC.); AVENTAIL LLC
Reel/Frame 046211/0735 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED AT REEL: 040587 FRAME: 0624. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Nov 28, 2017
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: QUEST SOFTWARE INC. (F/K/A DELL SOFTWARE INC.); AVENTAIL LLC
Reel/Frame 044811/0598 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Nov 10, 2016
From: DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040587/0624 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Nov 9, 2016
From: DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040581/0850 →
RELEASE OF SECURITY INTEREST Recorded Oct 31, 2016
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: AVENTAIL LLC; DELL PRODUCTS, L.P.; DELL SOFTWARE INC.
Reel/Frame 040521/0467 →
RELEASE OF SECURITY INTEREST IN CERTAIN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040039/0642) Recorded Oct 31, 2016
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
To: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.
Reel/Frame 040521/0016 →
RELEASE OF REEL 036502 FRAME 0291 (NOTE) Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040027/0637 →
SECURITY AGREEMENT Recorded Sep 14, 2016
From: AVENTAIL LLC; DELL PRODUCTS, L.P.; DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040030/0187 →
SECURITY AGREEMENT Recorded Sep 14, 2016
From: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040039/0642 →
RELEASE OF REEL 036502 FRAME 0237 (TL) Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040028/0088 →
RELEASE OF REEL 036502 FRAME 0206 (ABL) Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040017/0204 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (NOTES) Recorded Aug 27, 2015
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 036502/0291 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Aug 27, 2015
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 036502/0237 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (ABL) Recorded Aug 27, 2015
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; WYSE TECHNOLOGY, L.L.C.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 036502/0206 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 26, 2015
From: LIDDICOTT, SAMUEL
To: DELL SOFTWARE INC.
Reel/Frame 035771/0937 →