WO1993019420A1 - Remote file access system - Google Patents

Remote file access system Download PDF

Info

Publication number
WO1993019420A1
WO1993019420A1 PCT/US1993/002652 US9302652W WO9319420A1 WO 1993019420 A1 WO1993019420 A1 WO 1993019420A1 US 9302652 W US9302652 W US 9302652W WO 9319420 A1 WO9319420 A1 WO 9319420A1
Authority
WO
WIPO (PCT)
Prior art keywords
file
computer
mass storage
base
storage device
Prior art date
Application number
PCT/US1993/002652
Other languages
French (fr)
Inventor
David B. Folger
David R. Arnold
Adam S. Falk
Paul V. Fries
Maureen Lambert
Original Assignee
Nomadic Systems, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nomadic Systems, Inc. filed Critical Nomadic Systems, Inc.
Publication of WO1993019420A1 publication Critical patent/WO1993019420A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers

Definitions

  • the present invention relates generally to the field of electronic data storage and retrieval means and more particularly to an improved system for providing access to data from a base computer or network to a remote computer.
  • data communications means b which computers can be caused to exchange data from remot locations.
  • modulator/demodulator ( ,, odem ,, ) devices are available to allow data to be sent betwee computers via telephone line interfaces.
  • all that is required to cause th desired transfer of data is to cause the receiving compute to be instructed to receive data via the modem, and to caus the sending computer to be instructed to send data via th modem.
  • Such instruction is generally accomplished by mean of software.
  • a difficulty with existing data exchange means is that, even if both a user's office computer and home computer are equipped to communicate together, there is no provision for ascertaining whether the information contained in a home computer is current as compared to that contained in the office computer. Unless the user can be certain that the information contained in the home or portable computer is current, there is no alternative except to "upload" the entire data files in question. Further, even when the user knows that the immediately available file differs from a more current version in a remote computer only in a few details, the only method available for obtaining those few changes is to upload the entire revised file. This can be both time consuming and costly, particularly if cellular phone transmission or long distance telephone transmission is utilized.
  • Varieties include straight forward file transfer programs which require the user to have immediate access to both the sending and receiving computers, and "communications" programs wherein a receiving computer is placed in a "ready” status to receive any incoming data that may be sent to it from a sending computer. More complex programs allow files to be "uploaded” from a base computer to remote computers, as requested by the remote computer.
  • LANs local area networks
  • the preferred embodiment of the present invention is a remote file access systems embodied within a computer system, said computer system having at least two computers which are located at remote locations relative to each other.
  • the remote file access system is adapted for allowing one of the computers to have access to the mass storage devices of the other, such that the first (local) computer can obtain files and/or file updates from the second (remote) computer, as required, in a manner which is relatively transparent to the user in that the user is required only to "call up" the file as though that file was residing, in its entirety, within his or her local computer.
  • the local computer provides the user with a complete listing of available files, as though all of those files were stored within the immediate mass storage devices of the local computer. When the user selects a file for use, the local computer first determines whether or not that file is stored within its own mass storage devices.
  • the remote computer is "called up" via modem, in the best presently known embodiment of the invention, and the remote computer is instructed to send the file to the local computer. If the local computer does have the required file in its mass storage, then the remote computer is contacted and requested to advise as to the most recent version of that file. If the most recent version is that which is stored within the local computer, no further action is required and the user can proceed to use that file. If the most recent version is other than that which is stored within the local computer, then a "delta file" having information pertaining to the differences between the most recent version and the locally available version is transmitted, and the local version is updated to conform to the most recent version.
  • An advantage of the present invention is that the use of computers having files which are stored and/or altered at a remote location is made more efficient.
  • a further advantage of the present invention is that a computer can automatically ascertain whether a version of a required file which is stored in its mass storage devices is the most recent iteration available.
  • Yet another advantage of the present invention is that the time and cost required to obtain an updated file from a distant computer are greatly reduced.
  • Still another advantage of the present invention is that efficiency of file management between remotely located computers and/or computer networks is greatly increased.
  • the files may be shared between computers with a minimum of user effort and cost.
  • Fig. 1 is a block schematic diagram of a computer system configured to embody the inventive remote file access system
  • Fig. 2 is a memory map depicting an example of the content of mass storage devices used in conjunction with the present invention
  • Fig. 3 is an updated version of the memory map of Fig. 2
  • Fig. 4 is an updated version of the memory map of Fig. 3.
  • the best presently known mode for carrying out the invention is a remote file access system for coordination of files among a plurality of computers.
  • the predominant expected usage of the inventive remote file access system is for providing access to the files of a "base" computer from a secondary computer, particularly wherein the secondary computer is a home or portable computer which is adjunct to the base computer such that an efficient means for accessing the files of the base computer from the secondary computer is desirable.
  • a computer system configured to embody the remote file access system of the presently preferred embodiment of the present invention is illustrated in a block schematic diagram in Fig. 1 and is designated therein by the general reference character 10.
  • the remote file access system 10 has a base computer 12 with a base computer mass storage device 14 and a branch computer 16 with a branch computer mass storage device 18.
  • the base computer 12 is equipped with a base computer modem 20 and the branch computer is equipped with a branch computer modem 22.
  • a data link 24 connects the base computer modem 20 to the branch computer modem 22.
  • the base computer 12 is an office desktop computer
  • the branch computer 16 is a laptop type portable computer which the user may employ, as required, at home or at some other location remote from the base computer 12.
  • the branch computer 16 may, alternatively, be a notebook type computer, a "full sized" home computer system, or the like.
  • the base computer mass storage device 14 and the branch computer mass storage device 18 are fixed rigid disk drive devices in the best presently known embodiment 10 of the present invention, since such devices are the predominant type of mass storage devices currently in use.
  • the present invention is not restricted to use with this, or any other, particular type of mass storage media, and other devices such as optical or magneto-optical mass storage devices could be employed for the purpose.
  • the base computer modem 20 and the branch computer modem 22 are conventional telephone modem devices
  • the data link 24 is conventional telephonic communications means.
  • the present invention is not restricted to use with such conventional means for exchanging data between the base computer 12 and the branch computer 16.
  • the data link 24 could be a conventional cellular telephone interconnection
  • the base compute modem 20 and the branch computer modem 22 adapted fo connection to that form of data link 24, or the data link 24 could be a local area network (“LAN”) .
  • LAN local area network
  • the present invention is no restricted to use with a single branch computer 16, and tha additional branch computers (not shown) could be employed, each functioning as does the branch computer 16 describe herein.
  • the base computer 12 could be a isolated conventional desk top computer, or the like.
  • the base computer 12 could be a part of a larger computer network (not shown) wherein the base computer 12, itself, has access to files from a network server (not shown) and or other computers within the network (not shown) . It should be noted that such alternative configurations of the base computer 12 and/or other elements of the remote file access system 10 are not expected to effect the operation of the best presently known embodiment 10 of the present invention. Figs.
  • FIGS. 2 through 4 are a series of memory maps 26 which are diagrammatic representations of the varying content of the mass storage devices 14 and 18, according to the best presently known embodiment 10 of the present invention.
  • the memory maps 26 of Figs. 2 through 4 are intended to illustrate the content, only, of the mass storage devices 14 and 18.
  • the memory maps 26 of Figs. 2 through 4 do not purport to represent a particular location in memory, or an amount of memory assigned to each of the elements shown therein.
  • Fig. 2 illustrates an exemplary memory map 26a representing contents of the mass storage devices 14 and 18 as might be encountered during the operation of the best presently known embodiment 10 of the present invention.
  • the base computer mass storage device 14 has a primary directory 28, and the branch computer mass storage device 18 has a secondary directory 30.
  • the primary directory 28 is a listing of file names 32 of a plurality (7 in the example of Fig.
  • the file names 32 are represented in the example of Fig. 2 by the nomenclature Nn, where n is 1 through 7, in the example of Fig. 2, corresponding to the seven files 34 (Fl through F7) presently written into the base computer mass storage device 1 .
  • Nn the nomenclature
  • the denominations Nl through N7 will actually be brief textual names and the files 34 will be comparatively lengthy data files, such as wor processor files or spreadsheet files.
  • file names 32 to files 34 within the base computer mass storage devic 14 is conventional in that there is a file name 32 in th primary directory 28 corresponding to each file 34 in th base computer mass storage device 14.
  • executable files programs
  • the presen inventive method could be extended to provide access t executable files. It will be evident in light of th discussion, hereinafter, that the content of two differen iterations of any particular file 34 may, or may not, b identical.
  • the secondary directory is placed in "virtual disk" (not shown) within the branch computer mas storage device 18.
  • the "virtual disk” is a conceptual devic well known to those skilled in the use of the DOS operatin system.
  • the "virtual disk” is a portion of the branc computer mass storage device 18 which is treated by DOS a thc'igh it were a physical drive distinct from the branc computer mass storage device, even though it is not.
  • the best presentl known embodiment 10 of the present invention redirects directory inquiry to this "virtual disk" through the mean conventionally available in DOS.
  • a file name 32 i selected from the secondary directory 30 the best presently known embodiment 10 of the present invention then causes the appropriate action to be taken, as will be described hereinafter.
  • the inventive remote file access system 10 can more easily be used in conjunction with existing software which is written such that it recognizes that files may be stored within various disks or "virtual disks". It should be noted that, in the example of Fig. 2, all of the files 32 are shown within the unitary primary directory 28 while, in practice, subdirectories (not shown) may be contained within the base computer mass storage device 14.
  • the example of Fig. 2 does not include subdirectories, as the invention is more clearly illustrated using the relatively simplistic memory map 26a of the example of Fig. 2.
  • the secondary directory 30, as depicted in the example of Fig. 2 is also a listing of file names 32, the content of which will be discussed hereinafter.
  • the branch computer mass storage device 18 also contains a plurality (3 in the example of Fig. 2) of files 34.
  • the base computer mass storage device also contains a primary version list 36, a remote file catalog 38 and a plurality (2 in the example of Fig. 2) of delta files 40.
  • the primary version list 36 has a plurality (3 in the example of Fig. 2) of primary version indicators 42 corresponding to the files 34 located in the base computer mass storage device 14, the primary version indicators 42 being shown in the example of Fig. 2 having the form "VFx,y", wherein x is the number of the file 34 which is being referenced and y represents a particular iteration or "version" of that file 34.
  • a certain "VF2.y" primary version indicator 42.2 in the example of Fig. 2 indicates that a corresponding "F2" file 34.2 having a corresponding "N2" file name 32.2 is in a second iteration (y---) - as presently stored on the base computer mass storage device.
  • the remote file catalog 38 allows the base computer 14 (Fig- 1) to know which files 34 are presently being held within the branch computer mass storage device 18 and, further, which iteration of such files 34 is being hel within the branch computer mass storage device 18. In the example of Fig.
  • the remote file catalog 38 contains three remote file listings 44, indicating that version 1 of a certain "Fl” file 34.1, version 1 of a certain "F5" file 34.5 and version 1 of a certain "F6" file 34.6 are presentl within the branch computer mass storage device 18. It shoul be noted that the content of the remote file catalog 38 i based upon a last previous communication between the bas computer 12 and the branch computer 16. If any modificatio of the content of the branch computer mass storage device 1 has occurred since such last previous communication, then th content of the remote file catalog 38 will not reflect th actual current status of the branch computer mass storag device 18. It should be noted that the method of the presen invention is not limited to use with a single branch compute 16 (Fig.
  • the remote file catalog 38 will have a remot file listing 44 corresponding to each file 34 contained i each of such branch computers 16, such that the base compute 12 (Fig. 1) can know which version of each file 34 i presently contained in each of the branch computers 16.
  • "state" files, such as th remote file listings 44 within the remote file catalog 38 can be a potential source of problems. In general, when the base computer 12 is required to keep track of the content of the branch computer mass storage device 18, then potential for error is introduced which may, or perhaps may not, outweigh the advantages of that feature.
  • the branch computer mass storage device 18 in addition to the files 34 and the secondary directory 30 listing of file names 32, the branch computer mass storage device 18 also contains a secondary version list 46 having therein a plurality (3 in the example of Fig. 2) of secondary version indicators 48 corresponding to the files 34 which are contained within the branch computer mass storage device 18. Therefore, if the content of the remote file catalog 38 within the base computer mass storage device 14 is current, the secondary version indicators 48 will be equal in number to, and will agree in substance as compared to, the remote file listings 44 in the base computer mass storage device 14.
  • the branch computer modem 20 when a user wishes to use the branch computer 16, the branch computer modem 20 must be connected to the data link 24 such that the branch computer 16 can access the base computer 12 therethrough.
  • the data link 24 may be conventional telephone lines, cellular telephone circuits, or the like. If the data link 24 to be used is a conventional telephone circuit, the user must physically connect the branch computer modem 22 to the data link 24 prior to the following described operations. In order to use the branch computer 16 the user, according to the present inventive method, is not required to perform operations differently than would be the case if the branch computer 16 were a stand alone computer having therein all data files required by the user.
  • the inventive method is performed by means of the hardware/software combination of the best presently known embodiment 10 of the invention, as described herein.
  • the branch computer 16 After being connected to the data link 24, the branch computer 16 is turned on according to the normal activation procedure for that device.
  • the user can cause the secondary directory 30 (Fig. 2) , or a portion thereof, to be displayed on the branch computer 16 by any of several actions. For example, when operating in a DOS environment, the user can enter a directory ("DIR") command. Alternatively, if operating in a Wi .ndowsT *11 environment, the file names 32 can be displayed as icons on the branch computer 16.
  • DIR directory
  • the file names 32 can be displayed as icons on the branch computer 16.
  • the display when running within an operations program, such as a word processor or a spreadsheet, the display may be regulated by that program such that only entries bearing a specified suffix are displayed and/or such that entries within a certain specified "path" are displayed, and the like.
  • the secondary directory 30 (or a portion thereof, as discussed above) will be displayed instead of the actual contents of the branch computer mass storage device 18.
  • a branch computer 16 (Fig. 1) display the secondary directory 30
  • the branch computer 16 will access the base computer 14 via the data link 24 to update the secondary directory 30 such that the secondary directory 30 will agree with the primary directory 28.
  • a first updated memory map 26b will, as shown in Fig. 3, -include the "N7" file name 32.7 in the secondary directory 30, as well as in the primary directory 28. Therefore, the user is alerted to the fact that the "F7" file 34.7 has been added to the base computer mass storage device 14, and is available for use.
  • inventive remote file access system 10 provides for the updating of files 34 at the branch computer 16 with delta files 40 which are created at the base computer 12, it is within the scope of the present invention that this process could be made bidirectional, with delta files 40 being created at the branch computer 16 and transmitted to the base computer 12 for updating the files 34 of the base computer 12 according to changes which may have been made at the branch computer 16.
  • the base computer 12 and the branch computer 16 could, if desired, be assigned an equal status, such that the base computer 12 and the branch computer 16 were not a "master” and "slave", as described herein.
  • the branch computer 16 accesses the base computer 12 via the data link 24 for the purpose of assuring that the "Fl" file 34.1, as stored within the branch computer mass storage device 18 is current with the "Fl" file 34.1 as stored within the base computer mass storage device 14.
  • the branch computer 16 accesses the base computer 12 via the data link 24 for the purpose of assuring that the "Fl” file 34.1, as stored within the branch computer mass storage device 18 is current with the "Fl” file 34.1 as stored within the base computer mass storage device 14.
  • the "Fl" file is retrieved from the branch computer mass storage device 18.
  • the branch computer 16 would access the base computer 12 via the data link 24, this time for the purpose of assuring that the "F5" file 34.5, as stored within the branch computer mass storage device 18 is current with the "F5" file 34.5 as stored withi the base computer mass storage device 14.
  • the first updated memory map 26b of Fig. the first updated memory map 26b of Fig.
  • a "DF5" delta file 40.5 containing any differences between the versions of the "F5" file, as found in " the base computer mass storage device 14, is transmitted via the data link 24 to the branch computer 16, and the branch computer mass storage device 18, and the "DF5" file 40.5 is integrated into the "F5" file 34.5 within the branch computer 16 such that the "F5" file 34.5 within the branch computer mass storage device 18 is updated to conform to that same "F5" file 34.5 within the base computer mass storage device 14.
  • the "DF" files 40 will be much smaller and easily transferred than the entire corresponding files 34.
  • a second updated memory map 26c, Fig. 4 depicts the content of the mass storage devices 14 and 18 following these operations.
  • the capacity of the branch computer mass storage device 18 will be substantially less than that of the base computer mass storage device 14, it might well occur that any of the operations described herei as being part of the inventive method will cause the impor of files 34 (or other data portions) from the base compute mass storage device 14 to the branch computer mass storag device 18 which operation might exceed the available (unused) capacity of the branch computer mass storage device 18. Fo this reason, the inventive method causes whichever file 3 within the branch computer mass storage device 18 which ha been least recently used to be deleted, as required, from th branch computer mass storage device 18 to make available room within the branch computer mass storage device 18 for the operations described herein.
  • the branch computer mass storage device 18 is acting as a "cache" for the content of the base computer mass storage device 14.
  • This method is known as a "least recently used” caching algorithm.
  • the present invention is certainly not limited to this particular algorithm, and any caching algorithm, presently known or yet to be invented, could be used in conjunction with the best presently known embodiment 10 of the present invention to perform the function of selecting files 34 to be deleted, as necessary, to create space in branch computer mass storage device 18.
  • conventional data compression is utilized for transmission of files 34 and delta files 44 via the data link 24 (Fig. 1) .
  • This condition is as might result from the "F6" file 34.6 having been revised twice since it was transmitted to the branch computer mass storage device 18.
  • a "DF6" file 40.6 within the base computer mass storage device 16 will contain all differences between version 1 of the "F6” file 34.6 and version 3 of that same file. It should be noted that at some intermediate stage there has been a version 2 of that same "F6" file 34.6 in existence and, at that time, the "DF6" file 40.6 would have contained differences between version 1 of the "F6” file 34.6 and version 2 of that same file.
  • One skilled in the art will recognize that it is a relatively simple matter to "merge" successive iterations of the delta files 40 such that cumulative differences between successive iterations of the files 34 may be contained therein, as required.
  • a new delta file 40 (or an updated version of an existing delta file 40, as required) is made each time a updated iteration of a file 34 is stored to the base computer mass storage device 16. It is recognized by the inventors that, depending upon the complexity of the files 34 and the processing speed of the base computer 12, this may be unduly time consuming in some applications, and it is within the scope of the present inventive method that alternative times and/or means for creation of the delta files 40 may be incorporated into the best presently known embodiment 10 of the present invention, as required by such peculiar circumstances. All of the above are only some of the examples of available embodiments of the present invention.
  • the remote file access system 10 is adapted to b widely used in conjunction with personal computers. Th predominant current usages are for applications wherein user has both an office computer and a secondary computer, the secondary computer usually being either a stationary hom computer system, or a portable computer. In such instances, it is customary for the user to want or need to use file which are primarily stored in the office computer when th user is away from the office. For example, the user may maintain a data base file of inventory in a portable computer when he or she is out taking orders. By means of the present invention, that file is automatically updated to the most recent iteration of the data base such that the user does not inadvertently sell something which has already been shown to have been removed from inventory in the office computer.
  • the inventive remote file access system 10 may be utilized in conjunction with either a single branch computer 12 or with a plurality of branch computers 12, as described herein.
  • the present invention is applicable to situations wherein a single user needs access to the files 34 or, alternatively, to situations wherein multiple users require access to the same set of files 34 from the base computer mass storage device 14.
  • the present inventive remote file access system 10 may be adapted for use with any operating system, known or yet to be invented. Furthermore, the present inventive remote file access system 10 might even be incorporated into future revisions of operating systems. Since the remote file access system 10 of the present invention may be readily constructed to operate using conventional prior art hardware components, it is expected that it will be acceptable in the industry as a substitute for conventional remote data retrieval means. Further, since the inventive remote file access system 10 does not require that a user learn new operating procedures, it is expected that the present invention will be welcomed as a substantial aid to productivity by computer users. For these and other reasons, it is expected that the utility and industrial applicability of the invention will be both significant in scope and long-lasting in duration.

Abstract

An improved remote file access system (10) having a base computer (12) and an associated base computer mass storage device (14) containing a primary directory (28) which is a listing of file names (32) associated with files (34) which are stored thereon, and at least one branch computer (16), in communication with the base computer (12) via a data link (24), with an associated branch computer mass storage device (18) containing a secondary directory (30) which is a listing of file names (32) associated with files (34). When a file (34) is required for use at the branch computer (16), it is selected from the secondary directory (30), and retrieved from the branch computer mass storage device (18) if it is stored thereon or, if the desired file is not stored in the branch computer mass storage device (18) the file (34) is retrieved, via the data link (24), from the base computer mass storage device (14).

Description

REMOTE FILE ACCESS SYSTEM
TECHNICAL FIELD
The present invention relates generally to the field of electronic data storage and retrieval means and more particularly to an improved system for providing access to data from a base computer or network to a remote computer.
BACKGROUND ART
The advent of technology for making small and portable computers with sufficient capacity for a wide variety of applications has been a great boon to persons who must, or choose, to work away from their offices or places of business. Such computers frequently have sufficient mass storage capacity to accomplish many tasks. However, man tasks require access to files which are on a distant offic computer. A frequent problem which arises for those who wis to use their computers away from the office is that a data file with which they wish to work may be on their office computer, but not on their portable or home computer, t which they have immediate access. Alternatively, even i they have a version of the needed files on their portabl computer, that version may not be the most recently update iteration of the file. There are a variety of data communications means b which computers can be caused to exchange data from remot locations. For example, modulator/demodulator (,, odem,,) devices are available to allow data to be sent betwee computers via telephone line interfaces. Using such a dat communications means, all that is required to cause th desired transfer of data is to cause the receiving compute to be instructed to receive data via the modem, and to caus the sending computer to be instructed to send data via th modem. Such instruction is generally accomplished by mean of software. //// A difficulty with existing data exchange means is that, even if both a user's office computer and home computer are equipped to communicate together, there is no provision for ascertaining whether the information contained in a home computer is current as compared to that contained in the office computer. Unless the user can be certain that the information contained in the home or portable computer is current, there is no alternative except to "upload" the entire data files in question. Further, even when the user knows that the immediately available file differs from a more current version in a remote computer only in a few details, the only method available for obtaining those few changes is to upload the entire revised file. This can be both time consuming and costly, particularly if cellular phone transmission or long distance telephone transmission is utilized. In addition, this method places the burden of "knowing" what is the most recent version of a file on the user and, of course, the user can sometimes be wrong, which could potentially result in a serious problem. Furthermore, the very fact that the user is required to perform separate and distinct operations in order to access and retrieve files from the remote computer is undesirable, both because of the excess work required of the user and because the user is required to learn the necessary commands required to accomplish these tasks. A number of programs are commercially available for causing computers to send and/or receive data to and from other computers. Varieties include straight forward file transfer programs which require the user to have immediate access to both the sending and receiving computers, and "communications" programs wherein a receiving computer is placed in a "ready" status to receive any incoming data that may be sent to it from a sending computer. More complex programs allow files to be "uploaded" from a base computer to remote computers, as requested by the remote computer. Several methods for allowing the sharing of files and/or program and processing resources among computers connected to local area networks ("LANs") , and the like, have been found worthy of patent protection, including U.S. Patent No. 4,558,413 issued to Schmidt et al., U.S. Patent No. 4,851,988 issued to Trottier et al., U.S. Patent No. 4, 897,781 issued to Chang et al., and U.S. Patent No. 4,780, 821 issued to Crossley. However, none of these inventions have addressed the unique requirements of computers which are connected only by telephone links, or the like, wherein there is a specific expense associated with each access of one computer to another. Because the costs of such communications means is so high, computers which are so linked must communicate only intermittently, and not continuously, with each other. All of the prior art means for communicating files between remote computers within the inventor's knowledge have required that the user decide what files are needed to be retrieved from a distant computer system and, further, that such files be transmitted in their entirety from that distant computer system when they are required. No prior art means for communicating files between remote computers, to the inventor's knowledge, has successfully provided a means by which computers ca automatically be furnished with the most recent iteration of required files. All successful applications to date hav required that the user decide which files are required to b retrieved from a remote location, and then perform a complex, time consuming, and potentially costly process for retrievin the required files.
DISCLOSURE OF INVENTION
Accordingly, it is an object of the present inventio to provide a means for greatly increasing the efficiency an ease of use of computers with files which may be store and/or altered at a remote location. It is another object of the present invention t provide a means for allowing a computer to automaticall ascertain whether a version of a required file which i stored in its mass storage devices is the most recen iteration available. It is still another object of the present invention to provide a means for greatly reducing the time and cost required to obtain an updated file from a distant computer. It is yet another object of the present invention to provide a means for increasing the efficiency of file management between remotely located computers and/or computer networks. It is still another object of the present invention to provide an improved means for sharing files among computers. It is yet another object of the present invention to provide an improved means for efficiently allowing a computer user to have access to data files stored on distant computer. It is still another object of the present invention to provide a file access system which does not require that the user learn new skills. It is yet another object of the present invention to provide a file access system which will work in conjunction with existing software. Briefly, the preferred embodiment of the present invention is a remote file access systems embodied within a computer system, said computer system having at least two computers which are located at remote locations relative to each other. The remote file access system is adapted for allowing one of the computers to have access to the mass storage devices of the other, such that the first (local) computer can obtain files and/or file updates from the second (remote) computer, as required, in a manner which is relatively transparent to the user in that the user is required only to "call up" the file as though that file was residing, in its entirety, within his or her local computer. The local computer provides the user with a complete listing of available files, as though all of those files were stored within the immediate mass storage devices of the local computer. When the user selects a file for use, the local computer first determines whether or not that file is stored within its own mass storage devices. If that file is not within the mass storage devices of the local computer, the remote computer is "called up" via modem, in the best presently known embodiment of the invention, and the remote computer is instructed to send the file to the local computer. If the local computer does have the required file in its mass storage, then the remote computer is contacted and requested to advise as to the most recent version of that file. If the most recent version is that which is stored within the local computer, no further action is required and the user can proceed to use that file. If the most recent version is other than that which is stored within the local computer, then a "delta file" having information pertaining to the differences between the most recent version and the locally available version is transmitted, and the local version is updated to conform to the most recent version. An advantage of the present invention is that the use of computers having files which are stored and/or altered at a remote location is made more efficient. A further advantage of the present invention is that a computer can automatically ascertain whether a version of a required file which is stored in its mass storage devices is the most recent iteration available. Yet another advantage of the present invention is that the time and cost required to obtain an updated file from a distant computer are greatly reduced. Still another advantage of the present invention is that efficiency of file management between remotely located computers and/or computer networks is greatly increased. Yet another advantage of the present invention is that the files may be shared between computers with a minimum of user effort and cost. Still another advantage of the present invention is that a computer user can have access to data files stored on a distant computer, without having to unnecessarily upload the entire data file. Yet another advantage of the present invention is that the user does not have to learn new skills in order to operate the system. Still another advantage of the present invention is that it will work in conjunction with existing software. These and other objects and advantages of the present invention will become clear to those skilled in the art in view of the description of the best presently known mode of carrying out the invention and the industrial applicability of the preferred embodiment as described herein.
BRIEF DESCRIPTION OF THE DRAWING
Fig. 1 is a block schematic diagram of a computer system configured to embody the inventive remote file access system; Fig. 2 is a memory map depicting an example of the content of mass storage devices used in conjunction with the present invention; Fig. 3 is an updated version of the memory map of Fig. 2; and Fig. 4 is an updated version of the memory map of Fig. 3.
BEST MODE FOR CARRYING OUT INVENTION
The best presently known mode for carrying out the invention is a remote file access system for coordination of files among a plurality of computers. The predominant expected usage of the inventive remote file access system is for providing access to the files of a "base" computer from a secondary computer, particularly wherein the secondary computer is a home or portable computer which is adjunct to the base computer such that an efficient means for accessing the files of the base computer from the secondary computer is desirable. A computer system configured to embody the remote file access system of the presently preferred embodiment of the present invention is illustrated in a block schematic diagram in Fig. 1 and is designated therein by the general reference character 10. The remote file access system 10 has a base computer 12 with a base computer mass storage device 14 and a branch computer 16 with a branch computer mass storage device 18. The base computer 12 is equipped with a base computer modem 20 and the branch computer is equipped with a branch computer modem 22. A data link 24 connects the base computer modem 20 to the branch computer modem 22. In the best presently known embodiment 10 of the invention, the base computer 12 is an office desktop computer, and the branch computer 16 is a laptop type portable computer which the user may employ, as required, at home or at some other location remote from the base computer 12. The branch computer 16 may, alternatively, be a notebook type computer, a "full sized" home computer system, or the like. The base computer mass storage device 14 and the branch computer mass storage device 18 are fixed rigid disk drive devices in the best presently known embodiment 10 of the present invention, since such devices are the predominant type of mass storage devices currently in use. However, the present invention is not restricted to use with this, or any other, particular type of mass storage media, and other devices such as optical or magneto-optical mass storage devices could be employed for the purpose. Further, in the best presently known embodiment 10 of the present invention, the base computer modem 20 and the branch computer modem 22 are conventional telephone modem devices, and the data link 24 is conventional telephonic communications means. However, the present invention is not restricted to use with such conventional means for exchanging data between the base computer 12 and the branch computer 16. For example, the data link 24 could be a conventional cellular telephone interconnection, and the base compute modem 20 and the branch computer modem 22 adapted fo connection to that form of data link 24, or the data link 24 could be a local area network ("LAN") . It should be noted that the present invention is no restricted to use with a single branch computer 16, and tha additional branch computers (not shown) could be employed, each functioning as does the branch computer 16 describe herein. Furthermore, the base computer 12 could be a isolated conventional desk top computer, or the like. Alternatively, the base computer 12 could be a part of a larger computer network (not shown) wherein the base computer 12, itself, has access to files from a network server (not shown) and or other computers within the network (not shown) . It should be noted that such alternative configurations of the base computer 12 and/or other elements of the remote file access system 10 are not expected to effect the operation of the best presently known embodiment 10 of the present invention. Figs. 2 through 4 are a series of memory maps 26 which are diagrammatic representations of the varying content of the mass storage devices 14 and 18, according to the best presently known embodiment 10 of the present invention. The memory maps 26 of Figs. 2 through 4 are intended to illustrate the content, only, of the mass storage devices 14 and 18. The memory maps 26 of Figs. 2 through 4 do not purport to represent a particular location in memory, or an amount of memory assigned to each of the elements shown therein. One skilled in the art will recognize that the various divisions of the memory maps 26, which will be discussed hereinafter, are fictions for presenting the various types of data portions contained therein and, in actual practice, such data portions are scattered throughout available mass storage memory according to a scheme dictated by the operating system and hardware interface (not shown) of the particular computing device being utilized. Fig. 2 illustrates an exemplary memory map 26a representing contents of the mass storage devices 14 and 18 as might be encountered during the operation of the best presently known embodiment 10 of the present invention. As is depicted in the example of Fig. 2, the base computer mass storage device 14 has a primary directory 28, and the branch computer mass storage device 18 has a secondary directory 30. The primary directory 28 is a listing of file names 32 of a plurality (7 in the example of Fig. 2) of files 34 located in the base computer mass storage device 14, and the primary directory 28 is, itself, stored in the base computer mass storage device 14. The file names 32 are represented in the example of Fig. 2 by the nomenclature Nn, where n is 1 through 7, in the example of Fig. 2, corresponding to the seven files 34 (Fl through F7) presently written into the base computer mass storage device 1 . One skilled in the ar will recognize that, in practice, the denominations Nl through N7 will actually be brief textual names and the files 34 will be comparatively lengthy data files, such as wor processor files or spreadsheet files. One skilled in the art will further recognize that the correspondence of file names 32 to files 34 within the base computer mass storage devic 14 is conventional in that there is a file name 32 in th primary directory 28 corresponding to each file 34 in th base computer mass storage device 14. It should further b noted that executable files (programs) , and the like, ar omitted from the discussion of the best presently know embodiment 10 of the invention, herein, as the best presentl known embodiment 10 of the invention is concerned with acces to data files. However, should it be desired, the presen inventive method could be extended to provide access t executable files. It will be evident in light of th discussion, hereinafter, that the content of two differen iterations of any particular file 34 may, or may not, b identical. Indeed, the detection of any such variations an the correction thereof is a primary purpose of the presen inventive method. In the best presently known embodiment 10 of th present invention, the secondary directory is placed in "virtual disk" (not shown) within the branch computer mas storage device 18. The "virtual disk" is a conceptual devic well known to those skilled in the use of the DOS operatin system. The "virtual disk" is a portion of the branc computer mass storage device 18 which is treated by DOS a thc'igh it were a physical drive distinct from the branc computer mass storage device, even though it is not. Throug the use of this conceptual mechanism, the best presentl known embodiment 10 of the present invention redirects directory inquiry to this "virtual disk" through the mean conventionally available in DOS. When a file name 32 i selected from the secondary directory 30, the best presently known embodiment 10 of the present invention then causes the appropriate action to be taken, as will be described hereinafter. By using the "virtual disk" concept, the inventive remote file access system 10 can more easily be used in conjunction with existing software which is written such that it recognizes that files may be stored within various disks or "virtual disks". It should be noted that, in the example of Fig. 2, all of the files 32 are shown within the unitary primary directory 28 while, in practice, subdirectories (not shown) may be contained within the base computer mass storage device 14. The example of Fig. 2 does not include subdirectories, as the invention is more clearly illustrated using the relatively simplistic memory map 26a of the example of Fig. 2. One skilled in the art will easily be able to apply the inventive methods described herein to more lengthy and/or complex directory structures, should that be required. The secondary directory 30, as depicted in the example of Fig. 2 is also a listing of file names 32, the content of which will be discussed hereinafter. The branch computer mass storage device 18 also contains a plurality (3 in the example of Fig. 2) of files 34. In addition to the files 34 and the primary directory 28 listing the file names 32, the base computer mass storage device also contains a primary version list 36, a remote file catalog 38 and a plurality (2 in the example of Fig. 2) of delta files 40. The primary version list 36 has a plurality (3 in the example of Fig. 2) of primary version indicators 42 corresponding to the files 34 located in the base computer mass storage device 14, the primary version indicators 42 being shown in the example of Fig. 2 having the form "VFx,y", wherein x is the number of the file 34 which is being referenced and y represents a particular iteration or "version" of that file 34. For example, a certain "VF2.y" primary version indicator 42.2 in the example of Fig. 2 indicates that a corresponding "F2" file 34.2 having a corresponding "N2" file name 32.2 is in a second iteration (y---) - as presently stored on the base computer mass storage device. Each time that the "F2" file 34.2 is "saved" to the base computer mass storage device 14, the corresponding "VF2.y" primary version indicator 42.2 would be updated, such that if the "F2" file 34.2 were to be again saved, as compared to the status illustrated in Fig. 2, the corresponding "VF2.y" primary version indicator 42.2 would then become "VF2.3", using the terminology of the example of Fig. 2. The remote file catalog 38 allows the base computer 14 (Fig- 1) to know which files 34 are presently being held within the branch computer mass storage device 18 and, further, which iteration of such files 34 is being hel within the branch computer mass storage device 18. In the example of Fig. 2, the remote file catalog 38 contains three remote file listings 44, indicating that version 1 of a certain "Fl" file 34.1, version 1 of a certain "F5" file 34.5 and version 1 of a certain "F6" file 34.6 are presentl within the branch computer mass storage device 18. It shoul be noted that the content of the remote file catalog 38 i based upon a last previous communication between the bas computer 12 and the branch computer 16. If any modificatio of the content of the branch computer mass storage device 1 has occurred since such last previous communication, then th content of the remote file catalog 38 will not reflect th actual current status of the branch computer mass storag device 18. It should be noted that the method of the presen invention is not limited to use with a single branch compute 16 (Fig. 1) , and that if more than one branch computer 16 i employed, then the remote file catalog 38 will have a remot file listing 44 corresponding to each file 34 contained i each of such branch computers 16, such that the base compute 12 (Fig. 1) can know which version of each file 34 i presently contained in each of the branch computers 16. It should further be noted that the inventors of th present invention acknowledge that "state" files, such as th remote file listings 44 within the remote file catalog 38 can be a potential source of problems. In general, when the base computer 12 is required to keep track of the content of the branch computer mass storage device 18, then potential for error is introduced which may, or perhaps may not, outweigh the advantages of that feature. Therefore, the inventors contemplate that variations of the present invention may be developed which minimize the use of such "state" files as the remote file listings 44, even though such modification might mean that some additional delta files 40 might have to be retained, as compared to those described as being retained in conjunction with the best presently known embodiment 10 of the present invention, particularly if there is more than a single branch computer 16 being used. Such a modification, as well as other such modifications to the best presently known embodiment 10 of the present invention, are considered to be changes only in details of the best presently known embodiment 10 of the present invention, and they do not vary in scope or purpose from the inventive aspects of the inventive remote file access system 10. In the best presently known embodiment 10 of the present invention, in addition to the files 34 and the secondary directory 30 listing of file names 32, the branch computer mass storage device 18 also contains a secondary version list 46 having therein a plurality (3 in the example of Fig. 2) of secondary version indicators 48 corresponding to the files 34 which are contained within the branch computer mass storage device 18. Therefore, if the content of the remote file catalog 38 within the base computer mass storage device 14 is current, the secondary version indicators 48 will be equal in number to, and will agree in substance as compared to, the remote file listings 44 in the base computer mass storage device 14. Turning now to a discussion of the steps of the present inventive " method for updating and accessing the files 34 within the best presently known embodiment 10 of the present invention, it can be seen in the example of Fig. 2 that a certain "F7" file 34.7 is present in the base computer mass storage device 14, as is a corresponding "N7" file name 32.7 and a corresponding "VF7.y" primary version indicator 42.7. In the example of Fig. 2, it should be noted that the "F7" file 34.7 is not, however, located within the branch computer mass storage device 18. This condition depicted in the example of the memory map 26a would exist when the "F7" file 34.7 has been created and entered into the base computer mass storage device 14 since a last previous communication between the branch computer 16 and the base computer 12. Given an instantaneous condition as depicted in the example of the memory map 26a, when a user wishes to use the branch computer 16, the branch computer modem 20 must be connected to the data link 24 such that the branch computer 16 can access the base computer 12 therethrough. As has been discussed previously, herein, the data link 24 may be conventional telephone lines, cellular telephone circuits, or the like. If the data link 24 to be used is a conventional telephone circuit, the user must physically connect the branch computer modem 22 to the data link 24 prior to the following described operations. In order to use the branch computer 16 the user, according to the present inventive method, is not required to perform operations differently than would be the case if the branch computer 16 were a stand alone computer having therein all data files required by the user. Instead, the inventive method is performed by means of the hardware/software combination of the best presently known embodiment 10 of the invention, as described herein. After being connected to the data link 24, the branch computer 16 is turned on according to the normal activation procedure for that device. One familiar with the operation of computers will recognize that the user can cause the secondary directory 30 (Fig. 2) , or a portion thereof, to be displayed on the branch computer 16 by any of several actions. For example, when operating in a DOS environment, the user can enter a directory ("DIR") command. Alternatively, if operating in a Wi .ndowsT*11 environment, the file names 32 can be displayed as icons on the branch computer 16. In either case, when running within an operations program, such as a word processor or a spreadsheet, the display may be regulated by that program such that only entries bearing a specified suffix are displayed and/or such that entries within a certain specified "path" are displayed, and the like. In any event, according to the present invention, the secondary directory 30 (or a portion thereof, as discussed above) will be displayed instead of the actual contents of the branch computer mass storage device 18. Now continuing a discussion of the operation of the inventive remote file access system 10 beginning at the condition depicted in the example of the memory map 26a, the following example will show the updating of the secondary directory 30 and retrieval of the "Fl" file 34.1, according to the present inventive method, resulting in a condition as will be depicted in Fig. 3. When the user first requires that the branch computer 16 (Fig. 1) display the secondary directory 30, the branch computer 16 will access the base computer 14 via the data link 24 to update the secondary directory 30 such that the secondary directory 30 will agree with the primary directory 28. Following this, a first updated memory map 26b will, as shown in Fig. 3, -include the "N7" file name 32.7 in the secondary directory 30, as well as in the primary directory 28. Therefore, the user is alerted to the fact that the "F7" file 34.7 has been added to the base computer mass storage device 14, and is available for use. While the inventive remote file access system 10, as described herein, provides for the updating of files 34 at the branch computer 16 with delta files 40 which are created at the base computer 12, it is within the scope of the present invention that this process could be made bidirectional, with delta files 40 being created at the branch computer 16 and transmitted to the base computer 12 for updating the files 34 of the base computer 12 according to changes which may have been made at the branch computer 16. Indeed, in such a configuration, the base computer 12 and the branch computer 16 could, if desired, be assigned an equal status, such that the base computer 12 and the branch computer 16 were not a "master" and "slave", as described herein. Continuing the discussion from the condition depicted by the first updated memory map 26b of Fig. 3, should the user then wish to use the "Fl" file 24.1, upon the user's calling for that file the branch computer 16 (Fig. 1) accesses the base computer 12 via the data link 24 for the purpose of assuring that the "Fl" file 34.1, as stored within the branch computer mass storage device 18 is current with the "Fl" file 34.1 as stored within the base computer mass storage device 14. Upon comparing the "VFl.y" primary version indicator 42.1 to a "VFl.y" secondary version indicator 48.1 it can be seen that the "Fl" file 34.1, as stored within the branch computer mass storage device 18 is, in fact, current with the "Fl" file 34.1 as stored within the base computer mass storage device 14, and no updating procedures are required. Therefore, the "Fl" file is retrieved from the branch computer mass storage device 18. Alternatively, again beginning at the condition depicted by the first updated memory map 26b of Fig. 3, should the user call for the "F5" file 34.5, the branch computer 16 would access the base computer 12 via the data link 24, this time for the purpose of assuring that the "F5" file 34.5, as stored within the branch computer mass storage device 18 is current with the "F5" file 34.5 as stored withi the base computer mass storage device 14. As can be seen i the first updated memory map 26b of Fig. 2, a "VF5.y" primar version indicator 42.5 indicates that a "version" (y=2) number 2 of the "F5" file 34.5 exists in the base compute mass storage device 14, while the "VF5.y" secondary versio indicator 48.5 indicates that a "version" (y=l) number 1 o the "F5" file 34.5 exists in the branch computer mass storag device 18. Therefore, the "F5" file 34.5, as stored withi the branch computer mass storage device 18, must be updated. It is within the scope of the present inventive method tha the entire "F5" file 34.5 might be transmitted from the bas computer 12 to the branch computer 16 and the "F5" file 34. (version number 1) previously stored in the branch computer mass storage device 18 replaced therewith. However, according to the best presently known embodiment 10 of the present invention, a "DF5" delta file 40.5 containing any differences between the versions of the "F5" file, as found in"the base computer mass storage device 14, is transmitted via the data link 24 to the branch computer 16, and the branch computer mass storage device 18, and the "DF5" file 40.5 is integrated into the "F5" file 34.5 within the branch computer 16 such that the "F5" file 34.5 within the branch computer mass storage device 18 is updated to conform to that same "F5" file 34.5 within the base computer mass storage device 14. In essentially all cases, the "DF" files 40 will be much smaller and easily transferred than the entire corresponding files 34. A second updated memory map 26c, Fig. 4, depicts the content of the mass storage devices 14 and 18 following these operations. In the second updated memory map 26c it can be seen that the former "VF5.y" secondary version indicator 48.5 (Fig. 3) has been updated to read "VF5.2" to indicate that a "version" (y=2) number 2 of the "F5" file 34.5 is now stored in the branch computer mass storage device 18. Furthermore, an "RF5.y" remote file listing has been updated from reading "RF5.1" (Fig. 3) to reading "RF5.2" in Fig. 4. This allows the base computer 12 to know that the "F5" file 34.5 has been updated in the branch computer mass storage device 18 to version number 2 thereof. The reason that a separate listing of versions of files 34 stored within the branch computer mass storage device 18 is kept within the remote file catalog 38 of the base computer mass storage device 14 is illustrated by the absence of a "DF5" file 40.5 (Fig. 3) within the second updated memory map 26c (Fig. 4) . It should be noted that, when the "version" indications (y of "VFx,y" and of "RFx,y") of corresponding primary version indicators 42 and remote file listings 44 agree, there is no reason to keep a delta file (DFx) 40 for the corresponding (Fx) file 34, and that delta file 40 is deleted. Similarly, if a file 34 is deleted from the branch computer mass storage device 18, there is no longer a need to keep a corresponding delta file 40 within the base computer mass storage device 14 because, should that file 34 be required at the branch computer 16, it will have to be transmitted in its entirety via the data link 24 (Fig. 1) , anyway. Alternatively, it is within the scope of the present inventive remote file access system 10 that the files 34 might not be erased as soon as they appear not to be needed, such that an older version of the file 34 could be restored, as required. The inventors contemplate that this could be accomplished by means of a "reverse delta file" (not shown) , which would be a version of a delta file 40 which carries changes required to restore a new version of a file 34 back to an older rsion. It should be noted that e examples of this paragraph are influenced by the fact tr.-it a single branch computer 16 is utilized in the best presently known embodiment 10 of the present invention. As discussed previously, herein, one skilled in the art will recognize that, should multiple branch computers 16 be utilized, then a more complicated memory map 26 including multiple remote file catalogs 38 (one for each such branch computer 16) and, when required, multiple delta files 40 (where different versions of a file are held at each of such branch computers 16 and at the base computer 12) , might be required. It should be noted that since, as previously discussed herein, it is presumed that in essentially all applications of the present inventive method, the capacity of the branch computer mass storage device 18 will be substantially less than that of the base computer mass storage device 14, it might well occur that any of the operations described herei as being part of the inventive method will cause the impor of files 34 (or other data portions) from the base compute mass storage device 14 to the branch computer mass storag device 18 which operation might exceed the available (unused) capacity of the branch computer mass storage device 18. Fo this reason, the inventive method causes whichever file 3 within the branch computer mass storage device 18 which ha been least recently used to be deleted, as required, from th branch computer mass storage device 18 to make available room within the branch computer mass storage device 18 for the operations described herein. Stated in other terms, the branch computer mass storage device 18 is acting as a "cache" for the content of the base computer mass storage device 14. This method is known as a "least recently used" caching algorithm. The present invention is certainly not limited to this particular algorithm, and any caching algorithm, presently known or yet to be invented, could be used in conjunction with the best presently known embodiment 10 of the present invention to perform the function of selecting files 34 to be deleted, as necessary, to create space in branch computer mass storage device 18. It should further be noted that, within the best presently known embodiment 10 of the present invention, conventional data compression is utilized for transmission of files 34 and delta files 44 via the data link 24 (Fig. 1) . It is anticipated by the inventors that data compression will be generally equally efficacious in the transmission of delta files 44 as compared to the transmission of the more conventional files 34. Returning now to an example beginning at the condition described by the memory map 26a, it may be noted that a "VF6.y" primary version indicator 42.6 indicates that a "version" number 3 (y=3) of the "F6" file 34.6 is resident within the base computer mass storage device 14, while a "version" number 1 (y=l) of the "F6" file 34.6 is stored within the branch computer mass storage device 18, as indicated by a "VF6.y" secondary version indicator 48.6. This condition is as might result from the "F6" file 34.6 having been revised twice since it was transmitted to the branch computer mass storage device 18. According to the present inventive method, then, a "DF6" file 40.6 within the base computer mass storage device 16 will contain all differences between version 1 of the "F6" file 34.6 and version 3 of that same file. It should be noted that at some intermediate stage there has been a version 2 of that same "F6" file 34.6 in existence and, at that time, the "DF6" file 40.6 would have contained differences between version 1 of the "F6" file 34.6 and version 2 of that same file. One skilled in the art will recognize that it is a relatively simple matter to "merge" successive iterations of the delta files 40 such that cumulative differences between successive iterations of the files 34 may be contained therein, as required. It should be noted that, as described herein, a new delta file 40 (or an updated version of an existing delta file 40, as required) is made each time a updated iteration of a file 34 is stored to the base computer mass storage device 16. It is recognized by the inventors that, depending upon the complexity of the files 34 and the processing speed of the base computer 12, this may be unduly time consuming in some applications, and it is within the scope of the present inventive method that alternative times and/or means for creation of the delta files 40 may be incorporated into the best presently known embodiment 10 of the present invention, as required by such peculiar circumstances. All of the above are only some of the examples of available embodiments of the present invention. Those skilled in the art will readily observe that numerous other modifications and alterations may be made without departing from the spirit and scope of the invention. Accordingly, th above disclosure is not intended as limiting and the appende claims are to be interpreted as encompassing the entire scop of the invention.
INDUSTRIAL APPLICABILITY
The remote file access system 10 is adapted to b widely used in conjunction with personal computers. Th predominant current usages are for applications wherein user has both an office computer and a secondary computer, the secondary computer usually being either a stationary hom computer system, or a portable computer. In such instances, it is customary for the user to want or need to use file which are primarily stored in the office computer when th user is away from the office. For example, the user may maintain a data base file of inventory in a portable computer when he or she is out taking orders. By means of the present invention, that file is automatically updated to the most recent iteration of the data base such that the user does not inadvertently sell something which has already been shown to have been removed from inventory in the office computer. Another example is that the user may wish to refine a document stored in a word processor file while at home over the weekend. Prior to the present invention, even if the user had previously gone to the trouble of storing that word processor file in his or her home computer, if that file had been modified at the office, then the version on the home computer had become outdated and the user was faced with the choice of either trying to rewrite the recent revisions or working with the outdated version. However, by means of the present invention, the user is assured not only that all files which are stored in his or her office computer are available at the home computer, but also that the most recent version of each file is being used when working at home. The inventive remote file access system 10 may be utilized in conjunction with either a single branch computer 12 or with a plurality of branch computers 12, as described herein. Therefore, the present invention is applicable to situations wherein a single user needs access to the files 34 or, alternatively, to situations wherein multiple users require access to the same set of files 34 from the base computer mass storage device 14. The present inventive remote file access system 10 may be adapted for use with any operating system, known or yet to be invented. Furthermore, the present inventive remote file access system 10 might even be incorporated into future revisions of operating systems. Since the remote file access system 10 of the present invention may be readily constructed to operate using conventional prior art hardware components, it is expected that it will be acceptable in the industry as a substitute for conventional remote data retrieval means. Further, since the inventive remote file access system 10 does not require that a user learn new operating procedures, it is expected that the present invention will be welcomed as a substantial aid to productivity by computer users. For these and other reasons, it is expected that the utility and industrial applicability of the invention will be both significant in scope and long-lasting in duration.

Claims

IN THE CLAIMS
1. An improved file access system, comprising: a base computer including a base mass storage device; a remote computer including a remote mass storage device; and communications means for bidirectional transfer of data between said base computer and said remote computer, wherein; the remote mass storage device and the base mass storage device each contain a directory of file names, the directory of file names being a listing of files available in said base mass storage device; the base mass storage device further contains each of the files which is listed in the directory of file names; the remote mass storage device contains a portion of the files which are listed in the directory of file names, such that; when a user selects a specific file for use in said remote computer, said remote computer determines if that specific file is held in the remote mass storage device and, if that specific file is not held in the remote mass storage device, then that specific file is retrieved, via the communications means, from the base mass storage device and stored within the remote mass storage device for use at said remote computer.
2. The improved file access system of claim 1, wherein:
if the required specific file is held in the remote mass storage device then said remote computer communicates with said base computer to determine if that specific file has been updated according to any modifications which may have been made to that specific file as that specific file is stored within the base mass storage device and, if that specific file has not been updated according to any modifications which may have been made to that specific file as that specific file is stored within the base mass storage device, then that specific file is updated to include any such modifications.
3. The improved file access system of claim 2, wherein: said base computer creates and stores in the base mass storage device a delta file, the delta file being a file having therein all differences between an earlier version of a specific file and a current version of that same file, such that updating of files is accomplished by modifying the files with the corresponding delta file.
4. The improved file access system of claim 1, wherein: said remote computer produces the directory displayed thereon such that the user may select from file names listed on that directory without regard for whether or not a corresponding file is located within the remote mass storage device.
5. The improved file access system of claim 1, wherein: said communications means includes; a plurality of modems, with a modem being associated with each of said base computer and said remote computer; and telephonic communcations means for interconnecting the modems.
6. In a computer system having a base computer, a remot computer, and communications means for allowing data trasfe between the base computer and the remote computer, th improvement comprising: a directory stored on a remote mass storage devic of the remote computer, said directory having therein list of file names, including; file names corresponding to files which are stored on the remote mass storage device; and file names corresponding to files which are stored on a base mass storage device of the base computer, and which are not stored on the remote mass storage device; said directory having the characteristic that it is a listing of all files available to the remote computer, whether such files are stored at the remote computer or at the base computer.
7. The improvement of claim 6, wherein: a file may be selected for use at the remote computer by selecting from the directory, whether such file is stored at the romte computer or at the base computer.
8. The improvement of claim 6, wherein: a file which is stored at the remote computer is updated to include any changes which have been made to that same file at the base computer, when that file is selected for use at the remote computer.
9. The improvement of claim 6, wherein: when a file is to be updated, a delta file is sent from the base computer to the remote computer, the delta file being a file containing information relating to any differences between a most recent version of that file and an earlier version of that file.
10. The improvement of claim 6, wherein: the directory of the remote computer is updated each time that communication is established between the remote computer and the base computer such that the directory of the remote computer contains all of the files which are stored at the base computer. ////
11. A method for accessing the files of a base computer from a remote computer, comprising: creating a directory listing of file names for th remote computer which includes files that are stored a the base computer but which are not stored at th remote computer; causing the remote computer to decide if required file is stored at the remote computer and, i it is not, causing the remote computer to establis communication with the base computer and to retriev that required file from the base computer.
12. The method of claim 11, and further including: when a required file is stored at the remot computer, causing the remote computer to establis communication with the base computer and to verify tha a first version of that required file which is store at the remote computer is identical to a second versio of that required file which is stored at the bas computer.
13. The method of claim 12, and further including: when the first version of the required file store at the remote computer is not identical to the secon version of the req ired file stored at the bas computer, causing the base computer to send to th remote computer information sufficient to update th first version of the required file to conform to th second version of the required file.
14. The method of claim 13, wherein: the information sufficient to update the firs version of the required file to conform to the secon version of the required file includes a delta file, th delta file being a file stored at the base compute which is the differences between the first version o the required file and the second version of th required file.
15. The method of claim 14, wherein: the delta file is erased after it is transmitted to the remote computer.
PCT/US1993/002652 1992-03-17 1993-03-11 Remote file access system WO1993019420A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US85295692A 1992-03-17 1992-03-17
US07/852,956 1992-03-17

Publications (1)

Publication Number Publication Date
WO1993019420A1 true WO1993019420A1 (en) 1993-09-30

Family

ID=25314647

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1993/002652 WO1993019420A1 (en) 1992-03-17 1993-03-11 Remote file access system

Country Status (2)

Country Link
AU (1) AU3929593A (en)
WO (1) WO1993019420A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5446888A (en) * 1994-01-14 1995-08-29 Pyne; Charles F. Remote file transfer method and apparatus
US5805809A (en) * 1995-04-26 1998-09-08 Shiva Corporation Installable performance accelerator for maintaining a local cache storing data residing on a server computer
US6076084A (en) * 1994-01-03 2000-06-13 Norton-Lambert Corp. File transfer method and apparatus utilizing delimiters
WO2003025760A1 (en) * 2001-09-20 2003-03-27 Cebridge Pty. Ltd. Data protection and retrival

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4891785A (en) * 1988-07-08 1990-01-02 Donohoo Theodore J Method for transferring data files between computers in a network response to generalized application program instructions
US4914583A (en) * 1988-04-13 1990-04-03 Motorola, Inc. Method of indicating processes resident within a cell of a data processing system
US5155847A (en) * 1988-08-03 1992-10-13 Minicom Data Corporation Method and apparatus for updating software at remote locations

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4914583A (en) * 1988-04-13 1990-04-03 Motorola, Inc. Method of indicating processes resident within a cell of a data processing system
US4891785A (en) * 1988-07-08 1990-01-02 Donohoo Theodore J Method for transferring data files between computers in a network response to generalized application program instructions
US5155847A (en) * 1988-08-03 1992-10-13 Minicom Data Corporation Method and apparatus for updating software at remote locations

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6076084A (en) * 1994-01-03 2000-06-13 Norton-Lambert Corp. File transfer method and apparatus utilizing delimiters
US5446888A (en) * 1994-01-14 1995-08-29 Pyne; Charles F. Remote file transfer method and apparatus
USRE39458E1 (en) 1994-01-14 2007-01-02 Laplink Software, Inc. Remote file transfer method and apparatus
US5805809A (en) * 1995-04-26 1998-09-08 Shiva Corporation Installable performance accelerator for maintaining a local cache storing data residing on a server computer
US5881229A (en) * 1995-04-26 1999-03-09 Shiva Corporation Method and product for enchancing performance of computer networks including shared storage objects
WO2003025760A1 (en) * 2001-09-20 2003-03-27 Cebridge Pty. Ltd. Data protection and retrival
GB2396723A (en) * 2001-09-20 2004-06-30 Pty Ltd Cebridge Data protection and retrival

Also Published As

Publication number Publication date
AU3929593A (en) 1993-10-21

Similar Documents

Publication Publication Date Title
JP4558945B2 (en) Database system having at least two host databases and a remote database and method for synchronizing such databases
EP1179770B1 (en) File system
US6032224A (en) Hierarchical performance system for managing a plurality of storage units with different access speeds
EP3002672B1 (en) Apparatus for increasing data storage capacity
US5893920A (en) System and method for cache management in mobile user file systems
EP1465072B1 (en) Computer system with distributed file system for managing distributed files
US6988137B2 (en) System and method for synchronizing objects between two devices
JP4437870B2 (en) Distributed transaction processing system and method
US5987497A (en) System and method for managing the configuration of distributed objects
US20010027457A1 (en) Method and apparatus for storing changes to file attributes without having to store an additional copy of the file contents
JP3347914B2 (en) Data management device
US6275897B1 (en) Remote cache utilization for mirrored mass storage subsystem
US7130871B2 (en) Method and apparatus for representing deleted data in a synchronizable database
JPH08509565A (en) Remote data mirroring
JP5241298B2 (en) System and method for supporting file search and file operations by indexing historical file names and locations
US6976030B2 (en) System and method for synchronizing distributed stored documents
US6029229A (en) Digital data storage subsystem including directory for efficiently providing formatting information for stored records
US5900009A (en) System and method for accessing records in a cache slot which are associated with a current owner storage element or at least one previous owner storage element
WO1993019420A1 (en) Remote file access system
US5802557A (en) System and method for caching information in a digital data storage subsystem
JP4249387B2 (en) Bi-directional processing system and method between desktop computer and multiple mobile devices
US6625614B1 (en) Implementation for efficient access of extended attribute data
JPH09297702A (en) Processor and system for information processing and their control method
US6594726B1 (en) Digital data storage subsystem including arrangement for efficiently controlling fast write storage operation
KR100324276B1 (en) method for data backup of DBMS in switching system

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AU CA JP KR

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FR GB GR IE IT LU MC NL PT SE

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: CA