図面 (/)

技術 仮想空間のオブジェクトを管理するシステム

出願人 株式会社ソニー・インタラクティブエンタテインメント
発明者 加藤裕樹芹田陽一郎
出願日 2005年12月9日 (14年0ヶ月経過) 出願番号 2005-356072
公開日 2007年6月28日 (12年6ヶ月経過) 公開番号 2007-164252
状態 拒絶査定
技術分野 電子ゲーム機 計算機間の情報転送 計算機・データ通信
主要キーワード Y座標 仮想空間領域 オブジェクトα メッセージ転送装置 配置要求 分割ポイント 衝突通知 各部分空間
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2007年6月28日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (15)

課題

複数のオブジェクト管理装置によって、仮想空間内オブジェクト分散管理させる際に、注目オブジェクトがどのオブジェクト管理装置によって管理されているかを簡便な処理によって特定でき、処理負荷を軽減できるオブジェクト管理システムを提供する。

解決手段

順序付き部分空間領域に分割された仮想空間内のオブジェクトの少なくとも一部を管理の対象として、管理の対象の候補となるオブジェクトには、部分空間領域に関連する順序との関係において定められる順序キークライアント装置で算出され、この順序キーを利用して、管理の対象の候補となるオブジェクトのうち、管理の対象となるオブジェクトを選択的に定めるオブジェクト管理装置である。

概要

背景

ゲームやチャットプログラム等において、仮想的な空間を設定し、当該仮想的な空間内に配置された各種のオブジェクトを操作する等の処理が行われることがある。例えば、ネットワークゲームのように複数のプレイヤが参加するゲームでは、各プレイヤがゲーム空間として、仮想空間内の情報を共有し、このゲーム空間内に、プレイヤオブジェクトとして参加する。そして例えばある位置に配置されたアイテムのオブジェクト(アイテムオブジェクト)を取得する操作をしたり、他のプレイヤオブジェクトに対して攻撃をするなどの操作をしたり、といったことを行う。

この場合に、仮想空間内の各オブジェクトの位置や属性情報などは、オブジェクト管理装置として動作するコンピュータが管理している。

概要

複数のオブジェクト管理装置によって、仮想空間内のオブジェクトを分散管理させる際に、注目オブジェクトがどのオブジェクト管理装置によって管理されているかを簡便な処理によって特定でき、処理負荷を軽減できるオブジェクト管理システムを提供する。順序付き部分空間領域に分割された仮想空間内のオブジェクトの少なくとも一部を管理の対象として、管理の対象の候補となるオブジェクトには、部分空間領域に関連する順序との関係において定められる順序キークライアント装置で算出され、この順序キーを利用して、管理の対象の候補となるオブジェクトのうち、管理の対象となるオブジェクトを選択的に定めるオブジェクト管理装置である。

目的

本発明は上記実情に鑑みて為されたもので、複数のオブジェクト管理装置によって、仮想空間内のオブジェクトを分散管理させる際に、注目オブジェクトがどのオブジェクト管理装置によって管理されているかを簡便な処理によって特定でき、処理負荷を軽減できるオブジェクト管理システムを提供することを、その目的の一つとする。

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

順序が規定された複数の部分空間に分割されている仮想空間内の位置を指定して、当該指定した位置にオブジェクトを配置する要求を行う、少なくとも一つのクライアント側装置と、前記少なくとも一つの部分空間を対象領域として、当該対象領域内のオブジェクトを管理の対象とし、管理の対象となったオブジェクトに係る処理を実行する、少なくとも一つのオブジェクト管理装置とを含むオブジェクト管理システムであって、前記クライアント装置において、前記オブジェクト管理装置による管理の対象の候補となるオブジェクトに対して、前記部分空間の各々との順序関係を定義可能な順序キーが算出され、前記オブジェクト管理装置は、前記クライアント装置にて算出された順序キーと、自己の対象領域に含まれる部分空間との順序関係に基づいて、クライアント装置から要求されたオブジェクトに係る処理を実行するか否かを判断し、実行すると判断した場合に、前記要求されたオブジェクトに係る処理を実行することを特徴とするオブジェクト管理システム。

請求項2

順序が規定された複数の部分空間に分割されている仮想空間内での位置を表す位置情報に関連づけられたオブジェクトの少なくとも一部を管理の対象として、管理の対象となったオブジェクトに係る処理を実行するオブジェクト管理装置であって、前記管理の対象の候補となるオブジェクトには、前記部分空間の各々との順序関係を定義可能な順序キーが関連づけられ、前記部分空間の少なくとも一つを対象領域として、要求されたオブジェクトに係る処理を実行するか否かを、当該オブジェクトの順序キーと前記対象領域に含まれる部分空間との順序関係に基づいて判断し、実行すると判断した場合に、前記要求されたオブジェクトに係る処理を実行することを特徴とするオブジェクト管理装置。

請求項3

請求項2に記載のオブジェクト管理装置であって、前記部分空間の各々との順序関係を定義可能な順序キーを含む識別情報に関連づけられて、その対象領域が設定され、前記要求されたオブジェクトに係る処理を実行するか否かを、当該オブジェクトの順序キーと前記対象領域に含まれる部分空間との順序関係に基づいて判断することを特徴とするオブジェクト管理装置。

請求項4

請求項2または3に記載のオブジェクト管理装置であって、前記部分空間の順序は、Z順序によって規定されることを特徴とするオブジェクト管理装置。

請求項5

請求項2から4のいずれか一項に記載のオブジェクト管理装置であって、当該オブジェクト管理装置が、前記部分空間の各々との順序関係を定義可能な順序キーに関連づけられ、オブジェクトに係る処理を実行するか否かを判断する際に、当該関連づけられた順序キーに基づいて特定される対象領域内のオブジェクトであるか否かによって判断を行なっており、前記特定される対象領域を、連続したNセットの部分空間セットに分割し、当該分割に係る部分空間セットのいずれかを当該オブジェクト管理装置の対象領域とし、他のN−1個の部分空間セットの各々については、他のオブジェクト管理装置の対象領域とすることを特徴とするオブジェクト管理装置。

請求項6

請求項2から5のいずれか一項に記載のオブジェクト管理装置であって、前記部分空間の各々との順序関係を定義可能な順序キーと、当該順序キーを含む識別情報とに関連づけられて、その対象領域が設定され、前記オブジェクトに係る処理として、専らオブジェクト間のメッセージ配送処理を行い、前記識別情報が、メッセージの配送処理以外の処理を行うオブジェクト管理装置に対する識別情報とは区別可能な識別情報として設定され、メッセージの配送処理以外の処理を行うオブジェクト管理装置のいずれかを同順オブジェクト管理装置として、当該同順オブジェクト管理装置と一致する順序キーに関連づけられており、指定されたオブジェクトに係る処理が要求されたときに、当該指定されたオブジェクトの順序キーと前記対象領域に含まれる部分空間との順序関係に基づいて、当該指定されたオブジェクトへメッセージを配送するか否かを判断し、配送すると判断したときには、前記同順オブジェクト管理装置に対してメッセージの配送を要求し、配送しないと判断したときに、前記同順オブジェクト管理装置とは異なる他のオブジェクト管理装置に対してメッセージの配送を要求することを特徴とするオブジェクト管理装置。

請求項7

順序が規定された複数の部分空間に分割されている仮想空間内での位置を表す位置情報に関連づけられたオブジェクトの少なくとも一部を管理の対象として、管理の対象となったオブジェクトに係る処理を実行するオブジェクト管理装置を用いて、前記管理の対象の候補となるオブジェクトに、前記部分空間の各々との順序関係を定義可能な順序キーが関連づけられ、前記オブジェクト管理装置に、前記部分空間の少なくとも一つを対象領域として、要求されたオブジェクトに係る処理を実行するか否かを、当該オブジェクトの順序キーと前記対象領域に含まれる部分空間との順序関係に基づいて判断させ、実行すると判断した場合に、前記要求されたオブジェクトに係る処理を実行させることを特徴とするオブジェクト管理装置の制御方法

請求項8

コンピュータに、順序が規定された複数の部分空間に分割されている仮想空間内での位置を表す位置情報に関連づけられたオブジェクトの少なくとも一部を管理の対象として、管理の対象となったオブジェクトに係る処理を実行させるプログラムであって、前記部分空間の各々との順序関係を定義可能な順序キーが関連づけられた、前記管理の対象の候補となるオブジェクトに関する情報を取得する手順と、前記部分空間の少なくとも一つを対象領域として、要求されたオブジェクトに係る処理を実行するか否かを、当該オブジェクトの順序キーと前記対象領域に含まれる部分空間との順序関係に基づいて判断させ、実行すると判断した場合に、前記要求されたオブジェクトに係る処理を実行する手順と、を実行させることを特徴とするプログラム。

技術分野

0001

本発明は、コンピュータを用いて、仮想空間内オブジェクトを管理するオブジェクト管理システムに関する。

背景技術

0002

ゲームやチャットプログラム等において、仮想的な空間を設定し、当該仮想的な空間内に配置された各種のオブジェクトを操作する等の処理が行われることがある。例えば、ネットワークゲームのように複数のプレイヤが参加するゲームでは、各プレイヤがゲーム空間として、仮想空間内の情報を共有し、このゲーム空間内に、プレイヤオブジェクトとして参加する。そして例えばある位置に配置されたアイテムのオブジェクト(アイテムオブジェクト)を取得する操作をしたり、他のプレイヤオブジェクトに対して攻撃をするなどの操作をしたり、といったことを行う。

0003

この場合に、仮想空間内の各オブジェクトの位置や属性情報などは、オブジェクト管理装置として動作するコンピュータが管理している。

発明が解決しようとする課題

0004

しかしながら、近年では、ゲーム等、仮想空間を利用するアプリケーションの内容が高度化しており、仮想空間内に配置されるオブジェクトの数も増大している。また、例えばユーザのオブジェクトがアイテムのオブジェクトの配置された位置に移動して、アイテムオブジェクトを取得するなどの制御を行う場合、ユーザのオブジェクトは近辺に存在するアイテムオブジェクトを知るために、ユーザのオブジェクトの近辺に存在するアイテムオブジェクトを仮想空間内のオブジェクトを管理するオブジェクト管理装置に問い合わせる。また、必要に応じてオブジェクト管理装置が、アイテムオブジェクトの除去やユーザオブジェクトへの属性の付与といったオブジェクト間インタラクションの処理を行うこととなる。あるいは、仮想空間内に存在する移動オブジェクト間の衝突検出などオブジェクト管理装置が行い、衝突が検出されたオブジェクトに対して衝突通知を行う場合もある。このような処理はオブジェクトの数の増大や、管理すべき仮想空間が広がるほど、処理の機会、処理にかかる計算時間が増大し、一つのオブジェクト管理装置によって仮想空間内のオブジェクトの管理を行うことが困難になりつつある。

0005

一方で、例えば複数のオブジェクト管理装置によって、それぞれ異なる種類のオブジェクトを分散して管理させる場合、上述の例のようにユーザのオブジェクトがアイテムオブジェクトを取得するという処理を行うためには、ユーザオブジェクトと、アイテムオブジェクトとをそれぞれ管理する複数のオブジェクト管理装置間でユーザオブジェクトの位置とアイテムオブジェクトの位置とを比較するための情報を相互に通信する必要があるなど、処理が一般に複雑になる。また、オブジェクトが頻繁に仮想空間内を移動するアプリケーションでは、該オブジェクトが移動するたびに、移動先の領域を管理するオブジェクト管理装置を探す必要が生じ、そのための処理が一般に複雑になる。

0006

本発明は上記実情に鑑みて為されたもので、複数のオブジェクト管理装置によって、仮想空間内のオブジェクトを分散管理させる際に、注目オブジェクトがどのオブジェクト管理装置によって管理されているかを簡便な処理によって特定でき、処理負荷を軽減できるオブジェクト管理システムを提供することを、その目的の一つとする。

課題を解決するための手段

0007

上記従来例の問題点を解決するための本発明は、順序が規定された複数の部分空間に分割されている仮想空間内の位置を指定して、当該指定した位置にオブジェクトを配置する要求を行う、少なくとも一つのクライアント側装置と、前記少なくとも一つの部分空間を対象領域として、当該対象領域内のオブジェクトを管理の対象とし、管理の対象となったオブジェクトに係る処理を実行する、少なくとも一つのオブジェクト管理装置とを含むオブジェクト管理システムであって、前記クライアント装置において、前記オブジェクト管理装置による管理の対象の候補となるオブジェクトに対して、前記部分空間の各々との順序関係を定義可能な順序キーが算出され、前記クライアント装置にて算出された順序キーと、対象領域に含まれる部分空間との順序関係に基づいて、前記オブジェクト管理装置がクライアント装置から要求されたオブジェクトに係る処理を実行するか否かを判断し、実行すると判断した場合に、前記要求されたオブジェクトに係る処理を実行することを特徴としている。

0008

また、本発明の一態様は、順序が規定された複数の部分空間に分割されている仮想空間内での位置を表す位置情報に関連づけられたオブジェクトの少なくとも一部を管理の対象として、管理の対象となったオブジェクトに係る処理を実行するオブジェクト管理装置であって、前記管理の対象の候補となるオブジェクトには、前記部分空間の各々との順序関係を定義可能な順序キーが関連づけられ、前記部分空間の少なくとも一つを対象領域として、要求されたオブジェクトに係る処理を実行するか否かを、当該オブジェクトの順序キーと前記対象領域に含まれる部分空間との順序関係に基づいて判断し、実行すると判断した場合に、前記要求されたオブジェクトに係る処理を実行することを特徴としている。

0009

ここで前記部分空間の各々との順序関係を定義可能な順序キーと、当該順序キーを含む識別情報とに関連づけられて、その対象領域が設定され、前記要求されたオブジェクトに係る処理を実行するか否かを、当該オブジェクトの順序キーと前記対象領域に含まれる部分空間との順序関係に基づいて判断することとしてもよい。また、前記部分空間の順序は、Z順序によって規定されてもよい。

0010

さらに当該オブジェクト管理装置が、前記部分空間の各々との順序関係を定義可能な順序キーに関連づけられ、オブジェクトに係る処理を実行するか否かを判断する際に、当該関連づけられた順序キーに基づいて特定される対象領域内のオブジェクトであるか否かによって判断を行なっており、前記特定される対象領域を、連続したNセットの部分空間セットに分割し、当該分割に係る部分空間セットのいずれかを当該オブジェクト管理装置の対象領域とし、他のN−1個の部分空間セットの各々については、他のオブジェクト管理装置の対象領域とすることとしてもよい。

0011

また、前記部分空間の各々との順序関係を定義可能な順序キーと、当該順序キーを含む識別情報とに関連づけられて、その対象領域が設定され、前記オブジェクトに係る処理として、専らオブジェクト間のメッセージ配送処理を行い、前記識別情報が、メッセージの配送処理以外の処理を行うオブジェクト管理装置とに対する識別情報とは区別可能な識別情報として設定され、メッセージの配送処理以外の処理を行うオブジェクト管理装置のいずれかを同順オブジェクト管理装置として、当該同順オブジェクト管理装置と一致する順序キーに関連づけられており、指定されたオブジェクトに係るメッセージ配送処理が要求されたときに、当該指定されたオブジェクトの順序キーと前記対象領域に含まれる部分空間との順序関係に基づいて、当該指定されたオブジェクトへメッセージを配送するか否かを判断し、配送すると判断したときには、前記同順オブジェクト管理装置に対してメッセージの配送を要求し、配送しないと判断したときに、前記同順オブジェクト管理装置とは異なる他のオブジェクト管理装置に対してメッセージの配送を要求することとしてもよい。

0012

さらに本発明の別の態様は、順序が規定された複数の部分空間に分割されている仮想空間内での位置を表す位置情報に関連づけられたオブジェクトの少なくとも一部を管理の対象として、管理の対象となったオブジェクトに係る処理を実行するオブジェクト管理装置を用いて、前記管理の対象の候補となるオブジェクトに、前記部分空間の各々との順序関係を定義可能な順序キーが関連づけられ、前記オブジェクト管理装置に、前記部分空間の少なくとも一つを対象領域として、要求されたオブジェクトに係る処理を実行するか否かを、当該オブジェクトの順序キーと前記対象領域に含まれる部分空間との順序関係に基づいて判断させ、実行すると判断した場合に、前記要求されたオブジェクトに係る処理を実行させることを特徴としている。

0013

さらに本発明の別の態様は、コンピュータに、順序が規定された複数の部分空間に分割されている仮想空間内での位置を表す位置情報に関連づけられたオブジェクトの少なくとも一部を管理の対象として、管理の対象となったオブジェクトに係る処理を実行させるプログラムであって、前記部分空間の各々との順序関係を定義可能な順序キーが関連づけられた、前記管理の対象の候補となるオブジェクトに関する情報を取得する手順と、前記部分空間の少なくとも一つを対象領域として、要求されたオブジェクトに係る処理を実行するか否かを、当該オブジェクトの順序キーと前記対象領域に含まれる部分空間との順序関係に基づいて判断させ、実行すると判断した場合に、前記要求されたオブジェクトに係る処理を実行する手順と、を実行させることを特徴としている。

発明を実施するための最良の形態

0014

本発明の実施の形態について図面を参照しながら説明する。本発明の実施の形態に係るオブジェクト管理システムは、図1に示すように、複数のコンピュータ装置10a,b…を含んで構成されている。これら複数のコンピュータ装置10は互いにネットワークを介して、通信可能に接続されている。また、これらのコンピュータ装置10はそれぞれ、制御部21、記憶部22、及び通信部23を含んで構成される。なお、ユーザが実際に操作を行うコンピュータ装置10では、このほか、ゲームコントローラや、マウスキーボードなどの操作部と、ディスプレイなどの表示部を備えて構成されていてもよい(図1)。この場合、ユーザの操作を受け入れた操作部は、その内容を制御部21に伝達し、表示部は、制御部21からの指示に従って、画像や文字などを表示することとなる。

0015

ここで制御部21は、CPU等のプログラム制御デバイスであり、記憶部22に格納されているプログラムに従って動作する。本実施の形態では、コンピュータ装置10がオブジェクトを仮想空間内に配置するよう要求し、当該オブジェクトに関する処理を要求する側(クライアント側)装置として動作するか、オブジェクトに関する処理を行う側の装置(オブジェクト管理装置)として動作するかによって、この制御部21の行う処理の内容は異なる。この制御部21の動作の具体例については後に詳しく述べる。

0016

記憶部22は、RAMやROMなどのメモリ素子や、ハードディスク等を含んで構成されている。この記憶部22は、制御部21によって実行されるプログラムを格納するコンピュータ可読な記録媒体として動作する。また、この記憶部22は、制御部21の動作に必要となる種々のデータを保持するワークメモリとしても動作する。

0017

通信部23は、ネットワークインタフェース等であり、制御部21から入力される指示に従って、種々のデータをネットワークを介して他のコンピュータ装置10に送出する。また、この通信部23は、他のコンピュータ装置10からネットワークを介して受信するデータを制御部21に出力する。

0018

このオブジェクト管理システムでは、仮想空間に係る情報がオブジェクト管理装置として動作するコンピュータ装置10によって提供される。例えば、図2に示すような平面空間(X,Y座標軸で張られた空間)内での、少なくとも一つのオブジェクトの配置位置に関する情報が各コンピュータ装置10によって共有される。

0019

また、各オブジェクトにはオブジェクトを識別するためにオブジェクトに固有に設定されるID情報(識別子)が関連づけられる。さらに、各オブジェクトには属性情報が関連づけられていてもよい。これらID情報や属性情報もまた、各コンピュータ装置10によって共有される。属性情報としては例えば、オブジェクトの種類を表す情報や、外見を規定する情報、その他、オブジェクトの種類に応じた種々の情報がある。ここでオブジェクトの種類に応じた情報としては、例えばゲームのプレイヤオブジェクトであれば、持ち物インベントリー)の情報などがある。

0020

[オブジェクト管理装置]
本実施の形態においては、これらコンピュータ装置10のうち少なくとも一つがオブジェクト管理装置として動作する。このオブジェクト管理装置として動作するコンピュータ装置10の制御部21は、図3に示すように、機能的には、仮想空間管理部31と、処理実行部32と、仮想空間分割処理部33とを含んで構成される。

0021

仮想空間管理部31は、仮想空間を順序を規定した部分空間領域に分割して管理する。仮想空間管理部31は、例えば図2に示したように、仮想空間全体を4×4のマトリクスに分割して、Z順序(Z-Ordering、 Shashi Shekhar and Sanjay Chawla, Spatial Databases, Prentice Hall 2003を参照)で番号を割り当てる。ここでZ順序は、図4に示すような2×2のマトリクスにおいて、左下を「0」、右下を「1」、左上を「2」、右上を「3」とする順序である。4×4のマトリクスの場合、4×4のマトリクスを4つの2×2のマトリクスに分けて、その各2×2マトリクスの部分空間領域の下一桁の順序値を上記方法で定める。次に、各2×2マトリクスを一つのブロックとして、当該ブロックが2×2に配列されていることから、各ブロックに含まれる部分空間領域の順序値の下から2桁目の値を、上記方法で定める。すると、左上の部分空間領域の順序値は、「22」であり、以下、順次右に隣接する部分空間領域の順序値は、「23」、「32」、「33」となる(図2参照)。

