(57)【要約】【課題】想定外の故障が発生してトラヒック異常が想定外の状況になった場合の処理要求に、少ないパラメータで迅速に追従できる分散処理装置を提供する。【解決手段】冗長化された分散サーバシステムを構成する分散処理装置であって、他の分散処理装置又はクライアント端末からの処理要求を処理する処理部１０と、他の分散処理装置の故障情報と処理要求とを入力として、処理部が前記処理を実行するのに使用するリソースを、処理部１０からのフィードバック量の比例成分と積分成分と微分成分との３つの要素から成るＰＩＤ制御量で配分するリソース配分部２０とを具備する。【選択図】図２
2016151794.tif 000002
【特許請求の範囲】
【請求項１】
冗長化された分散サーバシステムを構成する分散処理装置であって、
他の分散処理装置又はクライアント端末からの処理要求を処理する処理部と、
前記他の分散処理装置の故障情報と前記処理要求とを入力として、前記処理部が前記処理を実行するのに使用するリソースを、前記処理部の出力を計測した計測値の比例成分と積分成分と微分成分との３つの要素を含むＰＩＤ制御量で配分するリソース配分部と
を具備することを特徴とする分散処理装置。
【請求項２】
請求項１に記載した分散処理装置において、
前記リソース配分部は、
前記故障情報と前記処理要求とを入力として前記リソースを制御する目標操作量を設定する目標設定部と、
前記計測値を計測する計測部と、
前記目標操作量と前記計測値とを入力として、前記ＰＩＤ制御量を計算するＰＩＤ制御部と
を具備することを特徴とする分散処理装置。
【請求項３】
請求項２に記載した分散処理装置において、
前記ＰＩＤ制御部は、
前記目標操作量と前記計測値との差分に比例した前記ＰＩＤ制御量を計算する比例部と、
前記差分の時間積分値に比例した前記ＰＩＤ制御量を計算する積分部と、
前記差分の微分値に比例した前記ＰＩＤ制御量を計算する微分部と、
前記比例部の出力と前記積分部の出力と前記微分部との出力を加算する加算部と
を具備することを特徴とする分散処理装置。
【請求項４】
分散処理装置が行う分散処理方法であって、
他の分散処理装置又はクライアント端末からの処理要求を処理する処理ステップと、
前記他の分散処理装置の故障情報と前記処理要求とを入力として、前記処理ステップが前記処理を実行するのに使用するリソースを、前記処理ステップの出力を計測した計測値の比例成分と積分成分と微分成分との３つの要素を含むＰＩＤ制御量で配分するリソース配分ステップとを行うことを特徴とする分散処理方法。
【請求項５】
請求項４に記載した分散処理方法であって、
前記リソース配分ステップは、
前記故障情報と前記処理要求とを入力として前記リソースを制御する目標操作量を設定する目標設定ステップと、
前記計測値を計測する計測ステップと、
前記目標操作量と前記計測値とを入力として、前記ＰＩＤ制御量を計算するＰＩＤ制御ステップと
を含むことを特徴とする分散処理方法。
【請求項６】
請求項５に記載した分散処理方法であって、
前記ＰＩＤ制御ステップは、
前記目標操作量と前記計測値との差分に比例した前記ＰＩＤ制御量を計算する比例ステップと、
前記差分の時間積分値に比例した前記ＰＩＤ制御量を計算する積分ステップと、
前記差分の微分値に比例した前記ＰＩＤ制御量を計算する微分ステップと、
前記比例ステップの出力と前記積分ステップの出力と前記微分ステップとの出力を加算する加算ステップと
を含むことを特徴とする分散処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、冗長化された分散サーバシステムのトラヒックの品質制御を行う分散処理装置と分散処理方法に関する。
【背景技術】
【０００２】
図１に、冗長化されたデータベース（以降、ＤＢ）サーバシステムのシステム構成例を示す。ＤＢサーバシステム１と２は、それぞれ１台のマスタと２台のスレイブで冗長化されている。クライアント端末１１，１２，１３は、システムの違い及びマスタとスレイブの違いを意識しないで要求データを取得する。
【０００３】
各装置（サーバ）は、機能分散が可能で、要求受付、ＤＢ参照、ＤＢ登録、要求返却機能を分散保持している。また、ＤＢサーバシステム１と２は、それぞれ異なる利用者情報を持っており、互いにデータ取得要求を行う。
【０００４】
例えば、ＤＢサーバシステム１のマスタ＃１とスレイブ＃１−１が故障するトラヒック異常が発生したと仮定すると、スレイブ＃１−２がマスタとなってＤＢサーバシステム１に対する処理要求を処理する。この場合、ＤＢサーバシステム１に対する処理要求は、全てスレイブ＃１−２が担うことになる。スレイブ＃１−２は、その装置の諸元や仕様を越えた呼処理要求に対応するため、要求処理遅延や呼損等、サービス品質に悪影響を与える事象が発生する可能性がある。
【０００５】
その事象の発生を回避する目的で、従来からＤＢサーバシステム内に動的優先制御機能を導入して、与えられた扱い方（ポリシー）にしたがって、データ取得要求をクラスに分け、クラスに応じた処理順で処理を行う方法が提案されている（例えば非特許文献１）。また、過負荷状態を回避する目的で、各タスクに割り当てるリソースを動的に変化させるフィードバック形の制御方法が例えば非特許文献２に記載されている。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】原田史子ほか２名、「QoSの公平性を考慮したマルチソースの適応配分制御」、電子情報通信学会、信学技報（実時間処理ワークショップ）、2004年、pp.13-18
【非特許文献２】植田和憲ほか２名、「IPv6ネットワークにおけるフィードバック制御を用いた高品質なリアルタイムＤＶ転送システムの設計及び実装」、電子情報通信学会、技術研究報告(IA2001-50)、2002年2月、pp.57-64
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来の優先順位を付ける方法は、優先順位を制御するためのパラメータが多数あり、そのパラメータ設計が困難である。また、トラヒック異常が想定外の状況になった場合には、予め決めた優先順位で正しく動作せず期待した結果が得られない課題がある。
【０００８】
また、従来のフィードバック制御法は、処理要求に対する目標値を線形関数で与える線形化システムであり、線形関数以外の関数で表される様な外乱（想定外のトラヒック異常時の処理要求）には対処できない課題がある。
【０００９】
この発明は、このような課題に鑑みてなされたものであり、分散サーバシステムの一部に故障が発生してトラヒック異常になった場合の処理要求に、少ないパラメータで迅速に追従できる分散処理装置と分散処理方法とを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の分散処理装置は、冗長化された分散サーバシステムを構成する分散処理装置であって、他の分散処理装置又はクライアント端末からの処理要求を処理する処理部と、前記他の分散処理装置の故障情報と前記処理要求とを入力として、前記処理部が前記処理を実行するのに使用するリソースを、前記処理部の出力を計測した計測値の比例成分と積分成分と微分成分との３つの要素を含むＰＩＤ制御量で配分するリソース配分部とを具備することを要旨とする。
【００１１】
また、本発明の分散処理方法は、分散処理装置が行う分散処理方法であって、他の分散処理装置又はクライアント端末からの処理要求を処理する処理ステップと、前記他の分散処理装置の故障情報と前記処理要求とを入力として、前記処理ステップが前記処理を実行するのに使用するリソースを、前記処理ステップの出力を計測した計測値の比例成分と積分成分と微分成分との３つの要素を含むＰＩＤ制御量で配分するリソース配分ステップとを行うことを要旨とする。
【発明の効果】
【００１２】
この発明の分散処理装置と分散処理方法によれば、分散サーバシステムの一部に故障が発生してトラヒック異常になった場合の処理要求に、少ないパラメータで迅速に追従することができる。
【図面の簡単な説明】
【００１３】
【図１】冗長化されたデータベースサーバシステムのシステム構成例を示す図である。
【図２】第１実施形態の分散処理装置１００の機能構成例を示す図である。
【図３】リソース配分部２０の機能構成例を示す図である。
【図４】リソース配分部２０の動作フローを示す図である。
【図５】ＰＩＤ制御を説明する図である。
【図６】第２実施形態の分散処理装置２００の機能構成例を示す図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施の形態について図面を用いて説明する。複数の図面中同一のものに
は同じ参照符号を付し、説明は繰り返さない。
【００１５】
〔第１実施形態〕
図２に、本発明の第１実施形態の分散処理装置１００の機能構成例を示す。本実施形態の分散処理装置１００は、上記のＤＢサーバシステム１のマスタ＃１、スレイブ＃１−１、又はスレイブ＃１−２の何れかに置き換わるものである。分散処理装置１００は、例えばＲＯＭ、ＲＡＭ、ＣＰＵ等で構成されるコンピュータに所定のプログラムが読み込まれて、ＣＰＵがそのプログラムを実行することで実現されることとしてもよい。以降で説明する他の装置についても同じである。
【００１６】
本実施形態では、ＤＢサーバシステム１のマスタ＃１とスレイブ＃１−１とが故障したと仮定して、スレイブ＃１−２である分散処理装置１００が動作する場合を例に説明する。マスタ＃１とスレイブ＃１−１とが故障すると冗長化構成のため、今までスレイブ＃１−２として機能していた分散処理装置１００はマスタ＃１−２として動作する。
【００１７】
分散処理装置１００は、処理部１０と、リソース配分部２０とを具備する。処理部１０は、他の分散処理装置又はクライアント端末からの処理要求を処理する。リソース配分部２０は、他の分散処理装置の故障情報と処理要求とを入力として、処理部１０が処理を実行するのに使用するリソースを、処理部１０の出力を計測した計測値の比例成分と積分成分と微分成分との３つの要素を含むＰＩＤ制御量で配分する。
【００１８】
ＰＩＤ（Proportional-Integral-Derivative）制御量とは、処理部１０が処理要求を処理する際に使用するリソースの大きさを決める情報である。リソースとは、例えば分散処理装置１００のＣＰＵパワーや、帯域幅のことである。ＣＰＵパワーとは、例えば処理に用いるＣＰＵの数である。また、帯域幅とはbit/秒の大きさである。
【００１９】
リソース配分部２０は、ＰＩＤ制御量としてＣＰＵパワーを制御してもよいし、ＣＰＵパワーと帯域幅の両方を制御してもよい。また、他のＰＩＤ制御量を用いてもよい。
【００２０】
処理部１０は、リソース配分部２０が配分したリソースで処理要求を処理する。処理要求とは、例えば利用者情報の取得要求である。また、分散処理装置１００が例えば呼制御を行う装置であれば、呼接続要求が処理要求である。
【００２１】
本実施形態の分散処理装置１００によれば、他の分散処理装置が故障した後の処理要求に対して自装置のリソースをＰＩＤ制御で配分するので、想定外の故障が発生した場合の処理要求に、少ないパラメータで迅速に追従することができる。なお、破線で示すマーキング２４については後述する。
【００２２】
図２と図３を参照して更に詳しく分散処理装置１００の動作を説明する。リソース配分部２０は、目標設定部２１と、ＰＩＤ制御部２２と、計測部２３とを具備する。
【００２３】
目標設定部２１は、他の分散処理装置の故障情報と処理要求とを入力として、自装置のリソースを制御する目標操作量を設定する。故障情報とは、例えばマスタ＃１とスレイブ＃１−１とから受信する情報である。分散処理装置１００は、故障情報によって同じシステム内の他の分散処理装置の稼働状況を把握する。
【００２４】
目標設定部２１は、他の分散処理装置が故障したトラヒック異常時に動作する（ステップＳ１のYES）ものであり、トラヒック異常時の処理要求に対して分散処理装置１００のリソースを、どの位割り当てるかを決める目標操作量を設定する（ステップＳ２）。
【００２５】
目標操作量とは、処理要求に対して分散処理装置１００のリソースを、どの位割り当てるかを決める目標値である。目標値は、例えばパケット損失率や、ＴＡＴ（Turn Around Time）の値である。この目標値は、トラヒック異常時に要求処理遅延や呼損を生じさせたいために設定する。
【００２６】
例えば、分散処理装置１００が保存している利用者情報の取得要求の処理要求に対しては、最優先で処理するように短いＴＡＴを目標操作量として設定する。また、分散処理装置１００が呼制御装置の場合の緊急呼に対しては、例えば少ないパケット損失率を目標操作量として設定する。
【００２７】
計測部２３は、処理要求を処理する処理部１０の出力を計測して計測値を出力する（ステップＳ３）。計測部２３は、処理部１０の出力を常に計測してフィードバック量である計測値をＰＩＤ制御部２２に出力する。
【００２８】
計測値は、上記の目標値に対応する制御対象を計測した値である。目標値がＴＡＴであれば、計測部２３はＴＡＴを測定する。パケット損失率やＴＡＴは、通信パケットのシーケンス番号や時刻情報から容易に計測することができる（参考：非特許文献２）。
【００２９】
ＰＩＤ制御部２２は、目標設定部２１が設定した目標操作量と、計測部２３が計測した計測値とを入力としてＰＩＤ制御量u(t)を計算する（ステップＳ４）。ＰＩＤ制御量ｕ(t)について詳しくは後述する。
【００３０】
処理部１０は、ＰＩＤ制御部２２で計算されたＰＩＤ制御量u(t)に対応する割り当てられたリソースで処理要求を処理する（ステップＳ５）。計測部２３は、処理要求を処理する間の処理部１０の出力を計測した計測値を、ＰＩＤ制御部２２に出力する（ステップＳ６）。
【００３１】
よって、ＰＩＤ制御部２２は、目標操作量と逐次入力される計測値とによって、処理部１０をフィードバック制御する。次に、ＰＩＤ制御部２２について詳しく説明する。
【００３２】
〔ＰＩＤ制御部〕
図４に、ＰＩＤ制御部２２の機能構成例を示す。ＰＩＤ制御部２２は、減算部２３０と、比例部２３１と、積分部２３２と、微分部２３３と、加算部２３４とを具備する。
【００３３】
減算部２３０は、目標設定部２１が設定した目標操作量と、計測部２３で計測した計測値との差分ｅ(t)を計算する。目標操作量をr(t)、計測値をy(t)とすると差分ｅ(t)は、e(t)=r(t)-y(t)である。
【００３４】
図５に、比例部２３１、積分部２３２、及び微分部２３３が計算する計算の特徴を、温度制御の例で示す。温度制御を例にするのは分かり易くするためである。
【００３５】
比例部２３１は、差分e(t)に比例定数ＫＰを乗じた制御量u(t)を計算する（式（１））。式（１）に示すように、この制御量u(t)は、目標温度との差が大きいほど制御量（Ｐ制御）が大きくなるので、即応性が高い特徴がある。図５に、Ｐ制御で示すグラフの実線が制御量u(t)である。破線が処理部１０の出力である。
【００３６】
積分部２３２は、差分e(t)を時間積分した値に比例定数Ｋｉを乗じた制御量を計算する（式（２））。この制御量u(t)の特徴は、時間経過につれて差が徐々に無くなるように変化するので、状態保持性が高い特徴がある。図５に、ＰＩ制御で示すグラフの実線が制御量u(t)であり、この制御量u(t)は比例部２３１と積分部２３２との制御量の和である。
【００３７】
微分部２３３は、差分e(t)の微分値に比例定数ＫＤを乗じた制御量を計算する（式（３））。この制御量u(t)の特徴は、差分e(t)の大きな変化に対して大きな制御量になるので、安定性が高い特徴がある。図５に、ＰＩＤ制御で示すグラフの実線が制御量u(t)であり、この制御量u(t)は比例部２３１と積分部２３２と微分部２３３との制御量の和である。
【００３８】
【数１】
2016151794.tif 000003
加算部２３４は、比例部２３１の出力と積分部２３２と微分部２３３との出力を加算する（式（４））。
【００３９】
【数２】
2016151794.tif 000004
加算部２３４が出力するＰＩＤ制御量u(t)は、比例部２３１が出力する制御量の特徴と、積分部２３２が出力する制御量の特徴と、微分部２３３が出力する制御量とのそれぞれの特徴を併せ持った制御量となる。このＰＩＤ制御量は、分散処理装置１００のリソースを配分する値であるので、処理部１０に即応性と状態保持性と安定性とが高い処理を行わせることができる。
【００４０】
つまり、本実施形態の分散処理装置１００によれば、想定外の故障が発生してトラヒック異常が生じた場合の処理要求の変化に、例えばパケット損失率に関するＰＩＤ制御量とＴＡＴに関するＰＩＤ制御量の２個のパラメータだけで迅速に追従することができる。
【００４１】
〔第２実施形態〕
図６に、本発明の第２実施形態の分散処理装置２００の機能構成例を示す。本実施形態の分散処理装置２００は、ＰＩＤ制御部２２２の比例部２３１、積分部２３２、及び微分部２３３の比例定数ＫＰ，Ｋｉ，ＫＤを自動的に設定できるようにしたものである。
【００４２】
分散処理装置２００は、分散処理装置１００（図２）に対して学習部２０１を具備する点で異なる。学習部２０１は、計測部２３が出力する計測値と、ＰＩＤ制御部２２が出力するＰＩＤ制御量とを入力として、比例部２３１の比例定数ＫＰと積分部２３２の比例定数Ｋｉと微分部２３３の比例定数ＫＤを学習して求める。
【００４３】
学習とは一般的な機械学習のことであり、教師なし学習、教師あり学習、及び強化学習の何れの手法を適用してもよい。本実施形態の分散処理装置２００によれば、ＰＩＤ制御の比例定数を自動的に得ることができる。
【００４４】
以上説明した本実施形態の分散処理装置１００と２００によれば、冗長化された分散サーバシステムに想定外の故障が発生してトラヒック異常が生じた場合の処理要求の変化に、少ないパラメータで迅速に追従することができる。なお、図２と図６に破線で示すように、マーキング部１４を具備するようにしてもよい。
【００４５】
マーキング部１４は、目標設定部２１で設定した目標操作量に優先順位を付ける。目標設定部２１は、例えばＴＡＴの目標操作量を短い時間に設定することで処理の優先度を決めることができる。しかし、時系列で入力される処理要求の順番を変更することはできない。
【００４６】
マーキング部１４は、処理要求の要求元の識別子を利用して処理要求に優先順位を付ける。例えば、要求元の識別子や緊急度を表す指標に基づいて、マーキング部１４は処理要求を処理する順番を入れ替える。マーキング部１４を具備することで、処理要求をより柔軟に処理できるようになる。つまり、トラヒック異常が生じた際に、システム管理者の意向をより反映させた処理を行うことができる。
【００４７】
このように本発明は、上記した実施形態に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。
【符号の説明】
【００４８】
１    ：ＤＢサーバシステム
２    ：ＤＢサーバシステム
１０  ：処理部
１１  ：目標設定部
１２  ：計測部
１３  ：ＰＩＤ制御部
１４  ：マーキング部
２０  ：リソース配分部
１００：分散処理装置
【図１】
2016151794.tif 000005
【図２】
2016151794.tif 000006
【図３】
2016151794.tif 000007
【図４】
2016151794.tif 000008
【図５】
2016151794.tif 000009
【図６】
2016151794.tif 000010