(57)【要約】【課題】  プロビジョニングにおける複数のロケールのサポートを動的かつ柔軟に実現することができるシステム、コンピュータ・プログラム、方法を提供する。【解決手段】  各々ロケールが設定される複数の処理資源とネットワークを介して接続される管理サーバであり、  処理とロケールと前記処理及び前記ロケールに対応する命令とを記憶する記憶手段と、  前記記憶手段を参照して、必要とされる処理及びロケールに応じた命令を選択する選択手段と  を備える。プロビジョニングにより、前記必要とされる処理及び処理資源を動的に決定する決定手段を更に備え、前記記憶手段は前記複数の処理資源と各ロケールとを記憶する【選択図】図４
2008217167.tif 000002
【特許請求の範囲】
【請求項１】
各々ロケールが設定される複数の処理資源とネットワークを介して接続される管理サーバであり、
処理とロケールと前記処理及び前記ロケールに対応する命令とを記憶する記憶手段と、
前記記憶手段を参照して、必要とされる処理及びロケールに応じた命令を選択する選択手段と
を備える管理サーバ。
【請求項２】
プロビジョニングにより、前記必要とされる処理及び処理資源を動的に決定する決定手段を更に備え、
前記記憶手段は前記複数の処理資源と各ロケールとを記憶する請求項１に記載の管理サーバ。
【請求項３】
前記プロビジョニングは、事前に設定されるポリシーと前記複数の処理資源の状況とに基づいて行われる請求項２に記載の管理サーバ。
【請求項４】
前記選択された命令を前記必要とされるロケールに対応する処理資源へ送信する送信手段を更に備える請求項１に記載の管理サーバ。
【請求項５】
前記命令には、ロケールによる条件分岐を含まない請求項１に記載の管理サーバ。
【請求項６】
前記複数の処理資源に設定される複数のロケールが相異なる請求項１に記載の管理サーバ。
【請求項７】
前記処理資源に設定されるロケールと異なるロケールが設定される請求項１に記載の管理サーバ。
【請求項８】
前記記憶手段は、単一の処理に対して複数のロケールと、各ロケールに対応する複数の命令とを記憶する請求項１に記載の管理サーバ。
【請求項９】
前記記憶手段に記憶されるロケールが階層化されており、前記記憶手段は、単一の上位ロケールと前記上位ロケールに対応する複数の下位ロケールと各下位ロケールに対応する複数の命令とを記憶する請求項１に記載の管理サーバ。
【請求項１０】
前記記憶手段に記憶される前記ロケールと前記命令とはそれぞれ独立に編集可能な請求項１に記載の管理サーバ。
【請求項１１】
前記記憶手段に記憶される前記ロケールと前記命令とはそれぞれ独立に追加可能な請求項１に記載の管理サーバ。
【請求項１２】
各々ロケールが設定される複数の処理資源とネットワークを介して接続される管理サーバとしてコンピュータを機能させるコンピュータ・プログラムであり、
実行されることにより前記コンピュータに、
処理とロケールと前記処理及び前記ロケールに対応する命令とを記憶する記憶機能と、
必要とされる処理及びロケールに応じた命令を選択する選択機能と
を実現するコンピュータ・プログラム。
【請求項１３】
管理サーバと複数の処理資源とがネットワークを介して接続されるシステムに適用される方法であり、
前記複数の処理資源には各々ロケールが設定され、
前記管理サーバには処理とロケールと前記処理及び前記ロケールに対応する命令とが記憶され、
前記方法は、
前記管理サーバが、必要とされる処理及びロケールに応じた命令を選択するステップを備える方法。
【請求項１４】
前記管理サーバには前記複数の処理資源と各ロケールとが記憶されており、
前記選択するステップに先だって、前記管理サーバが、プロビジョニングにより、前記必要とされる処理及び処理資源を動的に決定するステップをさらに備える請求項１３に記載の方法。
【請求項１５】
前記管理サーバが、前記選択された命令を前記必要とされるロケールに対応する処理資源へ送信するステップをさらに備える請求項１３に記載の方法。
【請求項１６】
前記処理資源が、前記送信された命令を実行するステップをさらに備える請求項１５に記載の方法。
【請求項１７】
管理サーバと複数の処理資源とがネットワークを介して接続されるシステムに適用される方法であり、
前記複数の処理資源には各々ロケールが設定され、
前記管理サーバに記憶されている処理と前記処理に対応する第１の命令とを、前記処理と各ロケールと前記処理及び前記各ロケールに応じた複数の第２の命令とに変換するステップを備える方法。
【請求項１８】
前記第１の命令は前記管理サーバに設定されるロケールに依存し、前記第２の命令は前記処理資源に設定されるロケールに依存する請求項１７に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロビジョニング技術に係り、より詳細には複数ロケール混在環境におけるプロビジョニング技術に関する。
【背景技術】
【０００２】
プロビジョニングとは、複数のIT（情報技術）インフラストラクチャー（サーバ、ネットワーク、アプリケーション、ストレージ）を仮想化し、ワークロードの変動等に応じて、ITインフラを動的にある業務から他の業務へ割り当てるよう、構成することをいう。具体的には、管理サーバが複数のITインフラに対して専用のスクリプト言語で記述されたワークフローを使用して命令を送信することにより、各ITインフラに対してある業務を割り当てている。実際の製品としては、例えば、アイ・ビー・エム・コーポレーションのソフトウェア製品、チボリ・インテリジェント・オーケストレータ（TivoliIntelligent Orchestrator）は、ITインフラの仮想化を基礎にして、プロビジョニングの他、ITインフラの監視、ポリシーに従ったITインフラの動的配備、最適化されたITインフラ利用などを実現している。
【０００３】
このように、管理サーバから複数のITインフラに対してワークフローを送信することで、各ITインフラを遠隔制御する際に、管理サーバとITインフラ間、又はITインフラ間にロケールの相違が存在する場合には、従来からそれぞれ次の対応策が採られていた。なお、ロケールとは、一般に、ソフトウェアに内蔵される、言語や国・地域ごとに異なる単位、記号、日付、通貨等の表記規則の集合をいう。また、ja_JP.eucJPのように、言語、国や地域の組み合わせにコードページ（文字セット）の指定を加える場合もある。
【０００４】
第一の対応策として、図１０に示すように、ITインフラのロケールの数だけワークフローを用意し（ロケール＝ja_JP用、en_US用、fr_FR用の三種類のロケール）、各ワークフローは、対応するロケールのITインフラにのみ有効とする策がある。すなわち、ロケール＝ja_JP用のワークフローはロケール＝ja_JPのITインフラに対してのみ有効で、ロケール＝en_USのITインフラや、ロケール＝fr_FRのITインフラに対しては無効とする対応策が採られる。第二の対応策として、図１１に示すように、ワークフローの内、ロケールの依存しない部分とロケールに依存する部分とを切り分け、ワークフロー内で、ロケール毎に条件分岐を用いて、対応するロケールに依存するサブルーチンを呼び出す策がある。すなわち、ワークフローの親処理において、ロケールに依存する処理が必要な場合には、そのロケールを判断し、各ロケールに応じた子処理（ロケール＝ja_JP用、en_US用、fr_FR用の三種類の子処理のいずれか）のサブルーチンを呼び出す。
【特許文献１】特開２００４−３１０７７６号公報
【特許文献２】特開２０００−２９３３７９号公報
【特許文献３】特開２０００−３５８８２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、これら従来の対応策には、それぞれ次のような技術的課題が依然として存在する。すなわち、第一の対応策では、ロケールの数だけワークフローを用意する必要がある。特に、ロケールの数が増加すると、増加したロケールに対応するワークフローを新たに用意する必要がある。また、第二の対応策では、確かにロケールの数だけワークフローを用意する必要はないが、依然としてロケールに依存する部分については新たに用意する必要がある。そればかりか、ロケールによる条件分岐をハードコードする必要もある。このようなロケールの条件分岐をハードコードする必要性があると、同じくロケールの数が増加する度にその条件分岐についてハードコードが必要となる。
【０００６】
本発明は、このような技術的課題を解決するためになされたものであり、その目的は、仮想呼び出しを拡張することで、プロビジョニングにおける複数のロケールのサポートを動的かつ柔軟に実現することができるシステム、コンピュータ・プログラム、方法を提供することにある。
【課題を解決するための手段】
【０００７】
本発明の一の側面は、各々ロケールが設定される複数の処理資源とネットワークを介して接続される管理サーバであり、処理とロケールと前記処理及び前記ロケールに対応する命令とを記憶する記憶手段と、前記記憶手段を参照して、必要とされる処理及びロケールに応じた命令を選択する選択手段とを備える管理サーバである。
【０００８】
本発明の他の側面は、各々ロケールが設定される複数の処理資源とネットワークを介して接続される管理サーバとしてコンピュータを機能させるコンピュータ・プログラムであり、実行されることにより前記コンピュータに、処理とロケールと前記処理及び前記ロケールに対応する命令とを記憶する記憶機能と、必要とされる処理及びロケールに応じた命令を選択する選択機能とを実現するコンピュータ・プログラムである。
【０００９】
本発明の更に他の側面は、管理サーバと複数の処理資源とがネットワークを介して接続されるシステムに適用される方法であり、前記複数の処理資源には各々ロケールが設定され、前記管理サーバには処理とロケールと前記処理及び前記ロケールに対応する命令とが記憶され、前記方法は、前記管理サーバが、必要とされる処理及びロケールに応じた命令を選択するステップを備える方法である。
【００１０】
本発明の更に他の側面は、管理サーバと複数の処理資源とがネットワークを介して接続されるシステムに適用される方法であり、前記複数の処理資源には各々ロケールが設定され、前記管理サーバに記憶されている処理と前記処理に対応する第１の命令とを、前記処理と各ロケールと前記処理及び前記各ロケールに応じた複数の第２の命令とに変換するステップを備える方法である。
【発明の効果】
【００１１】
本発明の技術的効果の一例としては、ロケール切り替え処理のハードコーディングが不要となる点、サポートするロケールを容易に増減することが可能となる点、ロケール依存コードの効率的な集約が可能となる点を挙げることができる。
【発明を実施するための最良の形態】
【００１２】
図１および図２は、本発明の一形態を説明する概略図である。  本実施形態に係るプロビジョニングシステムは、管理サーバ１００と複数のリソースサーバ（処理資源）２０１〜２０３とからなり、これらは互いにネットワーク３００により通信可能に接続されている。管理サーバ１００およびリソースサーバ２０１〜２０３にはそれぞれロケールが予め設定されており、複数ロケールの混在環境となっている。すなわち、リソースサーバ２０１〜２０３には相異なるロケールが設定される（例えば、リソースサーバ２０１にはロケール＝ja_JP：日本語、日本通貨等を示す、リソースサーバ２０２にはロケール＝en_US：英語、合衆国通貨等を示す、リソースサーバ２０３にはロケール＝fr_FR：フランス語、フランス通貨等を示す）。また、管理サーバ１００にはロケール＝ja_JPが設定され、これはリソースサーバ２０２、２０３のそれ（ロケール＝en_US、fr_FR）とは相異なる。
なお、管理サーバ１００には、モニター１０１の他、図示しないがキーボード、マウス等の入力デバイス、プリンタ等の出力デバイスを設けることができる。
【００１３】
複数のリソースサーバ２０１〜２０３は一体として仮想的なリソース・プールを形成し、管理サーバ１００からの遠隔制御により、業務A〜Cのいずれか、またはこれらの組合せの業務を行うよう、割り当てられる。この遠隔制御は、管理サーバ１００が専用のスクリプト言語で記述されたワークフローと呼ばれる処理プログラムコードを使用して各リソースサーバ２０１〜２０３に命令を送信し、各リソースサーバ２０１〜２０３が受信した命令を解釈、実行することで実現される。
【００１４】
本実施形態では、ワークフローの仮想呼び出しを拡張して、プロビジョニングにおける複数ロケールのサポートを動的かつ柔軟に実現している。以下、そのより詳細な具体例を実施例として、また従来例を比較例として、さらに他の実施例を比較例としてそれぞれ説明する。
【００１５】
実施例
図３は、実施例に係る管理サーバ１００の機能ブロック図である。図４は、実施例に係る管理サーバ１００内で処理されるワークフローの仮想呼び出しの概念説明図である。図５は実施例に係る管理サーバ１００のモニター１０１に映し出されるワークフロー管理編集画面である。
【００１６】
図３に示すとおり、この管理サーバ１００は、記憶テーブル（記憶手段）１０と、プロビジョニング部（決定手段）１１と、呼び出し部（選択手段）１２と、送信部（送信手段）１３とを備えている。この記憶テーブル１０は、処理OP欄、ロケールL欄、ワークフローWF欄を備えている。ここで、ロケールとワークフロー（命令）は一対に構成され、単一の処理に対して複数のロケールに対応した複数のワークフローが存在する。例えば、処理aに対してロケールｌ１に対応するワークフローｗｆa1と、ロケールｌ２に対応するワークフローｗｆb2がそれぞれ対応している。また、各ワークフローにはロケールによる条件分岐のハードコードが存在しない。
【００１７】
プロビジョニング部１１は、予め記憶しているポリシーと、管理ユーザからの要望、ネットワーク３００を介して受信するシステムの障害発生通知、ワークロード通知などに基づいて、どのリソースサーバをどの処理に割り当てるかを決定する。なお、このようなプロビジョニングの方法は周知技術を適用することができる。呼び出し部１２は、プロビジョニング部１１が決定した割り当て対象のリソースサーバとその処理とに基づいて記憶テーブル１０を参照し、対応するワークフローを動的に選択する（後述する）。送信部１３は、選択されたワークフローを使用し、対応する命令を対応するリソースサーバへ送信する。その後、その命令を受信したリソースサーバは命令を解釈、実行し、対応する処理を実行する。なお、上述の通り、当該命令を解釈する際に、ロケール毎の条件分岐は発生しない。
【００１８】
図４に本実施例における呼び出し部１２の動作を概念的に示した。つまり、ある処理とその処理を行うリソースサーバ（オブジェクト）が決定されると、そのリソースサーバがその属性として有するロケールを使用し、記憶テーブル１０を検索し、該当するワークフローを選択する。例えば、ある処理とその処理を行うリソースサーバ２０２が決定されたとすると、リソースサーバ２０２がその属性として有するロケール＝en_USを使用し、記憶テーブル１０を検索し、該当するen_US用のワークフローを選択する。一方、ある処理とその処理を行うリソースサーバ２０１が決定されたとすると、リソースサーバ２０１がその属性として有するロケール＝ja_JPを使用し、記憶テーブル１０を検索し、該当するja_JP用のワークフローを選択する。
【００１９】
図５は、本実施例におけるワークフローの管理編集画面５００の一例を示す。この管理編集画面５００では、ワークフロー、ロケール、論理デバイス操作（処理）が表形式で一覧可能である。また、これらのうち、任意の項目が追加、編集、削除可能である。例えば、ある論理デバイス操作に対して、新たなロケールと、対応するワークフローを追加することが可能である。また、その際、既存のワークフローをコピーアンドペーストし、新たなロケールに対応する部分（ロケール依存部分）のみ編集して、新たなワークフローを容易に作成することが可能である。
【００２０】
比較例
図６は、比較例に係る管理サーバ内で処理されるワークフローの仮想呼び出しの概念説明図である。図７は比較例に係る管理サーバのモニターに映し出されるワークフロー管理編集画面である。図６に示す通り、ある処理とその処理を行うリソースサーバ（オブジェクト）が決定されると、そのリソースサーバがその属性として有するロケールを考慮することなく、記憶テーブル１０を検索し、該当するワークフローを選択する。例えば、ある処理とその処理を行うリソースサーバ２０２が決定されたとすると、リソースサーバ２０２がその属性として有するロケール＝en_USを考慮することなく、記憶テーブル１０を検索し、該当するワークフローを選択する（このワークフロー内にはロケールによる条件分岐が存在し、条件分岐によりロケール＝en_US用の部分が選択される）。同様に、ある処理とその処理を行うリソースサーバ２０１が決定されたとすると、リソースサーバ２０１がその属性として有するロケール＝ｊa_JPを考慮することなく、記憶テーブル１０を検索し、該当するワークフローを選択する（このワークフロー内にはロケールによる条件分岐が存在し、条件分岐によりロケール＝ｊa_JＰ用の部分が選択される）。
【００２１】
図７は、比較例におけるワークフローの管理編集画面７００の一例を示す。この管理編集画面７００では、ワークフロー、論理デバイス操作（処理）が表形式で一覧可能であるが、ロケール欄は存在しない。また、これらのうち、任意の項目が追加、編集、削除可能であるが、ある論理デバイス操作に対して、新たなロケールを追加する場合には、新たなロケールに対応する部分（ロケール依存部分）を追加、編集するだけでなく、ロケールによる条件分岐をハードコーディングする必要がある。
【００２２】
なお、比較例で示したロケール依存性のある（ロケールによる条件分岐のある）ワークフロー（第一の命令）を、実施例で示したロケール毎の複数のロケール依存性のない（ロケールによる条件分岐のない）ワークフロー（第二の命令）へ変換することも可能である。
【００２３】
変形例
記憶テーブル１０に記憶されるロケールを階層化しておくことも可能である。図８は、変形例に係る管理サーバ内で処理されるワークフローの仮想呼び出しの概念説明図である。グループＡというロケールグルーブ（上位階層）に対応してロケール＝en_USとグループＢ（下位階層）とが記憶テーブル１０に記憶されている。さらに、グループＢというロケールグループ（下位階層）に対応してロケール＝en_AU、en_BZ、en_CAが記憶テーブル１０に記憶されている。このようにロケールを階層化することで、仮想呼び出しテーブルにおける定義柔軟性をさらに向上させ、定義の大幅な簡素化を実現することができる。
【００２４】
図９は、本実施例または変形例における管理サーバ１００またはリソースサーバ２０１〜２０３として機能する情報処理装置１００１のハードウェア構成の一例を示す。情報処理装置１００１は、ホストコントローラ１０８２により相互に接続されるＣＰＵ１０００、ＲＡＭ１０２０、及びグラフィックコントローラ１０７５を有するＣＰＵ周辺部と、入出力コントローラ１０８４によりホストコントローラ１０８２に接続される通信インターフェイス１０３０、ハードディスクドライブ１０４０、及びＣＤ−ＲＯＭドライブ１０６０を有する入出力部と、入出力コントローラ１０８４に接続されるＲＯＭ１０１０、フレキシブルディスクドライブ１０５０、及び入出力チップ１０７０を有するレガシー入出力部とを備える。
【００２５】
ホストコントローラ１０８２は、ＲＡＭ１０２０と、高い転送レートでＲＡＭ１０２０をアクセスするＣＰＵ１０００及びグラフィックコントローラ１０７５とを接続する。ＣＰＵ１０００は、ＲＯＭ１０１０及びＲＡＭ１０２０に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィックコントローラ１０７５は、ＣＰＵ１０００等がＲＡＭ１０２０内に設けたフレームバッファ上に生成する画像データを取得し、表示装置１０８０上に表示させる。これに代えて、グラフィックコントローラ１０７５は、ＣＰＵ１０００等が生成する画像データを格納するフレームバッファを、内部に含んでもよい。
【００２６】
入出力コントローラ１０８４は、ホストコントローラ１０８２と、比較的高速な入出力装置である通信インターフェイス１０３０、ハードディスクドライブ１０４０、及びＣＤ−ＲＯＭドライブ１０６０を接続する。通信インターフェイス１０３０は、ネットワークを介して外部の装置と通信する。ハードディスクドライブ１０４０は、情報処理装置１００１が使用するプログラム及びデータを格納する。ＣＤ−ＲＯＭドライブ１０６０は、ＣＤ−ＲＯＭ１０９５からプログラム又はデータを読み取り、ＲＡＭ１０２０又はハードディスクドライブ１０４０に提供する。
【００２７】
また、入出力コントローラ１０８４には、ＲＯＭ１０１０と、フレキシブルディスクドライブ１０５０や入出力チップ１０７０等の比較的低速な入出力装置とが接続される。ＲＯＭ１０１０は、情報処理装置１００１の起動時にＣＰＵ１０００が実行するブートプログラムや、情報処理装置１００１のハードウェアに依存するプログラム等を格納する。フレキシブルディスクドライブ１０５０は、フレキシブルディスク１０９０からプログラム又はデータを読み取り、入出力チップ１０７０を介してＲＡＭ１０２０またはハードディスクドライブ１０４０に提供する。入出力チップ１０７０は、フレキシブルディスク１０９０や、例えばパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して各種の入出力装置を接続する。
【００２８】
情報処理装置１００１に提供されるプログラムは、フレキシブルディスク１０９０、ＣＤ−ＲＯＭ１０９５、又はＩＣカード等の記録媒体に格納されて利用者によって提供される。プログラムは、入出力チップ１０７０及び/又は入出力コントローラ１０８４を介して、記録媒体から読み出され情報処理装置１００１にインストールされて実行される。プログラムが情報処理装置１００１等に働きかけて行わせる動作は、上述した管理サーバ１００またはリソースサーバ２０１〜２０３における動作と同一であるから、説明を省略する。
【００２９】
以上に示したプログラムは、外部の記憶媒体に格納されてもよい。記憶媒体としては、フレキシブルディスク１０９０、ＣＤ−ＲＯＭ１０９５の他に、ＤＶＤやＰＤ等の光学記録媒体、ＭＤ等の光磁気記録媒体、テープ媒体、ＩＣカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークやインターネットに接続されたサーバシステムに設けたハードディスク又はＲＡＭ等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムを情報処理装置１００１に提供してもよい。
【００３０】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、上記実施例、上記変形例の他、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【図面の簡単な説明】
【００３１】
【図１】実施形態に係るシステム概略図である。
【図２】実施形態に係るシステムのプロビジョニング手法を説明する概念図である。
【図３】実施例に係る管理サーバ１００の機能ブロック図である。
【図４】実施例に係る管理サーバ１００内で処理されるワークフローの仮想呼び出しの概念説明図である。
【図５】実施例に係る管理サーバ１００のモニター１０１に映し出されるワークフロー管理編集画面である。
【図６】比較例に係る管理サーバ１００内で処理されるワークフローの仮想呼び出しの概念説明図である。
【図７】比較例に係る管理サーバ１００のモニターに映し出されるワークフロー管理編集画面である。
【図８】変形例に係る管理サーバ１００内で処理されるワークフローの仮想呼び出しの概念説明図である。
【図９】、本実施例または変形例における管理サーバ１００またはリソースサーバ２０１〜２０３として機能する情報処理装置１００１のハードウェア構成の一例である。
【図１０】一の従来技術の説明図である。
【図１１】他の従来技術の説明図である。
【符号の説明】
【００３２】
１００…管理サーバ、
１０１…モニター、
２０１、２０２、２０３…リソースサーバ、
３００…ネットワーク、
１０…記憶テーブル（記憶手段）、
１１…プロビジョニング部（決定手段）
１２…呼び出し部（選択手段）、
１３…送信部（送信手段）
【図１】
2008217167.tif 000003
【図２】
2008217167.tif 000004
【図３】
2008217167.tif 000005
【図４】
2008217167.tif 000006
【図５】
2008217167.tif 000007
【図６】
2008217167.tif 000008
【図７】
2008217167.tif 000009
【図８】
2008217167.tif 000010
【図９】
2008217167.tif 000011
【図１０】
2008217167.tif 000012
【図１１】
2008217167.tif 000013