IP Library Granted Patent US 10,761,685
Granted Patent B2
US 10,761,685 · App. 15/797,738 · Granted Sep 1, 2020

Intelligent REST client for operating a data storage system

Inventors: Jichao Zhang (Shanghai, CN); Sherman Liu (Shanghai, CN); Nicholas Wei (Shanghai, CN); Hao Sun (Shanghai, CN); James O. Pendergraft (Raleigh, NC); Seven Duan (Chengdu, CN)
Assignee: EMC IP Holding Company LLC
G06F3/0482G06F16/951G06F16/958G06F16/9566G06F40/14H04L67/1097H04L69/26H04L67/02H04L67/42
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,761,685
App. No.
15/797,738
Granted
Sep 1, 2020
Kind
B2
Abstract

Improved systems, methods, and techniques for generating representational state transfer (REST) requests from a client computer to a server computer. The disclosed techniques employ a REST application programming interface (also referred to as the “RESTful API”) for use in receiving the REST requests at the server computer from the client computer, and providing REST responses from the server computer to the client computer. The disclosed techniques further employ an intelligent REST client configured as a webpage (also referred to as the “intelligent REST client webpage”) that can be accessed by a browser running on the client computer, and transmitted or otherwise served by the server computer for display on the browser of the client computer. The intelligent REST client webpage may be employed by a user of the client computer for efficiently interacting with the RESTful API of the server computer.

Claims (55)

1. A system for generating a representational state transfer (REST) request, comprising:

a data storage system including a RESTful application programming interface (RESTful API); and

a client host computer running a browser application,

wherein the data storage system is configured and arranged to:

serve an intelligent REST client webpage to the client host computer for display on the browser application,

wherein, having been served to the client host computer, the intelligent REST client webpage is configured and arranged to:

automatically send, to the data storage system without requiring a manual user input, a types-feed request for information associated with a particular resource on the data storage system, and

wherein the data storage system is further configured and arranged to:

receive, at the RESTful API, the types-feed request from the intelligent REST client webpage;

in response to the types-feed request, send, via the RESTful API, a types-feed response to the intelligent REST client webpage, the types-feed response containing the information associated with the particular resource; and

receive, at the RESTful API, the REST request from the intelligent REST client webpage, the REST request containing at least some of the information sent to the intelligent REST client webpage in the types-feed response.

2. The system of claim 1 wherein the types-feed request includes a parameter requesting the information associated with the particular resource, the information including a list of available properties of the particular resource on the data storage system.

3. The system of claim 2 wherein the types-feed response includes a field containing the list of available properties of the particular resource on the data storage system.

4. The system of claim 1 wherein the REST request corresponds to one of a hypertext transfer protocol (HTTP) GET request, an HTTP POST request, an HTTP PUT request, an HTTP PATCH request, and an HTTP DELETE request.

5. The system of claim 1 wherein the browser application running on the client host computer is configured and arranged to display the intelligent REST client webpage on the client host computer.

6. The system of claim 5 wherein the intelligent REST client webpage includes a user input area, and wherein the intelligent REST client webpage, once displayed on the client host computer, is configured and arranged to:

detect entry of one or more characters in the user input area, the one or more characters corresponding to a designation of an object related to the particular resource on the data storage system; and

based on the detected entry of the one or more characters in the user input area, display a drop-down menu including a plurality of designations starting with the one or more characters in the user input area.

7. The system of claim 6 wherein the intelligent REST client webpage, once displayed on the client host computer, is further configured and arranged to:

receive a user selection of a respective designation among the plurality of designations included in the drop-down menu; and

auto-complete the designation of the object related to the particular resource using the respective designation.

8. The system of claim 5 wherein the intelligent REST client webpage includes a user input area, and wherein the intelligent REST client webpage, once displayed on the client host computer, is configured and arranged to:

detect entry of a plurality of characters in the user input area, the plurality of characters designating an object of the particular resource on the data storage system; and

based on the plurality of characters designating the object of the particular resource on the data storage system, display a drop-down menu including a plurality of possible designations for a next object of the particular resource to be entered in the user input area.

9. The system of claim 8 wherein the intelligent REST client webpage, once displayed on the client host computer, is further configured and arranged to:

receive a user selection of a respective designation among the plurality of possible designations included in the drop-down menu; and

auto-complete the REST request using the respective designation.

10. The system of claim 5 wherein the intelligent REST client webpage includes a user input area for entering a body of the REST request, and wherein the intelligent REST client webpage, once displayed on the client host computer, is configured and arranged to:

detect entry of a plurality of characters in the user input area of the body of the REST request, the plurality of characters designating an argument corresponding to the particular resource on the data storage system; and

based on the plurality of characters designating the argument corresponding to the particular resource on the data storage system, display a drop-down menu including a plurality of possible values for the argument to be entered in the user input area of the body of the REST request.

11. The system of claim 10 wherein the intelligent REST client webpage, once displayed on the client host computer, is further configured and arranged to:

receive a user selection of a respective value among the plurality of possible values included in the drop-down menu; and

auto-complete the body of the REST request using the respective value for the argument.

12. A method of generating a representational state transfer (REST) request to a data storage system using a browser running on a client host computer, the method comprising:

serving an intelligent REST client webpage from the data storage system to the client host computer, the intelligent REST client webpage being displayable on the browser running on the client host computer, the data storage system including a RESTful application programming interface (RESTful API);

having served the intelligent REST client webpage to the client host computer, automatically sending, by the intelligent REST client webpage to the data storage system without requiring a manual user input, a types-feed request for information associated with a particular resource on the data storage system;

receiving, at the RESTful API, the types-feed request from the intelligent REST client webpage;

in response to the types-feed request, sending, via the RESTful API, a types-feed response to the intelligent REST client webpage, the types-feed response containing the information associated with the resource; and

receiving, at the RESTful API, the REST request from the intelligent REST client webpage, the REST request containing at least some of the information sent to the intelligent REST client webpage in the types-feed response.

13. The method of claim 12 further comprising:

displaying, by the browser application running on the client host computer, the intelligent REST client webpage on the client host computer.

14. The method of claim 13 wherein the intelligent REST client webpage includes a user input area for entering a body of the REST request, and wherein the method further comprises:

detecting entry, by the intelligent REST client webpage, of a plurality of characters in the user input area of the body of the REST request, the plurality of characters designating an argument corresponding to the particular resource on the data storage system; and

based on the plurality of characters designating the argument corresponding to the particular resource on the data storage system, displaying, on the intelligent REST client webpage, a drop-down menu including a plurality of possible values for the argument to be entered in the user input area of the body of the REST request.

15. The method of claim 14 further comprising:

receiving, at the intelligent REST client webpage, a user selection of a respective value among the plurality of possible values included in the drop-down menu; and

auto-completing, by the intelligent REST client webpage, the body of the REST request using the respective value for the argument.

16. A computer program product having a non-transitory computer readable medium that stores a set of instructions that, when carried out by computerized circuitry, cause the computerized circuitry to perform a method of generating a representational state transfer (REST) request to a data storage system using a browser running on a client host computer, the method comprising:

serving an intelligent REST client webpage from the data storage system to the client host computer, the intelligent REST client webpage being displayable on the browser running on the client host computer, the data storage system including a RESTful application programming interface (RESTful API);

having served the intelligent REST client webpage to the client host computer, automatically sending, by the intelligent REST client webpage to the data storage system without requiring a manual user input, a types-feed request for information associated with a particular resource on the data storage system;

receiving, at the RESTful API, the types-feed request from the intelligent REST client webpage;

in response to the types-feed request, sending, via the RESTful API, a types-feed response to the intelligent REST client webpage, the types-feed response containing the information associated with the resource; and

receiving, at the RESTful API, the REST request from the intelligent REST client webpage, the REST request containing at least some of the information sent to the intelligent REST client webpage in the types-feed response.

17. The computer program product of claim 16 wherein the method further comprises:

displaying, by the browser application running on the client host computer, the intelligent REST client webpage on the client host computer.

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 (044535/0109) Recorded May 20, 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; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 060753/0414 →
RELEASE OF SECURITY INTEREST AT REEL 044535 FRAME 0001 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058298/0475 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 29, 2017
From: ZHANG, JICHAO; LIU, SHERMAN; WEI, NICHOLAS; SUN, HAO; PENDERGRAFT, JAMES O.; DUAN, SEVEN
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 044248/0615 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Nov 29, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 044535/0001 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Nov 29, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 044535/0109 →
Continuity (1)
Related Publication 20190129577A1 · May 2, 2019