IP Library Granted Patent US 8,352,570
Granted Patent B2
US 8,352,570 · App. 12/535,348 · Granted Jan 8, 2013

Method and system for uniform resource locator transformation

Assignee: Parallel Networks, LLC
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,352,570
App. No.
12/535,348
Granted
Jan 8, 2013
Kind
B2
Abstract

A web browser ( 20 ) at a client ( 12 ) generates a request ( 26 ) for content from an origin server ( 18 ). A cache server ( 16 ) intercepts the request and examines the request to determine whether the request should be transformed. More specifically, the cache server compares transform criteria ( 40 ) to a uniform resource identifier portion ( 28 ) and a header portion ( 30 ) associated with the request. By transforming the request such that information in the header portion is included in the uniform resource identifier portion, the cache server can cache the content associated with the request using the uniform resource identifier portion of the request.

Claims (57)

1. A method for communicating data, comprising:

receiving a first request, the first request comprising a first uniform resource identifier and a header portion, the first request requesting a content item as specified by the first uniform resource identifier and the header portion;

determining whether to transform the first request, the first request being transformed when at least a portion of the first request matches a transform criteria;

in response to transforming the first request, generating a second request based on a specific transform associated with the first request, the header portion, and the first uniform resource identifier, the second request being associated with the content item, the second request generated by performing an action associated with the specific transform based on the header portion and the first uniform resource identifier to yield a second uniform resource identifier, the second uniform resource identifier being different than the first uniform resource identifier, the first and second uniform resource identifiers being in a hypertext transport protocol;

determining whether the content item is stored in a cache based on the second uniform resource identifier; and

retrieving the content item from the cache in response to the content item being cached.

2. The method of claim 1 , further comprising:

sending the first request to an origin server in response to the content item not being cached;

receiving the content item from the origin server;

providing the content item in response to the first request.

3. The method of claim 2 , further comprising:

transforming the first request to the second request;

caching the content item at the cache based on the second uniform resource identifier of the second request.

4. The method of claim 1 , wherein the second request uniquely identifies the content item that is originally header dependent using only the second uniform resource locator.

5. The method for communicating data according to claim 1 , wherein the content item comprises a version of content associated with the first uniform resource identifier customized in response to data in the header portion associated with the first request.

6. The method of claim 1 , wherein the specific transform utilizes a lookup table, wherein the lookup table corresponds to one or more combinations of the first uniform resource identifier and the header portion directly to the second uniform resource identifier.

7. The method of claim 1 , further comprising:

in response to not transforming the first request, determining whether the content item is stored in a cache based on the first uniform resource identifier; and

retrieving the content item from the cache in response to the content item being cached.

8. A system for communicating data, comprising:

means for receiving a first request, the first request comprising a first uniform resource identifier and a header portion, the first request requesting a content item as specified by the first uniform resource identifier and the header portion;

means for determining whether to transform the first request, the first request being transformed when at least a portion of the first request matches a transform criteria;

in response to transforming the first request, means for generating a second request based on a specific transform associated with the first request, the header portion, and the first uniform resource identifier, the second request being associated with the content item, the second request generated by performing an action associated with the specific transform based on the header portion and the first uniform resource identifier to yield a second uniform resource identifier, the second uniform resource identifier being different than the first uniform resource identifier, the first and second uniform resource identifiers being in a hypertext transport protocol;

means for determining whether the content item is stored in a cache based on the second uniform resource identifier; and

means for retrieving the content item from the cache in response to the content item being cached.

9. The system of claim 8 , further comprising:

means for sending the first request to an origin server in response to the content item not being cached;

means for receiving the content item from the origin server;

means for providing the content item in response to the first request.

10. The system of claim 9 , further comprising:

means for transforming the first request to the second request;

means for caching the content item at the cache based on the second uniform resource identifier of the second request.

11. The system of claim 8 , wherein the second request uniquely identifies the content item that is originally header dependent using only the second uniform resource locator.

12. The system of claim 8 , wherein the content item comprises a version of content associated with the first uniform resource identifier customized in response to data in the header portion associated with the first request.

13. The system of claim 8 , wherein the specific transform utilizes a lookup table, wherein the lookup table corresponds to one or more combinations of the first uniform resource identifier and the header portion directly to the second uniform resource identifier.

14. The system of claim 8 , further comprising:

in response to not transforming the first request, means for determining whether the content item is stored in a cache based on the first uniform resource identifier; and

means for retrieving the content item from the cache in response to the content item being cached.

15. A non-transitory computer readable storage medium including code for communicating data, the code operable to:

receive a first request, the first request comprising a first uniform resource identifier and a header portion, the first request requesting a content item as specified by the first uniform resource identifier and the header portion;

determine whether to transform the first request, the first request being transformed when at least a portion of the first request matches a transform criteria;

