(57)【要約】【課題】システム全体としてリソースを効率的に利用する。【解決手段】マシン管理システムは、コンピュータ装置であるマシンを複数有するマシン群と、マシンとネットワークを介して接続され、マシン群を管理する管理サーバ装置とを備え、管理サーバ装置は、マシンが有するリソースの使用状態に応じて、マシン群のうちからリソースが不足する第１のマシンを検出するとともに、マシンを識別する識別情報とマシンで動作中の処理機能とを関連付けて記憶する管理情報記憶部から、検出した第１のマシンの動作中の処理機能を取得する機能取得部と、第１のマシンとは異なる第２のマシンの処理機能を、機能取得部が取得した第１のマシンで動作中の処理機能に変更して、第２のマシンを動作させる機能変更部とを備える。【選択図】図１
2014229253.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ装置であるマシンを複数有するマシン群と、
前記マシンとネットワークを介して接続され、前記マシン群を管理する管理サーバ装置と
を備え、
前記管理サーバ装置は、
前記マシンが有するリソースの使用状態に応じて、前記マシン群のうちから前記リソースが不足する第１のマシンを検出するとともに、前記マシンを識別する識別情報と前記マシンで動作中の処理機能とを関連付けて記憶する管理情報記憶部から、検出した前記第１のマシンの動作中の処理機能を取得する機能取得部と、
前記第１のマシンとは異なる第２のマシンの処理機能を、機能取得部が取得した前記第１のマシンで動作中の処理機能に変更して、前記第２のマシンを動作させる機能変更部と
を備えることを特徴とするマシン管理システム。
【請求項２】
前記管理情報記憶部は、
前記識別情報と、前記動作中の処理機能と、前記マシンに搭載済みの処理機能とを関連付けて記憶し、
前記機能変更部は、
前記機能取得部によって取得された当該動作中の処理機能が、前記搭載済みの処理機能として前記管理情報記憶部に記憶されている前記マシンのうちから、前記リソースの使用状態に基づいて、当該動作中の処理機能に変更可能なマシンを前記第２のマシンとして選択し、選択した前記第２のマシンの処理機能を、当該動作中の処理機能に一致する前記搭載済みの処理機能に変更して前記第２のマシンを動作させる
ことを特徴する請求項１に記載のマシン管理システム。
【請求項３】
前記機能変更部は、
前記搭載済みの処理機能として前記機能取得部によって取得された当該動作中の処理機能を搭載する前記第２のマシンが選択できない場合に、前記リソースの使用状態に基づいて、動作中の前記マシン群のうちから、当該動作中の処理機能を搭載可能なマシンを前記第２のマシンとして選択し、選択した前記第２のマシンに当該動作中の処理機能を実現させるプログラムを読み込ませて、当該動作中の処理機能を動作させる
ことを特徴する請求項２に記載のマシン管理システム。
【請求項４】
前記管理サーバ装置は、
さらに、前記第２のマシンが選択できない場合に、前記マシン群のうちから、停止中のマシンを起動するとともに、当該マシンに前記第１のマシンで動作中の処理機能を実現させるプログラムを読み込ませて、当該動作中の処理機能を動作させる起動処理部を備える
ことを特徴する請求項１から請求項３のいずれか一項に記載のマシン管理システム。
【請求項５】
前記リソースの使用状態には、前記リソースの使用量が含まれ、
前記機能取得部は、
前記リソースの使用量が所定の閾値以上になったマシンを前記第１のマシンとして検出し、前記第１のマシンを検出した場合に、管理情報記憶部から、当該第１のマシンに対応する前記識別情報に関連付けられている前記動作中の処理機能を取得し、
前記マシン群が有する前記マシンは、前記ネットワークを介してオペレーティングシステムを起動するネットワークブート機能を有する物理マシンである
ことを特徴とする請求項１から請求項４のいずれか一項に記載のマシン管理システム。
【請求項６】
コンピュータ装置であるマシンとネットワークを介して接続され、複数の前記マシンを有するマシン群を管理する管理サーバ装置であって、
前記マシンが有するリソースの使用状態に応じて、前記マシン群のうちから前記リソースが不足する第１のマシンを検出するとともに、前記マシンを識別する識別情報と前記マシンで動作中の処理機能とを関連付けて記憶する管理情報記憶部から、検出した前記第１のマシンの動作中の処理機能を取得する機能取得部と、
前記第１のマシンとは異なる第２のマシンの処理機能を、機能取得部が取得した前記第１のマシンで動作中の処理機能に変更して、前記第２のマシンを動作させる機能変更部と
を備えることを特徴とする管理サーバ装置。
【請求項７】
コンピュータ装置であるマシンを複数有するマシン群と、前記マシンとネットワークを介して接続され、前記マシン群を管理する管理サーバ装置とを備えるマシン管理システムのマシン管理方法であって、
前記管理サーバ装置が、
前記マシンが有するリソースの使用状態に応じて、前記マシン群のうちから前記リソースが不足する第１のマシンを検出するとともに、前記マシンを識別する識別情報と前記マシンで動作中の処理機能とを関連付けて記憶する管理情報記憶部から、検出した前記第１のマシンの動作中の処理機能を取得し、
前記第１のマシンとは異なる第２のマシンの処理機能を、取得した前記第１のマシンで動作中の処理機能に変更して、前記第２のマシンを動作させる
ことを特徴とするマシン管理方法。
【請求項８】
コンピュータ装置であるマシンとネットワークを介して接続され、複数の前記マシンを有するマシン群を管理する管理サーバ装置としてのコンピュータに、
機能取得部が、前記マシンが有するリソースの使用状態に応じて、前記マシン群のうちから前記リソースが不足する第１のマシンを検出するとともに、前記マシンを識別する識別情報と前記マシンで動作中の処理機能とを関連付けて記憶する管理情報記憶部から、検出した前記第１のマシンの動作中の処理機能を取得する機能取得ステップと、
機能変更部が、前記第１のマシンとは異なる第２のマシンの処理機能を、機能取得部が取得した前記第１のマシンで動作中の処理機能に変更して、前記第２のマシンを動作させる機能変更ステップと
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マシン管理システム、管理サーバ、マシン管理方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、サーバ装置などのコンピュータ装置であるマシン群を管理するマシン管理システムが知られている（例えば、特許文献１を参照）。
このようなマシン管理システムでは、マシン群であるサーバ装置群を管理する管理サーバが、サーバ装置群の処理負荷に応じて、稼働するサーバ装置を動的に変更する制御を行っている。マシン管理システムでは、管理サーバが、例えば、処理負荷が増大した場合に、稼働するサーバ装置を増設し、処理負荷が低減した場合に、余剰なサーバ装置を停止する制御を行っている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−９０５９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述のようなマシン管理システムでは、各サーバ装置は、その役割が固定であるため、例えば、あるサービスのサーバ装置群が限界性能で動作しているにも関わらず、別のサービスのサーバ装置群が余裕を持って動作することがある。
このように、上述のようなマシン管理システムでは、システム全体としてリソースを効率的に利用することが困難であった。
【０００５】
本発明は、上記問題を解決すべくなされたもので、その目的は、システム全体としてリソースを効率的に利用することができるマシン管理システム、管理サーバ、マシン管理方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
上記問題を解決するために、本発明の一態様は、コンピュータ装置であるマシンを複数有するマシン群と、前記マシンとネットワークを介して接続され、前記マシン群を管理する管理サーバ装置とを備え、前記管理サーバ装置は、前記マシンが有するリソースの使用状態に応じて、前記マシン群のうちから前記リソースが不足する第１のマシンを検出するとともに、前記マシンを識別する識別情報と前記マシンで動作中の処理機能とを関連付けて記憶する管理情報記憶部から、検出した前記第１のマシンの動作中の処理機能を取得する機能取得部と、前記第１のマシンとは異なる第２のマシンの処理機能を、機能取得部が取得した前記第１のマシンで動作中の処理機能に変更して、前記第２のマシンを動作させる機能変更部とを備えることを特徴とするマシン管理システムである。
【０００７】
また、本発明の一態様は、上記のマシン管理システムにおいて、前記管理情報記憶部は、前記識別情報と、前記動作中の処理機能と、前記マシンに搭載済みの処理機能とを関連付けて記憶し、前記機能変更部は、前記機能取得部によって取得された当該動作中の処理機能が、前記搭載済みの処理機能として前記管理情報記憶部に記憶されている前記マシンのうちから、前記リソースの使用状態に基づいて、当該動作中の処理機能に変更可能なマシンを前記第２のマシンとして選択し、選択した前記第２のマシンの処理機能を、当該動作中の処理機能に一致する前記搭載済みの処理機能に変更して前記第２のマシンを動作させることを特徴する。
【０００８】
また、本発明の一態様は、上記のマシン管理システムにおいて、前記機能変更部は、前記搭載済みの処理機能として前記機能取得部によって取得された当該動作中の処理機能を搭載する前記第２のマシンが選択できない場合に、前記リソースの使用状態に基づいて、動作中の前記マシン群のうちから、当該動作中の処理機能を搭載可能なマシンを前記第２のマシンとして選択し、選択した前記第２のマシンに当該動作中の処理機能を実現させるプログラムを読み込ませて、当該動作中の処理機能を動作させることを特徴する。
【０００９】
また、本発明の一態様は、上記のマシン管理システムにおいて、前記管理サーバ装置は、さらに、前記第２のマシンが選択できない場合に、前記マシン群のうちから、停止中のマシンを起動するとともに、当該マシンに前記第１のマシンで動作中の処理機能を実現させるプログラムを読み込ませて、当該動作中の処理機能を動作させる起動処理部を備えることを特徴する。
【００１０】
また、本発明の一態様は、上記のマシン管理システムにおいて、前記リソースの使用状態には、前記リソースの使用量が含まれ、前記機能取得部は、前記リソースの使用量が所定の閾値以上になったマシンを前記第１のマシンとして検出し、前記第１のマシンを検出した場合に、管理情報記憶部から、当該第１のマシンに対応する前記識別情報に関連付けられている前記動作中の処理機能を取得し、前記マシン群が有する前記マシンは、前記ネットワークを介してオペレーティングシステムを起動するネットワークブート機能を有する物理マシンであることを特徴とする。
【００１１】
また、本発明の一態様は、コンピュータ装置であるマシンとネットワークを介して接続され、複数の前記マシンを有するマシン群を管理する管理サーバ装置であって、前記マシンが有するリソースの使用状態に応じて、前記マシン群のうちから前記リソースが不足する第１のマシンを検出するとともに、前記マシンを識別する識別情報と前記マシンで動作中の処理機能とを関連付けて記憶する管理情報記憶部から、検出した前記第１のマシンの動作中の処理機能を取得する機能取得部と、前記第１のマシンとは異なる第２のマシンの処理機能を、機能取得部が取得した前記第１のマシンで動作中の処理機能に変更して、前記第２のマシンを動作させる機能変更部とを備えることを特徴とする管理サーバ装置である。
【００１２】
また、本発明の一態様は、コンピュータ装置であるマシンを複数有するマシン群と、前記マシンとネットワークを介して接続され、前記マシン群を管理する管理サーバ装置とを備えるマシン管理システムのマシン管理方法であって、前記管理サーバ装置が、前記マシンが有するリソースの使用状態に応じて、前記マシン群のうちから前記リソースが不足する第１のマシンを検出するとともに、前記マシンを識別する識別情報と前記マシンで動作中の処理機能とを関連付けて記憶する管理情報記憶部から、検出した前記第１のマシンの動作中の処理機能を取得し、前記第１のマシンとは異なる第２のマシンの処理機能を、取得した前記第１のマシンで動作中の処理機能に変更して、前記第２のマシンを動作させることを特徴とするマシン管理方法である。
【００１３】
また、本発明の一態様は、コンピュータ装置であるマシンとネットワークを介して接続され、複数の前記マシンを有するマシン群を管理する管理サーバ装置としてのコンピュータに、機能取得部が、前記マシンが有するリソースの使用状態に応じて、前記マシン群のうちから前記リソースが不足する第１のマシンを検出するとともに、前記マシンを識別する識別情報と前記マシンで動作中の処理機能とを関連付けて記憶する管理情報記憶部から、検出した前記第１のマシンの動作中の処理機能を取得する機能取得ステップと、機能変更部が、前記第１のマシンとは異なる第２のマシンの処理機能を、機能取得部が取得した前記第１のマシンで動作中の処理機能に変更して、前記第２のマシンを動作させる機能変更ステップとを実行させるためのプログラムである。
【発明の効果】
【００１４】
本発明によれば、システム全体としてリソースを効率的に利用することができる。
【図面の簡単な説明】
【００１５】
【図１】本実施形態によるマシン管理システムの一例を示すブロック図である。
【図２】本実施形態における管理情報記憶部のデータ構成の一例を示す構成図である。
【図３】本実施形態における管理サーバ装置の動作の一例を示すフローチャートである。
【図４】本実施形態におけるマシン管理システムのサービス変更処理の一例を説明する説明図である。
【図５】本実施形態におけるマシン管理システムのサービス変更処理の一例を示すフローチャートである。
【図６】本実施形態におけるサービス変更処理後の管理情報記憶部のデータ構成の一例を示す構成図である。
【図７】本実施形態におけるマシン管理システムのサービス変更処理の別の一例を示すフローチャートである。
【図８】本実施形態におけるマシン管理システムのスケールアウト処理の一例を説明する説明図である。
【図９】本実施形態におけるマシン管理システムのスケールアウト処理の一例を示すフローチャートである。
【図１０】本実施形態におけるスケールアウト処理後の管理情報記憶部のデータ構成の一例を示す構成図である。
【図１１】本実施形態におけるマシン管理システムのスケールイン処理の一例を説明する説明図である。
【図１２】本実施形態におけるマシン管理システムのスケールイン処理の一例を示すフローチャートである。
【図１３】本実施形態によるマシン管理システムの別の一例を示すブロック図である。
【発明を実施するための形態】
【００１６】
以下、本発明の一実施形態によるマシン管理システムについて、図面を参照して説明する。
図１は、本実施形態によるマシン管理システム１の一例を示すブロック図である。
この図において、マシン管理システム１は、ロードバランサ１０と、マシン群２０と、管理サーバ装置１００とを備えている。
なお、本実施形態において、マシンとは、例えば、サーバ装置などのコンピュータ装置のことである。また、本実施形態では、一例として、マシンが、物理マシンである場合について説明する。
【００１７】
マシン管理システム１は、例えば、ネットワークＮ１を介してオペレーティングシステムを起動するネットワークブート機能を有する物理マシンをサーバ装置として利用者に提供するクラウドコンピューティングシステム（ベアメタルクラウドシステム）である。
【００１８】
マシン群２０は、複数のサーバ装置（２０１〜２０４、２２１〜２２２）を有している。なお、サーバ装置（２０１〜２０４、２２１〜２２２）うちの任意のサーバ装置、又は単にマシン群２０が有するサーバ装置を示す場合には、サーバ装置２００（物理マシン）と称して以下説明する。
なお、各サーバ装置（２０１〜２０４、２２１〜２２２）と、ロードバランサ１０と、管理サーバ装置１００とは、ネットワークＮ１を介して接続されている。
【００１９】
また、図１に示す例では、サーバ装置２０１及びサーバ装置２０２が、プロキシサービス（プロキシの処理機能）を有するプロキシサーバであり、サーバ装置２０３及びサーバ装置２０４が、ストレージサービス（ストレージの処理機能）を有するストレージサーバ（ファイルサーバ）である。ここでは、マシン管理システム１は、サーバ装置２０１及びサーバ装置２０２のプロキシサーバと、サーバ装置２０３及びサーバ装置２０４のストレージサーバと、ロードバランサ１０とにより分散ストレージサービスを提供するストレージシステムを構築している。
また、マシン群２０は、起動していない（停止している）物理マシンであるサーバ装置（２２１、２２２）を有するサーバプール２２０を備えている。
【００２０】
ロードバランサ１０は、プロキシサーバ（サーバ装置２０１及びサーバ装置２０２）と、ストレージサーバ（サーバ装置２０３及びサーバ装置２０４）との処理の負荷を分散する制御を行う。
【００２１】
管理サーバ装置１００は、マシン群２０を管理するサーバ装置であり、マシン管理システム１（ベアメタルクラウドシステム）全体を管理する。具体的に、管理サーバ装置１００は、利用者の指示に応じて、サーバ装置２００の追加（サーバプール２２０からの追加）又は削除（サーバプール２２０への返却）を管理するとともに、サーバ装置２００間でサービス（処理機能）を変更して、各サーバ装置２００が有するリソースをマシン管理システム１内で、互いに融通する制御を行う。ここで、リソースとは、サーバ装置２００が備える資源であって、サーバ装置２００を動作させるために必要な資源のことであり、例えばＣＰＵ（Central Processing Unit）やメモリ、ハードディスクなどのことである。
また、管理サーバ装置１００は、記憶部３０と、制御部４０とを備えている。
【００２２】
記憶部３０は、管理サーバ装置１００の各種処理に用いる情報を記憶する。記憶部３０は、例えば、サーバ装置２００を起動する際にネットワークＮ１を介してサーバ装置２００に転送されるネットワークブートに関する情報（オペレーティングシステムなど）や各種サービス（処理機能）のための情報（フトウェアなど）を記憶する。
また、記憶部３０は、マシン群２０を管理するための管理テーブルを記憶する管理情報記憶部３１を備えている。
【００２３】
管理情報記憶部３１は、サーバ装置２００を識別する識別情報（例えば、サーバ名など）と、マシンで動作中のサービス（動作中の処理機能）と、サーバ装置２００に搭載済みのサービス（インストール済みの処理機能）とを関連付けて記憶する。
ここで、図２を参照して、管理情報記憶部３１のデータ構成の一例について説明する。
【００２４】
図２は、本実施形態における管理情報記憶部３１のデータ構成の一例を示す構成図である。
この図において、管理情報記憶部３１は、管理テーブルを示しており、「Ｎｏ．」、「サーバ名」、「電源ＯＮ／ＯＦＦ」、「サービス中のソフト」、「インストール済みのソフト」、「ＣＰＵ使用量」、「ディスク使用量」、及び「サービス名」を関連付けて記憶する。
【００２５】
ここで、「Ｎｏ．」は、管理サーバ装置１００が管理するサーバ装置２００の番号を示し、「サーバ名」は、サーバ装置２００の名前を示している。「Ｎｏ．」及び「サーバ名」は、サーバ装置２００を識別する識別情報である。また、「電源ＯＮ／ＯＦＦ」は、サーバ装置２００に電源が投入されて稼働中（動作中）であるか否かを示している。「電源ＯＮ／ＯＦＦ」には、サーバ装置２００が稼働中（動作中）である場合に、“ＯＮ（オン）”）が記憶され、サーバ装置２００が停止中である場合に、“ＯＦＦ（オフ）”）が記憶される。また、「サービス中のソフト」は、サーバ装置２００で動作中のサービス（動作中の処理機能）を示し、「インストール済みのソフト」は、サーバ装置２００に搭載済みのサービス（搭載済みの処理機能）を示している。また、「ＣＰＵ使用量」は、サーバ装置２００が有するＣＰＵの使用率を示し、「ディスク使用量」は、サーバ装置２００が有するハードディスクの使用率を示している。また、「サービス名」は、サーバ装置２００によって提供されるサービス名（システム名）を示している。
【００２６】
例えば、「Ｎｏ．」が“２”に対応するサーバ装置２００は、「サーバ名」が“サーバ２”、「電源ＯＮ／ＯＦＦ」が“ＯＮ”、「サービス中のソフト」が“プロキシ”、「インストール済みのソフト」が“プロキシ”及び“ストレージ”であることを示している。また、この場合に、サーバ装置２００は、「ＣＰＵ使用量」が“１０％”、「ディスク使用量」が“１０％”、「サービス名」が“分散ストレージ”であることを示している。
【００２７】
図１の説明に戻り、制御部４０は、例えば、ＣＰＵなどを含むプロセッサであり、管理サーバ装置１００を統括的に制御する。制御部４０は、例えば、サーバ装置２００が有するリソースの使用状態に応じて、マシン群２０のうちからリソースが不足するサーバ装置２００（第１のマシン）を検出し、検出したサーバ装置２００（第１のマシン）で動作中のサービスを抽出する。制御部４０は、リソースが不足するサーバ装置２００とは異なる変更対象のサーバ装置２００（第２のマシン）のサービスを、リソースが不足するサーバ装置２００で動作中のサービスに変更して、変更対象のサーバ装置２００を動作させる。
【００２８】
ここで、リソースが不足するサーバ装置２００（第１のマシン）は、リソースの不足が推定されるサーバ装置２００、又はリソースが不足しているサーバ装置２００のことである。なお、このリソースが不足するサーバ装置２００を、以下の説明で、リソース不足サーバということがある。
また、変更対象のサーバ装置２００（第２のマシン）とは、リソース不足サーバと同一のサービス（処理機能）に変更可能なサーバ装置２００である。すなわち、変更対象のサーバ装置２００は、リソース不足サーバで動作中のサービスに自装置のサービスを変更することができるサーバ装置２００である。なお、この変更対象のサーバ装置２００を、以下、変更対象サーバということがある
また、制御部４０は、状態取得部４１、機能取得部４２、機能変更部４３、起動処理部４４、停止処理部４５、及び再配置処理部４６を備えている。
【００２９】
状態取得部４１は、サーバ装置２００のリソースの使用状態を示す情報を取得する。ここで、リソースの使用状態には、リソースの使用量が含まれる。具体的に、リソースの使用量は、例えば、ＣＰＵの使用量、ＣＰＵの稼働率、メモリの使用量、メモリの使用率、ディスクの使用量、ディスクの使用率、ネットワークのトラフィック量などである。状態取得部４１は、例えば、サーバ装置２００ごとにリソースの使用量を所定の周期で取得する。また、状態取得部４１は、取得したリソースの使用量（例えば、「ＣＰＵ使用量」、「ディスク使用量」）とサーバ装置２００を識別する識別情報（例えば、「サーバ名」）とを関連付けて、管理情報記憶部３１に記憶させる。
【００３０】
機能取得部４２は、リソースの使用状態に応じて、マシン群２０のうちから検出されたリソース不足サーバにおいて、動作中のサービスを取得する。すなわち、機能取得部４２は、例えば、リソースの使用状態に応じて、マシン群２０のうちからリソース不足サーバを検出するとともに、管理情報記憶部３１から、検出したリソース不足サーバの動作中のサービスを取得する。
具体的に、機能取得部４２は、リソースの使用量が所定の閾値以上になったマシンをリソース不足サーバ（第１のマシン）として検出し、リソース不足サーバを検出した場合に、管理情報記憶部３１から、当該リソース不足サーバに対応する上述の識別情報（例えば、「サーバ名」）に関連付けられている動作中のサービス（例えば、「サービス中のソフト」）を取得する。例えば、“サーバ５”のサーバ装置２０４をリソース不足サーバとして検出した場合に、機能取得部４２は、管理情報記憶部３１から“サーバ５” に関連付けられている“ストレージ”を動作中のサービスとして取得する。
【００３１】
機能変更部４３は、変更対象サーバのサービスを、リソース不足サーバで動作中のサービスに変更して、変更対象サーバを動作させる。すなわち、機能変更部４３は、機能取得部４２によって取得された動作中のサービスに、管理情報記憶部３１が記憶する搭載済みのサービス（例えば、「インストール済みのソフト」）が一致するサーバ装置２００を抽出する。機能変更部４３は、この抽出したサーバ装置２００のうちから、リソースの使用状態に基づいて、リソース不足サーバで動作中のサービスと一致する搭載済みのサービスに変更可能なサーバ装置２００を変更対象サーバ（第２のマシン）として選択する。機能変更部４３は、選択した変更対象サーバのサービスを、リソース不足サーバで動作中の処理機能に変更して変更対象サーバを動作させる。
例えば、「サーバ名」が“サーバ５”であるサーバ装置２０４をリソース不足サーバであり、「サーバ名」が“サーバ３”であるサーバ装置２０２が変更対象サーバとして選択した場合に、機能変更部４３は、サーバ装置２０２のサービスを“プロキシ”から“ストレージ”に変更する。
【００３２】
また、機能変更部４３は、搭載済みのサービスがリソース不足サーバで動作中のサービスに一致するサーバ装置２００がなく、上述の変更対象サーバが選択できない場合に、リソースの使用状態に基づいて、マシン群２０のうちから、リソース不足サーバで動作中のサービスを搭載可能なサーバ装置２００を変更対象サーバとして選択する。すなわち、機能変更部４３は、搭載済みのサービスとして機能取得部４２によって取得された当該動作中のサービスを搭載する変更対象サーバが選択できない場合に、動作中のサーバ装置２００のうちから、当該動作中のサービスを搭載可能なマシンを変更対象サーバとして選択する。機能変更部４３は、選択した変更対象サーバに、リソース不足サーバで動作中のサービスを示すプログラム（ソフトウェア）を読み込ませて、リソース不足サーバで動作中のサービスを動作させる。
【００３３】
起動処理部４４は、機能変更部４３によって変更対象サーバが選択できない場合に、マシン群２０のうちから、停止中のサーバ装置２００を起動するとともに、当該サーバ装置２００にリソース不足サーバで動作中のサービスを実現させるプログラム（ソフトウェア）を読み込ませて、当該動作中のサービスを動作させる。すなわち、起動処理部４４は、サーバプール２２０の中から、リソース不足サーバで動作中のサービスを動作可能なサーバ装置２００（以下、追加対象サーバということがある）を選択し、選択したサーバ装置２００を起動するともに、動作中のサービスをインストールさせる。
なお、このように、サーバプール２２０の中から、停止中のサーバ装置２００を起動して、サービスシステムにサーバ装置２００を追加することを、「スケールアウト」という。
また、起動処理部４４は、管理情報記憶部３１を参照して、サーバプール２２０の中から、リソース不足サーバで動作中のサービスを搭載済みのサーバ装置２００を検索し、当該動作中のサービスを搭載済みのサーバ装置２００がある場合には、この搭載済みのサーバ装置２００を選択してもよい。この場合、起動処理部４４は、選択した搭載済みのサーバ装置２００を電源オンして起動させるとともに、搭載済みのリソース不足サーバで動作中のサービスを動作させる。
【００３４】
停止処理部４５は、システム全体でリソースの使用状態に余裕がある場合に、動作中のサーバ装置２００のうちから、停止可能なサーバ装置２００（以下、停止対象サーバということがある）を選択し、選択したサーバ装置２００を停止させて、サーバプール２２０に戻す（返却する）。なお、このように、動作中のサーバ装置２００を停止して、サーバプール２２０に戻し、サービスシステムからサーバ装置２００を削除することを、「スケールイン」という。
【００３５】
再配置処理部４６は、上述した機能変更部４３によるサービスの変更処理、起動処理部４４によるサーバ装置２００の追加処理（スケールアウト処理）、又は停止処理部４５によるサーバ装置２００の停止処理（スケールイン処理）の後に、サービスシステムの再構築する設定処理を実行するとともに、管理情報記憶部３１に記憶する情報を更新する。再配置処理部４６は、例えば、分散ストレージサービスを再構築する設定処理を実行するとともに、管理情報記憶部３１に記憶する情報を更新する。再配置処理部４６は、例えば、サービスの変更処理の後に、変更対象サーバに対応する動作中のサービス（「サービス中のソフト」）を書き換えて記憶させる。
【００３６】
次に、本実施形態におけるマシン管理システム１の動作について説明する。
図３は、本実施形態における管理サーバ装置１００の動作の一例を示すフローチャートである。
この図において、まず、管理サーバ装置１００は、システム全体でのリソースの使用量が閾値以下であるか否かを判定する（ステップＳ１０１）。すなわち、管理サーバ装置１００の制御部４０は、状態取得部４１が取得するリソースの使用状態を示す情報に基づいて、システム全体でのリソースの使用量が閾値以下であるか否かを判定する。制御部４０は、システム全体でのリソースの使用量が閾値以下である場合（ステップＳ１０１：ＹＥＳ）に、処理をステップＳ１２１に進める。また、制御部４０は、システム全体でのリソースの使用量が閾値より大きいある場合（ステップＳ１０１：ＮＯ）に、処理をステップＳ１０２に進める。
【００３７】
次に、ステップＳ１０２において、制御部４０は、リソース不足サーバがあるか否かを判定する。制御部４０の機能取得部４２は、例えば、各サーバ装置２００からのリソースの使用量の限界を示す通知、又は、状態取得部４１が取得するリソースの使用状態に基づいて、リソース不足サーバがあるか否かを判定する。具体的に、機能取得部４２は、例えば、リソースの使用量が所定の閾値以上になったサーバ装置２００があるか否かを検出する。機能取得部４２は、リソース不足サーバがある場合（ステップＳ１０２：ＹＥＳ）に、処理をステップＳ１０３に進める。また、機能取得部４２は、リソース不足サーバがない場合（ステップＳ１０２：ＮＯ）に、処理をステップＳ１０１に戻し、処理を繰り返す。
このように、制御部４０の機能取得部４２は、リソース不足サーバを検出する。すなわち、機能取得部４２は、例えば、リソースの使用量が所定の閾値以上になったサーバ装置２００をリソース不足サーバとして検出する。
【００３８】
次に、ステップＳ１０３において、制御部４０は、リソース不足サーバのサービスを取得する。すなわち、制御部４０の機能取得部４２は、リソース不足サーバを検出した場合に、管理情報記憶部３１から、当該リソース不足サーバに対応する識別情報（例えば、「サーバ名」）に関連付けられている動作中のサービス（例えば、「サービス中のソフト」）を取得する。
【００３９】
次に、制御部４０は、他のサーバ装置２００の動作状態を取得する（ステップＳ１０４）。ここでいう他のサーバ装置２００の動作状態とは、例えば、リソース不足サーバの他のサーバ装置２００のリソースの使用状態のことである。具体的に、制御部４０は、状態取得部４１が取得するリソースの使用状態を示す情報を他のサーバ装置２００の動作状態として取得する。なお、制御部４０は、管理情報記憶部３１が記憶するリソースの使用量を他のサーバ装置２００の動作状態として取得してもよい。
【００４０】
次に、制御部４０は、サービスを変更可能なサーバ装置２００があるか否かを判定する（ステップＳ１０５）。すなわち、制御部４０の機能変更部４３は、取得した他のサーバ装置２００の動作状態（リソースの使用状態）に基づいて、変更可能なサーバ装置２００があるか否かを判定する。機能変更部４３は、変更可能なサーバ装置２００がある場合（ステップＳ１０５：ＹＥＳ）に、処理をステップＳ１０６に進め、変更可能なサーバ装置２００がない場合（ステップＳ１０５：ＮＯ）に、処理をステップＳ１１６に進める。
【００４１】
次に、ステップＳ１０６において、機能変更部４３は、変更するサービスをインストール済みのサーバ装置２００があるか否かを判定する。例えば、機能変更部４３は、機能変更部４３は、機能取得部４２によって取得された動作中のサービスに、管理情報記憶部３１が記憶する搭載済みのサービス（例えば、「インストール済みのソフト」）が一致するサーバ装置２００があるか否かを判定する。機能変更部４３は、変更するサービスをインストール済みのサーバ装置２００がある場合（ステップＳ１０６：ＹＥＳ）に、処理をステップＳ１０７に進める。また、機能変更部４３は、変更するサービスをインストール済みのサーバ装置２００がない場合（ステップＳ１０６：ＮＯ）に、処理をステップＳ１１２に進める。
【００４２】
＜サービス変更処理＞
次に、ステップＳ１０７において、機能変更部４３は、インストール済みの変更対象サーバを選択する。すなわち、機能変更部４３は、機能取得部４２によって取得された動作中のサービスに、管理情報記憶部３１が記憶する搭載済みのサービス（例えば、「インストール済みのソフト」）が一致するサーバ装置２００を抽出する。機能変更部４３は、この抽出したサーバ装置２００のうちから、リソースの使用状態に基づいて、リソース不足サーバで動作中のサービスと一致する搭載済みのサービスに変更可能なサーバ装置２００を変更対象サーバとして選択する。
【００４３】
次に、機能変更部４３は、変更対象サーバのサービスを停止させる（ステップＳ１０８）。すなわち、機能変更部４３は、選択した変更対象サーバで動作中のサービスを、ネットワークＮ１を介して停止させる。
【００４４】
次に、機能変更部４３は、変更対象サーバのサービスを変更する（ステップＳ１０９）。すなわち、機能変更部４３は、ネットワークＮ１を介して、変更対象サーバに対して、インストール済み（搭載済み）であるサービスであって、リソース不足サーバで動作中のサービスに変更し、リソース不足サーバで動作中のサービスを動作させる。
【００４５】
次に、制御部４０の再配置処理部４６が、システムを再構築し（ステップＳ１１０）、管理テーブルを更新する（ステップＳ１１１）。ここで、再配置処理部４６は、管理テーブルの更新として、管理情報記憶部３１に記憶されている情報を更新させる。
【００４６】
また、ステップＳ１１２において、機能変更部４３は、変更対象サーバを選択する。すなわち、機能変更部４３は、リソース不足サーバで動作中のサービスを搭載する変更対象サーバが選択できない場合に、動作中のサーバ装置２００のうちから、当該動作中のサービスを搭載可能なマシンを変更対象サーバとして選択する。
【００４７】
次に、機能変更部４３は、変更対象サーバのサービスを停止させる（ステップＳ１１３）。すなわち、機能変更部４３は、選択した変更対象サーバで動作中のサービスを、ネットワークＮ１を介して停止させる。
【００４８】
次に、機能変更部４３は、変更対象サーバにサービスをインストールさせる（ステップＳ１１４）。すなわち、機能変更部４３は、選択した変更対象サーバに、リソース不足サーバで動作中のサービスを示すプログラム（ソフトウェア）を読み込ませる。
【００４９】
次に、機能変更部４３は、変更したサービスを開始させる（ステップＳ１１５）。すなわち、機能変更部４３は、インストールさせたサービスを開始させ、リソース不足サーバで動作中のサービスを動作させる。
ステップＳ１１５の処理を終了後に、機能変更部４３は、処理をステップＳ１１０に進める。
【００５０】
＜スケールアウト処理＞
また、ステップＳ１１６において、制御部４０は、サーバプール２２０から追加対象サーバを選択する。すなわち、制御部４０の起動処理部４４は、機能変更部４３によって変更対象サーバが選択できない場合に、サーバプール２２０の中から、リソース不足サーバで動作中のサービスを動作可能なサーバ装置２００を選択する。
【００５１】
次に、起動処理部４４は、追加対象サーバを電源オンして起動させる（ステップＳ１１７）。起動処理部４４は、ネットワークＮ１を介して、追加対象サーバを電源オンして起動させる。
【００５２】
次に、起動処理部４４は、追加対象サーバに、追加するサービスがインストール済みか否かを判定する（ステップＳ１１８）。すなわち、起動処理部４４は、管理情報記憶部３１を参照して、追加対象サーバにリソース不足サーバで動作中のサービスが搭載されているか否かを判定する。起動処理部４４は、サービスがインストール済みである場合（ステップＳ１１８：ＹＥＳ）に、処理をステップＳ１１５に進め、サービスがインストール済みでない場合（ステップＳ１１８：ＮＯ）に、処理をステップＳ１１９に進める。
【００５３】
次に、ステップＳ１１９において、起動処理部４４は、追加対象サーバにＯＳ（オペレーティングシステム）をインストールさせる。
次に、起動処理部４４は、追加対象サーバにサービスをインストールさせる（ステップＳ１２０）。すなわち、起動処理部４４は、リソース不足サーバで動作中のサービスをインストールさせる。
【００５４】
次に、起動処理部４４は、追加対象サーバで、サービスを開始させる（ステップＳ１２１）。すなわち、起動処理部４４は、追加対象サーバで、リソース不足サーバで動作中のサービスを開始させ、リソース不足サーバで動作中のサービスを動作させる。
ステップＳ１２１の処理を終了後に、起動処理部４４は、処理をステップＳ１１０に進める。
【００５５】
＜スケールイン処理＞
また、ステップＳ１２２において、制御部４０は、停止するサーバ装置２００を選択する。すなわち、制御部４０の停止処理部４５は、システム全体でリソースの使用状態に余裕がある場合に、動作中のサーバ装置２００のうちから、停止可能なサーバ装置２００（停止対象サーバ）を選択する。
【００５６】
次に、停止処理部４５は、サービスを停止させる（ステップＳ１２３）。すなわち、停止処理部４５は、停止対象サーバで動作中のサービスを停止させる。
次に、停止処理部４５は、停止対象サーバの電源をオフする（ステップＳ１２４）。すなわち、停止処理部４５は、ネットワークＮ１を介して、停止対象サーバの電源をオフさせて、停止対象サーバを停止させ、サーバプール２２０に戻す。
ステップＳ１２４の処理を終了後に、停止処理部４５は、処理をステップＳ１１０に進める。
【００５７】
次に、本実施形態におけるマシン管理システム１のサービス変更処理の動作例について説明する。
＜サービス変更処理：変更するサービスが搭載済みの場合＞
図４は、本実施形態におけるマシン管理システム１のサービス変更処理の一例を説明する説明図である。
また、図５は、本実施形態におけるマシン管理システム１のサービス変更処理の一例を示すフローチャートである。
ここでは、変更対象サーバが、リソース不足サーバで動作中のサービスを予め搭載している場合の一例について説明する。
【００５８】
図４及び図５において、マシン管理システム１は、初期状態では、サーバ装置２０１（“サーバ２”）及びサーバ装置２０２（“サーバ３”）が“プロキシ”サービスを提供し、サーバ装置２０３（“サーバ４”）及びサーバ装置２０４（“サーバ５”）が“ストレージ”サービスを提供する。また、サーバ装置２２１（“サーバ６”）は、サーバプール２２０内に停止しているサーバ装置２００を示している。また、ここでは、図２に示すように、サーバ装置２０２（“サーバ３”）には、“ストレージ”サービスが、「インストール済みのソフト」として予め搭載済みである。
【００５９】
この初期状態において、“ストレージ”サービスのディスク容量に余裕がなくなった場合（例えば、サーバ装置２０４（“サーバ５”）のディスク使用量（使用率）が８０％以上になった場合）に、図５に示すように、サーバ装置２０４（“サーバ５”）が、管理サーバ装置１００に使用量の限界を通知する（ステップＳ２０１）。
【００６０】
次に、管理サーバ装置１００は、サーバ装置２０４（“サーバ５”）からの通知により、リソース不足サーバを検出し、他のサーバ装置２００の動作状態を調査する（ステップＳ２０２）。具体的に、状態取得部４１が、他のサービスのサーバ装置２００に動作状態を示す情報の出力要求を出力する。なお、図４及び図５に示す例では、他のサービスのサーバ装置２００は、サーバ装置２０１（“サーバ２”）、及びサーバ装置２０２（“サーバ３”）である。
【００６１】
次に、サーバ装置２０１（“サーバ２”）及びサーバ装置２０２（“サーバ３”）は、動作状態を示す情報（“余裕あり”）を通知する（ステップＳ２０３及びステップＳ２０４）。
なお、図５に示す一例では、サーバ装置２０１（“サーバ２”）及びサーバ装置２０２（“サーバ３”）が、動作状態を示す情報として、“余裕あり”を通知しているが、リソースの使用状態を示す情報を、動作状態を示す情報として通知してもよい。
【００６２】
次に、管理サーバ装置１００は、サーバ装置２０２（“サーバ３”）の機能変更を決定する（ステップＳ２０５）。すなわち、機能変更部４３は、取得した他のサーバ装置２００の動作状態に基づいて、変更対象サーバを選択する。ここでは、サーバ装置２０１（“サーバ２”）及びサーバ装置２０２（“サーバ３”）のリソースに余裕があるため、機能変更部４３は、サーバ装置２０２（“サーバ３”）を変更対象サーバとして選択し、サーバ装置２０２（“サーバ３”）のサービスを“ストレージ”サービスに変更することを決定する。
【００６３】
次に、管理サーバ装置１００は、新ルーティングテーブルをロードバランサ１０に転送する（ステップＳ２０６）。例えば、機能変更部４３は、サーバ装置２０２（“サーバ３”）のサービス変更に対応する新しいルーティングテーブルをロードバランサ１０に転送する。
【００６４】
次に、管理サーバ装置１００は、“プロキシ”サービスの停止命令をサーバ装置２０２（“サーバ３”）に出力し（ステップＳ２０７）、サーバ装置２０２（“サーバ３”）は、“プロキシ”サービスを停止する（ステップＳ２０８）。なお、サーバ装置２０２（“サーバ３”）は、プロキシ”サービスを停止する処理が完了したことを示す停止完了通知を管理サーバ装置１００に出力する。
【００６５】
次に、管理サーバ装置１００は、サーバ装置２０２（“サーバ３”）を“ストレージ”サービスに変更させる（ステップＳ２０９）。ここでは、サーバ装置２０２（“サーバ３”）が予め“ストレージ”サービスを搭載済みである。そのため、機能変更部４３は、サーバ装置２０２（“サーバ３”）に“プロキシ”サービスから“ストレージ”サービスに切り替える命令を出力して、“ストレージ”サービスに変更させるとともに、“ストレージ”サービスを開始させる。このように処理することにより、マシン管理システム１は、図４に示すように、サーバ装置２０２（“サーバ３”）を“プロキシ”サーバから“ストレージ”サーバに変更する。
【００６６】
次に、サーバ装置２０２（“サーバ３”）は、“ストレージ”サービスを開始する（ステップＳ２１０）。すなわち、サーバ装置２０２（“サーバ３”）は、管理サーバ装置１００からの命令に基づいて、“プロキシ”サービスから“ストレージ”サービスに変更するとともに、“ストレージ”サービスを開始する。
【００６７】
次に、管理サーバ装置１００は、ファイル配置テーブルを再作成する（ステップＳ２１１）。すなわち、再配置処理部４６は、分散ストレージサービスの各ストレージにおいて、変更したシステムに対応するファイル配置テーブルを作成する。ここでは、サーバ装置２０２（“サーバ３”）が“ストレージ”サービスに変更されたことにより、“ストレージ”サービスを提供するサーバ装置２００の数が変更されているので、再配置処理部４６は、変更に応じたファイル配置テーブルを作成する。
【００６８】
次に、管理サーバ装置１００は、サーバ装置２０２（“サーバ３”）、サーバ装置２０３（“サーバ４”）、及びサーバ装置２０４（“サーバ５”）にリバランス命令を出力する（ステップＳ２１２）。すなわち、再配置処理部４６は、“ストレージ”サービスを提供するサーバ装置２００の変更に応じて、既に保存されたファイルを変更後の“ストレージ”サービスを提供するサーバ装置２００に再配置させる。これにより、サーバ装置２０２（“サーバ３”）、サーバ装置２０３（“サーバ４”）、及びサーバ装置２０４（“サーバ５”）は、ディスク容量が平均化されて、サーバ装置２０４（“サーバ５”）のリソース不足が解消される。
【００６９】
次に、管理サーバ装置１００は、再作成されたファイル配置テーブルを転送する（ステップＳ２１３）。すなわち、再配置処理部４６は、作成したファイル配置テーブルをサーバ装置２０１（“サーバ２”）、サーバ装置２０２（“サーバ３”）、サーバ装置２０３（“サーバ４”）、及びサーバ装置２０４（“サーバ５”）に転送する。これにより、マシン管理システム１が備える全プロキシサーバと全ストレージサーバとが、同一のファイル配置テーブルを保持することにより、マシン管理システム１は、分散ストレージシステムを実現する。
【００７０】
次に、管理サーバ装置１００は、管理テーブルの更新を行う（ステップＳ２１４）。すなわち、再配置処理部４６は、管理テーブルの更新として、図６に示すように、管理情報記憶部３１に記憶されている情報を更新させる。
【００７１】
図６は、本実施形態におけるサービス変更処理後の管理情報記憶部３１のデータ構成の一例を示す構成図である。
この図において、「Ｎｏ．」が“３”に対応するサーバ装置２０３（“サーバ３”）は、「サービス中のソフト」が“プロキシ”から“ストレージ”に変更され、“ストレージ”のサービスが動作していることを示している。
また、図６において、このサーバ装置２０３（“サーバ３”）のサービスの変更によって、サーバ装置２０４（“サーバ５”）の「ディスク使用量」が、図２に示す場合に比べて、 “５５％”に低減されて、リソース不足が解消されていることを示している。
【００７２】
このように、マシン管理システム１は、上述したサービス変更処理を行うことにより、サーバ装置２００のリソースをシステム内で融通しあうことができる。そのため、マシン管理システム１は、システム全体としてリソースを効率的に利用することができる。また、マシン管理システム１は、予めサービス（処理機能）が搭載されているサーバ装置２００を選択して、サービスを切り替えるので、サーバ装置２００のサービスを変更するのに要する期間を短縮することができる。
【００７３】
次に、本実施形態におけるサービス変更処理の別の一例について、図７を参照して説明する。
＜サービス変更処理：変更するサービスを搭載するサーバ装置２００がない場合＞
図７は、本実施形態におけるマシン管理システム１のサービス変更処理の一例を示すフローチャートである。
ここでは、変更対象サーバが、リソース不足サーバで動作中のサービスを予め搭載していない場合の一例について説明する。
【００７４】
図７において、マシン管理システム１は、図４に示す場合と同様に、初期状態では、サーバ装置２０１（“サーバ２”）及びサーバ装置２０２（“サーバ３”）が“プロキシ”サービスを提供し、サーバ装置２０３（“サーバ４”）及びサーバ装置２０４（“サーバ５”）が“ストレージ”サービスを提供する。また、サーバ装置２２１（“サーバ６”）は、サーバプール２２０内に停止しているサーバ装置２００を示している。なお、ここでは、サーバ装置２０２（“サーバ３”）には、“ストレージ”サービスが、「インストール済みのソフト」として予め搭載されていない場合である。
【００７５】
この初期状態において、“ストレージ”サービスのディスク容量に余裕がなくなった場合（例えば、サーバ装置２０４（“サーバ５”）のディスク使用量（使用率）が８０％以上になった場合）に、図７に示すように、サーバ装置２０４（“サーバ５”）が、管理サーバ装置１００に使用量の限界を通知する（ステップＳ３０１）。
ここで、ステップＳ３０１〜ステップＳ３０８の処理は、図５に示すステップＳ２０１〜ステップＳ２０８の処理と同様であるのでここではその説明を省略する。
【００７６】
ステップＳ３０９において、管理サーバ装置１００は、サーバ装置２０２（“サーバ３”）を“ストレージ”サービスに変更させる。ここでは、サーバ装置２０２（“サーバ３”）が予め“ストレージ”サービスを搭載していない場合である。そのため、機能変更部４３は、サーバ装置２０２（“サーバ３”）に“プロキシ”サービスから“ストレージ”サービスに切り替えるために、“ストレージ”ソフトのインストーラをサーバ装置２０２（“サーバ３”）に転送して、サーバ装置２０２（“サーバ３”）に“ストレージ”ソフトをインストールさせるとともに、“ストレージ”サービスを開始させる。このように処理することにより、マシン管理システム１は、図４に示すように、サーバ装置２０２（“サーバ３”）を“プロキシ”サーバから“ストレージ”サーバに変更する。
【００７７】
次に、サーバ装置２０２（“サーバ３”）は、“ストレージ”をインストールし、新ストールが完了したことを示すインストールの完了通知を管理サーバ装置１００に出力し（ステップＳ３１０）、“ストレージ”サービスを開始する（ステップＳ３１１）。
【００７８】
続くステップＳ３１２〜ステップＳ３１５の処理は、図５に示すステップＳ２１１〜ステップＳ２１４の処理と同様であるのでここではその説明を省略する。
【００７９】
このように、マシン管理システム１は、上述したサービス変更処理を行うことにより、変更対象サーバに、リソース不足サーバで動作中のサービスが予め搭載されていない場合であっても、サーバ装置２００のリソースをシステム内で融通しあうことができる。また、マシン管理システム１は、既に動作中のサーバ装置２００を選択して、サービスを切り替えるので、サーバプール２２０にある停止中のサーバ装置２００を追加して動作させる場合に比べて、システム構成を変更するのに要する期間を短縮することができる。
【００８０】
次に、本実施形態におけるスケールアウト処理について、図８〜図１０を参照して説明する。
＜スケールアウト処理＞
図８は、本実施形態におけるマシン管理システム１のスケールアウト処理の一例を説明する説明図である。
また、図９は、本実施形態におけるマシン管理システム１のスケールアウト処理の一例を示すフローチャートである。
ここでは、追加対象サーバが、リソース不足サーバで動作中のサービスを予め搭載していない場合の一例について説明する。
【００８１】
図８及び図９において、マシン管理システム１は、初期状態では、サーバ装置２０１（“サーバ２”）及びサーバ装置２０２（“サーバ３”）が“プロキシ”サービスを提供し、サーバ装置２０３（“サーバ４”）及びサーバ装置２０４（“サーバ５”）が“ストレージ”サービスを提供する。また、サーバ装置２２１（“サーバ６”）は、サーバプール２２０内に停止しているサーバ装置２００を示している。なお、ここでは、サーバ装置２２１（“サーバ６”）には、“ストレージ”サービスが、「インストール済みのソフト」として予め搭載されていない場合である。
【００８２】
この初期状態において、“ストレージ”サービスのディスク容量に余裕がなくなった場合（例えば、サーバ装置２０４（“サーバ５”）のディスク使用量（使用率）が８０％以上になった場合）に、図９に示すように、サーバ装置２０４（“サーバ５”）が、管理サーバ装置１００に使用量の限界を通知する（ステップＳ４０１）。
【００８３】
次に、管理サーバ装置１００は、サーバ装置２０４（“サーバ５”）からの通知により、リソース不足サーバを検出し、他のサーバ装置２００の動作状態を調査する（ステップＳ４０２）。具体的に、状態取得部４１が、他のサービスのサーバ装置２００に動作状態を示す情報の出力要求を出力する。なお、図８及び図９に示す例では、他のサービスのサーバ装置２００は、サーバ装置２０１（“サーバ２”）、及びサーバ装置２０２（“サーバ３”）である。
【００８４】
次に、サーバ装置２０１（“サーバ２”）及びサーバ装置２０２（“サーバ３”）は、動作状態を示す情報（“余裕なし”）を通知する（ステップＳ４０３及びステップＳ４０４）。
なお、図８に示す一例では、サーバ装置２０１（“サーバ２”）及びサーバ装置２０２（“サーバ３”）が、動作状態を示す情報として、“余裕なし”を通知しているが、リソースの使用状態を示す情報を、動作状態を示す情報として通知してもよい。
【００８５】
次に、管理サーバ装置１００は、サーバプール２２０から物理マシンを選択する（ステップＳ４０５）。ここでは、サーバ装置２０１（“サーバ２”）及びサーバ装置２０２（“サーバ３”）が余裕なしであるため、機能変更部４３は、変更対象サーバを選択することができない。そこで、起動処理部４４は、サーバプール２２０にある停止中のサーバ装置２００のうちから、起動するサーバ装置２００（物理マシン）を選択する。この例では、起動処理部４４は、サーバ装置２２１（“サーバ６”）を選択する。
【００８６】
次に、管理サーバ装置１００は、選択した物理マシンを起動させる（ステップＳ４０６）。すなわち、起動処理部４４は、電源オン命令、及びＯＳのインストーラをサーバ装置２２１（“サーバ６”）に転送する。
【００８７】
次に、サーバ装置２２１（“サーバ６”）は、電源オン、及びＯＳインストールを実行する（ステップＳ４０７）。サーバ装置２２１（“サーバ６”）は、電源オン、及びＯＳインストールを実行した後、ＯＳインストールが完了したことを示すＯＳインストールの完了通知を管理サーバ装置１００に出力する。
【００８８】
次に、管理サーバ装置１００は、サーバ装置２２１（“サーバ６”）に“ストレージ”サービスを追加する。（ステップＳ４０８）。すなわち、起動処理部４４は、“ストレージ”ソフトのインストーラをサーバ装置２２１（“サーバ６”）に転送し、“ストレージ”サービスをインストールさせるとともに、“ストレージ”サービスを開始させる。
【００８９】
次に、サーバ装置２２１（“サーバ６”）は、“ストレージ”サービスのインストールを実行する（ステップＳ４０９）。サーバ装置２２１（“サーバ６”）は、“ストレージ”サービスのインストールを実行した後、インストールが完了したことを示すインストールの完了通知を管理サーバ装置１００に出力する。
次に、サーバ装置２２１（“サーバ６”）は、“ストレージ”サービスを開始する（ステップＳ４１０）。
【００９０】
続くステップＳ４１１〜ステップＳ４１４の処理は、図７に示すステップＳ３１２〜ステップＳ３１５の処理と同様であるのでここではその説明を省略する。
【００９１】
なお、ステップＳ４１４において、再配置処理部４６は、管理テーブルの更新として、図１０に示すように、管理情報記憶部３１に記憶されている情報を更新させる。
【００９２】
図１０は、本実施形態におけるスケールアウト処理後の管理情報記憶部３１のデータ構成の一例を示す構成図である。
この図において、「Ｎｏ．」が“６”に対応するサーバ装置２２１（“サーバ６”）は、「電源ＯＮ／ＯＦＦ」が“ＯＦＦ”から“オン”に変更されるとともに、「サービス中のソフト」が“ストレージ”に変更され、“ストレージ”のサービスが動作していることを示している。また、サーバ装置２２１（“サーバ６”）の「インストール済みのソフト」には、“ストレージ”が追加されている。
【００９３】
また、図１０において、このサーバ装置２２１（“サーバ６”）を追加するスケールアウト処理によって、サーバ装置２０４（“サーバ５”）の「ディスク使用量」が、図２に示す場合に比べて、 “５０％”に低減されて、リソース不足が解消されていることを示している。
【００９４】
このように、マシン管理システム１は、機能変更部４３は、変更対象サーバを選択することができない場合に、上述したスケールアウト処理を行うことにより、リソース不足サーバのリソース不足を解消することができる。
【００９５】
次に、本実施形態におけるスケールイン処理について、図１１〜図１２を参照して説明する。
＜スケールアウト処理＞
図１１は、本実施形態におけるマシン管理システム１のスケールイン処理の一例を説明する説明図である。
また、図１２は、本実施形態におけるマシン管理システム１のスケールイン処理の一例を示すフローチャートである。
【００９６】
図１１及び図１２において、マシン管理システム１は、初期状態では、サーバ装置２０１（“サーバ２”）及びサーバ装置２０２（“サーバ３”）が“プロキシ”サービスを提供し、サーバ装置２０３（“サーバ４”）、サーバ装置２０４（“サーバ５”）、及びサーバ装置２２１（“サーバ６”）が“ストレージ”サービスを提供する。また、サーバ装置２２２（“サーバ７”）は、サーバプール２２０内に停止しているサーバ装置２００を示している。
【００９７】
この初期状態において、図１２に示すように、管理サーバ装置１００は、各サーバ装置２００の動作状態を調査する（ステップＳ５０１）。具体的に、状態取得部４１が、各サーバ装置２００に動作状態を示す情報の出力要求を出力する。
これに対して、動作中の各サーバ装置２００（ここでは、サーバ装置２０１〜２０４、サーバ装置２２１）は、動作状態を示す情報（例えば、リソースの使用状態を示すリソースの使用量など）を出力し（ステップＳ５０２）、管理サーバ装置１００は、動作中の各サーバ装置２００の動作状態（リソースの使用状態）を取得する。
【００９８】
次に、管理サーバ装置１００は、システム全体でディスクの使用量が１０％以下である状態を検出する（ステップＳ５０３）。すなわち、制御部４０は、状態取得部４１によって取得した動作状態（リソースの使用状態）に基づいて、システム全体でディスクの使用量が１０％以下であるか否かを判定し、ディスクの使用量が１０％以下である場合に処理をステップＳ５０４に進める。
【００９９】
次に、管理サーバ装置１００は、サーバプール２２０に戻すサーバ装置２００（停止対象サーバ）を選択する。すなわち、停止処理部４５は、動作中のサーバ装置２００の中から、動作状態（リソースの使用状態）に基づいて、停止対象サーバを選択する。停止処理部４５は、例えば、最もリソースの使用量が少ないサーバ装置２００を停止対象サーバとして選択する。ここでは、停止対象サーバとして、サーバ装置２２１（“サーバ６”）が選択された場合について説明する。
【０１００】
次に、管理サーバ装置１００は、ファイル配置テーブルを再作成する（ステップＳ５０５）。すなわち、再配置処理部４６は、分散ストレージサービスの各ストレージにおいて、サーバ装置２２１（“サーバ６”）を停止するシステム変更に対応するファイル配置テーブルを作成する。
【０１０１】
次に、管理サーバ装置１００は、再作成されたファイル配置テーブルを転送する（ステップＳ５０６）。すなわち、再配置処理部４６は、作成したファイル配置テーブルをサーバ装置２０１（“サーバ２”）、サーバ装置２０２（“サーバ３”）、サーバ装置２０３（“サーバ４”）、及びサーバ装置２０４（“サーバ５”）に転送する。
【０１０２】
次に、管理サーバ装置１００は、サーバ装置２２１（“サーバ６”）、サーバ装置２０３（“サーバ４”）、及びサーバ装置２０４（“サーバ５”）にリバランス命令を出力する（ステップＳ５０７）。すなわち、再配置処理部４６は、“ストレージ”サービスを提供するサーバ装置２００の変更に応じて、既に保存されたファイルを変更後の“ストレージ”サービスを提供するサーバ装置２００に再配置させる。これにより、サーバ装置２０３（“サーバ４”）、及びサーバ装置２０４（“サーバ５”）は、サーバ装置２２１（“サーバ６”）に記憶されているファイルがすべて移動される。
【０１０３】
次に、管理サーバ装置１００は、“ストレージ”サービスの停止命令をサーバ装置２２１（“サーバ６”）に出力し（ステップＳ５０８）、サーバ装置２２１（“サーバ６”）は、“ストレージ”サービスを停止する（ステップＳ５０９）。なお、サーバ装置２２１（“サーバ６”）は、“ストレージ”サービスを停止する処理が完了したことを示す停止完了通知を管理サーバ装置１００に出力する。
【０１０４】
次に、管理サーバ装置１００は、電源オフ命令をサーバ装置２２１（“サーバ６”）に出力し（ステップＳ５１０）、サーバ装置２２１（“サーバ６”）は、電源オフして停止する。これにより、サーバ装置２２１（“サーバ６”）は、サーバプール２２０に戻される。
【０１０５】
次に、管理サーバ装置１００は、管理テーブルの更新を行う（ステップＳ５１１）。すなわち、再配置処理部４６は、管理テーブルの更新として、管理情報記憶部３１に記憶されている情報を更新させる。
【０１０６】
このように、マシン管理システム１は、システム全体でリソースの使用量が所定の閾値以下になった場合に、上述したスケールイン処理を行うことにより、余剰なサーバ装置２００を停止して、サーバプールに戻すことができる。そのため、マシン管理システム１は、余剰なサーバ装置２００が動作していることによる消費電力を低減することができる。すなわち、マシン管理システム１は、リソースを効率的に利用することができる。
【０１０７】
以上説明したように、本実施形態におけるマシン管理システム１は、コンピュータ装置であるマシン（例えば、サーバ装置２００）を複数有するマシン群２０と、マシンとネットワークＮ１を介して接続され、マシン群２０を管理する管理サーバ装置１００とを備える。また、管理サーバ装置１００は、機能取得部４２と、機能変更部４３とを備えている。機能取得部４２は、サーバ装置２００が有するリソースの使用状態に応じて、マシン群２０のうちからリソースが不足するリソース不足サーバ（第１のマシン）を検出するとともに、管理情報記憶部３１から、検出したリソース不足サーバの動作中の処理機能（例えば、サービス）を取得する。ここで、管理情報記憶部３１は、サーバ装置２００を識別する識別情報とサーバ装置２００で動作中の処理機能（例えば、サービス）とを関連付けて記憶する。そして、機能変更部４３は、リソース不足サーバとは異なる変更対象サーバ（第２のマシン）のサービスを、機能取得部４２が取得した第１のマシンで動作中のサービスに変更して、第２のマシンを動作させる。
【０１０８】
これにより、本実施形態におけるマシン管理システム１は、リソース不足サーバで動作中の処理機能（サービス）を、変更対象サーバで動作させるように、変更対象サーバの処理機能（サービス）を変更するので、サーバ装置２００のリソースをシステム内で融通しあうことができる。そのため、マシン管理システム１は、システム全体としてリソースを効率的に利用することができる。本実施形態におけるマシン管理システム１は、動作中の変更対象サーバの処理機能（サービス）を変更するので、サーバプール２２０で停止中のサーバ装置２００を起動して動作させる場合に比べて、システム構成を変更するのに要する期間を短縮することができる。
【０１０９】
また、本実施形態におけるマシン管理システム１は、処理機能（サービス）を変更することにより、動作中のサーバ装置２００の台数を追加することなく、且つ、サービスを継続しつつ、システム構成を再構成することができる。そのため、本実施形態におけるマシン管理システム１は、負荷ピークに合わせた迅速なシステム再構成をすることができる。
【０１１０】
また、本実施形態では、管理情報記憶部３１は、上述の識別情報と、動作中の処理機能（サービス）と、マシンに搭載済みの処理機能（サービス）とを関連付けて記憶する。そして、機能変更部４３は、機能取得部４２によって取得された当該動作中の処理機能が、搭載済みの処理機能として管理情報記憶部３１に記憶されているサーバ装置２００のうちから、リソースの使用状態に基づいて、当該動作中の処理機能に変更可能なサーバ装置２００を第２のマシンとして選択する。機能変更部４３は、選択した変更対象サーバの処理機能を、当該動作中の処理機能に一致する搭載済みの処理機能に変更して変更対象サーバを動作させる。
これにより、本実施形態におけるマシン管理システム１は、予め処理機能（サービス）が搭載されているサーバ装置２００を選択して、サービスを切り替えるので、サーバ装置２００のサービスを変更するのに要する期間を短縮することができる。
【０１１１】
また、本実施形態では、機能変更部４３は、搭載済みの処理機能（サービス）として機能取得部４２によって取得された当該動作中の処理機能を搭載する変更対象サーバが選択できない場合に、リソースの使用状態に基づいて、動作中のマシン群２０のうちから、当該動作中の処理機能を搭載可能なマシンを第２のマシンとして選択し、選択した変更対象サーバに当該動作中の処理機能を実現させるプログラムを読み込ませて、当該動作中の処理機能を動作させる。
これにより、本実施形態におけるマシン管理システム１は、変更対象サーバに、リソース不足サーバで動作中のサービスが予め搭載されていない場合であっても、サーバ装置２００のリソースをシステム内で融通しあうことができる。
【０１１２】
また、本実施形態では、管理サーバ装置１００は、さらに、起動処理部４４を備える。起動処理部４４は、変更対象サーバが選択できない場合に、マシン群２０のうちから、停止中のサーバ装置２００を起動するとともに、当該サーバ装置２００にリソース不足サーバで動作中の処理機能（サービス）を実現させるプログラム（ソフトウェア）を読み込ませて、当該動作中の処理機能を動作させる。
これにより、本実施形態におけるマシン管理システム１は、機能変更部４３が、変更対象サーバを選択することができない場合に、停止中のサーバ装置２００を起動することにより、リソース不足サーバのリソース不足を解消することができる。
【０１１３】
また、本実施形態では、リソースの使用状態には、リソースの使用量が含まれ、
機能取得部４２は、リソースの使用量が所定の閾値以上になったマシンをリソース不足サーバとして検出し、リソース不足サーバを検出した場合に、管理情報記憶部３１から、当該リソース不足サーバに対応する識別情報に関連付けられている動作中の処理機能を取得する。
これにより、本実施形態におけるマシン管理システム１は、適切にリソース不足サーバを検出することができる。
【０１１４】
また、本実施形態では、マシン群２０が有するマシン（サーバ装置）は、ネットワークＮ１を介してオペレーティングシステムを起動するネットワークブート機能を有する物理マシンである。
物理マシンは、一般に仮想化技術を利用する仮想マシンに比べて、起動時間がかかる。また、本実施形態におけるマシン管理システム１は、停止中のサーバ装置２００を起動する前に、動作中のサーバ装置２００のリソースをシステム内で融通しあうことで、リソース不足を解消する。そのため、本実施形態におけるマシン管理システム１は、物理マシンを使用したベアメタルクラウドシステムにおいて、システム構成を変更するのに要する期間を短縮しつつ、システム全体としてリソースを効率的に利用するシステムを実現することができる。
【０１１５】
また、本実施形態では、管理サーバ装置１００は、さらに、停止処理部４５を備える。停止処理部４５は、システム全体でリソースの使用量が所定の閾値以下になった場合に、動作中のサーバ装置２００のうちから、リソースの使用状態に応じて、停止対象サーバを選択し、選択した停止対象サーバを停止させる。
これにより、本実施形態におけるマシン管理システム１は、リソースの使用状態に応じて、適切なシステム規模に縮小することができ、システムを余剰なサーバ装置２００が動作していることによる消費電力を低減することができる。すなわち、マシン管理システム１は、リソースを効率的に利用することができる。
【０１１６】
また、本実施形態におけるマシン管理システム１は、リソースの使用状態に応じて、迅速にスケールアウト及びスケールインを行うことができるので、予めスケールアウト及びスケールインのスケジュールを設定する必要がない。よって、本実施形態におけるマシン管理システム１は、スケールアウト又はスケールインにおいても、システム全体としてリソースを効率的に利用することができる。
【０１１７】
また、本実施形態によれば、管理サーバ装置１００は、コンピュータ装置であるマシン（サーバ装置２００）とネットワークＮ１を介して接続され、複数のサーバ装置２００を有するマシン群２０を管理する管理サーバ装置であって、上述した機能取得部４２と、機能変更部４３とを備えている。
これにより、本実施形態における管理サーバ装置１００は、上述したマシン管理システム１と同様の効果を奏する。
【０１１８】
なお、本発明は、上記の各実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で変更可能である。
上記の実施形態では、一例として“分散ストレージ”システムに適用した場合について説明したが、これに限定されるものではない。例えば、図１３に示すように、“分散ストレージ”以外のシステムに適用してもよい。
【０１１９】
図１３は、本実施形態によるマシン管理システム１の別の一例を示すブロック図である。
図１３において、マシン管理システム１ａは、音声処理システムＳ１と画像処理システムＳ２と、サーバプール２２０と、管理サーバ装置１００とを備え、各構成は、ネットワークＮ２を介して接続されている。
また、この一例では、サーバプール２２０は、サーバ装置（２２３、２２４）を停止中のサーバ装置２００として備えている。
なお、この図において、図１に示す構成と同一の構成については同一の符号を付し、その説明を省略する。
【０１２０】
また、音声処理システムＳ１は、音声処理ロードバランサ１０Ａ、音声認識サーバ（２０５、２０６）、及び音声合成サーバ（２０７、２０８）を備えている。なお、音声認識サーバ（２０５、２０６）は、前処理システムＳ１１に対応し、音声合成サーバ（２０７、２０８）は、後処理システムＳ１２に対応する。
音声処理ロードバランサ１０Ａは、音声処理の前処理依頼に対して、前処理システムＳ１１のリソースの負荷を分散して、前処理システムＳ１１に処理を要求する。これに対して、前処理システムＳ１１（音声認識サーバ（２０５、２０６））は、音声認識の処理結果を音声処理ロードバランサ１０Ａに戻す。
また、音声処理ロードバランサ１０Ａは、音声処理の後処理依頼に対して、後処理システムＳ１２のリソースの負荷を分散して、後処理システムＳ１２に処理を要求する。これに対して、後処理システムＳ１２（音声合成サーバ（２０７、２０８））は、音声合成の処理結果を音声処理ロードバランサ１０Ａに戻す。
これにより、音声処理システムＳ１は、音声処理を実行する。
【０１２１】
また、画像処理システムＳ２は、画像処理ロードバランサ１０Ｂ、顔認識サーバ（２０９、２１０）、及び画像処理サーバ（２１１、２１２）を備えている。なお、顔認識サーバ（２０９、２１０）は、前処理システムＳ２１に対応し、画像処理サーバ（２１１、２１２）は、後処理システムＳ２２に対応する。
画像処理ロードバランサ１０Ｂは、画像処理の前処理依頼に対して、前処理システムＳ２１のリソースの負荷を分散して、前処理システムＳ２１に処理を要求する。これに対して、前処理システムＳ２１（顔認識サーバ（２０９、２１０））は、顔認識の処理結果を画像処理ロードバランサ１０Ｂに戻す。
また、画像処理ロードバランサ１０Ｂは、画像処理の後処理依頼に対して、後処理システムＳ２２のリソースの負荷を分散して、後処理システムＳ２２に処理を要求する。これに対して、後処理システムＳ２２（、画像処理サーバ（２１１、２１２））は、画像処理の処理結果を画像処理ロードバランサ１０Ｂに戻す。
これにより、画像処理システムＳ２は、画像処理を実行する。
【０１２２】
なお、音声認識サーバ（２０５、２０６）、音声合成サーバ（２０７、２０８）、顔認識サーバ（２０９、２１０）、及び画像処理サーバ（２１１、２１２）それぞれには、例えば、同一構成のサーバ装置２００であり、“音声認識”、“音声合成”、“顔認識”、及び“画像処理”のソフトウェアがインストール済みである。
このような構成のマシン管理システム１ａにおいて、リソース不足サーバが検出された場合には、管理サーバ装置１００は、図１〜図１２に示す本実施形態と同様の処理を実行する。例えば、音声認識サーバ２０５が、リソース不足サーバとして検出された場合には、管理サーバ装置１００は、例えば、音声合成サーバ２０８を変更対象サーバとして選択し、音声合成サーバ２０８を音声認識サーバに変更する。
このように、マシン管理システム１ａは、複数のサービスを提供するシステムを含む場合においても、システム全体としてリソースを効率的に利用することができる。
【０１２３】
また、上記の実施形態において、変更対象サーバ、追加対象サーバ、又は停止対象サーバとして１台のサーバ装置２００を選択する場合について説明したが、複数台のサーバ装置２００を選択してもよい。
また、上記の実施形態において、マシン群２０が有するマシン（サーバ装置２００）は、物理マシンである場合について説明したが、仮想化技術を用いた仮想マシンであってもよい。
【０１２４】
また、上記の実施形態において、リソース不足サーバであることを自装置が判定して、管理サーバ装置１００に通知する場合について説明したが、これに限定されるものではない。例えば、管理サーバ装置１００が、状態取得部４１を介して各サーバ装置２００の動作状態（リソースの使用状態）を収集し、収集した動作状態（リソースの使用状態）に基づいて、管理サーバ装置１００が、リソース不足サーバを判定してもよい。
また、上記の実施形態において、管理サーバ装置１００が、リソース不足サーバをリソースの使用量に基づいて検出する場合について説明したが、これに限定されるものではない。管理サーバ装置１００は、例えば、リソースの限界性能に近づいた場合に、リソース不足サーバとして検出してもよい。
【０１２５】
また、上記の実施形態において、機能変更部４３は、変更対象サーバに、リソース不足サーバの動作中のサービスが搭載済みでない場合に、リソース不足サーバの動作中のサービスを実現するソフトウェアをインストールする例を説明したが、これに限定されるものではない。例えば、機能変更部４３は、リソース不足サーバの動作中のサービスが搭載済みであるか否かに関わらず、リソース不足サーバの動作中のサービスを実現するソフトウェアをインストールしてもよい。
【０１２６】
また、上記の実施形態において、管理サーバ装置１００が、管理情報記憶部３１を備える場合について説明したが、これに限定されるものではない。例えば、管理サーバ装置１００とは別のサーバ装置２００が、管理情報記憶部３１を備えてもよい。
また、管理情報記憶部３１は、サーバ装置２００の識別情報と、マシンで動作中のサービスと、サーバ装置２００に搭載済みのサービスとを関連付けて記憶する場合について説明したが、これに限定されるものではない。例えば、管理情報記憶部３１は、サーバ装置２００の識別情報と、マシンで動作中のサービスと関連付けて記憶する記憶部と、サーバ装置２００の識別情報と、サーバ装置２００に搭載済みのサービスとを関連付けて記憶する記憶部というように、複数の記憶部に分割して記憶する形態であってもよい。
【０１２７】
なお、本発明におけるマシン管理システム１（１ａ）が備える各構成の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより上述したマシン管理システム１（１ａ）が備える各構成における処理を行ってもよい。ここで、「記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行する」とは、コンピュータシステムにプログラムをインストールすることを含む。ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、インターネットやＷＡＮ、ＬＡＮ、専用回線等の通信回線を含むネットワークを介して接続された複数のコンピュータ装置を含んでもよい。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。このように、プログラムを記憶した記録媒体は、ＣＤ−ＲＯＭ等の非一過性の記録媒体であってもよい。
【０１２８】
また、記録媒体には、当該プログラムを配信するために配信サーバからアクセス可能な内部または外部に設けられた記録媒体も含まれる。なお、プログラムを複数に分割し、それぞれ異なるタイミングでダウンロードした後にマシン管理システム１（１ａ）が備える各構成で合体される構成や、分割されたプログラムのそれぞれを配信する配信サーバが異なっていてもよい。さらに「コンピュータ読み取り可能な記録媒体」とは、ネットワークを介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、上述した機能の一部を実現するためのものであってもよい。さらに、上述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【０１２９】
また、上述した機能の一部または全部を、ＬＳＩ（Large Scale Integration）等の集積回路として実現してもよい。上述した各機能は個別にプロセッサ化してもよいし、一部、または全部を集積してプロセッサ化してもよい。また、集積回路化の手法はＬＳＩに限らず専用回路、または汎用プロセッサで実現してもよい。また、半導体技術の進歩によりＬＳＩに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。
【符号の説明】
【０１３０】
１、１ａ  マシン管理システム
１０  ロードバランサ
１０Ａ  音声処理ロードバランサ
１０Ｂ  画像処理ロードバランサ
２０  マシン群
３０  記憶部
３１  管理情報記憶部
４０  制御部
４１  状態取得部
４２  機能取得部
４３  機能変更部
４４  起動処理部
４５  停止処理部
４６  再配置処理部
１００  管理サーバ装置
２００、２０１、２０２、２０３、２０４、２２１、２２２、２２３、２２４  サーバ装置
２０５、２０６  音声認識サーバ
２０７、２０８  音声合成サーバ
２０９、２１０  顔認識サーバ
２１１、２１２  画像処理サーバ
２２０  サーバプール
Ｎ１、Ｎ２  ネットワーク
Ｓ１  音声処理システム
Ｓ２  画像処理システム
Ｓ１１、Ｓ２１  前処理システム
Ｓ１２、Ｓ２２  後処理システム
【図１】
2014229253.tif 000003
【図２】
2014229253.tif 000004
【図３】
2014229253.tif 000005
【図４】
2014229253.tif 000006
【図５】
2014229253.tif 000007
【図６】
2014229253.tif 000008
【図７】
2014229253.tif 000009
【図８】
2014229253.tif 000010
【図９】
2014229253.tif 000011
【図１０】
2014229253.tif 000012
【図１１】
2014229253.tif 000013
【図１２】
2014229253.tif 000014
【図１３】
2014229253.tif 000015