JP2008077266A - Service control unit, distributed service control system, service control method, and program - Google Patents

Service control unit, distributed service control system, service control method, and program Download PDF

Info

Publication number
JP2008077266A
JP2008077266A JP2006253821A JP2006253821A JP2008077266A JP 2008077266 A JP2008077266 A JP 2008077266A JP 2006253821 A JP2006253821 A JP 2006253821A JP 2006253821 A JP2006253821 A JP 2006253821A JP 2008077266 A JP2008077266 A JP 2008077266A
Authority
JP
Japan
Prior art keywords
message
processing
server
request message
processing request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2006253821A
Other languages
Japanese (ja)
Inventor
Shigeru Hosono
繁 細野
Seiichi Koizumi
清一 小泉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2006253821A priority Critical patent/JP2008077266A/en
Publication of JP2008077266A publication Critical patent/JP2008077266A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a service control unit which achieves processing which satisfies a service quality condition as a whole system in a system which makes a plurality of servers cooperate. <P>SOLUTION: A message reception controller 110 receives a process request message and stores it in a message queue 130. A message weight calculation section 121 calculates a process volume to a processing request message in the server. A thread 142 takes out a process request message from a message queue 130 and makes it processed by the server. A control rule determination section 150 decides the size of the message queue 130, and the number of parallel processing of the thread 142 so as to satisfy the service quality condition based on a retaining period of a message queue of the process request message, a processing volume in the server calculated in the message weight calculation section 121 and the service quality requirement stored in a service quality performance storage section 160. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、サービス制御装置、分散サービス制御システム、サービス制御方法、及び、プログラムに関し、更に詳しくは、処理要求メッセージを送受信して処理を行うサーバに対する処理要求メッセージの制御を行うサービス制御装置、方法、及び、プログラム、並びに、そのようなサービス制御装置を連携させた分散サービス制御システムに関する。   The present invention relates to a service control apparatus, a distributed service control system, a service control method, and a program. More specifically, the present invention relates to a service control apparatus and method for controlling a processing request message for a server that performs processing by transmitting and receiving processing request messages. Further, the present invention relates to a distributed service control system in which a program and such a service control apparatus are linked.

XMLを初めとする計算機で処理しやすい構造化文書の普及に伴い、構造化文書メッセージの交換により、受注サーバ、在庫管理サーバ、配送サーバなどの一連の流れに沿ったサーバ連携による業務システムが普及しつつある。また、従来、各サーバにおいて、他のサーバから受信した複数の要求を、サーバ資源に余裕のある夜間時間帯などにまとめたバッチ処理を行う方法が広く用いられてきたが、業務要件として業務システム全体の処理時間を短縮化する即時性が求められるに連れ、各サーバにおいてバッチ処理から個々の要求の逐次処理に置き換わりつつある。   With the spread of structured documents that can be easily processed by computers such as XML, the exchange of structured document messages has led to the spread of business systems based on server collaboration along a series of flows such as order receiving servers, inventory management servers, and delivery servers. I am doing. Conventionally, a method of performing batch processing in which each server receives a plurality of requests received from other servers in a night time zone with sufficient server resources has been widely used. As the immediacy of shortening the overall processing time is required, each server is replacing the batch processing with the sequential processing of individual requests.

業務システムでは、特に、インターネットを通じた連携においては、電子メールをはじめとする様々な通信が同時に使用されるため、通信ネットワークの混雑状況はばらつきが大きく、また、相手サーバからの処理要求メッセージの送信パターンも均質ではない場合があり、同一時間に大量の処理要求メッセージが到着することがある。そのため、そのような状況にもサービス品質を保持するために、処理要求数・量の変動をシステムの設計段階で想定して、あらかじめ十分な性能のサーバを導入し、サービス品質を確保している。また、運用時には、動的な計算機資源の割当てや、特定処理要求の優先処理などを行って、サービス品質を確保している。   In business systems, especially in the case of collaboration over the Internet, various communications such as e-mail are used at the same time, so the congestion status of the communication network varies widely, and transmission of processing request messages from the partner server The pattern may not be uniform, and a large amount of processing request messages may arrive at the same time. Therefore, in order to maintain the service quality even in such a situation, we assumed a fluctuation in the number and amount of processing requests at the system design stage and introduced a server with sufficient performance in advance to ensure the service quality. . In operation, service quality is ensured by dynamically allocating computer resources, priority processing of specific processing requests, and the like.

上記の問題を踏まえて、従来の分散ビジネスプロセスの実行を最適化するための技術の一例が、特許文献1に記載されている。特許文献1には、ビジネスプロセス処理において、プロセス定義とデータとをサーバ間で持ち回り、サーバとは独立したビジネスプロセス全体を制御する計算機ノードの導入を不要としている。また、複数の計算機ノードで実行されるワークフローの実行を最適化する技術の一例が、特許文献2に記載されている。特許文献2では、あらかじめ計算機の構成や性能、全体のワークフロー定義をワークフローサーバが集中管理し、ワークフローサーバにより、実行状態を監視しながら、実行配分を決定する。
特開2004−258823号公報 特開2002−259639号公報
Based on the above problems, an example of a technique for optimizing the execution of a conventional distributed business process is described in Patent Document 1. In Patent Document 1, in business process processing, process definitions and data are carried between servers, and the introduction of a computer node that controls the entire business process independent of the server is unnecessary. An example of a technique for optimizing the execution of a workflow executed on a plurality of computer nodes is described in Patent Document 2. In Patent Document 2, the workflow server centrally manages the configuration and performance of the computer and the overall workflow definition in advance, and the execution distribution is determined while monitoring the execution state by the workflow server.
JP 2004-258823 A Japanese Patent Laid-Open No. 2002-259639

従来技術の第1の問題点は、複数のサーバがメッセージ交換により連携して動作するシステムでは、連携フローの下流にあるサーバにおいて、サーバ性能を超える処理要求メッセージ数を受け付けて性能劣化が発生した場合に、サーバが連携したシステム全体での処理時間に関するサービス品質を保つことができないという点である。これは、下流に置かれるサーバで発生した性能劣化により、このサーバで処理要求メッセージを受け付けられなくなり、結果として、上流のサーバに下流のサーバ向けの処理要求プロセスが滞留し、下流サーバの性能劣化の影響が上位のサーバにも波及して、複数のサーバ全体での処理性能を見積もることが困難になるためである。   The first problem of the prior art is that, in a system in which a plurality of servers operate in cooperation by exchanging messages, the server downstream of the cooperation flow receives the number of processing request messages exceeding the server performance and performance degradation occurs. In this case, the service quality related to the processing time in the entire system linked with the server cannot be maintained. This is because the processing request message cannot be accepted by this server due to the performance degradation that occurred in the downstream server, and as a result, the processing request process for the downstream server stays in the upstream server, and the performance degradation of the downstream server This is because it is difficult to estimate the processing performance of a plurality of servers as a whole.

第2の問題点は、前記システムにおいて、単位時間当たりに到着する処理要求メッセージ数に比べて、十分に大きな処理要求メッセージ数を想定した余剰計算機資源を必要とするという点である。その理由は、ネットワークを通じた処理要求メッセージは、電子メールなどの様々な通信と共存により通信品質の差が生じやすいため、処理要求が均質に到着するとは限らないからである。特に、要求処理メッセージの到着が間欠的で一時に集中するバースト性を持つ場合もあるため、前記システムのように処理要求メッセージを逐次処理するシステムでは、十分な計算機資源が必要となる。   The second problem is that the system requires extra computer resources assuming a sufficiently large number of processing request messages compared to the number of processing request messages arriving per unit time. The reason is that processing request messages through a network are likely to have a difference in communication quality due to coexistence with various communications such as e-mails, so that processing requests do not always arrive uniformly. In particular, since the arrival of request processing messages may be intermittent and have burstiness that concentrates at a time, a system that sequentially processes the processing request messages as in the above-described system requires sufficient computer resources.

本発明は、上記従来技術の問題点を解消し、複数のサーバがメッセージ交換により連携して動作するシステムにおいて、システム全体としてサービス品質を満たした処理を実行できるサービス制御装置、方法、プログラム、及び、分散サービス制御システムを提供することを目的とする。   The present invention solves the above-described problems of the prior art, and in a system in which a plurality of servers operate in cooperation by exchanging messages, a service control apparatus, method, program, and program capable of executing processing satisfying service quality as a whole system, and An object is to provide a distributed service control system.

本発明の他の目的は、一時的に大量の処理要求メッセージがサーバに送信される場合でも、最小の計算機資源でサーバの処理不能を起こさないようにするサービス制御装置、方法、プログラム、及び、分散サービス制御システムを提供することである。   Another object of the present invention is to provide a service control device, a method, a program, and a service control device that prevent the server from being disabled with a minimum amount of computer resources even when a large amount of processing request messages are temporarily transmitted to the server. It is to provide a distributed service control system.

本発明の他の目的は、処理要求メッセージの増減の変動に俊敏に対応できるサービス制御装置、方法、プログラム、及び、分散サービス制御システムを提供することである。   Another object of the present invention is to provide a service control device, a method, a program, and a distributed service control system that can quickly respond to fluctuations in processing request messages.

上記目的を達成するために、本発明のサービス制御装置は、処理要求メッセージの受信制御を行い、受信した処理要求メッセージをメッセージキューに格納するメッセージ受信制御部と、前記処理要求メッセージの構造を利用してサーバでの処理時間を計算するためのルールを定めたメッセージ重みルールを記憶するメッセージ重み保管部を参照し、前記処理要求メッセージと、前記メッセージ重みルールとに基づいて、前記処理要求メッセージに対するサーバでの処理時間を計算するメッセージ重み計算部と、前記処理要求メッセージをサーバに送信して処理を実行させるスレッドを複数有するスレッド群を制御するスレッド群制御部であって、前記処理要求メッセージに対して前記スレッドを割り当てると共に、前記スレッドの並列処理数の上限値を制御するスレッド群制御部と、前記サーバで満たされるべき品質要件に関する品質要件情報を記憶する品質要件情報保管部を参照し、前記処理要求メッセージの前記メッセージキューでの滞留時間と、前記計算されたサーバでの処理時間と、前記品質要件情報とに基づいて、前記メッセージキューのサイズと、前記スレッド群制御部におけるスレッドの並列処理数の上限値とを制御する制御ルール決定部とを備えることを特徴とする。   In order to achieve the above object, the service control device of the present invention uses a message reception control unit that performs reception control of a processing request message and stores the received processing request message in a message queue, and the structure of the processing request message. A message weight storage unit that stores a message weight rule that defines a rule for calculating the processing time at the server, and based on the processing request message and the message weight rule, for the processing request message A message weight calculation unit for calculating a processing time at the server, and a thread group control unit for controlling a thread group having a plurality of threads for transmitting the processing request message to the server and executing the processing. And assigning the thread to the parallel processing of the thread Referring to a thread group control unit that controls the upper limit value and a quality requirement information storage unit that stores quality requirement information related to a quality requirement to be satisfied by the server, a residence time of the processing request message in the message queue, A control rule determining unit that controls the size of the message queue and the upper limit value of the parallel processing number of threads in the thread group control unit based on the calculated processing time in the server and the quality requirement information; It is characterized by providing.

本発明のサービス制御方法は、サービス制御装置を用いて、サーバに対する処理要求メッセージを制御するサービス方法であって、前記サービス制御装置が、処理要求メッセージを受信し、該受信した処理要求メッセージをメッセージキューに格納するメッセージ受信ステップと、前記サービス制御装置が、前記処理要求メッセージの構造を利用してサーバでの処理時間を計算するためのルールを定めたメッセージ重みルールを記憶するメッセージ重み保管部を参照し、前記処理要求メッセージと、前記メッセージ重みルールとに基づいて、前記処理要求メッセージに対するサーバでの処理時間を計算するメッセージ重み計算ステップと、前記サービス制御装置が、前記処理要求メッセージをサーバに送信して処理を実行させるスレッドを複数有するスレッド群を制御し、前記処理要求メッセージに対して前記スレッドを割り当てるスレッド割当てステップと、前記サービス制御装置が、前記サーバで満たされるべき品質要件に関する品質要件情報を記憶する品質要件情報保管部を参照し、前記処理要求メッセージの前記メッセージキューでの滞留時間と、前記計算されたサーバでの処理時間と、前記品質要件情報とに基づいて、前記メッセージキューのサイズと、前記スレッド群制御部におけるスレッドの並列処理数の上限値とを制御する制御ルール決定ステップとを有することを特徴とする。   The service control method of the present invention is a service method for controlling a processing request message for a server using a service control device, wherein the service control device receives the processing request message and sends the received processing request message to the message. A message receiving step for storing in a queue; and a message weight storage unit for storing a message weight rule in which the service control device defines a rule for calculating a processing time in the server using the structure of the processing request message. A message weight calculating step of calculating a processing time at the server for the processing request message based on the processing request message and the message weight rule; and the service control device sends the processing request message to the server. Multiple threads that send and execute processing A thread assignment step for controlling a thread group and assigning the thread to the processing request message; and a quality requirement information storage unit in which the service control apparatus stores quality requirement information related to a quality requirement to be satisfied by the server. The size of the message queue based on the retention time in the message queue of the processing request message, the calculated processing time in the server, and the quality requirement information, and the thread group control unit And a control rule determining step for controlling an upper limit value of the number of parallel processes of the thread.

本発明のプログラムは、コンピュータに、サーバに対する処理要求メッセージを制御する処理を実行させるプログラムであって、前記コンピュータに、処理要求メッセージを受信し、該受信した処理要求メッセージをメッセージキューに格納するメッセージ受信ステップと、前記処理要求メッセージの構造を利用してサーバでの処理時間を計算するためのルールを定めたメッセージ重みルールを記憶するメッセージ重み保管部を参照し、前記処理要求メッセージと、前記メッセージ重みルールとに基づいて、前記処理要求メッセージに対するサーバでの処理時間を計算するメッセージ重み計算ステップと、前記処理要求メッセージをサーバに送信して処理を実行させるスレッドを複数有するスレッド群を制御し、前記処理要求メッセージに対して前記スレッドを割り当てるスレッド割当てステップと、前記サーバで満たされるべき品質要件に関する品質要件情報を記憶する品質要件情報保管部を参照し、前記処理要求メッセージの前記メッセージキューでの滞留時間と、前記計算されたサーバでの処理時間と、前記品質要件情報とに基づいて、前記メッセージキューのサイズと、前記スレッド群制御部におけるスレッドの並列処理数の上限値とを制御する制御ルール決定ステップとを実行させることを特徴とする。   A program according to the present invention is a program for causing a computer to execute processing for controlling a processing request message for a server, wherein the computer receives a processing request message and stores the received processing request message in a message queue. A message weight storage unit for storing a message weight rule for defining a rule for calculating a processing time in a server using a structure of the reception step and the processing request message, the processing request message, and the message Based on the weight rule, a message weight calculation step for calculating a processing time at the server for the processing request message, and a thread group having a plurality of threads for transmitting the processing request message to the server and executing the processing, In response to the processing request message A thread allocation step for allocating the thread, a quality requirement information storage unit that stores quality requirement information relating to a quality requirement to be satisfied by the server, a residence time of the processing request message in the message queue, and the calculation A control rule determining step for controlling the size of the message queue and the upper limit value of the number of parallel processes of threads in the thread group control unit based on the processing time in the server and the quality requirement information It is characterized by making it.

