(57)【要約】      （修正有）【課題】仮想的な処理装置を表すインスタンスを物理的な情報処理装置に、高い応答性能を達成するように配置するインスタンス配置装置、方法及びプログラムを提供する。【解決手段】インスタンス配置装置１０１が、各情報処理装置２１１に関する許容量を超過していないという制約条件及びインスタンスを配置する配置先が、インスタンスによって実現されるサービス間において相互に排他的であるという制約条件を満たしている配置を実行する。前者の制約条件を満たしている配置パターンに従えば、各情報処理装置は、配置されたインスタンスを、情報処理装置が有する許容量の範囲にて処理することができる。後者の制約条件を満たしている配置パターンに従えば、ある１つのサービスに関する負荷が上昇した場合であっても、１つのサービスとは異なるサービスが配置されている情報処理装置２１１に関する余剰能力は、１つのサービスの影響を受けにくくなる。【選択図】図１
2017097642.tif 000002
【特許請求の範囲】
【請求項１】
サービスを提供している仮想処理装置を表すインスタンスを一意に識別可能なインスタンス識別子と、物理情報処理装置を一意に識別可能な装置識別子とが関連付けされた配置セットを含む配置情報を作成する配置情報作成手段と、
前記装置識別子に関連付けされた前記インスタンス識別子が表すインスタンスに関する処理量の合計値が、前記物理情報処理装置が処理可能な処理量を表す許容量以下である前記配置セットを表す第１適合配置セットを、前記配置情報から選択する第１配置選択手段と、
前記インスタンス識別子が表すインスタンスに関する前記サービスを一意に識別可能なサービス識別子と、前記インスタンス識別子に関連付けされた前記装置識別子とが関連付けされたサービス装置情報を複数作成し、作成した複数のサービス装置情報がお互いに排他的である程度を表す排他度が所定の条件を満たしている前記配置セットを表す第２適合配置セットを、前記配置情報から選択する第２配置選択手段と、
前記配置セットのうち、前記第１適合配置セットと、前記第２適合配置セットとに共通して含まれている前記配置セットに従って、前記インスタンス識別子が表すインスタンスを、前記インスタンス識別子に関連付けされた前記装置識別子が表す前記物理情報処理装置に配置する配置実行手段と
を備えるインスタンス配置装置。
【請求項２】
前記第１配置選択手段は、前記インスタンス識別子、及び、前記インスタンス識別子が表す前記インスタンスに関する処理量が関連付けされたインスタンス情報において、前記インスタンス識別子に関連付けされた前記処理量を特定し、前記装置識別子、及び、前記装置識別子が表す前記物理情報処理装置に関する前記許容量が関連付けされた装置情報において、前記装置識別子に関連付けされた前記許容量を特定することによって、前記第１適合配置セットを選択する
請求項１に記載のインスタンス配置装置。
【請求項３】
前記第２適合配置セットは、前記インスタンス識別子に、さらに、前記インスタンス識別子が表す前記インスタンスに関する前記サービスを識別可能な前記サービス識別子が関連付けされた前記インスタンス情報において、前記インスタンス識別子に関連付けされた前記サービス識別子を特定することによって、前記サービス装置情報を作成する
請求項２に記載のインスタンス配置装置。
【請求項４】
前記第１適合配置セットと、前記第２適合配置セットとに共通して含まれている前記配置セットを表す第３適合配置セットを選択する配置選択手段
をさらに備え、
前記配置実行手段は、前記第３適合配置セットに従い、前記インスタンスを前記物理情報処理装置に配置する
請求項１乃至請求項３のいずれかに記載のインスタンス配置装置。
【請求項５】
前記配置選択手段は、前記第１適合配置セットと、前記第２適合配置セットとに共通して含まれている前記配置セットが複数ある場合に、複数の前記配置セットの中から前記排他度が最小の前記配置セットを、前記第３適合配置セットとして選択する
請求項４に記載のインスタンス配置装置。
【請求項６】
前記第３適合配置セットにおける前記装置識別子が表す前記物理情報処理装置の処理量と、前記装置識別子に関連付けされた前記インスタンス識別子が表す前記インスタンスに関する処理量との合計値の分散値が、所定の閾値以下である前記配置セットを表す第４適合配置セットを、前記第３適合配置セットから選択する均等度判定手段
をさらに備え
前記配置実行手段は、前記第４適合配置セットに従い、前記インスタンスを前記物理情報処理装置に配置する
請求項４または請求項５に記載のインスタンス配置装置。
【請求項７】
請求項１乃至請求項６のいずれかに記載のインスタンス配置装置と、
前記サービスに関するリクエストを、前記サービスにおける前記インスタンスが配置された前記物理情報処理装置における負荷が少ない前記物理情報処理装置に振り分ける負荷分散装置と
を備える情報処理システム。
【請求項８】
請求項１乃至請求項６のいずれかに記載のインスタンス配置装置と、
前記サービスに関するリクエストの頻度に基づき、前記リクエストを、前記サービスにおける前記インスタンスが配置された前記物理情報処理装置における前記頻度が少ない前記物理情報処理装置に振り分ける負荷分散装置と
を備える情報処理システム。
【請求項９】
サービスを提供している仮想処理装置を表すインスタンスを一意に識別可能なインスタンス識別子と、物理情報処理装置を一意に識別可能な装置識別子とが関連付けされた配置セットを含む配置情報を作成し、
前記装置識別子に関連付けされた前記インスタンス識別子が表すインスタンスに関する処理量の合計値が、前記物理情報処理装置が処理可能な処理量を表す許容量以下である前記配置セットを表す第１適合配置セットを、前記配置情報から選択し、
前記インスタンス識別子が表すインスタンスに関する前記サービスを一意に識別可能なサービス識別子と、前記インスタンス識別子に関連付けされた前記装置識別子とが関連付けされたサービス装置情報を複数作成し、作成した複数のサービス装置情報がお互いに排他的である程度を表す排他度が所定の条件を満たしている前記配置セットを表す第２適合配置セットを、前記配置情報から選択し、
前記配置セットのうち、前記第１適合配置セットと、前記第２適合配置セットとに共通して含まれている前記配置セットに従って、前記インスタンス識別子が表すインスタンスを、前記インスタンス識別子に関連付けされた前記装置識別子が表す前記物理情報処理装置に配置する
インスタンス配置方法。
【請求項１０】
サービスを提供している仮想処理装置を表すインスタンスを一意に識別可能なインスタンス識別子と、物理情報処理装置を一意に識別可能な装置識別子とが関連付けされた配置セットを含む配置情報を作成する配置情報作成機能と、
前記装置識別子に関連付けされた前記インスタンス識別子が表すインスタンスに関する処理量の合計値が、前記物理情報処理装置が処理可能な処理量を表す許容量以下である前記配置セットを表す第１適合配置セットを、前記配置情報から選択する第１配置選択機能と、
前記インスタンス識別子が表すインスタンスに関する前記サービスを一意に識別可能なサービス識別子と、前記インスタンス識別子に関連付けされた前記装置識別子とが関連付けされたサービス装置情報を複数作成し、作成した複数のサービス装置情報がお互いに排他的である程度を表す排他度が所定の条件を満たしている前記配置セットを表す第２適合配置セットを、前記配置情報から選択する第２配置選択機能と、
前記配置セットのうち、前記第１適合配置セットと、前記第２適合配置セットとに共通して含まれている前記配置セットに従って、前記インスタンス識別子が表すインスタンスを、前記インスタンス識別子に関連付けされた前記装置識別子が表す前記物理情報処理装置に配置する配置実行機能と
をコンピュータに実現させるインスタンス配置プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想的な処理装置を表すインスタンスを、情報処理装置に配置するインスタンス配置装置等に関する。
【背景技術】
【０００２】
物理的に複数存在している情報処理装置（物理的な情報処理装置、物理情報処理装置）によって構成される情報処理システムにおいて、１つのサービスを重複して配置する冗長構成が知られている。該冗長構成を有する情報処理システムにおいて、負荷分散装置は、あるサービスに対するリクエストを、該あるサービスを提供している複数の物理的な情報処理装置に割り当てる。冗長構成によれば、サービスを提供している物理的な情報処理装置のうち一部の物理的な情報処理装置に障害が起きた場合であっても、該サービスに対するリクエストは、他の物理的な情報処理装置に振り分けられる。したがって、冗長構成によれば、システムの可用性を高めることができる。サービスを提供する態様としては、仮想計算機（ＶＭ）、サービスにおける機能、コンテナ等の形態がある。サービスを提供しているインスタンスを冗長に物理的な情報処理装置に配置することによって、耐障害性をもった情報処理システムを構築することができる。
【０００３】
特許文献１は、仮想計算機を冗長に物理的な情報処理装置に配置する装置を開示している。特許文献１に開示された装置は、想定している障害の回数、及び、サービスレベルを確保するのに要する仮想計算機の台数に基づき、必要な物理的な情報処理装置の台数を算出する。該装置は、算出した台数の物理的な情報処理装置に仮想計算機を配置することによって、高い可用性を確保する。
【０００４】
特許文献２は、複数の仮想計算機が有する性能値を測定し、測定した性能値間の相関関係（または、類似関係）を算出し、算出した相関関係に応じて、仮想計算機を複数の物理的な情報処理装置に配置する装置を開示している。お互いに類似関係を有すると算出された仮想計算機が冗長的に同じ内容のサービスを提供している可能性が高いという仮定に基づき、該装置は、類似関係を有すると算出された仮想計算機を、異なる物理的な情報処理装置に配置する。該装置によれば、耐障害性を有したクラスタシステムを構成することが可能である。
【０００５】
物理的な情報処理装置に複数サービスが配置されている情報処理システムにおいては、物理的な情報処理装置が有している計算リソース（以降、計算リソースを「リソース」と表す）を効率的に利用することができる。しかし、該情報処理システムにおいて、物理的な情報処理装置における負荷の上昇は、該物理的な情報処理装置に配置されているサービスの性能劣化につながる。特許文献３は、物理的な情報処理装置に関する複数の性能指標に基づき、ある物理的な情報処理装置の負荷が上昇した場合に、該ある物理的な情報処理装置に割り当てられた仮想計算機を、該ある物理的な情報処理装置と異なる情報処理装置に配置する装置を開示する。すなわち、該装置は、高負荷である情報処理装置に割り当てられた仮想計算機を、負荷が比較的小さい情報処理装置に配置する。該装置によれば、物理的な情報処理装置に配置されているサービスに関して、性能劣化が減少する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第５３５３７１２号公報
【特許文献２】特許第５７２９４６６号公報
【特許文献３】国際公開第２０１３／０９９０１９号
【発明の概要】
【発明が解決しようとする課題】
【０００７】
説明の便宜上、情報処理システムは、サービスを提供する物理的な情報処理装置と、該サービスに対するリクエストを物理的な情報処理装置に配置する負荷分散装置とを有するとする。該情報処理システムは、サービスを提供しているインスタンスを冗長に有しているとする。このような情報処理システムにおいて、特定のサービスに対する負荷が急激に上昇する例を参照しながら課題について説明する。
【０００８】
「背景技術」に示したように、特許文献３に開示された装置は、高負荷な情報処理装置に割り当てられたインスタンスを、低負荷な情報処理装置に配置する。しかし、物理的な情報処理装置間にてインスタンスを配置する処理には長い処理時間を要するので、たとえ、特許文献３に開示された装置を用いてインスタンスを配置し直したとしても、負荷が急激に上昇する場合には、性能が劣化してしまう。
【０００９】
さらに、上述のように仮定された例の場合には、特許文献２に開示された装置を用いたとしても、性能が劣化してしまう。この理由について説明する。
【００１０】
説明の便宜上、４つの物理的な情報処理装置（説明の便宜上、各情報処理装置を「第１乃至第４情報処理装置」と表す）に、４つの異なるサービスを提供しているインスタンスが冗長的に配置されているとする。第１情報処理装置には、サービスＡを提供するインスタンスと、サービスＢを提供するインスタンスが配置されているとする。第２情報処理装置には、サービスＡを提供するインスタンスと、サービスＢを提供するインスタンスが配置されているとする。第３情報処理装置には、サービスＣを提供するインスタンスと、サービスＤを提供するインスタンスが配置されているとする。第４情報処理装置には、サービスＣを提供するインスタンスと、サービスＤを提供するインスタンスが配置されているとする。
【００１１】
特許文献２に開示された装置において、負荷分散装置は、サービスＡに対するリクエスト、サービスＢに対するリクエスト、サービスＣに対するリクエスト、または、サービスＤに対するリクエストを、各サービスを提供しているインスタンスを提供している物理的な情報処理装置に送信する。サービスＡに対するリクエストが増えることによって、サービスＡを提供している第１情報処理装置と第２情報処理装置との負荷はそれぞれ増大する。これに対して、サービスＡを提供していない第３情報処理装置と第４情報処理装置とにおける負荷は変化しない。この結果、第１情報処理装置及び第２情報処理装置にて提供されているサービスＡだけでなく、第１情報処理装置及び第２情報処理装置にて提供されているサービスＢに対する応答性能も劣化する。
【００１２】
そこで、本発明の主たる目的は、仮想的な処理装置を表すインスタンスを物理的な情報処理装置に、高い応答性能を達成するように配置するインスタンス配置装置等を提供することである。
【課題を解決するための手段】
【００１３】
前述の目的を達成するために、本発明の一態様において、インスタンス配置装置は、
サービスを提供している仮想処理装置を表すインスタンスを一意に識別可能なインスタンス識別子と、物理情報処理装置を一意に識別可能な装置識別子とが関連付けされた配置セットを含む配置情報を作成する配置情報作成手段と、
前記装置識別子に関連付けされた前記インスタンス識別子が表すインスタンスに関する処理量の合計値が、前記物理情報処理装置が処理可能な処理量を表す許容量以下である前記配置セットを表す第１適合配置セットを、前記配置情報から選択する第１配置選択手段と、
前記インスタンス識別子が表すインスタンスに関する前記サービスを一意に識別可能なサービス識別子と、前記インスタンス識別子に関連付けされた前記装置識別子とが関連付けされたサービス装置情報を複数作成し、作成した複数のサービス装置情報がお互いに排他的である程度を表す排他度が所定の条件を満たしている前記配置セットを表す第２適合配置セットを、前記配置情報から選択する第２配置選択手段と、
前記配置セットのうち、前記第１適合配置セットと、前記第２適合配置セットとに共通して含まれている前記配置セットに従って、前記インスタンス識別子が表すインスタンスを、前記インスタンス識別子に関連付けされた前記装置識別子が表す前記物理情報処理装置に配置する配置実行手段と
を備える。
【００１４】
また、本発明の他の見地として、インスタンス配置方法は、
サービスを提供している仮想処理装置を表すインスタンスを一意に識別可能なインスタンス識別子と、物理情報処理装置を一意に識別可能な装置識別子とが関連付けされた配置セットを含む配置情報を作成し、
前記装置識別子に関連付けされた前記インスタンス識別子が表すインスタンスに関する処理量の合計値が、前記物理情報処理装置が処理可能な処理量を表す許容量以下である前記配置セットを表す第１適合配置セットを、前記配置情報から選択し、
前記インスタンス識別子が表すインスタンスに関する前記サービスを一意に識別可能なサービス識別子と、前記インスタンス識別子に関連付けされた前記装置識別子とが関連付けされたサービス装置情報を複数作成し、作成した複数のサービス装置情報がお互いに排他的である程度を表す排他度が所定の条件を満たしている前記配置セットを表す第２適合配置セットを、前記配置情報から選択し、
前記配置セットのうち、前記第１適合配置セットと、前記第２適合配置セットとに共通して含まれている前記配置セットに従って、前記インスタンス識別子が表すインスタンスを、前記インスタンス識別子に関連付けされた前記装置識別子が表す前記物理情報処理装置に配置する。
【００１５】
また、本発明の他の見地として、インスタンス配置プログラムは、
サービスを提供している仮想処理装置を表すインスタンスを一意に識別可能なインスタンス識別子と、物理情報処理装置を一意に識別可能な装置識別子とが関連付けされた配置セットを含む配置情報を作成する配置情報作成機能と、
前記装置識別子に関連付けされた前記インスタンス識別子が表すインスタンスに関する処理量の合計値が、前記物理情報処理装置が処理可能な処理量を表す許容量以下である前記配置セットを表す第１適合配置セットを、前記配置情報から選択する第１配置選択機能と、
前記インスタンス識別子が表すインスタンスに関する前記サービスを一意に識別可能なサービス識別子と、前記インスタンス識別子に関連付けされた前記装置識別子とが関連付けされたサービス装置情報を複数作成し、作成した複数のサービス装置情報がお互いに排他的である程度を表す排他度が所定の条件を満たしている前記配置セットを表す第２適合配置セットを、前記配置情報から選択する第２配置選択機能と、
前記配置セットのうち、前記第１適合配置セットと、前記第２適合配置セットとに共通して含まれている前記配置セットに従って、前記インスタンス識別子が表すインスタンスを、前記インスタンス識別子に関連付けされた前記装置識別子が表す前記物理情報処理装置に配置する配置実行機能と
をコンピュータに実現させる。
【００１６】
さらに、同目的は、係るインスタンス配置プログラムを記録するコンピュータが読み取り可能な記録媒体によっても実現される。
【発明の効果】
【００１７】
本発明に係るインスタンス配置装置等によれば、仮想的な処理装置を表すインスタンスを物理的な情報処理装置に、高い応答性能を達成するように配置することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の第１の実施形態に係るインスタンス配置装置が有する構成を示すブロック図である。
【図２】第１の実施形態に係るインスタンス配置装置における処理の流れを示すフローチャートである。
【図３】第１の実施形態に係るインスタンス配置装置がステップＳ１０２にて実行する処理の流れを示すフローチャートである。
【図４】第１の実施形態に係るインスタンス配置装置がステップＳ１０３にて実行する処理の流れを示すフローチャートである。
【図５】インスタンス情報の一例を概念的に表す図である。
【図６】インスタンス情報の一例を概念的に表す図である。
【図７】装置情報の一例を概念的に表す図である。
【図８】複数の配置パターンを含む配置情報の一例を概念的に表す図である。
【図９】サービス装置情報の一例を概念的に表す図である。
【図１０】本発明の第２の実施形態に係る情報処理システムが有する構成を示すブロック図である。
【図１１】本発明の第２の実施形態に係るインスタンス配置装置が有する構成を示すブロック図である。
【図１２】第２の実施形態に係る情報処理システムにおける処理の流れを示すフローチャートである。
【図１３】第２の実施形態に係る負荷分散装置における処理の流れを示すフローチャートである。
【図１４】リソース制約判定部における処理の流れを示すフローチャートである。
【図１５】排他制約判定部における処理の流れを示すフローチャートである。
【図１６】インスタンス情報の一例を概念的に表す図である。
【図１７】本発明の第３の実施形態に係る情報処理システムが有する構成を示すブロック図である。
【図１８】本発明の第３の実施形態に係るインスタンス配置装置が有する構成を示すブロック図である。
【図１９】第３の実施形態に係る情報処理装置における処理の流れを示すフローチャートである。
【図２０】インスタンス情報の一例を概念的に表す図である。
【図２１】本発明の第４の実施形態に係る情報処理システムが有する構成を示すブロック図である。
【図２２】本発明の第４の実施形態に係る負荷分散装置が有する構成を示すブロック図である。
【図２３】リクエストを受信した場合における、第４の実施形態に係る負荷分散装置における処理の流れを示すフローチャートである。
【図２４】第４の実施形態に係る負荷分散装置における処理の流れを示すフローチャートである。
【図２５】インスタンス情報の一例を概念的に表す図である。
【図２６】装置情報の一例を概念的に表す図である。
【図２７】インスタンス情報の一例を概念的に表す図である。
【図２８】配置情報の一例を概念的に表す図である。
【図２９】インスタンス情報の一例を概念的に表す図である。
【図３０】インスタンス情報の一例を概念的に表す図である。
【図３１】インスタンス情報の一例を概念的に表す図である。
【図３２】負荷情報の一例を概念的に表す図である。
【図３３】本発明の第５の実施形態に係るインスタンス配置装置が有する構成を示すブロック図である。
【図３４】本発明の各実施形態に係るインスタンス配置装置、または、負荷分散装置を実現可能な計算処理装置のハードウェア構成例を、概略的に示すブロック図である。
【発明を実施するための形態】
【００１９】
次に、本発明を実施する実施形態について図面を参照しながら説明する。
【００２０】
＜第１の実施形態＞
図１を参照しながら、本発明の第１の実施形態に係るインスタンス配置装置１０１が有する構成について説明する。図１は、本発明の第１の実施形態に係るインスタンス配置装置１０１が有する構成を示すブロック図である。
【００２１】
第１の実施形態に係るインスタンス配置装置１０１は、配置情報作成部１０２と、第１配置選択部１０３と、第２配置選択部１０４と、配置実行部１０５とを有する。
【００２２】
インスタンス配置装置１０１は、インスタンス情報記憶部２１２に格納されているインスタンス情報（図５に例示、後述）、及び、装置情報記憶部２１３に格納されている装置情報（図７に例示、後述）を参照することによって、複数の物理的な情報処理装置２１１にインスタンスを配置する。インスタンス情報は、必ずしも、インスタンス情報記憶部２１２に格納されている必要はなく、たとえば、通信ネットワークを介して受信（入手）されてもよい。装置情報は、必ずしも、装置情報記憶部２１３に格納されている必要はなく、たとえば、通信ネットワークを介して受信（入手）されてもよい。以降の説明においては、説明の便宜上、インスタンス情報は、インスタンス情報記憶部２１２に格納されているとする。装置情報は、装置情報記憶部２１３に格納されているとする。以降、物理的な情報処理装置を「物理情報処理装置」とも表す。
【００２３】
まず、インスタンス等の用語について説明し、その後、図５及び図７を参照しながら、インスタンス配置装置１０１が参照可能なインスタンス情報、及び、装置情報について説明する。まず、インスタンスについて説明する。
【００２４】
インスタンスは、サービスが提供される態様を表し、たとえば、サービスを実現（提供）しているプログラムにおける機能、該機能を実現している仮想計算機（ＶＭ）、または、該機能を実現している仮想コンテナ等の仮想的な処理装置（「仮想処理装置」とも表す）を表す。インスタンスは、たとえば、ユーザがサービスに対して要求したリクエストを受信した場合に、受信したリクエストに応じた処理を実行し、該リクエストに対する応答信号として、処理結果を該ユーザに送信する。
【００２５】
インスタンスを実際に処理する情報処理装置２１１は、自装置に配置されたインスタンスを起動することによって、サービスの提供を開始する。インスタンスは、必ずしも１台の情報処理装置２１１に配置される必要はなく、複数台の情報処理装置２１１に配置されてもよい。インスタンスは、該インスタンスが配置された情報処理装置２１１が有しているリソースを用いることによって、サービスに関する処理を実行する。あるサービスが複数のインスタンスを用いて実現されている場合に、該複数のインスタンスは、１台の情報処理装置２１１に配置されてもよいし、複数の情報処理装置２１１に配置されてもよい。
【００２６】
ユーザは、各インスタンスに対して、該インスタンスが提供しているサービスの内容、該インスタンスが単位時間に処理するリクエストの個数等に基づき、該サービスを継続的に提供するのに必要なリソース量を、リソースの要求量（処理量）として決定してもよい。
【００２７】
次に、図５を参照しながら、インスタンス情報について説明する。図５は、インスタンス情報の一例を概念的に表す図である。
【００２８】
インスタンス情報記憶部２１２は、たとえば、以下の項目１乃至項目３に示す項目が関連付けされたインスタンス情報を記憶することができる。すなわち、
（項目１）インスタンスを一意に識別可能なインスタンス識別子（以降、識別子を「ＩＤ」と表す）、
（項目２）該インスタンスが提供しているサービスを一意に識別可能なサービスＩＤ、
（項目３）該インスタンスを処理するのに要するリソース量を表す処理量（「要求量」とも表す）。
【００２９】
たとえば、図５に例示されたインスタンス情報においては、インスタンスＩＤ「２」と、サービスＩＤ「３」と、処理量「Ｄ２」とが関連付けされている。これは、インスタンスＩＤ「２」が表すインスタンスが、サービスＩＤ「３」が表すサービスを提供しており、該インスタンスに関する処理量が「Ｄ２」であることを表す。
【００３０】
本実施形態において、インスタンス情報は、図６に例示されているように、さらに、以下の項目４を含んでいてもよい。図６は、インスタンス情報の一例を概念的に表す図である。すなわち、
（項目４）該インスタンスが配置される配置先を表す物理的な情報処理装置２１１を一意に識別可能な装置ＩＤ。
【００３１】
インスタンス情報において、装置ＩＤが空値である状態は、インスタンスが情報処理装置２１１に配置されていない（または、配置が決定されていない）ことを表す。すなわち、インスタンスが情報処理装置２１１に配置されていない（または、配置が決定されていない）場合において、装置ＩＤは、空値である。インスタンスを情報処理装置２１１に配置する処理を実行している間、または、インスタンスを情報処理装置２１１に配置する処理を完了した後において、インスタンス情報は、該インスタンスが配置される物理的な情報処理装置２１１を表す装置ＩＤを含んでいる。
【００３２】
インスタンス情報は、図５及び図６に示された例に限定されない。
【００３３】
インスタンス情報に含まれている処理量について詳細に説明する。説明の便宜上、情報処理システムは、ｎ（ただし、ｎは自然数）種類のリソースを含んでいるとする。インスタンスＩＤは、ｊ（ただし、ｊは自然数）を用いて表すとする。以降、インスタンスＩＤがｊであるインスタンスを、「第ｊインスタンス」と表す。また、第ｊインスタンスに関する処理量をＤｊと表すとする。さらに、第ｊインスタンスに関して、第ｋ（ただし、ｋは、１≦ｋ≦ｎの整数）リソースにて処理する処理量をｄｊｋと表すとする。この場合に、第ｊインスタンスに関する処理量Ｄｊは、式１に示すように、処理量ｄｊｋを用いて表すことができる。
【００３４】
Ｄｊ＝（ｄｊｋ）＝（ｄｊ１、ｄｊ２、・・・、ｄｊｎ）・・・（式１）、
ただし、ｊは、自然数を表す。ｋは、１≦ｋ≦ｎの整数を表す。
【００３５】
式１によれば、第ｊインスタンスに関する処理量は、たとえば、第１リソースに関してｄｊ１であり、第２リソースに関してｄｊ２であり、第ｎリソースに関してｄｊｎであることを表す。
【００３６】
次に、図７を参照しながら、装置情報について詳細に説明する。図７は、装置情報の一例を概念的に表す図である。
【００３７】
装置情報記憶部２１３は、物理的な情報処理装置２１１を一意に識別可能な装置ＩＤと、該装置ＩＤが表す情報処理装置２１１に関する許容量とが関連付けされた装置情報を記憶することができる。図７に例示された装置情報においては、装置ＩＤ「２」と、許容量「Ｃ２」とが関連付けされている。これは、装置ＩＤ「２」が表す物理的な情報処理装置２１１に関する許容量が「Ｃ２」であることを表す。ここで、装置情報に含まれている許容量について詳細に説明する。
【００３８】
説明の便宜上、装置ＩＤがｉ（ただし、ｉは、自然数）である物理的な情報処理装置２１１を「第ｉ情報処理装置」と表すとする。また、第ｉ情報処理装置が有する第ｋリソースに関する許容量をｃｉｋと表すとする。この場合に、第ｉ情報処理装置に関する許容量Ｃｉは、式２として表すことができる。すなわち、
Ｃｉ＝（ｃｉｋ）＝（ｃｉ１、ｃｉ２、・・・、ｃｉｎ）・・・（式２）。
【００３９】
式２によれば、第ｉ情報処理装置に関する許容量は、たとえば、第１リソースに関してｃｉ１であり、第２リソースに関してｃｉ２であり、第ｎリソースに関してｃｉｎであることを表す。リソースが複数の物理的な情報処理装置２１１間にて異なっている場合に、式２におけるｎは、情報処理装置２１１間にて値が異なる。
【００４０】
装置情報は、図７に示された例に限定されない。
【００４１】
次に、図２を参照しながら、本発明の第１の実施形態に係るインスタンス配置装置１０１における処理について説明する。図２は、第１の実施形態に係るインスタンス配置装置１０１における処理の流れを示すフローチャートである。
【００４２】
配置情報作成部１０２は、インスタンス情報記憶部２１２に格納されているインスタンス情報（図５、図６等に例示）を参照することによって、処理対象であるインスタンスを表すインスタンスＩＤのうち、あるサービスＩＤに関連付けされたインスタンスＩＤを選択する。配置情報作成部１０２は、配置先が決まっていないサービスを表すサービスＩＤに関連付けされたインスタンスＩＤを選択する。たとえば、配置情報作成部１０２は、図６に例示されているインスタンス情報を参照することによって、装置ＩＤが空値である欄におけるサービスＩＤが表すサービスを、配置先が決まっていないサービスとして選択する。ただし、配置情報作成部１０２がインスタンスＩＤを選択する方法は上述した方法に限定されない。
【００４３】
配置情報作成部１０２は、装置情報記憶部２１３に格納されている装置情報（図７）を参照することによって、物理的な情報処理装置２１１を表す装置ＩＤを読み取る。配置情報作成部１０２は、所定の配置算出手順に従い、選択したインスタンスＩＤが表すインスタンスを配置する配置先を表す装置ＩＤを算出し、選択したインスタンスＩＤと、算出した装置ＩＤとが関連付けされた配置セット（図８、以降、「配置パターン」とも表す）を作成する（ステップＳ１０１）。配置情報作成部１０２は、１つ以上の配置パターンを算出し、算出した１つ以上の配置パターンを含む配置情報（図８）を作成してもよい。配置情報、及び、配置パターンに関しては、図８を参照しながら後述する。
【００４４】
所定の配置算出手順は、たとえば、１つのインスタンスＩＤが表すインスタンスの配置先として、装置ＩＤが表す物理的な情報処理装置２１１をランダムに選択する手順である。所定の配置算出手順は、上述した例に限定されない。配置パターンは、たとえば、選択したインスタンスＩＤを検索キーとし、該インスタンスＩＤが表すインスタンスの配置先を表す装置ＩＤを値とする連想配列を用いても実現することができる。
【００４５】
配置情報作成部１０２は、作成した配置情報を、第１配置選択部１０３と、第２配置選択部１０４とに対して出力する。
【００４６】
ステップＳ１０２における処理を説明する前に、図８を参照しながら、配置情報、及び、配置パターンについて説明する。図８は、複数の配置パターンを含む配置情報の一例を概念的に表す図である。
【００４７】
配置パターンにおいては、あるサービスを提供している各インスタンスに関して、インスタンスＩＤと、該インスタンスの配置先を表す装置ＩＤとが関連付けされている。たとえば、第１配置パターンにおいては、インスタンスＩＤ「３」と、装置ＩＤ「４」とが関連付けされている。これは、インスタンスＩＤ「３」が表すインスタンスが、装置ＩＤ「４」が表す物理的な情報処理装置に配置されることを表す。
【００４８】
配置情報は、該あるサービスに関する配置パターンを含んでもよい。たとえば、図８に例示された配置情報は、サービスＩＤ「２」に関して作成された第１配置パターン乃至第３配置パターンを含む。配置情報は、少なくとも１つの配置パターンを含んでいればよく、上述した例に限定されない。
【００４９】
たとえば、配置情報は、複数のサービスに関して、サービスごとに分類された配置パターンを含んでいてもよいし、１つのサービスに関する配置パターンのみを含んでいてもよい。また、配置情報は、サービスごとに分類された配置パターンからサービスごとに１つの配置パターンを選択し、選択した各配置パターンが組み合わされた組み合わせ（言い換えれば、配置パターン）を含む配置情報であってもよい。また、配置情報においては、該組み合わせが複数であってもよい。
【００５０】
説明の便宜上、本実施形態において、配置情報は、サービスごとに分類された配置パターンからサービスごとに１つの配置パターンを選択し、選択した各配置パターンが組み合わされた組み合わせを含むとする。
【００５１】
図２を参照しながら、ステップＳ１０２以降の処理について説明する。第１配置選択部１０３は、配置情報作成部１０２が出力した配置情報（図８）を入力し、入力した配置情報の中から所定の制約条件を満たしている配置セットを選択する（ステップＳ１０２）。以降の説明においては、第１配置選択部１０３が選択した配置セットを、「第１適合配置セット」と表す。
【００５２】
言い換えると、第１配置選択部１０３は、ステップＳ１０２において、各配置セットに含まれている装置ＩＤに関連付けされたインスタンスＩＤが表すインスタンスに関する処理量の合計値を、装置ＩＤごとに算出する。第１配置選択部１０３は、算出した合計値が、該物理的な情報処理装置２１１が処理可能な処理量を表す許容量以下である配置セットを、第１適合配置セットとして選択する。第１配置選択部１０３は、選択した第１適合配置セットを配置実行部１０５に対して出力する。
【００５３】
図３を参照しながら、ステップＳ１０２における処理について詳細に説明する。図３は、第１の実施形態に係るインスタンス配置装置１０１がステップＳ１０２にて実行する処理の流れを示すフローチャートである。
【００５４】
たとえば、第１配置選択部１０３は、配置情報に含まれている組み合わせに関して、装置ＩＤごとに、該装置ＩＤに関連付けされたインスタンスＩＤを特定し（ステップＳ１０２−１）、インスタンス情報（図５）を参照することによって、該インスタンスＩＤに関連付けされた処理量を特定する（ステップＳ１０２−２）。第１配置選択部１０３は、リソースごとに特定した処理量の合計値を算出する（ステップＳ１０２−３）。第１配置選択部１０３は、装置情報（図７）を参照することによって、該装置ＩＤに関連付けされた許容量を特定し（ステップＳ１０２−４）、算出した合計値と、特定した許容量とを、リソースごとに比較する（ステップＳ１０２−５）。第１配置選択部１０３は、各リソースに関して、該合計値が該許容量以下である組み合わせを第１適合配置セットとして、配置実行部１０５に対して出力する。
【００５５】
図２におけるステップＳ１０２の後に、第２配置選択部１０４は、配置情報作成部１０２が出力した配置情報（図８）を入力する。第２配置選択部１０４は、入力した配置情報の中から所定の制約条件を満たす配置パターンを選択し（ステップＳ１０３）、選択した配置パターン（以降、「第２適合配置セット」と表す）を配置実行部１０５に対して出力する。言い換えると、第２配置選択部１０４は、入力した配置情報（上述のように仮定された例では、組み合わせ）を参照することによって、配置パターンに含まれているインスタンスＩＤが表すインスタンスに関するサービスを一意に識別可能なサービスＩＤを特定する。第２配置選択部１０４は、入力した配置パターン（図８）を参照することによって、該インスタンスＩＤに関連付けされた装置ＩＤを特定する。第２配置選択部１０４は、特定したサービスＩＤと、特定した装置ＩＤとが関連付けされたサービス装置情報（図９に例示、後述）を複数作成し、複数のサービス装置情報が排他的である度合いを表す排他度が所定の条件を満たしている配置セットを表す第２適合配置セットを、配置情報から選択する（ステップＳ１０３）。所定の条件は、たとえば、排他度が所定の閾値以下であるか否かを表す条件である。排他度を算出する手順例については後述する。
【００５６】
図４を参照しながら、ステップＳ１０３における処理について詳細に説明する。図４は、第１の実施形態に係るインスタンス配置装置１０１がステップＳ１０３にて実行する処理の流れを示すフローチャートである。
【００５７】
たとえば、第２配置選択部１０４は、配置情報に含まれている組み合わせにおける配置パターンに含まれている装置ＩＤを読み取り（ステップＳ１０３−１）、読み取った装置ＩＤと、該配置パターンにおけるインスタンスによって提供されるサービスを表すサービスＩＤとが関連付けされたサービス装置情報（図９に例示）作成する（ステップＳ１０３−２）。第２配置選択部１０４は、作成したサービス装置情報（図９に例示、後述）に含まれている複数のサービス間に関する排他度を算出し（ステップＳ１０３−３）、算出した排他度が、いずれも、所定の条件を満たしているか否かを判定する（ステップＳ１０３−４）。第２配置選択部１０４は、算出した排他度が、いずれも、所定の条件を満たしている場合に、該組み合わせを第２適合配置セットとして、配置実行部１０５に対して出力する。
【００５８】
ここで、図９を参照しながら、第２配置選択部１０４が作成するサービス装置情報について説明する。図９は、サービス装置情報の一例を概念的に表す図である。
【００５９】
サービス装置情報においては、サービスＩＤと、該サービスＩＤが表すサービスに関するインスタンスが配置される情報処理装置２１１を表す装置ＩＤとが関連付けされている。図９に例示されたサービス装置情報においては、サービスＩＤ「３」と、装置ＩＤ「３，４」とが関連付けされている。これは、サービスＩＤ「３」が表すサービスを、装置ＩＤ「３」が表す物理的な情報処理装置２１１、及び、装置ＩＤ「４」が表す物理的な情報処理装置２１１に配置することを表す。サービス装置情報は、上述した例に限定されない。
【００６０】
図２におけるステップＳ１０３の後に、配置実行部１０５は、第１配置選択部１０３が出力した第１適合配置セット、及び、第２配置選択部１０４が出力した第２適合配置セットを入力し、これら２つに共通している配置パターン（配置セット）に従い、インスタンスを物理的な情報処理装置２１１に配置する（ステップＳ１０４）。
【００６１】
尚、インスタンス配置装置１０１は、ステップＳ１０３、ステップＳ１０２の順に処理を行ってもよいし、ステップＳ１０２、及び、ステップＳ１０３を並行（または、擬似的に並行）して処理を実行してもよい。
【００６２】
また、上述した処理において、インスタンス配置装置１０１は、サービスごとに選択された配置パターンを組み合わせ、該組み合わせの中から２つの制約条件を満たしている組み合わせを選択したが、後述する各実施形態に記載されているように、図２に示された処理と同様の処理を逐次的に実行してもよい。
【００６３】
次に、第１の実施形態に係るインスタンス配置装置１０１に関する効果について説明する。
【００６４】
第１の実施形態に係るインスタンス配置装置１０１によれば、インスタンスを物理的な情報処理装置に、高い応答性能を達成するように配置することができる。この理由は、インスタンス配置装置１０１が、各情報処理装置２１１に関する許容量を超過していないという制約条件、及び、インスタンスを配置する配置先が、該インスタンスによって実現されるサービス間において相互に排他的であるという制約条件を満たしている配置を実行するからである。言い換えると、前者の制約条件を満たしている配置パターンに従えば、各情報処理装置２１１は、配置されたインスタンスを、該情報処理装置２１１が有する許容量の範囲にて処理することができる。後者の制約条件を満たしている配置パターンに従えば、ある１つのサービスに関する負荷が上昇した場合であっても、該１つのサービスとは異なるサービスが配置されている情報処理装置２１１に関する余剰能力は、該１つのサービスの影響を受けにくくなる。
【００６５】
＜第２の実施形態＞
次に、上述した第１の実施形態を基本とする本発明の第２の実施形態について説明する。
【００６６】
以降の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第１の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
【００６７】
図１０を参照しながら、本発明の第２の実施形態に係る情報処理システム１５１が有する構成について説明する。図１０は、本発明の第２の実施形態に係る情報処理システム１５１が有する構成を示すブロック図である。
【００６８】
第２の実施形態に係る情報処理システム１５１は、複数台の物理的な情報処理装置２１１と、インスタンス情報記憶部２１２と、装置情報記憶部２１３と、インスタンス配置装置１１１と、負荷分散装置１５２とを有する。情報処理システム１５１においては、サービスに含まれている一部の機能を表すインスタンスが、複数個分、処理されるとする。
【００６９】
第１の実施形態に係るインスタンス配置装置１０１と同様に、インスタンス配置装置１１１は、所定の条件に基づき、複数個のインスタンスに含まれている各インスタンスを、物理的な情報処理装置２１１に配置する。
【００７０】
負荷分散装置１５２は、外部の通信ネットワーク１５３と、物理的な情報処理装置２１１とに通信接続可能である。負荷分散装置１５２は、サービスに関して受信したリクエストを、該サービスを提供しているインスタンスが配置された物理的な情報処理装置２１１に、該物理的な情報処理装置２１１の負荷（または、リソースの使用量等）に応じて振り分ける。
【００７１】
インスタンス配置装置１１１は、サービスを提供しているインスタンスを、物理的な情報処理装置２１１に配置する。物理的な情報処理装置２１１は、たとえば、ＣＰＵ、ＲＯＭ、ＲＡＭ、補助記憶装置、通信インターフェース、入出力インターフェース等の構成要素を有する。複数の物理的な情報処理装置２１１は、必ずしも、同一の構成要素を有している必要はなく、異なる構成要素を有していてもよい。
【００７２】
ＣＰＵは、Ｃｅｎｔｒａｌ＿Ｐｒｏｃｅｓｓｉｎｇ＿Ｕｎｉｔの略称を表す。ＲＯＭは、Ｒｅａｄ＿Ｏｎｌｙ＿Ｍｅｍｏｒｙの略称を表す。ＲＡＭは、Ｒａｎｄｏｍ＿Ａｃｃｅｓｓ＿Ｍｅｍｏｒｙの略称を表す。
【００７３】
説明の便宜上、第２の実施形態において、すべての物理的な情報処理装置２１１は、同一の構成要素を有しているとする。図７に例示されているように、物理的な情報処理装置２１１が有しているリソースに関しては、該物理的な情報処理装置２１１に含まれている構成要素に基づき、該物理的な情報処理装置２１１に配置されているインスタンスが使用することができるリソース量の最大値を表す許容量が決定されているとする。この場合に、許容量は、必ずしも、物理的な情報処理装置２１１が有している構成要素が処理可能な処理量の最大値である必要はなく、該最大値よりも小さな値であってもよい。このように許容量を、該物理的な情報処理装置２１１が有している最大値よりも小さな値に設定することによって、物理的な情報処理装置２１１が１００％の稼働率にて動作する場合を避けることができる。リソース量は、たとえば、ＣＰＵの利用時間、メモリの使用量、通信ネットワークに関する通信帯域、または、ディスクの使用量等を表す。
【００７４】
情報処理システム１５１は、サービスに関して受信したリクエストに応じた処理を、情報処理システム１５１におけるリソース（たとえば、物理的な情報処理装置２１１）にて実行し、その処理結果を出力する。
【００７５】
説明の便宜上、情報処理システム１５１において、１つのサービスに対して、少なくとも１つのインスタンスが割り当てられているとする。
【００７６】
図１１を参照しながら、情報処理システム１５１におけるインスタンス配置装置１１１について説明する。図１１は、本発明の第２の実施形態に係るインスタンス配置装置１１１が有する構成を示すブロック図である。
【００７７】
第２の実施形態に係るインスタンス配置装置１１１は、配置情報作成部１１２と、リソース制約判定部１１６と、排他制約判定部１１５と、配置選択部１１３と、配置実行部１１４とを有する。
【００７８】
配置情報作成部１１２と、リソース制約判定部１１６と、排他制約判定部１１５と、配置選択部１１３と、配置実行部１１４とは、インスタンス情報記憶部２１２に格納されているインスタンス情報、及び、装置情報記憶部２１３に格納されている装置情報を、取得、または、更新することができる。配置情報作成部１１２は、第１の実施形態に係る配置情報作成部１０２が有している機能を用いても実現することができる。リソース制約判定部１１６は、第１の実施形態に係る第１配置選択部１０３が有している機能を用いても実現することができる。排他制約判定部１１５は、第１の実施形態に係る第２配置選択部１０４が有している機能を用いても実現することができる。配置選択部１１３、及び、配置実行部１１４は、第１の実施形態に係る配置実行部１０５が有している機能を用いても実現することができる。
【００７９】
次に、図１２を参照しながら、本発明の第２の実施形態に係る情報処理システム１５１における処理について説明する。図１２は、第２の実施形態に係る情報処理システム１５１における処理の流れを示すフローチャートである。
【００８０】
配置情報作成部１１２は、インスタンス情報記憶部２１２に格納されているインスタンス情報（図６に例示）を参照することによって、情報処理システム１５１において処理対象であるインスタンスを表すインスタンスＩＤのうち、あるサービスＩＤに関連付けされたインスタンスＩＤを選択する（ステップＳ１１１）。配置情報作成部１１２は、たとえば、配置先が決まっていない（たとえば、装置ＩＤが空値の欄）サービスを表すサービスＩＤに関連付けされたインスタンスＩＤを選択する。尚、配置情報作成部１１２がインスタンスＩＤを選択する方法は上述した方法に限定されない。たとえば、配置情報作成部１１２は、サービスＩＤと、該サービスＩＤが表すサービスに関して配置先を算出したか否かを表す情報とが関連付けされたサービス情報（不図示）を参照することによって、配置先が決まっていないサービスを選択することができる。
【００８１】
配置情報作成部１１２は、装置情報記憶部２１３に格納されている装置情報（図７）を参照することによって、物理的な情報処理装置２１１を表す装置ＩＤを読み取る（ステップＳ１１２）。配置情報作成部１１２は、所定の配置算出手順に従い、ステップＳ１１１にて選択したインスタンスＩＤが表すインスタンスを配置する配置先を表す装置ＩＤを算出し、選択したインスタンスＩＤと、算出した装置ＩＤとが関連付けされた配置セット（図８）を作成する（ステップＳ１１３）。配置情報作成部１１２は、１つ以上の配置セット（配置パターン）を算出し、算出した１つ以上の配置パターンを含む配置情報（図８）を作成してもよい。
【００８２】
以降に示す各実施形態において、配置情報は、あるサービスに関する配置パターンを含むとする。
【００８３】
所定の配置算出手順は、たとえば、１つのインスタンスＩＤが表すインスタンスの配置先として、装置ＩＤが表す物理的な情報処理装置２１１をランダムに選択する手順である。所定の配置算出手順は、上述した例に限定されない。配置パターンは、たとえば、選択したインスタンスＩＤを検索キーとし、該インスタンスＩＤが表すインスタンスの配置先を表す装置ＩＤを値とする連想配列を用いて実現することができる。
【００８４】
配置情報作成部１１２は、作成した配置情報（図８）を、リソース制約判定部１１６と、排他制約判定部１１５とに対して出力する。
【００８５】
リソース制約判定部１１６は、配置情報作成部１１２が出力した配置情報を入力し、入力した配置情報の中から所定の制約条件を満たしている第１適合配置セットを選択し（ステップＳ１１４）、選択した第１適合配置セットを配置選択部１１３に対して出力する。排他制約判定部１１５は、配置情報作成部１１２が出力した配置情報を入力し、入力した配置情報の中から所定の制約条件を満たしている第２適合配置セットを選択し（ステップＳ１１５）、選択した第２適合配置セットを配置選択部１１３に対して出力する。リソース制約判定部１１６における具体的な処理については、図１４を参照しながら後述する。また、排他制約判定部１１５における具体的な処理については、図１５を参照しながら後述する。
【００８６】
上述した説明においては、ステップＳ１１４、ステップＳ１１５の順に処理が実行されたが、ステップＳ１１５、ステップＳ１１４の順に処理が実行されてもよい。
【００８７】
配置選択部１１３は、第１適合配置セット、及び、第２適合配置セットを入力する。配置選択部１１３は、入力した第１適合配置セット、及び、入力した第２適合配置セットに共通して含まれている配置パターンの中から、物理的な情報処理装置２１１に配置を実行する基である配置パターン（以降、「実行配置パターン」と表す）を選択し（ステップＳ１１６）、選択した実行配置パターンを配置実行部１１４に対して出力する。
【００８８】
配置選択部１１３は、第１適合配置セット、及び、第２適合配置セットに共通して含まれている配置パターンが複数存在している場合に、所定の選択手順に基づき、複数の配置パターンの中から、一つの実行配置パターンを選択してもよい。所定の選択手順は、たとえば、インスタンスの配置先である物理的な情報処理装置２１１の台数が最小になるように、実行配置パターンを選択する手順である。所定の選択手順は、たとえば、各物理的な情報処理装置２１１に対し、配置されているインスタンス、及び、配置パターンに従い配置が指定されているインスタンスの処理量の合計値の分散が、複数の物理的な情報処理装置２１１に関して最小になるように、実行配置パターンを選択する手順である。所定の選択手順は、たとえば、第１適合配置セット、及び、第２適合配置セットに関して、所定の条件を満たす１つの配置パターンを、実行配置パターンとして選択する手順である。所定の選択手順は、上述した例に限定されない。
【００８９】
配置選択部１１３は、第１適合配置セット、及び、第２適合配置セットに共通して含まれている配置パターンがない場合に、メッセージ「制約条件を満たす配置はない」を出力する。
【００９０】
配置実行部１１４は、配置選択部１１３が出力した実行配置パターンを入力し、入力した実行配置パターンに従って、インスタンスを物理的な情報処理装置２１１に配置する（ステップＳ１１７）。配置実行部１１４は、インスタンス情報記憶部２１２に格納されているインスタンス情報に関して、物理的な情報処理装置２１１に配置されたインスタンスを表すインスタンスＩＤに、さらに、該情報処理装置２１１を表す装置ＩＤが関連付けされたインスタンス情報（図１６に例示）を作成してもよい。配置実行部１１４は、作成したインスタンス情報をインスタンス情報記憶部２１２に格納してもよい。配置実行部１１４は、インスタンス情報記憶部２１２に格納されているインスタンス情報を、作成したインスタンス情報によって更新してもよい。配置実行部１１４は、インスタンス情報（図６、図１６等に例示）を参照することによって、該インスタンスＩＤに関連付けされたサービスＩＤを特定し、特定したサービスＩＤと、処理が完了したことを表す情報とが関連付けされたサービス情報（不図示）を作成してもよい。
【００９１】
ステップＳ１１８に関する処理を説明する前に、図１６を参照しながら、インスタンス情報の一例について説明する。図１６は、インスタンス情報の一例を概念的に表す図である。
【００９２】
たとえば、図１６に例示されたインスタンス情報においては、インスタンスＩＤ「２」と、サービスＩＤ「３」と、処理量「Ｄ２」と、装置ＩＤ「３」とが関連付けされている。これは、インスタンスＩＤ「２」が表すインスタンスが、サービスＩＤ「３」が表すサービスを提供しており、該インスタンスに関する処理量が「Ｄ２」であり、該インスタンスが装置ＩＤ「３」が表す情報処理装置２１１に配置される（または、配置された）ことを表す。
【００９３】
図１２を参照しながら、ステップＳ１１８以降に実行される処理について説明する。
【００９４】
配置実行部１１４は、インスタンス情報におけるすべてのインスタンスに関する配置が完了したか否かを判定する。たとえば、配置実行部１１４は、図１６に例示されたようなインスタンス情報において装置ＩＤが空値である欄があるか否か、または、処理が完了していない情報をサービス情報（不図示）が含んでいるか否かを判定する処理によって、完了した否かを判定することができる。
【００９５】
配置実行部１１４は、すべてのインスタンスに関する配置が完了したと判定した場合に、配置が完了したことを表す信号を、情報処理システム１５１における負荷分散装置１５２に送信する（ステップＳ１１８）。配置実行部１１４は、インスタンスに関する配置が完了してないインスタンスがあると判定した場合に、配置情報作成部１１２に対して、インスタンスに関する配置が完了していないことを表す信号を出力する。
【００９６】
配置情報作成部１１２は、配置実行部１１４が出力した信号を入力した場合に、ステップＳ１１１乃至ステップＳ１１６に示された処理と同様の処理を実行する。この処理によって、異なるサービスを提供しているインスタンスを、物理的な情報処理装置２１１に配置する処理が実行される。
【００９７】
次に、図１３を参照しながら、本発明の第２の実施形態に係る負荷分散装置１５２における処理について説明する。図１３は、第２の実施形態に係る負荷分散装置１５２における処理の流れを示すフローチャートである。
【００９８】
負荷分散装置１５２は、配置が完了したことを表す信号をインスタンス配置装置１１１（配置実行部１１４）から受信した場合に（ステップＳ１２１）、インスタンス情報記憶部２１２を参照することによって、インスタンス情報（図１６に例示）を読み取る（ステップＳ１２２）。この場合、インスタンス情報記憶部２１２には、図１６に例示されているように、項目１乃至項目４が関連付けされたインスタンス情報が記憶されているとする。
【００９９】
負荷分散装置１５２は、たとえば、一定の時間間隔にて、すべての物理的な情報処理装置２１１に関して、該物理的な情報処理装置２１１におけるリソース使用量を測定する。物理的な情報処理装置２１１におけるリソース使用量は、たとえば、ＣＰＵの使用時間、メモリの使用量、通信ネットワーク帯域、ディスクの使用量等の指標を表す値である。
【０１００】
負荷分散装置１５２は、通信ネットワーク１５３を介して、あるサービスに関するリクエストを受信した場合に（ステップＳ１２３）、読み取ったインスタンス情報に基づき、該サービスを表すサービスＩＤに関連付けされた装置ＩＤを特定する（ステップＳ１２４）。負荷分散装置１５２は、特定した装置ＩＤが表す情報処理装置２１１のうち、負荷が少ない物理的な情報処理装置２１１を特定する（ステップＳ１２５）。負荷分散装置１５２は、特定した情報処理装置２１１に、受信したリクエストを送信する（ステップＳ１２６）。物理的な情報処理装置２１１が複数のリソースを有する場合に、負荷分散装置１５２は、たとえば、物理的な情報処理装置２１１の負荷に最も影響を受けるリソースを選択し、選択したリソースを負荷としてもよい。また、負荷分散装置１５２は、複数のリソースに関して、負荷の大小を反映するような指標を計算してもよい。
【０１０１】
次に、リソース制約判定部１１６における処理について詳細に説明する。
【０１０２】
リソース制約判定部１１６は、配置情報作成部１１２が出力した配置情報を入力し、入力した配置情報（図８に例示）のうち、所定の制約条件を満たしている配置パターンを選択し、選択した配置パターンを配置選択部１１３に対して出力する。
【０１０３】
リソース制約判定部１１６が配置パターンを選択する場合に参照する所定の制約条件は、物理的な情報処理装置２１１に配置されるインスタンスの処理量の合計が、その物理的な情報処理装置２１１の許容量を超過していない等の制約条件である。
【０１０４】
リソース制約判定部１１６は、配置情報作成部１１２が出力した配置情報を入力した場合に、入力した配置情報における全ての配置パターンに関して、該配置パターンが制約条件を満たしているか否かを判定する。リソース制約判定部１１６は、入力した配置パターンのうち、制約条件を満たしていると判定した配置パターン（第１適合配置セット）を、配置選択部１１３に対して出力する。リソース制約判定部１１６は、インスタンス情報（図１６に例示）を参照することによって、第１適合配置セットにおける各インスタンスＩＤと、該インスタンスＩＤが表すインスタンスに関する処理量とが関連付けされた適合配置情報を作成し、作成した配置情報を配置選択部１１３に対して出力してもよい。
【０１０５】
次に、図１４を参照しながら、リソース制約判定部１１６における処理について詳細に説明する。図１４は、リソース制約判定部１１６における処理の流れを示すフローチャートである。
【０１０６】
リソース制約判定部１１６は、入力した配置情報（図８に例示）に含まれている各配置パターンを参照することによって、該配置パターンに含まれている、ある装置ＩＤに関連付けされたインスタンスＩＤを読み取る（ステップＳ１３１）。たとえば、図８に例示された第１配置パターンの場合に、リソース制約判定部１１６は、該配置パターンにおいて、装置ＩＤ「４」に関連付けされたインスタンスＩＤ「３」を読み取る。
【０１０７】
リソース制約判定部１１６は、インスタンス情報記憶部２１２に格納されているインスタンス情報（図１６）を参照することによって、該インスタンスＩＤに関連付けされた処理量を読み取る（ステップＳ１３２）。たとえば、図１６に例示されたインスタンス情報の場合に、リソース制約判定部１１６は、インスタンスＩＤ「３」に関連付けされた処理量「Ｄ３」を読み取る。
【０１０８】
次に、リソース制約判定部１１６は、インスタンス情報を参照することによって、ある装置ＩＤに関連付けされた処理量を読み取る。たとえば、図１６に例示されたインスタンス情報の場合に、リソース制約判定部１１６は、装置ＩＤ「４」に関連付けされた処理量「Ｄ８」を読み取る。
【０１０９】
リソース制約判定部１１６は、読み取った処理量の合計値を算出する（ステップＳ１３３）。この場合に、リソース制約判定部１１６は、処理量「Ｄ３」、及び、処理量「Ｄ８」に含まれている各リソースに関する処理量に関して、合計値を算出する。
【０１１０】
リソース制約判定部１１６は、入力した配置情報（図８に例示）に含まれている各装置ＩＤに関して、ステップＳ１３１乃至ステップＳ１３３に示された処理を実行する。すなわち、リソース制約判定部１１６は、ステップＳ１３１乃至ステップＳ１３３に示された処理によって、インスタンスが配置パターンに従い配置される場合の、各物理的な情報処理装置２１１における処理量（要求量）を算出する。
【０１１１】
リソース制約判定部１１６は、装置情報記憶部２１３に格納されている装置情報（図７）を参照することによって、ある装置ＩＤに関連付けされた許容量を読み取る（ステップＳ１３４）。図７に示す例の場合に、リソース制約判定部１１６は、装置ＩＤ「４」に関連付けされた許容量「Ｃ４」を読み取る。
【０１１２】
リソース制約判定部１１６は、読み取った許容量と算出した合計値とを比較することによって、各リソースに関して合計値が許容量を超過しているか否かを判定する（ステップＳ１３５）。リソース制約判定部１１６は、各リソースに関して合計値が許容量を超過していない場合に、該ある情報処理装置２１１に関して許容可能な処理量であると判定する。
【０１１３】
リソース制約判定部１１６は、ステップＳ１３１乃至ステップＳ１３５に示す処理を、配置パターンに含まれているすべての装置ＩＤに関して実行する。リソース制約判定部１１６は、すべての装置ＩＤに関して許容可能な処理量であると判定する場合に、該配置パターンを、第１適合配置セットとして出力する。
【０１１４】
リソース制約判定部１１６は、入力した配置情報（図８）における各配置パターン（たとえば、第１乃至第３配置パターン）に関して、上述した判定処理を実行する。
【０１１５】
次に、図１５を参照しながら、排他制約判定部１１５における処理について詳細に説明する。図１５は、排他制約判定部１１５における処理の流れを示すフローチャートである。
【０１１６】
排他制約判定部１１５は、配置情報作成部１１２が出力した配置情報を入力し、入力した配置情報（図８）のうち、所定の制約条件を満たしている配置パターンを選択し、選択した配置パターンを配置選択部１１３に対して出力する。
【０１１７】
より具体的に、排他制約判定部１１５は、複数のサービス間において、各サービスが配置される物理的な情報処理装置２１１が排他的であるか否かを表す所定の制約条件に基づき、入力した配置パターンが第２適合配置セットであるか否かを判定する。言い換えれば、排他制約判定部１１５は、配置情報作成部１１２が出力した配置パターンを入力し、すべての入力した配置パターンに関して、所定の制約条件を満たしているか否かを判定する。排他制約判定部１１５は、所定の制約条件を満たしていると判定された配置パターン（すなわち、第２適合配置セット）を出力する。
【０１１８】
排他制約判定部１１５は、インスタンス情報記憶部２１２に格納されているインスタンス情報（図１６）を参照することによって、あるサービスＩＤに関連付けされた装置ＩＤを特定する。たとえば、図１６に例示されたインスタンス情報の場合に、排他制約判定部１１５は、サービスＩＤ「１」に関連付けされた装置ＩＤ「１」、及び、サービスＩＤ「１」に関連付けされた装置ＩＤ「２」を特定する。排他制約判定部１１５は、空値でない装置ＩＤに関連付けされたサービスＩＤごとに、装置ＩＤを特定する処理を実行する。図１６に例示されたインスタンス情報の場合に、排他制約判定部１１５は、サービスＩＤ「３」に関しても同様の処理を実行する。
【０１１９】
排他制約判定部１１５は、あるサービスＩＤと、特定した装置ＩＤとが関連付けされたサービス装置情報を作成する（ステップＳ１４１）。たとえば、図１６に示されたインスタンス情報の場合に、排他制約判定部１１５は、サービスＩＤ「１」と、装置ＩＤ「１」、及び、装置ＩＤ「２」とが関連付けされたサービス装置情報（図９）を作成する。同様に、排他制約判定部１１５は、サービスＩＤ「３」と、装置ＩＤ「３」、及び、装置ＩＤ「４」とが関連付けされたサービス装置情報を作成する。
【０１２０】
排他制約判定部１１５は、所定の排他度算出手順（後述）に従い、作成したサービス装置情報間における部分排他度を算出する（ステップＳ１４２）。たとえば、排他制約判定部１１５は、図８に例示された配置情報の場合に、以下に説明する通り、第１部分排他度乃至第３部分排他度を算出し、第１部分排他度、乃至、第３部分排他度の合計値を算出することによって排他度を算出する（ステップＳ１４３）。排他度は、複数のサービス装置情報が排他的である程度（度合い）を表す指標である。
【０１２１】
第１部分排他度：サービスＩＤ「１」、及び、サービスＩＤ「３」間における部分排他度、
第２部分排他度：サービスＩＤ「１」、及び、受信した配置パターン（たとえば、図８の第１乃至第３配置パターンのいずれか）間における部分排他度、
第３部分排他度：サービスＩＤ「３」、及び、受信した配置パターン（たとえば、図８の第１乃至第３配置パターンのいずれか）間における部分排他度。
【０１２２】
排他制約判定部１１５は、算出した合計値が所定の排他度閾値以下であるか否かを判定する（ステップＳ１４４）。排他制約判定部１１５は、算出した合計値が所定の排他度閾値以下である場合に、該配置パターンが第２適合配置セットであると判定する。排他制約判定部１１５は、配置情報（図８に例示）における全ての配置パターンに関して、ステップＳ１４１乃至ステップＳ１４４に示された処理を実行する。
【０１２３】
所定の排他度算出手順、及び、排他度の満たす条件式についての一例を示す。ただし、排他度は、以降にて説明する例に限定されない。
【０１２４】
排他度Ｅは、任意の異なる２つのサービス装置情報から計算される部分排他度ｅ（下記の式３）の総和である。ここで、部分排他度ｅは、サービス装置情報Ｓ１、サービス装置情報Ｓ２に基づき、式３に従い算出される値である。すなわち、
ｅ（Ｓ１，Ｓ２）＝｜Ｓ１∩Ｓ２｜÷｜Ｓ１∪Ｓ２｜・・・（式３）、
ただし、∩は、積集合を算出する演算子を表す。∪は、和集合を算出する演算子を表す。「｜｜」は、集合に含まれている要素の個数を算出する演算子を表す。
【０１２５】
たとえば、サービス装置情報Ｓ１が｛１，３，５｝であり、サービス装置情報Ｓ２が｛１，５，６，７｝である例を参照しながら部分排他度ｅを算出する例について説明する。この場合に、サービス装置情報Ｓ１と、サービス装置情報Ｓ２とに共通している要素（すなわち、積集合）は、｛１，５｝であり、サービス装置情報Ｓ１と、サービス装置情報Ｓ２とのいずれかに含まれている要素（すなわち、和集合）は、｛１，３，５，６，７｝である。したがって、部分排他度ｅは、式４に従い算出される値である、
ｅ（Ｓ１，Ｓ２）＝｜｛１，５｝｜÷｜｛１，３，５，６，７｝｜＝２÷５＝０．４・・・（式４）。
【０１２６】
排他度Ｅは、式４に従い算出された部分排他度ｅに基づき、式５に従い算出される。すなわち、
Ｅ＝Σ（ｉ，ｊ）（ｉ≠ｊ）  ｅ（Ｓｉ，Ｓｊ）÷２・・・（式５）、
ただし、Σ（ｉ，ｊ）（ｉ≠ｊ）は、ｉとｊとが異なる値に関して総和を算出する演算子を表す。
【０１２７】
異なる例を参照しながら、排他度Ｅについて説明する。上述のように仮定された例では、サービス装置情報Ｓ１は、｛１，３，５｝であるとする。サービス装置情報Ｓ２は、｛１，５，６，７｝であるとする。サービス装置情報Ｓ３は、｛２，４，７｝であるとする。この場合に、２つのサービス装置情報間の部分排他度ｅは、以下のような式６に従い算出される値である。
【０１２８】
ｅ（Ｓ１，Ｓ２）＝｜｛１，５｝｜÷｜｛１，３，５，６，７｝｜＝２÷５＝０．４、
ｅ（Ｓ２，Ｓ３）＝｜｛７｝｜÷｜｛１，２，４，５，６，７｝｜＝１÷６＝約０．１７、
ｅ（Ｓ３，Ｓ１）＝｜｛｝｜÷｜｛１，２，３，４，５，７｝｜＝０・・・（式６）。
【０１２９】
したがって、排他度Ｅは、式７に従い算出される。すなわち、
Ｅ＝ｅ（Ｓ１，Ｓ２）＋ｅ（Ｓ２，Ｓ３）＋ｅ（Ｓ３，Ｓ１）＝約０．５７・・・（式７）。
【０１３０】
尚、サービス装置情報が値を含んでいない場合に、排他度Ｅは０である。
【０１３１】
排他制約判定部１１５は、式７等に示された算出手順に従い算出した排他度と、所定の排他度閾値Ｅ０との大小を比較する。排他制約判定部１１５は、入力した配置パターンと、配置された配置パターンとに基づき算出された排他度Ｅが、所定の排他度閾値Ｅ０未満（すなわち、Ｅ＜Ｅ０）である場合に、該配置パターンが制約条件を満たしていると判定する。排他制約判定部１１５は、入力した配置パターンと、配置された配置パターンとに基づき算出された排他度Ｅが、所定の排他度閾値Ｅ０以上（すなわち、Ｅ≧Ｅ０）である場合に、該配置パターンが制約条件を満たしていないと判定する。
【０１３２】
次に、第２の実施形態に係る情報処理システム１５１に関する効果について説明する。
【０１３３】
第２の実施形態に係る情報処理システム１５１によれば、仮想的な処理装置を表すインスタンスを物理的な情報処理装置に、高い応答性能を達成するように配置することができる。この理由は、第２の実施形態に係る情報処理システム１５１が、第１の実施形態に係るインスタンス配置装置１０１を含むからである。
【０１３４】
さらに、第２の実施形態に係る情報処理システム１５１によれば、サービスを冗長的に配置した情報処理システム１５１において、サービスへの負荷が急激に上昇した場合であっても、性能劣化を低く抑えることができる。この理由は、インスタンス配置装置１１１が実行した配置に基づき、負荷分散装置１５２がサービスに対するリクエストを、物理的な情報処理装置に振り分けるからである。
【０１３５】
＜第３の実施形態＞
次に、上述した第２の実施形態を基本とする本発明の第３の実施形態について説明する。
【０１３６】
以降の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第２の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
【０１３７】
図１７を参照しながら、本発明の第３の実施形態に係る情報処理システム１２１が有する構成について説明する。図１７は、本発明の第３の実施形態に係る情報処理システム１２１が有する構成を示すブロック図である。
【０１３８】
第３の実施形態に係る情報処理システム１２１は、複数台の物理的な情報処理装置２１１と、インスタンス情報記憶部２１２と、装置情報記憶部２１３と、インスタンス配置装置１２２と、負荷分散装置１５２とを有する。情報処理システム１２１においては、サービスに含まれている一部の機能を表すインスタンスが、複数個分、処理されるとする。情報処理システム１２１は、通信ネットワーク１５３に通信接続されている。
【０１３９】
図１８を参照しながら、情報処理システム１２１におけるインスタンス配置装置１２２が有する構成について詳細に説明する。図１８は、本発明の第３の実施形態に係るインスタンス配置装置１２２が有する構成を示すブロック図である。
【０１４０】
第３の実施形態に係るインスタンス配置装置１２２は、配置情報作成部１１２と、リソース制約判定部１１６と、排他制約判定部１１５と、配置選択部１１３と、配置実行部１１４と、均等度判定部１２３とを有する。インスタンス配置装置１２２は、インスタンス情報記憶部２１２と、装置情報記憶部２１３とに接続されている。
【０１４１】
図１９を参照しながら、第３の実施形態に係る情報処理装置２１１における処理について説明する。図１９は、第３の実施形態に係る情報処理装置２１１における処理の流れを示すフローチャートである。
【０１４２】
インスタンス配置装置１２２は、図１２のステップＳ１１１乃至ステップＳ１１５に示された処理と同様の処理を実行する（ステップＳ１５１）。ステップＳ１５１に示された処理について具体的に説明する。
【０１４３】
配置選択部１１３は、リソース制約判定部１１６が出力した第１適合配置セット、及び、排他制約判定部１１５が出力した第２適合配置セットを入力する。配置選択部１１３は、入力した第１適合配置セット、及び、入力した第２適合配置セットに共通して含まれている配置パターンを、実行配置パターンとして選択し、選択した実行配置パターンを配置実行部１１４に対して出力する。
【０１４４】
配置選択部１１３は、実行配置パターンが複数である場合に、複数の実行配置パターンの中から１つの実行配置パターンを選択する。
【０１４５】
配置選択部１１３は、第１適合配置セット、及び、第２適合配置セットに共通して含まれる配置パターンがない場合に、メッセージ「制約条件を満たす配置はなし」を出力する。
【０１４６】
配置実行部１１４は、配置選択部１１３が出力した実行配置パターンを入力し、入力した実行配置パターンに従って、インスタンスを物理的な情報処理装置２１１に配置する。その後、配置実行部１１４は、配置する処理が完了したことを表す信号を均等度判定部１２３に対して出力する。
【０１４７】
ステップＳ１５１に示された処理の後、均等度判定部１２３は、配置実行部１１４が出力した信号を入力した場合に、インスタンス情報記憶部２１２から図２０に例示されているようなインスタンス情報を参照することによって、特定の装置ＩＤに関連付けされた処理量を読み取り、読み取った処理量の合計値を算出する（ステップＳ１５２）。図２０は、インスタンス情報の一例を概念的に表す図である。たとえば、均等度判定部１２３は、インスタンス情報において、装置ＩＤ「５」と関連付けされた処理量「Ｄ１」と、装置ＩＤ「５」と関連付けされた処理量「Ｄ６」とを特定し、特定した処理量「Ｄ１」、及び、処理量「Ｄ６」の合計値を、該処理量に含まれているリソースごとに算出する。均等度判定部１２３は、合計値を算出する処理を、インスタンス情報に含まれている全ての装置ＩＤに関して実行する。
【０１４８】
次に、均等度判定部１２３は、所定の分散値算出手順（後述）に従い、装置ＩＤごとに算出した合計値の分散値を算出する（ステップＳ１５３）。均等度判定部１２３は、算出した分散値が所定の閾値未満であるか否かを判定する（ステップＳ１５４）ことによって、該インスタンスに関する処理量が均衡しているか否かを判定する。
【０１４９】
均等度判定部１２３は、算出した分散が所定の閾値未満である場合に（ステップＳ１５４にてＹＥＳ）、配置が完了したことを表す信号を負荷分散装置に対して出力する（ステップＳ１５６）。この場合に、リソースに関する処理量は、複数の物理的な情報処理装置２１１間にてばらつきが少ない。
【０１５０】
均等度判定部１２３は、算出した分散が所定の閾値以上である場合に（ステップＳ１５４にてＮＯ）、ステップＳ１５１を実行した回数が所定の回数以上であるか否かを判定する（ステップＳ１５５）。均等度判定部１２３は、ステップＳ１５１を実行した回数が所定の回数以上である場合に、配置に関する処理が完了したことを表す信号を、負荷分散装置に対して出力する（ステップＳ１５６）。均等度判定部１２３は、ステップＳ１５１を実行した回数が所定の回数未満である場合に、インスタンスを配置するのに要する配置情報を作成する処理を開始することを指示する信号を、配置情報作成部１１２に対して出力する（ステップＳ１５７）。均等度判定部１２３は、たとえば、ステップＳ１５７を実行した回数を記憶しておくことによって、ステップＳ１５１を実行した回数を特定することができる。
【０１５１】
配置情報作成部１１２は、均等度判定部１２３が出力した信号を入力した場合に、インスタンスを配置するのに要する配置情報（図８に例示）を作成する（図１２におけるステップＳ１１１）。
【０１５２】
次に、均等度判定部１２３が分散を算出する所定の分散値算出手順の一例について説明する。説明の便宜上、物理的な情報処理装置２１１の台数をＮ（ただし、Ｎは、自然数）と表し、装置ＩＤがｉ（ただし、ｉは、Ｎ以下の自然数）である物理的な情報処理装置２１１（すなわち、第ｉ情報処理装置）に配置されているインスタンスに関する処理量の合計値を、Ｄｉと表すとする。この場合に、情報処理装置２１１に関する処理量の合計値の平均値Ｅ、及び、分散値Ｖは、式８に従い算出される値である。すなわち、
Ｅ［Ｄ］＝Σ（ｉ＝１）Ｎ  Ｄｉ、
Ｖ［Ｄ］＝Σ（ｉ＝１）Ｎ  （Ｄｉ−Ｅ［Ｄ］）２・・・（式８）。
【０１５３】
次に、第３の実施形態に係る情報処理システム１２１に関する効果について説明する。
【０１５４】
第３の実施形態に係る情報処理システム１２１によれば、仮想的な処理装置を表すインスタンスを物理的な情報処理装置に、高い応答性能を達成するように配置することができる。この理由は、第３の実施形態に係る情報処理システム１２１が、第２の実施形態に係る情報処理システム１２１を含むからである。
【０１５５】
さらに、第３の実施形態に係る情報処理システム１２１によれば、サービスに関して、より一層、高い応答性能を達成することができる。この理由は、物理的な情報処理装置２１１に配置されたインスタンスに関する処理量の分散値が上述した実施形態に比べて小さくなるので、該インスタンスを処理するのに要する処理時間の平均値が小さい（すなわち、平均的な処理時間が短い）からである。
【０１５６】
＜第４の実施形態＞
次に、上述した第２の実施形態を基本とする本発明の第４の実施形態について説明する。
【０１５７】
以降の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第２の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
【０１５８】
図２１を参照しながら、本発明の第４の実施形態に係る情報処理システム１３１が有する構成について説明する。図２１は、本発明の第４の実施形態に係る情報処理システム１３１が有する構成を示すブロック図である。
【０１５９】
第４の実施形態に係る情報処理システム１３１は、複数台の物理的な情報処理装置２１１と、インスタンス情報記憶部２１２と、装置情報記憶部２１３と、インスタンス配置装置１１１と、負荷分散装置１３２とを有する。情報処理システム１３１は、通信ネットワーク１５３に通信接続されている。情報処理システム１３１においては、サービスに含まれている一部の機能を表すインスタンスが、複数個分、処理されるとする。
【０１６０】
図２２を参照しながら、情報処理システム１３１における負荷分散装置１３２が有する構成について詳細に説明する。図２２は、本発明の第４の実施形態に係る負荷分散装置１３２が有する構成を示すブロック図である。
【０１６１】
第４の実施形態に係る負荷分散装置１３２は、リクエスト振り分け部１３３と、重み算出部１３４と、負荷状態判定部１３５とを有する。負荷分散装置１３２は、サービスに関して受信したリクエストの個数等に基づき、情報処理装置２１１における負荷の状態を推定する。負荷分散装置１３２は、推定した状態に基づき、情報処理装置２１１にリクエストを振り分ける程度を表す重み（「重率」とも表す）を算出する。負荷分散装置１３２は、算出した重みに基づき、リクエストを情報処理装置２１１に振り分ける。負荷分散装置１３２における各部の処理について詳細に説明する。
【０１６２】
リクエスト振り分け部１３３は、サービスに対するリクエストを受信した場合に、リクエストを振り分ける程度を表す重みに応じて、サービスを提供しているインスタンスが配置されている物理的な情報処理装置２１１に、受信したリクエストを振り分ける。このように振り分ける処理について説明する。
【０１６３】
説明の便宜上、サービスＩＤがｋ（ただし、ｋは、自然数）であるサービス（すなわち、第ｋサービス）に対するリクエストを振り分ける場合に、第ｉ（ただし、ｉは１≦ｉ≦Ｎ）の自然数）情報処理装置に振り分ける程度を表す重みをｗ（ｋ，ｉ）と表すとする。以降、すべてのｋ，ｉに関する重みｗ（ｋ，ｉ）を含む集合を重みｗと表すことがある。たとえば、重みが大きな値であるほど、より多くのリクエストが割り振られる。この表記に従えば、リクエストを重みｗに基づいて振り分ける処理は、第ｋサービスに対するリクエストを、第１情報処理装置乃至第Ｎ情報処理装置に対して、それぞれ、式９に示す比率にて振り分ける処理である。すなわち、
ｗ（ｋ，１）：ｗ（ｋ，２）：・・・：ｗ（ｋ，Ｎ）  ・・・（式９）、
ただし、「：」は、比を算出する演算子を表す。
【０１６４】
リクエスト振り分け部１３３は、たとえば、数値が重みｗ（ｋ，ｉ）に従った出現頻度にて出現する乱数を算出し、算出した乱数に従って振り分け先である情報処理装置２１１を決定する。重みｗにおける各値は、リクエスト振り分け部１３３に格納されていてもよいし、記憶装置（不図示）に格納されていてもよい。リクエスト振り分け部１３３は、重み算出部１３４が出力した重みｗを入力した場合に、たとえば、入力した重みｗを自装置に格納する。
【０１６５】
負荷状態判定部１３５は、サービスに関して受信したリクエストの個数を測定し、測定した個数に基づき、各サービスが情報処理装置２１１に対して与える負荷の状態を表す負荷情報を作成し、作成した負荷情報を重み算出部１３４に対して出力する。サービスの個数がＬ（ただし、Ｌは、自然数）個である場合に、負荷状態判定部１３５は、すべてのサービスに関する負荷情報Ｘ（式１０）を作成する。すなわち、
Ｘ＝（Ｘ１，Ｘ２，・・・，ＸＬ）  ・・・（式１０）。
【０１６６】
負荷状態判定部１３５は、たとえば、一定期間ごとに、サービスに関して受信したリクエストの個数を測定する。この場合に、サービスに関して受信したリクエストの個数は、一定期間ごとに受信したリクエストの個数を表す。
【０１６７】
負荷状態判定部１３５は、負荷情報Ｘにおける各リクエスト数Ｘｋ（ただし、１≦ｋ≦Ｌ）と、各サービスに対して設定された所定の判定閾値Ｔｋ（ただし、１≦ｋ≦Ｌ）とを比較する。負荷状態判定部１３５は、リクエスト数Ｘｋが所定の判定閾値Ｔｋよりも大きい場合に、第ｋサービスに関して高負荷な状態であると判定する。この場合に、負荷状態判定部１３５は、Ｘｋに「高負荷」を設定してもよい。負荷状態判定部１３５は、リクエスト数Ｘｋが所定の判定閾値Ｔｋ以下である場合に、第ｋサービスに関して通常の負荷状態（以降、「通常負荷」と表す）であると判定する。この場合に、負荷状態判定部１３５は、Ｘｋに「通常負荷」を設定してもよい。負荷状態判定部１３５は、算出したＸｋを含む負荷情報Ｘを作成し、作成した負荷情報Ｘを重み算出部１３４に対して出力する。
【０１６８】
負荷状態判定部１３５は、各サービスに関して同一の時間間隔、かつ、同一の時刻にて、負荷情報Ｘを作成してもよい。負荷状態判定部１３５は、各サービスに関して同一の時間間隔、かつ、相互に異なる時刻にて、負荷情報Ｘを作成してもよい。負荷状態判定部１３５は、各サービスに関して異なる時間間隔にて、負荷情報Ｘを作成してもよい。
【０１６９】
重み算出部１３４は、負荷状態判定部１３５が出力した負荷状態Ｘを入力し、入力した負荷状態Ｘに基づき、サービスに関する重みｗを算出する。この場合に、重み算出部１３４は、重み算出手段ｆに従い、重みｗを算出する。重み算出手段ｆは、たとえば、式１１に従い、重みｗを算出する手段である。すなわち、
ｆ（Ｘ１，…，ＸＬ）＝｛ｗＸ（ｋ，ｉ）｝・・・（式１１）。
【０１７０】
重み算出手段ｆは、所定の算出手順であってもよい。たとえば、重み算出手段ｆは、負荷情報Ｘにおいて、負荷が少ないサービスを処理している情報処理装置に対して大きな重みを算出し、負荷が多いサービスを処理している情報処理装置に対して少ない重みを算出する手順である。重み算出部１３４は、算出した重みｗを、リクエスト振り分け部１３３に送信する。
【０１７１】
上述した例において、負荷状態判定部１３５は、「通常負荷」、または、「高負荷」なる２つの状態を設定したが、３種類以上の状態値を設定してもよい。この場合には、たとえば、Ｘｋに関する閾値を複数設定することによって、該３種類以上の状態値を設定することができる。また、負荷状態に関する判定は、一定時間のリクエスト数が閾値を超過しているか否かに応じて判定する例に限定されない。負荷状態に関する判定処理は、たとえば、リクエスト数に関する時間的な移動平均を算出し、算出した移動平均に基づき、負荷状態が判定される処理であってもよい。
【０１７２】
次に、図２３及び図２４を参照しながら、第４の実施形態に係る負荷分散装置１３２における処理について説明する。図２３は、リクエストを受信した場合における、第４の実施形態に係る負荷分散装置１３２における処理の流れを示すフローチャートである。図２４は、負荷状態を判定する場合における、第４の実施形態に係る負荷分散装置１３２における処理の流れを示すフローチャートである。
【０１７３】
まず、図２３を参照しながら、リクエストを受信した場合における第４の実施形態に係る負荷分散装置１３２における処理について説明する。
【０１７４】
リクエスト振り分け部１３３は、サービスに対するリクエストを受信する（ステップＳ１６１）。リクエスト振り分け部１３３は、重みｗを読み取り、受信したリクエストを、読み取った重みｗに従い、物理的な情報処理装置２１１に振り分け（ステップＳ１６２）、該リクエストを算出した振り分け先に送信する。
【０１７５】
次に、図２４を参照しながら、負荷状態を判定する場合における第４の実施形態に係る負荷分散装置１３２における処理について説明する。
【０１７６】
負荷状態判定部１３５は、サービスに対して受信したリクエストの個数を測定する（ステップＳ１７１）。負荷状態判定部１３５は、測定したリクエストの個数が所定の閾値を超過しているか否かを判定する（ステップＳ１７２）。測定したリクエストの個数が所定の閾値を超過している場合に（ステップＳ１７２にてＹＥＳ）、負荷状態判定部１３５は、サービスに関する負荷状態Ｘｋに「高負荷」を設定する（ステップＳ１７３）。測定したリクエストの個数が所定の閾値を超過していない場合に（ステップＳ１７２にてＮＯ）、負荷状態判定部１３５は、サービスに関する負荷状態Ｘｋに「通常負荷」を設定する（ステップＳ１７４）。負荷状態判定部１３５は、各サービスに関して、負荷状態を設定することにより、全てのサービスに関する負荷情報Ｘ（式１０）を作成する。負荷状態判定部１３５は、作成した負荷情報Ｘをリクエスト振り分け部１３３に対して出力する（ステップＳ１７５）。
【０１７７】
リクエスト振り分け部１３３は、負荷状態判定部１３５が出力した負荷状態Ｘを入力し、自装置に格納されている負荷状態と、入力した負荷状態Ｘとが異なるか否かを判定する（ステップＳ１７６）。この場合に、リクエスト振り分け部１３３は、たとえば、自装置に格納されている負荷状態のうち、前回受信した負荷状態と、入力した負荷状態Ｘとを比較する。該２つの負荷状態が異なる場合に（ステップＳ１７６にてＹＥＳ）、リクエスト振り分け部１３３は、入力した負荷状態Ｘを重み算出部１３４に対して出力する（ステップＳ１７７）。該２つの負荷状態が同じである場合に（ステップＳ１７６にてＮＯ）、リクエスト振り分け部１３３は、ステップＳ１７７乃至ステップＳ１７９に示された処理を実行しない。
【０１７８】
重み算出部１３４は、リクエスト振り分け部１３３が出力した負荷状態Ｘを入力し、所定の負荷算出手順に従い重みを算出し（ステップＳ１７８）、算出した重みをリクエスト振り分け部１３３に対して出力する（ステップＳ１７９）。
【０１７９】
次に、第４の実施形態に係る情報処理システム１３１に関する効果について説明する。
【０１８０】
第４の実施形態に係る情報処理システム１３１によれば、仮想的な処理装置を表すインスタンスを物理的な情報処理装置に、高い応答性能を達成するように配置することができる。この理由は、第４の実施形態に係る情報処理システム１３１が、第２の実施形態に係る情報処理システム１３１を含むからである。
【０１８１】
さらに、第４の実施形態に係る情報処理システム１３１によれば、サービスに関する過負荷を迅速に平準化することができる。この理由は、負荷分散装置１３２がサービスのリクエストの個数を測定することによってサービスに関する負荷状態を判定し、負荷状態によりサービスのリクエストを振り分ける重みを変更することにより、情報処理装置２１１から通知される負荷に関する情報を待つことがないからである。
【０１８２】
次に、本発明の各実施形態に係る情報処理システム、または、インスタンス配置装置の例について説明する。この例においては、説明の便宜上、情報処理システムが有する構成等が以下のように仮定されている。
【０１８３】
インスタンス配置装置、及び、負荷分散装置は、同一のコンピュータにて起動されるプログラムを表すとする。インスタンス情報記憶部２１２、及び、装置情報記憶部２１３は、該コンピュータにおける記憶装置を表すとする。さらに、インスタンス情報記憶部２１２、及び、装置情報記憶部２１３において記憶される態様は、リレーショナルデータベース（Ｒｅｌａｔｉｏｎａｌｄａｔａｂａｓｅ、ＲＤＢ）として実現されているとする。
【０１８４】
物理的な情報処理装置２１１は、たとえば、ＣＰＵ、メモリ、ＲＯＭ、ＲＡＭ、補助記憶装置、通信インターフェース、入出力インターフェースを有するコンピュータを表すとする。また、物理的な情報処理装置２１１には、ハイパーバイザがインストールされており、さらに、複数の仮想計算機（Ｖｉｒｔｕａｌ＿Ｍａｃｈｉｎｅ，ＶＭ）をインストールできるとする。複数の物理的な情報処理装置２１１は、すべて、同一のハードウェアの構成、及び、ハイパーバイザを有しており、さらに、インスタンス配置装置が動作しているコンピュータ、及び、負荷分散装置が動作しているコンピュータに通信ネットワーク１５３を介して通信接続されているとする。インスタンス配置装置として動作するプログラムは、物理的な情報処理装置２１１に、ＶＭをインストールする権限を有しているとする。
【０１８５】
インスタンスは、特定のアプリケーションを動作させるＶＭであるとする。同一のサービスを提供する複数個のインスタンスに関するＶＭのイメージは、同一であるが、配置を行う際には別々のインスタンスとして認識されるとする。
【０１８６】
「インスタンス配置装置がインスタンスを物理的な情報処理装置２１１に配置する」とは、複数個のインスタンスに保持されるＶＭイメージを物理的な情報処理装置２１１に複製し、該ＶＭイメージによって設定されたＶＭをゲストＯＳ（オペレーティングシステム）として起動することを表す。また、情報処理システムにおいては、通信インターフェースに関する設定がなされ、外部の通信ネットワーク１５３から、リクエストを受信することができるとする。
【０１８７】
説明の便宜上、すべてのインスタンスは、リソースに関して、同じ処理量（要求量）であるとする。物理的な情報処理装置２１１に関する許容量も、複数の情報処理装置２１１間に関して同一であるとする。さらに、該許容量は前記リソースの処理量（要求量）のＲ倍（ただし、Ｒ≧１）であるとする。すなわち、物理的な情報処理装置２１１上には、任意のインスタンスであっても、Ｒ個配置できるとする。同じインスタンスは、複数の物理的な情報処理装置２１１に配置されないとする。
【０１８８】
情報処理システムが提供するサービスは、サービスＩＤがａ、ｂ、ｃ、または、ｄである４つサービス（それぞれ、第ａサービス、第ｂサービス、第ｃサービス、第ｄサービスと表す）であるとする。さらに、第ａサービス乃至第ｄサービスは、それぞれ、２個のインスタンスによって実現されているとする。たとえば、第ａサービスに関するインスタンスを表すインスタンスＩＤをａ１（以降、「第ａ１インスタンス」と表す）、ａ２（以降、「第ａ２インスタンス」と表す）と表す。第ｂサービス、第ｃサービス、及び、第ｄサービスに関しても、該サービスを提供しているインスタンスを同様に表す。
【０１８９】
物理的な情報処理装置２１１の台数は、４台であるとする。物理的な情報処理装置２１１の許容量は、インスタンスに関する処理量Ｄの２倍である（すなわち、Ｒ＝２）とする。
【０１９０】
インスタンス情報記憶部２１２には、図２５に例示されているインスタンス情報が格納されているとする。装置情報記憶部２１３には、図２６に例示されている装置情報が格納されているとする。すなわち、図２５に例示されているインスタンス情報、及び、図２６に例示されている装置情報は、配置処理を実行する前に格納されている。図２５は、インスタンス情報の一例を概念的に表す図である。図２６は、装置情報の一例を概念的に表す図である。
【０１９１】
上述のように仮定された例、及び、図１０、及び、図１１に示された符号を用いながら、情報処理システムにおける処理について具体的に説明する。
【０１９２】
まず、図２５及び図２６に例示された情報が与えられた場合の、情報処理システム内のインスタンス配置装置１１１における処理について説明する。
【０１９３】
配置情報作成部１１２は、第ａサービス、第ｂサービス、第ｃサービス、第ｄサービスの順に、サービスごとに、該サービスを提供しているインスタンスに関する配置情報を作成し、作成した配置情報をリソース制約判定部１１６、及び、排他制約判定部１１５に対して出力する。
【０１９４】
配置情報作成部１１２は、たとえば、１つのインスタンスが２つ以上の物理的な情報処理装置２１１を配置しないという条件の元に、配置パターンを選択する。また、配置情報には、等価な配置パターンが含まれていないとする。等価な配置パターンは、たとえば、配置パターンにおける装置ＩＤの複数回の置換によって、物理的な情報処理装置２１１に対するインスタンスの配置が同様になる配置パターンを表す。
【０１９５】
配置情報作成部１１２は、第ａサービスを提供しているインスタンス（すなわち、｛ａ１，ａ２｝、Ｖ０と表す）に関して配置情報を作成する。配置情報作成部１１２は、たとえば、第ａ１インスタンスを第１情報処理装置に配置し、第ａ２インスタンスを第２情報処理装置に配置する配置パターンＰＡ（以降、ＰＡ＝｛ａ１：１，ａ２：２｝と表す）を含む配置情報を作成する。すなわち、配置情報作成部１１２は、インスタンスＩＤ「ａ１」及び装置ＩＤ「１」が関連付けされた配置パターンと、インスタンスＩＤ「ａ２」及び装置ＩＤ「２」が関連付けされた配置パターンとを含む配置情報を作成する。配置情報作成部１１２は、作成した配置情報をリソース制約判定部１１６と、排他制約判定部１１５とに対して出力する。
【０１９６】
リソース制約判定部１１６は、図１４に示されている処理に従い、配置情報作成部１１２が出力した配置情報を入力し、さらに、インスタンス情報記憶部２１２に格納されているインスタンス情報を読み取る。この場合に、インスタンス情報記憶部２１２において装置ＩＤには値が格納されていないので、リソース制約判定部１１６は、配置済みのインスタンスがないと判定する。
【０１９７】
リソース制約判定部１１６は、入力した配置情報のうち、所定の制約条件を満たしている配置パターンを選択し、選択した配置パターンを配置選択部１１２に対して出力する。所定の制約条件は、たとえば、物理的な情報処理装置２１１に配置されるインスタンスの処理量の合計値が、その物理的な情報処理装置２１１の許容量を超過していないという制約条件である。
【０１９８】
上述のように仮定された例の場合に、リソース制約判定部１１６は、図１４に示されているような処理を実行することによって、第１情報処理装置に関する処理量がＤであり、第２情報処理装置に関する処理量がＤであり、第３情報処理装置に関する処理量が０であり、第４情報処理装置に関する処理量が０であると算出する。リソース制約判定部１１６は、装置情報記憶部２１３から図２６に例示されている装置情報に基づき、第１乃至第４情報処理装置に関する許容量がすべて「２Ｄ」であると読み取る。したがって、各情報処理装置２１１に関して処理量が許容量を超過していないので、リソース制約判定部１１６は、配置パターンＰＡが制約条件を満たしていると判定し、その後、配置パターンＰＡを第１適合配置セットとして、配置選択部１１２に対して出力する。
【０１９９】
排他制約判定部１１５は、図１５に示されている処理に従い、配置情報作成部１１２が出力した配置情報を入力し、入力した配置情報の中から所定の制約条件を満たしている配置パターンを選択し、選択した第２配置パターンを配置選択部１１２に対して出力する。説明の便宜上、排他度閾値Ｅ０は、２．０であるとする。この場合に、第ａサービスに関するサービス装置情報のみが作成されているので、排他制約判定部１１５は、排他度Ｅとして０を算出する。したがって、排他度Ｅが排他度閾値Ｅ０未満であるので、排他制約判定部１１５は、配置パターンＰＡが所定の制約条件を満たしていると判定し、配置パターンＰＡを第２適合配置セットとして、配置選択部１１２に対して出力する。
【０２００】
配置選択部１１２は、リソース制約判定部１１６が出力した第１適合配置セット、及び、配置情報作成部１１２が出力した第２適合配置セットを入力する。上述したように、第１適合配置セット、及び、第２適合配置セットは、ともに、配置パターンＰＡ（＝｛ａ１：１，ａ２：２｝）である。したがって、配置選択部１１２は、第１適合配置セット、及び、第２適合配置セットに共通している配置パターンを実行配置パターンとして選択し、該実行配置パターンを配置実行部１１４に対して出力する。
【０２０１】
配置実行部１１４は、配置選択部１１２が出力した実行配置パターンＰＡを入力し、実行配置パターンＰＡに従い、第ａ１インスタンスを第１情報処理装置に配置し、第ａ２インスタンスを第２情報処理装置に配置する。その後、配置実行部１１４は、インスタンス情報記憶部２１２に格納されているインスタンス情報において、インスタンスＩＤ「ａ１」と、装置ＩＤ「１」とが関連付けされ、インスタンスＩＤ「ａ２」と、装置ＩＤ「２」とが関連付けされたインスタンス情報（図２７）を作成する。図２７は、インスタンス情報の一例を概念的に表す図である。
【０２０２】
配置実行部１１４は、図２７に例示されたインスタンス情報において、装置ＩＤが空値である欄が存在するので、配置情報作成部１１２に対して、インスタンスに関する配置が完了していないことを表す信号を出力する。
【０２０３】
配置情報作成部１１２は、配置実行部１１４が出力した信号を受信した場合に、第ｂサービスを提供しているインスタンス（すなわち、｛ｂ１，ｂ２｝）に関して配置情報を作成する。配置情報作成部１１２は、たとえば、第１乃至第３配置パターンを含む配置情報を作成する。
【０２０４】
第１配置パターン：第ｂ１インスタンスを第１情報処理装置に配置し、第ｂ２インスタンスを第２情報処理装置に配置する（｛ｂ１：１，ｂ２：２｝）、
第２配置パターン：第ｂ１インスタンスを第１情報処理装置に配置し、第ｂ２インスタンスを第３情報処理装置に配置する（｛ｂ１：１，ｂ２：３｝）、
第３配置パターン：第ｂ１インスタンスを第３情報処理装置に配置し、第ｂ２インスタンスを第４情報処理装置に配置する（｛ｂ１：３，ｂ２：４｝）。
【０２０５】
配置情報作成部１１２は、作成した配置情報をリソース制約判定部１１６と、排他制約判定部１１５とに対して出力する。
【０２０６】
リソース制約判定部１１６は、図１４に示されている処理に従い、配置情報作成部１１２が出力した配置情報を入力し、入力した配置情報のうち、所定の制約条件を満たしている配置パターンを選択し、選択した配置パターンを配置選択部１１２に対して出力する。上述のように仮定された例の場合には、第ｂ１及びｂ２インスタンスが、第１乃至第３配置パターンに従い配置された場合の処理量は、それぞれ、該インスタンスが配置された配置先である情報処理装置２１１の許容量を超過していない。したがって、リソース制約判定部１１６は、第１乃至第３配置パターンが、いずれも、第１適合配置セットであると判定し、第１乃至第３配置パターンを配置選択部１１２に対して出力する。
【０２０７】
排他制約判定部１１５は、図１５に示されている処理に従い、配置情報作成部１１２が出力した配置情報を入力し、入力した配置情報の中から所定の制約条件を満たしている配置パターンを選択し、選択した第２適合配置セットを配置選択部１１２に対して出力する。上述のように仮定された例の場合に、排他制約判定部１１５は、所定の排他度算出手順に従い、入力した第１乃至第３配置パターンに関して、それぞれ、式３及び式５に従い、排他度Ｅ（式１２）を算出する。すなわち、
Ｅ＝ｅ（Ｓａ，Ｓｂ）・・・（式１２）。
【０２０８】
上述のように仮定された例の場合に、排他制約判定部１１５は、式３及び式５に従い、第１配置パターン乃至第３配置パターンに関して、以下のように排他度Ｅを算出する。すなわち、
第１配置パターンの場合：Ｅ＝｜｛１，２｝｜÷｜｛１，２｝｜＝２÷２＝１、
第２配置パターンの場合：Ｅ＝｜｛１｝｜÷｜｛１，２，３｝｜＝１÷３＝０．３３、
第３配置パターンの場合：Ｅ＝｜｛｝｜÷｜｛１，２，３，４｝｜＝０÷４＝０。
【０２０９】
したがって、排他制約判定部１１５は、算出した排他度Ｅが、いずれも、排他度閾値Ｅ０（＝２）未満であるので、排他制約判定部１１５は、第１乃至第３配置パターンが所定の制約条件を満たしていると判定し、第１乃至第３配置パターンを第２適合配置セットとして、配置選択部１１２に対して出力する。排他制約判定部１１５は、第２適合配置セットと、該第２適合配置セットに関して算出された排他度とが関連付けされた情報を、新たに、第２適合配置セットとして出力してもよい。
【０２１０】
配置選択部１１２は、リソース制約判定部１１６が出力した第１適合配置セット、及び、配置情報作成部１１２が出力した第２適合配置セットを入力する。この場合、第１適合配置セット、及び、第２適合配置セットは、いずれも、第１乃至第３配置パターンである。配置選択部１１２は、第１適合配置セット、及び、第２適合配置セットに共通している配置パターンを実行配置パターン（すなわち、第１乃至第３配置パターン）として選択し、該実行配置パターンを配置実行部１１４に対して出力する。この場合に、たとえば、配置選択部１１２は、第１乃至第３配置パターンに関して排他制約判定部１１５が算出した排他度（図２８に例示、第２適合配置セットに格納されている）を参照することによって、排他度が最小の配置パターンを実行配置パターン（この場合に、第３配置パターン）として出力してもよい。排他度が最小である配置パターンを配置選択部１１２が選択することによって、排他度が大きくなるので、あるサービスに関する負荷が増大する場合であっても、該負荷が、該あるサービスとは異なるサービスに与える影響を軽減することができる。図２８は、配置情報の一例を概念的に表す図である。
【０２１１】
上述のように仮定された例において、配置選択部１１２は、実行配置パターンとして選択した第３配置パターンを、配置実行部１１４に対して出力する。
【０２１２】
配置実行部１１４は、配置選択部１１２が出力した実行配置パターンを入力し、実行配置パターンに従い、第ｂ１インスタンスを第３情報処理装置に配置し、第ｂ２インスタンスを第４情報処理装置に配置する。その後、配置実行部１１４は、インスタンス情報記憶部２１２に格納されているインスタンス情報において、インスタンスＩＤ「ｂ１」と、装置ＩＤ「３」とが関連付けされ、インスタンスＩＤ「ｂ２」と、装置ＩＤ「４」とが関連付けされたインスタンス情報（図２９）を作成する。図２９は、インスタンス情報の一例を概念的に表す図である。
【０２１３】
配置実行部１１４は、図２９に例示されたインスタンス情報において、装置ＩＤが空値である欄が存在するので、配置情報作成部１１２に対して、インスタンスに関する配置が完了していないことを表す信号を出力する。
【０２１４】
配置情報作成部１１２は、配置実行部１１４が出力した信号を受信した場合に、第ｃサービスを提供しているインスタンス（すなわち、｛ｃ１，ｃ２｝）に関して配置情報を作成する。配置情報作成部１１２は、たとえば、第４配置パターン、または、第５配置パターンを含む配置情報を作成する。
【０２１５】
第４配置パターン：第ｃ１インスタンスを第１情報処理装置に配置し、第ｃ２インスタンスを第２情報処理装置に配置する（｛ｃ１：１，ｃ２：２｝）、
第５配置パターン：第ｃ１インスタンスを第２情報処理装置に配置し、第ｃ２インスタンスを第３情報処理装置に配置する（｛ｃ１：２，ｃ２：３｝）。
【０２１６】
配置情報作成部１１２は、作成した配置情報をリソース制約判定部１１６と、排他制約判定部１１５とに対して出力する。
【０２１７】
リソース制約判定部１１６は、図１４に示されている処理に従い、配置情報作成部１１２が出力した配置情報を入力し、入力した配置情報のうち、所定の制約条件を満たしている配置パターンを選択し、選択した配置パターンを配置選択部１１２に対して出力する。上述のように仮定された例の場合には、第ｃ１及びｃ２インスタンスが、第４配置パターン、または、第５配置パターンに従い配置された場合の処理量は、それぞれ、該インスタンスが配置された配置先である情報処理装置２１１の許容量を超過していない。したがって、リソース制約判定部１１６は、第４配置パターン、または、第５配置パターンが、いずれも、第１適合配置セットであると判定し、第４配置パターン、または、第５配置パターンを配置選択部１１２に対して出力する。
【０２１８】
排他制約判定部１１５は、図１５に示されている処理に従い、配置情報作成部１１２が出力した配置情報を入力し、入力した配置情報の中から所定の制約条件を満たしている配置パターンを選択し、選択した第２適合配置セットを配置選択部１１２に対して出力する。上述のように仮定された例の場合に、排他制約判定部１１５は、所定の排他度算出手順に従い、入力した第４配置パターン、または、第５配置パターンに関して、それぞれ、部分排他度ｅ（Ｓａ，Ｓｂ）、部分排他度ｅ（Ｓｂ，Ｓｃ）、及び、部分排他度ｅ（Ｓｃ，Ｓａ）を算出する。その後、排他制約判定部１１５は、式３及び式５に従い、排他度Ｅ（式１３）を算出する。すなわち、
Ｅ＝ｅ（Ｓａ，Ｓｂ）＋ｅ（Ｓｂ，Ｓｃ）＋ｅ（Ｓｃ，Ｓａ）・・・（式１３）。
【０２１９】
上述のように仮定された例の場合に、排他度Ｅは、式３及び式５に従い、以下のように算出される。すなわち、
第４配置パターンの場合：Ｅ＝｜｛｝｜÷｜｛｝｜＋｜｛｝｜÷｜｛｝｜＋｜｛１，２｝｜÷｜｛１，２｝｜＝０＋０＋２÷２＝１、
第５配置パターンの場合：Ｅ＝｜｛｝｜÷｜｛｝｜＋｜｛３｝｜÷｜｛２，３，４｝｜＋｜｛２｝｜÷｜｛１，２，３｝｜＝０＋１÷３＋１÷３＝２÷３＝０．６６７。
【０２２０】
したがって、排他制約判定部１１５は、算出した排他度Ｅが、いずれも、排他度閾値Ｅ０（＝２）未満であるので、排他制約判定部１１５は、第４配置パターン、または、第５配置パターンが所定の制約条件を満たしていると判定し、第４配置パターン、または、第５配置パターンを第２適合配置セットとして、配置選択部１１２に対して出力する。排他制約判定部１１５は、第２適合配置セットと、該第２適合配置セットに関して算出された排他度とが関連付けされた情報を、新たに、第２適合配置セットとして出力してもよい。
【０２２１】
配置選択部１１２は、リソース制約判定部１１６が出力した第１適合配置セット、及び、配置情報作成部１１２が出力した第２適合配置セットを入力する。この場合、第１適合配置セット、及び、第２適合配置セットは、いずれも、第４配置パターン、または、第５配置パターンである。配置選択部１１２は、第４配置パターン、または、第５配置パターンに関して排他制約判定部１１５が算出した排他度（第２適合配置セットに格納されている）を参照することによって、排他度が最小の配置パターンを実行配置パターン（この場合に、第５配置パターン）として、配置実行部１１４に対して出力する。
【０２２２】
配置実行部１１４は、配置選択部１１２が出力した実行配置パターンを入力し、実行配置パターンに従い、第ｃ１インスタンスを第２情報処理装置に配置し、第ｃ２インスタンスを第３情報処理装置に配置する。その後、配置実行部１１４は、インスタンス情報記憶部２１２に格納されているインスタンス情報において、インスタンスＩＤ「ｃ１」と、装置ＩＤ「２」とが関連付けされ、インスタンスＩＤ「ｃ２」と、装置ＩＤ「３」とが関連付けされたインスタンス情報（図３０）を作成する。図３０は、インスタンス情報の一例を概念的に表す図である。
【０２２３】
配置実行部１１４は、図３０に例示されたインスタンス情報において、装置ＩＤが空値である欄が存在するので、配置情報作成部１１２に対して、インスタンスに関する配置が完了していないことを表す信号を出力する。
【０２２４】
配置情報作成部１１２は、配置実行部１１４が出力した信号を受信した場合に、第ｄサービスを提供しているインスタンス（すなわち、｛ｄ１，ｄ２｝）に関して配置情報を作成する。配置情報作成部１１２は、たとえば、第６乃至第１１配置パターンを含む配置情報を作成する。
【０２２５】
第６配置パターン：第ｄ１インスタンスを第１情報処理装置に配置し、第ｄ２インスタンスを第２情報処理装置に配置する（｛ｄ１：１，ｄ２：２｝）、
第７配置パターン：第ｄ１インスタンスを第３情報処理装置に配置し、第ｄ２インスタンスを第４情報処理装置に配置する（｛ｄ１：３，ｄ２：４｝）、
第８配置パターン：第ｄ１インスタンスを第２情報処理装置に配置し、第ｄ２インスタンスを第３情報処理装置に配置する（｛ｄ１：２，ｄ２：３｝）、
第９配置パターン：第ｄ１インスタンスを第１情報処理装置に配置し、第ｄ２インスタンスを第３情報処理装置に配置する（｛ｄ１：１，ｄ２：３｝）、
第１０配置パターン：第ｄ１インスタンスを第２情報処理装置に配置し、第ｄ２インスタンスを第４情報処理装置に配置する（｛ｄ１：２，ｄ２：４｝）、
第１１配置パターン：第ｄ１インスタンスを第１情報処理装置に配置し、第ｄ２インスタンスを第４情報処理装置に配置する（｛ｄ１：１，ｄ２：４｝）。
【０２２６】
リソース制約判定部１１６は、図１４に示されている処理に従い、配置情報作成部１１２が出力した配置情報を入力し、入力した配置情報のうち、所定の制約条件を満たしている配置パターンを選択し、選択した配置パターンを配置選択部１１２に対して出力する。上述のように仮定された例の場合には、第ｄ１及びｄ２インスタンスが、第１１配置パターンに従い配置された場合の処理量は、それぞれ、該インスタンスが配置された配置先である情報処理装置２１１の許容量を超過していない。第ｄ１及びｄ２インスタンスが、第６乃至第１０配置パターンに従い配置された場合の処理量は、第２情報処理装置、または、第３情報処理装置のうち、少なくともいずれか１つにおいて、許容量を超過してしまう。したがって、リソース制約判定部１１６は、第１１配置パターンが、第１適合配置セットであると判定し、第１１配置パターンを配置選択部１１２に対して出力する。
【０２２７】
排他制約判定部１１５は、図１５に示されている処理に従い、配置情報作成部１１２が出力した配置情報を入力し、入力した配置情報の中から所定の制約条件を満たしている配置パターンを選択し、選択した第２適合配置セットを配置選択部１１２に対して出力する。上述のように仮定された例の場合に、排他制約判定部１１５は、所定の排他度算出手順に従い、入力した第６乃至第１１配置パターンに関して、それぞれ、部分排他度ｅ（Ｓａ，Ｓｂ）、部分排他度ｅ（Ｓｂ，Ｓｃ）、及び、部分排他度ｅ（Ｓｃ，Ｓａ）を算出する。その後、排他制約判定部１１５は、式３及び式５に従い、排他度Ｅ（式１４）を算出する。すなわち、
Ｅ＝ｅ（Ｓａ，Ｓｂ）＋ｅ（Ｓｂ，Ｓｃ）＋ｅ（Ｓｃ，Ｓａ）＋ｅ（Ｓａ，Ｓｄ）＋ｅ（Ｓｂ，Ｓｄ）＋ｅ（Ｓｃ，Ｓｄ）・・・（式１４）。
【０２２８】
上述のように仮定された例の場合に、排他度Ｅは、式３及び式５に従い、以下のように算出される。
【０２２９】
・第６配置パターンの場合：Ｅ＝｜｛｝｜÷｜｛｝｜＋｜｛３｝｜÷｜｛２，３，４｝｜＋｜｛２｝｜÷｜｛１，２，３｝｜＋｜｛１，２｝｜÷｜｛１，２｝｜＋｜｛｝｜÷｜｛｝｜＋｜｛２｝｜÷｜｛１，２，３｝｜＝０＋１÷３＋１÷３＋１＋０＋１÷３＝２。
【０２３０】
・第７配置パターンの場合：Ｅ＝｜｛｝｜÷｜｛｝｜＋｜｛３｝｜÷｜｛２，３，４｝｜＋｜｛２｝｜÷｜｛１，２，３｝｜＋｜｛｝｜÷｜｛｝｜＋｜｛１，２｝｜÷｜｛１，２｝｜＋｜｛３｝｜÷｜｛２，３，４｝｜＝０＋１÷３＋１÷３＋０＋１＋１÷３＝２。
【０２３１】
・第８配置パターンの場合：Ｅ＝｜｛｝｜÷｜｛｝｜＋｜｛３｝｜÷｜｛２，３，４｝｜＋｜｛２｝｜÷｜｛１，２，３｝｜＋｜｛２｝｜÷｜｛１，２，３｝｜＋｜｛３｝｜÷｜｛２，３，４｝｜＋｜｛２，３｝｜÷｜｛２，３｝｜＝０＋１÷３＋１÷３＋１÷３＋１÷３＋１＝７÷３。
【０２３２】
・第９配置パターンの場合：Ｅ＝｜｛｝｜÷｜｛｝｜＋｜｛３｝｜÷｜｛２，３，４｝｜＋｜｛２｝｜÷｜｛１，２，３｝｜＋｜｛１｝｜÷｜｛１，２，３｝｜＋｜｛３｝｜÷｜｛１，３，４｝｜＋｜｛３｝｜÷｜｛１，２，３｝｜＝０＋１÷３＋１÷３＋１÷３＋１÷３＋１÷３＝５÷３。
【０２３３】
・第１０配置パターンの場合：Ｅ＝｜｛｝｜÷｜｛｝｜＋｜｛３｝｜÷｜｛２，３，４｝｜＋｜｛２｝｜÷｜｛１，２，３｝｜＋｜｛２｝｜÷｜｛１，２，４｝｜＋｜｛４｝｜÷｜｛２，３，４｝｜＋｜｛２｝｜÷｜｛２，３，４｝｜＝０＋１÷３＋１÷３＋１÷３＋１÷３＋１÷３＝５÷３。
【０２３４】
・第１１配置パターンの場合：Ｅ＝｜｛｝｜÷｜｛｝｜＋｜｛３｝｜÷｜｛２，３，４｝｜＋｜｛２｝｜÷｜｛１，２，３｝｜＋｜｛１｝｜÷｜｛１，２，４｝｜＋｜｛４｝｜÷｜｛１，３，４｝｜＋｜｛｝｜÷｜｛｝｜＝０＋１÷３＋１÷３＋１÷３＋１÷３＋０＝４÷３。
【０２３５】
したがって、第９配置パターン乃至第１１配置パターンに関して算出した排他度Ｅは、排他度閾値Ｅ０（＝２）よりも小さい。この結果、排他制約判定部１１５は、第９配置パターン乃至第１１配置パターンが所定の制約条件を満たしていると判定し、第９乃至第１１配置パターンを第２適合配置セットとして、配置選択部１１２に対して出力する。
【０２３６】
配置選択部１１２は、リソース制約判定部１１６が出力した第１適合配置セット、及び、配置情報作成部１１２が出力した第２適合配置セットを入力する。配置選択部１１２は、第１適合配置セット、及び、第２適合配置セットに共通している配置パターンを実行配置パターン（すなわち、第１１配置パターン）として選択し、該実行配置パターンを配置実行部１１４に対して出力する。
【０２３７】
配置実行部１１４は、配置選択部１１２が出力した実行配置パターンを入力し、実行配置パターンに従い、第ｄ１インスタンスを第１情報処理装置に配置し、第ｄ２インスタンスを第４情報処理装置に配置する。その後、配置実行部１１４は、インスタンス情報記憶部２１２に格納されているインスタンス情報において、インスタンスＩＤ「ｄ１」と、装置ＩＤ「１」とが関連付けされ、インスタンスＩＤ「ｄ２」と、装置ＩＤ「４」とが関連付けされたインスタンス情報（図３１）を作成する。図３１は、インスタンス情報の一例を概念的に表す図である。
【０２３８】
配置実行部１１４は、図３１に例示されたインスタンス情報において、装置ＩＤが空値である欄が存在しないので、負荷分散装置に対して、インスタンスに関する配置が完了したことを表す信号を出力する。
【０２３９】
負荷分散装置は、各物理的な情報処理装置２１１によって、一定時間間隔ごとに測定されたＣＰＵの負荷値を取得する。一定時間間隔は、たとえば、１秒ごとである。サービスに対するリクエスト数に応じて、サービスを提供しているインスタンスを処理している物理的な情報処理装置２１１のＣＰＵの負荷値は増減する。負荷分散装置は、それぞれの物理的な情報処理装置２１１にて測定されたＣＰＵの負荷値と、該情報処理装置２１１を表す装置ＩＤとが関連付けされた負荷情報（図３２に例示）を記憶しており、情報処理装置２１１にて測定された負荷値を受信するのに応じて、受信したＣＰＵに関する負荷情報を更新する。図３２は、負荷情報の一例を概念的に表す図である。
【０２４０】
たとえば、図３２に例示された負荷情報においては、装置ＩＤ「２」と、ＣＰＵの負荷値「５０％」とが関連付けされている。これは、装置ＩＤ「２」が表す情報処理装置２１１において測定されたＣＰＵの負荷値が「５０％」であることを表す。負荷情報は、上述した例に限定されない。負荷分散装置は、装置ＩＤが表す情報処理装置２１１から受信したＣＰＵの負荷値と、該装置ＩＤとが関連付けされた負荷情報を作成し、該負荷情報を自装置に記憶する。
【０２４１】
説明の便宜上、負荷分散装置は、図３２に例示された負荷情報が格納されており、さらに、サービスに関するリクエストを受信したとする。
【０２４２】
負荷分散装置は、リクエストを受信した場合に、インスタンス情報記憶部２１２に格納されているインスタンス情報（図３１に例示）を参照することによって、サービスＩＤ「ａ」に関連付けされたインスタンスＩＤ「ａ１」、及び、サービスＩＤ「ａ」に関連付けされたインスタンスＩＤ「ａ２」を特定する。すなわち、負荷分散装置は、インスタンス情報（図３１）を参照することによって、第ａサービスを提供しているインスタンスが、第ａ１インスタンス、及び、第ａ２インスタンスであることを読み取る。
【０２４３】
次に、負荷分散装置は、インスタンス情報（図３１）を参照することによって、インスタンスＩＤ「ａ１」に関連付けされた装置ＩＤ「１」、及び、インスタンスＩＤ「ａ２」に関連付けされた装置ＩＤ「２」を特定する。すなわち、負荷分散装置は、インスタンス情報（図３１）を参照することによって、第ａ１インスタンスが第１情報処理装置に配置されており、第ａ２インスタンスが第２情報処理装置に配置されていることを特定する。
【０２４４】
次に、負荷分散装置は、負荷情報（図３２に例示）を参照することによって、装置ＩＤ「１」に関連付けされたＣＰＵの負荷値「４０％」と、装置ＩＤ「２」に関連付けされたＣＰＵの負荷値「５０％」とを特定する。
【０２４５】
負荷分散装置は、特定したＣＰＵの負荷値の大小を比較することによって最小のＣＰＵの負荷値を特定し、特定した最小のＣＰＵの負荷値に関連付けされた装置ＩＤを特定する。上述のように仮定された例において、第１情報処理装置に関する負荷値が４０％であり、第２情報処理装置に関する負荷値が５０％であるので、負荷分散装置は、第１情報処理装置に配置された第ａ１インスタンスに、受信したリクエストを振り分ける。
【０２４６】
＜第５の実施形態＞
次に、上述した各実施形態に共通している本発明の第５の実施形態について説明する。
【０２４７】
図３３を参照しながら、本発明の第５の実施形態に係るインスタンス配置装置３０１が有する構成について説明する。図３３は、本発明の第５の実施形態に係るインスタンス配置装置３０１が有する構成を示すブロック図である。
【０２４８】
第５の実施形態に係るインスタンス配置装置３０１は、配置情報作成部３０２と、第１配置選択部３０３と、第２配置選択部３０４と、配置実行部３０５とを有する。
【０２４９】
インスタンス配置装置３０１は、インスタンス情報記憶部２１２に格納されているインスタンス情報（図５に例示）、及び、装置情報記憶部２１３に格納されている装置情報（図７に例示）を参照することによって、複数の物理的な情報処理装置２１１にインスタンスを配置する。インスタンス情報は、必ずしも、インスタンス情報記憶部２１２に格納されている必要はなく、たとえば、通信ネットワークを介して受信（入手）されてもよい。装置情報は、必ずしも、装置情報記憶部２１３に格納されている必要はなく、たとえば、通信ネットワークを介して受信（入手）されてもよい。以降の説明においては、説明の便宜上、インスタンス情報は、インスタンス情報記憶部２１２に格納されているとする。装置情報は、装置情報記憶部２１３に格納されているとする。
【０２５０】
配置情報作成部３０２は、サービスに対応しているインスタンスを一意に識別可能なインスタンス識別子と、物理情報処理装置２１１を一意に識別可能な装置識別子とが関連付けされた配置セットを含む配置情報を作成する。
【０２５１】
第１配置選択部３０３は、該装置識別子に関連付けされた該インスタンス識別子が表すインスタンスに関する処理量の合計値が、該物理情報処理装置２１１が処理可能な処理量を表す許容量以下である該配置セットを表す第１適合配置セットを、該配置情報から選択する。
【０２５２】
第２配置選択部３０４は、該インスタンス識別子が表すインスタンスに関する該サービスを一意に識別可能なサービス識別子と、該インスタンス識別子に関連付けされた該装置識別子とが関連付けされたサービス装置情報を複数作成する。第２配置選択部３０４は、作成した複数のサービス装置情報がお互いに排他的である程度を表す排他度が所定の条件を満たしている該配置セットを表す第２適合配置セットを、該配置情報から選択する。
【０２５３】
配置実行部３０５は、該第１適合配置セットと、該第２適合配置セットとに共通して含まれている該配置セットに従って、該インスタンス識別子が表すインスタンスを、該インスタンス識別子に関連付けされた該装置識別子が表す該物理情報処理装置２１１に配置する。
【０２５４】
配置情報作成部３０２は、たとえば、本発明の第１の実施形態に係る配置情報作成部１０２を用いても実現することができる。第１配置選択部３０３は、たとえば、第１の実施形態に係る第１配置選択部１０３が有している機能を用いても実現することができる。第２配置選択部３０４は、たとえば、第１の実施形態に係る第２配置選択部１０４が有している機能を用いても実現することができる。配置実行部３０５は、たとえば、第１の実施形態に係る配置実行部１０５が有している機能を用いても実現することができる。
【０２５５】
次に、第５の実施形態に係るインスタンス配置装置３０１に関する効果について説明する。
【０２５６】
第１の実施形態に係るインスタンス配置装置３０１によれば、仮想的な処理装置を表すインスタンスを物理的な情報処理装置に、高い応答性能を達成するように配置することができる。この理由は、インスタンス配置装置３０１が、各情報処理装置２１１に関する許容量を超過していないという制約条件、及び、インスタンスを配置する配置先が、該インスタンスによって実現されるサービス間において相互に排他的であるという制約条件を満たしている配置を実行するからである。
【０２５７】
（ハードウェア構成例）
上述した本発明の各実施形態におけるインスタンス配置装置を、１つの計算処理装置（情報処理装置、コンピュータ）を用いて実現するハードウェア資源の構成例について説明する。但し、係るインスタンス配置装置は、物理的または機能的に少なくとも２つの計算処理装置を用いて実現してもよい。また、係るインスタンス配置装置置は、専用の装置として実現してもよい。
【０２５８】
図３４は、第１の実施形態乃至第５の実施形態に係るインスタンス配置装置、または、負荷分散装置を実現可能な計算処理装置のハードウェア構成例を概略的に示す図である。計算処理装置２０は、中央処理演算装置（Ｃｅｎｔｒａｌ＿Ｐｒｏｃｅｓｓｉｎｇ＿Ｕｎｉｔ、以降「ＣＰＵ」と表す）２１、メモリ２２、ディスク２３、及び、不揮発性記録媒体２４を有する。計算処理装置２０は、さらに、入力装置２５、出力装置２６、通信インターフェース（以降、「通信ＩＦ」と表す）２７、及び、ディスプレー２８を有する。計算処理装置２０は、通信ＩＦ２７を介して、他の計算処理装置、及び、通信装置から、情報を送受信することができる。
【０２５９】
不揮発性記録媒体２４は、コンピュータが読み取り可能な、たとえば、コンパクトディスク（Ｃｏｍｐａｃｔ＿Ｄｉｓｃ）、デジタルバーサタイルディスク（Ｄｉｇｉｔａｌ＿Ｖｅｒｓａｔｉｌｅ＿Ｄｉｓｃ）である。また、不揮発性記録媒体２４は、ユニバーサルシリアルバスメモリ（ＵＳＢメモリ）、ソリッドステートドライブ（Ｓｏｌｉｄ＿Ｓｔａｔｅ＿Ｄｒｉｖｅ）等であってもよい。不揮発性記録媒体２４は、電源を供給しなくても係るプログラムを保持し、持ち運びを可能にする。不揮発性記録媒体２４は、上述した媒体に限定されない。また、不揮発性記録媒体２４の代わりに、通信ＩＦ２７、及び、通信ネットワークを介して係るプログラムを持ち運びしてもよい。
【０２６０】
すなわち、ＣＰＵ２１は、ディスク２３に記憶されているソフトウェア・プログラム（コンピュータ・プログラム：以下、単に「プログラム」と称する）を、実行する際にメモリ２２にコピーし、演算処理を実行する。ＣＰＵ２１は、プログラム実行に必要なデータをメモリ２２から読み取る。表示が必要な場合には、ＣＰＵ２１は、ディスプレー２８に出力結果を表示する。外部への出力が必要な場合には、ＣＰＵ２１は、出力装置２６に出力結果を出力する。外部からプログラムを入力する場合、ＣＰＵ２１は、入力装置２５からプログラムを読み取る。ＣＰＵ２１は、上述した図１、図１１、図１８、または、図２２に示す各部が表す機能（処理）に対応するところのメモリ２２にあるインスタンス配置プログラム（図２乃至図４、図１４、図１５、または、図３３）、または、負荷分散プログラム（図１３、図２３、または、図２４）を解釈し実行する。ＣＰＵ２１は、上述した本発明の各実施形態において説明した処理を順次実行する。
【０２６１】
すなわち、このような場合、本発明は、係る配置プログラムによっても成し得ると捉えることができる。さらに、係る配置プログラムが記録されたコンピュータが読み取り可能な不揮発性の記録媒体によっても、本発明は成し得ると捉えることができる。
【０２６２】
以上、上述した実施形態を模範的な例として本発明を説明した。しかし、本発明は、上述した実施形態には限定されない。すなわち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
【符号の説明】
【０２６３】
１０１    インスタンス配置装置
１０２    配置情報作成部
１０３    第１配置選択部
１０４    第２配置選択部
１０５    配置実行部
２１１    情報処理装置
２１２    インスタンス情報記憶部
２１３    装置情報記憶部
１５１    情報処理システム
１５２    負荷分散装置
１５３    通信ネットワーク
１１１    インスタンス配置装置
１１２    配置情報作成部
１１３    配置選択部
１１４    配置実行部
１１５    排他制約判定部
１１６    リソース制約判定部
１２１    情報処理システム
１２２    インスタンス配置装置
１２３    均等度判定部
１３１    情報処理システム
１３２    負荷分散装置
１３３    リクエスト振り分け部
１３４    重み算出部
１３５    負荷状態判定部
３０１    インスタンス配置装置
３０２    配置情報作成部
３０３    第１配置選択部
３０４    第２配置選択部
３０５    配置実行部
２０    計算処理装置
２１    ＣＰＵ
２２    メモリ
２３    ディスク
２４    不揮発性記録媒体
２５    入力装置
２６    出力装置
２７    通信ＩＦ
２８    ディスプレー
【図１】
2017097642.tif 000003
【図２】
2017097642.tif 000004
【図３】
2017097642.tif 000005
【図４】
2017097642.tif 000006
【図５】
2017097642.tif 000007
【図６】
2017097642.tif 000008
【図７】
2017097642.tif 000009
【図８】
2017097642.tif 000010
【図９】
2017097642.tif 000011
【図１０】
2017097642.tif 000012
【図１１】
2017097642.tif 000013
【図１２】
2017097642.tif 000014
【図１３】
2017097642.tif 000015
【図１４】
2017097642.tif 000016
【図１５】
2017097642.tif 000017
【図１６】
2017097642.tif 000018
【図１７】
2017097642.tif 000019
【図１８】
2017097642.tif 000020
【図１９】
2017097642.tif 000021
【図２０】
2017097642.tif 000022
【図２１】
2017097642.tif 000023
【図２２】
2017097642.tif 000024
【図２３】
2017097642.tif 000025
【図２４】
2017097642.tif 000026
【図２５】
2017097642.tif 000027
【図２６】
2017097642.tif 000028
【図２７】
2017097642.tif 000029
【図２８】
2017097642.tif 000030
【図２９】
2017097642.tif 000031
【図３０】
2017097642.tif 000032
【図３１】
2017097642.tif 000033
【図３２】
2017097642.tif 000034
【図３３】
2017097642.tif 000035
【図３４】
2017097642.tif 000036