(57)【特許請求の範囲】
【請求項１】
複数のドメインにおいてブロードキャストまたはマルチキャストされる検索メッセージと、サービス利用可能広告メッセージと、サービス利用不可広告メッセージとを含む広告・検索メッセージを送受信する広告・検索エージェントであって、
前記複数のドメインのいずれかに接続するノードによってブロードキャストまたはマルチキャストされる前記広告・検索メッセージを取得するメッセージ取得部と、
前記メッセージ取得部によって取得された前記広告・検索メッセージを記憶するメッセージＤＢと、
前記複数のドメインにおける前記ノードの接続を検出するノード接続監視部と、
前記ノード接続監視部によって前記ノードの接続が検出された際に、前記メッセージＤＢに記憶されている前記広告・検索メッセージのうち、接続したノードから送出された前記検索メッセージ及び前記サービス利用可能広告メッセージのみを抽出する第１の抽出機能と、前記ノードの接続が発生したドメインに接続しているノードを把握して、前記ドメインに接続しているノードから送出された前記検索メッセージ及び前記サービス利用可能広告メッセージのみを抽出する第２の抽出機能とのいずれかまたは両方を有する送出メッセージ抽出部と、
前記ノード接続監視部によって前記ノードの接続が検出された際に、前記送出メッセージ抽出部によって前記第１の抽出機能により抽出された前記検索メッセージ及び前記サービス利用可能広告メッセージを前記ノードの接続が発生したドメインに送出する第１の送出機能と、前記送出メッセージ抽出部によって前記第２の抽出機能により抽出された前記検索メッセージ及び前記サービス利用可能広告メッセージを前記ドメインに接続したノードに対して送出する第２の送出機能とのいずれかまたは両方を有するメッセージ送出部とを有する広告・検索エージェント。
【請求項２】
請求項１に記載の広告・検索エージェントにおいて、
前記送出メッセージ抽出部は、前記サービスを利用するノードであるサービス利用ノードが接続した場合、前記第１の抽出機能により抽出されたメッセージについては前記検索メッセージをさらに抽出し、前記第２の抽出機能により抽出されたメッセージについては前記サービス利用可能広告メッセージをさらに抽出し、また、サービスを提供するノードであるサービス提供ノードが接続した場合、前記第１の抽出機能により抽出されたメッセージについては前記サービス利用可能広告メッセージをさらに抽出し、前記第２の抽出機能により抽出されたメッセージについては前記検索メッセージをさらに抽出する第３の抽出機能を有することを特徴とする広告・検索エージェント。
【請求項３】
複数のドメインにおいてブロードキャストまたはマルチキャストされる検索メッセージと、サービス利用可能広告メッセージと、サービス利用不可広告メッセージとを含む広告・検索メッセージを送受信する広告・検索エージェントであって、
前記複数のドメインのいずれかに接続するノードによってブロードキャストまたはマルチキャストされる前記広告・検索メッセージを取得するメッセージ取得部と、
前記メッセージ取得部によって取得された前記広告・検索メッセージを記憶するメッセージＤＢと、
前記複数のドメインにおける前記ノードの切断を検出するノード接続監視部と、
前記ノード接続監視部によって前記ノードの切断が検出された際に、前記メッセージＤＢに記憶されている前記広告・検索メッセージのうち、切断したノードから送出された前記サービス利用不可広告メッセージのみを抽出する第１の抽出機能と、前記ノードの切断が発生したドメインに接続しているノードを把握して、前記ドメインに接続しているノードから送出された前記サービス利用不可広告メッセージのみを抽出する第２の抽出機能とのいずれかまたは両方を有する送出メッセージ抽出部と
前記ノード接続監視部によってノードの切断が検出された際に、前記送出メッセージ抽出部によって前記第１の抽出機能により抽出された前記サービス利用不可広告メッセージを前記ノードの切断が発生したドメインに送出する第１の送出機能と、前記送出メッセージ抽出部によって前記第２の抽出機能により抽出されたサービス利用不可広告メッセージを前記ドメインから切断したノードに対して送出する第２の送出機能とのいずれかまたは両方を有するメッセージ送出部とを有する広告・検索エージェント。
【請求項４】
請求項３に記載の広告・検索エージェントにおいて、
前記送出メッセージ抽出部は、前記サービスを利用するノードであるサービス利用ノードが切断した場合、前記第１の抽出機能により抽出されたメッセージについては前記メッセージの抽出は行わず、前記第２の抽出機能により抽出されたメッセージについては前記サービス利用不可広告メッセージをさらに抽出し、また、サービスを提供するノードであるサービス提供ノードが切断した場合、前記第１の抽出機能により抽出されたメッセージについては前記サービス利用不可広告メッセージをさらに抽出し、前記第２の抽出機能により抽出されたメッセージについては前記メッセージの抽出は行わない第３の抽出機能を有することを特徴とする広告・検索エージェント。
【請求項５】
複数のドメインにおいてブロードキャストまたはマルチキャストされる検索メッセージと、サービス利用可能広告メッセージと、サービス利用不可広告メッセージとを含む広告・検索メッセージを送受信する広告・検索エージェントであって、
前記複数のドメインのいずれかに接続するノードによってブロードキャストまたはマルチキャストされる前記広告・検索メッセージを取得するメッセージ取得部と、
前記メッセージ取得部によって取得された前記広告・検索メッセージを記憶するメッセージＤＢと、
前記複数のドメインにおける前記ノードの接続を検出し、また、前記ノードの切断を検出するノード接続監視部と、
前記メッセージＤＢに格納されている広告・検索メッセージのうち、前記ノード接続監視部によってノードの接続が検出された際に、接続したノードから送出された前記検索メッセージ及び前記サービス利用可能広告メッセージのみを抽出し、また、前記ノード接続監視部によってノードの切断が検出された際には、切断したノードから送出された前記サービス利用不可広告メッセージのみを抽出する第１の抽出機能と、前記ノード接続監視部によってノードの接続が検出された際に、前記ドメインに接続しているノードから送出された前記検索メッセージ及び前記サービス利用可能広告メッセージのみを抽出し、前記ノード接続監視部によってノードの切断が検出された際には、前記ドメインに接続しているノードから送出された前記サービス利用不可広告メッセージのみを抽出する第２の抽出機能とのいずれかまたは両方を有する送出メッセージ抽出部と、
前記ノード接続監視部によってノードの接続または切断が検出された際に、前記送出メッセージ抽出部によって前記第１の抽出機能により抽出された前記広告・検索メッセージをノードの接続または切断が発生したドメインに送出する第１の送出機能と、前記送出メッセージ抽出部によって前記第２の抽出機能により抽出された前記広告・検索メッセージを前記ドメインに接続または切断したノードに対して送出する第２の送出機能とのいずれかまたは両方を有するメッセージ送出部とを有する広告・検索エージェント。
【請求項６】
請求項５に記載の広告・検索エージェントにおいて、
前記送出メッセージ抽出部は、前記サービスを利用するノードであるサービス利用ノードが接続または切断した場合、前記第１の抽出機能により抽出されたメッセージについては前記検索メッセージをさらに抽出し、前記第２の抽出機能により抽出されたメッセージについては前記サービス利用可能広告メッセージまたは前記サービス利用不可広告メッセージをさらに抽出し、また、サービスを提供するノードであるサービス提供ノードが接続または切断した場合、前記第１の抽出機能により抽出されたメッセージについては前記サービス利用可能広告メッセージまたは前記サービス利用不可広告メッセージをさらに抽出し、前記第２の抽出機能により抽出されたメッセージについては前記検索メッセージをさらに抽出する第３の抽出機能を有することを特徴とする広告・検索エージェント。
【請求項７】
請求項１乃至６のいずれか１項に記載の広告・検索エージェントにおいて、
前記メッセージＤＢは、複数の前記メッセージ取得部によって取得された広告・検索メッセージを記憶することを特徴とする広告・検索エージェント。
【請求項８】
複数のドメインにおいてブロードキャストまたはマルチキャストされる検索メッセージと、サービス利用可能広告メッセージと、サービス利用不可広告メッセージとを含む広告・検索メッセージを送受信する広告・検索エージェントであって、
前記複数のドメインにおけるノードの接続を検出し、また、ノードの切断を検出するノード接続監視部と、
前記ノード接続監視部によって前記ノードの接続または切断が検出された際に、前記ノードの接続先ドメインまたは切断元ドメインを対象ドメインに指定してメッセージ生成を指示する第１のメッセージ生成指示機能と、接続または切断したノードを対象ノードに指定してメッセージ生成を指示する第２のメッセージ生成指示機能とのいずれかまたは両方を有する送出メッセージ抽出部と、
前記送出メッセージ抽出部からのメッセージ生成の指示に基づいて、対象ノードまたは対象ドメインの前記サービス利用可能広告メッセージ及び前記サービス利用不可広告メッセージを生成する送出メッセージ生成部と、
前記ノード接続監視部によって前記ノードの接続または切断が検出された際に、前記送出メッセージ抽出部の前記第１のメッセージ生成指示機能を用いて生成された前記検索メッセージ及び前記サービス利用可能広告メッセージを前記ノードの接続または切断が発生したドメインへ送出するドメイン送出機能と、前記送出メッセージ抽出部の前記第２のメッセージ生成指示機能を用いて生成された前記検索メッセージ及び前記サービス利用可能広告メッセージを前記ドメインに接続したノードに対して送出するノード送出機能とのいずれかまたは両方を有するメッセージ送出部とを有する広告・検索エージェント。
【請求項９】
請求項８に記載の広告・検索エージェントにおいて、
前記送出メッセージ抽出部は、サービスを利用するノードであるサービス利用ノードが接続または切断した場合、前記第１のメッセージ生成指示機能によりメッセージの生成を指示し、また、サービスを提供するノードであるサービス提供ノードが接続または切断した場合は、前記第２のメッセージ生成指示機能によりメッセージの生成を指示することを特徴とする広告・検索エージェント。
【請求項１０】
請求項８または請求項９に記載の広告・検索エージェントにおいて、
前記送出メッセージ生成部によって生成されたメッセージを記憶するメッセージＤＢをさらに有し、
前記送出メッセージ抽出部は、メッセージ生成を指示する場合、メッセージ生成指示の対象ノードまたは対象ドメインを記憶する機能をさらに有し、前記第１のメッセージ生成指示機能を用いてメッセージ生成を指示する場合、メッセージ生成指示の対象ドメインについて既にメッセージの生成を行ったことがあるか否かをチェックし、また、前記第２のメッセージ生成指示機能を用いてメッセージの生成を指示する場合、メッセージ生成指示の対象ノードについて既にメッセージの生成を行ったことがあるか否かをチェックし、前記対象ドメインまたは前記対象ノードについて既にメッセージの生成を行ったことがない場合にのみメッセージの生成を指示することを特徴とする広告・検索エージェント。
【請求項１１】
請求項１０に記載の広告・検索エージェントにおいて、
前記メッセージＤＢは、複数の前記送出メッセージ抽出部のメッセージ生成指示によって生成されたメッセージを記憶することを特徴とする広告・検索エージェント。
【請求項１２】
請求項１乃至７のいずれか１項に記載の広告・検索エージェントにおいて、
前記メッセージ送出部は、前記第２の送出機能によりメッセージを送出する場合、メッセージをユニキャストメッセージに変換して送出することを特徴とする広告・検索エージェント。
【請求項１３】
請求項８乃至１１のいずれか１項に記載の広告・検索エージェントにおいて、
前記メッセージ送出部は、前記ノード送出機能によりメッセージを送出する場合、メッセージをユニキャストメッセージに変換して送出することを特徴とする広告・検索エージェント。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は広告・検索エージェントに関し、特にノードの接続・切断に伴うネットワーク上の利用可能サービスの変更を検出する広告・検索エージェントに関する。
【背景技術】
【０００２】
ネットワーク上で提供されるサービスを発見する手段として、ブロードキャスト、マルチキャストが利用されている。サービスを提供するノード（以下、サービス提供ノード）はサービスの存在をブロードキャスト、マルチキャストで広告することで同一ネットワークに存在する全てのサービスを利用するノード（以下、サービス利用ノード）にサービスの存在を一度に知らせることができる。またサービス利用ノードは、サービスの存在をブロードキャスト、マルチキャストで検索することで、同一ネットワークに存在する全てのサービスを一度に把握することができる。こうしたブロードキャスト、マルチキャストによるサービス発見を行うアプリケーションとしては、ＵＰｎＰ  ＤＡ（Ｕｎｉｖｅｒｓａｌ  Ｐｌｕｇ  ａｎｄ  Ｐｌａｙ  Ｄｅｖｉｃｅ  Ａｒｃｈｉｔｅｃｔｕｒｅ）やメッセンジャソフトであるＩＰ  Ｍｅｓｓｅｎｇｅｒ等が挙げられ、広く利用されている。
【０００３】
一方で、ブロードキャスト、マルチキャストはネットワークにかかる負荷が高いため、上記のアプリケーションではその頻度を抑制する実装がとられている。具体的に、サービス提供ノード、サービス利用ノードはマシン起動時（アプリケーション起動時）に一度サービスを広告または検索するメッセージをブロードキャスト、マルチキャストした後は、一定時間おきに自動的にブロードキャスト、マルチキャストを行うのが一般的である。ブロードキャスト、マルチキャストを行う間隔は個々のアプリケーションプログラムの実装により異なるが、例えばＵＰｎＰ  ＤＡの場合は概ね３０分である。
【０００４】
このため、サービス提供ノードまたはサービス利用ノードがマシン起動した後にネットワークに新規接続したり、起動時に接続していたネットワークとは別のネットワークに起動したまま接続しなおしたりした場合、当該ノードは接続先ネットワークに既に接続しているサービス提供ノードを発見したり、サービス利用ノードに自身の提供サービスを広告したりといったことを接続後即座に行うことができない。例えば、サービス提供ノードＸ，Ｙが既に接続しているネットワーク１にサービス利用ノードＡが接続した場合、ＡがＸ，Ｙの存在を知るには、Ｘ，Ｙが広告をブロードキャスト、マルチキャストするまで待つか、Ａ自身が検索メッセージをブロードキャスト、マルチキャストまで待たなければならない。サービス提供ノードがネットワークに接続した場合も同様の問題が起きる。また、ノードが切断した場合も同様の問題が起きる。
【０００５】
さらにこの問題は、物理的なネットワークへの接続時のみならず、仮想ネットワークへの接続時にも発生する。ブロードキャスト、マルチキャストでのサービスの広告、検索を行うアプリケーションの仮想ネットワーク上での利用が昨今注目されている。その理由は、ブロードキャスト、マルチキャストでのサービスの広告、検索はその範囲が同一ネットワーク上に限られるが、物理的に異なるネットワークをまたがった仮想ネットワークを作成し、その上でブロードキャスト、マルチキャストでのサービス広告、検索を行うことにより、物理的には異なるネットワークに存在するサービスを発見することが可能となるためである。しかしながら、こうしたメリットが存在する一方で、前述のように、仮想ネットワークに新たに接続したサービス利用ノードまたはサービス提供ノードが接続後即座に仮想ネットワーク上のサービスを利用したり、仮想ネットワーク上のノードにサービスを提供したりできないという課題がある。
【０００６】
こうした問題を解決する従来技術として、サービス提供ノードの代理でサービスの広告を行うデバイスプロキシを設置する方法がある（例えば、特許文献１参照。）。
【０００７】
デバイスプロキシはサブネット毎に一つ設置されており、異なるサブネットに存在するデバイスプロキシ同士が連携することにより、サービスの存在を異なるサブネットに存在するサービス利用ノードに対して、必要に応じて即座に通知することを可能にしている。具体的には、以下のような手順をとる。
【０００８】
デバイスプロキシは他のデバイスプロキシからの接続要求を受けると、自身の接続するサブネットに対してブロードキャストを行ってサービス提供ノードを検索する。検索に対する応答フレームを受信すると当該フレームを広告フレームに変換して、接続要求元のデバイスプロキシに対して送信する。これによりサービス利用ノードについては接続要求後即座にネットワーク上で提供されているサービスを発見することができる。
【特許文献１】特開２００５−３１１７７３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
上述した従来の技術には以下に示す３つの課題がある。
【００１０】
従来技術の第１の課題は、サービス提供ノードが接続した場合、ネットワークに既に接続しているサービス利用ノードに新規接続したサービスの情報を即座に通知できない点である。従来技術はサービス利用ノードが接続した際に、当該サービス利用ノードに対して既にネットワークに接続しているサービス提供ノードが提供するサービスの存在を通知するのであって、サービス提供ノードが接続しても、当該サービス提供ノードが提供するサービスが既存のサービス利用ノードに対して広告されることはない。
【００１１】
従来技術の第２の課題は、デバイスプロキシは自身が接続するサブネットドメインに存在する全てのサービスの情報を新規接続ノードに通知するため、デバイスプロキシが接続するサブネットドメインに存在するサービスの中から選択的に新規接続ノードにその存在を広告することができない点である。例えばデバイスプロキシが物理的なサブネットＡと仮想ネットワークＢに接続していてサブネットＡに接続するサービスＸ，Ｙ，Ｚのうち、Ｘのみが仮想ネットワークＢに接続していた場合、従来技術によれば仮想ネットワークＢに新規接続したノードＩには仮想ネットワークＢに接続しているＸのみならず、Ｙ，Ｚも新規接続ノードＩに通知されてしまう。この結果、Iには実際には利用できないサービスが通知されることに加えて、Iからの利用を拒否するため敢えてＹ，Ｚを仮想ネットワークに接続させていない場合であってもＹ，Ｚの情報がIに漏れてしまうことになる。この問題はデバイスプロキシが複数の物理ネットワークに接続している場合、複数の仮想ネットワークに接続している場合にも発生しうる。
【００１２】
従来技術の第３の課題は、ネットワークからのノードの切断を即座に通知することができない点である。従来技術のデバイスプロキシではノードのネットワークからの切断を通知する機能が提供されていないためである。例えば、サービス提供ノードがネットワークから切断した場合、当該ネットワークに接続しているサービス利用ノードには当該サービス提供ノードが提供するサービスが利用不可能になったことを切断後即座に検出することができない。また、サービス利用ノードがネットワークから切断した場 合、当該サービス利用ノードは切断元ネットワークで提供されていたサービスが利用不可能になったことを切断後即座に検出することができない。
【００１３】
本発明は、上述したような従来の技術が有する問題点に鑑みてなされたものであって、ノードが接続するドメインにて新規に接続したノードが提供するサービスまたは利用できるサービスを接続直後に検出することができる広告・検索エージェントを提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記目的を達成するために本発明は、
複数のドメインにおいてブロードキャストまたはマルチキャストされる検索メッセージと、サービス利用可能広告メッセージと、サービス利用不可広告メッセージとを含む広告・検索メッセージを送受信する広告・検索エージェントであって、
前記複数のドメインのいずれかに接続するノードによってブロードキャストまたはマルチキャストされる前記広告・検索メッセージを取得するメッセージ取得部と、
前記メッセージ取得部によって取得された前記広告・検索メッセージを記憶するメッセージＤＢと、
前記複数のドメインにおける前記ノードの接続を検出するノード接続監視部と、
前記ノード接続監視部によって前記ノードの接続が検出された際に、前記メッセージＤＢに記憶されている前記広告・検索メッセージのうち、接続したノードから送出された前記検索メッセージ及び前記サービス利用可能広告メッセージのみを抽出する第１の抽出機能と、前記ノードの接続が発生したドメインに接続しているノードを把握して、前記ドメインに接続しているノードから送出された前記検索メッセージ及び前記サービス利用可能広告メッセージのみを抽出する第２の抽出機能とのいずれかまたは両方を有する送出メッセージ抽出部と、
前記ノード接続監視部によって前記ノードの接続が検出された際に、前記送出メッセージ抽出部によって前記第１の抽出機能により抽出された前記検索メッセージ及び前記サービス利用可能広告メッセージを前記ノードの接続が発生したドメインに送出する第１の送出機能と、前記送出メッセージ抽出部によって前記第２の抽出機能により抽出された前記検索メッセージ及び前記サービス利用可能広告メッセージを前記ドメインに接続したノードに対して送出する第２の送出機能とのいずれかまたは両方を有するメッセージ送出部とを有する。
【００１５】
また、前記送出メッセージ抽出部は、前記サービスを利用するノードであるサービス利用ノードが接続した場合、前記第１の抽出機能により抽出されたメッセージについては前記検索メッセージをさらに抽出し、前記第２の抽出機能により抽出されたメッセージについては前記サービス利用可能広告メッセージをさらに抽出し、また、サービスを提供するノードであるサービス提供ノードが接続した場合、前記第１の抽出機能により抽出されたメッセージについては前記サービス利用可能広告メッセージをさらに抽出し、前記第２の抽出機能により抽出されたメッセージについては前記検索メッセージをさらに抽出する第３の抽出機能を有することを特徴とする。
【００１６】
また、複数のドメインにおいてブロードキャストまたはマルチキャストされる検索メッセージと、サービス利用可能広告メッセージと、サービス利用不可広告メッセージとを含む広告・検索メッセージを送受信する広告・検索エージェントであって、
前記複数のドメインのいずれかに接続するノードによってブロードキャストまたはマルチキャストされる前記広告・検索メッセージを取得するメッセージ取得部と、
前記メッセージ取得部によって取得された前記広告・検索メッセージを記憶するメッセージＤＢと、
前記複数のドメインにおける前記ノードの切断を検出するノード接続監視部と、
前記ノード接続監視部によって前記ノードの切断が検出された際に、前記メッセージＤＢに記憶されている前記広告・検索メッセージのうち、切断したノードから送出された前記サービス利用不可広告メッセージのみを抽出する第１の抽出機能と、前記ノードの切断が発生したドメインに接続しているノードを把握して、前記ドメインに接続しているノードから送出された前記サービス利用不可広告メッセージのみを抽出する第２の抽出機能とのいずれかまたは両方を有する送出メッセージ抽出部と
前記ノード接続監視部によってノードの切断が検出された際に、前記送出メッセージ抽出部によって前記第１の抽出機能により抽出された前記サービス利用不可広告メッセージを前記ノードの切断が発生したドメインに送出する第１の送出機能と、前記送出メッセージ抽出部によって前記第２の抽出機能により抽出されたサービス利用不可広告メッセージを前記ドメインから切断したノードに対して送出する第２の送出機能とのいずれかまたは両方を有するメッセージ送出部とを有する。
【００１７】
また、前記送出メッセージ抽出部は、前記サービスを利用するノードであるサービス利用ノードが切断した場合、前記第１の抽出機能により抽出されたメッセージについては前記メッセージの抽出は行わず、前記第２の抽出機能により抽出されたメッセージについては前記サービス利用不可広告メッセージをさらに抽出し、また、サービスを提供するノードであるサービス提供ノードが切断した場合、前記第１の抽出機能により抽出されたメッセージについては前記サービス利用不可広告メッセージをさらに抽出し、前記第２の抽出機能により抽出されたメッセージについては前記メッセージの抽出は行わない第３の抽出機能を有することを特徴とする。
【００１８】
また、複数のドメインにおいてブロードキャストまたはマルチキャストされる検索メッセージと、サービス利用可能広告メッセージと、サービス利用不可広告メッセージとを含む広告・検索メッセージを送受信する広告・検索エージェントであって、
前記複数のドメインのいずれかに接続するノードによってブロードキャストまたはマルチキャストされる前記広告・検索メッセージを取得するメッセージ取得部と、
前記メッセージ取得部によって取得された前記広告・検索メッセージを記憶するメッセージＤＢと、
前記複数のドメインにおける前記ノードの接続を検出し、また、前記ノードの切断を検出するノード接続監視部と、
前記メッセージＤＢに格納されている広告・検索メッセージのうち、前記ノード接続監視部によってノードの接続が検出された際に、接続したノードから送出された前記検索メッセージ及び前記サービス利用可能広告メッセージのみを抽出し、また、前記ノード接続監視部によってノードの切断が検出された際には、切断したノードから送出された前記サービス利用不可広告メッセージのみを抽出する第１の抽出機能と、前記ノード接続監視部によってノードの接続が検出された際に、前記ドメインに接続しているノードから送出された前記検索メッセージ及び前記サービス利用可能広告メッセージのみを抽出し、前記ノード接続監視部によってノードの切断が検出された際には、前記ドメインに接続しているノードから送出された前記サービス利用不可広告メッセージのみを抽出する第２の抽出機能とのいずれかまたは両方を有する送出メッセージ抽出部と、
前記ノード接続監視部によってノードの接続または切断が検出された際に、前記送出メッセージ抽出部によって前記第１の抽出機能により抽出された前記広告・検索メッセージをノードの接続または切断が発生したドメインに送出する第１の送出機能と、前記送出メッセージ抽出部によって前記第２の抽出機能により抽出された前記広告・検索メッセージを前記ドメインに接続または切断したノードに対して送出する第２の送出機能とのいずれかまたは両方を有するメッセージ送出部とを有する。
【００１９】
また、前記送出メッセージ抽出部は、前記サービスを利用するノードであるサービス利用ノードが接続または切断した場合、前記第１の抽出機能により抽出されたメッセージについては前記検索メッセージをさらに抽出し、前記第２の抽出機能により抽出されたメッセージについては前記サービス利用可能広告メッセージまたは前記サービス利用不可広告メッセージをさらに抽出し、また、サービスを提供するノードであるサービス提供ノードが接続または切断した場合、前記第１の抽出機能により抽出されたメッセージについては前記サービス利用可能広告メッセージまたは前記サービス利用不可広告メッセージをさらに抽出し、前記第２の抽出機能により抽出されたメッセージについては前記検索メッセージをさらに抽出する第３の抽出機能を有することを特徴とする。
【００２０】
また、前記メッセージＤＢは、複数の前記メッセージ取得部によって取得された広告・検索メッセージを記憶することを特徴とする。
【００２１】
また、複数のドメインにおいてブロードキャストまたはマルチキャストされる検索メッセージと、サービス利用可能広告メッセージと、サービス利用不可広告メッセージとを含む広告・検索メッセージを送受信する広告・検索エージェントであって、
前記複数のドメインにおけるノードの接続を検出し、また、ノードの切断を検出するノード接続監視部と、
前記ノード接続監視部によって前記ノードの接続または切断が検出された際に、前記ノードの接続先ドメインまたは切断元ドメインを対象ドメインに指定してメッセージ生成を指示する第１のメッセージ生成指示機能と、接続または切断したノードを対象ノードに指定してメッセージ生成を指示する第２のメッセージ生成指示機能とのいずれかまたは両方を有する送出メッセージ抽出部と、
前記送出メッセージ抽出部からのメッセージ生成の指示に基づいて、対象ノードまたは対象ドメインの前記サービス利用可能広告メッセージ及び前記サービス利用不可広告メッセージを生成する送出メッセージ生成部と、
前記ノード接続監視部によって前記ノードの接続または切断が検出された際に、前記送出メッセージ抽出部の前記第１のメッセージ生成指示機能を用いて生成された前記検索メッセージ及び前記サービス利用可能広告メッセージを前記ノードの接続または切断が発生したドメインへ送出するドメイン送出機能と、前記送出メッセージ抽出部の前記第２のメッセージ生成指示機能を用いて生成された前記検索メッセージ及び前記サービス利用可能広告メッセージを前記ドメインに接続したノードに対して送出するノード送出機能とのいずれかまたは両方を有するメッセージ送出部とを有する。
【００２２】
また、前記送出メッセージ抽出部は、サービスを利用するノードであるサービス利用ノードが接続または切断した場合、前記第１のメッセージ生成指示機能によりメッセージの生成を指示し、また、サービスを提供するノードであるサービス提供ノードが接続または切断した場合は、前記第２のメッセージ生成指示機能によりメッセージの生成を指示することを特徴とする。
【００２３】
また、前記送出メッセージ生成部によって生成されたメッセージを記憶するメッセージＤＢをさらに有し、
前記送出メッセージ抽出部は、メッセージ生成を指示する場合、メッセージ生成指示の対象ノードまたは対象ドメインを記憶する機能をさらに有し、前記第１のメッセージ生成指示機能を用いてメッセージ生成を指示する場合、メッセージ生成指示の対象ドメインについて既にメッセージの生成を行ったことがあるか否かをチェックし、また、前記第２のメッセージ生成指示機能を用いてメッセージの生成を指示する場合、メッセージ生成指示の対象ノードについて既にメッセージの生成を行ったことがあるか否かをチェックし、前記対象ドメインまたは前記対象ノードについて既にメッセージの生成を行ったことがない場合にのみメッセージの生成を指示することを特徴とする。
【００２４】
また、前記メッセージＤＢは、複数の前記送出メッセージ抽出部のメッセージ生成指示によって生成されたメッセージを記憶することを特徴とする。
【００２５】
また、前記メッセージ送出部は、前記第２の送出機能によりメッセージを送出する場合、メッセージをユニキャストメッセージに変換して送出することを特徴とする。
【００２６】
また、前記メッセージ送出部は、前記ノード送出機能によりメッセージを送出する場合、メッセージをユニキャストメッセージに変換して送出することを特徴とする。
【００２７】
上記のように構成された本発明においては、複数のドメインのいずれかに接続するノードによってブロードキャストまたはマルチキャストされる広告・検索メッセージがメッセージ取得部によって取得され、取得された広告・検索メッセージがメッセージＤＢに記憶され、ノードの接続を検出するノード接続監視部によってノードの接続が検出された際に、メッセージＤＢに記憶されている広告・検索メッセージのうち、接続したノードから送出された検索メッセージ及びサービス利用可能広告メッセージのみ、または、ノードの接続が発生したドメインに接続しているノードを把握して、当該ドメインに接続しているノードから送出された検索メッセージ及びサービス利用可能広告メッセージのみが送出メッセージ抽出部によって抽出され、接続したノードから送出された検索メッセージ及び前記サービス利用可能広告メッセージのみが抽出された場合、抽出された検索メッセージ及びサービス利用可能広告メッセージがメッセージ送出部によってノードの接続が発生したドメインに送出され、また、ドメインに接続しているノードから送出された検索メッセージ及びサービス利用可能広告メッセージのみが抽出された場合は、抽出された検索メッセージ及びサービス利用可能広告メッセージがメッセージ送出部によってドメインに接続したノードに対して送出される。
【００２８】
これにより、ドメインに新規に接続したノードが当該ドメインにサービスを提供するサービス提供ノードである場合、当該ノードが接続した直後に当該ドメインにてそのサービスを検出することができ、また、ドメインに新規に接続したノードが当該ドメインにてサービスを利用するサービス利用ノードである場合、当該ノードが接続した直後に接続したノードが当該ドメインにて利用できるサービスを検出することができる。
【発明の効果】
【００２９】
以上説明したように本発明においては、複数のドメインのいずれかに接続するノードが、ブロードキャストまたはマルチキャストされる広告・検索メッセージを取得し、取得された広告・検索メッセージを記憶し、ノードの接続が検出された際に、記憶されている広告・検索メッセージのうち、接続したノードから送出された検索メッセージ及びサービス利用可能広告メッセージのみ、または、ノードの接続が発生したドメインに接続しているノードを把握して、当該ドメインに接続しているノードから送出された検索メッセージ及びサービス利用可能広告メッセージのみを抽出し、接続したノードから送出された検索メッセージ及び前記サービス利用可能広告メッセージのみが抽出された場合、抽出された検索メッセージ及びサービス利用可能広告メッセージをノードの接続が発生したドメインへ送出し、また、ドメインに接続しているノードから送出された検索メッセージ及びサービス利用可能広告メッセージのみが抽出された場合は、抽出された検索メッセージ及びサービス利用可能広告メッセージをドメインに接続したノードへ送出する構成としたため、ノードが接続するドメインにて新規に接続したノードが提供するサービスまたは利用できるサービスを接続直後に検出することができる。
【発明を実施するための最良の形態】
【００３０】
以下に、本発明の実施の形態について図面を参照して説明する。
（第１の実施の形態）
図１は、本発明の広告・検索エージェントモジュールの第１の実施の形態を示す図である。
【００３１】
図１に示すように、広告・検索エージェントモジュール１００は、ドメイン２１０−１〜２１０−ｍと接続された構成となっている。
【００３２】
ここで、ドメイン２１０−１〜２１０−ｍは、互いに独立したブロードキャストまたはマルチキャストドメインを形成するネットワークである。あるドメインから送出されたブロードキャストまたはマルチキャストメッセージは他のドメインには到達しない。ドメインの例としては物理的なサブネット（ＬＡＮ）やＶＬＡＮ、Ｓｏｆｔｅｔｈｅｒ等で構築される仮想的なＬＡＮ（すなわち、レイヤ２レベルのＶＰＮ）、企業のイントラネット、Ｇｎｕｔｅｌｌａ等のＰ２Ｐファイル共有アプリケーション等で構築されたアプリケーションレベルの仮想ネットワーク等が挙げられる。
【００３３】
また、ノード２１１−１１〜２１１−ｍｎは、ドメイン２１０−１〜２１０−ｍにそれぞれ接続されたノードであり、ブロードキャストまたはマルチキャストによってサービスの広告、検索を行うアプリケーションが動作しているノードである。ノード２１１−１１〜２１１−ｍｎで動作するアプリケーションの例としては、ＵＰｎＰ  ＤＡやＩＰ  ＭｅｓｓｅｎｇｅｒやＧｎｕｔｅｌｌａ等が挙げられる。なお、ノード２１１−１１〜２１１−ｍｎは複数のドメイン２１０−１〜２１０−ｍに接続されていても良い。
【００３４】
また、ノード２１１−１１〜２１１−ｍｎは、サービスを提供する側のサービス提供ノードとサービスを利用する側のサービス利用ノードとのいずれかまたは両方に分類される。例えば、ＵＰｎＰ  ＤＡの下位規定の一つであるＵＰｎＰ  ＡＶ  Ａｒｃｈｉｔｅｃｔｕｒｅでは、Ｃｏｎｔｒｏｌ  Ｐｏｉｎｔの機能を有するノードが、サービス提供ノードとなり、またＮｅｄｉａ  Ｓｅｒｖｅｒの機能を有するノードがサービス利用ノードとなる。なお、アプリケーションによっては同一のノードがサービスの提供と利用との双方を行う場合がある。
【００３５】
また、ノード２１１−１１〜２１１−ｍｎは、通常のＰＣ端末に限らず、ブロードキャストまたはマルチキャストによってサービスの広告、検索を行うアプリケーションが動作しているノード２１１−１１〜２１１−ｍｎであれば、ＤＶＤレコーダやプリンタ、ホームルータ等のＰＣ以外の端末の場合も考えられる。例えば、前述したＵＰｎＰ  ＡＶ  Ａｒｃｈｉｔｅｃｔｕｒｅが動作するノード２１１−１１〜２１１−ｍｎとして、テレビやＤＶＤレコーダ、ミニコンポが存在する。
【００３６】
また、サービスの広告は、サービス提供ノードがサービスの利用可能状態を広告するメッセージを接続するドメイン２１０−１〜２１０−ｍでブロードキャストまたはマルチキャストすることで行われる。以下の説明では、サービスが利用可能な状態であることを広告するメッセージをサービス利用可能広告メッセージ、サービスが利用不可能な状態であることを広告するメッセージをサービス利用不可広告メッセージとそれぞれ称することにする。サービス利用可能メッセージ、サービス利用不可メッセージとしては、例えば、ＵＰｎＰ  ＤＡでサービス検索、広告を行うプロトコルＳＳＤＰ（Ｓｉｍｐｌｅ  Ｓｅｒｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｔｏｃｏｌ）で規定されたａｌｉｖｅメッセージやｂｙｅｂｙｅメッセージが該当する。
【００３７】
また、サービスの検索は、サービス利用ノードが検索メッセージを接続するドメイン２１０−１〜２１０−ｍでブロードキャストまたはマルチキャストすることで行われる。検索メッセージとしては、例えばＵＰｎＰ  ＤＡの場合、前述のＳＳＤＰで規定されたＤｉｓｃｏｖｅｒメッセージが該当する。
【００３８】
なお、上述したサービス利用可能広告メッセージとサービス利用不可広告メッセージと検索メッセージとをまとめて、以下、広告・検索メッセージと称する。
【００３９】
広告・検索エージェントモジュール１００において、複数のドメイン２１０−１〜２１０−ｍのノード２１１−１１〜２１１−ｍｎから送出される広告・検索メッセージが取得され、ドメイン２１０−１〜２１０−ｍのいずれかに新規にノード２１１−１１〜２１１−ｍｎが接続された場合、当該ノード２１１−１１〜２１１−ｍｎが接続先ドメイン２１０−１〜２１０−ｍで提供されているサービスを接続後即座に検出できるように、つまり当該ノード２１１−１１〜２１１−ｍｎが提供するサービスを接続先ドメイン２１０−１〜２１０−ｍに既に接続しているノードが即座に検出できるように、前記で取得されたメッセージが接続先ドメイン２１０−１〜２１０−ｍへ送出される。それとともに、ドメイン２１０−１〜２１０−ｍのいずれかでノード２１１−１１〜２１１−ｍｎが切断された場合には、当該ノード２１１−１１〜２１１−ｍｎの切断元ドメイン２１０−１〜２１０−ｍで提供されていたサービスが切断後即座に利用不可の状態となったことを検出できるように、つまり当該ノード２１１−１１〜２１１−ｍｎが提供するサービスを切断元ドメイン２１０−１〜２１０−ｍに既に接続しているノード２１１−１１〜２１１−ｍｎが切断後即座に利用不可の状態となったことを検出できるように、前記で取得したメッセージが接続先ドメイン２１０−１〜２１０−ｍへ送出される。
【００４０】
広告・検索エージェントモジュール１００は複数のドメイン２１０−１〜２１０−ｍにおいてノード２１１−１１〜２１１−ｍｎが送出する広告・検索メッセージを取得し、ドメイン２１０−１〜２１０−ｍのいずれかで新規にノードが接続した場合は、当該ノードがサービス利用ノードである場合には、接続先ドメインで提供されているサービスを接続後即座に発見できるようにするとともに、当該ノードがサービス提供ノードである場合には、当該ノードが提供するサービスを接続先ドメインに既に接続しているサービス利用ノードが即座に発見できるようにする。また、ドメイン２１０−１〜２１０−ｍのいずれかでノードが切断した場合は、当該ノードがサービス利用ノードである場合には切断元ドメインで提供されていたサービスが切断後即座に利用不可の状態となったことを検出できるようにするとともに、当該ノードがサービス提供ノードである場合には、当該ノードが提供するサービスを切断元ドメインに既に接続しているサービス利用ノードが切断後即座に利用不可の状態となったことを検出できるようにする。これらを実現するため、広告・検索エージェントモジュール１００は、取得した広告・検索メッセージを接続先ドメインへ送出する。
【００４１】
広告・検索エージェントモジュール１００は、複数のドメイン２１０−１〜２１０−ｍからブロードキャストまたはマルチキャストメッセージを受信でき、かつ複数のドメイン２１０−１〜２１０−ｍに対してブロードキャストまたはマルチキャストメッセージを送出できる位置に配置される。以下、広告・検索エージェントモジュール１００がブロードキャストまたはマルチキャストを受信及び送信できるドメイン２１０−１〜２１０−ｍを広告・検索エージェントモジュール１００の監視ドメインと称する。
【００４２】
図２は、図１に示した広告・検索エージェントモジュール１００が、ＶＬＡＮスイッチ内に配置された場合の接続構成の一例を示す図である。
【００４３】
図１に示した広告・検索エージェントモジュール１００は図２に示すように、複数のＶＬＡＮ２４０−１〜２４０−３を収容するＶＬＡＮスイッチ２３０内に配置される。広告・検索エージェントモジュール１００はＶＬＡＮ２４０−１〜２４０−３に対してブロードキャスト及びマルチキャストメッセージを送受信できる。なお、この場合、広告・検索エージェントモジュール１００の監視ドメインはＶＬＡＮ２４０−１〜２４０−３となる。
【００４４】
図３は、図１に示した広告・検索エージェントモジュール１００が、ＶＰＮゲートウェイ内に配置された場合の接続構成の一例を示す図である。
【００４５】
図１に示した広告・検索エージェントモジュール１００は図３に示すように、ＶＰＮゲートウェイ３００−１に配置される。これにより、広告・検索エージェントモジュール１００は、企業ＸのＬＡＮ３２０とＶＰＮ３１０−１〜３１０−２に対してブロードキャスト及びマルチキャストメッセージを送受信できる。なお、この場合、広告・検索エージェントモジュール１００の監視ドメインは企業ＸのＬＡＮ３２０とＶＰＮ３１０−１〜３１０−２となる。
【００４６】
以下に、図１に示した広告・検索エージェントモジュール１００の内部構成について説明する。
【００４７】
広告・検索エージェントモジュール１００は図１に示すように、広告・検索メッセージ取得部１１０と、メッセージＤＢ１２０と、ノード接続監視部１３０と、送出メッセージ抽出部１４０と、メッセージ送出部１５０から構成されている。
【００４８】
広告・検索メッセージ取得部１１０は、全ての監視ドメイン２１０−１〜２１０−ｍにおいてブロードキャストまたはマルチキャストされるサービスの広告メッセージおよび検索メッセージを取得し、メッセージＤＢ１２０に格納する。なお、メッセージＤＢ１２０内に同一のメッセージ（同一のノード２１１−１１〜２１１−ｍｎから送信された同一内容のメッセージ）が既に格納されている場合には、取得されたメッセージを廃棄しても良い。
【００４９】
ブロードキャストまたはマルチキャストメッセージの取得は、例えば、それがＰ２Ｐファイル共有ソフトにおけるファイル検索メッセージ等のアプリケーションレベルでブロードキャストまたはマルチキャストされたメッセージである場合、対応するアプリケーションの少なくともブロードキャストまたはマルチキャストメッセージの受信を行う機能を広告・検索メッセージ取得部１１０が持つことで可能となる。
【００５０】
また、ＭＡＣアドレスがブロードキャストまたはマルチキャストアドレスに設定されたメッセージであるネットワークレベルでブロードキャストまたはマルチキャストされたメッセージの取得は、例えば、ＴＵＮ／ＴＡＰデバイスを利用して、監視ドメイン２１０−１〜２１０−ｍに接続しているネットワークインタフェースとＴＵＮ／ＴＡＰデバイスとをブリッジ接続し、ＴＵＮ／ＴＡＰデバイスに対して広告・検索メッセージ取得部１１０がファイルリードを行うことで可能となる。
【００５１】
さらに、ネットワークレベルでブロードキャストまたはマルチキャストされたメッセージについては、監視対象のネットワークインタフェースに到達したメッセージをキャプチャすることが可能なＰＣＡＰライブラリを用いて、監視ドメイン２１０−１〜２１０−ｍに接続しているネットワークインタフェースをＰＣＡＰの監視対象とすることでもブロードキャストまたはマルチキャストされたメッセージを取得することができる。
【００５２】
なお、ＴＵＮ／ＴＡＰデバイスやＰＣＡＰを利用してメッセージ取得を行った場合は、ブロードキャストまたはマルチキャストのレイヤ２レベルのヘッダ情報まで取得することができる。
【００５３】
メッセージＤＢ１２０は広告・検索メッセージ取得部１１０によって取得されたメッセージをデータベースとして記憶する。メッセージＤＢ１２０には広告・検索エージェントモジュール１１０の監視ドメイン２１０−１〜２１０−ｍに接続する全てのノード２１１−１１〜２１１−ｍｎの広告メッセージ及び検索メッセージが蓄積されることになる。
【００５４】
図４は、図３に示す位置に広告・検索エージェントモジュール１１０が配置された場合の図１に示した広告・検索エージェントモジュール１００のメッセージＤＢ１２０に記憶された内容の一例を示す図である。
【００５５】
図４に示すようにメッセージＤＢ１２０には、広告・検索エージェントモジュール１００の監視ドメインと、それらに接続するサービス利用ノード及びサービス提供ノードのメッセージとが対応付けられて記録され、広告・検索エージェントモジュール１００の監視ドメインである企業ＸのＬＡＮ３２０及びＶＰＮ３１０−１〜３１０−２に接続するサービス利用ノード及びサービス提供ノードのメッセージが記憶される。また広告・検索メッセージ取得部１１０がＴＵＮ／ＴＡＰデバイス等を利用してメッセージ取得を行った場合には、メッセージのレイヤ２レベルのヘッダ情報もメッセージＤＢ１２０に記憶される。
【００５６】
なお、メッセージＤＢ１２０は広告・検索エージェントモジュール１００を構成する他のモジュール（広告・検索メッセージ取得部１１０、ノード接続監視部１３０、送出メッセージ抽出部１４０及びメッセージ送出部１５０）と同一のノードに存在しなくても良い。単一のメッセージＤＢ１２０をデータベースサーバ等に配置させ、複数の広告・検索メッセージ取得部１１０、ノード接続監視部１３０、送出メッセージ抽出部１４０及びメッセージ送出部１５０で共有することにより、広告・検索エージェントモジュール１００は他の広告・検索エージェントモジュール１００内の送出メッセージ抽出部１４０によって取得されたメッセージについても参照することが可能となる。
【００５７】
図５は、図１に示したメッセージＤＢ１２０が複数の広告・検索エージェントモジュール１００によって共有される構成の一例を示す図である。
【００５８】
例えば図５では、ＶＰＮゲートウェイ３００−１とＶＰＮゲートウェイ３００−２とに配置された異なる広告・検索エージェントモジュール１００がメッセージＤＢ１２０を共有する。この場合、ＶＰＮゲートウェイ３００−１は自身の監視ドメインである企業ＸのＬＡＮ３２０及びＶＰＮ３１０−１〜３１０−２の他に、ＶＰＮゲートウェイ３００−２の監視ドメインである企業ＹのＬＡＮ３３０でブロードキャストまたはマルチキャストされたメッセージを参照することが可能となる。
【００５９】
また、図１に示したノード接続監視部１３０は、ノードの監視ドメインへの接続及び監視ドメインからの切断を検出し、メッセージ送出部１５０に対して接続先または切断元ドメインと当該ノードの識別子、さらに接続、切断の別を通知する。ここでノードの識別子はドメインによらずノードを一意に識別可能にするもので、例えばＭＡＣアドレスやアプリケーションで用意されているノードＩＤ等が該当する。
【００６０】
ノードの監視ドメインへの接続、切断の検出方法については、例えばドメインの接続端末が特定の管理サーバで管理されている場合には、ノード接続監視部１３０が当該管理サーバからドメイン接続端末の変化を通知してもらうことで、ノードの接続監視が可能となる。また、広告・検索エージェントモジュール１００がＶＬＡＮスイッチ２３０やＶＰＮゲートウェイ３００−１〜３００−２等に配置されている場合には、ＶＬＡＮスイッチ２３０やＶＰＮゲートウェイ３００−１〜３００−２の設定変更を監視することでノードの接続監視が可能となる。
【００６１】
また、送出メッセージ抽出部１４０は、メッセージ送出部１５０からの指示を受けて、メッセージ送出部１５０が送出すべきメッセージをメッセージＤＢ１２０の中から抽出し、メッセージ送出部１５０に渡す。
【００６２】
さらにメッセージ抽出部１４０は、メッセージＤＢ１２０から接続、切断ドメインに関係のあるノードのメッセージのみを抽出することで、接続、切断ドメインとは無関係のノードのメッセージがドメイン内に送出されることを防ぐ。
【００６３】
具体的には、送出メッセージ抽出部１４０は、以下に示す第１及び第２の抽出機能を有し、これらのいずれかまたは双方の機能を用いて、メッセージ送出部１５０が送出すべきメッセージを抽出する。なお、メッセージ送出部１５０にメッセージを渡す際に、いずれの抽出機能を用いて抽出したかをメッセージ送出部１５０に通知する。
【００６４】
第１の抽出機能は、送出メッセージ抽出部１４０は接続または切断したノードが過去いずれかの監視ドメインにおいてブロードキャストまたはマルチキャストされた検索、広告メッセージを、メッセージ送出部１５０が送信すべきメッセージとしてメッセージＤＢ１２０から抽出する機能である。
【００６５】
例えば、広告・検索エージェントモジュール１００が図３に示すように配置され、メッセージＤＢ１２０に図４に示すメッセージが記憶されている場合において、端末ＥがＶＰＮ３１０−２に接続した場合、図４に示すＮｏ．７のメッセージがメッセージ送出部１５０が送出すべきメッセージとして抽出される。
【００６６】
第２の抽出機能は、ノードの接続・切断が発生した監視ドメインにノードの接続・切断が発生する前から接続していたノードが過去いずれかの監視ドメインにおいてブロードキャストまたはマルチキャストしたメッセージを、メッセージ送出部１５０が送信すべきメッセージとしてメッセージＤＢ１２０から抽出する機能である。
【００６７】
この場合、送出メッセージ抽出部１４０はまず、新規接続または切断するノードの接続先ドメインに接続しているノードを把握する必要がある。具体的な把握方法としては、例えば、広告・検索エージェントモジュール１００がＶＬＡＮスイッチやＶＰＮゲートウェイに配置され、各ドメインがＭＡＣアドレスベースＶＬＡＮやレイヤ２レベルのＶＰＮ、すなわち仮想的なＬＡＮで構成されている場合には、ＶＬＡＮスイッチやＶＰＮゲートウェイの設定を確認することで、対象となるドメイン（ＶＬＡＮ、レイヤ２レベルＶＰＮ）に接続しているノードのＭＡＣアドレス等の識別子を把握することができる。また、ドメインがＳｏｆｔｅｔｈｅｒなどにより仮想的なＬＡＮとして構成されている場合には、仮想ＬＡＮの管理を行うサーバに問い合わせを行うことで、対象となるドメイン（仮想ＬＡＮ）に接続しているノードの識別子（ＭＡＣアドレス）を把握することができる。
【００６８】
例えば広告・検索エージェントモジュール１００が図３に示すように配置され、メッセージＤＢ１２０に図４に示すメッセージが記憶されている場合において、端末ＥがＶＰＮ３１０−２に接続した場合、まず送出メッセージ抽出部１４０は接続先ドメインに接続しているノードとしてＣ，Ｄ，Ｇ，Ｈを把握する。次に、これらのノードのメッセージとして図４のＮｏ．４，５，６，８，９，１０のメッセージがメッセージ送出部１５０が送出すべきメッセージとして抽出される。
【００６９】
送出メッセージ抽出部１４０は、第１の抽出機能、第２の抽出機能のいずれかまたは双方を用いてメッセージを抽出した後、抽出したメッセージを直接メッセージ送出部１５０へ渡すか、抽出したメッセージからさらに以下で説明する第３の抽出機能により一部のメッセージを選択してメッセージ送出部１５０に渡す。
【００７０】
第３の抽出機能は、第１の抽出機能、第２の抽出機能のいずれかまたは双方によって抽出されたメッセージから、さらにノードの接続、切断の別と接続または切断したノードの種別（すなわち接続または切断したノードがサービス提供ノードであるか、サービス利用ノードであるか）を考慮してメッセージを選択する機能である。
【００７１】
以下に、図１に示した広告・検索エージェントモジュール１００の送出メッセージ抽出部１４０における第３の抽出機能を用いたメッセージ抽出方法について説明する。
【００７２】
図６は、図１に示した広告・検索エージェントモジュール１００の送出メッセージ抽出部１４０における第３の抽出機能を用いたメッセージ抽出方法を説明するためのフローチャートである。
【００７３】
まず、ノードが接続したか、切断したかが判断される（ステップＳ１）。ノードが接続したと判断された場合、接続したノードが、サービス利用ノードであるか、サービス提供ノードであるかが判断される（ステップＳ２）。
【００７４】
接続したノードが、サービス利用ノードであると判断された場合、上述した第２の抽出機能を用いて抽出されたメッセージについては、抽出されたメッセージの中からサービス利用可能広告メッセージが選択される（ステップＳ３）。また、上述した第１の抽出機能を用いて抽出されたメッセージについては、抽出されたメッセージの中から検索メッセージが選択される（ステップＳ４）。
【００７５】
また、ステップＳ２にて、接続したノードが、サービス提供ノードであると判断された場合、第２の抽出機能を用いて抽出されたメッセージについては、抽出されたメッセージの中から検索メッセージが選択される（ステップＳ５）。また、第１の抽出機能を用いて抽出されたメッセージについては、抽出されたメッセージの中からサービス利用可能広告メッセージが選択される（ステップＳ６）。
【００７６】
一方、ステップＳ１にて、ノードが切断したと判断された場合、切断したノードが、サービス利用ノードであるか、サービス提供ノードであるかが判断される（ステップＳ７）。
【００７７】
切断したノードが、サービス利用ノードであると判断された場合、第１の抽出機能を用いて抽出されたメッセージについては、メッセージの選択は行われない。また、第２の抽出機能を用いて抽出されたメッセージについては、抽出されたメッセージの中からサービス利用不可広告メッセージが選択される（ステップＳ８）。
【００７８】
また、ステップＳ７にて、切断されたノードが、サービス提供ノードであると判断された場合、第１の抽出機能を用いて抽出されたメッセージについては、抽出されたメッセージの中からサービス利用不可広告メッセージが選択される（ステップＳ９）。また、第２の抽出機能を用いて抽出されたメッセージについては、メッセージの選択は行われない。
【００７９】
ここで、接続または切断したノードがサービス提供ノードであるかサービス利用ノードであるかについては、例えば、メッセージＤＢ１２０に記憶されているメッセージを参照することで把握することができる。メッセージＤＢ１２０に記憶されているメッセージが検索メッセージのみであるノードは、サービス利用ノードであり、またサービス利用可能、利用不可広告メッセージのいずれかまたは両方のノードはサービス提供ノードであると判断できる。例えば図４に示すメッセージＤＢ１２０の場合は、Ａ，Ｃ，Ｅ，Ｇ及びＩがサービス利用ノードであり、またＢ，Ｄ，Ｈ及びＪがサービス提供ノードであると判断できる。
【００８０】
なお、送出メッセージ抽出部１４０は、第１の抽出機能、第２の抽出機能によって抽出したメッセージからメッセージを選択する際に、接続または切断したノードの種別は考慮せず、単純にノードの接続、切断の別のみを考慮してメッセージの選択を行ってもよい。その場合、図６のステップＳ２とＳ７は省略され、ステップＳ１においてノードが接続したと判断された場合は、ステップＳ３〜Ｓ６に示すメッセージが、また、ステップＳ１においてノードが切断したと判断された場合は、ステップＳ８、Ｓ９に示すメッセージが、それぞれ選択される。
【００８１】
次にメッセージ送出部１５０について説明する。
【００８２】
メッセージ送出部１５０は、ノード接続監視部１３０から接続または切断の通知を受けると、送出メッセージ抽出部１４０に対してメッセージを抽出するように指示し、メッセージ送出部１５０は送出メッセージ抽出部１４０から渡されたメッセージを送出する。
【００８３】
メッセージ送出部１５０は、送出メッセージ抽出部１４０から渡されたメッセージを、接続、切断ノードまたは接続先、切断元ドメインのみに送出することにより、接続先、切断元ドメインとは無関係のノードにドメイン内で送信されたメッセージが送出されることを防ぐ。
【００８４】
以下に、メッセージ送出部１５０におけるメッセージ送出方法について具体的に説明する。メッセージ送出部１５０は、以下の第１の送出機能（ｃ）及び第２の送出機能（ｄ）のいずれかまたは両方の機能を有しており、これらの機能を用いてメッセージが送出される。
【００８５】
（ｃ）送出メッセージ抽出部１４０から渡されたメッセージをそのままドメインに送出する機能。
【００８６】
（ｄ）送出メッセージ抽出部１４０から渡されたメッセージのうち、特定の条件に合致するメッセージをユニキャストメッセージに変換した後、接続、切断ノードに送出する機能。
【００８７】
（ｃ）の送出機能が用いられる場合、送出メッセージ抽出部１４０から渡されるメッセージは全てブロードキャストまたはマルチキャストメッセージであるため、メッセージ送出部１５０が送出するメッセージも全てブロードキャストまたはマルチキャストメッセージである。メッセージ送出部１５０はノードが接続または切断したドメインに対してメッセージを送出する。
【００８８】
例えば、広告・検索メッセージ取得部１１０においてＴＵＮ／ＴＡＰデバイスやＰＣＡＰ等を利用してメッセージのレイヤ２レベルのヘッダ情報まで取得している場合は、取得ブロードキャストまたはマルチキャストメッセージのレイヤ２レベルのヘッダ情報に変更を加えずにそのままメッセージを送出する。この場合、メッセージは広告・検索エージェントモジュール１００から送出されるにも関わらず、その送信元ＭＡＣアドレスは当該メッセージをブロードキャストまたはマルチキャストしたサービス利用ノードまたはサービス提供ノードの送信元ＭＡＣアドレスのまま送出される。
【００８９】
（ｄ）の送出機能が用いられる場合、送出メッセージ抽出部１４０から渡されるメッセージのうち、第２の抽出機能を用いて抽出されたメッセージをユニキャストメッセージに変換して接続、切断したノードに対して送出する。具体的に、ユニキャストメッセージに変換されるメッセージは、以下の（ｅ）〜（ｇ）の３つのメッセージである。
【００９０】
（ｅ）ドメインに既に接続しているノードのサービス利用可能広告メッセージ。
【００９１】
（ｆ）ドメインに既に接続しているノードの検索メッセージ。
【００９２】
（ｇ）ドメインに既に接続しているノードのサービス利用不可広告メッセージ。
【００９３】
例えば、広告・検索メッセージ取得部１１０においてＴＵＮ／ＴＡＰデバイスやＰＣＡＰ等を利用してメッセージのレイヤ２レベルのヘッダ情報まで取得している場合は、取得されたブロードキャストまたはマルチキャストメッセージ（レイヤ２レベルのヘッダ情報）の宛先ＭＡＣアドレスを接続または切断したＭＡＣアドレスに変換して送出する。なお、広告・検索メッセージ取得部１１０がメッセージを取得した時点では宛先ＭＡＣアドレスはブロードキャストまたはマルチキャストアドレスとなっている。また、送信先ＭＡＣアドレスやその他のレイヤのヘッダ情報には変更を加えない条件に合致しない第１の抽出機能を用いて抽出されたメッセージについてはメッセージの変換は行わず、ノードの接続先、切断元ドメインに対して渡されたメッセージをそのままブロードキャストまたはマルチキャストする。
【００９４】
以下に、ノードが接続した場合と切断したノード場合とに分けて、接続、切断ノード及び、接続先、切断元ドメインに接続するノードが如何にして利用可能サービス変更を即時検出するかについて説明する。なお、以下の説明ではメッセージ送出部１５０におけるメッセージ送出機能として上述した（ｄ）の機能が用いられているものとする。
【００９５】
まず、ノードが接続した場合について説明する。
【００９６】
メッセージ送出部１５０によって、メッセージ抽出部１４０から第１の抽出機能を用いて抽出されたメッセージが渡された場合、渡されたメッセージが新規接続ノードの接続先ドメインに対してブロードキャストまたはマルチキャストされる。この場合、図６に示したステップＳ４と、ステップＳ６とのいずれかまたは両方によって選択されたメッセージが渡される。
【００９７】
この結果、新規接続ノードの接続先ドメインに既に接続しているノード全てにて新規接続ノードの検索メッセージが受信されることになり、接続先ドメインに既に接続しているサービス提供ノードによって検索メッセージに対する応答メッセージが新規接続ノードに送信される。このため、新規接続したサービス利用ノードは、接続後即座に接続先ドメインで利用可能なサービスを発見することができる。
【００９８】
また、新規接続ノードの接続先ドメインに既に接続しているノード全てに新規接続ノードのサービス利用可能広告メッセージが通知されることになり、接続先ドメインに既に接続しているサービス利用ノードは、サービス利用可能広告メッセージの通知によって、新規接続ノードがドメインに接続した後即座に新規接続ノードの提供するサービスを検出することができる。
【００９９】
一方、第２の抽出機能を用いて抽出されたメッセージを渡された場合は、渡されたメッセージがユニキャストメッセージに変換され、新規接続ノードに送信される。この場合、図６に示したステップＳ３と、ステップＳ５とのいずれかまたは両方によって選択されたメッセージが渡される。
【０１００】
この結果、新規接続ノードは接続先ドメインに既に接続しているノードのサービス利用可能広告メッセージが受信されることになり、接続後即座に接続先ドメインで利用可能なサービスを検出することができる。
【０１０１】
また、新規接続ノードにて接続先ドメインに既に接続しているサービス利用ノードの検索メッセージが受信され、新規接続ノードによって受信された検索メッセージに対する応答メッセージが送信されることにより、既に接続しているノードは新規接続ノードの提供するサービスを検出することができる。
【０１０２】
次に、ノードが切断した場合について説明する。
【０１０３】
第１の抽出機能を用いて抽出されたメッセージが渡された場合は、渡されたメッセージが切断ノードの切断元ドメインにブロードキャストまたはマルチキャストされる。この場合、図６に示したステップＳ９によって選択されたメッセージが渡される。
【０１０４】
この結果、切断元ドメインに接続しているサービス利用ノードにてブロードキャストまたはマルチキャストされたサービス利用不可広告メッセージが受信されることになるため、切断後即座に切断ノードが提供するサービスが利用不可になったことを知ることができる。
【０１０５】
また、第２の抽出機能を用いて抽出されたメッセージが渡された場合は、渡されたメッセージがユニキャストメッセージに変換され、切断ノードに対して送信される。この場合、図６に示したステップＳ８によって選択されたメッセージが渡される。
【０１０６】
この結果、切断ノードにてサービス利用不可広告メッセージが受信されるため、切断後即座に切断元ドメインで提供されていたサービスが利用不可になったことを知ることができる。
【０１０７】
なお、ノードのドメインからの切断の場合には、第１の抽出機能と第２の抽出機能との両方を用いてメッセージの抽出が行われることによって、サービス提供ノードとサービス利用ノードとのいずれが切断した場合にも対応することができる。この場合、図６に示したステップＳ８とステップＳ９との両方の抽出が行われる。
【０１０８】
以上説明した本実施の形態における広告・検索エージェントモジュール１００により、以下の効果がもたらされる。
【０１０９】
本実施の形態における広告・検索エージェントモジュール１００はサービス提供ノード、サービス利用ノードの監視ドメインへの接続とドメインからの切断を検出するとともに、接続または切断したドメイン及び接続、切断したノードのノード識別子を把握するノード接続監視部１３０と、ノード接続監視部１３０が検出したノードの識別子及び接続先または切断元ドメインに基づいて、当該ノードが過去ブロードキャスト、マルチキャストしたメッセージまたは、接続先または切断元ドメインに接続する他のノードが過去ブロードキャスト、マルチキャストしたメッセージのいずれかまたは両方を抽出する送出メッセージ抽出部１４０と、送出メッセージ抽出部１４０が抽出したメッセージが接続、切断したノードが送信したメッセージである場合には接続先または切断元のドメインに対してブロードキャスト、マルチキャストし、送出メッセージ抽出部１４０が抽出したメッセージが接 続先、切断元ドメインに接続する他のノードが送出するメッセージである場合には接続、切断したノードに対して送信するメッセージ送出部１５０とを有し、サービス提供ノードが新たにドメインに接続した場合には、ノード接続監視部１３０が接続を検出するとともに、当該サービス提供ノードのノード識別子と接続先ドメインを把握し、送出メッセージ抽出部１４０はノード接続監視部１３０が把握したノード識別子と接続先ドメインに基づいて、（Ａ）当該サービス提供ノードが過去ブロードキャスト、マルチキャストしたサービス利用可能広告メッセージまたは（Ｂ）接続先ドメインに接続している他のノードが過去ブロードキャスト、マルチキャストした検索メッセージのいずれかまたは両方を抽出し、
メッセージ送出部１５０は送出メッセージ抽出部１４０が抽出したメッセージが（Ａ）の場合はサービス提供ノードの接続先ドメインに対して抽出されたメッセージをブロードキャスト、マルチキャストし、（Ｂ）の場合はサービス提供ノードに対して抽出されたメッセージをブロードキャスト、マルチキャストする。
【０１１０】
これにより、サービス提供ノードがドメインに新規接続した場合に、当該ノードが提供するサービスを接続先ドメインに既に接続している他のノードがサービス提供ノードの接続後即座に発見することができる。
【０１１１】
また、本実施の形態における送出メッセージ抽出部１４０及びメッセージ送出部１５０は、ノードの接続または切断があった場合に、（ｉ）ノード接続または切断が あったドメインに接続しているノードのメッセージのみを抽出し、抽出したメッセージは接続または切断したノードにのみ送出する、もしくは（ｉｉ）接続ノード、切断ノードのメッセージのみを抽出し、抽出したメッセージは接続先または切断元ドメインにのみ送出する、のいずれかを行う。
【０１１２】
すなわち、接続先、切断元ドメインのメッセージが当該ドメインとは無関係のノードに送出されることが防がれ、また、接続または切断したノードのメッセージが接続先、切断元のドメインと無関係のノードに送出されることも防がれる。
【０１１３】
これにより、新たにサービス利用ノードがドメインに接続した場合に当該ドメインに接続しているサービス提供ノードのみを新たに接続したサービス利用ノードが発見可能になるとともに、新たにサービス提供ノードがドメインに接続した場合に当該ドメインに接続しているサービス利用ノードのみが新たに接続したサービス提供ノードの提供するサービスを発見できるようになる。
【０１１４】
さらに、本実施の形態における広告・検索エージェントモジュール１００は、ノード接続監視部１３０が監視ドメインからのノードの切断を検出すると、送出メッセージ抽出部１４０により切断ノードが過去に監視ドメインで送出したサービス利用不可広告メッセージまたは切断元ドメインに接続するノードが過去に監視ドメインで送出したサービス利用不可広告メッセージが抽出され、メッセージ送出部１５０が抽出されたメッセージの切断元ドメインへのブロードキャスト、マルチキャスト、または切断ノードへの送信を行う。
【０１１５】
これにより、ドメインからノードが切断した場合に、当該切断ノードがサービス提供ノードである場合は切断元ドメインに接続するサービス利用ノードが切断ノードの提供するサービスが利用不可になったことを即座に把握可能になるとともに、切断ノードがサービス利用ノードである場合は、切断元ドメインで提供されているサービスを切断ノードが即座に把握可能になる。
【０１１６】
ただし第１の実施の形態における広告・検索エージェントモジュールには次の課題がある。
【０１１７】
第１の実施の形態の第１の課題は、メッセージＤＢ１２０におけるメッセージの格納状態によって、ノードの接続、切断に伴うサービスの即時発見や切断検出が行えない場合がある点である。
【０１１８】
第１の実施の形態において広告・検索エージェントモジュール１００は、ノードが接続、切断した時点でメッセージＤＢ１２０に格納されているメッセージしか送出することができない。このため、例えばサービス提供ノードが新たにドメインに接続した場合、当該サービス提供ノードのサービス利用可能広告メッセージか接続先ドメインに接続するノードのサービス検索メッセージが予めメッセージＤＢ１２０に登録されていなければ、新規に接続したサービス提供ノードが提供するサービスを接続先ドメインに接続するノードが即座に発見することができない。また、サービス提供ノードがドメインから切断する場合も、切断の時点で当該サービス提供ノードのサービス利用不可広告メッセージがメッセージＤＢ１２０に格納されていなければ、切断時点で切断元ドメインに接続するノードが即座にサービス利用不可を検出することができない。サービス利用ノードが接続、切断する場合にも同様のことが言える。
【０１１９】
第２の課題は、ノードがドメインに接続した際に、広告・検索エージェントモジュール１００からの検索メッセージの送出によってサービスの即時発見を試みる場合（接続ノードがサービス提供ノードで、接続先ドメインに既に接続しているノードが過去送出した検索メッセージを接続ノードに送信する場合及び、接続ノードがサービス利用ノードで、接 続ノードが過去送出した検索メッセージを接続先ドメインにブロードキャスト、マルチキャストする場合）があるが、ノード上で稼動するアプリケーションの実装によっては広告・検索エージェントモジュール１００からの検索メッセージ送出によるサービス発見が不可能な場合がある点である。
【０１２０】
その理由は次のとおりである。広告・検索エージェントモジュール１００からの検索メッセージ送出によってサービス発見を試みる場合、サービス提供ノードは広告・検索エージェントモジュール１００から受信した検索メッセージに対する応答メッセージをサービス利用ノードに対して送信する。ここで、サービス利用ノード上のアプリケーションが常時応答メッセージの受信可能状態になるように実装されていれば、サービス利用ノードは応答メッセージの受信によってサービスを発見することができる。しかし、サービス利用ノード上のアプリケーションが自身が検索メッセージを送信した後一定時間のみ応答メッセージの受信可能状態になるように実装されている場合、サービス利用ノードは受信した応答メッセージを破棄してしまう。この場合、サービス利用ノードはサービスを発見することができない。
【０１２１】
以下に説明する第２の実施の形態では、上述した第１の課題及び第２の課題を解決可能な広告・検索エージェントモジュールについて述べる。
（第２の実施の形態）
以下に、本発明の第２の実施の形態について図面を参照して説明する。
【０１２２】
第２の実施の形態における広告・検索エージェントモジュールは、第１の実施の形態における広告・検索エージェントモジュールとは異なり、過去にノードから実際に送出されたメッセージのみならず、自身で作成したメッセージを送出することができる。
【０１２３】
図７は、本発明の広告・検索エージェントモジュールの第２の実施の形態を示す図である。
【０１２４】
図７に示すように、広告・検索エージェントモジュール１０２は、第１の実施の形態における広告・検索エージェントモジュール１００と異なり、監視ドメインに接続するノードがブロードキャストまたはマルチキャストするメッセージを取得する広告・検索メッセージ取得部１１０は有さず、代わりにサービス利用可能広告メッセージ及びサービス利用不可広告メッセージを生成する送出メッセージ生成部１６０を有する。また、送出メッセージ抽出部１４１の機能が第１の実施の形態の送出メッセージ抽出部１４０の機能とは異なる。
【０１２５】
以下、図７に示した広告・検索エージェントモジュール１０２における送出メッセージ抽出部１４１と送出メッセージ生成部１６０について説明する。なお、広告・検索エージェントモジュール１０２内の他の構成要素については第１の実施の形態と同じであるため、ここでは説明しない。
【０１２６】
図７に示した送出メッセージ抽出部１４１は、第１の実施の形態における送出メッセージ抽出部１４０の機能に加え、送出メッセージ生成部１６０に対してメッセージの生成を指示する機能を有する。さらに、送出メッセージ抽出部１４１は、ノードの接続先ドメインまたは切断元ドメインを対象ドメインに指定して送出メッセージ生成部１６０に対してメッセージの生成を指示する第１のメッセージ生成指示機能と、接続または切断したノードを対象ノードに指定して送出メッセージ生成部１６０に対してメッセージの生成を指示する第２のメッセージ生成指示機能とのいずれか、または両方を有する。
【０１２７】
送出メッセージ生成部１６０に対する指示内容には、メッセージ生成の対象ノードまたは対象ドメイン、生成するメッセージの種別（サービス利用可能広告メッセージ、サービス利用不可広告メッセージの別）が含まれる。
【０１２８】
送出メッセージ抽出部１４１の動作は、メッセージＤＢ１２０を参照する場合と参照しない場合とで異なる。
【０１２９】
まず、メッセージＤＢ１２０を参照しない場合について説明する。この場合、送出メッセージ抽出部１４１はメッセージ送出部１５０からの指示を受けると直ちに送出メッセージ生成部１６０に対してメッセージの生成を指示し、送出メッセージ生成部１６０によって生成されたメッセージをメッセージ送出部１５０に渡す。
【０１３０】
送出メッセージ生成部１６０に対するメッセージ生成の指示動作は、第１の実施の形態におけるメッセージ抽出部１４０のメッセージ抽出動作と同様に、以下に示す（ｊ）及び（ｋ）の２つの場合によって異なる。
【０１３１】
（ｊ）ノードが接続した場合と切断した場合。
【０１３２】
（ｋ）接続、切断したノードがサービス利用ノードである場合とサービス提供ノードである場合。
【０１３３】
送出メッセージ抽出部１４１は、送出メッセージ生成部１６０にメッセージ生成を指示するにあたって、（ｊ）のみを考慮して指示することもできるし、（ｊ）と（ｋ）との双方を考慮して指示することもできる。
【０１３４】
図８は、図７に示した送出メッセージ生成部１６０におけるメッセージ生成方法を説明するためのフローチャートである。
【０１３５】
まず、ノード接続監視部１３０によってノードが接続されたか、切断されたかが判断される（ステップＳ１１）。ノードが接続されたと判断された場合、接続されたノードが、サービス利用ノードであるか、サービス提供ノードであるかが判断される（ステップＳ１２）。接続されたノードがサービス利用ノードかサービス提供ノードかを判断するには、例えば、送出メッセージ抽出部１４１から接続されたノードに対して検索メッセージを送出し、予め設定された一定時間内に検索メッセージに対する応答メッセージが返ってきた場合はサービス提供ノード、返ってこない場合はサービス利用ノードと判断することができる。
【０１３６】
サービス利用ノードが接続されたと判断された場合、接続先ドメインに既に接続しているノードのサービス利用可能広告メッセージの生成が送出メッセージ生成部１６０に指示される（ステップＳ１３）。指示内容には、メッセージ生成の対象ドメインとして当該ノードの接続先ドメインが、生成するメッセージの種別としてはサービス利用可能広告メッセージが含まれる。
【０１３７】
また、サービス提供ノードが接続されたと判断された場合、接続ノードのサービス利用可能広告メッセージの生成が送出メッセージ生成部１６０に指示される（ステップＳ１４）。指示内容には、メッセージ生成の対象ノードとして接続ノードが、生成するメッセージの種別としてはサービス利用可能広告メッセージが含まれる。
【０１３８】
一方、ステップＳ１１にて、ノードが切断されたと判断された場合、接続されたノードが、サービス利用ノードであるか、サービス提供ノードであるかが判断される（ステップＳ１５）。
【０１３９】
サービス利用ノードが切断されたと判断された場合、切断元ドメインに接続しているノードのサービス利用不可広告メッセージの生成が送出メッセージ生成部１６０に指示される（ステップＳ１６）。指示内容にはメッセージ生成の対象ドメインとして切断元ドメインが、生成するメッセージの種別としてはサービス利用不可広告メッセージが含まれる。
【０１４０】
また、サービス提供ノードが切断されたと判断された場合、切断ノードのサービス利用不可広告メッセージの生成が送出メッセージ生成部１６０に指示される（ステップＳ１７）。指示内容には、メッセージ生成の対象ノードとして切断ノードが、生成するメッセージの種別としてはサービス利用不可広告メッセージが含まれる。
【０１４１】
なお、図８に示したステップＳ１２及びステップＳ１５を省略することが可能であり、省略した場合、ノード接続時にはステップＳ１３及びステップＳ１４の両方の処理が、またノード切断時にはステップＳ１６及びステップＳ１７の両方の処理が実行される。
【０１４２】
また、送出メッセージ抽出部１４１がメッセージＤＢ１２０を参照しない場合には、広告・検索エージェントモジュール１０２はメッセージＤＢ１２０を持たなくても良い。
【０１４３】
次に、送出メッセージ抽出部１４１がメッセージＤＢ１２０を参照する場合について説明する。この場合、送出メッセージ抽出部１４１は送出メッセージ生成部１６０にメッセージ生成を指示する際、併せて生成されたメッセージをメッセージＤＢ１２０に記憶するように指示する。
【０１４４】
送出メッセージ抽出部１４１の動作は、以下に示す（ｐ）及び（ｑ）の２つの場合で異なる動作をする。
【０１４５】
（ｐ）メッセージＤＢ１２０にノード接続または切断が発生する直前の時点で監視ドメインのいずれかに接続している全てのサービス提供ノードのサービス利用可能広告メッセージ、サービス利用不可広告メッセージの両方が記憶されていることが保障されている場合。
【０１４６】
（ｑ）上記メッセージが記憶されていることが保障されていない場合。
【０１４７】
まず（ｐ）の場合の動作について説明する。
【０１４８】
図９は、メッセージＤＢ１２０にノード接続または切断が発生する直前の時点で監視ドメインのいずれかに接続している全てのサービス提供ノードのサービス利用可能広告メッセージ、サービス利用不可広告メッセージの両方が記憶されていることが保障されている場合の図７に示した送出メッセージ抽出部１４１におけるメッセージ抽出方法を説明するためのフローチャートである。
【０１４９】
まず、ノード接続監視部１３０によってノードが接続されたか、切断されたかが判断される（ステップＳ２１）。ノードが接続されたと判断された場合、接続ノードが過去いずれかの監視ドメインに接続していたか否かが判断される（ステップＳ２２）。これは例えば、メッセージＤＢ１２０を参照し、接続ノードのサービス利用可能広告メッセージ、サービス利用不可広告メッセージが記憶されているか否かをチェックすることで判断可能である。
【０１５０】
既にいずれかの監視ドメインに接続していたと判断された場合は、メッセージＤＢ１２０を参照して、第１の実施の形態における送出メッセージ抽出部１４０の処理と同様にメッセージが抽出され、抽出されたメッセージがメッセージ送出部１５０に渡される（ステップＳ２３）。
【０１５１】
また、接続ノードが過去いずれの監視ドメインに接続していなかったと判断された場合には、接続されたノードがサービス利用ノードかサービス提供ノードかが判断される(ステップＳ２４)。
【０１５２】
サービス利用ノードが接続されたと判断された場合、ステップＳ２３の処理が実行される。
【０１５３】
また、サービス提供ノードが接続されたと判断された場合は、接続ノードを対象ノードとしてメッセージを生成するように送出メッセージ生成部１６０に指示され、送出メッセージ生成部１６０にて生成されたメッセージがメッセージ送出部１５０に渡される(ステップＳ２５)。なお、送出メッセージ生成部１６０にてメッセージ生成が指示された際、併せて生成されたメッセージのメッセージＤＢ１２０への記憶も指示されるため、メッセージＤＢ１２０には、ノード接続または切断が発生する直前の時点で監視ドメインのいずれかに接続している全てのサービス提供ノードのサービス利用可能広告メッセージ、サービス利用不可広告メッセージの両方が保持されていることが常に保障される。
【０１５４】
一方、ステップＳ２１にて、ノードが切断されたと判断された場合は、ステップＳ２３の処理が実行される。
【０１５５】
なお、上述した処理でステップＳ２２及びステップＳ２４の処理はいずれかまたは両方が省略可能なステップであり、ステップＳ２２のみが省略された場合は常にステップＳ２４以降の処理が、ステップＳ２４のみが省略された場合は、ステップＳ２２において接続ノードが新規ノードである場合に常にステップＳ２５の処理が、ステップＳ２２及びステップＳ２４の両方が省略された場合は、ノードが接続した場合は常にステップＳ２５の処理が、それぞれ実行される。
【０１５６】
次に、次に上記（ｑ）の場合の送出メッセージ抽出部１４１の動作について説明する。なお、（ｑ）の場合の動作を行う場合、送出メッセージ抽出部１４１は送出メッセージ生成部１６０に対して生成を指示したメッセージの対象ドメイン、ノードを履歴として保持しておく。
【０１５７】
図１０は、メッセージＤＢ１２０にノード接続または切断が発生する直前の時点で監視ドメインのいずれかに接続している全てのサービス提供ノードのサービス利用可能広告メッセージ、サービス利用不可広告メッセージの両方が記憶されていることが保障されていない場合の図７に示した送出メッセージ抽出部１４１におけるメッセージ抽出方法を説明するためのフローチャートである。
【０１５８】
まず、ノード接続監視部１３０によってノードが接続されたか、切断されたかが判断される（ステップＳ３１）。ノードが接続されたと判断された場合、接続されたノードがサービス利用ノードであるかサービス提供ノードであるかが判断される（ステップＳ３２）。
【０１５９】
サービス利用ノードが接続されたと判断された場合、当該ノードの接続先ドメインを対象ドメインとしたメッセージ生成を指示済みか否かが判断される（ステップＳ３３）。
【０１６０】
指示済みであると判断された場合、メッセージＤＢ１２０を参照して第１の実施の形態における送出メッセージ抽出部１４０の処理と同様にメッセージが抽出され、抽出されたメッセージがメッセージ送出部１５０に渡される（ステップＳ３４）。
【０１６１】
また、指示済みでないと判断された場合は、接続先ドメインに既に接続しているノードのサービス利用可能広告メッセージの生成が送出メッセージ生成部１６０に指示される（ステップＳ３５）。指示内容には、メッセージ生成の対象ドメインとして当該ノードの接続先ドメインが、生成するメッセージの種別としてはサービス利用可能広告メッセージが含まれる。
【０１６２】
一方、ステップＳ３２にて、サービス提供ノードが接続されたと判断された場合、当該ノードを対象ノードとしたメッセージ生成が指示済みか否かが判断される（ステップＳ３６）。
【０１６３】
指示済みであると判断された場合は、ステップＳ３４の処理が実行される。
【０１６４】
また、指示済みでないと判断された場合は、接続ノードのサービス利用可能広告メッセージの生成が送出メッセージ生成部１６０に指示される（ステップＳ３７）。指示内容には、メッセージ生成の対象ノードとして接続ノードが、生成するメッセージの種別としてはサービス利用可能広告メッセージが含まれる。
【０１６５】
一方、ステップＳ３１にて、ノードが切断されたと判断された場合、切断されたノードがサービス利用ノードであるかサービス提供ノードであるかが判断される（ステップＳ３８）。
【０１６６】
サービス利用ノードが切断されたと判断された場合、当該ノードの切断元ドメインを対象ドメインとしたメッセージ生成が指示済みか否かが判断される（ステップＳ３９）。
【０１６７】
指示済みであると判断された場合、ステップＳ３４の処理が実行される。
【０１６８】
また、指示済みでないと判断された場合は、切断元ドメインに接続しているノードのサービス利用不可広告メッセージの生成が送出メッセージ生成部１６０に指示される（ステップＳ４０）。指示内容には、メッセージ生成の対象ドメインとして切断元ドメインが、生成するメッセージの種別としてはサービス利用不可広告メッセージが含まれる。
【０１６９】
一方、ステップＳ３８にて、サービス提供ノードが切断されたと判断された場合、当該ノードを対象ノードとしたメッセージ生成が指示済みか否かが判断される（ステップＳ４１）。
【０１７０】
指示済みであると判断された場合、ステップＳ３４の処理が実行される。
【０１７１】
また、指示済みでないと判断された場合は、切断ノードのサービス利用不可広告メッセージの生成が送出メッセージ生成部１６０に指示される（ステップＳ４２）。指示内容には、メッセージ生成の対象ノードとして切断ノードが、生成するメッセージの種別としてはサービス利用不可広告メッセージが含まれる。
【０１７２】
なお、ステップＳ３２及びステップＳ３８は省略することが可能であり、省略された場合、ノード接続時にはステップＳ３３以降及びステップＳ３６以降のステップが両方とも実行される。ノード切断時にはステップＳ３９以降及びステップＳ４１以降のステップが両方とも実行される。
【０１７３】
また、送出メッセージ生成部１６０にて、送出メッセージ抽出部１４１からメッセージ生成が指示されると、指示内容に基づいてメッセージが生成される。さらに、送出メッセージ抽出部１４１からメッセージの記憶も指示された場合には、メッセージＤＢ１２０に対して生成したメッセージが記憶される。
【０１７４】
なお、第１の実施の形態における広告・検索エージェントモジュール１００と同様、本実施の形態においてもメッセージＤＢ１２０は広告・検索エージェントモジュール１０２を構成する他の構成要素（広告・検索メッセージ取得部１１０、ノード接続監視部１３０、送出メッセージ抽出部１４１、送出メッセージ生成部１６０及びメッセージ送出部１５０）と同一のノードに存在しなくても良い。例えば、単一のメッセージＤＢ１２０をデータベースサーバ等に配置し、複数の広告・検索メッセージ取得部１１０、ノード接続監視部１３０、送出メッセージ抽出部１４１、送出メッセージ生成部１６０及びメッセージ送出部１５０で共有することにより、広告・検索エージェントモジュール１０２は他の広告・検索エージェントモジュール１０２内の送出メッセージ生成部１６０にて生成されたメッセージについても参照することが可能となる。
【０１７５】
また、送出メッセージ生成部１６０には監視ドメインに接続するサービス利用ノード、サービス提供ノード上で稼動するアプリケーションの、少なくともサービス検出に関するアプリケーションプロトコルスタック、すなわち、自身がサービス検出を行うための検索メッセージの生成、送出と、検索メッセージに対する応答メッセージのアプリケーションレベルの内容の解釈を行う機能が実装されている。
【０１７６】
さらに、送出メッセージ生成部１６０は、メッセージ生成が指示されると、実装された当該アプリケーションプロトコルスタックにより、自身がサービス検出を行うための検索メッセージの生成、送出を行い、検索メッセージに対する応答メッセージのアプリケーションレベルの内容の解釈を行って、その内容からサービス利用可能広告メッセージ及びサービス利用不可広告メッセージを生成する機能を有する。
【０１７７】
また、送出メッセージ生成部１６０の動作は、メッセージ生成の対象としてドメインが指定された場合と、ノードが指定された場合とで異なる。
【０１７８】
また、メッセージ生成の対象としてドメインが指定された場合、送出メッセージ生成部１６０にて、自身がサービス検出を行うための検索メッセージが生成され、生成された検索メッセージが対象ドメインにブロードキャストまたはマルチキャストされる。
【０１７９】
その後、検索メッセージに対する全ての応答メッセージのアプリケーションレベルの内容の解釈が行われ、その内容からサービス利用可能広告メッセージ及びサービス利用不可広告メッセージが生成される。これにより、メッセージ生成を指示された時点で対象ドメインに接続している全てのサービス提供ノードのサービス利用可能広告メッセージ及びサービス利用不可広告メッセージが生成される。
【０１８０】
メッセージ生成の対象としてノードが指定された場合、送出メッセージ生成部１６０にて、自身がサービス検出を行うための検索メッセージが生成され、生成された検索メッセージが対象ノードに対してユニキャストにより送信される。
【０１８１】
その後、検索メッセージに対する全ての応答メッセージのアプリケーションレベルの内容の解釈が行われ、その内容からサービス利用可能広告メッセージ及びサービス利用不可広告メッセージが生成される。
【０１８２】
これにより、メッセージ送出部１５０の動作も、送出メッセージ生成部１６０にて生成されたメッセージの送出対象がドメインであるかノードであるかによって異なる。
【０１８３】
そのため、メッセージ送出部１５０は、それぞれに対応した送出機能であるドメイン送出機能と、ノード送出機能とを有する。ドメイン送出機能は、送出メッセージ生成部１６０にて生成されたメッセージの送出対象がドメインである場合、当該メッセージを当該ドメインへ送出する機能である。また、ノード送出機能は、送出メッセージ生成部１６０にて生成されたメッセージの送出対象がノードである場合、当該メッセージを当該ノードへ送出する機能である。なお、ノード送出機能を用いてメッセージをノードへ送出する場合、メッセージをユニキャストメッセージに変換して送出する。
【０１８４】
本実施の形態における広告・検索エージェントモジュール１０２により、以下の効果がもたらされる。
【０１８５】
本実施の形態における広告・検索エージェントモジュール１０２は、監視ドメインに接続するサービス提供ノードのサービス利用可能広告メッセージ及びサービス利用不可広告メッセージを生成する送出メッセージ生成部１６０を有し、監視ドメインにおいてノードの接続、切断が発生した際に、接続、切断に伴う利用サービス変更をドメイン内のノード及び接続、切断したノードが即時検出するのに必要なメッセージを送出する。
【０１８６】
これにより、監視ドメインに接続しているノードまたはドメインに接続したノード、ドメインから切断したノードの検索メッセージ、サービス利用可能メッセージ及びサービス利用不可メッセージを予め取得できていない場合においても、ドメインに接続しているノードまたはドメインに接続したノード、ドメインから切断したノードが利用可能サービスの変更を接続、切断が発生した直後に検出することができる。
【０１８７】
また、本実施の形態において、ノードの利用可能サービスの変更検出は常に、広告・検索エージェントモジュール１０２から送信されたサービス利用可能広告メッセージまたはサービス利用不可広告メッセージが各ノードにて受信されることで行われる。すなわち、第１の実施の形態と異なり、各ノードから自身の送信していない検索メッセージ、つまり広告・検索エージェントモジュール１０２から送信された検索メッセージに対する応答メッセージが各ノードにて受信されることによって、利用可能サービスの変更検出を行うことはない。これにより、サービス利用ノード上のアプリケーションが自身が検索メッセージを送信した後、予め設定された一定時間のみ応答メッセージの受信可能状態になるように実装されている場合であっても、当該サービス利用ノードは利用可能サービスの変更検出を接続、切断の直後に行うことができる。
【０１８８】
以上説明した本発明においては、以下の効果がある。
【０１８９】
第１の効果は、サービス提供ノードがドメインに新規接続した場合に、当該ノードが提供するサービスを接続先ドメインに既に接続している他のノードがサービス提供ノードの接続後即座に発見することができる点である。
【０１９０】
その理由は、広告・検索エージェントモジュール１００はサービス提供ノード、サービス利用ノードの監視ドメインへの接続とドメインからの切断を検出するとともに、接続または切断したドメイン及び接続、切断したノードのノード識別子を把握するノード接続監視部１３０と、ノード接続監視部１３０が検出したノードの識別子及び接続先または切断元ドメインに基づいて、当該ノードが過去ブロードキャスト、マルチキャストしたメッセージまたは、接続先または切断元ドメインに接続する他のノードが過去ブロードキャスト、マルチキャストしたメッセージのいずれかまたは両方を抽出する送出メッセージ抽出部１４０と、送出メッセージ抽出部１４０が抽出したメッセージが接続、切断したノードが送信したメッセージである場合には接続先または切断元のドメインに対してブロードキャスト、マルチキャストし、送出メッセージ抽出部１４０が抽出したメッセージが接続先、切断元ドメインに接続する他のノードが送出するメッセージである場合には接続、切断したノードに対して送信するメッセージ送出部１５０とを有し、サービス提供ノードが新たにドメインに接続した場合には、ノード接続監視部１３０が接続を検出するとともに、当該サービス提供ノードのノード識別子と接続先ドメインを把握し、送出メッセージ抽出部１４０はノード接続監視部１３０が把握したノード識別子と接続先ドメインに基づいて、（Ａ）当該サービス提供ノードが 過去ブロードキャスト、マルチキャストしたサービス利用可能広告メッセージまたは（Ｂ）接続先ドメインに接続している他のノードが過去ブロードキャスト、マルチキャストした検索メッセージのいずれかまたは両方を抽出し、メッセージ送出部１５０は送出メッセージ抽出部１４０が抽出したメッセージが（Ａ）の場合はサービス提供ノードの接続先ドメインに対して抽出されたメッセージをブロードキャスト、マルチキャストし、（Ｂ）の場合はサービス提供ノードに対して抽出されたメッセージをブロードキャスト、マルチキャストするためである。
【０１９１】
第２の効果は、新たにサービス利用ノードがドメインに接続した場合に当該ドメインに接続しているサービス提供ノードのみを新たに接続したサービス利用ノードが発見可能になるとともに、新たにサービス提供ノードがドメインに接続した場合に当該ドメインに接続しているサービス利用ノードのみが新たに接続したサービス提供ノードの提供するサービスを発見できるようになる点である。
【０１９２】
その理由は、送出メッセージ抽出部１４０及びメッセージ送出部１５０は、ノードの接続または切断があった場合に、（ｉ）ノード接続または切断が あったドメインに接続しているノードのメッセージのみを抽出し、抽出したメッセージは接続または切断したノードにのみ送出する、もしくは（ｉｉ）接続ノード、切断ノード のメッセージのみを抽出し、抽出したメッセージは接続先または切断元ドメインにのみ送出する、のいずれかを行うため、接続先、切断元ドメイ ンのメッセージが当該ドメインとは無関係のノードに送出されることが防がれ、また、接続または切断したノードのメッセージが接続先、切断元のドメインと無関係のノードに送出されることも防がれるためである。
【０１９３】
第３の効果は、ドメインからノードが切断した場合に、当該切断ノードがサービス提供ノードである場合は切断元ドメインに接続するサービス利用ノードが切断ノードの提供するサービスが利用不可になったことを即座に把握可能になるとともに、切断ノードがサービス利用ノードである場合は、切断元ドメインで提供されているサービスを切断ノードが即座に把握可能になる点である。
【０１９４】
その理由は、ノード接続監視部１３０が監視ドメインからのノードの切断を検出すると、送出メッセージ抽出部１４０により切断ノードが過去に監視ドメインで送出したサービス利用不可広告メッセージまたは切断元ドメインに接続するノードが過去に監視ドメインで送出したサービス利用不可広告メッセージが抽出され、メッセージ送出部１５０が抽出されたメッセージの切断元ドメインへのブロードキャスト、マルチキャスト、または切断ノードへの送信を行うためである。
【０１９５】
第4の効果は、監視ドメインに接続しているノードまたはドメインに接続したノード、ドメインから切断したノードの検索メッセージ、サービス利用可能メッセージ、サービス利用不可メッセージを予め取得できていない場合においても、ドメインに接続しているノードまたはドメインに接続したノード、ドメインから切断したノードが利用可能サービスの変更を接続、切断が発生した直後に検出することができる点である。
【０１９６】
その理由は、広告・検索エージェントモジュール１０２は、監視ドメインに接続するサービス提供ノードのサービス利用可能広告メッセージ及びサービス利用不可広告メッセージを生成する送出メッセージ生成部１６０を有し、監視ドメインにおいてノードの接続、切断が発生した際に、接続、切断に伴う利用サービス変更をドメイン内のノード及び接続、切断したノードが即時検出するのに必要なメッセージを送出するためである。
【０１９７】
第５の効果は、サービス利用ノード上のアプリケーションが自身が検索メッセージを送信した後一定時間のみ応答メッセージの受信可能状態になるように実装されている場合であっても、当該サービス利用ノードは利用可能サービスの変更検出を接続、切断の直後に行うことができる点である。
【０１９８】
その理由は、ノードの利用可能サービスの変更検出は常に、広告・検索エージェントモジュール１０２から送信されたサービス利用可能広告メッセージまたはサービス利用不可広告メッセージを各ノードが受信することで行われ、各ノードが自身自身の送信していない検索メッセージ（広告・検索エージェントモジュール１００が送信した検索メッセージ）に対する応答メッセージを各ノードが受信することによって利用可能サービスの変更検出を行うことはないためである。
【図面の簡単な説明】
【０１９９】
【図１】本発明の広告・検索エージェントモジュールの第１の実施の形態を示す図である。
【図２】図１に示した広告・検索エージェントモジュールが、ＶＬＡＮスイッチ内に配置された場合の接続構成の一例を示す図である。
【図３】図１に示した広告・検索エージェントモジュールが、ＶＰＮゲートウェイ内に配置された場合の接続構成の一例を示す図である。
【図４】図３に示す位置に広告・検索エージェントモジュールが配置された場合の図１に示した広告・検索エージェントモジュールのメッセージＤＢに記憶された内容の一例を示す図である。
【図５】図１に示したメッセージＤＢが複数の広告・検索エージェントモジュールによって共有される構成の一例を示す図である。
【図６】図１に示した広告・検索エージェントモジュールの送出メッセージ抽出部における第３の抽出機能を用いたメッセージ抽出方法を説明するためのフローチャートである。
【図７】本発明の広告・検索エージェントモジュールの第２の実施の形態を示す図である。
【図８】図７に示した送出メッセージ生成部におけるメッセージ生成方法を説明するためのフローチャートである。
【図９】メッセージＤＢにノード接続または切断が発生する直前の時点で監視ドメインのいずれかに接続している全てのサービス提供ノードのサービス利用可能広告メッセージ、サービス利用不可広告メッセージの両方が記憶されていることが保障されている場合の図７に示した送出メッセージ抽出部におけるメッセージ抽出方法を説明するためのフローチャートである。
【図１０】メッセージＤＢにノード接続または切断が発生する直前の時点で監視ドメインのいずれかに接続している全てのサービス提供ノードのサービス利用可能広告メッセージ、サービス利用不可広告メッセージの両方が記憶されていることが保障されていない場合の図７に示した送出メッセージ抽出部におけるメッセージ抽出方法を説明するためのフローチャートである。
【符号の説明】
【０２００】
１００，１０２    広告・検索エージェントモジュール
１１０    広告検索メッセージ取得部
１２０    メッセージＤＢ
１３０    ノード接続監視部
１４０，１４１    送出メッセージ抽出部
１５０    メッセージ送出部
１６０    送出メッセージ生成部
２１０−１〜２１０−ｍ    ドメイン
２１１−１１〜２１１−ｍｎ    ノード
２３０    ＶＬＡＮスイッチ
２４０−１〜２４０−３    ＶＬＡＮ
３００−１〜３００−２    ＶＰＮゲートウェイ
３１０−１〜３１０−２    ＶＰＮ
３２０    企業Ｘ  ＬＡＮ
３３０    企業Ｙ  ＬＡＮ
【図１】
0004683223.tif 000002
【図２】
0004683223.tif 000003
【図３】
0004683223.tif 000004
【図４】
0004683223.tif 000005
【図５】
0004683223.tif 000006
【図６】
0004683223.tif 000007
【図７】
0004683223.tif 000008
【図８】
0004683223.tif 000009
【図９】
0004683223.tif 000010
【図１０】
0004683223.tif 000011