本発明のサービス制御装置、方法、及び、プログラムでは、受信した処理要求メッセージに対するサーバでの処理量と、処理要求メッセージのメッセージキュー滞留時間とに基づいて、所定のサービス品質要件が満たされるか否かを判断し、メッセージキューのサイズと、サーバでの並列処理数の上限値とを制御する。サーバにて、サービス品質要件が満たされるように、メッセージキューのサイズと並列処理数の上限値とを制御することで、例えば大量の処理要求メッセージが送信され、処理要求メッセージに対する処理がサービス品質要件を満たさなくなることが予想される場合には、メッセージキューのサイズを小さくして受信遅延を行って処理要求メッセージの入力数を抑制し、並列処理数の上限値を減少させることでサーバ負荷が増大することを防ぎ、サービス品質要件を満たした処理を実現する。また、処理能力に余裕があるときには、メッセージキューのサイズを大きくして処理要求メッセージの入力数を増加させ、並列処理数の上限値を増加させてサーバで処理される処理要求メッセージの数を増やす。このような制御を行うことで、サービス品質を満たしつつ、サーバの処理能力を最大限に引き出した処理を実現できる。   In the service control device, method, and program of the present invention, whether or not a predetermined service quality requirement is satisfied based on the processing amount at the server for the received processing request message and the message queue residence time of the processing request message. To determine the size of the message queue and the upper limit value of the number of parallel processes in the server. By controlling the size of the message queue and the upper limit value of the number of parallel processes so that the service quality requirement is satisfied at the server, for example, a large number of processing request messages are transmitted, and the processing for the processing request message is processed by the service quality requirement If it is predicted that the message will not be satisfied, the server load increases by reducing the message queue size and delaying reception to reduce the number of input processing request messages and decreasing the upper limit of the number of parallel processing To achieve processing that satisfies service quality requirements. Also, when there is enough processing capacity, increase the number of processing request messages by increasing the size of the message queue and increase the upper limit of the number of parallel processings to increase the number of processing request messages processed by the server . By performing such control, it is possible to realize processing that maximizes the processing capability of the server while satisfying service quality.

本発明のサービス制御装置では、前記制御ルール決定部は、前記メッセージの滞留時間と、前記計算されたサーバでの処理時間と、前記品質要件とに基づいて、前記処理要求メッセージに対する処理が品質要件を満たすか否かを判断し、満たさないと判断すると、前記メッセージキューのサイズ減少と、前記スレッドの並列処理数の上限値の減少との少なくとも一方を行う構成を採用できる。メッセージキューのサイズを小さくすると、メッセージ受信制御部が新規に受信する処理要求メッセージが遅延されることで、処理要求メッセージの入力数を抑制することができる。また、スレッドの並列処理数の上限値を減少させると、サーバでの並列処理数が減少して、サーバ負荷を下げることができ、個々の処理要求メッセージに対する処理時間を短くできる。これらにより、処理要求メッセージ受信してから、サーバでの処理を完了するまでの時間を短縮することができ、サービス品質要件を満たした処理を実現できる。   In the service control apparatus of the present invention, the control rule determination unit performs processing on the processing request message based on the retention time of the message, the calculated processing time at the server, and the quality requirement. If it is determined whether or not the above condition is satisfied, and if it is not satisfied, it is possible to adopt a configuration in which at least one of a decrease in the size of the message queue and a decrease in the upper limit value of the number of parallel processes of the thread are employed. If the size of the message queue is reduced, the number of input processing request messages can be suppressed by delaying processing request messages newly received by the message reception control unit. Further, when the upper limit value of the number of parallel processes of threads is reduced, the number of parallel processes in the server can be reduced, the server load can be reduced, and the processing time for each processing request message can be shortened. As a result, it is possible to reduce the time from the reception of the processing request message to the completion of the processing at the server, and it is possible to realize processing that satisfies the service quality requirements.

本発明のサービス制御装置では、前記制御ルール決定部は、前記処理要求メッセージに対する処理が前記品質要件を満たさないと判断すると、前記スレッドの並列処理数の上限値を減らし、該スレッドの並列処理数の上限値の減少後での前記サーバでの処理時間と、前記メッセージの滞留時間と、前記品質要件とに基づいて、前記スレッドの並列処理数の上限値が減少した状態における前記処理要求メッセージに対する処理が品質要件を満たすか否かを判断し、満たさないと判断すると、前記メッセージキューのサイズを減らす構成を採用できる。   In the service control device of the present invention, when the control rule determination unit determines that the processing for the processing request message does not satisfy the quality requirement, the upper limit value of the parallel processing number of the thread is reduced, and the parallel processing number of the thread is decreased. The processing request message in a state where the upper limit value of the number of parallel processes of the thread is reduced based on the processing time at the server after the decrease of the upper limit value of the message, the residence time of the message, and the quality requirement If it is determined whether or not the processing satisfies the quality requirement and it is determined that the processing does not satisfy the requirement, a configuration for reducing the size of the message queue can be adopted.

本発明のサービス制御装置では、前記制御ルール決定部は、前記メッセージの滞留時間と、前記計算されたサーバでの処理時間と、前記品質要件とに基づいて、前記処理要求メッセージに対する処理が品質要件を満たすか否かを判断し、満たすと判断すると、前記メッセージキューのサイズの増加と、前記スレッドの並列処理数の上限値の増加との少なくとも一方を行う構成を採用できる。処理要求メッセージに対する処理が、品質要件を満たすときには、メッセージキューのサイズを大きくして処理要求メッセージの入力数を増やし、スレッドの並列処理数を増やして、サーバで同時に処理される処理要求メッセージ数を増やす。品質要件を満たす範囲で、処理要求メッセージの入力数、サーバでの処理の同時実行数を増やすことで、サーバ性能を最大限に活用することができる。   In the service control apparatus of the present invention, the control rule determination unit performs processing on the processing request message based on the retention time of the message, the calculated processing time at the server, and the quality requirement. It is possible to adopt a configuration in which it is determined whether or not the condition is satisfied, and if it is determined that the condition is satisfied, at least one of an increase in the size of the message queue and an increase in the upper limit value of the parallel processing number of the thread can be employed. When processing for processing request messages satisfies the quality requirements, the message queue size is increased to increase the number of processing request messages input, the number of parallel processing of threads is increased, and the number of processing request messages processed simultaneously by the server is increased. increase. By increasing the number of processing request messages input and the number of simultaneous executions of processing in the server within the range that satisfies the quality requirements, the server performance can be utilized to the maximum.

本発明のサービス制御装置では、前記制御ルール決定部は、前記処理要求メッセージに対する処理が前記品質要件を満たすと判断すると、前記メッセージキューのサイズが所定の初期値よりも小さいか否かを調べ、前記初期値よりも小さいときには、前記メッセージキューのサイズを増やし、前記メッセージキューのサイズが前記初期値よりも小さくないときには、前記スレッドの並列処理数の上限値を増やす構成を採用できる。品質要件を満たす場合であって、現在の状態が、メッセージキューのサイズを小さくして処理要求メッセージの入力数を抑制している状態であるときには、メッセージキューのサイズを大きくすることで、受信遅延を解除し、入力処理要求メッセージの抑制を解除する。また、入力処理要求メッセージの抑制を行っていない状態であるときには、スレッドの並列処理数の上限値を増加させて、サーバでの並列処理数を増加させる。このように制御することで、サーバ性能を最大限に活用できる。   In the service control device of the present invention, when the control rule determination unit determines that the processing for the processing request message satisfies the quality requirement, the control rule determination unit checks whether the size of the message queue is smaller than a predetermined initial value, When the size is smaller than the initial value, the size of the message queue is increased. When the size of the message queue is not smaller than the initial value, the upper limit value of the number of parallel processes of the thread can be increased. When the quality requirement is satisfied and the current state is a state in which the message queue size is reduced and the number of processing request messages input is suppressed, the reception delay is increased by increasing the message queue size. Is released and the suppression of the input processing request message is released. When the input processing request message is not suppressed, the upper limit value of the parallel processing number of threads is increased to increase the parallel processing number in the server. By controlling in this way, the server performance can be utilized to the maximum.

本発明のサービス制御装置では、前記スレッドは、前記サーバでの前記処理要求メッセージに対する処理の開始から処理の終了までの間の処理時間の実測値を計測し、前記制御ルール決定部は、前記計算されたサーバでの処理時間と、前記処理時間の実測値とに基づいて、前記計算されたサーバでの処理時間と前記処理時間の実測値との差が小さくなるように、前記メッセージ重みルールを補正する構成を採用できる。この場合、受信した処理要求メッセージに基づいて計算されたサーバでの処理時間の精度を向上できる。   In the service control apparatus of the present invention, the thread measures an actual measurement value of a processing time from the start of processing to the end of processing for the processing request message in the server, and the control rule determination unit includes the calculation The message weight rule is set so that a difference between the calculated processing time at the server and the measured value of the processing time is reduced based on the processing time at the calculated server and the measured value of the processing time. A configuration for correcting can be adopted. In this case, the accuracy of the processing time at the server calculated based on the received processing request message can be improved.

本発明のサービス制御装置では、前記メッセージ受信制御部は、前記処理要求メッセージを受信すると、前記メッセージキューに空きがあるか否かを判断し、空きがないと判断すると、空きが発生するまで前記処理要求メッセージの受信処理を遅延する構成を採用できる。この場合、前記メッセージ受信制御部は、前記メッセージキューに処理要求メッセージを格納すると、該処理要求メッセージの送信元に、受信完了を示す応答を送信する構成を採用できる。このようにする場合には、送信元のサーバでは、送信した処理要求メッセージがメッセージキューに格納されるまでメッセージ送信が完了しないことで、次の処理要求メッセージに対する処理を開始できない。これにより、メッセージキューのサイズに応じた受信遅延を行うことができ、メッセージキューのサイズに応じて、送信元サーバから送信される処理要求メッセージの数を抑制することができる。   In the service control apparatus of the present invention, when the message reception control unit receives the processing request message, the message reception control unit determines whether or not there is a vacancy in the message queue. It is possible to adopt a configuration that delays reception processing of a processing request message. In this case, when the message reception control unit stores the processing request message in the message queue, the message reception control unit can transmit a response indicating the completion of reception to the transmission source of the processing request message. In this case, the transmission source server cannot start processing for the next processing request message because the message transmission is not completed until the transmitted processing request message is stored in the message queue. Thereby, reception delay according to the size of the message queue can be performed, and the number of processing request messages transmitted from the transmission source server can be suppressed according to the size of the message queue.

本発明のサービス制御方法及びプログラムは、前記制御ルール決定ステップでは、前記メッセージの滞留時間と、前記計算されたサーバでの処理時間と、前記品質要件とに基づいて、前記処理要求メッセージに対する処理が品質要件を満たすか否かを判断し、満たさないと判断すると、前記メッセージキューのサイズ減少と、前記スレッドの並列処理数の上限値の減少との少なくとも一方を行う構成を採用できる。   In the service control method and the program according to the present invention, in the control rule determination step, processing for the processing request message is performed based on the retention time of the message, the calculated processing time at the server, and the quality requirement. If it is determined whether or not the quality requirement is satisfied, and it is determined that the quality requirement is not satisfied, a configuration in which at least one of the size reduction of the message queue and the upper limit value of the parallel processing number of the thread can be adopted.

本発明のサービス制御方法及びプログラムは、制御ルール決定ステップでは、前記処理要求メッセージに対する処理が前記品質要件を満たさないと判断すると、前記スレッドの並列処理数の上限値を減らし、該スレッドの並列処理数の上限値の減少後での前記サーバでの処理時間と、前記メッセージの滞留時間と、前記品質要件とに基づいて、前記スレッドの並列処理数の上限値が減少した状態における前記処理要求メッセージに対する処理が品質要件を満たすか否かを判断し、満たさないと判断すると、前記メッセージキューのサイズを減らす構成を採用できる。   In the service control method and the program of the present invention, in the control rule determination step, when it is determined that the processing for the processing request message does not satisfy the quality requirement, the upper limit value of the parallel processing number of the thread is reduced, and the parallel processing of the thread is performed. The processing request message in a state where the upper limit value of the parallel processing number of the thread is reduced based on the processing time at the server after the upper limit value of the number is decreased, the residence time of the message, and the quality requirement If it is determined whether or not the processing for the above satisfies the quality requirement and it is determined that the processing does not satisfy the quality requirement, a configuration for reducing the size of the message queue can be adopted.

本発明のサービス制御方法及びプログラムは、前記制御ルール決定ステップでは、前記メッセージの滞留時間と、前記計算されたサーバでの処理時間と、前記品質要件とに基づいて、前記処理要求メッセージに対する処理が品質要件を満たすか否かを判断し、満たすと判断すると、前記メッセージキューのサイズの増加と、前記スレッドの並列処理数の上限値の増加との少なくとも一方を行う構成を採用できる。   In the service control method and the program according to the present invention, in the control rule determination step, processing for the processing request message is performed based on the retention time of the message, the calculated processing time at the server, and the quality requirement. If it is determined whether or not the quality requirement is satisfied and it is determined that the quality requirement is satisfied, a configuration in which at least one of an increase in the size of the message queue and an increase in the upper limit value of the parallel processing number of the thread can be employed.

本発明のサービス制御方法及びプログラムは、前記制御ルール決定ステップでは、前記処理要求メッセージに対する処理が前記品質要件を満たすと判断すると、前記メッセージキューのサイズが所定の初期値よりも小さいか否かを調べ、前記初期値よりも小さいときには、前記メッセージキューのサイズを増やし、前記メッセージキューのサイズが前記初期値よりも小さくないときには、前記スレッドの並列処理数の上限値を増やす構成を採用できる。   In the service control method and program of the present invention, in the control rule determination step, when it is determined that the processing for the processing request message satisfies the quality requirement, it is determined whether or not the size of the message queue is smaller than a predetermined initial value. As a result, when the size is smaller than the initial value, the size of the message queue is increased, and when the size of the message queue is not smaller than the initial value, the upper limit value of the parallel processing number of the thread can be increased.

本発明のサービス制御方法は、前記サービス制御装置が、前記スレッドにおける、前記サーバでの前記処理要求メッセージに対する処理の開始から処理の終了までの間の処理時間の実測値を計測するステップと、前記サービス制御装置が、前記計算されたサーバでの処理時間と、前記処理時間の実測値とに基づいて、前記計算されたサーバでの処理時間と前記処理時間の実測値との差が小さくなるように、前記メッセージ重みルールを補正するステップとを更に有する構成を採用できる。本発明のプログラムは、前記コンピュータに、前記スレッドにおける、前記サーバでの前記処理要求メッセージに対する処理の開始から処理の終了までの間の処理時間の実測値を計測するステップと、前記計算されたサーバでの処理時間と、前記処理時間の実測値とに基づいて、前記計算されたサーバでの処理時間と前記処理時間の実測値との差が小さくなるように、前記メッセージ重みルールを補正するステップとを更に実行させる構成を採用できる。   In the service control method of the present invention, the service control device measures an actual measurement value of a processing time from the start of processing to the end of processing for the processing request message in the server in the thread; The service control device reduces a difference between the calculated processing time at the server and the measured value of the processing time based on the calculated processing time at the server and the measured value of the processing time. And a step of correcting the message weight rule. The program of the present invention includes a step of measuring an actual measurement value of a processing time from the start of processing to the end of processing in the thread for the processing request message in the server, and the calculated server Correcting the message weight rule so that a difference between the calculated processing time at the server and the measured value of the processing time is reduced based on the processing time at the time and the measured value of the processing time. It is possible to adopt a configuration that further executes

本発明のサービス制御方法及びプログラムは、前記メッセージ受信ステップでは、前記処理要求メッセージを受信すると、前記メッセージキューに空きがあるか否かを判断し、空きがないと判断すると、空きが発生するまで前記処理要求メッセージの受信処理を遅延する構成を採用できる。   In the service control method and program of the present invention, in the message reception step, when the processing request message is received, it is determined whether or not there is an empty space in the message queue. A configuration for delaying the reception processing of the processing request message can be employed.

本発明のサービス制御方法及びプログラムは、前記メッセージ受信ステップでは、前記メッセージキューに処理要求メッセージを格納すると、該処理要求メッセージの送信元に、受信完了を示す応答を送信する構成を採用できる。   The service control method and program of the present invention can employ a configuration in which, in the message reception step, when a processing request message is stored in the message queue, a response indicating reception completion is transmitted to the transmission source of the processing request message.

本発明の分散サービス制御システムは、複数のサーバ間で処理要求メッセージを受け渡し、連携動作する分散サービス制御システムであって、前記各サーバが、前記処理要求メッセージの入力段に、上記本発明のサービス制御装置を有することを特徴とする。   The distributed service control system of the present invention is a distributed service control system that delivers a processing request message between a plurality of servers and operates in cooperation with each other, and each of the servers at the input stage of the processing request message It has a control device.

本発明の分散サービス制御システムでは、サービス制御装置によって、各サーバにてサービス品質要件が満たされるように、メッセージキューのサイズ変更による受信遅延やスレッドの並列処理数の上限値が制御される。このため、システム全体として、サービス品質要件を満たした処理を実現できる。また、このとき、サーバ間の連携フローにて、隣接するサーバの分散サービス制御装置間で、受信遅延や並列処理数が相互に影響し、自動的に適切な実行配分に到達する。これにより、システム全体として、サービス品質要件を満たしつつ、各サーバの能力を活用した処理が実現できる。   In the distributed service control system of the present invention, the service control device controls the upper limit of the reception delay and the parallel processing number of threads by changing the size of the message queue so that the service quality requirement is satisfied at each server. For this reason, the process which satisfy | filled service quality requirements is realizable as the whole system. At this time, in the cooperation flow between the servers, the reception delay and the number of parallel processes influence each other between the distributed service control devices of adjacent servers, and the appropriate execution distribution is automatically reached. Thereby, as a whole system, processing that utilizes the capabilities of each server can be realized while satisfying the service quality requirements.

本発明のサービス制御装置、方法、及び、プログラムでは、受信した処理要求メッセージに対するサーバでの処理量と、処理要求メッセージのメッセージキュー滞留時間とに基づいて、所定のサービス品質要件が満たされるか否かを判断し、メッセージキューのサイズと、サーバでの並列処理数の上限値とを制御する。サービス品質要件が満たせなくなると予想されるときには、処理要求メッセージの処理数を抑制し、満たせると予想されるときには、処理要求メッセージの処理数を増加させることで、サービス品質を満たしつつ、サーバの処理能力を最大限に引き出した処理を実現できる。   In the service control device, method, and program of the present invention, whether or not a predetermined service quality requirement is satisfied based on the processing amount at the server for the received processing request message and the message queue residence time of the processing request message. To determine the size of the message queue and the upper limit value of the number of parallel processes in the server. When it is expected that the service quality requirement will not be satisfied, the number of processing request messages is suppressed, and when it is expected to be satisfied, the number of processing request messages is increased to satisfy the service quality while processing the server. Processing that maximizes its capabilities can be realized.

本発明の分散サービス制御システムでは、本発明のサービス制御装置が、各サーバでサービス品質を満たした処理を実現することで、システム全体として、サービス品質を満たした処理を実現できる。また、サーバ間の連携フローにて、隣接するサーバの分散サービス制御装置間で、受信遅延や並列処理数が相互に影響し、自動的に適切な実行配分に到達することで、システム全体として、サービス品質要件を満たしつつ、各サーバの能力を活用した処理が実現できる。   In the distributed service control system according to the present invention, the service control apparatus according to the present invention realizes processing satisfying the service quality in each server, thereby realizing processing satisfying the service quality as a whole system. Also, in the cooperation flow between servers, the reception delay and the number of parallel processes affect each other between the distributed service control devices of adjacent servers, and automatically reach an appropriate execution distribution, so that the entire system, Processing that utilizes the capabilities of each server can be realized while satisfying service quality requirements.

以下、図面を参照し、本発明の実施の形態を詳細に説明する。図1は、本発明の一実施形態の分散サービス制御装置の構成を示している。分散サービス制御装置100は、メッセージ受信制御部110、メッセージ状態管理部120、メッセージキュー130、処理要求管理部140、制御ルール決定部150、及び、サービス品質性能保管部160を有する。分散サービス制御装置100は、複数のサーバがメッセージ交換により連携して動作するシステム中に、サービスを実行するサーバ(メッセージ処理部)の前段に中継装置として配置され、処理要求メッセージの送信及び受信を中継する。分散サービス制御装置100は、サーバがサービスの性能に関する品質を保つように、自動的に、メッセージ通信及びサーバ処理の制御を行う。分散サービス制御装置100は、サーバと同一のコンピュータシステム内に構築されていてもよく、又は、サーバとは別のコンピュータを用いて構築されてもよい。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. FIG. 1 shows the configuration of a distributed service control apparatus according to an embodiment of the present invention. The distributed service control apparatus 100 includes a message reception control unit 110, a message state management unit 120, a message queue 130, a processing request management unit 140, a control rule determination unit 150, and a service quality performance storage unit 160. The distributed service control device 100 is arranged as a relay device in the preceding stage of a server (message processing unit) that executes a service in a system in which a plurality of servers operate in cooperation by exchanging messages, and transmits and receives processing request messages. Relay. The distributed service control apparatus 100 automatically controls message communication and server processing so that the server maintains quality related to service performance. The distributed service control apparatus 100 may be constructed in the same computer system as the server, or may be constructed using a computer different from the server.

メッセージ受信制御部110は、他サーバからの処理要求メッセージの受信を制御する。メッセージ状態管理部120は、メッセージ重み計算部121と、メッセージ重み保管部122とを備える。メッセージ状態管理部120は、処理要求メッセージごとに、サーバ処理量を計算する。メッセージ重み保管部122は、処理要求メッセージの構造に基づいてサーバでの処理量を計算するためのメッセージ重みルールを保管する。メッセージ重み計算部121は、処理要求メッセージと、メッセージ重みルールとに基づいて、処理要求メッセージに対する処理量、すなわちサーバでの処理時間の予測値を計算する。メッセージ重み計算部121は、計算したサーバでの処理量を、メッセージ重み情報としてメッセージ重み保管部122に保管する。   The message reception control unit 110 controls reception of processing request messages from other servers. The message state management unit 120 includes a message weight calculation unit 121 and a message weight storage unit 122. The message state management unit 120 calculates a server processing amount for each processing request message. The message weight storage unit 122 stores a message weight rule for calculating the processing amount at the server based on the structure of the processing request message. The message weight calculation unit 121 calculates a processing amount for the processing request message, that is, a predicted value of processing time at the server, based on the processing request message and the message weight rule. The message weight calculation unit 121 stores the calculated processing amount at the server in the message weight storage unit 122 as message weight information.

メッセージキュー130は、サーバへの処理要求メッセージを一時的に蓄積する。メッセージキュー130のサイズは、可変に設定される。処理要求管理部140は、処理要求メッセージをサーバに送信し、サーバに、処理要求メッセージに対する処理を実行させる。処理要求管理部140は、複数の実行可能なスレッド142と、スレッド群制御部141とを有する。スレッド群制御部141は、スレッド142の管理と、スレッド142に対する処理の割り当てとを行いう。スレッド142は、処理要求メッセージをサーバに送信し、処理を実行させる。このスレッド142の数が、サーバ上の並列処理数となる。   The message queue 130 temporarily stores processing request messages to the server. The size of the message queue 130 is set to be variable. The processing request management unit 140 transmits a processing request message to the server, and causes the server to execute processing on the processing request message. The processing request management unit 140 includes a plurality of executable threads 142 and a thread group control unit 141. The thread group control unit 141 manages the thread 142 and assigns processing to the thread 142. The thread 142 transmits a processing request message to the server to execute processing. The number of threads 142 is the number of parallel processes on the server.

サービス品質性能保管部160は、サーバの性能要件として、満たされるべきサービス品質要件に関する情報を保管する。制御ルール決定部150は、処理要求メッセージに対する処理時間とサービス品質要件とに基づいて、メッセージキュー130のサイズ、及び、処理要求管理部140における処理要求メッセージの並列処理数の制御を行う。また、制御ルール決定部150は、メッセージ重みルールを利用して計算されたメッセージ重み情報(サーバ処理量)と、実際のサーバでの処理時間の測定結果とを用いて、メッセージ重みルールの補正(学習)を行う。   The service quality performance storage unit 160 stores information regarding service quality requirements to be satisfied as server performance requirements. The control rule determination unit 150 controls the size of the message queue 130 and the number of parallel processing of the processing request message in the processing request management unit 140 based on the processing time and the service quality requirement for the processing request message. Further, the control rule determination unit 150 uses the message weight information (server processing amount) calculated using the message weight rule and the measurement result of the processing time in the actual server to correct the message weight rule ( Learning).

メッセージ受信制御部110は、処理要求メッセージを受信する。受信された処理要求メッセージは、メッセージ重み計算部121にて、処理要求メッセージに対する処理量が計算された後に、メッセージキュー130に格納される。その際、メッセージ受信制御部110は、メッセージキュー130に空きがあるか否かを調べ、空きがないときには、空きが発生するまで処理要求メッセージの受信を遅延する。メッセージ受信制御部110は、処理要求メッセージをメッセージキュー130に格納すると、メッセージ受信完了を示す応答を、メッセージ送信元に送信する。   The message reception control unit 110 receives a processing request message. The received processing request message is stored in the message queue 130 after the message weight calculation unit 121 calculates the amount of processing for the processing request message. At that time, the message reception control unit 110 checks whether or not the message queue 130 has a vacancy, and if there is no vacancy, the message reception control unit 110 delays reception of the processing request message until the vacancy occurs. When the message reception control unit 110 stores the processing request message in the message queue 130, the message reception control unit 110 transmits a response indicating completion of message reception to the message transmission source.

スレッド群制御部141は、メッセージキュー130から処理要求メッセージを1つ取り出し、スレッド142に対して、サーバに処理要求メッセージを転送して監視する処理を割り当てる。メッセージ受信制御部110は、処理要求メッセージの受信完了後、処理要求メッセージがメッセージキュー130に保管されてから、取り出されるまでの間の時間(キュー滞留時間)を計測する。スレッド142は、サーバに処理要求メッセージを送信して処理を行わせる。その際、スレッド142は、サーバでの処理時間を計測する。   The thread group control unit 141 takes out one processing request message from the message queue 130 and assigns a process for transferring the processing request message to the server and monitoring the thread 142. The message reception control unit 110 measures the time (queue retention time) from when the processing request message is stored in the message queue 130 until it is taken out after reception of the processing request message is completed. The thread 142 transmits a processing request message to the server to perform processing. At that time, the thread 142 measures the processing time in the server.

制御ルール決定部150は、定期的に、メッセージ重み計算部121にて計算された処理要求メッセージに対する処理量、及び、キュー滞留時間と、サービス品質性能保管部160に保管されたサービス品質要件情報とに基づいて、サーバでの処理時間が、サービス品質要件を満たすように、メッセージキュー130のサイズと、処理要求管理部140におけるスレッド142の並列処理数の上限値とを制御する。例えば、サーバ負荷が高く、処理時間がサービス品質性能要件を満たさないときには、スレッド142の並列処理数の上限値を減少させてサーバでの並列処理数を減らし、サーバ負荷を下げる。また、メッセージキュー130のサイズを減らし、処理要求メッセージの受信を遅延させ、処理要求メッセージの受信量を抑制する。   The control rule determination unit 150 periodically performs the processing amount for the processing request message calculated by the message weight calculation unit 121, the queue residence time, and the service quality requirement information stored in the service quality performance storage unit 160. Based on the above, the size of the message queue 130 and the upper limit value of the parallel processing number of the threads 142 in the processing request management unit 140 are controlled so that the processing time at the server satisfies the service quality requirement. For example, when the server load is high and the processing time does not satisfy the service quality performance requirement, the upper limit value of the number of parallel processes of the thread 142 is decreased to reduce the number of parallel processes in the server, thereby reducing the server load. Further, the size of the message queue 130 is reduced, the reception of the processing request message is delayed, and the reception amount of the processing request message is suppressed.

制御ルール決定部150は、メッセージ重み計算部121にて計算されたサーバでの処理時間の予測値と、スレッド142にて計測されたサーバでの処理時間の実測値とを比較し、メッセージ重み計算に用いるメッセージ重みルールの補正を行う。この補正では、サーバ処理時間の予測値と、実測値との差が少なくなるように、メッセージ重みルールを補正する。この補正により、メッセージ重み計算部121で計算されるサーバ処理時間の予測値と、実測値との誤差を減少させることができる。   The control rule determination unit 150 compares the predicted value of the processing time at the server calculated by the message weight calculation unit 121 with the measured value of the processing time at the server measured by the thread 142, and calculates the message weight. The message weight rule used for the correction is corrected. In this correction, the message weight rule is corrected so that the difference between the predicted value of the server processing time and the actual measurement value is reduced. By this correction, an error between the predicted value of the server processing time calculated by the message weight calculation unit 121 and the actual measurement value can be reduced.

図2は、受信処理の動作手順を示している。メッセージ受信制御部110は、処理要求メッセージの受信を開始し(ステップS111)、メッセージキュー130に空きがあるか否かを判断する(ステップS112)。ステップS112では、例えばメッセージキュー130のサイズが「20」に設定されているときには、メッセージキュー130のエントリがすでに20個使用されているか否かを判断する。空きがない場合には、空きが発声するまで、受信遅延を行う(ステップS121)。   FIG. 2 shows an operation procedure of the reception process. The message reception control unit 110 starts receiving the processing request message (step S111), and determines whether or not the message queue 130 is empty (step S112). In step S112, for example, when the size of the message queue 130 is set to “20”, it is determined whether or not 20 entries of the message queue 130 are already used. If there is no space, the reception delay is performed until the space is uttered (step S121).

メッセージ受信制御部110は、メッセージキュー130に空きが存在する場合、すなわち処理要求メッセージをメッセージキュー130に格納可能な状態であれば、処理要求メッセージの送信元に、受信完了のメッセージを送信する(ステップS113)。ステップS113では、例えば、HTTPプロトコルのPOSTリクエストで処理要求メッセージが送信されたときには、受信完了を示す値を返却する。その後、メッセージ受信制御部110は、メッセージ重み計算部121に受信した要求処理メッセージを送る。メッセージ重み計算部121は、受け取った要求処理メッセージのメッセージ構造を解析し、解析したメッセージ構造と、メッセージ重み保管部122に保管されたメッセージ重みルールとに基づいて、処理要求メッセージに対するサーバでの処理量の計算を行う(ステップS114)。   If there is an empty space in the message queue 130, that is, if the processing request message can be stored in the message queue 130, the message reception control unit 110 transmits a reception completion message to the transmission source of the processing request message ( Step S113). In step S113, for example, when a processing request message is transmitted by an HTTP protocol POST request, a value indicating reception completion is returned. Thereafter, the message reception control unit 110 sends the received request processing message to the message weight calculation unit 121. The message weight calculation unit 121 analyzes the message structure of the received request processing message, and processes the processing request message on the server based on the analyzed message structure and the message weight rule stored in the message weight storage unit 122. The amount is calculated (step S114).

図3に、一般的な処理要求メッセージのエンベロープの具体例を示す。処理要求メッセージ180は、エンベロープのヘッダに、処理要求メッセージの宛先等を持つ。また、エンベロープのボディに構造化文書を持ち、オプションとして、添付データに画像等のバイナリデータを含む。構造化文書は、例えば機器発注書に相当するデータの場合には、部品の個数分だけタグが繰り返される。サーバでの処理量(処理時間)は、タグの個数や添付データの有無、サイズ等に依存する。このサーバ処理量に関わる部分をメッセージ重みルールとして保管し、サーバ処理時間の予測に用いる。   FIG. 3 shows a specific example of a general processing request message envelope. The processing request message 180 has the destination of the processing request message in the header of the envelope. It also has a structured document in the envelope body and optionally includes binary data such as images in the attached data. If the structured document is data corresponding to, for example, a device purchase order, tags are repeated by the number of parts. The amount of processing (processing time) at the server depends on the number of tags, presence / absence of attached data, size, and the like. The part related to the server processing amount is stored as a message weight rule and used for prediction of the server processing time.

図4に、メッセージ重みルールの構造を示す。メッセージ重みルール190は、メッセージの種類ごとに、ルール(191〜19n)を管理する。各ルールには、メッセージ種別に応じた処理量計算のルールが記述される。例えば、あるメッセージ種別については、タグの個数が0〜5のときは、タグの個数×時間Aをサーバ処理量とし、タグ個数が5を超えるときにはタグの個数×時間Bをサーバ処理量として計算する旨のルールが記述される。また、「添付ファイルあり」のときには、処理量を処理量Aだけ増加させる旨のルールが記述される。   FIG. 4 shows the structure of the message weight rule. The message weight rule 190 manages the rules (191 to 19n) for each message type. In each rule, a rule for calculating the amount of processing corresponding to the message type is described. For example, for a certain message type, when the number of tags is 0 to 5, the number of tags × time A is used as the server processing amount, and when the number of tags exceeds 5, the number of tags × time B is calculated as the server processing amount. A rule to do so is described. In addition, when “attached file exists”, a rule that increases the processing amount by the processing amount A is described.

図2に戻り、ステップS114では、まず、処理要求メッセージのメッセージ種別を判別して、メッセージ重みルール190のうちの何れのルールを用いるかを決定する。その後、処理要求メッセージに含まれるタグの個数、添付ファイルの有無等のメッセージ構造と、処理要求メッセージのメッセージ種別に対応したルールとに基づいて、サーバ処理量を計算する。メッセージ重みルールは、サービスの処理内容があらかじめわかっている場合には、外部から設定することができる。サービスの処理内容がわからない場合には、サーバでの処理を実際に行い、その処理時間の実測値に基づいて導出しても良い。   Returning to FIG. 2, in step S <b> 114, first, the message type of the processing request message is determined, and which of the message weight rules 190 is to be used is determined. Thereafter, the server processing amount is calculated based on the message structure such as the number of tags included in the processing request message, the presence / absence of an attached file, and the rules corresponding to the message type of the processing request message. The message weight rule can be set from the outside when the processing content of the service is known in advance. When the processing contents of the service are not known, the processing at the server may be actually performed and derived based on the actually measured value of the processing time.

メッセージ重み計算部121は、サーバ処理量を計算すると、その計算結果を、メッセージ重み情報としてメッセージ重み保管部122に保管する(ステップS115)。メッセージ重み情報の構造を図5に示す。メッセージ重み情報200は、処理要求メッセージのメッセージIDと、サーバでの処理量を示すメッセージ重み201〜20nとを有する。メッセージ重み計算部121は、メッセージ重み情報の保管後、処理要求メッセージをメッセージキュー130に転送し、処理要求メッセージをメッセージキュー130に各のゆする(ステップS116)。なお、この処理要求メッセージのメッセージキューへの格納と、メッセージ重み計算とは、どちらを先に行ってもよい。   When calculating the server throughput, the message weight calculation unit 121 stores the calculation result in the message weight storage unit 122 as message weight information (step S115). The structure of message weight information is shown in FIG. The message weight information 200 includes a message ID of the processing request message and message weights 201 to 20n indicating the processing amount at the server. After storing the message weight information, the message weight calculation unit 121 transfers the processing request message to the message queue 130 and passes the processing request message to the message queue 130 (step S116). Note that either the storage of the processing request message in the message queue or the calculation of the message weight may be performed first.

図6は、スレッド割当ての処理手順を示している。スレッドの割当ては、図2に示す受信処理とは独立して実行される。スレッド群制御部141は、システムの運用開始前にあらかじめ設定された複数の実行可能なスレッド142を持つ。システムの運用開始後、スレッド群制御部141は、自身が管理するスレッド群に空きスレッドが存在するか否かを判断する(ステップS211)。空きスレッドがない場合には、ステップS211を繰り返し実行し、空きスレッドの監視を続行する。   FIG. 6 shows a processing procedure for thread assignment. The thread assignment is executed independently of the reception process shown in FIG. The thread group control unit 141 has a plurality of executable threads 142 set in advance before the start of system operation. After starting the operation of the system, the thread group control unit 141 determines whether there is an empty thread in the thread group managed by the thread group control unit 141 (step S211). If there is no free thread, step S211 is repeatedly executed to continue monitoring the free thread.

スレッド群制御部141は、ステップS211で空きスレッドがあると判断すると、メッセージキュー130にメッセージが滞留しているか否かを調べる(ステップS212)。メッセージが滞留している場合には、スレッド142に対して起動通知を通知する(ステップS213)。メッセージが滞留していない場合には、ステップS211に戻り、空きスレッドの監視を続ける。   If the thread group control unit 141 determines that there is an empty thread in step S211, the thread group control unit 141 checks whether a message is retained in the message queue 130 (step S212). If the message remains, the activation notification is notified to the thread 142 (step S213). If the message is not retained, the process returns to step S211 to continue monitoring the free thread.

図7は、スレッド142の動作手順を示している。スレッド142は、スレッド群制御部141から起動通知を受けると(ステップS311)、メッセージキュー130から処理要求メッセージを1つ取得する(ステップS312)。その後、サービスの開始時刻を計測して(ステップS313)、処理要求メッセージをサービスを実行するサーバに転送する(ステップS314)。スレッド142は、処理要求メッセージの転送後、サーバでの処理が終了したか否かを判断し、サーバでの処理(サービス)が実行終了されるまで待機する(ステップS315)。   FIG. 7 shows an operation procedure of the thread 142. When the thread 142 receives the activation notification from the thread group control unit 141 (step S311), the thread 142 acquires one processing request message from the message queue 130 (step S312). Thereafter, the service start time is measured (step S313), and the processing request message is transferred to the server that executes the service (step S314). After transferring the processing request message, the thread 142 determines whether or not the processing at the server is finished, and waits until the processing (service) at the server is finished (step S315).

スレッド142は、サーバで処理が終了したと判断すると、サービスの終了時刻を計測する(ステップS316)。スレッド142は、ステップS313で計測したサービスの開始時刻と、ステップS316で計測したサービスの終了時刻との差から、サービスの実行時間を割り出す。スレッド142は、サービス実行時間を割りだすと、サービス実行時間を制御ルール決定部150に通知する(ステップS317)。その後、サービスの完了をスレッド群制御部141に通知する(ステップS318)。この通知を受けたスレッド群制御部141は、処理が終了したスレッド142を、空きスレッドとして管理する。   If the thread 142 determines that the process is completed at the server, the thread 142 measures the end time of the service (step S316). The thread 142 calculates the service execution time from the difference between the service start time measured in step S313 and the service end time measured in step S316. When the thread 142 calculates the service execution time, the thread 142 notifies the control rule determination unit 150 of the service execution time (step S317). Thereafter, the completion of the service is notified to the thread group control unit 141 (step S318). Receiving this notification, the thread group control unit 141 manages the thread 142 that has been processed as an empty thread.

図8は、制御ルール決定部150におけるメッセージ重みルール補正の動作手順を示している。制御ルール決定部150は、スレッド142から、サービス実行時間、すなわち、処理要求メッセージに対する実際のサーバでの処理時間を取得する(ステップS351)。また、制御ルール決定部150は、メッセージ重み保管部122から、メッセージ重み情報200(図5)と、メッセージ重みルール190(図4)とを取得する(ステップS352)。   FIG. 8 shows an operation procedure of message weight rule correction in the control rule determination unit 150. The control rule determination unit 150 acquires the service execution time, that is, the processing time at the actual server for the processing request message, from the thread 142 (step S351). Further, the control rule determination unit 150 acquires the message weight information 200 (FIG. 5) and the message weight rule 190 (FIG. 4) from the message weight storage unit 122 (step S352).

制御ルール決定部150は、処理要求メッセージに対する実際のサービス実行時間と、メッセージ重みルールを用いて計算されたサーバでの処理時間の予測値との差に基づいて、メッセージ重みルールを補正する(ステップS353)。この補正では、処理要求メッセージのメッセージ構造を用いてメッセージ重みを計算した際に、そのメッセージ重みが実際のサービス実行時間に近づくように、メッセージ重みルールを補正する。このメッセージ重みルールの補正を繰り返し行うことで、サーバでの処理時間の予測値の精度が向上する。   The control rule determination unit 150 corrects the message weight rule based on the difference between the actual service execution time for the processing request message and the estimated processing time at the server calculated using the message weight rule (step S353). In this correction, when the message weight is calculated using the message structure of the processing request message, the message weight rule is corrected so that the message weight approaches the actual service execution time. By repeatedly correcting the message weight rule, the accuracy of the predicted value of the processing time at the server is improved.

図9は、制御ルール決定部150における制御ルール導出の動作手順を示している。この制御ルール導出の動作は、周期的に繰り返し行われ、上記メッセージ重みルールの補正の動作とは独立して行われる。制御ルール決定部150は、メッセージ重み保管部122からメッセージ重み情報200(図5)を取得し(ステップS411)、メッセージ受信制御部110から、メッセージキュー130の平均メッセージ滞留時間を取得する(ステップS412)。   FIG. 9 shows an operation procedure for deriving a control rule in the control rule determination unit 150. This control rule derivation operation is periodically repeated, and is performed independently of the message weight rule correction operation. The control rule determination unit 150 acquires the message weight information 200 (FIG. 5) from the message weight storage unit 122 (step S411), and acquires the average message residence time of the message queue 130 from the message reception control unit 110 (step S412). ).

続いて、制御ルール決定部150は、サービス品質性能保管部160から、あらかじめサービスレベルの要件として設定されたサービス品質要件情報を取得する(ステップS413)。図10に、サービス品質要件情報の構造を示す。サービス品質要件情報170は、サービスごとに、満たされるべきサービス品質要件として要件171〜17nを有する。制御ルール決定部150は、取得したメッセージ重み情報とメッセージ滞留時間とに対して、サービス品質要件が満たせるか否かを判断する(ステップS414)。   Subsequently, the control rule determination unit 150 acquires service quality requirement information set in advance as a service level requirement from the service quality performance storage unit 160 (step S413). FIG. 10 shows the structure of service quality requirement information. The service quality requirement information 170 has requirements 171 to 17n as service quality requirements to be satisfied for each service. The control rule determination unit 150 determines whether or not the service quality requirement can be satisfied for the acquired message weight information and message retention time (step S414).

図11に、処理要求メッセージに対する処理の実行時間を示す。処理実行時間は、大きく分けて、受信処理に要する時間、処理待ちに要する時間(キュー滞留時間)、サービス実行に要する時間、及び、次サービス(次サーバ)への送信処理に要する時間の4つの要素がある。ステップS411で取得されたメッセージ重みは、サービスの実行開始から、次サーバへのメッセージ送信完了までの間のサービス実行時間の予測値に相当する。このサービス実行時間(予測値)に、キュー滞留時間(処理待ち時間)を加えたものが見かけ上のサービス実行時間(予測値)となる。ステップS414では、この見かけ上のサービス実行時間の予測値がサービス品質要件を満たすか否かを判断する。   FIG. 11 shows the processing execution time for the processing request message. The processing execution time can be roughly divided into four times: time required for reception processing, time required for processing waiting (queue retention time), time required for service execution, and time required for transmission processing to the next service (next server). There are elements. The message weight acquired in step S411 corresponds to a predicted value of the service execution time from the start of service execution to the completion of message transmission to the next server. The service execution time (predicted value) is obtained by adding the queue residence time (processing waiting time) to the service execution time (predicted value). In step S414, it is determined whether or not the predicted value of the apparent service execution time satisfies the service quality requirement.

制御ルール決定部150は、ステップS414でサービス品質要件を満たせないと判断すると、スレッド群制御部141に、並列実行可能なスレッド数の減少を通知する(ステップS421)。この通知を受けたスレッド群制御部141は、その通知内容に従って、実行可能なスレッド142の上限値を減少させる。スレッド142の上限値を減少させることで、サーバでの並列処理数が減少し、サーバ負荷が下がることで、サービス実行時間の短縮が期待できる。ステップS421では、例えば、メッセージ重みとサービス品質要件との差に基づいて、その差が大きいほど、スレッド数の減少数を大きくする。   If the control rule determination unit 150 determines that the service quality requirement cannot be satisfied in step S414, the control rule determination unit 150 notifies the thread group control unit 141 of a decrease in the number of threads that can be executed in parallel (step S421). Upon receiving this notification, the thread group control unit 141 decreases the upper limit value of the executable thread 142 in accordance with the notification content. By reducing the upper limit value of the thread 142, the number of parallel processes in the server is reduced, and the server load is reduced, so that the service execution time can be expected to be shortened. In step S421, for example, based on the difference between the message weight and the service quality requirement, the decrease in the number of threads is increased as the difference increases.

続いて、制御ルール決定部150は、スレッド数の減少後に、サービス品質要件を満たせるか否かを判断する(ステップS422)。ステップS422では、例えば、あらかじめスレッド数の減少によりサービス実行時間がどの程度短縮されるのかを見込んでおき、ステップS411で取得したメッセージ重みからサービス実行時間の短縮分を減算した値とメッセージキュー滞留時間との和が、サービス品質要件を満たせるか否かを判断する。   Subsequently, the control rule determination unit 150 determines whether or not the service quality requirement can be satisfied after the decrease in the number of threads (step S422). In step S422, for example, it is estimated in advance how much the service execution time is shortened by reducing the number of threads, and a value obtained by subtracting the shortened service execution time from the message weight acquired in step S411 and the message queue residence time. It is determined whether or not the sum can satisfy the service quality requirement.

制御ルール決定部150は、ステップS422で、スレッド数の減少後においてもサービス品質要件を満たせないと判断すると、受信遅延を行う旨を決定し、メッセージキュー130のサイズを減少させる(ステップS423)。ステップS423では、例えば、ステップS422でサービス品質要件を満たせるかを判断した際のサービス実行時間の予測値とサービス品質要件との差が大きいほど、メッセージキュー130のサイズを小さく設定する。ステップS422でサービス品質要件を満たせると判断したときには、受信遅延は行わない。   If the control rule determination unit 150 determines in step S422 that the service quality requirement cannot be satisfied even after the number of threads is decreased, the control rule determination unit 150 determines to perform reception delay and decreases the size of the message queue 130 (step S423). In step S423, for example, the size of the message queue 130 is set to be smaller as the difference between the predicted service execution time and the service quality requirement when it is determined in step S422 that the service quality requirement can be satisfied. When it is determined in step S422 that the service quality requirement can be satisfied, no reception delay is performed.

ステップS423では、例えばメッセージキュー130のサイズを、あらかじめ定められた初期値よりも小さいサイズに設定する。これにより、サイズ減少後、そのサイズの減少分に見合った分だけ、メッセージ受信制御部110にて受信遅延が行われる(図2のステップS121)ことになり、処理要求メッセージの単位時間当たりの受付け数が減少する。このように、処理要求メッセージの受付け数を抑制することで、メッセージキュー130に処理要求メッセージが滞留する時間が減少して、見かけ上のサービス時間(図11)の短縮を図ることができる。   In step S423, for example, the size of the message queue 130 is set to a size smaller than a predetermined initial value. As a result, after the size reduction, the message reception control unit 110 delays reception by an amount corresponding to the size reduction (step S121 in FIG. 2), and accepts the processing request message per unit time. The number decreases. In this way, by suppressing the number of received processing request messages, the time for which the processing request message stays in the message queue 130 is reduced, and the apparent service time (FIG. 11) can be shortened.

ステップS414で、サービス品質要件を満たせると判断した場合には、制御ルール決定部150は、メッセージ受信制御部110にて受信遅延が行われているか否かを調べる(ステップS415)。ステップS415では、例えばメッセージキュー130のサイズが、所定の初期値よりも小さければ、受信遅延が行われていると判断する。受信遅延が行われている場合には、メッセージキュー130のサイズを所定数だけ増加させ、受信遅延を解除する(ステップS431)。以降、メッセージ受信制御部110は、増加したメッセージキュー130のサイズに見合った入力数の処理要求メッセージを受信する。   If it is determined in step S414 that the service quality requirement can be satisfied, the control rule determination unit 150 checks whether or not the reception delay is performed in the message reception control unit 110 (step S415). In step S415, for example, if the size of the message queue 130 is smaller than a predetermined initial value, it is determined that reception delay is performed. If reception delay is performed, the size of the message queue 130 is increased by a predetermined number, and the reception delay is canceled (step S431). Thereafter, the message reception control unit 110 receives the number of processing request messages corresponding to the increased size of the message queue 130.

制御ルール決定部150は、ステップS415で、受信遅延が行われていないと判断したときには、スレッド群制御部141に対して、並列実行可能なスレッド数の上限値の増加を通知する(ステップS416)。スレッド群制御部141は、通知に従って、スレッド数の上限値を増加させ、サーバでの並列処理数の最大値を増加させる。このとき、並列処理数の増加にあわせて、メッセージキュー130のサイズを、初期値よりも増やしてもよい。   When the control rule determination unit 150 determines in step S415 that reception delay is not performed, the control rule determination unit 150 notifies the thread group control unit 141 of an increase in the upper limit value of the number of threads that can be executed in parallel (step S416). . In accordance with the notification, the thread group control unit 141 increases the upper limit value of the number of threads, and increases the maximum value of the parallel processing number in the server. At this time, the size of the message queue 130 may be increased from the initial value in accordance with the increase in the number of parallel processes.

ステップS423でメッセージキュー130のサイズを小さくし、メッセージ受信制御部110での処理要求メッセージの受信遅延を行うと、処理要求メッセージ送信元のサーバは、メッセージ送信後直ちにメッセージ送信処理が完了せずに、相手先のサーバに、処理要求メッセージが到達していないと見える。従って、メッセージ送信元のサーバでは、メッセージ送信にかかる時間が延び、サービス実行時間(図11)が長くなる。メッセージ送信元のサーバにて、サービス実行時間が長くなったことでサービス品質要件を満たせなくなった場合には、スレッドの減少又はメッセージキューのサイズ減少が行われる。このとき、メッセージ送信先のサーバでは、メッセージ受信後の見かけ上のサービス実行時間は処理要求メッセージの受信遅延によって影響を受けないので、メッセージ受信遅延によってサービス処理性能は劣化しない。   If the size of the message queue 130 is reduced in step S423 and the reception of the processing request message is performed by the message reception control unit 110, the server that has transmitted the processing request message does not complete the message transmission processing immediately after the message transmission. It appears that the processing request message has not reached the destination server. Therefore, in the server that is the message transmission source, the time required for message transmission is extended, and the service execution time (FIG. 11) is increased. When the service execution time becomes long and the service quality requirement cannot be satisfied in the message transmission source server, the number of threads or the size of the message queue is reduced. At this time, in the message transmission destination server, the apparent service execution time after receiving the message is not affected by the reception delay of the processing request message, so that the service processing performance is not deteriorated by the message reception delay.

以下、具体例を用いて説明する。図12は、複数のサーバと分散サービス制御装置とを用いた分散サービス制御システムの構成を示している。各サーバ10は、ネットワーク20を介して処理要求メッセージの交換を行い、各サーバ10に割り当てられた業務(サービス)を行う。各サーバ10は、サービスの実行を行うサービス部12のメッセージ入力段に、分散サービス制御装置11を有する。分散サービス制御装置11の構成は、図1に示す分散サービス制御装置100の構成と同じである。各サーバ10のサービス部12は、通信部21と、サービス実行部22とを有する。処理要求メッセージに対する処理は、サービス実行部22で実行される。   Hereinafter, a specific example will be described. FIG. 12 shows the configuration of a distributed service control system using a plurality of servers and a distributed service control device. Each server 10 exchanges processing request messages via the network 20 and performs a task (service) assigned to each server 10. Each server 10 has a distributed service control device 11 at the message input stage of the service unit 12 that executes the service. The configuration of the distributed service control apparatus 11 is the same as the configuration of the distributed service control apparatus 100 shown in FIG. The service unit 12 of each server 10 includes a communication unit 21 and a service execution unit 22. Processing for the processing request message is executed by the service execution unit 22.

図13は、サーバ間での処理要求メッセージのやり取りを示している。図13におけるサーバ51、52、53は、図12における各サーバ10に対応する。また、各サーバの分散サービス制御装置101、102、103は、図12における各サーバの分散サービス制御装置11に対応する。ここでは、業務として、受注業務を考え、分散サービス制御システムで、在庫確認、配送、請求書発行などの一連の業務を、複数のサーバにまたがって実行するものとする。処理要求メッセージは、部品発注に関する情報を含んでいる。各サーバは、処理要求メッセージから部品データを抽出して保管した後に、次のサーバへ処理要求メッセージをそのまま転送する。各サーバにて、処理要求メッセージを分割して複数の処理要求メッセージを生成し、或いは、複数の処理要求メッセージを1つにまとめてバッチ処理を実行することはないものとする。   FIG. 13 shows the exchange of processing request messages between servers. Servers 51, 52, and 53 in FIG. 13 correspond to the servers 10 in FIG. Also, the distributed service control devices 101, 102, 103 of each server correspond to the distributed service control device 11 of each server in FIG. Here, it is assumed that an order receiving operation is considered as an operation, and a series of operations such as inventory confirmation, delivery, invoicing is executed across a plurality of servers in a distributed service control system. The processing request message includes information related to part ordering. Each server extracts and stores part data from the processing request message, and then transfers the processing request message as it is to the next server. In each server, it is assumed that a plurality of processing request messages are generated by dividing a processing request message, or batch processing is not performed by combining a plurality of processing request messages into one.

サーバ性能について、サーバ51、52、53の性能は、それぞれ「高」、「中」、「低」とする。また、各サーバの分散サービス制御装置101、102、103では、処理要求メッセージに対する処理時間の品質要件として、「3秒」が設定されている。メッセージキュー130の初期サイズは、「20」とする。処理要求管理部140におけるスレッド数の上限値は「8」とする。メッセージ状態管理部120のメッセージ重み保管部122(図1)に保管されるメッセージ重みルールには、処理要求メッセージのボディのXML文書に含まれる部品データを示すタグの個数に対する処理時間が設定されている。   Regarding the server performance, the performance of the servers 51, 52, and 53 is “high”, “medium”, and “low”, respectively. In the distributed service control apparatuses 101, 102, and 103 of each server, “3 seconds” is set as the quality requirement for the processing time for the processing request message. The initial size of the message queue 130 is “20”. The upper limit value of the number of threads in the processing request management unit 140 is “8”. In the message weight rule stored in the message weight storage unit 122 (FIG. 1) of the message state management unit 120, the processing time for the number of tags indicating the part data included in the XML document of the body of the processing request message is set. Yes.

サーバ50からサーバ51に、処理要求メッセージが、5件/秒で送信されており、サーバ51からサーバ52、サーバ52からサーバ53、サーバ53からサーバ54にも、処理要求メッセージが、それぞれ5件/秒で送信されているとする。各処理要求メッセージには、3〜5個の部分データ(タグ)が含まれている。この状態で、サーバ53の分散サービス制御装置103では、メッセージキュー130に滞留する処理要求メッセージの平均処理待ち時間は1秒であり、サービス実行部22でのサービス時間は1.5秒であるとする。   A processing request message is transmitted from the server 50 to the server 51 at a rate of 5 messages / second, and 5 processing request messages are transmitted from the server 51 to the server 52, from the server 52 to the server 53, and from the server 53 to the server 54, respectively. Suppose that it is transmitted at / second. Each processing request message includes 3 to 5 partial data (tags). In this state, in the distributed service control apparatus 103 of the server 53, the average processing waiting time of the processing request message staying in the message queue 130 is 1 second, and the service time in the service execution unit 22 is 1.5 seconds. To do.

サーバ50から送信される処理要求メッセージ数が増加し、サーバ50からサーバ51へ、1秒当たり10件の処理要求メッセージが送信されたとする。上流側で処理要求メッセージが増加することで、下流にあるサーバ52、53、54への単位時間当たりの処理要求メッセージ数は増加する。その結果、サーバ51、52、53の中でサーバ性能が最も低いサーバ53では、処理要求メッセージに対する処理が追いつかずに、分散サービス制御装置103のメッセージキュー130に滞留する処理要求メッセージ数が増加して、平均処理待ち時間が増加する。   It is assumed that the number of processing request messages transmitted from the server 50 is increased and 10 processing request messages are transmitted from the server 50 to the server 51 per second. As the number of processing request messages increases on the upstream side, the number of processing request messages to the downstream servers 52, 53, and 54 per unit time increases. As a result, in the server 53 having the lowest server performance among the servers 51, 52, and 53, the processing for the processing request message cannot catch up, and the number of processing request messages staying in the message queue 130 of the distributed service control apparatus 103 increases. Thus, the average processing waiting time increases.

分散サービス制御装置103では、平均処理待ち時間が増加することで、見かけ上のサービス実行時間(図11)が増加する。制御ルール決定部150は、図9のステップS414で、見かけ上のサービス実行時間がサービス品質要件「3秒」を満たさないと判断すると、ステップS421に移行して、スレッド数を減らし、更に、ステップS422で、見かけ上のサービス時間を3秒以内とするためには受信遅延、すなわち、処理要求メッセージの入力数の抑制を行う必要があると判断して、メッセージキュー130のサイズを「20」から「10」に減らし、メッセージ受信制御部110にて受信遅延を行う。   In the distributed service control apparatus 103, the apparent service execution time (FIG. 11) increases as the average processing wait time increases. If the control rule determination unit 150 determines in step S414 in FIG. 9 that the apparent service execution time does not satisfy the service quality requirement “3 seconds”, the control rule determination unit 150 proceeds to step S421 to reduce the number of threads. In S422, it is determined that it is necessary to suppress the reception delay, that is, the number of input processing request messages, in order to make the apparent service time within 3 seconds, and the size of the message queue 130 is changed from “20”. The message is reduced to “10” and the message reception control unit 110 performs reception delay.

メッセージ受信制御部110は、変更後のメッセージキューのサイズ「10」を維持するために、以降に受信する処理要求メッセージの受信処理を遅延し、処理要求メッセージの単位時間当たりの受付数を抑制する。これによりサーバ53の前段のサーバ52のサービス実行部22では、処理要求メッセージの送信処理が完了しないことでメッセージ送信時間(図11)が長くなり、サービス実行時間が延びる。また、その結果、サーバ52の分散サービス制御装置102のメッセージキュー130に処理要求メッセージが滞留する時間も長くなる。   In order to maintain the message queue size “10” after the change, the message reception control unit 110 delays the reception processing of the processing request message received thereafter, and suppresses the number of processing request messages received per unit time. . As a result, in the service execution unit 22 of the server 52 in the preceding stage of the server 53, the message transmission time (FIG. 11) becomes longer due to the completion of the process request message transmission process, and the service execution time is extended. As a result, the time during which the processing request message stays in the message queue 130 of the distributed service control apparatus 102 of the server 52 also becomes longer.

制御ルール決定部150は、サーバ52のサービス実行時間(見かけ上のサービス実行時間)が品質要件「3秒」を満たさないと判断すると、サーバ53の分散サービス制御装置103での動作と同様に、スレッド数の減少と、メッセージキュー130のサイズ変更とを行う。これにより、サーバ52の上流側のサーバ51においても、サーバ52と同様に受信処理が完了しないことでサービス実行時間が延び、処理要求メッセージのキュー滞留時間が長くなる。その結果、サーバ51は、サービス品質要件を満たすように、スレッド数の減少と、メッセージキュー130のサイズ変更とを行う。   When the control rule determination unit 150 determines that the service execution time (apparent service execution time) of the server 52 does not satisfy the quality requirement “3 seconds”, the control rule determination unit 150 performs the same as the operation of the server 53 in the distributed service control device 103. The number of threads is reduced and the size of the message queue 130 is changed. As a result, the server 51 on the upstream side of the server 52 also extends the service execution time due to the reception processing not being completed as in the case of the server 52, and the queue retention time of the processing request message becomes longer. As a result, the server 51 reduces the number of threads and changes the size of the message queue 130 so as to satisfy the service quality requirement.

上記のように、サーバ53にてサービス品質要件を満たせなくなると、処理要求メッセージの受信遅延を行うことで、上流側のサーバ52にてサービス処理時間が延び、サーバ52にてサービス品質要件が満たせなくなって、サーバ52にて処理要求メッセージの遅延設定を行う。サーバ52で受信遅延を行うことで、サーバ51のサービス実行時間が延び、サービス品質要件が満たさなくなると、受信遅延を行って、処理要求メッセージの入力数を抑制する。このように、分散サービス制御システム(図12、図13)は、特定のサーバに負荷が集中した場合には、上流のサーバまで、順に処理要求メッセージの受信を遅延させ、複数サーバで構成されるシステムの系全体の性能を維持するように動作する。これにより、各サーバで、サービス品質要件を満たした処理が可能となる。   As described above, when the service quality requirement cannot be satisfied by the server 53, the reception time of the processing request message is delayed, so that the service processing time is extended by the upstream server 52 and the service quality requirement can be satisfied by the server 52. The server 52 sets the processing request message delay. By performing the reception delay in the server 52, when the service execution time of the server 51 is extended and the service quality requirement is not satisfied, the reception delay is performed to suppress the number of input processing request messages. As described above, when the load is concentrated on a specific server, the distributed service control system (FIGS. 12 and 13) sequentially delays the reception of processing request messages up to the upstream server, and is configured with a plurality of servers. Operates to maintain overall system performance. As a result, each server can perform processing that satisfies the service quality requirements.

次に、サーバ50からサーバ51へ処理要求メッセージが5件/秒で送信されている際に、サーバ51にてサービス品質要件を満たしている場合を考える。サーバ51の分散サービス制御装置の制御ルール決定部150は、図9に示す制御ルール判定の処理のステップS414で、サービス品質性能要件を満たしていると判断すると、処理要求管理部140におけるスレッドの並列処理数を漸次増加し、サーバ51のサービス時間が悪化しない範囲で、サービス実行部22の並列処理数を増やす。このようにすることで、サーバ51の性能を最大限に活用することができる。   Next, let us consider a case where the service quality requirement is satisfied in the server 51 when the processing request message is transmitted from the server 50 to the server 51 at 5 messages / second. If the control rule determination unit 150 of the distributed service control device of the server 51 determines that the service quality performance requirement is satisfied in step S414 of the control rule determination process shown in FIG. The number of processes is gradually increased, and the number of parallel processes of the service execution unit 22 is increased within a range where the service time of the server 51 does not deteriorate. By doing in this way, the performance of the server 51 can be utilized to the maximum extent.

サーバ51で並列処理数が増えすぎ、処理要求メッセージが下流側のサーバ52に大量に送信されて、サーバ52にてサービス品質要件を満たせなくなると、サーバ52の分散サービス制御装置102が受信遅延を行う。この場合には、サーバ51にて、サービス品質要件を満たせなくなり、制御ルール決定部150はスレッド数を減少させる。このようにサーバ51は、自身のサービス時間、及び、下流側のサーバのサービス時間が悪化しない範囲で、サービス実行部22の並列処理数を増加し、処理する処理要求メッセージ数を制御する。このようにすることで、各サーバにてサーバ性能に応じた処理を実現しつつ、各サーバでサービス品質要件を満たした処理を実現できる。   If the number of parallel processes increases too much at the server 51 and a large number of processing request messages are sent to the downstream server 52 and the server 52 cannot meet the service quality requirements, the distributed service control device 102 of the server 52 will delay the reception. Do. In this case, the server 51 cannot satisfy the service quality requirement, and the control rule determination unit 150 decreases the number of threads. As described above, the server 51 increases the parallel processing number of the service execution unit 22 and controls the number of processing request messages to be processed within a range in which the service time of the server 51 and the service time of the downstream server do not deteriorate. In this way, it is possible to realize processing that satisfies the service quality requirements at each server while realizing processing according to server performance at each server.

以上、まとめると、本実施形態では、分散サービス制御装置100(図1)により、処理要求メッセージに対する処理がサービス品質要件を満たせなくなると、サーバ(図12、図13におけるサービス実行部22)での並列処理数を減少させ、或いは、メッセージキュー130のサイズを小さくしてメッセージ受信制御部110にて受信遅延を行うことで、サーバでの処理負担を軽減する。サーバへの処理要求メッセージの入力段において、このような制御を行うことで、サービス実行時間(図11における見かけ上のサービス実行時間)が長くなってサービス品質要件を満たさない事態を避けることができ、サービス品質要件を満たした処理を実現できる。   In summary, in the present embodiment, when the distributed service control apparatus 100 (FIG. 1) fails to satisfy the service quality requirement for the processing request message, the server (service execution unit 22 in FIGS. 12 and 13) The processing load on the server is reduced by reducing the number of parallel processes or reducing the size of the message queue 130 and performing a reception delay in the message reception control unit 110. By performing such control at the input stage of the processing request message to the server, it is possible to avoid the situation where the service execution time (apparent service execution time in FIG. 11) becomes long and the service quality requirement is not satisfied. , Processing that satisfies service quality requirements can be realized.

本実施形態では、受信した処理要求メッセージに対して単純な構造解析を行い、その内容に応じて、サーバでのサービス実行時間を予測し、予測したサービス実行時間を用いてサービス品質要件を満たすか否かを判断し、スレッド142の並列処理数の上限値を制御する。このようにすることで、サーバで同時に処理される処理要求メッセージを一定の範囲に抑えることができ、サーバ性能を最大限に活用できる。また、一時的に、単位時間当たりの処理要求メッセージの入力数が増大した場合でも、大量に到着した処理要求メッセージを、スレッド142の並列処理数の上限値を超えて一度に処理しないため、サーバ内で処理不能が発生せず、サービス品質要件を満たした処理を実現できる。   In this embodiment, a simple structural analysis is performed on the received processing request message, the service execution time in the server is predicted according to the content, and the service quality requirement is satisfied using the predicted service execution time. The upper limit value of the parallel processing number of the thread 142 is controlled. By doing in this way, the processing request message processed simultaneously by the server can be suppressed within a certain range, and the server performance can be utilized to the maximum extent. Also, even if the number of processing request messages input per unit time temporarily increases, processing request messages that have arrived in large quantities are not processed at a time exceeding the upper limit of the parallel processing count of the thread 142. Processing that does not occur in the process and that satisfies the service quality requirements can be realized.

本実施形態では、処理要求メッセージに対する処理時間がサービス品質要件を満たすか否かの判断に際して、メッセージ重みルールを利用して計算したサーバ処理時間を用いる。サーバで実際に処理要求メッセージが処理される前に、メッセージ構造に基づいて予測した負荷に基づいて制御を行うことで、処理要求メッセージの変動に俊敏に追随しやすくなる。また、制御ルール決定部150にて、メッセージ重みルールを、実際のサーバでの処理時間と、処理時間の予測値との差に基づいて、メッセージ重みルールを補正することで、処理時間予測の精度を上げることができる。   In this embodiment, the server processing time calculated using the message weight rule is used when determining whether or not the processing time for the processing request message satisfies the service quality requirement. By performing control based on the load predicted based on the message structure before the processing request message is actually processed by the server, it becomes easy to quickly follow the fluctuation of the processing request message. In addition, the control rule determination unit 150 corrects the message weight rule based on the difference between the processing time at the actual server and the predicted value of the processing time, thereby improving the accuracy of the processing time prediction. Can be raised.

複数のサーバが連携して動作するシステムで、各サーバに対応して分散サービス制御装置100を配置すると、分散サービス制御装置100は、それぞれメッセージキューのサイズ変更による受信遅延やスレッドの並列処理数の変更を行い、サーバ間の連携フローにて隣接するサーバの分散サービス制御装置間で、受信遅延や並列処理数が相互に影響し合う。個々のサーバがサービス品質要件を満たすように動作する結果、自動的に最適な実行配分に到達し、各サーバにてサービス時間がサービス品質要件を満たすことを保証することで、システム全体としてのサービス時間を保証することができる。また、処理要求メッセージの蓄積による直列化を行うことで、大量の処理要求によるサーバの処理不能を防ぐと同時に、蓄積されたメッセージのサーバへの転送量がシステムのボトルネックとならないように、サーバの並列処理数を変更することができる。   In a system in which a plurality of servers operate in cooperation, when the distributed service control device 100 is arranged corresponding to each server, the distributed service control device 100 determines the reception delay and the parallel processing number of threads by changing the size of the message queue. Changes are made, and the reception delay and the number of parallel processes affect each other between the distributed service control devices of adjacent servers in the cooperation flow between the servers. As a result of the individual servers operating to meet the quality of service requirements, the optimal performance distribution is automatically reached and the service time of each server is guaranteed to meet the quality of service requirements. Time can be guaranteed. In addition, serialization by storing processing request messages prevents the server from being disabled due to a large number of processing requests, and at the same time, prevents the amount of stored messages transferred to the server from becoming a system bottleneck. The number of parallel processes can be changed.

また、本実施形態では、各サーバのメッセージ入力段に分散サービス制御装置を配置することでサービス品質要件を満たした処理を実現するため、特許文献2に記載の技術とは異なり、複数の独立したサービスから成る業務に対して、性能に関するサービスレベル合意(Service Level Agreement:SLA)を保証するために、複数サービス全体の監視や制御を集中管理するサーバを導入する必要がない。本実施形態では、分散サービス制御装置100により、各サーバにおいて、サービス時間がサービス品質要件を満たすように制御することで、業務全体の処理時間を一定の範囲に収めることができ、特許文献1に記載の技術のように、集中管理サーバが管理する情報に相当するサービス間の関係情報を、サービス間で持ちまわる必要がない。   Further, in the present embodiment, a distributed service control device is arranged at the message input stage of each server to realize processing that satisfies service quality requirements. Therefore, unlike the technique described in Patent Document 2, a plurality of independent services are provided. It is not necessary to introduce a server that centrally manages monitoring and control of a plurality of services in order to guarantee a service level agreement (SLA) related to performance for a business composed of services. In the present embodiment, the distributed service control apparatus 100 controls each server so that the service time satisfies the service quality requirement, so that the processing time of the entire business can be kept within a certain range. Unlike the described technology, there is no need to carry relationship information between services corresponding to information managed by the central management server between services.

本実施形態では、分散サービス制御装置100は、サーバ性能に余力がある限りスレッド数を増加させるため、サーバの処理性能が、メッセージキュー130及びスレッド数の初期値によって抑えられることがなく、サーバの性能を最大限に活用できる。また、複数の分散サービス制御装置を用いたシステムでは、連携フローの下流にあるサーバの性能が、上流のサーバの性能よりも低い場合、下流のサーバにて性能劣化が発生しない範囲で、上流のサーバ性能を最大限に活用できる。このように、分散サービス制御装置によって、自動的にサービス実行に緩急をつけることで、各サーバにてサービス品質要件を満たした処理を実現しつつ、各サーバのサーバ性能を最大限に活用できる。   In this embodiment, the distributed service control apparatus 100 increases the number of threads as long as the server performance has sufficient capacity. Therefore, the server processing performance is not suppressed by the message queue 130 and the initial number of threads. You can make the most of performance. In a system using a plurality of distributed service control devices, if the performance of the server downstream of the linkage flow is lower than the performance of the upstream server, the upstream You can take full advantage of server performance. As described above, the distributed service control device automatically and slowly adjusts the service execution, so that the server performance of each server can be utilized to the maximum while realizing the processing satisfying the service quality requirement in each server.

以上、本発明をその好適な実施形態に基づいて説明したが、本発明のサービス制御装置、方法、プログラム、及び、分散サービス制御システムは、上記実施形態にのみ限定されるものではなく、上記実施形態の構成から種々の修正及び変更を施したものも、本発明の範囲に含まれる。   Although the present invention has been described based on the preferred embodiments, the service control apparatus, method, program, and distributed service control system of the present invention are not limited to the above-described embodiments. Those in which various modifications and changes are made from the configuration of the embodiments are also included in the scope of the present invention.

本発明は、複数のサービスが互いの処理性能を元に協調動作しサービス品質を保つための制御プログラムといった用途に適用できる。また、サービスを実行するサーバとは独立した計算機上で動作するサービス制御装置といった用途にも適用できる。   The present invention can be applied to an application such as a control program for maintaining a service quality by cooperating a plurality of services based on the processing performance of each other. Further, the present invention can also be applied to a service control device that operates on a computer independent of a server that executes a service.

本発明の一実施形態の分散サービス制御装置の構成を示すブロック図。The block diagram which shows the structure of the distributed service control apparatus of one Embodiment of this invention. 受信処理の動作手順を示すフローチャート。The flowchart which shows the operation | movement procedure of a reception process. 一般的な処理要求メッセージのエンベロープの具体例を示す図。The figure which shows the specific example of the envelope of a general process request message. メッセージ重みルールの構造を示す図。The figure which shows the structure of a message weight rule. メッセージ重み情報の構造を示す図。The figure which shows the structure of message weight information. スレッド割当ての処理手順を示すフローチャート。The flowchart which shows the process sequence of thread allocation. スレッドの動作手順を示すフローチャート。The flowchart which shows the operation | movement procedure of a thread | sled. 制御ルール決定部におけるメッセージ重みルール補正の動作手順を示すフローチャート。The flowchart which shows the operation | movement procedure of the message weight rule correction | amendment in a control rule determination part. 制御ルール決定部における制御ルール導出の動作手順を示すフローチャート。The flowchart which shows the operation | movement procedure of control rule derivation | leading-out in a control rule determination part. サービス品質要件情報の構造を示す図。The figure which shows the structure of service quality requirement information. 処理要求メッセージに対する処理の実行時間を示す図。The figure which shows the execution time of the process with respect to a process request message. 複数のサーバと分散サービス制御装置とを用いた分散サービス制御システムの構成を示すブロック図。The block diagram which shows the structure of the distributed service control system using a some server and the distributed service control apparatus. 分散サービス制御システムにおけるサーバ間での処理要求メッセージのやり取りを示すブロック図。The block diagram which shows the exchange of the process request message between the servers in a distributed service control system.

符号の説明Explanation of symbols

10、51〜54:サーバ
12:サービス部
21:通信部
22:サービス実行部
11、100〜103:分散サービス制御装置
110:メッセージ受信制御部
120:メッセージ状態管理部
121:メッセージ重み計算部
122:メッセージ重み保管部
130:メッセージキュー
140:処理要求管理部
150:制御ルール決定部
160:サービス品質性能保管部
170:サービス品質要件情報
180:処理要求メッセージ
190:メッセージ重みルール
200:メッセージ重み情報
10, 51-54: Server 12: Service unit 21: Communication unit 22: Service execution unit 11, 100-103: Distributed service control device 110: Message reception control unit 120: Message state management unit 121: Message weight calculation unit 122: Message weight storage unit 130: Message queue 140: Processing request management unit 150: Control rule determination unit 160: Service quality performance storage unit 170: Service quality requirement information 180: Processing request message 190: Message weight rule 200: Message weight information

Claims (25)

処理要求メッセージの受信制御を行い、受信した処理要求メッセージをメッセージキューに格納するメッセージ受信制御部と、
前記処理要求メッセージの構造を利用してサーバでの処理時間を計算するためのルールを定めたメッセージ重みルールを記憶するメッセージ重み保管部を参照し、前記処理要求メッセージと、前記メッセージ重みルールとに基づいて、前記処理要求メッセージに対するサーバでの処理時間を計算するメッセージ重み計算部と、
前記処理要求メッセージをサーバに送信して処理を実行させるスレッドを複数有するスレッド群を制御するスレッド群制御部であって、前記処理要求メッセージに対して前記スレッドを割り当てると共に、前記スレッドの並列処理数を制御するスレッド群制御部と、
前記サーバで満たされるべき品質要件に関する品質要件情報を記憶する品質要件情報保管部を参照し、前記処理要求メッセージの前記メッセージキューでの滞留時間と、前記計算されたサーバでの処理時間と、前記品質要件情報とに基づいて、前記メッセージキューのサイズと、前記スレッド群制御部におけるスレッドの並列処理数の上限値とを制御する制御ルール決定部とを備えることを特徴とするサービス制御装置。
A message reception control unit that performs reception control of a processing request message and stores the received processing request message in a message queue;
Refer to a message weight storage unit that stores a message weight rule that defines a rule for calculating the processing time at the server using the structure of the processing request message, and to the processing request message and the message weight rule A message weight calculator for calculating a processing time at the server for the processing request message,
A thread group control unit that controls a thread group having a plurality of threads that execute a process by transmitting the process request message to a server, assigning the thread to the process request message, and the number of parallel processes of the thread A thread group control unit for controlling
With reference to a quality requirement information storage unit that stores quality requirement information related to quality requirements to be satisfied by the server, the residence time in the message queue of the processing request message, the calculated processing time in the server, A service control apparatus comprising: a control rule determining unit that controls a size of the message queue and an upper limit value of the number of parallel processes of threads in the thread group control unit based on quality requirement information.
前記制御ルール決定部は、前記メッセージの滞留時間と、前記計算されたサーバでの処理時間と、前記品質要件とに基づいて、前記処理要求メッセージに対する処理が品質要件を満たすか否かを判断し、満たさないと判断すると、前記メッセージキューのサイズ減少と、前記スレッドの並列処理数の上限値の減少との少なくとも一方を行う、請求項1に記載のサービス制御装置。   The control rule determination unit determines whether processing for the processing request message satisfies a quality requirement based on the message residence time, the calculated processing time at the server, and the quality requirement. 2. The service control apparatus according to claim 1, wherein if it is determined that the value is not satisfied, at least one of a reduction in the size of the message queue and a reduction in an upper limit value of the parallel processing number of the thread is performed. 前記制御ルール決定部は、前記処理要求メッセージに対する処理が前記品質要件を満たさないと判断すると、前記スレッドの並列処理数の上限値を減らし、該スレッドの並列処理数の上限値の減少後での前記サーバでの処理時間と、前記メッセージの滞留時間と、前記品質要件とに基づいて、前記スレッドの並列処理数の上限値が減少した状態における前記処理要求メッセージに対する処理が品質要件を満たすか否かを判断し、満たさないと判断すると、前記メッセージキューのサイズを減らす、請求項2に記載のサービス制御装置。   When the control rule determination unit determines that the processing for the processing request message does not satisfy the quality requirement, the control rule determination unit decreases the upper limit value of the parallel processing number of the thread and reduces the upper limit value of the parallel processing number of the thread. Whether processing for the processing request message in a state where the upper limit value of the number of parallel processes of the thread is reduced satisfies the quality requirement based on the processing time in the server, the retention time of the message, and the quality requirement The service control apparatus according to claim 2, wherein the size of the message queue is reduced when it is determined that the message queue is not satisfied. 前記制御ルール決定部は、前記メッセージの滞留時間と、前記計算されたサーバでの処理時間と、前記品質要件とに基づいて、前記処理要求メッセージに対する処理が品質要件を満たすか否かを判断し、満たすと判断すると、前記メッセージキューのサイズの増加と、前記スレッドの並列処理数の上限値の増加との少なくとも一方を行う、請求項1に記載のサービス制御装置。   The control rule determination unit determines whether processing for the processing request message satisfies a quality requirement based on the message residence time, the calculated processing time at the server, and the quality requirement. The service control apparatus according to claim 1, wherein if it is determined that the condition is satisfied, at least one of an increase in the size of the message queue and an increase in an upper limit value of the parallel processing number of the thread is performed. 前記制御ルール決定部は、前記処理要求メッセージに対する処理が前記品質要件を満たすと判断すると、前記メッセージキューのサイズが所定の初期値よりも小さいか否かを調べ、前記初期値よりも小さいときには、前記メッセージキューのサイズを増やし、前記メッセージキューのサイズが前記初期値よりも小さくないときには、前記スレッドの並列処理数の上限値を増やす、請求項4に記載のサービス制御装置。   When the control rule determining unit determines that the processing for the processing request message satisfies the quality requirement, the control rule determining unit checks whether the size of the message queue is smaller than a predetermined initial value. The service control apparatus according to claim 4, wherein the size of the message queue is increased, and the upper limit value of the number of parallel processes of the thread is increased when the size of the message queue is not smaller than the initial value. 前記スレッドは、前記サーバでの前記処理要求メッセージに対する処理の開始から処理の終了までの間の処理時間の実測値を計測し、前記制御ルール決定部は、前記計算されたサーバでの処理時間と、前記処理時間の実測値とに基づいて、前記計算されたサーバでの処理時間と前記処理時間の実測値との差が小さくなるように、前記メッセージ重みルールを補正する、請求項1〜5の何れか一に記載のサービス制御装置。   The thread measures an actual measurement value of processing time from the start of processing to the end of processing for the processing request message in the server, and the control rule determination unit calculates the processing time in the calculated server. The message weight rule is corrected based on the measured value of the processing time so that a difference between the calculated processing time at the server and the measured value of the processing time becomes small. The service control apparatus according to any one of the above. 前記メッセージ受信制御部は、前記処理要求メッセージを受信すると、前記メッセージキューに空きがあるか否かを判断し、空きがないと判断すると、空きが発生するまで前記処理要求メッセージの受信処理を遅延する、請求項1〜6の何れか一に記載のサービス制御装置。   When the message reception control unit receives the processing request message, the message reception control unit determines whether or not there is a vacancy in the message queue. If the message reception control unit determines that there is no vacancy, the reception process of the processing request message is delayed until the vacancy occurs. The service control device according to any one of claims 1 to 6. 前記メッセージ受信制御部は、前記メッセージキューに処理要求メッセージを格納すると、該処理要求メッセージの送信元に、受信完了を示す応答を送信する、請求項7に記載のサービス制御装置。   8. The service control apparatus according to claim 7, wherein when the processing request message is stored in the message queue, the message reception control unit transmits a response indicating reception completion to a transmission source of the processing request message. 複数のサーバ間で処理要求メッセージを受け渡し、連携動作する分散サービス制御システムであって、
前記各サーバが、前記処理要求メッセージの入力段に、請求項1〜8の何れか一に記載のサービス制御装置を有することを特徴とする分散サービス制御システム。
A distributed service control system that exchanges processing request messages between a plurality of servers and operates in cooperation with each other.
The distributed service control system according to claim 1, wherein each of the servers includes the service control apparatus according to claim 1 at an input stage of the processing request message.
サービス制御装置を用いて、サーバに対する処理要求メッセージを制御するサービス制御方法であって、
前記サービス制御装置が、処理要求メッセージを受信し、該受信した処理要求メッセージをメッセージキューに格納するメッセージ受信ステップと、
前記サービス制御装置が、前記処理要求メッセージの構造を利用してサーバでの処理時間を計算するためのルールを定めたメッセージ重みルールを記憶するメッセージ重み保管部を参照し、前記処理要求メッセージと、前記メッセージ重みルールとに基づいて、前記処理要求メッセージに対するサーバでの処理時間を計算するメッセージ重み計算ステップと、
前記サービス制御装置が、前記処理要求メッセージをサーバに送信して処理を実行させるスレッドを複数有するスレッド群を制御し、前記処理要求メッセージに対して前記スレッドを割り当てるスレッド割当てステップと、
前記サービス制御装置が、前記サーバで満たされるべき品質要件に関する品質要件情報を記憶する品質要件情報保管部を参照し、前記処理要求メッセージの前記メッセージキューでの滞留時間と、前記計算されたサーバでの処理時間と、前記品質要件情報とに基づいて、前記メッセージキューのサイズと、前記スレッドの並列処理数の上限値とを制御する制御ルール決定ステップとを有することを特徴とするサービス制御方法。
A service control method for controlling a processing request message to a server using a service control device,
A message receiving step in which the service control apparatus receives a processing request message and stores the received processing request message in a message queue;
The service control device refers to a message weight storage unit that stores a message weight rule that defines a rule for calculating the processing time at the server using the structure of the processing request message, and the processing request message, A message weight calculation step of calculating a processing time at the server for the processing request message based on the message weight rule;
The service control device controls a thread group having a plurality of threads that execute processing by sending the processing request message to a server, and assigns the thread to the processing request message;
The service control device refers to a quality requirement information storage unit that stores quality requirement information related to a quality requirement to be satisfied by the server, and the residence time of the processing request message in the message queue and the calculated server And a control rule determining step for controlling the size of the message queue and the upper limit value of the number of parallel processes of the thread based on the processing time of the message and the quality requirement information.
前記制御ルール決定ステップでは、前記サービス制御装置は、前記メッセージの滞留時間と、前記計算されたサーバでの処理時間と、前記品質要件とに基づいて、前記処理要求メッセージに対する処理が品質要件を満たすか否かを判断し、満たさないと判断すると、前記メッセージキューのサイズ減少と、前記スレッドの並列処理数の上限値の減少との少なくとも一方を行う、請求項10に記載のサービス制御方法。   In the control rule determination step, the service control device, based on the message residence time, the calculated processing time at the server, and the quality requirement, the processing for the processing request message satisfies the quality requirement. The service control method according to claim 10, wherein at least one of reducing the size of the message queue and reducing the upper limit value of the number of parallel processes of the thread is performed when it is determined whether or not it is satisfied. 前記制御ルール決定ステップでは、前記サービス制御装置は、前記処理要求メッセージに対する処理が前記品質要件を満たさないと判断すると、前記スレッドの並列処理数の上限値を減らし、該スレッドの並列処理数の上限値の減少後での前記サーバでの処理時間と、前記メッセージの滞留時間と、前記品質要件とに基づいて、前記スレッドの並列処理数の上限値が減少した状態における前記処理要求メッセージに対する処理が品質要件を満たすか否かを判断し、満たさないと判断すると、前記メッセージキューのサイズを減らす、請求項11に記載のサービス制御方法。   In the control rule determination step, when the service control device determines that the processing for the processing request message does not satisfy the quality requirement, the service control device reduces the upper limit value of the parallel processing number of the thread and increases the upper limit value of the parallel processing number of the thread. Processing for the processing request message in a state where the upper limit value of the parallel processing number of the thread is reduced based on the processing time in the server after the decrease in value, the residence time of the message, and the quality requirement The service control method according to claim 11, wherein it is determined whether or not a quality requirement is satisfied, and if it is determined that the quality requirement is not satisfied, the size of the message queue is reduced. 前記制御ルール決定ステップでは、前記サービス制御装置は、前記メッセージの滞留時間と、前記計算されたサーバでの処理時間と、前記品質要件とに基づいて、前記処理要求メッセージに対する処理が品質要件を満たすか否かを判断し、満たすと判断すると、前記メッセージキューのサイズの増加と、前記スレッドの並列処理数の上限値の増加との少なくとも一方を行う、請求項10に記載のサービス制御方法。   In the control rule determination step, the service control device, based on the message residence time, the calculated processing time at the server, and the quality requirement, the processing for the processing request message satisfies the quality requirement. The service control method according to claim 10, wherein at least one of an increase in the size of the message queue and an increase in an upper limit value of the parallel processing number of the thread is performed when it is determined whether or not it is satisfied. 前記制御ルール決定ステップでは、前記サービス制御装置は、前記処理要求メッセージに対する処理が前記品質要件を満たすと判断すると、前記メッセージキューのサイズが所定の初期値よりも小さいか否かを調べ、前記初期値よりも小さいときには、前記メッセージキューのサイズを増やし、前記メッセージキューのサイズが前記初期値よりも小さくないときには、前記スレッドの並列処理数の上限値を増やす、請求項13に記載のサービス制御方法。   In the control rule determination step, when the service control device determines that the processing for the processing request message satisfies the quality requirement, the service control device checks whether the size of the message queue is smaller than a predetermined initial value. 14. The service control method according to claim 13, wherein when the value is smaller than the value, the size of the message queue is increased, and when the size of the message queue is not smaller than the initial value, the upper limit value of the parallel processing number of the thread is increased. . 前記サービス制御装置が、前記スレッドにおける、前記サーバでの前記処理要求メッセージに対する処理の開始から処理の終了までの間の処理時間の実測値を計測するステップと、
前記サービス制御装置が、前記計算されたサーバでの処理時間と、前記処理時間の実測値とに基づいて、前記計算されたサーバでの処理時間と前記処理時間の実測値との差が小さくなるように、前記メッセージ重みルールを補正するステップとを更に有する、請求項10〜14の何れか一に記載のサービス制御方法。
The service control device measuring an actual measurement value of a processing time from the start of processing to the end of processing for the processing request message in the server in the thread;
The service control device reduces a difference between the calculated processing time at the server and the measured value of the processing time based on the calculated processing time at the server and the measured value of the processing time. The service control method according to claim 10, further comprising a step of correcting the message weight rule.
前記メッセージ受信ステップでは、前記サービス制御装置は、前記処理要求メッセージを受信すると、前記メッセージキューに空きがあるか否かを判断し、空きがないと判断すると、空きが発生するまで前記処理要求メッセージの受信処理を遅延する、請求項10〜15の何れか一に記載のサービス制御方法。   In the message receiving step, when the service control apparatus receives the processing request message, the service control apparatus determines whether or not there is an empty space in the message queue. The service control method according to any one of claims 10 to 15, wherein the reception process is delayed. 前記メッセージ受信ステップでは、前記サービス制御装置は、前記メッセージキューに処理要求メッセージを格納すると、該処理要求メッセージの送信元に、受信完了を示す応答を送信する、請求項16に記載のサービス制御方法。   The service control method according to claim 16, wherein in the message reception step, the service control device transmits a response indicating reception completion to a transmission source of the processing request message when the processing request message is stored in the message queue. . コンピュータに、サーバに対する処理要求メッセージを制御する処理を実行させるプログラムであって、前記コンピュータに、
処理要求メッセージを受信し、該受信した処理要求メッセージをメッセージキューに格納するメッセージ受信ステップと、
前記処理要求メッセージの構造を利用してサーバでの処理時間を計算するためのルールを定めたメッセージ重みルールを記憶するメッセージ重み保管部を参照し、前記処理要求メッセージと、前記メッセージ重みルールとに基づいて、前記処理要求メッセージに対するサーバでの処理時間を計算するメッセージ重み計算ステップと、
前記処理要求メッセージをサーバに送信して処理を実行させるスレッドを複数有するスレッド群を制御し、前記処理要求メッセージに対して前記スレッドを割り当てるスレッド割当てステップと、
前記サーバで満たされるべき品質要件に関する品質要件情報を記憶する品質要件情報保管部を参照し、前記処理要求メッセージの前記メッセージキューでの滞留時間と、前記計算されたサーバでの処理時間と、前記品質要件情報とに基づいて、前記メッセージキューのサイズと、前記スレッドの並列処理数の上限値とを制御する制御ルール決定ステップとを実行させることを特徴とするプログラム。
A program for causing a computer to execute processing for controlling a processing request message to a server, wherein the computer
A message receiving step of receiving a processing request message and storing the received processing request message in a message queue;
Refer to a message weight storage unit that stores a message weight rule that defines a rule for calculating the processing time at the server using the structure of the processing request message, and to the processing request message and the message weight rule Based on a message weight calculation step of calculating a processing time at the server for the processing request message;
A thread assignment step of controlling a thread group having a plurality of threads that execute processing by sending the processing request message to a server, and assigning the thread to the processing request message;
With reference to a quality requirement information storage unit that stores quality requirement information related to quality requirements to be satisfied by the server, the residence time in the message queue of the processing request message, the calculated processing time in the server, A program for executing a control rule determining step for controlling a size of the message queue and an upper limit value of the number of parallel processes of the thread based on quality requirement information.
前記制御ルール決定ステップでは、前記メッセージの滞留時間と、前記計算されたサーバでの処理時間と、前記品質要件とに基づいて、前記処理要求メッセージに対する処理が品質要件を満たすか否かを判断し、満たさないと判断すると、前記メッセージキューのサイズ減少と、前記スレッドの並列処理数の上限値の減少との少なくとも一方を行う、請求項18に記載のプログラム。   In the control rule determination step, based on the message residence time, the calculated processing time at the server, and the quality requirement, it is determined whether or not the processing for the processing request message satisfies the quality requirement. The program according to claim 18, wherein if it is determined that it is not satisfied, at least one of a reduction in the size of the message queue and a reduction in an upper limit value of the number of parallel processes of the thread is performed. 前記制御ルール決定ステップでは、前記処理要求メッセージに対する処理が前記品質要件を満たさないと判断すると、前記スレッドの並列処理数の上限値を減らし、該スレッドの並列処理数の上限値の減少後での前記サーバでの処理時間と、前記メッセージの滞留時間と、前記品質要件とに基づいて、前記スレッドの並列処理数の上限値が減少した状態における前記処理要求メッセージに対する処理が品質要件を満たすか否かを判断し、満たさないと判断すると、前記メッセージキューのサイズを減らす、請求項19に記載のプログラム。   In the control rule determination step, when it is determined that the processing for the processing request message does not satisfy the quality requirement, the upper limit value of the parallel processing number of the thread is reduced and the upper limit value of the parallel processing number of the thread is reduced. Whether processing for the processing request message in a state where the upper limit value of the number of parallel processes of the thread is reduced satisfies the quality requirement based on the processing time in the server, the retention time of the message, and the quality requirement The program according to claim 19, wherein the size of the message queue is reduced when it is determined that the message queue is not satisfied. 前記制御ルール決定ステップでは、前記メッセージの滞留時間と、前記計算されたサーバでの処理時間と、前記品質要件とに基づいて、前記処理要求メッセージに対する処理が品質要件を満たすか否かを判断し、満たすと判断すると、前記メッセージキューのサイズの増加と、前記スレッドの並列処理数の上限値の増加との少なくとも一方を行う、請求項18に記載のプログラム。   In the control rule determination step, based on the message residence time, the calculated processing time at the server, and the quality requirement, it is determined whether or not the processing for the processing request message satisfies the quality requirement. The program according to claim 18, wherein if it is determined that it is satisfied, at least one of an increase in the size of the message queue and an increase in the upper limit value of the number of parallel processes of the thread is performed. 前記制御ルール決定ステップでは、前記処理要求メッセージに対する処理が前記品質要件を満たすと判断すると、前記メッセージキューのサイズが所定の初期値よりも小さいか否かを調べ、前記初期値よりも小さいときには、前記メッセージキューのサイズを増やし、前記メッセージキューのサイズが前記初期値よりも小さくないときには、前記スレッドの並列処理数の上限値を増やす、請求項21に記載のプログラム。   In the control rule determination step, when it is determined that the processing for the processing request message satisfies the quality requirement, it is checked whether or not the size of the message queue is smaller than a predetermined initial value. The program according to claim 21, wherein the size of the message queue is increased, and the upper limit value of the number of parallel processes of the thread is increased when the size of the message queue is not smaller than the initial value. 前記コンピュータに、
前記スレッドにおける、前記サーバでの前記処理要求メッセージに対する処理の開始から処理の終了までの間の処理時間の実測値を計測するステップと、
前記計算されたサーバでの処理時間と、前記処理時間の実測値とに基づいて、前記計算されたサーバでの処理時間と前記処理時間の実測値との差が小さくなるように、前記メッセージ重みルールを補正するステップとを更に実行させる、請求項18〜22の何れか一に記載のプログラム。
In the computer,
Measuring an actual measurement value of a processing time from the start of processing to the end of processing for the processing request message in the server in the thread;
Based on the calculated processing time at the server and the measured value of the processing time, the message weight is set such that a difference between the calculated processing time at the server and the measured value of the processing time is reduced. The program according to any one of claims 18 to 22, further executing a step of correcting the rule.
前記メッセージ受信ステップでは、前記処理要求メッセージを受信すると、前記メッセージキューに空きがあるか否かを判断し、空きがないと判断すると、空きが発生するまで前記処理要求メッセージの受信処理を遅延する、請求項18〜23の何れか一に記載のプログラム。   In the message receiving step, when the processing request message is received, it is determined whether or not there is a vacancy in the message queue. If it is determined that there is no vacancy, the reception process of the processing request message is delayed until a vacancy occurs. The program according to any one of claims 18 to 23. 前記メッセージ受信ステップでは、前記メッセージキューに処理要求メッセージを格納すると、該処理要求メッセージの送信元に、受信完了を示す応答を送信する、請求項24に記載のプログラム。   The program according to claim 24, wherein, in the message reception step, when a processing request message is stored in the message queue, a response indicating reception completion is transmitted to a transmission source of the processing request message.
JP2006253821A 2006-09-20 2006-09-20 Service control unit, distributed service control system, service control method, and program Withdrawn JP2008077266A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006253821A JP2008077266A (en) 2006-09-20 2006-09-20 Service control unit, distributed service control system, service control method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006253821A JP2008077266A (en) 2006-09-20 2006-09-20 Service control unit, distributed service control system, service control method, and program

Publications (1)

Publication Number Publication Date
JP2008077266A true JP2008077266A (en) 2008-04-03

Family

ID=39349273

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006253821A Withdrawn JP2008077266A (en) 2006-09-20 2006-09-20 Service control unit, distributed service control system, service control method, and program

Country Status (1)

Country Link
JP (1) JP2008077266A (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010131778A1 (en) * 2009-05-15 2010-11-18 日本電気株式会社 Workflow monitoring control system, monitoring control method, and monitoring control program
JP2011134330A (en) * 2009-12-22 2011-07-07 Intel Corp Systems and methods for energy efficient load balancing at server clusters
JP2011238099A (en) * 2010-05-12 2011-11-24 Nec Corp Transaction processing device, transaction processing method, and transaction processing program
WO2012050224A1 (en) * 2010-10-15 2012-04-19 株式会社イーシー・ワン Computer resource control system
JP2012099062A (en) * 2010-11-05 2012-05-24 Hitachi Ltd Service cooperation system and information processing system
WO2012132812A1 (en) * 2011-03-29 2012-10-04 株式会社日立システムズ Multi-thread file input/output system and multi-thread file input/output program
JP2013222407A (en) * 2012-04-18 2013-10-28 Bank Of Tokyo-Mitsubishi Ufj Ltd System having flow rate control function
JP2018041400A (en) * 2016-09-09 2018-03-15 株式会社リコー Job processing system, job processing device, job processing method, and program
JP2019179368A (en) * 2018-03-30 2019-10-17 株式会社リコー Conference device, conference system, information processing method, and program

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010131778A1 (en) * 2009-05-15 2010-11-18 日本電気株式会社 Workflow monitoring control system, monitoring control method, and monitoring control program
US8918792B2 (en) 2009-05-15 2014-12-23 Nec Corporation Workflow monitoring and control system, monitoring and control method, and monitoring and control program
JP2011134330A (en) * 2009-12-22 2011-07-07 Intel Corp Systems and methods for energy efficient load balancing at server clusters
JP2011238099A (en) * 2010-05-12 2011-11-24 Nec Corp Transaction processing device, transaction processing method, and transaction processing program
WO2012050224A1 (en) * 2010-10-15 2012-04-19 株式会社イーシー・ワン Computer resource control system
JP2012099062A (en) * 2010-11-05 2012-05-24 Hitachi Ltd Service cooperation system and information processing system
WO2012132812A1 (en) * 2011-03-29 2012-10-04 株式会社日立システムズ Multi-thread file input/output system and multi-thread file input/output program
JP2012208549A (en) * 2011-03-29 2012-10-25 Hitachi Systems Ltd Multi-thread type file input-output system and multi-thread type file input-output program
JP2013222407A (en) * 2012-04-18 2013-10-28 Bank Of Tokyo-Mitsubishi Ufj Ltd System having flow rate control function
JP2018041400A (en) * 2016-09-09 2018-03-15 株式会社リコー Job processing system, job processing device, job processing method, and program
JP2019179368A (en) * 2018-03-30 2019-10-17 株式会社リコー Conference device, conference system, information processing method, and program
JP7059756B2 (en) 2018-03-30 2022-04-26 株式会社リコー Conference equipment, conference systems, information processing methods and programs

Similar Documents

Publication Publication Date Title
JP2008077266A (en) Service control unit, distributed service control system, service control method, and program
US11240332B2 (en) Subscription based event notifications
KR100383381B1 (en) A Method and Apparatus for Client Managed Flow Control on a Limited Memory Computer System
US8392555B2 (en) Push-back mechanism for pub/sub brokers
US20080170579A1 (en) Methods, apparatus and computer programs for managing performance and resource utilization within cluster-based systems
JP2010204876A (en) Distributed system
WO2011045112A1 (en) A method system and program to optimize job execution scheduled from and executed on external application containers
WO2021148020A1 (en) Service class adjustment method, apparatus, device and storage medium
EP3295629B1 (en) Query plan and operation-aware communication buffer management
US8090814B2 (en) Method for determining distribution of a shared resource among a plurality of nodes in a network
US20220070099A1 (en) Method, electronic device and computer program product of load balancing
CN108063653B (en) Time delay control method, device and system
CN111897550B (en) Mirror image preloading method, device and storage medium
US10216593B2 (en) Distributed processing system for use in application migration
Pereira et al. Increasing the efficiency of fog nodes through of priority-based load balancing
US20180115498A1 (en) Systems and methods for adaptive credit-based flow
US20140040389A1 (en) Phased delivery of publications to subscribers
EP3485618B1 (en) Device and method for managing end-to-end connections
JP7351400B2 (en) Service provision system, service provision method, master node, and program
JP2013206041A (en) Communication system and load distribution processing apparatus
CN113590294B (en) Self-adaptive and rule-guided distributed scheduling method
Chai et al. Efficient VNF-FG Scaling Algorithm for 5G Network Slices
US20230359490A1 (en) Device, system and method for scheduling job requests
US11789777B2 (en) Resource utilization method, electronic device, and computer program product
JP5488029B2 (en) Distributed processing system, distributed processing method, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090415

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20100223

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20100405