WO2012026001A1 - 情報処理装置およびプログラム管理方法 - Google Patents

情報処理装置およびプログラム管理方法 Download PDF

Info

Publication number
WO2012026001A1
WO2012026001A1 PCT/JP2010/064350 JP2010064350W WO2012026001A1 WO 2012026001 A1 WO2012026001 A1 WO 2012026001A1 JP 2010064350 W JP2010064350 W JP 2010064350W WO 2012026001 A1 WO2012026001 A1 WO 2012026001A1
Authority
WO
WIPO (PCT)
Prior art keywords
file
program
information
inexecutable
management
Prior art date
Application number
PCT/JP2010/064350
Other languages
English (en)
French (fr)
Inventor
廣志 吉田
Original Assignee
富士通株式会社
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 富士通株式会社 filed Critical 富士通株式会社
Priority to PCT/JP2010/064350 priority Critical patent/WO2012026001A1/ja
Publication of WO2012026001A1 publication Critical patent/WO2012026001A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Definitions

  • the present invention relates to an information processing apparatus and a program management method.
  • a computer executes an OS (Operating System) program and executes various application programs on the OS program.
  • OS Operating System
  • the process of making an application program operable on an OS program is often performed according to a program called an installer.
  • installation data composed of compressed or uncompressed binary data is arranged in a predetermined directory on the computer.
  • the computer that has executed the installer extracts files such as an execution file of the application program from the installation data, and expands them in a storage area in the computer.
  • the computer extracts setting information necessary for starting the application program from the installation data, and writes it in a setting information storage area managed by the OS program, such as a registry.
  • the process of deleting an installed application program from a computer is often performed according to a program called an uninstaller.
  • the computer that has executed the uninstaller deletes unnecessary files such as application program execution files from the computer, and deletes at least part of the setting information set by the installer from the area managed by the OS program.
  • an application program that is not installed in the computer in advance is provided to a computer that performs installation from an external medium such as an optical disk or from an external computer through a network.
  • computers are often sold with installation data stored in advance in an internal storage device so that the installation data can be installed as necessary. In this case, it is possible to save the trouble of fetching installation data of a newly installed application program from an external medium or an external computer.
  • JP-A-6-44109 Japanese Patent Laid-Open No. 10-78865 JP 2004-341667 A
  • each of the installation and deletion processes of the application program includes many processing procedures, so that there is a problem that the processing time is long. For this reason, the user cannot easily add an application program to be used to the computer to make it operable, or make it impossible to make an unnecessary application program inoperable.
  • the present invention has been made in view of such problems, and an object of the present invention is to provide an information processing apparatus and method that can make a program executable in a short time.
  • the information processing apparatus includes: file management means for managing a file in the recording medium using file management information that holds position information indicating the position of the file on the recording medium; and a program recorded on the recording medium.
  • first program management means for registering, in the program management information, location information of each file included in the non-executable program in the recording medium , Location information of each file included in the inexecutable program
  • Second program management means that reads out the file management information from the program management information, edits the file management information using the read position information, and returns each file included in the inexecutable program to a state that the file management means can recognize.
  • the information processing apparatus includes a file management unit that manages file in the recording medium by using file management information that holds position information indicating a position of the file on the recording medium, and a unit that stores the file management information. Included in the non-executable program so that the file management means cannot recognize each of the plurality of files included in the non-executable program designated to be non-executable among the programs stored in the recording medium.
  • First storage means for storing the file management information in which the position information of each file is edited, and program management information in which the position information of each file included in the inexecutable program is registered in the recording medium is stored.
  • the file management means reads the location information of each file included in the inexecutable program from the program management information, edits the file management information using the read location information, and the file management means stores each file included in the inexecutable program.
  • Program management means for returning to a recognizable state.
  • the program can be made executable in a short time.
  • FIG. 1 is a diagram illustrating a configuration example of an information processing apparatus according to the first embodiment.
  • the information processing apparatus 1 shown in FIG. 1 includes file management means 10 and program management means 20.
  • the file management means 10 manages files in the storage device 2 using file management information 30 that holds location information indicating the location of the file in the storage device 2.
  • the file management means 10 is, for example, a part of a function generally called “file system”. In this case, the processing of the file management unit 10 is realized by the information processing apparatus 1 executing the OS program 11.
  • the storage device 2 stores a program executed by the information processing device 1.
  • the storage device 2 stores a program P1 and a program P2.
  • These programs P1 and P2 are application programs that operate in an environment in which the OS program 11 is executed, for example.
  • the programs P1 and P2 may be installed in the information processing apparatus 1.
  • the state in which the program is installed means that, for example, a file such as an execution file included in the program is expanded in the storage device 2 and the setting information of the program is stored in a predetermined setting information storage area (for example, in the information processing device 1). , An area in the storage device 2).
  • the file management means 10 can recognize each file included in each of the programs P1 and P2 using position information corresponding to each file in the file management information 30.
  • the file management means 10 can recognize a file included in the program P 1 using the position information 31 in the file management information 30.
  • the file management means 10 can recognize the file included in the program P2 using the position information 32 in the file management information 30.
  • the position information in the file management information 30 is registered for each file.
  • the file management means 10 recognizing a file means that the file management means 10 can correctly recognize the position of the data constituting the file in the storage device 2, for example.
  • the program management means 20 performs a process for making the program stored in the storage device 2 in an inexecutable state and a process for returning the program from an inexecutable state to an executable state.
  • the former process is called “deletion” of the program
  • the latter process is called “addition” of the program.
  • the processing of the program management means 20 is realized, for example, when the information processing apparatus 1 executes the application program described above. Further, the file management unit 10 can recognize, for example, a file included in an application program that implements the processing of the program management unit 20 using the position information 33 in the file management information 30. This means that the program management means 20 continues to operate under control according to the OS program 11 even when at least one of the programs P1 and P2 is rendered inexecutable by the program management means 20.
  • the program management means 20 When the program management means 20 receives designation of a program to be deleted from among the programs stored in the storage device 2, the program management means 20 executes a program deletion process as follows. Here, as an example, it is assumed that the program P2 is designated as a deletion target.
  • the program management unit 20 edits the position information 32 in the file management information 30 for each file included in the program P2 so that the file management unit 10 cannot recognize each file included in the program P2.
  • each file included in the program P2 may be connected so that each file is recognized by the file management means 10 as one file. In this case, when a plurality of programs are deleted, files included in all the programs to be deleted may be connected as one file.
  • the storage area of each file included in the program P2 may be recognized as an unusable area by the file management means 10.
  • the position information 32 in the file management information 30 for each file included in the program P2 is edited, whereby each file included in the program P2 is recognized using the position information in the file management information 30. It will be in a state that can not be. For this reason, the program P2 is in a state where it cannot be executed in the information processing apparatus 1. For example, the deleted program P2 is not under the control of the program management function realized by the OS program 11, and cannot be executed under the control according to the OS program 11.
  • the program management means 20 edits the position information 32 and registers the position information 22 in the storage device 2 of each file included in the program P2 in the program management information 21. Thereby, for example, the program management means 20 is in a state where it can recognize the position on the storage device 2 of each file included in the deleted program P2.
  • the position information 22 registered in the program management information 21 may be a part of the information held in the position information 32 in the file management information 30 or based on the information held in the position information 32. It may be the information generated in Note that the location information registered in the program management information 21 is also actually registered for each file in the same manner as the location information registered in the file management information 30.
  • the position information to be edited in the file management information 30 and the position information registered in the program management information 21 both indicate not only the information indicating the physical position of each file but also the file directory. Information may be included.
  • the program management information 21 may be stored in the storage device 2 or may be stored in a storage device different from the storage device 2.
  • the program management means 20 executes the program addition process as follows.
  • the program P2 that has been deleted by the above-described processing is designated as an addition target.
  • the program management means 20 reads the position information 22 of each file included in the program P2 to be added from the program management information 21, edits the position information of the file management information 30 using the read position information 22, Each file included in the program P2 is returned to a state where the file management means 10 can recognize it. As a result, the file management information 30 is in a state in which the position information 32 of each file included in the program P2 is originally registered. Further, the location information 22 for each file included in the program P2 registered in the program management information 21 may be deleted from the program management information 21.
  • the program is made inexecutable by editing the position information in the file management information 30 for the files included in the program to be deleted and added.
  • the process of returning the program to the executable state can be performed in a short time.
  • the amount of data to be written is small compared to the program installation process, so that the program can be made inexecutable in a shorter time.
  • the file itself included in the program to be deleted is not deleted from the storage device 2, so that the deletion process can be executed in a short time.
  • the program deletion and addition processing by the program management means 20 is performed by editing the location information in the file management information 30, special programs necessary for realizing the deletion and addition processing are added to the program to be deleted and added. It is not necessary to describe a simple processing procedure. Therefore, versatility is high regardless of the program to be deleted and added.
  • each file included in the inexecutable program cannot be recognized using the file management information 30. For this reason, each file included in the inexecutable program is less likely to be subjected to a malicious attack, and the program can be inexecutable while maintaining security.
  • the information processing apparatus 1 including the program management unit 20 may be sold in a state where the programs (for example, the programs P1 and P2) in the storage device 2 are disabled in advance.
  • the purchaser of the information processing apparatus 1 can select a desired program from the disabled programs, and can make a transition to an executable state by the processing of the program management unit 20.
  • the program management unit 20 of the information processing apparatus 1 does not have a function of making the executable program in an inexecutable state. Also good.
  • FIG. 2 is a diagram illustrating a hardware configuration example of the information processing apparatus according to the second embodiment.
  • the information processing apparatus 100 is realized as a computer as shown in FIG. This computer is controlled by a CPU (Central Processing Unit) 101 as a whole.
  • a RAM (Random Access Memory) 102 and a plurality of peripheral devices are connected to the CPU 101 via a bus 108.
  • the RAM 102 is used as a main storage device of the computer.
  • the RAM 102 temporarily stores at least part of an OS program and application programs to be executed by the CPU 101.
  • the RAM 102 stores various data necessary for processing by the CPU 101.
  • Peripheral devices connected to the bus 108 include a hard disk drive (HDD: Hard Disk Drive) 103, a graphic processing device 104, an input interface 105, an optical drive device 106, and a communication interface 107.
  • HDD Hard Disk Drive
  • the HDD 103 magnetically writes and reads data to and from the built-in disk.
  • the HDD 103 is used as a secondary storage device of a computer.
  • the HDD 103 stores an OS program, application programs, and various data.
  • a semiconductor storage device such as a flash memory can also be used as the secondary storage device.
  • a monitor 104 a is connected to the graphic processing device 104.
  • the graphic processing device 104 displays an image on the screen of the monitor 104a in accordance with a command from the CPU 101.
  • Examples of the monitor 104a include a display device using a CRT (Cathode Ray Tube) and a liquid crystal display device.
  • the monitor 104a may be provided integrally with the information processing apparatus 100, for example.
  • a keyboard 105a and a mouse 105b are connected to the input interface 105.
  • the input interface 105 transmits signals sent from the keyboard 105a and the mouse 105b to the CPU 101.
  • the keyboard 105a may be provided integrally with the information processing apparatus 100, for example.
  • the mouse 105b is an example of a pointing device, and other pointing devices can be used. Examples of other pointing devices include a touch panel, a tablet, a touch pad, and a trackball.
  • the optical drive device 106 reads data recorded on the optical disk 106a using a laser beam or the like.
  • the optical disk 106a is a portable recording medium on which data is recorded so that it can be read by reflection of light.
  • the optical disk 106a includes a DVD (Digital Versatile Disc), DVD-RAM, CD-ROM (Compact Disc Read Only Memory), CD-R (Recordable) / RW (ReWritable), and the like.
  • the communication interface 107 is connected to the network 107a.
  • the communication interface 107 transmits / receives data to / from other computers or communication devices via the network 107a.
  • FIG. 3 is a block diagram illustrating an example of processing functions included in the information processing apparatus according to the second embodiment.
  • the CPU 101 of the information processing apparatus 100 manages the entire information processing apparatus 100 by executing the OS program 110 stored in the HDD 103.
  • the file management unit 111 illustrated in FIG. 3 is a part of a function called “file system” realized by the CPU 101 executing the OS program 110.
  • the file management unit 111 manages files stored in the HDD 103 using the file management information 120.
  • the file management information 120 is stored in the HDD 103 and includes a FAT 121, a root directory table 122, and a directory table 123.
  • FAT 121 information indicating the position of the data constituting the file in the HDD 103 is registered. More specifically, the FAT 121 includes an entry for each cluster of the HDD 103, and information indicating the connection relation of data in the file is registered in each entry.
  • the root directory table 122 In the root directory table 122 and the directory table 123, information indicating a hierarchical structure called a “directory” for files stored in the HDD 103 is registered.
  • the root directory table 122 registers data and folder information arranged in the root directory. For example, information indicating the first child directory is registered in the root directory table 122.
  • the directory table 123 information on files and folders arranged in directories other than the root directory is registered.
  • information indicating a parent directory is registered for each directory.
  • the file management unit 111 recognizes the directory structure on the basis of the information indicating the parent directory registered in the directory table 123 and the information indicating the child directory registered in the root directory table 122, and determines the desired directory. You can search for files placed in.
  • file information for example, file name, file attribute information, cluster address (FAT number) storing file head data, file size, and the like are registered.
  • the file management unit 111 acquires the address of the cluster where the head data of the file is stored from the directory table 123, and recognizes the position of the file on the HDD 103 by referring to the entry of the FAT 121 corresponding to the acquired address. .
  • the HDD 103 of the information processing apparatus 100 stores applications A, B, and C and a software manager 150 as application programs that operate in an environment in which the OS program 110 is executed.
  • the applications A, B, and C and the software manager 150 are all installed in the information processing apparatus 100.
  • the information processing apparatus 100 includes a deletion / addition processing unit 151 and a user interface unit 152 as functions realized by the CPU 101 executing the software manager 150.
  • the deletion / addition processing unit 151 performs a “deletion” process that makes any application program installed in the information processing apparatus 100 in an inexecutable state, and an “addition” process that makes an application program that has been in a deleted state executable again Execute.
  • the deletion / addition processing unit 151 edits the file management information 120 through the file management unit 111 so that the file included in the application program to be deleted is recognized by the file management unit 111 as one virtual area file.
  • the application program is in a deletion state.
  • the deletion / addition processing unit 151 incorporates all the files included in each application program into one virtual area file when a plurality of application programs are set in a deletion state.
  • the deletion / addition processing unit 151 generates an application program entry in the deletion state in the application management table 160.
  • the deletion / addition processing unit 151 performs various attribute information related to the application program in the deleted state, position information of each file included in the application program in the virtual area file, and attribute of each file with respect to the entry of the application management table 160. Register information.
  • the deletion / addition processing unit 151 can manage the area in which the virtual area file is stored as a virtual storage area separated from the area managed by the file management unit 111.
  • the information registered in the application management table 160 is preferably encrypted so that only the deletion / addition processing unit 151 and the user interface unit 152 can read and write.
  • the deletion / addition processing unit 151 upon receiving an “add” request for enabling an application program in a deleted state to be executable, performs file management through the file management unit 111 based on information registered in the application management table 160. The information 120 is edited. The deletion / addition processing unit 151 edits the file management information 120 so that each file included in the application program requested to be added is recognized by the file management unit 111.
  • the deletion / addition processing unit 151 enables the deletion and addition processing of the application program on the HDD 103 to be executed in a short time by editing the file management information 120 as described above.
  • the user interface unit 152 provides a user interface when the deletion / addition processing unit 151 executes application program deletion and addition processing. For example, as will be described later, the user interface unit 152 generates a GUI (Graphical User Interface) screen for selecting an application program to be deleted or an application program to be added, and displays the GUI on the monitor 104a.
  • GUI Graphic User Interface
  • FIG. 4 is a diagram illustrating an example of information held in the application management table.
  • the application management table 160 entries corresponding to the deleted application programs are generated. Each entry is given an ID (identifier).
  • the application management table 160 stores, for each entry, application information 161 related to an application program corresponding to the entry and file information 162 related to a file included in the application program corresponding to the entry.
  • the application information 161 includes columns for “application name”, “description”, “icon”, and “setting value”.
  • “application name” column the name of the application program in the deleted state is registered.
  • “description” column the description of the application program in the deleted state is registered.
  • “icon” column icon image data for identifying an application program in a deleted state is registered.
  • the deletion / addition processing unit 151 acquires and registers the information registered in each of the “application name”, “description”, and “icon” fields from, for example, the execution file of the application program in the deleted state. . Note that information input by a user operation may be registered in each of the “application name”, “description”, and “icon” fields.
  • the setting information of the application program that has been deleted is registered.
  • the setting information is information recorded in a storage area of setting information called “registry” provided on the HDD 103.
  • the deletion / addition processing unit 151 acquires the setting information file of the application program in the deleted state as binary data from the registry, and registers it in the “setting value” column.
  • the application management table 160 In the application management table 160, entries corresponding to the application programs in the deleted state are generated in the order of the deleted state. Therefore, the top file in the application program corresponding to the top entry of the application management table 160 is placed at the top of the virtual area file.
  • FIG. 5 is a diagram showing the contents of the file information held in the application management table.
  • the file information 162 an entry is generated for each file included in the application program in the deleted state.
  • the file information 162 includes columns for “file directory”, “attribute information”, “first cluster”, and “file length”.
  • the deletion / addition processing unit 151 Upon receiving the designation of the file included in the application program to be deleted, the deletion / addition processing unit 151 refers to the root directory table 122 and the directory table 123 and recognizes directory information starting from the root directory of each file. And register it in the “File directory” field.
  • the attribute information of the file corresponding to the entry is registered in the “attribute information” column.
  • attribute information for example, the attribute information of the file stored in the entry of the directory table 123 corresponding to the file is registered.
  • attribute information information for identifying whether the file is read-only, a hidden file, a system file, a backup file, or the like is registered.
  • the information registered in each column of “File directory” and “Attribute information” is a directory entry for each file included in the application program during the addition process to return the application program in the deleted state to the executable state. This is used to restore the table 123.
  • the address (FAT number) of the cluster storing the first data of the file corresponding to the entry is registered.
  • the deletion / addition processing unit 151 reads the address of the cluster in which the head data of the file is stored from the entry of the directory table 123 corresponding to the designated file, and registers it in the “head cluster” column.
  • the deletion / addition processing unit 151 determines the file length by tracing the cluster in which the same file is stored from the entry of the FAT 121 corresponding to the address registered in the “first cluster”, thereby determining the “file length”. Register in the column.
  • the “file length” field for example, information on the file length registered in the entry of the directory table 123 corresponding to the designated file may be read and registered.
  • the information registered in the “first cluster” and “file length” fields is obtained by editing the FAT 121 and adding each information included in the application program during the additional processing for returning the application program in the deleted state to the executable state. This is used so that the file management unit 111 can re-recognize the storage location of the file.
  • the address does not necessarily have to be registered in the “first cluster” column. This is because the address of the cluster where the head data of the virtual area file is stored can be obtained from the directory entry of the virtual area file generated separately. The generation of the directory entry of the virtual area file will be described with reference to the flowchart of FIG.
  • FIG. 6 is a diagram schematically showing the file management state on the HDD before and after the deletion process.
  • FIG. 6 as an example, a case where the deletion process of the application A is performed is shown.
  • the storage area of the HDD 103 in which “OS program (110)” is drawn in the upper layer is a storage area managed by the file management unit 111 realized by the OS program 110.
  • the software manager 150 and the application A are stored in an area managed by the file management unit 111 on the HDD 103.
  • the file management information 120 stores information indicating the position of each file included in the application A. Therefore, the file management unit 111 realized by the OS program 110 can recognize the position of each file included in the application A in the HDD 103.
  • the application A is in an executable state under control according to the OS program 110.
  • the file management information 120 is edited as shown in the lower part of FIG. 6, and each file of the application A is a single virtual area file Fvl. Converted to a file.
  • the file management unit 111 can recognize the virtual area file Fvl itself, but cannot recognize each file included in the virtual area file Fvl. In this state, the application A cannot be executed under control according to the OS program 110.
  • the deletion / addition processing unit 151 realized by the software manager 150 manages the location information of each file included in the application A using the application management table 160. Yes.
  • the deletion / addition processing unit 151 acquires the position information of each file in the application A from the application management table 160 when performing “addition processing” to make the application A executable again.
  • the deletion / addition processing unit 151 uses the position information acquired from the application management table 160 to edit the file management information 120 again, thereby cutting out each file from the virtual area file Fvl and managing the file management information under the management of the file management unit 111. You can return it to a file.
  • the information processing apparatus 100 performs a deletion process for making the application program in an inexecutable state and an addition process for returning it to an executable state by editing the file management information 120.
  • the application program can be deleted or added in a shorter time than when the application program is uninstalled or reinstalled.
  • the data itself included in the application program is under the management of the file management unit 111. For this reason, for example, when an area in which data of a deleted application program is stored is physically destroyed, the data stored in the destroyed storage area by the data repair function realized by the OS program 110 is Can be repaired.
  • the virtual area file data can also be backed up by a backup function implemented by the OS program 110 or a backup function implemented by another application program.
  • the deletion / addition processing unit 151 generates a virtual area file Fvl in a predetermined directory such as the root directory of the HDD 103, for example, when one or more application programs are set in the deletion state. At this time, the deletion / addition processing unit 151 deletes the directory entry of each file included in the application program in the deleted state from the directory table 123. The deletion / addition processing unit 151 may cause the file management unit 111 to recognize the virtual area file Fvl as one drive.
  • FIG. 7 is a diagram for explaining FAT editing processing when one application program is deleted.
  • the application A includes a file Fa1 and a file Fa2.
  • Data constituting the file Fa1 is stored in a cluster corresponding to the FAT numbers 0x0024 to 0x0026
  • the head of the data constituting the file Fa2 is stored in a cluster corresponding to the FAT number 0x0027.
  • Each entry corresponding to each FAT number has two information storage areas. The first information storage area stores lower 1 byte data, and the second information storage area stores upper 1 byte data.
  • each file included in the application A is integrated into the virtual area file Fvl.
  • the deletion / addition processing unit 151 generates an entry corresponding to the application A in the application management table 160.
  • an entry corresponding to application A is generated at the top of application management table 160.
  • the deletion / addition processing unit 151 sets the data of the file Fa1 at the head of the virtual area file Fvl by registering the information of the file Fa1 in the head entry of the file information 162 in the entry generated in the application management table 160. .
  • the deletion / addition processing unit 151 performs processing for incorporating the file Fa2 into the virtual area file Fvl.
  • the deletion / addition processing unit 151 discriminates a cluster including the final data of the file Fa1 that has been incorporated into the virtual area file Fvl immediately before, and stores an entry of the FAT 121 corresponding to the discriminated cluster (in this case, an entry of the FAT number 0x0026) as a file.
  • the deletion / addition processing unit 151 edits the FAT 121 in the above-described procedure, thereby sequentially connecting the files included in the application A to the tail of the virtual area file Fvl.
  • the deletion / addition processing unit 151 performs an addition process for making the application A in the deletion state executable again, the entry information of the FAT 121 is changed from the lower part of FIG. 7 to the upper part of FIG. By returning, each file included in the application A is restored.
  • the deletion / addition processing unit 151 registers the position information (cluster address) of the top data of each file included in the application A and the length of each file in the application management table 160. deep.
  • the deletion / addition processing unit 151 recognizes the cut-out position of each file in the virtual area file Fvl by referring to the information registered in the application management table 160 when performing the addition process of the application A. Each file can be restored.
  • FIG. 8 is a diagram for explaining processing when a plurality of application programs are in a deletion state.
  • FIG. 8 shows processing when the applications A and B are already in the deletion state and the application C is further in the deletion state. Assuming that the application C includes the files Fc1 to Fc3, when the application C is deleted, the files Fc1 to Fc3 are integrated at the end of the virtual area file Fvl.
  • FIG. 9 is a diagram for explaining FAT editing processing when a plurality of application programs are in a deletion state.
  • the final data of the virtual area file Fvl is stored in the cluster corresponding to the FAT number 0x0053 before the application C enters the deletion state.
  • the data constituting the file Fc1 included in the application C is stored in the cluster corresponding to the FAT numbers 0x0054 to 0x0056
  • the top of the data constituting the file Fc2 included in the application C is the cluster corresponding to the FAT number 0x0057.
  • the deletion / addition processing unit 151 places the application C in the deletion state, first, the FAT 121 entry (in this case, the entry of the FAT number 0x0053) corresponding to the cluster including the final data of the virtual area file Fvl is stored in the file Fc1. Is rewritten to the address of the cluster (here, 0x0054) including the first data. As a result, the file Fc1 is connected to the tail of the virtual area file Fvl.
  • the deletion / addition processing unit 151 sets the entry of the FAT 121 corresponding to the cluster including the final data of the file Fc1 (here, the entry of the FAT number 0x0056) and the address of the cluster including the top data of the file Fc2 (here 0x0057). ). As a result, the file Fc2 is connected to the tail of the virtual area file Fvl. Thereafter, the deletion / addition processing unit 151 edits the FAT 121 according to the above procedure, thereby connecting the file included in the application C to the tail of the virtual area file Fvl.
  • FIG. 10 is a diagram illustrating a display example of an operation screen when deleting / adding an application program.
  • the operation screen 170 is provided with a search input area 171, an application display area 172, a confirmation button 176, and a new management button 177.
  • search input area 171 search characters for searching for the name and description of the application program displayed in the application display area 172 are input.
  • the user interface unit 152 extracts an application program that includes the character input in the search input area 171 in the name or description of the application program. Then, the user interface unit 152 highlights the extracted application program in the application display area 172, for example.
  • an icon display area 173, an application explanation area 174, and an operation button area 175 are provided for each application program for which an entry is generated in the application management table 160.
  • an icon of an execution file of the application program is displayed.
  • icons are displayed based on the data registered in the “icon” column in the application management table 160.
  • the application explanation area 174 for example, the name of the application program, an explanation of the function realized by the application program, and the like are displayed.
  • the program name for example, the name registered in the “application name” column in the application management table 160 may be displayed.
  • the explanatory text of the function realized by the application program information registered in the “Description” column in the application management table 160 may be displayed.
  • the operation button area 175 is an area that is clicked when the next execution of processing is requested for each application program. For example, if the application program is currently deleted, “Add” is displayed in the operation button area 175. When the operation button area 175 displayed as “add” is clicked, and the confirm button 176 is clicked, an application program addition process is executed.
  • the user searches for an application program displayed as “added” in the operation button area 175 from the application programs displayed in the icon display area 173.
  • the user finds a desired application program, the user performs a click operation on the operation button area 175 corresponding to the application program, and further performs a click operation on the confirmation button 176.
  • the user can execute a process for adding a desired application program.
  • the new management button 177 is clicked when a new application program that is not displayed in the application display area 172 is to be deleted.
  • a file selection screen as shown in FIG. 11 is displayed.
  • FIG. 11 is a diagram illustrating a display example of the file selection screen.
  • the file selection screen 180 includes a directory selection unit 181, a file selection unit 182, a file selection determination button 183, and a cancel button 184.
  • the directory selection unit 181 is an area for receiving a directory selection operation, and the file selection unit 182 displays a list of files included in the directory selected by the directory selection unit 181.
  • the user selects a file to be incorporated into the virtual area file from the files displayed in the file selection unit 182 and then clicks the file selection determination button 183 to confirm the file selection.
  • the file selection is reflected on the operation screen 170 as shown in FIG. Note that the user can return to the operation screen 170 shown in FIG. 10 by clicking the cancel button 184.
  • FIG. 12 is a diagram illustrating an example of an operation screen when an application program to be deleted is additionally set.
  • a file included in the application C is selected using the file selection screen 180 shown in FIG. 11, information about the application C is displayed in the application display area 172 of the operation screen 170.
  • the deletion / addition processing unit 151 extracts the application name, the description of the application program, and the icon of the execution file from the execution file of the application C selected using the file selection screen 180. Register in the "Application Name", "Description", and "Icon" fields.
  • the user interface unit 152 displays information in the application display area 172 based on information newly registered in the application management table 160.
  • “Delete” is displayed in the operation button area 175 corresponding to the added application C.
  • the user performs a click operation on the operation button area 175 displayed as “delete”, and further performs a click operation on the confirmation button 176.
  • the deletion / addition processing unit 151 edits information related to the application C in the file management information 120 to place the application C in a deletion state.
  • FIG. 13 is a flowchart showing the deletion procedure of the application program.
  • Step S11 The user interface unit 152 accepts a file selection operation included in the application program to be newly deleted in the procedure described with reference to FIGS.
  • Step S12 The deletion / addition processing unit 151 extracts each information of the application name, the description of the application program, and the icon of the execution file from the execution file of the application program among the files selected in Step S11. In addition, the deletion / addition processing unit 151 acquires setting information related to the application program to be deleted as binary data from the registry. At this time, the deletion / addition processing unit 151 may delete setting information related to the application program to be deleted from the registry.
  • the deletion / addition processing unit 151 creates an entry for a new application program to be deleted in the application management table 160.
  • the deletion / addition processing unit 151 registers information extracted from the execution file and information acquired from the registry as the application information 161 in the created entry.
  • step S13 information on the application program to be newly deleted is displayed in the application display area 172 of the operation screen 170, and “add” is displayed in the operation button area 175.
  • the operation button area 175 displayed as “add” is click-operated, and the confirmation button 176 is click-operated, whereby the processing from step S13 is executed.
  • Step S13 The deletion / addition processing unit 151 selects one file from the files selected in Step S11, and generates an entry corresponding to the selected file in the file information 162 of the application management table 160.
  • Step S14 The deletion / addition processing unit 151 registers the file directory of the file selected in step S13 in the “file directory” field in the file entry in the application management table 160.
  • the deletion / addition processing unit 151 refers to the root directory table 122 and the directory table 123 through the file management unit 111, recognizes the directory information of the file starting from the root directory, and registers it in the “file directory” column.
  • step S14 the file recognized at the stage of step S11.
  • Directory information may be registered in the application management table 160.
  • the deletion / addition processing unit 151 refers to the directory table 123 through the file management unit 111, and reads the attribute information of the file and the address of the first cluster from the directory entry for the file selected in step S13.
  • the deletion / addition processing unit 151 registers the read attribute information and the address of the first cluster in the “attribute information” and “first cluster” fields in the file entry in the application management table 160, respectively.
  • the deletion / addition processing unit 151 refers to the FAT 121 through the file management unit 111.
  • the deletion / addition processing unit 151 traces the cluster in which the data of the same file is stored from the entry of the FAT 121 corresponding to the address registered in the “first cluster” field, so that the length of the file selected in step S13 is reached. Determine the thickness.
  • the deletion / addition processing unit 151 registers the determined file length in the “file length” field in the file entry in the application management table 160.
  • Step S17 The deletion / addition processing unit 151 determines whether or not the file selected in Step S13 is positioned at the head of the virtual area file. The deletion / addition processing unit 151 determines that the file is positioned at the head of the virtual area file when the entry of the file generated in step S13 is at the head of the entire application management table 160.
  • step S18 If the file is located at the beginning of the virtual area file, the process of step S18 is executed. If the file is not located at the beginning of the virtual area file, the process of step S19 is executed.
  • Step S18 The deletion / addition processing unit 151 generates a directory entry of the virtual area file in the root directory table 122 through the file management unit 111. At this time, the deletion / addition processing unit 151 registers the address of the first cluster read from the directory table 123 in step S15 as the address of the first cluster of the virtual area file in the generated directory entry. As a result, the position of the head data of the virtual area file in the HDD 103 is set to the position of the head data of the application program to be deleted. Thereafter, the process of step S21 is executed.
  • the deletion / addition processing unit 151 determines a cluster in which the final data of the virtual area file is stored.
  • the final data of the virtual area file is the final data of the file corresponding to the entry immediately before the entry of the file generated in the application management table 160 in step S13 (referred to as the immediately preceding entry).
  • the deletion / addition processing unit 151 acquires an address from the “first cluster” column of the immediately preceding entry, and refers to the FAT 121 through the file management unit 111.
  • the deletion / addition processing unit 151 traces the entry of the FAT 121 starting from the entry of the FAT 121 corresponding to the address acquired from the immediately preceding entry, and determines the cluster storing the final data of the file corresponding to the immediately preceding entry as the final of the virtual area file. It is determined that the entry stores data.
  • Step S20 The deletion / addition processing unit 151 accesses the FAT 121 through the file management unit 111, and determines the FAT 121 entry information corresponding to the cluster in which the final data of the virtual area file determined in step S19 is stored.
  • step S13 the data is rewritten to an address indicating the cluster including the top data of the file selected.
  • the file selected in step S13 is connected to the tail of the virtual area file.
  • the address indicating the cluster including the head data of the file selected in step S13 is the address registered in the column “head cluster” in step S15.
  • Step S21 The deletion / addition processing unit 151 accesses the directory table 123 through the file management unit 111, and deletes the directory entry for the file selected in step S11.
  • Step S22 The deletion / addition processing unit 151 determines whether or not the processing in steps S13 to S21 has been executed for all the files selected in step S11. If there is an unprocessed file, the process of step S13 is executed. If all the files have been processed, the deletion process is terminated.
  • the files included in the application program are sequentially incorporated into the virtual area file, so that the files included in the application program cannot be recognized from the file management unit 111.
  • the application program incorporated in the virtual area file cannot be executed under the control according to the OS program 110.
  • the application program can be made inexecutable without erasing the file itself included in the application program from the HDD 103, so that the application program can be shifted to the inexecutable state in a short time. it can.
  • FIG. 14 is a flowchart showing an application program addition processing procedure.
  • the user interface unit 152 receives selection input of an application program to be added through the operation screen 170 shown in FIGS.
  • Step S32 The deletion / addition processing unit 151 selects one file (here, a file incorporated in the virtual area file) included in the application program selected through the operation screen 170 in Step S31. At this time, the deletion / addition processing unit 151 selects the entry of the application program selected in step S31 from the entries generated in the application management table 160. The deletion / addition processing unit 151 selects one file entry from the file information 162 in the entry of the selected application program.
  • Step S33 The deletion / addition processing unit 151 obtains information registered in the “file directory”, “attribute information”, “first cluster”, and “file length” fields from the entry of the file selected in step S32. get.
  • Step S34 The deletion / addition processing unit 151 edits the directory table 123 through the file management unit 111, and restores the directory entry for the file selected in step S32. This step S34 restores the directory entry deleted from the directory table 123 in step S21 of FIG.
  • the deletion / addition processing unit 151 generates a directory entry in the directory table 123 so that the directory of the file is the directory acquired from the “file directory” column in step S33.
  • the deletion / addition processing unit 151 registers the information acquired from the “attribute information”, “first cluster”, and “file length” fields in step S33 for the generated directory entry.
  • Step S35 The deletion / addition processing unit 151 edits the entry of the FAT 121 corresponding to the file selected in step S32 through the file management unit 111. Specifically, the deletion / addition processing unit 151 first points to the entry of the FAT 121 corresponding to the cluster acquired from the “first cluster” column in step S33. Next, the deletion / addition processing unit 151 starts the last entry of the file selected in step S32 by tracing the FAT 121 by the length of the data acquired from the “file length” column in step S33, starting from the entry pointed to. An entry corresponding to a cluster in which data is stored is determined. The deletion / addition processing unit 151 rewrites the numerical value of the entry corresponding to the cluster in which the final data of the file is stored to 0xFFFF indicating the final data of the file.
  • step S35 the deletion / addition processing unit 151 rewrites the numerical value of the entry of the FAT number 0x0056 in which the final data of the file Fc1 is stored as 0xFFFF as shown in the upper part of FIG.
  • the virtual area file is divided in units of original files.
  • Step S36 The deletion / addition processing unit 151 determines whether or not the processing in steps S32 to S35 has been executed for all the files included in the application program selected in step S31. This determination is equivalent to determining whether or not all registered file entries are selected from the file information 162 in the application management table 160 corresponding to the application program selected in step S31.
  • step S32 If there is an unprocessed file included in the application program selected in step S31, the process in step S32 is executed. On the other hand, if all the files included in the application program selected in step S31 have been processed, the process of step S37 is executed.
  • Step S37 The deletion / addition processing unit 151 edits the directory entry of the virtual area file registered in the root directory table 122 through the file management unit 111.
  • the deletion / addition processing unit 151 Delete the directory entry of the virtual area file.
  • the deletion / addition processing unit 151 positions the application program data selected in step S31 at the beginning of the virtual area file. It is determined whether or not. This determination is equivalent to determining whether the entry of the application program selected in step S31 is registered at the top of the application management table 160.
  • the deletion / addition processing unit 151 sets the address of the head cluster registered in the directory entry of the virtual area file as the application management. In the table 160, the application program corresponding to the next registered entry is rewritten to the address of the cluster storing the top data. For example, when performing the addition process of application A in FIG. 8, the deletion / addition processing unit 151 stores the address of the leading cluster registered in the directory entry of the virtual area file Fvl and the leading data of the application B. Rewrite the cluster address.
  • deletion / addition processing unit 151 leaves the directory entry of the virtual area file in the root directory table 122 as it is when the data of the application program selected in step S31 is not located at the head of the virtual area file.
  • Step S38 The deletion / addition processing unit 151 accesses the FAT 121 through the file management unit 111, and edits the entry of the FAT 121 corresponding to the data of the virtual area file as necessary.
  • the data of the application program that has undergone the addition process is separated from the virtual area file.
  • the entry of the FAT 121 is edited so that the data before and after the division is connected.
  • the deletion / addition processing unit 151 stores the data of the virtual area file Fvl.
  • the value of the entry of FAT 121 corresponding to the cluster in which the final data in application B is stored is rewritten to 0xFFFF indicating the final data of the file.
  • the address of the cluster in which the final data of the application B is stored is the entry of the file registered immediately before the entry of the first file of the application C among the file entries in the file information 162 of the application management table 160.
  • the information registered in the “first cluster” and “file length” fields is acquired, and the FAT 121 is traced based on the acquired information.
  • the deletion / addition processing unit 151 stores the final data in the application A among the data of the virtual area file Fvl.
  • the value of the entry of FAT 121 corresponding to the cluster that has been changed is rewritten to the address of the cluster in which the top data of application C is stored.
  • the application A data and the application C data are connected on the FAT 121.
  • Step S39 The deletion / addition processing unit 151 deletes the entry corresponding to the application program selected in Step S31 from the application management table 160.
  • the deletion / addition processing unit 151 When the setting information related to the application program is deleted from the registry during the deletion process of the application program, the deletion / addition processing unit 151 performs “setting” in the application management table 160 in the process of FIG.
  • the setting information in the registry may be restored based on the binary data read from the “value” column.
  • the deletion / addition processing unit 151 requests the addition processing by editing the file management information 120 through the file management unit 111 based on the information registered in the application management table 160. Return the application program to an executable state. In such a process, the amount of data to be read and written is greatly reduced compared to the case of installing the application program, so that the application program can be changed to an executable state in a short time.
  • the deletion process and the addition process of the application program can be executed in a short time, so that the user of the information processing apparatus 100 can easily execute the application program only when necessary. Transition to an executable state is possible.
  • the data included in the deleted application program is managed by the file management information 120 as one virtual area file. Therefore, the number of files managed by the file management unit 111 is reduced, and the startup processing of the OS program 110 and the access processing to the files in the HDD 103 can be speeded up.
  • the file management unit 111 cannot recognize each of the files included in the deleted application program. For this reason, each file included in the application program in the deleted state is less likely to be subjected to a malicious attack through the function of the OS program 110, and the application program can be in the deleted state while maintaining security.
  • the information processing apparatus 100 may be sold in a state where one or more application programs are disabled in advance.
  • FIG. 15 is a diagram illustrating an example of a manufacturing process of the information processing apparatus in which the application program cannot be executed in advance.
  • Step S51 The software manager 150 and various application programs to be deleted are installed in the image master creating apparatus that creates the HDD image master.
  • the image master creation device may be a computer.
  • Step S52 The software manager 150 installed in the image master creating apparatus is activated, and the application program installed in the image master creating apparatus is put into a deleted state.
  • the image of the HDD in the image master creation device in this state is the HDD image master.
  • the information processing apparatus 100 is manufactured and shipped by copying the HDD image master to the HDD in the information processing apparatus as a product.
  • the user who purchased the information processing apparatus 100 manufactured and shipped by the above process selects and starts the software manager 150 from the start menu on the screen.
  • the software manager 150 is activated, for example, an operation screen 170 as shown in FIGS. 10 and 12 is displayed on the screen.
  • the user selects an application program to be subjected to the additional process from the application programs listed in the application display area 172 of the operation screen 170, and requests execution of the additional process.
  • the application program can be changed to an executable state in a short time compared to the case of installing the application program.
  • an application program that is set in a deleted state in advance for example, an upgraded version of an application program installed in an executable state in the information processing apparatus 100 may be used.
  • a user who has purchased the information processing apparatus 100 can upgrade and use the application program installed at the time of purchase as necessary.
  • the information processing apparatus may not be provided with the application program deletion processing function.
  • the FAT method is used as the file system method.
  • the file system is used.
  • Other schemes may be used.
  • an application program deletion process is performed in an information processing apparatus using another type of file system, the location information of each file is stored so that each file included in the application program is connected as one virtual area file. It only has to be edited. Further, when the application program in the deleted state is changed to the executable state, the application program adding process is executed by restoring the position information of each file included in the application program to the original state.
  • the information processing apparatus according to the third embodiment has the same hardware configuration as that of the information processing apparatus 100 according to the second embodiment shown in FIG. Further, the processing function provided in the information processing apparatus according to the third embodiment has basically the same configuration as the processing function shown in FIG. For this reason, in the following description, the processing of the information processing apparatus according to the third embodiment will be described with reference to FIGS.
  • the procedure for deleting and adding an application program by the deletion / addition processing unit 151 is different from that in the second embodiment.
  • the deletion / addition processing unit 151 according to the present embodiment performs application program deletion and addition processing by editing only the FAT 121 in the file management information 120. Further, the deletion / addition processing unit 151 directly edits the information of the FAT 121 without going through the file management unit 111. Further, part of the information registered in the application management table 160 is also different from that in the second embodiment.
  • FIG. 16 is a diagram showing the contents of the file information held in the application management table.
  • an entry is generated for each application program in the deleted state in the application management table 160, and each entry includes application information 161, file information 162, and Is registered.
  • an entry is generated in the file information 162 for each file included in the application program in the deleted state.
  • the information registered in the file information 162 is different from that in the second embodiment. For this reason, in the following description, the code (162a) different from 2nd Embodiment is provided about file information.
  • the file information 162a has columns of “first cluster” and “next address”.
  • the address (FAT number) of the cluster storing the first data of the file corresponding to the entry is registered.
  • the address of the cluster next to the first cluster among the clusters storing the file data corresponding to the entry is registered.
  • the address registered in the “next address” column is an address registered before the deletion process in the entry of the FAT 121 corresponding to the address registered in the “first cluster” column.
  • FIG. 17 is a diagram for explaining FAT editing processing when application program deletion processing is performed in the third embodiment.
  • FIG. 17 shows a case where the deletion / addition processing unit 151 sets the application A to the deletion state.
  • the application A includes a file Fa1 and a file Fa2 in order from the top. Data constituting the file Fa1 is stored in a cluster corresponding to the FAT numbers 0x0024 to 0x0026, and the head of the data constituting the file Fa2 is stored in a cluster corresponding to the FAT number 0x0027.
  • the deletion / addition processing unit 151 of the present embodiment places the application A in the deletion state, the entry value corresponding to the cluster in which the first data of each file included in the application A is stored among the entries of the FAT 121 is set. , Rewrite to 0xFFF7 indicating a defective cluster. Further, the deletion / addition processing unit 151 sets the FAT number of the entry that has been rewritten and the address registered in the entry before the rewriting to the “first cluster” and “next address” in the application management table 160, respectively. Register in the column.
  • the deletion / addition processing unit 151 rewrites the entry of the FAT number 0x0024 corresponding to the cluster including the top data of the file Fa1 from 0x0025 to 0xFFF7.
  • the deletion / addition processing unit 151 registers the FAT number 0x0024 and the address 0x0025 for the entry of the file Fa1 in the application management table 160.
  • the FAT number 0x0024 is registered in the “first cluster” column, and the address 0x0025 is registered in the “next address” column.
  • the deletion / addition processing unit 151 rewrites the entry of the FAT number 0x0027 corresponding to the cluster including the head data of the file Fa2 from 0x0028 to 0xFFF7.
  • the deletion / addition processing unit 151 registers the FAT number 0x0027 and the address 0x0028 for the entry of the file Fa2 in the application management table 160.
  • 0xFFF7 is registered in the entry of FAT121 corresponding to the cluster including the head data of the file, so that the area where the file is stored is a bad sector area and cannot be recognized by the file management unit 111. .
  • deletion / addition processing unit 151 performs an addition process to make the application A in the deleted state executable again, information on the entry of the FAT 121 is based on the information registered in the application management table 160. Is restored from the lower part of FIG. 17 to the upper part of FIG. 17 to restore each file included in application A.
  • FIG. 18 is a diagram schematically illustrating file management states on the HDD before and after the deletion process.
  • FIG. 18 shows a case where the deletion process of application A is performed.
  • the FAT 121 of the file management information 120 stores information indicating the position of each file included in the application A. Therefore, the file management unit 111 realized by the OS program 110 can recognize the position of each file included in the application A in the HDD 103.
  • the application A is in an executable state under control according to the OS program 110.
  • the file management information 120 is edited and the area where each file of the application A is stored is a bad sector as shown in the lower part of FIG. It is considered as an area.
  • the area in which each file of the application A is stored is a bad sector area, and thus deviates from the area managed by the file management unit 111. In this state, the application A cannot be executed under control according to the OS program 110.
  • the deletion / addition processing unit 151 acquires the position information of each file in the application A from the application management table 160 when performing “addition processing” to make the application A executable again.
  • the deletion / addition processing unit 151 rewrites the position information acquired from the application management table 160 to a predetermined entry in the FAT 121, thereby storing each file included in the application A in a storage area managed by the file management unit 111. Return to the memorized state.
  • the deletion / addition processing unit 151 edits only the FAT 121 in the file management information 120, thereby deleting the application program in an inexecutable state, and adding the processing to return to the executable state. I do.
  • the application program can be deleted or added in a shorter time than when the application program is uninstalled or reinstalled.
  • the deletion and addition processing can be executed in a shorter time.
  • the area in which each file of the application program is stored is an area that is not managed by the file management unit 111. For this reason, for example, when the storage area of the application program in the deleted state is physically destroyed, the destroyed data is not restored by the data restoration function realized by the OS program 110. Further, the data of the application program in the deleted state cannot be backed up by a backup function realized by the OS program 110 or a backup function realized by another application program.
  • FIG. 19 is a flowchart showing the deletion procedure of the application program.
  • the user interface unit 152 receives a file selection operation included in the application program to be newly deleted in the procedure described with reference to FIGS.
  • Step S62 The deletion / addition processing unit 151 extracts information on the application name, the description of the application program, and the icon of the execution file from the execution file of the application program among the files selected in Step S61. In addition, the deletion / addition processing unit 151 acquires setting information related to the application program to be deleted as binary data from the registry. At this time, the deletion / addition processing unit 151 may delete setting information related to the application program to be deleted from the registry.
  • the deletion / addition processing unit 151 creates an entry for a new application program to be deleted in the application management table 160.
  • the deletion / addition processing unit 151 registers information extracted from the execution file and information acquired from the registry as the application information 161 in the created entry.
  • Step S63 The deletion / addition processing unit 151 selects one file from the files selected in Step S61, and generates an entry corresponding to the selected file in the file information 162a of the application management table 160.
  • Step S64 The deletion / addition processing unit 151 searches the directory table 123 for a directory entry corresponding to the file selected in step S63 through the file management unit 111.
  • the deletion / addition processing unit 151 acquires a FAT number indicating the first cluster from the directory entry searched from the directory table 123. [Step S66] The deletion / addition processing unit 151 searches the FAT 121 for an entry corresponding to the FAT number indicating the first cluster.
  • Step S67 The deletion / addition processing unit 151 receives the FAT number acquired in step S65 and the address indicating the next cluster stored in the entry of the FAT 121 searched in step S66, and the application management table 160 in step S63. Are registered in the “first cluster” and “next address” fields in the generated entry.
  • Step S68 The deletion / addition processing unit 151 rewrites the address stored in the entry of the FAT 121 searched in step S66 to 0xFFF7.
  • Step S69 The deletion / addition processing unit 151 determines whether or not the processing in steps S63 to S68 has been executed for all the files selected in step S61. If there is an unprocessed file, the process of step S63 is executed. If all the files have been processed, the deletion process is terminated.
  • the FAT 121 is edited so that the storage area in which the top data of each file included in the application program is stored indicates a bad sector. This makes it impossible for the file management unit 111 to access each data included in the application program. Accordingly, the application program cannot be executed under the control according to the OS program 110.
  • the application program can be made inexecutable without erasing the file itself included in the application program from the HDD 103, so that the application program can be shifted to the inexecutable state in a short time. it can.
  • FIG. 20 is a flowchart showing an application program addition processing procedure.
  • the user interface unit 152 receives selection input of an application program to be added through the operation screen 170 shown in FIGS.
  • Step S82 The deletion / addition processing unit 151 selects one file included in the application program selected through the operation screen 170 in Step S81. At this time, the deletion / addition processing unit 151 selects the entry of the application program selected in step S81 from the entries generated in the application management table 160. The deletion / addition processing unit 151 selects one file entry from the file information 162a in the entry of the selected application program.
  • Step S83 The deletion / addition processing unit 151 acquires information registered in the “FAT number” and “Next address” fields from the entry of the file selected in Step S82.
  • Step S84 The deletion / addition processing unit 151 searches the FAT 121 for an entry corresponding to the FAT number acquired from the “FAT number” field in step S83.
  • Step S85 The deletion / addition processing unit 151 rewrites the address stored in the entry searched in step S84 with the address acquired from the “next address” column in step S83.
  • Step S86 The deletion / addition processing unit 151 determines whether or not the processing in steps S82 to S85 has been executed for all files included in the application program selected in step S81. This determination is equivalent to determining whether or not all registered file entries have been selected from the file information 162a in the application management table 160 corresponding to the application program selected in step S81.
  • step S82 If there is an unprocessed file included in the application program selected in step S81, the process in step S82 is executed. On the other hand, if all the files included in the application program selected in step S81 have been processed, the process of step S87 is executed.
  • Step S87 The deletion / addition processing unit 151 deletes the entry corresponding to the application program selected in Step S81 from the application management table 160.
  • the deletion / addition processing unit 151 performs “setting” in the application management table 160 in the process of FIG.
  • the setting information in the registry may be restored based on the binary data read from the “value” column.
  • the deletion / addition processing unit 151 edits the FAT 121 based on the information registered in the application management table 160 to return the application program for which the additional process is requested to an executable state. .
  • the amount of data to be read and written is greatly reduced compared to the case of installing the application program, so that the application program can be changed to an executable state in a short time.
  • the information processing apparatus according to the third embodiment described above may also be sold in a state in which one or more application programs are disabled in advance, as in the second embodiment. In this case, the information processing apparatus may not be provided with the application program deletion function.
  • the FAT method is used as the file system method.
  • the file system is used.
  • Other schemes may be used.
  • the storage area of each file included in the application program indicates a bad sector.
  • the position information of each file may be edited.
  • the application program adding process is executed by restoring the position information of each file included in the application program to the original state.
  • the above processing functions can be realized by a computer.
  • a program describing the processing contents of the functions that each information processing apparatus should have is provided.
  • the program describing the processing contents can be recorded on a computer-readable recording medium.
  • the computer-readable recording medium include a magnetic storage device, an optical disk, a magneto-optical recording medium, and a semiconductor memory.
  • the magnetic storage device include a hard disk device (HDD), a flexible disk (FD), and a magnetic tape.
  • Optical discs include DVD, DVD-RAM, CD-ROM / RW, and the like.
  • Magneto-optical recording media include MO (Magneto-Optical disk).
  • a portable recording medium such as a DVD or CD-ROM in which the program is recorded is sold. It is also possible to store the program in a storage device of a server computer and transfer the program from the server computer to another computer via a network.
  • the computer that executes the program stores, for example, the program recorded on the portable recording medium or the program transferred from the server computer in its own storage device. Then, the computer reads the program from its own storage device and executes processing according to the program. The computer can also read the program directly from the portable recording medium and execute processing according to the program. In addition, each time a program is transferred from a server computer connected via a network, the computer can sequentially execute processing according to the received program.
  • processing functions described above can be realized by an electronic circuit such as a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), or a PLD (Programmable Logic Device).
  • DSP Digital Signal Processor
  • ASIC Application Specific Integrated Circuit
  • PLD Programmable Logic Device

Abstract

 プログラムを短時間で実行可能にする。 プログラム管理手段(20)は、実行不能にするように要求されたプログラム(P2)に含まれる各ファイルをファイル管理手段(10)が認識できなくなるように、プログラム(P2)に含まれる各ファイルについてのファイル管理情報(30)内の位置情報(32)を編集するとともに、プログラム(P2)に含まれる各ファイルの記録媒体における位置情報(22)をプログラム管理情報(21)に登録する。また、プログラム管理手段(20)は、プログラム(P2)を実行可能にする要求を受け付けると、プログラム管理情報(21)から読み出した位置情報(22)を用いてファイル管理情報(30)を編集し、プログラム(P2)に含まれる各ファイルをファイル管理手段(10)が認識できる状態に戻す。

Description

情報処理装置およびプログラム管理方法
 本発明は、情報処理装置およびプログラム管理方法に関する。
 一般に、コンピュータは、OS(Operating System)プログラムを実行し、OSプログラム上で各種のアプリケーションプログラムを実行する。アプリケーションプログラムをOSプログラム上で動作できる状態にする処理は、インストーラと呼ばれるプログラムに従って行われることが多い。
 インストーラが実行される場合、例えば、圧縮された、または非圧縮のバイナリデータからなるインストールデータが、コンピュータ上の所定のディレクトリに配置される。インストーラを実行したコンピュータは、インストールデータから、アプリケーションプログラムの実行ファイルなどのファイルを取り出し、コンピュータ内の記憶領域に展開する。これとともに、コンピュータは、インストールデータから、アプリケーションプログラムの起動に必要な設定情報を取り出し、レジストリなどの、OSプログラムが管理する設定情報記憶領域に書き込む。
 一方、インストールされたアプリケーションプログラムをコンピュータから削除する処理は、アンインストーラと呼ばれるプログラムに従って行われることが多い。アンインストーラを実行したコンピュータは、アプリケーションプログラムの実行ファイルなどの不要なファイルをコンピュータから削除するとともに、インストーラによって設定された設定情報の少なくとも一部を、OSプログラムが管理する領域から削除する。
 ところで、コンピュータにあらかじめインストールされていないアプリケーションプログラムは、例えば、光ディスクなどの外部メディアから、あるいは、ネットワークを通じて外部のコンピュータから、インストールを行うコンピュータに対して提供される。また、最近では、インストールデータが内部の記憶装置にあらかじめ記憶され、インストールデータを必要に応じてインストールできるような状態で、コンピュータが販売されることも多い。この場合、新たにインストールするアプリケーションプログラムのインストールデータを、外部メディアや外部のコンピュータから取り込む手間を省くことができる。
 なお、プログラムのインストール処理の一例として、圧縮されたインストールデータと非圧縮のインストールデータの2つを用意しておき、インストールを行うコンピュータの能力、具体的にはデータ圧縮能力およびデータ転送能力の組み合わせに応じて、どちらかのインストールデータを用いてインストールを行う方法がある。
 また、複数パッケージのプログラムをインストールする処理の一例として、全パッケージのインストールファイルのデータベースを1つにまとめることで、インストール時のデータベース検索回数を減らし、インストール処理時間を短縮する方法がある。
 また、プログラムのカスタマイズを高速に行う方法の一例として、メインルーチンの処理順の変更あるいはメインルーチンの削除を行う際に、メインルーチンから呼び出されるサブルーチンのプログラム識別子を変更する方法がある。
