(57)【要約】【課題】サービス品質に関する取り決めを満足するパーティションを動的に構築することが可能な技術を提供する。【解決手段】業務サービスのスケジュールを含む業務構成定義を業務構成管理リポジトリへ登録するステップと、各業務サービスのサービス・レヴェル目標を記憶するステップと、各情報処理手段の性能を示す情報を記憶するステップと、指定された業務サービスの前記業務構成管理リポジトリ中のスケジュールを前記取得したサービス・レヴェル目標に従って分割するステップと、前記性能管理テーブル中の性能情報が前記分割されたスケジュールにおけるサービス・レヴェル目標を満す情報処理手段を当該スケジュールで前記指定業務サービスを実行する情報処理手段として予約するステップとを有するものである。【選択図】        図１
2004302918.tif 000002
【特許請求の範囲】
【請求項１】
業務サービスのスケジュールを含む業務構成定義を業務構成管理リポジトリへ登録するステップと、各業務サービスのサービス・レヴェル目標を記憶するステップと、各情報処理手段の性能を示す情報を記憶するステップと、
指定された業務サービスのスケジュールを前記業務構成管理リポジトリ中の業務構成定義から読み込むステップと、前記記憶した指定業務サービスのサービス・レヴェル目標を取得するステップと、前記読み込んだスケジュールを前記取得したサービス・レヴェル目標に従って分割するステップと、前記性能管理テーブル中の性能情報が前記分割されたスケジュールにおけるサービス・レヴェル目標を満たす情報処理手段を当該スケジュールで前記指定業務サービスを実行する情報処理手段として予約するステップとを有することを特徴とする負荷分散方法。
【請求項２】
前記読み込んだスケジュールを分割する際に、サービス・レヴェル目標が一定となっているスパン毎に分割を行うことを特徴とする請求項１に記載された負荷分散方法。
【請求項３】
前記指定業務サービスを実行する情報処理手段を予約する際に、その指定業務サービスの開始処理及び終了処理の中で、その情報処理手段で予約済みの業務サービスの処理と重複する処理を省略して前記予約を行うことを特徴とする請求項１または請求項２のいずれかに記載された負荷分散方法。
【請求項４】
各業務サービスにおける開始処理及び終了処理について、それらの処理内容を示すフラグ情報を含んだ業務構成定義を前記業務構成管理リポジトリへ登録しておき、前記予約済みの業務サービスのフラグ情報と前記指定業務サービスのフラグ情報とを比較することにより前記省略を行うことを特徴とする請求項１乃至請求項３のいずれか１項に記載された負荷分散方法。
【請求項５】
前記指定業務サービスを実行する情報処理手段を予約する際に、その指定業務サービスの開始処理及び終了処理中の特定処理を代替可能な処理が省略されていない場合に当該特定処理を省略して前記予約を行うことを特徴とする請求項１乃至請求項４のいずれか１項に記載された負荷分散方法。
【請求項６】
前記指定業務サービスを実行する情報処理手段を予約する際に、その指定業務サービスの開始処理及び終了処理中の特定処理を省略した際に予約済みの業務サービスに影響の無い場合に当該特定処理を省略して前記予約を行うことを特徴とする請求項１乃至請求項５のいずれか１項に記載された負荷分散方法。
【請求項７】
前記指定業務サービスを実行する情報処理手段を予約する際に、その指定業務サービスの開始処理及び終了処理のフラグ情報が以後の予約済みの業務サービスの開始処理におけるフラグ情報となっている場合に当該特定処理の省略を抑止して前記予約を行うことを特徴とする請求項１乃至請求項６のいずれか１項に記載された負荷分散方法。
【請求項８】
前記指定業務サービスの実行を予約可能な情報処理手段が存在していない場合に、他の業務サービスが予約している情報処理手段を当該指定業務サービスへ転用することを特徴とする請求項１乃至請求項７のいずれか１項に記載された負荷分散方法。
【請求項９】
各業務サービスのスケジュールを含む業務構成定義を業務構成管理リポジトリへ登録する業務構成管理処理部と、各業務サービスのサービス・レヴェル目標を記憶するＳＬＯ管理処理部と、各情報処理手段の性能を示す情報を記憶する性能管理処理部と、
指定された業務サービスのスケジュールを前記業務構成管理リポジトリ中の業務構成定義から読み込み、前記記憶した指定業務サービスのサービス・レヴェル目標を取得し、前記読み込んだスケジュールを前記取得したサービス・レヴェル目標に従って分割し、前記性能管理テーブル中の性能情報が前記分割されたスケジュールにおけるサービス・レヴェル目標を満たしている情報処理手段を当該スケジュールで前記指定業務サービスを実行する情報処理手段として予約する予約管理処理部とを備えることを特徴とする負荷分散システム。
【請求項１０】
各業務サービスのスケジュールを含む業務構成定義を業務構成管理リポジトリへ登録する業務構成管理処理部と、各業務サービスのサービス・レヴェル目標を記憶するＳＬＯ管理処理部と、各情報処理手段の性能を示す情報を記憶する性能管理処理部と、
指定された業務サービスのスケジュールを前記業務構成管理リポジトリ中の業務構成定義から読み込み、前記記憶した指定業務サービスのサービス・レヴェル目標を取得し、前記読み込んだスケジュールを前記取得したサービス・レヴェル目標に従って分割し、前記性能管理テーブル中の性能情報が前記分割されたスケジュールにおけるサービス・レヴェル目標を満たしている情報処理手段を当該スケジュールで前記指定業務サービスを実行する情報処理手段として予約する予約管理処理部としてコンピュータを機能させることを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は情報処理装置を動的に割り当てて負荷分散を行う負荷分散システムに関するものである。
【０００２】
【従来の技術】
複数の情報処理装置を組み合わせたシステムにおいて、従来は、特定の情報処理装置に処理要求が多量に集中すると、その情報処理装置の負荷が増大する為、システム全体の応答時間が著しく長くなったり、或いは処理不能となったりする場合がある。すなわち、システムのサービス品質が低下する。ここで、サービスとは、情報処理装置または情報処理装置を組み合わせたシステムが、要求された処理を実行することである。またサービス品質とは、情報処理装置または情報処理装置を組み合わせたシステムの、計測可能な性能のことであり、応答時間や単位時間あたりの処理件数が該当するが、これに限らない。
【０００３】
前記の問題を解決するために、従来の複数の情報処理装置を組み合わせたシステムでは、例えば、いくつかの情報処理装置をクラスタリングさせて見かけ上単一の情報処理装置を構成すると共に、当該システムに処理を要求する情報処理装置からの処理の要求を、負荷分散装置によって、前記見かけ上単一の情報処理装置を構成する各情報処理装置に振り分けることにより、多量の処理の要求を処理できる様にしている。すなわち、システムのサービス品質を向上させている。
【０００４】
但し、この方法では、特定の時間帯に極端に多量の処理の要求を受ける場合には、システムを構成する全ての情報処理装置に大きな負荷がかかることになり、結局サービス品質は低下することになる。事前に最大の負荷に対応しうる数の情報処理装置を用意しておけば解決可能ではあるものの、特定の時間帯を除けばそれほど要求が多くない様な場合、最大の負荷の為に用意した情報処理装置は無駄である。
【０００５】
この様な問題を解決する手段として、既存の情報処理装置群の処理能力を超えた場合には、新たな情報処理装置（予備情報処理装置）を追加することにより、超過分の処理を行わせ、逆に、既存の情報処理装置群の処理能力が過大になる場合には、余剰となる情報処理装置を削除する方法がある（例えば特許文献１参照）。
【０００６】
しかし、この方法では、処理の要求の変動に応じて、人手を介在させずに予備情報処理装置を追加することを目的としており、予備情報処理装置は、サービスの為のプログラムやプログラムの使用する情報が予め記録された状態で待機していることが前提となっている。すなわち、この方法では、平常時には不要となる情報処理装置を最大負荷の為だけに待機しておかなければならないという問題を解決することができない。
【０００７】
特に、情報処理装置や電源、設置場所、空調、管理業務等を総合的に提供する事業であるデータセンタにおいては、ＳＬＡ（Ｓｅｒｖｉｃｅ  Ｌｅｖｅｌ  Ａｇｒｅｅｍｅｎｔｓ：サービス・レヴェル・アグリーメント）等の利用者との契約を満足する為に、顧客に対して固定的なパーティション（情報処理装置の集合）を与えており、時刻によって負荷が変動する場合にも、最大の負荷に対応可能な規模のパーティションを用意しなければならないので、データセンタにとっては、多くの情報処理装置を管理しなければならないことから管理にかかる費用の点で問題があり、利用者にとっては、一時的にしか使用しない情報処理装置の為に大きな利用料を支払わなければならない点で問題があった。
【０００８】
【特許文献１】
特開２００２−１６３２４１号公報
【特許文献２】
特開２００２−２２２１１０号公報
【０００９】
【発明が解決しようとする課題】
前記の様に複数の情報処理装置を組み合わせたシステムにおいて、従来は、特定の情報処理装置に処理の要求が多量に集中すると、その情報処理装置の負荷が増大してサービス品質が低下し、これを防ぐ為に事前に最大の負荷に対応しうる情報処理装置を用意した場合には、平常時に不要となる情報処理装置を最大負荷の為だけに待機しておかなければならならず、多くの情報処理装置を管理する際の管理コストや一時的にしか使用しない情報処理装置の為に大きな利用料が必要となるという問題がある。
【００１０】
本発明の目的は上記問題を解決し、業務や時間帯に応じて使用されていない状態となっている情報処理装置を別の業務に割り当てることが可能な技術を提供することにある。
【００１１】
【課題を解決するための手段】
本発明は、処理の要求の変動に応じて情報処理装置を動的に割り当てて負荷分散を行う負荷分散システムにおいて、サービス品質に関する取り決めを満足する為の目標値であるＳＬＯに従って分割された各スケジュールに、そのＳＬＯを満たす情報処理装置群を割り当てることによりサービスの負荷分散を行うものである。
【００１２】
本実施形態における負荷分散システムでは、複数の情報処理装置から成るシステムを用いて実行するサービスについて、それらのサービスの論理的なシステム構成を示す論理構成、そのサービスの開始時と終了時に実行する処理を記述したスクリプト等の情報を含む業務構成定義の入力を受け付けて、業務構成管理リポジトリへ登録する。
また、前記サービスのＳＬＯをＳＬＯ管理テーブルへ登録する。
【００１３】
更に、前記論理構成に、実際の情報処理装置群を割り当てた場合の性能の計測結果を入力し、各情報処理装置の性能を示す情報として性能管理テーブルへ登録しておく。
【００１４】
そして、情報処理装置群の割り当て対象となるサービスの指定を受け付けた後、その指定されたサービスのスケジュールを前記業務構成管理リポジトリ中の業務構成定義から読み込み、前記指定サービスのＳＬＯを前記ＳＬＯ管理テーブルから取得する。
【００１５】
その後、前記読み込んだスケジュールを前記取得したＳＬＯに従って分割し、前記性能管理テーブル中の性能情報が前記分割されたスケジュールにおけるＳＬＯを満たしている情報処理装置を当該スケジュールで前記指定サービスを実行する情報処理装置として予約する。
【００１６】
例えばＳＬＯとして指定されている各時間帯の応答時間の情報と、各時間帯における単位時間当たりの処理件数の情報とを重ね合わせ、応答時間及び単位時間当たりの処理件数の両方が一定となっている部分毎にスケジュールを分割した後、前記性能管理テーブルを参照し、その分割されたスケジュールにおける応答時間及び単位時間当たりの処理件数を達成することのできる情報処理装置群を選択して、前記指定サービスを実行する情報処理装置群として予約する。
【００１７】
前記の様に本発明の負荷分散システムでは、ＳＬＯに従って分割された各スケジュールに、そのＳＬＯを満たす情報処理装置を割り当てることによりサービスの負荷分散を行うので、サービス品質に関する取り決めを満足する最適なパーティション（情報処理装置の集合）を動的に構築し、時間帯に応じて使用されていない状態となっている情報処理装置を別のサービスに割り当てることができる。
【００１８】
また本発明では、前記指定サービスを実行する情報処理装置を予約する際に、その指定サービスとその情報処理装置で既に予約済みのサービスの、開始時と終了時に実行する処理を記述したスクリプトを参照し、重複する処理を省略して前記予約を行う様にしても良い。この様に、重複する処理を省略することにすれば、そのサービスの実行に必要な時間が短くなるので、開始時と終了時に実行する処理を含めたサービスの予約が行えない場合であっても、重複する処理の省略されたサービスの予約が行える場合が生じ、情報処理装置の使用されていない時間帯にサービスを割り当てられる可能性を高くすることができる。
【００１９】
また従来では、サービスを実行する複数の情報処理装置からなるシステムを、管理者が利用者とコンサルティングを行いながら、かつ知識や経験に基づいて、構築していたが、本発明によれば、事前に測定された性能に関する指標から自動的にシステムを構築するので、利用者は、実際の情報処理装置を考慮することなく前記サービスを実行するシステムを設計することができ、一方で、管理者は、より効率的にシステムの構築を行うことができる様になる。
【００２０】
以上の様に本発明の負荷分散システムによれば、ＳＬＯに従って分割された各スケジュールに、そのＳＬＯを満たす情報処理装置を割り当てることによりサービスの負荷分散を行うので、サービス品質に関する取り決めを満足するパーティションを動的に構築し、業務や時間帯に応じて使用されていない状態となっている情報処理装置を別の業務に割り当てることが可能である。
【００２１】
【発明の実施の形態】
以下に処理の要求の変動に応じて情報処理装置を動的に割り当てて負荷分散を行う一実施形態の負荷分散システムについて説明する。
【００２２】
図１は本実施形態の負荷分散システム３００の全体の構成を示す図である。図１に示す様に本実施形態の負荷分散システム３００は、サーバ情報管理処理部３１０と、ＳＬＯ管理処理部３２０と、予約管理処理部３３０と、性能管理処理部３４０と、業務構成管理処理部３５０と、システム構築処理部３６０とを有している。
【００２３】
なお、以下、サービスのことを業務サービスと呼ぶことがある。また、サービスを実行するシステムの構成要素を論理サーバと呼ぶ。論理サーバは、物理的に存在する一つの情報処理装置であってもその処理を実施可能なプログラムやオブジェクトであっても、ＬＰＡＲ等の技術を用いて一つの情報処理装置を仮想的に分割した一区画であっても良い（ＬＰＡＲについては特許文献２参照）。
【００２４】
サーバ情報管理処理部３１０は、論理サーバについて、その用途、コスト及び付加情報等の入力を受け付けてサーバ情報管理テーブル４１０へ登録する処理部である。
【００２５】
ＳＬＯ管理処理部３２０は、各業務サービスについて、その業務サービスの利用者と結んだサービス品質に関する取り決めを満足させる為の条件として、各業務サービスの各時間帯における応答時間や単位時間当たりの処理件数等の目標値（ＳＬＯ）の入力を受け付けてＳＬＯ管理テーブル４２０へ登録する処理部である。
【００２６】
業務構成管理処理部３５０は、各業務サービスの論理的なシステム構成を示す論理構成、その業務サービスの開始時刻や終了時刻等の稼働予定を示すスケジュール、その業務サービスの開始時スクリプト及び終了時スクリプト等の情報を含む業務構成定義の入力を受け付けて業務構成管理リポジトリ４５０へ登録する処理部である。
【００２７】
性能管理処理部３４０は、各業務サービスの前記論理的なシステム構成に実際の論理サーバ群を割り当てた場合の応答時間や単位時間当たりの処理件数等の性能の計測結果を入力し、各論理サーバの性能を示す情報として性能管理テーブル４４０へ登録する処理部である。
【００２８】
予約管理処理部３３０は、指定された業務サービスのスケジュールを業務構成管理リポジトリ４５０中の業務構成定義から読み込み、前記指定業務サービスのＳＬＯをＳＬＯ管理テーブル４２０から取得し、前記読み込んだスケジュールを前記取得したＳＬＯに従って分割し、性能管理テーブル４４０中の性能情報が前記分割されたスケジュールにおけるＳＬＯを満たしている論理サーバを当該スケジュールで前記指定業務サービスを実行する情報処理装置として予約する処理部である。システム構築処理部３６０は、前記予約された内容に従ってシステム構築手段５００へシステム構築やシステム解除を指示する処理部である。
【００２９】
負荷分散システム３００をサーバ情報管理処理部３１０、ＳＬＯ管理処理部３２０、予約管理処理部３３０、性能管理処理部３４０、業務構成管理処理部３５０及びシステム構築処理部３６０として機能させる為のプログラムは、ＣＤ−ＲＯＭ等の記録媒体に記録され磁気ディスク等に格納された後、メモリにロードされて実行されるものとする。なお前記プログラムを記録する記録媒体はＣＤ−ＲＯＭ以外の他の記録媒体でも良い。また前記プログラムを当該記録媒体から情報処理装置にインストールして使用しても良いし、ネットワークを通じて当該記録媒体にアクセスして前記プログラムを使用するものとしても良い。
【００３０】
図１の論理サーバ群６００の論理サーバ群とは、同一の性能を持ち、同一の用途（または同一の用途の組み合わせ）に用いられる一つ以上の論理サーバの集合を表している。
【００３１】
図２は本実施形態のシステム管理クライアント１００及び業務管理クライアント２００の画面表示例を示す図である。図２に示す様にシステム管理クライアント１００及び業務管理クライアント２００は、それぞれ、システム管理画面１１０及び業務管理画面２１０を呼び出し可能な情報処理装置で、システム管理画面１１０または業務管理画面２１０を画面に表示する処理を行う。
【００３２】
システム管理画面１１０は、メニュー１２０の各メニュー項目、すなわち、サーバ情報管理機能呼び出し１２１、ＳＬＯ管理機能呼び出し１２２、予約管理機能呼び出し１２３、性能管理機能呼び出し１２４をマウス等の入力装置で選択させることにより、それぞれ、サーバ情報管理処理部３１０、ＳＬＯ管理処理部３２０、予約管理処理部３３０、性能管理処理部３４０の各機能を利用可能な画面、すなわち、サーバ情報管理画面１３１、ＳＬＯ管理画面１３２、予約管理画面１３３、性能管理画面１３４を表示する。
【００３３】
また、業務管理画面２１０のメニュー２２０のメニュー項目、すなわち、業務構成管理機能呼び出し２２１をマウス等の入力装置で選択させることにより、業務構成管理処理部３５０の機能を利用可能な業務構成管理画面２３１を表示する。
【００３４】
システム管理クライアント１００と業務管理クライアント２００は、システム管理画面１１０及び業務管理画面２１０を呼び出し可能であれば、一つの情報処理装置として実装されても良いし、システム管理画面１１０と業務管理画面２１０も一つの画面であっても良い。また、以下、システム管理画面１１０を利用する者をシステム管理者と呼び、業務管理画面を利用する者を業務管理者と呼ぶが、両者は同一の者であっても良い。
【００３５】
図３は本実施形態のサーバ情報管理テーブル４１０の詳細を示す図である。本実施形態のサーバ情報管理処理部３１０は、各種業務サービスを実行する論理サーバの用途、コスト及び付加情報等の入力を受け付けてサーバ情報管理テーブル４１０へ登録する処理を行う。
【００３６】
図３に示す様にサーバ情報管理テーブル４１０は、サーバ群テーブル４１１、サーバ用途定義テーブル４１２及びサーバテーブル４１３から成り、それぞれ典型的には、リレーショナル・データベースのテーブルとして表現されるが、ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）形式のデータファイル等の、他の表現方法であっても良い（本実施形態におけるテーブルについては、以下、同様に他の表現方法であっても良いものとする）。
【００３７】
このサーバ情報管理テーブル４１０では、一つの論理サーバの情報がサーバテーブル４１３の一つのレコードに対応しており、またサーバ群テーブル４１１の一つのレコードが、一つのサーバテーブル４１３に対応している。
【００３８】
サーバ群テーブル４１１のサーバ群ＩＤ４１１ａは、レコードが追加された際に、サーバ群テーブル４１１内で当該レコードが一意に識別できる様にサーバ情報管理処理部３１０が付与する番号である。
【００３９】
用途４１１ｂは、当該レコードが保持する論理サーバ群の用途を示しており、サーバ用途定義テーブル４１２の用途４１２ａにあるもののみ指定できるものとする（すなわち、サーバ群テーブル４１１がリレーショナル・データベースのテーブルとして表現されているのだとすれば用途４１１ｂは外部キーであり、その親キーは用途４１２ａであるものとする）。また用途４１１ｂは、サーバ群ＩＤ４１１ａに対して複数指定できるが、同じ用途を同時に指定することはできないものとする（すなわち、サーバ群テーブル４１１がリレーショナル・データベースのテーブルとして表現されているのだとすればサーバ群ＩＤ４１１ａと用途４１２ａは主キーであるものとする）。図中のＷｅｂ、ＥＪＢ（Ｅｎｔｅｒｐｒｉｓｅ  ＪａｖａＢｅａｎｓ）（登録商標）、ＤＢ（ｄａｔａｂａｓｅ）は、その論理サーバがそれぞれＷｅｂページ、ＥＪＢ、ＤＢを用いる業務サービスに用いられることを表している。
【００４０】
コスト４１１ｄは、当該レコードが保持する論理サーバ群のコストを示しており、予約管理処理部３３０は、コスト４１１ｄを相対的に評価するので、このコスト４１１ｄに指定される数値は、実際の金額であっても仮想的な値であっても良いものとする。
【００４１】
付加情報４１１ｃは、当該レコードが保持する論理サーバ群に関する情報を示しており、システム管理者が当該論理サーバ群を識別し易くする目的で設定する情報である。この情報は、論理サーバの性能の内で定量化できるものであればどんなものでも良く、例えばＣＰＵのクロック周波数やメモリ容量の他に、ハードディスクの回転数やバッファメモリ容量、ＣＰＵの一次キャッシュまたは二次キャッシュの容量やバス幅、メモリのＩ／Ｏ速度等を用いても良い。
【００４２】
サーバ用途定義テーブル４１２の一つのレコードが一つの用途に関する定義を保持しており（サーバ用途定義テーブル４１２がリレーショナル・データベースのテーブルとして表現されているのだとすれば用途４１２ａが主キー）、説明４１２ｂは、当該レコードが保持する用途の説明を示している。システム管理者が当該用途を識別し易くする目的で設定する情報である。
【００４３】
サーバテーブル４１３のサーバＩＤ４１３ａは、レコードが追加された際に、サーバテーブル４１３内で当該レコードが一意に識別できる様にサーバ情報管理処理部３１０が付与する番号であり、利用可否４１３ｂは、当該レコードに対応する論理サーバが利用可能であるかどうかと、利用可能である場合にその期間を示している。
【００４４】
図４は本実施形態のサーバ情報管理画面１３１の詳細を示す図である。本実施形態においてシステム管理者は、論理サーバ群または論理サーバに関する情報を、図４に示すサーバ情報管理画面１３１を通じて追加、編集、削除し、また用途の追加、編集、削除も行うものとする。
【００４５】
またテーブル１３１ｌがサーバ情報管理テーブル４１０に、テーブル１３１ｍがサーバ用途定義テーブル４１２に、テーブル１３１ｕがサーバテーブル４１３に対応している。
【００４６】
サーバ情報管理テーブル４１０への更新を、システム管理者がサーバ情報管理画面１３１を操作する度に行っても良いし、適用ボタンの様なものがあって、適用ボタンが押下された場合のみ行うものとしても良い。またサーバ情報管理画面１３１とサーバ情報管理テーブル４１０の同期は公知の方法により行われるものとする。
【００４７】
テーブル１３１ｌの用途１３１ｂは、サーバ用途定義テーブル４１２の内容に従ってプルダウンメニューとして表示されるものとし、システム管理者はプルダウンメニューから選択することで、用途１３１ｂを決定する。直接入力により編集できない選択による決定方法であればプルダウンメニュー以外のものでも良い。付加情報１３１ｃは直接入力により編集され、またサーバ群ＩＤ１３１ａは編集できないものとする。
【００４８】
付加情報１３１ｃは空欄でも良いものとするが、用途１３１ｂは必ずいずれかが選択されていなければならない。また、１つのサーバ群ＩＤ１３１ａに対して複数の用途１３１ｂがある場合には、同じ用途をそれら複数の用途１３１ｂで同時に選択することはできないものとする。
【００４９】
追加ボタン１３１ｅが押下されると、システム管理クライアント１００は、テーブル１３１ｌに１行追加し、サーバ群ＩＤ１３１ａを付番する処理を行い、また当該サーバ群用のテーブル１３１ｕを生成する。
【００５０】
サーバ群ＩＤ１３１ａの内の１つが選択された状態で削除ボタン１３１ｆが押下されると、システム管理クライアント１００は、テーブル１３１ｌの当該サーバ群ＩＤ１３１ａによって特定される行を全て削除すると共に当該サーバ群用のテーブル１３１ｕを削除する処理を行う。但し、前記テーブル１３１ｕに１行でも行がある場合は、削除ボタン１３１ｆは無効であるものとする。
【００５１】
付加情報追加ボタン１３１ｋが押下されると、システム管理クライアント１００は、付加情報１３１ｃを１列追加し、付加情報の名称を受け付ける。入力された名称が既に存在する付加情報の名称である場合はエラーとなるものとする。
【００５２】
付加情報１３１ｃの内の１つが選択された状態で付加情報削除ボタン１３１ｓが押下されると、システム管理クライアント１００は、テーブル１３１ｌの当該付加情報の列を削除する処理を行う。
【００５３】
サーバ群ＩＤ１３１ａの内の１つが選択された状態で用途追加ボタン１３１ｒが押下されると、システム管理クライアント１００は、テーブル１３１ｌに１行追加し、選択されていたサーバ群ＩＤ１３１ａを新たに追加したサーバ群ＩＤ１３１ａに設定する。
【００５４】
サーバ群ＩＤ１３１ａと用途１３１ｂの組み合わせの内、１つが選択された状態で用途削除ボタン１３１ｔが押下されると、システム管理クライアント１００は、テーブル１３１ｌの当該サーバ群ＩＤ１３１ａ及び用途１３１ｂによって特定される行を削除する。但し、１つのサーバ群ＩＤ１３１ａに対して、用途１３１ｂが１つしかない場合、用途削除ボタン１３１ｔは無効であるものとする。
【００５５】
テーブル１３１ｍでは、用途１３１ｇ及び説明１３１ｈは直接入力により編集されるものとする。説明１３１ｈは空欄でも良いが、用途１３１ｇは空欄であることは許されない。また、当該用途が既にテーブル１３１ｌの用途１３１ｂにおいて１個所でも指定されている場合は、用途１３１ｇを編集することはできないものとし、更に、既に他で使用されている用途を用途１３１ｇに指定することはできないものとする。
【００５６】
追加ボタン１３１ｉが押下されると、システム管理クライアント１００は、テーブル１３１ｍに１行追加する処理を行い、用途１３１ｂの内の１つが選択された状態で削除ボタン１３１ｊが押下されると、システム管理クライアント１００は、テーブル１３１ｍから当該用途の行を削除する。但し、当該用途が既にテーブル１３１ｌの用途１３１ｂにおいて１個所でも指定されている場合、削除ボタン１３１ｊは無効であるものとする。
【００５７】
テーブル１３１ｕの利用可否１３１ｏは、直接入力により編集されるものとし、サーバＩＤ１３１ｎは編集できないものとする。また利用可否１３１ｏは空欄であることは許されないものとし、利用可否１３１ｏが変更された場合、予約管理処理部３３０は再予約処理を行う。
【００５８】
追加ボタン１３１ｐが押下されると、システム管理クライアント１００は、テーブル１３１ｕに１行追加してサーバＩＤ１３１ｎを付番し、サーバＩＤ１３１ｎの内の１つが選択された状態で削除ボタン１３１ｑが押下されると、システム管理クライアント１００は、テーブル１３１ｕから当該論理サーバの行を削除する。サーバＩＤ１３１ｎが削除された場合、予約管理処理部３３０は再予約処理を行う。
【００５９】
前記の様に本実施形態のサーバ情報管理機能では、個々の論理サーバに関する情報をサーバテーブル４１３に持つ一方、同じ種類の論理サーバを論理サーバ群と考えて、その情報をサーバ群テーブル４１１に持ち、また、その指標として用途４１１ｂを導入している。
【００６０】
またサーバテーブル４１３は、論理サーバが利用可能かどうかの情報とその利用可能な期間を持っており、サーバテーブル４１３に対して変更や削除を行うと再予約が行われるので、システム管理者は、業務サービスの予約状況を意識することなく論理サーバの管理を行うことができる。
【００６１】
図５は本実施形態の業務構成管理リポジトリ４５０の詳細を示す図である。図５に示す様に業務構成管理リポジトリ４５０は、業務サービス毎に定義される複数の業務構成定義４５１と、業務サービスに必要なプログラムや定義情報、データ等を保持するＡＰリポジトリ４５２から成っている。なお、リポジトリをデータベースとしても良い。
【００６２】
業務構成定義４５１は、論理構成４５１ａ、構成の制約４５１ｂ、スケジュール４５１ｃ、開始時スクリプト４５１ｄ及び終了時スクリプト４５１ｅを有している。
【００６３】
論理構成４５１ａは、業務構成定義４５１で定義されている業務サービスの論理的なシステム構成を示している。ここで、論理的なシステム構成とは、どの様な論理サーバでなければならないかを特定し得るだけの情報（具体的にはその論理的なシステム構成の構成要素の用途がサーバ用途定義テーブル４１２で定義された用途４１２ａのどれであるかを示す情報）と、その結線関係を保持する構成である。
【００６４】
構成の制約４５１ｂは、論理構成４５１ａの各ノードのスケーラビリティ、及び結線関係の制約を示している。ここでスケーラビリティとは、当該ノードを複数の論理サーバで構成可能かどうかを示す情報であり、結線関係の制約とは、当該結線の親ノードと子ノードが固定的である必要が有るか無いかを示す情報である。
【００６５】
図６は本実施形態の構成の制約４５１ｂの詳細を示す図である。本実施形態では、具体的には図６の構成の制約４５１ｂの詳細に示す情報を、論理構成４５１ａの全てのノード及び結線関係について持っているものとする。
【００６６】
図７は本実施形態の論理構成４５１ａと構成の制約４５１ｂの具体例を示す図である。本実施形態において、典型的には論理構成４５１ａと構成の制約４５１ｂはＸＭＬ形式で表現され、具体的には図７に示す様に表現され得る。
【００６７】
スケジュール４５１ｃは、業務サービスの稼動スケジュールを示しており、典型的には、開始時刻・終了時刻を持つが、終了時間を持たずに永続的に業務を行わせることや、日単位または週単位等の繰り返し処理も、本実施形態で述べる手法を拡張すれば容易に実現できる。
【００６８】
図８は本実施形態の開始時スクリプト４５１ｄと終了時スクリプト４５１ｅの詳細を示す図である。本実施形態の開始時スクリプト４５１ｄは、業務サービスを開始する際に必要な処理を示しており、具体的には、ステップ４５１ｄ１、処理対象４５１ｄ２、処理内容４５１ｄ３、省略判定フラグ４５１ｄ４、対応する終了時ステップ４５１ｄ５を持つ。ステップ４５１ｄ１は当該ステップを開始時スクリプト４５１ｄ内で一意に識別できる様に業務構成管理処理部３５０が指定するものとする。処理内容４５１ｄ３は、システム構築手段５００が認識可能であるか、システム構築手段５００が認識可能である様にシステム構築処理部３６０が変換可能な形式にて記録されているものとする。省略判定フラグ４５１ｄ４は当該ステップの処理内容４５１ｄ３を予約管理処理部３６０が識別する為に設定されているものとする。これは、予約管理処理部３６０が処理内容４５１ｄ３を認識できないものと仮定しているからである。
【００６９】
処理対象４５１ｄ２は、当該ステップの処理を実行する対象を示しており、論理構成４５１ａと同様、対象がどの様な論理サーバでなければならないかを特定し得るだけの情報、すなわち、サーバ用途定義テーブル４１２で定義されている用途４１２ａの内の何れか一つを指定する。但し、システム構築手段５００が認識可能であるか、システム構築手段５００が認識可能である様にシステム構築処理部３６０が変換可能な形式にて記述されていれば、この他のものが指定されていても良い。
【００７０】
対応する終了時ステップ４５１ｄ５は、終了時スクリプト４５１ｅにおいて、当該ステップに対応するステップの、ステップ４５１ｅ１を設定するものとする。
【００７１】
また終了時スクリプト４５１ｅは、業務構成定義４５１の定義する業務サービスを終了する際に必要な処理を示しており、具体的には、ステップ４５１ｅ１、処理対象４５１ｅ２、処理内容４５１ｅ３、省略判定フラグ４５１ｅ４、対応する開始時ステップ４５１ｅ５を持つ。ステップ４５１ｅ１は当該ステップを終了時スクリプト４５１ｅ内で一意に識別できる様に業務構成管理処理部３５０が指定するものとする。処理内容４５１ｅ３は、システム構築手段５００が認識可能であるか、システム構築手段５００が認識可能である様にシステム構築処理部３６０が変換可能な形式にて記録されているものとする。省略判定フラグ４５１ｅ４は当該ステップの処理内容４５１ｅ３を予約管理処理部３６０が識別する為に設定されているものとする。これは、予約管理処理部３６０が処理内容４５１ｄ３を認識できないものと仮定しているからである。
【００７２】
処理対象４５１ｅ２は、当該ステップの処理を実行する対象を示しており、論理構成４５１ａと同様、対象がどの様な論理サーバでなければならないかを特定し得るだけの情報、すなわち、サーバ用途定義テーブル４１２で定義されている用途４１２ａの内の何れか一つを指定する。但し、システム構築手段５００が認識可能であるか、システム構築手段５００が認識可能である様にシステム構築処理部３６０が変換可能な形式にて記述されていれば、この他のものが指定されていても良い。
【００７３】
対応する開始時ステップ４５１ｅ５は、開始時スクリプト４５１ｄにおいて、当該ステップに対応するステップの、ステップ４５１ｄ１を設定するものとする。
【００７４】
一方、業務構成管理リポジトリ４５０のＡＰリポジトリ４５２には、開始時スクリプト４５１ｄと終了時スクリプト４５１ｅの参照するプログラムや定義情報、データ等が格納されている。
【００７５】
本実施形態において、業務管理者は、業務構成定義４５１に関する情報の追加、編集、削除及びＡＰリポジトリ４５２への登録を、業務構成管理画面２３１を通じて行う。その業務構成管理画面２３１での処理内容は、以下の事項を除き、前述のサーバ情報管理画面１３１の説明で述べたものと同様であるものとする。すなわち、業務構成管理処理部３５０が業務構成定義４５１を削除する場合、予約管理処理部３３０は当該業務サービスの予約削除処理を行い、業務構成管理処理部３５０が業務構成定義４５１を変更する場合、予約管理処理部３３０は当該業務サービスの再予約処理を行う。
【００７６】
図９は本実施形態の性能管理テーブル４４０の詳細を示す図である。図９に示す様に性能管理テーブル４４０は、性能管理メインテーブル４４１及び構築時間テーブル４４２から成り、一つの業務構成定義４５１に対して一つの性能管理メインテーブル４４１が必ず対応し、また、論理構成４５１ａの一つのノードに対して一つの構築時間テーブル４４２が対応している。
【００７７】
計測結果テーブル４４１は、論理構成４５１ａについて、システム構築手段５００を用いて実際に論理サーバを割り当てた場合の、性能の計測結果を示しており、計測結果テーブル４４１には、公知の技術を利用して計測された結果が、性能管理画面１３４を通じてシステム管理者により設定されるものとする。
【００７８】
計測結果テーブル４４１の組み合わせＩＤ４４１ａは、レコードが追加された際に、計測結果テーブル４４１内で当該レコードが一意に識別できる様に性能管理処理部３４０が付与する番号である。
【００７９】
対象４４１ｂ−１…ｎ（ｎは整数）は、それぞれ論理構成４５１ａのノードのいずれかに対応し、設定するのは、用途４１１ｂが当該対象４４１ｂに対応する論理構成４５１ａのノードの用途に一致する、一つ以上のサーバ群テーブル４１１のサーバ群ＩＤ４１１ａとその個数である。但し、対象４４１ｂ−１…ｎは、論理構成４５１ａの全てのノードを含む必要は無く（ｎは論理構成４５１ａのノードの総数以下）、ノードが多い場合には一部のみ設定しても良い。
【００８０】
指標４４１ｃ−１…ｍ（ｍは整数）は、利用者と結んだサービス品質に関する取り決めを満足させる為の指標の一つに対応し、設定するのは、当該組み合わせにおけるその計測値である。前記指標は、その業務サービスで満たすべき定量化可能な指標であればどんなものでも良く、例えば処理件数や応答時間の他に、各種ベンチマークツールの結果、フーリエ変換または位相解析等の計算式の処理時間、同時アクセス数、ダウンロード時間、平均待ち時間等を用いても良い。
【００８１】
構築時間テーブル４４２は、論理構成４５１ａのノードのいずれかに対応し、対象４４１ｂ−１…ｎと同様、論理構成４５１ａの全てのノードについて存在する必要は無く、ノードが多い場合は一部のみで良いが、対象４４１ｂ−１…ｎとは必ず１対１に対応する。
【００８２】
対象４４２ａは、当該構築時間テーブル４４２に対応する対象４４１ｂと一致し、設定するのは、サーバ群テーブル４１１のサーバ群ＩＤ４１１ａである。
【００８３】
また、ステップ時間４４２ｂ−１…ｋは、開始時スクリプト４５１ｄ及び終了時スクリプト４５１ｅにおいて、処理対象４５１ｄ２または処理対象４５１ｅ２に当該構築時間テーブル４４２と対応する論理構成４５１ａのノードが指定されているステップの全てを含み、対象４４２ａに対して当該ステップを行った処理時間を設定する。
【００８４】
本実施形態において業務管理者は、計測結果テーブル４４１及び構築時間テーブル４４２に関する情報の追加、編集及び削除を、性能管理画面１３４を通じて行う。性能管理画面１３４での処理内容は、前述のサーバ情報管理画面１３１の説明と同様であるものとする。
【００８５】
性能管理テーブル４４０は、実際の運用結果に基づいて、性能管理処理部３４０やシステム構築手段５００によって随時更新されるものとする。
【００８６】
システム管理者は、自身の管理下にある情報処理装置について多くの知識を持っているので、いくつかの典型的なパターンについて確認した後、推論に基づいてレコードを追加することも想定されるが、この様な推論に基づいて追加されたレコードも、実際の運用結果に基づいて随時更新されるので、性能管理テーブル４４０は、運用を繰り返すことにより信頼度が増すことが判る。なお、前記システム管理者の持つ知識は、経験やサーバの性能に関する知識等であり、例えば、過去に同じ様な構成で運用した経験があれば、情報処理装置の性能や性能計測結果から、ある程度の推論ができる。
【００８７】
図１０は本実施形態のＳＬＯ管理テーブル４２０の詳細を示す図である。図１０に示す様にＳＬＯ管理テーブル４２０は、複数のＳＬＯ４２１−１…ｏ（ｏは整数）から成り、一つの業務構成定義４５１に対して一つのＳＬＯ管理メインテーブル４２０が必ず対応している。また、ＳＬＯ４２１−１…ｏが、計測結果テーブル４４１の指標４４１ｃ−１…ｍに１対１に対応するが、どちらか一方が欠如していても良く（ｍとｏは必ずしも等しくない）、指標４４１ｃ−１…ｍに不足があれば、それに対応するＳＬＯ４２１−１…ｏが無視されるものとし、その逆も同様であるものとする。
【００８８】
典型的には、一つのＳＬＯ４２１は一つのテーブルとしてリレーショナル・データベースに格納され、一つのスパンが一つの行として定義される。ここで、スパンとは、ＳＬＯにおいて当該ＳＬＯの保持する指標の値が一定である時間のことであり、スパンとスパンの間隔はゼロであるものとする（時間と指標を縦軸と横軸に配したグラフにおいて、垂直でも水平でもない部分は存在しない）。
【００８９】
ＳＬＯは、事前に定めたサービス品質に関する取り決めを満足させる為の目標値としてシステム管理者が設定するものであり、ＳＬＯ４２１−１…ｍは、典型的にはある所定の期間について処理の要求の変動に応じて定義するが、スケジュール４５１ｃと同様、日単位または週単位等の繰り返し処理も、本実施形態で述べる手法を拡張すれば容易に実現できる。
【００９０】
図１１は本実施形態の業務構成管理処理、性能管理処理及びＳＬＯ管理処理の処理手順を示すフローチャートである。図１１に示す様に本実施形態の業務構成管理処理部３５０は、各業務サービスの論理的なシステム構成を示す論理構成４５１ａ、その業務サービスの開始時刻や終了時刻等の稼働予定を示すスケジュール４５１ｃ、その業務サービスの開始時スクリプト４５１ｄ及び終了時スクリプト４５１ｅ等の情報を含む業務構成定義４５１の入力を受け付けて業務構成管理リポジトリ４５０へ登録する処理を行う。
【００９１】
また性能管理処理部３４０は、各業務サービスに実際の論理サーバ群を割り当てた場合の応答時間や単位時間当たりの処理件数等の性能の計測結果を受け付け、各論理サーバの性能を示す情報として性能管理テーブル４４０へ登録する処理を行う。
【００９２】
更にＳＬＯ管理処理部３２０は、各業務サービスについて、その業務サービスの利用者との間で結んだサービス品質に関する取り決めを満足させる為の目標値として、各業務サービスの各時間帯における応答時間や単位時間当たりの処理件数等のＳＬＯの入力を受け付けてＳＬＯ管理テーブル４２０へ登録する処理を行う。
【００９３】
図１２は本実施形態の予約管理テーブル４３０の詳細を示す図である。図１２に示す様に予約管理テーブル４３０は、予約台帳４３１、フラグテーブル４３２、及びログ４３３から成り、予約台帳４３１の一つのレコードがサーバテーブル４１３の一つのレコードと対応している。また、予約台帳４３１の一つの予約がフラグテーブル４３２の一つのレコードと対応している。
【００９４】
本実施形態において、予約とは、業務管理者の要求により特定の業務サービスをスケジュール４５１ｃに従って実行するとき、必要となる論理サーバを占有することであるものとする。このとき、当該業務サービスはその予約の予約業務サービスと呼ぶものとし、各予約は固有の予約ＩＤを持つものとする。
【００９５】
予約管理テーブル４３０の予約台帳４３１は、各論理サーバの予約スケジュールを保持する。予約スケジュールとは、予約の時間情報であり、開始処理の開始時刻と終了時刻、運用の開始時刻と終了時刻、終了処理の開始時刻と終了時刻を持ち、開始処理の終了時刻と運用の開始時刻は等しく、運用の終了時刻と終了処理の開始時刻も等しい。
【００９６】
予約管理テーブル４３０の予約台帳４３１は、各論理サーバの仮予約スケジュールも保持する。仮予約スケジュールとは、仮予約の時間情報であり、予約を決定するに当たり、一時的に予約台帳４３１に追加された予約スケジュールである。また、時間情報として仮予約スケジュールを持つ予約を特に仮予約と呼び、仮予約は固有の仮予約ＩＤを持つ。
【００９７】
図１２における予約の開始処理とは、当該予約の予約業務サービスの開始時スクリプト４５１ｄによる処理を指し、処理対象４５１ｄ２が当該論理サーバであるステップの処理内容４５１ｄ３のことである。同様に予約の終了処理とは、当該予約の予約業務サービスの終了時スクリプト４５１ｅによる処理で、処理対象４５１ｅ２が当該論理サーバであるステップの処理内容４５１ｅ３のことである。また予約の運用とは、当該予約の予約業務サービスがスケジュール４５１ｃに従って当該論理サーバを使用することである。
【００９８】
本実施形態において、一つの論理サーバは、重複する予約スケジュールを持たないが、仮予約スケジュールについては重複して重複して持ちうるものとする。
【００９９】
フラグテーブル４３２は、予約ＩＤ４３２ａと、開始時フラグ４３２ｂと、終了時フラグ４３２ｃとからなっている。開始時スクリプト４５１ｄ及び終了時スクリプトの各ステップは、前後の予約の内容によっては省略することが可能である。開始時フラグ４３２ｂ及び終了時フラグ４３２ｃは、前記各ステップの内、予約ＩＤ４３２ａによって識別される当該予約について省略できるステップを判別する為に、それぞれ該当するフラグを複数保持している。
【０１００】
図１３は本実施形態の予約管理メイン処理の処理手順を示すフローチャートである。図１３の予約管理メイン処理は、予約管理処理部３３０が業務管理クライアント２００からの要求を受け付けることにより開始され、予約処理の対象となる業務サービスの指定を受け付ける（Ｓ１０００）。
【０１０１】
そして予約管理処理部３３０は、Ｓ１０００において指定を受けた業務サービスの業務構成定義４５１を業務構成管理処理部３５０に要求し、業務構成管理処理部３５０により業務構成管理リポジトリ４５０から読み出された業務構成定義４５１を取得する（Ｓ１０５０）。次に予約管理処理部３３０は、取得した業務構成定義４５１からスケジュール４５１ｃを読み込む（Ｓ１１００）。
【０１０２】
更に予約管理処理部３３０は、前記指定を受けた業務サービスのＳＬＯ４２１をＳＬＯ管理処理部３２０に要求し、ＳＬＯ管理処理部３２０によりＳＬＯ管理テーブル４２０から読み出されたＳＬＯ４２１を取得する（Ｓ１２００）。
【０１０３】
次に予約管理処理部３３０は、前記読み込んだスケジュール４５１ｃを前記取得したＳＬＯ４２１に従って分割し（Ｓ２０００）、その分割した各スケジュールについて論理サーバを割り当てる（Ｓ３０００）。
【０１０４】
次に前記論理サーバの割り当てに成功したかどうかを調べ（Ｓ９０００）、成功した場合にはＳ３０００の処理へ戻り、前記分割したスケジュールの残りについて論理サーバの割り当てを行う（Ｓ９１００）。また論理サーバの割り当てに失敗した場合には、システム管理者と業務管理者に通知する（Ｓ９０５０）。
【０１０５】
なお、本実施形態の予約処理では、少なくとも複数のＳ３０００の処理を同時に実行しないものとするが、排他処理を必要に応じて追加すれば、同時に実行することも可能である。
【０１０６】
図１４は本実施形態のスケジュール分割処理Ｓ２０００の処理手順を示すフローチャートである。図１４に示す様に予約管理処理部３３０のスケジュール分割処理Ｓ２０００では、まずＳ２０５０で分割位置候補リストを格納する為の領域をメモリ上に確保し、そのリストの値を初期化する。
【０１０７】
次にＳ２１００では、前記取得したＳＬＯ４２１の内で、まだスケジュール分割の処理に用いていないものが残っているかどうかを調べ、残りがある場合にはＳ２１５０へ進む。
【０１０８】
Ｓ２１５０では、Ｓ２１００で残りと判定されたＳＬＯ４２１中のスパンの内で、前記読み込んだスケジュール４５１ｃの範囲内に一部でも重複するスパンが残っているかどうかを調べ、残りがある場合にはＳ２２００へ進み、Ｓ２２００では、Ｓ２２００で残りと判定されたスパンの終了時刻を分割位置候補リストに追加する。
【０１０９】
一方、Ｓ２１００の処理で、ＳＬＯ４２１の残りが無いと判定された場合にはＳ２３００へ進み、前記分割位置候補リスト中の時刻の中から重複するものを削除して分割位置リストとする。そしてＳ２４００では、前記分割位置リスト中の時刻を時刻の経過順に取り出して、その時刻毎にスケジュール４５１ｃを分割する。
【０１１０】
図１５は本実施形態のスケジュール分割処理Ｓ２０００の具体例を示す図である。図１５に示すスケジュール分割処理例では、スケジュール４５１ｃの範囲内で、
・応答時間のＳＬＯのスパンは、３：００〜６：００、６：００〜１４：００、１４：００〜２３：００の３つであり、
・処理件数のＳＬＯのスパンは、３：００〜８：００、８：００〜１０：００、１０：００〜１２：００、１２：００〜１４：００、１４：００〜２３：００の５つである
から、３：００〜６：００、６：００〜８：００、８：００〜１０：００、１０：００〜１２：００、１２：００〜１４：００、１４：００〜２３：００と分けている。
【０１１１】
なお、この方法によると、分割スケジュール単位で独立に論理サーバの割り当てを行うので、
・３：００〜６：００：論理サーバ＃００１×３
・６：００〜８：００：論理サーバ＃００２×５
・８：００〜１０：００：論理サーバ＃００３×４、論理サーバ＃００４×１
・１０：００〜１２：００：論理サーバ＃００１×４
・１２：００〜１４：００：論理サーバ＃００５×１
・１４：００〜２３：００：論理サーバ＃００１×２
の様に、分割スケジュール毎に異なる論理サーバが割り当てられ、切り替え時のオーバヘッドにより無駄が生じる様に思われる。しかし、後述するＳ５３００の処理では、無駄な切り替えが生じない様に論理サーバの割り当てを行う（分割スケジュールをまたがって使用すれば良い論理サーバは連続して使用する）ので、上記の様な問題は起こらない。
【０１１２】
図１６は本実施形態の組み合わせ判定処理Ｓ３０００の処理手順を示すフローチャートである。図１６に示す様に組み合わせ判定処理Ｓ３０００では、分割スケジュール毎に、Ｓ１０００において指定を受けた業務サービスの論理構成４５１ａに論理サーバを割り当てる。
【０１１３】
予約管理処理部３３０は、まず仮予約ＩＤを採番し（Ｓ３０９０）、当該分割スケジュールにおけるＳＬＯ４２１を指標４４１ｃが満足するレコードを計測結果テーブル４４１から抜き出し、「予約候補」とする（Ｓ３１００）。
【０１１４】
次に、前記抜き出した予約候補それぞれについて、予約することが可能かどうかを予約台帳４３１やサーバテーブル４１３を参照して確認し、予約可能であるならば仮予約を行う候補仮予約処理を実行する（Ｓ３２００、Ｓ４０００）。
【０１１５】
次に予約管理処理部３３０は、候補仮予約処理により仮予約に成功した数を調べ、一つ以上の仮予約に成功している場合にはＳ８０００へ進み、そうでない場合にはＳ７０００で予約転用処理を行う。
【０１１６】
Ｓ８０００では、予め設定されている選択方法を調べ、その設定によって自動で選択する様に決定されている場合にはＳ８１５０へ進み、Ｓ８１５０では、同じく予め設定によって決定されている条件の優先順位に従い、仮予約に成功した予約候補から最も割り当てに適しているものを選択する。
【０１１７】
一方、Ｓ８０００で判定した結果、前記設定によって手動で選択する様に決定されている場合にはＳ８１００へ進み、まず仮予約に成功した予約候補の一覧をＳ８１００で予約管理画面１３３に表示した後、業務管理者による選択をＳ８２００で受け付ける。
【０１１８】
次にＳ８３００で予約管理処理部３３０は、Ｓ８１５０で選択した予約候補か、Ｓ８２００で受け付けた予約候補の予約を確定し、予約台帳４３１の更新とフラグテーブル４３２の更新を行う。
なお、Ｓ８１５０からＳ８２００の詳細については、後で述べる。
【０１１９】
図１７は本実施形態の候補仮予約処理Ｓ４０００の処理手順を示すフローチャートである。図１７に示す様に候補仮予約処理Ｓ４０００では、予約候補毎に、予約が可能かどうか判定し、可能であれば予約台帳４３１とフラグテーブル４３２の一時的な更新を行う。より具体的には、対象４４１ｂ−１…ｎの全てが予約可能であれば、当該予約候補は予約可能であるし、ある対象４４１ｂ−ｘ（ｘは１以上ｎ以下の整数）は、指定数分の論理サーバ４４１ｂ−ｘ−１…ｊの全てが予約可能であれば、当該対象は予約可能である。
【０１２０】
図１７のＳ４１００で予約管理処理部３３０は、前記抜き出した予約候補のレコード中に予約可能であるかを調べていない対象４４１ｂがまだ残っているかどうかを調べ、対象４４１ｂの残りがある場合にはＳ４２００へ進む。
【０１２１】
Ｓ４２００では、Ｓ４１００で残りと判定された対象４４１ｂ中の論理サーバの内で、予約可能であるかを調べていない論理サーバがまだ残っているかどうかを調べ、残りがある場合にはＳ５０００へ進み、Ｓ５０００では、対象４４１ｂ中で指定されている論理サーバの指定数分の予約が可能かどうか判定する。
【０１２２】
Ｓ６０００では、Ｓ５０００での仮予約の結果を示す戻り値を参照して、指定数分の論理サーバの仮予約が成功したかどうかを調べ、仮予約が成功した場合にはＳ４２００へ戻り、指定数分の論理サーバの内で一つでも仮予約のできない論理サーバがある場合には、Ｓ６４００で当該候補の仮予約は失敗であるとした後、ここまでのＳ５０００の処理において予約台帳４３１に追加した仮予約の内容を全て削除し（Ｓ６５００）、同じくＳ５０００においてフラグテーブル４３２に追加した当該仮予約のレコードを削除する（Ｓ６６００）。
【０１２３】
一方、Ｓ４１００で調べた結果、対象４４１ｂの残りが無く、全ての論理サーバについて指定数分の仮予約に成功した場合には、当該予約候補の仮予約は成功となる（Ｓ６３００）。
【０１２４】
図１８は本実施形態の論理サーバ指定数分仮予約処理Ｓ５０００の処理手順を示すフローチャートである。図１８に示す様に論理サーバ指定数分仮予約処理Ｓ５０００では、論理サーバ群毎に、指定数分の予約が可能であるかどうか判定し、可能であれば予約台帳４３１とフラグテーブル４３２の一時的な更新を行う。この判定にあたっては、当該論理サーバ群のサーバテーブル４１３と予約台帳４３１の全てのレコードを参照し、まず予約可能である論理サーバを全て選択する。その後、設定によって決定されている条件の優先順位に従い、選択された論理サーバから最も割り当てに適しているものを指定数分仮予約する。
【０１２５】
まず予約管理処理部３３０は、サーバテーブル４１３を参照して論理サーバの利用可否４１３ｂを読み出し（Ｓ５１００）、その論理サーバが使用可能であるか判定する（Ｓ５１５０）。このときＳ５１５０では、開始時スクリプト４５１ｄにおいて、処理対象４５１ｄ２が当該論理サーバの用途に一致するステップにかかる時間の総計を（ａ）とし、終了時スクリプト４５１ｅにおいて、処理対象４５１ｅ２が当該論理サーバの用途に一致するステップにかかる時間の総計を（ｂ）とし、分割スケジュールの時間の前に（ａ）を、後に（ｂ）を付加した時間の範囲（以下、これを予約要求時間と呼ぶ）において、サーバテーブル４１３の当該論理サーバが使用可能であるかどうかを判定する。なお、当該論理サーバの用途は、計測結果テーブル４４１において当該論理サーバがどの対象４４１ｂとして指定されているのかどうかにより判定できる。また、前記総計を求める際の時間は、当該論理サーバの用途の構築時間テーブル４４２から得られるものとする。
【０１２６】
Ｓ５１５０において使用可能であると判定された場合、予約管理処理部３３０は、予約台帳４３１の当該論理サーバの情報を参照して予約可能かどうか判定し、可能であれば仮予約を行う（Ｓ５３００）。このとき、もし前後の予約の予約スケジュールと重複がある場合に、開始時スクリプト４５１ｄ及び終了時スクリプト４５１ｅのいずれかのステップが省略であれば省略して仮予約を行う。
【０１２７】
サーバテーブル４１３予約管理処理部３３０は、Ｓ５１００からＳ５３００までの処理を、サーバテーブル４１３に含まれる全ての論理サーバについて行う（Ｓ５５００）。
【０１２８】
Ｓ５５００では、サーバテーブル４１３中の論理サーバの内で、利用可能かどうかの判定をまだ行っていないものが残っているかどうかを調べ、残りがある場合にはＳ５１００へ戻って処理を続行し、そうでない場合にはＳ５５５０へ進む。
【０１２９】
Ｓ５５５０では、Ｓ５３００で行われた仮予約の数が指定数以上であるかを調べ、指定数分以上の仮予約に成功している場合にはＳ５６００へ進み、そうでない場合にはＳ５７００へ進む。
【０１３０】
Ｓ５６００では、予め設定されている条件の優先順位に従って、指定数を超過する分の論理サーバについて予約台帳４３１中の仮予約スケジュールを削除し、フラグテーブル４３２の追加を削除した後、Ｓ５６５０では論理サーバ群の仮予約が成功であることを示す戻り値を設定して呼び出し元へ戻る。
【０１３１】
またＳ５７００では、仮予約を行った論理サーバについて予約台帳４３１中の仮予約スケジュールを削除し、フラグテーブル４３２の追加を削除した後、Ｓ５７５０では論理サーバ群の仮予約が失敗であることを示す戻り値を設定して呼び出し元へ戻る。
【０１３２】
図１９は本実施形態の論理サーバ仮予約処理Ｓ５３００の処理手順を示すフローチャートである。図１９に示す様に論理サーバ仮予約処理Ｓ５３００では、予約要求時間の範囲において、当該論理サーバが他の予約に占有されていないかどうか判定し、予約可能であれば仮予約を行う。
【０１３３】
予約管理処理部３３０は、まず、分割スケジュールの範囲に、他の予約の運用が存在しないかどうか判定する（Ｓ５３０５）。この際、他の予約の開始処理及び終了処理は存在して良いものとする。また仮予約スケジュールも存在して良い。他の予約の運用が存在しなければＳ５３０９に進み、直前の予約の終了時フラグを保持するバッファ（フラグバッファ１）を初期化した後、Ｓ５３１０で直前の予約との関係を判定する処理を行う。
【０１３４】
Ｓ５３４０では、Ｓ５３１０での判定結果を参照し、Ｓ５３１０での判定結果が予約可能であることを示している場合にはＳ５３５９に進み、直後の予約の開始時フラグを保持するバッファ（フラグバッファ２）を初期化した後、Ｓ５３６０で直後の予約との関係を判定する処理を行う。
【０１３５】
Ｓ５３９０では、Ｓ５３６０での判定結果を参照し、Ｓ５３６０での判定結果が予約可能であることを示している場合にはＳ５３９２に進み、論理サーバ仮予約の判定結果を「可」として、Ｓ３０９０で採番された仮予約ＩＤで当該論理サーバを仮予約するものとして、予約台帳４３１に前記仮予約ＩＤで識別される仮予約スケジュールを追加する（Ｓ５３９３）。
【０１３６】
なお、直前の予約とは、終了処理の終了時刻が、分割スケジュールの開始時刻に最も近い仮予約でない予約のことであり、直後の予約とは、開始処理の開始時刻が、分割スケジュールの終了時刻に最も近い仮予約でない予約のことである。
【０１３７】
Ｓ５３０５で他の予約の運用が存在している場合や、Ｓ５３４０またはＳ５３９０で参照した判定結果が予約不可である場合には、論理サーバ仮予約の判定結果を「不可」として（Ｓ５３９４）、フラグバッファ１とフラグバッファ２の内容を削除し、Ｓ３０９０で採番された仮予約ＩＤを予約ＩＤ４３２ａとしてＳ５３１０及びステップ５３６０で追加したレコードをフラグテーブル４３２から削除する（Ｓ５３９６）。
【０１３８】
図２０は本実施形態の直前の予約との関係を判定する処理Ｓ５３１０の処理手順を示すフローチャートである。図２０に示す様に直前の予約との関係を判定する処理Ｓ５３１０では、仮予約しようとする内容と直前の予約との関係を調べ、予約可能であるかどうかを判定する。この時、開始時スクリプト４５１ｄのいずれかのステップが省略可能で、かつ省略することで予約が可能となる場合には、必要に応じてそのステップを省略して判定を行う。
【０１３９】
予約管理処理部３３０は、直前の予約の終了時スクリプト４５１ｅと構築時間テーブル４４２を、業務構成管理処理部３５０に要求して取得し（Ｓ５３１２）、終了時スクリプト４５１ｅの全てのステップについて（Ｓ５３１３）、処理対象４５１ｅ２が当該論理サーバの用途に一致するのであれば（Ｓ５３１４）、当該ステップのステップ時間を時間１に積算した上で（Ｓ５３１５）、以下の比較処理（直前）を行う（Ｓ５３２０）。なお、前記ステップ時間は、構築時間テーブル４４２より得られるものとし、「時間２」、「省略できる時間」についても同様であるものとする。
【０１４０】
すなわち、Ｓ５３２０の比較処理では、まず前記終了時スクリプト４５１ｅの処理対象となるステップの省略判定フラグ４５１ｅ４を待避しておく。次に、本処理において当該論理サーバの予約を行おうとしている予約業務サービスの開始時スクリプト４５１ｄと構築時間テーブル４４２を、業務構成管理処理部３５０に要求して取得し（Ｓ５３２１）、前記開始時スクリプト４５１ｄの全てのステップについて（Ｓ５３２２）、処理対象４５１ｄ２が当該論理サーバの用途に一致するのであれば（Ｓ５３２３）、当該ステップのステップ時間を時間２に積算した上で（Ｓ５３２４）、以下の処理を行う。
【０１４１】
まず、対応する終了時ステップ４５１ｄ５を参照し、終了時スクリプト４５１ｅの該当ステップの省略判定フラグ４５１ｅ４を取得する。この省略判定フラグ４５１ｅ４が、前記待避済みの省略判定フラグと一致するかどうかを判定する（Ｓ５３２５）。
【０１４２】
Ｓ５３２５において省略判定フラグが一致すれば、予約管理処理部３３０は、フラグテーブル４３２の予約ＩＤ４３２ａが、Ｓ３０９０で採番した仮予約ＩＤと一致するレコードの開始時フラグ４３２ｂに、前記の一致した省略判定フラグを設定する（Ｓ５３２６）。更に、前記の一致した省略判定フラグをフラグバッファ１に設定する（Ｓ５３２７）。また、省略判定フラグの一致したステップのステップ時間を、省略できる時間として積算する（Ｓ５３２８）。なお、Ｓ５３２６で該当レコードが存在しない場合には、新たにレコードを挿入して以降の処理を行うものとする。
【０１４３】
前記の様にしてＳ５３２０の処理を、直前の予約の終了時スクリプト４５１ｅにおける全てのステップにて実行した後、前記積算した省略できる時間と、時間１と、時間２と、直前の予約の運用の終了時刻から分割スケジュールの開始時刻までの時間３とを用い、以下の数１に従って計算して（Ｓ５３３１）、その計算結果が正の値であれば、直前の予約との関係を判定する処理Ｓ５３１０の判定結果を「可」とする（Ｓ５３３２）。結果が負の値であれば、同様にして「不可」とし（Ｓ５３３３）、フラグバッファ１の内容を削除する（Ｓ５３３４）。
【０１４４】
【数１】
時間３−（時間１＋時間２−省略できる時間）
【０１４５】
図２１は本実施形態の直後の予約との関係を判定する処理Ｓ５３６０の処理手順を示すフローチャートである。図２１に示す様に直後の予約との関係を判定する処理Ｓ５３６０では、仮予約しようとする内容と直後の予約との関係を判定し、予約可能であればＳ３０９０で採番した仮予約ＩＤで仮予約を行う。この時、終了時スクリプト４５１ｅのいずれかのステップが省略可能で、かつ省略することで予約が可能となる場合には、必要に応じてそのステップを省略して仮予約を行う。
【０１４６】
なお、図２１の直後の予約との関係を判定する処理Ｓ５３６０の詳細は、図２０の直前の予約との関係を判定Ｓ５３１０の場合と同様である。
【０１４７】
予約管理処理部３３０は、直後の予約の開始時スクリプト４５１ｄと構築時間テーブル４４２を、業務構成管理処理部３５０に要求して取得し（Ｓ５３６２）、開始時スクリプト４５１ｄの全てのステップについて（Ｓ５３６３）、処理対象４５１ｄ２が当該論理サーバの用途に一致するのであれば（Ｓ５３６４）、当該ステップのステップ時間を時間１に積算した上で（Ｓ５３６５）、以下の比較処理（直後）を行う（Ｓ５３７０）。
【０１４８】
すなわち、Ｓ５３７０の比較処理では、まず前記開始時スクリプト４５１ｄの処理対象となるステップの省略判定フラグ４５１ｄ４を待避しておく。次に、本処理において当該論理サーバの予約を行おうとしている予約業務サービスの終了時スクリプト４５１ｅと構築時間テーブル４４２を、業務構成管理処理部３５０に要求して取得し（Ｓ５３７１）、前記終了時スクリプト４５１ｅの全てのステップについて（Ｓ５３７２）、処理対象４５１ｅ２が当該論理サーバの用途に一致するのであれば（Ｓ５３７３）、当該ステップのステップ時間を時間２に積算した上で（Ｓ５３７４）、以下の処理を行う。
【０１４９】
まず、対応する開始時ステップ４５１ｅ５を参照し、開始時スクリプト４５１ｄの該当ステップの省略判定フラグ４５１ｄ４を取得する。この省略判定フラグ４５１ｄ４が、前記待避済みの省略判定フラグと一致するかどうかを判定する（Ｓ５３７５）。
【０１５０】
Ｓ５３７５において省略判定フラグが一致すれば、予約管理処理部３３０は、フラグテーブル４３２の予約ＩＤ４３２ａが、Ｓ３０９０で採番した仮予約ＩＤと一致するレコードの開始時フラグ４３２ｂに、前記の一致した省略判定フラグを設定する（Ｓ５３７６）。更に、前記の一致した省略判定フラグをフラグバッファ２に設定する（Ｓ５３７７）。また、省略判定フラグの一致したステップのステップ時間を、省略できる時間として積算する（Ｓ５３７８）。なお、Ｓ５３７６で該当レコードが存在しない場合には、新たにレコードを挿入して以降の処理を行うものとする。
【０１５１】
前記の様にしてＳ５３７０の処理を、直後の予約の開始時スクリプト４５１ｄにおける全てのステップにて実行した後、前記積算した省略できる時間と、時間１と、時間２と、直後の予約の運用の終了時刻から分割スケジュールの開始時刻までの時間３とを用い、数１に従って計算して（Ｓ５３８１）、その計算結果が正の値であれば、直後の予約との関係を判定する処理Ｓ５３６０の判定結果を「可」とする（Ｓ５３８２）。結果が負の値であれば、同様にして「不可」とし（Ｓ５３８３）、フラグバッファ２の内容を削除する（Ｓ５３８４）。
【０１５２】
図２２は、図８に終了処理省略４５１ｅ６を追加したものである。次に述べる様に終了処理省略４５１ｅ６を判定することで、当該ステップは省略できると判定されたならば、前記の処理ではステップが省略できず仮予約ができない場合でも、予約が可能となる。終了省略処理４５１ｅ６に設定される指標には、「ステップが省略されていない」、「無条件」及び「フラグ無し」があるものとする。
【０１５３】
すなわち、直前の予約との関係を判定する処理Ｓ５３１０では、ステップＳ５３３１で「偽」となった場合に、直前の予約の予約業務サービスの終了時スクリプト４５１ｅの全てのステップについて、直後の予約との関係を判定する処理Ｓ５３６０では、ステップＳ５３８１で「偽」となった場合に、当該処理において当該論理サーバの予約を行おうとしている業務サービスの終了時スクリプト４５１ｅの全てのステップについて、以下の判定を行う。次に、直前の予約との関係を判定する処理Ｓ５３１０ではステップＳ５３３１を、直後の予約との関係を判定する処理Ｓ５３６０ではステップＳ５３８１を改めて行う。
【０１５４】
（１）処理の対象となるステップの終了処理省略４５１ｅ６が「ステップが省略されていない」である場合、
（ａ）直前の予約との関係を判定する処理Ｓ５３１０では、終了処理省略５４１ｅ６に続いて示すステップが、ステップＳ５３２５において「真」となっていなければ、当該ステップ（処理の対象となるステップ）の省略判定フラグ４５１ｅ４を、フラグバッファ１に設定し、当該ステップのステップ時間を省略できる時間に追加する。
【０１５５】
（ｂ）直後の予約との関係を判定する処理Ｓ５３６０では、終了処理省略５４１ｅ６に続いて示すステップが、ステップＳ５３７５において「真」となっていなければ、フラグテーブル４３２の予約ＩＤ４３２ａが、仮予約ＩＤと一致するレコードの開始時フラグ４３２ｂに、当該ステップ（処理の対象となるステップ）の省略判定フラグ４５１ｅ４を設定し、当該ステップのステップ時間を省略できる時間に追加する。
【０１５６】
前記指標の「ステップが省略されていない」は、ある特定ステップを代替可能なステップが省略されていない場合に当該特定ステップを省略することを表している。例えばステップＴ０１３の省略可の条件が「Ｔ０１４が省略されていない」であれば、ステップＴ０１４が省略されていない場合にステップＴ０１３を省略可能であるものとし、ＥＪＢコンポーネントをアンインストールすればＥＪＢコンポーネントに対する設定は無条件に削除されるからこの削除を省略する場合等がこれに相当する。
【０１５７】
（２）処理の対象となるステップの終了処理省略４５１ｅ６が「無条件」である場合、
（ａ）直前の予約との関係を判定する処理Ｓ５３１０では、無条件に、当該ステップ（処理の対象となるステップ）の省略判定フラグ４５１ｅ４を、フラグバッファ１に設定し、当該ステップのステップ時間を省略できる時間に追加する。
【０１５８】
（ｂ）直後の予約との関係を判定する処理Ｓ５３６０では、無条件に、仮予約ＩＤと一致するレコードの開始時フラグ４３２ｂに、当該ステップ（処理の対象となるステップ）の省略判定フラグ４５１ｅ４を設定し、当該ステップのステップ時間を省略できる時間に追加する。
【０１５９】
前記指標の「無条件」は、特定ステップを省略した際に予約済みの業務サービスに影響の無い場合に当該特定ステップを省略することを表している。例えばソフトウェアのアンインストールを行うステップ等については、直後の業務サービスに影響の無い限り行わないものとし、アンインストールに必要な時間を節約する。
【０１６０】
（３）処理の対象となるステップの終了処理省略４５１ｅ６が「フラグ無し」である場合、
（ａ）直前の予約との関係を判定する処理Ｓ５３１０では、終了処理省略５４１ｅ６に続いて示すフラグが省略判定フラグ４５１ｄ４に設定されているステップが、当該処理において当該論理サーバの予約を行おうとしている業務サービスの開始時スクリプト４５１ｄに無いならば、当該ステップ（処理の対象となるステップ）の省略判定フラグ４５１ｅ４を、フラグバッファ１に設定し、当該ステップのステップ時間を省略できる時間に追加する。
【０１６１】
（ｂ）直後の予約との関係を判定する処理Ｓ５３６０では、終了処理省略５４１ｅ６に続いて示すフラグが省略判定フラグ４５１ｄ４に設定されているステップが、直後の予約の予約業務サービスの開始時スクリプト４５１ｄに無いならば、フラグテーブル４３２の予約ＩＤ４３２ａが、仮予約ＩＤと一致するレコードの開始時フラグ４３２ｂに、当該ステップ（処理の対象となるステップ）の省略判定フラグ４５１ｅ４を設定し、当該ステップのステップ時間を省略できる時間に追加する。
【０１６２】
例えば直後の業務サービスの開始時スクリプトに「ＥＪＢコンテナ＊インストール済みフラグ無し」（＊は任意の文字）が存在する場合、そのＥＪＢコンテナのアンインストールを省略することはできないものとする。主に直後の業務サービスで、同じ種類ながら別のソフトウェア製品をインストールする場合や、同じ種類でも別バージョンのソフトウェアをインストールする場合を想定しており、コンフリクトを回避する為に省略できないものとしている。従って、無条件ではないが、直後の業務サービスの内容によっては省略することも可能である。
【０１６３】
前記のアンインストールを省略する等の処理は、各論理サーバにハードディスク容量の制限が無く、また性能への影響が無いことを前提にしているが、そのステップを省略した場合の性能やハードディスク残容量への影響度を示す指標を導入し、それらの指標を含めて組み合わせ判定処理Ｓ３０００で組み合わせを判定するものとしても良い。
【０１６４】
図２３は本実施形態の予約台帳とフラグテーブルの更新処理Ｓ８３００の処理手順を示すフローチャートである。図２３に示す様に予約台帳とフラグテーブルの更新処理Ｓ８３００では、Ｓ８１５０若しくはＳ８２００で選択された予約候補と、それ以外の予約候補について、必要な後処理を行う。
【０１６５】
予約管理処理部３３０は、まず、選択されなかった予約候補があるかどうかを調べ（Ｓ８３１０）、ある場合にはその選択されなかった全ての予約候補について、予約台帳４３１から仮予約を削除する（Ｓ８３２０）。すなわち、予約台帳４３１の当該予約候補の持つ論理サーバの全てについて、Ｓ３０９０で採番された仮予約ＩＤの仮予約があれば、それを全て削除する。
【０１６６】
次に、当該予約候補の持つ全ての論理サーバのフラグバッファ１及びフラグバッファ２を削除する（Ｓ８３３０、Ｓ８３３５）。更に、フラグテーブル４３２から、前記仮予約ＩＤで識別されるレコードを削除する（Ｓ８３４０）。
【０１６７】
一方、Ｓ８３１０で調べた結果、選択されなかった予約候補がもう無い場合に予約管理処理部３３０は、選択された予約候補の持つ全ての論理サーバのフラグバッファ１で、当該論理サーバの、直前の予約のフラグテーブル４３２における終了時フラグ４３２ｃを更新する（Ｓ８３５０）。同様に、選択された予約候補の持つ全ての論理サーバのフラグバッファ２で、当該論理サーバの、直後の予約のフラグテーブル４３２における開始時フラグ４３２ｂを更新する（Ｓ８３５５）。更に、仮予約ＩＤを予約ＩＤに変更する（Ｓ８３６０）。
【０１６８】
また、本実施形態の負荷分散システム３００では、予約の要求、予約候補からの選択方法の設定、Ｓ８２００における予約候補からの選択、Ｓ８１５０及びＳ５６００において判断に用いる条件の優先順位の設定を、予約管理画面１３３を通じて行う。
【０１６９】
図２４は本実施形態の予約候補からの選択処理Ｓ８２００の詳細を示す図である。図２４に示す様に業務管理クライアント２００は、Ｓ８２００において、予約管理画面１３３に仮予約に成功した予約候補を一覧として表示する。
【０１７０】
図２４の指標１３３ｂは、計測結果テーブル４４１の当該予約候補の指標４４１ｃ−１…ｍである。
【０１７１】
直前の予約との関係１３３ｃは、Ｓ５３１０において算出する情報であり、
・直前の予約の終了時刻から予約要求時間の開始時刻までの時間について、当該予約候補の含む全ての論理サーバについて加算した総和１３３ｃ１
・開始処理を省略できる論理サーバの数の、当該予約候補の含む論理サーバの総数に対する割合１３３ｃ２
・直前の予約の終了処理と当該仮予約の開始処理を完全に省略できる論理サーバの数の、当該予約候補の含む論理サーバの総数に対する割合１３３ｃ３
を表示している。
【０１７２】
第一の情報１３３ｃ１は、当該予約候補が、いかに論理サーバの空き時間を少なくして仮予約を行うことができるのかを示している。第二の情報１３３ｃ２は、第一の情報１３３ｃ１と同じく、いかに論理サーバの空き時間を少なくして仮予約を行うことができるのかを示すが、これを時間ではなく、論理サーバの台数の割合として示している。第三の情報１３３ｃ３は、直前の予約の終了時ステップの内で当該論理サーバに関するステップを完全に省略でき、かつ、当該仮予約の開始時ステップの内で当該論理サーバに関するステップを完全に省略できる論理サーバの台数の割合を示している。なお、直前の予約との関係１３３ｃは、予約処理における一連のステップで取得可能であれば、他に表示しても良い。また、それらの組み合わせや組み合わせて計算できる計算結果であっても良い。
【０１７３】
直後の予約との関係１３３ｄは、同様に、Ｓ５３６０において算出する情報であり、
・予約要求時間の終了時刻から直後の予約の開始時刻までの時間について、当該予約候補の含む全ての論理サーバについて加算した総和１３３ｄ１
・終了処理を省略できる論理サーバの数の、当該予約候補の含む論理サーバの総数に対する割合１３３ｄ２
・直後の予約の開始処理と当該仮予約の終了処理を完全に省略できる論理サーバの数の、当該予約候補の含む論理サーバの総数に対する割合１３３ｄ３
を表示している。
【０１７４】
前後の予約との関係１３３ｆは、１３３ｃと１３３ｄの平均であり、総コスト１３３ｇは、当該予約候補の含む論理サーバの、サーバ群テーブル４１１より導出できるコストの総和である。また用途一致率１３３ｆは、直前の予約と、当該論理サーバの使用用途が一致していた論理サーバの数の、当該予約候補の含む論理サーバの総数に対する割合、及び直後の予約と、当該論理サーバの使用用途が一致していた論理サーバの数の、当該予約候補の含む論理サーバの総数に対する割合の平均である。
【０１７５】
指標１３３ｂ、直前の予約との関係１３３ｃ、直後の予約との関係１３３ｄ、前後の予約との関係１３３ｆ、総コスト１３３ｇ、用途一致率１３３ｅは、ソートボタンを押下することで、予約候補１３３ａを昇順／降順でソートできるものとし、ソートの条件の順位は、ソートボタンを押下した順番の逆順で決まるものとする。例えば、直前の予約との関係１３３ｃのソートボタン、総コスト１３３ｇのソートボタンの順に押下した場合、総コスト１３３ｇ、直前の予約との関係１３３ｃの順にソートされる。
【０１７６】
システム管理者は、ソートを行い、最適な候補を選択して、「決定」ボタンを押下することで、予約の決定を行う。
【０１７７】
次に、Ｓ８１５０及びＳ５６００において判断に用いる条件の優先順位の設定について説明する。Ｓ８１５０及びＳ５６００において判断に用いる条件の優先順位とは、前記の指標１３３ｂ、直前の予約との関係１３３ｃ、直後の予約との関係１３３ｄ、前後の予約との関係１３３ｆ、総コスト１３３ｇ、用途一致率１３３ｅを、どの順に優先させて選択するかの指標であり、業務管理者が、事前に予約管理画面１３３において、決定しておく必要があるものとする。
【０１７８】
なお、デフォルトとしては、
１．  前後の予約との関係１３３ｆ３
２．  前後の予約との関係１３３ｆ１
３．  前後の予約との関係１３３ｆ２
４．  総コスト１３３ｇ
５．  用途一致率１３３ｅ
６．  指標１３３ｂ
等の順に優先して選択する。
【０１７９】
次に、本実施形態における予約転用処理について説明する。予約管理処理部３３０は、Ｓ４０００の候補仮予約の処理において、全ての予約候補が仮予約に失敗した場合、当該分割スケジュールの範囲で、別の業務サービスが予約している論理サーバを転用し、その業務サービスには別の論理サーバを割り当てることで予約が可能とならないか判定し、可能であれば予約を行う。
【０１８０】
ごく単純な例でいえば、業務サービス２についてある予約要求時間の範囲の予約処理を行うとき、
条件１）業務サービス１：論理サーバ群Ａの論理サーバを１台、Ｗｅｂ用途に使用する予約を実施済み。
【０１８１】
条件２）業務サービス２：論理サーバ群Ａの論理サーバを１台、ＥＪＢ用途に使用したい。
【０１８２】
条件３）当該予約要求時間に使用できるのは論理サーバ群Ｂの論理サーバ１台で、Ｗｅｂ用途にのみ使用できる。
【０１８３】
である場合、もし業務サービス１の当該分割スケジュールのＳＬＯが論理サーバ群Ｂの論理サーバ１でも満足できるのならば、業務サービス１の予約を解除し、論理サーバ群Ｂの論理サーバ１台で予約しなおした上で、業務サービス２の用途として、解除された論理サーバ群Ａの論理サーバ１台を利用すれば良い。なお、以下、業務サービス２の様なある分割スケジュールにおいて予約に失敗した業務サービスを「転用対象業務サービス」と呼ぶ。
【０１８４】
図２５は本実施形態の予約転用処理Ｓ７０００の処理手順を示すフローチャートである。図２５に示す様に予約管理処理部３３０は、まず、予約候補を仮予約に失敗した論理サーバの数の少ない順に並べ替える（Ｓ７０１０）。次に、前記並べ替えた各予約候補について（Ｓ７０２０）、当該予約候補が候補仮予約Ｓ４０００において仮予約に失敗した論理サーバ（以下、転用対象論理サーバと呼ぶ）の全てが、それらを既に予約している予約業務サービス（以下、転用候補業務サービスと呼ぶ）から転用できるかどうかを以下の様に判定する。
【０１８５】
まず、第一の転用対象論理サーバについて（Ｓ７０３０）、サーバテーブル４１３を参照し、論理サーバのそれぞれについて以下の処理を行う。
【０１８６】
（１）当該論理サーバを予約要求時間内で予約している予約業務サービスを全て取得し、これを転用候補業務サービスとする（Ｓ７１００）。
【０１８７】
（２）転用候補業務サービスの全てについて予約ＩＤを仮予約ＩＤとする（Ｓ７２５０）。
【０１８８】
（３）当該論理サーバに対する予約を取り消した上で、別の予約候補をもって予約を割り当てることが可能かどうか、全ての転用候補業務サービスについて判定する（Ｓ７３００）。
【０１８９】
Ｓ７３００において全ての転用候補業務サービスについて転用に成功した場合にはＳ７７００からＳ７０３０へ戻り、次の転用対象論理サーバについて、（１）から（３）までの処理を繰り返す。
【０１９０】
一方、Ｓ７３００において、一つでも転用に失敗した転用候補業務サービスがある場合にはＳ７７００からＳ７７５０へ進み、全ての転用候補業務サービスの仮予約ＩＤを予約ＩＤに戻した上で（Ｓ７７５０）、仮予約に失敗した論理サーバの数が次に少ない予約候補でＳ７０４０以降の処理を行う。
【０１９１】
Ｓ７０３０で論理サーバの残りが無くなり、全ての転用対象論理サーバについて転用に成功した場合にはＳ７９００へ進み、当該予約候補をもって転用可能であるとして、予約台帳４３１とフラグテーブル４３２の更新を行う。この場合、Ｓ８０００からＳ８３００までの処理を行わずに組み合わせ判定処理Ｓ３０００が完了する。
【０１９２】
一方、Ｓ７０２０で予約候補が無くなり、全ての予約候補において転用に失敗した場合にはＳ７８００へ進み、組み合わせ判定に失敗したものとして、システム管理者と業務管理者に通知する（Ｓ９０５０）。
【０１９３】
図２６は本実施形態の転用候補業務サービスの取得処理Ｓ７１００の処理手順を示すフローチャートである。図２６に示す様に転用候補業務サービスの取得処理Ｓ７１００では、まず、分割スケジュールの範囲に、他の予約の運用が存在しないかどうか判定する（Ｓ７１１０）。他の予約の運用が存在する場合、それらを転用候補業務サービスのリストに追加する（Ｓ７１２０、Ｓ７１３０）。
【０１９４】
次に、直前の予約との関係を判定し（Ｓ５３１０）、判定の結果、予約不能であれば（Ｓ７１４０）、転用候補業務サービスのリストに直前の予約の予約業務サービスを追加する（Ｓ７１５０）。
【０１９５】
更に、直後の予約との関係を判定し（Ｓ５３６０）、判定の結果、予約不能であれば（Ｓ７１６０）、同様に転用候補業務サービスのリストに直後の予約の予約業務サービスを追加する（Ｓ７１７０）。
【０１９６】
図２７は本実施形態の予約ＩＤ変更処理Ｓ７２５０の処理手順を示すフローチャートである。図２７に示す様に予約ＩＤ変更処理Ｓ７２５０では、各転用候補業務サービスの予約ＩＤを読み出してメモリ上に格納した後、転用候補業務サービスの予約ＩＤを仮予約ＩＤに変更する処理を行う。
【０１９７】
図２８は本実施形態の業務サービス転用処理Ｓ７３００の処理手順を示すフローチャートである。図２８に示す様に業務サービス転用処理Ｓ７３００では、転用候補業務サービス毎に、再度候補仮予約処理Ｓ４０００を行い、対象となる転用対象論理サーバを使用しない予約候補があれば、転用候補業務サービスの予約を前記予約候補と置換し、当該転用対象論理サーバが少なくとも予約要求時間の範囲で予約可能である様にして予約する。
【０１９８】
予約管理処理部３３０は、まず、転用対象業務サービスの、当該分割スケジュールにおける予約ＩＤで当該転用対象論理サーバの仮予約を行う（Ｓ５３００）。
【０１９９】
次に、転用候補業務サービスの全てについて（Ｓ７３５０）、当該転用候補業務サービスの計測結果テーブル４４１から、当該分割スケジュールにおけるＳＬＯ４２１を指標４４１ｃが満足するレコードを抜き出し、「予約候補」とする（Ｓ７４００）。
【０２００】
次に、予約候補それぞれについて（Ｓ７４５０）、候補仮予約を実行する（Ｓ４０００）。その結果、仮予約に成功した予約候補があれば（Ｓ７５００）、当該転用候補業務サービスの当該予約に対して行った選択基準に基づき、予約候補の選択を行う（Ｓ７５５０）。また、転用候補業務サービスの内、選択できる予約候補が一つもないものがあれば、転用は失敗とする（Ｓ７６００）。
【０２０１】
Ｓ７３５０で転用対象業務サービスの残りが無くなり、全ての転用候補業務サービスで予約候補の選択に成功すれば、転用は成功である（Ｓ７６５０）。
【０２０２】
予約管理処理３３０は、予約の取消処理も行う。これは、予約台帳４３１から削除を要求された予約の予約スケジュールを全て削除し、フラグテーブル４３２から、当該予約の予約ＩＤで識別されるレコードを削除する処理である。また、前記までの予約処理と、予約転用処理と、予約削除処理とから、特定の論理サーバと特定の時間を指定して当該論理サーバの当該時間の予約を取り消すことや、特定の業務サービスを指定して当該業務サービスの予約を取り消すことができるのは自明である。更に、特定の論理サーバを指定して当該論理サーバの予約を全て取り消して、当該論理サーバを予約していた全ての業務サービスについて、再予約を行うことができるのも自明である。
【０２０３】
図２９は本実施形態の仮予約ＩＤ変更処理Ｓ７７５０の処理手順を示すフローチャートである。図２９に示す様に仮予約ＩＤ変更処理Ｓ７７５０では、メモリ上に格納しておいた各転用候補業務サービスの予約ＩＤを読み出して、転用候補業務サービスの仮予約ＩＤ部分に格納することにより、転用候補業務サービスの仮予約ＩＤ部分を予約ＩＤに戻す処理を行う。
【０２０４】
図３０は本実施形態の予約台帳とフラグテーブルの更新処理Ｓ７９００の処理手順を示すフローチャートである。図３０に示す様に予約台帳とフラグテーブルの更新処理Ｓ７９００では、各転用候補論理サーバと各転用候補業務サービスについて、予約台帳とフラグテーブルの更新処理Ｓ８３００を行うことにより、予約台帳４３１とフラグテーブル４３２を更新する。
【０２０５】
次に本実施形態のシステム構築処理部３６０の処理について説明する。
図３１は本実施形態のシステム構築処理の処理手順を示すフローチャートである。図３１に示す様にシステム構築処理部３６０は、予約管理処理部３３０からの予約の開始指示を受けると（Ｓ１１１１０）、当該予約の予約業務サービスの論理構成４５１ａと、予約台帳４３１に格納されている、実際に割り当てるべき論理サーバの情報と、構成の制約４５１ｂを、システム構築手段５００が認識できる形式に変換し（Ｓ１１１２０）、ネットワーク構築をシステム構築手段５００に指示する（Ｓ１１１３０）。
【０２０６】
次に、フラグテーブル４３２を参照し、開始時スクリプト４５１ｄから省略できるステップを削除し、前記同様予約台帳４３１に格納されている、実際に割り当てるべき論理サーバの情報をそのスクリプト中に埋め込む。更に、これをシステム構築手段５００が認識できる形式に変換し（Ｓ１１１４０）、変換した開始時スクリプトの実行をシステム構築手段５００に指示する（Ｓ１１１５０）。
【０２０７】
図３２は本実施形態のシステム解除処理の処理手順を示すフローチャートである。システム構築処理の場合と同様に、システム構築処理部３６０は、予約管理処理部３３０からの予約の終了指示を受けると（Ｓ１１２１０）、フラグテーブル４３２を参照し、当該予約の予約業務サービスの終了時スクリプト４５１ｅから省略できるステップを削除し、予約台帳４３１に格納されている、実際に割り当てるべき論理サーバの情報をそのスクリプトに埋め込む。更に、これをシステム構築手段５００が認識できる形式に変換し（Ｓ１１２２０）、変換した開始時スクリプトの実行をシステム構築手段５００に指示する（Ｓ１１２３０）。
【０２０８】
次に、論理構成４５１ａと、前記同様予約台帳４３１に格納されている、実際に割り当てるべき論理サーバの情報と、構成の制約４５１ｂを、システム構築手段５００が認識できる形式に変換し（Ｓ１１１４０）、ネットワーク解除をシステム構築手段５００に指示する（Ｓ１１１５０）。
【０２０９】
また本実施形態のシステム構築処理部３６０は、予約の開始処理中及び終了処理中、システム構築手段５００を常に監視して構築時間テーブル４４２を更新する処理を行い、同様にシステム構築処理部３６０は、予約の運用中、システム構築手段５００を常に監視して計測結果テーブル４４１を更新する処理を行うものとする。
【０２１０】
以上説明した様に本実施形態の負荷分散システムによれば、ＳＬＯに従って分割された各スケジュールに、そのＳＬＯを満たす情報処理装置を割り当てることにより業務サービスの負荷分散を行うので、サービス品質に関する取り決めを満足するパーティションを動的に構築し、業務や時間帯に応じて使用されていない状態となっている情報処理装置を別の業務に割り当てることが可能である。
【０２１１】
【発明の効果】
本発明によれば業務や時間帯に応じて使用されていない状態となっている情報処理手段を他の業務に割り当て情報処理手段の負荷分散を行うことが可能である。
【図面の簡単な説明】
【図１】本実施形態の負荷分散システムの全体の構成を示す図である。
【図２】本実施形態のシステム管理クライアント１００及び業務管理クライアント２００の画面表示例を示す図である。
【図３】本実施形態のサーバ情報管理テーブル４１０の詳細を示す図である。
【図４】本実施形態のサーバ情報管理画面１３１の詳細を示す図である。
【図５】本実施形態の業務構成管理リポジトリ４５０の詳細を示す図である。
【図６】本実施形態の構成の制約４５１ｂの詳細を示す図である。
【図７】本実施形態の論理構成４５１ａと構成の制約４５１ｂの具体例を示す図である。
【図８】本実施形態の開始時スクリプト４５１ｄと終了時スクリプト４５１ｅの詳細を示す図である。
【図９】本実施形態の性能管理テーブル４４０の詳細を示す図である。
【図１０】本実施形態のＳＬＯ管理テーブル４２０の詳細を示す図である。
【図１１】本実施形態の業務構成管理処理、性能管理処理及びＳＬＯ管理処理の処理手順を示すフローチャートである。
【図１２】本実施形態の予約管理テーブル４３０の詳細を示す図である。
【図１３】本実施形態の予約管理メイン処理の処理手順を示すフローチャートである。
【図１４】本実施形態のスケジュール分割処理Ｓ２０００の処理手順を示すフローチャートである。
【図１５】本実施形態のスケジュール分割処理Ｓ２０００の具体例を示す図である。
【図１６】本実施形態の組み合わせ判定処理Ｓ３０００の処理手順を示すフローチャートである。
【図１７】本実施形態の候補仮予約処理Ｓ４０００の処理手順を示すフローチャートである。
【図１８】本実施形態の論理サーバ指定数分仮予約処理Ｓ５０００の処理手順を示すフローチャートである。
【図１９】本実施形態の論理サーバ仮予約処理Ｓ５３００の処理手順を示すフローチャートである。
【図２０】本実施形態の直前の予約との関係を判定する処理Ｓ５３１０の処理手順を示すフローチャートである。
【図２１】本実施形態の直後の予約との関係を判定する処理Ｓ５３６０の処理手順を示すフローチャートである。
【図２２】本実施形態の業務構成定義４５１のスクリプト４５１ｃの例と省略フラグの動きを示す図である。
【図２３】本実施形態の予約台帳とフラグテーブルの更新処理Ｓ８３００の処理手順を示すフローチャートである。
【図２４】本実施形態の予約候補からの選択処理Ｓ８２００の詳細を示す図である。
【図２５】本実施形態の予約転用処理Ｓ７０００の処理手順を示すフローチャートである。
【図２６】本実施形態の転用候補業務サービスの取得処理Ｓ７１００の処理手順を示すフローチャートである。
【図２７】本実施形態の予約ＩＤ変更処理Ｓ７２５０の処理手順を示すフローチャートである。
【図２８】本実施形態の業務サービス転用処理Ｓ７３００の処理手順を示すフローチャートである。
【図２９】本実施形態の仮予約ＩＤ変更処理Ｓ７７５０の処理手順を示すフローチャートである。
【図３０】本実施形態の予約台帳とフラグテーブルの更新処理Ｓ７９００の処理手順を示すフローチャートである。
【図３１】本実施形態のシステム構築処理の処理手順を示すフローチャートである。
【図３２】本実施形態のシステム解除処理の処理手順を示すフローチャートである。
【符号の説明】
１００…システム管理クライアント、２００…業務管理クライアント、３００…負荷分散システム、４００…リポジトリ、４１０…サーバ情報管理テーブル、４２０…ＳＬＯ管理テーブル、４３０…予約管理テーブル、４４０…性能管理テーブル、４５０…業務構成管理リポジトリ、５００…システム構築手段、６００…論理サーバ群、３１０…サーバ情報管理処理部、３２０…ＳＬＯ管理処理部、３３０…予約管理処理部、３４０…性能管理処理部、３５０…業務構成管理処理部、３６０…システム構築処理部、１１０…システム管理画面、１２０…メニュー、１２１…サーバ情報管理機能呼び出し、１２２…ＳＬＯ管理機能呼び出し、１２３…予約管理機能呼び出し、１２４…性能管理機能呼び出し、１３０…システム管理メイン画面、１３１…サーバ情報管理画面、１３２…ＳＬＯ管理画面、１３３…予約管理画面、１３４…性能管理画面、２１０…業務管理画面、２２０…メニュー、２２１…業務構成管理機能呼び出し、２３０…システム管理メイン画面、２３１…業務構成管理画面、４１１…サーバ群テーブル、４１１ａ…サーバ群ＩＤ、４１１ｂ…用途、４１１ｃ…付加情報、４１１ｄ…コスト、４１２…サーバ用途定義テーブル、４１２ａ…用途、４１２ｂ…説明、４１３…サーバテーブル、４１３ａ…サーバＩＤ、４１３ｂ…利用可否、１３１ａ…サーバ群ＩＤ、１３１ｂ…用途、１３１ｃ…付加情報、１３１ｄ…コスト、１３１ｅ…追加ボタン、１３１ｆ…削除ボタン、１３１ｇ…用途、１３１ｈ…説明、１３１ｉ…追加ボタン、１３１ｊ…削除ボタン、１３１ｋ…付加情報追加ボタン、１３１ｌ…テーブル、１３１ｍ…テーブル、１３１ｎ…サーバＩＤ、１３１ｏ…利用可否、１３１ｐ…追加ボタン、１３１ｑ…削除ボタン、１３１ｒ…用途追加ボタン、１３１ｓ…付加情報削除ボタン、１３１ｔ…用途削除ボタン、１３１ｕ…テーブル、４５１…業務構成定義、４５１ａ…論理構成、４５１ｂ…構成の制約、４５１ｃ…スケジュール、４５１ｄ…開始時スクリプト、４５１ｅ…終了時スクリプト、４５２…ＡＰリポジトリ、４５１ｄ１…ステップ、４５１ｄ２…処理対象、４５１ｄ３…処理内容、４５１ｄ４…省略判定フラグ、４５１ｄ５…対応する終了時ステップ、４５１ｅ１…ステップ、４５１ｅ２…処理対象、４５１ｅ３…処理内容、４５１ｅ４…省略判定フラグ、４５１ｅ５…対応する開始時ステップ、４５１ｅ６…終了処理省略、４４１…計測結果テーブル、４４１ａ…組み合わせＩＤ、４４１ｂ…対象、４４１ｃ…指標、４４２…構築時間テーブル、４４２ａ…対象、４４２ｂ…ステップ時間、４２１…ＳＬＯ、４３１…予約台帳、４３２…フラグテーブル、４３２ａ…予約ＩＤ、４３２ｂ…開始時フラグ、４３２ｃ…終了時フラグ、４３３…ログ。
【図１】
2004302918.tif 000003
【図２】
2004302918.tif 000004
【図３】
2004302918.tif 000005
【図４】
2004302918.tif 000006
【図５】
2004302918.tif 000007
【図６】
2004302918.tif 000008
【図７】
2004302918.tif 000009
【図８】
2004302918.tif 000010
【図９】
2004302918.tif 000011
【図１０】
2004302918.tif 000012
【図１１】
2004302918.tif 000013
【図１２】
2004302918.tif 000014
【図１３】
2004302918.tif 000015
【図１４】
2004302918.tif 000016
【図１５】
2004302918.tif 000017
【図１６】
2004302918.tif 000018
【図１７】
2004302918.tif 000019
【図１８】
2004302918.tif 000020
【図１９】
2004302918.tif 000021
【図２０】
2004302918.tif 000022
【図２１】
2004302918.tif 000023
【図２２】
2004302918.tif 000024
【図２３】
2004302918.tif 000025
【図２４】
2004302918.tif 000026
【図２５】
2004302918.tif 000027
【図２６】
2004302918.tif 000028
【図２７】
2004302918.tif 000029
【図２８】
2004302918.tif 000030
【図２９】
2004302918.tif 000031
【図３０】
2004302918.tif 000032
【図３１】
2004302918.tif 000033
【図３２】
2004302918.tif 000034