JP3897843B2 - Network load balancing method in data transfer of client server system - Google Patents
Network load balancing method in data transfer of client server system Download PDFInfo
- Publication number
- JP3897843B2 JP3897843B2 JP28263696A JP28263696A JP3897843B2 JP 3897843 B2 JP3897843 B2 JP 3897843B2 JP 28263696 A JP28263696 A JP 28263696A JP 28263696 A JP28263696 A JP 28263696A JP 3897843 B2 JP3897843 B2 JP 3897843B2
- Authority
- JP
- Japan
- Prior art keywords
- client
- data
- time
- data transfer
- server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Landscapes
- Computer And Data Communications (AREA)
- Communication Control (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、クライアントサーバーシステムにおいて、同時に多数のクライアントコンピュータがサーバーにアクセスした場合に、サーバーとネットワークに集中する負荷を分散させることにより、クライアントサーバーシステムの健全性と効率を維持する方法に関する。
【0002】
【従来の技術】
最近は、従前のホストコンピュータと端末からなる情報処理システムに代えて、クライアントサーバーシステムが広く用いられるようになっている。
【0003】
クライアントサーバーシステムは、データやソフトウェアを一元的に管理し、提供する役割の「サーバー」と、このサーバーに要求を出してデータやソフトウェアを利用する「クライアントコンピュータ」とからなる。
【0004】
これらサーバーとクライアントコンピュータは、各装置でも独自に情報処理を行うが、他の装置と処理結果や処理データを交換して、全体として統一された情報処理を行うように構成されている。
【0005】
このようにクライアントサーバーシステムは、システム内のサーバーとクライアントコンピュータが互いにデータやソフトウェアを交換しながら全体として統一した情報処理を行うので、当然システム内の各クライアントコンピュータは同一のソフトウェア(同一のソフトウェアにおいては同一のバージョンであることが必要となる)によって情報処理をしなければならない。
【0006】
このため、一般に現在のクライアントサーバーシステムでは、定期的に(たとえば週に1,2回程度に)全クライアントコンピュータが一斉にサーバーにアクセスして、その時のサーバー内に格納されているソフトウェアやデータのファイルによって自らのファイルを更新している。
【0007】
図6は、上記クライアントコンピュータがサーバーにアクセスしてソフトウェアやデータの配布を受けるためのシステム構成とその方法とを示している。なお、図6において、命令や情報の流れは矢印で示す。
【0008】
図6に示すように、クライアントサーバーシステム1は、サーバー2と、複数のクライアントコンピュータ3がLAN等のネットワーク4によって接続されている。
【0009】
上記ファイルの更新時期になると、数多くのクライアントコンピュータ3が一斉にサーバー2にアクセスして、ファイルをダウンロードしようとする。従来のダウンロードでは、クライアントコンピュータ3がサーバー2にアクセスし、通信相手の確認等の接続手順が確立した後に、クライアントコンピュータ3からサーバー2へファイル転送等の命令が送られる。
【0010】
これらのクライアントコンピュータ3からの転送命令は、サーバー2のサーバーのCPU2aによって処理される。この場合、サーバーのCPU2aはI/ O装置2bを制御し、サーバーのI/ O装置2bの作用により、記憶装置2cから指定されたファイルを取り出してクライアントコンピュータ3に転送する。
【0011】
クライアントコンピュータ3では、CPU3aの制御を受けたI/O装置3bが、サーバー2から転送されたファイルをその記憶装置3cに格納し、古いファイルがある場合はそれを更新する。
【0012】
従来のクライアントサーバーシステム1は、サーバーのCPU2aの処理がオーバーフローしないように、流量制御プログラム5を備えている。これは、サーバーのCPU2aは、その処理能力に限界があり、それ以上のクライアントコンピュータ3からの命令が入力されると、処理不能になってシステム全体が機能を停止してしまうからである。このため、流量制御プログラム5は、所定台数のクライアントコンピュータ3の接続があると、それ以上の接続要求に対しては、要求があったクライアントコンピュータ3に対してアクセスを拒絶する。
【0013】
サーバー2が限界一杯の処理を行っている状態を図6に示す。図6においては、サーバー2が同時接続することができるクライアントコンピュータの数を仮に3台としている。この場合、クライアントコンピュータC1 〜C3 が交信状態になるが、他のクライアントコンピュータC4 〜Cn は、待機の状態(WAIT状態)になり、サーバー2へのアクセスを試み続ける。
【0014】
クライアントコンピュータC1 〜C3 のうちのいずれかがサーバー2との交信を終了すると、その直後にアクセスを試みたクライアントコンピュータC4 〜Cn のいずれかが接続される。
【0015】
【発明が解決しようとする課題】
しかしながら、上記従来のクライアントサーバーシステムとそのファイル配布の方法では、サーバーのCPUの処理能力の制限により、システム全体の能力を効率よく活かすことができなかった。
【0016】
つまり、従来のクライアントサーバーシステムでは、上述したように、サーバーのCPUがクライアントコンピュータからのアクセス要求とファイル転送命令等を集中的に処理するため、すぐにその処理能力の上限に達してしまうのである。
【0017】
このサーバーのCPUの処理能力の制限により、結局限られた台数のクライアントコンピュータへファイル転送をすることになっていた。一方、この間のクライアントコンピュータのCPUは、その処理能力のほんの一部のみを使用し、いわば遊んだ状態になっていた。
【0018】
また、WAIT状態にあるクライアントコンピュータが繰返しサーバーへのアクセスを試みるので、そのアクセス要求に対する返答(アクセスを拒否する返答)を送信するために、サーバー側のCPUとネットワークにさらに負荷がかかっていた。
【0019】
そこで、本発明は、上記従来技術が抱える課題を解決し、サーバーのCPUへの負荷の集中を解消し、クライアントサーバーシステム全体の処理能力により、サーバーから多数のクライアントコンピュータへ同時に多数のファイルを配布することができるクライアントサーバーシステムのデータ転送におけるネットワーク負荷分散方法を提供することにある。
【0020】
【課題を解決するための手段】
本願請求項1に係るクライアントサーバーシステムのデータ転送におけるネットワーク負荷分散方法は、
クライアントサーバーシステムの各クライアントコンピュータが有するネットワーク負荷制御プログラムによって、直接サーバーのI/ O装置を制御してデータ転送を行い、各クライアントコンピュータ上のネットワーク負荷制御プログラムにおいて、データの読込み時間からネットワークの負荷を推定し、そのネットワーク負荷の推定結果に応じて1回に転送を受けるデータブロックサイズと、1回のデータ転送中の待ち時間とを制御するようにしたことを特徴とするものである。
【0021】
本願請求項2に係るクライアントサーバーシステムのデータ転送におけるネットワーク負荷分散方法は、上記請求項1に記載の方法において、
処理速度が異なるクライアントコンピュータを含むクライアントサーバーシステムにおいて、
所定の処理速度のクライアントコンピュータが、ネットワークの最大バンド幅を使用してデータ転送を受ける場合のデータ転送時間を基準とし、前記基準のデータ転送時間から各クライアントコンピュータのデータ転送時間を引いた時間が正の場合にその時間差を各データ転送動作の時間間隔とすることを特徴とするものである。
【0022】
本願請求項3に係る媒体は、
クライアントサーバーシステムの各クライアントコンピュータによって直接サーバーのI/ O装置を制御してデータ転送を行い、
各クライアントコンピュータにおいて、データの読込み時間からネットワークの負荷を推定し、そのネットワーク負荷の推定結果に応じて1回に転送を受けるデータブロックサイズと、1回のデータ転送中の待ち時間とを制御するようにしたプログラムを記録したものである。
【0023】
【発明の実施の形態】
次に本発明の実施の形態について以下に説明する。
本発明による「クライアントサーバーシステムのデータ転送におけるネットワーク負荷分散方法」は、クライアントコンピュータのCPUによる負荷の分担と、多数のクライアントコンピュータへ同時にするファイル配布と、ネットワークの効率よい転送レートにおけるファイル転送、の3つを実現する。このことを以下に説明する。
【0024】
図1は、本発明の方法を実現するクライアントサーバーシステムのシステム構成とその処理の状態を示している。
【0025】
図1において、クライアントサーバーシステム1は、サーバー2と、クライアントコンピュータ3と、サーバー2とクライアントコンピュータ3とを接続するLAN等のネットワーク4とからなる。
【0026】
このクライアントサーバーシステム1において、従来のクライアントサーバーシステム(図6参照)と異なるのは、サーバー2側に流量制御プログラムがなく、クライアントコンピュータ3が、ネットワーク負荷制御プログラム6を有し、このネットワーク負荷制御プログラム6の働きによってサーバーのI/ O装置2bを直接制御するようにしていることである。
【0027】
図1に示すように、このクライアントサーバーシステム1では、多数のクライアントコンピュータ3が、そのCPU3aによってサーバーのI/ O装置2bを制御し、サーバーのI/ O装置2bは、サーバーの記憶装置2cから所定のファイルを取り出し、クライアントコンピュータ3へ転送する。この場合は、サーバーのCPU2aは、わずかにI/ O装置2bの制御に関与するだけで、ほとんどの負荷から解放される。
【0028】
一方、クライアントコンピュータ3に転送されたファイルは、クライアントコンピュータのI/ O装置3bにより、記憶装置3cに格納される。
【0029】
すなわち、本クライアントサーバーシステム1によれば、ネットワーク負荷制御プログラム6により、従来サーバーのCPU2aが行っていた処理をクライアントコンピュータのCPU3aによって肩代わりし、サーバーのCPU2aへの負荷を分散するようにしている。
【0030】
また、本クライアントサーバーシステム1においては、ネットワーク負荷制御プログラム6の作用により、接続を要求したすべてのクライアントコンピュータ3に同時にファイル転送するのと同時に、ネットワーク4への負荷を制御している。このことを以下に説明する。
【0031】
図2は、本クライアントサーバーシステム1が、同時に多数のクライアントコンピュータ3へファイル転送を行っているところの通信状態を示している。
【0032】
図の陰影を付したバーチャート部分は、データ転送している時間を示している。図に示したように、本システムのネットワーク負荷制御プログラム6は、サーバー2に少数のクライアントコンピュータ3がアクセスしようとするとき(これを「平常時」ということにする)は、従来のファイル転送と同様に、1つのクライアントコンピュータに対してファイル転送した後に、次のクライアントコンピュータに対してファイル転送を行う。
【0033】
しかし、同時に多数のクライアントコンピュータ3がサーバー2にアクセスしようとするとき(これを「ラッシュ時」ということにする)は、各クライアントコンピュータ3のネットワーク負荷制御プログラム6は、ネットワーク4の負荷を計算しながら、転送ファイルを分割し、1回に少量のデータのみを転送させ、かつ、全体としてネットワーク4に過負荷とならないように、転送を受ける時間を制御する。
【0034】
すなわち、本システムでは、サーバー2にアクセスした各クライアントコンピュータ3のネットワーク負荷制御プログラム6が、ネットワーク4の負荷状態を計算し、計算結果に基づいて転送ファイルを分割し、1回のREAD時間(TR)、1回のデータ転送におけるWAIT時間(TW)、各回のデータ転送間のWAIT時間(TS)を変化させる。
【0035】
転送ファイルを細かく分割することにより、多数のクライアントコンピュータ3に対して交互にデータ転送を行えることができ、見かけ上同時に多数のクライアントコンピュータ3へデータの転送を行うことができる。
【0036】
また、このように転送ファイルを細かく分割して、その転送時間の間隔、1回の転送時間の長さを調節することにより、ネットワーク4の最も効率が良い転送レートでデータ転送を行うことができる。
【0037】
一般に、サーバー2へのアクセス要求が混み合うほどファイルを細分化し、各回のデータ転送の間隔を大きくする。
【0038】
ここで、ネットワーク4の最も効率が良い転送レートについて説明する。
【0039】
一般にネットワーク4は、固有の情報転送容量(バンド幅という)を有している。
【0040】
しかし、バンド幅の限界ぎりぎりでは、信号の干渉により、再送信等を試みる回数が増加し、全体として通信効率が低下する。この通信効率は、全バンド幅に対して一定の割合を超過すると、指数的に低下することが知られている。
【0041】
一方、バンド幅に対して少ない転送レートによってデータを転送する場合は、信号の干渉による再送信はなくなるが、ネットワーク4が遊んだ状態になる。
【0042】
本発明によるネットワーク負荷分散方法では、時々刻々に変化するネットワーク4の負荷状態に応じて、1回に転送するデータのサイズ(これをデータ転送単位という)の大きさと、転送を受ける時間とを変化させ、データ転送を適当に配分することにより、ネットワーク4の最も効率のよい転送レートでファイルの転送を行うようにしている。
【0043】
以下に、上記機能を実現するためのネットワーク負荷制御プログラム6の処理について説明する。
【0044】
図3は、ネットワーク負荷制御プログラム6による処理の流れを示している。図3に示すように、クライアントコンピュータ3がサーバー2にアクセスを試みるときに、ネットワーク負荷制御プログラム6が起動し(ステップS100)、最初にサーバー2から設定値を取得する。ここで、設定値とは、リトライ間隔、リトライ回数、第1回目のデータ転送単位、そのネットワーク4において効率よくデータ転送をする場合の標準的な1回のデータ転送時間(これを標準データ転送時間という)等である。
【0045】
なお、上記設定値をサーバー2に格納し、起動したネットワーク負荷制御プログラム6によって取得するようにしているのは、設定値を変更する場合の変更の容易さを考慮したものであり、無論各クライアントコンピュータ3に格納するようにしてもよい。この場合は、このステップS110は、省略される。
【0046】
次に、ネットワーク負荷制御プログラム6は、ファイルの転送を実行し(ステップS120)、1回のデータ転送におけるデータブロックサイズ・待ち時間の制御(ステップS130)、各データ転送間隔の制御(ステップS140)を、各データ転送回ごとに行いながら、ファイル転送を実行する。
【0047】
上記ステップS130のデータブロックサイズ・待ち時間の制御の詳細を図4によって詳細に説明する。
【0048】
図4に示すように、最初に第1回目の読込WAIT時間TW=T1 と、読込データブロックサイズBS=B1 を取得する(ステップS110)。
【0049】
次に、上記T1 とB1 に基づいて、n回だけデータのREAD、WAIT、WRITEを繰り返す(ステップS131〜S133)。このn回のデータ転送の間に、各回のデータ転送のREAD時間TRを計測する。
【0050】
次に、上記n回のREAD時間TRにより、1回に転送するデータブロックサイズBS、1回のデータ転送におけるWAIT時間TWを計算し、これを制御する(ステップS134)。このステップS134における処理を以下にさらに詳説する。
【0051】
最初に、TR時間のn回の平均を求める。TRの平均をTAとすると、TA=ΣTR/n。
【0052】
このTAは、ネットワーク4の負荷状態を表わしている。すなわち、TAが長ければ、データの読込み(READ)に時間がかかっていることになり、これはとりもなおさずネットワーク4がラッシュの状態にあることを示している。
【0053】
そこで、TA>Tmax (Tmax は設定値)の時は、ネットワーク4が高負荷の状態にあると判断し、データブロックサイズBSを現在の1/2にする。
【0054】
上記データブロックサイズBSを小さくした結果、データブロックサイズBSが所定値BLより(データブロックサイズの下限)小さくなるときは、それ以上データブロックサイズを小さくせずに、WAIT時間を2倍にする。
【0055】
つまり、上記処理により、ネットワーク4が混雑の状態にあるときは、どんどんデータブロックサイズが小さくなり、あるいはWAIT時間が長くなり、結局ネットワーク4の負荷が時間的に分散され、効率のよい転送レートに落ち着くことになる。
【0056】
上記とは反対に、TA<Tmin (Tmin は設定値)となった時は、ネットワーク4が低負荷の状態にあると判断し、WAIT時間TWを現在の1/2にし、あるいは、データブロックサイズBSを現在の2倍にする。
【0057】
つまり、ネットワーク4が低負荷の状態にあるときは、どんどんWAIT時間が短くなり、あるいはデータブロックサイズが大きくなり、結局ネットワーク4の負荷が時間的に集中され、効率のよい転送レートに落ち着くことになる。
【0058】
しかし、上記処理は、各クライアントコンピュータ3における処理であるため、クライアントコンピュータ3間の処理速度の差による調節をすることができない。
【0059】
つまり、サーバー2に接続するクライアントコンピュータ3の処理速度が同一の場合は、問題を生じないが、クライアントコンピュータ3間に処理速度の差が存在する場合は、処理が速いクライアントコンピュータ3はネットワーク4が低負荷と判断し、どんどんデータ転送を集中させる。反対に、処理速度が遅いクライアントコンピュータ3は、READ時間TRが長いため、データ転送をどんどん分散させる。
【0060】
そこで、ステップS140(図3参照)により、各クライアントコンピュータ3のデータ転送間隔を制御する。このデータ転送間隔の制御を図5を用いて以下に説明する。
【0061】
最初に、ネットワーク4が有しているバンド幅から、標準のクライアントコンピュータ3の1秒間に転送可能なバイト数BTを計算する(ステップS141)。
【0062】
次に、データのREAD、WAIT、WRITEの処理をn回繰返し、その合計時間TTsum と、n回分のデータ転送量BSsum を求める(ステップS142〜S144)。なお、1回のREAD、WAIT、WRITEの処理を行う時間をTTとし、1回のREAD、WAIT、WRITEによって転送されるデータ量をBSとする。
【0063】
次に、上記TTsum とBSsum により、データ転送間隔の制御を行う(ステップS145,S146)。
【0064】
ステップS145においては、最初に標準的なクライアントコンピュータ3が最大のバンド幅を使用したときに、BSsum を転送するのにかかる時間TW2 を計算する(TW2 =BSsum *1000/BT)。
【0065】
次に、TS=TW2 −TTsum として、TSを計算する(ステップS145)。処理が速いコンピュータでは、TTsum が短くなりTSが長くなる。一方、処理が遅いコンピュータでは、TTsum が長くなり、TSが短くなる。
【0066】
上記計算されたTSをデータ転送間の時間として各データ転送間で時間TSの間隔を開けるようにする(ステップS146)。なお、TW2 <TTsum の場合は、各データ転送間隔を0とする。
【0067】
上記処理により、処理が速いクライアントコンピュータ3では、1回のデータ転送で短い時間内に多くのデータを転送するが、データ転送の間隔が長くなる。一方、処理が遅いクライアントコンピュータ3では、1回のデータ転送で長い時間内に少ないデータを転送するが、データ転送の間隔が短くなる。
【0068】
上記バランスにより、サーバー2に処理速度が異なるクライアントコンピュータ3が接続されている場合にも、サーバー2から全体のクライアントコンピュータ3に均等にデータを配布することができる。
【0069】
【発明の効果】
上記説明から明らかなように、本発明の「クライアントサーバーシステムのデータ転送におけるネットワーク負荷分散方法」によれば、各クライアントコンピュータがサーバーのI/ O装置を直接制御することにより、サーバーのCPUへの負荷を各クライアントコンピュータのCPUによって分散させることができる。
【0070】
また、本発明の方法では、各クライアントコンピュータのネットワーク負荷制御プログラムの働きにより、1回のデータ転送のREAD時間によってネットワークの混雑状況を判断し、ネットワークが混雑している場合は、転送するデータブロックサイズを小さくし、あるいは1回のデータ転送における待ち時間を長くする。反対に、ネットワークが混雑していない場合は、転送するデータブロックサイズを大きくし、あるいは1回のデータ転送における待ち時間を短くする。
【0071】
上記転送データブロックサイズや待ち時間の上限や下限を、ネットワークの高効率の転送レートに合うように設定することにより、各クライアントコンピュータは、自律的にデータ転送の間隔や転送データブロックサイズを調節し、結果的にネットワークの高効率の転送レートで、サーバーからデータの転送を受けることができる。
【0072】
さらに、データ転送間隔の制御により、処理速度が速いクライアントコンピュータは間隔を開けて、反対に処理速度が遅いクライアントコンピュータは間隔を詰めて、データ転送を受ける。これにより、クライアントサーバーシステム全体に均等にデータが配布される。
【図面の簡単な説明】
【図1】本発明による「クライアントサーバーシステムのデータ転送におけるネットワーク負荷分散方法」を実現するための手段とそれらの手段間の処理の流れを示した図。
【図2】本発明による「クライアントサーバーシステムのデータ転送におけるネットワーク負荷分散方法」のデータ転送の様子を示した図。
【図3】本発明による「クライアントサーバーシステムのデータ転送におけるネットワーク負荷分散方法」のネットワーク負荷制御プログラムの処理の流れを示したフローチャート。
【図4】本発明における1回のデータ転送におけるデータブロックサイズ・待ち時間の制御方法を示したフローチャート。
【図5】本発明におけるデータ転送間隔の制御方法を示したフローチャート。
【図6】従来のクライアントサーバーシステムのデータ転送の手段とそれらの手段間の処理の流れを示した図。
【符号の説明】
1 クライアントサーバーシステム
2 サーバー
2a サーバーのCPU
2b サーバーのI/ O装置
2c サーバーの記憶装置
3 クライアントコンピュータ
3a クライアントコンピュータのCPU
3b クライアントコンピュータのI/ O装置
3c クライアントコンピュータの記憶装置
4 ネットワーク
5 流量制御プログラム
6 ネットワーク負荷制御プログラム[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a method for maintaining the soundness and efficiency of a client server system by distributing a load concentrated on the server and the network when a large number of client computers access the server simultaneously in the client server system.
[0002]
[Prior art]
Recently, a client server system has been widely used in place of an information processing system including a conventional host computer and a terminal.
[0003]
The client server system includes a “server” that manages and provides data and software in an integrated manner, and a “client computer” that makes a request to the server and uses the data and software.
[0004]
These servers and client computers perform information processing independently in each device, but are configured to perform unified information processing as a whole by exchanging processing results and processing data with other devices.
[0005]
In this way, the client server system performs unified information processing while the server and client computers in the system exchange data and software with each other, so that each client computer in the system naturally has the same software (in the same software). Must be the same version).
[0006]
For this reason, in the current client / server system, generally all client computers access the server at regular intervals (for example, once or twice a week), and the software and data stored in the server at that time are stored. Updates its own file with a file.
[0007]
FIG. 6 shows a system configuration and method for the client computer to access the server and receive distribution of software and data. In FIG. 6, the flow of instructions and information is indicated by arrows.
[0008]
As shown in FIG. 6, a
[0009]
When it is time to update the file,
[0010]
Transfer commands from these
[0011]
In the
[0012]
The conventional
[0013]
FIG. 6 shows a state where the
[0014]
When any one of the client computers C1 to C3 finishes communication with the
[0015]
[Problems to be solved by the invention]
However, the conventional client-server system and its file distribution method cannot efficiently utilize the capacity of the entire system due to the limitation of the processing capacity of the CPU of the server.
[0016]
In other words, in the conventional client-server system, as described above, the CPU of the server intensively processes access requests and file transfer instructions from the client computer, so that the upper limit of the processing capacity is reached immediately. .
[0017]
Due to the limitation of the processing capability of the CPU of the server, the file transfer was eventually performed to a limited number of client computers. On the other hand, the CPU of the client computer during this period uses only a part of its processing capacity and is in a state of playing.
[0018]
In addition, since the client computer in the WAIT state repeatedly tries to access the server, a load is imposed on the CPU and the network on the server side in order to send a response to the access request (response to reject access).
[0019]
Therefore, the present invention solves the above-mentioned problems of the prior art, eliminates the concentration of the load on the CPU of the server, and distributes a large number of files from the server to a large number of client computers simultaneously by the processing capability of the entire client-server system. It is an object of the present invention to provide a network load distribution method in data transfer of a client server system that can be performed.
[0020]
[Means for Solving the Problems]
The network load distribution method in the data transfer of the client server system according to
The network load control program with each client computer client-server system, data is transferred by directly controlling the server of the I / O device, the network load control program on each client computer, the network load from load time data The data block size to be transferred at one time and the waiting time during one data transfer are controlled according to the estimation result of the network load.
[0021]
The network load distribution method in data transfer of the client server system according to
In a client-server system including client computers with different processing speeds,
A time obtained by subtracting the data transfer time of each client computer from the reference data transfer time based on the data transfer time when a client computer having a predetermined processing speed receives data transfer using the maximum bandwidth of the network. In the positive case, the time difference is set as the time interval of each data transfer operation.
[0022]
The medium according to
Each client computer of the client server system directly controls the server I / O device to transfer data,
Each client computer estimates the network load from the data read time, and controls the data block size to be transferred at one time and the waiting time during one data transfer according to the estimation result of the network load. This is a record of the program.
[0023]
DETAILED DESCRIPTION OF THE INVENTION
Next, embodiments of the present invention will be described below.
The “network load distribution method in data transfer of a client server system” according to the present invention includes a load sharing by a CPU of a client computer, a file distribution simultaneously to a large number of client computers, and a file transfer at an efficient transfer rate of a network. Realize three. This will be described below.
[0024]
FIG. 1 shows the system configuration of a client server system that implements the method of the present invention and the state of its processing.
[0025]
In FIG. 1, the
[0026]
This
[0027]
As shown in FIG. 1, in this
[0028]
On the other hand, the file transferred to the
[0029]
That is, according to the
[0030]
In the
[0031]
FIG. 2 shows a communication state in which the
[0032]
The shaded bar chart portion of the figure indicates the time during which data is transferred. As shown in the figure, the network
[0033]
However, when a large number of
[0034]
That is, in this system, the network
[0035]
By finely dividing the transfer file, data can be alternately transferred to a large number of
[0036]
In addition, by dividing the transfer file in this way and adjusting the interval between the transfer times and the length of one transfer time, data transfer can be performed at the most efficient transfer rate of the network 4. .
[0037]
In general, the file is subdivided so that the access requests to the
[0038]
Here, the most efficient transfer rate of the network 4 will be described.
[0039]
In general, the network 4 has a unique information transfer capacity (referred to as bandwidth).
[0040]
However, at the limit of the bandwidth limit, the number of times of re-transmission or the like is increased due to signal interference, and the overall communication efficiency is lowered. It is known that this communication efficiency decreases exponentially when it exceeds a certain ratio with respect to the entire bandwidth.
[0041]
On the other hand, when data is transferred at a low transfer rate with respect to the bandwidth, retransmission due to signal interference is eliminated, but the network 4 is idle.
[0042]
In the network load distribution method according to the present invention, the size of data to be transferred at one time (referred to as a data transfer unit) and the time for receiving the transfer are changed according to the load state of the network 4 that changes every moment. By appropriately distributing the data transfer, the file transfer is performed at the most efficient transfer rate of the network 4.
[0043]
Below, the process of the network
[0044]
FIG. 3 shows the flow of processing by the network
[0045]
The setting value is stored in the
[0046]
Next, the network
[0047]
Details of the control of the data block size and waiting time in step S130 will be described in detail with reference to FIG.
[0048]
As shown in FIG. 4, first, the first read WAIT time TW = T1 and the read data block size BS = B1 are acquired (step S110).
[0049]
Next, data READ, WAIT, and WRITE are repeated n times based on T1 and B1 (steps S131 to S133). During the n data transfers, the READ time TR of each data transfer is measured.
[0050]
Next, the data block size BS transferred at one time and the WAIT time TW in one data transfer are calculated and controlled by the n READ times TR (step S134). The process in step S134 will be described in further detail below.
[0051]
First, an average of n times of TR time is obtained. TA = ΣTR / n where the average of TR is TA.
[0052]
This TA represents the load state of the network 4. That is, if TA is long, it means that it takes time to read data (READ), which indicates that the network 4 is in a rush state.
[0053]
Therefore, when TA> Tmax (Tmax is a set value), it is determined that the network 4 is in a high load state, and the data block size BS is reduced to the current ½.
[0054]
When the data block size BS becomes smaller than the predetermined value BL (lower limit of the data block size) as a result of reducing the data block size BS, the WAIT time is doubled without further reducing the data block size.
[0055]
In other words, when the network 4 is in a congested state by the above processing, the data block size becomes smaller or the WAIT time becomes longer, eventually the load on the network 4 is temporally distributed, and an efficient transfer rate is achieved. It will calm down.
[0056]
Contrary to the above, when TA <Tmin (Tmin is a set value), it is determined that the network 4 is in a low load state, and the WAIT time TW is reduced to the current half or the data block size. Double the BS.
[0057]
In other words, when the network 4 is in a low load state, the WAIT time becomes shorter or the data block size becomes larger, and eventually the load on the network 4 is concentrated in time and settles to an efficient transfer rate. Become.
[0058]
However, since the above process is a process in each
[0059]
That is, when the processing speeds of the
[0060]
Therefore, the data transfer interval of each
[0061]
First, the number of bytes BT that can be transferred per second of the
[0062]
Next, the data READ, WAIT, and WRITE processes are repeated n times, and the total time TTsum and the data transfer amount BSsum for n times are obtained (steps S142 to S144). Note that the time for performing one READ, WAIT, and WRITE processing is TT, and the amount of data transferred by one READ, WAIT, and WRITE is BS.
[0063]
Next, the data transfer interval is controlled by the TTsum and BSsum (steps S145 and S146).
[0064]
In step S145, when the
[0065]
Next, TS is calculated as TS = TW2-TTsum (step S145). In a computer with high processing speed, TTsum becomes short and TS becomes long. On the other hand, in a computer with slow processing, TTsum becomes long and TS becomes short.
[0066]
The calculated TS is used as a time between data transfers so that a time TS is opened between the data transfers (step S146). When TW2 <TTsum, each data transfer interval is set to zero.
[0067]
With the above processing, the
[0068]
Due to the above balance, even when
[0069]
【The invention's effect】
As is apparent from the above description, according to the “network load distribution method in data transfer of a client / server system” of the present invention, each client computer directly controls the server I / O device, so that The load can be distributed by the CPU of each client computer.
[0070]
Also, in the method of the present invention, the network load control program of each client computer determines the network congestion status based on the read time of one data transfer, and when the network is congested, the data block to be transferred Reduce the size or increase the waiting time in one data transfer. Conversely, when the network is not congested, the data block size to be transferred is increased, or the waiting time in one data transfer is shortened.
[0071]
By setting the above-mentioned transfer data block size and the upper and lower limits of the waiting time so as to match the highly efficient transfer rate of the network, each client computer autonomously adjusts the data transfer interval and transfer data block size. As a result, it is possible to receive data transfer from the server at a highly efficient transfer rate of the network.
[0072]
Further, by controlling the data transfer interval, a client computer having a high processing speed opens the interval, and conversely, a client computer having a low processing speed receives the data transfer at a close interval. As a result, data is evenly distributed throughout the client server system.
[Brief description of the drawings]
FIG. 1 is a diagram showing a means for realizing a “network load distribution method in data transfer of a client server system” according to the present invention and a flow of processing between those means.
FIG. 2 is a diagram showing a state of data transfer according to a “network load distribution method in data transfer of a client server system” according to the present invention.
FIG. 3 is a flowchart showing a processing flow of a network load control program of “network load distribution method in data transfer of client server system” according to the present invention.
FIG. 4 is a flowchart showing a method for controlling the data block size and waiting time in one data transfer according to the present invention.
FIG. 5 is a flowchart showing a data transfer interval control method according to the present invention.
FIG. 6 is a diagram showing a data transfer means of a conventional client-server system and a flow of processing between those means.
[Explanation of symbols]
1
2b Server I /
3b Client computer I /
Claims (3)
所定の処理速度のクライアントコンピュータが、ネットワークの最大バンド幅を使用してデータ転送を受ける場合のデータ転送時間を基準とし、前記基準のデータ転送時間から各クライアントコンピュータのデータ転送時間を引いた時間が正の場合にその時間差を各データ転送動作の時間間隔とすることを特徴とする請求項1に記載のクライアントサーバーシステムのデータ転送におけるネットワーク負荷分散方法。 In a client-server system including client computers with different processing speeds,
A time obtained by subtracting the data transfer time of each client computer from the reference data transfer time based on the data transfer time when a client computer having a predetermined processing speed receives data transfer using the maximum bandwidth of the network. 2. The network load distribution method in data transfer of a client server system according to claim 1, wherein the time difference is set as a time interval of each data transfer operation when positive .
各クライアントコンピュータにおいて、データの読込み時間からネットワークの負荷を推定し、そのネットワーク負荷の推定結果に応じて1回に転送を受けるデータブロックサイズと、1回のデータ転送中の待ち時間とを制御するようにしたプログラムを記録した媒体。Each client computer of the client server system directly controls the server I / O device to transfer data,
Each client computer estimates the network load from the data read time, and controls the data block size to be transferred at one time and the waiting time during one data transfer according to the estimation result of the network load. A medium on which the program is recorded.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP28263696A JP3897843B2 (en) | 1996-10-24 | 1996-10-24 | Network load balancing method in data transfer of client server system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP28263696A JP3897843B2 (en) | 1996-10-24 | 1996-10-24 | Network load balancing method in data transfer of client server system |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10124412A JPH10124412A (en) | 1998-05-15 |
JP3897843B2 true JP3897843B2 (en) | 2007-03-28 |
Family
ID=17655104
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP28263696A Expired - Lifetime JP3897843B2 (en) | 1996-10-24 | 1996-10-24 | Network load balancing method in data transfer of client server system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3897843B2 (en) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000155736A (en) | 1998-11-24 | 2000-06-06 | Nec Corp | Method for distributing service request and address converting device |
JP2002073166A (en) * | 2000-09-05 | 2002-03-12 | Mitsubishi Electric Corp | Supervisory and control device |
US8909807B2 (en) | 2005-04-07 | 2014-12-09 | Opanga Networks, Inc. | System and method for progressive download using surplus network capacity |
US7500010B2 (en) * | 2005-04-07 | 2009-03-03 | Jeffrey Paul Harrang | Adaptive file delivery system and method |
US11258531B2 (en) | 2005-04-07 | 2022-02-22 | Opanga Networks, Inc. | System and method for peak flow detection in a communication network |
US8719399B2 (en) | 2005-04-07 | 2014-05-06 | Opanga Networks, Inc. | Adaptive file delivery with link profiling system and method |
US9065595B2 (en) | 2005-04-07 | 2015-06-23 | Opanga Networks, Inc. | System and method for peak flow detection in a communication network |
JP4991151B2 (en) * | 2005-12-21 | 2012-08-01 | エヌ・ティ・ティ・コムウェア株式会社 | File transfer system and file transfer method |
JP5010390B2 (en) * | 2007-08-17 | 2012-08-29 | 株式会社野村総合研究所 | Information distribution system |
JP2012508424A (en) | 2008-11-07 | 2012-04-05 | オパンガ ネットワークス インコーポレイテッド | Portable data storage device using host device to start data transfer |
US8886790B2 (en) | 2009-08-19 | 2014-11-11 | Opanga Networks, Inc. | Systems and methods for optimizing channel resources by coordinating data transfers based on data type and traffic |
JP2017027484A (en) * | 2015-07-27 | 2017-02-02 | 富士通フロンテック株式会社 | Download processing program, terminal device and downloading method |
JP6682995B2 (en) * | 2016-04-28 | 2020-04-15 | オムロン株式会社 | Communication device, system including communication device, and program |
-
1996
- 1996-10-24 JP JP28263696A patent/JP3897843B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH10124412A (en) | 1998-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3897843B2 (en) | Network load balancing method in data transfer of client server system | |
US6961309B2 (en) | Adaptive TCP delayed acknowledgment | |
US5628005A (en) | System and method for providing opportunistic file access in a network environment | |
US6675268B1 (en) | Method and apparatus for handling transfers of data volumes between controllers in a storage environment having multiple paths to the data volumes | |
US6498781B1 (en) | Self-tuning link aggregation system | |
JPH0630498B2 (en) | Communication network | |
JP2000276304A (en) | Data shifting method and information processing system | |
JPH11120156A (en) | Data communication system in multiprocessor system | |
CN111212114B (en) | Method and device for downloading resource file | |
US6826622B2 (en) | Method of transferring data between memories of computers | |
EP1122924B1 (en) | Method and apparatus for providing local path I/O in a distributed file system | |
US9122406B2 (en) | System and method for selectively transferring block data over a network | |
US6704836B1 (en) | Method for dynamic control of concurrent extended copy tasks | |
US7890958B2 (en) | Automatic adjustment of time a consumer waits to access data from queue during a waiting phase and transmission phase at the queue | |
JP3239753B2 (en) | Network control method and control server device | |
JP2000276305A (en) | Disk array device | |
JP2001160040A (en) | Server multiplicity controller and server multiplicity control method, and recording medium recording server multiplicity control program | |
JP2004515993A5 (en) | ||
JP3237592B2 (en) | Communication load control method, its device, and its program recording medium | |
JPH0962624A (en) | Processing method and processing system for on-line transaction | |
JPH096664A (en) | Network backup device | |
JP2000148639A (en) | Data transmission control method and recording medium with data transmission control program recorded therein | |
EP0713308B1 (en) | Data sending device | |
JP3708602B2 (en) | Connection management method | |
JP2000224549A (en) | Data transfer controlling method and device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060126 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060203 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20060728 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060927 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20061106 |
|
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: 20061121 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061220 |
|
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: 20100105 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110105 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120105 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120105 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130105 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140105 Year of fee payment: 7 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |