← Back to Patent Explorer
US6199107B1 Expired / Lapsed US ⏱️ 0.0 years remaining

Partial file caching and read range resume system and method

Assignee: Microsoft Technology Licensing LLC
•
Filing: 1998-07-22
•
Granted: 2001-03-06
•
Expires: 2018-07-22
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and system for caching partial downloads of network content and using that cached partial content to satisfy requests for content from client applications, in a manner that is invisible to the application. A network interface receives a request for content corresponding to cached partial content, determines what portion is cached and what portion is missing, and requests from the server only the missing range of content. When the missing content is received in a partial range response, it is merged with the cached content to provide the full content requested. The interface further transforms the range response to a response that the application is expecting and is capable of handling. Benefits include reduced client latency, reduced server load and improved network utilization. In an alternate enhancement, the interface uses pointers to track client requests for content with the amount of content received and cached for that content, to give the application the illusion of having random access to the content.

Inventors

  • 👤 Rajeev Dujari

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-08 17:37
CPC Classifications
G; G06; G06F; G06F16/00; G06F16/90; G06F16/95; G06F16/957; G06F16/9574

Claims Analysis

Total Claims: 25
Claim 1
Independent Claim 100 words
In a computer system, a method of returning requested server content to an application, comprising the steps of, storing partial server content in a local cache, receiving a request for server content corresponding to the partial content, determining a range of content data including data that is missing from the partial content in the cache, requesting the range of content data from a server and receiving the range of data in response, merging the partial content in the cache with the range of content data received from the server into merged content, and returning the merged content to the application.
Claim 2
Dependent Claim 100 words
In a computer system, a method of returning requested server content to an application, comprising the steps of, storing partial server content in a local cache, receiving a request for server content corresponding to the partial content, determining a range of content data including data that is missing from the partial content in the cache, requesting the range of content data from a server and receiving the range of data in response, merging the partial content in the cache with the range of content data received from the server into merged content, and returning the merged content to the application.
Claim 3
Dependent Claim 31 words
The method of claim 1 wherein the step of returning the merged content to the application includes the step of providing the merged content to the application in an HTTP response.
Claim 4
Dependent Claim 49 words
The method of claim 2 wherein the step of receiving the range of data includes the step of receiving an HTTP range response, and wherein the step of providing the merged content to the application in an HTTP response includes the step of transforming information of the range response.
Claim 5
Dependent Claim 29 words
The method of claim 3 wherein the step of transforming information of the range response includes the step of changing the value of at least one HTTP code therein.
Claim 6
Dependent Claim 33 words
The method of claim 1 wherein the step of storing partial server content in a local cache comprises the step of receiving less than a full amount of requested content from the server.
Claim 7
Dependent Claim 27 words
The method of claim 1 wherein the step of receiving a request for server content includes the step of receiving a uniform resource identifier from the application.
Claim 8
Dependent Claim 39 words
The method of claim 1 wherein the step of requesting the range of content data from the server comprises the step of specifying a first byte position based on the number of bytes of data in the partial content.
Claim 9
Dependent Claim 28 words
The method of claim 7 wherein the step of requesting the range of content data from the server further comprises the step of specifying an open-ended upper limit.
Claim 10
Dependent Claim 34 words
The method of claim 7 wherein the step of requesting the range of content data from the server comprises the step of further specifying a second byte position larger than the first byte position.
Claim 11
Dependent Claim 28 words
The method of claim 1 wherein the step of requesting the range of content data from the server comprises the step of providing If-Range header to the server.
Claim 12
Dependent Claim 29 words
The method of claim 1 wherein the step of requesting the range of content data from the server comprises the step of providing an Unless-Modified-Since header to the server.
Claim 13
Dependent Claim 28 words
The method of claim 1 wherein the step of receiving a request for server content includes receiving a request for a full amount of content from the application.
Claim 14
Dependent Claim 30 words
The method of claim 1 wherein the step of receiving a request for server content includes receiving a request for less than a full amount of content from the application.
Claim 15
Dependent Claim 31 words
The method of claim 13 further wherein the step of requesting the range of content data from the server includes the step of requesting content beyond that requested by the application.
Claim 16
Dependent Claim 38 words
The method of claim 14 further comprising the step of maintaining a first pointer to the amount of content data requested by the application and a second pointer to the amount of content data received from the server.
Claim 17
Dependent Claim 27 words
The method of claim 1 wherein the step of receiving a request for server content includes receiving a plurality of ranges of requested bytes from the application.
Claim 18
Dependent Claim 20 words
The method of claim 15 further comprising the step of coalescing the plurality of ranges into a single range request.
Claim 19
Dependent Claim 54 words
The method of claim 1 further comprising the steps of determining at least one other range of content data including data that is missing from the partial content in the cache, and requesting the at least one other range of content data and receiving the at least one other range of data in response.
Claim 20
Dependent Claim 123 words
In a computer system, a system for returning requested content of a server to an application, comprising, a local cache for storing partial content, an interface connected to the application for receiving a request therefrom for server content corresponding to the partial content, and a mechanism connected to the interface for determining at least one range of content data including data that is missing from the partial content in the cache, the interface requesting the at least one range of content data from the server and receiving requested content data in response, the mechanism merging the partial content in the cache with the requested content data received from the server into merged content, and the interface returning the merged content to the application.
Claim 21
Dependent Claim 123 words
In a computer system, a system for returning requested content of a server to an application, comprising, a local cache for storing partial content, an interface connected to the application for receiving a request therefrom for server content corresponding to the partial content, and a mechanism connected to the interface for determining at least one range of content data including data that is missing from the partial content in the cache, the interface requesting the at least one range of content data from the server and receiving requested content data in response, the mechanism merging the partial content in the cache with the requested content data received from the server into merged content, and the interface returning the merged content to the application.
Claim 22
Dependent Claim 20 words
The system of claim 19 further comprising a table for storing information of the partial files in the local cache.
Claim 23
Dependent Claim 38 words
The system of claim 19 further comprising a storage for storing a first pointer indicative of the amount of content returned to the application and a second pointer indicative of the amount of content received from the server.
Claim 24
Dependent Claim 126 words
In a computer system, a method of returning requested HTTP server content to an application, comprising the steps of, receiving partial server content, storing the partial server content in a local cache, receiving a request for server content corresponding to the partial content, determining a range of content data including data that is missing from the partial content in the cache, constructing an HTTP range request specifying the range of content data, transmitting the range request to a server, receiving an HTTP range response corresponding to the range request, transforming the range response into a complete response including data from the partial content in the cache and data from the range of content data received from the server, and returning the complete response to the application.
Claim 25
Dependent Claim 126 words
In a computer system, a method of returning requested HTTP server content to an application, comprising the steps of, receiving partial server content, storing the partial server content in a local cache, receiving a request for server content corresponding to the partial content, determining a range of content data including data that is missing from the partial content in the cache, constructing an HTTP range request specifying the range of content data, transmitting the range request to a server, receiving an HTTP range response corresponding to the range request, transforming the range response into a complete response including data from the partial content in the cache and data from the range of content data received from the server, and returning the complete response to the application.

References Cited (Backward Citations)

US5442760A Cited
US5390318A Cited
US5787475A Cited
US5628015A Cited
US5737599A Cited
US5864852A Cited
US5787470A Cited
US6112231A Cited
US5889958A Cited
US6067565A Cited
US6085226A Cited
US6061715A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2004-03-05 2004-09-04 2005-03-06 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2008-03-05 2008-09-04 2009-03-06 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2012-03-05 2012-09-04 2013-03-06 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag