WO2000079384A2 - Method and apparatus to rename open files - Google Patents

Method and apparatus to rename open files Download PDF

Info

Publication number
WO2000079384A2
WO2000079384A2 PCT/US2000/040197 US0040197W WO0079384A2 WO 2000079384 A2 WO2000079384 A2 WO 2000079384A2 US 0040197 W US0040197 W US 0040197W WO 0079384 A2 WO0079384 A2 WO 0079384A2
Authority
WO
WIPO (PCT)
Prior art keywords
file
name
directory
application
storage media
Prior art date
Application number
PCT/US2000/040197
Other languages
French (fr)
Other versions
WO2000079384A3 (en
Inventor
William E. Sobel
Mark Kennedy
Original Assignee
Symantec Corporation
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 Symantec Corporation filed Critical Symantec Corporation
Priority to CA002375517A priority Critical patent/CA2375517A1/en
Priority to EP00960105A priority patent/EP1194841A2/en
Publication of WO2000079384A2 publication Critical patent/WO2000079384A2/en
Publication of WO2000079384A3 publication Critical patent/WO2000079384A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/176Support for shared access to files; File sharing support
    • G06F16/1767Concurrency control, e.g. optimistic or pessimistic approaches

Definitions

  • the present invention generally relates to upgrading or otherwise altering or updating files stored on a computer system. More particularly, the present invention is directed to the updating of a file on a computer system that is already being accessed by an application.
  • BACKGROUND Computer systems for instance personal computers (PCs), perform various tasks by running applications, i.e., computer programs. Once running, applications often need to access particular files stored on the computer system. Such files may be data files, program files, or other types of files. Once a file has been accessed by a particular application, no operations may be performed on the file itself. In other words, when the file is in use, the file may not be renamed, deleted, or otherwise updated. Typically when the need arises to upgrade, install, deinstall, change, or otherwise update a file, a new updated version of the file with a temporary name is first created.
  • a method and system in accordance with the invention can update a file even while the file is being accessed by an application and will not require a reboot for subsequent accesses by other applications.
  • a file is stored on a storage media and has a file name listed in a directory.
  • An updated version of that file is subsequently provided on the storage media.
  • a listing for the updated file is added to the directory under a temporary name.
  • the original file name listed in the directory is changed to a different name, and the temporary name is changed to the former name of the original file.
  • Figure 2 illustrates, in generalized block diagram format, the accessing of files by an application
  • Figure 2a illustrates a directory structure as modified conventionally following a reboot
  • Figure 3 is a flow diagram representing the steps taken to access a file by an application
  • Figure 4 is a flow diagram illustrating the steps conventionally taken in updating a particular file
  • Figure 5 illustrates, in generalized block diagram format, the end result of a system and method in accordance with the invention
  • Figures 5A-5C illustrates the changes made to a directory structure in accordance with the invention.
  • Figure 6 is a flow diagram illustrating the steps taken in accordance with the invention.
  • a method and system in accordance with the invention allows a file to be upgraded, altered, or otherwise updated without requiring the conventional reboot and can be done even if that file is being accessed by an application. Details of an embodiment of the invention are set forth below.
  • Fig. 1 illustrates a computer system 100 that is used in one embodiment of the invention.
  • the computer system 100 includes a central processing unit (CPU) 102, a memory unit 104, such as RAM, and non- volatile memory devices such as a bulk storage device 106, e.g. , a hard drive, a solid state device 108, e.g. , ROM, and a portable media drive 110, e.g. , a floppy disk drive or a CD-ROM drive.
  • the portable media may comprise, for example, a CD, a floppy disk, or an optical disk.
  • the applications and files described herein may reside in whole or in part in any of the storage units 104-114 or a wide variety of other computer- readable storage media.
  • storage umts 104-114 are generically referred to herein as "storage media.”
  • the CPU 102 communicates with the bulk storage device 106, the solid state media 108, the portable media drive 110, via a host bus 116.
  • the CPU 102 communicates with peripheral devices such as devices 106-110 through one or more of a variety of input/output interface circuitry, including bus bridge circuits, that enable communication between the host bus 116 and a variety of standardized peripheral buses.
  • Fig. 1 is illustrative only and is not intended to limit the invention to the illustrated structure.
  • the computer system 100 is generally controlled by an operating system, for instance Windows 95, Windows 98, or other Windows version (generally referred to herein as Windows 9x) produced by Microsoft
  • an operating system for instance Windows 95, Windows 98, or other Windows version (generally referred to herein as Windows 9x) produced by Microsoft
  • This file system structure generally includes a directory (DIR) structure and a file allocation table (FAT). Only the directory structure is important for purposes of the present invention. Therefore, the FAT will not be described further.
  • DIR directory
  • FAT file allocation table
  • Storage media are divided into clusters. Although clusters are often comprised of one or more sectors, the minimum storage unit is often considered to be a cluster. Each file, whether it be an application, a data file, or other file type, will be stored on one or more storage media, and will be located in one or more clusters.
  • Fig. 2 illustrates storage media 210 having a number of clusters 212. Although only twenty clusters are illustrated, it is to be understood by those of skill in the art that any given storage media may have thousands of such clusters.
  • an operating system 202 maintains a directory structure (DIR) 204.
  • the directory structure includes a list of files, for instance file A, file B, file C, and file D. Correlated with each file name is a starting cluster, identifying where in the storage media 210 the file begins. As shown in the example of Fig. 2, file A begins at cluster 1 , while file B begins at cluster 5.
  • Intervening clusters e.g., clusters 2-4, may include parts of the same file, e.g. , file A, or may include parts of other files as will be understood by those skilled in the art.
  • an application 216 when an application 216 requires access to a file, it refers to the directory structure 204 to find the starting cluster of the file. Referring to Figs. 2 and 3, if application 216 requires access to file B, it looks up file B in directory 204 to find file B's starting cluster, cluster 5, step 302. In step 304, application 216 then stores or "caches" the starting cluster for file B, for instance in register 218. Once application 216 has obtained the starting cluster for file B, application 216 will access file B directly in the storage media, step 306, and has no need to look up file B again in directory 204 as long as application 216 is running. Any other application 220 also needing access to file B will follow the same process.
  • a new updated version of a file e.g. , new file B
  • new file B is added at cluster 18 in storage media 210.
  • an entry is made in an operating system file, e.g. , wininit.ini 206.
  • the entry instructs the operating system to modify the directory structure, replacing the entry for the old file, file B, with an entry for the new file B at reboot time.
  • Wininit.ini is processed by another file, win.com, prior to booting into protective mode windows as is known in the art.
  • the old file B is deleted and the directory is modified accordingly.
  • FIG. 2 illustrates the directory 204 and the storage media 210 after the new, updated file has been added to storage media 210 but before the system is rebooted.
  • Fig. 2A illustrates the directory 204 after reboot.
  • the old file B has been deleted, but the new file B has been added, showing the starting cluster at cluster 18, and named "B. "
  • All files requiring access to file B will look up file B in the directory 204 and obtain the starting cluster 18 and then access the updated file B, as shown by the dashed lines.
  • an application will still access the directory and follow the steps described with reference to Figs. 2 and 3.
  • application 216 will access directory structure 204 and retrieve a start cluster for file B, step 302.
  • start cluster e.g. , cluster 5
  • application 216 Upon retrieving the start cluster, e.g. , cluster 5, application 216 will store the starting cluster value for file B, and application 216 will access the file directly from storage media 210 without ever referring back to directory structure 204 again.
  • a new, updated version of a file B is added to the storage media 210.
  • the directory structure 204 is altered directly.
  • the new version of file B is added to the directory under a temporary name, e.g. , TEMP B, with its starting cluster, e.g., cluster 18.
  • the old file is renamed in the directory, for instance to "OLDB. "
  • the new file is renamed in the directory, giving it the former name of the old file, e.g. , file "B.
  • an entry is made in wininit.ini to remove the entry for the old file from the directory on the next reboot, whenever that occurs.
  • Figs. 5A-5C show the evolution of the directory structure.
  • Fig. 5A shows the directory structure initially, before any file updates, showing original file B starting at cluster 5.
  • Fig. 5B after the updated version of the file has been added to the storage media, the directory structure is altered to show that the new file has been added, entitled "TEMP B," indicating that the new file B has been temporarily named.
  • Fig. 5C the original file B is renamed "OLDB" while the new file B is renamed "B. "
  • the file names provided herein are exemplary only.
  • the operating system In response to a lock request, the operating system "forgets" the information it has stored in the SFT about all files currently open from the storage media except the filenames, since any modification to the storage media could affect the information. When the lock is released, the operating system looks up information correlating to the open files for the SFT, thereby "relearning" the information.
  • the operating system will look up information for file "B", but will obtain information for the new updated file "B” rather than the old file B since the names have been changed, possibly causing a system crash. Therefore, in one embodiment of the invention at the time of performing steps associated with Figs. 5A-5C, the SFT structure (or other corresponding data structure) is also modified, renaming file "B" to
  • Fig. 5 which shows the directory structure after an update in accordance with the invention has occurred
  • application 216 which has already stored the starting cluster of the old file B will continue to access the old file B as if no changes had occurred. All other applications subsequently seeking access to File B, e.g, application 220, will look up File B in the directory structure and be directed to the starting cluster for the new, updated version of file B, cluster 18. Like application 216, application 220 will store the starting cluster for the new, updated version of file B and access the new file B without again looking up file B in the directory structure 204.
  • the application that is already accessing a file is unaffected by the update process since it already has the information required to access the designated file.
  • a system and method in accordance with the invention allows for the upgrade, installation, deinstallation, or other updating of files without requiring any applications to be shut down and without requiring a reboot of the system.
  • system and method in accordance with the invention may be implemented in hardware, software, or firmware.
  • an embodiment in accordance with the invention may form a stand-alone application program, for instance, a utility program shown in Fig. 5 at 222, or may be included as part of other applications, e.g., in a setup or installation routine. Therefore, an embodiment of the invention may be included on any of the storage media

Abstract

A file stored on a storage media can be updated even while it is being accessed by an application and without requiring a reboot. In one embodiment of the invention a file stored on a storage media, having a file name listed in a directory, is updated by placing an updated version of the file on the storage media. A listing for the updated version of the file is added to the directory under a temporary name. The original file name listed in the directory is changed to a different name, and the temporary name is changed to the former name of the original file.

Description

METHOD OF APPARATUS TO RENAME OPEN FILES
BACKGROUND OF THE INVENTION
1. Field of Invention
The present invention generally relates to upgrading or otherwise altering or updating files stored on a computer system. More particularly, the present invention is directed to the updating of a file on a computer system that is already being accessed by an application.
BACKGROUND Computer systems, for instance personal computers (PCs), perform various tasks by running applications, i.e., computer programs. Once running, applications often need to access particular files stored on the computer system. Such files may be data files, program files, or other types of files. Once a file has been accessed by a particular application, no operations may be performed on the file itself. In other words, when the file is in use, the file may not be renamed, deleted, or otherwise updated. Typically when the need arises to upgrade, install, deinstall, change, or otherwise update a file, a new updated version of the file with a temporary name is first created. For instance, assume an original file is named "FILE, " and a new updated version of the file is placed on the system with the temporary name "NEWFILE. " After NEWFILE has been created, then the system is rebooted. At the time of reboot, the original file, FLLE, is deleted and the new file is renamed to have the name of the deleted file, i.e., NEWFILE is renamed FLLE. Hence, no application has access to a file at the time that it is being updated. It is not always desirable or even possible to reboot a machine at the time of updating a file. For instance, many computer systems perform critical functions that need to be running uninterrupted at all times. But even if a network process could monitor such a computer system to determine when it is idle, and then perform updates automatically, including a computer system reboot, such an unattended reboot could be disastrous, and any number of things could go wrong, including failure of the computer system to resume operation. In other words, a reboot generally demands a human presence, often simply for minor updates to a single application in the computer system.
SUMMARY In order to avoid the drawbacks of conventional systems described above, a method and system in accordance with the invention is disclosed. Specifically, a method and system in accordance with the invention can update a file even while the file is being accessed by an application and will not require a reboot for subsequent accesses by other applications.
In one embodiment of the invention a file is stored on a storage media and has a file name listed in a directory. An updated version of that file is subsequently provided on the storage media. In this embodiment, a listing for the updated file is added to the directory under a temporary name. The original file name listed in the directory is changed to a different name, and the temporary name is changed to the former name of the original file.
In this manner, because applications only access a directory structure once for each file, applications accessing the file prior to the update will continue to access the older version of the file. Applications requesting access to a file subsequent to the update will access the updated version of the file. No reboot is necessary and applications continue to operate undisturbed. BRIEF DESCRIPTION OF THE DRAWINGS The present invention is described with respect to particular exemplary embodiments thereof and reference is accordingly made to the drawings in which: Figure 1 is a generalized block diagram of a computer system;
Figure 2 illustrates, in generalized block diagram format, the accessing of files by an application;
Figure 2a illustrates a directory structure as modified conventionally following a reboot; Figure 3 is a flow diagram representing the steps taken to access a file by an application;
Figure 4 is a flow diagram illustrating the steps conventionally taken in updating a particular file;
Figure 5 illustrates, in generalized block diagram format, the end result of a system and method in accordance with the invention;
Figures 5A-5C illustrates the changes made to a directory structure in accordance with the invention; and
Figure 6 is a flow diagram illustrating the steps taken in accordance with the invention.
DETAILED DESCRIPTION A method and system in accordance with the invention allows a file to be upgraded, altered, or otherwise updated without requiring the conventional reboot and can be done even if that file is being accessed by an application. Details of an embodiment of the invention are set forth below.
Fig. 1 illustrates a computer system 100 that is used in one embodiment of the invention. The computer system 100 includes a central processing unit (CPU) 102, a memory unit 104, such as RAM, and non- volatile memory devices such as a bulk storage device 106, e.g. , a hard drive, a solid state device 108, e.g. , ROM, and a portable media drive 110, e.g. , a floppy disk drive or a CD-ROM drive. The portable media may comprise, for example, a CD, a floppy disk, or an optical disk. The applications and files described herein may reside in whole or in part in any of the storage units 104-114 or a wide variety of other computer- readable storage media. Hence, storage umts 104-114 are generically referred to herein as "storage media."
In one embodiment, the CPU 102 communicates with the bulk storage device 106, the solid state media 108, the portable media drive 110, via a host bus 116. However, in another embodiment of the invention, the CPU 102, communicates with peripheral devices such as devices 106-110 through one or more of a variety of input/output interface circuitry, including bus bridge circuits, that enable communication between the host bus 116 and a variety of standardized peripheral buses. Thus, it is to be understood that Fig. 1 is illustrative only and is not intended to limit the invention to the illustrated structure.
The computer system 100 is generally controlled by an operating system, for instance Windows 95, Windows 98, or other Windows version (generally referred to herein as Windows 9x) produced by Microsoft
Corporation of Redmond, Washington. The operating system maintains a file system structure to enable location of files stored on the various storage devices 104-110. This file system structure generally includes a directory (DIR) structure and a file allocation table (FAT). Only the directory structure is important for purposes of the present invention. Therefore, the FAT will not be described further.
Storage media, particularly floppy disks and hard disk drives, are divided into clusters. Although clusters are often comprised of one or more sectors, the minimum storage unit is often considered to be a cluster. Each file, whether it be an application, a data file, or other file type, will be stored on one or more storage media, and will be located in one or more clusters. Fig. 2 illustrates storage media 210 having a number of clusters 212. Although only twenty clusters are illustrated, it is to be understood by those of skill in the art that any given storage media may have thousands of such clusters.
Referring to Fig. 2, to keep track of files, an operating system 202 maintains a directory structure (DIR) 204. The directory structure includes a list of files, for instance file A, file B, file C, and file D. Correlated with each file name is a starting cluster, identifying where in the storage media 210 the file begins. As shown in the example of Fig. 2, file A begins at cluster 1 , while file B begins at cluster 5. Intervening clusters, e.g., clusters 2-4, may include parts of the same file, e.g. , file A, or may include parts of other files as will be understood by those skilled in the art.
Currently in a Windows 9x operating system, when an application 216 requires access to a file, it refers to the directory structure 204 to find the starting cluster of the file. Referring to Figs. 2 and 3, if application 216 requires access to file B, it looks up file B in directory 204 to find file B's starting cluster, cluster 5, step 302. In step 304, application 216 then stores or "caches" the starting cluster for file B, for instance in register 218. Once application 216 has obtained the starting cluster for file B, application 216 will access file B directly in the storage media, step 306, and has no need to look up file B again in directory 204 as long as application 216 is running. Any other application 220 also needing access to file B will follow the same process.
In Windows 9x systems, in order to update a file, including upgrading, mstalling, deinstalling, or otherwise altering a file, the following steps are taken. Referring to Figs. 2 and 4, a new updated version of a file, e.g. , new file B, is added to the storage media 210, step 402. As shown in Fig. 2, new file B is added at cluster 18 in storage media 210. In step 404, an entry is made in an operating system file, e.g. , wininit.ini 206. The entry instructs the operating system to modify the directory structure, replacing the entry for the old file, file B, with an entry for the new file B at reboot time. Wininit.ini is processed by another file, win.com, prior to booting into protective mode windows as is known in the art. At reboot, in accordance with the instructions placed in wininit.ini, the old file B is deleted and the directory is modified accordingly.
For instance, Fig. 2, illustrates the directory 204 and the storage media 210 after the new, updated file has been added to storage media 210 but before the system is rebooted. Fig. 2A illustrates the directory 204 after reboot. In Fig. 2A, the old file B has been deleted, but the new file B has been added, showing the starting cluster at cluster 18, and named "B. " After reboot, all files requiring access to file B, will look up file B in the directory 204 and obtain the starting cluster 18 and then access the updated file B, as shown by the dashed lines.
Thus, in accordance with the conventional schemes, files cannot be accessed and updated simultaneously in the current Windows 9x scheme. Nonetheless, in accordance with the invention, a system and method is disclosed that allows a file to be updated even while it is being accessed.
In accordance with the invention, an application will still access the directory and follow the steps described with reference to Figs. 2 and 3. In other words, application 216 will access directory structure 204 and retrieve a start cluster for file B, step 302. Upon retrieving the start cluster, e.g. , cluster 5, application 216 will store the starting cluster value for file B, and application 216 will access the file directly from storage media 210 without ever referring back to directory structure 204 again.
Now referring to Figs. 5 and 6, if it is desired to upgrade or otherwise change file B (generally referred to herein as "updating" file B), a new, updated version of a file B is added to the storage media 210. In step 602 the directory structure 204 is altered directly. The new version of file B is added to the directory under a temporary name, e.g. , TEMP B, with its starting cluster, e.g., cluster 18. In step 604, the old file is renamed in the directory, for instance to "OLDB. " In step 606, the new file is renamed in the directory, giving it the former name of the old file, e.g. , file "B. " Finally, in step 608, an entry is made in wininit.ini to remove the entry for the old file from the directory on the next reboot, whenever that occurs.
Figs. 5A-5C show the evolution of the directory structure. Fig. 5A shows the directory structure initially, before any file updates, showing original file B starting at cluster 5. In Fig. 5B, after the updated version of the file has been added to the storage media, the directory structure is altered to show that the new file has been added, entitled "TEMP B," indicating that the new file B has been temporarily named. And finally in Fig. 5C, the original file B is renamed "OLDB" while the new file B is renamed "B. " As will be understood by those of skill in the art, the file names provided herein are exemplary only.
Nonetheless, as will be known to those of skill in the art, when a modification is to be made directly to the data stored on a storage media, without the assistance of the operating system, a "lock" is requested for the storage media. Prior to the lock request, the operating system stores information about each file open from the storage media in an internal data structure that is somewhat like a cache, storing such information as the filename, the start cluster, cluster chains and other information that allows for ready access to the file. In Windows 9x, such a data structure is a System File Table (SFT), also sometimes referred to as an Open File Table (OFT). In response to a lock request, the operating system "forgets" the information it has stored in the SFT about all files currently open from the storage media except the filenames, since any modification to the storage media could affect the information. When the lock is released, the operating system looks up information correlating to the open files for the SFT, thereby "relearning" the information.
If left alone, however, when the lock is released after performing the steps described with respect to Figs. 5 and 6, the operating system will look up information for file "B", but will obtain information for the new updated file "B" rather than the old file B since the names have been changed, possibly causing a system crash. Therefore, in one embodiment of the invention at the time of performing steps associated with Figs. 5A-5C, the SFT structure (or other corresponding data structure) is also modified, renaming file "B" to
"OLD B" in the SFT. In this manner, when the operating system attempts to "relearn" information about the file, it will seek information about the file that was previously opened, e.g., OLD B.
As shown in Fig. 5, which shows the directory structure after an update in accordance with the invention has occurred, application 216 which has already stored the starting cluster of the old file B will continue to access the old file B as if no changes had occurred. All other applications subsequently seeking access to File B, e.g, application 220, will look up File B in the directory structure and be directed to the starting cluster for the new, updated version of file B, cluster 18. Like application 216, application 220 will store the starting cluster for the new, updated version of file B and access the new file B without again looking up file B in the directory structure 204. Hence, in accordance with the invention, the application that is already accessing a file is unaffected by the update process since it already has the information required to access the designated file. Yet, accesses by other applications subsequent to the update process will be directed to the new file. Therefore, a system and method in accordance with the invention allows for the upgrade, installation, deinstallation, or other updating of files without requiring any applications to be shut down and without requiring a reboot of the system.
It is to be understood by those of skill in the art, that the system and method in accordance with the invention may be implemented in hardware, software, or firmware. When implemented in software, an embodiment in accordance with the invention may form a stand-alone application program, for instance, a utility program shown in Fig. 5 at 222, or may be included as part of other applications, e.g., in a setup or installation routine. Therefore, an embodiment of the invention may be included on any of the storage media
104-114 illustrated in Fig. 1 or any other type of storage media.
It is to be further understood that although Windows 9x is used herein as an exemplary operating system, a method and system in accordance with the invention could be used with other operating systems. It should be understood that the particular embodiments described above are only illustrative of the principles of the present invention, and various modifications could be made by those skilled in the art without departing from the scope and spirit of the invention. Thus, the scope of the present invention is limited only by the claims that follow.

Claims

What Is Claimed Is:
1. In a computer system, a method for updating a file, comprising the steps of: accessing a file by an application; updating said file while said file is being accessed by said application without interfering with said application and without requiring a reboot.
2. The method of claim 1 , wherein: updating includes allowing two versions of said file to coexist simultaneously.
3. The method of claim 1, wherein: updating includes modifying a directory that lists said file.
4. The method of claim 3, wherein said file is stored in a storage media and has a file name, and wherein: accessing includes looking up said file name in said directory; updating further includes providing an updated version of said file in said storage media; and modifying includes changing said file name in said directory to a different name and adding said file name to said directory with a pointer to said updated version of said file.
5. In a computer system, a method for updating a file stored on a storage media, said file having a file name listed in a directory, comprising:
(a) providing an updated version of said file in said storage media;
(b) adding a listing for said updated version of said file to said directory under a temporary name; (c) changing said file name to a different file name;
(d) changing said temporary name to said file name.
6. The method of claim 5, wherein (a)-(d) occur after a step of accessing said file by an application, said step of accessing said file including looking up said file name in said directory.
7. The method of claim 6, wherein said file and said updated version of said file coexist simultaneously on said storage media, and further comprising: continuing to access said file by said application; accessing said updated version of said file by a second application, including looking up said file name in said directory.
8. A computer system, comprising: storage media means for storing files; update means for updating at least a first one of said files even while said first one of said files is being accessed by an application and without interfering with said application and without requiring a reboot.
9. The computer system of claim 8, further including: directory means for keeping track of said files; and wherein said update means includes: means for providing an updated version of said file in said storage media means; means for adding a listing for said updated version of said file to said directory means under a temporary name; means for changing said file name to a different file name; and means for changing said temporary name to said file name.
10. A computer system, comprising: an operating system; a directory maintained by said operating system; a storage media, including at least one file stored therein; a file update application, in communication with said storage media and said directory, designed to update said file without requiring a reboot of said computer system.
11. The computer system of claim 10, wherein said at least one file has a file name, and wherein said file update application includes: instructions for adding an updated version of said file to said directory under a temporary name; instructions for changing said file name to a different file name; instructions for changing said temporary name to said file name.
12. The computer system of claim 10, wherein said file update application is a stand-alone update utility.
13. The computer system of claim 10, wherein said file update application is part of a larger application.
14. A computer readable medium having a set of instructions stored therein, which when executed by a computer causes the computer to update a file stored in a storage media, said file having a file name listed in a directory, by performing the steps of:
(a) providing an updated version of said file in said storage media;
(b) adding a listing for said updated version of said file to said directory under a temporary name; (c) changing said file name to a different file name;
(d) changing said temporary name to said file name.
15. The computer readable medium of claim 14, wherein instructions for performing said steps (a)-(d) are executed after an application has accessed said file, including looking up said file name in said directory.
PCT/US2000/040197 1999-06-18 2000-06-15 Method and apparatus to rename open files WO2000079384A2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CA002375517A CA2375517A1 (en) 1999-06-18 2000-06-15 Method and apparatus to rename open files
EP00960105A EP1194841A2 (en) 1999-06-18 2000-06-15 Method and apparatus to rename open files

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US33664099A 1999-06-18 1999-06-18
US09/336,640 1999-06-18

Publications (2)

Publication Number Publication Date
WO2000079384A2 true WO2000079384A2 (en) 2000-12-28
WO2000079384A3 WO2000079384A3 (en) 2001-12-06

Family

ID=23317011

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2000/040197 WO2000079384A2 (en) 1999-06-18 2000-06-15 Method and apparatus to rename open files

Country Status (3)

Country Link
EP (1) EP1194841A2 (en)
CA (1) CA2375517A1 (en)
WO (1) WO2000079384A2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6560614B1 (en) * 1999-11-12 2003-05-06 Xosoft Inc. Nonintrusive update of files
US8619054B2 (en) 2006-05-31 2013-12-31 Atmel Corporation Two dimensional position sensor

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5513351A (en) * 1994-07-28 1996-04-30 International Business Machines Corporation Protecting a system during system maintenance by usage of temporary filenames in an alias table
WO1996018947A1 (en) * 1994-12-13 1996-06-20 Novell, Inc. Method and apparatus to update or change a network directory
EP0738980A2 (en) * 1995-04-17 1996-10-23 International Business Machines Corporation Data conversion in a multiprocessing system usable while maintaining system operations
WO1997014091A1 (en) * 1995-10-12 1997-04-17 International Business Machines Corporation Object-oriented method maintenance mechanism that does not require cessation of the computer system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5513351A (en) * 1994-07-28 1996-04-30 International Business Machines Corporation Protecting a system during system maintenance by usage of temporary filenames in an alias table
WO1996018947A1 (en) * 1994-12-13 1996-06-20 Novell, Inc. Method and apparatus to update or change a network directory
EP0738980A2 (en) * 1995-04-17 1996-10-23 International Business Machines Corporation Data conversion in a multiprocessing system usable while maintaining system operations
WO1997014091A1 (en) * 1995-10-12 1997-04-17 International Business Machines Corporation Object-oriented method maintenance mechanism that does not require cessation of the computer system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6560614B1 (en) * 1999-11-12 2003-05-06 Xosoft Inc. Nonintrusive update of files
US8619054B2 (en) 2006-05-31 2013-12-31 Atmel Corporation Two dimensional position sensor
US9927476B2 (en) 2006-05-31 2018-03-27 Atmel Corporation Two dimensional position sensor

Also Published As

Publication number Publication date
EP1194841A2 (en) 2002-04-10
CA2375517A1 (en) 2000-12-28
WO2000079384A3 (en) 2001-12-06

Similar Documents

Publication Publication Date Title
US7185071B2 (en) Self-healing version and configuration model for an application server
US5778389A (en) Method and system for synchronizing computer file directories
US5924102A (en) System and method for managing critical files
US6301710B1 (en) System and method for creating a substitute registry when automatically installing an update program
US5603020A (en) Method for detecting file names by informing the task of the identification of the directory antecedent to the file
EP2040162B1 (en) Systems and methods for patching computer programs
US6408434B1 (en) System and method for using a substitute directory to automatically install an update program
JP4663878B2 (en) Method and apparatus for managing files in a storage medium
EP0415346B1 (en) Method and system for dynamic volume tracking in an installable file system
US6751658B1 (en) Providing a reliable operating system for clients of a net-booted environment
US5930513A (en) Reference based software installation
US6915420B2 (en) Method for creating and protecting a back-up operating system within existing storage that is not hidden during operation
US8688658B2 (en) Management of time-variant data schemas in data warehouses
US20060155669A1 (en) System and method for providing access to computer files across computer operating systems
US7886270B2 (en) Methods, systems, and computer program products for file version control management
US20040098419A1 (en) Method and apparatus for a migration assistant
JP2003528391A (en) Method and apparatus for storing changes to file attributes without having to store additional copies of file contents
KR20040086757A (en) Peripheral device driver maintenance scheme for networked peripheral device clients
US7203868B1 (en) Dynamic monitoring of resources using snapshots of system states
JPH0934755A (en) System and method for arranging storage device contents
US7536687B1 (en) System and method for automatic installation of embedded software packages
WO2008103205A1 (en) Configurable views of archived data storage
US20050144617A1 (en) Automatic configuration of reinstall information
US6336215B1 (en) Apparatus and method for on-line code only replacement of a running program using checkpoints
KR100637932B1 (en) Method for unmounting of filesystem

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): CA

AL Designated countries for regional patents

Kind code of ref document: A2

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

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
AK Designated states

Kind code of ref document: A3

Designated state(s): CA

AL Designated countries for regional patents

Kind code of ref document: A3

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

ENP Entry into the national phase in:

Ref country code: CA

Ref document number: 2375517

Kind code of ref document: A

Format of ref document f/p: F

Ref document number: 2375517

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: 2000960105

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2000960105

Country of ref document: EP

WWW Wipo information: withdrawn in national office

Ref document number: 2000960105

Country of ref document: EP