(57)【要約】【課題】送信データに付与するイベントの数および受信者が登録するフィルタの数を低減可能とする属性指定通信方法を得ること。【解決手段】端末（２−１〜２−ｍ）が、フィルタに含まれるイベントタイプがマッピングされる通信装置を決定し、当該通信装置に対してフィルタを登録する処理と、データに付与するイベントタイプがマッピングされる通信装置を決定し、当該通信装置に対してデータの配信処理を依頼する処理と、を実行し、ルーティング処理を行う通信装置（１−１〜１−ｎ）が、データに付与されたイベントに「フィルタに含まれるイベントタイプと同じかスーパータイプの場合にマッチする」を示すマッチング方式が設定されていた場合に、登録されたフィルタに含まれるイベントタイプが、データに付与されたイベントタイプと同じかサブタイプであれば、当該フィルタを登録した端末に対してデータを転送する。【選択図】        図２
2007013804.tif 000002
【特許請求の範囲】
【請求項１】
端末が、受信条件をフィルタとして登録し、さらに、データ送信時にデータにイベントと呼ばれる属性情報（イベントタイプを含む）を付与して送信し、一方、ネットワーク内でルーティング処理を行う通信装置が、イベントタイプの継承関係を管理し、さらに、データに付与されたイベントがフィルタを満たす場合にそのフィルタを登録した端末に対してデータを転送する属性指定通信方法であって、
前記端末が、フィルタに含まれるイベントタイプがマッピングされる通信装置を決定し、当該通信装置に対してフィルタを登録するフィルタ登録ステップと、
前記端末が、データに付与するイベントタイプがマッピングされる通信装置を決定し、当該通信装置に対してデータを送信し、配信処理を依頼するデータ送信ステップと、
前記通信装置が、受信したデータに付与されたイベントに「フィルタに含まれるイベントタイプと同じかスーパータイプの場合にマッチする」を示すマッチング方式が設定されていた場合に、登録されたフィルタに含まれるイベントタイプが、データに付与されたイベントタイプと同じかサブタイプであれば、当該フィルタを登録した端末に対してデータを転送するルーティング処理ステップと、
を含むことを特徴とする属性指定通信方法。
【請求項２】
前記ルーティング処理ステップでは、
受信したデータが端末から送信されたデータの場合、当該データに付与されているイベントタイプを特定のイベントタイプの集合とし、
また、受信したデータが他の通信装置から送信されたデータの場合で、かつ、受信したデータに付与されたイベントに「フィルタに含まれるイベントタイプと同じかサブタイプの場合にマッチする」を示すマッチング方式が設定されていた場合、前記他の通信装置に付与される直前のイベントタイプをサブタイプとするイベントタイプを、特定のイベントタイプの集合とし、
逆に、受信したデータが他の通信装置から送信されたデータの場合で、かつ、受信したデータに付与されたイベントに「フィルタに含まれるイベントタイプと同じかスーパータイプの場合にマッチする」を示すマッチング方式が設定されていた場合、前記他の通信装置に付与される直前のイベントタイプをスーパータイプとするイベントタイプを、特定のイベントタイプの集合とし、
それぞれの場合に応じて、前記集合に属する各イベントタイプを含むフィルタを登録した端末に対してデータを転送することを特徴とする請求項１に記載の属性指定通信方法。
【請求項３】
さらに、前記ルーティング処理ステップでは、
受信したデータに付与されたイベントに「フィルタに含まれるイベントタイプと同じかサブタイプの場合にマッチする」を示すマッチング方式が設定されていた場合、前記集合に属する各イベントタイプの直接のスーパータイプがマッピングされる他の通信装置を選択し、選択した通信装置に対して、前記集合に属する各イベントタイプを「直前のイベントタイプ」として付与したデータを転送し、
また、受信したデータに付与されたイベントに「フィルタに含まれるイベントタイプと同じかスーパータイプの場合にマッチする」を示すマッチング方式が設定されていた場合、前記集合に属する各イベントタイプの直接のサブタイプがマッピングされる他の通信装置を選択し、選択した通信装置に対して、前記集合に属する各イベントタイプを「直前のイベントタイプ」として付与したデータを転送することを特徴とする請求項２に記載の属性指定通信方法。
【請求項４】
前記端末による「イベントタイプがマッピングされる通信装置を決定する」処理において、１つのイベントタイプがマッピングされる通信装置を複数とすることを特徴とする請求項１、２または３に記載の属性指定通信方法。
【請求項５】
さらに、前記ルーティング処理ステップでは、
データを転送する前に、イベントタイプをキーとしてデータの加工方法を検索し、検索結果として得られる加工方法に基づいてデータを加工し、加工後のデータを転送することを特徴とする請求項１〜４のいずれか一つに記載の属性指定通信方法。
【請求項６】
受信条件をフィルタとして登録し、さらに、データ送信時にデータにイベントと呼ばれる属性情報（イベントタイプを含む）を付与して送信する端末、とともにネットワークを構成し、当該ネットワークにおいて、データに付与されたイベントがフィルタを満たす場合にそのフィルタを登録した端末に対してデータを転送する通信装置であって、
イベントタイプに基づいてルーティング処理を行うルーティング処理手段と、
イベントタイプの継承関係を管理するイベント階層情報データベース手段と、
フィルタと当該フィルタを登録した端末とを関連付けて管理するフィルタデータベース手段と、
を備え、
前記ルーティング処理手段は、受信したデータに付与されたイベントに「フィルタに含まれるイベントタイプと同じかスーパータイプの場合にマッチする」を示すマッチング方式が設定されていた場合に、登録されたフィルタに含まれるイベントタイプが、データに付与されたイベントタイプと同じかサブタイプであれば、当該フィルタを登録した端末に対してデータを転送することを特徴とする通信装置。
【請求項７】
前記ルーティング処理手段は、
受信したデータが端末から送信されたデータの場合、当該データに付与されているイベントタイプを特定のイベントタイプの集合とし、
また、受信したデータが他の通信装置から送信されたデータの場合で、かつ、受信したデータに付与されたイベントに「フィルタに含まれるイベントタイプと同じかサブタイプの場合にマッチする」を示すマッチング方式が設定されていた場合、前記他の通信装置に付与される直前のイベントタイプをサブタイプとするイベントタイプを、特定のイベントタイプの集合とし、
逆に、受信したデータが他の通信装置から送信されたデータの場合で、かつ、受信したデータに付与されたイベントに「フィルタに含まれるイベントタイプと同じかスーパータイプの場合にマッチする」を示すマッチング方式が設定されていた場合、前記他の通信装置に付与される直前のイベントタイプをスーパータイプとするイベントタイプを、特定のイベントタイプの集合とし、
それぞれの場合に応じて、前記集合に属する各イベントタイプを含むフィルタを登録した端末に対してデータを転送することを特徴とする請求項６に記載の通信装置。
【請求項８】
さらに、前記ルーティング処理手段は、
受信したデータに付与されたイベントに「フィルタに含まれるイベントタイプと同じかサブタイプの場合にマッチする」を示すマッチング方式が設定されていた場合、前記集合に属する各イベントタイプの直接のスーパータイプがマッピングされる他の通信装置を選択し、選択した通信装置に対して、前記集合に属する各イベントタイプを「直前のイベントタイプ」として付与したデータを転送し、
また、受信したデータに付与されたイベントに「フィルタに含まれるイベントタイプと同じかスーパータイプの場合にマッチする」を示すマッチング方式が設定されていた場合、前記集合に属する各イベントタイプの直接のサブタイプがマッピングされる他の通信装置を選択し、選択した通信装置に対して、前記集合に属する各イベントタイプを「直前のイベントタイプ」として付与したデータを転送することを特徴とする請求項７に記載の通信装置。
【請求項９】
さらに、
データの加工方法を管理するデータ加工ルールデータベース手段と、
データを転送する前に、イベントタイプをキーとしてデータの加工方法を検索し、検索結果として得られる加工方法に基づいてデータを加工するデータ加工手段と、
を備え、
前記ルーティング処理手段は、加工後のデータを転送することを特徴とする請求項６、７または８に記載の通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データにイベントと呼ばれるデータの属性情報を付与して送信する属性指定通信方法に関するものであり、特に、データに付与されたイベントが受信者（端末）に指定された条件を満たす場合に、その受信者に対してデータを転送する属性指定通信方法に関するものである。
【背景技術】
【０００２】
従来から存在するネットワークの一例として、たとえば、データ受信者が、受信したいデータが満たすべき条件をフィルタとしてネットワークに登録し、データ送信者が、送信データにイベントと呼ばれるデータの属性情報を付与して送信し、ネットワーク側（ネットワーク内でルーティング処理を行う装置）が、送信データに付与されたイベントがフィルタにより指定された条件を満たす場合に、そのフィルタを登録した受信者に対してデータを転送する、というネットワークがある。以下、このようなネットワークを属性ベースルーティングネットワークと呼ぶ。
【０００３】
なお、上記従来の属性ベースルーティングネットワークにおいて、イベントは、イベントタイプ（イベントが属するクラス（オブジェクト指向による）に相当）と「属性名＋属性値」のペアのリストから構成される。また、イベントタイプには、オブジェクト指向のクラスと同様に、継承関係を定義可能であり、子クラスにあたるイベントタイプをサブタイプと呼び、親クラスにあたるイベントタイプをスーパータイプと呼ぶ。また、フィルタには、イベントタイプと「属性名＋属性値」が満たすべき条件（==，=<等）をAND，ORで結合して記述することが可能である。
【０００４】
上記従来の属性ベースルーティングネットワークの一例としては、下記特許文献１に記載のSION（Semantic  Information-Oriented  Network）がある。SIONでは、「送信データに付与されたイベントが、フィルタにおいて指定されるイベントタイプと同じかそのサブタイプの場合にマッチする」、というマッチング規則を採用している。また、SIONのネットワークは、概略では、イベントプレースオブジェクト（EPO）とシェアードリンクオブジェクト（SLO）の２つの要素で構成される。
【０００５】
EPOは、送信データに付与されたイベントと受信者がネットワークに登録するフィルタとを、属性値まで含めてマッチングを行い、マッチした受信者に対して送信データを送信する機能を持つ。また、受信者が登録するフィルタを管理する機能を持つ。すなわち、受信者は、EPOに接続することによりSIONのネットワークに接続する。
【０００６】
また、SLOは、EPO間を接続するリンクである。すなわち、SLOは、１方向性のデータ転送機能を持ち、受信者がネットワークに登録するフィルタの中で、イベントタイプ部分の情報のみによるマッチングとフィルタ機能を実現する。また、受信者が登録するフィルタは、EPO間を、SLOを介して伝播される。そして、フィルタをEPO間で伝播する際に、SLOは、イベントタイプの情報のみを自らに登録し、管理する。
【０００７】
ここで、上記属性ベースルーティングネットワークにおける動作の一例を具体的に説明する。たとえば、イベントタイプとして、受信者の住所（例：神奈川県鎌倉市大船）を使用した場合、イベントタイプ：神奈川県のサブタイプとして「神奈川県鎌倉市」、イベントタイプ：神奈川県鎌倉市のサブタイプとして「神奈川県鎌倉市大船」を定義することが考えられる。この場合に、送信者が、SIONを用いて神奈川県にいる人全てにデータを送信したい場合には、以下の２つの方法が考えられる。
（１）受信者は、自分の位置で最も詳細なもの（例：神奈川県鎌倉市大船）をイベントタイプとして指定したフィルタを、SIONに登録する。そして、送信者は、神奈川県のサブタイプとなる全てのイベントタイプを付与してデータを送信する。
（２）受信者は、自分の位置で最も詳細なもの（例：神奈川県鎌倉市大船）を表すイベントタイプの他に、そのスーパータイプ全て（この例では神奈川県も含まれる）をイベントタイプとして指定したフィルタを、SIONに登録する。そして、送信者は、神奈川県を表すイベントタイプを付与してデータを送信する。
【０００８】
【特許文献１】特開２００２−９２０２６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、上記特許文献１に記載の従来技術においては、上記（１），（２）のいずれの場合であっても、送信データに付与するイベント、または、受信者が登録するフィルタ、の数が非常に多くなる、という問題があった。また、イベントタイプの階層が変更になった場合には、送信者が変更を認識して送信データに付与するイベントを変更する処理か、または、受信者が変更を認識してSIONに登録するフィルタを変更する処理、が必要であり、対応が煩雑となる、という問題があった。この問題は、データ配信において、「送信データに付与されたイベントが、受信者が登録するフィルタに指定されたイベントタイプと同じかそのスーパータイプの場合にマッチする」、というマッチングを行いたい場合に発生する。
【００１０】
また、SIONのネットワーク構成では、同じフィルタをネットワークに登録する受信者が複数存在し、異なるEPOに接続している場合に、それらの受信者が接続している全てのEPOへ送信データを転送しなければならず、途中に経由するEPOにおいてもマッチング処理を行う必要があるため、ネットワークを構成するEPOとSLOの数が増え、ネットワーク全体の処理負荷が増大する、という問題があった。
【００１１】
また、SIONのネットワーク構成においては、イベントタイプの階層構造に沿って送信データを変換する処理を、ネットワーク側にて行う機能がない。そのため、上記（１）の例において、送信者が送信するデータに神奈川県の各地域の情報を含めておき、ネットワーク内における転送途中で、各受信者が登録するフィルタを満たす地域の情報のみに送信データを絞り込んで受信者へ転送する、という処理が実現できない、という問題があった。
【００１２】
本発明は、上記に鑑みてなされたものであって、所定の属性情報（イベント）を付与した送信データを転送するネットワークにおいて、送信データに付与するイベントの数および受信者が登録するフィルタの数を低減可能とし、さらに、イベントタイプの階層が変更になった場合の対応の煩雑さを解消可能とする属性指定通信方法を得ることを目的とする。
【００１３】
また、ネットワーク全体の処理負荷が低減可能な属性指定通信方法を得ることを目的とする。
【００１４】
また、イベントタイプの階層構造に沿って送信データを変換する処理をネットワーク側で実行可能な属性指定通信方法を得ることを目的とする。
【課題を解決するための手段】
【００１５】
上述した課題を解決し、目的を達成するために、本発明にかかる属性指定通信方法は、端末が、受信条件をフィルタとして登録し、さらに、データ送信時にデータにイベントと呼ばれる属性情報（イベントタイプを含む）を付与して送信し、一方、ネットワーク内でルーティング処理を行う通信装置が、イベントタイプの継承関係を管理し、さらに、データに付与されたイベントがフィルタを満たす場合にそのフィルタを登録した端末に対してデータを転送する属性指定通信方法であって、前記端末が、フィルタに含まれるイベントタイプがマッピングされる通信装置を決定し、当該通信装置に対してフィルタを登録するフィルタ登録ステップと、前記端末が、データに付与するイベントタイプがマッピングされる通信装置を決定し、当該通信装置に対してデータを送信し、配信処理を依頼するデータ送信ステップと、前記通信装置が、受信したデータに付与されたイベントに「フィルタに含まれるイベントタイプと同じかスーパータイプの場合にマッチする」を示すマッチング方式が設定されていた場合に、登録されたフィルタに含まれるイベントタイプが、データに付与されたイベントタイプと同じかサブタイプであれば、当該フィルタを登録した端末に対してデータを転送するルーティング処理ステップと、を含むことを特徴とする。
【発明の効果】
【００１６】
この発明によれば、イベントと呼ばれる属性情報を付与したデータを転送するネットワークにおいて、データに付与するイベントの数および受信者が登録するフィルタの数を低減することができる、という効果を奏する。また、イベントタイプの階層が変更になった場合の対応の煩雑さを解消することができる、という効果を奏する。また、ネットワーク全体の処理負荷を低減することができる、という効果を奏する。
【発明を実施するための最良の形態】
【００１７】
以下に、本発明にかかる属性指定通信方法の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１８】
実施の形態１．
本実施の形態においては、データ受信者（端末）が、受信したいデータが満たすべき条件をフィルタとしてネットワークに登録し、データ送信者（端末）が、送信データにイベントと呼ばれるデータの属性情報を付与して送信し、ネットワーク側（属性ベースルーティング処理を行う通信装置）が、送信データに付与されたイベントがフィルタにより指定される条件を満たす場合に、そのフィルタを登録した受信者に対してデータを転送する場合の属性指定通信方法について説明する。
【００１９】
なお、上記属性指定通信方法を実現するネットワークを属性ベースルーティングネットワークと呼び、当該属性ベースルーティングネットワークにおいて、イベントは、イベントタイプと「属性名＋属性値」のペアのリストから構成される。また、イベントタイプには、継承関係を定義可能であり、子クラスにあたるイベントタイプをサブタイプと呼び、親クラスにあたるイベントタイプをスーパータイプと呼ぶ。また、フィルタには、イベントタイプと「属性名＋属性値」が満たすべき条件（==，=<等）をAND，ORで結合して記述することが可能である。
【００２０】
ここで、本実施の形態の属性ベースルーティングネットワークの動作について説明する。なお、図１は、イベントタイプの継承関係の一例を表す論理的ネットワーク（イベントタイプがノード，継承関係がエッジとなるツリー）を示す図であり、たとえば、Event#1はEvent#2，Event#3のスーパータイプ、Event#2，Event#3はEvent#1のサブタイプ、Event#3はEvent#4のスーパータイプ、Event#4はEvent#3のサブタイプ、という関係が表現されている。
【００２１】
図２は、属性ベースルーティングネットワークの構成例を示す図であり、属性ベースルーティング処理を行う通信装置１−１〜１−ｎと、イベントタイプの継承関係を管理するサーバとして動作する管理装置３と、属性ベースルーティングネットワークにおいて送信者と受信者の機能を実現する端末２−１〜２−ｍと、を備え、任意の通信装置間、および任意の通信装置と任意の端末との間で直接通信を行うために、通信装置１−１〜１−ｎと端末２−１〜２−ｍが、IPネットワーク４に接続されている。
【００２２】
図２において、上記各通信装置は、Chord（文献：Building  Perr-to-Peer  Systgems  With  Chord,  a  Distributed  Lookup  Service,  F.Dabek,  E.Brunskill,  M.Kaashoek,  D.Karger,  R.Morris,  I.Stoica  and  H.Balakrishnan,  Proceeding  of  the  8th  Workshop  on  Hot  Topics  on  Operating  Systems,  May,  2001）の方式に従って、「Distributed  Hash  Table（DHT）」検索機能を実現するオーバレイネットワークをIPネットワーク上に構築する。そして、イベントタイプ名からハッシュ値を求め、そのハッシュ値がマッピングされる通信装置をChordの方式によって決定する。すなわち、イベントタイプ名からそのイベントタイプがマッピングされる通信装置を決定する。
【００２３】
図３は、通信装置１（１−１〜１−ｎに相当）の構成例を示す図であり、各通信装置は、IP通信モジュール１１と、イベント−装置対応付けモジュール１２と、イベント階層情報データベース１３と、フィルタデータベース１４と、を備えている。上記IP通信モジュール１１は、IPネットワーク上で通信を行うための機能を実現する。また、イベント−装置対応付けモジュール１２は、イベントタイプ名からハッシュ値を求め、そのハッシュ値がマッピングされる通信装置をChordの方式によって決定する。また、イベント階層情報データベース１３は、イベントタイプの継承関係（図１参照）の情報を管理する。また、フィルタデータベース１４は、フィルタと当該フィルタを登録した受信者のIPアドレスとの組み合わせを管理する。なお、図２において、イベントタイプの継承関係が変更される場合には、管理装置３が、イベントタイプの継承関係変更に関する情報を、属性ベースルーティングネットワークを構成する全ての通信装置へ通知する。
【００２４】
図４は、端末２（２−１〜２−ｍ）の構成例を示す図であり、各端末は、IP通信モジュール２１と、イベント−装置対応付けモジュール２２と、アプリケーション２３と、を備えている。上記IP通信モジュール２１は、IPネットワーク上で通信するための機能を実現する。イベント−装置対応付けモジュール２２は、イベントタイプ名からハッシュ値を求め、そのハッシュ値がマッピングされる通信装置をChordの方式によって決定する。アプリケーション２３は、属性ベースルーティングネットワークを使った通信を行うアプリケーションプログラムである。
【００２５】
たとえば、図２において、受信者がフィルタを属性ベースルーティングネットワークに登録する場合、当該受信者として動作する端末２は、指定するフィルタを、１つのイベントタイプ（その属性に関する条件を含む）、または、複数のイベントタイプ（その属性に関する条件を含む）がANDで結合される形、とする（ORで結合されるものは、選言標準形に直した上で、ANDで結合される部分を別々のフィルタとして登録することとする）。このとき、指定するフィルタとして、たとえば、複数のイベントタイプがAND条件で指定される場合は、イベント−装置対応付けモジュール２２が、フィルタに含まれる各イベントタイプがマッピングされる通信装置１を決定し、IP通信モジュール２１が、上記で決定された通信装置１に対して、フィルタと自端末のIPアドレスとの組み合わせに関する情報を所定のメッセージに含めて送信し、登録する。
【００２６】
また、図２において、送信者が送信データを送信する場合、当該送信者として動作する端末２では、イベント−装置対応付けモジュール２２が、送信データに付与するイベントタイプがマッピングされる通信装置１を決定し、IP通信モジュール２１が、上記で決定された通信装置１に対して、「送信データ（属性情報とフラグ情報を含む），直前のイベントタイプ＝無」という情報を転送し、配信処理を依頼する。また、送信データに複数のイベントタイプを付与する場合には、イベント−装置対応付けモジュール２２が、各イベントタイプがマッピングされる通信装置１を決定し、IP通信モジュール２１が、上記で決定された通信装置１に対して、「送信データ（属性情報とフラグ情報を含む），直前のイベントタイプ＝無」という情報を転送し、配信処理を依頼する。なお、上記では、端末２が送信データの送信元となるので「直前のイベントタイプ＝無」となる。
【００２７】
一方、通信装置１は、受信した「送信データ，直前のイベントタイプ」に示される直前のイベントタイプによって、以下のように処理を分ける。
【００２８】
まず、受信した「送信データ，直前のイベントタイプ」に示される直前のイベントタイプが“無”の場合、すなわち、受信したデータが端末から送信されたデータの場合は、送信データに付与されているイベントタイプを、イベントタイプの集合Sとする。
【００２９】
さらに、受信した「送信データ，直前のイベントタイプ」に示される直前のイベントタイプが“有”の場合で、かつ、送信データに付与されたフラグ情報が、「送信データに付与されているイベントタイプが、フィルタに指定されているイベントタイプと同じかサブタイプの場合にマッチする」というマッチング方式を指定している場合は、自装置にマッピングされるイベントタイプの中で、直前のイベントタイプを継承関係上直接のサブタイプとするイベントタイプを、イベント階層情報データベース１３のデータを用いてリストアップし、その集合をSとする。
【００３０】
逆に、受信した「送信データ，直前のイベントタイプ」に示される直前のイベントタイプが“有”の場合で、かつ、送信データに付与されるフラグ情報が、「送信データに付与されているイベントタイプが、フィルタに指定されているイベントタイプと同じかスーパータイプの場合にマッチする」というマッチング方式を指定している場合は、自装置にマッピングされるイベントタイプの中で、直前のイベントタイプを継承関係上直接のスーパータイプとするイベントタイプを、イベント階層情報データベース１３のデータを用いてリストアップし、その集合をSとする。
【００３１】
その後、通信装置１は、フィルタデータベース１４に登録されているフィルタにおいて、集合Sに属する各イベントタイプEを含むフィルタの中で、属性も含めてマッチするフィルタを登録した受信者に対して、送信データを配信する。
【００３２】
また、通信装置１は、イベントタイプの継承関係によるマッチングの可能性をチェックするために、以下の処理を行う。
【００３３】
まず、送信データに付与されたフラグ情報が、「送信データに付与されているイベントタイプが、フィルタに指定されているイベントタイプと同じかサブタイプの場合にマッチする」というマッチング方式を指定している場合は、イベント−装置対応付けモジュール１２が、継承関係上、集合Sに属する各イベントタイプEの直接のスーパータイプを、イベント階層情報データベース１３のデータを用いてリストアップし、それらのイベントタイプがマッピングされる通信装置を選択し、選択した通信装置に対して「送信データ，直前のイベントタイプ＝E」を転送する。
【００３４】
逆に、送信データに付与されたフラグ情報が、「送信データに付与されているイベントタイプが、フィルタに指定されているイベントタイプと同じかスーパータイプの場合にマッチする」というマッチング方式を指定している場合は、イベント−装置対応付けモジュール１２が、継承関係上、集合Sに属する各イベントタイプEの直接のサブタイプを、イベント階層情報データベース１３のデータを用いてリストアップし、それらのイベントタイプがマッピングされる通信装置を選択し、選択した通信装置に対して、「送信データ，直前のイベントタイプ＝E」を転送する。
【００３５】
このように、本実施の形態においては、たとえば、送信データに付与されるイベントに、「送信データに付与されているイベントタイプが、フィルタに指定されているイベントタイプと同じかスーパータイプの場合にマッチする」というマッチング規則を使用することを示すフラグ情報を設定した場合、ネットワーク内の処理で、受信者が登録したフィルタに指定されたイベントタイプが、送信データに付与されているイベントタイプと同じかサブタイプの場合に、送信データを受信者に対して転送する。すなわち、受信者として動作する端末は、たとえば、自分の位置で最も詳細なもの（例：神奈川県鎌倉市大船）をイベントタイプとして指定したフィルタをネットワークに登録し、送信者として動作する端末は、神奈川県を表すイベントタイプを付与してデータを送信する。これにより、神奈川県内の住所をフィルタとして登録している受信者全てが、「イベント＝神奈川県」を付与された送信データを受信できる。また、イベントタイプの階層構造に変更が有った場合においても、送信者または受信者が、その変更を意識して、送信データに付与するイベント、または、ネットワークに登録するフィルタ、を変更する必要がない。
【００３６】
また、本実施の形態においては、同じフィルタを指定する受信者の情報（フィルタと受信者の組）が、フィルタに指定されたイベントタイプがマッピングされる通信装置に登録されることとなる。また、送信データについては、最初に、送信データに付与されたイベントタイプがマッピングされる通信装置に送信データが転送され、その後は、マッチング方式指定とイベントの継承関係に従って、マッチングする可能性がある受信者が登録されている通信装置に対してのみ送信データを転送するため、不要な通信装置にデータを転送することがない。これにより、ネットワーク全体の処理負荷を低減することができる。
【００３７】
実施の形態２．
つづいて、本発明にかかる属性指定通信方法として、実施の形態２の属性ベースルーティングネットワークの動作について説明する。なお、属性ベースルーティングネットワーク、通信装置１および端末２の構成については、前述した実施の形態１と同様である。本実施の形態では、前述した実施の形態１と異なる処理、すなわち、イベント−装置対応付けモジュール１２および２２の処理、について説明する。
【００３８】
たとえば、本実施の形態のイベント−装置対応付けモジュール１２および２２は、イベントタイプ名からハッシュ値を求め、そのハッシュ値がマッピングされる通信装置の集合をChordの方式によって決定する。すなわち、１つのイベントタイプがマッピングされる通信装置を複数にすることにより、１つの通信装置で管理するフィルタの数を減らす。これにより、各通信装置における処理負荷を軽減し、フィルタ数に対するスケーラビリティを改善する。
【００３９】
ここで、図２において、受信者がフィルタを属性ベースルーティングネットワークに登録する場合の、本実施の形態における処理について説明する。
【００４０】
受信者がフィルタを属性ベースルーティングネットワークに登録する場合、当該受信者として動作する端末２は、前述した実施の形態１と同様に、指定するフィルタを、１つのイベントタイプ、または、複数のイベントタイプがANDで結合される形、とする。このとき、指定するフィルタとして、たとえば、複数のイベントタイプがAND条件で指定される場合は、イベント−装置対応付けモジュール２２が、フィルタに含まれる各イベントタイプがマッピングされる通信装置１の集合を決定し、決定された通信装置１の集合の中から１つの通信装置をランダムに選択し、IP通信モジュール２１が、選択された通信装置１に対して、フィルタと自端末のIPアドレスとの組み合わせに関する情報を所定のメッセージに含めて送信し、登録する。
【００４１】
つづいて、図２において、送信者が送信データを送信する場合の、本実施の形態における処理について説明する。
【００４２】
送信者が送信データを送信する場合、当該送信者として動作する端末２では、イベント−装置対応付けモジュール２２が、送信データに付与するイベントタイプがマッピングされる通信装置１の集合を決定し、IP通信モジュール２１が、上記で決定された通信装置１の集合に含まれる全ての通信装置に対して、「送信データ，直前のイベントタイプ＝無，転送依頼フラグ」という情報を転送し、配信処理を依頼する。なお、転送依頼フラグは、通信装置１の集合に含まれる通信装置の中からランダムに選択した１つに対してだけ「転送」を指定し、他の通信装置に対しては「非転送」を指定する。また、送信データに複数のイベントタイプを付与する場合には、イベント−装置対応付けモジュール２２が、各イベントタイプがマッピングされる通信装置１の集合を決定し、IP通信モジュール２１が、上記で決定された通信装置１の集合に含まれる全ての通信装置に対して、「送信データ，直前のイベントタイプ＝無，転送依頼フラグ」という情報を転送し、配信処理を依頼する。なお、転送依頼フラグは、イベントタイプ毎に、通信装置１の集合に含まれる通信装置の中からランダムに選択した１つに対してだけ「転送」を指定し、他の通信装置に対しては「非転送」を指定する。
【００４３】
なお、受信した「送信データ，直前のイベントタイプ」に示される直前のイベントタイプに基づいて分けて実行する、通信装置１の処理については、前述した実施の形態１と同様である。また、転送依頼フラグの値が「転送」の場合の本実施の形態における通信装置１の処理については、前述した実施の形態１の「イベントタイプの継承関係によるマッチングの可能性をチェックするための処理」と同様である。
【００４４】
このように、本実施の形態においては、前述した実施の形態１と同様の効果が得られるとともに、さらに、本実施の形態のイベント−装置対応付けモジュールが、イベントタイプ名から、当該イベントタイプがマッピングされる通信装置の集合を決定することとした。すなわち、１つのイベントタイプがマッピングされる通信装置を複数にすることにより、１つの通信装置で管理するフィルタの数を減らすこととした。これにより、各通信装置における処理負荷を軽減でき、さらに、フィルタ数に対するスケーラビリティを改善することができる。
【００４５】
実施の形態３．
つづいて、本発明にかかる属性指定通信方法として、実施の形態３の属性ベースルーティングネットワークの動作について説明する。なお、属性ベースルーティングネットワークおよび端末２の構成については、前述した実施の形態１または２と同様である。本実施の形態では、前述した実施の形態１または２と異なる処理について説明する。
【００４６】
図５は、通信装置１（１−１〜１−ｎに相当）の構成例を示す図であり、各通信装置は、前述したIP通信モジュール１１，イベント−装置対応付けモジュール１２，イベント階層情報データベース１３，フィルタデータベース１４に加えて、さらに、データ加工モジュール１５と、データ加工ルールデータベース１６と、を備えている。上記データ加工ルールデータベース１６は、通信装置にマッピングされるイベントタイプをキーとして、送信データの加工方法に関する情報を管理する。また、データ加工モジュール１５は、イベントタイプと送信データを入力として与えられると、データ加工ルールデータベース１６を、イベントタイプをキーとして検索し、得られた加工方法に基づいて送信データを加工し、加工後の送信データを出力とする。
【００４７】
本実施の形態では、前述した実施の形態１の「通信装置１が、フィルタデータベース１４に登録されているフィルタにおいて、集合Sに属する各イベントタイプEを含むフィルタの中で、属性も含めてマッチするフィルタを登録した受信者に対して、送信データを配信する。」処理において、データ加工モジュール１５が、受信者へデータを配信する前に、イベントタイプをキーとしてデータ加工ルールデータベース１６から得られる加工方法に基づいて、送信データを加工する。そして、IP通信モジュール１１が、加工後の送信データを受信者に対して配信する。なお、加工方法としては、たとえば、データの一部を削除，データ廃棄，特定イベントタイプへの配信停止、等の処理が想定される。
【００４８】
また、本実施の形態では、前述した実施の形態１の「イベントタイプの継承関係によるマッチングの可能性をチェックする」処理において、データ加工モジュール１５が、他の通信装置へデータを転送する前に、イベントタイプをキーとしてデータ加工ルールデータベース１６から得られる加工方法に基づいて、送信データを加工する。そして、IP通信モジュール１１が、加工後の送信データを他の通信装置に転送する。
【００４９】
このように、本実施の形態においては、前述した実施の形態１および２にて得られる効果に加えて、さらに、加工方法を指定してイベントタイプ毎に送信データを加工することとしたので、送信データを、イベントタイプの階層構造に沿った内容に絞り込むことができる。
【産業上の利用可能性】
【００５０】
以上のように、本発明にかかる属性指定通信方法は、送信者として動作する端末が、データにデータの属性情報（イベント）を付与して送信するネットワークに有用であり、特に、データに付与されたイベントが受信者に指定された条件を満たす場合に、その受信者に対してデータを転送するネットワークに適している。
【図面の簡単な説明】
【００５１】
【図１】イベントタイプの継承関係の一例を表す論理的ネットワークを示す図である。
【図２】属性ベースルーティングネットワークの構成例を示す図である。
【図３】通信装置の構成例を示す図である。
【図４】端末の構成例を示す図である。
【図５】通信装置の構成例を示す図である。
【符号の説明】
【００５２】
１，１−１，１−２，１−ｎ  通信装置
２，２−１，２−２，２−ｍ  端末
３  管理装置
４  IPネットワーク
１１，２１  IP通信モジュール
１２，２２  イベント−装置対応付けモジュール
１３  イベント階層情報データベース
１４  フィルタデータベース
１５  データ加工モジュール
１６  データ加工ルールデータベース
２３  アプリケーション
【図１】
2007013804.tif 000003
【図２】
2007013804.tif 000004
【図３】
2007013804.tif 000005
【図４】
2007013804.tif 000006
【図５】
2007013804.tif 000007