JP2005184165A - トラフィック制御装置およびそれを用いたサービスシステム - Google Patents

トラフィック制御装置およびそれを用いたサービスシステム Download PDF

Info

Publication number
JP2005184165A
JP2005184165A JP2003418905A JP2003418905A JP2005184165A JP 2005184165 A JP2005184165 A JP 2005184165A JP 2003418905 A JP2003418905 A JP 2003418905A JP 2003418905 A JP2003418905 A JP 2003418905A JP 2005184165 A JP2005184165 A JP 2005184165A
Authority
JP
Japan
Prior art keywords
client
request
traffic control
server
service
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.)
Pending
Application number
JP2003418905A
Other languages
English (en)
Inventor
Akihisa Nagami
明久 永見
Yukio Ogawa
祐紀雄 小川
Masahiko Nakahara
雅彦 中原
Daisuke Yokota
大輔 横田
Koji Kamioka
功司 上岡
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2003418905A priority Critical patent/JP2005184165A/ja
Priority to EP20040005843 priority patent/EP1545093B1/en
Priority to US10/797,619 priority patent/US20050138626A1/en
Priority to DE200460010224 priority patent/DE602004010224T2/de
Publication of JP2005184165A publication Critical patent/JP2005184165A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1023Server selection for load balancing based on a hash applied to IP addresses or costs

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)
  • Telephonic Communication Services (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】
クライアントのネットワーク特性が多様な状況下で、サーバのスループットを維持し、かつサーバがダウンしないようにする。さらに、アクセス集中時に、クライアントが不確定な長時間サービス待ちの状態にならないようなサービスの提供を可能にする。
【解決手段】
クライアントからサーバへの要求を、トラフィック制御装置を経由して行い、トラフィック制御装置は、クライアントからの要求を制御する手段とクライアントのデータ受信能力を判定する手段とサーバに対する同時接続数を制御する手段を持つ。これにより、サーバのリソースを十分に利用できるように、かつ、サーバの性能以上に要求を転送しないように、サーバの同時接続数を制御する。
クライアントに対しては、要求のあったサービスの提供にある一定時間以上かかることが予想される場合には、要求を拒否し、ある一定時間以内にサービスが提供できることが予想された場合には、要求を受け付ける。
【選択図】 図3

Description

本発明は、クライアント装置とサーバ装置データ通信中継システムを用いたクライアント装置とサーバ装置間のデータ通信方法と、それを用いたサーバアクセスのサービスに関する。
近年のインターネットの急速な普及に伴い、インターネットへのアクセス方法が多様化してきている。
アクセス網のブロードバンド化を背景に、広帯域、低遅延なネットワークを介した高性能なPCからのサーバアクセスが増加する一方、携帯電話によるWebアクセスやPHS網を利用したPDAなどからのWebアクセスなど、遅延が大きく、帯域の狭いネットワークを介した、性能の低い機器からのアクセスも増加している。
従来、WebサーバやFTPサーバでは、サーバ装置(以下、サーバという)にアクセスが集中して、サービスがダウンしたり性能が低下したりすることを防ぐため、クライアント装置(以下、クライアントという)との同時接続数を制限し、運用していた(例えば、特許文献1参照)。
このWebサーバへのアクセスで利用される通信プロトコルであるHTTP (Hypertext Transfer Protocol) の詳細および使い方については、非特許文献1に詳しく説明されている。
米国特許出願公開第2003/0028616号明細書
R. Fielding, UC Irvine, J. Gettys, Compaq/W3C, J. Mogul, Compaq, H. Frystyk, W3C/MIT, L. Masinter, Xerox, P. Leach, Microsoft, T. Berners-Lee, W3C/MIT著、"Hypertext Transfer Protocol -- HTTP/1.1", [online], 1999月6月, IETF, インターネット<URL:http://www.ietf.org/rfc/rfc2616.txt>
従来のインターネット環境では、クライアントのネットワーク環境に大差はなく、サーバがダウンすることを防ぐためにはクライアントとの同時接続数を制限するだけで十分であった。しかし、上述のようなインターネット環境の変化により、次のような問題が発生している。
PDAや携帯電話など帯域の狭いネットワークを介したクライアントからのアクセスが集中した場合には、一つ一つのクライアントに対する負荷は高くないが、サーバでの処理時間が長くなるため、サーバの最大同時接続数は大きく設定しないと性能を十分に活用することができない。一方、光ファイバー網に接続している高性能なPCからのアクセスが集中した場合には、ネットワーク遅延も、クライアントの受信遅延も小さいため、一つ一つのクライアントに対する処理負荷が高く、サーバでの同時接続数を大きく設定しているとサーバが停止してしまうことがある。 このように、クライアントの性能差が広がったことで、クライアントとの同時接続数の制限だけではサーバの停止を防止することは難しくなってきている。
また、サーバに接続してサービス要求を送信してからサービスを受けるまでの時間もサーバの負荷状態によりさまざまであり、サーバに接続したものの、なかなかサービスを受けられないといった状況が発生していた。
このため、サーバによるサービス提供を、レベルを下げることなく、より安定して行える技術が求められている。
本発明は、クライアントのネットワーク特性を考慮してサーバとの同時接続数を制御し、サーバを安定して稼働させる技術を提供する。
また、サービス要求に対する応答時間を推定し、サービスを提供するためにある一定時間以上の時間が必要と予測する要求に関しては、アクセス規制メッセージを即座に応答し、利用者に不確定な長時間、サービスを待たせない技術を提供する。
具体的な本発明の一態様においては、まず、クライアントからのサーバへのアクセスにおいて、データ処理をしながら中継処理を行うトラフィック制御装置をサーバとクライアントの間に設ける。この構成において、クライアントからサーバへアクセスする際、トラフィック制御装置が、クライアントからの要求を受け付け、サーバへ要求を転送し、サーバはクライアントから要求されたサービスを提供する。
本発明によるトラフィック制御装置の特徴的な動作は以下のとおり。
すなわち、トラフィック制御装置は、サーバからの応答をクライアントに転送する際、クライアントのデータ受信能力を推定しつつ応答の転送を行う。
また、トラフィック制御装置は、クライアントからの要求を受け付ける際、要求された宛先に対するサービスを提供できるまでにかかる時間を推定し、ある一定以上時間が必要な場合には、アクセス拒否を行う。これにより、クライアントは不確定な長時間、サービス提供を待たなければならないということがなくなる。
また、トラフィック制御装置は、クライアントからの要求をキューイングするための手段を持ち、クライアントから受け付けた要求のサーバへの転送タイミングを制御することができる。
また、トラフィック制御装置は、クライアントからの要求をサーバに転送する際、サーバのデータ送信能力とクライアントのデータ受信能力に応じてサーバに対する同時接続数を制御する。
本発明によれば、過剰に要求が到達してサーバが停止することはなく、また、アクセス制限によりスループットが低下することもなくなり、クライアントに対するサービスレベルが低下することを防ぐことができる。これにより、サーバに対する投資を抑えることができるとともに、安定性を向上することができる。
また、サーバの提供するサービスの処理スループットを向上させることができる。
さらに、要求を受け付けたクライアントに対しては、不確定な長時間待たせる可能性を低くすることができる。
図1は、本実施例のデータ通信装置を使ったシステムの構成図である。
本実施例では、各クライアント装置(1)と各サーバ装置(2)は1台以上のトラフィック制御装置(3)を介して通信路(4)で接続した構成とする。トラフィック制御装置(3)は、クライアント装置(1)とサーバ装置(2)間のデータ通信を中継する。すなわち、クライアント装置(1)からサーバ装置(2)へのサービス要求(50)は、必ず、トラフィック制御装置(3)を介して送られ、サーバ装置(2)からクライアント装置(1)への応答(60)も、トラフィック制御装置(3)を介して行われる。なお、ここでいう通信路(4)とは、必ずしも物理的な通信回線に一致する必要はなく、物理的な通信回線上で実現された論理的な通信経路であってよい。
図2は、本実施例に関わるクライアント装置(1)、サーバ装置(2)、トラフィック制御装置(3)、各装置の物理的な一構成例を示す。これらの装置は、図2に示すとおり、物理的には一般的な情報処理装置でよい。具体的には、各装置情報処理装置は、例えば、プロセッサ(101)、メモリ(102)、外部記憶装置(103)、通信装置(104)、オペレータ入出力装置(105)がバスなどの内部通信線(106)で接続した形で構成する。
各装置のプロセッサ(101)は、メモリ(102)に格納された情報処理プログラム(108)を実行することにより、以下の実施例において説明する処理を実現する。
メモリ(102)は、情報処理プログラム(108)以外にも、情報処理プログラム(108)から参照される各種データも保持する。
外部記憶装置(103)は、情報処理プログラム(108)や各種データを不揮発な形で保持する。プロセッセ(101)は情報処理プログラム(108)を実行することにより、外部記憶装置に指示して、必要なプログラムやデータをメモリ(102)にロードしたり、逆に、メモリ(102)上の情報処理プログラム(108)やデータを外部記憶装置(103)に格納したりする。情報処理プログラム(108)は、予め外部記憶装置(103)に格納されていても良い。または必要に応じて、情報処理装置が利用可能な、可搬型記憶媒体や、通信媒体すなわち通信回線または通信回線を伝搬する搬送波、を介して、外部の装置から導入されても良い。
通信装置(104)は、通信回線(107)に接続し、情報処理プログラム(108)の指示により、他の情報処理装置や通信機器にデータを送信したり、逆に、他の情報処理装置や通信機器から、データを受信して、メモリ(102)に格納する。装置間の論理的な通信路(4)は、本通信装置を介し、物理的な通信回線(107)を通して実現される。
オペレータ入出力装置(105)は、文字通り、オペレータとの間でデータ入出力を行う。
内部通信線(106)は、プロセッサ(101)、メモリ(102)、外部記憶装置(103)、通信装置(104)、オペレータ入出力装置(105)が互いに通信を行うためのものであって、たとえばバスで構成する。
クライアント装置(1)、サーバ装置(2)、データ通信中継システム(3)は、必ずしも物理的に異なった構成にする必要はなく、それぞれの機能の違いは、各装置上で実行する情報処理プログラム(108)で実現する形でよい。
以下では、実施例を説明する際、処理部という言葉で、本実施例中の構成要素を説明するが、各処理部は、論理的な構成を示すものであり、物理的装置で実現しても、情報処理プログラム(108)が実行されることにより実現された一機能であってもいずれでもよい。また、クライアント装置(1)、サーバ装置(2)、トラフィック制御装置(3)も、それぞれ独立した物理的な装置である必要はなく、1つの装置において実現されてもよい。さらに、それぞれの各処理部が1つの装置で構成されている必要は無く、異なる装置に分散して実現されていてもよい。
図3は本実施例のトラフィック制御装置(3)の一構成図である。
本実施例のトラフィック制御装置(3)は、クライアント装置(1)からの要求(50)の受信を行う要求受信部(21)、要求(50)をサーバ装置(2)へ送信する要求送信部(22)、クライアント装置(1)のアドレスからクライアント能力を決定するクライアント能力ランク部(23)、クライアント装置(1)からの要求をキューに入れて管理するアクセス管理部(24)、サーバ装置(2)からの応答(60)を受信する応答受信部(25)、クライアント装置(1)へ応答(60)を送信する応答送信部(27)、クライアント装置(1)のデータ受信能力を測定するクライアント能力測定部(26)と、クライアント装置(1)からの要求を管理するキュー管理表(31)、サーバ装置(2)に対するアクセス状況を管理するアクセス管理表(32)、クライアント装置(1)の受信能力を管理するクライアントデータ受信能力表(33)を備える。
さらに、サーバ装置(1)側のネットワークを観測し、応答(60)が送信された時刻を測定するサーバ側クライアント能力測定部(28)とクライアント装置(1)側のネットワークを観測し、応答(60)が受信された時刻を測定するクライアント側クライアント能力測定部(29)を備えてもよい。
図11は、本実施例の要求キュー管理表(31)の一構成例を示す。要求キュー管理表(31)は、宛先フィールド(3102)をキーとする表で、同宛先フィールド(3102)で示された特定の宛先への要求のキュー管理のために使用する。
本実施例の要求キュー管理表(31)の各エントリ(3101)は、宛先フィールド(3102)の他、キューイングしている要求の数を表すキュー中の要求数フィールド(3103)、宛先フィールド(3102)のサービスの最大の待ち時間を表す最大待ち時間フィールド(3104)、応答時間の平均を表す応答時間平均フィールド(3105)、応答時間の平均を算出するために必要な応答時間総和フィールドと(3106)応答時間処理数フィールド(3107)と、要求(50)をリンクリストで管理する要求リンクリストフィールド(3108)を含む。 宛先フィールド(3102)と、最大待ち時間フィールド(3104)は、予めオペレータが予め設定する。
図12は、本実施例のアクセス管理表(32)の一構成例を示す。アクセス管理表(32)は、宛先フィールド(3202)をキーとする表で、同宛先フィールド(3202)で示された特定の宛先へのアクセス状況を管理するために使用する。
本実施例のアクセス管理表(32)の各エントリ(3201)は、宛先フィールド(3202)の他、その宛先サーバの能力を表す宛先サーバ能力フィールド(3203)、現在接続中のクライアントの転送能力を表すクライアント能力の和フィールド(3204)、サーバに対して同時に接続できるクライアントの許容最大数を表す最大接続数フィールド(3205)、現在接続中のクライアントの数を表す現在の接続数フィールド(3206)を含む。 宛先フィールド(3202)と、宛先サーバ能力フィールド(3203)と、最大接続数フィールド(3205)は、予めオペレータが設定する。
図13は、本実施例のクライアントデータ受信能力表(33)の一構成例を示す。クライアントデータ受信能力表(33)は、クライアントのアドレス(3302)をキーとする表で、同クライアントアドレスフィールド(3302)で示された特定のクライアントのデータ受信能力を管理するために使用する。
本実施例のクライアントデータ受信能力表(33)の各エントリ(3301)は、クライアントアドレスフィールド(3302)の他、クライアントのデータ受信能力をあらわすクライアントデータ受信能力フィールド(3303)、データ受信能力を算出するために用いるデータ送信開始時刻、データ受信完了時刻、データサイズを表す送信開始時刻フィールド(3304)、受信完了時刻フィールド(3305)、データサイズフィールド(3306)を含む。
図14は、宛先サーバアドレス(51)と要求サービス名(52)とからなる、要求(50)の一構成例を示す。
図4は、本実施例のトラフィック制御装置(3)が、クライアント装置が送信した要求(50)をサーバ装置(2)に転送する処理フローを示す。
クライアント装置(1)が、トラフィック制御装置(3)経由で宛先サーバ装置(2)へのサービス要求を送信する。(処理1001)このとき、クライアント装置(1)自身がトラフィック制御装置(3)を意識して、トラフィック制御装置(3)宛で送信してもよいし、クライアント装置(1)は意識せず、データ通信を中継するルータ等が、宛先サーバ装置(2)宛の要求(50)をトラフィック制御装置(3)に転送してもよい。
トラフィック制御装置(3)の要求受信部(21)は、クライアント装置(1)からのサービス要求(50)を受付け受信する(処理1002)。
要求受信部(21)は、受信した要求を解析し、クライアントアドレス、宛先サーバアドレス(51)、要求サービス名(52)を特定する(処理1003)。
クライアント能力ランク部(23)は、クライアントアドレスをキーにクライアントデータ受信能力表(33)を検索する。エントリがあればそのエントリのクライアントデータ受信能力フィールド(3303)の値を要求受信部(21)に返す。対応するエントリがない場合には、各フィールドはデフォルト値と同じ物を用いて新しくエントリを作成し追加する(処理1004)。
要求受信部(21)は、要求(50)をクライアントデータ受信能力(3303)とともにアクセス管理部(24)に送信する(処理1005)。
アクセス管理部(24)は、受信した要求(50)に対応するエントリを求めてアクセス管理表(32)を検索する。対応するエントリがない場合には、各フィールドはデフォルト値と同じ物を用いて新しくエントリを作成し追加する(処理1006)。
アクセス管理部(24)は、処理1006で得たエントリの情報を元に宛先サーバ装置(2)にアクセス可能か判定する(処理1007)。
処理1007の結果アクセス可能な場合には、アクセス管理部(24)は、対応するアクセス管理エントリ(3201)のクライアント能力の和フィールド(3204)の値に現在処理中のクライアントの能力値を加算する。また、現在の接続数フィールド(3206)の値を1増加する。その後、要求(50)を要求送信部(22)に送信する(処理1011)。
要求送信部(22)は、受信した要求(50)をサーバ装置(2)に送信する(処理1012)。
処理1012の後で、クライアントに対して処理時間を提示するため、クライアントに対してHTTPのchunk形式などで応答のコンテンツの先頭として宛先の最大待ち時間フィールド(3104)の値を返信してもよい。ただし、この処理は宛先がHTMLなどのテキストコンテンツに限る。
サーバ装置(2)はサービス要求(50)を受信し、サービスのための処理を開始する(処理1013)。
処理1007の結果アクセス不可の場合には、アクセス管理部(24)は、要求キュー管理表(31)を参照し、キューイング可能か判定する(処理1008)。
処理1008の結果キューイング可能な場合には、要求(50)に対応する宛先のエントリの要求リンクリストフィールド(3108)に要求を追加し、キューの中の要求数フィールドの値を1増加する(処理1010)。
処理1008の結果キューイング不可の場合には、クライアント装置(2)に対してアクセス規制のメッセージを応答する(処理1009)。
図5と図6は、本実施例のトラフィック制御装置(3)がサーバ装置(2)が送信した応答(60)をクライアント装置(1)に転送する処理フローを示す図である。
図5において、サーバ装置(2)は要求されたサービスに対する処理を終え、サービスをクライアント装置(1)に提供するため、応答(60)を送信する(処理1101)。
トラフィック制御装置(3)の応答受信部(25)は、サーバ装置(2)が送信する応答(60)を受信する(処理1102)。
クライアント能力測定部(26)は、サーバ装置(2)が応答(60)の送信を開始した時刻を取得する。この取得の方法は、応答受信部(25)が応答(60)を受信した時間により取得する。ただし、サーバ側クライアント能力測定部(28)が、トラフィック制御装置(3)とサーバ装置(2)との通信路(4)を観測している場合には、サーバ側クライアント能力測定部(28)がサーバ装置(2)が応答(60)を送信し始めた時刻を決定し、クライアント能力測定部(26)に通知してもよい。クライアント能力測定部(26)は、応答(60)の送信開始時刻を取得し、クライアントデータ受信能力表(33)のクライアントアドレスに対応するエントリ(3301)の送信開始時刻フィールド(3304)の値が設定されていなければ、取得した値を設定する(処理1103)。送信開始時刻フィールド(3304)は、例えば、応答(60)の先頭をクライアントに送信したときに設定するため、先頭を送信するまでは設定されていない。
応答受信部(25)は、応答(60)を応答送信部(27)に送信する(処理1104)。
応答送信部(27)は、応答(60)をクライアント装置(1)に送信する(処理1105)。
クライアント装置(1)は、応答(60)を受信し、要求したサービスをうける(処理1106)。
クライアント能力測定部(26)は、クライアント装置(1)が応答(60)の受信を完了した時刻を取得する。この取得の方法は、応答送信部(27)が応答(60)を送信し終わった時刻により取得する。ただし、クライアント側クライアント能力測定部(29)が、トラフィック制御装置(3)とクライアント装置(1)との通信路(4)を観測している場合には、クライアント側クライアント能力測定部(29)がクライアント装置(1)が応答(60)を受信し終えた時刻を決定し、クライアント能力測定部(26)に通知してもよい。クライアント能力測定部(26)は、応答(60)の受信完了時刻を取得し、クライアントデータ受信能力表(33)のクライアントアドレスに対応するエントリ(3301)の受信完了時刻フィールド(3305)の値が設定されていなければ、取得した値を設定する。受信完了時刻フィールド(3305)は、例えば、応答(60)の最後をクライアントに送信し終えたときに設定するため、最後を送信するまでは設定されていない。
さらに、転送した応答(60)のデータサイズを同エントリのデータサイズフィールド(3306)の値に設定する(処理1107)。
クライアント能力測定部(26)は、現在処理中のクライアント装置(1)のデータ受信能力を計算するため、対応するエントリの受信完了時刻フィールド(3305)の値から送信開始時刻フィールド(3304)の値を引き、データサイズフィールド(3306)の値を割り、これをクライアントデータ受信能力フィールド(3303)の値に設定する。この計算が終了したら、送信開始時刻フィールド(3304)、受信完了時刻フィールド(3305)とデータサイズフィールド(3306)の値を消去する。ここで、クライアント能力測定部(26)は、アクセス管理表(32)のクライアント能力の和フィールド(3204)の値を更新してもよい(処理1108)。
処理1107と処理1108は、処理1105のクライアントに対して応答を送信している最中に、オペレータにより設定された時間間隔毎、もしくは設定された送信データサイズ毎に実行してもよい。これにより、クライアント能力の動的な変更が可能になり、ストリーミングのような、セッションが長時間にわたる場合に、そのセッションの途中でクライアント能力を動的に決定することができる。
図6において、応答送信部(27)は、アクセス管理部(24)に送信処理が完了したことを通知する(処理1201)。
アクセス管理部(24)は、応答送信部(27)からの通知を受け、アクセス管理表(32)から応答(60)の送信が完了した要求(50)を削除する(処理1202)。
アクセス管理部(24)は、要求キュー管理表(31)の要求リンクリストフィールド(3108)から該当する要求(50)を削除し、キュー中の要求数フィールド(3103)の値を1減らす。次に、応答時間平均フィールド(3105)を更新するため、応答時間処理数フィールド(3107)を1増加し、応答時間総和フィールド(3106)に、応答時間を足し、応答時間処理数(3107)フィールドの値で割り、応答時間平均フィールド(3105)に設定する(処理1203)。
アクセス管理部(24)は、要求キュー管理表(31)から転送できる次の要求(50)があるかどうかを検索する(処理1204)。
処理1204の結果、転送できる次の要求(50)がなければ、そこで処理を終了する(処理1205)。転送できる次の要求(50)があれば、アクセス管理部(24)は要求キュー管理表(31)の要求リンクリストフィールド(3108)から転送する次の要求(50)を削除し、キュー中の要求数フィールド(3103)の値を1減らす。そして、削除した次の要求(50)を要求送信部(22)に送信する(処理1206)。
要求送信部(22)は、次の要求(50)をサーバ装置(2)に送信する(処理1207)。
サーバ装置(2)は、トラフィック制御装置(3)から送信された次の要求(50)を受信し、サービス提供のための処理を開始する(処理1208)
図7は、処理1004の一実施例を表す処理フロー図である。
クライアント能力ランク部(23)は、要求(50)のクライアントアドレスに対応したエントリを求めて、クライアントデータ受信能力表(33)を検索する(処理1501)。
対応するエントリがあった場合には、クライアントアドレスに対応したエントリ(3301)のデータ受信能力フィールド(3303)の値を返す(処理1502)。
対応するエントリがなかった場合には、クライアントデータ受信能力表(33)に新しいエントリを追加し、各フィールドはデフォルトの値を設定する。そして、デフォルトのエントリのデータ受信能力フィールド(3303)の値を返す(処理1503)。
図8は、処理1006の一実施例を表す処理フロー図である。
アクセス管理部(24)は、要求(50)の宛先に対応したエントリを求めてアクセス管理表(32)を検索する(処理1511)。
対応するエントリがなければ、アクセス管理表(32)に現在の宛先に対する新しいエントリを作成し、各フィールドにデフォルト値を設定する(処理1512)。
その後、対応するエントリから宛先サーバの能力(3203)と現在接続中のクライアント能力の和(3204)と最大接続数(3205)と現在の接続数(3206)を取得する(処理1513)。
処理1511の結果、対応するエントリがあれば、処理1513を行い、処理1006を終了する。
図9は、処理1007の一実施例を表す処理フロー図である。
アクセス管理部(24)は、宛先サーバ能力(3203)がクライアント能力の和(3204)に現在要求(50)を処理しているクライアント装置(1)の能力を加えた値よりも大きいか確認する(処理1521)。
大きくなければ、アクセス不可を返し、処理1007を終了する。
大きければ、設定されている最大接続数(3205)が現在の接続数(3206)と1の和よりも大きいか確認する(処理1522)。
大きくなければ、アクセス不可を返し、大きければ、アクセス可を返して処理1007を終了する。
図10は、処理1008の一実施例を表すフロー図である。
アクセス管理部(24)は、キュー管理表(31)を参照し、現在の要求の宛先に対応するエントリを検索する(処理1531)。
処理1531の結果、対応するエントリがなければ、対応するエントリを新規に作成し、各フィールドにデフォルト値を設定する(処理1532)。その後、アクセス可能を返し、処理1008を終了する。
処理1531の結果、対応するエントリがあれば、応答時間平均フィールド(3105)の値と現在キューに格納されている要求の数を表すキュー中の要求数フィールド(3103)の値の積が、設定されている最大待ち時間フィールド(3104)をこえるか確認する(処理1533)。つまり、要求のリンクリスト(3108)で管理している要求の最大個数(キューの最大長)を、宛先の平均応答時間によって制御することができ、処理の待ち時間が最大待ち時間(3104)を超えそうな場合にはキューに要求を入れない、という制御が可能である。
最大待ち時間を超える場合は、アクセス不可を返し、最大待ち時間を超えない場合は、アクセス可を返して処理1008を終了する。
以上述べたとおり、本実施例によれば、
クライアント装置(1)との通信帯域や伝送遅延が多種多様な状況においても、サーバ装置(2)に対するアクセス数が適切に制御されるため、過剰に要求が到達してサーバ装置(2)がサービス提供が出来なくなることはなく、また、過剰なアクセス制限によりスループットが低下することもなくなり、クライアント装置(1)に対するサービスレベルが低下することを防ぐことができる。
これにより、サーバ装置の性能を十分に発揮することができるため、少ないサーバ装置台数で多くのアクセスに対応することができる。つまり、サーバ装置に対する投資を抑えることができるとともに、サービス提供の安定性を向上することができる。
また、クライアント装置は、受け付けられるか否かにかかわらず、何らかの回答が帰ってくるため、不確定な長時間待たされる可能性が低くなる。さらに、要求が受け付けられ、最大待ち時間フィールド(3104)の値が応答されれば、ある一定時間以下でサービスが提供されることを予想できるようになる。そのため、クライアント装置がサービス要求を何度も実行してサーバの負荷を高めることがなくなる。
従来、サービス提供事業者の見積もり以上にアクセスが集中した場合、サーバ装置に過度に負荷がかかり、サービス提供が不能になるような状況が生じていたが、本実施例を適用することにより、サーバ装置による安定したサービス提供が可能になり、かつアクセス拒否を通知したユーザに対してもサービス提供の機会があるため、サーバ装置の性能を必要以上に高く見積もる必要がなくなる。
次に、クライアント装置(1)のネットワーク特性などのデータ受信能力に応じて優先度を変更する第二の実施例を説明する。
本実施例では、要求キュー管理表(31)を図15のように構成する。
図11の要求のリンクリストフィールド(3108)の代わりに、優先度付き要求のリンクリスト(3110)とクライアントのデータ受信能力がこの値以上ならば優先キューに挿入する基準となる優先しきい値フィールド(3109)を持つ。優先度付き要求のリンクリスト(3110)は、優先して処理を行う優先キュー(3111)と優先しない一般キュー(3112)とからなる。
図4の処理1010で、アクセス管理部(24)が要求キューを要求キュー管理表(31)に登録する際、クライアント装置(1)のデータ受信能力が、優先しきい値フィールド(3109)の値よりも大きければ優先キュー(3111)に追加し、大きくなければ、一般キュー(3112)に追加する。
なお、優先キュー(3111)に追加したときに、アクセス管理表(32)のクライアント能力の和フィールド(3204)の値が宛先サーバ能力フィールド(3203)の値を超えている場合には、一般キュー(3112)のリンクリストから、既に追加した要求(50)を新しい順に削除し、クライアント能力の和フィールド(3204)の値が宛先サーバ能力フィールド(3203)の値より小さくなるようにしてもよい。さらに、削除することにより、アクセス規制のメッセージを、処理1009と同様に応答すればよい。
さらに、図6の処理1204で、転送できる要求があるか検索する際、優先キュー(3111)を先に検索する。優先キュー(3111)に転送できる要求(50)がなければ一般キュー(3112)を検索する。
クライアント装置のネットワーク特性によって処理優先度を変える本実施例によれば、ネットワーク帯域が広いクライアント装置に対する処理を優先して行い、応答の悪いクライアント装置に対する処理を後回しにすることができるため、サーバ装置はサービスのスループットをさらに向上することができる。
本実施例のトラフィック制御装置を使ったシステム構成図。 本実施例に関わるクライアント装置、サーバ装置、トラフィック制御装置の物理構成図。 本実施例のトラフィック制御装置の構成図。 本実施例のトラフィック制御装置での中継処理の流れを示す処理フロー図(その1)。 本実施例のトラフィック制御装置での中継処理の流れを示す処理フロー図(その2)。 本実施例のトラフィック制御装置での通知処理の流れを示す処理フロー図(その3)。 本実施例の処理に関わる図4の処理1004の処理フロー図。 本実施例の処理に関わる図4の処理1006の処理フロー図。 本実施例の処理に関わる図4の処理1007の処理フロー図。 本実施例の処理に関わる図4の処理1008の処理フロー図。 本実施例の要求キュー管理表(31)の構成図。 本実施例のアクセス管理表(32)の構成図。 本実施例のクライアントデータ受信能力表(33)の構成図。 本実施例の要求(50)の構成図。 第二の実施例の要求キュー管理表(31)の構成図。
符号の説明
(1):クライアント装置、(2):サーバ装置、(3):トラフィック制御装置、(4):通信路、(21):要求受信部、(22):要求送信部、(23):クライアント能力ランク部、(24):要求キューイング部、(25):応答受信部、(26):クライアント能力測定部、(27):応答送信部、(28):サーバ側クライアント能力測定部、(29):クライアント側クライアント能力測定部、(31):キュー管理表、(32):アクセス管理表、(33):クライアント受信能力ランク表、(50):要求、(51):宛先サーバアドレス、(52):要求サービス名、(60):応答、(101):プロセッサ、(102):メモリ、 (103):外部記憶装置、(104):通信装置、(105):オペレータ入出力装置、(106):内部通信線、(107):通信回線、(108):情報処理プログラム、(3101):要求キュー管理エントリ、(3102):宛先フィールド、(3103):キュー中の要求数フィールド、(3104):最大待ち時間フィールド、(3105):応答時間平均フィールド、(3106):応答時間総和フィールド、(3107):応答時間処理数フィールド、(3108):要求のリンクリストフィールド、(3109):優先しきい値フィールド、(3110):優先度付き要求のリンクリストフィールド、(3111):優先キュー、(3112):一般キュー、(3201):アクセス管理エントリ、(3202):宛先フィールド、(3203):宛先サーバ能フィールド、(3204):クライアント能力の和フィールド、(3205):最大接続数フィールド、(3206):現在の接続数フィールド、(3301):クライアントデータ受信能力エントリ、(3302):クライアントアドレスフィールド、(3303):クライアントデータ受信能力フィールド、(3304):送信開始時刻フィールド、(3305):受信完了時刻フィールド、(3306):データサイズフィールド。

Claims (14)

  1. サーバ装置に対してサービス要求を発行する複数のクライアント装置と、前記クライアント装置からのサービス要求を受けて、サービスを提供するサーバ装置とからなるサービスシステムにおいて、前記クライアント装置と前記サーバ装置間のトラフィックを制御するトラフィック制御装置であって、
    前記クライアント装置から前記サーバ装置へのサービス要求を受信する手段と、
    前記サービス要求に対して前記サーバ装置から送信される応答を受信する、前記クライアント装置の受信能力に応じて、前記クライアント装置の前記サーバ装置への同時接続数を制御する手段と、
    前記複数のクライアント装置から受信した前記サービス要求について、前記同時接続数に従った前記サーバ装置への中継処理を行う手段と、を備える。
  2. 請求項1のトラフィック制御装置は、
    前記クライアント装置の前記受信能力を測定する手段を備え、
    前記同時接続数を制御する手段は、前記測定結果に基づき制御する。
  3. 請求項1のトラフィック制御装置は、
    前記サーバ装置により提供される前記応答の待ち時間を予測する手段と、
    前記待ち時間が一定以上になる場合には、前記要求を拒否するアクセス規制メッセージを送信する手段を備える。
  4. 請求項1のトラフィック制御装置は、
    前記クライアント装置のデータ受信能力に応じて、前記サーバ装置に前記要求を中継する優先度を変更する手段を備える。
  5. 請求項1のトラフィック制御装置において、
    前記クライアント装置がサービスを受信した時間を観測して、前記クライアント装置のデータ受信能力を算出するクライアント能力測定手段を備える。
  6. 請求項1のトラフィック制御装置において、
    前記サーバ装置が前記応答を送信した時間を観測して、前記クライアント装置のデータ受信能力を算出するクライアント能力測定手段を備える。
  7. 請求項4のトラフィック制御装置において、
    後から受信した要求の優先度が高い場合、すでに前記クライアント装置から受信している要求に対して、アクセス規制を行う手段を備える。
  8. 請求項1に記載のトラフィック制御装置であって、
    前記クライアント装置のデータ受信能力に応じて、前記サーバ装置に中継する前記要求の優先度を変更する手段を備える。
  9. 請求項8に記載のトラフィック制御装置であって、
    前記クライアント装置に対する平均応答時間を一定時間以内にする手段を備える。
  10. 請求項1に記載のトラフィック制御装置であって、
    前記サーバ装置に前記要求を転送する前に、前記クライアント装置に対して、前記要求の最大処理時間を提示する手段を備える。
  11. クライアント装置からのサービス要求を受けてサービスを提供するサーバ装置と、前記クライアント装置と前記サーバ装置間のトラフィックを制御するトラフィック制御装置とからなるサービスシステムであって、
    前記トラフィック制御装置は、
    前記クライアント装置から前記サーバ装置へのサービス要求を受信する手段と、
    前記サービス要求に対して前記サーバ装置から送信される応答を受信する、前記クライアント装置の受信能力に応じて、前記クライアント装置の前記サーバ装置への同時接続数を制御する手段と、
    前記複数のクライアント装置から受信した前記サービス要求について、前記同時接続数に従った前記サーバ装置への中継処理を行う手段と、を備え、
    前記サーバ装置は、前記サービス要求に対する前記応答を、前記トラフィック制御装置へ送信する手段を備える。
  12. 請求項11に記載のサービスシステムであって、
    前記トラフィック制御装置は、
    前記クライアント装置のデータ受信能力に応じて、前記サーバ装置に中継する前記要求の優先度を変更する手段を備える。
  13. 請求項10に記載のサービスシステムであって、
    前記トラフィック制御装置は、
    クライアントに対する平均応答時間を一定時間以内にする手段を備える。
  14. 請求項10に記載のサービスシステムであって、
    前記トラフィック制御装置は、前記サーバ装置に前記要求を転送する前に、前記クライアント装置に対して、前記要求の最大処理時間を提示する手段を備える。
JP2003418905A 2003-12-17 2003-12-17 トラフィック制御装置およびそれを用いたサービスシステム Pending JP2005184165A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2003418905A JP2005184165A (ja) 2003-12-17 2003-12-17 トラフィック制御装置およびそれを用いたサービスシステム
EP20040005843 EP1545093B1 (en) 2003-12-17 2004-03-11 Traffic control apparatus and service system using the same
US10/797,619 US20050138626A1 (en) 2003-12-17 2004-03-11 Traffic control apparatus and service system using the same
DE200460010224 DE602004010224T2 (de) 2003-12-17 2004-03-11 Vorrichtung zur Verkehrssteuerung und entsprechendes Servicesystem

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003418905A JP2005184165A (ja) 2003-12-17 2003-12-17 トラフィック制御装置およびそれを用いたサービスシステム

Publications (1)

Publication Number Publication Date
JP2005184165A true JP2005184165A (ja) 2005-07-07

Family

ID=34510625

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003418905A Pending JP2005184165A (ja) 2003-12-17 2003-12-17 トラフィック制御装置およびそれを用いたサービスシステム

Country Status (4)

Country Link
US (1) US20050138626A1 (ja)
EP (1) EP1545093B1 (ja)
JP (1) JP2005184165A (ja)
DE (1) DE602004010224T2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007125942A1 (ja) * 2006-04-26 2007-11-08 Nippon Telegraph And Telephone Corporation 負荷制御装置およびその方法
JP2009223810A (ja) * 2008-03-18 2009-10-01 Nomura Research Institute Ltd 流量制御装置
US8756093B2 (en) 2007-12-28 2014-06-17 Nec Corporation Method of monitoring a combined workflow with rejection determination function, device and recording medium therefor
US8966492B2 (en) 2008-01-31 2015-02-24 Nec Corporation Service provision quality control device
US9288277B2 (en) 2011-08-01 2016-03-15 Fujitsu Limited Communication device, method for communication and relay system
US10476732B2 (en) 2016-11-28 2019-11-12 Fujitsu Limited Number-of-couplings control method and distributing device

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8321573B2 (en) * 2004-09-17 2012-11-27 Sanyo Electric Co., Ltd. Communications terminal with optimum send interval
US9059867B2 (en) * 2005-03-02 2015-06-16 Cisco Technology, Inc. Technique for selecting a path computation element based on response time delay
JP2006259812A (ja) * 2005-03-15 2006-09-28 Hitachi Ltd 動的キュー負荷分散方法、システム及びプログラム
BRPI0621617A2 (pt) * 2006-05-05 2011-12-13 Thomson Licensing primeira transmissão mais antecipada de taxa normalizada baseada em limiar (nredf) para serviços de carregamento retardado
US9195498B2 (en) * 2007-02-28 2015-11-24 International Business Machines Corporation Supply capability engine weekly poller
US10269056B2 (en) * 2013-03-28 2019-04-23 Rakuten, Inc. Request processing system, request processing method, program, and information storage medium
GB2517408A (en) 2013-07-05 2015-02-25 Blue Prism Ltd System for automating processes
JP5793259B1 (ja) * 2014-04-14 2015-10-14 株式会社日立システムズ 情報処理装置、流量制御パラメータ算出方法、およびプログラム
US10182020B2 (en) 2016-05-31 2019-01-15 Anchorfree Inc. System and method for improving an aggregated throughput of simultaneous connections
GB201702450D0 (en) * 2017-02-15 2017-03-29 Blue Prism Ltd System for optimising distribution of processing an automated process
US10834230B2 (en) 2017-08-25 2020-11-10 International Business Machines Corporation Server request management
GB2590967A (en) 2020-01-10 2021-07-14 Blue Prism Ltd Method of remote access

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6101542A (en) * 1996-07-19 2000-08-08 Hitachi, Ltd. Service management method and connection oriented network system using such management method
US6917971B1 (en) * 1999-12-23 2005-07-12 International Business Machines Corporation Method and apparatus for determining a response time for a segment in a client/server computing environment
US6178160B1 (en) * 1997-12-23 2001-01-23 Cisco Technology, Inc. Load balancing of client connections across a network using server based algorithms
US6606661B1 (en) * 1998-12-23 2003-08-12 At&T Corp. Method for dynamic connection closing time selection
US6725272B1 (en) * 2000-02-18 2004-04-20 Netscaler, Inc. Apparatus, method and computer program product for guaranteed content delivery incorporating putting a client on-hold based on response time
US8380854B2 (en) * 2000-03-21 2013-02-19 F5 Networks, Inc. Simplified method for processing multiple connections from the same client
US7490166B2 (en) * 2000-05-26 2009-02-10 Citrix Systems, Inc. Remote control of a client's off-screen surface
JP2002091936A (ja) * 2000-09-11 2002-03-29 Hitachi Ltd 負荷分散装置及び負荷見積もり方法
US7007092B2 (en) * 2000-10-05 2006-02-28 Juniper Networks, Inc. Connection management system and method
US20030046394A1 (en) * 2000-11-03 2003-03-06 Steve Goddard System and method for an application space server cluster
WO2002078258A2 (en) * 2001-03-08 2002-10-03 Desktop Tv, Inc. Method for data broadcasting
JP4274710B2 (ja) * 2001-06-28 2009-06-10 株式会社日立製作所 通信中継装置
US20030009559A1 (en) * 2001-07-09 2003-01-09 Naoya Ikeda Network system and method of distributing accesses to a plurality of server apparatus in the network system
US20030046383A1 (en) * 2001-09-05 2003-03-06 Microsoft Corporation Method and system for measuring network performance from a server
JP3828444B2 (ja) * 2002-03-26 2006-10-04 株式会社日立製作所 データ通信中継装置及びシステム
US20030195962A1 (en) * 2002-04-10 2003-10-16 Satoshi Kikuchi Load balancing of servers
US9088494B2 (en) * 2002-06-26 2015-07-21 Avaya Communication Israel Ltd. Packet fragmentation prevention

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007125942A1 (ja) * 2006-04-26 2007-11-08 Nippon Telegraph And Telephone Corporation 負荷制御装置およびその方法
CN102684988A (zh) * 2006-04-26 2012-09-19 日本电信电话株式会社 负荷控制装置及其方法
JP5189974B2 (ja) * 2006-04-26 2013-04-24 日本電信電話株式会社 負荷制御装置およびその方法
US8667120B2 (en) 2006-04-26 2014-03-04 Nippon Telegraph And Telephone Corporation Load control device and method thereof for controlling requests sent to a server
CN102684988B (zh) * 2006-04-26 2015-02-11 日本电信电话株式会社 负荷控制装置及其方法
US8756093B2 (en) 2007-12-28 2014-06-17 Nec Corporation Method of monitoring a combined workflow with rejection determination function, device and recording medium therefor
US8966492B2 (en) 2008-01-31 2015-02-24 Nec Corporation Service provision quality control device
JP2009223810A (ja) * 2008-03-18 2009-10-01 Nomura Research Institute Ltd 流量制御装置
US9288277B2 (en) 2011-08-01 2016-03-15 Fujitsu Limited Communication device, method for communication and relay system
US10476732B2 (en) 2016-11-28 2019-11-12 Fujitsu Limited Number-of-couplings control method and distributing device

Also Published As

Publication number Publication date
EP1545093B1 (en) 2007-11-21
DE602004010224D1 (de) 2008-01-03
EP1545093A2 (en) 2005-06-22
EP1545093A3 (en) 2005-10-12
US20050138626A1 (en) 2005-06-23
DE602004010224T2 (de) 2008-10-02

Similar Documents

Publication Publication Date Title
JP2005184165A (ja) トラフィック制御装置およびそれを用いたサービスシステム
JP3904435B2 (ja) Webサービス向け輻輳制御装置及び方法
EP1320237B1 (en) System and method for controlling congestion in networks
JP4758362B2 (ja) 中継装置、プログラム及び中継方法
CN103312807B (zh) 数据传输方法、装置及***
JP2007529072A (ja) キャッシュネットワーク環境におけるダウンロードスケジューリングシステム及び方法
JP6289092B2 (ja) 情報処理装置、その制御方法およびコンピュータプログラム
KR102077883B1 (ko) 데이터 통신 시스템 및 방법
JP2002335268A (ja) パーシステントコネクションの接続
JP2004215116A (ja) Ipルータ、通信システム及びそれに用いる帯域設定方法並びにそのプログラム
WO2012072045A1 (zh) 一种cdn网络中的数据传输方法、网络节点及***
US8239466B2 (en) Local loop for mobile peer to peer messaging
US11606409B1 (en) Optimizing quality of experience (QoE) levels for video streaming over wireless/cellular networks
JP2008059040A (ja) 負荷制御システムおよび方法
EP3416349B1 (en) Data buffering method and apparatus in adaptive streaming service
JP6129526B2 (ja) 通信装置、通信方法およびプログラム
JP2009032083A (ja) 負荷制御装置及び方法及びプログラム
JP4627290B2 (ja) Tcpを用いたレート制御方法、サーバ及びプログラム
Kim et al. Segment scheduling scheme for efficient bandwidth utilization of HTTP adaptive streaming in multipath environments
JP2014522594A (ja) マルチメディア・コンテンツをストリーミングする方法および装置
JP5051280B2 (ja) 通信装置、通信システム、通信方法、及び通信プログラム
JP2004206172A (ja) 通信制御方法および装置
US20110276655A1 (en) Software Applications Incorporating Functionalities Based in Data-Type and Access
JP4692406B2 (ja) 中継通信システム、中継装置及びそれらに用いるセッション別帯域制御方法並びにそのプログラム
JP3628557B2 (ja) 通信品質制御装置および記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050921

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20051214

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060523

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070423

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070522

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070723

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20071012

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071127

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080128

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080722