JP3698073B2 - サーバ選択装置、方法、プログラム及び該プログラムを記録した記録媒体 - Google Patents

サーバ選択装置、方法、プログラム及び該プログラムを記録した記録媒体 Download PDF

Info

Publication number
JP3698073B2
JP3698073B2 JP2001178590A JP2001178590A JP3698073B2 JP 3698073 B2 JP3698073 B2 JP 3698073B2 JP 2001178590 A JP2001178590 A JP 2001178590A JP 2001178590 A JP2001178590 A JP 2001178590A JP 3698073 B2 JP3698073 B2 JP 3698073B2
Authority
JP
Japan
Prior art keywords
server
area
candidate
areas
load
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.)
Expired - Fee Related
Application number
JP2001178590A
Other languages
English (en)
Other versions
JP2002374290A (ja
Inventor
則宏 三浦
正久 川島
和幸 高屋
Original Assignee
日本電信電話株式会社
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 日本電信電話株式会社 filed Critical 日本電信電話株式会社
Priority to JP2001178590A priority Critical patent/JP3698073B2/ja
Publication of JP2002374290A publication Critical patent/JP2002374290A/ja
Application granted granted Critical
Publication of JP3698073B2 publication Critical patent/JP3698073B2/ja
Application status is Expired - Fee Related legal-status Critical
Anticipated expiration legal-status Critical

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、データネットワークに関し、より詳細にはある利用者に最適なサーバをサーバ・利用者間距離および各サーバ負荷を考慮して選択するサーバ選択装置、サーバ選択方法、サーバ選択プログラム及び該プログラムを記録した記録媒体に関するものである。
【0002】
【従来の技術】
近年におけるインターネット利用の急速な普及により、人気のあるコンテンツには常に大量のアクセス要求が発生している。特に、ライブ中継などにおいて短時間に膨大な数のアクセス要求が発生したり、就職情報提供サイトのように特定時期にだけ非常に多くのアクセス要求が発生する場合もある。このように、インターネット利用が当たり前になり膨大なアクセス数への対応を迫られた場合、過負荷のためにサーバがダウンし、サービスが停止してしまうことはサービス提供者にとって最も避けなくてはならない事態である。
【0003】
大量のアクセス要求によるサーバのダウンを防止する1方法として、ミラーサーバやキャッシュサーバを用意する方法がある。ミラーサーバには、オリジナルサーバ(ミラーサーバやキャッシュサーバとの混同をさけるため、オリジナルのコンテンツを予め保持しているサーバをこのように呼ぶ)と同一のコンテンツがコピーされ(これをミラーリングという)、このミラーサーバにクライアントをアクセスさせることによりサーバ1台あたりのアクセス数が減少し、サーバが過負荷状態に陥ることを回避できる。また、キャッシュサーバにはクライアントが既にアクセスしたコンテンツが一定期間保持され、その期間内に再度同一コンテンツにアクセスする際にはキャッシュサーバからコンテンツが取得可能であるため、オリジナルサーバヘのアクセス数が減少し、オリジナルサーバの負荷が軽減される。
【0004】
用意されたミラーサーバ、キャッシュサーバはオリジナルサーバと同じ場所に設置されているほうが管理上の負担を軽減できる。しかし、ミラーサーバやキャッシュサーバを分散配置し、利用者を最寄りのミラーサーバ、キャッシュサーバに接続させることで、各サーバの負荷を分散して軽減すると同時にサーバ・利用者間のネットワーク負荷も軽減できる。つまり、アクセス要求の多いコンテンツを有するサーバは、ミラーサーバやキャッシュサーバを用意し、それらを分散配置することでサーバ負荷もネットワーク負荷も軽減できる。
【0005】
しかし、ミラーサーバやキャッシュサーバを分散配置した場合には以下のような問題点がある。
【0006】
まず、クライアントがミラーサーバの場所を知らない場合が考えられる。サービス品質の低下を防止するには、サーバヘのアクセス要求が増加するほど多くのミラーサーバを用意することで解決できる。逆に、アクセス要求数が以前ほど多くなければミラーサーバを廃止することもできる。すなわち、ミラーサーバ設置数は変更の自由度が高く、その都度利用者がミラーサーバのURL(Uniform Resource Locatorの略。インターネット上の情報源(リソース)の存在場所を示す記述方式であり、情報の住所に相当する。)を覚えることは利用者の負担増を招いてしまう。また、仮にミラーサーバのURLが与えられたとしても、各利用者がオリジナルサーバとミラーサーバ全ての候補サーバの中から自分に最適なサーバを選択することは困難である。さらに、ミラーサーバ設置数の動的な増減を考慮せずに多くの利用者に同一ミラーサーバのURLが与えられると、将来的には当該ミラーサーバにアクセス要求が集中してしまうことでミラーサーバが過負荷となってダウンしてしまい、当初の目的であるサービス品質低下防止を達成できなくなる。
【0007】
よって、ミラーサーバの設置数、設置場所、負荷などを考慮し、利用者を接続させるのに最も適したミラーサーバを選択する必要がある。
【0008】
以下、従来用いられてきたサーバ選択方式について説明する。
【0009】
(1)距離最小化方式
距離最小化方式とは、利用者に最寄りのサーバを選択するサーバ選択方式である。ここで距離情報としては、サーバ・利用者端末間の応答時間やネットワーク帯域などを用いることができる。James D. GuytonとMichael F. Schwartsにより、サーバ・利用者間の測定距離に基づいたエリア選択装置が紹介されている(“Locating Nearby Copies of Replicated Internet Servers”, SIGCOMM ‘95)以下で説明する。
【0010】
本方式によるサーバ選択装置の構成を図1に示す。同装置は距離情報取得手段、距離情報テーブル、評価値算出手段、選択サーバ出力手段から構成される。
以下、観測エリア(サーバ選択装置がいる箇所)から観測対象(例えばミラーサーバや利用者)までに通過する中継器の識別子を観測エリアに近い順に並べた情報を経路情報として定義する。さらに、ある観測対象までの経路情報に含まれる中継器の識別子数を、観測エリア・観測対象間の距離として定義する。
【0011】
距離情報取得手段は、分散配置されている選択候補サーバのリスト、利用者の位置情報、さらに観測点の位置情報リストを受け取り、観測点からサーバおよび利用者端末までの経路情報を取得し、それら経路情報からサーバ・利用者間の距離を算出する。
【0012】
(以下、距離情報取得手段の第1段階としての経路情報取得に用いるtracerouteの説明)
経路情報を取得する1手段としてtracerouteがある。以下で、tracerouteについて説明する。
【0013】
IPパケットにはその生存時間を示すTime-To-Live値(以下TTL値)が定義されている。TTL値はIPパケットがインターネット上で生存可能な最大時間を示し、ルータを通過するたびに1秒ずつ減らされる。ところがTTL値は整数値であるため、ルータにおけるパケット転送処理に1秒間もかからない場合でも、パケットがルータを通過するたびにTTL値は1ずつ減らされる。すなわち、TTL値はホップカウンタであり、TTL値はパケットが通過可能な最大ルータ数を示す値に等しい。転送されるべきパケットのTTL値が0になると、インターネット上のルータは当該パケットを転送せず、当該パケットの送信元ホストにTTL値が0になったことを知らせるエラー通知用のICMP(Internet Control Message Protocolの略。IPのエラーメッセージや制御メッセージを転送するプロトコル。)パケットを送り返す。また、インターネット上の端末は受信待機していないポート番号宛てのパケットを受信した場合、当該パケットの送信元ホストに受信待機していないポートにパケットが到着したことを知らせるエラー通知用のICMPパケットを送り返す。ICMPパケットにはICMPパケット送信元のIPアドレスが記述される。ここで、tracerouteコマンドはTTL値を1から順にインクリメントしながら観測対象に向けて探索パケットを送出する。これにより、traceroute実行端末から観測対象までのルータアドレスを得ることができ、取得したルータアドレスをtraceroute実行端末に近い順に並べたものが観測対象までの経路情報となる。tracerouteによる経路情報取得処理は、traceroute実行ホストが目的のホストからICMPパケットを受信したときに終了する。図2において、traceroute実行端末から観測対象に対してtracerouteを実行するとTTL値が小さい場合から順に中継器識別子R1,R2,R3,R4,R5が得られ、これがtraceroute実行端末から観測対象までの経路情報となる。
【0014】
以上のようなtracerouteの性質を用いて観測エリアから観測対象に対してtracerouteを実行すると観測エリア・観測対象間の経路情報が求められる。この経路情報より、上記距離の定義に従って観測エリア・観測対象間の距離が算出される。
【0015】
距離情報テーブルは、距離情報取得手段が取得した距離情報を、各サーバおよびクライアント毎にまとめ、テーブル形式で保持したものである。いま、ネットワーク上にn箇所の観測エリアP1,P2,…,Pnがあるとする。観測エリアP1,P2,…,Pnからネットワーク上のあるサーバSiへの距離がそれぞれs1,s2,…,snで与えられるとする。同様に、観測エリアP1,P2,…,Pnからネットワーク上のクライアントCへの距離がそれぞれc1,c2,…,cnで与えられるものとする。このような、各観測エリアからの距離をクライアント毎にまとめ、距離情報テーブルとして保持する。
【0016】
評価値算出手段は、距離情報テーブルに保持されている各サーバおよびクライアントの距離情報を用いて、各サーバとクライアントの組み合わせについて距離評価値を算出する。ここで距離評価値A(Si,C)は、
A(Si,C)={max(|s1-c1|,|s2-c2|,…,|sn-cn|)+min(s1+c1,s2+c2,…,sn+cn)}/2
で与えられる。この値が小さいほど当該サーバとクライアント間の距離が近いことを意味する。
【0017】
評価値算出手段は、各サーバについてクライアントとの距離評価値を求め、選択サーバ出力手段に入力する。
【0018】
選択サーバ出力手段は、評価値に基づいて各サーバの優先度を決定し、サーバリストを作成して出力する。優先度の高いサーバから順に選択される。
【0019】
(2)負荷均等化方式
負荷均等化方式とは、各サーバの負荷が均等になるように利用者を接続させるサーバを選択する方式である。本方式には、利用者の接続先サーバ選択時に現在の各サーバ負荷を考慮しない静的な方法と、現在のサーバ負荷を考慮する動的な方法の2種類に大別される。
【0020】
サーバ負荷を考慮しない、静的な接続先サーバ決定方法としては、以下の方法が挙げられる。
・ラウンドロビン法:予め決めた順番に従って各サーバに利用者を接続させる。
・重み付けラウンドロビン法:各サーバの処理性能に応じた重み付けを行い、重み付けを考慮して予め決定した順番に従って各サーバに利用者を接続させる。
・優先順位法:予め各サーバに優先順位を与えておき、一定のアクセス数を割り当てたら次の優先順位のサーバに利用者をアクセスさせる。
【0021】
また、動的な接続先サーバ選択時では、その時点でのサーバ負荷を取得して負荷の小さなサーバに利用者を接続させる。サーバ負荷の種類によって以下のようなサーバ選択方式がある。
・最小接続数法:最も接続数の少ないサーバに利用者を接続させる。
・最速応答速度法:pingコマンドなどを用いてサーバが起動しているかを確認するヘルスチェックを行い、その応答時間が最も短いサーバに利用者を接続させる。
・CPU負荷法:各サーバのCPU負荷情報を収集し、CPU負荷が小さなサーバから順番に利用者を接続させる。
・複合法:上記の複数の指標を組み合わせ、その算出値に基づいて利用者を接続させる。
【0022】
一般的に、動的なサーバ負荷測定に基づくサーバ選択方式は静的なサーバ選択方式に比べて負荷均等化の効果が期待できる。
【0023】
【発明が解決しようとする課題】
従来のサーバ選択方式における問題点を以下で説明する。
【0024】
(1)距離最小化方式
距離最小化方式は、伝送遅延などを考慮してサーバ・利用者間のトラヒックができるだけ少なくなるように設計されている。しかし、サーバ・利用者間距離のみに着目してサーバを選択すると、特定のサーバの近傍に多くの利用者が存在している場合、当該サーバには他サーバに比べて多くのアクセス要求が集中する。その結果、当該サーバの処理能力を上回るアクセス要求が集中し、サービス品質が低下してしまう。
【0025】
図4のように、同一性能を有する2台のサーバa,bが配置されているとする、サーバa,bを中心として同一半径円内をそれぞれエリアA,Bとする。図4のようにサーバa付近にクライアントが集中して存在した場合、サーバ・利用者間距離のみを考慮して接続サーバを決定すると、サーバAだけにアクセス要求が集中してサーバAの負荷が増大する。その結果、アクセス要求数がサーバaの許容アクセス数を超えてしまう過負荷状態に陥り、エリアA内の他の利用者がサービスを全く受けられない、あるいはサービス品質が著しく低下するという問題が生じる。
【0026】
また、図5のように、高性能なサーバaと性能の低いサーバbが配置されていたとする、サーバa,bを中心として同一半径内をそれぞれエリアA,Bとし、両エリアに同数(N)の利用者が存在してアクセス要求を行った場合、両サーバの負荷に着目すると、性能が低いサーバbの負荷の方がサーバaの負荷よりも大きくなる。利用者数Nが大きくなるとサーバbが過負荷となり、サーバb近傍の利用者が充分なサービスを受けられなくなる。
【0027】
(2)負荷均等化方式
負荷均等化方式では、各サーバの処理能力に見合っただけのアクセス要求を受け付けることで、サーバ性能がボトルネックになることによるサービス品質の低下を防止できる。しかし、各サーバの負荷均等化のみに着目したサーバ選択処理を行うと、利用者は処理能力にまだ余裕のあるサーバが近傍にあるにも関わらず遠隔のサーバに誘導され、その結果ネットワークコスト(余計なトラヒック)が増大するという問題が生じる。
【0028】
図6のように、2台のサーバa,bと利用者1〜4が配置されているとする。利用者1,2,3はサーバa近傍に位置し、利用者4はサーバb近傍に位置する。両サーバの性能は同等であり、最大許容アクセス数Nが予め与えられているものとする。両サーバの負荷が均等になるように利用者を割り当てると、サーバ数2、利用者数4であるため、1サーバに対して2利用者がアクセスすることになる。ここで、図6のように利用者1,2をサーバaに、利用者3,4をサーバbにそれぞれアクセスさせた場合、かつサーバaのアクセス数(=2)が最大許容アクセス数Nよりも小さい場合、クライアント3はサーバ負荷の観点から余裕のあるサーバが近傍にあるにもかかわらず、遠くのサーバを接続先として選択されている。この場合、ネットワークコストが増加し、サービス品質が低下する恐れがある。
【0029】
別の例として、図7に示すように性能に差がある2台のサーバa,bがそれぞれエリアA,Bに配置されているとする。サーバaの処理性能はサーバbの2倍であるとする。さらにエリアA,Bには同数の利用者が存在するとする。ここで、両サーバの処理性能に応じた負荷分散を行うと、サーバaにアクセスする利用者数はサーバbにアクセスする利用者数の2倍となるように、各利用者の接続さきサーバが選択される。その結果、図7の場合では利用者1〜4までがサーバaに、利用者5,6がサーバbにアクセスすることになる。ここで、サーバbが受け付け可能な最大アクセス数Nが2に比べて充分大きな値である場合、利用者4は近傍のサーバbの処理能力に余裕があるにも関わらず、遠方のサーバaにアクセスしていることになる。このように、サーバの処理性能に着目し、負荷分散を考慮して利用者を接続させるサーバを選択すると、利用者が処理能力に余裕がある近傍のサーバから遠くはなれたサーバに導かれる場合がある。この場合もネットワークコストの増加し、サービス品質の低下を招く。
【0030】
本発明は、以上で説明した従来のサーバ選択方式の課題を解決する。特に、距離最小化方式の問題点である特定エリアに偏ってクライアントが存在する場合に特定のサーバに負荷が集中する問題を解決し、さらに負荷均等化方式と比較してネットワークコストが抑えられるサーバ選択装置を実現する。また、複数のサーバ選択装置の連携によってサーバ選択を行う場合にも、上記の特徴を有するサーバ選択を実現する。
【0031】
【課題を解決するための手段】
従来技術における上記問題点を解決するために、本発明ではサーバ・利用者間の距離と各サーバ負荷の両指標に着目して利用者を接続させるべきサーバを決定するサーバ選択装置を、以下で説明する2手法を用いて実現する。
【0032】
(1)重み係数法
本方式では、従来の距離最小化方式において近傍に多くの利用者を抱えるサーバヘの負荷集中を軽減すると同時に、負荷均等化方式において発生する余計なネットワークトラヒックを軽減する。本方式によるサーバ選択装置の構成を図8に示す。図8のサーバ選択装置は、距離情報取得手段、サーバリストに記載されている各サーバの負荷情報を取得するサーバ負荷情報取得手段、サーバ負荷情報取得手段によって得られた各サーバの負荷情報に基づいて重み係数を決定する重み係数更新手段、重み係数更新手段により得られる各サーバの重み係数を保持する重み係数テーブル、距離情報取得手段で得られたサーバ・利用者間距離と重み付け更新手段で得られた重み係数を用い、各サーバの重み付き評価値を算出する重み付け評価値算出手段、接続サーバ決定手段で構成される。
【0033】
参考となる発明を以下で述べる。距離情報取得手段は、前記候補サーバの識別子のリストと利用者端末識別子を受け取り、各候補サーバから利用者端末までの経路情報を取得し、その経路情報からサーバ・利用者間距離を算出する。経路情報の例としてはサーバ・利用者端末間を経由するルータのIPアドレスがあり、それらルータのIPアドレスの数をサーバ・利用者間距離として利用できる。
【0034】
サーバ負荷情報取得手段は、候補サーバ識別子リストを受け取り、各候補サーバの負荷情報を取得する。ここで、サーバ負荷の種類としては、従来技術の負荷均等化方式の説明で述べたアクセス数、応答速度、CPU使用率、メモリ占有率、伝送速度、遅延時間などの指標がある。また、それらの指標を適宜組み合わせて新たに別の指標として定義することもできる。
【0035】
重み係数更新手段は、サーバ負荷情報取得手段が取得した各候補サーバの負荷情報に対して条件判定処理を行い、各サーバの負荷に応じた重み係数を決定し、重み係数テーブルを更新する。重み係数テーブルには各サーバとその重み係数が対応づけられて記述されている。
【0036】
重み付け評価値算出手段は、距離情報取得手段から取得したサーバ・利用者端末間距離と、重み係数テーブルから重み係数を取得して各候補サーバの重み付け評価値を算出する。接続サーバ決定手段は、重み付け評価値算出手段より得られる各候補サーバの重み付け評価値を参照して、候補サーバ識別子リストに記載されている各候補サーバを優先度の高い順に選択サーバとして出力する。
【0037】
このようにサーバ・利用者間距離とサーバ負荷を同時に考慮することで距離最小化方式で発生する特定サーバヘの負荷集中を解決し、負荷均等化方式と比較してもネットワークコストを抑制することができる。
【0038】
た、参考となる発明によるサーバ選択方法によれば、候補サーバの識別子のリストと利用者端末識別子を受け取り、各候補サーバ・利用者端末間の距離を取得する距離情報取得段階と、サーバ選択時に用いる重み係数を候補サーバ毎に重み係数テーブルに記憶する段階と、候補サーバ識別子リストを受け取り、各候補サーバの負荷情報を取得するサーバ負荷情報取得段階と、サーバ負荷情報取得手段から各候補サーバの負荷情報を取得して重み係数を決定し、重み係数テーブルを更新する重み係数更新段階と、候補サーバ識別子リストを受け取り、距離情報取得手段からサーバ・利用者端末間距離を取得し、重み係数テーブルから重み係数を取得して各候補サーバの重み付け評価値を算出する重み付け評価値算出段階と、重み付け評価値算出手段から候補サーバ識別子リストと各候補サーバの重み付け評価値を取得し、候補サーバ識別子リストに記載されている各候補サーバの優先度を決定し、この優先度の高い順に選択サーバとして出力する接続サーバ決定段階とを有する。
【0039】
に、参考となる発明によるサーバ選択プログラムによれば、候補サーバの識別子のリストと利用者端末識別子を受け取り、各候補サーバ・利用者端末間の距離を取得する距離情報取得手段と、サーバ選択時に用いる重み係数を前記候補サーバ毎に重み係数テーブル記憶する手段と、候補サーバ識別子リストを受け取り、各候補サーバの負荷情報を取得するサーバ負荷情報取得手段と、サーバ負荷情報取得手段から各候補サーバの負荷情報を取得して重み係数を決定し、重み係数テーブルを更新する重み係数更新手段と、候補サーバ識別子リストを受け取り、距離情報取得手段からサーバ・利用者端末間距離を取得し、重み係数テーブルから重み係数を取得して各候補サーバの重み付け評価値を算出する重み付け評価値算出手段と、重み付け評価値算出手段から候補サーバ識別子リストと各候補サーバの重み付け評価値を取得し、候補サーバ識別子リストに記載されている各候補サーバの優先度を決定し、この優先度の高い順に選択サーバとして出力する接続サーバ決定手段としてコンピュータを機能させる。
【0040】
、前述したサーバ選択プログラムを記録した記録媒体であってもよい。
【0041】
上記参考となる発明の1形態に属する発明を述べる。
【0042】
該サーバ負荷情報取得手段は、任意に設定可能な周期に従って各候補サーバの負荷を取得する手段を含むこととした。
【0043】
これにより、サービスヘのアクセス数に応じたサーバ負荷情報取得処理が可能となる。例えばアクセス数の多いサービスについては頻繁に各候補サーバの負荷を取得することで特定のサーバが過負荷になる前に利用者を他のサーバに接続させることができる。逆にアクセス数の少ないサービスについては必要最小限のサーバ負荷情報取得を行うことでサーバ負荷情報取得処理を軽減できる。
【0044】
参考となる発明のサーバ選択方法の他の実施形態によれば、サーバ負荷情報取得段階は、任意に設定可能な周期に従って各候補サーバの負荷を取得することも好ましい。
【0045】
らに上記発明の別な1形態に属する発明を述べる。
重み係数更新手段は重み係数がサーバ負荷のk乗の値をとるように重み係数を更新する手段を含むこととした。いま、0よりも大きな実数をk、ある候補サーバSiの負荷情報をL(Si)、重み係数をW(Si)とし、W(Si)を次式に従って算出する。
【0046】
W(Si)=L(Si)
【0047】
候補サーバの負荷と候補サーバ・利用者端末間距離の両方を考慮するサーバ選択処理において、候補サーバ負荷重視あるいは候補サーバ・利用者端末間距離重視のサーバ選択処理の調節を容易に実現することができる。
【0048】
参考となる発明のサーバ選択方法の他の実施形態によれば、み係数更新段階は、重み係数を算出する際に、kを0以上の実数とし、重み係数がサーバ負荷のk乗の値を取るようにみ係数を更新する段階を含むことも好ましい。
【0049】
(請求項
本発明は、複数のエリアに分割されたネットワーク内のあるエリアに設置されており、分散配置された複数の候補サーバの中から利用者端末を接続させるサーバを選択するサーバ選択装置において、
当該サーバ選択装置が設置されているエリアを自エリアと定義し、当該エリア以外のあるエリアを他エリアと定義し、
利用者端末識別子と自エリア内候補サーバの識別子リストと他エリア内候補サーバの識別子リストとを受け取り、自エリア内各候補サーバ・利用者端末間距離および他エリア内各候補サーバ・利用者端末間距離を取得する距離情報取得手段と、
サーバ選択時に用いる重み係数を候補サーバ毎に記憶する重み係数テーブルと、
候補サーバの識別子リストを受け取り、各候補サーバの負荷情報を取得するサーバ負荷情報取得手段と、
サーバ負荷情報取得手段を用いて自エリア内の各候補サーバの負荷情報を取得し、それら自エリア内の各候補サーバの負荷情報を他エリアに設置されているサーバ選択装置に通知する自エリア負荷情報通知手段と、
他エリアに設置されているサーバ選択装置から他エリア内の各候補サーバの負荷情報を取得する他エリア負荷情報取得手段と、
自エリア内の各候補サーバの負荷情報をサーバ負荷情報取得手段から取得し、他エリア負荷情報取得手段から他エリア内の各候補サーバの負荷情報を取得し、それら自エリア内および他エリア内の各候補サーバの負荷情報を考慮して自エリア内および他エリア内の各候補サーバの重み係数を算出して重み係数テーブルを更新する重み係数更新手段と、
自エリア内候補サーバの識別子リストと他エリア内候補サーバの識別子リストを受け取り、距離情報取得手段から自エリア内各候補サーバ・利用者端末間距離および他エリア内各候補サーバ・利用者端末間距離を取得し、重み係数テーブルから自エリア内および他エリア内の各候補サーバの重み係数を取得して、自エリア内および他エリア内の各候補サーバの重み付け評価値を算出する重み付け評価値算出手段と、
重み付け評価値算出手段から自エリア内および他エリア内の各候補サーバの重み付け評価値を取得して各候補サーバの優先度を決定し、この優先度の高い順に選択サーバまた選択エリアとして出力する接続サーバ決定手段と、
を有することを特徴とする
本発明は、複数のエリアに跨ったサーバ選択を行うため、上記参考となる発明に次の各手段を追加して各エリアに配置するものとした。本方式におけるサーバ選択装置の構成を図9に示す。
【0050】
自エリア負荷情報通知手段は、サーバ負荷情報取得手段を用いてサーバ選択装置が設置されている自エリア内の各候補サーバの負荷情報を取得し、それら自エリア内の各候補サーバの負荷情報を他エリアに設置されているサーバ選択装置に通知する。
【0051】
他エリア負荷情報取得手段は、他エリアに設置されているサーバ選択装置から他エリア内の各候補サーバの負荷情報を取得し、重み係数更新手段に通知する。
【0052】
さらに、距離情報取得手段は、利用者端末識別子と自エリア内候補サーバの識別子リストと他エリア内候補サーバの識別子リストを受け取り、自エリア内各候補サーバ・利用者端末間距離および他エリア内各候補サーバ・利用者端末間距離を取得する。
【0053】
重み係数更新手段は、自エリア内の各候補サーバの負荷情報を請求項1に記載のサーバ負荷情報取得手段から取得し、さらに前記他エリア負荷情報取得手段から他エリア内の各候補サーバの負荷情報を取得し、それら自エリア内および他エリア内の各候補サーバの負荷情報を考慮して自エリア内および他エリア内の各候補サーバの重み係数を算出して重み係数テーブルを更新する。
【0054】
重み付け評価値算出手段は、自エリア内候補サーバの識別子リストと他エリア内候補サーバの識別子リストを受け取り、前記距離情報取得手段から自エリア内各候補サーバ・利用者端末間距離および他エリア内各候補サーバ・利用者端末間距離を取得し、さらに前記重み係数更新手段により更新された重み係数テーブルから自エリア内および他エリア内の各候補サーバの重み係数を取得して、自エリア内および他エリア内の各候補サーバの重み付け評価値を算出する。
【0055】
接続サーバ決定手段は、前記重み付け評価値算出手段から自エリア内および他エリア内の各候補サーバの重み付け評価値を取得して各候補サーバの優先度を決定し、この優先度の高い順に選択サーバまたは選択エリアとして出力する。
【0056】
これにより、自エリアのサーバがいずれも高負荷な状態にある場合には遠隔の処理能力に余裕のあるサーバが選択され、近傍サーバの過負荷によるサービス品質の低下を回避することができる。
【0057】
(請求項1
本発明は、複数のエリアに分割されたネットワーク内のあるエリアに設置されており、分散配置された複数の候補サーバの中から利用者端末を接続させるサーバを選択するサーバ選択方法において、
当該サーバ選択装置が設置されているエリアを自エリアと定義し、当該エリア以外のあるエリアを他エリアと定義し、
利用者端末識別子と自エリア内候補サーバの識別子リストと他エリア内候補サーバの識別子リストを受け取り、自エリア内各候補サーバ・利用者端末間距離および他エリア内各候補サーバ・利用者端末間距離を取得する距離情報取得段階と、
サーバ選択時に用いる重み係数を候補サーバ毎に重み係数テーブルに記憶する重み係数記憶段階と、
候補サーバ識別子リストを受け取り、各候補サーバの負荷情報を取得するサーバ負荷情報取得段階と、
サーバ負荷情報取得段階を用いて自エリア内の各候補サーバの負荷情報を取得し、それら自エリア内の各候補サーバの負荷情報を他エリアに設置されているサーバ選択装置に通知する自エリア負荷情報通知段階と、
他エリアに設置されているサーバ選択装置から他エリア内の各候補サーバの負荷情報を取得する他エリア負荷情報取得段階と、
自エリア内の各候補サーバの負荷情報をサーバ負荷情報取得段階により取得し、他エリア負荷情報取得段階により他エリア内の各候補サーバの負荷情報を取得し、それら自エリア内および他エリア内の各候補サーバの負荷情報を考慮して自エリア内および他エリア内の各候補サーバの重み係数を算出して重み係数テーブルを更新する重み係数更新段階と、
自エリア内候補サーバの識別子リストと他エリア内候補サーバの識別子リストを受け取り、距離情報取得段階により自エリア内各候補サーバ・利用者端末間距離および他エリア内各候補サーバ・利用者端末間距離を取得し、重み係数テーブルから自エリア内および他エリア内の各候補サーバの重み係数を取得して、自エリア内および他エリア内の各候補サーバの重み付け評価値を算出する重み付け評価値算出段階と、
重み付け評価値算出段階により自エリア内および他エリア内の各候補サーバの重み付け評価値を取得して各候補サーバの優先度を決定し、この優先度の高い順に選択サーバまたは選択エリアとして出力する接続サーバ決定段階と
を有することを特徴とする
【0058】
(請求項
さらに、上記発明の1形態に属する発明を述べる。
【0059】
自エリア負荷情報取得手段は、自エリア内の各候補サーバの負荷情報を任意に設定可能な周期に従って取得する。
【0060】
これにより、サービスヘのアクセス数に応じたサーバ負荷情報取得処理が可能となる。例えば、アクセス数の多いサービスについては頻繁に各候補サーバの負荷を取得することで特定のサーバが過負荷になる前に利用者を他のサーバに接続させることができる。逆にアクセス数の少ないサービスについては必要最小限のサーバ負荷情報取得を行うことでサーバ負荷情報取得処理を軽減できる。
【0061】
(請求項1
本発明のサーバ選択方法の他の実施形態によれば、エリア負荷情報通知段階は、自エリア内の候補サーバ負荷情報を任意に設定可能な周期に従って取得するとも好ましい。
【0062】
(請求項
さらに上記発明の1形態に属する発明を述べる。
【0063】
自エリア負荷情報通知手段は、任意に設定可能な周期に従って自エリアの負荷情報を他エリアのサーバ選択装置に通知する。
【0064】
また、他エリア負荷情報取得手段は、任意に設定可能な周期に従い他エリアのサーバ選択装置から他エリア内の各候補サーバの負荷情報を取得する。
【0065】
これにより、サービスヘのアクセス数に応じたサーバ負荷情報取得処理が可能となる。例えば、アクセス数の多いサービスについては頻繁に各候補サーバの負荷および他エリアの負荷を取得することで特定のサーバが過負荷になる前に利用者を他のサーバに接続させることができる。逆にアクセス数の少ないサービスについては必要最小限のサーバ負荷情報取得を行うことでサーバ負荷情報取得処理を軽減できる。
【0066】
(請求項1
本発明のサーバ選択方法の他の実施形態によれば、エリア負荷情報通知段階は、任意に設定可能な周期に従い自エリア内候補サーバの負荷情報を他エリアのサーバ選択装置に通知し、他エリア負荷情報取得段階は、任意に設定可能な周期に従い他エリアのサーバ選択装置から他エリア内候補サーバの負荷情報を取得することも好ましい。
【0067】
(請求項
本発明は、複数のエリアに分割されたネットワーク内のあるエリアに設置されており、分散配置された複数の候補サーバの中から利用者端末を接続させるサーバを選択するサーバ選択装置において、
当該サーバ選択装置が設置されているエリアを自エリアと定義し、当該エリア以外のあるエリアを他エリアと定義し、
利用者端末識別子と自エリア内候補サーバの識別子リストと他エリアの識別子リストを受け取り、自エリア内各候補サーバ・利用者端末間距離および他エリア・利用者端末間距離を取得する距離情報取得手段と、
サーバ選択時に用いる重み係数を候補サーバ毎に記憶する重み係数テーブルと、
候補サーバの識別子リストを受け取り、各候補サーバの負荷情報を取得するサーバ負荷情報取得手段と、
サーバ負荷情報取得手段を用いて自エリア内の各候補サーバの負荷情報を取得して自エリア全体の負荷情報を算出し、この自エリア負荷情報を他エリアに設置されているサーバ選択装置に通知する自エリア負荷情報通知手段と、
他エリアに設置されているサーバ選択装置から他エリア全体の負荷情報を取得する他エリア負荷情報取得手段と、
自エリア内各候補サーバの負荷情報をサーバ負荷情報取得手段から取得し、他エリア負荷情報取得手段から他エリア全体の負荷情報を取得し、それら自エリア内の各候補サーバの負荷情報および他エリア全体の負荷情報を考慮して自エリア内の各候補サーバおよび他エリアの重み係数を算出して重み係数テーブルを更新する重み係数更新手段と、
自エリア内候補サーバの識別子リストと他エリアの識別子リストを受け取り、距離情報取得手段から自エリア内各候補サーバ・利用者端末間距離および他エリア・利用者端末間距離を取得し、重み係数テーブルから自エリア内の各候補サーバおよび他エリアの重み係数を取得して、自エリア内の各候補サーバおよび他エリアの重み付け評価値を算出する重み付け評価値算出手段と、
重み付け評価値算出手段から自エリア内の各候補サーバおよび他エリアの重み付け評価値を取得して自エリア内の各候補サーバと他エリアの優先度を決定し、この優先度の高い順に選択サーバまたは選択エリアとして出力する接続サーバ決定手段と
を有することを特徴とする。
また、複数のエリアに跨ったサーバ選択を別手法で行うため、上記参考となる発明に次の各手段を追加して各エリアに配置するものとした。本方式におけるサーバ選択装置の構成を図10に示す。
【0068】
自エリア負荷情報通知手段は、サーバ負荷情報取得手段を用いてサーバ選択装置が設置されている自エリア内の各候補サーバの負荷情報を取得して自エリア全体の負荷情報を算出し、この自エリア負荷情報を他エリアに設置されているサーバ選択装置に通知する。
【0069】
他エリア負荷情報取得手段は、他エリアに設置されているサーバ選択装置から他エリア全体の負荷情報を取得し、重み係数更新手段に通知する。
さらに、距離情報取得手段は、利用者端末識別子と自エリア内候補サーバの識別子リストと他エリアの識別子リストを受け取り、自エリア内各候補サーバ・利用者端末間距離および他エリア・利用者端末間距離を取得する。
【0070】
重み係数更新手段は、自エリア内の各候補サーバの負荷情報をサーバ負荷情報取得手段から取得し、さらに前記他エリア負荷情報取得手段から他エリア全体の負荷情報を取得し、それら自エリア内の各候補サーバの負荷情報および他エリア全体の負荷情報を考慮して自エリア内の各候補サーバおよび他エリアの重み係数を算出して重み係数テーブルを更新する。
【0071】
重み付け評価値算出手段は、自エリア内候補サーバの識別子リストと他エリアの識別子リストを受け取り、前記距離情報取得手段から自エリア内各候補サーバ・利用者端末間距離および他エリア・利用者端末間距離を取得し、さらに前記重み係数更新手段により更新された重み係数テーブルから自エリア内の各候補サーバおよび他エリアの重み係数を取得して、自エリア内の各候補サーバおよび他エリアの重み付け評価値を算出する。
【0072】
接続サーバ決定手段は、前記重み付け評価値算出手段から自エリア内の各候補サーバおよび他エリアの重み付け評価値を取得して自エリア内の各候補サーバと他エリアの優先度を決定し、この優先度の高い順に選択サーバまたは選択エリアとして出力する。
【0073】
これにより、自エリアのサーバがいずれも高負荷な状態にある場合には処理能力に余裕のあるサーバが配置されている他のエリアが選択され、その選択されたエリア内に配置されているサーバを対象に再度サーバ選択を行うことで利用者を接続させるサーバを決定でき、自エリア内のサーバの過負荷によるサービス品質の低下を回避することができる。
【0074】
(請求項1
本発明は、複数のエリアに分割されたネットワーク内のあるエリアに設置されており、分散配置された複数の候補サーバの中から利用者端末を接続させるサーバを選択するサーバ選択方法において、
当該サーバ選択装置が設置されているエリアを自エリアと定義し、当該エリア以外のあるエリアを他エリアと定義し、
利用者端末識別子と自エリア内候補サーバの識別子リストと他エリアの識別子リストを受け取り、自エリア内各候補サーバ・利用者端末間距離および他エリア・利用者端末間距離を取得する距離情報取得段階と、
サーバ選択時に用いる重み係数を候補サーバ毎に重み係数テーブルに記憶する重み係数記憶段階と、
候補サーバ識別子リストを受け取り、各候補サーバの負荷情報を取得するサーバ負荷情報取得段階と、
サーバ負荷情報取得段階を用いて自エリア内の各候補サーバの負荷情報を取得して自エリア全体の負荷情報を算出し、この自エリア負荷情報を他エリアに設置されているサーバ選択装置に通知する自エリア負荷情報通知段階と、
他エリアに設置されているサーバ選択装置から他エリア全体の負荷情報を取得する他エリア負荷情報取得段階と、
自エリア内の各候補サーバの負荷情報をサーバ負荷情報取得段階により取得し、他エリア負荷情報取得段階により他エリア全体の負荷情報を取得し、それら自エリア内の各候補サーバの負荷情報および他エリア全体の負荷情報を考慮して自エリア内の各候補サーバおよび他エリアの重み係数を算出して重み係数テーブルを更新する重み係数更新段階と、
自エリア内候補サーバの識別子リストと他エリアの識別子リストを受け取り、距離情報取得段階により自エリア内各候補サーバ・利用者端末間距離および他エリア・利用者端末間距離を取得し、重み係数更新段階により更新された重み係数テーブルから自エリア内の各候補サーバおよび他エリアの重み係数を取得して、自エリア内の各候補サーバおよび他エリアの重み付け評価値を算出する重み付け評価値算出段階と、
重み付け評価値算出段階により自エリア内の各候補サーバおよび他エリアの重み付け評価値を取得して自エリア内の各候補サーバと他エリアの優先度を決定し、この優先度の高い順に選択サーバまたは選択エリアとして出力する接続サーバ決定段階と
を有することを特徴とする。
【0075】
(請求項
さらに、上記発明の1形態に属する発明を述べる。
【0076】
自エリア負荷情報取得手段は、自エリア全体の負荷情報を任意に設定可能な周期に従って取得することも好ましい。
【0077】
これにより、サービスヘのアクセス数に応じたサーバ負荷情報取得処理が可能となる。例えば、アクセス数の多いサービスについては頻繁に各候補サーバの負荷を取得することで特定のサーバが過負荷になる前に利用者を他のサーバに接続させることができる。逆にアクセス数の少ないサービスについては必要最小限のサーバ負荷情報取得を行うことでサーバ負荷情報取得処理を軽減できる。
【0078】
(請求項14
本発明のサーバ選択方法の他の実施形態によれば、エリア負荷情報通知段階は、自エリア全体の負荷情報を任意に設定可能な周期に従って取得することも好ましい。
【0079】
(請求項
さらに上記発明の1形態に属する発明を述べる。
【0080】
自エリア負荷情報通知手段は、任意に設定可能な周期に従って自エリアの負荷情報を他エリアのサーバ選択装置に通知する。
【0081】
また、他エリア負荷情報取得手段は、任意に設定可能な周期に従い他エリアのサーバ選択装置から他エリアの負荷情報を取得する。
【0082】
これにより、サービスヘのアクセス数に応じたサーバ負荷情報取得処理が可能となる。例えば、アクセス数の多いサービスについては頻繁に各候補サーバの負荷および他エリアの負荷を取得することで特定のサーバが過負荷になる前に利用者を他のサーバに接続させることができる。逆にアクセス数の少ないサービスについては必要最小限のサーバ負荷情報取得を行うことでサーバ負荷情報取得処理を軽減できる。
【0083】
(請求項15
本発明のサーバ選択方法の他の実施形態によれば、エリア負荷情報通知段階は、任意に設定可能な周期に従い自エリアの負荷情報を他エリアのサーバ選択装置に通知し、他エリア負荷情報取得段階は、任意に設定可能な周期に従い他エリアのサーバ選択装置から他エリアの負荷情報を取得するとも好ましい。
【0084】
(2)マッピングテーブル法
前記問題を解決するための第2の方法として、マッピングテーブルを用いた手法を以下で説明する。
【0085】
本方式では、ネットワークを複数のエリアに分割し、各エリア内の利用者を接続させるサーバを分散配置された複数の候補サーバからマッピングテーブルを参照して選択する。マッピングテーブルには、利用者が属するエリアと接続サーバとの関係が記述されている。例えば、エリア1とエリア2はサーバAに、エリア3はサーバBに、エリア4と5はサーバCに、という対応関係がマッピングテーブルに記述される。従って、アクセスを要求している利用者が属するエリアを特定することができれば、その利用者を接続させるサーバを特定することができる。
【0086】
本方式に基づくサーバ選択装置は、利用者のアクセス要求およびサーバ負荷をエリア毎に考慮してサーバ選択を行う。本発明によるサーバ選択装置の構成を図11に示す。図11のエリア選択装置は、位置情報取得手段、マッピングテーブル、接続サーバ決定手段、で構成される。
【0087】
(請求項
本発明を以下で述べる。
位置情報取得手段は、利用者端末識別子を受け取り、利用者の属するエリアを特定する。
【0088】
マッピングテーブルには、表2のようにエリアと当該エリア内の利用者を接続させるサーバの識別子が対になって記述される。
【0089】
接続サーバ決定手段は、位置情報取得手段で取得した利用者が属するエリアをマッピングテーブルから探し、そのエリアに対応するサーバを利用者の接続するサーバとして回答する。
【0090】
(請求項16
また、本発明によるサーバ選択方法によれば、ネットワークを複数のエリアに分割した場合のあるエリア内に存在する利用者を接続させるサーバを、分散配置された複数の候補サーバから選択するサーバ選択方法であって、利用者が属するエリアと当該エリア内利用者を接続させるサーバとの関係をッピングテーブルに記述する段階と、利用者端末識別子を受け取り、利用者の属するエリアを特定する置情報取得段階と、置情報取得段階で取得した利用者位置情報とマッピングテーブルより当該利用者を接続させるサーバを特定する続サーバ決定段階とを有する。
【0091】
(請求項19
更に、本発明によるサーバ選択プログラムによれば、ネットワークを複数のエリアに分割した場合のあるエリア内に存在する利用者を接続させるサーバを、分散配置された複数の候補サーバから選択するようにコンピュータに機能させるサーバ選択プログラムであって、利用者が属するエリアと当該エリア内利用者を接続させるサーバとの関係を記述するッピングテーブルと、利用者端末識別子を受け取り、利用者の属するエリアを特定する置情報取得手段と、置情報取得段階で取得した利用者位置情報と前記マッピングテーブルより当該利用者を接続させるサーバを特定する続サーバ決定手段としてコンピュータを機能させる。
【0092】
(請求項2
尚、前述したサーバ選択プログラムを記録した記録媒体であってもよい。
【0093】
(請求項
上記発明において負荷分散を考慮してサーバ選択を行うために、サーバ負荷情報取得手段、マッピングテーブル更新手段を追加した。この場合のサーバ選択装置の構成を図12に示す。
【0094】
サーバ負荷情報取得手段は、候補サーバ識別子リストを受け取り、各候補サーバの負荷情報を取得する。
【0095】
マッピングテーブル更新手段は、サーバ負荷情報取得手段で取得した各候補サーバのサーバ負荷情報に基づき、他の候補サーバと比較して負荷が大きいサーバを接続サーバとしているエリアの接続先サーバを変更することでマッピングテーブルを更新する。
【0096】
接続サーバ決定手段は、位置情報取得手段で取得した当該利用者が属するエリアとマッピングテーブルより、利用者を接続させるサーバを特定する。マッピングテーブル更新にサーバ負荷が考慮されていることにより、利用者の接続先サーバが過負荷状態のため充分なサービスを提供できない問題を解決した。
【0097】
(請求項17
本発明のサーバ選択方法の他の実施形態によれば、候補サーバの識別子のリストを受け取り、各候補サーバの負荷情報を取得するーバ負荷情報取得段階と、ーバ負荷情報取得段階で取得した各候補サーバのサーバ負荷情報に基づき、他の候補サーバと比較して負荷が大きいサーバを接続サーバとしている利用者従属エリアの接続先サーバを変更するためにッピングテーブルを更新するッピングテーブル更新段階とを備えることも好ましい。
【0098】
(請求項
上記発明において通信コスト増加を抑制し、サーバ選択の高速化を実現するために以下の改良を加えた。
【0099】
マッピングテーブル更新手段は、マッピングテーブルに記載されている各候補サーバと利用者従属エリアとの対応関係情報について、候補サーバ識別子リストに記載されている各候補サーバのうち最も当該利用者の位置に近いサーバを選択サーバの初期値とする手段を含み、さらにサーバ負荷情報取得手段により取得された負荷が最大のサーバを接続サーバに選択している各エリアについて、他のサーバと当該エリアとの通信コストが最も低くなる候補サーバに接続サーバを変更した場合の通信コスト増加量を求め、この通信コスト増加量が小さいエリアの接続サーバを変更する手段を含むこととした。
【0100】
(請求項18
本発明のサーバ選択方法の他の実施形態によれば、ッピングテーブル更新段階は、ッピングテーブルに記載されている各候補サーバと利用者従属エリアの対応関係情報について、候補サーバ識別子リストに記載されている各候補サーバのうち最も利用者従属エリアに近い候補サーバを選択サーバの初期値とする階を含み、ーバ負荷情報取得段階によって取得された負荷が最大のサーバを接統サーバに選択している利用者従属エリアについて、他のサーバと当該エリアとの通信コストが最も低くなる候補サーバに接続サーバを変更した場合の通信コスト増加量を求め、この通信コスト増加量が小さいエリアの接続サーバを変更する階を含むことも好ましい。
【0101】
以上より、マッピングテーブルの初期状態には各エリアにとっての最寄りサーバが接続先サーバとして記述されており、さらにマッピングテーブル更新時にはサーバ負荷が考慮されているため、利用者の接続先サーバが過負荷状態のため充分なサービスを提供できない問題を解決した。
【0102】
【発明の実施の形態】
以下では、図面を用いて本発明を詳細に説明する。尚、以下では、サーバ選択装置を例にとって説明するが、サーバ選択方法、サーバ選択プログラム及びそのプログラムを記録した記録媒体についても同様の構成を有する。
【0103】
(実施例1)
参考となるサーバ選択装置の実施例を以下に示す。本実施例におけるサーバ選択装置の構成は図8の通りである。また、参考となるサーバ選択方法について、更にその方法を実行するサーバ選択プログラムについても、同様に説明される。
【0104】
最初に距離情報取得手段の実施例を述べる。本実施例では、ある候補サーバSi(ただし0≦i≦N:Nは、0より大きい整数であり、候補サーバ識別子リストに登録されている候補サーバ識別子の数を示す)と利用者端末間のルータの数を距離情報d(U,Si)として定義する。ただし、Siは候補サーバの識別子、Uは利用者端末識別子であり、より具体的には候補サーバおよび利用者端末のホスト名やIPアドレスなどである。距離情報取得手段は、候補サーバの識別子のリストSとUを受け取り、従来技術の距離最小化方式と同様にUNIX環境で動作するtracerouteプログラムを使用し、サーバ選択装置から利用者端末までに経由するルータのIPアドレスを得る。このIPアドレスは、経路情報を構成する中継器識別子に相当する。ここで各ルータのIPアドレスを距離情報取得手段に近い順に並べたものを経路情報と定義し、その長さをluとする。同様に、ある候補サーバSiに対してもtracerouteプログラムを実行することで、各候補サーバまでの経路情報を得ることができ、その経路長li(i=0,1,…,N)が得られる。このようにして得られた利用者端末までの経路長lu、ある候補サーバまでの経路長li、さらに両経路情報の共通経路長cを用いて、サーバSiと利用者端末Uの距離d(U,Si)を次式で求める。
【0105】
d(U,Si)=(lu+li)−2×c+1
【0106】
距離情報取得の具体例を図13を用いて説明する。図13において、Tはtraceroute実行端末、Siは候補サーバ、Uは利用者端末である。Tはtracerouteコマンドを実行し、Siまでの経路情報とUまでの経路情報を取得し、さらにそこからSiまでの経路長li=5とUまでの経路長lu=4を算出する。距離情報取得手段は、Siまでの経路情報とUまでの経路情報をTTL値の小さな順に比較し、両経路情報の共通部分および共通部分の経路長c=3を求める。さらに距離情報取得手段は上記の式に従ってSiとUの間の距離d(U,Si)=4を算出する。
【0107】
本実施例では、サーバ負荷情報取得手段は各サーバにアクセスしている利用者数をサーバ負荷として取得するものとする。すなわち、あるサーバSiにアクセスしている利用者数がmで与えられる場合、サーバSiの負荷L(Si)はL(Si)=mとなる。サーバにアクセスしている利用者数を取得する方法としては、UNIX基本コマンドであるnetstatを用いて当該サービスに対するTCPコネクションの接続数を計数する方法や、同じくUNIX基本コマンドであるfingerを用いて当該サーバリソースを使用しているクライアント数を計数する方法などがある。他にも、CPU負荷やレスポンスタイムをサーバ負荷として用いる場合もある。このサーバ負荷情報取得手段において、各サーバの負荷を取得するタイミングや周期は、UNIX基本コマンドであるcronを用いるなどして任意に設定可能であるとした。
【0108】
次に、重み係数更新手段、重み係数テーブルについて説明する。本実施例における重み係数は、サーバ負荷情報をサーバ選択処理に反映させる度合いを示す係数である。例として、候補サーバS1,S2,…,SNの負荷をそれぞれL(S1),L(S2),…,L(SN)で、重み係数をW(S1),W(S2),…,W(SN)で表すとし、両者には次式の関係が成り立っているものとする。
【0109】
W(Si)=L(Si)
【0110】
ここで、kは0以上の実数である。以上の式で求められた各サーバの重み係数W(Si)を保持したものが重み係数テーブルである。重み係数テーブルの例を表1に示す。
【0111】
【表1】
【0112】
次に、重み付け評価値算出手段において、d(U,Si)とW(Si)を用いてSiの重み付け評価値e(Si)を求める。本実施例では次式に従って各サーバの重み付け評価値を算出する。
【0113】
e(Si)=d(U,Si)W(Si)
【0114】
最後に、接続サーバ決定手段において、上式で求めた重み付け評価値e(Si)が小さい順に候補サーバSiの優先度が高くなるように候補サーバ識別子リストを並べ替え、優先度が最も高い候補サーバを利用者端末Uの接続先サーバとして出力する。その際、優先度の高い順に候補サーバ識別子リストを並べ直して作成される新しい候補サーバ識別子リストZを出力する場合も考えられる。
【0115】
(実施例2)
請求項およびに記載のサーバ選択装置の実施例を以下に示す。本実施例におけるサーバ選択装置の構成は図9と同様である。請求項1、1および1に記載のサーバ選択方法についても同様に説明される。
【0116】
本実施例で示すサーバ選択装置は、先に実施例1で説明したサーバ選択装置に自エリア負荷情報通知手段と他エリア負荷情報取得手段を追加した構成になっている。本実施例では簡単のためにエリア数は2つとし、自エリアをA1、他エリアをA2とし、自エリアのサーバ選択装置をR1、他エリアのサーバ選択装置をR2とする。
【0117】
R1の距離情報取得手段は、A1,A2それぞれに分散配置されている候補サーバの識別子のリストS1,S2と利用者端末識別子Uを受け取り、各候補サーバ・利用者端末間距離d(U,S1i)およびd(U,S2j)を求める。距離算出方法は実施例1で示した方法と同様である。
【0118】
R1のサーバ負荷情報取得手段は、A1内の候補サーバの識別子リストS1を受け取り、各候補サーバS1i(ただし0≦i≦N1、N1はA1に配置されている候補サーバ数)の負荷情報L(S1i)を取得する。負荷情報の定義は実施例1と同様であるとする。
【0119】
R1の自エリア負荷情報通知手段は、サーバ負荷情報取得手段から自エリア内の候補サーバS1iの負荷L(S1i)を受け取り、R2の他エリア負荷情報取得手段にL(S1i)を通知する。通知方法としては、UDPパケットまたはTCPパケットにL(S1i)を直接記述して送信する方法や、ファイルにL(S1i)を記述しFTPプロトコルを使用して当該ファイルを転送する方法などがある。また自エリア負荷L(S1i)を通知するタイミングや周期は、UNIX基本コマンドであるcronを用いるなどして任意に設定可能であるとした。
【0120】
一方、R1の他エリア負荷情報取得手段は、他エリアA2内に配置されている候補サーバS2j(ただし、0≦j≦N2。N2はA2内に配置されている候補サーバ数)の負荷L(S2j)を取得する。ただしL(S2j)は、A1内の候補サーバの負荷情報L(S1i)の算出と同様の処理をR2の自エリア負荷情報取得手段が行って求める。L(S2j)取得の際には前述の自エリア負荷情報通知手段と同様に、UDPパケットあるいはTCPパケットにL(S2j)を直接記述して送信する方法や、ファイルにL(S2j)を記述してFTPプロトコルを使用して当該ファイルを転送する方法などがある。また、R1の他エリア負荷情報取得手段が他エリアA2のサーバ選択装置R2内の自エリア負荷情報通知手段から他エリア負荷情報L(S2j)を取得するタイミングや周期を、UNIX基本コマンドであるcronを用いるなどして任意に設定可能であるとした。さらに、他エリアA2のサーバ選択装置R2内の自エリア負荷情報通知手段がエリア負荷情報L(S2j)の通知を求められた際には、それに連動してR2内のサーバ負荷情報取得手段がエリアA2内の各サーバS2jの負荷情報L(S2j)を取得するものとした。
【0121】
R1の他エリア負荷情報取得手段が取得した他エリアの負荷L(S2j)は、R1のサーバ負荷情報取得手段が取得した各候補サーバの負荷L(S1i)と共にR1の重み係数更新手段に渡される。重み係数更新手段は、A1内の各候補サーバS1iの重み係数W(S1i)とA2内の各候補サーバS2jの重み係数W(S2j)を実施例1で示した処理と同様に算出し、求められた重み係数を表1と同様の形式で重み係数テーブルとして保持する。
【0122】
その後、R1の重み付け評価値算出手段はA1内の各候補サーバS1iの重み付け評価値e(S1i)とA2内の各候補サーバS2jの重み付け評価値e(S2j)を算出し、接続サーバ決定手段は、評価値e(S1i),e(S2j)が小さい順に候補サーバの優先度が高くなるように候補サーバ識別子リストの並べ替えを行い、優先度が最も高い候補サーバを利用者端末Uを接続させるサーバとして出力する。その際、優先度の高い順に候補サーバを並べ直して作成される新しい候補サーバ識別子リストZ1を出力する場合もある。
【0123】
(実施例3)
請求項およびに記載のサーバ選択装置の実施例を以下に示す。本実施例におけるサーバ選択装置の構成は図10と同様である。請求項114および15に記載のサーバ選択方法についても同様に説明される。
【0124】
本実施例で示すサーバ選択装置は、先に実施例2で説明したサーバ選択装置と同様の構成になっている。本実施例では簡単のためにエリア数は2つとし、自エリアをA1、他エリアをA2とし、自エリアのサーバ選択装置をR1、他エリアのサーバ選択装置をR2とする。
【0125】
R1の距離情報取得手段は、A1に分散配置されている候補サーバの識別子のリストS1、A1以外のエリア識別子のリストA1、利用者端末識別子Uを受け取り、各候補サーバ・利用者端末間距離d(U,S1i)および各エリア・利用者端末間距離d(U,A2)を求める。距離算出方法は実施例1で示した方法と同様である。
【0126】
R1のサーバ負荷情報取得手段は、A1内の候補サーバの識別子リストS1を受け取り、各候補サーバS1i(ただし0≦i≦N1、N1はA1に配置されている候補サーバ数)の負荷情報L(S1i)を取得する。負荷情報の定義は実施例1と同様であるとする。
【0127】
R1の自エリア負荷情報通知手段は、サーバ負荷情報取得手段から自エリア内の候補サーバS1i(ただし0≦i≦N1、N1はA1に配置されている候補サーバ数)の負荷L(Si)を受け取り、自エリア負荷F(A1)を求める。本実施例では次式に従って自エリア負荷L(A1)を求める。
【0128】
【数1】
【0129】
上式で自エリア負荷L(A1)を求めた後、自エリア負荷情報通知手段はR2の他エリア負荷情報取得手段にL(A1)を通知する。通知方法としては、UDPパケットまたはTCPパケットにL(A1)を直接記述して送信する方法や、ファイルにL(A1)を記述しFTPプロトコルを使用して当該ファイルを転送する方法などがある。また、自エリア負荷を算出するタイミングや周期は、UNIX基本コマンドであるcronを用いるなどして任意に設定可能であるとした。さらに、自エリア負荷情報算出が任意のタイミングで行われる際には、それと連動してサーバ負荷情報取得手段が各サーバの負荷情報を取得するものとした。
【0130】
一方、R1の他エリア負荷情報取得手段は、他エリアA2の負荷L(A2)を取得する。ただしL(A2)は、前記自エリア負荷L(A1)の算出と同様の処理をR2の自エリア負荷情報取得手段が行って求める。L(A2)取得の際には前述の自エリア負荷情報通知手段と同様に、UDPパケットあるいはTCPパケットにL(A2)を直接記述して送信する方法や、ファイルにL(A2)を記述してFTPプロトコルを使用して当該ファイルを転送する方法などがある。また、他エリア負荷情報取得手段が他エリアA2のサーバ選択装置R2内の自エリア負荷情報通知手段から他エリア負荷情報L(A2)を取得するタイミングや周期を任意に設定可能であるとした。さらに、他エリアA2のサーバ選択装置R2内の自エリア負荷情報通知手段がエリア負荷情報L(A2)の通知を求められた際には、それに連動してR2内のサーバ負荷情報取得手段がエリアA2内の各サーバの負荷情報を取得するものとした。
【0131】
R1の他エリア負荷情報取得手段が取得した他エリアの負荷L(A2)は、R1のサーバ負荷情報取得手段が取得した各候補サーバの負荷L(S1i)と共に重み係数更新手段に渡される。重み係数更新手段は、実施例1で示した処理と同様の重み係数更新処理を行い、求められた重み係数を表1と同様の形式で重み係数テーブルとして保持する。
【0132】
その後、R1の重み付け評価値算出手段はA1内の各候補サーバS1iの重み付け評価値e(S1i)とエリアA2の重み付け評価値e(A2)を算出し、接続サーバ決定手段は、評価値e(S1i),e(A2)が小さい順に候補サーバまたは候補エリアの優先度が高くなるようにリストの並べ替えを行い、優先度が最も高い候補サーバを利用者端末Uを接続させるサーバとして出力する。その際、優先度の高い順に候補サーバを並べ直して作成される新しい候補サーバ・エリアリストZ1を出力する場合もある。
【0133】
(実施例4)
請求項に記載のサーバ選択装置の実施例を以下に示す。本実施例におけるサーバ選択装置の構成を図11に示す。また、請求項16に記載のサーバ選択方法について、更に請求項26に記載のサーバ選択プログラムについても、同様に説明される。
【0134】
また、本実施例で想定するエリアの概念を図14に示す。図14では、サーバ選択装置が取り扱うネットワーク中にサーバSa,Sb,Scが分散配置されており、不特定多数のクライアントが点在している。また、本実施例ではネットワーク内に識別子が1から7までの7つのエリアが存在している。本実施例における各エリア内の利用者が接続されるサーバと各エリアの対応関係を示すマッピングテーブルを表2に示す。表2では、各エリアから各サーバまでの経路において経由する中継器数が最小となるサーバを当該エリアの接続先サーバとしている。
【0135】
【表2】
【0136】
位置情報取得手段は、利用者識別子Uを受け取りtracerouteコマンドを用いて利用者の属するエリアを特定する。利用者の属するエリアの特定に先駆け、当該手段はサーバ選択装置からマッピングテーブルに登録されている各エリアまでの経路情報を予めtracerouteを用いて取得し、経路情報テーブルとして保持しておく。図14に示したネットワーク構成における経路情報を表3に示す。
【0137】
【表3】
【0138】
当該手段は次にtracerouteを用いてサーバ選択装置から利用者端末までの経路情報を取得し、予め求めた各エリアまでの経路情報と比較して共通経路長が最も長いエリアを特定し、当該利用者はそのエリアに属するものとする。例えば図14において、サーバ選択装置から利用者端末までの経路情報としてR1−R2−R7を得たとすると、この経路情報と最も長い共通経路を有するエリアは表3よりエリア4であることから、利用者はエリア4に属することが分かる。位置取得手段はこの結果を接続サーバ決定手段に渡す。
【0139】
接続サーバ決定手段は、表2に示したマッピングテーブルを参照し、エリア4の利用者が接続されるサーバがサーバbであることが分かり、結果として出力する。
【0140】
上記発明において負荷分散を考慮してサーバ選択を行うために、請求項11に記載のサーバ選択装置の実施例を以下に示す。本実施例におけるサーバ選択装置の構成は図12と同様であり、これは前述の請求項7に記載のサーバ選択装置の構成(図11参照)にサーバ負荷情報取得手段、マッピングテーブル更新手段を加えた構成になっている。請求項23に記載のサーバ選択方法についても同様に説明される。
【0141】
サーバ負荷情報取得手段は候補サーバの識別子リストSを受け取り、リストに含まれる各候補サーバSi(ただし0≦i≦N。Nはネットワーク中に配置されている候補サーバ数)の負荷情報を取得する。本実施例では、先に述べた実施例1のサーバ負荷情報取得手段と同様に、サーバにアクセスする利用者数をサーバ負荷として用いる。この場合のサーバ負荷情報取得方法としては、UNIX基本コマンドであるnetstatを用いて当該サービスに対するTCPコネクションの接続数を計数する方法、同じくUNIX基本コマンドであるfingerを用いてサーバリソースを使用している利用者数を計数する方法などがある。
【0142】
マッピングテーブル更新手段は候補サーバの識別子リストSとエリアの識別子リストAを受け取り、各サーバの負荷情報に基づいてマッピングテーブルを更新する。以下、図14のネットワーク構成を例に、マッピングテーブル更新処理を説明する。図14で示されるネットワーク中にはSa,Sb,Scという3つのサーバが配置されているので、S={Sa,Sb,Sc}である。マッピングテーブルの初期状態は表2の内容と同一であるとする。いま、エリア3とエリア4にいる多くの利用者がサービス要求を行ったとすると、請求項又は13に示したサーバ選択の実施例に従ってこれらの利用者を接続させるサーバとしてサーバBが選択され、その結果サーバSbの負荷が高くなっているとする。また、このときエリア6とエリア7にいる利用者からはサービス要求が行われず、両エリアに属する利用者を接続させるサーバScの負荷は低いままであるとする。このような状況下で、エリア5に属する利用者がサービス要求を行った場合、表2のマッピングテーブルをそのまま用いていると当該利用者を接続させるサーバとしてサーバSbが選択され、結果としてサーバSbの負荷がさらに高まり、サービス提供に支障が生じる。そこで、マッピングテーブルの記述においてサーバSbが接続先サーバとなっているエリア3、エリア4、エリア5のうち、いずれかのエリアについては当該エリア内の利用者を他のサーバに接続させるようにマッピングテーブルを更新する。本実施例ではエリア5に属する利用者をサーバScに接続させるように変更する。その結果、マッピングテーブルは表4のように変更される。
【0143】
【表4】
【0144】
以下ではマッピングテーブル更新手段におけるマッピングテーブル更新判断基準について説明する。前提として、図14のエリア1〜7をA1〜A7で表す。また、各エリアからマッピングテーブルによって割り当てられているサーバヘのアクセス数をC(Ai)(ただし1≦i≦7)で、各サーバ負荷をL(Sa)、L(Sb)、L(Sc)で表す。さらに、各サーバのリソース上限値(許容しうる負荷の最大値)をMaxL(Sa),MaxL(Sb),MaxL(Sc)で表す。各サーバにアクセスする利用者数をサーバ負荷として用いているため、マッピングテーブルが表2の場合には以下の式が成り立つ。
【0145】
L(Sa)=C(A1)十C(A2)
L(Sb)=C(A3)+C(A4)+C(A5)
L(Sc)=C(A6)+C(A7)
【0146】
ここでL(Sb)について以下の条件を満たしたとする。ただし、Ratio(Sb)はマッピングテーブル更新判定閾値であり、サーバ選択装置運用者やサービス提供者が予め値を設定できるものとする。
【0147】
L(Sb)>MaxL(Sb)×Ratio(Sb)
【0148】
上式を満たした場合、サーバSbは過負荷状態にあるとし、サーバSbに接続するようにマッピングテーブルに記述されているエリアのいずれかを、他のサーバに接続するようにマッピングテーブルを更新する。
【0149】
本実施例では以下のように接続先サーバを変更するエリアを選択する。すなわち、L(Sb)を構成する要素C(A3),C(A4),C(A5)のうち最小のものを求め、そのエリアを接続先サーバ変更の対象とする。例えばC(A5)が最小であった場合、エリア5の接続先サーバが変更される。また、変更後の接続先サーバを以下のように選択する。すなわち、Sb以外のサーバについて負荷の大きさを比較し、負荷が最小であるサーバを上記処理で選択された接続先サーバ変更対象エリア(エリア5)の新たな接続先サーバとする。例えばL(Sa)>L(Sc)であった場合、エリア5の接続先サーバはScとなる。以上の結果をもとに更新した後のマッピングテーブルは表4のようになる。
【0150】
接続サーバ決定手段は、更新後の最新のマッピングテーブルを参照して、利用者の位置からその利用者を接続させるサーバを決定する。
【0151】
さらに、上記発明の1形態に属する発明として、請求項に記載の発明に付いて述べる。本実施例におけるサーバ選択装置の構成は図12と同様である。請求項18に記載のサーバ選択方法についても同様に説明される。
【0152】
本実施例では、位置情報取得手段が各エリアの距離関係を求め、各エリア内の利用者を接続させるサーバの初期値を決定し、マッピングテーブルを初期化するものとした。具体的には、位置情報取得手段は各エリアまでの経路情報を表3のように求め、長く同一経路を経由する複数のエリアから順に同一サーバにアクセスするようにマッピングテーブルを生成する。表3では、エリア3,4,5がR1−R2まで、エリア6,7がR1−R3までそれぞれ同一経路を経由し、どちらの場合も同一経路長は2である。これよりも長い同一経路を有するエリアは他に無いので、エリア3,4,5は同じサーバbに、エリア6,7はサーバcにアクセスするようにマッピングテーブルが生成される。また、エリア1,2はR1まで同一経路を経由するので両エリアはサーバaにアクセスするようにマッピングテーブルが生成される。
【0153】
さらに本実施例では、マッピングテーブル更新手段があるエリアの新たな接続先サーバを選択する際に、当該エリアと各サーバ間の通信コスト増減を考慮するものとした。すなわち、請求項又は14に記載の発明の実施例において、接続先サーバを変更するエリアが特定された場合(前記の例ではエリア5)、新たな接続先候補サーバ(前記の例ではSaとSc)のその時点での負荷のみを考慮するのではなく、エリア5からサーバaまでの通信コストとエリア5からサーバcまでの通信コストを比較し、コストの小さくなるサーバを新たな接続先サーバとして選択するものとした。具体的な通信コストとしては、実施例1、2で説明した距離情報と同様に候補サーバ・当該エリア間を中継するルータ数、候補サーバ・当該エリア間のネットワーク帯域、pingなどにより測定可能な応答時間(RTT)、さらにはこれらを複数種類用いた指標がある。
【0154】
【発明の効果】
請求項1、13及び25に記載の発明は、サーバ・利用者間距離とサーバ負荷を同時に考慮することで距離最小化方式で発生する特定サーバヘの負荷集中を解決し、負荷均等化方式と比較してもネットワークコストを抑制することができる。
【0155】
発明は、サービスヘのアクセス数に応じたサーバ負荷情報取得処理が可能となる。例えばアクセス数の多いサービスについては頻繁に各候補サーバの負荷を取得することで特定のサーバが過負荷になる前に利用者を他のサーバに接続させることができる。逆にアクセス数の少ないサービスについては必要最小限のサーバ負荷情報取得を行うことでサーバ負荷情報取得処理を軽減できる。
【0156】
発明は、候補サーバの負荷と候補サーバ・利用者端末間距離の両方を考慮するサーバ選択処理において、候補サーバ負荷重視あるいは候補サーバ・利用者端末間距離重視のサーバ選択処理の調整を容易に実現することができる。
【0157】
請求項および10に記載の発明は、自エリアのサーバがいずれも高負荷な状態にある場合には遠隔の処理能力に余裕のあるサーバが選択され、近傍サーバの過負荷によるサービス品質の低下を回避することができる。
【0158】
請求項および11に記載の発明は、サービスヘのアクセス数に応じたサーバ負荷情報取得処理が可能となる。例えば、アクセス数の多いサービスについては頻繁に各候補サーバの負荷を取得することで特定のサーバが過負荷になる前に利用者を他のサーバに接続させることができる。逆にアクセス数の少ないサービスについては必要最小限のサーバ負荷情報取得を行うことでサーバ負荷情報取得処理を軽減できる。
【0159】
請求項および12に記載の発明は、サービスヘのアクセス数に応じたサーバ負荷情報取得処理が可能となる。例えば、アクセス数の多いサービスについては頻繁に各候補サーバの負荷および他エリアの負荷を取得することで特定のサーバが過負荷になる前に利用者を他のサーバに接続させることができる。逆にアクセス数の少ないサービスについては必要最小限のサーバ負荷情報取得を行うことでサーバ負荷情報取得処理を軽減できる。
【0160】
請求項4および13に記載の発明は、自エリアのサーバがいずれも高負荷な状態にある場合には処理能力に余裕のあるサーバが配置されている他のエリアが選択され、その選択されたエリア内に配置されているサーバを対象に再度サーバ選択を行うことで利用者を接続させるサーバを決定でき、自エリア内のサーバの過負荷によるサービス品質の低下を回避することができる。
【0161】
請求項および14に記載の発明は、サービスヘのアクセス数に応じたサーバ負荷情報取得処理が可能となる。例えば、アクセス数の多いサービスについては頻繁に各候補サーバの負荷を取得することで特定のサーバが過負荷になる前に利用者を他のサーバに接続させることができる。逆にアクセス数の少ないサービスについては必要最小限のサーバ負荷情報取得を行うことでサーバ負荷情報取得処理を軽減できる。
【0162】
請求項および15に記載の発明は、サービスヘのアクセス数に応じたサーバ負荷情報取得処理が可能となる。例えば、アクセス数の多いサービスについては頻繁に各候補サーバの負荷および他エリアの負荷を取得することで特定のサーバが過負荷になる前に利用者を他のサーバに接続させることができる。逆にアクセス数の少ないサービスについては必要最小限のサーバ負荷情報取得を行うことでサーバ負荷情報取得処理を軽減できる。
【0163】
請求項16および19に記載の発明は、マッピングテーブル更新にサーバ負荷が考慮されていることにより、利用者の接続先サーバが過負荷状態のため充分なサービスを提供できない問題を解決した。
【0164】
請求項および18に記載の発明は、マッピングテーブルの初期状態には各エリアにとっての最寄りサーバが接続先サーバとして記述されており、さらにマッピングテーブル更新時にはサーバ負荷が考慮されているため、利用者の接続先サーバが過負荷状態のため充分なサービスを提供できない問題を解決した。
【図面の簡単な説明】
【図1】従来の距離最小化法に基づくサーバ選択装置の構成図である。
【図2】UNIX基本コマンドであるtracerouteを用いてクライアント・サーバ間の距離情報を取得する概要図である。
【図3】距離最小化法によって生じるサーバ選択の第1の問題点を示す図である。
【図4】距離最小化法によって生じるサーバ選択の第2の問題点を示す図である。
【図5】距離最小化法によって生じるサーバ選択の第3の問題点を示す図である。
【図6】負荷均等化法によって生じるサーバ選択の第1の問題点を示す図である。
【図7】負荷均等化法によって生じるサーバ選択の第2の問題点を示す図である。
【図8】重み係数法に基づく第1のサーバ選択装置の構成図である。
【図9】重み係数法に基づく第2のサーバ選択装置の構成図である。
【図10】重み係数法に基づく第3のサーバ選択装置の構成図である。
【図11】マッピングテーブル法に基づく第1のサーバ選択装置の構成図である。
【図12】マッピングテーブル法に基づく第2のサーバ選択装置の構成図である。
【図13】サーバ・利用者端末間距離算出処理説明のためのネットワーク構成図である。
【図14】マッピングテーブル方式のサンプルネットワーク構成図である。

Claims (20)

  1. 複数のエリアに分割されたネットワーク内のあるエリアに設置されており、分散配置された複数の候補サーバの中から利用者端末を接続させるサーバを選択するサーバ選択装置において
    当該サーバ選択装置が設置されているエリアを自エリアと定義し、当該エリア以外のあるエリアを他エリアと定義し、
    利用者端末識別子と自エリア内候補サーバの識別子リストと他エリア内候補サーバの識別子リストとを受け取り、自エリア内各候補サーバ・利用者端末間距離および他エリア内各候補サーバ・利用者端末間距離を取得する距離情報取得手段と、
    サーバ選択時に用いる重み係数を前記候補サーバ毎に記憶する重み係数テーブルと、
    前記候補サーバの識別子リストを受け取り、各候補サーバの負荷情報を取得するサーバ負荷情報取得手段と、
    前記ーバ負荷情報取得手段を用いて自エリア内の各候補サーバの負荷情報を取得し、それら自エリア内の各候補サーバの負荷情報を他エリアに設置されているサーバ選択装置に通知するエリア負荷情報通知手段と、
    他エリアに設置されているサーバ選択装置から他エリア内の各候補サーバの負荷情報を取得する他エリア負荷情報取得手段と、
    エリア内の各候補サーバの負荷情報を前記ーバ負荷情報取得手段から取得し、エリア負荷情報取得手段から他エリア内の各候補サーバの負荷情報を取得し、それら自エリア内および他エリア内の各候補サーバの負荷情報を考慮して自エリア内および他エリア内の各候補サーバの重み係数を算出して重み係数テーブルを更新する重み係数更新手段と
    エリア内候補サーバの識別子リストと他エリア内候補サーバの識別子リストを受け取り、前記離情報取得手段から自エリア内各候補サーバ・利用者端末間距離および他エリア内各候補サーバ・利用者端末間距離を取得し、前記重み係数テーブルから自エリア内および他エリア内の各候補サーバの重み係数を取得して、自エリア内および他エリア内の各候補サーバの重み付け評価値を算出する重み付け評価値算出手段と
    前記重み付け評価値算出手段から自エリア内および他エリア内の各候補サーバの重み付け評価値を取得して各候補サーバの優先度を決定し、この優先度の高い順に選択サーバまた選択エリアとして出力する接続サーバ決定手段と
    を有することを特徴とするサーバ選択装置。
  2. 前記エリア負荷情報通知手段は、自エリア内の候補サーバ負荷情報を任意に設定可能な周期に従って取得することを特徴とする請求項に記載のサーバ選択装置。
  3. 前記エリア負荷情報通知手段は、任意に設定可能な周期に従い自エリア内候補サーバの負荷情報を他エリアのサーバ選択装置に通知し、
    前記エリア負荷情報取得手段は、任意に設定可能な周期に従い他エリアのサーバ選択装置から他エリア内候補サーバの負荷情報を取得することを特徴とする請求項に記載のサーバ選択装置。
  4. 複数のエリアに分割されたネットワーク内のあるエリアに設置されており、分散配置された複数の候補サーバの中から利用者端末を接続させるサーバを選択するサーバ選択装置において
    当該サーバ選択装置が設置されているエリアを自エリアと定義し、当該エリア以外のあるエリアを他エリアと定義し、
    用者端末識別子と自エリア内候補サーバの識別子リストと他エリアの別子リストを受け取り、自エリア内各候補サーバ・利用者端末間距離および他エリア・利用者端末間距離を取得する距離情報取得手段と、
    サーバ選択時に用いる重み係数を前記候補サーバ毎に記憶する重み係数テーブルと、
    前記候補サーバの識別子リストを受け取り、各候補サーバの負荷情報を取得するサーバ負荷情報取得手段と、
    前記ーバ負荷情報取得手段を用いて自エリア内の各候補サーバの負荷情報を取得して自エリア全体の負荷情報を算出し、この自エリア負荷情報を他エリアに設置されているサーバ選択装置に通知するエリア負荷情報通知手段と、
    他エリアに設置されているサーバ選択装置から他エリア全体の負荷情報を取得する他エリア負荷情報取得手段と、
    エリア内各候補サーバの負荷情報を前記サーバ負荷情報取得手段から取得し、エリア負荷情報取得手段から他エリア全体の負荷情報を取得し、それら自エリア内の各候補サーバの負荷情報および他エリア全体の負荷情報を考慮して自エリア内の各候補サーバおよび他エリアの重み係数を算出して重み係数テーブルを更新する重み係数更新手段と
    エリア内候補サーバの識別子リストと他エリアの識別子リストを受け取り、前記離情報取得手段から自エリア内各候補サーバ・利用者端末間距離および他エリア・利用者端末間距離を取得し、前記重み係数テーブルから自エリア内の各候補サーバおよび他エリアの重み係数を取得して、自エリア内の各候補サーバおよび他エリアの重み付け評価値を算出する重み付け評価値算出手段と
    記重み付け評価値算出手段から自エリア内の各候補サーバおよび他エリアの重み付け評価値を取得して自エリア内の各候補サーバと他エリアの優先度を決定し、この優先度の高い順に選択サーバまたは選択エリアとして出力する接続サーバ決定手段と
    を有することを特徴とするーバ選択装置。
  5. 前記エリア負荷情報通知手段は、自エリア全体の負荷情報を任意に設定可能な周期に従って取得することを特徴とする請求項に記載のサーバ選択装置。
  6. 前記エリア負荷情報通知手段は、任意に設定可能な周期に従い自エリアの負荷情報を他エリアのサーバ選択装置に通知し、
    前記エリア負荷情報取得手段は、任意に設定可能な周期に従い他エリアのサーバ選択装置から他エリアの負荷情報を取得することを特徴とする請求項に記載のサーバ選択装置。
  7. ネットワークを複数のエリアに分割した場合のあるエリア内に存在する利用者を接続させるサーバを、分散配置された複数の候補サーバから選択するサーバ選択装置であって、
    利用者が属するエリアと当該エリア内利用者を接続させるサーバとの関係を記述したッピングテーブルと、
    利用者端末識別子を受け取り、利用者の属するエリアを特定する置情報取得手段と、
    前記位置情報取得手段で取得した利用者位置情報と前記マッピングテーブルより当該利用者を接続させるサーバを特定する続サーバ決定手段と
    を備えたことを特徴とするサーバ選択装置。
  8. 候補サーバの識別子のリストを受け取り、各候補サーバの負荷情報を取得するーバ負荷情報取得手段と、
    前記ーバ負荷情報取得手段で取得した各候補サーバの荷情報に基づき、他の候補サーバと比較して負荷が大きいサーバを接続サーバとしている利用者従属エリアの接続先サーバを変更するために前記ッピングテーブルを更新するッピングテーブル更新手段と
    を備えたことを特徴とする請求項に記載のサーバ選択装置。
  9. 前記ッピングテーブル更新手段は、前記ッピングテーブルに記載されている各候補サーバと利用者従属エリアの対応関係情報について、候補サーバ識別子リストに記載されている各候補サーバのうち最も利用者従属エリアに近い候補サーバを選択サーバの初期値とし、
    前記ーバ負荷情報取得手段によって取得された負荷が最大のサーバを接サーバに選択している利用者従属エリアについて、他のサーバと当該エリアとの通信コストが最も低くなる候補サーバに接続サーバを変更した場合の通信コスト増加量を求め、この通信コスト増加量が小さいエリアの接続サーバを変更す
    ことを特徴とした請求項に記載のサーバ選択装置。
  10. 複数のエリアに分割されたネットワーク内のあるエリアに設置されており、分散配置された複数の候補サーバの中から利用者端末を接続させるサーバを選択するサーバ選択方法において
    当該サーバ選択装置が設置されているエリアを自エリアと定義し、当該エリア以外のあるエリアを他エリアと定義し、
    用者端末識別子と自エリア内候補サーバの識別子リストと他エリア内候補サーバの識別子リストを受け取り、自エリア内各候補サーバ・利用者端末間距離および他エリア内各候補サーバ・利用者端末間距離を取得する距離情報取得段階と
    サーバ選択時に用いる重み係数を前記候補サーバ毎に重み係数テーブルに記憶する重み係数記憶段階と、
    前記候補サーバ識別子リストを受け取り、各候補サーバの負荷情報を取得するサーバ負荷情報取得段階と、
    前記ーバ負荷情報取得段階を用いて自エリア内の各候補サーバの負荷情報を取得し、それら自エリア内の各候補サーバの負荷情報を他エリアに設置されているサーバ選択装置に通知するエリア負荷情報通知段階と、
    他エリアに設置されているサーバ選択装置から他エリア内の各候補サーバの負荷情報を取得するエリア負荷情報取得段階と、
    エリア内の各候補サーバの負荷情報を前記ーバ負荷情報取得段階により取得し、エリア負荷情報取得段階により他エリア内の各候補サーバの負荷情報を取得し、それら自エリア内および他エリア内の各候補サーバの負荷情報を考慮して自エリア内および他エリア内の各候補サーバの重み係数を算出して重み係数テーブルを更新する重み係数更新段階と
    エリア内候補サーバの識別子リストと他エリア内候補サーバの識別子リストを受け取り、前記離情報取得段階により自エリア内各候補サーバ・利用者端末間距離および他エリア内各候補サーバ・利用者端末間距離を取得し、前記重み係数テーブルから自エリア内および他エリア内の各候補サーバの重み係数を取得して、自エリア内および他エリア内の各候補サーバの重み付け評価値を算出する重み付け評価値算出段階と
    み付け評価値算出段階により自エリア内および他エリア内の各候補サーバの重み付け評価値を取得して各候補サーバの優先度を決定し、この優先度の高い順に選択サーバまたは選択エリアとして出力する接続サーバ決定段階と
    を有することを特徴とするサーバ選択方法。
  11. 前記エリア負荷情報通知段階は、自エリア内の候補サーバ負荷情報を任意に設定可能な周期に従って取得することを特徴とする請求項10に記載のサーバ選択方法。
  12. 前記エリア負荷情報通知段階は、任意に設定可能な周期に従い自エリア内候補サーバ負荷情報を他エリアのサーバ選択装置に通知し、
    前記他エリア負荷情報取得段階は、任意に設定可能な周期に従い他エリアのサーバ選択装置から他エリア内候補サーバ負荷情報を取得す
    ことを特徴とする請求項10に記載のサーバ選択方法。
  13. 複数のエリアに分割されたネットワーク内のあるエリアに設置されており、分散配置された複数の候補サーバの中から利用者端末を接続させるサーバを選択するサーバ選択方法において
    当該サーバ選択装置が設置されているエリアを自エリアと定義し、当該エリア以外のあるエリアを他エリアと定義し、
    用者端末識別子と自エリア内候補サーバの識別子リストと他エリアの識別子リストを受け取り、自エリア内各候補サーバ・利用者端末間距離および他エリア・利用者端末間距離を取得する距離情報取得段階と
    サーバ選択時に用いる重み係数を前記候補サーバ毎に重み係数テーブルに記憶する重み係数記憶段階と、
    前記候補サーバ識別子リストを受け取り、各候補サーバの負荷情報を取得するサーバ負荷情報取得段階と、
    ーバ負荷情報取得段階を用いて自エリア内の各候補サーバの負荷情報を取得して自エリア全体の負荷情報を算出し、この自エリア負荷情報を他エリアに設置されているサーバ選択装置に通知するエリア負荷情報通知段階と、
    他エリアに設置されているサーバ選択装置から他エリア全体の負荷情報を取得する他エリア負荷情報取得段階と、
    エリア内の各候補サーバの負荷情報を前記ーバ負荷情報取得段階により取得し、エリア負荷情報取得段階により他エリア全体の負荷情報を取得し、それら自エリア内の各候補サーバの負荷情報および他エリア全体の負荷情報を考慮して自エリア内の各候補サーバおよび他エリアの重み係数を算出して重み係数テーブルを更新する重み係数更新段階と
    エリア内候補サーバの識別子リストと他エリアの識別子リストを受け取り、前記離情報取得段階により自エリア内各候補サーバ・利用者端末間距離および他エリア・利用者端末間距離を取得し、み係数更新段階により更新された前記重み係数テーブルから自エリア内の各候補サーバおよび他エリアの重み係数を取得して、自エリア内の各候補サーバおよび他エリアの重み付け評価値を算出する重み付け評価値算出段階と、
    み付け評価値算出段階により自エリア内の各候補サーバおよび他エリアの重み付け評価値を取得して自エリア内の各候補サーバと他エリアの優先度を決定し、この優先度の高い順に選択サーバまたは選択エリアとして出力する接続サーバ決定段階と
    を有することを特徴とするサーバ選択方法。
  14. 前記エリア負荷情報通知段階は、自エリア全体の負荷情報を任意に設定可能な周期に従って取得することを特徴とする請求項13に記載のサーバ選択方法。
  15. 前記エリア負荷情報通知段階は、任意に設定可能な周期に従い自エリア負荷情報を他エリアのサーバ選択装置に通知し、
    前記エリア負荷情報取得段階は、任意に設定可能な周期に従い他エリアのサーバ選択装置から他エリアの負荷情報を取得することを特徴とする請求項13に記載のサーバ選択方法。
  16. ネットワークを複数のエリアに分割した場合のあるエリア内に存在する利用者を接続させるサーバを、分散配置された複数の候補サーバから選択するサーバ選択方法であって、
    利用者が属するエリアと当該エリア内利用者を接続させるサーバとの関係をッピングテーブルに記述する段階と、
    利用者端末識別子を受け取り、利用者の属するエリアを特定する置情報取得段階と、
    前記置情報取得段階で取得した利用者位置情報と前記ッピングテーブルより当該利用者を接続させるサーバを特定する続サーバ決定段階と
    を有することを特徴とするサーバ選択方法。
  17. 候補サーバの識別子のリストを受け取り、各候補サーバ負荷情報を取得するーバ負荷情報取得段階と、
    前記ーバ負荷情報取得段階で取得した各候補サーバ負荷情報に基づき、他の候補サーバと比較して負荷が大きいサーバを接続サーバとしている利用者従属エリアの接続先サーバを変更するために前記ッピングテーブルを更新するッピングテーブル更新段階と
    を備えたことを特徴とする請求項16に記載のサーバ選択方法。
  18. 前記ッピングテーブル更新段階は、前記ッピングテーブルに記載されている各候補サーバと利用者従属エリアの対応関係情報について、候補サーバ識別子リストに記載されている各候補サーバのうち最も利用者従属エリアに近い候補サーバを選択サーバの初期値とし、
    前記ーバ負荷情報取得段階によって取得された負荷が最大のサーバを接サーバに選択している利用者従属エリアについて、他のサーバと当該エリアとの通信コストが最も低くなる候補サーバに接続サーバを変更した場合の通信コスト増加量を求め、この通信コスト増加量が小さいエリアの接続サーバを変更す
    ことを特徴とした請求項17に記載のサーバ選択方法。
  19. ネットワークを複数のエリアに分割した場合のあるエリア内に存在する利用者を接続させるサーバを、分散配置された複数の候補サーバから選択するようにコンピュータに機能させるサーバ選択プログラムであって、
    利用者が属するエリアと当該エリア内利用者を接続させるサーバとの関係を記述するッピングテーブルと、
    利用者端末識別子を受け取り、利用者の属するエリアを特定する置情報取得手段と、
    前記置情報取得段階で取得した利用者位置情報と前記ッピングテーブルにより当該利用者を接続させるサーバを特定する続サーバ決定手段と
    してコンピュータを機能させることを特徴とするサーバ選択プログラム。
  20. 請求項19に記載の前記サーバ選択プログラムを記録した記録媒体。
JP2001178590A 2001-06-13 2001-06-13 サーバ選択装置、方法、プログラム及び該プログラムを記録した記録媒体 Expired - Fee Related JP3698073B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001178590A JP3698073B2 (ja) 2001-06-13 2001-06-13 サーバ選択装置、方法、プログラム及び該プログラムを記録した記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001178590A JP3698073B2 (ja) 2001-06-13 2001-06-13 サーバ選択装置、方法、プログラム及び該プログラムを記録した記録媒体

Publications (2)

Publication Number Publication Date
JP2002374290A JP2002374290A (ja) 2002-12-26
JP3698073B2 true JP3698073B2 (ja) 2005-09-21

Family

ID=19019265

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001178590A Expired - Fee Related JP3698073B2 (ja) 2001-06-13 2001-06-13 サーバ選択装置、方法、プログラム及び該プログラムを記録した記録媒体

Country Status (1)

Country Link
JP (1) JP3698073B2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2003211955A1 (en) 2003-02-13 2004-09-06 Fujitsu Limited Transmission system, distribution route control device, load information collection device, and distribution route control method
WO2005006671A1 (ja) 2003-07-09 2005-01-20 Fujitsu Limited ネットワークにおける特定サービスの最適ルーティング方法並びに同ネットワークに用いられるサーバ及びルーティングノード
US7617303B2 (en) * 2004-04-27 2009-11-10 At&T Intellectual Property Ii, L.P. Systems and method for optimizing access provisioning and capacity planning in IP networks
JP4190455B2 (ja) 2004-05-11 2008-12-03 富士通株式会社 負荷分散装置及びプログラム
JP4715388B2 (ja) * 2005-08-24 2011-07-06 ブラザー工業株式会社 情報配信システム、情報配信方法、情報配信システムに含まれるノード装置および情報処理プログラム
US8340673B2 (en) 2006-05-31 2012-12-25 Alcatel Lucent Call delivery to a dual mode wireless device
US9083722B2 (en) * 2007-10-05 2015-07-14 Qualcomm Incorporated Session initiation protocol registration with ping
JP5470720B2 (ja) * 2008-03-07 2014-04-16 日本電気株式会社 イベント処理システムおよびイベント処理方法
US8433814B2 (en) * 2009-07-16 2013-04-30 Netflix, Inc. Digital content distribution system and method
JP6167587B2 (ja) 2013-03-21 2017-07-26 富士通株式会社 通信装置、通信ネットワークシステム、通信装置におけるコンテンツサーバ選択方法
JP6368699B2 (ja) * 2015-12-09 2018-08-01 日本電信電話株式会社 負荷分散装置および負荷分散方法
JP2018129718A (ja) * 2017-02-09 2018-08-16 日本電気株式会社 管理サーバ、通信システム、管理サーバの制御方法、及びプログラム

Also Published As

Publication number Publication date
JP2002374290A (ja) 2002-12-26

Similar Documents

Publication Publication Date Title
Jamin et al. Constrained mirror placement on the Internet
Seshan et al. SPAND: Shared passive network performance discovery
KR100255626B1 (ko) 클러스터의 경계를 지나서 착신 메시지를 라우팅하는 방법 및 게이트웨이
US6505254B1 (en) Methods and apparatus for routing requests in a network
US8503310B2 (en) Technique for policy conflict resolution using priority with variance
CA2399526C (en) Method for high-performance delivery of web content
US7773536B2 (en) Method and apparatus for the assessment and optimization of network traffic
US6728748B1 (en) Method and apparatus for policy based class of service and adaptive service level management within the context of an internet and intranet
US9497259B1 (en) Point of presence management in request routing
US6914886B2 (en) Controlling traffic on links between autonomous systems
US6671259B1 (en) Method and system for wide area network load balancing
US8819280B1 (en) Network traffic load balancing system using IPV6 mobility headers
US10015237B2 (en) Point of presence management in request routing
US8239514B2 (en) Managing content delivery network service providers
CN102845027B (zh) 用于在diameter节点处提供优先级路由的方法、系统和装置
US8089972B2 (en) Registration redirect server
US6154776A (en) Quality of service allocation on a network
US7443847B1 (en) Stateful failover of service managers
US7336613B2 (en) Method and apparatus for the assessment and optimization of network traffic
US7890656B2 (en) Transmission system, delivery path controller, load information collecting device, and delivery path controlling method
CA2741895C (en) Request routing and updating routing information utilizing client location information
US7165116B2 (en) Method for network discovery using name servers
US8321588B2 (en) Request routing utilizing client location information
US8755283B2 (en) Synchronizing state among load balancer components
US7096263B2 (en) Method for predicting file download time from mirrored data centers in a global computer network

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050323

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050405

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050519

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: 20050614

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050627

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080715

Year of fee payment: 3

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090715

Year of fee payment: 4

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090715

Year of fee payment: 4

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100715

Year of fee payment: 5

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100715

Year of fee payment: 5

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110715

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees