(57)【要約】【課題】複数のサーバを有するサーバクラスタによって分散処理を行う場合に、分散処理を停止することなくサーバのファイル更新を行うことを課題とする。【解決手段】本発明のプラットフォーム管理装置４００は、複数の第１のサーバの稼動中に、新ファイルを複数の第２のサーバに送信してから、その複数の第２のサーバを起動し、ロードバランサ２００に対して新規セッションのデータを複数の第２のサーバのいずれかに振り分けるという内容の振り分けルールを用いるように指示し、複数の第１のサーバで確立されているセッションの数がゼロになった場合にその複数の第１のサーバを停止することで、サーバクラスタ１００による分散処理を停止することなくファイル更新を行うことができる。【選択図】図１
2011096161.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して、対向装置に対し、分散処理によって、セッションを構成するデータを送受信して所定のファイルに基づいてサービスを提供する複数の第１のサーバと、
前記所定のファイルを更新したファイルである新ファイルを取得した場合、前記複数の第１のサーバに代わって、前記新ファイルに基づいて前記サービスを提供する複数の第２のサーバと、
前記対向装置からの要求に関して、
前記複数の第１のサーバのいずれかに振り分けるという内容の第１の振り分けルール、または、
前記複数の第１のサーバのいずれかで確立しているセッションのデータについては同じ前記第１のサーバに振り分け、新規セッションのデータについては前記複数の第２のサーバのいずれかに振り分けるという内容の第２の振り分けルールのいずれかに基づいて動作するロードバランサと、を備えるサーバクラスタ、
および、
前記ロードバランサの前記要求の振り分け機能と、前記複数の第１のサーバおよび前記複数の第２のサーバの前記サービスを提供する機能であるクラスタ機能と、を連携制御する分散処理管理装置、
を有するサービス提供システムであって、
前記分散処理管理装置は、
前記複数の第２のサーバに前記新ファイルを送信する新ファイル送信部と、
前記新ファイルの送信後に、前記複数の第２のサーバを起動するサーバクラスタ起動部と、
前記複数の第２のサーバの起動後に、前記ロードバランサに対して、前記第２の振り分けルールで動作するように指示する振り分けルール更新部と、
前記複数の第１のサーバで確立されているセッションの数を監視するセッション数監視部と、
前記セッション数監視部が前記複数の第１のサーバで確立されているセッションの数がゼロであると判定した場合に、前記複数の第１のサーバを停止するサーバクラスタ停止部と、
を有することを特徴とするサービス提供システム。
【請求項２】
前記分散処理管理装置は、
前記ロードバランサが前記第２の振り分けルールで動作を開始してから、前記セッション数監視部によって前記複数の第１のサーバで確立されているセッションの数がゼロであると判定するまでの間に、前記複数の第２のサーバにエラーが発生したか否かを判定するエラー監視部を、さらに備え、
前記振り分けルール更新部は、前記エラー監視部が前記複数の第２のサーバにエラーが発生したと判定した場合、前記第１の振り分けルールで動作するように前記ロードバランサに指示する
ことを特徴とする請求項１に記載のサービス提供システム。
【請求項３】
前記サービス提供システムにおける制御プロトコルとして、ＳＩＰ（Session Initiation Protocol）が用いられている
ことを特徴とする請求項１または請求項２に記載のサービス提供システム。
【請求項４】
ネットワークを介して、対向装置に対し、分散処理によって、セッションを構成するデータを送受信して所定のファイルに基づいてサービスを提供する複数の第１のサーバと、
前記所定のファイルを更新したファイルである新ファイルを取得した場合、前記複数の第１のサーバに代わって、前記新ファイルに基づいて前記サービスを提供する複数の第２のサーバと、
前記対向装置からの要求に関して、
前記複数の第１のサーバのいずれかに振り分けるという内容の第１の振り分けルール、または、
前記複数の第１のサーバのいずれかで確立しているセッションのデータについては同じ前記第１のサーバに振り分け、新規セッションのデータについては前記複数の第２のサーバのいずれかに振り分けるという内容の第２の振り分けルールのいずれかに基づいて動作するロードバランサと、を備えるサーバクラスタ、
および、
前記ロードバランサの前記要求の振り分け機能と、前記複数の第１のサーバおよび前記複数の第２のサーバの前記サービスを提供する機能であるクラスタ機能と、を連携制御する分散処理管理装置、
を有するサービス提供システムにおける分散処理管理装置であって、
前記複数の第２のサーバに前記新ファイルを送信する新ファイル送信部と、
前記新ファイルの送信後に、前記複数の第２のサーバを起動するサーバクラスタ起動部と、
前記複数の第２のサーバの起動後に、前記ロードバランサに対して、前記第２の振り分けルールで動作するように指示する振り分けルール更新部と、
前記複数の第１のサーバで確立されているセッションの数を監視するセッション数監視部と、
前記セッション数監視部が前記複数の第１のサーバで確立されているセッションの数がゼロであると判定した場合に、前記複数の第１のサーバを停止するサーバクラスタ停止部と、
を有することを特徴とする分散処理管理装置。
【請求項５】
前記ロードバランサが前記第２の振り分けルールで動作を開始してから、前記セッション数監視部によって前記複数の第１のサーバで確立されているセッションの数がゼロであると判定するまでの間に、前記複数の第２のサーバにエラーが発生したか否かを判定するエラー監視部を、さらに備え、
前記振り分けルール更新部は、前記エラー監視部が前記複数の第２のサーバにエラーが発生したと判定した場合、前記第１の振り分けルールで動作するように前記ロードバランサに指示する
ことを特徴とする請求項４に記載の分散処理管理装置。
【請求項６】
前記サービス提供システムにおける制御プロトコルとして、ＳＩＰ（Session Initiation Protocol）が用いられている
ことを特徴とする請求項４または請求項５に記載の分散処理管理装置。
【請求項７】
ネットワークを介して、対向装置に対し、分散処理によって、セッションを構成するデータを送受信して所定のファイルに基づいてサービスを提供する複数の第１のサーバと、
前記所定のファイルを更新したファイルである新ファイルを取得した場合、前記複数の第１のサーバに代わって、前記新ファイルに基づいて前記サービスを提供する複数の第２のサーバと、
前記対向装置からの要求に関して、
前記複数の第１のサーバのいずれかに振り分けるという内容の第１の振り分けルール、または、
前記複数の第１のサーバのいずれかで確立しているセッションのデータについては同じ前記第１のサーバに振り分け、新規セッションのデータについては前記複数の第２のサーバのいずれかに振り分けるという内容の第２の振り分けルールのいずれかに基づいて動作するロードバランサと、を備えるサーバクラスタ、
および、
前記ロードバランサの前記要求の振り分け機能と、前記複数の第１のサーバおよび前記複数の第２のサーバの前記サービスを提供する機能であるクラスタ機能と、を連携制御する分散処理管理装置、
を有するサービス提供システムにおける分散処理管理装置による前記サーバクラスタのファイル更新方法であって、
前記分散処理管理装置は、新ファイル送信部と、サーバクラスタ起動部と、振り分けルール更新部と、セッション数監視部と、サーバクラスタ停止部と、を備えており、
前記新ファイル送信部は、前記複数の第２のサーバに前記新ファイルを送信し、
前記サーバクラスタ起動部は、前記新ファイルの送信後に、前記複数の第２のサーバを起動し、
前記振り分けルール更新部は、前記複数の第２のサーバの起動後に、前記ロードバランサに対して、前記第２の振り分けルールで動作するように指示し、
前記セッション数監視部は、前記複数の第１のサーバで確立されているセッションの数を監視し、
前記サーバクラスタ停止部は、前記セッション数監視部が前記複数の第１のサーバで確立されているセッションの数がゼロであると判定した場合に、前記複数の第１のサーバを停止する
ことを特徴とするファイル更新方法。
【請求項８】
前記分散処理管理装置は、さらに、エラー監視部を備えており、
前記エラー監視部は、前記ロードバランサが前記第２の振り分けルールで動作を開始してから、前記セッション数監視部によって前記複数の第１のサーバで確立されているセッションの数がゼロであると判定するまでの間に、前記複数の第２のサーバにエラーが発生したか否かを判定し、
前記振り分けルール更新部は、前記エラー監視部が前記複数の第２のサーバにエラーが発生したと判定した場合、前記第１の振り分けルールで動作するように前記ロードバランサに指示する
ことを特徴とする請求項７に記載のファイル更新方法。
【請求項９】
前記サービス提供システムにおける制御プロトコルとして、ＳＩＰ（Session Initiation Protocol）が用いられている
ことを特徴とする請求項７または請求項８に記載のファイル更新方法。
【請求項１０】
請求項４から請求項６のいずれか１項に記載の分散処理管理装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のサーバからなるサーバクラスタによって分散処理を行う場合に、分散処理を停止することなくサーバのファイル更新を行う技術に関する。
【背景技術】
【０００２】
近年、ＩＰ（Internet Protocol）電話のサービスを提供するＳＩＰ（Session Initiation Protocol）サーバや、Ｗｅｂサービスを提供するＨＴＴＰ（Hyper Text Transfer Protocol）サーバとして、システムの可用性や処理性能を向上させるために複数のサーバで１サービスを分散処理するサーバクラスタによって構成されるものが存在する。
【０００３】
サーバクラスタは、対向装置（ＩＰネットワークを介してサーバクラスタと通信する装置またはシステム）からは１台のサーバに見えるが、実際には複数のサーバが動作している。そして、一部のサーバが故障しても、その故障は外部に対して隠蔽される。つまり、例えば、サーバクラスタ内のサーバが１台故障しても、対向装置はそのサーバの故障を意識することなく継続してサービスを享受できる。
【０００４】
前記動作を実現させるために、サーバクラスタでは、複数のサーバにメッセージ（対向装置からの要求）を振り分けるロードバランサが各サーバの前段（ＩＰネットワークに近い側）に配備される。ロードバランサは、通常時は複数のサーバに対向装置から到着したメッセージを振り分け、サーバ障害検出時は障害発生サーバを避けてメッセージを他のサーバに振り分ける。なお、ＳＩＰサーバやＨＴＴＰサーバでは、サーバ側でセッションデータを管理するものがある。セッションデータは、複数のメッセージによって更新される状態データであり、例えばＩＰ電話における通話状態などが相当する。
【０００５】
高信頼なシステムにおいては、複数のサーバでサーバクラスタを構築し、セッションデータを冗長管理（複数のサーバで同じデータを保持）する。そして、あるサーバが故障した場合、他のサーバがセッションデータを引き継ぐことで、無停止での処理継続を可能としている。また、サーバクラスタを構成するサーバで使用するファイルの更新（パッチやアップデートなど）を行う場合でも、セッションデータが冗長化されているので、サーバ１台ずつファイル更新を行うことにより、サーバクラスタ全体としては無停止でファイル更新を行うことができる（ローリングアップデート方式）。
【０００６】
ただし、サーバ１台ずつファイル更新を行う方式の場合、一時的にバージョンの違うファイルが並行に動作することになる。このとき、旧バージョンで生成したメモリ上のセッションデータと、新バージョンで生成するメモリ上のセッションデータとの形式に違いがあると、処理に矛盾が生じる場合がある。そこで、非特許文献１では、サーバのメモリ上に、セッションデータが存在している場合でも、全てのセッション処理を引き継ぎつつ、無停止でのファイル更新を実現する方法が示されている。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】下間良樹、野口昌彦、「高信頼通信ノードのファイル更新における引継データ救済方式の検討」、２００５年電子情報通信学会総合大会、電子情報通信学会、２００５年、p.４９
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、非特許文献１の方式は１対１のＡＣＴ（ACTive）−ＳＢＹ(StandBY)構成のサーバクラスタを対象とした方式であり、ＡＣＴ−ＳＢＹ構成以外の構成（以下、「Ｎ台構成」という。）のサーバクラスタにおいてはファイル更新のための別の手段が必要になってくる。つまり、従来の新旧バージョンが混在できないＮ台構成のサーバクラスタにおいて、各サーバのファイル更新を行う場合、一度全てのサーバを停止（「処理の停止」を意味し、以下同様）してから再開（起動）させる必要があり、一時的に対向装置からの要求を処理できない状態が発生する。
【０００９】
したがって、Ｎ台構成のサーバクラスタにおいて、分散処理を停止することなくサーバのファイル更新が行われることが望まれていた。また、セッションデータが存在するサーバクラスタにおいても、新旧バージョンのセッションデータの混在時に呼損を発生させずにサーバのファイル更新を行う方式が望まれていた。
【００１０】
そこで、本発明は、複数のサーバを有するサーバクラスタによって分散処理を行う場合に、分散処理を停止することなくサーバのファイル更新を行うことを課題とする。
【課題を解決するための手段】
【００１１】
前記課題を解決するために、本発明は、ネットワークを介して、対向装置に対し、分散処理によって、セッションを構成するデータを送受信して所定のファイルに基づいてサービスを提供する複数の第１のサーバと、前記所定のファイルを更新したファイルである新ファイルを取得した場合、前記複数の第１のサーバに代わって、前記新ファイルに基づいて前記サービスを提供する複数の第２のサーバと、前記対向装置からの要求に関して、前記複数の第１のサーバのいずれかに振り分けるという内容の第１の振り分けルール、または、前記複数の第１のサーバのいずれかで確立しているセッションのデータについては同じ前記第１のサーバに振り分け、新規セッションのデータについては前記複数の第２のサーバのいずれかに振り分けるという内容の第２の振り分けルールのいずれかに基づいて動作するロードバランサと、を備えるサーバクラスタ、および、前記ロードバランサの前記要求の振り分け機能と、前記複数の第１のサーバおよび前記複数の第２のサーバの前記サービスを提供する機能であるクラスタ機能と、を連携制御する分散処理管理装置、を有するサービス提供システムであって、前記分散処理管理装置は、前記複数の第２のサーバに前記新ファイルを送信する新ファイル送信部と、前記新ファイルの送信後に、前記複数の第２のサーバを起動するサーバクラスタ起動部と、前記複数の第２のサーバの起動後に、前記ロードバランサに対して、前記第２の振り分けルールで動作するように指示する振り分けルール更新部と、前記複数の第１のサーバで確立されているセッションの数を監視するセッション数監視部と、前記セッション数監視部が前記複数の第１のサーバで確立されているセッションの数がゼロであると判定した場合に、前記複数の第１のサーバを停止するサーバクラスタ停止部と、を有することを特徴とする。
【００１２】
かかる発明によれば、分散処理管理装置が、新ファイルを複数の第２のサーバに送信してから、その複数の第２のサーバを起動し、ロードバランサに対して第２の振り分けルールで動作するよう指示し、複数の第１のサーバで確立されているセッションの数がゼロになった場合にその複数の第１のサーバを停止することで、サーバクラスタによる分散処理を停止することなくサーバのファイル更新を行うことができる。
【００１３】
前記課題を解決するために、本発明は、前記分散処理管理装置が、前記ロードバランサが前記第２の振り分けルールで動作を開始してから、前記セッション数監視部によって前記複数の第１のサーバで確立されているセッションの数がゼロであると判定するまでの間に、前記複数の第２のサーバにエラーが発生したか否かを判定するエラー監視部を、さらに備え、前記振り分けルール更新部は、前記エラー監視部が前記複数の第２のサーバにエラーが発生したと判定した場合、前記第１の振り分けルールで動作するように前記ロードバランサに指示することを特徴とする。
【００１４】
かかる発明によれば、複数の第１のサーバから複数の第２のサーバへの引き継ぎ中に、複数の第２のサーバにエラーが発生した場合に、振り分けルールを第１の振り分けルールに戻すことで、ファイル更新が失敗したことによる影響を小さく抑えることができる。
【００１５】
前記課題を解決するために、本発明は、サービス提供システムにおける制御プロトコルとして、ＳＩＰが用いられていることを特徴とする。かかる発明によれば、広く使用されている制御プロトコルであるＳＩＰを用いた技術に本発明を適用することができる。
【００１６】
また、本発明は、前記した分散処理管理装置としてコンピュータを機能させるためのプログラムである。かかる発明によれば、このプログラムをインストールされたコンピュータに、このプログラムに基づいた各機能を実現させることができる。
【発明の効果】
【００１７】
本発明によれば、複数のサーバを有するサーバクラスタによって分散処理を行う場合に、分散処理を停止することなくサーバのファイル更新を行うことができる。
【図面の簡単な説明】
【００１８】
【図１】本実施形態におけるサービス提供システムを含む全体図である。
【図２】サーバクラスタを構成するサーバのファイル更新のイメージ図である。
【図３】サーバクラスタを構成するサーバのファイル更新の処理を示すフローチャートである。
【発明を実施するための形態】
【００１９】
以下、図面を参照して、本発明を実施するための形態（以下、「実施形態」という。）について説明する。図１に示すように、本実施形態のサービス提供システムＳは、サーバクラスタ１００と、プラットフォーム管理装置４００（分散処理管理装置）とを備えて構成される。
【００２０】
サーバクラスタ１００は、ネットワークの制御プロトコルとして、ＶｏＩＰ（Voice over Internet Protocol）を応用したインターネット電話などで用いられる通話制御プロトコルの１つであるＳＩＰ（Session Initiation Protocol）を使用するものとする。サーバクラスタ１００は、ＩＰネットワーク５００を介して接続されたサーバ６１０や端末６２０（以下、「対向装置６００」という。）に対してサービスを提供する。
【００２１】
なお、ロードバランサ２００とプラットフォーム管理装置４００は、本実施形態では別筐体としているが、同一筐体としてもよい。プラットフォーム管理装置４００は保守ネットワーク７００に接続されており、保守者はプラットフォーム管理装置４００を利用してサーバクラスタ１００の管理を行う。
【００２２】
サーバクラスタ１００は、ロードバランサ２００と複数のサーバ３００とを備えて構成される。なお、本実施形態において、従来技術と比較して特徴的なのはプラットフォーム管理装置４００である。したがって、ロードバランサ２００とサーバ３００とについては、図示や説明を簡略化する。各サーバ３００は、対向装置６００に対してサービスを提供するためのアプリケーション３２０を有する。
【００２３】
ロードバランサ２００は、振り分け機能２１０を有する。振り分け機能２１０は、振り分け先制御機能２１１と状態管理機能２１２とを具備する。振り分け先制御機能２１１とは、対向装置６００から届いたＩＰパケットを各サーバ３００に振り分ける機能である。振り分け先の選択方法としては、ラウンドロビンや重み付けラウンドロビンや、サーバ３００の負荷に応じた選択などの方法がある。また、１セッションに対して複数メッセージを処理するようなアプリケーション３２０の場合、２回目以降の信号（データ）は、同一のサーバ３００に振り分ける。
【００２４】
１セッションに対して複数メッセージを処理するようなアプリケーション３２０とは、例えば、ＳＩＰのＩＮＶＩＴＥ（通話の開始要求を行い、セッションを開始するリクエスト）〜ＡＣＫ（送信先コンピュータから送信元コンピュータへ送られる、データ送信が正常に終了したことを示す信号）〜ＢＹＥ（通話の終了要求を行い、セッションを終了するリクエスト）や、ＨＴＴＰ（Hyper Text Transfer Protocol）のクッキーを用いたセッション管理のようなアプリケーションである。状態管理機能２１２は、信号を跨いで振り分け先データを保持する機能である。つまり、状態管理機能２１２は、ＳＩＰのＣＡＬＬ−ＩＤ（IDentification）のようなセッションを示す識別子に対して、どのサーバ３００に振り分けたかをデータとして保持する機能である。ロードバランサ２００は、２回目以降の信号については、この状態管理機能２１２を参照することで、適切な振り分け先のサーバ３００を特定することができる。
【００２５】
対向装置６００は、ロードバランサ２００の振り分け機能２１０が公開するＵＤＰ（User Datagram Protocol）やＴＣＰ（Transmission Control Protocol）のポートを、サーバクラスタ１００への宛先ポートとして認識する。対向装置６００から送信されるＳＩＰのＩＮＶＩＴＥやＢＹＥのようなリクエスト信号や、成功応答やエラー応答などのメッセージは、ロードバランサ２００の振り分け機能２１０で受信され、後段（ＩＰネットワークから遠い側）の複数のサーバ３００に振り分けられる。
【００２６】
サーバ３００は、クラスタ機能３１０によって、対向装置６００に対するサーバクラスタ１００の機能を実現する。クラスタ機能３１０は、アプリケーション３２０に対して、対向装置６００に信号を返すための手段やセッションデータへのアクセス手段を提供する。ここでの手段とは、例えば、ＨＴＴＰ  ＳｅｒｖｌｅｔやＳＩＰ  ＳｅｒｖｌｅｔのようなＡＰＩ(Application Program Interface)のことである。
【００２７】
対向装置６００とサーバクラスタ１００とが信号を送受信する場合、実際にアプリケーション３２０の処理を実行しているのは分散されたサーバ３００である。しかし、対向装置６００からすると、ロードバランサ２００上の振り分け機能２１０と信号をやりとりしているように見える。つまり、サーバクラスタ１００において、内部サーバ構成が隠蔽される。
【００２８】
したがって、各サーバ３００上のアプリケーション３２０が信号を送信する場合も、対向装置６００に対して直接、ＩＰパケットを送らず、クラスタ機能３１０が提供するトランスポート層転送機能３１１を利用して信号を送信する。実際のセッションデータは、分散されたサーバ３００またはデータベースのような外部の装置で管理される。しかし、クラスタ機能３１０は、データの位置（ＩＰアドレス、メモリアドレス等）やアクセス手段（ＳＱＬ（Structured Query Language）送信等）をアプリケーション３２０に意識させることなく、データのＩＤ情報（セッションＩＤ）のみでアクセスさせる機能であるセッション管理機能３１２を提供する。
【００２９】
これらのクラスタ機能３１０を実現するＡＰＩにより、アプリケーション３２０は分散処理されていることを意識せずにアプリケーション処理を実行できる。また、複数のサーバ３００においてクラスタ機能３１０がクラスタメンバシップを構成し、ロードバランサ２００の振り分け機能２１０がそれらのサーバ３００に処理を振り分けることにより、サーバ３００を追加すれば、サーバクラスタ１００の処理能力を向上させることができる。
【００３０】
ここで仮に、従来技術の手法を用いると、クラスタ機能３１０を実現するソフトウェアを更新する場合や、他のクラスタ機能３１０に置き換える場合、クラスタ機能３１０を一時的に全サーバ３００で停止し、再起動しなければならない。このとき、サーバクラスタ１００が再起動し終わるまでの間、対向装置６００に対するサービスは停止状態となる。
【００３１】
本実施形態では、ロードバランサ２００の振り分け機能２１０と、クラスタ機能３１０とを連携制御するプラットフォーム管理装置４００により、サーバクラスタ１００全体としては無停止でファイル更新を行う。なお、本実施形態の前提として、ロードバランサ２００における振り分け機能２１０上の振り分け論理（振り分けのアルゴリズム）は、外部から更新可能であるものとする。また、振り分け先データを保存するクラスタ機能３１０は、管理しているセッションデータの総数やサーバ３００ごとの数を外部へ公開する機能を有するものとする。これらの２つの前提は、従来技術により実現できる。
【００３２】
プラットフォーム管理装置４００は、コンピュータ装置であり、制御手段４１０、記憶手段４２０、通信手段４３０、入力手段４４０および出力手段４５０を備えて構成される。制御手段４１０は、例えばＣＰＵ（Central Processing Unit）とメモリによって構成され、新ファイル送信部４１１、サーバクラスタ起動部４１２、振り分けルール更新部４１３、セッション数監視部４１４、エラー監視部４１５およびサーバクラスタ停止部４１６を備えている（詳細は後記）。
【００３３】
記憶手段４２０は、ＨＤＤ（Hard Disk Drive）などから構成され、ロードバランサ２００の振り分け機能２１０とクラスタ機能３１０を連携制御するために必要な各種情報を記憶する。
【００３４】
通信手段４３０は、ロードバランサ２００やクラスタ機能３１０と通信するための通信インタフェースや通信ポートから構成される。
【００３５】
入力手段４４０は、プラットフォーム管理装置４００を操作する保守者が情報を入力する手段であり、例えばキーボードやマウスなどから構成される。
【００３６】
出力手段４５０は、情報を出力する手段であり、例えば、液晶表示機やスピーカなどから構成される。
【００３７】
次に、サーバクラスタ１００を構成するサーバ３００のファイル更新のイメージについて説明する。図２に示すように、まず、サーバ（１）、（２）（複数のサーバ３００の一部。特許請求の範囲における「第１のサーバ」）が、クラスタ機能３１０でサーバクラスタ１００（旧）を構成し、対向装置６００からの要求を受け付けているものとする。その後、保守者がプラットフォーム管理装置４００を操作して、サーバ（３）、（４）（複数のサーバ３００の一部。特許請求の範囲における「第２のサーバ」）に新たなサーバクラスタ１００（新）を構成して、サーバ（３）、（４）で処理を引き継ぐことを想定する。この場合、対向装置６００からの要求を継続して受けて処理しつつ、サーバ（１）、（２）からサーバ（３）、（４）に処理を引き継ぐことが、本実施形態の特徴である。
【００３８】
続いて、サーバクラスタ１００を構成するサーバ３００のファイル更新の処理について説明する。ここでは、図２に示すように、サーバ（１）、（２）からサーバ（３）、（４）に処理を引き継ぐことを前提とする。また、サーバ（１）、（２）が稼動しており、サーバ（３）、（４）が稼動していない状態から以下の処理が始まるものとする。なお、サーバ（１）、（２）は旧ファイル（更新前のファイル）に基づいて動作し、サーバ（３）、（４）は新ファイル（更新後のファイル）に基づいて動作する。
【００３９】
図３に示すように（適宜図１、図２参照）、まず、保守者がプラットフォーム管理装置４００の入力手段４４０を用いて前記ファイル更新のための操作をすると、新ファイル送信部４１１は、新たなサーバクラスタ１００を構成するための新ファイルをサーバ（３）、（４）に送信する（ステップＳ１）。
【００４０】
新ファイル送信が終了した後（ステップＳ１の後）、サーバクラスタ起動部４１２は、サーバ（３）、（４）に送信した新ファイルを用いて、新たなサーバクラスタ１００としてサーバ（３）、（４）を起動する（ステップＳ２）。
【００４１】
次に、振り分けルール更新部４１３は、ロードバランサ２００に対して振り分けルールの更新を要求する（ステップＳ３）。ここで、更新前の振り分けルール（第１の振り分けルール）は、ロードバランサ２００が、対向装置６００からの信号をサーバ（１）、（２）に振り分けるという内容である。更新後の振り分けルール（第２の振り分けルール）は、ロードバランサ２００が、対向装置６００からの信号について、既存セッションに関する信号は状態管理機能２１２を用いて同一セッション内で同一のサーバ３００に振り分け、新規セッションに関する信号はサーバ（３）、（４）に振り分けるという内容である。
【００４２】
このような振り分けにより、新規セッションの生成と切断が繰り返されるうちに、次第にサーバ（１）、（２）で処理する信号数が減っていく。セッション数監視部４１４は、クラスタ機能３１０に対してサーバ（１）、（２）で処理しているセッション数を監視する（ステップＳ４）。
【００４３】
また、エラー監視部４１５は、サーバ（３）、（４）のハードウェアや送信した新ファイルに不具合があった場合に備えるため、サーバ（３）、（４）に対してエラー監視を実施する（ステップＳ５）。図３での図示を省略しているが、エラー監視部４１５がサーバ（３）、（４）のエラー発生を検知した場合、振り分けルール更新部４１３はロードバランサ２００が用いる振り分けルールを、更新前の振り分けルールに戻す。これにより、ファイル更新が失敗したときの影響を小さく抑えることが可能となる。
【００４４】
ステップＳ５の後、セッション数監視部４１４は、サーバ（１）、（２）で処理されているセッション数がゼロか否かを判定し（ステップＳ６）、ゼロでなければ（Ｎｏ）ステップＳ４に戻り、ゼロであれば（Ｙｅｓ）ステップＳ７に進む。
【００４５】
ステップＳ７において、サーバクラスタ停止部４１６は、サーバ（１）、（２）を停止する。なお、このステップＳ７の処理は、サーバ（３）、（４）でエラーが発生していないことが条件である。
【００４６】
このようにして、本実施形態のサービス提供システムＳによれば、前記手順により、ＳＩＰやＨＴＴＰ等のセッションデータを持ったプロトコル処理を実現するサーバクラスタ１００を構成するサーバ３００のファイル更新を、処理中のセッション処理を破棄することなく、無停止で実現することが可能となり、システムの可用性を向上させることが可能となる。つまり、ネットワークを介して、対向装置に対し、分散処理によって、セッションを構成するデータを送受信してサービスを提供する複数のサーバを有するサーバクラスタによって分散処理を行う場合に、分散処理を停止することなくサーバのファイル更新を行うことができる。
【００４７】
また、サーバ（１）、（２）からサーバ（３）、（４）への引き継ぎ中に、サーバ（３）、（４）にエラーが発生したときは、すぐに、ロードバランサ２００が用いる振り分けルールを、更新後の振り分けルールから更新前の振り分けルールに戻すことで、元のサーバ（サーバ（１）、（２））に処理を戻すことができるため、動作の信頼性が向上する。また、広く使用されている制御プロトコルであるＳＩＰを用いた技術に本発明を適用することができる。
【００４８】
また、プラットフォーム管理装置４００を構成するコンピュータに実行させるためのプログラムを作成し、コンピュータにインストールすることにより、コンピュータは、そのプログラムに基づいた各機能を実現することができる。
【００４９】
以上で実施形態の説明を終えるが、本発明の態様はこれらに限定されるものではない。例えば、１台のサーバ３００で複数のクラスタ機能３１０を起動可能である場合、サーバ（１）と同じハードウェア上でサーバ（３）を動作させ、また、サーバ（２）と同じハードウェア上にサーバ（４）を動作させることにより、ハードウェア２台でのファイル更新も可能である。また、前記手順（図３のステップＳ１〜Ｓ７）のうち一部を保守者による手動操作によって実施してもよい。
【００５０】
また、ロードバランサ２００が故障した場合に備えて、ホットスタンバイ状態の別のロードバランサを用意しておき、ロードバランサ２００の障害時には瞬時にその別のロードバランサに切り替えれば、ロードバランサ２００の障害による影響を最小限に抑えることができる。
【００５１】
また、本実施形態では、保守者がプラットフォーム管理装置４００を操作してサーバクラスタ１００の管理を行うものとしたが、それ以外に、保守者が保守ネットワーク７００を通じて遠隔でつながっている保守端末（一般的なＰＣ（Personal Computer）など）を操作して遠隔からプラットフォーム管理装置４００を制御することでサーバクラスタ１００の管理を行うものとしてもよい。
【００５２】
また、サーバ３００の数は、複数であれば何台であってもよい。その他、具体的な構成について、本発明の主旨を逸脱しない範囲で適宜変更が可能である。
【符号の説明】
【００５３】
１００  サーバクラスタ
２００  ロードバランサ
２１０  振り分け機能
２１１  振り分け先制御機能
２１２  状態管理機能
３００  サーバ
３１０  クラスタ機能
３１１  トランスポート層転送機能
３１２  セッション管理機能
３２０  アプリケーション
４００  プラットフォーム管理装置（分散処理管理装置）
４１０  制御手段
４１１  新ファイル送信部
４１２  サーバクラスタ起動部
４１３  振り分けルール更新部
４１４  セッション数監視部
４１５  エラー監視部
４１６  サーバクラスタ停止部
４２０  記憶手段
４３０  通信手段
４４０  入力手段
４５０  出力手段
５００  ＩＰネットワーク
６００  対向装置
６１０  サーバ
６２０  端末
７００  保守ネットワーク
Ｓ      サービス提供システム
【図１】
2011096161.tif 000003
【図２】
2011096161.tif 000004
【図３】
2011096161.tif 000005