(57)【要約】【課題】Ｗｅｂサービス管理システムが複数のＷｅｂサーバの局所的な高負荷状態の発生を抑制し局所的なサービスの遅滞が全体のシステムの停止とならないように制御する。【解決手段】サービス間通信制御装置は、複数のＷｅｂサービスが連携して動作するサービスにおいて、Ｗｅｂサービスを提供する個々の計算機に、他のサービスとの要求メッセージおよび応答メッセージの通信を中継する中継装置を実装する。この中継装置間において計算機の負荷情報を交換し、サービス要求側の中継装置は、性能劣化を起こしたサービス実行側への要求を遅延させることにより、サービス実行側の負荷を軽減することを特徴とする。また、この中継装置は、個々の計算機のＷｅｂサービスとの組で動作するが、Ｗｅｂサービスへの要求メッセージと応答メッセージを捕捉し転送するため、既存のＷｅｂサービスの通信機構を改変することなく、中継装置の組み込みを行うことを特徴とする。【選択図】      図１
2006120080.tif 000002
【特許請求の範囲】
【請求項１】
Ｗｅｂサービス要求の送受信を行う中継手段と、前記中継手段とＴＣＰ／ＩＰ通信による接続をし前記中継手段に対するＨＴＴＰプロキシの設定を有するとともに、前記中継手段の受信したＷｅｂサービス要求を受け取りそれを処理して新たなＷｅｂサービス要求を生成し前記中継手段に送信するＷｅｂサービス実行手段と、をそれぞれ備えた第１と第２のサーバと、前記第１のサーバと、前記第２のサーバと、を接続するネットワークと、を含むＷｅｂサービス要求中継システムであって、
前記第１のサーバの前記中継手段は、前記第１のサーバの前記Ｗｅｂサービス実行手段による前記第２のサーバを宛先とする新たなＷｅｂサービス要求を受信すると、前記新たなサービス要求のＨＴＴＰヘッダから前記第２のサーバのアドレスを認識し前記第２のサーバの前記中継手段からの前記第２のサーバの高負荷通知の有無を確認し、高負荷通知の有る場合前記新たなＷｅｂサービス要求を保留し、高負荷通知の無い場合ＨＴＴＰヘッダから当該アドレスを削除して前記第２のサーバへ送信し、
前記第２のサーバの前記中継手段は、前記新たなＷｅｂサービス要求を受信すると、前記第２のサーバのＷｅｂサービス実行手段の高負荷状態を判定して高負荷の場合、前記第１のサーバの前記中継手段に高負荷通知を送信することを特徴とするＷｅｂサービス要求中継システム。
【請求項２】
前記第２のサーバの前記中継手段は、前記第２のサーバの前記Ｗｅｂサービス実行手段による単位時間におけるＷｅｂサービス要求処理の上限数を定義した閾値と、前記第１のサーバから直近の単位時間に受信した新たなＷｅｂサービス要求数を計数した値とを比較し、前記計数した値が前記閾値を超えると、前記第１のサーバの前記中継手段に高負荷通知をＨＴＴＰプロトコルによって送信し、前記第１のサーバの前記中継手段はそれを受信すると前記第２のサーバの前記中継手段にレスポンスメッセージを送信することを特徴とする請求項１記載のＷｅｂサービス要求中継システム。
【請求項３】
前記第２のサーバの前記中継手段は、Ｗｅｂサービス要求を受信する都度、又は前記単位時間に基づき設定されたインターバルタイマからの割り込みの発生する都度、前記第２のサーバの高負荷状態を判定し、高負荷状態から高負荷でない状態に遷移すると、高負荷通知を前記第１のサーバ送信している場合、高負荷の解除通知をＨＴＴＰプロトコルによって前記第１のサーバに送信し、前記第１のサーバの前記中継手段はそれを受信すると前記第２のサーバの前記中継手段にレスポンスメッセージを送信することを特徴とする請求項２記載のＷｅｂサービス要求中継システム。
【請求項４】
前記第１のサーバの前記中継手段は、前記第２のサーバから高負荷の解除通知を受信すると、前記第２のサーバ向けの送信を保留された新たなＷｅｂサービス要求があればそれを取り出しＨＴＴＰヘッダから第２のサーバのアドレスを削除して前記第２のサーバへ送信することを特徴とする請求項３記載のＷｅｂサービス要求中継システム。
【請求項５】
Ｗｅｂサービス要求の送受信を行う中継手段と、前記中継手段とＴＣＰ／ＩＰ通信による接続をし前記中継手段に対するＨＴＴＰプロキシの設定を有するとともに、前記中継手段の受信したＷｅｂサービス要求を受け取りそれを処理して新たなＷｅｂサービス要求を生成し前記中継手段に送信するＷｅｂサービス実行手段と、をそれぞれ備えた第１と第２のサーバと、前記第１のサーバと、前記第２のサーバと、を接続するネットワークと、を含み、前記第１のサーバは前記第２のサーバからのＷｅｂサービス要求を受信して実行し、前記第２のサーバは前記第１のサーバからのＷｅｂサービス要求を受信して実行するＷｅｂサービス要求中継システムであって、
前記第１のサーバの前記中継手段は、前記第１のサーバの前記Ｗｅｂサービス実行手段による前記第２のサーバを宛先とする新たなＷｅｂサービス要求を受信すると、前記新たなサービス要求のＨＴＴＰヘッダから前記第２のサーバのアドレスを認識し前記第２のサーバの前記中継手段からの前記第２のサーバの高負荷通知の有無を確認し、高負荷通知の有る場合前記新たなＷｅｂサービス要求を保留し、高負荷通知の無い場合ＨＴＴＰヘッダから当該アドレスを削除して前記第２のサーバへ送信し、
前記第２のサーバの前記中継手段は、前記新たなＷｅｂサービス要求を受信すると、前記第２のサーバのＷｅｂサービス実行手段の高負荷状態を判定して高負荷の場合、前記第１のサーバの前記中継手段に高負荷通知を送信し、
前記第２のサーバの前記中継手段は、前記第２のサーバの前記Ｗｅｂサービス実行手段による前記第１のサーバを宛先とする新たなＷｅｂサービス要求を受信すると、前記新たなサービス要求のＨＴＴＰヘッダから前記第１のサーバのアドレスを認識し前記第１のサーバの前記中継手段からの前記第１のサーバの高負荷通知の有無を確認し、高負荷通知の有る場合前記新たなＷｅｂサービス要求を保留し、高負荷通知の無い場合ＨＴＴＰヘッダから当該アドレスを削除して前記第１のサーバへ送信し、
前記第１のサーバの前記中継手段は、前記新たなＷｅｂサービス要求を受信すると、前記第１のサーバのＷｅｂサービス実行手段の高負荷状態を判定して高負荷の場合、前記第２のサーバの前記中継手段に高負荷通知を送信する
ことを特徴とするＷｅｂサービス要求中継システム。
【請求項６】
Ｗｅｂサービス要求の送受信を行う中継手段と、前記中継手段とＴＣＰ／ＩＰ通信による接続をし前記中継手段に対するＨＴＴＰプロキシの設定を有するとともに、前記中継手段の受信したＷｅｂサービス要求を受け取りそれを処理して新たなＷｅｂサービス要求を生成し前記中継手段に送信するＷｅｂサービス実行手段と、をそれぞれ備えた第１と第２のサーバと、前記中継手段を備えず受信したＷｅｂサービス要求を処理して新たなＷｅｂサービス要求を生成するＷｅｂサービス実行手段を備えた第３のサーバと、前記第１のサーバと、前記第２のサーバと、前記第３のサーバと、を接続するネットワークと、を含み、前記第１のサーバ又は前記第３のサーバから前記第２のサーバへ前記新たなＷｅｂサービス要求を送信するＷｅｂサービス要求中継システムであって、
前記第１のサーバの前記中継手段は、前記第１のサーバの前記Ｗｅｂサービス実行手段による新たなＷｅｂサービス要求を受信すると、ＨＴＴＰヘッダから前記第２のサーバのアドレスを認識し前記第２のサーバの前記中継手段からの前記第２のサーバの高負荷通知の有無を確認し、高負荷通知の有る場合前記新たなＷｅｂサービス要求を保留し、高負荷通知の無い場合ＨＴＴＰヘッダから当該アドレスを削除して前記第２のサーバへ送信し、
前記第２のサーバの前記中継手段は、前記新たなＷｅｂサービス要求を受信すると、前記第２のサーバのＷｅｂサービス実行手段の高負荷状態を判定して高負荷の場合、前記第１のサーバの前記中継手段に高負荷通知を送信することを特徴とするＷｅｂサービス要求中継システム。
【請求項７】
前記第２のサーバの前記中継手段は、前記第３のサーバへのＨＴＴＰプロトコルによる高負荷を通知するリクエストメッセージの送信後、前記第３のサーバからのレスポンスメッセージの受信有無を確認し、レスポンスメッセージを受信しない前記第３のサーバは前記中継手段を有さないと認識し、以降発生する高負荷解除通知を前記第３のサーバには送信しないことを特徴とする請求項６記載のＷｅｂサービス要求中継システム。
【請求項８】
前記第２のサーバの前記中継手段は、前記第３のサーバが中継手段を有していないことを認識すると、前記第２のサーバが高負荷の場合において、前記第３のサーバから受信した新たなＷｅｂサービス要求に対する処理結果の送信を前記第３のサーバへ行う場合、予め設定された時間遅延して送信することを特徴とする請求項７記載のＷｅｂサービス要求中継システム。
【請求項９】
Ｗｅｂサービス要求を送信する処理と受信したＷｅｂサービス要求を実行する処理を備えた第１と第２のサーバと、Ｗｅｂサービス要求を中継する中継サーバと、前記各サーバを接続するネットワークと、を含むＷｅｂサービス要求中継システムにおいて、
前記第１のサーバは、前記中継サーバに対するＨＴＴＰプロキシを使用する設定を有し、Ｗｅｂサービス要求の送信時、ＨＴＴＰヘッダに前記第２のサーバのアドレスを設定して送信を行い、
前記中継サーバは、前記第２のサーバの単位時間に処理可能なＷｅｂサービス要求メッセージ数と前記単位時間長の設定情報を有し、前記第１のサーバから受信したＷｅｂサービス要求のＨＴＴＰヘッダから取り出した前記第２のサーバのアドレスを元に前記第２のサーバ宛の直近の単位時間におけるＷｅｂサービス要求数を計数し、計数したＷｅｂサービス要求数を前記閾値と比較し、前記閾値以下の場合は前記Ｗｅｂサービス要求を送信し、前記閾値を越える場合は前記第２のサーバは高負荷状態と判断して前記Ｗｅｂサービス要求を保留することを特徴とするＷｅｂサービス要求中継システム。
【請求項１０】
前記中継サーバは、受信したＷｅｂサービス要求のＨＴＴＰヘッダから取り出した前記第２のサーバのアドレスを元にアドレス別に前記保留したＷｅｂサービス要求を時系列に従って記憶することを特徴とする請求項９記載のＷｅｂサービス要求中継システム。
【請求項１１】
前記中継サーバは、Ｗｅｂサービス要求を受信する都度、又は前記単位時間に基づき設定されたインターバルタイマからの割り込みの発生する都度、前記第２のサーバの高負荷状態を判定し、高負荷状態ではない場合、保留したＷｅｂサービス要求の有無を確認し、保留したＷｅｂサービス要求があると保留されたＷｅｂサービス要求のＨＴＴＰヘッダから前記第２のサーバのアドレスを取り外して前記第２のサーバへ送信することを特徴とする請求項９記載のＷｅｂサービス要求中継システム。
【請求項１２】
前記中継サーバは、前記第１のサーバのプロキシサーバとして設定され、前記第２のサーバへの前記Ｗｅｂサービス要求の送信数の抑制による高負荷制御手段を有することを特徴とする請求項９記載のＷｅｂサービス要求中継システム。
【請求項１３】
前記第２のサーバが前記第１のサーバにＷｅｂサービス要求を送信し前記第１のサーバはそれを受信して実行するに際し、前記中継サーバは、前記第２のサーバのプロキシサーバと設定され、前記第１のサーバの単位時間に処理可能なＷｅｂサービス要求メッセージ数と前記単位時間長の設定情報を備えることにより、前記中継サーバは、前記第２のサーバへの前記Ｗｅｂサービス要求の送信数の制御による高負荷制御手段をさらに有することを特徴とする請求項９記載のＷｅｂサービス要求中継システム。
【請求項１４】
Ｗｅｂサービス要求を送信する処理と受信したＷｅｂサービス要求を実行する処理を備えた第１と第２のサーバと、Ｗｅｂサービス要求を中継する中継サーバと、前記各サーバを接続するネットワークを含むＷｅｂサービスシステムにおけるＷｅｂサービス要求中継方法であって、
前記第１のサーバは、前記中継サーバに対するＨＴＴＰプロキシを使用する設定を有し、Ｗｅｂサービス要求の送信時、ＨＴＴＰヘッダに前記第２のサーバのアドレスを設定して前記中継サーバに送信を行うステップと、
前記中継サーバは、前記第２のサーバの単位時間に処理可能なＷｅｂサービス要求メッセージ数と前記単位時間長の設定情報を有し、受信したＷｅｂサービス要求のＨＴＴＰヘッダから取り出した前記第２のサーバのアドレスを元に前記第２のサーバ宛の直近の単位時間におけるＷｅｂサービス要求数を計数するステップと、
前記中継サーバは、計数したＷｅｂサービス要求数を前記閾値と比較し、前記閾値以下の場合は前記Ｗｅｂサービス要求を送信するステップと、
前記中継サーバは、前記閾値を越える場合は前記Ｗｅｂサービス要求を保留するステップと、
前記中継サーバは、Ｗｅｂサービス要求を受信する都度、又は前記単位時間に基づき設定されたインターバルタイマからの割り込みの発生する都度、前記第２のサーバの高負荷状態を判定し、高負荷状態から高負荷でない状態への遷移を確認すると、保留したＷｅｂサービス要求の有無を確認し、保留したＷｅｂサービス要求があると保留されたＷｅｂサービス要求のＨＴＴＰヘッダから前記第２のサーバのアドレスを取り外して前記第２のサーバへ送信するステップと、
を備えることを特徴とするＷｅｂサービス要求中継方法。
【請求項１５】
Ｗｅｂサービス要求の送受信を行う中継手段と、前記中継手段とＴＣＰ／ＩＰ通信による接続をし前記中継手段に対するＨＴＴＰプロキシの設定を有するとともに、前記中継手段の受信したＷｅｂサービス要求を受け取りそれを処理して新たなＷｅｂサービス要求を生成し前記中継手段に送信するＷｅｂサービス実行手段と、をそれぞれ備えた第１と第２のサーバと、前記第１のサーバと、前記第２のサーバと、を接続するネットワークと、を含むＷｅｂサービスシステムにおけるＷｅｂサービス要求中継方法であって、
前記第１のサーバの前記中継手段は、受信したＷｅｂサービス要求を第１のサーバの前記Ｗｅｂサービス実行手段にＴＣＰ／ＩＰ通信で送信する第１のステップと、
前記第１のサーバの前記Ｗｅｂサービス実行手段は、受信したＷｅｂサービス要求を処理して新たなＷｅｂサービス要求を生成し、ＨＴＴＰヘッダの宛先に前記第２のサーバのアドレスを設定して前記第１のサーバの前記中継手段に送信するステップと、
前記第１のサーバの前記中継手段は、前記新たなＷｅｂサービス要求を受信するとＨＴＴＰヘッダの宛先の前記第２のサーバのアドレスを元に前記第２のサーバが高負荷か否かを判定するステップと、
前記第１のサーバの前記中継手段は、前記第２のサーバが高負荷である場合、前記新たなＷｅｂサービス要求を前記第２のサーバのアドレスを元に保留するステップと、
前記第１のサーバの前記中継手段は、前記第２のサーバが高負荷でない場合、前記新たなＷｅｂサービスのＨＴＴＰヘッダから第２のサーバのアドレスを削除してこれを前記第２のサーバへ送信するステップと、
前記第２のサーバの前記中継手段は、前記新たなＷｅｂサービス要求を受信すると、前記第２のサーバの前記Ｗｅｂサービス実行手段の高負荷状態を判定するステップと、
前記第２のサーバの前記中継手段は、前記Ｗｅｂサービス実行手段が高負荷であると判定すると、前記第１のサーバの前記中継手段に高負荷の通知をＨＴＴＰプロトコルによって送信するステップと、
前記第２のサーバの前記中継手段は、高負荷状態の判定の結果、高負荷状態から高負荷でない状態への遷移を確認すると、前記第１のサーバの前記中継手段に高負荷の解除の通知をＨＴＴＰプロトコルによって送信するステップと、
前記第１のサーバの前記中継手段は、前記第２のサーバから高負荷通知を受信すると、前記第２のサーバは高負荷状態に有るとして記憶し、高負荷の解除の通知を受信すると、前記第２のサーバのアドレスを元に保留した前記新たなＷｅｂサービス要求の有無を確認し、有る場合、前記新たなＷｅｂサービス要求のＨＴＴＰヘッダから前記第２のサーバのアドレスを削除して前記第２のサーバに送信するステップと、
を備えることを特徴とするＷｅｂサービス要求中継方法。
【請求項１６】
ＨＴＴＰプロキシを使用する設定を中継サーバに設定した第１のサーバから、ＨＴＴＰヘッダにＷｅｂサービス要求を実行する第２のサーバのアドレスが設定されたＷｅｂサービス要求を受信する手段と、
前記第２のサーバの単位時間に処理可能なＷｅｂサービス要求メッセージ数と前記単位時間長の設定情報を有し、受信したＷｅｂサービス要求のＨＴＴＰヘッダから取り出した前記第２のサーバのアドレスを元に前記第２のサーバ宛の直近の単位時間におけるＷｅｂサービス要求数を計数する手段と、
計数したＷｅｂサービス要求数を前記閾値と比較し、前記閾値以下の場合は前記Ｗｅｂサービス要求を前記第２のＷｅｂサーバに送信する手段と、
前記閾値を越える場合は前記Ｗｅｂサービス要求を保留する手段と、
Ｗｅｂサービス要求を受信する都度、又は前記単位時間に基づき設定されたインターバルタイマからの割り込みの発生する都度、前記第２のサーバの高負荷状態を判定し、高負荷状態から高負荷でない状態への遷移を確認すると、保留したＷｅｂサービス要求の有無を確認し、保留したＷｅｂサービス要求があると保留されたＷｅｂサービス要求のＨＴＴＰヘッダから前記第２のサーバのアドレスを取り外して前記第２のサーバへ送信する手段と、を備えることを特徴とする中継サーバ。
【請求項１７】
コンピュータに、
ＨＴＴＰプロキシを使用する設定を中継サーバに設定した第１のサーバから、ＨＴＴＰヘッダにＷｅｂサービス要求を実行する第２のサーバのアドレスが設定されたＷｅｂサービス要求を受信するステップと、
前記第２のサーバの単位時間に処理可能なＷｅｂサービス要求メッセージ数と前記単位時間長の設定情報を有し、受信したＷｅｂサービス要求のＨＴＴＰヘッダから取り出した前記第２のサーバのアドレスを元に前記第２のサーバ宛の直近の単位時間におけるＷｅｂサービス要求数を計数するステップと、
計数したＷｅｂサービス要求数を前記閾値と比較し、前記閾値以下の場合は前記Ｗｅｂサービス要求を前記第２のＷｅｂサーバに送信するステップと、
前記閾値を越える場合は前記Ｗｅｂサービス要求を保留するステップと、
Ｗｅｂサービス要求を受信する都度、又は前記単位時間に基づき設定されたインターバルタイマからの割り込みの発生する都度、前記第２のサーバの高負荷状態を判定し、高負荷状態から高負荷でない状態への遷移を確認すると、保留したＷｅｂサービス要求の有無を確認し、保留したＷｅｂサービス要求があると保留されたＷｅｂサービス要求のＨＴＴＰヘッダから前記第２のサーバのアドレスを取り外して前記第２のサーバへ送信するステップと、を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のＷｅｂサービス計算機の連携による業務フローの実行に関し、特に、高負荷状態のＷｅｂサービス計算機へのサービス要求を、送信側計算機が要求の送信を控えることによってシステム全体の性能の劣化を防止するＷｅｂサービス要求中継システム、Ｗｅｂサービス要求中継方法、中継サーバ、及びそのプログラムに関する。
【背景技術】
【０００２】
従来、企業のシステム統合は、業務の流れに沿って、経理システム、人事システム、財務会計システムなど、部門ごとに分散した業務アプリケーションやシステムを結合している。このシステム結合は、EAI（Enterprise Application Integration）と呼ばれる機能および製品によって実現している。EAIは、システム間のハブとして、データの連携をシステム間連携を一つの計算機上で集中管理する。このシステムでは、業務アプリケーションやシステムのAPI（Application Program Interface）を呼び出し、システム間連携は密結合なものになっているため、システム間の連携の動作を制御することが容易である。
【０００３】
このシステム結合は、個々のシステム固有のインタフェースに合わせたアダプタによって結合しているため、システム構築は非常に高価なものとなっている。そのため個々のシステムのAPIを標準化した共通インタフェースに揃える取り組みが始まっている。また、システム間のデータの受け渡しを、標準化した共通のメッセージング仕様にそって行う取り組みが始まっている。
【０００４】
この標準化されたメッセージの受け渡しによりシステム間の機能結合度を弱め、システム間を疎結合することが可能となる。このメッセージングの標準仕様には、XMLデータを封筒にしたSOAPメッセージとＷｅｂサービスのインタフェースが使用されてきている。このメッセージングによるシステム構築の利点は、インターネット、イントラネットで通信の標準的なプロトコルであるＨＴＴＰを使用できる点である。
【０００５】
このシステムは、個々のシステムは、ビジネスロジックとデータを保持し、疎結合となる。ビジネスロジックの上で隣接するサービス間の関係のみ判別可能であるため、従来のワークフローシステムのように、ビジネスロジックを集中管理することができない。このような疎結合されたＷｅｂサービス間を管理する仕組みが必要となっている。
【０００６】
従来のＷｅｂサービス管理システムは、複数の計算機上で提供される複数のＷｅｂサービスのサービス内容および稼動状況を管理対象としている。
【０００７】
Ｗｅｂサービスは、サービス定義情報、通信部、サービス実行部、サービス応答メッセージ送信部で構成する。また、サービス定義情報は、サービス内容と、サービス実行のための入力および出力情報を定義する。サービスが一つのサービスで完結せず、他のサービスを利用する場合は、サービス定義情報に他のＷｅｂサービス呼び出しを定義する。図１３に例示するようにＷｅｂサービス管理システムは、このＷｅｂサービスを提供する計算機の位置情報と、そのサービス定義情報を保管するサービス定義情報保管装置で構成する。
【０００８】
このＷｅｂサービス管理システムは、サービス定義情報保管装置からＷｅｂサービスの定義情報を取得する。そのサービス合成計算部において、個々のＷｅｂサービスが隣接したＷｅｂサービスとの紐付けを繰り返すことにより複数のＷｅｂサービスからサービス全体の関係を紐付けし、サービス間のフローを構築する。このフローは、個々のサービスを利用した、特定業務の処理フローとみることができる。
【０００９】
これらのＷｅｂサービスは、各々が完結したサービスを提供するため、Ｗｅｂサービス間の機能的結合度が低く、サービスの独立性が高い。そのため、個々のＷｅｂサービスは、隣接したＷｅｂサービスの処理能力や負荷状況に関わらず、サービス要求を継続する。また、個々のＷｅｂサービスはサービス実行の計算複雑度が異なり、計算機自身のハードウェア能力も多様である。そのため、複数のＷｅｂサービスが連携して一つの処理を行うとき、全体のスループットはスループットの低いサービスに依存する。
【００１０】
このような環境においては、スループットの低いサービスへサービス要求が滞留しやすく負荷が増大するとサービス応答性能が急激に劣化するため、業務フロー全体としての処理性能も同時に急激に劣化する。この急激な性能劣化に対し、従来、負荷分散を行うロードバランサといった装置や、ＴＣＰなどネットワークの下位プロトコルでの通信フロー制御により回避してきた。
【００１１】
例えば、このような例として特許文献１には、以下の内容が記載されている。データ要求送信手段は、クライアントから送信されたデータを受付け、それをサーバ計算機に送信する中継を行う。データ要求送信手段は、単位時間あたりにクライアントから受信したデータ処理要求の回数を積算しそれを閾値と比較する閾値比較手段による比較結果を受取り、計測されたデータ処理要求の回数が閾値出力手段から出力された閾値を下回っていた場合、データ要求受信手段が受取ったデータ要求のパケットを、クライアントが要求するサーバ計算機へ転送し、サーバデータ要求計測手段で計測されたデータ処理要求の回数が閾値を上回っていた場合、データ要求受信手段は、受取ったデータ要求のパケットを保留バッファに保留する。
【００１２】
【特許文献１】特開２００３−２２４６０７（第６−第８ページ、図１）
【発明の開示】
【発明が解決しようとする課題】
【００１３】
前述した特許文献１では、サービスの内容やサービス提供先による制御など、Ｗｅｂサービスを実行する上位レイヤによる論理的な高負荷制御は行えない、という問題がある。
【００１４】
具体的には、本発明のように複数のＷｅｂサービス機能の連携による処理を行う環境下の場合、サービス要求者、サービス提供者がサービス内容によって入れ替わることがある。これまでのサービス要求者がサービス提供者になり、サービス提供者がサービス要求者に代わるということである。特許文献１では、クライアント側からのサーバへの要求数を閾値管理するものであって、両方向の閾値管理をする内容は有していないためこのような状況に対応できないという第１の問題がある。
【００１５】
また、一般的にＷｅｂサービスの機能の拡張に伴い、ＨＴＴＰプロトコルによるサービス要求者、サービス提供者間での不特定機能について、その機能固有の制御情報の受け渡しが発生するが（例えば本発明における高負荷情報の交換等）、下位のプロトコルでは、サービス要求に関するメッセージか制御情報かを識別ができない、または追随しづらいという第２の問題がある。
【００１６】
本発明は、ＨＴＴＰプロトコル通信を行うプロキシサーバに負荷制御手段を設けることで、Ｗｅｂサービス機能本体の改造を伴わずに以上の問題の解決を図ることを特徴とする、Ｗｅｂサービス要求中継システム、Ｗｅｂサービス要求中継方法、中継サーバ、及びそのプログラムを提案するものである。
【課題を解決するための手段】
【００１７】
本発明の第１のＷｅｂサービス要求中継システムは、Ｗｅｂサービス要求の送受信を行う中継手段と、前記中継手段とＴＣＰ／ＩＰ通信による接続をし前記中継手段に対するＨＴＴＰプロキシの設定を有するとともに、前記中継手段の受信したＷｅｂサービス要求を受け取りそれを処理して新たなＷｅｂサービス要求を生成し前記中継手段に送信するＷｅｂサービス実行手段と、をそれぞれ備えた第１と第２のサーバと、前記第１のサーバと、前記第２のサーバと、を接続するネットワークと、を含むＷｅｂサービス要求中継システムであって、  前記第１のサーバの前記中継手段は、前記第１のサーバの前記Ｗｅｂサービス実行手段による前記第２のサーバを宛先とする新たなＷｅｂサービス要求を受信すると、前記新たなサービス要求のＨＴＴＰヘッダから前記第２のサーバのアドレスを認識し前記第２のサーバの前記中継手段からの前記第２のサーバの高負荷通知の有無を確認し、高負荷通知の有る場合前記新たなＷｅｂサービス要求を保留し、高負荷通知の無い場合ＨＴＴＰヘッダから当該アドレスを削除して前記第２のサーバへ送信し、  前記第２のサーバの前記中継手段は、前記新たなＷｅｂサービス要求を受信すると、前記第２のサーバのＷｅｂサービス実行手段の高負荷状態を判定して高負荷の場合、前記第１のサーバの前記中継手段に高負荷通知を送信することを特徴とする。
【００１８】
本発明の第２のＷｅｂサービス要求中継システムは、前記第１のＷｅｂサービス要求中継システムに於いて、前記第２のサーバの前記中継手段は、前記第２のサーバの前記Ｗｅｂサービス実行手段による単位時間におけるＷｅｂサービス要求処理の上限数を定義した閾値と、前記第１のサーバから直近の単位時間に受信した新たなＷｅｂサービス要求数を計数した値とを比較し、前記計数した値が前記閾値を超えると、前記第１のサーバの前記中継手段に高負荷通知をＨＴＴＰプロトコルによって送信し、前記第１のサーバの前記中継手段はそれを受信すると前記第２のサーバの前記中継手段にレスポンスメッセージを送信することを特徴とする。
【００１９】
本発明の第３のＷｅｂサービス要求中継システムは、前記第２のＷｅｂサービス要求中継システムに於いて、前記第２のサーバの前記中継手段は、Ｗｅｂサービス要求を受信する都度、又は前記単位時間に基づき設定されたインターバルタイマからの割り込みの発生する都度、前記第２のサーバの高負荷状態を判定し、高負荷状態から高負荷でない状態に遷移すると、高負荷通知を前記第１のサーバ送信している場合、高負荷の解除通知をＨＴＴＰプロトコルによって前記第１のサーバに送信し、前記第１のサーバの前記中継手段はそれを受信すると前記第２のサーバの前記中継手段にレスポンスメッセージを送信することを特徴とする。
【００２０】
本発明の第４のＷｅｂサービス要求中継システムは、前記第３のＷｅｂサービス要求中継システムに於いて、前記第１のサーバの前記中継手段は、前記第２のサーバから高負荷の解除通知を受信すると、前記第２のサーバ向けの送信を保留された新たなＷｅｂサービス要求があればそれを取り出しＨＴＴＰヘッダから第２のサーバのアドレスを削除して前記第２のサーバへ送信することを特徴とする。
【００２１】
本発明の第５のＷｅｂサービス要求中継システムは、Ｗｅｂサービス要求の送受信を行う中継手段と、前記中継手段とＴＣＰ／ＩＰ通信による接続をし前記中継手段に対するＨＴＴＰプロキシの設定を有するとともに、前記中継手段の受信したＷｅｂサービス要求を受け取りそれを処理して新たなＷｅｂサービス要求を生成し前記中継手段に送信するＷｅｂサービス実行手段と、をそれぞれ備えた第１と第２のサーバと、前記第１のサーバと、前記第２のサーバと、を接続するネットワークと、を含み、前記第１のサーバは前記第２のサーバからのＷｅｂサービス要求を受信して実行し、前記第２のサーバは前記第１のサーバからのＷｅｂサービス要求を受信して実行するＷｅｂサービス要求中継システムであって、  前記第１のサーバの前記中継手段は、前記第１のサーバの前記Ｗｅｂサービス実行手段による前記第２のサーバを宛先とする新たなＷｅｂサービス要求を受信すると、前記新たなサービス要求のＨＴＴＰヘッダから前記第２のサーバのアドレスを認識し前記第２のサーバの前記中継手段からの前記第２のサーバの高負荷通知の有無を確認し、高負荷通知の有る場合前記新たなＷｅｂサービス要求を保留し、高負荷通知の無い場合ＨＴＴＰヘッダから当該アドレスを削除して前記第２のサーバへ送信し、  前記第２のサーバの前記中継手段は、前記新たなＷｅｂサービス要求を受信すると、前記第２のサーバのＷｅｂサービス実行手段の高負荷状態を判定して高負荷の場合、前記第１のサーバの前記中継手段に高負荷通知を送信し、  前記第２のサーバの前記中継手段は、前記第２のサーバの前記Ｗｅｂサービス実行手段による前記第１のサーバを宛先とする新たなＷｅｂサービス要求を受信すると、前記新たなサービス要求のＨＴＴＰヘッダから前記第１のサーバのアドレスを認識し前記第１のサーバの前記中継手段からの前記第１のサーバの高負荷通知の有無を確認し、高負荷通知の有る場合前記新たなＷｅｂサービス要求を保留し、高負荷通知の無い場合ＨＴＴＰヘッダから当該アドレスを削除して前記第１のサーバへ送信し、  前記第１のサーバの前記中継手段は、前記新たなＷｅｂサービス要求を受信すると、前記第１のサーバのＷｅｂサービス実行手段の高負荷状態を判定して高負荷の場合、前記第２のサーバの前記中継手段に高負荷通知を送信することを特徴とする。
【００２２】
本発明の第６のＷｅｂサービス要求中継システムは、Ｗｅｂサービス要求の送受信を行う中継手段と、前記中継手段とＴＣＰ／ＩＰ通信による接続をし前記中継手段に対するＨＴＴＰプロキシの設定を有するとともに、前記中継手段の受信したＷｅｂサービス要求を受け取りそれを処理して新たなＷｅｂサービス要求を生成し前記中継手段に送信するＷｅｂサービス実行手段と、をそれぞれ備えた第１と第２のサーバと、前記中継手段を備えず受信したＷｅｂサービス要求を処理して新たなＷｅｂサービス要求を生成するＷｅｂサービス実行手段を備えた第３のサーバと、前記第１のサーバと、前記第２のサーバと、前記第３のサーバと、を接続するネットワークと、を含み、前記第１のサーバ又は前記第３のサーバから前記第２のサーバへ前記新たなＷｅｂサービス要求を送信するＷｅｂサービス要求中継システムであって、  前記第１のサーバの前記中継手段は、前記第１のサーバの前記Ｗｅｂサービス実行手段による新たなＷｅｂサービス要求を受信すると、ＨＴＴＰヘッダから前記第２のサーバのアドレスを認識し前記第２のサーバの前記中継手段からの前記第２のサーバの高負荷通知の有無を確認し、高負荷通知の有る場合前記新たなＷｅｂサービス要求を保留し、高負荷通知の無い場合ＨＴＴＰヘッダから当該アドレスを削除して前記第２のサーバへ送信し、  前記第２のサーバの前記中継手段は、前記新たなＷｅｂサービス要求を受信すると、前記第２のサーバのＷｅｂサービス実行手段の高負荷状態を判定して高負荷の場合、前記第１のサーバの前記中継手段に高負荷通知を送信することを特徴とする。
【００２３】
本発明の第７のＷｅｂサービス要求中継システムは、前記第６のＷｅｂサービス要求中継システムに於いて、前記第２のサーバの前記中継手段は、前記第３のサーバへのＨＴＴＰプロトコルによる高負荷を通知するリクエストメッセージの送信後、前記第３のサーバからのレスポンスメッセージの受信有無を確認し、レスポンスメッセージを受信しない前記第３のサーバは前記中継手段を有さないと認識し、以降発生する高負荷解除通知を前記第３のサーバには送信しないことを特徴とする。
【００２４】
本発明の第８のＷｅｂサービス要求中継システムは、前記第７のＷｅｂサービス要求中継システムに於いて、前記第２のサーバの前記中継手段は、前記第３のサーバが中継手段を有していないことを認識すると、前記第２のサーバが高負荷の場合において、前記第３のサーバから受信した新たなＷｅｂサービス要求に対する処理結果の送信を前記第３のサーバへ行う場合、予め設定された時間遅延して送信することを特徴とする。
【００２５】
本発明の第９のＷｅｂサービス要求中継システムは、Ｗｅｂサービス要求を送信する処理と受信したＷｅｂサービス要求を実行する処理を備えた第１と第２のサーバと、Ｗｅｂサービス要求を中継する中継サーバと、前記各サーバを接続するネットワークと、を含むＷｅｂサービス要求中継システムにおいて、  前記第１のサーバは、前記中継サーバに対するＨＴＴＰプロキシを使用する設定を有し、Ｗｅｂサービス要求の送信時、ＨＴＴＰヘッダに前記第２のサーバのアドレスを設定して送信を行い、  前記中継サーバは、前記第２のサーバの単位時間に処理可能なＷｅｂサービス要求メッセージ数と前記単位時間長の設定情報を有し、前記第１のサーバから受信したＷｅｂサービス要求のＨＴＴＰヘッダから取り出した前記第２のサーバのアドレスを元に前記第２のサーバ宛の直近の単位時間におけるＷｅｂサービス要求数を計数し、計数したＷｅｂサービス要求数を前記閾値と比較し、前記閾値以下の場合は前記Ｗｅｂサービス要求を送信し、前記閾値を越える場合は前記第２のサーバは高負荷状態と判断して前記Ｗｅｂサービス要求を保留することを特徴とする。
【００２６】
本発明の第１０のＷｅｂサービス要求中継システムは、前記第９のＷｅｂサービス要求中継システムに於いて、前記中継サーバは、受信したＷｅｂサービス要求のＨＴＴＰヘッダから取り出した前記第２のサーバのアドレスを元にアドレス別に前記保留したＷｅｂサービス要求を時系列に従って記憶することを特徴とする。
【００２７】
本発明の第１１のＷｅｂサービス要求中継システムは、前記第９のＷｅｂサービス要求中継システムに於いて、前記中継サーバは、Ｗｅｂサービス要求を受信する都度、又は前記単位時間に基づき設定されたインターバルタイマからの割り込みの発生する都度、前記第２のサーバの高負荷状態を判定し、高負荷状態ではない場合、保留したＷｅｂサービス要求の有無を確認し、保留したＷｅｂサービス要求があると保留されたＷｅｂサービス要求のＨＴＴＰヘッダから前記第２のサーバのアドレスを取り外して前記第２のサーバへ送信することを特徴とする。
【００２８】
本発明の第１２のＷｅｂサービス要求中継システムは、前記第９のＷｅｂサービス要求中継システムに於いて、前記中継サーバは、前記第１のサーバのプロキシサーバとして設定され、前記第２のサーバへの前記Ｗｅｂサービス要求の送信数の抑制による高負荷制御手段を有することを特徴とする。
【００２９】
本発明の第１３のＷｅｂサービス要求中継システムは、前記第９のＷｅｂサービス要求中継システムに於いて、前記第２のサーバが前記第１のサーバにＷｅｂサービス要求を送信し前記第１のサーバはそれを受信して実行するに際し、前記中継サーバは、前記第２のサーバのプロキシサーバと設定され、前記第１のサーバの単位時間に処理可能なＷｅｂサービス要求メッセージ数と前記単位時間長の設定情報を備えることにより、前記中継サーバは、前記第２のサーバへの前記Ｗｅｂサービス要求の送信数の制御による高負荷制御手段をさらに有することを特徴とする。
【００３０】
本発明の第１のＷｅｂサービス要求中継方法は、Ｗｅｂサービス要求を送信する処理と受信したＷｅｂサービス要求を実行する処理を備えた第１と第２のサーバと、Ｗｅｂサービス要求を中継する中継サーバと、前記各サーバを接続するネットワークを含むＷｅｂサービスシステムにおけるＷｅｂサービス要求中継方法であって、  前記第１のサーバは、前記中継サーバに対するＨＴＴＰプロキシを使用する設定を有し、Ｗｅｂサービス要求の送信時、ＨＴＴＰヘッダに前記第２のサーバのアドレスを設定して前記中継サーバに送信を行うステップと、  前記中継サーバは、前記第２のサーバの単位時間に処理可能なＷｅｂサービス要求メッセージ数と前記単位時間長の設定情報を有し、受信したＷｅｂサービス要求のＨＴＴＰヘッダから取り出した前記第２のサーバのアドレスを元に前記第２のサーバ宛の直近の単位時間におけるＷｅｂサービス要求数を計数するステップと、  前記中継サーバは、計数したＷｅｂサービス要求数を前記閾値と比較し、前記閾値以下の場合は前記Ｗｅｂサービス要求を送信するステップと、  前記中継サーバは、前記閾値を越える場合は前記Ｗｅｂサービス要求を保留するステップと、  前記中継サーバは、Ｗｅｂサービス要求を受信する都度、又は前記単位時間に基づき設定されたインターバルタイマからの割り込みの発生する都度、前記第２のサーバの高負荷状態を判定し、高負荷状態から高負荷でない状態への遷移を確認すると、保留したＷｅｂサービス要求の有無を確認し、保留したＷｅｂサービス要求があると保留されたＷｅｂサービス要求のＨＴＴＰヘッダから前記第２のサーバのアドレスを取り外して前記第２のサーバへ送信するステップと、  を備えることを特徴とする。
【００３１】
本発明の第２のＷｅｂサービス要求中継方法は、Ｗｅｂサービス要求の送受信を行う中継手段と、前記中継手段とＴＣＰ／ＩＰ通信による接続をし前記中継手段に対するＨＴＴＰプロキシの設定を有するとともに、前記中継手段の受信したＷｅｂサービス要求を受け取りそれを処理して新たなＷｅｂサービス要求を生成し前記中継手段に送信するＷｅｂサービス実行手段と、をそれぞれ備えた第１と第２のサーバと、前記第１のサーバと、前記第２のサーバと、を接続するネットワークと、を含むＷｅｂサービスシステムにおけるＷｅｂサービス要求中継方法であって、  前記第１のサーバの前記中継手段は、受信したＷｅｂサービス要求を第１のサーバの前記Ｗｅｂサービス実行手段にＴＣＰ／ＩＰ通信で送信する第１のステップと、  前記第１のサーバの前記Ｗｅｂサービス実行手段は、受信したＷｅｂサービス要求を処理して新たなＷｅｂサービス要求を生成し、ＨＴＴＰヘッダの宛先に前記第２のサーバのアドレスを設定して前記第１のサーバの前記中継手段に送信するステップと、  前記第１のサーバの前記中継手段は、前記新たなＷｅｂサービス要求を受信するとＨＴＴＰヘッダの宛先の前記第２のサーバのアドレスを元に前記第２のサーバが高負荷か否かを判定するステップと、  前記第１のサーバの前記中継手段は、前記第２のサーバが高負荷である場合、前記新たなＷｅｂサービス要求を前記第２のサーバのアドレスを元に保留するステップと、  前記第１のサーバの前記中継手段は、前記第２のサーバが高負荷でない場合、前記新たなＷｅｂサービスのＨＴＴＰヘッダから第２のサーバのアドレスを削除してこれを前記第２のサーバへ送信するステップと、  前記第２のサーバの前記中継手段は、前記新たなＷｅｂサービス要求を受信すると、前記第２のサーバの前記Ｗｅｂサービス実行手段の高負荷状態を判定するステップと、  前記第２のサーバの前記中継手段は、前記Ｗｅｂサービス実行手段が高負荷であると判定すると、前記第１のサーバの前記中継手段に高負荷の通知をＨＴＴＰプロトコルによって送信するステップと、  前記第２のサーバの前記中継手段は、高負荷状態の判定の結果、高負荷状態から高負荷でない状態への遷移を確認すると、前記第１のサーバの前記中継手段に高負荷の解除の通知をＨＴＴＰプロトコルによって送信するステップと、  前記第１のサーバの前記中継手段は、前記第２のサーバから高負荷通知を受信すると、前記第２のサーバは高負荷状態に有るとして記憶し、高負荷の解除の通知を受信すると、前記第２のサーバのアドレスを元に保留した前記新たなＷｅｂサービス要求の有無を確認し、有る場合、前記新たなＷｅｂサービス要求のＨＴＴＰヘッダから前記第２のサーバのアドレスを削除して前記第２のサーバに送信するステップと、  を備えることを特徴とする。
【００３２】
本発明の中継サーバは、ＨＴＴＰプロキシを使用する設定を中継サーバに設定した第１のサーバから、ＨＴＴＰヘッダにＷｅｂサービス要求を実行する第２のサーバのアドレスが設定されたＷｅｂサービス要求を受信する手段と、  前記第２のサーバの単位時間に処理可能なＷｅｂサービス要求メッセージ数と前記単位時間長の設定情報を有し、受信したＷｅｂサービス要求のＨＴＴＰヘッダから取り出した前記第２のサーバのアドレスを元に前記第２のサーバ宛の直近の単位時間におけるＷｅｂサービス要求数を計数する手段と、  計数したＷｅｂサービス要求数を前記閾値と比較し、前記閾値以下の場合は前記Ｗｅｂサービス要求を前記第２のＷｅｂサーバに送信する手段と、  前記閾値を越える場合は前記Ｗｅｂサービス要求を保留する手段と、  Ｗｅｂサービス要求を受信する都度、又は前記単位時間に基づき設定されたインターバルタイマからの割り込みの発生する都度、前記第２のサーバの高負荷状態を判定し、高負荷状態から高負荷でない状態への遷移を確認すると、保留したＷｅｂサービス要求の有無を確認し、保留したＷｅｂサービス要求があると保留されたＷｅｂサービス要求のＨＴＴＰヘッダから前記第２のサーバのアドレスを取り外して前記第２のサーバへ送信する手段と、を備えることを特徴とする。
【００３３】
本発明のプログラムは、コンピュータに、  ＨＴＴＰプロキシを使用する設定を中継サーバに設定した第１のサーバから、ＨＴＴＰヘッダにＷｅｂサービス要求を実行する第２のサーバのアドレスが設定されたＷｅｂサービス要求を受信するステップと、  前記第２のサーバの単位時間に処理可能なＷｅｂサービス要求メッセージ数と前記単位時間長の設定情報を有し、受信したＷｅｂサービス要求のＨＴＴＰヘッダから取り出した前記第２のサーバのアドレスを元に前記第２のサーバ宛の直近の単位時間におけるＷｅｂサービス要求数を計数するステップと、  計数したＷｅｂサービス要求数を前記閾値と比較し、前記閾値以下の場合は前記Ｗｅｂサービス要求を前記第２のＷｅｂサーバに送信するステップと、  前記閾値を越える場合は前記Ｗｅｂサービス要求を保留するステップと、  Ｗｅｂサービス要求を受信する都度、又は前記単位時間に基づき設定されたインターバルタイマからの割り込みの発生する都度、前記第２のサーバの高負荷状態を判定し、高負荷状態から高負荷でない状態への遷移を確認すると、保留したＷｅｂサービス要求の有無を確認し、保留したＷｅｂサービス要求があると保留されたＷｅｂサービス要求のＨＴＴＰヘッダから前記第２のサーバのアドレスを取り外して前記第２のサーバへ送信するステップと、を実行させることを特徴とする。
【発明の効果】
【００３４】
第１の効果は、複数のＷｅｂサービスの負荷を均一に保ち、局所的なサービス処理実行の極端な性能劣化がサービス全体の隘路（ボトルネック）になることを防ぐことにある。
【００３５】
そのため、特定のサービスへの負荷が一定量を超えると処理性能が急激に劣化するサービスに対し、サービス要求側が自主的にその要求を抑制する。具体的には、その回避をする通信遅延手段を、高負荷となったサービス要求を受信する計算機ではなく、サービス要求を送信する計算機で行うことにより、高負荷となった計算機ではサービス間通信制御装置の導入による処理負荷が増えないようにできることである。
【発明を実施するための最良の形態】
【００３６】
次に、本発明を実施するための最良の形態について図面を参照して詳細に説明する。
【００３７】
本発明の第１の実施例は、図１を参照すると、複数のＷｅｂサーバ１０と、１台のサービス管理装置２０と、Ｗｅｂサーバ１０にサービスを依頼するパーソナルコンピュータ等のクライアント装置３０と、Ｗｅｂサーバ１０とサービス管理装置２０とクライアント装置３０とを接続するインターネットを含むネットワーク４０と、から構成される。Ｗｅｂサーバ１０とサービス管理装置２０とクライアント３０は、何れも計算機である。
【００３８】
本発明では、Ｗｅｂサービス管理システムが、複数のＷｅｂサーバ１０の局所的な高負荷状態の発生を抑制し、また、局所的なサービスの停止が全体のシステムの停止とならないように制御する。そのために、Ｗｅｂサービス管理システムに中継装置１１を導入し、Ｗｅｂサーバ１０間の通信フローを制御する。
【００３９】
Ｗｅｂサービス管理システムは、Ｗｅｂサーバ１０で動作する中継装置１１と、サービス管理装置２０と、から構成され、複数のＷｅｂサーバ１０の提供する各サービス内容および稼動状況を管理する。
【００４０】
サービス管理装置２０は、サービス合成計算部２１と、Ｗｅｂサーバ１０の負荷情報を記憶する運用情報記憶部２２と、このサービスを提供するＷｅｂサーバ１０の位置情報とそのサービス定義情報を保管するサービス定義情報保管装置２３と、から構成される。運用情報記憶部２２とサービス定義情報保管装置２３は、磁気ディスク装置等からなるサービス管理装置２０に接続された記憶装置である。
【００４１】
Ｗｅｂサーバ１０は、各Ｗｅｂサーバ１０の自身が担当する、例えば受注システム等の業務について、その業務名、業務を一意に識別する業務識別子、業務の依頼元Ｗｅｂサービス名、業務の依頼先Ｗｅｂサービス名、応答／転送種別等を含む情報を記憶する。１つの業務は、１以上のＷｅｂサーバ１０の連携によって実行されるが、各Ｗｅｂサーバ１０は、その業務フロー全体における自分の担当する部分についての情報を記憶する。
【００４２】
サービス管理装置２０は、各Ｗｅｂサーバ１０の担当するそれぞれの業務について、Ｗｅｂサーバ１０から予め業務フローにおける各Ｗｅｂサーバ１０の担当する情報を受信している。サービス管理装置２０は、受信した業務フローの担当部分情報をサービス定義情報保管装置２３に業務別、送信したＷｅｂサーバ１０別に記憶する。
【００４３】
例えば、１つの業務フローとして受注システムを捉えた場合、受注システムは、オーダー管理（身元確認、内容妥当性確認）、在庫管理（在庫確認、発注分の減算）、配送管理（配送伝票作成、配送車分配）など、幾つかの機能（＝Ｗｅｂサービス）から構成されている。この場合、オーダー管理 → 在庫管理 → 配送管理 といったＷｅｂサーバ１０間のメッセージの流れが受注システムの中で予め決められ、各Ｗｅｂサーバ１０内で次のＷｅｂサーバ１０へ転送する処理が記述されるということになる。
【００４４】
サービス管理装置２０は、関連するＷｅｂサーバ１０から業務フロー情報の収集を終えると、収集されたＷｅｂサーバ１０の定義情報をサービス定義情報保管装置２３から読み込む。サービス管理装置２０のサービス合成計算部２１において、個々のＷｅｂサーバ１０がサービス的に隣接したＷｅｂサーバ１０と連携して１つのサービスを実行する場合、その紐付けを繰り返すことにより個々のＷｅｂサーバ１０の担当する部分情報からサービス全体の関係を紐付けし、Ｗｅｂサーバ１０全体の間の業務フローを構築する。このフローは、個々のＷｅｂサーバ１０を利用した、特定業務の処理フローとみることができる。
【００４５】
Ｗｅｂサーバ１０は、中継装置１１と，Ｗｅｂサービス１２と、サービス定義情報１５と、から構成される。Ｗｅｂサービス１２は、通信部１３と、サービス実行部１４と、から構成される。また、サービス定義情報１５は、前述したように、サービス内容と、サービス実行のための入力および出力情報を定義する。
【００４６】
サービス定義情報１５は、業務サービスがあるＷｅｂサービス１２によって完結する応答処理か、業務サービスが一つのＷｅｂサーバ１０の処理で完結せず、他のＷｅｂサーバ１０を引き続き利用する転送処理かの区別や、転送処理の場合は、他のＷｅｂサーバ１０の呼び出しとその引数とを定義する。
【００４７】
中継装置１１は、Ｗｅｂサービス１２と同じ計算機上に実装されていて、メッセージ受信部１１０と、メッセージ送信部１１１と、サービス情報解析部１１２と、メッセージ保管部１１３と、送信先保管部１１４と、サービス情報記憶部１１５と、から構成され、ポート番号の定義されたプロキシサーバとして動作するアプリケーションプログラムである。
【００４８】
Ｗｅｂサーバ１０の機能は、計算機上で動作する複数のソフトウェアプログラムによって実行される。
【００４９】
Ｗｅｂサービスの要求元の中継装置１１は、Ｗｅｂサービス要求先のＷｅｂサーバ１０の中継装置１１から当該Ｗｅｂサーバ１０の負荷情報を受信する。負荷情報には単位時間あたりに処理可能なＷｅｂサービス要求メッセージ数の上限を超えた高負荷状態である内容を含む。この負荷情報によってＷｅｂサービス要求先が高負荷の通知を受けたＷｅｂサービス要求元の中継装置１１は、高負荷のＷｅｂサーバ１０への送信を抑制する。このＷｅｂサーバ１０間の通信フローの制御により、複数のＷｅｂサーバ１０の処理を平準化した全体システムの運用が可能となる。
【００５０】
Ｗｅｂサービス要求元の中継装置１１は、高負荷となったＷｅｂサービス要求先のＷｅｂサーバ１０へのＷｅｂサービス要求メッセージについて、その分解、保管、再構築および送信を行うことによって、送信遅延を行い通信フローを制御する。
【００５１】
中継装置１１は、あるＷｅｂサーバ１０から別のＷｅｂサーバ１０へのＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）リクエストを中継する。このとき、ＨＴＴＰプロトコルの通信はＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）接続の上に成り立つため、通常のＨＴＴＰリクエストのヘッダ情報には、宛先の計算機のアドレス情報は含まれない。しかし、ＨＴＴＰを利用したプログラムに標準的に用意されたＨＴＴＰプロキシを使用する設定をＷｅｂサービス１２の通信部１３に対して行うと、Ｗｅｂサービス１２から同じ計算機上の中継装置１１へ渡るメッセージのＨＴＴＰリクエストヘッダに宛先情報を埋めこむことができる。中継装置１１はこの宛先情報を参照し宛先のＷｅｂサーバ１０を識別して、宛先のＷｅｂサーバ１０が高負荷か否かを判断することが可能となる。
【００５２】
以上を整理すると図１２のようになる。
【００５３】
図１２では、サーバ（Ｂ）からサーバ（Ａ）へＷｅｂサービス要求メッセージを送信するとする。
中継装置導入後では、サーバ（Ｂ）のＷｅｂサービスから同じサーバ（Ｂ）の中継装置に送信されるメッセージのプロトコルヘッダにはサーバ（Ａ）のアドレスが
HTTPヘッダ：POST http://abc/...のように記載される。これにより中継装置は宛先のサーバのアドレスを知ることができる。サーバ（Ｂ）の中継装置は、HTTPヘッダのhttp://abc/...を元にサーバ（Ａ）のabcにTCP接続し通常のPOSTを送信する。
【００５４】
これにより、中継装置１１は、Ｗｅｂサービス要求先のＷｅｂサーバ１０から高負荷の通知を受信していて要求先が高負荷の場合、Ｗｅｂサービス要求先についての送信メッセージの分解、一時蓄積、高負荷解除時の分解したメッセージの再構築と送信が可能となる。尚、既存のＷｅｂサービスと本発明の内容との整合性を図るために、中継装置１１のポート番号は、既存のＷｅｂサービスに定義されたポート番号を使用し、Ｗｅｂサービス１２の既存のポート番号を別の番号に変更する。同じＷｅｂサーバ１０上の中継装置１１とＷｅｂサービス１２間のメッセージの送受信は、それぞれに外付けで定義されたポート番号を使用するＴＣＰ／ＩＰの通信によって実行される。
【００５５】
以上のように実装することで、中継装置１１は、Ｗｅｂサービス１２に外付けする機構であるため、既存のＷｅｂサービスおよびＷｅｂサービス間の通信プロトコルを透過的に使用することを可能とする。Ｗｅｂサービス１２は、既存のＷｅｂサービス１２の機能に手を加えて改変することなしに、サービス間通信制御装置の導入後も透過的にサービスを提供できるという効果を有する。
【００５６】
中継装置１１は、このＨＴＴＰリクエストのヘッダの宛先の計算機のアドレスの解析結果に従ってＷｅｂサービス要求メッセージを分解し、Ｗｅｂサーバ１０の宛先別にヘッダ情報を記憶する送信先保管部１１４と、それにリンクされたメッセージの本体を記憶するメッセージ保管部１１３と、を持つことで複数のＷｅｂサービス要求メッセージをキューイングして宛先別に蓄積する。
【００５７】
宛先の計算機の高負荷が解除すると、中継装置１１は、一時蓄積した送信先保管部１１４とメッセージ保管部１１３の情報から宛先の計算機のＩＰアドレス、ＵＲＬ、メッセージ本体を取り出し、再度、完全なＨＴＴＰリクエストを組み立てることが可能となり、通信を再開することができる。これにより中継装置１１は高負荷の中継装置１１へのサービス要求を、一定のサービス要求数を越えないように制御することができる。
【００５８】
また、Ｗｅｂサーバ１０全体を管理するサービス管理装置２０は、中継装置１１の保有する負荷情報を取得し、記録することで、特定の時点の負荷状況を精緻に管理することができる。
【００５９】
尚、クライアント装置３０は、ブラウザからサービス管理装置２０にアクセスして事前に各Ｗｅｂサーバ１０の負荷状態をチェックし、高負荷状態でない場合に、Ｗｅｂサービス要求メッセージを送信するようにできる。
【００６０】
次に、本発明を実施するための最良の形態の動作について図面を参照して説明する。
【００６１】
複数のＷｅｂサービスから構成される場合について図７と、図２のフローチャートを参照して説明する。この場合、メッセージは複数のサービス間で処理されるため、サービス間の応答は、断りの無い場合、非同期としている。
【００６２】
最初にＷｅｂサーバ１０のサービス提供側の設定について説明する。
【００６３】
Ｗｅｂサービス提供者は、中継装置１１に、Ｗｅｂサーバ１０のサービス実行部１４が単位時間あたりに処理可能なサービス要求数の上限値を第１の閾値として、また第１の閾値を超えるサービス要求数を受信後、ある値以下にサービス要求数が低下すると高負荷状態から通常状態に復帰する第２の閾値とを設定する。単位時間の時間長は、秒、分等の単位を使用して設定する。以上から第１の閾値＞第２の閾値の関係がある。
【００６４】
さらに、Ｗｅｂサービス提供者は、サービス管理装置２０のＩＰアドレスとポート番号の設定も行う（ステップＳ１）。設定操作には、Ｗｅｂサーバ１０に接続された図示しないキーボード、ディスプレイ等の入力装置、表示装置を使用する。このように設定された閾値と単位時間長等の情報は、Ｗｅｂサーバ１０に接続された磁気ディスク装置等のサービス情報記憶部１１５に記憶される。
【００６５】
また、Ｗｅｂサービス提供者は、当該Ｗｅｂサーバ１０が提供するサービスの内容の登録を磁気ディスク装置等のサービス定義情報１５に対して行う（ステップＳ２）。
【００６６】
さらに、Ｗｅｂサービス提供者は、入力装置、表示装置を使用してＷｅｂサービス１２に対してＨＴＴＰプロキシの利用設定を行い、ＩＰアドレスおよびポート番号をその実行環境に設定する（ステップＳ３）。
【００６７】
これにより、ＨＴＴＰプロトコルによるＷｅｂサーバ１０が送受信するメッセージは、全て中継装置１１を経由することになる。尚、中継装置１１の持つポート番号は、Ｗｅｂサービス１２のこれまで使用していたポート番号を設定し、Ｗｅｂサービス１２には別のポート番号を割り当てる。
【００６８】
中継装置１１は、サービス定義情報１５から自Ｗｅｂサービス１２の担当するサービス内容を取り込み、これをＨＴＴＰメッセージとしてサービス管理装置２０のＩＰアドレスとポート番号を使用してサービス管理装置２０に送信する（ステップＳ４）。
【００６９】
サービス管理装置２０では、受信したサービス定義情報１５をサービス定義情報保管装置２３に記憶する。サービス管理装置２０のサービス合成計算部２１は、関連するＷｅｂサーバ１０からサービス定義情報１５を受信すると、各業務ごとに各Ｗｅｂサーバ１０から提供を受けたサービス定義情報１５を合成し、複数のＷｅｂサーバ１０にまたがる全体の業務フローを作成し、サービス定義情報保管装置２３に記憶する。
【００７０】
全体の業務フローは管理者等の必要に応じてサービス管理装置２０の表示装置に表示されるので、内容を参照する事ができる。
【００７１】
以上のような設定が行われた後のサービス提供側の動作を図７も併せて参照して説明する。
【００７２】
図７を簡単に説明すると、Ｗｅｂサーバ１０Ｃは、中継装置１１Ｃを有して、中継装置１１Ａを有するＷｅｂサーバ１０ＡにＷｅｂサービス要求を送信する。中継装置１１を有さないＷｅｂサーバ１０Ｄも、Ｗｅｂサービス要求をＷｅｂサーバ１０Ａに送信する。Ｗｅｂサーバ１０Ａは、Ｗｅｂサーバ１０Ｃからのサービス要求を受付け、自分が担当するサービス実行を終了すると、引き続き次のサービス実行要求を中継装置１１Ｂを備えるＷｅｂサーバ１０Ｂに行う。Ｗｅｂサーバ１０Ｂは、Ｗｅｂサーバ１０Ａからのサービス実行要求を受付け、自身に定義されたサービス処理を実行する。
【００７３】
以降、図３のフローチャートを参照して説明する。
【００７４】
Ｗｅｂサーバ１０Ａの中継装置１１Ａは、立ち上げが行われるとサービス情報記憶部１１５から先に設定された第１の閾値と第２の閾値と単位時間等の設定情報を取り出し中継装置１１Ａ自身の主記憶メモリに記憶する（ステップＳ５）。
【００７５】
中継装置１１Ａは、サービス管理装置２０にＨＴＴＰメッセージによって、Ｗｅｂサーバ１０によるサービスの開始をイベント種別とし、第１と第２の閾値と単位時間とを含む情報を送信する（ステップＳ６）。
【００７６】
サービス管理装置２０は、当該情報を受信すると、運用情報記憶部２２のＷｅｂサーバ１０Ａに関する記憶部に受信した時刻とともに書き込む（ステップＳ７）。
【００７７】
中継装置１１Ａのサービス情報解析部１１２は、単位時間あたりに受信するサービス要求メッセージ数をカウントするための主記憶メモリの受信メッセージ記憶域と高負荷判定フラグを０クリアする（ステップＳ８）。
【００７８】
受信メッセージ記憶域には、サービス要求メッセージを受信した時分秒等による時刻とそのメッセージ送信元のＩＰアドレスを１エントリの情報として、サービス要求メッセージを受信の都度、その先頭位置から受信時刻順に逐次記憶されていく。受信メッセージ記憶域の最終位置まで記憶が行われると、受信メッセージ記憶域の先頭位置に復帰して循環式に記憶が行われる。受信メッセージ記憶域は、単位時間に受信が予想される最大数のメッセージについての全エントリを記憶できるサイズを有するものとする。
【００７９】
Ｗｅｂサーバ１０Ｃは、Ｗｅｂサービス要求メッセージをＷｅｂサーバ１０Ａに適時送信する（ステップＳ９）。また、中継装置機能を持たないＷｅｂサーバ１０ＤもＷｅｂサービス要求メッセージをＷｅｂサーバ１０Ａに適時送信する（ステップＳ９）。
【００８０】
中継装置１１Ａのメッセージ受信部１１０は、Ｗｅｂサーバ１０ＣやＷｅｂサーバ１０Ｄからサービス要求メッセージを受信する（ステップＳ１０）。メッセージ受信部１１０は、受信したサービス要求メッセージをメッセージ送信部１１１に渡す。メッセージ送信部１１１は、渡されたメッセージをＷｅｂサービス１２にＷｅｂサービス１２のポート番号を使用してＴＣＰ／ＩＰにより送信する（ステップＳ１１）。メッセージ送信部１１１は、このＷｅｂサービス１２にメッセージを送信した時刻を最終送信時刻として記憶する。
【００８１】
同時に、中継装置１１Ａのメッセージ受信部１１０は、Ｗｅｂサーバ１０Ｃからメッセージを受信すると、受信した時刻を取得し、ＴＣＰ／ＩＰ機能から取り出したメッセージの送信元のＩＰアドレスとともにエントリを生成し、受信メッセージ記憶域における直前に受信したメッセージが記憶されている位置の次の位置に当該エントリを記憶する（ステップＳ１２）。
【００８２】
次に、現在時刻から単位時間遡った時刻と、現在時刻までの間に受信したメッセージ数を受信メッセージ記憶域に記憶された各エントリの時刻を参照して計数し、単位時間あたりの受信メッセージ数を求める（ステップＳ１３）。
【００８３】
次に、現在の状態が通常状態か、高負荷状態状態かを高負荷判定フラグによって判別する（ステップＳ１４）。高負荷状態であれば、単位時間あたりの受信メッセージ数を第２の閾値と比較する（ステップＳ１５）。比較の結果第２の閾値以下の場合は、高負荷状態から通常状態に復帰したと判断し、（ステップＳ４０）にジャンプする。第２の閾値を超える場合は、まだ高負荷状態が継続していると判断して（ステップＳ３１）にジャンプする。
【００８４】
（ステップＳ１４）の判定の結果、通常状態であれば計数した値を第１の閾値と比較する（ステップＳ１６）。この比較の結果、計数した値が第１の閾値以下の場合は、通常状態としてメッセージの受信待ち状態に入る。
【００８５】
計数した値が第１の閾値を超える場合は、高負荷判定フラグをオンとして（ステップＳ１７）、（ステップＳ３１）にジャンプする。
【００８６】
以降、図４のフローチャートを参照して説明する。
【００８７】
（ステップＳ１１）において中継装置１１Ａから送信されたメッセージは、Ｗｅｂサービス１２Ａによって受信される。Ｗｅｂサービス１２Ａのサービス実行部１４は、通信部１３から受け取ったサービス要求メッセージの本体中の、例えば先頭等に記載された業務識別子を取り出し、予めサービス定義情報１５から取り出した業務識別子と比較する。
【００８８】
図８の（ａ）にこのサービス定義情報１５の定義情報を例示するが、これによると、業務識別子と引数の数、各引数のデータ形式の定義情報等から構成されている。サービス実行部１４は比較の結果、一致した業務識別子をもつサービス定義情報１５から引数の数、各引数のデータ形式情報を取り出しこれをもとに、Ｗｅｂサービス要求メッセージの本体情報を解析してこのＷｅｂサービス要求メッセージについての処理を実行する（ステップＳ１８）。
【００８９】
サービス実行部１４は、サービス処理中に図８の（ｂ）に例示する応答または転送時のサービス定義情報１５からサービスメッセージ中の業務識別子と一致するものを検索する。転送の場合のサービス定義情報１５は、転送／応答種別（この場合は転送）、転送先のＷｅｂサービス識別子、引数の数、各引数のデータ形式から構成されている。応答の場合のサービス定義情報は、転送／応答種別（この場合は応答）、正常／異常種別、応答値の数、各応答値のデータ形式から構成されている。
【００９０】
サービス実行部１４は、業務識別子が一致する定義情報を検索し、検索されたサービス定義情報１５が規定する形式に従って結果を生成する（ステップＳ１９）。サービス実行部１４は、生成した結果を通信部１３に渡す。通信部１３は、検索されたサービス定義情報１５に従ってサービス要求者に応答するのか他のＷｅｂサーバ１０に転送するかを決定し（ステップＳ２０）、それに従って通信部１３は、転送先や応答先についてＨＴＴＰヘッダの宛先情報を生成し（この説明の場合、転送先のＷｅｂサーバ１０をＷｅｂサーバ１０Ｂとする）、サービス実行部１４の作成したメッセージ本体にこれを付加する（ステップＳ２１）。このようにして生成した情報を中継装置１１ＡにＴＣＰ／ＩＰ通信によって送信する（ステップＳ２２）。
【００９１】
中継装置１１Ａのメッセージ送信部１１１は、Ｗｅｂサービス１２により作成されたＨＴＴＰヘッダの宛先情報から送信先のＷｅｂサーバ１０を求める（ステップＳ２３）。
【００９２】
決定した送信先をもとに高負荷通知先テーブルを参照し、送信先が登録されているか確認する（ステップＳ２４）。登録されている場合、当該送信先が中継装置機能を有しているか否かをチェックする（ステップＳ２５）。もし、中継装置機能を有していないＷｅｂサーバ１０Ｄの場合は、設定された送信遅延時間の遅延を行う（ステップＳ２６）。この送信遅延時間もＷｅｂサービス提供者によってサービス情報記憶部１１５に登録をしておくことができる。
【００９３】
次に、ヘッダの宛先情報によって応答先または転送先の高負荷状態を高負荷通知元テーブルを検索して登録の有無を確認する（ステップＳ２７）。登録が無く高負荷状態でない場合、中継装置１１Ａは、宛先情報をＨＴＴＰヘッダから削除して新たなＨＴＴＰヘッダを生成し、取り出した宛先情報をＴＣＰ／ＩＰ呼出時の引数に指定して宛先のＷｅｂサーバ１０に送信する（ステップＳ２８）。そして各種イベント待ちに入る。
【００９４】
高負荷通知元テーブルに、例えばＷｅｂサーバ１０Ｂが登録されていて送信先が高負荷状態である場合は、送信対象のＨＴＴＰリクエストメッセージを分解し、送信先保管部１１４へＨＴＴＰヘッダの宛先のＷｅｂサーバ１０Ａのアドレス、ＵＲＬ等を格納し、メッセージ保管部１１３へメッセージ本体を格納し、当該メッセージの送信を保留する（ステップＳ２９）。
【００９５】
そして各種イベント待ち状態に入る。（フローチャートでは次のＷｅｂサービス実行要求の受信処理に入るように記述している。）
Ｗｅｂサーバ１０Ｂは、Ｗｅｂサーバ１０Ａから転送されたメッセージを受信すると、サービス定義情報１５を参照して転送されたメッセージに対するサービスを実行する（ステップＳ３０）。
【００９６】
以降、図５のフローチャートを使用して説明する。
【００９７】
（ステップＳ１６）における中継装置１１Ａによる閾値と比較の結果、単位時間内に受信したＷｅｂサービス要求メッセージ数が第１の閾値、又は第２の閾値を超えた場合、中継装置１１Ａは、サービス要求メッセージ送信元のＷｅｂサーバ１０Ｃ又はＷｅｂサーバ１０ＤにＨＴＴＰプロトコルの別メッセージとして高負荷を通知するリクエストメッセージを送信する（ステップＳ３１）。
【００９８】
また、中継装置１１Ａは、単位時間における受信メッセージ数を含み、イベント種類を高負荷としたメッセージをサービス管理装置２０に対しても送信する（ステップＳ３２）。サービス管理装置２０ではこの内容を運用情報記憶部２２にＷｅｂサーバ１０の識別名、受信時刻等とともに記憶する（ステップＳ３３）。
【００９９】
中継装置１１Ａのサービス情報解析部１１２は、図９の（ａ）に例示するように、主記憶メモリの高負荷通知先テーブルに当該通知を行った中継装置１１Ｃや中継装置１１ＤのＩＰアドレスとポート番号と通知時刻とその時の受信メッセージの計数値とを記憶する（ステップＳ３４）。
【０１００】
中継装置１１Ｃは、高負荷を通知するリクエストメッセージを中継装置１１Ａから受信すると、図９の（ｂ）に例示するようにＷｅｂサーバ１０ＡのＩＰアドレス、ポート番号とリクエストメッセージ内の情報とを主記憶メモリ上の高負荷通知元テーブルに記憶する（ステップＳ３５）。そして中継装置１１Ｃは、高負荷通知に応答するレスポンスメッセージを中継装置１１Ａに送信する（ステップＳ３６）。
【０１０１】
中継装置１１Ａは、高負荷の通知メッセージに対するレスポンスメッセージについて受信の有無を確認する（ステップＳ３７）。レスポンスメッセージをＷｅｂサーバ１０Ｃから受信すると、中継装置１１ＡはＷｅｂサーバ１０Ｃが本発明における中継装置機能を有することを認識し、Ｗｅｂサーバ１０Ｃは中継機能有りとして高負荷通知先テーブルに記憶する（ステップＳ３８）。そして各種イベント待ちに入る。
【０１０２】
送信元が本発明の中継装置機能を持たないＷｅｂサーバ１０Ｄの場合、高負荷の通知リクエストメッセージを受信しても、当該リクエストメッセージの内容が判読できないため、当該メッセージを廃棄しレスポンスメッセージをＷｅｂサーバ１０Ａに送信しない。
【０１０３】
Ｗｅｂサーバ１０Ａは、Ｗｅｂサーバ１０Ｄからのレスポンスメッセージを一定の時間が経過しても受信しないため、Ｗｅｂサーバ１０Ｄが、本発明における中継機能を有さないことを認識し、高負荷通知先テーブルにＷｅｂサーバ１０Ｄは中継機能無しとして記憶する（ステップＳ３９）。中継装置１１Ａは、以上の処理を終えると、メッセージの受信待ち状態に入る。
【０１０４】
以降、図６のフローチャートを使用して説明する。
【０１０５】
Ｗｅｂサーバ１０Ａのサービス情報解析部１１２は、高負荷状態から通常状態への遷移を確認すると、高負荷判定フラグをオフとし（ステップＳ４０）、イベントの種類は、通常状態への復帰とするイベント情報をサービス管理装置２０に送信する（ステップＳ４１）。これを受信したサービス管理装置２０は、送信したＷｅｂサーバ１０の識別名や受信時刻とともに運用情報記憶部２２に記憶する（ステップＳ４２）。尚、Ｗｅｂサービス管理部２０では、各Ｗｅｂサーバ１０から受信する複数のイベントを現時点から過去に遡って編集する。この編集結果をクライアント装置３０のブラウザ等からの問い合わせに各Ｗｅｂサーバ１０の負荷状況として応答するようにしている。
【０１０６】
さらに高負荷通知先テーブルに登録された情報があるか否かをチェックする（ステップＳ４３）。高負荷通知先テーブルに登録された情報が無ければ、受信メッセージ待ち状態に入る。
【０１０７】
中継装置１１Ａは、高負荷通知先テーブルに登録されている情報が有れば、高負荷通知先テーブルの内容を元に中継装置機能を有するすべての中継装置１１に対して以下の処理を行う。
【０１０８】
登録された高負荷通知先テーブルのＩＰアドレスとポート番号をもとにＨＴＴＰメッセージによって各通知先（中継装置１１Ｃ等）に高負荷の解除通知を送信する（ステップＳ４４）。解除通知を受信した中継装置１１Ｃ等では、中継装置１１Ａ向けにレスポンスメッセージで応答する（ステップＳ４５）。
【０１０９】
中継装置１１Ａは、解除通知を送信したＷｅｂサーバ１０の中継装置１１Ｃ等からのレスポンスメッセージを受信するとレスポンスメッセージ送信先のＷｅｂサーバ１０のＩＰアドレスを元に高負荷通知先テーブルを検索し、該当するエントリを削除する（ステップＳ４６）。高負荷通知先テーブルに登録されていて中継装置機能を持たないＷｅｂサーバ１０については、削除をせず登録を続ける。
【０１１０】
中継装置１１Ａから高負荷解除通知を受信したＷｅｂサーバ１０Ｃでは、解除通知を送信したＷｅｂサーバ１０ＡのＩＰアドレスで高負荷通知元テーブルを検索し該当するエントリを消去する（ステップＳ４７）。
【０１１１】
中継装置１１Ｃは、解除通知を送信したＷｅｂサーバ１０Ａに関する送信を保留するメッセージの有無を確認する（ステップＳ４８）。保留中のメッセージがあれば、イベント種類を保留解除とし、その保留するサービス要求先のＷｅｂサーバ１０の名前と保留する数をサービス管理装置２０に送信する（ステップＳ４９）。これを受信したサービス管理装置２０は、運用情報記憶部２２に記憶する（ステップＳ５０）。
【０１１２】
中継装置１１Ｃは、送信先保管部１１４に保留中のメッセージについて、一時蓄積した送信先保管部１１４に記憶されたＨＴＴＰヘッダの宛先アドレスと高負荷解除を通知したＷｅｂサーバ１０Ａのアドレスとを照合する。
【０１１３】
一致すると送信先保管部１１４から宛先のＷｅｂサーバ１０Ａのアドレス、ＵＲＬ等を取り出し、メッセージ保管部１１３の情報からメッセージ本体を取り出し、再度、完全なＨＴＴＰリクエストを組み立てＨＴＴＰヘッダ中の宛先アドレスを削除してＷｅｂサーバ１０Ａへ送信する（ステップＳ５１）。
【０１１４】
尚、Ｗｅｂサーバ１０Ａで高負荷状態が発生しても、その後、Ｗｅｂサーバ１０Ａが単位時間以上メッセージを受信しない状態が続くことがあり得る。この場合、高負荷状態は解除されているにも係わらず、Ｗｅｂサービス要求メッセージの処理が停滞することになる。それを防止するため、以下の処理を実行する。
【０１１５】
中継装置１１Ａは、単位時間以下の適当な時間をインターバルタイマーに設定して定期的にタイマー割り込みを発生させる。タイマー割り込みが発生すると、高負荷判定フラグをチェックし、高負荷状態の場合には、先に記憶した最終送信時刻と現在時刻との時間差分が単位時間を越えるか判定する。もし、単位時間を越える場合は、（ステップＳ４０）にジャンプして高負荷状態の解除処理を実行する。
【０１１６】
以上の説明においては、Ｗｅｂサーバ１０ＣのＷｅｂサービス要求をＷｅｂサーバ１０Ａが受信して実行する想定で説明を行ったが、同時にＷｅｂサーバ１０ＡからのＷｅｂサービス要求をＷｅｂサーバ１０Ｃが受信して実行する場合もある。そのためＷｅｂサーバ１０ＣのＷｅｂサービス機能の単位時間あたりの処理可能数である第１の閾値と、前述した第２の閾値とを中継装置１１Ｃに設定する。これにより、Ｗｅｂサーバ１０ＣとＷｅｂサーバ１０Ａとが双方向に互いの高負荷の制御を行うことが可能となる。
【０１１７】
次に、本発明の第２の実施例について説明する。
【０１１８】
図１０は本発明の第２の実施例の構成を説明するブロック図である。
【０１１９】
第１の実施例では、同じＷｅｂサーバ１０上にＷｅｂサービス１２と中継装置１１とが共存したが、第２の実施例ではそれぞれが独立した計算機上で動作し、各計算機はインターネットを含むネットワークで接続されている構成であるとする。
【０１２０】
図１０において、Ｗｅｂサーバ１からＷｅｂサーバＬは、受信したＷｅｂサービス要求を実行する計算機であるＷｅｂサーバＭからＷｅｂサーバＮのいずれかに対して、Ｗｅｂサービス要求を中継装置１１を介して送信する。中継装置１１は計算機であり、ソフトウェアプログラムによって動作する。
【０１２１】
このとき、中継装置１１は、Ｗｅｂサービス要求を送信するＷｅｂサーバ１からＷｅｂサーバＬのプロキシサーバとして設定されているものとする。さらに、第１の実施例と同様にＨＴＴＰを利用したプログラムに標準的に用意されたＨＴＴＰプロキシを使用する設定をＷｅｂサーバ１からＷｅｂサーバＬのＷｅｂサービス１２の通信部１３に対して行うことで、Ｗｅｂサーバ１からＷｅｂサーバＬの各Ｗｅｂサービス１２から中継装置１１へ送信するＷｅｂサービス要求メッセージのＨＴＴＰリクエストヘッダに宛先情報を埋めこむことができる。中継装置１１はこの宛先情報を参照し宛先のＷｅｂサーバＭ〜Ｎを識別して、送信先を決定するとともに宛先のＷｅｂサーバＬ〜Ｍが高負荷か否かを判断し、送信制御を行うことが可能となる。
【０１２２】
中継装置１１には、第１の実施例と同様な内容を持つＷｅｂサーバＭ〜Ｎのそれぞれに対する単位時間と、ＷｅｂサーバＭ〜Ｎが単位時間に処理可能な閾値とが予め設定されているものとする。ＷｅｂサーバＭ〜Ｎは、Ｗｅｂサーバ１〜Ｌ以外のＷｅｂサーバ１０からはＷｅｂサービス要求を受信しないものとするが、もし、他のＷｅｂサーバ１０からもメッセージを受信する場合は、過去の実績等からＷｅｂサーバ１〜Ｌに対応した閾値を決定する。中継装置１１には、第１の実施例と同様に受信メッセージ記憶域がＷｅｂサーバＭ〜Ｎのそれぞれに用意されているものとする。
【０１２３】
次に本実施例の動作について図１１のフローチャートを参照して説明する。
【０１２４】
例えば、ＷｅｂサーバＬがＷｅｂサーバＭにＷｅｂサービス要求メッセージを送信したとする。中継装置１１は、本メッセージを受信すると、ＨＴＴＰヘッダの宛先アドレスから送信先がＷｅｂサーバＭで有ることを認識する（ステップＳ６０）。
【０１２５】
中継装置１１は、ＷｅｂサーバＭに用意された受信メッセージ記憶域に当該受信メッセージを送信したＷｅｂサーバＬのＩＰアドレスと、当該メッセージを受信した時刻と送信済み判別フラグを組みとしたエントリを登録する（ステップＳ６１）。送信済み判別フラグは、当該するＷｅｂサービス要求を送信先のＷｅｂサーバＭ〜Ｎに送信済みか未送信かを判別するフラグであり、エントリの登録時には、未送信として登録する。
【０１２６】
次に、ＷｅｂサーバＭに設定された単位時間を取りだし、現時刻から当該単位時間前の時刻と現時刻の間に受信したメッセージ数をＷｅｂサーバＭの受信メッセージ記憶域の各エントリの受信時刻をもとに計数する（ステップＳ６２）。この単位時間における受信メッセージ数とＷｅｂサーバＭの閾値とを比較する（ステップＳ６３）。
【０１２７】
単位時間における受信メッセージ数が閾値以下の場合は、当該計数した対象の受信メッセージの中に送信済み判別フラグが未送信状態のものが有るかをチェックする（ステップＳ６４）。未送信状態のものが有れば時系列に従って順に対応するメッセージを送信先保管部１１４，メッセージ保管部１１３のそれぞれ先頭から取り出し両者の情報を組み立ててＷｅｂサーバＭに送信する（ステップＳ６５）。そして、先に受信したメッセージをＷｅｂサーバＭに送信する（ステップＳ６６）。このとき中継装置１１は、ＨＴＴＰヘッダの宛先アドレスは、取りはずして送信する。
【０１２８】
尚、以上の操作を行った受信メッセージ記憶域のエントリ及び最新の受信したメッセージの送信済み判別フラグは送信済みとする。また受信メッセージ記憶域の該当するエントリにはＷｅｂサーバＭに送信した時刻を記憶する（ステップＳ６７）。
【０１２９】
単位時間における受信メッセージ数がＷｅｂサーバＭの閾値を超えると、中継装置１１は、ＷｅｂサーバＭが高負荷状態と判断して本メッセージをＷｅｂサーバＭを宛先として宛先別に区分された送信先保管部１１４の最後にＨＴＴＰヘッダの内容とともに記憶する。また、メッセージの本体情報は、メッセージ保管部１１３の最後に記憶する（ステップＳ６８）。
【０１３０】
尚、複数の単位時間に渡って閾値を超える数のメッセージを受信するような場合は、複数の単位時間に渡って高負荷状態が継続すると判断するため、本来処理可能なメッセージの送信処理が、例えば１単位時間以上に亘って実行されない可能性がある。
【０１３１】
そのため、中継装置１１は、例えばＷｅｂサーバＭに最後に送信した時刻と現時刻との差分がＷｅｂサーバＭに設定された単位時間以上経過している場合は、ＷｅｂサーバＭの受信メッセージ記憶域から未送信のメッセージを取り出し、閾値以下の範囲で該当するメッセージをＷｅｂサーバＭに送信する。このため、中継装置１１は、ＷｅｂサーバＭ〜Ｎの単位時間のうちの最小の単位時間をインターバルタイマ値として設定し、タイマ割り込みによる通知を受ける都度、ＷｅｂサービスＭ〜Ｎについて上記処理を実行する。
【０１３２】
さらに、以上の説明において、Ｗｅｂサービスメッセージ要求側のＷｅｂサーバ１〜ＬとＷｅｂサービス要求実行側のサーバＭ〜Ｎと分別したが、中継装置１１に、すべてのＷｅｂサーバ１１の単位時間、閾値、受信メッセージ格納域を設定することで、任意のＷｅｂサーバ１０の組み合わせにおける高負荷制御が可能となるという効果がある。
【産業上の利用可能性】
【０１３３】
本発明によれば、Ｗｅｂサービス統合管理システムは、企業システムの統合に適用できる。また、統合されたシステムの応答性能を保証することができるため、サービス品質を保証するシステムに適用できる。
【図面の簡単な説明】
【０１３４】
【図１】本発明の実施例の構成を説明するブロック図である。
【図２】本発明の実施例の動作を説明するフローチャートである。
【図３】本発明の実施例の動作を説明するフローチャートである。
【図４】本発明の実施例の動作を説明するフローチャートである。
【図５】本発明の実施例の動作を説明するフローチャートである。
【図６】本発明の実施例の動作を説明するフローチャートである。
【図７】本発明の実施例の説明に使用する１構成例のブロック図である。
【図８】本発明の実施例のサービス定義情報の説明図である。
【図９】本発明の実施例の高負荷送信先／送信元テーブルの説明図である。
【図１０】本発明の第２の実施例の中継装置をＷｅｂサーバと別装置とした場合の構成を示すブロック図である。
【図１１】本発明の第２の実施例の動作を説明するフローチャートである。
【図１２】本発明の実施例の中継装置にプロキシ設定を行ったあとの動作の説明図である。
【図１３】従来のＷｅｂサービス管理システムの構成を説明するブロック図である。
【符号の説明】
【０１３５】
１０    Ｗｅｂサーバ
１１    中継装置
１１０    メッセージ受信部
１１１    メッセージ送信部
１１２    サービス情報解析部
１１３    メッセージ保管部
１１４    送信先保管部
１１５    サービス情報記憶部
１２    Ｗｅｂサービス
１３    通信部
１４    サービス実行部
１５    サービス定義情報
２０    サービス管理装置
２１    サービス合成計算部
２２    運用情報記憶部
２３    サービス定義情報保管装置
３０    クライアント装置
４０    ネットワーク
【図１】
2006120080.tif 000003
【図２】
2006120080.tif 000004
【図３】
2006120080.tif 000005
【図４】
2006120080.tif 000006
【図５】
2006120080.tif 000007
【図６】
2006120080.tif 000008
【図７】
2006120080.tif 000009
【図８】
2006120080.tif 000010
【図９】
2006120080.tif 000011
【図１０】
2006120080.tif 000012
【図１１】
2006120080.tif 000013
【図１２】
2006120080.tif 000014
【図１３】
2006120080.tif 000015