JP2014103637A - 負荷分散制御方法およびシステム - Google Patents

負荷分散制御方法およびシステム Download PDF

Info

Publication number
JP2014103637A
JP2014103637A JP2012256359A JP2012256359A JP2014103637A JP 2014103637 A JP2014103637 A JP 2014103637A JP 2012256359 A JP2012256359 A JP 2012256359A JP 2012256359 A JP2012256359 A JP 2012256359A JP 2014103637 A JP2014103637 A JP 2014103637A
Authority
JP
Japan
Prior art keywords
server
edge device
servers
occurrence rate
edge
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2012256359A
Other languages
English (en)
Other versions
JP6020088B2 (ja
Inventor
Yasuhiro Miyao
泰寛 宮尾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2012256359A priority Critical patent/JP6020088B2/ja
Publication of JP2014103637A publication Critical patent/JP2014103637A/ja
Application granted granted Critical
Publication of JP6020088B2 publication Critical patent/JP6020088B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Telephonic Communication Services (AREA)

Abstract

【課題】各エッジ装置と各サーバとの間の網遅延が一般に異なる場合でも、網遅延と処理遅延とからなる総合遅延に関する要求をすべてのエッジ装置とサーバ間で満たすように負荷分散をする。
【解決手段】本発明にかかる負荷分散制御方法は、複数のクライアント1からのサービス要求メッセージを集約してサーバ6に振り分ける複数のエッジ装置3と、サービス要求を処理する複数のサーバ6と、制御装置4とがネットワークで接続され、各エッジ装置3は各サーバ6との間で観測されるネットワーク遅延に関する情報を制御装置4に通知し、制御装置4は各エッジ装置3からあるサーバ6までのネットワーク遅延の最悪値を用いてサーバ6の最大許容生起率を決定してそれを各エッジ装置3に通知し、エッジ装置3はサーバ6の最大許容生起率を用いてクライアント1を各サーバ6へ割当てる係数を決定する
【選択図】図1

Description

本発明は負荷分散制御方法・システムに関連し、特に地理的に分散配置された複数のサーバに関する負荷分散制御方法・システムに関する。
<輻輳状態と輻輳制御>
輻輳とは、システムの最大処理能力以上に処理要求のトラヒックが加わり、有効に処理されるトラヒックがシステムの最大処理能力を下回る状態をさす。これは、処理完了ができない要求に対してもシステムの処理能力の一部を割かなければならない等から発生する。以降では、具体的なシステムにおける従来の輻輳制御について記述する。
<通信ネットワークにおける輻輳制御について>
固定電話網では、非特許文献1にあるように、災害発生地域に着信呼が集中する場合に、制御系に輻輳崩壊が発生し、電話がつながりづらくなる。これを防止するため、非特許文献1にあるように、一般的な電話交換網では着信側の交換機の状態を制御装置が随時監視して、輻輳状態を検出したら発信側の交換機に規制指示を出す。
3GPP(3rd Generation Partnership Project)のデータ通信網では、非特許文献2にあるように、ユーザ端末を無線回線で終端して、コア網への振り分けを行うeNodeBと呼処理装置のMMEがそれぞれ複数ある場合、各eNodeBと各MMEの間は柔軟に接続できることが提案されている。この接続形態において、各MME(Mobility Management Entity)から通知をうけた相対容量に基づいてMMEの選択をすることで、複数あるMMEでの負荷バランスをとることができる。またMMEは、つながっている無線終端集約装置eNodeBをランダムに選んで、規制率とともに過負荷状態であることを通知できる。
また、非特許文献3では、IMS(IP Multimedia Subsystem)においてCSCF(call/session control function)と総称されるSIPサーバがVOIPの呼処理に使われることが述べられている。この場合、Interrrogating-CSCF(I-CSCF)は網の入り口に位置し、ユーザに対して最終的に呼処理を行うServing-CSCF(S-CSCF)を選択する。
SIPサーバにおける輻輳制御については、非特許文献4にあるように、SIPサーバが輻輳を検知したら、輻輳通知を上流のノードに送信して、そこで入力規制を行う方法が示されている。こうした外部からの入力規制は、一般的なSIPサーバが処理できない呼処理要求に対してエラー応答を返す内部的な制御が輻輳崩壊を根本的に解決できないことへの対処である。
入力規制の具体的な方法としては、サーバに対して送信するサービス要求を一定の割合で廃棄するパーセント廃棄や、一定時間内にサービス要求を送信できる最大数を規制するレート制御がある。
<サーバ仮想化等における容量計画>
非特許文献5にもあるように、計算機資源の設定が迅速にできるサーバ仮想化においては、制御装置があって、それがサーバの性能を監視した結果に基づいて必要となるサーバ数を算出し、新たにサーバを増設することができる。これは容量計画とも呼ばれる。
なお非特許文献6には物理サーバのプロビジョニングを行うのみならず、振分け先として利用可能なサーバ情報を負荷分散装置に通知できる管理装置がある。それはさらに、特定のサーバが異常状態もしくは障害状態になる直前の場合、そのサーバ向けへのトラヒックを削減もしくは停止する指示を負荷分散装置に通知する仕組みがある。
<ネットワークレベルの遅延を考慮したサーバへの負荷分散>
一つの負荷分散装置もしくはクライアントから複数のサーバへの負荷分散が非特許文献8に記載されている。これはサーバでの処理遅延に加えてネットワークレベルの処理遅延も含めた総合遅延を測定し、その逆数を各サーバへ振り分けるトラヒック量の比例係数としている。
K. Mase and H. Yamamoto,"Advanced Traffic Control Methods for Network Management,"IEEE Communication Magazine, pp. 82-88, October 1990. 3GPP TS23.401 V11.1.0 (2012-03) TS 23.228 V11.4.0 (2012-03) 3GPP Technical Specification Group Services and System Aspects; IP Multimedia Subsystem (IMS); Stage 2 (Release 11) IETF RFC6357 V. Hilt, E. Noel, C. Shen, and A. Abdelal, "Design consideration for Session Initiation Protocol (SIP) overload control" VMware vCenter Operations (2011) F5 iControl White paper (2009) R. R. Pillai, "A distributed overload control algorithm for delay-bounded call setup,"IEEE/ACM ToN, Vol.9, No.6, Dec. 2001, pp. 780-789. A. Karakos, D. Patsas, A. Bornea, and S. Kontogiannis,"Balancing HTTP traffic using dynamically updated weights, an implementation approach,"the 10th Panhellenic Conference on Informatics, 2005, pp. 873-878.
非特許文献8に示されている方法は、振分け係数を決定するのに、各サーバでの応答時間の計測値に基づいている。応答時間はトラヒックの変動があればそれに応じて変動するため、応答時間が小さいサーバにトラヒックを集中させた結果、そのサーバでの応答時間が増大するといった振動現象を起こす恐れがある。
また、非特許文献2では、新規にMMEが増設された場合、既設のサーバへの振分け係数を他よりも十分小さくして、新設されたサーバへ集中的にクライアントを振り分けることが示されているが、それをいつまで行うのか方法が明確にされていない。
本発明の目的は、トラヒックの変動によらず安定した振分け係数を決定する。またサーバが新設されるような場合は、そのサーバに負荷を集中させる期間を明示的に決定する方法を提供する。
本発明の第1の態様にかかる負荷分散制御方法は、複数のクライアントからのサービス要求メッセージを集約してサーバに振り分ける複数のエッジ装置と、クライアントからのサービス要求を処理する複数のサーバと、少なくとも一つの制御装置とがネットワークで接続された負荷分散システムに用いられる負荷分散制御方法であって、各エッジ装置は各サーバとの間で観測されるネットワーク遅延に関する情報を前記制御装置に通知し、前記制御装置は各エッジ装置からあるサーバまでのネットワーク遅延の最悪値を用いて前記サーバの最大許容生起率を決定してそれを各エッジ装置に通知し、エッジ装置は前記サーバの最大許容生起率を用いてクライアントを各サーバへ割当てる係数を決定することを特徴とするものである。
本発明の第2の態様にかかる負荷分散制御システムは、複数のクライアントからのサービス要求メッセージを集約してサーバに振り分ける複数のエッジ装置と、クライアントからのサービス要求を処理する複数のサーバと、少なくとも一つの制御装置とがネットワークで接続された負荷分散システムであって、各エッジ装置は各サーバとの間で観測されるネットワーク遅延に関する情報を前記制御装置に通知し、前記制御装置は各エッジ装置からあるサーバまでのネットワーク遅延の最悪値を用いて前記サーバの最大許容生起率を決定してそれを各エッジ装置に通知し、エッジ装置は前記サーバの最大許容生起率を用いてクライアントを各サーバへ割当てる係数を決定することを特徴とするものである。
各サーバの最大収容生起率に基づいて決定される振分け係数をもちいるため、トラヒック変動に対しても振分け係数が振動しない。上記の最大収容生起率は、各エッジ装置と各サーバとの間の網遅延が一般に異なる場合でも、網遅延と処理遅延とからなる総合遅延に関する要求をすべてのエッジ装置とサーバ間で満たすように決定している。よって、各サーバに対して、その最大収容生起率に基づいてシェイピングすれば、各サーバとの間のそれぞれの総合遅延について、同一の要求を満たすことができる。
全体構成を示すブロック図である。 制御装置の構成を示すブロック図である。 エッジ装置の構成を示すブロック図である。 収益最大化の最適化問題の解法を説明する図である。 収益最大化の最適化問題の解法を説明する図である。 制御装置の輻輳制御手段における動作を示す流れ図である。 制御装置の負荷分散制御手段における動作を示す流れ図である。 実施の形態において、トラヒック量の変動に対する、廃棄率、サーバ数の軌跡を示すグラフである。
先ず図1を用いてシステム全体の構成について説明する。システム全体は、クライアント1、フロントエンド網2、エッジ装置3、制御装置4、バックエンド網5、サーバ6とからなる。
クライアント1は、サービス利用登録をエッジ装置3によって割り当てられたサーバ6に対して行うとともに、そのサーバ6へ向けてサービスの要求を送信する。サービスの登録に先立ってクライアント1はエッジ装置3を別の何らかの手段で割り当てられる。
フロントエンド網2はクライアント1とエッジ装置3を接続するネットワークである。エッジ装置3はクライアントから受け取ったサービスへの利用登録に対してサーバ6を割り当て、その後クライアントから受け取ったサービス要求メッセージをすでに割り当てられているサーバ6に転送するという負荷分散の機能を持つ。また、エッジ装置3は、クライアント1からのサービス要求メッセージに対する入力規制を行い、サーバ6に加わるトラヒックを削減する。制御装置4は、エッジ装置3、サーバ6との間で輻輳制御、あるいは負荷分散制御に必要となるメッセージをやり取りする。
バックエンド網5は、エッジ装置3、制御装置4、サーバ6の間を接続するネットワークである。サーバ6はエッジ装置3を経由してクライアント1から受信したサービスへの登録、およびその後受信するサービス要求メッセージを処理する。
次に図2を用いて制御装置4の構成について説明する。制御装置4は、入出力手段7と、輻輳制御管理手段8と、負荷分散制御手段17と、プロビジョニング手段9と、記憶装置10とからなる。
輻輳制御手段8は、各サーバ6からサービス処理に関して観測された性能情報を受取り、それに基づいてエッジ装置3で用いる規制率、必要なサーバ数等を決定し、各エッジ装置3に規制率や、使用可能なサーバを通知するという資源管理を行う。
負荷分散制御手段17は、各エッジ装置3からサーバ6へのネットワークレベルの遅延の観測値を受信し、また各サーバ6からクライアント1の登録数を受信して、それに基づいて各サーバ6の最大許容生起率を決定して、各エッジ装置3に通知する。
プロビジョニング手段9は、資源管理手段から指定されたサーバ6に対して、サーバ6の起動、割当てをおこなうための指示メッセージをサーバ6に送る。
記憶装置10は、稼働中および待機中のサーバ6のアドレスと、サーバ6の処理率(単位時間あたりのサービス要求の処理可能数)と、およびエッジ装置3の各アドレスと、サーバでの観測性能、入力規制率、各エッジ装置3から受信した各サーバ6との間のネットワークレベルの遅延等を保持している。
次に図3を用いてエッジ装置3の構成について説明する。エッジ装置は資源管理手段11と、入出力装置12と、入力規制手段13と、負荷分散手段14と、複数の転送キュー15と、読み出し手段16とからなる。
資源管理手段11は、制御装置4から送られた規制値を入力規制手段13に設定する。また制御装置4から送られた各サーバ6の最大許容生起率から割当て係数を決定して、負荷分散手段14に設定する。さらに、読み出し手段16で各転送キュー15に対してシェイピングを行う場合は、そのレートとして前記(サーバの最大許容生起率)/(エッジ装置総数)を転送キュー15に設定する。
入力規制手段13における入力規制の方法にはつぎの2つが考えらえる。一つは、規制率φに基づいて、例えばサービス要求メッセージを受信するたびに乱数を振って、その値がφ未満の場合はそのサービス要求メッセージを廃棄もしくは要求拒否メッセージを返送し、乱数を振った値がφ以上のものはサービス要求メッセージの処理を行う。
もうひとつは総量規制であり、リークレートrと、そこからの揺らぎを表すバケットサイズBを2つのパラメータにもつリーキーバケットアルゴリズムに基づいて規制を行う。リーキーバケットは、リークレートrでサイズBのバケツからデータを読み出すことを想定したもので、到着したメッセージのサイズがバケツの空き容量を超えた場合、それは廃棄される。
負荷分散手段14は、クライアント1からサービス利用登録要求のメッセージがきたら、割当て係数に基づいて決定されたサーバ6をそのクライアント1に割当てる。一度割り当てられたサーバ6は、クライアント1がサービス利用登録を解除をするまでそのクライアント1からのメッセージが転送される。また予め各クライアント1に割当てられたサーバ6に対応する転送キュー15にクライアント1からのサービス要求メッセージを振り分ける。
負荷分散手段14は、例えば、クライアント1からのサービス利用登録要求を、割当て係数に従ってサーバ6に割り当てる。そしてその後、そのクライアント1からその後転送されるメッセージはその割り当てられたサーバ6に対応する転送キュー15に送る。このサービス利用登録は例えば3GPPのAttach、SIPのuser registrationであり、一度割り当てられたらその間のメッセージはすべておなじサーバ6に送られる。転送キュー15はサーバ毎に設定される。
読み出し手段16は、資源管理手段11から設定された振分け係数に基づいてweighted fair queue形式で、転送キュー15からサービス要求メッセージを読み出すか、あるいは(最大許容生起率)/(エッジ装置数)で決まるレートでシェイピングしてもよい。
(実施の形態の動作)
次に制御装置の資源管理手段での動作について説明する。次のように与えられた目的関数を最適化するように決めたい。
Figure 2014103637
Figure 2014103637
いま、サーバのサービス要求メッセージの処理能力はすべて等しいものとする。先ず定数について説明する。aは一つの処理要求を処理完了できた場合に得られる収入、bは稼働中のサーバ1台で単位時間に発生するコストとする。コストは具体的には電力使用量やサーバ管理の手数等に係るものである。λOはエッジ装置全体に加わるサービス要求のトラヒックとする。Dnはサーバnにおいて要求される遅延限界である。
PG[λ,D]は生起率λのトラヒックが、1台のサーバに加わったとき、許容時間D以内にサービスが完了する確率を表す処理完了率を表す関数である。
つぎに変数について説明する。λnはエッジ装置全体に加わるサービス要求のトラヒックのうちサーバnに加わる生起率、Nはサーバ総数、φは各エッジ装置における共通の規制率を表す。
次に、目的関数について説明する。(1−φ)λnは各エッジ装置における入力規制後、サーバnに加わるトラヒックであり、これをスループットと呼ぶ。
そして、(1−φ)λn*PG[(1−φ)λn,Dn]はサーバnにおいて単位時間あたりに処理完了するサービス要求メッセージ数を示し、これはグッドプットとも呼ばれる。すると、目的関数において、a*Σn=1 N(1−φ)λn*PG[(1−φ)λn,Dn]は単位時間当たりのサーバ全体での総収入を表す。一方bNは単位時間あたりサーバ全体に発生するコストになるので、式(1)の目的関数は単位時間当たりの総収益を最大化するものとみなせる。
ここで、式(1)はλnについて非線形関数となるため、これを線形近似して、上記最適化問題を容易に解けるようにする。すなわち与えられたdに対して、PG[λ,d]はλに関する減少関数となるので、λ*PG[λ,D]はλに関して最大値をもつ。非特許文献7によれば、生起率λ、処理率μ最大許容遅延DをパラメータにしたM/M/1の待ち行列システムでの処理完了率はPG[λ, D]=1−exp{−(μ−λ)D}で与えられる。そして与えられたDに対して、グッドプットλ* [1−exp{−(μ−λ)D}]の最大値を与えるλ=λmaxの値を示す表も与えられている。これはDが大きくなるほど大きくなることがわかる。また、一般にある待ち行列システムでのλmaxを求めるのは上記のように解析的に導出するだけでなく、サーバに擬似的なトラヒックを加えていって与えられたλに対する遅延分布を求め、更に与えられたDに対してλに対するグッドプットのグラフを、加えてグッドプット算出して求めることも可能である。
λmaxはサーバにこれ以上の生起率を持つサービス要求のトラヒックを受け入れると、グッドプットが低下するので、輻輳崩壊を防ぐにはこれ以上の生起率をもつトラヒックを受け入れるべきではないことを示す値である。よって、λmaxを最大収容生起率とも呼ぶことにする。
上記の議論に基づいて式(1)を線形近似するため、0≦λn(1−φ)≦λn maxの範囲ではPG[λn(1−φ),Dn]=1で近似する。これより式(1)、(2)から、
Σn=1 Nλn(1−φ)*PG[λn(1−φ), Dn]
=(1−φ)Σn=1 Nλn
= (1−φ)λO
となるので、上記の最適化問題は次のように簡素化できる。
Figure 2014103637
Figure 2014103637
λn maxはサーバnの最大収容生起率とする。サーバ全体で最大収容可能なトラヒックを
Figure 2014103637
と定義すると、式(2)、(7)より、
Σn=1 Nλn (1−φ)=(1−φ)λO≦Σn=1 Nλn max=λ[N]、よって、これより新たな制約条件として、
Figure 2014103637
を得る。 これより上記の最適化問題はさらに次のようにかける。
Figure 2014103637
Figure 2014103637
ここで、D1=,..,=DNであり、各サーバに振り分けられるサービス要求の生起率はすべて等しいとすれば、λ1 max=,...,=λN max≡λmaxが得られる。すると式(8)はλ[N]=λmaxNとなり、式(5)はφ+N/(λOmax) ≧1となる。すると、上記の最適化問題は、下記のように、φとNからなる線形空間における線形関数の最大化問題となる。
Figure 2014103637
Figure 2014103637
図4A及びBには上記の(N、φ)の平面上で式(10)、(4)、(7)の制約条件を満たす許容領域を斜線で示してある。
いま、目的関数(6)の値をcと置いてφについて解くと、φ=−bN/(aλO)+(aλO−c)となってφ切片はaλO−cであるから、cを最大にするには、上記直線のφ切片を許容領域内で最小にすればよい。
その際、以下に示す2つの場合に分けて考える必要がある。一つは、図4Aに示されている場合、すなわちλOmax<Nmaxならば、ceilを天井関数として、
Figure 2014103637
となる。すなわち、エッジ装置3に加わるトラヒックがサーバ6側の最大容量を下回る場合は、規制率は0にして、サーバ総数は、そこに加わるトラヒックを収容できる最小分だけ用意する。
一方、許容領域が図4Bで示されている場合、すなわちλOmax≧Nmaxならば、
Figure 2014103637
となる。すなわち、エッジ装置3に加わるトラヒックがサーバ6側の最大容量を上回る場合は、サーバ6は準備できる最大限Nmaxを稼働させ、それによる容量を上回る分のトラヒックは入力規制することになる。
ここでこの実施の形態によって得られる効果について述べておく。式(12)より、φは与えられたサーバ台数に対して、規制されるトラヒックの割合を示している。これはNmaxが大きければ大きいほど小さくなる。よって、従来処理容量が固定であったシステムに比べて処理容量を増加させることができれば、入力規制されるトラヒック量を減少させる、あるいは疎通させるトラヒック量を増大させることができるという効果が得られる。
また目的関数の最適値は、上記のN,φの値を式(4)に入れ、さらにNが連続数を取ることができると近似するならば、
λOmax<Nmax の場合は a*λO−bλOmax=(a−b/λmax)λO、でλとともに増加し、
λOmax≧Nmax, の場合は (a*λmax−b)Nmax と一定になる。
上記の収益の最大値より、パラメータa,b に関して次のことがわかる。すなわち、与えられたλOに対して収益が正の値をとるためには、aλmax>bである必要がある。これは、サーバを一台用意して最大得られる収入がそのコストを上回る必要があることを意味する。
一方、a*λmax≦bの場合は、Nmaxを増やすと収益が減るので、収益最大化のためには、N max=1とせざる終えず、サーバを増設することの意味がない。これは図4A及びBにおいてそれぞれ直線L1,L3に相当する。
上記のように最適化問題を設定しその解に基づいて輻輳制御をするならば、各エッジ装置で観測して得られる生起率λeの総和から得られるλOe=1 Eλeに対して、式(11)もしくは(12)からサーバ総数Nと、各エッジ装置に共通の入力規制値であるφを決定するだけでよく、非特許文献2と違って、個別のサーバに対して輻輳検出してから個別に入力規制等の制御をかけるといったサーバ個別の対応を行う必要がなくなる。
以上に基づいた制御装置4の輻輳制御手段8による動作を図5の流れ図を用いて詳細に説明する。ここで、各サーバが最大収容可能なサービス要求の生起率はあらかじめ与えられているものとする。
輻輳制御手段8は、各制御区間の終了時に各エッジ装置3から生起率の観測値を収集したら(S1)、各サーバ6から受信した生起率の総和、および現在稼働中のエッジ装置3の数から、式(11)、(12)に基づいてサーバ数N、および入力規制パラメータ(廃棄率φもしくはリークレートm)を決定して記憶装置に格納し(S2)、サーバを新たに増設する、もしくは既存サーバを減設する場合はサーバの起動、終了の指示をプロビジョニング手段9に指示してから、稼働中のサーバ6のアドレスを記憶装置10上で更新する(S3)。そして輻輳制御手段8は、入力規制パラメータと利用可能なサーバのアドレスを記憶装置から読み出してエッジ装置に通知する(S4)。
なおS3に基づいてプロビジョニング手段9から終了の指示を受けたサーバ6は、実際に稼働を終了する前に、すでに登録されているユーザを他のサーバ6に振り替える必要がある。そのために、輻輳制御手段8は直接もしくは間接的に、終了指示をうけたサーバ6に指示して、そのサーバ6に登録されたクライアント1に他のサーバ6への再登録を促す。そしてすべてのクライアント1の他のサーバ6への再登録が終了したら稼働を終了する。
次に、エッジ装置3における負荷分散に関する動作について説明する。その前に、定量的なモデル化について説明する。いまサーバnにおけるサービス完了はエッジ装置3からサーバ6へのネットワーク遅延も含む総合遅延がd以下であれば実現されるとする。
いまエッジ装置e(=1,..,E)からサーバnへのネットワークレベルでの往復遅延RTTe,nに加えてサーバ6での処理遅延tn srvを加えた総合時間te,n total=tn srv+RTTe,nが任意のエッジ装置3とサーバ6の組に対して共通のD以下であれば処理が完了したとみなす。すると、サーバnにおいて処理完了とみなせるためには、
すべてのエッジ装置3に対してtn srv≦D−RTTe,n for all e=1,..E、
すなわち、tn srv≦D−maxe=1,..,ERTTe,n でなければならない。よって、サーバnにおける処理完了率Pはグッドプットを表す関数を用いて、PG[λn, D−maxe=1,..,ERTTe,n]と書けるので、サーバnにおけるグッドプットはλn*PG[λn,D−maxe=1,..,ERTTe,n]となる。ここで、先に述べたように、グッドプットGP[λ,τ]を最大化するためのλ=λmaxはあらかじめサーバに生起率λの擬似トラヒックを加えて遅延を計測して、λに対する遅延分布を算出し、そこから各τに関するλ=λmaxを求めて例えば表の形式で保持しておくことができる。
上記のグッドプットを最大化するλnn maxを制御装置4でテーブルからひかせるためには、τnを算出する必要がある。
これは、エッジ装置3とサーバ間6で測定したRTTを各エッジ装置から収集する。これより、τn=D−maxe=1,..,ERTTe,n (n=1,..,N)、そしてτnより得られるλn max(n=1,..,N)をすべてのサーバ6についてエッジ装置3に通知すれば、エッジ装置3はサーバnへの振分け係数を次のように計算できる。
Figure 2014103637
エッジ装置は総数がE台あるので、各エッジ装置3では、最大収容生起率がλn maxであるサーバnからのサービス要求トラヒックに対してピークレートをmnn max/E (n=1,..,N)の値でシェイピングするならば、サーバnには全エッジ装置から高々λn maxのトラヒックしか加わらないのでサーバnでの輻輳崩壊は防ぐことができる。
なお、新規にサーバ6を増設した直後からは、接続要求の処理に関する負荷レベルを他のサーバ6と同等レベルにより早く持っていく必要がある。そこで新規クライアントの登録をそのサーバ6へ集中的に行わせために次のように振分け係数のつけ方を通常とは違う方法にする。
すなわち制御装置4は、図5を用いて説明した輻輳制御方法に基づいて新規にサーバ6を増設して、プロビジョニング手段9から増設完了の応答を受けた場合は増設モードを設定する。そして新規サーバ6に対する最大許容生起率は例えば100、他のサーバ6については0として、エッジ装置3に通知する。もしくは制御装置4が他のサーバ6に直接もしくは間接的に指示して、そのサーバ6にサービス登録済みのクライアントを新設したサーバ6へ再登録するように促す。こうした新設サーバ6への集中的なクライアント1の割当ては、例えば新規サーバ6へのクライアント1の登録数が他のサーバ全体でのクライアント登録数の平均値を超えるまで続ける。前記の平均値を算出するために、制御装置4はサーバ6に定期的にアクセスして登録されているクライアント数の情報を受信する。
以上を考慮してエッジ装置3の資源管理手段11は下記の動作を行う。すなわち、エッジ装置3は各サーバ6にIP pingを飛ばす等により、ネットワークレベルでの往復遅延RTTを測定する。そしてそれが著しく変化した場合は、制御装置4に各サーバ6へのRTTの最悪値のベクトルを送信する。
エッジ装置3は制御装置4から各サーバ6の最大許容生起率λmax=(λ1 max,..,λN max)を受信した場合は、そこから式(1)に基づいて割当て係数を算出して負荷分散手段14に設定し、またそれを直接転送キュー15のシェイピングレートに設定する。
次に制御装置4の負荷分散制御手段17における動作について図6を用いて説明する。サーバプロビジョニング完了応答がプロビジョニング手段9から出力されたら(S11)、増設モードを設定して(S12)、S16に行く。
一定時間後に各エッジ装置3からRTTを受信したら(S13)、負荷分散制御手段17は、増設モードであるかどうか調べ(S14)、そうである場合はステップ16に行く。ステップ14で増設モードでない場合は、負荷分散制御手段17は利用可能な各サーバ6ついて、RTTに基づくλmaxを算出して、利用可能なサーバのアドレスとともに各エッジ装置3に通知し(S15)して、S13に戻る。
負荷分散制御手段17は、S16では、一定時間後に各サーバから登録クライアント数を取得し、次に新規サーバのクライアント数が新規サーバ以外の平均クライアント数を超えたかどうか調べ(S17)、超えた場合は増設モードを解除して最大許容生起率は先に説明したグッドプットを最大化するものに設定し(S18)、S13に飛ぶ。S17で超えない場合は新設された以外の既存サーバは最大許容生起率についてλn max=0を設定、新設されたサーバに対してはλn max=100を設定してS16に飛ぶ。
上記の動作により、サーバ増設された状態においては、他の既稼働のサーバと同等レベルまでクライアント数が0から増加するまで、そのサーバに集中して新規クライアントが登録されるので、より早く他のサーバとの負荷レベルを等しくすることができる。
また、各サーバに登録されたクライアント数が平準化されている場合は、各エッジ装置3と各サーバ6との間の総合遅延がすべて許容時間を満たすように新たなクライアント1の登録が振り分けられるようになる。
次に本発明の実施の形態における実施例について説明する。
図6はλOが時間的に変化したとき、制御変数であるφ、Nの軌跡をあらわしている。ただし、どのサーバ6の処理率も等しくμとし、エッジ装置3とサーバ6との間のネットワーク遅延はすべて等しいものとする。λOが増加するにしたがって、φ=0のまま、Nを増やす。N=Nmaxになっても、さらにλが増えていったら、今度は、N=Nmaxのままで、λOの増加とともにφを増加させる。
一方この状態からλが減少を始めると、φも減少させる。そして、φが0になったところさらにλOが減少すれば、φ=0のまま、Nが削減されることを示している。
本発明は、3GPPのEPCにおいては、eNodeBとMMEをそれぞれエッジ装置とサーバとみなして適応可能である。また、SIPをもちいたIMSにおけるVOIPにおいて、I-CSCFとS-CSCFをそれぞれエッジ装置とサーバとみなしても適応可能である。
次に図7を用いて、複数のエッジ装置3全体に加わるトラヒックλOが時間的に変化した時、制御変数である入力規制率φ及びサーバ数Nの値の軌跡を説明する。ただし、どのサーバの処理率も等しくμとし、エッジ装置3とサーバ6との間のネットワーク遅延はすべて等しいものとする。
図7の横軸は時間変化を示す。つまり、横軸を右に行くに従い時間が経過していることを示す。左側の縦軸は、入力規制率φの値を示す。さらに、右側の縦軸は、λOの値を示す。図7においては、サーバ数Nを示す軸は存在しないが、グラフの変化によりサーバ数が増減している様子を示す。
図7のL1は、λOが時間0から時間T2まで増加し、時間T2から時間T4まで減少している様子を示している。λOが増加している時間0から時間T1までを低負荷状態とする。さらに、λOが増加している時間T1からT2及びλOが減少している時間T2からT3までを過負荷状態とする。さらに、λOが減少している時間T3からT4までを低負荷状態とする。
図7のL2は、サーバ数の推移を示している。時間0から時間T1までは、λOが増加するに伴い、稼働するサーバ数Nを増加させている。ここで、時間T2において稼働するサーバ数NがNmaxに達した後、過負荷状態であるT3までは、サーバ数がNmaxである状態が継続する。時間T3からT4までは、λOが減少するに伴い稼働するサーバ数Nも減少させる。
図7のL3は、入力規制率φの値を示している。入力規制率φは、時間0からT1までは0に設定されている。つまり、時間T1までは、入力規制率φを0に設定して稼働するサーバ数を増加させることにより、増加するトラヒックλOに対応している。時間T1にサーバ数NがNmaxに達した後、増加するトラヒックλOに対して入力規制率φを増加させることにより、1台のサーバ6に送信されるトラヒックの量を調整する。時間T2から時間T3の間は、トラヒックλOの減少に伴い入力規制率φも減少させる。時間T3から時間T4の間は、入力規制率φを0に設定し、サーバ数Nを減少させることにより、減少するトラヒックλOに対応している。
このようにして、本発明における輻輳制御では、増加するトラヒックに対して稼働させるサーバ数を増加させることができる間においては、トラヒックの入力規制は行わず、稼働させるサーバ数が上限に達した場合に、トラヒックの入力規制を行うように制御される。このように制御することにより、処理するサービス要求の数を増加させることができる。
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
1 クライアント
2 フロントエンド網
3 エッジ装置
4 制御装置
5 バックエンド網
6 サーバ
7、12 入出力装置
8 輻輳制御手段
9 プロビジョニング手段
10 記憶装置
11 資源管理手段
13 入力規制手段
14 負荷分散手段
15 転送キュー
16 読出し手段
17 負荷分散制御部

Claims (10)

  1. 複数のクライアントからのサービス要求メッセージを集約してサーバに振り分ける複数のエッジ装置と、クライアントからのサービス要求を処理する複数のサーバと、少なくとも一つの制御装置とがネットワークで接続された負荷分散システムに用いられる負荷分散制御方法であって、
    各エッジ装置は各サーバとの間で観測されるネットワーク遅延に関する情報を前記制御装置に通知し、前記制御装置は各エッジ装置からあるサーバまでのネットワーク遅延の最悪値を用いて前記サーバの最大許容生起率を決定してそれを各エッジ装置に通知し、
    エッジ装置は前記サーバの最大許容生起率を用いてクライアントを各サーバへ割当てる係数を決定することを特徴とする負荷分散制御方法
  2. 新規サーバが増設された場合は、前記サーバへのクライアントの登録数が他のサーバの登録数と同等レベルになるまで、他のサーバの最大許容生起率は0に設定されることを特徴とする、請求項1記載の負荷分散制御方法。
  3. 前記エッジ装置は、各サーバへのトラヒックを(最大許容生起率)/(エッジ装置総数)に基づいてシェイピングすることを特徴とする請求項1又は2に記載の負荷分散制御方法。
  4. 前記エッジ装置は3GPPのEvolved Packet System(EPS)に準拠したeNodeBであり、サーバは前記EPSに準拠したMMEであることを特徴とする請求項1乃至3のいずれか1項に記載の負荷分散制御方法。
  5. 前記エッジ装置およびサーバは3GPPのIMSに準拠したCSCFであることを特徴とする請求項1乃至3のいずれか1項に記載の負荷分散制御方法。
  6. 複数のクライアントからのサービス要求メッセージを集約してサーバに振り分ける複数のエッジ装置と、クライアントからのサービス要求を処理する複数のサーバと、少なくとも一つの制御装置とがネットワークで接続された負荷分散システムであって、
    各エッジ装置は各サーバとの間で観測されるネットワーク遅延に関する情報を前記制御装置に通知し、前記制御装置は各エッジ装置からあるサーバまでのネットワーク遅延の最悪値を用いて前記サーバの最大許容生起率を決定してそれを各エッジ装置に通知し、エッジ装置は前記サーバの最大許容生起率を用いてクライアントを各サーバへ割当てる係数を決定することを特徴とする負荷分散システム
  7. 新規サーバが増設された場合は、前記サーバへのクライアントの登録数が他のサーバの登録数と同等レベルになるまで、他のサーバの最大許容生起率は0に設定する負荷分散制御手段を前記制御装置が備えることを特徴とする、請求項6記載の負荷分散制御システム。
  8. 前記エッジ装置は、各サーバへのトラヒックを(最大許容生起率)/(エッジ装置数)に基づいてシェイピングすることを特徴とする請求項6又は7に記載の負荷分散システム。
  9. 前記エッジ装置は3GPPのEvolved Packet System(EPS)に準拠したeNodeBであり、前記サーバは前記EPSに準拠したMMEであることを特徴とする請求項6乃至8のいずれか1項に記載の負荷分散システム。
  10. 前記エッジ装置および前記サーバは3GPPのIMSに準拠したCSCFであることを特徴とする請求項6乃至8のいずれか1項に記載の負荷分散システム。
JP2012256359A 2012-11-22 2012-11-22 負荷分散制御方法およびシステム Active JP6020088B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012256359A JP6020088B2 (ja) 2012-11-22 2012-11-22 負荷分散制御方法およびシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012256359A JP6020088B2 (ja) 2012-11-22 2012-11-22 負荷分散制御方法およびシステム

Publications (2)

Publication Number Publication Date
JP2014103637A true JP2014103637A (ja) 2014-06-05
JP6020088B2 JP6020088B2 (ja) 2016-11-02

Family

ID=51025744

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012256359A Active JP6020088B2 (ja) 2012-11-22 2012-11-22 負荷分散制御方法およびシステム

Country Status (1)

Country Link
JP (1) JP6020088B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018133759A (ja) * 2017-02-17 2018-08-23 日本電信電話株式会社 Enum/dnsトラヒック制御システム、ロードバランサ、及びenum/dnsトラヒック制御方法
JP2021114683A (ja) * 2020-01-17 2021-08-05 富士通株式会社 ロードバランサ配備位置決定方法、及びロードバランサ配備位置決定プログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004093394A1 (ja) * 2003-04-14 2004-10-28 Fujitsu Limited データ中継装置、データ中継方法、データ中継プログラム、サービス選択装置、サービス選択方法、及びサービス選択プログラム
JP2006302249A (ja) * 2005-03-23 2006-11-02 Hitachi Ltd 管理コンピュータの制御方法、及びサーバの制御方法
WO2014080994A1 (ja) * 2012-11-22 2014-05-30 日本電気株式会社 輻輳制御システム、制御装置、輻輳制御方法およびプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004093394A1 (ja) * 2003-04-14 2004-10-28 Fujitsu Limited データ中継装置、データ中継方法、データ中継プログラム、サービス選択装置、サービス選択方法、及びサービス選択プログラム
JP2006302249A (ja) * 2005-03-23 2006-11-02 Hitachi Ltd 管理コンピュータの制御方法、及びサーバの制御方法
WO2014080994A1 (ja) * 2012-11-22 2014-05-30 日本電気株式会社 輻輳制御システム、制御装置、輻輳制御方法およびプログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018133759A (ja) * 2017-02-17 2018-08-23 日本電信電話株式会社 Enum/dnsトラヒック制御システム、ロードバランサ、及びenum/dnsトラヒック制御方法
JP2021114683A (ja) * 2020-01-17 2021-08-05 富士通株式会社 ロードバランサ配備位置決定方法、及びロードバランサ配備位置決定プログラム
JP7356026B2 (ja) 2020-01-17 2023-10-04 富士通株式会社 ロードバランサ配備位置決定方法、及びロードバランサ配備位置決定プログラム

Also Published As

Publication number Publication date
JP6020088B2 (ja) 2016-11-02

Similar Documents

Publication Publication Date Title
WO2014080994A1 (ja) 輻輳制御システム、制御装置、輻輳制御方法およびプログラム
CN106452958B (zh) 一种流量控制方法、系统及集中控制器
JP4361951B2 (ja) 通信システム内のネットワークノードグループを用いたデータ通信制御のための方法
Manfredi et al. A distributed control law for load balancing in content delivery networks
EP1739878A2 (en) Method and apparatus for dynamically calculating the capacity of a packet network
EP2227884B1 (en) Method for distributing messages to destination nodes
US7924723B2 (en) Method and apparatus for providing retry-after-timer overload control
US10404854B2 (en) Overload control for session setups
EP2330780A1 (en) Alternative bandwidth management algorithm
US9054988B2 (en) Method and apparatus for providing queue delay overload control
Samouylov et al. Analytical Modelling And Simulation For Performance Evaluation Of SIP Server With Hysteretic Overload Control.
CN106101468B (zh) 传输链路的确定方法及装置
KR20130060350A (ko) Atca-기반 장비에서 통신 트래픽을 스케줄링하기 위한 방법 및 장치
JP6020088B2 (ja) 負荷分散制御方法およびシステム
WO2012175140A1 (en) Gateway selection for load balancing
US10104516B2 (en) Dynamic distribution in an offline charging system
JP5702232B2 (ja) サーバ連携互助システムならびにそのサーバおよびサーバ連携互助プログラム
CN110621084A (zh) 一种预建立会话的建立方法、装置、电子设备及存储介质
JP5702745B2 (ja) 輻輳制御装置
CN109257292B (zh) 一种rcs负载均衡方法及装置
US10812389B2 (en) Optimizing network channel loading
Burakowski et al. The ip qos system
KR102168583B1 (ko) 로드밸런싱관리장치 및 그 동작 방법
US8768366B2 (en) Network of media servers and a method of dynamically routing calls over the network of media servers
JP5784522B2 (ja) 呼制御サーバ、呼制御サーバの規制方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151007

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160805

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160906

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160919

R150 Certificate of patent or registration of utility model

Ref document number: 6020088

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150