JP3850379B2 - 意味情報ネットワークの構築方法および意味情報ネットワークシステム並びにプログラム - Google Patents
意味情報ネットワークの構築方法および意味情報ネットワークシステム並びにプログラム Download PDFInfo
- Publication number
- JP3850379B2 JP3850379B2 JP2003065159A JP2003065159A JP3850379B2 JP 3850379 B2 JP3850379 B2 JP 3850379B2 JP 2003065159 A JP2003065159 A JP 2003065159A JP 2003065159 A JP2003065159 A JP 2003065159A JP 3850379 B2 JP3850379 B2 JP 3850379B2
- Authority
- JP
- Japan
- Prior art keywords
- entity
- event
- entities
- semantic information
- shared link
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Computer And Data Communications (AREA)
- Small-Scale Networks (AREA)
Description
【発明の属する技術分野】
本発明は、汎用的なP2P(Peer 2 Peer)プラットフォームである意味情報ネットワークに係り,特に、望みのネットワークを自在に構築することができる意味情報ネットワークの構築方法および意味情報ネットワークシステム並びにプログラムに関する。
【0002】
【従来の技術】
近年、ネットワークの業界において、「ブローカレス型探索モデル」という新たな概念が考え出された。このブローカレス型探索モデルが、2000年3月に発表されたGnutellaのような、世界中で注目されるようになったP2P(Peer-to-Peer)に相当する。また、2001年4月に発表されたJXTAもP2P、すなわちブローカレス型探索モデルに相当する。P2Pは、WWW以来の革新技術であり、第3世代と呼ばれている。なお、近年、伝送レイヤにP2Pの概念を適用したブローカレス型伝送モデルや、ポリシーレイヤにP2Pの考え方を適用したブローカレス型ポリシーモデルの研究開発が活発化していている。ブローカレス(配信)モデルのディメンションを図23に示す。このブローカレス型探索モデルの1つがSIONet(Semantic Infomation 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】
【発明が解決しようとする課題】
ところで、従来のネットワークシステムの構築においては、予め決めたネットワークの形状に合わせてネットワークシステムを設計するようになっており、このため、ネットワークの形状が変わる毎にシステム設計をし直さなければならない問題があった。
この発明はこのような事情に鑑みてなされたもので、その目的は、種々の形状のネットワークに対応することができ、したがって、ネットワークの形状が変わってもシステム設計をし直す必要がない意味情報ネットワークの構築方法および意味情報ネットワークシステム並びにプログラムを提供することにある。
【0009】
【課題を解決するための手段】
本発明は上記の課題を解決するためになされたもので、請求項1に記載の発明は、複数のエンティティをシェアードリンクを介して接続してなる意味情報ネットワークの構築方法において、前記意味情報ネットワークへ参加を希望するエンティティが既に前記意味情報ネットワークに参加しているエンティティに参加申込を行う過程と、前記参加申込を受けたエンティティが、その時点で既に受け付けているエンティティの数が予め規定されている受付最大数に達しているか否かを調べ、達していない場合に、前記申込があったエンティティに対しシェアードリンクの確立を行う過程とを有することを特徴とする意味情報ネットワークの構築方法である。
【0010】
請求項2に記載の発明は、請求項1に記載の意味情報ネットワークの構築方法において、前記参加を希望するエンティティは、参加申込に際し、複数のエンティティへの参加であるか否かを調べ、複数エンティティへの参加申込でない場合に前記意味情報ネットワークを構成するエンティティに参加申込を行うことを特徴とする。
【0011】
請求項3に記載の発明は、請求項1に記載の意味情報ネットワークの構築方法において、前記意味情報ネットワークに参加しているエンティティは、自身が参加申込を行ったエンティティと、自身への参加申込を受け付けたエンティティのリストを保持することを特徴とする。
【0012】
請求項4に記載の発明は、複数のエンティティをシェアードリンクを介して接続してなる意味情報ネットワークシステムにおいて、前記エンティティが、自身が参加要求を行ったエンティティと、自身への参加要求を受け付けたエンティティのリストを記憶する記憶手段と、前記リストに記録された、参加要求を受け付けたエンティティ数が予め設定された受付最大数に達していない場合に、参加申込があった外部のエンティティに対しシェアードリンクの確立を行うシェアードリンク確立手段とを具備することを特徴とする意味情報ネットワークシステムである。
【0013】
請求項5に記載の発明は、請求項4に記載の意味情報ネットワークシステムにおいて、前記受付最大数が「1」であることを特徴とする。
請求項6に記載の発明は、請求項4に記載の意味情報ネットワークシステムにおいて、前記受付最大数が「2」であることを特徴とする。
【0014】
請求項7に記載の発明は、請求項4に記載の意味情報ネットワークシステムにおいて、前記受付最大数がN(N;正の整数)のエンティティと受付最大数が「0」のエンティティによって構成したことを特徴とする。
【0015】
請求項8に記載の発明は、複数のエンティティをシェアードリンクを介して接続してなる意味情報ネットワークシステムにおいて、前記エンティティを構成するコンピュータに、内部のリストに記録された、参加要求を受け付けたエンティティ数が予め設定された受付最大数に達しているか否かを調べる手順と、受付最大数に達していない場合に、参加申込があった外部のエンティティに対しシェアードリンクの確立を行う手順と、参加要求を受け付けたエンティティ数を前記リストに書き込む手順とを実行させるためのプログラムである。
【0016】
なお、この明細書において、エンティティとは、パーソナルコンピュータ、ワークステーション、情報携帯端末、携帯電話、ウエアラブルコンピュータなどのあらゆるコンピュータの総称である。
シェアードリンクとは、2つのエンティティを接続するソフトウエアであり、データ転送要件を相互に設定できるソフトウエアをいう。
【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が語彙概念のみ(照合条件は常に真)をフィルタに設定する「語彙概念によるイベントルーティング」と、語彙概念と語彙との照合条件をフィルタに設定する「語彙によるイベントルーティング」に大別される。前者は主にマルチホップ型属性付きマルチキャスト通信に、後者は主にマルチホップ型ユニキャスト通信、マルチホップ型マルチキャスト通信に用いられる。これは、障害処理通知、統計情報通知、アライブ通知、リプライ通知、アドバタイズメント通知などで用いられている。
【0054】
なお、マルチホップ型ブロードキャスト通信、マルチホップ型属性付きマルチキャスト通信、マルチホップ型ユニキャスト通信、マルチホップ型マルチキャスト通信のようなマルチホップ通信のほかに、SI-Rの設定するフィルタ値により、通信先エンティティのエントリポイントを用いた直接通信も可能である。なお、マルチホップ型ブロードキャスト通信、マルチホップ型属性付きマルチキャスト通信、マルチホップ型ユニキャスト通信、マルチホップ型マルチキャスト通信については後述する。
【0055】
(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を発火させないことができる。
【0056】
<イベントパスの確立>
イベント転送(イベントルーティング)のための経路選択情報(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に波及することにより、イベントパスが確立される。これを「イベントパスの設定、もしくは波及」と呼ぶ。
【0057】
ここで、上述した「語彙概念によるイベントルーティング」のためのイベントパスの確立について説明する。図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において行う。
【0058】
また、上述した「語彙によるイベントルーティング」のためのイベントパスの確立について説明する。図15において、「語彙によるイベントルーティング」のためのイベントパス確立に際しては、エンティティ2のSI-R2,1 は、SE3が登録したフィルタ値を、そのままエンティティ1のSI-SW1へのフィルタ値として設定する。すなわち、SI-R2,1 は、SE3がフィルタ登録したイベントタイプと意味情報との両者をエンティティ1のSI-SW1へとフィルタ登録し、SI-SW1において完全なフィルタリングを行う形態である。
【0059】
そのため、語彙によるイベントルーティング方式では、無駄なイベント転送が全く発生しないが、ルーティングのためのイベントパス設定オーバヘッドが膨大になるため、フィルタ登録数に比べてイベント送出数が十分大きい場合に有効な方式である。一方、イベントタイプに基づくルーティング方式は、前述の2方式の折衷案的な位置付けにある。すなわち、フィルタ登録数とイベント送出数が同程度の場合、もしくは、フィルタ登録数とイベント送出数の比率を予測できないような利用形態において有効である。これらの仕組みにより、意味情報に基づく、イベントのマルチホップ通信が実現される。なお、イベントプレースの生成時、もしくは、SEからのフィルタ登録時に、イベントルーティング方式を指定できる。
【0060】
イベントパスの設定要求はイベントプレース内のすべてのSI-Rに対して波及するが、TTL値により、その波及範囲を制限することができる。図16を用いて、その動作を簡単に説明する。ここでは説明の便宜上、語彙概念ルーティングのためのイベントパス確立を前提とするが、これに限られるわけではない。また、各エンティティは、同じ語彙概念をアドバタイズ(フィルタ登録)するものとする。また、TTL値を2として説明する。
【0061】
図16(a)において、エンティティ2のSI-Rがイベントパスの設定要求を開始する。ここでは、TTL値が2であるため、エンティティ1、エンティティ3、そしてエンティティ4に対してのみイベントパスの設定要求が波及し、その結果、図16(b)に示すようにイベントパスが確立される。
【0062】
上述と同様に、エンティティ11のSI-Rがイベントパスの設定要求を開始すると、エンティティ10、及びエンティティ9に対してイベントパスが確立される。図16に示す構成では、エンティティ2のSI-R及びエンティティ11のSI-Rがイベントパスの設定要求をすると、エンティティ5にはイベントパスが設定されないため、エンティティ2とエンティティ11の間では、イベントの共有が行われない。つまり、エンティティ2から生起したイベントは、エンティティ5〜11に連鎖反応せず、エンティティ5〜11へはイベントが転送されないことになる。
【0063】
しかしながら、図16(b)に示すように、エンティティ5のSI-Rがイベントパスの設定要求を開始することにより、エンティティ4、エンティティ5、エンティティ6、エンティティ7、そしてエンティティ9に対してイベントパスが確立される。結果的に、図16(c)に示すように、エンティティ8を除く、イベントプレース内のすべてのエンティティに対してイベントパスが確立される。
【0064】
このように、当該語彙概念が当該イベントプレースにおいて、使用頻度の高いもの(評判が高い、流行しているもの)であるならば、最終的に、イベントプレース内にイベントパスの確立が行き渡ることになる。その逆で、あまり流行していない語彙概念は、いずれ淘汰されることになり、これにより緩やかな連鎖反応を実現できる。なお、図16におけるイベントパス上の数字は、その多重度を示している。
【0065】
なお、エンティティは、イベントパスの多重度をエンティティプロパティの属性として公開することができる。一方、エンティティプロパティのディスカバリにより、イベントパスの多重度が高いエンティティを発見することができる。このとき、当該エンティティに対して、シェアードリンクの張り替えを行うことにより、同好の志(同好のエンティティ)が緩やかに近傍に集まることができる(同好エンティティの局所化)。エンティティプロパティの詳細については後述する。
【0066】
分散オブジェクト技術の観点から、イベントパスを以下のように解釈することもできる。世界中に超分散しているエンティティは、エンティティ間でなんらかの「相関関係」を有する。相関関係を与えるものとしては、エンティティ名、グループ名、属性(位置、興味、評判、流行、サービス)など様々なプロパティがある。エンティティは、相関関係に基づいて、エンティティ間の結びつきを持ち分散協調する。この、エンティティの相関関係を与えるものを、エンティティプロパティという。
【0067】
SIONetでは、この相関関係を語彙概念と語彙により表現し、シェアードリンクに基づいて、イベントパスとして設定する。また、相関関係の強弱が、語彙概念の汎化・特化、イベントパスの多重度などに相当する。すなわち、SIONetでは、イベントパスにより、エンティティ間の相関関係を動的に制御・管理している。これこそが、フィルタによる連鎖反応の制御である。そのため、エンティティは固定的なエンティティ識別子を有していない。
【0068】
例えば、IPアドレスは、位置に基づいたエンティティの固定的な識別子であるが、SIONetでは、これの代わりに、エンティティプロパティを語彙概念・語彙として記述したものをエンティティ識別子として用いる。エンティティは、これらをフィルタとしてSI-SWに登録することにより、エンティティのプロパティ(エンティティ識別子)を宣言するとともに、自身のプロパティをシェアードリンクに基づいてアドバタイズする。これがイベントパスの波及に相当する。これにより、イベントパスが確立される。
【0069】
上述したように、SI-Rは、イベント送信とイベント受信の両者の側面を持つネットワークエンティティであり、一般のサービスエンティティと本質的な違いはない。SIONetでは、SI-RのようなSIONetの制御に用いられるエンティティを、サービスエンティティ(SE)と特に区別して、ネットワークエンティティ(NE)と呼ぶ。SIONetにおいては、サービスエンティティ、ネットワークエンティティのすべてのエンティティを共通のエンティティとして扱い、さらに、イベント送出とイベント受信、すなわち刺激と発火の連鎖反応という単純かつ一貫性のある共通ロジックに従って自律動作させることにより、すべてのエンティティが自律分散協調可能な超分散・超疎結合アーキテクチャを提供する。
【0070】
<シェアードリンクの解除と再確立>
イベントプレースに参加しているエンティティが、障害に陥ったり、イベントプレースから退去する場合など、様々な理由により当該エンティティがネットワークの運営に関わることができないケースにおいては、残されたエンティティが自己組織化することによりネットワークサービスを継続できることが必要になる。
SIONetでは、このようなケースにおいては、SI-SW間において確立されているシェアードリンクを解除し、さらにシェアードリンクの再確立を行う。その動作を図17を参照して説明する。
【0071】
図17において、シェアードリンク確立要求の先頭数字(図中▲1▼や▲2▼など)は、それらの要求順序を示している。つまり、シェアードリンク確立要求の順序は、まず、エンティティ2からエンティティ1へシェアードリンクの確立要求を行う。次にエンティティ3からエンティティ2へシェアードリンクの確立要求を行う。最後に、エンティティ4からエンティティ2へシェアードリンクの確立要求を行うものとする。なお、ここで、「各エンティティは、同一イベントプレース内においてシェアードリンクの確立要求を高々1回しかできないが、無制限に確立要求を受け付けることが可能なリンクトポロジーに基づいて、シェアードリンクの確立を行う」リンク確立手法を提案する。これにより、シェアードリンクで結合されたエンティティ間に、ループが発生しないことが保証される。すなわち、この手法を用いることにより、隣接エンティティ間のリンク再確立のみで開リンクトポロジーを簡単に実現できる。
【0072】
上述した順序で確立要求が成功すると、前述した手順で各SI-SW間にシェアードリンクが確立される。シェアードリンクが確立されると、各エンティティのエンティティ制御部は、自身が確立要求を行ったエンティティと、自身への確立を受け付けたエンティティを記憶している。例えば、エンティティ2は、自身が確立要求を行ったエンティティ1と、自身への確立を受け付けたエンティティ3、エンティティ4のリストを保持している。
この状況において、例えば、エンティティ2の退去、減設などが行われる場合、自身のSI-SW2に対して確立されているシェアードリンクの解除要求を発行し、シェアードリンクの解除を行う。その後、各エンティティは新たなシェアードリンクの確立を行う。以下、その動作を説明する。
【0073】
(1)エンティティ2が退去する場合、エンティティ2のエンティティ制御部は、自身のシェアードリンクを解除する旨を、1ホップのエンティティ(エンティティ1、エンティティ3、エンティティ4)に対して通知する。これは、イベントのTTL値を1にしてイベント送出を行うことにより可能になる。なお、このとき、自身へのシェアードリンク確立を受け付けたエンティティ(エンティティ3、エンティティ4)に対しては、自身に代わる新たなシェアードリンクの確立要求先として、自身が確立要求を行ったエンティティ1を教える。なお、自身が確立要求を行ったエンティティが存在しない場合には、自身への確立要求元エンティティ(1ホップ先のエンティティ)の中から任意のエンティティを選択して、これを自身に代わるシェアードリンクの確立要求先とする。
【0074】
(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へのセッションを解除する。
【0075】
(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 を確立させる。
【0076】
上述したように、シェアードリンクの確立処理、再確立処理は、隣接するエンティティ間においてのみ行われ、他のエンティティには影響を与えない。すなわち、全てのエンティティに対するリンクの再構築を必要としない。
【0077】
なお、エンティティの退去や減設などの正当な手順を踏んだシェアードリンクの解除要求ばかりでなく、エンティティの障害、電源断、セッション(物理的な通信路)の障害などに起因して、シェアードリンクを再確立しなければならないケースがある。しかしながら、このようなケースにおいては、シェアードリンクの再確立時に必要となる代わりのエンティティを教授できない可能性がある。SIONetでは、このような状況に対応するために、各エンティティはnホップ(nは任意の自然数)のイベントを送出することにより、代わりの確立要求先エンティティの把握を行っている。なお、SIONetでは、TTL値とホップ属性を用いることにより、更にきめこまかなホップ制御が可能である。ホップ属性の例として、以下のものがある。
【0078】
▲1▼シェアードリンクの確立要求先エンティティのみをホップ対象とする。
▲2▼シェアードリンクの確立要求元エンティティのみをホップ対象とする。
▲3▼すべてのエンティティをホップ対象とする。
【0079】
▲1▼のホップ属性を指定した場合の、イベントの流れの例を図18の破線で示している。図18において、(i/j)は各エンティティにおいて記憶しているシェアードリンクの確立情報である。iはエンティティがシェアードリンクの確立要求を行った先のエンティティを示しており、一方、jはエンティティがシェアードリンクの確立要求を受け付けたエンティティを示している。例えば、エンティティ3の(2/5、6)は、エンティティ3がエンティティ2に対して確立要求を行い、エンティティ5及びエンティティ6から確立要求を受け付けていることを表している。各エンティティがシェアードリンクの確立情報を保持することにより、例えば、エンティティ3が他のエンティティに対して、更なるシェアードリンクの確立要求を行った場合、その要求をエラーとしてリジェクトすることができる。これにより、前述した開リンクトポロジーの一貫性を保証している。この状況において、エンティティ6が3ホップで、上述▲1▼のホップ属性を持つイベントを送出することにより、エンティティ1とエンティティ2の存在を知ることが可能になり、これらがエンティティ3障害時の代替エンティティとなる。
【0080】
なお、上述したホップ属性は、障害時の代替エンティティの探索ばかりでなく、シェアードリンクの確立を受け付け可能なエンティティの探索、トップ(誰にもシェアードリンクの確立を行っていない)エンティティの探索などに有効である。SIONetでは、トップのエンティティのみが、他のイベントプレースに対して、フェデレーション(連携、イベントプレース間のシェアードリンクに相当)を確立することができる。
【0081】
<オンライン増減設の目的>
SIONetにおけるエンティティ増減設の目的は、主に以下の二つに大別される。
(1)イベントプレースのトータル処理能力向上の観点から、イベントプレース内のエンティティを増設し、イベントのフィルタリング処理を負荷分散する。その逆の観点から、エンティティを減設する。これは、主に、ハイブリッドP2P、バックボーンP2Pネットワークの運用において用いられる。
(2)動的に生成されたエンティティに対して、シェアードリンクを柔軟に確立することにより、フレキシブルでグローバルなP2Pネットワークをボトムアップ的に構築する。これは、主に、ピュアP2Pネットワークの運営において用いられる。
【0082】
なお、ハイブリッド型P2Pネットワークとは、例えばネットワークプロバイダなどの運営者がホスト等にイベントプレースをあらかじめ生成し、個人の端末等のサービスエンティティがセッションによりイベントプレースと接続することにより構成されるネットワークである。また、ピュア型P2Pネットワークとは、個人の送受信端末たるエンティティがシェアードリンクで各々接続されることにより構成されるネットワークであり、このネットワークのうち、イベントを共有する最小単位がイベントプレースである。バックボーン型P2Pネットワークとは、ネットワーク間の接続形態のことであり、例えば、複数の地域のピュア型P2Pネットワークをハイブリッド型P2Pネットワークを経由して接続した状態のネットワークのことをいう。
【0083】
<増減設の形態>
SIONでは幾つかの増減設形態を提供しているが、ここでは、図19、図20に例を示す代表的な形態について述べる。
(1)イベントプレースの合成と分離
図19(a)に示すように、複数のイベントプレースを合成することができる。ここで合成とは、複数のイベントプレースにそれぞれ属するエンティティを、一つのイベントプレース内のメンバーとして集めることを言う。典型的な例として、異なるサービス運営者間の業務提携に基づく、サービス統合(情報共有)が考えられる。
【0084】
これは、イベントプレースに属する任意のエンティティ、もしくはイベントプレースに対して合成要求を行うことにより、合成要求先イベントプレース内のエンティティに対してシェアードリンクの確立要求が発行される。その結果、SI-SW間にシェアードリンクが確立され、両者の合成が実現される。なお、合成の要求元及び要求先は、それぞれ、エンティティでもイベントプレースでもどちらであってもかまわない。一方、分割する場合には、確立されているシェアードリンクを解除し、それぞれのイベントプレースに分離する。
【0085】
(2)イベントプレースへの参加と退去
図19(b)に示すように、イベントプレース内のエンティティ、もしくは、イベントプレースに対してJoin(参加)要求を行うことにより、要求元エンティティにSI-SWが生成される。そして、要求先エンティティに対してシェアードリンクの確立要求が発行されることにより、SI-SW間にシェアードリンクが確立され、当該イベントプレースに参加することができる。
エンティティがイベントプレースから退去する場合には、上述と同様に、エンティティ間のシェアードリンクを解除し、さらに、シェアードリンクの再構築を行い、当該イベントプレースから退去する。このとき、退去したエンティティの状態は、サスペンド状態へと遷移する。
【0086】
なお、イベントプレース側からエンティティに対してシェアードリンクの確立を要求することにより、当該エンティティをイベントプレース内に取り込むことも可能である。これを吸収という。その逆を***という。
(3)エンティティ(SI-SW)の増減設
図20(c)に示すように、イベントプレース内のエンティティ、もしくは、イベントプレースに対して、エンティティの増設要求を行うと、指定されたエンティティにSI-SWが新たに生成され、既存のSI-SWとの間にシェアードリンクが確立される。一方、イベントプレースにエンティティの減設要求を行うと、指定されたエンティティに対しシェアードリンクの解除要求が発行され、SI-SW間のシェアードリンクが解除された後、シェアードリンクの再確立が行われ、当該エンティティが削除される。このとき、エンティティの状態は、Non-Existentに遷移する。
【0087】
(4)イベントプレース間のフェデレーション
図20(d)に示すように、イベントプレース内のエンティティ、もしくは、イベントプレースに対して、フェデレーション(連携)要求を行うことにより、イベントプレース間でイベントを転送するSI-GWが動的に生成され、セッションを介して両イベントプレースが連携する。なお、フェデレーションの要求元及び要求先は、それぞれ、エンティティでもイベントプレースでもどちらであってもかまわない。
【0088】
<エンティティのアドバタイズメント>
図21、図22を参照し、エンティティのアドバタイズメント(公開)について説明する。SIONetにおけるエンティティのアドバタイズメントには、以下の2つの観点がある。
観点1:エントランスのアドバタイズメント
観点2:エンティティプロパティのアドバタイズメント
以下、各々の観点について説明する。
観点1:エントランスのアドバタイズメント
ベースイベントプレースは、エンティティに取って、最適なイベントプレースをいもづる式に探索(ディスカバリ)するためのベース(起点)となるイベントプレースである。つまり、ベースイベントプレースがSIONetへのエントランス(入り口)となる。そのため、ベースイベントプレースに参加しているエンティティは、SIONetのエントランスを公開することができる。ここで、エントランスの公開とは、シェアードリンクの確立要求先となるエンティティのエントリポイントとグローバルエンティティ名をアドバタイズすることを意味する。この公開情報は、後述するブロードキャストを用いた探索により発見される。
【0089】
観点2:エンティティプロパティのアドバタイズメント
シェアードリンクで接続されている任意のエンティティグループ(ベースイベントプレースを含むすべてのイベントプレース)において、各エンティティは自身のエンティティプロパティをアドバタイズすることができる。これが前述したイベントパスの波及に相当する。この公開情報は、後述するディスカバリイベントの送出により発見される。
【0090】
以下に、エンティティの公開、探索から、エンティティグループ形成までの流れを説明する。なお、以下では、ベースエンティティ、エンティティ1、エンティティ2、エンティティ3、エンティティ4、エンティティ5、エンティティ6はベースイベントプレースに属しており、エンティティ3、エンティティ11、エンティティ12、エンティティ13はイベントプレースαに属しているものとして説明する。
【0091】
▲1▼図21に示すように、SIONetソフトウエアをホストにインストールする。この時点でのエンティティの状態は、前述したように"Non-Existent"である。
説明の便宜上、このエンティティをエンティティYとする。
▲2▼SIONetソフトウエアを実行することにより、エンティティYは"Non-Existent"から"サスペンド"状態に遷移する。この状態のエンティティは、SIONetからその存在がまだ認知されていない。
【0092】
▲3▼"サスペンド"状態のエンティティYは、SIONetの構成要素としてネットワークに参加するために、ベースイベントプレースに属している他のエンティティのエントランス(エントリポイントとグローバルエンティティ名)を探索する。具体的には、ブロードキャストにより、ベースイベントプレースに参加しているエンティティの中から、近傍のエンティティを探索する。ブロードキャストの方法は、実装に依存する。例えば、無線ネットワークで実装されている場合には、無線の到達範囲すべてのエンティティが探索の対象となる。一方、IPネットワークで実装されている場合には、IPブロードキャストもしくはIPマルチキャストを行うことになる。図21では、ブロードキャストによる探索により、エンティティ1(エンティティ1のエントリポイントとグローバルエンティティ名)が発見されたことを表している。なお、ブロードキャストにより、近傍のエンティティを発見できない場合には、Well-Known(周知)のエンティティを利用することもできる。Well-Knownのエンティティをベースエンティティと呼ぶ。なお、ベースエンティティは、ベースイベントプレースを含むすべてのイベントプレース内に存在することができる。
【0093】
▲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は、"サスペンド"状態から"アクティブ"状態へと遷移する。
【0094】
ベースイベントプレースにJoinしたエンティティYは、エントランスの公開が可能になる。また、エンティティプロパティをアドバタイズすることもできる。エンティティプロパティには、グローバルエンティティ名(及びエントリポイント)、ニックネーム、グループ名、アライブ(存在だけの表明であり、シェアードリンクの確立先情報となるエントリポイントとグローバルエンティティ名は公開しない、エンティティが非公開モードの場合でも公開の対象)、ディスクリプション(エンティティの説明文)、属性などがある。属性には、プラグインされているSE情報、イベントパス多重度、イベントプレース情報などがある。なお、エンティティプロパティの記述言語としては、XMLなどがある。
【0095】
図21において、例えばエンティティ3のエンティティ制御部は、エンティティ3が同時に参加しているイベントプレースαをエンティティプロパティの属性として公開することができる。さらに、エンティティ制御部は、現在Joinしているイベントプレースばかりでなく、過去にJoinしたイベントプレースのイベントプレース情報を公開することもできる。このイベントプレース情報とは、例えば、イベントプレースのディスクリプション(イベントプレースの説明文、説明情報)や、当該イベントプレースに参加する際にシェアードリンクを確立したエンティティ(意味情報スイッチ)のグローバルエンティティ名(イベントプレース名+エンティティ名、コネクション確立情報)、エントリポイント(エントリポイント情報)などである。この、過去にJoinしたイベントプレース情報をエンティティが保持できる数は任意とし、例えば、コントロールパネルによりエンティティ所有者等が設定できるものとする。この公開されたイベントプレース情報を取得したエンティティは、当該イベントプレース情報をコントロールパネル等により出力することで当該エンティティ所有者に提示する。これにより、エンティティ所有者は、他のイベントプレースの存在を認識することが出来る。
【0096】
SIONetでは、どこにどのようなイベントプレースがあり当該イベントプレースではどのようなサービスを提供しているか、というようなイベントプレース情報を集中管理する機能がないので、イベントプレース情報を取得しようとする場合、他のエンティティのエンティティプロパティからイベントプレース情報を取得する必要がある。現在参加しているイベントプレースのみならず、過去に参加したイベントプレース情報を公開することにより、イベントプレース情報を取得する機会が増え、自身の求めるサービスを提供するイベントプレースに参加できる確立が高くなる。
【0097】
エンティティYのエントランスの公開時には、これらのエンティティプロパティを、エンティティ内の意味情報スイッチにフィルタとして登録することにより、エンティティプロパティがシェアードリンクに基づいて他のエンティティに波及し、イベントパスが確立される。基本的には、イベントパスの確立要求がイベントプレース内のすべてのエンティティに対して波及するが、TTL値で、イベントパス確立要求の波及範囲を制限することができる。なお、グローバルエンティティ名はマルチホップ型ユニキャスト通信時の識別子として、グループ名はマルチホップ型マルチキャスト通信時の識別子として、属性はマルチホップ型属性付きマルチキャスト通信時の識別子として用いられる。例えば、マルチホップ型ユニキャスト通信の代表例として、イベント受信エンティティからイベント送信元エンティティへのリプライ通知がある。
【0098】
すなわち、グローバルエンティティ名はマルチホップ型ユニキャスト通信とは、グローバルエンティティ名で特定されるエンティティのSI-SWからnホップのイベントを送信する通信方式である。また、マルチホップ型マルチキャスト通信とは、グループ名で特定されるグループに属するエンティティのSI-SWにnホップのイベントを送信する通信方式である。また、マルチホップ型属性付きマルチキャスト通信とは、自身と同様の属性のエンティティのSI-SWにnホップのイベントを送信する通信方式である。また、マルチホップ型ブロードキャスト通信とは、任意のエンティティのSI-SWにnホップのイベントを送信する通信方式である。
【0099】
▲5▼図22において、ベースイベントプレースに参加したエンティティYは、「自身が参加したいイベントプレース」を探索するためのディスカバリイベントを送出することにより、「自身のニーズに合致するエンティティプロパティ」を公開しているエンティティを探索する。このディスカバリイベントは、SIONetの制御のために用いられるイベントであり、SEが送出するイベントと同等のものである。ディスカバリイベントとは、NEを発火させるためのイベントであり、イベントの意味情報部には、エンティティプロパティとの照合条件が設定される。すなわち、SIONetにおける新たな機能追加とは、新たな語彙概念と語彙を規定することを意味する(仕組みの追加ではなく、連鎖反応条件の追加)。これにより、単一な仕組み(連鎖反応)だけで、様々な機能追加を可能にしている。
【0100】
ここでは、探索の結果、エンティティ3が発見されたものとする。上述したように、エンティティ3は、ベースイベントプレースと同時にイベントプレースαに参加している。エンティティ3を発見したことにより、エンティティYはイベントプレースαの存在を知ることができる。
▲6▼エンティティYは、エンティティ3に対してイベントプレースαへのJoin要求を発行し、イベントプレースαに参加する。なお、エンティティ3は、前述したように、自身の状態遷移が"アクティブ"であり、かつ、公開モードのときに、Join要求(シェアードリンクの確立要求)を受け付ける。
【0101】
▲7▼さらに、エンティティYは、イベントプレースαにおいて、同様の探索のためのイベントを送出することができる。これにより、自身のニーズに合致する新たなエンティティを発見することができる。例えば、ここでは、エンティティ12が発見されたものとする。すなわち、エンティティYは、ベースイベントプレースにおいて発見することができなかったエンティティ12を、エンティティ3を介して発見できるということを意味している。このような操作を繰り返すことにより、自身のニーズに合致したイベントプレースに、次第にたどり着くことが可能になる。
【0102】
ここで示したアドバタイズメント方式は以下の効果がある。
(1)エンティティの公開情報を管理するブローカ(管理部)が存在しないため、耐障害性に強い自己組織化ネットワークを低コストで構築することができる。また、膨大な数の公開情報(エントリポイントやエンティティプロパティ)をブローカで管理することは現実的でない。
(2)エンティティに取って相応しいイベントプレースを、芋づる式に絞り込むことができるので、効率的に所望のイベントプレースを探索することができる。例えば、連鎖反応の波及範囲(ディスカバリイベントのホップ数、及び、エンティティプロパティのためのイベントパス設定要求の波及範囲)がTTL値で制限されたとしても、上述のように、エンティティ3経由でエンティティ12を発見し、その結果、エンティティ12が同時に属している別のイベントプレースを発見することができる。なお、連鎖反応の波及範囲を制限することにより、ネットワークトラフィック(イベントの転送回数、イベントパス設定要求の転送回数)を軽減することができる。
【0103】
なお、自身は情報を提供することなく(例えば、エンティティプロパティを公開することなく)、他のエンティティからの情報提供を受けるだけのエンティティは、ペナルティーとして、強制的にシェアードリンクが解除され、一定条件を満足しない限り、再度イベントプレースに参加できないようにすることもできる。
【0104】
<SEの共有方法(自動配信)>
以下に、ゲームイベントプレースにおけるSE(ゲームアプリケーションプログラム)の共有を例に、SEの共有方法の仕組みを示す。
(1)ゲームイベントプレースの運営者であるエンティティ2の所有者はエンティティ2のコントロールパネルを介してイベントプレース名を付与する。なお、ここで付与されたイベントプレース名は「ゲーム」であるものとして説明する。
【0105】
(2)エンティティ2のエンティティ制御部は、上述と同様に、NEファクトリにより生成されたSI-SWに対してグローバルエンティティ名「ゲーム+エンティティ2」を付与する。これにより、イベントプレースが生成される。このとき、ゲームイベントプレースの生成者であるエンティティ2は、イベントプレース生成時に当該イベントプレースに自動的に参加する。
(3)エンティティ2の所有者は、当該エンティティ2のコントロールパネルに対して、ゲームアプリケーションプログラム(SE)のプラグインを指示する。このとき、プラグインするアプリケーションの実行ファイル名、及び、SE共有の有無をパラメータとして与える。
【0106】
(4)エンティティ2のコントロールパネルはこの旨をエンティティ制御部に通知する。
(5)エンティティ2のエンティティ制御部は、プラグインする実行ファイル名を記憶するとともに、与えられた実行ファイル名を用いてアプリケーション(SE)を起動し、上述と同様に、SI-SWとアプリケーション間にセッションを確立する。すなわち、SIONetにおけるプラグインとは、アプリケーションとSI-SWとの間にセッションを確立することを意味する。
【0107】
(6)エンティティ2のエンティティ制御部は、エンティティ2のエンティティプロパティをアドバタイズ(公開)する。エンティティ2のエンティティプロパティの公開形態としては、例えば、以下のものがある。
・エンティティ2がベースイベントプレースに参加し、ベースイベントプレース内で、エンティティ2のエンティティプロパティを公開する。
・エンティティ2が、芋づる式探索を行うことにより、ゲームイベントプレースと関係の深いイベントプレースを発見、参加し、当該イベントプレース内で、エンティティ2のエンティティプロパティを公開する。
・エンティティ2をベースエンティティとする。すなわち、エンティティ2のエンティティプロパティ(エントリポイントとグローバルエンティティ名)を周知する。
【0108】
(7)エンティティ2の存在を知ったエンティティ1が、エンティティ2に対して、ゲームイベントプレースへの参加を要求する。
(8)この要求が承認された場合、エンティティ1は、エンティティ2に対して、シェアードリンクの確立を要求する。そして、上述と同様に、エンティティ1とエンティティ2の間にシェアードリンクが確立する。
(9)シェアードリンクが確立された場合、シェアードリンクの確立要求先(エンティティ2)は確立要求元(エンティティ1)に対して、当該イベントプレース内でイベントの送受信に必要な情報を返却する。具体的には、例えば、イベントプレース名(グローバルエンティティ名)、参加したイベントプレースがベースイベントプレースであるか否か、当該イベントプレースにおけるイベント転送方式(ルーティング方式)、イベントプレースのディスクリプション、プラグインされているSE情報(SE共有が有りの場合)等である。
【0109】
SE共有を共有する場合にシェアードリンク確立要求元に返却するSE情報とは、具体的には、例えば、上述したプラグインするアプリケーションの実行ファイル名や当該アプリケーションのファイル等である。
(10)当該ファイルを受けたエンティティ1のエンティティ制御部は、上述と同様に、与えられた実行ファイル名を用いてアプリケーションを起動し、エンティティ1内のSI-SWとアプリケーションとの間にセッションを確立する。これにより、エンティティ1内部に、ゲームアプリケーションプログラムをSEとしてプラグインする。
【0110】
すなわち、イベントプレースへの参加とは、シェアードリンクにより結合されたエンティティグループを形成し、プラグイン済みのアプリケーションプログラムを参加者が共有することを意味する。これにより、イベントプレースに参加するだけで、当該イベントプレース内のメンバーであるエンティティが、プラグインされているアプリケーションを、自動的に利用することが可能になる。なお、エンティティ1がゲームイベントプレースから退去するとき、プラグインされたゲームアプリケーションプログラムは、プラグアウトされる。なおその際、エンティティ1は、受信した当該ファイルを保有しつづけることもできるし、プラグアウト時に、当該ファイルが削除されることもある。
【0111】
上述した動作は、ピュア型のP2Pネットワーク環境でのアプリケーション共有である。そのため、アプリケーションプログラムの配信は、シェアードリンク確立先エンティティと確立元エンティティの2者間でのみ行われるため、シェアードリンクにより既に結合されている他のエンティティに対して影響を与えない。すなわち、ファイル転送のため処理は2者間に局所化されるため、スケーラブルなSE共有を達成することができる。
【0112】
〔この発明の実施形態〕
以下、この発明の実施形態によるネットワーク構築方法(リンクトポロジー)を図1を参照して説明する。
図1(a)において、E1〜E4はエンティティであり、それぞれ、意味情報スイッチSW1〜SW4を有している。SIONetにおけるリンクトポロジーは、エンティティ間のシェアードリンクの確立規則を規定したものである。SIONetでは、リンクトポロジーとして、開トポロジーとリング型トポロジー(閉トポロジー)の2のトポロジーをサポートしている。以下に、それぞれのリンクトポロジーについて説明する。
【0113】
(1)開トポロジー
図1(a)において、数字▲1▼〜▲3▼はシェアードリンク確立要求の順序を示している。すなわち、まず、エンティティE2がエンティティE1に対してシェアードリンクの確立要求を行い、次に、エンティティE3からエンティティE2へシェアードリンクの確立要求を行い、最後に、エンティティE4からエンティティE2へとシェアードリンクの確立要求を行う場合を示している。
ここで、SIONetは、次のようなリンクトポロジー規則に基づいてシェアードリンクの確立を行う。
「各エンティティは、同一イベントプレース内においてシェアードリンクの確立要求を高々1回しか発行できないが、無制限に確立要求を受け付けることが可能なリンクトポロジーに基づいて、シェアードリンクの確立を行う。」
【0114】
この確立要求が成功したとき、前述したシェアードリンクの確立(図14、図15参照)で示した確立手順に基づいて、各スイッチ間にシェアードリンクが確立される(図1(b)参照)。この開トポロジーに基づくシェアードリンク確立は、確立要求元エンティティと要求先エンティティの2者間で行われ、当該処理が他のエンティティに影響を与えない。
【0115】
また、エンティティE2は、自身が確立要求を行ったエンティティE1と、自身への確立を受け付けたエンティティE3、エンティティE4のリストを保持する(E1/E3、E4)。一方、エンティティE1は、自身が確立要求を行っていないこと、つまり、自身が「トップ」に位置づけられること、さらに、エンティティE2からの確立要求を受け付けたことを記憶する(−/E2)。同様に、エンティティE3およびエンティティE4は、エンティティE2に対して確立要求を発行したこと、さらに、自身が他のエンティティからの確立要求を受け付けていないこと、すなわち、「ボトム」であることを記憶する(E2/−)。
【0116】
このようなトポロジー管理を行うことにより、例えば、エンティティE3が他のエンティティに対して、更なるシェアードリンクの確立要求を行った場合、その要求をエラーとしてリジェクトすることにより、前述した開リンクトポロジーの一貫性を保証するとともに、シェアードリンクで結合されたエンティティ間に、イベントの無限巡回が発生しないことを保証している。
また、例えば、エンティティE2がイベントプレースから退去する場合に、エンティティE3、E4へ退去後のシェアードリンクの再確立エンティティがE1であることを通知することができる。
【0117】
このようなトポロジー規則を用いることにより、隣接エンティティ間でのシェアードリンク確立を行うだけで、開リンクトポロジーを簡単に実現することができる。なお、本規則には、唯一の例外が存在する。例えば、エンティティE3は、エンティティE2が障害に陥った場合の対策として、上流に位置づけられるエンティティE1に対してもシェアードリンクの確立を行うことができる。この場合には、一般的にイベントの無限巡回が発生する。SIONetでは、この問題解決のため、ホップ属性と組み合せた防止策を採用している。
【0118】
SIONetにおけるリンクトポロジーのもう一方の特徴は、「オペレーションの受付最大数」と組み合せることにより、前述のトポロジー規則に基づいて、すべての開トポロジーを一元的な仕組みで実現することができることである。例えば、図25に示すように、各エンティティのシェアードリンク確率受付可能数を1とすることにより、バス型のリンクトポロジーを実現することができる。また、図26に示すように、受付可能数nのエンティティと受付可能数0のエンティティを組み合せることにより、スター型のリンクトポロジーを実現することができる。また、図27に示すように、例えば受付可能数を2とすることにより、ツリー(2分木)型のトポロジーを構築することができる。
この場合、プロパティ項目の1つである動作環境属性を用いて、受付最大数を決定してもよい。例えば、エンティティの処理能力(CPUパワー、メモリ量、通信帯域)に基づいて受付最大数を決定する。
【0119】
(2)リング型トポロジー
リング型トポロジーは、これまでに良く知られた閉トポロジーであり、巡回型のトポロジー構造を有している。各エンティティが、シェアードリンクの確立要求を発行することにより、図28に示すようなリング型トポロジーに基づいてシェアードリンクが確立される。
【0120】
リング型トポロジーでは、シェアードリンクの確立時に、意味情報ルータが無条件ルーティングのためのイベントパスを確立する。これは、シェアードリンクの確立時に一度だけ行えばよく、シェアードリンクの再確立が行われるまで、変更されることはない。このイベントパスは、ブロードキャストモードの通信方式を実現するためのものある。すなわち、エンティティE1が送出したイベントは、常にエンティティE2、エンティティE3、そして、エンティティE4へと転送される。また、このリング型トポロジーでは、イベントの無限巡回が発生する。そのため、イベントの送出元エンティティは、イベントが一巡した時点で当該エンティティを破棄する。
【0121】
以上、この発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【0122】
【発明の効果】
以上説明したように、本発明によれば、種々の形状のネットワークに対応することができ、この結果、ネットワークの形状が変わってもシステム設計をし直すことなく対応することができる効果が得られる。
【図面の簡単な説明】
【図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】 本発明の一実施形態による意味情報ネットワークの構築方法によって構築したネットワークの一例を示す図である。
【符号の説明】
E1〜E4…エンティティ
SW1〜SW7…スイッチ
SL…シェアードリンク
Claims (5)
- 複数のエンティティをシェアードリンクを介して接続してなる意味情報ネットワークの構築方法において、
前記意味情報ネットワークへ参加を希望するエンティティが既に前記意味情報ネットワークに参加しているエンティティに参加申込を行う際、複数のエンティティへの参加であるか否かを調べ、複数エンティティへの参加申込でない場合に意味情報ネットワークを構成するエンティティに参加申込を行う過程と、
前記参加申込を受けたエンティティが、その時点で既に受け付けているエンティティの数が予め規定されている受付最大数に達しているか否かを調べ、達していない場合に、前記申込があったエンティティに対しシェアードリンクの確立を行う過程と、
意味情報ネットワークに参加しているエンティティが、自身が参加申込を行ったエンティティと、自身への参加申込を受け付けたエンティティのリストを保持する過程と、
を有し、
エンティティ各々の受付最大数の組合せにより、開トポロジーにおいて、バス型、ツリー型またはスター型のリンクトポロジーにてネットワークが構築されることを特徴とする意味情報ネットワークの構築方法。 - 前記受付最大数が「1」のエンティティを組み合わせる場合、バス型のリンクトポロジーとなり、受付最大数が「2」のエンティティを組み合わせる場合、ツリー型のリンクトポロジーとなり、受付最大数が「n」及び「0」のエンティティを組み合わせる場合、スター型のリンクトポロジーとなることを特徴とする請求項1記載の意味情報ネットワークの構築方法。
- 複数のエンティティをシェアードリンクを介して接続してなり、参加を希望するエンティティが、参加申し込みに際し、複数のエンティティへの参加であるか否かを調べ、複数エンティティへの参加申込でない場合に意味情報ネットワークを構成するエンティティに参加申込を行う意味情報ネットワークシステムにおいて、
前記エンティティが、
自身が参加要求を行ったエンティティと、自身への参加要求を受け付けたエンティティのリストを記憶する記憶手段と、
前記リストに記録された、参加要求を受け付けたエンティティ数が予め設定された受付最大数に達していない場合に、参加申込があった外部のエンティティに対しシェアードリンクの確立を行うシェアードリンク確立手段と、
を有し、
前記シェアードリンク確立手段がエンティティ各々の受付最大数の組合せにより、開トポロジーにおいて、バス型、ツリー型またはスター型のリンクトポロジーにてネットワークを構築することを特徴とする意味情報ネットワークシステム。 - 前記シェアードリンク確立手段が、前記受付最大数「1」のエンティティを組み合わせる場合、バス型のリンクトポロジーとし、受付最大数「2」のエンティティを組み合わせる場合、ツリー型のリンクトポロジーとし、受付最大数「n」及び「0」のエンティティを組み合わせる場合、スター型のリンクトポロジーとしてネットワークを構築することを特徴とする請求項3記載の意味情報ネットワークシステム。
- 請求項3または請求項4に記載の意味情報ネットワークシステムとして、コンピュータを機能させるための意味情報ネットワークプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003065159A JP3850379B2 (ja) | 2003-03-11 | 2003-03-11 | 意味情報ネットワークの構築方法および意味情報ネットワークシステム並びにプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003065159A JP3850379B2 (ja) | 2003-03-11 | 2003-03-11 | 意味情報ネットワークの構築方法および意味情報ネットワークシステム並びにプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004274583A JP2004274583A (ja) | 2004-09-30 |
JP3850379B2 true JP3850379B2 (ja) | 2006-11-29 |
Family
ID=33126254
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003065159A Expired - Fee Related JP3850379B2 (ja) | 2003-03-11 | 2003-03-11 | 意味情報ネットワークの構築方法および意味情報ネットワークシステム並びにプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3850379B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5092790B2 (ja) * | 2008-02-22 | 2012-12-05 | 日本電気株式会社 | ソフトウェア更新管理システム及びエージェントプログラム |
-
2003
- 2003-03-11 JP JP2003065159A patent/JP3850379B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004274583A (ja) | 2004-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2008095127A2 (en) | A hybrid wired and wireless universal access network | |
JP3850378B2 (ja) | エンティティ装置、アドホックネットワーク構築方法及びアドホックネットワーク構築プログラム並びにその記憶媒体 | |
Le Sommer et al. | A framework for opportunistic networking in spontaneous and ephemeral social networks | |
JP3946658B2 (ja) | エンティティ装置、イベント転送制御方法、イベント転送制御プログラム及びその記録媒体 | |
JP3850379B2 (ja) | 意味情報ネットワークの構築方法および意味情報ネットワークシステム並びにプログラム | |
JP3822178B2 (ja) | エンティティ装置、障害回復方法、及び、コンピュータプログラム | |
JP3987817B2 (ja) | エンティティ装置、サービス共有方法、及び、コンピュータプログラム | |
JP3803329B2 (ja) | エンティティ装置、代替エンティティ探索方法及び代替エンティティ探索プログラム並びにその記録媒体 | |
JP3723126B2 (ja) | エンティティ装置、名称付与方法、記録媒体及びプログラム | |
JP3723127B2 (ja) | エンティティ装置、情報公開システム、方法、記録媒体及びプログラム | |
JP3983187B2 (ja) | エンティティ装置、リンク再確立方法、及び、コンピュータプログラム | |
JP3910550B2 (ja) | 意味情報ネットワークにおけるデータ検索方法および意味情報ネットワークシステム並びにプログラム | |
JP3844747B2 (ja) | エンティティ装置、シェアードリンク再確立方法、シェアードリンク再確立プログラム及びその記録媒体 | |
JP3792664B2 (ja) | エンティティ装置、リプライ通知制御方法、リプライ通知制御プログラム及びその記録媒体 | |
JP3782345B2 (ja) | 組み込みシステム、方法、記録媒体及びプログラム | |
JP3974357B2 (ja) | シェアードリンク設定方法、通信システム、エンティティ装置、およびそのコンピュータプログラムならびにその記録媒体 | |
JP4028429B2 (ja) | コンピュータ、イベントプレース探索方法、及び、コンピュータプログラム | |
JP3732762B2 (ja) | 意味情報スイッチ、意味情報ルータ、方法、記録媒体、プログラム | |
JP3974054B2 (ja) | エンティティ装置、シェアードリンク制御方法、認証方法及びシェアードリンク制御プログラム並びにその記録媒体 | |
JP2004265325A (ja) | 意味情報ネットワークにおけるサービス提供方法および意味情報ネットワークシステム並びにプログラム | |
JP3974158B2 (ja) | イベントプレース探索方法、通信システム、エンティティ装置、およびそのコンピュータプログラムならびにその記録媒体 | |
JP3977387B2 (ja) | 意味情報スイッチ、意味情報ルータ、方法、記録媒体、プログラム | |
JP3977388B2 (ja) | 意味情報スイッチ、意味情報ルータ、方法、記録媒体、プログラム | |
JP4170322B2 (ja) | 意味情報スイッチ、意味情報ルータ、方法、記録媒体、プログラム | |
JP4060325B2 (ja) | 意味情報スイッチ、意味情報ルータ、方法、記録媒体、プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040709 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060517 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060523 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060724 |
|
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: 20060822 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060829 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090908 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100908 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100908 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110908 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120908 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |