JP2003283556A - データ通信中継装置及びシステム - Google Patents

データ通信中継装置及びシステム

Info

Publication number
JP2003283556A
JP2003283556A JP2002084748A JP2002084748A JP2003283556A JP 2003283556 A JP2003283556 A JP 2003283556A JP 2002084748 A JP2002084748 A JP 2002084748A JP 2002084748 A JP2002084748 A JP 2002084748A JP 2003283556 A JP2003283556 A JP 2003283556A
Authority
JP
Japan
Prior art keywords
priority
request
information
data communication
communication relay
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
JP2002084748A
Other languages
English (en)
Other versions
JP3828444B2 (ja
Inventor
Takashi Nishikado
隆 西門
Yoshihiro Tanaka
吉廣 田中
Mikisuke Azeyanagi
幹介 畔柳
Hideo Aoki
英郎 青木
Fumio Noda
文雄 野田
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 JP2002084748A priority Critical patent/JP3828444B2/ja
Priority to EP02019472A priority patent/EP1349339A3/en
Priority to US10/231,265 priority patent/US7130912B2/en
Publication of JP2003283556A publication Critical patent/JP2003283556A/ja
Application granted granted Critical
Publication of JP3828444B2 publication Critical patent/JP3828444B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/2871Implementation details of single intermediate entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/564Enhancement of application control based on intercepted application data

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Small-Scale Networks (AREA)

Abstract

(57)【要約】 【課題】クライアントからの要求に対し,サーバがサー
ビスを提供するサービスシステムにおいて、クライアン
トからのアクセスの集中時にも安定したサービスを提供
し、かつ、ある条件で優先したサービスの提供を可能と
する。 【解決手段】クライアントからサーバへの要求を、デー
タ通信中継装置を介して行い、データ通信中継装置は要
求の優先度付きのキューイング手段を持ち、ある優先度
に応じて、要求の中継順序も入れ替える手段を持つ。こ
れにより、サーバへの同時要求数をサーバの処理能力内
に押さえることができ、安定したサービスが提供でき
る。また、利用者、業務、待ち時間等により、ある要求
を優先して処理することが可能となる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データ通信中継装
置を用いたクライアント装置とサーバ装置間のデータ通
信方法に関する。
【0002】
【従来の技術】インターネットが急速に普及し,チケッ
ト予約や銀行・証券取引等、従来営業店窓口で行われて
いたサービスもインターネットを介したWebサーバへの
アクセスという形で提供されるようになってきた。
【0003】このWebサーバへのアクセスで利用される
通信プロトコルであるHTTP(Hypertext Transfer Protoc
ol)の詳細および使い方については、1997年1月発行のRF
C2068「Hypertext Transfer Protocol--HTTP/1.1」に詳
しく説明されている。
【0004】
【発明が解決しようとする課題】しかし、このようなチ
ケット予約や銀行・証券取引等のサービスは、時間によ
るサービス要求の集中が激しい。また、データベースア
クセスが必要なため、処理の分散化が難しく、どうして
もこれらのサービスを行う特定Webサーバにはアクセス
が集中するという問題がある。
【0005】アクセスが集中し負荷が急激に高まると、
一般にWebサーバの処理性能は低負荷時に比べ極端に低
下する。その結果、サービス要求の滞留をさらに拡大さ
せ、最悪の状況では、サービスダウンにまで繋がるとい
う状況が起こっていた。
【0006】また、このようにアクセスが集中した状況
では、すべてのサービス要求が満足に処理できない状況
のため、重要な利用者のサービス要求も、一般の利用者
と同様に区別なく待たされる。しかも、後からサービス
要求しても、偶然サービスされることもあれば、長い間
待ってサービスされないこともある。特に、後者の場
合、利用者は何度も再実行を繰り返し、よりアクセスが
集中し負荷を高める結果となっていた。
【0007】
【課題を解決するための手段】本発明は、特定サーバへ
の負荷の集中による性能低下を抑える技術を提供する。
さらに、利用者の属性に応じたサービス要求の優先処理
を実現する。また、優先処理されないサービス要求に対
しても、不確定で長い待ち時間を削減し、利用者の再実
行回数を削減する技術を提供する。
【0008】本発明は、サーバへのサービス要求の到着
を制御して、サーバに掛かる負荷を制御し、サービスを
スムーズに提供できるようにする技術を提供する。
【0009】本発明の一態様によれば、クライアント装
置とサーバ装置の間に、データ通信を中継するデータ通
信中継装置を設置する。データ通信中継装置は、クライ
アント装置、サーバ装置間のコネクションを中継するコ
ネクション中継手段と、データ通信を中継するデータ中
継手段に加え、要求を一時保留するための要求キューイ
ング手段を持つ。
【0010】要求キューイング手段は、クライアント装
置からのサービス要求を必要に応じてキューイングす
る。すなわち、特定のサーバ装置またはサーバ装置群に
対するクライアント装置からのサービス要求に対して、
同サーバ装置への要求が集中していると判断するときに
は、すぐには同サービス要求を中継せず、一旦キューイ
ングし、同サーバ装置へのサービス要求中継を制御す
る。
【0011】より具体的な本発明の一態様によれば、デ
ータ通信中継装置は、クライアント装置、サーバ装置間
のコネクションを中継するコネクション中継手段と、デ
ータ通信を中継するデータ中継手段に加え、コネクショ
ン管理手段と要求キューイング手段を持つ。コネクショ
ン管理手段は、コネクションの状態を監視し、特定のサ
ーバ装置またはサーバ装置群に対して、現在確立してい
るコネクション数を管理する。コネクションとはクライ
アント装置、サーバ装置間に確立される論理通信路であ
って、当該論理通信路を確立した上で、様々なサービス
が提供されるようになる。
【0012】要求キューイング手段は、クライアント装
置からのサービス要求に伴うコネクション確立要求を必
要に応じてキューイングする。特定のサーバ装置または
サーバ装置群に対するクライアント装置からのコネクシ
ョン確立要求に対しては、同サーバ装置またはサーバ装
置群に既に確立しているコネクション数が、ある最大コ
ネクション数以上になる場合は、すぐには同コネクショ
ン確立要求を中継せず、同コネクション確立要求を一旦
キューイングし、同宛先へのコネクション数が最大コネ
クション数以下になるようにコネクション確立要求中継
を制御する。
【0013】通常、クライアント装置からのサービス要
求に応じて、サーバ装置がサービスを始める場合、ま
ず、上記コネクションを確立する必要がある。上記本発
明の一態様によれば、上記データ通信中継装置は、コネ
クションの確立を制限することにより、サービス要求の
中継を制御する。コネクション数を制御することで、サ
ーバの負荷を制御できるようになる。
【0014】また、要求キューイング手段は、優先度別
に複数のキュー(優先度キューという)を備え、各要求
に割り当てられた優先度に従って、各要求を、対応する
優先度キューに同要求をキューイングする。キューから
要求を取出す際には、優先度の高い優先度キューから要
求を取出し、優先度に従った要求の中継制御を行う。
【0015】要求キューイング手段は、さらに、沈み込
み防止手段を持っていてもよい。沈み込み防止手段は、
例えば、各要求に対し、優先度の高い要求に追い越され
た待ち数情報を保持する。ある要求の待ち数情報が、あ
る最大待ち数を超えた場合、沈み込み防止手段は、ある
優先度以下の要求しかなければ、他に優先度が高い要求
があっても、同要求を先にキューから取出す。
【0016】上記沈み込み防止手段は、待ち数情報の代
わりに、各要求に対し、要求到着時刻情報を保持し、要
求到着時刻からの待ち時間と、ある最大待ち時間との比
較で、優先度の高い要求による沈み込みを防止してもよ
い。さらに、最大待ち数と最大待ち時間との組み合わせ
で実現してもよい。
【0017】要求キューイング手段は、確立可能なコネ
クション数情報を保持し、同情報をもとに、要求の中継
制御を行ってもよい。より具体的には、要求キューイン
グ手段は、優先度キュー毎の現在確立しているコネクシ
ョン数と確立可能な最大コネクション数情報を保持し、
同情報をもとに、要求の中継制御を行ってもよい。すな
わち、キューから要求を取出す時は、各優先度キューに
割り当てられた最大コネクション数以下でかつ優先度の
高い優先度キューから順に要求を取出せばよい。
【0018】要求キューイング手段だけではなくさら
に、データ通信中継装置のデータ中継手段も、各要求に
割り当てられた優先度に従い、中継するデータに優先度
情報を設定するか、あるいは、コネクション中継手段
が、複数の宛先当ての通信路から適当な通信路を選択
し、優先度別のデータ中継を行ってもよい。
【0019】以上の手段により、要求の集中する特定の
サーバ装置での要求の同時実行数を常に一定以下にして
性能劣化を防ぐと共に、利用者の属性等に応じた優先処
理が可能となる。
【0020】なお、各要求の優先度の設定割り当て(マ
ッピングともいう)は、例えば、以下の手段により実現
する。
【0021】たとえば、優先度設定手段は、クライアン
ト装置のアドレス、または、クライアント装置のアドレ
スと宛先サーバ装置のアドレスのペアに対して優先度に
マッピングするテーブルを用意し、同テーブルを用いて
各要求の優先度を求める手段を用いる。
【0022】また、優先度設定手段は、クライアント装
置の要求と共に提供されたクライアント装置の利用者の
認証情報から各要求の優先度へマッピングするテーブル
を用意し、同テーブルを用いて各要求の優先度を求める
手段を用いてもよい。
【0023】さらに、優先度設定手段は、クライアント
装置の要求と共に提供された優先度トークン情報から各
要求の優先度へマッピングする手段を用いてもよい。
【0024】優先度トークン情報は、例えば、宛先のサ
ーバ装置またはサーバ装置群のアドレス情報、優先度情
報を含んでも良い。さらに、必要に応じて、同優先度ト
ークン情報の有効期間情報を含んでも良い。上記優先度
トークン情報を用いた優先度へのマッピング手段は、要
求の宛先サーバ装置のアドレスが、優先度トークン情報
に含まれる宛先のサーバ装置またはサーバ装置群のアド
レス情報に当てはまるかどうか、および/または、有効
期間情報から有効期間内かどうかをなど、設定された条
件をチェックし、条件を満足する場合、優先度トークン
情報の優先度情報に従って、要求の優先度を決定する。
【0025】データ中継装置、または、サーバ装置は優
先度トークン情報返送手段を備え、クライアント装置
は、サーバ装置への要求の返信として、上記優先度トー
クン情報を取得する。クライアント装置は、データ中継
装置またはサーバ装置から返された優先度トークン情報
を使って要求を出す手段を持ち、これによって、優先度
トークン情報を使った要求の優先度制御が行える。
【0026】本発明の他の態様によれば、優先度トーク
ン情報を使った優先度制御を用いることで、優先処理さ
れない利用者に対しても、不確定で長い待ち時間を削減
し、利用者の再実行回数を削減することが可能となる。
そのための手段として、上記データ通信中継装置は、優
先度トークン生成・更新手段と、優先度トークン返送手
段を持つ。
【0027】優先度トークン生成・更新手段は、クライ
アント装置から優先度トークン情報の提供がない場合
は、ある条件で、優先度トークン情報を生成し、クライ
アント装置から優先度トークン情報の提供がある場合
は、ある条件で、該優先度トークンを更新あるいは破棄
する処理を行う。
【0028】優先度トークン返送手段は、優先度トーク
ン生成・更新手段で、生成または更新された優先度トー
クン情報をクライアント装置への応答に付加して返す。
【0029】上記優先度トークン生成・更新手段は、た
とえば、特定の宛先サーバ装置、あるいは、サーバ装置
群毎に対応して保持された最大キューイング数情報を参
照し、同最大キューイング数を超える要求をクライアン
ト装置から受信した場合、通常時より高い優先度にマッ
ピング可能な優先度トークン情報を作成し、優先度トー
クン返送手段は、作成された優先度トークン情報を輻輳
エラー情報と共にクライアント装置に返すように構成す
る。
【0030】また、優先度トークン生成・更新手段は、
特定の宛先サーバ装置、あるいは、サーバ装置群毎に対
応して保持された最大キューイング時間情報を参照し、
同最大キューイング時間を超えると、通常時より高い優
先度にマッピング可能な優先度トークン情報を作成し、
作成された優先度トークン情報を上記優先度トークン返
送手段がタイムアウトエラー情報と共にクライアント装
置に返すように構成してもよい。
【0031】上記優先度トークン生成・更新手段は、通
常時より高い優先度にマッピング可能な優先度トークン
情報を作成する際、所定の期間後以降に有効となるよう
に、上記優先度トークン情報に有効期間を設定してもよ
い。
【0032】さらに、以下の手段により、より高度な優
先度制御を行う方法もある。
【0033】上記優先度トークン情報は、宛先サーバ装
置またはサーバ装置群情報、有効期間情報、優先度情報
に加え、初期生成時の有効期間の初期開始時刻情報、優
先度トークン更新回数情報、サーバ装置へのコネクショ
ン確立回数、トータルコネクション待ち時間情報のいず
れか1つ以上を含んでも良い。
【0034】上記優先度トークン生成・更新手段は、こ
れらの情報を用い、初期開始時刻からのある更新可能期
間内、あるいは、ある最大更新回数、または、ある最大
コネクション確立回数を超えない場合に、優先度トーク
ン情報の更新を行い、同条件を満たさない場合は、新た
な優先度トークン情報を生成するか、優先度トークン情
報を更新せずに廃棄するように構成してもよい。さら
に、所定のコネクション確立回数、または、所定のコネ
クション待ち時間以上、または上記最大キューイング数
を超える場合、より高い優先度へのマッピングを可能と
する優先度情報を作成するように構成してもよい。
【0035】上記優先度トークン生成・更新手段は、優
先度トークン情報を更新または生成可能な場合は、有効
期間情報、更新回数情報、コネクション確立回数情報、
コネクション待ち時間情報を更新あるいは初期設定し、
それらの情報と、作成した優先度情報とから優先度トー
クン情報を作成し、作成された優先度トークン情報を上
記優先度トークン返送手段が要求の応答と共にクライア
ント装置に返すように構成してもよい。
【0036】また、サーバ装置が優先度トークン制御手
段を持ち、優先度トークン生成・更新手段の生成または
更新処理に指示を与えるように構成してもよい。すなわ
ち、サーバ装置の優先度トークン制御手段は、クライア
ント装置に応答を返す際に、優先度トークン情報の生成
・更新の可否および/または優先度変更を指示する優先
度トークン制御情報を応答に付加して返送する。優先度
トークン制御情報を受け、データ通信中継装置の優先度
トークン生成・更新手段は、同制御情報の指示を参照し
て、優先度トークン情報の生成または更新を行う。
【0037】なお、クライアント装置が信頼できないシ
ステムにおいては、優先度トークン返送手段は、優先度
トークン情報をクライアント装置が改竄できないように
暗号化してクライアント装置に返送するように構成して
もよい。
【0038】上記で示した、最大コネクション数、最大
待ち数、最大待ち時間、優先度キュー毎の最大コネクシ
ョン数、有効期間情報、最大キューイング数、最大キュ
ーイング時間、更新可能期間、最大更新回数、最大コネ
クション確立回数、規定コネクション確立回数、規定コ
ネクション待ち時間等の各種パラメータは、コネクショ
ン管理手段が持つパラメータ設定機能により、特定の宛
先サーバ装置またはサーバ装置群に対応してオペレータ
が設定してもよい。
【0039】なお、データ通信中継装置が、さらに、処
理スループット計測手段と、最大コネクション数自動チ
ューニング手段を持ち、特定のサーバ装置あるいはサー
バ装置群毎の最大コネクション数を自動設定するように
構成してもよい。
【0040】この場合、処理スループット計測手段は、
特定のサーバ装置あるいはサーバ装置群毎の単位時間あ
たりの要求処理数を計測し、最大コネクション数の自動
チューニング手段が、同計測値を基に、最大コネクショ
ン数を自動チューニングする。最大コネクション数の自
動チューニング手段は、特定のサーバ装置あるいはサー
バ装置群に対するコネクション数が現在の最大コネクシ
ョン数に達しても、同サーバ装置あるいはサーバ装置群
の単位時間あたりの要求処理数が低下しない場合は、該
サーバ装置あるいはサーバ装置群の最大コネクション数
をある範囲内で増加させ、最大コネクション数設定値付
近では、要求処理数が減少傾向にある場合は、同最大コ
ネクション数値を減少させる。
【0041】以上の構成により、待ち時間や利用回数に
応じて、優先度を一時的に上げたり、一旦、処理を開始
したら、一定期間、優先度を高く処理したりすることが
可能となる。その結果、ある程度以上待てば、比較的迅
速なサービスを受けることが可能となり、不確定な長い
サービス待ちや、不確定な長い待ちに起因する利用者の
再実行操作を抑止できる。
【0042】
【発明の実施の形態】以下、本発明の実施例を図を用い
て説明する。
【0043】図1は、本実施例のデータ通信装置を使っ
たシステムのシステム構成図である。
【0044】本実施例では、各クライアント装置(1)と
各サーバ装置(2)は、1台以上のデータ通信中継装置(3)
を介して通信路(4)で接続した構成をとる。データ通信
中継装置(3)は、クライアント装置(1)とサーバ装置(2)
間のデータ通信を中継する。すなわち、クライアント装
置(1)からサーバ装置(2)へのサービス要求(50)は、必
ず、1つ以上のデータ通信中継装置(3)を介して送ら
れ、サーバ装置(2)からクライアント装置(1)への応答(6
0)も、データ通信中継装置(3)を介して行われる。な
お、ここでいう通信路(4)とは、必ずしも物理的な通信
回線に一致する必要はなく、物理的な通信回線上で実現
された論理的な通信経路であってよい。
【0045】図2は、本実施例に関わるクライアント装
置(1)、サーバ装置(2)、データ通信中継装置(3)、各装
置の物理的な一構成例を示す。これらの装置は、図2に
示すとおり、物理的には一般的な情報処理装置でよい。
具体的には、各装置情報処理装置は、例えば、プロセッ
サ(91)、メモリ(92)、外部記憶機構(93)、通信機構(9
4)、オペレータ入出力機構(95)がバスなどの内部通信線
(96)で接続した形で構成する。プロセッサ(91)は、メモ
リ(92)に格納された情報処理プログラム(100)を実行す
る。メモリ(92)は、情報処理プログラム(100)以外に
も、情報処理プログラム(100)から参照される各種デー
タも保持する。
【0046】外部記憶機構(93)は、情報処理プログラム
(100)や各種データを不揮発な形で保持する。プロセッ
セ(91)上で実行される情報処理プログラム(100)は、外
部記憶機構(93)に指示し、必要なプログラムやデータを
メモリ(92)にロードしたり、逆に、メモリ(92)上のプロ
グラムやデータを外部記憶機構(93)に格納させる。プロ
グラムは、予め外部記憶機構(93)に格納されていても良
い。または必要に応じて、可搬型記憶媒体や通信媒体を
介して、外部の装置から導入されても良い。
【0047】通信機構(94)は、通信回線(97)に接続し、
情報処理プログラム(100)の指示により、他の情報処理
装置や通信機器にデータを送信したり、逆に、他の情報
処理装置や通信機器から、データを受信して、メモリ(9
2)に格納する。装置間の論理的な通信路(4)は、本通信
機構(94)を介し、物理的な通信回線(97)を通して実現さ
れる。
【0048】オペレータ入出力機構(95)は、文字通り、
オペレータとのデータ入出力を行う。内部通信線(96)
は、プロセッサ(91)、メモリ(92)、外部記憶機構(93)、
通信機構(94)、オペレータ入出力機構(95)が互いに通信
を行うためのものであって、たとえばバスで構成する。
【0049】クライアント装置(1)、サーバ装置(2)、デ
ータ通信中継装置(3)は、必ずしも物理的に異なった構
成にする必要はなく、それぞれの機能の違いは、各装置
上で実行する情報処理プログラム(100)で実現する形で
よい。
【0050】以下では、実施例を説明する際、処理部と
いう言葉で、本実施例中の構成要素を説明するが、各処
理部は、論理的な構成を示すものであり、物理的機構で
実現しても、情報処理プログラム(100)で実現された一
機能であってもいずれでもよい。また、クライアント装
置(1)、サーバ装置(2)、データ通信中継装置(3)も、そ
れぞれ独立した物理的な装置である必要はなく、1つの
装置が、クライアント装置(1)、サーバ装置(2)、データ
通信中継装置(3)の複数の装置の機能を同時に実現して
いてもよい。
【0051】図3は、本実施例のデータ通信中継装置
(3)の一構成図である。
【0052】本実施例のデータ通信中継装置(3)は、コ
ネクション中継を行うコネクション中継処理部(11)、デ
ータ通信を中継するデータ中継処理部(12)に加え、コネ
クション管理処理部(13)、要求キューイング処理部(1
4)、優先度マッピング処理部(15)、及び、コネクション
管理テーブル(16)を備える。
【0053】図4は、本実施例のコネクション管理テー
ブル(16)の一構成例を示す。コネクション管理テーブル
(16)は、宛先フィールド(21)をキーとしたテーブルで、
同宛先フィールド(21)で示された特定の宛先のサーバ装
置またはサーバ装置群へのコネクションの管理や、要求
のキューイングのために使用する。本実施例の同コネク
ション管理テーブル(16)の各エントリー(20)は、宛先フ
ィールド(21)の他、中継先フィールド(22)、最大コネク
ション数フィールド(23)、コネクション数フィールド(2
4)、最大キューイング数フィールド(25)、最大待ち時間
フィールド(26)、最大待ち数フィールド(27)、要求キュ
ー(28)を含む。また、オプションとして、後述する優先
度トークン情報の更新条件を示す優先度トークン更新条
件情報(29)も含む。
【0054】宛先フィールド(21)は、コネクション管理
対象の宛先を指定するためのフィールドで、宛先のサー
バ装置またはサーバ装置群のシンボリックなホスト名ま
たはドメイン名、あるいは、IPアドレスまたはIPセ
グメントアドレス等の情報を保持する。中継先フィール
ド(22)は、宛先フィールド(21)で示された管理対象の宛
先への要求の中継先を示す。最大コネクション数フィー
ルド(23)とコネクション数フィールド(24)は、同管理対
象の宛先に対して同時に確立可能な最大コネクション数
と、現在確立されているコネクション数を保持する。最
大コネクション数フィールド(23)で示された値を超えた
同管理対象の宛先に対する要求は、要求キュー(28)にキ
ューイングして処理する。最大キューイング数フィール
ド(25)、最大待ち時間フィールド(26)、最大待ち数フィ
ールド(27)は、要求キュー(28)への要求のキューイング
処理に関するパラメータで、最大キューイング数フィー
ルド(25)は、同管理対象の宛先に対するキューイング可
能な最大要求数を、最大待ち時間フィールド(26)は、後
から到着した優先要求による追い越し待ち時間の最大値
を、最大待ち数フィールド(27)は、後から到着した優先
要求による追い越し待ち数の最大値を保持する。
【0055】コネクション中継処理部(11)は、クライア
ント装置(1)とサーバ装置(2)のコネクションを中継す
る。コネクション中継処理部(11)は、まず、クライアン
ト装置(1)からのサービス要求(50)を受けて、クライア
ント装置(1)とのコネクションを確立する。そして、要
求(50)に含まれる宛先情報(51)に従い、宛先のサーバ装
置(2)に対してコネクションを確立し、コネクションを
中継する。その際、コネクション管理テーブル(16)を参
照し、宛先情報(51)で示された宛先に対応するエントリ
ー(20)が存在する場合は、同エントリー(20)の中継先フ
ィールド(22)の情報に従って中継先を変え、宛先のサー
バ装置(2)、別のサーバ装置(2)、または、別のデータ中
継装置(3)にコネクションを中継する。
【0056】データ中継処理部(12)は、クライアント装
置(1)、サーバ装置(2)間のデータ通信を中継する。デー
タ中継処理部(12)は、コネクション中継処理部(11)によ
り確立されたコネクションを使用し、クライアント装置
(1)から受信した要求(50)をサーバ装置(2)に中継する。
そして、サーバ装置(2)からの受信した応答(60)をクラ
イアント装置(1)に中継する。なお、その際、必要に応
じて、優先度マッピング処理部(15)により得られた要求
(50)の処理優先度(59)に対応した優先度情報を中継する
データのIPパケットに設定し、データを中継する。
【0057】コネクション管理処理部(13)は、コネクシ
ョン中継処理部(11)により確立したコネクションの状態
を監視し、特定のサーバ装置またはサーバ装置群に対し
ては、上記コネクション管理テーブル(16)のコネクショ
ン数フィールドに、現在確立しているコネクション数を
管理する。
【0058】また、コネクション管理処理部(13)は、オ
ペレータからの指示を受け、コネクション管理テーブル
(16)のエントリー(20)の登録、初期設定も行う。具体的
には、宛先フィールド(21)、中継先フィールド(22)、最
大コネクション数フィールド(23)、最大キューイング数
フィールド(25)、最大待ち時間フィールド(26)、最大待
ち数フィールド(27)、優先度トークン更新条件情報(29)
の各情報を指定してコネクション管理テーブルエントリ
ー(20)の登録要求をオペレータから受け、コネクション
管理処理部(13)は、新たなコネクション管理テーブルエ
ントリー(20)を生成し、指定された各フィールドの情報
を設定すると共に、コネクション数フィールド(24)を0
で初期化し、要求キュー(28)は空の状態に初期化する。
【0059】要求キューイング処理部(14)は、コネクシ
ョン管理テーブルエントリー(20)で指定された特定のサ
ーバ装置またはサーバ装置群への要求に対して、同要求
をキューイングし、同サーバ装置またはサーバ装置群へ
の同時コネクション数を同エントリー(20)の最大コネク
ション数フィールド(23)の値以下に押さえる。具体的に
は、上記コネクション管理テーブル(16)に要求(50)の宛
先に対応するエントリー(20)がある場合、要求キューイ
ング処理部(14)は、同エントリー(20)のコネクション数
フィールド(24)の値が、同エントリー(20)の最大コネク
ション数フィールド(23)の値に達しているかどうかチェ
ックし、もし、最大コネクション数フィールド(23)の値
に達していれば、すぐには同要求(50)は中継せず、一旦
要求キュー(28)にキューイングする。そして、同サーバ
装置またはサーバ装置群へのある要求処理が終了してコ
ネクションが切断した後で、要求キュー(28)から順次を
取出し、要求(50)を中継する。
【0060】優先度マッピング処理部(15)は、要求元の
クライアント装置(1)のアドレス、宛先のサーバ装置(2)
のアドレスや、要求(50)と一緒に提供される情報をもと
に、各要求(50)の処理優先度(59)を決定する。
【0061】図5は、本実施例のデータ通信中継装置
(3)での中継処理の流れを示す処理フロー図である。
【0062】まず、クライアント装置(1)が、データ通
信中継装置(3)経由で宛先サーバ装置(2)へのコネクショ
ン確立を要求する。(処理1001)。
【0063】なお、データ通信中継装置(3)経由での要
求を、クライアント装置(1)自身が意識してデータ通信
中継装置(3)宛で出す形でも、また、クライアント装置
(1)は意識せず、データ通信を中継するルータ等が、宛
先サーバ装置(2)宛の要求をデータ通信中継装置(3)に転
送する形のどちらでもよい。
【0064】クライアント装置(1)からのコネクション
確立要求を受信すると、データ通信中継装置(3)のコネ
クション中継処理部(11)は、同クライアント装置(1)と
のコネクションを確立する。(処理1002) コネクションが確立すると、クライアント装置(1)は、
サーバ装置(2)宛の要求(50)を、同コネクションを使っ
てデータ通信中継装置(3)に送信する。(処理1003) データ通信中継装置(3)のコネクション中継処理部(11)
は、要求(50)を受信し、同要求(50)に含まれる宛先情報
(51)を取出す。(処理1004) 次に、コネクション中継処理部(11)は、優先度マッピン
グ処理部(15)に受信した要求(50)を渡し、優先度マッピ
ング処理部(15)が、要求元のクライアント装置(1)のア
ドレス、宛先のサーバ装置(2)のアドレスや、要求(50)
と一緒に提供される情報をもとに、各要求(50)の処理優
先度(59)を決定する。(処理1005) 次に、コネクション中継処理部(11)は、要求キューイン
グ処理部(14)に要求(50)、宛先情報(51)及び要求の処理
優先度(59)を渡し、同要求キューイング処理部(14)に、
同要求の中継が可能となるまで、同要求(50)のキューイ
ングを依頼する。(処理1006) 依頼された要求キューイング処理部(14)は、コネクショ
ン管理テーブル(16)を参照し、必要に応じて同要求(50)
を対応するコネクション管理テーブルエントリー(20)の
要求キュー(28)にキューイングし、中継可能となった段
階で、中継可能となった要求(50)および宛先情報(51)
と、同宛先に対応するコネクション管理テーブルエント
リー(20)とをコネクション中継処理部(11)に返す。(処
理1007) コネクション中継処理部(11)は、コネクション管理処理
部(13)に依頼し、宛先に対応するコネクション管理テー
ブルエントリー(20)が存在する場合、同エントリー(20)
のコネクション数フィールド(24)の値を1増加させる。
(処理1008) その後、コネクション中継処理部(11)は、宛先に対応す
るコネクション管理テーブルエントリー(20)があれば、
同管理テーブルエントリー(20)の中継先フィールド(22)
で示された宛先アドレスに、なければ、宛先情報(51)で
示された宛先アドレスに対して、コネクションを確立す
る。(処理1009)なお、相手の宛先サーバ装置(2)あるい
は中継先の装置も、データ通信中継装置(3)からのコネ
クション確立要求を受け、データ通信中継装置(3)との
コネクションを確立する。
【0065】次に、データ中継処理部(12)に制御が移
り、処理1009で確立したコネクションを使って、データ
中継処理部(12)が、要求(50)を宛先サーバ装置(2)に中
継する。なお、その際、必要に応じて、処理優先度(59)
に対応した優先度情報を中継するデータのIPパケットに
設定し、データを中継する。(処理1010) 要求(50)を受けたサーバ装置(2)は、同要求(50)を処理
し、処理1009で確立したコネクションを使って応答(60)
を返す。(処理1011) データ通信中継装置(3)は、データ中継処理部(12)が応
答(60)を受信し、受信した応答(60)を処理1002で確立し
たコネクションを使って、クライアント装置(1)に中継
する。なお、その際、必要に応じて、処理優先度(59)に
対応した優先度情報を中継するデータのIPパケットに設
定し、データを中継する。(処理1012) クライアント装置(1)は、応答(60)を受信し、受信した
応答(60)の表示等を行う。(処理1013) 応答(60)の送信を終えると、サーバ装置(2)が、処理100
9で確立したコネクションを切断する。(処理1014) サーバ装置(2)のコネクション切断を受け、データ通信
中継装置(3)のデータ中継処理部(12)は、コネクション
中継処理部(11)に制御を戻し、コネクション中継処理部
(11)が処理1009で確立したコネクションの切断処理を行
い、クライアント装置(1)への応答中継も終了すると、
処理1002で確立したコネクションも切断する。(処理101
5) さらに、データ通信中継装置(3)は、処理1009で確立し
たコネクションに対応するコネクション管理テーブルエ
ントリー(20)が存在する場合、コネクション中継処理部
(11)がコネクション管理処理部(13)に制御を渡し、コネ
クション管理処理部(13)が、同管理テーブルエントリー
(20)のコネクション数フィールド(24)の値を1減少さ
せ、かつ、要求キューイング処理部(14)にコネクション
減少のイベントを伝える。(処理1016) コネクション減少のイベントを受けた要求キューイング
処理部(14)は、減少したコネクションに対応したコネク
ション管理テーブルエントリー(20)の要求キュー(28)に
別の要求(50)がキューイングされている場合は、同要求
(50)を要求キュー(28)から取出し、処理1007でキューイ
ングされ、待ち状態となっていた同要求(50)の処理を再
開する。(処理1017) 一方、処理1015によるコネクション切断を受け、クライ
アント装置(1)もコネクションの切断処理を行い、要求
処理の終了処理を行う。(処理1018) 図6は、図5の処理1007の要求キューイング処理部(14)
による要求キューイング処理の一実施例の処理フロー図
である。
【0066】要求キューイング処理部(14)は、コネクシ
ョン中継処理部(11)から、要求(50)および宛先情報(51)
受けると、まず、コネクション管理テーブル(16)を検索
し、宛先に対応したコネクション管理テーブルエントリ
ー(20)が存在するかどうかをチェックする。具体的に
は、宛先情報(51)と、コネクション管理テーブル(16)の
各エントリー(20)の宛先フィールド(21)とを比較し、宛
先情報(51)で示された宛先が、宛先フィールド(21)で示
されたサーバ装置またはサーバ装置群の宛先に含まれる
エントリー(20)があるかどうか調べる。(処理1021)。
【0067】その結果、対応するコネクション管理テー
ブルエントリー(20)が存在しなかった場合は、すぐに同
要求(50)の中継が可能として、同要求(50)、宛先情報(5
1)と、対応するエントリーがないことをコネクション中
継処理部(11)に返し、コネクション中継処理を実行す
る。(処理1022) 対応するコネクション管理テーブルエントリー(20)が存
在した場合は、同エントリー(20)のコネクション数フィ
ールド(24)の値と最大コネクション数フィールド(23)の
値を比較する。(処理1023) その結果、コネクション数フィールド(24)の値が最大コ
ネクション数フィールド(23)の値未満の場合は、すぐに
同要求(50)の中継が可能として、同要求(50)と宛先情報
(51)を同エントリー(20)と共に、コネクション中継処理
部(11)に返し、コネクション中継処理を実行する。(処
理1024) コネクション数フィールド(24)の値が最大コネクション
数フィールド(23)の値以上の場合は、同エントリー(20)
の要求キュー(28)に要求(50)及び宛先情報(51)をキュー
イングし、同エントリー(20)に対応した宛先群宛のコネ
クションの減少イベントによって、図5の処理1017によ
り同要求(50)が要求キュー(28)から取出されるまで、同
要求(50)の中継を待たせる。(処理1025) あるサーバ装置とのコネクションが切断されると、図5
の処理1017で、同コネクションに対応するコネクション
管理テーブルエントリー(20)の要求キュー(28)から要求
(50)を取出し、取出した要求(50)と宛先情報(51)を同エ
ントリー(20)と共に、コネクション中継処理部(11)に返
し、コネクション中継処理を実行する。(処理1026) 図7は、この優先度キューを実現した本実施例のコネク
ション管理テーブルの要求キューの一構成図を示す。図
4のコネクション管理テーブル(16)の要求キュー(28)
は、1本の先入れ先だしキューで構成してもよいが、図
7では、複数の先入れ先だしキューを使用し、優先度に
従った、キューイングを実現する。すなわち、優先度マ
ッピング処理部(15)が各要求(50)に対して設定した1〜
nの処理優先度(59)に従い、要求キューイング処理部(1
4)が、優先度別のキューイングを行い、優先度順にキュ
ーから取りだして、優先度の高い順に要求を処理する。
また、図7の実施例では、優先度が低い要求が、後から
到着した優先度の高い要求により次々と追い越され、い
つまでもサービスされないような状況を防ぐ機能(沈み
込み防止機能)も実現する。
【0068】図7の実施例の要求キュー(28)は、概念的
には、n個の優先度キュー(30-1〜30-n)と、1つの全体
キュー(39)で構成する。優先度キュー(30-1〜30-n)は、
各要求(50)の優先度1〜nに対応したキューであり、一
方、全体キュー(39)は、現在優先度キューにキューイン
グされているすべての要求を到着順にキューイングした
キューである。要求(50)をキューイングする際には、各
要求(50)を同要求(50)の優先度に対応した優先度キュー
(30)の最後尾に繋ぐと共に、全体キュー(39)の最後尾に
も同要求(50)を繋ぐ。
【0069】図7の実施例では、キューへの挿入、キュ
ーからの削除を容易とするため、優先度キュー(30-1〜3
0-n)、全体キュー(39)は、いずれも、ダブルリンクリス
トでキューを管理する。具体的には、優先度キュー(30-
1〜30-n)、全体キュー(39)のそれぞれの先頭、及び、最
後尾を押さえるため、各優先度キューの先頭ポインター
(31-1〜31-n)と最後尾ポインター(32-1〜32-n)、全体キ
ューの先頭ポインター(33)と最後尾ポインター(34)を設
けると共に、キューイングした各要求エントリー(40)に
は、優先度キューの次エントリーポインター(41)、前エ
ントリーポインター(42)、全体キューの次エントリーポ
インター(43)、前エントリーポインター(44)を設け、優
先度キュー、全体キューそれぞれの前後の要求エントリ
ー(40)をポイントする形とする。これらのポインター
は、ポイントする要求エントリー(40)がない場合は、ポ
イントするエントリーがないことが分かる値NULLを設定
する。また、現在キューイング数フィールド(35)設け、
全体キュー(39)にキューイングされている要求エントリ
ー(40)の総数を保持する。一方、各要求エントリー(40)
には、さらに、キューイングした要求(50)をポイントす
る要求ポインター(45)、要求の宛先情報(51)をポイント
する宛先情報ポインター(46)を保持する他、本実施例で
は、キューイングした時刻を示すキューイング時刻情報
(47)を保持する。さらに、本実施例では、各要求エント
リー(40)に、他の要求に追い越された数を保持した待ち
数情報(48)も保持する。
【0070】図8、図9に、図7の要求キューを使っ
た、処理1025でのキューイング処理のフローと、処理10
26での要求キューからの取出し処理のフローをそれぞれ
示す。
【0071】図8のキューイング処理では、まず、要求
キュー(28)の現在キューイング数フィールド(35)をチェ
ックし、コネクション管理テーブルエントリー(20)の最
大キューイング数フィールド(25)の値未満かどうか調べ
る。(処理1031) 最大キューイング数フィールド(25)の値以上の場合は、
現在輻輳状態でサービスができないというエラーを、処
理1002で確立したコネクションを使ってクライアント装
置(1)に返し、同コネクションを切断し、同要求(50)に
対するデータ通信中継装置(3)の処理を終了する。(処理
1032) 最大キューイング数フィールド(25)の値未満の場合は、
新たな要求エントリー(40)を生成し、コネクション管理
処理部(13)が渡された要求(50)、宛先情報(51)等を元
に、同エントリーの各フィールドを初期設定する。具体
的には、要求(50)、宛先情報(51)を要求ポインター(4
5)、宛先情報ポインター(46)に設定すると共に、現在時
刻をキューイング時刻(47)に設定し、待ち数情報(48)を
0で初期化する。(処理1033) 次に、生成した同要求エントリー(40)を同要求(50)の処
理優先度(59)値mに対応した優先度キュー(30-m)の最後
尾ポインター(32-m)で指された最後尾に繋ぎ、同優先度
キュー(30-m)の先頭ポインター(31-m)、最後尾ポインタ
ー(32-m)及び、同要求エントリー(40)の優先キュー用の
次エントリーポインター(41)、前エントリーポインター
(42)を正しく設定する。(処理1034) さらに、生成した同要求エントリー(40)を全体キュー(3
9)の最後尾ポインター(34)で指された最後尾に繋ぎ、全
体キュー(39)の先頭ポインター(33)、最後尾ポインター
(34)及び、同要求エントリー(40)の全体キュー用の次エ
ントリーポインター(43)、前エントリーポインター(44)
を正しく設定する。(処理1035) 最後に、現在キューイング数フィールド(35)の値を1増
やし、キューイング処理を終了する。(処理1036) 一方、図9の要求キューからの要求の取出し処理では、
まず、対応するコネクション管理テーブルエントリー(2
0)の現在キューイング数フィールド(35)をチェックし、
0かどうか調べる。(処理1041) 現在キューイング数フィールド(35)の値が0の場合は、
キューイングされている要求はないので、要求の取りだ
し処理を終了する。
【0072】現在キューイング数フィールド(35)の値が
0以外の場合は、予めシステムで決められた優先度h以
上の優先度キュー(30-h〜30-n)に要求エントリー(40)が
あるかどうか調べる。(処理1042) もし、対応する要求エントリー(40)あれば、処理1046に
飛ぶ。
【0073】なければ、全体キューの先頭ポインター(3
3)で指された要求エントリー(40)のキューイング時刻情
報(47)と現在時刻の差分から待ち時間を計算する。(処
理1043) 次に、待ち時間と最大待ち時間フィールド(26)の値を比
較する。(処理1044) 待ち時間が最大待ち時間フィールド(26)の値を超えてい
る場合は、処理1049に飛ぶ。
【0074】待ち時間が最大待ち時間フィールド(26)の
値未満の場合は、同要求エントリー(40)の待ち数情報(4
8)と最大待ち数フィールド(27)の値とを比較する。(処
理1045) 同要求エントリー(40)の待ち数情報(48)の値の方が大き
い場合は、処理1049に飛ぶ。
【0075】そうでない場合は、処理1046に進む。
【0076】処理1046として、優先度キュー(30-1〜30-
n)の先頭ポインター(31-1〜31-n)をチェックし、優先度
が最も高い要求エントリー(40)を対象エントリーする。
(処理1046) 得られた対象エントリーと、全体キューの先頭ポインタ
ー(33)で指された要求エントリー(40)が等しいかどうか
チェックし、等しければ、処理1051に飛ぶ。(処理1047) 等しくなければ、全体キューの先頭ポインター(33)で指
された要求エントリー(40)の待ち数情報(48)の値を1増
やし、処理1051に飛ぶ。(処理1048) 全体キュー(39)の先頭エントリー(40)の待ち時間、待ち
数が上限値を超えている場合は、同エントリーを対象エ
ントリーとして、処理1051に飛ぶ。(処理1049) 処理1051として、上記処理で得られた対象要求エントリ
ー(40)を対応する優先キュー(30-m)から抜き出し、同優
先度キュー(30-m)の先頭ポインター(31-m)、最後尾ポイ
ンター(32-m)及び、同要求エントリー(40)の優先キュー
用の次エントリーポインター(41)、前エントリーポイン
ター(42)を正しく更新する。(処理1051) 同様に、対象要求エントリー(40)を全体キュー(39)から
抜き出し、全体キュー(39)の先頭ポインター(33)、最後
尾ポインター(34)及び、同要求エントリー(40)の全体キ
ュー用の次エントリーポインター(43)、前エントリーポ
インター(44)を正しく更新する。さらに、現在キューイ
ング数フィールド(35)の値を1減らし、要求キューから
の要求の取りだし処理を終了する。(処理1052) 図3〜図9の実施例によれば、宛先毎に、同時要求処理
数を制限すると共に、優先度の高い要求を先に処理する
ことができるという効果がある。また、優先度の低い要
求であっても、ある時間以上待ったり、ある回数以上追
い越されたら、優先度の高い要求があっても、処理され
るという効果がある。さらに、ある一定以上の優先度を
持つ要求は、待ち時間の長い、あるいは、待ち回数多い
他の要求があっても、常に、優先度順に処理されるとい
う効果がある。
【0077】上記図4、図6の実施例では、簡単のため
要求の宛先に対応したコネクション管理テーブルエント
リー(20)は、高々1つという前提の例を示したが、複数
のエントリーが対応する場合の実施例を以下に示す。
【0078】図10は、本実施例のコネクション管理テ
ーブル(16)の別の一構成図を示す。本実施例では、図4
の実施例に加え、各エントリー(20)に、適用優先度情報
フィールド(201)と適用順序情報フィールド(202)が追加
されている。
【0079】適用優先度情報フィールド(201)は、要求
の処理優先度(59)により、適用可能なコネクション管理
テーブルエントリー(20)を限定するためのフィールド
で、適用優先度情報フィールド(201)の指定が、要求の
処理優先度(59)の値を含むエントリー(20)のみを適用対
象とする。
【0080】適用順序情報フィールド(202)は、エント
リー間の選択順序を表すフィールドで、要求の宛先に対
応するコネクション管理テーブルエントリー(20)があっ
た場合、本フィールドの値が最も大きいエントリーを選
択する。
【0081】図11は、図10のコネクション管理テー
ブル(16)を使用した場合の、図6の処理1021での要求の
宛先に対応したコネクション管理テーブルエントリー(2
0)の検索処理フロー図を示す。
【0082】まず、見付かったコネクション管理テーブ
ルエントリーをポイントする変数foundになしを示す値N
ULLを設定する。(処理1061) 次に、コネクション管理テーブル(16)から、1ずつ順に
コネクションテーブルエントリー(20)を取り出す。(処
理1062) コネクション管理テーブル(16)のすべてのエントリーを
チェックし終えたら、処理1069に飛ぶ。(処理1063) 次に、要求の宛先情報(51)で示された宛先が、取出した
エントリー(20)の宛先フィールド(21)で示す宛先に含ま
れるかどうか調べる。(処理1064) 含まれなければ、処理1062に戻る。
【0083】含まれれば、同エントリー(20)の適用優先
度情報フィールド(201)の値が要求の処理優先度(59)の
値を含むかどうかチェックする。(処理1065) もし、要求の処理優先度(59)の値を含まない場合は、適
用対象外なので、処理1062に戻る。
【0084】次に、foundをチェックし、foundがNULLで
あれば、処理1068に飛ぶ。(処理1066) 処理1062で取出したエントリー(20)とfoundでポイント
されたエントリー(20)の適用順序情報フィールド(202)
の値を比べる。(処理1067) もし、foundでポイントされたエントリーの適用順序情
報フィールド(202)の値の方が大きければ、処理1062に
戻る。
【0085】処理1062で取出したエントリー(20)を新た
に選択したエントリーとして、foundからポイントする
ように変更し、処理1062に戻る。(処理1068) 上記処理の結果として、変数foundでポイントされたコ
ネクション管理テーブルエントリー(20)を検索結果の対
応するエントリーとして、検索処理を終了する。(処理1
069) 本実施例によれば、処理優先度毎に別の通信路を選択し
たり、宛先群と個別の宛先用の定義の両方を使用するこ
とで、少ない数のコネクション管理エントリーで、複雑
な定義が可能である。
【0086】以上の実施例では、コネクション管理テー
ブルエントリー(20)に最大コネクション数(23)と現在の
コネクション数(24)を管理し、ある宛先へのコネクショ
ン数により、要求キュー(28)へのキューイングを制御す
る例を示したが、さらに、優先度キュー毎の最大コネク
ション数と現在のコネクション数をコネクション管理テ
ーブルエントリー(20)に管理し、優先度毎のコネクショ
ン数によっても制御するように構成してもよい。
【0087】優先度毎のコネクション数によっても制御
する方法では、コネクション増減時の処理1008、処理10
16において、コネクション数フィールド(24)を増減する
だけでなく、コネクション管理テーブルエントリー(20)
にて新たに管理する処理優先度毎の現在コネクション数
情報についても、要求の処理優先度(59)に対応して増減
する。
【0088】また、キューイング判定の処理1023におい
ては、コネクション管理テーブルエントリー(20)のフィ
ールド(23)、(24)の比較だけでなく、新設する優先度毎
の最大コネクション数、現在コネクション数情報に対し
ても同様の比較を行い、いずれか一方の条件が満たされ
れば要求をキューイングする。
【0089】さらに、要求キュー(28)からの要求の取り
だしの際には、優先度毎の現在コネクション数が、優先
度毎の最大コネクション数未満である優先度キューの要
求エントリー(40)のみを取りだしの対象とする。図9の
処理フローでは、処理1042の前に、全体キュー(39)の先
頭エントリー(40)をチェックし、同エントリー(40)が上
記条件を満足していない場合、処理1046に進み、優先度
キューをサーチして要求取りだしを行う。また、処理10
42、処理1046での優先度キュー上のエントリー(40)のチ
ェックの際にも、同エントリー(40)が、上記条件を満足
しない場合は、スキップして、他の優先度キューを探す
処理を行う。
【0090】次に、優先度マッピング処理部(15)による
要求の処理優先度(59)の設定方法について説明する。
【0091】図12は、クライアント装置(1)のアドレ
スと宛先サーバ装置のアドレスから、処理優先度(59)を
求めるという実施例で使用するアドレス・処理優先度変
換テーブル(110)の構成例を示す。本実施例のアドレス
・処理優先度変換テーブル(110)は、クライアントアド
レスフィールド(111)、サーバアドレスフィールド(11
2)、処理優先度フィールド(113)から構成する。クライ
アントアドレスフィールド(111)、サーバアドレスフィ
ールド(112)は、それぞれ、要求したクライアント装置
(1)のアドレス、要求の宛先サーバ装置(2)のアドレスを
示すフィールドで、具体的なアドレスのほか、*によ
り、任意のアドレスを表すワイルドカード指定も可能と
する。また、処理優先度フィールド(113)は、クライア
ントアドレスフィールド(111)、サーバアドレスフィー
ルド(112)のペアにマッチングする要求に対して、割り
当てる処理優先度値を表す。
【0092】優先度マッピング処理部(15)は、本アドレ
ス・処理優先度変換テーブル(110)を使用し、要求した
クライアント装置のアドレスと、要求(50)の宛先情報(5
1)からマッチするエントリーを見つけ、その処理優先度
フィールド(113)の値を使って、処理優先度(59)を求め
る。
【0093】本実施例によれば、要求元や宛先依存した
処理優先度設定が可能である。
【0094】図13、図14は、別の実施例として、利
用者の認証情報から、処理優先度を求める実施例を示
す。図13は、同実施例でのクライアント装置(1)から
の要求(50)の構成例を示す。
【0095】本実施例では、宛先情報(51)に加え、利用
者の認証情報(52)が追加されている。
【0096】一方、図14は、利用者の認証情報(52)か
ら、処理優先度(59)を求めるための利用者・処理優先度
変換テーブル(120)の一構成例を示す。本実施例の利用
者・処理優先度変換テーブル(120)は、利用者認証情報
フィールド(121)、処理優先度フィールド(122)から構成
する。優先度マッピング処理部(15)は、本利用者・処理
優先度変換テーブル(120)を使用し、要求(50)に含まれ
る利用者の認証情報(52)から、利用者認証情報フィール
ド(121)が同認証情報(52)に一致するエントリーを見つ
け出し、同エントリーの処理優先度フィールド(122)の
値を使って、処理優先度(59)を求める。
【0097】本実施例によれば、利用者毎に処理優先度
の設定が可能である。
【0098】要求の処理優先度設定の別の実施例として
は、要求(50)に処理優先度情報を含んだ優先度トークン
情報(53)を用いる方法がある。
【0099】図15は、同優先度トークン情報(53)を使
った実施例の、要求(50)の一構成例を示す。本実施例で
は、従来の要求(50)に対し、処理優先度情報(531)、同
処理優先度を適用する宛先のサーバ装置またはサーバ装
置群のアドレスを示す宛先アドレス情報(532)、同処理
優先度の適用有効期間を表す有効期間情報(533)が含ま
れる優先度トークン情報(53)を追加した形で要求を構成
する。本優先度トークン情報(53)は、まず、データ通信
中継装置(3)が同優先度トークン情報(53)を含んだ応答
(60)をクライアント装置(1)に返信し、同応答(60)を受
けたクライアント装置(1)が同優先度トークン情報(53)
を記憶し、同一の宛先に要求を出す際に、クライアント
装置(1)が、同優先度トークン情報(53)を要求(50)に付
加して出す。同優先度トークン情報(53)は、例えば暗号
化し、クライアント装置(1)では、改ざんできないよう
にする。
【0100】図16は、本優先度トークン情報(53)を使
ったシステムの一構成図を示す。本実施例では、データ
通信中継装置(3)は、優先度マッピング処理部(15)の一
部として、優先度トークン解釈処理部(151)と、優先度
トークン生成・更新処理部(152)と、優先度トークン返
送処理部(153)を備える。一方、クライアント装置(1)に
は、優先度トークン情報の記憶・送出処理部(71)を備え
る。優先度トークン情報の記憶・送出処理部(71)は、We
bのCookie機能と同様に、データ通信中継装置(3)から返
ってきた優先度トークン情報(53)を宛先対応に記憶し、
要求(50)をデータ通信中継装置(3)に送信する際に、要
求の宛先に対応して記憶している優先度トークン情報(5
3)を付加して送信する。
【0101】例えば、具体的な一例として、Webページ
アクセスでは、Cookieを用いて優先度トークン情報をク
ライアント装置(1)とデータ通信中継装置(3)の間でやり
とりする方法がある。クライアント装置(1)は、宛先と
なるサーバ装置(2)に対応したCookieと呼ばれる情報を
持っていれば、データ通信中継装置(3)に対してコネク
ションを確立した後、当該Cookieを付けて、以下のよう
な形で要求データ(HTTPヘッダ)を送信する。
【0102】GET http://xxx/yyy/zzz HTTP/1.1 Cookie: 優先度トークン情報+サーバのCookie情報 上記Cookieは、本要求以前の要求に対する応答として、
データ通信中継装置(3)が、クライアント装置(1)に送信
した情報であり、本実施例では、優先度トークン情報
と、宛先のサーバ装置(2)から返ってきたCookie情報が
あれば、同サーバのCookie情報も含む。
【0103】データ通信中継装置(3)は、クライアント
装置(1)とコネクションを確立した後、上記データを受
け取り、上記Cookie中の優先度トークン情報を解釈し、
この情報を優先度に変換する。その後、同優先度に従
い、要求をキューイングした後、サーバへの要求が可能
となったところで、サーバにコネクションを中継し、受
信したCookieヘッダの中から当該データ通信中継装置向
けである優先度トークン情報(53)を取り除き、サーバの
Cookie情報を含んだ要求をサーバ装置(2)に転送する。
サーバのCookie情報がなければ、Cookieヘッダを取り除
いて、転送する。
【0104】また、応答を返す際には、下記のように、
応答のHTTPヘッダの中に、Set-Cookieを使ってサーバ装
置(2)が返してきたサーバのCookie情報に対して、さら
に宛先に対応した優先度トークン情報(53)をデータ通信
中継(3)が付加してクライアント装置(1)に返す。
【0105】HTTP/1.1 OK Set-Cookie: 宛先=優先度トークン情報+サーバのCoo
kie情報 Content-Length: nnn コンテンツボディ サーバ装置(2)から応答に、Set-Cookieヘッダによるサ
ーバのCookie情報がない場合は、宛先に対応した優先度
トークン情報(53)を含むSet-Cookieヘッダを、データ通
信中継(3)が付加し、クライアント装置(1)に返す。
【0106】また、オプションとして、サーバ装置(2)
には、データ通信中継装置(3)での優先度トークン生成
・更新処理部(151)の動作を制御するための優先度トー
クン制御処理部(72)を備える。優先度トークン制御処理
部(72)は、要求(50)に対する処理結果の応答(60)に優先
度トークン制御情報(69)を付加して返すことで、データ
通信中継装置(3)での優先度トークン生成・更新処理部
(151)の動作を制御する。
【0107】図17は、優先度トークン情報(53)を使っ
た要求処理のフローを示す。
【0108】まず、クライアント装置(1)が処理1001,10
02を経て、処理1003にて要求(50)をデータ通信中継装置
(3)に送信する際、優先度トークン情報の記憶・送出処
理部(71)が、要求(50)を宛先に対応した優先度トークン
情報(53)が記憶されているかどうかをチェックする。
(処理1071) 対応した優先度トークン情報(53)があれば、同優先度ト
ークン情報(53)を要求(50)に付加して送信する。(処理1
072) 対応した優先度トークン情報(53)がなければ、要求(50)
をそのまま、送信する。(処理1073) データ通信中継装置(3)は、処理1004で要求(50)を受信
し、処理1005で処理優先度(59)を決定する際、優先度マ
ッピング処理部(15)の優先度トークン解釈処理部(151)
が、クライアント装置(1)からの要求(50)に優先度トー
クン情報(53)に付加されているかどうかチェックする。
(処理1074) 優先度トークン情報(53)が付加されていない場合は、優
先度トークン解釈処理部(151)が、図12、13、14
の実施例等の方法により、その他の情報を用いて処理優
先度(59)を決定し、処理1079に飛ぶ。(処理1075) 優先度トークン情報(53)が付加されている場合は、優先
度トークン解釈処理部(151)が優先度トークン情報(53)
の暗号化を解き、要求の宛先情報(51)が、解読した優先
度トークン情報(53)の宛先アドレス情報(532)で示され
た宛先に含まれるかどうかチェックする。(処理1076) 要求の宛先が含まれない場合は、不正要求として、クラ
イアント装置(1)にエラーとして応答するため処理1084
に飛ぶ。(処理1077) 要求の宛先が含まれている場合は、優先度トークン情報
(53)の処理優先度情報(531)の値を処理優先度(59)とす
る。(処理1078) データ通信中継装置(3)は、処理1006〜1010を実行し、
要求(50)を宛先サーバ装置(2)に中継する。(処理1079) 要求(50)を受けたサーバ装置(2)は、処理1011にて応答
(60)をデータ通信中継装置(3)に返す際、必要に応じ
て、優先度トークン制御処理部(72)が、優先度トークン
情報の生成・更新の可否、優先度アップ・ダウンを指示
する優先度トークン制御情報(69)を応答に付加して返送
する。(処理1080) 応答(60)を受信したデータ通信中継装置(3)は、処理101
2において、応答(60)をクライアント装置(1)に中継する
前に、再度、要求(1)に優先度トークン情報(53)が付加
されていたかどうかチェックする。(処理1081) 優先度トークン情報(53)が付加されていない場合は、サ
ーバ装置(2)からの優先度トークン制御情報(69)による
指示も踏まえ、優先度トークン生成・更新処理部(151)
が、ある条件で優先度トークン情報(53)を生成する。
(処理1082) 優先度トークン情報(53)が付加されている場合は、サー
バ装置(2)からの優先度トークン制御情報(69)による指
示も踏まえ、優先度トークン生成・更新処理部(151)
が、ある条件で同優先度トークン情報(53)を更新あるい
は破棄する。(処理1083) さらに、処理1012において応答(60)をクライアント装置
(1)に中継する際、優先度トークン返送処理部(152)は、
優先度トークン生成・更新処理部(131)で生成・更新さ
れた優先度トークン情報(53)が存在すれば、同優先度ト
ークン情報(53)を暗号化して、応答(60)に付加してクラ
イアント装置(1)に返す。(処理1084) 応答(60)を受信したクライアント装置(1)は、処理1013
において受信した応答(60)の表示等を行うとともに、応
答(60)に優先度トークン情報(53)が付加されている場合
は、優先度トークン情報の記憶・送出処理部(71)が同優
先度トークン情報(53)を宛先と対応付けて記憶する。
(処理1085) 最後に、処理1014〜1018のコネクション切断や各種終了
処理を実行し、クライアント装置(1)からの本要求の処
理を終了する。(処理1086) 図18は、図17の処理処理1081〜1083における優先度
トークン生成・更新処理部(151)による優先度トークン
情報の生成・更新の一処理フローを示す。
【0109】まず、次回の優先度トークン情報(53)next
_tokenの、初期値として、処理優先度情報(531)には、
図12、13、14の実施例等の方法により要求内の優
先度トークン情報以外の情報から求めた処理優先度値
を、宛先アドレス情報(532)には、要求(50)の宛先情報
(51)を、有効期間情報(533)には、現時刻からある一定
期間内有効とする期間情報を設定する。また、優先度ト
ークン情報の更新の要否を表す変数update_tokenに否を
表す値"No"を設定する。(処理1091) 次に、要求(50)に対応したコネクション管理テーブルエ
ントリー(20)が存在するかどうかチェックする。(処理1
092) 対応するコネクション管理テーブルエントリー(20)が存
在しない場合は、処理1109に飛ぶ。
【0110】次に、サーバ装置(2)からの応答(60)に優
先度トークン制御情報(69)があり、優先度トークン情報
の廃棄指示があるかどうかチェックする。(処理1093) 廃棄指示がある場合は、同様に、処理1109に飛ぶ。
【0111】次に、サーバ装置(2)からの応答(60)に優
先度トークン制御情報(69)があり、処理優先度の設定、
あるいは、アップ、ダウンの指示があるかどうかチェッ
クする。(処理1094) 設定、アップ・ダウン指示がある場合は、変数update_t
okenを"Yes"に設定し、同指示に従い、次回優先度トー
クン情報(53)next_tokenを設定・更新する。(処理1095) また、要求キューイング処理部(14)による要求キューイ
ングの処理1032において、本要求処理が、最大キューイ
ング数以上による輻輳エラーとなっていたか、あるい
は、応答の受信タイムアウトでエラーとなっていたかど
うかチェックする。(処理1096) 輻輳エラーまたは応答受信タイムアウトエラーの場合
は、変数update_tokenを"Yes"に設定し、次回の優先度
トークン情報(53)next_tokenの処理優先度値(531)の値
をより高い優先度値に設定する。また、next_tokenの有
効期間情報(533)は、あるブランク期間以降から有効に
なるようにブランク期間分シフトした値に変更する。
(処理1097) さらに、要求キューイング処理部(14)による要求キュー
イングの処理1044において、最大待ち時間を超える待ち
を検出していたかどうかチェックする。(処理1098) 待ち時間オーバを検出していた場合は、変数update_tok
enを"Yes"に設定し、次回の優先度トークン情報(53)nex
t_tokenの処理優先度情報(531)値をより高い優先度値に
設定する。(処理1099) 最後に、変数update_tokenの値をチェック。(処理1100) update_tokenの値が"No"の場合は、処理1109に飛ぶ。
【0112】update_tokenの値が"Yes"の場合は、next_
tokenを応答に付加する優先度トークン情報(53)として
設定し、優先度トークンの生成・更新処理を終了する。
(処理1101) 上記処理で、優先度トークン情報(53)を応答(60)に付加
すべきではないと判断した場合は、次回優先度トークン
情報(53)next_tokenを廃棄し、優先度トークンの生成・
更新処理を終了する。(処理1109) 本実施例によると、長い時間待たせたり、輻輳でエラー
を返して不便をかけた利用者に対し、次回優先処理する
ことが可能となる。さらに、輻輳状態の場合、利用者に
対し、優先度の高くなる時間を選んで要求することをメ
ッセージで促すことができるので、輻輳状態の早期回復
にも効果がある。また、サーバ装置側から優先処理を制
御できるという効果がある。
【0113】図19は、優先度トークン情報(53)の別の
構成例を示す。本実施例では、図15で示した処理優先
度情報(531)、宛先アドレス情報(532)、有効期間情報(5
33)に加え、初期生成時の有効期間の初期開始時刻情報
(534)、優先度トークンの更新回数情報(535)、サーバ装
置へのコネクション確立回数情報(536)、トータルコネ
クション待ち時間情報(537)のいずれか、または、組み
合わせで構成する。
【0114】図20は、図19の優先度トークン情報(5
3)に対応した、コネクション管理テーブル(16)の構成例
を示す。本実施例では、コネクション管理テーブルエン
トリー(20)の優先度トークン情報の更新条件を示した優
先度トークン更新条件情報(29)として、更新可能期間フ
ィールド(291)、最大更新回数フィールド(292)、最大コ
ネクション確立回数フィールド(293)、規定コネクショ
ン確立回数フィールド(294)、規定コネクション待ち時
間フィールド(295)を含む。これらのフィールドは、そ
れぞれ、優先度トークン情報(53)の最大更新期間、更新
可能回数の最大数、優先度トークン情報(53)の更新が許
される、サーバ装置(2)との最大コネクション確立回
数、優先度トークン情報(53)の処理優先度情報の優先度
アップのために最低限必要な、サーバ装置(2)とのコネ
クション確立回数、コネクション待ち時間情報を表す。
【0115】図21は、図19の実施例の優先度トーク
ン情報(53)を用いた場合の、図17の処理1081〜1083に
おける優先度トークン生成・更新処理部(151)による優
先度トークン情報の生成・更新の一処理フローを示す。
【0116】まず、次回の優先度トークン情報(53)next
_tokenの初期値を設定する。具体的には、処理優先度情
報(531)、宛先アドレス情報(532)、有効期間情報(533)
は、処理1091と同様の初期化を行う。また、新たに追加
された初期開始時刻情報(534)、更新回数情報(535)、コ
ネクション確立回数情報(536)、トータルコネクション
待ち時間情報(537)については、現在の要求に優先度ト
ークン情報(53)が付加されていれば、その情報の対応す
る値をコピーする。優先度トークン情報(53)が付加され
ていなかった場合は、初期開始時刻情報(534)は、現在
時刻を、その他は、0を設定する。(処理1111) 次に、next_tokenの更新回数情報(535)に1を加える。
(処理1112) また、本要求(50)に対し、サーバ装置(2)へのコネクシ
ョンを確立したかどうかチェックする。(処理1113) 同コネクションを確立した場合は、next_tokenのコネク
ション確立回数情報(536)の値を1増やす。(処理1114) さらに、要求キューイング処理部(14)により、要求キュ
ー(28)に一旦キューイングして処理した場合は、処理10
52における要求キューからの取りだし処理における、要
求キューから取り出した時刻と、要求エントリー(40)の
キューイング時刻情報(47)との差分を、next_tokenのト
ータルコネクション待ち時間情報(537)に加える。(処理
1115) 次に、処理1092〜処理1099のnext_tokenの生成・更新処
理を実行する。但し、同処理から処理1109が呼ばれた場
合は、処理1109も実行する。なお、要求(50)に優先度ト
ークン情報(53)が付加されていなかった場合で、処理10
97で有効期間情報(533)をシフトする場合は、初期開始
時刻情報(534)も同様にシフトする。(処理1116) 次に、サーバ装置(2)からの応答(60)に優先度トークン
制御情報(69)があり、優先度トークン情報の非更新指示
があるかどうかチェックする。(処理1117) 非更新指示がある場合は、処理1129に飛ぶ。
【0117】次に、next_tokenの有効期間情報(533)に
対し、next_tokenの初期開始時刻情報(534)で示す時刻
から、要求(50)に対応したコネクション管理テーブルエ
ントリー(20)の更新可能期間フィールド(291)で示され
た期間とのアンドを計算し、同有効期間情報(533)に設
定する。(処理1118) 次に、next_tokenの有効期間情報(533)で示された期間
が0でないかどうかチェックする。(処理1119) もし、有効期間が0の場合は、処理1129に飛ぶ。
【0118】次に、next_tokenの更新回数情報(535)
が、要求(50)に対応したコネクション管理テーブルエン
トリー(20)の最大更新回数フィールド(292)の値以下か
どうかチェックする。(処理1120) 最大更新回数を超えている場合は、処理1129に飛ぶ。
【0119】次に、next_tokenのコネクション確立回数
情報(536)が、要求(50)に対応したコネクション管理テ
ーブルエントリー(20)の最大コネクション確立回数フィ
ールド(293)の値以下かどうかチェックする。(処理112
1) 最大コネクション確立回数を超えている場合は、処理11
29に飛ぶ。
【0120】次に、next_tokenのコネクション確立回数
情報(536)が、要求(50)に対応したコネクション管理テ
ーブルエントリー(20)の規定コネクション確立回数フィ
ールド(294)の値以上かどうかチェックする。(処理112
2) 規定回数以上の場合は、next_tokenの処理優先度情報(5
31)値をより高い優先度値に設定する。(処理1123) さらに、next_tokenのトータルコネクション待ち時間情
報(537)が、要求(50)に対応したコネクション管理テー
ブルエントリー(20)の規定コネクション待ち時間フィー
ルド(295)の値以上かどうかチェックする。(処理1124) 規定待ち時間以上の場合は、next_tokenの処理優先度情
報(531)値をより高い優先度値に設定する。(処理1125) 最後に、next_tokenを応答に付加する優先度トークン情
報(53)として設定し、優先度トークンの生成・更新処理
を終了する。(処理1126) 上記処理で、優先度トークン情報の更新が不可であった
場合は、要求(50)に付加されていた優先度トークン情報
(53)を、そのまま、応答で付加して返信する次回優先度
トークン情報(53)として設定し、優先度トークンの生成
・更新処理を終了する。なお、要求(50)に優先度トーク
ン情報(53)が付加されていなかった場合は、応答にも優
先度トークン情報は付加しない。(処理1129) 上記実施例によれば、一定期間内のサーバ装置へのトー
タルアクセス回数やトータル待ち時間の応じて処理優先
度を上げることが可能である。例えば、ある利用者に対
して、サーバ装置側で一旦要求を受付けたら、一定期間
の間は、他の新たな要求より、先に処理する等が可能と
なる。
【0121】上記実施例では、宛先サーバ装置に対する
最大コネクション数フィールド(25)は、オペレータが指
定した固定値という例を示したが、図22は、本最大コ
ネクション数フィールド(25)を自動的にチューニングす
るデータ通信中継装置(3)の一構成例を示す。
【0122】本実施例では、データ通信中継装置(3)、
コネクション管理処理部(13)のより具体的な処理部とし
て、新たに、処理スループット計測処理部(131)と、最
大コネクション数自動チューニング処理部(132)を持
つ。また、処理スループット計測処理部(131)は、さら
に、各コネクションテーブルエントリー(20-1〜20-N)に
対応した要求処理数情報を保持した、要求処理数分布情
報(240-1〜240-N)を持つ。
【0123】処理スループット計測処理部(131)は、各
コネクション管理テーブルエントリー(20)に対応したサ
ーバ装置あるいはサーバ装置群毎に対して、要求キュー
イング数に対する単位時間あたりの要求処理数分布を計
測する。具体的には、各コネクション管理テーブルエン
トリー(20)の最大コネクション数フィールド(25)の値を
m等分し、同m等分した現在コネクション数の範囲に対
して、それぞれ、単位時間あたりの要求処理数分布を計
測する。
【0124】図23は、各コネクション管理テーブルエ
ントリー(20)に対応して処理スループット計測処理部(1
31)が持つ、本実施例の単位時間あたりの要求処理数分
布情報(240)の一構成図である。各要求処理分布情報(24
0)は、m個の分布情報エントリー(241-1〜241-m)と、前
回最大要求処理数情報(242)からなる。各分布情報エン
トリー(241-1〜241-m)は、最大コネクション数フィール
ド(25)の値をm等分した現在コネクション数の範囲に対
する、それぞれの、単位時間あたりの要求処理数分布情
報を保持する。それぞれの分布情報エントリー(241-i)
(i=1〜m)は、計測開始時刻(245-i)、計測期間(246-i)、
トータル処理数(247-i)、平均処理数(248-i)からなる。
なお、要求処理数分布情報(240)は、最初、すべて、0
で初期化するものとする。
【0125】図24、図25は、処理スループット計測
処理部(131)による要求処理数分布情報(240)の設定・更
新処理の一処理フローを示す。図24は、処理1008での
コネクション管理処理部(13)によるコネクション数フィ
ールド(24)の足し算更新の際の処理スループット計測処
理部(131)の処理フロー、図25は、処理1016でのコネ
クション管理処理部(13)によるコネクション数フィール
ド(24)の引き算更新の際の処理スループット計測処理部
(131)の処理フローを示す。
【0126】図24の処理1008でのコネクション管理処
理部(13)によるコネクション数フィールド(24)の足し算
更新の際の処理としては、まず、更新前のコネクション
数の対応する分布情報エントリー(241-i)と、更新後の
コネクション数に対応する分布情報エントリー(241-j)
を求める。(処理1131) 次に、更新前の分布情報エントリー(241-i)と更新後の
分布情報エントリー(241-j)が異なるかどうかチェック
する。(処理1132) 両エントリーが異なる場合、更新前の分布情報エントリ
ー(241-i)の計測期間(246-i)に、現在時刻と計測開始時
刻(245-i)の差分を足し算し、トータル処理数(247-i)/
計測期間(246-i)を平均処理数(248-i)に設定する、ま
た、更新後の分布情報エントリー(241-j)の計測開始時
刻(245-j)に、現在時刻を設定する。(処理1133) 一方、図25の処理1016でのコネクション管理処理部(1
3)によるコネクション数フィールド(24)の引き算更新の
際の処理としては、まず、更新前のコネクション数の対
応する分布情報エントリー(241-i)と、更新後のコネク
ション数に対応する分布情報エントリー(241-j)を求め
る。(処理1141) 次に、更新前の分布情報エントリー(241-i)のトータル
処理数(247-i)に1を加える。(処理1142) その後、更新前の分布情報エントリー(241-i)と更新後
の分布情報エントリー(241-j)が異なるかどうかチェッ
クする。(処理1143) 両エントリーが異なる場合は、更新前の分布情報エント
リー(241-i)の計測期間(246-i)に、現在時刻と計測開始
時刻(245-i)の差分を足し算し、トータル処理数(247-i)
/計測期間(246-i)を平均処理数(248-i)に設定する、ま
た、更新後の分布情報エントリー(241-j)の計測開始時
刻(245-j)に、現在時刻を設定する。(処理1144) 図26は、最大コネクション数自動チューニング処理部
(132)による、各コネクション管理テーブルエントリー
(20)の最大コネクション数フィールド(25)に対する自動
チューニング処理の一処理フローを示す。
【0127】最大コネクション数自動チューニング処理
部(132)による処理は、無限ループの処理であり、定期
的に起き上がって、すべてのコネクション管理テーブル
エントリー(20)の最大コネクション数フィールド(25)を
自動チューニングする。
【0128】まず、全ての要求処理数分布情報(240)の
すべての情報を0で初期化する。(処理1151) 次に、定められた時刻に起動がかかるように設定し、自
動チューニング処理を休眠状態にする。(処理1152) 次に、コネクション管理テーブル(16)から順にエントリ
ー(20-i)を1つ取り出す。(処理1153) 他に未処理のコネクション管理テーブルエントリー(20-
i)がなければ、処理1152に戻る。(処理1154) 次に、対象のコネクション管理テーブルエントリー(20-
i)に対応した要求処理数分布情報(240-i)を求める。(処
理1155) 次に、対象のコネクション管理テーブルエントリー(20-
i)のコネクション数フィールド(24)の値に対応した要求
処理数分布情報(240-i)の分布情報エントリー(241-j)を
求める。(処理1156) 処理1155で求めた分布情報エントリー(241-j)につい
て、計測期間(246-j)に、現在時刻と計測開始時刻(245-
j)の差分を足し算し、トータル処理数(247-j)/計測期間
(246-j)を平均処理数(248-j)に設定する、また、計測開
始時刻(245-j)に、現在時刻を設定する。(処理1157) 次に、要求処理数分布情報(240-i)のすべての分布情報
エントリー(241-1〜241-m)をサーチし、平均処理数(248
-k)が最も大きい分布情報エントリー(241-k)を求める。
なお、値が同じ場合は、kの値が大きい方のエントリー
を求める。(処理1158) 次に、kがmに等しいかどうかチェックする。(処理115
9) kがmに等しい場合は、要求処理数分布情報(240-i)の
前回最大要求処理数情報(242)に、分布情報エントリー
(241-k)の平均処理数(248-k)を設定し、さらに、ある一
定数、あるいは、ある一定割合数分だけ、コネクション
管理テーブルエントリー(20-i)の最大コネクション数フ
ィールド(25)を増やし、処理1169に飛ぶ。(処理1160) kとmが等しくない場合は、k以降の分布情報エントリ
ー(241-k+1〜241-m)について、計測期間(246-x)が0で
ない分布情報エントリー(241-x)を求める。(処理1161) 0でないエントリー(241-x)が存在しない場合は、変更
不要として、処理1169に飛ぶ。(処理1162) 0でないエントリー(241-x)が存在する場合は、分布情
報エントリー(241-k)の平均処理数(248-k)と、要求処理
数分布情報(240-i)の前回最大要求処理数情報(242)の値
を比較する。(処理1163) 前回最大要求処理数情報(242)の値が分布情報エントリ
ー(241-k)の平均処理数(248-k)の値以上の場合は、変更
不要として、処理1169に飛ぶ。
【0129】分布情報エントリー(241-k)の平均処理数
(248-k)の方が大きい場合は、要求処理数分布情報(240-
i)の前回最大要求処理数情報(242)を0クリアし、さら
に、ある一定数、あるいは、ある一定割合数分だけ、コ
ネクション管理テーブルエントリー(20-i)の最大コネク
ション数フィールド(25)を減らし、処理1169に飛ぶ。
(処理1164) 各コネクション管理テーブルエントリー(20-i)毎の後処
理として、要求処理数分布情報(240-i)のすべての分布
情報エントリー(241-j)(j=1〜m)の計測期間(246-j)、
トータル処理数(247-j)、平均処理数(248-j)を0クリア
し、処理1153に戻る。(処理1169) 上記実施例によれば、特定のサーバ装置あるいはサーバ
装置群に対して、処理スループットが最大となる最大コ
ネクション数を自動的にチューニングできる。
【0130】上記実施例によれば、宛先サーバ装置への
同時要求数を同装置の処理能力の範囲内に押さえること
ができ、宛先サーバ装置の急激な性能劣化を防ぐことが
できる。さらに、利用者や業務の属性に応じて設定した
優先度に従った処理が可能となる。また、待ち時間や利
用回数に応じて、優先度を一時的に上げることが可能に
なる。また、処理を開始したら、一定期間、優先度を高
く処理することが可能となる。その結果、ある程度以上
待てば、比較的迅速なサービスを受けることが可能とな
り、不確定な長いサービス待ちや、不確定な長い待ちに
起因する利用者の再実行操作を抑止できる。
【0131】
【発明の効果】本発明によれば、サーバへのアクセス集
中を抑制することが可能になり、サービスの低下を抑え
ることが可能となる。
【図面の簡単な説明】
【図1】本実施例のデータ通信装置を使ったシステムの
システム構成図。
【図2】本実施例に関わるクライアント装置、サーバ装
置、データ通信中継装置、各装置の物理構成図。
【図3】本実施例のデータ通信中継装置の構成図。
【図4】本実施例のコネクション管理テーブルの構成
図。
【図5】本実施例のデータ通信中継装置での中継処理の
流れを示す処理フロー図。
【図6】図5の処理1007の要求キューイング処理部によ
る本実施例の要求キューイング処理の処理フロー図。
【図7】本実施例の優先度キューを実現したコネクショ
ン管理テーブルの要求キューの構成図。
【図8】本実施例の図7の要求キューを使った処理1025
でのキューイング処理の処理フロー図。
【図9】本実施例の図7の要求キューを使った処理1026
での要求キューからの取出し処理のフロー図。
【図10】本実施例のコネクション管理テーブルの別の
実施例の構成図。
【図11】本実施例の図10のコネクション管理テーブ
ルを使用した場合の、図6の処理1021での要求の宛先に
対応したコネクション管理テーブルエントリーの検索処
理フロー図。
【図12】本実施例のクライアント装置のアドレスと宛
先サーバ装置のアドレスから、処理優先度を求める実施
例で使用するアドレス・処理優先度変換テーブルの構成
図。
【図13】本実施例の利用者の認証情報から、処理優先
度を求める実施例で使用するクライアント装置からの要
求の構成図。
【図14】本実施例の利用者の認証情報から処理優先度
を求める実施例で使用する利用者・処理優先度変換テー
ブルの構成図。
【図15】本実施例の優先度トークン情報を使った要求
の構成図。
【図16】本実施例の優先度トークン情報を使ったシス
テムの構成図。
【図17】本実施例の優先度トークン情報を使った要求
処理の処理フロー図。
【図18】本実施例の図17の処理処理1081〜1083にお
ける優先度トークン生成・更新処理部による優先度トー
クン情報の生成・更新の処理フロー図。
【図19】本実施例の優先度トークン情報の別の構成
図。
【図20】本実施例の図19の優先度トークン情報に対
応した、コネクション管理テーブルの構成図。
【図21】本実施例の図19の優先度トークン情報を用
いた実施例の場合の、図17の処理処理1081〜1083にお
ける優先度トークン生成・更新処理部による優先度トー
クン情報の生成・更新の処理フロー図。
【図22】本実施例のサーバ装置に対する最大コネクシ
ョン数情報の自動チューニング機能を有するデータ通信
中継装置の構成図。
【図23】本実施例のコネクション管理テーブルエント
リーに対応して処理スループット計測処理部が持つ、単
位時間あたりの要求処理数分布情報の構成図。
【図24】本実施例の処理1008でのコネクション管理処
理部によるコネクション数フィールドの足し算更新の際
の処理スループット計測処理部での処理フロー図。
【図25】本実施例の処理1016でのコネクション管理処
理部によるコネクション数フィールドの引き算更新の際
の処理スループット計測処理部での処理フロー図。
【図26】本実施例の最大コネクション数自動チューニ
ング処理部による、各コネクション管理テーブルエント
リーの最大コネクション数フィールドに対する自動チュ
ーニング処理の処理フロー図。
【符号の説明】
1…クライアント装置、2…サーバ装置、3…データ通信
中継装置、4…通信路、11…コネクション中継処理部、1
2…データ中継処理部、13…コネクション管理処理部、1
4…要求キューイング処理部、15…優先度マッピング処
理部、16…コネクション管理テーブル、20…コネクショ
ン管理テーブルエントリー、21…宛先フィールド、22…
中継先フィールド、23…最大コネクション数フィール
ド、24…コネクション数フィールド、25…最大キューイ
ング数フィールド、26…最大待ち時間フィールド、27…
最大待ち数フィールド、28…要求キュー、29…優先度ト
ークン更新条件情報、30-1〜30-n…優先度キュー、31-1
〜31-n…優先度キューの先頭ポインター、32-1〜32-n…
優先度キューの最後尾ポインター、33…全体キューの先
頭ポインター、34…全体キューの最後尾ポインター、35
…現在キューイング数フィールド、39…全体キュー、40
…要求エントリー、41…優先度キューの前エントリーポ
インター、42…優先度キューの次エントリーポインタ
ー、43…全体キューの前エントリーポインター、44…全
体キューの次エントリーポインター、45…要求ポインタ
ー、46…宛先情報ポインター、47…キューイング時刻情
報、48…待ち数情報、50…サービス要求、51…宛先情
報、52…認証情報、53…優先度トークン情報、59…要求
の処理優先度、60…応答、69…優先度トークン制御情
報、71…優先度トークン情報の記憶・送出処理部、72…
優先度トークン制御処理部、91…プロセッサ、92…メモ
リ、93…外部記憶機構、94…通信機構、95…オペレータ
入出力機構、96…バス、97…通信回線、100…情報処理
プログラム、110…アドレス・処理優先度変換テーブ
ル、111…クライアントアドレスフィールド、112…サー
バアドレスフィールド、113…処理優先度フィールド、1
20…利用者・処理優先度変換テーブル、121…利用者認
証情報フィールド、122…処理優先度フィールド、131…
処理スループット計測処理部、132…最大コネクション
数自動チューニング処理部、151…優先度トークン解釈
処理部、152…優先度トークン生成・更新処理部、153…
優先度トークン返送処理部、240…各要求処理分布情
報、241-1〜241-m…分布情報エントリー、242…前回最
大要求処理数情報、245-1〜245-m…計測開始時刻、246-
1〜246-m…計測期間、247-1〜247-m…トータル処理数、
248-1〜248-m…平均処理数、291…更新可能期間フィー
ルド、292…最大更新回数フィールド、293…最大コネク
ション確立回数フィールド、294…規定コネクション確
立回数フィールド、295…規定コネクション待ち時間フ
ィールド、531…処理優先度情報、532…宛先アドレス情
報、533…有効期間情報、534…有効期間の初期開始時刻
情報、535…優先度トークンの更新回数情報、536…サー
バ装置へのコネクション確立回数情報、537…トータル
コネクション待ち時間情報
───────────────────────────────────────────────────── フロントページの続き (72)発明者 畔柳 幹介 神奈川県川崎市幸区鹿島田890番地 株式 会社日立製作所社会情報システム事業部内 (72)発明者 青木 英郎 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内 (72)発明者 野田 文雄 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内 Fターム(参考) 5K030 HA08 JA11 KX29 LA03 LB19 LC11 MB09 5K033 CA15 CB06 CB18 DB18

Claims (27)

    【特許請求の範囲】
  1. 【請求項1】サーバ装置に対しサービス要求を発行する
    クライアント装置と、クライアント装置からのサービス
    要求を受けて、サービスを提供するサーバ装置とからな
    るサービスシステムにおいて、前記クライアント装置と
    前記サーバ装置間のデータ通信を中継するデータ通信中
    継装置であって、 前記クライアント装置から前記サーバ装置への要求に対
    し、宛先の前記サーバ装置にコネクションを中継するコ
    ネクション中継手段と、 確立したコネクションを使用してクライアント装置とサ
    ーバ装置間のデータ通信を中継するデータ中継手段を備
    え、 該データ通信中継装置は、サーバ装置に対して、確立し
    ているコネクション数を管理するコネクション管理手段
    と、 クライアント装置からサーバ装置に対する要求に対し
    て、前記コネクション管理手段の指示に従い、当該サー
    バ装置との間のコネクション数が所定のコネクション数
    以下になるように要求中継を制御する要求キューイング
    手段を備えることを特徴とするデータ通信中継装置。
  2. 【請求項2】請求項1のデータ通信中継装置において、 前記要求キューイング手段は、優先度別に複数の優先度
    キューを備え、 各要求に割り当てられた優先度に従って、各要求を、対
    応する優先キューに該要求をキューイングし、前記優先
    度キューから要求を取出す際には、優先度の高い前記優
    先度キューから要求を取出す優先キュー管理手段を備え
    ることを特徴とするデータ通信中継装置。
  3. 【請求項3】請求項2のデータ通信中継装置において、 前記優先キュー管理手段は、各要求に対し、優先度の高
    い要求に追い越された待ち数情報を保持し、 ある要求の待ち数情報が、ある最大待ち数を超えた場
    合、ある優先度以下の要求しかなければ、他に優先度が
    高い要求があっても、該要求を先にキューから取出して
    中継する、沈み込み防止手段を持つことを特徴とするデ
    ータ通信中継装置。
  4. 【請求項4】請求項3のデータ通信中継装置において、 前記沈み込み防止手段は、追い越し待ち数情報の代わり
    に、各要求に対し、要求到着時刻情報を保持し、 ある要求の要求時刻情報からの待ち時間が、ある最大待
    ち時間を超えた場合、ある優先度以下の要求しかなけれ
    ば、他に優先度が高い要求があっても、該要求を先にキ
    ューから取出して中継することを特徴とするデータ通信
    中継装置。
  5. 【請求項5】請求4のデータ通信中継装置において、 前記沈み込み防止手段は、待ち数情報と要求時刻情報を
    両方保持し、最大待ち数あるいは最大待ち時間のいずれ
    か一方が超えた場合、他に優先度が高い要求があって
    も、該要求を先にキューから取出して中継することを特
    徴とするデータ通信中継装置。
  6. 【請求項6】請求項1のデータ通信中継装置において、 前記要求キューイング手段は、優先度別に複数の優先度
    キューを備え、各要求に割り当てられた優先度に従っ
    て、各要求を、対応する優先度キューにキューイング
    し、 前記優先度キュー毎の確立可能なコネクション数情報を
    保持し、 いずれかの前記優先度キューから要求を取出す時は、当
    該優先度キューのコネクションが確立可能で、かつ優先
    度の高い前記優先度キューから順に要求を取出す優先キ
    ュー管理手段を持つことを特徴とするデータ通信中継装
    置。
  7. 【請求項7】請求項1のデータ通信中継装置において、 前記コネクション中継手段が、前記要求の宛先となる前
    記サーバ装置向けの複数の通信路から、各要求に割り当
    てられた優先度に基づいて通信路を選択してコネクショ
    ンを設定するか、または、 前記データ中継手段が、中継するデータに、各要求に割
    り当てられた優先度に対応した優先度情報を設定し、優
    先度別のデータ中継を行うことを特徴とするデータ通信
    中継装置。
  8. 【請求項8】請求項1のデータ通信中継装置において、 前記データ通信中継装置が、 クライアント装置のアドレス、または、クライアント装
    置のアドレスと宛先サーバ装置のアドレスのペアに対し
    て、各要求の優先度へマッピングする優先度設定手段を
    持つことを特徴とするデータ通信中継装置。
  9. 【請求項9】請求項1のデータ通信中継装置において、 前記データ通信中継装置が、 クライアント装置の要求と共に提供されたクライアント
    装置の利用者の認証情報から各要求の優先度へマッピン
    グする優先度マッピング手段を持つことを特徴とするデ
    ータ通信中継装置。
  10. 【請求項10】請求項1のデータ通信中継装置におい
    て、 クライアント装置の要求と共に提供された優先度トーク
    ン情報から各要求の優先度へマッピングする優先度マッ
    ピング手段を持つことを特徴とするデータ通信中継装
    置。
  11. 【請求項11】請求項10のデータ通信中継装置におい
    て、上記優先度トークン情報は、宛先のサーバ装置また
    はサーバ装置群のアドレス情報と、優先度情報を含み、 上記優先度マッピング手段は、宛先のサーバ装置のアド
    レスが、該優先度トークン情報に含まれる宛先のサーバ
    装置またはサーバ装置群のアドレス情報に当てはまる場
    合に、該優先度トークン情報の優先度情報に従って、該
    要求の優先度を決定することを特徴とするデータ通信中
    継装置。
  12. 【請求項12】請求項11のデータ通信中継装置におい
    て、上記優先度トークン情報は、さらに、該優先度トー
    クンの有効期間情報を含み、 上記優先度マッピング手段は、クライアント装置から要
    求と共に提供された優先度トークン情報の有効期間情報
    をチェックし、該優先度トークン情報が有効であれば前
    記該優先度トークン情報に従った優先度へのマッピング
    処理を行い、有効でなければ、その他の情報を基に優先
    度へのマッピング処理を行うことを特徴とするデータ通
    信中継装置。
  13. 【請求項13】請求項10のデータ通信中継装置を用い
    たデータ通信中継システムにおいて、 上記優先度マッピング手段は、クライアント装置からの
    要求に対して、優先度トークン情報を生成して返す手段
    を備え、前記クライアント装置は、返された優先度トー
    クン情報を使って要求を出す手段を持つことを特徴とす
    るデータ通信中継システム。
  14. 【請求項14】請求項10のデータ通信中継装置におい
    て、 前記優先度マッピング手段は、優先度トークン生成・更
    新手段と、優先度トークン返送手段を持ち、 優先度トークン生成・更新手段は、クライアント装置か
    ら優先度トークン情報の提供がない場合は、所定の条件
    で、優先度トークン情報を生成し、クライアント装置か
    ら優先度トークン情報の提供がある場合は、所定の条件
    で、該優先度トークンを更新あるいは破棄する処理を行
    い、 優先度トークン返送手段は、該優先度トークン生成・更
    新手段で、生成または更新された優先度トークン情報を
    クライアント装置返すことを特徴とするデータ通信中継
    装置。
  15. 【請求項15】請求項14のデータ通信中継装置におい
    て、 前記要求キューイング手段は、サーバ装置に対応して、
    最大キューイング数情報を保持し、 該最大キューイング数を超える要求をクライアント装置
    から受信した場合、上記優先度トークン生成・更新手段
    が、より高い優先度にマッピング可能な優先度トークン
    情報を作成し、 上記優先度トークン返送手段は、作成された優先度トー
    クン情報を輻輳エラー情報と共にクライアント装置に返
    すことを特徴とするデータ通信中継装置。
  16. 【請求項16】請求項14のデータ通信中継装置におい
    て、 前記要求キューイング手段は、サーバ装置に対応して、
    最大キューイング時間情報を保持し、 クライアント装置から受信した要求が該最大キューイン
    グ時間を超えた場合、上記優先度トークン生成・更新手
    段が、より高い優先度にマッピング可能な優先度トーク
    ン情報を作成し、 上記優先度トークン返送手段は、作成された優先度トー
    クン情報をタイムアウトエラー情報と共にクライアント
    装置に返すことを特徴とするデータ通信中継装置。
  17. 【請求項17】請求項14のデータ通信中継装置におい
    て、 前記優先度トークン情報は、サーバ装置情報、有効期間
    情報、優先度情報に加え、 初期生成時の有効期間の初期開始時刻情報、優先度トー
    クン更新回数情報、サーバ装置へのコネクション確立回
    数、トータルコネクション待ち時間情報のいずれか1つ
    以上を含み、 上記優先度トークン生成・更新手段は、初期開始時刻か
    らのある更新可能期間内、あるいは、ある最大更新回
    数、または、ある最大コネクション確立回数を超えない
    場合に、優先度トークン情報の更新を行い、該条件を満
    たさない場合は、新たな優先度トークン情報を生成する
    か、優先度トークン情報を廃棄し、 所定のコネクション確立回数、または、所定のコネクシ
    ョン待ち時間以上、または、上記最大キューイング数を
    超える場合、より高い優先度へのマッピングを可能とす
    る優先度情報を作成し、 優先度トークン情報を更新または生成する場合、有効期
    間情報、更新回数情報、コネクション確立回数情報、コ
    ネクション待ち時間情報を更新あるいは初期設定し、 当該情報と前記優先度情報とから、新たな優先度トーク
    ン情報を作成することを特徴とするデータ通信中継装
    置。
  18. 【請求項18】請求項13のデータ通信中継装置を用い
    たデータ通信中継システムにおいて、 前記サーバ装置は、前記クライアント装置に応答を返す
    際に、前記データ通信中継装置の優先度トークン生成・
    更新手段に対し、優先度トークン情報の生成・更新の可
    否および/または優先度変更を指示する優先度トークン
    制御情報を応答に付加して返送する優先度トークン制御
    手段を備え、 前記データ通信中継装置の優先度トークン生成・更新手
    段は、該優先度トークン制御情報の指示を参照して、優
    先度トークン情報の生成・更新を行うことを特徴とする
    データ通信中継システム。
  19. 【請求項19】請求項18に記載のデータ通信中継装置
    において、 優先度トークン返送手段は、優先度トークン情報を暗号
    化してクライアント装置に返送することを特徴とするデ
    ータ通信中継装置。
  20. 【請求項20】請求項19に記載のデータ通信中継装置
    において、 当該データ通信中継装置を設定するための1つ以上のパ
    ラメータを、特定の宛先サーバ装置またはサーバ装置群
    に対応して設定する手段を持つことを特徴とするデータ
    通信中継装置。
  21. 【請求項21】請求項1に記載のデータ通信中継装置に
    おいて、 処理スループット計測手段と、最大コネクション数自動
    チューニング手段を持ち、 該処理スループット計測手段は、サーバ装置毎に単位時
    間あたりの要求処理数を計測し、 最大コネクション数の自動チューニング手段は、該処理
    スループット計測手段により得られた要求処理数情報を
    用い、該サーバ装置に対する現在の最大コネクション数
    設定値に達しても、該サーバ装置あるいはサーバ装置群
    の単位時間あたりの要求処理数が低下しない場合は、該
    サーバ装置の最大コネクション数を増加させ、最大コネ
    クション数設定値付近では、要求処理数が減少傾向にあ
    る場合は、該最大コネクション数値を減少させることを
    特徴とするデータ通信中継装置。
  22. 【請求項22】請求項21に記載のデータ通信中継装置
    において、 該処理スループット計測手段は、サーバ装置毎に、現在
    コネクション数に対する単位時間あたりの要求処理数分
    布を計測し 最大コネクション数の自動チューニング手段は、該処理
    スループット計測手段により得られた要求処理数の分布
    情報を用い、該サーバ装置あるいはサーバ装置群に対す
    る現在の最大コネクション数設定値の現在コネクション
    数がある場合の単位時間の要求処理数が、他の現在コネ
    クション数の要求処理数より高い場合は、該サーバ装置
    あるいはサーバ装置群の最大コネクション数をある範囲
    内で増加させ、現在の最大コネクション数設定値未満の
    現在コネクション数に対する単位時間の要求処理数の方
    が高い場合は、最大コネクション数値を減少させること
    を特徴とするデータ通信中継装置。
  23. 【請求項23】請求項1に記載のデータ通信中継装置を
    用い、 前記サーバ装置は、並列に処理する前記クライアント装
    置からの要求数をある一定数以下に抑えて処理すること
    を特徴とするデータ通信中継システム。
  24. 【請求項24】請求項1ないし19いずれか一に記載の
    データ通信中継装置を用い、前記サーバ装置への前記ク
    ライアント装置の要求を、他の前記クライアント装置か
    らの要求に優先して処理することを特徴とするデータ通
    信中継システム。
  25. 【請求項25】請求項1に記載のデータ通信中継装置に
    おいて、 前記コネクション管理手段が、複数のサーバ装置からな
    るサーバ装置群を1つのサーバ装置としてコネクション
    管理を行うことを特徴とするデータ通信中継装置。
  26. 【請求項26】請求項1に記載のデータ通信中継装置に
    おいて、 前記コネクション中継手段が、宛先のサーバ装置に対応
    してコネクションの中継先を定義した情報を用い、指定
    の中継先にコネクションを中継することを特徴とするデ
    ータ通信中継装置。
  27. 【請求項27】請求項15または16に記載のデータ通
    信中継装置において、 前記優先度トークン生成・更新手段が、より高い優先度
    にマッピング可能な優先度トークン情報を作成する際、
    所定の期間後以降に有効となる有効期間を設定した優先
    度トークン情報を作成することを特徴とするデータ通信
    中継装置。
JP2002084748A 2002-03-26 2002-03-26 データ通信中継装置及びシステム Expired - Fee Related JP3828444B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2002084748A JP3828444B2 (ja) 2002-03-26 2002-03-26 データ通信中継装置及びシステム
EP02019472A EP1349339A3 (en) 2002-03-26 2002-08-30 Data relaying apparatus and system using the same
US10/231,265 US7130912B2 (en) 2002-03-26 2002-08-30 Data communication system using priority queues with wait count information for determining whether to provide services to client requests

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002084748A JP3828444B2 (ja) 2002-03-26 2002-03-26 データ通信中継装置及びシステム

Publications (2)

Publication Number Publication Date
JP2003283556A true JP2003283556A (ja) 2003-10-03
JP3828444B2 JP3828444B2 (ja) 2006-10-04

Family

ID=27800417

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002084748A Expired - Fee Related JP3828444B2 (ja) 2002-03-26 2002-03-26 データ通信中継装置及びシステム

Country Status (3)

Country Link
US (1) US7130912B2 (ja)
EP (1) EP1349339A3 (ja)
JP (1) JP3828444B2 (ja)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007180937A (ja) * 2005-12-28 2007-07-12 Kddi Corp コネクション確立要求の受付方法、装置およびプログラムならびにコネクション確立要求装置
JP2007251653A (ja) * 2006-03-16 2007-09-27 Sony Corp 通信装置及び送信制御方法及び送信制御プログラム
JP2007329617A (ja) * 2006-06-07 2007-12-20 Nippon Telegr & Teleph Corp <Ntt> 通信制御処理実行方法およびシステム、ならびにそのプログラム
JP2008070996A (ja) * 2006-09-13 2008-03-27 Sumitomo Electric Ind Ltd 交通管制システム用通信装置、交通信号制御機、光ビーコン、車番読取装置、信号制御装置、情報提供装置
JP2009169704A (ja) * 2008-01-17 2009-07-30 Fujitsu Ltd リクエスト受付処理プログラム、情報処理装置、及びリクエスト受付処理方法
US7720949B2 (en) 2004-03-01 2010-05-18 Fujitsu Limited Method and apparatus for relay control and computer product
JP2010171722A (ja) * 2009-01-22 2010-08-05 Fuji Electric Holdings Co Ltd 中継サーバを有するネットワークシステム、その中継サーバ、プログラム
JP2010219979A (ja) * 2009-03-18 2010-09-30 Fuji Electric Holdings Co Ltd 中継サーバを有するネットワークシステム、その中継サーバ、プログラム
JP2013069283A (ja) * 2011-09-20 2013-04-18 Toshiba Corp 文書管理装置
WO2013128534A1 (ja) * 2012-02-27 2013-09-06 三菱電機株式会社 中継局装置及び中継方法及びプログラム
JP2013201522A (ja) * 2012-03-23 2013-10-03 Nippon Telegraph & Telephone West Corp パケット中継装置
WO2014016916A1 (ja) * 2012-07-25 2014-01-30 三菱電機株式会社 通信装置及び中継装置
WO2014020779A1 (ja) * 2012-08-03 2014-02-06 トヨタ自動車株式会社 データ送信装置、通信制御方法、及び通信制御プログラム
JP2014057149A (ja) * 2012-09-11 2014-03-27 Toshiba Corp 通信装置、中継装置および通信方法
WO2015008315A1 (ja) * 2013-07-16 2015-01-22 三菱電機株式会社 メッセージ送受信装置、自動検針システム、およびメッセージ送受信方法
JP2015165634A (ja) * 2014-03-03 2015-09-17 富士通株式会社 情報処理装置、情報処理システム、及び、情報処理方法
JP2019040344A (ja) * 2017-08-24 2019-03-14 富士通株式会社 送信制御プログラム、送信制御装置および送信制御方法
JP2023011043A (ja) * 2018-09-21 2023-01-20 株式会社日本総合研究所 クライアント装置、システム、管理装置及びプログラム
JP7535967B2 (ja) 2021-03-19 2024-08-19 株式会社Kokusai Electric 管理装置、データ処理方法、プログラム、半導体装置の製造方法および処理システム

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004139291A (ja) * 2002-10-17 2004-05-13 Hitachi Ltd データ通信中継装置
JP4066833B2 (ja) * 2003-02-18 2008-03-26 日本電気株式会社 ディスクアレイ制御装置及び方法並びにディスクアレイ制御プログラム
US8423662B1 (en) * 2003-04-28 2013-04-16 Akamai Technologies, Inc. Forward request queuing in a distributed edge processing environment
US7991918B2 (en) * 2003-06-05 2011-08-02 Nvidia Corporation Transmitting commands and information between a TCP/IP stack and an offload unit
US7420931B2 (en) * 2003-06-05 2008-09-02 Nvidia Corporation Using TCP/IP offload to accelerate packet filtering
JP3809429B2 (ja) * 2003-07-25 2006-08-16 キヤノン株式会社 管理装置及びその制御方法
US8244880B2 (en) * 2003-10-22 2012-08-14 International Business Machines Corporation Connection management method, system, and program product
KR100991891B1 (ko) * 2003-10-22 2010-11-04 인터내셔널 비지네스 머신즈 코포레이션 접속 관리 방법 및 시스템과 컴퓨터 판독가능 저장 매체
JP2005184165A (ja) * 2003-12-17 2005-07-07 Hitachi Ltd トラフィック制御装置およびそれを用いたサービスシステム
EP1715634A4 (en) * 2004-02-09 2011-06-29 Vodafone Plc DISTRIBUTION REQUEST CONTROL METHOD AND UNIT AND DISTRIBUTION REQUEST CONTROL PROGRAM
US7673018B2 (en) * 2004-04-08 2010-03-02 Research In Motion Limited Message send queue reordering based on priority
US7594022B2 (en) * 2004-04-21 2009-09-22 Microsoft Corporation Regulating client requests in an electronic messaging environment
US7546308B1 (en) * 2004-09-17 2009-06-09 Symantec Operating Corporation Model and method of an n-tier quality-of-service (QoS)
JP4343119B2 (ja) * 2005-01-19 2009-10-14 富士通株式会社 中継制御プログラムおよびその記録媒体、中継制御方法ならびに中継制御装置
US8171138B2 (en) 2005-02-15 2012-05-01 Microsoft Corporation System and method for applying flexible attributes to execute asynchronous network requests
US20060288093A1 (en) * 2005-05-31 2006-12-21 Jefferson Raley System and method for information handling system custom application ordering and installation
US7873963B1 (en) * 2005-10-25 2011-01-18 Netapp, Inc. Method and system for detecting languishing messages
US7512707B1 (en) * 2005-11-03 2009-03-31 Adobe Systems Incorporated Load balancing of server clusters
US7904759B2 (en) * 2006-01-11 2011-03-08 Amazon Technologies, Inc. System and method for service availability management
US9037698B1 (en) 2006-03-14 2015-05-19 Amazon Technologies, Inc. Method and system for collecting and analyzing time-series data
US8150970B1 (en) 2007-10-12 2012-04-03 Adobe Systems Incorporated Work load distribution among server processes
US8261323B2 (en) 2008-07-11 2012-09-04 International Business Machines Corporation Managing logical sockets
JP5032543B2 (ja) * 2009-09-16 2012-09-26 株式会社東芝 スケジューリング装置、方法及びプログラム
US20110153381A1 (en) * 2009-12-18 2011-06-23 Saryu Shah Method and System for Smart Queuing of Test Requests
US8406234B2 (en) * 2010-12-08 2013-03-26 Motorola Solutions, Inc. Method and apparatus for processing multiple incoming calls in a single device
JP5238829B2 (ja) 2011-01-13 2013-07-17 株式会社東芝 データ収集装置、データ収集プログラム、およびデータ収集システム
US8856364B2 (en) 2011-03-11 2014-10-07 Google Inc. Conducting opportunistic network updates on a mobile device
US9608908B2 (en) * 2011-03-29 2017-03-28 Nec Corporation Network system and VLAN tag data acquiring method
EP2751702B1 (en) * 2011-09-01 2018-05-16 Google LLC Establishing network connections
US20130066943A1 (en) * 2011-09-13 2013-03-14 International Business Machines Corporation Application-Aware Quality Of Service In Network Applications
US8914521B2 (en) 2011-09-27 2014-12-16 Oracle International Corporation System and method for providing active-passive routing in a traffic director environment
GB2507294A (en) 2012-10-25 2014-04-30 Ibm Server work-load management using request prioritization
TWI487331B (zh) * 2012-12-18 2015-06-01 Wistron Corp 管理網路傳輸順序之方法及其非揮發性電腦可讀媒體
US9806960B2 (en) * 2013-11-25 2017-10-31 Google Inc. Method and system for adjusting heavy traffic loads between personal electronic devices and external services
US9792305B1 (en) * 2014-10-30 2017-10-17 Amazon Technologies, Inc. System for controlling access to stored values
US9775035B2 (en) 2015-09-14 2017-09-26 GM Global Technology Operations LLC Architecture and apparatus for controller secure message processing
US10178421B2 (en) * 2015-10-30 2019-01-08 Rovi Guides, Inc. Methods and systems for monitoring content subscription usage
JP6532385B2 (ja) * 2015-11-02 2019-06-19 キヤノン株式会社 情報処理システムおよびその制御方法、並びにプログラム
US9942354B1 (en) * 2016-03-29 2018-04-10 Amazon Technologies, Inc. Managing service message rates in a computing service environment
US11416912B2 (en) * 2016-05-13 2022-08-16 Digital River, Inc. High volume transaction queueing with machine learning
US10142262B2 (en) 2016-05-31 2018-11-27 Anchorfree Inc. System and method for improving an aggregated throughput of simultaneous connections
CN106534281B (zh) * 2016-10-25 2019-09-24 Oppo广东移动通信有限公司 一种数据请求的响应方法、装置及系统
US10223158B2 (en) 2016-12-14 2019-03-05 International Business Machines Corporation Application execution environment
CN109327511B (zh) * 2018-09-18 2021-05-28 网宿科技股份有限公司 一种基于http协议的数据请求方法和服务器
US11032392B1 (en) * 2019-03-21 2021-06-08 Amazon Technologies, Inc. Including prior request performance information in requests to schedule subsequent request performance
CN112561650B (zh) * 2020-12-17 2024-02-02 深圳希施玛数据科技有限公司 一种订单服务请求的处理系统
US12019542B2 (en) * 2022-08-08 2024-06-25 Google Llc High performance cache eviction

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04150542A (ja) * 1990-10-12 1992-05-25 Nec Corp 着呼接続制御装置
JPH06232904A (ja) * 1993-02-05 1994-08-19 Hitachi Ltd ルータにおける優先度制御方式
JPH0997233A (ja) * 1995-09-28 1997-04-08 Nec Corp オンライン情報処理システムにおける負荷分散方法
JPH10229405A (ja) * 1997-02-14 1998-08-25 Hitachi Ltd Atmスイッチおよび呼受付優先制御方法
JP2001069175A (ja) * 1999-08-27 2001-03-16 Ntt Docomo Inc セッション情報管理方法およびセッション情報管理装置
WO2002007395A1 (fr) * 2000-07-19 2002-01-24 Hitachi, Ltd. Systeme de transfert preferentiel d'informations sur le web

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US55980A (en) * 1866-07-03 Improvement in water-elevators
US6381639B1 (en) * 1995-05-25 2002-04-30 Aprisma Management Technologies, Inc. Policy management and conflict resolution in computer networks
US6003082A (en) * 1998-04-22 1999-12-14 International Business Machines Corporation Selective internet request caching and execution system
US6427161B1 (en) * 1998-06-12 2002-07-30 International Business Machines Corporation Thread scheduling techniques for multithreaded servers
US6535509B2 (en) * 1998-09-28 2003-03-18 Infolibria, Inc. Tagging for demultiplexing in a network traffic server
JP3833409B2 (ja) 1999-02-05 2006-10-11 株式会社日立製作所 通信プロキシ装置
US6308238B1 (en) * 1999-09-24 2001-10-23 Akamba Corporation System and method for managing connections between clients and a server with independent connection and data buffers
US6604046B1 (en) * 1999-10-20 2003-08-05 Objectfx Corporation High-performance server architecture, methods, and software for spatial data
AU2001264844A1 (en) 2000-05-24 2001-12-03 Cohere Networks, Inc. Apparatus, system, and method for balancing loads to network servers
JP2002140309A (ja) 2000-11-02 2002-05-17 Hitachi Ltd サービスシステム
US20020055982A1 (en) * 2000-11-03 2002-05-09 The Board Of Regents Of The University Of Nebraska Controlled server loading using L4 dispatching
US20030046394A1 (en) * 2000-11-03 2003-03-06 Steve Goddard System and method for an application space server cluster
US6944678B2 (en) * 2001-06-18 2005-09-13 Transtech Networks Usa, Inc. Content-aware application switch and methods thereof
CA2415043A1 (en) * 2002-12-23 2004-06-23 Ibm Canada Limited - Ibm Canada Limitee A communication multiplexor for use with a database system implemented on a data processing system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04150542A (ja) * 1990-10-12 1992-05-25 Nec Corp 着呼接続制御装置
JPH06232904A (ja) * 1993-02-05 1994-08-19 Hitachi Ltd ルータにおける優先度制御方式
JPH0997233A (ja) * 1995-09-28 1997-04-08 Nec Corp オンライン情報処理システムにおける負荷分散方法
JPH10229405A (ja) * 1997-02-14 1998-08-25 Hitachi Ltd Atmスイッチおよび呼受付優先制御方法
JP2001069175A (ja) * 1999-08-27 2001-03-16 Ntt Docomo Inc セッション情報管理方法およびセッション情報管理装置
WO2002007395A1 (fr) * 2000-07-19 2002-01-24 Hitachi, Ltd. Systeme de transfert preferentiel d'informations sur le web

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
信学技報 MOMUC2002-46, JPN4005008371, ISSN: 0000749695 *

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7720949B2 (en) 2004-03-01 2010-05-18 Fujitsu Limited Method and apparatus for relay control and computer product
JP2007180937A (ja) * 2005-12-28 2007-07-12 Kddi Corp コネクション確立要求の受付方法、装置およびプログラムならびにコネクション確立要求装置
JP4666501B2 (ja) * 2005-12-28 2011-04-06 Kddi株式会社 コネクション確立要求の受付方法、装置およびプログラムならびにコネクション確立要求装置
JP2007251653A (ja) * 2006-03-16 2007-09-27 Sony Corp 通信装置及び送信制御方法及び送信制御プログラム
US7924721B2 (en) 2006-03-16 2011-04-12 Sony Corporation Communication apparatus, transmission control method, and transmission control program
JP2007329617A (ja) * 2006-06-07 2007-12-20 Nippon Telegr & Teleph Corp <Ntt> 通信制御処理実行方法およびシステム、ならびにそのプログラム
JP2008070996A (ja) * 2006-09-13 2008-03-27 Sumitomo Electric Ind Ltd 交通管制システム用通信装置、交通信号制御機、光ビーコン、車番読取装置、信号制御装置、情報提供装置
JP2009169704A (ja) * 2008-01-17 2009-07-30 Fujitsu Ltd リクエスト受付処理プログラム、情報処理装置、及びリクエスト受付処理方法
JP2010171722A (ja) * 2009-01-22 2010-08-05 Fuji Electric Holdings Co Ltd 中継サーバを有するネットワークシステム、その中継サーバ、プログラム
JP2010219979A (ja) * 2009-03-18 2010-09-30 Fuji Electric Holdings Co Ltd 中継サーバを有するネットワークシステム、その中継サーバ、プログラム
JP2013069283A (ja) * 2011-09-20 2013-04-18 Toshiba Corp 文書管理装置
WO2013128534A1 (ja) * 2012-02-27 2013-09-06 三菱電機株式会社 中継局装置及び中継方法及びプログラム
JP2013201522A (ja) * 2012-03-23 2013-10-03 Nippon Telegraph & Telephone West Corp パケット中継装置
CN104487954A (zh) * 2012-07-25 2015-04-01 三菱电机株式会社 通信装置以及中继装置
WO2014016916A1 (ja) * 2012-07-25 2014-01-30 三菱電機株式会社 通信装置及び中継装置
US9703736B2 (en) 2012-08-03 2017-07-11 Toyota Jidosha Kabushiki Kaisha Data transmission apparatus, communication control method, and communication control program
WO2014020779A1 (ja) * 2012-08-03 2014-02-06 トヨタ自動車株式会社 データ送信装置、通信制御方法、及び通信制御プログラム
JP2014033339A (ja) * 2012-08-03 2014-02-20 Toyota Motor Corp データ送信装置、通信制御方法、及び通信制御プログラム
JP2014057149A (ja) * 2012-09-11 2014-03-27 Toshiba Corp 通信装置、中継装置および通信方法
WO2015008315A1 (ja) * 2013-07-16 2015-01-22 三菱電機株式会社 メッセージ送受信装置、自動検針システム、およびメッセージ送受信方法
JP6053914B2 (ja) * 2013-07-16 2016-12-27 三菱電機株式会社 メッセージ送受信装置、自動検針システム、およびメッセージ送受信方法
JP2015165634A (ja) * 2014-03-03 2015-09-17 富士通株式会社 情報処理装置、情報処理システム、及び、情報処理方法
JP2019040344A (ja) * 2017-08-24 2019-03-14 富士通株式会社 送信制御プログラム、送信制御装置および送信制御方法
JP2023011043A (ja) * 2018-09-21 2023-01-20 株式会社日本総合研究所 クライアント装置、システム、管理装置及びプログラム
JP7432691B2 (ja) 2018-09-21 2024-02-16 株式会社日本総合研究所 クライアント装置及びシステム
JP7535967B2 (ja) 2021-03-19 2024-08-19 株式会社Kokusai Electric 管理装置、データ処理方法、プログラム、半導体装置の製造方法および処理システム

Also Published As

Publication number Publication date
US7130912B2 (en) 2006-10-31
EP1349339A3 (en) 2005-08-03
EP1349339A2 (en) 2003-10-01
US20030188013A1 (en) 2003-10-02
JP3828444B2 (ja) 2006-10-04

Similar Documents

Publication Publication Date Title
JP2003283556A (ja) データ通信中継装置及びシステム
EP1320237B1 (en) System and method for controlling congestion in networks
US8667120B2 (en) Load control device and method thereof for controlling requests sent to a server
JP4758362B2 (ja) 中継装置、プログラム及び中継方法
US20050038874A1 (en) System and method for downloading data using a proxy
CN106330855B (zh) 通信系统、管理服务器以及控制方法
US7734734B2 (en) Document shadowing intranet server, memory medium and method
JP6289092B2 (ja) 情報処理装置、その制御方法およびコンピュータプログラム
US9866407B2 (en) Information processing system, cloud server, device control method, and non-transitory computer-readable recording medium encoded with device control program
JP2004139291A (ja) データ通信中継装置
JP2012118709A (ja) 配信システム、ストレージ容量決定プログラム、及びストレージ容量決定方法
JP2005184165A (ja) トラフィック制御装置およびそれを用いたサービスシステム
US20140143573A1 (en) Communication device and method
JP2008059040A (ja) 負荷制御システムおよび方法
JP2003296272A (ja) 通信システム,通信装置およびクライアント側通信端末
JP4646931B2 (ja) サーバ装置およびリクエスト整理方法
US11360727B2 (en) Non-transitory computer-readable medium, terminal management apparatus and terminal management system configured to transmit a received instruction to a relay apparatus without being divided
JP5024024B2 (ja) スプールサーバ及びデータ通信制御方法
JP4736407B2 (ja) 中継装置
JP2008269004A (ja) データ処理装置、データ処理方法、およびコンピュータプログラム
KR20090042542A (ko) 더미 메시지를 이용하여 웹 서비스의 품질 데이터를추출하는 방법
JP4483633B2 (ja) ハードウェアリソースの状態を管理するための情報処理装置、方法及びプログラム
JP2002024191A (ja) Wwwシステム、wwwサーバのトラフィック緩和方法、及びwwwサーバ
JPH08202568A (ja) 通信管理方式
JP2009231892A (ja) 中継装置およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040330

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050815

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051018

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20051214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051219

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20060419

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060515

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060706

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20090714

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100714

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100714

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110714

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110714

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120714

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130714

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees