IP Library Granted Patent US 10,298,656
Granted Patent B2
US 10,298,656 · App. 15/176,953 · Granted May 21, 2019

Extending representational state transfer application program interface (REST API) functionality

Inventors: Timothy Demulder (Zwijnaarde, BE); Wim De Waegeneer (Ghent, BE)
H04L67/02G06F8/65G06F8/66G06F8/70G06F8/71G06F17/30G06F17/3023G06F17/30309G06F17/30548H04L67/10H04L67/32
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,298,656
App. No.
15/176,953
Granted
May 21, 2019
Kind
B2
Abstract

The present disclosure relates to a system and methods for extending the REST API. In particular, the disclosure relates to methods including receiving a request to modify a first version of a resource in a first collection, the first version of the resource associated with a first identifier identifying the first version of the resource as a current version of the resource; moving the first version of the resource to a second collection; associating the first version of the resource with a second identifier identifying the first version of the resource as a previous version of the resource; modifying the first version of the resource to generate a second version of the resource; saving the second version of the resource to the first collection; and associating the second version of the resource with the first identifier identifying the second version of the resource as the current version of the resource.

Claims (61)

1. A computer-implemented method comprising:

receiving, using one or more processors, a request to modify a first version of a resource in a first collection, wherein the request is received through a representational state transfer application program interface (REST API), the first version of the resource associated with a first identifier corresponding to a first global unique identifier (GUID), the first identifier identifying the first version of the resource as a current version of the resource; and

responsive to the request to modify:

moving, using the one or more processors, the first version of the resource to a second collection;

associating, using the one or more processors, the first version of the resource with a second identifier corresponding to a second GUID, the second identifier identifying the first version of the resource as a previous version of the resource;

removing, using the one or more processors, the association of the first identifier with the first version of the resource;

modifying, using the one or more processors, the first version of the resource according to the request to generate a second version of the resource;

saving, using the one or more processors, the second version of the resource to the first collection; and

associating, using the one or more processors, the second version of the resource with the first identifier, the first identifier identifying the second version of the resource as the current version of the resource.

2. The computer-implemented method of claim 1 further comprising:

receiving a versioning request; and

retrieving the second identifier identifying the first version of the resource as the previous version of the resource.

3. The computer-implemented method of claim 2 further comprising:

retrieving the first version of the resource using the second identifier.

4. The computer-implemented method of claim 2 , wherein the second version of the resource saved to the first collection includes the second identifier as metadata.

5. The computer-implemented method of claim 1 , wherein the request is a hypertext transfer protocol (HTTP) request.

6. The computer-implemented method of claim 1 , wherein the resource is one of a document, a machine, a location, or a cluster.

7. The computer-implemented method of claim 1 further comprising:

determining that the resource is unavailable;

adding the request to a queue; and

processing the queued request.

8. The computer-implemented method of claim 7 , wherein the request is associated with one or more of a time and a priority.

9. The computer-implemented method of claim 8 , wherein the queued request is processed in an order based on one of the priority and the time associated with the queued request.

10. A system comprising:

a processor; and

a non-transitory computer usable medium storing instructions that, when executed by the processor, cause the system to:

receive a request to modify a first version of a resource in a first collection, wherein the request is received through a representational state transfer application program interface (REST API), the first version of the resource associated with a first identifier corresponding to a first global unique identifier (GUID), the first identifier identifying the first version of the resource as a current version of the resource; and

responsive to the request to modify:

move the first version of the resource to a second collection;

associate the first version of the resource with a second identifier corresponding to a second GUID, the second identifier identifying the first version of the resource as a previous version of the resource;

remove the association of the first identifier with the first version of the resource;

modify the first version of the resource according to the request to generate a second version of the resource;

save the second version of the resource to the first collection; and

associate the second version of the resource with the first identifier, the first identifier identifying the second version of the resource as the current version of the resource.

11. The system of claim 10 wherein the instructions, when executed by the processor, further cause the system to:

receive a versioning request; and

retrieve the second identifier identifying the first version of the resource as the previous version of the resource.

12. The system of claim 11 wherein the instructions, when executed by the processor, further cause the system to:

retrieve the first version of the resource using the second identifier.

13. The system of claim 10 , wherein the request is a hypertext transfer protocol (HTTP) request.

14. The system of claim 10 , wherein the resource is one of a document, a machine, a location or a cluster.

15. The system of claim 10 wherein the instructions, when executed by the processor, further cause the system to:

determine that the resource is unavailable;

add the request to a queue; and

process the queued request.

16. The system of claim 15 , wherein the request is associated with one or more of a time and a priority.

17. The system of claim 16 , wherein the queued request is processed in an order based on one of the priority and the time associated with the queued request.

18. A system comprising:

means for receiving a request to modify a first version of a resource in a first collection, wherein the request is received through a representational state transfer application program interface (REST API), the first version of the resource associated with a first identifier corresponding to a first global unique identifier (GUID), the first identifier identifying the first version of the resource as a current version of the resource; and

means for, responsive to the request to modify:

moving the first version of the resource to a second collection;

associating the first version of the resource with a second identifier corresponding to a second GUID, the second identifier identifying the first version of the resource as a previous version of the resource;

removing the association of the first identifier with the first version of the resource;

modifying the first version of the resource according to the request to generate a second version of the resource;

saving the second version of the resource to the first collection; and

associating the second version of the resource with the first identifier, the first identifier identifying the second version of the resource as the current version of the resource.

19. The system of claim 18 , further comprising:

means for receiving a versioning request; and

means for retrieving the second identifier identifying the first version of the resource as the previous version of the resource.

20. The system of claim 19 , further comprising:

means for retrieving the first version of the resource using the second identifier.

Assignments (8)
PATENT COLLATERAL AGREEMENT - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
PATENT COLLATERAL AGREEMENT - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
RELEASE OF SECURITY INTEREST AT REEL 052915 FRAME 0566 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 059127/0001 →
SECURITY INTEREST Recorded Feb 6, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 052915/0566 →
CORRECTIVE ASSIGNMENT TO CORRECT THE INCORRECT SERIAL NO 15/025,946 PREVIOUSLY RECORDED AT REEL: 040831 FRAME: 0265. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Sep 15, 2017
From: HGST NETHERLANDS B.V.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 043973/0762 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 6, 2016
From: HGST NETHERLANDS B.V.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 040831/0265 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 15, 2016
From: DEMULDER, TIMOTHY; DE WAEGENEER, WIM
To: AMPLIDATA N.V.
Reel/Frame 040330/0475 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 13, 2016
From: DEMULDER, TIMOTHY; DEWAEGENEER, WIM
To: HGST NETHERLANDS B.V.
Reel/Frame 038898/0017 →
Continuity (1)
Related Publication 20170359400A1 · Dec 14, 2017