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 PDFInfo
- 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
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
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
前述した特許文献1では、サービスの内容やサービス提供先による制御など、Webサービスを実行する上位レイヤによる論理的な高負荷制御は行えない、という問題がある。
In
具体的には、本発明のように複数の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
また、一般的に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サービス管理システムが、複数の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サービス管理システムは、Webサーバ10で動作する中継装置11と、サービス管理装置20と、から構成され、複数のWebサーバ10の提供する各サービス内容および稼動状況を管理する。
The Web service management system includes a
サービス管理装置20は、サービス合成計算部21と、Webサーバ10の負荷情報を記憶する運用情報記憶部22と、このサービスを提供するWebサーバ10の位置情報とそのサービス定義情報を保管するサービス定義情報保管装置23と、から構成される。運用情報記憶部22とサービス定義情報保管装置23は、磁気ディスク装置等からなるサービス管理装置20に接続された記憶装置である。
The
Webサーバ10は、各Webサーバ10の自身が担当する、例えば受注システム等の業務について、その業務名、業務を一意に識別する業務識別子、業務の依頼元Webサービス名、業務の依頼先Webサービス名、応答/転送種別等を含む情報を記憶する。1つの業務は、1以上のWebサーバ10の連携によって実行されるが、各Webサーバ10は、その業務フロー全体における自分の担当する部分についての情報を記憶する。
The
サービス管理装置20は、各Webサーバ10の担当するそれぞれの業務について、Webサーバ10から予め業務フローにおける各Webサーバ10の担当する情報を受信している。サービス管理装置20は、受信した業務フローの担当部分情報をサービス定義情報保管装置23に業務別、送信したWebサーバ10別に記憶する。
The
例えば、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
サービス管理装置20は、関連するWebサーバ10から業務フロー情報の収集を終えると、収集されたWebサーバ10の定義情報をサービス定義情報保管装置23から読み込む。サービス管理装置20のサービス合成計算部21において、個々のWebサーバ10がサービス的に隣接したWebサーバ10と連携して1つのサービスを実行する場合、その紐付けを繰り返すことにより個々のWebサーバ10の担当する部分情報からサービス全体の関係を紐付けし、Webサーバ10全体の間の業務フローを構築する。このフローは、個々のWebサーバ10を利用した、特定業務の処理フローとみることができる。
When the
Webサーバ10は、中継装置11と,Webサービス12と、サービス定義情報15と、から構成される。Webサービス12は、通信部13と、サービス実行部14と、から構成される。また、サービス定義情報15は、前述したように、サービス内容と、サービス実行のための入力および出力情報を定義する。
The
サービス定義情報15は、業務サービスがあるWebサービス12によって完結する応答処理か、業務サービスが一つのWebサーバ10の処理で完結せず、他のWebサーバ10を引き続き利用する転送処理かの区別や、転送処理の場合は、他のWebサーバ10の呼び出しとその引数とを定義する。
The
中継装置11は、Webサービス12と同じ計算機上に実装されていて、メッセージ受信部110と、メッセージ送信部111と、サービス情報解析部112と、メッセージ保管部113と、送信先保管部114と、サービス情報記憶部115と、から構成され、ポート番号の定義されたプロキシサーバとして動作するアプリケーションプログラムである。
The
Webサーバ10の機能は、計算機上で動作する複数のソフトウェアプログラムによって実行される。
The functions of the
Webサービスの要求元の中継装置11は、Webサービス要求先のWebサーバ10の中継装置11から当該Webサーバ10の負荷情報を受信する。負荷情報には単位時間あたりに処理可能なWebサービス要求メッセージ数の上限を超えた高負荷状態である内容を含む。この負荷情報によってWebサービス要求先が高負荷の通知を受けたWebサービス要求元の中継装置11は、高負荷のWebサーバ10への送信を抑制する。このWebサーバ10間の通信フローの制御により、複数のWebサーバ10の処理を平準化した全体システムの運用が可能となる。
The
Webサービス要求元の中継装置11は、高負荷となったWebサービス要求先のWebサーバ10へのWebサービス要求メッセージについて、その分解、保管、再構築および送信を行うことによって、送信遅延を行い通信フローを制御する。
The
中継装置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
以上を整理すると図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
以上のように実装することで、中継装置11は、Webサービス12に外付けする機構であるため、既存のWebサービスおよびWebサービス間の通信プロトコルを透過的に使用することを可能とする。Webサービス12は、既存のWebサービス12の機能に手を加えて改変することなしに、サービス間通信制御装置の導入後も透過的にサービスを提供できるという効果を有する。
By implementing as described above, the
中継装置11は、このHTTPリクエストのヘッダの宛先の計算機のアドレスの解析結果に従ってWebサービス要求メッセージを分解し、Webサーバ10の宛先別にヘッダ情報を記憶する送信先保管部114と、それにリンクされたメッセージの本体を記憶するメッセージ保管部113と、を持つことで複数のWebサービス要求メッセージをキューイングして宛先別に蓄積する。
The
宛先の計算機の高負荷が解除すると、中継装置11は、一時蓄積した送信先保管部114とメッセージ保管部113の情報から宛先の計算機のIPアドレス、URL、メッセージ本体を取り出し、再度、完全なHTTPリクエストを組み立てることが可能となり、通信を再開することができる。これにより中継装置11は高負荷の中継装置11へのサービス要求を、一定のサービス要求数を越えないように制御することができる。
When the high load on the destination computer is released, the
また、Webサーバ10全体を管理するサービス管理装置20は、中継装置11の保有する負荷情報を取得し、記録することで、特定の時点の負荷状況を精緻に管理することができる。
Further, the
尚、クライアント装置30は、ブラウザからサービス管理装置20にアクセスして事前に各Webサーバ10の負荷状態をチェックし、高負荷状態でない場合に、Webサービス要求メッセージを送信するようにできる。
Note that the
次に、本発明を実施するための最良の形態の動作について図面を参照して説明する。 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サービス提供者は、中継装置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
さらに、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サービス提供者は、当該Webサーバ10が提供するサービスの内容の登録を磁気ディスク装置等のサービス定義情報15に対して行う(ステップS2)。
Further, the Web service provider registers the content of the service provided by the
さらに、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
これにより、HTTPプロトコルによるWebサーバ10が送受信するメッセージは、全て中継装置11を経由することになる。尚、中継装置11の持つポート番号は、Webサービス12のこれまで使用していたポート番号を設定し、Webサービス12には別のポート番号を割り当てる。
As a result, all messages transmitted and received by the
中継装置11は、サービス定義情報15から自Webサービス12の担当するサービス内容を取り込み、これをHTTPメッセージとしてサービス管理装置20のIPアドレスとポート番号を使用してサービス管理装置20に送信する(ステップS4)。
The
サービス管理装置20では、受信したサービス定義情報15をサービス定義情報保管装置23に記憶する。サービス管理装置20のサービス合成計算部21は、関連するWebサーバ10からサービス定義情報15を受信すると、各業務ごとに各Webサーバ10から提供を受けたサービス定義情報15を合成し、複数のWebサーバ10にまたがる全体の業務フローを作成し、サービス定義情報保管装置23に記憶する。
In the
全体の業務フローは管理者等の必要に応じてサービス管理装置20の表示装置に表示されるので、内容を参照する事ができる。
Since the entire business flow is displayed on the display device of the
以上のような設定が行われた後のサービス提供側の動作を図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
以降、図3のフローチャートを参照して説明する。 Hereinafter, description will be given with reference to the flowchart of FIG.
Webサーバ10Aの中継装置11Aは、立ち上げが行われるとサービス情報記憶部115から先に設定された第1の閾値と第2の閾値と単位時間等の設定情報を取り出し中継装置11A自身の主記憶メモリに記憶する(ステップS5)。
When the
中継装置11Aは、サービス管理装置20にHTTPメッセージによって、Webサーバ10によるサービスの開始をイベント種別とし、第1と第2の閾値と単位時間とを含む情報を送信する(ステップS6)。
The
サービス管理装置20は、当該情報を受信すると、運用情報記憶部22のWebサーバ10Aに関する記憶部に受信した時刻とともに書き込む(ステップS7)。
When the
中継装置11Aのサービス情報解析部112は、単位時間あたりに受信するサービス要求メッセージ数をカウントするための主記憶メモリの受信メッセージ記憶域と高負荷判定フラグを0クリアする(ステップS8)。
The service
受信メッセージ記憶域には、サービス要求メッセージを受信した時分秒等による時刻とそのメッセージ送信元の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
中継装置11Aのメッセージ受信部110は、Webサーバ10CやWebサーバ10Dからサービス要求メッセージを受信する(ステップS10)。メッセージ受信部110は、受信したサービス要求メッセージをメッセージ送信部111に渡す。メッセージ送信部111は、渡されたメッセージをWebサービス12にWebサービス12のポート番号を使用してTCP/IPにより送信する(ステップS11)。メッセージ送信部111は、このWebサービス12にメッセージを送信した時刻を最終送信時刻として記憶する。
The
同時に、中継装置11Aのメッセージ受信部110は、Webサーバ10Cからメッセージを受信すると、受信した時刻を取得し、TCP/IP機能から取り出したメッセージの送信元のIPアドレスとともにエントリを生成し、受信メッセージ記憶域における直前に受信したメッセージが記憶されている位置の次の位置に当該エントリを記憶する(ステップS12)。
At the same time, when receiving a message from the
次に、現在時刻から単位時間遡った時刻と、現在時刻までの間に受信したメッセージ数を受信メッセージ記憶域に記憶された各エントリの時刻を参照して計数し、単位時間あたりの受信メッセージ数を求める(ステップ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
図8の(a)にこのサービス定義情報15の定義情報を例示するが、これによると、業務識別子と引数の数、各引数のデータ形式の定義情報等から構成されている。サービス実行部14は比較の結果、一致した業務識別子をもつサービス定義情報15から引数の数、各引数のデータ形式情報を取り出しこれをもとに、Webサービス要求メッセージの本体情報を解析してこのWebサービス要求メッセージについての処理を実行する(ステップS18)。
FIG. 8A illustrates the definition information of the
サービス実行部14は、サービス処理中に図8の(b)に例示する応答または転送時のサービス定義情報15からサービスメッセージ中の業務識別子と一致するものを検索する。転送の場合のサービス定義情報15は、転送/応答種別(この場合は転送)、転送先のWebサービス識別子、引数の数、各引数のデータ形式から構成されている。応答の場合のサービス定義情報は、転送/応答種別(この場合は応答)、正常/異常種別、応答値の数、各応答値のデータ形式から構成されている。
During service processing, the
サービス実行部14は、業務識別子が一致する定義情報を検索し、検索されたサービス定義情報15が規定する形式に従って結果を生成する(ステップS19)。サービス実行部14は、生成した結果を通信部13に渡す。通信部13は、検索されたサービス定義情報15に従ってサービス要求者に応答するのか他のWebサーバ10に転送するかを決定し(ステップS20)、それに従って通信部13は、転送先や応答先についてHTTPヘッダの宛先情報を生成し(この説明の場合、転送先のWebサーバ10をWebサーバ10Bとする)、サービス実行部14の作成したメッセージ本体にこれを付加する(ステップS21)。このようにして生成した情報を中継装置11AにTCP/IP通信によって送信する(ステップS22)。
The
中継装置11Aのメッセージ送信部111は、Webサービス12により作成されたHTTPヘッダの宛先情報から送信先のWebサーバ10を求める(ステップS23)。
The
決定した送信先をもとに高負荷通知先テーブルを参照し、送信先が登録されているか確認する(ステップ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
次に、ヘッダの宛先情報によって応答先または転送先の高負荷状態を高負荷通知元テーブルを検索して登録の有無を確認する(ステップ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
高負荷通知元テーブルに、例えば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
そして各種イベント待ち状態に入る。(フローチャートでは次の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
以降、図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
また、中継装置11Aは、単位時間における受信メッセージ数を含み、イベント種類を高負荷としたメッセージをサービス管理装置20に対しても送信する(ステップS32)。サービス管理装置20ではこの内容を運用情報記憶部22にWebサーバ10の識別名、受信時刻等とともに記憶する(ステップS33)。
Further, the
中継装置11Aのサービス情報解析部112は、図9の(a)に例示するように、主記憶メモリの高負荷通知先テーブルに当該通知を行った中継装置11Cや中継装置11DのIPアドレスとポート番号と通知時刻とその時の受信メッセージの計数値とを記憶する(ステップS34)。
The service
中継装置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
中継装置11Aは、高負荷の通知メッセージに対するレスポンスメッセージについて受信の有無を確認する(ステップS37)。レスポンスメッセージをWebサーバ10Cから受信すると、中継装置11AはWebサーバ10Cが本発明における中継装置機能を有することを認識し、Webサーバ10Cは中継機能有りとして高負荷通知先テーブルに記憶する(ステップS38)。そして各種イベント待ちに入る。
The
送信元が本発明の中継装置機能を持たない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
以降、図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
さらに高負荷通知先テーブルに登録された情報があるか否かをチェックする(ステップ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
登録された高負荷通知先テーブルの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
中継装置11Aは、解除通知を送信したWebサーバ10の中継装置11C等からのレスポンスメッセージを受信するとレスポンスメッセージ送信先のWebサーバ10のIPアドレスを元に高負荷通知先テーブルを検索し、該当するエントリを削除する(ステップS46)。高負荷通知先テーブルに登録されていて中継装置機能を持たないWebサーバ10については、削除をせず登録を続ける。
When the
中継装置11Aから高負荷解除通知を受信したWebサーバ10Cでは、解除通知を送信したWebサーバ10AのIPアドレスで高負荷通知元テーブルを検索し該当するエントリを消去する(ステップS47)。
The
中継装置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
中継装置11Cは、送信先保管部114に保留中のメッセージについて、一時蓄積した送信先保管部114に記憶されたHTTPヘッダの宛先アドレスと高負荷解除を通知したWebサーバ10Aのアドレスとを照合する。
The relay device 11C compares the destination address of the HTTP header stored in the temporarily stored
一致すると送信先保管部114から宛先のWebサーバ10Aのアドレス、URL等を取り出し、メッセージ保管部113の情報からメッセージ本体を取り出し、再度、完全なHTTPリクエストを組み立てHTTPヘッダ中の宛先アドレスを削除してWebサーバ10Aへ送信する(ステップS51)。
If they match, the address and URL of the
尚、Webサーバ10Aで高負荷状態が発生しても、その後、Webサーバ10Aが単位時間以上メッセージを受信しない状態が続くことがあり得る。この場合、高負荷状態は解除されているにも係わらず、Webサービス要求メッセージの処理が停滞することになる。それを防止するため、以下の処理を実行する。
Note that even if a high load state occurs in the
中継装置11Aは、単位時間以下の適当な時間をインターバルタイマーに設定して定期的にタイマー割り込みを発生させる。タイマー割り込みが発生すると、高負荷判定フラグをチェックし、高負荷状態の場合には、先に記憶した最終送信時刻と現在時刻との時間差分が単位時間を越えるか判定する。もし、単位時間を越える場合は、(ステップS40)にジャンプして高負荷状態の解除処理を実行する。
The
以上の説明においては、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
次に、本発明の第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
図10において、Webサーバ1からWebサーバLは、受信したWebサービス要求を実行する計算機であるWebサーバMからWebサーバNのいずれかに対して、Webサービス要求を中継装置11を介して送信する。中継装置11は計算機であり、ソフトウェアプログラムによって動作する。
In FIG. 10,
このとき、中継装置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
中継装置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
次に本実施例の動作について図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
中継装置11は、WebサーバMに用意された受信メッセージ記憶域に当該受信メッセージを送信したWebサーバLのIPアドレスと、当該メッセージを受信した時刻と送信済み判別フラグを組みとしたエントリを登録する(ステップS61)。送信済み判別フラグは、当該するWebサービス要求を送信先のWebサーバM〜Nに送信済みか未送信かを判別するフラグであり、エントリの登録時には、未送信として登録する。
The
次に、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
尚、以上の操作を行った受信メッセージ記憶域のエントリ及び最新の受信したメッセージの送信済み判別フラグは送信済みとする。また受信メッセージ記憶域の該当するエントリには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
尚、複数の単位時間に渡って閾値を超える数のメッセージを受信するような場合は、複数の単位時間に渡って高負荷状態が継続すると判断するため、本来処理可能なメッセージの送信処理が、例えば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
さらに、以上の説明において、Webサービスメッセージ要求側のWebサーバ1〜LとWebサービス要求実行側のサーバM〜Nと分別したが、中継装置11に、すべてのWebサーバ11の単位時間、閾値、受信メッセージ格納域を設定することで、任意のWebサーバ10の組み合わせにおける高負荷制御が可能となるという効果がある。
Furthermore, in the above description, the
本発明によれば、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.
10 Webサーバ
11 中継装置
110 メッセージ受信部
111 メッセージ送信部
112 サービス情報解析部
113 メッセージ保管部
114 送信先保管部
115 サービス情報記憶部
12 Webサービス
13 通信部
14 サービス実行部
15 サービス定義情報
20 サービス管理装置
21 サービス合成計算部
22 運用情報記憶部
23 サービス定義情報保管装置
30 クライアント装置
40 ネットワーク
DESCRIPTION OF
Claims (17)
前記第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.
前記第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.
前記第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.
前記第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.
前記第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:
前記第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:
前記第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.
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)
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 | Temporary connection method, server, and program for distributing access requests from terminals spatially and / or temporally |
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 |
-
2004
- 2004-10-25 JP JP2004309716A patent/JP4305364B2/en not_active Expired - Fee Related
Cited By (5)
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 | Temporary connection method, server, and program for distributing access requests from terminals spatially and / or temporally |
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 | |
JP2006031063A (en) | Priority control device | |
JP4398354B2 (en) | Relay system | |
JP2000276432A (en) | Dynamic load distribution system for transaction message | |
US6925488B2 (en) | Distributed intelligent information technology operations automation | |
JP4410608B2 (en) | Web service providing method | |
CN116346948A (en) | A microservice-based multi-protocol protocol conversion method and system | |
CN116319732A (en) | Message queue centralized configuration management system and method based on RabbitMQ | |
JP4305364B2 (en) | Web service request relay system, Web service request relay method, relay server, and program thereof | |
JP5526780B2 (en) | Load distribution system, service processing server, load distribution method, and load distribution program | |
KR101301447B1 (en) | Independent message stores and message transport agents | |
US20090172122A1 (en) | Message Transmission Method, Message Transmission Device, and Storage Medium Recorded with Message Transmission Program | |
CN113660178B (en) | CDN content management system | |
EP1220513A2 (en) | Method and apparatus for handling services by a proxy | |
JP3003596B2 (en) | Client server system | |
CN115102854B (en) | Remote procedure call route management control method, system and equipment for micro-service | |
JP2005276053A (en) | Information collecting system | |
JP7424494B2 (en) | Request delivery device, request delivery method, and request delivery program | |
JP5035286B2 (en) | Bus-type message exchange system, bus-type message exchange method and program | |
JP2007316719A (en) | Message communication method, apparatus and program |
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 |