|
|
|
Copy protection or prevention |
Software use method control system5968175
Abstract
A software use method control system including a storage device and an access controller. The storage device stores information for designating a right to access system resources of operating systems which are to be executed in the software use method control system. The access controller controls access to the system resources of the operating systems. The system also includes a privilege protecting section. The privilege protecting section includes an input receiver for receiving an execution request made by a software user, a program-executing device for executing a program having a right to access all system resources of the operating systems, and a program-execution inhibiting device for determining whether the program-executing device is allowed to executed the program, from the execution request which the input receiver has received, and for inhibiting the program executing device from executing the programs when the programs are not allowed to be executed.
Claims
What is claimed is:
1. A system, comprising;
storage means for storing software, software managing means for managing the software and authorization information corresponding to a method for secondary use of the software as a set of information;
authorization managing means for utilizing the software in accordance with the authorization information stored in said storage means;
authentication information managing means for managing authentication information showing a condition the software assumes when the software is used;
copyright managing means for managing copyright information which controls an access to said authorization managing means; and
copyright control means for making an access to said copyright managing means and to said authorization managing means by using the copyright information and the authentication information.
2. The system according to claim 1, wherein said copyright control means edits the software in at least one of three control schemes of "software can be edited in any way," "software cannot be edited at all" and "software can be edited only in ways designated."
3. The system according to claim 1, wherein at least one of said authorization managing means and said copyright control means includes means for treating at least one of a use method control program and a copyright control program as an execution unit protected from access from any other program, and for using the copyright information as a software ID indicating an access right of each execution unit.
4. The system according to claim 1, wherein, when said copyright control means edits the software in the control scheme of "software can be edited in any way," at least one of said authorization managing means and said copyright control means includes means for treating the use method control program, the copyright control program and the software, as execution units protected from access from any other program, and for using the copyright information as a software ID indicating an access right of each of these execution units.
5. The system according to claim 1, wherein at least one of said authorization managing means and said copyright control means includes means for protecting a program and data access by use of the program, as independent execution units.
6. The system according to claim 5, wherein at least one of said authorization managing means and said copyright control means include means for inhibiting an access to data of at least one program when said at least one program and at least one data item have different execution unit IDs.
7. The system according to claim 6, wherein at least one of said authorization managing means and said copyright control means include means for allowing an access to the data of the program.
8. The system according to claim 1, wherein said copyright control means includes a copyright control program; and
wherein said authorization managing means includes a use method control program and means for executing a program as an execution unit protected from an access from any other program and for using the authentication information as a software ID indicating the access right of the execution unit.
9. The system according to claim 8, wherein the program to be used, the use method control program, the copyright information and the authentication information include at least one of a personal ID assigned to a specific person, an apparatus ID assigned to a specific apparatus and a software ID assigned to specific software.
10. A software use method control system comprising:
a plurality of software use method control means, each including software, software managing means for managing software, first storage means for storing authorization information corresponding to a use method for secondary use of the software and means for utilizing the software in accordance with the authorization information stored in the storage means; and
communication means for achieving communication among software use method control units,
each of said software use method control means further comprising:
means for receiving, through said communication means, a request for using the software in a specific manner;
second storage means for storing a program for controlling a manner of using the software, the program being stored at a storage location designated by the authorization information;
means for determining, from the authorization information, whether the program is stored at the storage location designated by the authorization information; and
copying means for copying the program from any other software use method control means storing the program, when the means for determining determines that the program is not stored at the storage location designated by the authorization information.
Description
BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates to a software use method control system for controlling a method of using software.
2. Description of the Related Art
Recently, personal computers (hereinafter abbreviated as "PCs") have become increasingly used. In accordance with this trend, more and more software items, such as electronic books and digital video movies, have become increasingly accessible through PCs, in addition to video games and business-related software. Furthermore, software items prepared by individuals are distributed in increasing numbers.
In view of this trend it is essential to protect copyrights pertaining to software items. Various methods have been devised to prevent illegal use of software.
One of the copyright-protecting methods is to employ a system architecture called "super-current architecture." Super-current architecture is a system which is designed to levy charges on the use of software, to give permission to use software upon payment of the charges, and to determine whether or not to permit the use of software in accordance with various conditions under which the software will be utilized.
Owners of software may use any data item contained in the software as a reference, may revise or edit the software in part or wholly, may copy and distribute the software in part or wholly--only in the specific manner which the copyright owner has designated. A software use method control system has yet to be developed, however, which can prohibit the software owners from exploiting the software in any manner other than the designated manners.
Such a software use method control system may be provided in the form of a special operating system (abbreviated as "OS") or a program that can be executed on an OS. It is difficult to devise a control system of this type, simply because software can be used in countless ways, whatever kind it is. For the copyright owner it is impossible to predict every way in which the software owners may exploit the software, in an effort to design a software use method control system which can prohibit the software owners from exploiting the software in any possible manner other than those designated by the copyright owner.
The copyright owner may revise the software use method control system every time he or she thinks of new ways in which the software owners may utilize the software but which are prohibited by the copyright owner. For the copyright owner it is difficult to modify the control system so often since a great cost is required to do so. Even if the copyright owner can afford to and does modify the software use method control system as frequently as needed, there are problems on the part of the copyright owner.
A variety of OSs have been developed for use in PCs which are now used in increasing numbers. Each of these OSs can be applied to many different programs, each reflecting the originality of the programmer. Therefore, a plurality of OSs, for example a first OS and a second OS, can be executed on the same PC which is designed to execute a particular software use method control system. The PC user has access to system resources of either OS. Thus, he or she can get a system resource from the second OS, though unable to obtain the identical protected system resource from the first OS. In other words, the PC user can illegally acquire a system resource from the second OS, which is protected in the first OS. Further, the PC user can acquire any protected system resource of the first OS from the second OS, can modify the protected system resource and can, thereafter, make unauthorized access to the protected resource of the first OS. Still further, malfunction of the first OS, if it occurs, destroys the protected system resource which corresponds to any system resource of the second OS.
A PC user may use any existing OS, thereby acquiring the right to access the system resources of the OS. Then, he or she can gain unauthorized access to any system resource, not only one not protected, but also one protected by a software use method control system. Also he or she can achieve unauthorized access to the protected system resources corresponding to all programs being executed on the OS, by making use of the right to access the system resources of the OS.
In order to operate a software use method control system of the above-described type on a programmable system such as a PC, it is necessary to protect system resources from unauthorized access. In the existing OS circumstances, however, it is impossible to protect system resources though they should be protected by means of a software use method control system.
To develop a software use method control system in the form of a special OS, it is necessary to develop novel circumstances in which to prepare and use software. The cost of developing the control system is huge. In addition, it is very hard to attract PC users to the newly developed OS, away from an existing OS, if any, which is predominant on the market.
Instead of attempting to develop a full-scale software use method control system, an OS of minimum scale, having a structure of a software use method control system, may first be designed and used to control an existing OS, thereby to utilize the features of the existing OS in which to prepare and use software. To utilize the existing OS features, some program items must be transplanted to the existing OS. Here arises a problem. The copyright owner of the existing OS may not permit the software use method control system developer to transplant the program. If the owner permits the control system developer to do so, he or she will likely demand a huge royalty of the control system developer.
The problems with the conventional software use method control systems, which have been discussed, can be summarized as follows:
(1) The software use method control system cannot prohibit software owners from exploiting the software in any manner other than those designated by the owner of the copyright to the software.
(2) Since software can be used in countless ways which can hardly be predicted, a software use method control system can hardly be designed which can prohibit the use of software in every possible way other than that which the copyright owner has designated. The copyright owner may revise the control system every time he or she thinks of new ways in which software owners may exploit the software illegally, but cannot afford to revise the control system so often since a great cost is required to do so.
(3) To operate the software use method control system of the above-described type on a programmable system such as a PC, the system resources must be protected from unauthorized access. The system resources of the control system cannot be protected in S the existing OS circumstances, however. They cannot be protected in the ordinary multi-OS circumstances, either.
(4) The software use method control system may be developed in the form of a special OS. In this case, novel circumstances in which to prepare and use software need to be developed, as well. The cost of developing the control system is inevitably huge.
(5) An OS of minimum scale, having a structure of a software use method control system may first be designed and used to control the conventional OS, thereby to utilize the circumstances of the existing OS in which to prepare and use software. To utilize the existing OS circumstances, some program items must be transplanted to the existing OS. However, the copyright owner of the existing OS is likely not to permit the program transplantation. If the owner permits the program transplantation, a huge royalty must be paid to the copyright owner.
SUMMARY OF THE INVENTION
The object of the present invention is to provide a software use method control system which is characterized in the following respects:
(1) The system has resource-protecting means which protects system resources of a plurality of OSs and which can activate an application program of one OS from another OS, thus switching application programs among the OSs.
(2) The system has an access-right protecting section which prohibits a system user from acquiring an access right (generally known as "privilege") to all resources of the system by using the OS installed in his or her PC, thereby protecting the system resources against unauthorized access from the system user.
(3) The system has software use method controlling means for controlling the method of using software, such that the software is copied, edited and utilized in only the ways designated by the owner of the copyright of the software.
(4) The system has software use method controlling means for protecting the system resources against unauthorized access in not only the existing OS circumstances but also the ordinary multi-OS circumstances, in the case where the system is operated on a programmable system such as a PC.
(5) The system has software use method controlling means which enables the software, which is executed on a specified OS corresponding to the system, to be executed also on any OS that can be executed on a PC.
(6) The system has software use method controlling means which ensures the use of any existing OS, without transplanting the existing OS to the system.
(7) The system can be revised at low cost, thereby adding means for prohibiting unauthorized use of software in ways other those already designated by the owner of the copyright to the software.
The software use method control system according to the invention has the basic structure shown in FIG. 1. As FIG. 1 shows, the system comprises an execution request input section 10, a resource protecting section 20, a privilege protecting section 30, a system resource 80, a plurality of OSs 90, and a CPU 95.
The execution request input section 10 receives an execution request made by a system user.
The resource protecting section 20 designates an access right to the system resource 80 for each of the OSs 90. The access to the system resource 80 will be controlled in accordance with the access right thus designated. The section 20 is provided in the input section to the CPU 94. Instead, it may be located in the input section to the system resource 80.
The privilege protecting section 30 prohibits every user of the software use method control system from acquiring an access right (i.e., privilege) to the system resource 80 by utilizing the OS loaded in his or her PC. As can be understood from FIG. 1, the section 30 is an independent unit. Nonetheless, it may be incorporated into the input section to each OS 90.
The CPU 95 performs data-processing in response to a request made by a system user. The CPU 95 contains a coprocessor.
The system resource 80 comprises a memory, a memory containing a hard disk, output devices such as a display and a printer, and data-processing devices such as a CPU, a coprocessor and an extension board.
The software use method control system will be described in more detail, with reference to FIG. 2. FIG. 2 is an overall schematic presentation of the software use method control system.
As illustrated in FIG. 2, the system comprises a software managing section 40, an authentication information managing section 45, an authorization managing section 50, an authorization control section 60, a copyright managing section 70 and a copyright control section 75--besides the execution request input section 10, the resource protecting section 20, the privilege protecting section 30, the system resource 80, the plurality of OSs 90 and the CPU 95.
As indicated above, the execution request input section 10 receives an execution request made by a system user.
The resource protecting section 20 designates an access right to the system resource 80 for each of the OSs 90, and the access to the system resource 80 will be controlled in accordance with the access right thus designated.
As described above, the privilege protecting section 30 prohibits every system user from acquiring an access right to the system resource 80 by using the OS loaded in his or her PC.
The software managing section 40 is designed to manage software. More specifically, the section 40 manages various application programs such as video game programs and business-related programs and various information items such as electronic books and digital video movies. The phrase "to manage software" used here also means "to store software." Hence, the software managing section 40 has a storage unit and a management unit.
The authentication information managing section 45 has a management unit and a storage unit. The management unit manages the authentication information which presents the conditions that the software assumes when the software is accessed. The storage units store the authentication information.
The authorization managing section 50 has a management unit and a storage unit. The management unit manages authorization information. This information includes items which represent the conditions of utilizing the software and programs which are executed to utilize the software in those conditions. The storage unit stores the authorization information.
The authorization control section 60 is designed to access the software managing section 40, authentication information managing section 45 and the authorization managing section 50. The section 60 also controls an access to the software managing section 40, by using the authorization information or the authentication information, or both.
The copyright managing section 70 has a management unit and a storage unit. The management unit manages copyright information required for controlling an access from the copyright control section 75 to the authorization managing section 50. The storage unit stores the copyright information.
The copyright control section 75 accesses to the authentication information managing section 45 and the copyright managing section 70. Also the section 75 accesses to the authorization managing section 50, using the copyright information and the authentication information.
The software managing section 40, the authorization managing section 50 and the copyright managing section 70 constitute a software use method control section for the software. The software use method control system of FIG. 2 has some other identical software use method control sections (not shown), each provided for a piece of software.
According to a first aspect of the invention, there is provided a software use method control system comprising resource protection means which comprises: storage means for storing information for designating a right to access system resources of operating systems which are to be executed in the software use method control system; and access control means for controlling access to the system resources of the operating systems.
The software use method control system according to the first aspect has system resource protecting means which controls an access that any operating system (OS) makes to system resources other than those which the OS should manage. Multi-OS circumstances can therefore be provided, in which a plurality of OSs can be executed in parallel. If an OS makes access to an application program which can be used on another OS, the system resource protecting means activates the other OS. The application program can be accessed from the other OS thus activated. In other words, application programs can be switched among various OSs, while protecting the system resources which can be executed on these OSs.
Further, any software which can be used on a specific OS and whose use can be controlled by the software use method control system of the invention can be executed by using another OS which can be executed on a PC. Still further, any existing OS can be utilized in the software use method control system, without transplanting the existing OS to the software use method control system.
According to a second aspect of this invention, there is provided a software use method control system which differs from the system according to the first aspect, in that it further comprises privilege protecting means which comprises: first means for receiving an execution request made by a software user; second means for executing a program having a right to access all system resources of the operating systems; and third means for determining whether the second means is allowed to executed the program, from the execution request which the first means has received, and for inhibiting the second means from executing the programs when it is determined that the programs are not allowed to be executed.
The software use method control system according to the second aspect has privilege protecting means which prohibits a system user from acquiring an access right (privilege) to access all system resources by using the OS loaded in his or her PC. Thus, the system resources which the OS of the software use method control system should manage are protected against unauthorized access.
According to a third aspect of this invention, there is provided a software use method control system which comprises: software; software managing means for managing the software; authorization managing means including storage means for storing authorization information corresponding to a least one of a method of executing the software and a method for secondary use thereof and means for utilizing the software in accordance with the authorization information stored in the storage means; and authorization control means for controlling an access to the software managing means by using at least one of the authorization information and authentication information. The authorization control means includes means for storing and managing the software incorporating conditions in which the software is to be used and the authorization information authorizing a user to use the software in the conditions incorporated in the software.
The following are preferred embodiments of the software use method control system according to the present invention.
(1) The system further comprises authentication information managing means which manages authentication information showing the condition that the software assumes when it is used.
(2) The system identical to the system (1), except that it further comprises copyright managing means for managing copyright information which controls an access to the authorization control means; and copyright control means for making an access to the copyright managing means and the authentication information managing means and to the authorization managing means by using the copyright information and the authentication information.
(3) The system identical to the system (2), except that the copyright control means edits the software in at least one of three control schemes of "software can be edited in any way," "software cannot be edited at all" and "software can be edited only in ways designated."
(4) The system identical to the system (2), except that the authorization control means or the copyright control means, or both, include means for treating a use method control program or a copyright control program, or both, as an execution unit protected from access from any other program, and for using the copyright information as software ID indicating an access right to each execution unit.
(5) The system identical to the system (2), except that, when the copyright control means edits the software in the control schemes of "software can be edited in any way," the authorization control means or the copyright control means, or both, include means for treating the use method control program, the copyright control program and the software, as execution units protected from access from any other program, and for using the copyright information as software ID indicating an access right to each of these execution units.
(6) The system identical to the system (2), except that the authorization control means or the copyright control means, or both, include means for protecting a program and data access by the use of the program, as independent execution units.
(7) The system identical to the system (6), except that the authorization control means or the copyright control means, or both, include means for inhibiting an access to data of at least one program when the at least one program and at least one data item have different execution unit IDs.
(8) The system identical to the system (7), except that the authorization control means or the copyright control means, or both, include means for allowing an access to the data of the program.
(9) The system identical to the system (1), except that the authorization control means contains a use method control program; the copyright control means contains a copyright control program; and the authorization managing means includes means for executing a program as an execution unit protected from an access from any other program and for using the authentication information as a software ID indicating the access right to the execution unit.
(10) The system identical to the system (9), except that the program to be used, the use method control program, the copyright information and the authentication information includes at least one of a personal ID assigned to a specific person, an apparatus ID assigned to a specific apparatus and a software ID assigned to specific software.
(11) The system identical to the system (1), except that the authorization control means controls an access to the software in at least one of three control schemes of "software can be accessed unconditionally," "software cannot be accessed at all" and "software can be accessed only in ways designated."
(12) The system according to the third aspect, in which the authorization information contains at least one program which is to be executed to use the software.
(13) The system identical to the system (12), except that the authorization information contains a software ID assigned to the software and a program to be executed to use the software, and the program is executed as a program having an access right to the software having the software ID.
(14) The system identical to the system (12), except that the authorization control means includes means for referring from another software a program which is contained in the authorization information together with a specified software and which is to be executed to use the software.
(15) The system identical to the system (14), except that the authorization information contains a software ID assigned to the software and a program which is stored together with the software and which is to be executed to use the software.
According to the third aspect of the invention, the software contains authorization information including the conditions in which the software should be used (i.e., limited methods of executing the software and limited methods for secondary use thereof) and a program which is executed to use the program in those conditions. In other words, the authorization information represents the software use method methods designated by the owner of the copyright to the software. It is in these methods only that an owner of the software may use any data item contained in the software to reference, revise or edit the software in part or wholly, and copy and distribute the software in part or wholly. Thus, the owner of the software is prohibited from using the software in any method other than those presented by the authorization information.
The system resource protecting means, the privilege protecting means of the second aspect of the invention and the authorization control means which characterize the software use method control systems according to the first to third aspects of the invention, respectively, may be used in combination to protect the system resources against unauthorized access in not only the existing OS circumstances but also the ordinary multi-OS circumstances, even if the system is operated on a programmable system such as a PC.
Further, any software which can be used on a specific OS and whose use can be controlled by the software use method control system of the invention can be executed by using another OS which can be executed on a PC. Moreover, any existing OS can be utilized in the software use method control system, without transplanting the existing OS to the software use method control system.
According to a fourth aspect of this invention, there is provided a software use method control system which comprises: a plurality of software use method control means, each having software, software managing means for managing software, first storage means for storing authorization information corresponding to a least one of a method of executing the software and a method for secondary use thereof and means for utilizing the software in accordance with the authorization information stored in the storage means; and communication means for achieving communication among the software use method control units. Each of the software use method control units further comprises: means for receiving, through the communication means, a request for using the software in a specific method; second storage means for storing a program for controlling the method of using the software, at a storage location designated by the authorization information; means for determining, from the authorization information, whether the program is stored at the storage location designated by the authorization information; and copying means for copying the program from any other software use method control unit having the program, when the program is determined not to be stored in at the storage location designated by the authorization information.
In the software use method control system according to the fourth aspect of the invention, in order to copy the software managed by any other software use method control unit, each software use method control unit determines whether or not it stores a program for controlling the method of using the software, and then copies the program from the other software use method control unit when the program is not stored in the software use method control unit and stored in the other software use method control unit. Alternatively, each software use method control unit determines whether or not it stores a program for controlling the method of using the software, when it receives a request for using the software, and then copies the program from the other software use method control unit when the program is not stored in the software use method control unit and stored in the other software use method control unit.
Since each software use method control unit can automatically copy a program for using the software in a new method, from any other software use method control unit which has that program. The user of each unit need not install the program and can yet utilize the software in that new method.
Additional objects and advantages of the present invention will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by practice of the present invention. The objects and advantages of the present invention may be realized and obtained by means of the instrumentalities and combinations particularly pointed out in the appended claims.
BRIEF DESCRIPTION OF THE DRAWINGS
The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate presently preferred embodiments of the present invention and, together with the general description given above and the detailed description of the preferred embodiments given below, serve to explain the principles of the present invention in which:
FIG. 1 is a diagram showing the basic structure of a software use method control system according to a first embodiment of the present invention;
FIG. 2 is an over-all view of the software use method control system shown in FIG. 1;
FIG. 3 is a diagram illustrating the resource protecting section incorporated in the software use method control system shown in FIG. 1;
FIG. 4 is a schematic representation of a resource protecting section which comprises a CPU and a coprocessor;
FIG. 5 is a diagram showing the information managed by the OS information managing section used in the system of FIG. 1;
FIG. 6 is a diagram illustrating the resource protect information managed by the resource-protect information managing section incorporated in the system of FIG. 1;
FIG. 7 is a flow chart explaining the operation of the software use method control system shown in FIG. 1;
FIG. 8 is a diagram showing the basic structure of a software use method control system according to a second embodiment of the present invention;
FIG. 9 is a diagram illustrating the authorization managing section of the system shown in FIG. 8 and a first type of the information managed by the authorization managing section;
FIG. 10 is a diagram showing the authorization managing section of the system shown in FIG. 8 and a second type of the information managed by the authorization managing section;
FIG. 11 is a diagram showing the authorization managing section of the system shown in FIG. 8 and a third type of the information managed by the authorization managing section;
FIG. 12 is a diagram presenting a modification of the information managed by the authorization managing section of the system shown in FIG. 8;
FIG. 13 is a diagram showing the basic structure of a software use method control system according to a third embodiment of the present invention;
FIG. 14 is a diagram showing the software managing section used in the system of FIG. 13 and the information managed by the authorization managing section incorporated in the system of FIG. 13;
FIG. 15 is a diagram showing the basic structure of a software use method control system according to a fourth embodiment of the invention;
FIG. 16 is a diagram illustrating the copyright managing section of the system shown in FIG. 15 and a first type of the information managed by the copyright managing section;
FIG. 17 is a diagram depicting the copyright managing section of the system shown in FIG. 15 and a second type of the information managed by the copyright managing section;
FIG. 18 is a diagram showing a third type of the information managed by the copyright managing section of the system shown in FIG. 15;
FIG. 19 is a diagram illustrating a modification of the information managed by the copyright managing section of the system shown in FIG. 15;
FIG. 20 is a diagram illustrating the privilege protecting section incorporated in a software use method control system according to a fifth embodiment of the invention;
FIG. 21 a flow chart explaining the operation of the privilege protecting section;
FIG. 22 is a diagram showing the basic structure of a software use method control system according to a fifth embodiment of this invention;
FIG. 23 is a diagram showing the basic structure of a software use method control system according to a seventh embodiment of the invention;
FIG. 24 is a flow chart explaining the operation of the system shown in FIG. 23;
FIG. 25 is a diagram showing a software managing table;
FIG. 26 is a diagram depicting another software managing table;
FIG. 27 is a diagram illustrating still another software managing table;
FIG. 28 is a flow chart explaining the operation of a modification of the system shown in FIG. 23;
FIG. 29 is a diagram showing an example of a software managing table;
FIG. 30 is a diagram showing the basic structure of a software use method control system according to an eighth embodiment of the present invention;
FIG. 31 is a flow chart explaining the operation of the system shown in FIG. 30;
FIG. 32 is a diagram presenting an example of software incorporated in the system of FIG. 30;
FIG. 33 is a flow chart explaining the operation of a first modification of the system shown in FIG. 30;
FIG. 34 is a diagram showing an advertisement displayed by the first modification of the system shown in FIG. 30;
FIG. 35 is a flow chart explaining the operation of a second modification of the system shown in FIG. 30;
FIG. 36 is a flow chart explaining another operation of the second modification of the system shown in FIG. 30;
FIG. 37 is a flow chart explaining still another operation of the second modification of the system shown in FIG. 30;
FIG. 38 is a flow chart explaining the operation of a software use method control system according to a ninth embodiment of the present invention;
FIG. 39 is a diagram showing an example of software incorporated in the system according to the ninth embodiment;
FIGS. 40A to 40C are diagrams showing examples of data items displayed by the system according to the ninth embodiment;
FIG. 41 is a flow chart explaining how the system according to the ninth embodiment sets a levy;
FIG. 42 is a flow chart explaining an operation of a first modification of the system according to the ninth embodiment;
FIG. 43 is a flow chart explaining another operation of the first modification of the system according to the ninth embodiment;
FIG. 44 is a flow chart explaining still another operation of the first modification of the system according to the ninth embodiment;
FIG. 45 is a diagram illustrating the basic structure of a second modification of the system according to the ninth embodiment;
FIG. 46 is a flow chart explaining the operation of the authorization control section used in the second embodiment of the system according to the ninth embodiment;
FIG. 47 is a flow chart explaining the operation of the copy managing section incorporated in the second embodiment of the system according to the ninth embodiment;
FIG. 48 is a flow chart explaining the operation of the levy setting section incorporated in the second embodiment of the system according to the ninth embodiment;
FIG. 49 is a diagram showing another example of software incorporated in the system according to the ninth embodiment;
FIG. 50 is a diagram showing still another example of software incorporated in the system according to the ninth embodiment;
FIG. 51 is a flow chart explaining the operation of a software use method control system according to a tenth embodiment of the invention;
FIG. 52 is a diagram illustrating an example of software incorporated in the system according to the tenth embodiment;
FIG. 53 is a diagram showing data items displayed by the system according to the tenth embodiment;
FIG. 54 is a diagram depicting another example of software incorporated in the system according to the tenth embodiment;
FIG. 55 is a diagram showing other data items displayed by the system according to the tenth embodiment;
FIG. 56 is a diagram showing still another example of software incorporated in the system according to the tenth embodiment;
FIG. 57 is a diagram illustrating the basic structure of a software use method control system according to an eleventh embodiment of this invention;
FIG. 58 is a flow chart explaining the operation of the system according to the eleventh embodiment;
FIG. 59 is a flow chart explaining how a levy is set in the system according to the eleventh embodiment:
FIG. 60 is a diagram illustrating the basic structure of a software use method control system according to a twelfth embodiment of the present invention;
FIG. 61 is a flow chart explaining the operation of the system according to the twelfth embodiment;
FIG. 62 is a diagram showing a table for generating additional information in the twelfth embodiment;
FIG. 63 is a diagram showing a table for presenting additional information;
FIG. 64 is a diagram data items displayed by the system according to the twelfth embodiment;
FIG. 65 is a diagram illustrating the basic structure of a software use method control system according to a thirteen embodiment of the invention;
FIG. 66 is a flow chart explaining the operation of the system according to the thirteenth embodiment;
FIG. 67 is a diagram illustrating the basic structure of a software use method control system according to a fourteenth embodiment of the invention;
FIG. 68 is a flow chart explaining the operation of the system according to the fourteenth embodiment;
FIG. 69 is a diagram illustrating the basic structure of a software use method control system according to a fifteenth embodiment of the invention;
FIG. 70 is a flow chart explaining the operation of the system according to the fifteenth embodiment;
FIGS. 71A to 71C are diagrams showing qualification judgment tables;
FIG. 72 is a diagram presenting data items displayed by the system according to the fifteenth embodiment;
FIG. 73 is a diagram illustrating the basic structure of a software use method control system according to a sixteenth embodiment of the invention;
FIG. 74 is a flow chart explaining the operation of the system according to the sixteenth embodiment;
FIG. 75 is a diagram illustrating the basic structure of a software use method control system according to a seventeenth embodiment of the invention;
FIG. 76 is a flow chart explaining the operation of the system according to the seventeenth embodiment;
FIG. 77 is a diagram showing various presentation ability data items stored in the system according to the seventeenth embodiment;
FIG. 78 is a diagram showing conditions for presenting the software;
FIG. 79 is a diagram showing the basic structure of a modification of the seventeenth embodiment;
FIGS. 80A and 80B are diagrams illustrating examples of presentation ability data items;
FIG. 81 is a diagram illustrating the basic structure of a software use method control system according to an eighteenth embodiment of the invention;
FIG. 82 is a flow chart explaining how the authorization control section operates in the system according to the eighteenth embodiment;
FIG. 83 is a diagram illustrating the basic structure of a software use method control system according to nineteenth embodiment of the invention;
FIG. 84 is a flow chart explaining how the authorization control section operates in the system according to the nineteenth embodiment;
FIG. 85 is a diagram showing data items the authorization managing section manages in the system according to the nineteenth embodiment;
FIG. 86 is a flow chart explaining how the sum total processing section performs its function in the system according to the nineteenth embodiment;
FIG. 87 is a diagram showing an example of information input to the sum total processing section of the nineteenth embodiment;
FIG. 88 is a diagram depicting an example of information output by the nineteenth embodiment;
FIG. 89 is a diagram illustrating the basic structure of a software use method control system according to a twentieth embodiment of the invention;
FIG. 90 is a diagram schematically showing the authorization managing section and the authorization control section, both incorporated in the twentieth embodiment;
FIG. 91 is a diagram showing a menu displayed at the input section of the twentieth embodiment;
FIG. 92 is a flow chart explaining how the authorization control section operates when the menu item of "display" is selected;
FIG. 93 is a flow chart explaining how a use-method is controlled when the menu of "reference is selected;
FIG. 94 is a flow chart explaining how a use-method is controlled when the menu of "copy" is selected;
FIG. 95 is a diagram illustrating the basic structure of a software use method control system according to a twenty-first embodiment of the invention;
FIG. 96 is a flow chart explaining how a use-method is controlled when the menu of "delete" is selected;
FIG. 97 is a diagram showing an example of levy information;
FIG. 98 is a diagram illustrating the basic structure of a software use method control system according to a twenty-second embodiment of the invention;
FIG. 99 is a diagram schematically showing the information managed by the authorization managing section and the authorization control section, both incorporated in the twenty-second embodiment;
FIG. 100 is a flow chart explaining the operation of the twenty-second embodiment;
FIG. 101 is a diagram illustrating the basic structure of a software use method control system according to a twenty-third embodiment of this invention;
FIG. 102 is a diagram schematically showing the information managed by the authorization managing section and the authorization control section, both incorporated in the twenty-second embodiment;
FIG. 103 is a flow chart explaining the operation of the twenty-third embodiment; and
FIG. 104 is a diagram illustrating the basic structure of a software use method control system according to a twenty-fourth embodiment of this invention;
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
The embodiments of the invention will be explained with reference to the accompanying drawings.
Similar or identical components are denoted using the same reference numerals in the drawings. They will not be repeatedly described, unless the functions they perform in one embodiment are different from those they perform in a previously described embodiment.
Before explaining the embodiments, the invention will be summarized.
(1) In the invention, a system resource to be protected, which corresponds to a certain operating system (OS), will be protected from access from other OSs. Further, when a certain OS has accessed software corresponding to any other OS, access control is performed, causing the OS corresponding to the software to access the software (or part of the software). Thus, any software corresponding to an OS operable in the system can be executed by the OS operable in the system. In other words, application programs can be switched among various OSs.
(2) The software use method control system of the invention prohibits a user of the system from acquiring an access right to the system resources by using the system. The system resources are thereby protected.
(3) Under the above-described protection circumstances, when the creator of software or the copyright owner of software has specified a use method (the manner of execution and a secondary use method) corresponding to each software in accordance with the circumstances in which to use the software, the method of using the software is controlled so that specified copying or editing can be performed in accordance with the use circumstances, even to perform secondary use, i.e., distribution of software copies, reconstruction such as editing of the same, etc.
(4) If the portions of software, other than the portions relating to control of the method of using the software correspond to OSs which do not correspond to the software, the software use method control system executes only the portions relating to control of the use methods, and the other portions are executed by other OSs corresponding thereto, respectively. In other words, multi OS circumstances can be realized in which complex software including portions corresponding to a plurality of OSs can be executed by a given OS which is operable in the system and is not specific to the system.
Each embodiment of the invention will now be explained in detail. The structure, advantage, specific explanation, and modification, if any, of each embodiment will be described in the order mentioned.
First Embodiment
(1) Main Components and Features
FIG. 3 is a schematic view, showing a resource protecting section 20 included in a software use method control system according to the first embodiment. This embodiment is characterized by the resource protecting section 20 which is designed to prohibit unauthorized access to a resource to be protected (by an OS which does not correspond to the resource or a program to be executed by the OS).
The resource protecting section 20 includes a system testing section 21, a system resource protecting section 22, an OS executing section 23, a system resource access section 24, a system resource protect information managing section 25 and an OS information managing section. As will be explained later, the resource protecting section 20 inhibits unauthorized access to a protected resource (from an OS not corresponding to the resource, or from a program that OS can execute).
The system testing section 21 determines whether or not the system has been modified illegally, and initializes the system.
The OS information managing section 26 manages information required for executing OSs.
The OS executing section 23 executes an OS specified, for example, by an execution request input section 10 on the basis of information stored in the OS information managing section 26.
The system resource protect information managing section 25 manages and stores information for designating the access right of each OS to a corresponding system resource.
The system resource protecting section 22 controls access to a system resource by each OS on the basis of the information stored in the system resource protect information managing section 25.
The system resource access section 24 executes access to a system resource under the control of the system resource protecting section 22.
(2) Advantages
The software use method control system which incorporates the resource protecting section 20 has the following advantages:
While a plurality of OSs which are not specific to the software use method control system are being executed, the system resource protecting section 22 can protect a system resource corresponding to an OS against access from any other OS. The system resource can be prevented from being modified illegally by another OS. Further, a system resource corresponding to an OS can be protected from destruction due to abnormal execution of another OS. Moreover, software corresponding to a predetermined OS can be prevented from being used by the other OSs.
When an OS has tried to access the software corresponding to another OS, the OS information managing section 26 and the OS executing section 23 can control the access operation to make the OS corresponding to the software execute this software. In other words, an OS corresponding to software already accessed is automatically executed, and any given software corresponding to an OS can be executed from the corresponding OS.
Therefore, in the case where the resource protecting section 20 is used as a program to be executed in a particular OS, when OSs other than the particular one have tried to access software corresponding to the software use method control system, the access operation is controlled, enabling the particular OS corresponding to the software use method control system to access the software when OSs other than the particular one have tried to access software corresponding to the software use method control system.
In other words, in multi-OS circumstances, software corresponding to the software use method control system can be executed from a desired OS which can operate in the system. Furthermore, a system resource corresponding to each OS can be protected from unauthorized access from OSs which do not correspond to the software use method system.
The software use method control system may be developed to be operated by an original OS. The cost of developing an OS for controlling a method using software can be considerably reduced by designing a minimum OS which has a function for executing only the software use method control system and by using, as the other necessary functions, the use or development circumstances of OSs not specific to the software use method control system by controlling the execution of the OSs by the minimum OS.
Also in the case of using the functions of OSs by another OS which corresponds to the software use method control system, it is not necessary to transplant OSs. It suffices to install the OSs in the system in a usual manner. The user need not be bothered to ask the copyright owner of the existing OS for permit him to transplant the OS, or to play a huge royalty to transplant the OS.
In addition, since a plurality of OSs are executed in one information processing unit, the consumption of OSs or of applications can be increased. Therefore, approval of software makers is easy to obtain. It is also very advantageous to users to execute a plurality of OSs in one processing unit, and hence realizing the software use method control system by its original OS can obtain their approval with ease.
In the software use method control system according to the first embodiment, the resource protecting section examines whether or not the section itself has been destroyed or modified. The resource protecting section stops the operation of the system when it is found to have been destroyed or modified. As a result, destruction or modification of the resource protecting section can be prevented.
(3) Detailed Description of the First Embodiment
The structure and operation of the first embodiment will be explained in detail, with reference to FIGS. 4 to 7.
FIG. 4 is a schematic view, showing a case where the resource protecting section is constituted by a CPU 95 and a coprocessor 96.
The resource protecting section 20 is constructed as shown in FIG. 3. It comprises the CPU 95 and the coprocessor 96.
The resource protecting section 20 designates the access right of each OS to system resources such as memory units including a memory and a hard disk, output units including a display and a printer, processing units including the CPU, the coprocessor and an extension board, etc. The section 20 then controls the access of the OS to the system resources. The word "address" used in the following descriptions means, in some cases, the data indicative of the above-described system resource or of a predetermined portion of the system resource.
The CPU 95 has a system testing section 21a for testing whether or not the system has been modified illegally, initializing the system, and for testing whether the coprocessor 96 defined by the system is connected to the CPU 95. It further comprises the system resource protecting section 22 for controlling the access of an OS to the system resources, the OS executing section 23 for executing an OS specified, for example, by the execution request input section 10, and the system resource access section 24 for allowing access to the system resources.
The coprocessor 96 connected to the CPU 95 has a system testing section 21b for testing whether or not the system has been modified illegally, initializing the system, and for testing whether the CPU 95 defined by the system is connected to the coprocessor 96, the OS information managing section 26 for managing information for executing OSs, and the system resource protect information managing section 25 for managing information for designating the access right of each OS to a corresponding system resource.
A unique ID is assigned to each OS to be executed in the system.
As is shown in FIG. 5, the information to be managed by the OS information managing section 26 includes table data which indicates the ID pieces of OSs, the boot addresses of the OSs, and resume addresses for resuming the execution of each OS, if suspended. The information further includes a series of data pieces relating the execution circumstances of the OSs for resuming the execution of each OS, if suspended, and the ID of an OS which is being currently executed. These information pieces are stored, for example, in a reloadable non-volatile memory (e.g. EEPROM) incorporated in the coprocessor 96.
The OS executing section 23 searches the table information stored in the OS information managing section 26, for the ID of an OS specified by e.g. the execution request input section 10. The execution section 23 executes the OS in accordance with the boot address if the resume address is a particular address which should not be used. The section 23 then resumes the execution of the OS in accordance with the resume address if the resume address is a normal address.
As is shown in FIG. 6, the information managed by the system resource protect information managing section 25 is table information indicating the ID pieces of the OSs and lists of addresses corresponding to the OSs and to be protected. These information pieces are stored in a reloadable nonvolatile memory (e.g. EEPROM) of the coprocessor 96.
The system resource protecting section 22 is realized in hardware as an extension of an MMU (Memory Management Unit). The section 22 searches the table information stored in the system resource protect information managing section 25, for an address to which a request for access has been made. The second 22 then determines the ID of an OS having the right of access to the address. Further, the section 22 determines the ID of an OS having made the access request (the ID of the OS currently being executed), from the OS information managing section 26, and compares the determined ID pieces, thereby determining whether the OS being operated has the right of access. If it does not have a right of access, the system resource protecting section 22 inhibits access from the OS, or the OS execution section 23 executes an OS having the right of access to the address.
FIG. 7 is a flowchart, showing the processing of the software use method control system according to the first embodiment. In the first embodiment, the software use method control system is realized as an independent OS.
When the system has started its operation (Step A1), the system testing section 21a transmits to the coprocessor 96 at least one particular command stored in the CPU 95 (which cannot be referred to from the software). Upon receipt of the particular command, the coprocessor 96 is initialized to perform normal operations. Further, particular data returned by the coprocessor 96 is tested (Step A2), thereby recognizing that the coprocessor 96 is defined by the system. If it is determined that no normal data is returned by the coprocessor 96, the CPU ceases the operation. If the CPU 95 does not supply the initialization command to the coprocessor 96 even after a predetermined time period elapses from the start of the system, the coprocessor 96 ceases the CPU 95 (Step A3).
If the system is normal, the system testing section 21a obtains the boot address of the software use method control system with reference to the table information managed by the OS executing section 23. Then, the system resource protecting section 22 searches a list of addresses to be protected and corresponding to the ID of the software use method control system, with reference to the table information managed by the system resource protect information managing section 25. An address area is set to which only the software use method control system can access, and the system resource protecting section 22 starts performing its function (Step A4). The section 22 causes the OS executing section 23 to execute the software use method control system having ID defined by the system (Step A5).
If a request for access to an address (application, etc.) corresponding to an OS has been made during execution of another OS, the OS corresponding to the address to be accessed is executed by the OS executing section 23 (Step A6).
When a request for execution of another OS has been made, the OS executing section 23 interrupts the current execution of an OS, and causes the OS information managing section 26 to store the execution circumstances of the currently executed OS and its resume address for resuming the execution of the OS. Thereafter, the section 23 refers to the table information managed by the execution OS selecting section, thereby obtaining the boot address and resume address of an OS specified e.g. by the execution request input section 10. Then, the system resource protecting section 22 refers to the table information managed by the system resource protect information managing section 25. The section system resource protecting 22 thereby obtains a list of addresses corresponding to the ID of the selected OS, and stores an address area to which the OS having the ID is accessible (Steps A6 and A7).
Lastly, the CPU 95 executes the specified OS in accordance with its boot address or resume address (Step A8). Alternatively, the CPU 95 allows current access to the system resource (Step A9).
The system resource protecting section 22 unconditionally allows the software use method control system to access any desired address. As regards an OS other than the software use method control system, the section 22 tests whether or not the address to be accessed is identical to an address to which the OS is accessible, and allows the access of the OS to the address only if the address can be accessed by the same. If the address to which a request for access has been made can be accessed only by the software use method control system, the OS executing section 23 reads the software use method control system to cause the same to access the address, or to prohibit such access. If the address to which a request for access has been made is a to-be-protected one corresponding to an OS other than the software use method control system, such access is prohibited.
As described above, the resource protecting section 20 prohibits unauthorized access to system resources (by OSs which do not correspond to the system resources) to be protected and managed by the software use method control system, such as a software managing section 40, an authorization managing section 50, a copyright managing section 70, an authorization control section 60, a copyright control section 75, an authentication information managing section 45, a privilege protecting section 30, etc.
(4) Modification of the First Embodiment
In the first embodiment, the CPU 95 and the coprocessor 96 constitute the resource protecting section 20. Nonetheless, the section 20 may further comprises a memory, a hard disk, an IC card, and the like. The components of the section 20 are not limited to the CPU 95, the coprocessor 96 and a memory. The second resource protecting section 20 can be modified in various manners. For example, the section 20 can be constituted only by one of the CPU 95 and the coprocessor 96.
The system resource protect information managing section 25 may be incorporated in the system resource protecting section 22. Moreover, the section 25 may be modified so as to manage information on the relationship between data for directly designating each OS and an address for directly designating each system source, and to determines, when a request for access to a system resource has been made, whether or not the access request is allowable with reference to the information. The section 25 may be constituted by software or hardware.
Furthermore, the unit of an address managed by the OS executing section 23 or the system resource protecting section 22 may be 1 byte or any segment block unit greater than 1 byte.
Also, an output unit or a processing unit can be intensively managed together with a memory unit by assigning predetermined addresses to the units.
In the first embodiment, an OS section included in the software use method control system and other OSs are on an equal basis, and the OSs are protected from the hardware used. Nonetheless, the system may be used as an OS which is more similar to a system resource than the other OSs, and may be designed to execute the other OSs. In this case, the boot address or resume address of the software use method control system and a command for executing the software use method control system must be stored in the CPU 95 needs to store such that they cannot directly be accessed by software and that the command is executed whenever the CPU 95 is reset.
Furthermore, the software use method control system may be designed to prepare at least two privilege modes in order to discriminate a privilege mode for the software use method control system from that for each of the other OSs. A system resource to which access can be performed only in the privilege mode for the software use method control system can thereby be set, and access to the system resource in the other privilege modes can be inhibited. As a result, many functions of the resource protecting section 20 can be realized by software.
The other OSs may be modified to have privilege lower than the software use method control system and to be read by the system so that the program may be executed by the system upon completion or interruption of the execution of any other OS.
If an address which has been requested to be accessed is one to which only the software use method control system can access, the current execution of an OS is interrupted and the program returns to the execution of the software use method control system. The software use method control system can then access to the address or can inhibit the access.
In the first embodiment, the information managed by the OS executing section 23 and the system resource protect information managing section 25 is stored in the CPU or the coprocessor. Instead, the information may be stored in an address area which is protected from being accessed by any OS other than the system.
A list of OSs which can be read by selecting a predetermined menu or pushing a predetermined key or switch may be displayed. In this case, the user can select any other OS from the list with the use of a menu, etc.
Moreover, the software use method control system may be a program to be executed by an OS which is not peculiar thereto, not used as an independent OS as described above.
Second Embodiment
(1) Main Components and Features
FIG. 8 schematically shows a software use method control section included in a software use method control system according to the second embodiment.
The software use method control system comprises a software managing section 40, an authentication information managing section 45, an authorization managing section 50 and an authorization control section 60.
The software managing section 40 manages software.
The authentication information managing section 45 manages authentication information indicative of circumstances assumed when software has been accessed.
The authorization managing section 50 manages and stores authorization information corresponding to each use method of software (the manner of execution and a secondary use method).
The authorization control section 60 accesses the software managing section 40, the authorization managing section 50 and the authentication information managing section 45. It controls the access to the software managing section 40 using at least one of the authorization information and the authentication information.
(2) Advantages
In the second embodiment, the owner of copyright of the software beforehand specifies the use method which he or she thinks most suitable for each software system in view of the authorization attribute information and the software use method circumstances, in order to copy or edit the software. Then, the secondary use of the software such as copy or redistribution, edition or reconstruction, etc. can be achieved.
Further, various use methods corresponding to software systems can be provided by preparing a mechanism for enabling the owner of copyright to insert into the software systems his original procedures for using them. Since these procedures are protected by the software use method control system, the copyright owner can easily create protected software which can be used by his specified use method.
Moreover, the method of using the software can be controlled in accordance with the software use method circumstances by storing therein the condition for controlling the use method or for use history information, and by referring to at least one of the stored information and the authentication information indicative of the circumstances of the software having been accessed. As a result, the software use method can be controlled, for example. A still image formed by the software will fade out and finally disappear after a predetermined time period elapses from the time of the acquisition of the software.
(3) Detailed Description of the Second Embodiment
The operation of each component of the software use method control system according to the second embodiment will be described in detail.
The software managing section 40 manages various kinds of application programs such as game software, business software, etc. or various kinds of data such as an electronic book, a static picture, a digital video.
The authentication information managing section 45 manages at least one of information for authenticating at least one particular person, information for authenticating at least one particular unit, and information for authenticating at least one password, and uses the at least one information as authentication information which can indicate in a unique manner the circumstances at the time when the software has been accessed. The authentication information includes at least one of text information, voice information, bit map information, stroke information, static picture information, moving picture information, binary information, program information and constructed information of these information pieces.
The authorization managing section 50 manages, as authorization information corresponding to each method of using the software, at least one of information indicative of the kind (name) of each use method, information indicative of the copyright owner's intention about each software use method, information for discriminating one software system from another, information for using the software, information for controlling each use method, information for storing the history of each use method, information for the use history of the software, information for controlling a levy for using the software and constructed information of these information pieces. These authorization information pieces includes at least one of text information, voice information, bit image map information, stroke information, static picture information, moving picture information, binary information, program information and constructed information of these information pieces.
The information managed by the authorization managing section 50 and the information managed by the software managing section 40 constitute one software system.
The authorization control section 60 manages and executes at least one program (hereinafter referred to as "use method control program") of a procedure for storing at least one (use history information) of software access history, authentication information obtained when software has been accessed, history of levy on access, and history of payment for access;
a procedure for determining whether or not the access to the software is allowed, in accordance with the use history information of the software and current use circumstances of the same; and a procedure for executing the specified access to the software in accordance with the use history information of the software and current use circumstances of the same.
The authorization control section 60 accesses the software managing section 40, the authorization managing section 50 and the authentication information managing section 45, and at the same time controls the access to the software managing section 40 with the use of at least one of the authorization information and the authentication information.
FIG. 9 shows a first structure of information managed and controlled by the authorization managing section 50 and the authorization control section 60 employed in the second embodiment.
As is shown in FIG. 9, the authorization attribute information is one of the authorization information pieces managed by the authorization managing section 50. The authorization attribute information has an information string corresponding to each method of using the software. Each information string includes information indicative of the name of the method, information indicative of a pointer to a program (use method control program) for controlling the use method, and ID information directly indicative of the using control program corresponding to the use method. The use method control program is controlled by the authorization control section 60.
In FIG. 9, "NULL pointer" indicates that the use method is not allowed in the software, and a pointer other than the NULL pointer indicates that the use method is allowed.
A procedure for controlling the software use method will be explained.
Assume that a request for use has been made to the authorization control section 60, using the software use method control program ID as an argument. The section 60 searches the authorization attribute information for an information string having the specified use method control program ID, and then fro a pointer to the specified use method control program. If the pointer is not the NULL pointer, the use method control program is executed. The executed use method control program provides services for using the software in accordance with a method specified by the program.
The authorization managing section 50 corresponding to the software can be accessed only within a range specified by the copyright owner (which will be explained in a fourth embodiment). Accordingly, even when the owner of the software has been changed to a new one as a result of copying the same, the new owner cannot unjustly change the use method control program of the authorization managing section 50.
The access control of an OS such as UNIX, etc. has been performed so far, by using only three access rights such as read right, write right and execution right. The software owner has been allowed to have all access rights to the software. In these circumstances, if read is possible, copy is possible, too; if copy is possible, edit of copied software is possible, too. Thus, complicate use method control is impossible. It is impossible to perform such complicate control that reference is allowed only under particular conditions (the performance of a display device, a time point, the kind of the machine, etc.).
In the software use method control system of the invention, software also can be protected from being accessed by the owner of its copy, and can be used only by a use method control program specified by the copyright owner of the software. Thus, the copyright owner can perform various kinds of control. For example, he or she can refer to the software, but cannot copy it. Alternatively, he or she can copy the software, but cannot edit it. Still alternatively, he or she can copy the software, and can refer to it but only at a predetermined time point.
FIG. 10 shows a second structure of information managed and controlled by the authorization managing section 50 and the authorization control section 60 employed in the second embodiment.
As is shown in FIG. 10, the use history information is one of the authorization information pieces managed by the authorization managing section 50. The use history information has an information string corresponding to each use method of the software. Each information string includes information indicative of the name of the use method, information indicative of a pointer to a program (use method control program) for controlling the use method, and ID information directly indicative of the use control program corresponding to the use method. The use method control program is controlled by the authorization control section 60.
A procedure for controlling the use methods of software in accordance with the use history information will be explained.
When a request for use has been made to the authorization control section 60, by utilizing the use method control program ID as an argument, the section 60 searches the authorization attribute information for an information string having the specified use method control program ID. The section 60 also searches the use history information for an information string having the specified use method control program ID. It examines a pointer to information indicative of use conditions for controlling the use method of a software system corresponding to the searched information string, and a pointer to information indicative of the use history of the software system.
Thereafter, the authorization control section 60 examines a pointer to the specified use method control program in the authorization attribute information. The section 60 executes the use method control program indicated by the pointer when the pointer is not the NULL pointer. The authorization managing section 50 manages use history information corresponding to each use method control program.
The use method control program specifies its own use method control program ID, and makes an access request to the authorization managing section 50, thereby accessing its own use history information. For example, a use method control program for reference specifies its own ID 00000000. A request for access to the authorization managing section 50 is thereby made to access use history information relating to reference. Thus, information relating to the history of use such as the number of occasions of access to software is used to perform processing such as determination of a levy on reference.
As explained above, the use method control program provides a service of using software in accordance with a specified program, while accessing its own use history information.
FIG. 11 shows a third structure of information managed by the authorization managing section 50 used in the second embodiment.
In FIG. 11, the authorization attribute information has an information string corresponding to each use method of software, as in the FIG. 9 example. Each information string includes information indicative of the name of the use method, information indicative of a pointer to a program (use method control program) for controlling the use method, and ID information directly indicative of the use method control program corresponding to the use method.
The original use method control program of the software is controlled by the use method managing section 50. In other words, the original use method control program is inserted in the software. This program can be created in a desired manner by the copyright owner of the software.
As is shown in FIG. 11, where a use method for "copy" corresponds to a use method control program for unconditioned copy (stored, for example, in the authorization control section 60), the pointer to the use method control program corresponding to unconditioned copy is set to "NULL pointer", thereby prohibiting unconditioned copy.
The authorization information managing section 50 manages a use method control program for realizing degradation copy in which noise is applied each time copy is performed, or for realizing levy copy in which levy is made each time copy is performed. The authorization attribute information managed by the section 50 has an information string corresponding to each use method control program, and a pointer to each use method control program indicates the same program.
If the user tries to perform "copy", a signal indicating that copy is prohibited is displayed, and the name of a use method which can be executed is found in the authorization attribute information and is displayed. If a use method for degradation copy or levy copy is selected, a copy function corresponding to the selected method is executed.
Each use method control program has a function for displaying an explanation of its use method. Such an explanation is displayed, for example, as follows:
(a) An explanation of a use method is displayed before the execution of a corresponding use method control program.
(b) When an operation has been performed, requesting for an explanation of a use method, a particular argument is supplied to a corresponding use method control program. A function for displaying the explanation of the use method is thereby executed.
(c) The authorization attribute information contains information which is used for storing an explanation relating to each use method. When an operation for requesting an explanation of a use method has been performed, the authorization control section 60 displays the explanation.
As described above, the authorization managing section 50 selects a use method control program which corresponds to "copy", "degradation copy" or "levy copy" in accordance with conditions for use or the history of use. The section 50 manages an original use method control program for executing the selected use method control program. Assume that a pointer is switched from a use method control program corresponding to the name of the use method for "copy", to the use method control program for "degradation copy" or "levy copy", when the use method control program corresponding to the name of the use method for "copy" has been tried to be executed. Then, the actually-executed use method control program is switched to the use method control program for "degradation copy" or "levy copy" in accordance with the circumstances of use.
Moreover, a program language is prepared to facilitate the description of a use method control program corresponding to the above use method switching function. This program language can provide a function of, for example, searching the authorization information, by using a simple command.
(4) Modifications of the Second Embodiment
In the second embodiment, the authorization information is managed by the authorization managing section 50. The information may be managed by the authorization control section 60, instead.
Further, the common use method control programs may be managed, not by the authorization control section 60, but by the authorization managing section 50.
Still further, the original use method control may be managed, not by the authorization managing section 50, but by the authorization control section 60.
FIG. 12 shows a modification of information managed by the authorization managing section employed in the second embodiment. Specifically, FIG. 12 shows a state in which a use method control program for levy copy is incorporated in the authorization managing section 50 of one (software B) of software systems A and B.
In this modification, that pointer indicative of a use method control program for levy copy is included in the authorization attribute information in the authorization managing section 50 of the software A. This pointer is switched so as to indicate a use method control program for levy copy managed by the authorization managing section 50 of the software B. As a result, the use method control program of the software B can be used again by the software A. If the software A having the use method control program is protected from being accessed due to the access right of the software B, the authorization control section 60 of the software A rejects the use of the use method control program of the software A by the software B.
In the second embodiment, the use of the use method is allowed depending upon whether the pointer is the NULL pointer or not. The invention is not limited to this. Rather, an information string included in the authorization attribute information and corresponding to each use method may have an area for storing information indicative of whether or not the use method can be used.
Third Embodiment
(1) Main Components and Features
FIG. 13 is a schematic diagram, showing a software use method control system according to a third embodiment. This embodiment differs from the second embodiment in that the authentication information managing section 45 includes user ID, and that the authorization managing section 50 includes software ID.
(2) Advantages
In general, software can be executed only by a person who has the right to access it, or only by a person whose right to access it has been specified beforehand.
Since the use method control program of the software use method control system accesses a protected system resource, it must have a special access right which differs from that of the user.
If the use method control program is peculiar to software, it is created by the copyright owner of the software. Therefore, the execution of the software by the privilege of the software use method control system may lead to unauthorized access to a to-be-protected system resource by a use method control program created by an unauthorized person.
In the case of executing the software by the access right of the copyright owner, it is possible that the above-described reuse, etc. enables access to all software systems, created by a single copyright owner, by means of the use method control program.
In the software use method control system according to the third embodiment, the authentication information managing section 45 and the authorization managing section 50 each has the user ID and the software ID, and the use method control program is executed by an access right assigned to each software system. As a result, the use range of the use method control program can be limited, for example, to software information managed by a particular software managing section 40, or software information managed by a particular software managing section 40 is made such that it can be accessed only by a particular use method control program.
(3) Detailed Description of the Third Embodiment
The software use method control system of the third embodiment has a structure similar to that of the second embodiment, and therefore only different portions will be explained below.
The authorization managing section 50 manages at least one of information for authenticating at least one particular person, information for authenticating at least one particular unit, and information for authenticating at least one software system. The section 50 uses the at least one information as information (software ID) for discriminating software systems. These software IDs include at least one of text information, voice information, bit map information, stroke information, static picture information, moving picture information, binary information, program information and constructed information of these information pieces.
As is shown in FIG. 14, the software managing section 40 and the authorization managing section 50 manage software ID corresponding to software. The use method control program is executed, by using the access right of the software ID. Before the use method control program accesses the software managing section 40, the authorization control section 60 compares the access right of the use method control program with the software ID managed by the software managing section 40. If the access right is identified by the software ID, the use method control program is allowed to access the software managing section 40. In the case shown in FIG. 14, the software ID (1150115) of the software managing section 40 is identical to that (1150115) of the authorization managing section 50. The use method control program therefore accesses to the section 40.
To utilize again the use method control program of a software system which does not correspond to the software managing section 40 to be accessed, the access right (software ID) of the use method control program is compared with the software ID of the software managing section 40, and access to the section 40 is allowed if the software IDs are identical to each other.
As explained above, in the third embodiment, it can be arranged that the use method control program is accessible only to software information managed by a particular software managing section 40, or that software information managed by a particular software managing section 40 can be accessed only by a particular use method control program.
The software ID may be a combination of the personal ID of the copyright owner and a number specified by the copyright owner. When the user tries to directly access software information managed by the software managing section 40 without utilizing the use method control program, the authorization control section 60 compares the user's personal ID (user ID) managed by the authentication information managing section 45 with the personal ID of the copyright owner included in the software ID managed by the software managing section 40. The software information can be assessed if the IDs are identical to each other.
The software ID may consist only of a number specified by the copyright owner. In this case, the software IDs managed by the software managing section 40 and the authorization managing section 50 are encoded as a key to the personal ID of the copyright owner, and the encoded software IDs are combined with the user's personal ID (user ID) managed by the authentication information managing section 45 when the user has tried to directly access the software information managed by the software managing section 40, without utilizing the use method control program. The access to the software information is allowed if both the combined software IDs are identical to each other.
Fourth Embodiment
(1) Main Components and Features
FIG. 15 is a schematic view, showing a software use method control unit included in a software use method control system according to a fourth embodiment. The fourth embodiment differs from the second embodiment in that the software use method control unit further comprises a copyright controls section 75 and a copyright managing section 70.
The fourth embodiment comprises an authorization managing section 50, a software managing section 40, an authentication information managing section 45 and an authorization control section 60, which are identical to those employed in the second embodiment. These components 40, 45, 50 and 60 will not be described in detail.
The copyright managing section 70 manages information (copyright information) for controlling the access of the copyright control section 75 to the authorization managing section 50.
The copyright control section 75 accesses the copyright managing section 70 and the authentication information managing section 45. The section 75 also accesses the authorization managing section 50 with the use of the copyright information and the authentication information.
(2) Advantages
The fourth embodiment which incorporates the copyright managing section 70 and the copyright control section 75 can provide the following advantages:
Editing of the authorization information of each software system, as a secondary use, can be controlled to perform editing in accordance with the circumstances of use as its copyright owner intends, provided that the copy right owner has designated a method for editing the authorization information in accordance with the circumstances of use.
Further, an authorization information-editing method can be provided for each software system by preparing a structure, in which an original procedure for controlling the editing of the authorization information of the software system is inserted into the same software system by the copyright owner. Since the original procedure is protected by the software use method control system, the copyright owner can freely create protected software in which the original editing method of authorization information can be controlled, by inserting into the software his original procedure for controlling a method for editing authorization information.
Moreover, an authorization information-editing method can be provided for each software system by preparing a structure, in which an original procedure for controlling the editing of the authorization information of the software system is inserted into the same software system by the copyright owner. Since the original procedure is protected by the software use method control system, the copyright owner can freely create protected software in which the authorization information can be edited only by a specified editing method, by inserting into the software his original procedure for controlling a method for editing authorization information.
(3) Detailed Description of the Fourth Embodiment
Since the software use method control system according to the fourth embodiment is substantially the same in structure as that of the second embodiment, different components will be explained preponderantly.
The copyright managing section 70 manages at least one of information for editing the use methods of software, information indicative of the conditions for editing the use methods of software, information for discriminating one software system from another software system, information for storing the edit history of the use methods of software, information for controlling levy on the editing of the use methods of software, authentication information, and information consisting of those information pieces combined in a classified manner or in a non-classified manner. The at least one information is used as information (copyright information) for controlling the editing of authorization information managed by the authorization control section 60. The copyright information includes at least one of text information, voice information, bit map information, stroke information, static picture information, moving picture information, binary information, program information and constructed information of these information pieces.
The section 70 controls the editing of the authorization information managed by the authorization control section 60.
The copyright control section 75 controls access to the authorization managing section 50 in the software use method control section of each software system, with the use of the copyright information and the authentication information.
FIG. 16 shows a first structure of information managed and controlled by the copyright managing section 70 and the copyright control section 75 employed in the fourth embodiment.
As is shown in FIG. 16, copyright attribute information is one of the copyright information pieces the copyright managing section 70 manages. The copyright attribute information has an information string corresponding to each edit method for each use method of software. Each information string includes information indicative of the name of the edit method, information indicative of a pointer to a program (copyright control program) for controlling the edit method, and ID information directly indicative of a copyright control program corresponding to the edit method. The copyright control program is controlled by the copyright control section 75.
In FIG. 16, if the pointer to the copyright control program is "NULL pointer", it means that the edit method for editing the use methods of the software is not allowed. On the other hand, if the pointer is not the NULL pointer, it means that the edit method is allowed.
The copyright owner of software can control the editing of the use methods of the software, for example, in manners as follows:
(a) The copyright control program specified by the copyright owner of software, which is protected from access thereto by the user, enables the user to refer to the software use method but prohibit the user from altering the software use method.
(b) The software use method can be freely edited after a predetermined number of days have passed.
A procedure for controlling the method of editing each use method of the software will be explained.
When a request for use has been made to the copyright control section 75 which uses copyright control program ID as an argument, the copyright control section 75 searches the copyright attribute information for an information string having a specified copyright control program ID from and then for a pointer to the specified copyright control program. If the pointer is not the NULL pointer, the indicated copyright control program is executed. The executed copyright control program provides services for editing the software use method methods, in accordance with a method specified by the program.
FIG. 17 shows a second structure of information managed and controlled by the copyright managing section 70 and the copyright control section 75 employed in the fourth embodiment.
The copyright history information is one of the copyright information pieces managed by the copyright managing section 70. The copyright history information has an information string corresponding to each use method of the software. Each information string includes information indicative of edit conditions for controlling the method of editing each software use method, information indicative of the edit history of each software use method, information indicative of the name of the edit method, and ID information directly indicative of the copyright control program corresponding to the edit method. The copyright control program is controlled by the copyright control section 75.
A procedure for controlling each use method of software with the use of the copyright history information will be explained.
When a request for edit has been made to the copyright control section 75 by using copyright control program ID as an argument, the section 75 searches the copyright attribute information for an information string having specified copyright control program ID. Then, the section 75 examines a pointer to information indicative of edit conditions for controlling the edit method of the use method of a software system corresponding to the searched information string, and a pointer to information indicative of the edit history of the use method of the software system.
The copyright managing section 70 executes the copyright control program indicated by the pointer if the pointer is not the NULL pointer. The copyright managing section 70 manages copyright history information corresponding to each copyright control program. The copyright control program specifies its own copyright control program ID, and makes an access request to the copyright managing section 70, thereby accessing its own copyright history information. For example, in FIG. 17, a copyright control program for edit specifies 00001000, which is its own copyright control program ID, thereby making an access request to the copyright managing section 70 to access copyright history information relating to edit. Thus, processing for determining levy on edit, etc. is performed by using information relating to use history such as the number of the occasions of editing the software authorization information. As described above, the copyright control program provides edit services in accordance with a method specified therein, while accessing copyright history information corresponding to the program itself.
The copyright managing section 70 stores the copyright history information, and information indicative of edit conditions for each use method of software (e.g. information for authenticating at least one particular person, information for authenticating at least one particular unit and information for authenticating at least one password). The copyright control section 75 compares the copyright history information with the authentication information indicative of circumstances required for executing each copyright control program. It executes the editing of the use method of software in accordance with the copyright control program only if the copyright history information is identical to the authentication information or when they have a predetermined relationship.
FIG. 18 shows a third structure of information managed by the copyright managing section 70 used in the fourth embodiment.
The copyright attribute information is one of copyright information managed by the copyright managing section 70. This information includes an information string corresponding to each edit method for each use method of software. Each information string includes information indicative of the name of the edit method, information indicative of a pointer to a program (copyright control program) for controlling the edit method, and ID information directly indicative of the copyright control program corresponding to the edit method.
As shown in FIG. 18, a copyright control program specific to the software is managed by the copyright managing section 70. In other words, the peculiar or original copyright control program is included in the software itself. The software copyright owner can create the original copyright control program in whatever manner he or she desires.
If the use method for "edit" corresponds to a copyright control program which allows only the copyright owner specified by the software use method control system to edit the use methods, the pointer to the copyright control program corresponding to "edit" is set to "NULL pointer." The editing of the software use method methods are thereby inhibited completely. The copyright managing section 70 manages a copyright control program for realizing an edit method for "levy edit", in which program the use method can be edited by the user if the user pays a predetermined amount of money. The copyright attribute information has information strings corresponding to copyright control programs, and each of pointers in the information strings indicates a corresponding one of the programs.
If the user tries to execute a procedure for "edit" in the above-described case, a message will be displayed, indicating that the execution is prohibited, and the name of an edit method which can be executed is searched from the copyright attribute information and displayed. If the user selects "levy edit", an edit function for executing a use method according to the edit method is executed.
The copyright control program has a function for displaying an explanation of the use method, and the explanation is displayed, for example, in the following manners:
(a) Before the copyright control program is executed, the explanation of the use method is displayed.
(b) If an operation for requesting an explanation for "edit" has been performed, a particular argument is supplied to the copyright control program, and the explanation of the edit method is displayed.
(c) The copyright attribute information contains the information for storing an explanation which corresponds to each edit method. When an explanation for "edit" has been requested for, the copyright control section 75 displays an explanation for the edit method.
Assume that the use method for "edit" corresponds to a copyright control program which allows only the copyright owner specified by the software use method control system to edit the use methods. A procedure for the use method for "levy edit" is then executed whenever the normal use method for "edit" has been tried to be executed, provided that a pointer to a copyright control program corresponding to "edit" is replaced with a pointer to an original copyright control program corresponding to "levy edit" and managed by the copyright managing section 70.
Further, if the pointer to the copyright control program corresponding to "edit" is replaced with a pointer to an original copyright control program corresponding to "edit switching function" and managed by the copyright managing section 70, a copyright control program corresponding to the name of an edit method for "edit" or "levy edit" is selected in accordance with the edit history of edit conditions and the authorization information whenever the normal use method for "edit" has been tried to be executed. In this case, the copyright managing section 70 manages an original copyright control program for executing the selected copyright control program. Thus, replacing the pointer to the name of the copyright control program corresponding to "edit" with a pointer to such a copyright control program enables the actually-executed copyright control program to be changed in accordance with edit circumstances, whenever the copyright control program corresponding to the name of the edit method for "edit" has been tried to be executed.
(4) Modification of the Fourth Embodiment
In the fourth embodiment, the copyright managing section 70 manages the copyright information. Instead, the copyright information may be managed by the copyright control section 75. Moreover, the common copyright control programs may be managed, not by the copyright control section 75, but by the copyright managing section 70. Furthermore, the original copyright control program may be managed, not by the copyright managing section 70, but by the copyright control section 75.
FIG. 19 shows a modification of information managed by the copyright managing section according to the fourth embodiment, in which software A and software B each having the copyright managing section 70 are employed, and only the copyright managing section 70 of the software B stores a copyright control program for levy edit.
In the fourth embodiment, the pointer showing the copyright control program for levy edit, which is included in the copyright attribute information in the copyright managing section 70 of the software A, is switched to indicate a copyright control program for levy edit managed by the copyright managing section 70 of the software B. As a result, the copyright control program of the software B can be used again by the software A. In this case, if the software A is protected from being accessed with the access right of the software B, the copyright control section 70 of the software A rejects the use of the copyright control program of the software A by the software B.
In the fourth embodiment, the use of the edit method is allowed depending upon whether the pointer is the NULL pointer or not. Nonetheless, the invention is not limited to this. Rather, it may be modified such that an information string included in the copyright attribute information and corresponding to each edit method has an area for storing information indicative of whether or not the edit method can be used.
Fifth Embodiment
(1) Main Elements and Features
FIG. 20 is a schematic diagram showing the structure of a privilege protecting section 30 included in a software use method control system according to a fifth embodiment of the present invention. The fifth embodiment is characterized by comprising the privilege protecting section 30. The section 30 grants all the users of the software use method control system an access right for accessing the system resource in order to inhibit an access to the system resource by an unauthorized person.
The privilege protecting section 30 comprises an input section 31, a program execute section 32, and an execution testing section 33. The program execute section 32 executes a requested program with an execution section ID specified by the input section 31 The execute section testing section 33 tests the execution section ID and allowing or rejecting the execution based on the test result.
(2) Advantages
The resource protecting section 20 of the first embodiment can protect the system resource corresponding to the software use method control system (structure), against unauthorized access by another OS.
However, the conventional OS has such a structure that an user of the system obtains an access right to the system resource of the OS through the OS. For example, the UNIX has a structure in which a super user, i.e., a system manager who knows a specific password, can freely access the system by utilizing the access right to the OS.
In the above structure, the user of the system obtains an access right for the system resource of the OS through the OS, so as to freely access the system resource to be protected corresponding to the OS. Therefore, the user can alter the OS and access, through the altered OS, the system resource to be protected corresponding to the OS. Further, the system resource to be protected, corresponding to the OS, may be broken by a careless operation by the user.
The software use method control system of the fifth embodiment has the privilege protecting section 30 for inhibiting an unauthorized person from accessing the system resource by granting all the users of the software use method control system an access right to access the system resource.
As a result, it is possible to inhibit an access by an unauthorized person to the system resource by granting all the users of the software use method control system an access right for accessing the system resource. Further, it is possible to prevent alteration of the software use method control system and unauthorized access to the system resource to be protected, corresponding to the software use method control system, through the altered software use method control system. Furthermore, it is possible to prevent the system resource to be protected, corresponding to the software use method control system, by a careless operation by the user.
(3) Detailed Description of the Fifth Embodiment
Each program executed by the software use method control system is managed as one execute section. ID information known as an execution section ID is assigned to each execute section and used as data for discriminating one execute section from another.
The execution section ID serves to present an access right for judging whether the access is permitted or not, when the system resource is accessed by the executed program. Each system resource is also assigned an execution section ID serving to presents the execute section which has an access right to the system resource. Thus, only the program executed by the execution section ID, the same as the program of the system resource, is permitted to access the system resource.
In the software use method control system, the software use method control system is treated as one execute section as well as each program. The IDs assigned to the software use method control system and the programs executed thereon are, therefore, treated as IDs of the OS by the resource protecting section 20 described in the first embodiment.
The resource protecting section 20 manages the execution section IDs and judges whether the access is permitted or not as in the first embodiment as described above.
A special execution section ID is assigned to the software use method control system. The software use method control system is executed as a program having the special execution section ID. The resource protecting section 20 permits the software use method control system having the special execution section ID to unconditionally access all the system resources. In other words, the execution section ID of the software use method control system is information presenting an execution program which has an access right to the system resources.
FIG. 21 is a flowchart explaining an operation of the privilege protecting section 30.
The input section 31 determines an execution section ID for executing the requested program (Steps B1 and B2) in accordance with the input made by the user.
Before executing the program, the program execute section 32 requests that the execute section testing section 33 test the executing section ID to be executed. The section 33 tests the relationship between the execution section ID of the execution section to be executed and the execution section ID assigned to the software use method control system itself (Step B3).
If the execution section IDs coincide with each other (Step B4), this means that a general user is going to activate a program having a privileged access right similar to that of the software use method control system. In this case, the execute section testing section notifies the program execute section 32 that execution of the program should be refused (Step B6). In Step B4, if the execution section IDs do not coincide, the execute section testing section notifies the program execute section 32 that execution of the program should be permitted (Step B5).
Sixth Embodiment
(1) Main Components and Features
FIG. 22 is a schematic diagram showing the structure of a software use method control system according to a sixth embodiment of the present invention. The sixth embodiment comprises an input section 15, a software managing section 40, an authorization managing section 50, an authorization control section 60 and an information presentation section 85. The sixth embodiment is characterized in that the authorization managing section 50 includes a levy setting section 51, a levy storing section 52 and a levy limit storing section 53.
The input section 15 includes, for example, keys and track balls, through which the user inputs request instructions.
The software managing section 40 manages software information, such as books, newspapers and software.
The authorization managing section 50 manages the method of using the software managed by the software managing section 40.
The authorization control section 60, in reply to a request from the input section 15, determines whether software can be used, alters information managed by the authorization managing section 50, based on the use request. The section 60 reads the software from the software managing section 40 and decodes encoded data and restores compressed data.
The information presentation section 85 presents data which the authorization control section 60 allows to be presented.
The authorization managing section 50 includes the levy setting section 51 for determining a levy in accordance with the way of access (including an amount of access) to the software by the user, the levy storing section 52 for storing the sum of levies, and the levy limit storing section 53 for storing an upper limit of the sum of levies.
(2) Advantages
In a conventional system of a network in which a payment is levied every time the software is used, it is necessary to transmit or receive information to or from a levy center for the purpose of payment. An apparatus for levying a payment for using software must be connected to the network all the time or every time the software is used. If a payment is not levied until the system is connected to the network without such a restriction, unlimited use of the software will be permitted, so long as the system is not connected to the network. In this case, a great risk may be involved.
The total amount of the levies is managed for every software. In addition, an upper limit of the levy for a use of software is set. If the levy exceeds the upper limit and if any payment operation is not performed to initialize the levy, the use of the software or the entire system is inhibited. Thus, the software can be used independent of the network and unpaid use of the software beyond a predetermined level can be inhibited, thereby accomplishing reasonable payment and collection of fees.
(3) Detailed Description of the Sixth Embodiment
As shown in FIG. 22, the user inputs a request for using i-th software (hereinafter referred to as 'software i") to the input section 15. Then, the authorization control section 60 executes one of the use method control programs corresponding to the software i. That is, the section 60 executes a levy setting program (managed by the authorization managing section 50), thereby calculating the amount of levy in accordance with the way in which the software i is used.
In the levy setting program, a calculated amount is added to an amount of levy managed by the levy storing section 52 of the authorization managing section 50. Since the authorization managing section 50 is managed together with each software, the levy of each software is individually managed.
The authorization managing section 50 also manages the levy limit storing section 53, which manage the upper limit of the levy set by the owner of copyright of the software.
In the levy setting program, every time a calculated amount is added to an amount of levy managed by the levy storing section 52, the sum is compared with the upper limit stored in the levy limit storing section 53. When the sum exceeds the upper limit, the authorization control section 60 is notified that use of the software should be prohibited.
The authorization control section 60 registers the prohibited software and prohibits use of the software or use of the system except for a predetermined payment operation, until the payment operation is executed.
An IC card can be used as the levy storing section 52 of the authorization managing section 50. When the user uses the apparatus of the present invention, he or she inserts the IC card into the apparatus, so that the levy of each user can be managed. In this manner, a plurality of users can easily use one apparatus in common.
(4) Modifications of the Sixth Embodiment
(a) First Modification
The levy storing section 52 can be managed, not by the authorization managing section 50, but by the authorization control section 60. If the authorization control section 60 manages the levy storing section 52, the levies for the respective software can be individually managed or the total levy for all the software can be managed as a lump sum.
(b) Second Modification
The levy limit storing section 53 may be managed, not by the authorization managing section 50 in the sixth embodiment, but by the authorization control section 60. If the authorization control section 60 manages the levy limit storing section 53, the levies for the respective software can be individually managed or the total levy for all the software can be managed as a lump sum.
In the above first and second modifications, if the authorization control section 60 manages the total levy for all the software as a lump sum, it is possible that the user inserts a prepaid card in the apparatus for using desired software to pay a fee, so that the levy becomes 0 (or as close to 0 as possible) and the amount of the payment can be subtracted from the levy.
Seventh Embodiment
(1) Main Components and Features
FIG. 23 is a schematic diagram showing the structure of a software use method control system according to a seventh embodiment of the present invention. The seventh embodiment differs from the sixth embodiment in that the authorization control section 60 includes a levy setting section 61, and the levy setting section 51, the levy storing section 52 and the levy limit storing section 53 are omitted from the authorization managing section 50. The levy setting section 61 determines the levy with reference to the structure of software, when the authorization control section 60 judges the software to be usable.
(2) Advantages
Conventionally, when a user buys a book or the like, one book must be paid for unconditionally. In other words, even if the user finds the book useless while reading, the user cannot have all or some of the payment refunded. Further, a considerable effort was required to achieve such a refund.
In the seventh embodiment, reasonable payment and collection can be executed since the levy is set in accordance with an amount of access to information such as documents.
(3) Detailed Description of the Seventh Embodiment
FIG. 24 is a flowchart showing the process of the seventh embodiment.
In a state of waiting for an input from the user (Step C1), if a request for use of software i is input by the user (Step C2), the authorization control section 60 judges whether the software i is usable in the same manner as in the second embodiment (Step C3). In Step C3, if the software i cannot be used, a message showing that the software cannot be used is presented to the information presentation section 85 (Step C4), and the process is terminated and returned to the state of waiting (Step C1). In Step C3, if use of the software i is permitted, the authorization control section 60 reads the requested software i from the software managing section 40 (Step C5). In Step C5, if the software i is compressed or encoded, it is restored (compressed data is returned to an original state) or decoded (encoded data is decoded by means of a key or the like).
Of the information managed by the authorization managing section 50, the levy information is restored or decoded and transmitted to the levy setting section 61 (Step C6). The following is an example of the levy information:
y=C1.multidot.x.sup.c2
In the above equation, C1 and C2 are constants, x is an amount of information of the software obtained by Step C8, and y is an amount of levy.
The authorization control section 60 transmits the software decoded in Step C5 to the information presentation section 85 (Step C7). The information presentation section 85 transmits information of the presented amount to the authorization control section 60. The authorization control section 60 transfers the information to the levy setting section 61 (Step C8). If the software is a document, the information presentation section 85 counts the number of letters from the start to the end of the presented portion of the document, and transmits the number of letters to the authorization control section 60. The authorization control section 60 transfers the number of letters to the levy setting section 61.
The levy setting section 61 substitutes the number of letters supplied from the authorization control section 60 for x of the equation of the levy information, thereby obtaining the amount y (Step C9).
Since, as described above, it is possible to pay only for the presented portion of the software, not for the entire software, reasonable payment and collection for the use of the software can be achieved. For example, while reading the presented document, if the user finds that the subsequent portion of the document is not required, it is only necessary to pay for the read portion of the document. Since the user can pay only for the read portion, he or she can access a great amount of software with a low cost.
(4) Modifications of the Seventh Embodiment
(a) First Modification
In the seventh embodiment, the information presentation section 85 counts the number of letters from the start to the end of the presented portion of the document, and the levy is calculated on the basis of the count. The letters presented in the document can be managed as follows.
The levy information, which is included in the information managed by the authorization managing section 50 and which is decoded and transmitted to the levy setting section 61, is constituted by a software data managing table and a levy calculating equation. The levy calculating equation is identical to the levy information in the seventh embodiment, and will not be described.
The software data managing table stores whether a portion of a document has been presented or not. FIG. 25 shows an example of the software data managing table. In FIG. 25, an access flag "1" indicates that a start letter position to an end letter position of the corresponding line has already been presented, and an access flag "0" indicates that a start letter position to an end letter position of the corresponding line has not yet been presented. The information in the software data managing table are arranged in an ascending order of start letters.
Steps C1 to C7 of the operation of the modification are the same as those in the seventh embodiment.
The |