説明

負荷情報無共有型負荷平滑化サーバ、該サーバを備えるシステムおよびその方法

【課題】サーバとクライアントの間には振分けノードを導入せず、かつサーバは負荷状況を他のサーバと直接通知し合わずに、サーバ間で処理負荷を平滑化する。
【解決手段】サーバは、等確率サーバ選択機能を備えたクライアント端末からの処理要求を受け、該サーバは、処理要求のメッセージが、オリジナルメッセージであるか、リダイレクトメッセージであるかを判別し、オリジナルメッセージの場合、受付率で受け入れ、オリジナル要求キュー格納する。受け入れなかったオリジナルメッセージはリダイレクトすし、リダイレクトメッセージをリダイレクト要求キューに格納する。また、サーバは、オリジナル要求キューとリダイレクト要求キューに格納された処理要求のメッセージを動的にリダイレクトする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のサーバが分散して、コンテンツを多数のクライアントに提供(送信)するときに、負荷情報を共有することなくサーバ間で処理負荷を平滑化するサーバ、該サーバを備えるシステムおよびその方法に関する。
【背景技術】
【0002】
WEBサーバ間で処理負荷を平滑する手法は、数多く提案されている。例えば、特許文献1は、複数のサーバへ負荷を分散するときに振分けノードをWEBサーバの前段に配置し、サーバの負荷状況に応じてコンテンツ要求を振り分ける。特許文献1ではWEBサーバの他に振分けノードが必須となる。
【0003】
また、特許文献2は、負荷の小さいWEBサーバに負荷を分散させることができるWEBサーバシステムおよび負荷分散方法を開示し、特許文献3は、コンテンツデータを記録するためのコンテンツ記録手段の空き記録容量が大きいノード装置に対して保存を指示する保存指示装置を開示する。特許文献2および特許文献3は、WEBサーバ間あるいはファイル保存ノード間で負荷状況あるいはストレージ空き状況を送受するメッセージ交換機能が必須となる。
【0004】
特許文献4は、WEBサーバの負荷状況にあわあせてWEBサーバあるいはキャッシュサーバの接続先を切り替える方法を開示する。WEBサーバおよびキャッシュサーバは階層構造を構成し、ツリーの節に当たるノード間で負荷状況を交換し、クライアントが接続するWEBサーバあるいはキャッシュサーバを切り替える。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2008−40718号公報
【特許文献2】特開2009−237835号公報
【特許文献3】特開2010−67073号公報
【特許文献4】特開2009−237637号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上述の従来技術では、負荷分散ノードあるいはWEB(キャッシュ)サーバ間で負荷状況を直接通知し合い負荷分散処理を行う。よって、構成が複雑になる。
【0007】
特許文献1では、振分けノードを用いるため、単一障害点を解消するためには振分けノードの冗長構成が必須となり、振分けノードを導入することによる複雑さが増す。さらに、サーバが障害で停止すれば、振分けノードはすぐさま振り分け候補から当該サーバを削除しなければならず、振分けノードはWEBサーバの稼働性確認を常時行わなければならない。
【0008】
特許文献2、3および4は、サーバ間の負荷状況を通知し合うために、互いにWEBサーバ間を関連付ける機能が不可欠になる。サーバの稼働状況監視と負荷状況通知の関連付けが密接に動作しなければならず、システム全体が複雑になる。
【0009】
また、サーバ負荷の分散に、インターネットで常套手段となっているDNS(Domain Name
System)の負荷分散を用いる場合には、上記特許文献はサーバ間で適切に負荷を分散できない欠点がある。例えば、DNSの負荷分散では、WEBサーバN台に均等に要求を分散するため、WEBサーバの処理性能が均一でない場合には、負荷に偏りが生じる。
【0010】
なお、DNSの負荷分散では、クライアントがサーバへ接続する前にWEBサーバ名からIPアドレスを得る名前解決を、DNSを用いて行う。DNSは同一WEBサーバ名に複数のIPアドレスを対応付け、対応づく全てのIPアドレスをクライアントへ応答することができる。複数のIPアドレスの通知を受けたクライアントは、多くの場合、等確率で一つのIPアドレスを選択しWEBサーバへ接続する。このDNSとクライアントの動作は、WEBサービスに特化したものではなく、インターネットの多様なサービスで用いられている。
【0011】
したがって、本発明は、サーバとクライアントの間には振分けノードを導入せず、かつサーバは負荷状況を他のサーバと直接通知し合わずに、複数のサーバが分散して、コンテンツを多数のクライアントに提供するときに、サーバ間で処理負荷を平滑化するサーバ、該サーバを備えるシステムおよびその方法を提供することを目的とする。
【課題を解決するための手段】
【0012】
上記目的を実現するため処理要求の負荷を平滑化するサーバは、等確率サーバ選択機能を備えたクライアント端末からの処理要求の負荷を平滑化するサーバであって、前記処理要求のメッセージが、リダイレクトされていないオリジナルメッセージであるか、リダイレクトされたリダイレクトメッセージであるかを判別する判別手段と、前記オリジナルメッセージを受付率で受け入れ、受け入れなかった前記オリジナルメッセージをリダイレクトするオリジナル受入手段と、受け入れられたオリジナルメッセージを格納するオリジナル要求キューと、前記リダイレクトメッセージを格納するリダイレクト要求キューと、前記オリジナル要求キューと前記リダイレクト要求キューに格納された処理要求のメッセージを動的にリダイレクトする動的リダイレクト手段とを備える。
【0013】
また、前記動的リダイレクト手段は、リダイレクトレートに基づく時間間隔で動作することも好ましい。
【0014】
また、前記オリジナルメッセージ受付率および前記リダイレクトレートは、該サーバのリダイレクトメッセージ送信数および他のサーバからのリダイレクトメッセージ受信数に基づいて、一定時間毎に更新されることも好ましい。
【0015】
また、前記オリジナルメッセージ受付率は、該サーバの隣接サーバを求め、該隣接サーバからのリダイレクトメッセージ受信数の増加分に、該サーバのリダイレクトメッセージ送信数を全サーバ数で除算した数を加え、受付バイアスを加えることにより、要求数インデックスを算出し、該要求数インデックスに受付ファクターを掛け、この結果が0以上最大受付率未満である場合、この結果をオリジナルメッセージ受付率とし、0未満の場合は0を、最大受付率以上の場合は最大受付率を、オリジナルメッセージ受付率とすることで算出し、前記リダイレクトレートは、前記要求数インデックスが負の場合、該要求数インデックスにリダイレクト応答ファクターおよび−1を掛け、この結果が前記時間間隔の逆数以上である時、この結果をリダイレクトレートとし、前記要求数インデックスが非負、または前記結果が前記時間間隔の逆数より小さい場合、前記時間間隔の逆数をリダイレクトレートとして算出することも好ましい。
【0016】
また、処理要求メッセージを処理するサービス処理手段をさらに備え、前記動的リダイレクト手段は、前記オリジナル要求キューに処理要求メッセージが格納されている場合、前記オリジナル要求キューの処理要求メッセージを優先してリダイレクトし、前記サービス処理手段は、前記リダイレクト要求キューにメッセージが格納されている場合、前記リダイレクト要求キューのメッセージを優先して処理することも好ましい。
【0017】
上記目的を実現するため処理要求の負荷を平滑化するクライアント・サーバシステムは、等確率サーバ選択機能を備えたクライアント端末と、前記クライアント端末からの処理要求メッセージが、リダイレクトされていないオリジナルメッセージであるか、リダイレクトされたリダイレクトメッセージであるかを判別する判別手段と、前記オリジナルメッセージを受付率で受け入れ、受け入れなかった前記オリジナルメッセージをリダイレクトするオリジナル受入手段と、受け入れられたオリジナルメッセージを格納するオリジナル要求キューと、前記リダイレクトメッセージを格納するリダイレクト要求キューと、前記オリジナル要求キューと前記リダイレクト要求キューに格納された処理要求メッセージを動的にリダイレクトする動的リダイレクト手段とを備えるサーバとを備える。
【0018】
上記目的を実現するため処理要求の負荷を平滑化する方法は、等確率サーバ選択機能を備えたクライアント端末からの処理要求の負荷を平滑化する方法であって、前記処理要求のメッセージが、リダイレクトされていないオリジナルメッセージであるか、リダイレクトされたリダイレクトメッセージであるかを判別する判別ステップと、前記オリジナルメッセージを受付率で受け入れ、受け入れなかった前記オリジナルメッセージをリダイレクトするオリジナル受入ステップと、受け入れられたオリジナルメッセージをオリジナル要求キューに格納するステップと、前記リダイレクトメッセージをリダイレクト要求キューに格納するステップと、前記オリジナル要求キューと前記リダイレクト要求キューに格納された処理要求のメッセージを動的にリダイレクトする動的リダイレクトステップとを有する。
【発明の効果】
【0019】
上記本発明は、サーバのコンテンツ要求のリダイレクトを用いることにより、サーバとクライアントの間には振分けノードを導入することなく、さらにサーバは負荷状況を他のサーバと直接通知し合わずに、サーバ間で処理負荷を平滑化することが可能になる。
【図面の簡単な説明】
【0020】
【図1】クライアント端末によるコンテンツ要求の等確率分散を示す。
【図2】クライアント端末によるリダイレクトメッセージの等確率分散を示す。
【図3】本発明のWEBサーバの構成を示す。
【図4】本発明のWEBサーバによるコンテンツ要求メッセージ受け入れ処理フローを示す。
【図5】本発明のWEBサーバによるキュー内メッセージリダイレクト処理フローを示す。
【発明を実施するための形態】
【0021】
本発明を実施するための最良の実施形態について、以下では図面を用いて詳細に説明する。本実施形態では、全ての複数WEBサーバが同一コンテンツの提供を可能とし、複数のクライアントがコンテンツを要求する状況を想定する。また、WEBサーバが提供するWEBコンテンツには静的なページのみが用いられ、同WEBコンテンツはサーバの背後にあるデータベースから取得される。
【0022】
また、WEBサーバとクライアント端末の間には振分けノードを導入せず、処理要求の分散にはクライアントの等確率サーバ選択を用いる。図1は、クライアント端末によるコンテンツ要求の等確率分散を示す。
【0023】
背景技術に記載されたように、クライアント端末にはDNSを用いた等確率サーバ選択機能が設けられている。
(1)クライアント端末は、WEBサーバに接続する前に、DNSを用いてWEBサーバ名からIPアドレスへの名前解決を行う。DNSからのIPアドレスのリストがクライアント端末に応答され、クライアント端末は、サーバ数nを認識する。なお、WEBサーバの台数が変更になる場合には、DNSが扱うWEBサーバのIPアドレスが変更される。
(2)クライアント端末は、上記IPアドレスのリストから等確率1/nで一つのIPアドレスを選択し、WEBサーバへ接続する。なお、選択した一台のサーバから応答がない場合には、別のサーバを選択して、WEBコンテンツの取得を試みる。この処理により、サーバが障害で応答しない場合にも、クライアント端末が自律的に他のサーバへの接続を行うことを可能になる。
(3)クライアント端末のコンテンツ要求は、WEBサーバの処理待ちキューに格納され、キューに先に格納された要求から処理される。
【0024】
本発明では、WEBサーバは負荷状況を他のサーバと直接通知し合わない。WEBサーバには、自らの処理負荷に応じて、コンテンツ要求メッセージをリダイレクトする動的リダイレクト機能が設けられる。このリダイレクトは、HTTPプロトコルで用いられるリダイレクト処理を用いることで実現される。クライアント端末は、サーバからのリダイレクトメッセージに対しても等確率でサーバを選択する。図2は、クライアント端末によるリダイレクトメッセージの等確率分散を示す。
(1)WEBサーバが、クライアント端末のコンテンツ要求メッセージをリダイレクトするときに、WEBサーバは自身のIPアドレスをメッセージに付加する。
(2)リダイレクトメッセージを受けたクライアント端末は、再度、等確率でWEBサーバを選択し、選択されたサーバへリダイレクトコンテンツ要求を送信する。なお、この時、再び同じWEBサーバが選択されることがある。
【0025】
図3は、本発明のWEBサーバの構成を示す。本WEBサーバは、判別部1、オリジナル受入部2、リダイレクト要求キュー3、オリジナル要求キュー4、動的リダイレクト部5およびサービス処理部6を備えている。
【0026】
判別部1は、コンテンツ要求がオリジナル(未リダイレクト)か、リダイレクトされたかを判別する。オリジナル受入部2は、オリジナルメッセージを受付率rでメッセージを受け入れ、受け入れなかったオリジナルメッセージをリダイレクトする。リダイレクト要求キュー3は、リダイレクトメッセージを格納し、オリジナル要求キュー4は、オリジナルメッセージを格納する。動的リダイレクト部5は、リダイレクト要求キュー3およびオリジナル要求キュー4に格納されたメッセージを動的にリダイレクトする手段である。サービス処理部6は、クライアント端末からの処理要求を処理する。
【0027】
図4は、本発明のWEBサーバによるコンテンツ要求メッセージ受け入れ処理フローを示す。本処理フローにより、WEBサーバの受け入れ処理を説明する。
(S41)処理要求メッセージが到着すると、まずリダイレクトメッセージかどうかを検査する。リダイレクトメッセージの場合、無条件に受け入れるため、S45に進む。オリジナルメッセージの場合、S42に進む。
(S42)オリジナルメッセージを受付率rでメッセージを受け入れる。メッセージを受け入れるとき、S44に進む。受け入れないとき、S43に進む。
(S43)オリジナルメッセージをリダイレクトする。この際、サーバのIPアドレスを格納したメッセージをクライアントへ応答する。また、リダイレクト回数を更新する。
(S44)オリジナルメッセージをオリジナル要求キューへ格納する。この際、オリジナルメッセージ到着数を更新する。
(S45)リダイレクトメッセージをリダイレクト要求キューへ格納する。この際、リダイレクト元サーバを区別することができるように、サーバ毎のリダイレクトメッセージ到着数を更新する。
【0028】
また、WEBサーバは、上記処理S41からS45とは独立にキュー内メッセージを、リダイレクトレートqでリダイレクトする。図5は、本発明のWEBサーバによるキュー内メッセージリダイレクト処理フローを示す。本処理フローにより、WEBサーバのリダイレクト処理を説明する。
【0029】
(S51)本リダイレクト処理は、リダイレクトレートqに対して、時間間隔1/qで処理をループする。なお、qが0のときは、リダイレクト時間間隔をI(パラメータ更新間隔)とする。処理時刻になった場合、S52に進む。
(S52)キュー内メッセージリダイレクト処理を行う。この時、オリジナル要求メッセージが格納される場合、オリジナル要求メッセージをリダイレクトし、オリジナル要求メッセージが格納されない場合、リダイレクトメッセージをリダイレクトし、リダイレクト回数を1増加させる。
(S53)次の処理時刻を更新する。
【0030】
また、WEBサーバは、上記処理S41からS45およびS51からS53とは独立に、サービス処理(図3)を行う。この際、WEBサーバは、リダイレクト要求キューの要求を優先して処理し、リダイレクト要求キューにメッセージが格納されていない場合にはオリジナルメッセージを処理する。サービス処理を行った場合、処理済み数を更新する。
【0031】
また、WEBサーバは、パラメータ更新間隔Iの時間が経過するごとに、オリジナルメッセージ受付率r、およびキュー内メッセージリダイレクトレートqを次のように更新する。
【0032】
(1)前更新から現在までにリダイレクトメッセージを送信してきた隣接サーバを、リダイレクトメッセージに格納されたIPアドレスにより特定する。これらの隣接サーバをサーバのIPアドレスを基に数直線に並べる。ここで、本WEBサーバの前後のサーバをSprev,Snextとする。なお、本WEBサーバが最小IPアドレスもしくは最大IPアドレスである場合、数直線が環状になっているものとし、隣接サーバを最大IPアドレスもしくは最小IPアドレスのサーバと読み替える。また、リダイレクトメッセージを送ってきたサーバ数Nを控える。
(2)SprevおよびSnextの前周期のリダイレクトメッセージ受信数と今周期のリダイレクトメッセージ受信数の差分をgprev,gnextとする。この差分の計算では、今周期のリダイレクト数から前周期のリダイレクト数を減算する。
(3)本WEBサーバからのリダイレクトメッセージ送信数をgoutとする。
(4)まず、要求数インデックスu=gprev+gnext−gout/N+Aを求める。なお、A(非負の数)は、受付バイアスとしてサーバ管理者によって与えられる。
(5)もしuが正なら、r=αuとして受付率を求める。ここでr>Rであった場合、r=Rとする。つまり、0≦r<Rとする。
もしuが非正なら、r=0とする。なお、α(正の数)は、受付ファクターとしてサーバ管理者によって与えられる。R(R<1)も、最大受付率として、サーバ管理者によって与えられる。
(6)今週期のリダイレクトメッセージ受信数を前周期のリダイレクトメッセージ受信数として保存する。
(7)もしuが負なら、キュー内メッセージリダイレクトレートをq=−βuとして求める。もしuが非負もしくは1/I>qの場合はq=1/Iとし、1/I≦qとする(最小周期Iでリダイレクトを実施するため)。なお、β(正の値)は、リダイレクト応答ファクターとして、サーバ管理者によって与えられる。
(8)今周期のサーバ毎のリダイレクトメッセージ受信数、本WEBサーバのリダイレクトメッセージ受信数をリセット(ゼロに)する。
【0033】
以上のように、本発明は、コンテンツ要求のリダイレクトを、サーバ間の負荷状況の情報交換と位置付けて、リダイレクトメッセージの送受信数に基づいてWEBサーバのオリジナルメッセージ受付率r、およびキュー内メッセージリダイレクトレートqを更新する。
【0034】
このため、WEBサーバの処理性能が異なる場合には、処理待ちキューの格納数に違いが現れ、処理性能が低いサーバの処理待ち数は多くなり易い。このときは、goutが増大してリダイレクトが増えるため、さらなる処理待ち数の増大を抑制する。また、格納数が多いにも関わらず、オリジナルメッセージの到着が減少すれば、処理待ちキューから要求待ちをリダイレクトして、処理待ち数を削減する。パラメータβを大きくすることで、処理待ち数削減の応答性能を高めることが可能である。
【0035】
本発明は、リダイレクトメッセージを全て受け入れるため、処理待ち数が隣接サーバより少なくなった場合の処理待ち数増大化は、迅速に行うことが可能である。さらに、オリジナルメッセージの受付率を高くする(パラメータαを大きくする)ことでより早く増大化できる。
【0036】
受付バイアスAは受付率の増減およびリダイレクトレートの減増へ影響し、キュー長の大小へ影響する。Aを大きくすればキュー長は長くなる。
【0037】
本発明ではリダイレクトメッセージをWEBサーバが受けることで他のWEBサーバのキュー長を見積もることができる。最大受付率Rを1より小さくすることで、オリジナルメッセージをあるレベルでリダイレクトすることができ、方式の精度を維持することが可能である。
【0038】
なお、上記で、サーバはWEBサーバであり、クライアント端末はWEBサーバからコンテンツを要求する形態で本発明の実施形態が説明されてきた。しかしながら、本発明は、WEBサービスに特化したものではなく、クライアント端末がDNS等を用いた等確率サーバ選択機能と要求のリダイレクトに対しても再度サーバを等確率で選択するを備え、複数のサーバが同一のサービスを提供できるシステムであれば、WEBサービス以外の他のサービスにも適用可能である。
【0039】
また、以上述べた実施形態は全て本発明を例示的に示すものであって限定的に示すものではなく、本発明は他の種々の変形態様および変更態様で実施することができる。従って本発明の範囲は特許請求の範囲およびその均等範囲によってのみ規定されるものである。
【符号の説明】
【0040】
1 判別部
2 オリジナル受入部
3 リダイレクト要求キュー
4 オリジナル要求キュー
5 動的リダイレクト部
6 サービス処理部

【特許請求の範囲】
【請求項1】
等確率サーバ選択機能を備えたクライアント端末からの処理要求の負荷を平滑化するサーバであって、
前記処理要求のメッセージが、リダイレクトされていないオリジナルメッセージであるか、リダイレクトされたリダイレクトメッセージであるかを判別する判別手段と、
前記オリジナルメッセージを受付率で受け入れ、受け入れなかった前記オリジナルメッセージをリダイレクトするオリジナル受入手段と、
受け入れられたオリジナルメッセージを格納するオリジナル要求キューと、
前記リダイレクトメッセージを格納するリダイレクト要求キューと、
前記オリジナル要求キューと前記リダイレクト要求キューに格納された処理要求のメッセージを動的にリダイレクトする動的リダイレクト手段と
を備えることを特徴とするサーバ。
【請求項2】
前記動的リダイレクト手段は、リダイレクトレートに基づく時間間隔で動作することを特徴とする請求項1に記載のサーバ。
【請求項3】
前記オリジナルメッセージ受付率および前記リダイレクトレートは、該サーバのリダイレクトメッセージ送信数および他のサーバからのリダイレクトメッセージ受信数に基づいて、一定時間毎に更新されることを特徴とする請求項2に記載のサーバ。
【請求項4】
前記オリジナルメッセージ受付率は、
該サーバの隣接サーバを求め、該隣接サーバからのリダイレクトメッセージ受信数の増加分に、該サーバのリダイレクトメッセージ送信数を全サーバ数で除算した数を加え、受付バイアスを加えることにより、要求数インデックスを算出し、該要求数インデックスに受付ファクターを掛け、この結果が0以上最大受付率未満である場合、この結果をオリジナルメッセージ受付率とし、0未満の場合は0を、最大受付率以上の場合は最大受付率を、オリジナルメッセージ受付率とすることで算出し、
前記リダイレクトレートは、
前記要求数インデックスが負の場合、該要求数インデックスにリダイレクト応答ファクターおよび−1を掛け、この結果が前記時間間隔の逆数以上である時、この結果をリダイレクトレートとし、前記要求数インデックスが非負、または前記結果が前記時間間隔の逆数より小さい場合、前記時間間隔の逆数をリダイレクトレートとして算出することを特徴とする請求項3に記載のサーバ。
【請求項5】
処理要求メッセージを処理するサービス処理手段をさらに備え、
前記動的リダイレクト手段は、前記オリジナル要求キューに処理要求メッセージが格納されている場合、前記オリジナル要求キューの処理要求メッセージを優先してリダイレクトし、
前記サービス処理手段は、前記リダイレクト要求キューにメッセージが格納されている場合、前記リダイレクト要求キューのメッセージを優先して処理することを特徴とする請求項1から4のいずれか1項に記載のサーバ。
【請求項6】
等確率サーバ選択機能を備えたクライアント端末と、
前記クライアント端末からの処理要求メッセージが、リダイレクトされていないオリジナルメッセージであるか、リダイレクトされたリダイレクトメッセージであるかを判別する判別手段と、
前記オリジナルメッセージを受付率で受け入れ、受け入れなかった前記オリジナルメッセージをリダイレクトするオリジナル受入手段と、
受け入れられたオリジナルメッセージを格納するオリジナル要求キューと、
前記リダイレクトメッセージを格納するリダイレクト要求キューと、
前記オリジナル要求キューと前記リダイレクト要求キューに格納された処理要求メッセージを動的にリダイレクトする動的リダイレクト手段と
を備えるサーバと
を備えることを特徴とするクライアント・サーバシステム。
【請求項7】
等確率サーバ選択機能を備えたクライアント端末からの処理要求の負荷を平滑化する方法であって、
前記処理要求のメッセージが、リダイレクトされていないオリジナルメッセージであるか、リダイレクトされたリダイレクトメッセージであるかを判別する判別ステップと、
前記オリジナルメッセージを受付率で受け入れ、受け入れなかった前記オリジナルメッセージをリダイレクトするオリジナル受入ステップと、
受け入れられたオリジナルメッセージをオリジナル要求キューに格納するステップと、
前記リダイレクトメッセージをリダイレクト要求キューに格納するステップと、
前記オリジナル要求キュー前記とリダイレクト要求キューに格納された処理要求のメッセージを動的にリダイレクトする動的リダイレクトステップと
を有することを特徴とする方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2012−247971(P2012−247971A)
【公開日】平成24年12月13日(2012.12.13)
【国際特許分類】
【出願番号】特願2011−118794(P2011−118794)
【出願日】平成23年5月27日(2011.5.27)
【出願人】(000208891)KDDI株式会社 (2,700)