(57)【要約】【課題】分散処理システムにおけるサーバ装置が減設された場合に、処理の継続が可能な分散処理システムに用いられるサーバ装置、分散処理方法およびプログラムを提供する。【解決手段】サーバ装置３０は、減設通知がある場合に、既存処理ＩＤデータベース３４ａに既存処理ＩＤが記憶されていることを判別する信号解析部１２０と、既存処理ＩＤデータベース３４ａに既存処理ＩＤが記憶されている場合、減設対象サーバ装置３０Ａが処理中のデータに関する信号を、引き続き当該減設対象サーバ装置３０Ａに振り分ける信号振分部１３０と、既存処理ＩＤデータベース３４ａに既存処理ＩＤの記憶がなくなった場合に通知する既存処理ＩＤデータベース監視部１５０と、通知を受けた場合、減設対象サーバ装置３０Ａの減設指示を行う減設指示部１６０と、を備える。【選択図】図２
2019028672.tif 000002
【特許請求の範囲】
【請求項１】
ユーザ端末装置からの呼信号を複数のサーバ装置によって処理する分散処理システムに用いられるサーバ装置であって、
前記サーバ装置は、
減設通知を取得する減設通知取得部と、
減設対象サーバ装置が処理している既存処理のＩＤを記憶する既存処理ＩＤデータベースを有する記憶部と、
前記分散処理システムに対して前記減設対象サーバ装置の減設通知がある場合に、前記既存処理ＩＤデータベースに前記既存処理ＩＤが記憶されていることを判別する解析部と、
前記既存処理ＩＤデータベースに前記既存処理ＩＤが記憶されている場合、前記減設対象サーバ装置が処理中のデータに関する信号を、引き続き当該減設対象サーバ装置に振り分ける信号振分部と、
前記既存処理ＩＤデータベースに前記既存処理ＩＤが記憶されていることを判定し、当該既存処理ＩＤデータベースに前記既存処理ＩＤの記憶がなくなった場合に通知する監視部と、
前記監視部から通知を受けた場合、前記減設対象サーバ装置の減設指示を行う減設指示部と、を備える
ことを特徴とするサーバ装置。
【請求項２】
前記既存処理ＩＤデータベースを管理する管理部を備え、
前記管理部は、
前記既存処理ＩＤデータベースに、前記減設対象サーバ装置が処理している前記既存処理ＩＤを記憶する既存処理ＩＤデータベース作成部と、
前記減設通知取得部から減設通知を受けた場合、前記既存処理ＩＤデータベースから前記減設対象サーバ装置が処理している前記既存処理ＩＤを抽出する抽出部と、
前記減設対象サーバ装置が処理中の既存処理が終了した場合、前記既存処理ＩＤデータベースから該当の前記既存処理ＩＤを削除する削除部と、を備える
ことを特徴とする請求項１に記載のサーバ装置。
【請求項３】
前記監視部は、所定周期で、前記既存処理ＩＤデータベースに前記既存処理ＩＤが記憶されているか否かを監視する
ことを特徴とする請求項１に記載のサーバ装置。
【請求項４】
前記減設指示部は、
前記監視部から通知を受けた場合、前記分散処理システムの外のサーバ減設部に減設対象サーバ装置の減設指示を出力し、前記サーバ減設部は、減設指示を受けて、前記減設対象サーバ装置を減設する
ことを特徴とする請求項１に記載のサーバ装置。
【請求項５】
前記既存処理ＩＤは、現時点でセッションが成立している既存呼の呼信号に含まれるコールＩＤである
ことを特徴とする請求項１ないし請求項３のいずれか一項に記載のサーバ装置。
【請求項６】
ユーザ端末装置からの呼信号を複数のサーバ装置によって処理する分散処理システムに用いられるサーバ装置による分散処理方法であって、
前記サーバ装置は、減設対象サーバ装置が処理している既存処理のＩＤを記憶する既存処理ＩＤデータベースを有する記憶部を備えており、
前記サーバ装置が、
減設通知を取得するステップと、
前記分散処理システムに対して前記減設対象サーバ装置の減設通知がある場合に、前記既存処理ＩＤデータベースに前記既存処理ＩＤが記憶されていることを判別するステップと、
前記既存処理ＩＤデータベースに前記既存処理ＩＤが記憶されている場合、前記減設対象サーバ装置が処理中のデータに関する信号を、引き続き当該減設対象サーバ装置に振り分けるステップと、
前記既存処理ＩＤデータベースに前記既存処理ＩＤが記憶されていることを判定し、当該既存処理ＩＤデータベースに前記既存処理ＩＤの記憶がなくなった場合に通知するステップと、
前記通知を受けた場合、前記減設対象サーバ装置の減設指示を行うステップと、
を実行することを特徴とする分散処理方法。
【請求項７】
ユーザ端末装置からの呼信号を複数のサーバ装置によって処理する分散処理システムに用いられるサーバ装置としてのコンピュータを、
減設通知を取得する減設通知取得手段、
減設対象サーバ装置が処理している既存処理のＩＤを記憶する既存処理ＩＤデータベースを管理する管理手段、
前記分散処理システムに対して前記減設対象サーバ装置の減設通知がある場合に、前記既存処理ＩＤデータベースに前記既存処理ＩＤが記憶されていることを判別する解析手段、
前記既存処理ＩＤデータベースに前記既存処理ＩＤが記憶されている場合、前記減設対象サーバ装置が処理中のデータに関する信号を、引き続き当該減設対象サーバ装置に振り分ける信号振分手段、
前記既存処理ＩＤデータベースに前記既存処理ＩＤが記憶されていることを判定し、当該既存処理ＩＤデータベースに前記既存処理ＩＤの記憶がなくなった場合に通知する監視手段、
前記通知を受けた場合、前記減設対象サーバ装置の減設指示を行う減設指示手段、として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のサーバ装置によって呼信号の分散処理を行う技術に関する。
【背景技術】
【０００２】
従来、呼信号を複数のサーバ装置で分散処理する分散処理システムでは、ミドルウェア内の機能部が呼信号に関する情報を保持していることが前提である（特許文献１参照）。すなわち、呼の処理に対する状態はアプリケーションで保持せずに、ミドルウェア内に保持させる。
このような従来の分散処理システムの減設時の動作は、次の通りである。分散処理システムが、自身で保持している処理状態データを他のサーバ装置に複製として作成し、減設指示が生じた際、その複製が原本に昇格し、そのサーバ装置に処理が振り分けられることによって、処理の継続が可能となる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−２５７２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、上記のような分散処理システムにあたっては、アプリケーションが処理状態を自身で保持する場合、分散処理システムにおけるサーバ装置を減設すると、分散処理システム内に処理状態データが保持されていないので、他のサーバ装置に複製を作ることができず、それに伴って複製から原本へ昇格させることもできない。
そのため、新規呼が減設されたサーバ装置に振り分けられた場合には、減設されたサーバ装置に振り分けることができず、既存呼が切れてしまうなど処理の継続が不可能となってしまう。
【０００５】
このような背景を鑑みて本発明がなされたのであり、本発明は、分散処理システムにおけるサーバ装置が減設された場合に、処理の継続が可能な分散処理システムに用いられるサーバ装置、分散処理方法およびプログラムを提供することを課題とする。
【課題を解決するための手段】
【０００６】
前記した課題を解決するため、請求項１に記載の発明は、ユーザ端末装置からの呼信号を複数のサーバ装置によって処理する分散処理システムに用いられるサーバ装置であって、前記サーバ装置は、減設通知を取得する減設通知取得部と、減設対象サーバ装置が処理している既存処理のＩＤを記憶する既存処理ＩＤデータベースを有する記憶部と、前記分散処理システムに対して前記減設対象サーバ装置の減設通知がある場合に、前記既存処理ＩＤデータベースに前記既存処理ＩＤが記憶されていることを判別する解析部と、前記既存処理ＩＤデータベースに前記既存処理ＩＤが記憶されている場合、前記減設対象サーバ装置が処理中のデータに関する信号を、引き続き当該減設対象サーバ装置に振り分ける信号振分部と、前記既存処理ＩＤデータベースに前記既存処理ＩＤが記憶されていることを判定し、当該既存処理ＩＤデータベースに前記既存処理ＩＤの記憶がなくなった場合に通知する監視部と、前記監視部から通知を受けた場合、前記減設対象サーバ装置の減設指示を行う減設指示部と、を備えることを特徴とするサーバ装置とした。
【０００７】
また、請求項６に記載の発明は、ユーザ端末装置からの呼信号を複数のサーバ装置によって処理する分散処理システムに用いられるサーバ装置による分散処理方法であって、前記サーバ装置は、減設対象サーバ装置が処理している既存処理のＩＤを記憶する既存処理ＩＤデータベースを有する記憶部を備えており、前記サーバ装置が、減設通知を取得するステップと、前記分散処理システムに対して前記減設対象サーバ装置の減設通知がある場合に、前記既存処理ＩＤデータベースに前記既存処理ＩＤが記憶されていることを判別するステップと、前記既存処理ＩＤデータベースに前記既存処理ＩＤが記憶されている場合、前記減設対象サーバ装置が処理中のデータに関する信号を、引き続き当該減設対象サーバ装置に振り分けるステップと、記既存処理ＩＤデータベースに前記既存処理ＩＤが記憶されていることを判定し、当該既存処理ＩＤデータベースに前記既存処理ＩＤの記憶がなくなった場合に通知するステップと、前記通知を受けた場合、前記減設対象サーバ装置の減設指示を行うステップと、を実行することを特徴とするサーバ装置による分散処理方法とした。
【０００８】
また、請求項７に記載の発明は、ユーザ端末装置からの呼信号を複数のサーバ装置によって処理する分散処理システムに用いられるサーバ装置としてのコンピュータを、減設通知を取得する減設通知取得手段、減設対象サーバ装置が処理している既存処理のＩＤを記憶する既存処理ＩＤデータベースを管理する管理手段、前記分散処理システムに対して前記減設対象サーバ装置の減設通知がある場合に、前記既存処理ＩＤデータベースに前記既存処理ＩＤが記憶されていることを判別する解析手段、前記既存処理ＩＤデータベースに前記既存処理ＩＤが記憶されている場合、前記減設対象サーバ装置が処理中のデータに関する信号を、引き続き当該減設対象サーバ装置に振り分ける信号振分手段、前記既存処理ＩＤデータベースに前記既存処理ＩＤが記憶されていることを判定し、当該既存処理ＩＤデータベースに前記既存処理ＩＤの記憶がなくなった場合に通知する監視手段、前記通知を受けた場合、前記減設対象サーバ装置の減設指示を行う減設指示手段、として機能させるためのプログラムである。
【０００９】
このようにすることで、分散処理システムにおけるサーバ装置が減設された場合に、減設が行われたとしたとしても、既存の処理は切断されることなく継続することができる。
【００１０】
また、請求項２に記載の発明は、前記既存処理ＩＤデータベースを管理する管理部を備え、前記管理部は、前記既存処理ＩＤデータベースに、前記減設対象サーバ装置が処理している前記既存処理ＩＤを記憶する既存処理ＩＤデータベース作成部と、前記減設通知取得部から減設通知を受けた場合、前記既存処理ＩＤデータベースから前記減設対象サーバ装置が処理している前記既存処理ＩＤを抽出する抽出部と、前記減設対象サーバ装置が処理中の既存処理が終了した場合、前記既存処理ＩＤデータベースから該当の前記既存処理ＩＤを削除する削除部と、を備えることを特徴とする。
【００１１】
このようにすることで、減設通知を受けると、既存処理ＩＤデータベースを作成し、減設対象サーバ装置が処理している既存処理ＩＤ（コールＩＤ）を既存処理ＩＤデータベースから抽出することができる。呼が終了した場合、既存処理ＩＤデータベースから既存処理ＩＤを削除することができる。既存処理ＩＤデータベースを確認することで、減設対象サーバ装置の既存処理状態を判定することができる。
【００１２】
また、請求項３に記載の発明は、前記監視部が、所定周期で、前記既存処理ＩＤデータベースに前記既存処理ＩＤが記憶されているか否かを監視することを特徴とする。
【００１３】
このようにすることで、既存処理ＩＤデータベースに既存処理ＩＤの記憶がなくなったこと（例えば、減設対象サーバ装置の呼がなくなる）を判別することができ、サーバ減設部に減設可能指示を出すことができる。
【００１４】
また、請求項４に記載の発明は、前記減設指示部が、前記監視部から通知を受けた場合、前記分散処理システムの外のサーバ減設部に減設対象サーバ装置の減設指示を出力し、前記サーバ減設部は、減設指示を受けて、前記減設対象サーバ装置を減設することを特徴とする。
【００１５】
このように、減設対象サーバ装置の処理がなくなったことを判別するので、既存の処理は切断されることなく最終的に減設指示を出すことができ、サーバ装置の減設を完了することができる。
【００１６】
また、請求項５に記載の発明は、前記既存処理ＩＤが、現時点でセッションが成立している既存呼の呼信号に含まれるコールＩＤであることを特徴とする。
【００１７】
このようにすることで、既存処理ＩＤは、現時点でセッションが成立している既存呼の呼信号に含まれるコールＩＤであるので、分散処理システムにおけるサーバ装置が減設された場合に、減設が行われたとしたとしても、既存呼は切断されることなく継続することができる。
【発明の効果】
【００１８】
本発明によると、分散処理システムにおけるサーバ装置が減設された場合に、処理の継続が可能な分散処理システムに用いられるサーバ装置、分散処理方法およびプログラムを提供することができる。
【図面の簡単な説明】
【００１９】
【図１】本発明の実施形態に係る分散処理システムを模式的に示す機能ブロック図である。
【図２】本発明の実施形態に係る分散処理システムのサーバ装置のミドルウェア部の機能ブロック図である。
【図３】本発明の実施形態に係る分散処理システムの既存処理ＩＤデータベースに記憶されている既存処理ＩＤ（コールＩＤ）の一例を示す図である。
【図４】本発明の実施形態に係る分散処理システムの既存処理ＩＤデータベース管理部によって実行される、既存処理ＩＤデータベースの作成／抽出／削除を示すフローチャートである。
【図５】本発明の実施形態に係る分散処理システムの信号解析部および信号振分部の信号の振り分け処理を示すフローチャートである。
【図６】本発明の実施形態に係る分散処理システムの既存処理ＩＤデータベース監視部および減設指示部によって実行される、減設対象サーバ装置の減設を示すフローチャートである。
【発明を実施するための形態】
【００２０】
以下、図面を参照して本発明を実施するための形態（以下、「本実施形態」という）における分散処理システムに用いられるサーバ装置等について説明する。
＜分散処理システム＞
図１は、本発明の実施形態に係る分散処理システムを模式的に示す機能ブロック図である。
図１に示すように、本発明の実施形態に係る分散処理システム１は、複数のユーザ端末装置１０（１０Ａ，１０Ｂ，１０Ｃ，…）間のセッションを成立させるための呼信号を複数のサーバ装置３０（３０Ａ，３０Ｂ，３０Ｃ，…）によって分散処理するシステムである。分散処理システム１は、複数のユーザ端末装置１０と通信可能に接続されるバランサ装置２０と、バランサ装置２０および他のサーバ装置３０と通信可能に接続される複数のサーバ装置３０と、を備える。
また、分散処理システム１の外部には、分散処理システム１からの減設指示を受けて、減設対象のサーバ装置３０を減設するサーバ減設部４０が設置される。
【００２１】
＜バランサ装置＞
バランサ装置２０は、ユーザ端末装置１０によって送信された呼信号を受信し、受信された呼信号を単純な規則で複数のサーバ装置３０のいずれかに送信する、いわゆるロードバランサ（ＬＢ：Load balancer）である。
【００２２】
＜サーバ装置＞
サーバ装置（ＶＭ：Virtual Machine）３０は、ユーザ端末装置１０によって送信された呼信号をバランサ装置２０を介して受信し、受信された呼信号をハッシュ化したハッシュ値に基づいて、当該呼信号を自サーバ装置３０を含む複数のサーバ装置３０（すなわち、分散処理システム１に既設のサーバ装置３０）のいずれかに振り分ける（転送する）。サーバ装置３０は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read-Only Memory）、ＲＡＭ（Random Access Memory）、入出力回路等によって構成されており、機能部として、アプリケーション部３１と、アプリケーション部３１用の記憶部３２と、ミドルウェア部３３と、ミドルウェア部３３用の記憶部３４（記憶手段）と、を備える。
なお、サーバ装置３０には、呼を処理するＳＩＰ（Session Initiation Protocol）サーバ、呼以外の処理を行う、例えばＷｅｂサーバが挙げられる。
【００２３】
＜アプリケーション部＞
アプリケーション部３１は、サーバ装置３０のＣＰＵのうち、アプリケーションの機能を実行する機能部である。アプリケーション部３１は、呼信号に関する情報を記憶部３２に記憶させる。アプリケーション部３１は、記憶部３２に記憶された呼信号に関する情報に基づいて、後記するミドルウェア部３３によって自サーバ装置３０に振り分けられた呼信号によるセッションの制御を行う。
【００２４】
＜ミドルウェア部＞
ミドルウェア部３３は、サーバ装置３０のＣＰＵのうち、ミドルウェアの機能を実行する機能部である。ミドルウェア部３３は、減設指示が行われても、減設対象サーバ装置３０Ａで処理中のデータに関する信号は引き続きその減設対象サーバ装置３０Ａに振り分け、すべての呼がなくなった段階で減設対象サーバ装置３０Ａを削除する（詳細後記）。ミドルウェア部３３は、自サーバ装置３０によって取得された呼信号に含まれるユーザ端末装置ＩＤをハッシュ化することによってハッシュ値を算出し、算出されたハッシュ値と予め設定された振り分け規則とに基づいて、自サーバ装置３０によって取得された呼信号を、自サーバ装置３０を含む複数のサーバ装置３０のいずれかへ振り分ける（転送する）。
【００２５】
＜サーバ減設部＞
サーバ減設部４０は、分散処理システム１からの減設指示を受けて、減設対象サーバ装置３０Ａを減設（シャットダウン）する。
【００２６】
＜既存処理ＩＤデータベース＞
既存処理ＩＤデータベース３４ａ（図２参照）には、減設対象サーバ装置が処理している既存処理のＩＤ（以下、既存処理ＩＤという）が記憶されている。なお、既存処理ＩＤデータベース３４ａは、この既存処理ＩＤを表形式で記憶してもよく、既存処理ＩＤ表と呼ぶことができる。この既存処理ＩＤ表への記憶は、既存処理ＩＤ表への記載と呼称してもよい。
【００２７】
本実施形態では、既存処理として「呼」を例に採る。このため、既存処理ＩＤデータベース３４ａに記憶される既存処理ＩＤは、現時点でセッションが成立している既存呼の呼信号に含まれるユーザ端末装置ＩＤ、すなわちコールＩＤである。図１の例では、減設対象のサーバ装置３０は、減設対象サーバ装置３０Ａである（減設対象のサーバ装置３０を、減設対象サーバ装置３０Ａとして説明する）。
図３に示すように、既存処理ＩＤデータベース３４ａには、減設対象サーバ装置３０Ａが処理している既存処理のＩＤ（コールＩＤ）の「０００１」「０００２」「０００３」…が記憶される。なお、既存処理ＩＤデータベース３４ａは、分散処理システム１に既設のサーバ装置３０において共通化されている。
【００２８】
＜ミドルウェア部の詳細機能＞
図２は、サーバ装置３０のミドルウェア部３３の機能ブロック図である。
図２に示すように、ミドルウェア部３３は、減設通知取得部１１０（減設通知取得手段）と、信号解析部１２０（解析手段）と、信号振分部１３０（信号振分手段）と、既存処理ＩＤデータベース管理部１４０（管理手段、既存処理ＩＤデータベース作成部、抽出部、削除部）と、既存処理ＩＤデータベース監視部１５０（監視手段）と、減設指示部１６０（減設指示手段）と、を備える。
【００２９】
減設通知取得部１１０は、保守者からの減設通知を取得する。例えば、保守者が分散処理システム１に対しサーバ装置３０Ａ（図１参照）の減設（「保守減設」という）を通知すると、サーバ装置３０Ａのミドルウェア部３３の減設通知取得部１１０が保守者からの減設通知を取得する。
【００３０】
信号解析部１２０は、既存処理ＩＤデータベース３４ａをもとに、既存処理ＩＤデータベース３４ａに減設対象サーバ装置３０Ａが処理している既存処理ＩＤが記憶されているか否かを判別し、その解析結果を信号振分部１３０に出力する。例えば、既存処理ＩＤデータベース３４ａに、図３に示すコールＩＤの「０００１」「０００２」「０００３」…が記憶されていれば、減設対象サーバ装置３０Ａが既存呼を処理していると判断し、信号振分部１３０に対し既存処理ＩＤデータベース３４ａにコールＩＤが記憶されていることを通知する。
【００３１】
信号振分部１３０は、信号解析部１２０による解析結果をもとに、呼信号を振り分ける。信号振分部１３０は、既存処理ＩＤデータベース３４ａにコールＩＤの記憶がある呼に関しては減設対象サーバ装置３０Ａに振り分け、既存処理ＩＤデータベース３４ａにコールＩＤの記憶がない呼に関しては従来通りの方法（算出されたハッシュ値と予め設定された振り分け規則）で振り分ける。すなわち、信号振分部１３０は、既存処理ＩＤデータベース３４ａにコールＩＤが記憶されている場合、減設対象サーバ装置３０Ａが処理中のデータに関する信号を、引き続き減設対象サーバ装置３０Ａに振り分ける。
【００３２】
既存処理ＩＤデータベース管理部１４０は、既存処理ＩＤデータベース３４ａを管理する。具体的には、既存処理ＩＤデータベース管理部１４０は、既存処理ＩＤデータベース３４ａに、減設対象サーバ装置３０Ａが処理しているコールＩＤ（既存処理ＩＤ）を記憶する既存処理ＩＤデータベース作成を行う。
既存処理ＩＤデータベース管理部１４０は、既存処理ＩＤデータベース管理部１４０は、減設通知取得部１１０から通知を受けた場合、既存処理ＩＤデータベース３４ａから減設対象サーバ装置３０Ａが処理している既存呼のコールＩＤを抽出する。
【００３３】
既存処理ＩＤデータベース管理部１４０は、呼が終了した場合、既存処理ＩＤデータベース３４ａからコールＩＤを削除する。例えば、サーバ装置３０Ａが処理している呼が終了したとき、既存処理ＩＤデータベース３４ａから当該呼のコールＩＤ（例えば「０００３」）が削除される。サーバ装置３０Ａが処理しているすべての呼が終了した場合、既存処理ＩＤデータベース３４ａからコールＩＤ「０００１」「０００２」「０００３」…はすべて削除される。
【００３４】
既存処理ＩＤデータベース監視部１５０は、一定周期（例えば、５分毎）で既存処理ＩＤデータベース３４ａを監視しており、既存処理ＩＤデータベース３４ａにコールＩＤ（既存処理ＩＤ）の記憶がなくなったこと（すなわち減設対象サーバ装置３０Ａの呼がなくなったこと）を判別する。既存処理ＩＤデータベース監視部１５０は、既存処理ＩＤデータベース３４ａにコールＩＤの記憶がなくなった場合、減設指示部１６０に通知する。通常は、減設対象サーバ装置３０Ａの呼は順次処理されて、既存処理ＩＤデータベース３４ａに記憶されているコールＩＤは、処理毎に削除される。既存処理ＩＤデータベース監視部１５０は、一定周期で、この既存処理ＩＤデータベース３４ａのコールＩＤの残存を確認する。既存処理ＩＤデータベース監視部１５０は、既存処理ＩＤデータベース３４ａにコールＩＤが残存していない場合、減設指示部１６０に、既存処理ＩＤデータベース３４ａのコールＩＤなしを通知する。
なお、本実施形態では、既存処理ＩＤデータベース監視部１５０における監視が必要であり、その分、従来方法（算出されたハッシュ値と予め設定された振り分け方法）に比べて時間を要する。一定周期をより短く設定しておくことで、振り分けをより速めることができる。
【００３５】
減設指示部１６０は、既存処理ＩＤデータベース監視部１５０からコールＩＤなしの通知を受けると、サーバ減設部４０に減設対象サーバ装置３０Ａの減設指示を出力する。サーバ減設部４０は、減設指示を受けて、減設対象サーバ装置３０Ａを実際に減設（シャットダウン）する。
【００３６】
以下、上述のように構成された分散処理システム１に用いられるサーバ装置３０の動作を説明する。
＜前提条件＞
本発明は、システム構成を意識していないスタンドアロンアプリケーション（システムではなくアプリケーションがデータを保持する）を分散処理システムに搭載した場合において、サーバ装置を減設した際に関する技術である。
前提条件として、アプリケーションは、処理に対する状態を自身で保持しており、分散処理システム１内には保持させない。また、上記のようなアプリケーションを、分散処理システム１に搭載した状況とする。
また、分散処理システム１側は、ミドルウェア部３３がコールＩＤ（図３参照）を把握しており、そのコールＩＤに紐づいたデータをアプリケーションが持っていることと、アプリケーションにはコールＩＤに紐づいたデータ以外は残らないこととを前提条件とする。
【００３７】
＜既設（減設前）＞
分散処理システム１において、既設のサーバ装置３０Ａがユーザ端末装置１０Ａの既存呼を処理し（図１の符号ａ参照）、既設のサーバ装置３０Ｂがユーザ端末装置１０Ｂの既存呼を処理する（図１の符号ｂ参照）。
分散処理システム１に対してサーバ装置３０Ａが減設された後にユーザ端末装置１０Ｃからの新規呼が発生した場合を例に採り説明する（図１および図２参照）。
【００３８】
＜減設後＞
図１に示すように、分散処理システム１において、サーバ装置３０Ａが減設されたとする（以下、減設対象サーバ装置３０Ａと呼ぶ）。
分散処理システム１に対してユーザ端末装置１０Ｃからの新規呼が発生した場合、図１の符号ｃ（破線矢印および×印参照）に示すように、ユーザ端末装置１０Ｃからの新規呼は減設対象サーバ装置３０Ａには振り分けられない。この場合、ユーザ端末装置１０Ｃからの新規呼は、例えばサーバ装置３０Ｂに振り分ける（図１の符号ｄ参照）。
【００３９】
次に、減設対象サーバ装置３０Ａのミドルウェア部３３の動作例について説明する。
図２に示すように、減設通知取得部１１０（図２参照）は、保守者から減設通知を取得する。減設通知を取得した場合、既存処理ＩＤデータベース管理部１４０に減設を通知する（図２のステップＳ１参照）。
【００４０】
信号解析部１２０は、既存処理ＩＤデータベース３４ａをもとに、既存処理ＩＤデータベース３４ａに減設対象サーバ装置３０Ａが処理しているコールＩＤ（既存処理ＩＤ）（図３参照）が記憶されているか否かを判別し（図２のステップＳ２参照）、その解析結果を信号振分部１３０に出力する（図２のステップＳ３参照）。
【００４１】
信号振分部１３０は、信号解析部１２０による解析結果をもとに、呼信号を振り分ける。具体的には、信号振分部１３０は、既存処理ＩＤデータベース３４ａにコールＩＤの記憶がある呼に関しては減設対象サーバ装置３０Ａに振り分け、既存処理ＩＤデータベース３４ａにコールＩＤの記憶がない呼に関しては従来通りの方法（算出されたハッシュ値と予め設定された振り分け規則）で振り分ける。換言すれば、既存処理ＩＤデータベース３４ａにコールＩＤが１つでも記憶されていれば、減設通知があったとしても減設対象サーバ装置３０Ａが処理している呼は切断されなく継続される。
【００４２】
一方、既存処理ＩＤデータベース管理部１４０は、減設通知取得部１１０から通知を受けた場合、既存処理ＩＤデータベース３４ａを作成する（既存処理ＩＤデータベース３４ａにコールＩＤを記憶させる）。既存処理ＩＤデータベース管理部１４０は、サーバ装置３０Ａが処理している既存呼のＩＤ（コールＩＤ等）をもとに、既存処理ＩＤデータベース３４ａから減設対象サーバ装置３０Ａが処理しているコールＩＤを抽出する。既存処理ＩＤデータベース管理部１４０は、呼が終了した場合、既存処理ＩＤデータベース３４ａから既存処理ＩＤを削除する。減設対象サーバ装置３０Ａが処理している呼が終了した場合、既存処理ＩＤデータベース３４ａからコールＩＤ「０００１」「０００２」「０００３」…はすべて削除される。
【００４３】
既存処理ＩＤデータベース監視部１５０は、一定周期で既存処理ＩＤデータベース３４ａを監視しており（図２のステップＳ４参照）、既存処理ＩＤデータベース３４ａにコールＩＤの記憶がなくなったこと（減設対象サーバ装置３０Ａの呼がなくなること）を判別する。既存処理ＩＤデータベース監視部１５０は、既存処理ＩＤデータベース３４ａにコールＩＤの記憶がなくなった場合、減設指示部１６０にその旨を通知する（図２のステップＳ５参照）。
【００４４】
減設指示部１６０は、既存処理ＩＤデータベース監視部１５０から通知を受けると、サーバ減設部４０に減設対象サーバ装置３０Ａの減設指示を出力する（図２のステップＳ６参照）。サーバ減設部４０は、減設指示を受けて、減設対象サーバ装置３０Ａを減設する。
【００４５】
次に、図４〜図６のフローを参照して、ミドルウェア部３３の動作例について具体的に説明する。
図４は、既存処理ＩＤデータベース管理部１４０によって実行される、既存処理ＩＤデータベース３４ａの作成／抽出／削除を示すフローチャートである。
まず、ステップＳ１１で減設通知取得部１１０（図２参照）は、保守者から減設対象サーバ装置３０Ａの減設指示を受付ける。
ステップＳ１２で減設通知取得部１１０は、保守者から減設対象サーバ装置３０Ａの減設指示を取得し、既存処理ＩＤデータベース管理部１４０に通知する。
ステップＳ１３で既存処理ＩＤデータベース管理部１４０は、既存処理ＩＤデータベース３４ａを作成し、減設対象サーバ装置３０Ａが処理（例えば、呼処理）しているコールＩＤを抽出する。
ステップＳ１４で既存処理ＩＤデータベース管理部１４０は、呼処理が終了した場合、既存処理ＩＤデータベース３４ａからそのコールＩＤを削除する。このコールＩＤの削除は、既設の他のサーバ装置３０に対して通知され、他のサーバ装置３０のミドルウェア部３３も、既存処理ＩＤデータベース３４ａのコールＩＤの削除を行うことができる。
【００４６】
図５は、信号解析部１２０および信号振分部１３０の信号の振り分け処理を示すフローチャートである。
図５に示すように、ステップＳ２１で減設対象サーバ装置３０Ａ（図１参照）は、バランサ装置２０（図１参照）から送信された信号を受信する。
ステップＳ２２で信号解析部１２０（図２参照）は、既存処理ＩＤデータベース３４ａに減設対象サーバ装置３０Ａが処理しているコールＩＤの記憶があるかないかを判別する。既存処理ＩＤデータベース３４ａにコールＩＤの記憶がある場合とは、既存の呼信号のセッションが終了していない場合である。
既存処理ＩＤデータベース３４ａに減設対象サーバ装置３０Ａが処理しているコールＩＤの記憶がある場合、ステップＳ２３で信号振分部１３０は、減設対象サーバ装置３０Ａに信号を振り分けて本フローの処理を終了する。
既存処理ＩＤデータベース３４ａに減設対象サーバ装置３０Ａが処理しているコールＩＤの記憶がない場合、ステップＳ２４で信号振分部１３０は、従来通りの振り分け方法で信号を振り分けて本フローの処理を終了する。
【００４７】
信号振分部１３０は、信号解析部１２０による解析結果をもとに、信号を振り分ける。信号振分部１３０は、既存処理ＩＤデータベース３４ａに記憶のある呼に関しては該当サーバ装置３０Ａに振り分け、既存処理ＩＤデータベース３４ａに記憶のない呼に関しては従来通りの方法（算出されたハッシュ値と予め設定された振り分け規則）で振り分ける。
【００４８】
図６は、既存処理ＩＤデータベース監視部１５０および減設指示部１６０によって実行される、減設対象サーバ装置３０Ａの減設を示すフローチャートである。
図６に示すように、ステップＳ３１で既存処理ＩＤデータベース監視部１５０は、既存処理ＩＤデータベース３４ａに減設対象サーバ装置３０Ａが処理しているコールＩＤの記憶があるか否かを一定周期（例えば５秒毎）で監視する。
既存処理ＩＤデータベース３４ａに減設対象サーバ装置３０Ａが処理しているコールＩＤの記憶がある場合、ステップＳ３２で既存処理ＩＤデータベース監視部１５０は、減設対象サーバ装置３０Ａの減設を実行せず一定時間経過後に上記ステップＳ３１に戻る。
これにより、減設指示が行われても、減設対象サーバ装置３０Ａで処理中のデータに関する信号は引き続き、減設対象サーバ装置３０Ａに振り分けられる。
【００４９】
既存処理ＩＤデータベース３４ａに減設対象サーバ装置３０Ａが処理しているコールＩＤの記憶がない場合、ステップＳ３３で既存処理ＩＤデータベース監視部１５０は、減設対象サーバ装置３０Ａの処理中のデータに関する信号はないと判断して減設指示部１６０にその旨を通知し、減設指示部１６０は、サーバ減設部４０に減設対象サーバ装置３０Ａの減設指示を出力する。
ステップＳ３４でサーバ減設部４０は、分散処理システム１からの減設指示を受けて、減設対象サーバ装置３０Ａを削除（図１の符号ｅ参照）して本フローの処理を終了する。
【００５０】
このように、減設指示が行われても、減設対象サーバ装置で処理中のデータに関する信号は引き続き減設対象サーバ装置（サーバ装置３０Ａ）に振り分けられ、すべての処理がなくなった段階でサーバ装置３０Ａを削除する。
【００５１】
以上説明したように、本実施形態に係る分散処理システム１に用いられるサーバ装置３０は、ミドルウェア部３３が、減設対象サーバ装置３０Ａが処理している既存処理のＩＤを記憶する既存処理ＩＤデータベース３４ａを有する記憶部３４と、既存処理ＩＤデータベース３４ａを管理する既存処理ＩＤデータベース管理部１４０を備える。ミドルウェア部３３が、減設通知を取得する減設通知取得部１１０と、分散処理システム１に対して減設対象サーバ装置３０Ａの減設通知がある場合に、既存処理ＩＤデータベース３４ａに既存処理ＩＤが記憶されていることを判別する信号解析部１２０と、を備える。また、ミドルウェア部３３は、既存処理ＩＤデータベース３４ａに既存処理ＩＤが記憶されている場合、減設対象サーバ装置３０Ａが処理中のデータに関する信号を、引き続き当該減設対象サーバ装置３０Ａに振り分ける信号振分部１３０を備える。また、ミドルウェア部３３は、既存処理ＩＤデータベース３４ａに既存処理ＩＤが記憶されていることを判定し、当該既存処理ＩＤデータベース３４ａに既存処理ＩＤの記憶がなくなった場合に通知する既存処理ＩＤデータベース監視部１５０と、既存処理ＩＤデータベース監視部１５０から通知を受けた場合、減設対象サーバ装置３０Ａの減設指示を行う減設指示部１６０と、を備える。
【００５２】
これにより、減設対象サーバ装置３０Ａが処理している既存処理ＩＤを既存処理ＩＤデータベース３４ａに抽出し、既存処理ＩＤデータベース３４ａに既存処理ＩＤが記憶されている場合には、減設指示が行われても、減設対象サーバ装置３０Ａの処理中のデータに関する信号は、引き続き減設対象サーバ装置３０Ａに振り分けられる。すなわち、既存処理ＩＤデータベース３４ａに既存処理ＩＤが記憶されている場合には、減設対象サーバ装置３０Ａの処理中のデータに関する信号は、新規サーバ装置３０（例えば図１のサーバ装置３０Ｂ）ではなく減設対象サーバ装置３０Ａに引き続き振り分けられる。そして、減設対象サーバ装置３０Ａの処理中のすべての処理がなくなった段階で減設対象サーバ装置３０Ａを削除する。このようにすることで、減設対象サーバ装置３０Ａが減設された場合に、処理継続が可能となる。
【００５３】
既存処理ＩＤデータベース監視部１５０は、既存処理ＩＤデータベース３４ａを監視することで、減設対象サーバ装置３０Ａが処理中の処理がなくなったことを判別し、減設指示部１６は、最終的に分散処理システム１の外のサーバ減設部４０に減設指示を出すことで、減設対象サーバ装置３０Ａの減設が完了する。したがって、システム構成を意識していないアプリケーションを分散処理システム１に搭載した場合において、サーバ装置の減設が行われたとしたとしても、既存の処理は切断されることなく継続が可能となる。このように、減設時の既存処理状態の切断抑止方法を提供することができる。
【００５４】
以上、本発明の実施形態について説明したが、本発明は前記実施形態に限定されず、本発明の要旨を逸脱しない範囲で適宜変更可能である。
【００５５】
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上述文書中や図面中に示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【００５６】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部または全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行するためのソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Solid State Drive）等の記録装置、または、ＩＣ（Integrated Circuit）カード、ＳＤ（Secure Digital）カード、光ディスク等の記録媒体に保持することができる。また、本明細書において、時系列的な処理を記述する処理ステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理（例えば、並列処理あるいはオブジェクトによる処理）をも含むものである。
【符号の説明】
【００５７】
１  分散処理システム
１０，１０Ａ，１０Ｂ，１０Ｃ  ユーザ端末装置
２０  バランサ装置
３０，３０Ａ，３０Ｂ，３０Ｃ，  サーバ装置
３１  アプリケーション部
３２，３４  記憶部（記憶手段）
３３  ミドルウェア部
３４  記憶部（記憶手段）
３４ｂ  既存処理ＩＤデータベース
４０  サーバ減設部
１１０  減設通知取得部（減設通知取得手段）
１２０  信号解析部（解析手段）
１３０  信号振分部（信号振分手段）
１４０  既存処理ＩＤデータベース管理部（管理手段、既存処理ＩＤデータベース作成部、抽出部、削除部）
１５０  既存処理ＩＤデータベース監視部（監視手段）
１６０  減設指示部（減設指示手段）
【図１】
2019028672.tif 000003
【図２】
2019028672.tif 000004
【図３】
2019028672.tif 000005
【図４】
2019028672.tif 000006
【図５】
2019028672.tif 000007
【図６】
2019028672.tif 000008