(57)【特許請求の範囲】
【請求項１】
イベントチャンネルネットワーク（ＥＣＮ）内の複数のネットワークフィルタで新しいフィルタ・コンストレイント（ｆｉｌｔｅｒ  ｃｏｎｓｔｒａｉｎｔ）を展開（ｄｅｐｌｏｙ）する方法であって、エージェントによって前記ＥＣＮでのフィルタ・コンストレイントおよびその配置（ｐｌａｃｅｍｅｎｔ）に関する計算が行われ、
前記ネットワークフィルタにそれぞれ対応する複数のモデルフィルタを前記ＥＣＮ内に含むネットワークモデルを前記エージェントによって実現するステップと、
前記新しいフィルタ・コンストレイントに影響される前記モデルフィルタを前記エージェントで識別するステップと、
該識別されたモデルフィルタに対応するネットワークフィルタに前記新しいフィルタ・コンストレイントを渡すステップとを含む前記方法。
【請求項２】
ネットワークモデルを実現する前記ステップは、
すべてのＥＣＮノード、リンク、関連フィルタと、
イベントタイプを提供するすべてのイベントプロデューサと、
イベントタイプをサブスクライブするすべてのコンシューマとのモデルを実現する、請求項１記載の方法。
【請求項３】
更に、
前記ネットワークフィルタの上流にあるすべてのネットワークフィルタが前記新しいフィルタ・コンストレイントを受け取ったことを各ネットワークフィルタで確認するステップと、
前記ネットワークフィルタで前記新しいフィルタ・コンストレイントを有効にするステップとを含む請求項２記載の方法。
【請求項４】
更に、コンシューマから新しいイベントタイプが要求されたことにより前記新しいフィルタ・コンストレイントが必要になった場合に、
前記エージェントから要求元コンシューマに許可を与えるステップと、
前記要求されたイベントタイプを配信する契約を前記要求元コンシューマとの間で締結するステップとを含む請求項３記載の方法。
【請求項５】
イベントチャンネルネットワーク（ＥＣＮ）内の複数のネットワークフィルタで新しいフィルタ・コンストレイントを展開する方法であって、エージェントによってＥＣＮでのフィルタ・コンストレイントおよびその配置に関する計算が行われ、
ＥＣＮ内でそれぞれ対応するネットワークフィルタと、モデルフィルタの対応ネットワークフィルタからブリーダ（ｂｌｅｅｄｅｒ）メッセージを送るべきか否かを示す関連［送出］フラグと、ブリーダメッセージを送る上流側ネットワークフィルタの識別子を含む関連バッグと、対応ネットワークフィルタからのブリーダ検出済メッセージをすべてのエージェントが受け取ったか否かを示す関連［確認］フラグとを備えた複数のモデルフィルタを含むネットワークモデルを、エージェントによって実現するステップと、
各［送出］フラグおよび［確認］フラグを「偽」に初期化し、各バッグを「空」に初期化するステップと、
ネットワークモデル内の各対象モデルフィルタに関して、その下流側モデルフィルタをすべて検出するステップと、
下流側で検出された各モデルフィルタのバッグに対象モデルフィルタの識別子を入れるステップと、
対象モデルフィルタの［送出］フラグを「真」に設定するステップと、
バッグに識別子を含んだ各モデルフィルタに対応する各ネットワークフィルタに新しいフィルタ・コンストレイントを渡すステップと、
［送出］フラグが「真」であるモデルフィルタに対応する各ネットワークフィルタに命令して、送出側ネットワークフィルタ識別子を含むブリーダメッセージを下流ネットワークフィルタに送らせるステップと、
新しいフィルタ・コンストレイントの受け取り側各ネットワークフィルタに命令して、ネットワークフィルタの対応モデルフィルタのバッグにある識別子を含んだブリーダメッセージを待ち受けさせるステップと、
新しいフィルタ・コンストレイントの受け取り側各ネットワークフィルタに命令して、ネットワークフィルタがすべての所要ブリーダメッセージを受け取ったときに新しいフィルタ・コンストレイントを有効にさせるステップとを含む前記方法。
【請求項６】
更に、コンシューマから新しいイベントタイプが要求されたことにより新しいフィルタ・コンストレイントが必要になった場合に、
モデルフィルタの対応ネットワークフィルタでブリーダメッセージが検出されたとき、各モデルフィルタの［確認］フラグを「真」に設定するステップと、
バッグが空でないモデルフィルタすべての［確認］フラグが「真」に設定されたとき、エージェントから要求元コンシューマに許可を与えるステップと、
要求されたイベントタイプを配信する契約を要求元コンシューマとの間で締結するステップとを含む請求項５記載の方法。
【請求項７】
各［送出］フラグおよび［確認］フラグを「偽」に初期化し、各バッグを「空」に初期化する前記ステップに続いて、更に
エージェントでタイマを始動するステップと、
バッグが空でないモデルフィルタすべての［確認］フラグが「真」になる前にタイマの設定時間が経過した時に
エージェントから要求元コンシューマに対して不許可の応答を送るステップと、
エラー回復手順を開始するステップとを含む請求項６記載の方法。
【請求項８】
イベントチャンネルネットワーク（ＥＣＮ）内の複数のネットワークフィルタで新しいフィルタ・コンストレイントの計算および展開を行うエージェントであって、
ＥＣＮ内のネットワークフィルタにそれぞれ対応する複数のモデルフィルタを含むネットワークモデルと、
新しいフィルタ・コンストレイントに影響されるモデルフィルタをエージェントで識別する手段と、
識別されたモデルフィルタに対応するネットワークフィルタに新しいフィルタ・コンストレイントを渡す手段とを有する前記エージェント。
【請求項９】
前記ネットワークモデルに更に、
ネットワークフィルタに関連するすべてのＥＣＮノードおよびリンクと、
イベントタイプを提供するすべてのイベントプロデューサと、
イベントタイプをサブスクライブするすべてのコンシューマとを含む請求項８記載のエージェント。
【請求項１０】
更に、
ネットワークフィルタの上流にあるすべてのネットワークフィルタで新しいフィルタ・コンストレイントを受け取った時に、その確認を各ネットワークフィルタから受ける手段と、
ネットワークフィルタにおいて新しいフィルタ・コンストレイントを有効にする手段とを含む請求項９記載のエージェント。
【請求項１１】
更に、コンシューマから新しいイベントタイプが要求されたことにより新しいフィルタ・コンストレイントが必要になった場合に、
エージェントから要求元コンシューマに許可を与える手段と、
要求されたイベントタイプを配信する契約を要求元コンシューマとの間で締結する手段とを含む請求項１０記載のエージェント。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は通信システム、特に、ネットワークを最適化するためにネットワークフィルタの制約（フィルタ・コンストレイント：ｆｉｌｔｅｒ  ｃｏｎｓｔｒａｉｎｔ）を展開（ｄｅｐｌｏｙ）するための方法とエージェントに関するものである。
【０００２】
【関連技術の説明】
イベントチャンネルネットワーク（ＥＣＮ）は、イベントプロデューサからイベントコンシューマへメッセージ（イベント）を配信するために用いられる一組の関連プロセスである。ＥＣＮは通信ネットワーク、電子メールネットワーク、データネットワーク、それらの管理ネットワーク等のネットワークで使用される。ＥＣＮは、各リンクに２つのノードが接続されるような一組のノードおよびリンクとしてモデル化することが可能である。各ノードでは、他の複数ノードに接続するために複数リンクを利用することができる。イベントはリンクを介して１つのノードから他のノードへ流れる。イベントフローは一方向であり、イベントフローがループにならないように、ノードが接続される。プロデューサおよびコンシューマも、ノードとしてモデル化される。
【０００３】
プロデューサは１つ以上のイベントタイプのイベントをＥＣＮへ送る。コンシューマはＥＣＮを介して１つ以上のイベントタイプのイベントをサブスクライブ（ｓｕｂｓｃｒｉｂｅ）する。ＥＣＮがコンシューマとの特定のサブスクライブ要求に同意した時、ＥＣＮとコンシューマの「契約」締結と呼ぶ。契約締結後に作成され、かつコンシューマのサブスクライブタイプのイベントをコンシューマに送出することを、この契約によりＥＣＮは保証する。ＥＣＮはまた、コンシューマに不要なイベントタイプ（すなわち、コンシューマがサブスクライブしていないイベントタイプ）を送らないことを保証する。
【０００４】
ＥＣＮノードおよびコンシューマノードはイベントタイプに基づいてイベントをフィルタに掛ける機能を備えている。フィルタ機能はリンクに関連するプロセスとしてモデル化される。このフィルタ機能はその関連フィルタ・コンストレイントによって特徴付けられる。フィルタに対して特定のフィルタ・コンストレイントを設定すると、イベントタイプに応じて、そのフィルタでイベントを破棄することができる。フィルタ・コンストレイントを含まないフィルタもある。その場合、すべてのタイプのイベントがフィルタを通過する。もう一方の極端な例は、すべてのイベントを全く通さないフィルタ・コンストレイントを含むフィルタである。
【０００５】
プロデューサとプロデューサが提供するイベントのタイプと、コンシューマとコンシューマがサブスクライブするイベントタイプとを含むＥＣＮトポロジーに基づいて、コンシューマとの契約を保証する多様なフィルタ構成（すなわち、各フィルタのフィルタ・コンストレイントとＥＣＮのリンク上におけるフィルタ配置）が可能である。また、ネットワーク資源の利用をフィルタ構成によって最適化することが望ましい。しかし、構成によっては、ネットワーク資源の利用を最適化できないものもある。例えば、コンシューマに直接接続されたリンクに関連するフィルタ以外のＥＣＮフィルタに全く・コンストレイントを施さなければ、コンシューマとの契約は保証される。しかし、そのような構成はＥＣＮの帯域幅利用とフィルタ処理の観点からは最適でない。
【０００６】
オブジェクトマネジメントグループ（ＯＭＧ）は通知サービス（Ｎｏｔｉｆｉｃａｔｉｏｎ  Ｓｅｒｖｉｃｅ）とイベントネットワークに関する仕様を公表している。ＯＭＧによる通知サービスには、最適なＥＣＮの構築を容易にするソリューションが含まれる。ＯＭＧソリューションには、イベント搬送用に同じリンクを使用するフィルタ間で制御メッセージの送受（すなわち、帯域内シグナリング）が必要である。しかし、帯域内シグナリングは、イベント搬送に使用可能な貴重な帯域幅を消費する。
【０００７】
他の最先端ソリューションでは、制御メッセージに帯域外シグナリングが使用される。これらのスキームでは、最適なネットワークが得られるようにフィルタ・コンストレイントを変えるために必要な制御メッセージが、管理エンティティからフィルタに送られる。しかし、フィルタ・コンストレイントを変えるために管理エンティティとフィルタがやりとりしている間、各コンシューマへの契約は保証されないおそれがある。
【０００８】
既存のソリューションの欠点を克服するために、帯域内シグナリングの利用が最小になるようにネットワークフィルタにおけるフィルタ・コンストレイントを展開すると共に、フィルタ・コンストレイントの展開中にも各コンシューマとの契約を継続的に保証する方法が望まれる。本発明はその方法を提供する。
【０００９】
【発明の概要】
本発明の一面は、イベントチャンネルネットワーク（ＥＣＮ）内の複数のネットワークフィルタで新しいフィルタ・コンストレイントを展開する方法であって、ＥＣＮでのフィルタ・コンストレイントおよびその配置に関する計算がエージェントによって行われる。複数のモデルフィルタを含むネットワークモデルがエージェントによって実現される。それぞれのモデルフィルタはＥＣＮ内の１つのネットワークフィルタに対応する。エージェントは新しいフィルタ・コンストレイントに影響されるモデルフィルタを識別し、識別されたモデルフィルタに対応するネットワークフィルタに新しいフィルタ・コンストレイントを渡す。方法には更に、ネットワークフィルタの上流にあるすべてのネットワークフィルタが新しいフィルタ・コンストレイントを受け取ったことを各ネットワークフィルタで確認するステップと、ネットワークフィルタで新しいフィルタ・コンストレイントを有効にするステップとを含めることができる。コンシューマから要求された新しいイベントタイプに新しいフィルタ・コンストレイントが必要な場合、更に、エージェントから要求元のコンシューマに許可を与えるステップと、要求されたイベントタイプを供給する契約を要求元コンシューマとの間で締結するステップとを含めることができる。
【００１０】
また、本発明の一面は、ＥＣＮ内の複数のネットワークフィルタで新しいフィルタ・コンストレイントを展開する方法であって、ＥＣＮでのフィルタ・コンストレイントおよびその配置に関する計算がエージェントによって行われる。この方法には、複数のモデルフィルタを含むネットワークモデルをエージェントによって実現するステップが含まれ、各モデルフィルタは、ＥＣＮ内でそれぞれ対応するネットワークフィルタと、モデルフィルタの対応ネットワークフィルタからブリーダメッセージを送るべきか否かを示す関連［送出］フラグと、ブリーダメッセージを送る上流側ネットワークフィルタの識別子を含む関連バッグと、対応ネットワークフィルタからのブリーダ検出済メッセージをすべてエージェントが受け取ったか否かを示す関連［確認］フラグとを備えている。各［送出］フラグおよび［確認］フラグは「偽」に初期化され、各バッグは「空」に初期化される。この方法によれば、ネットワークモデル内の各対象モデルフィルタに関して、その下流側モデルフィルタがすべて検出され、下流側で検出された各モデルフィルタのバッグに対象モデルフィルタの識別子が置かれ、対象モデルフィルタの［送出］フラグが「真」に設定される。続いて、バッグに識別子を含んだ各モデルフィルタに対応する各ネットワークフィルタに新しいフィルタ・コンストレイントが渡され、［送出］フラグが「真」であるモデルフィルタに対応する各ネットワークフィルタに命令して、送出側ネットワークフィルタ識別子を含むブリーダメッセージを下流ネットワークフィルタに送らせる。次に、エージェントは、新しいフィルタ・コンストレイントの受け取り側各ネットワークフィルタに命令して、ネットワークフィルタの対応モデルフィルタのバッグにある識別子を含んだブリーダメッセージを待ち受けさせる。エージェントはまた、新しいフィルタ・コンストレイントの受け取り側各ネットワークフィルタに命令して、ネットワークフィルタがすべての所要ブリーダメッセージを受け取ったときに新しいフィルタ・コンストレイントを有効にさせる。すべてのネットワークフィルタで新しいフィルタ・コンストレイントが有効になると、エージェントは要求元コンシューマに許可を出し、契約が締結する。
【００１１】
また、本発明の一面は、イベントチャンネルネットワーク（ＥＣＮ）内の複数のネットワークフィルタで新しいフィルタ・コンストレイントの計算および展開を行うエージェントである。エージェントは、ＥＣＮ内のネットワークフィルタにそれぞれ対応する複数のモデルフィルタを含むネットワークモデルと、新しいフィルタ・コンストレイントに影響されるモデルフィルタを識別する手段と、識別されたモデルフィルタに対応するネットワークフィルタに新しいフィルタ・コンストレイントを渡す手段とを有する。
【００１２】
【発明の実施の形態】
下記２つの特性を備えているものを最適ネットワークと定義する。
１．  展開されたフィルタ・コンストレイントでイベントトラフィックを最小にすること。いずれかのイベントをノードＡからノードＡへ流す場合（フィルタ処理せず、破棄もしない）、そのイベントタイプをサブスクライブしている少なくとも１人のコンシューマがノードＡの下流（または、ノードＡに直接）に接続されていなければならない。
２．  無用のフィルタや無用のフィルタ・コンストレイントが存在しないこと。無用のフィルタ・コンストレイントとは、展開されてはいるものの、いずれかのイベントに合致してそれを破棄する役目を果たさないものを指す。
【００１３】
本発明によれば、ネットワークフィルタ内でフィルタ・コンストレイントを展開する際に使用するシグナリングに帯域内シグナリングおよび帯域外シグナリングが混在する。本発明では、新しいフィルタ・コンストレイントを有効にするためだけの制御メッセージ（すなわち、ブリーダ（ｂｌｅｅｄｅｒ）メッセージ）を搬送するためにネットワーク帯域幅を使用する。この帯域幅要求は、新しいフィルタ・コンストレイントの計算、配置、有効化に関わる制御メッセージの搬送にネットワーク帯域幅を使用する既存システムと比較してはるかに小さい。他の既存のソリューションで、新しいフィルタ・コンストレイントの計算と配置に帯域外シグナリングを使用するものがあるが、コンシューマとネットワーク間の契約を保証することができない。本発明によれば、ネットワークが最適化されると共に、フィルタ・コンストレイント展開中でも各コンシューマに対する契約は継続的に保証される。
【００１４】
図１は本発明の方法の実施に適したイベントチャンネルネットワーク（ＥＣＮ）１０の簡易ブロック図である。ＥＣＮは、複数のイベントプロデューサＰ１〜Ｐ４（１１〜１４）から複数のイベントコンシューマＣ１〜Ｃ３（１５〜１７）へメッセージ（イベント）を配信するための一組の関連プロセスである。プロデューサとコンシューマの間には複数のインタコネクトネットワークノードＮ１〜Ｎ４（１８〜２１）が接続される。プロデューサとインタコネクトノードはそれぞれ、各ノードから下流のリンクに渡されるイベントをフィルタ処理する１つ以上の関連イベントフィルタＦ１〜Ｆ１０（２２〜３１）を含むものとして図示されている。
【００１５】
ネットワークが完全に静的、すなわち、トポロジーが不変、提供されるすべてのイベントタイプが不変、サブスクライブされるすべてのイベントタイプが不変であれば、新しい組のフィルタ・コンストレイントについて計算する必要性がなく、したがってフィルタ・コンストレイント展開の必要もない。しかし、ネットワークが完全に静的なことはあり得ず、フィルタ構成の最適化を常に反復する必要がある。
【００１６】
図２はネットワーク内においてフィルタ・コンストレイントの計算および配置を行うエージェント４１の簡易ブロック図である。エージェントはタイマ４２と、そのネットワークのモデル４３を含む。ネットワークモデルはＥＣＮ（ノード、リンク、関連フィルタ）と、イベントタイプを提供するすべてのイベントプロデューサと、イベントタイプをサブスクライブするすべてのコンシューマとを含む。分かりやすくするため、ネットワークにおけるフィルタを「ネットワークフィルタ」と呼び、ネットワークフィルタをエミュレートするエージェント側ネットワークモデルにおける関連フィルタを「モデルフィルタ」と呼ぶ。新しいフィルタ・コンストレイントを必要とするネットワークフィルタをセットＡと呼び、対応するモデルフィルタをセットＢと呼ぶ。コンシューマの追加または削除、あるいはコンシューマによるサブスクライブイベントタイプに変更が生じると、ネットワークは最適状態でなくなると考えられる。この状況において、エージェントで新しいフィルタ・コンストレイントについて計算を実行する必要があり、続いて、ネットワークを再び最適化するためにネットワークにおけるフィルタ・コンストレイントを展開（除去、変更、または追加）する必要があるかもしれない。
【００１７】
エージェントは、セットＢの各モデルフィルタに対する［送出］フラグ４４、バッグ４５、［確認］フラグ４６の関係を維持する。［送出］フラグは、モデルフィルタの対応するネットワークフィルタ（セットＡのフィルタで代表）が「ブリーダ（ｂｌｅｅｄｅｒ）メッセージ」と呼ばれる特別なメッセージを送るべきか否かを示す。ブリーダメッセージは、対象のネットワークフィルタの識別子を含んでいる。バッグは、ブリーダメッセージを送出する上流側ネットワークフィルタの識別子を含んでいる。［確認］フラグは、対応するネットワークフィルタからエージェントが「全ブリーダ検出済」メッセージを受け取ったか否かを表す。エージェントは［送出］フラグと［確認］フラグを「偽（ｆａｌｓｅ）］に初期化し、セットＢの各モデルフィルタに対してバッグを「空」に初期化する。エージェントは、ネットワークフィルタ・シグナリング機構４７を用いてネットワークフィルタと通信し、コンシューマシグナリング機構４８を用いてコンシューマと通信する。
【００１８】
一般に、コンシューマの追加または削除、あるいはコンシューマのサブスクライブイベントタイプに変更が生じた場合、エージェント４１はネットワークにおける新しいフィルタ・コンストレイントとそれらの配置について計算する。ネットワークで新しいフィルタ・コンストレイントを展開する必要があるとき、エージェントは、要求元コンシューマにつながるモデルフィルタのうち影響を受けるものすべてを識別するためにネットワークモデル４３を使用する。そして、フィルタ・コンストレイントは対応するネットワークフィルタに渡され、エージェントは、ブリーダメッセージにある識別子を下流のネットワークフィルタに送るようにネットワークフィルタに命令する。すべての必要なブリーダメッセージをネットワークフィルタで受け取ると、フィルタは新しいフィルタ・コンストレイントを有効にして、全ブリーダ検出済メッセージと呼ばれる確認をエージェントに送る。すべてのネットワークフィルタから応答があると、エージェントは要求元コンシューマに許可を与え、契約が締結する。
【００１９】
図３Ａ〜３Ｃは本発明による方法の好ましい実施例のステップを示すフローチャートである。この方法は、新しいフィルタ・コンストレイントとそれらの配置がエージェント４１によって既に計算済みであることを前提とする。ステップ５１において、エージェントはコンシューマからサブスクライブイベントタイプの変更要求を受け取る。あるいは、エージェントはイベントタイプのサブスクライブを希望する新規コンシューマから要求を受け取る。ステップ５２において、エージェントは後のステップまで呼をブロックする（すなわち、要求元コンシューマに、許可、不許可を通知しない）。したがって、方法の完了時まで、ＥＣＮと要求元コンシューマとの契約は完結しない。
【００２０】
ステップ５３において、エージェント４１はネットワークモデル４３を利用して、既存のネットワークトポロジ、プロデューサおよびプロデューサが提供するイベントタイプ、コンシューマおよびコンシューマがサブスクライブするイベントタイプ、新規要求に基づいて、すべてのネットワークフィルタのフィルタ・コンストレイントについて計算する。ステップ５４において、エージェントはセットＡ（フィルタ・コンストレイントの変更を必要とする一組のネットワークフィルタ）と、セットＢ（エージェントのメモリにある対応モデルフィルタ）を決定する。ステップ５５では、セットＢの各モデルフィルタに対する［送出］フラグ４４、バッグ４５、［確認］フラグ４６の関係がエージェントによって維持されることに注目する。ステップ５６において、エージェントは、各モデルフィルタの［送出］フラグおよび［確認］フラグを「偽」に初期化し、各モデルフィルタのバッグが空になるように初期化する。
【００２１】
ステップ５７において、エージェント４１はタイマ４２を始動する。続いてステップ５８において、セットＢの各モデルフィルタに関して手順Ａが実行される。手順Ａのステップを示すフローチャートが図４に示される。ステップ６１において、対象のモデルフィルタに基づいて、エージェントはすべての下流のモデルフィルタを検出する。図１のネットワークをサンプルネットワークとして考えると、Ｆ２から見た下流のフィルタはＦ５、Ｆ８、Ｆ９、Ｆ６、Ｆ１０である。ステップ６２において、エージェントは、検出された各モデルフィルタについて、そのモデルフィルタがセットＢの要素であるか否かを確認する。否であれば、方法はステップ６５に進む。検出されたモデルフィルタがセットＢの要素であれば、ステップ６３に移動して、エージェントは、検出されたモデルフィルタのバッグに対象モデルフィルタの識別子を入れる。ステップ６４において、エージェントは対象のモデルフィルタの［送出］フラグを「真（ｔｒｕｅ）」に設定する。
【００２２】
次に、ステップ６５において、検出された下流のモデルフィルタが要求元コンシューマに隣接しているか否かを決定する。否であれば、ステップ６７に進む。検出された下流のモデルフィルタが要求元コンシューマに隣接していれば、ステップ６６に移動して、エージェント４１は、要求元コンシューマに隣接する検出されたモデルフィルタのバッグに対象モデルフィルタの識別子を入れる。ステップ６７ですべての下流モデルフィルタのチェックが完了していなければ、ステップ６８に移動して、エージェントは次の下流モデルフィルタを検出する。そして、ステップ６２に戻る。すべての下流モデルフィルタのチェックが完了した時、図３Ａに戻って、ステップ６９に続く。
【００２３】
ステップ６９において、エージェント４１はセットＢの各モデルフィルタのバッグをチェックする。そして、図３Ｂへ移動してステップ７１において、セットＢの各モデルフィルタについてバッグが空であるか否かを判定する。あるモデルフィルタのバッグが空であれば、ステップ７２に移動して、エージェントはモデルフィルタの対応ネットワークフィルタに新しいフィルタ・コンストレイントを渡す。エージェントは、フィルタ・コンストレイントを直ちに有効するようにネットワークフィルタに命令する。そして、ステップ７４に進む。
【００２４】
対象のモデルフィルタのバッグが空でなければ、ステップ７３に移動して、エージェント４１は新しいフィルタ・コンストレイントを対応のネットワークフィルタに渡し、そのネットワークフィルタに２つの機能を果たすように命令する。まず、ネットワークフィルタは、対象モデルフィルタのバッグに登録されている識別子を含むブリーダメッセージを待ち受けるように命令される。また、エージェントはネットワークフィルタに命令して、必要なブリーダメッセージをすべてネットワークフィルタが検出し終える度に新しいフィルタ・コンストレイントを有効にすると共に、「全ブリーダ検出済」メッセージと呼ばれる特別なメッセージをエージェントへ返送させる。ステップ７４において、セットＢのモデルフィルタすべてに対するチェックが完了したか否かを判定する。否であれば、ステップ７５に移動して、エージェントはセットＢ内の次のモデルフィルタについてバッグをチェックする。そして、ステップ７１に戻る。
【００２５】
セットＢのモデルフィルタすべてに対するチェックが完了したと判定されると、ステップ７６において、エージェント４１はセットＢの各モデルフィルタについて［送出］フラグの状態チェックを開始する。ステップ７７において、エージェントは、各モデルフィルタに関して［送出］フラグが「真」であるか否か確認する。ステップ７８において、［送出］フラグが「真」である各モデルフィルタについて、エージェントは対応するネットワークフィルタに命令して、ネットワークフィルタの識別子と共にブリーダメッセージを下流へ送らせる。図３Ｃに移動して、ステップ８１において、セットＢのモデルフィルタすべてのチェックが完了したか否かを判定する。否であれば、ステップ８２に移動して、エージェントはセットＢ内の次のモデルフィルタについて［送出］フラグの状態をチェックする。そして、図３Ｂのステップ７７へ戻る。
【００２６】
セットＢのモデルフィルタすべてのチェックが完了すると、ステップ８３に移動して、バッグが空でないモデルフィルタすべての［確認］フラグが「真」に設定されているか否かを判定する。「真」に設定されていれば、ステップ８４に移動して、エージェント４１は要求元コンシューマに許可を与え、これで契約が締結する。［確認］フラグがすべて「真」に設定されていない場合、ステップ８３からステップ８５へ移動して、エージェントはネットワークフィルタからのブリーダ検出メッセージを待つ。ステップ８６でエージェントがネットワークフィルタからブリーダ検出メッセージを受け取った場合はステップ８７に移動して、エージェントは対応のモデルフィルタの［確認］フラグを「真」に設定する。そして、ステップ８３に戻る。
【００２７】
バッグが空でないモデルフィルタすべての［確認］フラグが「真」に設定されるか、あるいはタイマ４２の設定時間が経過するまで、エージェントはネットワークフィルタからのブリーダ検出メッセージを待ち続ける。したがって、ステップ８８では、タイマの設定時間が経過したか否かを判定する。まだ経過していなければ、ステップ８５に戻る。しかし、タイマの設定時間が経過すると、ステップ８９に移動して、エージェントは要求元コンシューマに対して不許可を通知して、契約は不締結となる。エージェントはエラー回復手順を開始し、そして、方法はステップ９０で終了する。
【００２８】
本発明の動作と構成は以上の記述で明らかになったと考える。図示、開示された方法およびエージェントは好ましい形態としての特徴をもつが、請求の範囲で規定された発明の範囲内で様々な変化、変形が可能であることは明らかである。
【図面の簡単な説明】
【図１】本発明の方法の実施に適したイベントチャンネルネットワーク（ＥＣＮ）を示す簡易ブロック図。
【図２】ＥＣＮ内でフィルタ・コンストレイントに関する計算、展開を行うエージェントを示す簡易ブロック図。
【図３Ａ】本発明の方法の好ましい実施例のステップを示すフローチャート。
【図３Ｂ】本発明の方法の好ましい実施例のステップを示すフローチャート。
【図３Ｃ】本発明の方法の好ましい実施例のステップを示すフローチャート。
【図４】手順Ａのステップ、すなわち図３Ａのサブルーチンを示すフローチャート。
【符号の説明】
４１  エージェント
４２  タイマ
４３  ネットワークモデル
４７  ネットワークフィルタ・シグナリング機構
４８  コンシューマシグナリング機構
【図１】
0003611813.tif 000002
【図２】
0003611813.tif 000003
【図３Ａ】
0003611813.tif 000004
【図３Ｂ】
0003611813.tif 000005
【図３Ｃ】
0003611813.tif 000006
【図４】
0003611813.tif 000007