[go: up one dir, main page]

WO2013047339A1 - Load balancing device, method and program - Google Patents

Load balancing device, method and program Download PDF

Info

Publication number
WO2013047339A1
WO2013047339A1 PCT/JP2012/074149 JP2012074149W WO2013047339A1 WO 2013047339 A1 WO2013047339 A1 WO 2013047339A1 JP 2012074149 W JP2012074149 W JP 2012074149W WO 2013047339 A1 WO2013047339 A1 WO 2013047339A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
server
terminal
load
transmitting
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.)
Ceased
Application number
PCT/JP2012/074149
Other languages
French (fr)
Japanese (ja)
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Publication of WO2013047339A1 publication Critical patent/WO2013047339A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers

Definitions

  • the present invention relates to a load distribution apparatus, method, and program.
  • Patent Document 1 discloses a load distribution control device that stores a received request in a buffer and transfers the request to a server whose response waiting request number does not exceed a threshold value.
  • Scalability can be improved by increasing server redundancy and server resources.
  • the cost increases.
  • the load distribution device of Patent Document 1 is inefficient because all received requests are temporarily stored in a buffer and sequentially processed even when the server load is low.
  • data with low priority is processed first, and processing of data with high priority may be delayed.
  • the present invention has been made in view of the above problems, and an object thereof is to provide a load distribution apparatus, method, and program capable of performing more efficient load distribution processing based on server load and data priority.
  • the present invention relates to a means for receiving data from one of one or more servers from a terminal, and to transfer the data to one of the servers based on at least one of server load information and the priority of the data. If it is determined that the data is transferred with a determination unit that determines whether to store the data, the data is transmitted to any server, and a confirmation response is transmitted to the terminal.
  • Storage means for storing the data and returning a confirmation response to the terminal; timing determination means for determining a timing for transmitting the stored data to any one of the servers based on the server load information and the communication status; , Means for transmitting the accumulated data to any server based on the determined timing, and transmitting an acknowledgment to the terminal
  • a load balancer characterized in that it comprises.
  • the present invention receives data from one of one or more servers from a terminal and transfers or stores the data to any server based on at least one of server load information and the priority of the data. Determining whether to transfer the data, transmitting the data to any server, transmitting an acknowledgment to the terminal, and determining to store the data, storing the data, An acknowledgment is sent back to the terminal, the timing for transmitting the accumulated data to any server is determined based on the server load information and the communication status, and the accumulated is determined based on the determined timing.
  • the load distribution method is characterized in that data is transmitted to any one of the servers, and an acknowledgment is transmitted to the terminal.
  • the computer transfers the data to any server based on at least one of the process of receiving data from the terminal to one of the servers, the server load information, and the priority of the data.
  • Determination process for determining whether to store or to store, if it is determined to transfer the data, the process of transmitting the data to any server and transmitting an acknowledgment to the terminal, the case of determining to store the data
  • a storage process for storing the data and returning a confirmation response to the terminal; a timing determination process for determining a timing for transmitting the stored data to one of the servers based on the server load information and the communication status;
  • the accumulated data is transmitted to any server based on the determined timing, and an acknowledgment is transmitted to the terminal Is a program for causing to execute that acknowledgment transmission process.
  • FIG. 1 is a schematic diagram of a data processing system including a load distribution apparatus according to an embodiment of the present invention.
  • FIG. 2 is a functional block diagram of the terminal, the load balancer, and the server.
  • FIG. 3 is a diagram in which the correspondence between the number of communication sessions and the CPU usage rate is plotted.
  • FIG. 4 is a plot of the correspondence between the number of communication sessions and the memory usage rate.
  • FIG. 5 is a graph plotting the correspondence between the number of communication sessions and the number of disk I / Os.
  • FIG. 6 is a diagram showing an operation sequence when receiving a data transmission request from a terminal and transferring data to a server.
  • FIG. 7 is a flowchart for determining whether data is transferred to the server or temporarily stored in the load balancer.
  • FIG. 8 is a diagram illustrating an operation sequence when a data transmission request is received from a terminal and data is temporarily stored in the load balancer.
  • FIG. 9 is a diagram showing an operation sequence in a case where data
  • FIG. 1 is a schematic diagram of a data processing system including a load distribution apparatus according to an embodiment of the present invention.
  • This data processing system includes one or more terminals 1 1 to 1 m , a load balancer 10, and one or more servers 100 1 to 100n.
  • Terminal 1 1 to terminal 1 m transmit data to server 100 1 to server 100n.
  • the terminal 1 1 to the terminal 1 m transmit priority information such as the importance of data and the delay constraint information related to the data arrival delay constraint to the server to the load distribution device 10 at the time of data transmission request.
  • the load distribution apparatus 10 that has received data from the terminals 1 1 to 1 m selects and selects the server 100 that is the data transfer destination based on the priority of the data indicated by the priority information and the load state of the server. Data is transferred to the server 100.
  • the load distribution apparatus 10 receives and accumulates data from the terminal 1 according to the load on the server and confirms that the load on the server 100 1 to the server 100n is below a certain level, the server server 100 1 to Data is transmitted to the server 100n.
  • FIG. 2 is a functional block diagram of the terminal 1, the load balancer 10, and the server 100.
  • the terminal 1 includes a data transmission unit 2 and a data storage unit 3.
  • the data transmission unit 2 acquires data from the data storage unit 3 and transmits a data transmission request message to the load balancer 10 in order to transmit data to any of the servers 100.
  • the data transmission unit 2 includes a data amount confirmation unit 21 and a priority determination unit 22.
  • the data amount confirmation unit 21 includes the data amount to be transmitted in the data transmission request message.
  • the priority determination unit 22 includes priority information indicating the priority of data, such as the importance of data and delay constraints (for example, allowable delay time), in the data transmission request message.
  • the data storage unit 3 stores data to be transmitted.
  • the load distribution apparatus 10 includes a communication session reception unit 11, a server load monitoring unit 12, a transfer destination server determination unit 13, a data transfer unit 14, a session state monitoring unit 15, a data reception unit 16, a data storage unit 17, and a data transmission unit 18. Is provided.
  • the communication session acceptance unit 11 includes a priority confirmation unit 111 and a data amount confirmation unit 112.
  • the priority confirmation unit 111 confirms data priority information included in the received request message.
  • the data amount confirmation unit 112 confirms information on the amount of data included in the received request message.
  • the communication session reception unit 11 receives a data transmission request from the terminal 1.
  • the communication session accepting unit 11 acquires the latest session number and session number threshold value of the servers 100 1 to 100n acquired by the server load monitoring unit 12, and obtains the data priority and the latest session number of the server 100 1 to server 100n. Based on the session number threshold, whether to transfer data to one of the servers 100 or to store the data is determined.
  • the communication session accepting unit 11 transfers the data to the server 100.
  • a data transfer instruction including the identification information of the terminal 1 that has decided to perform the data transmission request is sent to the data transfer unit 14.
  • the server load monitoring unit 12 is also notified of data transfer.
  • the communication session accepting unit 11 determines to accumulate data, and receives and accumulates data.
  • the data receiving unit 16 is instructed to do so.
  • the communication session accepting unit 11 confirms the data amount information included in the received data transmission request, the communication session accepting unit 11 notifies the session state monitoring unit 15 of the terminal identification information and the data amount.
  • the server load monitoring unit 12 acquires the number of communication sessions established in the server 100 and server load information, obtains the correspondence between the number of communication sessions and the server load, and based on this, the server 100 monitors the data It is determined whether or not data transfer should be performed in consideration of the priority.
  • the server load information acquired from the server 100 1 to the server 100n is a CPU usage rate, a memory usage amount, and a disk I / O number indicating the number of times data is read from and written to the disk. Further, the number of sessions with which each server 100 is communicating is acquired from the session state monitoring unit 15. The method for acquiring the server load information and the number of communication sessions can be arbitrarily set.
  • the server load information is related to the number of communication sessions when the server load occurs. You may make it relate server load information and the number of communication sessions based on the acquisition time etc. of each information.
  • the server load monitoring unit 12 determines the number of communication sessions, the CPU usage rate, and the memory for each server based on the acquired server load information and the corresponding number of communication sessions.
  • the correspondence between the usage rate and the number of disk I / Os is plotted.
  • the CPU usage rate, memory usage rate, and disk I / O count threshold values are set such that high priority data can be transferred to any of the servers 100 1 to 100 n. This value may be calculated by the load balancer or entered by the user.
  • the server load monitoring unit 12 obtains a threshold value of the number of communication sessions corresponding to each determined threshold value.
  • the threshold for the number of communication sessions is obtained by plotting the relationship between the number of communication sessions and the CPU usage rate, and by plotting the relationship between the number of communication sessions and the memory usage rate. , Plotting the relationship between the number of communication sessions and the number of disk I / Os, an approximate curve is added to each of them, and the number of sessions determined by the intersection of the CPU usage rate, the memory usage rate, and the disk I / O threshold is calculated. It is defined as a threshold value. Also, a method of taking a minimum value or an average value within the range of the number of sessions that can be taken by the CPU usage rate, the memory usage rate, and the disk I / O thresholds may be used.
  • the server load monitoring unit 12 notifies the communication session reception unit 11 of the threshold value of the number of sessions and the number of communication sessions when the data transmission request from the terminal 1 is received.
  • the communication session reception unit 11 determines to transfer data to any of the servers 100 1 to 100n
  • the communication session reception unit 11 receives a notification of data transfer.
  • the server load monitoring unit 12 notifies the transfer destination server determining unit 13 of the relationship between the number of communication sessions and the server load information.
  • the server load monitoring unit 12 notifies the session state monitoring unit 15 of the relationship between the number of communication sessions and server load information.
  • the transfer destination server determination unit 13 acquires the number of communication sessions and server load information notified from the server load monitoring unit 12 and determines the transfer destination server.
  • the method for determining the transfer destination server is as follows. The latest number of communication sessions of each server, server load information (CPU usage rate, memory usage rate, disk I / O number) acquired from the server load monitoring unit 12 and shown in FIG. 3, FIG. 4, and FIG. From the data indicating the relationship between the number of communication sessions and server load information (CPU usage rate, memory usage rate, disk I / O count), the latest communication session count does not exceed the session count threshold, and the CPU usage rate and memory usage A server in which the rate and the number of disk I / Os do not exceed the CPU threshold, the memory usage threshold, and the disk I / O threshold is selected. When there are a plurality of corresponding servers, the server with the lowest load may be selected as the transfer destination. When the transfer destination server is determined, the transfer destination server determination unit 13 notifies the data transfer unit 14 of the transfer server identification information.
  • the data transfer unit 14 receives a data transfer instruction from the communication session reception unit 11, acquires the identification information of the transmission source terminal, and acquires the identification information of the transfer destination server from the transfer destination server determination unit 13.
  • the data transfer unit 14 relays communication between the server and the terminal using both pieces of identification information. Further, the data transfer start time and data transfer amount of each communication are held.
  • the session state monitoring unit 15 calculates the end time of each communication session performing data transfer from the data amount, the data transfer amount, the data transfer start time, and the current time, and acquires the number of communication sessions acquired from the server load monitoring unit 12 Based on the data indicating the relationship of the server load information, a timing at which the server load (CPU usage rate, memory usage rate, disk I / O) becomes equal to or less than a threshold value is calculated. An instruction is given to transmit the data stored in the data storage unit 17 at the calculated timing. For example, the above timing may be calculated for each server, and the server may be instructed to transmit data to the server with the earliest calculated timing.
  • the data receiving unit 16 When the data receiving unit 16 receives an instruction to receive and store data from the communication session receiving unit 11, the data receiving unit 16 receives the data and stores it in the data storage unit 17 in association with the identification information of the terminal. When the data transmission from the terminal is completed, the load distribution apparatus 10 transmits a confirmation response indicating that the temporary data is accumulated to the terminal.
  • the data accumulating unit 17 accumulates data received from the data receiving unit 16.
  • the data is temporarily accumulated in the load balancer according to the priority of the data without increasing the server resources, and the server By transmitting data to the server when the load decreases, it is possible to effectively use server resources. Also, when temporarily accumulating in the load balancer, the terminal side even if data is lost in the load balancer by sending an acknowledgment to the terminal indicating that it is temporarily accumulated in the load balancer Thus, the reliability of data communication is improved.

Landscapes

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

Abstract

This load balancing device is provided with means for: receiving data which is to any of one or more servers from a terminal; assessing whether to transfer data to any of the servers or to store the same on the basis of server load information and/or priority of the data; transmitting the data to any of the servers and transmitting an ACK to the terminal if the data have been assessed to be transferred; storing the data and responding with an ACK to the terminal if the data have been assessed to be stored; determining the timing to transmit the stored data to any of the servers on the basis of the server load information and the communication status; and transmitting the stored data to any of the servers on the basis of the determined timing and transmitting an ACK to the terminal.

Description

負荷分散装置、方法及びプログラムLoad balancing apparatus, method and program

 本発明は、負荷分散装置、方法及びプログラムに関する。 The present invention relates to a load distribution apparatus, method, and program.

 近年、パソコンやサーバ等に加えて、家電、センサー等の種々の機器がインターネットに接続され、様々なサービスが展開されている。センサーや家電等の機器からの情報を利用したサービスにおいて、センサーを利用したものでは、気象情報(温湿度等)の観測、セキュリティ等のサービスがある。家電等の機器を対象としたものでは、リモートメンテナンス等のサービスが挙げられる。このような各種サービスでは、まずデータ収集がメインとなる。センサーや家電等の機器の数は、膨大で情報収集するためのサーバもスケーラビリティの確保が重要である。サーバのスケーラビリティを確保するために、サーバの冗長化が行われている。サーバの前段に負荷分散装置を配備し、端末からのアクセスを複数のサーバに振り分け、スケーラビリティを向上させている。アクセスが膨大になり、サーバリソースが不足するとスケールアウトさせることも行われている。 In recent years, in addition to personal computers and servers, various devices such as home appliances and sensors are connected to the Internet, and various services are being developed. Among services using information from devices such as sensors and home appliances, those using sensors include services such as observation of weather information (temperature and humidity, etc.) and security. For devices intended for home appliances, services such as remote maintenance can be cited. In such various services, data collection is the main. The number of devices such as sensors and home appliances is enormous, and it is important to ensure the scalability of servers for collecting information. Server redundancy has been implemented to ensure server scalability. A load balancer is deployed in front of the server, and access from terminals is distributed to multiple servers to improve scalability. If access becomes enormous and server resources are insufficient, it is also scaled out.

 例えば、特許文献1には、受信したリクエストをバッファに格納し、応答待ちリクエスト数が閾値を超えていないサーバにリクエストを転送する負荷分散制御装置が開示されている。 For example, Patent Document 1 discloses a load distribution control device that stores a received request in a buffer and transfers the request to a server whose response waiting request number does not exceed a threshold value.

特開2008-040718号JP 2008-040718 A

 サーバの冗長化、および、サーバリソースを増やすことでスケーラビリティを向上させることができるが、コストの観点で考えると、サーバの冗長運用において、サーバ台数を増やせば、コストは増大してしまう。 Scalability can be improved by increasing server redundancy and server resources. However, from the viewpoint of cost, if the number of servers is increased in redundant server operation, the cost increases.

 また、特許文献1の負荷分散装置では、サーバ負荷が低下している状態であっても、受信した全てのリクエストをバッファに一時的に格納して順次処理しており、非効率である。また、データはバッファに格納された順番に処理されるため、優先度の低いデータが先に処理され、優先度の高いデータの処理が遅れる虞もある。 Also, the load distribution device of Patent Document 1 is inefficient because all received requests are temporarily stored in a buffer and sequentially processed even when the server load is low. In addition, since data is processed in the order stored in the buffer, data with low priority is processed first, and processing of data with high priority may be delayed.

 本発明は、上記問題点に鑑みてなされたもので、サーバ負荷やデータ優先度に基づいて、より効率的な負荷分散処理を行うことができる負荷分散装置、方法及びプログラムを提供することを目的とする。 The present invention has been made in view of the above problems, and an object thereof is to provide a load distribution apparatus, method, and program capable of performing more efficient load distribution processing based on server load and data priority. And

 本発明は、1つ以上あるサーバのいずれかへのデータを端末から受信する手段と、サーバ負荷情報と前記データの優先度の少なくとも一方に基づいて、前記データをいずれかのサーバへ転送するか、蓄積するかを判定する判定手段と前記データを転送すると判定した場合、前記データをいずれかのサーバに送信し、確認応答を前記端末に送信する手段と、前記データを蓄積すると判定した場合、前記データを蓄積し、確認応答を前記端末に返信する蓄積手段と、前記サーバ負荷情報と通信状況に基づいて、前記蓄積されたデータをいずれかのサーバへ送信するタイミングを決定するタイミング決定手段と、前記決定されたタイミングに基づいて前記蓄積されたデータをいずれかのサーバへ送信し、前記端末に対して確認応答を送信する手段を備えることを特徴とする負荷分散装置である。 The present invention relates to a means for receiving data from one of one or more servers from a terminal, and to transfer the data to one of the servers based on at least one of server load information and the priority of the data. If it is determined that the data is transferred with a determination unit that determines whether to store the data, the data is transmitted to any server, and a confirmation response is transmitted to the terminal. Storage means for storing the data and returning a confirmation response to the terminal; timing determination means for determining a timing for transmitting the stored data to any one of the servers based on the server load information and the communication status; , Means for transmitting the accumulated data to any server based on the determined timing, and transmitting an acknowledgment to the terminal A load balancer, characterized in that it comprises.

 本発明は、1つ以上あるサーバのいずれかへのデータを端末から受信し、サーバ負荷情報と前記データの優先度の少なくとも一方に基づいて、前記データをいずれかのサーバへ転送するか、蓄積するかを判定し、前記データを転送すると判定した場合、前記データをいずれかのサーバに送信し、確認応答を前記端末に送信し、前記データを蓄積すると判定した場合、前記データを蓄積し、確認応答を前記端末に返信し、前記サーバ負荷情報と通信状況に基づいて、前記蓄積されたデータをいずれかのサーバへ送信するタイミングを決定し、前記決定されたタイミングに基づいて前記蓄積されたデータをいずれかのサーバへ送信し、前記端末に対して確認応答を送信することを特徴とする負荷分散方法である。 The present invention receives data from one of one or more servers from a terminal and transfers or stores the data to any server based on at least one of server load information and the priority of the data. Determining whether to transfer the data, transmitting the data to any server, transmitting an acknowledgment to the terminal, and determining to store the data, storing the data, An acknowledgment is sent back to the terminal, the timing for transmitting the accumulated data to any server is determined based on the server load information and the communication status, and the accumulated is determined based on the determined timing. The load distribution method is characterized in that data is transmitted to any one of the servers, and an acknowledgment is transmitted to the terminal.

 本発明は、コンピュータに、1つ以上あるサーバのいずれかへのデータを端末から受信する処理、サーバ負荷情報と前記データの優先度の少なくとも一方に基づいて、前記データをいずれかのサーバへ転送するか、蓄積するかを判定する判定処理、前記データを転送すると判定した場合、前記データをいずれかのサーバに送信し、確認応答を前記端末に送信する処理、前記データを蓄積すると判定した場合、前記データを蓄積し、確認応答を前記端末に返信する蓄積処理、前記サーバ負荷情報と通信状況に基づいて、前記蓄積されたデータをいずれかのサーバへ送信するタイミングを決定するタイミング決定処理、前記決定されたタイミングに基づいて前記蓄積されたデータをいずれかのサーバへ送信し、前記端末に対して確認応答を送信する確認応答送信処理を実行させることを特徴とするプログラムである。 According to the present invention, the computer transfers the data to any server based on at least one of the process of receiving data from the terminal to one of the servers, the server load information, and the priority of the data. Determination process for determining whether to store or to store, if it is determined to transfer the data, the process of transmitting the data to any server and transmitting an acknowledgment to the terminal, the case of determining to store the data A storage process for storing the data and returning a confirmation response to the terminal; a timing determination process for determining a timing for transmitting the stored data to one of the servers based on the server load information and the communication status; The accumulated data is transmitted to any server based on the determined timing, and an acknowledgment is transmitted to the terminal Is a program for causing to execute that acknowledgment transmission process.

 本発明によれば、サーバ負荷やデータ優先度に基づいて、より効率的な負荷分散処理を行うことができる。 According to the present invention, more efficient load distribution processing can be performed based on server load and data priority.

図1は本発明の実施形態に係る負荷分散装置を含むデータ処理システムの概要図である。FIG. 1 is a schematic diagram of a data processing system including a load distribution apparatus according to an embodiment of the present invention. 図2は端末、負荷分散装置およびサーバの機能ブロック図である。FIG. 2 is a functional block diagram of the terminal, the load balancer, and the server. 図3は通信セッション数とCPU使用率の対応関係をプロットした図である。FIG. 3 is a diagram in which the correspondence between the number of communication sessions and the CPU usage rate is plotted. 図4は通信セッション数とメモリ使用率の対応関係をプロットした図である。FIG. 4 is a plot of the correspondence between the number of communication sessions and the memory usage rate. 図5は通信セッション数とディスクI/O数の対応関係をプロットした図である。FIG. 5 is a graph plotting the correspondence between the number of communication sessions and the number of disk I / Os. 図6は端末からのデータ送信要求を受信して、サーバに対してデータを転送する場合の動作シーケンスを示す図である。FIG. 6 is a diagram showing an operation sequence when receiving a data transmission request from a terminal and transferring data to a server. 図7はサーバへデータを転送するか、負荷分散装置へ一時蓄積するかを判定するフローチャートである。FIG. 7 is a flowchart for determining whether data is transferred to the server or temporarily stored in the load balancer. 図8は端末からのデータ送信要求を受信して、負荷分散装置内にデータを一時蓄積する場合の動作シーケンスを示す図である。FIG. 8 is a diagram illustrating an operation sequence when a data transmission request is received from a terminal and data is temporarily stored in the load balancer. 図9は負荷分散装置内に一時蓄積されたデータをサーバへ送信する場合の動作シーケンスを示す図である。FIG. 9 is a diagram showing an operation sequence in a case where data temporarily stored in the load balancer is transmitted to the server.

 以下、本発明の実施形態について図面を参照して説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.

 図1は、本発明の実施形態に係る負荷分散装置を含むデータ処理システムの概要図である。このデータ処理システムは、1又は複数の端末1~端末1、負荷分散装置10、1又は複数のサーバ100~サーバ100nを備える。 FIG. 1 is a schematic diagram of a data processing system including a load distribution apparatus according to an embodiment of the present invention. This data processing system includes one or more terminals 1 1 to 1 m , a load balancer 10, and one or more servers 100 1 to 100n.

 端末1~端末1は、サーバ100~サーバ100nに対するデータを送信する。端末1~端末1は、データ送信要求時に、データの重要度や、サーバへのデータ到達遅延制約に関する遅延制約情報等の優先度情報を負荷分散装置10へ送信する。端末1~端末1からのデータを受信した負荷分散装置10は、優先度情報が示すデータの優先度と、サーバの負荷状態に基づいて、データ転送先となるサーバ100を選択し、選択したサーバ100へデータを転送する。また、負荷分散装置10は、サーバの負荷に応じて、端末1からのデータを受信して蓄積し、サーバ100~サーバ100nの負荷が一定以下になることが確認できれば、サーバサーバ100~サーバ100nへデータを送信する。 Terminal 1 1 to terminal 1 m transmit data to server 100 1 to server 100n. The terminal 1 1 to the terminal 1 m transmit priority information such as the importance of data and the delay constraint information related to the data arrival delay constraint to the server to the load distribution device 10 at the time of data transmission request. The load distribution apparatus 10 that has received data from the terminals 1 1 to 1 m selects and selects the server 100 that is the data transfer destination based on the priority of the data indicated by the priority information and the load state of the server. Data is transferred to the server 100. Further, if the load distribution apparatus 10 receives and accumulates data from the terminal 1 according to the load on the server and confirms that the load on the server 100 1 to the server 100n is below a certain level, the server server 100 1 to Data is transmitted to the server 100n.

 図2は、端末1、負荷分散装置10およびサーバ100の機能ブロック図である。 FIG. 2 is a functional block diagram of the terminal 1, the load balancer 10, and the server 100.

 端末1は、データ送信部2とデータ蓄積部3を備える。データ送信部2は、データ蓄積部3からデータを取得して、サーバ100のいずれか対してデータを送信するために、負荷分散装置10に対してデータ送信要求メッセージを送信する。データ送信部2は、データ量確認部21、優先度決定部22を含む。データ量確認部21は、送信するデータ量をデータ送信要求メッセージに含める。優先度決定部22は、データの重要度や遅延制約(例えば、許容できる遅延時間等)等のデータの優先度を示す優先度情報をデータ送信要求メッセージに含める。データ蓄積部3は、送信するデータを蓄積する。 The terminal 1 includes a data transmission unit 2 and a data storage unit 3. The data transmission unit 2 acquires data from the data storage unit 3 and transmits a data transmission request message to the load balancer 10 in order to transmit data to any of the servers 100. The data transmission unit 2 includes a data amount confirmation unit 21 and a priority determination unit 22. The data amount confirmation unit 21 includes the data amount to be transmitted in the data transmission request message. The priority determination unit 22 includes priority information indicating the priority of data, such as the importance of data and delay constraints (for example, allowable delay time), in the data transmission request message. The data storage unit 3 stores data to be transmitted.

 負荷分散装置10は、通信セッション受付部11、サーバ負荷監視部12、転送先サーバ決定部13、データ転送部14、セッション状態監視部15、データ受信部16、データ蓄積部17、データ送信部18を備える。 The load distribution apparatus 10 includes a communication session reception unit 11, a server load monitoring unit 12, a transfer destination server determination unit 13, a data transfer unit 14, a session state monitoring unit 15, a data reception unit 16, a data storage unit 17, and a data transmission unit 18. Is provided.

 通信セッション受付部11は、優先度確認部111とデータ量確認部112を含む。優先度確認部111は、受信した要求メッセージに含まれるデータの優先度の情報を確認する。データ量確認部112は、受信した要求メッセージに含まれるデータ量の情報を確認する。通信セッション受付部11は、端末1からのデータ送信要求を受信する。通信セッション受付部11は、サーバ負荷監視部12が取得したサーバ100~サーバ100nの最新のセッション数とセッション数閾値を取得し、データの優先度、サーバ100~サーバ100nの最新のセッション数とセッション数閾値に基づいて、サーバ100のいずれかにデータを転送するか、データを蓄積するかを決定する。 The communication session acceptance unit 11 includes a priority confirmation unit 111 and a data amount confirmation unit 112. The priority confirmation unit 111 confirms data priority information included in the received request message. The data amount confirmation unit 112 confirms information on the amount of data included in the received request message. The communication session reception unit 11 receives a data transmission request from the terminal 1. The communication session accepting unit 11 acquires the latest session number and session number threshold value of the servers 100 1 to 100n acquired by the server load monitoring unit 12, and obtains the data priority and the latest session number of the server 100 1 to server 100n. Based on the session number threshold, whether to transfer data to one of the servers 100 or to store the data is determined.

 この決定において、最新のセッション数がセッション数閾値より小さい、または、サーバへのデータ到達遅延時間が厳しい等、データの優先度が高い場合、通信セッション受付部11は、サーバ100へのデータ転送を行うと決定し、データ送信要求を行った端末1の識別情報を含めたデータ転送指示をデータ転送部14へ送る。データ転送を行う場合は、サーバ負荷監視部12へもデータ転送することを通知する。 In this determination, when the priority of data is high, such as when the latest number of sessions is smaller than the session number threshold or the data arrival delay time to the server is severe, the communication session accepting unit 11 transfers the data to the server 100. A data transfer instruction including the identification information of the terminal 1 that has decided to perform the data transmission request is sent to the data transfer unit 14. When performing data transfer, the server load monitoring unit 12 is also notified of data transfer.

 また、最新のセッション数がセッション数閾値を越えており、かつ、遅延制約も厳しくなくデータの優先度が低い場合、通信セッション受付部11は、データを蓄積すると決定し、データを受信して蓄積するようデータ受信部16に指示する。 In addition, when the latest number of sessions exceeds the session number threshold, the delay constraint is not strict, and the priority of data is low, the communication session accepting unit 11 determines to accumulate data, and receives and accumulates data. The data receiving unit 16 is instructed to do so.

 また、通信セッション受付部11は、受信したデータ送信要求に含まれるデータ量の情報を確認すると、セッション状態監視部15へ端末の識別情報とデータ量を通知する。 Further, when the communication session accepting unit 11 confirms the data amount information included in the received data transmission request, the communication session accepting unit 11 notifies the session state monitoring unit 15 of the terminal identification information and the data amount.

 サーバ負荷監視部12は、サーバ100で開設されている通信セッション数とサーバの負荷情報を取得して、通信セッション数とサーバ負荷の対応関係を求め、これに基づいて、サーバ100に対してデータの優先度を考慮してデータ転送すべきかどうか判定する。サーバ100~サーバ100nから取得するサーバ負荷情報は、CPU使用率、メモリ使用量、ディスクへのデータの読み書き回数を示すディスクI/O数である。また、各サーバ100が通信しているセッション数はセッション状態監視部15から取得する。サーバ負荷情報と通信セッション数の取得方法は任意に設定可能である。例えば、端末1からのデータ送信要求を受信したときに取得するようにしてもよく、一定時間毎に取得するようにしてもよく、通信セッション数に応じて取得するようにしてもよい。取得したデータは測定データとして一定時間分蓄積して記憶するようにしてもよい。サーバ負荷情報は、そのサーバ負荷が生じていたときの通信セッション数と関係付けられる。各情報の取得時間等に基づいてサーバ負荷情報と通信セッション数を関係付けるようにしてもよい。 The server load monitoring unit 12 acquires the number of communication sessions established in the server 100 and server load information, obtains the correspondence between the number of communication sessions and the server load, and based on this, the server 100 monitors the data It is determined whether or not data transfer should be performed in consideration of the priority. The server load information acquired from the server 100 1 to the server 100n is a CPU usage rate, a memory usage amount, and a disk I / O number indicating the number of times data is read from and written to the disk. Further, the number of sessions with which each server 100 is communicating is acquired from the session state monitoring unit 15. The method for acquiring the server load information and the number of communication sessions can be arbitrarily set. For example, it may be acquired when a data transmission request from the terminal 1 is received, may be acquired at regular intervals, or may be acquired according to the number of communication sessions. The acquired data may be accumulated and stored as measurement data for a certain period of time. The server load information is related to the number of communication sessions when the server load occurs. You may make it relate server load information and the number of communication sessions based on the acquisition time etc. of each information.

 サーバ負荷監視部12は、取得したサーバ負荷情報とこれに対応する通信セッション数に基づいてサーバ毎に、図3、図4、図5に示すように、通信セッション数と、CPU使用率、メモリ使用率、ディスクI/O数の対応関係をプロットする。CPU使用率、メモリ使用率、ディスクI/O数の閾値は、優先度の高いデータがサーバ100~サーバ100nのいずれかに転送できるような値が設定される。この値は負荷分散装置が算出してもよく、ユーザにより入力されてもよい。サーバ負荷監視部12は、それぞれ定められた閾値に対応する通信セッション数の閾値を求める。 As shown in FIGS. 3, 4, and 5, the server load monitoring unit 12 determines the number of communication sessions, the CPU usage rate, and the memory for each server based on the acquired server load information and the corresponding number of communication sessions. The correspondence between the usage rate and the number of disk I / Os is plotted. The CPU usage rate, memory usage rate, and disk I / O count threshold values are set such that high priority data can be transferred to any of the servers 100 1 to 100 n. This value may be calculated by the load balancer or entered by the user. The server load monitoring unit 12 obtains a threshold value of the number of communication sessions corresponding to each determined threshold value.

 通信セッション数の閾値の求め方は、図3、図4、図5に示すように、通信セッション数とCPU使用率の関係をプロットしたもの、通信セッション数とメモリ使用率の関係をプロットしたもの、通信セッション数とディスクI/O数の関係をプロットしたもの、のそれぞれに近似曲線を追加し、CPU使用率、メモリ使用率、ディスクI/Oの閾値との交わる点で定められるセッション数を閾値と定める。また、CPU使用率、メモリ使用率、ディスクI/Oのそれぞれの閾値でとりうるセッション数の範囲で、最低値や平均値をとる方法でもよい。 As shown in FIG. 3, FIG. 4, and FIG. 5, the threshold for the number of communication sessions is obtained by plotting the relationship between the number of communication sessions and the CPU usage rate, and by plotting the relationship between the number of communication sessions and the memory usage rate. , Plotting the relationship between the number of communication sessions and the number of disk I / Os, an approximate curve is added to each of them, and the number of sessions determined by the intersection of the CPU usage rate, the memory usage rate, and the disk I / O threshold is calculated. It is defined as a threshold value. Also, a method of taking a minimum value or an average value within the range of the number of sessions that can be taken by the CPU usage rate, the memory usage rate, and the disk I / O thresholds may be used.

 サーバ負荷監視部12は、本セッション数の閾値と、端末1からのデータ送信要求を受信したときの通信セッション数を通信セッション受付部11に通知する。通信セッション受付部11がサーバ100~サーバ100nのいずれかにデータ転送する判断をした場合には、データ転送を行う通知を受ける。本通知を受けると、サーバ負荷監視部12は、転送先サーバ決定部13に対して通信セッション数とサーバ負荷情報の関係を通知する。また、サーバ負荷監視部12は、セッション状態監視部15に通信セッション数とサーバ負荷情報の関係を通知する。 The server load monitoring unit 12 notifies the communication session reception unit 11 of the threshold value of the number of sessions and the number of communication sessions when the data transmission request from the terminal 1 is received. When the communication session reception unit 11 determines to transfer data to any of the servers 100 1 to 100n, the communication session reception unit 11 receives a notification of data transfer. Upon receiving this notification, the server load monitoring unit 12 notifies the transfer destination server determining unit 13 of the relationship between the number of communication sessions and the server load information. In addition, the server load monitoring unit 12 notifies the session state monitoring unit 15 of the relationship between the number of communication sessions and server load information.

 転送先サーバ決定部13は、サーバ負荷監視部12から通知される、通信セッション数とサーバ負荷情報を取得して転送先サーバを決定する。転送先サーバの決定方法は以下の通りである。サーバ負荷監視部12から取得する、各サーバの最新の通信セッション数と、サーバ負荷情報(CPU使用率、メモリ使用率、ディスクI/O数)と、図3、図4、図5に示される通信セッション数とサーバ負荷情報(CPU使用率、メモリ使用率、ディスクI/O数)の関係を示すデータから、最新の通信セッション数がセッション数閾値を越えておらず、CPU使用率、メモリ使用率、ディスクI/O数が、それぞれCPU閾値、メモリ使用率閾値、ディスクI/O閾値を越えていないサーバを選択する。該当するサーバが複数ある場合、負荷が最も低いものを転送先として選んでもよい。転送先サーバ決定部13は、転送先サーバが決まると、データ転送部14へ転送サーバの識別情報を通知する。 The transfer destination server determination unit 13 acquires the number of communication sessions and server load information notified from the server load monitoring unit 12 and determines the transfer destination server. The method for determining the transfer destination server is as follows. The latest number of communication sessions of each server, server load information (CPU usage rate, memory usage rate, disk I / O number) acquired from the server load monitoring unit 12 and shown in FIG. 3, FIG. 4, and FIG. From the data indicating the relationship between the number of communication sessions and server load information (CPU usage rate, memory usage rate, disk I / O count), the latest communication session count does not exceed the session count threshold, and the CPU usage rate and memory usage A server in which the rate and the number of disk I / Os do not exceed the CPU threshold, the memory usage threshold, and the disk I / O threshold is selected. When there are a plurality of corresponding servers, the server with the lowest load may be selected as the transfer destination. When the transfer destination server is determined, the transfer destination server determination unit 13 notifies the data transfer unit 14 of the transfer server identification information.

 データ転送部14は、通信セッション受付部11からデータ転送の指示を受け、送信元端末の識別情報を取得し、転送先サーバ決定部13から転送先サーバの識別情報を取得する。データ転送部14は、両識別情報を用いてサーバと端末間の通信を中継する。また、各通信のデータ転送開始時刻、データ転送量について保持する。 The data transfer unit 14 receives a data transfer instruction from the communication session reception unit 11, acquires the identification information of the transmission source terminal, and acquires the identification information of the transfer destination server from the transfer destination server determination unit 13. The data transfer unit 14 relays communication between the server and the terminal using both pieces of identification information. Further, the data transfer start time and data transfer amount of each communication are held.

 セッション状態監視部15は、データ転送を行っている各通信セッションの終了時刻をデータ量、データ転送量、データ転送開始時間および現在時刻から算出し、サーバ負荷監視部12から取得する通信セッション数とサーバ負荷情報の関係を示すデータに基づいて、サーバ負荷(CPU使用率、メモリ使用率、ディスクI/O)が閾値以下になるタイミングを算出する。算出したタイミングでデータ蓄積部17に蓄積されるデータを送信するよう指示する。例えば各サーバについて上記のタイミングを算出し、算出したタイミングが最も早いサーバにデータを送信するよう指示してもよい。 The session state monitoring unit 15 calculates the end time of each communication session performing data transfer from the data amount, the data transfer amount, the data transfer start time, and the current time, and acquires the number of communication sessions acquired from the server load monitoring unit 12 Based on the data indicating the relationship of the server load information, a timing at which the server load (CPU usage rate, memory usage rate, disk I / O) becomes equal to or less than a threshold value is calculated. An instruction is given to transmit the data stored in the data storage unit 17 at the calculated timing. For example, the above timing may be calculated for each server, and the server may be instructed to transmit data to the server with the earliest calculated timing.

 データ受信部16は、通信セッション受付部11からデータを受信して蓄積する指示を受けると、データを受信して、端末の識別情報と紐付けてデータ蓄積部17へ蓄積する。端末からのデータ送信が終了すれば、負荷分散装置10にて一時データを蓄積していることを示す確認応答を端末へ送信する。 When the data receiving unit 16 receives an instruction to receive and store data from the communication session receiving unit 11, the data receiving unit 16 receives the data and stores it in the data storage unit 17 in association with the identification information of the terminal. When the data transmission from the terminal is completed, the load distribution apparatus 10 transmits a confirmation response indicating that the temporary data is accumulated to the terminal.

 データ蓄積部17は、データ受信部16からの受信するデータを蓄積する。 The data accumulating unit 17 accumulates data received from the data receiving unit 16.

 データ送信部18は、セッション状態監視部15から指示されるデータ送出タイミングに従ってデータを送信する。データ送信終了後、端末に対してサーバへのデータ送信が完了したことを示す確認応答を送信する。 The data transmission unit 18 transmits data according to the data transmission timing instructed from the session state monitoring unit 15. After the data transmission is completed, a confirmation response indicating that the data transmission to the server is completed is transmitted to the terminal.

 サーバ100は、データ受信部101、データ蓄積部102、サーバ負荷監視部103を備える。データ受信部101は、負荷分散装置10から送信されてくるデータを受信し、データ蓄積部102へ蓄積する。データ蓄積部102は、データ受信部101から受信するデータを蓄積する。サーバ負荷監視部103は、負荷分散装置10からの要求に応じて、CPU使用率、メモリ使用率、ディスクI/O数を通知する。 The server 100 includes a data receiving unit 101, a data storage unit 102, and a server load monitoring unit 103. The data reception unit 101 receives data transmitted from the load distribution apparatus 10 and accumulates it in the data accumulation unit 102. The data accumulation unit 102 accumulates data received from the data reception unit 101. The server load monitoring unit 103 notifies the CPU usage rate, the memory usage rate, and the number of disk I / Os in response to a request from the load distribution apparatus 10.

 本発明の実施形態に係るデータ処理システムの動作の概要について説明する。まず、端末1~端末1からデータ送信要求が負荷分散装置10へ送信される。負荷分散装置10は、データ送信要求を受信すると、データの優先度、サーバ負荷情報からサーバ100~サーバ100nのいずれかにデータを転送するか、データを負荷分散装置10に蓄積するか判断する。負荷分散装置10は、データを転送すると判断した場合、転送先サーバを決定して、データを転送する。データを負荷分散装置10に蓄積すると判断した場合、負荷分散装置10は、一時データを蓄積する。データを蓄積すると、負荷分散装置10は、一時データを蓄積したことを示す確認応答を端末へ送信する。そして、負荷分散装置10は、サーバ負荷(CPU使用率、メモリ使用率、ディクスI/O)がある一定値以下になるタイミングを算出し、算出したタイミングで負荷分散装置10に蓄積されるデータをサーバ100~サーバ100nのいずれかに送信する。データ送信が完了すると、データ送信が完了したこと示す確認応答を送信する。 An outline of the operation of the data processing system according to the embodiment of the present invention will be described. First, a data transmission request is transmitted from the terminal 1 1 to the terminal 1 m to the load distribution apparatus 10. When receiving the data transmission request, the load balancer 10 determines whether to transfer the data to any of the servers 100 1 to 100 n or to store the data in the load balancer 10 based on the priority of the data and the server load information. . When determining that the data is to be transferred, the load distribution apparatus 10 determines a transfer destination server and transfers the data. When it is determined that the data is stored in the load distribution device 10, the load distribution device 10 stores temporary data. When the data is accumulated, the load distribution apparatus 10 transmits a confirmation response indicating that the temporary data is accumulated to the terminal. Then, the load balancer 10 calculates the timing at which the server load (CPU usage rate, memory usage rate, disk I / O) falls below a certain value, and stores the data stored in the load balancing device 10 at the calculated timing. It is transmitted to any one of the servers 100 1 to 100n. When the data transmission is completed, an acknowledgment indicating that the data transmission is completed is transmitted.

 次に、負荷分散装置10が、端末からのデータ送信要求を受信して、サーバに対してデータを転送する場合の動作について、図6の動作シーケンスと図7のフローチャートを参照して説明する。図7のフローチャートは、負荷分散装置10が、端末からのデータ送信要求を受信して、サーバへデータを転送するか、負荷分散装置10へ一時蓄積するかを判定する処理を示す。 Next, the operation when the load distribution apparatus 10 receives a data transmission request from a terminal and transfers data to the server will be described with reference to the operation sequence of FIG. 6 and the flowchart of FIG. The flowchart of FIG. 7 shows a process in which the load balancer 10 receives a data transmission request from a terminal and determines whether to transfer data to a server or temporarily store it in the load balancer 10.

 端末1からデータ送信要求があり、そのデータがいずれかのサーバ100へ送信される場合を例に説明する。端末1~端末1のうち複数からデータ送信要求があった場合においても動作は同じである。 There is data transmission request from the terminal 1 1, illustrating a case where the data is sent to either server 100 as an example. The operation is the same when there is a data transmission request from a plurality of terminals 1 1 to 1 m .

 まず、負荷分散装置10の通信セッション受付部11が端末1からデータ送信要求を受信すると(図6のステップS1、図7のステップA)、負荷分散装置10のサーバ負荷監視部12からサーバ毎の最新のセッション数とセッション数閾値を取得し比較する(図6のステップS2、図7のステップB)。いずれかのサーバについて最新の通信セッション数が通信セッション数閾値よりも小さいことを確認すると、該当するサーバへデータ転送することを決定する(図6のステップS4、図7のステップC)。 First, when the communication session accepting unit 11 of the load distribution apparatus 10 receives a data transmission request from the terminal 1 (step S1 in FIG. 6 and step A in FIG. 7), the server load monitoring unit 12 of the load distribution apparatus 10 receives the data transmission request for each server. The latest session number and the session number threshold value are acquired and compared (step S2 in FIG. 6 and step B in FIG. 7). When it is confirmed that the latest number of communication sessions is smaller than the communication session number threshold for any of the servers, it is determined to transfer data to the corresponding server (step S4 in FIG. 6, step C in FIG. 7).

 また、いずれのサーバについても最新の通信セッション数が通信セッション数の閾値を越えていた場合、データの優先度が一定以上であれば(図6のステップS3、図7のステップD)、サーバへデータ転送することを決定する(図6のステップ4、図7のステップF)。通信セッション受付部11は、サーバ負荷監視部12へデータ転送することを通知する。 In addition, if the latest number of communication sessions exceeds the threshold value of the number of communication sessions for any server, and if the priority of the data is equal to or higher than a certain level (step S3 in FIG. 6, step D in FIG. 7), to the server Data transfer is determined (step 4 in FIG. 6 and step F in FIG. 7). The communication session accepting unit 11 notifies the server load monitoring unit 12 that data is transferred.

 本通知を受けたサーバ負荷監視部12は、転送先サーバ決定部13へ最新の通信セッション数、サーバ負荷情報(CPU使用率、メモリ使用率、ディスクI/O)、図3、図4、図5に示すような通信セッション数とサーバ負荷情報の関係を示すデータを通知するとともに転送先サーバ選定の指示を行う。 Upon receiving this notification, the server load monitoring unit 12 sends the latest communication session count, server load information (CPU usage rate, memory usage rate, disk I / O) to the transfer destination server determination unit 13, FIG. 3, FIG. 4, FIG. Data indicating the relationship between the number of communication sessions and server load information as shown in FIG.

 転送先サーバ決定部13は、通知されるサーバ負荷情報を基に、データの転送先となるサーバを設定する。図6に示す例では、転送先としてサーバ100を選定している(図6のステップS5)。サーバ選定後、負荷分散装置10は、端末1からのデータをサーバ100へ転送する(図6のステップS6)。 The transfer destination server determination unit 13 sets a server as a data transfer destination based on the notified server load information. In the example shown in FIG. 6, it is selected the server 100 1 as the transfer destination (step S5 in FIG. 6). After server selection, load balancer 10 transfers the data from the terminal 1 to the server 100 1 (step S6 in FIG. 6).

 次に、負荷分散装置10が、端末からのデータ送信要求を受信して、負荷分散装置10内にデータを一時蓄積する場合の動作について、図8の動作シーケンスと図7のフローチャートを参照して説明する。 Next, with reference to the operation sequence of FIG. 8 and the flowchart of FIG. 7, the operation of the load balancer 10 when receiving a data transmission request from a terminal and temporarily storing data in the load balancer 10 will be described. explain.

 端末1からデータ送信要求があり、負荷分散装置10にてデータを一時蓄積する場合を例に説明する。端末1~端末1のうち複数からデータ送信要求があった場合においても動作は同じである。 There is data transmission request from the terminal 1 1, a case for temporarily storing the data at the load balancer 10 as an example. The operation is the same when there is a data transmission request from a plurality of terminals 1 1 to 1 m .

 まず、負荷分散装置10の通信セッション受付部11が端末1からデータ送信要求を受信すると(図8のステップS1、図7のステップA)、負荷分散装置10のサーバ負荷監視部12からサーバ毎の最新のセッション数とセッション数閾値を取得し比較する(図8ステップS2、図7のステップB)。サーバ100~サーバ100nにおいて、最新の通信セッション数が通信セッション数閾値を越えていることを確認した場合、データの優先度を確認する(図4のステップS3、図7のステップD)。データの優先度が一定値以下であることを確認した場合、データを負荷分散装置10にて蓄積することを決定する(図8のステップS4、図7のステップE)。端末1からのデータを受信し、データ送信が完了すると、負荷分散装置10のデータ受信部16から負荷分散装置に一時データを蓄積することを示す確認応答を返信する(図8のステップS5)。 First, when the communication session accepting unit 11 of the load distribution apparatus 10 receives a data transmission request from the terminal 1 (step S1 in FIG. 8 and step A in FIG. 7), the server load monitoring unit 12 of the load distribution apparatus 10 receives a request for each server. The latest session number and the session number threshold value are acquired and compared (step S2 in FIG. 8, step B in FIG. 7). In the server 100 1 to the server 100n, when it is confirmed that the latest number of communication sessions exceeds the communication session number threshold, the priority of data is confirmed (step S3 in FIG. 4 and step D in FIG. 7). When it is confirmed that the priority of the data is equal to or less than a certain value, it is determined that the data is stored in the load balancer 10 (step S4 in FIG. 8, step E in FIG. 7). When data from the terminal 1 is received and data transmission is completed, a confirmation response indicating that temporary data is stored in the load balancer is returned from the data receiver 16 of the load balancer 10 (step S5 in FIG. 8).

 次に、負荷分散装置10が、負荷分散装置10内に一時蓄積されたデータをサーバへ送信する場合の動作について図9の動作シーケンスを参照して説明する。 Next, the operation in the case where the load distribution apparatus 10 transmits data temporarily stored in the load distribution apparatus 10 to the server will be described with reference to the operation sequence of FIG.

 負荷分散装置10のデータ受信部16が、データ蓄積部17にデータを蓄積した後、セッション状態監視部15は、通信セッション受付部11からデータ転送を行っているデータ量を取得し、サーバ負荷監視部12から通信セッション数閾値を取得し、データ転送部14から各通信のデータ転送開始時間とデータ転送量を取得する(図9のステップS1)。その後、各通信のデータ転送量と現在時刻とデータ転送開始時間から転送に要した時間を算出し、その時間に基づいて各通信の残りデータを転送する時間を計算し、サーバ負荷(通信セション数等)が通信セッション閾値を下回るタイミングを算出する(図9のステップS2)。 After the data receiving unit 16 of the load distribution apparatus 10 accumulates data in the data accumulating unit 17, the session state monitoring unit 15 acquires the amount of data being transferred from the communication session accepting unit 11, and monitors the server load. The communication session number threshold is acquired from the unit 12, and the data transfer start time and data transfer amount of each communication are acquired from the data transfer unit 14 (step S1 in FIG. 9). After that, calculate the time required for the transfer from the data transfer amount of each communication, the current time, and the data transfer start time, calculate the time to transfer the remaining data of each communication based on that time, and calculate the server load (number of communication sessions) Etc.) below the communication session threshold (step S2 in FIG. 9).

 タイミングの算出方法は、各通信のデータ転送量と転送に要した時間を基に、残りデータの転送時間を計算することにより行う。たとえば、データ量が10MBで、現在のデータ転送量が4MB、転送時間が10秒だとすると、残り6MBのデータ転送時間は、15秒(=10秒×6÷4)である。本計算を各通信において行い、サーバの通信セッション数閾値を下回る時間を求め、データ送信タイミングを決定する。図9の例では、サーバ100において、データ送信タイミングを決定している。また、送信タイミング決定に関しては、蓄積されるデータの遅延制約も考慮してサーバを選択する。データ送信部18は、決定したデータ送信のタイミングで、データ蓄積部17からデータを取得してサーバ100にデータを送信する(図9のステップS3)。データ送信が完了すると、蓄積していたデータの送信元である端末1へ、サーバへのデータ送信が完了したことを示す確認応答を送信する(図9のステップS4)。 The timing is calculated by calculating the remaining data transfer time based on the data transfer amount of each communication and the time required for the transfer. For example, if the data amount is 10 MB, the current data transfer amount is 4 MB, and the transfer time is 10 seconds, the remaining 6 MB data transfer time is 15 seconds (= 10 seconds × 6 ÷ 4). This calculation is performed in each communication, the time below the communication session number threshold of the server is obtained, and the data transmission timing is determined. In the example of FIG. 9, the server 100 1, it determines the data transmission timing. For transmission timing determination, a server is selected in consideration of delay constraints of accumulated data. Data transmission unit 18 at the timing of the determined data transmission, transmits the data to the server 100 1 acquires data from the data storage unit 17 (step S3 in FIG. 9). When the data transmission is completed, a confirmation response indicating that the data transmission to the server is completed is transmitted to the terminal 1 that is the transmission source of the accumulated data (step S4 in FIG. 9).

 以上説明したように、本実施形態によれば、サーバの負荷が上昇した場合に、サーバリソースを増やすことなく、データの優先度に応じて負荷分散装置にデータを一時的に蓄積し、サーバの負荷が低下したときにサーバにデータを送信することで、サーバリソースの有効活用が実現できる。また、負荷分散装置に一時蓄積する場合、端末に対して、負荷分散装置で一時蓄積していることを示す確認応答を送信することで、負荷分散装置でデータが消失した場合においても、端末側から再送することが可能となり、データ通信の信頼性も向上する。 As described above, according to the present embodiment, when the load on the server increases, the data is temporarily accumulated in the load balancer according to the priority of the data without increasing the server resources, and the server By transmitting data to the server when the load decreases, it is possible to effectively use server resources. Also, when temporarily accumulating in the load balancer, the terminal side even if data is lost in the load balancer by sending an acknowledgment to the terminal indicating that it is temporarily accumulated in the load balancer Thus, the reliability of data communication is improved.

 上述した本発明の実施形態に係る負荷分散装置10の通信セッション受付部11、サーバ負荷監視部12、転送先サーバ決定部13、データ転送部14、セッション状態監視部15、データ受信部16、データ蓄積部17、データ送信部18は、負荷分散装置10のCPU(Central Processing Unit)が記憶部に格納された動作プログラム等を読み出して実行することにより実現されてもよく、また、ハードウェアで構成されてもよい。上述した実施の形態の一部の機能のみをコンピュータプログラムにより実現することもできる。 The communication session reception unit 11, the server load monitoring unit 12, the transfer destination server determination unit 13, the data transfer unit 14, the session state monitoring unit 15, the data reception unit 16, the data of the load distribution apparatus 10 according to the embodiment of the present invention described above. The storage unit 17 and the data transmission unit 18 may be realized by a CPU (Central (Processing の Unit) of the load distribution apparatus 10 reading and executing an operation program or the like stored in the storage unit, or configured by hardware. May be. Only some functions of the above-described embodiments can be realized by a computer program.

 上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。 Some or all of the above embodiments can be described as in the following supplementary notes, but are not limited thereto.

 (付記1)
 1つ以上あるサーバのいずれかへのデータを端末から受信する手段と、
 サーバ負荷情報と前記データの優先度の少なくとも一方に基づいて、前記データをいずれかのサーバへ転送するか、蓄積するかを判定する判定手段と
 前記データを転送すると判定した場合、前記データをいずれかのサーバに送信し、確認応答を前記端末に送信する手段と、
 前記データを蓄積すると判定した場合、前記データを蓄積し、確認応答を前記端末に返信する蓄積手段と、
 前記サーバ負荷情報と通信状況に基づいて、前記蓄積されたデータをいずれかのサーバへ送信するタイミングを決定するタイミング決定手段と、
 前記決定されたタイミングに基づいて前記蓄積されたデータをいずれかのサーバへ送信し、前記端末に対して確認応答を送信する確認応答送信手段と
を備えることを特徴とする負荷分散装置。
(Appendix 1)
Means for receiving data from the terminal to any of the one or more servers;
Based on at least one of server load information and priority of the data, determination means for determining whether to transfer or store the data to any server, and when determining that the data is to be transferred, Means for transmitting to the server and transmitting an acknowledgment to the terminal;
If it is determined to store the data, storage means for storing the data and returning a confirmation response to the terminal;
Timing determining means for determining a timing for transmitting the accumulated data to any server based on the server load information and communication status;
A load distribution apparatus comprising: an acknowledgment transmission means for transmitting the accumulated data to any server based on the determined timing and transmitting an acknowledgment to the terminal.

 (付記2)
 前記判定手段は、各サーバのCPU利用率、メモリ利用率、ディスクI/O数の少なくとも一つを前記サーバ負荷情報として用いる
ことを特徴とする付記1に記載の負荷分散装置。
(Appendix 2)
The load distribution apparatus according to appendix 1, wherein the determination unit uses at least one of a CPU usage rate, a memory usage rate, and a disk I / O number of each server as the server load information.

 (付記3)
 サーバ毎に、CPU利用率、メモリ利用率、ディスクI/O数の少なくとも一つについて閾値を設定し、前記設定された閾値の値が取得されるときのサーバの通信セッションを取得して通信セッション閾値とする手段をさらに備え、
 前記判定手段は、前記通信セッションの閾値と、各サーバについて取得した通信セッション数を比較して、前記データをいずれかのサーバへ転送するか、蓄積するかを判定する
ことを特徴とする付記2に記載の負荷分散装置。
(Appendix 3)
For each server, a threshold is set for at least one of the CPU usage rate, the memory usage rate, and the number of disk I / Os, and the communication session of the server when the set threshold value is acquired is acquired. Means further comprising a threshold,
The determination means compares the threshold value of the communication session with the number of communication sessions acquired for each server, and determines whether to transfer or store the data to any server. The load balancer described in 1.

 (付記4)
 前記判定手段は、前記データの優先度が所定値を超える場合、前記データをいずれかのサーバへ転送すると判定する
ことを特徴とする付記1から3のいずれか1項に記載の負荷分散装置。
(Appendix 4)
The load balancing apparatus according to any one of appendices 1 to 3, wherein the determination unit determines to transfer the data to any server when the priority of the data exceeds a predetermined value.

 (付記5)
 前記判定手段は、前記データの優先度が所定値を超えない場合であって、前記サーバ負荷情報に基づくサーバ負荷が所定値を超える場合、前記データを蓄積すると判定する
ことを特徴とする付記1から4のいずれか1項に記載の負荷分散装置。
(Appendix 5)
The determination unit determines that the data is to be accumulated when the priority of the data does not exceed a predetermined value and the server load based on the server load information exceeds a predetermined value. 5. The load distribution apparatus according to any one of items 1 to 4.

 (付記6)
 前記蓄積手段により前記端末に送信される前記確認応答は、データが蓄積されたことを示す、
ことを特徴とする付記1から5のいずれか1項に記載の負荷分散装置。
(Appendix 6)
The confirmation response sent to the terminal by the storage means indicates that data has been stored;
6. The load balancer according to any one of appendices 1 to 5, wherein

 (付記7)
 前記タイミング決定手段は、前記データのデータ量、転送したデータ量、転送に要した時間に基づいてデータ転送終了時刻を算出し、前記算出したデータ転送終了時刻に基づいてサーバ負荷が所定値より小さくなる時刻を推定し、前記推定した時刻を、前記蓄積したデータをサーバへ送信するタイミングとして決定する
ことを特徴とする付記1から6のいずれか1項に記載の負荷分散装置。
(Appendix 7)
The timing determination unit calculates a data transfer end time based on the data amount of the data, the transferred data amount, and the time required for the transfer, and the server load is smaller than a predetermined value based on the calculated data transfer end time. The load distribution apparatus according to any one of appendices 1 to 6, wherein the estimated time is determined as a timing at which the accumulated data is transmitted to a server.

 (付記8)
 前記確認応答送信手段は、前記1つ以上あるサーバのうちのいずれかのサーバへのデータ送信が完了したことを示す前記確認応答を前記端末へ送信する
ことを特徴とする付記1から7のいずれか1項に記載の負荷分散装置。
(Appendix 8)
Any one of Supplementary notes 1 to 7, wherein the confirmation response transmission means transmits the confirmation response indicating that data transmission to any one of the one or more servers is completed to the terminal. The load balancer according to claim 1.

 (付記9)
 1つ以上あるサーバのいずれかへのデータを端末から受信するステップと、
 サーバ負荷情報と前記データの優先度の少なくとも一方に基づいて、前記データをいずれかのサーバへ転送するか、蓄積するかを判定する判定ステップと、
 前記データを転送すると判定した場合、前記データをいずれかのサーバに送信し、確認応答を前記端末に送信するステップと、
 前記データを蓄積すると判定した場合、前記データを蓄積し、確認応答を前記端末に返信する蓄積ステップと、
 前記サーバ負荷情報と通信状況に基づいて、前記蓄積されたデータをいずれかのサーバへ送信するタイミングを決定するタイミング決定ステップと、
 前記決定されたタイミングに基づいて前記蓄積されたデータをいずれかのサーバへ送信し、前記端末に対して確認応答を送信する確認応答送信ステップと
を備えることを特徴とする負荷分散方法。
(Appendix 9)
Receiving data from the terminal to any of the one or more servers;
A determination step of determining whether to transfer or store the data to any server based on at least one of server load information and priority of the data;
If it is determined to transfer the data, transmitting the data to any server and transmitting an acknowledgment to the terminal;
If it is determined to store the data, the storage step of storing the data and returning a confirmation response to the terminal;
A timing determining step for determining a timing for transmitting the accumulated data to any of the servers based on the server load information and the communication status;
A load distribution method comprising: an acknowledgment transmission step of transmitting the accumulated data to any of the servers based on the determined timing and transmitting an acknowledgment to the terminal.

 (付記10)
 前記判定ステップは、各サーバのCPU利用率、メモリ利用率、ディスクI/O数の少なくとも一つを前記サーバ負荷情報として用いる
ことを特徴とする付記9に記載の負荷分散方法。
(Appendix 10)
The load balancing method according to claim 9, wherein the determination step uses at least one of a CPU usage rate, a memory usage rate, and a disk I / O number of each server as the server load information.

 (付記11)
 サーバ毎に、CPU利用率、メモリ利用率、ディスクI/O数の少なくとも一つについて閾値を設定し、前記設定された閾値の値が取得されるときのサーバの通信セッションを取得して通信セッション閾値とするステップをさらに備え、
 前記判定ステップは、前記通信セッションの閾値と、各サーバについて取得した通信セッション数を比較して、前記データをいずれかのサーバへ転送するか、蓄積するかを判定する
ことを特徴とする付記10に記載の負荷分散方法。
(Appendix 11)
For each server, a threshold is set for at least one of the CPU usage rate, the memory usage rate, and the number of disk I / Os, and the communication session of the server when the set threshold value is acquired is acquired. And further comprising a step of setting a threshold,
The determination step compares the threshold value of the communication session with the number of communication sessions acquired for each server, and determines whether to transfer or store the data to any server. Load balancing method described in 1.

 (付記12)
 前記判定ステップは、前記データの優先度が所定値を超える場合、前記データをいずれかのサーバへ転送すると判定する
ことを特徴とする付記9から11のいずれか1項に記載の負荷分散方法。
(Appendix 12)
The load balancing method according to any one of appendices 9 to 11, wherein the determination step determines that the data is transferred to any server when the priority of the data exceeds a predetermined value.

 (付記13)
 前記判定ステップは、前記データの優先度が所定値を超えない場合であって、前記サーバ負荷情報に基づくサーバ負荷が所定値を超える場合、前記データを蓄積すると判定する
ことを特徴とする付記9から12のいずれか1項に記載の負荷分散方法。
(Appendix 13)
The determining step determines that the data is to be accumulated when the priority of the data does not exceed a predetermined value and the server load based on the server load information exceeds a predetermined value. 13. The load distribution method according to any one of items 1 to 12.

 (付記14)
 前記蓄積ステップにより前記端末に送信される前記確認応答は、データが蓄積されたことを示す、
 ことを特徴とする付記9から13のいずれか1項に記載の負荷分散方法。
(Appendix 14)
The confirmation response transmitted to the terminal by the accumulation step indicates that data has been accumulated.
14. The load distribution method according to any one of appendices 9 to 13, characterized in that:

 (付記15)
 前記タイミング決定ステップは、前記データのデータ量、転送したデータ量、転送に要した時間に基づいてデータ転送終了時刻を算出し、前記算出したデータ転送終了時刻に基づいてサーバ負荷が所定値より小さくなる時刻を推定し、前記推定した時刻を、前記蓄積したデータをサーバへ送信するタイミングとして決定する
ことを特徴とする付記9から14のいずれか1項に記載の負荷分散方法。
(Appendix 15)
The timing determination step calculates a data transfer end time based on the data amount of the data, the transferred data amount, and the time required for the transfer, and the server load is smaller than a predetermined value based on the calculated data transfer end time. The load balancing method according to any one of appendices 9 to 14, wherein the estimated time is estimated and the estimated time is determined as a timing for transmitting the accumulated data to a server.

 (付記16)
 前記確認応答送信ステップは、前記1つ以上あるサーバのうちのいずれかのサーバへのデータ送信が完了したことを示す前記確認応答を前記端末へ送信する
ことを特徴とする付記9から15のいずれか1項に記載の負荷分散方法。
(Appendix 16)
Any one of Supplementary notes 9 to 15, wherein the confirmation response transmitting step transmits the confirmation response indicating that data transmission to any one of the one or more servers is completed to the terminal. The load distribution method according to claim 1.

 (付記17)
 コンピュータに、
 1つ以上あるサーバのいずれかへのデータを端末から受信する処理、
 サーバ負荷情報と前記データの優先度の少なくとも一方に基づいて、前記データをいずれかのサーバへ転送するか、蓄積するかを判定する判定処理、
 前記データを転送すると判定した場合、前記データをいずれかのサーバに送信し、確認応答を前記端末に送信する処理、
 前記データを蓄積すると判定した場合、前記データを蓄積し、確認応答を前記端末に返信する蓄積処理、
 前記サーバ負荷情報と通信状況に基づいて、前記蓄積されたデータをいずれかのサーバへ送信するタイミングを決定するタイミング決定処理、
 前記決定されたタイミングに基づいて前記蓄積されたデータをいずれかのサーバへ送信し、前記端末に対して確認応答を送信する確認応答送信処理
を実行させることを特徴とするプログラム。
(Appendix 17)
On the computer,
Processing to receive data from a terminal to any of one or more servers,
A determination process for determining whether to transfer or store the data to any server based on at least one of server load information and the priority of the data;
When it is determined that the data is to be transferred, a process of transmitting the data to any server and transmitting an acknowledgment to the terminal;
If it is determined that the data is to be stored, the data is stored, and a storage process for returning a confirmation response to the terminal;
A timing determination process for determining a timing for transmitting the accumulated data to any server based on the server load information and the communication status;
A program that transmits the accumulated data to any server based on the determined timing, and executes an acknowledgment transmission process for transmitting an acknowledgment to the terminal.

 (付記18)
 前記判定処理は、各サーバのCPU利用率、メモリ利用率、ディスクI/O数の少なくとも一つを前記サーバ負荷情報として用いる
ことを特徴とする付記17に記載のプログラム。
(Appendix 18)
The program according to claim 17, wherein the determination process uses at least one of a CPU usage rate, a memory usage rate, and a disk I / O number of each server as the server load information.

 (付記19)
 サーバ毎に、CPU利用率、メモリ利用率、ディスクI/O数の少なくとも一つについて閾値を設定し、前記設定された閾値の値が取得されるときのサーバの通信セッションを取得して通信セッション閾値とする処理をさらに実行させ、
 前記判定処理は、前記通信セッションの閾値と、各サーバについて取得した通信セッション数を比較して、前記データをいずれかのサーバへ転送するか、蓄積するかを判定する
ことを特徴とする付記18に記載のプログラム。
(Appendix 19)
For each server, a threshold is set for at least one of the CPU usage rate, the memory usage rate, and the number of disk I / Os, and the communication session of the server when the set threshold value is acquired is acquired. Further execute the process of setting the threshold,
The determination process compares the threshold value of the communication session with the number of communication sessions acquired for each server, and determines whether the data is transferred to any server or stored. The program described in.

 (付記20)
 前記判定処理は、前記データの優先度が所定値を超える場合、前記データをいずれかのサーバへ転送すると判定する
ことを特徴とする付記17から19のいずれか1項に記載のプログラム。
(Appendix 20)
The program according to any one of appendices 17 to 19, wherein the determination processing determines that the data is transferred to any server when the priority of the data exceeds a predetermined value.

 (付記21)
 前記判定処理は、前記データの優先度が所定値を超えない場合であって、前記サーバ負荷情報に基づくサーバ負荷が所定値を超える場合、前記データを蓄積すると判定する
ことを特徴とする付記17から20のいずれか1項に記載のプログラム。
(Appendix 21)
The determination process is performed when the priority of the data does not exceed a predetermined value, and when the server load based on the server load information exceeds a predetermined value, it is determined to store the data. 21. The program according to any one of 1 to 20.

 (付記22)
 前記蓄積処理により前記端末に送信される前記確認応答は、データが蓄積されたことを示す、
 ことを特徴とする付記17から21のいずれか1項に記載のプログラム。
(Appendix 22)
The confirmation response transmitted to the terminal by the accumulation process indicates that data has been accumulated.
The program according to any one of appendices 17 to 21, characterized in that:

 (付記23)
 前記タイミング決定処理は、前記データのデータ量、転送したデータ量、転送に要した時間に基づいてデータ転送終了時刻を算出し、前記算出したデータ転送終了時刻に基づいてサーバ負荷が所定値より小さくなる時刻を推定し、前記推定した時刻を、前記蓄積したデータをサーバへ送信するタイミングとして決定する
ことを特徴とする付記17から22のいずれか1項に記載のプログラム。
(Appendix 23)
The timing determination process calculates a data transfer end time based on the data amount of the data, the transferred data amount, and the time required for the transfer, and the server load is smaller than a predetermined value based on the calculated data transfer end time. 23. The program according to any one of appendices 17 to 22, wherein the program is estimated as a timing for transmitting the accumulated data to a server.

 (付記24)
 前記確認応答送信処理は、前記1つ以上あるサーバのうちのいずれかのサーバへのデータ送信が完了したことを示す前記確認応答を前記端末へ送信する
ことを特徴とする付記17から23のいずれか1項に記載のプログラム。
(Appendix 24)
Any one of appendices 17 to 23, wherein the confirmation response transmission process transmits the confirmation response indicating completion of data transmission to any one of the one or more servers to the terminal. The program according to item 1.

 以上、好ましい実施の形態をあげて本発明を説明したが、本発明は必ずしも上記実施の形態に限定されるものではなく、その技術的思想の範囲内において様々に変形し実施することが出来る。
 この出願は、2011年9月26日に出願された日本出願特願2011-208510を基礎とする優先権を主張し、その開示の全てをここに取り込む。
Although the present invention has been described with reference to the preferred embodiments, the present invention is not necessarily limited to the above-described embodiments, and various modifications can be made within the scope of the technical idea.
This application claims the priority on the basis of Japanese application Japanese Patent Application No. 2011-208510 for which it applied on September 26, 2011, and takes in those the indications of all here.

 1    端末
 2    データ送信部
 3    データ蓄積部
 10   負荷分散装置
 11   通信セッション受付部
 12   サーバ負荷監視部
 13   転送先サーバ決定部
 14   データ転送部
 15   セッション状態監視部
 16   データ受信部
 17   データ蓄積部
 18   データ送信部
 101  データ受信部
 102  データ蓄積部
 103  サーバ負荷監視部
 111  優先度確認部
 112  データ量確認部
DESCRIPTION OF SYMBOLS 1 Terminal 2 Data transmission part 3 Data storage part 10 Load distribution apparatus 11 Communication session reception part 12 Server load monitoring part 13 Transfer destination server determination part 14 Data transfer part 15 Session state monitoring part 16 Data reception part 17 Data storage part 18 Data transmission Unit 101 Data receiving unit 102 Data storage unit 103 Server load monitoring unit 111 Priority confirmation unit 112 Data amount confirmation unit

Claims (10)

 1つ以上あるサーバのいずれかへのデータを端末から受信する手段と、
 サーバ負荷情報と前記データの優先度の少なくとも一方に基づいて、前記データをいずれかのサーバへ転送するか、蓄積するかを判定する判定手段と
 前記データを転送すると判定した場合、前記データをいずれかのサーバに送信し、確認応答を前記端末に送信する手段と、
 前記データを蓄積すると判定した場合、前記データを蓄積し、確認応答を前記端末に返信する蓄積手段と、
 前記サーバ負荷情報と通信状況に基づいて、前記蓄積されたデータをいずれかのサーバへ送信するタイミングを決定するタイミング決定手段と、
 前記決定されたタイミングに基づいて前記蓄積されたデータをいずれかのサーバへ送信し、前記端末に対して確認応答を送信する確認応答送信手段と
を備えることを特徴とする負荷分散装置。
Means for receiving data from the terminal to any of the one or more servers;
Based on at least one of server load information and priority of the data, determination means for determining whether to transfer or store the data to any server, and when determining that the data is to be transferred, Means for transmitting to the server and transmitting an acknowledgment to the terminal;
If it is determined to store the data, storage means for storing the data and returning a confirmation response to the terminal;
Timing determining means for determining a timing for transmitting the accumulated data to any server based on the server load information and communication status;
A load distribution apparatus comprising: an acknowledgment transmission means for transmitting the accumulated data to any server based on the determined timing and transmitting an acknowledgment to the terminal.
 前記判定手段は、各サーバのCPU利用率、メモリ利用率、ディスクI/O数の少なくとも一つを前記サーバ負荷情報として用いる
ことを特徴とする請求項1に記載の負荷分散装置。
2. The load distribution apparatus according to claim 1, wherein the determination unit uses at least one of a CPU usage rate, a memory usage rate, and a disk I / O number of each server as the server load information.
 サーバ毎に、CPU利用率、メモリ利用率、ディスクI/O数の少なくとも一つについて閾値を設定し、前記設定された閾値の値が取得されるときのサーバの通信セッションを取得して通信セッション閾値とする手段をさらに備え、
 前記判定手段は、前記通信セッションの閾値と、各サーバについて取得した通信セッション数を比較して、前記データをいずれかのサーバへ転送するか、蓄積するかを判定する
ことを特徴とする請求項2に記載の負荷分散装置。
For each server, a threshold is set for at least one of the CPU usage rate, the memory usage rate, and the number of disk I / Os, and the communication session of the server when the set threshold value is acquired is acquired. Means further comprising a threshold,
The determination means compares the threshold value of the communication session with the number of communication sessions acquired for each server, and determines whether to transfer or store the data to any server. 2. The load balancer according to 2.
 前記判定手段は、前記データの優先度が所定値を超える場合、前記データをいずれかのサーバへ転送すると判定する
ことを特徴とする請求項1から3のいずれか1項に記載の負荷分散装置。
4. The load distribution apparatus according to claim 1, wherein the determination unit determines to transfer the data to any server when the priority of the data exceeds a predetermined value. 5. .
 前記判定手段は、前記データの優先度が所定値を超えない場合であって、前記サーバ負荷情報に基づくサーバ負荷が所定値を超える場合、前記データを蓄積すると判定する
ことを特徴とする請求項1から4のいずれか1項に記載の負荷分散装置。
The determination means determines that the data is to be accumulated when the priority of the data does not exceed a predetermined value and the server load based on the server load information exceeds a predetermined value. The load distribution apparatus according to any one of 1 to 4.
 前記蓄積手段により前記端末に送信される前記確認応答は、データが蓄積されたことを示す、
ことを特徴とする請求項1から5のいずれか1項に記載の負荷分散装置。
The confirmation response sent to the terminal by the storage means indicates that data has been stored;
The load distribution apparatus according to any one of claims 1 to 5, wherein
 前記タイミング決定手段は、前記データのデータ量、転送したデータ量、転送に要した時間に基づいてデータ転送終了時刻を算出し、前記算出したデータ転送終了時刻に基づいてサーバ負荷が所定値より小さくなる時刻を推定し、前記推定した時刻を、前記蓄積したデータをサーバへ送信するタイミングとして決定する
ことを特徴とする請求項1から6のいずれか1項に記載の負荷分散装置。
The timing determination unit calculates a data transfer end time based on the data amount of the data, the transferred data amount, and the time required for the transfer, and the server load is smaller than a predetermined value based on the calculated data transfer end time. The load balancing apparatus according to claim 1, wherein the estimated time is determined, and the estimated time is determined as a timing for transmitting the accumulated data to a server.
 前記確認応答送信手段は、前記1つ以上あるサーバのうちのいずれかのサーバへのデータ送信が完了したことを示す前記確認応答を前記端末へ送信する
ことを特徴とする請求項1から7のいずれか1項に記載の負荷分散装置。
8. The confirmation response transmitting unit transmits the confirmation response indicating that data transmission to any one of the one or more servers is completed to the terminal. The load distribution apparatus according to any one of the above.
 1つ以上あるサーバのいずれかへのデータを端末から受信し、
 サーバ負荷情報と前記データの優先度の少なくとも一方に基づいて、前記データをいずれかのサーバへ転送するか、蓄積するかを判定し、
 前記データを転送すると判定した場合、前記データをいずれかのサーバに送信し、確認応答を前記端末に送信し、
 前記データを蓄積すると判定した場合、前記データを蓄積し、確認応答を前記端末に返信し、
 前記サーバ負荷情報と通信状況に基づいて、前記蓄積されたデータをいずれかのサーバへ送信するタイミングを決定し、
 前記決定されたタイミングに基づいて前記蓄積されたデータをいずれかのサーバへ送信し、前記端末に対して確認応答を送信する
ことを特徴とする負荷分散方法。
Receive data from the terminal to any of one or more servers,
Based on at least one of server load information and the priority of the data, determine whether to transfer or store the data to any server,
If it is determined that the data is to be transferred, the data is sent to any server, an acknowledgment is sent to the terminal,
If it is determined that the data is to be stored, the data is stored and a confirmation response is returned to the terminal;
Based on the server load information and communication status, determine the timing to transmit the accumulated data to any server,
A load distribution method comprising: transmitting the accumulated data to any server based on the determined timing, and transmitting an acknowledgment to the terminal.
 コンピュータに、
 1つ以上あるサーバのいずれかへのデータを端末から受信する処理、
 サーバ負荷情報と前記データの優先度の少なくとも一方に基づいて、前記データをいずれかのサーバへ転送するか、蓄積するかを判定する判定処理、
 前記データを転送すると判定した場合、前記データをいずれかのサーバに送信し、確認応答を前記端末に送信する処理、
 前記データを蓄積すると判定した場合、前記データを蓄積し、確認応答を前記端末に返信する蓄積処理、
 前記サーバ負荷情報と通信状況に基づいて、前記蓄積されたデータをいずれかのサーバへ送信するタイミングを決定するタイミング決定処理、
 前記決定されたタイミングに基づいて前記蓄積されたデータをいずれかのサーバへ送信し、前記端末に対して確認応答を送信する確認応答送信処理
を実行させることを特徴とするプログラム。
On the computer,
Processing to receive data from a terminal to any of one or more servers,
A determination process for determining whether to transfer or store the data to any server based on at least one of server load information and the priority of the data;
When it is determined that the data is to be transferred, a process of transmitting the data to any server and transmitting an acknowledgment to the terminal;
If it is determined that the data is to be stored, the data is stored, and a storage process for returning a confirmation response to the terminal;
A timing determination process for determining a timing for transmitting the accumulated data to any server based on the server load information and the communication status;
A program that transmits the accumulated data to any server based on the determined timing, and executes an acknowledgment transmission process for transmitting an acknowledgment to the terminal.
PCT/JP2012/074149 2011-09-26 2012-09-21 Load balancing device, method and program Ceased WO2013047339A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011-208510 2011-09-26
JP2011208510 2011-09-26

Publications (1)

Publication Number Publication Date
WO2013047339A1 true WO2013047339A1 (en) 2013-04-04

Family

ID=47995371

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/074149 Ceased WO2013047339A1 (en) 2011-09-26 2012-09-21 Load balancing device, method and program

Country Status (1)

Country Link
WO (1) WO2013047339A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111966289A (en) * 2020-08-13 2020-11-20 上海哔哩哔哩科技有限公司 Partition optimization method and system based on Kafka cluster

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003208401A (en) * 2002-01-10 2003-07-25 Fujitsu Ltd Information processing system, information processing apparatus, and access distribution method
JP2006229399A (en) * 2005-02-16 2006-08-31 Nec Corp Communications system, relay node and communication method used for the same, and program thereof
JP2008040718A (en) * 2006-08-04 2008-02-21 Nippon Telegr & Teleph Corp <Ntt> Load balancing control apparatus and method
JP2008225651A (en) * 2007-03-09 2008-09-25 Nec Corp Load analysis system, method, and program

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003208401A (en) * 2002-01-10 2003-07-25 Fujitsu Ltd Information processing system, information processing apparatus, and access distribution method
JP2006229399A (en) * 2005-02-16 2006-08-31 Nec Corp Communications system, relay node and communication method used for the same, and program thereof
JP2008040718A (en) * 2006-08-04 2008-02-21 Nippon Telegr & Teleph Corp <Ntt> Load balancing control apparatus and method
JP2008225651A (en) * 2007-03-09 2008-09-25 Nec Corp Load analysis system, method, and program

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ICHIRO YAMAGUCHI ET AL.: "Kankyo Fuka Teigen ni Koken suru Sensor Actuator Kanri Platform Gijutsu", NEC TECHNICAL JOURNAL, vol. 63, no. 4, 24 December 2010 (2010-12-24), pages 59 - 63 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111966289A (en) * 2020-08-13 2020-11-20 上海哔哩哔哩科技有限公司 Partition optimization method and system based on Kafka cluster
CN111966289B (en) * 2020-08-13 2024-02-09 上海哔哩哔哩科技有限公司 Partition optimization method and system based on Kafka cluster

Similar Documents

Publication Publication Date Title
US10484464B2 (en) Connection control device, connection control system, and non-transitory computer readable medium
US20210218799A1 (en) Determining load state of remote systems using delay and packet loss rate
CN110377570B (en) Node switching method and device, computer equipment and storage medium
EP2978171A1 (en) Communication method, communication device, and communication program
US11341842B2 (en) Metering data management system and computer readable recording medium
JP4767336B2 (en) Mail server system and congestion control method
US9300561B2 (en) Business intelligence-infused smart retransmission processing
WO2013047339A1 (en) Load balancing device, method and program
US9172654B2 (en) Transfer device and transfer method
JP6851754B2 (en) Relay device, relay system, relay program, and relay method
US20170279895A1 (en) Information processing system and information processing method
CN117827973B (en) Read request scheduling method and device of distributed database and electronic equipment
JP6117345B2 (en) Message system that avoids degradation of processing performance
JP2010171557A (en) Multi-address transmission device, receiving node, multi-address transmission program and recording medium
US10523469B2 (en) Relay device and communication system
CN101547157B (en) Method, device and system for detecting overload
US9882751B2 (en) Communication system, communication controller, communication control method, and medium
CN110247808B (en) Information transmission method, device, equipment and readable storage medium
CN113965466A (en) A data transmission system with adaptive network bandwidth
US8699347B2 (en) Communication apparatus, communication system, communication method, and a computer-readable medium
CN114064404B (en) Data monitoring method, device, server and storage medium
CN120915754A (en) A message processing method and apparatus, electronic device and storage medium
JP6528768B2 (en) Communication control device, communication control method and communication control program
KR100955423B1 (en) Method, apparatus, server and vehicle system for managing buffer
JP2011100370A (en) Device, system and method for providing information

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12837428

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12837428

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP