(57)【特許請求の範囲】
【請求項１】
サーバに対してネットワークを介して通信可能に接続されるサーバ復旧システムであって、
前記サーバの起動制御を行うサーバ起動手段と、
前記サーバを特定するための情報と、当該サーバの起動制御に必要な情報とを関連付けて構成されたサーバ構成情報と、前記サーバを特定するための情報と、当該サーバで動作するサービスを特定するための情報と、当該サービスの起動制御に必要な情報とを関連付けて構成されたサービス構成情報とを、格納する構成情報格納手段と、
前記サーバの停止制御を行うサーバ停止手段と、
前記サーバの削除制御を行うサーバ削除手段とを備え、
前記サーバ起動手段は、前記サーバの起動制御を行う際に、当該サーバを特定するための情報を含む前記サーバ構成情報を前記構成情報格納手段を介して参照することにより、当該サーバの起動制御を行い、かつ、当該サーバを特定するための情報を含む前記サービス構成情報を前記構成情報格納手段を介して参照することにより、当該サーバで動作するサービスを特定すると共に当該特定したサービスの起動制御に必要な情報を取得し、当該取得した情報に基づいて、当該特定したサービスの起動制御を行い、
前記サーバ停止手段は、前記サーバの停止制御を行う際に、当該サーバを特定するための情報を含む前記サーバ構成情報及び前記サービス構成情報を前記構成情報格納手段に残したまま、当該サーバを停止させ、
前記サーバ削除手段は、前記サーバの削除制御を行う際に、当該サーバを特定するための情報を含む前記サーバ構成情報及び前記サービス構成情報を前記構成情報格納手段から削除し、
前記サーバ起動手段は、前記サーバ停止手段がユーザからの要求に基づいて前記サーバの停止制御を行った後、当該停止制御された前記サーバを復旧させる場合には、前記サーバ停止手段により前記構成情報格納手段に残された情報であって当該起動させるサーバを特定するための情報を含む前記サーバ構成情報及び前記サービス構成情報を参照することにより、当該サーバと当該サーバで動作するサービスを起動させる、
サーバ復旧システム。
【請求項２】
前記サーバの追加制御を行うサーバ追加手段と、
前記サービスの追加制御を行うサービス追加手段とを備え、
前記サーバ追加手段は、前記サーバの追加制御を行う際に、当該サーバを特定するための情報を、前記サーバ構成情報の一部として前記構成情報格納手段に格納し、
前記サービス追加手段は、前記サービスの追加制御を行う際に、当該サービスを特定するための情報と、所定方法で取得した当該サービスの起動制御に必要な情報とを、当該サービスが動作するサーバを特定するための情報であって前記サーバ追加手段により前記サービス構成情報の一部として前記構成情報格納手段に格納された情報に関連付けて、前記サービス構成情報として前記構成情報格納手段に格納し、
前記サーバ起動手段は、前記サーバ停止手段が前記サーバの停止制御を行った後、当該停止制御された前記サーバを復旧させる場合には、前記サーバ追加手段と前記サービス追加手段により前記構成情報格納手段に格納された前記サーバ構成情報及び前記サービス構成情報を参照することにより、前記サーバ追加手段にて追加制御されたサーバと前記サービス追加手段にて追加制御されたサービスを起動させる、
請求項１に記載のサーバ復旧システム。
【請求項３】
前記構成情報格納手段の前記サービス構成情報は、前記サービスのデータを保存するために前記サーバに設けられたディスクを特定するための情報を関連付けて構成されており、
前記サーバ起動手段は、前記サーバの起動制御を行う際に、当該サーバを特定するための情報を含む前記サービス構成情報を前記構成情報格納手段を介して参照することにより、当該サーバで動作するサービスを特定すると共に当該サービスのデータを保存するためのディスクを特定し、当該特定したサービスに対して当該特定したディスクを対応付ける、
前記サーバ起動手段は、前記サーバ停止手段が前記サーバの停止制御を行った後、当該停止制御された前記サーバを復旧させる場合には、当該サーバを特定するための情報を含む前記サービス構成情報を前記構成情報格納手段を介して参照することにより、当該サーバで動作するサービスを特定すると共に当該サービスのデータを保存するためのディスクを特定し、当該特定したサービスに対して当該特定したディスクを対応付ける、
請求項１又は２に記載のサーバ復旧システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のサーバにより構成されるサーバ群の統合管理において、当該サーバの再構築を自動的に行うサーバ復旧システムに関する。
【背景技術】
【０００２】
近年、ネットワークを介して各種のサービス（アプリケーション等）を利用することができるクラウド・コンピューティングが急速に普及している。このクラウド・コンピューティングにおいて、ユーザは、自ら費用と時間をかけてサーバを構築することなくサービスを利用することができ、自己のニーズに応じてサービスの種類や量を容易に変更することができる。
【０００３】
このようなクラウド・コンピューティングの普及に伴い、多くの事業者がクラウド・コンピューティング用のサーバを有料で提供し始めており、ユーザはその中から自己のニーズや予算等に合致したサーバを選択して、サービスを利用することができる（例えば特許文献１の段落００２３及び図１）。あるいは、ユーザによっては、自社内にクラウド・コンピューティング用のサーバを設けてサービスを利用している。
【０００４】
このクラウドサービスにおいて、サーバは、物理的なサーバではなく、ユーザの要求に基づいて仮想的に構築される仮想サーバとして提供される。また同様に、各種サービスのデータ等を記憶するディスクも、仮想的に構築される仮想ディスクとして提供される。そして、ユーザが仮想サーバの停止を要求すると、通常は、当該仮想サーバ（を構成するための情報）や仮想ディスク（に記憶させたデータ）は全て削除される。
【０００５】
そのため、ユーザが仮想ディスクのデータを保存しておきたい場合には、仮想サーバの停止前に、仮想ディスクのデータを他のサーバ等にバックアップしておく必要がある。このため、仮想サーバの外付けディスクのように利用できるものであって、仮想サーバを停止させてもデータを消滅させない仮想ディスクサービスも提供されている（例えば、Ａｍａｚｏｎが提供しているＡｍａｚｏｎ  ＥＢＳのサービス）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−０５０９８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、ユーザの中には、仮想サーバの停止を要求した場合に、当該仮想サーバの実体（仮想サーバを構成するための情報）や仮想ディスクのデータが全て削除されることを認識していないユーザもおり、意図に反してこれらのデータを失ってしまうことがあった。特に、クラウドサービスを利用する場合には、負荷分散やコスト削減等の観点から、ユーザが複数のクラウドを使い分けたり組み合わせたりしてサービスを利用することも多く、仮想サーバを一時的に停止させた後で再度利用したい場合が多いと考えられる。
【０００８】
さらに、上述の仮想ディスクサービスを利用して仮想ディスクのデータを保持する場合であっても、当該仮想ディスクには、例えば、仮想サーバやサービス（アプリケーション）と当該仮想ディスクとの対応付け等を規定するための情報は含まれていない。このため、ユーザは、一旦停止させた仮想サーバを再び起動したい場合、この対応付け等を手動で行う必要があった。さらにその際、仮想ディスクＩＤやサーバ名称等の情報は、クラウドサービスのシステムにより命名される物理的な名称でありユーザにとって扱いづらく、手動での設定等を行うことは困難であった。
【０００９】
本発明は、上記に鑑みてなされたものであって、一旦停止した仮想サーバを容易に停止前の状態に復旧させることで、クラウド・コンピューティングにおける仮想サーバの起動時（特に、停止した仮想サーバの再度の起動時）の設定等に関するユーザの負担を軽減することができる、サーバ復旧システムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するために、請求項１に記載のサーバ復旧システムは、サーバに対してネットワークを介して通信可能に接続されるサーバ復旧システムであって、前記サーバの起動制御を行うサーバ起動手段と、前記サーバを特定するための情報と、当該サーバの起動制御に必要な情報とを関連付けて構成されたサーバ構成情報と、前記サーバを特定するための情報と、当該サーバで動作するサービスを特定するための情報と、当該サービスの起動制御に必要な情報とを関連付けて構成されたサービス構成情報とを、格納する構成情報格納手段と、前記サーバの停止制御を行うサーバ停止手段と、前記サーバの削除制御を行うサーバ削除手段とを備え、前記サーバ起動手段は、前記サーバの起動制御を行う際に、当該サーバを特定するための情報を含む前記サーバ構成情報を前記構成情報格納手段を介して参照することにより、当該サーバの起動制御を行い、かつ、当該サーバを特定するための情報を含む前記サービス構成情報を前記構成情報格納手段を介して参照することにより、当該サーバで動作するサービスを特定すると共に当該特定したサービスの起動制御に必要な情報を取得し、当該取得した情報に基づいて、当該特定したサービスの起動制御を行い、前記サーバ停止手段は、前記サーバの停止制御を行う際に、当該サーバを特定するための情報を含む前記サーバ構成情報及び前記サービス構成情報を前記構成情報格納手段に残したまま、当該サーバを停止させ、前記サーバ削除手段は、前記サーバの削除制御を行う際に、当該サーバを特定するための情報を含む前記サーバ構成情報及び前記サービス構成情報を前記構成情報格納手段から削除し、前記サーバ起動手段は、前記サーバ停止手段がユーザからの要求に基づいて前記サーバの停止制御を行った後、当該停止制御された前記サーバを復旧させる場合には、前記サーバ停止手段により前記構成情報格納手段に残された情報であって当該起動させるサーバを特定するための情報を含む前記サーバ構成情報及び前記サービス構成情報を参照することにより、当該サーバと当該サーバで動作するサービスを起動させる。
これにより、サーバの起動時に当該サーバで動作するサービスの起動制御が行われるので、サーバを一度停止した場合であっても、当該サーバ再度起動させた際に停止前のサーバの構成が自動的に復旧されるため、サーバの復旧を容易に行うことができる。
また、これにより、例えばユーザインターフェース等を利用してサーバの停止を行う場合、当該サーバに関する構成情報は残るため、当該サーバを再度起動する際、停止前と同じ構成で起動することが可能になる。
【００１１】
また、請求項２に記載のサーバ復旧システムは、請求項１に記載のサーバ復旧システムにおいて、前記サーバの追加制御を行うサーバ追加手段と、前記サービスの追加制御を行うサービス追加手段とを備え、前記サーバ追加手段は、前記サーバの追加制御を行う際に、当該サーバを特定するための情報を、前記サーバ構成情報の一部として前記構成情報格納手段に格納し、前記サービス追加手段は、前記サービスの追加制御を行う際に、当該サービスを特定するための情報と、所定方法で取得した当該サービスの起動制御に必要な情報とを、当該サービスが動作するサーバを特定するための情報であって前記サーバ追加手段により前記サービス構成情報の一部として前記構成情報格納手段に格納された情報に関連付けて、前記サービス構成情報として前記構成情報格納手段に格納し、前記サーバ起動手段は、前記サーバ停止手段が前記サーバの停止制御を行った後、当該停止制御された前記サーバを復旧させる場合には、前記サーバ追加手段と前記サービス追加手段により前記構成情報格納手段に格納された前記サーバ構成情報及び前記サービス構成情報を参照することにより、前記サーバ追加手段にて追加制御されたサーバと前記サービス追加手段にて追加制御されたサービスを起動させる。
これにより、例えばユーザインターフェース等を利用してサーバ及びサービスの追加を行う場合に、サーバや当該サーバで動作するサービスを追加すると、対応する構成情報が自動的に生成される。
【００１３】
また、請求項３に記載のサーバ復旧システムは、請求項１又は２に記載のサーバ復旧システムにおいて、前記構成情報格納手段の前記サービス構成情報は、前記サービスのデータを保存するために前記サーバに設けられたディスクを特定するための情報を関連付けて構成されており、前記サーバ起動手段は、前記サーバの起動制御を行う際に、当該サーバを特定するための情報を含む前記サービス構成情報を前記構成情報格納手段を介して参照することにより、当該サーバで動作するサービスを特定すると共に当該サービスのデータを保存するためのディスクを特定し、当該特定したサービスに対して当該特定したディスクを対応付ける、前記サーバ起動手段は、前記サーバ停止手段が前記サーバの停止制御を行った後、当該停止制御された前記サーバを復旧させる場合には、当該サーバを特定するための情報を含む前記サービス構成情報を前記構成情報格納手段を介して参照することにより、当該サーバで動作するサービスを特定すると共に当該サービスのデータを保存するためのディスクを特定し、当該特定したサービスに対して当該特定したディスクを対応付ける。
これにより、サーバで動作するサービスのデータを保存したディスクが、サーバを再度起動した際に再び同じサービスに自動的に関連付けられる。
【発明の効果】
【００１４】
本発明のサーバ復旧システムによれば、サーバを停止した後再度起動した場合に、サーバを再び同じ構成で起動することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施の形態に係るサーバ復旧システムを含んだネットワークシステムを機能概念的に示すブロック図である。
【図２】ＩＰ選択テーブルの構成をマトリクス形式で示した例である。
【図３】構成情報ＤＢに格納される構成情報の構成例を示す図である。
【図４】サーバ管理ページの例を示す図である。
【図５】サービス管理ページの例を示す図である。
【図６】サーバ追加ページの例を示す図である。
【図７】サービス追加ページの例を示す図である。
【図８】サーバ起動処理のフローチャートである。
【図９】サービス起動処理のフローチャートである。
【図１０】サービス停止処理のフローチャートである。
【図１１】サーバ停止処理のフローチャートである。
【発明を実施するための形態】
【００１６】
以下に添付図面を参照して、この発明に係るサーバ復旧システムの実施の形態を詳細に説明する。ただし、当該実施の形態によって本発明が限定されるものではない。
【００１７】
（構成）
図１は、本実施の形態に係るサーバ復旧システムを含んだネットワークシステム１を機能概念的に示すブロック図である。このネットワークシステム１は、サーバ群１０ａ〜１０ｄ、社内ネットワーク２０、及び通信ネットワーク１００を備えており、通信ネットワーク１００を介して、サーバ群１０ａ〜１０ｄに含まれる各仮想サーバ１１と社内ネットワーク２０とを相互に通信可能に接続して構成されている。また、社内ネットワーク２０は、例えばＬＡＮ等のイントラネットにより構築された社内環境であり、本実施の形態では、サーバ群１０ｄ、サービス制御システム３０、端末装置８０を含んでいる。
【００１８】
（構成−サーバ群）
サーバ群１０ａ〜１０ｄは、端末装置８０に対して各種サービス（アプリケーション）を提供するサーバ群である。このようなサービス提供の形態としては、代表的にはクラウド・コンピューティング・サービス（以下、単に「クラウド」と称する）があるが、これに限定されず、従来のオンデマンド・コンピューティング、ユーティリティ・コンピューティング、あるいはユビキタス・コンピューティング等のサービスを含む。このサーバ群１０ａ〜１０ｄは、それぞれ、同一又は異なるクラウド事業者が提供するクラウドサーバ（１又は複数の物理サーバで構成）であり、ユーザはこのクラウドサーバ上に仮想サーバ１１を構成して各種サービス（アプリケーション）を利用する。以下では、単に「サーバ」という場合には、仮想サーバを意味するものとする。
【００１９】
サーバ群１０ａ〜１０ｃは、通信ネットワーク１００を介して提供されるいわゆるパブリッククラウドの例である。一方、サーバ群１０ｄは、社内ネットワーク２０内にクラウドサーバを設置して提供されるいわゆるプライベートクラウドの例である。図１には、従来の一般的なパブリッククラウドとして提供されるサーバ群１０ａ、プライベートＩＰアドレスを用いてＶＰＮ（仮想プライベートネットワーク）接続を行って通信ネットワーク１００（インターネット）上で仮想的なプライベートクラウドを実現するサーバ群１０ｂ（例えば、Ａｍａｚｏｎ社が提供しているＡｍａｚｏｎ  ＶＰＣ）、社内ネットワーク２０との間ではＶＰＮ接続による通信を行うが、社内ネットワーク２０外の端末やサーバ等からは通信ネットワーク１００（インターネット）を介した通常の通信を行うサーバ群１０ｃ、従来の一般的なプライベートクラウドとして提供されるサーバ群１０ｄを例示している。
【００２０】
サーバ群１０ａ〜１０ｄの各仮想サーバ１１は、サービス制御クライアント１２、複数のサービス（アプリケーション）１３、及び複数のサービス専用データ領域（以下、専用データ領域）１４を備える。
サービス制御クライアント１２は、後述するサービス制御サーバ５０に格納された定義ファイル５１を適用して、各仮想サーバ１１の設定や、サービスのインストール・設定・起動・停止等を制御するクライアントソフトウェアである。このサービス制御クライアント１２としては、公知のシステム管理ソフトウェア（例えばＰｕｐｐｅｔ）におけるクライアントソフトウェア（例えばＰｕｐｐｅｔクライアント）を用いることができる。
サービス１３は、いわゆるクラウドアプリケーション層にて提供されるアプリケーション（又は複数のアプリケーションのセット）であり、例えば、Ｗｅｂサーバ構築用のサービス、業務システムや電子商取引のサーバ構築用のサービス、データベースサーバ構築用のサービス、オフィス文書作成用のサービス、ソフトウェア開発用のサービス等、様々なサービスが該当する。
専用データ領域１４は、サービス１３のデータを格納する領域である。本実施の形態においては、この専用データ領域１４は、クラウドサーバ（物理サーバ）の記録領域上に、サービス１３の各々に専用のデータ領域として構築される仮想ディスクである。
上記サービス制御クライアント１２、サービス１３、専用データ領域１４の他、サーバ群１０ｃは、社内ネットワーク２０とのＶＰＮ接続を行うためのＶＰＮ接続クライアント１５を備える。このＶＰＮ接続クライアント１５としては、公知のＶＰＮ接続用のソフトウェア（例えばＯｐｅｎＶＰＮ）におけるクライアントソフトウェアを用いることができる。
また、サーバ群１０ｂは、社内ネットワーク２０（の専用ファイアウォール９１）との間のみの通信を許容し、社内ネットワーク２０外の端末装置やサーバ等からのアクセスを遮断する専用ファイアウォール１６を備える。
【００２１】
（構成−サービス制御システム）
サービス制御システム３０は、サーバ群１０ａ〜１０ｄの仮想サーバ１１及びその上で利用されるサービス１３を管理するシステムであり、特に、サーバの復旧を行うサーバ復旧システムである。このサービス制御システム３０は、主制御サーバ４０、サービス制御サーバ５０、ＤＮＳサーバ（Ｄｏｍａｉｎ  Ｎａｍｅ  Ｓｙｓｔｅｍサーバ）６０、ＶＰＮサーバ７０、専用ファイアウォール９１を備える。
【００２２】
（構成−サービス制御システム−主制御サーバ）
主制御サーバ４０は、サービス制御システム３０の中心的な機能を提供するサーバであり、制御部４１及び記憶部４２から構成されている。なお、特記する場合を除き、主制御サーバ４０は通常のＷｅｂサーバと同様に構成することができるので、その説明は省略する（以下の各サーバの説明においても同様）。
【００２３】
制御部４１は、端末装置８０からのユーザの操作等により、サーバ群１０ａ〜１０ｄ上で仮想サーバ１１及びサービス１３の追加・起動・停止・削除等の処理を行う手段（プログラム）である。この制御部４１は、機能概念的に、サーバ追加処理部４１ａ、サーバ起動処理部（サーバ起動手段）４１ｂ、サーバ停止処理部４１ｃ、サーバ削除処理部４１ｄ、サービス追加処理部４１ｅ、サービス起動処理部（サービス起動手段）４１ｆ、サービス停止処理部４１ｇ、及びサービス削除処理部４１ｈを備えて構成されている。
【００２４】
記憶部４２は、制御部４１の各処理部に必要な情報や各処理部にて生成・更新される情報を格納する手段であり、機能概念的に、ユーザ情報ＤＢ４２ａ、ＩＰ選択テーブル４２ｂ、及び構成情報ＤＢ４２ｃを備える。
【００２５】
ユーザＤＢ４２ａは、ユーザがサービス制御システム３０を利用するために必要な情報等を格納しているデータベースであり、少なくとも、項目「ユーザＩＤ」及び「パスワード」を含む。「ユーザＩＤ」は、ユーザを一意に識別するユーザ識別情報である。「パスワード」は、ユーザがサービス制御システム３０にログインする際の認証用のパスワードである。これらのユーザ情報は、例えば、ユーザがサービス制御システム３０に利用登録を行う際、当該システムの管理者によって登録される。
【００２６】
ＩＰ選択テーブル４２ｂは、送信元となる仮想サーバ１１と送信先となる仮想サーバ１１の組み合わせに応じて選択されるべきＩＰアドレスの種別であって、送信先となるサーバ１１のＩＰアドレスの種別を特定するためのテーブルである。以降、まずＩＰアドレスの種別について説明し、次にＩＰ選択テーブル４２ｂの構成について説明する。
【００２７】
各仮想サーバ１１へのＩＰアドレス割当の仕様は、提供されるクラウドにより異なりうる。例えば、図１に示したクラウドの例（サーバ群１０ａ〜１０ｄ）では、各サーバ群に図示しているようなＩＰアドレスの割当を行っている。すなわち、サーバ群１０ａ（一般的なパブリッククラウド）及びサーバ群１０ｄ（一般的なプライベートクラウド）においては、Ｐｕｂｌｉｃ＿ＩＰ（当該クラウド外からアクセスするためのパブリックＩＰアドレス）及びＰｒｉｖａｔｅ＿ＩＰ（当該クラウド内での通信にのみ有効なプライベートＩＰアドレス）が割り当てられる。また、サーバ群１０ｂ（仮想的なプライベートクラウド）においては、Ｐｒｉｖａｔｅ＿ＩＰのみが割り当てられる。また、サーバ群１０ｃ（ＶＰＮ使用のパブリッククラウド）においては、Ｐｕｂｌｉｃ＿ＩＰ及びＰｒｉｖａｔｅ＿ＩＰとは別に、さらにＶＰＮ通信を行うためのＩＰアドレスであるＶＰＮ＿ＩＰが割り当てられる。
また、本実施の形態では、サービス制御システム３０の各サーバ（主制御サーバ４０、サービス制御サーバ５０、ＤＮＳサーバ６０、ＶＰＮサーバ７０）には、それぞれ固定ＩＰを割り当てているが（図１には主制御サーバ４０の固定ＩＰのみを示す）、各々のサーバにおいて稼動中（起動から停止までの間）にＩＰアドレスが変動しない方法であれば、他の割当方法であってもよい。
【００２８】
図２は、ＩＰ選択テーブル４２ｂの構成をマトリクス形式で示した例である。図２に示すように、ＩＰ選択テーブル４２ｂには、「送信元」と「送信先」の組み合わせに対応した「送信先ＩＰ種別」が格納されている。クラウドのＩＰアドレス割当の仕様がサーバ群１０ａ〜１０ｄのいずれかと同じであれば、図２に示したテーブルで対応可能であり、また、サーバ群１０ａ〜１０ｄとは異なるＩＰアドレス割当の仕様を有するクラウドがあれば、ＩＰ選択テーブル４２ｂに新たに追加すればよい。なお、図２において「主制御サーバ等」とは、主制御サーバ４０、サービス制御サーバ５０、ＤＮＳサーバ６０、ＶＰＮサーバ７０を含む。図２に示すように、例えば、主制御サーバ４０等からサーバ群１０ｃの仮想サーバ１１に対して通信を行うために選択されるべきＩＰの種別は、ＶＰＮ＿ＩＰである。
【００２９】
ここで、ＩＰ選択テーブル４２ｂによって特定されるＩＰアドレスの種別は、通信を行うために必須の種別であり、他の種別を選択する余地がない（他の種別では通信を行うことができない）ものである。ただし、同一のクラウド（サーバ群）内ではＰｕｂｌｉｃ＿ＩＰでも通信可能なクラウドもあるが、通常はＰｒｉｖａｔｅ＿ＩＰを利用するほうが効率がよく、かつ、通信料金も安価になるため、Ｐｒｉｖａｔｅ＿ＩＰが必ず送信先として選択されるようにＩＰ選択テーブル４２ｂに格納している。このＩＰ選択テーブル４２ｂは、当該システムの管理者によって登録される。ＩＰ選択テーブル４２ｂは図１のようにデータテーブルとして記憶部４２に記憶してもよいし、各処理部のプログラムロジックによって実装してもよい。
【００３０】
また、図１の構成情報ＤＢ４２ｃは、仮想サーバ及びサービスの構成情報を格納しているデータベース（構成情報格納手段及び関連構成情報格納手段）である。構成情報には、仮想サーバ及びサービスの設定を行うために必要な情報や、サービスの追加・起動・停止・削除等が行われた際に、当該サービスと依存関係・参照関係にある他のサービス（以降「関連サービス」という）の設定を変更するために必要な情報等を格納している。図３は、構成情報ＤＢ４２ｃに格納される構成情報の構成例である。構成情報は、図３に示すように、仮想サーバ１１毎の構成情報（サーバ構成情報）と、各仮想サーバ１１に追加されたサービス１３毎の構成情報（サービス構成情報）に大別される。
【００３１】
サーバ構成情報に含まれる項目は、全てのクラウドの仮想サーバに共通の項目（サーバ共通項目）と、特定のクラウドの仮想サーバに固有の項目（サーバ固有項目）に大別される。
サーバ共通項目は、例えば図３に示すものがある。「サーバ名」は、ユーザが付与した仮想サーバ１１の名称である。「ホスト名」は、クラウドによって付与された仮想サーバ１１のホスト名である。「ＩＰアドレス」は、クラウドによって付与された仮想サーバ１１のパブリックＩＰアドレスである。「プライベートＩＰアドレス」は、クラウドによって付与された仮想サーバ１１のプライベートＩＰアドレスである。「クラウド名」は、クラウドに予め与えられている固有の名称（クラウドを一意に識別可能な名称）である。「サーバ種別」は、仮想サーバ１１の目的や用途を示す種別である。「ステータス」は、仮想サーバ１１のその時点における状態を示す情報であり、ここでは起動中又は停止中である。なお、サーバ固有項目については説明を省略する。
【００３２】
サービス構成情報に含まれる項目は、全てのサービスに共通の項目（サービス共通項目）と、特定のサービスに固有の項目（サービス固有項目）に大別される。サービス共通項目は、例えば図３に示すものがある。「サービス名」は、サービスに固有の名称（サービスを一意に識別可能な名称）である。「ディスクサイズ」は、当該サービスで使用する専用データ領域１４（仮想ディスク）の容量である。「ディスクＩＤ」は、専用データ領域１４を一意に識別するための識別情報である。「デバイス名」は、専用データ領域１４が確保（格納）されたデバイス（ハードウェア）を一意に識別可能な名称である。「所属サーバ名」は、当該サービスが稼動する仮想サーバ名である。「関連サービス項目」は、当該サービスの関連サービス（当該サービスの追加・起動・停止・削除等に応じて設定の変更等が必要となるサービス）のサービス名、及び変更等すべき項目（後述の定義ファイル５１の項目）である。なお、サービス固有項目についてはここでは説明を省略する。
【００３３】
（構成−サービス制御システム−サービス制御サーバ）
図１のサービス制御サーバ５０は、上述のサービス制御クライアント１２とともに、仮想サーバ１１の設定や、サービス１３のインストール・設定・起動・停止等を制御するサーバ（定義ファイル格納手段）である。サービス制御サーバ５０は、仮想サーバ１１及びサービス１３の設定内容を含む定義ファイル５１を格納しており、当該定義ファイル５１を仮想サーバ１１からの要求に応じて当該仮想サーバ１１に送信する。このサービス制御には、公知のアプリケーション制御用のソフトウェア（例えばＰｕｐｐｅｔ）を使用することができる。定義ファイル５１の内容や、仮想サーバ及びサービスの制御方法は、使用するアプリケーション制御用ソフトウェアにより異なりうるが、本実施形態ではＰｕｐｐｅｔの定義ファイル（マニフェスト）を例として説明する。
【００３４】
（構成−サービス制御システム−ＤＮＳサーバ）
ＤＮＳサーバ６０は、各仮想サーバ１１の名前解決を行う公知のＤＮＳサーバ（ＩＰアドレス管理手段）であり、各仮想サーバ１１のサーバ名（ホスト名）とＩＰアドレスとを関連付けたＤＮＳレコード６１を格納している。
【００３５】
（構成−サービス制御システム−ＶＰＮサーバ）
ＶＰＮサーバ７０は、社内ネットワーク２０（主制御サーバ４０や端末装置８０等）とサーバ群１１ｃの仮想サーバ１１との間でＶＰＮ（仮想プライベートネットワーク）接続を行うためのサーバである。このＶＰＮ接続には、公知のＶＰＮ接続用のソフトウェア（例えばＯｐｅｎＶＰＮ）を使用することができる。
【００３６】
（構成−サービス制御システム−専用ファイアウォール）
専用ファイアウォール９１は、社内ネットワーク２０とサーバ群１０ｂ（の専用ファイアウォール１６）との間のみの通信を許容し、社内ネットワーク２０外のサーバや端末装置からのアクセスを遮断するファイアウォールである。
【００３７】
（構成−端末装置）
端末装置８０は、ユーザが利用するパソコン等の端末であり、ユーザはこの端末装置８０を操作してサーバ群１０ａ〜１０ｄ上に仮想サーバ１１及びサービス１３を構築し、サービスを利用する。
【００３８】
（構成−通信ネットワーク）
通信ネットワーク１００としては、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）であって、代表的にはインターネットであるが、専用通信線やＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）を含んでもよい。
【００３９】
（処理）
次に、図１のネットワークシステムにおいて行われる本実施の形態の各種の処理（制御部４１の各処理部４１ａ〜４１ｈが行う処理）について説明する。ただし、以下の説明においては、特記するタイミングを除いて任意のタイミングにて各処理が行われ、特記する主体を除いて制御部４１にて処理が行われるものとする。また、「ステップ」を「Ｓ」と略記する。
【００４０】
（サービス制御システム３０へのログイン処理）
最初に、ユーザがサービス制御システム３０の利用を開始するためのログイン処理について説明する。ユーザは、端末装置８０において、主制御サーバ４０に割り当てられた所定のＵＲＬを指定すること等によって主制御サーバ４０にアクセスし、ユーザＩＤ及びパスワードを用いた公知のログイン処理方法によりログインする。主制御サーバ４０の制御部４１は、ユーザ情報ＤＢ４２ａに格納されたユーザ情報を参照してログイン処理を行った後、操作画面のＷｅｂページデータを生成して端末装置８０に送信する。ユーザは、端末装置８０のブラウザに表示されたページ上で仮想サーバ１１及びサービス１３の追加・起動・停止・削除等の各操作を行う。
【００４１】
図４及び５にサーバ管理ページ、サービス管理ページの例を示す。これらのページは、図４、５に例示するように、「サーバ」と「サービス」の２つのタグにより、両ページを相互に切替自在に構成されている。
図４に示すように、サーバ管理ページは、ユーザが利用しているサーバに関する情報を一覧表示したり、サーバの追加・起動・停止・削除等を行うためのページであり、サーバ一覧１１０を表示する表示領域と、サーバを新規追加するためのサーバ追加ボタン１１１を含んでいる。サーバ一覧１１０は、例えば、項目「サーバ名」「ＩＰアドレス」「ステータス」「サービス名」及び「操作」を含んでおり、項目「サーバ名」〜「サービス名」に対応する情報が、例えば構成情報ＤＢ４２ｃから取得して表示されている。項目「操作」には、仮想サーバ１１を「起動」「停止」「削除」するための操作ボタンが表示されている。このようなサーバ管理ページにより、ユーザは、異なるクラウド（サーバ群）に起動させている仮想サーバ１１を一元的に把握することが可能となる。
【００４２】
（処理−サーバ追加処理（サーバ追加処理部４１ａ））
ここで、ユーザがサーバ管理ページのサーバ追加ボタン１１１を選択すると、サーバ追加要求が主制御サーバ４０に送信され、主制御サーバ４０から端末装置８０に、サーバ追加画面のＷｅｂページデータが送信される。サーバ追加ページは、図６に例示するように、サーバ名設定領域１２０、クラウド選択領域１２１、サーバ種別選択領域１２２、及びサーバ追加ボタン１２３を含んで構成されている。サーバ名設定領域１２０は、追加するサーバのサーバ名を入力するための領域であり、ユーザが所望のサーバ名を入力する。クラウド選択領域１２１は、利用したいクラウド（サーバ群）を選択するための領域であり、例えばクラウド名がリスト形式で表示され、ユーザが所望のクラウド名を選択する。サーバ種別選択領域１２２は、クラウド選択領域１２１において選択されたクラウドが提供可能なサーバの種別を表示するための領域であり、例えばサーバの種別がリスト形式で表示され、ユーザが所望の種別を選択する。
【００４３】
ユーザが上記入力や選択を行った後、サーバ追加ボタン１２３を選択すると、サーバ追加要求が主制御サーバ４０に送信され、主制御サーバ４０のサーバ追加処理部４１ａによりサーバ追加処理が行われる。
【００４４】
主制御サーバ４０のサーバ追加処理部４１ａは、ユーザが選択したクラウド名に対応する仮想サーバ１１の構成情報を作成して、構成情報ＤＢ４２ｃに格納する。具体的には、「サーバ名」、「クラウド」、及び「サーバ種別」に、図６のサーバ追加ページでユーザが入力した情報を格納する。なお、項目「ホスト名」「ＩＰアドレス」「プライベートＩＰアドレス」及び「ステータス」は、サーバ追加時点ではまだ情報はない。また、サーバ固有項目には、ユーザが選択したクラウドに応じて該当する情報を格納する。これにて、サーバ追加処理が終了する。
【００４５】
（処理−サーバ起動処理（サーバ起動処理部４１ｂ））
次に、仮想サーバ１１の起動処理について説明する。図８は、サーバ起動処理のフローチャートである。
【００４６】
上記のサーバ追加処理で仮想サーバ１１が追加されると、端末装置８０に表示される図４のサーバ管理ページには、追加された仮想サーバ１１も表示される。ユーザが、起動を行いたい仮想サーバ１１に対応する「起動」ボタンを選択すると、当該選択された仮想サーバ１１のサーバ名、クラウド名等を含んだサーバ起動要求が主制御サーバ４０に送信される。
主制御サーバ４０のサーバ起動処理部４１ｂは、当該サーバ起動要求に含まれるサーバ名等を元に、構成情報ＤＢ４２ｃから当該仮想サーバ１１のサーバ構成情報を取得する（Ｓ８０１）。そして、対象のクラウドサーバ（サーバ群）に対し、サーバ起動命令を送信する（Ｓ８０２）。なお、この際のクラウドサーバのＩＰアドレスは、クラウドごとの固定値として、事前に主制御サーバ４０に設定しておく。
この起動命令に基づき、クラウドサーバは、サービス制御クライアント１２をインストールした仮想サーバ１１を起動する（Ｓ８０３）。なお、クラウドがサーバ群１０ｃである場合には、さらにＶＰＮ接続クライアント１５もインストールした状態で仮想サーバ１１を起動する。そして、起動後に、従来の方法（例えばＯｐｅｎＶＰＮによる処理）によりＶＰＮ接続を確立し、以降、社内ネットワーク２０と仮想サーバ１１との間ではＶＰＮ通信を行う。
その後、クラウドサーバは、起動時に仮想サーバ１１に動的に付与したＩＰアドレスやホスト名等を、主制御サーバ４０に送信する（Ｓ８０４）。なお、本実施の形態では、例えば主制御サーバ４０側より定期的にクラウド側から情報取得を行うことにより、これらのＩＰアドレスやホスト名を取得するものとする。
【００４７】
サーバ起動処理部４１ｂは、クラウドから送信されたＩＰアドレスとホスト名等を、構成情報ＤＢ４２ｃに登録し、サーバ構成情報を更新する（Ｓ８０５）。具体的には、サーバ構成情報の「ホスト名」「ＩＰアドレス」「プライベートＩＰアドレス」に、送信された情報を登録する。なお、「ＩＰアドレス」にはパブリックＩＰアドレスを登録するが、サーバ群１０ｂ（仮想的なプライベートクラウド）の場合にはパブリックＩＰアドレスは無いため、空欄又はプライベートＩＰアドレスを登録する。
また、サーバ起動処理部４１ｂは、クラウドから送信されたＩＰアドレスとホスト名とを相互に対応付けたＤＮＳレコード６１を、ＤＮＳサーバ６０に登録する（Ｓ８０６）。本実施の形態では、例えば、クラウド（サーバ群）の種類に応じて、次のＩＰアドレスをＤＮＳサーバ６０に登録する。すなわち、サーバ群１０ａ（一般的なパブリッククラウド）及びサーバ群１０ｄ（一般的なプライベートクラウド）の仮想サーバ１１である場合にはパブリックＩＰアドレスを、サーバ群１０ｂ（仮想的なプライベートクラウド）の仮想サーバ１１である場合にはプライベートＩＰアドレスを、サーバ群１０ｃ（ＶＰＮ使用のパブリッククラウド）の仮想サーバ１１である場合には、上述のＶＰＮ接続時に付与されたＶＰＮ通信用ＩＰアドレス（ＶＰＮ＿ＩＰ）を登録する。なお、ＶＰＮ接続の仕様等によっては、主制御サーバ４０ではなく仮想サーバ１１が、ＶＰＮ通信用ＩＰアドレスのＤＮＳサーバ６０への登録を行う。この場合、主制御サーバ４０はＤＮＳサーバ６０を検索して、ＶＰＮ通信用ＩＰアドレスを取得することが可能である。
【００４８】
その後、サーバ起動処理部４１ｂは、起動した仮想サーバ１１の設定を行うための定義ファイル（以下、サーバ設定用定義ファイル）５１を作成する（Ｓ８０７）。このサーバ設定用定義ファイル５１には、例えば、サービス制御システム３０の各サーバ（図１に示していない、例えばログサーバや監視サーバ等も含む）のＩＰアドレス（本実施の形態では固定ＩＰアドレス）、主制御サーバ４０から仮想サーバ１１にログインするための例えばＳＳＨ（Ｓｅｃｕｒｅ  ＳＨｅｌｌ）のＩＤ・パスワード、同様にユーザがＳＳＨ等により端末装置８０から仮想サーバ１１にログインするためのＩＤ・パスワード等を含めることができる。例えば、ＳＳＨのパスワードであれば、主制御サーバ４０の操作画面にてユーザが設定することや、ランダムでパスワードを生成しユーザに通知する等して、決定する。その他、図４や図５の管理ページにて入力された情報に基づいて修正して、サーバ設定用定義ファイル５１を作成することができる。そして、サーバ起動処理部４１ｂは、当該作成したサーバ設定用定義ファイル５１をサービス制御サーバ５０に送信して登録する（同じくＳ８０７）。
【００４９】
次いで、サーバ起動処理部４１ｂは、登録したサーバ設定用定義ファイル５１を仮想サーバ１１に適用させるための定義ファイル適用命令を、クラウドサーバに送信する（Ｓ８０８）。本実施の形態では、例えば、対応する仮想サーバ１１のサービス制御クライアント１２の起動命令を送信する。そして、起動されたサービス制御クライアント１２が、対応するサーバ設定用定義ファイル５１をサービス制御サーバ５０から公知の方法で取得し、当該取得したサーバ設定用定義ファイル５１に基づいて仮想サーバ１１の設定を行う（Ｓ８０９）。次いで、サーバ起動処理部４１ｂは、構成情報を参照して、当該仮想サーバ１１上にサービスが既に追加されているかを判断する（Ｓ８０８）。サービスが既に追加されているかの判断は、例えば、当該仮想サーバのサーバ名を有するサービス構成情報が構成情報ＤＢ４２ｃに存在するかにより判断する（存在する場合、そのサービスがあると判断できる）。そして、サービスがある場合（Ｓ８１０、Ｙｅｓ）には、サービス起動処理部４１ｆを起動して、後述のサービス起動処理を行わせる。これにて、サーバ起動処理が終了する。
【００５０】
（処理−サービス追加処理（サービス追加処理部４１ｅ）
次に、サービスの追加処理について説明する。
図５に示すように、サービス管理ページは、ユーザが利用しているサービスに関する情報を一覧的に表示したり、サービスの追加・起動・停止・削除等を行うためのページであり、サービス一覧１３０を表示する表示領域と、サービスを新規追加するためのサービス追加ボタン１３１を含んでいる。サービス一覧１３０は、項目「サービス名」「サーバ名」「ＩＰアドレス」「ステータス」及び「操作」を含んでいる。これら各項目に対応する情報は、上述した図４のサーバ管理ページの同一項目名に対応する情報と同じである。このようなサービス管理ページを見ることで、ユーザは、異なる仮想サーバ及び異なるクラウドで利用しているサービスを一元的に把握することが可能となる。
【００５１】
ここで、ユーザがサービス追加ボタン１３１を選択すると、サービス追加要求が主制御サーバ４０に送信され、主制御サーバ４０から端末装置８０にサービス追加ページを送信する。
このサービス追加ページは、図７に例示するように、サービス名設定領域１４０、サービス選択領域１４１、ディスクサイズ設定領域１４２、サーバ選択領域１４３、及びサービス追加ボタン１４４を含んで構成されている。サービス名設定領域１４０は、追加するサービスのサービス名を入力するための領域であり、ユーザが所望のサービス名を入力する。サービス選択領域１４１には、利用可能なサービスの名称がリスト形式で表示されており、ユーザが所望のサービスを選択する。ディスクサイズ設定領域１４２は、当該サービスに割り当てる専用データ領域１４のサイズを設定する領域であり、ユーザが所望のサイズを入力する。サーバ選択領域１４３は、当該サービスを起動する仮想サーバ１１を選択するための領域であり、図示左側の領域には既に追加されている仮想サーバ１１のサーバ名がリスト形式で表示されており、これら仮想サーバ１１の中から所望のサーバを選択して、図示右側の領域に移動させることで、ユーザが所望のサーバを複数選択することができる。すなわち、１つのサービスを複数の仮想サーバ１１（異なるクラウド上のものも含む）で利用することが可能である。
ユーザが情報の入力や選択を行った後、サービス追加ボタン１４４を選択すると、当該入力又は選択された情報を含んだサービス追加要求が主制御サーバ４０に送信される。
【００５２】
主制御サーバ４０のサービス追加処理部４１ｅは、当該サービス追加要求に対応するサービス構成情報を作成して、構成情報ＤＢ４２ｃに格納する。
具体的には、項目「サービス名」「ディスクサイズ」及び「所属サーバ名」に、図７のサービス追加ページでユーザが入力及び選択したサービス名、ディスクサイズ（仮想ディスクの容量）、及びサーバをそれぞれ格納する。なお、サービス追加ページでサーバが複数選択された場合には、選択されたサーバ毎にサービス構成情報を作成する。
また、「関連サービス項目」には、当該サービスの関連サービスのサービス名及び、設定すべき定義ファイル５１の項目名を登録する。この関連サービス項目は、例えばサービスの組み合わせ毎に影響する定義ファイル５１の項目をあらかじめデータベース等の手段で格納しておき、それを読み出して格納する。これにてサービス追加処理は終了する。
【００５３】
（処理−サービス起動処理（サービス起動処理部４１ｆ））
図９は、サービス起動処理のフローチャートである。なお、本実施の形態ではサービス起動処理と上述のサービス追加処理を分けて説明するが、サービス追加時に、追加したサービスが起動する（上述のサービス追加処理の後に、続けてサービス起動処理が実行される）ようにしてもよい。そうすることにより、ユーザは追加したサービスをすぐに利用開始できる。
【００５４】
サービス追加処理でサービスが追加されると、端末装置８０に表示される図５のサービス管理ページには、当該追加されたサービスも表示される。そして、ユーザが、起動したいサービスに対応する「起動」ボタンを選択すると、当該選択されたサービス名等を含んだサービス起動要求が主制御サーバ４０に送信される。
主制御サーバ４０のサービス起動処理部４１ｆは、起動要求されたサービスに対応するサービス構成情報を構成情報ＤＢ４２ｃから取得する（Ｓ９０１）。次に、当該サービスが、対象の仮想サーバ１１において以前に起動されたことがあるかを判断する（Ｓ９０２）。この判断は、対象の仮想サーバ１１に当該サービスに対応する仮想ディスク（専用データ領域１４）が既に作成されているかにより行う。具体的には、例えば、対応するサービス構成情報に、ディスクＩＤが格納されているかどうか（格納されていれば、そのサービスは以前に起動されたことがある）により判断する。
当該サービスが以前に起動していないと判断した場合には（Ｓ９０２、Ｎｏ）、当該サービスに対応する専用データ領域１４を作成するためのディスク作成命令を、クラウドサーバに送信する（Ｓ９０３）。その際、図７のサービス追加ページにおいて指定された仮想ディスクの容量等も含めて送信する。
クラウドサーバは、当該ディスク作成命令に基づいて、専用データ領域１４を作成する（Ｓ９０４）。本実施の形態では、この専用データ領域１４は、サービス単位で仮想サーバ１１毎に作成される。すなわち、同じサービスを２台の仮想サーバ１１で利用する場合には、２台の仮想サーバ１１の各々に専用データ領域１４が確保される。また、仮想サーバ１１に新たなサービスを追加した場合には、その新たなサービス用の専用データ領域１４が作成される。専用データ領域１４が作成されると、クラウドサーバから主制御サーバ４０に、当該専用データ領域１４のディスクＩＤ及びその専用データ領域１４が確保されたハードウェアのデバイス名が送信される（Ｓ９０５）。サービス起動処理部４１ｆは、当該ディスクＩＤ及びデバイス名を構成情報ＤＢ４２ｃのサービス構成情報に書き込み、構成情報を更新する（Ｓ９０６）。
一方、当該サービスが以前に起動されていると判断した場合（Ｓ９０２、Ｙｅｓ）、Ｓ９０３〜Ｓ９０６の処理は行わず、Ｓ９０７以降の処理へ進む。
次いで、サービス起動処理部４１ｆは、クラウドサーバに、当該作成した専用データ領域１４をアタッチさせるためのディスクアタッチ命令を送信する（Ｓ９０７）。ここで、サービス構成情報に専用データ領域１４のディスクＩＤ及びデバイス名が格納されているので、アタッチ命令において、専用データ領域１４を特定するための情報をクラウドサーバに送信することができる。クラウドサーバは、仮想サーバ１１に専用データ領域１４をアタッチ（接続）する（Ｓ９０８）。
ここで、専用データ領域１４をアタッチしただけでは、仮想サーバ１１から専用データ領域１４を利用することはできない。そのため、次に、サービス起動処理部４１ｆはクラウドサーバにディスク設定命令を送信する（Ｓ９０９）。クラウドサーバは、仮想ディスクのパーティション作成処理、パーティションのフォーマット処理、マウント処理（ＯＳとしてアクセスできるようにする処理）等を行うことで、仮想サーバ１１上で専用データ領域１４を利用可能に設定する（Ｓ９１０）。
なお、本実施の形態では、上記Ｓ９０９〜Ｓ９１０の処理を、サービス制御サーバ５０とサービス制御クライアント１２の処理により行うこととする。すなわち、サービス起動処理部４１ｆは、サービス設定用定義ファイル５１に専用データ領域１４の設定に必要な情報を記述してサービス制御サーバ５０に格納し、対象の仮想サーバ１１のサービス制御クライアント１２を起動させる（Ｓ９０９に対応）。サービス制御クライアント１２は、当該定義ファイル５１を適用して専用データ領域１４の設定を行う（Ｓ９１０に対応）。この場合、これらの処理は、後述する定義ファイル５１の生成（Ｓ９１１）、定義ファイル適用命令（Ｓ９１２）及び定義ファイル５１の適用（Ｓ９１３）にそれぞれ含めて行うとよい。
なお、当該サービスが既に起動したことがある場合（Ｓ９０２、Ｙｅｓ）には、上述の仮想ディスクのパーティション作成処理、パーティションのフォーマット処理は、当該サービスの最初の起動時（専用データ領域１４の新規作成時）に完了しているので、これらの各処理を行う必要はなく、マウント処理のみを行う。
【００５５】
次いで、サービス起動処理部４１ａは、起動要求されたサービスの設定用定義ファイル（以下、サービス設定用定義ファイル）５１、及び関連サービスのサービス設定用定義ファイル５１を作成する（Ｓ９１１）。サービス設定用定義ファイル５１は、サービスの設定等を行うためのものであり、各仮想サーバ１１においてサービス毎に作成される。サービス設定用定義ファイル５１に含まれる情報には、サービスに共通して含まれる情報（サービス共通定義）と、サービス毎に異なる情報（サービス固有定義）がある。
【００５６】
サービス共通定義には、例えば、サービスのステータス（起動又は停止）を示す情報がある。
一方、サービス固有定義の内容はサービスにより様々であるが、以下に一例を示す。
（例１）ロードバランサー
振り分け先ＩＰアドレス及びポート番号（ＨＴＴＰサービスが動作している仮想サーバのＩＰアドレスを動的に設定する）
（例２）ＨＴＴＰサービス
ＡＰサービスのプロキシＵＲＬ、ＩＰアドレス及びポート番号（ＡＰサービスに転送するＵＲＬと転送先のＩＰアドレス及びポートを動的に設定する）
（例３）ＡＰサービス
ＤＢサービスＩＰアドレス（ＤＢサービスに接続するためのホスト名とＩＰアドレスの対応を、ＤＢサービスのＩＰアドレスに応じて動的に設定する）
（例４）ＤＢサービス
データベースのタイプ（ＭａｓｔｅｒとＳｌａｖｅ（Ｍａｓｔｅｒのコピー）をサービス起動処理部４１ｆで判断し設定する）
データベースＩＤ（各ＤＢごとに一意である必要があるため動的に生成する）、管理者用ユーザＩＤ及びパスワード（全ての権限を持つユーザを自動設定する）
ログ用ユーザＩＤ及びパスワード（ログのオペレーションのために必要な権限を持つユーザを自動設定する）
さらに、ＤＢがＭａｓｔｅｒＤＢである場合には、一般ユーザ用ユーザＩＤ及びパスワード、ＳｌａｖｅＤＢ用設定、及び、動的に設定した、ＳｌａｖｅＤＢのＩＰアドレス、レプリケーション用ユーザＩＤ及びパスワード、及びデータ取得用ユーザＩＤ及びパスワードを含める。
あるいは、ＤＢがＳｌａｖｅＤＢである場合には、動的に設定した、レプリケーション用ユーザＩＤ及びパスワード、データ取得用ユーザＩＤ及びパスワード、及びＭａｓｔｅｒＤＢのＩＰアドレス及びポート番号を含める。
サービス起動処理部４１ａは、起動要求されたサービスについて、サービス共通定義としてサービスのステータス（起動又は停止）には「起動」を記述し、また、当該サービスに対応するサービス固有定義を記述してサービス設定用定義ファイル５１を作成する。
また、サービス起動処理部４１ａは、起動要求されたサービスの関連サービスのサービス設定用定義ファイル５１を作成する。具体的には、サービス構成情報の関連サービス項目を参照して、該当するサービスの定義ファイル項目に情報を記述して、サービス設定用定義ファイル５１を更新する。
【００５７】
ここで、サービス起動処理部４１ｆは、サービス設定用定義ファイル５１に、そのサービスから見て送信先となる仮想サーバ１１のＩＰアドレス（例えば上記の（例１）〜（例４）に含んでいるＩＰアドレス）を、ＩＰ選択テーブル４２ｂを参照して取得する。すなわち、サービス起動処理部４１ｆは、送信元となる仮想サーバ１１と送信先となる仮想サーバ１１の組み合わせに応じたＩＰアドレスの種別をＩＰ選択テーブル４２ｂから取得し、当該取得したＩＰアドレスの種別に応じたＩＰアドレスをＤＮＳサーバ６０あるいはクラウドサーバから取得して、サービス設定用定義ファイル５１に含める（同じくＳ９１１）。
なお、上述のサーバ起動処理で説明したように、ＤＮＳサーバ６０には、サーバ群１０ａ（一般的なパブリッククラウド）又はサーバ群１０ｄ（一般的なプライベートクラウド）の仮想サーバ１１である場合にはＰｕｂｌｉｃ＿ＩＰ、サーバ群１０ｂ（仮想的なプライベートクラウド）の仮想サーバ１１である場合にはＰｒｉｖａｔｅ＿ＩＰ、サーバ群１０ｃ（ＶＰＮ接続を行うパブリッククラウド）の仮想サーバ１１である場合には、ＶＰＮ＿ＩＰが登録されている。ここで、各サーバ群のＰｕｂｌｉｃ＿ＩＰ及びＰｒｉｖａｔｅ＿ＩＰは、通常、クラウドに用意されたＡＰＩの機能等により取得することが可能であるため、これらのＩＰアドレスについてはＤＮＳサーバ６０から取得しても、各クラウドサーバから取得してもよい。ただし、ＶＰＮ＿ＩＰは、クラウドのＡＰＩ等では取得できないため、ＤＮＳサーバ６０から取得する。
【００５８】
そして、サービス起動処理部４１ｆは、作成したサービス設定用定義ファイル５１をサービス制御サーバ５０に送信して登録する（同じくＳ９１１）。
【００５９】
次いで、サービス起動処理部４１ｂは、登録した定義ファイル５１を仮想サーバ１１に適用させるための定義ファイル適用命令を、クラウドサーバに送信する（Ｓ９１２）。クラウドサーバ（実際には、対応する仮想サーバ１１のサービス制御クライアント１２）は、上記サーバ起動処理と同様の方法（図８のＳ８０７）で定義ファイル５１を取得し、当該定義ファイル５１に基づいてサービスの設定及び起動を行う（Ｓ９１３）。これにより、起動要求されたサービスの起動・設定、及び関連するサービスの設定（起動や停止等も含む）を自動的に行うことができる。これにてサービスの起動処理が終了する。
なお、上述のサービス起動時だけでなく、例えば、ユーザがサービス管理ページ等でサービスの設定内容を変更した場合にも、上述のサービス起動処理と同様に、該当のサービス及び関連サービスの定義ファイル５１の作成及び適用を自動的に行うようにしてもよい。
さらに、他のクラウドや他の仮想サーバ１１上にある同一のサービスに対して、定義ファイル５１の作成及び適用を行うようにしてもよい。その際、サービス定義情報には所属サーバ名を有しているので、当該サービスが追加されている仮想サーバ１１を全て特定することができる。
【００６０】
（処理−サービス停止処理（サービス停止処理部４１ｇ））
次に、サービス停止処理について説明する。図１０は、サービスの停止処理のフローチャートである。
【００６１】
図５のサービス管理ページにて、ユーザが、停止を行いたいサービスに対応する「停止」ボタンを選択すると、当該選択されたサービスに対応するサーバ名・サービス名等を含んだサービス停止要求が主制御サーバ４０に送信される。
【００６２】
主制御サーバ４０のサービス停止処理部４１ｇは、当該停止要求されたサービス名に対応するサービス構成情報を取得する（Ｓ１００１）。当該サービスのサービス設定用定義ファイル５１、及び、当該サービスの関連サービスのサービス設定用定義ファイル５１を作成する（Ｓ１００２）。ここで、サービス設定用定義ファイル５１は、上述のサービス起動処理（図９のＳ９１１）と同様に作成されるが、停止させるサービスについては、サービス共通定義としてサービスのステータス（起動又は停止）には「停止」を記述する。そして、サービス停止処理部４１ｃは、このように作成したサービス設定用マニフェストをアプリ制御サーバ５０に送信して登録する（同じくＳ１００２）。
【００６３】
次いで、サービス停止処理部４１ｇは、定義ファイル５１を仮想サーバ１１に適用させるための定義ファイル適用命令を、クラウドサーバに送信する（Ｓ１００３）。クラウドサーバは、上記サーバ起動処理と同様の方法（図８のＳ８０７）で定義ファイル５１を取得し、当該定義ファイル５１に基づいてサービスの停止及び、関連サービスの設定等を行う（Ｓ１００４）。
その後、サービス停止処理部４１ｇは、クラウドサーバに対し、当該サービスの専用データ領域１４の停止命令を送信する（Ｓ１００５）。クラウドサーバは、専用データ領域１４のアンマウントを行う（Ｓ１００６）。なお、本実施の形態では、上述のサービス起動処理（図９）における専用データ領域１４のマウント等と同様に、上記Ｓ１００５〜Ｓ１００６処理はサービス制御サーバ５０とサービス制御クライアント１２の処理により行うものとする。すなわち、停止命令（Ｓ１００５）は定義ファイル５１への生成及びサービス制御サーバ５０への格納により行われ、サービス制御クライアント１２により専用データ領域１４のアンマウント（Ｓ１００６）が行われる。
次いで、サービス停止処理部４１ｇは、クラウドサーバに対し、専用データ領域１４のデタッチ命令を送信する（Ｓ１００７）。クラウドサーバは、当該仮想ディスクをデタッチ（接続を解除）する（Ｓ１００８）。次いで、サービス停止処理部４１ｇは、停止したサービスのサービス設定用定義ファイル５１を、サービス制御サーバ５０から削除する（Ｓ１００９）。これにてサービスの停止処理が終了する。
【００６４】
（処理−サービス削除処理（サービス削除処理部４１ｈ））
次に、サービスの削除処理について説明する。図５のサービス管理ページにて、ユーザが、削除を行いたいサービスに対応する「削除」ボタンを選択すると、当該選択されたサービス名等を含んだサービス削除要求が主制御サーバ４０に送信される。
主制御サーバ４０のサービス削除処理部４１ｈは、当該削除要求されたサービス名に対応するディスクＩＤ及びデバイス名を含むディスク削除命令を、クラウドサーバに送信する。クラウドサーバは、当該仮想ディスクＩＤに対応する専用データ領域１４をデバイスから削除する。
次いで、サービス削除処理部４１ｈは、当該削除したサービスに対応するサービス構成情報を、構成情報ＤＢ４２ｃから削除する。これにてサービスの削除処理が終了する。
【００６５】
（処理−サーバ停止処理（サーバ停止処理部４１ｃ））
次に、仮想サーバ１１の停止処理について説明する。図１１は、サーバ停止処理のフローチャートである。図４のサーバ管理ページにて、ユーザが利用を停止したい仮想サーバに対応する停止ボタンを選択すると、端末装置８０から主制御サーバ４０にサーバ停止要求が送信される。
【００６６】
主制御サーバ４０のサーバ停止処理部４１ｃは、このサーバ停止要求に対応するサーバの構成情報を構成情報ＤＢ４２ｃから取得する（Ｓ１１０１）。そして、当該サーバに追加されているサービスがあるか（構成情報において、当該サーバ名を含むサービス構成情報があるか）を判断する（Ｓ１１０２）。サービスがある場合（Ｓ１１０２、Ｙｅｓ）には、各々のサービスに対し上述のサービス停止処理を行う。
【００６７】
次いで、サーバ停止処理部４１ｃは、クラウドサーバに対しサーバ停止命令を送信し（Ｓ１１０３）、クラウドサーバは対応する仮想サーバ１１を停止（終了）する（なお、これにより仮想サーバ１１は消滅する）（Ｓ１１０４）。次いで、サーバ停止処理部４１ｃは、停止した仮想サーバ１１のサーバ設定用定義ファイル５１を、サービス制御サーバ５０から削除する（Ｓ１１０５）。最後に、サーバ停止処理部４１ｃは、対応するＤＮＳレコード６１をＤＮＳサーバ６０から削除する（Ｓ１１０６）。これにてサーバの停止処理が終了する。
なお、本実施の形態において、実際にはサーバ停止命令（Ｓ１１０３）の前に定義ファイル５１によるサーバ停止の前処理（上述のサーバ起動時の図８のＳ８０７〜８０９に対応する処理）を行っているが、ここでは説明を省略する。
【００６８】
（処理−サーバ削除処理（サーバ削除処理部４１ｄ））
最後に、仮想サーバ１１の削除処理について説明する。
図４のサーバ管理ページにて、ユーザが削除したい仮想サーバに対応する削除ボタンを選択すると、端末装置８０から主制御サーバ４０にサーバ削除要求が送信される。
【００６９】
主制御サーバ４０のサーバ削除処理部４１ｄは、構成情報ＤＢ４２ｃを参照して、削除が要求されたサーバ名に対応するサービスがある場合には、まず、上述のサービス削除処理を行う。次いで、当該サーバ名に対応する仮想サーバ１１の構成情報を構成情報ＤＢ４２ｆから削除する。これにてサーバの削除処理が終了する。
【００７０】
〔変形例〕
以上、本発明に係る実施の形態について説明したが、本発明の具体的な構成及び手段は、特許請求の範囲に記載した各発明の技術的思想の範囲内において、任意に改変及び改良することができる。
【００７１】
（分散や統合について）
上述で図１を用いて説明した各電気的構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成できる。
具体的には、上述の実施の形態では、サービス制御システム３０を社内ネットワーク２０内に構成する場合について説明したが、サービス制御システム３０のＶＰＮサーバ７０以外の各サーバについては、社内ネットワーク２０外に構成してもよい（なお、ＶＰＮサーバ７０は端末装置８０と同じ場所に設置する必要がある）。すなわち、サービス制御システム３０を、例えば当該システムを提供する事業者のサーバ等に構成してもよい。ただしこの場合、端末装置８０とサービス制御システム３０との通信は、ＶＰＮや専用線等の設置により、安全に行うように構成することが望ましい。
【００７２】
（仮想ディスクについて）
上述の実施の形態では、専用データ領域１４（仮想ディスク）を最初のサービス起動時にデバイス（ハードウェア）上に作成する場合について説明したが、これを、最初のサービス停止時に仮想サーバ１１のデータ領域の内容をハードウェアに保存するようにしてもよい。すなわち、最初のサービス停止処理において、当該データ領域の内容を例えば主制御サーバ４０等のハードウェアに保存するとともに、当該データのＩＤ（ディスクＩＤに該当）とデバイス名をサービス定義情報に格納する。そして、当該データ領域を再度仮想サーバにアタッチする際には、サービス構成情報を参照してアタッチを行う。また、定期的にデータ領域の内容を自動バックアップするようにし、アタッチの際には当該自動バックアップしたデータの中で最新のデータを使用するようにしてもよい。
【００７３】
（仮想サーバ間の定義ファイルの送受信について）
また、上述の実施の形態では、定義ファイル５１に送信先となる他の仮想サーバ１１のＩＰアドレスを含める場合にＩＰ選択テーブル４２ｂ及びＤＮＳサーバ６０を参照して当該ＩＰアドレスを取得する点について説明したが、同様に送信先の仮想サーバ１１のＩＰアドレスを取得することで、定義ファイル５１自体を他の仮想サーバに送信させることも可能である。すなわち、例えば、負荷分散等の観点から複数の仮想サーバ１１上で同じサービスを利用している場合において、ある仮想サーバ１１で起動するサービスが定義ファイル５１を適用する際に、同一のサービスがある他の仮想サーバ１１にも当該定義ファイル５１を送信することにより、全ての同一サービスについて同じ定義ファイル５１を適用することが可能となる。
【符号の説明】
【００７４】
１  ネットワークシステム
１０ａ〜１０ｄ  サーバ群
１１  仮想サーバ
２０  社内ネットワーク
３０  サービス制御システム
４０  主制御サーバ
５０  サービス制御サーバ
６０  ＤＮＳサーバ
７０  ＶＰＮサーバ
８０  端末装置
１００  通信ネットワーク
【要約】
【課題】クラウド・コンピューティングにおける仮想サーバの起動時の設定等に関するユーザの負担を軽減することができる、サーバ復旧システムを提供すること。
【解決手段】サーバ復旧システム３０であって、仮想サーバ１１の起動制御を行うサーバ起動処理部４１ｂと、サーバ構成情報とサービス構成情報とを格納する構成情報ＤＢ４２ｃを備え、サーバ起動処理部４１ｂは、仮想サーバ１１の起動制御を行う際に、サーバ構成情報を構成情報ＤＢ４２ｃを介して参照することにより、当該仮想サーバ１１の起動制御を行い、かつ、仮想サーバ１１で動作するサービスを特定すると共に当該特定したサービスの起動制御に必要な情報を取得し、当該取得した情報に基づいて、当該特定したサービスの起動制御を行う。
【選択図】図１【図１】
0004743726.tif 000002
【図２】
0004743726.tif 000003
【図３】
0004743726.tif 000004
【図４】
0004743726.tif 000005
【図５】
0004743726.tif 000006
【図６】
0004743726.tif 000007
【図７】
0004743726.tif 000008
【図８】
0004743726.tif 000009
【図９】
0004743726.tif 000010
【図１０】
0004743726.tif 000011
【図１１】
0004743726.tif 000012