JP3803329B2 - エンティティ装置、代替エンティティ探索方法及び代替エンティティ探索プログラム並びにその記録媒体 - Google Patents
エンティティ装置、代替エンティティ探索方法及び代替エンティティ探索プログラム並びにその記録媒体 Download PDFInfo
- Publication number
- JP3803329B2 JP3803329B2 JP2003070445A JP2003070445A JP3803329B2 JP 3803329 B2 JP3803329 B2 JP 3803329B2 JP 2003070445 A JP2003070445 A JP 2003070445A JP 2003070445 A JP2003070445 A JP 2003070445A JP 3803329 B2 JP3803329 B2 JP 3803329B2
- Authority
- JP
- Japan
- Prior art keywords
- entity
- event
- semantic information
- shared link
- natural number
- 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)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Between Computers (AREA)
Description
【発明の属する技術分野】
本発明は、自律分散ネットワークにおいて最適なリンク制御を実現するエンティティ装置、代替エンティティ探索方法及び代替エンティティ探索プログラム並びにその記録媒体に関する。
【0002】
【従来の技術】
従来、インターネットでは、図23に示すように、「ブローカ型配信モデル」に基づいた情報配信が一般的であった。このビジネスモデルでは、ブローカとして位置付けられる情報配信者(例えば、パソコン通信会社)が、情報提供者の情報を集中管理し、必要に応じてユーザに対して情報の配信を行った。
しかしながら、ブローカ型探索モデルでは、ブローカが情報のメタデータを一括管理しているために、ユーザや情報提供者の多用なニーズにリアルタイムに応えることが困難であるなどから、より自由で、特定のブローカに支配されない新たなビジネスモデルが求められるようになり、このような問題認識から、「ブローカレス型探索モデル」という新たな概念が考え出された。
このブローカレス型探索モデルが、2000年3月に発表されたGnutellaのような、世界中で注目されるようになったP2P(Peer−To−Peer)に相当する。また、2001年4月に発表されたJXTAもP2P、すなわちブローカレス型探索モデルに相当する。P2Pは、WWW以来の革新技術であり、第3世代と呼ばれている。なお、近年、伝送レイヤにP2Pの概念を適用したブローカレス型伝送モデルや、ポリシーレイヤにP2Pの考え方を適用したブローカレス型ポリシーモデルの研究開発が活発化していている。ブローカレス(配信)モデルのディメンションを図24に示す。このブローカレス型探索モデルの1つがSIONet(Semantic Infomation Oriented Network)である。
【0003】
SIONetは、意味情報(メタデータ)に基づいて、データと当該データの意味情報とからなるイベントを配送するメタネットワークである。図25に示すように、イベント受信者は、受信したいイベントの条件を示す意味情報を予め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の基本概念において、エンティティの障害などに起因して、シェアードリンクを再確立しなければならないケースに対応するための方法として、SIONetでは、各エンティティはnホップ(nは任意の自然数)のイベントを送出することにより、代わりの確立要求先エンティティの把握を行っており、代替エンティティの探索、シェアードリンクの再確立を実行する。
【0009】
しかし、シェアードリンク再確立時において、よりきめ細かなイベント転送制御、イベントルーティング制御を実際に実現できる機能は、現在提案されているものだけでは不十分であり、これを従来アーキテクチャで実現することは、新たなメソッド(機能プログラム)の追加を意味している。
しかし、これでは迅速なシステム開発、開発規模の最小化、デバック工数の削減、開発費用の削減、維持管理の容易性などを望むことは到底不可能であるという問題がある。
【0010】
本発明はこのような事情に鑑みてなされたもので、自律分散ネットワークにおいて、ホップ属性等の様々な属性に基づいて、代替エンティティを探索し、シェアードリンクを再確立することができるエンティティ装置、代替エンティティ探索方法及び代替エンティティ探索プログラム並びにその記録媒体を提供することを目的とする。
【0011】
【課題を解決するための手段】
この発明は上記の課題を解決すべくなされたもので、請求項1に記載の発明は、第1から第n(nは2以上の自然数)のエンティティ装置をシェアードリンクを介して接続して構成されるイベントプレースにおいて、イベントの取得条件であるホップ属性を示すフィルタを保持する意味情報ルータと、イベント送信元である第k(1≦k≦n ただしkは自然数)のエンティティ装置より受信するイベントの意味情報が示すホップ属性と、該意味情報ルータに登録されたフィルタのホップ属性とが合致するか否かを照合する照合部と、該照合部の照合結果に基づいてイベントルーティングを制御する制御部とを有する意味情報スイッチとを具備することを特徴とする。
【0012】
ここで、シェアードリンクとは、第1から第nのエンティティ装置間において、双方向のイベント共有を行うためのリンクである。
また、イベントプレースとは、第1から第nのエンティティ装置をシェアードリンクを介して接続して構成されるネットワークである。
また、イベントとは、データと、そのデータの意味情報と、制御情報からなるパケットである。
また、意味情報とは、送信データの特性を示す語彙、値であって、ある語彙概念におけるインスタンスである。
【0013】
また、請求項2に記載の発明は、第1から第n(nは2以上の自然数)のエンティティ装置をシェアードリンクを介して接続して構成されるイベントプレースにおいて、イベントの取得条件であるホップ属性を示すフィルタを保持する意味情報ルータと、当該イベントプレースに属しないエンティティ装置であって、イベント送信元であるエンティティ装置より受信するイベントの意味情報が示すホップ属性と、該意味情報ルータに登録されたフィルタのホップ属性とが合致するか否かを照合する照合部と、該照合結果に基づいて該エンティティ装置とシェアードリンクの確立制御を行う制御部とを有する意味情報スイッチとを具備することを特徴とする。
【0014】
また、請求項3に記載の発明は、第1から第n(nは2以上の自然数)のエンティティ装置をシェアードリンクを介して接続して構成されるイベントプレースにおいて、イベントの取得条件であるホップ属性を示すフィルタを保持する意味情報ルータと、イベント送信元である第l(1≦l≦n ただしlは自然数)のエンティティ装置より受信するイベントの意味情報が示すホップ属性と、該意味情報ルータに登録されたフィルタのホップ属性とが合致するか否かを照合する照合部と、該照合結果に基づいて前記第lのエンティティ装置とシェアードリンクの確立制御を行う制御部とを有する意味情報スイッチとを具備することを特徴とする。
【0015】
また、請求項4に記載の発明は、第1から第n(nは2以上の自然数)のエンティティ装置をシェアードリンクを介して接続して構成されるイベントプレースにおいて、イベントの取得条件であるホップ属性を示すフィルタを保持する意味情報ルータと、イベント送信元である第l(1≦l≦n ただしlは自然数)のエンティティ装置より受信するイベントの意味情報が示すホップ属性と、該意味情報ルータに登録されたフィルタのホップ属性とが合致するか否かを照合するとともに、該照合結果に基づいて、さらに、前記第lのエンティティ装置より受信するイベントの意味情報が示すイベントパス多重度と、前記意味情報ルータに登録されたフィルタのイベントパス多重度とが合致するか否かを照合する照合部と、該照合結果に基づいて前記第lのエンティティ装置とシェアードリンクの確立制御を行う制御部とを有する意味情報スイッチとを具備することを特徴とする。
【0016】
ここで、イベント多重度とは、エンティティ装置間における信頼関係の強さを示す値である。
【0017】
また、請求項5に記載の発明は、第1から第n(nは2以上の自然数)のエンティティ装置をシェアードリンクを介して接続して構成されるイベントプレースにおいて、第k(1≦k≦n ただしkは自然数)のエンティティ装置が自己のエンティティプロパティに基づいて、イベントルーティングを制御するイベントルーティング制御方法であって、該第kのエンティティ装置が、イベント送信元である第l(1≦l≦n ただしlは、l≠kを満たす自然数)のエンティティ装置より受信するイベントの意味情報が示すホップ属性と、イベントの取得条件であるホップ属性を示すフィルタを保持する意味情報ルータに登録されたフィルタのホップ属性とが合致するか否かを照合し、該照合結果に基づいてイベントルーティングを制御することを特徴とする。
【0018】
また、請求項6に記載の発明は、第1から第n(nは2以上の自然数)のエンティティ装置をシェアードリンクを介して接続して構成されるイベントプレースにおいて、第k(1≦k≦n ただしkは自然数)のエンティティ装置をフェデレーション要求先エンティティとして探索するフェデレーション要求先エンティティ探索方法であって、該第kのエンティティ装置が、当該イベントプレースに属しないエンティティ装置であって、イベント送信元であるエンティティ装置より受信するイベントの意味情報が示すホップ属性と、イベントの取得条件であるホップ属性を示すフィルタを保持する意味情報ルータに登録されたフィルタのホップ属性とが合致するか否かを照合し、該照合結果に基づいて該エンティティ装置とシェアードリンクの確立制御を行うことを特徴とする。
【0019】
また、請求項7に記載の発明は、第1から第n(nは2以上の自然数)のエンティティ装置をシェアードリンクを介して接続して構成されるイベントプレースにおいて、第k(1≦k≦n ただしkは自然数)を障害時の代替エンティティとして探索する代替エンティティ探索方法であって、該第kのエンティティ装置が、イベント送信元である第l(1≦l≦n ただしlは、l≠kを満たす自然数)のエンティティ装置より受信するイベントの意味情報が示すホップ属性と、イベントの取得条件であるホップ属性を示すフィルタを保持する意味情報ルータに登録されたフィルタのホップ属性とが合致するか否かを照合し、該照合結果に基づいて前記第lのエンティティ装置とシェアードリンクの確立制御を行うことを特徴とする。
【0020】
また、請求項8に記載の発明は、第1から第n(nは2以上の自然数)のエンティティ装置をシェアードリンクを介して接続して構成されるイベントプレースにおいて、第k(1≦k≦n ただしkは自然数)をシェアードリンク再確立先エンティティとして探索するシェアードリンク再確立先エンティティ探索方法であって、該第kのエンティティ装置が、イベント送信元である第l(1≦l≦nただしlは、l≠kを満たす自然数)のエンティティ装置より受信するイベントの意味情報が示すホップ属性と、イベントの取得条件であるホップ属性を示すフィルタを保持する意味情報ルータに登録されたフィルタのホップ属性とが合致するか否かを照合し、該照合結果に基づいて、さらに、前記第lのエンティティ装置より受信するイベントの意味情報が示すイベントパス多重度と、前記意味情報ルータに登録されたフィルタのイベントパス多重度とが合致するか否かを照合し、該照合結果に基づいて、前記第lのエンティティ装置とシェアードリンクの確立制御を行うことを特徴とする。
【0021】
また、請求項9に記載の発明は、第1から第n(nは2以上の自然数)のエンティティ装置をシェアードリンクを介して接続して構成されるイベントプレースにおいて、第k(1≦k≦n ただしkは自然数)のエンティティ装置に、自己のエンティティプロパティに基づくイベントルーティング制御処理を実行させるためのプログラムであって、イベント送信元である第l(1≦l≦n ただしlは、l≠kを満たす自然数)のエンティティ装置より受信するイベントの意味情報が示すホップ属性と、イベントの取得条件であるホップ属性を示すフィルタを保持する意味情報ルータに登録されたフィルタのホップ属性とが合致するか否かを照合する処理と、該照合結果に基づいてイベントルーティングを制御する処理とを実行させるためのイベントルーティング制御プログラムである。
【0022】
また、請求項10に記載の発明は、第1から第n(nは2以上の自然数)のエンティティ装置をシェアードリンクを介して接続して構成されるイベントプレースにおいて、第k(1≦k≦n ただしkは自然数)のエンティティ装置をフェデレーション要求先エンティティとして探索させる処理を実行させるためのプログラムであって、該第kのエンティティ装置に、当該イベントプレースに属しないエンティティ装置であって、イベント送信元であるエンティティ装置より受信するイベントの意味情報が示すホップ属性と、イベントの取得条件であるホップ属性を示すフィルタを保持する意味情報ルータに登録されたフィルタのホップ属性とが合致するか否かを照合する処理と、該照合結果に基づいて該エンティティ装置とシェアードリンクの確立制御を行う処理と、を実行させるためのフェデレーション要求先エンティティ探索プログラムである。
【0023】
また、請求項11に記載の発明は、第1から第n(nは2以上の自然数)のエンティティ装置をシェアードリンクを介して接続して構成されるイベントプレースにおいて、第k(1≦k≦n ただしkは自然数)を障害時の代替エンティティとして探索する探索させる処理を実行させるためのプログラムであって、該第kのエンティティ装置に、イベント送信元である第l(1≦l≦n ただしlは、l≠kを満たす自然数)のエンティティ装置より受信するイベントの意味情報が示すホップ属性と、イベントの取得条件であるホップ属性を示すフィルタを保持する意味情報ルータに登録されたフィルタのホップ属性とが合致するか否かを照合する処理と、該照合結果に基づいて前記第lのエンティティ装置とシェアードリンクの確立制御を行う処理とを実行させるための代替エンティティ探索プログラムである。
【0024】
また、請求項12に記載の発明は、第1から第n(nは2以上の自然数)のエンティティ装置をシェアードリンクを介して接続して構成されるイベントプレースにおいて、第k(1≦k≦n ただしkは自然数)をシェアードリンク再確立先エンティティとして探索させる処理を実行させるためのプログラムであって、該第kのエンティティ装置に、イベント送信元である第l(1≦l≦n ただしlは、l≠kを満たす自然数)のエンティティ装置より受信するイベントの意味情報が示すホップ属性と、イベントの取得条件であるホップ属性を示すフィルタを保持する意味情報ルータに登録されたフィルタのホップ属性とが合致するか否かを照合する処理と、該照合結果に基づいて、さらに、前記第lのエンティティ装置より受信するイベントの意味情報が示すイベントパス多重度と、前記意味情報ルータに登録されたフィルタのイベントパス多重度とが合致するか否かを照合する処理と、該照合結果に基づいて、前記第lのエンティティ装置とシェアードリンクの確立制御を行う処理とを実行させるためのシェアードリンク再確立先エンティティ探索プログラムである。
【0025】
また、請求項13に記載の発明は、第1から第n(nは2以上の自然数)のエンティティ装置をシェアードリンクを介して接続して構成されるイベントプレースにおいて、第k(1≦k≦n ただしkは自然数)のエンティティ装置に、自己のエンティティプロパティに基づくイベントルーティング制御処理を実行させるためのプログラムを記録する記録媒体であって、イベント送信元である第l(1≦l≦n ただしlは、l≠kを満たす自然数)のエンティティ装置より受信するイベントの意味情報が示すホップ属性と、イベントの取得条件であるホップ属性を示すフィルタを保持する意味情報ルータに登録されたフィルタのホップ属性とが合致するか否かを照合する処理と、該照合結果に基づいてイベントルーティングを制御する処理とを実行させるためのイベントルーティング制御プログラムを記録する記録媒体である。
【0026】
また、請求項14に記載の発明は、第1から第n(nは2以上の自然数)のエンティティ装置をシェアードリンクを介して接続して構成されるイベントプレースにおいて、第k(1≦k≦n ただしkは自然数)のエンティティ装置をフェデレーション要求先エンティティとして探索させる処理を実行させるためのプログラムを記録する記録媒体であって、該第kのエンティティ装置に、当該イベントプレースに属しないエンティティ装置であって、イベント送信元であるエンティティ装置より受信するイベントの意味情報が示すホップ属性と、イベントの取得条件であるホップ属性を示すフィルタを保持する意味情報ルータに登録されたフィルタのホップ属性とが合致するか否かを照合する処理と、該照合結果に基づいて該エンティティ装置とシェアードリンクの確立制御を行う処理とを実行させるためのフェデレーション要求先エンティティ探索プログラムを記録する記録媒体である。
【0027】
また、請求項15に記載の発明は、第1から第n(nは2以上の自然数)のエンティティ装置をシェアードリンクを介して接続して構成されるイベントプレースにおいて、第k(1≦k≦n ただしkは自然数)を障害時の代替エンティティとして探索する探索させる処理を実行させるためのプログラムを記録する記録媒体であって、該第kのエンティティ装置に、イベント送信元である第l(1≦l≦n ただしlは、l≠kを満たす自然数)のエンティティ装置より受信するイベントの意味情報が示すホップ属性と、イベントの取得条件であるホップ属性を示すフィルタを保持する意味情報ルータに登録されたフィルタのホップ属性とが合致するか否かを照合する処理と、該照合結果に基づいて前記第lのエンティティ装置とシェアードリンクの確立制御を行う処理とを実行させるための代替エンティティ探索プログラムを記録する記録媒体である。
【0028】
また、請求項16に記載の発明は、第1から第n(nは2以上の自然数)のエンティティ装置をシェアードリンクを介して接続して構成されるイベントプレースにおいて、第k(1≦k≦n ただしkは自然数)をシェアードリンク再確立先エンティティとして探索させる処理を実行させるためのプログラムを記録する記録媒体であって、該第kのエンティティ装置に、イベント送信元である第l(1≦l≦n ただしlは、l≠kを満たす自然数)のエンティティ装置より受信するイベントの意味情報が示すホップ属性と、イベントの取得条件であるホップ属性を示すフィルタを保持する意味情報ルータに登録されたフィルタのホップ属性とが合致するか否かを照合する処理と、該照合結果に基づいて、さらに、前記第lのエンティティ装置より受信するイベントの意味情報が示すイベントパス多重度と、前記意味情報ルータに登録されたフィルタのイベントパス多重度とが合致するか否かを照合する処理と、該照合結果に基づいて、前記第lのエンティティ装置とシェアードリンクの確立制御を行う処理とを実行させるためのシェアードリンク再確立先エンティティ探索プログラムを記録する記録媒体である。
【0029】
【発明の実施の形態】
[SIONetの詳細]
<SIONetエンティティの定義>
ここでは、パーソナルコンピュータ、ワークステーション、情報携帯端末、携帯電話、ウエアラブルコンピュータなどのあらゆるコンピュータを総称して、ホストと呼ぶ。さらに、SIONetソフトウエアを実装したホストを、「SIONetエンティティ」もしくは単に「エンティティ」と呼ぶ。エンティティ(エンティティ装置)は、図2(a)に例を示すように、SIONetソフトウエアを実装したホストを、SIONetにおける自律分散協調の単位として仮想化したものである。SIONetソフトウエアは、個々のエンティティが自律分散協調を行うための仕組みを提供する。このSIONetソフトウエアにより、各ホストが自律分散コンピュータとなることが可能となる。
【0030】
エンティティは、図2(b)に示すように、主に以下の3つのタイプに分類される。
・サービスとして振る舞うアプリケーション(サービスエンティティ:SE、サービスエンティティ部)をエンティティ内部に含むもの
・ネットワーク構成要素として振る舞うモジュール(ネットワークエンティティ:NE)をエンティティ内部に含むもの
・上記SEとNEとの両方をエンティティ内部に含むもの
【0031】
<エンティティ構造と状態遷移>
図3は、エンティティの状態遷移を示す図である。この図に示すように、エンティティの状態として、”Non-Existent”、”サスペンド”、”アクティブ”という3つの状態がある。
”Non-Existent”状態は、ホストにSIONetソフトウエアをインストールした時点でのエンティティ状態を表している。
SIONetソフトウエアを実行(ラウンチ)することにより、”Non-Existent”状態から”サスペンド”状態に遷移する。このとき、エンティティ内に、図4に一例を示すように、エンティティ制御部、コントロールパネル、ネットワークエンティティファクトリ(NEファクトリ)、ネットワークエンティティ(NE)、などの内部モジュールが生成される。以下に、それぞれの役割を簡単に説明する。
【0032】
エンティティ制御部とは、エンティティの実体であり、他のエンティティやコントロールパネルからの様々な要求(後述するセッションの確立要求、シェアードリンクの確立要求など)を受け付ける。なお、”サスペンド”状態のエンティティに対して、他のエンティティからセッションの確立要求、シェアードリンクの確立要求などを行うことはできない。
【0033】
コントロールパネルは、人などのエンティティの所有者に対して、GUI(Graphical User Interface)を提供する。コントロールパネルにより、例えば、エンティティの所有者にエンティティ名の入力を促し、入力されたエンティティ名に基づいて、エンティティ制御部が当該エンティティにエンティティ名を付与する。図4の例では、エンティティ名を”エンティティ2”としている。このエンティティ名を、後述する「グローバルエンティティ名」と特に区別して「ローカルエンティティ名」と呼ぶことがある。このローカルエンティティ名は、当該エンティティの所有者等が任意で設定できるものとする。
【0034】
NE(ネットワークエンティティ)ファクトリとは、NEを動的に生成する機能を備える。
NE(ネットワークエンティティ)とは、SI-R(Semantic Information Router、意味情報ルータ)、SI-GW(Semantic Information Gateway、意味情報ゲートウェイ )、アライブエンティティ、障害処理エンティティ、統計情報収集エンティティなど、ネットワーク制御のために振る舞うモジュールの総称である。
【0035】
SE(サービスエンティティ)とは、エンティティが提供するプラグイン機構を用いて、エンティティ内にSEとして組み込まれたアプリケーションであり、SIONet上で動作するP2Pアプリケーションを仮想化したものである。エンティティが提供するプラグイン機構を用いて、アプリケーションをSEとしてエンティティ内に組み込むことができる。また、SEは、SI-SWに対して、任意数のセッションを確立することができる。SEはセッションを介してのみ、イベントの送受信が可能である。SEは、SIONetのネットワーク構築・運営に関与しない。なお、SEをエンティティ内に組み込むプラグイン機構については後述する。
【0036】
図3における”サスペンド”状態のエンティティ(エンティティ2)が、例えば、図5に例を示すように自らイベントプレースを生成したり、図6に例を示すように既存のイベントプレースにJoin(参加)などして、任意のイベントプレースに属し、エンティティグループのメンバーになったときに、エンティティ(エンティティ2)は”サスペンド”状態から”アクティブ”状態へと遷移する。”アクティブ”状態のエンティティのみが自身の存在をアドバタイズ(公開、詳細は後述する)し、他のエンティティからのセッションの確立要求やシェアードリンクの確立要求を受け付けることができる。
【0037】
ここで、ソフトウェアがホストにインストールされ、NE、NEファクトリ、エンティティ制御部、コントロールパネルなどを備えるエンティティが生成された後、当該エンティティが”アクティブ”状態となるまでの動作を説明する。エンティティが、当該エンティティの所有者などからコントロールパネルを介して、イベントプレースの生成や他のイベントプレースへの参加の指示を受けたものとする。エンティティのエンティティ制御部は、当該エンティティのNEファクトリにSI-SW(Semantic Information Switch、意味情報スイッチ)の生成を依頼する。NEファクトリがSI-SWを生成すると、エンティティ制御部は、生成されたSI-SWと、NEなどの内部モジュールとの間にセッションを確立する。これにより、アドバタイズや、他のエンティティからのセッションの確立要求、シェアードリンクの確立要求等を受け付けることが可能となる。
【0038】
ここで、図7を参照し、SI-SWとセッションの役割について説明する。
セッションとは、SI-SWとSE間のコネクションであり、SEは、セッションを介してのみイベントの送受信を行うことができる。セッションには、イベントの送信セッション、受信セッション、送受信セッションの3タイプがある。
SI-SWは、意味情報に基づいて、イベントをスイッチングするスイッチング機構を提供する。SI-SWはセッションを介して、NEや、プラグイン機構によりエンティティ内に組み込まれたSEやNEなどの内部エンティティをスター型で収容する。以下では、SEを例にとり説明するが、NEなど、エンティティに内包された他の内部エンティティも同様である。
【0039】
ここで、イベントの構成について説明する。図8に一例を示すように、イベントは、制御情報部、意味情報部、データ部から構成される。データ部には、送信データが格納される。送信データとして、テキストデータ、バイナリデータ、リファレンス、プロキシ、エージェントなど、様々なデータ、プログラムを格納することができる。
【0040】
意味情報部には、送信データの意味情報(語彙とその値)、及び、意味情報の語彙概念(イベントタイプ)が格納される。ここで、意味情報とは、送信データの特性を記述したメタデータであり、イベントタイプのインスタンスである。
また、イベントタイプは意味情報のテンプレートである。イベントタイプ間には継承関係を定義できる。図9に、意味情報体系の一例を示す。この図において、”タイトル;イエスタデイ”、”価格;$30”、”アーティスト名;ビートルズ”という意味情報は、”ポピュラー”というイベントタイプに属しており、また”音楽”というイベントタイプにも属している。また、”タイトル;きよしこの夜”、”価格;$20”、”シチュエーション;クリスマス”という意味情報は、”BGM”というイベントタイプに属しており、また”音楽”というイベントタイプにも属している。
【0041】
意味情報体系の記述言語としてはXML(Extensible Markup Language)などがある。なお、ネットワークエンティティ用に一部のイベントタイプ名(SIONetから始まるすべての名称)が予約済みである。
図8に一例を示すイベントの制御情報部は、SIONetの実行制御のために用いられる制御フィールドであり、これのみがSIONetのユーザであるSEに対して開放されていない。制御情報部には、合致したフィルタの識別子、合致したフィルタの照合得点、同期型統計情報収集フラグ、イベントプレース内、イベントプレース間におけるTTL(Time To Live)値、イベントプレース内、イベントプレース間におけるホップ数、ホップ属性などの制御情報が設定される。
【0042】
図7に示すようなエンティティの構成において、SEの機能を説明する。SEは、受信セッションを介して、イベントの取得条件をSI-SWに登録する。これを「フィルタ」と呼ぶ。フィルタには、取得したいイベントの語彙概念(イベントタイプ)、及び、意味情報との照合条件(例えば、語彙”Price”が”$20から$40の範囲”のものを取得対象とする)等を設定する。なお、当該イベントタイプに定義されているすべての語彙との「完全一致」、一部の語彙との「部分一致」、「重み付け一致」など、照合条件をフィルタ単位で選択することができる。
【0043】
SEは、一つの受信セッションから、複数のフィルタを登録することが可能であるが、同一セッションを介して登録されたフィルタ間は”or”関係を有する。すなわち、一つのイベントに対して、一つの受信セッションは高々1回しか発火しない。取得したいイベントのイベントタイプにワイルドカードを指定した場合には、すべてのイベントタイプが取得の対象となる。また、意味情報との照合条件に1(論理値が真)が設定された場合には、無条件に意味情報との照合条件が満足されたことを意味する。
【0044】
また、SEは、送信セッションを介して、SI-SWにイベントの送信を行う。このとき、SI-SWはイベントの意味情報部とフィルタとを照合する。具体的には、まず、受信したいイベントタイプであるかどうかをチェックし、これを満足した場合には、意味情報と照合条件をチェックする。この照合の結果、意味情報が照合条件を満足している場合には、合致したフィルタを登録したエンティティを起動するとともに、当該イベントを通知する。
SIONetでは、イベントの送信を「刺激」、フィルタがイベントに合致することを「反応」、合致したフィルタを登録したエンティティを起動しイベント通知することを「発火」と呼ぶ。
【0045】
<エンティティの名称付与方法>
図5に示すように、エンティティ2が”イベントプレースA”と命名したイベントプレースを生成する場合を説明する。エンティティ2の所有者は、コントロールパネルを介するなどして、エンティティ2にイベントプレース名を入力する。ここでは、入力等されたイベントプレース名を「イベントプレースA」とする。すると、エンティティ制御部は、NEファクトリにSI-SWの生成を依頼し、生成されたSI-SWと、NEなどの内部モジュールとの間にセッションを確立する。さらに、エンティティ制御部は、生成されたSI-SWの名前を「イベントプレース名+ローカルエンティティ名」、すなわち「イベントプレースA+エンティティ2」として記憶する。この名前を「グローバルエンティティ名」と呼ぶ。このグローバルエンティティ名の作成がイベントプレースの生成に相当する。
【0046】
すなわち、SIONetでは、イベントプレースの生成により、必ずしも何らかの管理実体が生成されるとは限らない。つまり、SIONetでは、イベントプレースに属しているエンティティのメンバー管理を、後述するエンティティ間のシェアードリンクにより実現しているため、メンバー管理を行う集中管理部自体が存在しない。そのため、イベントプレースを生成したエンティティが当該イベントプレースから退去しても、当該イベントプレースに残されたエンティティが自律的に自己組織化することにより、当該イベントプレースの運営が継続される。すなわち、イベントプレースから最後のエンティティが退去することが、イベントプレースの消滅に相当する。
【0047】
このグローバルエンティティ名は、シェアードリンクやセッションを確立する場合に用いられる。図5に示すようなエンティティ2が、イベントプレースBをさらに生成し、エンティティ1からのシェアードリンクを確立する動作を、図10を参照して説明する。
【0048】
まず、既にイベントプレース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などから構成される。
SIONetはイベントの伝達層であり、上位層に対してネットワークインタフェースを提供する。ミドルウエア層がコミュニティ(コミュニティネットワーク:COMNet)であり、SIONetのインテリジェンス層に相当する。このレイヤにおいて、情報の局所化、認証、セキュリティ、情報の権利保証、ポリシー制御などが行われる。そして、最上位層がアプリケーション層となっている。このアプリケーション層には、SEが実装される。SEとしては、例えば、個人TV局、メッセージ交換サービスのスマートメッセンジャーなどがある。
【0055】
このように、SIONetは、分散コンピューティング、情報交換、コラボレーション、メッセージ配信などのあらゆるP2Pサービス(SEがサービスを提供する)に対して、共通のP2Pネットワーク基盤を提供するとともに、プラグイン機構の提供により、アプリケーション開発の効率化をサポートする。
【0056】
<SIONetにおけるエンティティの役割>
SIONetは、個々のエンティティが互いに助け合うことにより、ボランティア型のネットワークを構築する形態であり、それぞれが自律分散協調することにより、ネットワークを自己組織化する。例えば、図6の構成において、エンティティ1の生成したイベントプレースにエンティティ2が参加し、その後、エンティティ1が当該イベントプレースから退去する動作を説明する。
【0057】
予め、エンティティ1はイベントプレースを生成し、当該イベントプレースに参加している。ここに、エンティティ2がエンティティ1に対して、イベントプレースへのJoin要求を行うと、図13に示すように、エンティティ2にSI-SWが生成され、さらに、エンティティ1及びエンティティ2のSI-SW間にシェアードリンクが確立され、エンティティグループが形成される。
このようにエンティティ1とエンティティ2のSI-SW間にシェアードリンクが確立され、エンティティ2がイベントプレースに参加した後、イベントプレースの生成者であるエンティティ1がイベントプレースから退去するものとする。すると、SI-SW間のシェアードリンクが解除され、以降は、エンティティ2のみでイベントプレースの構築・運営が継続される。このように、個々のエンティティが自己組織化するため、あるエンティティが退去、消失等しても他のエンティティが当該エンティティの機能を果たす。
【0058】
SIONetでは、目的に応じてエンティティを配置/組み合わせることにより、様々な形態のP2Pネットワークを構築することができる。また、異なる形態のP2Pネットワークをシームレスに連携させることもできる。これは、以下を実現させることにより達成される。
(1)すべてのエンティティを、”刺激と発火に基づく連鎖反応”という一元的かつ単純な仕組みで自律分散協調させること
(2)P2Pネットワーク形態の差異をエンティティの配置・運営問題に帰着させること
このように、単一の仕組みで様々な形態のP2Pネットワークを構築できる点がSIONetの特徴の一つである。
【0059】
<シェアードリンク>
「シェアードリンク(共有リンク)」は、複数の異なるエンティティ間において、双方向のイベント共有を行うための概念である。例えば、図14に示すように、エンティティ2がエンティティ1に対して、シェアードリンク(SL: Shared Link)の確立要求を行うことにより、図15に示すように、SI-SW2とSI-SW1との間にシェアードリンクが確立され、新たなエンティティグループが形成される。
すなわち、シェアードリンクは、エンティティグループを形成するための仕組みであり、また、マルチホップの経路でもある。
【0060】
図14において、シェアードリンクの確立に成功したエンティティ2には、エンティティ1からイベントプレース名(グローバルエンティティ名)、当該イベントプレースにおけるイベント転送方式(ルーティング方式)、当該イベントプレースのディスクリプション(説明文)、プラグインされているSE情報等のさまざまな情報が送信される。なお、後述するSI-Rによるフィルタ値の設定によって、SI-SW間に様々なイベントルーティング方式を動的に設定できる。以降において、シェアードリンクの確立の動作を説明し、さらに、SI-Rの役割、仕組みを詳述する。
【0061】
<シェアードリンクの確立>
図14及び図15を用いて、シェアードリンク確立までの仕組みを説明する。まず、図14において、エンティティ2がエンティティ1に対して、シェアードリンクの確立要求を発行した場合を考える。
(1)エンティティ2がエンティティ1に対して、シェアードリンクの確立要求を発行する。
【0062】
(2)図15に示すように、エンティティ1のエンティティ制御部は、SL1,2(エンティティ2からのイベントを受信するためのシェアードリンク)を確立するために、NEファクトリに、意味情報に基づいてSI-SW間のイベントルーティング(イベント転送)を行うSI-R1,2 を、エンティティ1内部に動的に生成させる。さらに、エンティティ制御部は、エンティティ2がシェアードリンクの確立要求元であることを記憶する。厳密には、エンティティ2のエントリポイントとグローバルエンティティ名(SI-SW2)とをシェアードリンクの確立要求元として記憶する。
【0063】
(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へも送出される。
【0064】
(4)このとき、SI-R1,2 がSI-SW2に対して登録するフィルタの設定値により、イベントの転送方式を動的に制御できる。その例を以下に示す。
(a)SI-SW2に対して送出されたイベントを、無条件にSI-SW1へと転送する。すなわち、すべてのイベントに対して、SI-R1,2 が発火する。これはSI-RがSI-SWに登録するフィルタとして、「取得する語彙概念にワイルドカードを、及び意味情報(語彙)との照合条件に真」を設定することにより可能になる。これを「無条件ルーティング」と呼ぶ。この設定は、シェアードリンク確立時に一度だけ行えばよい。この方式では、無駄なイベント転送と転送先でのイベント照合処理オーバヘッドが発生する可能性があるが、後述するイベントパス確立(ルーティング情報の設定)のためのオーバヘッドが発生しないため、フィルタ登録数がイベント送出数よりも十分大きい場合に有効な方式である。このルーティング方式は、主に、マルチホップ型ブロードキャスト通信に用いられる。
【0065】
(b)エンティティ1に取って必要なイベントのみをSI-SW2からSI-SW1へ転送する。これにより、不要なイベント転送を行わない。すなわち、特定のイベントに対してのみ、SI-R1,2 が発火する。これは、SI-Rが語彙概念のみ(照合条件は常に真)をフィルタに設定する「語彙概念によるイベントルーティング」と、語彙概念と語彙との照合条件をフィルタに設定する「語彙によるイベントルーティング」に大別される。前者は主にマルチホップ型属性付きマルチキャスト通信に、後者は主にマルチホップ型ユニキャスト通信、マルチホップ型マルチキャスト通信に用いられる。これは、障害処理通知、統計情報通知、アライブ通知、リプライ通知、アドバタイズメント通知などで用いられている。
なお、マルチホップ型ブロードキャスト通信、マルチホップ型属性付きマルチキャスト通信、マルチホップ型ユニキャスト通信、マルチホップ型マルチキャスト通信のようなマルチホップ通信のほかに、SI-Rの設定するフィルタ値により、通信先エンティティのエントリポイントを用いた直接通信も可能である。なお、マルチホップ型ブロードキャスト通信、マルチホップ型属性付きマルチキャスト通信、マルチホップ型ユニキャスト通信、マルチホップ型マルチキャスト通信については後述する。
【0066】
(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を発火させないことができる。
【0067】
<イベントパスの確立>
イベント転送(イベントルーティング)のための経路選択情報(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に波及することにより、イベントパスが確立される。これを「イベントパスの設定、もしくは波及」と呼ぶ。
【0068】
ここで、上述した「語彙概念によるイベントルーティング」のためのイベントパスの確立について説明する。図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において行う。
【0069】
また、上述した「語彙によるイベントルーティング」のためのイベントパスの確立について説明する。図15において、「語彙によるイベントルーティング」のためのイベントパス確立に際しては、エンティティ2のSI-R2,1 は、SE3が登録したフィルタ値を、そのままエンティティ1のSI-SW1へのフィルタ値として設定する。すなわち、SI-R2,1 は、SE3がフィルタ登録したイベントタイプと意味情報との両者をエンティティ1のSI-SW1へとフィルタ登録し、SI-SW1において完全なフィルタリングを行う形態である。
【0070】
そのため、語彙によるイベントルーティング方式では、無駄なイベント転送が全く発生しないが、ルーティングのためのイベントパス設定オーバヘッドが膨大になるため、フィルタ登録数に比べてイベント送出数が十分大きい場合に有効な方式である。一方、イベントタイプに基づくルーティング方式は、前述の2方式の折衷案的な位置付けにある。すなわち、フィルタ登録数とイベント送出数が同程度の場合、もしくは、フィルタ登録数とイベント送出数の比率を予測できないような利用形態において有効である。これらの仕組みにより、意味情報に基づく、イベントのマルチホップ通信が実現される。なお、イベントプレースの生成時、もしくは、SEからのフィルタ登録時に、イベントルーティング方式を指定できる。
【0071】
イベントパスの設定要求はイベントプレース内のすべてのSI-Rに対して波及するが、TTL値により、その波及範囲を制限することができる。図16を用いて、その動作を簡単に説明する。ここでは説明の便宜上、語彙概念ルーティングのためのイベントパス確立を前提とするが、これに限られるわけではない。また、各エンティティは、同じ語彙概念をアドバタイズ(フィルタ登録)するものとする。また、TTL値を2として説明する。
【0072】
図16(a)において、エンティティ2のSI-Rがイベントパスの設定要求を開始する。ここでは、TTL値が2であるため、エンティティ1、エンティティ3、そしてエンティティ4に対してのみイベントパスの設定要求が波及し、その結果、図16(b)に示すようにイベントパスが確立される。
【0073】
上述と同様に、エンティティ11のSI-Rがイベントパスの設定要求を開始すると、エンティティ10、及びエンティティ9に対してイベントパスが確立される。図16に示す構成では、エンティティ2のSI-R及びエンティティ11のSI-Rがイベントパスの設定要求をすると、エンティティ5にはイベントパスが設定されないため、エンティティ2とエンティティ11の間では、イベントの共有が行われない。つまり、エンティティ2から生起したイベントは、エンティティ5〜11に連鎖反応せず、エンティティ5〜11へはイベントが転送されないことになる。
【0074】
しかしながら、図16(b)に示すように、エンティティ5のSI-Rがイベントパスの設定要求を開始することにより、エンティティ4、エンティティ5、エンティティ6、エンティティ7、そしてエンティティ9に対してイベントパスが確立される。結果的に、図16(c)に示すように、エンティティ8を除く、イベントプレース内のすべてのエンティティに対してイベントパスが確立される。
【0075】
このように、当該語彙概念が当該イベントプレースにおいて、使用頻度の高いもの(評判が高い、流行しているもの)であるならば、最終的に、イベントプレース内にイベントパスの確立が行き渡ることになる。その逆で、あまり流行していない語彙概念は、いずれ淘汰されることになり、これにより緩やかな連鎖反応を実現できる。なお、図16におけるイベントパス上の数字は、その多重度を示している。
【0076】
なお、エンティティは、イベントパスの多重度をエンティティプロパティの属性として公開することができる。一方、エンティティプロパティのディスカバリにより、イベントパスの多重度が高いエンティティを発見することができる。このとき、当該エンティティに対して、シェアードリンクの張り替えを行うことにより、同好の志(同好のエンティティ)が緩やかに近傍に集まることができる(同好エンティティの局所化)。エンティティプロパティの詳細については後述する。
【0077】
分散オブジェクト技術の観点から、イベントパスを以下のように解釈することもできる。世界中に超分散しているエンティティは、エンティティ間でなんらかの「相関関係」を有する。相関関係を与えるものとしては、エンティティ名、グループ名、属性(位置、興味、評判、流行、サービス)など様々なプロパティがある。エンティティは、相関関係に基づいて、エンティティ間の結びつきを持ち分散協調する。この、エンティティの相関関係を与えるものを、エンティティプロパティという。
【0078】
SIONetでは、この相関関係を語彙概念と語彙により表現し、シェアードリンクに基づいて、イベントパスとして設定する。また、相関関係の強弱が、語彙概念の汎化・特化、イベントパスの多重度などに相当する。すなわち、SIONetでは、イベントパスにより、エンティティ間の相関関係を動的に制御・管理している。これこそが、フィルタによる連鎖反応の制御である。そのため、エンティティは固定的なエンティティ識別子を有していない。
【0079】
例えば、IPアドレスは、位置に基づいたエンティティの固定的な識別子であるが、SIONetでは、これの代わりに、エンティティプロパティを語彙概念・語彙として記述したものをエンティティ識別子として用いる。エンティティは、これらをフィルタとしてSI-SWに登録することにより、エンティティのプロパティ(エンティティ識別子)を宣言するとともに、自身のプロパティをシェアードリンクに基づいてアドバタイズする。これがイベントパスの波及に相当する。これにより、イベントパスが確立される。
【0080】
上述したように、SI-Rは、イベント送信とイベント受信の両者の側面を持つネットワークエンティティであり、一般のサービスエンティティと本質的な違いはない。SIONetでは、SI-RのようなSIONetの制御に用いられるエンティティを、サービスエンティティ(SE)と特に区別して、ネットワークエンティティ(NE)と呼ぶ。SIONetにおいては、サービスエンティティ、ネットワークエンティティのすべてのエンティティを共通のエンティティとして扱い、さらに、イベント送出とイベント受信、すなわち刺激と発火の連鎖反応という単純かつ一貫性のある共通ロジックに従って自律動作させることにより、すべてのエンティティが自律分散協調可能な超分散・超疎結合アーキテクチャを提供する。
【0081】
<シェアードリンクの解除と再確立>
イベントプレースに参加しているエンティティが、障害に陥ったり、イベントプレースから退去する場合など、様々な理由により当該エンティティがネットワークの運営に関わることができないケースにおいては、残されたエンティティが自己組織化することによりネットワークサービスを継続できることが必要になる。
SIONetでは、このようなケースにおいては、SI-SW間において確立されているシェアードリンクを解除し、さらにシェアードリンクの再確立を行う。その動作を図17を参照して説明する。
【0082】
図17において、シェアードリンク確立要求の先頭数字(図中▲1▼や▲2▼など)は、それらの要求順序を示している。つまり、シェアードリンク確立要求の順序は、まず、エンティティ2からエンティティ1へシェアードリンクの確立要求を行う。次にエンティティ3からエンティティ2へシェアードリンクの確立要求を行う。最後に、エンティティ4からエンティティ2へシェアードリンクの確立要求を行うものとする。なお、ここで、「各エンティティは、同一イベントプレース内においてシェアードリンクの確立要求を高々1回しかできないが、無制限に確立要求を受け付けることが可能なリンクトポロジーに基づいて、シェアードリンクの確立を行う」リンク確立手法を提案する。これにより、シェアードリンクで結合されたエンティティ間に、ループが発生しないことが保証される。すなわち、この手法を用いることにより、隣接エンティティ間のリンク再確立のみで開リンクトポロジーを簡単に実現できる。
【0083】
上述した順序で確立要求が成功すると、前述した手順で各SI-SW間にシェアードリンクが確立される。シェアードリンクが確立されると、各エンティティのエンティティ制御部は、自身が確立要求を行ったエンティティと、自身への確立を受け付けたエンティティを記憶している。例えば、エンティティ2は、自身が確立要求を行ったエンティティ1と、自身への確立を受け付けたエンティティ3、エンティティ4のリストを保持している。
この状況において、例えば、エンティティ2の退去、減設などが行われる場合、自身のSI-SW2に対して確立されているシェアードリンクの解除要求を発行し、シェアードリンクの解除を行う。その後、各エンティティは新たなシェアードリンクの確立を行う。以下、その動作を説明する。
【0084】
(1)エンティティ2が退去する場合、エンティティ2のエンティティ制御部は、自身のシェアードリンクを解除する旨を、1ホップのエンティティ(エンティティ1、エンティティ3、エンティティ4)に対して通知する。これは、イベントのTTL値を1にしてイベント送出を行うことにより可能になる。なお、このとき、自身へのシェアードリンク確立を受け付けたエンティティ(エンティティ3、エンティティ4)に対しては、自身に代わる新たなシェアードリンクの確立要求先として、自身が確立要求を行ったエンティティ1を教える。なお、自身が確立要求を行ったエンティティが存在しない場合には、自身への確立要求元エンティティ(1ホップ先のエンティティ)の中から任意のエンティティを選択して、これを自身に代わるシェアードリンクの確立要求先とする。
【0085】
(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へのセッションを解除する。
【0086】
(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 を確立させる。
【0087】
上述したように、シェアードリンクの確立処理、再確立処理は、隣接するエンティティ間においてのみ行われ、他のエンティティには影響を与えない。すなわち、全てのエンティティに対するリンクの再構築を必要としない。
【0088】
なお、エンティティの退去や減設などの正当な手順を踏んだシェアードリンクの解除要求ばかりでなく、エンティティの障害、電源断、セッション(物理的な通信路)の障害などに起因して、シェアードリンクを再確立しなければならないケースがある。しかしながら、このようなケースにおいては、シェアードリンクの再確立時に必要となる代わりのエンティティを教授できない可能性がある。SIONetでは、このような状況に対応するために、各エンティティはnホップ(nは任意の自然数)のイベントを送出することにより、代わりの確立要求先エンティティの把握を行っている。なお、SIONetでは、TTL値とホップ属性を用いることにより、更にきめこまかなホップ制御が可能である。ホップ属性の例として、以下のものがある。
【0089】
▲1▼シェアードリンクの確立要求先エンティティのみをホップ対象とする。
▲2▼シェアードリンクの確立要求元エンティティのみをホップ対象とする。
▲3▼すべてのエンティティをホップ対象とする。
【0090】
▲1▼のホップ属性を指定した場合の、イベントの流れの例を図18の破線で示している。図18において、(i/j)は各エンティティにおいて記憶しているシェアードリンクの確立情報である。iはエンティティがシェアードリンクの確立要求を行った先のエンティティを示しており、一方、jはエンティティがシェアードリンクの確立要求を受け付けたエンティティを示している。例えば、エンティティ3の(2/5、6)は、エンティティ3がエンティティ2に対して確立要求を行い、エンティティ5及びエンティティ6から確立要求を受け付けていることを表している。各エンティティがシェアードリンクの確立情報を保持することにより、例えば、エンティティ3が他のエンティティに対して、更なるシェアードリンクの確立要求を行った場合、その要求をエラーとしてリジェクトすることができる。これにより、前述した開リンクトポロジーの一貫性を保証している。この状況において、エンティティ6が3ホップで、上述▲1▼のホップ属性を持つイベントを送出することにより、エンティティ1とエンティティ2の存在を知ることが可能になり、これらがエンティティ3障害時の代替エンティティとなる。
【0091】
なお、上述したホップ属性は、障害時の代替エンティティの探索ばかりでなく、シェアードリンクの確立を受け付け可能なエンティティの探索、トップ(誰にもシェアードリンクの確立を行っていない)エンティティの探索などに有効である。SIONetでは、トップのエンティティのみが、他のイベントプレースに対して、フェデレーション(連携、イベントプレース間のシェアードリンクに相当)を確立することができる。
【0092】
<オンライン増減設の目的>
SIONetにおけるエンティティ増減設の目的は、主に以下の二つに大別される。
(1)イベントプレースのトータル処理能力向上の観点から、イベントプレース内のエンティティを増設し、イベントのフィルタリング処理を負荷分散する。その逆の観点から、エンティティを減設する。これは、主に、ハイブリッドP2P、バックボーンP2Pネットワークの運用において用いられる。
(2)動的に生成されたエンティティに対して、シェアードリンクを柔軟に確立することにより、フレキシブルでグローバルなP2Pネットワークをボトムアップ的に構築する。これは、主に、ピュアP2Pネットワークの運営において用いられる。
【0093】
なお、ハイブリッド型P2Pネットワークとは、例えばネットワークプロバイダなどの運営者がホスト等にイベントプレースをあらかじめ生成し、個人の端末等のサービスエンティティがセッションによりイベントプレースと接続することにより構成されるネットワークである。また、ピュア型P2Pネットワークとは、個人の送受信端末たるエンティティがシェアードリンクで各々接続されることにより構成されるネットワークであり、このネットワークのうち、イベントを共有する最小単位がイベントプレースである。バックボーン型P2Pネットワークとは、ネットワーク間の接続形態のことであり、例えば、複数の地域のピュア型P2Pネットワークをハイブリッド型P2Pネットワークを経由して接続した状態のネットワークのことをいう。
【0094】
<増減設の形態>
SIONでは幾つかの増減設形態を提供しているが、ここでは、図19、図20に例を示す代表的な形態について述べる。
(1)イベントプレースの合成と分離
図19(a)に示すように、複数のイベントプレースを合成することができる。ここで合成とは、複数のイベントプレースにそれぞれ属するエンティティを、一つのイベントプレース内のメンバーとして集めることを言う。典型的な例として、異なるサービス運営者間の業務提携に基づく、サービス統合(情報共有)が考えられる。
【0095】
これは、イベントプレースに属する任意のエンティティ、もしくはイベントプレースに対して合成要求を行うことにより、合成要求先イベントプレース内のエンティティに対してシェアードリンクの確立要求が発行される。その結果、SI-SW間にシェアードリンクが確立され、両者の合成が実現される。なお、合成の要求元及び要求先は、それぞれ、エンティティでもイベントプレースでもどちらであってもかまわない。一方、分割する場合には、確立されているシェアードリンクを解除し、それぞれのイベントプレースに分離する。
【0096】
(2)イベントプレースへの参加と退去
図19(b)に示すように、イベントプレース内のエンティティ、もしくは、イベントプレースに対してJoin(参加)要求を行うことにより、要求元エンティティにSI-SWが生成される。そして、要求先エンティティに対してシェアードリンクの確立要求が発行されることにより、SI-SW間にシェアードリンクが確立され、当該イベントプレースに参加することができる。
エンティティがイベントプレースから退去する場合には、上述と同様に、エンティティ間のシェアードリンクを解除し、さらに、シェアードリンクの再構築を行い、当該イベントプレースから退去する。このとき、退去したエンティティの状態は、サスペンド状態へと遷移する。
【0097】
なお、イベントプレース側からエンティティに対してシェアードリンクの確立を要求することにより、当該エンティティをイベントプレース内に取り込むことも可能である。これを吸収という。その逆を分裂という。
(3)エンティティ(SI-SW)の増減設
図20(c)に示すように、イベントプレース内のエンティティ、もしくは、イベントプレースに対して、エンティティの増設要求を行うと、指定されたエンティティにSI-SWが新たに生成され、既存のSI-SWとの間にシェアードリンクが確立される。一方、イベントプレースにエンティティの減設要求を行うと、指定されたエンティティに対しシェアードリンクの解除要求が発行され、SI-SW間のシェアードリンクが解除された後、シェアードリンクの再確立が行われ、当該エンティティが削除される。このとき、エンティティの状態は、Non-Existentに遷移する。
【0098】
(4)イベントプレース間のフェデレーション
図20(d)に示すように、イベントプレース内のエンティティ、もしくは、イベントプレースに対して、フェデレーション(連携)要求を行うことにより、イベントプレース間でイベントを転送するSI-GWが動的に生成され、セッションを介して両イベントプレースが連携する。なお、フェデレーションの要求元及び要求先は、それぞれ、エンティティでもイベントプレースでもどちらであってもかまわない。
【0099】
<エンティティのアドバタイズメント>
図21、図22を参照し、エンティティのアドバタイズメント(公開)について説明する。SIONetにおけるエンティティのアドバタイズメントには、以下の2つの観点がある。
観点1:エントランスのアドバタイズメント
観点2:エンティティプロパティのアドバタイズメント
以下、各々の観点について説明する。
観点1:エントランスのアドバタイズメント
ベースイベントプレースは、エンティティに取って、最適なイベントプレースをいもづる式に探索(ディスカバリ)するためのベース(起点)となるイベントプレースである。つまり、ベースイベントプレースがSIONetへのエントランス(入り口)となる。そのため、ベースイベントプレースに参加しているエンティティは、SIONetのエントランスを公開することができる。ここで、エントランスの公開とは、シェアードリンクの確立要求先となるエンティティのエントリポイントとグローバルエンティティ名をアドバタイズすることを意味する。この公開情報は、後述するブロードキャストを用いた探索により発見される。
【0100】
観点2:エンティティプロパティのアドバタイズメント
シェアードリンクで接続されている任意のエンティティグループ(ベースイベントプレースを含むすべてのイベントプレース)において、各エンティティは自身のエンティティプロパティをアドバタイズすることができる。これが前述したイベントパスの波及に相当する。この公開情報は、後述するディスカバリイベントの送出により発見される。
【0101】
以下に、エンティティの公開、探索から、エンティティグループ形成までの流れを説明する。なお、以下では、ベースエンティティ、エンティティ1、エンティティ2、エンティティ3、エンティティ4、エンティティ5、エンティティ6はベースイベントプレースに属しており、エンティティ3、エンティティ11、エンティティ12、エンティティ13はイベントプレースαに属しているものとして説明する。
【0102】
▲1▼図21に示すように、SIONetソフトウエアをホストにインストールする。
この時点でのエンティティの状態は、前述したように“Non-Existent”である。説明の便宜上、このエンティティをエンティティYとする。
▲2▼SIONetソフトウエアを実行することにより、エンティティYは“Non-Existent”から“サスペンド”状態に遷移する。この状態のエンティティは、SIONetからその存在がまだ認知されていない。
【0103】
▲3▼“サスペンド”状態のエンティティYは、SIONetの構成要素としてネットワークに参加するために、ベースイベントプレースに属している他のエンティティのエントランス(エントリポイントとグローバルエンティティ名)を探索する。具体的には、ブロードキャストにより、ベースイベントプレースに参加しているエンティティの中から、近傍のエンティティを探索する。ブロードキャストの方法は、実装に依存する。例えば、無線ネットワークで実装されている場合には、無線の到達範囲すべてのエンティティが探索の対象となる。一方、IPネットワークで実装されている場合には、IPブロードキャストもしくはIPマルチキャストを行うことになる。図21では、ブロードキャストによる探索により、エンティティ1(エンティティ1のエントリポイントとグローバルエンティティ名)が発見されたことを表している。なお、ブロードキャストにより、近傍のエンティティを発見できない場合には、Well-Known(周知)のエンティティを利用することもできる。Well-Knownのエンティティをベースエンティティと呼ぶ。なお、ベースエンティティは、ベースイベントプレースを含むすべてのイベントプレース内に存在することができる。
【0104】
▲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は、“サスペンド”状態から“アクティブ”状態へと遷移する。
【0105】
ベースイベントプレースにJoinしたエンティティYは、エントランスの公開が可能になる。また、エンティティプロパティをアドバタイズすることもできる。エンティティプロパティには、グローバルエンティティ名(及びエントリポイント)、ニックネーム、グループ名、アライブ(存在だけの表明であり、シェアードリンクの確立先情報となるエントリポイントとグローバルエンティティ名は公開しない、エンティティが非公開モードの場合でも公開の対象)、ディスクリプション(エンティティの説明文)、属性などがある。属性には、プラグインされているSE情報、イベントパス多重度、イベントプレース情報などがある。なお、エンティティプロパティの記述言語としては、XMLなどがある。
【0106】
図21において、例えばエンティティ3のエンティティ制御部は、エンティティ3が同時に参加しているイベントプレースαをエンティティプロパティの属性として公開することができる。さらに、エンティティ制御部は、現在Joinしているイベントプレースばかりでなく、過去にJoinしたイベントプレースのイベントプレース情報を公開することもできる。このイベントプレース情報とは、例えば、イベントプレースのディスクリプション(イベントプレースの説明文、説明情報)や、当該イベントプレースに参加する際にシェアードリンクを確立したエンティティ(意味情報スイッチ)のグローバルエンティティ名(イベントプレース名+エンティティ名、コネクション確立情報)、エントリポイント(エントリポイント情報)などである。この、過去にJoinしたイベントプレース情報をエンティティが保持できる数は任意とし、例えば、コントロールパネルによりエンティティ所有者等が設定できるものとする。この公開されたイベントプレース情報を取得したエンティティは、当該イベントプレース情報をコントロールパネル等により出力することで当該エンティティ所有者に提示する。これにより、エンティティ所有者は、他のイベントプレースの存在を認識することが出来る。
SIONetでは、どこにどのようなイベントプレースがあり当該イベントプレースではどのようなサービスを提供しているか、というようなイベントプレース情報を集中管理する機能がないので、イベントプレース情報を取得しようとする場合、他のエンティティのエンティティプロパティからイベントプレース情報を取得する必要がある。現在参加しているイベントプレースのみならず、過去に参加したイベントプレース情報を公開することにより、イベントプレース情報を取得する機会が増え、自身の求めるサービスを提供するイベントプレースに参加できる確立が高くなる。
【0107】
エンティティYのエントランスの公開時には、これらのエンティティプロパティを、エンティティ内の意味情報スイッチにフィルタとして登録することにより、エンティティプロパティがシェアードリンクに基づいて他のエンティティに波及し、イベントパスが確立される。基本的には、イベントパスの確立要求がイベントプレース内のすべてのエンティティに対して波及するが、TTL値で、イベントパス確立要求の波及範囲を制限することができる。なお、グローバルエンティティ名はマルチホップ型ユニキャスト通信時の識別子として、グループ名はマルチホップ型マルチキャスト通信時の識別子として、属性はマルチホップ型属性付きマルチキャスト通信時の識別子として用いられる。例えば、マルチホップ型ユニキャスト通信の代表例として、イベント受信エンティティからイベント送信元エンティティへのリプライ通知がある。
【0108】
すなわち、グローバルエンティティ名はマルチホップ型ユニキャスト通信とは、グローバルエンティティ名で特定されるエンティティのSI-SWからnホップのイベントを送信する通信方式である。また、マルチホップ型マルチキャスト通信とは、グループ名で特定されるグループに属するエンティティのSI-SWにnホップのイベントを送信する通信方式である。また、マルチホップ型属性付きマルチキャスト通信とは、自身と同様の属性のエンティティのSI-SWにnホップのイベントを送信する通信方式である。また、マルチホップ型ブロードキャスト通信とは、任意のエンティティのSI-SWにnホップのイベントを送信する通信方式である。
【0109】
▲5▼図22において、ベースイベントプレースに参加したエンティティYは、「自身が参加したいイベントプレース」を探索するためのディスカバリイベントを送出することにより、「自身のニーズに合致するエンティティプロパティ」を公開しているエンティティを探索する。このディスカバリイベントは、SIONetの制御のために用いられるイベントであり、SEが送出するイベントと同等のものである。ディスカバリイベントとは、NEを発火させるためのイベントであり、イベントの意味情報部には、エンティティプロパティとの照合条件が設定される。すなわち、SIONetにおける新たな機能追加とは、新たな語彙概念と語彙を規定することを意味する(仕組みの追加ではなく、連鎖反応条件の追加)。これにより、単一な仕組み(連鎖反応)だけで、様々な機能追加を可能にしている。
【0110】
ここでは、探索の結果、エンティティ3が発見されたものとする。上述したように、エンティティ3は、ベースイベントプレースと同時にイベントプレースαに参加している。エンティティ3を発見したことにより、エンティティYはイベントプレースαの存在を知ることができる。
▲6▼エンティティYは、エンティティ3に対してイベントプレースαへのJoin要求を発行し、イベントプレースαに参加する。なお、エンティティ3は、前述したように、自身の状態遷移が”アクティブ”であり、かつ、公開モードのときに、Join要求(シェアードリンクの確立要求)を受け付ける。
【0111】
▲7▼さらに、エンティティYは、イベントプレースαにおいて、同様の探索のためのイベントを送出することができる。これにより、自身のニーズに合致する新たなエンティティを発見することができる。例えば、ここでは、エンティティ12が発見されたものとする。すなわち、エンティティYは、ベースイベントプレースにおいて発見することができなかったエンティティ12を、エンティティ3を介して発見できるということを意味している。このような操作を繰り返すことにより、自身のニーズに合致したイベントプレースに、次第にたどり着くことが可能になる。
【0112】
ここで示したアドバタイズメント方式は以下の効果がある。
(1)エンティティの公開情報を管理するブローカ(管理部)が存在しないため、耐障害性に強い自己組織化ネットワークを低コストで構築することができる。また、膨大な数の公開情報(エントリポイントやエンティティプロパティ)をブローカで管理することは現実的でない。
(2)エンティティに取って相応しいイベントプレースを、芋づる式に絞り込むことができるので、効率的に所望のイベントプレースを探索することができる。例えば、連鎖反応の波及範囲(ディスカバリイベントのホップ数、及び、エンティティプロパティのためのイベントパス設定要求の波及範囲)がTTL値で制限されたとしても、上述のように、エンティティ3経由でエンティティ12を発見し、その結果、エンティティ12が同時に属している別のイベントプレースを発見することができる。なお、連鎖反応の波及範囲を制限することにより、ネットワークトラフィック(イベントの転送回数、イベントパス設定要求の転送回数)を軽減することができる。
【0113】
なお、自身は情報を提供することなく(例えば、エンティティプロパティを公開することなく)、他のエンティティからの情報提供を受けるだけのエンティティは、ペナルティーとして、強制的にシェアードリンクが解除され、一定条件を満足しない限り、再度イベントプレースに参加できないようにすることもできる。
【0114】
<SEの共有方法(自動配信)>
以下に、ゲームイベントプレースにおけるSE(ゲームアプリケーションプログラム)の共有を例に、SEの共有方法の仕組みを示す。
(1)ゲームイベントプレースの運営者であるエンティティ2の所有者はエンティティ2のコントロールパネルを介してイベントプレース名を付与する。なお、ここで付与されたイベントプレース名は「ゲーム」であるものとして説明する。
【0115】
(2)エンティティ2のエンティティ制御部は、上述と同様に、NEファクトリにより生成されたSI-SWに対してグローバルエンティティ名「ゲーム+エンティティ2」を付与する。これにより、イベントプレースが生成される。このとき、ゲームイベントプレースの生成者であるエンティティ2は、イベントプレース生成時に当該イベントプレースに自動的に参加する。
(3)エンティティ2の所有者は、当該エンティティ2のコントロールパネルに対して、ゲームアプリケーションプログラム(SE)のプラグインを指示する。このとき、プラグインするアプリケーションの実行ファイル名、及び、SE共有の有無をパラメータとして与える。
【0116】
(4)エンティティ2のコントロールパネルはこの旨をエンティティ制御部に通知する。
(5)エンティティ2のエンティティ制御部は、プラグインする実行ファイル名を記憶するとともに、与えられた実行ファイル名を用いてアプリケーション(SE)を起動し、上述と同様に、SI-SWとアプリケーション間にセッションを確立する。すなわち、SIONetにおけるプラグインとは、アプリケーションとSI-SWとの間にセッションを確立することを意味する。
【0117】
(6)エンティティ2のエンティティ制御部は、エンティティ2のエンティティプロパティをアドバタイズ(公開)する。エンティティ2のエンティティプロパティの公開形態としては、例えば、以下のものがある。
・エンティティ2がベースイベントプレースに参加し、ベースイベントプレース内で、エンティティ2のエンティティプロパティを公開する。
・エンティティ2が、芋づる式探索を行うことにより、ゲームイベントプレースと関係の深いイベントプレースを発見、参加し、当該イベントプレース内で、エンティティ2のエンティティプロパティを公開する。
・エンティティ2をベースエンティティとする。すなわち、エンティティ2のエンティティプロパティ(エントリポイントとグローバルエンティティ名)を周知する。
【0118】
(7)エンティティ2の存在を知ったエンティティ1が、エンティティ2に対して、ゲームイベントプレースへの参加を要求する。
(8)この要求が承認された場合、エンティティ1は、エンティティ2に対して、シェアードリンクの確立を要求する。そして、上述と同様に、エンティティ1とエンティティ2の間にシェアードリンクが確立する。
(9)シェアードリンクが確立された場合、シェアードリンクの確立要求先(エンティティ2)は確立要求元(エンティティ1)に対して、当該イベントプレース内でイベントの送受信に必要な情報を返却する。具体的には、例えば、イベントプレース名(グローバルエンティティ名)、参加したイベントプレースがベースイベントプレースであるか否か、当該イベントプレースにおけるイベント転送方式(ルーティング方式)、イベントプレースのディスクリプション、プラグインされているSE情報(SE共有が有りの場合)等である。
【0119】
SE共有を共有する場合にシェアードリンク確立要求元に返却するSE情報とは、具体的には、例えば、上述したプラグインするアプリケーションの実行ファイル名や当該アプリケーションのファイル等である。
(10)当該ファイルを受けたエンティティ1のエンティティ制御部は、上述と同様に、与えられた実行ファイル名を用いてアプリケーションを起動し、エンティティ1内のSI-SWとアプリケーションとの間にセッションを確立する。これにより、エンティティ1内部に、ゲームアプリケーションプログラムをSEとしてプラグインする。
【0120】
すなわち、イベントプレースへの参加とは、シェアードリンクにより結合されたエンティティグループを形成し、プラグイン済みのアプリケーションプログラムを参加者が共有することを意味する。これにより、イベントプレースに参加するだけで、当該イベントプレース内のメンバーであるエンティティが、プラグインされているアプリケーションを、自動的に利用することが可能になる。なお、エンティティ1がゲームイベントプレースから退去するとき、プラグインされたゲームアプリケーションプログラムは、プラグアウトされる。なおその際、エンティティ1は、受信した当該ファイルを保有しつづけることもできるし、プラグアウト時に、当該ファイルが削除されることもある。
【0121】
上述した動作は、ピュア型のP2Pネットワーク環境でのアプリケーション共有である。そのため、アプリケーションプログラムの配信は、シェアードリンク確立先エンティティと確立元エンティティの2者間でのみ行われるため、シェアードリンクにより既に結合されている他のエンティティに対して影響を与えない。すなわち、ファイル転送のため処理は2者間に局所化されるため、スケーラブルなSE共有を達成することができる。
【0122】
<ビジネスモデル>
ここで、上述したSIONetを、サービスとして提供する実施例を説明する。
(1)クライアントサーバモデル
予め決められたエンティティのみでイベントプレースを運営する形態である。すなわち、予め決められたエンティティのみが当該イベントプレースに参加(Join)することが可能であり、参加を許されたエンティティは、エンティティ間のシェアードリンクを確立することにより、エンティティグループを構成する。一方、それ以外のエンティティは当該エンティティグループに対してセッションを確立し、当該セッションを介したイベントの送受信を行う。すなわち、イベントプレース(予め定められたエンティティのグループ)がサーバであり、その以外のエンティティがクライアントに相当する。このビジネスモデルでは、エンティティグループのメンバーである各エンティティは、自律分散コンピュータとして振舞い、任意のエンティティが障害に陥った際には、残されたエンティティが自己組織化しイベントプレースの運営を継続する。また、サーバの処理能力向上を図りたい場合には、新たなエンティティを当該イベントプレースに参加させれば良い。そのため、従来のサーバ実現方式と比べて、耐故障性に強く、安価で、スケーラブルなサーバを実現することができる。
【0123】
(2)ハイブリッドモデル
例えば、ゲームイベントプレースの運営者となるエンティティは、ゲームイベントプレースを生成し、当該イベントプレース内でのベースエンティティとなる。一方、ゲームイベントプレースのユーザとして位置付けられるエンティティは、当該イベントプレースに参加することにより、当該イベントプレースでのサービスを享受する。従来のクライアントサーバモデルでは、ユーザ数の増加に比例して新たな設備投資(CPUパワー、ストレージ、通信帯域など)が必要とされたが、本ビジネスモデルは、ユーザがイベントプレースに参加することにより、ユーザ自身のエンティティをサービス運営のために提供するため、イベントプレース運営者は新たな設備投資を必要としない。そのため、安価で、スケーラブルなP2Pサ-ビス環境を構築できる。なお、ベースエンティティにおいて、当該イベントプレースに参加するユーザ(エンティティ)の認証、課金が可能である。また、ベースエンティティは、ディスカバリイベントを送出することにより、エンティティグループの中から、シェアードリンクの確立が可能なエンティティ(代替エンティティ)を発見し、発見されたエンティティを参加希望のエンティティに対し通知し、両者の間でシェアードリンクを確立させることも可能である。
【0124】
(3)ピュアモデル
すべてのエンティティが自由にイベントプレースに対して参加(退去)することが可能なビジネスモデルである。
上述したように、SIONetでは、運営・配置問題に帰着することにより、様々なビジネスモデルを共通の仕組みで実現できる。そのため、開発工数、規模、デバッグ効率、維持管理の容易性等に大きな効果を与える。
【0125】
なお、上述したように、“サスペンド”状態のエンティティは、エントランスやエンティティプロパティを公開することはできない。“サスペンド”状態のエンティティは、任意のイベントプレースにJoinすることにより“アクティブ”状態に遷移する。“アクティブ”状態のエンティティのみが、エントランスやエンティティプロパティを公開することが可能である。また、ベースイベントプレースにJoinしているエンティティのみがエントランスの公開が可能である。「コントロールパネルにより、公開が指示されている」かつ「当該エンティティに対するセッション(シェアードリンク)の確立数がデフォルト値を超えていない」を満足するとき、エンティティはエントランスやエンティティプロパティを実際に公開できる。例えば、エンティティの所有者がコントロールパネルを用いて公開を指示しても、デフォルト値を超えてシェアードリンクが確立している場合には、自動的に非公開モードとなる。なお、デフォルト値は、コントロールパネルで設定可能であり、例えば、エンティティの所有者が、当該エンティティの能力等により設定することができる。
【0126】
なお、ネットワークエンティティ、ネットワークエンティティファクトリ、
エンティティ制御部、コントロールパネル、サービスエンティティ、意味情報スイッチ、意味情報ルータ、意味情報ゲートウエイは専用のハードウェアにより実現されるものであってもよく、また、メモリ及びCPU(中央演算装置)により構成され、その機能を実現するためのプログラムをメモリにロードして実行することによりその機能を実現させるものであってもよい。
【0127】
また、ネットワークエンティティ、ネットワークエンティティファクトリ、エンティティ制御部、コントロールパネル、サービスエンティティ、意味情報スイッチ、意味情報ルータ、意味情報ゲートウエイの機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより実現させてもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
【0128】
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【0129】
[この発明の実施形態]
以下、まず本発明の基本的な考え方について説明する。
SIONetでは、ホップ属性とTTL値を組み合せて用いることにより、きめ細かなホップ制御を実現する。
ここでホップ属性とは、イベントの転送制御や代替エンティティの探索を実現するための仕組みである。
SIONetでは、シェアードリンクの確立要求元エンティティを「下流」のエンティティと呼び、一方、確立要求先エンティティを「上流」のエンティティと呼ぶ。以下に、代表的なホップ属性を示す。
▲1▼ 上流のホップ属性
シェアードリンクの確立要求先エンティティのみを、イベントのホップ対象とする。
▲2▼ 下流のホップ属性
シェアードリンクの確立要求元エンティティのみを、イベントのホップ対象とする。
▲3▼ 上下流のホップ属性
上流、および、下流に位置づけられるすべてのエンティティを、イベントのホップ対象とする。
【0130】
図1は、上記ホップ属性を持つイベントの流れを示す図である。
図1において、破線▲1▼は上流のホップ属性を持つイベントの流れを示しており、各エンティティ1〜6の上部に記載された(i/j)は、各エンティティにおいて記憶している、シェアードリンクの確立情報である。iはエンティティがシェアードリンクの確立要求を行った先のエンティティを、また、jはエンティティがシェアードリンクの確立要求を受け付けたエンティティを示している。
【0131】
たとえば、エンティティ3の(2/5,6)は、エンティティ3がエンティティ2に対して確立要求を行い、エンティティ5およびエンティティ6から確立要求を受け付けていることを表している。この場合、エンティティ2はエンティティ3の上流であり、逆に、エンティティ3はエンティティ2の下流として定義される。
また、エンティティ1の(−/2)は、エンティティ1はいずれのエンティティに対しても確立要求を行っておらず、エンティティ2から確立要求を受け付けていることを表している。すなわち、本実施形態において、i、jが“−”である場合は、確立要求・確立要求の受付を行っていないことを示す。
【0132】
この状況において、エンティティ6が、「3ホップで上流のホップ属性」を設定したイベントを送出すると、エンティティ3(ホップ数1で上流)より先のエンティティについて、エンティティ1(ホップ数3で上流)とエンティティ2(ホップ数2で上流)のみに連鎖反応を引き起こすことが可能になる。
したがって、たとえば、エンティティ3が障害時の代替エンティティとして、エンティティ1やエンティティ2を発見するために用いることができる効果が得られる。
【0133】
しかしながら、nホップ先までの代替エンティティの探索を行っても、これらn個のエンティティが、同時に退去、もしくは、障害に陥った場合には、シェアードリンクの確立先となるすべての代替エンティティが存在しない。
このため、これに起因して、ネットワークの分断が発生する。たとえば、エンティティ3のシェアードリンク確立先であるエンティティ2と、代替エンティティとなるエンティティ1が同時に障害に陥った場合、ネットワークの分断が発生し、エンティティ3は孤立してしまう。
この場合、エンティティ3は、最初に当該イベントプレースに所属するために行う操作を、再度実行する。したがって、ネットワークの分断を回避することは可能となる。
【0134】
このホップ属性は、シェアードリンクの確立時に、高々一度だけ意味情報ルータによりフィルタ登録される。これにより、ホップ属性に基づく、エンティティ間の連鎖反応が制御される。なお、ホップ属性に基づくイベントの転送制御は、イベントパスに基づくイベントのルーティング制御(連鎖反応制御)とは、独立の概念である。
【0135】
また、ホップ制御は、イベントプレース間でのイベント転送制御においても用いられる。これは、図26に示すように、一つのイベントプレースを一つのエンティティとして論理的に見なすことにより、当該制御方式をそのまま適用可能とすることを保証する。
【0136】
以下、上記ホップ属性の役割について説明する。
上述したように、上流に位置づけられるエンティティのみ、下流に位置づけられるエンティティのみ、または、上下流のエンティティを連鎖反応の対象とすることができる。
たとえば、上流のエンティティに対してのみ、イベントパスの設定要求イベントを送出し、イベントパスを確立することができる。
【0137】
トップのエンティティ(シェアードリンクの確立要求を行っていないエンティティ)のみを連鎖反応の対象とすることができる。
たとえば、図1のエンティティ1は、(−/2)であることより、i:−であることから、シェアードリンクの確立要求を行っていないエンティティ、すなわち、トップのエンティティとして位置づけられる。トップのエンティティは、例えば、イベントプレース間のフェデレーション要求を発行可能なエンティティであることから、当該エンティティの探索などに用いられる。
【0138】
ボトムのエンティティ(シェアードリンクの確立要求を受け付けていないエンティティ)のみを連鎖反応の対象とすることができる。
図1のエンティティ4、エンティティ5、そしてエンティティ6は、(2/−)、(3/−)、(3/−)であることより、j=0であることから、シェアードリンクの確立要求を受け付けていないエンティティ、すなわち、ボトムのエンティティに相当する。これは、たとえば、自己組織化のための操作要求を受付可能なエンティティ、すなわち、操作要求の受付可能最大値をオーバーしていないエンティティの探索などに用いられる。
【0139】
ホップ属性とTTL値を組み合せて用いたホップ制御を行うことで、サービスエンティティが送出するイベント、ネットワークエンティティが送出するプロパティのディスカバリイベントやイベントパス設定要求イベントなど、すべてのイベントの無限ループや無限巡回を抑止することができる。すなわち、イベント転送制御方式での利用が考えられる。
【0140】
シェアードリンクの確立先エンティティが障害に陥った場合の、シェアードリンクの再確立先となる代替エンティティを探索することができる。
各エンティティは、障害時の代替エンティティとして、自身よりも上流のエンティティを探索する必要がある。
TTL値は、イベントのマルチホップ数(連鎖反応の範囲)を制限するためのものである。ただし、TTL値が無限大の場合には、イベントプレースが連鎖反応の範囲を制限する。このTTL値とホップ属性を組み合せることにより、きめ細かなイベント転送制御を、さらに、イベントパスと組み合せることによりイベントのルーティング制御を実現することができる。
【0141】
つまり、SIONetにおける探索項目(機能)の追加は、新たな連鎖反応を引き起こすための、意味情報の追加規定に相当することが分かる。換言すれば、探索項目を追加しても、従来アーキテクチャのように、新たなメカニズムを追加する必要はなく、迅速なシステム開発、開発規模の最小化、デバック工数の削減、開発費用の削減、維持管理の容易性などが期待される。
【0142】
以下、図面を参照して、本願発明の一実施形態について説明する。
図27は、本実施形態のエンティティ装置をシェアードリンクを介して接続して構成されるイベントプレースにおいて、ホップ属性及びTTL値に基づいて、代替エンティティを探索する処理の過程を示す概念図である。
ここで、イベントプレースとは、上述したように、シェアードリンクで結合されているエンティティ装置のグループであるとともに、イベント又はイベントパスの波及範囲を示す。
SIONetでは、ホップ属性、リンクトポロジー、プロパティ(プロパティのアドバタイズメントとディスカバリ)などの基本機能を用いることにより、以下に示すような代替エンティティの探索が可能になる。
【0143】
(1) 上流(トップ)に位置づけられるエンティティの探索
SIONetでは、一般的に、トップに位置づけられるエンティティが、他のイベントプレースに所属するエンティティに対して、フェデレーション要求を発行する。すなわち、任意のエンティティは、トップエンティティ、つまり、i:−であるエンティティの探索を行い、当該エンティティに対してフェデレーション要求の発行を依頼する。
【0144】
(2) 下流(ボトム)に位置づけられるエンティティの探索
SIONetでは、上述したプロパティの公開と探索機能を用いて、シェアードリンクの確立要求を受付可能なエンティティ、すなわち、確立要求の受付最大値をオーバーしていないエンティティを探索する。これは、主にセミピュアモデルにおいて必要になる代替エンティティ探索である。
【0145】
(3) 障害時の代替エンティティの探索
シェアードリンク確立先のエンティティが障害に陥ってもネットワークの運営が継続できるように、代替エンティティの探索を行い、発見されたエンティティに対して、予備のシェアードリンクを確立する。
ここで、代替エンティティとは、一般的に、上流(トップ)に位置づけられるエンティティであって、シェアードリンクの確立要求を受付可能なエンティティ、すなわち、確立要求の受付最大値をオーバーしていないエンティティである。
【0146】
(4) シェアードリンクの再確立先エンティティの探索
任意のイベントタイプに関するイベントパス多重度がn(nは任意の数)以上のエンティティや、動作環境属性に基づくエンティティを探索する。
該当するエンティティが発見された場合には、当該エンティティに対してシェアードリンクの再確立要求を行う。
これにより、上述した同好のエンティティを近傍に集約する局所化制御が可能となる。
【0147】
ここで、イベントパス多重度とは、エンティティプロパティの一つの項目であって、任意のイベントタイプ(エンティティプロパティも一つのイベントタイプ)の公開度と、イベントによる発火率と、リプライイベントによる発火率(以下、リプライ率とする)と、及びエンティティがイベントプレースに参加開始した時点からの経過時間とから算出される値である。
ここで、イベントタイプの公開度とは、エンティティ装置が内包する意味情報ルータにセットされたフィルタの登録数であって、他のエンティティ装置に対して、アドバタイズしているフィルタの登録数である。
また、発火率とは、受信するイベントの意味情報と、意味情報ルータに登録されたフィルタとが合致する割合である。
また、リプライ率とは、受信するリプライ通知の意味情報と、意味情報ルータに登録されたフィルタとが合致する割合である。
【0148】
各エンティティは、この算出されるイベントパス多重度を公開する。
一方、同様に、各エンティティは、プロパティのディスカバリにより、イベントパス多重度を満足する他のエンティティを発見する。
【0149】
したがって、本実施形態のエンティティ装置によれば、任意のエンティティが退去、参加等しても、イベントプレースとしての機能が阻害されることのないエンティティを提供することができる効果が得られる。
【0150】
以下、本実施形態のエンティティ装置の構成について説明する。
今、図1に示すエンティティ装置(以下、Eで表す)1〜E6は、各々内包している意味情報スイッチ同士において、セッション又はシェアードリンクにより接続されることでコネクションを確立している。すなわち、E1〜E6は、イベントプレースを構成しており、E1とE2、E2とE3、E2とE4、E3とE5、E3とE6は、それぞれシェアードリンクを確立している。
【0151】
各エンティティ装置は、具体的には、特に、意味情報ルータと、意味情報スイッチとから構成される。
意味情報スイッチは、上述したように、フィルタとして登録された意味情報と、イベントに付与された意味情報とを照合し、その結果発火したイベント受信エンティティを起動するスイッチであって、具体的には、イベント受信部1と、照合部2と、イベント送信部3と、フィルタ管理部4と、制御要求受付部5と、制御部6と、シェアードリンク管理部7とから構成される。
イベント受信部1は、イベント送信元のエンティティ装置からイベントを受信する受信部である。
照合部2は、イベント送信元のエンティティ装置よりイベント受信部1が受信するイベントの意味情報と、意味情報ルータに登録されたフィルタとが合致するか否かを照合する照合処理部である。すなわち、本実施形態のエンティティ装置において、代替エンティティを探索する場合、照合部2は、イベント送信元であるエンティティ装置より受信するイベントの意味情報が示すホップ属性と、意味情報ルータに登録されたフィルタのホップ属性とが合致するか否かを照合する。
また、本実施形態のエンティティ装置において、フェデレーション要求先エンティティを探索する場合、照合部2は、当該イベントプレースに属しないエンティティ装置であって、イベント送信元であるエンティティ装置より受信するイベントの意味情報が示すホップ属性と、意味情報ルータに登録されたフィルタのホップ属性とが合致するか否かを照合する。
また、本実施形態のエンティティ装置において、シェアードリンク再確立先エンティティを探索する場合、照合部2は、イベント送信元であるエンティティ装置より受信するイベントの意味情報が示すホップ属性と、意味情報ルータに登録されたフィルタのホップ属性とが合致するか否かを照合するとともに、照合結果に基づいて、さらに、上記エンティティ装置より受信するイベントの意味情報が示すイベントパス多重度と、意味情報ルータに登録されたフィルタのイベントパス多重度とが合致するか否かを照合する。
【0152】
イベント送信部3は、照合部2で合致、すなわち、発火したイベントをイベントの送信先に送信する送信部である。
フィルタ管理部4は、フィルタと、照合の結果、発火した場合のイベントの送信先とを記憶する。
制御要求受付部5は、他のスイッチ、ルータから制御情報の入力を受ける入力部である。
制御部6は、照合部2の照合結果に基づいてイベントルーティングを制御する。すなわち、制御部6は、イベントパス多重度を算出するとともに、照合部2の照合結果に基づいて、シェアードリンク確立制御を行う。
シェアードリンク管理部7は、イベントパス多重度算出パラメータを記憶管理する。すなわち、任意のイベントタイプ(エンティティプロパティも一つのイベントタイプ)の公開度(=フィルタ登録数)、イベントによる発火率、リプライイベントによる発火率(リプライ率)、エンティティ装置がイベントプレースに参加してからの経過時間を記憶する。
【0153】
意味情報ルータは、上述したように、意味情報に基づいて意味情報スイッチ間のイベントルーティングを行うとともに、サービスエンティティより、イベントの取得条件を示すフィルタの登録要求を受けて、イベントの取得条件であるホップ属性を示すフィルタを保持する。
具体的には、イベント転送部11と、制御要求受付部12と、制御部13と、フィルタ登録情報管理部14とから構成される。
イベント転送部11は、スイッチからイベントを受信し、他のスイッチへ送信する転送処理部である。
制御要求受付部12は、他のスイッチ、ルータ等からシェアードリンク制御(確率、解除)、フィルタ登録制御等の制御要求を受付ける入力部である。
制御部13は、制御要求受付部12が受付けた制御を行う。
フィルタ登録情報管理部14は、フィルタ情報(イベントタイプ毎の登録回数のカウンタ)を記憶管理する。すなわち、フィルタ登録情報管理部14は、イベントの取得条件であるホップ属性を示すフィルタを保持する。
【0154】
次に、図27に示すイベントプレースにおいて、各エンティティ装置のホップ属性及びTTL値に基づいてホップ制御する処理の過程について説明する。
今、図1のE1〜E6が構成するイベントプレースにおいて、E2がイベントパス多重度がn以上のエンティティを探索する場合、E2は、イベントパス多重度がn以上のエンティティのディスカバリイベントをTTL:無限大、ホップ属性:上下流として送信する。
このディスカバリイベントは、イベントプレース内のE1〜E6のうち、イベントパス多重度がn以上を満たすすべてのエンティティに連鎖する。すなわち、各エンティティ装置は、まずイベント送信元のエンティティ装置より受信するイベントの意味情報が示すホップ属性と、イベントの取得条件であるホップ属性を示すフィルタを保持する意味情報ルータに登録されたフィルタのホップ属性とが合致するか否かを照合する。照合結果が一致した場合、照合結果に基づいて、さらに、受信するイベントの意味情報が示すイベントパス多重度と、意味情報ルータに登録されたフィルタのイベントパス多重度とが合致するか否かを照合する。そして、照合結果が再度一致した場合、照合結果に基づいて、E2とシェアードリンクの確立制御を行う。
【0155】
したがって、本実施形態のエンティティ装置によれば、各エンティティは、プロパティのディスカバリにより、イベントパス多重度を満足する他のエンティティを発見することができるので、任意のエンティティが退去、参加等しても、イベントプレースとしての機能が阻害されることのないエンティティを提供することができる効果が得られる。
【0156】
なお、図27に示すように,ボトムエンティティの探索、シェアードリンク確立の受け入れ可能なエンティティの探索、障害時の大体エンティティの探索、フェデレーション要求先エンティティ(トップエンティティ)の探索においても、上述のホップ属性に基づく処理動作は上述の例と同様であり、これらの実装方法について、この発明の要旨を逸脱しない範囲の設計変更は可能である。
すなわち、以上この発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【0157】
上述のエンティティ装置は、内部に、コンピュータシステムを有している。
そして、上述したイベントルーティング制御、シェアードリンク確立制御等の処理に関する一連の処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。
すなわち、エンティティ装置における、各処理手段、処理部は、CPU等の中央演算処理装置がROMやRAM等の主記憶装置に上記プログラムを読み出して、情報の加工・演算処理を実行することにより、実現されるものである。
ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
【0158】
【発明の効果】
以上説明したように、本発明は、複数のエンティティ装置をシェアードリンクを介して接続して構成されるイベントプレースにおいて、エンティティ装置が自己のエンティティプロパティに基づいて、イベントルーティングを制御するイベントルーティング制御方法であって、エンティティ装置が、イベント送信元であるエンティティ装置より受信するイベントの意味情報が示すホップ属性と、イベントの取得条件であるホップ属性を示すフィルタを保持する意味情報ルータに登録されたフィルタのホップ属性とが合致するか否かを照合し、照合結果に基づいてイベントルーティングを制御するので、自律分散ネットワークにおいて、ホップ属性等の様々な属性に基づいて、代替エンティティの探索、シェアードリンクの確立制御をよりきめ細かく行うことができる効果を得ることができる。
【図面の簡単な説明】
【図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の概念を説明する図である。
【図26】 イベントプレース間におけるホップ属性を持つイベントの流れを示す図である。
【図27】 代替エンティティ探索の図である。
【符号の説明】
1…イベント受信部
2…照合部
3…イベント送信部
4…フィルタ管理部
5…制御要求受付部
6…制御部
7…シェアードリンク設定情報管理部
11…イベント転送部
12…制御要求受付部
13…制御部
14…フィルタ登録情報管理部
Claims (16)
- 第1から第n(nは2以上の自然数)のエンティティ装置をシェアードリンクを介して接続して構成されるイベントプレースにおいて、
イベントの取得条件であるホップ属性を示すフィルタを保持する意味情報ルータと、
イベント送信元である第k(1≦k≦n ただしkは自然数)のエンティティ装置より受信するイベントの意味情報が示すホップ属性と、該意味情報ルータに登録されたフィルタのホップ属性とが合致するか否かを照合する照合部と、該照合部の照合結果に基づいてイベントルーティングを制御する制御部とを有する意味情報スイッチと
を具備することを特徴とするエンティティ装置。 - 第1から第n(nは2以上の自然数)のエンティティ装置をシェアードリンクを介して接続して構成されるイベントプレースにおいて、
イベントの取得条件であるホップ属性を示すフィルタを保持する意味情報ルータと、
当該イベントプレースに属しないエンティティ装置であって、イベント送信元であるエンティティ装置より受信するイベントの意味情報が示すホップ属性と、該意味情報ルータに登録されたフィルタのホップ属性とが合致するか否かを照合する照合部と、該照合結果に基づいて該エンティティ装置とシェアードリンクの確立制御を行う制御部とを有する意味情報スイッチと
を具備することを特徴とするエンティティ装置。 - 第1から第n(nは2以上の自然数)のエンティティ装置をシェアードリンクを介して接続して構成されるイベントプレースにおいて、
イベントの取得条件であるホップ属性を示すフィルタを保持する意味情報ルータと、
イベント送信元である第l(1≦l≦n ただしlは自然数)のエンティティ装置より受信するイベントの意味情報が示すホップ属性と、該意味情報ルータに登録されたフィルタのホップ属性とが合致するか否かを照合する照合部と、該照合結果に基づいて前記第lのエンティティ装置とシェアードリンクの確立制御を行う制御部とを有する意味情報スイッチと
を具備することを特徴とするエンティティ装置。 - 第1から第n(nは2以上の自然数)のエンティティ装置をシェアードリンクを介して接続して構成されるイベントプレースにおいて、
イベントの取得条件であるホップ属性を示すフィルタを保持する意味情報ルータと、
イベント送信元である第l(1≦l≦n ただしlは自然数)のエンティティ装置より受信するイベントの意味情報が示すホップ属性と、該意味情報ルータに登録されたフィルタのホップ属性とが合致するか否かを照合するとともに、該照合結果に基づいて、さらに、前記第lのエンティティ装置より受信するイベントの意味情報が示すイベントパス多重度と、前記意味情報ルータに登録されたフィルタのイベントパス多重度とが合致するか否かを照合する照合部と、該照合結果に基づいて前記第lのエンティティ装置とシェアードリンクの確立制御を行う制御部とを有する意味情報スイッチと
を具備することを特徴とするエンティティ装置。 - 第1から第n(nは2以上の自然数)のエンティティ装置をシェアードリンクを介して接続して構成されるイベントプレースにおいて、第k(1≦k≦n ただしkは自然数)のエンティティ装置が自己のエンティティプロパティに基づいて、イベントルーティングを制御するイベントルーティング制御方法であって、
該第kのエンティティ装置が、
イベント送信元である第l(1≦l≦n ただしlは、l≠kを満たす自然数)のエンティティ装置より受信するイベントの意味情報が示すホップ属性と、イベントの取得条件であるホップ属性を示すフィルタを保持する意味情報ルータに登録されたフィルタのホップ属性とが合致するか否かを照合し、
該照合結果に基づいてイベントルーティングを制御する
ことを特徴とするイベントルーティング制御方法。 - 第1から第n(nは2以上の自然数)のエンティティ装置をシェアードリンクを介して接続して構成されるイベントプレースにおいて、第k(1≦k≦n ただしkは自然数)のエンティティ装置をフェデレーション要求先エンティティとして探索するフェデレーション要求先エンティティ探索方法であって、
該第kのエンティティ装置が、
当該イベントプレースに属しないエンティティ装置であって、イベント送信元であるエンティティ装置より受信するイベントの意味情報が示すホップ属性と、イベントの取得条件であるホップ属性を示すフィルタを保持する意味情報ルータに登録されたフィルタのホップ属性とが合致するか否かを照合し、
該照合結果に基づいて該エンティティ装置とシェアードリンクの確立制御を行う
ことを特徴とするフェデレーション要求先エンティティ探索方法。 - 第1から第n(nは2以上の自然数)のエンティティ装置をシェアードリンクを介して接続して構成されるイベントプレースにおいて、第k(1≦k≦n ただしkは自然数)を障害時の代替エンティティとして探索する代替エンティティ探索方法であって、
該第kのエンティティ装置が、
イベント送信元である第l(1≦l≦n ただしlは、l≠kを満たす自然数)のエンティティ装置より受信するイベントの意味情報が示すホップ属性と、イベントの取得条件であるホップ属性を示すフィルタを保持する意味情報ルータに登録されたフィルタのホップ属性とが合致するか否かを照合し、
該照合結果に基づいて前記第lのエンティティ装置とシェアードリンクの確立制御を行う
ことを特徴とする代替エンティティ探索方法。 - 第1から第n(nは2以上の自然数)のエンティティ装置をシェアードリンクを介して接続して構成されるイベントプレースにおいて、第k(1≦k≦n ただしkは自然数)をシェアードリンク再確立先エンティティとして探索するシェアードリンク再確立先エンティティ探索方法であって、
該第kのエンティティ装置が、
イベント送信元である第l(1≦l≦n ただしlは、l≠kを満たす自然数)のエンティティ装置より受信するイベントの意味情報が示すホップ属性と、イベントの取得条件であるホップ属性を示すフィルタを保持する意味情報ルータに登録されたフィルタのホップ属性とが合致するか否かを照合し、
該照合結果に基づいて、さらに、前記第lのエンティティ装置より受信するイベントの意味情報が示すイベントパス多重度と、前記意味情報ルータに登録されたフィルタのイベントパス多重度とが合致するか否かを照合し、
該照合結果に基づいて、前記第lのエンティティ装置とシェアードリンクの確立制御を行う
ことを特徴とするシェアードリンク再確立先エンティティ探索方法。 - 第1から第n(nは2以上の自然数)のエンティティ装置をシェアードリンクを介して接続して構成されるイベントプレースにおいて、第k(1≦k≦n ただしkは自然数)のエンティティ装置に、自己のエンティティプロパティに基づくイベントルーティング制御処理を実行させるためのプログラムであって、
イベント送信元である第l(1≦l≦n ただしlは、l≠kを満たす自然数)のエンティティ装置より受信するイベントの意味情報が示すホップ属性と、イベントの取得条件であるホップ属性を示すフィルタを保持する意味情報ルータに登録されたフィルタのホップ属性とが合致するか否かを照合する処理と
該照合結果に基づいてイベントルーティングを制御する処理と
を実行させるためのイベントルーティング制御プログラム。 - 第1から第n(nは2以上の自然数)のエンティティ装置をシェアードリンクを介して接続して構成されるイベントプレースにおいて、第k(1≦k≦n ただしkは自然数)のエンティティ装置をフェデレーション要求先エンティティとして探索させる処理を実行させるためのプログラムであって、
該第kのエンティティ装置に、
当該イベントプレースに属しないエンティティ装置であって、イベント送信元であるエンティティ装置より受信するイベントの意味情報が示すホップ属性と、イベントの取得条件であるホップ属性を示すフィルタを保持する意味情報ルータに登録されたフィルタのホップ属性とが合致するか否かを照合する処理と、
該照合結果に基づいて該エンティティ装置とシェアードリンクの確立制御を行う処理と
を実行させるためのフェデレーション要求先エンティティ探索プログラム。 - 第1から第n(nは2以上の自然数)のエンティティ装置をシェアードリンクを介して接続して構成されるイベントプレースにおいて、第k(1≦k≦n ただしkは自然数)を障害時の代替エンティティとして探索する探索させる処理を実行させるためのプログラムであって、
該第kのエンティティ装置に、
イベント送信元である第l(1≦l≦n ただしlは、l≠kを満たす自然数)のエンティティ装置より受信するイベントの意味情報が示すホップ属性と、イベントの取得条件であるホップ属性を示すフィルタを保持する意味情報ルータに登録されたフィルタのホップ属性とが合致するか否かを照合する処理と、
該照合結果に基づいて前記第lのエンティティ装置とシェアードリンクの確立制御を行う処理と
を実行させるための代替エンティティ探索プログラム。 - 第1から第n(nは2以上の自然数)のエンティティ装置をシェアードリンクを介して接続して構成されるイベントプレースにおいて、第k(1≦k≦n ただしkは自然数)をシェアードリンク再確立先エンティティとして探索させる処理を実行させるためのプログラムであって、
該第kのエンティティ装置に、
イベント送信元である第l(1≦l≦n ただしlは、l≠kを満たす自然数)のエンティティ装置より受信するイベントの意味情報が示すホップ属性と、イベントの取得条件であるホップ属性を示すフィルタを保持する意味情報ルータに登録されたフィルタのホップ属性とが合致するか否かを照合する処理と、
該照合結果に基づいて、さらに、前記第lのエンティティ装置より受信するイベントの意味情報が示すイベントパス多重度と、前記意味情報ルータに登録されたフィルタのイベントパス多重度とが合致するか否かを照合する処理と、
該照合結果に基づいて、前記第lのエンティティ装置とシェアードリンクの確立制御を行う処理と
を実行させるためのシェアードリンク再確立先エンティティ探索プログラム。 - 第1から第n(nは2以上の自然数)のエンティティ装置をシェアードリンクを介して接続して構成されるイベントプレースにおいて、第k(1≦k≦n ただしkは自然数)のエンティティ装置に、自己のエンティティプロパティに基づくイベントルーティング制御処理を実行させるためのプログラムを記録する記録媒体であって、
イベント送信元である第l(1≦l≦n ただしlは、l≠kを満たす自然数)のエンティティ装置より受信するイベントの意味情報が示すホップ属性と、イベントの取得条件であるホップ属性を示すフィルタを保持する意味情報ルータに登録されたフィルタのホップ属性とが合致するか否かを照合する処理と
該照合結果に基づいてイベントルーティングを制御する処理と
を実行させるためのイベントルーティング制御プログラムを記録する記録媒体。 - 第1から第n(nは2以上の自然数)のエンティティ装置をシェアードリンクを介して接続して構成されるイベントプレースにおいて、第k(1≦k≦n ただしkは自然数)のエンティティ装置をフェデレーション要求先エンティティとして探索させる処理を実行させるためのプログラムを記録する記録媒体であって、
該第kのエンティティ装置に、
当該イベントプレースに属しないエンティティ装置であって、イベント送信元であるエンティティ装置より受信するイベントの意味情報が示すホップ属性と、イベントの取得条件であるホップ属性を示すフィルタを保持する意味情報ルータに登録されたフィルタのホップ属性とが合致するか否かを照合する処理と、
該照合結果に基づいて該エンティティ装置とシェアードリンクの確立制御を行う処理と
を実行させるためのフェデレーション要求先エンティティ探索プログラムを記録する記録媒体。 - 第1から第n(nは2以上の自然数)のエンティティ装置をシェアードリンクを介して接続して構成されるイベントプレースにおいて、第k(1≦k≦n ただしkは自然数)を障害時の代替エンティティとして探索する探索させる処理を実行させるためのプログラムを記録する記録媒体であって、
該第kのエンティティ装置に、
イベント送信元である第l(1≦l≦n ただしlは、l≠kを満たす自然数)のエンティティ装置より受信するイベントの意味情報が示すホップ属性と、イベントの取得条件であるホップ属性を示すフィルタを保持する意味情報ルータに登録されたフィルタのホップ属性とが合致するか否かを照合する処理と、
該照合結果に基づいて前記第lのエンティティ装置とシェアードリンクの確立制御を行う処理と
を実行させるための代替エンティティ探索プログラムを記録する記録媒体。 - 第1から第n(nは2以上の自然数)のエンティティ装置をシェアードリンクを介して接続して構成されるイベントプレースにおいて、第k(1≦k≦n ただしkは自然数)をシェアードリンク再確立先エンティティとして探索させる処理を実行させるためのプログラムを記録する記録媒体であって、
該第kのエンティティ装置に、
イベント送信元である第l(1≦l≦n ただしlは、l≠kを満たす自然数)のエンティティ装置より受信するイベントの意味情報が示すホップ属性と、イベントの取得条件であるホップ属性を示すフィルタを保持する意味情報ルータに登録されたフィルタのホップ属性とが合致するか否かを照合する処理と、
該照合結果に基づいて、さらに、前記第lのエンティティ装置より受信するイベントの意味情報が示すイベントパス多重度と、前記意味情報ルータに登録されたフィルタのイベントパス多重度とが合致するか否かを照合する処理と、
該照合結果に基づいて、前記第lのエンティティ装置とシェアードリンクの確立制御を行う処理と
を実行させるためのシェアードリンク再確立先エンティティ探索プログラムを記録する記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003070445A JP3803329B2 (ja) | 2003-03-14 | 2003-03-14 | エンティティ装置、代替エンティティ探索方法及び代替エンティティ探索プログラム並びにその記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003070445A JP3803329B2 (ja) | 2003-03-14 | 2003-03-14 | エンティティ装置、代替エンティティ探索方法及び代替エンティティ探索プログラム並びにその記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004282373A JP2004282373A (ja) | 2004-10-07 |
JP3803329B2 true JP3803329B2 (ja) | 2006-08-02 |
Family
ID=33287202
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003070445A Expired - Fee Related JP3803329B2 (ja) | 2003-03-14 | 2003-03-14 | エンティティ装置、代替エンティティ探索方法及び代替エンティティ探索プログラム並びにその記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3803329B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7529196B2 (en) * | 2004-12-07 | 2009-05-05 | Hewlett-Packard Development Company, L.P. | Routing a service query in an overlay network |
CN109582869B (zh) * | 2018-11-29 | 2022-09-30 | 北京搜狗科技发展有限公司 | 一种数据处理方法、装置和用于数据处理的装置 |
-
2003
- 2003-03-14 JP JP2003070445A patent/JP3803329B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004282373A (ja) | 2004-10-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
da Silva et al. | Middleware proposals for mobile ad hoc networks | |
JP3850378B2 (ja) | エンティティ装置、アドホックネットワーク構築方法及びアドホックネットワーク構築プログラム並びにその記憶媒体 | |
JP3803329B2 (ja) | エンティティ装置、代替エンティティ探索方法及び代替エンティティ探索プログラム並びにその記録媒体 | |
JP3946658B2 (ja) | エンティティ装置、イベント転送制御方法、イベント転送制御プログラム及びその記録媒体 | |
JP3844747B2 (ja) | エンティティ装置、シェアードリンク再確立方法、シェアードリンク再確立プログラム及びその記録媒体 | |
JP3987817B2 (ja) | エンティティ装置、サービス共有方法、及び、コンピュータプログラム | |
JP3822178B2 (ja) | エンティティ装置、障害回復方法、及び、コンピュータプログラム | |
JP3723127B2 (ja) | エンティティ装置、情報公開システム、方法、記録媒体及びプログラム | |
JP3723126B2 (ja) | エンティティ装置、名称付与方法、記録媒体及びプログラム | |
JP3792664B2 (ja) | エンティティ装置、リプライ通知制御方法、リプライ通知制御プログラム及びその記録媒体 | |
JP3983187B2 (ja) | エンティティ装置、リンク再確立方法、及び、コンピュータプログラム | |
JP3910550B2 (ja) | 意味情報ネットワークにおけるデータ検索方法および意味情報ネットワークシステム並びにプログラム | |
JP3782345B2 (ja) | 組み込みシステム、方法、記録媒体及びプログラム | |
JP3850379B2 (ja) | 意味情報ネットワークの構築方法および意味情報ネットワークシステム並びにプログラム | |
JP3974054B2 (ja) | エンティティ装置、シェアードリンク制御方法、認証方法及びシェアードリンク制御プログラム並びにその記録媒体 | |
JP4028429B2 (ja) | コンピュータ、イベントプレース探索方法、及び、コンピュータプログラム | |
JP3732762B2 (ja) | 意味情報スイッチ、意味情報ルータ、方法、記録媒体、プログラム | |
JP3974357B2 (ja) | シェアードリンク設定方法、通信システム、エンティティ装置、およびそのコンピュータプログラムならびにその記録媒体 | |
JP2004265325A (ja) | 意味情報ネットワークにおけるサービス提供方法および意味情報ネットワークシステム並びにプログラム | |
JP3977387B2 (ja) | 意味情報スイッチ、意味情報ルータ、方法、記録媒体、プログラム | |
JP3974158B2 (ja) | イベントプレース探索方法、通信システム、エンティティ装置、およびそのコンピュータプログラムならびにその記録媒体 | |
JP3977388B2 (ja) | 意味情報スイッチ、意味情報ルータ、方法、記録媒体、プログラム | |
JP4170322B2 (ja) | 意味情報スイッチ、意味情報ルータ、方法、記録媒体、プログラム | |
JP4060325B2 (ja) | 意味情報スイッチ、意味情報ルータ、方法、記録媒体、プログラム | |
JP3977389B2 (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: 20060123 |
|
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: 20060425 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060502 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090512 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100512 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100512 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110512 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120512 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |