JP2015056087A - Server load balancing method and program - Google Patents

Server load balancing method and program Download PDF

Info

Publication number
JP2015056087A
JP2015056087A JP2013189997A JP2013189997A JP2015056087A JP 2015056087 A JP2015056087 A JP 2015056087A JP 2013189997 A JP2013189997 A JP 2013189997A JP 2013189997 A JP2013189997 A JP 2013189997A JP 2015056087 A JP2015056087 A JP 2015056087A
Authority
JP
Japan
Prior art keywords
server
information
usage rate
response
information processing
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.)
Granted
Application number
JP2013189997A
Other languages
Japanese (ja)
Other versions
JP6082678B2 (en
Inventor
修太郎 川部
Shutaro Kawabe
修太郎 川部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2013189997A priority Critical patent/JP6082678B2/en
Publication of JP2015056087A publication Critical patent/JP2015056087A/en
Application granted granted Critical
Publication of JP6082678B2 publication Critical patent/JP6082678B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To determine a server which should execute information processing requested from a client, in consideration of contents of the information processing requested from the client and relations between loaded states and response times.SOLUTION: A server load balancing system includes a response record data storage unit in which contents of information processing, loaded state information, and averages (records) of response times from acceptance of requests to response to them are stored per server. The server load balancing system receives a request for information processing from a client, receives loaded state information from each of a plurality of servers, and determines a server which should execute the requested information processing on the basis of contents of information processing relating to the received request for information processing, the received loaded state information of respective servers, and information in the response record data storage unit.

Description

本発明は、複数のサーバから、リクエストされた情報処理を実施させる最適なサーバを決定するサーバ負荷分散技術に関する。   The present invention relates to a server load distribution technique for determining an optimum server for executing requested information processing from a plurality of servers.

サーバ負荷分散装置はサーバ・クライアント型のコンピュータシステムにおいて、クライアントから要求されたリクエストを同機能を持つ複数台のサーバで並列的に行うことで処理の高速化・効率化を実現する一般的なシステムであり、特に、ビックデータと呼ばれる大量のデータに関する処理の高速化・効率化のための鍵となる技術である。   A server load balancer is a general system that achieves high-speed and efficient processing in a server-client type computer system by performing requests requested by clients in parallel on a plurality of servers having the same function. In particular, it is a key technology for speeding up and improving the efficiency of a large amount of data called big data.

また、近年、センサー技術の発展により、M2M(Machine to Machine)と呼ばれる機器や装置(モノ)が搭載されたセンサーからの情報をもとに監視や制御などのサービスを提供する仕組みが注目されている。また、建築機器業界では、鉱山開発用建設機器の稼動停止時間を最低限に抑えるため、モーター、油圧計等に設置されたセンサーから収集した情報をリアルタイムに分析することで、異常や故障につながる予兆を検知し、それを回避するような制御を行うことが期待されている。   In recent years, with the development of sensor technology, a mechanism that provides services such as monitoring and control based on information from sensors equipped with devices and devices (things) called M2M (Machine to Machine) has been attracting attention. Yes. Also, in the construction equipment industry, in order to minimize the downtime of construction equipment for mine development, analyzing information collected from sensors installed in motors, hydraulic gauges, etc. in real time leads to abnormalities and failures. It is expected to detect signs and perform control to avoid them.

しかし、上記に示すような鉱山開発用建設機器の稼動停止時間を最低限に抑えるサービスを実現するためには、サーバ等の情報処理装置にて、鉱山開発現場で稼動する多数の建設機器から時々刻々と発生する大量のデータをリアルタイムで分析等の情報処理を行う必要がある。そのため、従来以上に高速で、効率的に情報処理を行えるシステムが要求される。   However, in order to realize a service for minimizing the downtime of mining development construction equipment as described above, an information processing device such as a server is sometimes used from many construction equipment operating at the mining development site. It is necessary to perform information processing such as analysis of a large amount of data generated in real time in real time. Therefore, there is a demand for a system that can perform information processing faster and more efficiently than before.

そこで、クライアントからリクエストされた情報処理にかかる応答時間に密接な関係があると考えられる情報処理の内容とサーバ負荷情報に着目し、処理実績を蓄積・分析した結果を、クライアントからリクエストされた情報処理を実施させるサーバを決定する際に活用すれば、従来のシステムより高速で、効率的な情報処理を行える可能性がある。また、この従来以上に高速で、効率的な情報処理を行えるシステムを鉱山開発用建設機器の稼動停止時間を最低限に抑えるサービスに適用すれば、従来のM2Mと比較し、異常や故障につながる予兆をより早く検知し、異常や故障を回避する確率を高める制御ができる可能性がある。   Therefore, paying attention to the information processing contents and server load information that are considered to be closely related to the response time required for the information processing requested by the client, the result of accumulating and analyzing the processing results is the information requested by the client. If it is used when determining a server to perform processing, there is a possibility that efficient information processing can be performed at a higher speed than a conventional system. Also, if this system that can process information faster and more efficiently than before is applied to a service that minimizes the downtime of construction equipment for mining development, it will lead to abnormalities and failures compared to conventional M2M. There is a possibility that control can be performed to detect a sign earlier and to increase the probability of avoiding an abnormality or failure.

関連する技術として、リアルタイムなサーバの負荷状態とクライアントからリクエストされた情報処理の内容を考慮して、情報処理を実施させる各サーバを決定し、そのサーバにリクエストされた情報処理を実施させるサーバ負荷分散技術が知られている(例えば、特許文献1参照)。   As a related technology, considering each real-time server load state and the content of the information processing requested by the client, each server that performs information processing is determined, and the server load that performs the requested information processing on that server A dispersion technique is known (see, for example, Patent Document 1).

特開2011−138202号公報JP 2011-138202 A

近年、センサー技術の発展により、M2Mと呼ばれる機器や装置(モノ)が搭載されたセンサーからの情報をもとに監視や制御などのサービスを提供する仕組みが注目されている。また、建築機器業界では、鉱山開発用建設機器の稼動停止時間を最低限に抑えるため、モーター、油圧計等に設置されたセンサーから収集した情報をリアルタイムに分析することで、異常や故障につながる予兆を検知し、それを回避するような制御を行うことが期待されている。しかし、上記に示すような鉱山開発用建設機器の稼動停止時間を最低限に抑えるサービスを実現するためには、サーバ等の情報処理装置にて、鉱山開発現場で稼動する多数の建設機器から時々刻々と発生する大量のデータをリアルタイムで分析等の情報処理を行う必要があり、従来以上に高速に応答が可能となるシステムが要求される。従来のサーバ負荷分散装置としては、特許文献1に示すようにリアルタイムなサーバの負荷状態やクライアントからリクエストされた情報処理の内容を考慮して各サーバに処理を振り分ける仕組みがあるが、クライアントからリクエストされた情報処理の内容とサーバの負荷状態と応答時間の関係を考慮しておらず、負荷状態が高くても最も応答が高速であるサーバにリクエストされた情報処理を実施させることができないといった問題がある。   In recent years, due to the development of sensor technology, a mechanism for providing services such as monitoring and control based on information from sensors equipped with devices and devices (things) called M2M has been attracting attention. Also, in the construction equipment industry, in order to minimize the downtime of construction equipment for mine development, analyzing information collected from sensors installed in motors, hydraulic gauges, etc. in real time leads to abnormalities and failures. It is expected to detect signs and perform control to avoid them. However, in order to realize a service for minimizing the downtime of mining development construction equipment as described above, an information processing device such as a server is sometimes used from many construction equipment operating at the mining development site. It is necessary to perform information processing such as analysis of a large amount of data generated in real time in real time, and a system capable of responding faster than before is required. As a conventional server load distribution device, there is a mechanism for distributing processing to each server in consideration of the real-time server load state and the information processing information requested from the client, as disclosed in Patent Document 1, but the request from the client The problem is that the requested information processing cannot be performed by the server with the fastest response even if the load state is high, without considering the relationship between the contents of the processed information, the load state of the server, and the response time. There is.

本発明は、このような事情に鑑みてなされたもので、クライアントからリクエストされた情報処理の内容とサーバの負荷状態と応答時間の関係を考慮して、クライアントからリクエストされた情報処理を実施させるサーバを決定するサーバ負荷分散方法およびプログラムを提供することを課題とする。   The present invention has been made in view of such circumstances, and performs information processing requested by a client in consideration of the contents of information processing requested from the client, the load state of the server, and the response time. It is an object of the present invention to provide a server load distribution method and program for determining a server.

本発明の代表的な一例は、次の通りである。すなわち、本発明は、複数のサーバから、クライアントからリクエストされた情報処理を実施させるサーバを決定するサーバ負荷分散装置における、サーバ負荷分散方法である。前記サーバ負荷分散装置は、各サーバごとの、情報処理の内容、負荷状態情報およびリクエストを受けてから応答するまでの応答時間の平均値(実績)を記憶する応答実績データ記憶部を具備する。そして、前記サーバ負荷分散装置により、前記クライアントから情報処理のリクエストを受信し、前記複数のサーバの各々から負荷状態情報を受信し、受信した前記情報処理のリクエスト、の情報処理の内容と、受信した前記各サーバの負荷状態情報と、前記応答実績データ記憶部の情報に基づき、前記リクエストされた情報処理を実施させるサーバを決定することを特徴とする。   A typical example of the present invention is as follows. That is, the present invention is a server load distribution method in a server load distribution apparatus that determines a server that performs information processing requested by a client from a plurality of servers. The server load distribution apparatus includes a response record data storage unit that stores information processing contents, load state information, and an average value (result) of response time from receiving a request to responding for each server. Then, the server load distribution device receives an information processing request from the client, receives load status information from each of the plurality of servers, and receives the information processing content and the received information processing request. The server that executes the requested information processing is determined based on the load status information of each server and the information in the response record data storage unit.

本発明によれば、クライアントからリクエストされた情報処理の内容とサーバの負荷状態と応答時間の関係を考慮して、クライアントからリクエストされた情報処理を実施させるサーバを決定することができる。これにより、リクエストされた情報処理を最も早く実施するものと予測されるサーバに対して、リクエストされた情報処理を実施させることができる。   According to the present invention, it is possible to determine the server that performs the information processing requested from the client in consideration of the relationship between the content of the information processing requested from the client, the load state of the server, and the response time. Accordingly, the requested information processing can be performed on the server that is predicted to perform the requested information processing earliest.

本実施形態に係るコンピュータネットワークシステム1の全体構成例を示す図である。It is a figure which shows the example of whole structure of the computer network system 1 which concerns on this embodiment. サーバ負荷分散装置16のハードウェア構成例を示す図である。FIG. 2 is a diagram illustrating a hardware configuration example of a server load distribution device 16. サーバ負荷分散装置16の各処理の構成と流れを示す図である。It is a figure which shows the structure and flow of each process of the server load distribution apparatus. サーバ負荷分散装置16が具備する処理リクエストテーブル210のデータ構成例を示す図である。It is a figure which shows the data structural example of the process request table 210 with which the server load distribution apparatus 16 is provided. サーバ負荷分散装置16が具備するリアルタイムサーバ負荷情報テーブル220のデータ構成例を示す図である。It is a figure which shows the data structural example of the real-time server load information table 220 with which the server load distribution apparatus 16 is equipped. サーバ負荷分散装置16が具備する過去の応答実績テーブル230のデータ構成例を示す図である。It is a figure which shows the example of a data structure of the past response performance table 230 which the server load distribution apparatus 16 comprises. サーバ負荷分散装置16が具備する過去の応答実績空間テーブル240のデータ構成例を示す図である。It is a figure which shows the example of a data structure of the past response performance space table 240 which the server load distribution apparatus 16 comprises. サーバ負荷分散装置16が具備する過去の応答実績空間テーブル240の概念を示す図である。It is a figure which shows the concept of the past response performance space table 240 which the server load distribution apparatus 16 comprises. サーバ負荷分散装置16が具備する現在情報・過去実績マッピング結果テーブル250のデータ構成例を示す図である。It is a figure which shows the example of a data structure of the present information and past results mapping result table 250 which the server load distribution apparatus 16 comprises. サーバ負荷分散装置16が具備する各サーバの応答時刻テーブル270のデータ構成例を示す図である。It is a figure which shows the example of a data structure of the response time table 270 of each server with which the server load distribution apparatus 16 is provided. サーバ負荷分散装置16が応答実績テーブル270のデータ構成例を示す図である。6 is a diagram illustrating an example of a data configuration of a response performance table 270 by the server load distribution device 16. FIG. サーバ負荷分散装置16が具備する処理振分け先サーバ決定機能1610全体の処理を示すフローチャートである。10 is a flowchart showing processing of the entire processing distribution destination server determination function 1610 provided in the server load distribution device 16. サーバ負荷分散装置16が処理振分け先サーバ決定機能1610のサブルーチン過去情報統計処理サブルーチンの処理を示すフローチャートである。10 is a flowchart showing processing of a subroutine past information statistical processing subroutine of the processing distribution server decision function 1610 by the server load distribution device 16. サーバ負荷分散装置16が処理振分け先サーバ決定機能1610のサブルーチン過去情報マッピングサブルーチンの処理を示すフローチャートである。15 is a flowchart showing processing of a subroutine past information mapping subroutine of the server load distribution device 16 of a process distribution destination server determination function 1610. サーバ負荷分散装置16が処理振分け先サーバ決定機能1610のサブルーチン応答実績生成・格納サブルーチンの処理を示すフローチャートである。10 is a flowchart showing processing of a subroutine response record generation / storage subroutine of the processing distribution destination server determination function 1610 by the server load distribution device 16.

以下、本発明の一実施例について、図面を参照して詳細に説明する。   Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings.

図1は、本実施例に係るコンピュータネットワークシステム1の全体構成例を示す図である。サーバ負荷分散装置16と各鉱山用建設機器10、12、14に設置されたセンサー(クライアントコンピュータ)11、13、15と、前記各鉱山用建設機器10、12、14からリクエストされた情報処理の内容に基づいて鉱山用建設機器情報の分析等の情報処理を行うサーバ(情報処理装置)17、18、19とがネットワークに接続されて構成される。サーバ負荷分散装置16は、各鉱山用建設機器10、12、14に設置されたセンサー11、13、15から受けたリクエストに対し、リクエストされた情報処理の内容および、各サーバのリアルタイムな負荷状態を過去の応答実績とマッピングすることで、最も応答時間が短いと推測されるサーバを、リクエストされた情報処理を実施させるサーバに決定する。また、サーバ負荷分散装置16は、リクエストされた情報処理を実施した結果(応答実績)をサーバから受信し、これを次の処理振分け先を決定するための過去の応答実績データとして蓄積する。   FIG. 1 is a diagram illustrating an example of the overall configuration of a computer network system 1 according to the present embodiment. The server load balancer 16 and the sensors (client computers) 11, 13, 15 installed in the mining construction devices 10, 12, 14 and the information processing requested by the mining construction devices 10, 12, 14 Servers (information processing devices) 17, 18, and 19 that perform information processing such as analysis of mining construction equipment information based on the contents are connected to a network. The server load balancer 16 responds to requests received from the sensors 11, 13, and 15 installed in the mining construction devices 10, 12, and 14, and details of requested information processing and real-time load status of each server Is mapped to the past response record, and the server that is estimated to have the shortest response time is determined as the server that performs the requested information processing. Further, the server load balancer 16 receives the result (response history) of the requested information processing from the server, and accumulates it as past response history data for determining the next processing distribution destination.

図2はサーバ負荷分散装置16のハードウェア構成例を示す図である。サーバ負荷分散装置16は、一般的なコンピュータにより実現でき、制御部(CPU)160と記憶部161にプログラム1610として処理振分け先サーバ決定機能1611と、入力部162と、通信部163を、具備する。また、記憶部161は、処理振分け先サーバ決定機能1611と過去の応答実績蓄積データベース1612を具備する。なお、プログラムは、あらかじめ記憶装置161に格納されていても良いし、コンピュータが利用可能な可搬性を有する記憶媒体に格納しておき、図示していない読取装置を介して必要に応じて読み出されても良いし、あるいは、コンピュータが利用可能な通信媒体であるネットワークと接続された他の装置から必要に応じてダウンロードされて記憶装置161に格納されるものであっても良い。   FIG. 2 is a diagram illustrating a hardware configuration example of the server load distribution device 16. The server load balancer 16 can be realized by a general computer, and includes a processing allocation server determination function 1611 as a program 1610 in a control unit (CPU) 160 and a storage unit 161, an input unit 162, and a communication unit 163. . The storage unit 161 also includes a processing distribution destination server determination function 1611 and a past response record accumulation database 1612. The program may be stored in advance in the storage device 161, or stored in a portable storage medium that can be used by a computer, and read out as necessary via a reading device (not shown). Alternatively, it may be downloaded as necessary from another device connected to a network, which is a communication medium that can be used by a computer, and stored in the storage device 161.

図3は、サーバ負荷分散装置16の各処理の構成と流れを示す図である。リクエスト受信処理21は、図2に示す処理振分け先サーバ決定機能1611上で動作し、各鉱山用建設機器に取り付けられたセンサーから送信されたリクエストの内容をもとに、図4に示す処理リクエストテーブル210を生成する処理である。処理リクエストテーブル210は、主キーとして各鉱山用建設機器からのリクエスト内容で、処理待ちとなっているリクエストを一意に識別するための処理ID211と、その他の列としてリクエストを送信してきた建設機器を識別するための建設機器ID212と、リクエストを受信した時刻213と、建設機器稼動情報214と、各鉱山用建設機器がリクエストした処理内容215を記憶する。   FIG. 3 is a diagram showing the configuration and flow of each process of the server load distribution device 16. The request reception processing 21 operates on the processing distribution destination server determination function 1611 shown in FIG. 2, and based on the content of the request transmitted from the sensor attached to each mine construction equipment, the processing request shown in FIG. This is processing for generating the table 210. The processing request table 210 includes a processing ID 211 for uniquely identifying a request waiting for processing as a main key, and a construction device that has transmitted the request as another column. The construction equipment ID 212 for identifying, the time 213 when the request is received, the construction equipment operation information 214, and the processing content 215 requested by each mine construction equipment are stored.

サーバ負荷状態受信処理22は、図2に示す処理振分け先サーバ選択機能1611上で動作し、各サーバからリアルタイムなサーバ負荷状態情報として、例えば、CPU使用率、メモリ使用率、ディスク使用率を取得し、図5に示すリアルタイムサーバ負荷情報テーブル220を生成する処理である。リアルタイムサーバ負荷情報テーブル220は、主キーとして、日時211とサーバ名212を、その他の列として、例えば、CPU使用率213、メモリ使用率214、ディスク使用率215をリアルタイムなサーバ負荷状態情報として記憶する。なお、サーバ負荷状態情報は、CPU使用率、メモリ使用率、ディスク使用率の何れかの組み合わせであっても良いし、CPU使用率、メモリ使用率、ディスク使用率以外のパラメータを含めても良い。   The server load state reception process 22 operates on the processing distribution destination server selection function 1611 shown in FIG. 2, and acquires, for example, CPU usage rate, memory usage rate, and disk usage rate as real-time server load status information from each server. The real-time server load information table 220 shown in FIG. The real-time server load information table 220 stores the date and time 211 and the server name 212 as primary keys, and other columns such as the CPU usage rate 213, the memory usage rate 214, and the disk usage rate 215 as real-time server load status information. To do. The server load state information may be any combination of the CPU usage rate, the memory usage rate, and the disk usage rate, and may include parameters other than the CPU usage rate, the memory usage rate, and the disk usage rate. .

過去の応答実績統計処理23は、図2に示す処理振分け先サーバ決定機能1611上で動作し、図6に示す過去の応答実績蓄積データベース1612内の過去の応答実績テーブル230からサーバ名232および、処理内容233をキーに取り出した過去の実績から図7に示す過去の応答実績空間テーブル240を生成する処理である。応答実績空間テーブル240は、主キーとして、サーバ名241、処理内容242、CPU使用率の程度を示すCPU使用率レベル243、メモリ使用率の程度を示すメモリ使用率レベル244、ディスク使用率の程度を示すディスク使用率レベル245を、その他の列として該当分割区間の平均応答時間246を記憶する。ここで、各サーバの負荷状態のレベル(CPU使用率レベル243、メモリ使用率レベル244、ディスク使用率レベル245)に関して、概念図を図8に示す。各サーバの負荷状態のレベルとは、CPU使用率とメモリ使用率とディスク使用率から生成される直方体状の空間をCPU使用率に関してi等分、メモリ使用率に関してj等分、ディスク使用率に関してk等分、全体としてi×j×k個の立体(例えば、直方体)状の箱に分割したときにどこの箱に属するか示すものである。また、該当分割区間のサーバの平均応答時間246は、前記i×j×k個に分割された直方体状の空間ごとに該当空間のサーバの応答時間の平均値を計算することで算出される。このi、j、kを図1に示すように符号10−19の機器等が接続されたシステム単位で任意に定める理由は、図1に示すように符号10−19の機器等が接続されたシステムの構成によって、応答時間に影響しうる各サーバ負荷状態を示すパラメータは異なるためである。例えば、処理振分け先サーバ17−19として一般的なWEB/APサーバを考えた場合では、ディスク使用率よりCPU使用率が応答時間に影響すると考えられる。この場合、CPU使用率は10分割し(i=10)、ディスク使用率は分割しない(k=1)ことで、WEB/APサーバの応答時間に強く影響すると考えられるCPU使用率の負荷状況を重視して、処理を振り分けることが可能となる。逆に、処理振分け先サーバ17−19として一般的なデータベースサーバを考えた場合では、データベースサーバの応答時間には、ディスク使用率も大きく影響すると考えられる。この場合、CPU使用率は10分割し(i=10)、ディスク使用率も10分割し(k=10)することで、CPU使用率と同程度にディスク使用率の状態も重視して処理を振り分けることが可能となる。   The past response record statistics process 23 operates on the processing distribution destination server determination function 1611 shown in FIG. 2, and the server name 232 and the past response record table 230 in the past response record storage database 1612 shown in FIG. This is a process of generating the past response record space table 240 shown in FIG. 7 from the past record obtained by using the process contents 233 as a key. The response result space table 240 includes, as main keys, a server name 241, processing contents 242, a CPU usage level 243 indicating the level of CPU usage, a memory usage level 244 indicating the level of memory usage, and a level of disk usage. Is stored, and the average response time 246 of the corresponding divided section is stored as other columns. Here, FIG. 8 shows a conceptual diagram regarding the load level (CPU usage rate level 243, memory usage rate level 244, disk usage rate level 245) of each server. The load state level of each server is a rectangular parallelepiped space generated from the CPU usage rate, the memory usage rate, and the disk usage rate. The CPU usage rate is equally divided into i, the memory usage rate is divided into j, and the disk usage rate is related. It shows which box belongs when divided into k × equally, i × j × k solid (for example, rectangular parallelepiped) boxes as a whole. Further, the average response time 246 of the server in the corresponding divided section is calculated by calculating the average value of the response time of the server in the corresponding space for each of the cuboid spaces divided into the i × j × k. The reason why the i, j, and k are arbitrarily determined in the system unit to which the device 10-19 is connected as shown in FIG. 1 is that the device 10-19 is connected as shown in FIG. This is because parameters indicating each server load state that can affect the response time differ depending on the system configuration. For example, when a general WEB / AP server is considered as the processing distribution destination server 17-19, it is considered that the CPU usage rate affects the response time rather than the disk usage rate. In this case, the CPU usage rate is divided into 10 (i = 10) and the disk usage rate is not divided (k = 1), so that the load status of the CPU usage rate, which is considered to strongly influence the response time of the WEB / AP server, is determined. It is possible to assign processing with importance. Conversely, when a general database server is considered as the processing distribution destination server 17-19, it is considered that the disk usage rate also greatly affects the response time of the database server. In this case, the CPU usage rate is divided into 10 (i = 10) and the disk usage rate is also divided into 10 (k = 10), so that processing is performed with the same importance as the disk usage rate. It becomes possible to distribute.

また、例えば、連結しているデータベースサーバに対して、発行したSQL文の結果の大部分をメモリに展開するようなアプリケーションを実装しているWEB/APサーバ群を処理振分け先サーバ17−19として持つシステム構成Aと、連結しているデータベースサーバに対して、発行したSQL文のごく一部のデータのみメモリに展開するようなアプリケーションを実装しているWEB/APサーバ群を処理振分け先サーバ17−19として持つシステム構成Bを考える。この場合、システム構成Aにおいて処理分散するときの方が、システム構成Bにおいて処理分散するときより各WEB/APサーバのメモリ使用率に関して考慮する必要があるので、システム構成Bではj=2とし、メモリ使用率が50%を超えていなければそこまで問題視しないが、システム構成Aではj=10とし、より感度を上げて処理を振り分けるか否か判断するなどの調整が可能である。   Further, for example, a WEB / AP server group that implements an application that expands most of the results of the issued SQL statement to a memory for a linked database server is set as a processing distribution destination server 17-19. The server allocating server 17 is a WEB / AP server group in which an application that expands only a part of the data of the issued SQL statement to the memory is connected to the system configuration A and the linked database server. Consider system configuration B as -19. In this case, when processing is distributed in the system configuration A, it is necessary to consider the memory usage rate of each WEB / AP server than when processing is distributed in the system configuration B. Therefore, in the system configuration B, j = 2. If the memory usage rate does not exceed 50%, there is no problem so far. However, in the system configuration A, it is possible to make adjustments such as j = 10 and determining whether to distribute the processing with higher sensitivity.

現在情報・過去の応答実績マッピング処理24は、図2に示す処理振分け先サーバ決定機能1611上で動作し、処理リクエストテーブル210と、リアルタイムサーバ負荷情報テーブル220と、応答実績空間テーブル240をリクエストの処理内容、サーバ名、CPU使用率レベル、メモリ使用率レベル、ディスク使用率レベルをキーにマッピングすることで、図9に示す現在情報・過去実績マッピング結果テーブル250を生成する処理である。現在情報・過去実績マッピング結果テーブル250は、主キーとして処理ID251、サーバ名252を、その他の列として、日時253と、処理内容254と、CPU使用率レベル255と、メモリ使用率レベル256と、ディスク使用率レベル257と、該当分割区間の平均応答時間258を記憶する。前記現在情報・過去実績マッピング結果テーブル250により、該当処理をどのサーバで実行したら、どのぐらい応答時間がかかるのかが予測できる。このように、現在情報・過去の応答実績マッピング処理24により、リアルタイムなリクエストの処理内容とリアルタイムな各サーバの負荷状態をサーバ負荷状態空間で該当する分割された箱とマッピングすることで、リアルタイムなリクエストの処理に対し、どの程度応答時間がかかるのか予測できる。   The current information / past response record mapping process 24 operates on the process distribution destination server determination function 1611 shown in FIG. 2, and requests the process request table 210, the real-time server load information table 220, and the response record space table 240. This is a process of generating the current information / past performance mapping result table 250 shown in FIG. 9 by mapping the processing contents, server name, CPU usage level, memory usage level, and disk usage level to keys. The current information / past performance mapping result table 250 includes a processing ID 251 and a server name 252 as primary keys, a date and time 253, a processing content 254, a CPU usage rate level 255, a memory usage rate level 256 as other columns, The disk usage rate level 257 and the average response time 258 of the corresponding divided section are stored. Based on the current information / past performance mapping result table 250, it can be predicted how long the response time will be required when the corresponding process is executed on which server. As described above, the real-time request processing contents and the real-time load state of each server are mapped to the corresponding divided boxes in the server load state space by the current information / past response actual result mapping process 24, thereby realizing real-time You can predict how long it will take to respond to a request.

処理振分け先サーバ決定処理25は、図2に示す処理振分け先サーバ決定機能1611上で動作し、前記現在情報・過去実績マッピング結果テーブル250から、処理ID251とサーバ名252をキーに該当分割区間の平均応答時間258を取り出し、該当分割区間の平均応答時間258の比較結果から最も応答時間が短いと考えられるサーバで、処理を実行するようにリクエスト受信処理21で処理振分け待ちリクエストを格納しているキューからリクエストを取り出し処理を実行する。これにより、処理内容を最も早く処理すると予想されるサーバに処理が振り分けられる。   The process allocation destination server determination process 25 operates on the process allocation destination server determination function 1611 shown in FIG. 2 and uses the process ID 251 and the server name 252 as keys from the current information / past performance mapping result table 250. The average response time 258 is taken out, and the request receiving process 21 stores a process distribution waiting request so that the process is executed on the server considered to have the shortest response time from the comparison result of the average response time 258 of the corresponding divided section. Retrieve the request from the queue and execute the process. As a result, the processing is distributed to the server that is expected to process the processing contents earliest.

応答情報受信処理26は、図2に示す処理振分け先サーバ決定機能1611上で動作し、前記処理振分け先サーバ決定処理25の通知結果に基づき該当処理振分け先サーバで実行された結果を取得し、図10に示す各サーバの応答時刻テーブル260を生成する処理である。前記応答時刻テーブル260は、主キーとして処理ID261を、その他の列としてサーバ名262と、処理内容263と、処理したときのサーバの負荷状態情報としてCPU使用率263と、メモリ使用率264と、ディスク使用率265を、サーバが処理を完了し、リクエストに対して応答を返した応答時刻266を記憶する。   The response information reception process 26 operates on the process allocation destination server determination function 1611 shown in FIG. 2, acquires the result executed by the corresponding process allocation destination server based on the notification result of the process allocation destination server determination process 25, It is a process which produces | generates the response time table 260 of each server shown in FIG. The response time table 260 includes a processing ID 261 as a primary key, a server name 262 as other columns, a processing content 263, a CPU usage rate 263 as a load status information of the server when processing, a memory usage rate 264, The disk usage rate 265 is stored as a response time 266 when the server completes the process and returns a response to the request.

応答実績生成処理27は、図2に示す処理振分け先サーバ決定機能1611上で動作し、処理リクエストテーブル210と応答時刻テーブル260から処理IDをキーに該当処理にかかった応答時間を計算し、図11に示す応答実績テーブル270を生成する処理である。応答実績テーブル270は、主キーとして、日時271と、サーバ名272と、処理内容273を、その他の列として該当処理を行っていたときのCPU使用率274と、メモリ使用率275と、ディスク使用率276を、該当処理にかかった応答時間277を記憶する。   The response record generation process 27 operates on the process distribution destination server determination function 1611 shown in FIG. 2, calculates the response time required for the corresponding process from the process request table 210 and the response time table 260 using the process ID as a key. 11 is a process of generating a response record table 270 shown in FIG. The response record table 270 includes the date / time 271, the server name 272, and the processing content 273 as the main key, the CPU usage rate 274 when the corresponding processing is performed as the other columns, the memory usage rate 275, and the disk usage rate. The response time 277 required for the corresponding process is stored as the rate 276.

応答実績格納処理28は、図2に示す処理振分け先サーバ決定機能1611上で動作し、前記応答実績生成処理27で生成された応答実績テーブル270を図2に示した過去の応答実績蓄積データベース1612に格納する処理である。   The response record storage process 28 operates on the process assignment destination server determination function 1611 shown in FIG. 2, and the response record table 270 generated by the response record generation process 27 is stored in the past response record storage database 1612 shown in FIG. It is a process to store in.

図12は、サーバ負荷分散装置16が具備する処理振分け先サーバ決定機能1611の処理全体を示すフローチャートである。処理振分け先サーバ決定機能1611は、リクエスト受信処理(ステップS100)により開始され、各鉱山用建設機器に取り付けられたセンサーから送信された建設機器ID212、リクエスト時刻213、建設機器稼動情報214、処理内容215に処理を実行待ちしている処理を一意に識別する処理ID211を付与して、処理リクエストテーブル210を生成する(今回の例では、レコード2101、2102を有する)。次に、サーバ負荷状態受信処理(ステップS101)では、リクエストを処理するサーバ17、18、19から取得した日時221、サーバ名222、CPU使用率223、メモリ使用率224、ディスク使用率225からリアルタイムサーバ負荷状態情報テーブル220(今回の例では、レコード2201、2202、2203を有する)を生成する。過去の稼動情報統計処理サブルーチン(ステップS102)の全体のフローチャートを、図13に示す。過去の応答実績取得処理(ステップS200)では、過去の応答実績蓄積データベース1612から過去の応答実績テーブル230を取得する(今回の例では、レコード2301〜230Cを有する)。過去のCPU使用率レベルC計算処理(ステップS201)では、過去の応答実績テーブル230のCPU使用率cから、以下の計算式により、過去のCPU使用率レベルCを前記過去の応答実績テーブル230の各レコードごとに算出する(レコード2301〜レコード230Cごとにそれぞれ算出する)。
C=[c/i]
ここで、i≠0(今回の例では、10)はユーザが任意に定めたCPU使用率を分割する細かさを表す整数であり、[c/i]は、cをiで割ったときの値を小数点第一位で四捨五入した値を意味する。例えば、過去の応答実績テーブル230のレコード2301では、CPU使用率234が12%のため過去のCPU使用率レベルC=[12/10]=[1.2]=1である。過去のメモリ使用率レベルM計算処理(ステップS202)では、過去の応答実績テーブル230のメモリ使用率mから以下の計算式によりMを前記過去の応答実績テーブル230の各レコードごとに算出する(レコード2301〜レコード230Cごとにそれぞれ算出する)。
M=[m/j]
ここで、j≠0(今回の例では、10)はユーザが任意に定めたメモリ使用率を分割する細かさを表す整数であり、[m/j]は、mをjで割ったときの値を小数点第一位で四捨五入した値を意味する。例えば、過去の応答実績テーブル230のレコード2302では、メモリ使用率235が19%のため過去のメモリ使用率レベルM=[19/10]=[1.9]=2である。過去のディスク使用率レベルD計算処理(ステップS203)では、過去の応答実績テーブル230のディスク使用率dから以下の計算式により過去のディスク使用率レベルDを前記過去の応答実績テーブル230の各レコードごとに算出する(レコード2301〜レコード230Cごとにそれぞれ算出する)。
D=[d/k]
ここで、k≠0(今回の例では、10)はユーザが任意に定めたディスク使用率を分割する細かさを表す整数であり、[d/k]は、dをkで割ったときの値を小数点第一位で四捨五入した値を意味する。例えば、過去の応答実績テーブル230のレコード2303では、ディスク使用率236が13%のためディスク使用率レベルD=[13/10]=[1.3]=1である。分割された箱ごとの平均応答時間計算処理(ステップS204)では、各処理内容、サーバ名および、過去の応答実績テーブル230から前記CPU使用率レベルC計算処理(ステップS201)で求めた過去のCPU使用率レベルC、過去の応答実績テーブル230から前記メモリ使用率レベルM計算処理(ステップS202)で求めた過去のメモリ使用率レベルM、過去の応答実績テーブル230から過去のディスク使用率レベルD計算処理(ステップS203)で求めた過去のディスク使用率レベルDをキーに平均応答時間を算出する。例えば、前記CPU使用率レベルC計算処理(ステップS201)、前記メモリ使用率レベルM計算処理(ステップS202)、過去のディスク使用率レベルD計算処理(ステップS203)により、サーバAで、平均値計算処理をCPU使用率レベル1、メモリ使用率レベル1、ディスク使用率レベル1で処理した時の過去の応答実績テーブル230の実績レコードは、レコード2301と2303であることが分かる。よって、過去の応答実績空間テーブル240のレコード2401における該当分割区間の平均応答時間246の値は、(5+7)/2=6となる。また、前記CPU使用率レベルC計算処理(ステップS201)、前記メモリ使用率レベルM計算処理(ステップS202)、過去のディスク使用率レベルD計算処理(ステップS203)により、サーバBで、異常検知処理をCPU使用率レベル1、メモリ使用率レベル2、ディスク使用率レベル1で処理した時の過去の応答実績テーブル230の実績レコードは、レコード2306のみであることが分かるである。よって、過去の応答実績空間テーブル240のレコード2405における該当分割区間の平均応答時間246の値は、60/1=60となる。過去の稼動情報統計処理サブルーチン(ステップS102)では、前記過去の応答実績取得処理(ステップS200)〜前記分割された箱ごとの平均応答時間計算処理(ステップS204)により、過去の応答実績空間テーブル240を生成する。現在情報・過去実績マッピング処理サブルーチン(ステップS103)の全体のフローチャートを、図14に示す。現在のCPU使用率レベルC計算処理(ステップS301)では、リアルタイムサーバ負荷状態情報テーブル220のCPU使用率cから過去のCPU使用率レベルC計算処理(ステップS201)と同様の計算式によりCを算出する。例えば、リアルタイムサーバ負荷状態情報テーブル220のレコード2201では、現在のCPU使用率レベルCは、C=[10/10]=1となる。現在のメモリ使用率レベルM計算処理(ステップS302)では、リアルタイムサーバ負荷状態情報テーブル220のメモリ使用率mから過去のメモリ使用率レベルM計算処理(ステップS202)と同様の計算式によりMを算出する。例えば、リアルタイムサーバ負荷状態情報テーブル220のレコード2202では、現在のメモリ使用率レベルMは、M=[20/10]=2となる。現在のディスク使用率レベルD計算処理(ステップS303)では、リアルタイムサーバ負荷状態情報テーブル220のディスク使用率dから過去のディスク使用率レベルD計算処理(ステップS203)と同様の計算式によりDを算出する。例えば、リアルタイムサーバ負荷情報テーブル220のレコード2203では、現在のディスク使用率レベルDは、D=[30/10]=3となる。現在情報と過去情報マッピング処理(ステップS303)では、処理リクエストテーブル210とリアルタイムサーバ負荷状態情報テーブル220と過去の応答実績空間テーブル240をサーバ名、処理内容、CPU使用率レベル、メモリ使用率レベル、ディスク使用率レベルをキーにマッピング処理することで、現在情報・過去実績マッピング結果テーブル250を生成する処理である。このマッピング処理では、まず、処理リクエストテーブル210とリアルタイムサーバ負荷状態情報テーブル220に対し、単純な結合処理(join)を実施する。この結合処理で、リクエスト処理の個数×サーバの個数個のレコードが生成される。例えば、処理リクエストテーブル210、リアルタイムサーバ負荷状態情報テーブル220の例では、処理が処理ID10000と処理ID10001の二つ、サーバがサーバA、サーバB、サーバCの3つのため2×3=6レコードとなる。次に、処理リクエストテーブル210、リアルタイムサーバ負荷状態情報テーブル220の結合処理結果に対し、過去の応答実績空間テーブル240を処理内容、サーバ名、CPU使用率レベル、メモリ使用率レベル、ディスク使用率レベルをキーに結合処理(join)を実施することで現在情報・過去実績マッピング結果テーブル250を生成する。例えば、現在情報・過去実績マッピング結果テーブル250のレコード2501を考える。この例では、平均値計算処理を現在、CPU使用率レベルが1、メモリ使用率レベルが1、ディスク使用率レベルが1であるサーバAで実行した場合、過去どのぐらい応答時間を要したかを算出している。処理リクエストテーブル210のレコード2101で示される処理内容が平均値計算であり、リアルタイムサーバ負荷状態情報テーブル220のレコード2201のサーバAのCPU使用率レベルが1、メモリ使用率レベルが1、ディスク使用率レベルが1であることから、過去の応答実績空間テーブル240において、処理内容、サーバ名、CPU使用率レベル、メモリ使用率レベル、ディスク使用率レベルが一致するレコード2401がマッピングされる。このマッピングの結果、現在情報・過去実績マッピング結果テーブル250のレコード2501が生成される。また、処理リクエストテーブル210のレコードとリアルタイムサーバ負荷状態情報テーブル220のレコードの処理内容、サーバ名、CPU使用率レベル、メモリ使用率レベル、ディスク使用率レベルで、過去の応答実績空間テーブル240のレコードの処理内容、サーバ名、CPU使用率レベル、メモリ使用率レベル、ディスク使用率レベルと一致するものが無い場合は、現在情報・過去実績マッピング結果テーブル250のレコード2502のように、該当分割区間の平均応答時間にマッピング不能とする。ただし、マッピング不能な場合、応答時間実績として0とすることで、積極的に応答時間実績を蓄積していく方式とする。処理振分け先サーバ決定処理(ステップS104)では、現在情報・過去実績マッピング結果テーブル250の結果から処理ID251をキーにレコードを取り出し、該当分割区間の平均応答時間258が最も速いサーバで、処理を実行するようにリクエスト受信処理21で処理振分け待ちを格納しているキューに通知する。例えば、現在情報・過去実績マッピング結果テーブル250の処理ID10001では、レコード2504からサーバAで実行した場合は、該当分割区間の平均応答時間が6秒、レコード2505からサーバBで実行した場合は、該当分割区間の平均応答時間が12秒、レコード2506からサーバCで実行した場合は、該当分割区間の平均応答時間が18秒と算出されたことから、処理ID1001に関して、該当分割区間の平均応答時間が最も短いサーバAでの実行要求をリクエスト受信処理21で処理振分け待ちを格納しているキューに通知する。また、現在情報・過去実績マッピング結果テーブル250の処理ID10000では、レコード2501からサーバAで実行した場合は、該当分割区間の平均応答時間が30秒、レコード2502からサーバBで実行した場合は、該当分割区間の平均応答時間が0秒(マッピング不能)、レコード2503からサーバCで実行した場合は、該当分割区間の平均応答時間が0秒(マッピング不能)と算出されたことから、サーバBでの実行をリクエスト受信処理21で処理振分け待ちを格納しているキューに通知する(該当分割区間の平均応答時間が同じ場合は、サーバ名の昇順に振分け先を決定する)。応答実績生成・格納サブルーチン(ステップS105)の全体のフローチャートを、図15に示す。応答情報受信処理(ステップS400)では、処理振分け先サーバ処理(ステップS104)で振り分けられた処理をサーバ17、18、19で処理した結果を示す各サーバの応答時刻テーブル260を生成する処理である。例えば、レコード2601は、処理ID10000が、サーバAで、異常検知を、CPU使用率10%、メモリ使用率10%、ディスク使用率10%の状態で実行され、2013/1/21 10:02:00にサーバAから処理結果を応答したことを示している。応答実績生成処理(ステップS401)では、処理リクエストテーブル210と各サーバの応答時刻テーブル260を処理IDをキーに応答実績を算出する処理である。例えば、処理ID10000の応答時間は、処理リクエストテーブル210の処理ID10000のレコード2101のリクエスト時2013/1/21 10:00:00から各サーバの応答時刻テーブル260の処理ID10000のレコード2601の応答時刻2013/1/21 10:02:00の差の120秒を応答時間として、応答実績テーブル270にレコード2701の形式で格納する。応答実績格納処理(ステップS402)では、過去の応答実績蓄積データベース1612に、前記応答実績生成処理(ステップS401)で生成した応答実績レコードを格納する処理である。
FIG. 12 is a flowchart showing the entire processing of the processing distribution destination server determination function 1611 provided in the server load distribution device 16. The process distribution destination server determination function 1611 is started by the request reception process (step S100), and the construction equipment ID 212, the request time 213, the construction equipment operation information 214, and the processing contents transmitted from the sensor attached to each mine construction equipment. The process request table 210 is generated by assigning a process ID 211 that uniquely identifies the process awaiting execution to the process 215 (in this example, the records 2101 and 2102 are included). Next, in the server load state reception process (step S101), real time is obtained from the date and time 221, the server name 222, the CPU usage rate 223, the memory usage rate 224, and the disk usage rate 225 acquired from the servers 17, 18, and 19 that process the request. A server load state information table 220 (in this example, records 2201, 2202, and 2203 are generated) is generated. An overall flowchart of the past operation information statistical processing subroutine (step S102) is shown in FIG. In the past response record acquisition process (step S200), the past response record table 230 is acquired from the past response record storage database 1612 (in this example, records 2301 to 230C are included). In the past CPU usage level C calculation process (step S201), the past CPU usage level C is calculated from the CPU usage rate c in the past response record table 230 by the following formula. Calculate for each record (calculate for each record 2301 to record 230C).
C = [c / i]
Here, i ≠ 0 (10 in this example) is an integer representing the fineness of dividing the CPU usage rate arbitrarily determined by the user, and [c / i] is the value obtained when c is divided by i. It means the value rounded to the first decimal place. For example, in the record 2301 of the past response record table 230, since the CPU usage rate 234 is 12%, the past CPU usage rate level C = [12/10] = [1.2] = 1. In the past memory usage level M calculation process (step S202), M is calculated for each record of the past response record table 230 from the memory use rate m of the past response record table 230 by the following formula (record). 2301 to 230C for each record).
M = [m / j]
Here, j ≠ 0 (10 in this example) is an integer representing the fineness of dividing the memory usage rate arbitrarily determined by the user, and [m / j] is the value obtained when m is divided by j. It means the value rounded to the first decimal place. For example, in the record 2302 of the past response record table 230, since the memory usage rate 235 is 19%, the past memory usage rate level M = [19/10] = [1.9] = 2. In the past disk usage level D calculation process (step S203), the past disk usage level D is calculated from the disk usage rate d of the past response record table 230 by the following formula, and each record of the past response record table 230 is recorded. (Each record 2301 to record 230C is calculated).
D = [d / k]
Here, k ≠ 0 (10 in this example) is an integer representing the fineness of dividing the disk usage rate arbitrarily determined by the user, and [d / k] is the value obtained when d is divided by k. It means the value rounded to the first decimal place. For example, in the record 2303 of the past response record table 230, since the disk usage rate 236 is 13%, the disk usage rate level D = [13/10] = [1.3] = 1. In the average response time calculation process (step S204) for each divided box, the past CPU obtained in the CPU usage level C calculation process (step S201) from each process content, server name, and past response record table 230. Usage rate level C, past memory usage level M calculated by the memory usage level M calculation processing (step S202) from the past response record table 230, and past disk usage level D calculation from the past response record table 230 The average response time is calculated using the past disk usage rate level D obtained in the process (step S203) as a key. For example, the server A calculates the average value by the CPU usage level C calculation process (step S201), the memory usage level M calculation process (step S202), and the past disk usage level D calculation process (step S203). It can be seen that the record records of the past response record table 230 when records are processed at the CPU usage rate level 1, the memory usage rate level 1, and the disk usage rate level 1 are records 2301 and 2303. Therefore, the value of the average response time 246 of the corresponding divided section in the record 2401 of the past response record space table 240 is (5 + 7) / 2 = 6. Further, the server B performs an abnormality detection process by the CPU usage level C calculation process (step S201), the memory usage level M calculation process (step S202), and the past disk usage level D calculation process (step S203). It can be seen that the record 2306 is the only actual record in the past response record table 230 when processing is performed at the CPU usage rate level 1, the memory usage rate level 2, and the disk usage rate level 1. Therefore, the value of the average response time 246 of the corresponding divided section in the record 2405 of the past response record space table 240 is 60/1 = 60. In the past operation information statistical processing subroutine (step S102), the past response record space table 240 is obtained by the past response record acquisition process (step S200) to the average response time calculation process (step S204) for each of the divided boxes. Is generated. FIG. 14 shows an overall flowchart of the current information / past performance mapping processing subroutine (step S103). In the current CPU usage level C calculation process (step S301), C is calculated from the CPU usage rate c in the real-time server load state information table 220 by the same formula as in the past CPU usage level C calculation process (step S201). To do. For example, in the record 2201 of the real-time server load state information table 220, the current CPU usage rate level C is C = [10/10] = 1. In the current memory usage rate level M calculation process (step S302), M is calculated from the memory usage rate m in the real-time server load state information table 220 by the same formula as in the past memory usage level M calculation process (step S202). To do. For example, in the record 2202 of the real-time server load state information table 220, the current memory usage level M is M = [20/10] = 2. In the current disk usage rate level D calculation process (step S303), D is calculated from the disk usage rate d in the real-time server load state information table 220 by the same calculation formula as the past disk usage level D calculation process (step S203). To do. For example, in the record 2203 of the real-time server load information table 220, the current disk usage rate level D is D = [30/10] = 3. In the current information and past information mapping process (step S303), the process request table 210, the real-time server load state information table 220, and the past response record space table 240 are stored in the server name, processing content, CPU usage level, memory usage level, This is a process for generating the current information / past performance mapping result table 250 by performing the mapping process using the disk usage rate level as a key. In this mapping process, first, a simple join process (join) is performed on the process request table 210 and the real-time server load state information table 220. In this combination processing, the number of requests processing times the number of servers is generated. For example, in the example of the processing request table 210 and the real-time server load state information table 220, since the processing is two processing IDs 10000 and 10001, and the servers are server A, server B, and server C, 2 × 3 = 6 records. Become. Next, with respect to the combined processing results of the processing request table 210 and the real-time server load state information table 220, the past response result space table 240 is processed, the server name, the CPU usage level, the memory usage level, and the disk usage rate level. The current information / past performance mapping result table 250 is generated by performing a join process (join) using as a key. For example, consider the record 2501 of the current information / past performance mapping result table 250. In this example, when the average value calculation process is currently executed on the server A having the CPU usage rate level 1, the memory usage rate level 1, and the disk usage rate level 1, how much response time has been required in the past. Calculated. The processing content indicated by the record 2101 of the processing request table 210 is the average value calculation, the CPU usage level of the server A of the record 2201 of the real-time server load state information table 220 is 1, the memory usage level is 1, and the disk usage rate Since the level is 1, in the past response record space table 240, a record 2401 having the same processing content, server name, CPU usage rate level, memory usage rate level, and disk usage rate level is mapped. As a result of this mapping, a record 2501 of the current information / past performance mapping result table 250 is generated. Also, records of the past response record space table 240 with the processing contents of the records of the processing request table 210 and the records of the real-time server load state information table 220, the server name, the CPU usage rate level, the memory usage rate level, and the disk usage rate level. If there is nothing that matches the processing content, server name, CPU usage rate, memory usage level, and disk usage rate level, as shown in the record 2502 of the current information / past performance mapping result table 250, Cannot be mapped to average response time. However, when mapping is impossible, the response time results are positively accumulated by setting the response time results to 0. In the process assignment destination server determination process (step S104), a record is extracted from the result of the current information / past performance mapping result table 250 using the process ID 251 as a key, and the process is executed on the server having the fastest average response time 258 in the corresponding divided section. The request reception process 21 notifies the queue storing the process distribution waiting. For example, in the process ID 10001 of the current information / past performance mapping result table 250, when executed from the record 2504 on the server A, the average response time of the corresponding divided section is 6 seconds, and when executed on the server B from the record 2505, When the average response time of the divided section is 12 seconds and the server 2 C executes from the record 2506, the average response time of the corresponding divided section is calculated as 18 seconds. An execution request at the shortest server A is notified to the queue storing the process distribution waiting by the request reception process 21. Also, in the process ID 10000 of the current information / past performance mapping result table 250, when executed from the record 2501 on the server A, the average response time of the corresponding divided section is 30 seconds, and when executed on the server 250 from the record 2502, If the average response time of the divided section is 0 seconds (mapping is impossible), and the record 2503 is executed on the server C, the average response time of the corresponding divided section is calculated as 0 seconds (mapping is impossible). Execution is notified to the queue storing the process distribution waiting in the request reception process 21 (if the average response time of the corresponding divided section is the same, the distribution destination is determined in ascending order of the server name). FIG. 15 shows an overall flowchart of the response record generation / storage subroutine (step S105). The response information reception process (step S400) is a process of generating a response time table 260 of each server indicating the result of processing the process distributed by the process distribution destination server process (step S104) by the servers 17, 18, and 19. . For example, in the record 2601, the process ID 10000 is executed by the server A and the abnormality detection is executed in a state where the CPU usage rate is 10%, the memory usage rate is 10%, and the disk usage rate is 10%. 2013/1/21 10:02: 00 indicates that the processing result is returned from the server A. The response record generation process (step S401) is a process of calculating a response record using the process request table 210 and the response time table 260 of each server as a process ID. For example, the response time of the process ID 10000 is the response time 2013 of the record 2601 of the process ID 10000 of the response time table 260 of each server from the request time 2013/1/21 10:00 of the record 2101 of the process ID 10000 of the process request table 210. / 1/21 120: difference of 10:02:00 is stored in the response record table 270 in the form of a record 2701 as a response time. The response record storage process (step S402) is a process of storing the response record generated in the response record generation process (step S401) in the past response record storage database 1612.

以上本発明の一実施例について説明した。   The embodiment of the present invention has been described above.

上記実施例によれば、過去の応答実績に応じて、より応答が速いと思われるサーバに情報処理を実施させることで、各鉱山開発用建設機器に取り付けられたセンサーから発生する大量データの分析を高速化し、鉱山開発用建設機器の可用性を向上できる。   According to the above embodiment, analysis of a large amount of data generated from sensors attached to construction equipment for each mine development is performed by causing a server that seems to be faster to respond according to past response results. Speed up and improve the availability of construction equipment for mine development.

以上本発明の実施例を説明したが、本発明はこれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。   Although the embodiment of the present invention has been described above, the present invention is not limited to this, and various modifications can be made without departing from the scope of the invention.

16・・・サーバ負荷分散装置、10、12、14・・・鉱山用建設機器、11、13、15・・・鉱山用建設機器に取り付けられたセンサー、11、13、15・・・鉱山開発用建設機器情報分析用サーバ、160・・・制御部(CPU)、161・・・記憶部、162・・・制御部(CPU)。 16 ... Server load balancer, 10, 12, 14 ... Mining construction equipment, 11, 13, 15 ... Sensors attached to mining construction equipment, 11, 13, 15 ... Mining development Construction equipment information analysis server, 160 ... control unit (CPU), 161 ... storage unit, 162 ... control unit (CPU).

Claims (6)

複数のサーバから、クライアントからリクエストされた情報処理を実施させるサーバを決定するサーバ負荷分散装置における、サーバ負荷分散方法であって、
前記サーバ負荷分散装置は、各サーバごとの、情報処理の内容、負荷状態情報およびリクエストを受けてから応答するまでの応答時間の平均値(実績)を記憶する応答実績データ記憶部を具備し、
前記サーバ負荷分散装置により、
前記クライアントから情報処理のリクエストを受信し、
前記複数のサーバの各々から負荷状態情報を受信し、
受信した前記情報処理のリクエスト、の情報処理の内容と、受信した前記各サーバの負荷状態情報と、前記応答実績データ記憶部の情報に基づき、前記リクエストされた情報処理を実施させるサーバを決定する、
ことを特徴とするサーバ負荷分散方法。
A server load balancing method in a server load balancer that determines a server that performs information processing requested by a client from a plurality of servers,
The server load distribution apparatus includes a response result data storage unit that stores the average value (actual result) of response time from receiving the content of information processing, load state information, and a request for each server,
By the server load balancer,
Receiving an information processing request from the client;
Receiving load status information from each of the plurality of servers;
Based on the contents of the information processing of the received information processing request, the received load status information of each server, and the information in the response record data storage unit, the server that performs the requested information processing is determined. ,
A server load balancing method.
前記サーバ負荷分散装置により、
受信した前記情報処理のリクエスト、の情報処理の内容と、受信した前記各サーバの負荷状態情報と、前記応答実績データ記憶部の情報に基づき、複数のサーバから、前記リクエストを受けてから応答するまでの応答時間が最も短いサーバを、前記リクエストされた情報処理を実施させるサーバに決定する、
ことを特徴とする請求項1に記載のサーバ負荷分散方法。
By the server load balancer,
Responds after receiving the requests from a plurality of servers based on the contents of the information processing of the received information processing request, the received load status information of each server, and information in the response record data storage unit The server with the shortest response time is determined as the server that performs the requested information processing.
The server load distribution method according to claim 1.
前記各サーバの負荷状態情報は、CPU使用率、メモリ使用率およびディスク使用率とを含む、
ことを特徴とする請求項2に記載のサーバ負荷分散方法。
The load status information of each server includes a CPU usage rate, a memory usage rate, and a disk usage rate.
The server load distribution method according to claim 2, wherein:
応答実績データ記憶部に記憶されている、前記リクエストを受けてから応答するまでの応答時間の平均値(実績)は、前記CPU使用率、前記メモリ使用率、前記ディスク使用率を各々、i、j、k(i≠0、j≠0、k≠0)等分分割し、i×j×k個に分割された立体状の空間ごとの応答時間の平均値(実績)であり、
前記サーバ負荷分散装置により、
前記複数のサーバから、前記CPU使用率、前記メモリ使用率および前記ディスク使用率を含む前記負荷状態情報を受信し、
受信した前記CPU使用率、前記メモリ使用率、前記ディスク使用率を各々、i、j、kで除算した値を算出し、
受信した前記情報処理のリクエスト、の情報処理の内容と、受信した前記各サーバの負荷状態情報をもとに算出された前記各値と、前記応答実績データ記憶部の情報に基づき、複数のサーバから、前記リクエストを受けてから応答するまでの応答時間が最も短いサーバを、前記リクエストされた情報処理を実施させるサーバに決定する、
ことを特徴とする請求項3に記載のサーバ負荷分散方法。
The average value (actual result) of the response time from the receipt of the request to the response stored in the response achievement data storage unit is the CPU usage rate, the memory usage rate, and the disk usage rate, i, j, k (i ≠ 0, j ≠ 0, k ≠ 0) are equally divided into i × j × k three-dimensional space average values (actual results),
By the server load balancer,
Receiving the load status information including the CPU usage rate, the memory usage rate and the disk usage rate from the plurality of servers;
Calculate the values obtained by dividing the received CPU usage rate, memory usage rate, and disk usage rate by i, j, and k, respectively.
A plurality of servers based on the information processing contents of the received information processing request, the values calculated based on the received load status information of the servers, and the response record data storage unit information To determine the server having the shortest response time from receiving the request to responding to the server that performs the requested information processing.
The server load distribution method according to claim 3.
前記サーバから、該サーバを識別する情報、情報処理の内容、前記負荷状態情報、リクエストを受けてから応答するまでの応答時刻を含む情報を受信し、
受信した前記サーバを識別する情報、前記情報処理の内容、前記負荷状態情報、前記リクエストを受けてから応答するまでの応答時刻を含む情報と、前記リクエストを受信した時刻を用いて、応答実績データを生成し、
前記生成した応答実績データを前記応答実績データ記憶部に格納する、
ことを特徴とする請求項4に記載のサーバ負荷分散方法。
Receiving from the server information including information identifying the server, information processing information, the load status information, and a response time from receiving a request to responding;
Response history data using the information for identifying the received server, the content of the information processing, the load status information, information including the response time from when the request is received until the response is received, and the time when the request is received Produces
Storing the generated response record data in the response record data storage unit;
The server load distribution method according to claim 4, wherein:
請求項1乃至請求項5の何れか1項に記載のサーバ負荷分散方法を、コンピュータに実行させるためのプログラム。   A program for causing a computer to execute the server load distribution method according to any one of claims 1 to 5.
JP2013189997A 2013-09-13 2013-09-13 Server load balancing method and program Active JP6082678B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013189997A JP6082678B2 (en) 2013-09-13 2013-09-13 Server load balancing method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013189997A JP6082678B2 (en) 2013-09-13 2013-09-13 Server load balancing method and program

Publications (2)

Publication Number Publication Date
JP2015056087A true JP2015056087A (en) 2015-03-23
JP6082678B2 JP6082678B2 (en) 2017-02-15

Family

ID=52820433

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013189997A Active JP6082678B2 (en) 2013-09-13 2013-09-13 Server load balancing method and program

Country Status (1)

Country Link
JP (1) JP6082678B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017033240A (en) * 2015-07-31 2017-02-09 三菱電機株式会社 server
JP2018045442A (en) * 2016-09-14 2018-03-22 株式会社東芝 Relay device, relay system, relay program, and relay method
CN113515431A (en) * 2021-04-08 2021-10-19 上海安畅网络科技股份有限公司 Method and system for monitoring heat dissipation state of server cabinet based on cloud platform

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006178851A (en) * 2004-12-24 2006-07-06 Nec Corp Failure monitoring method, failure monitoring system and program
JP2007249491A (en) * 2006-03-15 2007-09-27 Fujitsu Ltd Program, device and method for distributing batch job in multi-server environment
JP2013168934A (en) * 2012-02-15 2013-08-29 Hitachi Ltd Load-balancing device and load-balancing method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006178851A (en) * 2004-12-24 2006-07-06 Nec Corp Failure monitoring method, failure monitoring system and program
JP2007249491A (en) * 2006-03-15 2007-09-27 Fujitsu Ltd Program, device and method for distributing batch job in multi-server environment
JP2013168934A (en) * 2012-02-15 2013-08-29 Hitachi Ltd Load-balancing device and load-balancing method

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017033240A (en) * 2015-07-31 2017-02-09 三菱電機株式会社 server
JP2018045442A (en) * 2016-09-14 2018-03-22 株式会社東芝 Relay device, relay system, relay program, and relay method
CN113515431A (en) * 2021-04-08 2021-10-19 上海安畅网络科技股份有限公司 Method and system for monitoring heat dissipation state of server cabinet based on cloud platform
CN113515431B (en) * 2021-04-08 2023-03-24 上海安畅网络科技股份有限公司 Method and system for monitoring heat dissipation state of server cabinet based on cloud platform

Also Published As

Publication number Publication date
JP6082678B2 (en) 2017-02-15

Similar Documents

Publication Publication Date Title
US11803546B2 (en) Selecting interruptible resources for query execution
CN109218355B (en) Load balancing engine, client, distributed computing system and load balancing method
US10127086B2 (en) Dynamic management of data stream processing
JP5664098B2 (en) Composite event distribution apparatus, composite event distribution method, and composite event distribution program
JP5484601B2 (en) Data transfer control method for parallel distributed processing system, parallel distributed processing system, and storage medium
CN102664786A (en) Virtual switch interceptor
EP2755133B1 (en) Application execution controller and application execution method
US10339131B1 (en) Fault prevention
JP2007323245A (en) Computer system, performance measuring method, and management server device
JP5245711B2 (en) Distributed data processing system, distributed data processing method, and distributed data processing program
JP2010244181A (en) Virtual machine management system, and virtual machine arrangement setting method and program
JP6481299B2 (en) Monitoring device, server, monitoring system, monitoring method and monitoring program
US9244718B2 (en) Virtual machine resource allocation based on connection time coverage exceeding a minimum threshold
JP6082678B2 (en) Server load balancing method and program
JP2016139237A (en) Computer system and method for coping with performance disorder of computer system
JP7234702B2 (en) Information processing device, container placement method, and container placement program
JP6252309B2 (en) Monitoring omission identification processing program, monitoring omission identification processing method, and monitoring omission identification processing device
JP2006092053A (en) System use ratio management device, and system use ratio management method to be used for the same device and its program
KR101630088B1 (en) Method and apparatus for monitoring life-cycle of virtual machine
US11340952B2 (en) Function performance trigger
JP2009259005A (en) Resource monitoring method and apparatus
JP2018032245A (en) Computer system and resource control method
JP5141788B2 (en) System usage rate management apparatus, system usage rate management method used therefor, and program thereof
US10296493B2 (en) Distributed data processing system and distributed data processing method
KR101393237B1 (en) Dynamic available resource reallocation based job allocation system and method in grid computing thereof

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151215

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160711

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160726

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160926

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161018

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161213

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: 20161227

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170123

R150 Certificate of patent or registration of utility model

Ref document number: 6082678

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150