(57)【特許請求の範囲】
【請求項１】
ネットワーク上で仮想空間を共有するシステムであって、
サーバコンピュータと、前記サーバコンピュータとネットワークを介して接続された複数のクライアントコンピュータと、
を具備し、
前記仮想空間は、
複数のセルと、前記クライアントコンピュータの指示で前記セル上を移動する複数のアバタと、
を有し、
前記セルは、固有のマルチキャストアドレスを有し、
前記各クライアントコンピュータは、
自身の指示で移動する前記アバタの存在する前記セルであるアクティブセルの前記マルチキャストアドレスと、前記アクティブセルとその周囲の前記セルであるパッシブセルの前記マルチキャストアドレスを、前記サーバコンピュータから取得し、
前記アクティブセルの前記マルチキャストアドレスを取得している他の前記クライアントコンピュータに、前記アバタが前記アクティブセルに存在するという情報をマルチキャストで送信し、
前記パッシブセルの前記マルチキャストアドレスをヒアリングすることにより、前記パッシブセルに他の前記クライアントコンピュータの指示で移動する前記アバタが存在するという情報を、他の前記クライアントコンピュータからマルチキャストで受信することを特徴とする仮想空間共有システム。
【請求項２】
前記各クライアントコンピュータは、
自身の指示で移動する前記アバタが他の前記セルに移動した場合、移動先の前記アクティブセルの前記マルチキャストアドレスと、前記パッシブセルの前記マルチキャストアドレスを、前記サーバコンピュータから取得することを特徴とする請求項１記載の仮想空間共有システム。
【請求項３】
前記各クライアントコンピュータは、
前記アクティブセルの前記マルチキャストアドレスを取得している他の前記クライアントコンピュータに、自身の指示で移動する前記アバタの向きや移動量に関する情報をさらにマルチキャストで送信し、
前記パッシブセルの前記マルチキャストアドレスをヒアリングすることにより、前記パッシブセルに存在する他の前記アバタの、向きや移動量に関する情報をさらに他の前記クライアントコンピュータからマルチキャストで受信することを特徴とする請求項１記載の仮想空間共有システム。
【請求項４】
前記各クライアントコンピュータは、前記パッシブセルの座標等の情報を前記サーバコンピュータから取得することを特徴とする請求項１記載の仮想空間共有システム。
【請求項５】
前記サーバコンピュータは、階層化された複数のサーバコンピュータから構成されることを特徴とする請求項１記載の仮想空間共有システム。
【請求項６】
前記サーバコンピュータは、
前記セルを管理する複数のスレーブコンピュータサーバと、
前記スレーブサーバコンピュータを所定数毎に管理する複数のマスターサーバコンピュータと、前記複数のマスターサーバコンピュータを管理するメインサーバコンピュータと、からなることを特徴とする請求項５記載の仮想空間共有システム。
【請求項７】
前記セルは複数に分割され、サーバコンピュータの能力に応じて所定数毎に異なるサーバコンピュータによって管理されることを特徴とする請求項５記載の仮想空間共有システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、仮想空間共有システムに関するものである。
【０００２】
【従来の技術】
仮想空間共有システムはネットワーク上のサーバコンピュータとクライアントコンピュータで仮想空間を共有することが可能なシステムである。仮想空間共有システムにおいて、各クライアントコンピュータは仮想空間を管理するサーバコンピュータに接続を行い、仮想空間に参加する。仮想空間に参加したクライアントコンピュータは、サーバコンピュータを介して参加クライアントコンピュータ間で仮想空間における協調作業を行うことができる。
【０００３】
【発明が解決しようとする課題】
ところで、従来の仮想空間共有システムでは、クライアントコンピュータはサーバコンピュータに自身の運動量を送信し、サーバコンピュータは仮想空間内で該クライアントコンピュータの周囲にいる他のクライアントコンピュータにその運動量を配信する。更に、クライアントコンピュータはサーバコンピュータから自身の周囲にいる他のクライアントコンピュータの運動量情報を受信し、自身の周囲の情報を更新し、描画する。
【０００４】
このため仮想空間に参加するクライアントコンピュータ全てが同様の動作をするので、参加クライアントの増加に伴い、サーバコンピュータの負荷が非常に大きくなるといった問題がある。そのためクライアントの参加人数や運動量の更新頻度を低くする等の制限が必要となり、クライアントが満足する利用環境を提供できなくなる。
【０００５】
本発明はこのような問題に鑑みてなされたもので、その目的とするところは、クライアントへのデータの送配信によるサーバの負荷を軽減し、より多くのクライアントが参加できる快適な仮想空間共有システムを提供することにある。
【０００６】
【課題を解決するための手段】
前述した目的を達成するために本発明は、ネットワーク上で仮想空間を共有するシステムであって、サーバコンピュータと、前記サーバコンピュータとネットワークを介して接続された複数のクライアントコンピュータと、を具備し、前記仮想空間は、複数のセルと、前記クライアントコンピュータの指示で前記セル上を移動する複数のアバタと、を有し、前記セルは、固有のマルチキャストアドレスを有し、前記各クライアントコンピュータは、自身の指示で移動する前記アバタの存在する前記セルであるアクティブセルの前記マルチキャストアドレスと、前記アクティブセルとその周囲の前記セルであるパッシブセルの前記マルチキャストアドレスを、前記サーバコンピュータから取得し、前記アクティブセルの前記マルチキャストアドレスを取得している他の前記クライアントコンピュータに、前記アバタが前記アクティブセルに存在するという情報をマルチキャストで送信し、前記パッシブセルの前記マルチキャストアドレスをヒアリングすることにより、前記パッシブセルに他の前記クライアントコンピュータの指示で移動する前記アバタが存在するという情報を、他の前記クライアントコンピュータからマルチキャストで受信することを特徴とする仮想空間共有システムである。
前記各クライアントコンピュータは、前記アバタが他の前記セルに移動した場合、移動先の前記アクティブセルの前記マルチキャストアドレスと、前記パッシブセルの前記マルチキャストアドレスを、前記サーバコンピュータから取得してもよい。
前記各クライアントコンピュータは、前記アクティブセルの前記マルチキャストアドレスを取得している他の前記クライアントコンピュータに、自身の指示で移動する前記アバタの向きや移動量に関する情報をさらにマルチキャストで送信し、前記パッシブセルの前記マルチキャストアドレスをヒアリングすることにより、前記パッシブセルに存在する他の前記アバタの、向きや移動量に関する情報をさらに他の前記クライアントコンピュータからマルチキャストで受信してもよい。
前記各クライアントコンピュータは、前記パッシブセルの座標等の情報を前記サーバコンピュータから取得してもよい。
前記サーバコンピュータは、階層化された複数のサーバコンピュータから構成されてもよい。
前記サーバコンピュータは、前記セルを管理する複数のスレーブコンピュータサーバと、前記スレーブサーバコンピュータを所定数毎に管理する複数のマスターサーバコンピュータと、前記複数のマスターサーバコンピュータを管理するメインサーバコンピュータと、からなってもよい。
前記セルは複数に分割され、サーバコンピュータの能力に応じて所定数毎に異なるサーバコンピュータによって管理されてもよい。
【０００７】
【発明の実施の形態】
以下、図面に基づいて本発明の実施の形態を詳細に説明する。図１は、本実施の形態に係る仮想空間共有システム１の概略構成を示す図である。
【０００８】
図１において、仮想空間共有システム１はネットワークに接続されたメインサーバコンピュータ３、マスターサーバコンピュータ５、スレーブサーバコンピュータ７、クライアントコンピュータ９から構成される。
【０００９】
メインサーバコンピュータ３は、クライアントコンピュータ９の仮想空間共有システムへの参加と退出の手続きを行う。例えば、クライアントコンピュータ９のパスワードを受信し、参加可能なクライアントかどうか、すでにサービスに参加していないかどうかをチェックし、不正なユーザからのアクセス等を防止する。  更に、クライアントコンピュータ９に対して参加可能な仮想空間を提示し、別の仮想空間への移動する際の橋渡しをするなどの、ナビゲーションサービスを提供する。
【００１０】
マスターサーバコンピュータ５は仮想空間の一部を管理する。例えば、図１においてマスターサーバコンピュータ５ａが「オーストラリア」の仮想空間を、マスターサーバコンピュータ５ｂが「日本」の仮想空間を管理する。マスターサーバコンピュータ５はクライアントコンピュータ９が実際に行動する仮想空間への参加と退出の手続きを行う。
【００１１】
また、マスターサーバコンピュータ５自身に接続するスレーブサーバコンピュータ７を管理し、各スレーブサーバコンピュータ７の負荷を分散させ、スレーブサーバコンピュータ７の処理能力の低下を抑える。
【００１２】
スレーブサーバコンピュータ７はマスターサーバコンピュータ５が管理する仮想空間を細分化して管理する。例えば、マスターサーバコンピュータ５ｂが管理する「日本」の内、スレーブサーバコンピュータ７ａは「北海道」を、スレーブサーバコンピュータ７ｂは「四国」を管理する。
クライアントコンピュータ９は参加したい仮想空間を選択し、参加する。
【００１３】
図２はスレーブサーバコンピュータ７ａが管理する仮想空間２１を示す図である。仮想空間２１はセル２３ａ、…、２３ｐに分割される。
スレーブサーバコンピュータ７ａは各セルのセル情報を管理し、共有すべきセル情報をクライアントコンピュータ９ａ、９ｂ、…、９ｘに通知する。ここで、共有すべきセルとは、後に述べるアクティブセルとパッシブセルである。
【００１４】
セル情報は、セルの定義を表すデータであり、セルの領域の定義情報、例えばセルの矩形領域の頂点座標等や、セルのマルチキャストアドレス、セル内のクライアント数、及び、クライアント情報等である。
【００１５】
図２に示されるように、セル２３ａ、…、２３ｐにはマルチキャストアドレス３３ａ、…、３３ｐが割り当てられている。マルチキャストとは不特定多数のユーザに同じ情報を送信する技術であり、例えばクライアントコンピュータ９ａがマルチキャストアドレス３３ａに対してデータを送信すると、マルチキャストアドレス３３ａをヒアリングしている他のクライアントコンピュータに同時に情報が送られる。
【００１６】
また、クライアント情報は、例えば、セルに参加しているクライアント数、クライアント名と識別番号、アバター識別番号及びアバターの移動量等である。クライアントコンピュータ９はアバターと称する擬人化されたシンボルで仮想空間内を移動する。
【００１７】
クライアントコンピュータ９ａ、９ｂ、…、９ｘは仮想空間２１内を自由に移動し、自身の周囲の仮想空間や他のクライアント情報を得て、アバターや構造物等を３次元コンピュータグラフィックス（３ＤＣＧ）で描画する。また、自身の移動や回転といった運動量の情報を他のクライアントに通知し、他のクライアントの運動量の情報を受信し、情報を更新する。
【００１８】
次にクライアントコンピュータ９ａが仮想空間２１に参加する場合を説明する。図３は、クライアントコンピュータ９ａの仮想空間共有システム１への参加及び退出の手続きを示すフローチャートである。
【００１９】
クライアントコンピュータ９ａはメインサーバコンピュータ３に対してサービスへの参加の要求をする（ステップ３０１）。メインサーバコンピュータ３はセキュリティチェック後、参加を許可し（ステップ３０２）、参加可能な仮想空間リストとそれを管理するマスターサーバコンピュータ５のＩＰアドレスを通知する（ステップ３０３）。
【００２０】
クライアントコンピュータ９ａは参加する仮想空間２１を選択し、それを管理するマスターサーバコンピュータ５ｂに参加の要求をする（ステップ３０４）。マスターサーバコンピュータ５ｂはクライアントコンピュータ９ａの仮想空間２１への参加の手続きを行い（ステップ３０５）、クライアントコンピュータ９ａの初期位置を確認し、初期位置に対応するセル２３を管理するスレーブサーバコンピュータ７ａのＩＰアドレスを通知する（ステップ３０６）。
【００２１】
スレーブサーバコンピュータ７ａはクライアントのセル内の位置や運動量を更新し（ステップ３０７）、セル内を移動したクライアントはその運動量をスレーブサーバコンピュータ７ａに通知する（ステップ３０８）。
【００２２】
次にクライアントコンピュータ９ａの仮想空間共有システム１のサービス退出について説明する。図３に示すように、クライアントコンピュータ９ａは仮想空間２１からの退出を要求し（ステップ３０９）、マスターサーバコンピュータ５ｂは退出を許可する（ステップ３１０）。更に、クライアントコンピュータ９ａはサービスからの退出を要求し（ステップ３１１）、メインサーバコンピュータ３は退出を許可する（ステップ３１２）。
【００２３】
次に、仮想空間共有システム１における情報の送受信について述べる。
図２に示す仮想空間２１のセル２３ａ〜２３ｐには、マスターサーバコンピュータ５ｂにより、マルチキャストアドレス３３ａ〜３３ｐが割り当てられる。
【００２４】
更に、マスターサーバコンピュータ５ｂは、自身に接続されるスレーブサーバコンピュータ７ａ、７ｂにセル情報を通知すると共に、各スレーブサーバコンピュータに管理すべきセル２３を割り振る。
尚、図２ではセル２３は矩形であるが、セル２３の形状は任意形状であり、各セルの大きさが異なっても構わない。
【００２５】
仮想空間共有システム１においてクライアントコンピュータ間の情報の送配信は、前述のようにマルチキャストアドレス３３を用いて行われる。即ち、クライアントコンピュータ９ａがマルチキャストアドレス３３ａに対して、例えば自身の運動量のデータを送信すると、マルチキャストアドレス３３ａをヒアリングしている他のクライアントコンピュータは同時にクライアントコンピュータ９ａの運動量を受信する。
【００２６】
図４はアクティブセル４５ａとパッシブセル４７ａを示す図である。クライアントコンピュータ９ａは仮想空間２１内でアバター４３ａという姿で参加する。クライアントコンピュータ９ａが参加しているセル、即ちアバター４３ａが存在するセルはアクティブセル４５ａとなる。
【００２７】
ここで、クライアントコンピュータ９ａがアバター４３ａで仮想空間２１に参加することは、アクティブセル４５ａのセル情報として保持される。
また、クライアントコンピュータ９ａはアクティブセル４５ａに割り振られたマルチキャストアドレス３３ｆに自身の運動量を送信する。
【００２８】
パッシブセル４７ａはアクティブセル４５ａとその周囲のセルである。クライアントコンピュータ９ａはパッシブセル４７ａのセル情報を入手し、更にパッシブセル４７ａのマルチキャストアドレスをヒアリングし、他の参加クライアントのアバターの運動量を受信して描画を更新する。これまで描画対象とした他のクライアント以外のクライアントからデータが送られてきた場合、新しく情報を共有するユーザとみなしてそのアバターを描画対象に追加する。
【００２９】
また、一定時間情報の更新が行われない他のクライアントは共有対象から外れたとみなし、描画対象から外してもよい。
このように自身の周囲にいるクライアントの情報のみを更新すればよく、表示できない遠方のクライアント情報を省略できるため表示のための負荷が低減される。
【００３０】
次に、セルの移動を伴うアバターの移動に対する仮想空間共有システム１の処理について説明する。図５はスレーブサーバコンピュータ７ａ、７ｂによって管理される仮想空間５１を示す。図５に示すように、クライアントコンピュータ９ｂのアバター４３ｂがセル２３ｓからセル２３ｒに移動した（矢印Ａ）場合、管理するスレーブサーバコンピュータは変わらない。従って、クライアントコンピュータ９ｂはスレーブサーバコンピュータ７ａに共有すべきセル情報を問い合わせ、更新する。
【００３１】
アバター４３ｂがセル２３ｓからセル２３ｔに移動した（矢印Ｂ）場合、管理するスレーブサーバコンピュータが変わる。この場合、クライアントコンピュータ９ｂは移動前にいたセル、即ちセル２３ｓを管理するスレーブサーバコンピュータ７ａに共有すべきセル情報を問い合わせ、更新する。以降、アバター４３ｂがセル２３ｔから他のセルに移動する場合、クライアントコンピュータ９ｂはスレーブサーバコンピュータ７ｂに共有すべきセル情報を問い合わせ、更新する。
【００３２】
次に、クライアントが仮想空間を変更する際の手続き処理について説明する。図６は、クライアントコンピュータ９ａが参加する仮想空間を変更する際の処理のフローチャートを示す。クライアントコンピュータ９ａは、現在参加している仮想空間を管理するマスターサーバ５ｂに対し、現在参加している仮想空間からの退出を要求し（ステップ６０１）、マスターサーバ５ｂが退出を許可する（ステップ６０２）。
【００３３】
次に、クライアントコンピュータ９ａは参加可能な他の仮想空間をメインサーバコンピュータ３に問い合わせ（ステップ６０３）、メインサーバコンピュータ３は仮想空間リスト及びそれを管理するマスターサーバコンピュータのＩＰアドレスを通知する（ステップ６０４）。
【００３４】
クライアントコンピュータ９ａは参加する仮想空間を選択し、管理するマスターサーバコンピュータ５ｃに要求する（ステップ６０５）。マスターサーバコンピュータ５ｃはクライアントコンピュータ９ａの初期位置を確認し、初期位置に対応するセルを管理するスレーブサーバコンピュータ７ｃのＩＰアドレスを通知する（ステップ６０６）。クライアントコンピュータ９ａはその通知を受信する（ステップ６０７）。以降、クライアントコンピュータ９ａは仮想空間２１に参加した場合と同様の操作を行う。
【００３５】
このように、本実施の形態によれば、クライアントはマルチキャストアドレスに情報を送信するだけでよく、クライアント数が増えても負荷は増加せず、高い頻度で描画を更新できる。また、サーバが階層構造で仮想空間を管理しているため、１つの仮想空間に参加するクライアント数が増えても、スレーブサーバコンピュータ７の数を増やして負荷を分散することが容易である。
【００３６】
尚、マスターサーバコンピュータ５がスレーブサーバコンピュータ７に振り分けるセルの数は均等でなくてもよく、スレーブサーバコンピュータ７の処理能力に応じてセルの数を決めてもよい。例えば、１６個のセルの内、１２個のセルをスレーブサーバコンピュータ７ａに、６個のセルをスレーブサーバコンピュータ７ｂに振り分けることができる。
また、図４に示すパッシブセル４７ａはセル９個としたが、パッシブセルの個数は任意である。
【００３７】
【発明の効果】
以上、詳細に説明したように本発明によれば、クライアントのデータの送配信によるサーバの負荷を軽減し、より多くのクライアントが参加できる快適な仮想空間共有システムを提供することができる。
【図面の簡単な説明】
【図１】  本発明の１実施の形態に係る仮想空間共有システム１を示す図
【図２】  仮想空間２１を示す図
【図３】  クライアントコンピュータ９ａが仮想空間共有システム１に参加及び退出する処理を示すフローチャート
【図４】  アクティブセル４５ａとパッシブセル４７ａを示す図
【図５】  スレーブサーバコンピュータ７ａ、７ｂが管理する仮想空間５１を示す図
【図６】  クライアントコンピュータ９ａが仮想空間を変更する際の処理を示すフローチャート
【符号の説明】
１………仮想空間共有システム
３………メインサーバコンピュータ
５………マスターサーバコンピュータ
７………スレーブサーバコンピュータ
９………クライアントコンピュータ
２１………仮想空間
２３………セル
３３………マルチキャストアドレス
【図１】
0003737885.tif 000002
【図２】
0003737885.tif 000003
【図３】
0003737885.tif 000004
【図４】
0003737885.tif 000005
【図５】
0003737885.tif 000006
【図６】
0003737885.tif 000007