(57)【要約】【課題】仮想サーバ環境において、増減された仮想サーバの機能を把握し、予め定められたホスト名のリストに従ってホスト名を管理すること。【解決手段】新たに設定した識別情報及びＩＰアドレスをモニターサーバ２００に送信する仮想管理サーバ４と、受信した識別情報及び起動した仮想サーバ６に担わせる機能の情報をデータベースサーバ５に記憶させるモニターサーバ２００と、記憶している仮想サーバ６の機能の情報を出力するデータベースサーバ５と、識別情報及びＩＰアドレス並びに仮想サーバの機能の情報を取得し、取得したＩＰアドレスを仮想サーバ６の機能別に予め定められたホスト名に関連付けるロードバランササーバ６とを含む。【選択図】図１６
2011061608.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク上に接続された情報処理装置によって構成される仮想サーバの状態を、前記仮想サーバを識別する識別情報と前記仮想サーバのネットワークアドレスを関連付けて記憶することにより管理する仮想サーバ管理部と、
前記仮想サーバ管理部に対して前記ネットワーク上において起動している仮想サーバの負荷状態に応じて仮想サーバの起動を要求する仮想サーバ起動要求部と、
前記仮想サーバの機能の情報を、前記識別情報と関連付けて記憶している仮想サーバ機能管理部と、
前記仮想サーバの機能別に予め定められたホスト名のリストに従って前記仮想サーバのネットワークアドレスと前記ホスト名との対応関係を管理する通信制御部とを含む仮想サーバ管理システムであって、
前記仮想サーバ管理部が、前記仮想サーバ起動要求部からの要求に応じて前記識別情報及び前記仮想サーバのネットワークアドレスを新たに設定して仮想サーバを新たに起動し且つ前記設定した識別情報及び前記ネットワークアドレスを前記仮想サーバ起動要求部に送信すると共に、前記通信制御部からの要求に応じて記憶している識別情報及びネットワークアドレスを送信し、
前記仮想サーバ起動要求部が、前記仮想サーバの起動によって受信した前記識別情報及び前記仮想サーバに担わせる機能の情報を前記仮想サーバ機能管理部に記憶させ、
前記仮想サーバ機能管理部が、前記通信制御部からの要求に応じて、起動されている前記仮想サーバの機能の情報を前記通信制御部に送信し、
前記通信制御部が、前記仮想サーバ管理部から前記記憶されている識別情報及びネットワークアドレスを取得し、前記仮想サーバ機能管理部から前記仮想サーバの機能の情報を取得し、前記取得したネットワークアドレスを前記取得した仮想サーバの機能の情報に従って前記仮想サーバの機能別に予め定められたホスト名に関連付けて記憶することを特徴とする仮想サーバ管理システム。
【請求項２】
前記仮想サーバ起動要求部が、前記仮想サーバの起動によって受信した前記識別情報及び前記機能の情報を前記仮想サーバ機能管理部に記憶させると共に、前記通信制御部に前記仮想サーバのネットワークアドレスとホスト名との対応関係の更新要求を送信し、
前記通信制御部が、前記更新要求に応じて、前記仮想サーバ管理部から前記記憶されている識別情報及びネットワークアドレスを取得し、前記仮想サーバ機能管理部から前記仮想サーバの機能の情報を取得することを特徴とする、請求項１に記載の仮想サーバ管理システム。
【請求項３】
前記通信制御部は、定期的に前記仮想サーバ管理部から前記記憶されている識別情報及びネットワークアドレスを取得し、前記仮想サーバ機能管理部から前記仮想サーバの機能の情報を取得することを特徴とする、請求項１または２に記載の仮想サーバ管理システム。
【請求項４】
前記通信制御部は、前記仮想サーバにおいて前記ネットワーク上における通信を制御していることを特徴とする請求項１乃至３いずれかに記載の仮想サーバ管理システム。
【請求項５】
前記通信制御部は、少なくとも１つの前記仮想サーバにおいて構成され、他の仮想サーバは、前記通信制御部を含む仮想サーバにアクセスすることによって前記ホスト名に基づいて前記ネットワークアドレスを取得することを特徴とする請求項１乃至３いずれかに記載の仮想サーバ管理システム。
【請求項６】
前記通信制御部は、前記ホスト名のリストに含まれる全てのホスト名に対して前記ネットワーク上において起動している仮想サーバのネットワークアドレスのいずれかを関連付けて管理することを特徴とする請求項１乃至５いずれかに記載の仮想サーバ管理システム。
【請求項７】
前記仮想サーバによって実現される機能によって処理可能な情報処理の実行命令を取得し、取得した実行命令を複数の仮想サーバのいずれかに割り振る実行命令割り振り部を更に含み、
前記実行命令割り振り部は、前記予め定められたホスト名に従って前記実行命令を割り振ることを特徴とする請求項１乃至６に記載の仮想サーバ管理システム。
【請求項８】
前記予め定められたホスト名のリストは、前記仮想サーバの機能を示す情報と連続する数値とからなる文字列のリストであることを特徴とする請求項７に記載の仮想サーバ管理システム。
【請求項９】
前記通信制御部は、前記ネットワーク上において起動している仮想サーバのネットワークアドレスを、前記ホスト名に対して前記連続する数値の順に関連付けることにより前記ホスト名と前記ネットワークアドレスとを関連付けて管理することを特徴とする請求項８に記載の仮想サーバ管理システム。
【請求項１０】
請求項７乃至９何れかに記載の仮想サーバ管理システムによって構成される画像処理システムであって、
前記実行命令割り振り部によって割り振られた前記実行命令の情報を記憶する実行命令記憶部と、
前記記憶された実行命令の情報を取得して前記実行命令に係る情報処理としての画像処理を実行する画像処理部とを含むことを特徴とする画像処理システム。
【請求項１１】
前記仮想サーバ起動要求部は、前記実行命令記憶部に記憶された前記実行命令の蓄積状態に応じて前記仮想サーバの起動を要求することを特徴とする請求項１０に記載の画像処理システム。
【請求項１２】
前記仮想サーバ起動要求部は、前記画像処理システムを構成している前記仮想サーバを制御する演算装置の負荷状態に応じて前記仮想サーバの起動を要求することを特徴とする請求項１０または請求項１１に記載の画像処理システム。
【請求項１３】
ネットワーク上に接続された情報処理装置によって構成される仮想サーバを制御する仮想サーバ制御装置であって、
前記仮想サーバの機能別に予め定められたホスト名のリストに従って前記仮想サーバのネットワークアドレスと前記ホスト名との対応関係を管理し、前記ネットワーク上の通信を制御する通史制御部と、
前記仮想サーバを識別する識別情報と前記仮想サーバのネットワークアドレスを関連付けて記憶している仮想サーバ管理部から前記記憶されている識別情報及びネットワークアドレスを取得すると共に、前記仮想サーバの機能の情報を前記識別情報と関連付けて記憶している仮想サーバ機能管理部から前記仮想サーバの機能の情報を取得する情報取得部と、
前記取得したネットワークアドレスを前記取得した仮想サーバの機能の情報に従って前記仮想サーバの機能別に予め定められたホスト名に関連付けて記憶することにより前記仮想サーバのネットワークアドレスと前記ホスト名との対応関係を更新する情報更新部とを含むことを特徴とする仮想サーバ制御装置。
【請求項１４】
前記情報取得部は、前記ネットワーク上において起動している仮想サーバの負荷状態に応じて前記仮想サーバの追加起動を要求する仮想サーバ起動要求部からの通知に応じて、前記記憶されている識別情報及びネットワークアドレス並びに前記仮想サーバの機能の情報を取得することを特徴とする請求項１３に記載の仮想サーバ制御装置。
【請求項１５】
情報処理装置を、ネットワーク上に接続された情報処理装置によって構成される仮想サーバを制御する仮想サーバ制御装置として機能させる制御プログラムであって、
前記仮想サーバの機能別に予め定められたホスト名のリストに従って前記仮想サーバのネットワークアドレスと前記ホスト名との対応関係を管理し、前記ネットワーク上の通信を制御するステップと、
前記仮想サーバを識別する識別情報と前記仮想サーバのネットワークアドレスを関連付けて記憶している仮想サーバ管理部から前記記憶されている識別情報及びネットワークアドレスを取得すると共に、前記仮想サーバの機能の情報を前記識別情報と関連付けて記憶している仮想サーバ機能管理部から前記仮想サーバの機能の情報を取得するステップと、
前記取得したネットワークアドレスを前記取得した仮想サーバの機能の情報に従って前記仮想サーバの機能別に予め定められたホスト名に関連付けて記憶することにより、前記仮想サーバのネットワークアドレスと前記ホスト名との対応関係を更新するステップとを前記情報処理装置に実行させることを特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想サーバ管理システム、画像処理システム、仮想サーバ管理装置及び制御プログラムに関し、特に、仮想サーバの起動及び終了の自動化に関する。
【背景技術】
【０００２】
複数のコンピュータ間のＴＣＰ／ＩＰネットワーク環境における通信は、ＩＰアドレスによって各コンピュータが識別され、通信が行われる。このＩＰアドレスは静的に割り当てられる場合や、ＤＨＣＰ（Ｄｙｎａｍｉｃ  Ｈｏｓｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）のように動的に割り当てられる場合がある。このＩＰアドレスは、数字の羅列によって示される情報であるところ、ユーザによる識別性やプログラムによる処理の利便性を向上するため、ホスト名によって置き換えられて用いられることが行われている。
【０００３】
ホスト名とはＩＰアドレスとの対応付けがなされた情報であり、ホスト名によって通信先が指定された場合、通信端末であるコンピュータは、内部に保有するホスト名のリストや、ＤＮＳ（Ｄｏｍａｉｎ  Ｎａｍｅ  Ｓｙｓｔｅｍ）サービスによって、ホスト名からＩＰアドレスを取得する。このようにホスト名を用いることにより、通信端末の識別を人間にとって容易にすると同時に、コンピュータの変更によりＩＰアドレスが変更された場合に、多数のコンピュータで指定先を変更することなく、ＤＮＳサービスだけを変更することで対応することができる。
【０００４】
また、上記ＤＮＳサービスにおいて、ホスト名とＩＰアドレスとの対応関係を動的に更新するＤＤＮＳ（Ｄｙｎａｍｉｃ  ＤＮＳ）環境においては、１つのホスト名に複数のＩＰアドレスを割り当てることで、通信のたびに通信先のコンピュータを変更するが可能である。この技術によって、一台のコンピュータとの通信が途絶えても他のコンピュータとの通信が可能になり、耐故障性が高まるなどの利点がある。
【０００５】
このようなＤＤＮＳ環境において、ホスト名が変更された場合や、他の機器と重複した場合であっても、適切な名前解決をＤＮＳサーバに実行させることができる方法が提案されている（例えば、特許文献１参照）。特許文献１に開示された技術においては、変更によって付与されたホスト名とは異なる別名であって、機器毎に一意に定まるエイリアス名をＤＮＳサーバに登録することにより、ＤＤＮＳ環境におけるホスト名の課題を解決している。
【０００６】
また、近年、複数のサーバ等の情報処理装置が互いに情報をやり取りしながら連動して処理を実行することが可能な情報処理環境において、上述したＩＰアドレスやホスト名が個別に設定された仮想的なサーバを構築する技術が知られている。このような仮想化技術においては、新規にＩＰアドレス及びホスト名を設定するだけで、物理的なサーバと同様に振る舞う仮想サーバをネットワーク上に構築することが可能である。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
このような仮想化技術を用いてネットワークを介したサービスを提供する場合、システムの負荷状況に応じて起動させる仮想サーバの数を増減させることが行われる。従って、仮想サーバが互いに通信する場合、通信相手のホスト名が頻繁に変わるため、ホスト名解決のための仕組みが重要になる。上述したような仮想化環境を独自に開発してサービスを提供する場合、ホスト名を付与するルールをも独自に構築することができるため、ホスト名の管理も容易である。
【０００８】
他方、他社によって提供されている仮想化環境のサービス（以降、仮想環境サービスとする）を利用して、自社のサービスを提供する場合、ホスト名の付与は、提供される仮想環境サービスのルールに則るため、そのルールに則ってホスト名解決の仕組みを構築する必要がある。ここで、他社による仮想環境サービスを利用する場合、新たに起動した仮想サーバが、既に起動している仮想サーバと同一のサブネット内に配置されるとは限らないため、ホスト名を確認するためにブロードキャストを行うことができない。
【０００９】
更に、他社による仮想環境サービスを利用する場合、同様に仮想環境サービスを利用している他人若しくは他社の仮想サーバが同一のサブネット内に配置されている可能性もあり、この点からもブロードキャストを行うことは好ましくない。このような課題は、予めホスト名のリストを設けておき、そのリストに従って処理が行われるような場合に特に問題となる。
【００１０】
更に、ネットワークを介したサービスにおいては、様々な機能を有する複数のサーバが互いに連動して動作するため、仮想サーバの増減においては、新たに起動したサーバや、終了したサーバが、どの機能を担っていたのかを把握する必要がある。しかしながら、特許文献１等の従来技術においては、そこまでの仕組みは考慮されていない。
【００１１】
本発明は、このような課題を解決するためになされたものであり、仮想サーバ環境において、仮想サーバが増減された場合に増減された仮想サーバの機能を把握し、予め定められたホスト名のリストに従ってホスト名を付与して通信を行うことを目的とする。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、本発明の一態様は、ネットワーク上に接続された情報処理装置によって構成される仮想サーバの状態を、前記仮想サーバを識別する識別情報と前記仮想サーバのネットワークアドレスを関連付けて記憶することにより管理する仮想サーバ管理部と、前記仮想サーバ管理部に対して前記ネットワーク上において起動している仮想サーバの負荷状態に応じて仮想サーバの起動を要求する仮想サーバ起動要求部と、前記仮想サーバの機能の情報を、前記識別情報と関連付けて記憶している仮想サーバ機能管理部と、前記仮想サーバの機能別に予め定められたホスト名のリストに従って前記仮想サーバのネットワークアドレスと前記ホスト名との対応関係を管理する通信制御部とを含む仮想サーバ管理システムであって、前記仮想サーバ管理部が、前記仮想サーバ起動要求部からの要求に応じて前記識別情報及び前記仮想サーバのネットワークアドレスを新たに設定して仮想サーバを新たに起動し且つ前記設定した識別情報及び前記ネットワークアドレスを前記仮想サーバ起動要求部に送信すると共に、前記通信制御部からの要求に応じて記憶している識別情報及びネットワークアドレスを送信し、前記仮想サーバ起動要求部が、前記仮想サーバの起動によって受信した前記識別情報及び前記仮想サーバに担わせる機能の情報を前記仮想サーバ機能管理部に記憶させ、前記仮想サーバ機能管理部が、前記通信制御部からの要求に応じて、起動されている前記仮想サーバの機能の情報を前記通信制御部に送信し、前記通信制御部が、前記仮想サーバ管理部から前記記憶されている識別情報及びネットワークアドレスを取得し、前記仮想サーバ機能管理部から前記仮想サーバの機能の情報を取得し、前記取得したネットワークアドレスを前記取得した仮想サーバの機能の情報に従って前記仮想サーバの機能別に予め定められたホスト名に関連付けて記憶することを特徴とする。
【００１３】
ここで、前記仮想サーバ起動要求部が、前記仮想サーバの起動によって受信した前記識別情報及び前記機能の情報を前記仮想サーバ機能管理部に記憶させると共に、前記通信制御部に前記仮想サーバのネットワークアドレスとホスト名との対応関係の更新要求を送信し、前記通信制御部が、前記更新要求に応じて、前記仮想サーバ管理部から前記記憶されている識別情報及びネットワークアドレスを取得し、前記仮想サーバ機能管理部から前記仮想サーバの機能の情報を取得することが好ましい。
【００１４】
また、前記通信制御部は、定期的に前記仮想サーバ管理部から前記記憶されている識別情報及びネットワークアドレスを取得し、前記仮想サーバ機能管理部から前記仮想サーバの機能の情報を取得することもできる。
【００１５】
また、前記通信制御部は、前記仮想サーバにおいて前記ネットワーク上における通信を制御していることが好ましい。
【００１６】
また、前記通信制御部は、少なくとも１つの前記仮想サーバにおいて構成され、他の仮想サーバは、前記通信制御部を含む仮想サーバにアクセスすることによって前記ホスト名に基づいて前記ネットワークアドレスを取得することもできる。
【００１７】
また、前記通信制御部は、前記ホスト名のリストに含まれる全てのホスト名に対して前記ネットワーク上において起動している仮想サーバのネットワークアドレスのいずれかを関連付けて管理することが好ましい。
【００１８】
また、前記仮想サーバによって実現される機能によって処理可能な情報処理の実行命令を取得し、取得した実行命令を複数の仮想サーバのいずれかに割り振る実行命令割り振り部を更に含み、前記実行命令割り振り部は、前記予め定められたホスト名に従って前記実行命令を割り振ることが好ましい。
【００１９】
また、前記予め定められたホスト名のリストは、前記仮想サーバの機能を示す情報と連続する数値とからなる文字列のリストであることが好ましい。
【００２０】
また、前記通信制御部は、前記ネットワーク上において起動している仮想サーバのネットワークアドレスを、前記ホスト名に対して前記連続する数値の順に関連付けることにより前記ホスト名と前記ネットワークアドレスとを関連付けて管理することが好ましい。
【００２１】
また、本発明の他の態様は、上述したいずれかの仮想サーバ管理システムによって構成される画像処理システムであって、前記実行命令割り振り部によって割り振られた前記実行命令の情報を記憶する実行命令記憶部と、前記記憶された実行命令の情報を取得して前記実行命令に係る情報処理としての画像処理を実行する画像処理部とを含むことを特徴とする。
【００２２】
また、前記仮想サーバ起動要求部は、前記実行命令記憶部に記憶された前記実行命令の蓄積状態に応じて前記仮想サーバの起動を要求することが好ましい。
【００２３】
また、前記仮想サーバ起動要求部は、前記画像処理システムを構成している前記仮想サーバを制御する演算装置の負荷状態に応じて前記仮想サーバの起動を要求することが好ましい。
【００２４】
また、本発明の更に他の態様は、ネットワーク上に接続された情報処理装置によって構成される仮想サーバを制御する仮想サーバ制御装置であって、前記仮想サーバの機能別に予め定められたホスト名のリストに従って前記仮想サーバのネットワークアドレスと前記ホスト名との対応関係を管理し、前記ネットワーク上の通信を制御する通史制御部と、前記仮想サーバを識別する識別情報と前記仮想サーバのネットワークアドレスを関連付けて記憶している仮想サーバ管理部から前記記憶されている識別情報及びネットワークアドレスを取得すると共に、前記仮想サーバの機能の情報を前記識別情報と関連付けて記憶している仮想サーバ機能管理部から前記仮想サーバの機能の情報を取得する情報取得部と、前記取得したネットワークアドレスを前記取得した仮想サーバの機能の情報に従って前記仮想サーバの機能別に予め定められたホスト名に関連付けて記憶することにより前記仮想サーバのネットワークアドレスと前記ホスト名との対応関係を更新する情報更新部とを含むことが好ましい。
【００２５】
また、前記情報取得部は、前記ネットワーク上において起動している仮想サーバの負荷状態に応じて前記仮想サーバの追加起動を要求する仮想サーバ起動要求部からの通知に応じて、前記記憶されている識別情報及びネットワークアドレス並びに前記仮想サーバの機能の情報を取得することが好ましい。
【００２６】
また、本発明の更に他の態様は、情報処理装置を、ネットワーク上に接続された情報処理装置によって構成される仮想サーバを制御する仮想サーバ制御装置として機能させる制御プログラムであって、前記仮想サーバの機能別に予め定められたホスト名のリストに従って前記仮想サーバのネットワークアドレスと前記ホスト名との対応関係を管理し、前記ネットワーク上の通信を制御するステップと、前記仮想サーバを識別する識別情報と前記仮想サーバのネットワークアドレスを関連付けて記憶している仮想サーバ管理部から前記記憶されている識別情報及びネットワークアドレスを取得すると共に、前記仮想サーバの機能の情報を前記識別情報と関連付けて記憶している仮想サーバ機能管理部から前記仮想サーバの機能の情報を取得するステップと、前記取得したネットワークアドレスを前記取得した仮想サーバの機能の情報に従って前記仮想サーバの機能別に予め定められたホスト名に関連付けて記憶することにより、前記仮想サーバのネットワークアドレスと前記ホスト名との対応関係を更新するステップとを前記情報処理装置に実行させることを特徴とする。
【発明の効果】
【００２７】
本発明によれば、仮想サーバ環境において、仮想サーバが増減された場合に増減された仮想サーバの機能を把握し、予め定められたホスト名のリストに従ってホスト名を付与して通信を行うことができる。
【図面の簡単な説明】
【００２８】
【図１】本発明の実施形態に係る仮想サーバ管理システムの運用形態を示す図である。
【図２】本発明の実施形態に係る情報処理端末のハードウェア構成を模式的に示すブロック図である。
【図３】本発明の実施形態に係る仮想サーバ管理システムの仮想的な運用形態を示す図である。
【図４】本発明の実施形態に係る画像処理システムの仮想的な構成を示す図である。
【図５】本発明の実施形態に係る仮想管理サーバの機能構成を示すブロック図である。
【図６】本発明の実施形態に係る仮想サーバ情報記憶部に記憶されている情報の例を示す図である。
【図７】本発明の実施形態に係るデータベースサーバの機能構成を示すブロック図である。
【図８】本発明の実施形態に係るサーバ機能情報記憶部に記憶されている情報の例を示す図である。
【図９】本発明の実施形態に係るロードバランササーバの機能構成を示すブロック図である。
【図１０】本発明の実施形態に係るＤＮＳ情報の例を示す図である。
【図１１】本発明の実施形態に係るモニターサーバの機能構成を示すブロック図である。
【図１２】本発明の実施形態に係るタスク管理サーバの機能構成を示すブロック図である。
【図１３】本発明の実施形態に係るワーカーサーバの機能構成を示すブロック図である。
【図１４】本発明の実施形態に係るタスク記憶サーバの機能構成を示すブロック図である。
【図１５】本発明の実施形態に係る画像処理システムの動作を示すシーケンス図である。
【図１６】本発明の実施形態に係る仮想サーバ管理システムの動作を示すシーケンス図である。
【図１７】本発明の実施形態に係る仮想サーバ情報記憶部に記憶されている情報の更新の例を示す図である。
【図１８】本発明の実施形態に係るサーバ機能情報記憶部に記憶されている情報の更新の例を示す図である。
【図１９】本発明の実施形態に係るＤＮＳ情報の更新の例を示す図である。
【図２０】本発明の実施形態に係るワーカーサーバの画像処理部が処理可能な画像処理の例を示す図である。
【発明を実施するための形態】
【００２９】
以下、図面を参照して、本発明の実施形態を詳細に説明する。本実施形態においては、仮想サーバ環境を利用して画像処理のネットワークサービスを提供する場合を例として説明する。
【００３０】
図１は、本実施の形態に係る仮想サーバ管理システムを利用した画像処理システムの運用形態を示す図である。図１に示すように、本実施形態に係る画像処理システムにおいては、仮想サーバ環境を提供する提供者（以降、仮想環境提供者とする）のネットワークＡと、画像処理のネットワークサービス（以降、画像処理サービスとする）を提供するサービス提供者（以降、画像処理サービス提供者）のネットワークＢと、画像処理サービスを利用するサービス利用者のネットワークＣとが、インターネットや電話回線等の公衆回線Ｄを介して接続されている。
【００３１】
ネットワークＡには、連動して動作する複数の物理サーバ１が接続されており、この物理サーバ１において動作しているアプリケーションの機能によって、仮想サーバ環境が提供される。ネットワークＢには、画像処理サービス提供者のオペレータが操作する端末であるクライアント端末２が接続されている。ネットワークＣには、画像処理システムを利用するユーザが操作する画像処理装置３が接続されている。
【００３２】
クライアント端末２は、一般的な情報処理端末であり、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等の情報処理装置によって実現される。画像処理装置３は、撮像機能、画像形成機能及び通信機能等を備えることにより、プリンタ、ファクシミリ、スキャナ、複写機として利用可能な複合機である。また、画像処理装置３は、本実施形態に係る画像処理システムにおける画像処理の実行を命令するためのユーザインタフェースとしても機能する。
【００３３】
次に、本実施形態に係る物理サーバ１、クライアント端末２及び画像処理装置３のハードウェア構成について説明する。図２は、本実施形態に係るクライアント端末２のハードウェア構成を示すブロック図である。尚、画像処理装置３は、図２に示すハードウェア構成に加えて、スキャナ、プリンタ等を実現するためのエンジンを備える。以下の説明においては、クライアント端末２のハードウェア構成を例として説明するが、物理サーバ１及び画像処理装置３についても同様である。
【００３４】
図２に示すように、本実施形態に係るクライアント端末２は、一般的なサーバやＰＣ等と同様の構成を含む。即ち、本実施形態に係るクライアント端末２は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）３０、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）４０及びＩ／Ｆ５０がバス８０を介して接続されている。また、Ｉ／Ｆ５０にはＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）６０及び操作部７０が接続されている。
【００３５】
ＣＰＵ１０は演算手段であり、クライアント端末２全体の動作を制御する。ＲＡＭ２０は、情報の高速な読み書きが可能な揮発性の記憶媒体であり、ＣＰＵ１０が情報を処理する際の作業領域として用いられる。ＲＯＭ３０は、読み出し専用の不揮発性記憶媒体であり、ファームウェア等のプログラムが格納されている。ＨＤＤ４０は、情報の読み書きが可能な不揮発性の記憶媒体であり、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や各種の制御プログラム、アプリケーション・プログラム等が格納される。
【００３６】
Ｉ／Ｆ５０は、バス８０と各種のハードウェアやネットワーク等を接続し制御する。ＬＣＤ６０は、操作者がクライアント端末２の状態を確認するための視覚的ユーザインタフェースである。操作部７０は、キーボードやマウス等、操作者がクライアント端末２に情報を入力するためのユーザインタフェースである。尚、図１において説明したように、本実施形態に係る物理サーバ１は、サーバとして運用される。従って、ＬＣＤ６０及び操作部７０等のユーザインタフェースは省略可能である。
【００３７】
このようなハードウェア構成において、ＲＯＭ３０やＨＤＤ４０若しくは図示しない光学ディスク等の記憶媒体に格納されたプログラムがＲＡＭ２０に読み出され、ＣＰＵ１０の制御に従って動作することにより、ソフトウェア制御部が構成される。このようにして構成されたソフトウェア制御部と、ハードウェアとの組み合わせによって、本実施形態に係る仮想サーバ環境や、情報処理システムの機能が実現される。
【００３８】
次に、ネットワークＡの物理サーバ１において実現される仮想的な環境について、図３を参照して説明する。図３に示すように、本実施形態に係る仮想環境においては、ネットワーク上に仮想管理サーバ４、データベースサーバ５及び複数の仮想サーバ６が接続されたように振る舞う仮想環境が構築される。仮想管理サーバ４は、仮想サーバ６の起動及び終了を管理する管理サーバであり、本実施形態においては、仮想環境を利用する利用者（本実施形態においては、仮想環境を利用して画像処理サービスを提供するサービス提供者）の指示に応じて、仮想サーバ６の起動若しくは終了を管理する。
【００３９】
データベースサーバ５は、仮想環境における仮想サーバ６の情報を記憶しているデータベースである。本実施形態に係るデータベースサーバ５は、起動している仮想サーバ６の機能の情報を記憶している。尚、仮想管理サーバ４及びデータベースサーバ５は、仮想環境を提供する提供者によって提供されるサーバであり、仮想サーバとしてではなく、物理サーバとして実現しても良い。
【００４０】
複数の仮想サーバ６は、上述したように、物理サーバ１において動作するアプリケーションにより、ネットワーク上において実際の物理サーバと同様に振る舞う仮想的な情報処理装置であり、サーバとしての識別子、ネットワーク上のアドレスであるＩＰアドレス及びホスト名が設定される。本実施形態に係る仮想サーバ６は、画像処理サービスのシステム負荷に応じて数が増減される。
【００４１】
次に、本実施形態において、画像処理サービス提供者によって仮想サーバ６によって構築される画像処理システムについて、図４を参照して説明する。図４に示すように、本実施形態に係る画像処理システムにおいては、ネットワーク上にロードバランササーバ１００、モニターサーバ２００、タスク管理サーバ３００、ワーカーサーバ４００及びタスク記憶サーバ５００が接続されたように振る舞う画像処理システムが仮想的に実現される。尚、タスク管理サーバ３００、ワーカーサーバ４００及びタスク記憶サーバ５００は、システムの負荷状態に応じて複数構成される。
【００４２】
ロードバランササーバ１００は、本実施形態に係る画像処理システムにおいて、画像処理サービスを利用するサービス利用者（以降、ユーザとする）に対して窓口となる構成であり、ユーザが画像処理装置３を操作して入力したジョブを取得し、複数のタスク管理サーバ３００に順番に割り振る。これにより、処理が分散され、システムの安定稼働が実現される。モニターサーバ２００は、タスク管理サーバ３００、ワーカーサーバ４００及びタスク記憶サーバ５００の負荷状況を監視しており、夫々の負荷状況に応じて、夫々のサーバの起動若しくは終了を仮想管理サーバ４に要求する。これにより、システム負荷が高い場合は、処理がより分散されるようにサーバ数が増え、システム負荷が低い場合は、効率的な動作のためにサーバ数が減ることとなる。
【００４３】
タスク管理サーバ３００は、ロードバランササーバ１００によって割り振られたタスクを管理するサーバである。また、タスク管理サーバ３００は、ワーカーサーバ４００に実行させるまでもない画像処理を実行する機能も含む。ワーカーサーバ４００は、画像処理システムにおいて実際の画像処理を実行するサーバである。タスク記憶サーバ５００は、タスク管理サーバ３００がロードバランササーバ１００によって割り振られたタスクを記憶するサーバである。
【００４４】
次に、本実施形態に係る仮想管理サーバ４の機能構成について、図５を参照して説明する。図５に示すように、本実施形態に係る仮想管理サーバ４は、仮想サーバ起動管理部４ａ、仮想サーバ情報記憶部４ｂ及び通信制御部４ｃを含む。上述したように、仮想サーバ起動管理部４ａ及び通信制御部４ｃは、図２に示すＨＤＤ４０等の記憶媒体に記憶されている制御プログラムが、ＲＡＭ２０にロードされ、ＣＰＵ１０の制御に従って動作することにより構成される。また、仮想サーバ情報記憶部４ｂは、図２に示すＨＤＤ４０等の記憶媒体によって構成される。
【００４５】
仮想サーバ起動管理部４ａは、上述したモニターサーバ２００の要求に基づき、仮想サーバ６の起動及び終了を管理する。仮想サーバ起動管理部４ａは、仮想サーバ６を起動する場合、図２において説明したＨＤＤ４０等の記憶媒体に記憶されているプログラムであって、サーバを実現するためのプログラムをコピーしてＲＡＭ２０にロードし、ＣＰＵ１０に制御させることによって仮想サーバ６を起動する。また、仮想サーバ起動管理部４ａは、起動した仮想サーバ６に対して、識別子及びネットワーク上のアドレスであるＩＰアドレスを設定し、仮想サーバ情報記憶部４ｂに記憶させる。
【００４６】
仮想サーバ情報記憶部４ｂは、上述したように、起動している仮想サーバ６の識別子及びＩＰアドレスを関連付けて記憶している記憶媒体である。図６に、仮想サーバ情報記憶部４ｂが記憶している情報の例を示す。通信制御部４ｃは、仮想サーバ起動管理部４ａが仮想的なネットワークを介してデータベースサーバ５や仮想サーバ６と情報をやり取りするためのネットワークインタフェースである。
【００４７】
尚、本実施形態において、仮想サーバ起動管理部４ａは、新たに仮想サーバ６を起動すると、上述した識別子及びＩＰアドレスに加えてホスト名も設定する。このホスト名は、例えばＭＡＣアドレス等、一意に決定される情報が用いられる。従って、仮想管理サーバ４に含まれる通信制御部４ｃは、上記仮想サーバ起動管理部４ａによって設定されたホスト名の解決に対応したＤＮＳ（Ｄｏｍａｉｎ  Ｎａｍｅ  Ｓｙｓｔｅｍ）環境（以降、第１のＤＮＳ環境とする）により情報通信を行う。
【００４８】
次に、データベースサーバ５の機能構成について、図７を参照して説明する。図７に示すように、本実施形態に係るデータベースサーバ５は、通信制御部５ａ及びサーバ機能情報記憶部５ｂを含む。通信制御部５ａは、仮想管理サーバ４に含まれる通信制御部４ｃと同様に、データベースサーバ５が仮想的なネットワークを介して仮想管理サーバ４や仮想サーバ６と情報をやり取りするためのネットワークインタフェースである。
【００４９】
サーバ機能情報記憶部５ｂは、起動している仮想サーバ６の識別子及びサーバが担う機能を関連付けて記憶している記憶媒体である。図８に、サーバ機能情報記憶部５ｂが記憶している情報の例を示す。図４において説明したように、本実施形態においては、タスク管理サーバ３００、ワーカーサーバ４００及びタスク記憶サーバ５００が増減の対象となる。従って、タスク管理サーバ３００、ワーカーサーバ４００及びタスク記憶サーバ５００に対して、夫々“ｔａｓｋｍａｓｔｅｒ”、“ｗｏｒｋｅｒ”、“ｄａｔａｂａｓｅ”という文字情報が機能を示す情報として設定され、記憶されている。
【００５０】
次に、ロードバランササーバ１００の機能構成について、図９を参照して説明する。図９に示すように、本実施形態に係るロードバランササーバ１００は、タスク振り分け部１０１及び通信制御部１０２を含む。タスク振り分け部１０１は、入力されたタスクを振り分けることにより処理の分散化を図り、システムの安定性を向上させる。即ち、タスク振り分け部１０１は、仮想サーバ６において実行可能な処理の実行命令を取得し、取得した実行命令を複数の仮想サーバ６のいずれかに割り振る実行命令割り振り部として機能する。タスク振り分け部１０１は、タスクの振り分け先として夫々の仮想サーバ６に担わせる機能別に予め定められてリスト化されているホスト名を用いて振り分けを行う。
【００５１】
通信制御部１０２は、ロードバランササーバ１００が、仮想的なネットワークを介して図４に示す各サーバと情報をやり取りするためのネットワークインタフェースである。また、通信制御部１０２は、公衆回線Ｄを介した情報のやりとりも行う。ここで、通信制御部１０２は、図４に示す各サーバと情報をやり取りする際、仮想管理サーバ４から与えられたホスト名、即ち、仮想環境提供者によって構築されたルールに基づいて設定されたホスト名ではなく、図３に示す画像処理システムを運用している画像処理サービス提供者によって独自に設定されたホスト名を用いる。
【００５２】
通信制御部１０２が通信において用いるホスト名は、仮想サーバ起動管理部４ａによって設定されるホスト名ではなく、タスク振り分け部１０１によるタスク振り分けの対象として予めリスト化されているホスト名（以降、登録済みホスト名とする）である。即ち、ロードバランササーバ１００に含まれる通信制御部１０２は、上述した第１のＤＮＳ環境に加えて、タスク振り分け部１０１に予め登録されているホスト名の解決に対応したＤＮＳ環境（以降、第２のＤＮＳ環境）により情報通信を行う。
【００５３】
この第２のＤＮＳ環境を実現するため、ロードバランササーバ１００に含まれる通信制御部１０２は、上記登録済みホスト名とＩＰアドレスとが関連付けられた情報を保持している。図１０に、本実施形態に係る通信制御部１０２が保持している情報の例を示す。図１０に示すように、通信制御部１０２は、タスク管理サーバ３００、ワーカーサーバ４００及びタスク記憶サーバ５００、即ち、仮想サーバ６が画像処理システムにおいて担う機能別に、登録済みホスト名とＩＰアドレスとが関連付けられた情報を保持している。即ち、通信制御部１０２は、仮想サーバ６の機能別に予め定められたホスト名のリストに従って、仮想サーバ６のＩＰアドレスとホスト名との対応関係を管理している。
【００５４】
図１０において、タスク管理サーバを例として説明する。本実施形態においては、タスク振り分け部１０１は、タスク管理サーバ３００のホスト名として“ｔａｓｋｍａｓｔｅｒ００”〜“ｔａｓｋｍａｓｔｅｒ９９”までの１００個のホスト名を保持している。即ち、通信制御部１０２は、“ｔａｓｋｍａｓｔｅｒ”のように、仮想サーバ６の機能を示す文字列と、“００”〜“９９”のように、連続する数値とからなる文字列のリストとしてホスト名を管理している。そして、図１０の状態は、タスク管理サーバ３００として、仮想サーバ６が１つだけ起動している場合を例としている。この場合、タスク管理サーバ３００として起動する仮想サーバ６のＩＰアドレスは１つしかないため、図１０に示すように、１００個のホスト名は、全て１つのＩＰアドレスに関連付けられている。
【００５５】
タスク振り分け部１０１は、タスク管理サーバ３００にタスクを振り分ける際、図１０に示す１００個のホスト名に対して順番にタスクを割り振る。しかしながら、図１０の場合、１００個のホスト名は全て同一のＩＰアドレスに関連付けられているため、結果的に処理は分散されることなく、全て同一のタスク管理サーバ３００に割り振られる。
【００５６】
これに対して、システムの負荷が高まり、新たに仮想サーバ６が起動されてタスク管理サーバ３００として機能し始めると、図１０に示すホスト名とＩＰアドレスとの対応関係が変更され、例えば、１００個のホスト名に対して、２つのＩＰアドレスが交互に関連付けられる。これにより、タスク振り分け部が、１００個のホスト名に対して順番にタスクを割り振ることにより、２つのタスク管理サーバ３００に対して交互にタスクが割り振られることとなる。このような処理が、本実施形態に係る要旨である。これについては、後に詳述する。
【００５７】
次に、モニターサーバ２００の機能構成について、図１１を参照して説明する。図１１に示すように、本実施形態に係るモニターサーバ２００は、負荷状態監視部２０１、仮想サーバ変更要求部２０２及び通信制御部２０３を含む。負荷状態監視部２０１は、通信制御部２０３による通信を介して、タスク管理サーバ３００、ワーカーサーバ４００及びタスク記憶サーバ５００の負荷状態を監視している。
【００５８】
タスク管理サーバ３００の負荷状態を監視する場合、負荷状態監視部２０１は、例えばタスク管理サーバ３００を構成するプログラムを制御しているＣＰＵ、即ち演算装置の負荷状況や、ワーカーサーバ４００を構成するプログラムを制御しているＣＰＵの負荷状況や、タスク管理サーバ３００が処理すべきものとしてタスク記憶サーバ５００に記憶されているタスクの数を参照する。ワーカーサーバ４００の負荷状況を監視する場合、負荷状態監視部２０１は、例えばワーカーサーバ４００が処理すべきものとしてタスク記憶サーバ５００に記憶されているタスクの数を参照する。タスク記憶サーバ５００の負荷状況を監視する場合、負荷状態監視部２０１は、例えばタスク記憶サーバ５００に割り当てられている記憶領域の空き領域等を参照する。
【００５９】
負荷状態監視部２０１は、各サーバの負荷状態に対して設けられた閾値を記憶しており、上述した処理により監視している各サーバの負荷状態が、記憶している閾値を超えた場合、そのサーバが過負荷状態であると判断する。そして、負荷状態監視部２０１は、過負荷状態であると判断したサーバと同一の機能を担う仮想サーバ６の起動を決定し、仮想サーバ変更要求部２０２に通知する。
【００６０】
また、負荷状態監視部２０１は、各サーバの負荷状態が低いと判断するための閾値を記憶しており、上述した処理により監視している各サーバの負荷状態が、上記閾値に基づいて低いと判断された場合、そのサーバの負荷が低いと判断する。そして、負荷状態監視部２０１は、負荷が低いと判断したサーバとして動作する仮想サーバの数を減らす、即ち、起動しているサーバを終了させることを決定し、仮想サーバ変更要求部２０２に通知する。
【００６１】
仮想サーバ変更要求部２０２は、負荷状態監視部２０１からの上記通知に従い、通信制御部２０３を介して、上記過負荷状態であると判断された機能のサーバとして動作している仮想サーバ６の追加起動を、仮想管理サーバ４に対して要求する。また、仮想サーバ変更要求部２０２は、負荷状態監視部２０１からの上記通知に従い、通信制御部２０３を介して、負荷が低いと判断された機能のサーバとして動作している仮想サーバ６の終了を、仮想管理サーバ４に対して要求する。
【００６２】
尚、通信制御部２０３は、上記負荷状態の監視動作のために、図４に示す各サーバと通信する場合と、上記仮想サーバ６の起動若しくは終了を要求するために仮想管理サーバ４と通信する場合とがある。従って、通信制御部２０３は、上述した第１のＤＮＳ環境及び第２のＤＮＳ環境による通信手段、即ちホスト名とＩＰアドレスとの関連付け情報を含む。
【００６３】
次に、タスク管理サーバ３００の機能構成について、図１２を参照して説明する。図１２に示すように本実施形態に係るタスク管理サーバ３００は、タスク処理部３０１、画像処理部３０２及び通信制御部３０３を含む。タスク処理部３０１は、通信制御部３０３を介して入力されたタスクの種類に基づき、そのタスクを処理する。タスク処理部３０１によるタスク処理の態様としては、画像処理部３０２へのタスク入力、タスク記憶サーバ５００へのタスク格納、公衆回線Ｄを介した画像処理装置３からのタスク処理進捗確認への応答等がある。
【００６４】
画像処理部３０２は、画像処理専用のサーバであるワーカーサーバ４００に実行させるまでもない軽微な画像処理を実行する。画像処理部３０２が実行する画像処理としては、簡単な画像変換等である。通信制御部３０３は、モニターサーバ２００の通信制御部２０３と同様に、第１のＤＮＳ環境及び第２のＤＮＳ環境による通信手段を有する。
【００６５】
次に、ワーカーサーバ４００の機能構成について、図１３を参照して説明する。図１３に示すように本実施形態に係るワーカーサーバ４００は、タスク取得部４０１、画像処理部４０２及び通信制御部４０３を含む。タスク取得部４０１は、通信制御部４０３を介してタスク記憶サーバ５００に記憶されているタスクの取得を要求する。尚、本実施形態においては、タスク取得部４０１によるタスク取得要求も、ロードバランササーバ１００によって振り分けられる。即ち、タスク取得部４０１は、通信制御部４０３を介して、ロードバランササーバ１００に対してタスク要求を行う。
【００６６】
画像処理部４０２は、タスク取得部４０１が取得したタスク及び画像情報に基づき、画像処理を実行する。画像処理部４０２が実行する画像処理としては、例えばＯＣＲや、情報埋め込み等、処理量の多い処理である。本実施形態に係るワーカーサーバ４００は、入力されたタスクを処理するのではなく、タスク取得部４０１がタスク記憶サーバ５００からタスクを取得し、画像処理部４０２がタスクを処理する。従って、タスク取得部４０１は、画像処理部４０２による画像処理が完了する度に、通信制御部４０３を介してタスク記憶サーバ５００にアクセスし、タスクを取得する。尚、通信制御部４０３は、上記第１のＤＮＳ環境及び第２のＤＮＳ環境による通信手段を有する。
【００６７】
次に、タスク記憶サーバ５００の機能構成について、図１４を参照して説明する。図１４に示すように、本実施形態に係るタスク記憶サーバ５００は、タスク記憶部５０１及び通信制御部５０２を含む。タスク記憶部５０１は、タスク処理部３０１によってタスク記憶サーバ５００に振り分けられたタスクや、そのタスクに係る画像情報が記憶されている記憶媒体である。通信制御部５０２は、上述した第１のＤＮＳ環境及び第２のＤＮＳ環境による通信手段を有する。
【００６８】
このような構成により、本実施形態に係る仮想サーバ管理システム及び画像処理システムが構成される。次に、本実施形態に係る画像処理システムの一般動作について、図１５を参照して説明する。図１５に示すように、まずは、ユーザが画像処理装置３を操作して、画像処理のジョブ及び処理すべき画像情報をロードバランササーバ１００に送信する（Ｓ１５０１）。尚、本実施形態においては、例として、入力された画像のＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅｃｏｇｎｉｔｉｏｎ）を実行する場合を例とする。
【００６９】
ジョブ及び画像情報を受信したロードバランササーバ１００においては、タスク振り分け部１０１が、上述したように、受信したジョブをタスクとして振り分け処理を実行し、振り分け先のタスク管理サーバ３００にタスク及び画像情報を送信する（Ｓ１５０２）。ロードバランササーバ１００からタスク及び画像情報を受信したタスク管理サーバ３００においては、受信したタスク及び画像情報を、タスク処理部３０１がタスク記憶サーバ５００に記憶させる（Ｓ１５０３）。即ち、タスク記憶サーバ５００のタスク記憶部５０１が、実行命令記憶部として機能する。
【００７０】
Ｓ１５０３の処理が完了した後、上述したように、ワーカーサーバ４００のタスク取得部４０１が、ロードバランササーバ１００にタスク要求を送信する（Ｓ１５０４）。タスク取得部４０１からタスク要求を受信したロードバランササーバ１００は、そのタスク要求をタスク管理サーバ３００に振り分ける（Ｓ１５０５）。タスク要求の振り分けを受けたタスク管理サーバ３００は、タスク記憶サーバ５００からタスク情報及び画像情報を取得し、ワーカーサーバ４００に送信する（Ｓ１５０６）。
【００７１】
タスク管理サーバ３００からタスク情報及び画像情報を受信したワーカーサーバ４００においては、画像処理部４０２がタスク、即ち本実施形態においてはＯＣＲを実行し、その実行結果としての文字情報若しくは認識結果を含む情報（以降、文字情報等とする）の格納をロードバランササーバ１００に要求する（Ｓ１５０７）。ワーカーサーバ４００から実行結果の格納要求を受信したロードバランササーバ１００は、上記格納要求をタスク管理サーバ３００に振り分ける（Ｓ１５０８）。
【００７２】
タスクの振り分けを受けたタスク管理サーバ３００は、同時に受信した文字情報等を実行結果としてタスク記憶サーバ５００のタスク記憶部５０１に記憶させる（Ｓ１５０９）。他方、Ｓ１５０１の処理の後、画像処理装置３は、ロードバランササーバ１００を介して、送信したジョブの結果確認を所定期間毎に実行する（Ｓ１５１０）。Ｓ１５０９の処理の後に画像処理装置３からの結果確認（Ｓ１５１０）を受信すると、タスク管理サーバ３００は、画像処理装置３に対して、結果確認への応答として実行結果である文字情報等の格納先、例えばＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）を通知する。これにより、画像処理装置３を操作しているユーザが、タスク記憶サーバ５００にアクセスして、実行結果である文字情報等を取得することが可能となる。
【００７３】
このような画像処理装置において、上述したように、モニターサーバ２００がタスク管理サーバ３００、ワーカーサーバ４００及びタスク記憶サーバ５００の負荷状態を監視しており、状況に応じて夫々のサーバとして動作する仮想サーバ６の数の増減が行われる。ここで、図１５において説明したように、各サーバは互いに通信しながら処理を行っているため、サーバの数が変化すると、ＤＮＳの情報、具体的には、図１０において説明したような情報を、変化したサーバの数に応じて更新する必要がある。このＤＮＳ情報の更新の仕組みが、本実施形態に係る要旨である。
【００７４】
図１６を参照して、本実施形態に係るＤＮＳ情報の更新動作について説明する。図１６においては、モニターサーバが、タスク管理サーバ３００が過負荷状態であることを判断した場合を例として説明する。また、図１６の説明においては、ＤＮＳ情報を更新する対象としてロードバランササーバ１００を例として説明するが、他のモニターサーバ２００、タスク管理サーバ３００、ワーカーサーバ４００及びタスク記憶サーバ５００も同様である。
【００７５】
図１６に示すように、まず、モニターサーバ２００の仮想サーバ変更要求部２０２が、仮想管理サーバ４に対して、タスク管理サーバ３００としての、仮想サーバ６の起動要求を送信する（Ｓ１６０１）。即ち、モニターサーバ２００の仮想サーバ変更要求部２０２が、仮想サーバ起動要求部として機能する。起動要求を受信した仮想管理サーバ４においては、仮想サーバ起動管理部４ａが上述した処理を実行して、タスク管理サーバ３００としての仮想サーバ６を新たに起動させる（Ｓ１６０２）。即ち、仮想管理サーバ４の仮想サーバ起動管理部４ａが、仮想サーバ管理部として機能する。これにより、新たに起動された仮想サーバ６に対して、図６において説明したように、識別子及びＩＰアドレスが設定され、仮想サーバ情報記憶部４ｂに記憶される。
【００７６】
図６に示す状態において、上記識別子及びＩＰアドレスの設定が実行された後の仮想サーバ情報記憶部４ｂに記憶されている情報の例を図１７に示す。図１７に示す例においては、新たな識別子として“ｉ−０００４”が設定され、新たなＩＰアドレスとして“１０．０．１．４”が設定されている。このように、Ｓ１６０２の処理が完了すると、仮想管理サーバ４は、モニターサーバ２００に対して、上記新たに設定した情報を通知する（Ｓ１６０３）。
【００７７】
Ｓ１６０３の通知を受けることにより、新たに起動された仮想サーバ６の識別子を取得したモニターサーバ２００は、その識別子である“ｉ−０００４”という情報及び新たな仮想サーバ６がタスク管理サーバ３００として起動されたことを示す機能識別情報である“ｔａｓｋｍａｓｔｅｒ”という情報をデータベースサーバ５に登録する（Ｓ１６０４）。これにより、新たに起動された仮想サーバ６の識別子と、その機能を示す情報が図１８に示すように関連付けて登録される。即ち、データベースサーバ５のサーバ機能情報記憶部５ｂが、仮想サーバ機能管理部として機能する。
【００７８】
Ｓ１６０４の登録が完了すると、モニターサーバ２００は、ＤＮＳ情報を更新させる対象であるロードバランササーバ１００に対して、ＤＮＳ情報の更新要求を送信する（Ｓ１６０５）。Ｓ１６０５の更新要求を受信したロードバランササーバ１００においては、通信制御部１０２が、まず仮想管理サーバ４にアクセスし、仮想サーバ情報記憶部４ｂに記憶されている全仮想サーバ６の情報、即ち、図１８に示す情報を取得する（Ｓ１６０６）。
【００７９】
Ｓ１６０６の処理により、全仮想サーバ６の情報を取得すると、通信制御部１０２は、次に、夫々の仮想サーバ６の識別子に基づき、データベースサーバ５にアクセスして、夫々の仮想サーバ６の機能を識別する機能識別情報を取得する（Ｓ１６０７）。Ｓ１６０７の処理により、機能識別情報を取得すると、通信制御部１０２は、Ｓ１６０６において取得したＩＰアドレスとＳ１６０７において取得した機能識別情報を対応させて、夫々の希望別にＩＰアドレスを分類し、予め登録されている登録済みホスト名を、夫々の機能別にＩＰアドレスに関連付けることによってＤＮＳ情報を更新する（Ｓ１６０８）。換言すると、通信制御部１０２は、Ｓ１６０７において取得した機能識別情報に従い、Ｓ１６０６において取得したＩＰアドレスを、仮想サーバ６の機能別に予め定められたホスト名に関連付ける。
【００８０】
図１６の例においては、ＤＮＳ情報として図１０において説明したような情報が保持されている状態において、タスク管理サーバ３００が１つ増えた場合を例としている。従って、Ｓ１６０８の処理の結果、図１０に示すような状態であったＤＮＳ情報は、図１９に示すような状態に更新される。図１６の処理の結果、タスク管理サーバ３００として動作する仮想サーバ６のＩＰアドレスとして、元から存在した“１０．０．１．１”に加えて、新たに“１０．０．１．４”が追加された。従って、図１９に示す例においては、登録済みホスト名である“ｔａｓｋｍａｓｔｅｒ００”、“ｔａｓｋｍａｓｔｅｒ０１”、・・・に対して、“１０．０．１．１”と“１０．０．１．４”とが交互に割り当てられている。これにより、ロードバランササーバ１００は、タスク管理サーバ３００が追加される前と同様に、登録済みホスト名の順番に従ってタスクの割り振りを実行するだけで、２つのタスク管理サーバ３００に交互にタスクが割り振られることとなる。このような処理により、本実施形態に係るＤＮＳ情報の更新動作が完了する。
【００８１】
尚、上述したように、図１６の例においては、ロードバランササーバ１００が、ＤＮＳ情報を更新する場合を例として説明したが、モニターサーバ２００、タスク管理サーバ３００、ワーカーサーバ４００及びタスク記憶サーバ５００も同様である。ＤＮＳ情報を更新する全てのサーバが、Ｓ１６０８において同一のルールに従ってＤＮＳ情報を更新することにより、全てのサーバにおけるＤＮＳ情報の更新結果が同一となる。
【００８２】
例えば、ＯＣＲ等のワーカーサーバ４００において処理されるタスクが集中し、ワーカーサーバ４００の負荷が高くなった場合、タスク記憶サーバ５００に未処理のタスク情報が蓄積される。モニターサーバ２００は、タスク記憶サーバ５００に蓄積されたタスク情報の量に応じてワーカーサーバ４００の過負荷を判断し、ワーカーサーバ４００として機能する仮想サーバ６の追加起動を要求する。これにより、図１６の処理が実行され、ワーカーサーバ４００として機能する仮想サーバ６が追加され、ワーカーサーバ４００の過負荷状態が解消される。尚、ワーカーサーバ４００に実行させる画像処理の例を図２０に示す。
【００８３】
以上説明したように、本実施形態に係る仮想サーバ管理システムにより、仮想サーバが増減された場合に増減された仮想サーバの機能を把握し、予め定められたホスト名のリストに従ってホスト名を付与して通信を行うことが可能となる。これにより、仮想サーバにおいてタスクを振り分けるロードバランササーバ１００は、予め定められたホスト名、即ち、タスク振り分け機能を実現するプログラム内に組み込まれたホスト名のリストに従ってタスクの振り分けを実行することができるため、タスクの振り分けに際して別途記憶されたホスト名のリストを参照する必要がなく、タスクの振り分けを迅速に行うことができる。
【００８４】
尚、上記実施形態においては、ロードバランササーバ１００、モニターサーバ２００、タスク管理サーバ３００、ワーカーサーバ４００及びタスク記憶サーバ５００夫々に含まれる通信制御部が、図１０及び図１９に示すような情報を保持している場合を例として説明したが、仮想サーバ６によってＤＮＳサーバを構築し、そのＤＮＳサーバが、図１０及び図１９に示すような情報を管理することも可能である。この場合、ロードバランササーバ１００、モニターサーバ２００、タスク管理サーバ３００、ワーカーサーバ４００及びタスク記憶サーバ５００に含まれる通信制御部は、上記ＤＮＳサーバにアクセスすることによってホスト名の名前解決を行うこの場合においても、ロードバランササーバ１００が、プログラムとして組み込まれているホスト名に従ってタスクの割り振りを実行し、上記ＤＮＳサーバが、上記組み込まれているホスト名のリストに従ってＤＮＳ情報を管理することにより、上記と同様の効果を得ることができる。
【００８５】
また、図１６の説明においては、モニターサーバ２００が、データベースサーバ５に識別情報及び機能識別情報を登録すると共に、ロードバランササーバ１００に対してＤＮＳ情報の更新要求を送信し、この更新要求に応じて、ロードバランササーバ１００が、仮想管理サーバ４及びデータベースサーバ５から情報を取得する場合を例として説明した。この場合、ＤＮＳ情報を更新するのは、ロードバランササーバ１００だけではないので、モニターサーバ２００は、多くの宛先に対して更新要求を送信する必要がある。これに対して、モニターサーバ２００が更新要求を送信するのではなく、ロードバランササーバ１００が定期的に仮想管理サーバ４及びデータベースサーバ５から情報を取得し、ＤＮＳ情報の更新処理を実行するようにしても良い。これにより、モニターサーバ２００の処理負荷を低減することができる。
【符号の説明】
【００８６】
１  物理サーバ、
２  クライアント端末、
３  画像処理装置、
４  仮想管理サーバ、
４ａ  仮想サーバ起動管理部、
４ｂ  仮想サーバ情報記憶部、
４ｃ  通信制御部、
５  データベースサーバ、
５ａ  通信制御部、
５ｂ  サーバ機能情報記憶部、
６  仮想サーバ、
１０  ＣＰＵ、
２０  ＲＡＭ、
３０  ＲＯＭ、
４０  ＨＤＤ、
５０  Ｉ／Ｆ、
６０  ＬＣＤ、
７０  操作部、
８０  バス、
１００  ロードバランササーバ、
１０１  タスク振り分け部、
１０２  通信制御部、
２００  モニターサーバ、
２０１  負荷状態監視部、
２０２  仮想サーバ変更要求部、
２０３  通信制御部、
３００  タスク管理サーバ、
３０１  タスク処理部、
３０２  画像処理部、
３０３  通信制御部、
４００  ワーカーサーバ、
４０１  タスク取得部、
４０２  画像処理部、
４０３  通信制御部、
５００  タスク記憶サーバ、
５０１  タスク記憶部、
５０２  通信制御部
【先行技術文献】
【特許文献】
【００８７】
【特許文献１】特開２００５−９４２５２号公報
【図１】
2011061608.tif 000003
【図２】
2011061608.tif 000004
【図３】
2011061608.tif 000005
【図４】
2011061608.tif 000006
【図５】
2011061608.tif 000007
【図６】
2011061608.tif 000008
【図７】
2011061608.tif 000009
【図８】
2011061608.tif 000010
【図９】
2011061608.tif 000011
【図１０】
2011061608.tif 000012
【図１１】
2011061608.tif 000013
【図１２】
2011061608.tif 000014
【図１３】
2011061608.tif 000015
【図１４】
2011061608.tif 000016
【図１５】
2011061608.tif 000017
【図１６】
2011061608.tif 000018
【図１７】
2011061608.tif 000019
【図１８】
2011061608.tif 000020
【図１９】
2011061608.tif 000021
【図２０】
2011061608.tif 000022