(57)【要約】      （修正有）【課題】分散オブジェクトシステムにおいて、リソースを無駄に消費することなく、適切に負荷分散を実現することができる、実行多重度制御システムを提供する。【解決手段】分散オブジェクトシステムにサービス要求を１種類ずつ入力した場合におけるサービスオブジェクトの負荷分布を計測し、前記負荷分布に基づいてサービスオブジェクトの実行多重度を前記サービスオブジェクトごとに変化させた場合における効果指標を算出し、実際に入力されるサービス要求の数をサービス要求の種類ごとに計測して要求分布を求め、前記効果指標と前記要求分布とに基づいてサービスオブジェクトの実行多重度を変化させた場合における効果指標を算出して記憶し、算出した効果指標の大きいものから順に実行多重度の制御方法を適用していくことによりサービスオブジェクトの実行多重度を制御するようにする。【選択図】    図１Ａ
2005202894.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵがプログラムを実行することにより実現されるオブジェクトである複数のサービスオブジェクトによって構成される分散オブジェクトシステムにおける、前記サービスオブジェクトの実行多重度を動的に制御する実行多重度制御システムであって、
少なくとも１台以上のコンピュータと、
前記コンピュータがプログラムを実行することにより実現される、
前記分散オブジェクトシステムにサービス要求を１種類ずつ入力した場合における前記分散オブジェクトシステムを構成している各サービスオブジェクトの負荷を計測し、計測した前記負荷に基づいて前記分散オブジェクトシステムを構成している前記サービスオブジェクトの負荷分布を求めて記憶する負荷情報取得部と、
前記負荷分布に基づいて、前記サービスオブジェクトの実行多重度を前記サービスオブジェクトごとに変化させた場合における前記分散オブジェクトシステムの処理効率の改善効果を示す指標である効果指標を算出して記憶する効果指標算出部と、
前記分散オブジェクトシステムに入力されるサービス要求の数を前記サービス要求の種類ごとに計測し、計測した前記サービス要求の数に基づいて前記各サービス要求の数の分布である要求分布を求め、求めた前記要求分布を記憶する要求情報取得部と、
前記効果指標と前記要求分布とに基づいて、前記サービスオブジェクトの実行多重度を変化させた場合における、前記分散オブジェクトシステムの処理効率の改善効果を示す指標である全体効果指標を算出して記憶する全体効果指標算出部と、
算出された前記全体効果指標の大きいものから順に前記実行多重度の制御方法を適用していくことにより前記分散オブジェクトシステムにおける前記サービスオブジェクトの実行多重度を制御する実行多重度制御部と、
を備えることを特徴とする実行多重度制御システム。
【請求項２】
ＣＰＵがプログラムを実行することにより実現されるオブジェクトである複数のサービスオブジェクトによって構成される分散オブジェクトシステムにおける、前記サービスオブジェクトの実行多重度を動的に制御する実行多重度制御システムであって、
少なくとも１台以上のコンピュータと、
前記コンピュータがプログラムを実行することにより実現される、
前記分散オブジェクトシステムを構成している各サービスオブジェクトの負荷を計測し、計測した前記負荷に基づいて前記分散オブジェクトシステムを構成している前記サービスオブジェクトの負荷分布を求め、求めた前記負荷分布を累積的に記憶する負荷情報取得部と、
前記分散オブジェクトシステムに入力されるサービス要求の数を前記サービス要求の種類ごとに計測し、計測した前記サービス要求の数に基づいて、前記各サービス要求の数の分布である要求分布を求め、求めた前記要求分布を前記計測時における前記サービスオブジェクトの実行状態に対応づけて累積的に記憶する要求情報取得部と、
最新に取得した要求分布に類似する分布を前記要求情報取得部が記憶している前記要求分布の中から抽出し、抽出した前記要求分布に対応づけて記憶されている前記サービスオブジェクトと最新の前記サービスオブジェクトとの間の実行多重度の制御状態及び負荷分布の差分を求める差分取得部と、
前記実行多重度の制御状態の差分と前記負荷分布の差分とに基づいて、前記サービスオブジェクトの実行多重度を変化させた場合における、前記分散オブジェクトシステムの処理効率の改善効果を示す指標である全体効果指標を算出して記憶する全体効果指標算出部と、
算出した前記全体効果指標の大きいものから順に前記実行多重度の制御方法を適用していくことにより前記分散オブジェクトシステムにおける前記サービスオブジェクトの実行多重度を制御する実行多重度制御部と、
を備えることを特徴とする実行多重度制御システム。
【請求項３】
請求項１または２に記載の実行多重度制御システムであって、
前記実行多重度制御部は、前記分散オブジェクトシステムが前記各サービスオブジェクトを実行するために利用可能なリソースの量を記憶しており、
前記実行多重度制御部は、前記各サービスオブジェクトの実行多重度が前記利用可能なリソースの量に応じて定まる上限値を超えない範囲で前記実行多重度を変化させること、
を特徴とする実行多重度制御システム。
【請求項４】
請求項３に記載の実行多重度制御システムであって、
前記リソースの量は、前記分散オブジェクトシステムを実現するために利用可能な情報処理装置の台数であること、
を特徴とする実行多重度制御システム。
【請求項５】
請求項１または２に記載の実行多重度制御システムであって、
前記分散オブジェクトシステムは、前記サービスオブジェクトの識別情報とそのサービスオブジェクトを実現するためのプログラムが格納されている位置を示す位置情報との対応づけを記憶し、サービスオブジェクトから送信されてくる問い合わせ要求に応じて、前記問い合わせ要求に付帯して送信されてくる識別情報に対応づけて記憶している前記位置情報を前記サービスオブジェクトに対して応答するオブジェクトであるネーミングサービスを有し、
前記ネーミングサービスは、前記識別情報の一つについて複数の前記位置情報を記憶し、同じ前記識別情報が付帯する２つ以上の異なる前記問い合わせ要求について、前記各問い合わせ要求に応じて前記サービスオブジェクトに対して応答する前記位置情報を変化させることにより前記サービスオブジェクトの処理を多重化し、
前記実行多重度制御部は、前記ネーミングサービスが前記識別情報に対応づけて記憶している前記位置情報の数を変化させることにより前記多重度を変化させること、
を特徴とする実行多重度制御システム。
【請求項６】
請求項１または２に記載の実行多重度制御システムであって、
前記要求情報取得部は、時間帯ごとの前記要求分布を累積的に記憶し、
前記全体効果指標算出部は、現在時刻以降の時間帯の過去の前要求記分布に基づいて、未来の時間帯における前記全体効果指標を算出すること、
を特徴とする実行多重度制御システム。
【請求項７】
請求項１または２に記載の実行多重度制御システムであって、
前記要求情報取得部は、ユーザインタフェースから前記要求分布を受け付けること、
を特徴とする実行多重度制御システム。
【請求項８】
請求項１または２に記載の実行多重度制御システムであって、
前記分散オブジェクトシステムはＷｅｂ３階層システムであり、
前記サービスオブジェクトは、前記Ｗｅｂ３階層システムにおける各階層に対応する機能を実現するオブジェクトであること、
を特徴とする実行多重度制御システム。
【請求項９】
ＣＰＵがプログラムを実行することにより実現されるオブジェクトである複数のサービスオブジェクトによって構成される分散オブジェクトシステムにおける、前記サービスオブジェクトの実行多重度を動的に制御する実行多重度制御システムの制御方法であって、
少なくとも１台以上のコンピュータに、
前記分散オブジェクトシステムにサービス要求を１種類ずつ入力した場合における前記分散オブジェクトシステムを構成している各サービスオブジェクトの負荷を計測し、計測した前記負荷に基づいて前記分散オブジェクトシステムを構成している前記サービスオブジェクトの負荷分布を求めて記憶させ、
前記負荷分布に基づいて、前記サービスオブジェクトの実行多重度を前記サービスオブジェクトごとに変化させた場合における前記分散オブジェクトシステムの処理効率の改善効果を示す指標である効果指標を算出して記憶させ、
前記分散オブジェクトシステムに入力されるサービス要求の数を前記サービス要求の種類ごとに計測し、計測した前記サービス要求の数に基づいて前記各サービス要求の数の分布である要求分布を求め、求めた前記要求分布を記憶させ、
前記効果指標と前記要求分布とに基づいて、前記サービスオブジェクトの実行多重度を変化させた場合における、前記分散オブジェクトシステムの全体としての処理効率の改善効果を示す指標である全体効果指標を算出して記憶させ、
算出された前記全体効果指標の大きいものから順に前記実行多重度の制御方法を適用していくことにより前記分散オブジェクトシステムにおける前記サービスオブジェクトの実行多重度を制御させること、
を備えることを特徴とする実行多重度制御システムの制御方法。
【請求項１０】
ＣＰＵがプログラムを実行することにより実現されるオブジェクトである複数のサービスオブジェクトによって構成される分散オブジェクトシステムにおける、前記サービスオブジェクトの実行多重度を動的に制御する実行多重度制御システムの制御方法であって、
少なくとも１台以上のコンピュータに、
前記分散オブジェクトシステムを構成している各サービスオブジェクトの負荷を計測し、計測した前記負荷に基づいて前記分散オブジェクトシステムを構成している前記サービスオブジェクトの負荷分布を求め、求めた前記負荷分布を累積的に記憶させ、
前記分散オブジェクトシステムに入力されるサービス要求の数を前記サービス要求の種類ごとに計測し、計測した前記サービス要求の数に基づいて、前記各サービス要求の数の分布である要求分布を求め、求めた前記要求分布を前記計測時における前記サービスオブジェクトの実行状態に対応づけて累積的に記憶させ、
最新に取得した要求分布に類似する分布を前記要求情報取得部が記憶している前記要求分布の中から抽出し、抽出した前記要求分布に対応づけて記憶されている前記サービスオブジェクトと最新の前記サービスオブジェクトとの間の実行多重度の制御状態及び負荷分布の差分を求めさせ、
前記実行多重度の制御状態の差分と前記負荷分布の差分とに基づいて、前記サービスオブジェクトの実行多重度を変化させた場合における、前記分散オブジェクトシステムの全体としての処理効率の改善効果を示す指標である全体効果指標を算出して記憶させ、
算出した前記全体効果指標の大きいものから順に前記実行多重度の制御方法を適用していくことにより前記分散オブジェクトシステムにおける前記サービスオブジェクトの実行多重度を制御させること、
を備えることを特徴とする実行多重度制御システムの制御方法。
【請求項１１】
ＣＰＵがプログラムを実行することにより実現されるオブジェクトである複数のサービスオブジェクトによって構成される分散オブジェクトシステムにおける、前記サービスオブジェクトの実行多重度を動的に制御する実行多重度制御システムを実現するためのプログラムであって、
少なくとも１台以上のコンピュータに、
前記分散オブジェクトシステムにサービス要求を１種類ずつ入力した場合における前記分散オブジェクトシステムを構成している各サービスオブジェクトの負荷を計測し、計測した前記負荷に基づいて前記分散オブジェクトシステムを構成している前記サービスオブジェクトの負荷分布を求めて記憶する機能と、
前記負荷分布に基づいて、前記サービスオブジェクトの実行多重度を前記サービスオブジェクトごとに変化させた場合における前記分散オブジェクトシステムの処理効率の改善効果を示す指標である効果指標を算出して記憶する機能と、
前記分散オブジェクトシステムに入力されるサービス要求の数を前記サービス要求の種類ごとに計測し、計測した前記サービス要求の数に基づいて前記各サービス要求の数の分布である要求分布を求め、求めた前記要求分布を記憶する機能と、
前記効果指標と前記要求分布とに基づいて、前記サービスオブジェクトの実行多重度を変化させた場合における、前記分散オブジェクトシステムの全体としての処理効率の改善効果を示す指標である全体効果指標を算出して記憶する機能と、
算出された前記全体効果指標の大きいものから順に前記実行多重度の制御方法を適用していくことにより前記分散オブジェクトシステムにおける前記サービスオブジェクトの実行多重度を制御する機能と、
を実現するためのプログラム。
【請求項１２】
ＣＰＵがプログラムを実行することにより実現されるオブジェクトである複数のサービスオブジェクトによって構成される分散オブジェクトシステムにおける、前記サービスオブジェクトの実行多重度の動的に制御する実行多重度制御システムを実現するためのプログラムであって、
少なくとも１台以上のコンピュータに、
前記分散オブジェクトシステムを構成している各サービスオブジェクトの負荷を計測し、計測した前記負荷に基づいて前記分散オブジェクトシステムを構成している前記サービスオブジェクトの負荷分布を求め、求めた前記負荷分布を累積的に記憶する機能と、
前記分散オブジェクトシステムに入力されるサービス要求の数を前記サービス要求の種類ごとに計測し、計測した前記サービス要求の数に基づいて、前記各サービス要求の数の分布である要求分布を求め、求めた前記要求分布を前記計測時における前記サービスオブジェクトの実行状態に対応づけて累積的に記憶する機能と、
最新に取得した要求分布に類似する分布を前記要求情報取得部が記憶している前記要求分布の中から抽出し、抽出した前記要求分布に対応づけて記憶されている前記サービスオブジェクトと最新の前記サービスオブジェクトとの間の実行多重度の制御状態及び負荷分布の差分を求める機能と、
前記実行多重度の制御状態の差分と前記負荷分布の差分とに基づいて、前記サービスオブジェクトの実行多重度を変化させた場合における、前記分散オブジェクトシステムの全体としての処理効率の改善効果を示す指標である全体効果指標を算出して記憶する機能と、
算出した前記全体効果指標の大きいものから順に前記実行多重度の制御方法を適用していくことにより前記分散オブジェクトシステムにおける前記サービスオブジェクトの実行多重度を制御する機能と、
を実現するためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のサービスオブジェクトによって実現される分散オブジェクトシステムにおける、前記サービスオブジェクトの実行多重度を動的に制御する実行多重度制御システムに関する。
【背景技術】
【０００２】
近年、インターネットやイントラネット等のネットワークを利用したシステムが急激に普及している。これに伴い、これらのシステムを構成している情報処理装置への負荷が増大している。このため、企業におけるシステムセンターやデータセンタ等においては、複数のリソース（資源）に負荷を分散することによりサービスの応答速度を向上させることが求められている。また低コストかつ限られたハードウエア資源及びソフトウエア資源の範囲内で負荷バランスの最適化を実現しつつ、資源の利用効率を高める仕組みが求められている。
【０００３】
そのような負荷分散を行う技術として、例えば特許文献１には複数のサーバマシンに同じの処理を行うオブジェクトを配置してクライアントからの処理要求を振り分ける技術が開示されている。特許文献１に記載の技術では、クライアントからのサービス要求を処理する際に、各サーバマシンに対してメトリックストリングを送信し、その応答を分析することによりサーバマシンの負荷状態を測定し、最も負荷の低いサーバマシンを判定してクライアントからのサービス要求を処理するサーバを動的に決定し、決定したサーバマシンに対してサービス要求を転送するようにしている。
【０００４】
また特許文献２には、低負荷なサーバマシンにサービスオブジェクトを複製し、複製したサービスオブジェクトにクライアントからの処理要求を転送する技術が開示されている。特許文献２に記載の技術では、同じサービスを提供するオブジェクトをあらかじめ複数配置しておくのではなく、サーバプログラムの稼働中に動的にサーバオブジェクトの複製を作成し、ＣＰＵ利用率が低い他のコンピュータ上にオブジェクトを転送して稼働させ、クライアントコンピュータからの遠隔メソッド呼出しに対して複製したオブジェクトに対して遠隔メソッド呼出しを行わせるようにしている。
【特許文献１】特開平７−９３２３８号公報
【特許文献２】特開２０００−１７６５４号公報
【特許文献３】特開２００１−９２７６６号公報
【特許文献４】特開平５−１４３５５９号公報
【特許文献５】特開２００２−９１９３６号公報
【特許文献６】特開２００１−１７５４６０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、昨今のシステムの中には、クライアント装置から直接的に呼び出されたサービスオブジェクトが、その処理の中から他のサービスオブジェクトを呼び出すというように、複数のサービスオブジェクトが連鎖的に呼び出される構成をとるシステム（以下、分散オブジェクトシステムと称する）がある。
【０００６】
ここで分散オブジェクトシステムにおいて負荷分散を実現するためには、例えばクライアントから直接呼び出されたサービスオブジェクトの負荷が上昇した場合に、そのサービスオブジェクトの実行多重度を単純に増やすように構成することが考えられる。しかしながら、この場合、第１のサービスオブジェクトの負荷上昇の要因が後続して実行される他のサービスオブジェクトにある場合には、リソースの消費量に見合った負荷分散効果を期待することができない。また特定のサービスオブジェクトがリソースを集中して消費してしまうことで、システムの全体的な負荷バランスを保てなくなってしまう。
【０００７】
また分散オブジェクトシステムにおける負荷分散を実現する他の方法として、クライアントから直接呼び出されたサービスオブジェクトに後続して実行される一連の他のサービスオブジェクトをまとめて多重化してしまうことが考えられる。しかしながら、この場合、多重化する必要のないサービスオブジェクトまでが多重化されてしまうことがあり、この方法の場合もリソースを無駄に消費してしまう可能性がある。
【０００８】
さらに、負荷分散を実現する他の方法として、一連のサービスオブジェクトにおいて前後するサービスオブジェクトの組み合わせごとに負荷を計測し、個々の組み合わせごとに個別に負荷分散を行うようにすることが考えられる。しかしながら、多重化のためのリソース量に制限がある場合、この方法では本来多重化が必要である部分について多重化がされないことがある。
【０００９】
本発明は、複数のサービスオブジェクトを含んで実現される分散オブジェクトシステムにおいて、システム全体としての負荷バランスを保ちつつ、リソースを無駄に消費することなく適切に負荷分散を実現することができる、実行多重度制御システムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するための本発明の主たる発明の一つは、ＣＰＵがプログラムを実行することにより実現されるオブジェクトである複数のサービスオブジェクトによって構成される分散オブジェクトシステムにおける、前記サービスオブジェクトの実行多重度を動的に制御する実行多重度制御システムであって、少なくとも１台以上のコンピュータと、前記コンピュータがプログラムを実行することにより実現される、前記分散オブジェクトシステムにサービス要求を１種類ずつ入力した場合における前記分散オブジェクトシステムを構成している各サービスオブジェクトの負荷を計測し、計測した前記負荷に基づいて前記分散オブジェクトシステムを構成している前記サービスオブジェクトの負荷分布を求めて記憶する負荷情報取得部と、前記負荷分布に基づいて、前記サービスオブジェクトの実行多重度を前記サービスオブジェクトごとに変化させた場合における前記分散オブジェクトシステムの処理効率の改善効果を示す指標である効果指標を算出して記憶する効果指標算出部と、前記分散オブジェクトシステムに入力されるサービス要求の数を前記サービス要求の種類ごとに計測し、計測した前記サービス要求の数に基づいて前記各サービス要求の数の分布である要求分布を求め、求めた前記要求分布を記憶する要求情報取得部と、前記効果指標と前記要求分布とに基づいて、前記サービスオブジェクトの実行多重度を変化させた場合における、前記分散オブジェクトシステムの処理効率の改善効果を示す指標である全体効果指標を算出して記憶する全体効果指標算出部と、算出された前記全体効果指標の大きいものから順に前記実行多重度の制御方法を適用していくことにより前記分散オブジェクトシステムにおける前記サービスオブジェクトの実行多重度を制御する実行多重度制御部と、を備えることとする。
【００１１】
また本発明の主たる発明の他の一つは、ＣＰＵがプログラムを実行することにより実現されるオブジェクトである複数のサービスオブジェクトによって構成される分散オブジェクトシステムにおける、前記サービスオブジェクトの実行多重度を動的に制御する実行多重度制御システムであって、少なくとも１台以上のコンピュータと、前記コンピュータがプログラムを実行することにより実現される、前記分散オブジェクトシステムを構成している各サービスオブジェクトの負荷を計測し、計測した前記負荷に基づいて前記分散オブジェクトシステムを構成している前記サービスオブジェクトの負荷分布を求め、求めた前記負荷分布を累積的に記憶する負荷情報取得部と、前記分散オブジェクトシステムに入力されるサービス要求の数を前記サービス要求の種類ごとに計測し、計測した前記サービス要求の数に基づいて、前記各サービス要求の数の分布である要求分布を求め、求めた前記要求分布を前記計測時における前記サービスオブジェクトの実行状態に対応づけて累積的に記憶する要求情報取得部と、最新に取得した要求分布に類似する分布を前記要求情報取得部が記憶している前記要求分布の中から抽出し、抽出した前記要求分布に対応づけて記憶されている前記サービスオブジェクトと最新の前記サービスオブジェクトとの間の実行多重度の制御状態及び負荷分布の差分を求める差分取得部と、前記実行多重度の制御状態の差分と前記負荷分布の差分とに基づいて、前記サービスオブジェクトの実行多重度を変化させた場合における、前記分散オブジェクトシステムの処理効率の改善効果を示す指標である全体効果指標を算出して記憶する全体効果指標算出部と、算出した前記全体効果指標の大きいものから順に前記実行多重度の制御方法を適用していくことにより前記分散オブジェクトシステムにおける前記サービスオブジェクトの実行多重度を制御する実行多重度制御部と、を備えることとする。
【発明の効果】
【００１２】
本発明のシステムの実行多重度制御システムによれば、複数のサービスオブジェクトを含んで実現される分散オブジェクトシステムにおいて、システム全体としての負荷バランスを保ちつつ、リソースの制限範囲内で、最適な負荷分散を実現することができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明のいくつかの実施形態について詳細に説明する。
【実施例１】
【００１４】
図１Ａは、本発明の一実施形態として説明する、複数のサービスオブジェクトによって実現されるシステムである分散オブジェクトシステム、及び前記分散オブジェクトシステムを構成する上記サービスオブジェクトの実行多重度（多重度）を動的に制御する実行多重度制御システムの概略的な構成を示している。上記サービスオブジェクトとは、ＣＰＵがメモリに記憶されているプログラムを実行することにより実現されるオブジェクトである。サービスオブジェクトは、例えばクライアント装置から送信されてくるサービス要求に応じた処理を実行し、前記処理による結果を前記クライアント装置に送信するといった機能を提供する。
【００１５】
本実施例の分散オブジェクトシステム１３１は、オンラインブックストア等に代表されるＷｅｂ３階層システムの構成をとる。つまり図１Ａに示すように、サービスオブジェクト１３５はプレゼンテーション層に配置されるプログラムを実行することにより実現され、サービスオブジェクト１３６はロジック層に配置するプログラムを実行することにより実現され、サービスオブジェクト１３７はデータベース層に配置するプログラムを実行することにより実現されている。以下の説明において、分散オブジェクトシステムに入力されるサービス要求名が「ＲＥＱ＿００１」のサービス要求は書籍の検索処理についてのサービス要求であり、サービス要求名が「ＲＥＱ＿００２」のサービス要求は書籍の注文処理についてのサービス要求であり、「ＲＥＱ＿００３」のサービス要求は店舗スタッフによる売り上げ照会処理についてのサービス要求であるものとする。またサービス名が「ＷＥＢ＿００１」であるサービスオブジェクトはプレゼンテーション層に配置されるサービスオブジェクト１３５であり、サービス名が「ＡＰ＿００１」であるサービスオブジェクトはロジック層に配置されるサービスオブジェクト１３６であり、サービス名が「ＤＢ＿００１」であるサービスオブジェクトはデータベース層に配置されるサービスオブジェクト１３７であるものとする。
【００１６】
なお、図１Ａに示す分散オブジェクトシステム１３１の構成は、後述する第２乃至第４実施例において共通であるものとする。また図１には実行多重度制御システム１０１の制御対象となる分散オブジェクトシステム１３１を一つのみ例示しているが、一つの実行多重度制御システム１０１が、複数の分散オブジェクトシステム１３１の制御を行うこともできる。本実施形態における分散オブジェクトシステム１３１は、そのような制御を行っているものとしている。
【００１７】
＜分散オブジェクトシステム１３１＞
図１Ａに示すように、分散オブジェクトシステム１３１は、情報処理装置１〜５（符号１３２ａ〜１３２ｅ）、負荷分散装置１３３、ネーミングサービス１３４を含んで構成されている。また図１Ａに示すクライアント装置１４０は分散オブジェクトシステム１３１に対してサービス要求を送信するコンピュータである。
【００１８】
情報処理装置１〜５（符号１３２ａ〜１３２ｅ）、負荷分散装置１３３、及びネーミングサービス１３４は、それぞれコンピュータである。情報処理装置１〜５（符号１３２ａ〜１３２ｅ）、負荷分散装置１３３、及びネーミングサービス１３４は、例えばそれぞれ複数台のコンピュータが協調して動作することにより実現される構成とすることもできる。そのような協調動作を実現するためのソフトウエアとしては、例えば負荷分散型クラスタやフェールオーバ型クラスタ等を実現するソフトウエアがある。
【００１９】
上記コンピュータのハードウエアとしては、パーソナルコンピュータやワークステーション、メインフレーム等が用いられる。情報処理装置１〜５（符号１３２ａ〜１３２ｅ）、負荷分散装置１３３、及びネーミングサービス１３４、クライアント装置１４０は、それぞれＬＡＮ（Local Area Network）（有線ＬＡＮもしくは無線ＬＡＮ）等の図示しない適宜な通信手段によって互いに通信可能に接続されている。また情報処理装置１〜５（符号１３２ａ〜１３２ｅ）、負荷分散装置１３３、及びネーミングサービス１３４は、それぞれＬＡＮ等の適宜な通信手段を介して実行多重度制御システム１０１とも通信可能に接続されている。
【００２０】
図１Ｂは、情報処理装置１〜５（符号１３２ａ〜１３２ｅ）、負荷分散装置１３３、及びネーミングサービス１３４のハードウエアとして利用可能な典型的なコンピュータのブロック図である。図１Ｂに示すコンピュータは、当該コンピュータの全体的な統括制御を行うＣＰＵ（Central Processing Unit）１１Ｂ、ＣＰＵによって実行されるプログラムやデータ等が記憶されるメモリ（ＲＯＭ、ＲＡＭ）１２Ｂ、ハードディスクドライブ等からなる外部記憶装置１３Ｂ、キーボードやマウス等の入力装置１４Ｂ、ディスプレイ等の表示装置１５Ｂ、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等の記録媒体１６Ｂからデータやプログラムを読み出す記録媒体読取装置１７Ｂ、ＬＡＮに接続するネットワークインタフェース１８Ｂ、等を備えて構成されている。
【００２１】
情報処理装置１〜５（符号１３２ａ〜１３２ｅ）は、分散オブジェクトシステムを実現しているサービスオブジェクト１３５〜１３７の実行環境を提供しているコンピュータ（サーバ装置）である。情報処理装置１〜５（符号１３２ａ〜１３２ｅ）において実現されるサービスオブジェクト１３５〜１３７は、それぞれクライアント装置１４０から送信されてくるサービス要求についての処理を行う、ＣＰＵ１１Ｂがメモリ１２Ｂに記憶されているプログラムを実行することにより実現されるオブジェクトである。
【００２２】
サービスオブジェクト１３６は、サービスオブジェクト１３５の処理に必要とされるオブジェクトであり、例えばサービスオブジェクト１３５のプログラムコード内から呼び出されるオブジェクトである。またサービスオブジェクト１３７は、サービスオブジェクト１３６の処理に必要とされるオブジェクトであり、サービスオブジェクト１３６のプログラムコード内から呼び出されるオブジェクトである。
【００２３】
負荷分散装置１３３は、エンドユーザ等が操作するクライアント装置１４０からの窓口装置として機能するコンピュータである。負荷分散装置１３３は、クライアント装置１４０から送信されてくるサービス要求を受け付けて、前記サービス要求についての処理を行うサービスオブジェクトを決定する。そして負荷分散装置１３３は、決定した情報処理装置１（１３２ａ）または情報処理装置２（１３２ｂ）で動作しているサービスオブジェクト１３５ａ（Ａ−１）、もしくは、サービスオブジェクト１３５ｂ（Ａ−２）の少なくともいずれかに対して前記サービス要求を送信する。つまり負荷分散装置１３３は、前記サービス要求の処理を行うサービスオブジェクトを、各情報処理装置１３５ａ，１３５ｂの負荷に応じて選択することにより、情報処理装置１３５ａ，１３５ｂについての負荷分散を行っている。
【００２４】
ネーミングサービス１３４は、情報処理装置１〜５（符号１３２ｃ〜１３２ｅ）についての負荷分散を実現するオブジェクトである。ネーミングサービス１３４は、サービスオブジェクト１３５〜１３７の識別情報と、各サービスオブジェクト１３５〜１３７を実現するプログラムが格納されている格納位置を示す位置情報とを対応づけて記憶している。各サービスオブジェクト１３５〜１３７がネーミングサービス１３４に対して各サービスオブジェクト１３５〜１３７の識別情報を通知すると、ネーミングサービス１３４は通知された識別情報に対応するプログラムの位置情報を通知する。各サービスオブジェクト１３５〜１３７は、通知された位置情報に対応する格納位置に記憶されているプログラムを起動させることで、サービスオブジェクト１３５〜１３７間で行われる処理の連携が図られる。ネーミングサービス１３４は、前記識別情報の一つに対して複数の前記位置情報を記憶し、同じ前記識別情報が付帯された複数の前記問い合わせ要求についての応答に際し、前記応答ごとに前記位置情報を変化させるように制御することができる。つまりこれにより前記サービスオブジェクト１３５〜１３７の実行多重度の制御を行うことが可能であり、サービスオブジェクト１３５〜１３７の負荷分散の仕組みを容易に実現することができる。
【００２５】
＜実行多重度制御システム１０１＞
図１Ａに示す実行多重度制御システム１０１は、コンピュータ及び前記コンピュータにおいて実行されるプログラムによって実現されている。実行多重度制御システム１０１のハードウエアとして利用可能な典型的なコンピュータのブロック図を図１Ｃに示している。図１Ｃに示すコンピュータは、コンピュータの全体的な統括制御を行うＣＰＵ（Central Processing Unit）１１Ｃ、ＣＰＵによって実行されるプログラムやデータ等が記憶されるメモリ（ＲＯＭ、ＲＡＭ）１２Ｃ、ハードディスクドライブ等からなる外部記憶装置１３Ｃ、キーボードやマウス等の入力装置１４Ｃ、ディスプレイ等の表示装置１５Ｃ、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等の記録媒体１６Ｃからデータやプログラムを読み出す記録媒体読取装置１７Ｃ、ＬＡＮ５０に接続するためのネットワークインタフェース１８Ｃ、等を備えて構成されている。
【００２６】
図１Ａに示すように、実行多重度制御システム１０１では、負荷情報取得部１１１、負荷分布蓄積テーブル１１２、要求情報取得部１１３、要求分布蓄積テーブル１１４、効果指標算出部（効果指標算出部、全体効果指標算出部）１１５、効果指標テーブル１１６、実行多重度制御部１１７、クオータテーブル１１８、リソース管理テーブル１２０、等を備える。また、実行多重度制御部１１７は、構成決定部１１７１、リソース割り当て部１１７２、プログラム配付・設定部１１７３、等の機能を含む。
【００２７】
このうち負荷情報取得部１１１、要求情報取得部１１３、効果指標算出部（効果指標算出部、全体効果指標算出部）１１５、実行多重度制御部１１７については、実行多重度制御システム１０１を実現している上記コンピュータのハードウエア及びＣＰＵ１１Ｃがメモリ１２Ｃに記憶されているプログラムを実行することにより実現されている。また負荷分布蓄積テーブル１１２、要求分布蓄積テーブル１１４、効果指標テーブル１１６、クオータテーブル１１８、リソース管理テーブル１２０、等はメモリ１２Ｃや外部記憶装置１３Ｃに記憶され、上記コンピュータで動作しているデータベースに管理されている。
【００２８】
負荷情報取得部１１１は、実行多重度制御システム１０１の制御対象である分散オブジェクトシステム１３１を構成している各サービスオブジェクト１３５〜１３７の負荷を計測し、計測した負荷に基づいて各サービスオブジェクト１３５〜１３７の負荷分布を求めて負荷分布蓄積テーブル１１２に書き込む（登録、記憶）。
【００２９】
要求情報取得部１１３は、クライアント装置から分散オブジェクトシステム１３１に入力されるサービス要求の数を、前記サービス要求の種類ごとに計測し、計測した前記サービス要求の数に基づいて、前記各サービス要求の数の分布である要求分布を求めて要求分布蓄積テーブル１１４に書き込む（登録、記憶）。
【００３０】
効果指標算出部（効果指標算出部、全体効果指標算出部）１１５は、前記負荷分布に基づいてサービスオブジェクトの実行多重度をサービスオブジェクトごとに変化させた場合における分散オブジェクトシステム１３１の処理効率の改善効果を示す指標である効果指標を算出し、算出した効果指標を効果指標テーブル１１６に書き込む（登録、記憶）。また、効果指標算出部１１５は、算出した前記効果指標と前記要求分布とに基づいて、サービスオブジェクト１３５〜１３７の実行多重度を変化させた場合における、分散オブジェクトシステム１３１の処理効率の改善効果を示す指標である全体効果指標を、前記サービスオブジェクトごとに算出して効果指標テーブル１１６に書き込む（登録、記憶）。なお、効果指標算出部（効果指標算出部、全体効果指標算出部）１１５は、前記効果指標、もしくは、前記全体効果指標として、サービスオブジェクト１３５〜１３７の実行多重度を増やした場合の改善効果（追加効果）、もしくは、サービスオブジェクトの実行多重度を減らしたときの改善効果（削除効果）を算出する。
【００３１】
構成決定部１１７１は、要求分布蓄積テーブル１１４から最新の要求分布を取得して、クオータテーブル１１８から取得されるサービスオブジェクトを実行するために使用可能なリソースである情報処理装置１３２の台数から定まる上限値（この場合は全てのサービスオブジェクトにおいて利用される情報処理装置の合計が５台）の範囲内でサービスオブジェクト１３５〜１３７の最適な多重化方法を決定する。
【００３２】
リソース割り当て部１１７２は、例えば後述するプログラム配付・設定スクリプト１４０１の生成等、リソース（情報処理装置１３２）の使用状況が登録されているリソース管理テーブル１２０から、前記構成決定部１１７１により決定された実行多重度で分散オブジェクトシステム１３１を運用するために必要となるリソース（情報処理装置１３２）の取得に関する処理を行う。
【００３３】
プログラム配付・設定部１１７３は、リソース割り当て部１１７２により生成されたプログラム配付・設定スクリプト１４０１を実行し、構成決定部１１７１により決定された実行多重度の制御方法に従って実行多重度を実際に制御する。例えばサービスオブジェクト１３５〜１３７の実行多重度を増やすためにあるリソース（情報処理装置１３２）において新たにサービスオブジェクトを実行させようとする場合には、プログラム配付・設定部１１７３は、そのサービスオブジェクトを実行するために必要となるプログラムファイルやデータをプログラムリポジトリ１２２から読み出して、新たにサービスオブジェクトを実行させるリソース（情報処理装置１３２）に読み出したプログラムファイルやデータを転送する。またプログラム配付・設定部１１７３は、リソース（情報処理装置１３２）に対して上記サービスオブジェクトを実行させるために必要となる設定やインストール指示する命令を送信する。逆にサービスオブジェクト１３５〜１３７の実行多重度を減らす場合には、該当のリソース（情報処理装置１３２）に対して上記サービスオブジェクトを実現しているプログラムファイルやデータの実行の中止や削除を指示する命令を送信する。そしてプログラム配付・設定部１１７３は、以上のようにしてリソース（情報処理装置１３２）にプログラムファイルやデータの転送や削除を行った後、負荷分散装置１３３やネーミングサービス１３４に対して、分散オブジェクトシステム１３１に新たな形態での負荷分散を行うようにさせるための命令（再設定コマンド）を送信し、分散オブジェクトシステム１３１全体の再設定を行う。
【００３４】
プログラム配付・設定部１１７３は、前記リソース割り当て部１１７２は前記リソース管理テーブル１２０に削除するリソース（サーバマシン）を返却し、プログラム配付・設定部１１７３は前記返却したリソースから該当のサービスオブジェクトのプログラムやデータを削除し、分散オブジェクトシステム１３１全体の再設定を行う。
【００３５】
＜負荷分布蓄積テーブル１１２＞
図２に負荷分布蓄積テーブル１１２の一例を示している。負荷分布蓄積テーブル１１２には、分散オブジェクトシステム１３１を実現している各サービスオブジェクト１３５〜１３７についての負荷を計測した結果が負荷分布の形で累積的に登録されている。負荷分布蓄積テーブル１１２には、分散オブジェクトシステム１３１の識別情報であるシステムＩＤが設定されるシステムＩＤの欄２０１と、その計測が何回目の計測であるのかを示す識別情報である計測ＩＤが設定される計測ＩＤの欄２０２と、計測したサービスオブジェクト１３５〜１３７の識別情報であるサービス名が設定されるサービス名の欄２０３と、サービス名に対応するサービスオブジェクトが稼働している情報処理装置１３２が設定されるマシンＩＤの欄２０４と、分散オブジェクトシステム１３１の全体に対する各サービスオブジェクトの負荷の割合が設定される負荷割合の欄２０５、等が設けられている。なお、システムＩＤの欄２０１は、実行多重度制御システム１０１が複数の分散オブジェクトシステム１３１を制御しているために管理する必要のある項目である。
【００３６】
図２の符号２１１で示すデータ群のうち１行目に示すデータは、システムＩＤが「ＳＹＳ＿００１」という分散オブジェクトシステム１３１についての計測ＩＤが「１」の計測において、マシンＩＤが「Ｍ００１」の情報処理装置１３２において実現されているサービス名が「ＷＥＢ＿００１」であるサービスオブジェクト１３５〜１３７の負荷の割合が「８０」であることを示している。また２行目に示すデータは、マシンＩＤが「Ｍ００２」の情報処理装置１３２において実現されている、サービス名が「ＡＰ＿００１」であるサービスオブジェクト１３５〜１３７の負荷割合が「２０」であることを示している。また３行目に示すデータは、マシンＩＤが「Ｍ００３」の情報処理装置１３２において実現されている、サービス名が「ＤＢ＿００１」であるサービスオブジェクトの負荷割合が「０」であることを示している。なお、符号２１２〜２１６のデータについても同様に解釈する。
【００３７】
＜要求分布蓄積テーブル１１４＞
図３に要求分布蓄積テーブル１１４の一例を示している。要求分布蓄積テーブル１１４は、負荷情報取得部１１１が負荷情報を収集している最中に受け付けたサービス要求について、サービス要求の全数に対する、サービス要求の種類別のサービス要求の数の割合が累積的に登録されている。要求分布蓄積テーブル１１４には、実行多重度制御システム１０１の制御対象となる分散オブジェクトシステム１３１の識別情報であるシステムＩＤが設定されるシステムＩＤの欄３０１と、その計測が何回目の計測であるのかを示す計測ＩＤが設定される計測ＩＤの欄３０２と、計測したサービス要求の種類を示す識別情報であるサービス要求名が設定されるサービス要求名の欄３０３と、分散オブジェクトシステム１３１が受け付けた全てのサービス要求の数に対する、上記各種類に対応するサービス要求が占める割合が設定されるサービス要求割合の欄３０４等が設けられている。なお、システムＩＤの欄３０１は、実行多重度制御システム１０１が複数の分散オブジェクトシステム１３１を制御しているために管理する必要のある項目である。
【００３８】
図３の符号３１１で示すデータ群のうち１行目に示すデータは、システムＩＤが「ＳＹＳ＿００１」という分散オブジェクトシステム１３１についての計測ＩＤが「１」の計測において、サービス要求名が「ＲＥＱ＿００１」という種類のサービス要求の数が占める割合が「１００」であることを示している。また２行目に示すデータは、「ＲＥＱ＿００２」という種類のサービス要求が占める割合は「０」でることを示している。また３行目のデータは、「ＲＥＱ＿００３」という種類のサービス要求が占める割合は「０」であることを示している。なお、符号３１２〜３１６のデータについても同様に解釈する。
【００３９】
＜効果指標テーブル１１６＞
図４に効果指標テーブル１１６の一例を示している。分散オブジェクトシステム１３１の識別情報であるシステムＩＤが設定されるシステムＩＤの欄４０１と、サービス要求名が設定されるサービス要求名の欄４０２と、サービスオブジェクト１３５〜１３７の識別情報であるサービス名が設定されるサービス名の欄４０３と、追加効果指標が設定される追加効果指標の欄４０４と、削除効果指標が設定される削除効果指標の欄４０５、等が設けられている。なお、追加効果指標は、サービス要求によって呼び出される一連のサービスオブジェクト１３５〜１３７について、各サービスオブジェクト１３５〜１３７の実行多重度を１だけ増やした場合に分散オブジェクトシステム１３１にどれくらいの負荷分散効果が得られるかを表す効果指標である。また削除効果指標は、サービスオブジェクト１３５〜１３７の実行多重度を１つ減らしたときに分散オブジェクトシステム１３１にどれくらいの効果が得られるかを表わす効果指標である。
【００４０】
図４の符号４１１で示すデータは、システムＩＤ４０１が「ＳＹＳ＿００１」である分散オブジェクトシステム１３１で「ＲＥＱ＿００１」というサービス要求名のサービス要求を処理する場合に、サービス名４０３が「ＷＥＢ＿００１」のサービスオブジェクトの実行多重度を１つ増やしたときの効果指標（追加効果指標）が「４０」であることを示している。また符号４１２で示すデータは、システムＩＤ４０１が「ＳＹＳ＿００１」である分散オブジェクトシステム１３１で「ＲＥＱ＿００１」というサービス要求名のサービス要求を処理する場合に、サービス名が「ＡＰ＿００１」というサービスオブジェクトの多重度を１つ増加やしたときの効果指標（追加効果指標）が「１０」であることを示している。また符号４１３で示すデータは、システムＩＤ４０１が「ＳＹＳ＿００１」という分散オブジェクトシステムにおいて、「ＲＥＱ＿００１」というサービス要求名のサービス要求を処理する場合に、「ＤＢ＿００１」というサービス名のサービスオブジェクトの実行多重度を１つ増やした場合の追加効果指標が「０」であることを示している。
【００４１】
なお、図４の符号４１１〜４１３で示すデータは、いずれも各サービスオブジェクトの実行多重度が１である場合のデータである。従ってこれらについてはこれ以上実行多重度を減らすことができないため、削除効果指標の欄４０５には値が設定されていない（「−」が設定されている）。また符号４２１で示すデータは、実行多重度が２以上である場合であり、削除効果指標として「−１０」が設定されている。
【００４２】
＜クオータテーブル１１８＞
図５にクオータテーブル１１８の一例を示している。クオータテーブル１１８には、各分散オブジェクトシステム１３１がサービスオブジェクトを実現するために利用することができる情報処理装置１３２の台数、及び現在使用されている情報処理装置１３２の台数が管理されている。クオータテーブル１１８には、分散オブジェクトシステム１３１の識別情報が設定されるシステムＩＤ５０１の欄、その分散オブジェクトシステム１３１が利用可能な情報処理装置１３２の最大数が設定される最大マシン台数の欄５０２、現在使用中の情報処理装置の台数が設定される現在使用台数の欄５０２が設けられている。図５の符号５１１で示すデータは、システムＩＤが「ＳＹＳ＿００１」という分散オブジェクトシステム１３１について、サービスオブジェクトを実現するために利用することができる情報処理装置１３２の台数は「５」台であり、現在既に「３」台が使用されていることを示している。
【００４３】
＜リソース管理テーブル１２０＞
図６にリソース管理テーブル１２０の一例を示している。リソース管理テーブル１２０は、どのサーバマシンがどのシステムに割り当てられているか、そのサーバマシンがどのシステムにも割り当てられていなくて利用可能な状態となっているかを示す情報が管理されているテーブルである。リソース管理テーブル１２０には、情報処理装置１３２の識別情報であるマシンＩＤが設定されるマシンＩＤの欄６０１、その情報処理装置１３２を現在利用している分散オブジェクトシステム１３１のシステムＩＤが設定されるシステムＩＤの欄６０２が設けられている。
【００４４】
図６の符号６１１〜６１３で示すデータは、マシンＩＤが「Ｍ＿００１」、「Ｍ＿００２」、「Ｍ＿００３」に対応する情報処理装置１３２は、システムＩＤが「ＳＹＳ＿００１」である分散オブジェクトシステム１３１に割り当てられていることを示している。符号６１２、６１３のデータについても同様に解釈する。また、符号６１４で示すデータはシステムＩＤの欄６０２の値が空欄になっているが、これはその情報処理装置１３２が現在どの分散オブジェクトシステム１３１にも割り当てられていないことを示している。
【００４５】
＜プログラムリポジトリ１２２＞
図７はプログラムリポジトリ１２２の一例を示している。プログラムリポジトリ１２２は分散オブジェクトシステム１３１の実現に用いられるプログラムファイルやデータが管理されるデータベースである。プログラムリポジトリ１２２は実行多重度制御システム１０１を実現しているコンピュータ上で実行されるオペレーティングシステムによって実現されるファイルシステム上に構築されている。プログラムリポジトリ１２２には、システムＩＤごとにプログラムファイルやデータを格納するフォルダ（ディレクトリ）（７０１〜７０３）が設けられ、これにより各サービスオブジェクト１３５〜１３７を実現するために用いられるプログラムファイルやデータが、どの分散オブジェクトシステム１３１に使用されるものであるかどうかを区別できるようになっている。またシステムＩＤに対応するフォルダの下位には、サービスオブジェクト１３５〜１３７ごとのフォルダ（７０４〜７０６）が設けられ、これらの各フォルダには、該当する各サービスオブジェクト１３５〜１３７を実現するために必要となるプログラムファイルやデータが格納（記憶）されている。
【００４６】
図７に示すプログラムリポジトリ１２２の例では、システムＩＤが「ＳＹＳ＿００１」であるプログラムファイルやデータが、符号７０１で示すフォルダ（ディレクトリ）以下に格納されている。そのうちの符号７０４で示すフォルダには、そしてサービス名が「ＷＥＢ＿００１」であるサービスオブジェクトを実現するためのプログラムファイルである、ファイル名が「ＷＥＢ＿００１．ＷＡＲ」のプログラムファイル７０７が格納されている。また符号７０５で示すフォルダには、サービス名が「ＡＰ＿００１」であるサービスオブジェクトを実現するためのプログラムファイルである、ファイル名が「ＡＰ＿００１．ＪＡＲ」で示されるプログラムファイル７０８が格納されている。また符号７０６で示すフォルダには、サービス名が「ＤＢ＿００１」であるサービスオブジェクトを実現するためのファイルである、ファイル名が「ＴＡＢＬＥ．ＳＱＬ」及び「ＤＡＴＡ．ＤＡＴ」で示されるデータ（設定ファイル）７０９及びデータ（設定ファイル）７１０が格納されている。
【００４７】
＜負荷情報取得部１１１による処理＞
図８は負荷情報取得部１１１によって行われる処理の流れを説明するフローチャートである。  
まず負荷情報取得部１１１は、これから計測・収集しようとする一連の情報を一意に特定するための計測ＩＤを決定し、決定した計測ＩＤを要求情報取得部１１３に送信する（ステップ８０１）。なお、この要求情報取得部１１３への計測ＩＤの送信は、負荷情報取得部１１１の処理と要求情報取得部１１３の処理が時間的に並行して行われる必要があるために必要となる。
【００４８】
次に負荷情報取得部１１１は、負荷の計測の対象となるサービスオブジェクト１３５〜１３７の一覧を読み出す（ステップ８０２）。なお、この一覧は、実行多重度制御システム１０１内のいずれで管理されていてもよく、例えばリソース割り当て部１１７２等によって記憶されている。
【００４９】
次に負荷情報取得部１１１は、読み出した各サービスオブジェクト１３５〜１３７についての一定回数分の負荷計測を繰り返し行う（ステップ８０３〜８０５）。負荷情報取得部１１１は、ステップ８０３における判断において、計測を規定の回数分繰り返したかどうかを判断している。負荷情報取得部１１１は、ステップ８０３における判断が「ＮＯ」である場合、ステップ８０４に進む。ステップ８０４では、負荷情報取得部１１１は、負荷計測の対象となるすべてのサービスオブジェクト１３５〜１３７についての計測を行ったかどうかを判断している（ステップ８０４）。負荷情報取得部１１１は、ステップ８０４における判断が「ＮＯ」である場合、サービスオブジェクトの負荷の計測を行い、測定したサービスオブジェクト１３５〜１３７の負荷をメモリ１２Ｃに記憶する（ステップ８０５）。なお、負荷情報取得部１１１は、例えば特許文献４等に記載されている方法により負荷の計測を行う。すなわち、負荷情報取得部１１１は、分散オブジェクトシステム１３１を実現している各情報処理装置１３２に対して負荷を問合せるメッセージをブロードキャストにより送出し、その応答を受信することに各情報処理装置１３２における負荷を取得する。
【００５０】
次に負荷情報取得部１１１は、上記処理により取得した各サービスオブジェクト１３５〜１３７の負荷の平均値（合計値でも良い）を算出する（ステップ８０６）。そして負荷情報取得部１１１は、全体の負荷を１００としたときの各サービスオブジェクト１３５〜１３７の負荷の割合（負荷分布）を算出する。
【００５１】
次に負荷情報取得部１１１は、算出した負荷の割合をシステムＩＤ、計測ＩＤ、サービス名、及びマシンＩＤに対応づけて負荷分布蓄積テーブル１１２に書き込む（登録、記憶）（ステップ８０８）。以上のようにして負荷分布蓄積テーブル１１２に負荷の割合が書き込まれることになる。
【００５２】
＜要求情報取得部１１３による処理＞
図９は要求情報取得部１１３によって行われる処理の流れを説明するフローチャートである。負荷情報取得部１１１による処理の説明で述べたように、要求情報取得部１１３の処理は、負荷情報取得部１１１と時間的に並行して行われる必要がある。要求情報取得部１１３は、ステップ９０１において負荷情報取得部１１１から送信されてくる計測ＩＤを受信する（ステップ９０１）。
【００５３】
ステップ９０２において、要求情報取得部１１３は、負荷情報取得部１１１の処理が終了したかどうかを判断している（ステップ９０２）。ここで要求情報取得部１１３は、ステップ９０２が「ＹＥＳ」となるまでクライアント装置１４０から分散オブジェクトシステム１３１に送信されてくるサービス要求の種類（サービス要求名）と要求数とを計測し続ける。ここでステップ９０２が「ＹＥＳ」となるのは、例えばあらかじめ設定された計測時間が経過した時である。
【００５４】
計測中において、要求情報取得部１１３は、対象となる分散オブジェクトシステム１３１へのサービス要求名を特定し（ステップ９０３）、サービス要求名ごとに要求された回数を計測する（ステップ９０４）。なお、要求情報取得部１１３は、例えば特許文献５に記載されている方法により分散オブジェクトシステム１３１に対するサービス要求の種類を特定する。すなわち、要求情報取得部１１３は、例えばＨＴＴＰ（Hypertext Transfer Protocol）ヘッダに記載されている情報に基づいてサービス要求の種類を特定する。
【００５５】
次に要求情報取得部１１３は、計測が終了すると（ステップ９０２：ＹＥＳ）、計測された全てのサービス要求の数に対する、サービス要求の種類別のサービス要求の数の割合（要求分布）を算出する（ステップ９０５）。  
次に要求情報取得部１１３は、算出した上記要求分布を、システムＩＤ、計測ＩＤ、サービス要求名に対応づけて要求分布蓄積テーブル１１４に書き込む（登録、記憶）（ステップ９０６）。
【００５６】
＜計測結果の一例＞
図３に示した要求分布蓄積テーブル１４４の内容は、以上に説明した負荷情報取得部１１１及び要求情報取得部１１３の処理により取得される計測結果の一例である。図３に示す計測結果のうち符号３１１〜３１３で示すデータは分散オブジェクトシステムの本番運用開始前の時点等において試験的に取得したデータである。なお、図２の符号３１１〜３１３で示すデータは、サービス名が「ＷＥＢ＿００１」、「ＡＰ＿００１」、「ＤＢ＿００１」に対応する各サービスオブジェクトを、それぞれ一台の情報処理装置１３２で実行させている場合に計測されたデータ、すなわち、各サービスオブジェクトの実行多重度が１である場合に計測されたデータである。
【００５７】
このうち符号３１１で示すデータは、計測ＩＤが「１」についてのデータである。この計測ではサービス要求名が「ＲＥＱ＿００１」であるサービス要求のみを分散オブジェクトシステム１３１に入力している。従ってサービス要求の割合は、サービス要求名が「ＲＥＱ＿００１」であるサービス要求のみが「１００％」となっており、他のサービス要求についてのサービス要求の割合は「０％」になっている。また符号３１２で示すデータは、計測ＩＤが「２」についてのデータである。この計測では、サービス要求名が「ＲＥＱ＿００２」であるサービス要求のみを分散オブジェクトシステムに入力している。従ってサービス要求の割合はサービス要求名が「ＲＥＱ＿００２」であるサービス要求のみが「１００％」となっており、他のサービス要求についてのサービス要求の割合は「０％」になっている。さらに符号３１３で示すデータは、計測ＩＤが「１」についてのデータである。この計測ではサービス要求名が「ＲＥＱ＿００３」であるサービス要求のみを分散オブジェクトシステムに入力している。従ってサービス要求の割合はサービス要求名が「ＲＥＱ＿００３」であるサービス要求のみが「１００％」となっており、他のサービス要求についてのサービス要求の割合は「０％」になっている。
【００５８】
以上の符号３１１〜３１３で示すデータは、分散オブジェクトシステム１３１に対してサービス要求を１種類ずつ入力した場合に計測される負荷分布に対応する。つまり本実施例では、符号３１１〜３１３で示すデータのように、本番運用開始前等の時点において、効果指標をあらかじめ取得しておくために、サービス要求を１種類ずつ入力した場合について計測を行い、その場合の負荷分布を算出している。
【００５９】
図２の符号２１１〜２１３で示すデータは、図３の符号３１１〜３１３に示す計測に対応して時間的に並行して取得される負荷分布である。符号２１１で示す計測ＩＤが「１」の計測では、サービス名が「ＷＥＢ＿００１」であるサービスオブジェクトの負荷割合が「８０％」、サービス名が「ＡＰ＿００１」であるサービスオブジェクトの負荷割合が「２０％」、サービス名が「ＤＢ＿００１」であるサービスオブジェクトの負荷割合が「０％」となっている。また符号２１２で示す計測ＩＤが「２」の計測では、サービス名が「ＷＥＢ＿００１」であるサービスオブジェクトの負荷割合が「４０％」、サービス名が「ＡＰ＿００１」であるサービスオブジェクトの負荷割合が「４０％」、サービス名が「ＤＢ＿００１」であるサービスオブジェクトの負荷割合が「２０％」となっている。さらに符号２１３で示す計測ＩＤが「３」の計測では、サービス名が「ＷＥＢ＿００１」であるサービスオブジェクトの負荷割合が「１０％」、サービス名が「ＡＰ＿００１」であるサービスオブジェクトの負荷割合が「３０％」、サービス名が「ＤＢ＿００１」であるサービスオブジェクトの負荷割合が「６０％」となっている。
【００６０】
上述したようにこの実施例では、分散オブジェクトシステム１３１の形態として、オンラインブックストアを実現しているＷＥＢ３階層システムを想定しており、「ＲＥＱ＿００１」は書籍の検索処理についてのサービス要求である。また「ＲＥＱ＿００２」は書籍の注文処理についてのサービス要求である。また「ＲＥＱ＿００３」は店舗スタッフによる売り上げ照会処理についてのサービス要求である。このため、図２の符号２１１〜２１３のデータに示すように、サービス要求名が「ＲＥＱ＿００１」のサービス要求の処理では「ＷＥＢ＿００１」のサービスオブジェクトの負荷の割合が高く、サービス要求名が「ＲＥＱ＿００２」のサービス要求の処理では「ＡＰ＿００１」の負荷の割合が高く、サービス要求名が「ＲＥＱ＿００３」のサービス要求の処理では「ＤＢ＿００１」の負荷の割合が高くなっている。
【００６１】
＜効果指標算出部１１５の処理＞
図１０は効果指標算出部１１５によって行われる処理の流れを説明するフローチャートである。効果指標算出部１１５は、負荷分布蓄積テーブル１１２及び要求分布蓄積テーブル１１４に書き込まれているデータに基づいて、図４に示す効果指標テーブル１１６を生成する。  
効果指標算出部１１５は、効果指標テーブル１１６の生成に際しまず図３に示す要求分布蓄積テーブル１１４からサービス要求の割合の欄３０４に「１００％」が設定されているデータを抽出する（ステップ１００１）。
【００６２】
次に効果指標算出部１１５は抽出したデータを対象としてステップ１００３〜１００６の処理を実行する。  
ステップ１００２において、効果指標算出部１１５はステップ１００１において抽出した全てのデータについてステップ１００３〜１００６に示す処理を行ったかどうかを判断している（ステップ１００２）。  
ステップ１００３において、効果指標算出部１１５は抽出したデータの計測ＩＤに対応するデータを負荷分布蓄積テーブル１１２から抽出する（ステップ１００３）。ステップ１００４では、ステップ１００３において抽出した全てのデータについての処理を行ったかどうかを判断している。  
ステップ１００５において、効果指標算出部１１５はステップ１００１において取得したデータとステップ１００３で取得したデータとに基づいて、追加効果指標及び削除効果指標を算出する（ステップ１００５）。なお、この追加効果指標及び削除効果指標を算出するための具体的な仕組みについては後述する。  
次に効果指標算出部１１５は、算出した追加効果指標、及び削除効果指標を、システムＩＤ、サービス要求名、及びサービス名に対応づけて効果指標テーブル１１６に書き込む（登録、記憶）（ステップ１００６）。以上のようにして効果指標テーブル１１６が生成される。
【００６３】
＜追加効果指標及び削除効果指標を算出する仕組み＞
ここでは効果指標算出部１１５の上記ステップ１００５において行われる、追加効果指標及び削除効果指標を算出する仕組みについて説明する。
【００６４】
追加効果指標はサービスオブジェクトの実行多重度を１つ増やしたときの効果を示す指標である。図２に示す負荷分布蓄積テーブル１１２に示すように、例えばサービス名が「ＷＥＢ＿００１」であるサービスオブジェクトは、もともと実行多重度を１として動作していたときの負荷割合は「８０」であった。ここで当該サービスオブジェクトの実行多重度を１つ増やして２にすると、負荷割合は「８０／２＝４０」になる。また、実行多重度を３にすると、負荷割合は「８０／３＝２７」となる。
【００６５】
本実施例では、サービスオブジェクトの実行多重度を１つ増やした時の実行多重度を増やす前後における負荷割合の差を追加効果指標としている。すなわち、上記の例では、実行多重度を１から２に増やした場合の追加効果指標は「８０−４０＝４０」として求められ、実行多重度を２から３に増やした場合の追加効果指標は「４０−２７＝１３」として求められる。つまり多重度を１増やしたときの追加効果指標は、「（負荷割合／現多重度）−（負荷割合／（現多重度＋１））」として定式化できる。図４の効果指標テーブル１１６の符号４１１〜４１９に示すデータにおける追加効果指標４０４の欄の値は、このようにして求めた追加効果指標である。
【００６６】
上述したように、図３の符号３１１〜３１３で示すデータは、分散オブジェクトシステム１３１に、サービス要求を１種類ずつ入力した場合における要求割合であり、図２の符号２１１〜２１３で示すデータは、サービス要求を１種類ずつ入力した場合における負荷分布である。すなわち、図４の効果指標テーブル１１６の符号４１１〜４１９に示すデータにおける追加効果指標４０４の欄の値は、各サービスオブジェクトの実行多重度を１から２に増やした場合に対応する追加効果指標である。
【００６７】
削除効果指標も追加効果指標と同様の方法により、「（負荷割合／（現多重度＋１））−（負荷割合／現多重度）」と定式化でき、実行多重度を１つ減らした場合における削除効果指標を上式から求めることができる。但し、図４の効果指標テーブル１１６における符号４１１〜４１９に対応するデータは、図２に示す符号２１１〜２１３に示すデータ及び図３に示す符号３１１〜３１３に示すデータに基づくものであり、各サービス要求の実行多重度が１である場合に計測した負荷分布及び要求分布に基づくデータであるのでいずれのサービスオブジェクトについても実行多重度をこれ以上減らすことができない。図４の効果指標テーブル１１６の符号４１１〜４１９に対応するデータにおける削除効果指標の欄４０５に値が設定されていないのはこのためである。
【００６８】
＜実行多重度の制御＞
次に分散オブジェクトシステムの稼働中において、実行多重度制御部１１７の構成決定部１１７１により行われる、各サービスオブジェクトの実行多重度を決定する処理の流れを図１１に示すフローチャートを参照しつつ説明する。  
なお、ここではサービス名が「ＷＥＢ＿００１」のサービスオブジェクトの実行多重度が３、サービス名が「ＡＰ＿００１」のサービスオブジェクトの実行多重度が１、サービス名が「ＤＢ＿００１」のサービスオブジェクトの実行多重度が１の状態で分散オブジェクトシステムが稼働中であるものとする。また「稼働中」には分散オブジェクトシステムの本番稼働開始時も含まれるものとする。またその際の分散オブジェクトシステムの要求分布は図３の符号３１４で示すデータ、すなわち、サービス要求名が「ＲＥＱ＿００１」のサービス要求の要求割合が６０％、サービス要求名が「ＲＥＱ＿００２」のサービス要求の要求割合が３０％、サービス要求名が「ＲＥＱ＿００３」のサービス要求の要求割合が１０％であるものとする。さらに効果指標テーブル１１６の内容は、図１６に示す状態であるものとする。また図１６において追加効果指標４０４の括弧内の表記は、実行多重度の変化を示している。例えば図１６の符号１６１１で示すデータの場合、追加効果指標の欄４０４には、「（３→４）」と示されているが、これはサービス名「ＷＥＢ＿００１」を実現しているサービスオブジェクトの多重度を３から４に変化させたことを示している。
【００６９】
図１１に示すフローチャートにおいて、まず最新の要求分布を取得するために、構成決定部１１７１は、要求分布蓄積テーブル１１４から最新の要求分布（図３の符号３１４で示すデータ）を取得する（ステップ１１０１）。  
次に構成決定部１１７１はステップ１１０１で取得したデータについてステップ１１０３〜１１０５の処理を行ったかどうかを判断する（ステップ１１０２）。  
次に構成決定部１１７１は図１６に示す効果指標テーブル１１６から特定のサービス要求名に対応するデータ（例えば、図１６において符号１６１１〜１６１３で示すサービス要求名が「ＲＥＱ＿００１」であるデータ）を取得する（ステップ１１０３）。  
次に構成決定部１１７１はステップ１１０３で取得した全てのデータについてステップ１１０５の処理を行ったかどうかを判断する（ステップ１１０４）。
【００７０】
次に構成決定部１１７１は、ステップ１１０３において取得した各データについて、図１６に示す効果指標テーブル１１６の追加効果指標と、前記各データのサービス要求名に対応するステップ１１０１において取得される要求分布蓄積テーブル１１４のサービス要求の割合３０４の欄に設定されている値との積を求める（ステップ１１０５）。そして構成決定部１１７１は、求めた積をメモリ１２Ｃ上に管理されている１００で除した値を図１２に示すテーブル（以下、テンポラリテーブル１２００と称する）にサービス名及びサービス要求名に対応づけて書き込む（登録、記憶）。なお、テンポラリテーブル１２００は、構成決定部１１７１によって一時的にメモリ上に作成されるテーブルである。テンポラリテーブル１２００には、サービス名が設定されるサービス名の欄１２０１、サービス要求名が設定されるサービス要求名の欄１２０２、追加効果指標が設定される追加効果指標の欄１２０３、削除効果指標が設定される削除効果指標の欄１２０４が設けられている。
【００７１】
ステップ１１０５の処理について詳述する。例えばステップ１１０３において、要求分布蓄積テーブル１１４から取得される最新の要求分布が図３の符号３１４で示すデータであり、サービス要求名が「ＲＥＱ＿００１」、サービス名が「ＷＥＢ＿００１」に基づいて追加効果指標を求める場合（図４における符号４１１で示すデータ（図１６の効果指標テーブル１１６における符号１６１１で示すデータ））、追加効果指標は、図３の符号３１４で示すデータから取得される「６０」と、図１６の符号１６１１で示すデータの追加効果指標である「６．７」との積を１００で除した値、すなわち「６０」×「６．７」／１００＝「４．０」として求めることができる。また削除効果指標についても同様にして図３の符号３１４で示すデータから取得される「６０」と、図１６の符号１６１１で示すデータの削除効果指標である「−１３．３」との積を１００で除した値、すなわち、「６０」×「−１３．７」／１００＝「−８．０」として求めることができる。
【００７２】
従ってこの場合に構成決定部１１７１は、テンポラリテーブル１２００のサービス名の欄１２０１に「ＷＥＢ＿００１」を、サービス要求名の欄１２０２に「ＲＥＱ＿００１」を、追加効果指標１２０３に「４．０」を、削除効果指標１２０４に「−８．０」を、それぞれ書き込む（図１２の符号１２１１で示すデータ）。同様の処理により、次のステップ１１０６が実行される直前では、図１６に示す例ではサービス要求名について３通り、サービス名について３通りが存在するので、結局、テンポラリテーブル１２００には、計９つのデータエントリが作成される（図１２の符号１２１１〜１２１９で示すデータ）。
【００７３】
ステップ１１０６では、構成決定部１１７１はテンポラリテーブル１２００を参照し、テンポラリテーブル１２００の追加効果指標１２０３及び削除効果指標１２０４の合計値（全体効果指標）をサービス名ごとに算出し、その結果をテンポラリテーブル１２００に書き込む（登録、記憶）（ステップ１１０６）。本実施例では、サービス名は「ＷＥＢ＿００１」、「ＡＰ＿００１」、「ＤＢ＿００１」の３通りあるので、構成決定部１１７１は３件のデータエントリをテンポラリテーブル１２００に追記する（図１２の符号１２２０〜１２２２で示すデータ）。
【００７４】
次に構成決定部１１７１は、図５に示すクオータテーブル１１８を参照し、分散オブジェクトシステム１３１で使用可能な情報処理装置１３２の最大数を取得する（ステップ１１０７）。上記の例の場合では、システムＩＤが「ＳＹＳ＿００１」の分散オブジェクトシステム１３１に関するものであるので、図５の符号５１１で示すデータが構成決定部１１７１により参照され、この場合、構成決定部１１７１は使用可能な情報処理装置１３２の最大数として「５」を取得する。
【００７５】
ステップ１１０８では、構成決定部１１７１はステップ１１０６で算出した合計値の大きい順、すなわち、算出した全体効果指標（図１２の符号１２２０〜１２２２で示すデータの追加効果指標もしくは削除効果指標）の大きいものから順に、対応する実行多重度の変化のさせ方を適用していくことにより、分散オブジェクトシステム１３１におけるサービスオブジェクトの実行多重度を制御する。またこの制御において、構成決定部１１７１は、使用可能リソースの量、すなわちリソース（情報処理装置１３２）の台数から定まる上限値（この場合は全てのサービスオブジェクト１３５〜１３７において利用される情報処理装置１３２の合計が５台）の範囲内で上記実行多重度の制御方法を決定する（ステップ１１０８）。なお、構成決定部１１７１は、決定した内容をメモリ１２Ｃ等に記憶する。
【００７６】
例えば図１２に示すテンポラリテーブル１２００の場合、構成決定部１１７１は「ＡＰ＿００１」という名前のサービスオブジェクトを実行する情報処理装置１３２を追加することが最も効果的であると判断する。そして最大マシン台数が５台であるところ、現在の使用マシン台数５０２が５台であるので、この場合には構成決定部１１７１は上記サービスオブジェクトを実行する情報処理装置１３２を追加することができず、そのような実行多重度の変化のさせ方を適用することはできないことを把握する。  
一方、図１２における符号１２２１に示すデータにおけるサービス名が「ＡＰ＿００１」のサービスオブジェクトについての追加効果指標は「１３．５」であり、符号１２２０で示すサービス名が「ＷＥＢ＿００１」のサービスオブジェクトについての削除効果指標は「−１０．２」であり、サービス名が「ＡＰ＿００１」のサービスオブジェクトについての追加効果指標は「１３．５」は、サービス名が「ＷＥＢ＿００１」のサービスオブジェクトについての削除効果指標は「−１０．２」よりも大きい（なお、比較は絶対値で行われる）。つまり現在の構成を維持するよりも、「ＷＥＢ＿００１」の多重度を３から２に減じ、かつ、「ＡＰ＿００１」の多重度を１から２に増やした方が、分散オブジェクトシステム全体の負荷バランスは改善されると判断される。従ってこの場合、構成決定部１１７１はそのように実行多重度の変化のさせ方が適用されるように実行多重度の制御方法を決定する（ステップ１１０８）。
【００７７】
＜リソース割り当て部１１７２の処理＞
リソース割り当て部１１７２は、以上のようにして構成決定部１１７１により決定された実行多重度の制御方法に従って、各サービスオブジェクトの実行多重度の制御に関する処理を行う。図１３はリソース割り当て部１１７２によって行われる処理の流れを説明するフローチャートである。
【００７８】
リソース割り当て部１１７２は、まず構成決定部１１７１が決定した実行多重度の制御方法を示す情報を取得する（ステップ１３０１）。なお、実行多重度の制御方法を示す情報には、例えばサービス名とそのサービス名に対応するサービスオブジェクトが実行される情報処理装置１３２のマシンＩＤとの対応付けを示す情報が含まれる。
【００７９】
次にリソース割り当て部１１７２は、現在のシステム構成から構成決定部１１７１が決定した実行多重度の制御方法に対応する新規のシステム構成に移行させた場合に、実行多重度を減じるサービスオブジェクトが存在するかどうかを調べる（ステップ１３０２）。ここで実行多重度を減じるサービスオブジェクトが存在する場合には、リソース割り当て部１１７２はそのサービスオブジェクトが動作している情報処理装置１３２のマシンＩＤを調べ、図６に示すリソース管理テーブル１２０のそのマシンＩＤに対応するシステムＩＤの欄６０２の内容を削除する（ステップ１３０３）。
【００８０】
次にリソース割り当て部１１７２は、分散オブジェクトシステム１３１に対して前記サービスオブジェクトの実行多重度を減じるための削除コマンドを生成し、生成した削除コマンドを、メモリ１２Ｃに記憶しているプログラム配付・設定のためのスクリプトの管理領域に書き込む（ステップ１３０４）。図１４にプログラム配付・設定スクリプト１４０１の一例を示している。なお、プログラム配付・設定スクリプト１４０１の機能の詳細については後述する。
【００８１】
次にリソース割り当て部１１７２は、現在のシステム構成から新規のシステム構成に移行させるにあたり、実行多重度を増加させるサービスオブジェクトが存在するかどうかを調べる（ステップ１３０５）。実行多重度を増加させるサービスオブジェクトが存在する場合には、リソース割り当て部１１７２は、さらに割当可能なリソース（情報処理装置１３２）が存在するかどうかを調べる（ステップ１３０６）。ここで割当可能なリソースが存在する場合には、実行多重度を増加させるサービスオブジェクトを実現させる情報処理装置１３２を決定し、その情報処理装置１３２のマシンＩＤをリソース管理テーブル１２０の対応するマシンＩＤの欄６０１に対応するシステムＩＤの欄６０２に、現在処理対象となっている分散オブジェクトシステム１３１のＩＤである「ＳＹＳ＿００１」を書き込む（ステップ１３０７）。そしてリソース割り当て部１１７２は、分散オブジェクトシステム１３１にサービスオブジェクトの実行多重度を増加させるための追加コマンドを生成し、生成した追加コマンドをプログラム配付・設定スクリプト１４０１に書き込む（ステップ１３０８）。
【００８２】
図１４は前記リソース割り当て部１１７２によって生成されるプログラム配付・設定スクリプト１４０１の一例である。図１４において、符号１４１１で示す文字列は、システムＩＤが「ＳＹＳ＿００１」である分散オブジェクトシステム１３１においてマシンＩＤが「Ｍ＿００４」の情報処理装置１３２によって実行されているサービス名が「ＷＥＢ＿００１」のサービスオブジェクトを削除するコマンド（削除コマンド）に対応する。また、符号１４１２で示す文字列は、識別情報が「ＬＢ＿００１」として設定されている負荷分散装置１３３の現在の設定からシステムＩＤが「ＳＹＳ＿００１」の分散オブジェクトシステム１３１における「ＷＥＢ＿００１」への振分け設定（該当のサービスオブジェクトを呼び出し可能にする設定）を解除（該当のサービスオブジェクトを呼び出し不可能にする設定）するコマンド（再設定コマンド）に対応する。さらに符号１４１３で示す文字列は、マシンＩＤが「Ｍ＿００４」の情報処理装置１３２にシステムＩＤが「ＳＹＳ＿００１」の分散オブジェクトシステム１３１のサービス名が「ＤＢ＿００１」のサービスオブジェクトを実現するためのプログラムをインストールするコマンド（追加コマンド）に対応する。また、符号１４１４で示す文字列は「ＮＳ＿００１」という識別情報で設定されているネーミングサービス１３４の設定内容に、システムＩＤが「ＳＹＳ＿００１」である分散オブジェクトシステム１３１のサービス名が「ＤＢ＿００１」であるサービスオブジェクトへの振分け設定（該当のサービスオブジェクトを呼び出し可能にする設定）を追加するコマンド（再設定コマンド）に対応する。
【００８３】
＜プログラム等の配布・設定＞
次にプログラム配付・設定部１１７３は、リソース割り当て部１１７２により生成されたプログラム配付・設定スクリプト１４０１を実行し、構成決定部１１７１により決定された実行多重度の制御方法に従って、分散オブジェクトシステム１３１の実行多重度を実際に制御する。図１５は実行多重度を制御するためにプログラム配付・設定部１１７３によって行われる処理の流れを説明するフローチャートである。
【００８４】
まずプログラム配付・設定部１１７３は、リソース割り当て部１１７２から配付・設定スクリプト１４０１を取得する（ステップ１５０１）。  
次にプログラム配付・設定部１１７３は、プログラム配付・設定スクリプト１４０１に記述されているコマンドを一行ずつ処理する。ステップ１５０２では、プログラム配付・設定スクリプト１４０１に記述されている全てのコマンドを処理したかどうかを判断している。ステップ１５０３において、プログラム配付・設定部１１７３は、スクリプト１４０１からコマンドを順に読み取っている（ステップ１５０３）。
【００８５】
ステップ１５０４では、プログラム配付・設定部１１７３は、ステップ１５０３で読み取ったコマンドが削除コマンドであるかどうかを判断している（ステップ１５０４）。ここで読み取ったコマンドが削除コマンドである場合には（ステップ１５０４：ＹＥＳ）、プログラム配付・設定部１１７３は指定されたリソース（情報処理装置１３２）に対して削除命令を送信する（ステップ１５０５）。その後はステップ１５０２の処理に戻る。ステップ１５０４において、読み取ったコマンドが削除コマンドでなかった場合には（ステップ１５０４：ＮＯ）、ステップ１５０６の処理に進む。
【００８６】
ステップ１５０６では、プログラム配付・設定部１１７３は、ステップ１５０５で読み取ったコマンドが追加コマンドであるかどうかを判断する（ステップ１５０６）。ここで追加コマンドであった場合には（ステップ１５０６：ＹＥＳ）、プログラム配付・設定部１１７３は、プログラムリポジトリ１２２から指定されたサービス名に対応するプログラムファイルやデータを読み出して、指定されたリソース（情報処理装置１３２）に転送する（ステップ１５０７）。またこのとき、前記リソース（情報処理装置１３２）に対して転送した前記プログラムファイルやデータについてのインストール処理を実行するように指示する命令を送信する（ステップ１５０８）。その後はステップ１５０２の処理に戻る。ステップ１５０６の判断において、ステップ１５０５で読み取ったコマンドが削除コマンドでない場合には（ステップ１５０６：ＮＯ）、ステップ１５０９の処理に進む。
【００８７】
ステップ１５０９の処理では、プログラム配付・設定部１１７３は、ステップ１５０５で読み取ったコマンドが再設定コマンドであるかどうかを判断する（ステップ１５０９）。ここで再設定コマンドである場合には（ステップ１５０９：ＹＥＳ）、プログラム配付・設定部１１７３は負荷分散装置１３３またはネーミングサービス１３４の再設定を行う（１５１０）。再設定コマンドでない場合には（ステップ１５０９：ＮＯ）、ステップ１５０２の処理に戻る。
【００８８】
なお、サービスオブジェクト１３５〜１３７を実現するために必要となるプログラムファイルやデータをリソースに配布もしくは削除する方法は、以上に紹介した方法以外にも考えられる。例えば、特許文献６に開示されている方法を用いることができる。
【００８９】
以上に説明したように、本発明の実行多重度制御システム１０１によれば、負荷分布や要求分布に応じてサービスオブジェクト１３５〜１３７の実行多重度が適切に制御される。また実行多重度の制御は分散オブジェクトシステムが各サービスオブジェクトを実行するために利用可能なリソースの量に応じて定まる上限値の範囲内で行われる。従ってリソースを無駄に消費することなく適切に負荷分散を実現することができる。また本発明の実行多重度制御システム１０１によれば、複数のサービスオブジェクト１３５〜１３７の実行多重度が統括的に制御されるので、分散オブジェクトシステム１３１の全体の負荷バランスも適切に制御されることになる。また分散オブジェクトシステム１３１にサービス要求を１種類ずつ入力した場合における分散オブジェクトシステム１３１を構成している各サービスオブジェクトの負荷をあらかじめ計測しておくため、稼働当初等においてもサービスオブジェクト１３５〜１３７の実行多重度を適切に制御することができる。  
すなわち、本発明の実行多重度制御システム１０１によれば、複数のサービスオブジェクトを含んで実現される分散オブジェクトシステムにおいて、システム全体としての負荷バランスを保ちつつ、リソースを無駄に消費することなく適切に負荷分散を行うことができる。
【実施例２】
【００９０】
本実施例で説明する実行多重度制御システム１０１は、基本的な構成については実施例１と同様である。本実施例で説明する実行多重度制御システム１０１は、求めた負荷分布や要求分布を累積的に記憶しておき、最新に取得した要求分布に類似する要求分布を記憶しておいた要求分布の中から抽出し、抽出した前記要求分布に対応づけて記憶されているサービスオブジェクトと最新のサービスオブジェクトとの間の実行状態及び負荷分布の差分を求める。そして、実行多重度制御システム１０１は、求めた実行状態及び負荷分布の差分から、サービスオブジェクトの実行多重度を変化させた場合における、分散オブジェクトシステム１３１の処理効率の改善効果を示す効果指標（全体効果指標）をサービスオブジェクトごとに算出して記憶し、算出した全体効果指標の大きいものから順に前記実行多重度の制御方法を適用していくことにより当該分散オブジェクトシステム１３１を構成しているサービスオブジェクトの実行多重度を制御する。  
なお、本実施例で説明する実行多重度制御システム１０１によれば、実施例１で説明したようにテスト環境を設けてサービス要求の種類を１つずつ固定して測定を行う必要がなく、実行多重度の制御のために必要な全ての処理を分散オブジェクトシステム１３１の本番稼働中等において行うことができる。
【００９１】
図１７は効果指標算出部（差分取得部）１１５によって行われる処理の流れを説明するフローチャートである。まず効果指標算出部１１５は、要求分布蓄積テーブル１１４及び負荷分布蓄積テーブル１１２から、最新の要求分布と負荷分布、及びシステム構成とを取得する（ステップ１７０１）。
【００９２】
次に効果指標算出部１１５は、要求分布蓄積テーブル１１４から最新の要求分布に類似する要求分布のデータを抽出する（ステップ１７０２）。  
ステップ１７０２では、類似する全ての要求分布を抽出する。ここで類似する要求分布であるかどうかの判断は、例えば同じ種類のサービス要求同士の要求割合の差を合計し、その差が閾値以上であるかどうかを判断するといった方法で行うことができる。また各サービス要求の要求割合をパラメータとしてクラスタ分析手法における類似度の算出方法を適用して類似度を算出し、算出した類似度に応じて類否を判断することもできる。なお、本実施例では、最新の要求分布は図３符号３１６で示す内容、すなわち、ＲＥＱ＿００１が「４２」、ＲＥＱ＿００２が「１９」、ＲＥＱ＿００３が「３９」であり、この要求分布に類似する要求分布が図３の符号３１５に示す、ＲＥＱ＿００１が「４０」、ＲＥＱ＿００２が「２１」、ＲＥＱ＿００３が「３９」の要求分布であるものとする。すなわち、ステップ１７０２では、類似する要求分布として図３の符号３１５で示すデータが抽出されることになる。
【００９３】
ステップ１７０３では、効果指標算出部１１５は、ステップ１７０２において抽出した全てのデータについてステップ１７０４〜１７０８の処理を行ったかどうかを判断している。
【００９４】
次に効果指標算出部１１５は、ステップ１７０２で抽出したデータから計測ＩＤを取得し、負荷分布蓄積テーブル１１２から、取得した前記計測ＩＤと同じ計測ＩＤのデータを抽出する（ステップ１７０４）。例えば図２の符号３１４で示すデータの計測ＩＤは「１２２」であるので、この場合にはステップ１７０４の処理により図２の符号２１５で示すデータが抽出される。
【００９５】
次に効果指標算出部１１５は、ステップ１７０１で取得した最新の負荷分布とステップ１７０４で抽出した類似の負荷分布とを参照し、システム構成（サービスオブジェクトを実行するための構成）の差分を調べる（ステップ１７０６）。ここでは、図２の負荷分布蓄積テーブル１１２の符号２１６で示すデータに、サービス名が「ＷＥＢ＿００１」であるデータが２重に含まれていることから、現在のシステム構成はサービス名が「ＷＥＢ＿００１」のサービスオブジェクトの実行多重度が２であることがわかる。同様にしてサービス名が「ＡＰ＿００１」のサービスオブジェクトの実行多重度が１、サービス名が「ＤＢ＿００１」のサービスオブジェクトの実行多重度が１であることがわかる。また抽出された過去データのシステム構成は、図２の負荷分布蓄積テーブル１１２の符号２１５のデータから、サービス名が「ＷＥＢ＿００１」のサービスオブジェクトの実行多重度が１、サービス名が「ＡＰ＿００１」のサービスオブジェクトの実行多重度が１、サービス名が「ＤＢ＿００１」のサービスオブジェクトの実行多重度が１であることが把握される。従ってこの場合には、効果指標算出部１１５はシステム構成の差分として「ＷＥＢ＿００１」について多重度が１だけ異なっていると判断する。
【００９６】
次に効果指標算出部１１５は、ステップ１７０１で取得した現在の負荷分布とステップ１７０４で抽出した類似の負荷分布とを参照し、負荷分布の差分を調べる（ステップ１７０７）。ここで図２の負荷分布蓄積テーブル１１２の符号２１６で示すデータ（現在の負荷分布）を参照すると、サービス名が「ＷＥＢ＿００１」であるサービスオブジェクトの負荷分布が「３０」であり、サービス名が「ＡＰ＿００１」であるサービスオブジェクトの負荷分布が「２８」であり、サービス名が「ＤＢ＿００１」であるサービスオブジェクトの負荷分布が「１１」となっている。また同図の符号２１５で示すデータ（過去データの負荷分布）を見ると、サービス名が「ＷＥＢ＿００１」のサービスオブジェクトの負荷分布が「６１」、サービス名が「ＡＰ＿００１」のサービスオブジェクトの負荷分布が「２７」、サービス名が「ＤＢ＿００１」のサービスオブジェクトの負荷分布が「１２」となっている。そこで効果指標算出部１１５は負荷分布の差分を、サービス名が「ＷＥＢ＿００１」のサービスオブジェクトについては「６１−３０＝３１」と、サービス名が「ＡＰ＿００１」のサービスオブジェクトについては「２７−２８＝−１」と、サービス名が「ＤＢ＿００１」のサービスオブジェクトについては「１２−１１＝１」と、それぞれ算出する。
【００９７】
ここで上述したように、効果指標テーブル１１６の追加効果指標はサービスオブジェクトの多重度を１だけ増やした場合にどの程度の効果があるかを示す値である。そこで、効果指標算出部１１５は、上記の結果から、サービス名が「ＷＥＢ＿００１」のサービスオブジェクトの追加効果指標を「３１」とし、この追加効果指標を効果指標テーブル１１６に書き込む（ステップ１７０８）。なお、サービス名が「ＡＰ＿００１」及び「ＤＢ＿００１」のサービスオブジェクトについても同様にして効果指標算出部１１５により追加効果指標が効果指標テーブル１１６に書き込まれる。なお、サービス名が「ＡＰ＿００１」及び「ＤＢ＿００１」のサービスオブジェクトについての追加効果指標はそれぞれ「１」と「−１」と小さいので追加効果指標を「０」として取り扱うようにしてもよい。
【００９８】
また実施例１では、図１２のテンポラリテーブル１２００の生成に際し、要求分布ごとに追加効果指標や削除効果指標を算出した後、各要求分布について算出された追加効果指標や削除効果指標を合計するようにしている。これに対し本実施例では、効果指標テーブル１１６のサービス名の欄４０３、追加効果指標の欄４０４、及び削除効果指標の欄４０５の内容を、図１２のテンポラリテーブル１２００のサービス名の欄１２０１、追加効果指標の欄１２０３、削除効果指標の欄１２０４の内容として用いる。従って本実施例では、実施例１で説明した図１１の構成決定部１１７１のフローチャートにおけるステップ１１０２〜１１０５は必要なく、その分、処理が簡素化され処理負荷も少なくて済むことになる。
【実施例３】
【００９９】
分散オブジェクトシステム１３１の種類によっては、似たような要求分布が一定の周期で繰り返し現れることがある。例えばオンライン系業務システムでは、通常、勤務時間帯には多量のトランザクションが発生するが、夜間等の時間帯においてはトランザクションの数は減少する。本実施例で説明する実行多重度制御システム１０１は、要求分布蓄積テーブル１１４に登録されているデータに基づいて未来の時間帯における要求分布を予測し、その予測に基づいて分散オブジェクトシステム１３１を構成しているサービスオブジェクト１３５〜１３７の実行多重度を制御する。なお、本実施例における実行多重度制御システム１０１の処理は、要求分布を予測する以外の処理については、上述の実施例１および実施例２と同様の処理により行われる。
【０１００】
図１８は本実施例の実行多重度制御システム１０１が記憶している要求分布予測テーブル１８０１である。要求分布予測テーブル１８０１には、システムＩＤが設定されるシステムＩＤの欄１８１１、サービス要求名が設定されるサービス要求名の欄１８１２、時間帯が設定される時間帯の欄１８１３、サービス要求数が設定されるサービス要求の数の欄１８１４が設けられている。
【０１０１】
本実施例の実行多重度制御システム１０１における要求情報取得部１１３は、その処理の一環として、時間帯ごとにサービス要求名ごとのサービス要求の数を計数し、計数した結果を要求分布予測テーブル１８０１に書き込む（登録、記憶）。
【０１０２】
構成決定部１１７１が実行多重度の制御方法を決定する際には、実行多重度制御システム１０１を実現している情報処理装置１３２のシステムクロックから現在時刻を取得し、要求分布予測テーブル１８０１に登録されている現在時刻以降の時間帯の過去の要求分布に基づいて、未来の時間帯における効果指標を算出する。そして算出した効果指標に基づいて実施例１または実施例２と同様の処理を行うことにより、実行多重度の制御方法を決定する。なお、この仕組みは例えば図１１の構成決定部１１７１の処理におけるステップ１１０１の処理を上記処理で置き換えることにより行うようにすることができる。
【０１０３】
本実施例の実行多重度制御システム１０１によれば、サービス要求の数の分布が一定周期で繰り返し現れるような性格の分散オブジェクトシステム１３１について、要求情報取得部によって累積的に記憶される過去のサービス要求の数の分布に基づいて、未来の時間帯における効果指標を算出することができる。すなわち、過去のデータに基づいて未来の時間帯における効果指標を予測することができる。
【実施例４】
【０１０４】
本実施例で説明する実行多重度制御システム１０１は、入力装置１４Ｃ等のユーザインタフェースから要求分布を受け付けて、受け付けた要求分布に基づいて実行多重度の制御方法を決定する。なお、本実施例の実行多重度制御システム１０１における処理は、入力装置１４Ｃ等のユーザインタフェースから要求分布を受け付けること以外の処理については、例えば上述の実施例１および実施例２と同様の処理により行われる。
【０１０５】
例えばオンラインブックセンタの夜間等の運用に際しては、ブックストアの営業に係わるサービスオブジェクトの実行多重度を減らし、逆に売り上げデータの集計等の処理に係わるサービスオブジェクトの実行多重度を増やしたいことがある。ここで書籍の検索のサービス要求名が「ＲＥＱ＿００１」であり、書籍の注文のサービス要求名が「ＲＥＱ＿００２」であり、売り上げデータの集計処理の要求名が「ＲＥＱ＿００３」であった場合、ユーザは「ＲＥＱ＿００３」の要求割合を意図的に増やした要求分布をユーザインタフェースから実行多重度制御システム１０１に入力する。実行多重度制御システム１０１は、上記要求分布を受け付けて、受け付けた要求分布を構成決定部１１７１に与える。構成決定部１１７１は、この要求分布に基づいて実行多重度の制御方法を決定する。なお、本実施例の仕組みは、例えば図１１の構成決定部１１７１のフローチャートにおいて、ステップ１１０１で要求分布蓄積テーブル１１４から最新の要求分布を取得する代わりに、上述のような所望の要求分布を読み込むようにすることにより行うことができる。
【０１０６】
本実施例の実行多重度制御システム１０１によれば、サービスオブジェクト１３５〜１３７の実行多重度の制御について、ユーザの個々のニーズに対応したきめ細かい制御を行うことが可能となる。
【０１０７】
なお、本発明の一実施形態について説明したが、以上の実施形態の説明は本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明はその趣旨を逸脱することなく、変更、改良され得ると共に本発明にはその等価物が含まれることは勿論である。
【図面の簡単な説明】
【０１０８】
【図１Ａ】本発明の一実施形態として説明する実行多重度制御システム１０１、及び前記実行多重度制御システムによる制御の対象となる分散オブジェクトシステム１３１の概略的な構成を示す図である。
【図１Ｂ】本発明の一実施形態として説明する分散オブジェクトシステム１３１を実現している情報処理装置１〜５（符号１３２ａ〜１３２ｅ）、負荷分散装置１３３、及びネーミングサービス１３４のハードウエアとして用いられる典型的なコンピュータのブロック図を示す図である。
【図１Ｃ】本発明の一実施形態として説明する実行多重度制御システム１０１のハードウエアとして用いられる典型的なコンピュータのブロック図を示す図である。
【図２】本発明の一実施形態として説明する負荷分布蓄積テーブル１１２の一例を示す図である。
【図３】本発明の一実施形態として説明する要求分布蓄積テーブル１１４の一例を示す図である。
【図４】本発明の一実施形態として説明する効果指標テーブル１１６の一例を示す図である。
【図５】本発明の一実施形態として説明するクオータテーブル１１８の一例を示す図である。
【図６】本発明の一実施形態として説明するリソース管理テーブル１２０の一例を示す図である。
【図７】本発明の一実施形態として説明するプログラムリポジトリ１２２の一例を示す図である。
【図８】本発明の一実施形態として説明する負荷情報取得部１１１によって行われる処理の流れを説明するフローチャートを示す図である。
【図９】本発明の一実施形態として説明する要求情報取得部１１３によって行われる処理の流れを説明するフローチャートを示す図である。
【図１０】本発明の一実施形態として説明する効果指標算出部１１５によって行われる処理の流れを説明するフローチャートを示す図である。
【図１１】本発明の一実施形態として説明する構成決定部１１７１によって行われる処理の流れを説明するフローチャートを示す図である。
【図１２】本発明の一実施形態として説明する構成決定部１１７１によって一時的にメモリ上に作成されるテンポラリテーブル１２００の一例を示す図である。
【図１３】本発明の一実施形態として説明するリソース割り当て部１１７２によって行われる処理の流れを説明するフローチャートを示す図である。
【図１４】本発明の一実施形態として説明するリソース割り当て部１１７２によって生成されるプログラム配付・設定スクリプト１４０１の一例を示す図である。
【図１５】本発明の一実施形態として説明するプログラム配付・設定部１１７３によって行われる処理の流れを説明するフローチャートを示す図である。
【図１６】本発明の一実施形態として説明する効果指標テーブル１１６の一例を示す図である。
【図１７】本発明の一実施形態として説明する効果指標算出部（差分取得部）１１５によって行われる処理の流れを説明するフローチャートを示す図である。
【図１８】本発明の一実施形態として説明する要求分布予測テーブル１８０１の一例を示す図である。
【符号の説明】
【０１０９】
１０１  実行多重度制御システム
１３１  分散オブジェクトシステム
１１１  負荷情報取得部
１１２  負荷分布蓄積テーブル
１１３  要求情報取得部
１１４  要求分布蓄積テーブル
１１５  効果指標算出部
１１６  効果指標テーブル
１１７  実行多重度制御部
１１７１  構成決定部
１１７２  リソース割り当て部
１１７３  プログラム配布・設定部
１１８  クオータテーブル
１２０  リソース管理テーブル
１２２  プログラムリポジトリ
１３２  情報処理装置１〜５
１３３  負荷分散装置
１３４  ネーミングサービス
１３５〜１３７  サービスオブジェクト
１４０  クライアント装置
【図１Ａ】
2005202894.tif 000003
【図１Ｂ】
2005202894.tif 000004
【図１Ｃ】
2005202894.tif 000005
【図２】
2005202894.tif 000006
【図３】
2005202894.tif 000007
【図４】
2005202894.tif 000008
【図５】
2005202894.tif 000009
【図６】
2005202894.tif 000010
【図７】
2005202894.tif 000011
【図８】
2005202894.tif 000012
【図９】
2005202894.tif 000013
【図１０】
2005202894.tif 000014
【図１１】
2005202894.tif 000015
【図１２】
2005202894.tif 000016
【図１３】
2005202894.tif 000017
【図１４】
2005202894.tif 000018
【図１５】
2005202894.tif 000019
【図１６】
2005202894.tif 000020
【図１７】
2005202894.tif 000021
【図１８】
2005202894.tif 000022