JP2006120080A - Web service request relay system, web service request relay method, relay server and program - Google Patents

Web service request relay system, web service request relay method, relay server and program Download PDF

Info

Publication number
JP2006120080A
JP2006120080A JP2004309716A JP2004309716A JP2006120080A JP 2006120080 A JP2006120080 A JP 2006120080A JP 2004309716 A JP2004309716 A JP 2004309716A JP 2004309716 A JP2004309716 A JP 2004309716A JP 2006120080 A JP2006120080 A JP 2006120080A
Authority
JP
Japan
Prior art keywords
server
web service
service request
relay
high load
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2004309716A
Other languages
Japanese (ja)
Other versions
JP4305364B2 (en
Inventor
Shigeru Hosono
繁 細野
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 JP2004309716A priority Critical patent/JP4305364B2/en
Publication of JP2006120080A publication Critical patent/JP2006120080A/en
Application granted granted Critical
Publication of JP4305364B2 publication Critical patent/JP4305364B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a web service management system which prevents occurrence of local heavy load status in web servers for preventing whole systems from being ceased by local service delays. <P>SOLUTION: A communication controller between services, in services in which more than one Web services work in cooperation, implements repeaters which repeat request messages and response messages communications between other services in respective computers providing web services. The repeater on a service requesting side have a feature to reduce load of a service operating side by exchanging loading information of the computers between the repeaters and making delays of requests for the service operating side in which performance degradation occurs. Also the repeaters, which operate with Web services of respective computers, are characterized to perform implementing the repeater without modifying a communication mechanism of existing Web services by acquiring and transferring the request messages and response messages for the Web services. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、複数のWebサービス計算機の連携による業務フローの実行に関し、特に、高負荷状態のWebサービス計算機へのサービス要求を、送信側計算機が要求の送信を控えることによってシステム全体の性能の劣化を防止するWebサービス要求中継システム、Webサービス要求中継方法、中継サーバ、及びそのプログラムに関する。   The present invention relates to execution of a business flow by cooperation of a plurality of Web service computers, and in particular, degradation of the performance of the entire system due to a transmission side computer refraining from transmitting a request for a service request to a highly loaded Web service computer. The present invention relates to a Web service request relay system, a Web service request relay method, a relay server, and a program thereof.

従来、企業のシステム統合は、業務の流れに沿って、経理システム、人事システム、財務会計システムなど、部門ごとに分散した業務アプリケーションやシステムを結合している。このシステム結合は、EAI(Enterprise Application Integration)と呼ばれる機能および製品によって実現している。EAIは、システム間のハブとして、データの連携をシステム間連携を一つの計算機上で集中管理する。このシステムでは、業務アプリケーションやシステムのAPI(Application Program Interface)を呼び出し、システム間連携は密結合なものになっているため、システム間の連携の動作を制御することが容易である。   Conventionally, the system integration of a company combines business applications and systems distributed by department such as an accounting system, a personnel system, and a financial accounting system in accordance with the flow of business. This system combination is realized by a function and a product called EAI (Enterprise Application Integration). As a hub between systems, EAI centrally manages data linkages on a single computer. In this system, business applications and system APIs (Application Program Interfaces) are called, and the inter-system cooperation is tightly coupled. Therefore, it is easy to control the operation of the inter-system cooperation.

このシステム結合は、個々のシステム固有のインタフェースに合わせたアダプタによって結合しているため、システム構築は非常に高価なものとなっている。そのため個々のシステムのAPIを標準化した共通インタフェースに揃える取り組みが始まっている。また、システム間のデータの受け渡しを、標準化した共通のメッセージング仕様にそって行う取り組みが始まっている。   Since this system connection is performed by an adapter adapted to an interface specific to each system, the system construction is very expensive. For this reason, efforts have been made to align the APIs of individual systems into a common interface. In addition, efforts have been started to exchange data between systems according to a standardized common messaging specification.

この標準化されたメッセージの受け渡しによりシステム間の機能結合度を弱め、システム間を疎結合することが可能となる。このメッセージングの標準仕様には、XMLデータを封筒にしたSOAPメッセージとWebサービスのインタフェースが使用されてきている。このメッセージングによるシステム構築の利点は、インターネット、イントラネットで通信の標準的なプロトコルであるHTTPを使用できる点である。   This standardized message passing weakens the degree of functional coupling between systems and allows loose coupling between systems. This messaging standard uses a SOAP message and Web service interface in which XML data is enveloped. An advantage of this system construction by messaging is that HTTP, which is a standard protocol for communication on the Internet and intranet, can be used.

このシステムは、個々のシステムは、ビジネスロジックとデータを保持し、疎結合となる。ビジネスロジックの上で隣接するサービス間の関係のみ判別可能であるため、従来のワークフローシステムのように、ビジネスロジックを集中管理することができない。このような疎結合されたWebサービス間を管理する仕組みが必要となっている。   In this system, each system holds business logic and data and is loosely coupled. Since only the relationship between adjacent services on the business logic can be determined, the business logic cannot be centrally managed as in the conventional workflow system. A mechanism for managing such loosely coupled Web services is required.

従来のWebサービス管理システムは、複数の計算機上で提供される複数のWebサービスのサービス内容および稼動状況を管理対象としている。   A conventional web service management system manages the service contents and operation statuses of a plurality of web services provided on a plurality of computers.

Webサービスは、サービス定義情報、通信部、サービス実行部、サービス応答メッセージ送信部で構成する。また、サービス定義情報は、サービス内容と、サービス実行のための入力および出力情報を定義する。サービスが一つのサービスで完結せず、他のサービスを利用する場合は、サービス定義情報に他のWebサービス呼び出しを定義する。図13に例示するようにWebサービス管理システムは、このWebサービスを提供する計算機の位置情報と、そのサービス定義情報を保管するサービス定義情報保管装置で構成する。   The Web service includes service definition information, a communication unit, a service execution unit, and a service response message transmission unit. The service definition information defines service contents and input and output information for service execution. When a service is not completed with one service and another service is used, another web service call is defined in the service definition information. As illustrated in FIG. 13, the Web service management system includes a location information of a computer that provides the Web service and a service definition information storage device that stores the service definition information.

このWebサービス管理システムは、サービス定義情報保管装置からWebサービスの定義情報を取得する。そのサービス合成計算部において、個々のWebサービスが隣接したWebサービスとの紐付けを繰り返すことにより複数のWebサービスからサービス全体の関係を紐付けし、サービス間のフローを構築する。このフローは、個々のサービスを利用した、特定業務の処理フローとみることができる。   This Web service management system acquires Web service definition information from a service definition information storage device. In the service composition calculation unit, each Web service repeatedly links with the adjacent Web service to link the relationship of the entire service from a plurality of Web services, and constructs a flow between the services. This flow can be regarded as a specific business processing flow using individual services.

これらのWebサービスは、各々が完結したサービスを提供するため、Webサービス間の機能的結合度が低く、サービスの独立性が高い。そのため、個々のWebサービスは、隣接したWebサービスの処理能力や負荷状況に関わらず、サービス要求を継続する。また、個々のWebサービスはサービス実行の計算複雑度が異なり、計算機自身のハードウェア能力も多様である。そのため、複数のWebサービスが連携して一つの処理を行うとき、全体のスループットはスループットの低いサービスに依存する。   Since each of these Web services provides a complete service, the degree of functional coupling between the Web services is low and the service is highly independent. Therefore, each Web service continues the service request regardless of the processing capability and load status of the adjacent Web service. In addition, each Web service has a different calculation complexity of service execution, and the hardware capability of the computer itself is diverse. Therefore, when a plurality of Web services cooperate to perform one process, the overall throughput depends on a service with low throughput.

このような環境においては、スループットの低いサービスへサービス要求が滞留しやすく負荷が増大するとサービス応答性能が急激に劣化するため、業務フロー全体としての処理性能も同時に急激に劣化する。この急激な性能劣化に対し、従来、負荷分散を行うロードバランサといった装置や、TCPなどネットワークの下位プロトコルでの通信フロー制御により回避してきた。   In such an environment, service requests are likely to stay in a service with low throughput, and when the load increases, the service response performance deteriorates rapidly. Therefore, the processing performance of the entire business flow also deteriorates at the same time. Conventionally, this rapid performance deterioration has been avoided by a communication flow control using a device such as a load balancer that performs load balancing or a lower protocol of a network such as TCP.

例えば、このような例として特許文献1には、以下の内容が記載されている。データ要求送信手段は、クライアントから送信されたデータを受付け、それをサーバ計算機に送信する中継を行う。データ要求送信手段は、単位時間あたりにクライアントから受信したデータ処理要求の回数を積算しそれを閾値と比較する閾値比較手段による比較結果を受取り、計測されたデータ処理要求の回数が閾値出力手段から出力された閾値を下回っていた場合、データ要求受信手段が受取ったデータ要求のパケットを、クライアントが要求するサーバ計算機へ転送し、サーバデータ要求計測手段で計測されたデータ処理要求の回数が閾値を上回っていた場合、データ要求受信手段は、受取ったデータ要求のパケットを保留バッファに保留する。   For example, the following content is described in Patent Document 1 as such an example. The data request transmission means accepts data transmitted from the client and relays it to the server computer. The data request transmission unit receives the comparison result by the threshold comparison unit that accumulates the number of data processing requests received from the client per unit time and compares it with a threshold value, and the measured number of data processing requests is received from the threshold output unit. If it is below the output threshold, the data request packet received by the data request receiving means is transferred to the server computer requested by the client, and the number of data processing requests measured by the server data request measuring means falls below the threshold. If it exceeds, the data request receiving means holds the received data request packet in the hold buffer.

特開2003−224607(第6−第8ページ、図1)JP 2003-224607 (6th to 8th pages, FIG. 1)

前述した特許文献1では、サービスの内容やサービス提供先による制御など、Webサービスを実行する上位レイヤによる論理的な高負荷制御は行えない、という問題がある。   In Patent Document 1 described above, there is a problem that logical high-load control by an upper layer executing a Web service, such as control by service contents or a service provider, cannot be performed.

具体的には、本発明のように複数のWebサービス機能の連携による処理を行う環境下の場合、サービス要求者、サービス提供者がサービス内容によって入れ替わることがある。これまでのサービス要求者がサービス提供者になり、サービス提供者がサービス要求者に代わるということである。特許文献1では、クライアント側からのサーバへの要求数を閾値管理するものであって、両方向の閾値管理をする内容は有していないためこのような状況に対応できないという第1の問題がある。   Specifically, in an environment where processing is performed by cooperation of a plurality of Web service functions as in the present invention, the service requester and the service provider may be switched depending on the service content. The conventional service requester becomes the service provider, and the service provider replaces the service requester. In Patent Document 1, there is a first problem that the number of requests from the client side to the server is managed as a threshold, and there is no content for threshold management in both directions, so that it is not possible to cope with such a situation. .

また、一般的にWebサービスの機能の拡張に伴い、HTTPプロトコルによるサービス要求者、サービス提供者間での不特定機能について、その機能固有の制御情報の受け渡しが発生するが(例えば本発明における高負荷情報の交換等)、下位のプロトコルでは、サービス要求に関するメッセージか制御情報かを識別ができない、または追随しづらいという第2の問題がある。   In general, with the expansion of Web service functions, control information specific to the function occurs between the service requester and the service provider based on the HTTP protocol. The exchange of load information, etc.) has a second problem that it cannot be identified whether the message is related to a service request or control information, or is difficult to follow.

本発明は、HTTPプロトコル通信を行うプロキシサーバに負荷制御手段を設けることで、Webサービス機能本体の改造を伴わずに以上の問題の解決を図ることを特徴とする、Webサービス要求中継システム、Webサービス要求中継方法、中継サーバ、及びそのプログラムを提案するものである。   According to the present invention, a load control unit is provided in a proxy server that performs HTTP protocol communication, thereby solving the above-described problems without remodeling the Web service function main body. A service request relay method, a relay server, and a program thereof are proposed.

本発明の第1のWebサービス要求中継システムは、Webサービス要求の送受信を行う中継手段と、前記中継手段とTCP/IP通信による接続をし前記中継手段に対するHTTPプロキシの設定を有するとともに、前記中継手段の受信したWebサービス要求を受け取りそれを処理して新たなWebサービス要求を生成し前記中継手段に送信するWebサービス実行手段と、をそれぞれ備えた第1と第2のサーバと、前記第1のサーバと、前記第2のサーバと、を接続するネットワークと、を含むWebサービス要求中継システムであって、 前記第1のサーバの前記中継手段は、前記第1のサーバの前記Webサービス実行手段による前記第2のサーバを宛先とする新たなWebサービス要求を受信すると、前記新たなサービス要求のHTTPヘッダから前記第2のサーバのアドレスを認識し前記第2のサーバの前記中継手段からの前記第2のサーバの高負荷通知の有無を確認し、高負荷通知の有る場合前記新たなWebサービス要求を保留し、高負荷通知の無い場合HTTPヘッダから当該アドレスを削除して前記第2のサーバへ送信し、 前記第2のサーバの前記中継手段は、前記新たなWebサービス要求を受信すると、前記第2のサーバのWebサービス実行手段の高負荷状態を判定して高負荷の場合、前記第1のサーバの前記中継手段に高負荷通知を送信することを特徴とする。   A first Web service request relay system according to the present invention includes a relay unit that transmits and receives a Web service request, a connection with the relay unit through TCP / IP communication, and an HTTP proxy setting for the relay unit. Web service execution means for receiving a Web service request received by the means and processing it to generate a new Web service request and transmitting it to the relay means, and a first server and a second server, respectively, A Web service request relay system including a network connecting the second server and the second server, wherein the relay unit of the first server is the Web service execution unit of the first server. When a new Web service request addressed to the second server is received, the new service request Recognizing the address of the second server from the TTP header, confirming whether there is a high load notification of the second server from the relay means of the second server, and if there is a high load notification, the new Web service When the request is suspended and there is no high load notification, the address is deleted from the HTTP header and transmitted to the second server. When the relay unit of the second server receives the new Web service request, When the high load state of the Web service execution unit of the second server is determined and the load is high, a high load notification is transmitted to the relay unit of the first server.

本発明の第2のWebサービス要求中継システムは、前記第1のWebサービス要求中継システムに於いて、前記第2のサーバの前記中継手段は、前記第2のサーバの前記Webサービス実行手段による単位時間におけるWebサービス要求処理の上限数を定義した閾値と、前記第1のサーバから直近の単位時間に受信した新たなWebサービス要求数を計数した値とを比較し、前記計数した値が前記閾値を超えると、前記第1のサーバの前記中継手段に高負荷通知をHTTPプロトコルによって送信し、前記第1のサーバの前記中継手段はそれを受信すると前記第2のサーバの前記中継手段にレスポンスメッセージを送信することを特徴とする。   The second Web service request relay system of the present invention is the first Web service request relay system, wherein the relay means of the second server is a unit by the Web service execution means of the second server. A threshold value defining the upper limit number of Web service request processes in time is compared with a value obtained by counting the number of new Web service requests received in the latest unit time from the first server, and the counted value is the threshold value. Is exceeded, the high load notification is transmitted to the relay means of the first server by the HTTP protocol, and the relay means of the first server receives the response message to the relay means of the second server. Is transmitted.

本発明の第3のWebサービス要求中継システムは、前記第2のWebサービス要求中継システムに於いて、前記第2のサーバの前記中継手段は、Webサービス要求を受信する都度、又は前記単位時間に基づき設定されたインターバルタイマからの割り込みの発生する都度、前記第2のサーバの高負荷状態を判定し、高負荷状態から高負荷でない状態に遷移すると、高負荷通知を前記第1のサーバ送信している場合、高負荷の解除通知をHTTPプロトコルによって前記第1のサーバに送信し、前記第1のサーバの前記中継手段はそれを受信すると前記第2のサーバの前記中継手段にレスポンスメッセージを送信することを特徴とする。   According to a third Web service request relay system of the present invention, in the second Web service request relay system, the relay unit of the second server receives the Web service request or at the unit time. Each time an interrupt from the set interval timer occurs, the high load state of the second server is determined, and when a transition is made from a high load state to a non-high load state, a high load notification is transmitted to the first server. If it is, the high load release notification is transmitted to the first server by the HTTP protocol, and when the relay unit of the first server receives it, the response message is transmitted to the relay unit of the second server. It is characterized by doing.

本発明の第4のWebサービス要求中継システムは、前記第3のWebサービス要求中継システムに於いて、前記第1のサーバの前記中継手段は、前記第2のサーバから高負荷の解除通知を受信すると、前記第2のサーバ向けの送信を保留された新たなWebサービス要求があればそれを取り出しHTTPヘッダから第2のサーバのアドレスを削除して前記第2のサーバへ送信することを特徴とする。   According to a fourth Web service request relay system of the present invention, in the third Web service request relay system, the relay unit of the first server receives a high load release notification from the second server. Then, if there is a new Web service request for which transmission to the second server is suspended, it is extracted, and the address of the second server is deleted from the HTTP header and transmitted to the second server. To do.

本発明の第5のWebサービス要求中継システムは、Webサービス要求の送受信を行う中継手段と、前記中継手段とTCP/IP通信による接続をし前記中継手段に対するHTTPプロキシの設定を有するとともに、前記中継手段の受信したWebサービス要求を受け取りそれを処理して新たなWebサービス要求を生成し前記中継手段に送信するWebサービス実行手段と、をそれぞれ備えた第1と第2のサーバと、前記第1のサーバと、前記第2のサーバと、を接続するネットワークと、を含み、前記第1のサーバは前記第2のサーバからのWebサービス要求を受信して実行し、前記第2のサーバは前記第1のサーバからのWebサービス要求を受信して実行するWebサービス要求中継システムであって、 前記第1のサーバの前記中継手段は、前記第1のサーバの前記Webサービス実行手段による前記第2のサーバを宛先とする新たなWebサービス要求を受信すると、前記新たなサービス要求のHTTPヘッダから前記第2のサーバのアドレスを認識し前記第2のサーバの前記中継手段からの前記第2のサーバの高負荷通知の有無を確認し、高負荷通知の有る場合前記新たなWebサービス要求を保留し、高負荷通知の無い場合HTTPヘッダから当該アドレスを削除して前記第2のサーバへ送信し、 前記第2のサーバの前記中継手段は、前記新たなWebサービス要求を受信すると、前記第2のサーバのWebサービス実行手段の高負荷状態を判定して高負荷の場合、前記第1のサーバの前記中継手段に高負荷通知を送信し、 前記第2のサーバの前記中継手段は、前記第2のサーバの前記Webサービス実行手段による前記第1のサーバを宛先とする新たなWebサービス要求を受信すると、前記新たなサービス要求のHTTPヘッダから前記第1のサーバのアドレスを認識し前記第1のサーバの前記中継手段からの前記第1のサーバの高負荷通知の有無を確認し、高負荷通知の有る場合前記新たなWebサービス要求を保留し、高負荷通知の無い場合HTTPヘッダから当該アドレスを削除して前記第1のサーバへ送信し、 前記第1のサーバの前記中継手段は、前記新たなWebサービス要求を受信すると、前記第1のサーバのWebサービス実行手段の高負荷状態を判定して高負荷の場合、前記第2のサーバの前記中継手段に高負荷通知を送信することを特徴とする。   A fifth Web service request relay system according to the present invention includes a relay unit for transmitting and receiving a Web service request, a connection with the relay unit by TCP / IP communication, and an HTTP proxy setting for the relay unit. Web service execution means for receiving a Web service request received by the means and processing it to generate a new Web service request and transmitting it to the relay means, and a first server and a second server, respectively, And a network connecting the second server, the first server receives and executes a Web service request from the second server, and the second server A Web service request relay system that receives and executes a Web service request from a first server, wherein the Web service request relay system is in front of the first server. When the relay unit receives a new Web service request destined for the second server by the Web service execution unit of the first server, the relay unit addresses the second server from the HTTP header of the new service request. And confirms whether there is a high load notification of the second server from the relay unit of the second server, and if there is a high load notification, the new Web service request is suspended and there is no high load notification In this case, the address is deleted from the HTTP header and transmitted to the second server, and when the relay unit of the second server receives the new Web service request, the Web service execution unit of the second server When the high load state is determined and the load is high, a high load notification is transmitted to the relay unit of the first server, and the relay unit of the second server When a new Web service request destined for the first server is received by the Web service execution unit of the second server, the address of the first server is recognized from the HTTP header of the new service request. The presence of the high load notification of the first server from the relay unit of the first server is confirmed, and if there is a high load notification, the new Web service request is suspended, and if there is no high load notification, an HTTP header And when the relay unit of the first server receives the new Web service request, the high load on the Web service execution unit of the first server is deleted. When the state is determined and the load is high, a high load notification is transmitted to the relay unit of the second server.

本発明の第6のWebサービス要求中継システムは、Webサービス要求の送受信を行う中継手段と、前記中継手段とTCP/IP通信による接続をし前記中継手段に対するHTTPプロキシの設定を有するとともに、前記中継手段の受信したWebサービス要求を受け取りそれを処理して新たなWebサービス要求を生成し前記中継手段に送信するWebサービス実行手段と、をそれぞれ備えた第1と第2のサーバと、前記中継手段を備えず受信したWebサービス要求を処理して新たなWebサービス要求を生成するWebサービス実行手段を備えた第3のサーバと、前記第1のサーバと、前記第2のサーバと、前記第3のサーバと、を接続するネットワークと、を含み、前記第1のサーバ又は前記第3のサーバから前記第2のサーバへ前記新たなWebサービス要求を送信するWebサービス要求中継システムであって、 前記第1のサーバの前記中継手段は、前記第1のサーバの前記Webサービス実行手段による新たなWebサービス要求を受信すると、HTTPヘッダから前記第2のサーバのアドレスを認識し前記第2のサーバの前記中継手段からの前記第2のサーバの高負荷通知の有無を確認し、高負荷通知の有る場合前記新たなWebサービス要求を保留し、高負荷通知の無い場合HTTPヘッダから当該アドレスを削除して前記第2のサーバへ送信し、 前記第2のサーバの前記中継手段は、前記新たなWebサービス要求を受信すると、前記第2のサーバのWebサービス実行手段の高負荷状態を判定して高負荷の場合、前記第1のサーバの前記中継手段に高負荷通知を送信することを特徴とする。   A sixth Web service request relay system according to the present invention includes a relay unit for transmitting and receiving a Web service request, a connection with the relay unit through TCP / IP communication, and an HTTP proxy setting for the relay unit. Web service execution means for receiving a Web service request received by the means and processing it to generate a new Web service request and sending it to the relay means, respectively, and the relay means, respectively A third server comprising web service execution means for processing a received web service request and generating a new web service request, the first server, the second server, and the third server To the second server from the first server or the third server to the second server In the Web service request relay system for transmitting a new Web service request, the relay unit of the first server receives a new Web service request from the Web service execution unit of the first server. Recognizing the address of the second server from the HTTP header, confirming whether there is a high load notification of the second server from the relay means of the second server, and if there is a high load notification, the new Web service When the request is suspended and there is no high load notification, the address is deleted from the HTTP header and transmitted to the second server. When the relay unit of the second server receives the new Web service request, When the high load state of the Web service execution unit of the second server is determined and the load is high, the relay unit of the first server And transmitting a notification.

本発明の第7のWebサービス要求中継システムは、前記第6のWebサービス要求中継システムに於いて、前記第2のサーバの前記中継手段は、前記第3のサーバへのHTTPプロトコルによる高負荷を通知するリクエストメッセージの送信後、前記第3のサーバからのレスポンスメッセージの受信有無を確認し、レスポンスメッセージを受信しない前記第3のサーバは前記中継手段を有さないと認識し、以降発生する高負荷解除通知を前記第3のサーバには送信しないことを特徴とする。   According to a seventh Web service request relay system of the present invention, in the sixth Web service request relay system, the relay means of the second server applies a high load to the third server by an HTTP protocol. After the request message to be notified is transmitted, it is confirmed whether or not a response message is received from the third server, the third server that does not receive the response message recognizes that it does not have the relay means, The load release notification is not transmitted to the third server.

本発明の第8のWebサービス要求中継システムは、前記第7のWebサービス要求中継システムに於いて、前記第2のサーバの前記中継手段は、前記第3のサーバが中継手段を有していないことを認識すると、前記第2のサーバが高負荷の場合において、前記第3のサーバから受信した新たなWebサービス要求に対する処理結果の送信を前記第3のサーバへ行う場合、予め設定された時間遅延して送信することを特徴とする。   According to an eighth Web service request relay system of the present invention, in the seventh Web service request relay system, the relay means of the second server does not have the relay means in the third server. Recognizing this, when the second server is under a heavy load, when a processing result for the new Web service request received from the third server is transmitted to the third server, a preset time The transmission is delayed.

本発明の第9のWebサービス要求中継システムは、Webサービス要求を送信する処理と受信したWebサービス要求を実行する処理を備えた第1と第2のサーバと、Webサービス要求を中継する中継サーバと、前記各サーバを接続するネットワークと、を含むWebサービス要求中継システムにおいて、 前記第1のサーバは、前記中継サーバに対するHTTPプロキシを使用する設定を有し、Webサービス要求の送信時、HTTPヘッダに前記第2のサーバのアドレスを設定して送信を行い、 前記中継サーバは、前記第2のサーバの単位時間に処理可能なWebサービス要求メッセージ数と前記単位時間長の設定情報を有し、前記第1のサーバから受信したWebサービス要求のHTTPヘッダから取り出した前記第2のサーバのアドレスを元に前記第2のサーバ宛の直近の単位時間におけるWebサービス要求数を計数し、計数したWebサービス要求数を前記閾値と比較し、前記閾値以下の場合は前記Webサービス要求を送信し、前記閾値を越える場合は前記第2のサーバは高負荷状態と判断して前記Webサービス要求を保留することを特徴とする。   A ninth Web service request relay system according to the present invention includes a first server and a second server having a process for transmitting a Web service request, a process for executing a received Web service request, and a relay server for relaying the Web service request. And a network connecting each of the servers, wherein the first server has a setting to use an HTTP proxy for the relay server, and when sending a Web service request, an HTTP header The relay server has setting information for the number of Web service request messages that can be processed in the unit time of the second server and the unit time length, The second server extracted from the HTTP header of the Web service request received from the first server. The number of Web service requests for the most recent unit time addressed to the second server is counted based on the address, the counted number of Web service requests is compared with the threshold value, and if it is equal to or less than the threshold value, the Web service request is transmitted. When the threshold value is exceeded, the second server determines that the load is high and puts the Web service request on hold.

本発明の第10のWebサービス要求中継システムは、前記第9のWebサービス要求中継システムに於いて、前記中継サーバは、受信したWebサービス要求のHTTPヘッダから取り出した前記第2のサーバのアドレスを元にアドレス別に前記保留したWebサービス要求を時系列に従って記憶することを特徴とする。   According to a tenth Web service request relay system of the present invention, in the ninth Web service request relay system, the relay server uses the address of the second server extracted from the HTTP header of the received Web service request. Originally, the held Web service request is stored in time series according to address.

本発明の第11のWebサービス要求中継システムは、前記第9のWebサービス要求中継システムに於いて、前記中継サーバは、Webサービス要求を受信する都度、又は前記単位時間に基づき設定されたインターバルタイマからの割り込みの発生する都度、前記第2のサーバの高負荷状態を判定し、高負荷状態ではない場合、保留したWebサービス要求の有無を確認し、保留したWebサービス要求があると保留されたWebサービス要求のHTTPヘッダから前記第2のサーバのアドレスを取り外して前記第2のサーバへ送信することを特徴とする。   According to an eleventh Web service request relay system of the present invention, in the ninth Web service request relay system, the relay server is an interval timer set every time a Web service request is received or based on the unit time. Each time an interrupt occurs, the high load state of the second server is determined. If the second server is not in a high load state, the presence or absence of a pending web service request is confirmed. The address of the second server is removed from the HTTP header of the Web service request and transmitted to the second server.

本発明の第12のWebサービス要求中継システムは、前記第9のWebサービス要求中継システムに於いて、前記中継サーバは、前記第1のサーバのプロキシサーバとして設定され、前記第2のサーバへの前記Webサービス要求の送信数の抑制による高負荷制御手段を有することを特徴とする。   In a twelfth Web service request relay system according to the present invention, in the ninth Web service request relay system, the relay server is set as a proxy server of the first server, and is connected to the second server. It is characterized by having high load control means by suppressing the number of transmissions of the Web service request.

本発明の第13のWebサービス要求中継システムは、前記第9のWebサービス要求中継システムに於いて、前記第2のサーバが前記第1のサーバにWebサービス要求を送信し前記第1のサーバはそれを受信して実行するに際し、前記中継サーバは、前記第2のサーバのプロキシサーバと設定され、前記第1のサーバの単位時間に処理可能なWebサービス要求メッセージ数と前記単位時間長の設定情報を備えることにより、前記中継サーバは、前記第2のサーバへの前記Webサービス要求の送信数の制御による高負荷制御手段をさらに有することを特徴とする。   According to a thirteenth Web service request relay system of the present invention, in the ninth Web service request relay system, the second server transmits a Web service request to the first server, and the first server When receiving and executing it, the relay server is set as the proxy server of the second server, and the number of Web service request messages that can be processed in the unit time of the first server and the unit time length are set. By providing the information, the relay server further includes high load control means by controlling the number of transmissions of the Web service request to the second server.

本発明の第1のWebサービス要求中継方法は、Webサービス要求を送信する処理と受信したWebサービス要求を実行する処理を備えた第1と第2のサーバと、Webサービス要求を中継する中継サーバと、前記各サーバを接続するネットワークを含むWebサービスシステムにおけるWebサービス要求中継方法であって、 前記第1のサーバは、前記中継サーバに対するHTTPプロキシを使用する設定を有し、Webサービス要求の送信時、HTTPヘッダに前記第2のサーバのアドレスを設定して前記中継サーバに送信を行うステップと、 前記中継サーバは、前記第2のサーバの単位時間に処理可能なWebサービス要求メッセージ数と前記単位時間長の設定情報を有し、受信したWebサービス要求のHTTPヘッダから取り出した前記第2のサーバのアドレスを元に前記第2のサーバ宛の直近の単位時間におけるWebサービス要求数を計数するステップと、 前記中継サーバは、計数したWebサービス要求数を前記閾値と比較し、前記閾値以下の場合は前記Webサービス要求を送信するステップと、 前記中継サーバは、前記閾値を越える場合は前記Webサービス要求を保留するステップと、 前記中継サーバは、Webサービス要求を受信する都度、又は前記単位時間に基づき設定されたインターバルタイマからの割り込みの発生する都度、前記第2のサーバの高負荷状態を判定し、高負荷状態から高負荷でない状態への遷移を確認すると、保留したWebサービス要求の有無を確認し、保留したWebサービス要求があると保留されたWebサービス要求のHTTPヘッダから前記第2のサーバのアドレスを取り外して前記第2のサーバへ送信するステップと、 を備えることを特徴とする。   A first Web service request relay method according to the present invention includes a first server and a second server having a process for transmitting a Web service request, a process for executing a received Web service request, and a relay server for relaying the Web service request. And a Web service request relay method in a Web service system including a network connecting the servers, wherein the first server has a setting to use an HTTP proxy for the relay server, and transmits a Web service request. A step of setting the address of the second server in an HTTP header and transmitting to the relay server, the relay server including the number of Web service request messages that can be processed in a unit time of the second server, and It has setting information of unit time length and is taken from the HTTP header of the received Web service request. Counting the number of Web service requests in the most recent unit time addressed to the second server based on the address of the second server issued, and the relay server compares the counted number of Web service requests with the threshold value. And transmitting the Web service request if the threshold is less than the threshold; suspending the Web service request if the relay server exceeds the threshold; and receiving the Web service request. Each time or whenever an interrupt from the interval timer set based on the unit time occurs, the high load state of the second server is determined, and the transition from the high load state to the non-high load state is confirmed. If there is a pending web service request, the pending web service request is confirmed. Remove the address of the second server from the HTTP header of the characterized in that it comprises the steps of: transmitting to the second server.

本発明の第2のWebサービス要求中継方法は、Webサービス要求の送受信を行う中継手段と、前記中継手段とTCP/IP通信による接続をし前記中継手段に対するHTTPプロキシの設定を有するとともに、前記中継手段の受信したWebサービス要求を受け取りそれを処理して新たなWebサービス要求を生成し前記中継手段に送信するWebサービス実行手段と、をそれぞれ備えた第1と第2のサーバと、前記第1のサーバと、前記第2のサーバと、を接続するネットワークと、を含むWebサービスシステムにおけるWebサービス要求中継方法であって、 前記第1のサーバの前記中継手段は、受信したWebサービス要求を第1のサーバの前記Webサービス実行手段にTCP/IP通信で送信する第1のステップと、 前記第1のサーバの前記Webサービス実行手段は、受信したWebサービス要求を処理して新たなWebサービス要求を生成し、HTTPヘッダの宛先に前記第2のサーバのアドレスを設定して前記第1のサーバの前記中継手段に送信するステップと、 前記第1のサーバの前記中継手段は、前記新たなWebサービス要求を受信するとHTTPヘッダの宛先の前記第2のサーバのアドレスを元に前記第2のサーバが高負荷か否かを判定するステップと、 前記第1のサーバの前記中継手段は、前記第2のサーバが高負荷である場合、前記新たなWebサービス要求を前記第2のサーバのアドレスを元に保留するステップと、 前記第1のサーバの前記中継手段は、前記第2のサーバが高負荷でない場合、前記新たなWebサービスのHTTPヘッダから第2のサーバのアドレスを削除してこれを前記第2のサーバへ送信するステップと、 前記第2のサーバの前記中継手段は、前記新たなWebサービス要求を受信すると、前記第2のサーバの前記Webサービス実行手段の高負荷状態を判定するステップと、 前記第2のサーバの前記中継手段は、前記Webサービス実行手段が高負荷であると判定すると、前記第1のサーバの前記中継手段に高負荷の通知をHTTPプロトコルによって送信するステップと、 前記第2のサーバの前記中継手段は、高負荷状態の判定の結果、高負荷状態から高負荷でない状態への遷移を確認すると、前記第1のサーバの前記中継手段に高負荷の解除の通知をHTTPプロトコルによって送信するステップと、 前記第1のサーバの前記中継手段は、前記第2のサーバから高負荷通知を受信すると、前記第2のサーバは高負荷状態に有るとして記憶し、高負荷の解除の通知を受信すると、前記第2のサーバのアドレスを元に保留した前記新たなWebサービス要求の有無を確認し、有る場合、前記新たなWebサービス要求のHTTPヘッダから前記第2のサーバのアドレスを削除して前記第2のサーバに送信するステップと、 を備えることを特徴とする。   The second Web service request relay method of the present invention comprises a relay means for transmitting / receiving a Web service request, a connection with the relay means by TCP / IP communication, and setting of an HTTP proxy for the relay means, and the relay Web service execution means for receiving a Web service request received by the means and processing it to generate a new Web service request and transmitting it to the relay means, and a first server and a second server, respectively, A web service request relay method in a web service system including a server connecting the second server and a network connecting the second server, wherein the relay unit of the first server A first step of transmitting to the Web service execution means of one server by TCP / IP communication; The Web service execution means of the first server processes the received Web service request to generate a new Web service request, sets the address of the second server as the destination of the HTTP header, and sets the first server Transmitting to the relay means of the server; and when receiving the new Web service request, the relay means of the first server, based on the address of the second server as the destination of the HTTP header, Determining whether or not the server has a high load; and if the second server has a high load, the relay means of the first server sends the new Web service request to the address of the second server. And the relay means of the first server, when the second server is not heavily loaded, to the HTTP of the new Web service Deleting the address of the second server from the server and transmitting it to the second server; and when the relay means of the second server receives the new Web service request, Determining the high load state of the Web service execution unit of the server; and when the relay unit of the second server determines that the Web service execution unit is highly loaded, the relay of the first server A step of transmitting a high load notification to the means by HTTP protocol, and the relay means of the second server confirms a transition from a high load state to a non-high load state as a result of the determination of the high load state, Sending a high load release notification to the relay means of the first server by HTTP protocol; and the relay means of the first server When a high load notification is received from the second server, the second server stores it as being in a high load state, and upon receiving a high load release notification, it is suspended based on the address of the second server Checking the presence or absence of the new Web service request, and if there is, deleting the address of the second server from the HTTP header of the new Web service request and transmitting to the second server. It is characterized by.

本発明の中継サーバは、HTTPプロキシを使用する設定を中継サーバに設定した第1のサーバから、HTTPヘッダにWebサービス要求を実行する第2のサーバのアドレスが設定されたWebサービス要求を受信する手段と、 前記第2のサーバの単位時間に処理可能なWebサービス要求メッセージ数と前記単位時間長の設定情報を有し、受信したWebサービス要求のHTTPヘッダから取り出した前記第2のサーバのアドレスを元に前記第2のサーバ宛の直近の単位時間におけるWebサービス要求数を計数する手段と、 計数したWebサービス要求数を前記閾値と比較し、前記閾値以下の場合は前記Webサービス要求を前記第2のWebサーバに送信する手段と、 前記閾値を越える場合は前記Webサービス要求を保留する手段と、 Webサービス要求を受信する都度、又は前記単位時間に基づき設定されたインターバルタイマからの割り込みの発生する都度、前記第2のサーバの高負荷状態を判定し、高負荷状態から高負荷でない状態への遷移を確認すると、保留したWebサービス要求の有無を確認し、保留したWebサービス要求があると保留されたWebサービス要求のHTTPヘッダから前記第2のサーバのアドレスを取り外して前記第2のサーバへ送信する手段と、を備えることを特徴とする。   The relay server of the present invention receives a Web service request in which an HTTP header is set to the address of the second server that executes the Web service request from the first server that is set to use the HTTP proxy as the relay server. Means, the number of Web service request messages that can be processed per unit time of the second server, and the setting information of the unit time length, and the address of the second server extracted from the HTTP header of the received Web service request A means for counting the number of web service requests for the most recent unit time addressed to the second server based on the above, and comparing the counted number of web service requests with the threshold value. Means for transmitting to the second Web server, and if the threshold is exceeded, the Web service request is suspended Every time a Web service request is received or every time an interrupt from an interval timer set based on the unit time occurs, the high load state of the second server is determined, and the high load state is not high. When the transition to the state is confirmed, it is confirmed whether there is a pending web service request. If there is a pending web service request, the address of the second server is removed from the HTTP header of the suspended web service request. Means for transmitting to the server.

本発明のプログラムは、コンピュータに、 HTTPプロキシを使用する設定を中継サーバに設定した第1のサーバから、HTTPヘッダにWebサービス要求を実行する第2のサーバのアドレスが設定されたWebサービス要求を受信するステップと、 前記第2のサーバの単位時間に処理可能なWebサービス要求メッセージ数と前記単位時間長の設定情報を有し、受信したWebサービス要求のHTTPヘッダから取り出した前記第2のサーバのアドレスを元に前記第2のサーバ宛の直近の単位時間におけるWebサービス要求数を計数するステップと、 計数したWebサービス要求数を前記閾値と比較し、前記閾値以下の場合は前記Webサービス要求を前記第2のWebサーバに送信するステップと、 前記閾値を越える場合は前記Webサービス要求を保留するステップと、 Webサービス要求を受信する都度、又は前記単位時間に基づき設定されたインターバルタイマからの割り込みの発生する都度、前記第2のサーバの高負荷状態を判定し、高負荷状態から高負荷でない状態への遷移を確認すると、保留したWebサービス要求の有無を確認し、保留したWebサービス要求があると保留されたWebサービス要求のHTTPヘッダから前記第2のサーバのアドレスを取り外して前記第2のサーバへ送信するステップと、を実行させることを特徴とする。   The program of the present invention sends a Web service request in which the address of the second server that executes the Web service request is set in the HTTP header from the first server that is set in the relay server to use the HTTP proxy. The second server having the receiving step, the number of Web service request messages that can be processed per unit time of the second server and the setting information of the unit time length, and extracted from the HTTP header of the received Web service request Counting the number of Web service requests for the most recent unit time addressed to the second server based on the address of the second server, comparing the counted number of Web service requests with the threshold, and if the threshold is less than the threshold, the Web service request To the second web server, and before the threshold is exceeded A step of suspending the web service request, and whenever the web service request is received or whenever an interrupt from the interval timer set based on the unit time occurs, the high load state of the second server is determined, When the transition from the load state to the non-high load state is confirmed, the presence / absence of the suspended web service request is confirmed. If there is a suspended web service request, the address of the second server is determined from the HTTP header of the suspended web service request. Removing and transmitting to the second server.

第1の効果は、複数のWebサービスの負荷を均一に保ち、局所的なサービス処理実行の極端な性能劣化がサービス全体の隘路(ボトルネック)になることを防ぐことにある。   The first effect is to keep the load of a plurality of Web services uniform and prevent extreme performance deterioration of local service processing execution from becoming a bottleneck of the entire service.

そのため、特定のサービスへの負荷が一定量を超えると処理性能が急激に劣化するサービスに対し、サービス要求側が自主的にその要求を抑制する。具体的には、その回避をする通信遅延手段を、高負荷となったサービス要求を受信する計算機ではなく、サービス要求を送信する計算機で行うことにより、高負荷となった計算機ではサービス間通信制御装置の導入による処理負荷が増えないようにできることである。   For this reason, the service requester voluntarily suppresses a request for a service whose processing performance deteriorates rapidly when the load on a specific service exceeds a certain amount. Specifically, the communication delay means for avoiding this is not performed by a computer that receives a service request with high load, but by a computer that transmits a service request. It is possible to prevent the processing load due to the introduction of the apparatus from increasing.

次に、本発明を実施するための最良の形態について図面を参照して詳細に説明する。   Next, the best mode for carrying out the present invention will be described in detail with reference to the drawings.

本発明の第1の実施例は、図1を参照すると、複数のWebサーバ10と、1台のサービス管理装置20と、Webサーバ10にサービスを依頼するパーソナルコンピュータ等のクライアント装置30と、Webサーバ10とサービス管理装置20とクライアント装置30とを接続するインターネットを含むネットワーク40と、から構成される。Webサーバ10とサービス管理装置20とクライアント30は、何れも計算機である。   Referring to FIG. 1, the first embodiment of the present invention refers to a plurality of Web servers 10, a single service management device 20, a client device 30 such as a personal computer that requests a service from the Web server 10, and a Web A network 40 including the Internet that connects the server 10, the service management apparatus 20, and the client apparatus 30 is configured. The Web server 10, the service management apparatus 20, and the client 30 are all computers.

本発明では、Webサービス管理システムが、複数のWebサーバ10の局所的な高負荷状態の発生を抑制し、また、局所的なサービスの停止が全体のシステムの停止とならないように制御する。そのために、Webサービス管理システムに中継装置11を導入し、Webサーバ10間の通信フローを制御する。   In the present invention, the Web service management system controls the occurrence of a local high load state of the plurality of Web servers 10 and performs control so that the local service stop does not stop the entire system. For this purpose, the relay device 11 is introduced into the Web service management system, and the communication flow between the Web servers 10 is controlled.

Webサービス管理システムは、Webサーバ10で動作する中継装置11と、サービス管理装置20と、から構成され、複数のWebサーバ10の提供する各サービス内容および稼動状況を管理する。   The Web service management system includes a relay device 11 that operates on the Web server 10 and a service management device 20, and manages each service content and operation status provided by the plurality of Web servers 10.

サービス管理装置20は、サービス合成計算部21と、Webサーバ10の負荷情報を記憶する運用情報記憶部22と、このサービスを提供するWebサーバ10の位置情報とそのサービス定義情報を保管するサービス定義情報保管装置23と、から構成される。運用情報記憶部22とサービス定義情報保管装置23は、磁気ディスク装置等からなるサービス管理装置20に接続された記憶装置である。   The service management apparatus 20 includes a service composition calculation unit 21, an operation information storage unit 22 that stores load information of the Web server 10, and a service definition that stores location information and service definition information of the Web server 10 that provides this service. And an information storage device 23. The operation information storage unit 22 and the service definition information storage device 23 are storage devices connected to the service management device 20 including a magnetic disk device or the like.

Webサーバ10は、各Webサーバ10の自身が担当する、例えば受注システム等の業務について、その業務名、業務を一意に識別する業務識別子、業務の依頼元Webサービス名、業務の依頼先Webサービス名、応答/転送種別等を含む情報を記憶する。1つの業務は、1以上のWebサーバ10の連携によって実行されるが、各Webサーバ10は、その業務フロー全体における自分の担当する部分についての情報を記憶する。   The Web server 10 is responsible for the business of each Web server 10 such as an order receiving system, for example, the business name, the business identifier that uniquely identifies the business, the business request source Web service name, and the business request destination Web service. Information including name, response / transfer type, etc. is stored. One business is executed by cooperation of one or more Web servers 10, but each Web server 10 stores information on a portion that it is in charge of in the entire business flow.

サービス管理装置20は、各Webサーバ10の担当するそれぞれの業務について、Webサーバ10から予め業務フローにおける各Webサーバ10の担当する情報を受信している。サービス管理装置20は、受信した業務フローの担当部分情報をサービス定義情報保管装置23に業務別、送信したWebサーバ10別に記憶する。   The service management apparatus 20 has previously received information in charge of each Web server 10 in the business flow from the Web server 10 for each business in charge of each Web server 10. The service management device 20 stores the received partial information of the business flow in the service definition information storage device 23 for each business and for each transmitted Web server 10.

例えば、1つの業務フローとして受注システムを捉えた場合、受注システムは、オーダー管理(身元確認、内容妥当性確認)、在庫管理(在庫確認、発注分の減算)、配送管理(配送伝票作成、配送車分配)など、幾つかの機能(=Webサービス)から構成されている。この場合、オーダー管理 → 在庫管理 → 配送管理 といったWebサーバ10間のメッセージの流れが受注システムの中で予め決められ、各Webサーバ10内で次のWebサーバ10へ転送する処理が記述されるということになる。   For example, when an order receiving system is considered as one business flow, the order receiving system performs order management (identity confirmation, content validity confirmation), inventory management (inventory confirmation, order subtraction), delivery management (delivery slip creation, delivery) It consists of several functions (= Web service) such as car distribution. In this case, the message flow between the Web servers 10 such as order management → inventory management → delivery management is determined in advance in the order receiving system, and processing for transferring to the next Web server 10 in each Web server 10 is described. It will be.

サービス管理装置20は、関連するWebサーバ10から業務フロー情報の収集を終えると、収集されたWebサーバ10の定義情報をサービス定義情報保管装置23から読み込む。サービス管理装置20のサービス合成計算部21において、個々のWebサーバ10がサービス的に隣接したWebサーバ10と連携して1つのサービスを実行する場合、その紐付けを繰り返すことにより個々のWebサーバ10の担当する部分情報からサービス全体の関係を紐付けし、Webサーバ10全体の間の業務フローを構築する。このフローは、個々のWebサーバ10を利用した、特定業務の処理フローとみることができる。   When the service management apparatus 20 finishes collecting the business flow information from the associated Web server 10, the service management apparatus 20 reads the collected definition information of the Web server 10 from the service definition information storage apparatus 23. In the service composition calculation unit 21 of the service management apparatus 20, when each Web server 10 executes one service in cooperation with the adjacent Web server 10 in terms of service, the individual Web servers 10 are repeated by repeating the association. Are associated with the entire service relationship, and the business flow between the entire Web server 10 is constructed. This flow can be regarded as a processing flow of a specific job using each Web server 10.

Webサーバ10は、中継装置11と,Webサービス12と、サービス定義情報15と、から構成される。Webサービス12は、通信部13と、サービス実行部14と、から構成される。また、サービス定義情報15は、前述したように、サービス内容と、サービス実行のための入力および出力情報を定義する。   The Web server 10 includes a relay device 11, a Web service 12, and service definition information 15. The web service 12 includes a communication unit 13 and a service execution unit 14. Further, as described above, the service definition information 15 defines service contents and input and output information for service execution.

サービス定義情報15は、業務サービスがあるWebサービス12によって完結する応答処理か、業務サービスが一つのWebサーバ10の処理で完結せず、他のWebサーバ10を引き続き利用する転送処理かの区別や、転送処理の場合は、他のWebサーバ10の呼び出しとその引数とを定義する。   The service definition information 15 indicates whether the response process is completed by a Web service 12 with a business service or the transfer process in which the business service is not completed with the processing of one Web server 10 and continues to use another Web server 10. In the case of the transfer process, a call to another Web server 10 and its argument are defined.

中継装置11は、Webサービス12と同じ計算機上に実装されていて、メッセージ受信部110と、メッセージ送信部111と、サービス情報解析部112と、メッセージ保管部113と、送信先保管部114と、サービス情報記憶部115と、から構成され、ポート番号の定義されたプロキシサーバとして動作するアプリケーションプログラムである。   The relay device 11 is mounted on the same computer as the Web service 12, and includes a message reception unit 110, a message transmission unit 111, a service information analysis unit 112, a message storage unit 113, a transmission destination storage unit 114, The service information storage unit 115 is an application program that operates as a proxy server with a defined port number.

Webサーバ10の機能は、計算機上で動作する複数のソフトウェアプログラムによって実行される。   The functions of the Web server 10 are executed by a plurality of software programs that operate on a computer.

Webサービスの要求元の中継装置11は、Webサービス要求先のWebサーバ10の中継装置11から当該Webサーバ10の負荷情報を受信する。負荷情報には単位時間あたりに処理可能なWebサービス要求メッセージ数の上限を超えた高負荷状態である内容を含む。この負荷情報によってWebサービス要求先が高負荷の通知を受けたWebサービス要求元の中継装置11は、高負荷のWebサーバ10への送信を抑制する。このWebサーバ10間の通信フローの制御により、複数のWebサーバ10の処理を平準化した全体システムの運用が可能となる。   The relay device 11 that is the request source of the Web service receives the load information of the Web server 10 from the relay device 11 of the Web server 10 that is the Web service request destination. The load information includes contents in a high load state exceeding the upper limit of the number of Web service request messages that can be processed per unit time. The relay device 11 of the Web service request source that has received the high load notification from the Web service request destination by this load information suppresses transmission to the high load Web server 10. By controlling the communication flow between the Web servers 10, it is possible to operate the entire system in which the processes of the plurality of Web servers 10 are leveled.

Webサービス要求元の中継装置11は、高負荷となったWebサービス要求先のWebサーバ10へのWebサービス要求メッセージについて、その分解、保管、再構築および送信を行うことによって、送信遅延を行い通信フローを制御する。   The relay device 11 of the Web service request source performs transmission delay and communication by disassembling, storing, reconstructing, and transmitting the Web service request message to the Web server 10 of the Web service request destination that has become a heavy load. Control the flow.

中継装置11は、あるWebサーバ10から別のWebサーバ10へのHTTP(Hyper Text Transfer Protocol)リクエストを中継する。このとき、HTTPプロトコルの通信はTCP(Transmission Control Protocol)接続の上に成り立つため、通常のHTTPリクエストのヘッダ情報には、宛先の計算機のアドレス情報は含まれない。しかし、HTTPを利用したプログラムに標準的に用意されたHTTPプロキシを使用する設定をWebサービス12の通信部13に対して行うと、Webサービス12から同じ計算機上の中継装置11へ渡るメッセージのHTTPリクエストヘッダに宛先情報を埋めこむことができる。中継装置11はこの宛先情報を参照し宛先のWebサーバ10を識別して、宛先のWebサーバ10が高負荷か否かを判断することが可能となる。   The relay device 11 relays an HTTP (Hyper Text Transfer Protocol) request from one Web server 10 to another Web server 10. At this time, since the communication of the HTTP protocol is established on a TCP (Transmission Control Protocol) connection, the header information of the normal HTTP request does not include the address information of the destination computer. However, if the communication unit 13 of the Web service 12 is set to use a standard HTTP proxy prepared in a program using HTTP, the HTTP of the message passing from the Web service 12 to the relay device 11 on the same computer. Destination information can be embedded in the request header. The relay device 11 can refer to the destination information to identify the destination Web server 10 and determine whether or not the destination Web server 10 has a high load.

以上を整理すると図12のようになる。   The above is organized as shown in FIG.

図12では、サーバ(B)からサーバ(A)へWebサービス要求メッセージを送信するとする。
中継装置導入後では、サーバ(B)のWebサービスから同じサーバ(B)の中継装置に送信されるメッセージのプロトコルヘッダにはサーバ(A)のアドレスが
HTTPヘッダ:POST http://abc/...のように記載される。これにより中継装置は宛先のサーバのアドレスを知ることができる。サーバ(B)の中継装置は、HTTPヘッダのhttp://abc/...を元にサーバ(A)のabcにTCP接続し通常のPOSTを送信する。
In FIG. 12, it is assumed that a Web service request message is transmitted from the server (B) to the server (A).
After the introduction of the relay device, the address of the server (A) is included in the protocol header of the message transmitted from the Web service of the server (B) to the relay device of the same server (B).
HTTP header: described as POST http: // abc / ... Thereby, the relay apparatus can know the address of the destination server. The relay device of the server (B) makes a TCP connection to the abc of the server (A) based on http: // abc / ... of the HTTP header and transmits a normal POST.

これにより、中継装置11は、Webサービス要求先のWebサーバ10から高負荷の通知を受信していて要求先が高負荷の場合、Webサービス要求先についての送信メッセージの分解、一時蓄積、高負荷解除時の分解したメッセージの再構築と送信が可能となる。尚、既存のWebサービスと本発明の内容との整合性を図るために、中継装置11のポート番号は、既存のWebサービスに定義されたポート番号を使用し、Webサービス12の既存のポート番号を別の番号に変更する。同じWebサーバ10上の中継装置11とWebサービス12間のメッセージの送受信は、それぞれに外付けで定義されたポート番号を使用するTCP/IPの通信によって実行される。   As a result, when the relay apparatus 11 receives a high-load notification from the Web server 10 that is the Web service request destination and the request destination is a high load, the relay apparatus 11 decomposes, temporarily stores, and loads the transmission message about the Web service request destination. It is possible to reconstruct and send the disassembled message at the time of release. In order to ensure consistency between the existing Web service and the contents of the present invention, the port number of the relay apparatus 11 uses the port number defined in the existing Web service, and the existing port number of the Web service 12 is used. Change to a different number. Transmission / reception of messages between the relay apparatus 11 and the Web service 12 on the same Web server 10 is executed by TCP / IP communication using port numbers defined externally.

以上のように実装することで、中継装置11は、Webサービス12に外付けする機構であるため、既存のWebサービスおよびWebサービス間の通信プロトコルを透過的に使用することを可能とする。Webサービス12は、既存のWebサービス12の機能に手を加えて改変することなしに、サービス間通信制御装置の導入後も透過的にサービスを提供できるという効果を有する。   By implementing as described above, the relay device 11 is a mechanism that is externally attached to the Web service 12, so that the existing Web service and the communication protocol between the Web services can be used transparently. The Web service 12 has an effect that the service can be transparently provided even after the introduction of the inter-service communication control device, without modifying and modifying the function of the existing Web service 12.

中継装置11は、このHTTPリクエストのヘッダの宛先の計算機のアドレスの解析結果に従ってWebサービス要求メッセージを分解し、Webサーバ10の宛先別にヘッダ情報を記憶する送信先保管部114と、それにリンクされたメッセージの本体を記憶するメッセージ保管部113と、を持つことで複数のWebサービス要求メッセージをキューイングして宛先別に蓄積する。   The relay device 11 disassembles the Web service request message according to the analysis result of the destination computer address of the header of the HTTP request, and is linked to the destination storage unit 114 that stores the header information for each destination of the Web server 10. By having a message storage unit 113 that stores the body of the message, a plurality of Web service request messages are queued and accumulated by destination.

宛先の計算機の高負荷が解除すると、中継装置11は、一時蓄積した送信先保管部114とメッセージ保管部113の情報から宛先の計算機のIPアドレス、URL、メッセージ本体を取り出し、再度、完全なHTTPリクエストを組み立てることが可能となり、通信を再開することができる。これにより中継装置11は高負荷の中継装置11へのサービス要求を、一定のサービス要求数を越えないように制御することができる。   When the high load on the destination computer is released, the relay device 11 extracts the IP address, URL, and message body of the destination computer from the information stored in the transmission destination storage unit 114 and the message storage unit 113 temporarily stored, and again complete HTTP Requests can be assembled and communication can be resumed. Thereby, the relay apparatus 11 can control the service request to the high load relay apparatus 11 so as not to exceed a certain number of service requests.

また、Webサーバ10全体を管理するサービス管理装置20は、中継装置11の保有する負荷情報を取得し、記録することで、特定の時点の負荷状況を精緻に管理することができる。   Further, the service management device 20 that manages the entire Web server 10 can precisely manage the load status at a specific time point by acquiring and recording the load information held by the relay device 11.

尚、クライアント装置30は、ブラウザからサービス管理装置20にアクセスして事前に各Webサーバ10の負荷状態をチェックし、高負荷状態でない場合に、Webサービス要求メッセージを送信するようにできる。   Note that the client device 30 can access the service management device 20 from a browser and check the load state of each Web server 10 in advance, and can transmit a Web service request message when the load state is not high.

次に、本発明を実施するための最良の形態の動作について図面を参照して説明する。   Next, the operation of the best mode for carrying out the present invention will be described with reference to the drawings.

複数のWebサービスから構成される場合について図7と、図2のフローチャートを参照して説明する。この場合、メッセージは複数のサービス間で処理されるため、サービス間の応答は、断りの無い場合、非同期としている。   A case where a plurality of Web services are configured will be described with reference to FIG. 7 and a flowchart of FIG. In this case, since the message is processed between a plurality of services, the response between services is asynchronous unless otherwise noted.

最初にWebサーバ10のサービス提供側の設定について説明する。   First, settings on the service providing side of the Web server 10 will be described.

Webサービス提供者は、中継装置11に、Webサーバ10のサービス実行部14が単位時間あたりに処理可能なサービス要求数の上限値を第1の閾値として、また第1の閾値を超えるサービス要求数を受信後、ある値以下にサービス要求数が低下すると高負荷状態から通常状態に復帰する第2の閾値とを設定する。単位時間の時間長は、秒、分等の単位を使用して設定する。以上から第1の閾値>第2の閾値の関係がある。   The Web service provider sets the upper limit value of the number of service requests that can be processed per unit time by the service execution unit 14 of the Web server 10 to the relay device 11 as the first threshold value, and the number of service requests exceeding the first threshold value. When the number of service requests drops below a certain value after receiving, a second threshold value for returning from the high load state to the normal state is set. The time length of the unit time is set using units such as seconds and minutes. From the above, there is a relationship of first threshold> second threshold.

さらに、Webサービス提供者は、サービス管理装置20のIPアドレスとポート番号の設定も行う(ステップS1)。設定操作には、Webサーバ10に接続された図示しないキーボード、ディスプレイ等の入力装置、表示装置を使用する。このように設定された閾値と単位時間長等の情報は、Webサーバ10に接続された磁気ディスク装置等のサービス情報記憶部115に記憶される。   Further, the Web service provider also sets the IP address and port number of the service management apparatus 20 (step S1). For the setting operation, an input device such as a keyboard and a display (not shown) connected to the Web server 10 and a display device are used. Information such as the threshold value and the unit time length set in this way is stored in the service information storage unit 115 such as a magnetic disk device connected to the Web server 10.

また、Webサービス提供者は、当該Webサーバ10が提供するサービスの内容の登録を磁気ディスク装置等のサービス定義情報15に対して行う(ステップS2)。   Further, the Web service provider registers the content of the service provided by the Web server 10 with respect to the service definition information 15 such as a magnetic disk device (step S2).

さらに、Webサービス提供者は、入力装置、表示装置を使用してWebサービス12に対してHTTPプロキシの利用設定を行い、IPアドレスおよびポート番号をその実行環境に設定する(ステップS3)。   Further, the Web service provider uses the input device and the display device to set the use of the HTTP proxy for the Web service 12, and sets the IP address and port number in the execution environment (Step S3).

これにより、HTTPプロトコルによるWebサーバ10が送受信するメッセージは、全て中継装置11を経由することになる。尚、中継装置11の持つポート番号は、Webサービス12のこれまで使用していたポート番号を設定し、Webサービス12には別のポート番号を割り当てる。   As a result, all messages transmitted and received by the Web server 10 according to the HTTP protocol pass through the relay device 11. The port number that the relay apparatus 11 has is set to the port number used so far of the Web service 12, and another port number is assigned to the Web service 12.

中継装置11は、サービス定義情報15から自Webサービス12の担当するサービス内容を取り込み、これをHTTPメッセージとしてサービス管理装置20のIPアドレスとポート番号を使用してサービス管理装置20に送信する(ステップS4)。   The relay device 11 takes in the service content of its own Web service 12 from the service definition information 15 and transmits it to the service management device 20 as an HTTP message using the IP address and port number of the service management device 20 (step). S4).

サービス管理装置20では、受信したサービス定義情報15をサービス定義情報保管装置23に記憶する。サービス管理装置20のサービス合成計算部21は、関連するWebサーバ10からサービス定義情報15を受信すると、各業務ごとに各Webサーバ10から提供を受けたサービス定義情報15を合成し、複数のWebサーバ10にまたがる全体の業務フローを作成し、サービス定義情報保管装置23に記憶する。   In the service management device 20, the received service definition information 15 is stored in the service definition information storage device 23. When the service composition calculation unit 21 of the service management device 20 receives the service definition information 15 from the related Web server 10, the service composition calculation unit 21 synthesizes the service definition information 15 provided from each Web server 10 for each business, The entire business flow spanning the server 10 is created and stored in the service definition information storage device 23.

全体の業務フローは管理者等の必要に応じてサービス管理装置20の表示装置に表示されるので、内容を参照する事ができる。   Since the entire business flow is displayed on the display device of the service management device 20 as required by the administrator or the like, the contents can be referred to.

以上のような設定が行われた後のサービス提供側の動作を図7も併せて参照して説明する。   The operation on the service providing side after the above settings are performed will be described with reference to FIG.

図7を簡単に説明すると、Webサーバ10Cは、中継装置11Cを有して、中継装置11Aを有するWebサーバ10AにWebサービス要求を送信する。中継装置11を有さないWebサーバ10Dも、Webサービス要求をWebサーバ10Aに送信する。Webサーバ10Aは、Webサーバ10Cからのサービス要求を受付け、自分が担当するサービス実行を終了すると、引き続き次のサービス実行要求を中継装置11Bを備えるWebサーバ10Bに行う。Webサーバ10Bは、Webサーバ10Aからのサービス実行要求を受付け、自身に定義されたサービス処理を実行する。   Briefly describing FIG. 7, the Web server 10C includes the relay device 11C, and transmits a Web service request to the Web server 10A including the relay device 11A. The Web server 10D that does not have the relay device 11 also transmits a Web service request to the Web server 10A. When the Web server 10A receives the service request from the Web server 10C and terminates the service execution that it is in charge of, the Web server 10A continues to issue the next service execution request to the Web server 10B including the relay device 11B. The Web server 10B receives a service execution request from the Web server 10A and executes a service process defined for itself.

以降、図3のフローチャートを参照して説明する。   Hereinafter, description will be given with reference to the flowchart of FIG.

Webサーバ10Aの中継装置11Aは、立ち上げが行われるとサービス情報記憶部115から先に設定された第1の閾値と第2の閾値と単位時間等の設定情報を取り出し中継装置11A自身の主記憶メモリに記憶する(ステップS5)。   When the relay apparatus 11A of the Web server 10A is started up, the setting information such as the first threshold value, the second threshold value, and the unit time set previously is extracted from the service information storage unit 115 and the relay apparatus 11A itself Store in the storage memory (step S5).

中継装置11Aは、サービス管理装置20にHTTPメッセージによって、Webサーバ10によるサービスの開始をイベント種別とし、第1と第2の閾値と単位時間とを含む情報を送信する(ステップS6)。   The relay device 11A transmits to the service management device 20 information including the first and second threshold values and the unit time by using the HTTP message as the event type with the start of the service by the Web server 10 (step S6).

サービス管理装置20は、当該情報を受信すると、運用情報記憶部22のWebサーバ10Aに関する記憶部に受信した時刻とともに書き込む(ステップS7)。   When the service management apparatus 20 receives the information, the service management apparatus 20 writes the information together with the received time in the storage unit related to the Web server 10A of the operation information storage unit 22 (step S7).

中継装置11Aのサービス情報解析部112は、単位時間あたりに受信するサービス要求メッセージ数をカウントするための主記憶メモリの受信メッセージ記憶域と高負荷判定フラグを0クリアする(ステップS8)。   The service information analysis unit 112 of the relay device 11A clears the received message storage area of the main storage memory and the high load determination flag for counting the number of service request messages received per unit time (step S8).

受信メッセージ記憶域には、サービス要求メッセージを受信した時分秒等による時刻とそのメッセージ送信元のIPアドレスを1エントリの情報として、サービス要求メッセージを受信の都度、その先頭位置から受信時刻順に逐次記憶されていく。受信メッセージ記憶域の最終位置まで記憶が行われると、受信メッセージ記憶域の先頭位置に復帰して循環式に記憶が行われる。受信メッセージ記憶域は、単位時間に受信が予想される最大数のメッセージについての全エントリを記憶できるサイズを有するものとする。   In the received message storage area, the time according to the hour, minute and second when the service request message is received and the IP address of the message transmission source are set as information of one entry, and each time the service request message is received, the reception request storage area sequentially It will be remembered. When the message is stored up to the final position of the received message storage area, the message is returned to the start position of the received message storage area and stored in a circular manner. The received message storage area has a size capable of storing all entries for the maximum number of messages expected to be received per unit time.

Webサーバ10Cは、Webサービス要求メッセージをWebサーバ10Aに適時送信する(ステップS9)。また、中継装置機能を持たないWebサーバ10DもWebサービス要求メッセージをWebサーバ10Aに適時送信する(ステップS9)。   The Web server 10C transmits a Web service request message to the Web server 10A in a timely manner (Step S9). Further, the Web server 10D having no relay device function also transmits a Web service request message to the Web server 10A in a timely manner (step S9).

中継装置11Aのメッセージ受信部110は、Webサーバ10CやWebサーバ10Dからサービス要求メッセージを受信する(ステップS10)。メッセージ受信部110は、受信したサービス要求メッセージをメッセージ送信部111に渡す。メッセージ送信部111は、渡されたメッセージをWebサービス12にWebサービス12のポート番号を使用してTCP/IPにより送信する(ステップS11)。メッセージ送信部111は、このWebサービス12にメッセージを送信した時刻を最終送信時刻として記憶する。   The message receiving unit 110 of the relay device 11A receives a service request message from the Web server 10C or the Web server 10D (Step S10). The message reception unit 110 passes the received service request message to the message transmission unit 111. The message transmission unit 111 transmits the passed message to the Web service 12 using TCP / IP using the port number of the Web service 12 (step S11). The message transmission unit 111 stores the time when the message is transmitted to the Web service 12 as the final transmission time.

同時に、中継装置11Aのメッセージ受信部110は、Webサーバ10Cからメッセージを受信すると、受信した時刻を取得し、TCP/IP機能から取り出したメッセージの送信元のIPアドレスとともにエントリを生成し、受信メッセージ記憶域における直前に受信したメッセージが記憶されている位置の次の位置に当該エントリを記憶する(ステップS12)。   At the same time, when receiving a message from the Web server 10C, the message receiving unit 110 of the relay device 11A obtains the received time, generates an entry together with the IP address of the source of the message extracted from the TCP / IP function, and receives the received message. The entry is stored at a position next to the position where the message received immediately before in the storage area is stored (step S12).

次に、現在時刻から単位時間遡った時刻と、現在時刻までの間に受信したメッセージ数を受信メッセージ記憶域に記憶された各エントリの時刻を参照して計数し、単位時間あたりの受信メッセージ数を求める(ステップS13)。   Next, the number of messages received per unit time is counted by referring to the time of each entry stored in the received message storage area, and the number of messages received between the current time and the time that has gone back by the unit time. Is obtained (step S13).

次に、現在の状態が通常状態か、高負荷状態状態かを高負荷判定フラグによって判別する(ステップS14)。高負荷状態であれば、単位時間あたりの受信メッセージ数を第2の閾値と比較する(ステップS15)。比較の結果第2の閾値以下の場合は、高負荷状態から通常状態に復帰したと判断し、(ステップS40)にジャンプする。第2の閾値を超える場合は、まだ高負荷状態が継続していると判断して(ステップS31)にジャンプする。   Next, it is determined by the high load determination flag whether the current state is a normal state or a high load state (step S14). If the load is high, the number of received messages per unit time is compared with the second threshold (step S15). If the result of the comparison is less than or equal to the second threshold, it is determined that the normal state has been restored from the high load state, and the process jumps to (Step S40). If the second threshold value is exceeded, it is determined that the high load state is still continuing, and the process jumps to step S31.

(ステップS14)の判定の結果、通常状態であれば計数した値を第1の閾値と比較する(ステップS16)。この比較の結果、計数した値が第1の閾値以下の場合は、通常状態としてメッセージの受信待ち状態に入る。   If the result of determination in step S14 is normal, the counted value is compared with the first threshold value (step S16). As a result of this comparison, if the counted value is equal to or smaller than the first threshold, the message reception waiting state is entered as a normal state.

計数した値が第1の閾値を超える場合は、高負荷判定フラグをオンとして(ステップS17)、(ステップS31)にジャンプする。   When the counted value exceeds the first threshold, the high load determination flag is turned on (step S17), and the process jumps to (step S31).

以降、図4のフローチャートを参照して説明する。   Hereinafter, description will be made with reference to the flowchart of FIG.

(ステップS11)において中継装置11Aから送信されたメッセージは、Webサービス12Aによって受信される。Webサービス12Aのサービス実行部14は、通信部13から受け取ったサービス要求メッセージの本体中の、例えば先頭等に記載された業務識別子を取り出し、予めサービス定義情報15から取り出した業務識別子と比較する。   The message transmitted from the relay device 11A in (Step S11) is received by the Web service 12A. The service execution unit 14 of the Web service 12 </ b> A extracts the business identifier described in the head of the service request message received from the communication unit 13, for example, and compares it with the business identifier previously extracted from the service definition information 15.

図8の(a)にこのサービス定義情報15の定義情報を例示するが、これによると、業務識別子と引数の数、各引数のデータ形式の定義情報等から構成されている。サービス実行部14は比較の結果、一致した業務識別子をもつサービス定義情報15から引数の数、各引数のデータ形式情報を取り出しこれをもとに、Webサービス要求メッセージの本体情報を解析してこのWebサービス要求メッセージについての処理を実行する(ステップS18)。   FIG. 8A illustrates the definition information of the service definition information 15, which is composed of a business identifier, the number of arguments, definition information on the data format of each argument, and the like. As a result of the comparison, the service execution unit 14 extracts the number of arguments and the data format information of each argument from the service definition information 15 having the matched business identifier, and analyzes the body information of the Web service request message based on this. Processing for the Web service request message is executed (step S18).

サービス実行部14は、サービス処理中に図8の(b)に例示する応答または転送時のサービス定義情報15からサービスメッセージ中の業務識別子と一致するものを検索する。転送の場合のサービス定義情報15は、転送/応答種別(この場合は転送)、転送先のWebサービス識別子、引数の数、各引数のデータ形式から構成されている。応答の場合のサービス定義情報は、転送/応答種別(この場合は応答)、正常/異常種別、応答値の数、各応答値のデータ形式から構成されている。   During service processing, the service execution unit 14 searches the service definition information 15 at the time of response or transfer illustrated in FIG. 8B for a service message that matches the business identifier in the service message. The service definition information 15 in the case of transfer includes a transfer / response type (transfer in this case), a transfer destination Web service identifier, the number of arguments, and the data format of each argument. The service definition information in the case of a response includes a transfer / response type (response in this case), a normal / abnormal type, the number of response values, and a data format of each response value.

サービス実行部14は、業務識別子が一致する定義情報を検索し、検索されたサービス定義情報15が規定する形式に従って結果を生成する(ステップS19)。サービス実行部14は、生成した結果を通信部13に渡す。通信部13は、検索されたサービス定義情報15に従ってサービス要求者に応答するのか他のWebサーバ10に転送するかを決定し(ステップS20)、それに従って通信部13は、転送先や応答先についてHTTPヘッダの宛先情報を生成し(この説明の場合、転送先のWebサーバ10をWebサーバ10Bとする)、サービス実行部14の作成したメッセージ本体にこれを付加する(ステップS21)。このようにして生成した情報を中継装置11AにTCP/IP通信によって送信する(ステップS22)。   The service execution unit 14 searches for definition information that matches the business identifier, and generates a result according to the format defined by the searched service definition information 15 (step S19). The service execution unit 14 passes the generated result to the communication unit 13. The communication unit 13 determines whether to respond to the service requester according to the searched service definition information 15 or to transfer to another Web server 10 (step S20), and the communication unit 13 accordingly determines the transfer destination and the response destination. The destination information of the HTTP header is generated (in this case, the transfer destination Web server 10 is assumed to be the Web server 10B), and this is added to the message body created by the service execution unit 14 (step S21). The information generated in this way is transmitted to the relay device 11A by TCP / IP communication (step S22).

中継装置11Aのメッセージ送信部111は、Webサービス12により作成されたHTTPヘッダの宛先情報から送信先のWebサーバ10を求める(ステップS23)。   The message transmission unit 111 of the relay apparatus 11A obtains the transmission destination Web server 10 from the destination information of the HTTP header created by the Web service 12 (step S23).

決定した送信先をもとに高負荷通知先テーブルを参照し、送信先が登録されているか確認する(ステップS24)。登録されている場合、当該送信先が中継装置機能を有しているか否かをチェックする(ステップS25)。もし、中継装置機能を有していないWebサーバ10Dの場合は、設定された送信遅延時間の遅延を行う(ステップS26)。この送信遅延時間もWebサービス提供者によってサービス情報記憶部115に登録をしておくことができる。   Based on the determined transmission destination, the high load notification destination table is referred to and it is confirmed whether the transmission destination is registered (step S24). If registered, it is checked whether or not the transmission destination has a relay device function (step S25). If the Web server 10D does not have the relay device function, the set transmission delay time is delayed (step S26). This transmission delay time can also be registered in the service information storage unit 115 by the Web service provider.

次に、ヘッダの宛先情報によって応答先または転送先の高負荷状態を高負荷通知元テーブルを検索して登録の有無を確認する(ステップS27)。登録が無く高負荷状態でない場合、中継装置11Aは、宛先情報をHTTPヘッダから削除して新たなHTTPヘッダを生成し、取り出した宛先情報をTCP/IP呼出時の引数に指定して宛先のWebサーバ10に送信する(ステップS28)。そして各種イベント待ちに入る。   Next, the high load state of the response destination or the transfer destination is searched from the high load notification source table according to the destination information of the header to check whether or not it is registered (step S27). If there is no registration and the load is not high, the relay device 11A deletes the destination information from the HTTP header to generate a new HTTP header, specifies the retrieved destination information as an argument at the time of TCP / IP call, and sends the destination Web It transmits to the server 10 (step S28). And we wait for various events.

高負荷通知元テーブルに、例えばWebサーバ10Bが登録されていて送信先が高負荷状態である場合は、送信対象のHTTPリクエストメッセージを分解し、送信先保管部114へHTTPヘッダの宛先のWebサーバ10Aのアドレス、URL等を格納し、メッセージ保管部113へメッセージ本体を格納し、当該メッセージの送信を保留する(ステップS29)。   For example, when the Web server 10B is registered in the high load notification source table and the transmission destination is in a high load state, the HTTP request message to be transmitted is disassembled, and the destination Web server of the HTTP header is sent to the transmission destination storage unit 114 The address, URL, and the like of 10A are stored, the message body is stored in the message storage unit 113, and the transmission of the message is suspended (step S29).

そして各種イベント待ち状態に入る。(フローチャートでは次のWebサービス実行要求の受信処理に入るように記述している。)
Webサーバ10Bは、Webサーバ10Aから転送されたメッセージを受信すると、サービス定義情報15を参照して転送されたメッセージに対するサービスを実行する(ステップS30)。
Then, various event waiting states are entered. (In the flowchart, it is described so as to start receiving processing of the next Web service execution request.)
When receiving the message transferred from the Web server 10A, the Web server 10B refers to the service definition information 15 and executes a service for the transferred message (step S30).

以降、図5のフローチャートを使用して説明する。   Hereinafter, description will be made using the flowchart of FIG.

(ステップS16)における中継装置11Aによる閾値と比較の結果、単位時間内に受信したWebサービス要求メッセージ数が第1の閾値、又は第2の閾値を超えた場合、中継装置11Aは、サービス要求メッセージ送信元のWebサーバ10C又はWebサーバ10DにHTTPプロトコルの別メッセージとして高負荷を通知するリクエストメッセージを送信する(ステップS31)。   When the number of Web service request messages received within a unit time exceeds the first threshold value or the second threshold value as a result of comparison with the threshold value by the relay device 11A in (Step S16), the relay device 11A A request message for notifying a high load is transmitted to the transmission source Web server 10C or Web server 10D as another message of the HTTP protocol (step S31).

また、中継装置11Aは、単位時間における受信メッセージ数を含み、イベント種類を高負荷としたメッセージをサービス管理装置20に対しても送信する(ステップS32)。サービス管理装置20ではこの内容を運用情報記憶部22にWebサーバ10の識別名、受信時刻等とともに記憶する(ステップS33)。   Further, the relay device 11A also transmits a message including the number of received messages per unit time and having a high event type to the service management device 20 (step S32). The service management apparatus 20 stores this content in the operation information storage unit 22 together with the identification name, reception time, etc. of the Web server 10 (step S33).

中継装置11Aのサービス情報解析部112は、図9の(a)に例示するように、主記憶メモリの高負荷通知先テーブルに当該通知を行った中継装置11Cや中継装置11DのIPアドレスとポート番号と通知時刻とその時の受信メッセージの計数値とを記憶する(ステップS34)。   The service information analysis unit 112 of the relay device 11A, as illustrated in FIG. 9A, the IP address and port of the relay device 11C or the relay device 11D that made the notification in the high load notification destination table of the main memory. The number, the notification time, and the count value of the received message at that time are stored (step S34).

中継装置11Cは、高負荷を通知するリクエストメッセージを中継装置11Aから受信すると、図9の(b)に例示するようにWebサーバ10AのIPアドレス、ポート番号とリクエストメッセージ内の情報とを主記憶メモリ上の高負荷通知元テーブルに記憶する(ステップS35)。そして中継装置11Cは、高負荷通知に応答するレスポンスメッセージを中継装置11Aに送信する(ステップS36)。   When the relay device 11C receives a request message notifying the high load from the relay device 11A, the main memory stores the IP address and port number of the Web server 10A and information in the request message as illustrated in FIG. 9B. The high load notification source table on the memory is stored (step S35). The relay device 11C transmits a response message in response to the high load notification to the relay device 11A (step S36).

中継装置11Aは、高負荷の通知メッセージに対するレスポンスメッセージについて受信の有無を確認する(ステップS37)。レスポンスメッセージをWebサーバ10Cから受信すると、中継装置11AはWebサーバ10Cが本発明における中継装置機能を有することを認識し、Webサーバ10Cは中継機能有りとして高負荷通知先テーブルに記憶する(ステップS38)。そして各種イベント待ちに入る。   The relay device 11A confirms whether or not a response message to the high load notification message has been received (step S37). When the response message is received from the Web server 10C, the relay device 11A recognizes that the Web server 10C has the relay device function of the present invention, and the Web server 10C stores the relay function in the high load notification destination table (step S38). ). And we wait for various events.

送信元が本発明の中継装置機能を持たないWebサーバ10Dの場合、高負荷の通知リクエストメッセージを受信しても、当該リクエストメッセージの内容が判読できないため、当該メッセージを廃棄しレスポンスメッセージをWebサーバ10Aに送信しない。   When the transmission source is the Web server 10D that does not have the relay device function of the present invention, even if a high-load notification request message is received, the content of the request message cannot be read. Do not send to 10A.

Webサーバ10Aは、Webサーバ10Dからのレスポンスメッセージを一定の時間が経過しても受信しないため、Webサーバ10Dが、本発明における中継機能を有さないことを認識し、高負荷通知先テーブルにWebサーバ10Dは中継機能無しとして記憶する(ステップS39)。中継装置11Aは、以上の処理を終えると、メッセージの受信待ち状態に入る。   Since the Web server 10A does not receive the response message from the Web server 10D even after a certain period of time, the Web server 10D recognizes that the Web server 10D does not have the relay function in the present invention, and stores it in the high load notification destination table. The Web server 10D stores that there is no relay function (step S39). 11 A of relay apparatuses will be in the message reception waiting state, after finishing the above process.

以降、図6のフローチャートを使用して説明する。   Hereinafter, a description will be given using the flowchart of FIG.

Webサーバ10Aのサービス情報解析部112は、高負荷状態から通常状態への遷移を確認すると、高負荷判定フラグをオフとし(ステップS40)、イベントの種類は、通常状態への復帰とするイベント情報をサービス管理装置20に送信する(ステップS41)。これを受信したサービス管理装置20は、送信したWebサーバ10の識別名や受信時刻とともに運用情報記憶部22に記憶する(ステップS42)。尚、Webサービス管理部20では、各Webサーバ10から受信する複数のイベントを現時点から過去に遡って編集する。この編集結果をクライアント装置30のブラウザ等からの問い合わせに各Webサーバ10の負荷状況として応答するようにしている。   When the service information analysis unit 112 of the Web server 10A confirms the transition from the high load state to the normal state, the service information analysis unit 112 turns off the high load determination flag (step S40), and the event type is event information that returns to the normal state. Is transmitted to the service management apparatus 20 (step S41). The service management apparatus 20 that has received this information stores it in the operation information storage unit 22 together with the transmitted identification name and reception time of the Web server 10 (step S42). The web service management unit 20 edits a plurality of events received from each web server 10 retroactively from the present time. The editing result is responded to an inquiry from the browser of the client device 30 as the load status of each Web server 10.

さらに高負荷通知先テーブルに登録された情報があるか否かをチェックする(ステップS43)。高負荷通知先テーブルに登録された情報が無ければ、受信メッセージ待ち状態に入る。   Further, it is checked whether there is information registered in the high load notification destination table (step S43). If there is no information registered in the high load notification destination table, it enters a waiting state for a received message.

中継装置11Aは、高負荷通知先テーブルに登録されている情報が有れば、高負荷通知先テーブルの内容を元に中継装置機能を有するすべての中継装置11に対して以下の処理を行う。   If there is information registered in the high load notification destination table, the relay device 11A performs the following processing on all the relay devices 11 having the relay device function based on the contents of the high load notification destination table.

登録された高負荷通知先テーブルのIPアドレスとポート番号をもとにHTTPメッセージによって各通知先(中継装置11C等)に高負荷の解除通知を送信する(ステップS44)。解除通知を受信した中継装置11C等では、中継装置11A向けにレスポンスメッセージで応答する(ステップS45)。   Based on the IP address and port number of the registered high load notification destination table, a high load release notification is transmitted to each notification destination (relay device 11C, etc.) by an HTTP message (step S44). The relay device 11C or the like that has received the cancellation notification responds with a response message to the relay device 11A (step S45).

中継装置11Aは、解除通知を送信したWebサーバ10の中継装置11C等からのレスポンスメッセージを受信するとレスポンスメッセージ送信先のWebサーバ10のIPアドレスを元に高負荷通知先テーブルを検索し、該当するエントリを削除する(ステップS46)。高負荷通知先テーブルに登録されていて中継装置機能を持たないWebサーバ10については、削除をせず登録を続ける。   When the relay device 11A receives a response message from the relay device 11C or the like of the Web server 10 that has transmitted the release notification, the relay device 11A searches the high load notification destination table based on the IP address of the Web server 10 that is the response message transmission destination, and applies. The entry is deleted (step S46). The Web server 10 that is registered in the high load notification destination table and does not have the relay device function continues to be registered without being deleted.

中継装置11Aから高負荷解除通知を受信したWebサーバ10Cでは、解除通知を送信したWebサーバ10AのIPアドレスで高負荷通知元テーブルを検索し該当するエントリを消去する(ステップS47)。   The Web server 10C that has received the high load release notification from the relay device 11A searches the high load notification source table with the IP address of the Web server 10A that has transmitted the release notification, and deletes the corresponding entry (step S47).

中継装置11Cは、解除通知を送信したWebサーバ10Aに関する送信を保留するメッセージの有無を確認する(ステップS48)。保留中のメッセージがあれば、イベント種類を保留解除とし、その保留するサービス要求先のWebサーバ10の名前と保留する数をサービス管理装置20に送信する(ステップS49)。これを受信したサービス管理装置20は、運用情報記憶部22に記憶する(ステップS50)。   The relay device 11C confirms whether there is a message for suspending transmission related to the Web server 10A that has transmitted the release notification (step S48). If there is a pending message, the event type is canceled, and the name of the service request destination web server 10 to be suspended and the number to be suspended are transmitted to the service management apparatus 20 (step S49). Receiving this, the service management apparatus 20 stores it in the operation information storage unit 22 (step S50).

中継装置11Cは、送信先保管部114に保留中のメッセージについて、一時蓄積した送信先保管部114に記憶されたHTTPヘッダの宛先アドレスと高負荷解除を通知したWebサーバ10Aのアドレスとを照合する。   The relay device 11C compares the destination address of the HTTP header stored in the temporarily stored destination storage unit 114 with the address of the Web server 10A that has notified the cancellation of the high load for the message held in the destination storage unit 114. .

一致すると送信先保管部114から宛先のWebサーバ10Aのアドレス、URL等を取り出し、メッセージ保管部113の情報からメッセージ本体を取り出し、再度、完全なHTTPリクエストを組み立てHTTPヘッダ中の宛先アドレスを削除してWebサーバ10Aへ送信する(ステップS51)。   If they match, the address and URL of the destination Web server 10A are extracted from the destination storage unit 114, the message body is extracted from the information in the message storage unit 113, a complete HTTP request is assembled again, and the destination address in the HTTP header is deleted. To the Web server 10A (step S51).

尚、Webサーバ10Aで高負荷状態が発生しても、その後、Webサーバ10Aが単位時間以上メッセージを受信しない状態が続くことがあり得る。この場合、高負荷状態は解除されているにも係わらず、Webサービス要求メッセージの処理が停滞することになる。それを防止するため、以下の処理を実行する。   Note that even if a high load state occurs in the Web server 10A, a state in which the Web server 10A does not receive a message for more than a unit time may continue thereafter. In this case, the processing of the Web service request message is stagnated even though the high load state is released. In order to prevent this, the following processing is executed.

中継装置11Aは、単位時間以下の適当な時間をインターバルタイマーに設定して定期的にタイマー割り込みを発生させる。タイマー割り込みが発生すると、高負荷判定フラグをチェックし、高負荷状態の場合には、先に記憶した最終送信時刻と現在時刻との時間差分が単位時間を越えるか判定する。もし、単位時間を越える場合は、(ステップS40)にジャンプして高負荷状態の解除処理を実行する。   The relay apparatus 11A sets an appropriate time equal to or less than the unit time in the interval timer and periodically generates a timer interrupt. When a timer interrupt occurs, the high load determination flag is checked, and if it is in a high load state, it is determined whether the time difference between the last transmission time stored previously and the current time exceeds the unit time. If the unit time is exceeded, the process jumps to (Step S40) to execute the release processing of the high load state.

以上の説明においては、Webサーバ10CのWebサービス要求をWebサーバ10Aが受信して実行する想定で説明を行ったが、同時にWebサーバ10AからのWebサービス要求をWebサーバ10Cが受信して実行する場合もある。そのためWebサーバ10CのWebサービス機能の単位時間あたりの処理可能数である第1の閾値と、前述した第2の閾値とを中継装置11Cに設定する。これにより、Webサーバ10CとWebサーバ10Aとが双方向に互いの高負荷の制御を行うことが可能となる。   In the above description, it is assumed that the web server 10A receives and executes the web service request of the web server 10C. At the same time, the web server 10C receives and executes the web service request from the web server 10A. In some cases. Therefore, the first threshold value, which is the number of processes that can be processed per unit time of the Web service function of the Web server 10C, and the second threshold value described above are set in the relay device 11C. As a result, the Web server 10C and the Web server 10A can perform mutual high load control in both directions.

次に、本発明の第2の実施例について説明する。   Next, a second embodiment of the present invention will be described.

図10は本発明の第2の実施例の構成を説明するブロック図である。   FIG. 10 is a block diagram for explaining the configuration of the second embodiment of the present invention.

第1の実施例では、同じWebサーバ10上にWebサービス12と中継装置11とが共存したが、第2の実施例ではそれぞれが独立した計算機上で動作し、各計算機はインターネットを含むネットワークで接続されている構成であるとする。   In the first embodiment, the Web service 12 and the relay device 11 coexist on the same Web server 10, but in the second embodiment, each operates on an independent computer, and each computer is a network including the Internet. It is assumed that the configuration is connected.

図10において、Webサーバ1からWebサーバLは、受信したWebサービス要求を実行する計算機であるWebサーバMからWebサーバNのいずれかに対して、Webサービス要求を中継装置11を介して送信する。中継装置11は計算機であり、ソフトウェアプログラムによって動作する。   In FIG. 10, Web server 1 to Web server L transmit a Web service request to one of Web servers N from Web server M, which is a computer that executes the received Web service request, via relay device 11. . The relay device 11 is a computer and operates by a software program.

このとき、中継装置11は、Webサービス要求を送信するWebサーバ1からWebサーバLのプロキシサーバとして設定されているものとする。さらに、第1の実施例と同様にHTTPを利用したプログラムに標準的に用意されたHTTPプロキシを使用する設定をWebサーバ1からWebサーバLのWebサービス12の通信部13に対して行うことで、Webサーバ1からWebサーバLの各Webサービス12から中継装置11へ送信するWebサービス要求メッセージのHTTPリクエストヘッダに宛先情報を埋めこむことができる。中継装置11はこの宛先情報を参照し宛先のWebサーバM〜Nを識別して、送信先を決定するとともに宛先のWebサーバL〜Mが高負荷か否かを判断し、送信制御を行うことが可能となる。   At this time, it is assumed that the relay device 11 is set as a proxy server of the Web server L from the Web server 1 that transmits the Web service request. Further, as in the first embodiment, the setting to use the HTTP proxy prepared as a standard in the program using HTTP is performed from the Web server 1 to the communication unit 13 of the Web service 12 of the Web server L. The destination information can be embedded in the HTTP request header of the Web service request message transmitted from the Web service 12 of the Web server L to the relay device 11 from the Web server 1. The relay device 11 refers to the destination information, identifies the destination Web servers M to N, determines the destination, determines whether the destination Web servers L to M have a high load, and performs transmission control. Is possible.

中継装置11には、第1の実施例と同様な内容を持つWebサーバM〜Nのそれぞれに対する単位時間と、WebサーバM〜Nが単位時間に処理可能な閾値とが予め設定されているものとする。WebサーバM〜Nは、Webサーバ1〜L以外のWebサーバ10からはWebサービス要求を受信しないものとするが、もし、他のWebサーバ10からもメッセージを受信する場合は、過去の実績等からWebサーバ1〜Lに対応した閾値を決定する。中継装置11には、第1の実施例と同様に受信メッセージ記憶域がWebサーバM〜Nのそれぞれに用意されているものとする。   The relay device 11 is preset with a unit time for each of the Web servers M to N having the same contents as the first embodiment and a threshold that the Web servers M to N can process in the unit time. And The Web servers M to N do not receive Web service requests from the Web servers 10 other than the Web servers 1 to L. However, if a message is received from another Web server 10, past results, etc. To determine thresholds corresponding to the Web servers 1 to L. It is assumed that the relay device 11 has a received message storage area prepared for each of the Web servers M to N as in the first embodiment.

次に本実施例の動作について図11のフローチャートを参照して説明する。   Next, the operation of this embodiment will be described with reference to the flowchart of FIG.

例えば、WebサーバLがWebサーバMにWebサービス要求メッセージを送信したとする。中継装置11は、本メッセージを受信すると、HTTPヘッダの宛先アドレスから送信先がWebサーバMで有ることを認識する(ステップS60)。   For example, assume that the Web server L transmits a Web service request message to the Web server M. When receiving this message, the relay device 11 recognizes that the transmission destination is the Web server M from the destination address of the HTTP header (step S60).

中継装置11は、WebサーバMに用意された受信メッセージ記憶域に当該受信メッセージを送信したWebサーバLのIPアドレスと、当該メッセージを受信した時刻と送信済み判別フラグを組みとしたエントリを登録する(ステップS61)。送信済み判別フラグは、当該するWebサービス要求を送信先のWebサーバM〜Nに送信済みか未送信かを判別するフラグであり、エントリの登録時には、未送信として登録する。   The relay device 11 registers an entry including the IP address of the Web server L that transmitted the received message, the time when the message was received, and the transmitted determination flag in the received message storage area prepared in the Web server M. (Step S61). The transmitted determination flag is a flag for determining whether the Web service request has been transmitted to the transmission destination Web servers M to N or not, and is registered as untransmitted when the entry is registered.

次に、WebサーバMに設定された単位時間を取りだし、現時刻から当該単位時間前の時刻と現時刻の間に受信したメッセージ数をWebサーバMの受信メッセージ記憶域の各エントリの受信時刻をもとに計数する(ステップS62)。この単位時間における受信メッセージ数とWebサーバMの閾値とを比較する(ステップS63)。   Next, the unit time set in the Web server M is taken out, and the number of messages received between the current time and the time before the current unit time is calculated as the reception time of each entry in the received message storage area of the Web server M. Counting is originally performed (step S62). The number of received messages in this unit time is compared with the threshold value of the Web server M (step S63).

単位時間における受信メッセージ数が閾値以下の場合は、当該計数した対象の受信メッセージの中に送信済み判別フラグが未送信状態のものが有るかをチェックする(ステップS64)。未送信状態のものが有れば時系列に従って順に対応するメッセージを送信先保管部114,メッセージ保管部113のそれぞれ先頭から取り出し両者の情報を組み立ててWebサーバMに送信する(ステップS65)。そして、先に受信したメッセージをWebサーバMに送信する(ステップS66)。このとき中継装置11は、HTTPヘッダの宛先アドレスは、取りはずして送信する。   If the number of received messages per unit time is less than or equal to the threshold, it is checked whether there is a transmission determination flag that is not yet transmitted among the counted received messages (step S64). If there is a message in an unsent state, corresponding messages are sequentially extracted from the heads of the transmission destination storage unit 114 and the message storage unit 113 according to the time series, and both pieces of information are assembled and transmitted to the Web server M (step S65). Then, the previously received message is transmitted to the Web server M (step S66). At this time, the relay apparatus 11 removes the destination address of the HTTP header and transmits it.

尚、以上の操作を行った受信メッセージ記憶域のエントリ及び最新の受信したメッセージの送信済み判別フラグは送信済みとする。また受信メッセージ記憶域の該当するエントリにはWebサーバMに送信した時刻を記憶する(ステップS67)。   It is assumed that the entry of the received message storage area where the above operation has been performed and the transmitted determination flag of the latest received message have been transmitted. Further, the time of transmission to the Web server M is stored in the corresponding entry in the received message storage area (step S67).

単位時間における受信メッセージ数がWebサーバMの閾値を超えると、中継装置11は、WebサーバMが高負荷状態と判断して本メッセージをWebサーバMを宛先として宛先別に区分された送信先保管部114の最後にHTTPヘッダの内容とともに記憶する。また、メッセージの本体情報は、メッセージ保管部113の最後に記憶する(ステップS68)。   When the number of received messages per unit time exceeds the threshold value of the Web server M, the relay apparatus 11 determines that the Web server M is in a high load state, and the transmission destination storage unit that classifies the message according to the destination with the Web server M as a destination. It is stored at the end of 114 together with the contents of the HTTP header. The message body information is stored at the end of the message storage unit 113 (step S68).

尚、複数の単位時間に渡って閾値を超える数のメッセージを受信するような場合は、複数の単位時間に渡って高負荷状態が継続すると判断するため、本来処理可能なメッセージの送信処理が、例えば1単位時間以上に亘って実行されない可能性がある。   When receiving a message exceeding the threshold value over a plurality of unit times, it is determined that the high load state continues over a plurality of unit times. For example, there is a possibility that it will not be executed for more than one unit time.

そのため、中継装置11は、例えばWebサーバMに最後に送信した時刻と現時刻との差分がWebサーバMに設定された単位時間以上経過している場合は、WebサーバMの受信メッセージ記憶域から未送信のメッセージを取り出し、閾値以下の範囲で該当するメッセージをWebサーバMに送信する。このため、中継装置11は、WebサーバM〜Nの単位時間のうちの最小の単位時間をインターバルタイマ値として設定し、タイマ割り込みによる通知を受ける都度、WebサービスM〜Nについて上記処理を実行する。   Therefore, for example, when the difference between the time when the relay device 11 was last transmitted to the Web server M and the current time has exceeded a unit time set in the Web server M, the relay device 11 stores the received message storage area of the Web server M. An unsent message is taken out, and the corresponding message is transmitted to the Web server M within a range equal to or less than the threshold. For this reason, the relay apparatus 11 sets the minimum unit time among the unit times of the Web servers M to N as the interval timer value, and executes the above-described processing for the Web services M to N every time a notification by a timer interrupt is received. .

さらに、以上の説明において、Webサービスメッセージ要求側のWebサーバ1〜LとWebサービス要求実行側のサーバM〜Nと分別したが、中継装置11に、すべてのWebサーバ11の単位時間、閾値、受信メッセージ格納域を設定することで、任意のWebサーバ10の組み合わせにおける高負荷制御が可能となるという効果がある。   Furthermore, in the above description, the web servers 1 to L on the web service message request side and the servers M to N on the web service request execution side are separated. By setting the received message storage area, there is an effect that high load control in any combination of Web servers 10 becomes possible.

本発明によれば、Webサービス統合管理システムは、企業システムの統合に適用できる。また、統合されたシステムの応答性能を保証することができるため、サービス品質を保証するシステムに適用できる。   According to the present invention, the Web service integrated management system can be applied to the integration of enterprise systems. Further, since the response performance of the integrated system can be guaranteed, it can be applied to a system that guarantees service quality.

本発明の実施例の構成を説明するブロック図である。It is a block diagram explaining the structure of the Example of this invention. 本発明の実施例の動作を説明するフローチャートである。It is a flowchart explaining operation | movement of the Example of this invention. 本発明の実施例の動作を説明するフローチャートである。It is a flowchart explaining operation | movement of the Example of this invention. 本発明の実施例の動作を説明するフローチャートである。It is a flowchart explaining operation | movement of the Example of this invention. 本発明の実施例の動作を説明するフローチャートである。It is a flowchart explaining operation | movement of the Example of this invention. 本発明の実施例の動作を説明するフローチャートである。It is a flowchart explaining operation | movement of the Example of this invention. 本発明の実施例の説明に使用する1構成例のブロック図である。It is a block diagram of one structural example used for description of the Example of this invention. 本発明の実施例のサービス定義情報の説明図である。It is explanatory drawing of the service definition information of the Example of this invention. 本発明の実施例の高負荷送信先/送信元テーブルの説明図である。It is explanatory drawing of the high load transmission destination / transmission source table of the Example of this invention. 本発明の第2の実施例の中継装置をWebサーバと別装置とした場合の構成を示すブロック図である。It is a block diagram which shows the structure at the time of making the relay apparatus of 2nd Example of this invention into a different apparatus from a web server. 本発明の第2の実施例の動作を説明するフローチャートである。It is a flowchart explaining the operation | movement of the 2nd Example of this invention. 本発明の実施例の中継装置にプロキシ設定を行ったあとの動作の説明図である。It is explanatory drawing of operation | movement after performing proxy setting to the relay apparatus of the Example of this invention. 従来のWebサービス管理システムの構成を説明するブロック図である。It is a block diagram explaining the structure of the conventional web service management system.

符号の説明Explanation of symbols

10 Webサーバ
11 中継装置
110 メッセージ受信部
111 メッセージ送信部
112 サービス情報解析部
113 メッセージ保管部
114 送信先保管部
115 サービス情報記憶部
12 Webサービス
13 通信部
14 サービス実行部
15 サービス定義情報
20 サービス管理装置
21 サービス合成計算部
22 運用情報記憶部
23 サービス定義情報保管装置
30 クライアント装置
40 ネットワーク
DESCRIPTION OF SYMBOLS 10 Web server 11 Relay apparatus 110 Message receiving part 111 Message transmission part 112 Service information analysis part 113 Message storage part 114 Transmission destination storage part 115 Service information storage part 12 Web service 13 Communication part 14 Service execution part 15 Service definition information 20 Service management Device 21 Service composition calculation unit 22 Operation information storage unit 23 Service definition information storage device 30 Client device 40 Network

Claims (17)

Webサービス要求の送受信を行う中継手段と、前記中継手段とTCP/IP通信による接続をし前記中継手段に対するHTTPプロキシの設定を有するとともに、前記中継手段の受信したWebサービス要求を受け取りそれを処理して新たなWebサービス要求を生成し前記中継手段に送信するWebサービス実行手段と、をそれぞれ備えた第1と第2のサーバと、前記第1のサーバと、前記第2のサーバと、を接続するネットワークと、を含むWebサービス要求中継システムであって、
前記第1のサーバの前記中継手段は、前記第1のサーバの前記Webサービス実行手段による前記第2のサーバを宛先とする新たなWebサービス要求を受信すると、前記新たなサービス要求のHTTPヘッダから前記第2のサーバのアドレスを認識し前記第2のサーバの前記中継手段からの前記第2のサーバの高負荷通知の有無を確認し、高負荷通知の有る場合前記新たなWebサービス要求を保留し、高負荷通知の無い場合HTTPヘッダから当該アドレスを削除して前記第2のサーバへ送信し、
前記第2のサーバの前記中継手段は、前記新たなWebサービス要求を受信すると、前記第2のサーバのWebサービス実行手段の高負荷状態を判定して高負荷の場合、前記第1のサーバの前記中継手段に高負荷通知を送信することを特徴とするWebサービス要求中継システム。
A relay unit for transmitting and receiving a Web service request; a connection with the relay unit by TCP / IP communication; and an HTTP proxy setting for the relay unit; and a Web service request received by the relay unit is received and processed Connecting the first and second servers, the first server, and the second server, each having a Web service execution unit that generates a new Web service request and transmits the request to the relay unit A web service request relay system including:
When the relay unit of the first server receives a new Web service request addressed to the second server by the Web service execution unit of the first server, the relay unit starts from the HTTP header of the new service request. Recognizes the address of the second server, checks whether there is a high load notification of the second server from the relay means of the second server, and if there is a high load notification, holds the new Web service request If there is no high load notification, the address is deleted from the HTTP header and sent to the second server,
When the relay unit of the second server receives the new Web service request, the relay unit of the second server determines the high load state of the Web service execution unit of the second server, and when the load is high, the relay unit of the first server A Web service request relay system, wherein a high load notification is transmitted to the relay means.
前記第2のサーバの前記中継手段は、前記第2のサーバの前記Webサービス実行手段による単位時間におけるWebサービス要求処理の上限数を定義した閾値と、前記第1のサーバから直近の単位時間に受信した新たなWebサービス要求数を計数した値とを比較し、前記計数した値が前記閾値を超えると、前記第1のサーバの前記中継手段に高負荷通知をHTTPプロトコルによって送信し、前記第1のサーバの前記中継手段はそれを受信すると前記第2のサーバの前記中継手段にレスポンスメッセージを送信することを特徴とする請求項1記載のWebサービス要求中継システム。 The relay unit of the second server has a threshold value defining an upper limit number of Web service request processing per unit time by the Web service execution unit of the second server, and a unit time closest to the first server. The received value is compared with a value obtained by counting the number of new Web service requests, and when the counted value exceeds the threshold, a high load notification is transmitted to the relay unit of the first server using the HTTP protocol. 2. The Web service request relay system according to claim 1, wherein the relay unit of the first server transmits a response message to the relay unit of the second server when receiving the request. 前記第2のサーバの前記中継手段は、Webサービス要求を受信する都度、又は前記単位時間に基づき設定されたインターバルタイマからの割り込みの発生する都度、前記第2のサーバの高負荷状態を判定し、高負荷状態から高負荷でない状態に遷移すると、高負荷通知を前記第1のサーバ送信している場合、高負荷の解除通知をHTTPプロトコルによって前記第1のサーバに送信し、前記第1のサーバの前記中継手段はそれを受信すると前記第2のサーバの前記中継手段にレスポンスメッセージを送信することを特徴とする請求項2記載のWebサービス要求中継システム。 The relay means of the second server determines the high load state of the second server every time a Web service request is received or every time an interrupt from an interval timer set based on the unit time occurs. When a transition from a high load state to a non-high load state is made, when a high load notification is transmitted to the first server, a high load release notification is transmitted to the first server using an HTTP protocol, and the first server 3. The Web service request relay system according to claim 2, wherein when the relay unit of the server receives the response, a response message is transmitted to the relay unit of the second server. 前記第1のサーバの前記中継手段は、前記第2のサーバから高負荷の解除通知を受信すると、前記第2のサーバ向けの送信を保留された新たなWebサービス要求があればそれを取り出しHTTPヘッダから第2のサーバのアドレスを削除して前記第2のサーバへ送信することを特徴とする請求項3記載のWebサービス要求中継システム。 When the relay means of the first server receives a high load release notification from the second server, it takes out a new Web service request for which transmission to the second server is suspended and extracts it. 4. The Web service request relay system according to claim 3, wherein the address of the second server is deleted from the header and transmitted to the second server. Webサービス要求の送受信を行う中継手段と、前記中継手段とTCP/IP通信による接続をし前記中継手段に対するHTTPプロキシの設定を有するとともに、前記中継手段の受信したWebサービス要求を受け取りそれを処理して新たなWebサービス要求を生成し前記中継手段に送信するWebサービス実行手段と、をそれぞれ備えた第1と第2のサーバと、前記第1のサーバと、前記第2のサーバと、を接続するネットワークと、を含み、前記第1のサーバは前記第2のサーバからのWebサービス要求を受信して実行し、前記第2のサーバは前記第1のサーバからのWebサービス要求を受信して実行するWebサービス要求中継システムであって、
前記第1のサーバの前記中継手段は、前記第1のサーバの前記Webサービス実行手段による前記第2のサーバを宛先とする新たなWebサービス要求を受信すると、前記新たなサービス要求のHTTPヘッダから前記第2のサーバのアドレスを認識し前記第2のサーバの前記中継手段からの前記第2のサーバの高負荷通知の有無を確認し、高負荷通知の有る場合前記新たなWebサービス要求を保留し、高負荷通知の無い場合HTTPヘッダから当該アドレスを削除して前記第2のサーバへ送信し、
前記第2のサーバの前記中継手段は、前記新たなWebサービス要求を受信すると、前記第2のサーバのWebサービス実行手段の高負荷状態を判定して高負荷の場合、前記第1のサーバの前記中継手段に高負荷通知を送信し、
前記第2のサーバの前記中継手段は、前記第2のサーバの前記Webサービス実行手段による前記第1のサーバを宛先とする新たなWebサービス要求を受信すると、前記新たなサービス要求のHTTPヘッダから前記第1のサーバのアドレスを認識し前記第1のサーバの前記中継手段からの前記第1のサーバの高負荷通知の有無を確認し、高負荷通知の有る場合前記新たなWebサービス要求を保留し、高負荷通知の無い場合HTTPヘッダから当該アドレスを削除して前記第1のサーバへ送信し、
前記第1のサーバの前記中継手段は、前記新たなWebサービス要求を受信すると、前記第1のサーバのWebサービス実行手段の高負荷状態を判定して高負荷の場合、前記第2のサーバの前記中継手段に高負荷通知を送信する
ことを特徴とするWebサービス要求中継システム。
A relay unit for transmitting and receiving a Web service request; a connection with the relay unit by TCP / IP communication; and an HTTP proxy setting for the relay unit; and a Web service request received by the relay unit is received and processed Connecting the first and second servers, the first server, and the second server, each having a Web service execution unit that generates a new Web service request and transmits the request to the relay unit The first server receives and executes a Web service request from the second server, and the second server receives a Web service request from the first server. A Web service request relay system to execute,
When the relay unit of the first server receives a new Web service request addressed to the second server by the Web service execution unit of the first server, the relay unit starts from the HTTP header of the new service request. Recognizes the address of the second server, checks whether there is a high load notification of the second server from the relay means of the second server, and if there is a high load notification, holds the new Web service request If there is no high load notification, the address is deleted from the HTTP header and sent to the second server,
When the relay unit of the second server receives the new Web service request, the relay unit of the second server determines the high load state of the Web service execution unit of the second server, and when the load is high, the relay unit of the first server A high load notification is sent to the relay means;
When the relay unit of the second server receives a new Web service request addressed to the first server by the Web service execution unit of the second server, the relay unit starts from the HTTP header of the new service request. Recognizes the address of the first server, checks whether there is a high load notification of the first server from the relay means of the first server, and if there is a high load notification, holds the new Web service request If there is no high load notification, the address is deleted from the HTTP header and sent to the first server,
When the relay unit of the first server receives the new Web service request, the relay unit of the first server determines the high load state of the Web service execution unit of the first server, and in the case of a high load, the relay unit of the second server A Web service request relay system, wherein a high load notification is transmitted to the relay means.
Webサービス要求の送受信を行う中継手段と、前記中継手段とTCP/IP通信による接続をし前記中継手段に対するHTTPプロキシの設定を有するとともに、前記中継手段の受信したWebサービス要求を受け取りそれを処理して新たなWebサービス要求を生成し前記中継手段に送信するWebサービス実行手段と、をそれぞれ備えた第1と第2のサーバと、前記中継手段を備えず受信したWebサービス要求を処理して新たなWebサービス要求を生成するWebサービス実行手段を備えた第3のサーバと、前記第1のサーバと、前記第2のサーバと、前記第3のサーバと、を接続するネットワークと、を含み、前記第1のサーバ又は前記第3のサーバから前記第2のサーバへ前記新たなWebサービス要求を送信するWebサービス要求中継システムであって、
前記第1のサーバの前記中継手段は、前記第1のサーバの前記Webサービス実行手段による新たなWebサービス要求を受信すると、HTTPヘッダから前記第2のサーバのアドレスを認識し前記第2のサーバの前記中継手段からの前記第2のサーバの高負荷通知の有無を確認し、高負荷通知の有る場合前記新たなWebサービス要求を保留し、高負荷通知の無い場合HTTPヘッダから当該アドレスを削除して前記第2のサーバへ送信し、
前記第2のサーバの前記中継手段は、前記新たなWebサービス要求を受信すると、前記第2のサーバのWebサービス実行手段の高負荷状態を判定して高負荷の場合、前記第1のサーバの前記中継手段に高負荷通知を送信することを特徴とするWebサービス要求中継システム。
A relay unit for transmitting and receiving a Web service request; a connection with the relay unit by TCP / IP communication; and an HTTP proxy setting for the relay unit; and a Web service request received by the relay unit is received and processed The first and second servers each having a new web service request generated and transmitted to the relay unit, and the received web service request without the relay unit are newly processed. A third server provided with a web service execution means for generating a simple web service request, a network connecting the first server, the second server, and the third server, Web server that transmits the new Web service request from the first server or the third server to the second server A scan request relay system,
When the relay unit of the first server receives a new Web service request from the Web service execution unit of the first server, the relay unit recognizes the address of the second server from an HTTP header, and The presence of the high load notification of the second server from the relay means is confirmed, and if there is a high load notification, the new Web service request is suspended, and if there is no high load notification, the address is deleted from the HTTP header To the second server,
When the relay unit of the second server receives the new Web service request, the relay unit of the second server determines the high load state of the Web service execution unit of the second server, and when the load is high, the relay unit of the first server A Web service request relay system, wherein a high load notification is transmitted to the relay means.
前記第2のサーバの前記中継手段は、前記第3のサーバへのHTTPプロトコルによる高負荷を通知するリクエストメッセージの送信後、前記第3のサーバからのレスポンスメッセージの受信有無を確認し、レスポンスメッセージを受信しない前記第3のサーバは前記中継手段を有さないと認識し、以降発生する高負荷解除通知を前記第3のサーバには送信しないことを特徴とする請求項6記載のWebサービス要求中継システム。 The relay means of the second server confirms whether or not a response message has been received from the third server after transmitting a request message for notifying the third server of a high load based on the HTTP protocol. 7. The Web service request according to claim 6, wherein the third server that does not receive the notification recognizes that the relay unit is not provided, and does not transmit a subsequent high load release notification to the third server. Relay system. 前記第2のサーバの前記中継手段は、前記第3のサーバが中継手段を有していないことを認識すると、前記第2のサーバが高負荷の場合において、前記第3のサーバから受信した新たなWebサービス要求に対する処理結果の送信を前記第3のサーバへ行う場合、予め設定された時間遅延して送信することを特徴とする請求項7記載のWebサービス要求中継システム。 When the relay means of the second server recognizes that the third server does not have the relay means, the new means received from the third server when the second server is heavily loaded 8. The Web service request relay system according to claim 7, wherein when a processing result for a Web service request is transmitted to the third server, the processing result is transmitted with a preset time delay. Webサービス要求を送信する処理と受信したWebサービス要求を実行する処理を備えた第1と第2のサーバと、Webサービス要求を中継する中継サーバと、前記各サーバを接続するネットワークと、を含むWebサービス要求中継システムにおいて、
前記第1のサーバは、前記中継サーバに対するHTTPプロキシを使用する設定を有し、Webサービス要求の送信時、HTTPヘッダに前記第2のサーバのアドレスを設定して送信を行い、
前記中継サーバは、前記第2のサーバの単位時間に処理可能なWebサービス要求メッセージ数と前記単位時間長の設定情報を有し、前記第1のサーバから受信したWebサービス要求のHTTPヘッダから取り出した前記第2のサーバのアドレスを元に前記第2のサーバ宛の直近の単位時間におけるWebサービス要求数を計数し、計数したWebサービス要求数を前記閾値と比較し、前記閾値以下の場合は前記Webサービス要求を送信し、前記閾値を越える場合は前記第2のサーバは高負荷状態と判断して前記Webサービス要求を保留することを特徴とするWebサービス要求中継システム。
1st and 2nd server provided with the process which transmits a web service request, and the process which performs the received web service request, The relay server which relays a web service request, The network which connects each said server is included In the Web service request relay system,
The first server has a setting to use an HTTP proxy with respect to the relay server, and when transmitting a Web service request, sets the address of the second server in an HTTP header and performs transmission.
The relay server has setting information for the number of Web service request messages that can be processed per unit time of the second server and the unit time length, and is extracted from the HTTP header of the Web service request received from the first server. Based on the address of the second server, the number of Web service requests for the most recent unit time addressed to the second server is counted, and the counted number of Web service requests is compared with the threshold value. A Web service request relay system that transmits the Web service request, and when the threshold value is exceeded, the second server determines that the load is high and suspends the Web service request.
前記中継サーバは、受信したWebサービス要求のHTTPヘッダから取り出した前記第2のサーバのアドレスを元にアドレス別に前記保留したWebサービス要求を時系列に従って記憶することを特徴とする請求項9記載のWebサービス要求中継システム。 10. The relay server stores the suspended web service request according to time based on the address of the second server extracted from the HTTP header of the received web service request according to a time series. Web service request relay system. 前記中継サーバは、Webサービス要求を受信する都度、又は前記単位時間に基づき設定されたインターバルタイマからの割り込みの発生する都度、前記第2のサーバの高負荷状態を判定し、高負荷状態ではない場合、保留したWebサービス要求の有無を確認し、保留したWebサービス要求があると保留されたWebサービス要求のHTTPヘッダから前記第2のサーバのアドレスを取り外して前記第2のサーバへ送信することを特徴とする請求項9記載のWebサービス要求中継システム。 The relay server determines the high load state of the second server every time a Web service request is received or every time an interrupt from an interval timer set based on the unit time occurs, and is not in a high load state If there is a pending Web service request, the second server address is removed from the HTTP header of the pending Web service request and transmitted to the second server. The Web service request relay system according to claim 9. 前記中継サーバは、前記第1のサーバのプロキシサーバとして設定され、前記第2のサーバへの前記Webサービス要求の送信数の抑制による高負荷制御手段を有することを特徴とする請求項9記載のWebサービス要求中継システム。 The said relay server is set as a proxy server of the said 1st server, The high load control means by suppression of the transmission number of the said web service request to the said 2nd server is provided, The said load server is characterized by the above-mentioned. Web service request relay system. 前記第2のサーバが前記第1のサーバにWebサービス要求を送信し前記第1のサーバはそれを受信して実行するに際し、前記中継サーバは、前記第2のサーバのプロキシサーバと設定され、前記第1のサーバの単位時間に処理可能なWebサービス要求メッセージ数と前記単位時間長の設定情報を備えることにより、前記中継サーバは、前記第2のサーバへの前記Webサービス要求の送信数の制御による高負荷制御手段をさらに有することを特徴とする請求項9記載のWebサービス要求中継システム。 When the second server sends a Web service request to the first server and the first server receives and executes it, the relay server is set as a proxy server of the second server, By providing the number of Web service request messages that can be processed per unit time of the first server and the setting information of the unit time length, the relay server can determine the number of transmissions of the Web service request to the second server. 10. The Web service request relay system according to claim 9, further comprising high-load control means by control. Webサービス要求を送信する処理と受信したWebサービス要求を実行する処理を備えた第1と第2のサーバと、Webサービス要求を中継する中継サーバと、前記各サーバを接続するネットワークを含むWebサービスシステムにおけるWebサービス要求中継方法であって、
前記第1のサーバは、前記中継サーバに対するHTTPプロキシを使用する設定を有し、Webサービス要求の送信時、HTTPヘッダに前記第2のサーバのアドレスを設定して前記中継サーバに送信を行うステップと、
前記中継サーバは、前記第2のサーバの単位時間に処理可能なWebサービス要求メッセージ数と前記単位時間長の設定情報を有し、受信したWebサービス要求のHTTPヘッダから取り出した前記第2のサーバのアドレスを元に前記第2のサーバ宛の直近の単位時間におけるWebサービス要求数を計数するステップと、
前記中継サーバは、計数したWebサービス要求数を前記閾値と比較し、前記閾値以下の場合は前記Webサービス要求を送信するステップと、
前記中継サーバは、前記閾値を越える場合は前記Webサービス要求を保留するステップと、
前記中継サーバは、Webサービス要求を受信する都度、又は前記単位時間に基づき設定されたインターバルタイマからの割り込みの発生する都度、前記第2のサーバの高負荷状態を判定し、高負荷状態から高負荷でない状態への遷移を確認すると、保留したWebサービス要求の有無を確認し、保留したWebサービス要求があると保留されたWebサービス要求のHTTPヘッダから前記第2のサーバのアドレスを取り外して前記第2のサーバへ送信するステップと、
を備えることを特徴とするWebサービス要求中継方法。
Web service including first and second servers having processing for transmitting a Web service request and processing for executing a received Web service request, a relay server for relaying the Web service request, and a network connecting the servers A web service request relay method in a system,
The first server has a setting to use an HTTP proxy for the relay server, and sets the address of the second server in an HTTP header when transmitting a Web service request, and transmits to the relay server When,
The relay server has the number of Web service request messages that can be processed per unit time of the second server and setting information of the unit time length, and the second server extracted from the HTTP header of the received Web service request Counting the number of web service requests in the most recent unit time addressed to the second server based on the address of
The relay server compares the counted number of Web service requests with the threshold value, and transmits the Web service request when the threshold value is less than or equal to the threshold value;
The relay server suspending the web service request if the threshold is exceeded;
The relay server determines the high load state of the second server every time a Web service request is received or every time an interrupt from an interval timer set based on the unit time occurs, When the transition to a non-load state is confirmed, the presence or absence of a pending web service request is confirmed. If there is a pending web service request, the address of the second server is removed from the HTTP header of the suspended web service request. Transmitting to a second server;
A Web service request relay method comprising:
Webサービス要求の送受信を行う中継手段と、前記中継手段とTCP/IP通信による接続をし前記中継手段に対するHTTPプロキシの設定を有するとともに、前記中継手段の受信したWebサービス要求を受け取りそれを処理して新たなWebサービス要求を生成し前記中継手段に送信するWebサービス実行手段と、をそれぞれ備えた第1と第2のサーバと、前記第1のサーバと、前記第2のサーバと、を接続するネットワークと、を含むWebサービスシステムにおけるWebサービス要求中継方法であって、
前記第1のサーバの前記中継手段は、受信したWebサービス要求を第1のサーバの前記Webサービス実行手段にTCP/IP通信で送信する第1のステップと、
前記第1のサーバの前記Webサービス実行手段は、受信したWebサービス要求を処理して新たなWebサービス要求を生成し、HTTPヘッダの宛先に前記第2のサーバのアドレスを設定して前記第1のサーバの前記中継手段に送信するステップと、
前記第1のサーバの前記中継手段は、前記新たなWebサービス要求を受信するとHTTPヘッダの宛先の前記第2のサーバのアドレスを元に前記第2のサーバが高負荷か否かを判定するステップと、
前記第1のサーバの前記中継手段は、前記第2のサーバが高負荷である場合、前記新たなWebサービス要求を前記第2のサーバのアドレスを元に保留するステップと、
前記第1のサーバの前記中継手段は、前記第2のサーバが高負荷でない場合、前記新たなWebサービスのHTTPヘッダから第2のサーバのアドレスを削除してこれを前記第2のサーバへ送信するステップと、
前記第2のサーバの前記中継手段は、前記新たなWebサービス要求を受信すると、前記第2のサーバの前記Webサービス実行手段の高負荷状態を判定するステップと、
前記第2のサーバの前記中継手段は、前記Webサービス実行手段が高負荷であると判定すると、前記第1のサーバの前記中継手段に高負荷の通知をHTTPプロトコルによって送信するステップと、
前記第2のサーバの前記中継手段は、高負荷状態の判定の結果、高負荷状態から高負荷でない状態への遷移を確認すると、前記第1のサーバの前記中継手段に高負荷の解除の通知をHTTPプロトコルによって送信するステップと、
前記第1のサーバの前記中継手段は、前記第2のサーバから高負荷通知を受信すると、前記第2のサーバは高負荷状態に有るとして記憶し、高負荷の解除の通知を受信すると、前記第2のサーバのアドレスを元に保留した前記新たなWebサービス要求の有無を確認し、有る場合、前記新たなWebサービス要求のHTTPヘッダから前記第2のサーバのアドレスを削除して前記第2のサーバに送信するステップと、
を備えることを特徴とするWebサービス要求中継方法。
A relay unit for transmitting and receiving a Web service request; a connection with the relay unit by TCP / IP communication; and an HTTP proxy setting for the relay unit; and a Web service request received by the relay unit is received and processed Connecting the first and second servers, the first server, and the second server, each having a Web service execution unit that generates a new Web service request and transmits the request to the relay unit A web service request relay method in a web service system including:
The relay unit of the first server transmits a received Web service request to the Web service execution unit of the first server by TCP / IP communication;
The Web service execution unit of the first server processes the received Web service request to generate a new Web service request, sets the address of the second server as the destination of the HTTP header, and sets the first server Transmitting to the relay means of the server of
When the relay unit of the first server receives the new Web service request, the relay unit determines whether or not the second server has a high load based on the address of the second server as the destination of the HTTP header. When,
The relay means of the first server holds the new Web service request based on the address of the second server when the second server is heavily loaded;
The relay unit of the first server deletes the address of the second server from the HTTP header of the new Web service and transmits it to the second server when the second server is not heavily loaded. And steps to
The relay means of the second server, upon receiving the new Web service request, determining a high load state of the Web service execution means of the second server;
When the relay unit of the second server determines that the Web service execution unit has a high load, the relay unit transmits a high load notification to the relay unit of the first server by an HTTP protocol;
When the relay unit of the second server confirms the transition from the high load state to the non-high load state as a result of the determination of the high load state, the relay unit of the first server is notified of the release of the high load. Transmitting by the HTTP protocol;
When the relay means of the first server receives a high load notification from the second server, the relay means stores that the second server is in a high load state, and receives a high load release notification, The presence / absence of the new Web service request suspended based on the address of the second server is confirmed. If there is, the second server address is deleted from the HTTP header of the new Web service request. Sending to the server of
A Web service request relay method comprising:
HTTPプロキシを使用する設定を中継サーバに設定した第1のサーバから、HTTPヘッダにWebサービス要求を実行する第2のサーバのアドレスが設定されたWebサービス要求を受信する手段と、
前記第2のサーバの単位時間に処理可能なWebサービス要求メッセージ数と前記単位時間長の設定情報を有し、受信したWebサービス要求のHTTPヘッダから取り出した前記第2のサーバのアドレスを元に前記第2のサーバ宛の直近の単位時間におけるWebサービス要求数を計数する手段と、
計数したWebサービス要求数を前記閾値と比較し、前記閾値以下の場合は前記Webサービス要求を前記第2のWebサーバに送信する手段と、
前記閾値を越える場合は前記Webサービス要求を保留する手段と、
Webサービス要求を受信する都度、又は前記単位時間に基づき設定されたインターバルタイマからの割り込みの発生する都度、前記第2のサーバの高負荷状態を判定し、高負荷状態から高負荷でない状態への遷移を確認すると、保留したWebサービス要求の有無を確認し、保留したWebサービス要求があると保留されたWebサービス要求のHTTPヘッダから前記第2のサーバのアドレスを取り外して前記第2のサーバへ送信する手段と、を備えることを特徴とする中継サーバ。
Means for receiving a web service request in which an address of a second server that executes a web service request is set in an HTTP header from a first server that is set in the relay server to use an HTTP proxy;
Based on the address of the second server extracted from the HTTP header of the received Web service request, which has setting information for the number of Web service request messages that can be processed per unit time of the second server and the unit time length. Means for counting the number of Web service requests for the most recent unit time addressed to the second server;
Means for comparing the counted number of web service requests with the threshold value and, if the number is equal to or smaller than the threshold value, transmitting the web service request to the second web server;
Means for deferring the web service request if the threshold is exceeded;
Each time a Web service request is received or every time an interrupt from an interval timer set based on the unit time occurs, the high load state of the second server is determined, and the high load state is changed to a non-high load state. When the transition is confirmed, it is confirmed whether or not there is a pending web service request. If there is a pending web service request, the address of the second server is removed from the HTTP header of the suspended web service request to the second server. A relay server.
コンピュータに、
HTTPプロキシを使用する設定を中継サーバに設定した第1のサーバから、HTTPヘッダにWebサービス要求を実行する第2のサーバのアドレスが設定されたWebサービス要求を受信するステップと、
前記第2のサーバの単位時間に処理可能なWebサービス要求メッセージ数と前記単位時間長の設定情報を有し、受信したWebサービス要求のHTTPヘッダから取り出した前記第2のサーバのアドレスを元に前記第2のサーバ宛の直近の単位時間におけるWebサービス要求数を計数するステップと、
計数したWebサービス要求数を前記閾値と比較し、前記閾値以下の場合は前記Webサービス要求を前記第2のWebサーバに送信するステップと、
前記閾値を越える場合は前記Webサービス要求を保留するステップと、
Webサービス要求を受信する都度、又は前記単位時間に基づき設定されたインターバルタイマからの割り込みの発生する都度、前記第2のサーバの高負荷状態を判定し、高負荷状態から高負荷でない状態への遷移を確認すると、保留したWebサービス要求の有無を確認し、保留したWebサービス要求があると保留されたWebサービス要求のHTTPヘッダから前記第2のサーバのアドレスを取り外して前記第2のサーバへ送信するステップと、を実行させることを特徴とするプログラム。
On the computer,
Receiving a Web service request in which the address of the second server that executes the Web service request is set in the HTTP header from the first server that sets the setting to use the HTTP proxy in the relay server;
Based on the address of the second server extracted from the HTTP header of the received Web service request, which has setting information for the number of Web service request messages that can be processed per unit time of the second server and the unit time length. Counting the number of web service requests in the most recent unit time addressed to the second server;
Comparing the counted number of Web service requests with the threshold value, and transmitting the Web service request to the second Web server if the threshold value is less than or equal to the threshold value;
Suspending the web service request if the threshold is exceeded;
Each time a Web service request is received or every time an interrupt from an interval timer set based on the unit time occurs, the high load state of the second server is determined, and the high load state is changed to a non-high load state. When the transition is confirmed, it is confirmed whether or not there is a pending web service request. If there is a pending web service request, the address of the second server is removed from the HTTP header of the suspended web service request to the second server. And a step of transmitting the program.
JP2004309716A 2004-10-25 2004-10-25 Web service request relay system, Web service request relay method, relay server, and program thereof Expired - Fee Related JP4305364B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004309716A JP4305364B2 (en) 2004-10-25 2004-10-25 Web service request relay system, Web service request relay method, relay server, and program thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004309716A JP4305364B2 (en) 2004-10-25 2004-10-25 Web service request relay system, Web service request relay method, relay server, and program thereof

Publications (2)

Publication Number Publication Date
JP2006120080A true JP2006120080A (en) 2006-05-11
JP4305364B2 JP4305364B2 (en) 2009-07-29

Family

ID=36537882

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004309716A Expired - Fee Related JP4305364B2 (en) 2004-10-25 2004-10-25 Web service request relay system, Web service request relay method, relay server, and program thereof

Country Status (1)

Country Link
JP (1) JP4305364B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006166439A (en) * 2004-12-03 2006-06-22 Microsoft Corp Efficient transfer of message using reliable messaging protocol for web service
JP2008097314A (en) * 2006-10-12 2008-04-24 Kddi Corp Temporarily connecting method which distributes access requests from terminal spatially and/or temporally, server and program
JP2011517356A (en) * 2008-03-03 2011-06-02 アルカテル−ルーセント System and method for application layer resource traffic control
JP2015035069A (en) * 2013-08-08 2015-02-19 株式会社デンソー Microcomputer

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006166439A (en) * 2004-12-03 2006-06-22 Microsoft Corp Efficient transfer of message using reliable messaging protocol for web service
JP4714572B2 (en) * 2004-12-03 2011-06-29 マイクロソフト コーポレーション Efficient transfer of messages using reliable messaging protocols for web services
JP2008097314A (en) * 2006-10-12 2008-04-24 Kddi Corp Temporarily connecting method which distributes access requests from terminal spatially and/or temporally, server and program
JP2011517356A (en) * 2008-03-03 2011-06-02 アルカテル−ルーセント System and method for application layer resource traffic control
JP2015035069A (en) * 2013-08-08 2015-02-19 株式会社デンソー Microcomputer

Also Published As

Publication number Publication date
JP4305364B2 (en) 2009-07-29

Similar Documents

Publication Publication Date Title
US6963996B2 (en) Session error recovery
US7886295B2 (en) Connection manager, method, system and program product for centrally managing computer applications
CN101370035B (en) Method and system for dynamic client/server network management using proxy servers
JP4381655B2 (en) Storage system, storage device, and information sharing method using the storage device
US8856635B2 (en) Loader and provider configuration for remotely provided services
US20020198943A1 (en) Web-enabled two-way remote messaging facility
JP5068435B2 (en) Information exchange system, management server, network load reducing method used therefor, and program thereof
JP2006031063A (en) Priority control system
JP2000276432A (en) Dynamic load distribution system for transaction message
JP4398354B2 (en) Relay system
US6925488B2 (en) Distributed intelligent information technology operations automation
JP4410608B2 (en) Web service providing method
CN116346948A (en) Multi-protocol conversion method and system based on micro-service
CN116319732A (en) Message queue centralized configuration management system and method based on RabbitMQ
JP4516594B2 (en) Message transmission control method, message transmission control device, and message transmission control program
JP4305364B2 (en) Web service request relay system, Web service request relay method, relay server, and program thereof
US7779115B2 (en) Method and apparatus for processing client capability information over a network
KR101301447B1 (en) Independent message stores and message transport agents
JP5526780B2 (en) Load distribution system, service processing server, load distribution method, and load distribution program
EP1220513A2 (en) Method and apparatus for handling services by a proxy
JP3003596B2 (en) Client server system
JP7424494B2 (en) Request delivery device, request delivery method, and request delivery program
JP2001014231A (en) Mail hub system using workflow mechanism
US11968253B2 (en) Request delivery device, request delivery method, and request delivery program
JP2005276053A (en) Information collecting system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060914

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20070119

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20080613

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080825

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080909

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081110

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090113

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090316

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20090323

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090407

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090420

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120515

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120515

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130515

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140515

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees