(57)【特許請求の範囲】
【請求項１】
ウェブサービスリソースにおいてメッセージトラフィックを制御するためのシステムであって、
ネットワーク及びウェブサービスクライアントアプリケーションと動作可能に結合されて、アプリケーション層メッセージを前記クライアントアプリケーションとウェブサービスリソースの間で前記ネットワークを介して転送する第１のウェブサービスゲートウェイであり、
前記リソース宛ての前記クライアントアプリケーションからの発信アプリケーション層メッセージを保存するための第１のメッセージキュー、
前記発信アプリケーション層メッセージを前記第１のメッセージキューから前記ウェブサービスリソースに前記ネットワークを介して送信し、それらの送達が確認通知されたら、前記発信アプリケーション層メッセージを前記第１のメッセージキューから削除するように動作する第１のメッセージングマネージャ、及び
前記第１のメッセージングマネージャと動作可能に結合されて、前記ネットワークから受信したバックオフメッセージに従って、発信アプリケーション層メッセージの前記ウェブサービスリソースへの前記送信を選択的に遅くする（ｓｌｏｗ）第１のバックオフブローカコンポーネント
を備える第１のウェブサービスゲートウェイ、並びに
前記ネットワーク及び前記ウェブサービスリソースと動作可能に結合されて、アプリケーション層メッセージを前記クライアントアプリケーションと前記ウェブサービスリソースの間で前記ネットワークを介して転送する第２のウェブサービスゲートウェイであり、
前記リソース宛ての前記クライアントアプリケーションからの着信アプリケーション層メッセージを保存するための第２のメッセージキュー、
前記ネットワークからの前記着信アプリケーション層メッセージを前記第２のメッセージキューに保存し、前記着信アプリケーション層メッセージの受信を前記第１のメッセージングマネージャに確認通知するように動作する第２のメッセージングマネージャ、及び
前記第２のメッセージングマネージャと動作可能に結合されて、前記第２のウェブサービスゲートウェイで前記ネットワークから受信した着信アプリケーション層メッセージのレートに少なくとも部分的に基づいて、バックオフメッセージを前記第１のバックオフブローカコンポーネントに前記ネットワークを介して選択的に送信する第２のバックオフブローカコンポーネント
を備える第２のウェブサービスゲートウェイ
を備えたシステム。
【請求項２】
請求項１に記載のシステムであって、前記アプリケーション層メッセージがＸＭＬメッセージである、システム。
【請求項３】
請求項１に記載のシステムであって、前記第２のバックオフブローカコンポーネントが、前記第２のウェブサービスゲートウェイで受信した着信アプリケーション層メッセージの前記レートに従って決定されたバックオフ持続期間を含む前記バックオフメッセージを選択的に送信し、前記第１のバックオフブローカコンポーネントが、前記バックオフ持続期間に従って、発信アプリケーション層メッセージの前記ウェブサービスリソースへの送信を選択的に停止する、システム。
【請求項４】
請求項１に記載のシステムであって、前記第１のバックオフブローカコンポーネントが、バックオフメッセージを前記第２のバックオフブローカコンポーネントから受信したときに、発信アプリケーション層メッセージの前記ウェブサービスリソースへの前記送信を選択的に遅くするためのバックオフアルゴリズムを実施する、システム。
【請求項５】
請求項１に記載のシステムであって、前記ウェブサービスリソースがデータストアである、システム。
【請求項６】
アプリケーション層メッセージをネットワークとクライアントアプリケーション又はウェブサービスリソースの間で転送するためのウェブサービスゲートウェイであって、
前記クライアントアプリケーション又は前記ウェブサービスリソースからの発信アプリケーション層メッセージを保存するためのメッセージキュー、
前記発信アプリケーション層メッセージを前記メッセージキューから前記ネットワークに送信し、それらの送達が確認通知されたら、前記発信アプリケーション層メッセージを前記メッセージキューから削除するように動作するメッセージングマネージャ、及び
前記メッセージングマネージャと動作可能に結合されて、前記ネットワークから受信したバックオフメッセージに従って、発信アプリケーション層メッセージの前記送信を選択的に遅くする（ｓｌｏｗ）バックオフブローカコンポーネント
を備えたウェブサービスゲートウェイ。
【請求項７】
請求項６に記載のウェブサービスゲートウェイであって、前記バックオフブローカコンポーネントが、前記ネットワークから受信した着信アプリケーション層メッセージのレートに少なくとも部分的に基づいて、バックオフメッセージを前記ネットワーク上の別のウェブサービスゲートウェイに選択的に送信するように動作する、ウェブサービスゲートウェイ。
【請求項８】
請求項６に記載のウェブサービスゲートウェイであって、前記バックオフブローカコンポーネントが、前記ネットワークから受信した前記バックオフメッセージ内のバックオフ持続期間に従って、発信アプリケーション層メッセージの送信を選択的に停止する、ウェブサービスゲートウェイ。
【請求項９】
請求項６に記載のウェブサービスゲートウェイであって、前記バックオフブローカコンポーネントが、バックオフメッセージを受信したときに、発信アプリケーション層メッセージの前記送信を選択的に遅くするためのバックオフアルゴリズムを実施する、ウェブサービスゲートウェイ。
【請求項１０】
中央ウェブサービスリソースにおけるアプリケーション層メッセージトラフィックを制御する方法であって、
前記リソースに関連するウェブサービスゲートウェイで受信した着信アプリケーション層メッセージのレートに少なくとも部分的に基づいて、バックオフメッセージを前記ウェブサービスリソースに関連する前記ウェブサービスゲートウェイからウェブサービスクライアントアプリケーションに関連する別のウェブサービスゲートウェイに選択的に送信するステップ、及び
前記ウェブサービスゲートウェイから受信した前記バックオフメッセージに従って、発信アプリケーション層メッセージの前記別のウェブサービスゲートウェイから前記ウェブサービスリソースへの送信を選択的に遅くする（ｓｌｏｗ）ステップ
を備える方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は概略としてネットワーク通信の分野に関し、より詳細には、リソース宛てのアプリケーション層メッセージトラフィックを制御するための方法及びシステムに関する。
【背景技術】
【０００２】
コンピュータネットワークは中央リソースによるウェブベースサービスをリモートクライアントアプリケーションに提供する際にますます重要になっている。一例では、企業、事業パートナ集団、又は政府機関は、情報記録のためのコスト効率が良く（スケーラブルで）、信頼性の高い中央ストアを作成しようと試みることがあり、その場合、情報記録は多くの分散サイトにおいて入力又は変更され、その後、ウェブサービスを使用して、中央データストアリソース内に動的に集約される。しかし、この状況では、特に分散サイトの全てが短い期間中に中央データストアリソースにアクセスすることが予想され得る場合、予想されるサービス使用パターンがネットワークレベル及びサービスレベルの両方においてシステム設計に大きな影響を有することがあり得る。これらのケースでは、平均の使用量は非常に小さいのに、限られた時間の間だけ、システムにかかるピーク負荷が膨大となることがある。このタイプのシステムの一例は、地方又は地域当局への文教地区レポーティング（ｅｄｕｃａｔｉｏｎａｌ  ｄｉｓｔｒｉｃｔｓ  ｒｅｐｏｒｔｉｎｇ）であり、９月の入学などのイベントが短い期間の間に膨大な量の学生記録処理を発生させる。そのようなシステムを実施する上での１つの設計上の課題は、クリティカルなウェブサービスにかかるピーク負荷を効果的に扱うための、十分なサービスレベル監視及び制御ポイントの欠如である。ピーク負荷が適度な正確さで予測できる場合であっても、特に他の一時的な負荷増加に応じなければならないネットワークの場合、ピーク負荷を満たすようにアプリケーション配備を拡大することは法外にコスト高になることがあり得る。これらの場合に、各エンドポイントからのサービスピーク負荷をサポートするために情報ストアに十分な処理能力を配備することは、特に多くの時間は処理容量の大半が使用されない場合には経済的ではない。情報更新要求を発生させ得る多くのデータ入力ポイントが存在する場合、情報ストア上で発生するピーク負荷は相当な量になることがある。クライアントシステムに厳しい使用制限を課すことも、しばしば非実用的で問題が多く、中央リソースからのタイムリなサービスを必要としているときにウェブサービスをブロックされたクライアントアプリケーションには許容し得ないことがある。データをエンドポイントでローカルに処理する能力はマイナスの影響を受け、どのようなネットワーク停止も実際上システム使用を停止させる。従って、リソース容量を必要以上に著しく大きくすることなく、またクライアントシステムに厳しいブロッキング状態を課すことなく、短い期間だけ高い使用レベルを必要とするリモートウェブサービスクライアントに、ウェブサービスが中央ウェブサービスリソースによって高い信頼性で経済的に提供できる技法及びシステムが必要とされている。
【発明の概要】
【課題を解決するための手段】
【０００３】
以下は本発明の基本的理解を容易にするための本発明の１つ以上の態様の概要であり、この概要は本発明の包括的な概観ではなく、本発明のある要素を識別することも、本発明の範囲を正確に叙述することも意図していない。むしろ、この概要の主な目的は、以下本明細書で提示されるより詳細な説明に先立って、簡略化された形式で本発明のいくつかの概念を提示することである。本開示の様々な態様は、制御されたトラフィックシェーピング（ｔｒａｆｆｉｃ  ｓｈａｐｉｎｇ）技法及び信頼性の高いアプリケーション層メッセージング技法のためのシステム及び方法に関し、それらの技法は、中央ウェブサービスリソースによって経験される負荷を平準化し、それによってリソースのピーク処理要件を低減しながらも、トレードオフ的なエンドポイントブロッキング（ｅｎｄ  ｐｏｉｎｔ  ｂｌｏｃｋｉｎｇ  ａｌｔｅｒｎａｔｉｖｅ）の悪影響も回避するために有利に利用することができ、その結果、リモートクライアントによって使用される信頼性が高くスケーラブルな情報ストア又は他の中央リソースを提供する。従って、集約情報ストア又は他の中央ウェブサービスリソースは、「平準化された」処理要件を生み出すことで、エンドシステムをブロックすることなく、著しいコスト節約をもたらすトラフィックシェーピングが施された情報更新要求及び他のリソース要求メッセージングに対処できるように、設計及びサイジングすることができる。説明されるシステムは、データの喪失及び分散サイトにおけるアプリケーションブロッキングを防止するために、データ入力ポイントの近くの中間ウェブサービスゲートウェイ（ＷＳＧ：ｗｅｂ  ｓｅｒｖｉｃｅｓ  ｇａｔｅｗａｙ）ノードを利用して、アプリケーション層メッセージトラフィックシェーピングを実行し、外部企業と自律的エンティティの間の安全なサービス相互運用性のためのエクストラネット環境において、企業及び機関が管理されたサービスを配備できるように構成されたウェブサービスゲートウェイなどの、任意の適切なネットワークノード又は要素において実施することができる。ある実施におけるＷＳＧは、様々な参加エンドポイントにおけるウェブサービスとの統合を容易にするために、企業のＤＭＺ内に配置されて、ウェブサービスメッセージをリアルタイムに処理する。ＷＳＧは、この点において、多くのデータ入力ポイントが単一の情報ストア内に集約されなければならず、データ入力ポイントによって発生するピーク負荷が情報ストアの平均負荷要件と比較した場合に著しく大きい集約情報ストア又は他の中央ウェブサービスリソースをサポートするために配備することができる。
【０００４】
本開示の１つ以上の態様によれば、ネットワークと動作可能に結合された第１及び第２のウェブサービスゲートウェイを含む、ウェブサービスリソースにおけるメッセージトラフィックを制御するためのシステムが提供され、第１のＷＳＧはウェブサービスクライアントアプリケーションと動作可能に結合され、第２のＷＳＧは一例ではデータストアなどの中央ウェブサービスリソースと動作可能に結合される。第１のＷＳＧは、ＸＭＬ要求及び応答などのアプリケーション層メッセージをクライアントアプリケーションとウェブサービスリソースの間でネットワークを介して転送するように動作し、メッセージキュー（ｍｅｓｓａｇｅ  ｑｕｅｕｅ）、メッセージングマネージャ（ｍｅｓｓａｇｉｎｇ  ｍａｎａｇｅｒ）、及びバックオフブローカコンポーネント（ｂａｃｋｏｆｆ  ｂｒｏｋｅｒ  ｃｏｍｐｏｎｅｎｔ）を含む。第１のメッセージキューはリソース宛てのクライアントアプリケーションからの発信アプリケーション層メッセージを保存し、メッセージングマネージャは発信メッセージをキューからウェブサービスリソースにネットワークを介して送信し、それらの送達が確認通知された後、メッセージをキューから削除するように動作する。第１のバックオフブローカコンポーネントは、ネットワークから受信したバックオフメッセージ（ｂａｃｋｏｆｆ  ｍｅｓｓａｇｅ）に従って、発信アプリケーション層メッセージのウェブサービスリソースへの送信を選択的に遅らせるように動作する。
【０００５】
第２のＷＳＧは、アプリケーション層メッセージをクライアントアプリケーションとウェブサービスリソースの間でネットワークを介して転送するように動作し、リソース宛てのクライアントアプリケーションからの着信アプリケーション層メッセージを保存するための第２のメッセージキュー、及びネットワークからの着信アプリケーション層メッセージを第２のメッセージキューに保存し、着信アプリケーション層メッセージの受信を第１のメッセージングマネージャに確認通知する第２のメッセージングマネージャを含む。第２のＷＳＧはさらに、第２のＷＳＧで受信したネットワークからの着信アプリケーション層メッセージのレートに少なくとも部分的に基づいて、バックオフメッセージを第１のバックオフブローカコンポーネントに選択的に送信する第２のバックオフブローカコンポーネントを含む。
【０００６】
本開示の他の態様によれば、第２のバックオフブローカコンポーネントは、第２のＷＳＧで受信した着信アプリケーション層メッセージのレートに従って決定されたバックオフ持続期間（ｂａｃｋｏｆｆ  ｐｅｒｉｏｄ  ｄｕｒａｔｉｏｎ）を含むバックオフメッセージを選択的に送信し、第１のバックオフブローカコンポーネントは、バックオフ持続期間に従って、発信アプリケーション層メッセージのウェブサービスリソースへの送信を選択的に停止する。
【０００７】
本開示のさらなる態様によれば、第１のバックオフブローカコンポーネントは、バックオフメッセージを第２のバックオフブローカコンポーネントから受信したときに、発信アプリケーション層メッセージのウェブサービスリソースへの送信を選択的に遅らせるためのバックオフアルゴリズム（ｂａｃｋｏｆｆ  ａｌｇｏｒｉｔｈｍ）を実施する。
【０００８】
本開示のまたさらなる態様によれば、第１のバックオフブローカコンポーネントは、少なくとも１つのランタイムパラメータに少なくとも部分的に基づいてバックオフアルゴリズムを実施する。これらの態様のある実施では、第１のメッセージングマネージャは第２のＷＳＧから受信するアプリケーション層応答の待ち時間を決定し、第１のバックオフブローカコンポーネントは待ち時間に少なくとも部分的に基づいてバックオフアルゴリズムを実施する。
【０００９】
本開示の他の態様によれば、第１のバックオフブローカコンポーネントは、少なくとも１つの構成可能なバックオフパラメータに少なくとも部分的に基づいて、バックオフアルゴリズムを実施する。
【００１０】
本開示のまた別の態様は、アプリケーション層メッセージをネットワークとクライアントアプリケーション又はウェブサービスリソースの間で転送するためのＷＳＧを提供する。ＷＳＧは、クライアントアプリケーション又はウェブサービスリソースからの発信アプリケーション層メッセージを保存するためのメッセージキュー、発信アプリケーション層メッセージをメッセージキューからネットワークに送信し、それらの送達が確認通知された後、発信アプリケーション層メッセージをメッセージキューから削除するように動作するメッセージングマネージャ、及びメッセージングマネージャと動作可能に結合され、ネットワークから受信したバックオフメッセージに従って、発信アプリケーション層メッセージの送信を選択的に遅らせるためのバックオフブローカコンポーネントを備える。
【００１１】
本開示のさらなる態様によれば、バックオフブローカコンポーネントは、ネットワークから受信した着信アプリケーション層メッセージのレートに少なくとも部分的に基づいて、バックオフメッセージをネットワーク上の別のＷＳＧに選択的に送信するように動作する。
【００１２】
本開示のまたさらなる態様によれば、バックオフブローカコンポーネントは、ＷＳＧで受信した着信アプリケーション層メッセージのレートに従って決定されたバックオフ持続期間を含むバックオフメッセージを選択的に送信する。
【００１３】
本開示の他の態様によれば、バックオフブローカコンポーネントは、ネットワークから受信したバックオフメッセージ内のバックオフ持続期間に従って、発信アプリケーション層メッセージの送信を選択的に停止する。
【００１４】
本開示のさらなる態様によれば、バックオフブローカコンポーネントは、バックオフメッセージを受信したときに、発信アプリケーション層メッセージの送信を選択的に遅らせるためのバックオフアルゴリズムを実施する。加えて、バックオフブローカコンポーネントは、ある実施形態では、１つ以上のランタイムパラメータ又は構成可能なバックオフパラメータに少なくとも部分的に基づいて、バックオフアルゴリズムを実施することができる。他の実施では、メッセージングマネージャはネットワーク上の他のＷＳＧから受信するアプリケーション層応答の待ち時間を決定し、バックオフブローカコンポーネントは待ち時間に少なくとも部分的に基づいてバックオフアルゴリズムを実施する。
【００１５】
本開示のまた別の態様によれば、中央ウェブサービスリソースにおけるアプリケーション層メッセージトラフィックを制御するための方法が提供される。この方法は、リソースに関連するＷＳＧで受信した着信アプリケーション層メッセージのレートに少なくとも部分的に基づいて、バックオフメッセージをウェブサービスリソースに関連するＷＳＧからウェブサービスクライアントアプリケーションに関連する別のＷＳＧに選択的に送信するステップ、及びＷＳＧから受信したバックオフメッセージに従って、発信アプリケーション層メッセージの他のＷＳＧからウェブサービスリソースへの送信を選択的に遅らせるステップを含む。
【００１６】
本開示のさらなる態様によれば、バックオフメッセージは、ＷＳＧで受信した着信アプリケーション層メッセージのレートに従って決定されたバックオフ持続期間を含み、発信メッセージの送信を選択的に遅らせるステップは、バックオフメッセージ内のバックオフ持続期間に従って、発信アプリケーション層メッセージの送信を選択的に停止するステップを含む。
【００１７】
本開示のまたさらなる態様によれば、発信アプリケーション層メッセージの送信を選択的に遅らせるステップは、バックオフメッセージを受信したときに、バックオフアルゴリズムを実施するステップを含む。
【００１８】
本開示のさらなる態様によれば、この方法は、ＷＳＧから受信するアプリケーション層応答の待ち時間を決定するステップも含むことができ、バックオフアルゴリズムは、待ち時間に少なくとも部分的に基づいて実施される。
【００１９】
以下の説明及び図面は、本発明の原理を実施できるいくつかの例示的な方法を示す、本発明のある例示的な実施を詳細に説明する。本発明の様々な目的、利点、及び新規な特徴は、図面と併せて検討したときに、本発明の以下の詳細な説明から明らかになろう。
【図面の簡単な説明】
【００２０】
【図１】本開示の様々な態様による、ウェブサービスゲートウェイを介してネットワークに結合された多数のリモートウェブサービスクライアントアプリケーション、及びウェブサービスゲートウェイによってネットワークに結合された中央ウェブサービスリソースを有する例示的な通信ネットワークを示すシステムレベルの概略図であって、中央ウェブサービスリソースにおけるアプリケーション層メッセージトラフィックを制御するためのバックオフブローカコンポーネントを有するようにゲートウェイが構成される、システムレベルの概略図である。
【図２】図１のシステムにおける２つの例示的なウェブサービスゲートウェイのさらなる詳細を示す概略図である。
【図３】本開示による、図１及び図２のシステムにおける中央ウェブサービスゲートウェイとリモートウェブサービスゲートウェイの間の様々なアプリケーション層メッセージを示す信号フロー図である。
【発明を実施するための形態】
【００２１】
以下本明細書では、本開示の様々な態様のいくつかの実施形態又は実施が、図面と併せて例示及び説明され、図面においては、同じ要素を参照するために同じ参照番号が使用される。
【００２２】
最初に図１を参照すると、本開示の様々な態様による、中央ウェブサービスリソース１４におけるアプリケーション層メッセージトラフィックを制御するための例示的なネットワークシステム２が示されている。システム２は、中央サービスアプリケーションサーバ１２、並びにこのケースでは、リモートサイト２０において様々なリモートウェブサービスクライアントアプリケーション（クライアント）２２によって使用及び更新される記録、情報、又は他のデータの保存及び維持のために使用されるデータストアである、中央ウェブサービスリソース１４を有する中央リソースセンタ１０を含む。リモートサイト３０は、ネットワーク４０、リモートサイト２０に配置されるリモートウェブサービスゲートウェイ（ＷＳＧ）３０、及び中央リソースセンタ１０における中央ＷＳＧ３０ａを介して、中央リソースセンタ１０と動作可能に結合される。本開示は、様々なメッセージ、パケット、信号、データなどが任意の適切なメッセージングプロトコルに従って送受信される、有線、無線、又はそれらの組み合わせの如何を問わない、任意の形態、タイプ、及びトポロジのネットワークにおいて実施することができ、ネットワークは、任意の適切なマルチレイヤ方式（例えば、一実施形態ではＳＯＡＰスタック、ＯＳＩ基本参照モデル、又はそれらの派生形若しくは変形）に従って動作することができ、様々なネットワークコンポーネントへの、様々なネットワークコンポーネントからの、又はクライアント２２と中央リソース１２、１４の間を含む、様々なネットワークコンポーネントの間の、ＸＭＬ要求メッセージ及び応答メッセージなどのアプリケーション層メッセージは、アプリケーション層よりも下位の層においてはパケットに区分又は分割することができ、１つ以上の層が、別の層からのペイロード部分の前後にある種の制御情報を付加して、カプセル化パケット又はメッセージを形成する。
【００２３】
また図２を参照すると、ＷＳＧ３０、３０ａは、より下位の層で利用される技法に関わらず、本開示による（アプリケーション層メッセージの転送に関する）アプリケーション層における様々なトラフィック制御機能を実行する。この点に関して、ＷＳＧ３０、３０ａの各々は、スケジューリングコンポーネント３１、３１ａ、メッセージキュー３２、３２ａ、メッセージングマネージャ３３、３３ａ、バックオフブローカコンポーネント３４、３４ａ、及び送受信機コンポーネント３６、３６ａなどの様々なコンポーネントを含み、それらは、単一体であるか、それとも２つ以上のエンティティ間に分散されるかに関わらず、任意の適切な形態のハードウェア、ソフトウェア、ファームウェア、プログラム可能若しくは構成可能なロジック、又はそれらの組み合わせで実施することができ、そのような全ての実施は、本開示の範囲内及び添付の特許請求の範囲内に包含されることが企図されている。本開示の様々な態様は、当業者が仕事の内容をそれによって伝える、ソフトウェア若しくはアルゴリズム、及び／又はコンピュータメモリ内のデータビットに対する操作のシンボル表現によって例示及び説明される。そのようなものとして、アルゴリズム、スクリプト、及び説明されるコンポーネントの他の操作は、所望の結果を提供するためのプログラムされたソフトウェアコア又は他のプログラミング若しくは構成を介して、コンピュータ実施ステップとして実施することができ、そのようなステップは、コンピュータメモリ内の保存メモリ状態などの物理量の操作又は変形を含む。特に、ある実施形態は、電子的メモリ内に保存されたプログラムされたコンピュータ実行可能命令に従って動作するソフトウェアコンポーネントを含むことができ、コンピュータ実行可能命令は、ネットワーク４０に送信する又はネットワーク４０から受信したアプリケーション層メッセージに対して作用し、メッセージのデータも同様に、少なくとも一時的に電子的メモリ内に保存することができ、本明細書で説明されるパケット及びデータは、保存、転送、組み合わせ、比較、及び他の操作が可能な光信号、電気信号、又は磁気信号を含むが、それらに限定されない、任意の適切な形態とすることができ、それらは、ビット、値、要素、シンボル、文字、項、数など、様々な用語で呼ばれることがある。
【００２４】
この点に関して、別途具体的に述べられない限り、又は説明から明らかなように、「処理する」又は「計算する」又は「算出する」又は「決定する」又は「表示する」などの用語は、コンピュータシステムのレジスタ及びメモリ内の物理的、電子的な量として表現されたデータを操作及び変形して、コンピュータシステムのメモリ若しくはレジスタ内、又は他のそのような情報保存、伝送、若しくは表示デバイス内の物理的な量として同様に表現される他のデータにする、コンピュータシステム又は同様の電子的コンピューティングデバイスの動作及び処理のことを指す。加えて、本開示の様々なソフトウェア実施態様は一般に、何らかの形態のプログラム記憶媒体上に符号化され、又は何らかのタイプの伝送媒体上で実施される。プログラム記憶媒体は、磁気的（例えば、フロッピディスク若しくはハードドライブ）、又は光学的（例えば、コンパクトディスク・リードオンリメモリすなわち「ＣＤ  ＲＯＭ」）とすることができ、リードオンリ又はランダムアクセスとすることができる。同様に、伝送媒体は、ツイストペア線、同軸ケーブル、光ファイバ、又は当技術分野で知られた他の何らかの適切な伝送媒体とすることができる。本開示は任意の所与の実施のこれらの態様によって限定されない。
【００２５】
動作中、有利なことに、システム２は、ＷＳＧ３０、３０ａによるバックオフ処理の実行による、ウェブサービスリソース１４におけるアプリケーション層メッセージトラフィックの制御を提供する。図２及び図３に最も良く示されているように、リモートＷＳＧ３０は、ネットワーク４０、及び関連ウェブサービスクライアントアプリケーション２２と動作可能に結合されて、アプリケーション層メッセージ１０２、１０６をクライアント２２と中央リソースデータストア１４の間でネットワーク４０を介して転送する。この第１のウェブサービスゲートウェイ３０は、リソース１４宛てのクライアントアプリケーション２２からの発信アプリケーション層メッセージを保存する第１のメッセージキュー３２を含む。ＷＳＧ３０は、発信アプリケーション層メッセージをキュー３２からウェブサービスリソース１４にＳＯＡＰ送受信コンポーネント３６及びネットワーク４０を介して送信する第１のメッセージングマネージャ３３も含む。加えて、メッセージングマネージャ３３は、それらの送達が受信ＷＳＧ３０ａによって確認通知された後、発信アプリケーション層メッセージをキュー３２から削除する。ゲートウェイ３０は、第１のメッセージングマネージャ３３と動作可能に結合されたバックオフブローカコンポーネント３４も提供し、バックオフブローカコンポーネントは、ネットワーク４０から受信したバックオフメッセージ、このケースでは、中央ＷＳＧ３０ａのバックオフブローカ３４ａによって送信されたバックオフメッセージに従って、アプリケーション層メッセージの中央リソース１４への送信を選択的に遅らせる。
【００２６】
中央サイト１０は第２のＷＳＧ３０ａを含み、第２のＷＳＧ３０ａはネットワーク４０及び中央ウェブサービスリソース１４と動作可能に結合され、アプリケーション層メッセージ１０２、１０６（図３）をクライアントアプリケーション２２とウェブサービスリソース１４の間でネットワーク４０を介して転送するように動作する。第２のウェブサービスゲートウェイ３０ａ（図２）は、リソース１４宛てのクライアントアプリケーション２２からの着信アプリケーション層メッセージを保存するための第２のメッセージキュー３２ａ、ネットワーク４０からの着信メッセージをキュー３２ａに保存し、着信メッセージの受信を第１のメッセージングマネージャ３３に確認通知する第２のメッセージングマネージャ３３ａ、及び第２のバックオフブローカコンポーネント３４ａを含む。バックオフブローカ３４ａは、ＷＳＧ３０ａで受信したリソース４０宛ての着信アプリケーション層メッセージのレートに少なくとも部分的に基づいて、バックオフメッセージを第１のブローカ３４にネットワーク４０を介して選択的に送信する。
【００２７】
ＷＳＧ３０、３０ａは、多くのデータ入力ポイントが単一の情報ストアに集約されなければならず、データ入力ポイントによって発生するピーク負荷が平均負荷と比較して著しく大きい集約情報ストアリソース１４又は他の形態の中央ウェブサービスリソースをサポートするために配備することができる。ＷＳＧ３０、３０ａは連携して、アプリケーション層（例えばＸＭＬ）メッセージに関する、方針に基づいて制御されるトラフィックシェーピング技法及び信頼性の高いメッセージング技法を提供して、情報ストア１４によって経験される負荷を「平準化」し、それによって中央リソース１４のピーク処理要件の大幅な低減をもたらす。結果として、ＷＳＧ３０、３０ａは、データストア１４などの中央共用リソースのための経済的で信頼性の高いソリューションを提供する。例示される実施形態では、アプリケーション層メッセージはＸＭＬメッセージであるが、本開示の方法及びシステムは任意の適切なプロトコルに従って送信される、ＨＬ７、Ｍｏｄｂｕｓ、ＣＤＰ、ＮＮＴＰ、ＳＩＰ、ＳＳＩ、ＤＮＳ、ＦＴＰ、Ｇｏｐｈｅｒ、ＨＴＴＰ、ＮＦＳ、ＮＴＰ、ＤＨＣＰ、ＳＭＰＰ、ＳＭＴＰ、ＳＮＭＰ、Ｔｅｌｎｅｔ、ＩＳＵＰ、ＩＮＡＰ、ＭＡＰ、ＴＵＰ、ＴＣＡＰ、ＡＦＰ、ＺＩＰ、ＲＴＭＰ、ＮＢＰ、ＦＴＡＭ、Ｘ．４００、Ｘ．５００、ＤＡＰ、ＲＩＰ、ＳＡＰ、ＡＰＰＣなどを含むが、それらに限定されない、任意のタイプ又は形態のアプリケーション層メッセージのためのメッセージトラフィック制御と併せて利用することができ、本開示は例示される実施形態に限定されない。
【００２８】
１つの可能な実施では、中央ＷＳＧ３０ａのバックオフブローカコンポーネント３４ａは、第２のウェブサービスゲートウェイ３０ａで受信した着信アプリケーション層メッセージのレートに従って決定されたバックオフ持続期間を含むバックオフメッセージを、１つ以上のリモート（例えばクライアント）ブローカコンポーネント３４に選択的に送信する。リモートサイトの第１のバックオフブローカコンポーネント３４は、バックオフ持続期間に従って、発信アプリケーション層メッセージのウェブサービスリソース１４への送信を選択的に停止する。別の実施では、第１のバックオフブローカコンポーネント３４は、バックオフメッセージを第２のバックオフブローカコンポーネント３４ａから受信したときに、発信アプリケーション層メッセージのウェブサービスリソース１４への送信を選択的に遅らせるためのバックオフアルゴリズムを実施する。そのようなバックオフアルゴリズムは、一実施形態では、１つ以上のランタイムパラメータ又は構成可能なバックオフパラメータに少なくとも部分的に基づくことができる。別の可能な実施では、第１のメッセージングマネージャ３３は、第２のウェブサービスゲートウェイ３０ａから受信するアプリケーション層応答の待ち時間を決定し、第１のバックオフブローカコンポーネント３４は、待ち時間に少なくとも部分的に基づいて、バックオフアルゴリズムを実施する。
【００２９】
好ましい実施では、中央ＷＳＧ３０ａとリモートＷＳＧ３０は機能的に同一であり、各々がバックオフメッセージを送信及び受信し、中央リソースのネットワーク層メッセージトラフィックを平準化又は調整するための、発信アプリケーション層メッセージに関するローカルバックオフ戦略を実施するように動作することができる。従って、本開示のさらなる態様は、アプリケーション層メッセージ１０２、１０６をネットワーク４０とクライアントアプリケーション２２又はウェブサービスリソース１４の間で転送するためのウェブサービスゲートウェイ３０、３０ａそれ自体を提供し、ゲートウェイは、クライアントアプリケーション２２又はウェブサービスリソース１４からの発信アプリケーション層メッセージを保存するためのメッセージキュー（３２、３２ａ）、及び発信アプリケーション層メッセージをキュー３２からネットワーク４０に送信するのに加え、それらの送達が確認通知された後、メッセージを削除するように動作するメッセージングマネージャ３３を含む。さらに、本開示のこの態様によれば、ネットワーク４０から受信したバックオフメッセージに従って、発信アプリケーション層メッセージの送信を選択的に遅らせるように動作するバックオフブローカコンポーネント３４がＷＳＧ３０、３０ａにおいて提供される。加えて、バックオフブローカ３４は、ネットワーク４０から受信した着信アプリケーション層メッセージのレートに少なくとも部分的に基づいて、バックオフメッセージをネットワーク４０上の別のＷＳＧに送信することができ、バックオフメッセージは、ある実施形態では、ウェブサービスゲートウェイ３０で受信した着信アプリケーション層メッセージのレートに従って決定されたバックオフ持続期間を含むことができる。さらに、バックオフコンポーネント３４は、ネットワーク４０から受信したバックオフメッセージで提供されていれば、バックオフ持続期間に従って、発信アプリケーション層メッセージの送信を選択的に停止することができ、及び／又はバックオフメッセージを受信したときに、発信アプリケーション層メッセージの送信を選択的に遅らせるためのバックオフアルゴリズムを実施することができる。バックオフアルゴリズムの実施は、少なくとも１つのランタイムパラメータ又は構成可能なバックオフパラメータに少なくとも部分的に基づくことができ、他の実施形態は、他のＷＳＧから受信するアプリケーション層応答の待ち時間を決定し、待ち時間に少なくとも部分的に基づいて、バックオフアルゴリズムを実施するメッセージングマネージャ３３を含む。
【００３０】
従って、例示的なＷＳＧ３０、３０ａ及び上述のシステムは、ランタイムアプリケーション層メッセージ経路内に一般に配備されるゲートウェイ技術コンポーネント上で容易に実施できる、スケーラブルで信頼性の高いウェブサービスメッセージ配信ソリューションを提供する。さらに、このソリューションは、分散又はリモートエンドポイントクライアントからのメッセージをキューイングするためのキューイング機構を提供し、キューイング機構は中央サービスリソース１４における累積負荷を検出し、アルゴリズム（複数可）又はバックオフ実施は、どのエンドポイントでもメッセージがドロップされないことを保証するために、方針ドリブン「公平」アルゴリズム（例えば、ラウンドロビン、加重公平キューイング（ｗｅｉｇｈｔｅｄ  ｆａｉｒ  ｑｕｅｕｉｎｇ）など）などの構成可能な優先順位を用いる様々な形態とすることができる。開示された本システムは、情報ストア１４において生じるアプリケーション層サービストラフィックを効果的に平準化することによって、キューの過剰負荷を回避するために、「中央キュー」から分散エンドポイントにメッセージ配信を遅らせるよう伝達するためのバックオフ制御機構をブローカコンポーネント３４、３４ａ内で提供する。加えて、このソリューションは中央ＷＳＧ３０ａによって送信されるバックオフメッセージ（複数可）がないことも含む、１つ以上の基準に基づいて、リモートＷＳＧによるウェブサービスメッセージ配信を制限するためのリモートブローカコンポーネントを提供し、又はリモートＷＳＧ３０は、宛先からの肯定応答の紛失などの検出されたネットワーク問題に基づいて、バックオフアルゴリズムを開始することができる。これらの状況では、ＷＳＧ３０はメッセージキューを維持し、提供された方針に基づいて、ＷＳメッセージ配信をスケジュールするように適合することができる。動作中、リモートＷＳＧ３０は基本的に、中央サービスリソース１４へのアプリケーション層（例えばＸＭＬ）ウェブサービスメッセージをプロキシし、信頼性の高いメッセージング層を提供して、メッセージ配信を保証する。これは、エンドポイント情報システムがアプリケーション層においてウェブサービスメッセージを「撃ち放し（ｆｉｒｅ−ａｎｄ−ｆｏｒｇｅｔ）」にすることを可能にし、それによって、エンドポイントブロッキング状態を排除する。これらのウェブサービス要求メッセージは、リモートＷＳＧ３０において効果的にキューイングされるので、その後、後続のアプリケーション層適応輻輳制御（ａｄａｐｔｉｖｅ  ｃｏｎｇｅｓｔｉｏｎ  ｃｏｎｔｒｏｌ）を利用して、クライアント２２によるさらなる介入又はサービスなしに、中央リソースの通信負荷を処理する能力に送信レートを選択的に調整又は適合することができる。この方式では、リソース要求の短時間のピーク又はスパイクは、（アプリケーション層における）リソースメッセージトラフィックを対応可能なレベルに制限するように、より長い時間にわたって引き延ばされる。
【００３１】
従って、各分散ＷＳＧ３０におけるメッセージキュー３２は、それらの送達が「ネクストホップ」宛先によって確認通知されるまでアプリケーション層ウェブサービス要求メッセージを維持し、キューイングコンポーネントは、中央リソース１４の使用に基づいたものなど、サービスの多数のクラスをサポートすることもでき、クラス毎にバックオフメッセージ及びアルゴリズムが異なることも可能である。スケジューラコンポーネント３１、３１ａは着信ウェブサービスメッセージをキュー３２、３２ａから宛先（例えば、クライアントアプリケーション２２はＷＳＧ３０への着信メッセージの宛先であり、中央リソース１４は中央ＷＳＧ３０ａへのメッセージの宛先である）にいつ転送するかを制御するように動作する。この点に関して、スケジューラ３１は、ラウンドロビン又は加重公平キューイングなどのスケジューリングアルゴリズムを別々に実施することができ、アプリケーション層における着信メッセージのために、メッセージキュー３２、３２ａにおいて、サービスのクラス毎に独立のスケジューリングアルゴリズムをサポートすることができる。
【００３２】
図２及び図３に最も良く示されているように、リモートクライアント２２は、関連するリモートＷＳＧ３０を経由しネットワーク４０を介して中央ＷＳＧ３０ａに送信されるＸＭＬ要求メッセージを提供して、中央リソース１４にウェブサービスを要求する。次いで、リソース１４が応答メッセージをＷＳＧ３０ａを介して分散ＷＳＧ３０及びクライアント２２に返信する。図３に示されるように、このプロセスは、中央ＷＳＧ３０ａにおいて閾値量の着信メッセージトラフィックが見られるまで、そのようなアプリケーション層要求メッセージと応答メッセージ１０２をやり取りし続ける。閾値量の着信メッセージトラフィックが見られた時点で、中央ＷＳＧ３０ａのバックオフブローカコンポーネント３４ａは１つ以上のバックオフメッセージを１つ以上のリモートＷＳＧ３０に送信し、ローカルバックオフブローカ３４は中央リソース１４への発信アプリケーション層メッセージトラフィックを選択的に遅らせ、それによって、バックオフメッセージ以降の全体的なメッセージトラフィック１０６を時間的に拡散させて、リソース負荷を対応可能なレベルにまで平準化する。
【００３３】
本開示のさらなる態様は、中央ウェブサービスリソース１４におけるアプリケーション層メッセージトラフィックを制御する方法を提供する。この方法は、ウェブサービスゲートウェイ３０ａで受信した着信アプリケーション層メッセージのレートに少なくとも部分的に基づいて、バックオフメッセージを中央ウェブサービスリソース１４に関連するウェブサービスゲートウェイ３０ａからウェブサービスクライアントアプリケーション２２に関連する別のウェブサービスゲートウェイ３０に選択的に送信するステップを含む。この方法はさらに、ウェブサービスゲートウェイ３０ａから受信したバックオフメッセージに従って、発信アプリケーション層メッセージの他のウェブサービスゲートウェイ３０からウェブサービスリソース１４への送信を選択的に遅らせるステップを含む。ある実施形態では、バックオフメッセージは、ウェブサービスゲートウェイ３０で受信した着信アプリケーション層メッセージのレートに従って決定されたバックオフ持続期間を含むことができ、発信アプリケーション層メッセージの送信を選択的に遅らせるステップは、バックオフメッセージ内のバックオフ持続期間に従って、送信を選択的に停止するステップを含む。選択的にトラフィックを遅らせるステップは、バックオフメッセージを受信したときに、バックオフアルゴリズムを実施するステップを含むことができ、この方法は、ウェブサービスゲートウェイから受信するアプリケーション層応答の待ち時間を決定するステップ、及び待ち時間に少なくとも部分的に基づいて、バックオフアルゴリズムを実施するステップも含むことができる。
【００３４】
本発明が、１つ以上の例示的な実施又は実施形態に関して例示及び説明されたが、本明細書及び添付の図面を読み理解すれば、当業者には等価の代替及び変更が思い浮かぶであろう。特に上述のコンポーネント（組立体、デバイス、システム、及び回路など）によって実行される様々な機能に関して、そのようなコンポーネントを説明するのに使用される用語（「手段」の言及を含む）は、別途指摘されない限り、本明細書で例示される本発明の例示的な実施の機能を実行する開示される構造と構造的に等価ではなくても、説明されるコンポーネントの指定された機能を実行する（すなわち、機能的に等価な）任意のコンポーネントに対応することが意図されている。加えて、本発明の特定の特徴は、いくつかの実施のうちのただ１つに関して開示されることもあるが、そのような特徴は、任意の所与の適用例又は特定の適用例において望まれ、有利である場合には、他の実施の１つ以上の他の特徴と組み合わせることができる。また、「含む（ｉｎｃｌｕｄｉｎｇ）」、「含む（ｉｎｃｌｕｄｅｓ）」、「有する（ｈａｖｉｎｇ）」、「有する（ｈａｓ）」、「有する（ｗｉｔｈ）」という用語、又はそれらの変形が詳細な説明及び／又は特許請求の範囲において使用される場合には、そのような用語は「備える（ｃｏｍｐｒｉｓｉｎｇ）」という用語と同様の方法で包含的であることが意図されている。
【図１】
0005441933.tif 000002
【図２】
0005441933.tif 000003
【図３】
0005441933.tif 000004