IP Library Granted Patent US 7,571,217
Granted Patent B1
US 7,571,217 · App. 09/640,478 · Granted Aug 4, 2009

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 7,571,217
App. No.
09/640,478
Granted
Aug 4, 2009
Kind
B1
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 (52)

1. A method for communicating data comprising:

establishing at a cache server a first uniform resource identifier and a header portion associated with a first content item;

caching a second content item corresponding to the first content item, the second content item identified by a second uniform resource identifier, the second uniform resource identifier comprising the first uniform resource identifier and information from the header portion;

receiving a first request at the cache server, the first request requesting the first content item, the first request comprising the first uniform resource identifier and the header portion;

comparing the first uniform resource identifier and the header portion to transform criteria to identify a specific transform associated with the first uniform resource identifier and the header portion, the specific transform defining an action to perform on the first uniform resource identifier and the header portion;

generating a second request based on the specific transform, the header portion, and the first uniform resource identifier, the second request being associated with the second content item, the second request generated by performing the action associated with the specific transform on the header portion and the first uniform resource identifier to yield the second uniform resource identifier; and

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

2. The method for communicating data according to claim 1 , wherein:

the header portion comprises a hypertext transport protocol header portion; and

comparing the first uniform resource identifier and the header portion to predefined criteria further comprises:

examining a hypertext transport protocol identifier portion associated with the first content item;

comparing the hypertext transport protocol identifier portion to the criteria;

examining the hypertext transport protocol header portion associated with the first request; and

comparing the hypertext transport protocol header portion to the criteria.

3. The method for communicating data according to claim 2 , wherein the predefined criteria comprises match criteria and an associated transform.

4. The method for communicating data according to claim 3 , wherein the transform comprises at least one rule indicating how to modify the hypertext transport protocol identifier portion associated with the first request to generate the second request.

5. The method for communicating data according to claim 3 , wherein the transform comprises at least one rule indicating an element associated with the hypertext transport protocol header portion of the first request to be associated with the hypertext transport protocol identifier portion of the second request.

6. The method for communicating data according to claim 3 , wherein the match criteria comprises at least one entry, each entry comprising a portion of a hypertext transport protocol identifier and comparing the hypertext transport protocol identifier portion to the criteria comprises comparing each entry to the hypertext transport protocol identifier portion of the first request.

7. The method for communicating data according to claim 1 , wherein retrieving the second content item comprises:

retrieving the second content item based on the second request from the cache server when the second content item is available from the cache server; and

retrieving the first content item based on the first request from the origin server when the second content item is unavailable from the cache server.

8. The method for communicating data according to claim 7 , wherein the second content item is related to the first content item.

9. The method for communicating data according to claim 7 , wherein the second content item comprises a version of the first content item customized in response to data in the header portion associated with the first request.

10. The method for communicating data according to claim 1 , wherein generating the second request comprises:

adding a hypertext transport protocol identifier portion of the first request to a hypertext transport protocol identifier portion of the second request; and

associating an element associated with the header portion associated with the first request with the hypertext transport protocol identifier portion of the second request.

11. A system for communicating data comprising:

a computer readable memory;

an application stored in the computer readable memory and operable to:

establish at a cache server a first uniform resource identifier and a header portion associated with a first content item;

cache a second content item corresponding to the first content item, the second content item identified by a second uniform resource identifier, the second uniform resource identifier comprising the first uniform resource identifier and information from the header portion;

receive a first request at the cache server, the first request requesting the first content item, the first request comprising the first uniform resource identifier and the header portion;

compare the first uniform resource identifier and the header portion to transform criteria to identify a specific transform associated with the first uniform resource identifier and the header portion, the specific transform defining an action to perform on the first uniform resource identifier and the header portion;

generate a second request based on the specific transform, the header portion, and the first uniform resource identifier, the second request being associated with the second content item, the second request generated by performing the action associated with the specific transform on the header portion and the first uniform resource identifier to yield the second uniform resource identifier; and

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

12. The system for communicating data according to claim 11 , wherein the header portion comprises a hypertext transport protocol header portion and wherein the application is further operable to compare the first uniform resource identifier and the header portion to predefined criteria by:

examining a hypertext transport protocol identifier portion associated with the first request;

comparing the hypertext transport protocol identifier portion to the criteria;

examining the hypertext transport protocol header portion associated with the first request; and

comparing the hypertext transport protocol header portion to the criteria.

13. The system for communicating data according to claim 12 , wherein the predefined criteria comprises match criteria and an associated transform.

14. The system for communicating data according to claim 13 , wherein the transform comprises at least one rule indicating how to modify the hypertext transport protocol identifier portion associated with the first request to generate the second request.

15. The system for communicating data according to claim 13 , wherein the transform comprises at least one rule indicating an element associated with the hypertext transport protocol header portion of the first request to be associated with the hypertext transport protocol identifier portion of the second request.

16. The system for communicating data according to claim 13 , wherein the match criteria comprises at least one entry, each entry comprising a portion of a hypertext transport protocol identifier and comparing the hypertext transport protocol identifier portion to the criteria comprises comparing each entry to the hypertext transport protocol identifier portion of the first request.

17. The system for communicating data according to claim 11 , wherein the application is further operable to:

retrieve the second content item based on the second request from the cache server when the second content item is available from the cache server; and

retrieve the first content item based on the first request from the origin server when the second content item is unavailable from the cache server.

18. The system for communicating data according to claim 17 , wherein the second content item is related to the first content item.

19. The system for communicating data according to claim 17 , wherein the second content item comprises a version of the first content item customized in response to data in the header portion associated with the first request.

20. The system for communicating data according to claim 11 , wherein the application is further operable to:

add a hypertext transport protocol identifier portion of the first request to a hypertext transport protocol identifier portion of the second request; and

associate an element associated with the header portion associated with the first request with the hypertext transport protocol identifier portion of the second request.

Assignments (5)
NUNC PRO TUNC ASSIGNMENT Recorded Sep 26, 2007
From: EPICREALM LICENSING, LP
To: PARALLEL NETWORKS, LLC
Reel/Frame 019872/0757 →
MERGER Recorded Sep 10, 2007
From: EPICREALM LICENSING, LLC
To: EPICREALM LICENSING, LP
Reel/Frame 019795/0962 →
NUNC PRO TUNC ASSIGNMENT Recorded Apr 8, 2005
From: EPICREALM OPERATING INC.
To: EPICREALM LICENSING LLC
Reel/Frame 015878/0593 →
CHANGE OF NAME Recorded Apr 6, 2001
From: EPICREALM INC.
To: EPICREALM OPERATING INC.
Reel/Frame 011685/0637 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 16, 2000
From: SAXENA, AVINASH C.
To: EPICREALM INC.
Reel/Frame 011091/0239 →