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 PDFInfo
- 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
Links
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
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では、あらかじめ計算機の構成や性能、全体のワークフロー定義をワークフローサーバが集中管理し、ワークフローサーバにより、実行状態を監視しながら、実行配分を決定する。
従来技術の第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
メッセージ受信制御部110は、他サーバからの処理要求メッセージの受信を制御する。メッセージ状態管理部120は、メッセージ重み計算部121と、メッセージ重み保管部122とを備える。メッセージ状態管理部120は、処理要求メッセージごとに、サーバ処理量を計算する。メッセージ重み保管部122は、処理要求メッセージの構造に基づいてサーバでの処理量を計算するためのメッセージ重みルールを保管する。メッセージ重み計算部121は、処理要求メッセージと、メッセージ重みルールとに基づいて、処理要求メッセージに対する処理量、すなわちサーバでの処理時間の予測値を計算する。メッセージ重み計算部121は、計算したサーバでの処理量を、メッセージ重み情報としてメッセージ重み保管部122に保管する。
The message
メッセージキュー130は、サーバへの処理要求メッセージを一時的に蓄積する。メッセージキュー130のサイズは、可変に設定される。処理要求管理部140は、処理要求メッセージをサーバに送信し、サーバに、処理要求メッセージに対する処理を実行させる。処理要求管理部140は、複数の実行可能なスレッド142と、スレッド群制御部141とを有する。スレッド群制御部141は、スレッド142の管理と、スレッド142に対する処理の割り当てとを行いう。スレッド142は、処理要求メッセージをサーバに送信し、処理を実行させる。このスレッド142の数が、サーバ上の並列処理数となる。
The
サービス品質性能保管部160は、サーバの性能要件として、満たされるべきサービス品質要件に関する情報を保管する。制御ルール決定部150は、処理要求メッセージに対する処理時間とサービス品質要件とに基づいて、メッセージキュー130のサイズ、及び、処理要求管理部140における処理要求メッセージの並列処理数の制御を行う。また、制御ルール決定部150は、メッセージ重みルールを利用して計算されたメッセージ重み情報(サーバ処理量)と、実際のサーバでの処理時間の測定結果とを用いて、メッセージ重みルールの補正(学習)を行う。
The service quality
メッセージ受信制御部110は、処理要求メッセージを受信する。受信された処理要求メッセージは、メッセージ重み計算部121にて、処理要求メッセージに対する処理量が計算された後に、メッセージキュー130に格納される。その際、メッセージ受信制御部110は、メッセージキュー130に空きがあるか否かを調べ、空きがないときには、空きが発生するまで処理要求メッセージの受信を遅延する。メッセージ受信制御部110は、処理要求メッセージをメッセージキュー130に格納すると、メッセージ受信完了を示す応答を、メッセージ送信元に送信する。
The message
スレッド群制御部141は、メッセージキュー130から処理要求メッセージを1つ取り出し、スレッド142に対して、サーバに処理要求メッセージを転送して監視する処理を割り当てる。メッセージ受信制御部110は、処理要求メッセージの受信完了後、処理要求メッセージがメッセージキュー130に保管されてから、取り出されるまでの間の時間(キュー滞留時間)を計測する。スレッド142は、サーバに処理要求メッセージを送信して処理を行わせる。その際、スレッド142は、サーバでの処理時間を計測する。
The thread
制御ルール決定部150は、定期的に、メッセージ重み計算部121にて計算された処理要求メッセージに対する処理量、及び、キュー滞留時間と、サービス品質性能保管部160に保管されたサービス品質要件情報とに基づいて、サーバでの処理時間が、サービス品質要件を満たすように、メッセージキュー130のサイズと、処理要求管理部140におけるスレッド142の並列処理数の上限値とを制御する。例えば、サーバ負荷が高く、処理時間がサービス品質性能要件を満たさないときには、スレッド142の並列処理数の上限値を減少させてサーバでの並列処理数を減らし、サーバ負荷を下げる。また、メッセージキュー130のサイズを減らし、処理要求メッセージの受信を遅延させ、処理要求メッセージの受信量を抑制する。
The control
制御ルール決定部150は、メッセージ重み計算部121にて計算されたサーバでの処理時間の予測値と、スレッド142にて計測されたサーバでの処理時間の実測値とを比較し、メッセージ重み計算に用いるメッセージ重みルールの補正を行う。この補正では、サーバ処理時間の予測値と、実測値との差が少なくなるように、メッセージ重みルールを補正する。この補正により、メッセージ重み計算部121で計算されるサーバ処理時間の予測値と、実測値との誤差を減少させることができる。
The control
図2は、受信処理の動作手順を示している。メッセージ受信制御部110は、処理要求メッセージの受信を開始し(ステップS111)、メッセージキュー130に空きがあるか否かを判断する(ステップS112)。ステップS112では、例えばメッセージキュー130のサイズが「20」に設定されているときには、メッセージキュー130のエントリがすでに20個使用されているか否かを判断する。空きがない場合には、空きが発声するまで、受信遅延を行う(ステップS121)。
FIG. 2 shows an operation procedure of the reception process. The message
メッセージ受信制御部110は、メッセージキュー130に空きが存在する場合、すなわち処理要求メッセージをメッセージキュー130に格納可能な状態であれば、処理要求メッセージの送信元に、受信完了のメッセージを送信する(ステップS113)。ステップS113では、例えば、HTTPプロトコルのPOSTリクエストで処理要求メッセージが送信されたときには、受信完了を示す値を返却する。その後、メッセージ受信制御部110は、メッセージ重み計算部121に受信した要求処理メッセージを送る。メッセージ重み計算部121は、受け取った要求処理メッセージのメッセージ構造を解析し、解析したメッセージ構造と、メッセージ重み保管部122に保管されたメッセージ重みルールとに基づいて、処理要求メッセージに対するサーバでの処理量の計算を行う(ステップS114)。
If there is an empty space in the
図3に、一般的な処理要求メッセージのエンベロープの具体例を示す。処理要求メッセージ180は、エンベロープのヘッダに、処理要求メッセージの宛先等を持つ。また、エンベロープのボディに構造化文書を持ち、オプションとして、添付データに画像等のバイナリデータを含む。構造化文書は、例えば機器発注書に相当するデータの場合には、部品の個数分だけタグが繰り返される。サーバでの処理量(処理時間)は、タグの個数や添付データの有無、サイズ等に依存する。このサーバ処理量に関わる部分をメッセージ重みルールとして保管し、サーバ処理時間の予測に用いる。
FIG. 3 shows a specific example of a general processing request message envelope. The
図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
図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
スレッド群制御部141は、ステップS211で空きスレッドがあると判断すると、メッセージキュー130にメッセージが滞留しているか否かを調べる(ステップS212)。メッセージが滞留している場合には、スレッド142に対して起動通知を通知する(ステップS213)。メッセージが滞留していない場合には、ステップS211に戻り、空きスレッドの監視を続ける。
If the thread
図7は、スレッド142の動作手順を示している。スレッド142は、スレッド群制御部141から起動通知を受けると(ステップS311)、メッセージキュー130から処理要求メッセージを1つ取得する(ステップS312)。その後、サービスの開始時刻を計測して(ステップS313)、処理要求メッセージをサービスを実行するサーバに転送する(ステップS314)。スレッド142は、処理要求メッセージの転送後、サーバでの処理が終了したか否かを判断し、サーバでの処理(サービス)が実行終了されるまで待機する(ステップS315)。
FIG. 7 shows an operation procedure of the
スレッド142は、サーバで処理が終了したと判断すると、サービスの終了時刻を計測する(ステップS316)。スレッド142は、ステップS313で計測したサービスの開始時刻と、ステップS316で計測したサービスの終了時刻との差から、サービスの実行時間を割り出す。スレッド142は、サービス実行時間を割りだすと、サービス実行時間を制御ルール決定部150に通知する(ステップS317)。その後、サービスの完了をスレッド群制御部141に通知する(ステップS318)。この通知を受けたスレッド群制御部141は、処理が終了したスレッド142を、空きスレッドとして管理する。
If the
図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
制御ルール決定部150は、処理要求メッセージに対する実際のサービス実行時間と、メッセージ重みルールを用いて計算されたサーバでの処理時間の予測値との差に基づいて、メッセージ重みルールを補正する(ステップS353)。この補正では、処理要求メッセージのメッセージ構造を用いてメッセージ重みを計算した際に、そのメッセージ重みが実際のサービス実行時間に近づくように、メッセージ重みルールを補正する。このメッセージ重みルールの補正を繰り返し行うことで、サーバでの処理時間の予測値の精度が向上する。
The control
図9は、制御ルール決定部150における制御ルール導出の動作手順を示している。この制御ルール導出の動作は、周期的に繰り返し行われ、上記メッセージ重みルールの補正の動作とは独立して行われる。制御ルール決定部150は、メッセージ重み保管部122からメッセージ重み情報200(図5)を取得し(ステップS411)、メッセージ受信制御部110から、メッセージキュー130の平均メッセージ滞留時間を取得する(ステップS412)。
FIG. 9 shows an operation procedure for deriving a control rule in the control
続いて、制御ルール決定部150は、サービス品質性能保管部160から、あらかじめサービスレベルの要件として設定されたサービス品質要件情報を取得する(ステップS413)。図10に、サービス品質要件情報の構造を示す。サービス品質要件情報170は、サービスごとに、満たされるべきサービス品質要件として要件171〜17nを有する。制御ルール決定部150は、取得したメッセージ重み情報とメッセージ滞留時間とに対して、サービス品質要件が満たせるか否かを判断する(ステップS414)。
Subsequently, the control
図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
続いて、制御ルール決定部150は、スレッド数の減少後に、サービス品質要件を満たせるか否かを判断する(ステップS422)。ステップS422では、例えば、あらかじめスレッド数の減少によりサービス実行時間がどの程度短縮されるのかを見込んでおき、ステップS411で取得したメッセージ重みからサービス実行時間の短縮分を減算した値とメッセージキュー滞留時間との和が、サービス品質要件を満たせるか否かを判断する。
Subsequently, the control
制御ルール決定部150は、ステップS422で、スレッド数の減少後においてもサービス品質要件を満たせないと判断すると、受信遅延を行う旨を決定し、メッセージキュー130のサイズを減少させる(ステップS423)。ステップS423では、例えば、ステップS422でサービス品質要件を満たせるかを判断した際のサービス実行時間の予測値とサービス品質要件との差が大きいほど、メッセージキュー130のサイズを小さく設定する。ステップS422でサービス品質要件を満たせると判断したときには、受信遅延は行わない。
If the control
ステップS423では、例えばメッセージキュー130のサイズを、あらかじめ定められた初期値よりも小さいサイズに設定する。これにより、サイズ減少後、そのサイズの減少分に見合った分だけ、メッセージ受信制御部110にて受信遅延が行われる(図2のステップS121)ことになり、処理要求メッセージの単位時間当たりの受付け数が減少する。このように、処理要求メッセージの受付け数を抑制することで、メッセージキュー130に処理要求メッセージが滞留する時間が減少して、見かけ上のサービス時間(図11)の短縮を図ることができる。
In step S423, for example, the size of the
ステップ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
制御ルール決定部150は、ステップS415で、受信遅延が行われていないと判断したときには、スレッド群制御部141に対して、並列実行可能なスレッド数の上限値の増加を通知する(ステップS416)。スレッド群制御部141は、通知に従って、スレッド数の上限値を増加させ、サーバでの並列処理数の最大値を増加させる。このとき、並列処理数の増加にあわせて、メッセージキュー130のサイズを、初期値よりも増やしてもよい。
When the control
ステップS423でメッセージキュー130のサイズを小さくし、メッセージ受信制御部110での処理要求メッセージの受信遅延を行うと、処理要求メッセージ送信元のサーバは、メッセージ送信後直ちにメッセージ送信処理が完了せずに、相手先のサーバに、処理要求メッセージが到達していないと見える。従って、メッセージ送信元のサーバでは、メッセージ送信にかかる時間が延び、サービス実行時間(図11)が長くなる。メッセージ送信元のサーバにて、サービス実行時間が長くなったことでサービス品質要件を満たせなくなった場合には、スレッドの減少又はメッセージキューのサイズ減少が行われる。このとき、メッセージ送信先のサーバでは、メッセージ受信後の見かけ上のサービス実行時間は処理要求メッセージの受信遅延によって影響を受けないので、メッセージ受信遅延によってサービス処理性能は劣化しない。
If the size of the
以下、具体例を用いて説明する。図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
図13は、サーバ間での処理要求メッセージのやり取りを示している。図13におけるサーバ51、52、53は、図12における各サーバ10に対応する。また、各サーバの分散サービス制御装置101、102、103は、図12における各サーバの分散サービス制御装置11に対応する。ここでは、業務として、受注業務を考え、分散サービス制御システムで、在庫確認、配送、請求書発行などの一連の業務を、複数のサーバにまたがって実行するものとする。処理要求メッセージは、部品発注に関する情報を含んでいる。各サーバは、処理要求メッセージから部品データを抽出して保管した後に、次のサーバへ処理要求メッセージをそのまま転送する。各サーバにて、処理要求メッセージを分割して複数の処理要求メッセージを生成し、或いは、複数の処理要求メッセージを1つにまとめてバッチ処理を実行することはないものとする。
FIG. 13 shows the exchange of processing request messages between servers.
サーバ性能について、サーバ51、52、53の性能は、それぞれ「高」、「中」、「低」とする。また、各サーバの分散サービス制御装置101、102、103では、処理要求メッセージに対する処理時間の品質要件として、「3秒」が設定されている。メッセージキュー130の初期サイズは、「20」とする。処理要求管理部140におけるスレッド数の上限値は「8」とする。メッセージ状態管理部120のメッセージ重み保管部122(図1)に保管されるメッセージ重みルールには、処理要求メッセージのボディのXML文書に含まれる部品データを示すタグの個数に対する処理時間が設定されている。
Regarding the server performance, the performance of the
サーバ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
サーバ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
分散サービス制御装置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
メッセージ受信制御部110は、変更後のメッセージキューのサイズ「10」を維持するために、以降に受信する処理要求メッセージの受信処理を遅延し、処理要求メッセージの単位時間当たりの受付数を抑制する。これによりサーバ53の前段のサーバ52のサービス実行部22では、処理要求メッセージの送信処理が完了しないことでメッセージ送信時間(図11)が長くなり、サービス実行時間が延びる。また、その結果、サーバ52の分散サービス制御装置102のメッセージキュー130に処理要求メッセージが滞留する時間も長くなる。
In order to maintain the message queue size “10” after the change, the message
制御ルール決定部150は、サーバ52のサービス実行時間(見かけ上のサービス実行時間)が品質要件「3秒」を満たさないと判断すると、サーバ53の分散サービス制御装置103での動作と同様に、スレッド数の減少と、メッセージキュー130のサイズ変更とを行う。これにより、サーバ52の上流側のサーバ51においても、サーバ52と同様に受信処理が完了しないことでサービス実行時間が延び、処理要求メッセージのキュー滞留時間が長くなる。その結果、サーバ51は、サービス品質要件を満たすように、スレッド数の減少と、メッセージキュー130のサイズ変更とを行う。
When the control
上記のように、サーバ53にてサービス品質要件を満たせなくなると、処理要求メッセージの受信遅延を行うことで、上流側のサーバ52にてサービス処理時間が延び、サーバ52にてサービス品質要件が満たせなくなって、サーバ52にて処理要求メッセージの遅延設定を行う。サーバ52で受信遅延を行うことで、サーバ51のサービス実行時間が延び、サービス品質要件が満たさなくなると、受信遅延を行って、処理要求メッセージの入力数を抑制する。このように、分散サービス制御システム(図12、図13)は、特定のサーバに負荷が集中した場合には、上流のサーバまで、順に処理要求メッセージの受信を遅延させ、複数サーバで構成されるシステムの系全体の性能を維持するように動作する。これにより、各サーバで、サービス品質要件を満たした処理が可能となる。
As described above, when the service quality requirement cannot be satisfied by the
次に、サーバ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
サーバ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
以上、まとめると、本実施形態では、分散サービス制御装置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 (
本実施形態では、受信した処理要求メッセージに対して単純な構造解析を行い、その内容に応じて、サーバでのサービス実行時間を予測し、予測したサービス実行時間を用いてサービス品質要件を満たすか否かを判断し、スレッド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
本実施形態では、処理要求メッセージに対する処理時間がサービス品質要件を満たすか否かの判断に際して、メッセージ重みルールを利用して計算したサーバ処理時間を用いる。サーバで実際に処理要求メッセージが処理される前に、メッセージ構造に基づいて予測した負荷に基づいて制御を行うことで、処理要求メッセージの変動に俊敏に追随しやすくなる。また、制御ルール決定部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
複数のサーバが連携して動作するシステムで、各サーバに対応して分散サービス制御装置100を配置すると、分散サービス制御装置100は、それぞれメッセージキューのサイズ変更による受信遅延やスレッドの並列処理数の変更を行い、サーバ間の連携フローにて隣接するサーバの分散サービス制御装置間で、受信遅延や並列処理数が相互に影響し合う。個々のサーバがサービス品質要件を満たすように動作する結果、自動的に最適な実行配分に到達し、各サーバにてサービス時間がサービス品質要件を満たすことを保証することで、システム全体としてのサービス時間を保証することができる。また、処理要求メッセージの蓄積による直列化を行うことで、大量の処理要求によるサーバの処理不能を防ぐと同時に、蓄積されたメッセージのサーバへの転送量がシステムのボトルネックとならないように、サーバの並列処理数を変更することができる。
In a system in which a plurality of servers operate in cooperation, when the distributed
また、本実施形態では、各サーバのメッセージ入力段に分散サービス制御装置を配置することでサービス品質要件を満たした処理を実現するため、特許文献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
本実施形態では、分散サービス制御装置100は、サーバ性能に余力がある限りスレッド数を増加させるため、サーバの処理性能が、メッセージキュー130及びスレッド数の初期値によって抑えられることがなく、サーバの性能を最大限に活用できる。また、複数の分散サービス制御装置を用いたシステムでは、連携フローの下流にあるサーバの性能が、上流のサーバの性能よりも低い場合、下流のサーバにて性能劣化が発生しない範囲で、上流のサーバ性能を最大限に活用できる。このように、分散サービス制御装置によって、自動的にサービス実行に緩急をつけることで、各サーバにてサービス品質要件を満たした処理を実現しつつ、各サーバのサーバ性能を最大限に活用できる。
In this embodiment, the distributed
以上、本発明をその好適な実施形態に基づいて説明したが、本発明のサービス制御装置、方法、プログラム、及び、分散サービス制御システムは、上記実施形態にのみ限定されるものではなく、上記実施形態の構成から種々の修正及び変更を施したものも、本発明の範囲に含まれる。 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.
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〜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〜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.
処理要求メッセージを受信し、該受信した処理要求メッセージをメッセージキューに格納するメッセージ受信ステップと、
前記処理要求メッセージの構造を利用してサーバでの処理時間を計算するためのルールを定めたメッセージ重みルールを記憶するメッセージ重み保管部を参照し、前記処理要求メッセージと、前記メッセージ重みルールとに基づいて、前記処理要求メッセージに対するサーバでの処理時間を計算するメッセージ重み計算ステップと、
前記処理要求メッセージをサーバに送信して処理を実行させるスレッドを複数有するスレッド群を制御し、前記処理要求メッセージに対して前記スレッドを割り当てるスレッド割当てステップと、
前記サーバで満たされるべき品質要件に関する品質要件情報を記憶する品質要件情報保管部を参照し、前記処理要求メッセージの前記メッセージキューでの滞留時間と、前記計算されたサーバでの処理時間と、前記品質要件情報とに基づいて、前記メッセージキューのサイズと、前記スレッドの並列処理数の上限値とを制御する制御ルール決定ステップとを実行させることを特徴とするプログラム。 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〜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.
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)
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 |
-
2006
- 2006-09-20 JP JP2006253821A patent/JP2008077266A/en not_active Withdrawn
Cited By (12)
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 | |
US20080170579A1 (en) | Methods, apparatus and computer programs for managing performance and resource utilization within cluster-based systems | |
WO2010100859A1 (en) | Distributed system | |
WO2021148020A1 (en) | Service class adjustment method, apparatus, device and storage medium | |
WO2011045112A1 (en) | A method system and program to optimize job execution scheduled from and executed on external application containers | |
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 | |
CN111897550B (en) | Mirror image preloading method, device and storage medium | |
CN104904169A (en) | Adjusting thread priority to improve throughput between peer-to-peer (P2P) devices | |
CN108063653B (en) | Time delay control method, device and system | |
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 | |
JP2016032210A (en) | Virtual network allocation method and device | |
US11513856B2 (en) | Method, devices and computer program products for resource usage | |
US20140040389A1 (en) | Phased delivery of publications to subscribers | |
US10764191B2 (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 | |
JP6488557B2 (en) | Communication control system, communication system, communication control method, and communication control program | |
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 |
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 |