0022

なお、対象となる仮想空間が3次元である場合には、ある平面に射影した座標対象空間として扱うことができる。

0023

また、例えば、ユーザのチャットを扱う仮想空間では、あらかじめ蓄積されたチャットで使用された単語のデータベースに基づいて、数量化III類などの方法により2次元空間に写像し、各ユーザのチャットの内容に基づいて2次元空間上の位置に変換することで対象空間として扱うことができる。

0024

本実施の形態のオブジェクト管理装置は、仮想空間内に配置されたオブジェクトの少なくとも一部を管理の対象として、管理の対象となったオブジェクトに係る情報を記憶部22内にデータベースとして保持するとともに、当該オブジェクトに関する処理を実行する。以下の説明では、オブジェクトに関する処理の一例として、オブジェクト間でのメッセージ交換の処理を行うものとする。

0025

本実施形態の特徴的なことの一つは、各オブジェクト管理装置の識別情報の少なくとも一部が、該オブジェクト管理装置が処理の対象領域とする任意の大きさの部空間領域の順序値に基づいて割り当てられ、各オブジェクト管理装置は、自身の順序値と各部分空間領域の順序値との順序関係に基づいて、対象領域を定めることである。ここで順序関係とは、例えば順序値を数値とすれば、大小関係であり、また例えば順序値が次の順序へのリンク等によって定められていれば当該リンクにより定まる順序である。ここでは簡単のため順序値は数値であるとしているので、各オブジェクト管理装置は、自身の順序値から次の大きさの値を持つオブジェクト管理装置の順序値までの部分領域の集合(セット)を、対象領域として管理することになる。

0026

オブジェクト管理装置は、例えば、各オブジェクトについて、オブジェクトを識別するID情報と、オブジェクトの配置位置を表す座標情報と、属性情報と、配置要求を行ったクライアント側装置を特定する情報(例えばそのコンピュータ装置10のネットワークアドレス)とを関連づけて、オブジェクトデータベースとして記憶部22に格納し(図5)、オブジェクトを管理する。

0027

また、クライアント装置や、オブジェクト管理装置は、部分領域の順序値を宛先としてメッセージを送信してもよい。このメッセージは、宛先となった順序値に対応する部分領域を管理する(対象領域に含む)オブジェクト管理装置に配送されるよう、配送制御が行なわれる。

0028

例えば、順序値「00」であらわされるオブジェクト管理装置と、順序値「10」であらわされるオブジェクト管理装置がネットワーク上に存在した場合には、オブジェクト管理装置「00」は、部分領域「00」「01」「02」「03」を管理し、オブジェクト管理装置「10」は、部分領域「10」「11」「12」「13」「20」「21」「22」「23」「30」「31」「32」「33」を管理し、順序値「11」を宛先としたメッセージは、オブジェクト管理装置「10」に配送される。つまり、オブジェクト管理装置は、オブジェクトの順序値と、自己の対象領域に含まれる部分空間領域に割り当てた順序値との順序関係に基づいて、オブジェクトに係る処理を実行するか否かを判断している。

0029

またオブジェクト管理装置が複数になった場合には、オブジェクト管理装置間でメッセージをルーティングして転送する必要があるので、オブジェクト管理装置として動作するコンピュータ装置10は、そのためのルーティングテーブルを保持することになる。このルーティングテーブルも、順序値との関係で設定が行われる。このルーティングテーブルの内容例や、それを用いた処理例については、後に述べる。

0030

処理実行部32は、クライアント側装置から受信した要求に応じた処理を実行する。例えば、この処理実行部32は、オブジェクトの配置要求に応じて、仮想空間内にオブジェクトを配置する処理を行なう。また、この処理実行部32は、あるオブジェクトを注目オブジェクトとして、当該注目オブジェクトの周囲のオブジェクトを検索する処理や、オブジェクト間の衝突判定を行う処理を実行する。これらの処理の例については、後に述べる。

0031

仮想空間分割処理部33は、処理負荷に関する情報を所定のタイミングごとに(例えば一定の時間ごとに定期的に)取得する。そして当該処理負荷に関する情報が、所定の処理負荷を越えることを表すものとなったときに、クライアント側装置の一つに対して、オブジェクト管理装置として動作をするよう要求する処理(仮想空間分割処理)を実行する。

0032

ここで処理負荷に関する情報としては例えば、管理の対象となっているオブジェクトの数であってもよい。オブジェクトの数による場合、管理の対象となっているオブジェクトの数が、予め定めたしきい値を越えたときに、仮想空間分割処理を実行することとなる。この仮想空間分割処理についても後に述べる。

0033

[クライアント側装置]
一方、クライアント側装置として動作するコンピュータ装置10の制御部21は、機能的には、図6に示すように、オブジェクト配置要求部41と、オブジェクト処理部42と、転換部43と、を含んで構成される。また、このクライアント側装置として動作するコンピュータ装置10の記憶部22には、少なくとも一つのネットワーク上のオブジェクト管理装置のアドレスの値が格納されている。

0034

オブジェクト配置要求部41は、オブジェクト管理装置に対して、オブジェクトの配置要求を行って仮想空間内にオブジェクトを配置させる。クライアント側装置は、仮想空間領域内でのオブジェクトの位置(座標情報)に基づき、オブジェクトが存在する部分領域の順序値を算出する。そしてオブジェクトの仮想空間の位置から算出された順序値を宛先として、オブジェクト管理装置への配置要求を送信する。

0035

また、このオブジェクト配置要求部41は、オブジェクトが仮想空間内を移動するなどして、配置位置が変化した場合、すなわち仮想空間内の位置から算出される順序値が変化した場合には、移動前の以前の順序値を宛先としてオブジェクトの移動通知を行い、移動後の新たな順序値を宛先としてオブジェクトの配置要求を行う。

0036

オブジェクト処理部42は、例えば利用者の指示によって、配置したオブジェクトからのメッセージとして、オブジェクトの周囲に存在する他のオブジェクトを検索するべき旨の指示を受けて、当該指示に基づいて、その要求元のオブジェクトの存在する部分領域の順序値と、当該順序値の部分領域に隣接する部分領域の順序値とを演算して、当該演算によって得た各順序値を宛先として、当該部分領域内に存在するオブジェクトの一覧を要求するメッセージを送信するなど、オブジェクトに関する処理を実行する。

0037

転換部43は、オブジェクト管理装置として動作するべき旨の要求を受信して、オブジェクト管理装置としての処理を起動する。この結果、コンピュータ装置10は、クライアント側装置としての処理と併せて、オブジェクト管理装置としての処理の実行を開始する。

0038

なお、ここまでの説明において、宛先としては、順序値だけでなく、所定の方法で定められる識別キーを併せて利用することとしてもよい。識別キーを利用することで、後述するメッセージ配送において、特定のオブジェクト管理装置(あるいは後述のメッセージ転送装置)にメッセージが集中することを防ぐことが可能になる。この識別キーには、オブジェクトの情報から生成される識別キーを用いてもよく、あるいは、オブジェクトの配置要求を行なったクライアントの識別キーを用いてもよい。

0039

以下、本実施の形態のシステムの動作について、実際の動作例を用いて説明をする。ここではオブジェクトが配置される仮想空間は、図2に示したように4×4の部分空間領域に分割され、図2に示したように順序値が割り当てられているものとする。なお、ここではメッセージの配送要求は、オブジェクト管理装置に割り当てられている識別情報を宛先として行う。つまり、オブジェクト管理装置は、それぞれに割り当てられている識別情報宛てのメッセージが到来したときに、当該到来したメッセージを受信する。また、クライアント側装置には、少なくとも一つのネットワーク上のオブジェクト管理装置のアドレスの値が予め設定されている。

0040

処理開始の時点では、オブジェクト管理装置として動作するコンピュータ装置10は、一つで構わない。この場合、当該オブジェクト管理装置は、すべての部分空間領域のオブジェクトを管理することとなる。ここではオブジェクト管理装置の識別情報としては、オブジェクト管理装置が管理する部分空間領域の順序値のうち、最小の順序値を関連づけておくものとする。つまり、当初、すべての部分空間領域のオブジェクトを管理するオブジェクト管理装置には、識別情報の順序キーとして順序値「00」が割り当てられる。また、識別キーとして順序値とは関わりのない固有の値を発行して割り当てる。ここでは識別キーとして「00」が割り当てられるものとする。この識別キーはオブジェクト管理装置のネットワークの位置情報(例えば、IPアドレス)に基づいて生成することもできる。このようにすると、後述するルーティングテーブル作成時に識別キーを利用することでネットワーク距離に基づいたメッセージ配送の最適化が可能となる。以下、識別情報を、順序値と識別キーとをこの順でコロン(:)によって区切って、「00:00」と記述することとする。

0041

以下、このオブジェクト管理装置は、クライアント側装置として動作するコンピュータ装置10からのオブジェクト配置要求や、オブジェクトの周囲のオブジェクトを検索する処理や、オブジェクト間の衝突判定を行う処理を実行する。

0042

クライアント側装置は、オブジェクトの仮想空間の位置から算出された順序値を宛先として、任意のオブジェクト管理装置に配置要求を送信する。既に述べたように、ここでの宛先の情報としては、順序値だけでなく識別キーを含む。すなわち、クライアント側装置は、予め保持している任意のオブジェクト管理装置のアドレスを送信先として、宛先としての識別情報を含むオブジェクトの配置要求を送信することとなる。そして、この要求を受け取ったオブジェクト管理装置は、配置要求に含まれる宛先に基づいて配置要求を処理すべきオブジェクト管理装置を判断し、該当するオブジェクト管理装置に転送する。なお、オブジェクト管理装置は、宛先が自己を示すと判断した場合、自己で配置要求を処理することとなる。

0043

この時点では、オブジェクト管理装置は一つだけなので、識別情報「00」の順序値のオブジェクト管理装置が当該配置要求に応答する。配置要求を行う時点では、クライアント側装置は、当該配置要求にかかわるオブジェクトの管理を行うオブジェクト管理装置を識別できない。しかし、配置すべき仮想空間情報から算出された順序値を用いることで、後述するルーティングテーブルに基づいたメッセージ配送方法に従い、当該オブジェクトが存在する領域を管理するオブジェクト管理装置にメッセージが配送される。

0044

また、オブジェクト管理装置は、オブジェクトのID情報と、配置位置を表す座標情報と、属性情報と、配置要求を行ったクライアント側装置を特定する情報(例えばそのコンピュータ装置10のネットワークアドレス)とを関連づけて、オブジェクトデータベースとして記憶部22に格納する(図5)。

0045

こうして、例えば図7に示すように、順序値「03」に対応するオブジェクトα、β、及びγ、順序値「12」に対応するオブジェクトθ、順序値「30」に対応するオブジェクトδが配置され、順序値「00」をもつオブジェクト管理装置Aがオブジェクトα、β、γを管理し、順序値「12」をもつオブジェクト管理装置Dがオブジェクトθを管理し、順序値「22」をもつオブジェクト管理装置Cがオブジェクトδを管理することとなる。

0046

次にここで、オブジェクトθが、図7に示すように、オブジェクトθの近辺として、オブジェクトθの位置から一定の距離r内の領域(図7において破線の円で示された領域X)にいるオブジェクトとのメッセージ交換を要求する場合、オブジェクトθの配置要求をしたクライアント側装置では、上記領域Xを含む部分領域の順序値「03」、「12」、「21」、「30」を算出する。そして予め格納されているオブジェクト管理装置のアドレスに対して、領域X内にあるオブジェクトの情報を要求するメッセージを送信する。ここでは、オブジェクト管理装置Aがメッセージを受信し、各順序値に対応するオブジェクト管理装置に対してメッセージが配送される。

0047

ここではメッセージは、順序値「03」の部分領域についてはオブジェクト管理装置A自身へ、順序値「12」,「21」の部分領域についてはオブジェクト管理装置Dへ、「30」の部分領域についてはオブジェクト管理装置Cへそれぞれ配送される。それぞれのオブジェクト管理装置A,C,Dは、受信したメッセージに基づいて、該当領域にいるオブジェクトを自身のデータベースから検索し、該当するオブジェクトの情報(例えばオブジェクトのID情報や配置位置の情報等)を要求元のクライアント装置へ送信する。クライアント装置では、この送信された情報をオブジェクトθに通知する。

0048

これにより、3次元仮想空間アプリケーションにおける、いわゆるインタレストマネージメント処理を実現できる。これによりオブジェクトθがユーザオブジェクトである場合には、その視界を描画するために、その視界にあるオブジェクトの情報を取得することができる。また、チャットアプリケーションでは、ユーザが入力した現在のチャット内容に近い他のユーザを探すことができる。

0049

また、仮想空間内でのオブジェクトの衝突判定を行いたい場合には、各オブジェクト管理装置において、各オブジェクト管理装置のデータベースに登録されているオブジェクトの位置情報から衝突判定を行い、衝突が発生している場合には、各オブジェクトに衝突通知を行う。

0050

さらに、例えばオブジェクトθが、順序値「12」の部分領域から、順序値「03」の部分領域へ移動する場合、当該オブジェクトθを管理するクライアント側装置では、移動前の順序値「12」を宛先としてオブジェクトθの移動通知を送信する(図8のS11)。この移動通知は、順序値「12」の部分領域を管理するオブジェクト管理装置Dによって受信される。オブジェクト管理装置Dでは、オブジェクトθの移動通知を受けて、データベースを参照し、オブジェクトθに関するエントリーを削除する(S12)。

0051

また、クライアント側装置は、移動後の順序値「03」を宛先としてオブジェクトθの配置要求を行なう(S13)。この配置要求は、順序値「03」の部分領域を管理するオブジェクト管理装置Aによって受信される。オブジェクト管理装置Aでは、オブジェクトθの配置要求を受けて、データベースに、オブジェクトθに関するエントリーを追記する(S14)。これにより、オブジェクトの移動が実現される。なお、移動通知と配置要求の順序は、どちらを先としてもよい。

0052

[仮想空間分割処理]
ここで、オブジェクト管理装置における仮想空間分割処理について述べる。仮想空間分割処理は、次のようにして行われる。オブジェクト管理装置は、現在(仮想空間分割処理の開始時点で)管理しているオブジェクトを、配置位置の順に並べ替える。この並べ替えの結果は、模式的には、図9に示すように、数直線上にオブジェクトを配列する処理に相当する。オブジェクト管理装置は、現在管理している部分空間領域の順序値を小さいものから大きいものへと昇順に並べ替えた数直線上で、各部分空間領域に所在しているオブジェクトを配置する。そして、この数直線上、つまり、現在管理している部分空間領域の順序値の小さいものから順に、昇順に、注目領域として選択しつつ、注目領域に属しているオブジェクトの数を累算する。そして、オブジェクトの総数Nに対して、この累算値がN/2を越えた時点での注目領域の順序値を分割ポイントとして取得する。

0053

具体例として図9に示す場合、仮想空間分割処理の開始時点で管理しているオブジェクトの総数が12であるとする。この場合、累算値が12/2=6を越える順序値を探索することになる。この例では、部分空間領域の順序値「00」から昇順に、順序値「03」に関連づけられた部分空間領域までオブジェクトの数を累算したときに「6」を越えるので、順序値「03」が分割ポイントとなる。

0054

オブジェクト管理装置は、分割ポイントよりも順序値の大きい部分空間領域に属しているオブジェクトの配置要求を行なったクライアント装置としてのコンピュータ装置10の一つに対して、オブジェクト管理装置として動作するよう要求する。ここでオブジェクト管理装置となるよう要求する相手となるコンピュータ装置10の選択は、例えば、分割ポイントよりも順序値の大きい部分空間領域に属しているオブジェクトに係るクライアント装置としてのコンピュータ装置10のすべてに対してオブジェクト管理装置となるよう要求し、最も早く応答したコンピュータ装置10を選択することで行ってもよいし、分割ポイントよりも順序値の大きい部分空間領域に属しているオブジェクトのうち、順序値が最も小さい部分空間に属しているオブジェクト(それが複数あれば、例えば配置位置が所定の原点に最も近いもの)の配置要求を行なったクライアント装置としてのコンピュータ装置10を選択することで行ってもよい。

0055

このとき、オブジェクト管理装置となるべき旨の要求には、新たなオブジェクト管理装置に割り当てられるべき順序値の情報を含む。ここで新たなオブジェクト管理装置に割り当てられるべき順序値は、オブジェクト管理装置となるべき旨の要求を行ったオブジェクト管理装置が管理していた部分空間領域に割り当てられている順序値のうち、分割ポイントの順序値を超える最小の順序値に基づいて(例えば当該順序値そのものに)定める。

0056

ここでの例では、分割ポイントの順序値が「03」であり、識別情報に含まれる順序キーが順序値「00」であるオブジェクト管理装置の対象領域に含まれる部分空間領域の順序値のうち、この順序値「03」を超える最小の順序値が「10」であるので、新たなオブジェクト管理装置に割り当てられるべき順序キーは「10」となる。

0057

各オブジェクト管理装置は、オブジェクト管理装置に割り当てられている順序値以上の順序値に対応する部分空間領域であって、他のオブジェクト管理装置によって管理されていない部分空間領域を管理対象とする。つまり、順序値「00」のオブジェクト管理装置は、「00」、「01」、「02」、「03」の4つの部分空間からなる部分空間セットAを対象領域とし、この対象領域内のオブジェクトを管理の対象とし、新たな順序キー「10」のオブジェクト管理装置は、「10」以上の順序値に関連づけられている12の部分空間領域からなる部分空間セットBを対象領域とし、当該対象領域内のオブジェクトを管理対象とする(図10(a),(b))。

0058

これにより、各オブジェクト管理装置は、6ずつのオブジェクトに係る処理を行うようになり、各オブジェクト管理装置の処理負荷が軽減される。また、互いに異なるオブジェクト管理装置によって管理されるオブジェクト間のメッセージの送受を実現するため、各オブジェクト管理装置は、メッセージの配送先を特定するためのルーティングテーブルを設定して保持する。

0059

以下、例えば、負荷増大に伴う分割ポイントとして順序値「21」が決定されると、順序値「22」以上の部分空間領域内Cのオブジェクトを管理するオブジェクト管理装置が設定され(図10(c))、さらにその後、分割ポイントとして順序値「11」が決定されると、「12」から「21」までの部分空間領域内Dのオブジェクトを管理するオブジェクト管理装置が設定される(図10(d))。こうして、当初のオブジェクト管理装置の対象領域が、連続した2つの部分空間セットに分割され、そのうちの一つが当初のオブジェクト管理装置の対象領域となり、他方が他の(新たな)オブジェクト管理装置の対象領域となる。

0060

なお、ここでは対象領域を連続する2つの部分空間セットに分割する例について述べたが、分割ポイントを複数設定して、N個の部分空間セットに分割してもよい。この場合は、(N−1)個の新たなオブジェクト管理装置に各部分空間セットが割り当てられる。

0061

[ルーティングテーブルの設定]
ここでルーティングテーブルの設定例について、順序キー「10」のオブジェクト管理装置を設定した時点での処理を例として説明する。ルーティングテーブルは、各オブジェクト管理装置に割り当てられた順序値と識別キーとを用いて設定される。すなわち、例えば順序キー「X」のオブジェクト管理装置のルーティングテーブルにおいては、この順序値に前方一致上位桁側が一致)する順序値のうち、最長一致する順序値が割り当てられている他のオブジェクト管理装置であって、識別情報(順序値と識別キーとを組とした値)同士の差が最も小さいオブジェクト管理装置へメッセージを配送することを定める。

0062

上述のように、順序値「00」のオブジェクト管理装置と、順序値「10」のオブジェクト管理装置とがある場合、それぞれに設定されるルーティングテーブルは、図11(a),(b)に示すようなものようになる。ここでのルーティングテーブルは、縦軸方向に、前方一致する桁数を表し、横軸方向に一致しない最初の桁の数値を表したテーブルとする。従って、順序値「00」のオブジェクト管理装置に設定されるルーティングテーブルは、前方一致する桁数が「0」、一致しない値が「1」である欄に、順序値「10」のオブジェクト管理装置を特定する情報(識別情報)が設定されたものとなる。

0063

また、順序キー「10」のオブジェクト管理装置に設定されるルーティングテーブルは、前方一致する桁数が「0」、一致しない値が「0」である欄に、順序キー「00」のオブジェクト管理装置を特定する情報(識別情報)が設定されたものとなる。

0064

各オブジェクト管理装置は、メッセージの配送が要求されたときに、当該要求に係るメッセージの宛先より小さい順序キーに関連するオブジェクト管理装置のうち、順序キーが最大の値となっているオブジェクト管理装置に対してメッセージを配送する。すなわち、メッセージの配送要求を受けたオブジェクト管理装置は、当該オブジェクト管理装置の順序キーK0と、ルーティングテーブルに設定されている他のオブジェクト管理装置の順序キーK1,…Knとを取得する。そして、取得した順序キーK0,K1…Knと、要求に係るメッセージの宛先の順序キーKmとを比較し、Ki<Kmである順序キーを選択する。さらに、選択した順序キーのうち、最大の値である順序キーKmaxを選択して、当該選択した順序キーKmaxがK0、つまりメッセージの配送要求を受けたオブジェクト管理装置自身に割り当てられている順序キーに等しいか否かを調べる。ここで、Kmax=K0であれば、オブジェクト管理装置は、当該配送要求に係るメッセージを指定された宛先のオブジェクトに関連づけて記憶している、コンピュータ装置10を特定する情報を取得し、当該取得した情報で特定されるコンピュータ装置10へ、メッセージを送信する。

0065

また、KmaxとK0とが等しくなければ、順序キーKmaxに対応するオブジェクト管理装置として動作しているコンピュータ装置10を特定する情報を取得し、当該取得した情報で特定されるコンピュータ装置10へ、配送要求とともに、メッセージを送信する。

0066

また、この図11に示した例において、仮想空間分割処理によって順序値「11」に新たなオブジェクト管理装置が設定されると、これに伴って図12(a)から(c)に示すように、ルーティングテーブルが変更される。

0067

すなわち、順序値「00」のオブジェクト管理装置に設定されるルーティングテーブルは、前方一致する桁数が「0」、一致しない値が「1」である欄に、順序値「10」のオブジェクト管理装置を特定する情報が設定され、同じく前方一致する桁数が「0」、不一致の値が「1」である欄に順序値「11」のオブジェクト管理装置を特定する情報が設定される(図12(a))ようになる。

0068

また、順序値「10」のオブジェクト管理装置に設定されるルーティングテーブルは、前方一致する桁数が「0」、一致しない値が「0」である欄に、順序値「00」のオブジェクト管理装置を特定する情報(識別情報)が設定され、さらに、前方一致する桁数が「1」、一致しない値が「1」である欄に順序値「11」のオブジェクト管理装置を特定する情報が設定される(図12(b))ようになる。

0069

さらに、順序値「11」のオブジェクト管理装置に設定されるルーティングテーブルは、前方一致する桁数が「0」、一致しない値が「0」である欄に、順序値「00」のオブジェクト管理装置を特定する情報(識別情報)が設定され、さらに、前方一致する桁数が「1」、一致しない値が「0」である欄に順序値「10」のオブジェクト管理装置を特定する情報が設定される(図12(c))ようになる。

0070

[メッセージ転送装置]
なお、ここまでの説明では、オブジェクト管理装置が、メッセージの転送を実行する例について説明したが、オブジェクト管理装置は、メッセージの転送だけでなく、管理の対象となっているオブジェクトに係るクライアント側装置からの要求を受けて、オブジェクトの配置位置の変更(すなわちオブジェクトの移動)や、オブジェクトの取得(オブジェクトの消去と属性情報の変更)など、種々の処理を行っており、ゲームやチャットの内容によっては、その処理負荷が高くなる場合もある。

0071

そこで専らメッセージの転送を行うコンピュータ装置10(メッセージ転送装置)を、オブジェクト管理装置とは別に、仮想空間内に設定してもよい。

0072

このメッセージ転送装置は、オブジェクト管理装置と略同様のものであるが、専らメッセージの転送に関する処理を実行するものであり、機能的には、図13に示すように、処理実行部51を含んで構成され、ルーティングテーブルを用いたメッセージの転送処理を実行する。

0073

このメッセージ転送装置もまたオブジェクト管理装置と同様に、仮想空間内のいずれかの部分空間領域の順序値に関連づけられている。つまり、当該関連づけられた順序値の部分空間領域を管理するオブジェクト管理装置が、メッセージ転送装置となったコンピュータ装置10を特定する情報と、順序値とを関連づけて記憶している。

0074

また、メッセージ転送装置となったコンピュータ装置10も、自己に割り当てられている順序値を記憶している。そしてメッセージ転送装置にも、ルーティングテーブルが設定され、このルーティングテーブルを参照して、メッセージの配送処理を行う。ここでのルーティングテーブルには、オブジェクト管理装置の識別情報の代りに、メッセージ転送装置の識別情報が含められる。

0075

一方で、このメッセージ転送装置は、オブジェクトの移動や、消去、属性情報の変更などといったメッセージ転送以外の処理は行わない。

0076

また、このメッセージ転送装置は、オブジェクト管理装置とペアとなって動作してもよい。このようにペアとなって動作する場合は、仮想空間内に配置されたオブジェクト管理装置の各々について、同一の順序値を識別情報に含むメッセージ転送装置が少なくとも一つ設定される。

0077

この場合も、各メッセージ転送装置は、メッセージの配送が要求されたときに、当該要求に係るメッセージの宛先より小さい順序値に関連するメッセージ転送装置のうち、順序値が最大の値となっているメッセージ転送装置に対してメッセージを配送する。すなわち、メッセージの配送要求を受けたメッセージ転送装置は、当該メッセージ転送装置の順序値K0と、ルーティングテーブルに設定されている他のメッセージ転送装置の順序値K1,…Knとを取得する。そして、取得した順序値K0,K1…Knと、要求に係るメッセージの宛先の順序値Kmとを比較し、Ki<Kmである順序値を選択する。さらに、選択した順序値のうち、最大の値である順序値Kmaxを選択して、当該選択した順序値KmaxがK0、つまりメッセージの配送要求を受けたメッセージ転送装置自身に割り当てられている順序値に等しいか否かを調べる。ここで、Kmax=K0であれば、メッセージ転送装置は、順序値が共通している(同じ順序値を識別情報に含む)オブジェクト管理装置(同順オブジェクト管理装置)に、メッセージを転送する。そして当該転送を受けたオブジェクト管理装置が、当該配送要求に係るメッセージを指定された宛先のオブジェクトに関連づけて記憶している、コンピュータ装置10を特定する情報を取得し、当該取得した情報で特定されるコンピュータ装置10へ、メッセージを送信する。

0078

また、メッセージ転送装置は、上記の判断においてKmaxとK0とが等しくなければ、ルーティングテーブルの設定に従い、配送要求に係るメッセージの宛先に含まれる順序値に前方一致する順序値のうち、最長一致する順序値が割り当てられている他のメッセージ転送装置であって、識別情報(順序値と識別キーとを組とした値)同士の差が最も小さいメッセージ転送装置へメッセージを配送する。また、識別キーを用いないで、順序値のみで識別情報を構成することもできる。この場合には、例えば、メッセージテーブルにおいて、メッセージ転送装置あるいはオブジェクト管理装置とのネットワーク距離が最小となるもののみをルーティングテーブルに登録し、順序値に基づく処理でメッセージの配送を行う。

0079

例えば、図14に示すように、順序値「10」に対応する領域に、オブジェクト管理装置(識別情報10:00)と、2つのメッセージ転送装置(識別情報10:11と、10:22と)が設定されている場合であって、識別情報10:12のオブジェクト宛のメッセージが、他の順序値に係るメッセージ転送装置に送信された場合(S21)、当該メッセージは、メッセージ転送装置10:11に転送され(S22)、さらにオブジェクト管理装置10:00へ送信される(S23)。そして、オブジェクト管理装置が識別情報10:12のオブジェクトに係るコンピュータ装置10へとメッセージを送信する(S24)。

0080

このようにメッセージ転送装置を用いると、管理対象外のオブジェクトへのメッセージ転送がメッセージ転送装置によって行われることとなって、オブジェクト管理装置は管理対象のオブジェクトに係るメッセージを取り扱うだけで済む。これによりオブジェクト管理装置の処理負荷をより軽減できる。

0081

なお、図14では、Z順序の順序空間を表す数直線の端部同士を結合して無端状(ループ状)に図示している。

0082

このようにメッセージ転送装置が設定される場合において、オブジェクト管理装置が、仮想空間分割処理を行うにあたり、新たなオブジェクト管理装置を設定する場合は、メッセージ転送装置の一つに対してオブジェクト管理装置となるよう要求することとしてもよい。

0083

この際、仮想空間分割処理を行うオブジェクト管理装置は、同じ順序値に関連づけられている複数のメッセージ転送装置があるか否か(複数のメッセージ転送装置が設定されている部分空間領域があるか否か)を調べ、同じ順序値に関連づけられている複数のメッセージ転送装置がある場合に、当該複数のメッセージ転送装置のいずれか一つに対してオブジェクト管理装置となるよう要求する。これにより、メッセージ転送装置の設定のない部分空間領域ができないようにする。すなわちこの場合は、メッセージ転送装置の識別情報に含まれる順序値とは異なる順序値に関連づけられたオブジェクト管理装置となるよう指示してもよい。

0084

この要求を受けたメッセージ転送装置(コンピュータ装置10)は、まず、要求を受けた時点での位置から退去する旨の通知を、オブジェクト管理装置に対して送信する。オブジェクト管理装置は、この通知を受けて、当該要求元となったメッセージ転送装置を仮想空間から除去する(識別情報を削除する)。次に、メッセージ転送装置として動作していたコンピュータ装置10は、要求に含まれていた順序値に対応する順序値の位置にオブジェクト管理装置として配置するべき旨の要求を、当該順序値に対応する順序値の領域を管理しているオブジェクト管理装置(オブジェクト管理装置となるべき旨の要求の送信元であるオブジェクト管理装置)に送信する。そして、これらのオブジェクト管理装置が、分割された各部分空間領域を、それぞれ管理するようになる。

0085

また、仮想空間分割処理を行うオブジェクト管理装置は、分割ポイントが属している部分空間領域(例えば図10(b)の状態にあるとき、分割ポイント「21」は順序値「10」以上の領域に属している)に、複数のメッセージ転送装置が設定され、かつ、当該複数のメッセージ転送装置の一部が分割ポイントとなった順序値未満(又は以下)の順序値に関連づけられ、他の一部が分割ポイントとなった順序値以上の(又は順序値より大きい)順序値に関連づけられていることを条件として、つまり、分割ポイントで分割した後の各部分空間領域にそれぞれ少なくとも一つのメッセージ転送装置が設定されることとなることを条件として、仮想空間分割処理を実行することとしてもよい。そして、この条件が満足されない場合は、オブジェクト管理装置は、仮想空間分割処理を中断してもよい。

0086

なお、メッセージ転送装置や、オブジェクト管理装置として動作するコンピュータ装置10が、当該動作を停止したか、ネットワークから接続を解除した場合は、一部の部分空間領域にメッセージが到達しなくなる。そこで、各コンピュータ装置10は、メッセージを受信したときには、その旨(ACK)を、メッセージの送信元へ返信するものとし、メッセージの送信後、所定の時間(タイムアウト)までにACKが受信されない場合は、再度メッセージの送信を行い、この再度の送信後、タイムアウトまでにACKが受信されない場合は、ルーティング情報更新するべき旨の要求を、各オブジェクト管理装置へ一斉に(またはネットワーク上の各コンピュータ装置10へ一斉に)送信するようにしてもよい。各オブジェクト管理装置では、そのうちの一つが初期的に識別情報「00:00」となって、仮想空間全体を管理することとなり、以降、仮想空間分割処理を順次実行しつつ、ルーティングテーブルや、部分空間領域の再構成を行う。

0087

このように本実施の形態によると、オブジェクト管理装置が、仮想的な空間上に割り当てられた順序値に基づいて、管理対象の領域を画定する。これによって、複数のオブジェクト管理装置によって、仮想空間内のオブジェクトを分散管理させる際に、注目オブジェクトがどのオブジェクト管理装置によって管理されているかを簡便な処理によって特定でき、処理負荷を軽減できる。

図面の簡単な説明

0088

本発明の実施の形態に係るオブジェクト管理システムの構成例を表すブロック図である。
本発明の実施の形態に係るオブジェクト管理システムによって管理される仮想空間の例を表す説明図である。
本発明の実施の形態に係るオブジェクト管理装置として動作するコンピュータ装置の機能ブロック図である。
Z順序の例を表す説明図である。
本発明の実施の形態に係るオブジェクト管理装置が保持するオブジェクトデータベースの内容例を表す説明図である。
本発明の実施の形態に係るクライアント側装置として動作するコンピュータ装置の機能ブロック図である。
本発明の実施の形態に係るオブジェクト管理システムにおいて、オブジェクトが近傍のオブジェクトを探索する際の状態例を表す説明図である。
本発明の実施の形態に係るオブジェクト管理システムにおいて、オブジェクトが移動したときの処理の例を表すフロー図である。
本発明の実施の形態に係るオブジェクト管理装置が管理しているオブジェクトの配置例を表す説明図である。
本発明の実施の形態に係るオブジェクト管理装置による仮想空間分割処理の動作概要を表す説明図である。
本発明の実施の形態に係るオブジェクト管理システムで利用されるルーティングテーブルの例を表す説明図である。
本発明の実施の形態に係るオブジェクト管理システムで利用されるルーティングテーブルの変化例を表す説明図である。
本発明の実施の形態に係るメッセージ転送装置として動作するコンピュータ装置の機能ブロック図である。
本発明の実施の形態に係るオブジェクト管理システムにおけるメッセージのルーティングの例を表す説明図である。

符号の説明

0089

10コンピュータ装置、21 制御部、22 記憶部、23通信部、31仮想空間管理部、32,51処理実行部、33仮想空間分割処理部、41オブジェクト配置要求部、42オブジェクト処理部、43転換部。

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

該当するデータがありません

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

  • 株式会社Cygamesの「 情報処理プログラム、情報処理システム及び情報処理装置」が 公開されました。( 2019/09/19)

    【課題】プレイヤによる選択操作を、より適切に実現する。【解決手段】情報処理プログラムが、移動可能範囲内で選択点を連続的に移動させる所定の操作における、前記選択点の位置を特定する操作受付機能と、選択対象... 詳細

  • 横浜信用金庫の「 情報提供システム、情報提供方法、プログラム」が 公開されました。( 2019/09/19)

    【課題】精度がより高いビジネスマッチングを実現することである。【解決手段】情報提供システム1は、従業員が属する企業の企業情報及び経営者が経営する企業の企業情報の少なくとも何れかを記憶する記憶部120と... 詳細

  • 株式会社ドワンゴの「 サーバおよびプログラム」が 公開されました。( 2019/09/19)

    【課題】ゲームのリアルタイムプレイ動画の観客による当該ゲームの進行へ介入が短期間に集中することによる双方向的なゲーム体験の破綻を回避する。【解決手段】本発明の一態様に係るサーバは、算出部と、決定部と、... 詳細

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

該当するデータがありません

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