in response to transforming the first request, generate a second request based on a specific transform associated with the first request, the header portion, and the first uniform resource identifier, the second request being associated with the content item, the second request generated by performing an action associated with the specific transform based on the header portion and the first uniform resource identifier to yield a second uniform resource identifier, the second uniform resource identifier being different than the first uniform resource identifier, the first and second uniform resource identifiers being in a hypertext transport protocol;

determine whether the content item is stored in a cache based on the second uniform resource identifier; and

retrieve the content item from the cache in response to the content item being cached.

16. The non-transitory computer readable storage medium of claim 15 , wherein the code is further operable to:

send the first request to an origin server in response to the content item not being cached;

receive the content item from the origin server;

provide the content item in response to the first request.

17. The non-transitory computer readable storage medium of claim 16 , wherein the code is further operable to:

transform the first request to the second request;

cache the content item at the cache based on the second uniform resource identifier of the second request.

18. The non-transitory computer readable storage medium of claim 15 , wherein the second request uniquely identifies the content item that is originally header dependent using only the second uniform resource locator.

19. The non-transitory computer readable storage medium of claim 15 , wherein the content item comprises a version of content associated with the first uniform resource identifier customized in response to data in the header portion associated with the first request.

20. The non-transitory computer readable medium of claim 15 , wherein the specific transform utilizes a lookup table, wherein the lookup table corresponds to one or more combinations of the first uniform resource identifier and the header portion directly to the second uniform resource identifier.

21. The non-transitory computer readable medium of claim 15 , wherein the code is further operable to:

in response to not transforming the first request, determine whether the content item is stored in a cache based on the first uniform resource identifier; and

retrieve the content item from the cache in response to the content item being cached.

Assignments (11)
COURT ORDER Recorded Apr 22, 2021
From: PARALLEL NETWORKS LICENSING, LLC
To: MICROSOFT CORPORATION
Reel/Frame 056027/0120 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNOR: EPICREAL INC. PREVIOUSLY RECORDED ON REEL 023050 FRAME 0998. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNOR: EPICREALM INC.. Recorded Jun 29, 2010
From: EPICREALM INC.
To: EPICREALM OPERATING INC.
Reel/Frame 024610/0729 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNOR: EPICREAL OPERATING INC. PREVIOUSLY RECORDED ON REEL 023051 FRAME 0088. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNOR: EPICREALM OPERATING INC.. Recorded Apr 1, 2010
From: EPICREALM OPERATING INC.
To: EPICREALM LICENSING LLC
Reel/Frame 024174/0816 →
CORRECTIVE ASSIGNMENT TO CORRECT THE IN ASSIGNOR: EPICREALM LICENSING LLC AND IN ASSIGNEE: EPICREALM LICENSING LP PREVIOUSLY RECORDED ON REEL 023051 FRAME 0137. ASSIGNOR(S) HEREBY CONFIRMS THE IN ASSIGNOR:EPICREALM LICENSING, LLC AND IN ASSIGNEE: EPICREALM LICENSING, LP. Recorded Feb 25, 2010
From: EPICREALM LICENSING, LLC
To: EPICREALM LICENSING, LP
Reel/Frame 023992/0428 →
CORRECTIVE ASSIGNMENT TO CORRECT THE IN ASSIGNOR: EPICREAL OPERATING INC. PREVIOUSLY RECORDED ON REEL 023051 FRAME 0088. ASSIGNOR(S) HEREBY CONFIRMS THE IN ASSIGNOR: EPICREALM OPERATING INC.. Recorded Feb 25, 2010
From: EPICREALM OPERATING INC.
To: EPICREALM LICENSING LLC
Reel/Frame 023992/0934 →
CORRECTIVE ASSIGNMENT TO CORRECT THE IN THE DOCKET NUMBER: 063170.0157 AND IN ASSIGNOR: EPICREALM LICENSING LP PREVIOUSLY RECORDED ON REEL 023051 FRAME 0171. ASSIGNOR(S) HEREBY CONFIRMS THE IN THE DOCKET NUMBER: 066241.0157 EPICREALM LICENSING, LP. Recorded Feb 25, 2010
From: EPICREALM LICENSING, LP
To: PARALLEL NETWORKS, LLC
Reel/Frame 023992/0588 →
MERGER Recorded Aug 4, 2009
From: EPICREALM LICENSING LLC
To: EPICREALM LICENSING LP
Reel/Frame 023051/0137 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 4, 2009
From: EPICREALM LICENSING LP
To: PARALLEL NETWORKS, LLC
Reel/Frame 023051/0171 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 4, 2009
From: SAXENA, AVINASH C.
To: EPICREALM, INC.
Reel/Frame 023050/0945 →
CHANGE OF NAME Recorded Aug 4, 2009
From: EPICREAL INC.
To: EPICREALM OPERATING INC.
Reel/Frame 023050/0998 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 4, 2009
From: EPICREAL OPERATING INC.
To: EPICREALM LICENSING LLC
Reel/Frame 023051/0088 →
Continuity (2)
Continuation 09640478 · Aug 16, 2000
Related Publication 20100161762A1 · Jun 24, 2010