JP2004318594A - エンティティ装置、コミュニティ探索方法、及び、コンピュータプログラム - Google Patents
エンティティ装置、コミュニティ探索方法、及び、コンピュータプログラム Download PDFInfo
- Publication number
- JP2004318594A JP2004318594A JP2003112907A JP2003112907A JP2004318594A JP 2004318594 A JP2004318594 A JP 2004318594A JP 2003112907 A JP2003112907 A JP 2003112907A JP 2003112907 A JP2003112907 A JP 2003112907A JP 2004318594 A JP2004318594 A JP 2004318594A
- Authority
- JP
- Japan
- Prior art keywords
- entity
- community
- event
- search
- information
- 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.)
- Granted
Links
Images
Landscapes
- Computer And Data Communications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【解決手段】イベントプレースAに属するエンティティ1は、プロパティのディスカバリを行い、イベントプレースB及びCを経由してイベントプレースDを発見し、滞在する。イベントプレースDのメンバーとなったエンティティ1は、イベントプレースA、Bなどの探索経路イベントプレースに仮身エンティティを参加させ、イベントプレースDのプロパティ情報を公開する。エンティティ1にイベントプレースDを紹介したエンティティ4に対しては、貢献ポイントが払い出され、貢献ポイントが閾値を下回らない限り、エンティティ4は、イベントプレースCにおいてイベントプレース情報の公開を継続し、閾値を下回った場合には、エンティティ4が過去に通過したイベントプレースの中から次の公開先を選択する。
【選択図】 図1
Description
【発明の属する技術分野】
本発明は、コミュニティを構成するエンティティ装置において、エンティティの芋づる式探索を自動制御するコミュニティ探索方法、及び、プログラムに関するものである。また、本発明は、コミュニティ形成技術に関する。特に、複数のコミュニティが存在し、ユーザがコミュニティに参加及び離脱することにより複数のコミュニティ間を遷移可能なコミュニティ間ネットワークの探索分野に関する。
【0002】
【従来の技術】
近年、ネットワークの業界において、「ブローカレス型探索モデル」という新たな概念が考え出された。このブローカレス型探索モデルが、2000年3月に発表されたGnutellaのような、世界中で注目されるようになったP2P(Peer−to−Peer)に相当する。また、2001年4月に発表されたJXTAもP2P、すなわちブローカレス型探索モデルに相当する。P2Pは、WWW以来の革新技術であり、第3世代と呼ばれている。なお、近年、伝送レイヤにP2Pの概念を適用したブローカレス型伝送モデルや、ポリシーレイヤにP2Pの考え方を適用したブローカレス型ポリシーモデルの研究開発が活発化していている。ブローカレス(配信)モデルのディメンションを図23に示す。このブローカレス型探索モデルの1つがSIONet(Semantic Information−Oriented Network、意味情報ネットワーク)である。
【0003】
SIONetは、意味情報(メタデータ)に基づいて、データと当該データの意味情報とからなるイベントを配送するメタネットワークである。図24に示すように、イベント受信者は、受信したいイベントの条件を示す意味情報を予めSIONetに登録しておく。イベント送信者からイベントがSIONetに送信されると、SIONetは、当該イベントの意味情報と、登録された意味情報とを照合し、その照合結果に基づいて、当該イベントをイベント受信者に送信する。このように、イベントをSIONetに送信することを「刺激」といい、登録した意味情報とイベントの意味情報とが合致し、当該意味情報を登録したイベント受信者に、当該イベントを通知することを「発火」という。
【0004】
これにより、ネットワーク上に超分散する不特定多数のエンティティの中から、特定のエンティティを動的に探索・発見することができる。すなわち、SIONetは、従来のネットワークで用いていた宛先アドレス(誰に対して送信する)の代わりに、意味情報(どういう人に対して送信する)に基づいてイベントを配送するネットワークである。
【0005】
また、SIONetは、SIONetの構成要素を含めたすべてのエンティティが自律分散協調することにより、ネットワークが自己組織化される自律分散協調ネットワーク(自律分散コンピュータ)である。SIONetのネットワーク構成要素には、「意味情報スイッチ(SI−SW)」、「意味情報ルータ(SI−R)」、「意味情報ゲートウェイ(SI−GW)」、「イベントプレース」、「セッション」などがあり、これらが必要に応じて自己組織化することにより、セキュアーでスケーラブルなP2Pネットワークをボトムアップアプローチで構築することができる。
【0006】
SIONetの基本概念・原理は単純で一元的である。“エンティティによるフィルタの登録とイベントの送出“という単純操作の繰り返し、すなわち、”エンティティの「刺激」と「発火」が、SIONetのネットワーク構成要素間で「連鎖反応」”することにより、すべてのエンティティを自律分散協調させる点にある。この連鎖反応の振舞いを制御するものが、上述のイベント受信者がSIONetに登録した意味情報であり、これを「フィルタ」という。フィルタに登録するフィルタ値により、エンティティの連鎖反応の仕方を動的に制御することができる。SIONetにおけるもう一つの基本概念がイベントプレースである。イベントプレースは、シェアードリンクにより相互に接続されたエンティティグループであり、これにより連鎖反応の範囲を制限することができる。
なお、SIONetの詳細については非特許文献1、2に記載されている。また、この発明の出願人は、先に、特願2001−394980によってSIONetに関する出願を行っている。
【0007】
【非特許文献1】
星合隆成、小柳恵一、ビルゲー・スクバタール、久保田稔、柴田弘、酒井隆道、”意味情報ネットワークアーキテクチャ”、電子情報通信学会論文誌B、Vol.J84−B、No.3、pp.4,11−4,2,4(2000.7受付、 2001−3掲載)
【非特許文献2】
星合隆成、柴田弘、酒井隆道、小柳恵一:”意味情報ネットワークアーキテクチャ:SIONアーキテクチャ”、NTT R&D、Vol.50、No.3、pp.157−164(2000.12受付、2001.3掲載)
【0008】
【発明が解決しようとする課題】
SIONetでは、イベントプレースという概念が提唱されている。イベントプレースとは、イベント又はイベントパスの波及範囲であり、言い換えると、シェアードリンクで結合されているエンティティのグループである。各エンティティは、各々内包している意味情報スイッチ同士がセッション又はシェアードリンクにより接続されることでコネクションを確立しているが、この意味情報スイッチは、各エンティティ内に当該エンティティがイベントプレースに参加している数だけ存在する。例えば、あるエンティティがイベントプレースAとイベントプレースBとに同時に参加している場合、当該エンティティは意味情報スイッチを2つ内包している。この意味情報スイッチのうち1つは、イベントプレースAに参加するエンティティのイベントプレースA用の意味情報スイッチにのみコネクションを確立し、他の意味情報スイッチはイベントプレースBに参加するエンティティのイベントプレースB用の意味情報スイッチにのみコネクションを確立する。このように、エンティティに内包された意味情報スイッチはイベントプレース毎に異なるため、同じエンティティ内に内包される意味情報スイッチでも、エンティティ所有者の望むイベントプレースに参加可能な意味情報スイッチとコネクションを確立しなければならない。
【0009】
しかし、エンティティが、所望の情報が得られないイベントプレースに所属し続けることは、無駄なコンピュータ等のリソースを消費するとともに、ネットワークが非効率的になってしまうという問題があった。そこで、エンティティを自動で最適なイベントプレースに導くことが望まれていた。
【0010】
本発明はこのような事情に鑑みてなされたもので、複数のコミュニティ(イベントプレース)に属するエンティティを芋づる式に探索し、エンティティを最適なコミュニティへ導くことのできるエンティティ装置、コミュニティ探索方法、及び、コンピュータプログラムを提供することを目的とする。
【0011】
【課題を解決するための手段】
本発明は上記の目的を達成するためになされたもので、請求項1に記載の発明は、所定の区分による人または物の集合体である複数のコミュニティに属するエンティティ装置を介し、該コミュニティ間を遷移しながら適切なコミュニティの探索を行うエンティティ装置であって、ユーザへの入出力インタフェースを提供し、ユーザから探索情報の入力を受けるとともに、探索結果を表示するユーザインタフェース手段と、現在自身が属するコミュニティ内において、前記ユーザインタフェース手段が入力を受けた探索情報と一致あるいは類似するコミュニティの情報を広告する同好のエンティティの探索を行うための同好探索の指示と、検出された同好のエンティティが広告する他のコミュニティへの移動とを、所定の時間内あるいは移動先となるコミュニティが所定の数に達するまで再帰的に行う実行制御手段と、前記実行制御手段から同好探索の指示を受け、現在自身が属するコミュニティ内の同好のエンティティの探索を行う同好探索手段と、前記同好探索手段が検出した同好のエンティティの広告する他のコミュニティを評価し、この他のコミュニティのうち移動先となる他のコミュニティを選択して前記実行制御手段に通知するコミュニティ評価手段と、自身が属するコミュニティへ、自身が同時に属する他のコミュニティの情報の広告を行うとともに、自身が属する該コミュニティの評価に基づき広告を中止する広告制御手段と、を備えることを特徴とするエンティティ装置である。
【0012】
請求項2に記載の発明は、請求項1に記載のエンティティ装置であって、前記実行制御手段が移動した他のコミュニティの情報を広告する同好のエンティティへ、この他のコミュニティにおけるユーザ満足度を通知するフィードバック制御手段をさらに備え、前記広告手段は、自身が広告する他のコミュニティへ移動した他のエンティティから受信したユーザ満足度を基に、自身が属するコミュニティの評価を行うこと、を特徴とする。
【0013】
請求項3に記載の発明は、請求項1または請求項2に記載のエンティティ装置であって、さらに、意味情報ネットワークとのアクセスを提供する意味情報ネットワークアクセス手段と、前記意味情報ネットワークに参加している他のエンティティとのセッションを管理するとともに、現在広告を行っているコミュニティの情報であるナビゲート情報を少なくとも含む、セッションに関連する最新の情報を保持及び提供するセッション管理手段と、前記ユーザインタフェース手段が受けたユーザの操作により、前記意味情報ネットワークからのイベントを受信し、該イベントのディスパッチを行うイベント解析手段と、を備えることを特徴とする。
【0014】
請求項4に記載の発明は、請求項1から請求項3のいずれかの項に記載のエンティティ装置であって、広告を行うコミュニティは、ユーザの操作を受けて参加したコミュニティ、あるいは、前記実行制御手段が移動を行ったコミュニティの中の任意のコミュニティであることを特徴とする。
【0015】
請求項5に記載の発明は、所定の区分による人または物の集合体である複数のコミュニティに属するエンティティ装置を介し、該コミュニティ間を遷移しながら適切なコミュニティの探索を行うエンティティ装置に用いられるコミュニティ探索方法であって、ユーザから探索情報の入力を受け、現在自身が属するコミュニティ内において、入力された探索情報と一致あるいは類似するコミュニティの情報を広告する同好のエンティティの探索と、検出した同好のエンティティが広告する他のコミュニティの評価と、前記評価を基にしたこの他のコミュニティのうち移動先となる他のコミュニティの選択と、選択された他のコミュニティへの移動とを、所定の時間内あるいは移動先となるコミュニティが所定の数に達するまで再帰的に行い、探索結果を表示する一方、自身が属するコミュニティへ、自身が同時に属する他のコミュニティの情報の広告を行い、自身が属する前記コミュニティの評価に基づき広告を中止する、ことを特徴とするコミュニティ探索方法である。
【0016】
請求項6に記載の発明は、所定の区分による人または物の集合体である複数のコミュニティに属するエンティティ装置を介し、該コミュニティ間を遷移しながら適切なコミュニティの探索を行うエンティティ装置に用いられるコンピュータプログラムであって、ユーザから探索情報の入力を受ける入力ステップと、現在自身が属するコミュニティ内において、入力された探索情報と一致あるいは類似するコミュニティの情報を広告する同好のエンティティの探索と、検出した同好のエンティティが広告する他のコミュニティを評価と、前記評価を基にしたこの他のコミュニティのうち移動先となる他のコミュニティの選択と、選択されたコミュニティへの移動とを、所定の時間内あるいは移動先となるコミュニティが所定の数に達するまで再帰的に行うステップと、探索結果を表示するステップと、自身が属するコミュニティへ、自身が同時に属する他のコミュニティの情報の広告を行うステップと、自身が属する前記コミュニティの評価に基づき広告を中止するステップと、をコンピュータに実行させることを特徴とするコンピュータプログラムである。
なお、この明細書において、エンティティ装置とは、パーソナルコンピュータ、ワークステーション、情報携帯端末、携帯電話、ウエアラブルコンピュータなどのあらゆるコンピュータの総称である。
【0017】
【発明の実施の形態】
[SIONetの詳細]
<SIONetエンティティの定義>
ここでは、パーソナルコンピュータ、ワークステーション、情報携帯端末、携帯電話、ウエアラブルコンピュータなどのあらゆるコンピュータを総称して、ホストと呼ぶ。さらに、SIONetソフトウェアを実装したホストを、「SIONetエンティティ」もしくは単に「エンティティ」と呼ぶ。エンティティ(エンティティ装置)は、図2(a)に例を示すように、SIONetソフトウェアを実装したホストを、SIONetにおける自律分散協調の単位として仮想化したものである。SIONetソフトウェアは、個々のエンティティが自律分散協調を行うための仕組みを提供する。このSIONetソフトウェアにより、各ホストが自律分散コンピュータとなることが可能となる。
【0018】
エンティティは、図2(b)に示すように、主に以下の3つのタイプに分類される。
・サービスとして振る舞うアプリケーション(サービスエンティティ:SE、サービスエンティティ部)をエンティティ内部に含むもの
・ネットワーク構成要素として振る舞うモジュール(ネットワークエンティティ:NE)をエンティティ内部に含むもの
・上記SEとNEとの両方をエンティティ内部に含むもの
【0019】
<エンティティ構造と状態遷移>
図3は、エンティティの状態遷移を示す図である。この図に示すように、エンティティの状態として、”Non−Existent”、”サスペンド”、”アクティブ”という3つの状態がある。
”Non−Existent”状態は、ホストにSIONetソフトウェアをインストールした時点でのエンティティ状態を表している。
SIONetソフトウェアを実行(ラウンチ)することにより、”Non−Existent”状態から”サスペンド”状態に遷移する。このとき、エンティティ内に、図4に一例を示すように、エンティティ制御部、コントロールパネル、ネットワークエンティティファクトリ(NEファクトリ)、ネットワークエンティティ(NE)、などの内部モジュールが生成される。以下に、それぞれの役割を簡単に説明する。
【0020】
エンティティ制御部とは、エンティティの実体であり、他のエンティティやコントロールパネルからの様々な要求(後述するセッションの確立要求、シェアードリンクの確立要求など)を受け付ける。なお、”サスペンド”状態のエンティティに対して、他のエンティティからセッションの確立要求、シェアードリンクの確立要求などを行うことはできない。
【0021】
コントロールパネルは、人などのエンティティの所有者に対して、GUI(Graphical User Interface)を提供する。コントロールパネルにより、例えば、エンティティの所有者にエンティティ名の入力を促し、入力されたエンティティ名に基づいて、エンティティ制御部が当該エンティティにエンティティ名を付与する。図4の例では、エンティティ名を”エンティティ2”としている。このエンティティ名を、後述する「グローバルエンティティ名」と特に区別して「ローカルエンティティ名」と呼ぶことがある。このローカルエンティティ名は、当該エンティティの所有者等が任意で設定できるものとする。
【0022】
NE(ネットワークエンティティ)ファクトリとは、NEを動的に生成する機能を備える。
NE(ネットワークエンティティ)とは、SI−R(Semantic Information Router、意味情報ルータ)、SI−GW(Semantic Information Gateway、意味情報ゲートウェイ)、アライブエンティティ、障害処理エンティティ、統計情報収集エンティティなど、ネットワーク制御のために振る舞うモジュールの総称である。
【0023】
SE(サービスエンティティ)とは、エンティティが提供するプラグイン機構を用いて、エンティティ内にSEとして組み込まれたアプリケーションであり、SIONet上で動作するP2Pアプリケーションを仮想化したものである。エンティティが提供するプラグイン機構を用いて、アプリケーションをSEとしてエンティティ内に組み込むことができる。また、SEは、SI−SWに対して、任意数のセッションを確立することができる。SEはセッションを介してのみ、イベントの送受信が可能である。SEは、SIONetのネットワーク構築・運営に関与しない。なお、SEをエンティティ内に組み込むプラグイン機構については後述する。
【0024】
図3における”サスペンド”状態のエンティティ(エンティティ2)が、例えば、図5に例を示すように自らイベントプレースを生成したり、図6に例を示すように既存のイベントプレースにJoin(参加)などして、任意のイベントプレースに属し、エンティティグループのメンバーになったときに、エンティティ(エンティティ2)は”サスペンド”状態から”アクティブ”状態へと遷移する。”アクティブ”状態のエンティティのみが自身の存在をアドバタイズ(公開、詳細は後述する)し、他のエンティティからのセッションの確立要求やシェアードリンクの確立要求を受け付けることができる。
【0025】
ここで、ソフトウェアがホストにインストールされ、NE、NEファクトリ、エンティティ制御部、コントロールパネルなどを備えるエンティティが生成された後、当該エンティティが”アクティブ”状態となるまでの動作を説明する。エンティティが、当該エンティティの所有者などからコントロールパネルを介して、イベントプレースの生成や他のイベントプレースへの参加の指示を受けたものとする。エンティティのエンティティ制御部は、当該エンティティのNEファクトリにSI−SW(Semantic Information Switch、意味情報スイッチ)の生成を依頼する。NEファクトリがSI−SWを生成すると、エンティティ制御部は、生成されたSI−SWと、NEなどの内部モジュールとの間にセッションを確立する。これにより、アドバタイズや、他のエンティティからのセッションの確立要求、シェアードリンクの確立要求等を受け付けることが可能となる。
【0026】
ここで、図7を参照し、SI−SWとセッションの役割について説明する。
セッションとは、SI−SWとSE間のコネクションであり、SEは、セッションを介してのみイベントの送受信を行うことができる。セッションには、イベントの送信セッション、受信セッション、送受信セッションの3タイプがある。
SI−SWは、意味情報に基づいて、イベントをスイッチングするスイッチング機構を提供する。SI−SWはセッションを介して、NEや、プラグイン機構によりエンティティ内に組み込まれたSEやNEなどの内部エンティティをスター型で収容する。以下では、SEを例にとり説明するが、NEなど、エンティティに内包された他の内部エンティティも同様である。
【0027】
ここで、イベントの構成について説明する。図8に一例を示すように、イベントは、制御情報部、意味情報部、データ部から構成される。データ部には、送信データが格納される。送信データとして、テキストデータ、バイナリデータ、リファレンス、プロキシ、エージェントなど、様々なデータ、プログラムを格納することができる。
【0028】
意味情報部には、送信データの意味情報(語彙とその値)、及び、意味情報の語彙概念(イベントタイプ)が格納される。ここで、意味情報とは、送信データの特性を記述したメタデータであり、イベントタイプのインスタンスである。また、イベントタイプは意味情報のテンプレートである。イベントタイプ間には継承関係を定義できる。図9に、意味情報体系の一例を示す。この図において、”タイトル;イエスタデイ”、”価格;$30”、”アーティスト名;ビートルズ”という意味情報は、”ポピュラー”というイベントタイプに属しており、また”音楽”というイベントタイプにも属している。また、”タイトル;きよしこの夜”、”価格;$20”、”シチュエーション;クリスマス”という意味情報は、”BGM”というイベントタイプに属しており、また”音楽”というイベントタイプにも属している。
【0029】
意味情報体系の記述言語としてはXML(Extensible Markup Language)などがある。なお、ネットワークエンティティ用に一部のイベントタイプ名(SIONetから始まるすべての名称)が予約済みである。
図8に一例を示すイベントの制御情報部は、SIONetの実行制御のために用いられる制御フィールドであり、これのみがSIONetのユーザであるSEに対して開放されていない。制御情報部には、合致したフィルタの識別子、合致したフィルタの照合得点、同期型統計情報収集フラグ、イベントプレース内、イベントプレース間におけるTTL(Time To Live)値、イベントプレース内、イベントプレース間におけるホップ数、ホップ属性などの制御情報が設定される。
【0030】
図7に示すようなエンティティの構成において、SEの機能を説明する。SEは、受信セッションを介して、イベントの取得条件をSI−SWに登録する。これを「フィルタ」と呼ぶ。フィルタには、取得したいイベントの語彙概念(イベントタイプ)、及び、意味情報との照合条件(例えば、語彙”Price”が”$20から$40の範囲”のものを取得対象とする)等を設定する。なお、当該イベントタイプに定義されているすべての語彙との「完全一致」、一部の語彙との「部分一致」、「重み付け一致」など、照合条件をフィルタ単位で選択することができる。
【0031】
SEは、一つの受信セッションから、複数のフィルタを登録することが可能であるが、同一セッションを介して登録されたフィルタ間は”or”関係を有する。
すなわち、一つのイベントに対して、一つの受信セッションは高々1回しか発火しない。取得したいイベントのイベントタイプにワイルドカードを指定した場合には、すべてのイベントタイプが取得の対象となる。また、意味情報との照合条件に1(論理値が真)が設定された場合には、無条件に意味情報との照合条件が満足されたことを意味する。
【0032】
また、SEは、送信セッションを介して、SI−SWにイベントの送信を行う。このとき、SI−SWはイベントの意味情報部とフィルタとを照合する。具体的には、まず、受信したいイベントタイプであるかどうかをチェックし、これを満足した場合には、意味情報と照合条件をチェックする。この照合の結果、意味情報が照合条件を満足している場合には、合致したフィルタを登録したエンティティを起動するとともに、当該イベントを通知する。
SIONetでは、イベントの送信を「刺激」、フィルタがイベントに合致することを「反応」、合致したフィルタを登録したエンティティを起動しイベント通知することを「発火」と呼ぶ。
【0033】
<エンティティの名称付与方法>
図5に示すように、エンティティ2が”イベントプレースA”と命名したイベントプレースを生成する場合を説明する。エンティティ2の所有者は、コントロールパネルを介するなどして、エンティティ2にイベントプレース名を入力する。ここでは、入力等されたイベントプレース名を「イベントプレースA」とする。すると、エンティティ制御部は、NEファクトリにSI−SWの生成を依頼し、生成されたSI−SWと、NEなどの内部モジュールとの間にセッションを確立する。
さらに、エンティティ制御部は、生成されたSI−SWの名前を「イベントプレース名+ローカルエンティティ名」、すなわち「イベントプレースA+エンティティ2」として記憶する。この名前を「グローバルエンティティ名」と呼ぶ。このグローバルエンティティ名の作成がイベントプレースの生成に相当する。
【0034】
すなわち、SIONetでは、イベントプレースの生成により、必ずしも何らかの管理実体が生成されるとは限らない。つまり、SIONetでは、イベントプレースに属しているエンティティのメンバー管理を、後述するエンティティ間のシェアードリンクにより実現しているため、メンバー管理を行う集中管理部自体が存在しない。そのため、イベントプレースを生成したエンティティが当該イベントプレースから退去しても、当該イベントプレースに残されたエンティティが自律的に自己組織化することにより、当該イベントプレースの運営が継続される。すなわち、イベントプレースから最後のエンティティが退去することが、イベントプレースの消滅に相当する。
【0035】
このグローバルエンティティ名は、シェアードリンクやセッションを確立する場合に用いられる。図5に示すようなエンティティ2が、イベントプレースBをさらに生成し、エンティティ1からのシェアードリンクを確立する動作を、図10を参照して説明する。
【0036】
まず、既にイベントプレースAに参加しているエンティティ2が、イベントプレースBを生成する動作を説明する。エンティティ2のエンティティ制御部は、前述と同様に、NEファクトリに新たなSI−SWを生成させる。エンティティ制御部は、生成された新たなSI−SWにグローバルエンティティ名として「イベントプレースB+エンティティ2」を付与する。これにより、イベントプレースBが生成される。この時点で、エンティティ2は、「イベントプレースA+エンティティ2」と「イベントプレースB+エンティティ2」という二つのグローバルエンティティ名(SI−SW名)を持つ。
【0037】
次に、エンティティ1がイベントプレースAにJoin(参加)する動作を説明する。上述のようにイベントプレースA及びイベントプレースBに参加したエンティティ2は、“アクティブ”状態となっている。“アクティブ”状態のエンティティは、自身の存在を他のエンティティにアドバタイズ(公開)することができるが、その際にはグローバルエンティティ名が公開される。
【0038】
エンティティ1がエンティティ2を発見し、当該エンティティ2に対してJoin要求を行うとき、エンティティ1は、Join先のエンティティであるエンティティ2のグローバルエンティティ名が「イベントプレースA+エンティティ2」である旨をエンティティ2に通知する。
【0039】
このように、グローバルエンティティ名により、シェアードリンクを確立するSI−SWを一意に特定することが可能になり、ひいては、イベントプレースAへの参加が可能になる。このように、シェアードリンクやセッションの確立先であるSI−SWはグローバルエンティティ名として仮想化されるため、エンティティの所有者等は、SI−SWを直接意識することはない。
【0040】
<SEのプラグイン方法>
以下に、図11に示すエンティティへのSEの組み込みの動作を説明する。
(1)エンティティの所有者は、コントロールパネルに対して、アプリケーションのプラグインを指示する。このとき、プラグインするアプリケーションの実行ファイル名をパラメータとして与える。
(2)コントロールパネルは、プラグインの指示を受けた旨と、プラグインするアプリケーションの実行ファイル名とをエンティティ制御部に通知する。
【0041】
(3)エンティティ制御部は、プラグインする実行ファイル名を記憶するとともに、与えられた実行ファイル名を用いて、アプリケーションを起動し、SI−SWと起動したアプリケーションとの間にセッションを確立する。
すなわち、SIONetにおけるプラグインとは、アプリケーションとSI−SWとの間にセッションを確立することに他ならない。SIONetでは、SE、NEなどのすべての動作実体は、セッションを介して連携する。そのため、プラグイン/プラグアウト(着脱)を容易に実現できるとともに、プラグイン/プラグアウトが他の動作実体に影響を与えない(超疎結合)。この考え方を拡張することにより、後述するようなエンティティ間でのSE共有が実現できる。
【0042】
<PREFERENCEアーキテクチャ>
SIONetは図12に一例を示すようなリファレンスモデルの考え方を採用している。図12に示すPREFERENCEアーキテクチャは、フィルタに意味情報を登録し、イベントの意味情報部に配布条件(照合条件)を設定する御用聞き社会(御用聞き型サイバーソサイアティ)構築に向けたアーキテクチャであり、ブローカレス型配信モデル、ブローカレス型探索モデル、ブローカレス型ポリシーモデルに対するトータルソリューションを提供する。具体的には、ストリームインターフェース、SIONet、COMNetなどから構成される。
SIONetはイベントの伝達層であり、上位層に対してネットワークインタフェースを提供する。ミドルウエア層がコミュニティ(コミュニティネットワーク:COMNet)であり、SIONetのインテリジェンス層に相当する。このレイヤにおいて、情報の局所化、認証、セキュリティ、情報の権利保証、ポリシー制御などが行われる。そして、最上位層がアプリケーション層となっている。このアプリケーション層には、SEが実装される。SEとしては、例えば、個人TV局、メッセージ交換サービスのスマートメッセンジャーなどがある。
【0043】
このように、SIONetは、分散コンピューティング、情報交換、コラボレーション、メッセージ配信などのあらゆるP2Pサービス(SEがサービスを提供する)に対して、共通のP2Pネットワーク基盤を提供するとともに、プラグイン機構の提供により、アプリケーション開発の効率化をサポートする。
【0044】
<SIONetにおけるエンティティの役割>
SIONetは、個々のエンティティが互いに助け合うことにより、ボランティア型のネットワークを構築する形態であり、それぞれが自律分散協調することにより、ネットワークを自己組織化する。例えば、図6の構成において、エンティティ1の生成したイベントプレースにエンティティ2が参加し、その後、エンティティ1が当該イベントプレースから退去する動作を説明する。
【0045】
予め、エンティティ1はイベントプレースを生成し、当該イベントプレースに参加している。ここに、エンティティ2がエンティティ1に対して、イベントプレースへのJoin要求を行うと、図13に示すように、エンティティ2にSI−SWが生成され、さらに、エンティティ1及びエンティティ2のSI−SW間にシェアードリンクが確立され、エンティティグループが形成される。
このようにエンティティ1とエンティティ2のSI−SW間にシェアードリンクが確立され、エンティティ2がイベントプレースに参加した後、イベントプレースの生成者であるエンティティ1がイベントプレースから退去するものとする。すると、SI−SW間のシェアードリンクが解除され、以降は、エンティティ2のみでイベントプレースの構築・運営が継続される。このように、個々のエンティティが自己組織化するため、あるエンティティが退去、消失等しても他のエンティティが当該エンティティの機能を果たす。
【0046】
SIONetでは、目的に応じてエンティティを配置・組み合わせることにより、様々な形態のP2Pネットワークを構築することができる。また、異なる形態のP2Pネットワークをシームレスに連携させることもできる。これは、以下を実現させることにより達成される。
(1)すべてのエンティティを、”刺激と発火に基づく連鎖反応”という一元的かつ単純な仕組みで自律分散協調させること
(2)P2Pネットワーク形態の差異をエンティティの配置・運営問題に帰着させること
このように、単一の仕組みで様々な形態のP2Pネットワークを構築できる点がSIONetの特徴の一つである。
【0047】
<シェアードリンク>
「シェアードリンク(共有リンク)」は、複数の異なるエンティティ間において、双方向のイベント共有を行うための概念である。例えば、図14に示すように、エンティティ2がエンティティ1に対して、シェアードリンク(SL: Shared Link)の確立要求を行うことにより、図15に示すように、SI−SW2とSI−SW1との間にシェアードリンクが確立され、新たなエンティティグループが形成される。すなわち、シェアードリンクは、エンティティグループを形成するための仕組みであり、また、マルチホップの経路でもある。
【0048】
図14において、シェアードリンクの確立に成功したエンティティ2には、エンティティ1からイベントプレース名(グローバルエンティティ名)、当該イベントプレースにおけるイベント転送方式(ルーティング方式)、当該イベントプレースのディスクリプション(説明文)、プラグインされているSE情報等のさまざまな情報が送信される。なお、後述するSI−Rによるフィルタ値の設定によって、SI−SW間に様々なイベントルーティング方式を動的に設定できる。以降において、シェアードリンクの確立の動作を説明し、さらに、SI−Rの役割、仕組みを詳述する。
【0049】
<シェアードリンクの確立>
図14及び図15を用いて、シェアードリンク確立までの仕組みを説明する。まず、図14において、エンティティ2がエンティティ1に対して、シェアードリンクの確立要求を発行した場合を考える。
(1)エンティティ2がエンティティ1に対して、シェアードリンクの確立要求を発行する。
【0050】
(2)図15に示すように、エンティティ1のエンティティ制御部は、SL1,2(エンティティ2からのイベントを受信するためのシェアードリンク)を確立するために、NEファクトリに、意味情報に基づいてSI−SW間のイベントルーティング(イベント転送)を行うSI−R1,2 を、エンティティ1内部に動的に生成させる。さらに、エンティティ制御部は、エンティティ2がシェアードリンクの確立要求元であることを記憶する。厳密には、エンティティ2のエントリポイントとグローバルエンティティ名(SI−SW2)とをシェアードリンクの確立要求元として記憶する。
【0051】
(3)SI−R1,2は、エンティティ2に対してイベント受信セッションの確立要求要求を行うことでSI−SW2に対してイベント受信セッションを確立する。このとき、SI−SW2に、エンティティ1が受信するイベントの条件を示すフィルタを登録する。さらに、SI−R1,2は、自身が属するSI−SW1に対して、イベント送信のためのセッションを確立する。このような、SI−Rが確立する送受信セッションの組み合せをシェアードリンクという。これによりSL1,2が確立され、例えば、SE4がSI−SW2に対して送出したイベントは、SI−R1,2を介して、SI−SW1へも送出される。
【0052】
(4)このとき、SI−R1,2がSI−SW2に対して登録するフィルタの設定値により、イベントの転送方式を動的に制御できる。その例を以下に示す。
(a)SI−SW2に対して送出されたイベントを、無条件にSI−SW1へと転送する。すなわち、すべてのイベントに対して、SI−R1,2が発火する。これはSI−RがSI−SWに登録するフィルタとして、「取得する語彙概念にワイルドカードを、及び意味情報(語彙)との照合条件に真」を設定することにより可能になる。これを「無条件ルーティング」と呼ぶ。この設定は、シェアードリンク確立時に一度だけ行えばよい。この方式では、無駄なイベント転送と転送先でのイベント照合処理オーバヘッドが発生する可能性があるが、後述するイベントパス確立(ルーティング情報の設定)のためのオーバヘッドが発生しないため、フィルタ登録数がイベント送出数よりも十分大きい場合に有効な方式である。このルーティング方式は、主に、マルチホップ型ブロードキャスト通信に用いられる。
【0053】
(b)エンティティ1に取って必要なイベントのみをSI−SW2からSI−SW1へ転送する。これにより、不要なイベント転送を行わない。すなわち、特定のイベントに対してのみ、SI−R1,2が発火する。これは、SI−Rが語彙概念のみ(照合条件は常に真)をフィルタに設定する「語彙概念によるイベントルーティング」と、語彙概念と語彙との照合条件をフィルタに設定する「語彙によるイベントルーティング」に大別される。前者は主にマルチホップ型属性付きマルチキャスト通信に、後者は主にマルチホップ型ユニキャスト通信、マルチホップ型マルチキャスト通信に用いられる。これは、障害処理通知、統計情報通知、アライブ通知、リプライ通知、アドバタイズメント通知などで用いられている。
なお、マルチホップ型ブロードキャスト通信、マルチホップ型属性付きマルチキャスト通信、マルチホップ型ユニキャスト通信、マルチホップ型マルチキャスト通信のようなマルチホップ通信のほかに、SI−Rの設定するフィルタ値により、通信先エンティティのエントリポイントを用いた直接通信も可能である。なお、マルチホップ型ブロードキャスト通信、マルチホップ型属性付きマルチキャスト通信、マルチホップ型ユニキャスト通信、マルチホップ型マルチキャスト通信については後述する。
【0054】
(4)前述(2)から(3)の手順は、シェアードリンクの確立要求元であるエンティティ2においても同様に行われる。すなわち、エンティティ2のエンティティ制御部は、エンティティ1(SI−SW1)をシェアードリンクの確立要求先として記憶するとともに、SL2,1を確立するために、NEファクトリにSI−R2,1を動的に生成させる。この生成されたSI−R2,1は、上述と同様にSI−SW1にフィルタを登録し、シェアードリンクを確立する。これにより、SI−SW1とSI−SW2の間に、双方向のシェアードリンクが確立され、エンティティ間でイベントを互いに共有することが可能になる。なお、SI−Rがフィルタの登録を行わないことにより、片方向のシェアードリンクを確立すること、すなわち、SI−Rを発火させないことができる。
【0055】
<イベントパスの確立>
イベント転送(イベントルーティング)のための経路選択情報(SI−Rがイベント共有のために登録するフィルタの集合)を「イベントパス」と呼ぶ。例えば、図15に示すように、エンティティ2とエンティティ3とが各々エンティティ1とシェアードリンクを確立している構成において、エンティティ2のSE3がSI−SW2に対してフィルタを登録した場合を考える。このとき、エンティティ2のSI−R2,1はSE3の登録したフィルタを、受信セッションを介して、エンティティ1のSI−SW1に登録する。同様に、エンティティ1のSI−R1,3は当該フィルタを、受信セッションを介して、エンティティ3のSI−SW3に登録する。このようにSE3によるフィルタ登録をトリガに、SI−Rの登録したフィルタがシェアードリンクに基づいて、順次隣接するSI−Rに波及することにより、イベントパスが確立される。これを「イベントパスの設定、もしくは波及」と呼ぶ。
【0056】
ここで、上述した「語彙概念によるイベントルーティング」のためのイベントパスの確立について説明する。図15において、「語彙概念によるイベントルーティング」のためのイベントパスを確立するためには、エンティティ2のSE3がSI−SW2に対して登録したフィルタにおいて、SI−R2,1は、イベントタイプのみ(照合条件は常に真)をエンティティ1のSI−SW1へのフィルタとして設定する。すなわち、SE3がフィルタ登録した照合条件を活用しない。つまり、イベントタイプのみを活用することにより、例えば、エンティティ1のSE1がイベント送信したとき、イベントタイプのみをSI−SW1において照合し、その結果、SI−R2,1が発火すると、SI−R2,1は当該イベントをSI−SW2へと送出し、意味情報との照合をSI−SW2において行う。
【0057】
また、上述した「語彙によるイベントルーティング」のためのイベントパスの確立について説明する。図15において、「語彙によるイベントルーティング」のためのイベントパス確立に際しては、エンティティ2のSI−R2,1は、SE3が登録したフィルタ値を、そのままエンティティ1のSI−SW1へのフィルタ値として設定する。すなわち、SI−R2,1は、SE3がフィルタ登録したイベントタイプと意味情報との両者をエンティティ1のSI−SW1へとフィルタ登録し、SI−SW1において完全なフィルタリングを行う形態である。
【0058】
そのため、語彙によるイベントルーティング方式では、無駄なイベント転送が全く発生しないが、ルーティングのためのイベントパス設定オーバヘッドが膨大になるため、フィルタ登録数に比べてイベント送出数が十分大きい場合に有効な方式である。一方、イベントタイプに基づくルーティング方式は、前述の2方式の折衷案的な位置付けにある。すなわち、フィルタ登録数とイベント送出数が同程度の場合、もしくは、フィルタ登録数とイベント送出数の比率を予測できないような利用形態において有効である。これらの仕組みにより、意味情報に基づく、イベントのマルチホップ通信が実現される。なお、イベントプレースの生成時、もしくは、SEからのフィルタ登録時に、イベントルーティング方式を指定できる。
【0059】
イベントパスの設定要求はイベントプレース内のすべてのSI−Rに対して波及するが、TTL値により、その波及範囲を制限することができる。図16を用いて、その動作を簡単に説明する。ここでは説明の便宜上、語彙概念ルーティングのためのイベントパス確立を前提とするが、これに限られるわけではない。また、各エンティティは、同じ語彙概念をアドバタイズ(フィルタ登録)するものとする。また、TTL値を2として説明する。
【0060】
図16(a)において、エンティティ2のSI−Rがイベントパスの設定要求を開始する。ここでは、TTL値が2であるため、エンティティ1、エンティティ3、そしてエンティティ4に対してのみイベントパスの設定要求が波及し、その結果、図16(b)に示すようにイベントパスが確立される。
【0061】
上述と同様に、エンティティ11のSI−Rがイベントパスの設定要求を開始すると、エンティティ10、及びエンティティ9に対してイベントパスが確立される。図16に示す構成では、エンティティ2のSI−R及びエンティティ11のSI−Rがイベントパスの設定要求をすると、エンティティ5にはイベントパスが設定されないため、エンティティ2とエンティティ11の間では、イベントの共有が行われない。つまり、エンティティ2から生起したイベントは、エンティティ5〜11に連鎖反応せず、エンティティ5〜11へはイベントが転送されないことになる。
【0062】
しかしながら、図16(b)に示すように、エンティティ5のSI−Rがイベントパスの設定要求を開始することにより、エンティティ4、エンティティ5、エンティティ6、エンティティ7、そしてエンティティ9に対してイベントパスが確立される。結果的に、図16(c)に示すように、エンティティ8を除く、イベントプレース内のすべてのエンティティに対してイベントパスが確立される。
【0063】
このように、当該語彙概念が当該イベントプレースにおいて、使用頻度の高いもの(評判が高い、流行しているもの)であるならば、最終的に、イベントプレース内にイベントパスの確立が行き渡ることになる。その逆で、あまり流行していない語彙概念は、いずれ淘汰されることになり、これにより緩やかな連鎖反応を実現できる。なお、図16におけるイベントパス上の数字は、その多重度を示している。
【0064】
なお、エンティティは、イベントパスの多重度をエンティティプロパティの属性として公開することができる。一方、エンティティプロパティのディスカバリにより、イベントパスの多重度が高いエンティティを発見することができる。このとき、当該エンティティに対して、シェアードリンクの張り替えを行うことにより、同好の志(同好のエンティティ)が緩やかに近傍に集まることができる(同好エンティティの局所化)。エンティティプロパティの詳細については後述する。
【0065】
分散オブジェクト技術の観点から、イベントパスを以下のように解釈することもできる。世界中に超分散しているエンティティは、エンティティ間でなんらかの「相関関係」を有する。相関関係を与えるものとしては、エンティティ名、グループ名、属性(位置、興味、評判、流行、サービス)など様々なプロパティがある。エンティティは、相関関係に基づいて、エンティティ間の結びつきを持ち分散協調する。この、エンティティの相関関係を与えるものを、エンティティプロパティという。
【0066】
SIONetでは、この相関関係を語彙概念と語彙により表現し、シェアードリンクに基づいて、イベントパスとして設定する。また、相関関係の強弱が、語彙概念の汎化・特化、イベントパスの多重度などに相当する。すなわち、SIONetでは、イベントパスにより、エンティティ間の相関関係を動的に制御・管理している。これこそが、フィルタによる連鎖反応の制御である。そのため、エンティティは固定的なエンティティ識別子を有していない。
【0067】
例えば、IPアドレスは、位置に基づいたエンティティの固定的な識別子であるが、SIONetでは、これの代わりに、エンティティプロパティを語彙概念・語彙として記述したものをエンティティ識別子として用いる。エンティティは、これらをフィルタとしてSI−SWに登録することにより、エンティティのプロパティ(エンティティ識別子)を宣言するとともに、自身のプロパティをシェアードリンクに基づいてアドバタイズする。これがイベントパスの波及に相当する。これにより、イベントパスが確立される。
【0068】
上述したように、SI−Rは、イベント送信とイベント受信の両者の側面を持つネットワークエンティティであり、一般のサービスエンティティと本質的な違いはない。SIONetでは、SI−RのようなSIONetの制御に用いられるエンティティを、サービスエンティティ(SE)と特に区別して、ネットワークエンティティ(NE)と呼ぶ。SIONetにおいては、サービスエンティティ、ネットワークエンティティのすべてのエンティティを共通のエンティティとして扱い、さらに、イベント送出とイベント受信、すなわち刺激と発火の連鎖反応という単純かつ一貫性のある共通ロジックに従って自律動作させることにより、すべてのエンティティが自律分散協調可能な超分散・超疎結合アーキテクチャを提供する。
【0069】
<シェアードリンクの解除と再確立>
イベントプレースに参加しているエンティティが、障害に陥ったり、イベントプレースから退去する場合など、様々な理由により当該エンティティがネットワークの運営に関わることができないケースにおいては、残されたエンティティが自己組織化することによりネットワークサービスを継続できることが必要になる。
SIONetでは、このようなケースにおいては、SI−SW間において確立されているシェアードリンクを解除し、さらにシェアードリンクの再確立を行う。その動作を図17を参照して説明する。
【0070】
図17において、シェアードリンク確立要求の先頭数字(図中▲1▼や▲2▼など)は、それらの要求順序を示している。つまり、シェアードリンク確立要求の順序は、まず、エンティティ2からエンティティ1へシェアードリンクの確立要求を行う。次にエンティティ3からエンティティ2へシェアードリンクの確立要求を行う。最後に、エンティティ4からエンティティ2へシェアードリンクの確立要求を行うものとする。なお、ここで、「各エンティティは、同一イベントプレース内においてシェアードリンクの確立要求を高々1回しかできないが、無制限に確立要求を受け付けることが可能なリンクトポロジーに基づいて、シェアードリンクの確立を行う」リンク確立手法を提案する。これにより、シェアードリンクで結合されたエンティティ間に、ループが発生しないことが保証される。すなわち、この手法を用いることにより、隣接エンティティ間のリンク再確立のみで開リンクトポロジーを簡単に実現できる。
【0071】
上述した順序で確立要求が成功すると、前述した手順で各SI−SW間にシェアードリンクが確立される。シェアードリンクが確立されると、各エンティティのエンティティ制御部は、自身が確立要求を行ったエンティティと、自身への確立を受け付けたエンティティを記憶している。例えば、エンティティ2は、自身が確立要求を行ったエンティティ1と、自身への確立を受け付けたエンティティ3、エンティティ4のリストを保持している。
この状況において、例えば、エンティティ2の退去、減設などが行われる場合、自身のSI−SW2に対して確立されているシェアードリンクの解除要求を発行し、シェアードリンクの解除を行う。その後、各エンティティは新たなシェアードリンクの確立を行う。以下、その動作を説明する。
【0072】
(1)エンティティ2が退去する場合、エンティティ2のエンティティ制御部は、自身のシェアードリンクを解除する旨を、1ホップのエンティティ(エンティティ1、エンティティ3、エンティティ4)に対して通知する。これは、イベントのTTL値を1にしてイベント送出を行うことにより可能になる。なお、このとき、自身へのシェアードリンク確立を受け付けたエンティティ(エンティティ3、エンティティ4)に対しては、自身に代わる新たなシェアードリンクの確立要求先として、自身が確立要求を行ったエンティティ1を教える。なお、自身が確立要求を行ったエンティティが存在しない場合には、自身への確立要求元エンティティ(1ホップ先のエンティティ)の中から任意のエンティティを選択して、これを自身に代わるシェアードリンクの確立要求先とする。
【0073】
(2)エンティティ2のエンティティ制御部は、自身が確立したシェアードリンク(SL2,1、SL2,3、SL2,4)を解除するために、その旨をSI−R2,1、SI−R2,3、SI−R2,4(図示略)に通知する。なお、SI−R2,1、SI−R2,3、SI−R2,4とはエンティティ2のSI−Rであり、上述したように、エンティティ1、エンティティ3、エンティティ4に対し、シェアードリンクSL2,1、SL2,3、SL2,4を確立したものである。これらのSI−Rは、これをトリガとしてエンティティ2のSI−SW2へのセッションを解除する。
【0074】
(3)エンティティ1のエンティティ制御部は、SI−R1,2(図示略)に、シェアードリンクSL1,2の解除を指示する。SI−R1,2は、シェアードリンクSL1,2を解除する。エンティティ1は、エンティティ3、エンティティ4からの確立要求を待つ。
(4)エンティティ3、エンティティ4は、エンティティ1と同様に、自身がSI−SW2(エンティティ2のSI−SW2)に対して確立していたシェアードリンク(SL3,2、SL4,2)をすべて解除し、エンティティ2からシェアードリンクの確立要求先として教えられた新たなエンティティ(エンティティ1)に対してシェアードリンクの確立要求を行い、シェアードリンクを再確立する。すなわち、上述と同様に、各々のエンティティ制御部は、NEファクトリに各々SI−R3,1、SI−R4,1を生成させ、当該SI−R3,1、SI−R4,1にシェアードリンクSL3,1、SL4,1を確立させる。
【0075】
上述したように、シェアードリンクの確立処理、再確立処理は、隣接するエンティティ間においてのみ行われ、他のエンティティには影響を与えない。すなわち、全てのエンティティに対するリンクの再構築を必要としない。
【0076】
なお、エンティティの退去や減設などの正当な手順を踏んだシェアードリンクの解除要求ばかりでなく、エンティティの障害、電源断、セッション(物理的な通信路)の障害などに起因して、シェアードリンクを再確立しなければならないケースがある。しかしながら、このようなケースにおいては、シェアードリンクの再確立時に必要となる代わりのエンティティを教授できない可能性がある。SIONetでは、このような状況に対応するために、各エンティティはnホップ(nは任意の自然数)のイベントを送出することにより、代わりの確立要求先エンティティの把握を行っている。なお、SIONetでは、TTL値とホップ属性を用いることにより、更にきめこまかなホップ制御が可能である。ホップ属性の例として、以下のものがある。
【0077】
▲1▼シェアードリンクの確立要求先エンティティのみをホップ対象とする。
▲2▼シェアードリンクの確立要求元エンティティのみをホップ対象とする。
▲3▼すべてのエンティティをホップ対象とする。
【0078】
▲1▼のホップ属性を指定した場合の、イベントの流れの例を図18の破線で示している。図18において、(i/j)は各エンティティにおいて記憶しているシェアードリンクの確立情報である。iはエンティティがシェアードリンクの確立要求を行った先のエンティティを示しており、一方、jはエンティティがシェアードリンクの確立要求を受け付けたエンティティを示している。例えば、エンティティ3の(2/5、6)は、エンティティ3がエンティティ2に対して確立要求を行い、エンティティ5及びエンティティ6から確立要求を受け付けていることを表している。各エンティティがシェアードリンクの確立情報を保持することにより、例えば、エンティティ3が他のエンティティに対して、更なるシェアードリンクの確立要求を行った場合、その要求をエラーとしてリジェクトすることができる。
これにより、前述した開リンクトポロジーの一貫性を保証している。この状況において、エンティティ6が3ホップで、上述▲1▼のホップ属性を持つイベントを送出することにより、エンティティ1とエンティティ2の存在を知ることが可能になり、これらがエンティティ3障害時の代替エンティティとなる。
【0079】
なお、上述したホップ属性は、障害時の代替エンティティの探索ばかりでなく、シェアードリンクの確立を受け付け可能なエンティティの探索、トップ(誰にもシェアードリンクの確立を行っていない)エンティティの探索などに有効である。SIONetでは、トップのエンティティのみが、他のイベントプレースに対して、フェデレーション(連携、イベントプレース間のシェアードリンクに相当)を確立することができる。
【0080】
<オンライン増減設の目的>
SIONetにおけるエンティティ増減設の目的は、主に以下の二つに大別される。(1)イベントプレースのトータル処理能力向上の観点から、イベントプレース内のエンティティを増設し、イベントのフィルタリング処理を負荷分散する。その逆の観点から、エンティティを減設する。これは、主に、ハイブリッドP2P、バックボーンP2Pネットワークの運用において用いられる。
(2)動的に生成されたエンティティに対して、シェアードリンクを柔軟に確立することにより、フレキシブルでグローバルなP2Pネットワークをボトムアップ的に構築する。これは、主に、ピュアP2Pネットワークの運営において用いられる。
【0081】
なお、ハイブリッド型P2Pネットワークとは、例えばネットワークプロバイダなどの運営者がホスト等にイベントプレースをあらかじめ生成し、個人の端末等のサービスエンティティがセッションによりイベントプレースと接続することにより構成されるネットワークである。また、ピュア型P2Pネットワークとは、個人の送受信端末たるエンティティがシェアードリンクで各々接続されることにより構成されるネットワークであり、このネットワークのうち、イベントを共有する最小単位がイベントプレースである。バックボーン型P2Pネットワークとは、ネットワーク間の接続形態のことであり、例えば、複数の地域のピュア型P2Pネットワークをハイブリッド型P2Pネットワークを経由して接続した状態のネットワークのことをいう。
【0082】
<増減設の形態>
SIONでは幾つかの増減設形態を提供しているが、ここでは、図19、図20に例を示す代表的な形態について述べる。
(1)イベントプレースの合成と分離
図19(a)に示すように、複数のイベントプレースを合成することができる。ここで合成とは、複数のイベントプレースにそれぞれ属するエンティティを、一つのイベントプレース内のメンバーとして集めることを言う。典型的な例として、異なるサービス運営者間の業務提携に基づく、サービス統合(情報共有)が考えられる。
【0083】
これは、イベントプレースに属する任意のエンティティ、もしくはイベントプレースに対して合成要求を行うことにより、合成要求先イベントプレース内のエンティティに対してシェアードリンクの確立要求が発行される。その結果、SI−SW間にシェアードリンクが確立され、両者の合成が実現される。なお、合成の要求元及び要求先は、それぞれ、エンティティでもイベントプレースでもどちらであってもかまわない。一方、分割する場合には、確立されているシェアードリンクを解除し、それぞれのイベントプレースに分離する。
【0084】
(2)イベントプレースへの参加と退去
図19(b)に示すように、イベントプレース内のエンティティ、もしくは、イベントプレースに対してJoin(参加)要求を行うことにより、要求元エンティティにSI−SWが生成される。そして、要求先エンティティに対してシェアードリンクの確立要求が発行されることにより、SI−SW間にシェアードリンクが確立され、当該イベントプレースに参加することができる。
エンティティがイベントプレースから退去する場合には、上述と同様に、エンティティ間のシェアードリンクを解除し、さらに、シェアードリンクの再構築を行い、当該イベントプレースから退去する。このとき、退去したエンティティの状態は、サスペンド状態へと遷移する。
【0085】
なお、イベントプレース側からエンティティに対してシェアードリンクの確立を要求することにより、当該エンティティをイベントプレース内に取り込むことも可能である。これを吸収という。その逆を***という。
(3)エンティティ(SI−SW)の増減設
図20(c)に示すように、イベントプレース内のエンティティ、もしくは、イベントプレースに対して、エンティティの増設要求を行うと、指定されたエンティティにSI−SWが新たに生成され、既存のSI−SWとの間にシェアードリンクが確立される。一方、イベントプレースにエンティティの減設要求を行うと、指定されたエンティティに対しシェアードリンクの解除要求が発行され、SI−SW間のシェアードリンクが解除された後、シェアードリンクの再確立が行われ、当該エンティティが削除される。このとき、エンティティの状態は、Non−Existentに遷移する。
【0086】
(4)イベントプレース間のフェデレーション
図20(d)に示すように、イベントプレース内のエンティティ、もしくは、イベントプレースに対して、フェデレーション(連携)要求を行うことにより、イベントプレース間でイベントを転送するSI−GWが動的に生成され、セッションを介して両イベントプレースが連携する。なお、フェデレーションの要求元及び要求先は、それぞれ、エンティティでもイベントプレースでもどちらであってもかまわない。
【0087】
<エンティティのアドバタイズメント>
図21、図22を参照し、エンティティのアドバタイズメント(公開)について説明する。SIONetにおけるエンティティのアドバタイズメントには、以下の2つの観点がある。
観点1:エントランスのアドバタイズメント
観点2:エンティティプロパティのアドバタイズメント
以下、各々の観点について説明する。
観点1:エントランスのアドバタイズメント
ベースイベントプレースは、エンティティに取って、最適なイベントプレースをいもづる式に探索(ディスカバリ)するためのベース(起点)となるイベントプレースである。つまり、ベースイベントプレースがSIONetへのエントランス(入り口)となる。そのため、ベースイベントプレースに参加しているエンティティは、SIONetのエントランスを公開することができる。ここで、エントランスの公開とは、シェアードリンクの確立要求先となるエンティティのエントリポイントとグローバルエンティティ名をアドバタイズすることを意味する。この公開情報は、後述するブロードキャストを用いた探索により発見される。
【0088】
観点2:エンティティプロパティのアドバタイズメント
シェアードリンクで接続されている任意のエンティティグループ(ベースイベントプレースを含むすべてのイベントプレース)において、各エンティティは自身のエンティティプロパティをアドバタイズすることができる。これが前述したイベントパスの波及に相当する。この公開情報は、後述するディスカバリイベントの送出により発見される。
【0089】
以下に、エンティティの公開、探索から、エンティティグループ形成までの流れを説明する。なお、以下では、ベースエンティティ、エンティティ1、エンティティ2、エンティティ3、エンティティ4、エンティティ5、エンティティ6はベースイベントプレースに属しており、エンティティ3、エンティティ11、エンティティ12、エンティティ13はイベントプレースαに属しているものとして説明する。
【0090】
▲1▼図21に示すように、SIONetソフトウェアをホストにインストールする。この時点でのエンティティの状態は、前述したように“Non−Existent”である。説明の便宜上、このエンティティをエンティティYとする。
▲2▼SIONetソフトウェアを実行することにより、エンティティYは“Non−Existent”から“サスペンド”状態に遷移する。この状態のエンティティは、SIONetからその存在がまだ認知されていない。
【0091】
▲3▼“サスペンド”状態のエンティティYは、SIONetの構成要素としてネットワークに参加するために、ベースイベントプレースに属している他のエンティティのエントランス(エントリポイントとグローバルエンティティ名)を探索する。
具体的には、ブロードキャストにより、ベースイベントプレースに参加しているエンティティの中から、近傍のエンティティを探索する。ブロードキャストの方法は、実装に依存する。例えば、無線ネットワークで実装されている場合には、無線の到達範囲すべてのエンティティが探索の対象となる。一方、IPネットワークで実装されている場合には、IPブロードキャストもしくはIPマルチキャストを行うことになる。図21では、ブロードキャストによる探索により、エンティティ1(エンティティ1のエントリポイントとグローバルエンティティ名)が発見されたことを表している。なお、ブロードキャストにより、近傍のエンティティを発見できない場合には、Well−Known(周知)のエンティティを利用することもできる。Well−Knownのエンティティをベースエンティティと呼ぶ。なお、ベースエンティティは、ベースイベントプレースを含むすべてのイベントプレース内に存在することができる。
【0092】
▲4▼エンティティYは、発見されたエンティティ1に対して、ベースイベントプレースへのJoin(参加)要求を行う。すなわち、エンティティYは、エンティティ1のエントリポイントに対して、エンティティ1のグローバルエンティティ名をパラメータとしたJoin要求を行う。エンティティYからのJoin要求を受けたエンティティ1は、自身の状態遷移が“アクティブ”であり、かつ、エントランスやエンティティプロパティが公開モードの場合のみ、当該Join要求を受け付ける。なお、エンティティYは、最大Join数を超えてJoin要求を発行することはできない。この最大Join数は、エンティティYのコントロールパネルで、エンティティYの所有者等が設定可能である。エンティティ1がエンティティYのJoin要求を受け付けると、上述と同様の動作により、エンティティY及びエンティティ1のSI−SW間にシェアードリンクが確立される。これにより、エンティティYは、ベースイベントプレース内のネットワーク構成要素として自己組織化される。このとき、エンティティYは、“サスペンド”状態から“アクティブ”状態へと遷移する。
【0093】
ベースイベントプレースにJoinしたエンティティYは、エントランスの公開が可能になる。また、エンティティプロパティをアドバタイズすることもできる。エンティティプロパティには、グローバルエンティティ名(及びエントリポイント)、ニックネーム、グループ名、アライブ(存在だけの表明であり、シェアードリンクの確立先情報となるエントリポイントとグローバルエンティティ名は公開しない、エンティティが非公開モードの場合でも公開の対象)、ディスクリプション(エンティティの説明文)、属性などがある。属性には、プラグインされているSE情報、イベントパス多重度、イベントプレース情報などがある。なお、エンティティプロパティの記述言語としては、XMLなどがある。
【0094】
図21において、例えばエンティティ3のエンティティ制御部は、エンティティ3が同時に参加しているイベントプレースαをエンティティプロパティの属性として公開することができる。さらに、エンティティ制御部は、現在Joinしているイベントプレースばかりでなく、過去にJoinしたイベントプレースのイベントプレース情報を公開することもできる。このイベントプレース情報とは、例えば、イベントプレースのディスクリプション(イベントプレースの説明文、説明情報)や、当該イベントプレースに参加する際にシェアードリンクを確立したエンティティ(意味情報スイッチ)のグローバルエンティティ名(イベントプレース名+エンティティ名、コネクション確立情報)、エントリポイント(エントリポイント情報)などである。この、過去にJoinしたイベントプレース情報をエンティティが保持できる数は任意とし、例えば、コントロールパネルによりエンティティ所有者等が設定できるものとする。この公開されたイベントプレース情報を取得したエンティティは、当該イベントプレース情報をコントロールパネル等により出力することで当該エンティティ所有者に提示する。これにより、エンティティ所有者は、他のイベントプレースの存在を認識することが出来る。
SIONetでは、どこにどのようなイベントプレースがあり当該イベントプレースではどのようなサービスを提供しているか、というようなイベントプレース情報を集中管理する機能がないので、イベントプレース情報を取得しようとする場合、他のエンティティのエンティティプロパティからイベントプレース情報を取得する必要がある。現在参加しているイベントプレースのみならず、過去に参加したイベントプレース情報を公開することにより、イベントプレース情報を取得する機会が増え、自身の求めるサービスを提供するイベントプレースに参加できる確立が高くなる。
【0095】
エンティティYのエントランスの公開時には、これらのエンティティプロパティを、エンティティ内の意味情報スイッチにフィルタとして登録することにより、エンティティプロパティがシェアードリンクに基づいて他のエンティティに波及し、イベントパスが確立される。基本的には、イベントパスの確立要求がイベントプレース内のすべてのエンティティに対して波及するが、TTL値で、イベントパス確立要求の波及範囲を制限することができる。なお、グローバルエンティティ名はマルチホップ型ユニキャスト通信時の識別子として、グループ名はマルチホップ型マルチキャスト通信時の識別子として、属性はマルチホップ型属性付きマルチキャスト通信時の識別子として用いられる。例えば、マルチホップ型ユニキャスト通信の代表例として、イベント受信エンティティからイベント送信元エンティティへのリプライ通知がある。
【0096】
すなわち、グローバルエンティティ名はマルチホップ型ユニキャスト通信とは、グローバルエンティティ名で特定されるエンティティのSI−SWからnホップのイベントを送信する通信方式である。また、マルチホップ型マルチキャスト通信とは、グループ名で特定されるグループに属するエンティティのSI−SWにnホップのイベントを送信する通信方式である。また、マルチホップ型属性付きマルチキャスト通信とは、自身と同様の属性のエンティティのSI−SWにnホップのイベントを送信する通信方式である。また、マルチホップ型ブロードキャスト通信とは、任意のエンティティのSI−SWにnホップのイベントを送信する通信方式である。
【0097】
▲5▼図22において、ベースイベントプレースに参加したエンティティYは、「自身が参加したいイベントプレース」を探索するためのディスカバリイベントを送出することにより、「自身のニーズに合致するエンティティプロパティ」を公開しているエンティティを探索する。このディスカバリイベントは、SIONetの制御のために用いられるイベントであり、SEが送出するイベントと同等のものである。ディスカバリイベントとは、NEを発火させるためのイベントであり、イベントの意味情報部には、エンティティプロパティとの照合条件が設定される。すなわち、SIONetにおける新たな機能追加とは、新たな語彙概念と語彙を規定することを意味する(仕組みの追加ではなく、連鎖反応条件の追加)。これにより、単一な仕組み(連鎖反応)だけで、様々な機能追加を可能にしている。
【0098】
ここでは、探索の結果、エンティティ3が発見されたものとする。上述したように、エンティティ3は、ベースイベントプレースと同時にイベントプレースαに参加している。エンティティ3を発見したことにより、エンティティYはイベントプレースαの存在を知ることができる。
▲6▼エンティティYは、エンティティ3に対してイベントプレースαへのJoin要求を発行し、イベントプレースαに参加する。なお、エンティティ3は、前述したように、自身の状態遷移が”アクティブ”であり、かつ、公開モードのときに、Join要求(シェアードリンクの確立要求)を受け付ける。
【0099】
▲7▼さらに、エンティティYは、イベントプレースαにおいて、同様の探索のためのイベントを送出することができる。これにより、自身のニーズに合致する新たなエンティティを発見することができる。例えば、ここでは、エンティティ12が発見されたものとする。すなわち、エンティティYは、ベースイベントプレースにおいて発見することができなかったエンティティ12を、エンティティ3を介して発見できるということを意味している。このような操作を繰り返すことにより、自身のニーズに合致したイベントプレースに、次第にたどり着くことが可能になる。
【0100】
ここで示したアドバタイズメント方式は以下の効果がある。
(1)エンティティの公開情報を管理するブローカ(管理部)が存在しないため、耐障害性に強い自己組織化ネットワークを低コストで構築することができる。また、膨大な数の公開情報(エントリポイントやエンティティプロパティ)をブローカで管理することは現実的でない。
(2)エンティティに取って相応しいイベントプレースを、芋づる式に絞り込むことができるので、効率的に所望のイベントプレースを探索することができる。例えば、連鎖反応の波及範囲(ディスカバリイベントのホップ数、及び、エンティティプロパティのためのイベントパス設定要求の波及範囲)がTTL値で制限されたとしても、上述のように、エンティティ3経由でエンティティ12を発見し、その結果、エンティティ12が同時に属している別のイベントプレースを発見することができる。なお、連鎖反応の波及範囲を制限することにより、ネットワークトラフィック(イベントの転送回数、イベントパス設定要求の転送回数)を軽減することができる。
【0101】
なお、自身は情報を提供することなく(例えば、エンティティプロパティを公開することなく)、他のエンティティからの情報提供を受けるだけのエンティティは、ペナルティーとして、強制的にシェアードリンクが解除され、一定条件を満足しない限り、再度イベントプレースに参加できないようにすることもできる。
【0102】
<SEの共有方法(自動配信)>
以下に、ゲームイベントプレースにおけるSE(ゲームアプリケーションプログラム)の共有を例に、SEの共有方法の仕組みを示す。
(1)ゲームイベントプレースの運営者であるエンティティ2の所有者はエンティティ2のコントロールパネルを介してイベントプレース名を付与する。なお、ここで付与されたイベントプレース名は「ゲーム」であるものとして説明する。
【0103】
(2)エンティティ2のエンティティ制御部は、上述と同様に、NEファクトリにより生成されたSI−SWに対してグローバルエンティティ名「ゲーム+エンティティ2」を付与する。これにより、イベントプレースが生成される。このとき、ゲームイベントプレースの生成者であるエンティティ2は、イベントプレース生成時に当該イベントプレースに自動的に参加する。
(3)エンティティ2の所有者は、当該エンティティ2のコントロールパネルに対して、ゲームアプリケーションプログラム(SE)のプラグインを指示する。このとき、プラグインするアプリケーションの実行ファイル名、及び、SE共有の有無をパラメータとして与える。
【0104】
(4)エンティティ2のコントロールパネルはこの旨をエンティティ制御部に通知する。
(5)エンティティ2のエンティティ制御部は、プラグインする実行ファイル名を記憶するとともに、与えられた実行ファイル名を用いてアプリケーション(SE)を起動し、上述と同様に、SI−SWとアプリケーション間にセッションを確立する。すなわち、SIONetにおけるプラグインとは、アプリケーションとSI−SWとの間にセッションを確立することを意味する。
【0105】
(6)エンティティ2のエンティティ制御部は、エンティティ2のエンティティプロパティをアドバタイズ(公開)する。エンティティ2のエンティティプロパティの公開形態としては、例えば、以下のものがある。
・エンティティ2がベースイベントプレースに参加し、ベースイベントプレース内で、エンティティ2のエンティティプロパティを公開する。
・エンティティ2が、芋づる式探索を行うことにより、ゲームイベントプレースと関係の深いイベントプレースを発見、参加し、当該イベントプレース内で、エンティティ2のエンティティプロパティを公開する。
・エンティティ2をベースエンティティとする。すなわち、エンティティ2のエンティティプロパティ(エントリポイントとグローバルエンティティ名)を周知する。
【0106】
(7)エンティティ2の存在を知ったエンティティ1が、エンティティ2に対して、ゲームイベントプレースへの参加を要求する。
(8)この要求が承認された場合、エンティティ1は、エンティティ2に対して、シェアードリンクの確立を要求する。そして、上述と同様に、エンティティ1とエンティティ2の間にシェアードリンクが確立する。
(9)シェアードリンクが確立された場合、シェアードリンクの確立要求先(エンティティ2)は確立要求元(エンティティ1)に対して、当該イベントプレース内でイベントの送受信に必要な情報を返却する。具体的には、例えば、イベントプレース名(グローバルエンティティ名)、参加したイベントプレースがベースイベントプレースであるか否か、当該イベントプレースにおけるイベント転送方式(ルーティング方式)、イベントプレースのディスクリプション、プラグインされているSE情報(SE共有が有りの場合)等である。
【0107】
SE共有を共有する場合にシェアードリンク確立要求元に返却するSE情報とは、具体的には、例えば、上述したプラグインするアプリケーションの実行ファイル名や当該アプリケーションのファイル等である。
(10)当該ファイルを受けたエンティティ1のエンティティ制御部は、上述と同様に、与えられた実行ファイル名を用いてアプリケーションを起動し、エンティティ1内のSI−SWとアプリケーションとの間にセッションを確立する。これにより、エンティティ1内部に、ゲームアプリケーションプログラムをSEとしてプラグインする。
【0108】
すなわち、イベントプレースへの参加とは、シェアードリンクにより結合されたエンティティグループを形成し、プラグイン済みのアプリケーションプログラムを参加者が共有することを意味する。これにより、イベントプレースに参加するだけで、当該イベントプレース内のメンバーであるエンティティが、プラグインされているアプリケーションを、自動的に利用することが可能になる。なお、エンティティ1がゲームイベントプレースから退去するとき、プラグインされたゲームアプリケーションプログラムは、プラグアウトされる。なおその際、エンティティ1は、受信した当該ファイルを保有しつづけることもできるし、プラグアウト時に、当該ファイルが削除されることもある。
【0109】
上述した動作は、ピュア型のP2Pネットワーク環境でのアプリケーション共有である。そのため、アプリケーションプログラムの配信は、シェアードリンク確立先エンティティと確立元エンティティの2者間でのみ行われるため、シェアードリンクにより既に結合されている他のエンティティに対して影響を与えない。
すなわち、ファイル転送のため処理は2者間に局所化されるため、スケーラブルなSE共有を達成することができる。
【0110】
<ビジネスモデル>
ここで、上述したSIONetを、サービスとして提供する実施例を説明する。
(1)クライアントサーバモデル
予め決められたエンティティのみでイベントプレースを運営する形態である。すなわち、予め決められたエンティティのみが当該イベントプレースに参加(Join)することが可能であり、参加を許されたエンティティは、エンティティ間のシェアードリンクを確立することにより、エンティティグループを構成する。一方、それ以外のエンティティは当該エンティティグループに対してセッションを確立し、当該セッションを介したイベントの送受信を行う。すなわち、イベントプレース(予め定められたエンティティのグループ)がサーバであり、その以外のエンティティがクライアントに相当する。このビジネスモデルでは、エンティティグループのメンバーである各エンティティは、自律分散コンピュータとして振舞い、任意のエンティティが障害に陥った際には、残されたエンティティが自己組織化しイベントプレースの運営を継続する。また、サーバの処理能力向上を図りたい場合には、新たなエンティティを当該イベントプレースに参加させれば良い。そのため、従来のサーバ実現方式と比べて、耐故障性に強く、安価で、スケーラブルなサーバを実現することができる。
【0111】
(2)ハイブリッドモデル
例えば、ゲームイベントプレースの運営者となるエンティティは、ゲームイベントプレースを生成し、当該イベントプレース内でのベースエンティティとなる。一方、ゲームイベントプレースのユーザとして位置付けられるエンティティは、当該イベントプレースに参加することにより、当該イベントプレースでのサービスを享受する。従来のクライアントサーバモデルでは、ユーザ数の増加に比例して新たな設備投資(CPUパワー、ストレージ、通信帯域など)が必要とされたが、本ビジネスモデルは、ユーザがイベントプレースに参加することにより、ユーザ自身のエンティティをサービス運営のために提供するため、イベントプレース運営者は新たな設備投資を必要としない。そのため、安価で、スケーラブルなP2Pサ−ビス環境を構築できる。なお、ベースエンティティにおいて、当該イベントプレースに参加するユーザ(エンティティ)の認証、課金が可能である。また、ベースエンティティは、ディスカバリイベントを送出することにより、エンティティグループの中から、シェアードリンクの確立が可能なエンティティ(代替エンティティ)を発見し、発見されたエンティティを参加希望のエンティティに対し通知し、両者の間でシェアードリンクを確立させることも可能である。
【0112】
(3)ピュアモデル
すべてのエンティティが自由にイベントプレースに対して参加(退去)することが可能なビジネスモデルである。
上述したように、SIONetでは、運営・配置問題に帰着することにより、様々なビジネスモデルを共通の仕組みで実現できる。そのため、開発工数、規模、デバッグ効率、維持管理の容易性等に大きな効果を与える。
【0113】
なお、上述したように、“サスペンド”状態のエンティティは、エントランスやエンティティプロパティを公開することはできない。“サスペンド”状態のエンティティは、任意のイベントプレースにJoinすることにより“アクティブ”状態に遷移する。“アクティブ”状態のエンティティのみが、エントランスやエンティティプロパティを公開することが可能である。また、ベースイベントプレースにJoinしているエンティティのみがエントランスの公開が可能である。「コントロールパネルにより、公開が指示されている」かつ「当該エンティティに対するセッション(シェアードリンク)の確立数がデフォルト値を超えていない」を満足するとき、エンティティはエントランスやエンティティプロパティを実際に公開できる。例えば、エンティティの所有者がコントロールパネルを用いて公開を指示しても、デフォルト値を超えてシェアードリンクが確立している場合には、自動的に非公開モードとなる。なお、デフォルト値は、コントロールパネルで設定可能であり、例えば、エンティティの所有者が、当該エンティティの能力等により設定することができる。
【0114】
なお、ネットワークエンティティ、ネットワークエンティティファクトリ、エンティティ制御部、コントロールパネル、サービスエンティティ、意味情報スイッチ、意味情報ルータ、意味情報ゲートウェイは専用のハードウェアにより実現されるものであってもよく、また、メモリ及びCPU(中央演算装置)により構成され、その機能を実現するためのプログラムをメモリにロードして実行することによりその機能を実現させるものであってもよい。
【0115】
また、ネットワークエンティティ、ネットワークエンティティファクトリ、エンティティ制御部、コントロールパネル、サービスエンティティ、意味情報スイッチ、意味情報ルータ、意味情報ゲートウェイの機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより実現させてもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
【0116】
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【0117】
[この発明の実施形態]
以下、本発明の一実施形態について説明する。
SIONetにおけるイベントプレースの合成・連合・参加・吸収などの自己組織化操作、芋づる式探索、連鎖反応の波及範囲制御(TTL値の設定、イベントパス設定要求の波及範囲)、イベントパス多重度の高いエンティティへのシェアードリンク再確立(代替エンティティの探索)など、エンティティのオーナー(ユーザ)がコントロールパネルを介して指示していた機能項目を自動化することにより、コンパネレス(コントロールパネルからのユーザの入力が不要であること)が実現される。また、エンティティは、負荷状況、トポロジーに応じたエンティティの増設、撤収、マイグレーション等の自動化制御、統計情報の自動収集、人気の高い情報や流行している情報の自動収集などを行う。
また、ユーザの代理人としてユーザの嗜好や状況を把握するとともに、異なるサービス間でのユーザ嗜好を共有可能なユーザエージェント(UA)、コンテンツ提供者の代理人であるコンテンツエージェント(CA)、サービス提供者の代理人であるサービスエージェント(SA)などのマルチエージェントが、サービスエンティティとしてエンティティ内にプラグインされる。これらが、ユーザのフィルタ登録履歴、イベント送出履歴、利用したサービス履歴などを基に、エンティティの振る舞いを動的に決定する。これは、嗜好把握技術、思考、振る舞い、価値観、感性、感情の把握・ネゴシエーション・決定技術であり、さらに、エンティティのポリシーに基づく、コミュニティの自動構築、コミュニティ間のコミュニティコラボレーションを実現する。また、自由語彙でのコミュニケーションやSI−GWにおけるオントロジー自動変換やオーナーからの指示を不要(コンパネレス)にするためのエンティティの完全自動化、インテリジェントディスカバリなどを行う。
【0118】
ここでは、自動化制御の例として、芋づる式探索の自動化方法について提案する。図1は、本発明の一実施の形態による芋づる式探索の自動化制御を説明するための図である。芋づる式探索においては、エンティティが同時に所属しているイベントプレース情報を、いかに適切なイベントプレースに対して公開できるか、すなわち、有機的かつ効率的な芋づる式探索網の動的な構築が、芋づる式探索の探索精度を決定する主要因になる。SIONetにおいては、エンティティによるイベントプレース情報の公開契機として以下のものがある。
【0119】
(1) あるエンティティが、自身の生成したイベントプレースや自身がメンバーとして所属しているイベントプレースを積極的に紹介したい場合、紹介先イベントプレースのメンバーになることにより、生成イベントプレース(自身が生成したイベントプレース)のプロパティ情報を他のイベントプレースに対して公開する。例えば、図1において、イベントプレースDのメンバーであるエンティティ4が、同時にイベントプレースCのメンバーになることによって、イベントプレースCに対してイベントプレースDの紹介情報をプロパティ公開している様子を表している(▲1▼)。一般的に、イベントパス多重度の高いイベントプレース、トラストの高いイベントプレース、インセンティブの高いイベントプレースなど、同好のイベントプレースが紹介先イベントプレースとして選定される。
(2) 例えば、「野球」と「映画」の両方の情報を希望するエンティティは、「野球イベントプレース」と「映画イベントプレース」の二つのイベントプレースに同時に所属する。このとき、同時に所属しているイベントプレース情報として、「野球イベントプレース」には「映画イベントプレース」のプロパティ情報が公開されることになる。一方、「映画イベントプレース」には、「野球イベントプレース」のプロパティ情報が公開されることになる。
(3) 上記のように、同時に複数のイベントプレースに属するエンティティを介したイベントプレースの芋づる式探索の結果、所望のイベントプレースを発見したエンティティは、後続する他エンティティの芋づる式探索にボランティアとして貢献するために、芋づる式探索経路を確立することが義務づけられる。例えば、イベントプレースAに属するエンティティ1が、プロパティのディスカバリを行うことにより、イベントプレースBおよびイベントプレースCを経由して、イベントプレースDを発見し、ここに滞在するものとする(▲2▼)。このとき、エンティティ1は、自身の通過イベントプレースの中から任意選択されたイベントプレースにも所属することにより、当該イベントプレースに対してイベントプレースDのプロパティ情報を公開する。これは、たとえば、イベントプレースA、B及びEに属するエンティティ2が退去することに伴う芋づる式探索経路の喪失防止、および、イベントプレースDに対するショートカットルートの確立を目的としたものである。後者の典型例としては、新たにイベントプレースDのメンバーとなったエンティティ1が、イベントプレースAやイベントプレースBなどの探索経路イベントプレースに対して、エンティティ1の仮身エンティティを参加させ、仮身エンティティがイベントプレースDのプロパティ情報を公開する。これにより、イベントプレースCを経由しなくても、もしくは、エンティティ3が退去しても、イベントプレースAからダイレクトにイベントプレースDを発見することが可能になる。なお、仮身エンティティとは、ユーザがエンティティに対して操作(入力)することにより明示的に参加しているイベントプレース以外のイベントプレースに同時に属しているエンティティを指す。
なお、契機(1)および(3)においては、プロパティとして公開される「同時に所属しているイベントプレース情報」のライフタイム管理が行われる。たとえば、エンティティ1にイベントプレースDを紹介した、イベントプレースCに属するエンティティ4に対して貢献ポイントが払い出される(▲3▼)。そして、貢献ポイントが閾値(下限値)を下回らない限り、エンティティ4は、イベントプレースCにおいて、イベントプレース情報の公開を継続する。また、貢献ポイントが閾値を下回った場合には、エンティティ4が過去に通過したイベントプレースの中から次の公開先を選択する(▲4▼)。この考え方は、イベントプレースAにおいて、イベントプレースDのイベントプレース情報を公開しているエンティティ1に対しても適用される。このように、本機能は、芋づる式探索を行う際に重要なファクタとなる、同時所属イベントプレース情報の公開先イベントプレースを自動的に決定し、当該イベントプレースでの情報公開を行うことにより、効率的な芋づる式探索を実現する。
【0120】
そして、貢献ポイントが閾値を(上限値)を上回る場合には、エンティティ4は公開先のイベントプレースを追加する(▲5▼)。また、▲4▼に記載したように、貢献ポイントが閾値を下回り、エンティティ4が過去に通過したイベントプレースの中から次の公開先、例えばイベントプレースBを選択した場合には、イベントプレースCを退去し、イベントプレースBに参加して、プロパティを公開する(▲6▼)。
一方、エンティティ1の探索経路(通過経路)においては、エンティティ1の分身(仮身)がイベントプレースDを公開する(▲7▼)。
【0121】
芋づる式探索の目的を達成するため、コミュニティを遷移するメンバーの経歴情報とその経歴情報に従って、遷移後のコミュニティへの呼び込み広告と、広告による効果を評価して複数の広告が自然淘汰される手段により、ユーザの嗜好に基づくコミュニティの発見や必要なサービスを備えるコミュニティの発見に至るプロセスの一部または全てを自動化し、探索できることを特徴とする。なお、コミュニティとは、趣味嗜好・利害・地域などを同じくする、または複数のメンバーを組み合わせてサービスや機能を実現する人または物の集合体であり、ここではイベントプレースであるとする。従来の技術とは、本発明がコミュニティを遷移するメンバーの経歴情報を利用する点、コミュニティへの呼び込み広告とその広告が自然淘汰させるための評価を行う点が特に異なる。
【0122】
図25は、一実施の形態によるエンティティの構成図を示す。
ユーザインタフェース部は、ユーザにより探索のためのメイン画面から探索開始指示を受け付け、実行制御部を起動する。
実行制御部は、同好探索処理の指示、および発見した同好群が広告するコミュニティへと移動する処理を再帰的に繰り返す。これらの処理を行うためのルーチンとして、本制御部は同好探索部およびコミュニティ評価部を呼び出す。
同好探索部は、ユーザが入力した探索キーワードを所望として扱い、所望一致の判定は、エンティティが参加するコミュニティの説明文に対する文字列比較(部分一致検索)により行う、あるいは、ユーザの所望を解析した上で、その所望情報と一致する(または類似する)エンティティを発見することで判定が可能である。
コミュニティ評価部は、始めに同好探索部が発見したエンティティ群に対してコミュニティの紹介要求を行う。次に、それらのエンティティから紹介されたコミュニティに対して評価(点数付け)を行う。この時、紹介元エンティティから返されたコミュニティ評価点のみをもって、当該コミュニティの評価値とすることで評価が可能である。
【0123】
一方、広告制御部は、自身の参加しているコミュニティの広告を行うとともに、自身の参加しているコミュニティの評価を行うために、コミュニティ評価テーブルを保持する。本テーブル内の評価値は、紹介を行った際のコミュニティ評価部による評価(コミュニティ評価点)と、過去にコミュニティを紹介したエンティティからの紹介先でのユーザ満足度(例えば、滞在時間に基づく得点)をフィードバック制御部からフィードバックしてもらう(またはもらえない)ことによって常に変動する。コミュニティ評価テーブルに紹介すべきコミュニティがなくなると、現在行っている広告を中断し、別のコミュニティに移動して再度広告を開始する。
【0124】
フィードバック制御部は、ユーザ満足度に基づくコミュニティ評価の通知を行う。本制御部は、自動探索によるコミュニティへの参加実施後にセッション管理部より呼び出され、当該コミュニティの紹介元エンティティに対するユーザ満足度(例えば、滞在時間に基づく得点)を広告制御部にフィードバックすることが可能である。
したがって、本発明の目的である、ユーザの嗜好に基づくコミュニティの発見や必要なサービスを備えるコミュニティの発見に至るプロセスの一部または全てを自動化し、探索できる。
【0125】
さらに、セッション管理部が意味情報ネットワークとのセッションを管理し、各機能ブロックからの状態更新通知や問い合わせを受け付けることにより、参加しているセッションの管理やナビゲート情報など、セッションに関連する最新の情報を保持・提供することが可能である。
イベント解析部は、意味情報ネットワークからのイベント受信およびそのディスパッチを行い、受信したイベントからリクエストIDを抽出し、登録されているリスナを呼び出す。また、意味情報ネットワークによりセッション強制削除通知を受け取る。
意味情報ネットワーク(SIONet)インタフェース部(意味情報ネットワークアクセス手段)は、意味情報ネットワークが提供する基本的なオペレーションのほか、それらを組み合わせた定型的なオペレーション(セッション確立、参加、広告開始など)を他の機能ブロックに対し隠蔽する役割を持つ。したがって、本発明の目的である、ユーザの嗜好に基づくコミュニティの発見や必要なサービスを備えるコミュニティの発見に至るプロセスの一部または全てを自動化し、探索できる機能を意味情報ネットワーク上に実現することが可能である。
【0126】
図26は、一実施の形態によるコミュニティ探索の動作例である。
図26において、コミュニティ:A上から、エンティティ:Mが探索を開始する。なお、探索を行うエンティティ:M以外のエンティティは、全て同時EP(イベントプレース)情報(コミュニティの情報)を広告しているとする。そして、コミュニティ:A上にも他に広告を行っているエンティティが存在し、そのうちエンティティ:Nとエンティティ:Oにおいて、探索キーワードと自身に設定されているディスクプリションとが一致して発火する。これにより、エンティティ:Nとエンティティ:Oは、それぞれ探索キーワードに一致するコミュニティ:Bとコミュニティ:Cを紹介する。エンティティ:Mはこれら紹介されたコミュニティの評価点が、コミュニティ評価閾値より高ければ参加候補とする。この場合、エンティティ:Mはユーザの意思による参加であるため退去はしない。そして、さらに、エンティティ:Mは参加候補として紹介されたコミュニティ:Bとコミュニティ:Cへ「探索の為の参加」を行い、探索を続ける。
【0127】
コミュニティ:Bでは、エンティティ:Nとエンティティ:Qにおいて探索キーワードと自身に設定されているディスクプリションとが一致して発火する。これにより、エンティティ:N及びエンティティ:Qは、それぞれ探索キーワードに一致するコミュニティ:Aとコミュニティ:Eを紹介する。ここで、エンティティ:Mは紹介されたコミュニティの評価点がコミュニティ評価閾値より高ければ参加候補とするが、コミュニティ:Aはすでに通過しているため除外する。そして、さらにコミュニティ:Eに対して「探索の為の参加」を行い、コミュニティ:Bから退去する。
【0128】
一方、コミュニティ:Cでは、エンティティ:O、エンティティ:R、エンティティ:Sが発火し、それぞれ探索キーワードに一致するコミュニティ:A、コミュニティ:F、コミュニティ:Gを紹介する。エンティティ:Mは、紹介されたコミュニティの評価点がコミュニティ評価閾値より高ければ参加候補とするが、コミュニティ:Aはすでに通過しているため除外する。また、コミュニティ:Fとコミュニティ:Gは、エンティティ:Mの評価閾値を下回るため参加候補としない。このとき「探索の為の参加」は評価閾値を下回る評価点の中でもっとも高い評価点のコミュニティへ移動を行うものとし、ここではコミュニティ:Gへ「探索の為の参加」を行い、探索を続ける。
この工程を繰り返すことにより、参加候補最大数あるいは自動探索タイムアウト値に達するまで参加候補を探索し記録、利用者に候補として提示する。
探索開始時は、これらの作業を全ての参加しているコミュニティから同時に実施する。
【0129】
表1は、エンティティが保有するチューニングパラメータの一覧であるチューンナップパラメータ表であり、コミュニティの探索やコミュニティの評価等に使用される各種条件(パラメータ項目とその有効値及びデフォルト値等)を規定している。これらのチューニングパラメータの設定値は、外部ファイルにより定義されうるが、外部ファイルが存在しない場合には、デフォルト値が使用される。なお、項番は、レコードを指定するために便宜上使用される値である。また、説明の欄は、各パラメータ項目の使用用途や使用方法等を示す。
【表1】
【0130】
図27は、一実施の形態によるコミュニティの自動探索の概要フローを示す図である。
まず、ユーザは、探索元エンティティの表示する探索を行うためのメイン画面上に、探索キーワード(探索情報)を入力し(ステップS100)、探索開始ボタンをクリックする(ステップS110)。これにより、探索元エンティティは、後述する参加候補コミュニティ探索処理を実施する(ステップS120)。この参加候補コミュニティ探索処理は、初回の場合、探索を開始した時点で自身が参加しているコミュニティの全てを対象とし、参加候補最大数、もしくは、自動探索タイムアウト値を満たすまで実施される。
【0131】
このコミュニティ探索処理の結果、参加候補コミュニティがあった場合(ステップS130yes)、探索元エンティティは、コントロールパネルにより参加候補のコミュニティと、その評価とを表示する(ステップS140)。なお、SIONetにおけるイベントプレース参加最大数の設定値により、ユーザが選択可能なコミュニティの参加数は制限されて表示される。
一方、コミュニティ探索処理の結果、参加候補がなかった場合(ステップS130no)、探索の結果参加候補が発見できなかった旨をエンティティのダイアログに表示する(ステップS150)。
【0132】
図28は、一実施の形態による参加候補コミュニティ探索処理の概要フローを示す図である。
まず、探索元エンティティは、現在自身が属しているコミュニティを通過履歴に追加する(ステップS200)。このとき、引き継がれた通過履歴がある場合には、その履歴に現在のコミュニティを追加するが、引き継がれた通過履歴がない場合には、通過履歴を新規に追加する。
続いて、探索元エンティティは、同好(同じあるいは類似の属性を持つエンティティ)の探索処理を実行する(ステップS210)。同好の探索は、入力された探索キーワードと、エンティティが公開しているコミュニティの説明との文字列を比較することにより行う。これは、同好最大数、もしくは、オペレーション複数応答タイムアウト値を満たすまで実施される。
【0133】
同好が発見できた場合(ステップS220yes)、探索元エンティティは、発見した同好数分だけコミュニティ紹介要求処理を実施する(ステップS230)。これは、発見した同好に対して、コミュニティを紹介してもらうための処理であり、これにより、同好が参加しているコミュニティの探索キーワードに対する評価(コミュニティ評価)を取得する。そして、このコミュニティ評価値を基に参加候補となるコミュニティを判断してこの処理の呼び出し元に対して通知することにより、次探索候補コミュニティがあるか否かが判断される(ステップS240)。なお、この次探索候補のコミュニティは、コミュニティ評価がコミュニティ評価閾値を超えるコミュニティ全てを対象とする。あるいは、全てがコミュニティ評価閾値を超えなかった場合は、そのうち、コミュニティ評価が最大のものを対象とする。ただし、取得した全ての評価が「0」の場合、次探索候補のコミュニティはなしとなる。
次探索候補コミュニティがある場合、続いて探索元エンティティは、参加候補最大数に達した、もしくは、自動探索タイマー値を満たしたかにより、処理を継続か否かを判断する(ステップS250)。処理を継続する場合には、次探索候補数分だけ次探索候補のコミュニティに参加する(ステップS260)。そして、この参加したコミュニティに対して「参加候補コミュニティ探索処理」を次探索候補数分だけ実施する(ステップS270)。そして、探索元エンティティは、現在属しているコミュニティが、探索の為に参加していたコミュニティである場合には、そのコミュニティから退去する(ステップS280)。
なお、ステップS220において、同好を発見できない場合、ステップS240において、自探索候補コミュニティがない場合、あるいは、ステップS250において、処理を継続しない場合には、ステップS280のコミュニティからの退去を行う。
【0134】
図29〜図33は、一実施の形態によるコミュニティ自動探索の機能部間詳細シーケンス図である。
図29において、ユーザは、エンティティのコントロールパネルに表示されている同好探索のためのアイコンをダブルクリックする(ステップS300)。これにより、イベント解析部は同好検索のための画面表示イベントを受信し(ステップS301)、ユーザインタフェース部に探索のための画面表示を指示する(ステップS302)。ユーザインタフェース部は、探索のための画面表示に対する受付応答を返送し(ステップS303)、メイン画面を表示する。
【0135】
続いてユーザは、メイン画面に探索情報(探索キーワード)を設定し、START(探索開始)ボタンをクリックして探索開始を要求する(ステップS304)。すると、ユーザインタフェース部は、セッション管理部から自身の属するイベントプレースのEP情報のリストを取得する(ステップS305、ステップS306)。続いて、ユーザインタフェース部は、セッション管理部へ探索開始を通知する(ステップS307)。セッション管理部は、参加候補EPリストを初期化するとともに、受け付け応答を返送する(ステップS308)。ユーザインタフェース部は、受付応答を受信すると、探索時間の測定を開始し、自身の属するEP数分のスレッドを起動して、該イベントプレースにおける芋づる探索処理を実行する(ステップS309)。
【0136】
芋づる探索処理において、ユーザインタフェース部は、実行制御部を起動し、探索元EP−ID及び探索キーワードを受け渡す(ステップS310)。これにより、実行制御部は、同好探索処理を実行する(ステップS311)。
【0137】
図30に示す同好探索処理において、実行制御部は、同好探索部へ探索元EP−ID及び探索キーワードを受け渡し、同好探索を要求する(ステップS320)。同好探索部は、SIONetインタフェース部へ探索元EP−ID及び探索キーワードを受け渡して同好探索を指示すると(ステップS321)、探索の結果として同好のエンティティのグローバルエンティティ名(Global Entity Name)のリストが返送される(ステップS322)。実行制御部は、同好探索部からグローバルエンティティ名のリストを受信し(ステップS323)、このリストがNull、すなわち、同好が見つからなかった場合には、後述する探索結果表示処理を行う(ステップS324)。一方、グローバルエンティティ名のリストがNullではない、すなわち、同好のエンティティが見つかった場合には、以下に示すコミュニティ紹介要求処理を実行する(ステップS325)。
【0138】
図31に示すコミュニティ紹介要求処理において、実行制御部は、コミュニティ評価部へ探索元EP−ID、紹介要求先グローバルエンティティ名のリスト及び探索キーワードを受け渡し、コミュニティ紹介を要求する(ステップS330)。コミュニティ評価部は、SIONetインタフェース部へ探索元EP−ID、紹介要求先グローバルエンティティ名のリスト及び探索キーワードを受け渡し、コミュニティ紹介要求指示を行う(ステップS331)、同好のWell Known(周知)ポイント及びコミュニティ評価点の組のリストが返送される(ステップS332)。コミュニティ評価部は、セッション管理部へ紹介元グローバルエンティティ名と、探索キーワードと、参加候補Well Knownポイント及びコミュニティ評価点の組のリストと、通過履歴とを受け渡し、参加候補の登録を行う(ステップS333)。セッション管理部が参加候補の登録を行い、コミュニティ評価部が受け付け応答を受信すると(ステップS334)、ユーザインタフェース部へ芋づる探索継続可否判定を要求する(ステップS335)。ユーザインタフェース部は、セッション管理部から参加候補コミュニティ数を取得する(ステップS336、ステップS337)。そして、(参加候補コミュニティ総数<閾値)であり、かつ、(探索経過時間<閾値)である場合には「true(処理を継続する)」、(参加候補コミュニティ総数≧閾値)、あるいは、(探索経過時間≧閾値)である場合には「false(処理を継続しない)」の判定結果をコミュニティ評価部へ返送する(ステップS338)。コミュニティ評価部は、「true(処理を継続する)」を受信した場合に、次の探索先のWell Knownポイント及びコミュニティ評価点の組のリストを実行制御部へ送信する(ステップS339)。なお、次に探索を行うコミュニティとは、評価が閾値を超えているもの全てか、あるいは閾値を超えるものがない場合は評価点が最大のものである。また、直前の芋づる探索継続可否判定が「false(処理を継続しない)」であった場合には、「null」を返送する。
【0139】
実行制御部は、コミュニティ評価部から次の探索先のWell Knownポイント及びコミュニティ評価点の組のリストを受信すると、芋づるの深さが1以外の場合、すなわち、探索のための参加であった場合には、SIONetインタフェース部へ探索元EP−IDを受け渡し、退去指示を送信する(ステップS340)。SIONetインタフェース部は、退去指示を受けると受付応答を返送し、コミュニティからの退去を行う(ステップS341)。
【0140】
そして、図32において、コミュニティ制御部から受信した次の探索先のWell Knownポイント及びコミュニティ評価点の組のリストが「null」であった場合には、後述する探索結果表示処理を行う(ステップS350)。また、「null」以外であった場合には、Well Knownポイント数分のスレッドを起動し、紹介されたコミュニティへ参加するための移動処理を実行する(ステップS351)。
【0141】
移動処理において、実行制御部は、SIONetインタフェース部へWell Knownポイントを受け渡し、参加指示を行う(ステップS360)。SIONetインタフェース部がコミュニティへの参加を行い、実行制御部がEP−IDを受信すると、再び同好探索処理が行われる(ステップS361、ステップS362)。
【0142】
図33の探索処理表示処理において、ユーザインタフェース部は、一定時間待機を行っている(ステップS370)。この間、実行制御部では、起動したスレッドにおける探索を終了する。そして、待機時間が満了すると、参加候補が存在する場合、ユーザインタフェース部は、コントロールパネルへ探索結果を通知し(ステップS371)、ユーザは、コントロールパネルが表示する探索結果を確認する(ステップS372)。一方、参加候補が存在しない場合、ユーザインタフェース部は、通知ダイアログ表示の指示を受け、コミュニティ未発見を通知するための画面を表示する(ステップS375)。ユーザは、通知ダイアログにより、参加候補が存在しない旨を認識すると、OKボタンをクリックする(ステップS376)。
【0143】
図34は、一実施の形態によるメイン画面を示す図である。
図34に示す探索のためのメイン画面には、探索キーワードを入力する[探索情報]フィールド▲1▼と、現在広告を行っているコミュニティの情報を表示する[ナビゲート情報]リストボックス▲2▼と、[探索情報]フィールド▲1▼に入力された探索キーワードによる探索を開始するための[探索開始]ボタン▲3▼が備えられる。そして、[探索情報]フィールド▲1▼に探索キーワードを入力し、[探索開始]ボタン▲3▼を押下することにより、探索開始時点で、自身が参加しているコミュニティの全てを探索元として検索を開始する。なお、[ナビゲート情報]リストボックス▲2▼には、常に最新の状態が表示される。
【0144】
図35は、一実施の形態によるコミュニティ未発見時の探索結果表示画面を示す図である。
図33のステップS375において参加候補が存在しない場合に、ユーザインタフェース部は、図35に示す探索結果表示画面を表示する。ユーザは、通知ダイアログにより、コミュニティが発見できなかった旨を認識すると、OKボタン▲1▼をクリックし、この画面を閉じる。
【0145】
以上、この発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【0146】
【発明の効果】
以上説明したように、イベントプレース(コミュニティ)内の任意のエンティティが退去、参加等しても、同時に複数のイベントプレースに参加しているエンティティを介してイベントプレースを探索するための機能が阻害されることのないエンティティ装置、コミュニティ探索方法、及び、コンピュータプログラムを提供することができる。さらに、エンティティが属するイベントプレースにおいて自身を広告する価値があるか否かを学習することにより、適切なコミュニティの探索を自動的に行うことが可能なため、探索の待ち時間を少なくすることができ、さらには、リソースを有効に使用できる、また、探索ノウハウのないコミュニティ探索者(探索エンティティ)が適切なコミュニティを探索できる、などの利点及び効果がある。
【図面の簡単な説明】
【図1】本発明の一実施形態による芋づる式探索の自動化制御を説明するための図である。
【図2】本発明の前提技術であるSIONet(意味情報ネットワーク)におけるエンティティを説明するための図である。
【図3】SIONetにおけるエンティティの状態遷移を説明するための図である。
【図4】SIONetにおけるエンティティの内部構成を示すブロック図である。
【図5】SIONetにおけるイベントプレースの生成を説明するための図である。
【図6】SIONetにおけるエンティティがイベントプレースへ参加する動作を説明するための図である。
【図7】SIONetにおける意味情報スイッチSI−SWとセッションを説明するための図である。
【図8】SIONetにおけるイベントの構成を示す図である。
【図9】SIONetにおける意味情報体系を説明するための図である。
【図10】SIONetにおいて、あるイベントプレースに参加しているエンティティが、さらに他のイベントプレースに参加する動作を説明するための図である。
【図11】SIONetにおけるサービスエンティティのプラグインを説明するための図である。
【図12】SIONetにおけるリファレンスモデルを説明するための図である。
【図13】SIONetにおけるシェアードリンクを説明するための図である。
【図14】SIONetにおけるシェアードリンクを説明するための図である。
【図15】SIONetにおけるシェアードリンクを説明するための図である。
【図16】SIONetにおけるイベントパスを説明するための図である。
【図17】SIONetにおけるシェアードリンクの再確立を説明するための図である。
【図18】SIONetにおけるホップ属性を説明するための図である。
【図19】SIONetにおけるイベントプレース及びエンティティの増減設を説明するための図である。
【図20】SIONetにおけるイベントプレース及びエンティティの増減設を説明するための図である。
【図21】SIONetにおけるエンティティのアドバタイズメントを説明するための図である。
【図22】SIONetにおけるエンティティのアドバタイズメントを説明するための図である。
【図23】P2Pモデルのディメンションを示す図である。
【図24】SIONetの概念を説明する図である。
【図25】本発明の一実施形態によるエンティティの構成図である。
【図26】同実施形態によるコミュニティ探索の動作例を示す図である。
【図27】同実施形態によるコミュニティの自動探索の概要フローを示す図である。
【図28】同実施形態による参加候補コミュニティ探索処理の概要フローを示す図である。
【図29】同実施形態によるコミュニティ自動探索の機能部間詳細シーケンス図である。
【図30】同実施形態によるコミュニティ自動探索の機能部間詳細シーケンス図である。
【図31】同実施形態によるコミュニティ自動探索の機能部間詳細シーケンス図である。
【図32】同実施形態によるコミュニティ自動探索の機能部間詳細シーケンス図である。
【図33】同実施形態によるコミュニティ自動探索の機能部間詳細シーケンス図である。
【図34】同実施形態によるメイン画面を示す図である。
【図35】同実施形態によるコミュニティ未発見時の探索結果表示画面を示す図である。
Claims (6)
- 所定の区分による人または物の集合体である複数のコミュニティに属するエンティティ装置を介し、該コミュニティ間を遷移しながら適切なコミュニティの探索を行うエンティティ装置であって、
ユーザへの入出力インタフェースを提供し、ユーザから探索情報の入力を受けるとともに、探索結果を表示するユーザインタフェース手段と、
現在自身が属するコミュニティ内において、前記ユーザインタフェース手段が入力を受けた探索情報と一致あるいは類似するコミュニティの情報を広告する同好のエンティティの探索を行うための同好探索の指示と、検出された同好のエンティティが広告する他のコミュニティへの移動とを、所定の時間内あるいは移動先となるコミュニティが所定の数に達するまで再帰的に行う実行制御手段と、
前記実行制御手段から同好探索の指示を受け、現在自身が属するコミュニティ内の同好のエンティティの探索を行う同好探索手段と、
前記同好探索手段が検出した同好のエンティティの広告する他のコミュニティを評価し、この他のコミュニティのうち移動先となる他のコミュニティを選択して前記実行制御手段に通知するコミュニティ評価手段と、
自身が属するコミュニティへ、自身が同時に属する他のコミュニティの情報の広告を行うとともに、自身が属する該コミュニティの評価に基づき広告を中止する広告制御手段と、を備えることを特徴とするエンティティ装置。 - 前記実行制御手段が移動した他のコミュニティの情報を広告する同好のエンティティへ、この他のコミュニティにおけるユーザ満足度を通知するフィードバック制御手段をさらに備え、
前記広告手段は、自身が広告する他のコミュニティへ移動した他のエンティティから受信したユーザ満足度を基に、自身が属するコミュニティの評価を行うこと、を特徴とする請求項1に記載のエンティティ装置。 - さらに、意味情報ネットワークとのアクセスを提供する意味情報ネットワークアクセス手段と、
前記意味情報ネットワークに参加している他のエンティティとのセッションを管理するとともに、現在広告を行っているコミュニティの情報であるナビゲート情報を少なくとも含む、セッションに関連する最新の情報を保持及び提供するセッション管理手段と、
前記ユーザインタフェース手段が受けたユーザの操作により、前記意味情報ネットワークからのイベントを受信し、該イベントのディスパッチを行うイベント解析手段と、を備えることを特徴とする請求項1または請求項2に記載のエンティティ装置。 - 広告を行うコミュニティは、ユーザの操作を受けて参加したコミュニティ、あるいは、前記実行制御手段が移動を行ったコミュニティの中の任意のコミュニティであることを特徴とする請求項1から請求項3のいずれかの項に記載のエンティティ装置。
- 所定の区分による人または物の集合体である複数のコミュニティに属するエンティティ装置を介し、該コミュニティ間を遷移しながら適切なコミュニティの探索を行うエンティティ装置に用いられるコミュニティ探索方法であって、
ユーザから探索情報の入力を受け、
現在自身が属するコミュニティ内において、入力された探索情報と一致あるいは類似するコミュニティの情報を広告する同好のエンティティの探索と、
検出した同好のエンティティが広告する他のコミュニティの評価と、
前記評価を基にしたこの他のコミュニティのうち移動先となる他のコミュニティの選択と、
選択された他のコミュニティへの移動とを、
所定の時間内あるいは移動先となるコミュニティが所定の数に達するまで再帰的に行い、
探索結果を表示する一方、
自身が属するコミュニティへ、自身が同時に属する他のコミュニティの情報の広告を行い、
自身が属する前記コミュニティの評価に基づき広告を中止する、ことを特徴とするコミュニティ探索方法。 - 所定の区分による人または物の集合体である複数のコミュニティに属するエンティティ装置を介し、該コミュニティ間を遷移しながら適切なコミュニティの探索を行うエンティティ装置に用いられるコンピュータプログラムであって、
ユーザから探索情報の入力を受ける入力ステップと、
現在自身が属するコミュニティ内において、入力された探索情報と一致あるいは類似するコミュニティの情報を広告する同好のエンティティの探索と、
検出した同好のエンティティが広告する他のコミュニティを評価と、
前記評価を基にしたこの他のコミュニティのうち移動先となる他のコミュニティの選択と、
選択されたコミュニティへの移動とを、
所定の時間内あるいは移動先となるコミュニティが所定の数に達するまで再帰的に行うステップと、
探索結果を表示するステップと、
自身が属するコミュニティへ、自身が同時に属する他のコミュニティの情報の広告を行うステップと、
自身が属する前記コミュニティの評価に基づき広告を中止するステップと、をコンピュータに実行させることを特徴とするコンピュータプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003112907A JP4028429B2 (ja) | 2003-04-17 | 2003-04-17 | コンピュータ、イベントプレース探索方法、及び、コンピュータプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003112907A JP4028429B2 (ja) | 2003-04-17 | 2003-04-17 | コンピュータ、イベントプレース探索方法、及び、コンピュータプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004318594A true JP2004318594A (ja) | 2004-11-11 |
JP4028429B2 JP4028429B2 (ja) | 2007-12-26 |
Family
ID=33472992
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003112907A Expired - Fee Related JP4028429B2 (ja) | 2003-04-17 | 2003-04-17 | コンピュータ、イベントプレース探索方法、及び、コンピュータプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4028429B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010067457A1 (ja) * | 2008-12-12 | 2010-06-17 | 富士通株式会社 | グループ管理装置 |
CN109885180A (zh) * | 2019-02-21 | 2019-06-14 | 北京百度网讯科技有限公司 | 纠错方法和装置、计算机可读介质 |
-
2003
- 2003-04-17 JP JP2003112907A patent/JP4028429B2/ja not_active Expired - Fee Related
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010067457A1 (ja) * | 2008-12-12 | 2010-06-17 | 富士通株式会社 | グループ管理装置 |
JP5146539B2 (ja) * | 2008-12-12 | 2013-02-20 | 富士通株式会社 | グループ管理装置 |
US8959193B2 (en) | 2008-12-12 | 2015-02-17 | Fujitsu Limited | Group management device |
CN109885180A (zh) * | 2019-02-21 | 2019-06-14 | 北京百度网讯科技有限公司 | 纠错方法和装置、计算机可读介质 |
CN109885180B (zh) * | 2019-02-21 | 2022-12-06 | 北京百度网讯科技有限公司 | 纠错方法和装置、计算机可读介质 |
US11663269B2 (en) | 2019-02-21 | 2023-05-30 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Error correction method and apparatus, and computer readable medium |
Also Published As
Publication number | Publication date |
---|---|
JP4028429B2 (ja) | 2007-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Conti et al. | From opportunistic networks to opportunistic computing | |
da Silva et al. | Middleware proposals for mobile ad hoc networks | |
JP4028429B2 (ja) | コンピュータ、イベントプレース探索方法、及び、コンピュータプログラム | |
JP3850378B2 (ja) | エンティティ装置、アドホックネットワーク構築方法及びアドホックネットワーク構築プログラム並びにその記憶媒体 | |
JP3946658B2 (ja) | エンティティ装置、イベント転送制御方法、イベント転送制御プログラム及びその記録媒体 | |
JP3723127B2 (ja) | エンティティ装置、情報公開システム、方法、記録媒体及びプログラム | |
JP3803329B2 (ja) | エンティティ装置、代替エンティティ探索方法及び代替エンティティ探索プログラム並びにその記録媒体 | |
JP3723126B2 (ja) | エンティティ装置、名称付与方法、記録媒体及びプログラム | |
JP3983187B2 (ja) | エンティティ装置、リンク再確立方法、及び、コンピュータプログラム | |
JP3822178B2 (ja) | エンティティ装置、障害回復方法、及び、コンピュータプログラム | |
JP3792664B2 (ja) | エンティティ装置、リプライ通知制御方法、リプライ通知制御プログラム及びその記録媒体 | |
JP3844747B2 (ja) | エンティティ装置、シェアードリンク再確立方法、シェアードリンク再確立プログラム及びその記録媒体 | |
JP3974357B2 (ja) | シェアードリンク設定方法、通信システム、エンティティ装置、およびそのコンピュータプログラムならびにその記録媒体 | |
JP3987817B2 (ja) | エンティティ装置、サービス共有方法、及び、コンピュータプログラム | |
JP3974054B2 (ja) | エンティティ装置、シェアードリンク制御方法、認証方法及びシェアードリンク制御プログラム並びにその記録媒体 | |
JP3782345B2 (ja) | 組み込みシステム、方法、記録媒体及びプログラム | |
EP2138964A1 (en) | Social networking protocol for mobile social networks | |
JP3850379B2 (ja) | 意味情報ネットワークの構築方法および意味情報ネットワークシステム並びにプログラム | |
JP3910550B2 (ja) | 意味情報ネットワークにおけるデータ検索方法および意味情報ネットワークシステム並びにプログラム | |
JP2004265325A (ja) | 意味情報ネットワークにおけるサービス提供方法および意味情報ネットワークシステム並びにプログラム | |
Baklouti | Service composition in opportunistic networks | |
JP3732762B2 (ja) | 意味情報スイッチ、意味情報ルータ、方法、記録媒体、プログラム | |
Espinoza et al. | Generic peer-to-peer support for a personal service platform | |
JP2006351036A (ja) | アドバタイズメント方法、通信システム、エンティティ装置、およびそのコンピュータプログラムならびにその記録媒体 | |
JP2002183197A (ja) | 意味情報ネットワークを用いた情報検索方法とシステム、情報提供方法とシステムおよび送信端末と受信端末 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040728 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070626 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070827 |
|
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: 20071002 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071011 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101019 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101019 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101019 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111019 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111019 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121019 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121019 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131019 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |