(57)【要約】【課題】分散処理システムの可用性を向上する。【解決手段】接続要求に含まれるユニークな情報をキーとしてハッシュ計算を行ない、接続要求の振り分け先のサーバ３を決定し、振り分け先のサーバ３からエラーを受信した場合は、キーとして用いた情報から生成した新たな情報をキーとして接続要求を再振り分けする。これにより、一部のサーバ３で接続要求を処理できなくても他のサーバ３で処理が可能となり、分散処理システムの可用性を向上することができる。【選択図】図１
2018032315.tif 000002
【特許請求の範囲】
【請求項１】
複数のサーバ装置に処理を分散する分散装置であって、
処理要求に含まれる情報をキーとして当該処理要求を処理させる前記サーバ装置を決定する振分手段と、
前記振分手段が決定した前記サーバ装置へ前記処理要求を送信する送信手段と、を有し、
前記振分手段は、前記処理要求を送信した前記サーバ装置からエラーを受信した場合は、振り分け方法を変えて前記処理要求を再度振り分けることを特徴とする分散装置。
【請求項２】
前記処理要求を再度振り分けした前記サーバ装置からエラーを受信した場合に、所定の条件を満たしているときは、新規の処理要求を一定期間規制する規制手段を有することを特徴とする請求項１に記載の分散装置。
【請求項３】
最初にキーとして用いた前記処理要求に含まれる情報と再度振り分けたときに用いた情報との括り付け情報を保持する蓄積手段を有し、
前記振分手段は、前記処理要求を再度振り分けたときに、前記括り付け情報を前記蓄積手段に格納することを特徴とする請求項１又は２に記載の分散装置。 
【請求項４】
複数のサーバ装置に処理を分散する分散方法であって、
処理要求に含まれる情報をキーとして当該処理要求を処理させる前記サーバ装置を決定するステップと、
前記決定するステップで決定した前記サーバ装置へ前記処理要求を送信するステップと、
前記処理要求を送信した前記サーバ装置からエラーを受信した場合は、振り分け方法を変えて前記処理要求を再度振り分けるステップと、
を有することを特徴とする分散方法。
【請求項５】
前記処理要求を再度振り分けした前記サーバ装置からエラーを受信した場合に、所定の条件を満たしているときは、新規の処理要求を一定期間規制するステップを有することを特徴とする請求項４に記載の分散方法。
【請求項６】
前記処理要求を再度振り分けたときに、最初にキーとして用いた前記処理要求に含まれる情報と再度振り分けたときに用いた情報との括り付け情報を蓄積手段に格納するステップを有することを特徴とする請求項４又は５に記載の分散方法。 
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分散処理システムにおける輻輳制御技術に関する。
【背景技術】
【０００２】
分散処理システムでは、処理が均等になるように、外部からの処理要求を複数のサーバに振り分ける工夫がされている。また、分散処理システムでは、分散処理システムを構成するサーバの使用状況に応じて、リソースプールへのサーバの追加、あるいはリソースプールからサーバの削除を行うことで、柔軟なスケーラビリティを確保している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−２３８９６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
急激な利用増（バーストトラヒック等）により処理能力を超える要求が一部のサーバに偏った場合、そのサーバ上で動作するアプリケーションはシステムダウンを防止するため、輻輳規制により新たな処理要求を拒否する。
【０００５】
特許文献１では、輻輳が発生した初動時に輻輳が発生したセッション制御装置の収容する局番への発呼を規制した後、輻輳発生の要因局番を抽出しながら、その要因局番への発呼を規制することで、網リソースの最大活用を可能としている。
【０００６】
分散処理システムにおいて、要求が一部のサーバに偏って輻輳が発生した場合、要求が集中したサーバ以外のサーバでは、その要求を処理可能な場合もある。
【０００７】
本発明は、上記に鑑みてなされたものであり、分散処理システムの可用性を向上することを目的とする。
【課題を解決するための手段】
【０００８】
第１の本発明に係る分散装置は、複数のサーバ装置に処理を分散する分散装置であって、処理要求に含まれる情報をキーとして当該処理要求を処理させる前記サーバ装置を決定する振分手段と、前記振分手段が決定した前記サーバ装置へ前記処理要求を送信する送信手段と、を有し、前記振分手段は、前記処理要求を送信した前記サーバ装置からエラーを受信した場合は、振り分け方法を変えて前記処理要求を再度振り分けることを特徴とする。
【０００９】
第２の本発明に係る分散方法は、複数のサーバ装置に処理を分散する分散方法であって、処理要求に含まれる情報をキーとして当該処理要求を処理させる前記サーバ装置を決定するステップと、前記決定するステップで決定した前記サーバ装置へ前記処理要求を送信するステップと、前記処理要求を送信した前記サーバ装置からエラーを受信した場合は、振り分け方法を変えて前記処理要求を再度振り分けるステップと、を有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、分散処理システムの可用性を向上することができる。
【図面の簡単な説明】
【００１１】
【図１】本実施の形態における分散装置を含む分散処理システムの全体を示す全体構成図である。
【図２】本実施の形態における分散装置の構成を示す機能ブロック図である。
【図３】分散処理システムが接続要求を振り分ける処理の流れを示すシーケンス図である。
【図４】分散処理システム全体が輻輳していると判定するときの処理の流れを示すシーケンス図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態について図面を用いて説明する。
【００１３】
図１は、本実施の形態における分散装置１を含む分散処理システムの全体を示す全体構成図である。同図に示す分散処理システムは、分散装置１と複数のサーバ３を備える。同図では１台の端末５のみ図示しているが、本分散処理システムは多数の端末５によって利用される。
【００１４】
分散装置１は、端末５から接続要求を受信し、その接続要求を複数のサーバ３のいずれかに振り分ける。振り分け先のサーバ３から正常応答が返信された場合は、その正常応答を端末５へ返信する。振り分け先のサーバ３からエラーが返信された場合は、振分け空間の再割り当てを行って、接続要求を再振り分けする。再振り分けしてから所定の時間が経過した場合、あるいは接続要求に対する再振り分けの回数が所定の回数を超えた場合、分散装置１は、端末５に対してサーバエラーを返信するとともに、新規接続要求の受け付けを一定期間規制する接続規制を開始する。接続規制の開始後、端末５から接続要求を受信したときは、その接続要求をサーバ３に振り分けずに端末５にサーバエラーを返信する。
【００１５】
次に、分散装置１について説明する。
【００１６】
図２は、本実施の形態における分散装置１の構成を示す機能ブロック図である。同図に示す分散装置１は、振り分け部１１、接続規制部１２、及び括り付け情報蓄積部１３を備える。分散装置１が備える各部は、演算処理装置、記憶装置等を備えたコンピュータにより構成して、各部の処理がプログラムによって実行されるものとしてもよい。このプログラムは分散装置１が備える記憶装置に記憶されており、磁気ディスク、光ディスク、半導体メモリ等の記録媒体に記録することも、ネットワークを通して提供することも可能である。
【００１７】
振り分け部１１は、端末５から接続要求を受信し、接続要求を複数のサーバ３にいずれかに振り分ける。振り分け部１１は、例えば、接続要求に含まれるユニークな情報をキーとしてハッシュ計算を行って振り分け先のサーバ３を決定する。具体的には、接続要求がＳＩＰメッセージの場合は、セッションを識別するユニークなＣａｌｌ−ＩＤをキーとしてハッシュ計算を行い、振り分け先のサーバ３を決定する。
【００１８】
振り分け部１１は、振り分け先のサーバ３から応答を受信し、端末５へ返信する。サーバ３からの応答が輻輳等のサーバエラーの場合、振り分け部１１は、端末５へサーバエラーを返信せずに、接続要求の再振り分けを実行する。具体的には、接続要求の再振り分けは、キーとして用いた情報（例えばＣａｌｌ−ＩＤ）から新たな情報を生成し、新たな情報をキーとしてハッシュ計算を行うことで実行する。振り分け部１１は、最初のキーとして用いた情報と新たな情報の括り付け情報を括り付け情報蓄積部１３に格納する。接続要求の再振り分け方法の別な方法として、キーを変更せずに、ハッシュ計算のアルゴリズムを変更してもよい。この場合、振り分け部１１は、キーと適用したハッシュ計算のアルゴリズムとを括り付ける情報を括り付け情報蓄積部１３に格納する。
【００１９】
接続規制部１２は、再振り分けしたサーバ３からもサーバエラーが返信されたときに、エラーが閾値を超えている場合は、分散処理システム上のアプリケーション全体が輻輳していると判断し、新規接続要求の受け付けを一定期間規制する接続規制を開始する。例えば、再振り分けを開始してから所定のタイマが満了するまでの間に正常応答が得られなかった場合は接続規制を開始する。あるいは、再振り分けを所定の回数実行しても正常応答が得られなかった場合は接続規制を開始する。
【００２０】
括り付け情報蓄積部１３は、最初の振り分けに用いる情報と再振り分けに用いた情報とを括り付けた情報を保持する。例えば、Ｃａｌｌ−ＩＤをキーとして振り分けに用いて、再振り分けするときにＣａｌｌ−ＩＤの情報を書き換えた場合、括り付け情報蓄積部１３は、元のＣａｌｌ−ＩＤと書き換え後のＣａｌｌ−ＩＤの値を括り付けて保持する。分散装置１は、再振り分けしたサーバ３からの応答のＣａｌｌ−ＩＤを元のＣａｌｌ−ＩＤに戻して端末５に返信する。また、端末５から接続要求に続く同一セッションのメッセージを受信したときに、そのメッセージのＣａｌｌ−ＩＤが括り付け情報蓄積部１３に存在する場合は、そのＣａｌｌ−ＩＤを対応する別のＣａｌｌ−ＩＤに書き換えて、書き換え後のＣａｌｌ−ＩＤをキーにハッシュ計算をして振り分け先のサーバ３を決定し、メッセージを振り分ける。
【００２１】
次に、本実施の形態における分散処理システムの動作について説明する。
【００２２】
図３は、分散処理システムが接続要求を振り分ける処理の流れを示すシーケンス図である。
【００２３】
分散装置１は、端末５から接続要求を受信すると（ステップＳ１１）、接続要求に含まれる情報をキーに振り分け処理を行い（ステップＳ１２）、振り分け先のサーバＡに接続要求を送信する（ステップＳ１３）。
【００２４】
サーバＡからサーバエラーが返信されると（ステップＳ１４）、分散装置１は、再振り分けを行い（ステップＳ１５）、再振り分け先のサーバＢに接続要求を送信する（ステップＳ１６）。
【００２５】
サーバＢから正常応答が返信されると（ステップＳ１７）、分散装置１は、正常応答を端末５へ返信する（ステップＳ１８）。
【００２６】
以降、端末５からの同一セッションのメッセージはサーバＢに振り分けられる。
【００２７】
図４は、分散処理システム全体が輻輳していると判定するときの処理の流れを示すシーケンス図である。
【００２８】
分散装置１は、端末５から接続要求を受信すると（ステップＳ２１）、接続要求に含まれる情報をキーに振り分け処理を行い（ステップＳ２２）、振り分け先のサーバＡに接続要求を送信する（ステップＳ２３）。
【００２９】
サーバＡからサーバエラーが返信されると（ステップＳ２４）、分散装置１は、再振り分けを行い（ステップＳ２５）、再振り分け先のサーバＢに接続要求を送信する（ステップＳ２６）。
【００３０】
サーバＢからサーバエラーが返信されると（ステップＳ２７）、分散装置１は、再振り分けを行い（ステップＳ２８）、再振り分け先のサーバＣに接続要求を送信する（ステップＳ２９）。
【００３１】
サーバＣからサーバエラーが返信されたときに（ステップＳ３０）、分散処理システム全体の輻輳を判定するタイマが満了していた場合は、分散装置１は、サーバエラーを端末５へ返信するとともに（ステップＳ３１）、新規接続要求を一定期間規制する（ステップＳ３２）。
【００３２】
接続規制中、分散装置１は、端末５から接続要求を受信すると（ステップＳ３３）、その接続要求を振り分けずに、サーバエラーを端末５へ返信する（ステップＳ３４）。
【００３３】
所定の時間が経過後、あるいは分散処理システムの輻輳が解消すると、分散装置１は、接続規制を解除して、接続要求の振り分けを開始する。
【００３４】
以上説明したように、本実施の形態によれば、接続要求に含まれるユニークな情報をキーとしてハッシュ計算を行ない、接続要求の振り分け先のサーバ３を決定し、振り分け先のサーバ３からエラーを受信した場合は、キーとして用いた情報から生成した新たな情報をキーとして接続要求を再振り分けすることにより、一部のサーバ３で接続要求を処理できなくても他のサーバ３で処理が可能となり、分散処理システムの可用性を向上することができる。
【００３５】
本実施の形態によれば、最初のキーの情報と再振り分けに用いた情報とを括り付けた情報を括り付け情報蓄積部１３に格納することにより、接続要求の後に端末５から受信するメッセージを接続要求を振り分けたサーバ３へ送信することが可能となり、分散装置１でステート管理をする必要がなくなる。
【符号の説明】
【００３６】
１…分散装置
１１…振り分け部
１２…接続規制部
１３…括り付け情報蓄積部
３…サーバ
５…端末
【図１】
2018032315.tif 000003
【図２】
2018032315.tif 000004
【図３】
2018032315.tif 000005
【図４】
2018032315.tif 000006