JP6102347B2 - Information device, printing system, computer program, and data transfer method - Google Patents
Information device, printing system, computer program, and data transfer method Download PDFInfo
- Publication number
- JP6102347B2 JP6102347B2 JP2013041792A JP2013041792A JP6102347B2 JP 6102347 B2 JP6102347 B2 JP 6102347B2 JP 2013041792 A JP2013041792 A JP 2013041792A JP 2013041792 A JP2013041792 A JP 2013041792A JP 6102347 B2 JP6102347 B2 JP 6102347B2
- Authority
- JP
- Japan
- Prior art keywords
- transmission
- data transfer
- time
- load balancer
- request
- 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.)
- Active
Links
Images
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
Description
本発明は、ロードバランサーを経由させてデータを転送する技術に関する。 The present invention relates to a technique for transferring data via a load balancer.
複数のサーバーを備えるクライアントサーバーシステムにおいて、複数のサーバーに対して負荷を分散させるロードバランサー(負荷分散装置)が用いられている。例えば、特許文献1において、負荷分散装置に対するクライアントからのアクセスを監視し、アクセスの増減に応じて稼動させるサーバーの台数を増減するクライアントサーバーシステムが開示されている。
In a client server system including a plurality of servers, a load balancer (load distribution device) that distributes a load to the plurality of servers is used. For example,
ロードバランサーを備える印刷システムにおけるジョブの制御に関する先行技術がある。特許文献2に記載された配信印刷システムでは、印刷を要求するジョブがロードバランサーによって複数のプリントサーバーのいずれかに割り当てられる。ジョブが割り当てられたプリントサーバーは当該ジョブが指定するプリンターに当該ジョブを投入する。その際、ジョブを投入したプリントサーバーがデータベースに登録される。これにより、ジョブの実行中止やプリンターの変更といったジョブコントロールを、複数のプリントサーバーのうちのジョブを投入したプリントサーバーに対して指示することが可能になる。
There is prior art relating to job control in a printing system having a load balancer. In the distributed printing system described in
ロードバランサーの一種として、いわゆるL4ロードバランサーがある。L4ロードバランサーは、OSI参照モデル(OSI: Open Systems Interconnection)における第4層(レイヤ4)であるトランスポート層までの情報に基づいて負荷分散を行なう。トランスポート層は、TCP/IP(Transmission Control Protocol/Internet Protocol)を用いるネットワークにおいてTCPとUDP(User Datagram Protocol)とが対応する層である。つまり、L4ロードバランサーは、受信したパケットを、トランスポート層のプロトコル(TCP/UDP)と第3層であるネットワーク層におけるIPアドレスとによって判別する。L4ロードバランサーには、広く知られる他の一種であるL7ロードバランサーとは違ってアプリケーション層の情報を参照しないことから、L7ロードバランサーと比べて分散性能が高いという利点がある。 One type of load balancer is a so-called L4 load balancer. The L4 load balancer performs load distribution based on information up to the transport layer which is the fourth layer (layer 4) in the OSI reference model (OSI: Open Systems Interconnection). The transport layer is a layer corresponding to TCP and UDP (User Datagram Protocol) in a network using TCP / IP (Transmission Control Protocol / Internet Protocol). That is, the L4 load balancer discriminates the received packet based on the transport layer protocol (TCP / UDP) and the IP address in the third network layer. Unlike the L7 load balancer, which is another widely known type of L4 load balancer, the L4 load balancer does not refer to information in the application layer, and therefore has an advantage of higher distribution performance than the L7 load balancer.
上述のL4ロードバランサーを用いるネットワークでは、送信元に固有のIPアドレスでパケットが判別されるので、パーシステンス継続時間内に受信した同じ送信元からのパケットの転送先を固定化するパーシステンス機能に起因する負荷の集中が起こり得る。例えば、1台の情報機器から多数のリクエストが順次に連続的にL4ロードバランサーを介してサーバークラスタへ送信される場合において、クライアントの同異にかかわらず全てのリクエストがサーバークラスタ内の一つのサーバーに割り当てられてしまう。通常、サーバーにおける処理速度は負荷が過度に集中すると大幅に低下する。サーバーの処理速度の低下は、サーバーへのパケットの転送の遅延を招く。 In a network using the above-described L4 load balancer, a packet is determined based on a unique IP address of the transmission source. Therefore, a load caused by a persistence function for fixing a transfer destination of a packet received from the same transmission source within the persistence duration time. Concentration can occur. For example, when a large number of requests are sequentially sent from a single information device to the server cluster via the L4 load balancer, all requests are sent to one server in the server cluster regardless of whether the clients are the same. Will be assigned. Usually, the processing speed in the server is greatly reduced when the load is excessively concentrated. A decrease in the processing speed of the server causes a delay in packet transfer to the server.
本発明は、このような事情に鑑み、L4ロードバランサーを経由するデータ転送の遅延低減に有用な転送制御を実現することを目的としている。 In view of such circumstances, an object of the present invention is to realize transfer control useful for reducing delay in data transfer via an L4 load balancer.
上記目的を達成する装置は、ロードバランサーと通信する情報機器であって、クライアントからのサーバーに対するリクエストを前記ロードバランサーに送信する送信部と、前記送信部によって前記ロードバランサーへの前記リクエストの送信が行なわれている期間中に、当該送信におけるデータ転送速度を周期的に取得する取得部と、前記取得部によって取得されたデータ転送速度が通常時のデータ転送速度よりも小さい予め設定された閾値速度以下であるときに、送信を開始していないリクエストについての送信を前記送信部に保留させる保留指示部と、前記保留指示部によって前記送信部に対して保留が指示されたときに行われていた前記リクエストの送信が終了してから前記ロードバランサーにおけるパーシステンス継続時間以上の長さの予め設定された設定時間が経過した後に、前記送信部に前記送信の保留を解除させて前記ロードバランサーへの送信を再開させる再開指示部と、を備える。 An apparatus that achieves the above object is an information device that communicates with a load balancer, wherein a transmission unit that transmits a request for a server from a client to the load balancer, and the transmission unit transmits the request to the load balancer. An acquisition unit that periodically acquires the data transfer rate in the transmission, and the data transfer rate acquired by the acquisition unit is equal to or less than a preset threshold rate that is smaller than the normal data transfer rate A suspension instruction unit that causes the transmission unit to defer transmission of a request that has not started transmission, and the request that was performed when the transmission unit was instructed to hold by the suspension instruction unit More than the persistence duration in the load balancer after transmission is completed After a lapse of the set time set in advance in the, and a resumption instruction section resuming the transmission of the by releasing the hold of the transmission to the transmitting unit to the load balancer.
本発明によれば、L4ロードバランサーを使用する負荷分散環境でのデータ転送の遅延低減に有用な転送制御を実現することができる。 According to the present invention, it is possible to realize transfer control useful for reducing delay in data transfer in a load balancing environment using an L4 load balancer.
図1に負荷分散環境の一例としてネットワーク上の複数の機器から構成される印刷システム1が示されている。印刷システム1は、いわゆるプルプリントシステムであり、保存されているジョブ(印刷ジョブ)を印刷装置が保存先から取り込んで実行する。印刷システム1では、負荷分散に関わる第1情報機器としてのプリントサーバー10からロードバランサー20を経由して第2情報機器としての複数の管理サーバー31,32,33のいずれかへジョブが転送される。
FIG. 1 shows a
プルプリントに際して、まず、パーソナルコンピューターやスマートフォンといったクライアント端末5,6,7,8のユーザーがドキュメントの印刷を指示する。指示を受けたクライアント端末5,6,7,8は、印刷を要求する所定データ形式のジョブを生成してプリントサーバー10に送る。ジョブにはユーザー情報が含まれる。ジョブがドキュメントデータ(印刷データ)を含んでいてもよいし、予めドキュメントサーバーに保存されているドキュメントを印刷対象として指定する情報をドキュメントデータの代わりに含んでいてもよい。
In pull printing, first, users of
プリントサーバー10は、クライアント端末5,6,7,8から受け取ったジョブをいったんスプール110としてのメモリに蓄え、サーバー30を宛先とするパケットに変換してロードバランサー20に送信する。ここでのサーバー30は、複数の管理サーバー31,32,33を実体とする仮想のサーバーである。ジョブの送信に際して規定数以下の複数のジョブを一括に扱うことが可能である。
The
ロードバランサー20は、プリントサーバー10から受信したパケットを、複数の管理サーバー31,32,33のうちから負荷分散アルゴリズムに従って選択した一つに転送する。負荷分散アルゴリズムは最も負荷の小さいサーバーにリクエストを割り振る方式(例えば最少接続方式)である。ロードバランサー20における転送先の選択によって、複数の管理サーバー31,32,33のいずれかにジョブが割り振られる。
The
管理サーバー31,32,33は、それぞれに割り振られたジョブに対する認証処理を行なう。そして、管理サーバー31,32,33は、適正であると判別したジョブをジョブサーバー35に保存させる。管理サーバー31,32,33は、ジョブサーバー35における保存状況を示す情報を共有する。
The management servers 31, 32, and 33 perform authentication processing for the jobs assigned to them. Then, the
ジョブが保存された後、クライアント端末5,6,7,8において印刷を指示したユーザーは、複数の印刷装置41,42,43に印刷を実行させることができる。ユーザーは印刷装置41,42,43のいずれかを任意に選び、選んだ印刷装置を操作して自己に関わるジョブの一覧表示を指示する。指示を受けた印刷装置は、ロードバランサー40を介して接続されるサーバー30に対して、保存されているジョブを問い合わせる。問合せは、ロードバランサー40が選択した管理サーバー31,32,33のいずれかに届く。問合せを受けた管理サーバーから提供されるジョブ情報を、問合せ元の印刷装置が表示する。ユーザーが実行させたいジョブを指定して印刷の実行を指示すると、印刷装置はサーバー30を介してジョブサーバー35からジョブを取得し、取得したジョブが指定するドキュメントを印刷する。印刷装置41,42,43はMFP(Multi-functional Peripheral)またはネットワークプリンティングの可能な他の画像形成装置であればよい。
After the job is saved, the user who has instructed printing at the
このような印刷システム1において、ロードバランサー20としてL4ロードバランサーが使用される。ただし、L4スイッチ専用機である必要はなく、ロードバランサー20はL4スイッチモードとL7スイッチモードとの切替えが可能な装置であってもよい。
In such a
ロードバランサー20は、OSI参照モデルにおける第4層以下の情報に基づいて、プリントサーバー10からのパケットの転送先(管理サーバー31,32,33のいずれか)を選択する。第4層以下の情報とは、第4層(トランスポート層)のプロトコルによって認識される情報(例えばポート番号)および第3層(ネットワーク層)のプロトコルによって認識される情報(例えばIPアドレス)である。このことは、プリントサーバー10から送信されるジョブについて、それを生成したクライアント端末5,6,7,8が区別されないことを意味する。言い換えれば、ジョブをサーバー30に対するリクエストとしてみたとき、ロードバランサー20は全てのリクエストについて、「サーバー30に対するクライアントがプリントサーバー10である」と認識する。
The
そして、このロードバランサー20にはパーシステンス機能が備わっている。ここでいうパーシステンス機能とは、指定されているパーシステンス継続時間内にクライアントが同一である複数のリクエストが順に入力されたときに、先に入力されたリクエストに対して選択した転送先を、後に入力されたリクエストに対しても選択する機能である。つまり、ロードバランサー20は、パーシステンス継続時間内の同一のクライアントからのリクエストに対して転送先を固定化する。
The
ロードバランサー20へジョブを送信するプリントサーバー10は、送信タイミングを特徴付ける動作をする転送モニター120を有している。転送モニター120は、ジョブが転送されるサーバー30における負荷に依存するデータ転送速度(データ転送率ともいう)を監視する。データ転送速度が低下したとき、転送モニター120は後述のようにプリントサーバー10に送信を中断させ、それによってロードバランサー20に転送先の固定を解除させる。
The
図2はプリントサーバー10におけるジョブ転送制御を示している。図2の上段部に複数のジョブ(図ではJOB−1〜12と記されている)の転送期間を示すタイミングチャートが描かれている。図2の中段部のグラフは、ロードバランサー20において転送先が固定された状態での転送先のサーバーにおける負荷の推移を示し、下段部のグラフはデータ転送速度Rの推移を示している。
FIG. 2 shows job transfer control in the
時刻t1において、三つのジョブ(JOB−1〜3)を一括したジョブグループ91の転送、すなわち各ジョブに対応したパケットの送信が開始されている。ジョブグループ91の三つのジョブは、例えば同じクライアント端末から連続的に受け取ったことから転送に際して一括に扱われる。ジョブグループ91の転送途中の時刻t2において、二つのジョブを一括したジョブグループ92の転送が開始されている。例示では、時刻t1から時刻t2までの時間がパーシステンス継続時間よりも短いので、ジョブグループ92は先のジョブグループ91と同じ転送先へ転送される。これにより、プリントサーバー10は、ロードバランサー20が選択した管理サーバー31,32,33のいずれかに合計五つのジョブを並行して送信することになる。
At time t1, transfer of the
時刻t3において四つのジョブからなるジョブグループ93の転送が開始され、さらに時刻t4において一つのジョブ94の転送が開始されている。時刻t4では先に開始された転送が継続中であるので、転送先の管理サーバーは合計10個のジョブ(JOB−1〜10)の受信処理を行なうことになる。
At time t3, transfer of a
並行受信するジョブの数が増えるにつれて、転送先の管理サーバーに加わる付加が増大する。本例では、管理サーバー31,32,33のそれぞれの処理能力で決まる所定量よりも負荷が小さいときにはデータ転送速度Rが通常時のデータ転送速度Rsにほぼ保たれ、負荷が所定値を超えてさらに増大するにつれてデータ転送速度Rが低下する。
As the number of jobs received in parallel increases, the addition added to the transfer destination management server increases. In this example, when the load is smaller than a predetermined amount determined by the processing capabilities of the
データ転送速度Rが通常時のデータ転送速度Rsから閾値速度Rthまで低下した時刻t5において、この時点でスプールされておりかつ転送が開始されていないジョブ(これを「未転送開始ジョブ」と呼称する)95,96について、プリントサーバー10は必要に応じて転送を保留する。保留が必要な場合とは、保留をすることによって未転送開始ジョブ95,96の転送終了時期が早くなると予測される場合である。保留の要否は未転送開始ジョブ95,96のデータ量に依存する。なお、保留中であってもパケットの生成といった送信準備を進めることはできる。
At time t5 when the data transfer rate R decreases from the normal data transfer rate Rs to the threshold rate Rth, a job that has been spooled at this time and transfer has not started (this job is referred to as an “untransfer started job”). ) For 95 and 96, the
転送先の管理サーバーでは、ジョブの受信が終了した後、ジョブを認証したり、ジョブサーバーへ転送したりというようにジョブの受信に付随する処理が行なわれる。また、印刷装置41,42,43からのアクセスに応答する場合もある。したがって、ジョブの受信が終了したとしても直ちに負荷が低下するとは限らず、高負荷状態の続く場合がある。
In the transfer destination management server, after receiving the job, processing associated with the reception of the job is performed such as authenticating the job or transferring the job to the job server. In some cases, it responds to access from the
プリントサーバー10は、未転送開始ジョブ95,96の転送を保留する場合、保留の開始する時点で転送途中である全てのジョブの転送が終了する時刻t6から保留設定時間T2が経過する時刻t7まで保留状態を維持する。そして、時刻t7で保留を解除し、未転送開始ジョブ95,96の転送を開始する。さらにその後、時刻t5以降にスプールされたジョブの転送を開始する。
When the
保留設定時間T2は、ロードバランサー20において設定されたパーシステンス継続時間(T1)と同じかまたは適切なマージンをパーシステンス継続時間に加算した長さの時間である。時刻t6から保留設定時間T2にわたってプリントサーバー10からの送信が途絶えることにより、ロードバランサー20において転送先の固定が解除される。すなわち、ロードバランサー20がその後のプリントサーバー10からのアクセスに対して改めて転送先を選択する状態になる。
The hold set time T2 is the same as the persistence duration (T1) set in the
ロードバランサー20が改めて転送先を選択するとき、以前の最後に選択した管理サーバー(例えば管理サーバー31)の負荷が他の管理サーバー(例えば管理サーバー32,33)の負荷よりも小さい場合、以前に続いて再び管理サーバー31が転送先として選択される。管理サーバー31の負荷よりも他の管理サーバー32,33の一方または両方の負荷が小さい場合には、転送先が切り替わる。いずれにしても、改めて転送先が選択されることによって、転送を保留する直前と比べて転送先の負荷が小さくなり得る。低負荷状態の管理サーバーが配送先になれば、データ転送速度の低下した高負荷状態の管理サーバーに未転送開始ジョブ95,96を転送するよりも早く未転送開始ジョブ95,96の転送を終了することができる。
When the
図3において、ロードバランサー(LB)20による転送先の切替えが模式的に示されている。ジョブグループ92に対してロードバランサー20が選択した転送先は管理サーバー31である。ジョブグループ92に続いてパーシステンス継続時間T1以内の時間間隔でプリントサーバー10から送信されたジョブグループ93も、管理サーバー31に転送される。同様にジョブ94も、管理サーバー31に転送される。ところが、ジョブ94の転送終了からパーシステンス継続時間T1が経過した後に送信されたジョブグループ97は、ジョブ94の転送先の管理サーバー31とは異なる管理サーバー33に転送される。
In FIG. 3, the switching of the transfer destination by the load balancer (LB) 20 is schematically shown. The transfer destination selected by the
以下、プリントサーバー10の構成および動作をさらに詳しく説明する。
Hereinafter, the configuration and operation of the
図4はプリントサーバー10のハードウェア構成を示している。プリントサーバー10は、制御プログラムや各種アプリケーションを実行するコンピューターとしてのCPU(Central Processing Unit)12、制御プログラムを記憶するROM(Read Only Memory)13、プログラム実行のワークエリアとされるRAM(Random Access Memory)14を有する。ストレージ15はハードディスクドライブまたは他の大容量不揮発性の記憶デバイスであり、プログラム、各種データ、受信したジョブなどを記憶する。通信インタフェース16はプリントサーバー10をネットワークに接続する。リムーバブルメモリドライブ17は、例えばリムーバブルメモリからのプログラムのインストールに用いられる。
FIG. 4 shows the hardware configuration of the
図5はプリントサーバー10の機能構成を示している。プリントサーバー10は、スプーラー101、送信部102、および転送モニター120を有している。これらの構成要素は、CPU12が所定の制御プログラムを実行することによって実現される機能要素である。
FIG. 5 shows a functional configuration of the
スプーラー101は、通信インタフェース16が受信したクライアント端末5,5,6,7からのジョブを所定のメモリ(図1のスプール110)に格納し、これによって一時的に保存されるジョブを管理する。送信部102による送信の進行に合わせて、スプーラー101は順次にジョブを送信部102に引き渡す。
The
送信部102は、通信インタフェース16を介して接続されるロードバランサー20に送信すべきジョブに対応するパケットを送信する。送信されたパケットはロードバランサー20からロードバランサー20が選択する転送先に転送される。送信部102は、未転送開始ジョブについてのパケットを通信インタフェース16に送る送信動作の開始を、転送モニター120からの保留指示に従って保留する。保留後に転送モニター120から再開が指示されると、送信部102は未転送開始ジョブの送信を開始する。
The
動作モニター120は、データ転送速度Rを取得する取得部122、送信部102に保留指示を与える保留指示部124、保留指示に関わる時間を算出する算出部126、および送信部102に再開指示を与える再開指示部128を備える。
The operation monitor 120 obtains the data transfer rate R, the
取得部122は、送信部102から通知される送信動作のステータスによって示されるデータ転送が行なわれている期間中に、通信インタフェース16における送信のデータ転送速度Rを周期的に取得する。そして、取得するごとにデータ転送速度Rを保留指示部124に通知する。
The
データ転送速度Rの取得には、ベンチマークテストの手法を用いて取得部122がデータ転送速度Rを算出する形態と、ネットワーク使用状況を監視するプログラムが別途に搭載されている場合にそのプログラムからデータ転送速度Rを取り込む形態とがある。取得の周期は、パーシステンス継続時間T1に応じて設定される。例えば、パーシステンス継続時間T1が10秒である場合、その百分の一から十分の一である0.1〜1秒の範囲内の周期を設定すればよい。データ転送速度Rを算出する場合、取得の周期に相応する時間内の伝送ビット数を周期で除した商をデータ転送速度Rとしてもよいし、周期に相応する時間を等分割した分割時間ごとのデータ転送速度の平均値をデータ転送速度Rとしてもよい。
For acquiring the data transfer rate R, the
保留指示部124は、取得部122から通知されたデータ転送速度Rが閾値以下であるときに(図2参照)、算出部126に算出指示を与える。指示を受けた算出部126は、推定所要時間TXおよび合計時間TYを算出して保留指示部124に通知する。推定所要時間TXは、未転送開始ジョブをデータ転送速度Rで送信すると仮定した場合における送信の開始から終了までの時間である。合計時間TYは、通常時のデータ転送速度Rsで未転送開始ジョブを送信すると仮定した場合における送信の開始から終了までの時間である推定所要時間TXsに保留設定時間T2を加算した時間である。保留指示部124は、合計時間TYが推定所要時間TXよりも短い場合に、送信部102に保留指示を与える。
The
再開指示部128には保留指示部124から保留指示を送信部102に与えたことが通知される。再開指示部128は、未転送開始ジョブの送信が保留されたときに転送途中であったジョブの転送が終了してから保留設定時間T2が経過した時点で、送信部102に再開指示を与える。
The
図6のフローチャートはプリントサーバー10の動作の概要を示している。プリントサーバー10は、クライアント端末5,6,7,8からのジョブの受信(S01)、ジョブを順序良く転送するためのスプール処理(S02)、およびジョブをサーバー30へ送信する転送処理(S03)を繰り返し実行する。
The flowchart in FIG. 6 shows an outline of the operation of the
図7は転送処理ルーチンのフローチャートである。 FIG. 7 is a flowchart of the transfer processing routine.
送信部102はスプーラー101と連携して次の転送の対象とするジョブを決定する(S11)。このとき、複数のジョブを一括に対象とする場合がある。続いて、送信部102は、対象に決めたジョブの転送を開始し(S12)、転送モニター120にステータスとして「開始」を通知する(S13)。すなわち、データ転送速度Rを監視すべきであることを知らせる。
The
保留指示の有無がチェックされ(S14)、保留指示が無ければ(S14でNO)、フローはステップS21へ進む。転送中のジョブのパケットを送り出す送信処理が行なわれ(S21)、未転送のジョブの有無がチェックされる(S22)。未転送のジョブが有れば、フローはステップS11に戻る。未転送のジョブが無ければ、転送が終了した時点で転送モニター120にステータスとして「終了」が通知され(S23)、フローは図6のメインルーチンへ戻る。 The presence / absence of a hold instruction is checked (S14). If there is no hold instruction (NO in S14), the flow proceeds to step S21. A transmission process for sending out the packet of the job being transferred is performed (S21), and the presence or absence of an untransferred job is checked (S22). If there is an untransferred job, the flow returns to step S11. If there is no untransferred job, “end” is notified as a status to the transfer monitor 120 when the transfer is completed (S23), and the flow returns to the main routine of FIG.
一方、保留指示があった場合(S14でYES)、送信部102は、転送途中のジョブがなくなるまで、転送中のジョブのパケットを送り出す送信処理を続ける(S15、S16)。転送途中であったジョブのパケットの送信が終了すると(S16でYES)、送信部102は、転送モニター120にステータスとして「保留」を通知する(S17)。この通知を受けて、転送モニター120の再開指示部128が保留設定時間T2を計時するための保留タイマーをセットする(S18)。保留タイマーの計時が終了すると(S19でYES)、再開指示部128が送信部102に再開指示を与える(S20)。フローはステップS11に戻り、未転送のジョブの転送が開始される。
On the other hand, when there is a hold instruction (YES in S14), the
図8は転送モニター120の保留指示動作を示すフローチャートである。
FIG. 8 is a flowchart showing the hold instruction operation of the
取得部122は送信部102がジョブの転送を開始するのを待つ(S31)。転送が開始されると(S31でYES)、取得部122はデータ転送速度Rを取得して保持指示部124に通知する(S32)。保持指示部124によってデータ転送速度Rが閾値以下であるかどうかが判定される(S33)。データ転送速度Rが閾値より大きい場合(S33でNO)、フローはステップS31へ戻る。転送中においてデータ転送速度Rの取得と閾値との比較とが繰り返されることになる。
The
データ転送速度Rが閾値以下であった場合(S33でYES)、フローはステップ34へ進む。ここで、具体例として、通常データ転送速度Rsを「1Gbps(1ギガビット毎秒)」とし、閾値を「0.6Gbps」とし、取得された最新のデータ転送速度Rを「0.56Gbps」とする。 If the data transfer rate R is equal to or less than the threshold (YES in S33), the flow proceeds to step 34. Here, as a specific example, the normal data transfer rate Rs is set to “1 Gbps (1 gigabit per second)”, the threshold value is set to “0.6 Gbps”, and the acquired latest data transfer rate R is set to “0.56 Gbps”.
ステップS34において、保持指示部124から算出指示を受けた算出部126が、スプーラー101からのジョブ情報に基づいて、未転送開始ジョブのデータ量DQを算出する。図2の例のように未転送開始ジョブ95,96が複数であれば、各ジョブのデータ量の総和をデータ量DQとして算出する。具体例として、データ量DQの算出値を「160Gビット」とする。
In step S <b> 34, the
続いて、算出部126は、上述の推定所要時間TXを算出する(S35)。具体例ではデータ量DQが「160Gビット」でデータ転送速度Rが「0.56Gbps」であるので、推定所要時間TXは次の式のとおり約280秒になる。
TX=160[Gbit]/0.56[Gbit/sec.]≒280[sec.]
さらに続いて、算出部126は、上述の推定所要時間TXsおよび合計時間TYを算出する(S36、S37)。具体例では、通常データ転送速度Rsが「1Gbps」であるので、推定所要時間TXsは約160秒になる。また、保留設定時間T2をパーシステンス継続時間T1と同じく「10秒」とし、推定所要時間TXsを160秒にみなすと、合計時間TYは170秒となる。
TXs=160[Gbit]/1[Gbit/sec.]≒160[sec.]
TY=TXs+T2=160[sec.]+10[sec.]=170[sec.]
算出された推定所要時間TXと合計時間TYとを保留指示部124が比較する(S38)。具体例では合計時間TYが推定所要時間TXよりも短い(170秒<280秒)。この例のように合計時間TYが推定所要時間TXよりも短い場合(S38でYES)、保留指示部124は送信部102に未転送開始ジョブの転送開始を保留させる(S39)。その後、フローはステップS31に戻る。
Subsequently, the
TX = 160 [Gbit] /0.56 [Gbit / sec.] ≈280 [sec.]
Subsequently, the calculating
TXs = 160 [Gbit] / 1 [Gbit / sec.] ≈160 [sec.]
TY = TXs + T2 = 160 [sec.] + 10 [sec.] = 170 [sec.]
The
合計時間TYが推定所要時間TXよりも長い場合(S38でNO)、フローは直ちにステップS31に戻る。この場合、未転送開始ジョブの転送開始は保留されず、パケットの準備が整って転送開始が可能になった時点で未転送開始ジョブの転送が開始される。転送開始を保留しないのは、保留によって転送の開始が遅れるので、たとえ通常データ転送速度Rsで転送することができたとしても、データ転送速度Rの低い状態で転送を行なう方が未転送開始ジョブの転送を早期に終えることができるからである。 If the total time TY is longer than the estimated required time TX (NO in S38), the flow immediately returns to step S31. In this case, the transfer start of the non-transfer start job is not suspended, and the transfer of the non-transfer start job is started when the packet preparation is complete and transfer start is possible. The reason why the transfer start is not suspended is that the start of the transfer is delayed due to the hold, so even if the transfer can be performed at the normal data transfer rate Rs, the transfer is not started when the transfer is performed at a lower data transfer rate R. This is because the transfer can be completed early.
以上の実施形態によれば、ロードバランサー20が管理サーバー31,32,33のうちの最も負荷の小さい一つを転送先に選択するので、全ての管理サーバー31,32,33が過負荷状態でない限り、転送先が切り替わることによって通常時のデータ転送速度Rsでの転送が可能になる。
According to the above embodiment, since the
上述の実施形態において、ロードバランサー20の負荷分散アルゴリズムは、必ずしも転送先候補のうちの最も負荷の小さい一つを選択するアルゴリズムである必要はない。選択ごとに転送先を変更するアルゴリズムであってもよい。転送先が切り替わりさえすればデータ転送速度の低下した状態からそうでない状態へ通信環境の好転する可能性がある。
In the above-described embodiment, the load balancing algorithm of the
印刷システム1のネットワーク構成は適宜変更することができる。プリントサーバー10に接続されるクライアント端末5,6,7,8の個数は図1の例示における「4」に限らない。ロードバランサー20にジョブを送信する機器としてプリントサーバー10および他の機器を接続してもよい。ロードバランサー20がジョブを割り当てる管理サーバー31,32,33の個数は例示の「3」に限らない。
The network configuration of the
1 印刷システム
5,6,7,8 クライアント端末(クライアント)
10 プリントサーバー(情報機器、第1情報機器、第1サーバー)
20 ロードバランサー
30 サーバー
31,32,33 管理サーバー(第2情報機器、第2サーバー)
91,92,93,97 ジョブグループ(リクエスト)
94 ジョブ(リクエスト)
95,96 未転送開始ジョブ(送信を開始していないリクエスト)
101 スプーラー
102 送信部
R データ転送速度
Rs 通常時のデータ転送速度
Rth 閾値速度
122 取得部
124 保留指示部
126 算出部
128 再開指示部
T1 パーシステンス継続時間
T2 保留設定時間(設定時間)
TX 推定所要時間(第1の推定所要時間)
TXs 推定所要時間(第2の推定所要時間)
TY 合計時間
41,42,43 印刷装置
1
10 Print server (information equipment, first information equipment, first server)
20
91, 92, 93, 97 Job group (request)
94 jobs (request)
95,96 Untransferred start job (request that has not started transmission)
101
TX Estimated required time (first estimated required time)
TXs Estimated required time (second estimated required time)
Claims (7)
クライアントからのサーバーに対するリクエストを前記ロードバランサーに送信する送信部と、
前記送信部によって前記ロードバランサーへの前記リクエストの送信が行なわれている期間中に、当該送信におけるデータ転送速度を周期的に取得する取得部と、
前記取得部によって取得されたデータ転送速度が通常時のデータ転送速度よりも小さい予め設定された閾値速度以下であるときに、送信を開始していないリクエストについての送信を前記送信部に保留させる保留指示部と、
前記保留指示部によって前記送信部に対して保留が指示されたときに行われていた前記リクエストの送信が終了してから前記ロードバランサーにおけるパーシステンス継続時間以上の長さの予め設定された設定時間が経過した後に、前記送信部に前記送信の保留を解除させて前記ロードバランサーへの送信を再開させる再開指示部と、を備える
ことを特徴とする情報機器。 An information device that communicates with a load balancer,
A transmission unit for transmitting a request from the client to the server to the load balancer;
An acquisition unit that periodically acquires a data transfer rate in the transmission during a period in which the request is transmitted to the load balancer by the transmission unit;
When the data transfer rate acquired by the acquisition unit is equal to or lower than a preset threshold rate smaller than the normal data transfer rate, the transmission unit holds the transmission for a request that has not started transmission. An indicator,
A preset set time longer than the persistence duration in the load balancer has elapsed since the transmission of the request that was performed when the transmission was instructed to the transmission unit by the hold instruction unit And a restart instruction unit that causes the transmission unit to release the suspension of the transmission and resume transmission to the load balancer.
前記取得されたデータ転送速度が前記閾値速度以下であるときに、前記スプーラーによってスプールされている前記リクエストのうちの送信を開始していないリクエストを当該取得されたデータ転送速度で送信する場合における送信の開始から終了までの時間である第1の推定所要時間、および当該リクエストを前記通常時のデータ転送速度で送信する場合における送信の開始から終了までの時間である第2の推定所要時間と前記設定時間との合計時間を算出する算出部とを、さらに備え、
前記保留指示部は、算出された前記合計時間が前記第1の推定所要時間よりも短い場合に、送信を開始していない前記リクエストの送信を前記送信部に保留させ、算出された前記合計時間が前記第1の推定所要時間以上である場合には、前記送信部に対して当該リクエストの送信の保留を指示しない
請求項1記載の情報機器。 A spooler that spools a request to be transmitted by the transmission unit;
When the acquired data transfer rate is equal to or lower than the threshold rate, transmission in the case of transmitting a request that has not started transmission among the requests spooled by the spooler at the acquired data transfer rate A first estimated required time that is a time from the start to the end of the transmission, a second estimated required time that is a time from the start to the end of transmission when the request is transmitted at the normal data transfer rate, and the A calculation unit for calculating the total time with the set time,
When the calculated total time is shorter than the first estimated required time, the holding instruction unit causes the transmitting unit to hold transmission of the request that has not started transmission, and the calculated total time 2. The information device according to claim 1, wherein when the time is equal to or longer than the first estimated required time, the transmission unit is not instructed to hold the transmission of the request.
前記情報機器が有するコンピューターに、
クライアントからのサーバーに対するリクエストを前記ロードバランサーに送信する処理と、
前記ロードバランサーへの前記リクエストの送信が行なわれている期間中に、当該送信におけるデータ転送速度を周期的に取得する処理と、
取得されたデータ転送速度が通常時のデータ転送速度よりも小さい予め設定された閾値速度以下であるときに、送信を開始していないリクエストについての送信を保留する処理と、
前記送信を開始していないリクエストについての送信を保留したときに行われていた前記リクエストの送信が終了してから前記ロードバランサーにおけるパーシステンス継続時間以上の長さの予め設定された設定時間が経過した後に、前記送信の保留を解除して前記ロードバランサーへの送信を再開する処理と、を実行させる
ことを特徴とするコンピュータープログラム。 A computer program executed in an information device that communicates with a load balancer,
In the computer that the information device has,
Processing to send a request from the client to the server to the load balancer;
A process of periodically acquiring a data transfer rate in the transmission during a period in which the request is transmitted to the load balancer;
When the acquired data transfer rate is equal to or lower than a preset threshold rate smaller than the normal data transfer rate, a process for deferring transmission for a request that has not started transmission;
After a lapse of a preset set time longer than the persistence duration in the load balancer after transmission of the request that was performed when transmission of the request that has not started transmission is suspended And a process for canceling the suspension of the transmission and restarting the transmission to the load balancer.
送信の対象となるリクエストをスプールする処理、および
前記取得されたデータ転送速度が前記閾値速度以下であるときに、スプールされている前記リクエストのうちの送信を開始していないリクエストを、当該取得されたデータ転送速度で送信する場合における送信の開始から終了までの時間である第1の推定所要時間、および当該リクエストを前記通常時のデータ転送速度で送信する場合における送信の開始から終了までの時間である第2の推定所要時間と前記設定時間との合計時間を算出する処理を、さらに実行させるとともに、
送信を保留する前記処理として、算出された前記合計時間が前記第1の推定所要時間よりも短い場合に、送信を開始していない前記リクエストについての送信を保留し、算出された前記合計時間が前記第1の推定所要時間以上である場合には、送信を保留しない処理を実行させる
請求項3記載のコンピュータープログラム。 On the computer,
A process for spooling a request to be transmitted, and a request that has not started transmission among the spooled requests when the acquired data transfer rate is equal to or lower than the threshold rate. The first estimated required time, which is the time from the start to the end of transmission when transmitting at the data transfer rate, and the time from the start to the end when transmitting the request at the normal data transfer rate And further executing a process of calculating a total time of the second estimated required time and the set time,
As the processing for deferring transmission, when the calculated total time is shorter than the first estimated required time, the transmission for the request that has not started transmission is deferred, and the calculated total time is The computer program according to claim 3, wherein if it is equal to or longer than the first estimated required time, a process that does not suspend transmission is executed.
前記ロードバランサーは、前記複数の第2サーバーのうちの割振り先に定めた第2サーバーへパーシステンス継続時間より長く途絶えることなく前記第1サーバーから印刷ジョブが送信されている状態では割振り先の設定を維持し、前記パーシステンス継続時間にわたって前記第1サーバーからの印刷ジョブの送信が途絶えたときに割振り先の設定の維持を解除するパーシステンス機能を有しており、
前記第1サーバーは、
前記複数のクライアント端末から受け取った印刷ジョブを前記ロードバランサーに送信する送信部と、
前記送信部によって前記ロードバランサーへの前記印刷ジョブの送信が行なわれている期間中に、当該送信におけるデータ転送速度を周期的に取得する取得部と、
前記取得部によって取得されたデータ転送速度が通常時のデータ転送速度よりも小さい予め設定された閾値速度以下であるときに、送信を開始していない印刷ジョブについての送信を前記送信部に保留させる保留指示部と、
前記保留指示部によって前記送信部に対して保留が指示されたときに行われていた前記印刷ジョブの送信が終了してから前記ロードバランサーにおける前記パーシステンス継続時間以上の長さの予め設定された設定時間が経過した後に、前記送信部に前記送信の保留を解除させて前記ロードバランサーへの送信を再開させる再開指示部と、を備える
ことを特徴とする印刷システム。 A first server that receives a print job from each of a plurality of client terminals, a plurality of second servers that transmit a print job to a printing apparatus, and a plurality of print jobs that are transmitted from the first server to the plurality of second servers A printing system having a load balancer to allocate,
The load balancer maintains the allocation destination setting in a state where a print job is transmitted from the first server to the second server determined as an allocation destination among the plurality of second servers without interruption for longer than the persistence duration time. And having a persistence function for canceling the maintenance of the allocation destination setting when the transmission of the print job from the first server is interrupted over the persistence duration,
The first server is
A transmission unit that transmits print jobs received from the plurality of client terminals to the load balancer;
An acquisition unit that periodically acquires a data transfer rate in the transmission during a period in which the transmission of the print job to the load balancer is performed by the transmission unit;
When the data transfer rate acquired by the acquisition unit is equal to or lower than a preset threshold rate smaller than the normal data transfer rate, the transmission unit holds the transmission of a print job that has not started transmission. A hold instruction section;
A preset set time longer than the persistence duration in the load balancer after the transmission of the print job that was performed when the hold instruction is given to the transmission unit by the hold instruction unit After the elapse of time, the printing system includes: a resumption instruction unit that causes the transmission unit to release the suspension of transmission and resume transmission to the load balancer.
前記送信部による送信の対象となる印刷ジョブをスプールするスプーラーと、
前記取得されたデータ転送速度が前記閾値速度以下であるときに、前記スプーラーによってスプールされている前記印刷ジョブのうちの送信を開始していない印刷ジョブを、当該取得されたデータ転送速度で送信する場合における送信の開始から終了までの時間である第1の推定所要時間、および当該印刷ジョブを前記通常時のデータ転送速度で送信する場合における送信の開始から終了までの時間である第2の推定所要時間と前記設定時間との合計時間を算出する算出部とを、さらに備え、
前記保留指示部は、算出された前記合計時間が前記第1の推定所要時間よりも短い場合に、送信を開始していない前記印刷ジョブの送信を前記送信部に保留させ、算出された前記合計時間が算出された前記第1の推定所要時間以上である場合には、前記送信部に対して当該印刷ジョブの送信の保留を指示しない
請求項5記載の印刷システム。 The first server is
A spooler for spooling a print job to be transmitted by the transmission unit;
When the acquired data transfer speed is equal to or lower than the threshold speed, a print job that has not started transmission among the print jobs spooled by the spooler is transmitted at the acquired data transfer speed. A first estimated required time that is a time from the start to the end of transmission in the case, and a second estimate that is a time from the start to the end of transmission when the print job is transmitted at the normal data transfer speed. A calculation unit for calculating a total time of the required time and the set time,
When the calculated total time is shorter than the first estimated required time, the hold instruction unit causes the transmission unit to hold transmission of the print job that has not started transmission, and the calculated total The printing system according to claim 5, wherein when the time is equal to or longer than the calculated first estimated required time, the transmission unit is not instructed to hold the transmission of the print job.
前記ロードバランサーが転送先の選択動作として、前記第1の情報機器を特定する識別情報に基づいて負荷分散を行なう場合において、
前記第1の情報機器が、前記ロードバランサーへの前記データの送信におけるデータ転送速度の推移を監視し、前記データ転送速度が通常時のデータ転送速度よりも小さい閾値速度以下になったときに転送を中断し、前記ロードバランサーが転送先を再選択する状態になる時間が経過した後に転送を再開する
ことを特徴とするデータ転送方法。 A data transfer method for transferring data from a first information device to one of a plurality of second information devices using a load balancer that selects a transfer destination,
When the load balancer performs load distribution based on identification information that identifies the first information device as a transfer destination selection operation,
The first information device monitors the transition of the data transfer rate in the transmission of the data to the load balancer, and transfers the data when the data transfer rate falls below a threshold rate less than the normal data transfer rate. A data transfer method comprising: interrupting and resuming the transfer after a time has elapsed for the load balancer to reselect a transfer destination.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013041792A JP6102347B2 (en) | 2013-03-04 | 2013-03-04 | Information device, printing system, computer program, and data transfer method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013041792A JP6102347B2 (en) | 2013-03-04 | 2013-03-04 | Information device, printing system, computer program, and data transfer method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014170379A JP2014170379A (en) | 2014-09-18 |
JP6102347B2 true JP6102347B2 (en) | 2017-03-29 |
Family
ID=51692732
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013041792A Active JP6102347B2 (en) | 2013-03-04 | 2013-03-04 | Information device, printing system, computer program, and data transfer method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6102347B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7081102B2 (en) * | 2017-09-21 | 2022-06-07 | 富士フイルムビジネスイノベーション株式会社 | Information processing equipment, information processing systems and programs |
JP7316810B2 (en) * | 2019-03-19 | 2023-07-28 | 株式会社Pfu | Server equipment and network system |
KR102500172B1 (en) * | 2022-11-16 | 2023-02-14 | 젬텍(주) | Method, control device and system for synchronizing memory between device |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1120271A (en) * | 1997-06-30 | 1999-01-26 | Canon Inc | Information processor, data processing method therefor, and memory medium storing computer readable program |
JP3898498B2 (en) * | 2001-12-06 | 2007-03-28 | 富士通株式会社 | Server load balancing system |
JP4512192B2 (en) * | 2005-02-09 | 2010-07-28 | 株式会社日立製作所 | Congestion control device and network congestion control method |
JP4961146B2 (en) * | 2006-02-20 | 2012-06-27 | 株式会社日立製作所 | Load balancing method and system |
US20100274893A1 (en) * | 2009-04-27 | 2010-10-28 | Sonus Networks, Inc. | Methods and apparatus for detecting and limiting focused server overload in a network |
-
2013
- 2013-03-04 JP JP2013041792A patent/JP6102347B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2014170379A (en) | 2014-09-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3000913B2 (en) | Data transmission apparatus and method | |
JP4791322B2 (en) | Method and apparatus for adaptive bandwidth control with bandwidth guarantee | |
US9025443B2 (en) | Network equipment and frame transmission control method | |
US9525727B2 (en) | Efficient and scalable pull-based load distribution | |
Zhang et al. | Tuning the aggressive TCP behavior for highly concurrent HTTP connections in intra-datacenter | |
US20150244765A1 (en) | Method for processing requests and server device processing requests | |
CN103905337B (en) | A kind of processing unit of Internet resources, method and system | |
JP6102347B2 (en) | Information device, printing system, computer program, and data transfer method | |
US20140223026A1 (en) | Flow control mechanism for a storage server | |
KR102153543B1 (en) | A buffer management method and apparatus for universal serial bus in a radio environment | |
JP2011203810A (en) | Server, computer system, and virtual computer management method | |
EP2245537B1 (en) | Network message management device and methods thereof | |
JP2014219920A (en) | Information processor, system, information processing method and program | |
JP2008059040A (en) | Load control system and method | |
KR101260561B1 (en) | Apparatus and Method for Dynamic Lane Operation in Multi-lane based Ethernet | |
Banerjee et al. | RAPID: An end-system aware protocol for intelligent data transfer over lambda grids | |
JP5024024B2 (en) | Spool server and data communication control method | |
JP6204287B2 (en) | Distributed processing method, processing server, and program | |
JP2013161283A (en) | Server, physical node, load distribution method and program | |
US8699347B2 (en) | Communication apparatus, communication system, communication method, and a computer-readable medium | |
WO2023162127A1 (en) | System, method, and program for collecting data | |
WO2018150481A1 (en) | Data control method for distributed processing system, and distributed processing system | |
JP2010154312A (en) | Network device | |
WO2023162128A1 (en) | System, method, and program for collecting data | |
WO2024150299A1 (en) | Device and method for preliminarily predicting and executing establishment of communication path |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20151221 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20161026 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20161115 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20170105 Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170105 |
|
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: 20170131 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170213 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6102347 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |