EP1194841A2 - Verfahren und gerät zur umbenennung von offenen dateien - Google Patents
Verfahren und gerät zur umbenennung von offenen dateienInfo
- Publication number
- EP1194841A2 EP1194841A2 EP00960105A EP00960105A EP1194841A2 EP 1194841 A2 EP1194841 A2 EP 1194841A2 EP 00960105 A EP00960105 A EP 00960105A EP 00960105 A EP00960105 A EP 00960105A EP 1194841 A2 EP1194841 A2 EP 1194841A2
- Authority
- EP
- European Patent Office
- Prior art keywords
- file
- name
- directory
- application
- storage media
- Prior art date
- Legal status (The legal status 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 status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/176—Support for shared access to files; File sharing support
- G06F16/1767—Concurrency 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US336640 | 1994-11-09 | ||
| US33664099A | 1999-06-18 | 1999-06-18 | |
| PCT/US2000/040197 WO2000079384A2 (en) | 1999-06-18 | 2000-06-15 | Method and apparatus to rename open files |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| EP1194841A2 true EP1194841A2 (de) | 2002-04-10 |
Family
ID=23317011
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP00960105A Withdrawn EP1194841A2 (de) | 1999-06-18 | 2000-06-15 | Verfahren und gerät zur umbenennung von offenen dateien |
Country Status (3)
| Country | Link |
|---|---|
| EP (1) | EP1194841A2 (de) |
| CA (1) | CA2375517A1 (de) |
| WO (1) | WO2000079384A2 (de) |
Families Citing this family (2)
| 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 |
Family Cites Families (4)
| 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 |
| AU4466896A (en) * | 1994-12-13 | 1996-07-03 | Novell, Inc. | Method and apparatus to update or change a network directory |
| US5625804A (en) * | 1995-04-17 | 1997-04-29 | International Business Machines Corporation | Data conversion in a multiprocessing system usable while maintaining system operations |
| US6112253A (en) * | 1995-10-12 | 2000-08-29 | International Business Machines Corporation | Object-oriented method maintenance mechanism that does not require cessation of the computer system or its programs |
-
2000
- 2000-06-15 CA CA002375517A patent/CA2375517A1/en not_active Abandoned
- 2000-06-15 WO PCT/US2000/040197 patent/WO2000079384A2/en not_active Ceased
- 2000-06-15 EP EP00960105A patent/EP1194841A2/de not_active Withdrawn
Non-Patent Citations (1)
| Title |
|---|
| See references of WO0079384A2 * |
Also Published As
| Publication number | Publication date |
|---|---|
| CA2375517A1 (en) | 2000-12-28 |
| WO2000079384A2 (en) | 2000-12-28 |
| WO2000079384A3 (en) | 2001-12-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5924102A (en) | System and method for managing critical files | |
| US5778389A (en) | Method and system for synchronizing computer file directories | |
| US5603020A (en) | Method for detecting file names by informing the task of the identification of the directory antecedent to the file | |
| US6301710B1 (en) | System and method for creating a substitute registry when automatically installing an update program | |
| US6408434B1 (en) | System and method for using a substitute directory to automatically install an update program | |
| EP2040162B1 (de) | Systeme und Verfahren zur Direktkorrektur von Computerprogrammen | |
| JP4663878B2 (ja) | 記憶媒体内のファイルを管理する方法および装置 | |
| US5930513A (en) | Reference based software installation | |
| US7882065B2 (en) | Processing a request to update a file in a file system with update data | |
| US6751658B1 (en) | Providing a reliable operating system for clients of a net-booted environment | |
| US8688658B2 (en) | Management of time-variant data schemas in data warehouses | |
| EP0415346B1 (de) | Verfahren und System zum dynamischen Identifizieren von Datenträgern in einem Gestaltungsdateisystem | |
| US20040123285A1 (en) | Self-healing version and configuration model for an application server | |
| US7155713B1 (en) | Componentized operating system | |
| US7203868B1 (en) | Dynamic monitoring of resources using snapshots of system states | |
| CN100568176C (zh) | 用于文件版本控制管理的方法和系统 | |
| US8296322B2 (en) | User terminal device and method for controlling the same | |
| US20040098419A1 (en) | Method and apparatus for a migration assistant | |
| KR20040086757A (ko) | 네트워크 주변장치 클라이언트를 위한 주변장치 드라이버유지보수를 위한 방법, 시스템, 프레임워크 및 컴퓨터판독가능 매체 | |
| JPH0934755A (ja) | 記憶装置内容整理システムおよび記憶装置内容整理方法 | |
| US20080065703A1 (en) | Configurable views of archived data storage | |
| US20060155669A1 (en) | System and method for providing access to computer files across computer operating systems | |
| US7536687B1 (en) | System and method for automatic installation of embedded software packages | |
| US20060150182A1 (en) | Metadata-based application model for large applications | |
| US20050144617A1 (en) | Automatic configuration of reinstall information |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| 17P | Request for examination filed |
Effective date: 20020110 |
|
| AK | Designated contracting states |
Kind code of ref document: A2 Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE |
|
| AX | Request for extension of the european patent |
Free format text: AL;LT;LV;MK;RO;SI |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
| RBV | Designated contracting states (corrected) |
Designated state(s): DE FR GB |
|
| 18D | Application deemed to be withdrawn |
Effective date: 20040103 |