IP Library Granted Patent US 8,055,706
Granted Patent B2
US 8,055,706 · App. 13/084,070 · Granted Nov 8, 2011

Transparent request routing for a partitioned application service

Assignee: Dell Products, L.P.
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 8,055,706
App. No.
13/084,070
Filed
Apr 11, 2011
Granted
Nov 8, 2011
Kind
B2
Art Unit
2457
USPC
709/203
Abstract

Systems and methods for providing an efficient partitioned resource server. In one embodiment, the partitioned resource server comprises a plurality of individual servers, and the individual servers appear to be equivalent to a client. Each of the individual servers may include a routing table that includes a reference for each resource that is maintained on the partitioned resource server. Requests from a client are processed as a function of the routing table to route the request to the individual server that maintains or has control over the resource of interest.

Claims (72)

1. A method for handling information comprising:

connecting a first resource server to one or more other resource servers via a network connection to form a server group, the resource servers providing access to one or more distributed resources such that a first portion of a distributed resource resides on a first resource server in the server group, and such that a second portion of the distributed resource resides on a second resource server in the server group;

receiving a request at the first resource server from a client, the request being a request by the client for access to at least one requested portion of the distributed resource;

accessing resource location information to identify which one of the resource servers in the server group is a responsible resource server for the requested portion of the distributed resource; and

if the resource location information indicates the responsible server for the requested portion of the distributed resource is not the first resource server at which the request was received from the client, then:

forwarding the request for access to the requested portion of the distributed resource to the responsible resource server;

receiving the requested portion of the distributed resource from the responsible resource server; and

returning the requested portion of the distributed resource to the client from the first resource server.

2. The method of claim 1 further comprising:

updating the resource location information with information concerning which equivalent server is responsible for first and second portions of the distributed resource.

3. The method of claim 2 wherein the resource location information indicates where the first and second portions of the distributed resource reside on which of a plurality of equivalent resource servers in the server group.

4. The method of claim 1 wherein the steps of

accessing the resource location information,

forwarding the request for access to the distributed resource to the responsible server,

receiving the resource from the responsible server, and

returning the resource to the client are performed separately for a subsequent step of receiving a second request for access to a different resource at the first server.

5. The method of claim 1 additionally comprising:

receiving a second request at the first resource server, the second request being a request for access to a different portion of the same distributed resource;

forwarding the second request to a different resource server than the responsible server;

receiving the second portion of the distributed resource from the different resource server; and

returning the second portion of the distributed resource to the client from the first server.

6. The method of claim 1 additionally comprising:

moving a portion of a resource from the first resource server to one of other resource servers in the server group; and

updating the resource location information.

7. The method of claim 1 wherein the distributed resource is at least one of a file, a database, a data volume, or an application.

8. The method of claim 1 wherein the distributed resource is a data volume and the requested portion of the distributed resource is a file.

9. The method of claim 1 wherein the step of returning the resource to the client from the first resource server does not provide information to the client concerning the partitioning of the resource among the servers in the group.

10. An information handling apparatus comprising:

a resource location information storage device, for storing resource location information indicating which ones of a plurality of resource servers are responsible for one or more portions of a distributed resource, such the resource location information storage device indicates that a first portion of the distributed resource resides on a first resource server and a second portion of the distributed resource resides on a second resource server;

a resource portion storage device;

one or more communication interfaces providing connections to a client and connections between the first and second resource servers; and

a server processor and instruction memory, for storing and executing processor instructions to access the resource location information storage device and operate the communication interfaces to further:

receive a request at the first resource server from a client, the request being a request by the client for access to at least one requested portion of the distributed resource;

access resource location information to identify which one of the resource servers in the server group is a responsible resource server for the requested portion of the distributed resource; and

if the resource location information indicates the responsible server for the requested portion of the distributed resource is not the first resource server at which the request was received from the client, then:

forward the request for access to the requested portion of the distributed resource to the responsible resource server;

receive the requested portion of the distributed resource from the responsible resource server; and

return the requested portion of the distributed resource to the client from the first resource server.

11. The apparatus of claim 10 wherein the processor further executes instructions to update the resource location information with information concerning which equivalent server is responsible for the first and second portions of the resource.

12. The apparatus of claim 10 wherein the resource location information additionally stores a reference to which portions of the resource reside on which of the plurality of equivalent servers.

13. The apparatus of claim 10 wherein the processor further executes instructions to

access the resource location information,

maintain the network connection with the client,

forward the request for access to the resource to the responsible equivalent server,

receive the resource from the responsible equivalent server, and

return the resource to the client separately for each request for access to a resource.

14. The apparatus of claim 10 wherein the processor further executes instructions to

receive a second request for access to a different portion of the resource;

forward the second request to a different equivalent server;

receive a second portion of the resource from the different equivalent server; and

return the second portion of the resource to the client.

15. The apparatus of claim 10 wherein the processor further executes instructions to

move a portion of a resource from the first server to one of the equivalent servers; and

update the resource location information.

16. The apparatus of claim 10 wherein the partitioned resource is at least one of a file, a database, a data volume, or an application.

17. The apparatus of claim 10 wherein the partitioned resource is a data volume and the resource portion is a file.

18. The apparatus of claim 10 wherein the first server does not provide information to the client concerning the partitioning of the resource among the equivalent servers.

19. A method for handling information by providing transparent request routing for a partitioned storage resource, the method comprising:

establishing a network connection between a client and a selected one of a plurality of servers in a server group;

storing the partitioned storage resource by at least two of the servers, such that a first portion of the partitioned storage resource resides on a first server and a second portion of the partitioned storage resource resides on a second server;

in response to a client requesting the selected one of the plurality of servers to access the partitioned storage resource:

maintaining the network connection between the client and the connected server;

routing the client request to at least two other servers on which portions of the partitioned storage resource reside, the at least two other servers to which the client request is routed being any one of the plurality of servers in the server group, including the connected server;

accessing resource location information that: i) resides on each of the plurality of servers, including the connected server; and ii) identifies to each of the plurality of servers on which of the plurality of servers, including the connected server and any other servers, which portions of the partitioned storage resource reside on which servers; and

in an event that a portion of the partitioned storage resource does not reside on the connected server, returning the portion of the partitioned storage resource to the client from an other one of the plurality of servers that does store the portion but only via the connected server, and not directly by the other one of the servers.

20. A tangible, non-transitory, computer readable medium for storing computer executable instructions for providing a partitioned storage resource access function, with the computer executable instructions for:

establishing a network connection between a client and a selected one of a plurality of servers in a server group;

storing a partitioned storage resource by at least two of the servers, such that a first portion of the partitioned storage resource resides on a first server and a second portion of the partitioned storage resource resides on a second server;

in response to a client requesting the selected one of the plurality of servers to access the partitioned storage resource:

routing the client request to at least two other servers on which portions of the partitioned storage resource reside, the at least two other servers to which the client request is routed being any one of the plurality of servers in the server group, including the connected server;

accessing resource location information that: i) resides on each of the plurality of servers, including the connected server; and ii) identifies to each of the plurality of servers on which of the plurality of servers, including the connected server and any other servers, which portions of the partitioned storage resource reside on which servers; and

in an event that a portion of the partitioned storage resource does not reside on the connected server, returning the portion of the partitioned storage resource to the client from an other one of the plurality of servers that does store the portion but only via the connected server, and not directly by the other one of the servers.

Assignments (16)
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 (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
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 21, 2019
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 049452/0223 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040040/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0618 →
RELEASE OF SECURITY INTEREST Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLANT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0216 →
PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 031899/0261 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Jan 2, 2014
From: APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS FIRST LIEN COLLATERAL AGENT
Reel/Frame 031897/0348 →
PATENT SECURITY AGREEMENT (ABL) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 031898/0001 →
MERGER Recorded Apr 11, 2011
From: EQUALLOGIC, INC.
To: DELL PRODUCTS L.P.
Reel/Frame 026106/0197 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 11, 2011
From: KONING, G. PAUL; HAYDEN, PETER C.; LONG, PAULA
To: EQUALLOGIC, INC.
Reel/Frame 026107/0204 →
Continuity (3)
Continuation 12487851 · Jun 19, 2009
Continuation 10217118 · Aug 12, 2002
Related Publication 20110191412A1 · Aug 4, 2011