JP3782345B2 - 組み込みシステム、方法、記録媒体及びプログラム - Google Patents
組み込みシステム、方法、記録媒体及びプログラム Download PDFInfo
- Publication number
- JP3782345B2 JP3782345B2 JP2001394982A JP2001394982A JP3782345B2 JP 3782345 B2 JP3782345 B2 JP 3782345B2 JP 2001394982 A JP2001394982 A JP 2001394982A JP 2001394982 A JP2001394982 A JP 2001394982A JP 3782345 B2 JP3782345 B2 JP 3782345B2
- Authority
- JP
- Japan
- Prior art keywords
- entity
- service
- event
- unit
- semantic 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Computer And Data Communications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Description
【発明の属する技術分野】
本発明は、サービスエンティティによりサービスが提供される場合、当該サービスを各エンティティで享受しつつ、かつ、任意のエンティティが退去等しても他のエンティティに影響を及ぼさないエンティティ装置、組み込みシステム、方法、記録媒体及びプログラムに関するものである。
【0002】
【従来の技術】
米国国防総省が1969年に開始した実験ネットワーク(ARPANET)を礎とするインターネットは、今では我々の生活に欠かせないものになっている。世界中のあらゆるコンピュータを相互接続したインターネットは、いくつかの技術革新を経て、誰もがいつでもどこでも、気軽にネットワーク上の情報にアクセスできるネットワーク環境を我々に提供するようになった。
【0003】
図23に示すように、第1世代におけるインターネットでは、「ブローカ型配信モデル」に基づいた情報配信が一般的であった。このビジネスモデルでは、ブローカとして位置付けられる情報配信者(例えば、パソコン通信会社)が、情報提供者の情報を集中管理し、必要に応じてユーザに対して情報の配信を行った。すなわち、ブローカがユーザと情報提供者を結びつける役割を果たしていた。そのため、ブローカは、膨大な情報を格納するための格納庫(ハードディスクなどのストレージ)、情報を処理するための高性能演算装置(高性能ワークステーションなど)、そしてユーザとの通信帯域の十分な確保など、膨大な設備投資が必要であった。
【0004】
これに対し、インターネットの利便性を飛躍的に向上させ、利用者の裾野を拡大させた革新技術が、1992年に発表されたWWW(World Wide Web)である。これがインターネット第2世代への扉を開いた。ユーザはブラウザを介して、世界中のあらゆる情報(コンテンツ)を利用できる一方で、情報提供者はブローカ(情報配信者)を介することなく、自らが情報発信することが可能になった。
【0005】
WWWでは、個々の情報提供者が情報を超分散管理し、情報同士をハイパーリンクすることにより、情報提供者のみで情報の超分散データベースを構築することができる。これにより、情報配信者を必要としない「情報配信ネットワークの構築」が可能になった。これこそが、インターネットが目指した真の姿であり、WWWが第2世代の革新技術と言われる所以である。ここでは、WWWのような配信技術によって可能になった新たなビジネスモデルを、「ブローカレス型配信モデル」と呼ぶ。
【0006】
ブローカレス型配信モデルに基づく情報配信、すなわち、情報提供者主導の情報配信が可能になる一方で、世界中に氾濫する情報の中から、ユーザが望む情報を簡単に特定することや、情報提供者に取って情報を配信するに相応しいユーザを特定できることが重要な課題になった。残念ながら、WWWはこの課題に対するソリューションを与えてはくれない。そのため、ポータルサイト、検索サービス、リコメンデーションサービス、ディレクトリサービス、トレーダと呼ばれる新たなブローカが登場した。このビジネスモデルを、「ブローカ型探索モデル」と呼ぶ。ブローカ型探索モデルでは、情報(源)の探索、もしくは、情報の配信先の探索まではブローカを介して行うが、発見された相手との情報配信は、end-to-end (peer-to-peer)で直接的に、すなわち、ブローカレス型配信モデルに基づいて行われる。従って、1999年1月に発表され話題になったNapsterも、ブローカ型探索モデルに位置付けることができる。
【0007】
しかしながら、ブローカ型探索モデルでは、ブローカが情報のメタデータを一括管理しているために、ユーザや情報提供者の多用なニーズにリアルタイムに応えることが困難であること、すべてをブローカの運営ポリシーに委ねなければならないこと、ブローカが運営しているシステム(サーバ)がダウンするとすべてのサービスが停止してしまうこと、ユーザや情報提供者のプライバシー保護が困難なことなどから、より自由で、特定のブローカに支配されない新たなビジネスモデルが求められるようになった。すなわち、これまでのビジネスモデルにおいて一般的に用いられてきたブローカ(集中管理者)を排除し、エンティティ間(例えば、ユーザと情報提供者との間)で、互いに相応しい相手を直接探索・発見することが可能なビジネスモデルが求められるようになった。
【0008】
このような問題認識から、「ブローカレス型探索モデル」という新たな概念が考え出された。このブローカレス型探索モデルが、2000年3月に発表されたGnutellaのような、世界中で注目されるようになったP2P(Peer-to-Peer)に相当する。また、2001年4月に発表されたJXTAもP2P、すなわちブローカレス型探索モデルに相当する。P2Pは、WWW以来の革新技術であり、第3世代と呼ばれている。なお、近年、伝送レイヤにP2Pの概念を適用したブローカレス型伝送モデルや、ポリシーレイヤにP2Pの考え方を適用したブローカレス型ポリシーモデルの研究開発が活発化していている。ブローカレス(配信)モデルのディメンションを図24に示す。
【0009】
ブローカレス型ポリシーモデルとして、例えば、COMNet(Community Network)や、SIONet(Semantic Information-Oriented Network、意味情報ネットワーク)などがある。なお、SIONetの詳細については、以下の論文に記載されている。
【0010】
星合隆成、小柳恵一、ビルゲー・スクバタール、久保田稔、柴田弘、酒井隆道:"意味情報ネットワークアーキテクチャ"、電子情報通信学会論文誌B、Vol.J84-B、No.3、pp.4,11-4,2,4(2000.7受付、 2001-3掲載).
星合隆成、柴田弘、酒井隆道、小柳恵一:"意味情報ネットワークアーキテクチャ:SIONアーキテクチャ"、NTT R&D、Vol.50、No.3、pp.157-164(2000.12受付、2001.3掲載).
【0011】
ブローカレス型探索モデル(P2Pモデル)は、ビジョン・概念・理念であり、これが目指す世界は非常に単純で明快である。具体的には、以下のような世界を構築することを目標としている。
・従来、ブローカ(仲介者、運営者、集中管理部など)が担っていた役割を、それぞれのエンティティがボランティアとして分担することにより、特定の運営者、管理者、集中管理部の存在を前提としなくても、様々なネットワークサービスを構築、運営できること。
・ボランティアとして運営に参加している任意のエンティティが、障害や退去などの様々な理由により、運営から脱退しても、ネットワークサービス全体に影響を与えないように、残されたエンティティが自律的に自己組織化することによりサービスを継続できること。
【0012】
以下では、SIONetがどのような技術で、ブローカレス型探索モデルを実現しているかについて簡単に説明する。
SIONetは、意味情報(メタデータ)に基づいて、データと当該データの意味情報とからなるイベントを配送するメタネットワークである。図25に示すように、イベント受信者は、受信したいイベントの条件を示す意味情報を予めSIONetに登録しておく。イベント送信者からイベントがSIONetに送信されると、SIONetは、当該イベントの意味情報と、登録された意味情報とを照合し、その照合結果に基づいて、当該イベントをイベント受信者に送信する。このように、イベントをSIONetに送信することを「刺激」といい、登録した意味情報とイベントの意味情報とが合致し、当該意味情報を登録したイベント受信者に、当該イベントを通知することを「発火」という。
【0013】
これにより、ネットワーク上に超分散する不特定多数のエンティティの中から、特定のエンティティを動的に探索・発見することができる。すなわち、SIONetは、従来のネットワークで用いていた宛先アドレス(誰に対して送信する)の代わりに、意味情報(どういう人に対して送信する)に基づいてイベントを配送するネットワークである。
【0014】
また、SIONetは、SIONetの構成要素を含めたすべてのエンティティが自律分散協調することにより、ネットワークが自己組織化される自律分散協調ネットワーク(自律分散コンピュータ)である。SIONetのネットワーク構成要素には、「意味情報スイッチ(SI-SW)」、「意味情報ルータ(SI-R)」、「意味情報ゲートウエイ(SI-GW)」、「イベントプレース」、「セッション」などがあり、これらが必要に応じて自己組織化することにより、セキュアーでスケーラブルなP2Pネットワークをボトムアップアプローチで構築することができる。
【0015】
SIONetの基本概念・原理は単純で一元的である。"エンティティによるフィルタの登録とイベントの送出"という単純操作の繰り返し、すなわち、"エンティティの「刺激」と「発火」が、SIONetのネットワーク構成要素間で「連鎖反応」"することにより、すべてのエンティティを自律分散協調させる点にある。この連鎖反応の振舞いを制御するものが、上述のイベント受信者がSIONetに登録した意味情報であり、これを「フィルタ」という。フィルタに登録するフィルタ値により、エンティティの連鎖反応の仕方を動的に制御することができる。SIONetにおけるもう一つの基本概念がイベントプレースである。イベントプレースは、シェアードリンクにより相互に接続されたエンティティグループであり、これにより連鎖反応の範囲を制限することができる。
【0016】
具体的には、イベントルーティング、イベント転送モード(ユニキャスト、ブロードキャスト、マルチキャスト、属性付きマルチキャスト、リプライ通知)、ファイアウォール機構、エンティティのオンライン増減設機構、障害処理機構、統計情報収集機構などが、これらの考え方に基づいて設計・実装されている。
【0017】
【発明が解決しようとする課題】
このように、SIONetのネットワークを自律分散協調させるためのネットワーク構成要素を含めたエンティティの概念が提案されている。しかし、その概念を実際に実現できる機能は、現在提案されているものだけでは、実際にビジネスなどに不十分である。
【0018】
例えば、現在提案されている概念では、例えば、サービスエンティティによりサービスが提供される場合、当該サービスを各エンティティで享受しつつ、かつ、任意のエンティティが退去等しても他のエンティティに影響を及ぼさないような機能は提案されていない。
本発明はこのような事情に鑑みてなされたもので、任意のエンティティが退去、参加等しても、他のエンティティで享受するサービスに影響を及ぼさないエンティティ装置、組み込みシステム、方法、記録媒体及びプログラムを提供することを目的とする。また、本発明の更なる目的は、サービスエンティティにより提供されるサービスを各エンティティで共有することにある。
【0019】
【課題を解決するための手段】
本発明は上記の目的を達成するためになされたもので、データと、前記データの意味情報とからなるイベントを送受信するエンティティ装置であって、サービスを提供するサービスエンティティ部と、前記イベントの意味情報に基づいて、当該イベントを前記サービスエンティティ部又は他のエンティティ装置に送信する意味情報スイッチと、前記サービスエンティティ部と前記意味情報スイッチとの間に、コネクションを確立する制御手段とを備えることを特徴とする。
【0020】
サービスを提供するサービスエンティティ部とコネクションを確立することにより当該サービスエンティティ部を組み込むので、サービスエンティティ部の組み込みはエンティティ装置内部でのみ閉じることになる。従って、任意のエンティティ装置が参加しても、他のエンティティ装置で享受するサービスに影響を及ぼさないエンティティ装置を提供することができる。
【0021】
また、本発明は、上記発明において、前記制御手段は、前記サービスエンティティ部と前記意味情報スイッチとの間に確立したコネクションを解除することを特徴とする。
【0022】
これにより、サービスを提供するサービスエンティティ部の分離を当該エンティティ装置内で閉じることができるので、任意のエンティティ装置が退去しても、他のエンティティ装置で享受するサービスに影響を及ぼさないエンティティ装置を提供することができる。
【0023】
また、本発明は、上記発明において、前記制御手段は、前記サービスエンティティ部を実現させるデータを、他のエンティティに送信することを特徴とする。
【0024】
これにより他のエンティティ装置にサービスエンティティ部を実現させることが可能となり、エンティティ装置間でサービスエンティティ部によるサービスを共有することができる。
【0025】
また、本発明は、上記発明において、前記エンティティの意味情報スイッチは、前記他のエンティティの意味情報スイッチと、前記イベントの意味情報に基づいて意味情報スイッチ間のイベント転送を行なう意味情報ルータを介して接続されていることを特徴とする。
【0026】
また、本発明は、上記発明において、前記サービスエンティティ部とは、アプリケーションソフトウェアであり、前記制御手段は、前記アプリケーションソフトウェアを起動し、前記意味情報スイッチと前記起動したアプリケーションソフトウェアとの間にコネクションを確立することを特徴とする。
【0027】
また、本発明は、データと前記データの意味情報とからなるイベントを、ピュア型のP2Pネットワーク環境においてエンティティ装置間で送受信する組み込みシステムであって、エンティティ装置が、他のエンティティ装置に、エンティティプロパティを公開し、他のエンティティ装置が当該他のエンティティ装置の意味情報に合致するエンティティを発見しシェアードリンクの確立を要求した場合に、サービスを提供するサービスエンティティ部を実現させるデータを送信する制御手段を備え、前記他のエンティティ装置が、前記送信されたサービスエンティティ部を実現させるデータにより、サービスエンティティを起動し、エンティティ内の意味情報スイッチとサービスエンティティとの間にコネクションを確立することで実現するサービスエンティティ部と、前記イベントの意味情報に基づいて、当該イベントを前記サービスエンティティ部又は他のエンティティ装置に送信する意味情報スイッチと、前記サービスエンティティ部と前記意味情報スイッチとの間にコネクションを確立する制御手段とを備え、前記エンティティ装置制御手段にサービスエンティティを他のエンティティ装置に共有するとパラメータ設定されていた場合に、当該エンティティ装置の制御手段が他のエンティティ装置との間にシェアードリンクを確立する際に、前記サービスエンティティ部を実現させるデータを、他のエンティティ装置に送信及び起動させることを特徴とする。
【0028】
また、本発明は、サービスを提供するサービスエンティティ部と、データ及び前記データの意味情報からなるイベントの意味情報に基づいて前記イベントを前記サービスエンティティ部又は他のエンティティ装置に、ピュア型のP2Pネットワーク環境において送信する意味情報スイッチとからなるエンティティ装置が、サービスを提供するサービスエンティティ部の処理を組み込むサービスエンティティ部の組み込み方法であって、前記サービスエンティティ部と、前記意味情報スイッチとの間に、エンティティ制御部がコネクションを確立する過程と、前記エンティティ制御部が他のエンティティ装置に、エンティティプロパティを公開する過程と、他のエンティティ装置が当該他のエンティティ装置の意味情報に合致するエンティティを発見した場合、発見したエンティティ装置に対してシェアードリンクの確立を要求する過程と、前記コネクション確立時に、エンティティ制御部にサービスエンティティを他のエンティティ装置に共有するとパラメータ設定されていた場合、前記サービスエンティティ部を実現させるデータを、他のエンティティ装置に送信する過程と、送信された前記サービスエンティティ部を実現させるデータにより当該他のエンティティ装置にサービスエンティティを起動させ、エンティティ装置内の意味情報スイッチとサービスエンティティとの間にコネクションを確立することで、前記サービスエンティティ部を実現させるデータを、他のエンティティに送信及び起動させる過程を有する組み込み方法である。
【0029】
また、本発明は、サービスを提供するサービスエンティティ部と、データ及び前記データの意味情報からなるイベントの意味情報に基づいて前記イベントを前記サービスエンティティ部又は他のエンティティ装置に、ピュア型のP2Pネットワーク環境において送信する意味情報スイッチとからなるエンティティ装置が、サービスを提供するサービスエンティティ部の処理をコンピュータに実行させる、前記サービスエンティティ部の組み込みプログラムであって、前記サービスエンティティ部と、前記意味情報スイッチとの間に、コネクションを確立するステップと、他のエンティティ装置に、エンティティプロパティを公開するステップと、他のエンティティ装置が当該他のエンティティ装置の意味情報に合致するエンティティを発見した場合、発見したエンティティ装置に対してシェアードリンクの確立を要求するステップと、前記コネクション確立時に、エンティティ制御部にサービスエンティティを他のエンティティ装置に共有するとパラメータ設定されていた場合、前記サービスエンティティ部を実現させるデータを、他のエンティティ装置に送信するステップと、送信された前記サービスエンティティ部を実現させるデータにより当該他のエンティティ装置にサービスエンティティを起動させ、エンティティ装置内の意味情報スイッチとサービスエンティティとの間にコネクションを確立することで、前記サービスエンティティ部を実現させるデータを他のエンティティに送信及び起動させるステップをコンピュータに実行させる組み込みプログラムである。
【0030】
また、本発明は、サービスを提供するサービスエンティティ部と、データ及び前記データの意味情報からなるイベントの意味情報に基づいて前記イベントを前記サービスエンティティ部又は他のエンティティ装置に、ピュア型のP2Pネットワーク環境において送信する意味情報スイッチとからなるエンティティ装置が、サービスを提供するサービスエンティティ部の処理をコンピュータに実行させる、前記サービスエンティティ部の組み込みプログラムであって、前記サービスエンティティ部と、前記意味情報スイッチとの間に、コネクションを確立するステップと、他のエンティティ装置に、エンティティプロパティを公開するステップと、他のエンティティ装置が当該他のエンティティ装置の意味情報に合致するエンティティを発見した場合、発見したエンティティ装置に対してシェアードリンクの確立を要求するステップと、前記コネクション確立時に、エンティティ制御部にサービスエンティティを他のエンティティ装置に共有するとパラメータ設定されていた場合、前記サービスエンティティ部を実現させるデータを、他のエンティティ装置に送信するステップと、送信された前記サービスエンティティ部を実現させるデータにより当該他のエンティティ装置にサービスエンティティを起動させ、エンティティ装置内の意味情報スイッチとサービスエンティティとの間にコネクションを確立することで、前記サービスエンティティ部を実現させるデータを他のエンティティに送信及び起動させるステップとをコンピュータに実行させる組み込みプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【0031】
【発明の実施の形態】
以下、図面を参照し、本発明の一実施形態について説明する。
<SIONetエンティティの定義>
ここでは、パーソナルコンピュータ、ワークステーション、情報携帯端末、携帯電話、ウエアラブルコンピュータなどのあらゆるコンピュータを総称して、ホストと呼ぶ。さらに、SIONetソフトウエアを実装したホストを、「SIONetエンティティ」もしくは単に「エンティティ」と呼ぶ。エンティティ(エンティティ装置)は、図1に例を示すように、SIONetソフトウエアを実装したホストを、SIONetにおける自律分散協調の単位として仮想化したものである。SIONetソフトウエアは、個々のエンティティが自律分散協調を行うための仕組みを提供する。このSIONetソフトウエアにより、各ホストが自律分散コンピュータとなることが可能となる。
【0032】
エンティティは、図2に示すように、主に以下の3つのタイプに分類される。
・サービスとして振る舞うアプリケーション(サービスエンティティ:SE、サービスエンティティ部)をエンティティ内部に含むもの
・ネットワーク構成要素として振る舞うモジュール(ネットワークエンティティ:NE)をエンティティ内部に含むもの
・上記SEとNEとの両方をエンティティ内部に含むもの
【0033】
<エンティティ構造と状態遷移>
図3は、エンティティの状態遷移を示す図である。この図に示すように、エンティティの状態として、"Non-Existent"、"サスペンド"、"アクティブ"という3つの状態がある。
"Non-Existent"状態は、ホストにSIONetソフトウエアをインストールした時点でのエンティティ状態を表している。
SIONetソフトウエアを実行(ラウンチ)することにより、"Non-Existent"状態から"サスペンド"状態に遷移する。このとき、エンティティ内に、図4に一例を示すように、エンティティ制御部、コントロールパネル、ネットワークエンティティファクトリ(NEファクトリ)、ネットワークエンティティ(NE)、などの内部モジュールが生成される。以下に、それぞれの役割を簡単に説明する。
【0034】
エンティティ制御部とは、エンティティの実体であり、他のエンティティやコントロールパネルからの様々な要求(後述するセッションの確立要求、シェアードリンクの確立要求など)を受け付ける。なお、"サスペンド"状態のエンティティに対して、他のエンティティからセッションの確立要求、シェアードリンクの確立要求などを行うことはできない。
コントロールパネルは、人などのエンティティの所有者に対して、GUI(Graphical User Interface)を提供する。コントロールパネルにより、例えば、エンティティの所有者にエンティティ名の入力を促し、入力されたエンティティ名に基づいて、エンティティ制御部が当該エンティティにエンティティ名を付与する。図4の例では、エンティティ名を"エンティティ2"としている。このエンティティ名を、後述する「グローバルエンティティ名」と特に区別して「ローカルエンティティ名」と呼ぶことがある。このローカルエンティティ名は、当該エンティティの所有者等が任意で設定できるものとする。
【0035】
NE(ネットワークエンティティ)ファクトリとは、NEを動的に生成する機能を備える。
NE(ネットワークエンティティ)とは、SI-R(Semantic Information Router、意味情報ルータ)、SI-GW(Semantic Information Gateway、意味情報ゲートウェイ)、アライブエンティティ、障害処理エンティティ、統計情報収集エンティティなど、ネットワーク制御のために振る舞うモジュールの総称である。
【0036】
SE(サービスエンティティ)とは、エンティティが提供するプラグイン機構を用いて、エンティティ内にSEとして組み込まれたアプリケーションであり、SIONet上で動作するP2Pアプリケーションを仮想化したものである。エンティティが提供するプラグイン機構を用いて、アプリケーションをSEとしてエンティティ内に組み込むことができる。また、SEは、SI-SWに対して、任意数のセッションを確立することができる。SEはセッションを介してのみ、イベントの送受信が可能である。SEは、SIONetのネットワーク構築・運営に関与しない。なお、SEをエンティティ内に組み込むプラグイン機構については後述する。
【0037】
図3における"サスペンド"状態のエンティティ(エンティティ2)が、例えば、図5に例を示すように自らイベントプレースを生成したり、図6に例を示すように既存のイベントプレースにJoin(参加)などして、任意のイベントプレースに属し、エンティティグループのメンバーになったときに、エンティティ(エンティティ2)は"サスペンド"状態から"アクティブ"状態へと遷移する。"アクティブ"状態のエンティティのみが自身の存在をアドバタイズ(公開、詳細は後述する)し、他のエンティティからのセッションの確立要求やシェアードリンクの確立要求を受け付けることができる。
【0038】
ここで、ソフトウェアがホストにインストールされ、NE、NEファクトリ、エンティティ制御部、コントロールパネルなどを備えるエンティティが生成された後、当該エンティティが"アクティブ"状態となるまでの動作を説明する。エンティティが、当該エンティティの所有者などからコントロールパネルを介して、イベントプレースの生成や他のイベントプレースへの参加の指示を受けたものとする。エンティティのエンティティ制御部は、当該エンティティのNEファクトリにSI-SW(Semantic Information Switch、意味情報スイッチ)の生成を依頼する。NEファクトリがSI-SWを生成すると、エンティティ制御部は、生成されたSI-SWと、NEなどの内部モジュールとの間にセッションを確立する。これにより、アドバタイズや、他のエンティティからのセッションの確立要求、シェアードリンクの確立要求等を受け付けることが可能となる。
【0039】
ここで、図7を参照し、SI-SWとセッションの役割について説明する。
セッションとは、SI-SWとSE間のコネクションであり、SEは、セッションを介してのみイベントの送受信を行うことができる。セッションには、イベントの送信セッション、受信セッション、送受信セッションの3タイプがある。
SI-SWは、意味情報に基づいて、イベントをスイッチングするスイッチング機構を提供する。SI-SWはセッションを介して、NEや、プラグイン機構によりエンティティ内に組み込まれたSEやNEなどの内部エンティティをスター型で収容する。以下では、SEを例にとり説明するが、NEなど、エンティティに内包された他の内部エンティティも同様である。
【0040】
ここで、イベントの構成について説明する。図8に一例を示すように、イベントは、制御情報部、意味情報部、データ部から構成される。データ部には、送信データが格納される。送信データとして、テキストデータ、バイナリデータ、リファレンス、プロキシ、エージェントなど、様々なデータ、プログラムを格納することができる。
【0041】
意味情報部には、送信データの意味情報(語彙とその値)、及び、意味情報の語彙概念(イベントタイプ)が格納される。ここで、意味情報とは、送信データの特性を記述したメタデータであり、イベントタイプのインスタンスである。また、イベントタイプは意味情報のテンプレートである。イベントタイプ間には継承関係を定義できる。図9に、意味情報体系の一例を示す。この図において、"タイトル;イエスタデイ"、"価格;$30"、"アーティスト名;ビートルズ"という意味情報は、"ポピュラー"というイベントタイプに属しており、また"音楽"というイベントタイプにも属している。また、"タイトル;きよしこの夜"、"価格;$20"、"シチュエーション;クリスマス"という意味情報は、"BGM"というイベントタイプに属しており、また"音楽"というイベントタイプにも属している。
【0042】
意味情報体系の記述言語としてはXML(Extensible Markup Language)などがある。なお、ネットワークエンティティ用に一部のイベントタイプ名(SIONetから始まるすべての名称)が予約済みである。
図8に一例を示すイベントの制御情報部は、SIONetの実行制御のために用いられる制御フィールドであり、これのみがSIONetのユーザであるSEに対して開放されていない。制御情報部には、合致したフィルタの識別子、合致したフィルタの照合得点、同期型統計情報収集フラグ、イベントプレース内、イベントプレース間におけるTTL(Time To Live)値、イベントプレース内、イベントプレース間におけるホップ数、ホップ属性などの制御情報が設定される。
【0043】
図7に示すようなエンティティの構成において、SEの機能を説明する。SEは、受信セッションを介して、イベントの取得条件をSI-SWに登録する。これを「フィルタ」と呼ぶ。フィルタには、取得したいイベントの語彙概念(イベントタイプ)、及び、意味情報との照合条件(例えば、語彙"Price"が"$20から$40の範囲"のものを取得対象とする)等を設定する。なお、当該イベントタイプに定義されているすべての語彙との「完全一致」、一部の語彙との「部分一致」、「重み付け一致」など、照合条件をフィルタ単位で選択することができる。
【0044】
SEは、一つの受信セッションから、複数のフィルタを登録することが可能であるが、同一セッションを介して登録されたフィルタ間は"or"関係を有する。すなわち、一つのイベントに対して、一つの受信セッションは高々1回しか発火しない。取得したいイベントのイベントタイプにワイルドカードを指定した場合には、すべてのイベントタイプが取得の対象となる。また、意味情報との照合条件に1(論理値が真)が設定された場合には、無条件に意味情報との照合条件が満足されたことを意味する。
【0045】
また、SEは、送信セッションを介して、SI-SWにイベントの送信を行う。このとき、SI-SWはイベントの意味情報部とフィルタとを照合する。具体的には、まず、受信したいイベントタイプであるかどうかをチェックし、これを満足した場合には、意味情報と照合条件をチェックする。この照合の結果、意味情報が照合条件を満足している場合には、合致したフィルタを登録したエンティティを起動するとともに、当該イベントを通知する。
SIONetでは、イベントの送信を「刺激」、フィルタがイベントに合致することを「反応」、合致したフィルタを登録したエンティティを起動しイベント通知することを「発火」と呼ぶ。
【0046】
<エンティティの名称付与方法>
図5に示すように、エンティティ2が"イベントプレースA"と命名したイベントプレースを生成する場合を説明する。エンティティ2の所有者は、コントロールパネルを介するなどして、エンティティ2にイベントプレース名を入力する。ここでは、入力等されたイベントプレース名を「イベントプレースA」とする。すると、エンティティ制御部は、NEファクトリにSI-SWの生成を依頼し、生成されたSI-SWと、NEなどの内部モジュールとの間にセッションを確立する。さらに、エンティティ制御部は、生成されたSI-SWの名前を「イベントプレース名+ローカルエンティティ名」、すなわち「イベントプレースA+エンティティ2」として記憶する。この名前を「グローバルエンティティ名」と呼ぶ。このグローバルエンティティ名の作成がイベントプレースの生成に相当する。
【0047】
すなわち、SIONetでは、イベントプレースの生成により、必ずしも何らかの管理実体が生成されるとは限らない。つまり、SIONetでは、イベントプレースに属しているエンティティのメンバー管理を、後述するエンティティ間のシェアードリンクにより実現しているため、メンバー管理を行う集中管理部自体が存在しない。そのため、イベントプレースを生成したエンティティが当該イベントプレースから退去しても、当該イベントプレースに残されたエンティティが自律的に自己組織化することにより、当該イベントプレースの運営が継続される。すなわち、イベントプレースから最後のエンティティが退去することが、イベントプレースの消滅に相当する。
【0048】
このグローバルエンティティ名は、シェアードリンクやセッションを確立する場合に用いられる。図5に示すようなエンティティ2が、イベントプレースBをさらに生成し、エンティティ1からのシェアードリンクを確立する動作を、図10を参照して説明する。
まず、既にイベントプレースAに参加しているエンティティ2が、イベントプレースBを生成する動作を説明する。エンティティ2のエンティティ制御部は、前述と同様に、NEファクトリに新たなSI-SWを生成させる。エンティティ制御部は、生成された新たなSI-SWにグローバルエンティティ名として「イベントプレースB+エンティティ2」を付与する。これにより、イベントプレースBが生成される。この時点で、エンティティ2は、「イベントプレースA+エンティティ2」と「イベントプレースB+エンティティ2」という二つのグローバルエンティティ名(SI-SW名)を持つ。
【0049】
次に、エンティティ1がイベントプレースAにJoin(参加)する動作を説明する。上述のようにイベントプレースA及びイベントプレースBに参加したエンティティ2は、"アクティブ"状態となっている。"アクティブ"状態のエンティティは、自身の存在を他のエンティティにアドバタイズ(公開)することができるが、その際にはグローバルエンティティ名が公開される。
【0050】
エンティティ1がエンティティ2を発見し、当該エンティティ2に対してJoin要求を行うとき、エンティティ1は、Join先のエンティティであるエンティティ2のグローバルエンティティ名が「イベントプレースA+エンティティ2」である旨をエンティティ2に通知する。
【0051】
このように、グローバルエンティティ名により、シェアードリンクを確立するSI-SWを一意に特定することが可能になり、ひいては、イベントプレースAへの参加が可能になる。このように、シェアードリンクやセッションの確立先であるSI-SWはグローバルエンティティ名として仮想化されるため、エンティティの所有者等は、SI-SWを直接意識することはない。
【0052】
<SEのプラグイン方法>
以下に、図11に示すエンティティへのSEの組み込みの動作を説明する。
(1)エンティティの所有者は、コントロールパネルに対して、アプリケーションのプラグインを指示する。このとき、プラグインするアプリケーションの実行ファイル名をパラメータとして与える。
(2)コントロールパネルは、プラグインの指示を受けた旨と、プラグインするアプリケーションの実行ファイル名とをエンティティ制御部に通知する。
【0053】
(3)エンティティ制御部は、プラグインする実行ファイル名を記憶するとともに、与えられた実行ファイル名を用いて、アプリケーションを起動し、SI-SWと起動したアプリケーションとの間にセッションを確立する。
すなわち、SIONetにおけるプラグインとは、アプリケーションとSI-SWとの間にセッションを確立することに他ならない。SIONetでは、SE、NEなどのすべての動作実体は、セッションを介して連携する。そのため、プラグイン/プラグアウト(着脱)を容易に実現できるとともに、プラグイン/プラグアウトが他の動作実体に影響を与えない(超疎結合)。この考え方を拡張することにより、後述するようなエンティティ間でのSE共有が実現できる。
【0054】
<PREFERENCEアーキテクチャ>
SIONetは図12に一例を示すようなリファレンスモデルの考え方を採用している。図12に示すPREFERENCEアーキテクチャは、フィルタに意味情報を登録し、イベントの意味情報部に配布条件(照合条件)を設定する御用聞き社会(御用聞き型サイバーソサイアティ)構築に向けたアーキテクチャであり、ブローカレス型配信モデル、ブローカレス型探索モデル、ブローカレス型ポリシーモデルに対するトータルソリューションを提供する。具体的には、ストリームインターフェース、SIONet、COMNetなどから構成される。
【0055】
SIONetはイベントの伝達層であり、上位層に対してネットワークインタフェースを提供する。ミドルウエア層がコミュニティ(コミュニティネットワーク:COMNet)であり、SIONetのインテリジェンス層に相当する。このレイヤにおいて、情報の局所化、認証、セキュリティ、情報の権利保証、ポリシー制御などが行われる。そして、最上位層がアプリケーション層となっている。このアプリケーション層には、SEが実装される。SEとしては、例えば、個人TV局、メッセージ交換サービスのスマートメッセンジャーなどがある。
【0056】
このように、SIONetは、分散コンピューティング、情報交換、コラボレーション、メッセージ配信などのあらゆるP2Pサービス(SEがサービスを提供する)に対して、共通のP2Pネットワーク基盤を提供するとともに、プラグイン機構の提供により、アプリケーション開発の効率化をサポートする。
【0057】
<SIONetにおけるエンティティの役割>
SIONetは、個々のエンティティが互いに助け合うことにより、ボランティア型のネットワークを構築する形態であり、それぞれが自律分散協調することにより、ネットワークを自己組織化する。例えば、図6の構成において、エンティティ1の生成したイベントプレースにエンティティ2が参加し、その後、エンティティ1が当該イベントプレースから退去する動作を説明する。
【0058】
予め、エンティティ1はイベントプレースを生成し、当該イベントプレースに参加している。ここに、エンティティ2がエンティティ1に対して、イベントプレースへのJoin要求を行うと、図13に示すように、エンティティ2にSI-SWが生成され、さらに、エンティティ1及びエンティティ2のSI-SW間にシェアードリンクが確立され、エンティティグループが形成される。
このようにエンティティ1とエンティティ2のSI-SW間にシェアードリンクが確立され、エンティティ2がイベントプレースに参加した後、イベントプレースの生成者であるエンティティ1がイベントプレースから退去するものとする。すると、SI-SW間のシェアードリンクが解除され、以降は、エンティティ2のみでイベントプレースの構築・運営が継続される。このように、個々のエンティティが自己組織化するため、あるエンティティが退去、消失等しても他のエンティティが当該エンティティの機能を果たす。
【0059】
SIONetでは、目的に応じてエンティティを配置・組み合わせることにより、様々な形態のP2Pネットワークを構築することができる。また、異なる形態のP2Pネットワークをシームレスに連携させることもできる。これは、以下を実現させることにより達成される。
(1)すべてのエンティティを、"刺激と発火に基づく連鎖反応"という一元的かつ単純な仕組みで自律分散協調させること
(2)P2Pネットワーク形態の差異をエンティティの配置・運営問題に帰着させること
このように、単一の仕組みで様々な形態のP2Pネットワークを構築できる点がSIONetの特徴の一つである。
【0060】
<シェアードリンク>
「シェアードリンク(共有リンク)」は、複数の異なるエンティティ間において、双方向のイベント共有を行うための概念である。例えば、図14に示すように、エンティティ2がエンティティ1に対して、シェアードリンク(SL:Shared Link)の確立要求を行うことにより、図15に示すように、SI-SW2とSI-SW1との間にシェアードリンクが確立され、新たなエンティティグループが形成される。すなわち、シェアードリンクは、エンティティグループを形成するための仕組みであり、また、マルチホップの経路でもある。
【0061】
図14において、シェアードリンクの確立に成功したエンティティ2には、エンティティ1からイベントプレース名(グローバルエンティティ名)、当該イベントプレースにおけるイベント転送方式(ルーティング方式)、当該イベントプレースのディスクリプション(説明文)、プラグインされているSE情報等のさまざまな情報が送信される。なお、後述するSI-Rによるフィルタ値の設定によって、SI-SW間に様々なイベントルーティング方式を動的に設定できる。以降において、シェアードリンクの確立の動作を説明し、さらに、SI-Rの役割、仕組みを詳述する。
【0062】
<シェアードリンクの確立>
図14及び図15を用いて、シェアードリンク確立までの仕組みを説明する。まず、図14において、エンティティ2がエンティティ1に対して、シェアードリンクの確立要求を発行した場合を考える。
(1)エンティティ2がエンティティ1に対して、シェアードリンクの確立要求を発行する。
【0063】
(2)図15に示すように、エンティティ1のエンティティ制御部は、SL1,2(エンティティ2からのイベントを受信するためのシェアードリンク)を確立するために、NEファクトリに、意味情報に基づいてSI-SW間のイベントルーティング(イベント転送)を行うSI-R1,2を、エンティティ1内部に動的に生成させる。さらに、エンティティ制御部は、エンティティ2がシェアードリンクの確立要求元であることを記憶する。厳密には、エンティティ2のエントリポイントとグローバルエンティティ名(SI-SW2)とをシェアードリンクの確立要求元として記憶する。
【0064】
(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へも送出される。
【0065】
(4)このとき、SI-R1,2がSI-SW2に対して登録するフィルタの設定値により、イベントの転送方式を動的に制御できる。その例を以下に示す。
(a)SI-SW2に対して送出されたイベントを、無条件にSI-SW1へと転送する。すなわち、すべてのイベントに対して、SI-R1,2が発火する。これはSI-RがSI-SWに登録するフィルタとして、「取得する語彙概念にワイルドカードを、及び意味情報(語彙)との照合条件に真」を設定することにより可能になる。これを「無条件ルーティング」と呼ぶ。この設定は、シェアードリンク確立時に一度だけ行えばよい。この方式では、無駄なイベント転送と転送先でのイベント照合処理オーバヘッドが発生する可能性があるが、後述するイベントパス確立(ルーティング情報の設定)のためのオーバヘッドが発生しないため、フィルタ登録数がイベント送出数よりも十分大きい場合に有効な方式である。このルーティング方式は、主に、マルチホップ型ブロードキャスト通信に用いられる。
【0066】
(b)エンティティ1に取って必要なイベントのみをSI-SW2からSI-SW1へ転送する。これにより、不要なイベント転送を行わない。すなわち、特定のイベントに対してのみ、SI-R1,2が発火する。これは、SI-Rが語彙概念のみ(照合条件は常に真)をフィルタに設定する「語彙概念によるイベントルーティング」と、語彙概念と語彙との照合条件をフィルタに設定する「語彙によるイベントルーティング」に大別される。前者は主にマルチホップ型属性付きマルチキャスト通信に、後者は主にマルチホップ型ユニキャスト通信、マルチホップ型マルチキャスト通信に用いられる。これは、障害処理通知、統計情報通知、アライブ通知、リプライ通知、アドバタイズメント通知などで用いられている。
【0067】
なお、マルチホップ型ブロードキャスト通信、マルチホップ型属性付きマルチキャスト通信、マルチホップ型ユニキャスト通信、マルチホップ型マルチキャスト通信のようなマルチホップ通信のほかに、SI-Rの設定するフィルタ値により、通信先エンティティのエントリポイントを用いた直接通信も可能である。また、マルチホップ型ブロードキャスト通信、マルチホップ型属性付きマルチキャスト通信、マルチホップ型ユニキャスト通信、マルチホップ型マルチキャスト通信については後述する。
【0068】
(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を発火させないことができる。
【0069】
<イベントパスの確立>
イベント転送(イベントルーティング)のための経路選択情報(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に波及することにより、イベントパスが確立される。これを「イベントパスの設定、もしくは波及」と呼ぶ。
【0070】
ここで、上述した「語彙概念によるイベントルーティング」のためのイベントパスの確立について説明する。図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において行う。
【0071】
また、上述した「語彙によるイベントルーティング」のためのイベントパスの確立について説明する。図15において、「語彙によるイベントルーティング」のためのイベントパス確立に際しては、エンティティ2のSI-R2,1は、SE3が登録したフィルタ値を、そのままエンティティ1のSI-SW1へのフィルタ値として設定する。すなわち、SI-R2,1は、SE3がフィルタ登録したイベントタイプと意味情報との両者をエンティティ1のSI-SW1へとフィルタ登録し、SI-SW1において完全なフィルタリングを行う形態である。
【0072】
そのため、語彙によるイベントルーティング方式では、無駄なイベント転送が全く発生しないが、ルーティングのためのイベントパス設定オーバヘッドが膨大になるため、フィルタ登録数に比べてイベント送出数が十分大きい場合に有効な方式である。一方、イベントタイプに基づくルーティング方式は、前述の2方式の折衷案的な位置付けにある。すなわち、フィルタ登録数とイベント送出数が同程度の場合、もしくは、フィルタ登録数とイベント送出数の比率を予測できないような利用形態において有効である。これらの仕組みにより、意味情報に基づく、イベントのマルチホップ通信が実現される。なお、イベントプレースの生成時、もしくは、SEからのフィルタ登録時に、イベントルーティング方式を指定できる。
【0073】
イベントパスの設定要求はイベントプレース内のすべてのSI-Rに対して波及するが、TTL値により、その波及範囲を制限することができる。図16を用いて、その動作を簡単に説明する。ここでは説明の便宜上、語彙概念ルーティングのためのイベントパス確立を前提とするが、これに限られるわけではない。また、各エンティティは、同じ語彙概念をアドバタイズ(フィルタ登録)するものとする。また、TTL値を2として説明する。
【0074】
図16(a)において、エンティティ2のSI-Rがイベントパスの設定要求を開始する。ここでは、TTL値が2であるため、エンティティ1、エンティティ3、そしてエンティティ4に対してのみイベントパスの設定要求が波及し、その結果、図16(b)に示すようにイベントパスが確立される。
【0075】
上述と同様に、エンティティ11のSI-Rがイベントパスの設定要求を開始すると、エンティティ10、及びエンティティ9に対してイベントパスが確立される。図16に示す構成では、エンティティ2のSI-R及びエンティティ11のSI-Rがイベントパスの設定要求をすると、エンティティ5にはイベントパスが設定されないため、エンティティ2とエンティティ11の間では、イベントの共有が行われない。つまり、エンティティ2から生起したイベントは、エンティティ5〜11に連鎖反応せず、エンティティ5〜11へはイベントが転送されないことになる。
【0076】
しかしながら、図16(b)に示すように、エンティティ5のSI-Rがイベントパスの設定要求を開始することにより、エンティティ4、エンティティ5、エンティティ6、エンティティ7、そしてエンティティ9に対してイベントパスが確立される。結果的に、図16(c)に示すように、エンティティ8を除く、イベントプレース内のすべてのエンティティに対してイベントパスが確立される。
【0077】
このように、当該語彙概念が当該イベントプレースにおいて、使用頻度の高いもの(評判が高い、流行しているもの)であるならば、最終的に、イベントプレース内にイベントパスの確立が行き渡ることになる。その逆で、あまり流行していない語彙概念は、いずれ淘汰されることになり、これにより緩やかな連鎖反応を実現できる。なお、図16におけるイベントパス上の数字は、その多重度を示している。
【0078】
なお、エンティティは、イベントパスの多重度をエンティティプロパティの属性として公開することができる。一方、エンティティプロパティのディスカバリにより、イベントパスの多重度が高いエンティティを発見することができる。このとき、当該エンティティに対して、シェアードリンクの張り替えを行うことにより、同好の志(同好のエンティティ)が緩やかに近傍に集まることができる(同好エンティティの局所化)。エンティティプロパティの詳細については後述する。
【0079】
分散オブジェクト技術の観点から、イベントパスを以下のように解釈することもできる。世界中に超分散しているエンティティは、エンティティ間でなんらかの「相関関係」を有する。相関関係を与えるものとしては、エンティティ名、グループ名、属性(位置、興味、評判、流行、サービス)など様々なプロパティがある。エンティティは、相関関係に基づいて、エンティティ間の結びつきを持ち分散協調する。この、エンティティの相関関係を与えるものを、エンティティプロパティという。
【0080】
SIONetでは、この相関関係を語彙概念と語彙により表現し、シェアードリンクに基づいて、イベントパスとして設定する。また、相関関係の強弱が、語彙概念の汎化・特化、イベントパスの多重度などに相当する。すなわち、SIONetでは、イベントパスにより、エンティティ間の相関関係を動的に制御・管理している。これこそが、フィルタによる連鎖反応の制御である。そのため、エンティティは固定的なエンティティ識別子を有していない。
【0081】
例えば、IPアドレスは、位置に基づいたエンティティの固定的な識別子であるが、SIONetでは、これの代わりに、エンティティプロパティを語彙概念・語彙として記述したものをエンティティ識別子として用いる。エンティティは、これらをフィルタとしてSI-SWに登録することにより、エンティティのプロパティ(エンティティ識別子)を宣言するとともに、自身のプロパティをシェアードリンクに基づいてアドバタイズする。これがイベントパスの波及に相当する。これにより、イベントパスが確立される。
【0082】
上述したように、SI-Rは、イベント送信とイベント受信の両者の側面を持つネットワークエンティティであり、一般のサービスエンティティと本質的な違いはない。SIONetでは、SI-RのようなSIONetの制御に用いられるエンティティを、サービスエンティティ(SE)と特に区別して、ネットワークエンティティ(NE)と呼ぶ。SIONetにおいては、サービスエンティティ、ネットワークエンティティのすべてのエンティティを共通のエンティティとして扱い、さらに、イベント送出とイベント受信、すなわち刺激と発火の連鎖反応という単純かつ一貫性のある共通ロジックに従って自律動作させることにより、すべてのエンティティが自律分散協調可能な超分散・超疎結合アーキテクチャを提供する。
【0083】
<シェアードリンクの解除と再確立>
イベントプレースに参加しているエンティティが、障害に陥ったり、イベントプレースから退去する場合など、様々な理由により当該エンティティがネットワークの運営に関わることができないケースにおいては、残されたエンティティが自己組織化することによりネットワークサービスを継続できることが必要になる。
SIONetでは、このようなケースにおいては、SI-SW間において確立されているシェアードリンクを解除し、さらにシェアードリンクの再確立を行う。その動作を図17を参照して説明する。
【0084】
図17において、シェアードリンク確立要求の先頭数字(図中▲1▼や▲2▼など)は、それらの要求順序を示している。つまり、シェアードリンク確立要求の順序は、まず、エンティティ2からエンティティ1へシェアードリンクの確立要求を行う。次にエンティティ3からエンティティ2へシェアードリンクの確立要求を行う。最後に、エンティティ4からエンティティ2へシェアードリンクの確立要求を行うものとする。なお、ここで、「各エンティティは、同一イベントプレース内においてシェアードリンクの確立要求を高々1回しかできないが、無制限に確立要求を受け付けることが可能なリンクトポロジーに基づいて、シェアードリンクの確立を行う」リンク確立手法を提案する。これにより、シェアードリンクで結合されたエンティティ間に、ループが発生しないことが保証される。すなわち、この手法を用いることにより、隣接エンティティ間のリンク再確立のみで開リンクトポロジーを簡単に実現できる。
【0085】
上述した順序で確立要求が成功すると、前述した手順で各SI-SW間にシェアードリンクが確立される。シェアードリンクが確立されると、各エンティティのエンティティ制御部は、自身が確立要求を行ったエンティティと、自身への確立を受け付けたエンティティを記憶している。例えば、エンティティ2は、自身が確立要求を行ったエンティティ1と、自身への確立を受け付けたエンティティ3、エンティティ4のリストを保持している。
この状況において、例えば、エンティティ2の退去、減設などが行われる場合、自身のSI-SW2に対して確立されているシェアードリンクの解除要求を発行し、シェアードリンクの解除を行う。その後、各エンティティは新たなシェアードリンクの確立を行う。以下、その動作を説明する。
【0086】
(1)エンティティ2が退去する場合、エンティティ2のエンティティ制御部は、自身のシェアードリンクを解除する旨を、1ホップのエンティティ(エンティティ1、エンティティ3、エンティティ4)に対して通知する。これは、イベントのTTL値を1にしてイベント送出を行うことにより可能になる。なお、このとき、自身へのシェアードリンク確立を受け付けたエンティティ(エンティティ3、エンティティ4)に対しては、自身に代わる新たなシェアードリンクの確立要求先として、自身が確立要求を行ったエンティティ1を教える。なお、自身が確立要求を行ったエンティティが存在しない場合には、自身への確立要求元エンティティ(1ホップ先のエンティティ)の中から任意のエンティティを選択して、これを自身に代わるシェアードリンクの確立要求先とする。
【0087】
(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へのセッションを解除する。
【0088】
(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を確立させる。
【0089】
上述したように、シェアードリンクの確立処理、再確立処理は、隣接するエンティティ間においてのみ行われ、他のエンティティには影響を与えない。すなわち、全てのエンティティに対するリンクの再構築を必要としない。
【0090】
なお、エンティティの退去や減設などの正当な手順を踏んだシェアードリンクの解除要求ばかりでなく、エンティティの障害、電源断、セッション(物理的な通信路)の障害などに起因して、シェアードリンクを再確立しなければならないケースがある。しかしながら、このようなケースにおいては、シェアードリンクの再確立時に必要となる代わりのエンティティを教授できない可能性がある。SIONetでは、このような状況に対応するために、各エンティティはnホップ(nは任意の自然数)のイベントを送出することにより、代わりの確立要求先エンティティの把握を行っている。なお、SIONetでは、TTL値とホップ属性を用いることにより、更にきめこまかなホップ制御が可能である。ホップ属性の例として、以下のものがある。
【0091】
▲1▼シェアードリンクの確立要求先エンティティのみをホップ対象とする。
▲2▼シェアードリンクの確立要求元エンティティのみをホップ対象とする。
▲3▼すべてのエンティティをホップ対象とする。
【0092】
▲1▼のホップ属性を指定した場合の、イベントの流れの例を図18の破線で示している。図18において、(i/j)は各エンティティにおいて記憶しているシェアードリンクの確立情報である。iはエンティティがシェアードリンクの確立要求を行った先のエンティティを示しており、一方、jはエンティティがシェアードリンクの確立要求を受け付けたエンティティを示している。例えば、エンティティ3の(2/5、6)は、エンティティ3がエンティティ2に対して確立要求を行い、エンティティ5及びエンティティ6から確立要求を受け付けていることを表している。各エンティティがシェアードリンクの確立情報を保持することにより、例えば、エンティティ3が他のエンティティに対して、更なるシェアードリンクの確立要求を行った場合、その要求をエラーとしてリジェクトすることができる。これにより、前述した開リンクトポロジーの一貫性を保証している。この状況において、エンティティ6が3ホップで、上述▲1▼のホップ属性を持つイベントを送出することにより、エンティティ1とエンティティ2の存在を知ることが可能になり、これらがエンティティ3障害時の代替エンティティとなる。
【0093】
なお、上述したホップ属性は、障害時の代替エンティティの探索ばかりでなく、シェアードリンクの確立を受け付け可能なエンティティの探索、トップ(誰にもシェアードリンクの確立を行っていない)エンティティの探索などに有効である。SIONetでは、トップのエンティティのみが、他のイベントプレースに対して、フェデレーション(連携、イベントプレース間のシェアードリンクに相当)を確立することができる。
【0094】
<オンライン増減設の目的>
SIONetにおけるエンティティ増減設の目的は、主に以下の二つに大別される。(1)イベントプレースのトータル処理能力向上の観点から、イベントプレース内のエンティティを増設し、イベントのフィルタリング処理を負荷分散する。その逆の観点から、エンティティを減設する。これは、主に、ハイブリッドP2P、バックボーンP2Pネットワークの運用において用いられる。
(2)動的に生成されたエンティティに対して、シェアードリンクを柔軟に確立することにより、フレキシブルでグローバルなP2Pネットワークをボトムアップ的に構築する。これは、主に、ピュアP2Pネットワークの運営において用いられる。
【0095】
なお、ハイブリッド型P2Pネットワークとは、例えばネットワークプロバイダなどの運営者がホスト等にイベントプレースをあらかじめ生成し、個人の端末等のサービスエンティティがセッションによりイベントプレースと接続することにより構成されるネットワークである。また、ピュア型P2Pネットワークとは、個人の送受信端末たるエンティティがシェアードリンクで各々接続されることにより構成されるネットワークであり、このネットワークのうち、イベントを共有する最小単位がイベントプレースである。バックボーン型P2Pネットワークとは、ネットワーク間の接続形態のことであり、例えば、複数の地域のピュア型P2Pネットワークをハイブリッド型P2Pネットワークを経由して接続した状態のネットワークのことをいう。
【0096】
<増減設の形態>
SIONでは幾つかの増減設形態を提供しているが、ここでは、図19、図20に例を示す代表的な形態について述べる。
(1)イベントプレースの合成と分離
図19(a)に示すように、複数のイベントプレースを合成することができる。ここで合成とは、複数のイベントプレースにそれぞれ属するエンティティを、一つのイベントプレース内のメンバーとして集めることを言う。典型的な例として、異なるサービス運営者間の業務提携に基づく、サービス統合(情報共有)が考えられる。
【0097】
これは、イベントプレースに属する任意のエンティティ、もしくはイベントプレースに対して合成要求を行うことにより、合成要求先イベントプレース内のエンティティに対してシェアードリンクの確立要求が発行される。その結果、SI-SW間にシェアードリンクが確立され、両者の合成が実現される。なお、合成の要求元及び要求先は、それぞれ、エンティティでもイベントプレースでもどちらであってもかまわない。一方、分割する場合には、確立されているシェアードリンクを解除し、それぞれのイベントプレースに分離する。
【0098】
(2)イベントプレースへの参加と退去
図19(b)に示すように、イベントプレース内のエンティティ、もしくは、イベントプレースに対してJoin(参加)要求を行うことにより、要求元エンティティにSI-SWが生成される。そして、要求先エンティティに対してシェアードリンクの確立要求が発行されることにより、SI-SW間にシェアードリンクが確立され、当該イベントプレースに参加することができる。
エンティティがイベントプレースから退去する場合には、上述と同様に、エンティティ間のシェアードリンクを解除し、さらに、シェアードリンクの再構築を行い、当該イベントプレースから退去する。このとき、退去したエンティティの状態は、サスペンド状態へと遷移する。
【0099】
なお、イベントプレース側からエンティティに対してシェアードリンクの確立を要求することにより、当該エンティティをイベントプレース内に取り込むことも可能である。これを吸収という。その逆を分裂という。
(3)エンティティ(SI-SW)の増減設
図20(c)に示すように、イベントプレース内のエンティティ、もしくは、イベントプレースに対して、エンティティの増設要求を行うと、指定されたエンティティにSI-SWが新たに生成され、既存のSI-SWとの間にシェアードリンクが確立される。一方、イベントプレースにエンティティの減設要求を行うと、指定されたエンティティに対しシェアードリンクの解除要求が発行され、SI-SW間のシェアードリンクが解除された後、シェアードリンクの再確立が行われ、当該エンティティが削除される。このとき、エンティティの状態は、”Non-Existent”に遷移する。
【0100】
(4)イベントプレース間のフェデレーション
図20(d)に示すように、イベントプレース内のエンティティ、もしくは、イベントプレースに対して、フェデレーション(連携)要求を行うことにより、イベントプレース間でイベントを転送するSI-GWが動的に生成され、セッションを介して両イベントプレースが連携する。なお、フェデレーションの要求元及び要求先は、それぞれ、エンティティでもイベントプレースでもどちらであってもかまわない。
【0101】
<エンティティのアドバタイズメント>
図21、図22を参照し、エンティティのアドバタイズメント(公開)について説明する。SIONetにおけるエンティティのアドバタイズメントには、以下の2つの観点がある。
観点1:エントランスのアドバタイズメント
観点2:エンティティプロパティのアドバタイズメント
以下、各々の観点について説明する。
観点1:エントランスのアドバタイズメント
ベースイベントプレースは、エンティティに取って、最適なイベントプレースをいもづる式に探索(ディスカバリ)するためのベース(起点)となるイベントプレースである。つまり、ベースイベントプレースがSIONetへのエントランス(入り口)となる。そのため、ベースイベントプレースに参加しているエンティティは、SIONetのエントランスを公開することができる。ここで、エントランスの公開とは、シェアードリンクの確立要求先となるエンティティのエントリポイントとグローバルエンティティ名をアドバタイズすることを意味する。この公開情報は、後述するブロードキャストを用いた探索により発見される。
【0102】
観点2:エンティティプロパティのアドバタイズメント
シェアードリンクで接続されている任意のエンティティグループ(ベースイベントプレースを含むすべてのイベントプレース)において、各エンティティは自身のエンティティプロパティをアドバタイズすることができる。これが前述したイベントパスの波及に相当する。この公開情報は、後述するディスカバリイベントの送出により発見される。
【0103】
以下に、エンティティの公開、探索から、エンティティグループ形成までの流れを説明する。なお、以下では、ベースエンティティ、エンティティ1、エンティティ2、エンティティ3、エンティティ4、エンティティ5、エンティティ6はベースイベントプレースに属しており、エンティティ3、エンティティ11、エンティティ12、エンティティ13はイベントプレースαに属しているものとして説明する。
【0104】
▲1▼図21に示すように、SIONetソフトウエアをホストにインストールする。この時点でのエンティティの状態は、前述したように"Non-Existent"である。説明の便宜上、このエンティティをエンティティYとする。
▲2▼SIONetソフトウエアを実行することにより、エンティティYは"Non-Existent"から"サスペンド"状態に遷移する。この状態のエンティティは、SIONetからその存在がまだ認知されていない。
【0105】
▲3▼"サスペンド"状態のエンティティYは、SIONetの構成要素としてネットワークに参加するために、ベースイベントプレースに属している他のエンティティのエントランス(エントリポイントとグローバルエンティティ名)を探索する。具体的には、ブロードキャストにより、ベースイベントプレースに参加しているエンティティの中から、近傍のエンティティを探索する。ブロードキャストの方法は、実装に依存する。例えば、無線ネットワークで実装されている場合には、無線の到達範囲すべてのエンティティが探索の対象となる。一方、IPネットワークで実装されている場合には、IPブロードキャストもしくはIPマルチキャストを行うことになる。図21では、ブロードキャストによる探索により、エンティティ1(エンティティ1のエントリポイントとグローバルエンティティ名)が発見されたことを表している。なお、ブロードキャストにより、近傍のエンティティを発見できない場合には、Well-Known(周知)のエンティティを利用することもできる。Well-Knownのエンティティをベースエンティティと呼ぶ。なお、ベースエンティティは、ベースイベントプレースを含むすべてのイベントプレース内に存在することができる。
【0106】
▲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は、"サスペンド"状態から"アクティブ"状態へと遷移する。
【0107】
ベースイベントプレースにJoinしたエンティティYは、エントランスの公開が可能になる。また、エンティティプロパティをアドバタイズすることもできる。エンティティプロパティには、グローバルエンティティ名(及びエントリポイント)、ニックネーム、グループ名、アライブ(存在だけの表明であり、シェアードリンクの確立先情報となるエントリポイントとグローバルエンティティ名は公開しない、エンティティが非公開モードの場合でも公開の対象)、ディスクリプション(エンティティの説明文)、属性などがある。属性には、プラグインされているSE情報、イベントパス多重度、イベントプレース情報などがある。なお、エンティティプロパティの記述言語としては、XMLなどがある。
【0108】
図21において、例えばエンティティ3のエンティティ制御部は、エンティティ3が同時に参加しているイベントプレースαをエンティティプロパティの属性として公開することができる。さらに、エンティティ制御部は、現在Joinしているイベントプレースばかりでなく、過去にJoinしたイベントプレースのイベントプレース情報を公開することもできる。このイベントプレース情報とは、例えば、イベントプレースのディスクリプション(イベントプレースの説明文、説明情報)や、当該イベントプレースに参加する際にシェアードリンクを確立したエンティティ(意味情報スイッチ)のグローバルエンティティ名(イベントプレース名+エンティティ名、コネクション確立情報)、エントリポイント(エントリポイント情報)などである。この、過去にJoinしたイベントプレース情報をエンティティが保持できる数は任意とし、例えば、コントロールパネルによりエンティティ所有者等が設定できるものとする。この公開されたイベントプレース情報を取得したエンティティは、当該イベントプレース情報をコントロールパネル等により出力することで当該エンティティ所有者に提示する。これにより、エンティティ所有者は、他のイベントプレースの存在を認識することが出来る。
【0109】
SIONetでは、どこにどのようなイベントプレースがあり当該イベントプレースではどのようなサービスを提供しているか、というようなイベントプレース情報を集中管理する機能がないので、イベントプレース情報を取得しようとする場合、他のエンティティのエンティティプロパティからイベントプレース情報を取得する必要がある。現在参加しているイベントプレースのみならず、過去に参加したイベントプレース情報を公開することにより、イベントプレース情報を取得する機会が増え、自身の求めるサービスを提供するイベントプレースに参加できる確立が高くなる。
【0110】
エンティティYのエントランスの公開時には、これらのエンティティプロパティを、エンティティ内の意味情報スイッチにフィルタとして登録することにより、エンティティプロパティがシェアードリンクに基づいて他のエンティティに波及し、イベントパスが確立される。基本的には、イベントパスの確立要求がイベントプレース内のすべてのエンティティに対して波及するが、TTL値で、イベントパス確立要求の波及範囲を制限することができる。なお、グローバルエンティティ名はマルチホップ型ユニキャスト通信時の識別子として、グループ名はマルチホップ型マルチキャスト通信時の識別子として、属性はマルチホップ型属性付きマルチキャスト通信時の識別子として用いられる。例えば、マルチホップ型ユニキャスト通信の代表例として、イベント受信エンティティからイベント送信元エンティティへのリプライ通知がある。
【0111】
すなわち、グローバルエンティティ名はマルチホップ型ユニキャスト通信とは、グローバルエンティティ名で特定されるエンティティのSI-SWからnホップのイベントを送信する通信方式である。また、マルチホップ型マルチキャスト通信とは、グループ名で特定されるグループに属するエンティティのSI-SWにnホップのイベントを送信する通信方式である。また、マルチホップ型属性付きマルチキャスト通信とは、自身と同様の属性のエンティティのSI-SWにnホップのイベントを送信する通信方式である。また、マルチホップ型ブロードキャスト通信とは、任意のエンティティのSI-SWにnホップのイベントを送信する通信方式である。
【0112】
▲5▼図22において、ベースイベントプレースに参加したエンティティYは、「自身が参加したいイベントプレース」を探索するためのディスカバリイベントを送出することにより、「自身のニーズに合致するエンティティプロパティ」を公開しているエンティティを探索する。このディスカバリイベントは、SIONetの制御のために用いられるイベントであり、SEが送出するイベントと同等のものである。ディスカバリイベントとは、NEを発火させるためのイベントであり、イベントの意味情報部には、エンティティプロパティとの照合条件が設定される。すなわち、SIONetにおける新たな機能追加とは、新たな語彙概念と語彙を規定することを意味する(仕組みの追加ではなく、連鎖反応条件の追加)。これにより、単一な仕組み(連鎖反応)だけで、様々な機能追加を可能にしている。
【0113】
ここでは、探索の結果、エンティティ3が発見されたものとする。上述したように、エンティティ3は、ベースイベントプレースと同時にイベントプレースαに参加している。エンティティ3を発見したことにより、エンティティYはイベントプレースαの存在を知ることができる。
▲6▼エンティティYは、エンティティ3に対してイベントプレースαへのJoin要求を発行し、イベントプレースαに参加する。なお、エンティティ3は、前述したように、自身の状態遷移が"アクティブ"であり、かつ、公開モードのときに、Join要求(シェアードリンクの確立要求)を受け付ける。
【0114】
▲7▼さらに、エンティティYは、イベントプレースαにおいて、同様の探索のためのイベントを送出することができる。これにより、自身のニーズに合致する新たなエンティティを発見することができる。例えば、ここでは、エンティティ12が発見されたものとする。すなわち、エンティティYは、ベースイベントプレースにおいて発見することができなかったエンティティ12を、エンティティ3を介して発見できるということを意味している。このような操作を繰り返すことにより、自身のニーズに合致したイベントプレースに、次第にたどり着くことが可能になる。
【0115】
ここで示したアドバタイズメント方式は以下の効果がある。
(1)エンティティの公開情報を管理するブローカ(管理部)が存在しないため、耐障害性に強い自己組織化ネットワークを低コストで構築することができる。また、膨大な数の公開情報(エントリポイントやエンティティプロパティ)をブローカで管理することは現実的でない。
(2)エンティティに取って相応しいイベントプレースを、芋づる式に絞り込むことができるので、効率的に所望のイベントプレースを探索することができる。例えば、連鎖反応の波及範囲(ディスカバリイベントのホップ数、及び、エンティティプロパティのためのイベントパス設定要求の波及範囲)がTTL値で制限されたとしても、上述のように、エンティティ3経由でエンティティ12を発見し、その結果、エンティティ12が同時に属している別のイベントプレースを発見することができる。なお、連鎖反応の波及範囲を制限することにより、ネットワークトラフィック(イベントの転送回数、イベントパス設定要求の転送回数)を軽減することができる。
【0116】
なお、自身は情報を提供することなく(例えば、エンティティプロパティを公開することなく)、他のエンティティからの情報提供を受けるだけのエンティティは、ペナルティーとして、強制的にシェアードリンクが解除され、一定条件を満足しない限り、再度イベントプレースに参加できないようにすることもできる。
【0117】
<SEの共有方法(自動配信)>
以下に、ゲームイベントプレースにおけるSE(ゲームアプリケーションプログラム)の共有を例に、SEの共有方法の仕組みを示す。
(1)ゲームイベントプレースの運営者であるエンティティ2の所有者はエンティティ2のコントロールパネルを介してイベントプレース名を付与する。なお、ここで付与されたイベントプレース名は「ゲーム」であるものとして説明する。
【0118】
(2)エンティティ2のエンティティ制御部は、上述と同様に、NEファクトリにより生成されたSI-SWに対してグローバルエンティティ名「ゲーム+エンティティ2」を付与する。これにより、イベントプレースが生成される。このとき、ゲームイベントプレースの生成者であるエンティティ2は、イベントプレース生成時に当該イベントプレースに自動的に参加する。
(3)エンティティ2の所有者は、当該エンティティ2のコントロールパネルに対して、ゲームアプリケーションプログラム(SE)のプラグインを指示する。このとき、プラグインするアプリケーションの実行ファイル名、及び、SE共有の有無をパラメータとして与える。
【0119】
(4)エンティティ2のコントロールパネルはこの旨をエンティティ制御部に通知する。
(5)エンティティ2のエンティティ制御部は、プラグインする実行ファイル名を記憶するとともに、与えられた実行ファイル名を用いてアプリケーション(SE)を起動し、上述と同様に、SI-SWとアプリケーション間にセッションを確立する。すなわち、SIONetにおけるプラグインとは、アプリケーションとSI-SWとの間にセッションを確立することを意味する。
【0120】
(6)エンティティ2のエンティティ制御部は、エンティティ2のエンティティプロパティをアドバタイズ(公開)する。エンティティ2のエンティティプロパティの公開形態としては、例えば、以下のものがある。
・エンティティ2がベースイベントプレースに参加し、ベースイベントプレース内で、エンティティ2のエンティティプロパティを公開する。
・エンティティ2が、芋づる式探索を行うことにより、ゲームイベントプレースと関係の深いイベントプレースを発見、参加し、当該イベントプレース内で、エンティティ2のエンティティプロパティを公開する。
・エンティティ2をベースエンティティとする。すなわち、エンティティ2のエンティティプロパティ(エントリポイントとグローバルエンティティ名)を周知する。
【0121】
(7)エンティティ2の存在を知ったエンティティ1が、エンティティ2に対して、ゲームイベントプレースへの参加を要求する。
(8)この要求が承認された場合、エンティティ1は、エンティティ2に対して、シェアードリンクの確立を要求する。そして、上述と同様に、エンティティ1とエンティティ2の間にシェアードリンクが確立する。
(9)シェアードリンクが確立された場合、シェアードリンクの確立要求先(エンティティ2)は確立要求元(エンティティ1)に対して、当該イベントプレース内でイベントの送受信に必要な情報を返却する。具体的には、例えば、イベントプレース名(グローバルエンティティ名)、参加したイベントプレースがベースイベントプレースであるか否か、当該イベントプレースにおけるイベント転送方式(ルーティング方式)、イベントプレースのディスクリプション、プラグインされているSE情報(SE共有が有りの場合)等である。
【0122】
SE共有を共有する場合にシェアードリンク確立要求元に返却するSE情報とは、具体的には、例えば、上述したプラグインするアプリケーションの実行ファイル名や当該アプリケーションのファイル等である。
(10)当該ファイルを受けたエンティティ1のエンティティ制御部は、上述と同様に、与えられた実行ファイル名を用いてアプリケーションを起動し、エンティティ1内のSI-SWとアプリケーションとの間にセッションを確立する。これにより、エンティティ1内部に、ゲームアプリケーションプログラムをSEとしてプラグインする。
【0123】
すなわち、イベントプレースへの参加とは、シェアードリンクにより結合されたエンティティグループを形成し、プラグイン済みのアプリケーションプログラムを参加者が共有することを意味する。これにより、イベントプレースに参加するだけで、当該イベントプレース内のメンバーであるエンティティが、プラグインされているアプリケーションを、自動的に利用することが可能になる。なお、エンティティ1がゲームイベントプレースから退去するとき、プラグインされたゲームアプリケーションプログラムは、プラグアウトされる。なおその際、エンティティ1は、受信した当該ファイルを保有しつづけることもできるし、プラグアウト時に、当該ファイルが削除されることもある。
【0124】
上述した動作は、ピュア型のP2Pネットワーク環境でのアプリケーション共有である。そのため、アプリケーションプログラムの配信は、シェアードリンク確立先エンティティと確立元エンティティの2者間でのみ行われるため、シェアードリンクにより既に結合されている他のエンティティに対して影響を与えない。すなわち、ファイル転送のため処理は2者間に局所化されるため、スケーラブルなSE共有を達成することができる。
【0125】
<ビジネスモデル>
ここで、上述したSIONetを、サービスとして提供する実施例を説明する。
(1)クライアントサーバモデル
予め決められたエンティティのみでイベントプレースを運営する形態である。すなわち、予め決められたエンティティのみが当該イベントプレースに参加(Join)することが可能であり、参加を許されたエンティティは、エンティティ間のシェアードリンクを確立することにより、エンティティグループを構成する。一方、それ以外のエンティティは当該エンティティグループに対してセッションを確立し、当該セッションを介したイベントの送受信を行う。すなわち、イベントプレース(予め定められたエンティティのグループ)がサーバであり、その以外のエンティティがクライアントに相当する。このビジネスモデルでは、エンティティグループのメンバーである各エンティティは、自律分散コンピュータとして振舞い、任意のエンティティが障害に陥った際には、残されたエンティティが自己組織化しイベントプレースの運営を継続する。また、サーバの処理能力向上を図りたい場合には、新たなエンティティを当該イベントプレースに参加させれば良い。そのため、従来のサーバ実現方式と比べて、耐故障性に強く、安価で、スケーラブルなサーバを実現することができる。
【0126】
(2)ハイブリッドモデル
例えば、ゲームイベントプレースの運営者となるエンティティは、ゲームイベントプレースを生成し、当該イベントプレース内でのベースエンティティとなる。一方、ゲームイベントプレースのユーザとして位置付けられるエンティティは、当該イベントプレースに参加することにより、当該イベントプレースでのサービスを享受する。従来のクライアントサーバモデルでは、ユーザ数の増加に比例して新たな設備投資(CPUパワー、ストレージ、通信帯域など)が必要とされたが、本ビジネスモデルは、ユーザがイベントプレースに参加することにより、ユーザ自身のエンティティをサービス運営のために提供するため、イベントプレース運営者は新たな設備投資を必要としない。そのため、安価で、スケーラブルなP2Pサ-ビス環境を構築できる。なお、ベースエンティティにおいて、当該イベントプレースに参加するユーザ(エンティティ)の認証、課金が可能である。また、ベースエンティティは、ディスカバリイベントを送出することにより、エンティティグループの中から、シェアードリンクの確立が可能なエンティティ(代替エンティティ)を発見し、発見されたエンティティを参加希望のエンティティに対し通知し、両者の間でシェアードリンクを確立させることも可能である。
【0127】
(3)ピュアモデル
すべてのエンティティが自由にイベントプレースに対して参加(退去)することが可能なビジネスモデルである。
上述したように、SIONetでは、運営・配置問題に帰着することにより、様々なビジネスモデルを共通の仕組みで実現できる。そのため、開発工数、規模、デバッグ効率、維持管理の容易性等に大きな効果を与える。
【0128】
なお、上述したように、"サスペンド"状態のエンティティは、エントランスやエンティティプロパティを公開することはできない。"サスペンド"状態のエンティティは、任意のイベントプレースにJoinすることにより"アクティブ"状態に遷移する。"アクティブ"状態のエンティティのみが、エントランスやエンティティプロパティを公開することが可能である。また、ベースイベントプレースにJoinしているエンティティのみがエントランスの公開が可能である。「コントロールパネルにより、公開が指示されている」かつ「当該エンティティに対するセッション(シェアードリンク)の確立数がデフォルト値を超えていない」を満足するとき、エンティティはエントランスやエンティティプロパティを実際に公開できる。例えば、エンティティの所有者がコントロールパネルを用いて公開を指示しても、デフォルト値を超えてシェアードリンクが確立している場合には、自動的に非公開モードとなる。なお、デフォルト値は、コントロールパネルで設定可能であり、例えば、エンティティの所有者が、当該エンティティの能力等により設定することができる。
【0129】
なお、ネットワークエンティティ、ネットワークエンティティファクトリ、エンティティ制御部、コントロールパネル、サービスエンティティ、意味情報スイッチ、意味情報ルータ、意味情報ゲートウエイは専用のハードウェアにより実現されるものであってもよく、また、メモリ及びCPU(中央演算装置)により構成され、その機能を実現するためのプログラムをメモリにロードして実行することによりその機能を実現させるものであってもよい。
【0130】
また、ネットワークエンティティ、ネットワークエンティティファクトリ、エンティティ制御部、コントロールパネル、サービスエンティティ、意味情報スイッチ、意味情報ルータ、意味情報ゲートウエイの機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより実現させてもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
【0131】
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
以上、この発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【0132】
【発明の効果】
以上説明したように、本発明によるエンティティ装置、組み込みシステム、方法、記録媒体及びプログラムによれば、あるイベントプレース内でサービスが提供される場合、当該サービスを各エンティティで享受しつつ、かつ、任意のエンティティが参加、退去等しても他のエンティティに影響を及ぼさないエンティティを提供することができる。さらに、サービスを各エンティティで共有することができる。
【図面の簡単な説明】
【図1】 本発明の一実施形態において、エンティティを説明する図である。
【図2】 同実施形態において、エンティティの分類を説明する図である。
【図3】 同実施形態において、エンティティの状態遷移を説明する図である。
【図4】 同実施形態において、エンティティの内部構成を説明する図である。
【図5】 同実施形態において、イベントプレースの生成を説明する図である。
【図6】 同実施形態において、エンティティがイベントプレースへ参加する動作を説明する図である。
【図7】 同実施形態において、意味情報スイッチとセッションを説明する図である。
【図8】 同実施形態において、イベントの構成を説明する図である。
【図9】 同実施形態において、意味情報体系を説明する図である。
【図10】 同実施形態において、グローバルエンティティ名を説明する図である。
【図11】 同実施形態において、サービスエンティティのプラグインを説明する図である。
【図12】 同実施形態において、リファレンスモデルを説明する図である。
【図13】 同実施形態において、シェアードリンクを説明する図である。
【図14】 同実施形態において、シェアードリンクを説明する図である。
【図15】 同実施形態において、シェアードリンクを説明する図である。
【図16】 同実施形態において、イベントパスを説明する図である。
【図17】 同実施形態において、シェアードリンクの再確立を説明する図である。
【図18】 同実施形態において、ホップ属性を説明する図である。
【図19】 同実施形態において、イベントプレース及びエンティティの像減設を説明する図である。
【図20】 同実施形態において、イベントプレース及びエンティティの像減設を説明する図である。
【図21】 同実施形態において、エンティティのアドバタイズメントを説明する図である。
【図22】 同実施形態において、エンティティのアドバタイズメントを説明する図である。
【図23】 通信ネットワークのビジネスモデルの変遷を示す図である。
【図24】 P2Pモデルのディメンションを示す図である。
【図25】 SIONetの概念を説明する図である。
Claims (4)
- データと前記データの意味情報とからなるイベントを、ピュア型のP2Pネットワーク環境においてエンティティ装置間で送受信する組み込みシステムであって、
エンティティ装置が、
他のエンティティ装置に、エンティティプロパティを公開し、他のエンティティ装置が当該他のエンティティ装置の意味情報に合致するエンティティを発見しシェアードリンクの確立を要求した場合に、サービスを提供するサービスエンティティ部を実現させるデータを送信する制御手段を備え、
前記他のエンティティ装置が、
前記送信されたサービスエンティティ部を実現させるデータにより、サービスエンティティを起動し、エンティティ内の意味情報スイッチとサービスエンティティとの間にコネクションを確立することで実現するサービスエンティティ部と、
前記イベントの意味情報に基づいて、当該イベントを前記サービスエンティティ部又は他のエンティティ装置に送信する意味情報スイッチと、
前記サービスエンティティ部と前記意味情報スイッチとの間にコネクションを確立する制御手段と
を備え、
前記エンティティ装置の制御手段にサービスエンティティを他のエンティティ装置に共有するとパラメータ設定されていた場合に、当該エンティティ装置の制御手段が、他のエンティティ装置との間にシェアードリンクを確立する際に、前記サービスエンティティ部を実現させるデータを、当該他のエンティティ装置に送信及び起動させることを特徴とする組み込みシステム。 - サービスを提供するサービスエンティティ部と、データ及び前記データの意味情報からなるイベントの意味情報に基づいて前記イベントを前記サービスエンティティ部又は他のエンティティ装置に、ピュア型のP2Pネットワーク環境において送信する意味情報スイッチとからなるエンティティ装置が、サービスを提供するサービスエンティティ部の処理を組み込むサービスエンティティ部の組み込み方法であって、
前記サービスエンティティ部と、前記意味情報スイッチとの間に、エンティティ制御部がコネクションを確立する過程と、
前記エンティティ制御部が他のエンティティ装置に、エンティティプロパティを公開する過程と、
他のエンティティ装置が当該他のエンティティ装置の意味情報に合致するエンティティを発見した場合、発見したエンティティ装置に対してシェアードリンクの確立を要求する過程と、
前記コネクション確立時に、エンティティ制御部にサービスエンティティを他のエンティティ装置に共有するとパラメータ設定されていた場合、前記サービスエンティティ部を実現させるデータを、他のエンティティ装置に送信する過程と、
送信された前記サービスエンティティ部を実現させるデータにより当該他のエンティティ装置にサービスエンティティを起動させ、エンティティ装置内の意味情報スイッチとサービスエンティティとの間にコネクションを確立することで、前記サービスエンティティ部を実現させるデータを、他のエンティティに送信及び起動させる過程と
を有する組み込み方法。 - サービスを提供するサービスエンティティ部と、データ及び前記データの意味情報からなるイベントの意味情報に基づいて前記イベントを前記サービスエンティティ部又は他のエンティティ装置に、ピュア型のP2Pネットワーク環境において送信する意味情報スイッチとからなるエンティティ装置が、サービスを提供するサービスエンティティ部の処理をコンピュータに実行させる、前記サービスエンティティ部の組み込みプログラムであって、
前記サービスエンティティ部と、前記意味情報スイッチとの間に、コネクションを確立するステップと、
他のエンティティ装置に、エンティティプロパティを公開するステップと、
他のエンティティ装置が当該他のエンティティ装置の意味情報に合致するエンティティを発見した場合、発見したエンティティ装置に対してシェアードリンクの確立を要求するステップと、
前記コネクション確立時に、エンティティ制御部にサービスエンティティを他のエンティティ装置に共有するとパラメータ設定されていた場合、前記サービスエンティティ部を実現させるデータを、他のエンティティ装置に送信するステップと、
送信された前記サービスエンティティ部を実現させるデータにより当該他のエンティティ装置にサービスエンティティを起動させ、エンティティ装置内の意味情報スイッチとサービスエンティティとの間にコネクションを確立することで、前記サービスエンティティ部を実現させるデータを他のエンティティに送信及び起動させるステップと
をコンピュータに実行させる組み込みプログラム。 - サービスを提供するサービスエンティティ部と、データ及び前記データの意味情報からなるイベントの意味情報に基づいて前記イベントを前記サービスエンティティ部又は他のエンティティ装置に、ピュア型のP2Pネットワーク環境において送信する意味情報スイッチとからなるエンティティ装置が、サービスを提供するサービスエンティティ部の処理をコンピュータに実行させる、前記サービスエンティティ部の組み込みプログラムであって、
前記サービスエンティティ部と、前記意味情報スイッチとの間に、コネクションを確立するステップと、
他のエンティティ装置に、エンティティプロパティを公開するステップと、
他のエンティティ装置が当該他のエンティティ装置の意味情報に合致するエンティティを発見した場合、発見したエンティティ装置に対してシェアードリンクの確立を要求するステップと、
前記コネクション確立時に、エンティティ制御部にサービスエンティティを他のエンティティ装置に共有するとパラメータ設定されていた場合、前記サービスエンティティ部を実現させるデータを、他のエンティティ装置に送信するステップと、
送信された前記サービスエンティティ部を実現させるデータにより当該他のエンティティ装置にサービスエンティティを起動させ、エンティティ装置内の意味情報スイッチとサービスエンティティとの間にコネクションを確立することで、前記サービスエンティティ部を実現させるデータを他のエンティティに送信及び起動させるステップと
をコンピュータに実行させる組み込みプログラムを記録したコンピュータ読み取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001394982A JP3782345B2 (ja) | 2001-12-26 | 2001-12-26 | 組み込みシステム、方法、記録媒体及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001394982A JP3782345B2 (ja) | 2001-12-26 | 2001-12-26 | 組み込みシステム、方法、記録媒体及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003196250A JP2003196250A (ja) | 2003-07-11 |
JP3782345B2 true JP3782345B2 (ja) | 2006-06-07 |
Family
ID=27601546
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001394982A Expired - Fee Related JP3782345B2 (ja) | 2001-12-26 | 2001-12-26 | 組み込みシステム、方法、記録媒体及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3782345B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4826627B2 (ja) * | 2008-12-10 | 2011-11-30 | ソニー株式会社 | 情報端末装置、情報端末装置の処理方法およびプログラム |
-
2001
- 2001-12-26 JP JP2001394982A patent/JP3782345B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003196250A (ja) | 2003-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101595688B (zh) | 跨越公共网络以连接任意主机的虚拟专用lan | |
JP3850378B2 (ja) | エンティティ装置、アドホックネットワーク構築方法及びアドホックネットワーク構築プログラム並びにその記憶媒体 | |
JP3723127B2 (ja) | エンティティ装置、情報公開システム、方法、記録媒体及びプログラム | |
JP3723126B2 (ja) | エンティティ装置、名称付与方法、記録媒体及びプログラム | |
JP3946658B2 (ja) | エンティティ装置、イベント転送制御方法、イベント転送制御プログラム及びその記録媒体 | |
JP3782345B2 (ja) | 組み込みシステム、方法、記録媒体及びプログラム | |
JP3987817B2 (ja) | エンティティ装置、サービス共有方法、及び、コンピュータプログラム | |
JP3822178B2 (ja) | エンティティ装置、障害回復方法、及び、コンピュータプログラム | |
JP3803329B2 (ja) | エンティティ装置、代替エンティティ探索方法及び代替エンティティ探索プログラム並びにその記録媒体 | |
JP3983187B2 (ja) | エンティティ装置、リンク再確立方法、及び、コンピュータプログラム | |
JP3844747B2 (ja) | エンティティ装置、シェアードリンク再確立方法、シェアードリンク再確立プログラム及びその記録媒体 | |
JP3792664B2 (ja) | エンティティ装置、リプライ通知制御方法、リプライ通知制御プログラム及びその記録媒体 | |
JP3850379B2 (ja) | 意味情報ネットワークの構築方法および意味情報ネットワークシステム並びにプログラム | |
JP3974357B2 (ja) | シェアードリンク設定方法、通信システム、エンティティ装置、およびそのコンピュータプログラムならびにその記録媒体 | |
JP3910550B2 (ja) | 意味情報ネットワークにおけるデータ検索方法および意味情報ネットワークシステム並びにプログラム | |
JP4028429B2 (ja) | コンピュータ、イベントプレース探索方法、及び、コンピュータプログラム | |
Borch | Social peer-to-peer for social people | |
JP3974054B2 (ja) | エンティティ装置、シェアードリンク制御方法、認証方法及びシェアードリンク制御プログラム並びにその記録媒体 | |
JP3732762B2 (ja) | 意味情報スイッチ、意味情報ルータ、方法、記録媒体、プログラム | |
JP2004265325A (ja) | 意味情報ネットワークにおけるサービス提供方法および意味情報ネットワークシステム並びにプログラム | |
JP3977387B2 (ja) | 意味情報スイッチ、意味情報ルータ、方法、記録媒体、プログラム | |
JP2006351036A (ja) | アドバタイズメント方法、通信システム、エンティティ装置、およびそのコンピュータプログラムならびにその記録媒体 | |
JP3977388B2 (ja) | 意味情報スイッチ、意味情報ルータ、方法、記録媒体、プログラム | |
JP4170322B2 (ja) | 意味情報スイッチ、意味情報ルータ、方法、記録媒体、プログラム | |
JP3977389B2 (ja) | 意味情報スイッチ、意味情報ルータ、方法、記録媒体、プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20040116 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050628 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050817 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20050906 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051104 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20051114 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051206 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060203 |
|
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: 20060228 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060309 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090317 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100317 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110317 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110317 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120317 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130317 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |