JP2013206041A - Communication system and load distribution processing apparatus - Google Patents

Communication system and load distribution processing apparatus Download PDF

Info

Publication number
JP2013206041A
JP2013206041A JP2012073245A JP2012073245A JP2013206041A JP 2013206041 A JP2013206041 A JP 2013206041A JP 2012073245 A JP2012073245 A JP 2012073245A JP 2012073245 A JP2012073245 A JP 2012073245A JP 2013206041 A JP2013206041 A JP 2013206041A
Authority
JP
Japan
Prior art keywords
priority
data
server
queue
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.)
Pending
Application number
JP2012073245A
Other languages
Japanese (ja)
Inventor
Yoshinori Kubota
芳則 久保田
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP2012073245A priority Critical patent/JP2013206041A/en
Publication of JP2013206041A publication Critical patent/JP2013206041A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a communication system and a load distribution processing apparatus for stably operating a function to be provided on a network.SOLUTION: The communication system includes a plurality of servers 31 to 34 and a load distribution processing apparatus 21, and the load distribution processing apparatus 21 includes a storage device 52 and a priority management device 51. The storage device 52 forms a queue as a data structure in which a storage area is formed, and the queue stores data with priority in the order of supply, and extracts the data with priority whose priority order is the highest from among the stored data with priority. When a fetch request is made, the priority management device 51 determines a server to which the processing of the data with priority is assigned from among the plurality of servers 31 to 34, supplies the data with priority to the determined server, and makes the determined server increase the usage of the number of thresholds set in the computer environment of the determined server.

Description

本発明は、通信システム及び負荷分散処理装置に関し、特に、優先度に基づいてサーバにデータを割り当て、割り当てられたサーバの計算機環境に設けられたスレッド数の使用量を増加させることにより、ネットワーク上で提供する機能を安定的に稼働させる通信システム及び負荷分散処理装置に関する。   The present invention relates to a communication system and a load distribution processing device, and in particular, assigns data to a server based on priority, and increases the usage of the number of threads provided in the computer environment of the assigned server, thereby increasing the usage on the network. The present invention relates to a communication system and a load distribution processing apparatus that stably operate the functions provided by the system.

現在、ネットワーク上のさまざまな処理要求に対し、情報システム内で均等にその処理要求を割り当て、割り当てた処理を効率的に実行する装置として負荷分散処理装置が用いられている(例えば、特許文献1参照)。
このような負荷分散処理装置は、処理要求が届いたとき、ネットワーク上の複数のサーバに、要求された処理を分散し、その要求された処理の転送を実行する。
このときの要求された処理である負荷の分散は、ラウンドロビン方式やサーバの負荷状況に応じた負荷均衡方式等に基づいて実行される。
そして、要求された処理を受理したサーバは、その要求された処理の内容に応じて優先度制御を行い、順次要求された処理を実行している。
Currently, a load distribution processing device is used as a device that assigns processing requests evenly in an information system to various processing requests on a network and efficiently executes the assigned processing (for example, Patent Document 1). reference).
When a processing request arrives, such a load distribution processing device distributes the requested processing to a plurality of servers on the network and executes transfer of the requested processing.
The distribution of the load, which is a requested process at this time, is executed based on a round robin method, a load balancing method according to the load status of the server, or the like.
Then, the server that has received the requested processing performs priority control according to the content of the requested processing, and sequentially executes the requested processing.

特許第3964896号公報(段落[0003])Japanese Patent No. 3964896 (paragraph [0003])

上記で説明したように、従来の負荷分散処理装置は優先度制御を実行せず、要求された処理を受理したサーバが優先度制御を実行している。
図5は、従来技術のシステムの概略構成を示す図である。図5に示すように、従来の負荷分散処理装置201は、サーバ301〜303の負荷状況に応じて、要求された処理を転送している。
As described above, the conventional load distribution processing device does not execute the priority control, and the server that receives the requested process executes the priority control.
FIG. 5 is a diagram showing a schematic configuration of a conventional system. As shown in FIG. 5, the conventional load distribution processing device 201 transfers requested processing according to the load status of the servers 301 to 303.

例えば、負荷分散時の状態101において、優先度の高い高優先度の要求された処理351と優先度の低い低優先度の要求された処理352が順次届いたものとする。サーバ301は低負荷状態であるため、次に要求された処理351が転送される。また、サーバ302は高負荷状態であるがサーバ301へ処理351が転送された結果、サーバ301がより高負荷だと評価されると、その次に要求された処理352が転送される。
一方、負荷分散後の状態102において、サーバ301は負荷上昇中となり、高優先度の要求された処理351の実行時間が負荷分散時の状態101と比べて多くかかることとなる。また、サーバ302は負荷低下中となり、低優先度の要求された処理352の実行時間が負荷分散時の状態101と比べて少なくかかることとなる。
For example, in the load distribution state 101, it is assumed that a process 351 having a high priority and a request having a high priority and a process 352 having a low priority and a request having a low priority are sequentially received. Since the server 301 is in a low load state, the next requested process 351 is transferred. Further, if the server 302 is in a high load state but the process 351 is transferred to the server 301 and the server 301 is evaluated as having a higher load, the next requested process 352 is transferred.
On the other hand, in the state 102 after load distribution, the server 301 is increasing in load, and the execution time of the processing 351 requested with high priority is longer than that in the state 101 during load distribution. Further, the load on the server 302 is decreasing, and the execution time of the processing 352 requested with low priority is less than that in the state 101 when the load is distributed.

このように、要求された処理を転送後にサーバ301、302の負荷状況が変わった結果、サーバ301での高優先度の要求された処理351の実行の完了が、別のサーバであるサーバ302での低優先度の要求された処理352の実行後となる場合があった。
このため、システムとして、優先度制御が的確になされているとはいえない状態が発生する虞があった。
In this way, as a result of the change in the load status of the servers 301 and 302 after transferring the requested processing, the completion of execution of the requested processing 351 with the high priority in the server 301 is completed in the server 302 which is another server. After the execution of the requested processing 352 of the low priority of, there may have been.
For this reason, there is a possibility that a state in which priority control cannot be accurately performed as a system may occur.

したがって、ネットワーク上で提供する機能を安定的に稼働させることができる通信システム及び負荷分散処理装置が望まれていた。   Therefore, a communication system and a load distribution processing apparatus that can stably operate functions provided on a network have been desired.

本発明の通信システムは、ネットワーク上に設けられる複数のサーバと、処理の優先順位を示す優先度が付加された優先度付きデータが、外部から供給されたとき、前記優先度に基づいて、前記複数のサーバの中から、前記優先度付きデータの処理を割り当てるサーバを決定する負荷分散処理装置とを備え、前記負荷分散処理装置は、前記優先度付きデータが供給されたとき、前記優先度付きデータを一時的に格納する記憶装置と、前記記憶装置に格納されている前記優先度付きデータを前記優先度に基づいて管理し、前記複数のサーバに前記優先度付きデータの処理を割り当てる優先度管理装置と、を有し、前記記憶装置は、記憶領域を形成するデータ構造として、キューを形成しており、前記キューは、供給された順に前記優先度付きデータを格納し、格納した前記優先度付きデータのうち、前記優先度の優先順位の最も高い前記優先度付きデータから取り出させ、前記優先度管理装置は、前記優先度付きデータの取り出し要求をするまで、前記記憶装置に、前記優先度付きデータを順番に格納させ、前記取り出し要求をしたとき、前記複数のサーバの中から、前記優先度付きデータの処理を割り当てるサーバを決定し、決定したサーバに前記キューから取り出した前記優先度付きデータを供給すると共に、前記決定したサーバに対し、当該決定したサーバの計算機環境に設けられたスレッド数の使用量を増加させるものである。   In the communication system according to the present invention, when priority-added data to which a priority indicating processing priority is added and a plurality of servers provided on the network are supplied from the outside, based on the priority, A load distribution processing device that determines a server to which processing of the data with priority is assigned from among a plurality of servers, and the load distribution processing device has the priority when the data with priority is supplied. A storage device that temporarily stores data, and a priority that manages the data with priority stored in the storage device based on the priority, and assigns processing of the data with priority to the plurality of servers The storage device forms a queue as a data structure that forms a storage area, and the queue includes the priority-added data in the order of supply. And the priority management device makes a request to retrieve the data with priority, from among the data with priority that has been stored, the data with priority having the highest priority. Until the storage device stores the prioritized data in order, and when the retrieval request is made, a server to which the processing of the prioritized data is assigned is determined from the plurality of servers, and the determined server The prioritized data fetched from the queue is supplied to the server, and the usage amount of the number of threads provided in the computer environment of the determined server is increased for the determined server.

本発明の通信システムにおいて、前記優先度管理装置は、前記取り出し要求を前記記憶装置に行い、前記サーバの計算機環境の使用状態に基づいて、前記記憶装置の前記キューから取り出した前記優先度付きデータを割り当てるサーバを決定し、決定したサーバに前記優先度付きデータを供給するものである。   In the communication system of the present invention, the priority management device makes the retrieval request to the storage device, and the priority-added data retrieved from the queue of the storage device based on a use state of a computer environment of the server Is assigned to the server, and the prioritized data is supplied to the determined server.

本発明の通信システムにおいて、前記優先度管理装置は、前記使用状態として、混雑した状態及び空いた状態の何れか一方が設定され、前記複数のサーバのうち、前記使用状態が空いた状態のサーバに、前記記憶装置の前記キューから取り出した前記優先度付きデータの処理を割り当てるものである。   In the communication system of the present invention, the priority management device is set to one of a congested state and a free state as the use state, and the server in the use state is free from the plurality of servers. And processing of the data with priority taken out from the queue of the storage device.

本発明の通信システムにおいて、前記記憶装置は、前記キューを複数設け、当該キューには、前記優先度付きデータを前記サーバに割り当てる配分が、前記優先度付きデータの処理を実行させる実行比率として、予め設定されており、前記優先度管理装置は、前記サーバの計算機環境を利用する処理の分割単位であり、前記計算機環境に設けられた複数のスレッドに、当該複数のスレッドの使用状況と、前記実行比率とに基づいて、前記優先度付きデータの処理を割り当てるものである。   In the communication system according to the present invention, the storage device includes a plurality of the queues, and the allocation of the priority data to the server is performed in the queue as an execution ratio for executing the processing of the priority data. The priority management device is a division unit of processing that uses the computer environment of the server, and a plurality of threads provided in the computer environment are used with the use status of the plurality of threads, The processing of the data with priority is assigned based on the execution ratio.

本発明の通信システムにおいて、前記記憶装置の前記キューは、内部に複数の前記キューを有する入れ子構造で形成されるものである。   In the communication system of the present invention, the queue of the storage device is formed in a nested structure having a plurality of the queues therein.

本発明の負荷分散処理装置は、処理の優先順位を示す優先度が付加された優先度付きデータが外部から供給されたとき、前記優先度に基づいて、複数のサーバの中から、前記優先度付きデータを実行するサーバを選択し、選択したサーバに処理を割り当てる負荷分散処理装置において、前記負荷分散処理装置は、前記優先度付きデータが供給されたとき、前記優先度付きデータを一時的に格納する記憶装置と、前記記憶装置に格納されている前記優先度付きデータを前記優先度に基づいて管理し、前記複数のサーバに前記優先度付きデータの処理を割り当てる優先度管理装置と、を有し、前記記憶装置は、記憶領域を形成するデータ構造として、キューを形成しており、前記キューは、供給された順に前記優先度付きデータを格納し、格納した前記優先度付きデータのうち、前記優先度の優先順位の最も高い前記優先度付きデータから取り出させ、前記優先度管理装置は、前記優先度付きデータの取り出し要求をするまで、前記記憶装置に、前記優先度付きデータを順番に格納させ、前記取り出し要求をしたとき、前記複数のサーバの中から、前記優先度付きデータの処理を割り当てるサーバを決定し、決定したサーバに前記優先度付きデータを供給すると共に、前記決定したサーバに対し、当該決定したサーバの計算機環境に設けられたスレッド数の使用量を増加させるものである。   When load-priority data to which a priority indicating processing priority is added is supplied from the outside, the load distribution processing device of the present invention is configured to select the priority from a plurality of servers based on the priority. In the load distribution processing apparatus that selects a server that executes attached data and assigns a process to the selected server, the load distribution processing apparatus temporarily stores the prioritized data when the prioritized data is supplied. A storage device for storing, a priority management device that manages the data with priority stored in the storage device based on the priority, and assigns processing of the data with priority to the plurality of servers; And the storage device forms a queue as a data structure forming a storage area, and the queue stores and stores the prioritized data in the order of supply. Out of the data with priority, the priority data having the highest priority is extracted from the data with priority, and the priority management device stores the data in the storage device until making a request to extract the data with priority. When the prioritized data is stored in order and the retrieval request is made, a server to which the processing of the prioritized data is assigned is determined from the plurality of servers, and the prioritized data is stored in the determined server. At the same time, the amount of threads used in the computer environment of the determined server is increased for the determined server.

本発明の負荷分散処理装置において、前記優先度管理装置は、前記取り出し要求を前記記憶装置に行い、前記サーバの計算機環境の使用状態に基づいて、前記記憶装置の前記キューから取り出した前記優先度付きデータを割り当てるサーバを決定し、決定したサーバに前記優先度付きデータを供給するものである。   In the load distribution processing device of the present invention, the priority management device makes the retrieval request to the storage device, and the priority retrieved from the queue of the storage device based on a use state of a computer environment of the server The server to which the attached data is assigned is determined, and the prioritized data is supplied to the determined server.

本発明の負荷分散処理装置において、前記優先度管理装置は、前記使用状態として、混雑した状態及び空いた状態の何れか一方が設定され、前記複数のサーバのうち、前記使用状態が空いた状態のサーバに、前記記憶装置の前記キューから取り出した前記優先度付きデータの処理を割り当てるものである。   In the load distribution processing device of the present invention, the priority management device is set to one of a congested state and a free state as the use state, and the use state is free among the plurality of servers. To the server, the processing of the data with priority taken out from the queue of the storage device is assigned.

本発明の負荷分散処理装置において、前記記憶装置は、前記キューを複数設け、当該キューには、前記優先度付きデータを前記サーバに割り当てる配分が、前記優先度付きデータの処理を実行させる実行比率として、予め設定されており、前記優先度管理装置は、前記サーバの計算機環境を利用する処理の分割単位であり、前記計算機環境に設けられた複数のスレッドに、当該複数のスレッドの使用状況と、前記実行比率とに基づいて、前記優先度付きデータの処理を割り当てるものである。   In the load distribution processing device according to the present invention, the storage device includes a plurality of the queues, and an allocation ratio in which the allocation of the priority data to the server is executed in the queue so that the processing of the priority data is executed. Is set in advance, and the priority management device is a unit of processing for using the computer environment of the server, and the usage status of the plurality of threads is included in the plurality of threads provided in the computer environment. The processing of the data with priority is assigned based on the execution ratio.

本発明の負荷分散処理装置において、前記記憶装置の前記キューは、内部に複数の前記キューを有する入れ子構造で形成されるものである。   In the load distribution processing device of the present invention, the queue of the storage device is formed in a nested structure having a plurality of the queues therein.

本発明は、優先度に基づいてサーバにデータを割り当て、割り当てられたサーバの計算機環境に設けられたスレッド数の使用量を増加させることにより、ネットワーク上で提供する機能を安定的に稼働させることができるという効果を有する。   The present invention stably operates functions provided on a network by allocating data to servers based on priorities and increasing the amount of threads used in the computer environment of the allocated servers. Has the effect of being able to.

本発明の実施の形態1における通信システム11の概略構成を示す図である。It is a figure which shows schematic structure of the communication system 11 in Embodiment 1 of this invention. 本発明の実施の形態1における通信システム11の動作を示すシーケンスである。It is a sequence which shows operation | movement of the communication system 11 in Embodiment 1 of this invention. 本発明の実施の形態2における通信システム11の概略構成を示す図である。It is a figure which shows schematic structure of the communication system 11 in Embodiment 2 of this invention. 本発明の実施の形態2における通信システム11の動作を示すシーケンスである。It is a sequence which shows operation | movement of the communication system 11 in Embodiment 2 of this invention. 従来技術のシステムの概略構成を示す図である。It is a figure which shows schematic structure of the system of a prior art.

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

実施の形態1.
<構成の説明>
図1は、本発明の実施の形態1における通信システム11の概略構成を示す図である。図1に示すように、通信システム11は、多数のクライアント3と、ネットワーク1を介して接続されており、多数のクライアント3の処理要求に応答している。
Embodiment 1 FIG.
<Description of configuration>
FIG. 1 is a diagram showing a schematic configuration of a communication system 11 according to Embodiment 1 of the present invention. As shown in FIG. 1, the communication system 11 is connected to a large number of clients 3 via a network 1 and responds to processing requests from a large number of clients 3.

通信システム11は、多数のクライアント3から要求された処理を後述するサーバ31〜34に転送させ、システム全体で負荷を分散させる負荷分散処理装置21と、負荷分散処理装置21から転送された処理を実行するサーバ31〜34と、サーバ31〜34に転送された処理の実行を行う計算機環境41とを備えている。   The communication system 11 transfers processing requested from a large number of clients 3 to servers 31 to 34, which will be described later, and distributes the load in the entire system, and processing transferred from the load distribution processing device 21. Servers 31 to 34 to be executed, and a computer environment 41 for executing the processes transferred to the servers 31 to 34 are provided.

計算機環境41は、サーバ31〜34に物理的な計算機資源を提供するものである。
計算機環境41は、スレッド71を備えている。
スレッド71は、複数のスレッドからなるスレッドの集合体を意味するものとする。
スレッド71にある個々のスレッドは、サーバ31〜34が計算機環境41を利用する処理の分割単位である。
また、計算機環境41は、スレッド71の他には、例えば、CPU(Central Processing Unit)等を備えている。
The computer environment 41 provides physical computer resources to the servers 31 to 34.
The computer environment 41 includes a thread 71.
The thread 71 means a set of threads composed of a plurality of threads.
Each thread in the thread 71 is a division unit of processing in which the servers 31 to 34 use the computer environment 41.
In addition to the thread 71, the computer environment 41 includes, for example, a CPU (Central Processing Unit).

次に、サーバ31〜34と、計算機環境41との関係について説明する。
物理的には、サーバ31〜34と、計算機環境41とは、例えば、ラックマウント型サーバに搭載されるものである。
計算機環境41は、サーバ31〜34が共通して利用可能な計算機資源のことである。 例えば、サーバ31〜34は、サーバ毎に使用するスレッド数の割り当てが予め決められているものとする。
例えば、システム全体の計算機環境として、合計10スレッドをサーバ31〜34に提供可能な場合、サーバ31にスレッドが4つ、サーバ32にスレッド2つ、サーバ33にスレッドが2つ、サーバ34にスレッドが2つ割り当てることが可能と想定する。
例えば、上記の想定で、サーバ31が現在スレッドを2つ使用し、サーバ31に優先度付きデータを供給したとき、サーバ31にはさらに2つのスレッドを割り当てることが可能となる。
なお、計算機環境41は複数のサーバにより構成してもよい。その場合、サーバ31〜34のうち、一つ若しくは複数のサーバが使う計算機資源は異なる場合があるが、負荷分散処理装置21ではスレッド単位で負荷制御を行うため、計算機資源が同じ場合と同様に振舞うことができる。このような構成をとることにより、スケーラビリティや耐障害性の向上という効果が得られる。
Next, the relationship between the servers 31 to 34 and the computer environment 41 will be described.
Physically, the servers 31 to 34 and the computer environment 41 are mounted on, for example, a rack mount server.
The computer environment 41 is a computer resource that the servers 31 to 34 can use in common. For example, it is assumed that the servers 31 to 34 have a predetermined number of threads to be used for each server.
For example, if a total of 10 threads can be provided to the servers 31 to 34 as the computer environment of the entire system, the server 31 has 4 threads, the server 32 has 2 threads, the server 33 has 2 threads, and the server 34 has threads. It is assumed that two can be assigned.
For example, under the above assumption, when the server 31 currently uses two threads and supplies data with priority to the server 31, two more threads can be allocated to the server 31.
The computer environment 41 may be composed of a plurality of servers. In this case, the computer resources used by one or a plurality of servers among the servers 31 to 34 may be different. However, since the load distribution processing device 21 performs load control in units of threads, it is the same as when the computer resources are the same. Can behave. By adopting such a configuration, an effect of improving scalability and fault tolerance can be obtained.

サーバ31〜34は、クライアント3からの要求、すなわち、リクエストに応じて、何らかのサービス、すなわち、処理を提供する機能的構成である。
例えば、ファイルサーバの場合、保管しているファイル、すなわち、データを提供するものである。
また、プリントサーバの場合、プリンタへ印刷処理を提供するものである。
また、ウェブサーバの場合、ウェブページを構成するHTML(HyperText Markup Language)ファイルや画像ファイルなどのデータを提供するものである。
また、物理的に一つのコンピュータが、例えば、プリンタサーバやウェブサーバ等の複数のサーバを備えていてもよい。
また、物理的に一つのコンピュータが、例えば、ファイルサーバを一つ備えるようにし、一つのコンピュータに一つのサーバの機能を持たせ、サーバごとにコンピュータを複数台備えるようにしてもよい。
The servers 31 to 34 have a functional configuration that provides some service, that is, processing in response to a request from the client 3, that is, the request.
For example, in the case of a file server, a stored file, that is, data is provided.
In the case of a print server, it provides a printing process to a printer.
In the case of a web server, data such as an HTML (Hyper Text Markup Language) file or an image file that constitutes a web page is provided.
In addition, one physical computer may include a plurality of servers such as a printer server and a web server.
Further, for example, one physical computer may include one file server, one computer may have the function of one server, and a plurality of computers may be provided for each server.

なお、ここではサーバ31〜34は、4台のサーバを設けた一例について示したが、これに限定されるものではない。例えば、2台のサーバでもよく、100台のサーバでもよい。
また、ここでいうサーバ31〜34は、例えば、ウェブサーバであるが、これに限定されるものではない。例えば、決済処理を行う業務支援サーバやメールを処理するメールサーバ等であってもよい。また、呼制御を行うSIPサーバであってもよい。
In addition, although the server 31-34 showed about the example which provided four servers here, it is not limited to this. For example, two servers or 100 servers may be used.
Moreover, although the servers 31-34 here are web servers, for example, they are not limited to this. For example, it may be a business support server that performs payment processing, a mail server that processes mail, or the like. It may also be a SIP server that performs call control.

次に、サーバ31〜34の詳細について説明する。
サーバ31〜34は、クライアント3からの処理要求に対しては、優先度制御を実行しない。
サーバ31〜34は、計算機環境41の使用状態、すなわち、計算機環境41に設けられているスレッド71の使用状態を管理するキュー35〜38を有する。
Next, details of the servers 31 to 34 will be described.
The servers 31 to 34 do not execute priority control for processing requests from the client 3.
The servers 31 to 34 have queues 35 to 38 for managing the usage state of the computer environment 41, that is, the usage state of the thread 71 provided in the computer environment 41.

キュー35〜38は、記憶領域を形成するデータ構造の一つである。
キュー35〜38は、データを先入れ先出し(FIFO:First in First Out) のリスト構造で保持するものである。
すなわち、キュー35〜38は、待ち行列で形成される。
キュー35〜38は、キューからデータが取り出されるときには、先に入れられたデータから順に取り出されるものである。
キュー35〜38には、スレッド71の使用状態が混雑した状態、すなわち、スレッド71の使用状態がBusyとなる状態を識別する閾値Nbが設定されている。
キュー35〜38には、スレッド71の使用状態が空いた状態、すなわち、スレッド71の使用状態がActiveとなる状態を識別する閾値Naが設定されている。
なお、サーバ31〜34と、スレッド71の使用状態との関係の詳細については後述する。
The queues 35 to 38 are one of data structures that form a storage area.
The queues 35 to 38 hold data in a first-in first-out (FIFO) list structure.
That is, the queues 35 to 38 are formed by queues.
In the queues 35 to 38, when data is taken out from the queue, the data is taken out in order from the data put in first.
In the queues 35 to 38, a threshold value Nb for identifying a state where the usage state of the thread 71 is congested, that is, a state where the usage state of the thread 71 is Busy is set.
In the queues 35 to 38, a threshold value Na is set for identifying a state where the usage state of the thread 71 is vacant, that is, a state where the usage state of the thread 71 is Active.
Details of the relationship between the servers 31 to 34 and the usage state of the thread 71 will be described later.

ここで、キュー35〜38の何れかを指すときには、キュー39と称することとする。
また、キュー39全体の大きさは、サーバごとに異なるものとする。
例えば、サーバ31〜34に計算機環境が提供できるスレッド71の総スレッド数が100とする。このとき、サーバ31には30スレッド、サーバ32には20スレッド、サーバ33には10スレッド、サーバ34には40スレッドが使用可能なスレッドとして割り当てられていると想定する。
上記の想定では、使用可能なスレッドの大小関係は、サーバ34>サーバ31>サーバ32>サーバ33である。よって、キュー39の大小関係は、キュー38>キュー35>キュー36>キュー37となる。
Here, when any one of the queues 35 to 38 is indicated, it is referred to as a queue 39.
The size of the entire queue 39 is different for each server.
For example, the total number of threads 71 that can be provided by the computer environment to the servers 31 to 34 is 100. At this time, it is assumed that 30 threads are allocated to the server 31, 20 threads are allocated to the server 32, 10 threads are allocated to the server 33, and 40 threads are allocated to the server 34 as usable threads.
In the above assumption, the available thread size relationship is server 34> server 31> server 32> server 33. Therefore, the size relationship of the queue 39 is queue 38> queue 35> queue 36> queue 37.

次に、閾値Nb及び閾値Naの具体例について説明する。
例えば、クライアント3から要求された処理内容が次々にキュー39に格納され、キュー39全体の50%に達したとする。すなわち、待機中の処理内容が、キュー39の50%に達したと想定する。
このとき、閾値Nbがキュー39の50%に設定されていれば、スレッド71の使用状態はBusyであるとする。スレッド71の使用状態がBusyのとき、サーバ39は、負荷分散処理装置21によるクライアント3の処理要求の転送を受理しないこととする。
また、この後、待機中の処理内容が、キュー39の30%に達したと想定する。
このとき、閾値Naがキュー39の30%に設定されていれば、スレッド71の使用状態はActiveであるとする。スレッド71の使用状態がActiveのとき、サーバ39は、負荷分散処理装置21によるクライアント3の処理要求の転送を受理することとする。
このように、キュー39、閾値Nb及び閾値Naにより、使用可能なスレッド数に余裕を持たせ、サーバ31〜34が高負荷状態となって、次の処理を受け付けるまでのタイムラグが発生するのを防ぐようにする。
Next, specific examples of the threshold value Nb and the threshold value Na will be described.
For example, it is assumed that the processing contents requested from the client 3 are sequentially stored in the queue 39 and reach 50% of the entire queue 39. That is, it is assumed that the processing content in standby has reached 50% of the queue 39.
At this time, if the threshold Nb is set to 50% of the queue 39, it is assumed that the usage state of the thread 71 is Busy. When the usage state of the thread 71 is Busy, the server 39 does not accept transfer of the processing request of the client 3 by the load distribution processing device 21.
Further, after this, it is assumed that the processing content in standby has reached 30% of the queue 39.
At this time, if the threshold value Na is set to 30% of the queue 39, the use state of the thread 71 is assumed to be Active. When the usage state of the thread 71 is Active, the server 39 accepts the transfer of the processing request of the client 3 by the load distribution processing device 21.
As described above, the queue 39, the threshold value Nb, and the threshold value Na allow the number of usable threads to be increased, the servers 31 to 34 are in a high load state, and a time lag occurs until the next process is accepted. Try to prevent.

次に、負荷分散処理装置21の機能について説明する。
負荷分散処理装置21は、処理の優先順位を示す優先度を付加された優先度付きデータが、クライアント3等の外部から供給されたとき、優先度に基づいて、サーバ31〜34の中から、優先度付きデータの処理を割り当てるサーバを決定するものである。
Next, functions of the load distribution processing device 21 will be described.
When the priority distribution data to which the priority indicating the priority of processing is added is supplied from the outside such as the client 3, the load distribution processing device 21 selects the server 31 to 34 based on the priority. A server to which processing of data with priority is assigned is determined.

次に、負荷分散処理装置21の構成について説明する。
負荷分散処理装置21は、クライアント3の処理要求の優先度を管理する優先度管理装置51と、クライアント3の処理要求を一時的に格納する記憶装置52とを備えている。
ここで、クライアント3の処理要求には、予め、処理の優先順位を示す優先度を付加された優先度付きデータが含まれているものとする。
そのような優先度を伴うデータとしては、例えば、サーバ31〜34がSIPサーバである場合、日本国であれば119や110等の緊急電話番号データであり、米国であれば911の緊急電話データであり、イングランドであれば999の緊急電話データである。
また、例えば、優先度を伴うデータは、サーバ31〜34が会社等の業務支援サーバである場合、決済処理に必要な稟議書等のデータである。
また、例えば、サーバ31〜34がメールサーバである場合、優先度を伴うデータは、メールに付加された緊急度の度合い等を示すフラグ等である。
Next, the configuration of the load distribution processing device 21 will be described.
The load distribution processing device 21 includes a priority management device 51 that manages the priority of processing requests of the client 3 and a storage device 52 that temporarily stores processing requests of the client 3.
Here, it is assumed that the processing request of the client 3 includes data with priority to which a priority indicating the processing priority is added in advance.
As data with such priority, for example, when the servers 31 to 34 are SIP servers, emergency telephone number data such as 119 or 110 is provided in Japan, and 911 emergency telephone data is provided in the United States. If it is England, it is 999 emergency call data.
In addition, for example, data with priority is data such as a request for approval when the servers 31 to 34 are business support servers such as companies.
For example, when the servers 31 to 34 are mail servers, the data with priority is a flag indicating the degree of urgency added to the mail.

そのような緊急性を要するようなデータの識別には、例えば、処理要求データに含まれるアプリケ−ションデータを解読してもよい。
また、新たに緊急性を要するデータを識別するフラグをユーザデータの最上位ビットに設け、そのユーザデータにアプリケ−ションヘッダーを設けてアプリケーションデータとし、そのアプリケ−ションデータを解読してもよい。
要するに、優先度の高低は、要求内容、要求元、要求に付記されたラベル等を指標とするものである。
いずれにしても、優先度を付加する実装形態は特に限定されるものではない。
For identification of such data that requires urgency, for example, application data included in the processing request data may be decrypted.
In addition, a flag for identifying data that requires urgentness may be newly provided in the most significant bit of the user data, and an application header may be provided in the user data as application data, and the application data may be decoded.
In short, the level of priority is based on the request content, the request source, the label attached to the request, and the like.
In any case, the mounting form for adding the priority is not particularly limited.

記憶装置52は、優先度付きデータが供給されたとき、優先度付きデータを一時的に格納するものである。   When the data with priority is supplied, the storage device 52 temporarily stores the data with priority.

次に、記憶装置52の詳細について説明する。
記憶装置52は、記憶領域を形成するデータ構造として、キュー61を形成している。
キュー61は、データを先入れ先出し(FIFO:First in First Out) のリスト構造で保持するものである。
すなわち、キュー61は、待ち行列で形成される。
キュー61は、キューからデータが取り出されるときには、先に入れられたデータから順に取り出されるものである。
キュー61は、供給された順に優先度付きデータを格納し、格納した優先度付きデータのうち、優先度の優先順位の最も高い優先度付きデータから取り出させるものである。
Next, details of the storage device 52 will be described.
The storage device 52 forms a queue 61 as a data structure that forms a storage area.
The queue 61 holds data in a first-in first-out (FIFO) list structure.
That is, the queue 61 is formed by a queue.
When data is taken out from the queue 61, the queue 61 is taken out in order from the data put in first.
The queue 61 stores data with priority in the order of supply, and retrieves the data with priority having the highest priority among the stored data with priority.

優先度管理装置51は、優先度付きデータが供給されたとき、優先度付きデータを一時的に格納した記憶装置52に格納されている優先度付きデータを優先度に基づいて管理し、サーバ31〜34に優先度付きデータの処理を割り当てるものである。   When the data with priority is supplied, the priority management device 51 manages the data with priority stored in the storage device 52 that temporarily stores the data with priority based on the priority. To 34 are assigned data processing with priority.

次に、優先度管理装置51の詳細について説明する。
優先度管理装置51は、優先度付きデータの取り出し要求をするまで、記憶装置52に、優先度付きデータを順番に格納させるものである。
優先度管理装置51は、記憶装置52に、優先度付きデータの取り出し要求をしたとき、サーバ31〜34の中から、優先度付きデータの処理を割り当てるサーバを決定し、決定したサーバに優先度付きデータを供給する。
優先度管理装置51は、決定したサーバに優先度付きデータを供給するとき、そのサーバに対し、そのサーバの計算機環境に設けられたスレッド71の使用量を増加させる。
Next, details of the priority management apparatus 51 will be described.
The priority management device 51 causes the storage device 52 to store the data with priority in order until the data with priority is taken out.
When the priority management apparatus 51 requests the storage device 52 to retrieve data with priority, the priority management apparatus 51 determines a server to which processing of data with priority is assigned from among the servers 31 to 34, and assigns priority to the determined server. Supply the attached data.
When the priority management apparatus 51 supplies data with priority to the determined server, the priority management apparatus 51 increases the usage amount of the thread 71 provided in the computer environment of the server.

具体的には、優先度管理装置51は、サーバ31〜34の中で、各サーバの計算機環境の使用状態、例えば、スレッド71の利用数に基づいて、キュー61から取り出した優先度付きデータを割り当てるサーバを決定し、決定したサーバに優先度付きデータを供給する。   Specifically, the priority management device 51 selects the data with priority retrieved from the queue 61 based on the usage state of the computer environment of each server among the servers 31 to 34, for example, the number of threads 71 used. A server to be allocated is determined, and data with priority is supplied to the determined server.

より具体的には、優先度管理装置51は、サーバ31〜34の中で、各サーバの計算機環境の使用状態、例えば、混雑した状態であるスレッド71を使用するサーバがあるとき、サーバ31〜34の中で、スレッド71の空きがあるサーバに、キュー61から取り出した優先度付きデータの処理を割り当てる。
すなわち、優先度管理装置51は、サーバ31〜34の中で、スレッド71の利用可能数にまだ空きがあるサーバに、キュー61から取り出した優先度付きデータの処理を割り当てる。
換言すれば、閾値Nbによってスレッド71の使用状態がBusyを示すとき、優先度管理装置51は、その状態となっているサーバには優先度付きデータの処理を割り当てないようにする。
一方、閾値Naによってスレッド71の使用状態がActiveを示すとき、優先度管理装置51は、その状態となっているサーバに優先度付きデータの処理を割り当てるようにする。
More specifically, the priority management apparatus 51 includes servers 31 to 34 when there is a server that uses a thread 71 that is in a busy state among the servers 31 to 34, for example, the usage state of the computer environment of each server. 34, the processing of the data with priority taken out from the queue 61 is assigned to a server having a thread 71 available.
That is, the priority management apparatus 51 assigns the processing of the data with priority retrieved from the queue 61 to a server among the servers 31 to 34 where the number of usable threads 71 is still free.
In other words, when the usage state of the thread 71 indicates Busy by the threshold value Nb, the priority management apparatus 51 does not assign processing of data with priority to a server in that state.
On the other hand, when the usage state of the thread 71 indicates Active due to the threshold value Na, the priority management apparatus 51 assigns processing of data with priority to the server in that state.

次に、サーバ31〜34と、スレッド71の使用状態との関係について説明する。
上記で説明したように、サーバ毎にスレッドの割り当ては決まっている。また、サーバ毎のスレッドの使用状況は、サーバ31ではキュー35の閾値Nbと閾値Na、サーバ32ではキュー36の閾値Nbと閾値Na、サーバ33ではキュー37の閾値Nbと閾値Na、サーバ34ではキュー38の閾値Nbと閾値Naの各値に置き換えて判断させている。
そのため、ここでいうスレッド71の使用状態のBusyやActiveは、計算機環境41がサーバ31〜34に提供できる全スレッド数がBusyやActiveであることを意味するものではない。
ここでいうスレッド71の使用状態のBusyは、例えば、キュー35の閾値Nbが40%に設定されている場合にキュー35の閾値Nbが40%に到達したときを意味するものとする。キュー35は、サーバ31が管理しているため、このときには、優先度管理装置51は、サーバ31に優先度付きデータの処理を割り当てないようにするということである。
また、ここでいうスレッド71の使用状態のAcitveは、例えば、キュー36の閾値Naが15%に設定されている場合にキュー36の閾値Naが15%になったときを意味するものとする。キュー36は、サーバ32が管理しているため、このときには、優先度管理装置51は、サーバ32に優先度付きデータの処理を割り当てるようにするということである。
Next, the relationship between the servers 31 to 34 and the usage state of the thread 71 will be described.
As described above, thread allocation is determined for each server. In addition, the server thread 31 uses the threshold value Nb and threshold value Na of the queue 35 for the server 31, the threshold value Nb and threshold value Na for the queue 36 for the server 32, the threshold value Nb and threshold value Na for the queue 37 for the server 33, and The threshold value Nb and the threshold value Na of the queue 38 are replaced with the values to be judged.
Therefore, Busy or Active in the usage state of the thread 71 here does not mean that the total number of threads that the computer environment 41 can provide to the servers 31 to 34 is Busy or Active.
The busy state of the thread 71 used here means, for example, when the threshold value Nb of the queue 35 reaches 40% when the threshold value Nb of the queue 35 is set to 40%. Since the queue 35 is managed by the server 31, at this time, the priority management device 51 does not assign processing of data with priority to the server 31.
Further, the active state of the thread 71 used here means, for example, when the threshold value Na of the queue 36 is set to 15% when the threshold value Na of the queue 36 is set to 15%. Since the queue 36 is managed by the server 32, at this time, the priority management apparatus 51 assigns processing of data with priority to the server 32.

<動作の説明>
図2は、本発明の実施の形態1における通信システム11の動作を示すシーケンスである。
クライアント3からの実行要求が負荷分散処理装置21に届くと、実行要求は、キュー61に格納される。
キュー61に格納された実行要求は、優先度管理装置51によって取り出され、実行可能なサーバに転送される。
具体的には、優先度管理装置51は、キュー61が形成されている記憶装置52に、実行要求である優先度付きデータの取り出し要求を行い、取り出し要求返信として、優先度付きデータを取得する。
<Description of operation>
FIG. 2 is a sequence showing the operation of the communication system 11 according to the first embodiment of the present invention.
When the execution request from the client 3 reaches the load distribution processing device 21, the execution request is stored in the queue 61.
The execution request stored in the queue 61 is taken out by the priority management device 51 and transferred to an executable server.
Specifically, the priority management device 51 makes a request for taking out priority-added data as an execution request to the storage device 52 in which the queue 61 is formed, and obtains data with priority as a take-out request reply. .

次に、優先度管理装置51は、サーバ31〜34に、計算機環境41の使用状態を要求し、計算機環境41の使用状態要求の返信として、閾値Nb及び閾値Naを取得する。
このとき、例えば、サーバ32のキュー36の閾値NaがActiveであり、サーバ31のキュー35の閾値Nb、サーバ33のキュー37の閾値Nb、及びサーバ34のキュー38の閾値NbがBusyであったとする。
なお、サーバ31〜34の使用状況の確認は予め負荷分散処理装置21からの問い合わせやサーバ31〜34からの自己申告により負荷分散処理装置21上に状況を保持しておき、それを確認するという方法であってもよい。
Next, the priority management apparatus 51 requests the servers 31 to 34 for the usage status of the computer environment 41 and acquires the threshold value Nb and the threshold value Na as a response to the usage status request of the computer environment 41.
At this time, for example, the threshold Na of the queue 36 of the server 32 is Active, the threshold Nb of the queue 35 of the server 31, the threshold Nb of the queue 37 of the server 33, and the threshold Nb of the queue 38 of the server 34 are Busy. To do.
The usage status of the servers 31 to 34 is confirmed in advance by holding the status on the load distribution processing device 21 by an inquiry from the load distribution processing device 21 or self-reporting from the servers 31 to 34 and confirming it. It may be a method.

この場合には、サーバ32の計算機環境41の使用状態が空いており、サーバ31、サーバ33、及びサーバ34の計算機環境41の使用状態が混雑している。
そのため、優先度管理装置51は、サーバ32に優先度付きデータの処理の割り当てを指示する。
In this case, the usage state of the computer environment 41 of the server 32 is empty, and the usage state of the computer environment 41 of the server 31, the server 33, and the server 34 is congested.
Therefore, the priority management apparatus 51 instructs the server 32 to assign processing of data with priority.

また、優先度管理装置51は、サーバ32に優先度付きデータの処理の割り当てを実行するときに、サーバ32に割り当てられているスレッド数の使用可能な範囲でスレッド数を増加させる。例えば、優先度管理装置51は、サーバ32に割り当てられた使用可能な範囲のスレッド数が130であり、現在使用中のスレッド数が30のとき、残りのスレッド数100のうち、50のスレッドに処理を割り当てさせるようにする。
このようにして、優先度管理装置51は、スレッド数の使用量を増加させる。
The priority management device 51 increases the number of threads within the usable range of the number of threads assigned to the server 32 when assigning processing of data with priority to the server 32. For example, when the number of usable threads assigned to the server 32 is 130 and the number of currently used threads is 30, the priority management apparatus 51 includes 50 threads out of the remaining 100 threads. Let the process be assigned.
In this way, the priority management apparatus 51 increases the amount of threads used.

また、優先度管理装置51は、サーバ32に優先度付きデータの処理の割り当てを実行した後、まだサーバ32の計算機環境41の使用状態が空いていたとしても、サーバ32へのさらなる処理の要求は必要最小限にとどめることとしてもよい。例えば、サーバ当たりの転送数を1に絞るようにすれば、多重実行できない業務であったとしても、応答品質を均等化できるようになる。   Further, the priority management device 51 requests the server 32 to perform further processing even if the computer 32 of the computer environment 41 is still in use after the server 32 has been assigned the processing of data with priority. May be kept to the minimum necessary. For example, if the number of transfers per server is reduced to 1, the response quality can be equalized even if the operation cannot be executed in a multiplexed manner.

また、優先度管理装置51は、サーバ31〜34のうち、計算機環境41の使用状態がActiveになったものが早期に発生した場合、キュー61の中から優先度が高いものから優先度付きデータを順に取り出し、Activeになってサーバへ転送する。   Also, the priority management device 51, when one of the servers 31 to 34 in which the usage state of the computer environment 41 is active occurs at an early stage, the data with priority from the queue 61 with the highest priority. Are taken in order, become Active, and are transferred to the server.

<効果の説明>
上記で説明したように、負荷分散を行う前に、優先度制御を行うことにより、従来技術で発生していたシステムとしての処理の優先度の逆転の発生を防ぐことができる。
すなわち、優先度に基づいてサーバにデータを割り当て、割り当てられたサーバの計算機環境に設けられたスレッド数の使用量を増加させることにより、ネットワーク上で提供する機能を安定的に稼働させることができる。
換言すれば、システムとしてのQoS(Quality of Service)の品質を向上させることができる。
<Description of effects>
As described above, by performing priority control before performing load distribution, it is possible to prevent occurrence of inversion of processing priority as a system that has occurred in the prior art.
In other words, the function provided on the network can be stably operated by assigning data to the server based on the priority and increasing the usage amount of the number of threads provided in the computer environment of the assigned server. .
In other words, the quality of QoS (Quality of Service) as a system can be improved.

<利用形態の説明>
なお、上記の構成を、HTTPリクエストに適用すれば、VIP利用者の優先処理やDB(database)の更新処理をシステム全体として優先的に処理させることが可能となる。
また、上記の構成を、SIPリクエストに適用すれば、緊急連絡先を優先して接続させることができる。
<Description of usage pattern>
If the above configuration is applied to an HTTP request, it becomes possible to preferentially process VIP user priority processing and DB (database) update processing as a whole system.
Moreover, if the above configuration is applied to a SIP request, an emergency contact can be preferentially connected.

以上のように、本実施の形態1では、ネットワーク上に設けられる複数のサーバ31〜34と、処理の優先順位を示す優先度が付加された優先度付きデータが、外部から供給されたとき、優先度に基づいて、複数のサーバ31〜34の中から、優先度付きデータの処理を割り当てるサーバを決定する負荷分散処理装置21とを備え、負荷分散処理装置21は、優先度付きデータが供給されたとき、優先度付きデータを一時的に格納する記憶装置52と、記憶装置52に格納されている優先度付きデータを優先度に基づいて管理し、複数のサーバ31〜34に優先度付きデータの処理を割り当てる優先度管理装置51と、を有し、記憶装置52は、記憶領域を形成するデータ構造として、キュー61を形成しており、キュー61は、供給された順に優先度付きデータを格納し、格納した優先度付きデータのうち、優先度の優先順位の最も高い優先度付きデータから取り出させ、優先度管理装置51は、優先度付きデータの取り出し要求をするまで、記憶装置52に、優先度付きデータを順番に格納させ、取り出し要求をしたとき、複数のサーバ31〜34の中から、優先度付きデータの処理を割り当てるサーバを決定し、決定したサーバにキュー61から取り出した優先度付きデータを供給すると共に、決定したサーバに対し、当該決定したサーバの計算機環境に設けられたスレッド数の使用量を増加させることにより、ネットワーク上で提供する機能を安定的に稼働させることができる。   As described above, in the first embodiment, when the data with priority to which the plurality of servers 31 to 34 provided on the network and the priority indicating the processing priority are added is supplied from the outside, A load distribution processing device 21 that determines a server to which processing of data with priority is assigned from a plurality of servers 31 to 34 based on the priority, and the load distribution processing device 21 is supplied with data with priority. Storage device 52 that temporarily stores data with priority, and data with priority stored in storage device 52 based on the priority, and prioritizes multiple servers 31-34. A priority management device 51 for allocating data processing, and the storage device 52 forms a queue 61 as a data structure forming a storage area, and the queue 61 is supplied The priority data is stored in the data, and the priority-priority data having the highest priority is extracted from the stored data with priority, and the priority management device 51 makes a request to retrieve the data with priority. Until the data with priority is stored in the storage device 52 in order and a retrieval request is made, a server to which processing of data with priority is assigned is determined from the plurality of servers 31 to 34, and the determined server is determined. By supplying the data with priority retrieved from the queue 61 and increasing the usage of the number of threads provided in the computer environment of the determined server for the determined server, the function provided on the network is stabilized. Can be operated automatically.

実施の形態2.
実施の形態1との相違点は記憶装置52に複数のキュー61、62が実装され、キュー61、62の設定内容が格納された環境設定ファイル63がある点である。
なお、本実施の形態2において、特に記述しない項目については実施の形態1と同様とし、同一の機能や構成については同一の符号を用いて述べることとする。
また、実施の形態1と同一の機能、構成、及び動作については、その説明を省略する。
Embodiment 2. FIG.
The difference from the first embodiment is that a plurality of queues 61 and 62 are mounted in the storage device 52 and there is an environment setting file 63 in which the setting contents of the queues 61 and 62 are stored.
In the second embodiment, items that are not particularly described are the same as those in the first embodiment, and the same functions and configurations are described using the same reference numerals.
Further, the description of the same functions, configurations, and operations as those in Embodiment 1 is omitted.

<構成の説明>
図3は、本発明の実施の形態2における通信システム11の概略構成を示す図である。
図3に示すように、優先度管理装置51は、記憶装置52に、キュー61及びキュー62を備えている。
なお、ここでは、2つのキュー61、62が実装される一例について説明するが、キューの実装数はこれに限定されるものではない。
また、キュー61の中に、さらに複数のキューがある入れ子構造であってもよい。
また、キュー62の中に、さらに複数のキューがある入れ子構造であってもよい。
<Description of configuration>
FIG. 3 is a diagram showing a schematic configuration of the communication system 11 according to Embodiment 2 of the present invention.
As illustrated in FIG. 3, the priority management device 51 includes a queue 61 and a queue 62 in the storage device 52.
Here, an example in which the two queues 61 and 62 are mounted will be described, but the number of queues mounted is not limited to this.
Further, the queue 61 may have a nested structure with a plurality of queues.
Further, the queue 62 may have a nested structure in which a plurality of queues are further provided.

優先度管理装置51は、記憶装置52に、環境設定ファイル63を備えている。
環境設定ファイル63は、いわゆるconfigデータのことであり、通信システム11の管理者や通信システム11のユーザ等が設定したさまざまな情報が格納されている。
The priority management device 51 includes an environment setting file 63 in the storage device 52.
The environment setting file 63 is so-called config data, and stores various information set by an administrator of the communication system 11, a user of the communication system 11, and the like.

例えば、キュー61及びキュー62には、それぞれ異なる割合で、サーバに処理を割り当てる配分が設定されており、そのような設定内容が環境設定ファイル63に格納される。
具体的には、キュー61及びキュー62には、サーバ31〜34に優先度付きデータを割り当てる配分が、優先度付きデータの処理を実行させる実行比率として、予め設定され、設定内容は環境設定ファイル63に格納される。
例えば、キュー61:キュー62が、3:1として設定された場合、サーバ31〜34には、キュー61に格納された処理とキュー62に格納された処理との実行比率が、3:1となる。すなわち、この場合、キュー61の内容が優先的に割り当てられるようになる。
よって、実行比率を決めることにより、サーバ31〜34への処理の割り当て度合いを制御できるようになる。
For example, in the queue 61 and the queue 62, distributions for assigning processes to the servers are set at different rates, and such setting contents are stored in the environment setting file 63.
Specifically, in the queue 61 and the queue 62, a distribution for allocating data with priority to the servers 31 to 34 is set in advance as an execution ratio for executing processing of data with priority, and the setting content is an environment setting file. 63.
For example, when the queue 61: queue 62 is set as 3: 1, the servers 31 to 34 have an execution ratio of the processing stored in the queue 61 and the processing stored in the queue 62 of 3: 1. Become. That is, in this case, the contents of the queue 61 are preferentially assigned.
Therefore, by determining the execution ratio, it becomes possible to control the degree of processing allocation to the servers 31 to 34.

すなわち、優先度管理装置51は、スレッドの使用状況と、実行比率とに基づいて、優先度付きデータの処理を、サーバ31〜34へ割り当てる。
具体的には、キュー61に格納される処理内容が、緊急性を要する決済処理であり、キュー62に格納される処理内容が、緊急性を要しない月末処理であるとする。
この場合には、キュー61とキュー62との実行比率が、例えば、9:1と設定されることにより、両方の処理が安定的に実行されることになる。
より具体的には、優先度管理装置51は、キュー61に格納された処理をキュー62に格納された処理よりも優先的にサーバ31〜34に割り当て、さらに、キュー61そのものの中で優先度の高い処理を優先的にサーバ31〜34に割り当てる。
同時に、優先度管理装置51は、キュー62に格納された処理に対しても、一定の割合でサーバ31〜34に処理を割り当てるようにしている。
これにより、サーバ31〜34は、決済処理も、月末処理も両方滞ることなく処理できるようになる。
つまり、優先度管理装置51が、複数のキューを管理することにより、要求の属性に応じて処理量を制御することができるようになる。
That is, the priority management apparatus 51 assigns the processing of the data with priority to the servers 31 to 34 based on the thread usage status and the execution ratio.
Specifically, it is assumed that the processing content stored in the queue 61 is settlement processing that requires urgency, and the processing content stored in the queue 62 is month-end processing that does not require urgency.
In this case, by setting the execution ratio of the queue 61 and the queue 62 to 9: 1, for example, both processes are stably executed.
More specifically, the priority management apparatus 51 assigns the processing stored in the queue 61 to the servers 31 to 34 with priority over the processing stored in the queue 62, and further, the priority in the queue 61 itself. Are assigned to the servers 31 to 34 with priority.
At the same time, the priority management apparatus 51 assigns processes to the servers 31 to 34 at a certain rate even for the processes stored in the queue 62.
As a result, the servers 31 to 34 can process both the settlement process and the month end process without delay.
That is, the priority management apparatus 51 can control the processing amount according to the attribute of the request by managing a plurality of queues.

<動作の説明>
図4は、本発明の実施の形態2における通信システム11の動作を示すシーケンスである。
優先度管理装置51は、記憶装置52に対し、優先度付きデータの取り出し要求をし、環境設定ファイルの情報も要求する。
なお、図2を用いて説明した実施の形態1における通信システム11と同様に、サーバ31〜34の使用状況の確認は予め負荷分散処理装置21からの問い合わせやサーバ31〜34からの自己申告により負荷分散処理装置21上に状況を保持しておき、それを確認するという方法であってもよい。
<Description of operation>
FIG. 4 is a sequence showing an operation of the communication system 11 according to the second embodiment of the present invention.
The priority management device 51 requests the storage device 52 to retrieve data with priority, and also requests information on the environment setting file.
As in the communication system 11 in the first embodiment described with reference to FIG. 2, the usage status of the servers 31 to 34 is confirmed in advance by an inquiry from the load distribution processing device 21 or a self-report from the servers 31 to 34. A method of holding the status on the load distribution processing apparatus 21 and confirming it may be used.

次に、優先度管理装置51は、環境設定ファイルからキュー61とキュー62の実行比率を取得する。このとき、キュー61とキュー62との実行比率は、2:1と想定する。
その後、優先度管理装置51は、サーバ32がActiveであると判断し、キュー61の優先度付きデータをサーバ32に送信する。
また、その後、優先度管理装置51は、早期にActiveとなったサーバに対し、キュー61とキュー62との実行比率は維持した状態で、処理を割り当てていく。
Next, the priority management apparatus 51 acquires the execution ratio of the queue 61 and the queue 62 from the environment setting file. At this time, the execution ratio between the queue 61 and the queue 62 is assumed to be 2: 1.
Thereafter, the priority management apparatus 51 determines that the server 32 is active, and transmits the data with priority in the queue 61 to the server 32.
Further, thereafter, the priority management apparatus 51 assigns processing to the server that has become active early while maintaining the execution ratio of the queue 61 and the queue 62.

<効果の説明>
上記で説明したように、負荷分散を行う前に、優先度制御を行うことにより、従来技術で発生していたシステムとしての処理の優先度の逆転の発生を防ぐことができる。
すなわち、ネットワーク上で提供する機能を安定的に稼働させることができる。
また、負荷分散処理装置21に複数のキューを設けることにより、要求の属性に応じた処理量の制御が可能となる。
換言すれば、システムとしてのQoS(Quality of Service)の品質を向上させることができる。
<Description of effects>
As described above, by performing priority control before performing load distribution, it is possible to prevent occurrence of inversion of processing priority as a system that has occurred in the prior art.
That is, functions provided on the network can be stably operated.
Also, by providing a plurality of queues in the load distribution processing device 21, it becomes possible to control the processing amount according to the attribute of the request.
In other words, the quality of QoS (Quality of Service) as a system can be improved.

<利用形態の説明>
上記の構成により、複数の業務を混在させ、特定の業務の繁忙期には全ての業務サーバを割り当てつつ、必要に応じてその他の業務も影響を受けることなく実行することが可能となる。
<Description of usage pattern>
With the above configuration, it is possible to mix a plurality of tasks, assign all the task servers during a busy period of a particular task, and execute other tasks without being affected as necessary.

以上のように、本実施の形態2では、記憶装置52は、キューを複数設け、当該キューには、優先度付きデータをサーバ31〜34に割り当てる配分が、優先度付きデータの処理を実行させる実行比率として、予め設定されており、優先度管理装置51は、サーバ31〜34の計算機環境41を利用する処理の分割単位であり、計算機環境41に設けられた複数のスレッドに、当該複数のスレッドの使用状況と、実行比率とに基づいて、優先度付きデータの処理を割り当てることにより、ネットワーク上で提供する機能を安定的に稼働させることができる。   As described above, in the second embodiment, the storage device 52 has a plurality of queues, and the allocation of the priority data to the servers 31 to 34 in the queue causes the priority data processing to be executed. The execution ratio is set in advance, and the priority management apparatus 51 is a division unit of processing that uses the computer environment 41 of the servers 31 to 34, and a plurality of threads provided in the computer environment 41 are assigned to the plurality of threads. By assigning priority data processing based on thread usage and execution ratio, functions provided on the network can be stably operated.

1 ネットワーク、3 クライアント、11 通信システム、21 負荷分散処理装置、31、32、33、34 サーバ、41 計算機環境、51 優先度管理装置、52 記憶装置、35、36、37、38、39、61、62 キュー、63 環境設定ファイル、71 スレッド、101 負荷分散時の状態、102 負荷分散後の状態、201 従来の負荷分散処理装置、301、302、303 サーバ、311、312、313 キュー、351 高優先度の要求された処理、352 低優先度の要求された処理。   1 network, 3 client, 11 communication system, 21 load distribution processing device, 31, 32, 33, 34 server, 41 computer environment, 51 priority management device, 52 storage device, 35, 36, 37, 38, 39, 61 , 62 queue, 63 environment setting file, 71 thread, 101 load distribution status, 102 load distribution status, 201 conventional load distribution processing device, 301, 302, 303 server, 311, 312, 313 queue, 351 high Request processing with priority, 352 Request processing with low priority.

Claims (10)

ネットワーク上に設けられる複数のサーバと、
処理の優先順位を示す優先度が付加された優先度付きデータが、外部から供給されたとき、前記優先度に基づいて、前記複数のサーバの中から、前記優先度付きデータの処理を割り当てるサーバを決定する負荷分散処理装置と
を備え、
前記負荷分散処理装置は、
前記優先度付きデータが供給されたとき、前記優先度付きデータを一時的に格納する記憶装置と、
前記記憶装置に格納されている前記優先度付きデータを前記優先度に基づいて管理し、前記複数のサーバに前記優先度付きデータの処理を割り当てる優先度管理装置と、
を有し、
前記記憶装置は、
記憶領域を形成するデータ構造として、キューを形成しており、
前記キューは、
供給された順に前記優先度付きデータを格納し、格納した前記優先度付きデータのうち、前記優先度の優先順位の最も高い前記優先度付きデータから取り出させ、
前記優先度管理装置は、
前記優先度付きデータの取り出し要求をするまで、前記記憶装置に、前記優先度付きデータを順番に格納させ、
前記取り出し要求をしたとき、前記複数のサーバの中から、前記優先度付きデータの処理を割り当てるサーバを決定し、決定したサーバに前記キューから取り出した前記優先度付きデータを供給すると共に、前記決定したサーバに対し、当該決定したサーバの計算機環境に設けられたスレッド数の使用量を増加させる
ことを特徴とする通信システム。
A plurality of servers provided on the network;
A server that assigns processing of the data with priority among the plurality of servers based on the priority when the data with priority to which the priority indicating the priority of processing is added is supplied from the outside. And a load balancing processing device for determining
The load distribution processing device includes:
A storage device for temporarily storing the data with priority when the data with priority is supplied;
A priority management device that manages the data with priority stored in the storage device based on the priority, and assigns processing of the data with priority to the plurality of servers;
Have
The storage device
A queue is formed as a data structure that forms a storage area.
The queue is
Storing the prioritized data in the order in which they are supplied, and out of the stored prioritized data, the priority-priority data having the highest priority is extracted from the prioritized data;
The priority management device includes:
Until the data with priority is requested to be taken out, the storage device stores the data with priority in order,
When the retrieval request is made, a server to which the priority data processing is assigned is determined from the plurality of servers, and the priority data retrieved from the queue is supplied to the determined server, and the determination is performed. A communication system characterized by increasing the usage amount of threads provided in the determined computer environment of the server.
前記優先度管理装置は、
前記取り出し要求を前記記憶装置に行い、
前記サーバの計算機環境の使用状態に基づいて、前記記憶装置の前記キューから取り出した前記優先度付きデータを割り当てるサーバを決定し、決定したサーバに前記優先度付きデータを供給する
ことを特徴とする請求項1に記載の通信システム。
The priority management device includes:
Making the retrieval request to the storage device;
A server to which the data with priority extracted from the queue of the storage device is assigned is determined based on a use state of a computer environment of the server, and the data with priority is supplied to the determined server. The communication system according to claim 1.
前記優先度管理装置は、
前記使用状態として、混雑した状態及び空いた状態の何れか一方が設定され、
前記複数のサーバのうち、前記使用状態が空いた状態のサーバに、前記記憶装置の前記キューから取り出した前記優先度付きデータの処理を割り当てる
ことを特徴とする請求項2に記載の通信システム。
The priority management device includes:
As the use state, either one of the congested state and the vacant state is set,
3. The communication system according to claim 2, wherein, among the plurality of servers, processing of the data with priority taken out from the queue of the storage device is assigned to a server in which the usage state is vacant.
前記記憶装置は、前記キューを複数設け、
当該キューには、前記優先度付きデータを前記サーバに割り当てる配分が、前記優先度付きデータの処理を実行させる実行比率として、予め設定されており、
前記優先度管理装置は、
前記サーバの計算機環境を利用する処理の分割単位であり、前記計算機環境に設けられた複数のスレッドに、当該複数のスレッドの使用状況と、前記実行比率とに基づいて、前記優先度付きデータの処理を割り当てる
ことを特徴とする請求項1〜3の何れか一項に記載の通信システム。
The storage device includes a plurality of the queues,
In the queue, a distribution for allocating the data with priority to the server is set in advance as an execution ratio for executing processing of the data with priority.
The priority management device includes:
A division unit of processing that uses the computer environment of the server, and a plurality of threads provided in the computer environment, the usage status of the plurality of threads and the execution ratio of the data with priority 4. The communication system according to claim 1, wherein a process is assigned.
前記記憶装置の前記キューは、内部に複数の前記キューを有する入れ子構造で形成される
ことを特徴とする請求項4に記載の通信システム。
The communication system according to claim 4, wherein the queue of the storage device is formed in a nested structure having a plurality of the queues therein.
処理の優先順位を示す優先度が付加された優先度付きデータが外部から供給されたとき、前記優先度に基づいて、複数のサーバの中から、前記優先度付きデータを実行するサーバを選択し、選択したサーバに処理を割り当てる負荷分散処理装置において、
前記負荷分散処理装置は、
前記優先度付きデータが供給されたとき、前記優先度付きデータを一時的に格納する記憶装置と、
前記記憶装置に格納されている前記優先度付きデータを前記優先度に基づいて管理し、前記複数のサーバに前記優先度付きデータの処理を割り当てる優先度管理装置と、
を有し、
前記記憶装置は、
記憶領域を形成するデータ構造として、キューを形成しており、
前記キューは、
供給された順に前記優先度付きデータを格納し、格納した前記優先度付きデータのうち、前記優先度の優先順位の最も高い前記優先度付きデータから取り出させ、
前記優先度管理装置は、
前記優先度付きデータの取り出し要求をするまで、前記記憶装置に、前記優先度付きデータを順番に格納させ、
前記取り出し要求をしたとき、前記複数のサーバの中から、前記優先度付きデータの処理を割り当てるサーバを決定し、決定したサーバに前記キューから取り出した前記優先度付きデータを供給すると共に、前記決定したサーバに対し、当該決定したサーバの計算機環境に設けられたスレッド数の使用量を増加させる
ことを特徴とする負荷分散処理装置。
When priority-added data to which a priority indicating processing priority is added is supplied from the outside, a server that executes the data with priority is selected from a plurality of servers based on the priority. In the load distribution processing device that assigns processing to the selected server,
The load distribution processing device includes:
A storage device for temporarily storing the data with priority when the data with priority is supplied;
A priority management device that manages the data with priority stored in the storage device based on the priority, and assigns processing of the data with priority to the plurality of servers;
Have
The storage device
A queue is formed as a data structure that forms a storage area.
The queue is
Storing the prioritized data in the order in which they are supplied, and out of the stored prioritized data, the priority-priority data having the highest priority is extracted from the prioritized data;
The priority management device includes:
Until the data with priority is requested to be taken out, the storage device stores the data with priority in order,
When the retrieval request is made, a server to which the priority data processing is assigned is determined from the plurality of servers, and the priority data retrieved from the queue is supplied to the determined server, and the determination is performed. A load distribution processing device, wherein the usage amount of the number of threads provided in the computer environment of the determined server is increased for the determined server.
前記優先度管理装置は、
前記取り出し要求を前記記憶装置に行い、
前記サーバの計算機環境の使用状況に基づいて、前記記憶装置の前記キューから取り出した前記優先度付きデータを割り当てるサーバを決定し、決定したサーバに前記優先度付きデータを供給する
ことを特徴とする請求項6に記載の負荷分散処理装置。
The priority management device includes:
Making the retrieval request to the storage device;
A server to which the data with priority taken out from the queue of the storage device is assigned is determined based on a use situation of a computer environment of the server, and the data with priority is supplied to the determined server. The load distribution processing device according to claim 6.
前記優先度管理装置は、
前記使用状態として、混雑した状態及び空いた状態の何れか一方が設定され、
前記複数のサーバのうち、前記使用状態が空いた状態のサーバに、前記記憶装置の前記キューから取り出した前記優先度付きデータの処理を割り当てる
ことを特徴とする請求項7に記載の負荷分散処理装置。
The priority management device includes:
As the use state, either one of the congested state and the vacant state is set,
8. The load balancing process according to claim 7, wherein, among the plurality of servers, the process with the priority data fetched from the queue of the storage device is assigned to a server in which the usage state is vacant. apparatus.
前記記憶装置は、前記キューを複数設け、
当該キューには、前記優先度付きデータを前記サーバに割り当てる配分が、前記優先度付きデータの処理を実行させる実行比率として、予め設定されており、
前記優先度管理装置は、
前記サーバの計算機環境を利用する処理の分割単位であり、前記計算機環境に設けられる複数のスレッドに、当該複数のスレッドの使用状況と、前記実行比率とに基づいて、前記優先度付きデータの処理を割り当てる
ことを特徴とする請求項6〜8の何れか一項に記載の負荷分散処理装置。
The storage device includes a plurality of the queues,
In the queue, a distribution for allocating the data with priority to the server is set in advance as an execution ratio for executing processing of the data with priority.
The priority management device includes:
A processing unit that uses the computer environment of the server, and a plurality of threads provided in the computer environment are processed based on the usage status of the plurality of threads and the execution ratio. The load distribution processing device according to claim 6, wherein the load distribution processing device is assigned.
前記記憶装置の前記キューは、内部に複数の前記キューを有する入れ子構造で形成される
ことを特徴とする請求項9に記載の負荷分散処理装置。
The load distribution processing device according to claim 9, wherein the queue of the storage device is formed in a nested structure having a plurality of the queues therein.
JP2012073245A 2012-03-28 2012-03-28 Communication system and load distribution processing apparatus Pending JP2013206041A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012073245A JP2013206041A (en) 2012-03-28 2012-03-28 Communication system and load distribution processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012073245A JP2013206041A (en) 2012-03-28 2012-03-28 Communication system and load distribution processing apparatus

Publications (1)

Publication Number Publication Date
JP2013206041A true JP2013206041A (en) 2013-10-07

Family

ID=49525072

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012073245A Pending JP2013206041A (en) 2012-03-28 2012-03-28 Communication system and load distribution processing apparatus

Country Status (1)

Country Link
JP (1) JP2013206041A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019133696A (en) * 2014-12-18 2019-08-08 イプコ 2012 リミテッドIpco 2012 Limited Interface, system, method, and computer program product for controlling transfer of electronic messages
US10963882B2 (en) 2014-12-18 2021-03-30 Ipco 2012 Limited System and server for receiving transaction requests
US10999235B2 (en) 2014-12-18 2021-05-04 Ipco 2012 Limited Interface, method and computer program product for controlling the transfer of electronic messages

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002334012A (en) * 2001-05-10 2002-11-22 Nippon Telegr & Teleph Corp <Ntt> Service request processing method and its implementation system, and its processing program and recording medium
JP2010102458A (en) * 2008-10-22 2010-05-06 Hitachi Ltd Storage system and method for controlling start of command

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002334012A (en) * 2001-05-10 2002-11-22 Nippon Telegr & Teleph Corp <Ntt> Service request processing method and its implementation system, and its processing program and recording medium
JP2010102458A (en) * 2008-10-22 2010-05-06 Hitachi Ltd Storage system and method for controlling start of command

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6015024923; 'Cosminexus Version 6登場! 信頼とコラボレーションでEビジネスの可能性を拡大。経' COMPUTERWORLD Get Technology Right 第1巻,第5号, 20040501, pp.4-8, (株)IDGジャパン *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019133696A (en) * 2014-12-18 2019-08-08 イプコ 2012 リミテッドIpco 2012 Limited Interface, system, method, and computer program product for controlling transfer of electronic messages
US10963882B2 (en) 2014-12-18 2021-03-30 Ipco 2012 Limited System and server for receiving transaction requests
US10999235B2 (en) 2014-12-18 2021-05-04 Ipco 2012 Limited Interface, method and computer program product for controlling the transfer of electronic messages
US11521212B2 (en) 2014-12-18 2022-12-06 Ipco 2012 Limited System and server for receiving transaction requests
US11665124B2 (en) 2014-12-18 2023-05-30 Ipco 2012 Limited Interface, method and computer program product for controlling the transfer of electronic messages

Similar Documents

Publication Publication Date Title
US11509596B2 (en) Throttling queue for a request scheduling and processing system
US11593152B1 (en) Application hosting in a distributed application execution system
US9729488B2 (en) On-demand mailbox synchronization and migration system
US20170031622A1 (en) Methods for allocating storage cluster hardware resources and devices thereof
CN107018091B (en) Resource request scheduling method and device
US20160072726A1 (en) Systems and methods for resource sharing between two resource allocation systems
US7877482B1 (en) Efficient application hosting in a distributed application execution system
US9432311B2 (en) Dynamic resource allocation for distributed cluster-storage network
JP2010204876A (en) Distributed system
JP2009251708A (en) I/o node control system and method
US10305724B2 (en) Distributed scheduler
US10606650B2 (en) Methods and nodes for scheduling data processing
US20160234129A1 (en) Communication system, queue management server, and communication method
JP2008077266A (en) Service control unit, distributed service control system, service control method, and program
JP4834622B2 (en) Business process operation management system, method, process operation management apparatus and program thereof
CN113282395A (en) Redis-based job request scheduling method, device, equipment and medium
JP2013206041A (en) Communication system and load distribution processing apparatus
JP5509814B2 (en) Job flow management apparatus, management method, and management program
CN114003369A (en) System and method for scheduling commands based on resources
WO2011096249A1 (en) Load control device
EP2939113B1 (en) Communication system
US8869171B2 (en) Low-latency communications
US11474868B1 (en) Sharded polling system
WO2018089339A1 (en) Method and system for affinity load balancing
JP5919938B2 (en) Information processing system and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141117

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150529

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150623

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150817

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20160301