JP2003131960A - データ中継方法 - Google Patents

データ中継方法

Info

Publication number
JP2003131960A
JP2003131960A JP2001328507A JP2001328507A JP2003131960A JP 2003131960 A JP2003131960 A JP 2003131960A JP 2001328507 A JP2001328507 A JP 2001328507A JP 2001328507 A JP2001328507 A JP 2001328507A JP 2003131960 A JP2003131960 A JP 2003131960A
Authority
JP
Japan
Prior art keywords
server
client
data
request
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
JP2001328507A
Other languages
English (en)
Inventor
Osamu Takeuchi
理 竹内
Damien Le Moal
モアル ダミエ レ
Masaru Nomura
賢 野村
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 JP2001328507A priority Critical patent/JP2003131960A/ja
Priority to US10/116,210 priority patent/US20030084140A1/en
Publication of JP2003131960A publication Critical patent/JP2003131960A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • 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
    • H04L67/1029Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
    • 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/10015Access to distributed or replicated servers, e.g. using brokers

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer And Data Communications (AREA)

Abstract

(57)【要約】 【課題】クライアント群に対してサービス提供するサー
バ群の負荷分散を適切に行なうことにより、各クライア
ントに提供するサービス品質を保証する。 【解決手段】クライアントがサービス実行要求を送信す
る前に、当該サービス実行のために必要となるサーバ資
源を予約する要求を負荷分散ノードに送信する。負荷分
散ノードは、サーバごとに現在予約されているサーバ資
源の総量を管理する。そして、要求されたサーバ資源を
割り当てる余裕のあるサーバを選択する。そして、負荷
分散ノードは、クライアントからサービス実行要求を受
信した際に、当該要求を上記選択したサーバに送信す
る。

Description

【発明の詳細な説明】
【0001】
【発明が属する技術分野】本発明は、データ中継方法、
特にクライアント群に対してサービス提供するサーバ群
の負荷分散を適切に行なうことにより、各クライアント
に提供するサービス品質を保証するデータ中継方法及び
装置に関する。
【0002】
【従来の技術】クライアント群に対してサービス提供す
るサーバ群の負荷を、各サーバが過負荷にならないよう
適切に分散させることにより、クライアントに提供する
サービス品質を保証する方法としては、特開2001-10113
4に示される方法が知られていた。
【0003】この方法では、クライアントとサーバ群と
の間で送受される要求及び応答を、すべてその間に介在
する負荷分散装置が中継する。また、負荷分散装置と隣
接させてサーバ振り分け装置を置く。サーバ振り分け装
置も、上記要求及び応答の内容、及び送受された時刻
を、パケットキャプチャにより監視している。
【0004】負荷分散装置は、クライアントから要求を
受け取ったら、当該要求を転送すべき最適なサーバをサ
ーバ振り分け装置に問い合わせる。
【0005】サーバ振り分け装置は、過去に送受された
要求の内容(サーバが提供したサービスの種類)、及
び、各要求を送受してから応答が送受されるまでの時間
(サーバがサービス提供のために要した時間)から、各
サービスを提供するために必要な各サーバの負荷、及び
現在の各サーバの負荷状況を、シミュレーションを用い
て予測する。そして、現在最も負荷に余裕のあるサーバ
を最適なサーバとして選択し、負荷分散装置に通知す
る。
【0006】上記通知を受けた負荷分散装置は、通知で
指定されたサーバに対してクライアントからの要求を転
送する。
【0007】
【発明が解決しようとする課題】上記方式には、以下に
示す問題がある。 1)サーバの負荷予測が正確でない。例えば、サーバが
サービス提供のために使用しているディスク帯域が増大
していく場合と、CPU時間が増大していく場合では、サ
ービス提供のために要する時間の増大の度合が変化す
る。そのため、ある要求を受け入れる余裕がサーバにあ
るか否か(要求を受け入れることによりサービス提供の
ために要する時間が大きく増大するか否か)を判断する
ためには、各種資源(使用ディスク帯域、使用ネットワ
ーク帯域、使用CPU時間)の使用状況を監視する必要が
ある。しかし、上記方式ではこの監視を行なっていな
い。 2)クライアントごとにサービス提供品質に差をつける
ことができない。例えば、サービス提供に対する対価を
支払っているクライアントにはサービス品質を保証し、
対価を支払っていないクライアントにはサービス品質を
保証しない、という様な処理を実現できない。 3)サービス品質保証が十分ではない。サーバは、サー
ビス品質を保証すべきクライアントにサービスを提供す
る際には、当該サービスのために必要なサーバの各種資
源(使用ディスク帯域、使用ネットワーク帯域、使用CP
U時間)を割り当てることを保証する必要がある。しか
し、上記方式ではこの割り当てを行なっていない。
【0008】本発明は、上記3つの課題を同時に解決す
る、すなわち、 A)各サーバが各種資源(使用CPU時間、使用ディスク
帯域、使用ネットワーク帯域)の資源別の使用状況を監
視することにより、サーバの負荷を正確に予測し、 B)クライアントごとにサービス提供品質の優先度付け
を実現し、 C)サーバがサービス品質を保証すべきクライアントに
サービスを提供する際に、サーバが当該サービスに必要
なサーバの各種資源を割り当てることを保証可能な、デ
ータ中継方法の提供を目的とする。
【0009】
【課題を解決するための手段】上記目的を達成するた
め、本発明ではネットワークを介して複数のサーバと負
荷分散ノードとクライアントが接続されていて、かつ、
上記負荷分散ノードがクライアントからサービス実行要
求を受信した後このサービス実行要求を上記サーバ群の
うちの1つのサーバに送信して、かつ、サービス実行要
求を受信したサーバがクライアントにサービスの実行結
果を送信するシステムにおいて、以下を特徴とするデー
タ中継方法を実現する。 1)クライアントがサービス実行要求を送信する前に、
当該サービス実行のために必要となるサーバ資源を予約
する要求を負荷分散ノードに送信する。 2)負荷分散ノードは、サーバごとに現在予約されてい
るサーバ資源の総量を管理する。そして、要求されたサ
ーバ資源を割り当てる余裕のあるサーバを選択する。 3)負荷分散ノードは、クライアントからサービス実行
要求を受信した際に、当該要求を上記2)で選択したサ
ーバに送信する。 4)負荷分散ノードは、クライアントが予約要求したサ
ーバ資源量をサーバに通知する。 5)サーバは、上記4)で通知された資源量を消費しな
がらクライアントから要求されたサービス実行を行な
う。
【0010】
【発明の実施の形態】以下、本発明の実施の形態を、図
面を用いて詳細に説明する。
【0011】図1に、本実施の形態のシステム構成を示
す。
【0012】クライアント1及びクライアント2(102)
は、サーバ1及びサーバ2(101)からサービス提供を
受ける。
【0013】各サーバはキャッシュ用記憶装置(105)
を備えたI/Oエンジン(104)を保持する。I/Oエンジン
がデータをキャッシュ用記憶装置から読み出し、クライ
アントに送信することにより、サービス提供を実現す
る。サーバは、このデータ転送の代行を実現するため、
キャッシュ指示(データを予めキャッシュ用記憶装置に
格納する指示)をI/Oエンジンに与える。サーバはキャ
ッシュ管理テーブル(107)を保持しており、自サーバ
に対応するI/Oエンジンがどのデータをキャッシュして
いるか判別可能である。このI/Oエンジンには専用OSが
搭載されている。そして、データを配送する際に必要と
なる資源(ディスク帯域、ネットワーク帯域、CPU時
間)をクライアントごとに割り当てられる。
【0014】各サーバが保持するI/Oエンジンが過負荷
にならないように、負荷分散ノード(103)はクライア
ントからの各種要求を各サーバに振り分ける中継装置で
ある。負荷分散ノードはサーバ資源管理テーブル(10
6)を保持し、各サーバが保持するI/Oエンジンの資源の
使用状況を監視している。そして、各資源の使用量が一
定量を超えないように、上記各種要求の振り分けを実行
する。また、この要求振り分けは、クライアントごとに
優先度を付けて(クライアントごとに保証しなければな
らないサービス提供品質を変えて)行なうこともでき
る。この実現のために、負荷分散ノードはクライアント
管理テーブル(106)を管理し、クライアントごとに保
証しなければならないサービス提供品質を管理する。
【0015】クライアントは、負荷分散ノードとの間に
要求コネクション(108)を確立している。この要求コ
ネクションを介して、資源予約要求、資源解放要求(サ
ービス実行結果を格納したデータ転送の際に必要となる
資源の予約、解放要求)、及びサービス実行要求、デー
タ転送要求(サーバに対するサービス実行の要求、実行
結果を格納したデータの転送の要求)(110)を発行す
る。また、同じくクライアントは、I/Oエンジンとの間
にデータコネクション(109)を確立している。このコ
ネクション上にサービス実行結果を格納したデータ(11
5)が流れる。
【0016】負荷分散ノードは、資源予約要求や資源解
放要求を受信すると、サーバ資源管理テーブルやクライ
アント管理テーブルを更新する。そして、I/Oエンジン
の使用資源量やクライアントごとのサービス提供品質を
管理する。資源予約や資源解放の結果は、資源予約応
答、資源解放応答(111)としてクライアントに返送さ
れる。
【0017】また、負荷分散ノードは、サービス実行要
求やデータ転送要求を受信すると、当該要求をサーバに
送信する(112)。この要求の実行結果は、サービス実
行応答、データ転送応答として、サーバから負荷分散ノ
ード(113)、負荷分散ノードからクライアント(111)
に送信される。
【0018】サーバは、サービス実行要求を受信した
ら、サービス実行を行なう。サービス実行を完了した
ら、キャッシュ指示やキャッシュ削除指示(114)をI/O
エンジンに与えて、当該サービスの実行結果をキャッシ
ュ用記憶装置に格納する。さらに、初期化指示を与え
て、データ転送の際に必要となる初期化処理(データコ
ネクションの確立等)を実行する。
【0019】さらに、サーバはデータ転送要求を受信し
たら、データ転送指示(114)をI/Oエンジンに与えて、
クライアントへのデータ送信をI/Oエンジンに実行させ
る。
【0020】図2〜図4に、本実施の形態のシステムで
使用しているテーブルのデータ構造を示す。
【0021】図2に、サーバ資源管理テーブル(106)
のデータ構造を示す。サーバ資源管理テーブルは、サー
バIPアドレス(201)、及び各サーバが保持しているI/O
エンジンの資源に関する情報(202〜207)を保持する。
I/Oエンジンの資源に関する情報は、ディスク帯域、ネ
ットワーク帯域、CPU時間のそれぞれに関する最大量
(使用可能な最大資源量)と使用量(現在の使用量)か
らなる。
【0022】図3に、クライアント管理テーブル(10
6)のデータ構造を示す。クライアント管理テーブル
は、クライアントIPアドレス(301)とクライアントご
とのサービス提供内容に関する情報(302〜307)からな
る。サービス提供内容に関する情報は、サービス種類
(提供しなければならないサービスの種類)、サービス
提供品質(保証しなければならなしサービス提供品
質)、必要ディスク帯域、必要ネットワーク帯域、必要
CPU時間(当該サービス実行結果を格納したデータを転
送する際に必要となるI/Oエンジンのディスク帯域、ネ
ットワーク帯域、CPU時間)、サーバIPアドレス(クラ
イアントからの要求を転送したサーバのIPアドレス)か
らなる。
【0023】図4に、キャッシュ管理テーブル(107)
のデータ構造を示す。キャッシュ管理テーブルは、キャ
ッシュの内容を特定する情報(401〜403)と当該キャッ
シュの使用時刻(404)からなる。キャッシュの内容を
特定するため、キャッシュの内容を得るために実行した
サービス種類、サービス提供品質、サービスパラメータ
(実行すべきサービスの内容を詳細に指定する各種パラ
メータ)を保持する。
【0024】図5〜図6に、本実施の形態のシステムで
送受される要求、応答、指示のデータ構造を示す。
【0025】図5に、資源予約要求、資源予約応答、資
源解放要求、資源解放応答、サービス実行要求、サービ
ス実行応答、データ転送要求、データ転送応答(110〜1
13)のデータ構造を示す。
【0026】資源予約要求、資源予約応答(501)は、 ・資源予約要求か資源予約応答であるかを判別するため
のフィールド ・クライアントIPアドレス ・サービス種類、サービス提供品質(クライアントが要
求するサービスの種類、及びサービスの提供品質) からなる。
【0027】資源解放要求、資源解放応答(502)は、 ・資源解放要求か資源解放応答であるかを判別するため
のフィールド ・クライアントIPアドレス からなる。
【0028】サービス実行要求、サービス実行応答(50
3)は、 ・サービス実行要求かサービス実行応答であるかを判別
するためのフィールド ・クライアントIPアドレス、データコネクション用クラ
イアントポート番号(データコネクションのクライアン
ト側の端点を指定する) ・I/OエンジンIPアドレス、データコネクション用サー
バポート番号(データコネクションのI/Oエンジン側の
端点を指定する) ・サービス種類、サービス提供品質、サービスパラメー
タ(クライアントが要求するサービス内容を指定する) ・必要ディスク帯域、必要ネットワーク帯域、必要CPU
時間(要求したサービスの実行結果を格納したデータを
送信するために必要となるI/Oエンジンの資源量) からなる。
【0029】データ転送要求、データ転送応答(504)
は、 ・サービス転送要求かサービス転送応答であるかを判別
するためのフィールド ・クライアントIPアドレス、データコネクション用クラ
イアントポート番号 ・I/OエンジンIPアドレス、データコネクション用サー
バポート番号 ・サービス種類、サービス提供品質、サービスパラメー
タ からなる。
【0030】図6に、キャッシュ指示、キャッシュ削除
指示、初期化指示、データ転送指示(114)のデータ構
造を示す。
【0031】キャッシュ指示及びキャッシュ削除指示
(601)は、 ・キャッシュ指示かキャッシュ削除指示であるかを判別
するためのフィールド ・サービス種類、サービス品質、サービスパラメータ ・データ(キャッシュすべきデータを格納する) からなる。
【0032】初期化指示(602)は、 ・初期化指示であることを判別するためのフィールド ・クライアントIPアドレス、データコネクション用クラ
イアントポート番号 ・必要ディスク帯域、必要ネットワーク帯域、必要CPU
時間 からなる。
【0033】データ転送指示(603)は、 ・データ転送指示であることを判別するためのフィール
ド ・クライアントIPアドレス、データコネクション用クラ
イアントポート番号 ・I/OエンジンIPアドレス、データコネクション用サー
バポート番号 ・サービス種類、サービス提供品質、サービスパラメー
タ からなる。
【0034】図7〜図11に本実施の形態のシステムに
おける、各ノードの動作フローを示す。
【0035】図7に、クライアント(102)の動作フロ
ーを示す。
【0036】クライアントは、まず、サービス実行要求
をサーバに要求する前に、サービス実行結果を格納した
データを転送する際に必要となる資源の予約を要求す
る。そのために、資源予約要求(501)を負荷分散ノー
ドに送信する(ステップ701)。そして、資源予約結果
を資源予約応答(501)として受信する(ステップ70
2)。資源予約要求に含めるべき、クライアントIPアド
レス、サービス種類、サービス提供品質の情報は、クラ
イアントが独自に決定し、設定する。
【0037】クライアントは、次にデータコネクション
用のポートを作成する(ステップ703)。
【0038】さらに、クライアントは、サービス実行要
求(503)をサーバに要求する。そのために、サービス
実行要求を負荷分散ノードに送信し(ステップ704)、
その結果をサービス実行応答(503)として受信する
(ステップ705)。サービス実行要求に含めるクライア
ントIPアドレス、データコネクション用クライアントポ
ート番号(ステップ703で作成したポートのポート番号
を指定する)、サービス種類、サービス提供品質、サー
ビスパラメータの情報のみを、クライアントが独自に決
定し、設定する。それ以外の情報は設定しない。
【0039】サービス実行応答を受信したら、クライア
ントはデータコネクションを確立する(ステップ70
6)。ステップ705で受信したサービス実行応答には、デ
ータコネクションのI/Oエンジン側の端点に関する情報
(I/OエンジンIPアドレス、データコネクション用サー
バポート番号)が格納されている。この情報で指定され
る端点とステップ703で指定したポートとの間にデータ
コネクションを確立する。
【0040】次に、クライアントは、ステップ704で要
求したサービス実行の結果を受信すべく、データ転送要
求(504)を負荷分散ノードに送信する(ステップ70
7)。この要求に含めるべきすべての情報はすべてクラ
イアントが独自に決定し、設定する。特に、データコネ
クションのクライアント側の端点に関する情報(クライ
アントIPアドレス、データコネクション用クライアント
ポート番号)は、ステップ703で作成したポートに関す
る情報を設定する。また、データコネクションのI/Oエ
ンジン側の端点に関する情報(I/OエンジンIPアドレ
ス、データコネクション用サーバポート番号)は、ステ
ップ705で受信したサービス実行応答に含まれていた情
報を設定する。この要求の結果としてデータ転送応答
(504)を負荷分散ノードから受信する。さらに、デー
タをI/Oエンジンから受信する(ステップ708)。
【0041】データをすべて受信したら、クライアント
は予約していた資源を解放すべく、資源解放要求(50
2)を負荷分散ノードに送信する(ステップ709)。この
結果を資源解放応答(502)として受信し(ステップ71
0)、すべての実行を終了する(ステップ711)。資源解
放要求に含めるべきクライアントIPアドレスは、クライ
アントが独自に決定し、設定する。
【0042】図8及び図9に、負荷分散ノード(103)
の動作フローを示す。
【0043】負荷分散ノードは、クライアントやサーバ
からの各種要求や各種応答の受信を契機に、動作を開始
する。各種要求を受信した際の動作フローを図8に、各
種応答を受信した際の動作フローを図9に示す。
【0044】図8に示すように、受信した要求の種別を
判別し(ステップ801)、要求に応じて以下のステッ
プを実行する。まず、資源予約要求を受信した際には、
ステップ802〜804を実行する。
【0045】ステップ802では、資源予約要求(501)に
格納されているサービス種類、サービス提供品質から、
サービス実行結果を格納したデータを送信する際に必要
となるディスク帯域、ネットワーク帯域、CPU時間を算
出している。
【0046】次に、ステップ803で、サーバ資源管理テ
ーブルを参照している。そして、各テーブルに格納され
ているディスク帯域、ネットワーク帯域、CPU時間の最
大量と使用量(202〜207)から、ステップ802で算出し
た資源量を提供可能なI/Oエンジン、及び当該I/Oエンジ
ンを保持するサーバを決定する。
【0047】最後に、ステップ804で、クライアント管
理テーブルにエントリを追加する。クライアント管理テ
ーブルの情報(301〜307)は、以下のように設定する。 ・クライアントIPアドレス、サービス種類、サービス提
供品質は、資源予約要求に含まれている情報(501)を
設定する。 ・必要ディスク帯域、必要ネットワーク帯域、必要CPU
時間は、ステップ802で算出した値を設定する。 ・サーバIPアドレスは、ステップ803で設定したサーバ
のIPアドレスを設定する。
【0048】上記クライアント管理テーブルのエントリ
追加が完了したら、次にサーバ資源管理テーブルのう
ち、各種資源の使用量(203、205、207)を更新する。
さらに資源予約応答(501)をクライアントに返送す
る。資源予約応答に設定すべき情報は、受信した資源予
約要求に格納されていた情報と、全く同じで良い。
【0049】資源解放要求を受信した際には、ステップ
805〜806を実行する。
【0050】ステップ805で、資源解放要求(502)に含
まれているクライアントIPアドレスと同じ値を保持する
クライアント管理テーブルのエントリを削除する。
【0051】さらに、ステップ806で、サーバ資源管理
テーブルの各種資源の使用量(203、205、207)を更新
している。その後、資源解放応答(502)をクライアン
トに返送する。資源解放応答に設定すべき情報は、受信
した資源解放要求に格納されていた情報と、全く同じで
良い。
【0052】サービス実行要求を受信した際には、ステ
ップ807〜808を実行する。
【0053】ステップ807では、サービス実行要求(50
3)に含まれるクライアントIPアドレスと同じ値を保持
するクライアント管理テーブル(301〜307)のエントリ
を検索する。そして、当該エントリの必要ディスク帯
域、必要ネットワーク帯域、必要CPU時間(304〜306)
フィールドに格納されている値を、受信した資源予約要
求に設定する。
【0054】そしてステップ808で、ステップ807で設定
した資源予約要求をサーバに転送している。
【0055】データ転送要求を受信した際には、ステッ
プ809を実行する。
【0056】ステップ809では、データ転送要求(504)
に格納されているクライアントIPアドレスと同じ値を保
持するクライアント管理テーブルのエントリを検索す
る。そして、当該エントリのサーバIPアドレスフィール
ド(307)で指定されるサーバに、受信したデータ転送
要求を送信する。
【0057】また、負荷分散ノードは、図9に示すよう
に、各種応答を受信した際には、ステップ901に示すとお
り当該応答をクライアントに送信する。この際、送信す
べきクライアントは、各種応答(501〜504)に格納され
ているクライアントIPアドレスを参照することにより決
定する。
【0058】図10に、サーバ(101)の動作フローを
示す。
【0059】図10に示すように、受信した要求の種別
を判別し(ステップ1001)、要求に応じて以下のス
テップを実行する。サーバは、負荷分散ノードからのサ
ービス実行要求またはデータ転送要求の受信を契機に動
作を開始する。
【0060】サービス実行要求を受信した際にはステッ
プ1002〜1004を実行する。
【0061】ステップ1002にてキャッシュ管理テーブル
(401〜404)を参照し、受信したサービス実行要求(50
3)に格納されているキャッシュ内容を特定する情報
(サービス種類、サービス提供品質、サービスパラメー
タ)と同じ値を保持するエントリが存在するか否かを判
定する。
【0062】存在しなければステップ1003を実行する。
ステップ1003では、サービス実行要求(503)に格納さ
れているキャッシュ内容を特定する情報に従ってサービ
スを実行する。さらに、当該実行結果を格納したデータ
をI/Oエンジンのキャッシュ用記憶装置にキャッシュさ
せる。上記キャッシュを実行するために、キャッシュ用
記憶装置の容量が不足するのであれば、キャッシュの削
除指示をI/Oエンジンに与える。この際削除すべきキャ
ッシュは、キャッシュ管理テーブルの使用時刻フィール
ド(404)に最も古い時間が格納されているエントリを
検索することにより決定する。そして、この際に送信す
るキャッシュ削除指示(601)には、当該エントリのキ
ャッシュ内容を特定する情報を格納する。上記キャッシ
ュ削除指示送信後、キャッシュ管理テーブルの当該エン
トリを削除する。
【0063】さらに、受信したサービス実行要求に格納
されているキャッシュ内容を特定する情報及びサービス
実行結果を格納するデータを持つキャッシュ指示(60
1)を作成し、I/Oエンジンに送信する。上記情報を持つ
キャッシュ管理テーブルのエントリを作成し、登録す
る。なお、作成したエントリの使用時刻フィールドに
は、現在時刻を格納する。また、ステップ1002にてエン
トリが存在しない場合、該当するキャッシュ管理テーブ
ルのエントリの使用時刻フィールドを、現在時刻に更新
する処理のみを本ステップの代わりに行なう。
【0064】ステップ1004にて、I/Oエンジンに初期化
指示(602)を送信する。初期化指示に含める情報は、
受信したサービス実行要求に含まれる情報をコピーして
設定する。この初期化指示の結果、データコネクション
のI/Oエンジン側の端点を指定する情報(I/OエンジンIP
アドレス、データサーバコネクション用サーバポート番
号)が得られる。この情報をサービス実行応答(503)
に含めて負荷分散ノードに送信する。
【0065】データ転送要求を受信した際にはステップ
1005〜1006を実行する。
【0066】ステップ1005で、データ転送指示(603)
を与える。データ転送指示に含める情報は、受信したデ
ータ転送要求に格納される情報と同じで良い。
【0067】ステップ1006で、データ転送応答(504)
を負荷分散ノードに送信する。このデータ転送応答に格
納する情報は、受信したデータ転送要求に格納されてい
る情報と同じで良い。
【0068】図11に、I/Oエンジン(104)の動作フロ
ーを示す。
【0069】I/Oエンジンは、サーバからの各種指示の
受信を契機に動作を開始する。
【0070】図11に示すように、受信した指示の種類
を判別し(ステップ1101)、指示に応じて以下のス
テップを実行する。キャッシュ指示、キャッシュ削除指
示を受信した場合にはステップ1102を実行する。
【0071】ステップ1102では、受信したキャッシュ指
示、キャッシュ削除指示に従い、キャッシュ用記憶装置
の内容の作成や削除を行なう。
【0072】初期化指示を受信した場合にはステップ11
03を実行する。
【0073】ステップ1103では、データコネクション用
のポートを作成した後、クライアントとの間にてデータ
コネクションを確立する。データコネクションの確立先
は、データコネクションのクライアント側の端点を指定
する情報(クライアントIPアドレス、データコネクショ
ン用クライアントポート番号)を受信した初期化指示
(602)から読み取って決定する。さらに、受信した初
期化指示に格納されているディスク帯域、ネットワーク
帯域、CPU時間の予約を行なう。本予約方法の詳細は、
特開平9-319597、特開平10-271140、特開2000-357099に
記述されているので、本明細書では省略する。最後に、
生成したデータコネクションのI/Oエンジン側の端点を
指定する情報(I/OエンジンIPアドレス、データコネク
ション用サーバポート番号)をサーバに通知する。
【0074】データ転送指示を受信した場合にはステッ
プ1104を実行する。
【0075】ステップ1104では、受信したデータ転送指
示(603)に格納されているキャッシュ内容を指定する
情報(サービス種類、サービス提供品質、サービスパラ
メータ)から対応するキャッシュを決定する。そして当
該キャッシュのデータをキャッシュ用記憶装置から読み
出す。そして、ステップ1103で確立したデータコネクシ
ョンを使用してクライアントに送信する。本ステップで
実行する際には、ステップ1103で予約した各種資源のみ
を使用して実行する。この実現方法の詳細も、特開平9-
319597、特開平10-271140、特開2000-357099に記述され
ているので、本明細書では省略する。
【0076】
【発明の効果】本発明により、以下に示す効果が得られ
る。 1)クライアントは、サービス実行要求を発行する前に
資源予約要求を負荷分散ノードに発行する。そのため、
負荷分散ノードは、各I/Oエンジンの各種資源(使用CPU
時間、使用ディスク帯域、使用ネットワーク帯域)の資
源別の使用状況を監視可能である。すなわち、各I/Oエ
ンジンの負荷が正確に予測でき、それに基づいた負荷分
散も実現できる。 2)資源予約要求に含めるサービス提供品質に関する情
報を変えることにより、クライアントごとにサービス提
供品質の優先度付けができる。 3)サーバからのサービス実行結果を格納したデータの
配送はI/Oエンジンが代行する。そして、このI/Oエンジ
ンには専用OSが搭載されているため、I/Oエンジンデー
タ送信の際に、予め予約してある資源しか使用しない。
この結果、I/Oエンジンの持つ各種資源を、クライアン
トごとに厳密に分配できる(サービスの品質保証を厳密
に実現できる)。
【図面の簡単な説明】
【図1】本発明の実施の形態で仮定するシステム構成で
ある。
【図2】サーバ資源管理テーブルのデータ構造である。
【図3】クライアント管理テーブルのデータ構造であ
る。
【図4】キャッシュ管理テーブルのデータ構造である。
【図5】ノード間で送受される要求及び応答のデータ構
造である。
【図6】ノード間で送受される指示のデータ構造であ
る。
【図7】クライアントの動作フローチャートである。
【図8】負荷分散ノードの動作フローチャート(その
1)である。
【図9】負荷分散ノードの動作フローチャート(その
2)である。
【図10】サーバの動作フローチャートである。
【図11】I/Oエンジンの動作フローチャートである。
【符号の説明】
101…サーバ、102…クライアント、103…負荷分散ノー
ド、104…I/Oエンジン
───────────────────────────────────────────────────── フロントページの続き (72)発明者 野村 賢 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内 Fターム(参考) 5B045 BB42 BB48 GG02 GG05 5B089 GA11 GA21 GB01 GB03 KA06 KB04 KC23 KC49 KC60 MA03 5B098 AA10 GA01 GD02 GD14

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】ネットワークを介して複数のサーバとデー
    タ中継装置とクライアントが接続されており、かつ前記
    中継装置がクライアントからサービス実行要求を受信
    し、かつ前記中継装置が前記サービス実行要求を該サー
    バ群に属する1つのサーバに送信し、かつ前記サーバが
    前記クライアントに前記サービスの実行結果を送信する
    システムにおいて、前記中継装置のデータ中継方法は、
    前記クライアントがサービス実行要求を送信する前に、
    前記サービスを実行するために必要となるサーバ資源を
    予約する要求を前記クライアントから受信するステップ
    と、 前記サーバ群に属する各サーバに対して予約されている
    サーバ資源の総量を管理することにより、要求されたサ
    ーバ資源の割り当てが可能なサーバを選択するステップ
    と、 クライアントからサービス実行要求を受信した際に、前
    記サービス実行要求を前段のステップで選択したサーバ
    に送信するステップ、を有することを特徴とするデータ
    中継方法。
  2. 【請求項2】請求項1記載のデータ中継方法において、 前記クライアントが予約要求したサーバ資源量を前記デ
    ータ中継装置から前記サーバに通知するステップと、 前記サーバは、前記ステップで通知された資源量を消費
    しながら前記クライアントから要求されたサービス実行
    を行なうステップ、を有することを特徴とするデータ中
    継方法。
  3. 【請求項3】ネットワークを介して第1の情報装置と第
    1の情報装置からのデータを受信する第2の情報装置に
    接続されており、かつ記憶装置の機能を有する情報入出
    力装置は、 前記第1の情報装置が送信すべきデータを前記記憶装置
    に格納する要求を前記第1の情報装置から受信する手段
    と、 前記格納要求に応じて前記第1の情報装置が指定したデ
    ータを前記記憶装置に格納する手段と、 前記記憶装置に格納してあるデータの送信要求を前記第
    1の情報装置から受信する手段と、 前記データ送信要求の実行のために必要となる資源の予
    約要求を前記第1の情報装置から受信する手段と、 前記データ送信要求に応じて、前記予約した資源を利用
    して、前記第1の情報装置が指定したデータを前記記憶
    装置から読み出し、かつ読み出したデータを前記第2の
    情報装置に送信する手段、を備えることを特徴とする情
    報入出力装置。
JP2001328507A 2001-10-26 2001-10-26 データ中継方法 Pending JP2003131960A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2001328507A JP2003131960A (ja) 2001-10-26 2001-10-26 データ中継方法
US10/116,210 US20030084140A1 (en) 2001-10-26 2002-04-05 Data relay method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001328507A JP2003131960A (ja) 2001-10-26 2001-10-26 データ中継方法

Publications (1)

Publication Number Publication Date
JP2003131960A true JP2003131960A (ja) 2003-05-09

Family

ID=19144562

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001328507A Pending JP2003131960A (ja) 2001-10-26 2001-10-26 データ中継方法

Country Status (2)

Country Link
US (1) US20030084140A1 (ja)
JP (1) JP2003131960A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008537816A (ja) * 2005-03-23 2008-09-25 インターナショナル・ビジネス・マシーンズ・コーポレーション サービス要求を満足するためのリソース・マネージャを選択するための方法、システム、およびプログラム(サービス要求を満足するためのリソース・マネージャの選択)
JP2013034104A (ja) * 2011-08-02 2013-02-14 Nippon Telegr & Teleph Corp <Ntt> 加入者収容システムに対する通信資源割付方法、加入者管理装置および加入者収容システム
JP2015153243A (ja) * 2014-02-17 2015-08-24 富士通株式会社 メッセージ処理方法、情報処理装置及びプログラム
JP2017021662A (ja) * 2015-07-13 2017-01-26 Keepdata株式会社 リレーサーバシステム及びリレーサーバを用いた通信方法

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8051176B2 (en) * 2002-11-07 2011-11-01 Hewlett-Packard Development Company, L.P. Method and system for predicting connections in a computer network
US7873868B1 (en) * 2003-01-17 2011-01-18 Unisys Corporation Method for obtaining higher throughput in a computer system utilizing a clustered systems manager
US20040208966A1 (en) * 2003-04-15 2004-10-21 Cargill Inc. Minimal pulp beverage and methods for producing the same
US7206846B1 (en) * 2003-04-29 2007-04-17 Cisco Technology, Inc. Method and apparatus for adaptively coupling processing components in a distributed system
US7499970B2 (en) * 2004-11-12 2009-03-03 International Business Machines Corporation Method and system for supervisor partitioning of client resources
CN100461124C (zh) 2004-11-26 2009-02-11 富士通株式会社 计算机系统和信息处理方法
KR100727993B1 (ko) * 2005-10-04 2007-06-14 삼성전자주식회사 데이터 풀 방식을 이용한 데이터 푸시 서비스 방법 및시스템
TWI434190B (zh) 2006-12-28 2014-04-11 Hewlett Packard Development Co 在支持查詢時有效地儲存記錄資料以協助電腦網路安全
CN102239472B (zh) 2008-09-05 2017-04-12 惠普发展公司,有限责任合伙企业 在支持查询的同时高效地存储日志数据
US8289975B2 (en) * 2009-06-22 2012-10-16 Citrix Systems, Inc. Systems and methods for handling a multi-connection protocol between a client and server traversing a multi-core system
CN103209136A (zh) * 2012-01-11 2013-07-17 中兴通讯股份有限公司 一种网络负荷控制方法及登记服务器
US9384227B1 (en) * 2013-06-04 2016-07-05 Amazon Technologies, Inc. Database system providing skew metrics across a key space
CN107870815B (zh) * 2016-09-26 2020-06-26 中国电信股份有限公司 一种分布式系统的任务调度方法以及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7933249B2 (en) * 2000-02-08 2011-04-26 Ipr Licensing, Inc. Grade of service and fairness policy for bandwidth reservation system
US20040025186A1 (en) * 2001-01-19 2004-02-05 Jennings Charles A. System and method for managing media

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008537816A (ja) * 2005-03-23 2008-09-25 インターナショナル・ビジネス・マシーンズ・コーポレーション サービス要求を満足するためのリソース・マネージャを選択するための方法、システム、およびプログラム(サービス要求を満足するためのリソース・マネージャの選択)
US8126914B2 (en) 2005-03-23 2012-02-28 International Business Machines Corporation Selecting a resource manager to satisfy a service request
US10977088B2 (en) 2005-03-23 2021-04-13 International Business Machines Corporation Selecting a resource manager to satisfy a service request
JP2013034104A (ja) * 2011-08-02 2013-02-14 Nippon Telegr & Teleph Corp <Ntt> 加入者収容システムに対する通信資源割付方法、加入者管理装置および加入者収容システム
JP2015153243A (ja) * 2014-02-17 2015-08-24 富士通株式会社 メッセージ処理方法、情報処理装置及びプログラム
JP2017021662A (ja) * 2015-07-13 2017-01-26 Keepdata株式会社 リレーサーバシステム及びリレーサーバを用いた通信方法

Also Published As

Publication number Publication date
US20030084140A1 (en) 2003-05-01

Similar Documents

Publication Publication Date Title
JP2003131960A (ja) データ中継方法
EP1010102B1 (en) Arrangement for load sharing in computer networks
JP2022532007A (ja) モバイルエッジコンピューティングノードの選択方法、装置及びシステム並びにコンピュータプログラム
JP3382953B2 (ja) 有限メモリコンピュータシステム上におけるクライアント管理フロー制御方法及び装置
JP5582344B2 (ja) 接続管理システム、及びシンクライアントシステムにおける接続管理サーバの連携方法
US7076540B2 (en) Service assignment apparatus
JP3987394B2 (ja) 帯域ブローカによってネットワークドメイン内部で帯域を割り当てる方法
JP4753052B2 (ja) コンテンツ配信方法及びシステム
EP1320237B1 (en) System and method for controlling congestion in networks
JP4569846B2 (ja) I/oノード制御方式及び方法
CN104618164B (zh) 云计算平台应用快速部署的管理方法
JP2001043199A (ja) 異種サーバにまたがるサービス指向資源管理
JP2007514995A (ja) エンタープライズ・ストレージ・システムを管理するためのコンピュータ・システム、方法、およびプログラム
JP2003124976A (ja) 計算機資源割当方法
KR19980087398A (ko) 인터넷에서의 동적 경로배정 방법 및 장치
CN109151009A (zh) 一种基于mec的cdn节点分配方法和系统
WO2021120633A1 (zh) 一种负载均衡方法及相关设备
KR101236477B1 (ko) 비대칭 클러스터 파일 시스템의 데이터 처리 방법
JP2012118709A (ja) 配信システム、ストレージ容量決定プログラム、及びストレージ容量決定方法
JP2001290787A (ja) データ配信方法及びデータ配信プログラムを格納した記憶媒体
JP2005092862A (ja) 負荷分散方法及びクライアント・サーバシステム
JP2000253053A (ja) ネットワークシステム
JPWO2011024930A1 (ja) コンテンツ配信システム、コンテンツ配信方法及びコンテンツ配信用プログラム
JP2005182702A (ja) Ipネットワークにおけるアクセス制御方式
CN110191362B (zh) 数据传输方法及装置、存储介质及电子设备

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041221

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050221

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20051004