JP4683223B2 - 広告・検索エージェント - Google Patents

広告・検索エージェント Download PDF

Info

Publication number
JP4683223B2
JP4683223B2 JP2006057665A JP2006057665A JP4683223B2 JP 4683223 B2 JP4683223 B2 JP 4683223B2 JP 2006057665 A JP2006057665 A JP 2006057665A JP 2006057665 A JP2006057665 A JP 2006057665A JP 4683223 B2 JP4683223 B2 JP 4683223B2
Authority
JP
Japan
Prior art keywords
message
node
advertisement
service
search
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006057665A
Other languages
English (en)
Other versions
JP2007235818A (ja
Inventor
雄一 石川
明 塚本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2006057665A priority Critical patent/JP4683223B2/ja
Priority to US11/705,105 priority patent/US7826392B2/en
Publication of JP2007235818A publication Critical patent/JP2007235818A/ja
Application granted granted Critical
Publication of JP4683223B2 publication Critical patent/JP4683223B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1863Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は広告・検索エージェントに関し、特にノードの接続・切断に伴うネットワーク上の利用可能サービスの変更を検出する広告・検索エージェントに関する。
ネットワーク上で提供されるサービスを発見する手段として、ブロードキャスト、マルチキャストが利用されている。サービスを提供するノード(以下、サービス提供ノード)はサービスの存在をブロードキャスト、マルチキャストで広告することで同一ネットワークに存在する全てのサービスを利用するノード(以下、サービス利用ノード)にサービスの存在を一度に知らせることができる。またサービス利用ノードは、サービスの存在をブロードキャスト、マルチキャストで検索することで、同一ネットワークに存在する全てのサービスを一度に把握することができる。こうしたブロードキャスト、マルチキャストによるサービス発見を行うアプリケーションとしては、UPnP DA(Universal Plug and Play Device Architecture)やメッセンジャソフトであるIP Messenger等が挙げられ、広く利用されている。
一方で、ブロードキャスト、マルチキャストはネットワークにかかる負荷が高いため、上記のアプリケーションではその頻度を抑制する実装がとられている。具体的に、サービス提供ノード、サービス利用ノードはマシン起動時(アプリケーション起動時)に一度サービスを広告または検索するメッセージをブロードキャスト、マルチキャストした後は、一定時間おきに自動的にブロードキャスト、マルチキャストを行うのが一般的である。ブロードキャスト、マルチキャストを行う間隔は個々のアプリケーションプログラムの実装により異なるが、例えばUPnP DAの場合は概ね30分である。
このため、サービス提供ノードまたはサービス利用ノードがマシン起動した後にネットワークに新規接続したり、起動時に接続していたネットワークとは別のネットワークに起動したまま接続しなおしたりした場合、当該ノードは接続先ネットワークに既に接続しているサービス提供ノードを発見したり、サービス利用ノードに自身の提供サービスを広告したりといったことを接続後即座に行うことができない。例えば、サービス提供ノードX,Yが既に接続しているネットワーク1にサービス利用ノードAが接続した場合、AがX,Yの存在を知るには、X,Yが広告をブロードキャスト、マルチキャストするまで待つか、A自身が検索メッセージをブロードキャスト、マルチキャストまで待たなければならない。サービス提供ノードがネットワークに接続した場合も同様の問題が起きる。また、ノードが切断した場合も同様の問題が起きる。
さらにこの問題は、物理的なネットワークへの接続時のみならず、仮想ネットワークへの接続時にも発生する。ブロードキャスト、マルチキャストでのサービスの広告、検索を行うアプリケーションの仮想ネットワーク上での利用が昨今注目されている。その理由は、ブロードキャスト、マルチキャストでのサービスの広告、検索はその範囲が同一ネットワーク上に限られるが、物理的に異なるネットワークをまたがった仮想ネットワークを作成し、その上でブロードキャスト、マルチキャストでのサービス広告、検索を行うことにより、物理的には異なるネットワークに存在するサービスを発見することが可能となるためである。しかしながら、こうしたメリットが存在する一方で、前述のように、仮想ネットワークに新たに接続したサービス利用ノードまたはサービス提供ノードが接続後即座に仮想ネットワーク上のサービスを利用したり、仮想ネットワーク上のノードにサービスを提供したりできないという課題がある。
こうした問題を解決する従来技術として、サービス提供ノードの代理でサービスの広告を行うデバイスプロキシを設置する方法がある(例えば、特許文献1参照。)。
デバイスプロキシはサブネット毎に一つ設置されており、異なるサブネットに存在するデバイスプロキシ同士が連携することにより、サービスの存在を異なるサブネットに存在するサービス利用ノードに対して、必要に応じて即座に通知することを可能にしている。具体的には、以下のような手順をとる。
デバイスプロキシは他のデバイスプロキシからの接続要求を受けると、自身の接続するサブネットに対してブロードキャストを行ってサービス提供ノードを検索する。検索に対する応答フレームを受信すると当該フレームを広告フレームに変換して、接続要求元のデバイスプロキシに対して送信する。これによりサービス利用ノードについては接続要求後即座にネットワーク上で提供されているサービスを発見することができる。
特開2005−311773号公報
上述した従来の技術には以下に示す3つの課題がある。
従来技術の第1の課題は、サービス提供ノードが接続した場合、ネットワークに既に接続しているサービス利用ノードに新規接続したサービスの情報を即座に通知できない点である。従来技術はサービス利用ノードが接続した際に、当該サービス利用ノードに対して既にネットワークに接続しているサービス提供ノードが提供するサービスの存在を通知するのであって、サービス提供ノードが接続しても、当該サービス提供ノードが提供するサービスが既存のサービス利用ノードに対して広告されることはない。
従来技術の第2の課題は、デバイスプロキシは自身が接続するサブネットドメインに存在する全てのサービスの情報を新規接続ノードに通知するため、デバイスプロキシが接続するサブネットドメインに存在するサービスの中から選択的に新規接続ノードにその存在を広告することができない点である。例えばデバイスプロキシが物理的なサブネットAと仮想ネットワークBに接続していてサブネットAに接続するサービスX,Y,Zのうち、Xのみが仮想ネットワークBに接続していた場合、従来技術によれば仮想ネットワークBに新規接続したノードIには仮想ネットワークBに接続しているXのみならず、Y,Zも新規接続ノードIに通知されてしまう。この結果、Iには実際には利用できないサービスが通知されることに加えて、Iからの利用を拒否するため敢えてY,Zを仮想ネットワークに接続させていない場合であってもY,Zの情報がIに漏れてしまうことになる。この問題はデバイスプロキシが複数の物理ネットワークに接続している場合、複数の仮想ネットワークに接続している場合にも発生しうる。
従来技術の第3の課題は、ネットワークからのノードの切断を即座に通知することができない点である。従来技術のデバイスプロキシではノードのネットワークからの切断を通知する機能が提供されていないためである。例えば、サービス提供ノードがネットワークから切断した場合、当該ネットワークに接続しているサービス利用ノードには当該サービス提供ノードが提供するサービスが利用不可能になったことを切断後即座に検出することができない。また、サービス利用ノードがネットワークから切断した場 合、当該サービス利用ノードは切断元ネットワークで提供されていたサービスが利用不可能になったことを切断後即座に検出することができない。
本発明は、上述したような従来の技術が有する問題点に鑑みてなされたものであって、ノードが接続するドメインにて新規に接続したノードが提供するサービスまたは利用できるサービスを接続直後に検出することができる広告・検索エージェントを提供することを目的とする。
上記目的を達成するために本発明は、
複数のドメインにおいてブロードキャストまたはマルチキャストされる検索メッセージと、サービス利用可能広告メッセージと、サービス利用不可広告メッセージとを含む広告・検索メッセージを送受信する広告・検索エージェントであって、
前記複数のドメインのいずれかに接続するノードによってブロードキャストまたはマルチキャストされる前記広告・検索メッセージを取得するメッセージ取得部と、
前記メッセージ取得部によって取得された前記広告・検索メッセージを記憶するメッセージDBと、
前記複数のドメインにおける前記ノードの接続を検出するノード接続監視部と、
前記ノード接続監視部によって前記ノードの接続が検出された際に、前記メッセージDBに記憶されている前記広告・検索メッセージのうち、接続したノードから送出された前記検索メッセージ及び前記サービス利用可能広告メッセージのみを抽出する第1の抽出機能と、前記ノードの接続が発生したドメインに接続しているノードを把握して、前記ドメインに接続しているノードから送出された前記検索メッセージ及び前記サービス利用可能広告メッセージのみを抽出する第2の抽出機能とのいずれかまたは両方を有する送出メッセージ抽出部と、
前記ノード接続監視部によって前記ノードの接続が検出された際に、前記送出メッセージ抽出部によって前記第1の抽出機能により抽出された前記検索メッセージ及び前記サービス利用可能広告メッセージを前記ノードの接続が発生したドメインに送出する第1の送出機能と、前記送出メッセージ抽出部によって前記第2の抽出機能により抽出された前記検索メッセージ及び前記サービス利用可能広告メッセージを前記ドメインに接続したノードに対して送出する第2の送出機能とのいずれかまたは両方を有するメッセージ送出部とを有する。
また、前記送出メッセージ抽出部は、前記サービスを利用するノードであるサービス利用ノードが接続した場合、前記第1の抽出機能により抽出されたメッセージについては前記検索メッセージをさらに抽出し、前記第2の抽出機能により抽出されたメッセージについては前記サービス利用可能広告メッセージをさらに抽出し、また、サービスを提供するノードであるサービス提供ノードが接続した場合、前記第1の抽出機能により抽出されたメッセージについては前記サービス利用可能広告メッセージをさらに抽出し、前記第2の抽出機能により抽出されたメッセージについては前記検索メッセージをさらに抽出する第3の抽出機能を有することを特徴とする。
また、複数のドメインにおいてブロードキャストまたはマルチキャストされる検索メッセージと、サービス利用可能広告メッセージと、サービス利用不可広告メッセージとを含む広告・検索メッセージを送受信する広告・検索エージェントであって、
前記複数のドメインのいずれかに接続するノードによってブロードキャストまたはマルチキャストされる前記広告・検索メッセージを取得するメッセージ取得部と、
前記メッセージ取得部によって取得された前記広告・検索メッセージを記憶するメッセージDBと、
前記複数のドメインにおける前記ノードの切断を検出するノード接続監視部と、
前記ノード接続監視部によって前記ノードの切断が検出された際に、前記メッセージDBに記憶されている前記広告・検索メッセージのうち、切断したノードから送出された前記サービス利用不可広告メッセージのみを抽出する第1の抽出機能と、前記ノードの切断が発生したドメインに接続しているノードを把握して、前記ドメインに接続しているノードから送出された前記サービス利用不可広告メッセージのみを抽出する第2の抽出機能とのいずれかまたは両方を有する送出メッセージ抽出部と
前記ノード接続監視部によってノードの切断が検出された際に、前記送出メッセージ抽出部によって前記第1の抽出機能により抽出された前記サービス利用不可広告メッセージを前記ノードの切断が発生したドメインに送出する第1の送出機能と、前記送出メッセージ抽出部によって前記第2の抽出機能により抽出されたサービス利用不可広告メッセージを前記ドメインから切断したノードに対して送出する第2の送出機能とのいずれかまたは両方を有するメッセージ送出部とを有する。
また、前記送出メッセージ抽出部は、前記サービスを利用するノードであるサービス利用ノードが切断した場合、前記第1の抽出機能により抽出されたメッセージについては前記メッセージの抽出は行わず、前記第2の抽出機能により抽出されたメッセージについては前記サービス利用不可広告メッセージをさらに抽出し、また、サービスを提供するノードであるサービス提供ノードが切断した場合、前記第1の抽出機能により抽出されたメッセージについては前記サービス利用不可広告メッセージをさらに抽出し、前記第2の抽出機能により抽出されたメッセージについては前記メッセージの抽出は行わない第3の抽出機能を有することを特徴とする。
また、複数のドメインにおいてブロードキャストまたはマルチキャストされる検索メッセージと、サービス利用可能広告メッセージと、サービス利用不可広告メッセージとを含む広告・検索メッセージを送受信する広告・検索エージェントであって、
前記複数のドメインのいずれかに接続するノードによってブロードキャストまたはマルチキャストされる前記広告・検索メッセージを取得するメッセージ取得部と、
前記メッセージ取得部によって取得された前記広告・検索メッセージを記憶するメッセージDBと、
前記複数のドメインにおける前記ノードの接続を検出し、また、前記ノードの切断を検出するノード接続監視部と、
前記メッセージDBに格納されている広告・検索メッセージのうち、前記ノード接続監視部によってノードの接続が検出された際に、接続したノードから送出された前記検索メッセージ及び前記サービス利用可能広告メッセージのみを抽出し、また、前記ノード接続監視部によってノードの切断が検出された際には、切断したノードから送出された前記サービス利用不可広告メッセージのみを抽出する第1の抽出機能と、前記ノード接続監視部によってノードの接続が検出された際に、前記ドメインに接続しているノードから送出された前記検索メッセージ及び前記サービス利用可能広告メッセージのみを抽出し、前記ノード接続監視部によってノードの切断が検出された際には、前記ドメインに接続しているノードから送出された前記サービス利用不可広告メッセージのみを抽出する第2の抽出機能とのいずれかまたは両方を有する送出メッセージ抽出部と、
前記ノード接続監視部によってノードの接続または切断が検出された際に、前記送出メッセージ抽出部によって前記第1の抽出機能により抽出された前記広告・検索メッセージをノードの接続または切断が発生したドメインに送出する第1の送出機能と、前記送出メッセージ抽出部によって前記第2の抽出機能により抽出された前記広告・検索メッセージを前記ドメインに接続または切断したノードに対して送出する第2の送出機能とのいずれかまたは両方を有するメッセージ送出部とを有する。
また、前記送出メッセージ抽出部は、前記サービスを利用するノードであるサービス利用ノードが接続または切断した場合、前記第1の抽出機能により抽出されたメッセージについては前記検索メッセージをさらに抽出し、前記第2の抽出機能により抽出されたメッセージについては前記サービス利用可能広告メッセージまたは前記サービス利用不可広告メッセージをさらに抽出し、また、サービスを提供するノードであるサービス提供ノードが接続または切断した場合、前記第1の抽出機能により抽出されたメッセージについては前記サービス利用可能広告メッセージまたは前記サービス利用不可広告メッセージをさらに抽出し、前記第2の抽出機能により抽出されたメッセージについては前記検索メッセージをさらに抽出する第3の抽出機能を有することを特徴とする。
また、前記メッセージDBは、複数の前記メッセージ取得部によって取得された広告・検索メッセージを記憶することを特徴とする。
また、複数のドメインにおいてブロードキャストまたはマルチキャストされる検索メッセージと、サービス利用可能広告メッセージと、サービス利用不可広告メッセージとを含む広告・検索メッセージを送受信する広告・検索エージェントであって、
前記複数のドメインにおけるノードの接続を検出し、また、ノードの切断を検出するノード接続監視部と、
前記ノード接続監視部によって前記ノードの接続または切断が検出された際に、前記ノードの接続先ドメインまたは切断元ドメインを対象ドメインに指定してメッセージ生成を指示する第1のメッセージ生成指示機能と、接続または切断したノードを対象ノードに指定してメッセージ生成を指示する第2のメッセージ生成指示機能とのいずれかまたは両方を有する送出メッセージ抽出部と、
前記送出メッセージ抽出部からのメッセージ生成の指示に基づいて、対象ノードまたは対象ドメインの前記サービス利用可能広告メッセージ及び前記サービス利用不可広告メッセージを生成する送出メッセージ生成部と、
前記ノード接続監視部によって前記ノードの接続または切断が検出された際に、前記送出メッセージ抽出部の前記第1のメッセージ生成指示機能を用いて生成された前記検索メッセージ及び前記サービス利用可能広告メッセージを前記ノードの接続または切断が発生したドメインへ送出するドメイン送出機能と、前記送出メッセージ抽出部の前記第2のメッセージ生成指示機能を用いて生成された前記検索メッセージ及び前記サービス利用可能広告メッセージを前記ドメインに接続したノードに対して送出するノード送出機能とのいずれかまたは両方を有するメッセージ送出部とを有する。
また、前記送出メッセージ抽出部は、サービスを利用するノードであるサービス利用ノードが接続または切断した場合、前記第1のメッセージ生成指示機能によりメッセージの生成を指示し、また、サービスを提供するノードであるサービス提供ノードが接続または切断した場合は、前記第2のメッセージ生成指示機能によりメッセージの生成を指示することを特徴とする。
また、前記送出メッセージ生成部によって生成されたメッセージを記憶するメッセージDBをさらに有し、
前記送出メッセージ抽出部は、メッセージ生成を指示する場合、メッセージ生成指示の対象ノードまたは対象ドメインを記憶する機能をさらに有し、前記第1のメッセージ生成指示機能を用いてメッセージ生成を指示する場合、メッセージ生成指示の対象ドメインについて既にメッセージの生成を行ったことがあるか否かをチェックし、また、前記第2のメッセージ生成指示機能を用いてメッセージの生成を指示する場合、メッセージ生成指示の対象ノードについて既にメッセージの生成を行ったことがあるか否かをチェックし、前記対象ドメインまたは前記対象ノードについて既にメッセージの生成を行ったことがない場合にのみメッセージの生成を指示することを特徴とする。
また、前記メッセージDBは、複数の前記送出メッセージ抽出部のメッセージ生成指示によって生成されたメッセージを記憶することを特徴とする。
また、前記メッセージ送出部は、前記第2の送出機能によりメッセージを送出する場合、メッセージをユニキャストメッセージに変換して送出することを特徴とする。
また、前記メッセージ送出部は、前記ノード送出機能によりメッセージを送出する場合、メッセージをユニキャストメッセージに変換して送出することを特徴とする。
上記のように構成された本発明においては、複数のドメインのいずれかに接続するノードによってブロードキャストまたはマルチキャストされる広告・検索メッセージがメッセージ取得部によって取得され、取得された広告・検索メッセージがメッセージDBに記憶され、ノードの接続を検出するノード接続監視部によってノードの接続が検出された際に、メッセージDBに記憶されている広告・検索メッセージのうち、接続したノードから送出された検索メッセージ及びサービス利用可能広告メッセージのみ、または、ノードの接続が発生したドメインに接続しているノードを把握して、当該ドメインに接続しているノードから送出された検索メッセージ及びサービス利用可能広告メッセージのみが送出メッセージ抽出部によって抽出され、接続したノードから送出された検索メッセージ及び前記サービス利用可能広告メッセージのみが抽出された場合、抽出された検索メッセージ及びサービス利用可能広告メッセージがメッセージ送出部によってノードの接続が発生したドメインに送出され、また、ドメインに接続しているノードから送出された検索メッセージ及びサービス利用可能広告メッセージのみが抽出された場合は、抽出された検索メッセージ及びサービス利用可能広告メッセージがメッセージ送出部によってドメインに接続したノードに対して送出される。
これにより、ドメインに新規に接続したノードが当該ドメインにサービスを提供するサービス提供ノードである場合、当該ノードが接続した直後に当該ドメインにてそのサービスを検出することができ、また、ドメインに新規に接続したノードが当該ドメインにてサービスを利用するサービス利用ノードである場合、当該ノードが接続した直後に接続したノードが当該ドメインにて利用できるサービスを検出することができる。
以上説明したように本発明においては、複数のドメインのいずれかに接続するノードが、ブロードキャストまたはマルチキャストされる広告・検索メッセージを取得し、取得された広告・検索メッセージを記憶し、ノードの接続が検出された際に、記憶されている広告・検索メッセージのうち、接続したノードから送出された検索メッセージ及びサービス利用可能広告メッセージのみ、または、ノードの接続が発生したドメインに接続しているノードを把握して、当該ドメインに接続しているノードから送出された検索メッセージ及びサービス利用可能広告メッセージのみを抽出し、接続したノードから送出された検索メッセージ及び前記サービス利用可能広告メッセージのみが抽出された場合、抽出された検索メッセージ及びサービス利用可能広告メッセージをノードの接続が発生したドメインへ送出し、また、ドメインに接続しているノードから送出された検索メッセージ及びサービス利用可能広告メッセージのみが抽出された場合は、抽出された検索メッセージ及びサービス利用可能広告メッセージをドメインに接続したノードへ送出する構成としたため、ノードが接続するドメインにて新規に接続したノードが提供するサービスまたは利用できるサービスを接続直後に検出することができる。
以下に、本発明の実施の形態について図面を参照して説明する。
(第1の実施の形態)
図1は、本発明の広告・検索エージェントモジュールの第1の実施の形態を示す図である。
図1に示すように、広告・検索エージェントモジュール100は、ドメイン210−1〜210−mと接続された構成となっている。
ここで、ドメイン210−1〜210−mは、互いに独立したブロードキャストまたはマルチキャストドメインを形成するネットワークである。あるドメインから送出されたブロードキャストまたはマルチキャストメッセージは他のドメインには到達しない。ドメインの例としては物理的なサブネット(LAN)やVLAN、Softether等で構築される仮想的なLAN(すなわち、レイヤ2レベルのVPN)、企業のイントラネット、Gnutella等のP2Pファイル共有アプリケーション等で構築されたアプリケーションレベルの仮想ネットワーク等が挙げられる。
また、ノード211−11〜211−mnは、ドメイン210−1〜210−mにそれぞれ接続されたノードであり、ブロードキャストまたはマルチキャストによってサービスの広告、検索を行うアプリケーションが動作しているノードである。ノード211−11〜211−mnで動作するアプリケーションの例としては、UPnP DAやIP MessengerやGnutella等が挙げられる。なお、ノード211−11〜211−mnは複数のドメイン210−1〜210−mに接続されていても良い。
また、ノード211−11〜211−mnは、サービスを提供する側のサービス提供ノードとサービスを利用する側のサービス利用ノードとのいずれかまたは両方に分類される。例えば、UPnP DAの下位規定の一つであるUPnP AV Architectureでは、Control Pointの機能を有するノードが、サービス提供ノードとなり、またNedia Serverの機能を有するノードがサービス利用ノードとなる。なお、アプリケーションによっては同一のノードがサービスの提供と利用との双方を行う場合がある。
また、ノード211−11〜211−mnは、通常のPC端末に限らず、ブロードキャストまたはマルチキャストによってサービスの広告、検索を行うアプリケーションが動作しているノード211−11〜211−mnであれば、DVDレコーダやプリンタ、ホームルータ等のPC以外の端末の場合も考えられる。例えば、前述したUPnP AV Architectureが動作するノード211−11〜211−mnとして、テレビやDVDレコーダ、ミニコンポが存在する。
また、サービスの広告は、サービス提供ノードがサービスの利用可能状態を広告するメッセージを接続するドメイン210−1〜210−mでブロードキャストまたはマルチキャストすることで行われる。以下の説明では、サービスが利用可能な状態であることを広告するメッセージをサービス利用可能広告メッセージ、サービスが利用不可能な状態であることを広告するメッセージをサービス利用不可広告メッセージとそれぞれ称することにする。サービス利用可能メッセージ、サービス利用不可メッセージとしては、例えば、UPnP DAでサービス検索、広告を行うプロトコルSSDP(Simple Service Discovery Protocol)で規定されたaliveメッセージやbyebyeメッセージが該当する。
また、サービスの検索は、サービス利用ノードが検索メッセージを接続するドメイン210−1〜210−mでブロードキャストまたはマルチキャストすることで行われる。検索メッセージとしては、例えばUPnP DAの場合、前述のSSDPで規定されたDiscoverメッセージが該当する。
なお、上述したサービス利用可能広告メッセージとサービス利用不可広告メッセージと検索メッセージとをまとめて、以下、広告・検索メッセージと称する。
広告・検索エージェントモジュール100において、複数のドメイン210−1〜210−mのノード211−11〜211−mnから送出される広告・検索メッセージが取得され、ドメイン210−1〜210−mのいずれかに新規にノード211−11〜211−mnが接続された場合、当該ノード211−11〜211−mnが接続先ドメイン210−1〜210−mで提供されているサービスを接続後即座に検出できるように、つまり当該ノード211−11〜211−mnが提供するサービスを接続先ドメイン210−1〜210−mに既に接続しているノードが即座に検出できるように、前記で取得されたメッセージが接続先ドメイン210−1〜210−mへ送出される。それとともに、ドメイン210−1〜210−mのいずれかでノード211−11〜211−mnが切断された場合には、当該ノード211−11〜211−mnの切断元ドメイン210−1〜210−mで提供されていたサービスが切断後即座に利用不可の状態となったことを検出できるように、つまり当該ノード211−11〜211−mnが提供するサービスを切断元ドメイン210−1〜210−mに既に接続しているノード211−11〜211−mnが切断後即座に利用不可の状態となったことを検出できるように、前記で取得したメッセージが接続先ドメイン210−1〜210−mへ送出される。
広告・検索エージェントモジュール100は複数のドメイン210−1〜210−mにおいてノード211−11〜211−mnが送出する広告・検索メッセージを取得し、ドメイン210−1〜210−mのいずれかで新規にノードが接続した場合は、当該ノードがサービス利用ノードである場合には、接続先ドメインで提供されているサービスを接続後即座に発見できるようにするとともに、当該ノードがサービス提供ノードである場合には、当該ノードが提供するサービスを接続先ドメインに既に接続しているサービス利用ノードが即座に発見できるようにする。また、ドメイン210−1〜210−mのいずれかでノードが切断した場合は、当該ノードがサービス利用ノードである場合には切断元ドメインで提供されていたサービスが切断後即座に利用不可の状態となったことを検出できるようにするとともに、当該ノードがサービス提供ノードである場合には、当該ノードが提供するサービスを切断元ドメインに既に接続しているサービス利用ノードが切断後即座に利用不可の状態となったことを検出できるようにする。これらを実現するため、広告・検索エージェントモジュール100は、取得した広告・検索メッセージを接続先ドメインへ送出する。
広告・検索エージェントモジュール100は、複数のドメイン210−1〜210−mからブロードキャストまたはマルチキャストメッセージを受信でき、かつ複数のドメイン210−1〜210−mに対してブロードキャストまたはマルチキャストメッセージを送出できる位置に配置される。以下、広告・検索エージェントモジュール100がブロードキャストまたはマルチキャストを受信及び送信できるドメイン210−1〜210−mを広告・検索エージェントモジュール100の監視ドメインと称する。
図2は、図1に示した広告・検索エージェントモジュール100が、VLANスイッチ内に配置された場合の接続構成の一例を示す図である。
図1に示した広告・検索エージェントモジュール100は図2に示すように、複数のVLAN240−1〜240−3を収容するVLANスイッチ230内に配置される。広告・検索エージェントモジュール100はVLAN240−1〜240−3に対してブロードキャスト及びマルチキャストメッセージを送受信できる。なお、この場合、広告・検索エージェントモジュール100の監視ドメインはVLAN240−1〜240−3となる。
図3は、図1に示した広告・検索エージェントモジュール100が、VPNゲートウェイ内に配置された場合の接続構成の一例を示す図である。
図1に示した広告・検索エージェントモジュール100は図3に示すように、VPNゲートウェイ300−1に配置される。これにより、広告・検索エージェントモジュール100は、企業XのLAN320とVPN310−1〜310−2に対してブロードキャスト及びマルチキャストメッセージを送受信できる。なお、この場合、広告・検索エージェントモジュール100の監視ドメインは企業XのLAN320とVPN310−1〜310−2となる。
以下に、図1に示した広告・検索エージェントモジュール100の内部構成について説明する。
広告・検索エージェントモジュール100は図1に示すように、広告・検索メッセージ取得部110と、メッセージDB120と、ノード接続監視部130と、送出メッセージ抽出部140と、メッセージ送出部150から構成されている。
広告・検索メッセージ取得部110は、全ての監視ドメイン210−1〜210−mにおいてブロードキャストまたはマルチキャストされるサービスの広告メッセージおよび検索メッセージを取得し、メッセージDB120に格納する。なお、メッセージDB120内に同一のメッセージ(同一のノード211−11〜211−mnから送信された同一内容のメッセージ)が既に格納されている場合には、取得されたメッセージを廃棄しても良い。
ブロードキャストまたはマルチキャストメッセージの取得は、例えば、それがP2Pファイル共有ソフトにおけるファイル検索メッセージ等のアプリケーションレベルでブロードキャストまたはマルチキャストされたメッセージである場合、対応するアプリケーションの少なくともブロードキャストまたはマルチキャストメッセージの受信を行う機能を広告・検索メッセージ取得部110が持つことで可能となる。
また、MACアドレスがブロードキャストまたはマルチキャストアドレスに設定されたメッセージであるネットワークレベルでブロードキャストまたはマルチキャストされたメッセージの取得は、例えば、TUN/TAPデバイスを利用して、監視ドメイン210−1〜210−mに接続しているネットワークインタフェースとTUN/TAPデバイスとをブリッジ接続し、TUN/TAPデバイスに対して広告・検索メッセージ取得部110がファイルリードを行うことで可能となる。
さらに、ネットワークレベルでブロードキャストまたはマルチキャストされたメッセージについては、監視対象のネットワークインタフェースに到達したメッセージをキャプチャすることが可能なPCAPライブラリを用いて、監視ドメイン210−1〜210−mに接続しているネットワークインタフェースをPCAPの監視対象とすることでもブロードキャストまたはマルチキャストされたメッセージを取得することができる。
なお、TUN/TAPデバイスやPCAPを利用してメッセージ取得を行った場合は、ブロードキャストまたはマルチキャストのレイヤ2レベルのヘッダ情報まで取得することができる。
メッセージDB120は広告・検索メッセージ取得部110によって取得されたメッセージをデータベースとして記憶する。メッセージDB120には広告・検索エージェントモジュール110の監視ドメイン210−1〜210−mに接続する全てのノード211−11〜211−mnの広告メッセージ及び検索メッセージが蓄積されることになる。
図4は、図3に示す位置に広告・検索エージェントモジュール110が配置された場合の図1に示した広告・検索エージェントモジュール100のメッセージDB120に記憶された内容の一例を示す図である。
図4に示すようにメッセージDB120には、広告・検索エージェントモジュール100の監視ドメインと、それらに接続するサービス利用ノード及びサービス提供ノードのメッセージとが対応付けられて記録され、広告・検索エージェントモジュール100の監視ドメインである企業XのLAN320及びVPN310−1〜310−2に接続するサービス利用ノード及びサービス提供ノードのメッセージが記憶される。また広告・検索メッセージ取得部110がTUN/TAPデバイス等を利用してメッセージ取得を行った場合には、メッセージのレイヤ2レベルのヘッダ情報もメッセージDB120に記憶される。
なお、メッセージDB120は広告・検索エージェントモジュール100を構成する他のモジュール(広告・検索メッセージ取得部110、ノード接続監視部130、送出メッセージ抽出部140及びメッセージ送出部150)と同一のノードに存在しなくても良い。単一のメッセージDB120をデータベースサーバ等に配置させ、複数の広告・検索メッセージ取得部110、ノード接続監視部130、送出メッセージ抽出部140及びメッセージ送出部150で共有することにより、広告・検索エージェントモジュール100は他の広告・検索エージェントモジュール100内の送出メッセージ抽出部140によって取得されたメッセージについても参照することが可能となる。
図5は、図1に示したメッセージDB120が複数の広告・検索エージェントモジュール100によって共有される構成の一例を示す図である。
例えば図5では、VPNゲートウェイ300−1とVPNゲートウェイ300−2とに配置された異なる広告・検索エージェントモジュール100がメッセージDB120を共有する。この場合、VPNゲートウェイ300−1は自身の監視ドメインである企業XのLAN320及びVPN310−1〜310−2の他に、VPNゲートウェイ300−2の監視ドメインである企業YのLAN330でブロードキャストまたはマルチキャストされたメッセージを参照することが可能となる。
また、図1に示したノード接続監視部130は、ノードの監視ドメインへの接続及び監視ドメインからの切断を検出し、メッセージ送出部150に対して接続先または切断元ドメインと当該ノードの識別子、さらに接続、切断の別を通知する。ここでノードの識別子はドメインによらずノードを一意に識別可能にするもので、例えばMACアドレスやアプリケーションで用意されているノードID等が該当する。
ノードの監視ドメインへの接続、切断の検出方法については、例えばドメインの接続端末が特定の管理サーバで管理されている場合には、ノード接続監視部130が当該管理サーバからドメイン接続端末の変化を通知してもらうことで、ノードの接続監視が可能となる。また、広告・検索エージェントモジュール100がVLANスイッチ230やVPNゲートウェイ300−1〜300−2等に配置されている場合には、VLANスイッチ230やVPNゲートウェイ300−1〜300−2の設定変更を監視することでノードの接続監視が可能となる。
また、送出メッセージ抽出部140は、メッセージ送出部150からの指示を受けて、メッセージ送出部150が送出すべきメッセージをメッセージDB120の中から抽出し、メッセージ送出部150に渡す。
さらにメッセージ抽出部140は、メッセージDB120から接続、切断ドメインに関係のあるノードのメッセージのみを抽出することで、接続、切断ドメインとは無関係のノードのメッセージがドメイン内に送出されることを防ぐ。
具体的には、送出メッセージ抽出部140は、以下に示す第1及び第2の抽出機能を有し、これらのいずれかまたは双方の機能を用いて、メッセージ送出部150が送出すべきメッセージを抽出する。なお、メッセージ送出部150にメッセージを渡す際に、いずれの抽出機能を用いて抽出したかをメッセージ送出部150に通知する。
第1の抽出機能は、送出メッセージ抽出部140は接続または切断したノードが過去いずれかの監視ドメインにおいてブロードキャストまたはマルチキャストされた検索、広告メッセージを、メッセージ送出部150が送信すべきメッセージとしてメッセージDB120から抽出する機能である。
例えば、広告・検索エージェントモジュール100が図3に示すように配置され、メッセージDB120に図4に示すメッセージが記憶されている場合において、端末EがVPN310−2に接続した場合、図4に示すNo.7のメッセージがメッセージ送出部150が送出すべきメッセージとして抽出される。
第2の抽出機能は、ノードの接続・切断が発生した監視ドメインにノードの接続・切断が発生する前から接続していたノードが過去いずれかの監視ドメインにおいてブロードキャストまたはマルチキャストしたメッセージを、メッセージ送出部150が送信すべきメッセージとしてメッセージDB120から抽出する機能である。
この場合、送出メッセージ抽出部140はまず、新規接続または切断するノードの接続先ドメインに接続しているノードを把握する必要がある。具体的な把握方法としては、例えば、広告・検索エージェントモジュール100がVLANスイッチやVPNゲートウェイに配置され、各ドメインがMACアドレスベースVLANやレイヤ2レベルのVPN、すなわち仮想的なLANで構成されている場合には、VLANスイッチやVPNゲートウェイの設定を確認することで、対象となるドメイン(VLAN、レイヤ2レベルVPN)に接続しているノードのMACアドレス等の識別子を把握することができる。また、ドメインがSoftetherなどにより仮想的なLANとして構成されている場合には、仮想LANの管理を行うサーバに問い合わせを行うことで、対象となるドメイン(仮想LAN)に接続しているノードの識別子(MACアドレス)を把握することができる。
例えば広告・検索エージェントモジュール100が図3に示すように配置され、メッセージDB120に図4に示すメッセージが記憶されている場合において、端末EがVPN310−2に接続した場合、まず送出メッセージ抽出部140は接続先ドメインに接続しているノードとしてC,D,G,Hを把握する。次に、これらのノードのメッセージとして図4のNo.4,5,6,8,9,10のメッセージがメッセージ送出部150が送出すべきメッセージとして抽出される。
送出メッセージ抽出部140は、第1の抽出機能、第2の抽出機能のいずれかまたは双方を用いてメッセージを抽出した後、抽出したメッセージを直接メッセージ送出部150へ渡すか、抽出したメッセージからさらに以下で説明する第3の抽出機能により一部のメッセージを選択してメッセージ送出部150に渡す。
第3の抽出機能は、第1の抽出機能、第2の抽出機能のいずれかまたは双方によって抽出されたメッセージから、さらにノードの接続、切断の別と接続または切断したノードの種別(すなわち接続または切断したノードがサービス提供ノードであるか、サービス利用ノードであるか)を考慮してメッセージを選択する機能である。
以下に、図1に示した広告・検索エージェントモジュール100の送出メッセージ抽出部140における第3の抽出機能を用いたメッセージ抽出方法について説明する。
図6は、図1に示した広告・検索エージェントモジュール100の送出メッセージ抽出部140における第3の抽出機能を用いたメッセージ抽出方法を説明するためのフローチャートである。
まず、ノードが接続したか、切断したかが判断される(ステップS1)。ノードが接続したと判断された場合、接続したノードが、サービス利用ノードであるか、サービス提供ノードであるかが判断される(ステップS2)。
接続したノードが、サービス利用ノードであると判断された場合、上述した第2の抽出機能を用いて抽出されたメッセージについては、抽出されたメッセージの中からサービス利用可能広告メッセージが選択される(ステップS3)。また、上述した第1の抽出機能を用いて抽出されたメッセージについては、抽出されたメッセージの中から検索メッセージが選択される(ステップS4)。
また、ステップS2にて、接続したノードが、サービス提供ノードであると判断された場合、第2の抽出機能を用いて抽出されたメッセージについては、抽出されたメッセージの中から検索メッセージが選択される(ステップS5)。また、第1の抽出機能を用いて抽出されたメッセージについては、抽出されたメッセージの中からサービス利用可能広告メッセージが選択される(ステップS6)。
一方、ステップS1にて、ノードが切断したと判断された場合、切断したノードが、サービス利用ノードであるか、サービス提供ノードであるかが判断される(ステップS7)。
切断したノードが、サービス利用ノードであると判断された場合、第1の抽出機能を用いて抽出されたメッセージについては、メッセージの選択は行われない。また、第2の抽出機能を用いて抽出されたメッセージについては、抽出されたメッセージの中からサービス利用不可広告メッセージが選択される(ステップS8)。
また、ステップS7にて、切断されたノードが、サービス提供ノードであると判断された場合、第1の抽出機能を用いて抽出されたメッセージについては、抽出されたメッセージの中からサービス利用不可広告メッセージが選択される(ステップS9)。また、第2の抽出機能を用いて抽出されたメッセージについては、メッセージの選択は行われない。
ここで、接続または切断したノードがサービス提供ノードであるかサービス利用ノードであるかについては、例えば、メッセージDB120に記憶されているメッセージを参照することで把握することができる。メッセージDB120に記憶されているメッセージが検索メッセージのみであるノードは、サービス利用ノードであり、またサービス利用可能、利用不可広告メッセージのいずれかまたは両方のノードはサービス提供ノードであると判断できる。例えば図4に示すメッセージDB120の場合は、A,C,E,G及びIがサービス利用ノードであり、またB,D,H及びJがサービス提供ノードであると判断できる。
なお、送出メッセージ抽出部140は、第1の抽出機能、第2の抽出機能によって抽出したメッセージからメッセージを選択する際に、接続または切断したノードの種別は考慮せず、単純にノードの接続、切断の別のみを考慮してメッセージの選択を行ってもよい。その場合、図6のステップS2とS7は省略され、ステップS1においてノードが接続したと判断された場合は、ステップS3〜S6に示すメッセージが、また、ステップS1においてノードが切断したと判断された場合は、ステップS8、S9に示すメッセージが、それぞれ選択される。
次にメッセージ送出部150について説明する。
メッセージ送出部150は、ノード接続監視部130から接続または切断の通知を受けると、送出メッセージ抽出部140に対してメッセージを抽出するように指示し、メッセージ送出部150は送出メッセージ抽出部140から渡されたメッセージを送出する。
メッセージ送出部150は、送出メッセージ抽出部140から渡されたメッセージを、接続、切断ノードまたは接続先、切断元ドメインのみに送出することにより、接続先、切断元ドメインとは無関係のノードにドメイン内で送信されたメッセージが送出されることを防ぐ。
以下に、メッセージ送出部150におけるメッセージ送出方法について具体的に説明する。メッセージ送出部150は、以下の第1の送出機能(c)及び第2の送出機能(d)のいずれかまたは両方の機能を有しており、これらの機能を用いてメッセージが送出される。
(c)送出メッセージ抽出部140から渡されたメッセージをそのままドメインに送出する機能。
(d)送出メッセージ抽出部140から渡されたメッセージのうち、特定の条件に合致するメッセージをユニキャストメッセージに変換した後、接続、切断ノードに送出する機能。
(c)の送出機能が用いられる場合、送出メッセージ抽出部140から渡されるメッセージは全てブロードキャストまたはマルチキャストメッセージであるため、メッセージ送出部150が送出するメッセージも全てブロードキャストまたはマルチキャストメッセージである。メッセージ送出部150はノードが接続または切断したドメインに対してメッセージを送出する。
例えば、広告・検索メッセージ取得部110においてTUN/TAPデバイスやPCAP等を利用してメッセージのレイヤ2レベルのヘッダ情報まで取得している場合は、取得ブロードキャストまたはマルチキャストメッセージのレイヤ2レベルのヘッダ情報に変更を加えずにそのままメッセージを送出する。この場合、メッセージは広告・検索エージェントモジュール100から送出されるにも関わらず、その送信元MACアドレスは当該メッセージをブロードキャストまたはマルチキャストしたサービス利用ノードまたはサービス提供ノードの送信元MACアドレスのまま送出される。
(d)の送出機能が用いられる場合、送出メッセージ抽出部140から渡されるメッセージのうち、第2の抽出機能を用いて抽出されたメッセージをユニキャストメッセージに変換して接続、切断したノードに対して送出する。具体的に、ユニキャストメッセージに変換されるメッセージは、以下の(e)〜(g)の3つのメッセージである。
(e)ドメインに既に接続しているノードのサービス利用可能広告メッセージ。
(f)ドメインに既に接続しているノードの検索メッセージ。
(g)ドメインに既に接続しているノードのサービス利用不可広告メッセージ。
例えば、広告・検索メッセージ取得部110においてTUN/TAPデバイスやPCAP等を利用してメッセージのレイヤ2レベルのヘッダ情報まで取得している場合は、取得されたブロードキャストまたはマルチキャストメッセージ(レイヤ2レベルのヘッダ情報)の宛先MACアドレスを接続または切断したMACアドレスに変換して送出する。なお、広告・検索メッセージ取得部110がメッセージを取得した時点では宛先MACアドレスはブロードキャストまたはマルチキャストアドレスとなっている。また、送信先MACアドレスやその他のレイヤのヘッダ情報には変更を加えない条件に合致しない第1の抽出機能を用いて抽出されたメッセージについてはメッセージの変換は行わず、ノードの接続先、切断元ドメインに対して渡されたメッセージをそのままブロードキャストまたはマルチキャストする。
以下に、ノードが接続した場合と切断したノード場合とに分けて、接続、切断ノード及び、接続先、切断元ドメインに接続するノードが如何にして利用可能サービス変更を即時検出するかについて説明する。なお、以下の説明ではメッセージ送出部150におけるメッセージ送出機能として上述した(d)の機能が用いられているものとする。
まず、ノードが接続した場合について説明する。
メッセージ送出部150によって、メッセージ抽出部140から第1の抽出機能を用いて抽出されたメッセージが渡された場合、渡されたメッセージが新規接続ノードの接続先ドメインに対してブロードキャストまたはマルチキャストされる。この場合、図6に示したステップS4と、ステップS6とのいずれかまたは両方によって選択されたメッセージが渡される。
この結果、新規接続ノードの接続先ドメインに既に接続しているノード全てにて新規接続ノードの検索メッセージが受信されることになり、接続先ドメインに既に接続しているサービス提供ノードによって検索メッセージに対する応答メッセージが新規接続ノードに送信される。このため、新規接続したサービス利用ノードは、接続後即座に接続先ドメインで利用可能なサービスを発見することができる。
また、新規接続ノードの接続先ドメインに既に接続しているノード全てに新規接続ノードのサービス利用可能広告メッセージが通知されることになり、接続先ドメインに既に接続しているサービス利用ノードは、サービス利用可能広告メッセージの通知によって、新規接続ノードがドメインに接続した後即座に新規接続ノードの提供するサービスを検出することができる。
一方、第2の抽出機能を用いて抽出されたメッセージを渡された場合は、渡されたメッセージがユニキャストメッセージに変換され、新規接続ノードに送信される。この場合、図6に示したステップS3と、ステップS5とのいずれかまたは両方によって選択されたメッセージが渡される。
この結果、新規接続ノードは接続先ドメインに既に接続しているノードのサービス利用可能広告メッセージが受信されることになり、接続後即座に接続先ドメインで利用可能なサービスを検出することができる。
また、新規接続ノードにて接続先ドメインに既に接続しているサービス利用ノードの検索メッセージが受信され、新規接続ノードによって受信された検索メッセージに対する応答メッセージが送信されることにより、既に接続しているノードは新規接続ノードの提供するサービスを検出することができる。
次に、ノードが切断した場合について説明する。
第1の抽出機能を用いて抽出されたメッセージが渡された場合は、渡されたメッセージが切断ノードの切断元ドメインにブロードキャストまたはマルチキャストされる。この場合、図6に示したステップS9によって選択されたメッセージが渡される。
この結果、切断元ドメインに接続しているサービス利用ノードにてブロードキャストまたはマルチキャストされたサービス利用不可広告メッセージが受信されることになるため、切断後即座に切断ノードが提供するサービスが利用不可になったことを知ることができる。
また、第2の抽出機能を用いて抽出されたメッセージが渡された場合は、渡されたメッセージがユニキャストメッセージに変換され、切断ノードに対して送信される。この場合、図6に示したステップS8によって選択されたメッセージが渡される。
この結果、切断ノードにてサービス利用不可広告メッセージが受信されるため、切断後即座に切断元ドメインで提供されていたサービスが利用不可になったことを知ることができる。
なお、ノードのドメインからの切断の場合には、第1の抽出機能と第2の抽出機能との両方を用いてメッセージの抽出が行われることによって、サービス提供ノードとサービス利用ノードとのいずれが切断した場合にも対応することができる。この場合、図6に示したステップS8とステップS9との両方の抽出が行われる。
以上説明した本実施の形態における広告・検索エージェントモジュール100により、以下の効果がもたらされる。
本実施の形態における広告・検索エージェントモジュール100はサービス提供ノード、サービス利用ノードの監視ドメインへの接続とドメインからの切断を検出するとともに、接続または切断したドメイン及び接続、切断したノードのノード識別子を把握するノード接続監視部130と、ノード接続監視部130が検出したノードの識別子及び接続先または切断元ドメインに基づいて、当該ノードが過去ブロードキャスト、マルチキャストしたメッセージまたは、接続先または切断元ドメインに接続する他のノードが過去ブロードキャスト、マルチキャストしたメッセージのいずれかまたは両方を抽出する送出メッセージ抽出部140と、送出メッセージ抽出部140が抽出したメッセージが接続、切断したノードが送信したメッセージである場合には接続先または切断元のドメインに対してブロードキャスト、マルチキャストし、送出メッセージ抽出部140が抽出したメッセージが接 続先、切断元ドメインに接続する他のノードが送出するメッセージである場合には接続、切断したノードに対して送信するメッセージ送出部150とを有し、サービス提供ノードが新たにドメインに接続した場合には、ノード接続監視部130が接続を検出するとともに、当該サービス提供ノードのノード識別子と接続先ドメインを把握し、送出メッセージ抽出部140はノード接続監視部130が把握したノード識別子と接続先ドメインに基づいて、(A)当該サービス提供ノードが過去ブロードキャスト、マルチキャストしたサービス利用可能広告メッセージまたは(B)接続先ドメインに接続している他のノードが過去ブロードキャスト、マルチキャストした検索メッセージのいずれかまたは両方を抽出し、
メッセージ送出部150は送出メッセージ抽出部140が抽出したメッセージが(A)の場合はサービス提供ノードの接続先ドメインに対して抽出されたメッセージをブロードキャスト、マルチキャストし、(B)の場合はサービス提供ノードに対して抽出されたメッセージをブロードキャスト、マルチキャストする。
これにより、サービス提供ノードがドメインに新規接続した場合に、当該ノードが提供するサービスを接続先ドメインに既に接続している他のノードがサービス提供ノードの接続後即座に発見することができる。
また、本実施の形態における送出メッセージ抽出部140及びメッセージ送出部150は、ノードの接続または切断があった場合に、(i)ノード接続または切断が あったドメインに接続しているノードのメッセージのみを抽出し、抽出したメッセージは接続または切断したノードにのみ送出する、もしくは(ii)接続ノード、切断ノードのメッセージのみを抽出し、抽出したメッセージは接続先または切断元ドメインにのみ送出する、のいずれかを行う。
すなわち、接続先、切断元ドメインのメッセージが当該ドメインとは無関係のノードに送出されることが防がれ、また、接続または切断したノードのメッセージが接続先、切断元のドメインと無関係のノードに送出されることも防がれる。
これにより、新たにサービス利用ノードがドメインに接続した場合に当該ドメインに接続しているサービス提供ノードのみを新たに接続したサービス利用ノードが発見可能になるとともに、新たにサービス提供ノードがドメインに接続した場合に当該ドメインに接続しているサービス利用ノードのみが新たに接続したサービス提供ノードの提供するサービスを発見できるようになる。
さらに、本実施の形態における広告・検索エージェントモジュール100は、ノード接続監視部130が監視ドメインからのノードの切断を検出すると、送出メッセージ抽出部140により切断ノードが過去に監視ドメインで送出したサービス利用不可広告メッセージまたは切断元ドメインに接続するノードが過去に監視ドメインで送出したサービス利用不可広告メッセージが抽出され、メッセージ送出部150が抽出されたメッセージの切断元ドメインへのブロードキャスト、マルチキャスト、または切断ノードへの送信を行う。
これにより、ドメインからノードが切断した場合に、当該切断ノードがサービス提供ノードである場合は切断元ドメインに接続するサービス利用ノードが切断ノードの提供するサービスが利用不可になったことを即座に把握可能になるとともに、切断ノードがサービス利用ノードである場合は、切断元ドメインで提供されているサービスを切断ノードが即座に把握可能になる。
ただし第1の実施の形態における広告・検索エージェントモジュールには次の課題がある。
第1の実施の形態の第1の課題は、メッセージDB120におけるメッセージの格納状態によって、ノードの接続、切断に伴うサービスの即時発見や切断検出が行えない場合がある点である。
第1の実施の形態において広告・検索エージェントモジュール100は、ノードが接続、切断した時点でメッセージDB120に格納されているメッセージしか送出することができない。このため、例えばサービス提供ノードが新たにドメインに接続した場合、当該サービス提供ノードのサービス利用可能広告メッセージか接続先ドメインに接続するノードのサービス検索メッセージが予めメッセージDB120に登録されていなければ、新規に接続したサービス提供ノードが提供するサービスを接続先ドメインに接続するノードが即座に発見することができない。また、サービス提供ノードがドメインから切断する場合も、切断の時点で当該サービス提供ノードのサービス利用不可広告メッセージがメッセージDB120に格納されていなければ、切断時点で切断元ドメインに接続するノードが即座にサービス利用不可を検出することができない。サービス利用ノードが接続、切断する場合にも同様のことが言える。
第2の課題は、ノードがドメインに接続した際に、広告・検索エージェントモジュール100からの検索メッセージの送出によってサービスの即時発見を試みる場合(接続ノードがサービス提供ノードで、接続先ドメインに既に接続しているノードが過去送出した検索メッセージを接続ノードに送信する場合及び、接続ノードがサービス利用ノードで、接 続ノードが過去送出した検索メッセージを接続先ドメインにブロードキャスト、マルチキャストする場合)があるが、ノード上で稼動するアプリケーションの実装によっては広告・検索エージェントモジュール100からの検索メッセージ送出によるサービス発見が不可能な場合がある点である。
その理由は次のとおりである。広告・検索エージェントモジュール100からの検索メッセージ送出によってサービス発見を試みる場合、サービス提供ノードは広告・検索エージェントモジュール100から受信した検索メッセージに対する応答メッセージをサービス利用ノードに対して送信する。ここで、サービス利用ノード上のアプリケーションが常時応答メッセージの受信可能状態になるように実装されていれば、サービス利用ノードは応答メッセージの受信によってサービスを発見することができる。しかし、サービス利用ノード上のアプリケーションが自身が検索メッセージを送信した後一定時間のみ応答メッセージの受信可能状態になるように実装されている場合、サービス利用ノードは受信した応答メッセージを破棄してしまう。この場合、サービス利用ノードはサービスを発見することができない。
以下に説明する第2の実施の形態では、上述した第1の課題及び第2の課題を解決可能な広告・検索エージェントモジュールについて述べる。
(第2の実施の形態)
以下に、本発明の第2の実施の形態について図面を参照して説明する。
第2の実施の形態における広告・検索エージェントモジュールは、第1の実施の形態における広告・検索エージェントモジュールとは異なり、過去にノードから実際に送出されたメッセージのみならず、自身で作成したメッセージを送出することができる。
図7は、本発明の広告・検索エージェントモジュールの第2の実施の形態を示す図である。
図7に示すように、広告・検索エージェントモジュール102は、第1の実施の形態における広告・検索エージェントモジュール100と異なり、監視ドメインに接続するノードがブロードキャストまたはマルチキャストするメッセージを取得する広告・検索メッセージ取得部110は有さず、代わりにサービス利用可能広告メッセージ及びサービス利用不可広告メッセージを生成する送出メッセージ生成部160を有する。また、送出メッセージ抽出部141の機能が第1の実施の形態の送出メッセージ抽出部140の機能とは異なる。
以下、図7に示した広告・検索エージェントモジュール102における送出メッセージ抽出部141と送出メッセージ生成部160について説明する。なお、広告・検索エージェントモジュール102内の他の構成要素については第1の実施の形態と同じであるため、ここでは説明しない。
図7に示した送出メッセージ抽出部141は、第1の実施の形態における送出メッセージ抽出部140の機能に加え、送出メッセージ生成部160に対してメッセージの生成を指示する機能を有する。さらに、送出メッセージ抽出部141は、ノードの接続先ドメインまたは切断元ドメインを対象ドメインに指定して送出メッセージ生成部160に対してメッセージの生成を指示する第1のメッセージ生成指示機能と、接続または切断したノードを対象ノードに指定して送出メッセージ生成部160に対してメッセージの生成を指示する第2のメッセージ生成指示機能とのいずれか、または両方を有する。
送出メッセージ生成部160に対する指示内容には、メッセージ生成の対象ノードまたは対象ドメイン、生成するメッセージの種別(サービス利用可能広告メッセージ、サービス利用不可広告メッセージの別)が含まれる。
送出メッセージ抽出部141の動作は、メッセージDB120を参照する場合と参照しない場合とで異なる。
まず、メッセージDB120を参照しない場合について説明する。この場合、送出メッセージ抽出部141はメッセージ送出部150からの指示を受けると直ちに送出メッセージ生成部160に対してメッセージの生成を指示し、送出メッセージ生成部160によって生成されたメッセージをメッセージ送出部150に渡す。
送出メッセージ生成部160に対するメッセージ生成の指示動作は、第1の実施の形態におけるメッセージ抽出部140のメッセージ抽出動作と同様に、以下に示す(j)及び(k)の2つの場合によって異なる。
(j)ノードが接続した場合と切断した場合。
(k)接続、切断したノードがサービス利用ノードである場合とサービス提供ノードである場合。
送出メッセージ抽出部141は、送出メッセージ生成部160にメッセージ生成を指示するにあたって、(j)のみを考慮して指示することもできるし、(j)と(k)との双方を考慮して指示することもできる。
図8は、図7に示した送出メッセージ生成部160におけるメッセージ生成方法を説明するためのフローチャートである。
まず、ノード接続監視部130によってノードが接続されたか、切断されたかが判断される(ステップS11)。ノードが接続されたと判断された場合、接続されたノードが、サービス利用ノードであるか、サービス提供ノードであるかが判断される(ステップS12)。接続されたノードがサービス利用ノードかサービス提供ノードかを判断するには、例えば、送出メッセージ抽出部141から接続されたノードに対して検索メッセージを送出し、予め設定された一定時間内に検索メッセージに対する応答メッセージが返ってきた場合はサービス提供ノード、返ってこない場合はサービス利用ノードと判断することができる。
サービス利用ノードが接続されたと判断された場合、接続先ドメインに既に接続しているノードのサービス利用可能広告メッセージの生成が送出メッセージ生成部160に指示される(ステップS13)。指示内容には、メッセージ生成の対象ドメインとして当該ノードの接続先ドメインが、生成するメッセージの種別としてはサービス利用可能広告メッセージが含まれる。
また、サービス提供ノードが接続されたと判断された場合、接続ノードのサービス利用可能広告メッセージの生成が送出メッセージ生成部160に指示される(ステップS14)。指示内容には、メッセージ生成の対象ノードとして接続ノードが、生成するメッセージの種別としてはサービス利用可能広告メッセージが含まれる。
一方、ステップS11にて、ノードが切断されたと判断された場合、接続されたノードが、サービス利用ノードであるか、サービス提供ノードであるかが判断される(ステップS15)。
サービス利用ノードが切断されたと判断された場合、切断元ドメインに接続しているノードのサービス利用不可広告メッセージの生成が送出メッセージ生成部160に指示される(ステップS16)。指示内容にはメッセージ生成の対象ドメインとして切断元ドメインが、生成するメッセージの種別としてはサービス利用不可広告メッセージが含まれる。
また、サービス提供ノードが切断されたと判断された場合、切断ノードのサービス利用不可広告メッセージの生成が送出メッセージ生成部160に指示される(ステップS17)。指示内容には、メッセージ生成の対象ノードとして切断ノードが、生成するメッセージの種別としてはサービス利用不可広告メッセージが含まれる。
なお、図8に示したステップS12及びステップS15を省略することが可能であり、省略した場合、ノード接続時にはステップS13及びステップS14の両方の処理が、またノード切断時にはステップS16及びステップS17の両方の処理が実行される。
また、送出メッセージ抽出部141がメッセージDB120を参照しない場合には、広告・検索エージェントモジュール102はメッセージDB120を持たなくても良い。
次に、送出メッセージ抽出部141がメッセージDB120を参照する場合について説明する。この場合、送出メッセージ抽出部141は送出メッセージ生成部160にメッセージ生成を指示する際、併せて生成されたメッセージをメッセージDB120に記憶するように指示する。
送出メッセージ抽出部141の動作は、以下に示す(p)及び(q)の2つの場合で異なる動作をする。
(p)メッセージDB120にノード接続または切断が発生する直前の時点で監視ドメインのいずれかに接続している全てのサービス提供ノードのサービス利用可能広告メッセージ、サービス利用不可広告メッセージの両方が記憶されていることが保障されている場合。
(q)上記メッセージが記憶されていることが保障されていない場合。
まず(p)の場合の動作について説明する。
図9は、メッセージDB120にノード接続または切断が発生する直前の時点で監視ドメインのいずれかに接続している全てのサービス提供ノードのサービス利用可能広告メッセージ、サービス利用不可広告メッセージの両方が記憶されていることが保障されている場合の図7に示した送出メッセージ抽出部141におけるメッセージ抽出方法を説明するためのフローチャートである。
まず、ノード接続監視部130によってノードが接続されたか、切断されたかが判断される(ステップS21)。ノードが接続されたと判断された場合、接続ノードが過去いずれかの監視ドメインに接続していたか否かが判断される(ステップS22)。これは例えば、メッセージDB120を参照し、接続ノードのサービス利用可能広告メッセージ、サービス利用不可広告メッセージが記憶されているか否かをチェックすることで判断可能である。
既にいずれかの監視ドメインに接続していたと判断された場合は、メッセージDB120を参照して、第1の実施の形態における送出メッセージ抽出部140の処理と同様にメッセージが抽出され、抽出されたメッセージがメッセージ送出部150に渡される(ステップS23)。
また、接続ノードが過去いずれの監視ドメインに接続していなかったと判断された場合には、接続されたノードがサービス利用ノードかサービス提供ノードかが判断される(ステップS24)。
サービス利用ノードが接続されたと判断された場合、ステップS23の処理が実行される。
また、サービス提供ノードが接続されたと判断された場合は、接続ノードを対象ノードとしてメッセージを生成するように送出メッセージ生成部160に指示され、送出メッセージ生成部160にて生成されたメッセージがメッセージ送出部150に渡される(ステップS25)。なお、送出メッセージ生成部160にてメッセージ生成が指示された際、併せて生成されたメッセージのメッセージDB120への記憶も指示されるため、メッセージDB120には、ノード接続または切断が発生する直前の時点で監視ドメインのいずれかに接続している全てのサービス提供ノードのサービス利用可能広告メッセージ、サービス利用不可広告メッセージの両方が保持されていることが常に保障される。
一方、ステップS21にて、ノードが切断されたと判断された場合は、ステップS23の処理が実行される。
なお、上述した処理でステップS22及びステップS24の処理はいずれかまたは両方が省略可能なステップであり、ステップS22のみが省略された場合は常にステップS24以降の処理が、ステップS24のみが省略された場合は、ステップS22において接続ノードが新規ノードである場合に常にステップS25の処理が、ステップS22及びステップS24の両方が省略された場合は、ノードが接続した場合は常にステップS25の処理が、それぞれ実行される。
次に、次に上記(q)の場合の送出メッセージ抽出部141の動作について説明する。なお、(q)の場合の動作を行う場合、送出メッセージ抽出部141は送出メッセージ生成部160に対して生成を指示したメッセージの対象ドメイン、ノードを履歴として保持しておく。
図10は、メッセージDB120にノード接続または切断が発生する直前の時点で監視ドメインのいずれかに接続している全てのサービス提供ノードのサービス利用可能広告メッセージ、サービス利用不可広告メッセージの両方が記憶されていることが保障されていない場合の図7に示した送出メッセージ抽出部141におけるメッセージ抽出方法を説明するためのフローチャートである。
まず、ノード接続監視部130によってノードが接続されたか、切断されたかが判断される(ステップS31)。ノードが接続されたと判断された場合、接続されたノードがサービス利用ノードであるかサービス提供ノードであるかが判断される(ステップS32)。
サービス利用ノードが接続されたと判断された場合、当該ノードの接続先ドメインを対象ドメインとしたメッセージ生成を指示済みか否かが判断される(ステップS33)。
指示済みであると判断された場合、メッセージDB120を参照して第1の実施の形態における送出メッセージ抽出部140の処理と同様にメッセージが抽出され、抽出されたメッセージがメッセージ送出部150に渡される(ステップS34)。
また、指示済みでないと判断された場合は、接続先ドメインに既に接続しているノードのサービス利用可能広告メッセージの生成が送出メッセージ生成部160に指示される(ステップS35)。指示内容には、メッセージ生成の対象ドメインとして当該ノードの接続先ドメインが、生成するメッセージの種別としてはサービス利用可能広告メッセージが含まれる。
一方、ステップS32にて、サービス提供ノードが接続されたと判断された場合、当該ノードを対象ノードとしたメッセージ生成が指示済みか否かが判断される(ステップS36)。
指示済みであると判断された場合は、ステップS34の処理が実行される。
また、指示済みでないと判断された場合は、接続ノードのサービス利用可能広告メッセージの生成が送出メッセージ生成部160に指示される(ステップS37)。指示内容には、メッセージ生成の対象ノードとして接続ノードが、生成するメッセージの種別としてはサービス利用可能広告メッセージが含まれる。
一方、ステップS31にて、ノードが切断されたと判断された場合、切断されたノードがサービス利用ノードであるかサービス提供ノードであるかが判断される(ステップS38)。
サービス利用ノードが切断されたと判断された場合、当該ノードの切断元ドメインを対象ドメインとしたメッセージ生成が指示済みか否かが判断される(ステップS39)。
指示済みであると判断された場合、ステップS34の処理が実行される。
また、指示済みでないと判断された場合は、切断元ドメインに接続しているノードのサービス利用不可広告メッセージの生成が送出メッセージ生成部160に指示される(ステップS40)。指示内容には、メッセージ生成の対象ドメインとして切断元ドメインが、生成するメッセージの種別としてはサービス利用不可広告メッセージが含まれる。
一方、ステップS38にて、サービス提供ノードが切断されたと判断された場合、当該ノードを対象ノードとしたメッセージ生成が指示済みか否かが判断される(ステップS41)。
指示済みであると判断された場合、ステップS34の処理が実行される。
また、指示済みでないと判断された場合は、切断ノードのサービス利用不可広告メッセージの生成が送出メッセージ生成部160に指示される(ステップS42)。指示内容には、メッセージ生成の対象ノードとして切断ノードが、生成するメッセージの種別としてはサービス利用不可広告メッセージが含まれる。
なお、ステップS32及びステップS38は省略することが可能であり、省略された場合、ノード接続時にはステップS33以降及びステップS36以降のステップが両方とも実行される。ノード切断時にはステップS39以降及びステップS41以降のステップが両方とも実行される。
また、送出メッセージ生成部160にて、送出メッセージ抽出部141からメッセージ生成が指示されると、指示内容に基づいてメッセージが生成される。さらに、送出メッセージ抽出部141からメッセージの記憶も指示された場合には、メッセージDB120に対して生成したメッセージが記憶される。
なお、第1の実施の形態における広告・検索エージェントモジュール100と同様、本実施の形態においてもメッセージDB120は広告・検索エージェントモジュール102を構成する他の構成要素(広告・検索メッセージ取得部110、ノード接続監視部130、送出メッセージ抽出部141、送出メッセージ生成部160及びメッセージ送出部150)と同一のノードに存在しなくても良い。例えば、単一のメッセージDB120をデータベースサーバ等に配置し、複数の広告・検索メッセージ取得部110、ノード接続監視部130、送出メッセージ抽出部141、送出メッセージ生成部160及びメッセージ送出部150で共有することにより、広告・検索エージェントモジュール102は他の広告・検索エージェントモジュール102内の送出メッセージ生成部160にて生成されたメッセージについても参照することが可能となる。
また、送出メッセージ生成部160には監視ドメインに接続するサービス利用ノード、サービス提供ノード上で稼動するアプリケーションの、少なくともサービス検出に関するアプリケーションプロトコルスタック、すなわち、自身がサービス検出を行うための検索メッセージの生成、送出と、検索メッセージに対する応答メッセージのアプリケーションレベルの内容の解釈を行う機能が実装されている。
さらに、送出メッセージ生成部160は、メッセージ生成が指示されると、実装された当該アプリケーションプロトコルスタックにより、自身がサービス検出を行うための検索メッセージの生成、送出を行い、検索メッセージに対する応答メッセージのアプリケーションレベルの内容の解釈を行って、その内容からサービス利用可能広告メッセージ及びサービス利用不可広告メッセージを生成する機能を有する。
また、送出メッセージ生成部160の動作は、メッセージ生成の対象としてドメインが指定された場合と、ノードが指定された場合とで異なる。
また、メッセージ生成の対象としてドメインが指定された場合、送出メッセージ生成部160にて、自身がサービス検出を行うための検索メッセージが生成され、生成された検索メッセージが対象ドメインにブロードキャストまたはマルチキャストされる。
その後、検索メッセージに対する全ての応答メッセージのアプリケーションレベルの内容の解釈が行われ、その内容からサービス利用可能広告メッセージ及びサービス利用不可広告メッセージが生成される。これにより、メッセージ生成を指示された時点で対象ドメインに接続している全てのサービス提供ノードのサービス利用可能広告メッセージ及びサービス利用不可広告メッセージが生成される。
メッセージ生成の対象としてノードが指定された場合、送出メッセージ生成部160にて、自身がサービス検出を行うための検索メッセージが生成され、生成された検索メッセージが対象ノードに対してユニキャストにより送信される。
その後、検索メッセージに対する全ての応答メッセージのアプリケーションレベルの内容の解釈が行われ、その内容からサービス利用可能広告メッセージ及びサービス利用不可広告メッセージが生成される。
これにより、メッセージ送出部150の動作も、送出メッセージ生成部160にて生成されたメッセージの送出対象がドメインであるかノードであるかによって異なる。
そのため、メッセージ送出部150は、それぞれに対応した送出機能であるドメイン送出機能と、ノード送出機能とを有する。ドメイン送出機能は、送出メッセージ生成部160にて生成されたメッセージの送出対象がドメインである場合、当該メッセージを当該ドメインへ送出する機能である。また、ノード送出機能は、送出メッセージ生成部160にて生成されたメッセージの送出対象がノードである場合、当該メッセージを当該ノードへ送出する機能である。なお、ノード送出機能を用いてメッセージをノードへ送出する場合、メッセージをユニキャストメッセージに変換して送出する。
本実施の形態における広告・検索エージェントモジュール102により、以下の効果がもたらされる。
本実施の形態における広告・検索エージェントモジュール102は、監視ドメインに接続するサービス提供ノードのサービス利用可能広告メッセージ及びサービス利用不可広告メッセージを生成する送出メッセージ生成部160を有し、監視ドメインにおいてノードの接続、切断が発生した際に、接続、切断に伴う利用サービス変更をドメイン内のノード及び接続、切断したノードが即時検出するのに必要なメッセージを送出する。
これにより、監視ドメインに接続しているノードまたはドメインに接続したノード、ドメインから切断したノードの検索メッセージ、サービス利用可能メッセージ及びサービス利用不可メッセージを予め取得できていない場合においても、ドメインに接続しているノードまたはドメインに接続したノード、ドメインから切断したノードが利用可能サービスの変更を接続、切断が発生した直後に検出することができる。
また、本実施の形態において、ノードの利用可能サービスの変更検出は常に、広告・検索エージェントモジュール102から送信されたサービス利用可能広告メッセージまたはサービス利用不可広告メッセージが各ノードにて受信されることで行われる。すなわち、第1の実施の形態と異なり、各ノードから自身の送信していない検索メッセージ、つまり広告・検索エージェントモジュール102から送信された検索メッセージに対する応答メッセージが各ノードにて受信されることによって、利用可能サービスの変更検出を行うことはない。これにより、サービス利用ノード上のアプリケーションが自身が検索メッセージを送信した後、予め設定された一定時間のみ応答メッセージの受信可能状態になるように実装されている場合であっても、当該サービス利用ノードは利用可能サービスの変更検出を接続、切断の直後に行うことができる。
以上説明した本発明においては、以下の効果がある。
第1の効果は、サービス提供ノードがドメインに新規接続した場合に、当該ノードが提供するサービスを接続先ドメインに既に接続している他のノードがサービス提供ノードの接続後即座に発見することができる点である。
その理由は、広告・検索エージェントモジュール100はサービス提供ノード、サービス利用ノードの監視ドメインへの接続とドメインからの切断を検出するとともに、接続または切断したドメイン及び接続、切断したノードのノード識別子を把握するノード接続監視部130と、ノード接続監視部130が検出したノードの識別子及び接続先または切断元ドメインに基づいて、当該ノードが過去ブロードキャスト、マルチキャストしたメッセージまたは、接続先または切断元ドメインに接続する他のノードが過去ブロードキャスト、マルチキャストしたメッセージのいずれかまたは両方を抽出する送出メッセージ抽出部140と、送出メッセージ抽出部140が抽出したメッセージが接続、切断したノードが送信したメッセージである場合には接続先または切断元のドメインに対してブロードキャスト、マルチキャストし、送出メッセージ抽出部140が抽出したメッセージが接続先、切断元ドメインに接続する他のノードが送出するメッセージである場合には接続、切断したノードに対して送信するメッセージ送出部150とを有し、サービス提供ノードが新たにドメインに接続した場合には、ノード接続監視部130が接続を検出するとともに、当該サービス提供ノードのノード識別子と接続先ドメインを把握し、送出メッセージ抽出部140はノード接続監視部130が把握したノード識別子と接続先ドメインに基づいて、(A)当該サービス提供ノードが 過去ブロードキャスト、マルチキャストしたサービス利用可能広告メッセージまたは(B)接続先ドメインに接続している他のノードが過去ブロードキャスト、マルチキャストした検索メッセージのいずれかまたは両方を抽出し、メッセージ送出部150は送出メッセージ抽出部140が抽出したメッセージが(A)の場合はサービス提供ノードの接続先ドメインに対して抽出されたメッセージをブロードキャスト、マルチキャストし、(B)の場合はサービス提供ノードに対して抽出されたメッセージをブロードキャスト、マルチキャストするためである。
第2の効果は、新たにサービス利用ノードがドメインに接続した場合に当該ドメインに接続しているサービス提供ノードのみを新たに接続したサービス利用ノードが発見可能になるとともに、新たにサービス提供ノードがドメインに接続した場合に当該ドメインに接続しているサービス利用ノードのみが新たに接続したサービス提供ノードの提供するサービスを発見できるようになる点である。
その理由は、送出メッセージ抽出部140及びメッセージ送出部150は、ノードの接続または切断があった場合に、(i)ノード接続または切断が あったドメインに接続しているノードのメッセージのみを抽出し、抽出したメッセージは接続または切断したノードにのみ送出する、もしくは(ii)接続ノード、切断ノード のメッセージのみを抽出し、抽出したメッセージは接続先または切断元ドメインにのみ送出する、のいずれかを行うため、接続先、切断元ドメイ ンのメッセージが当該ドメインとは無関係のノードに送出されることが防がれ、また、接続または切断したノードのメッセージが接続先、切断元のドメインと無関係のノードに送出されることも防がれるためである。
第3の効果は、ドメインからノードが切断した場合に、当該切断ノードがサービス提供ノードである場合は切断元ドメインに接続するサービス利用ノードが切断ノードの提供するサービスが利用不可になったことを即座に把握可能になるとともに、切断ノードがサービス利用ノードである場合は、切断元ドメインで提供されているサービスを切断ノードが即座に把握可能になる点である。
その理由は、ノード接続監視部130が監視ドメインからのノードの切断を検出すると、送出メッセージ抽出部140により切断ノードが過去に監視ドメインで送出したサービス利用不可広告メッセージまたは切断元ドメインに接続するノードが過去に監視ドメインで送出したサービス利用不可広告メッセージが抽出され、メッセージ送出部150が抽出されたメッセージの切断元ドメインへのブロードキャスト、マルチキャスト、または切断ノードへの送信を行うためである。
第4の効果は、監視ドメインに接続しているノードまたはドメインに接続したノード、ドメインから切断したノードの検索メッセージ、サービス利用可能メッセージ、サービス利用不可メッセージを予め取得できていない場合においても、ドメインに接続しているノードまたはドメインに接続したノード、ドメインから切断したノードが利用可能サービスの変更を接続、切断が発生した直後に検出することができる点である。
その理由は、広告・検索エージェントモジュール102は、監視ドメインに接続するサービス提供ノードのサービス利用可能広告メッセージ及びサービス利用不可広告メッセージを生成する送出メッセージ生成部160を有し、監視ドメインにおいてノードの接続、切断が発生した際に、接続、切断に伴う利用サービス変更をドメイン内のノード及び接続、切断したノードが即時検出するのに必要なメッセージを送出するためである。
第5の効果は、サービス利用ノード上のアプリケーションが自身が検索メッセージを送信した後一定時間のみ応答メッセージの受信可能状態になるように実装されている場合であっても、当該サービス利用ノードは利用可能サービスの変更検出を接続、切断の直後に行うことができる点である。
その理由は、ノードの利用可能サービスの変更検出は常に、広告・検索エージェントモジュール102から送信されたサービス利用可能広告メッセージまたはサービス利用不可広告メッセージを各ノードが受信することで行われ、各ノードが自身自身の送信していない検索メッセージ(広告・検索エージェントモジュール100が送信した検索メッセージ)に対する応答メッセージを各ノードが受信することによって利用可能サービスの変更検出を行うことはないためである。
本発明の広告・検索エージェントモジュールの第1の実施の形態を示す図である。 図1に示した広告・検索エージェントモジュールが、VLANスイッチ内に配置された場合の接続構成の一例を示す図である。 図1に示した広告・検索エージェントモジュールが、VPNゲートウェイ内に配置された場合の接続構成の一例を示す図である。 図3に示す位置に広告・検索エージェントモジュールが配置された場合の図1に示した広告・検索エージェントモジュールのメッセージDBに記憶された内容の一例を示す図である。 図1に示したメッセージDBが複数の広告・検索エージェントモジュールによって共有される構成の一例を示す図である。 図1に示した広告・検索エージェントモジュールの送出メッセージ抽出部における第3の抽出機能を用いたメッセージ抽出方法を説明するためのフローチャートである。 本発明の広告・検索エージェントモジュールの第2の実施の形態を示す図である。 図7に示した送出メッセージ生成部におけるメッセージ生成方法を説明するためのフローチャートである。 メッセージDBにノード接続または切断が発生する直前の時点で監視ドメインのいずれかに接続している全てのサービス提供ノードのサービス利用可能広告メッセージ、サービス利用不可広告メッセージの両方が記憶されていることが保障されている場合の図7に示した送出メッセージ抽出部におけるメッセージ抽出方法を説明するためのフローチャートである。 メッセージDBにノード接続または切断が発生する直前の時点で監視ドメインのいずれかに接続している全てのサービス提供ノードのサービス利用可能広告メッセージ、サービス利用不可広告メッセージの両方が記憶されていることが保障されていない場合の図7に示した送出メッセージ抽出部におけるメッセージ抽出方法を説明するためのフローチャートである。
符号の説明
100,102 広告・検索エージェントモジュール
110 広告検索メッセージ取得部
120 メッセージDB
130 ノード接続監視部
140,141 送出メッセージ抽出部
150 メッセージ送出部
160 送出メッセージ生成部
210−1〜210−m ドメイン
211−11〜211−mn ノード
230 VLANスイッチ
240−1〜240−3 VLAN
300−1〜300−2 VPNゲートウェイ
310−1〜310−2 VPN
320 企業X LAN
330 企業Y LAN

Claims (13)

  1. 複数のドメインにおいてブロードキャストまたはマルチキャストされる検索メッセージと、サービス利用可能広告メッセージと、サービス利用不可広告メッセージとを含む広告・検索メッセージを送受信する広告・検索エージェントであって、
    前記複数のドメインのいずれかに接続するノードによってブロードキャストまたはマルチキャストされる前記広告・検索メッセージを取得するメッセージ取得部と、
    前記メッセージ取得部によって取得された前記広告・検索メッセージを記憶するメッセージDBと、
    前記複数のドメインにおける前記ノードの接続を検出するノード接続監視部と、
    前記ノード接続監視部によって前記ノードの接続が検出された際に、前記メッセージDBに記憶されている前記広告・検索メッセージのうち、接続したノードから送出された前記検索メッセージ及び前記サービス利用可能広告メッセージのみを抽出する第1の抽出機能と、前記ノードの接続が発生したドメインに接続しているノードを把握して、前記ドメインに接続しているノードから送出された前記検索メッセージ及び前記サービス利用可能広告メッセージのみを抽出する第2の抽出機能とのいずれかまたは両方を有する送出メッセージ抽出部と、
    前記ノード接続監視部によって前記ノードの接続が検出された際に、前記送出メッセージ抽出部によって前記第1の抽出機能により抽出された前記検索メッセージ及び前記サービス利用可能広告メッセージを前記ノードの接続が発生したドメインに送出する第1の送出機能と、前記送出メッセージ抽出部によって前記第2の抽出機能により抽出された前記検索メッセージ及び前記サービス利用可能広告メッセージを前記ドメインに接続したノードに対して送出する第2の送出機能とのいずれかまたは両方を有するメッセージ送出部とを有する広告・検索エージェント。
  2. 請求項1に記載の広告・検索エージェントにおいて、
    前記送出メッセージ抽出部は、前記サービスを利用するノードであるサービス利用ノードが接続した場合、前記第1の抽出機能により抽出されたメッセージについては前記検索メッセージをさらに抽出し、前記第2の抽出機能により抽出されたメッセージについては前記サービス利用可能広告メッセージをさらに抽出し、また、サービスを提供するノードであるサービス提供ノードが接続した場合、前記第1の抽出機能により抽出されたメッセージについては前記サービス利用可能広告メッセージをさらに抽出し、前記第2の抽出機能により抽出されたメッセージについては前記検索メッセージをさらに抽出する第3の抽出機能を有することを特徴とする広告・検索エージェント。
  3. 複数のドメインにおいてブロードキャストまたはマルチキャストされる検索メッセージと、サービス利用可能広告メッセージと、サービス利用不可広告メッセージとを含む広告・検索メッセージを送受信する広告・検索エージェントであって、
    前記複数のドメインのいずれかに接続するノードによってブロードキャストまたはマルチキャストされる前記広告・検索メッセージを取得するメッセージ取得部と、
    前記メッセージ取得部によって取得された前記広告・検索メッセージを記憶するメッセージDBと、
    前記複数のドメインにおける前記ノードの切断を検出するノード接続監視部と、
    前記ノード接続監視部によって前記ノードの切断が検出された際に、前記メッセージDBに記憶されている前記広告・検索メッセージのうち、切断したノードから送出された前記サービス利用不可広告メッセージのみを抽出する第1の抽出機能と、前記ノードの切断が発生したドメインに接続しているノードを把握して、前記ドメインに接続しているノードから送出された前記サービス利用不可広告メッセージのみを抽出する第2の抽出機能とのいずれかまたは両方を有する送出メッセージ抽出部と
    前記ノード接続監視部によってノードの切断が検出された際に、前記送出メッセージ抽出部によって前記第1の抽出機能により抽出された前記サービス利用不可広告メッセージを前記ノードの切断が発生したドメインに送出する第1の送出機能と、前記送出メッセージ抽出部によって前記第2の抽出機能により抽出されたサービス利用不可広告メッセージを前記ドメインから切断したノードに対して送出する第2の送出機能とのいずれかまたは両方を有するメッセージ送出部とを有する広告・検索エージェント。
  4. 請求項3に記載の広告・検索エージェントにおいて、
    前記送出メッセージ抽出部は、前記サービスを利用するノードであるサービス利用ノードが切断した場合、前記第1の抽出機能により抽出されたメッセージについては前記メッセージの抽出は行わず、前記第2の抽出機能により抽出されたメッセージについては前記サービス利用不可広告メッセージをさらに抽出し、また、サービスを提供するノードであるサービス提供ノードが切断した場合、前記第1の抽出機能により抽出されたメッセージについては前記サービス利用不可広告メッセージをさらに抽出し、前記第2の抽出機能により抽出されたメッセージについては前記メッセージの抽出は行わない第3の抽出機能を有することを特徴とする広告・検索エージェント。
  5. 複数のドメインにおいてブロードキャストまたはマルチキャストされる検索メッセージと、サービス利用可能広告メッセージと、サービス利用不可広告メッセージとを含む広告・検索メッセージを送受信する広告・検索エージェントであって、
    前記複数のドメインのいずれかに接続するノードによってブロードキャストまたはマルチキャストされる前記広告・検索メッセージを取得するメッセージ取得部と、
    前記メッセージ取得部によって取得された前記広告・検索メッセージを記憶するメッセージDBと、
    前記複数のドメインにおける前記ノードの接続を検出し、また、前記ノードの切断を検出するノード接続監視部と、
    前記メッセージDBに格納されている広告・検索メッセージのうち、前記ノード接続監視部によってノードの接続が検出された際に、接続したノードから送出された前記検索メッセージ及び前記サービス利用可能広告メッセージのみを抽出し、また、前記ノード接続監視部によってノードの切断が検出された際には、切断したノードから送出された前記サービス利用不可広告メッセージのみを抽出する第1の抽出機能と、前記ノード接続監視部によってノードの接続が検出された際に、前記ドメインに接続しているノードから送出された前記検索メッセージ及び前記サービス利用可能広告メッセージのみを抽出し、前記ノード接続監視部によってノードの切断が検出された際には、前記ドメインに接続しているノードから送出された前記サービス利用不可広告メッセージのみを抽出する第2の抽出機能とのいずれかまたは両方を有する送出メッセージ抽出部と、
    前記ノード接続監視部によってノードの接続または切断が検出された際に、前記送出メッセージ抽出部によって前記第1の抽出機能により抽出された前記広告・検索メッセージをノードの接続または切断が発生したドメインに送出する第1の送出機能と、前記送出メッセージ抽出部によって前記第2の抽出機能により抽出された前記広告・検索メッセージを前記ドメインに接続または切断したノードに対して送出する第2の送出機能とのいずれかまたは両方を有するメッセージ送出部とを有する広告・検索エージェント。
  6. 請求項5に記載の広告・検索エージェントにおいて、
    前記送出メッセージ抽出部は、前記サービスを利用するノードであるサービス利用ノードが接続または切断した場合、前記第1の抽出機能により抽出されたメッセージについては前記検索メッセージをさらに抽出し、前記第2の抽出機能により抽出されたメッセージについては前記サービス利用可能広告メッセージまたは前記サービス利用不可広告メッセージをさらに抽出し、また、サービスを提供するノードであるサービス提供ノードが接続または切断した場合、前記第1の抽出機能により抽出されたメッセージについては前記サービス利用可能広告メッセージまたは前記サービス利用不可広告メッセージをさらに抽出し、前記第2の抽出機能により抽出されたメッセージについては前記検索メッセージをさらに抽出する第3の抽出機能を有することを特徴とする広告・検索エージェント。
  7. 請求項1乃至6のいずれか1項に記載の広告・検索エージェントにおいて、
    前記メッセージDBは、複数の前記メッセージ取得部によって取得された広告・検索メッセージを記憶することを特徴とする広告・検索エージェント。
  8. 複数のドメインにおいてブロードキャストまたはマルチキャストされる検索メッセージと、サービス利用可能広告メッセージと、サービス利用不可広告メッセージとを含む広告・検索メッセージを送受信する広告・検索エージェントであって、
    前記複数のドメインにおけるノードの接続を検出し、また、ノードの切断を検出するノード接続監視部と、
    前記ノード接続監視部によって前記ノードの接続または切断が検出された際に、前記ノードの接続先ドメインまたは切断元ドメインを対象ドメインに指定してメッセージ生成を指示する第1のメッセージ生成指示機能と、接続または切断したノードを対象ノードに指定してメッセージ生成を指示する第2のメッセージ生成指示機能とのいずれかまたは両方を有する送出メッセージ抽出部と、
    前記送出メッセージ抽出部からのメッセージ生成の指示に基づいて、対象ノードまたは対象ドメインの前記サービス利用可能広告メッセージ及び前記サービス利用不可広告メッセージを生成する送出メッセージ生成部と、
    前記ノード接続監視部によって前記ノードの接続または切断が検出された際に、前記送出メッセージ抽出部の前記第1のメッセージ生成指示機能を用いて生成された前記検索メッセージ及び前記サービス利用可能広告メッセージを前記ノードの接続または切断が発生したドメインへ送出するドメイン送出機能と、前記送出メッセージ抽出部の前記第2のメッセージ生成指示機能を用いて生成された前記検索メッセージ及び前記サービス利用可能広告メッセージを前記ドメインに接続したノードに対して送出するノード送出機能とのいずれかまたは両方を有するメッセージ送出部とを有する広告・検索エージェント。
  9. 請求項8に記載の広告・検索エージェントにおいて、
    前記送出メッセージ抽出部は、サービスを利用するノードであるサービス利用ノードが接続または切断した場合、前記第1のメッセージ生成指示機能によりメッセージの生成を指示し、また、サービスを提供するノードであるサービス提供ノードが接続または切断した場合は、前記第2のメッセージ生成指示機能によりメッセージの生成を指示することを特徴とする広告・検索エージェント。
  10. 請求項8または請求項9に記載の広告・検索エージェントにおいて、
    前記送出メッセージ生成部によって生成されたメッセージを記憶するメッセージDBをさらに有し、
    前記送出メッセージ抽出部は、メッセージ生成を指示する場合、メッセージ生成指示の対象ノードまたは対象ドメインを記憶する機能をさらに有し、前記第1のメッセージ生成指示機能を用いてメッセージ生成を指示する場合、メッセージ生成指示の対象ドメインについて既にメッセージの生成を行ったことがあるか否かをチェックし、また、前記第2のメッセージ生成指示機能を用いてメッセージの生成を指示する場合、メッセージ生成指示の対象ノードについて既にメッセージの生成を行ったことがあるか否かをチェックし、前記対象ドメインまたは前記対象ノードについて既にメッセージの生成を行ったことがない場合にのみメッセージの生成を指示することを特徴とする広告・検索エージェント。
  11. 請求項10に記載の広告・検索エージェントにおいて、
    前記メッセージDBは、複数の前記送出メッセージ抽出部のメッセージ生成指示によって生成されたメッセージを記憶することを特徴とする広告・検索エージェント。
  12. 請求項1乃至7のいずれか1項に記載の広告・検索エージェントにおいて、
    前記メッセージ送出部は、前記第2の送出機能によりメッセージを送出する場合、メッセージをユニキャストメッセージに変換して送出することを特徴とする広告・検索エージェント。
  13. 請求項8乃至11のいずれか1項に記載の広告・検索エージェントにおいて、
    前記メッセージ送出部は、前記ノード送出機能によりメッセージを送出する場合、メッセージをユニキャストメッセージに変換して送出することを特徴とする広告・検索エージェント。
JP2006057665A 2006-03-03 2006-03-03 広告・検索エージェント Expired - Fee Related JP4683223B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006057665A JP4683223B2 (ja) 2006-03-03 2006-03-03 広告・検索エージェント
US11/705,105 US7826392B2 (en) 2006-03-03 2007-02-12 Advertisement search agent

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006057665A JP4683223B2 (ja) 2006-03-03 2006-03-03 広告・検索エージェント

Publications (2)

Publication Number Publication Date
JP2007235818A JP2007235818A (ja) 2007-09-13
JP4683223B2 true JP4683223B2 (ja) 2011-05-18

Family

ID=38471408

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006057665A Expired - Fee Related JP4683223B2 (ja) 2006-03-03 2006-03-03 広告・検索エージェント

Country Status (2)

Country Link
US (1) US7826392B2 (ja)
JP (1) JP4683223B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8520595B2 (en) * 2010-05-04 2013-08-27 Cisco Technology, Inc. Routing to the access layer to support mobility of internet protocol devices
US8964741B2 (en) * 2011-06-21 2015-02-24 Cisco Technology, Inc. Adjacency discovery through multicast and single-hop messaging
US9578626B2 (en) * 2013-03-15 2017-02-21 Qualcomm Incorporated Systems and methods for sharing context information in a neighbor aware network
US10498836B2 (en) 2015-04-29 2019-12-03 Hewlett Packard Enterprise Development Lp Network based service discovery via unicast messages

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005073029A (ja) * 2003-08-26 2005-03-17 Toshiba Corp サービス検索装置およびサービス検索方法
JP2006025355A (ja) * 2004-07-09 2006-01-26 Fujitsu Ltd ネットワークのリソース,サービス発見方法及び中継ノード装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8037202B2 (en) * 2002-10-31 2011-10-11 Oracle America, Inc. Presence detection using mobile agents in peer-to-peer networks
JP4217579B2 (ja) 2003-10-14 2009-02-04 日本電信電話株式会社 シームレスデバイス制御方法とそのシステム、ゲートウェイ装置、端末及びドメインコントローラ装置
JP2005136718A (ja) 2003-10-30 2005-05-26 Canon Inc ネットワークアクセス管理方法、ネットワークアクセス管理装置、ネットワークサービス提供方法、ネットワークサービス提供システム、プログラム及び記憶媒体
KR100568235B1 (ko) 2003-11-20 2006-04-07 삼성전자주식회사 네트워크 기기에 의해 제공되는 서비스 요청 장치 및 방법
JP4354294B2 (ja) 2004-02-25 2009-10-28 富士通株式会社 ネットワーク・セグメントが互いに異なる複数のネットワークに接続されたゲートウェイ装置、およびipパケットを転送するためのプログラムおよび方法
JP4481073B2 (ja) 2004-04-22 2010-06-16 オリンパス株式会社 画像補正装置、画像補正方法、及びプログラム
EP1849259B1 (en) * 2004-11-05 2014-12-17 Kabushiki Kaisha Toshiba Network discovery mechanisms

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005073029A (ja) * 2003-08-26 2005-03-17 Toshiba Corp サービス検索装置およびサービス検索方法
JP2006025355A (ja) * 2004-07-09 2006-01-26 Fujitsu Ltd ネットワークのリソース,サービス発見方法及び中継ノード装置

Also Published As

Publication number Publication date
JP2007235818A (ja) 2007-09-13
US7826392B2 (en) 2010-11-02
US20070206596A1 (en) 2007-09-06

Similar Documents

Publication Publication Date Title
JP6001797B2 (ja) モノのインターネットにおけるZigBeeネットワークを管理する方法
US8812664B2 (en) Controlling an apparatus
US8977737B2 (en) Detecting legacy bridges in an audio video bridging network
US8190726B2 (en) UPnP remote access server and method of supporting multiple remote accesses
EP2273722B1 (en) Upnp device for preventing network address conflict in consideration of remote access and method thereof
WO2016177030A1 (zh) Sdn网络设备建链方法、设备和系统
US9059907B2 (en) Home network system and network setting method of router therein
CN108964940B (zh) 消息发送方法及装置、存储介质
US8848609B2 (en) Forwarding internet protocol version 6 link-local multicast to support roaming of wireless mobile client devices
EP1438806A2 (en) Multicast discovery protocol using tunneling of unicast message
US9288067B2 (en) Adjacency server for virtual private networks
US8432833B2 (en) Auto MEP ID assignment within CFM maintenance association
CN103095749A (zh) 用于实现跨网段设备发现的方法和系统
JP5242301B2 (ja) メッセージを転送する装置、出力方法および出力プログラム
JP4683223B2 (ja) 広告・検索エージェント
JP2012213125A (ja) プロビジョニングデバイス、およびプロビジョニングネットワークにおけるネットワークパラメータの設定方法
US20120163381A1 (en) Multiple Label Based Processing of Frames
US20120158992A1 (en) Group Member Detection Among Nodes of a Network
CN103001959B (zh) 家庭间设备发现方法和系统
US20120224488A1 (en) Method of connectivity monitoring by subscriber line terminating apparatus
JP4862039B2 (ja) 接続支援サーバ、及び通信機器
KR100455123B1 (ko) UPnP 기반의 네트워크 시스템의 제어 메시지멀티캐스트 방법 및 장치
JP4352645B2 (ja) 端末装置、中継装置、通信方法及びその通信プログラムを記録した記録媒体
CN101383952A (zh) Ip语音视频设备的发现方法
WO2021238699A1 (zh) 一种配置网络设备ip地址的方法及相关设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101217

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110112

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110125

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140218

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees