(57)【要約】【課題】通信機能を有する家庭用電気機械器具やセンサ、コンピュータ、携帯電話などの端末の通信制御を行う場合に、大規模なサーバが不要で、端末数が増加した場合にも対応でき、また、端末の移動にも対応できるようにする。【解決手段】物理的な空間を複数のフィールドＦ１、Ｆ２に分割して管理し、分割された各フィールドＦ１、Ｆ２を管理するピアＰ１１、Ｐ１２を生成し、フィールドを担当する全てのピアで２つのオーバーレイネットワークＯ２１、Ｏ２２を構築し、オーバーレイネットワーク上に分散データベースＤ３１、Ｄ３２を構成し、フィールドの空間内の端末の制御情報を管理するエージェントを一方のオーバーレイネットワークＯ２１の構成ピアに加え、フィールドの空間外の端末の制御情報を管理するエージェントを他方のオーバーレイネットワークＯ２２の構成ピアに加える。【選択図】図１
2010199964.tif 000002
【特許請求の範囲】
【請求項１】
１以上の分断された物理空間の内外を移動する端末装置を制御する端末制御方法であって、
前記分断された物理空間ごとに、該物理空間内に存在する端末装置との通信を行う機能を有するピアを設けるステップと、
前記端末装置が既知の物理空間内に存在する場合に、前記端末装置ごとに、該端末装置の制御情報に基づいて該端末装置との間で通信を行い、該端末装置を制御する機能を有するエージェントを設けるステップと、
全ての前記ピアと第１の分散データベースとから構成される第１のオーバーレイネットワーク及び該全てのピアと第２の分散データベースとから構成される第２のオーバーレイネットワークを構築するステップと、
いずれかの前記物理空間内に存在する前記端末装置を制御するエージェントは前記第１のオーバーレイネットワークに属され、いずれの前記物理空間内にも存在しない前記端末装置を制御するエージェントは前記第２のオーバーレイネットワークに属され、該エージェントは自身が制御する該端末装置の識別子とエージェント自身の場所を示す情報とを対応付けるインデックス情報を自身が属するオーバーレイネットワークの分散データベースに登録し、管理するステップと、
を有することを特徴とする端末制御方法。
【請求項２】
前記端末装置が前記物理空間内から物理空間外へ移動した場合には、該端末装置に対応する前記エージェントは、自身が属するオーバーレイネットワークを前記第１のオーバーレイネットワークから前記第２のオーバーレイネットワークに変更し、自身が制御する該端末装置のインデックス情報の登録先を前記第１の分散データベースから前記第２の分散データベースに変更するステップを有することを特徴とする請求項１に記載の端末制御方法。
【請求項３】
前記端末装置が前記物理空間外から物理空間内へ移動した場合には、該端末装置に対応する前記エージェントは、自身が属するオーバーレイネットワークを前記第２のオーバーレイネットワークから前記第１のオーバーレイネットワークに変更し、自身が制御する該端末装置のインデックス情報の登録先を前記第２の分散データベースから前記第１の分散データベースに変更するステップを有することを特徴とする請求項１に記載の端末制御方法。
【請求項４】
１以上の分断された物理空間の内外を移動する端末装置を制御する端末制御システムであって、
前記分断された物理空間ごとに、該物理空間内に存在する端末装置との通信を行う機能を有するピアと、
前記端末装置が既知の物理空間内に存在する場合に、該端末装置ごとに生成され、該端末装置の制御情報に基づいて該端末装置との間で通信を行い、該端末装置を制御する機能を有するエージェントと、
全てのピアと第１の分散データベースとから構成される第１のオーバーレイネットワーク及び該全てのピアと第２の分散データベースとから構成される第２のオーバーレイネットワークと、
を備え、
いずれかの物理空間内に存在する前記端末装置を制御するエージェントは前記第１のオーバーレイネットワークに属され、いずれの物理空間内にも存在しない端末装置を制御するエージェントは前記第２のオーバーレイネットワークに属され、該エージェントは自身が制御する端末装置の識別子とエージェント自身の場所を示す情報とを対応付けるインデックス情報を自身が属するオーバーレイネットワークの分散データベースに登録し、管理する
ことを特徴とする端末制御システム。
【請求項５】
１以上の分断された物理空間の内外を移動する端末装置を制御し、前記分断された物理空間ごとに、該物理空間内に存在する端末装置との通信を行うピアの機能と、
該端末装置が既知の物理空間内に存在する場合に、前記端末装置ごとに生成され、該端末装置の制御情報に基づいて該端末装置との間で通信を行い、該端末装置を制御するエージェントの機能とを備え、
全てのピアと第１の分散データベースとから構成される第１のオーバーレイネットワーク及び該全てのピアと第２の分散データベースとから構成される第２のオーバーレイネットワークを構築し、
いずれかの物理空間内に存在する前記端末装置を制御するエージェントは前記第１のオーバーレイネットワークに属され、いずれの物理空間内にも存在しない端末装置を制御するエージェントは前記第２のオーバーレイネットワークに属され、該エージェントは自身が制御する端末装置の識別子とエージェント自身の場所を示す情報とを対応付けるインデックス情報を自身が属するオーバーレイネットワークの分散データベースに登録し、管理する
ことを特徴とする通信装置。
【請求項６】
請求項５に記載の通信装置が備えるコンピュータによって実行されるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信機能を有する家庭用電気機械器具やセンサ、コンピュータ、携帯電話などの端末装置の制御を行う端末制御方法、端末制御システム、通信装置及びプログラムに関する。
【背景技術】
【０００２】
近年、様々な通信機能を有する家庭用電気機械器具やセンサなどの端末装置が通信機能を有し、ネットワークに接続されるようになってきた。これらの端末装置がネットワークを通じて、コンピュータや携帯電話などと同様にコンピュータプログラムによって制御できるようになり、これらの端末装置を動作させる利用者や他の端末装置ヘのサービスを提供するネットワークサービスが普及し始めている。例えばインターネットを通じてコンピュータから制御できる監視カメラや、録画予約をできるテレビジョンなどがある（非特許文献１、非特許文献２）。
【０００３】
ネットワーク空間を複数のフィールドに分割することにより、フィールドごとに端末装置を管理することができるようになる。例えば携帯電話網では、セルと呼ばれるフィールドごとに無線インターフェースである基地局が設置されている。端末装置はその基地局を介してネットワークノードビルの交換機へ認証キーを送り、ホームメモリに登録されている認証情報を元に、当該端末装置が登録されている端末装置と同一のものであるか否かを認証する。認証情報が登録されていないノードビルのホームメモリには、端末装置の認証情報を登録しているホームメモリに持つノードビルの情報が記載されている。ホームメモリに登録された端末装置に認証情報を、ノードビル間で通信することで、その認証情報を参照して端末装置を認証することができる。（特許文献１）
【０００４】
演算装置と記憶領域を備えたコンピュータにおいて、その記憶領域上に端末装置の制御に必要な情報（制御情報）を保持し、その端末装置を制御するコンピュータプログラムを構成する。このコンピュータプログラムをその端末装置のエージェントと呼ぶ。
【０００５】
演算装置と記憶領域を備えたコンピュータにおいて、物理的なコンピュータネットワークとは構造の異なるオーバーレイネットワークを構築する通信機能を持ったコンピュータプログラムを構成する。このコンピュータプログラムをピアと呼ぶ（非特許文献３、非特許文献４）。例えば、Ｐ２Ｐ（Ｐｅｅｒ  ｔｏ  Ｐｅｅｒ）の通信網は、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）ネットワークの上に構築されるオーバーレイネットワークである。Ｐ２Ｐ方式では、クライアントサーバ方式と異なり、サーバを用いずに、ピア同士が直接通信を行う。
【０００６】
複数のピアからなるオーバーレイネットワークにおいて、ピアに情報を分散して配置する。情報は分散配置されていても、あたかもそのオーバーレイネットワーク全体が一つのデータベースとして情報が集中管理されているかのように情報の検索や更新などを行うことが可能な分散データベースを構成できる。
【０００７】
エージェントには、ピアの機能を持たせることができる。エージェントは、自身が動作するコンピュータで動作する他のピアと通信機能を共有することができる。この場合はあたかもエージェントがピアによって通信機能を有するかのように考えることができるため、以降ではエージェントが他のピアと通信機能を共有するように構成することを「エージェントヘピアの機能を持たせる」と表現する。また、このようにエージェントが通信機能を用いることのできる状態にあることを、「ピアの機能を備える」と表現する。以降、全てのエージェントはピアの機能を備えているとする。
【０００８】
あるコンピュータ上のエージェントを他のピアが動作する他のコンピュータへ複製あるいは移動させることができる。エージェントとピアは、既に存在するオーバーレイネットワークの構成ピアヘ新たに加わることができる。これを「オーバーレイネットワークヘ参加する」と言う。２つ以上のオーバーレイネットワークであつて、いくつかのピアが２つ以上のオーバーレイネットワークのピアとして動作するようなマルチレイヤオーバーレイネットワークを構成できる．
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００１−１０３５６０号公報
【非特許文献】
【００１０】
【非特許文献１】ソニー、「ロケーションフリー」シリーズカタログ、ｐｐ．６−７．２００７．
【非特許文献２】パナソニック、ネットワークカメラ総合カタログ、ｐｐ．２−３、２００８．
【非特許文献３】Ｎ．Ｊ．Ａ．Ｈａｒｖｅｙ．Ｍ．Ｂ．Ｊｏｎｅｓ．Ｓ．Ｓａｒｏｉｕ．Ｍ．Ｔｈｅｉｍｅ，ａｎｄ  Ａ．Ｗｏｌｍａｎ，  ”ＳｋｉｐＮｅｔ  Ａ  ｓｃａｌａｂｌｅ  ｏｖｅｒｌａｙ  ｎｅｙｗｏｒｋ  ｗｉｔｈ  ｐｒａｃｔｉｃａ１  ｌｏｃａｌｉｔｙ  ｐｒｏｐｅｒｔｉｅｓ，  ”ＵＳＩＴＳ”０３．２００３．
【非特許文献４】株式会社ビービーアール、大阪大学、ＰＩＡＸ  ｈｔｔｐ：／／ｗｗｗ．ｐｉａｘ．ｏｒｇ／
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、ネットワークを通じて全ての通信機能を有する家庭用電気機械器具やセンサ、コンピュータ、携帯電話などの端末装置を制御する場合、ネットワークに接続される端末装置数は携帯電話だけの場合と比較して数百倍以上となり、制御情報を集中管理するコストが極めて大きくなる。
【００１２】
一方で、端末装置は人の手によって勝手に移動することがある。端末装置の制御情報の管理を集中管理せずにフィールドごとに管理すると、移動された端末装置の制御情報は移動先のフィールドに存在しないため、端末装置の制御ができないことになる。端末装置の移動を考慮した携帯電話網では、全てのフィールド内に存在する全ての端末装置の認証情報が管理されている。しかしながら、通信機能を有する家庭用電気機械器具やセンサなど多くの端末装置は、移動しないか、あるいは移動範囲が狭い。それにも関わらず、携帯電話網のように各フィールドで管理されている全ての端末装置の情報を全てのフィールドが共有することは、やはりコストの増大を招く。
分散データベースを用いて制御情報を管理する場合、分散データベースに登録した情報は全てのピアから参照可能となる。そのため、制御情報を不正に引き出し、端末装置を制御される恐れがある。
【００１３】
上述の課題を鑑み、本発明は、通信機能を有する家庭用電気機械器具やセンサ、コンピュータ、携帯電話などの端末装置の制御を行う場合に、端末装置数が増加した場合にも対応でき、また、端末装置の移動にも対応できる端末制御方法、端末制御システム、通信装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
上述の課題を解決するために、本発明に係る端末制御方法は、１以上の分断された物理空間の内外を移動する端末装置を制御する端末制御方法であって、前記分断された物理空間ごとに、物理空間内に存在する端末装置との通信を行う機能を有するピアを設けるステップと、前記端末装置が既知の物理空間内に存在する場合に、前記端末装置ごとに、端末装置の制御情報に基づいて端末装置との間で通信を行い、端末装置を制御する機能を有するエージェントを設けるステップと、全ての前記ピアと第１の分散データベースとから構成される第１のオーバーレイネットワーク及び全てのピアと第２の分散データベースとから構成される第２のオーバーレイネットワークを構築するステップと、いずれかの前記物理空間内に存在する前記端末装置を制御するエージェントは前記第１のオーバーレイネットワークに属され、いずれの前記物理空間内にも存在しない前記端末装置を制御するエージェントは前記第２のオーバーレイネットワークに属され、エージェントは自身が制御する端末装置の識別子とエージェント自身の場所を示す情報（ＵＲＬ：Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ又はＵＲＩ：Ｕｎｉｖｅｒｓａｌ  Ｒｅｓｏｕｒｃｅ  Ｉｄｅｎｔｉｆｉｅｒ）とを対応付けるインデックス情報を自身が属するオーバーレイネットワークの分散データベースに登録し、管理するステップと、を有することを特徴とする端末制御方法。
【００１５】
上記発明において、前記端末装置が前記物理空間内から物理空間外へ移動した場合には、端末装置に対応する前記エージェントは、自身が属するオーバーレイネットワークを前記第１のオーバーレイネットワークから前記第２のオーバーレイネットワークに変更し、自身が制御する端末装置のインデックス情報の登録先を前記第１の分散データベースから前記第２の分散データベースに変更するステップを有することを特徴とする。
【００１６】
上記発明において、前記端末装置が前記物理空間外から物理空間内へ移動した場合には、端末装置に対応する前記エージェントは、自身が属するオーバーレイネットワークを前記第２のオーバーレイネットワークから前記第１のオーバーレイネットワークに変更し、自身が制御する端末装置のインデックス情報の登録先を前記第２の分散データベースから前記第１の分散データベースに変更するステップを有することを特徴とする。
【００１７】
本発明に係る端末制御システムは、１以上の分断された物理空間の内外を移動する端末装置を制御する端末制御システムであって、分断された物理空間ごとに、物理空間内に存在する端末装置との通信を行う機能を有するピアと、端末装置が既知の物理空間内に存在する場合に、端末装置ごとに生成され、端末装置の制御情報に基づいて端末装置との間で通信を行い、端末装置を制御する機能を有するエージェントと、全てのピアと第１の分散データベースとから構成される第１のオーバーレイネットワーク及び全てのピアと第２の分散データベースとから構成される第２のオーバーレイネットワークと、を備え、いずれかの物理空間内に存在する端末装置を制御するエージェントは第１のオーバーレイネットワークに属され、いずれの物理空間内にも存在しない端末装置を制御するエージェントは第２のオーバーレイネットワークに属され、エージェントは自身が制御する端末装置の識別子とエージェント自身の場所を示す情報（ＵＲＬ：Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ又はＵＲＩ：Ｕｎｉｖｅｒｓａｌ  Ｒｅｓｏｕｒｃｅ  Ｉｄｅｎｔｉｆｉｅｒ）とを対応付けるインデックス情報を自身が属するオーバーレイネットワークの分散データベースに登録し、管理することを特徴とする。
【００１８】
本発明に係る通信装置は、１以上の分断された物理空間の内外を移動する端末装置を制御し、分断された物理空間ごとに、物理空間内に存在する端末装置との通信を行うピアの機能と、端末装置が既知の物理空間内に存在する場合に、端末装置ごとに生成され、端末装置の制御情報に基づいて端末装置との間で通信を行い、端末装置を制御するエージェントの機能とを備え、全てのピアと第１の分散データベースとから構成される第１のオーバーレイネットワーク及び全てのピアと第２の分散データベースとから構成される第２のオーバーレイネットワークを構築し、いずれかの物理空間内に存在する端末装置を制御するエージェントは第１のオーバーレイネットワークに属され、いずれの物理空間内にも存在しない端末装置を制御するエージェントは第２のオーバーレイネットワークに属され、エージェントは自身が制御する端末装置の識別子とエージェント自身の場所を示す情報（ＵＲＬ：Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ又はＵＲＩ：Ｕｎｉｖｅｒｓａｌ  Ｒｅｓｏｕｒｃｅ  Ｉｄｅｎｔｉｆｉｅｒ）とを対応付けるインデックス情報を自身が属するオーバーレイネットワークの分散データベースに登録し、管理することを特徴とする。
【発明の効果】
【００１９】
本発明によれば、端末装置が既知の物理空間内からその物理空間外に移動し、再び物理空間内に移動した場合であっても、全ての端末装置の情報を管理する大規模なサーバを用いることなく、当該端末装置を正しく制御することができる。本発明によれば、２つのオーバーレイネットワークを設けて管理するため、１つの大規模データベースのみで管理する場合に比べて、運用コストを低減できるとともに、端末装置数が増大しても、端末装置の制御情報の検索効率が低下しない。よって、端末装置数が増加した場合にも対応でき、また、端末装置の移動にも対応できる。
【図面の簡単な説明】
【００２０】
【図１】本発明の第１の実施形態のネットワーク構成の説明に用いるブロック図である。
【図２】本発明の第１の実施形態におけるピア、エージェントの構成を示すブロック図である。
【図３】本発明の第１の実施形態における分散データベースの説明図である。
【図４】本発明の第１の実施形態においてエージェントの生成の動作説明に用いるブロック図である。
【図５】本発明の第１の実施形態においてエージェントの生成の説明に用いるフローチャートである。
【図６】本発明の第１の実施形態においてコンピュータにより端末を制御するときの動作説明に用いるブロック図である。
【図７】本発明の第１の実施形態においてコンピュータにより端末を制御するときの動作説明に用いるブロック図である。
【図８】本発明の第１の実施形態においてコンピュータにより端末を制御するときの動作説明に用いるフローチャートである。
【図９】本発明の第１の実施形態において端末がフィールド空間内で移動するときの動作説明に用いるブロック図である。
【図１０】本発明の第１の実施形態において端末がフィールド空間内で移動するときの動作説明に用いるフローチャートである。
【図１１】本発明の第１の実施形態において端末がフィールド空間外に移動するときの動作説明に用いるブロック図である。
【図１２】本発明の第１の実施形態において端末がフィールド空間外に移動するときの動作説明に用いるフローチャートである。
【図１３】本発明の第１の実施形態において端末がフィールド空間内に戻るときの動作説明に用いるブロック図である。
【図１４】本発明の第１の実施形態において端末がフィールド空間内に戻るときの動作説明に用いるフローチャートである。
【発明を実施するための形態】
【００２１】
以下、本発明の実施の形態について図面を参照しながら説明する。図１は、本発明の第１の実施形態のオーバーレイネットワークの構成を示すものである。
【００２２】
図１に示すように、本発明の第１の実施形態では、端末（端末装置）が移動する物理的な空間が複数のフィールドに分割されて管理される。そして、それぞれのフィールドを担当する全てのピアにより、２つのオーバーレイネットワークＯ２１及びＯ２２が構築される。
【００２３】
図１では、物理的な空間は、フィールドＦ１とフィールドＦ２とに分割される。フィールドＦ１を担当するピアとしてピアＰ１１が生成される。フィールドＦ２を担当するピアとしてピアＰ１２を生成される。これらフィールドＦ１を担当するピアＰ１１と、フィールドＦ２を担当するピアＰ１２との全てのピアで、２つのオーバーレイネットワークＯ２１及びＯ２２が構築される。
【００２４】
さらに、オーバーレイネットワークＯ２１上に、分散データベースＤ３１が構築される。分散データベースＤ３１は、オーバーレイネットワークＯ２１を構成するピアやエージェントのインデックス情報（識別子と、該端末装置の情報を管理するエージェント自身の場所（ＵＲＬ：Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ又はＵＲＩ：Ｕｎｉｖｅｒｓａｌ  Ｒｅｓｏｕｒｃｅ  Ｉｄｅｎｔｉｆｉｅｒ）との対応）を分散管理している。
【００２５】
オーバーレイネットワークＯ２２上には分散データベースＤ３２が構築される。分散データベースＤ３２は、オーバーレイネットワークＯ２２を構成するピアやエージェントのインデックス情報（識別子と、その情報の場所（ＵＲＬ）との対応）を分散管理している。
【００２６】
なお、ピアやエージェントは、図２に示すように、演算部１１と、記憶部１２と、入力部１３と、出力部１４と、通信部１５とからなるコンピュータのプログラムにより構成できる。
通信部１５は、他のコンピュータや端末装置との通信を行うものである。なお、端末装置と通信を行う場合には、通信部１５として、図示されない空中線を備え、無線通信の送受信機能を有しているものが用いられる。
入力部１３は、キーボードやマウスの等が含まれる。入力部１３からの情報が演算部１１に入力される。
出力部１４は、ディスプレイ等からなり、演算部１１からの情報を出力する。
記憶部１２は、例えば半導体メモリにより構成され、ピア及びエージェントとして機能する少なくともいずれかのプログラム及び処理に必要な情報を記憶する。
演算部１１は、記憶部１２に記憶されたピア及びエージェントとして機能する少なくともいずれかのプログラムを参照し、そのプログラムに示される手順にしたがって処理を実行する。プログラムに記録される主な機能には、ピア、エージェント、各オーバーレイネットワーク上に構築される分散データベースに対する処理がある。
【００２７】
また、分散データベースＤ３１及びＤ３２は、各ノードが少しずつ分散して情報を持ち合って、データベースを構築するものである。図３は、分散データベースＤ３１及びＤ３２のテーブルの構成例を示している。
【００２８】
図１において、フィールドＦ１、Ｆ２の中に端末が存在していると、オーバーレイネットワーク上に、通信機能を備えたエージェントが生成され、そのエージェントに、その端末の制御情報が送信される。端末は、具体的には、通信機能を有する家庭用電気機械器具やセンサ、携帯端末等である。エージェントは、他のコンピュータやピアからアクセス可能であり、その端末を制御する。
【００２９】
ここで、本発明の特徴は、端末が物理的なフィールドＦ１、Ｆ２の空間内にあるか、フィールドＦ１、Ｆ２の全ての空間外にあるかにより、２つのオーバーレイネットワークＯ２１及びＯ２２を使い分けることにある。すなわち、端末が物理的なフィールドＦ１、Ｆ２の空間内にあれば、そのエージェントは、オーバーレイネットワークＯ２１に生成される。端末が物理的なフィールドＦ１、Ｆ２の空間外に移動したら、そのエージェントは、オーバーレイネットワークＯ２１から削除され、オーバーレイネットワークＯ２２に生成される。端末が物理的なフィールドＦ１、Ｆ２の空間外から、フィールドＦ１、Ｆ２の空間内に移動したら、そのエージェントは、オーバーレイネットワークＯ２２から削除され、オーバーレイネットワークＯ２１に生成される。
【００３０】
よって、一定数以上の端末のエージェントが分散データベースＤ３１及びＤ３２へ登録された後の各オーバーレイネットワークＯ２１及びＯ２２の構成は、オーバーレイネットワークＯ２１は、制御可能な全端末のエージェントと全てのピアで構成され、オーバーレイネットワークＯ２２は、制御不可能であるか又は位置が確認できない全端末のエージェントと全てのピアで構成されることになる。
【００３１】
このように、本発明の実施形態では、物理的な空間を複数のフィールドＦ１、Ｆ２に分割して管理し、分割された各フィールドＦ１、Ｆ２を管理するピアＰ１１、Ｐ１２を生成し、フィールドを担当する全てのピアで２つのオーバーレイネットワークＯ２１、Ｏ２２を構築し、オーバーレイネットワーク上に分散データベースＤ３１、Ｄ３２を構成し、フィールドの空間内の端末の制御情報を管理するエージェントを一方のオーバーレイネットワークＯ２１の構成ピアに加え、フィールドの空間外の端末の制御情報を管理するエージェントを他方のオーバーレイネットワークＯ２２の構成ピアに加えるようにしている。この場合、一方のオーバーレイネットワークＯ２１には、制御可能な端末のエージェントが存在し、他方のオーバーレイネットワークＯ２２には、制御不能な端末のエージェントが存在することになるので、端末数が増加した場合にも対応でき、また、端末の移動にも対応できる。
【００３２】
以下、本発明の第１の実施形態における、エージェントの生成、端末の制御、端末が移動したときのエージェントの構成について、例を挙げながら説明する。
【００３３】
＜エージェントの生成＞
先ず、図４及び図５を参照して、フィールドＦ１に端末Ｄｅｖ４１があり、そのエージェントをオーバーレイネットワーク上に生成する場合の例について説明する。
【００３４】
図４に示すように、端末Ｄｅｖ４１は、フィールドＦ１の空間内にある。よって、前述したように、そのエージェントＡ５１は、オーバーレイネットワークＯ２１上に生成されることになる。
【００３５】
図５は、フィールドＦ１の空間内に端末Ｄｅｖ４１があった場合のエージェントの生成処理を示すフローチャートである。図５において、端末Ｄｅｖ４１は、通信可能なオーバーレイネットワークのピアを検索し（ステップＳ１０１）、ピアを発見できたかどうかを判定する（ステップＳ１０２）。ここでは、端末Ｄｅｖ４１は、フィールドＦ１の空間内にあるので、フィールドＦ１のピアＰ１１を発見することになる。通信可能なピアを発見できなかつた場合は（ステップＳ１０２のＮｏ）、通信可能なピアを初めて発見できたときに、以降の動作を行う。
【００３６】
端末Ｄｅｖ４１がピアＰ１１を発見すると（ステップＳ１０２のＹｅｓ）、すなわち端末Ｄｅｖ４１がフィールドＦｌの中にあると、端末Ｄｅｖ４１は、その端末Ｄｅｖ４１の識別子をピアＰ１１へ送信する（ステップＳ１０３）。ピアＰ１１は、２つのオーバーレイネットワークＯ２１及びＯ２２のそれぞれの分散データベースＤ３１及びＤ３２を検索し、受信した識別子が分散データベースＤ３１及びＤ３２に登録されているか調べる（ステップＳ１０４）。
【００３７】
端末Ｄｅｖ４１が初めてフィールドＦ１に存在することになると、分散データベースＤ３１又はＤ３２のいずれかにおいても、端末Ｄｅｖ４１の識別子は発見できないことになる。分散データベースＤ３１又はＤ３２のいずれの分散データベースにおいても、端末Ｄｅｖ４１の識別子を発見できない場合には（ステップＳ１０５のＮｏ）、ピアＰ１１は、端末Ｄｅｖ４１に制御情報を要求する（ステップＳ１０６）。端末Ｄｅｖ４１は、制御情報の要求を受信すると、ピアＰ１１に制御情報を送信する（ステップＳ１０７）。なお、端末Ｄｅｖ４１の識別子がデータベースＤ３１、Ｄ３２から発見できないときには（ステップＳ１０５のＮｏ）、後述のステップＳ３０５からの動作と同様になる。
【００３８】
ピアＰ１１は、端末Ｄｅｖ４１からの制御情報を受信すると、端末Ｄｅｖ４１の制御情報を管理しピアの機能を備えた当該端末のエージェントＡ５１を生成する（ステップＳ１０８）。そして、このエージェントＡ５１を、オーバーレイネットワークＯ２１に参加させ（ステップＳ１０９）、このエージェントＡ５１の識別子とＵＲＬとをオーバーレイネットワークＯ２１の分散データベースＤ３１に登録する（ステップＳ１１０）。これにより、他のピアやエージェントは、端末Ｄｅｖ４１の識別子をもとに、エージェントＡ５１のＵＲＬを取得できる。そして、エージェントＡ５１は、端末Ｄｅｖ４１を適切に制御できるよう、端末Ｄｅｖ４１とエージェントＡ５１との間の通信経路やインターフェースなどに従い制御情報を更新する（ステップＳ１１１）。
【００３９】
なお、エージェントＡ５１のプログラムは、通常、ピアＰ１１のプログラムが実行されているコンピュータ上に生成される。但し、ピアＰ１１のプログラムが実行されるコンピュータ以外のコンピュータ上にエージェントＡ５１を生成するようにしても良い。
【００４０】
また、ステップＳ１０５において、端末Ｄｅｖ４１の識別子が発見できたときには、後に説明するように、そのエージェントの制御情報の更新処理が行われる。
【００４１】
以上のような処理により、端末Ｄｅｖ４１がフィールドＦ１の空間内にあると、その端末Ｄｅｖ４１を制御するエージェントＡ５１がオーバーレイネットワークＯ２１上に生成される。
【００４２】
＜エージェントを搭載するコンピュータによる端末制御＞
次に、エージェントＡ５１を搭載するコンピュータによる端末Ｄｅｖ４１の制御について、図６を参照しながら説明する。
【００４３】
図６において、エージェントＡ５１には、端末Ｄｅｖ４１の制御情報が送られている。したがって、図６に示すように、端末Ｄｅｖ４１がフィールドＦ１の空間内にあれば、エージェントＡ５１を搭載するコンピュータ（例えばピアＰ１１のコンピュータ）は、自身が取得した制御情報により、端末Ｄｅｖ４１を直接制御できる。
【００４４】
＜エージェントを搭載するコンピュータ以外のコンピュータによる端末制御＞
次に、エージェントＡ５１を搭載するコンピュータ以外のコンピュータによる端末Ｄｅｖ４１の制御について、図７及び図８を参照しながら説明する。
【００４５】
図７において、コンピュータＣ６１はフィールドＦ２の空間内にあり、このコンピュータＣ６１により、フィールドＦ１の空間内の端末Ｄｅｖ４１を制御するものとする。図８は、このときの処理を示すフローチャートである。
【００４６】
図８において、コンピュータＣ６１は、オーバーレイネットワークＯ２１のいずれかのピアと通信する（ステップＳ２０１）。今、コンピュータＣ６１がフィールドＦ２にあるとすると、そのコンピュータＣ６１は、フィールドＦ２のピアＰ１２と通信することになる。
【００４７】
コンピュータＣ６１がピアＰ１２と通信した場合、コンピュータＣ６１は、端末Ｄｅｖ４１の識別子をピアＰ１２へ送信する（ステップＳ２０２）。ピアＰ１２は、分散データベースＤ３１から端末Ｄｅｖ４１の識別子を検索して、エージェントＡ５１のＵＲＬを分散データベースＤ３１を取得する（ステップＳ２０３）。
【００４８】
ピアＰ１２は、分散データベースＤ３１に、端末Ｄｅｖ４１の識別子が発見できたかどうかを判断する（ステップＳ２０４）。ここで、分散データベースＤ３１に、端末Ｄｅｖ４１の識別子が発見できなければ、制御不可能として、処理を終了する。
【００４９】
ステップＳ２０４で、端末Ｄｅｖ４１の識別子が発見できたなら、ピアＰ１２は、エージェントＡ５１のＵＲＬを分散データベースＤ３１から取得し、これをコンピュータＣ６１に送信する（ステップＳ２０５）。
【００５０】
コンピュータＣ６１は、取得したＵＲＬを、エージェントＡ５１に送信する（ステップＳ２０６）。エージェントＡ５１は、端末Ｄｅｖ４１を制御内容に従って、制御する（ステップＳ２０７）。
【００５１】
以上のように、エージェントを搭載するコンピュータ以外のコンピュータＣ６１は、ピアＰ１２により、端末Ｄｅｖ４１を制御するエージェントＡ５１のＵＲＬを取得し、制御内容をエージェントＡ５１に送信することで、端末Ｄｅｖ４１を制御することができる。
【００５２】
＜端末が物理的なフィールドＦ１、Ｆ２の空間内で移動したときの処理＞
次に、端末Ｄｅｖ４１が物理的なフィールドＦ１、Ｆ２の空間内で移動したときの処理について、図９及び図１０を参照しながら説明する。図９では、端末Ｄｅｖ４１は、フィールドＦ１からフィールドＦ２に移動している。この場合、端末Ｄｅｖ４１移動先は、フィールドＦ２の空間内である。よって、そのエージェントＡ５１は、そのままオーバーレイネットワークＯ２１内となる。
【００５３】
図１０は、端末Ｄｅｖ４１がフィールドＦ１からフィールドＦ２に移動したときの処理を示すフローチャートである。図１０において、端末Ｄｅｖ４１がフィールドＦ１から移動したら（ステップＳ３０１）、端末Ｄｅｖ４１の移動がオーバーレイネットワークＯ２１を構成するピアが動作するフィールドの空間内の移動かどうかを判定する（ステップＳ３０１）。エージェントＡ５１が端末Ｄｅｖ４１を制御不能になったかどうかにより、端末Ｄｅｖ４１の移動先がオーバーレイネットワークＯ２１を構成するピアが動作するフィールドの空間内かどうかを判定できる。
【００５４】
ここでは、端末Ｄｅｖ４１は、フィールドＦ１からフィールドＦ２に移動している。すなわち、端末Ｄｅｖ４１の移動先がオーバーレイネットワークＯ２１を構成するピアが動作するフィールドの空間内である。
【００５５】
端末Ｄｅｖ４１の移動先がオーバーレイネットワークＯ２１を構成するピアが動作するフィールドの空間内であれば（ステップＳ３０２のＹｅｓ）、端末Ｄｅｖ４１は、ピアＰ１２へ当該端末Ｄｅｖ４１の識別子を送信する（ステップＳ３０３）。ピアＰ１２は、それぞれの分散データベースＤ３１及びＤ３２を検索して、受信した識別子が分散データベースＤ３１及びＤ３２へ登録されているか調べる（ステップＳ３０４）。この例の場合は、端末Ｄｅｖ４１が直前までフィールドＦｌに存在したため、当該識別子が分散データベースＤ３１へ登録されていると判断されることになる。
【００５６】
端末Ｄｅｖ４１の識別子が分散データベースＤ３１又はＤ３２に登録されていれば、ピアＰ１２は、分散データベースＤ３１によリ、エージェントＡ５１ヘアクセスするためのＵＲＬを取得する（ステップＳ３０５）。
【００５７】
そして、ピアＰ１２は、エージェントＡ５１のＵＲＬヘ、端末Ｄｅｖ４１がフィールドＦ２に存在するという情報（位置情報）を送信する（ステップＳ３０６）。エージェントＡ５１は、受信した位置情報により、端末Ｄｅｖ４１を再び制御できるよう通信経路などの制御情報を更新する（ステップＳ３０７）。
【００５８】
なお、ステップＳ３０２で、端末Ｄｅｖ４１の移動先がオーバーレイネットワークＯ２１を構成するピアが動作するフィールドの空間内にない場合（ステップＳ３０２のＮｏ）は、次の端末が物理的なフィールドＦ１、Ｆ２の空間外に移動したときの処理（ステップＳ４０３以降の処理）で説明する。
【００５９】
以上の処理により、端末Ｄｅｖ４１がフィールドＦ１からフィールドＦ２に移動したときには、ピアＰ１２がエージェントＡ５１のＵＲＬヘ、端末Ｄｅｖ４１がフィールドＦ２に存在するという情報（位置情報）を送信することで、エージェントＡ５１は、端末Ｄｅｖ４１を制御することができる。
【００６０】
＜端末が物理的なフィールドＦ１、Ｆ２の空間外に移動したときの処理＞
次に、端末が物理的なフィールドＦ１、Ｆ２の空間外に移動したときの処理について、図１１及び図１２を参照しながら説明する。
【００６１】
図１１では、端末Ｄｅｖ４１は、フィールドＦ１及びフィールドＦ２の空間外に移動している。オーバーレイネットワークＯ２１の空間外にある端末Ｄｅｖ４１は、もはや、エージェントＡ５１では、制御不能である。前述したように、端末Ｄｅｖ４１が物理的なフィールドＦ１、Ｆ２の空間外に移動したときには、端末Ｄｅｖ４１を制御するエージェントＡ５１は、オーバーレイネットワークＯ２１から削除され、他方のオーバーレイネットワークＯ２２に、端末Ｄｅｖ４１を制御するエージェントＡ５１が生成される。
【００６２】
図１２は、端末Ｄｅｖ４１が物理的なフィールドＦ１、Ｆ２の空間外に移動したときの処理を示すフローチャートである。
【００６３】
図１２において、端末Ｄｅｖ４１がフィールドＦ１から移動したら（ステップＳ４０１）、端末Ｄｅｖ４１の移動がオーバーレイネットワークＯ２１を構成するピアが動作するフィールドの空間内かどうかを判定する。エージェントＡ５１が端末Ｄｅｖ４１を制御不能になったかどうかにより、端末Ｄｅｖ４１の移動先がオーバーレイネットワークＯ２１を構成するピアが動作するフィールドの空間内の移動かどうかを判定できる。
【００６４】
端末Ｄｅｖ４１の移動先が、フィールドの空間内にないなら（ステップＳ４０２のＮｏ）、エージェントＡ５１はデバイスＤｅｖ４１はフィールドＦ１内にないか制御不能であると判定し（ステップＳ４０３）、エージェントＡ５１は、分散データベースＤ３１から、端末Ｄｅｖ４１の識別子と、エージェントＡ５１自身のＵＲＬを削除する（ステップＳ４０４）。エージェントＡ５１は、オーバーレイネットワークＯ２１を構成するピアから外れ（ステップＳ４０５）、オーバーレイネットワークＯ２２へ参加する（ステップＳ４０６）。またエージェントＡ５１は、分散データベースＤ３２へ端末Ｄｅｖ４１の識別子とエージェントＡ５１のＵＲＬを登録する（ステップＳ４０７）。
【００６５】
以上の処理により、端末Ｄｅｖ４１が物理的なフィールドＦ１、Ｆ２の空間外に移動したときには、端末Ｄｅｖ４１を制御するエージェントＡ５１は、オーバーレイネットワークＯ２１から削除され、他方のオーバーレイネットワークＯ２２に、端末Ｄｅｖ４１を制御するエージェントＡ５１が生成されるようになる。
【００６６】
＜端末が物理的なフィールドＦ１、Ｆ２の空間内に戻ったときの処理＞
次に、フィールドＦ１、Ｆ２の空間外の端末がフィールドＦ１、Ｆ２の空間内に戻ったときの処理について、図１３及び図１４を参照しながら説明する。図１３では、物理的なフィールドＦ１、Ｆ２の空間外に移動した端末Ｄｅｖ４１が、フィールドＦ２の空間内に戻っている。前述したように、端末Ｄｅｖ４１が物理的なフィールドＦ１、Ｆ２の空間外に移動すると、端末Ｄｅｖ４１を制御するエージェントＡ５１は、オーバーレイネットワークＯ２２に生成されるようになる。端末Ｄｅｖ４１が、フィールドＦ２の空間内に戻れば、端末Ｄｅｖ４１を制御するエージェントＡ５１は、オーバーレイネットワークＯ２２から削除され、他方のオーバーレイネットワークＯ２１に生成されるようになる。図１４は、このときの処理を示すものである。
【００６７】
図１４において、端末Ｄｅｖ４１がフィールドの空間外から移動してくると（ステップＳ５０１）、端末Ｄｅｖ４１の移動がオーバーレイネットワークＯ２１を構成するピアが動作するフィールドの空間内かどうかを判定する（ステップＳ５０２）。オーバーレイネットワークＯ２２の分散データベースＤ３２に識別子が登録されている端末Ｄｅｖ４１が、フィールドＦ２の空間内へ移動した場合には、移動先はフィールドの空間内であると判定されることになる（ステップＳ５０２のＹｅｓ）。そして、端末Ｄｅｖ４１は、当該端末の識別子を、ピアＰ１２へ送信し（ステップＳ５０３）、ピアＰ１２は、端末Ｄｅｖ４１の識別子を分散データベースＤ３１又はＤ３２から検索する（ステップＳ５０４）。
【００６８】
この例での場合は、端末Ｄｅｖ４１の識別子が、オーバーレイネットワークＯ２２の分散データベースＤ３２へ登録されている。このため、ピアＰ１２は、分散データベースＤ３２からエージェントＡ５１のＵＲＬを取得する（ステップＳ５０５）。さらにピアＰ１２は取得したＵＲＬへ端末Ｄｅｖ４１の位置情報を送信する（ステップＳ５０６）。そして、エージェントＡ５１は、オーバーレイネットワークＯ２２の分散データベースＤ３２から端末Ｄｅｖ４１の識別子とエージェントＡ５１のＵＲＬを削除する（ステップＳ５０７）。また、エージェントＡ５１は、オーバーレイネットワークＯ２２を構成するピアから外れ（ステップＳ５０８）、オーバーレイネットワークＯ２１へ参加する（ステップＳ５０９）。加えてエージェントＡ５１は、分散データベースＤ３１へ端末Ｄｅｖ４１の識別子と当該エージェントのＵＲＬを登録する（ステップＳ５１０）。また、エージェントＡ５１は、受信した位置情報に従い、端末Ｄｅｖ４１を再び制御できるよう通信経路などの制御情報を更新する（ステップＳ５１１）。
【００６９】
以上の処理により、端末Ｄｅｖ４１がフィールドの空間外からフィールドＦ２の空間内に移動したときには、端末Ｄｅｖ４１を制御するエージェントＡ５１は、オーバーレイネットワークＯ２２から削除され、オーバーレイネットワークＯ２１に、端末Ｄｅｖ４１を制御するエージェントＡ５１が生成されるようになる。
【００７０】
以上説明したように、本発明の実施形態では、２つのオーバーレイネットワークＯ２１及びＯ２２を構成し、フィールドの空間内の端末の制御情報を管理するエージェントを一方のオーバーレイネットワークＯ２１の構成ピアに加え、フィールドの空間外の端末の制御情報を管理するエージェントを他方のオーバーレイネットワークＯ２２の構成ピアに加えるようにしているので、大規模なサーバが不要であり、端末数が増加した場合にも対応でき、また、端末の移動にも対応できる。
【００７１】
本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
なお、エージェントが端末のインデックス情報を個別に記憶する機能を有することにより、端末のインデックス情報をエージェントのみが管理し、他のエージェントが参照できる分散データベースに登録しないことで、不正な端末制御に利用されることを防ぐことが可能になる。
【符号の説明】
【００７２】
Ａ５１  エージェント
Ｃ６１  コンピュータ
Ｄ３１，Ｄ３２  分散データベース
Ｄｅｖ４１  端末
Ｆ１，Ｆ２ フィールド
Ｏ２１，Ｏ２２  オーバーレイネットワーク
Ｐ１１，Ｐ１２  ピア
【図１】
2010199964.tif 000003
【図２】
2010199964.tif 000004
【図３】
2010199964.tif 000005
【図４】
2010199964.tif 000006
【図５】
2010199964.tif 000007
【図６】
2010199964.tif 000008
【図７】
2010199964.tif 000009
【図８】
2010199964.tif 000010
【図９】
2010199964.tif 000011
【図１０】
2010199964.tif 000012
【図１１】
2010199964.tif 000013
【図１２】
2010199964.tif 000014
【図１３】
2010199964.tif 000015
【図１４】
2010199964.tif 000016