JP6102347B2 - Information device, printing system, computer program, and data transfer method - Google Patents

Information device, printing system, computer program, and data transfer method Download PDF

Info

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
Application number
JP2013041792A
Other languages
Japanese (ja)
Other versions
JP2014170379A (en
Inventor
俊哉 古林
俊哉 古林
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.)
Konica Minolta Inc
Original Assignee
Konica Minolta Inc
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 Konica Minolta Inc filed Critical Konica Minolta Inc
Priority to JP2013041792A priority Critical patent/JP6102347B2/en
Publication of JP2014170379A publication Critical patent/JP2014170379A/en
Application granted granted Critical
Publication of JP6102347B2 publication Critical patent/JP6102347B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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, Patent Document 1 discloses a client server system that monitors access from a client to a load balancer and increases or decreases the number of servers to be operated according to increase or decrease of access.

ロードバランサーを備える印刷システムにおけるジョブの制御に関する先行技術がある。特許文献2に記載された配信印刷システムでは、印刷を要求するジョブがロードバランサーによって複数のプリントサーバーのいずれかに割り当てられる。ジョブが割り当てられたプリントサーバーは当該ジョブが指定するプリンターに当該ジョブを投入する。その際、ジョブを投入したプリントサーバーがデータベースに登録される。これにより、ジョブの実行中止やプリンターの変更といったジョブコントロールを、複数のプリントサーバーのうちのジョブを投入したプリントサーバーに対して指示することが可能になる。   There is prior art relating to job control in a printing system having a load balancer. In the distributed printing system described in Patent Document 2, a job that requests printing is assigned to one of a plurality of print servers by a load balancer. The print server to which the job is assigned submits the job to the printer designated by the job. At this time, the print server that has submitted the job is registered in the database. As a result, job control such as job execution cancellation or printer change can be instructed to a print server that has submitted a job among a plurality of print servers.

ロードバランサーの一種として、いわゆる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.

特開2002−163241号公報JP 2002-163241 A 特開2009−151467号公報JP 2009-151467 A

上述の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 is a diagram illustrating a configuration of a printing system according to an embodiment of the present invention. プリントサーバーにおけるジョブ転送制御を示す図である。FIG. 6 is a diagram illustrating job transfer control in a print server. プリントサーバーにおけるジョブ転送制御によって生じるロードバランサーによる転送先の切替えの例を示す図である。FIG. 10 is a diagram illustrating an example of transfer destination switching by a load balancer caused by job transfer control in a print server. プリントサーバーのハードウェア構成を示す図である。2 is a diagram illustrating a hardware configuration of a print server. FIG. プリントサーバーの機能構成を示す図である。2 is a diagram illustrating a functional configuration of a print server. FIG. プリントサーバーの動作の概要を示すフローチャートである。3 is a flowchart illustrating an outline of an operation of a print server. プリントサーバーにおいて実行される転送処理ルーチンのフローチャートである。6 is a flowchart of a transfer processing routine executed in the print server. プリントサーバーにおける転送モニターの保留指示動作を示すフローチャートである。6 is a flowchart showing a hold instruction operation of the transfer monitor in the print server.

図1に負荷分散環境の一例としてネットワーク上の複数の機器から構成される印刷システム1が示されている。印刷システム1は、いわゆるプルプリントシステムであり、保存されているジョブ(印刷ジョブ)を印刷装置が保存先から取り込んで実行する。印刷システム1では、負荷分散に関わる第1情報機器としてのプリントサーバー10からロードバランサー20を経由して第2情報機器としての複数の管理サーバー31,32,33のいずれかへジョブが転送される。   FIG. 1 shows a printing system 1 including a plurality of devices on a network as an example of a load balancing environment. The printing system 1 is a so-called pull printing system, and a printing apparatus captures and executes a stored job (print job) from a storage destination. In the printing system 1, the job is transferred from the print server 10 as the first information device related to load distribution to one of the plurality of management servers 31, 32, and 33 as the second information device via the load balancer 20.

プルプリントに際して、まず、パーソナルコンピューターやスマートフォンといったクライアント端末5,6,7,8のユーザーがドキュメントの印刷を指示する。指示を受けたクライアント端末5,6,7,8は、印刷を要求する所定データ形式のジョブを生成してプリントサーバー10に送る。ジョブにはユーザー情報が含まれる。ジョブがドキュメントデータ(印刷データ)を含んでいてもよいし、予めドキュメントサーバーに保存されているドキュメントを印刷対象として指定する情報をドキュメントデータの代わりに含んでいてもよい。   In pull printing, first, users of client terminals 5, 6, 7, and 8, such as personal computers and smartphones, instruct printing of a document. Upon receiving the instruction, the client terminals 5, 6, 7, 8 generate a job in a predetermined data format requesting printing and send it to the print server 10. The job includes user information. The job may include document data (print data), or may include information specifying a document stored in advance in the document server as a print target instead of the document data.

プリントサーバー10は、クライアント端末5,6,7,8から受け取ったジョブをいったんスプール110としてのメモリに蓄え、サーバー30を宛先とするパケットに変換してロードバランサー20に送信する。ここでのサーバー30は、複数の管理サーバー31,32,33を実体とする仮想のサーバーである。ジョブの送信に際して規定数以下の複数のジョブを一括に扱うことが可能である。   The print server 10 temporarily stores the jobs received from the client terminals 5, 6, 7, and 8 in the memory as the spool 110, converts them into packets destined for the server 30, and transmits the packets to the load balancer 20. The server 30 here is a virtual server having a plurality of management servers 31, 32, 33 as entities. When sending a job, it is possible to handle a plurality of jobs of a prescribed number or less collectively.

ロードバランサー20は、プリントサーバー10から受信したパケットを、複数の管理サーバー31,32,33のうちから負荷分散アルゴリズムに従って選択した一つに転送する。負荷分散アルゴリズムは最も負荷の小さいサーバーにリクエストを割り振る方式(例えば最少接続方式)である。ロードバランサー20における転送先の選択によって、複数の管理サーバー31,32,33のいずれかにジョブが割り振られる。   The load balancer 20 transfers the packet received from the print server 10 to one selected from the plurality of management servers 31, 32, 33 according to the load distribution algorithm. The load distribution algorithm is a method of allocating requests to the server with the smallest load (for example, the least connection method). Depending on the selection of the transfer destination in the load balancer 20, the job is allocated to one of the plurality of management servers 31, 32, 33.

管理サーバー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 management servers 31, 32, and 33 store the job determined to be appropriate in the job server 35. The management servers 31, 32, and 33 share information indicating the storage status in the job server 35.

ジョブが保存された後、クライアント端末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 client terminals 5, 6, 7, 8 can cause the plurality of printing apparatuses 41, 42, 43 to execute printing. The user arbitrarily selects one of the printing apparatuses 41, 42, and 43, and operates the selected printing apparatus to instruct display of a list of jobs related to the user. Upon receiving the instruction, the printing apparatus inquires of the stored job to the server 30 connected via the load balancer 40. The inquiry reaches one of the management servers 31, 32, 33 selected by the load balancer 40. The inquiring printing apparatus displays job information provided from the management server that has received the inquiry. When the user designates a job to be executed and instructs execution of printing, the printing apparatus acquires a job from the job server 35 via the server 30 and prints a document specified by the acquired job. The printing apparatuses 41, 42, and 43 may be MFPs (Multi-functional Peripherals) or other image forming apparatuses capable of network printing.

このような印刷システム1において、ロードバランサー20としてL4ロードバランサーが使用される。ただし、L4スイッチ専用機である必要はなく、ロードバランサー20はL4スイッチモードとL7スイッチモードとの切替えが可能な装置であってもよい。   In such a printing system 1, an L4 load balancer is used as the load balancer 20. However, it is not necessary to be an L4 switch dedicated machine, and the load balancer 20 may be a device capable of switching between the L4 switch mode and the L7 switch mode.

ロードバランサー20は、OSI参照モデルにおける第4層以下の情報に基づいて、プリントサーバー10からのパケットの転送先(管理サーバー31,32,33のいずれか)を選択する。第4層以下の情報とは、第4層(トランスポート層)のプロトコルによって認識される情報(例えばポート番号)および第3層(ネットワーク層)のプロトコルによって認識される情報(例えばIPアドレス)である。このことは、プリントサーバー10から送信されるジョブについて、それを生成したクライアント端末5,6,7,8が区別されないことを意味する。言い換えれば、ジョブをサーバー30に対するリクエストとしてみたとき、ロードバランサー20は全てのリクエストについて、「サーバー30に対するクライアントがプリントサーバー10である」と認識する。   The load balancer 20 selects a packet transfer destination (any one of the management servers 31, 32, and 33) from the print server 10 based on information in the fourth layer and lower layers in the OSI reference model. The information below the fourth layer is information recognized by the protocol of the fourth layer (transport layer) (for example, port number) and information recognized by the protocol of the third layer (network layer) (for example, IP address). is there. This means that the client terminals 5, 6, 7, and 8 that generated the job transmitted from the print server 10 are not distinguished. In other words, when the job is viewed as a request to the server 30, the load balancer 20 recognizes that “the client for the server 30 is the print server 10” for all requests.

そして、このロードバランサー20にはパーシステンス機能が備わっている。ここでいうパーシステンス機能とは、指定されているパーシステンス継続時間内にクライアントが同一である複数のリクエストが順に入力されたときに、先に入力されたリクエストに対して選択した転送先を、後に入力されたリクエストに対しても選択する機能である。つまり、ロードバランサー20は、パーシステンス継続時間内の同一のクライアントからのリクエストに対して転送先を固定化する。   The load balancer 20 has a persistence function. The persistence function here refers to the transfer destination selected for the previously input request when multiple requests with the same client are input in order within the specified persistence time. It is a function that selects even for a requested request. That is, the load balancer 20 fixes the transfer destination for requests from the same client within the persistence duration.

ロードバランサー20へジョブを送信するプリントサーバー10は、送信タイミングを特徴付ける動作をする転送モニター120を有している。転送モニター120は、ジョブが転送されるサーバー30における負荷に依存するデータ転送速度(データ転送率ともいう)を監視する。データ転送速度が低下したとき、転送モニター120は後述のようにプリントサーバー10に送信を中断させ、それによってロードバランサー20に転送先の固定を解除させる。   The print server 10 that transmits a job to the load balancer 20 has a transfer monitor 120 that operates to characterize the transmission timing. The transfer monitor 120 monitors a data transfer rate (also referred to as a data transfer rate) depending on a load on the server 30 to which the job is transferred. When the data transfer rate decreases, the transfer monitor 120 causes the print server 10 to interrupt transmission as described later, thereby causing the load balancer 20 to release the transfer destination.

図2はプリントサーバー10におけるジョブ転送制御を示している。図2の上段部に複数のジョブ(図ではJOB−1〜12と記されている)の転送期間を示すタイミングチャートが描かれている。図2の中段部のグラフは、ロードバランサー20において転送先が固定された状態での転送先のサーバーにおける負荷の推移を示し、下段部のグラフはデータ転送速度Rの推移を示している。   FIG. 2 shows job transfer control in the print server 10. A timing chart showing transfer periods of a plurality of jobs (denoted as JOB-1 to 12 in the figure) is drawn in the upper part of FIG. The middle graph in FIG. 2 shows the transition of the load on the transfer destination server in a state where the transfer destination is fixed in the load balancer 20, and the lower graph shows the transition of the data transfer rate R.

時刻t1において、三つのジョブ(JOB−1〜3)を一括したジョブグループ91の転送、すなわち各ジョブに対応したパケットの送信が開始されている。ジョブグループ91の三つのジョブは、例えば同じクライアント端末から連続的に受け取ったことから転送に際して一括に扱われる。ジョブグループ91の転送途中の時刻t2において、二つのジョブを一括したジョブグループ92の転送が開始されている。例示では、時刻t1から時刻t2までの時間がパーシステンス継続時間よりも短いので、ジョブグループ92は先のジョブグループ91と同じ転送先へ転送される。これにより、プリントサーバー10は、ロードバランサー20が選択した管理サーバー31,32,33のいずれかに合計五つのジョブを並行して送信することになる。 At time t1, transfer of the job group 91 in which three jobs (JOB-1 to JOB-3) are batched, that is, transmission of a packet corresponding to each job is started. The three jobs in the job group 91 are handled collectively at the time of transfer because they are received continuously from the same client terminal, for example. At time t2 during the transfer of the job group 91, the transfer of the job group 92 including the two jobs is started. In the example, since the time from time t1 to time t2 is shorter than the persistence duration, the job group 92 is transferred to the same transfer destination as the previous job group 91. As a result, the print server 10 transmits a total of five jobs in parallel to any of the management servers 31, 32, 33 selected by the load balancer 20 .

時刻t3において四つのジョブからなるジョブグループ93の転送が開始され、さらに時刻t4において一つのジョブ94の転送が開始されている。時刻t4では先に開始された転送が継続中であるので、転送先の管理サーバーは合計10個のジョブ(JOB−1〜10)の受信処理を行なうことになる。   At time t3, transfer of a job group 93 consisting of four jobs is started, and at time t4, transfer of one job 94 is started. Since the transfer started first is continuing at time t4, the transfer destination management server performs a reception process for a total of 10 jobs (JOB-1 to 10).

並行受信するジョブの数が増えるにつれて、転送先の管理サーバーに加わる付加が増大する。本例では、管理サーバー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 management servers 31, 32, 33, the data transfer rate R is substantially maintained at the normal data transfer rate Rs, and the load exceeds the predetermined value. As the rate further increases, the data transfer rate R decreases.

データ転送速度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 print server 10 holds the transfer as necessary. The case where the hold is necessary is a case where the transfer end time of the non-transfer start jobs 95 and 96 is predicted to be advanced by holding. Whether or not the hold is necessary depends on the data amount of the non-transfer start jobs 95 and 96. Note that preparation for transmission such as generation of a packet can be advanced even if it is pending.

転送先の管理サーバーでは、ジョブの受信が終了した後、ジョブを認証したり、ジョブサーバーへ転送したりというようにジョブの受信に付随する処理が行なわれる。また、印刷装置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 printing apparatuses 41, 42, and 43. Therefore, even if the reception of the job is completed, the load is not always reduced, and the high load state may continue.

プリントサーバー10は、未転送開始ジョブ95,96の転送を保留する場合、保留の開始する時点で転送途中である全てのジョブの転送が終了する時刻t6から保留設定時間T2が経過する時刻t7まで保留状態を維持する。そして、時刻t7で保留を解除し、未転送開始ジョブ95,96の転送を開始する。さらにその後、時刻t5以降にスプールされたジョブの転送を開始する。   When the print server 10 holds the transfer of the untransfer start jobs 95 and 96, from the time t6 when the transfer of all the jobs in the middle of the transfer ends when the hold starts, to the time t7 when the hold set time T2 elapses. Keep on hold. Then, the hold is released at time t7, and transfer of the untransfer start jobs 95 and 96 is started. Thereafter, transfer of the job spooled after time t5 is started.

保留設定時間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 load balancer 20 or a length of time obtained by adding an appropriate margin to the persistence duration. When the transmission from the print server 10 is interrupted from the time t6 over the hold set time T2, the transfer destination is fixed in the load balancer 20 . That is, the load balancer 20 selects a transfer destination again for subsequent access from the print server 10.

ロードバランサー20が改めて転送先を選択するとき、以前の最後に選択した管理サーバー(例えば管理サーバー31)の負荷が他の管理サーバー(例えば管理サーバー32,33)の負荷よりも小さい場合、以前に続いて再び管理サーバー31が転送先として選択される。管理サーバー31の負荷よりも他の管理サーバー32,33の一方または両方の負荷が小さい場合には、転送先が切り替わる。いずれにしても、改めて転送先が選択されることによって、転送を保留する直前と比べて転送先の負荷が小さくなり得る。低負荷状態の管理サーバーが配送先になれば、データ転送速度の低下した高負荷状態の管理サーバーに未転送開始ジョブ95,96を転送するよりも早く未転送開始ジョブ95,96の転送を終了することができる。 When the load balancer 20 selects a transfer destination again, if the load of the management server (for example, the management server 31) selected last is smaller than the load of the other management servers (for example, the management servers 32 and 33), Then, the management server 31 is selected again as the transfer destination. When the load on one or both of the other management servers 32 and 33 is smaller than the load on the management server 31, the transfer destination is switched. In any case, when the transfer destination is selected again, the load on the transfer destination can be reduced compared to immediately before the transfer is suspended. If the management server in the low load state becomes the delivery destination, the transfer of the non-transfer start jobs 95 and 96 is completed earlier than the transfer of the non-transfer start jobs 95 and 96 to the management server in the high load state having a reduced data transfer rate. can do.

図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 load balancer 20 for the job group 92 is the management server 31. The job group 93 transmitted from the print server 10 at a time interval within the persistence duration T 1 following the job group 92 is also transferred to the management server 31. Similarly, the job 94 is also transferred to the management server 31. However, the job group 97 transmitted after the persistence time T1 has elapsed from the end of the transfer of the job 94 is transferred to the management server 33 different from the management server 31 to which the job 94 is transferred.

以下、プリントサーバー10の構成および動作をさらに詳しく説明する。   Hereinafter, the configuration and operation of the print server 10 will be described in more detail.

図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 print server 10. The print server 10 includes a CPU (Central Processing Unit) 12 as a computer for executing a control program and various applications, a ROM (Read Only Memory) 13 for storing the control program, and a RAM (Random Access Memory) as a work area for executing the program. ) 14. The storage 15 is a hard disk drive or other large-capacity nonvolatile storage device, and stores programs, various data, received jobs, and the like. The communication interface 16 connects the print server 10 to the network. The removable memory drive 17 is used for installing a program from a removable memory, for example.

図5はプリントサーバー10の機能構成を示している。プリントサーバー10は、スプーラー101、送信部102、および転送モニター120を有している。これらの構成要素は、CPU12が所定の制御プログラムを実行することによって実現される機能要素である。   FIG. 5 shows a functional configuration of the print server 10. The print server 10 includes a spooler 101, a transmission unit 102, and a transfer monitor 120. These components are functional elements realized by the CPU 12 executing a predetermined control program.

スプーラー101は、通信インタフェース16が受信したクライアント端末5,5,6,7からのジョブを所定のメモリ(図1のスプール110)に格納し、これによって一時的に保存されるジョブを管理する。送信部102による送信の進行に合わせて、スプーラー101は順次にジョブを送信部102に引き渡す。   The spooler 101 stores jobs from the client terminals 5, 5, 6, and 7 received by the communication interface 16 in a predetermined memory (spool 110 in FIG. 1), and manages jobs temporarily saved thereby. As the transmission by the transmission unit 102 progresses, the spooler 101 sequentially delivers the job to the transmission unit 102.

送信部102は、通信インタフェース16を介して接続されるロードバランサー20に送信すべきジョブに対応するパケットを送信する。送信されたパケットはロードバランサー20からロードバランサー20が選択する転送先に転送される。送信部102は、未転送開始ジョブについてのパケットを通信インタフェース16に送る送信動作の開始を、転送モニター120からの保留指示に従って保留する。保留後に転送モニター120から再開が指示されると、送信部102は未転送開始ジョブの送信を開始する。   The transmission unit 102 transmits a packet corresponding to a job to be transmitted to the load balancer 20 connected via the communication interface 16. The transmitted packet is transferred from the load balancer 20 to the transfer destination selected by the load balancer 20. The transmission unit 102 suspends the start of a transmission operation for sending a packet for an untransferred start job to the communication interface 16 in accordance with a suspension instruction from the transfer monitor 120. When resumption is instructed from the transfer monitor 120 after the suspension, the transmission unit 102 starts transmission of a non-transfer start job.

動作モニター120は、データ転送速度Rを取得する取得部122、送信部102に保留指示を与える保留指示部124、保留指示に関わる時間を算出する算出部126、および送信部102に再開指示を与える再開指示部128を備える。   The operation monitor 120 obtains the data transfer rate R, the hold instruction unit 124 that gives a hold instruction to the transmission unit 102, the calculation unit 126 that calculates the time related to the hold instruction, and the restart instruction to the transmission unit 102 A restart instruction unit 128 is provided.

取得部122は、送信部102から通知される送信動作のステータスによって示されるデータ転送が行なわれている期間中に、通信インタフェース16における送信のデータ転送速度Rを周期的に取得する。そして、取得するごとにデータ転送速度Rを保留指示部124に通知する。   The acquisition unit 122 periodically acquires the data transfer rate R of transmission in the communication interface 16 during the period in which the data transfer indicated by the status of the transmission operation notified from the transmission unit 102 is performed. Then, every time it is acquired, the data transfer rate R is notified to the hold instruction unit 124.

データ転送速度Rの取得には、ベンチマークテストの手法を用いて取得部122がデータ転送速度Rを算出する形態と、ネットワーク使用状況を監視するプログラムが別途に搭載されている場合にそのプログラムからデータ転送速度Rを取り込む形態とがある。取得の周期は、パーシステンス継続時間T1に応じて設定される。例えば、パーシステンス継続時間T1が10秒である場合、その百分の一から十分の一である0.1〜1秒の範囲内の周期を設定すればよい。データ転送速度Rを算出する場合、取得の周期に相応する時間内の伝送ビット数を周期で除した商をデータ転送速度Rとしてもよいし、周期に相応する時間を等分割した分割時間ごとのデータ転送速度の平均値をデータ転送速度Rとしてもよい。   For acquiring the data transfer rate R, the acquisition unit 122 calculates the data transfer rate R using a benchmark test technique, and if a program for monitoring the network usage status is separately installed, the data is transferred from the program. There is a form in which the transfer rate R is captured. The acquisition cycle is set according to the persistence duration T1. For example, when the persistence duration T1 is 10 seconds, a period within a range of 0.1 to 1 second, which is 1 to 1/10, may be set. When calculating the data transfer rate R, the quotient obtained by dividing the number of transmission bits within the time corresponding to the acquisition cycle by the cycle may be used as the data transfer rate R, or for each divided time obtained by equally dividing the time corresponding to the cycle. The average value of the data transfer rates may be used as the data transfer rate R.

保留指示部124は、取得部122から通知されたデータ転送速度Rが閾値以下であるときに(図2参照)、算出部126に算出指示を与える。指示を受けた算出部126は、推定所要時間TXおよび合計時間TYを算出して保留指示部124に通知する。推定所要時間TXは、未転送開始ジョブをデータ転送速度Rで送信すると仮定した場合における送信の開始から終了までの時間である。合計時間TYは、通常時のデータ転送速度Rsで未転送開始ジョブを送信すると仮定した場合における送信の開始から終了までの時間である推定所要時間TXsに保留設定時間T2を加算した時間である。保留指示部124は、合計時間TYが推定所要時間TXよりも短い場合に、送信部102に保留指示を与える。   The hold instruction unit 124 gives a calculation instruction to the calculation unit 126 when the data transfer rate R notified from the acquisition unit 122 is equal to or lower than the threshold (see FIG. 2). Upon receiving the instruction, the calculation unit 126 calculates the estimated required time TX and the total time TY, and notifies the hold instruction unit 124 of the calculation. The estimated required time TX is a time from the start to the end of transmission when it is assumed that an untransfer start job is transmitted at the data transfer rate R. The total time TY is a time obtained by adding the hold set time T2 to the estimated required time TXs that is a time from the start to the end of transmission when it is assumed that an untransfer start job is transmitted at the normal data transfer rate Rs. The hold instruction unit 124 gives a hold instruction to the transmission unit 102 when the total time TY is shorter than the estimated required time TX.

再開指示部128には保留指示部124から保留指示を送信部102に与えたことが通知される。再開指示部128は、未転送開始ジョブの送信が保留されたときに転送途中であったジョブの転送が終了してから保留設定時間T2が経過した時点で、送信部102に再開指示を与える。   The resume instruction unit 128 is notified that the hold instruction unit 124 has given the hold instruction to the transmission unit 102. The resumption instruction unit 128 gives a resumption instruction to the transmission unit 102 when the hold set time T2 has elapsed since the transfer of the job that was being transferred when the transmission of the untransfer start job was suspended.

図6のフローチャートはプリントサーバー10の動作の概要を示している。プリントサーバー10は、クライアント端末5,6,7,8からのジョブの受信(S01)、ジョブを順序良く転送するためのスプール処理(S02)、およびジョブをサーバー30へ送信する転送処理(S03)を繰り返し実行する。   The flowchart in FIG. 6 shows an outline of the operation of the print server 10. The print server 10 receives jobs from the client terminals 5, 6, 7, and 8 (S01), spool processing for transferring jobs in order (S02), and transfer processing for sending jobs to the server 30 (S03). Repeatedly.

図7は転送処理ルーチンのフローチャートである。   FIG. 7 is a flowchart of the transfer processing routine.

送信部102はスプーラー101と連携して次の転送の対象とするジョブを決定する(S11)。このとき、複数のジョブを一括に対象とする場合がある。続いて、送信部102は、対象に決めたジョブの転送を開始し(S12)、転送モニター120にステータスとして「開始」を通知する(S13)。すなわち、データ転送速度Rを監視すべきであることを知らせる。   The transmission unit 102 determines a job to be transferred next in cooperation with the spooler 101 (S11). At this time, there are cases where a plurality of jobs are targeted at once. Subsequently, the transmission unit 102 starts transferring the job determined as the target (S12), and notifies the transfer monitor 120 of “start” as the status (S13). That is, it informs that the data transfer rate R should be monitored.

保留指示の有無がチェックされ(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 transmission unit 102 continues the transmission process of sending out the packet of the job being transferred until there is no job being transferred (S15, S16). When the transmission of the packet of the job that was in the middle of transfer ends (YES in S16), the transmission unit 102 notifies the transfer monitor 120 of “pending” (S17). In response to this notification, the restart instruction unit 128 of the transfer monitor 120 sets a hold timer for counting the hold set time T2 (S18). When the counting of the hold timer is completed (YES in S19), the resumption instruction unit 128 gives a resumption instruction to the transmission unit 102 (S20). The flow returns to step S11, and transfer of an untransferred job is started.

図8は転送モニター120の保留指示動作を示すフローチャートである。   FIG. 8 is a flowchart showing the hold instruction operation of the transfer monitor 120.

取得部122は送信部102がジョブの転送を開始するのを待つ(S31)。転送が開始されると(S31でYES)、取得部122はデータ転送速度Rを取得して保持指示部124に通知する(S32)。保持指示部124によってデータ転送速度Rが閾値以下であるかどうかが判定される(S33)。データ転送速度Rが閾値より大きい場合(S33でNO)、フローはステップS31へ戻る。転送中においてデータ転送速度Rの取得と閾値との比較とが繰り返されることになる。   The acquisition unit 122 waits for the transmission unit 102 to start transferring a job (S31). When the transfer is started (YES in S31), the acquisition unit 122 acquires the data transfer rate R and notifies the holding instruction unit 124 (S32). The holding instruction unit 124 determines whether or not the data transfer rate R is equal to or less than a threshold value (S33). If the data transfer rate R is greater than the threshold (NO in S33), the flow returns to step S31. During the transfer, the acquisition of the data transfer rate R and the comparison with the threshold value are repeated.

データ転送速度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 calculation unit 126 that receives the calculation instruction from the holding instruction unit 124 calculates the data amount DQ of the untransfer start job based on the job information from the spooler 101. If there are a plurality of non-transfer start jobs 95 and 96 as in the example of FIG. 2, the sum of the data amount of each job is calculated as the data amount DQ. As a specific example, the calculated value of the data amount DQ is “160 Gbits”.

続いて、算出部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 calculation unit 126 calculates the estimated required time TX (S35). In the specific example, since the data amount DQ is “160 Gbit” and the data transfer rate R is “0.56 Gbps”, the estimated required time TX is about 280 seconds as shown in the following equation.
TX = 160 [Gbit] /0.56 [Gbit / sec.] ≈280 [sec.]
Subsequently, the calculating unit 126 calculates the estimated required time TXs and the total time TY (S36, S37). In the specific example, since the normal data transfer rate Rs is “1 Gbps”, the estimated required time TXs is about 160 seconds. Further, if the hold setting time T2 is set to “10 seconds” like the persistence duration time T1, and the estimated required time TXs is regarded as 160 seconds, the total time TY is 170 seconds.
TXs = 160 [Gbit] / 1 [Gbit / sec.] ≈160 [sec.]
TY = TXs + T2 = 160 [sec.] + 10 [sec.] = 170 [sec.]
The hold instruction unit 124 compares the calculated estimated required time TX and the total time TY (S38). In the specific example, the total time TY is shorter than the estimated required time TX (170 seconds <280 seconds). When the total time TY is shorter than the estimated required time TX as in this example (YES in S38), the hold instruction unit 124 causes the transmission unit 102 to hold the transfer start of the untransfer start job (S39). Thereafter, the flow returns to step S31.

合計時間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 load balancer 20 selects one of the management servers 31, 32, 33 having the smallest load as a transfer destination, all the management servers 31, 32, 33 are not overloaded. When the transfer destination is switched, transfer at the normal data transfer rate Rs becomes possible.

上述の実施形態において、ロードバランサー20の負荷分散アルゴリズムは、必ずしも転送先候補のうちの最も負荷の小さい一つを選択するアルゴリズムである必要はない。選択ごとに転送先を変更するアルゴリズムであってもよい。転送先が切り替わりさえすればデータ転送速度の低下した状態からそうでない状態へ通信環境の好転する可能性がある。   In the above-described embodiment, the load balancing algorithm of the load balancer 20 does not necessarily need to be an algorithm for selecting one of the transfer destination candidates with the smallest load. An algorithm that changes the transfer destination for each selection may be used. As long as the transfer destination is switched, there is a possibility that the communication environment is improved from a state where the data transfer rate is lowered to a state where the data transfer rate is not lowered.

印刷システム1のネットワーク構成は適宜変更することができる。プリントサーバー10に接続されるクライアント端末5,6,7,8の個数は図1の例示における「4」に限らない。ロードバランサー20にジョブを送信する機器としてプリントサーバー10および他の機器を接続してもよい。ロードバランサー20がジョブを割り当てる管理サーバー31,32,33の個数は例示の「3」に限らない。   The network configuration of the printing system 1 can be changed as appropriate. The number of client terminals 5, 6, 7, and 8 connected to the print server 10 is not limited to “4” in the example of FIG. The print server 10 and other devices may be connected as devices that transmit jobs to the load balancer 20. The number of management servers 31, 32, 33 to which the load balancer 20 assigns jobs is not limited to “3” in the example.

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 Printing system 5, 6, 7, 8 Client terminal (client)
10 Print server (information equipment, first information equipment, first server)
20 Load balancer 30 Server 31, 32, 33 Management server (second information device, second server)
91, 92, 93, 97 Job group (request)
94 jobs (request)
95,96 Untransferred start job (request that has not started transmission)
101 Spooler 102 Transmitter R Data Transfer Rate Rs Normal Data Transfer Rate Rth Threshold Speed 122 Acquisition Unit 124 Reservation Instructing Unit 126 Calculation Unit 128 Resume Instructing Unit T1 Persistence Duration Time T2 Reservation Setting Time (Setting Time)
TX Estimated required time (first estimated required time)
TXs Estimated required time (second estimated required time)
TY Total time 41, 42, 43 Printing device

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.
複数のクライアント端末のそれぞれから印刷ジョブを受け取る第1サーバー、印刷装置に印刷ジョブを送信する複数の第2サーバー、および前記第1サーバーから送信される複数の印刷ジョブを前記複数の第2サーバーに割り振るロードバランサーを備える印刷システムであって、
前記ロードバランサーは、前記複数の第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サーバーは、
前記送信部による送信の対象となる印刷ジョブをスプールするスプーラーと、
前記取得されたデータ転送速度が前記閾値速度以下であるときに、前記スプーラーによってスプールされている前記印刷ジョブのうちの送信を開始していない印刷ジョブを、当該取得されたデータ転送速度で送信する場合における送信の開始から終了までの時間である第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情報機器から複数の第2情報機器のいずれかへデータを転送するデータ転送方法であって、
前記ロードバランサーが転送先の選択動作として、前記第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.
JP2013041792A 2013-03-04 2013-03-04 Information device, printing system, computer program, and data transfer method Active JP6102347B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Also Published As

Publication number Publication date
JP2014170379A (en) 2014-09-18

Similar Documents

Publication Publication Date Title
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
US10084882B2 (en) Method for processing requests and server device processing requests
Zhang et al. Tuning the aggressive TCP behavior for highly concurrent HTTP connections in intra-datacenter
JP6102347B2 (en) Information device, printing system, computer program, and data transfer method
US20140223026A1 (en) Flow control mechanism for a storage server
WO2015149491A1 (en) Network resource processing device, method and system
WO2005020523A1 (en) Session relay device and relay method
JP2011203810A (en) Server, computer system, and virtual computer management method
KR102153543B1 (en) A buffer management method and apparatus for universal serial bus in a radio environment
JP2013218449A (en) Cloud computing system
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
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
JP2013161283A (en) Server, physical node, load distribution method and program
JP2010154312A (en) Network device
WO2023162128A1 (en) System, method, and program for collecting data

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