(57)【要約】【課題】複数のコミュニティ（イベントプレース）に属するエンティティを芋づる式に探索し、エンティティを最適なコミュニティへ導く。【解決手段】イベントプレースＡに属するエンティティ１は、プロパティのディスカバリを行い、イベントプレースＢ及びＣを経由してイベントプレースＤを発見し、滞在する。イベントプレースＤのメンバーとなったエンティティ１は、イベントプレースＡ、Ｂなどの探索経路イベントプレースに仮身エンティティを参加させ、イベントプレースＤのプロパティ情報を公開する。エンティティ１にイベントプレースＤを紹介したエンティティ４に対しては、貢献ポイントが払い出され、貢献ポイントが閾値を下回らない限り、エンティティ４は、イベントプレースＣにおいてイベントプレース情報の公開を継続し、閾値を下回った場合には、エンティティ４が過去に通過したイベントプレースの中から次の公開先を選択する。【選択図】  図１
2004318594.tif 000002
【特許請求の範囲】
【請求項１】
所定の区分による人または物の集合体である複数のコミュニティに属するエンティティ装置を介し、該コミュニティ間を遷移しながら適切なコミュニティの探索を行うエンティティ装置であって、
ユーザへの入出力インタフェースを提供し、ユーザから探索情報の入力を受けるとともに、探索結果を表示するユーザインタフェース手段と、
現在自身が属するコミュニティ内において、前記ユーザインタフェース手段が入力を受けた探索情報と一致あるいは類似するコミュニティの情報を広告する同好のエンティティの探索を行うための同好探索の指示と、検出された同好のエンティティが広告する他のコミュニティへの移動とを、所定の時間内あるいは移動先となるコミュニティが所定の数に達するまで再帰的に行う実行制御手段と、
前記実行制御手段から同好探索の指示を受け、現在自身が属するコミュニティ内の同好のエンティティの探索を行う同好探索手段と、
前記同好探索手段が検出した同好のエンティティの広告する他のコミュニティを評価し、この他のコミュニティのうち移動先となる他のコミュニティを選択して前記実行制御手段に通知するコミュニティ評価手段と、
自身が属するコミュニティへ、自身が同時に属する他のコミュニティの情報の広告を行うとともに、自身が属する該コミュニティの評価に基づき広告を中止する広告制御手段と、を備えることを特徴とするエンティティ装置。
【請求項２】
前記実行制御手段が移動した他のコミュニティの情報を広告する同好のエンティティへ、この他のコミュニティにおけるユーザ満足度を通知するフィードバック制御手段をさらに備え、
前記広告手段は、自身が広告する他のコミュニティへ移動した他のエンティティから受信したユーザ満足度を基に、自身が属するコミュニティの評価を行うこと、を特徴とする請求項１に記載のエンティティ装置。
【請求項３】
さらに、意味情報ネットワークとのアクセスを提供する意味情報ネットワークアクセス手段と、
前記意味情報ネットワークに参加している他のエンティティとのセッションを管理するとともに、現在広告を行っているコミュニティの情報であるナビゲート情報を少なくとも含む、セッションに関連する最新の情報を保持及び提供するセッション管理手段と、
前記ユーザインタフェース手段が受けたユーザの操作により、前記意味情報ネットワークからのイベントを受信し、該イベントのディスパッチを行うイベント解析手段と、を備えることを特徴とする請求項１または請求項２に記載のエンティティ装置。
【請求項４】
広告を行うコミュニティは、ユーザの操作を受けて参加したコミュニティ、あるいは、前記実行制御手段が移動を行ったコミュニティの中の任意のコミュニティであることを特徴とする請求項１から請求項３のいずれかの項に記載のエンティティ装置。
【請求項５】
所定の区分による人または物の集合体である複数のコミュニティに属するエンティティ装置を介し、該コミュニティ間を遷移しながら適切なコミュニティの探索を行うエンティティ装置に用いられるコミュニティ探索方法であって、
ユーザから探索情報の入力を受け、
現在自身が属するコミュニティ内において、入力された探索情報と一致あるいは類似するコミュニティの情報を広告する同好のエンティティの探索と、
検出した同好のエンティティが広告する他のコミュニティの評価と、
前記評価を基にしたこの他のコミュニティのうち移動先となる他のコミュニティの選択と、
選択された他のコミュニティへの移動とを、
所定の時間内あるいは移動先となるコミュニティが所定の数に達するまで再帰的に行い、
探索結果を表示する一方、
自身が属するコミュニティへ、自身が同時に属する他のコミュニティの情報の広告を行い、
自身が属する前記コミュニティの評価に基づき広告を中止する、ことを特徴とするコミュニティ探索方法。
【請求項６】
所定の区分による人または物の集合体である複数のコミュニティに属するエンティティ装置を介し、該コミュニティ間を遷移しながら適切なコミュニティの探索を行うエンティティ装置に用いられるコンピュータプログラムであって、
ユーザから探索情報の入力を受ける入力ステップと、
現在自身が属するコミュニティ内において、入力された探索情報と一致あるいは類似するコミュニティの情報を広告する同好のエンティティの探索と、
検出した同好のエンティティが広告する他のコミュニティを評価と、
前記評価を基にしたこの他のコミュニティのうち移動先となる他のコミュニティの選択と、
選択されたコミュニティへの移動とを、
所定の時間内あるいは移動先となるコミュニティが所定の数に達するまで再帰的に行うステップと、
探索結果を表示するステップと、
自身が属するコミュニティへ、自身が同時に属する他のコミュニティの情報の広告を行うステップと、
自身が属する前記コミュニティの評価に基づき広告を中止するステップと、をコンピュータに実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コミュニティを構成するエンティティ装置において、エンティティの芋づる式探索を自動制御するコミュニティ探索方法、及び、プログラムに関するものである。また、本発明は、コミュニティ形成技術に関する。特に、複数のコミュニティが存在し、ユーザがコミュニティに参加及び離脱することにより複数のコミュニティ間を遷移可能なコミュニティ間ネットワークの探索分野に関する。
【０００２】
【従来の技術】
近年、ネットワークの業界において、「ブローカレス型探索モデル」という新たな概念が考え出された。このブローカレス型探索モデルが、２０００年３月に発表されたＧｎｕｔｅｌｌａのような、世界中で注目されるようになったＰ２Ｐ（Ｐｅｅｒ−ｔｏ−Ｐｅｅｒ）に相当する。また、２００１年４月に発表されたＪＸＴＡもＰ２Ｐ、すなわちブローカレス型探索モデルに相当する。Ｐ２Ｐは、ＷＷＷ以来の革新技術であり、第３世代と呼ばれている。なお、近年、伝送レイヤにＰ２Ｐの概念を適用したブローカレス型伝送モデルや、ポリシーレイヤにＰ２Ｐの考え方を適用したブローカレス型ポリシーモデルの研究開発が活発化していている。ブローカレス（配信）モデルのディメンションを図２３に示す。このブローカレス型探索モデルの１つがＳＩＯＮｅｔ（Ｓｅｍａｎｔｉｃ  Ｉｎｆｏｒｍａｔｉｏｎ−Ｏｒｉｅｎｔｅｄ  Ｎｅｔｗｏｒｋ、意味情報ネットワーク）である。
【０００３】
ＳＩＯＮｅｔは、意味情報（メタデータ）に基づいて、データと当該データの意味情報とからなるイベントを配送するメタネットワークである。図２４に示すように、イベント受信者は、受信したいイベントの条件を示す意味情報を予めＳＩＯＮｅｔに登録しておく。イベント送信者からイベントがＳＩＯＮｅｔに送信されると、ＳＩＯＮｅｔは、当該イベントの意味情報と、登録された意味情報とを照合し、その照合結果に基づいて、当該イベントをイベント受信者に送信する。このように、イベントをＳＩＯＮｅｔに送信することを「刺激」といい、登録した意味情報とイベントの意味情報とが合致し、当該意味情報を登録したイベント受信者に、当該イベントを通知することを「発火」という。
【０００４】
これにより、ネットワーク上に超分散する不特定多数のエンティティの中から、特定のエンティティを動的に探索・発見することができる。すなわち、ＳＩＯＮｅｔは、従来のネットワークで用いていた宛先アドレス（誰に対して送信する）の代わりに、意味情報（どういう人に対して送信する）に基づいてイベントを配送するネットワークである。
【０００５】
また、ＳＩＯＮｅｔは、ＳＩＯＮｅｔの構成要素を含めたすべてのエンティティが自律分散協調することにより、ネットワークが自己組織化される自律分散協調ネットワーク（自律分散コンピュータ）である。ＳＩＯＮｅｔのネットワーク構成要素には、「意味情報スイッチ（ＳＩ−ＳＷ）」、「意味情報ルータ（ＳＩ−Ｒ）」、「意味情報ゲートウェイ（ＳＩ−ＧＷ）」、「イベントプレース」、「セッション」などがあり、これらが必要に応じて自己組織化することにより、セキュアーでスケーラブルなＰ２Ｐネットワークをボトムアップアプローチで構築することができる。
【０００６】
ＳＩＯＮｅｔの基本概念・原理は単純で一元的である。“エンティティによるフィルタの登録とイベントの送出“という単純操作の繰り返し、すなわち、”エンティティの「刺激」と「発火」が、ＳＩＯＮｅｔのネットワーク構成要素間で「連鎖反応」”することにより、すべてのエンティティを自律分散協調させる点にある。この連鎖反応の振舞いを制御するものが、上述のイベント受信者がＳＩＯＮｅｔに登録した意味情報であり、これを「フィルタ」という。フィルタに登録するフィルタ値により、エンティティの連鎖反応の仕方を動的に制御することができる。ＳＩＯＮｅｔにおけるもう一つの基本概念がイベントプレースである。イベントプレースは、シェアードリンクにより相互に接続されたエンティティグループであり、これにより連鎖反応の範囲を制限することができる。
なお、ＳＩＯＮｅｔの詳細については非特許文献１、２に記載されている。また、この発明の出願人は、先に、特願２００１−３９４９８０によってＳＩＯＮｅｔに関する出願を行っている。
【０００７】
【非特許文献１】
星合隆成、小柳恵一、ビルゲー・スクバタール、久保田稔、柴田弘、酒井隆道、”意味情報ネットワークアーキテクチャ”、電子情報通信学会論文誌Ｂ、Ｖｏｌ．Ｊ８４−Ｂ、Ｎｏ．３、ｐｐ．４，１１−４，２，４（２０００．７受付、  ２００１−３掲載）
【非特許文献２】
星合隆成、柴田弘、酒井隆道、小柳恵一：”意味情報ネットワークアーキテクチャ：ＳＩＯＮアーキテクチャ”、ＮＴＴ  Ｒ＆Ｄ、Ｖｏｌ．５０、Ｎｏ．３、ｐｐ．１５７−１６４（２０００．１２受付、２００１．３掲載）
【０００８】
【発明が解決しようとする課題】
ＳＩＯＮｅｔでは、イベントプレースという概念が提唱されている。イベントプレースとは、イベント又はイベントパスの波及範囲であり、言い換えると、シェアードリンクで結合されているエンティティのグループである。各エンティティは、各々内包している意味情報スイッチ同士がセッション又はシェアードリンクにより接続されることでコネクションを確立しているが、この意味情報スイッチは、各エンティティ内に当該エンティティがイベントプレースに参加している数だけ存在する。例えば、あるエンティティがイベントプレースＡとイベントプレースＢとに同時に参加している場合、当該エンティティは意味情報スイッチを２つ内包している。この意味情報スイッチのうち１つは、イベントプレースＡに参加するエンティティのイベントプレースＡ用の意味情報スイッチにのみコネクションを確立し、他の意味情報スイッチはイベントプレースＢに参加するエンティティのイベントプレースＢ用の意味情報スイッチにのみコネクションを確立する。このように、エンティティに内包された意味情報スイッチはイベントプレース毎に異なるため、同じエンティティ内に内包される意味情報スイッチでも、エンティティ所有者の望むイベントプレースに参加可能な意味情報スイッチとコネクションを確立しなければならない。
【０００９】
しかし、エンティティが、所望の情報が得られないイベントプレースに所属し続けることは、無駄なコンピュータ等のリソースを消費するとともに、ネットワークが非効率的になってしまうという問題があった。そこで、エンティティを自動で最適なイベントプレースに導くことが望まれていた。
【００１０】
本発明はこのような事情に鑑みてなされたもので、複数のコミュニティ（イベントプレース）に属するエンティティを芋づる式に探索し、エンティティを最適なコミュニティへ導くことのできるエンティティ装置、コミュニティ探索方法、及び、コンピュータプログラムを提供することを目的とする。
【００１１】
【課題を解決するための手段】
本発明は上記の目的を達成するためになされたもので、請求項１に記載の発明は、所定の区分による人または物の集合体である複数のコミュニティに属するエンティティ装置を介し、該コミュニティ間を遷移しながら適切なコミュニティの探索を行うエンティティ装置であって、ユーザへの入出力インタフェースを提供し、ユーザから探索情報の入力を受けるとともに、探索結果を表示するユーザインタフェース手段と、現在自身が属するコミュニティ内において、前記ユーザインタフェース手段が入力を受けた探索情報と一致あるいは類似するコミュニティの情報を広告する同好のエンティティの探索を行うための同好探索の指示と、検出された同好のエンティティが広告する他のコミュニティへの移動とを、所定の時間内あるいは移動先となるコミュニティが所定の数に達するまで再帰的に行う実行制御手段と、前記実行制御手段から同好探索の指示を受け、現在自身が属するコミュニティ内の同好のエンティティの探索を行う同好探索手段と、前記同好探索手段が検出した同好のエンティティの広告する他のコミュニティを評価し、この他のコミュニティのうち移動先となる他のコミュニティを選択して前記実行制御手段に通知するコミュニティ評価手段と、自身が属するコミュニティへ、自身が同時に属する他のコミュニティの情報の広告を行うとともに、自身が属する該コミュニティの評価に基づき広告を中止する広告制御手段と、を備えることを特徴とするエンティティ装置である。
【００１２】
請求項２に記載の発明は、請求項１に記載のエンティティ装置であって、前記実行制御手段が移動した他のコミュニティの情報を広告する同好のエンティティへ、この他のコミュニティにおけるユーザ満足度を通知するフィードバック制御手段をさらに備え、前記広告手段は、自身が広告する他のコミュニティへ移動した他のエンティティから受信したユーザ満足度を基に、自身が属するコミュニティの評価を行うこと、を特徴とする。
【００１３】
請求項３に記載の発明は、請求項１または請求項２に記載のエンティティ装置であって、さらに、意味情報ネットワークとのアクセスを提供する意味情報ネットワークアクセス手段と、前記意味情報ネットワークに参加している他のエンティティとのセッションを管理するとともに、現在広告を行っているコミュニティの情報であるナビゲート情報を少なくとも含む、セッションに関連する最新の情報を保持及び提供するセッション管理手段と、前記ユーザインタフェース手段が受けたユーザの操作により、前記意味情報ネットワークからのイベントを受信し、該イベントのディスパッチを行うイベント解析手段と、を備えることを特徴とする。
【００１４】
請求項４に記載の発明は、請求項１から請求項３のいずれかの項に記載のエンティティ装置であって、広告を行うコミュニティは、ユーザの操作を受けて参加したコミュニティ、あるいは、前記実行制御手段が移動を行ったコミュニティの中の任意のコミュニティであることを特徴とする。
【００１５】
請求項５に記載の発明は、所定の区分による人または物の集合体である複数のコミュニティに属するエンティティ装置を介し、該コミュニティ間を遷移しながら適切なコミュニティの探索を行うエンティティ装置に用いられるコミュニティ探索方法であって、ユーザから探索情報の入力を受け、現在自身が属するコミュニティ内において、入力された探索情報と一致あるいは類似するコミュニティの情報を広告する同好のエンティティの探索と、検出した同好のエンティティが広告する他のコミュニティの評価と、前記評価を基にしたこの他のコミュニティのうち移動先となる他のコミュニティの選択と、選択された他のコミュニティへの移動とを、所定の時間内あるいは移動先となるコミュニティが所定の数に達するまで再帰的に行い、探索結果を表示する一方、自身が属するコミュニティへ、自身が同時に属する他のコミュニティの情報の広告を行い、自身が属する前記コミュニティの評価に基づき広告を中止する、ことを特徴とするコミュニティ探索方法である。
【００１６】
請求項６に記載の発明は、所定の区分による人または物の集合体である複数のコミュニティに属するエンティティ装置を介し、該コミュニティ間を遷移しながら適切なコミュニティの探索を行うエンティティ装置に用いられるコンピュータプログラムであって、ユーザから探索情報の入力を受ける入力ステップと、現在自身が属するコミュニティ内において、入力された探索情報と一致あるいは類似するコミュニティの情報を広告する同好のエンティティの探索と、検出した同好のエンティティが広告する他のコミュニティを評価と、前記評価を基にしたこの他のコミュニティのうち移動先となる他のコミュニティの選択と、選択されたコミュニティへの移動とを、所定の時間内あるいは移動先となるコミュニティが所定の数に達するまで再帰的に行うステップと、探索結果を表示するステップと、自身が属するコミュニティへ、自身が同時に属する他のコミュニティの情報の広告を行うステップと、自身が属する前記コミュニティの評価に基づき広告を中止するステップと、をコンピュータに実行させることを特徴とするコンピュータプログラムである。
なお、この明細書において、エンティティ装置とは、パーソナルコンピュータ、ワークステーション、情報携帯端末、携帯電話、ウエアラブルコンピュータなどのあらゆるコンピュータの総称である。
【００１７】
【発明の実施の形態】
［ＳＩＯＮｅｔの詳細］
＜ＳＩＯＮｅｔエンティティの定義＞
ここでは、パーソナルコンピュータ、ワークステーション、情報携帯端末、携帯電話、ウエアラブルコンピュータなどのあらゆるコンピュータを総称して、ホストと呼ぶ。さらに、ＳＩＯＮｅｔソフトウェアを実装したホストを、「ＳＩＯＮｅｔエンティティ」もしくは単に「エンティティ」と呼ぶ。エンティティ（エンティティ装置）は、図２（ａ）に例を示すように、ＳＩＯＮｅｔソフトウェアを実装したホストを、ＳＩＯＮｅｔにおける自律分散協調の単位として仮想化したものである。ＳＩＯＮｅｔソフトウェアは、個々のエンティティが自律分散協調を行うための仕組みを提供する。このＳＩＯＮｅｔソフトウェアにより、各ホストが自律分散コンピュータとなることが可能となる。
【００１８】
エンティティは、図２（ｂ）に示すように、主に以下の３つのタイプに分類される。
・サービスとして振る舞うアプリケーション（サービスエンティティ：ＳＥ、サービスエンティティ部）をエンティティ内部に含むもの
・ネットワーク構成要素として振る舞うモジュール（ネットワークエンティティ：ＮＥ）をエンティティ内部に含むもの
・上記ＳＥとＮＥとの両方をエンティティ内部に含むもの
【００１９】
＜エンティティ構造と状態遷移＞
図３は、エンティティの状態遷移を示す図である。この図に示すように、エンティティの状態として、”Ｎｏｎ−Ｅｘｉｓｔｅｎｔ”、”サスペンド”、”アクティブ”という３つの状態がある。
”Ｎｏｎ−Ｅｘｉｓｔｅｎｔ”状態は、ホストにＳＩＯＮｅｔソフトウェアをインストールした時点でのエンティティ状態を表している。
ＳＩＯＮｅｔソフトウェアを実行（ラウンチ）することにより、”Ｎｏｎ−Ｅｘｉｓｔｅｎｔ”状態から”サスペンド”状態に遷移する。このとき、エンティティ内に、図４に一例を示すように、エンティティ制御部、コントロールパネル、ネットワークエンティティファクトリ（ＮＥファクトリ）、ネットワークエンティティ（ＮＥ）、などの内部モジュールが生成される。以下に、それぞれの役割を簡単に説明する。
【００２０】
エンティティ制御部とは、エンティティの実体であり、他のエンティティやコントロールパネルからの様々な要求（後述するセッションの確立要求、シェアードリンクの確立要求など）を受け付ける。なお、”サスペンド”状態のエンティティに対して、他のエンティティからセッションの確立要求、シェアードリンクの確立要求などを行うことはできない。
【００２１】
コントロールパネルは、人などのエンティティの所有者に対して、ＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を提供する。コントロールパネルにより、例えば、エンティティの所有者にエンティティ名の入力を促し、入力されたエンティティ名に基づいて、エンティティ制御部が当該エンティティにエンティティ名を付与する。図４の例では、エンティティ名を”エンティティ２”としている。このエンティティ名を、後述する「グローバルエンティティ名」と特に区別して「ローカルエンティティ名」と呼ぶことがある。このローカルエンティティ名は、当該エンティティの所有者等が任意で設定できるものとする。
【００２２】
ＮＥ（ネットワークエンティティ）ファクトリとは、ＮＥを動的に生成する機能を備える。
ＮＥ（ネットワークエンティティ）とは、ＳＩ−Ｒ（Ｓｅｍａｎｔｉｃ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｒｏｕｔｅｒ、意味情報ルータ）、ＳＩ−ＧＷ（Ｓｅｍａｎｔｉｃ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｇａｔｅｗａｙ、意味情報ゲートウェイ）、アライブエンティティ、障害処理エンティティ、統計情報収集エンティティなど、ネットワーク制御のために振る舞うモジュールの総称である。
【００２３】
ＳＥ（サービスエンティティ）とは、エンティティが提供するプラグイン機構を用いて、エンティティ内にＳＥとして組み込まれたアプリケーションであり、ＳＩＯＮｅｔ上で動作するＰ２Ｐアプリケーションを仮想化したものである。エンティティが提供するプラグイン機構を用いて、アプリケーションをＳＥとしてエンティティ内に組み込むことができる。また、ＳＥは、ＳＩ−ＳＷに対して、任意数のセッションを確立することができる。ＳＥはセッションを介してのみ、イベントの送受信が可能である。ＳＥは、ＳＩＯＮｅｔのネットワーク構築・運営に関与しない。なお、ＳＥをエンティティ内に組み込むプラグイン機構については後述する。
【００２４】
図３における”サスペンド”状態のエンティティ（エンティティ２）が、例えば、図５に例を示すように自らイベントプレースを生成したり、図６に例を示すように既存のイベントプレースにＪｏｉｎ（参加）などして、任意のイベントプレースに属し、エンティティグループのメンバーになったときに、エンティティ（エンティティ２）は”サスペンド”状態から”アクティブ”状態へと遷移する。”アクティブ”状態のエンティティのみが自身の存在をアドバタイズ（公開、詳細は後述する）し、他のエンティティからのセッションの確立要求やシェアードリンクの確立要求を受け付けることができる。
【００２５】
ここで、ソフトウェアがホストにインストールされ、ＮＥ、ＮＥファクトリ、エンティティ制御部、コントロールパネルなどを備えるエンティティが生成された後、当該エンティティが”アクティブ”状態となるまでの動作を説明する。エンティティが、当該エンティティの所有者などからコントロールパネルを介して、イベントプレースの生成や他のイベントプレースへの参加の指示を受けたものとする。エンティティのエンティティ制御部は、当該エンティティのＮＥファクトリにＳＩ−ＳＷ（Ｓｅｍａｎｔｉｃ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｓｗｉｔｃｈ、意味情報スイッチ）の生成を依頼する。ＮＥファクトリがＳＩ−ＳＷを生成すると、エンティティ制御部は、生成されたＳＩ−ＳＷと、ＮＥなどの内部モジュールとの間にセッションを確立する。これにより、アドバタイズや、他のエンティティからのセッションの確立要求、シェアードリンクの確立要求等を受け付けることが可能となる。
【００２６】
ここで、図７を参照し、ＳＩ−ＳＷとセッションの役割について説明する。
セッションとは、ＳＩ−ＳＷとＳＥ間のコネクションであり、ＳＥは、セッションを介してのみイベントの送受信を行うことができる。セッションには、イベントの送信セッション、受信セッション、送受信セッションの３タイプがある。
ＳＩ−ＳＷは、意味情報に基づいて、イベントをスイッチングするスイッチング機構を提供する。ＳＩ−ＳＷはセッションを介して、ＮＥや、プラグイン機構によりエンティティ内に組み込まれたＳＥやＮＥなどの内部エンティティをスター型で収容する。以下では、ＳＥを例にとり説明するが、ＮＥなど、エンティティに内包された他の内部エンティティも同様である。
【００２７】
ここで、イベントの構成について説明する。図８に一例を示すように、イベントは、制御情報部、意味情報部、データ部から構成される。データ部には、送信データが格納される。送信データとして、テキストデータ、バイナリデータ、リファレンス、プロキシ、エージェントなど、様々なデータ、プログラムを格納することができる。
【００２８】
意味情報部には、送信データの意味情報（語彙とその値）、及び、意味情報の語彙概念（イベントタイプ）が格納される。ここで、意味情報とは、送信データの特性を記述したメタデータであり、イベントタイプのインスタンスである。また、イベントタイプは意味情報のテンプレートである。イベントタイプ間には継承関係を定義できる。図９に、意味情報体系の一例を示す。この図において、”タイトル；イエスタデイ”、”価格；＄３０”、”アーティスト名；ビートルズ”という意味情報は、”ポピュラー”というイベントタイプに属しており、また”音楽”というイベントタイプにも属している。また、”タイトル；きよしこの夜”、”価格；＄２０”、”シチュエーション；クリスマス”という意味情報は、”ＢＧＭ”というイベントタイプに属しており、また”音楽”というイベントタイプにも属している。
【００２９】
意味情報体系の記述言語としてはＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）などがある。なお、ネットワークエンティティ用に一部のイベントタイプ名（ＳＩＯＮｅｔから始まるすべての名称）が予約済みである。
図８に一例を示すイベントの制御情報部は、ＳＩＯＮｅｔの実行制御のために用いられる制御フィールドであり、これのみがＳＩＯＮｅｔのユーザであるＳＥに対して開放されていない。制御情報部には、合致したフィルタの識別子、合致したフィルタの照合得点、同期型統計情報収集フラグ、イベントプレース内、イベントプレース間におけるＴＴＬ（Ｔｉｍｅ  Ｔｏ  Ｌｉｖｅ）値、イベントプレース内、イベントプレース間におけるホップ数、ホップ属性などの制御情報が設定される。
【００３０】
図７に示すようなエンティティの構成において、ＳＥの機能を説明する。ＳＥは、受信セッションを介して、イベントの取得条件をＳＩ−ＳＷに登録する。これを「フィルタ」と呼ぶ。フィルタには、取得したいイベントの語彙概念（イベントタイプ）、及び、意味情報との照合条件（例えば、語彙”Ｐｒｉｃｅ”が”＄２０から＄４０の範囲”のものを取得対象とする）等を設定する。なお、当該イベントタイプに定義されているすべての語彙との「完全一致」、一部の語彙との「部分一致」、「重み付け一致」など、照合条件をフィルタ単位で選択することができる。
【００３１】
ＳＥは、一つの受信セッションから、複数のフィルタを登録することが可能であるが、同一セッションを介して登録されたフィルタ間は”ｏｒ”関係を有する。
すなわち、一つのイベントに対して、一つの受信セッションは高々１回しか発火しない。取得したいイベントのイベントタイプにワイルドカードを指定した場合には、すべてのイベントタイプが取得の対象となる。また、意味情報との照合条件に１（論理値が真）が設定された場合には、無条件に意味情報との照合条件が満足されたことを意味する。
【００３２】
また、ＳＥは、送信セッションを介して、ＳＩ−ＳＷにイベントの送信を行う。このとき、ＳＩ−ＳＷはイベントの意味情報部とフィルタとを照合する。具体的には、まず、受信したいイベントタイプであるかどうかをチェックし、これを満足した場合には、意味情報と照合条件をチェックする。この照合の結果、意味情報が照合条件を満足している場合には、合致したフィルタを登録したエンティティを起動するとともに、当該イベントを通知する。
ＳＩＯＮｅｔでは、イベントの送信を「刺激」、フィルタがイベントに合致することを「反応」、合致したフィルタを登録したエンティティを起動しイベント通知することを「発火」と呼ぶ。
【００３３】
＜エンティティの名称付与方法＞
図５に示すように、エンティティ２が”イベントプレースＡ”と命名したイベントプレースを生成する場合を説明する。エンティティ２の所有者は、コントロールパネルを介するなどして、エンティティ２にイベントプレース名を入力する。ここでは、入力等されたイベントプレース名を「イベントプレースＡ」とする。すると、エンティティ制御部は、ＮＥファクトリにＳＩ−ＳＷの生成を依頼し、生成されたＳＩ−ＳＷと、ＮＥなどの内部モジュールとの間にセッションを確立する。
さらに、エンティティ制御部は、生成されたＳＩ−ＳＷの名前を「イベントプレース名＋ローカルエンティティ名」、すなわち「イベントプレースＡ＋エンティティ２」として記憶する。この名前を「グローバルエンティティ名」と呼ぶ。このグローバルエンティティ名の作成がイベントプレースの生成に相当する。
【００３４】
すなわち、ＳＩＯＮｅｔでは、イベントプレースの生成により、必ずしも何らかの管理実体が生成されるとは限らない。つまり、ＳＩＯＮｅｔでは、イベントプレースに属しているエンティティのメンバー管理を、後述するエンティティ間のシェアードリンクにより実現しているため、メンバー管理を行う集中管理部自体が存在しない。そのため、イベントプレースを生成したエンティティが当該イベントプレースから退去しても、当該イベントプレースに残されたエンティティが自律的に自己組織化することにより、当該イベントプレースの運営が継続される。すなわち、イベントプレースから最後のエンティティが退去することが、イベントプレースの消滅に相当する。
【００３５】
このグローバルエンティティ名は、シェアードリンクやセッションを確立する場合に用いられる。図５に示すようなエンティティ２が、イベントプレースＢをさらに生成し、エンティティ１からのシェアードリンクを確立する動作を、図１０を参照して説明する。
【００３６】
まず、既にイベントプレースＡに参加しているエンティティ２が、イベントプレースＢを生成する動作を説明する。エンティティ２のエンティティ制御部は、前述と同様に、ＮＥファクトリに新たなＳＩ−ＳＷを生成させる。エンティティ制御部は、生成された新たなＳＩ−ＳＷにグローバルエンティティ名として「イベントプレースＢ＋エンティティ２」を付与する。これにより、イベントプレースＢが生成される。この時点で、エンティティ２は、「イベントプレースＡ＋エンティティ２」と「イベントプレースＢ＋エンティティ２」という二つのグローバルエンティティ名（ＳＩ−ＳＷ名）を持つ。
【００３７】
次に、エンティティ１がイベントプレースＡにＪｏｉｎ（参加）する動作を説明する。上述のようにイベントプレースＡ及びイベントプレースＢに参加したエンティティ２は、“アクティブ”状態となっている。“アクティブ”状態のエンティティは、自身の存在を他のエンティティにアドバタイズ（公開）することができるが、その際にはグローバルエンティティ名が公開される。
【００３８】
エンティティ１がエンティティ２を発見し、当該エンティティ２に対してＪｏｉｎ要求を行うとき、エンティティ１は、Ｊｏｉｎ先のエンティティであるエンティティ２のグローバルエンティティ名が「イベントプレースＡ＋エンティティ２」である旨をエンティティ２に通知する。
【００３９】
このように、グローバルエンティティ名により、シェアードリンクを確立するＳＩ−ＳＷを一意に特定することが可能になり、ひいては、イベントプレースＡへの参加が可能になる。このように、シェアードリンクやセッションの確立先であるＳＩ−ＳＷはグローバルエンティティ名として仮想化されるため、エンティティの所有者等は、ＳＩ−ＳＷを直接意識することはない。
【００４０】
＜ＳＥのプラグイン方法＞
以下に、図１１に示すエンティティへのＳＥの組み込みの動作を説明する。
（１）エンティティの所有者は、コントロールパネルに対して、アプリケーションのプラグインを指示する。このとき、プラグインするアプリケーションの実行ファイル名をパラメータとして与える。
（２）コントロールパネルは、プラグインの指示を受けた旨と、プラグインするアプリケーションの実行ファイル名とをエンティティ制御部に通知する。
【００４１】
（３）エンティティ制御部は、プラグインする実行ファイル名を記憶するとともに、与えられた実行ファイル名を用いて、アプリケーションを起動し、ＳＩ−ＳＷと起動したアプリケーションとの間にセッションを確立する。
すなわち、ＳＩＯＮｅｔにおけるプラグインとは、アプリケーションとＳＩ−ＳＷとの間にセッションを確立することに他ならない。ＳＩＯＮｅｔでは、ＳＥ、ＮＥなどのすべての動作実体は、セッションを介して連携する。そのため、プラグイン／プラグアウト（着脱）を容易に実現できるとともに、プラグイン／プラグアウトが他の動作実体に影響を与えない（超疎結合）。この考え方を拡張することにより、後述するようなエンティティ間でのＳＥ共有が実現できる。
【００４２】
＜ＰＲＥＦＥＲＥＮＣＥアーキテクチャ＞
ＳＩＯＮｅｔは図１２に一例を示すようなリファレンスモデルの考え方を採用している。図１２に示すＰＲＥＦＥＲＥＮＣＥアーキテクチャは、フィルタに意味情報を登録し、イベントの意味情報部に配布条件（照合条件）を設定する御用聞き社会（御用聞き型サイバーソサイアティ）構築に向けたアーキテクチャであり、ブローカレス型配信モデル、ブローカレス型探索モデル、ブローカレス型ポリシーモデルに対するトータルソリューションを提供する。具体的には、ストリームインターフェース、ＳＩＯＮｅｔ、ＣＯＭＮｅｔなどから構成される。
ＳＩＯＮｅｔはイベントの伝達層であり、上位層に対してネットワークインタフェースを提供する。ミドルウエア層がコミュニティ（コミュニティネットワーク：ＣＯＭＮｅｔ）であり、ＳＩＯＮｅｔのインテリジェンス層に相当する。このレイヤにおいて、情報の局所化、認証、セキュリティ、情報の権利保証、ポリシー制御などが行われる。そして、最上位層がアプリケーション層となっている。このアプリケーション層には、ＳＥが実装される。ＳＥとしては、例えば、個人ＴＶ局、メッセージ交換サービスのスマートメッセンジャーなどがある。
【００４３】
このように、ＳＩＯＮｅｔは、分散コンピューティング、情報交換、コラボレーション、メッセージ配信などのあらゆるＰ２Ｐサービス（ＳＥがサービスを提供する）に対して、共通のＰ２Ｐネットワーク基盤を提供するとともに、プラグイン機構の提供により、アプリケーション開発の効率化をサポートする。
【００４４】
＜ＳＩＯＮｅｔにおけるエンティティの役割＞
ＳＩＯＮｅｔは、個々のエンティティが互いに助け合うことにより、ボランティア型のネットワークを構築する形態であり、それぞれが自律分散協調することにより、ネットワークを自己組織化する。例えば、図６の構成において、エンティティ１の生成したイベントプレースにエンティティ２が参加し、その後、エンティティ１が当該イベントプレースから退去する動作を説明する。
【００４５】
予め、エンティティ１はイベントプレースを生成し、当該イベントプレースに参加している。ここに、エンティティ２がエンティティ１に対して、イベントプレースへのＪｏｉｎ要求を行うと、図１３に示すように、エンティティ２にＳＩ−ＳＷが生成され、さらに、エンティティ１及びエンティティ２のＳＩ−ＳＷ間にシェアードリンクが確立され、エンティティグループが形成される。
このようにエンティティ１とエンティティ２のＳＩ−ＳＷ間にシェアードリンクが確立され、エンティティ２がイベントプレースに参加した後、イベントプレースの生成者であるエンティティ１がイベントプレースから退去するものとする。すると、ＳＩ−ＳＷ間のシェアードリンクが解除され、以降は、エンティティ２のみでイベントプレースの構築・運営が継続される。このように、個々のエンティティが自己組織化するため、あるエンティティが退去、消失等しても他のエンティティが当該エンティティの機能を果たす。
【００４６】
ＳＩＯＮｅｔでは、目的に応じてエンティティを配置・組み合わせることにより、様々な形態のＰ２Ｐネットワークを構築することができる。また、異なる形態のＰ２Ｐネットワークをシームレスに連携させることもできる。これは、以下を実現させることにより達成される。
（１）すべてのエンティティを、”刺激と発火に基づく連鎖反応”という一元的かつ単純な仕組みで自律分散協調させること
（２）Ｐ２Ｐネットワーク形態の差異をエンティティの配置・運営問題に帰着させること
このように、単一の仕組みで様々な形態のＰ２Ｐネットワークを構築できる点がＳＩＯＮｅｔの特徴の一つである。
【００４７】
＜シェアードリンク＞
「シェアードリンク（共有リンク）」は、複数の異なるエンティティ間において、双方向のイベント共有を行うための概念である。例えば、図１４に示すように、エンティティ２がエンティティ１に対して、シェアードリンク（ＳＬ：  Ｓｈａｒｅｄ  Ｌｉｎｋ）の確立要求を行うことにより、図１５に示すように、ＳＩ−ＳＷ２とＳＩ−ＳＷ１との間にシェアードリンクが確立され、新たなエンティティグループが形成される。すなわち、シェアードリンクは、エンティティグループを形成するための仕組みであり、また、マルチホップの経路でもある。
【００４８】
図１４において、シェアードリンクの確立に成功したエンティティ２には、エンティティ１からイベントプレース名（グローバルエンティティ名）、当該イベントプレースにおけるイベント転送方式（ルーティング方式）、当該イベントプレースのディスクリプション（説明文）、プラグインされているＳＥ情報等のさまざまな情報が送信される。なお、後述するＳＩ−Ｒによるフィルタ値の設定によって、ＳＩ−ＳＷ間に様々なイベントルーティング方式を動的に設定できる。以降において、シェアードリンクの確立の動作を説明し、さらに、ＳＩ−Ｒの役割、仕組みを詳述する。
【００４９】
＜シェアードリンクの確立＞
図１４及び図１５を用いて、シェアードリンク確立までの仕組みを説明する。まず、図１４において、エンティティ２がエンティティ１に対して、シェアードリンクの確立要求を発行した場合を考える。
（１）エンティティ２がエンティティ１に対して、シェアードリンクの確立要求を発行する。
【００５０】
（２）図１５に示すように、エンティティ１のエンティティ制御部は、ＳＬ１，２（エンティティ２からのイベントを受信するためのシェアードリンク）を確立するために、ＮＥファクトリに、意味情報に基づいてＳＩ−ＳＷ間のイベントルーティング（イベント転送）を行うＳＩ−Ｒ１，２  を、エンティティ１内部に動的に生成させる。さらに、エンティティ制御部は、エンティティ２がシェアードリンクの確立要求元であることを記憶する。厳密には、エンティティ２のエントリポイントとグローバルエンティティ名（ＳＩ−ＳＷ２）とをシェアードリンクの確立要求元として記憶する。
【００５１】
（３）ＳＩ−Ｒ１，２は、エンティティ２に対してイベント受信セッションの確立要求要求を行うことでＳＩ−ＳＷ２に対してイベント受信セッションを確立する。このとき、ＳＩ−ＳＷ２に、エンティティ１が受信するイベントの条件を示すフィルタを登録する。さらに、ＳＩ−Ｒ１，２は、自身が属するＳＩ−ＳＷ１に対して、イベント送信のためのセッションを確立する。このような、ＳＩ−Ｒが確立する送受信セッションの組み合せをシェアードリンクという。これによりＳＬ１，２が確立され、例えば、ＳＥ４がＳＩ−ＳＷ２に対して送出したイベントは、ＳＩ−Ｒ１，２を介して、ＳＩ−ＳＷ１へも送出される。
【００５２】
（４）このとき、ＳＩ−Ｒ１，２がＳＩ−ＳＷ２に対して登録するフィルタの設定値により、イベントの転送方式を動的に制御できる。その例を以下に示す。
（ａ）ＳＩ−ＳＷ２に対して送出されたイベントを、無条件にＳＩ−ＳＷ１へと転送する。すなわち、すべてのイベントに対して、ＳＩ−Ｒ１，２が発火する。これはＳＩ−ＲがＳＩ−ＳＷに登録するフィルタとして、「取得する語彙概念にワイルドカードを、及び意味情報（語彙）との照合条件に真」を設定することにより可能になる。これを「無条件ルーティング」と呼ぶ。この設定は、シェアードリンク確立時に一度だけ行えばよい。この方式では、無駄なイベント転送と転送先でのイベント照合処理オーバヘッドが発生する可能性があるが、後述するイベントパス確立（ルーティング情報の設定）のためのオーバヘッドが発生しないため、フィルタ登録数がイベント送出数よりも十分大きい場合に有効な方式である。このルーティング方式は、主に、マルチホップ型ブロードキャスト通信に用いられる。
【００５３】
（ｂ）エンティティ１に取って必要なイベントのみをＳＩ−ＳＷ２からＳＩ−ＳＷ１へ転送する。これにより、不要なイベント転送を行わない。すなわち、特定のイベントに対してのみ、ＳＩ−Ｒ１，２が発火する。これは、ＳＩ−Ｒが語彙概念のみ（照合条件は常に真）をフィルタに設定する「語彙概念によるイベントルーティング」と、語彙概念と語彙との照合条件をフィルタに設定する「語彙によるイベントルーティング」に大別される。前者は主にマルチホップ型属性付きマルチキャスト通信に、後者は主にマルチホップ型ユニキャスト通信、マルチホップ型マルチキャスト通信に用いられる。これは、障害処理通知、統計情報通知、アライブ通知、リプライ通知、アドバタイズメント通知などで用いられている。
なお、マルチホップ型ブロードキャスト通信、マルチホップ型属性付きマルチキャスト通信、マルチホップ型ユニキャスト通信、マルチホップ型マルチキャスト通信のようなマルチホップ通信のほかに、ＳＩ−Ｒの設定するフィルタ値により、通信先エンティティのエントリポイントを用いた直接通信も可能である。なお、マルチホップ型ブロードキャスト通信、マルチホップ型属性付きマルチキャスト通信、マルチホップ型ユニキャスト通信、マルチホップ型マルチキャスト通信については後述する。
【００５４】
（４）前述（２）から（３）の手順は、シェアードリンクの確立要求元であるエンティティ２においても同様に行われる。すなわち、エンティティ２のエンティティ制御部は、エンティティ１（ＳＩ−ＳＷ１）をシェアードリンクの確立要求先として記憶するとともに、ＳＬ２，１を確立するために、ＮＥファクトリにＳＩ−Ｒ２，１を動的に生成させる。この生成されたＳＩ−Ｒ２，１は、上述と同様にＳＩ−ＳＷ１にフィルタを登録し、シェアードリンクを確立する。これにより、ＳＩ−ＳＷ１とＳＩ−ＳＷ２の間に、双方向のシェアードリンクが確立され、エンティティ間でイベントを互いに共有することが可能になる。なお、ＳＩ−Ｒがフィルタの登録を行わないことにより、片方向のシェアードリンクを確立すること、すなわち、ＳＩ−Ｒを発火させないことができる。
【００５５】
＜イベントパスの確立＞
イベント転送（イベントルーティング）のための経路選択情報（ＳＩ−Ｒがイベント共有のために登録するフィルタの集合）を「イベントパス」と呼ぶ。例えば、図１５に示すように、エンティティ２とエンティティ３とが各々エンティティ１とシェアードリンクを確立している構成において、エンティティ２のＳＥ３がＳＩ−ＳＷ２に対してフィルタを登録した場合を考える。このとき、エンティティ２のＳＩ−Ｒ２，１はＳＥ３の登録したフィルタを、受信セッションを介して、エンティティ１のＳＩ−ＳＷ１に登録する。同様に、エンティティ１のＳＩ−Ｒ１，３は当該フィルタを、受信セッションを介して、エンティティ３のＳＩ−ＳＷ３に登録する。このようにＳＥ３によるフィルタ登録をトリガに、ＳＩ−Ｒの登録したフィルタがシェアードリンクに基づいて、順次隣接するＳＩ−Ｒに波及することにより、イベントパスが確立される。これを「イベントパスの設定、もしくは波及」と呼ぶ。
【００５６】
ここで、上述した「語彙概念によるイベントルーティング」のためのイベントパスの確立について説明する。図１５において、「語彙概念によるイベントルーティング」のためのイベントパスを確立するためには、エンティティ２のＳＥ３がＳＩ−ＳＷ２に対して登録したフィルタにおいて、ＳＩ−Ｒ２，１は、イベントタイプのみ（照合条件は常に真）をエンティティ１のＳＩ−ＳＷ１へのフィルタとして設定する。すなわち、ＳＥ３がフィルタ登録した照合条件を活用しない。つまり、イベントタイプのみを活用することにより、例えば、エンティティ１のＳＥ１がイベント送信したとき、イベントタイプのみをＳＩ−ＳＷ１において照合し、その結果、ＳＩ−Ｒ２，１が発火すると、ＳＩ−Ｒ２，１は当該イベントをＳＩ−ＳＷ２へと送出し、意味情報との照合をＳＩ−ＳＷ２において行う。
【００５７】
また、上述した「語彙によるイベントルーティング」のためのイベントパスの確立について説明する。図１５において、「語彙によるイベントルーティング」のためのイベントパス確立に際しては、エンティティ２のＳＩ−Ｒ２，１は、ＳＥ３が登録したフィルタ値を、そのままエンティティ１のＳＩ−ＳＷ１へのフィルタ値として設定する。すなわち、ＳＩ−Ｒ２，１は、ＳＥ３がフィルタ登録したイベントタイプと意味情報との両者をエンティティ１のＳＩ−ＳＷ１へとフィルタ登録し、ＳＩ−ＳＷ１において完全なフィルタリングを行う形態である。
【００５８】
そのため、語彙によるイベントルーティング方式では、無駄なイベント転送が全く発生しないが、ルーティングのためのイベントパス設定オーバヘッドが膨大になるため、フィルタ登録数に比べてイベント送出数が十分大きい場合に有効な方式である。一方、イベントタイプに基づくルーティング方式は、前述の２方式の折衷案的な位置付けにある。すなわち、フィルタ登録数とイベント送出数が同程度の場合、もしくは、フィルタ登録数とイベント送出数の比率を予測できないような利用形態において有効である。これらの仕組みにより、意味情報に基づく、イベントのマルチホップ通信が実現される。なお、イベントプレースの生成時、もしくは、ＳＥからのフィルタ登録時に、イベントルーティング方式を指定できる。
【００５９】
イベントパスの設定要求はイベントプレース内のすべてのＳＩ−Ｒに対して波及するが、ＴＴＬ値により、その波及範囲を制限することができる。図１６を用いて、その動作を簡単に説明する。ここでは説明の便宜上、語彙概念ルーティングのためのイベントパス確立を前提とするが、これに限られるわけではない。また、各エンティティは、同じ語彙概念をアドバタイズ（フィルタ登録）するものとする。また、ＴＴＬ値を２として説明する。
【００６０】
図１６（ａ）において、エンティティ２のＳＩ−Ｒがイベントパスの設定要求を開始する。ここでは、ＴＴＬ値が２であるため、エンティティ１、エンティティ３、そしてエンティティ４に対してのみイベントパスの設定要求が波及し、その結果、図１６（ｂ）に示すようにイベントパスが確立される。
【００６１】
上述と同様に、エンティティ１１のＳＩ−Ｒがイベントパスの設定要求を開始すると、エンティティ１０、及びエンティティ９に対してイベントパスが確立される。図１６に示す構成では、エンティティ２のＳＩ−Ｒ及びエンティティ１１のＳＩ−Ｒがイベントパスの設定要求をすると、エンティティ５にはイベントパスが設定されないため、エンティティ２とエンティティ１１の間では、イベントの共有が行われない。つまり、エンティティ２から生起したイベントは、エンティティ５〜１１に連鎖反応せず、エンティティ５〜１１へはイベントが転送されないことになる。
【００６２】
しかしながら、図１６（ｂ）に示すように、エンティティ５のＳＩ−Ｒがイベントパスの設定要求を開始することにより、エンティティ４、エンティティ５、エンティティ６、エンティティ７、そしてエンティティ９に対してイベントパスが確立される。結果的に、図１６（ｃ）に示すように、エンティティ８を除く、イベントプレース内のすべてのエンティティに対してイベントパスが確立される。
【００６３】
このように、当該語彙概念が当該イベントプレースにおいて、使用頻度の高いもの（評判が高い、流行しているもの）であるならば、最終的に、イベントプレース内にイベントパスの確立が行き渡ることになる。その逆で、あまり流行していない語彙概念は、いずれ淘汰されることになり、これにより緩やかな連鎖反応を実現できる。なお、図１６におけるイベントパス上の数字は、その多重度を示している。
【００６４】
なお、エンティティは、イベントパスの多重度をエンティティプロパティの属性として公開することができる。一方、エンティティプロパティのディスカバリにより、イベントパスの多重度が高いエンティティを発見することができる。このとき、当該エンティティに対して、シェアードリンクの張り替えを行うことにより、同好の志（同好のエンティティ）が緩やかに近傍に集まることができる（同好エンティティの局所化）。エンティティプロパティの詳細については後述する。
【００６５】
分散オブジェクト技術の観点から、イベントパスを以下のように解釈することもできる。世界中に超分散しているエンティティは、エンティティ間でなんらかの「相関関係」を有する。相関関係を与えるものとしては、エンティティ名、グループ名、属性（位置、興味、評判、流行、サービス）など様々なプロパティがある。エンティティは、相関関係に基づいて、エンティティ間の結びつきを持ち分散協調する。この、エンティティの相関関係を与えるものを、エンティティプロパティという。
【００６６】
ＳＩＯＮｅｔでは、この相関関係を語彙概念と語彙により表現し、シェアードリンクに基づいて、イベントパスとして設定する。また、相関関係の強弱が、語彙概念の汎化・特化、イベントパスの多重度などに相当する。すなわち、ＳＩＯＮｅｔでは、イベントパスにより、エンティティ間の相関関係を動的に制御・管理している。これこそが、フィルタによる連鎖反応の制御である。そのため、エンティティは固定的なエンティティ識別子を有していない。
【００６７】
例えば、ＩＰアドレスは、位置に基づいたエンティティの固定的な識別子であるが、ＳＩＯＮｅｔでは、これの代わりに、エンティティプロパティを語彙概念・語彙として記述したものをエンティティ識別子として用いる。エンティティは、これらをフィルタとしてＳＩ−ＳＷに登録することにより、エンティティのプロパティ（エンティティ識別子）を宣言するとともに、自身のプロパティをシェアードリンクに基づいてアドバタイズする。これがイベントパスの波及に相当する。これにより、イベントパスが確立される。
【００６８】
上述したように、ＳＩ−Ｒは、イベント送信とイベント受信の両者の側面を持つネットワークエンティティであり、一般のサービスエンティティと本質的な違いはない。ＳＩＯＮｅｔでは、ＳＩ−ＲのようなＳＩＯＮｅｔの制御に用いられるエンティティを、サービスエンティティ（ＳＥ）と特に区別して、ネットワークエンティティ（ＮＥ）と呼ぶ。ＳＩＯＮｅｔにおいては、サービスエンティティ、ネットワークエンティティのすべてのエンティティを共通のエンティティとして扱い、さらに、イベント送出とイベント受信、すなわち刺激と発火の連鎖反応という単純かつ一貫性のある共通ロジックに従って自律動作させることにより、すべてのエンティティが自律分散協調可能な超分散・超疎結合アーキテクチャを提供する。
【００６９】
＜シェアードリンクの解除と再確立＞
イベントプレースに参加しているエンティティが、障害に陥ったり、イベントプレースから退去する場合など、様々な理由により当該エンティティがネットワークの運営に関わることができないケースにおいては、残されたエンティティが自己組織化することによりネットワークサービスを継続できることが必要になる。
ＳＩＯＮｅｔでは、このようなケースにおいては、ＳＩ−ＳＷ間において確立されているシェアードリンクを解除し、さらにシェアードリンクの再確立を行う。その動作を図１７を参照して説明する。
【００７０】
図１７において、シェアードリンク確立要求の先頭数字（図中▲１▼や▲２▼など）は、それらの要求順序を示している。つまり、シェアードリンク確立要求の順序は、まず、エンティティ２からエンティティ１へシェアードリンクの確立要求を行う。次にエンティティ３からエンティティ２へシェアードリンクの確立要求を行う。最後に、エンティティ４からエンティティ２へシェアードリンクの確立要求を行うものとする。なお、ここで、「各エンティティは、同一イベントプレース内においてシェアードリンクの確立要求を高々１回しかできないが、無制限に確立要求を受け付けることが可能なリンクトポロジーに基づいて、シェアードリンクの確立を行う」リンク確立手法を提案する。これにより、シェアードリンクで結合されたエンティティ間に、ループが発生しないことが保証される。すなわち、この手法を用いることにより、隣接エンティティ間のリンク再確立のみで開リンクトポロジーを簡単に実現できる。
【００７１】
上述した順序で確立要求が成功すると、前述した手順で各ＳＩ−ＳＷ間にシェアードリンクが確立される。シェアードリンクが確立されると、各エンティティのエンティティ制御部は、自身が確立要求を行ったエンティティと、自身への確立を受け付けたエンティティを記憶している。例えば、エンティティ２は、自身が確立要求を行ったエンティティ１と、自身への確立を受け付けたエンティティ３、エンティティ４のリストを保持している。
この状況において、例えば、エンティティ２の退去、減設などが行われる場合、自身のＳＩ−ＳＷ２に対して確立されているシェアードリンクの解除要求を発行し、シェアードリンクの解除を行う。その後、各エンティティは新たなシェアードリンクの確立を行う。以下、その動作を説明する。
【００７２】
（１）エンティティ２が退去する場合、エンティティ２のエンティティ制御部は、自身のシェアードリンクを解除する旨を、１ホップのエンティティ（エンティティ１、エンティティ３、エンティティ４）に対して通知する。これは、イベントのＴＴＬ値を１にしてイベント送出を行うことにより可能になる。なお、このとき、自身へのシェアードリンク確立を受け付けたエンティティ（エンティティ３、エンティティ４）に対しては、自身に代わる新たなシェアードリンクの確立要求先として、自身が確立要求を行ったエンティティ１を教える。なお、自身が確立要求を行ったエンティティが存在しない場合には、自身への確立要求元エンティティ（１ホップ先のエンティティ）の中から任意のエンティティを選択して、これを自身に代わるシェアードリンクの確立要求先とする。
【００７３】
（２）エンティティ２のエンティティ制御部は、自身が確立したシェアードリンク（ＳＬ２，１、ＳＬ２，３、ＳＬ２，４）を解除するために、その旨をＳＩ−Ｒ２，１、ＳＩ−Ｒ２，３、ＳＩ−Ｒ２，４（図示略）に通知する。なお、ＳＩ−Ｒ２，１、ＳＩ−Ｒ２，３、ＳＩ−Ｒ２，４とはエンティティ２のＳＩ−Ｒであり、上述したように、エンティティ１、エンティティ３、エンティティ４に対し、シェアードリンクＳＬ２，１、ＳＬ２，３、ＳＬ２，４を確立したものである。これらのＳＩ−Ｒは、これをトリガとしてエンティティ２のＳＩ−ＳＷ２へのセッションを解除する。
【００７４】
（３）エンティティ１のエンティティ制御部は、ＳＩ−Ｒ１，２（図示略）に、シェアードリンクＳＬ１，２の解除を指示する。ＳＩ−Ｒ１，２は、シェアードリンクＳＬ１，２を解除する。エンティティ１は、エンティティ３、エンティティ４からの確立要求を待つ。
（４）エンティティ３、エンティティ４は、エンティティ１と同様に、自身がＳＩ−ＳＷ２（エンティティ２のＳＩ−ＳＷ２）に対して確立していたシェアードリンク（ＳＬ３，２、ＳＬ４，２）をすべて解除し、エンティティ２からシェアードリンクの確立要求先として教えられた新たなエンティティ（エンティティ１）に対してシェアードリンクの確立要求を行い、シェアードリンクを再確立する。すなわち、上述と同様に、各々のエンティティ制御部は、ＮＥファクトリに各々ＳＩ−Ｒ３，１、ＳＩ−Ｒ４，１を生成させ、当該ＳＩ−Ｒ３，１、ＳＩ−Ｒ４，１にシェアードリンクＳＬ３，１、ＳＬ４，１を確立させる。
【００７５】
上述したように、シェアードリンクの確立処理、再確立処理は、隣接するエンティティ間においてのみ行われ、他のエンティティには影響を与えない。すなわち、全てのエンティティに対するリンクの再構築を必要としない。
【００７６】
なお、エンティティの退去や減設などの正当な手順を踏んだシェアードリンクの解除要求ばかりでなく、エンティティの障害、電源断、セッション（物理的な通信路）の障害などに起因して、シェアードリンクを再確立しなければならないケースがある。しかしながら、このようなケースにおいては、シェアードリンクの再確立時に必要となる代わりのエンティティを教授できない可能性がある。ＳＩＯＮｅｔでは、このような状況に対応するために、各エンティティはｎホップ（ｎは任意の自然数）のイベントを送出することにより、代わりの確立要求先エンティティの把握を行っている。なお、ＳＩＯＮｅｔでは、ＴＴＬ値とホップ属性を用いることにより、更にきめこまかなホップ制御が可能である。ホップ属性の例として、以下のものがある。
【００７７】
▲１▼シェアードリンクの確立要求先エンティティのみをホップ対象とする。
▲２▼シェアードリンクの確立要求元エンティティのみをホップ対象とする。
▲３▼すべてのエンティティをホップ対象とする。
【００７８】
▲１▼のホップ属性を指定した場合の、イベントの流れの例を図１８の破線で示している。図１８において、（ｉ／ｊ）は各エンティティにおいて記憶しているシェアードリンクの確立情報である。ｉはエンティティがシェアードリンクの確立要求を行った先のエンティティを示しており、一方、ｊはエンティティがシェアードリンクの確立要求を受け付けたエンティティを示している。例えば、エンティティ３の（２／５、６）は、エンティティ３がエンティティ２に対して確立要求を行い、エンティティ５及びエンティティ６から確立要求を受け付けていることを表している。各エンティティがシェアードリンクの確立情報を保持することにより、例えば、エンティティ３が他のエンティティに対して、更なるシェアードリンクの確立要求を行った場合、その要求をエラーとしてリジェクトすることができる。
これにより、前述した開リンクトポロジーの一貫性を保証している。この状況において、エンティティ６が３ホップで、上述▲１▼のホップ属性を持つイベントを送出することにより、エンティティ１とエンティティ２の存在を知ることが可能になり、これらがエンティティ３障害時の代替エンティティとなる。
【００７９】
なお、上述したホップ属性は、障害時の代替エンティティの探索ばかりでなく、シェアードリンクの確立を受け付け可能なエンティティの探索、トップ（誰にもシェアードリンクの確立を行っていない）エンティティの探索などに有効である。ＳＩＯＮｅｔでは、トップのエンティティのみが、他のイベントプレースに対して、フェデレーション（連携、イベントプレース間のシェアードリンクに相当）を確立することができる。
【００８０】
＜オンライン増減設の目的＞
ＳＩＯＮｅｔにおけるエンティティ増減設の目的は、主に以下の二つに大別される。（１）イベントプレースのトータル処理能力向上の観点から、イベントプレース内のエンティティを増設し、イベントのフィルタリング処理を負荷分散する。その逆の観点から、エンティティを減設する。これは、主に、ハイブリッドＰ２Ｐ、バックボーンＰ２Ｐネットワークの運用において用いられる。
（２）動的に生成されたエンティティに対して、シェアードリンクを柔軟に確立することにより、フレキシブルでグローバルなＰ２Ｐネットワークをボトムアップ的に構築する。これは、主に、ピュアＰ２Ｐネットワークの運営において用いられる。
【００８１】
なお、ハイブリッド型Ｐ２Ｐネットワークとは、例えばネットワークプロバイダなどの運営者がホスト等にイベントプレースをあらかじめ生成し、個人の端末等のサービスエンティティがセッションによりイベントプレースと接続することにより構成されるネットワークである。また、ピュア型Ｐ２Ｐネットワークとは、個人の送受信端末たるエンティティがシェアードリンクで各々接続されることにより構成されるネットワークであり、このネットワークのうち、イベントを共有する最小単位がイベントプレースである。バックボーン型Ｐ２Ｐネットワークとは、ネットワーク間の接続形態のことであり、例えば、複数の地域のピュア型Ｐ２Ｐネットワークをハイブリッド型Ｐ２Ｐネットワークを経由して接続した状態のネットワークのことをいう。
【００８２】
＜増減設の形態＞
ＳＩＯＮでは幾つかの増減設形態を提供しているが、ここでは、図１９、図２０に例を示す代表的な形態について述べる。
（１）イベントプレースの合成と分離
図１９（ａ）に示すように、複数のイベントプレースを合成することができる。ここで合成とは、複数のイベントプレースにそれぞれ属するエンティティを、一つのイベントプレース内のメンバーとして集めることを言う。典型的な例として、異なるサービス運営者間の業務提携に基づく、サービス統合（情報共有）が考えられる。
【００８３】
これは、イベントプレースに属する任意のエンティティ、もしくはイベントプレースに対して合成要求を行うことにより、合成要求先イベントプレース内のエンティティに対してシェアードリンクの確立要求が発行される。その結果、ＳＩ−ＳＷ間にシェアードリンクが確立され、両者の合成が実現される。なお、合成の要求元及び要求先は、それぞれ、エンティティでもイベントプレースでもどちらであってもかまわない。一方、分割する場合には、確立されているシェアードリンクを解除し、それぞれのイベントプレースに分離する。
【００８４】
（２）イベントプレースへの参加と退去
図１９（ｂ）に示すように、イベントプレース内のエンティティ、もしくは、イベントプレースに対してＪｏｉｎ（参加）要求を行うことにより、要求元エンティティにＳＩ−ＳＷが生成される。そして、要求先エンティティに対してシェアードリンクの確立要求が発行されることにより、ＳＩ−ＳＷ間にシェアードリンクが確立され、当該イベントプレースに参加することができる。
エンティティがイベントプレースから退去する場合には、上述と同様に、エンティティ間のシェアードリンクを解除し、さらに、シェアードリンクの再構築を行い、当該イベントプレースから退去する。このとき、退去したエンティティの状態は、サスペンド状態へと遷移する。
【００８５】
なお、イベントプレース側からエンティティに対してシェアードリンクの確立を要求することにより、当該エンティティをイベントプレース内に取り込むことも可能である。これを吸収という。その逆を分裂という。
（３）エンティティ（ＳＩ−ＳＷ）の増減設
図２０（ｃ）に示すように、イベントプレース内のエンティティ、もしくは、イベントプレースに対して、エンティティの増設要求を行うと、指定されたエンティティにＳＩ−ＳＷが新たに生成され、既存のＳＩ−ＳＷとの間にシェアードリンクが確立される。一方、イベントプレースにエンティティの減設要求を行うと、指定されたエンティティに対しシェアードリンクの解除要求が発行され、ＳＩ−ＳＷ間のシェアードリンクが解除された後、シェアードリンクの再確立が行われ、当該エンティティが削除される。このとき、エンティティの状態は、Ｎｏｎ−Ｅｘｉｓｔｅｎｔに遷移する。
【００８６】
（４）イベントプレース間のフェデレーション
図２０（ｄ）に示すように、イベントプレース内のエンティティ、もしくは、イベントプレースに対して、フェデレーション（連携）要求を行うことにより、イベントプレース間でイベントを転送するＳＩ−ＧＷが動的に生成され、セッションを介して両イベントプレースが連携する。なお、フェデレーションの要求元及び要求先は、それぞれ、エンティティでもイベントプレースでもどちらであってもかまわない。
【００８７】
＜エンティティのアドバタイズメント＞
図２１、図２２を参照し、エンティティのアドバタイズメント（公開）について説明する。ＳＩＯＮｅｔにおけるエンティティのアドバタイズメントには、以下の２つの観点がある。
観点１：エントランスのアドバタイズメント
観点２：エンティティプロパティのアドバタイズメント
以下、各々の観点について説明する。
観点１：エントランスのアドバタイズメント
ベースイベントプレースは、エンティティに取って、最適なイベントプレースをいもづる式に探索（ディスカバリ）するためのベース（起点）となるイベントプレースである。つまり、ベースイベントプレースがＳＩＯＮｅｔへのエントランス（入り口）となる。そのため、ベースイベントプレースに参加しているエンティティは、ＳＩＯＮｅｔのエントランスを公開することができる。ここで、エントランスの公開とは、シェアードリンクの確立要求先となるエンティティのエントリポイントとグローバルエンティティ名をアドバタイズすることを意味する。この公開情報は、後述するブロードキャストを用いた探索により発見される。
【００８８】
観点２：エンティティプロパティのアドバタイズメント
シェアードリンクで接続されている任意のエンティティグループ（ベースイベントプレースを含むすべてのイベントプレース）において、各エンティティは自身のエンティティプロパティをアドバタイズすることができる。これが前述したイベントパスの波及に相当する。この公開情報は、後述するディスカバリイベントの送出により発見される。
【００８９】
以下に、エンティティの公開、探索から、エンティティグループ形成までの流れを説明する。なお、以下では、ベースエンティティ、エンティティ１、エンティティ２、エンティティ３、エンティティ４、エンティティ５、エンティティ６はベースイベントプレースに属しており、エンティティ３、エンティティ１１、エンティティ１２、エンティティ１３はイベントプレースαに属しているものとして説明する。
【００９０】
▲１▼図２１に示すように、ＳＩＯＮｅｔソフトウェアをホストにインストールする。この時点でのエンティティの状態は、前述したように“Ｎｏｎ−Ｅｘｉｓｔｅｎｔ”である。説明の便宜上、このエンティティをエンティティＹとする。
▲２▼ＳＩＯＮｅｔソフトウェアを実行することにより、エンティティＹは“Ｎｏｎ−Ｅｘｉｓｔｅｎｔ”から“サスペンド”状態に遷移する。この状態のエンティティは、ＳＩＯＮｅｔからその存在がまだ認知されていない。
【００９１】
▲３▼“サスペンド”状態のエンティティＹは、ＳＩＯＮｅｔの構成要素としてネットワークに参加するために、ベースイベントプレースに属している他のエンティティのエントランス（エントリポイントとグローバルエンティティ名）を探索する。
具体的には、ブロードキャストにより、ベースイベントプレースに参加しているエンティティの中から、近傍のエンティティを探索する。ブロードキャストの方法は、実装に依存する。例えば、無線ネットワークで実装されている場合には、無線の到達範囲すべてのエンティティが探索の対象となる。一方、ＩＰネットワークで実装されている場合には、ＩＰブロードキャストもしくはＩＰマルチキャストを行うことになる。図２１では、ブロードキャストによる探索により、エンティティ１（エンティティ１のエントリポイントとグローバルエンティティ名）が発見されたことを表している。なお、ブロードキャストにより、近傍のエンティティを発見できない場合には、Ｗｅｌｌ−Ｋｎｏｗｎ（周知）のエンティティを利用することもできる。Ｗｅｌｌ−Ｋｎｏｗｎのエンティティをベースエンティティと呼ぶ。なお、ベースエンティティは、ベースイベントプレースを含むすべてのイベントプレース内に存在することができる。
【００９２】
▲４▼エンティティＹは、発見されたエンティティ１に対して、ベースイベントプレースへのＪｏｉｎ（参加）要求を行う。すなわち、エンティティＹは、エンティティ１のエントリポイントに対して、エンティティ１のグローバルエンティティ名をパラメータとしたＪｏｉｎ要求を行う。エンティティＹからのＪｏｉｎ要求を受けたエンティティ１は、自身の状態遷移が“アクティブ”であり、かつ、エントランスやエンティティプロパティが公開モードの場合のみ、当該Ｊｏｉｎ要求を受け付ける。なお、エンティティＹは、最大Ｊｏｉｎ数を超えてＪｏｉｎ要求を発行することはできない。この最大Ｊｏｉｎ数は、エンティティＹのコントロールパネルで、エンティティＹの所有者等が設定可能である。エンティティ１がエンティティＹのＪｏｉｎ要求を受け付けると、上述と同様の動作により、エンティティＹ及びエンティティ１のＳＩ−ＳＷ間にシェアードリンクが確立される。これにより、エンティティＹは、ベースイベントプレース内のネットワーク構成要素として自己組織化される。このとき、エンティティＹは、“サスペンド”状態から“アクティブ”状態へと遷移する。
【００９３】
ベースイベントプレースにＪｏｉｎしたエンティティＹは、エントランスの公開が可能になる。また、エンティティプロパティをアドバタイズすることもできる。エンティティプロパティには、グローバルエンティティ名（及びエントリポイント）、ニックネーム、グループ名、アライブ（存在だけの表明であり、シェアードリンクの確立先情報となるエントリポイントとグローバルエンティティ名は公開しない、エンティティが非公開モードの場合でも公開の対象）、ディスクリプション（エンティティの説明文）、属性などがある。属性には、プラグインされているＳＥ情報、イベントパス多重度、イベントプレース情報などがある。なお、エンティティプロパティの記述言語としては、ＸＭＬなどがある。
【００９４】
図２１において、例えばエンティティ３のエンティティ制御部は、エンティティ３が同時に参加しているイベントプレースαをエンティティプロパティの属性として公開することができる。さらに、エンティティ制御部は、現在Ｊｏｉｎしているイベントプレースばかりでなく、過去にＪｏｉｎしたイベントプレースのイベントプレース情報を公開することもできる。このイベントプレース情報とは、例えば、イベントプレースのディスクリプション（イベントプレースの説明文、説明情報）や、当該イベントプレースに参加する際にシェアードリンクを確立したエンティティ（意味情報スイッチ）のグローバルエンティティ名（イベントプレース名＋エンティティ名、コネクション確立情報）、エントリポイント（エントリポイント情報）などである。この、過去にＪｏｉｎしたイベントプレース情報をエンティティが保持できる数は任意とし、例えば、コントロールパネルによりエンティティ所有者等が設定できるものとする。この公開されたイベントプレース情報を取得したエンティティは、当該イベントプレース情報をコントロールパネル等により出力することで当該エンティティ所有者に提示する。これにより、エンティティ所有者は、他のイベントプレースの存在を認識することが出来る。
ＳＩＯＮｅｔでは、どこにどのようなイベントプレースがあり当該イベントプレースではどのようなサービスを提供しているか、というようなイベントプレース情報を集中管理する機能がないので、イベントプレース情報を取得しようとする場合、他のエンティティのエンティティプロパティからイベントプレース情報を取得する必要がある。現在参加しているイベントプレースのみならず、過去に参加したイベントプレース情報を公開することにより、イベントプレース情報を取得する機会が増え、自身の求めるサービスを提供するイベントプレースに参加できる確立が高くなる。
【００９５】
エンティティＹのエントランスの公開時には、これらのエンティティプロパティを、エンティティ内の意味情報スイッチにフィルタとして登録することにより、エンティティプロパティがシェアードリンクに基づいて他のエンティティに波及し、イベントパスが確立される。基本的には、イベントパスの確立要求がイベントプレース内のすべてのエンティティに対して波及するが、ＴＴＬ値で、イベントパス確立要求の波及範囲を制限することができる。なお、グローバルエンティティ名はマルチホップ型ユニキャスト通信時の識別子として、グループ名はマルチホップ型マルチキャスト通信時の識別子として、属性はマルチホップ型属性付きマルチキャスト通信時の識別子として用いられる。例えば、マルチホップ型ユニキャスト通信の代表例として、イベント受信エンティティからイベント送信元エンティティへのリプライ通知がある。
【００９６】
すなわち、グローバルエンティティ名はマルチホップ型ユニキャスト通信とは、グローバルエンティティ名で特定されるエンティティのＳＩ−ＳＷからｎホップのイベントを送信する通信方式である。また、マルチホップ型マルチキャスト通信とは、グループ名で特定されるグループに属するエンティティのＳＩ−ＳＷにｎホップのイベントを送信する通信方式である。また、マルチホップ型属性付きマルチキャスト通信とは、自身と同様の属性のエンティティのＳＩ−ＳＷにｎホップのイベントを送信する通信方式である。また、マルチホップ型ブロードキャスト通信とは、任意のエンティティのＳＩ−ＳＷにｎホップのイベントを送信する通信方式である。
【００９７】
▲５▼図２２において、ベースイベントプレースに参加したエンティティＹは、「自身が参加したいイベントプレース」を探索するためのディスカバリイベントを送出することにより、「自身のニーズに合致するエンティティプロパティ」を公開しているエンティティを探索する。このディスカバリイベントは、ＳＩＯＮｅｔの制御のために用いられるイベントであり、ＳＥが送出するイベントと同等のものである。ディスカバリイベントとは、ＮＥを発火させるためのイベントであり、イベントの意味情報部には、エンティティプロパティとの照合条件が設定される。すなわち、ＳＩＯＮｅｔにおける新たな機能追加とは、新たな語彙概念と語彙を規定することを意味する（仕組みの追加ではなく、連鎖反応条件の追加）。これにより、単一な仕組み（連鎖反応）だけで、様々な機能追加を可能にしている。
【００９８】
ここでは、探索の結果、エンティティ３が発見されたものとする。上述したように、エンティティ３は、ベースイベントプレースと同時にイベントプレースαに参加している。エンティティ３を発見したことにより、エンティティＹはイベントプレースαの存在を知ることができる。
▲６▼エンティティＹは、エンティティ３に対してイベントプレースαへのＪｏｉｎ要求を発行し、イベントプレースαに参加する。なお、エンティティ３は、前述したように、自身の状態遷移が”アクティブ”であり、かつ、公開モードのときに、Ｊｏｉｎ要求（シェアードリンクの確立要求）を受け付ける。
【００９９】
▲７▼さらに、エンティティＹは、イベントプレースαにおいて、同様の探索のためのイベントを送出することができる。これにより、自身のニーズに合致する新たなエンティティを発見することができる。例えば、ここでは、エンティティ１２が発見されたものとする。すなわち、エンティティＹは、ベースイベントプレースにおいて発見することができなかったエンティティ１２を、エンティティ３を介して発見できるということを意味している。このような操作を繰り返すことにより、自身のニーズに合致したイベントプレースに、次第にたどり着くことが可能になる。
【０１００】
ここで示したアドバタイズメント方式は以下の効果がある。
（１）エンティティの公開情報を管理するブローカ（管理部）が存在しないため、耐障害性に強い自己組織化ネットワークを低コストで構築することができる。また、膨大な数の公開情報（エントリポイントやエンティティプロパティ）をブローカで管理することは現実的でない。
（２）エンティティに取って相応しいイベントプレースを、芋づる式に絞り込むことができるので、効率的に所望のイベントプレースを探索することができる。例えば、連鎖反応の波及範囲（ディスカバリイベントのホップ数、及び、エンティティプロパティのためのイベントパス設定要求の波及範囲）がＴＴＬ値で制限されたとしても、上述のように、エンティティ３経由でエンティティ１２を発見し、その結果、エンティティ１２が同時に属している別のイベントプレースを発見することができる。なお、連鎖反応の波及範囲を制限することにより、ネットワークトラフィック（イベントの転送回数、イベントパス設定要求の転送回数）を軽減することができる。
【０１０１】
なお、自身は情報を提供することなく（例えば、エンティティプロパティを公開することなく）、他のエンティティからの情報提供を受けるだけのエンティティは、ペナルティーとして、強制的にシェアードリンクが解除され、一定条件を満足しない限り、再度イベントプレースに参加できないようにすることもできる。
【０１０２】
＜ＳＥの共有方法（自動配信）＞
以下に、ゲームイベントプレースにおけるＳＥ（ゲームアプリケーションプログラム）の共有を例に、ＳＥの共有方法の仕組みを示す。
（１）ゲームイベントプレースの運営者であるエンティティ２の所有者はエンティティ２のコントロールパネルを介してイベントプレース名を付与する。なお、ここで付与されたイベントプレース名は「ゲーム」であるものとして説明する。
【０１０３】
（２）エンティティ２のエンティティ制御部は、上述と同様に、ＮＥファクトリにより生成されたＳＩ−ＳＷに対してグローバルエンティティ名「ゲーム＋エンティティ２」を付与する。これにより、イベントプレースが生成される。このとき、ゲームイベントプレースの生成者であるエンティティ２は、イベントプレース生成時に当該イベントプレースに自動的に参加する。
（３）エンティティ２の所有者は、当該エンティティ２のコントロールパネルに対して、ゲームアプリケーションプログラム（ＳＥ）のプラグインを指示する。このとき、プラグインするアプリケーションの実行ファイル名、及び、ＳＥ共有の有無をパラメータとして与える。
【０１０４】
（４）エンティティ２のコントロールパネルはこの旨をエンティティ制御部に通知する。
（５）エンティティ２のエンティティ制御部は、プラグインする実行ファイル名を記憶するとともに、与えられた実行ファイル名を用いてアプリケーション（ＳＥ）を起動し、上述と同様に、ＳＩ−ＳＷとアプリケーション間にセッションを確立する。すなわち、ＳＩＯＮｅｔにおけるプラグインとは、アプリケーションとＳＩ−ＳＷとの間にセッションを確立することを意味する。
【０１０５】
（６）エンティティ２のエンティティ制御部は、エンティティ２のエンティティプロパティをアドバタイズ（公開）する。エンティティ２のエンティティプロパティの公開形態としては、例えば、以下のものがある。
・エンティティ２がベースイベントプレースに参加し、ベースイベントプレース内で、エンティティ２のエンティティプロパティを公開する。
・エンティティ２が、芋づる式探索を行うことにより、ゲームイベントプレースと関係の深いイベントプレースを発見、参加し、当該イベントプレース内で、エンティティ２のエンティティプロパティを公開する。
・エンティティ２をベースエンティティとする。すなわち、エンティティ２のエンティティプロパティ（エントリポイントとグローバルエンティティ名）を周知する。
【０１０６】
（７）エンティティ２の存在を知ったエンティティ１が、エンティティ２に対して、ゲームイベントプレースへの参加を要求する。
（８）この要求が承認された場合、エンティティ１は、エンティティ２に対して、シェアードリンクの確立を要求する。そして、上述と同様に、エンティティ１とエンティティ２の間にシェアードリンクが確立する。
（９）シェアードリンクが確立された場合、シェアードリンクの確立要求先（エンティティ２）は確立要求元（エンティティ１）に対して、当該イベントプレース内でイベントの送受信に必要な情報を返却する。具体的には、例えば、イベントプレース名（グローバルエンティティ名）、参加したイベントプレースがベースイベントプレースであるか否か、当該イベントプレースにおけるイベント転送方式（ルーティング方式）、イベントプレースのディスクリプション、プラグインされているＳＥ情報（ＳＥ共有が有りの場合）等である。
【０１０７】
ＳＥ共有を共有する場合にシェアードリンク確立要求元に返却するＳＥ情報とは、具体的には、例えば、上述したプラグインするアプリケーションの実行ファイル名や当該アプリケーションのファイル等である。
（１０）当該ファイルを受けたエンティティ１のエンティティ制御部は、上述と同様に、与えられた実行ファイル名を用いてアプリケーションを起動し、エンティティ１内のＳＩ−ＳＷとアプリケーションとの間にセッションを確立する。これにより、エンティティ１内部に、ゲームアプリケーションプログラムをＳＥとしてプラグインする。
【０１０８】
すなわち、イベントプレースへの参加とは、シェアードリンクにより結合されたエンティティグループを形成し、プラグイン済みのアプリケーションプログラムを参加者が共有することを意味する。これにより、イベントプレースに参加するだけで、当該イベントプレース内のメンバーであるエンティティが、プラグインされているアプリケーションを、自動的に利用することが可能になる。なお、エンティティ１がゲームイベントプレースから退去するとき、プラグインされたゲームアプリケーションプログラムは、プラグアウトされる。なおその際、エンティティ１は、受信した当該ファイルを保有しつづけることもできるし、プラグアウト時に、当該ファイルが削除されることもある。
【０１０９】
上述した動作は、ピュア型のＰ２Ｐネットワーク環境でのアプリケーション共有である。そのため、アプリケーションプログラムの配信は、シェアードリンク確立先エンティティと確立元エンティティの２者間でのみ行われるため、シェアードリンクにより既に結合されている他のエンティティに対して影響を与えない。
すなわち、ファイル転送のため処理は２者間に局所化されるため、スケーラブルなＳＥ共有を達成することができる。
【０１１０】
＜ビジネスモデル＞
ここで、上述したＳＩＯＮｅｔを、サービスとして提供する実施例を説明する。
（１）クライアントサーバモデル
予め決められたエンティティのみでイベントプレースを運営する形態である。すなわち、予め決められたエンティティのみが当該イベントプレースに参加（Ｊｏｉｎ）することが可能であり、参加を許されたエンティティは、エンティティ間のシェアードリンクを確立することにより、エンティティグループを構成する。一方、それ以外のエンティティは当該エンティティグループに対してセッションを確立し、当該セッションを介したイベントの送受信を行う。すなわち、イベントプレース（予め定められたエンティティのグループ）がサーバであり、その以外のエンティティがクライアントに相当する。このビジネスモデルでは、エンティティグループのメンバーである各エンティティは、自律分散コンピュータとして振舞い、任意のエンティティが障害に陥った際には、残されたエンティティが自己組織化しイベントプレースの運営を継続する。また、サーバの処理能力向上を図りたい場合には、新たなエンティティを当該イベントプレースに参加させれば良い。そのため、従来のサーバ実現方式と比べて、耐故障性に強く、安価で、スケーラブルなサーバを実現することができる。
【０１１１】
（２）ハイブリッドモデル
例えば、ゲームイベントプレースの運営者となるエンティティは、ゲームイベントプレースを生成し、当該イベントプレース内でのベースエンティティとなる。一方、ゲームイベントプレースのユーザとして位置付けられるエンティティは、当該イベントプレースに参加することにより、当該イベントプレースでのサービスを享受する。従来のクライアントサーバモデルでは、ユーザ数の増加に比例して新たな設備投資（ＣＰＵパワー、ストレージ、通信帯域など）が必要とされたが、本ビジネスモデルは、ユーザがイベントプレースに参加することにより、ユーザ自身のエンティティをサービス運営のために提供するため、イベントプレース運営者は新たな設備投資を必要としない。そのため、安価で、スケーラブルなＰ２Ｐサ−ビス環境を構築できる。なお、ベースエンティティにおいて、当該イベントプレースに参加するユーザ（エンティティ）の認証、課金が可能である。また、ベースエンティティは、ディスカバリイベントを送出することにより、エンティティグループの中から、シェアードリンクの確立が可能なエンティティ（代替エンティティ）を発見し、発見されたエンティティを参加希望のエンティティに対し通知し、両者の間でシェアードリンクを確立させることも可能である。
【０１１２】
（３）ピュアモデル
すべてのエンティティが自由にイベントプレースに対して参加（退去）することが可能なビジネスモデルである。
上述したように、ＳＩＯＮｅｔでは、運営・配置問題に帰着することにより、様々なビジネスモデルを共通の仕組みで実現できる。そのため、開発工数、規模、デバッグ効率、維持管理の容易性等に大きな効果を与える。
【０１１３】
なお、上述したように、“サスペンド”状態のエンティティは、エントランスやエンティティプロパティを公開することはできない。“サスペンド”状態のエンティティは、任意のイベントプレースにＪｏｉｎすることにより“アクティブ”状態に遷移する。“アクティブ”状態のエンティティのみが、エントランスやエンティティプロパティを公開することが可能である。また、ベースイベントプレースにＪｏｉｎしているエンティティのみがエントランスの公開が可能である。「コントロールパネルにより、公開が指示されている」かつ「当該エンティティに対するセッション（シェアードリンク）の確立数がデフォルト値を超えていない」を満足するとき、エンティティはエントランスやエンティティプロパティを実際に公開できる。例えば、エンティティの所有者がコントロールパネルを用いて公開を指示しても、デフォルト値を超えてシェアードリンクが確立している場合には、自動的に非公開モードとなる。なお、デフォルト値は、コントロールパネルで設定可能であり、例えば、エンティティの所有者が、当該エンティティの能力等により設定することができる。
【０１１４】
なお、ネットワークエンティティ、ネットワークエンティティファクトリ、エンティティ制御部、コントロールパネル、サービスエンティティ、意味情報スイッチ、意味情報ルータ、意味情報ゲートウェイは専用のハードウェアにより実現されるものであってもよく、また、メモリ及びＣＰＵ（中央演算装置）により構成され、その機能を実現するためのプログラムをメモリにロードして実行することによりその機能を実現させるものであってもよい。
【０１１５】
また、ネットワークエンティティ、ネットワークエンティティファクトリ、エンティティ制御部、コントロールパネル、サービスエンティティ、意味情報スイッチ、意味情報ルータ、意味情報ゲートウェイの機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより実現させてもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
【０１１６】
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【０１１７】
［この発明の実施形態］
以下、本発明の一実施形態について説明する。
ＳＩＯＮｅｔにおけるイベントプレースの合成・連合・参加・吸収などの自己組織化操作、芋づる式探索、連鎖反応の波及範囲制御（ＴＴＬ値の設定、イベントパス設定要求の波及範囲）、イベントパス多重度の高いエンティティへのシェアードリンク再確立（代替エンティティの探索）など、エンティティのオーナー（ユーザ）がコントロールパネルを介して指示していた機能項目を自動化することにより、コンパネレス（コントロールパネルからのユーザの入力が不要であること）が実現される。また、エンティティは、負荷状況、トポロジーに応じたエンティティの増設、撤収、マイグレーション等の自動化制御、統計情報の自動収集、人気の高い情報や流行している情報の自動収集などを行う。
また、ユーザの代理人としてユーザの嗜好や状況を把握するとともに、異なるサービス間でのユーザ嗜好を共有可能なユーザエージェント（ＵＡ）、コンテンツ提供者の代理人であるコンテンツエージェント（ＣＡ）、サービス提供者の代理人であるサービスエージェント（ＳＡ）などのマルチエージェントが、サービスエンティティとしてエンティティ内にプラグインされる。これらが、ユーザのフィルタ登録履歴、イベント送出履歴、利用したサービス履歴などを基に、エンティティの振る舞いを動的に決定する。これは、嗜好把握技術、思考、振る舞い、価値観、感性、感情の把握・ネゴシエーション・決定技術であり、さらに、エンティティのポリシーに基づく、コミュニティの自動構築、コミュニティ間のコミュニティコラボレーションを実現する。また、自由語彙でのコミュニケーションやＳＩ−ＧＷにおけるオントロジー自動変換やオーナーからの指示を不要（コンパネレス）にするためのエンティティの完全自動化、インテリジェントディスカバリなどを行う。
【０１１８】
ここでは、自動化制御の例として、芋づる式探索の自動化方法について提案する。図１は、本発明の一実施の形態による芋づる式探索の自動化制御を説明するための図である。芋づる式探索においては、エンティティが同時に所属しているイベントプレース情報を、いかに適切なイベントプレースに対して公開できるか、すなわち、有機的かつ効率的な芋づる式探索網の動的な構築が、芋づる式探索の探索精度を決定する主要因になる。ＳＩＯＮｅｔにおいては、エンティティによるイベントプレース情報の公開契機として以下のものがある。
【０１１９】
（１）  あるエンティティが、自身の生成したイベントプレースや自身がメンバーとして所属しているイベントプレースを積極的に紹介したい場合、紹介先イベントプレースのメンバーになることにより、生成イベントプレース（自身が生成したイベントプレース）のプロパティ情報を他のイベントプレースに対して公開する。例えば、図１において、イベントプレースＤのメンバーであるエンティティ４が、同時にイベントプレースＣのメンバーになることによって、イベントプレースＣに対してイベントプレースＤの紹介情報をプロパティ公開している様子を表している（▲１▼）。一般的に、イベントパス多重度の高いイベントプレース、トラストの高いイベントプレース、インセンティブの高いイベントプレースなど、同好のイベントプレースが紹介先イベントプレースとして選定される。
（２）  例えば、「野球」と「映画」の両方の情報を希望するエンティティは、「野球イベントプレース」と「映画イベントプレース」の二つのイベントプレースに同時に所属する。このとき、同時に所属しているイベントプレース情報として、「野球イベントプレース」には「映画イベントプレース」のプロパティ情報が公開されることになる。一方、「映画イベントプレース」には、「野球イベントプレース」のプロパティ情報が公開されることになる。
（３）  上記のように、同時に複数のイベントプレースに属するエンティティを介したイベントプレースの芋づる式探索の結果、所望のイベントプレースを発見したエンティティは、後続する他エンティティの芋づる式探索にボランティアとして貢献するために、芋づる式探索経路を確立することが義務づけられる。例えば、イベントプレースＡに属するエンティティ１が、プロパティのディスカバリを行うことにより、イベントプレースＢおよびイベントプレースＣを経由して、イベントプレースＤを発見し、ここに滞在するものとする（▲２▼）。このとき、エンティティ１は、自身の通過イベントプレースの中から任意選択されたイベントプレースにも所属することにより、当該イベントプレースに対してイベントプレースＤのプロパティ情報を公開する。これは、たとえば、イベントプレースＡ、Ｂ及びＥに属するエンティティ２が退去することに伴う芋づる式探索経路の喪失防止、および、イベントプレースＤに対するショートカットルートの確立を目的としたものである。後者の典型例としては、新たにイベントプレースＤのメンバーとなったエンティティ１が、イベントプレースＡやイベントプレースＢなどの探索経路イベントプレースに対して、エンティティ１の仮身エンティティを参加させ、仮身エンティティがイベントプレースＤのプロパティ情報を公開する。これにより、イベントプレースＣを経由しなくても、もしくは、エンティティ３が退去しても、イベントプレースＡからダイレクトにイベントプレースＤを発見することが可能になる。なお、仮身エンティティとは、ユーザがエンティティに対して操作（入力）することにより明示的に参加しているイベントプレース以外のイベントプレースに同時に属しているエンティティを指す。
なお、契機（１）および（３）においては、プロパティとして公開される「同時に所属しているイベントプレース情報」のライフタイム管理が行われる。たとえば、エンティティ１にイベントプレースＤを紹介した、イベントプレースＣに属するエンティティ４に対して貢献ポイントが払い出される（▲３▼）。そして、貢献ポイントが閾値（下限値）を下回らない限り、エンティティ４は、イベントプレースＣにおいて、イベントプレース情報の公開を継続する。また、貢献ポイントが閾値を下回った場合には、エンティティ４が過去に通過したイベントプレースの中から次の公開先を選択する（▲４▼）。この考え方は、イベントプレースＡにおいて、イベントプレースＤのイベントプレース情報を公開しているエンティティ１に対しても適用される。このように、本機能は、芋づる式探索を行う際に重要なファクタとなる、同時所属イベントプレース情報の公開先イベントプレースを自動的に決定し、当該イベントプレースでの情報公開を行うことにより、効率的な芋づる式探索を実現する。
【０１２０】
そして、貢献ポイントが閾値を（上限値）を上回る場合には、エンティティ４は公開先のイベントプレースを追加する（▲５▼）。また、▲４▼に記載したように、貢献ポイントが閾値を下回り、エンティティ４が過去に通過したイベントプレースの中から次の公開先、例えばイベントプレースＢを選択した場合には、イベントプレースＣを退去し、イベントプレースＢに参加して、プロパティを公開する（▲６▼）。
一方、エンティティ１の探索経路（通過経路）においては、エンティティ１の分身（仮身）がイベントプレースＤを公開する（▲７▼）。
【０１２１】
芋づる式探索の目的を達成するため、コミュニティを遷移するメンバーの経歴情報とその経歴情報に従って、遷移後のコミュニティへの呼び込み広告と、広告による効果を評価して複数の広告が自然淘汰される手段により、ユーザの嗜好に基づくコミュニティの発見や必要なサービスを備えるコミュニティの発見に至るプロセスの一部または全てを自動化し、探索できることを特徴とする。なお、コミュニティとは、趣味嗜好・利害・地域などを同じくする、または複数のメンバーを組み合わせてサービスや機能を実現する人または物の集合体であり、ここではイベントプレースであるとする。従来の技術とは、本発明がコミュニティを遷移するメンバーの経歴情報を利用する点、コミュニティへの呼び込み広告とその広告が自然淘汰させるための評価を行う点が特に異なる。
【０１２２】
図２５は、一実施の形態によるエンティティの構成図を示す。
ユーザインタフェース部は、ユーザにより探索のためのメイン画面から探索開始指示を受け付け、実行制御部を起動する。
実行制御部は、同好探索処理の指示、および発見した同好群が広告するコミュニティへと移動する処理を再帰的に繰り返す。これらの処理を行うためのルーチンとして、本制御部は同好探索部およびコミュニティ評価部を呼び出す。
同好探索部は、ユーザが入力した探索キーワードを所望として扱い、所望一致の判定は、エンティティが参加するコミュニティの説明文に対する文字列比較（部分一致検索）により行う、あるいは、ユーザの所望を解析した上で、その所望情報と一致する（または類似する）エンティティを発見することで判定が可能である。
コミュニティ評価部は、始めに同好探索部が発見したエンティティ群に対してコミュニティの紹介要求を行う。次に、それらのエンティティから紹介されたコミュニティに対して評価（点数付け）を行う。この時、紹介元エンティティから返されたコミュニティ評価点のみをもって、当該コミュニティの評価値とすることで評価が可能である。
【０１２３】
一方、広告制御部は、自身の参加しているコミュニティの広告を行うとともに、自身の参加しているコミュニティの評価を行うために、コミュニティ評価テーブルを保持する。本テーブル内の評価値は、紹介を行った際のコミュニティ評価部による評価（コミュニティ評価点）と、過去にコミュニティを紹介したエンティティからの紹介先でのユーザ満足度（例えば、滞在時間に基づく得点）をフィードバック制御部からフィードバックしてもらう（またはもらえない）ことによって常に変動する。コミュニティ評価テーブルに紹介すべきコミュニティがなくなると、現在行っている広告を中断し、別のコミュニティに移動して再度広告を開始する。
【０１２４】
フィードバック制御部は、ユーザ満足度に基づくコミュニティ評価の通知を行う。本制御部は、自動探索によるコミュニティへの参加実施後にセッション管理部より呼び出され、当該コミュニティの紹介元エンティティに対するユーザ満足度（例えば、滞在時間に基づく得点）を広告制御部にフィードバックすることが可能である。
したがって、本発明の目的である、ユーザの嗜好に基づくコミュニティの発見や必要なサービスを備えるコミュニティの発見に至るプロセスの一部または全てを自動化し、探索できる。
【０１２５】
さらに、セッション管理部が意味情報ネットワークとのセッションを管理し、各機能ブロックからの状態更新通知や問い合わせを受け付けることにより、参加しているセッションの管理やナビゲート情報など、セッションに関連する最新の情報を保持・提供することが可能である。
イベント解析部は、意味情報ネットワークからのイベント受信およびそのディスパッチを行い、受信したイベントからリクエストＩＤを抽出し、登録されているリスナを呼び出す。また、意味情報ネットワークによりセッション強制削除通知を受け取る。
意味情報ネットワーク（ＳＩＯＮｅｔ）インタフェース部（意味情報ネットワークアクセス手段）は、意味情報ネットワークが提供する基本的なオペレーションのほか、それらを組み合わせた定型的なオペレーション（セッション確立、参加、広告開始など）を他の機能ブロックに対し隠蔽する役割を持つ。したがって、本発明の目的である、ユーザの嗜好に基づくコミュニティの発見や必要なサービスを備えるコミュニティの発見に至るプロセスの一部または全てを自動化し、探索できる機能を意味情報ネットワーク上に実現することが可能である。
【０１２６】
図２６は、一実施の形態によるコミュニティ探索の動作例である。
図２６において、コミュニティ：Ａ上から、エンティティ：Ｍが探索を開始する。なお、探索を行うエンティティ：Ｍ以外のエンティティは、全て同時ＥＰ（イベントプレース）情報（コミュニティの情報）を広告しているとする。そして、コミュニティ：Ａ上にも他に広告を行っているエンティティが存在し、そのうちエンティティ：Ｎとエンティティ：Ｏにおいて、探索キーワードと自身に設定されているディスクプリションとが一致して発火する。これにより、エンティティ：Ｎとエンティティ：Ｏは、それぞれ探索キーワードに一致するコミュニティ：Ｂとコミュニティ：Ｃを紹介する。エンティティ：Ｍはこれら紹介されたコミュニティの評価点が、コミュニティ評価閾値より高ければ参加候補とする。この場合、エンティティ：Ｍはユーザの意思による参加であるため退去はしない。そして、さらに、エンティティ：Ｍは参加候補として紹介されたコミュニティ：Ｂとコミュニティ：Ｃへ「探索の為の参加」を行い、探索を続ける。
【０１２７】
コミュニティ：Ｂでは、エンティティ：Ｎとエンティティ：Ｑにおいて探索キーワードと自身に設定されているディスクプリションとが一致して発火する。これにより、エンティティ：Ｎ及びエンティティ：Ｑは、それぞれ探索キーワードに一致するコミュニティ：Ａとコミュニティ：Ｅを紹介する。ここで、エンティティ：Ｍは紹介されたコミュニティの評価点がコミュニティ評価閾値より高ければ参加候補とするが、コミュニティ：Ａはすでに通過しているため除外する。そして、さらにコミュニティ：Ｅに対して「探索の為の参加」を行い、コミュニティ：Ｂから退去する。
【０１２８】
一方、コミュニティ：Ｃでは、エンティティ：Ｏ、エンティティ：Ｒ、エンティティ：Ｓが発火し、それぞれ探索キーワードに一致するコミュニティ：Ａ、コミュニティ：Ｆ、コミュニティ：Ｇを紹介する。エンティティ：Ｍは、紹介されたコミュニティの評価点がコミュニティ評価閾値より高ければ参加候補とするが、コミュニティ：Ａはすでに通過しているため除外する。また、コミュニティ：Ｆとコミュニティ：Ｇは、エンティティ：Ｍの評価閾値を下回るため参加候補としない。このとき「探索の為の参加」は評価閾値を下回る評価点の中でもっとも高い評価点のコミュニティへ移動を行うものとし、ここではコミュニティ：Ｇへ「探索の為の参加」を行い、探索を続ける。
この工程を繰り返すことにより、参加候補最大数あるいは自動探索タイムアウト値に達するまで参加候補を探索し記録、利用者に候補として提示する。
探索開始時は、これらの作業を全ての参加しているコミュニティから同時に実施する。
【０１２９】
表１は、エンティティが保有するチューニングパラメータの一覧であるチューンナップパラメータ表であり、コミュニティの探索やコミュニティの評価等に使用される各種条件（パラメータ項目とその有効値及びデフォルト値等）を規定している。これらのチューニングパラメータの設定値は、外部ファイルにより定義されうるが、外部ファイルが存在しない場合には、デフォルト値が使用される。なお、項番は、レコードを指定するために便宜上使用される値である。また、説明の欄は、各パラメータ項目の使用用途や使用方法等を示す。
【表１】
2004318594.tif 000003
【０１３０】
図２７は、一実施の形態によるコミュニティの自動探索の概要フローを示す図である。
まず、ユーザは、探索元エンティティの表示する探索を行うためのメイン画面上に、探索キーワード（探索情報）を入力し（ステップＳ１００）、探索開始ボタンをクリックする（ステップＳ１１０）。これにより、探索元エンティティは、後述する参加候補コミュニティ探索処理を実施する（ステップＳ１２０）。この参加候補コミュニティ探索処理は、初回の場合、探索を開始した時点で自身が参加しているコミュニティの全てを対象とし、参加候補最大数、もしくは、自動探索タイムアウト値を満たすまで実施される。
【０１３１】
このコミュニティ探索処理の結果、参加候補コミュニティがあった場合（ステップＳ１３０ｙｅｓ）、探索元エンティティは、コントロールパネルにより参加候補のコミュニティと、その評価とを表示する（ステップＳ１４０）。なお、ＳＩＯＮｅｔにおけるイベントプレース参加最大数の設定値により、ユーザが選択可能なコミュニティの参加数は制限されて表示される。
一方、コミュニティ探索処理の結果、参加候補がなかった場合（ステップＳ１３０ｎｏ）、探索の結果参加候補が発見できなかった旨をエンティティのダイアログに表示する（ステップＳ１５０）。
【０１３２】
図２８は、一実施の形態による参加候補コミュニティ探索処理の概要フローを示す図である。
まず、探索元エンティティは、現在自身が属しているコミュニティを通過履歴に追加する（ステップＳ２００）。このとき、引き継がれた通過履歴がある場合には、その履歴に現在のコミュニティを追加するが、引き継がれた通過履歴がない場合には、通過履歴を新規に追加する。
続いて、探索元エンティティは、同好（同じあるいは類似の属性を持つエンティティ）の探索処理を実行する（ステップＳ２１０）。同好の探索は、入力された探索キーワードと、エンティティが公開しているコミュニティの説明との文字列を比較することにより行う。これは、同好最大数、もしくは、オペレーション複数応答タイムアウト値を満たすまで実施される。
【０１３３】
同好が発見できた場合（ステップＳ２２０ｙｅｓ）、探索元エンティティは、発見した同好数分だけコミュニティ紹介要求処理を実施する（ステップＳ２３０）。これは、発見した同好に対して、コミュニティを紹介してもらうための処理であり、これにより、同好が参加しているコミュニティの探索キーワードに対する評価（コミュニティ評価）を取得する。そして、このコミュニティ評価値を基に参加候補となるコミュニティを判断してこの処理の呼び出し元に対して通知することにより、次探索候補コミュニティがあるか否かが判断される（ステップＳ２４０）。なお、この次探索候補のコミュニティは、コミュニティ評価がコミュニティ評価閾値を超えるコミュニティ全てを対象とする。あるいは、全てがコミュニティ評価閾値を超えなかった場合は、そのうち、コミュニティ評価が最大のものを対象とする。ただし、取得した全ての評価が「０」の場合、次探索候補のコミュニティはなしとなる。
次探索候補コミュニティがある場合、続いて探索元エンティティは、参加候補最大数に達した、もしくは、自動探索タイマー値を満たしたかにより、処理を継続か否かを判断する（ステップＳ２５０）。処理を継続する場合には、次探索候補数分だけ次探索候補のコミュニティに参加する（ステップＳ２６０）。そして、この参加したコミュニティに対して「参加候補コミュニティ探索処理」を次探索候補数分だけ実施する（ステップＳ２７０）。そして、探索元エンティティは、現在属しているコミュニティが、探索の為に参加していたコミュニティである場合には、そのコミュニティから退去する（ステップＳ２８０）。
なお、ステップＳ２２０において、同好を発見できない場合、ステップＳ２４０において、自探索候補コミュニティがない場合、あるいは、ステップＳ２５０において、処理を継続しない場合には、ステップＳ２８０のコミュニティからの退去を行う。
【０１３４】
図２９〜図３３は、一実施の形態によるコミュニティ自動探索の機能部間詳細シーケンス図である。
図２９において、ユーザは、エンティティのコントロールパネルに表示されている同好探索のためのアイコンをダブルクリックする（ステップＳ３００）。これにより、イベント解析部は同好検索のための画面表示イベントを受信し（ステップＳ３０１）、ユーザインタフェース部に探索のための画面表示を指示する（ステップＳ３０２）。ユーザインタフェース部は、探索のための画面表示に対する受付応答を返送し（ステップＳ３０３）、メイン画面を表示する。
【０１３５】
続いてユーザは、メイン画面に探索情報（探索キーワード）を設定し、ＳＴＡＲＴ（探索開始）ボタンをクリックして探索開始を要求する（ステップＳ３０４）。すると、ユーザインタフェース部は、セッション管理部から自身の属するイベントプレースのＥＰ情報のリストを取得する（ステップＳ３０５、ステップＳ３０６）。続いて、ユーザインタフェース部は、セッション管理部へ探索開始を通知する（ステップＳ３０７）。セッション管理部は、参加候補ＥＰリストを初期化するとともに、受け付け応答を返送する（ステップＳ３０８）。ユーザインタフェース部は、受付応答を受信すると、探索時間の測定を開始し、自身の属するＥＰ数分のスレッドを起動して、該イベントプレースにおける芋づる探索処理を実行する（ステップＳ３０９）。
【０１３６】
芋づる探索処理において、ユーザインタフェース部は、実行制御部を起動し、探索元ＥＰ−ＩＤ及び探索キーワードを受け渡す（ステップＳ３１０）。これにより、実行制御部は、同好探索処理を実行する（ステップＳ３１１）。
【０１３７】
図３０に示す同好探索処理において、実行制御部は、同好探索部へ探索元ＥＰ−ＩＤ及び探索キーワードを受け渡し、同好探索を要求する（ステップＳ３２０）。同好探索部は、ＳＩＯＮｅｔインタフェース部へ探索元ＥＰ−ＩＤ及び探索キーワードを受け渡して同好探索を指示すると（ステップＳ３２１）、探索の結果として同好のエンティティのグローバルエンティティ名（Ｇｌｏｂａｌ  Ｅｎｔｉｔｙ  Ｎａｍｅ）のリストが返送される（ステップＳ３２２）。実行制御部は、同好探索部からグローバルエンティティ名のリストを受信し（ステップＳ３２３）、このリストがＮｕｌｌ、すなわち、同好が見つからなかった場合には、後述する探索結果表示処理を行う（ステップＳ３２４）。一方、グローバルエンティティ名のリストがＮｕｌｌではない、すなわち、同好のエンティティが見つかった場合には、以下に示すコミュニティ紹介要求処理を実行する（ステップＳ３２５）。
【０１３８】
図３１に示すコミュニティ紹介要求処理において、実行制御部は、コミュニティ評価部へ探索元ＥＰ−ＩＤ、紹介要求先グローバルエンティティ名のリスト及び探索キーワードを受け渡し、コミュニティ紹介を要求する（ステップＳ３３０）。コミュニティ評価部は、ＳＩＯＮｅｔインタフェース部へ探索元ＥＰ−ＩＤ、紹介要求先グローバルエンティティ名のリスト及び探索キーワードを受け渡し、コミュニティ紹介要求指示を行う（ステップＳ３３１）、同好のＷｅｌｌ  Ｋｎｏｗｎ（周知）ポイント及びコミュニティ評価点の組のリストが返送される（ステップＳ３３２）。コミュニティ評価部は、セッション管理部へ紹介元グローバルエンティティ名と、探索キーワードと、参加候補Ｗｅｌｌ  Ｋｎｏｗｎポイント及びコミュニティ評価点の組のリストと、通過履歴とを受け渡し、参加候補の登録を行う（ステップＳ３３３）。セッション管理部が参加候補の登録を行い、コミュニティ評価部が受け付け応答を受信すると（ステップＳ３３４）、ユーザインタフェース部へ芋づる探索継続可否判定を要求する（ステップＳ３３５）。ユーザインタフェース部は、セッション管理部から参加候補コミュニティ数を取得する（ステップＳ３３６、ステップＳ３３７）。そして、（参加候補コミュニティ総数＜閾値）であり、かつ、（探索経過時間＜閾値）である場合には「ｔｒｕｅ（処理を継続する）」、（参加候補コミュニティ総数≧閾値）、あるいは、（探索経過時間≧閾値）である場合には「ｆａｌｓｅ（処理を継続しない）」の判定結果をコミュニティ評価部へ返送する（ステップＳ３３８）。コミュニティ評価部は、「ｔｒｕｅ（処理を継続する）」を受信した場合に、次の探索先のＷｅｌｌ  Ｋｎｏｗｎポイント及びコミュニティ評価点の組のリストを実行制御部へ送信する（ステップＳ３３９）。なお、次に探索を行うコミュニティとは、評価が閾値を超えているもの全てか、あるいは閾値を超えるものがない場合は評価点が最大のものである。また、直前の芋づる探索継続可否判定が「ｆａｌｓｅ（処理を継続しない）」であった場合には、「ｎｕｌｌ」を返送する。
【０１３９】
実行制御部は、コミュニティ評価部から次の探索先のＷｅｌｌ  Ｋｎｏｗｎポイント及びコミュニティ評価点の組のリストを受信すると、芋づるの深さが１以外の場合、すなわち、探索のための参加であった場合には、ＳＩＯＮｅｔインタフェース部へ探索元ＥＰ−ＩＤを受け渡し、退去指示を送信する（ステップＳ３４０）。ＳＩＯＮｅｔインタフェース部は、退去指示を受けると受付応答を返送し、コミュニティからの退去を行う（ステップＳ３４１）。
【０１４０】
そして、図３２において、コミュニティ制御部から受信した次の探索先のＷｅｌｌ  Ｋｎｏｗｎポイント及びコミュニティ評価点の組のリストが「ｎｕｌｌ」であった場合には、後述する探索結果表示処理を行う（ステップＳ３５０）。また、「ｎｕｌｌ」以外であった場合には、Ｗｅｌｌ  Ｋｎｏｗｎポイント数分のスレッドを起動し、紹介されたコミュニティへ参加するための移動処理を実行する（ステップＳ３５１）。
【０１４１】
移動処理において、実行制御部は、ＳＩＯＮｅｔインタフェース部へＷｅｌｌ  Ｋｎｏｗｎポイントを受け渡し、参加指示を行う（ステップＳ３６０）。ＳＩＯＮｅｔインタフェース部がコミュニティへの参加を行い、実行制御部がＥＰ−ＩＤを受信すると、再び同好探索処理が行われる（ステップＳ３６１、ステップＳ３６２）。
【０１４２】
図３３の探索処理表示処理において、ユーザインタフェース部は、一定時間待機を行っている（ステップＳ３７０）。この間、実行制御部では、起動したスレッドにおける探索を終了する。そして、待機時間が満了すると、参加候補が存在する場合、ユーザインタフェース部は、コントロールパネルへ探索結果を通知し（ステップＳ３７１）、ユーザは、コントロールパネルが表示する探索結果を確認する（ステップＳ３７２）。一方、参加候補が存在しない場合、ユーザインタフェース部は、通知ダイアログ表示の指示を受け、コミュニティ未発見を通知するための画面を表示する（ステップＳ３７５）。ユーザは、通知ダイアログにより、参加候補が存在しない旨を認識すると、ＯＫボタンをクリックする（ステップＳ３７６）。
【０１４３】
図３４は、一実施の形態によるメイン画面を示す図である。
図３４に示す探索のためのメイン画面には、探索キーワードを入力する［探索情報］フィールド▲１▼と、現在広告を行っているコミュニティの情報を表示する［ナビゲート情報］リストボックス▲２▼と、［探索情報］フィールド▲１▼に入力された探索キーワードによる探索を開始するための［探索開始］ボタン▲３▼が備えられる。そして、［探索情報］フィールド▲１▼に探索キーワードを入力し、［探索開始］ボタン▲３▼を押下することにより、探索開始時点で、自身が参加しているコミュニティの全てを探索元として検索を開始する。なお、［ナビゲート情報］リストボックス▲２▼には、常に最新の状態が表示される。
【０１４４】
図３５は、一実施の形態によるコミュニティ未発見時の探索結果表示画面を示す図である。
図３３のステップＳ３７５において参加候補が存在しない場合に、ユーザインタフェース部は、図３５に示す探索結果表示画面を表示する。ユーザは、通知ダイアログにより、コミュニティが発見できなかった旨を認識すると、ＯＫボタン▲１▼をクリックし、この画面を閉じる。
【０１４５】
以上、この発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【０１４６】
【発明の効果】
以上説明したように、イベントプレース（コミュニティ）内の任意のエンティティが退去、参加等しても、同時に複数のイベントプレースに参加しているエンティティを介してイベントプレースを探索するための機能が阻害されることのないエンティティ装置、コミュニティ探索方法、及び、コンピュータプログラムを提供することができる。さらに、エンティティが属するイベントプレースにおいて自身を広告する価値があるか否かを学習することにより、適切なコミュニティの探索を自動的に行うことが可能なため、探索の待ち時間を少なくすることができ、さらには、リソースを有効に使用できる、また、探索ノウハウのないコミュニティ探索者（探索エンティティ）が適切なコミュニティを探索できる、などの利点及び効果がある。
【図面の簡単な説明】
【図１】本発明の一実施形態による芋づる式探索の自動化制御を説明するための図である。
【図２】本発明の前提技術であるＳＩＯＮｅｔ（意味情報ネットワーク）におけるエンティティを説明するための図である。
【図３】ＳＩＯＮｅｔにおけるエンティティの状態遷移を説明するための図である。
【図４】ＳＩＯＮｅｔにおけるエンティティの内部構成を示すブロック図である。
【図５】ＳＩＯＮｅｔにおけるイベントプレースの生成を説明するための図である。
【図６】ＳＩＯＮｅｔにおけるエンティティがイベントプレースへ参加する動作を説明するための図である。
【図７】ＳＩＯＮｅｔにおける意味情報スイッチＳＩ−ＳＷとセッションを説明するための図である。
【図８】ＳＩＯＮｅｔにおけるイベントの構成を示す図である。
【図９】ＳＩＯＮｅｔにおける意味情報体系を説明するための図である。
【図１０】ＳＩＯＮｅｔにおいて、あるイベントプレースに参加しているエンティティが、さらに他のイベントプレースに参加する動作を説明するための図である。
【図１１】ＳＩＯＮｅｔにおけるサービスエンティティのプラグインを説明するための図である。
【図１２】ＳＩＯＮｅｔにおけるリファレンスモデルを説明するための図である。
【図１３】ＳＩＯＮｅｔにおけるシェアードリンクを説明するための図である。
【図１４】ＳＩＯＮｅｔにおけるシェアードリンクを説明するための図である。
【図１５】ＳＩＯＮｅｔにおけるシェアードリンクを説明するための図である。
【図１６】ＳＩＯＮｅｔにおけるイベントパスを説明するための図である。
【図１７】ＳＩＯＮｅｔにおけるシェアードリンクの再確立を説明するための図である。
【図１８】ＳＩＯＮｅｔにおけるホップ属性を説明するための図である。
【図１９】ＳＩＯＮｅｔにおけるイベントプレース及びエンティティの増減設を説明するための図である。
【図２０】ＳＩＯＮｅｔにおけるイベントプレース及びエンティティの増減設を説明するための図である。
【図２１】ＳＩＯＮｅｔにおけるエンティティのアドバタイズメントを説明するための図である。
【図２２】ＳＩＯＮｅｔにおけるエンティティのアドバタイズメントを説明するための図である。
【図２３】Ｐ２Ｐモデルのディメンションを示す図である。
【図２４】ＳＩＯＮｅｔの概念を説明する図である。
【図２５】本発明の一実施形態によるエンティティの構成図である。
【図２６】同実施形態によるコミュニティ探索の動作例を示す図である。
【図２７】同実施形態によるコミュニティの自動探索の概要フローを示す図である。
【図２８】同実施形態による参加候補コミュニティ探索処理の概要フローを示す図である。
【図２９】同実施形態によるコミュニティ自動探索の機能部間詳細シーケンス図である。
【図３０】同実施形態によるコミュニティ自動探索の機能部間詳細シーケンス図である。
【図３１】同実施形態によるコミュニティ自動探索の機能部間詳細シーケンス図である。
【図３２】同実施形態によるコミュニティ自動探索の機能部間詳細シーケンス図である。
【図３３】同実施形態によるコミュニティ自動探索の機能部間詳細シーケンス図である。
【図３４】同実施形態によるメイン画面を示す図である。
【図３５】同実施形態によるコミュニティ未発見時の探索結果表示画面を示す図である。
【図１】
2004318594.tif 000004
【図２】
2004318594.tif 000005
【図３】
2004318594.tif 000006
【図４】
2004318594.tif 000007
【図５】
2004318594.tif 000008
【図６】
2004318594.tif 000009
【図７】
2004318594.tif 000010
【図８】
2004318594.tif 000011
【図９】
2004318594.tif 000012
【図１０】
2004318594.tif 000013
【図１１】
2004318594.tif 000014
【図１２】
2004318594.tif 000015
【図１３】
2004318594.tif 000016
【図１４】
2004318594.tif 000017
【図１５】
2004318594.tif 000018
【図１６】
2004318594.tif 000019
【図１７】
2004318594.tif 000020
【図１８】
2004318594.tif 000021
【図１９】
2004318594.tif 000022
【図２０】
2004318594.tif 000023
【図２１】
2004318594.tif 000024
【図２２】
2004318594.tif 000025
【図２３】
2004318594.tif 000026
【図２４】
2004318594.tif 000027
【図２５】
2004318594.tif 000028
【図２６】
2004318594.tif 000029
【図２７】
2004318594.tif 000030
【図２８】
2004318594.tif 000031
【図２９】
2004318594.tif 000032
【図３０】
2004318594.tif 000033
【図３１】
2004318594.tif 000034
【図３２】
2004318594.tif 000035
【図３３】
2004318594.tif 000036
【図３４】
2004318594.tif 000037
【図３５】
2004318594.tif 000038