(57)【特許請求の範囲】
【請求項１】
サービス提供システムと、
サービス要求を前記サービス提供システムに送信する利用者装置と、
リソース分散装置と、
を具備し、
前記サービス提供システムは、
複数のサービスのうちの、前記サービス要求に応じたサービスのデータを前記利用者装置に提供する複数のサーバと、
前記複数のサービスのうちの、いずれかのサービスと、前記複数のサーバのうちの、いずれかのサーバと、を割り当てる情報が格納されたサービス割り当てファイルと、
前記サービス割り当てファイルを参照して、前記利用者装置からの前記サービス要求を、該当するサービスに対応付けられたサーバに送信する負荷分散装置と、
を備え、
前記リソース分散装置は、
所定期間変更しないサービスの情報が格納された移動対象除外ファイルと、
前記複数のサーバの各々、又は、前記複数のサービスの各々のリソース状況を表す値を取得し、前記複数のサービスの中から、前記値が第１設定値を超える第１サービスを選択するリソース状況監視部と、
前記移動対象除外ファイルを参照して、前記複数のサービスの中から、所定期間変更しないサービス以外で、且つ、第１サービス以外の第２サービスを選択する再配分部と、
を具備し、
前記再配分部は、
前記サービス割り当てファイルを参照して、前記第２サービスに割り当てられているサーバのうちの少なくとも１つのサーバを、前記第２サービスに代えて前記第１サービスに割り当て、
前記少なくとも１つのサーバが割り当てられた前記第１サービスを所定期間変更しないサービスとする情報を前記移動対象除外ファイルに格納する、
リソース過分配防止システム。
【請求項２】
前記再配分部は、
前記複数のサービスの中から、前記値が前記第１設定値よりも低い第２設定値を下回る第１候補サービスを選択し、
前記移動対象除外ファイルを参照して、前記第１候補サービスの中から、所定期間変更しないサービス以外で、且つ、前記第１サービス以外の第２候補サービスを選択し、前記第２候補サービスのうちの少なくとも１つのサービスを前記第２サービスとして選択する、
請求項１に記載のリソース過分配防止システム。
【請求項３】
前記リソース状況監視部は、
前記複数のサービスの各々のリソース状況を表すサービスリソース状況値を前記値として取得し、
前記複数のサービスの中から、前記サービスリソース状況値が前記第１設定値を超える前記第１サービスを選択し、
前記再配分部は、
前記複数のサービスの中から、前記サービスリソース状況値が前記第２設定値を下回る前記第１候補サービスを選択し、
前記移動対象除外ファイルを参照して、前記第１候補サービスの中から、前記第２候補サービスを選択し、
前記複数のサーバの各々のリソースを表すサーバリソース状況値を取得し、
前記第２候補サービスの中から、前記サーバリソース状況値が最も低い値である前記第２サービスを選択する、
請求項２に記載のリソース過分配防止システム。
【請求項４】
前記再配分部は、
前記第２候補サービスのデータを提供するサーバの中から、前記サーバリソース状況値が第３設定値以下である余剰サーバを選択し、
前記第２候補サービスの中から、前記余剰サーバの数が最も多いサービスを前記第２サービスとして選択する、
請求項３に記載のリソース過分配防止システム。
【請求項５】
前記リソース状況監視部は、
前記複数のサーバの各々のリソース状況を表すサーバリソース状況値を前記値として取得し、
前記複数のサービスの中から、前記サーバリソース状況値が前記第１設定値を超える前記第１サービスを選択し、
前記再配分部は、
前記複数のサービスの中から、前記サーバリソース状況値が前記第２設定値を下回る前記第１候補サービスを選択し、
前記移動対象除外ファイルを参照して、前記第１候補サービスの中から、前記第２候補サービスを選択し、
前記第２候補サービスの中から、前記サーバリソース状況値が最も低い値である前記第２サービスを選択する、
請求項２に記載のリソース過分配防止システム。
【請求項６】
前記リソース状況監視部は、
前記複数のサーバのそれぞれのリソース状況の前記値として、前記複数のサービスの各々のデータを提供するサーバにおける前記サーバリソース状況値の平均値を平均サーバリソース状況値として算出し、
前記複数のサービスの中から、前記平均サーバリソース状況値が前記第１設定値を超える前記第１サービスを選択し、
前記再配分部は、
前記複数のサービスの中から、前記平均サーバリソース状況値が前記第２設定値を下回る前記第１候補サービスを選択し、
前記第２候補サービスの中から、前記平均サーバリソース状況値が最も低い値である前記第２サービスを選択する、
請求項５に記載のリソース過分配防止システム。
【請求項７】
前記移動対象除外ファイルには、所定期間変更しないサービスの情報として、前記複数のサービスとカウント値とを対応付ける情報が格納され、
前記リソース状況監視部は、
前記値を取得したとき、前記移動対象除外ファイルを参照して、前記複数のサービスに対応する前記カウント値の更新として１を減算し、
前記再配分部は、
前記移動対象除外ファイルを参照して、前記複数のサービスの中から、前記カウント値が１以上であるサービスを除外したサービスを前記第２サービスとして選択し、
前記第１サービスを所定期間変更しないサービスとするために、前記第１サービスと、前記カウント値として２以上の設定カウント値と、を対応付ける情報を前記移動対象除外ファイルに格納する、
請求項１〜６のいずれかに記載のリソース過分配防止システム。
【請求項８】
前記移動対象除外ファイルには、所定期間変更しないサービスの情報として、前記複数のサービスとカウント値とを対応付ける情報が格納され、
前記リソース状況監視部は、
前記値を取得したとき、前記移動対象除外ファイルを参照して、前記複数のサービスに対応する前記カウント値の更新として１を加算し、
前記再配分部は、
前記移動対象除外ファイルを参照して、前記複数のサービスの中から、前記カウント値が、２以上の設定カウント値に満たないサービスを除外したサービスを前記第２サービスとして選択し、
前記第１サービスを所定期間変更しないサービスとするために、前記第１サービスと、前記カウント値として０と、を対応付ける情報を前記移動対象除外ファイルに格納する、
請求項１〜６のいずれかに記載のリソース過分配防止システム。
【請求項９】
請求項１〜８のいずれかに記載のリソース過分配防止システムに適用されるリソース分散装置。
【請求項１０】
サービス提供システムと、サービス要求を前記サービス提供システムに送信する利用者装置と、リソース分散装置とを具備し、
前記サービス提供システムは、複数のサービスのうちの、前記サービス要求に応じたサービスのデータを前記利用者装置に提供する複数のサーバと、サービス割り当てファイルと、負荷分散装置と、を備え、
前記サービス割り当てファイルには、前記複数のサービスのうちの、いずれかのサービスと、前記複数のサーバのうちの、いずれかのサーバと、を割り当てる情報が格納され、
前記負荷分散装置は、前記サービス割り当てファイルを参照して、前記利用者装置からの前記サービス要求を、該当するサービスに対応付けられたサーバに送信する、
リソース過分配防止システムに適用された前記リソース分散装置が実行するリソース分散方法であって、
前記複数のサーバの各々、又は、前記複数のサービスの各々のリソース状況を表す値を取得するステップと、
前記複数のサービスの中から、前記値が第１設定値を超える第１サービスを選択するステップと、
所定期間変更しないサービスの情報が格納された移動対象除外ファイルを参照して、前記複数のサービスの中から、所定期間変更しないサービス以外で、且つ、第１サービス以外の第２サービスを選択するステップと、
前記サービス割り当てファイルを参照して、前記第２サービスに割り当てられているサーバのうちの少なくとも１つのサーバを、前記第２サービスに代えて前記第１サービスに割り当てるステップと、
前記少なくとも１つのサーバが割り当てられた前記第１サービスを所定期間変更しないサービスとする情報を前記移動対象除外ファイルに格納するステップと、
を具備するリソース分散方法。
【請求項１１】
前記第２サービスを選択するステップは、
前記複数のサービスの中から、前記値が前記第１設定値よりも低い第２設定値を下回る第１候補サービスを選択し、
前記移動対象除外ファイルを参照して、前記第１候補サービスの中から、所定期間変更しないサービス以外で、且つ、前記第１サービス以外の第２候補サービスを選択し、前記第２候補サービスのうちの少なくとも１つのサービスを前記第２サービスとして選択する、
請求項１０に記載のリソース分散方法。
【請求項１２】
前記値を取得するステップは、
前記複数のサービスの各々のリソース状況を表すサービスリソース状況値を前記値として取得し、
前記第１サービスを選択するステップは、
前記複数のサービスの中から、前記サービスリソース状況値が前記第１設定値を超える前記第１サービスを選択し、
前記第１候補サービスを選択するステップは、
前記複数のサービスの中から、前記サービスリソース状況値が前記第２設定値を下回る前記第１候補サービスを選択し、
前記第２サービスを選択するステップは、
前記移動対象除外ファイルを参照して、前記第１候補サービスの中から、前記第２候補サービスを選択し、
前記複数のサーバの各々のリソースを表すサーバリソース状況値を取得し、
前記第２候補サービスの中から、前記サーバリソース状況値が最も低い値である前記第２サービスを選択する、
請求項１１に記載のリソース分散方法。
【請求項１３】
前記第２サービスを選択するステップは、
前記第２候補サービスのデータを提供するサーバの中から、前記サーバリソース状況値が第３設定値以下である余剰サーバを選択し、
前記第２候補サービスの中から、前記余剰サーバの数が最も多いサービスを前記第２サービスとして選択する、
請求項１２に記載のリソース分散方法。
【請求項１４】
前記値を取得するステップは、
前記複数のサーバの各々のリソース状況を表すサーバリソース状況値を前記値として取得し、
前記第１サービスを選択するステップは、
前記複数のサービスの中から、前記サーバリソース状況値が前記第１設定値を超える前記第１サービスを選択し、
前記第１候補サービスを選択するステップは、
前記複数のサービスの中から、前記サーバリソース状況値が前記第２設定値を下回る前記第１候補サービスを選択し、
前記第２サービスを選択するステップは、
前記移動対象除外ファイルを参照して、前記第１候補サービスの中から、前記第２候補サービスを選択し、
前記第２候補サービスの中から、前記サーバリソース状況値が最も低い値である前記第２サービスを選択する、
請求項１１に記載のリソース分散方法。
【請求項１５】
前記複数のサーバのそれぞれのリソース状況の前記値として、前記複数のサービスの各々のデータを提供するサーバにおける前記サーバリソース状況値の平均値を平均サーバリソース状況値として算出するステップ、
を更に具備し、
前記第１サービスを選択するステップは、
前記複数のサービスの中から、前記平均サーバリソース状況値が前記第１設定値を超える前記第１サービスを選択し、
前記第１候補サービスを選択するステップは、
前記複数のサービスの中から、前記平均サーバリソース状況値が前記第２設定値を下回る前記第１候補サービスを選択し、
前記第２サービスを選択するステップは、
前記第２候補サービスの中から、前記平均サーバリソース状況値が最も低い値である前記第２サービスを選択する、
請求項１４に記載のリソース分散方法。
【請求項１６】
前記移動対象除外ファイルには、所定期間変更しないサービスの情報として、前記複数のサービスとカウント値とを対応付ける情報が格納され、
前記リソース分散方法は、
前記値を取得したとき、前記移動対象除外ファイルを参照して、前記複数のサービスに対応する前記カウント値の更新として１を減算するステップ、
を更に具備し、
前記第２サービスを選択するステップは、
前記移動対象除外ファイルを参照して、前記複数のサービスの中から、前記カウント値が１以上であるサービスを除外したサービスを前記第２サービスとして選択し、
前記第１サービスを所定期間変更しないサービスとする情報を前記移動対象除外ファイルに格納するステップは、
前記第１サービスと、前記カウント値として２以上の設定カウント値と、を対応付ける情報を前記移動対象除外ファイルに格納する、
請求項１０〜１５のいずれかに記載のリソース分散方法。
【請求項１７】
前記移動対象除外ファイルには、所定期間変更しないサービスの情報として、前記複数のサービスとカウント値とを対応付ける情報が格納され、
前記リソース分散方法は、
前記値を取得したとき、前記移動対象除外ファイルを参照して、前記複数のサービスに対応する前記カウント値の更新として１を加算するステップ、
を更に具備し、
前記第２サービスを選択するステップは、
前記移動対象除外ファイルを参照して、前記複数のサービスの中から、前記カウント値が、２以上の設定カウント値に満たないサービスを除外したサービスを前記第２サービスとして選択し、
前記第１サービスを所定期間変更しないサービスとする情報を前記移動対象除外ファイルに格納するステップは、
前記第１サービスと、前記カウント値として０と、を対応付ける情報を前記移動対象除外ファイルに格納する、
請求項１０〜１５のいずれかに記載のリソース分散方法。
【請求項１８】
複数のサービスのうちの、サービスのデータを提供する複数のサーバの各々、又は、前記複数のサービスの各々のリソース状況を表す値を取得するステップと、
前記複数のサービスの中から、前記値が第１設定値を超える第１サービスを選択するステップと、
所定期間変更しないサービスの情報が格納された移動対象除外ファイルを参照して、前記複数のサービスの中から、所定期間変更しないサービス以外で、且つ、第１サービス以外の第２サービスを選択するステップと、
前記複数のサービスのうちのいずれかのサービスと、前記複数のサーバのうちのいずれかのサーバとを割り当てる情報が格納されたサービス割り当てファイルを参照して、前記第２サービスに割り当てられているサーバのうちの少なくとも１つのサーバを、前記第２サービスに代えて前記第１サービスに割り当てるステップと、
前記少なくとも１つのサーバが割り当てられた前記第１サービスを所定期間変更しないサービスとする情報を前記移動対象除外ファイルに格納するステップと
をコンピュータに実行させるためのコンピュータプログラム。
【請求項１９】
前記第２サービスを選択するステップは、
前記複数のサービスの中から、前記値が前記第１設定値よりも低い第２設定値を下回る第１候補サービスを選択し、
前記移動対象除外ファイルを参照して、前記第１候補サービスの中から、所定期間変更しないサービス以外で、且つ、前記第１サービス以外の第２候補サービスを選択し、前記第２候補サービスのうちの少なくとも１つのサービスを前記第２サービスとして選択する
請求項１８に記載のコンピュータプログラム。
【請求項２０】
前記値を取得するステップは、
前記複数のサービスの各々のリソース状況を表すサービスリソース状況値を前記値として取得し、
前記第１サービスを選択するステップは、
前記複数のサービスの中から、前記サービスリソース状況値が前記第１設定値を超える前記第１サービスを選択し、
前記第１候補サービスを選択するステップは、
前記複数のサービスの中から、前記サービスリソース状況値が前記第２設定値を下回る前記第１候補サービスを選択し、
前記第２サービスを選択するステップは、
前記移動対象除外ファイルを参照して、前記第１候補サービスの中から、前記第２候補サービスを選択し、
前記複数のサーバの各々のリソースを表すサーバリソース状況値を取得し、
前記第２候補サービスの中から、前記サーバリソース状況値が最も低い値である前記第２サービスを選択する
請求項１９に記載のコンピュータプログラム。
【請求項２１】
前記第２サービスを選択するステップは、
前記第２候補サービスのデータを提供するサーバの中から、前記サーバリソース状況値が第３設定値以下である余剰サーバを選択し、
前記第２候補サービスの中から、前記余剰サーバの数が最も多いサービスを前記第２サービスとして選択する
請求項２０に記載のコンピュータプログラム。
【請求項２２】
前記値を取得するステップは、
前記複数のサーバの各々のリソース状況を表すサーバリソース状況値を前記値として取得し、
前記第１サービスを選択するステップは、
前記複数のサービスの中から、前記サーバリソース状況値が前記第１設定値を超える前記第１サービスを選択し、
前記第１候補サービスを選択するステップは、
前記複数のサービスの中から、前記サーバリソース状況値が前記第２設定値を下回る前記第１候補サービスを選択し、
前記第２サービスを選択するステップは、
前記移動対象除外ファイルを参照して、前記第１候補サービスの中から、前記第２候補サービスを選択し、
前記第２候補サービスの中から、前記サーバリソース状況値が最も低い値である前記第２サービスを選択する
請求項１９に記載のコンピュータプログラム。
【請求項２３】
前記複数のサーバのそれぞれのリソース状況の前記値として、前記複数のサービスの各々のデータを提供するサーバにおける前記サーバリソース状況値の平均値を平均サーバリソース状況値として算出するステップ
を更に含み、
前記第１サービスを選択するステップは、
前記複数のサービスの中から、前記平均サーバリソース状況値が前記第１設定値を超える前記第１サービスを選択し、
前記第１候補サービスを選択するステップは、
前記複数のサービスの中から、前記平均サーバリソース状況値が前記第２設定値を下回る前記第１候補サービスを選択し、
前記第２サービスを選択するステップは、
前記第２候補サービスの中から、前記平均サーバリソース状況値が最も低い値である前記第２サービスを選択する
請求項２２に記載のコンピュータプログラム。
【請求項２４】
前記移動対象除外ファイルには、所定期間変更しないサービスの情報として、前記複数のサービスとカウント値とを対応付ける情報が格納され、
前記値を取得したとき、前記移動対象除外ファイルを参照して、前記複数のサービスに対応する前記カウント値の更新として１を減算するステップ
を更に含み、
前記第２サービスを選択するステップは、
前記移動対象除外ファイルを参照して、前記複数のサービスの中から、前記カウント値が１以上であるサービスを除外したサービスを前記第２サービスとして選択し、
前記第１サービスを所定期間変更しないサービスとする情報を前記移動対象除外ファイルに格納するステップは、
前記第１サービスと、前記カウント値として２以上の設定カウント値と、を対応付ける情報を前記移動対象除外ファイルに格納する
請求項１８〜２３のいずれかに記載のコンピュータプログラム。
【請求項２５】
前記移動対象除外ファイルには、所定期間変更しないサービスの情報として、前記複数のサービスとカウント値とを対応付ける情報が格納され、
前記値を取得したとき、前記移動対象除外ファイルを参照して、前記複数のサービスに対応する前記カウント値の更新として１を加算するステップ
を更に含み、
前記第２サービスを選択するステップは、
前記移動対象除外ファイルを参照して、前記複数のサービスの中から、前記カウント値が、２以上の設定カウント値に満たないサービスを除外したサービスを前記第２サービスとして選択し、
前記第１サービスを所定期間変更しないサービスとする情報を前記移動対象除外ファイルに格納するステップは、
前記第１サービスと、前記カウント値として０と、を対応付ける情報を前記移動対象除外ファイルに格納する
請求項１８〜２３のいずれかに記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リソースを割り当てるリソース過分配防止システムに関する。
【背景技術】
【０００２】
あるサービスを提供するサーバのリソースが不足した時に、別のサービスを提供するサーバをリソース不足のサービスに割り当てるリソース分配システムが開発されている。
【０００３】
例えば、あるサービスＡを提供するサーバａと、サービスＢを提供するサーバｂとが存在し、アクセス集中等でサービスＡがリソース不足に陥ったと仮定する。リソース分配システムでは、サービスＢのリソースに余力があると判断すると、サーバｂからサーバａへリソースを移動させる。これによりサーバａのリソース不足が解消される。
【０００４】
この時、サーバｂは、サービスＢに対するリソースが不足する可能性がある。その場合、今度はサーバａからサーバｂへのリソース分配が実施され、サーバｂのリソース不足が解消される。しかし、元の状態に戻るため、再度、サーバａは、サービスＡに対するリソースが不足の状態となってしまう。
【０００５】
このようになった場合、２つのサーバａ、ｂのリソースが同時に回復するまで、延々とサーバ分配が実施されてしまい、サービス全体が不安定な状態となってしまう。システム全体の安定化を図りながら運用することが望まれる。
【０００６】
リソースの割り当てに関連する技術について紹介する。
【０００７】
特開２００５−１４１６０５号公報には、計算機リソース配分方法が記載されている（特許文献１）。計算機リソース配分方法は、単一または複数のポリシサーバに複数の計算機リソースが接続された計算機システムにおいて、複数のサービスに対してそれぞれ計算機リソースを割り当ててそれぞれの現用系計算機リソースとして動作させ、残りの計算機リソースのうちの第１群は複数のサービスのそれぞれの実行に備えてそれぞれのアプリケーションをインストールした第１の待機系状態で待機させ、残りの計算機リソースのうちの第２群はサービスの実行のためのアプリケーションがインストールされない第２の待機状態で待機させることを特徴としている。
【０００８】
特開２００１−２０９６２７号公報には、情報処理システムが記載されている（特許文献２）。情報処理システムは、互いに独立に稼働し、少なくとも命令プロセッサおよびメモリセグメントを含むリソースに余裕のある複数のホストシステムからなる。個々のホストシステムは、当該ホストシステムにおける他の構成物とは物理的に独立し、リソースの稼働状態管理テーブルを備えたシステム状態監視変更指示機構を有し、リソースの負荷によって自ホストシステムの能力の自動増強および自動削減を可能にする機能と、必要なら他ホストシステムのリソースを利用した動的な能力増強ができる機能と、を備えたことを特徴としている。
【０００９】
特開２００２−１５００００号公報には、サーバシステムが記載されている（特許文献３）。サーバシステムは、複数の種類のサービス要求に応答して、当該サービス要求に対応するサービスを提供するものである。このサーバシステムは、少なくとも１つのサーバと、少なくとも１つのサーバにおいて各時間帯ごとに提供すべきサービスの割付状態を定める割付手段と、クライアントからのサービス要求を受け付ける受付手段と、割付状態に基づいて、受付手段により受け付けられたサービス要求が現在時刻の属する時間帯において提供すべきサービスに対するものであると判断される場合に、サービス要求についてのサービス提供処理を行うサービス提供モジュールに対してサービス要求を引き渡す引渡手段と、を備えている。割付手段は、各時間帯に応じて、各サービスについての少なくとも１つのサーバに対する割付状態を変更することを特徴としている。
【００１０】
【特許文献１】特開２００５−１４１６０５号公報（請求項１）
【特許文献２】特開２００１−２０９６２７号公報（請求項１）
【特許文献３】特開２００２−１５００００号公報（請求項１）
【発明の開示】
【発明が解決しようとする課題】
【００１１】
本発明の課題は、システム全体の安定化を図りながら、システムを運用することができるリソース過分配防止システムを提供することにある。
【課題を解決するための手段】
【００１２】
以下に、発明を実施するための最良の形態・実施例で使用される符号を括弧付きで用いて、課題を解決するための手段を記載する。この符号は、特許請求の範囲の記載と発明を実施するための最良の形態・実施例の記載との対応を明らかにするために付加されたものであり、特許請求の範囲に記載されている発明の技術的範囲の解釈に用いてはならない。
【００１３】
本発明のリソース過分配防止システムは、サービス提供システム（４０）と、サービス要求をサービス提供システム（４０）に送信する利用者装置（５０）と、リソース分散装置（６０）と、を具備している。
サービス提供システム（４０）は、複数のサーバ（１〜９）と、サービス割り当てファイル（３３）と、負荷分散装置（３０）と、を備えている。
複数のサーバ（１〜９）は、複数のサービス（Ａ、Ｂ、Ｃ）のうちの、サービス要求に応じたサービスのデータを利用者装置（５０）に提供する。
サービス割り当てファイル（３３）には、複数のサービス（Ａ、Ｂ、Ｃ）のうちの、いずれかのサービスと、複数のサーバ（１〜９）のうちの、いずれかのサーバ（１〜３、４〜６、７〜９）と、を割り当てる情報が格納されている。
負荷分散装置（３０）は、サービス割り当てファイル（３３）を参照して、利用者装置（５０）からのサービス要求を、該当するサービスに対応付けられたサーバに送信する。
リソース分散装置（６０）は、移動対象除外ファイル（６３）と、リソース状況監視部（６４）と、再配分部（６５）と、を具備している。
移動対象除外ファイル（６３）には、所定期間変更しないサービスの情報が格納されている。
リソース状況監視部（６４）は、複数のサーバ（１〜９）の各々、又は、前記複数のサービス（Ａ、Ｂ、Ｃ）の各々のリソース状況を表す値を取得し（Ｓ１）（Ｓ１１）、複数のサービス（Ａ、Ｂ、Ｃ）の中から、値が第１設定値（８５％）（８．５）を超える第１サービス（Ａ）を選択する（Ｓ４−ＹＥＳ）（Ｓ１３−ＹＥＳ）。
再配分部（６５）は、移動対象除外ファイル（６３）を参照して、複数のサービス（Ａ、Ｂ、Ｃ）の中から、所定期間変更しないサービス以外で、且つ、第１サービス（Ａ）以外の第２サービス（Ｂ）を選択する（Ｓ５〜Ｓ７）（Ｓ１４〜Ｓ１７）。
再配分部（６５）は、サービス割り当てファイル（３３）を参照して、第２サービス（Ｂ）に割り当てられているサーバ（４〜６）のうちの少なくとも１つのサーバ（４）を、第２サービス（Ｂ）に代えて第１サービス（Ａ）に割り当てる（Ｓ７）（Ｓ１７）。
再配分部（６５）は、第１サービス（Ａ）を所定期間変更しないサービスとする情報を移動対象除外ファイル（６３）に格納する（Ｓ８）（Ｓ１８）。
【発明の効果】
【００１４】
このように、本発明のリソース過分配防止システムでは、もし、特定のサービスにおけるリソースが不足しても、リソース不足から回復したばかりのサービス（所定期間変更しないサービス）からサーバ割り当てが行われることがなくなる。これにより、特定のサービス間でサーバ割り当ての連続実施を防止することができ、システム全体の安定化を図りながら、システムを運用することができる。
【発明を実施するための最良の形態】
【００１５】
以下に添付図面を参照して、本発明の実施形態によるリソース過分配防止システムについて詳細に説明する。
【００１６】
図１は、本発明の実施形態によるリソース過分配防止システムを示している。リソース過分配防止システムは、複数の利用者装置５０と、サービス提供システム４０と、リソース分散装置６０と、を具備している。
【００１７】
複数の利用者装置５０の各々は、公衆回線網（例えばインターネット）を介してサービス提供システム４０に接続される。利用者装置５０は、コンピュータであり、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である実行部５１と、実行部５１に実行させるためのコンピュータプログラムが格納されたメモリである格納部５２と、を備えている。実行部５１は、コンピュータが起動するときなどにコンピュータプログラムを格納部５２から読み取って実行する。実行部５１は、サービスＡ、サービスＢ、サービスＣ等の各サービスのいずれかのサービスをサービス提供システム４０に要求するサービス要求を送信し、そのサービス要求に応じたサービスのデータを受信する。
【００１８】
サービス提供システム４０は、複数のサーバ１〜９と、記憶装置であるＮＡＳ（ネットワーク接続ストレージ；Ｎｅｔｗｏｒｋ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）２０と、負荷分散装置３０と、を備えている。複数のサーバ１〜９とＮＡＳ２０と負荷分散装置３０とリソース分散装置６０は、ネットワーク（例えば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ））に接続されている。負荷分散装置３０は、公衆回線網（インターネット）に接続されている。
【００１９】
ＮＡＳ２０は、複数の記憶領域２１〜２３を有している。複数の記憶領域２１〜２３には、それぞれ、複数のサービスＡ、Ｂ、Ｃに関するデータが格納されている。
【００２０】
複数のサーバ１〜９の各々は、コンピュータであり、ＣＰＵである実行部１３と、実行部１３に実行させるためのコンピュータプログラムが格納されたメモリである格納部１４と、を備えている。実行部１３は、コンピュータが起動するときなどにコンピュータプログラムを格納部１４から読み取って実行する。そのコンピュータプログラムは、サービス提供部１５を含んでいる。サービス提供部１５は、サービス要求に応じたサービスのデータをＮＡＳ２０から取得し、負荷分散装置３０、公衆回線網を介して、サービス要求のあった利用者装置５０に送信する。サーバ１〜９は必ずしも各サービスを提供していない予備サーバを設けてもよい。また、サーバ１〜９は、公衆回線網（インターネット）に接続されていてもよい。また、ＮＡＳ２０は、記憶装置として、サーバ１〜９に内蔵されていてもよい。また、サーバ１〜９のサービス提供部１５は、サービス要求に応じたサービスのデータを、負荷分散装置３０を介さずに、公衆回線網を介して、サービス要求のあった利用者装置５０に送信してもよい。また、サーバ１〜９のサービス提供部１５は、サービス要求に応じた計算を行い、その計算結果をサービスのデータとして、サービス要求のあった利用者装置５０に送信してもよい。この場合、サービス提供部１５はＮＡＳ２０を参照する必要がないため、ＮＡＳ２０が必須の構成要素ではなくなる。
【００２１】
負荷分散装置３０（ロードバランサ等と呼ばれる）は、コンピュータであり、ＣＰＵである実行部３１と、実行部３１に実行させるためのコンピュータプログラムが格納されたメモリである格納部３２と、を備えている。格納部３２は、サービス割り当てファイル３３を備えている。
【００２２】
図２に示されるように、サービス割り当てファイル３３には、複数のサービスＡ、Ｂ、Ｃのうちの、いずれかのサービスと、複数のサーバ１〜９のうちの、いずれかのサーバと、を割り当てる情報が格納されている。上記の情報として、いま、複数のサービスＡ、Ｂ、Ｃのそれぞれに対して、サーバ１〜３、４〜６、７〜９が割り当てられているものとする。
【００２３】
実行部３１は、コンピュータが起動するときなどにコンピュータプログラムを格納部３２から読み取って実行する。そのコンピュータプログラムは、サービス管理部３４を含んでいる。サービス管理部３４は、利用者装置５０からサービス要求を受信した場合、サービス割り当てファイル３３を参照する。このとき、サービス管理部３４は、利用者装置５０からのサービス要求を、該当するサービス（例えばサービスＡ）に対応付けられたサーバ（この場合、サーバ１〜３のいずれか）に送信する。このようにして、複数のサーバ１〜９の負荷を分散する。
【００２４】
リソース分散装置６０は、コンピュータであり、ＣＰＵである実行部６１と、実行部６１に実行させるためのコンピュータプログラムが格納されたメモリである格納部６２と、を備えている。格納部６２は、移動対象除外ファイル６３を備えている。
【００２５】
移動対象除外ファイル６３には、所定期間変更しないサービスの情報が格納されている。この情報は、追加的にサーバを割り当てられたサービスに対して、所定期間だけサーバの割り当て元となることを除外することを表している。本実施形態において、移動対象除外ファイル６３には、所定期間変更しないサービスの情報として、図３に示されるように、複数のサービスＡ、Ｂ、Ｃとカウント値とを対応付ける情報が格納されている。又は、追加的にサーバを割り当てられたサービスの履歴の情報が格納されていてもよい。
【００２６】
実行部６１は、コンピュータが起動するときなどにコンピュータプログラムを格納部６２から読み取って実行する。そのコンピュータプログラムは、リソース状況監視部６４、再配分部６５を含んでいる。リソース状況監視部６４は、複数のサーバ１〜９を監視して、リソース状況を表す値を取得し、再配分部６５は、その値と移動対象除外ファイル６３のカウント値とに基づいて、サービス割り当てファイル３３に対してサーバのサービス割り当てを変更する。この詳細については後述する。
【００２７】
リソース状況を表す値としては、ＣＰＵ利用率、メモリ使用率｛ＳＮＭＰ（Ｓｉｍｐｌｅ  Ｎｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）でリソース分配装置６０がサーバから直接取得｝、サービス要求に対するサーバのレスポンス時間｛ＴＡＴ（Ｔｕｒｎ  Ａｒｏｕｎｄ  Ｔｉｍｅ）を表し、リソース分配装置６０が負荷分散装置３０を介してサーバから取得｝、等が挙げられる。
【００２８】
（第１実施形態）
本発明の第１実施形態によるリソース過分配防止システムでは、上述の実施形態と重複する説明を省略する。
【００２９】
図４は、本発明の第１実施形態によるリソース過分配防止システムにおけるリソース分配装置６０の動作を示すフローチャートである。
【００３０】
リソース状況監視部６４は、複数のサーバ１〜９を一定期間毎に監視して、複数のサーバ１〜９のリソース状況を表す値としてサーバリソース状況値を取得する（ステップＳ１）。サーバリソース状況値としては、上述のＣＰＵ利用率、メモリ使用率等が挙げられる。
【００３１】
リソース状況監視部６４は、複数のサービスＡ、Ｂ、Ｃのそれぞれのリソース状況の値として、サーバ１〜３、４〜６、７〜９におけるサーバリソース状況値の平均値を平均サーバリソース状況値として算出する（ステップＳ２）。ここで、平均値を求めたが、算出される値として、加算値や最も高い値等の他の値を用いても構わない。
【００３２】
このとき、リソース状況監視部６４は、移動対象除外ファイル６３を参照して、複数のサービスＡ、Ｂ、Ｃに対応するカウント値を更新する。この場合、複数のサービスＡ、Ｂ、Ｃに対応するカウント値から１を減算する（ステップＳ３）。
【００３３】
リソース状況監視部６４は、複数のサービスＡ、Ｂ、Ｃの中から、平均サーバリソース状況値が第１設定値を超える第１サービス（例えばサービスＡ）を選択する（ステップＳ４−ＹＥＳ）。
【００３４】
再配分部６５は、複数のサービスＡ、Ｂ、Ｃの中から、第１サービス（サービスＡ）を除き、且つ、平均サーバリソース状況値が第２設定値を下回る候補サービスとして第１候補サービス（例えばサービスＢ、Ｃ）を選択する（ステップＳ５）。第２設定値は、第１設定値よりも低い。ここで、第２設定値は第１設定値よりも低いので、第１サービス（サービスＡ）を除かなくてもよい。
【００３５】
このとき、再配分部６５は、移動対象除外ファイル６３を参照して、第１候補サービス（サービスＢ、Ｃ）の中から、所定期間変更しないサービスとして、カウント値が１以上であるサービスを除外した第２候補サービス（例えばサービスＢ、Ｃ）を選択する（ステップＳ６）。
（また、移動対象除外ファイル６３に、追加的にサーバを割り当てられたサービスの履歴の情報が格納されている場合、（現在日時や現期間と比較し）所定期間内に記録された追加的にサーバを割り当てられたサービスは移動対象外とする。）
【００３６】
再配分部６５は、第２候補サービス（サービスＢ、Ｃ）のうちの少なくとも１つのサービスを第２サービス（例えばサービスＢ）として選択する。ここで、再配分部６５は、第２候補サービス（サービスＢ、Ｃ）の中から、平均サーバリソース状況値が最も低い値であるサービスを第２サービス（サービスＢ）として選択する。このように、複数のサービスＡ、Ｂ、Ｃの中から、所定期間変更しないサービス以外で、且つ、第１サービス（サービスＡ）以外の第２サービス（サービスＢ）が選択される。次に、再配分部６５は、サービス割り当てファイル３３を参照して、第２サービス（サービスＢ）に割り当てられているサーバ（この場合、サーバ４〜６）のうちの少なくとも１つのサーバ（例えばサーバ４とする）を、第２サービス（サービスＢ）に代えて第１サービス（サービスＡ）に割り当てる（ステップＳ７）。
【００３７】
再配分部６５は、第１サービス（サービスＡ）を所定期間変更しないサービスとするために、第１サービス（サービスＡ）と、カウント値として２以上の設定カウント値と、を対応付ける情報を移動対象除外ファイル６３に格納する（ステップＳ８）。
（また、移動対象除外ファイル６３に、追加的にサーバを割り当てられたサービスの履歴の情報が格納されている場合、日時や何期目かの番号に対応付けして追加的にサーバを割り当てられたサービス（何期目かの番号で行う場合は追加的にサーバを割り当てられたサービスがなしの場合もあり）を移動対象除外ファイル６３に記録する。）
【００３８】
第１候補サービスや第２候補サービスが無い場合（ステップＳ５−抽出できるサービスなし）（ステップＳ６−移動対象サービスなし）、再配分部６５は、予備サーバを第１サービス（サービスＡ）に割り当てたり（ステップＳ９）、システム管理者が利用するコンピュータに、アラームを表すアラーム情報をメール等によって通知したりする（ステップＳ１０）。
【００３９】
［実施例］
第１実施形態について、サーバリソース状況値がＣＰＵ利用率である場合を例にして、図５を用いて具体的に説明する。
【００４０】
ここで、上述の第１設定値（以下、逼迫値とする）を８５％とし、第２設定値（以下、余剰値とする）を５５％とする。
また、上述の設定カウント値を３とする。
また、サービス割り当てファイル３３には、複数のサービスＡ、Ｂ、Ｃと、複数のサービスＡ、Ｂ、Ｃの各々のデータを提供するサーバ１〜３、４〜６、７〜９と、を割り当てる情報が格納されている。
また、移動対象除外ファイル６３には、複数のサービスＡ、Ｂ、Ｃと、カウント値として０、０、０と、を対応付ける情報が格納されている。
【００４１】
リソース状況監視部６４は、一定期間毎に、各サーバにリソース状況要求を送信し、各サーバのリソース状況を受信する（ステップＳ１）。
そのサーバ１〜３、４〜６、７〜９におけるＣＰＵ利用率は、それぞれ、９０％、４０％、５０％とする。
【００４２】
リソース状況監視部６４は、リソース状況と負荷分散装置３０のサービス割り当てファイル３３を参照して、各サービス毎に割り当てられたサーバのリソースの平均値を求め、各サービスのリソースの逼迫／余剰状況を求める（ステップＳ２）。
（説明を簡単にするためにリソースをＣＰＵ使用率とし、平均値を求めたが、計算は加算値や最も高い値等の他の値を用いても構わない。また、１回でなく複数回のリソース状況を取得しても構わない。また、各サービスのリソースの逼迫／余剰状況は負荷分散装置３０で求め、リソース分散装置が負荷分散装置３０から各サービスのリソースの逼迫／余剰状況を取得しても構わない。）
【００４３】
リソース状況監視部６４は、移動対象除外ファイル６３におけるカウント値を更新する（ステップＳ３）。
（この処理は、手順のどこでもいいし、どの部が行っても構わない。一定時間毎でも、サーバの割り当て変更があったときでもよい。図５では、移動対象除外ファイル６３の各サービスにおけるカウント値を１減らす。移動対象除外ファイル６３の各サービスの初期値は０とし、０以下にはならないものとする。）
【００４４】
リソース状況監視部６４は、各サービスのリソースの逼迫／余剰状況が、既定の逼迫値を超えているサービスを抽出する（ステップＳ４−ＹＥＳ）。
【００４５】
サービスが抽出されると、再配分部６５が、既定の余剰値を下回るサービスを各サービスのリソースの逼迫／余剰状況から特定する（ステップＳ５）。
（図５では、サービスＡが逼迫値を超えていると抽出され、サービスＢ、サービスＣが余剰値を下回ると抽出される。）
【００４６】
再配分部６５が、移動対象除外ファイル６３を参照し、余剰値を下回ると抽出されたサービスが、移動対象除外になっていないか判定し、移動対象外のサービスを除外する（ステップＳ６）。
（図５では、移動対象除外ファイル６３の各サービスにおけるカウント値が１以上ならそのサービスは移動対象除外。図５では、サービスＢ、サービスＣの各サービス０なので、移動対象。）
（また、移動対象除外ファイル６３に、追加的にサーバを割り当てられたサービスの履歴の情報が格納されている場合、（現在日時や現期間と比較し）所定期間内に記録された追加的にサーバを割り当てられたサービスは移動対象外とする。）
【００４７】
移動対象除外になっていないサービスから、一番低いサービスのリソースの逼迫／余剰状況のサービスを特定する。（図５では、サービスＢ。）
サービス割り当てファイル３３を参照し、一番低いサービスに割り当てられているサーバの中の１つのサーバを、逼迫値を超えているサービスに割り当て変更する（ステップＳ７）。
（図５では、サービスＢに割り当てられたサーバ４、サーバ５、サーバ６の中からサーバ４をサービスＡに負荷分散装置３０のサービス割り当てファイル３３を書き直して変更する。簡単に説明するために、提供サービスを変更するサービスやサーバを１つとしたが、１つでなくて複数のサーバや複数のサービスを変更（例えば、余剰状況の複数サービスから１つずつのサーバの変更も可）する場合がある。設定ファイルでサーバの変更数を設定可。）
【００４８】
サーバが割り当てられたサービスの移動対象除外ファイル６３におけるカウント値を移動対象外にする（ステップＳ８）。
（図５では、サービスＡにおけるカウント値を３にする。つまり、リソース状況を取得する２期間において、サービスＡは移動対象外となる。値の数は任意。）
（また、移動対象除外ファイル６３に、追加的にサーバを割り当てられたサービスの履歴の情報が格納されている場合、日時や何期目かの番号に対応付けして追加的にサーバを割り当てられたサービス（何期目かの番号で行う場合は追加的にサーバを割り当てられたサービスがなしの場合もあり）を移動対象除外ファイル６３に記録する。）
【００４９】
余剰値を下回るサービスや移動対象除外になっていないサービスが無い場合（ステップＳ５−抽出できるサービスなし）（ステップＳ６−移動対象サービスなし）、予備サーバを逼迫サービスに設定したり（ステップＳ９）、システム管理者へアラーム情報をメール等で送信したりする（ステップＳ１０）。
【００５０】
以下、図５を用いて、上述の続きを説明する。
【００５１】
ここで、サービス割り当てファイル３３には、複数のサービスＡ、Ｂ、Ｃと、複数のサービスＡ、Ｂ、Ｃの各々のデータを提供するサーバ１〜４、５〜６、７〜９と、を割り当てる情報が格納されている。
また、移動対象除外ファイル６３には、複数のサービスＡ、Ｂ、Ｃと、カウント値として３、０、０と、を対応付ける情報が格納されている。
【００５２】
一定期間後、リソース分配装置６０は、各サーバのリソース状況を受信し、同様にサービス毎のリソース状況を求める。
そのサーバ１〜４、５〜６、７〜９におけるＣＰＵ利用率は、それぞれ、６８％、６０％、５０％とする。この場合、各サービスのリソースの逼迫／余剰状態が６８％、６０％、５０％と算出される。
移動対象除外ファイル６３の各サービスにおけるカウント値を１引く。
その結果、移動対象除外ファイル６３には、複数のサービスＡ、Ｂ、Ｃと、カウント値として２、０、０と、を対応付ける情報が格納されている。
今回は、逼迫値８５％を超えているサービスがないので、終了。
【００５３】
ここで、サービス割り当てファイル３３には、複数のサービスＡ、Ｂ、Ｃと、複数のサービスＡ、Ｂ、Ｃの各々のデータを提供するサーバ１〜４、５〜６、７〜９と、を割り当てる情報が格納されている。
【００５４】
一定期間後、リソース分配装置６０は、各サーバのリソース状況を受信し、同様にサービス毎のリソース状況を求める。
そのサーバ１〜４、５〜６、７〜９におけるＣＰＵ利用率は、それぞれ、４５％、９０％、５０％とする。この場合、各サービスのリソースの逼迫／余剰状態が４５％、９０％、５０％と算出される。
移動対象除外ファイル６３の各サービスにおけるカウント値を１引く。
その結果、移動対象除外ファイル６３には、複数のサービスＡ、Ｂ、Ｃと、カウント値として１、０、０と、を対応付ける情報が格納されている。
今回は、逼迫値８５％を超えているサービスとして、サービスＢが抽出され、余剰値５５％を下回るサービスとしてサービスＡ、サービスＣが抽出される。移動対象除外ファイル６３を参照し、サービスＡが１以上なので、移動対象外となり除外され、サービスＣが移動対象となる。サービスＣのサーバはサービス割り当てファイル３３を参照するとサーバ７、サーバ８、サーバ９と特定される。サーバ７をサービスＢに割り当てられるようにサービス割り当てファイル３３を変更する。また、移動対象除外ファイル６３のサービスＣにおけるカウント値を３にする。
【００５５】
ここで、サービス割り当てファイル３３には、複数のサービスＡ、Ｂ、Ｃと、複数のサービスＡ、Ｂ、Ｃの各々のデータを提供するサーバ１〜４、５〜７、８〜９と、を割り当てる情報が格納されている。
また、移動対象除外ファイル６３には、複数のサービスＡ、Ｂ、Ｃと、カウント値として１、０、３と、を対応付ける情報が格納されている。
【００５６】
一定期間後、リソース分配装置６０は、各サーバのリソース状況を受信し、同様にサービス毎のリソース状況を求める。
そのサーバ１〜４、５〜７、８〜９におけるＣＰＵ利用率は、それぞれ、４５％、６０％、７５％とする。この場合、各サービスのリソースの逼迫／余剰状態が４５％、６０％、７５％と算出される。
移動対象除外ファイル６３の各サービスにおけるカウント値を１引く。
その結果、移動対象除外ファイル６３には、複数のサービスＡ、Ｂ、Ｃと、カウント値として０、０、２と、を対応付ける情報が格納されている。
今回は、逼迫値８５％を超えているサービスがないので、終了。
【００５７】
［効果］
このように、本発明の第１実施形態によるリソース過分配防止システムでは、もし、特定のサービスにおけるリソースが不足しても、リソース不足から回復したばかりのサービス（所定期間変更しないサービス、即ち、カウント値が正であるサービス）からサーバ割り当てが行われることがなくなる。これにより、特定のサービス間でサーバ割り当ての連続実施を防止することができ、システム全体の安定化を図りながら、システムを運用することができる。
【００５８】
なお、本発明の第１実施形態によるリソース過分配防止システムでは、移動対象除外ファイル６３におけるカウント値をカウントダウンする方法により、特定のサービス間でサーバ割り当ての連続実施を防止しているが、これに限定されない。その変形例として、移動対象除外ファイル６３におけるカウント値をカウントアップする方法でも、特定のサービス間でサーバ割り当ての連続実施を防止することができる。
【００５９】
即ち、ステップＳ３において、リソース状況監視部６４は、移動対象除外ファイル６３を参照して、複数のサービスＡ、Ｂ、Ｃに対応するカウント値を更新する。この場合、複数のサービスＡ、Ｂ、Ｃに対応するカウント値に１を加算する。
ステップＳ６において、再配分部６５は、移動対象除外ファイル６３を参照して、第１候補サービス（サービスＢ、Ｃ）の中から、所定期間変更しないサービスとして、カウント値が上記の設定カウント値“３”に満たないサービスを除外した第２候補サービス（例えばサービスＢ、Ｃ）を選択する。
ステップＳ８において、再配分部６５は、第１サービス（サービスＡ）を所定期間変更しないサービスとするために、第１サービス（サービスＡ）と、カウント値として０と、を対応付ける情報を移動対象除外ファイル６３に格納する。
【００６０】
（第２実施形態）
本発明の第２実施形態によるリソース過分配防止システムでは、上述の実施形態と重複する説明を省略する。
【００６１】
図６は、本発明の第２実施形態によるリソース過分配防止システムにおけるリソース分配装置６０の動作を示すフローチャートである。
【００６２】
リソース状況監視部６４は、複数のサービスＡ、Ｂ、Ｃを一定期間毎に監視して、複数のサービスＡ、Ｂ、Ｃのリソース状況を表す値としてサービスリソース状況値を取得する（ステップＳ１１）。サービスリソース状況値としては、上述のＴＡＴが挙げられる。
【００６３】
このとき、リソース状況監視部６４は、移動対象除外ファイル６３を参照して、複数のサービスＡ、Ｂ、Ｃに対応するカウント値を更新する。この場合、複数のサービスＡ、Ｂ、Ｃに対応するカウント値から１を減算する（ステップＳ１２）。
【００６４】
リソース状況監視部６４は、複数のサービスＡ、Ｂ、Ｃの中から、サービスリソース状況値が第１設定値を超える第１サービス（例えばサービスＡ）を選択する（ステップＳ１３−ＹＥＳ）。
【００６５】
再配分部６５は、複数のサービスＡ、Ｂ、Ｃの中から、第１サービス（サービスＡ）を除き、且つ、サービスリソース状況値が第２設定値を下回る候補サービスとして第１候補サービス（例えばサービスＢ、Ｃ）を選択する（ステップＳ１４）。第２設定値は、第１設定値よりも低い。ここで、第２設定値は第１設定値よりも低いので、第１サービス（サービスＡ）を除かなくてもよい。
【００６６】
このとき、再配分部６５は、移動対象除外ファイル６３を参照して、第１候補サービス（サービスＢ、Ｃ）の中から、所定期間変更しないサービスとして、カウント値が１以上であるサービスを除外した第２候補サービス（例えばサービスＢ、Ｃ）を選択する（ステップＳ１５）。
（また、移動対象除外ファイル６３に、追加的にサーバを割り当てられたサービスの履歴の情報が格納されている場合、（現在日時や現期間と比較し）所定期間内に記録された追加的にサーバを割り当てられたサービスは移動対象外とする。）
【００６７】
再配分部６５は、複数のサーバ１〜９を一定期間毎に監視して、複数のサーバ１〜９のリソースを表すサーバリソース状況値を取得する（ステップＳ１６）。又は、再配分部６５は、複数のサーバ１〜９にリソース状況要求を出し、サーバ１〜９のリソース状況を受信することにより、サーバリソース状況値を取得してもよい。
【００６８】
再配分部６５は、第２候補サービス（サービスＢ、Ｃ）のうちの少なくとも１つのサービスを第２サービス（例えばサービスＢ）として選択する。ここで、再配分部６５は、第２候補サービス（サービスＢ、Ｃ）の中から、サーバリソース状況値が最も低い値である第２サービス（サービスＢ）を選択する。このように、複数のサービスＡ、Ｂ、Ｃの中から、所定期間変更しないサービス以外で、且つ、第１サービス（サービスＡ）以外の第２サービス（サービスＢ）が選択される。次に、再配分部６５は、サービス割り当てファイル３３を参照して、第２サービス（サービスＢ）に割り当てられているサーバ（この場合、サーバ４〜６）のうちの少なくとも１つのサーバ（例えばサーバ４とする）を、第２サービス（サービスＢ）に代えて第１サービス（サービスＡ）に割り当てる（ステップＳ１７）。
【００６９】
ここで、ステップＳ１７において、第２サービス（サービスＢ）の選択について詳細に説明する。まず、再配分部６５は、第２候補サービス（サービスＢ、Ｃ）に割り当てられているサーバ４〜６、７〜９の中から、サーバリソース状況値が第３設定値以下である余剰サーバを選択する。次に、第２候補サービス（サービスＢ、Ｃ）の中から、余剰サーバの数が最も多いサービスを第２サービス（サービスＢ）として選択する。
【００７０】
また、第２サービス（サービスＢ）の選択について他の方法について詳細に説明する。再配分部６５は、第２候補サービス（サービスＢ、Ｃ）に割り当てられているサーバ４〜６、７〜９におけるサーバリソース状況値の平均値を平均サーバリソース状況値として算出する。ここで、平均値を求めたが、算出される値として、加算値や最も高い値等の他の値を用いても構わない。次に、第２候補サービス（サービスＢ、Ｃ）の中から、平均サーバリソース状況値が最も低いサービスを第２サービス（サービスＢ）として選択する。
【００７１】
再配分部６５は、第１サービス（サービスＡ）を所定期間変更しないサービスとするために、第１サービス（サービスＡ）と、カウント値として２以上の設定カウント値と、を対応付ける情報を移動対象除外ファイル６３に格納する（ステップＳ１８）。
（また、移動対象除外ファイル６３に、追加的にサーバを割り当てられたサービスの履歴の情報が格納されている場合、日時や何期目かの番号に対応付けして追加的にサーバを割り当てられたサービス（何期目かの番号で行う場合は追加的にサーバを割り当てられたサービスがなしの場合もあり）を移動対象除外ファイル６３に記録する。）
【００７２】
第１候補サービスや第２候補サービスが無い場合（ステップＳ１４−抽出できるサービスなし）（ステップＳ１５−移動対象サービスなし）、再配分部６５は、予備サーバを第１サービス（サービスＡ）に割り当てたり（ステップＳ１９）、システム管理者が利用するコンピュータに、アラームを表すアラーム情報をメール等によって通知したりする（ステップＳ２０）。
【００７３】
［実施例］
第２実施形態について、サービスリソース状況値がＴＡＴである場合を例にして、図７を用いて具体的に説明する。図７では説明の簡単化のため、ＴＡＴ（単位は秒やミリ秒）の値を１〜１０で表現することものとする。
【００７４】
ここで、上述の第１設定値（以下、逼迫値とする）を８．５とし、第２設定値（以下、余剰値とする）を５．５とする。
また、上述の設定カウント値を３とする。
また、サービス割り当てファイル３３には、複数のサービスＡ、Ｂ、Ｃと、複数のサービスＡ、Ｂ、Ｃの各々のデータを提供するサーバ１〜３、４〜６、７〜９と、を割り当てる情報が格納されている。
また、移動対象除外ファイル６３には、複数のサービスＡ、Ｂ、Ｃと、カウント値として０、０、０と、を対応付ける情報が格納されている。
また、サーバリソース状況値はＣＰＵ利用率であるものとする。
また、上述の第３設定値（以下、第２の余剰値とする）を５０％とする。
【００７５】
リソース状況監視部６４は、一定期間毎に負荷分散装置３０を介して、各サービスＡ、Ｂ、Ｃのサービス要求を送信し、レスポンスを受信し、各サービスのリソース状況（ＴＡＴ）を取得（計測）する（ステップＳ１１）。
そのサービスＡ、Ｂ、ＣにおけるＴＡＴは、それぞれ９．０、４．０、５．０とする。
ここで、リソース状況は数回取得して平均値を求めるなどすることにより、より精度よくリソース状況を把握できる。
（ＴＡＴは実際に利用者装置５０からのサービス要求と同様の影響をみるため、負荷分散装置３０を介す。ＴＡＴの場合は、各サーバでなく、直にサービスのリソース状況が把握できる。ＣＰＵやメモリ等使用率は瞬間値で取っているので利用者への影響を性格に把握することが難しい。）
【００７６】
リソース状況監視部６４は、移動対象除外ファイル６３におけるカウント値を更新する（ステップＳ１２）。
（この処理は、手順のどこでもいいし、どの部が行っても構わない。一定時間毎でも、サーバの割り当て変更があったときでもよい。図７では、移動対象除外ファイル６３の各サービスにおけるカウント値を１減らす。移動対象除外ファイル６３の各サービスの初期値は０とし、０以下にはならないものとする。）
【００７７】
リソース状況監視部６４は、各サービスのリソースの逼迫／余剰状況が、既定の逼迫値を超えているサービスを抽出する（ステップＳ１３−ＹＥＳ）。
【００７８】
サービスが抽出されると、再配分部６５が、既定の余剰値を下回るサービスを各サービスのリソース状況から特定する（ステップＳ１４）。
（図７では、サービスＡが逼迫値を超えていると抽出され、サービスＢ、サービスＣが余剰値を下回ると抽出される。）
【００７９】
再配分部６５が、移動対象除外ファイル６３を参照し、余剰値を下回ると抽出されたサービスが、移動対象除外になっていないか判定し、移動対象外のサービスを除外する（ステップＳ１５）。
（図７では、移動対象除外ファイル６３の各サービスにおけるカウント値が１以上ならそのサービスは移動対象除外。図７では、サービスＢ、サービスＣの各サービス０なので、移動対象。）
（また、移動対象除外ファイル６３に、追加的にサーバを割り当てられたサービスの履歴の情報が格納されている場合、（現在日時や現期間と比較し）所定期間内に記録された追加的にサーバを割り当てられたサービスは移動対象外とする。）
【００８０】
全サーバ（余剰値を下回るサービス、且つ移動対象のサービスのサーバだけでもよい）にリソース状況要求を出し、各サーバのリソース状況を受信する。ここでのリソース状況は先にサービスのリソース状況とは異なったリソース状況にしているが同じでもよい。（ここでは、ＣＰＵ利用率。）
サーバ１、２、３、４、５、６、７、８、９におけるＣＰＵ利用率は、それぞれ、９０％、８７％、８９％、３８％、４１％、３９％、５１％、５１％、４９％とする。
サービスの第２のリソース状況の値を、例えば、リソースが余っているサーバの割合が一番多いサービスのように、サーバのリソース状況とサービス割り当てファイル３３、第２の余剰値（ここでは５０％）を用いて算出する。余剰値を下回る各サービス且つ移動対象のサービスの候補（図７ではサービスＢ、サービスＣ）の中で、サービスの第２のリソース状況を比較してサーバ割り当て元サービスとする（ステップＳ１６）。
（図７では、の第２のリソース状況の値は、サービスＢに属するサーバ４、サーバ５、サーバ６の各サーバのリソース状況の値が第２の余剰値５０％以下のサーバ数として、３を算出し、同様に、サービスＣに属すサーバ７、サーバ８、サーバ９のリソース状況の値が第２の余剰値５０％以下のサーバ数として、サービスＣの第２のリソース状況の値を１と算出する。この場合、サーバ割り当て元サービスは、サービスＣの第２のリソース状況の値（余剰サーバ数）が一番高い数値のサービスＢとなる。なお、サービスの第２のリソース状況の値は各サービスに割り当てられたサーバのＣＰＵ利用率の平均値にし、一番低いサービスの第２のリソース状況の値のサービスをサーバ割り当て元サービスとしても構わない。）
【００８１】
余剰値を下回る各サービス且つ移動対象のサービスの候補以外のサーバ（図７ではサービスＡ）のサービスの第２のリソース状況は、割り当て元のサーバ数が複数の場合や逼迫値を上回り逼迫しているサービスが複数ある場合に、どのサービスにサーバを何台割り当てるかを算出する際に用いる。
（例えば、図８では、逼迫しているサービスがサービスＡとサービスＤの２つあり、第２の逼迫値：９０％を上回るサーバがサービスＡ：２台とサービスＤ：１台あるので、割り当て元のサーバ台数は３台必要なことになり、サービスＡとサービスＤに２：１の割合でサーバを割り当てることになる。）
【００８２】
サーバ割り当て元サービスに割り当てられているサーバをサービス割り当てファイル３３を参照し、その中の１つのサーバを、逼迫値を超えているサービスに割り当て変更する（ステップＳ１７）。
（図７では、サービスＢに割り当てられたサーバ４、サーバ５、サーバ６の中からサーバ４をサービスＡに負荷分散装置３０のサービス割り当てファイル３３を書き直して変更する。簡単に説明するために、提供サービスを変更するサービスを１つとしたが、１つでなくて複数のサーバを変更（余剰状況の複数サービスから１つずつのサーバの変更も可）する場合がある。設定ファイルでサーバの変更数を設定可。）
【００８３】
サーバが割り当てられたサービスの移動対象除外ファイル６３におけるカウント値を移動対象外にする（ステップＳ１８）。
（図７では、サービスＡにおけるカウント値を３にする。つまり、リソース状況を取得する２期間はサービスＡは移動対象外となる。値の数は任意。）
（また、移動対象除外ファイル６３に、追加的にサーバを割り当てられたサービスの履歴の情報が格納されている場合、日時や何期目かの番号に対応付けして追加的にサーバを割り当てられたサービス（何期目かの番号で行う場合は追加的にサーバを割り当てられたサービスがなしの場合もあり）を移動対象除外ファイル６３に記録する。）
【００８４】
余剰値を下回るサービスや移動対象除外になっていないサービスが無い場合（ステップＳ１４−抽出できるサービスなし）（ステップＳ１５−移動対象サービスなし）、予備サーバを逼迫サービスに設定したり（ステップＳ１９）、アラーム部がシステム管理者へアラーム情報をメール等で送信したりする（ステップＳ２０）。
【００８５】
以下、図７を用いて、上述の続きを説明する。
【００８６】
ここで、サービス割り当てファイル３３には、複数のサービスＡ、Ｂ、Ｃと、複数のサービスＡ、Ｂ、Ｃの各々のデータを提供するサーバ１〜４、５〜６、７〜９と、を割り当てる情報が格納されている。
また、移動対象除外ファイル６３には、複数のサービスＡ、Ｂ、Ｃと、カウント値として３、０、０と、を対応付ける情報が格納されている。
【００８７】
この場合、一定期間後、リソース分配装置６０は、各サービスのＴＡＴを複数受信し、同様に平均してサービス毎のリソース状況を求める。
そのサービスＡ、Ｂ、ＣにおけるＴＡＴは、それぞれ、６．８、６．０、５．０とする。
移動対象除外ファイル６３の各サービスにおけるカウント値を１引く。
その結果、移動対象除外ファイル６３には、複数のサービスＡ、Ｂ、Ｃと、カウント値として２、０、０と、を対応付ける情報が格納されている。
今回は、逼迫値８．５を超えているサービスがないので、終了。
【００８８】
ここで、サービス割り当てファイル３３には、複数のサービスＡ、Ｂ、Ｃと、複数のサービスＡ、Ｂ、Ｃの各々のデータを提供するサーバ１〜４、５〜６、７〜９と、を割り当てる情報が格納されている。
【００８９】
この場合、一定期間後、リソース分配装置６０は、各サービスのＴＡＴを複数受信し、同様に平均してサービス毎のリソース状況を求める。
そのサービスＡ、Ｂ、ＣにおけるＴＡＴは、それぞれ、４．５、９．０、５．０とする。
移動対象除外ファイル６３の各サービスにおけるカウント値を１引く。
その結果、移動対象除外ファイル６３には、複数のサービスＡ、Ｂ、Ｃと、カウント値として１、０、０と、を対応付ける情報が格納されている。
今回は、逼迫値８．５を超えているサービスとして、サービスＢが抽出され、余剰値５．５を下回るサービスとしてサービスＡ、サービスＣが抽出される。移動対象除外ファイル６３を参照し、サービスＡが１以上なので、移動対象外となり除外され、サービスＣが移動対象となる。
【００９０】
ここで、各サーバのリソース状況を受信すると、サーバ１、２、３、４、５、６、７、８、９におけるＣＰＵ利用率は、それぞれ、４４％、４５％、４６％、４５％、９１％、９２％、４８％、５０％、４９％となるが、いま、余剰値を下回る各サービス且つ移動対象のサービスの候補が今回は１つしかないので、サービスの第２のリソース状況の値の計算を省略し、サービスＣがサーバ割り当て元サービスとなる。
リソース分配装置６０は、サービスＣのサーバはサービス割り当てファイル３３を参照するとサーバ７、サーバ８、サーバ９と特定される。そのうちのいずれかのサーバであるサーバ７をサービスＢに割り当てられるようにサービス割り当てファイル３３を変更する。また、移動対象除外ファイル６３のサービスＣにおけるカウント値を３にする。
【００９１】
ここで、サービス割り当てファイル３３には、複数のサービスＡ、Ｂ、Ｃと、複数のサービスＡ、Ｂ、Ｃの各々のデータを提供するサーバ１〜４、５〜７、８〜９と、を割り当てる情報が格納されている。
また、移動対象除外ファイル６３には、複数のサービスＡ、Ｂ、Ｃと、カウント値として１、０、３と、を対応付ける情報が格納されている。
【００９２】
この場合、一定期間後、リソース分配装置６０は、各サービスのＴＡＴを複数受信し、同様に平均してサービス毎のリソース状況を求める。
そのサービスＡ、Ｂ、ＣにおけるＴＡＴは、それぞれ、４．５、６．０、７．５とする。
移動対象除外ファイル６３の各サービスにおけるカウント値を１引く。
その結果、移動対象除外ファイル６３には、複数のサービスＡ、Ｂ、Ｃと、カウント値として０、０、２と、を対応付ける情報が格納されている。
今回は、逼迫値８．５を超えているサービスがないので、終了。
【００９３】
［効果］
このように、本発明の第２実施形態によるリソース過分配防止システムでは、もし、特定のサービスにおけるリソースが不足しても、リソース不足から回復したばかりのサービス（所定期間変更しないサービス、即ち、カウント値が正であるサービス）からサーバ割り当てが行われることがなくなる。これにより、特定のサービス間でサーバ割り当ての連続実施を防止することができ、システム全体の安定化を図りながら、システムを運用することができる。
【００９４】
なお、本発明の第２実施形態によるリソース過分配防止システムでは、移動対象除外ファイル６３におけるカウント値をカウントダウンする方法により、特定のサービス間でサーバ割り当ての連続実施を防止しているが、これに限定されない。その変形例として、移動対象除外ファイル６３におけるカウント値をカウントアップする方法でも、特定のサービス間でサーバ割り当ての連続実施を防止することができる。
【００９５】
即ち、ステップＳ１２において、リソース状況監視部６４は、移動対象除外ファイル６３を参照して、複数のサービスＡ、Ｂ、Ｃに対応するカウント値を更新する。この場合、複数のサービスＡ、Ｂ、Ｃに対応するカウント値に１を加算する。
ステップＳ１５において、再配分部６５は、移動対象除外ファイル６３を参照して、第１候補サービス（サービスＢ、Ｃ）の中から、カウント値が上記の設定カウント値“３”に満たないサービスを除外した第２候補サービス（例えばサービスＢ、Ｃ）を選択する。
ステップＳ１８において、再配分部６５は、第１サービス（サービスＡ）と、カウント値として０と、を対応付ける情報を移動対象除外ファイル６３に格納する。
【図面の簡単な説明】
【００９６】
【図１】図１は、本発明の実施形態によるリソース過分配防止システムを示している。
【図２】図２は、サービス割り当てファイル３３を示している。
【図３】図３は、移動対象除外ファイル６３を示している。
【図４】図４は、本発明の第１実施形態によるリソース過分配防止システムにおけるリソース分配装置６０の動作を示すフローチャートである。
【図５】図５は、本発明の第１実施形態によるリソース過分配防止システムにおけるリソース分配装置６０の動作を説明するための図である。
【図６】図６は、本発明の第２実施形態によるリソース過分配防止システムにおけるリソース分配装置６０の動作を示すフローチャートである。
【図７】図７は、本発明の第２実施形態によるリソース過分配防止システムにおけるリソース分配装置６０の動作を説明するための図である。
【図８】図８は、本発明の第２実施形態によるリソース過分配防止システムにおけるリソース分配装置６０の動作を説明するための図である。
【符号の説明】
【００９７】
１〜９    サーバ、
１０〜１２    サーバ（構成図なし）、
１３    実行部、
１４    格納部、
１５    サービス提供部、
２０    ＮＡＳ、
２１〜２３    記憶領域、
３０    負荷分散装置、
３１    実行部、
３２    格納部、
３３    サービス割り当てファイル、
３４    サービス管理部、
４０    サービス提供システム、
５０    利用者装置、
５１    実行部、
５２    格納部、
６０    リソース分配装置、
６１    実行部、
６２    格納部、
６３    移動対象除外ファイル、
６４    リソース状況監視部、
６５    再配分部、
【図１】
0004743904.tif 000002
【図２】
0004743904.tif 000003
【図３】
0004743904.tif 000004
【図４】
0004743904.tif 000005
【図５】
0004743904.tif 000006
【図６】
0004743904.tif 000007
【図７】
0004743904.tif 000008
【図８】
0004743904.tif 000009