EP1194841A2 - Verfahren und gerät zur umbenennung von offenen dateien - Google Patents

Verfahren und gerät zur umbenennung von offenen dateien

Info

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
Application number
EP00960105A
Other languages
English (en)
French (fr)
Inventor
William E. Sobel
Mark Kennedy
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Gen Digital Inc
Original Assignee
Symantec Corp
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 Corp filed Critical Symantec Corp
Publication of EP1194841A2 publication Critical patent/EP1194841A2/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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

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)
EP00960105A 1999-06-18 2000-06-15 Verfahren und gerät zur umbenennung von offenen dateien Withdrawn EP1194841A2 (de)

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)

* 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

Family Cites Families (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
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

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
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