SYSTEM, APPARATUS, AND METHOD FOR FACILITATING PROVISIONING IN A MIXED ENVIRONMENT OF LOCALES
A system, a computer program product, and a method capable of dynamically and flexibly support a plurality of locales upon provisioning are provided. A management server connected via a network to a plurality of processing resources each set with a locale includes a storage unit to store processing, a locale, and a set of instructions corresponding to the processing and the locale, and a selection unit to select a set of instructions associated with required processing and a required locale by referring to the storage unit, and it further includes a determination unit to dynamically determine the required processing and the processing resource by way of provisioning, and the storage unit stores the plurality of processing resources and each locale.
Latest IBM Patents:
This application claims the benefit of Japanese Patent Application No. 2007-50740, filed on Feb. 28, 2007, which is incorporated herein by reference in its entirety.
FIELD OF THE INVENTIONThe present invention relates to a provisioning technology, and more particularly to a provisioning information technology in an environment comprising a plurality of different locales.
BACKGROUNDIn provisioning information technology (IT), a plurality of information IT infrastructures (e.g., servers, networks, applications, and storages) are virtualized and are each dynamically assigned from one business process to another business process in accordance with a change in workload and the like. More particularly, a management server can utilize a workflow described in a dedicated script language to transmit a set of instructions to a respective one of the plurality of IT infrastructures, to thereby assign certain business processes to the respective IT infrastructures. A software product, Tivoli Intelligent Orchestrator®, available from International Business Machines Corporation of Armonk, N.Y. is based on virtualization of the IT infrastructures and implements the provisioning, as well as the monitoring, of the IT infrastructures. It can also provide dynamic arrangement of the IT infrastructures according to a predetermined policy, and for the optimized application of the IT infrastructures.
In the case of remotely controlling the IT infrastructures by transmitting a workflow to a respective IT infrastructure from the management server, as described above, if there is a difference in locale between the management server and the IT infrastructures or between the IT infrastructures, the following countermeasures have conventionally been adopted. It is noted that the term locale generally refers to a set of language and notation rules of units, symbols, date, currency, and the like which are unique to a specific country or region and which is set in software. Further, designation of a code page (or character set) may be added to the combination of the language and the country/region as follows: ja_JP.eucJP.
According to a first countermeasure (see
With the above-described conventional countermeasures, however, there still exist technical problems. For the first countermeasure, it is necessary to prepare the workflows of the number corresponding to the number of the locales. Particularly when the number of locales is increased, it is necessary to newly prepare a workflow for each of the added locales. For the second countermeasure, although it may be unnecessary to prepare workflows of the number corresponding to the number of locales, it is still necessary to newly prepare the locale-dependent portions. Moreover, it is also necessary to hardcode the conditional branching by locales. The necessity of hardcoding of the conditional branching by locales means that such hardcoding of the conditional branching is usually required every time the number of locales increases.
SUMMARYCertain of the aspects described herein are directed to solving the technical problems described above. According to one aspect, there is provided a management server connected via a network to a plurality of processing resources each set with a locale. The management server can include: a storage unit to store processing, a locale, and a set of instructions corresponding to the processing and the locale; and a selection unit to select a set of instructions associated with required processing and a required locale by referring to the storage unit.
According to another aspect, there is provided a computer program product, such as an optical disk having computer-readable code embedded therein for causing a computer to function as a management server connected via a network to a plurality of processing resources each set with a locale. The computer program product, when executed, can implement in the computer: a storage function to store processing, a locale, and a set of instructions corresponding to the processing and the locale; and a selection function to select a set of instructions associated with required processing and a required locale.
According to yet another aspect, there is provided a method adapted to a system having a management server and a plurality of processing resources connected via a network, the plurality of processing resources being each set with a locale and the management server storing processing, a locale, and a set of instructions corresponding to the processing and the locale. The method can include: selecting a set of instructions associated with required processing and a required locale.
According to yet another aspect, there is provided a method adapted to a system having a management server and a plurality of processing resources connected via a network, the plurality of processing resources being each set with a locale. The method can include: converting processing and a first set of instructions corresponding to the processing, stored in the management server, into the processing, locales, and a plurality of second instructions associated with the processing and with the respective locales.
The plurality of resource servers 201-203 form a virtual resource pool, and are remotely controlled by the management server 100 to be assigned to perform any of business processes A-C or any combination thereof. To implement the remote control, the management server 100 uses a processing program code called a ” workflow” described in a dedicated script language to transmit a set of instructions to a respective one of the resource servers 201-203, which in turn interprets and executes the received instructions.
In the present embodiment, a virtual call of the workflow is enhanced to dynamically and flexibly support a plurality of locales upon provisioning. Hereinafter, a more detailed implementation example of the present invention, a conventional example, and another example of the present invention will be described as an Example, a Comparative Example, and a Modification Example, respectively.
EXAMPLEAs shown in
The provisioning unit 11 determines which processing should be assigned to which resource server, based on a policy stored in advance, as well as on a request from an administrator user, a notification of occurrence of an error in the system that is received via the network 300, a notification of the workload, or the like. For such provisioning, any techniques well known in the art can be adapted. The calling unit 12 refers to the storage table 10 based on the resource server to be assigned and its processing, which have been determined by the provisioning unit 11, to dynamically select the corresponding workflow (as described more particularly below). The transmission unit 13 uses the selected workflow to transmit the corresponding instructions to the corresponding resource server. Subsequently, the resource server that received the instructions interprets and executes the instructions, to thereby execute the corresponding processing. Upon interpretation of the instructions, conditional branching for each locale does not take place.
It should be noted that a locale-dependent workflow (i.e., workflow having the conditional branching by locales) (first set of instructions) shown in the Comparative Example may be converted into a plurality of locale-independent workflows (having no conditional branching by locales) for respective locales (second instructions) shown in the Example.
MODIFICATION EXAMPLEIt is also possible to hierarchically organize the locales stored in the storage table 10.
The host controller 1082 connects the RAM 1020 with the CPU 1000 and the graphic controller 1075, which access the RAM 1020 at a high transfer rate. The CPU 1000 operates based on the programs stored in the ROM 1010 and the RAM 1020 to control the units. The graphic controller 1075 acquires the image data generated by the CPU 1000 and the like on a frame buffer provided in the RAM 1020, and displays the same on a display device 1080. Alternatively, the graphic controller 1075 may include therein a frame buffer that stores the image data generated by the CPU 1000 and the like.
The input/output controller 1084 connects the host controller 1082 with the communication interface 1030, the hard disk drive 1040 and the CD-ROM drive 1060, which are relatively high-speed input/output devices. The communication interface 1030 communicates with an external device via a network. The hard disk drive 1040 stores programs and data used by the information processing apparatus 1001. The CD-ROM drive 1060 reads a program or data from a CD-ROM 1095, and provides the same to the RAM 1020 or the hard disk drive 1040.
The input/output controller 1084 is also connected with the ROM 1010, and with the flexible disk drive 1050 and the input/output chip 1070, which are relatively low-speed input/output devices. The ROM 1010 stores a boot program executed by the CPU 1000 upon activation of the information processing apparatus 1001, and a program that depends on the hardware of the information processing apparatus 1001. The flexible disk drive 1050 reads a program or data from a flexible disk 1090, and provides the same to the RAM 1020 or the hard disk drive 1040 via the input/output chip 1070. The input/output chip 1070 connects various input/output devices via the flexible disk 1090 or a parallel port, serial port, keyboard port, mouse port and the like.
The program provided to the information processing apparatus 1001 is stored in a recording medium such as the flexible disk 1090, the CD-ROM 1095 or an IC card, and is provided by the user. The program is read from the recording medium via the input/output chip 1070 and/or the input/output controller 1084, and installed to the information processing apparatus 1001 for execution. The operation that the program causes the information processing apparatus 1001 to execute is identical to the operation of the management server 100 or one of the resource servers 201-203 explained above, and thus, description thereof will not be repeated.
The program as described above may be stored in an external storage medium. The storage medium may be, besides the flexible disk 1090 and the CD-ROM 1095, an optical recording medium such as a DVD or PD, a magneto-optical recording medium such as an MD, a tape medium, or a semiconductor memory such as an IC card. Further, the storage device such as a hard disk or a RAM provided in a server system connected to a dedicated communication network or the Internet may be used as the recording medium, in which case the program may be provided to the information processing apparatus 1001 via the network.
As described herein, these aspects provide various advantages, primarily technical advantages including the following: hardcoding for locale-switching processing is unnecessary; it is possible to readily increase or decrease the number of locales to be supported; and it is possible to achieve an efficient aggregation of the locale-dependent codes.
While the present invention has been described above in conjunction with the embodiment, the technical scope of the present invention is not restricted to the scope of description of the embodiment above. It is apparent for a person skilled in the art that, besides the Example and the Modification Example described above, various modifications or improvements are possible for the above-described embodiment. It is evident from the description of the scope of the claims for patent that such modified or improved embodiments may be included in the technical scope of the present invention.
Claims
1. A management server connected via a network to a plurality of processing resources each set with a locale, comprising:
- storage means for storing a processing, a locale, and an instruction corresponding to the processing and the locale; and
- selection means for selecting an instruction associated with required processing and a required locale by referring to the storage means.
2. The management server according to claim 1, further comprising:
- determination means for dynamically determining the required processing and the processing resource by way of provisioning, wherein
- the storage means stores the plurality of processing resources and each locale.
3. The management server according to claim 2, wherein the provisioning is carried out based on a policy set in advance and status of the plurality of processing resources.
4. The management server according to claim 1, further comprising:
- transmission means for transmitting the selected instruction to a processing resource corresponding to the required locale.
5. The management server according to claim 1, wherein the instruction does not include conditional branching by locales.
6. The management server according to claim 1, wherein the plurality of locales set respectively for the plurality of processing resources are different from each other.
7. The management server according to claim 1, wherein the locale set for the management server is different from the locale set for the processing resource.
8. The management server according to claim 1, wherein the storage means stores, for single processing, a plurality of locales and a plurality of instructions corresponding respectively to the locales.
9. The management server according to claim 1, wherein the locales stored in the storage means are hierarchically organized, and the storage means stores a single upper-level locale, a plurality of lower-level locales corresponding to the upper-level locale, and a plurality of instructions corresponding respectively to the plurality of lower-level locales.
10. The management server according to claim 1, wherein the locale and the instruction stored in the storage means can be edited independently from each other.
11. The management server according to claim 1, wherein the locale and the instruction stored in the storage means can be added independently from each other.
12. A computer program product for causing a computer to function as a management server connected via a network to a plurality of processing resources each set with a locale, the computer program product, when executed, implementing in the computer:
- a storage function to store processing, a locale, and an instruction corresponding to the processing and the locale; and
- a selection function to select instruction associated with required processing and a required locale.
13. A method adapted to a system having a management server and a plurality of processing resources connected via a network, the plurality of processing resources being each set with a locale, the management server storing processing, a locale, and an instruction corresponding to the processing and the locale, the method comprising the step of:
- selecting an instruction associated with required processing and a required locale.
14. The method according to claim 13, wherein the management server stores the plurality of processing resources and each locale, the method further comprising the step of:
- prior to the selecting step, the management server dynamically determining the required processing and the processing resource by way of provisioning.
15. The method according to claim 13, further comprising the step of:
- the management server transmitting the selected instruction to the processing resource corresponding to the required locale.
16. The method according to claim 15, further comprising the step of:
- the processing resource executing the transmitted instruction.
17. A method adapted to a system having a management server and a plurality of processing resources connected via a network, the plurality of processing resources being each set with a locale, the method comprising the step of:
- converting processing and a first instruction corresponding to the processing, stored in the management server, into the processing, locales, and a plurality of second instructions associated with the processing and with the respective locales.
18. The method according to claim 17, wherein the first instruction depends on the locale set for the management server, and the second instruction depends on the locale set for the processing resource.
Type: Application
Filed: Feb 27, 2008
Publication Date: Aug 28, 2008
Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION (Armonk, NY)
Inventors: Yasuhisa Gotoh (Kanagawa-ken), Takeshi Akamatsu (Tokyo)
Application Number: 12/038,722
International Classification: G06F 9/50 (20060101);