特開平6-44109号公報 特開平10-78865号公報 特開2004-341667号公報
 前述したように、コンピュータ内部の記憶装置にインストールデータをあらかじめ記憶しておくことで、アプリケーションプログラムをインストールする際に、インストールデータをコンピュータに取り込む分の処理時間を短縮することができる。しかしながら、アプリケーションプログラムをインストールする場合には、実行ファイルなどの多くのファイルをコンピュータの内部に展開する処理や、設定情報を設定情報記憶領域に書き込む処理などが実行される。また、インストールされたアプリケーションプログラムを削除する場合にも、実行ファイルなどの不要なファイルをコンピュータから削除する処理や、インストーラによって設定された設定情報の少なくとも一部を、設定情報記憶領域から削除する処理などが実行される。
 このように、アプリケーションプログラムのインストールや削除の処理はそれぞれ多くの処理手順を含むことから、処理時間が長いという問題があった。このため、ユーザは、使用したいアプリケーションプログラムをコンピュータに手軽に追加して動作可能な状態にしたり、不要になったアプリケーションプログラムを手軽に動作不可能にすることができなかった。
 また、前述したプログラムのカスタマイズ方法を用いて、アプリケーションプログラムのプログラム識別子を変更することでアプリケーションプログラムの追加や削除を行う場合には、プログラム識別子の変更により追加や削除が行われるように開発された専用のアプリケーションプログラムが必要になり、汎用性が低いことが問題となる。さらに、アプリケーションプログラムは、たとえ使用できない状態になっていても、OSプログラムから認識できる状態になっていればセキュリティホールになり得るという問題もある。
 本発明はこのような課題に鑑みてなされたものであり、プログラムを短時間で実行可能状態にできるようにした情報処理装置および方法を提供することを目的とする。
 上記目的を達成するために、次のような情報処理装置が提供される。この情報処理装置は、記録媒体におけるファイルの位置を示す位置情報を保持するファイル管理情報を用いて、前記記録媒体内のファイルを管理するファイル管理手段と、前記記録媒体に記録されたプログラムのうち実行不能にするように要求された実行不能プログラムに含まれる複数のファイルのそれぞれを前記ファイル管理手段が認識できなくなるように、当該実行不能プログラムに含まれる各ファイルについての前記ファイル管理情報内の位置情報を編集するとともに、当該実行不能プログラムに含まれる各ファイルの前記記録媒体における位置情報をプログラム管理情報に登録する第1のプログラム管理手段と、前記実行不能プログラムを実行可能にする要求を受け付けると、当該実行不能プログラムに含まれる各ファイルの位置情報を前記プログラム管理情報から読み出し、読み出した位置情報を用いて前記ファイル管理情報を編集し、当該実行不能プログラムに含まれる各ファイルを前記ファイル管理手段が認識できる状態に戻す第2のプログラム管理手段と、を有する。
 また、上記目的を達成するために、上記の情報処理装置と同様の処理を行うプログラム管理方法が提供される。
 さらに、上記目的を達成するために、次のような情報処理装置が提供される。この情報処理装置は、記録媒体におけるファイルの位置を示す位置情報を保持するファイル管理情報を用いて、前記記録媒体内のファイルを管理するファイル管理手段と、前記ファイル管理情報を記憶する手段であって、前記記録媒体に記憶されたプログラムのうち実行不能にするように指定された実行不能プログラムに含まれる複数のファイルのそれぞれを前記ファイル管理手段が認識できなくなるように、当該実行不能プログラムに含まれる各ファイルの位置情報が編集された前記ファイル管理情報を記憶する第1の記憶手段と、前記実行不能プログラムに含まれる各ファイルの前記記録媒体における位置情報が登録されたプログラム管理情報を記憶する第2の記憶手段と、前記実行不能プログラムを実行可能にする要求を受け付けると、当該実行不能プログラムに含まれる各ファイルの位置情報を前記プログラム管理情報から読み出し、読み出した位置情報を用いて前記ファイル管理情報を編集し、当該実行不能プログラムに含まれる各ファイルを前記ファイル管理手段が認識できる状態に戻すプログラム管理手段と、を有する。
 上記の情報処理装置およびプログラム管理方法によれば、プログラムを短時間で実行可能状態にすることができる。
 本発明の上記および他の目的、特徴および利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
第1の実施の形態に係る情報処理装置の構成例を示す図である。 第2の実施の形態に係る情報処理装置のハードウェア構成例を示す図である。 第2の実施の形態に係る情報処理装置が備える処理機能の例を示すブロック図である。 アプリケーション管理テーブルに保持される情報の例を示す図である。 アプリケーション管理テーブルに保持されるファイル情報の内容を示す図である。 削除処理の前後におけるHDD上のファイル管理状態を模式的に示す図である。 アプリケーションプログラムが1つ削除される場合のFATの編集処理について説明する図である。 複数のアプリケーションプログラムが削除状態になる際の処理を説明する図である。 複数のアプリケーションプログラムが削除状態になる際のFATの編集処理について説明する図である。 アプリケーションプログラムの削除/追加を行う際の操作画面の表示例を示す図である。 ファイル選択画面の表示例を示す図である。 削除対象とするアプリケーションプログラムが追加設定された場合の操作画面の例を示す図である。 アプリケーションプログラムの削除処理手順を示すフローチャートである。 アプリケーションプログラムの追加処理手順を示すフローチャートである。 あらかじめアプリケーションプログラムが実行不能にされた情報処理装置の製造工程例を示す図である。 アプリケーション管理テーブルに保持されるファイル情報の内容を示す図である。 第3の実施の形態においてアプリケーションプログラムの削除処理が行われる際のFATの編集処理について説明する図である。 削除処理の前後におけるHDD上のファイル管理状態を模式的に示す図である。 アプリケーションプログラムの削除処理手順を示すフローチャートである。 アプリケーションプログラムの追加処理手順を示すフローチャートである。
 以下、実施の形態について図面を参照して説明する。
 〔第1の実施の形態〕
 図1は、第1の実施の形態に係る情報処理装置の構成例を示す図である。図1に示す情報処理装置1は、ファイル管理手段10と、プログラム管理手段20とを備えている。
 ファイル管理手段10は、記憶装置2におけるファイルの位置を示す位置情報を保持するファイル管理情報30を用いて、記憶装置2内のファイルを管理する。ファイル管理手段10は、例えば、一般的に「ファイルシステム」と呼ばれる機能の一部である。この場合、ファイル管理手段10の処理は、情報処理装置1がOSプログラム11を実行することによって実現される。
 記憶装置2には、情報処理装置1が実行するプログラムが記憶されている。図1の例では、記憶装置2には、プログラムP1とプログラムP2とが記憶されている。これらのプログラムP1,P2は、例えば、OSプログラム11が実行された環境において動作するアプリケーションプログラムである。また、プログラムP1,P2は、情報処理装置1にインストールされた状態であってよい。プログラムがインストールされた状態とは、例えば、プログラムに含まれる実行ファイルなどのファイルが記憶装置2に展開されるとともに、プログラムの設定情報が、情報処理装置1内の所定の設定情報記憶領域(例えば、記憶装置2内の領域)に記録された状態である。
 ファイル管理手段10は、プログラムP1,P2のそれぞれに含まれる各ファイルを、ファイル管理情報30内の各ファイルに対応する位置情報を用いて認識できる。例えば、ファイル管理手段10は、プログラムP1に含まれるファイルを、ファイル管理情報30内の位置情報31を用いて認識できる。また、ファイル管理手段10は、プログラムP2に含まれるファイルを、ファイル管理情報30内の位置情報32を用いて認識できる。なお、実際には、ファイル管理情報30内の位置情報は、ファイルごとに登録される。ここで、ファイル管理手段10がファイルを認識するとは、例えば、ファイル管理手段10が、ファイルを構成するデータの記憶装置2における位置を正しく認識できることを言う。
 プログラム管理手段20は、記憶装置2に記憶されたプログラムを実行不能の状態にする処理や、プログラムを実行不能の状態から実行可能の状態に戻す処理を行う。ここで、前者の処理をプログラムの「削除」と呼び、後者の処理をプログラムの「追加」と呼ぶ。
 プログラム管理手段20の処理は、例えば、情報処理装置1が前述したアプリケーションプログラムを実行することによって実現される。また、ファイル管理手段10は、例えば、プログラム管理手段20の処理を実現するアプリケーションプログラムに含まれるファイルを、ファイル管理情報30内の位置情報33を用いて認識可能である。このことは、プログラム管理手段20によってプログラムP1,P2の少なくとも一方が実行不能状態とされたときでも、プログラム管理手段20は、OSプログラム11に従った制御の下で動作し続けることを意味する。
 プログラム管理手段20は、記憶装置2に記憶されたプログラムのうち削除の対象とするプログラムの指定を受け付けると、次のようにして、プログラムの削除処理を実行する。なお、ここでは例として、プログラムP2が削除の対象として指定されたものとする。
 プログラム管理手段20は、プログラムP2に含まれる各ファイルをファイル管理手段10が認識できなくなるように、プログラムP2に含まれる各ファイルについてのファイル管理情報30内の位置情報32を編集する。ファイル管理情報30内の位置情報の編集方法としては、例えば、プログラムP2に含まれる各ファイルを接続して、各ファイルがファイル管理手段10から1つのファイルとして認識されるようにしてもよい。この場合、複数のプログラムが削除されるときには、削除対象の全プログラムに含まれるファイルが1つのファイルとして接続されてもよい。また、位置情報の編集の他の方法としては、プログラムP2に含まれる各ファイルの記憶領域が、ファイル管理手段10から使用不能領域として認識されるようにしてもよい。
 このように、プログラムP2に含まれる各ファイルについてのファイル管理情報30内の位置情報32が編集されることで、プログラムP2に含まれる各ファイルは、ファイル管理情報30内の位置情報を用いて認識することができない状態となる。このため、プログラムP2は、情報処理装置1において実行できない状態となる。例えば、削除状態となったプログラムP2は、OSプログラム11によって実現されるプログラム管理機能の管理下にない状態となるため、OSプログラム11に従った制御の下で実行することは不可能になる。
 また、プログラム管理手段20は、位置情報32を編集するとともに、プログラムP2に含まれる各ファイルの記憶装置2における位置情報22を、プログラム管理情報21に登録する。これにより、プログラム管理手段20は、例えば、削除状態となったプログラムP2に含まれる各ファイルの記憶装置2上の位置を認識できる状態となる。プログラム管理情報21に登録される位置情報22は、ファイル管理情報30内の位置情報32に保持されていた情報の一部であってもよく、あるいは、位置情報32に保持されていた情報を基に生成された情報であってもよい。なお、プログラム管理情報21に登録される位置情報も、ファイル管理情報30に登録される位置情報と同様に、実際にはファイルごとに登録される。
 なお、ファイル管理情報30内の編集対象とする位置情報、および、プログラム管理情報21に登録する位置情報としては、ともに、各ファイルの物理的な位置を示す情報だけでなく、ファイルのディレクトリを示す情報が含まれてもよい。また、プログラム管理情報21は、記憶装置2に格納されても、あるいは、記憶装置2とは別の記憶装置に格納されてもよい。
 次に、プログラム管理手段20は、削除状態とされたプログラムのうち追加の対象とするプログラムの指定を受け付けると、次のようにしてプログラムの追加処理を実行する。なお、ここでは例として、前述の処理により削除状態とされたプログラムP2が、追加の対象として指定されたものとする。
 プログラム管理手段20は、追加の対象とされたプログラムP2に含まれる各ファイルの位置情報22をプログラム管理情報21から読み出し、読み出した位置情報22を用いてファイル管理情報30の位置情報を編集し、プログラムP2に含まれる各ファイルをファイル管理手段10が認識できる状態に戻す。これにより、ファイル管理情報30には、プログラムP2に含まれる各ファイルの位置情報32が元通り登録された状態とされる。また、プログラム管理情報21に登録されていた、プログラムP2に含まれる各ファイルについての位置情報22は、プログラム管理情報21から削除されればよい。
 以上のプログラム管理手段20によるプログラムの削除および追加処理では、削除および追加の対象とするプログラムに含まれるファイルについてのファイル管理情報30内の位置情報を編集することによって、プログラムを実行不能状態にしたり、プログラムを実行可能状態に戻す処理を短時間で行えるようになる。例えば、プログラムをインストールする処理では、プログラムに含まれる各ファイルを記憶装置に展開するとともに、プログラムの設定情報を所定の記憶領域に記憶するなど、多くのデータを記憶装置に書き込む必要がある。これに対して、プログラム管理手段20によるプログラムの追加処理では、プログラムのインストール処理と比較して書き込みを行うデータ量が少なく済むので、プログラムをより短時間で実行不能状態にすることができる。また、プログラム管理手段20によるプログラムの削除処理でも、削除対象のプログラムに含まれるファイル自体を記憶装置2から削除しないので、削除処理を短時間で実行できる。
 さらに、プログラム管理手段20によるプログラムの削除および追加処理は、ファイル管理情報30内の位置情報の編集によって行われるので、削除および追加の対象とするプログラムに、削除および追加処理の実現に必要な特別な処理手順を記述しておく必要がない。従って、プログラムの削除および追加の対象とするプログラムを選ばず、汎用性が高い。
 また、ファイル管理情報30内の位置情報の編集によってプログラムが実行不能にされた状態では、実行不能状態のプログラムに含まれる各ファイルを、ファイル管理情報30を用いて認識することはできない。このため、実行不能状態のプログラムに含まれる各ファイルが悪意のある攻撃を受ける可能性が低くなり、セキュリティを保ったままプログラムを実行不能状態にしておくことができる。
 なお、上記のプログラム管理手段20を備える情報処理装置1は、記憶装置2内のプログラム(例えばプログラムP1,P2)があらかじめ実行不能にされた状態で販売されてもよい。この場合、情報処理装置1の購入者は、実行不能にされたプログラムの中から所望のプログラムを選択し、プログラム管理手段20の処理によって実行可能状態に遷移させることができる。また、プログラムがあらかじめ実行不能にされた状態で情報処理装置1が販売される場合、情報処理装置1のプログラム管理手段20は、実行可能状態のプログラムを実行不能状態にする機能を備えていなくてもよい。
 〔第2の実施の形態〕
 次に、第2の実施の形態として、ファイルシステムとしてFAT(File Allocation Table)方式を採用した情報処理装置について説明する。まず、図2は、第2の実施の形態に係る情報処理装置のハードウェア構成例を示す図である。
 第2の実施の形態に係る情報処理装置100は、図2に示すようなコンピュータとして実現される。このコンピュータは、CPU(Central Processing Unit)101によって装置全体が制御されている。CPU101には、バス108を介して、RAM(Random Access Memory)102と複数の周辺機器が接続されている。
 RAM102は、コンピュータの主記憶装置として使用される。RAM102には、CPU101に実行させるOSプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。
 バス108に接続されている周辺機器としては、ハードディスクドライブ(HDD:Hard Disk Drive)103、グラフィック処理装置104、入力インタフェース105、光学ドライブ装置106および通信インタフェース107がある。
 HDD103は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。HDD103は、コンピュータの二次記憶装置として使用される。HDD103には、OSプログラム、アプリケーションプログラム、および各種データが格納される。なお、二次記憶装置としては、フラッシュメモリなどの半導体記憶装置を使用することもできる。
 グラフィック処理装置104には、モニタ104aが接続されている。グラフィック処理装置104は、CPU101からの命令に従って、画像をモニタ104aの画面に表示させる。モニタ104aとしては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置などがある。なお、モニタ104aは、例えば、情報処理装置100と一体に設けられていてもよい。
 入力インタフェース105には、例えば、キーボード105aとマウス105bとが接続されている。入力インタフェース105は、キーボード105aやマウス105bから送られてくる信号をCPU101に送信する。なお、キーボード105aは、例えば、情報処理装置100と一体に設けられてもよい。また、マウス105bは、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
 光学ドライブ装置106は、レーザ光などを利用して、光ディスク106aに記録されたデータの読み取りを行う。光ディスク106aは、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク106aには、DVD(Digital Versatile Disc)、DVD-RAM、CD-ROM(Compact Disc Read Only Memory)、CD-R(Recordable)/RW(ReWritable)などがある。
 通信インタフェース107は、ネットワーク107aに接続されている。通信インタフェース107は、ネットワーク107aを介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
 図3は、第2の実施の形態に係る情報処理装置が備える処理機能の例を示すブロック図である。
 情報処理装置100のCPU101は、HDD103に記憶されたOSプログラム110を実行することで、情報処理装置100全体を管理する。図3に示すファイル管理部111は、CPU101がOSプログラム110を実行することで実現される、「ファイルシステム」と呼ばれる機能の一部である。ファイル管理部111は、ファイル管理情報120を用いて、HDD103に記憶されたファイルを管理する。
 ファイル管理情報120は、HDD103に記憶され、FAT121、ルートディレクトリテーブル122およびディレクトリテーブル123を含む。FAT121は、ファイルを構成するデータのHDD103における位置を示す情報が登録される。より具体的には、FAT121は、HDD103のクラスタごとのエントリを備え、各エントリには、ファイル内のデータの接続関係を示す情報が登録される。
 例えば、FAT16方式では、クラスタに記録されたデータがファイルの終端である場合には、そのクラスタに対応するエントリには“0xFFFF”(“0x”は16進数表記を示す)が登録される。また、クラスタに記録されたデータがファイルの終端でない場合には、そのクラスタに対応するエントリには、ファイル内の次のデータが記憶されたクラスタのアドレス(オフセット)が登録される。
 ルートディレクトリテーブル122およびディレクトリテーブル123は、HDD103に記憶されたファイルについての「ディレクトリ」と呼ばれる階層構造を示す情報が登録される。ルートディレクトリテーブル122には、ルートディレクトリに配置されたデータやフォルダの情報が登録される。例えば、ルートディレクトリテーブル122には、最初の子ディレクトリを示す情報が登録される。
 ディレクトリテーブル123には、ルートディレクトリ以外のディレクトリに配置されたファイルやフォルダの情報が登録される。ディレクトリテーブル123には、ディレクトリごとに親ディレクトリを示す情報が登録されている。ファイル管理部111は、ディレクトリテーブル123に登録された、親ディレクトリを示す情報と、ルートディレクトリテーブル122に登録された、子ディレクトリを示す情報とを基に、ディレクトリの構造を認識し、所望のディレクトリに配置されたファイルを検索できる。
 ディレクトリテーブル123には、ファイルの情報として、例えば、ファイル名、ファイルの属性情報、ファイルの先頭データが格納されたクラスタのアドレス(FAT番号)、ファイルサイズなどが登録されている。ファイル管理部111は、ディレクトリテーブル123から、ファイルの先頭データが格納されたクラスタのアドレスを取得し、取得したアドレスに対応するFAT121のエントリを参照することで、HDD103上のファイルの位置を認識する。
 また、情報処理装置100のHDD103には、OSプログラム110が実行された環境下で動作するアプリケーションプログラムとして、アプリケーションA,B,Cおよびソフトウェアマネージャ150が格納されている。アプリケーションA,B,Cおよびソフトウェアマネージャ150は、いずれも、情報処理装置100に対してインストールされているものとする。
 情報処理装置100は、CPU101がソフトウェアマネージャ150を実行することで実現される機能として、削除/追加処理部151およびユーザインタフェース部152を備えている。削除/追加処理部151は、情報処理装置100にインストールされた任意のアプリケーションプログラムを実行不能状態にする「削除」処理と、削除状態にしたアプリケーションプログラムを再度実行可能状態にする「追加」処理とを実行する。
 削除/追加処理部151は、削除対象とするアプリケーションプログラムに含まれるファイルが、ファイル管理部111から1つの仮想領域ファイルとして認識されるように、ファイル管理部111を通じてファイル管理情報120を編集する。削除/追加処理部151によるファイル管理情報120の編集により、アプリケーションプログラムは削除状態となる。また、削除/追加処理部151は、複数のアプリケーションプログラムを削除状態にする場合には、各アプリケーションプログラムに含まれるすべてのファイルを、1つの仮想領域ファイルに組み込む。
 また、削除/追加処理部151は、アプリケーション管理テーブル160に対して、削除状態としたアプリケーションプログラムのエントリを生成する。削除/追加処理部151は、アプリケーション管理テーブル160のエントリに対して、削除状態としたアプリケーションプログラムに関する各種の属性情報や、アプリケーションプログラムに含まれる各ファイルの仮想領域ファイルにおける位置情報、各ファイルの属性情報などを登録する。削除/追加処理部151は、アプリケーション管理テーブル160を用いることで、仮想領域ファイルが記憶された領域を、ファイル管理部111が管理する領域から切り離された仮想記憶領域として管理できるようになる。
 なお、アプリケーション管理テーブル160に登録される情報は、削除/追加処理部151およびユーザインタフェース部152のみが読み書きできるように暗号化されることが望ましい。
 また、削除/追加処理部151は、削除状態としたアプリケーションプログラムを実行可能状態にする「追加」の要求を受け付けると、アプリケーション管理テーブル160に登録された情報を基にファイル管理部111を通じてファイル管理情報120を編集する。削除/追加処理部151は、ファイル管理情報120を編集することにより、追加を要求されたアプリケーションプログラムに含まれる各ファイルが、ファイル管理部111によって元通り認識されるようにする。
 削除/追加処理部151は、以上のようなファイル管理情報120の編集処理によって、HDD103上のアプリケーションプログラムの削除および追加処理を、短時間で実行できるようにする。
 ユーザインタフェース部152は、削除/追加処理部151によってアプリケーションプログラムの削除および追加処理を実行する際のユーザインタフェースを提供する。例えば、ユーザインタフェース部152は、後述するように、削除するアプリケーションプログラムや追加するアプリケーションプログラムを選択するためのGUI(Graphical User Interface)画面を生成し、モニタ104aに表示させる。
 図4は、アプリケーション管理テーブルに保持される情報の例を示す図である。
 アプリケーション管理テーブル160には、削除状態とされたアプリケーションプログラムにそれぞれ対応するエントリが生成される。各エントリには、ID(識別子)が付与される。アプリケーション管理テーブル160には、エントリごとに、エントリに対応するアプリケーションプログラムに関するアプリケーション情報161と、エントリに対応するアプリケーションプログラムに含まれるファイルに関するファイル情報162とが格納される。
 アプリケーション情報161には、「アプリケーション名」、「説明」、「アイコン」および「設定値」の各欄が設けられる。「アプリケーション名」の欄には、削除状態とされたアプリケーションプログラムの名称が登録される。「説明」の欄は、削除状態とされたアプリケーションプログラムの説明文が登録される。「アイコン」の欄には、削除状態とされたアプリケーションプログラムを識別するアイコン画像のデータが登録される。削除/追加処理部151は、これらの「アプリケーション名」、「説明」および「アイコン」の各欄に登録される情報を、例えば、削除状態とされたアプリケーションプログラムの実行ファイルから取得して登録する。なお、これらの「アプリケーション名」、「説明」および「アイコン」の各欄には、ユーザの操作によって入力された情報が登録されてもよい。
 「設定値」の欄には、削除状態とされたアプリケーションプログラムの設定情報が登録される。設定情報は、HDD103上に設けられた「レジストリ」と呼ばれる設定情報の記憶領域に記録された情報である。削除/追加処理部151は、例えば、削除状態とされたアプリケーションプログラムの設定情報のファイルを、レジストリからバイナリデータとして取得し、「設定値」の欄に登録する。
 なお、アプリケーション管理テーブル160には、削除状態とされたアプリケーションプログラムにそれぞれ対応するエントリが、削除状態とされた順に生成される。従って、アプリケーション管理テーブル160の先頭のエントリに対応するアプリケーションプログラム内の先頭ファイルは、仮想領域ファイルの先頭に配置されることになる。
 図5は、アプリケーション管理テーブルに保持されるファイル情報の内容を示す図である。
 ファイル情報162には、削除状態とされたアプリケーションプログラムに含まれるファイルごとにエントリが生成される。ファイル情報162には、「ファイルディレクトリ」、「属性情報」、「先頭クラスタ」および「ファイル長」の各欄が設けられる。
 「ファイルディレクトリ」の欄には、エントリに対応するファイルのディレクトリを示す情報が登録される。ディレクトリを示す情報には、エントリに対応するファイルのファイル名も含まれる。削除/追加処理部151は、削除対象とするアプリケーションプログラムに含まれるファイルの指定を受けると、ルートディレクトリテーブル122およびディレクトリテーブル123を参照し、各ファイルのルートディレクトリを起点としたディレクトリ情報を認識して、「ファイルディレクトリ」の欄に登録する。
 「属性情報」の欄には、エントリに対応するファイルの属性情報が登録される。「属性情報」の欄には、例えば、ファイルに対応するディレクトリテーブル123のエントリに記憶された、ファイルの属性情報が登録される。このような属性情報としては、ファイルが読み出し専用か、隠しファイルか、システムファイルか、バックアップファイルかなどを識別する情報が登録される。
 「ファイルディレクトリ」および「属性情報」の各欄に登録された情報は、削除状態とされたアプリケーションプログラムを実行可能状態に戻す追加処理の際に、アプリケーションプログラムに含まれる各ファイルのディレクトリエントリをディレクトリテーブル123に復元するために利用される。
 「先頭クラスタ」の欄には、エントリに対応するファイルの先頭データが格納されたクラスタのアドレス(FAT番号)が登録される。削除/追加処理部151は、指定されたファイルに対応するディレクトリテーブル123のエントリから、ファイルの先頭データが格納されたクラスタのアドレスを読み出して、「先頭クラスタ」の欄に登録する。
 「ファイル長」の欄には、エントリに対応するファイルの長さ(バイナリの長さ)が登録される。削除/追加処理部151は、「先頭クラスタ」に登録したアドレスに対応するFAT121のエントリから、同じファイルが格納されたクラスタを辿っていくことで、ファイルの長さを判別して「ファイル長」の欄に登録する。なお、「ファイル長」の欄には、例えば、指定されたファイルに対応するディレクトリテーブル123のエントリに登録されたファイル長の情報が読み出されて登録されてもよい。
 「先頭クラスタ」および「ファイル長」の各欄に登録された情報は、削除状態とされたアプリケーションプログラムを実行可能状態に戻す追加処理の際に、FAT121を編集して、アプリケーションプログラムに含まれる各ファイルの記憶位置をファイル管理部111が再認識できるようにするために利用される。
 ただし、仮想領域ファイルの先頭に配置されるファイルに対応するエントリでは、「先頭クラスタ」の欄には必ずしもアドレスが登録されなくてもよい。なぜなら、仮想領域ファイルの先頭データが記憶されたクラスタのアドレスは、別途生成される仮想領域ファイルのディレクトリエントリから取得可能であるからである。なお、仮想領域ファイルのディレクトリエントリの生成については、図13のフローチャートにおいて説明する。
 次に、アプリケーションプログラムを削除する処理について詳しく説明する。まず、図6は、削除処理の前後におけるHDD上のファイル管理状態を模式的に示す図である。この図6では例として、アプリケーションAの削除処理が行われる場合を示す。
 図6の上段および下段の各図では、上層に「OSプログラム(110)」が描画されたHDD103の記憶領域は、OSプログラム110によって実現されるファイル管理部111によって管理される記憶領域であることを示す。例えば、図6の上段では、ソフトウェアマネージャ150およびアプリケーションAは、HDD103上のファイル管理部111によって管理された領域に記憶されている。
 図6の上段に示すように、アプリケーションAが削除される前の状態では、ファイル管理情報120には、アプリケーションAに含まれる各ファイルの位置を示す情報が格納されている。このため、OSプログラム110によって実現されるファイル管理部111は、アプリケーションAに含まれる各ファイルのHDD103における位置を認識可能である。そして、アプリケーションAは、OSプログラム110に従った制御の下で実行可能な状態となっている。
 一方、削除/追加処理部151によってアプリケーションAが削除状態とされると、図6の下段に示すように、ファイル管理情報120が編集されて、アプリケーションAの各ファイルは仮想領域ファイルFvlという1つのファイルに変換される。このとき、ファイル管理部111は、仮想領域ファイルFvl自体を認識することはできるものの、仮想領域ファイルFvl内に含まれる各ファイルを認識することはできなくなる。この状態では、アプリケーションAは、OSプログラム110に従った制御の下で実行できない状態となる。
 また、アプリケーションAが削除状態であるとき、ソフトウェアマネージャ150によって実現される削除/追加処理部151は、アプリケーション管理テーブル160を用いて、アプリケーションAに含まれていた各ファイルの位置情報を管理している。削除/追加処理部151は、アプリケーションAを再度実行可能な状態にする「追加処理」を行う際に、アプリケーション管理テーブル160からアプリケーションA内の各ファイルの位置情報を取得する。削除/追加処理部151は、アプリケーション管理テーブル160から取得した位置情報を用いて、ファイル管理情報120を再度編集することで、仮想領域ファイルFvlから各ファイルを切り出し、ファイル管理部111の管理下のファイルに戻すことができる。
 このように、情報処理装置100では、ファイル管理情報120の編集によって、アプリケーションプログラムを実行不能状態にする削除処理や、実行可能状態に戻す追加処理を行う。このような処理では、アプリケーションプログラムをアンインストールしたり、再インストールする場合と比較して、アプリケーションプログラムの削除や追加を短時間で実行できる。
 また、アプリケーションプログラムは、削除/追加処理部151によって削除状態とされていても、アプリケーションプログラムに含まれるデータ自体はファイル管理部111の管理下にある。このため、例えば、削除状態のアプリケーションプログラムのデータが記憶された領域が物理的に破壊された場合、OSプログラム110によって実現されるデータ修復機能により、破壊された記憶領域に記憶されていたデータは修復され得る。また、仮想領域ファイルのデータを、OSプログラム110によって実現されるバックアップ機能や、他のアプリケーションプログラムによって実現されるバックアップ機能によって、バックアップしておくことも可能である。
 なお、削除/追加処理部151は、1つ以上のアプリケーションプログラムを削除状態にすると、例えば、HDD103のルートディレクトリなどの所定のディレクトリに、仮想領域ファイルFvlを生成する。このとき、削除/追加処理部151は、削除状態にしたアプリケーションプログラムに含まれる各ファイルのディレクトリエントリを、ディレクトリテーブル123から削除する。また、削除/追加処理部151は、仮想領域ファイルFvlを1つのドライブとしてファイル管理部111に認識させるようにしてもよい。
 図7は、アプリケーションプログラムが1つ削除される場合のFATの編集処理について説明する図である。
 この図7では、アプリケーションAのみが、削除/追加処理部151によって削除状態とされるものとする。図7に示すように、アプリケーションAには、順にファイルFa1、ファイルFa2が含まれるものとする。ファイルFa1を構成するデータは、FAT番号0x0024~0x0026に対応するクラスタに格納され、ファイルFa2を構成するデータの先頭は、FAT番号0x0027に対応するクラスタに格納されている。なお、各FAT番号に対応するエントリはそれぞれ2つの情報格納領域を有し、1番目の情報格納領域に下位1バイトのデータが、2番目の情報格納領域に上位1バイトのデータがそれぞれ格納される。
 ここで、アプリケーションAが削除状態にされると、アプリケーションAに含まれる各ファイルが仮想領域ファイルFvlに統合される。このとき、削除/追加処理部151は、アプリケーション管理テーブル160に、アプリケーションAに対応するエントリを生成する。削除状態とされるアプリケーションプログラムがアプリケーションAのみの場合、アプリケーションAに対応するエントリがアプリケーション管理テーブル160の先頭に生成される。
 削除/追加処理部151は、アプリケーション管理テーブル160に生成したエントリ内のファイル情報162の先頭エントリに、ファイルFa1の情報を登録することで、仮想領域ファイルFvlの先頭にファイルFa1のデータを設定する。次に、削除/追加処理部151は、ファイルFa2を仮想領域ファイルFvlに組み込む処理を行う。削除/追加処理部151は、直前に仮想領域ファイルFvlに組み込んだファイルFa1の最終データを含むクラスタを判別し、判別したクラスタに対応するFAT121のエントリ(ここではFAT番号0x0026のエントリ)を、ファイルFa2の先頭データを含むクラスタのアドレス(ここでは0x0027)に書き替える。これにより、仮想領域ファイルFvlの最後尾に、ファイルFa2のデータが接続される。以後、削除/追加処理部151は、上記の手順でFAT121を編集していくことで、アプリケーションAに含まれるファイルを仮想領域ファイルFvlの最後尾に順次接続していく。
 一方、削除/追加処理部151は、削除状態としたアプリケーションAを再度実行可能な状態にする追加処理を行う際には、FAT121のエントリの情報を図7の下段から図7の上段のように戻すことで、アプリケーションAに含まれる各ファイルを復元する。削除/追加処理部151は、アプリケーションAを削除状態としたとき、アプリケーションAに含まれる各ファイルの先頭データの位置情報(クラスタのアドレス)と各ファイルの長さとをアプリケーション管理テーブル160に登録しておく。そして、削除/追加処理部151は、アプリケーションAの追加処理を行う際に、アプリケーション管理テーブル160に登録された情報を参照することで、仮想領域ファイルFvlにおける各ファイルの切り出し位置を認識して、各ファイルを復元することができる。
 図8は、複数のアプリケーションプログラムが削除状態になる際の処理を説明する図である。
 この図8では、アプリケーションA,Bがすでに削除状態となっているときに、アプリケーションCをさらに削除状態にする場合の処理について示している。アプリケーションCにファイルFc1~Fc3が含まれるものとすると、アプリケーションCが削除される場合、仮想領域ファイルFvlの最後尾に、ファイルFc1~Fc3が統合される。
 図9は、複数のアプリケーションプログラムが削除状態になる際のFATの編集処理について説明する図である。
 図9の上段において、アプリケーションCが削除状態となる前は、仮想領域ファイルFvlの最終データがFAT番号0x0053に対応するクラスタに格納されていたものとする。また、アプリケーションCに含まれるファイルFc1を構成するデータは、FAT番号0x0054~0x0056に対応するクラスタに格納され、アプリケーションCに含まれるファイルFc2を構成するデータの先頭は、FAT番号0x0057に対応するクラスタに格納されている。
 削除/追加処理部151は、アプリケーションCを削除状態にする際には、まず、仮想領域ファイルFvlの最終データを含むクラスタに対応するFAT121のエントリ(ここではFAT番号0x0053のエントリ)を、ファイルFc1の先頭データを含むクラスタのアドレス(ここでは0x0054)に書き替える。これにより、仮想領域ファイルFvlの最後尾にファイルFc1を接続する。
 次に、削除/追加処理部151は、ファイルFc1の最終データを含むクラスタに対応するFAT121のエントリ(ここではFAT番号0x0056のエントリ)を、ファイルFc2の先頭データを含むクラスタのアドレス(ここでは0x0057)に書き替える。これにより、仮想領域ファイルFvlの最後尾にファイルFc2を接続する。以後、削除/追加処理部151は、上記の手順でFAT121を編集していくことで、アプリケーションCに含まれるファイルを仮想領域ファイルFvlの最後尾に接続していく。
 なお、アプリケーションを削除状態にする際の削除/追加処理部151による詳細な処理手順については、図13において説明する。
 次に、アプリケーションプログラムの削除および追加を行う際に、ユーザインタフェース部152によって表示される画面の例について説明する。まず、図10は、アプリケーションプログラムの削除/追加を行う際の操作画面の表示例を示す図である。
 操作画面170には、検索用入力領域171、アプリケーション表示領域172、確定ボタン176および新規管理ボタン177が設けられる。
 検索用入力領域171は、アプリケーション表示領域172に表示されたアプリケーションプログラムの名称や説明文を検索する検索文字が入力される。ユーザインタフェース部152は、例えば、検索用入力領域171に文字が入力されると、アプリケーションプログラムの名称や説明文の中に検索用入力領域171に入力された文字を含むアプリケーションプログラムを抽出する。そして、ユーザインタフェース部152は、抽出されたアプリケーションプログラムを、例えば、アプリケーション表示領域172において強調表示する。
 アプリケーション表示領域172には、アプリケーション管理テーブル160にエントリが生成されたアプリケーションプログラムごとに、アイコン表示領域173、アプリケーション説明領域174および操作ボタン領域175が設けられる。
 アイコン表示領域173には、アプリケーションプログラムの実行ファイルのアイコンが表示される。このアイコン表示領域173には、例えば、アプリケーション管理テーブル160内の「アイコン」の欄に登録されたデータを基に、アイコンが表示される。アプリケーション説明領域174には、例えば、アプリケーションプログラムの名称や、アプリケーションプログラムによって実現される機能の説明文などが表示される。ここで、プログラム名としては、例えば、アプリケーション管理テーブル160内の「アプリケーション名」の欄に登録された名称が表示されればよい。また、アプリケーションプログラムによって実現される機能の説明文としては、アプリケーション管理テーブル160内の「説明」の欄に登録された情報が表示されればよい。
 操作ボタン領域175は、各アプリケーションプログラムについて次に処理の実行が要求される際にクリック操作される領域である。例えば、アプリケーションプログラムが現在削除された状態の場合、操作ボタン領域175には「追加」と表示される。「追加」と表示された操作ボタン領域175がクリック操作され、さらに確定ボタン176がクリック操作されると、アプリケーションプログラムの追加処理が実行される。
 ユーザは、削除状態になっているアプリケーションプログラムを使用したいと考えたときには、アイコン表示領域173に表示されたアプリケーションプログラムの中から、操作ボタン領域175に「追加」と表示されたアプリケーションプログラムを探す。ユーザは、所望のアプリケーションプログラムを見つけると、そのアプリケーションプログラムに対応する操作ボタン領域175に対するクリック操作を行い、さらに確定ボタン176に対するクリック操作を行う。このような操作により、ユーザは、所望のアプリケーションプログラムの追加処理を実行させることができる。
 また、新規管理ボタン177は、アプリケーション表示領域172に表示されていないアプリケーションプログラムを新規に削除状態にしたい場合に、クリック操作される。新規管理ボタン177がクリック操作されると、次の図11に示すようなファイル選択画面が表示される。
 図11は、ファイル選択画面の表示例を示す図である。
 ファイル選択画面180には、ディレクトリ選択部181、ファイル選択部182、ファイル選択決定ボタン183およびキャンセルボタン184が設けられる。ディレクトリ選択部181は、ディレクトリの選択操作を受け付ける領域であり、ファイル選択部182には、ディレクトリ選択部181において選択されたディレクトリに含まれるファイルが一覧表示される。ユーザは、ファイル選択部182に表示されたファイルから、仮想領域ファイルに組み込むファイルを選択した後、ファイル選択決定ボタン183をクリック操作することで、ファイルの選択を確定する。ファイルの選択が確定されると、図12に示すように、ファイルの選択が操作画面170に反映される。なお、ユーザは、キャンセルボタン184をクリック操作することで、図10に示した操作画面170に戻ることができる。
 図12は、削除対象とするアプリケーションプログラムが追加設定された場合の操作画面の例を示す図である。
 図11に示したファイル選択画面180を用いて、アプリケーションCに含まれるファイルが選択されると、操作画面170のアプリケーション表示領域172には、アプリケーションCについての情報が表示される。削除/追加処理部151は、例えば、ファイル選択画面180を用いて選択された、アプリケーションCの実行ファイルから、アプリケーション名、アプリケーションプログラムの説明、実行ファイルのアイコンを抽出し、それぞれアプリケーション管理テーブル160の「アプリケーション名」の欄、「説明」の欄、「アイコン」の欄に登録する。ユーザインタフェース部152は、アプリケーション管理テーブル160に新たに登録された情報を基に、アプリケーション表示領域172に情報を表示する。
 ファイル選択画面180を用いたファイルの選択操作後のアプリケーション表示領域172では、追加されたアプリケーションCに対応する操作ボタン領域175に「削除」と表示される。ユーザは、「削除」と表示された操作ボタン領域175に対するクリック操作を行い、さらに確定ボタン176に対するクリック操作を行う。すると、削除/追加処理部151は、ファイル管理情報120内のアプリケーションCに関する情報の編集処理を行い、アプリケーションCを削除状態にする。
 アプリケーションCの削除処理が完了すると、アプリケーションCに対応する操作ボタン領域175には「追加」と表示されるようになる。この後、「追加」と表示された、アプリケーションCに対応する操作ボタン領域175がクリック操作され、さらに確定ボタン176がクリック操作されることで、アプリケーションCの追加処理が実行される。
 次に、アプリケーションプログラムの削除および追加の処理について、フローチャートを用いて説明する。まず、図13は、アプリケーションプログラムの削除処理手順を示すフローチャートである。
 [ステップS11]ユーザインタフェース部152は、図10~図12で説明した手順で、新たに削除状態にするアプリケーションプログラムに含まれるファイルの選択操作を受け付ける。
 [ステップS12]削除/追加処理部151は、ステップS11で選択されたファイルのうち、アプリケーションプログラムの実行ファイルから、アプリケーション名、アプリケーションプログラムの説明、実行ファイルのアイコンの各情報を抽出する。また、削除/追加処理部151は、削除状態にするアプリケーションプログラムに関する設定情報をレジストリからバイナリデータとして取得する。このとき、削除/追加処理部151は、削除状態にするアプリケーションプログラムに関する設定情報をレジストリから削除してもよい。
 削除/追加処理部151は、アプリケーション管理テーブル160に、削除対象とする新たなアプリケーションプログラムのエントリを作成する。削除/追加処理部151は、作成したエントリ内のアプリケーション情報161として、実行ファイルから抽出した情報と、レジストリから取得した情報とを登録する。
 なお、このとき、図12に示したように、操作画面170のアプリケーション表示領域172には、新たに削除状態にするアプリケーションプログラムの情報が表示され、操作ボタン領域175には「追加」と表示される。この後、「追加」と表示された操作ボタン領域175がクリック操作され、さらに確定ボタン176がクリック操作されることで、ステップS13以降の処理が実行される。
 [ステップS13]削除/追加処理部151は、ステップS11で選択されたファイルの中からファイルを1つ選択し、選択したファイルに対応するエントリを、アプリケーション管理テーブル160のファイル情報162に生成する。
 [ステップS14]削除/追加処理部151は、ステップS13で選択したファイルのファイルディレクトリを、アプリケーション管理テーブル160におけるファイルのエントリ内の「ファイルディレクトリ」の欄に登録する。削除/追加処理部151は、ファイル管理部111を通じてルートディレクトリテーブル122およびディレクトリテーブル123を参照し、ルートディレクトリを起点としたファイルのディレクトリ情報を認識して、「ファイルディレクトリ」の欄に登録する。
 なお、選択されたファイルのディレクトリの情報は、ステップS11において図11のファイル選択画面180を用いてファイルを選択する段階でも認識されるため、ステップS14では、ステップS11の段階で認識されていたファイルディレクトリ情報がアプリケーション管理テーブル160に登録されてもよい。
 [ステップS15]削除/追加処理部151は、ファイル管理部111を通じてディレクトリテーブル123を参照し、ステップS13で選択したファイルについてのディレクトリエントリから、ファイルの属性情報および先頭クラスタのアドレスを読み出す。削除/追加処理部151は、読み出した属性情報および先頭クラスタのアドレスを、アプリケーション管理テーブル160におけるファイルのエントリ内の「属性情報」および「先頭クラスタ」の欄にそれぞれ登録する。
 [ステップS16]削除/追加処理部151は、ファイル管理部111を通じてFAT121を参照する。削除/追加処理部151は、「先頭クラスタ」の欄に登録したアドレスに対応するFAT121のエントリから、同じファイルのデータが格納されたクラスタを辿っていくことで、ステップS13で選択したファイルの長さを判別する。削除/追加処理部151は、判別したファイルの長さを、アプリケーション管理テーブル160におけるファイルのエントリ内の「ファイル長」の欄に登録する。
 [ステップS17]削除/追加処理部151は、ステップS13で選択したファイルが、仮想領域ファイルの先頭に位置するか否かを判定する。削除/追加処理部151は、ステップS13で生成したファイルのエントリが、アプリケーション管理テーブル160全体の先頭である場合に、ファイルが仮想領域ファイルの先頭に位置すると判定する。
 ファイルが仮想領域ファイルの先頭に位置する場合には、ステップS18の処理が実行され、ファイルが仮想領域ファイルの先頭に位置しない場合には、ステップS19の処理が実行される。
 [ステップS18]削除/追加処理部151は、ファイル管理部111を通じて、ルートディレクトリテーブル122に対して、仮想領域ファイルのディレクトリエントリを生成する。このとき、削除/追加処理部151は、生成したディレクトリエントリに、仮想領域ファイルの先頭クラスタのアドレスとして、ステップS15においてディレクトリテーブル123から読み出した先頭クラスタのアドレスを登録する。これにより、仮想領域ファイルの先頭データのHDD103における位置が、削除状態とするアプリケーションプログラムの先頭データのHDD103の位置に設定される。この後、ステップS21の処理が実行される。
 [ステップS19]削除/追加処理部151は、仮想領域ファイルの最終データが格納されたクラスタを判定する。仮想領域ファイルの最終データは、ステップS13でアプリケーション管理テーブル160に生成したファイルのエントリより1つ前のエントリ(直前エントリと呼ぶ)に対応するファイルの最終データである。削除/追加処理部151は、直前エントリの「先頭クラスタ」の欄からアドレスを取得し、ファイル管理部111を通じてFAT121を参照する。削除/追加処理部151は、直前エントリから取得したアドレスに対応するFAT121のエントリを起点としてFAT121のエントリを辿り、直前エントリに対応するファイルの最終データが格納されたクラスタを、仮想領域ファイルの最終データが格納されたエントリと判定する。
 [ステップS20]削除/追加処理部151は、ファイル管理部111を通じてFAT121にアクセスし、ステップS19で判定された、仮想領域ファイルの最終データが格納されたクラスタに対応するFAT121のエントリの情報を、ステップS13で選択したファイルの先頭データを含むクラスタを示すアドレスに書き替える。これにより、ステップS13で選択したファイルが、仮想領域ファイルの最後尾に接続される。なお、ステップS13で選択したファイルの先頭データを含むクラスタを示すアドレスは、ステップS15において「先頭クラスタ」の欄に登録したアドレスである。
 [ステップS21]削除/追加処理部151は、ファイル管理部111を通じてディレクトリテーブル123にアクセスし、ステップS11で選択したファイルについてのディレクトリエントリを削除する。
 [ステップS22]削除/追加処理部151は、ステップS11で選択されたすべてのファイルについてステップS13~S21の処理を実行したか否かを判定する。未処理のファイルが存在する場合には、ステップS13の処理が実行され、すべてのファイルについて処理済みの場合には、削除処理が終了される。
 以上の図13の処理では、アプリケーションプログラムに含まれるファイルが、順に仮想領域ファイルに組み込まれていくことにより、アプリケーションプログラムに含まれる各ファイルはファイル管理部111から認識できない状態になる。これにより、仮想領域ファイルに組み込まれたアプリケーションプログラムは、OSプログラム110に従った制御の下で実行できない状態になる。
 このような処理によれば、アプリケーションプログラムに含まれるファイル自体をHDD103から消去することなく、アプリケーションプログラムを実行不能状態にすることができるので、アプリケーションプログラムを短時間で実行不能状態に移行させることができる。
 次に、図14は、アプリケーションプログラムの追加処理手順を示すフローチャートである。
 [ステップS31]ユーザインタフェース部152は、図10,図12に示した操作画面170を通じて、追加処理を行うアプリケーションプログラムの選択入力を受け付ける。
 [ステップS32]削除/追加処理部151は、ステップS31において操作画面170を通じて選択されたアプリケーションプログラムに含まれるファイル(ここでは仮想領域ファイルに組み込まれたファイル)を1つ選択する。このとき、削除/追加処理部151は、アプリケーション管理テーブル160に生成されたエントリのうち、ステップS31で選択されたアプリケーションプログラムのエントリを選択する。削除/追加処理部151は、選択したアプリケーションプログラムのエントリ内のファイル情報162から、ファイルのエントリを1つ選択する。
 [ステップS33]削除/追加処理部151は、ステップS32で選択したファイルのエントリから、「ファイルディレクトリ」、「属性情報」、「先頭クラスタ」、「ファイル長」の各欄に登録された情報を取得する。
 [ステップS34]削除/追加処理部151は、ファイル管理部111を通じてディレクトリテーブル123を編集し、ステップS32で選択したファイルについてのディレクトリエントリを復元する。このステップS34は、図13のステップS21においてディレクトリテーブル123から削除されたディレクトリエントリを復元するものである。
 削除/追加処理部151はまず、ファイルのディレクトリが、ステップS33で「ファイルディレクトリ」の欄から取得したディレクトリとなるように、ディレクトリエントリをディレクトリテーブル123に生成する。次に、削除/追加処理部151は、生成したディレクトリエントリに対して、ステップS33で「属性情報」「先頭クラスタ」「ファイル長」の各欄から取得した情報を登録する。
 [ステップS35]削除/追加処理部151は、ファイル管理部111を通じて、ステップS32で選択したファイルに対応するFAT121のエントリを編集する。具体的には、削除/追加処理部151はまず、ステップS33で「先頭クラスタ」の欄から取得したクラスタに対応するFAT121のエントリをポイントする。次に、削除/追加処理部151は、ポイントしたエントリを起点として、ステップS33で「ファイル長」の欄から取得したデータの長さ分だけFAT121を辿ることで、ステップS32で選択したファイルの最終データが記憶されたクラスタに対応するエントリを判別する。削除/追加処理部151は、ファイルの最終データが記憶されたクラスタに対応するエントリの数値を、ファイルの最終データを示す0xFFFFに書き替える。
 例えば、図9の下段の状態からアプリケーションCの追加処理を行う過程において、ステップS32で「ファイルFc1」が選択されたものとする。この場合、ステップS35では、削除/追加処理部151は、ファイルFc1の最終データが記憶されたFAT番号0x0056のエントリの数値を、図9の上段のように0xFFFFに書き替える。この書き替え処理により、仮想領域ファイルは元のファイル単位で分断される。
 [ステップS36]削除/追加処理部151は、ステップS31で選択されたアプリケーションプログラムが含むすべてのファイルについて、ステップS32~S35の処理を実行したか否かを判定する。この判定は、ステップS31で選択されたアプリケーションプログラムに対応する、アプリケーション管理テーブル160内のファイル情報162から、登録されたファイルのエントリをすべて選択したか否かを判定することと等しい。
 ステップS31で選択されたアプリケーションプログラムが含むファイルに未処理のものがある場合には、ステップS32の処理が実行される。一方、ステップS31で選択されたアプリケーションプログラムに含まれるすべてのファイルを処理済みである場合には、ステップS37の処理が実行される。
 [ステップS37]削除/追加処理部151は、ファイル管理部111を通じて、ルートディレクトリテーブル122に登録された仮想領域ファイルのディレクトリエントリを編集する。削除/追加処理部151は、ステップS31で選択したアプリケーションプログラムのデータのみが仮想領域ファイルに含まれる場合(すなわち、アプリケーション管理テーブル160にアプリケーションプログラムのエントリが1つだけ登録されていた場合)には、仮想領域ファイルのディレクトリエントリを削除する。
 また、削除/追加処理部151は、仮想領域ファイルに複数のアプリケーションプログラムのデータが含まれている場合には、次に、ステップS31で選択したアプリケーションプログラムのデータが、仮想領域ファイルの先頭に位置しているか否かを判定する。この判定は、ステップS31で選択したアプリケーションプログラムのエントリが、アプリケーション管理テーブル160の先頭に登録されているか否かを判定することと等しい。
 削除/追加処理部151は、ステップS31で選択したアプリケーションプログラムのデータが仮想領域ファイルの先頭に位置している場合には、仮想領域ファイルのディレクトリエントリに登録された先頭クラスタのアドレスを、アプリケーション管理テーブル160において次に登録されたエントリに対応するアプリケーションプログラムの先頭データが記憶されたクラスタのアドレスに書き替える。例えば、削除/追加処理部151は、図8においてアプリケーションAの追加処理を行う場合には、仮想領域ファイルFvlのディレクトリエントリに登録された先頭クラスタのアドレスを、アプリケーションBの先頭データが記憶されたクラスタのアドレスに書き替える。
 また、削除/追加処理部151は、ステップS31で選択したアプリケーションプログラムのデータが仮想領域ファイルの先頭に位置していない場合には、仮想領域ファイルのディレクトリエントリをルートディレクトリテーブル122にそのまま残す。
 [ステップS38]削除/追加処理部151は、ファイル管理部111を通じてFAT121にアクセスし、仮想領域ファイルのデータに対応するFAT121のエントリを必要に応じて編集する。この編集処理では、追加処理が行われたアプリケーションプログラムのデータを仮想領域ファイルから切り離す。このとき、仮想領域ファイルが分断された場合には、分断された前後のデータが接続されるようにFAT121のエントリを編集する。
 例えば、図8のように仮想領域ファイルFvlにアプリケーションA~Cのデータが含まれる状態から、アプリケーションCの追加処理を行う場合には、削除/追加処理部151は、仮想領域ファイルFvlのデータのうちアプリケーションB内の最終データが格納されたクラスタに対応するFAT121のエントリの値を、ファイルの最終データを示す0xFFFFに書き替える。なお、アプリケーションBの最終データが格納されたクラスタのアドレスは、アプリケーション管理テーブル160のファイル情報162内のファイルのエントリのうち、アプリケーションCの先頭ファイルのエントリの1つ前に登録されたファイルのエントリから、「先頭クラスタ」および「ファイル長」の欄に登録された情報を取得し、取得した情報を基にFAT121を辿ることによって得ることができる。
 また、例えば、図8の仮想領域ファイルFvlの状態から、アプリケーションBの追加処理を行う場合には、削除/追加処理部151は、仮想領域ファイルFvlのデータのうちアプリケーションA内の最終データが格納されたクラスタに対応するFAT121のエントリの値を、アプリケーションCの先頭データが格納されたクラスタのアドレスに書き替える。これによって、FAT121上で、アプリケーションAのデータとアプリケーションCのデータとが接続される。
 [ステップS39]削除/追加処理部151は、ステップS31で選択されたアプリケーションプログラムに対応するエントリを、アプリケーション管理テーブル160から削除する。
 なお、削除/追加処理部151は、アプリケーションプログラムの削除処理の際に、アプリケーションプログラムに関する設定情報をレジストリから消去した場合には、上記の図14の処理の過程で、アプリケーション管理テーブル160の「設定値」の欄から読み出したバイナリデータを基に、レジストリ内の設定情報を復旧してもよい。
 以上の図14の処理では、削除/追加処理部151は、アプリケーション管理テーブル160に登録された情報を基に、ファイル管理部111を通じてファイル管理情報120を編集することで、追加処理が要求されたアプリケーションプログラムを実行可能な状態に戻す。このような処理では、アプリケーションプログラムをインストールする場合と比較して、読み書きを行うデータ量が大幅に減少することから、アプリケーションプログラムを短時間で実行可能状態に遷移させることができる。
 以上のように、本実施の形態の情報処理装置100では、アプリケーションプログラムの削除処理および追加処理を短時間で実行できるので、情報処理装置100のユーザは、アプリケーションプログラムを必要なときにだけ手軽に実行可能な状態に遷移させることができる。
 また、上記のアプリケーションプログラムの削除および追加処理は、ファイル管理情報120の編集によって行われるので、削除および追加の対象とするアプリケーションプログラムに、削除および追加処理の実現に必要な特別な処理手順を記述しておく必要がない。従って、削除および追加の対象とするアプリケーションプログラムを選ばず、汎用性が高い。
 また、アプリケーションプログラムが削除された状態では、削除状態のアプリケーションプログラムに含まれるデータは、1つの仮想領域ファイルとしてファイル管理情報120で管理される。従って、ファイル管理部111が管理するファイルの数が減少し、OSプログラム110の起動処理や、HDD103内のファイルへのアクセス処理などを高速化できる。
 また、アプリケーションプログラムが削除された状態では、ファイル管理部111は、削除状態のアプリケーションプログラムに含まれるファイルのそれぞれを認識することはできない。このため、削除状態のアプリケーションプログラムに含まれる各ファイルが、OSプログラム110の機能を通じて悪意のある攻撃を受ける可能性が低くなり、セキュリティを保ったままアプリケーションプログラムを削除状態にしておくことができる。
 ところで、上記の情報処理装置100は、あらかじめ1つ以上のアプリケーションプログラムを実行不能にした状態で販売されてもよい。ここで、図15は、あらかじめアプリケーションプログラムが実行不能にされた情報処理装置の製造工程例を示す図である。
 [ステップS51]HDDイメージマスタを作成するイメージマスタ作成装置に、ソフトウェアマネージャ150と、削除対象の各種のアプリケーションプログラムとがインストールされる。なお、イメージマスタ作成装置は、コンピュータであってよい。
 [ステップS52]イメージマスタ作成装置にインストールされたソフトウェアマネージャ150が起動され、イメージマスタ作成装置にインストールされたアプリケーションプログラムが、削除状態にされる。この状態におけるイメージマスタ作成装置内のHDDのイメージが、HDDイメージマスタとされる。
 [ステップS53]HDDイメージマスタを、製品である情報処理装置内のHDDにコピーすることで、情報処理装置100が製造され、出荷される。
 上記工程によって製造され出荷された情報処理装置100を購入したユーザは、例えば、情報処理装置100を起動した後、画面上のスタートメニューからソフトウェアマネージャ150を選択して起動させる。ソフトウェアマネージャ150が起動すると、画面上には例えば、図10,図12に示したような操作画面170が表示される。ユーザは、操作画面170のアプリケーション表示領域172に一覧表示されたアプリケーションプログラムから、追加処理の対象とするアプリケーションプログラムを選択し、追加処理の実行を要求する。このような操作により、アプリケーションプログラムをインストールする場合と比較して、アプリケーションプログラムを短時間で実行可能状態に遷移させることができる。
 また、あらかじめ削除状態にしておくアプリケーションプログラムとしては、例えば、情報処理装置100に実行可能状態でインストールされたアプリケーションプログラムのアップグレード版であってもよい。この場合、情報処理装置100を購入したユーザは、購入時にインストールされていたアプリケーションプログラムを、必要に応じてアップグレードさせて利用することが可能になる。
 なお、情報処理装置があらかじめ1つ以上のアプリケーションプログラムを実行不能にした状態で販売される場合には、この情報処理装置には、アプリケーションプログラムの削除処理機能が設けられていなくてもよい。
 また、以上の第2の実施の形態では、ファイルシステムの方式としてFAT方式を用いた場合について説明したが、HDD103におけるファイルの位置を示す位置情報が所定の領域に登録されるファイルシステムであれば、他の方式が用いられてもよい。他の方式のファイルシステムを用いた情報処理装置においてアプリケーションプログラムの削除処理を行う場合には、アプリケーションプログラムに含まれる各ファイルが1つの仮想領域ファイルとして接続されるように、各ファイルの位置情報が編集されればよい。また、削除状態とされたアプリケーションプログラムを実行可能状態に遷移させる場合には、アプリケーションプログラムに含まれる各ファイルの位置情報を元通りに復旧させることで、アプリケーションプログラムの追加処理が実行される。
 〔第3の実施の形態〕
 以下、第3の実施の形態に係る情報処理装置について、第2の実施の形態に係る情報処理装置100と異なる部分についてのみ説明する。第3の実施の形態に係る情報処理装置は、図2に示した、第2の実施の形態に係る情報処理装置100と同様のハードウェア構成を有する。また、第3の実施の形態に係る情報処理装置が備える処理機能は、図3に示した処理機能と基本的に同じ構成を有する。このため、以下の説明では、第3の実施の形態に係る情報処理装置の処理について、図2および図3を用いて説明する。
 本実施の形態では、削除/追加処理部151によるアプリケーションプログラムの削除および追加処理の手順が、第2の実施の形態とは異なる。本実施の形態の削除/追加処理部151は、ファイル管理情報120のうちFAT121のみを編集することによって、アプリケーションプログラムの削除および追加処理を行う。また、削除/追加処理部151は、ファイル管理部111を通さずに、FAT121の情報を直接編集する。さらに、アプリケーション管理テーブル160に登録される情報の一部も、第2の実施の形態とは異なる。
 図16は、アプリケーション管理テーブルに保持されるファイル情報の内容を示す図である。
 本実施の形態では、第2の実施の形態と同様に、アプリケーション管理テーブル160に対して、削除状態とされたアプリケーションプログラムごとにエントリが生成され、各エントリにはアプリケーション情報161とファイル情報162とが登録される。また、ファイル情報162には、削除状態とされたアプリケーションプログラムに含まれるファイルごとにエントリが生成される。ただし、ファイル情報162に登録される情報は、第2の実施の形態とは異なる。このため、以下の説明では、ファイル情報については第2の実施の形態と異なる符号(162a)を付与する。
 図16に示すように、ファイル情報162aには、「先頭クラスタ」および「次アドレス」の各欄が設けられる。「先頭クラスタ」の欄には、エントリに対応するファイルの先頭データが格納されたクラスタのアドレス(FAT番号)が登録される。「次アドレス」の欄には、エントリに対応するファイルのデータを格納したクラスタのうち、先頭クラスタの次のクラスタのアドレスが登録される。この「次アドレス」の欄に登録されるアドレスは、「先頭クラスタ」の欄に登録されたアドレスに対応するFAT121のエントリに、削除処理前に登録されていたアドレスである。ファイル情報162aに登録されるこれらの情報は、アプリケーションプログラムの追加処理を実行する際に削除/追加処理部151によって参照される。
 図17は、第3の実施の形態においてアプリケーションプログラムの削除処理が行われる際のFATの編集処理について説明する図である。
 図17では、削除/追加処理部151によってアプリケーションAが削除状態とされる場合を示している。アプリケーションAには、先頭から順にファイルFa1、ファイルFa2が含まれるものとする。ファイルFa1を構成するデータは、FAT番号0x0024~0x0026に対応するクラスタに格納され、ファイルFa2を構成するデータの先頭は、FAT番号0x0027に対応するクラスタに格納されている。
 本実施の形態の削除/追加処理部151は、アプリケーションAを削除状態にする際、FAT121のエントリのうち、アプリケーションAに含まれる各ファイルの先頭データが格納されたクラスタに対応するエントリの値を、不良クラスタを示す0xFFF7に書き替える。また、削除/追加処理部151は、書き替えを行ったエントリのFAT番号と、書き替え前にエントリに登録されていたアドレスとを、それぞれアプリケーション管理テーブル160の「先頭クラスタ」および「次アドレス」の欄に登録する。
 図17の例では、削除/追加処理部151は、ファイルFa1の先頭データを含むクラスタに対応するFAT番号0x0024のエントリを、0x0025から0xFFF7に書き替える。これとともに、削除/追加処理部151は、アプリケーション管理テーブル160のファイルFa1のエントリに対して、FAT番号0x0024とアドレス0x0025とを登録する。FAT番号0x0024は「先頭クラスタ」の欄に登録され、アドレス0x0025は「次アドレス」の欄に登録される。
 また、ファイルFa2についても同様に、削除/追加処理部151は、ファイルFa2の先頭データを含むクラスタに対応するFAT番号0x0027のエントリを、0x0028から0xFFF7に書き替える。これとともに、削除/追加処理部151は、アプリケーション管理テーブル160のファイルFa2のエントリに対して、FAT番号0x0027とアドレス0x0028とを登録する。
 このように、ファイルの先頭データを含むクラスタに対応するFAT121のエントリに0xFFF7が登録されることにより、ファイルが記憶された領域は不良セクタの領域とされ、ファイル管理部111から認識できない状態になる。
 また、削除/追加処理部151は、削除状態としたアプリケーションAを再度実行可能な状態にする追加処理を行う際には、アプリケーション管理テーブル160に登録された情報を基に、FAT121のエントリの情報を図17の下段から図17の上段のように戻すことで、アプリケーションAに含まれる各ファイルを復元する。
 図18は、削除処理の前後におけるHDD上のファイル管理状態を模式的に示す図である。この図18では例として、アプリケーションAの削除処理が行われる場合を示す。
 図18の上段に示すように、アプリケーションAが削除される前の状態では、ファイル管理情報120のFAT121には、アプリケーションAに含まれる各ファイルの位置を示す情報が格納されている。このため、OSプログラム110によって実現されるファイル管理部111は、アプリケーションAに含まれる各ファイルのHDD103における位置を認識可能である。そして、アプリケーションAは、OSプログラム110に従った制御の下で実行可能な状態となっている。
 一方、削除/追加処理部151によってアプリケーションAが削除状態とされると、図18の下段に示すように、ファイル管理情報120が編集されて、アプリケーションAの各ファイルが記憶された領域は不良セクタ領域とされる。アプリケーションAの各ファイルが記憶された領域は、不良セクタ領域とされることで、ファイル管理部111が管理する領域から外れる。この状態では、アプリケーションAは、OSプログラム110に従った制御の下で実行できない状態となる。
 また、削除/追加処理部151は、アプリケーションAを再度実行可能な状態にする「追加処理」を行う際に、アプリケーション管理テーブル160からアプリケーションA内の各ファイルの位置情報を取得する。削除/追加処理部151は、アプリケーション管理テーブル160から取得した位置情報を、FAT121内の所定のエントリに書き戻すことで、アプリケーションAに含まれる各ファイルを、ファイル管理部111が管理する記憶領域に記憶された状態に戻す。
 このように、本実施の形態の削除/追加処理部151は、ファイル管理情報120のうちFAT121のみを編集することによって、アプリケーションプログラムを実行不能状態にする削除処理や、実行可能状態に戻す追加処理を行う。このような処理では、アプリケーションプログラムをアンインストールしたり、再インストールする場合と比較して、アプリケーションプログラムの削除や追加を短時間で実行できる。また、第2の実施の形態における削除および追加処理と比較して、ファイル管理情報120内の編集対象の情報量が少ないことから、削除および追加処理をより短時間で実行できる。
 ただし、アプリケーションプログラムが削除された状態では、アプリケーションプログラムの各ファイルが記憶された領域は、ファイル管理部111によって管理されない領域となる。このため、例えば、削除状態のアプリケーションプログラムの記憶領域が物理的に破壊された場合に、破壊されたデータは、OSプログラム110によって実現されるデータ修復機能によって修復されない。また、削除状態のアプリケーションプログラムのデータを、OSプログラム110によって実現されるバックアップ機能や、他のアプリケーションプログラムによって実現されるバックアップ機能によって、バックアップしておくこともできない。
 次に、図19は、アプリケーションプログラムの削除処理手順を示すフローチャートである。
 [ステップS61]ユーザインタフェース部152は、図10~図12で説明した手順で、新たに削除状態にするアプリケーションプログラムに含まれるファイルの選択操作を受け付ける。
 [ステップS62]削除/追加処理部151は、ステップS61で選択されたファイルのうち、アプリケーションプログラムの実行ファイルから、アプリケーション名、アプリケーションプログラムの説明、実行ファイルのアイコンの各情報を抽出する。また、削除/追加処理部151は、削除状態にするアプリケーションプログラムに関する設定情報をレジストリからバイナリデータとして取得する。このとき、削除/追加処理部151は、削除状態にするアプリケーションプログラムに関する設定情報をレジストリから削除してもよい。
 削除/追加処理部151は、アプリケーション管理テーブル160に、削除対象とする新たなアプリケーションプログラムのエントリを作成する。削除/追加処理部151は、作成したエントリ内のアプリケーション情報161として、実行ファイルから抽出した情報と、レジストリから取得した情報とを登録する。
 [ステップS63]削除/追加処理部151は、ステップS61で選択されたファイルの中からファイルを1つ選択し、選択したファイルに対応するエントリを、アプリケーション管理テーブル160のファイル情報162aに生成する。
 [ステップS64]削除/追加処理部151は、ファイル管理部111を通じて、ステップS63で選択したファイルに対応するディレクトリエントリを、ディレクトリテーブル123から検索する。
 [ステップS65]削除/追加処理部151は、ディレクトリテーブル123から検索されたディレクトリエントリより、先頭クラスタを示すFAT番号を取得する。
 [ステップS66]削除/追加処理部151は、先頭クラスタを示すFAT番号に対応するエントリを、FAT121から検索する。
 [ステップS67]削除/追加処理部151は、ステップS65で取得したFAT番号と、ステップS66で検索されたFAT121のエントリに格納された、次のクラスタを示すアドレスを、ステップS63でアプリケーション管理テーブル160に生成したエントリ内の「先頭クラスタ」および「次アドレス」の各欄に登録する。
 [ステップS68]削除/追加処理部151は、ステップS66で検索されたFAT121のエントリに格納されたアドレスを、0xFFF7に書き替える。
 [ステップS69]削除/追加処理部151は、ステップS61で選択されたすべてのファイルについてステップS63~S68の処理を実行したか否かを判定する。未処理のファイルが存在する場合には、ステップS63の処理が実行され、すべてのファイルについて処理済みの場合には、削除処理が終了される。
 以上の図19の処理では、アプリケーションプログラムに含まれる各ファイルの先頭データが記憶された記憶領域が不良セクタを示すように、FAT121が編集される。これにより、ファイル管理部111は、アプリケーションプログラムに含まれる各データにアクセスすることが不可能になる。従って、アプリケーションプログラムは、OSプログラム110に従った制御の下で実行できない状態になる。
 このような処理によれば、アプリケーションプログラムに含まれるファイル自体をHDD103から消去することなく、アプリケーションプログラムを実行不能状態にすることができるので、アプリケーションプログラムを短時間で実行不能状態に移行させることができる。
 次に、図20は、アプリケーションプログラムの追加処理手順を示すフローチャートである。
 [ステップS81]ユーザインタフェース部152は、図10,図12に示した操作画面170を通じて、追加処理を行うアプリケーションプログラムの選択入力を受け付ける。
 [ステップS82]削除/追加処理部151は、ステップS81において操作画面170を通じて選択されたアプリケーションプログラムに含まれるファイルを1つ選択する。このとき、削除/追加処理部151は、アプリケーション管理テーブル160に生成されたエントリのうち、ステップS81で選択されたアプリケーションプログラムのエントリを選択する。削除/追加処理部151は、選択したアプリケーションプログラムのエントリ内のファイル情報162aから、ファイルのエントリを1つ選択する。
 [ステップS83]削除/追加処理部151は、ステップS82で選択したファイルのエントリから、「FAT番号」および「次アドレス」の各欄に登録された情報を取得する。
 [ステップS84]削除/追加処理部151は、FAT121から、ステップS83で「FAT番号」の欄から取得したFAT番号に対応するエントリを検索する。
 [ステップS85]削除/追加処理部151は、ステップS84で検索されたエントリに格納されたアドレスを、ステップS83で「次アドレス」の欄から取得したアドレスに書き替える。
 [ステップS86]削除/追加処理部151は、ステップS81で選択されたアプリケーションプログラムが含むすべてのファイルについて、ステップS82~S85の処理を実行したか否かを判定する。この判定は、ステップS81で選択されたアプリケーションプログラムに対応する、アプリケーション管理テーブル160内のファイル情報162aから、登録されたファイルのエントリをすべて選択したか否かを判定することと等しい。
 ステップS81で選択されたアプリケーションプログラムが含むファイルに未処理のものがある場合には、ステップS82の処理が実行される。一方、ステップS81で選択されたアプリケーションプログラムに含まれるすべてのファイルを処理済みである場合には、ステップS87の処理が実行される。
 [ステップS87]削除/追加処理部151は、ステップS81で選択されたアプリケーションプログラムに対応するエントリを、アプリケーション管理テーブル160から削除する。
 なお、削除/追加処理部151は、アプリケーションプログラムの削除処理の際に、アプリケーションプログラムに関する設定情報をレジストリから消去した場合には、上記の図20の処理の過程で、アプリケーション管理テーブル160の「設定値」の欄から読み出したバイナリデータを基に、レジストリ内の設定情報を復旧してもよい。
 以上の図20の処理では、削除/追加処理部151は、アプリケーション管理テーブル160に登録された情報を基にFAT121を編集することで、追加処理が要求されたアプリケーションプログラムを実行可能な状態に戻す。このような処理では、アプリケーションプログラムをインストールする場合と比較して、読み書きを行うデータ量が大幅に減少することから、アプリケーションプログラムを短時間で実行可能状態に遷移させることができる。
 なお、上記の第3の実施の形態の情報処理装置も、第2の実施の形態と同様に、あらかじめ1つ以上のアプリケーションプログラムを実行不能にした状態で販売されてもよい。また、この場合には、情報処理装置には、アプリケーションプログラムの削除機能が設けられていなくてもよい。
 また、以上の第3の実施の形態では、ファイルシステムの方式としてFAT方式を用いた場合について説明したが、HDD103におけるファイルの位置を示す位置情報が所定の領域に登録されるファイルシステムであれば、他の方式が用いられてもよい。他の方式のファイルシステムを用いた情報処理装置においてアプリケーションプログラムの削除処理を行う場合には、アプリケーションプログラムに含まれる各ファイルの記憶領域(例えば先頭データの記憶領域)が不良セクタを示すように、各ファイルの位置情報が編集されればよい。また、削除状態とされたアプリケーションプログラムを実行可能状態に遷移させる場合には、アプリケーションプログラムに含まれる各ファイルの位置情報を元通りに復旧させることで、アプリケーションプログラムの追加処理が実行される。
 なお、上記の処理機能は、コンピュータによって実現することができる。その場合、上記の各情報処理装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD、DVD-RAM、CD-ROM/RWなどがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
 プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD-ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
 プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
 また、上記の処理機能の少なくとも一部を、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現することもできる。
 上記については単に本発明の原理を示すものである。さらに、多数の変形、変更が当業者にとって可能であり、本発明は上記に示し、説明した正確な構成および応用例に限定されるものではなく、対応するすべての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされる。
 1 情報処理装置
 2 記憶装置
 10 ファイル管理手段
 11 OSプログラム
 20 ファイル管理手段
 21 プログラム管理情報
 22,31~33 位置情報
 30 ファイル管理情報
 P1,P2 プログラム

Claims (11)

  1.  記録媒体におけるファイルの位置を示す位置情報を保持するファイル管理情報を用いて、前記記録媒体内のファイルを管理するファイル管理手段と、
     前記記録媒体に記録されたプログラムのうち実行不能にするように要求された実行不能プログラムに含まれる複数のファイルのそれぞれを前記ファイル管理手段が認識できなくなるように、当該実行不能プログラムに含まれる各ファイルについての前記ファイル管理情報内の位置情報を編集するとともに、当該実行不能プログラムに含まれる各ファイルの前記記録媒体における位置情報をプログラム管理情報に登録する第1のプログラム管理手段と、
     前記実行不能プログラムを実行可能にする要求を受け付けると、当該実行不能プログラムに含まれる各ファイルの位置情報を前記プログラム管理情報から読み出し、読み出した位置情報を用いて前記ファイル管理情報を編集し、当該実行不能プログラムに含まれる各ファイルを前記ファイル管理手段が認識できる状態に戻す第2のプログラム管理手段と、
     を有することを特徴とする情報処理装置。
  2.  前記第1のプログラム管理手段は、前記実行不能プログラムに含まれる複数のファイルを前記ファイル管理手段が1つのファイルとして認識するように、当該実行不能プログラムに含まれる各ファイルについての前記ファイル管理情報内の位置情報を編集し、
     前記第2のプログラム管理手段は、前記プログラム管理情報から読み出した、前記実行不能プログラムに含まれる各ファイルの位置情報に基づいて、前記実行不能プログラムに含まれる各ファイルについての前記ファイル管理情報内の位置情報を前記第1のプログラム管理手段による編集前の状態に戻す、
     ことを特徴とする請求の範囲第1項記載の情報処理装置。
  3.  前記第1のプログラム管理手段は、前記実行不能プログラムに含まれる各ファイルの先頭データの前記記録媒体におけるアドレスと、前記実行不能プログラムに含まれる各ファイルのデータ長とを前記プログラム管理情報に登録し、
     前記第2のプログラム管理手段は、前記プログラム管理情報に登録されたアドレスおよびデータ長を基に、前記ファイル管理情報から前記実行不能プログラムに含まれるファイルの最後尾のアドレスを取得し、取得した前記最後尾のアドレスを基に、前記実行不能プログラムに含まれる各ファイルが分断されるように前記ファイル管理情報を編集する、
     ことを特徴とする請求の範囲第2項記載の情報処理装置。
  4.  前記ファイル管理情報には、前記記録媒体上のアドレスと、当該アドレスに記憶されたデータを含むファイルにおける次データのアドレスとが対応付けて登録され、
     前記第1のプログラム管理手段は、前記実行不能プログラムに含まれる各ファイルの最後尾データのアドレスに対応付けられた前記次データのアドレスを、前記実行不能プログラムに含まれる他のファイルの先頭データのアドレスに書き替え、
     前記第2のプログラム管理手段は、前記プログラム管理情報に登録されたアドレスおよびデータ長を基に、前記ファイル管理情報から前記実行不能プログラムに含まれるファイルの最後尾のアドレスを取得し、取得した前記最後尾のアドレスに対応付けられた前記次データのアドレスを、ファイルの最後尾を示す情報に書き替える、
     ことを特徴とする請求の範囲第3項記載の情報処理装置。
  5.  前記第1のプログラム管理手段は、前記記録媒体に記録された複数のプログラムを実行不能にするように要求された場合には、前記ファイル管理手段が前記複数のプログラムに含まれる各ファイルを1つのファイルとして認識するように、前記複数のプログラムに含まれる各ファイルについての前記ファイル管理情報内の位置情報を編集することを特徴とする請求の範囲第2項記載の情報処理装置。
  6.  前記第1のプログラム管理手段は、前記実行可能プログラムに含まれる各ファイルが使用不能領域に記憶されていることを示すように、当該実行不能プログラムに含まれる各ファイルについての前記ファイル管理情報内の位置情報を編集するとともに、編集前の位置情報を前記プログラム管理情報に登録し、
     前記第2のプログラム管理手段は、前記実行不能プログラムに含まれる各ファイルに対応する、前記プログラム管理情報内の前記編集前の位置情報を用いて、当該実行不能プログラムに含まれる各ファイルに対応する、前記ファイル管理情報内の位置情報を書き替える、
     ことを特徴とする請求の範囲第1項記載の情報処理装置。
  7.  前記ファイル管理情報には、前記記録媒体上のアドレスと、当該アドレスに記憶されたデータを含むファイルにおける次データのアドレスとが対応付けて登録され、
     前記第1のプログラム管理手段は、前記実行可能プログラムに含まれる各ファイルの先頭データのアドレスに対応付けられた前記次データのアドレスを、当該先頭データのアドレスが指し示す記憶領域が不良領域であることを示す不良領域情報に書き替えるとともに、当該先頭データのアドレスと当該次データのアドレスとを前記プログラム管理情報に登録し、
     前記第2のプログラム管理手段は、前記実行不能プログラムに含まれる各ファイルの前記先頭データのアドレスを前記プログラム管理情報から読み出し、前記ファイル管理情報において当該先頭データのアドレスに対応付けられた前記不良領域情報を、前記プログラム管理情報から読み出した前記次データのアドレスに書き替える、
     ことを特徴とする請求の範囲第6項記載の情報処理装置。
  8.  記録媒体におけるファイルの位置を示す位置情報を保持するファイル管理情報を用いて、前記記録媒体内のファイルを管理するファイル管理手段と、
     前記ファイル管理情報を記憶する手段であって、前記記録媒体に記憶されたプログラムのうち実行不能にするように指定された実行不能プログラムに含まれる複数のファイルのそれぞれを前記ファイル管理手段が認識できなくなるように、当該実行不能プログラムに含まれる各ファイルの位置情報が編集された前記ファイル管理情報を記憶する第1の記憶手段と、
     前記実行不能プログラムに含まれる各ファイルの前記記録媒体における位置情報が登録されたプログラム管理情報を記憶する第2の記憶手段と、
     前記実行不能プログラムを実行可能にする要求を受け付けると、当該実行不能プログラムに含まれる各ファイルの位置情報を前記プログラム管理情報から読み出し、読み出した位置情報を用いて前記ファイル管理情報を編集し、当該実行不能プログラムに含まれる各ファイルを前記ファイル管理手段が認識できる状態に戻すプログラム管理手段と、
     を有することを特徴とする情報処理装置。
  9.  前記第1の記憶手段は、前記実行不能プログラムに含まれる複数のファイルを前記ファイル管理手段が1つのファイルとして認識するように、当該実行不能プログラムに含まれる各ファイルの位置情報が編集された前記ファイル管理情報を記憶し、
     前記プログラム管理手段は、前記プログラム管理情報から読み出した、前記実行不能プログラムに含まれる各ファイルの位置情報に基づいて、前記実行不能プログラムに含まれる各ファイルが分断されるように前記ファイル管理情報を編集する、
     ことを特徴とする請求の範囲第8項記載の情報処理装置。
  10.  前記第1の記憶手段は、前記実行可能プログラムに含まれる各ファイルが使用不能領域に記憶されていることを示すように、当該実行不能プログラムに含まれる各ファイルについての前記ファイル管理情報内の位置情報が編集された前記ファイル管理情報を記憶し、
     前記第2の記憶手段は、各ファイルが使用不能領域に記憶されていることを示すように編集される前の、前記ファイル管理情報内の位置情報が登録された前記プログラム管理情報を記憶し、
     前記プログラム管理手段は、前記実行不能プログラムに含まれる各ファイルに対応する、前記プログラム管理情報内の位置情報を用いて、当該実行不能プログラムに含まれる各ファイルに対応する、前記ファイル管理情報内の位置情報を書き替える、
     ことを特徴とする請求の範囲第8項記載の情報処理装置。
  11.  記録媒体におけるファイルの位置を示す位置情報を保持するファイル管理情報を用いて、前記記録媒体内のファイルを管理するファイル管理手段を備えた情報処理装置が、
     前記記録媒体に記録されたプログラムのうち実行不能にするように要求された実行不能プログラムに含まれる複数のファイルのそれぞれを前記ファイル管理手段が認識できなくなるように、当該実行不能プログラムに含まれる各ファイルについての前記ファイル管理情報内の位置情報を編集するとともに、当該実行不能プログラムに含まれる各ファイルの前記記録媒体における位置情報をプログラム管理情報に登録し、
     前記実行不能プログラムを実行可能にする要求を受け付けると、当該実行不能プログラムに含まれる各ファイルの位置情報を前記プログラム管理情報から読み出し、読み出した位置情報を用いて前記ファイル管理情報を編集し、当該実行不能プログラムに含まれる各ファイルを前記ファイル管理手段が認識できる状態に戻す、
     ことを特徴とするプログラム管理方法。
