IP Library Granted Patent US 10,193,997
Granted Patent B2
US 10,193,997 · App. 15/230,068 · Granted Jan 29, 2019

Encoded URI references in restful requests to facilitate proxy aggregation

Inventors: Christopher Abella Poblete (Austin, TX); Jon Robert Hass (Austin, TX)
Assignee: Dell Products L.P.
H04L67/32H04L29/08765H04L67/2804H04L67/2866
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,193,997
App. No.
15/230,068
Granted
Jan 29, 2019
Kind
B2
Abstract

A RESTful API suitable for distributed management tasks implements an aggregator that receives a client request including a URI corresponding to a requested service. The aggregator generates and forwards a proxy request, requesting the same requested service from multiple aggregated resources associated with the aggregator. The aggregator includes, in each proxy request, prefix information that may be used by the aggregated resource to create encoded information that is included in a proxy request response. The aggregator receives the proxy request responses, including the encoded information, and forwards them to the client. The client may then generate a subsequent request for additional information about a resource or service on any one of the aggregated resources. The subsequent request conveys the encoded information to the aggregator, which may then decode the information to identify the appropriate aggregated resource for the request.

Claims (60)

1. A method of managing information handling system resources, the method comprising:

receiving, by an aggregator resource from a client, a client request indicating a uniform resource identifier (URI) corresponding to a requested service; and

sending a plurality of proxy requests, including a proxy request corresponding to each of a plurality of aggregated resources associated with the aggregator resource, wherein each of the plurality proxy requests includes:

a proxy URI indicative of the requested service on one of the plurality of aggregated resources; and

encoding information indicative of an encoding method; and

receiving, a plurality of encoded responses, including an encoded response from each of the plurality of aggregated resources, wherein each of the plurality of encoded responses includes:

a document URI indicating a value of the requested service for the aggregated resource; and

prefix information including an encoded reference to the aggregated resource, the encoded reference encoded in accordance with the encoding method.

2. The method of claim 1 , further comprising:

including each encoded response in an aggregated response; and

forwarding the aggregated response to the client.

3. The method of claim 2 , further comprising:

responsive to receiving an encoded client request including one of the encoded references, determining, from the encoded reference, a particular aggregated resource.

4. The method of claim 2 , further comprising:

generating, by the aggregator resource, an aggregator response to the client request; and

including the aggregator response in the aggregated response.

5. The method of claim 1 , wherein the encoded reference includes an encoding of a URI prefix of the aggregated resource, encoded in accordance with the encoding method.

6. The method of claim 1 , wherein the proxy URI includes:

a URI prefix of the aggregated resource; and

a URI path from the client request.

7. The method of claim 6 , wherein the encoded reference includes a text string comprising a concatenation of:

the query attribute identifier;

the encoding of the URI prefix of the aggregated resource; and

the document URI.

8. The method of claim 1 , wherein the prefix information further includes information identifying a query attribute.

9. The method of claim 1 , wherein the requested service comprises a service provided by a representational state transfer (REST)-compliant application programming interface (API).

10. The method of claim 9 , wherein the encoded client request indicates a subsequent service of the REST-compliant API and wherein the method further includes:

sending a directed request for the subsequent service to the particular aggregated resource; and

responsive to receiving a response to the directed request, forwarding the response to the client.

11. The method of claim 1 , wherein each proxy request includes a header portion and a payload portion and wherein each proxy conveys the prefix information in the header portion.

12. A method of accessing an application programming interface (API), the method comprising:

sending, by a client resource, a client request to an aggregator, the client request indicating a uniform resource identifier (URI) corresponding to a requested service;

receiving, from the aggregator, an aggregated response wherein the aggregated response is indicative of a plurality of aggregated responses received by the aggregator from a corresponding plurality of aggregated services associated with the aggregator, wherein each of the plurality of aggregated responses includes:

a document URI indicating a value of the requested service for the aggregated resource; and

an encoded reference to the aggregated resource, the encoded reference encoded in accordance with a particular encoding algorithm; and

sending, to the aggregator, an encoded client request for a subsequent service corresponding to the document URI, wherein the encoded client request includes a particular one of the encoded references corresponding to a particular aggregated resource; and

receiving, from the aggregator, a response to the encoded client request for the subsequent service, the response comprising information regarding the subsequent service on the particular aggregated resource.

13. The method of claim 12 , further comprising:

sending, by the client resource, a discover request indicating a URI corresponding to a root service of an API; and

receiving, from the aggregator, a service document including encoding information including information indicative of the encoding algorithm.

14. The method of claim 13 , further comprising:

decoding, by the client resource, a particular one of the encoded references to recover a URI prefix of a particular aggregated resource; and

generating a client request including a URI of the particular aggregated resource.

15. The method of claim 12 , wherein the encoded reference includes a text string comprising a concatenation of:

the query attribute identifier;

the encoding of the URI prefix of the aggregated resource; and

the document URI.

16. An aggregator resource, comprising:

a processor;

a storage medium, accessible to the processor, wherein the storage medium includes processor executable program instructions, that, when executed, cause the processor to perform operations including:

receiving, by the aggregator resource from a client, a client request indicating a uniform resource identifier (URI) corresponding to a requested service; and

sending a plurality of proxy requests, including a proxy request corresponding to each of a plurality of aggregated resources associated with the aggregator resource, wherein each of the plurality proxy requests includes:

a proxy URI indicative of the requested service on one of the plurality of aggregated resources; and

encoding information indicative of an encoding method; and

receiving, a plurality of encoded responses, including an encoded response from each of the plurality of aggregated resources, wherein each of the plurality of encoded responses includes:

a document URI indicating a value of the requested service for the aggregated resource; and

prefix information including an encoded reference to the aggregated resource, the encoded reference encoded in accordance with the encoding method.

17. The method of claim 16 , wherein the proxy request includes a proxy request header portion and a proxy request payload portion and wherein the prefix information is included in the prefix portion.

18. The method of claim 16 , wherein the encoded response indicates the encoding as the value for prefix attribute and includes the document URI.

19. The method of claim 16 , wherein the encoding method comprises at least a portion of the proxy URI comprises encoding the URI prefix of the aggregated resource.

Assignments (8)
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 (040679/0386) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 059803/0666 →
RELEASE OF SECURITY INTEREST AT REEL 040633 FRAME 0799 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL INTERNATIONAL, L.L.C.; DELL PRODUCTS L.P.; WYSE TECHNOLOGY L.L.C.; EMC CORPORATION
Reel/Frame 058297/0427 →
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 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Nov 23, 2016
From: DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; WYSE TECHNOLOGY L.L.C.; EMC CORPORATION
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 040679/0386 →
SECURITY INTEREST Recorded Nov 16, 2016
From: DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; WYSE TECHNOLOGY L.L.C.; EMC CORPORATION
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040633/0799 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 13, 2016
From: POBLETE, CHRISTOPHER ABELLA; HASS, JON ROBERT
To: DELL PRODUCTS L.P.
Reel/Frame 040009/0048 →
Continuity (1)
Related Publication 20180041604A1 · Feb 8, 2018
Cited By (1)
US 12,327,104