(57)【特許請求の範囲】
【請求項１】
第１クライアントコンピュータから第１アバターのイベント情報を受信し、第２クライアントコンピュータから第２アバターのイベント情報を受信して、転送の要否を判断するために、サーバコンピュータを、
閾値、および仮想空間内における前記第１アバターの座標値と前記第２アバターの座標値とを記憶する記憶手段、
前記第１アバターの座標値と前記第２アバターの座標値とに基づいて、前記仮想空間内における前記第１アバターと前記第２アバターとの距離を算出する算出手段、
前記距離と前記閾値とを比較して比較結果を出力する比較手段、
前記比較結果に基づいて、前記第１アバターのイベント情報および前記第２アバターのイベント情報の転送の要否を判断する転送要否判断手段、
前記比較結果に基づいて、前記第１クライアントコンピュータおよび前記第２クライアントコンピュータへ直接送受信の要否を指示する直接送受信指示手段、として機能させるための転送制御プログラム。
【請求項２】
請求項１記載のサーバコンピュータと、クライアントコンピュータとを有するシステムにおいて、
第１アバターのイベント情報を送信し、第２アバターのイベント情報を受信するために、前記クライアントコンピュータを、
イベント情報を直接送受信する相手を示す直接送受信相手テーブルを記憶する記憶手段、
前記直接送受信相手テーブルに基づいて、前記第１アバターのイベント情報の送信先を判断する送信先判断手段、
前記直接送受信相手テーブルに基づいて、前記第２アバターのイベント情報を直接送信してくる送信元を判断する送信元判断手段、として機能させるための送受信制御プログラム。
【請求項３】
第１クライアントコンピュータ、第２クライアントコンピュータおよびサーバコンピュータがイベント情報を送受信するシステムであって、
前記サーバコンピュータは、
予め閾値を記憶する記憶手段と、
前記第１クライアントコンピュータから第１アバターのイベント情報を、前記第２クライアントコンピュータから第２アバターのイベント情報を受信する受信手段と、
前記第１アバターの座標値と前記第２アバターの座標値とに基づいて、仮想空間内における前記第１アバターと前記第２アバターとの距離を算出する算出手段と、
前記閾値と前記距離とを比較して、比較結果を出力する比較手段と、
前記比較結果に基づいて、前記第１アバターのイベント情報および前記第２アバターのイベント情報の転送の要否を判断する転送要否判断手段と、
前記比較結果に基づいて、前記第１クライアントコンピュータおよび前記第２クライアントコンピュータへ直接送受信指示を送信する直接送受信指示手段とを備え、
前記第１クライアントコンピュータは、
前記直接送受信指示を受信した場合に、前記第１アバターのイベント情報を前記第２クライアントコンピュータに直接送信する送信手段と、
前記直接送受信指示を受信した場合に、前記第２アバターのイベント情報を前記第２クライアントコンピュータから直接受信する受信手段とを備え、
前記第２クライアントコンピュータは、
前記直接送受信指示を受信した場合に、前記第２アバターのイベント情報を前記第１クライアントコンピュータに直接送信する送信手段と、
前記直接送受信指示を受信した場合に、前記第１アバターのイベント情報を前記第１クライアントコンピュータから直接受信する受信手段とを備える。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバがクライアントから送信された情報を他のクライアントに転送するかを制御するプログラム、クライアントが他のクライアントへ情報を直接送信するか、他のクライアントから情報を直接受信するかを制御するプログラム、前記のようなサーバ及びクライアントからなるイベント情報送受信システムに関する。
【背景技術】
【０００２】
例えば「ラグナロク  オンライン」のように世界中からインターネットで接続して、仮想空間の中でアバターを動かして交流する娯楽用通信システムを俗に“オンラインゲーム”という（以下、適宜“複数人同時参加型通信システム”と呼ぶ。）。
【０００３】
オンラインゲームでは、アバター動作などの仮想空間でのイベントを全てサーバに集めて全クライアントに同報しているため、時刻同期の問題が起こる。具体的には、同期を正確にとろうとすると、遅延の大きいイベントを待つことになり、遅れが大きくなる。一方、遅れを少なくしようとすると、遅延の大きいイベントが除外され、イベント同期がとれない。
【０００４】
このような問題を解決する方法として、端末から受け取った受信パケットの個数が所定数（例えば、配信対象の端末台数）に一致したことを配信条件として、受け取り済みの受信パケットに含まれる情報を配信することで、例えば参加者間で端末の通信速度が異なっているために通信速度が遅い端末のパケットが遅延していたとしても、他の参加者の端末から受信したパケット数が所定数に一致すれば、これら受信パケットの情報を先に配信することが可能になるという技術が開示されている（例えば、特許文献１参照）。
【特許文献１】特開２００３−７９９５７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の技術では、ネットワーク上のアプリケーションとして形成される仮想空間上のアバターの座標位置に基づいて、通信経路を動的に選択することはない。
【課題を解決するための手段】
【０００６】
本発明の第１の特徴は、第１クライアントコンピュータから第１アバターのイベント情報を受信し、第２クライアントコンピュータから第２アバターのイベント情報を受信して、転送の要否を判断するために、サーバコンピュータを、閾値、および仮想空間内における前記第１アバターの座標値と前記第２アバターの座標値とを記憶する記憶手段、前記第１アバターの座標値と前記第２アバターの座標値とに基づいて、前記仮想空間内における前記第１アバターと前記第２アバターとの距離を算出する算出手段、前記距離と前記閾値とを比較して比較結果を出力する比較手段、前記比較結果に基づいて、前記第１アバターのイベント情報および前記第２アバターのイベント情報の転送の要否を判断する転送要否判断手段、前記比較結果に基づいて、前記第１クライアントコンピュータおよび前記第２クライアントコンピュータへ直接送受信の要否を指示する直接送受信指示手段、として機能させるための転送制御プログラムとして機能させることにある。
【０００７】
例えば、第１クライアントコンピュータと第２クライアントコンピュータとは、同一のオンラインゲームに同時に参加しているユーザ端末を意味する。
【０００８】
本発明の第２の特徴は、第１アバターのイベント情報を送信し、第２アバターのイベント情報を受信するために、クライアントコンピュータを、イベント情報を直接送受信する相手を示す直接送受信相手テーブルを記憶する記憶手段、前記直接送受信相手テーブルに基づいて、前記第１アバターのイベント情報の送信先を判断する送信先判断手段、前記直接送受信相手テーブルに基づいて、前記第２アバターのイベント情報を直接送信してくる送信元を判断する送信元判断手段、として機能させることにある。
【０００９】
本発明の第３の特徴は、第１クライアントコンピュータ、第２クライアントコンピュータおよびサーバコンピュータがイベント情報を送受信するシステムであって、（１）前記サーバコンピュータは、予め閾値を記憶する記憶手段と、前記第１クライアントコンピュータから第１アバターのイベント情報を、前記第２クライアントコンピュータから第２アバターのイベント情報を受信する受信手段と、前記第１アバターの座標値と前記第２アバターの座標値とに基づいて、仮想空間内における前記第１アバターと前記第２アバターとの距離を算出する算出手段と、前記閾値と前記距離とを比較して、比較結果を出力する比較手段と、前記比較結果に基づいて、前記第１アバターのイベント情報および前記第２アバターのイベント情報の転送の要否を判断する転送要否判断手段と、前記比較結果に基づいて、前記第１クライアントコンピュータおよび前記第２クライアントコンピュータへ直接送受信指示を送信する直接送受信指示手段とを備え、（２）前記第１クライアントコンピュータは、前記直接送受信指示を受信した場合に、前記第１アバターのイベント情報を前記第２クライアントコンピュータに直接送信する送信手段と、前記直接送受信指示を受信した場合に、前記第２アバターのイベント情報を前記第２クライアントコンピュータから直接受信する受信手段とを備え、（３）前記第２クライアントコンピュータは、前記直接送受信指示を受信した場合に、前記第２アバターのイベント情報を前記第１クライアントコンピュータに直接送信する送信手段と、前記直接送受信指示を受信した場合に、前記第１アバターのイベント情報を前記第１クライアントコンピュータから直接受信する受信手段とを備えることにある。
【発明の効果】
【００１０】
本発明の第１の特徴によれば、サーバは仮想空間内において所定距離内にいる第１アバターに対応する第１クライアントと第２アバターに対応する第２クライアントとについて、第１クライアントから受信したイベント情報を第２クライアントへ転送する必要がなく、第２クライアントから受信したイベント情報を第１クライアントへ転送する必要がなくなる。
【００１１】
本発明の第２の特徴によれば、各クライアントは所定条件を満たすクライアントからサーバを経由することなくイベント情報を受け取ることができるので、リアルタイムなレスポンスが期待できる。
【００１２】
本発明の第３の特徴によれば、サーバは、クライアントから受信したイベント情報の転送先を少なくすることができ、またクライアントはリアルタイム性の高いイベント情報を受信することができる。
【発明を実施するための最良の形態】
【００１３】
以下に図面に基づいて、本発明を実施するための最良の形態を説明する。なお、以下の説明は、単なる例示に過ぎず、本発明の技術的範囲は以下の説明によって限定されるものではない。
【００１４】
図１に基づいて、実施例の概要を説明する。
【００１５】
[構成の概要]
図１は、実施例１に係るクライアント、サーバ及び仮想空間を示す。クライアントＡはアバターＡに関するイベント情報を、クライアントＢはアバターＢに関するイベント情報を、クライアントＣはアバターＣに関するイベント情報を、サーバＳへ送信する。
【００１６】
サーバＳは各イベント情報（アバターイベント）を受信する。アバターイベントには仮想空間座標で表した各アバターの位置座標値が含まれる。
【００１７】
サーバＳは、各アバターの位置座標値に基づいて各アバター間距離を算出し、算出されたアバター間距離と所定値ｒとを比較し、アバター間距離が所定値ｒ以下である場合は、両アバターに対応するクライアント間において自己アバターイベントを直接送受信するように、対応するクライアントに指示する。「直接」とは、「サーバを経由しないで」ということを意味する。
【００１８】
例えば、サーバＳは、アバターＡの位置座標値とアバターＢの位置座標値に基づいてアバターＡＢ間距離を算出し、算出されたアバターＡＢ間距離が所定値ｒ以下である場合は、クライアントＡに対して「アバターＡのイベントをクライアントＢへ直接送信せよ」と指示する。かかる指示を受信した後は、クライアントＡはアバターＡのイベントをサーバＳとクライアントＢの双方へ送信する。
【００１９】
クライアントＡからアバターＡのイベントを受信したクライアントＢでは、アバターＡのイベントの効果を計算し、計算結果をクライアントＢの表示装置に表示されるアバターＡに反映させる。
【００２０】
同様に、サーバＳは、アバターＡＢ間距離が所定値ｒ以下である場合は、クライアントＢに対して「アバターＢのイベントをクライアントＡへ直接送信せよ」と指示する。かかる指示を受信した後は、クライアントＢはアバターＢのイベントをサーバＳとクライアントＡの双方へ送信する。
【００２１】
また、サーバＳは、アバターＡの位置座標値とアバターＣの位置座標値に基づいてアバターＡＣ間距離を算出する。算出されたアバターＡＣ間距離が所定値ｒを超える場合、サーバはクライアントＡ，Ｃに対してイベントの直接送受信を指示しない。つまり、クライアントＡはアバターＣに関するイベントをサーバＳ経由で受信し、またクライアントＣはアバターＡに関するイベントをサーバ経由でＳ受信する。
【００２２】
なお、仮にアバターＢとアバターＣとの距離が所定値ｒ以下の場合は、クライアントＢはクライアントＣからアバターＣに関するイベントを、サーバＳを経由しないで受信する。
【００２３】
次に、図２に基づいて、実施例１にかかるシステムを構成するクライアントおよびサーバについて説明する。図２に示すように、クライアント１０とサーバ３０は、インターネットなどの通信網を介してイベント情報を送受信することができる。なお、図２には、クライアントを１つしか示していないが、後述するようにクライアントは複数存在し、内部構成が同じであるため他のクライアントについては省略している。
【００２４】
[クライアントについて]
図２に示すように、クライアント１０は、ＣＰＵ（中央演算処理装置）１１、フラッシュメモリなどのＲＯＭ（リード・オンリー・メモリ）１２、ダイナミックＲＡＭ（ランダム・アクセス・メモリ）などのＲＡＭ１３、ＨＤＤ（ハード・ディスク・ドライブ）などの記憶手段１４、液晶表示装置、ＣＲＴ（カソード・レイ・チューブ）などの表示手段１５、ＮＩＣ（ネットワーク・インタフェース・カード）などの送受信手段１６、マウスなどのポインティングデバイスやキーボードなどの入力手段１７を備える。
【００２５】
ＲＯＭ１２にはＢＩＯＳ（ベーシック・インプット・アウトプット・システム）が記憶されている。ＲＡＭ１３は各種プログラムの作業領域として使用される。記憶手段１４にはＯＳ（オペレーティング・システム）、仮想空間描画環境、送信先判断部および直接送受信相手テーブルが記憶されている。仮想空間描画環境とは、仮想空間描画パラメータに基づいて仮想空間を描画することができ、またアバターイベント情報などに基づいてその仮想空間内にアバターを描画することができる環境を意味し、例えばJava（登録商標）3Dなどが含まれる。また、送信先判断部とは、直接送受信相手テーブルの内容に応じて送信先を判断可能なプログラム又はモジュールなどを意味する。以下の記載においても同様に、○○部とは、プログラム又はモジュールなどを意味する。
【００２６】
入力手段１７を用いて、アバターイベントが発生させられると、イベント情報がサーバ３０へ送信される。イベント情報の送信先は、後述するように、直接送受信相手テーブルに基づいて、送信先判断部が判断する。直接送受信相手テーブルの内容にかかわらず、イベント情報は、クライアント１０からサーバ３０へ送信される。また、直接送受信相手テーブルの内容に応じて、イベント情報は、他のクライアント（図２には図示せず。）にも送信され得る。
【００２７】
[サーバについて]
サーバ３０もクライアントと同様に、ＣＰＵ３１、ＲＯＭ３２、ＲＡＭ３３、記憶手段３４、送受信手段３６を備える。ただし、サーバ３０は表示手段、入力手段を備える必要はない。ＣＰＵ３１等については、クライアントと同様であるから、説明を省略する。
【００２８】
記憶手段３４には、ＯＳ、距離計算部、座標テーブル、距離比較部、閾値、転送要否判断部、転送先テーブル、直接送受信指示部、ＩＰアドレステーブルなどが記憶されている。座標テーブルは、各クライアントに対応する各アバターの仮想空間内における位置座標を記憶するテーブルである。
【００２９】
距離計算部は、座標テーブルの内容に基づいて各クライアント間の仮想空間内における距離を算出する。クライアントＡの座標値が（Ｘａ，Ｙａ，Ｚａ）、クライアントＢの座標値が（Ｘｂ，Ｙｂ，Ｚｂ）であるなら、クライアントＡＢ間の距離ｄは、以下の式により求まる。  
ｄ＝｛（Ｘａ−Ｘｂ）^2＋（Ｙａ−Ｙｂ）^2＋（Ｚａ−Ｚｂ）^2｝^（１／２）
距離比較部は、算出された距離ｄと記憶されている閾値ｒとを比較し、その比較結果に基づいてクライアント間でイベント情報を直接送受信すべきかを判断し、その判断結果に基づいて転送先テーブルの内容を書き換える。
【００３０】
転送要否判断部は、あるクライアントから受信したイベント情報を他のクライアントへ転送すべきかを転送先テーブルの内容に基づいて判断する。転送必要と判断する場合はそのイベント情報を転送する。
【００３１】
直接送受信指示部は、転送先テーブルの内容に基づいて、アバター間の距離ｄと閾値ｒとの関係を判断し、必要な場合はそのアバターに対応するクライアントへ直接送受信を指示する。
【００３２】
ＩＰアドレステーブルは、各アバターとそれに対応するクライアントのＩＰアドレスとを関連付けて記憶するテーブルである。
【００３３】
[サーバの処理]
図３に基づいて、サーバの処理を説明する。図３に示すように、サーバ３０は、座標テーブルに基づいてアバター間距離ｄを算出する（ステップＳ１０１）。次いで、サーバ３０は、距離ｄと閾値ｒとを比較し（ステップＳ１０３）、比較結果に基づいて転送先テーブルの内容を書き換える。
【００３４】
さらに、サーバ３０は、比較結果（転送先テーブルの内容）に基づいて転送処理を行う（ステップＳ１０５）。例えばアバターＡとアバターＣとの距離ｄが閾値ｒを超える場合、サーバ３０はクライアントＡから送信されてきたアバターＡのイベント情報をクライアントＣへ転送し、また、サーバ３０はクライアントＣから送信されてきたアバターＣのイベント情報をクライアントＡへ転送する。
【００３５】
また、サーバ３０は、比較結果（転送先テーブルの内容）に基づいて直接送受信を指示する（ステップＳ１０７）。例えば、アバターＡとアバターＢとの距離ｄが閾値ｒ以下の場合、サーバ３０はクライアントＡへ「アバターＡのイベント情報をクライアントＢへ直接送信せよ」と指示し、また、サーバ３０はクライアントＢへ「アバターＢのイベント情報をクライアントＡへ直接送信せよ」と指示する。
【００３６】
[クライアントの処理]
図４に基づいて、クライアントの処理を説明する。クライアントは、サーバから直接送受信指示を受信すると（ステップＳ２０１）、その指示内容を直接送受信相手テーブルに反映させる（ステップＳ２０３）。例えば、クライアントＡは、「アバターＡのイベント情報をクライアントＢへ直接送信せよ」との指示を受信したら、直接送受信相手テーブルにクライアントＢを追加する。そして、直接送受信相手テーブルに基づいて送信処理を実行する（ステップＳ２０５）。例えば、直接送受信相手テーブルにクライアントＢが記載されている場合、アバターＡのイベント情報をサーバ３０のみならず、クライアントＢへも送信する。具体的には、送信先アドレスとしてクライアントＢのＩＰアドレスが記載され、データとしてアバターＡのイベント情報を含むパケットを送信する。
【００３７】
[アバター描画に用いる初期データ転送]
図５に基づいて、アバター描画に用いる初期データ転送について説明する。クライアントＢで、アバターＡを描画するには、予めアバターＡのクラスオブジェクトをサーバＳからダウンロードして、インスタンス化しておく必要がある。アバターＡが、アバターＢのビュー半径 ｒ' （≧ｒ） 内に入った時点でダウンロード開始する。
【００３８】
クライアントＢでは、アバターＡを描画するために、動的情報又は静的情報のいずれかのデータを受信する。動的情報には、クライアントＡにおける、アバターＡへのフォーカスと、マウス／キーボード入力が含まれる。静的情報には、クライアントＡにおけるアバターＡの座標、向き、姿勢などのアバター属性変化が含まれる。アバターは、Java（登録商標）3DのGeometryArrayクラスや、そのサブクラスで表現される。
【００３９】
[アバターの位置に応じたサーバおよびクライアントの処理の詳細]
図３、４、６〜９に基づいて、アバターの位置に応じたサーバおよびクライアントの処理内容を具体的に説明する。
【００４０】
[アバターＡ、Ｂ、Ｃそれぞれの距離ｄが閾値ｒを超える場合]
まず第１のアバターの座標値と第２のアバターの座標値を設定し、両アバター間の距離ｄを算出する（図３のステップＳ１０１）。
【００４１】
そして、距離ｄと閾値ｒとの比較がなされ（ステップＳ１０３）、図６の比較結果テーブルＴ０１に示すように、アバターＡＢ間の距離ｄ、アバターＡＣ間の距離ｄ、アバターＢＣ間の距離ｄはいずれも閾値ｒを超えるとの比較結果が出力される。
【００４２】
次に、かかる比較結果に基づいて、転送処理がなされる（ステップＳ１０５）。具体的には、図６のＴ０２に示すような転送先テーブルが生成され、かかる転送先テーブルＴ０２に基づいて、クライアントＡを送信元とするアバターＡに関するイベント情報は、クライアントBおよびCに転送され、クライアントBを送信元とするアバターBに関するイベント情報は、クライアントAおよびCに転送され、クライアントCを送信元とするアバターCに関するイベント情報は、クライアントAおよびBに転送される。
【００４３】
なお、この場合は、アバターＡ、Ｂ、Ｃそれぞれの距離ｄが閾値ｒを超えるので、直接送受信は指示されない（ステップＳ１０７）。以上がサーバの処理である。
【００４４】
また、クライアントＡの記憶手段には直接送受信相手テーブルＴ０４が記憶されており、その初期値は「ＮＵＬＬ」とする。つまりイベント情報を直接送受信する相手は存在しないものとする。クライアントＢの記憶手段に記憶される直接送受信相手テーブルＴ０５、クライアントＣの記憶手段に記憶される直接送受信相手テーブルＴ０６の内容も同様とする。よって、各クライアントは、他のクライアントのイベント情報を全てサーバ経由で受信する。
【００４５】
[アバターＡとＢの距離ｄが閾値ｒ以下、その他のアバター間距離ｄが閾値ｒを超える場合]
まず第１のアバターの座標値と第２のアバターの座標値を設定し、両アバター間の距離ｄを算出する（図３のステップＳ１０１）。
【００４６】
そして、距離ｄと閾値ｒとの比較がなされ（ステップＳ１０３）、図７の比較結果テーブルＴ１１に示すように、アバターＡＢ間の距離ｄは閾値ｒ以下であるが、アバターＡＣ間の距離ｄ、アバターＢＣ間の距離ｄは閾値ｒを超えるとの比較結果が出力される。
【００４７】
次に、かかる比較結果に基づいて、転送処理がなされる（ステップＳ１０５）。具体的には、図７のＴ１２に示すような転送先テーブルが生成され、かかる転送先テーブルＴ１２に基づいて、クライアントＡを送信元とするアバターＡに関するイベント情報は、クライアントCに転送され、クライアントBを送信元とするアバターBに関するイベント情報は、クライアントCに転送され、クライアントCを送信元とするアバターCに関するイベント情報は、クライアントAおよびBに転送される。
【００４８】
一方で、比較結果に基づいて、直接送受信の指示がなされる（ステップＳ１０７）。アバターＡとＢの距離ｄが閾値ｒ以下であるから、クライアントＡに対してクライアントＢと直接送受信するように、またクライアントＢに対してクライアントＡと直接送受信するように指示がなされる。以上がサーバの処理である。
【００４９】
そして、クライアントＡとクライアントＢは直接送受信指示を受信する（図４のステップＳ２０１）。クライアントＡの記憶手段に記憶されている直接送受信相手テーブルはＴ１４に示すように、直接送受信相手としてクライアントＢを示すように書き換えられる（ステップＳ２０３）。
【００５０】
クライアントＡは直接送受信相手テーブルに基づいて、アバターＡのイベント情報をクライアントＢへ直接送信する（ステップＳ２０５）。また、クライアントＡは直接送受信相手テーブルに基づいて、クライアントＢからアバターＢのイベント情報を直接受信する（ステップＳ２０７）。また、アバターＣのイベント情報は、サーバ経由で受信する。そして、受信したイベント情報に基づいて、アバターＢとＣを描画する（ステップＳ２０７）。
【００５１】
同様に、クライアントＢの記憶手段に記憶されている直接送受信相手テーブルはＴ１５に示すように、直接送受信相手としてクライアントＡを示すように書き換えられる（ステップＳ２０３）。
【００５２】
クライアントＢは直接送受信相手テーブルに基づいて、アバターＢのイベント情報をクライアントＡへ直接送信する（ステップＳ２０５）。また、クライアントＢは直接送受信相手テーブルに基づいて、クライアントＡからアバターＡのイベント情報を直接受信する（ステップＳ２０７）。また、アバターＣのイベント情報は、サーバ経由で受信する。そして、受信したイベント情報に基づいて、アバターＡとＣを描画する（ステップＳ２０９）。
【００５３】
[アバターＡとＣの距離ｄが閾値ｒを超え、その他のアバター間距離ｄが閾値ｒ以下の場合]
図８の比較結果テーブルＴ２１に示すように、
アバターＡとアバターＢとの距離ｄは、閾値ｒ以下で、
アバターＡとアバターＣとの距離ｄは、閾値ｒを超え、
アバターＢとアバターＣとの距離ｄは、閾値ｒ以下であるとする。
【００５４】
この場合、図８の転送先テーブルＴ２２に示すように、送信元がクライアントＡであるイベント情報は、クライアントＣへは転送されるが、クライアントＢへは転送されない。また、送信元がクライアントＢであるイベント情報は、クライアントＡにもＣにも転送されない。さらに、送信元がクライアントＣであるイベント情報は、クライアントＡへは転送されるが、クライアントＢへは転送されない。
【００５５】
一方で、図８のクライアントＡの直接送受信相手テーブルＴ２４に示すように、クライアントＡはクライアントＢとイベント情報を直接送受信する。また、図８のクライアントＢの直接送受信相手テーブルＴ２５に示すように、クライアントＢはクライアントＡおよびＣとイベント情報を直接送受信する。さらに、図８のクライアントＣの直接送受信相手テーブルＴ２6に示すように、クライアントＣはクライアントＢとイベント情報を直接送受信する。
【００５６】
[アバターＡ、Ｂ、Ｃそれぞれの距離ｄが閾値ｒ以下の場合]
図９の比較結果テーブルＴ３１に示すように、
アバターＡとアバターＢとの距離ｄは、閾値ｒ以下、
アバターＡとアバターＣとの距離ｄも、閾値ｒ以下、
アバターＢとアバターＣとの距離ｄも、閾値ｒ以下であるとする。
【００５７】
この場合、図９の転送先テーブルＴ３２に示すように、送信元がクライアントＡ，Ｂ，Ｃのいずれのイベント情報も転送されない。
【００５８】
一方で、図９のクライアントＡの直接送受信相手テーブルＴ３４に示すように、クライアントＡはクライアントＢおよびＣとイベント情報を直接送受信する。また、図9のクライアントＢの直接送受信相手テーブルＴ３５に示すように、クライアントＢはクライアントＡおよびＣとイベント情報を直接送受信する。さらに、図9のクライアントＣの直接送受信相手テーブルＴ３6に示すように、クライアントＣはクライアントＡおよびＢとイベント情報を直接送受信する。
【図面の簡単な説明】
【００５９】
【図１】実施例１に係るクライアント、サーバ及び仮想空間を示す図である。
【図２】実施例１に係るシステムを構成するクライアント及びサーバの内部構成を示す図である。
【図３】サーバの処理の流れを示すフローチャートである。
【図４】クライアントの処理の流れを示すフローチャートである。
【図５】アバター描画に用いる初期データ転送を示す図である。
【図６】アバターＡ、Ｂ、Ｃそれぞれの距離ｄが閾値ｒを超える場合の比較結果テーブル、転送先テーブル、直接送受信相手テーブルを示す図である。
【図７】アバターＡとＢの距離ｄが閾値ｒ以下、その他のアバター間距離ｄが閾値ｒを超える場合の比較結果テーブル、転送先テーブル、直接送受信相手テーブルを示す図である。
【図８】アバターＡとＢおよびアバターＢとＣの距離ｄが閾値ｒ以下、その他のアバター間距離ｄが閾値ｒを超える場合の比較結果テーブル、転送先テーブル、直接送受信相手テーブルを示す図である。
【図９】アバターＡ、Ｂ、Ｃそれぞれの距離ｄが閾値ｒ以下の場合の比較結果テーブル、転送先テーブル、直接送受信相手テーブルを示す図である。
【符号の説明】
【００６０】
１０…クライアントＰＣ
１１、３１…ＣＰＵ（中央演算処理装置）
１２、３２…ＲＯＭ（リード・オンリー・メモリ）
１３、３３…ＲＡＭ（ランダム・アクセス・メモリ）
１４、３４…記憶手段  １５…表示手段
１６、３６…送受信手段  １７…入力手段  ２０…通信網
【図１】
0004643386.tif 000002
【図２】
0004643386.tif 000003
【図３】
0004643386.tif 000004
【図４】
0004643386.tif 000005
【図５】
0004643386.tif 000006
【図６】
0004643386.tif 000007
【図７】
0004643386.tif 000008
【図８】
0004643386.tif 000009
【図９】
0004643386.tif 000010