PCT/JP2010/064350 2010-08-25 2010-08-25 情報処理装置およびプログラム管理方法 WO2012026001A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2010/064350 WO2012026001A1 (ja) 2010-08-25 2010-08-25 情報処理装置およびプログラム管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2010/064350 WO2012026001A1 (ja) 2010-08-25 2010-08-25 情報処理装置およびプログラム管理方法

Publications (1)

Publication Number Publication Date
WO2012026001A1 true WO2012026001A1 (ja) 2012-03-01

Family

ID=45723029

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/064350 WO2012026001A1 (ja) 2010-08-25 2010-08-25 情報処理装置およびプログラム管理方法

Country Status (1)

Country Link
WO (1) WO2012026001A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006260163A (ja) * 2005-03-17 2006-09-28 Fujitsu Ltd 再インストール支援方法,再インストール支援プログラム,インストール方法,インストールプログラムおよびコンピュータ装置
JP2010015244A (ja) * 2008-07-01 2010-01-21 Brother Ind Ltd インストールシステムおよびプログラム
JP2010509678A (ja) * 2006-11-02 2010-03-25 マイクロソフト コーポレーション 併合されたレジストリキーにおける仮想削除

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006260163A (ja) * 2005-03-17 2006-09-28 Fujitsu Ltd 再インストール支援方法,再インストール支援プログラム,インストール方法,インストールプログラムおよびコンピュータ装置
JP2010509678A (ja) * 2006-11-02 2010-03-25 マイクロソフト コーポレーション 併合されたレジストリキーにおける仮想削除
JP2010015244A (ja) * 2008-07-01 2010-01-21 Brother Ind Ltd インストールシステムおよびプログラム

Similar Documents

Publication Publication Date Title
CN100414547C (zh) 用于访问文件系统快照的方法和文件系统
US7328325B1 (en) System and method for hierarchical storage mapping
JP4568397B2 (ja) データを旧媒体から新媒体に転送して指標付けする方法及び装置
US7984088B2 (en) Method for supporting multiple filesystem implementations
US8321859B2 (en) Method and apparatus for dispensing on a data-storage medium customized content comprising selected assets
KR101169085B1 (ko) 휴대용 저장 장치 및 방법
US20050149213A1 (en) Media file management on a media storage and playback device
US20090198744A1 (en) Electronic file managing apparatus and electronic file managing method
US20060287990A1 (en) Method of file accessing and database management in multimedia device
JP2000113000A (ja) 記憶媒体に格納されたデ―タ検索方法
US5946677A (en) System and method for locating and deleting computer files stored on a mass storage device
US7120652B2 (en) Method, system and program for determining version of storage devices and programs indicated in the resource information installed in the computer system
US20050192974A1 (en) Method of converting a filesystem while the filesystem remains in an active state
US5764983A (en) Method and system for efficiently creating a new file associated with an application program
US7376946B2 (en) Program management method for computer to which storage medium is attached, computer and storage medium
US20070294332A1 (en) Processing device for end customer operation
KR100819702B1 (ko) 게임 노출 방법 및 시스템
US7539971B2 (en) System and method for registering and deploying stored procedures and triggers into a device database
JPH1091488A (ja) データ処理装置および方法
JP2000020367A (ja) 情報記憶方法および情報記憶装置および記録媒体
WO2012026001A1 (ja) 情報処理装置およびプログラム管理方法
JP5625757B2 (ja) 検索条件設定装置及びその制御方法、検索条件設定システム、プログラム、プログラムを記録した記録媒体
JP2001101039A (ja) 階層ストレージ管理装置
JP6813787B2 (ja) 情報処理装置、その処理方法、及びプログラム
KR20070060925A (ko) 멀티미디어 장치의 데이터 백업 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10856407

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10856407

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP