This application relates to and claims priority from Japanese Patent Application No. 2002-244471, filed on Aug. 26, 2002, the entire disclosure of which is incorporated herein by reference.
1. Field of the Invention
The present invention relates to a configuration modification technique for modifying the configuration of computer hardware and a program.
2. Description of the Related Art
A general feature of computer usage contracts known as capacity on demand (to be abbreviated to COD hereinafter) is that a hardware vendor provides a client with a computing system in which a part of the hardware resources, for example the CPU, memory, or hard disk (to be abbreviated to HD hereinafter), cannot be used. At that time, the client does not pay for all of the provided hardware resources, but pays for and uses only the usable parts (often at a somewhat high cost, to be precise). If the client uses the computer over a long period of time, he or she may confront a lack of hardware capacity due to increases in workload or the like. At this time, the client may instruct that the hardware resources such as CPUs that could not be used up to this point be activated for use. A usage fee for the activated parts is then paid to the hardware vendor.
Before COD became available for use, a client who wished to increase hardware throughput had to wait a long time for expansion work to be performed by the hardware vendor while operations were halted. In configuration modification techniques such as COD, hardware can generally be activated by inputting a command or setting a simple device such that hardware is augmented simply be rebooting. Although examples thereof are few, devices which enable throughput enhancement without the need to reboot are also known.
In COD, when a hardware activation instruction is issued, a method exists for informing a hardware vendor via a network that “hardware has been activated by COD”. Thus the hardware vendor is able to charge a usage fee for the computer on the basis of the hardware configuration following COD implementation. A method for preventing unauthorized usage is known in which all hardware resources are assumed to be activated and an appropriate charge is applied when the system of a client who has a COD contract becomes incapable of communication with the hardware vendor system.
In conventional COD, hardware capacity augmentation can be achieved in a short time period since there is no need to await the arrival of components or the completion of expansion work. However, the following two problems have arisen in programs operating on this hardware.
Firstly, adding hardware resources does not necessarily mean that a program which operates on the hardware is able to use the enhanced capabilities brought about by the addition of hardware resources. In the case of a parallel application program, for example, which activates a number of processes equivalent to the number of CPUs such that all of the CPUs are used simultaneously, the number of CPUs is increased due to COD, but the application program does not automatically use all of the CPUs. As a result, the client must manually stop and restart the application program and modify the configuration definition.
Secondly, a problem arises with the fact that in order to prevent unauthorized usage, a safeguard is provided such that the program itself recognizes the hardware configuration and does not operate on hardware beyond the hardware in the agreed configuration. Data known as a license key are usually used for this safeguard. In this case, the license key serves to inform the program of the hardware configuration for which activation permission has been given, and the program is coded so as to operate only on the hardware configuration determined or managed by the license key. For example, programs in which usage fees change according to the number of CPUs include a program which obtains the number of activated computer CPUs and ceases operations on a computer with a higher number of CPUs than that permitted by the contract and determined by the license key, and a program which is limited to an activation capacity within the range permitted by the license key. In a system which operates this type of program, if the number of CPUs is increased by mistake prior to obtaining an appropriate license key, situations such as being unable to perform work until the license key is obtained arise. Further, even if a client him/herself realizes that post-COD implementation license keys must be obtained in advance, a time lag occurs when the client wishes to implement COD since the client must contact each application program vendor, negotiate fees, and wait for the license keys to be distributed. As a result, capacity expansion at any time, which is the original object of COD, cannot be realized.
In short, COD at present is only capable of realizing “immediate hardware augmentation,” and is not capable of realizing the essential objective of “immediate improvement of production performance for a client.”
A feature of the present technique is to provide a computer configuration modification method and system for modifying the capacity of a program to reflect a hardware configuration modification.
In order to solve the aforementioned problems according to an embodiment of the present technique, a computer configuration modification system comprising a computer system having a modifiable configuration, a hardware management system for performing billing in accordance with the hardware configuration of this computer, and a program management system for performing billing in accordance with the program configuration of this computer, performs the following processing:
In this manner, a computer configuration modification method and system for modifying the capacity of a program to reflect a hardware configuration modification are realized.
In accordance with another aspect of the technique, a computer configuration modification method comprises storing hardware configuration information comprising information regarding hardware configuration of a computer, a hardware contract renewal notification destination for the hardware of the computer, information regarding program configuration of the computer, and a program contract renewal notification destination for the program of the computer. Upon reception of a configuration modification request for the hardware configuration and program configuration of the computer to be modified, the method further includes transmitting the information regarding the hardware configuration to be modified to the hardware contract renewal notification destination in order to modify the fee to be paid for the modified hardware, and transmitting the information regarding the hardware configuration to be modified and the information regarding the program configuration to be modified to the program contract renewal notification destination in order to modify the fee to be paid for the modified program. When license information transmitted from the program contract renewal notification destination is inputted, the hardware configuration is modified based on the information regarding the hardware configuration to be modified and the program configuration is modified based on the information regarding the hardware configuration to be modified and the information regarding the program configuration to be modified.
When, in
On the HW vendor 20 side, the notification of COD implementation in step 122 is received in the COD implementation notification reception unit 21. Following reception of the COD implementation information in a step 211, the state of the hardware configuration in each client system is reflected in a managing COD-DB 23 in a step 212.
Increases and decreases in hardware resources by COD usually require rebooting to become effective, but the resource quantity may be modified without rebooting.
A feature of the present embodiment is that COD implementation notification is also performed in the AP vendors 30, 38, 39. A notification destination list 15 containing all of the application program vendors to be notified of COD implementation is stored in the client system 10, and when COD is implemented, all of the registered vendors are notified thereof. In
When COD implementation is detected in the COD implementation instruction reception unit 11, an instruction is also performed in the AP-COD implementation control unit 14.
On the AP vendor 30 side, notification is received in the AP-COD implementation notification reception unit 31. Following reception of COD implementation notification and the hardware configuration following implementation in a step 311, the hardware configuration state of each client is reflected in a managing COD-DB 33 in a step 312. Then, in a step 313 a license key 17 is generated in accordance with the COD implementation state, and in a step 314 the license key 17 is transmitted to the AP license management unit 16 in the client system 10. The license key 17 is constituted by the state of the hardware resources subject to COD such as CPUs, memory, and HD, a period of validity, and the like. An embodiment in which these items are encoded or a method of defining the items in advance using random numbers or the like and storing the items in the COD-DB 33 is also possible.
In the client system 10, the license key 17 is received by the AP license management unit 16. Once the license key has been received in a step 161, the license key 17 is stored in a step 162. In a step 163, the application program 40 is notified that the license key has been modified. The license key 17 is normally encoded and stored in a configuration definition file, but this example is merely illustrative and does not limit the method in the present embodiment.
Another feature of the present embodiment, as described above, is that the application program 40 is notified of COD implementation in step 163 of the AP license control unit 16.
A further one of the features of the present embodiment is that when the hardware resources are increased or decreased following COD implementation without halting the application program 40 or the OS, and when the amount of hardware resources is increased or decreased following COD implementation while the application program 40 is in operation, the hardware resources following COD implementation may be used without halting the application program 40. This embodiment will be described herein below.
Next, the two embodiments of
Similarly to
When COD is implemented, an interruption 409 is generated during the work processing of step 405 so that notification can be given that the license key 17 has been modified. In this case, interruption processing causes processing to return to the beginning of step 401.
An example in which memory is increased and an example in which CPUs are increased will be described below according to each of the steps in
If COD is implemented during the work processing in step 405 to increase the memory to 16 GB, the hardware configuration becomes 16 GB and the license key 17 begins to indicate 16 GB. The application program 40 is then interrupted in step 409. The steps are then retraced in succession, and in step 407, 0.5+4 GB is subtracted as the nonusable region in accordance with the setting when the application program 40 operates at 16 GB, and the remaining 11.5 GB is reallocated as the operating region of the application program 40 itself. As a result, the operating region for the work processing of step 405 increases from 2.5 GB to 11.5 GB, and thus the application program 40 is able to enhance the work throughput.
Note that since only virtual memory space can be ensured in a typical application program, the magnitude of the virtual memory and the amount of actual memory used do not always match one to one. However, if virtual memory is used up to an amount of memory equal to the actual memory minus a fixed required capacity such as the OS usage amount, the entire virtual memory amount used in the system can be suppressed to or below the actual memory. In this state, all of the regions used by the application program are stored in the actual memory (page-outs are eliminated) and thus operations can be performed with a high degree of efficiency.
As an example in which CPUs are increased, an application program 40 of a type which performs work processing by activating an equal number of processes (including cases such as threads which are examples of processing units) to the number of packaged CPUs is envisaged. In the case of a computer installed with four CPUs, information indicating four CPUs is obtained in step 401 and information indicating that the license key 17 permits the operation of four CPUs is obtained in step 402. According to the determination in step 403, “HW configuration=license key”, and therefore processing moves to step 407. In step 407 four processes are activated in accordance with the four CPUs indicated by the license key 17, and in step 405 work processing is performed using the four processes.
When COD is implemented during the work processing in step 405 to increase the number of CPUs to eight, the hardware configuration becomes eight CPUs and the license key 17 begins to indicate eight CPUs. The application program 40 is then interrupted in step 409. The steps are then retraced in succession, and in step 407 eight processes are activated in accordance with the setting when the application program 40 operates on eight CPUs. As a result, the number of processes for the work processing in step 405 is increased from four to eight, and thus the application program is able to enhance work throughput.
Note that although
Following COD implementation, the AP vendor 30 requests payment of a fee corresponding to the new hardware configuration from each client. The AP billing management unit 32 in
If usage is controlled with a license key which does not comprise information regarding a period of validity, a problem arises in that if a communication path is severed such that communication cannot be performed immediately after obtaining a license key corresponding to a hardware configuration following COD implementation, limitations on the operation of the application program 40 cannot be imposed from the AP vendor 30 side even when unauthorized usage is performed. By applying a period of validity to the license key 17 itself, unauthorized usage can be prevented. If the period of validity of the license key 17 has expired, the application program 40 stops operating in accordance with the judgement made in step 404 of
Examples of automatic updating of the license key in this case will now be described. In one example, the application program 40 itself, after detecting that the period of validity of the license key 17 has expired, requests and obtains a new license key from the AP vendor 30. In another method, the AP vendor 30 references the license key period of validity 3306 in the COD-DB 33 comprised within itself and transmits the new license key 17. In either case, the license key 17 cannot be updated when the communication path is severed, and thus when the period of validity of the license key 17 within the client system 10 expires, unauthorized usage can be prevented. This embodiment of license key update processing is merely illustrative and does not limit the scope of the present invention.
Typically, prior to introducing a COD supporting system and beginning actual operations, COD is implemented temporarily for several months in order to perform an operations test of the entire system including a work application program or a performance test in a state following COD implementation. In this case also, transmission and reception of a license key for use with temporary COD implementation may be performed using the mechanisms of the present embodiment described above.
As described above, a work application program which operates on hardware introduced in a COD format can be used on hardware resources augmented by COD immediately after COD implementation, and thus throughput in the work of a client can be enhanced in a short period of time. Furthermore, if an appropriate usage fee for the application program is not paid after an increase in hardware resources such that usage becomes unauthorized, ways are provided to limit or halt the processing capacity of the application program until the appropriate fee has been paid, and thus unauthorized usage may be prevented.
In accordance with another feature, the client system 10 upon receiving the billing information for the modified hardware and the modified program, determines whether or not the hardware configuration and program configuration contained in the transmitted license information match with the modified hardware and modified program corresponding to the received billing information. If the hardware configuration and program configuration contained in the transmitted license information do not match with the modified hardware and modified program corresponding to the received billing information, then the configuration modification of the computer is halted.
According to the present embodiment, the capacity of a program can be modified to reflect modifications in a hardware configuration.
The above-described arrangements of apparatus and methods are merely illustrative of applications of the principles of this invention and many other embodiments and modifications may be made without departing from the spirit and scope of the invention as defined in the claims. The scope of the invention should, therefore, be determined not with reference to the above description, but instead should be determined with reference to the appended claims along with their full scope of equivalents.
Number | Date | Country | Kind |
---|---|---|---|
2002-244471 | Aug 2002 | JP | national |