Program management method for computer to which storage medium is attached, computer and storage medium

A plurality of programs are recorded on a storage medium, selection information for selecting whether or not to permit starting for each program are registered as management information, and, when a program on the storage medium is to be started by a computer, a program only that is permitted for selection is displayed on a display unit with reference to the management information, for selection by a user. A selection-not-permitted sign is set in the portion of the management information involving a program not selected by the user so as to delete a selection-not-permitted program from the storage medium.

TECHNICAL FIELD

The present invention relates to a computer using a removable storage medium having a rewritable area storing a plurality of programs

BACKGROUND ART

As methods for distributing an application program for use on a computer such as a personal computer, a method using a communications network and a method using a storage medium are generally used. As a method for distributing a relatively large program at once, the latter method, in which the program is sold at a shop in a medium such as a CD-ROM or attached to a magazine, is widely used.

When a user obtained such a CD-ROM on which a program was recorded, the user referenced a piece of software (a menu), or a booklet-type guidebook, which had been prepared with the CD-ROM for making a selection, and the user selected and started a necessary program among a plurality of programs.

At this time, it was possible to duplicate all of the programs from the CD-ROM in a hard disk. However, in order to save a hard disk area, it was effective to start the programs from the CD-ROM. When this kind of operation was performed, since user data generated by the program could not be recorded onto the CD-ROM, it was necessary to register the user data only on the hard disk.

On the other hand, in order to promote software sales, it is conceivable to register a plurality of pieces of software (programs) in advance onto a rewritable medium such as an magnetic optical disk and sell them in this state. When software is unnecessary, the software may be deleted on the user side and the storage medium may be returned to an initial state, and the user may use the storage medium.

However, in the above method of operating the storage medium, in a case where, for example, the user wanted to choose any one of the software programs to try out, the other software programs which were not selected occupied an area on the storage medium. In a case where the user wanted to delete such unselected programs, it was difficult to know which file composed the unselected program, and there was a possibility that the file of the program selected for trial might also be deleted.

Further, there were many cases where data corresponding to such a program was stored in a hard disk drive on the computer side, and management of the program and the data was not easy.

The present invention has been made in light of such points, and has a technical object to raise selective operating effectiveness of the plurality of programs recorded on the storage medium.

BRIEF SUMMARY OF THE INVENTION

In the present invention, a plurality of programs are recorded on a storage medium; selection information for selecting whether or not to permit starting is registered for each program as management information; and in a case where a program on the storage medium is started on a computer, the management information is referenced, only a program which can be selected is displayed on a display device, and a user is permitted to select the program. Then, the management information of the programs which has not been selected by the user is set as selection-not-permitted, and the programs set as selection-not-permitted are deleted from the storage medium.

When the plurality of programs are registered onto the storage medium and distributed to the user in this way, the programs not selected by the user are deleted and therefore a user area on the storage medium can be expanded. Accordingly, for example, it becomes possible to let the user efficiently run any trial program that the user desires without affecting the user area on the storage medium at an initial sale.

DETAILED DESCRIPTION OF THE INVENTION

Hereinafter, the present invention is explained based on the diagrams.

Hereinafter, an embodiment of the present invention is explained based on the diagrams.

FIG. 1shows an outline of a system construction in an embodiment of the present invention.

In the same figure, reference numeral1designates a computer system realized by a personal computer or the like. This computer system1has, around a central processing unit (CPU)1a, a keyboard1dand a display device1iconnected by a bus1b. Further, reference numeral2in the same diagram designates a selection means, which is realized by means of a program recorded in the hard disk unit.

This computer system1has an external storing unit3. This external storing unit3is a drive device to which a rewritable, removable storage medium4may be attached, and is capable of using a magnetic optical disk (MO disk) as a storage medium.

In the storage medium4, files6a-6zand program management information5are registered. This program management information5has respective areas of a name7, a selection state8, a data type9and a path name10. Here, the selection state8is a flag for indicating whether or not selection is permitted by the selection means2.

InFIG. 1, a program provider prepares in advance each information for the name7, the selection information8, the data type9and the path name10for each of the programs registered on the storage medium4, and records these as the program management information5.

When the storage medium4is attached to the external storing unit3, the selection means2references the program management information5and determines whether or not selection of the program is permitted. At this time, in a case where the determination is possible, the central processing unit (CPU)1adisplays a selection screen on the display device1i. The user references this selection screen and selects a desired program by using the keyboard1d.

At this time, when one program is selected, the selection means2rewrites the program management information5regarding the unselected programs, and sets the selection information8to “selection-not-permitted” state. On the other hand, regarding the program as the object of the selection, according to instructions from the central processing unit (CPU)1adata for the program is created as a file in the storage medium4based on information in the data type9, and after that, the program is started according to the path name10.

The above is an outline of the present embodiment, but more detailed explanation is made usingFIG. 2and subsequent drawings.

FIG. 2is a more detailed diagram of the system construction of the present embodiment.

In the same diagram, parts having the same reference numerals as those inFIG. 1have identical functions, and explanations thereof are omitted. In the same diagram, reference numeral1cdesignates a keyboard control circuit. The circuit has a function of detecting interruption by operating the keys of the keyboard1dand notifying the interruption to the central processing unit (CPU)1a. Further, there is a mouse1fas an auxiliary input device and a mouse control circuit1efor executing control of the mouse.

Reference numeral1gdesignates a temporary storing memory (RAM), for temporarily storing data and a program which is to be executed by the central processing unit (CPU)1a. Reference numeral1hdesignates a display control circuit, which executes control of the display device1i. Further, an external storing unit control circuit1jhas a function of executing controls of a hard disk unit11and the external storing unit3, which are connected to an external bus1k.

Note that, in the magnetic optical disk serving as the storage medium4, data areas are managed according to sectors and tracks as shown inFIG. 2.

FIG. 3shows details of a data structure in the storage medium4. File is composed of execution files (a.exe, B¥b.exe, C¥c.exe, E¥z.exe) such as those shown by reference numerals6a,6b,6d,6fand6z, and data files (B¥b.dat and C¥c.dat) such as those shown by reference numerals6cand6e. One program may be formed by bringing together a plurality of these files. Further, these files may be divided up and stored in a plurality of directories. Further, it is not necessary that all the files in the storage medium4be held in the program management information5as program execution files. In order to prevent illegitimate copying, these files may be protected by encryption or the like.

As the details of the program management information5, in the name there is registered the name7for specifying a file name or a program. For example, in the case where the program is a program for lumping together the data in the system's hard disk unit11and backing it up on the storage medium4side, where the file name is “backup.exe”, the name7is set so as to be “backup”, “backup.exe” or “backup software”.

The selection state8is a flag for indicating whether or not the selection by the selection means2is permitted (permitted, not permitted) for each program.

The data type9is for indicating the file category, such as an image or a moving image. In the case where Windows by Microsoft is used as an OS (Operating System), extensions may be used such as “Doc” to indicate that the data is document data, “Mov” or “Mpg” to indicate that it is moving image data, or “Bak” to indicate that it is backup data.

The path name10is an area for writing the path name of the execution file for the selected program. For example, in the case where “file a” is recorded in a directory (folder) called “abc”, the path name is recorded as “abc¥file a”.

Next, a processing step performed by the selection means2in the present embodiment is explained usingFIG. 4.

When the selection means2in the hard disk unit11is read to the temporary storage memory (RAM)1gas a program, and this program is executed by the central processing unit (CPU)1a, the content of the program management information5in the storage medium4is obtained for each program (step100). Next, the selection state8for each program is cross-referenced (101), and in the case where this is “permitted”, the name7is displayed in the display device1i(102). The processing of these steps101-102is executed for all the programs (103)

Next, the user selects a needed program by using the keyboard1d, the mouse if or the like (104). The display state in the display device1iat this time is shown inFIG. 9(a). The same diagram is explained in detail below.

Next, the program management information5is modified such that the selection state8of the programs which were not selected are set as selection-not-permitted (105). At this time, the central processing unit (CPU)1adeletes the unselected programs from the program management information5. Specifically, an OS file delete command may be used to delete a file designated by the path name10, as “del a.exe”.

On the other hand, for the selected program, a data file is created based on information in the data type9in the program management information5(106), and the file is started according to the path name10(107). For the data file created here, only the data type is set, and the data file does not have to have any content. That is, a file having a file name only and a data length of 0 byte is sufficient. Further, for a method for starting the program, for example, it is possible to use an API (Application Program Interface) called “ShellExecute” in Windows 98. Further, in the case where the program name of the program to be started is “a.exe” and the name of the data file to be created is “11990517.dat”, it is possible to designate the data file name as an argument of an execution program, such as “a.exe 990517.dat”, for the creation of the data and for the starting of the program, and have the execute program that is to be started execute generation of the data file.

The processing from steps105to107above is repeated with respect to all the selected programs (108), and the processing ends.

FIG. 5toFIG. 8further explain in detail the selection procedure performed by the selection means2explained inFIG. 4.

When the user attaches the storage medium4to the external storing unit3(step300), once the processing by the selection means2begins, the central processing unit (CPU)1aoutputs a request to the external storing unit3to read the content of the program management information Sin the storage medium4(301). The external storing unit3obtains the position of the program management information on the medium, and reads the data (302).

Next, when the central processing unit (CPU)1areceives a notification that the reading of the data is complete (303), the central processing unit1asaves the received data to the temporary storage memory (RAM)1g, and displays the names of all selection-permitted programs on the display device1i(304). Display state at this time is shown inFIG. 9(a).

In response to this display, the user uses the keyboard1dor the mouse1fto select a desired program among the programs displayed on the display device1i(305).

When the user selects the program, the central processing unit (CPU)1atakes out all the selection-permitted programs among every program registered in the program management information5, one at a time starting from the top, and checks whether or not they match the program selected by the user (306,307).

Then, in the case where a program being examined is judged as not having been selected (307), the execution file path name10of this unselected program is obtained from the program management information5being stored in the temporary storage memory (RAM)1g(308), and a delete request to delete the execution file is outputted to the external storage unit3(309).

The external storage unit3deletes the execution file in the storage medium4designated above from the program management information5(310), and clears the area of the storage medium4where the execution file existed (311).

When the deletion of the execution file is completed and the central processing unit (CPU)1arecognizes the completion of the deletion (312), an entry for the program corresponding to the deleted execution file is deleted from the program management information5in the temporary storage memory (RAM)1g(313).

On the other hand, at step307, in a case where a program matches the selected program, the data type9of the target program is obtained from the program management information5in the temporary storage memory (RAM)1g(314), and a data preparation request is outputted to the external storage unit3(315).

The external storage unit3writes the data file into the storage medium4(316). The information that is written at this time may be only a file name and an actual data therein may be length of 0 byte.

After the central processing unit (CPU)1areceives a notification that the writing of the data file is completed (317), the central processing unit (CPU)1aobtains the path name of the execution file for the target program from the program management information5in the temporary storage memory (RAM)1g(318), and makes a request to the external storage unit3to read the execution file (319).

The external storage unit3obtains the location of the execution file on the medium from the storage medium4and reads this (320). When the central processing unit (CPU)1areceives a notification that the reading of the execution file is completed (321), the central processing unit (CPU)1astarts the execution file (322).

After the processing of the above steps306to322is executed with respect to all the programs included in the program management information5(323), the program selection display on the display device1iis erased (324).

After that, the central processing unit (CPU)1amakes a request to update the program management information5on the medium (325), and also forwards to the external storage unit3the content, which the selection state8has been update, of the program management information5in the temporary storage memory (RAM)1g(326). After the external storage unit3receives this, the external storage unit3rewrites the program management information5which the unit3itself has (327), and returns this completion notification (an update completion notification) to the central processing unit (CPU)1a, and the central processing unit (CPU)1ahaving received the update completion notification ends the series of processing (328).

FIG. 9(a) shows a screen display on the display device1iwhen the storage medium4is in its initial state. Displayed are the names7of all selection-permitted programs400held in the program management information5that was read out at step302above, and icons403symbolizing the programs400. If the OS is an OS such as Windows98, it is possible to obtain the icons403from the execution files designated by the path names10in the program management information5by using an API called ExtractIcon. Further, it is also possible to prepare a separate image data file.

In the screen shown inFIG. 9(a), the user uses the keyboard1dor a mouse cursor402of the mouse1fto make the selection, and may position the mouse cursor402on an execution button401and click a mouse button (not shown), thereby determining the selection state (explained at step305).

Further, in a case where a program C was not selected on the screen, the execution file for the program C is deleted as was explained in steps308to313. At this time, when the selection screen is displayed again, the information regarding the program C is no longer displayed, as shown inFIG. 9(b).

FIG. 10shows a disk image in the storage medium4.

In the case where a plurality of programs are registered in the program management information5, a program A is registered in an area indicated by reference numeral410inFIG. 10(a), a program B is registered in an area indicated by reference numeral411, and a program C is registered in an area indicated by reference numeral412, respectively. Other area of the disk than these may store data as determined optionally by the user.

In the case where, for example, the program C was not selected by the user with the selection means2, the data in the area of reference numeral412is initialized, and the area413after the deletion is secured as a data area for the user, as shown inFIG. 10(b).

In Embodiment 1, an example was explained in which unselected programs were deleted from the storage medium4. The present embodiment is, however, an embodiment in which the programs are deleted according to its period of validity. A trial program is often provided with a validity period, and in the case where the validity period has expired according to date information of the computer system1, the program does not start.

Note that the date information in Embodiment 2 (i.e., date and time information) may be obtained from a clock function built into the central processing unit (CPU)1a.

FIG. 11shows an example of a construction in which validity period information12regarding the program is added to the program management information5in order to make the program for which the validity period has expired not selected.

The validity period information12records a date when the program expires according to the Christian era or a notation of a date that is particular to the OS (110).

After the central processing unit (CPU)1aloads the program selected by the selection means2, the central processing unit (CPU)1areads the content of each program in the program management information5(111) and compares the date and time at that point with the validity period information12(112). Here, if the date and time at that point is within the validity period, the same processing is performed as in the steps including and subsequent to step114, that is, the steps including and subsequent to the corresponding step101inFIG. 4. Then, in a case where the date and time at that point is determined to be out of the validity period at the determining step of step112, the selection state8in the program management information5is set as “selection-not-permitted”, and the information relating to the next program is read.

In the case where the selection state8in the program management information5is set as “selection-not-permitted”, the unselected programs are deleted from the program management information5. Specifically, in the case where the OS is Windows 98, a delete command such as “del a.exe” may be used to delete the execution files.

In accordance with Embodiment 2, the present invention may be used for distribution of programs, which limit the period during which they may be started, such as trial programs. Further, by setting the validity periods of the above programs to the same date and time, when the storage medium4that has exceeded this particular date and time is attached to the external storing unit3of the computer system1, all the programs are deleted and the medium may be shown to the user in such a way that the user recognizes the medium as having no programs registered therein.

As described above, according to Embodiment 2, since the trial program having the limited validity period is managed on the user's computer system1(and programs which have completed their validity periods are deleted), on the distributing side it is not necessary to manage the media which have exceeded their validity periods. As a result, inventory management becomes extremely easy.

Further, for the validity period, it is also possible to set a time limit and a number of times of use instead of the date and time.

Embodiment 3 is an embodiment in which all the unselected programs are deleted and a usable area for the user is significantly expanded.

FIG. 13is an example of a case where composition file information13regarding the programs is added to the program management information5in order to achieve this.

This is configured such that in the composite files13, the path name is written into all the files such as execution files, library files and information files which compose the programs.

Processing in Embodiment 3 is shown inFIG. 14. Since steps130-134in the same diagram are the same as steps100-104inFIG. 4, explanations thereof are omitted.

Determination is made as to whether each individual program was selected or not (135), and the files of the path names held in the composition file information13in the program management information5are all deleted (138).

Then, the entries in the program management information5relating to programs which were not selected are all deleted (139).

On the other hand, with respect to the selected program, creation of data (step136) and execution of the program (step136) are performed as in steps106to107inFIG. 4.

As described above, in accordance with Embodiment 3, all files composing the programs not selected by the user may be deleted; therefore, the capacity of the storage medium4may be utilized to the greatest extent in accordance with the user's selection state.

Embodiment 4 is an example relating to contents of processing of the programs. Embodiment 4 may be applied to the case of a complicated program which cannot be executed without carrying out environment configuration.

Embodiment 4 is realized by providing a configuration area on the hard disk unit11.

In the case where the program held in the storage medium4is a program for performing installation of software for creating data, processing such as shown inFIG. 15is performed.

The program is held in the storage medium4as a compressed file, and this is expanded, returned to its initial state and duplicated onto the system designated by the user (onto the hard disk unit11), and also, the environment is configured so that the program operates properly (150).

Here, in the case where the program is duplicated normally and the state in which the program can operate is achieved (151), the path name10in the program management information5is changed so that it becomes the name of the execution file on the system to which the program was duplicated (152) Specifically, a file “install.exe” is held at the path name10, and this file “install.exe” copies a file “exec.exe” onto the system (onto the hard disk unit11) and makes the file usable. Then, after the file “install.exe” is executed, the path name10is replaced with the file “exec.exe”. Subsequently, the file “exec.exe” is started.

In accordance with Embodiment 4, even in the case of a program having a complicated construction which cannot be used without configuring the environment, the user data on the storage medium4may be linked and managed. Accordingly, a very usable environment for the user may be built.

Embodiment 5 is an effective embodiment in the case where an environment for creating and an environment for using are different, as in the case of a program for presentations or the like, in which a program capable of being edited is started on the computer system1used by the user, and a substitute program for display only (for example, a viewer) is started on another computer system at the time of the presentation.

FIG. 16is an example of a construction in which environment information14and a substitute path name15are added to the program management information5in order to realize this.

In the above-mentioned environment information14, there is written information for specifying the OS being used and the computer system that the user is using. Note that it is also possible to set the programs so that they operate in all environments at the time when the storage medium is distributed in its initial state.

In the substitute path name15there is written a path name of an execution file to be substituted in the case where the execution file designated by the path name10cannot be started.

FIG. 17is a flow chart of processing in Embodiment 5.

Since the processing of steps160to165in the same diagram is similar to steps100to105inFIG. 4, explanations thereof are omitted.

After the program management information5is updated (165), information for specifying an operation environment is obtained (166). The information for specifying the operation environment refers to information of an address solely allocated to a network card in order to specify the computer system being used, for example.

After that, a determination is made as to whether or not the environment information14in the program management information5matches the operation environment that was obtained (167).

In the case where a match is detected at step167for the determination, the environment is judged to be an environment in which a standard execution program can operate, the data is created (168) and the program indicated by the path name10is started (169).

After that, the operation environment is set in the environment information14(170).

On the other hand, in the case where a mismatch is detected at the determination step167, the execution program designated at the substitute path name15is started (171). However, it is not necessary that the program itself, which is to be executed as the substitute, exist.

Further, in Embodiment 5, explanation was made of a process for not creating a data file in the storage medium4in the case where the substitution mean is used. However, the data file may also be created.

According to Embodiment 5, in the case where an environment for creating and an environment for executing are different, as in the case of a program for presentations, in which a program capable of being edited is operated on the computer system used by a standard user and a program for only performing the presentation (a viewer) is started in case of performing the presentation, thereby being capable of separating the starting of the program. Accordingly, it is possible to build an environment where it is easy for the user to use the storage medium4.

INDUSTRIAL APPLICABILITY

The present invention may be applied to management of trial programs in the case where a plurality of trial programs are registered on a rewritable storage medium such as a magnetic optical disk, a floppy disk, a phase change type optical disk, a DVD-RAM disk or the like to be sold.