IP Library Granted Patent US 10,114,903
Granted Patent B2
US 10,114,903 · App. 14/275,977 · Granted Oct 30, 2018

Method and apparatus for content synchronization

Inventors: Keith A. Lowery (Richardson, TX); David K. Davidson (Dallas, TX); Avinash C. Saxena (Plano, TX)
Assignee: Parallel Networks, LLC
G06F17/3089G06F17/30902H04L67/1002H04L67/1095H04L67/2842H04L67/2852H04L67/1012H04L69/329
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,114,903
App. No.
14/275,977
Granted
Oct 30, 2018
Kind
B2
Abstract

When requested content is available at a data center, the data center returns the requested content to the data center. When the requested content is locally unavailable at the data center, the requested content is retrieved from an origin server. The retrieval of the content from the origin server may be delayed based on the processing load at the origin server. When retrieval of the content is delayed, the request is prioritized and placed in a queue for handling by the origin server based on the priority of the request. Also, when retrieval of the content is delayed, a status page may be communicated to the browser to inform a user of the delay and provide alternate content and status information related to the request determined as a function of the request or the current state of the origin server.

Claims (46)

1. A method for processing data comprising:

storing a data item at a cache server, the data item accessible from a uniform resource locator, the data item having an expiration for storage at the cache server, the data item being accessed by a data request from a remote computer specifying the uniform resource locator, the data item stored at the cache server being based on underlying content maintained at a data source associated with an origin server;

receiving an expiration command at the cache server to expire the data item before the expiration, the expiration command including at least a portion of the uniform resource locator; and

expiring the data item at the cache server according to the expiration command.

2. The method for processing data according to claim 1 further comprising:

receiving a data request at the cache server from the remote computer, the data request requesting the data item from the cache server;

determining whether the data item is available at the cache server;

retrieving the data item from the origin server when the data item is unavailable at the cache server, the origin server retrieving the underlying content from the data source to produce the data item;

communicating the data item from the cache server to the remote computer; and

caching the data item received from the origin server at the cache server.

3. The method for processing data according to claim 2 wherein the data item comprises a web page and further comprising generating the web page at the origin server.

4. The method for processing data according to claim 1 , wherein the expiration command includes a wild card to specify the expiration of multiple data items.

5. The method for processing data according to claim 1 , wherein the expiration command includes instructions to retrieve and store at the cache server at least one additional content item before it is requested.

6. The method for processing data according to claim 1 , wherein content expired by the expiration command is not replaced until requested by the remote computer.

7. The method for processing data according to claim 1 , wherein the expiration command is received in response to a detected change in the underlying content at the data source.

8. The method for processing data according to claim 1 , wherein the expiration command is received from a data center manager configured to send expiration to a plurality of cache servers.

9. The method for processing data according to claim 1 , wherein the expiration command expires a single web page.

10. The method for processing data according to claim 1 , wherein the expiration command expires a plurality of web pages.

11. The method for processing data according to claim 1 , wherein the expiration command expires a plurality of web pages at a plurality of web sites.

12. The method for processing data according to claim 1 , wherein the expiration command expires a plurality of web pages at a plurality of domains.

13. The method for processing data according to claim 1 , wherein the data item comprises a web page using hypertext markup language.

14. The method for processing data according to claim 1 , wherein the expiration command includes an operation code and a path corresponding to the uniform resource locator.

15. The method for processing data according to claim 14 , wherein the expiration command expires one or more images at the path.

16. The method for processing data according to claim 1 , wherein the data item has an associated request element identifying the data item, the request element having a first portion and a second portion distinct from the first portion and wherein the data item is accessed at the cache server by:

filtering the first portion of the request element based on predetermined criteria associated with an origin server associated with the data item; and

identifying the data item based on the second portion of the request element.

17. The method for processing data according to claim 16 further comprising:

receiving a data request at the cache server, a first portion of the data request being distinct from the first portion of the request element and a second portion of the data request being substantially similar to the second portion of the request element; and

retrieving the data item as a function of the second portion of the data request and the second portion of the request element.

18. The method for processing data according to claim 17 , wherein the request element comprises a uniform resource locator and the data request comprises a uniform resource locator.

19. A method for providing efficient data access service comprising:

receiving a data request from a browser at a data center, the data request requesting a dynamic content item and having an associated address indicating an origin server, the data request including a uniform resource locator associated with the dynamic content item, and the dynamic content item having an expiration for storage at the data center;

receiving before the expiration of the dynamic content item, an expiration command at the data center, the expiration command including at least a portion of the uniform resource locator, the expiration command received in response to a change in underlying content for the dynamic content item maintained at a data source;

expiring the dynamic content item at the data center according to the expiration command;

determining whether the dynamic content item is available at the data center;

generating the dynamic content item at the origin server from the underlying content at the data source when the dynamic content item is unavailable at the data center;

retrieving the dynamic content item from the origin server when the dynamic content item is unavailable at the data center; and

communicating the dynamic content item to the browser.

20. The method for providing efficient data access service according to claim 19 , wherein the expiration command includes a wild card to specify the expiration of multiple data items.

21. The method for providing efficient data access service according to claim 19 , wherein content expired by the expiration command is not replaced until requested by a remote computer.

22. A system for processing data comprising:

a data center operable to receive a request from a client for a data item, the data item accessible from a uniform resource locator, and the data item having an expiration for storage at the data center, the data item stored at the data center being based on underlying content maintained at a data source associated with an origin server; the data center further configured to:

receive an expiration command to expire the data item before the expiration, the expiration command including at least a portion of the uniform resource locator, and

expiring the data item according to the expiration command.

23. The system for processing data according to claim 22 , wherein the expiration command includes a wild card to specify the expiration of multiple data items.

24. The system for processing data according to claim 22 , wherein the content expired by the expiration command is not replaced until requested by a remote computer.

Assignments (6)
COURT ORDER Recorded Apr 22, 2021
From: PARALLEL NETWORKS LICENSING, LLC
To: MICROSOFT CORPORATION
Reel/Frame 056027/0120 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 19, 2014
From: EPICREALM LICENSING, L.P.
To: PARALLEL NETWORKS, LLC
Reel/Frame 032925/0963 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2014
From: LOWERY, KEITH A.; DAVIDSON, DAVID K.; SAXENA, AVINASH C.
To: EPICREALM INC.
Reel/Frame 032875/0775 →
MERGER Recorded May 13, 2014
From: EPICREALM INC
To: EPICREALM OPERATING INC.
Reel/Frame 032875/0916 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2014
From: EPICREALM OPERATING INC.
To: EPICREALM LICENSING LLC
Reel/Frame 032876/0103 →
MERGER Recorded May 13, 2014
From: EPICREALM LICENSING LLC
To: EPICREALM LICENSING , LP
Reel/Frame 032876/0183 →
Continuity (4)
Continuation 13614361 · Sep 13, 2012
Continuation 09590760 · Jun 8, 2000
Provisional Application 60180843 · Feb 7, 2000
Related Publication 20140250169A1 · Sep 4, 2014