IP Library Granted Patent US 10,469,561
Granted Patent B2
US 10,469,561 · App. 15/918,453 · Granted Nov 5, 2019

System and method for managing multiple variants of an HTTP object

Inventors: Coach K. Wei (Natick, MA); Robert Buffone (Wakefield, MA); Raymond Stata (Dover, MA)
Assignee: Yottaa, Inc.
H04L67/02H04L67/2823H04L67/2847
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,469,561
App. No.
15/918,453
Granted
Nov 5, 2019
Kind
B2
Abstract

This disclosure is directed to methods and systems for managing variants of a Hypertext Transfer Protocol (HTTP) object. An intermediary, between at least one client and a server, may generate variants of an HTTP object. The HTTP object may be received from the server responsive to a first request for the HTTP object. The variants may include a first variant generated based on a first parameter of a plurality of parameters. The plurality of parameters may be identified based on one or more requests for the HTTP object from the at least one client. The intermediary may store the variants of the HTTP object in a cache. The intermediary may retrieve, responsive to interception of a second request to the server for the HTTP object and based on a determination of the first parameter from the second request, the first variant from the variants stored in the cache.

Claims (32)

1. A method for managing variants of a Hypertext Transfer Protocol (HTTP) object, comprising:

providing, by an intermediary between at least one client and a server, a plurality of variants of an HTTP object of the server according to parameters identifiable from one or more requests for the HTTP object, and a unique uniform resource locator (URL) for each of the plurality of variants;

storing, by the intermediary, the plurality of variants of the HTTP object in a cache;

specifying a cache key for retrieval of each of the plurality of variants of the HTTP object from the cache;

uniquely associating each of the specified cache keys with a URL corresponding to one of the plurality of variants of the HTTP object;

sending, by the intermediary to a first client of the at least one client, a first URL provided for a first variant of the plurality of variants;

identifying, by the intermediary responsive to receiving a first request to the server for the HTTP object, the first URL in the received request, the first URL included in the first request by the first client; and

retrieving, by the intermediary from the cache responsive to the first URL identified in the received first request, the first variant of the plurality of variants stored in the cache.

2. The method of claim 1 , further comprising determining a first cache key according to the first URL identified in the second request.

3. The method of claim 1 , further comprising generating the first variant according to a first parameter of the parameters, the parameters identifiable from one or more requests from the at least one client for the HTTP object.

4. The method of claim 3 , further comprising storing the plurality of parameters in a configuration of the intermediary.

5. The method of claim 3 , wherein the first parameter specifies a geographical location, a client device type, a browser type, a cookie, an HTTP object compression ratio, a last-mile network type, a client device form factor, or a screen display resolution.

6. The method of claim 1 , further comprising updating the first variant stored in the cache without updating or removing others of the plurality of variants stored in the cache.

7. The method of claim 1 , further comprising intercepting, by the intermediary, the first request, the first request prevented from reaching the server.

8. The method of claim 1 , wherein retrieving the first variant of the plurality of variants stored in the cache includes selecting a cache key from one or more cache keys mapped to the first URL.

9. A system for managing variants of a Hypertext Transfer Protocol (HTTP) object, the system comprising:

storage hardware; and

an intermediary between at least one client and a server, the intermediary configured to:

provide a plurality of variants of an HTTP object of the server according to parameters identifiable from one or more requests for the HTTP object, and a unique uniform resource locator (URL) for each of the plurality of variants;

store the plurality of variants of the HTTP object in a cache;

specify a cache key for retrieval of each of the plurality of variants of the HTTP object from the cache;

uniquely associate each of the specified cache keys with a URL corresponding to one of the plurality of variants of the HTTP object;

send, to a first client of the at least one client, a first URL provided for a first variant of the plurality of variants;

identify, responsive to receiving a first request to the server for the HTTP object, the first URL in the received request, the first URL included in the first request by the first client; and

retrieve, from the cache responsive to the first URL identified in the received first request, the first variant of the plurality of variants stored in the cache.

10. The system of claim 9 , wherein the intermediary is further configured to determine a first cache key according to the first URL identified in the second request.

11. The system of claim 9 , wherein the intermediary is further configured to generate the first variant according to a first parameter of the parameters, the parameters identifiable from one or more requests from the at least one client for the HTTP object.

12. The system of claim 11 , wherein the intermediary is further configured to store the plurality of parameters in a configuration of the intermediary.

13. The system of claim 11 , wherein the first parameter specifies a geographical location, a client device type, a browser type, a cookie, an HTTP object compression ratio, a last-mile network type, a client device form factor, or a screen display resolution.

14. The system of claim 9 , wherein the intermediary is further configured to update the first variant stored in the cache without updating or removing others of the plurality of variants stored in the cache.

15. The system of claim 9 , wherein the intermediary is further configured to intercept the first request, the first request prevented from reaching the server.

16. The system of claim 9 , wherein the intermediary is further configured to select a cache key from one or more cache keys mapped to the first URL.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 8, 2026
From: YOTTAA, INC.
To: YOTTAA (ABC), LLC
Reel/Frame 074877/0713 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 8, 2026
From: YOTTAA (ABC), LLC
To: YOTTAA LLC
Reel/Frame 074877/0857 →
SECURITY INTEREST Recorded Mar 22, 2023
From: YOTTAA, INC.
To: SILICON VALLEY BRIDGE BANK, N.A.
Reel/Frame 063061/0250 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 10, 2019
From: BUFFONE, ROBERT; WEI, COACH K.; STATA, RAYMOND
To: YOTTAA INC.
Reel/Frame 049418/0470 →
Continuity (3)
Continuation 14212986 · Mar 14, 2014
Provisional Application 61786558 · Mar 15, 2013
Related Publication 20180205782A1 · Jul 19, 2018