IP Library Granted Patent US 8,874,624
Granted Patent B2
US 8,874,624 · App. 13/665,353 · Granted Oct 28, 2014

Method and system for seamlessly accessing remotely stored files

Inventors: Bertrand P. Serlet (Palo Alto, CA); Avadis Tevanian, Jr. (Los Altos Hills, CA); Clark H. Warner (Mountain View, CA)
Assignee: Apple Inc.
G06F17/30067H04L69/329H04L29/06H04L67/10
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,874,624
App. No.
13/665,353
Granted
Oct 28, 2014
Kind
B2
Abstract

A system and method by which users via programs on one computer may seamlessly access files remotely stored on other computers that run a well known file access protocol. An operating system extension and an application level network access program are provided. The operating system extension receives file system requests for remote files from the operating system that were issued according to a well known application program interface. The operating system extension forwards the remote file system request to the network access program. The network access program reformats the request according to a well known application level network protocol extension and sends it over a network to a remote computer system.

Claims (56)

1. A computer implemented method, comprising:

receiving, at a seamless file system (SFS) extension to an operating system running within a computer system, a file system request from a first application program executing on the computer system, wherein the file system request includes a request to access a file stored at a remote file system of a Web server reachable over the Internet;

in a network access application program running within the computer system,

transforming the file system request into a network communications request conforming to a communications protocol, wherein the communications protocol is compatible with the Web server;

forwarding the network communications request to the Web server;

receiving a portion of the requested file from the Web server; and

caching, locally within the computer system, the portion of the requested file received from the Web server; and

in the SFS extension, using the portion of the cached requested file to respond to the file system request as an ordinary file system response, wherein the portion of the cached requested file is invisible via the file system of the operating system to a second application program running within the computer system other than the first application program.

2. The method of claim 1 , wherein a name of the portion of the requested file is invisible in a local file system directory and wherein information related to a directory structure of the Web server is saved as an invisible file on the computer system.

3. The method of claim 1 , wherein all locally cached files, which are created from requests for files stored on a Web server, are created in a single directory.

4. A non-transitory machine-readable medium having stored thereon instructions which, when executed by a processor, cause the machine to perform a method, the method comprising:

receiving, at a seamless file system (SFS) extension to an operating system running within a computer system, a file system request from a first application program executing on the computer system, wherein the file system request includes a request to access a file stored at a remote file system of a Web server reachable over the Internet;

in a network access application program running within the computer system,

transforming the file system request into a network communications request conforming to a communications protocol, wherein the communications protocol is compatible with the Web server;

forwarding the network communications request to the Web server;

receiving a portion of the requested file from the Web server;

caching, locally within the computer system, the portion of the requested file received from the Web server; and

in the SFS extension, using the portion of the cached requested file to respond to the file system request as an ordinary file system response, wherein the portion of the cached requested file is invisible via the file system of the operating system to a second application program running within the computer system other than the first application program.

5. The machine-readable medium of claim 4 , wherein a name of the portion of the requested file is invisible in a local file system directory and wherein information related to a directory structure of the Web server is saved as an invisible file on the computer system.

6. The machine-readable medium of claim 4 , wherein all locally cached files, which are created from requests for files stored on a Web server, are created in a single directory.

7. A machine-readable medium having stored thereon instructions that, when executed by a processor in a machine, cause the machine to perform operations for:

an operating system;

a seamless file system (SFS) plug-in in the operating system;

a file system interface in the operating system; and

an SFS network access program in an application level separate from the operating system;

wherein the SFS plug-in is configured to:

receive file-access requests from the file system interface;

parse the file-access requests to determine when the file-access request is destined for a remote computer; and

forward file-access requests destined for a remote computer to the SFS network access program; and

wherein the SFS network access program is configured to:

from each received file-access request, generate a corresponding remote request that is formatted according to an application-level protocol; and

forward the remote request to the remote computer to perform the file-access operation.

8. The machine-readable medium of claim 7 , wherein the application-level protocol is WebDAV enabled HTTP.

9. The machine-readable medium of claim 8 , wherein the SFS network access program is a WebDAV client that communicates with the remote computer via a TCP/IP transport layer of the operating system.

10. The machine-readable medium of claim 7 , further comprising instructions that, when executed by a processor in the machine, cause the machine to perform operations for:

a local socket for communicating between SFS plug-in and the SFS network access program.

11. The machine-readable medium of claim 7 , further comprising instructions that, when executed by a processor in the machine, cause the machine to perform operations for:

an SFS startup program configured to:

receive remote file information comprising at least one of a URI and a directory name where files are located on the remote computer;

store the received remote file information in a memory; and

at one or more predetermined times, retrieve and use the remote file information to automatically configure at least one of the operating system and the SFS plug-in in the operating system to use the remote computer as a destination for file-access requests.

12. A method, comprising:

in a computer, performing operations for a seamless file system (SFS) plug-in in an operating system and a SFS network access program in an application level separate from the operating system, the operations comprising:

in the seamless file system (SFS) plug-in:

receiving a file-access request from a file system interface in the operating system;

determining when the file-access request is destined for a remote computer; and

when the file-access request is destined for a remote computer, forwarding the file-access request to the SFS network access program; and

in the SFS network access program:

from the file-access request, generating a corresponding remote request that is formatted according to an application-level protocol; and

forwarding the remote request to the operating system to be transmitted to the remote computer to perform the file-access operation.

13. The method of claim 12 , wherein generating a corresponding remote request that is formatted according to an application-level protocol comprises generating the remote request in accordance with WebDAV enabled HTTP.

14. The method of claim 12 , further comprising:

in the computer, performing operations for an SFS startup program, the operations comprising:

receiving remote file information comprising at least one of a URI and a directory name where files are located on the remote computer;

storing the received remote file information in a memory; and

at one or more predetermined times, retrieving and using the remote file information to automatically configure at least one of the operating system and the SFS plug-in in the operating system to use the remote computer as a destination for file-access requests.

Continuity (4)
Continuation 12752932 · Apr 1, 2010
Division 10994007 · Nov 19, 2004
Continuation 09642632 · Aug 18, 2000
Related Publication 20130054732A1 · Feb 28, 2013