(57)【特許請求の範囲】
【請求項１】
複数のクライアント・コンピュータがアクセスする複数の部分仮想空間を構成する仮想空間システムにおいて、
前記第１の特徴ベクトルを、前記複数のクライアント・コンピュータのユーザ毎に用意する手段と、
前記クライアント・コンピュータのユーザのプロファイルを含む第１の特徴ベクトルと、前記部分仮想空間のプロファイルを含む複数の第２の特徴ベクトルとの距離を計算する手段と、
前記計算した複数の距離の値の大きさの順序を保つように、多次元尺度構成法により前記複数の部分仮想空間の配置を決定するマップ情報を生成する手段と、
前記マップ情報を、前記ユーザ毎に保持する手段と、
前記ユーザが前記仮想空間システムにアクセスすることに応答して、前記ユーザに対応するマップ情報を選択する手段と、
前記複数の部分仮想空間を、前記選択したマップ情報に指定された配置に基づき、前記クライアント・コンピュータに提示する手段を有する、
仮想空間システム。
【請求項２】
前記多次元尺度構成法による、前記複数の部分仮想空間の配置が、クラスカルの方法により決定される、請求項１のシステム。
【請求項３】
複数のクライアント・コンピュータがアクセスする複数の部分仮想空間を構成する仮想空間システムを制御するプログラムであって、
前記仮想空間システムに、
前記第１の特徴ベクトルを、前記複数のクライアント・コンピュータのユーザ毎に用意するステップと、
前記クライアント・コンピュータのユーザのプロファイルを含む第１の特徴ベクトルと、前記部分仮想空間のプロファイルを含む複数の第２の特徴ベクトルとの距離を計算するステップと、
前記計算した複数の距離の値の大きさの順序を保つように、多次元尺度構成法により前記複数の部分仮想空間の配置を決定するマップ情報を生成するステップと、
前記マップ情報を、前記ユーザ毎に保持するステップと、
前記ユーザが前記仮想空間システムにアクセスすることに応答して、前記ユーザに対応するマップ情報を選択するステップと、
前記複数の部分仮想空間を、前記選択したマップ情報に指定された配置に基づき、前記クライアント・コンピュータに提示するステップを実行させる、
プログラム。
【請求項４】
前記多次元尺度構成法による、前記複数の部分仮想空間の配置が、クラスカルの方法により決定される、請求項３のプログラム。
【請求項５】
複数のクライアント・コンピュータがアクセスする複数の部分仮想空間を構成する仮想空間システムを制御する方法であって、
前記仮想空間システムが、前記第１の特徴ベクトルを、前記複数のクライアント・コンピュータのユーザ毎に用意するステップと、
前記仮想空間システムが、前記クライアント・コンピュータのユーザのプロファイルを含む第１の特徴ベクトルと、前記部分仮想空間のプロファイルを含む複数の第２の特徴ベクトルとの距離を計算するステップと、
前記仮想空間システムが、前記計算した複数の距離の値の大きさの順序を保つように、多次元尺度構成法により前記複数の部分仮想空間の配置を決定するマップ情報を生成するステップと、
前記仮想空間システムが、前記マップ情報を、前記ユーザ毎に保持するステップと、
前記仮想空間システムが、前記ユーザが前記仮想空間システムにアクセスすることに応答して、前記ユーザに対応するマップ情報を選択するステップと、
前記仮想空間システムが、前記複数の部分仮想空間を、前記選択したマップ情報に指定された配置に基づき、前記クライアント・コンピュータに提示するステップとを有する、
方法。
【請求項６】
前記多次元尺度構成法による、前記複数の部分仮想空間の配置が、クラスカルの方法により決定される、請求項５の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、一般的には、仮想空間を管理し制御するための仮想空間システム、方法及びプログラムに関する。より詳しくは、この発明は、仮想空間にアクセスするユーザの利便性を向上させるための技術に関する。
【背景技術】
【０００２】
Ｓｅｃｏｎｄ  Ｌｉｆｅ（リンデンリサーチの商標）などの３Ｄインターネット仮想空間では、仮想空間プロバイダや、仮想空間にログインするユーザによって、様々な特徴のオブジェクト、機能をもった仮想世界が展開されている。
【０００３】
Ｆｉｎａｌ  Ｆａｎｔａｓｙ（スクウェア・エニックスの商標）Ｏｎｌｉｎｅやラグナロクオンライン（グラバティ  コーポレーションの商標）などのＭＭＯＲＰＧ(Massively Multiplayer Online Role-Playing Game = 多人数同時参加型オンラインロールプレイングゲーム）では、予め広大な仮想世界が、プロバイダにより提供されて、ログインしたら直ぐに楽しめるようになっている。
【０００４】
一方、Ｓｅｃｏｎｄ  Ｌｉｆｅのようなユーザ構築型仮想世界では、ユーザが、シム（ＳＩＭ）または島と呼ばれる、局所仮想空間上で、建造物や様々な機能を提供するオブジェクトを提供することで、ユーザが自ら、仮想世界を構築していく。そうして、そのような複数の島の集まりで、全体の仮想世界が構成される。その際、島は、海または道路で区切られている。Ｓｅｃｏｎｄ  Ｌｉｆｅの例では、１つのシムまたは島は、通常１つのサーバで構成され、その面積は、仮想世界内の仮想的なサイズとしては、２５６ｍ×２５６ｍである。しかし、シム内で構築される建物、オブジェクト、設営目的、使用言語などは多種多様で、シム毎に全く異なる。
【０００５】
さて、上述したＭＭＯＲＰＧやＳｅｃｏｎｄ  Ｌｉｆｅのようなアバタが仮想空間内を歩き回るタイプではない通常のインターネット環境では、所望のサイト行くには、検索エンジンで検索したり、ある文書に付されている文書リンクをクリックするなどの方法を行う。一方、３Ｄインターネットでは、アバタが仮想空間内を歩いたり、飛翔して上空から眺めたりすることによって、興味がある島を発見し、そこに行くことになる。また、ある島に行ったついでに、隣の島も眺めることにより、興味を広げたりする。
【０００６】
しかし、ユーザ構築型の仮想空間では、どの島の隣に、どの島があるか、ということは、プロバイダやその島の購入主の都合で決まってしまい、しかも、一旦それが確定されると、その島のオーナーが撤退でもしない限り、島でのオブジェクトやサービスの内容は、固定され、変更されない。従って、このような従来の仮想空間では、ユーザが、アバタとして自分の気分や嗜好に従い、歩き回ったり、飛んだりして、興味を覚える島を見出すには不向きであった。
【０００７】
特開２００２−１５７２０９は、三次元仮想空間において、日常必要とされる金融機関、医療機関、商店街、娯楽施設、公共施設、その他の施設を配置して生活形態を有する街並みを配置し、完結した島又は都市として構成される三次元仮想空間をサーバー側データベースからユーザー側端末機へダウンロードさせ、ユーザー側においてこの島の中の形成された仮想道路に沿ってキャラクターを移動させながら、所望の施設に入場することによりその施設の利用を可能にすると共に、所望によりユーザー側において予めデータベース上に用意されている他の施設を選択、交換して自分の好みに合った生活形態を有する島又は町を有するホームページを作成する技法を開示する。
【０００８】
特開２００２−１５７２５３は、ユーザーが入力した自分の場所嗜好情報および領域条件に基づき、情報享受者が居住していたり、興味を持った場所からの物理的な距離や妥当な時間での到達可能性に基づいて関連する情報を提供するシステムを開示する。
【０００９】
しかし、上記従来技術は、仮想世界を彷徨するアバタが、自分の興味に適合する島または部分仮想空間を見つけることを支援するものではない。
【特許文献１】特開２００２−１５７２０９
【特許文献２】特開２００２−１５７２５３
【発明の開示】
【発明が解決しようとする課題】
【００１０】
この発明は、上記従来の問題点を解決するためになされたものであって、ユーザが、仮想空間内で、自分のプロファイルや要求に従うような局所仮想空間または島を訪れやすくする技法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
そこで、本願発明者は、ユーザのプロファイルや要求を反映して、個々の局所仮想世界（島）を別の大きな仮想空間上に再配置することでこの問題を解決できることに想到した。このような再配置により、ユーザが必要とする（好みとする）情報を、すばやく、かつ簡単に発見することができるようになる。例えば、アミューズメント傾向の強い島を近くに配置することによって，一つの大きな複合アミューズメントパークを作り出すといった具合である。
【００１２】
本願発明は、ユーザのプロファイルを反映した特徴ベクトルと、各島の風土／特色を表す特徴ベクトルとの距離関係から、２次元空間上での島の隣接関係を決定する。要約すると、これは、以下のような処理手順をとる。
【００１３】
(1) 各島の基本情報を特徴ベクトルとして保持する。基本的には１つの島に対して１つの特徴ベクトルを用意する。島の基本情報は、その島の通貨に関する情報、その島の使用言語の情報、催されるイベントに関する情報、イベントの開催日、時間及び場所の情報、その島のオーナーのプロファイルの情報などを含む。
(2) 次に、ユーザのプロファイルに応じて、ユーザの特徴ベクトルを決定する．これはユーザの所属や嗜好、例えば、使用言語、性別、年齢、職種、居住地、出身地及び学歴などを反映したものである。
(3) ユーザの特徴ベクトルと、島の特徴ベクトル間の距離関係を考慮して、島の配置を決定する。これはすなわち、多次元ベクトルの距離関係から、２次元空間での配置を決定することであり、配置の決定には、好適には、多次元尺度構成法（ＭＤＳ）に基づく方法を用いる。
【００１４】
このようにして求められた、ユーザ毎の２次元空間での島あるいは局所仮想空間の配置の情報は、仮想世界のサーバに保持され、その特定のユーザが、仮想空間にログインしたときに、サーバに保持されている、そのユーザ固有の２次元空間での配置情報を用いて、島あるいは局所仮想空間が再配置されて、ユーザの前に現れる。こうして、ユーザは、仮想空間にログインすると、自身のプロファイルに従い最適配置された、島のマップに基づき、好都合に複数の島を訪問することができる。
【発明の効果】
【００１５】
この発明によれば、このように、ユーザのプロファイルや要求と関連付けて島あるいは局所仮想空間を再配置することにより、ユーザは、同種の情報が入手しやすくなるという利点が得られる。例えば、音楽を趣味とするユーザ同士というと、互いに近い関係にあるようだが、そういう音楽を趣味とするユーザ同士でも、一方はクラッシック派で、他方はジャズ派、ということがある。すると、ある仮想空間の島の配置が、一方のユーザには好ましくても、他方のユーザには好ましくない、ということがあり得る。従って、ユーザのプロファイルに応じて、仮想空間内の隣接する島が、どんな特徴を持っているかということは大変重要な要素である。
【００１６】
従って、この発明を適用することにより、その仮想空間に対するユーザの好感度が増すので、サインインするユーザが増えて、仮想空間が賑わい、結果的に、仮想空間のシステム・プロバイダ及び各島で催しを行うオーナーがともに利益を増やすことができる、という効果が得られる。
【発明を実施するための最良の形態】
【００１７】
以下、図面を参照して、本発明の実施例を説明する。特に断わらない限り、同一の参照番号は、図面を通して、同一の対象を指すものとする。また、以下で説明するのは、本発明の一実施形態であり、この発明を、この実施例で説明する内容に限定する意図はないことを理解されたい。
【００１８】
図１は、本発明の手法を実施するためのハードウェア構成の概要ブロック図である。図１において、左側は、クライアント（ユーザ）側であり、個々のユーザのクライアント・コンピュータ１０２、１０４、１０６、１０８、１１０、１１２が示されている。また、右側は、サービス・プロバイダ側であり、ログイン・サーバ１２０、データ・サーバ１２２、マップ・サーバ１２４、及び、各島（局所仮想空間）用のサーバ１２６、１２８、１３０が示されている。
【００１９】
図１において、データ・サーバ１２２には、島の構成要素（オブジェクトの情報や数や種類）に関する情報を含め、以下の情報が保存され、適宜更新される。
- 各ユーザの情報
・ 名前、年齢、性別、生年月日、国籍などの個人情報
・ 趣味、特技などのその他のプロファイル
・ ユーザＩＤ、パスワード
- アバターの情報
・ 性別、体系、顔、髪型、服装、アクセサリーなど  
- 通貨に関する情報
- 各島で催されるイベントに関する情報
・島毎のアクセス管理リスト
・各島上で作成、あるいは構築されている建造物などのオブジェクトのリスト
・ 開催日、時間、場所など
【００２０】
上記ユーザの個人情報やプロファイルは、好適には、ユーザがこの仮想世界システムのアカウントを新たに申し込むときに、所定の入力画面（図示しない）にユーザに記入してもらうことにより取得する。その後、ユーザの方で個人情報やプロファイルに変更があった場合は、ユーザが自発的に所定のメニューから情報を入力し直すことによって、プロファイルの情報が変更される。
【００２１】
また、マップ・サーバには、以下の情報が保存され、適宜更新される。
- 島の位置関係（オリジナル座標、各ユーザごとのマップ後の島の位置座標）
- アバターの位置座標（どの島のどの位置座標かということ）
- 島と島を結ぶ橋の情報 （座標、コネクションポイントなど。このユーザごとに保持される）
なお、各ユーザごとのマップ後の島の位置座標というのは、本発明特有の概念であるので、後で詳述する。
【００２２】
任意のユーザＸが、この仮想世界システム上で活動するためには、先ず、そのユーザＸのクライアント・コンピュータ１０２が、仮想世界システムにログインする必要がある。このため、任意のユーザは、本実施例では、この仮想世界専用のブラウザを介して、仮想世界システムにアクセスする。仮想世界専用のブラウザは、所定のＵＲＬからダウンロード可能であり、任意のユーザは、事前に仮想世界専用のブラウザを自分のクライアント・コンピュータにダウンロードして、導入しておく。ユーザが仮想世界専用のブラウザを立ち上げると、ログイン・サーバ１２０は、その仮想世界専用のブラウザと通信して、ユーザ専用のユーザＩＤとパスワードを求める。
【００２３】
もしユーザがまだ、ユーザＩＤとパスワードをもっていないなら、ここで、ユーザは、この仮想世界システムのアカウントを取得する手続を行う。こうして、ユーザが、自分のユーザＩＤとパスワードを入れると、ログイン・サーバ１２０は、データ・サーバ１２２に予め保存されている、適切な複数のユーザＩＤとパスワードの組を照会し、そこに、ユーザが入力した、ユーザＩＤとパスワードの組が見つかると、そのユーザを適切なユーザとして認証し、以下は、データ・サーバ１２２及びマップ・サーバ１２４の情報に基づき、ユーザのアバタが滞在する位置の島に対応して、その島を管理・制御するサーバと接続される。図１では、ユーザ１、ユーザ２がサーバＡと、ユーザ３、ユーザ４がサーバＢと、・・ユーザＮが、サーバＭと接続されている様子が示されている。例えば、ユーザ１、ユーザ２がサーバＡと接続されている、ということは、島Ａに、ユーザ１及びユーザ２が滞在している、ということを意味する。
【００２４】
このとき、上述したように、個々の島でのオブジェクトやイベントの情報の少なくとも一部は、データ・サーバ１２２にある。このようにデータ・サーバ１２２上で、島の情報を統合的に管理する理由は、この仮想世界システム全体で、大域的にイベントやオブジェクトの情報を管理できるようにするためである。このため、データ・サーバ１２２と、個々の島のサーバ１２６、１２８・・・１３０とは、頻繁に通信が行われる。
【００２５】
一方、マップ・サーバ１２４は、ユーザが島から島へ移動するときの、そのユーザに対する島のマップを提供する。それは、ユーザに対する、複数の島の配置のビューであると言ってもよい。すなわち、ユーザのアバタの、ある島内での活動に限定するなら、マップ・サーバ１２４の与える島のマップの情報は、本質的ではなく、アバタが島から島へ移動するとき、アバタが上空から、複数の島の配置を眺めるとき等に、実質的に意味をもつ。
【００２６】
本発明の好適な実施例では、そのようなマップは、個々のユーザのプロファイルに基づき、ユーザ毎に用意される。
【００２７】
次に、図２を参照して、図１で参照番号１０２、１０４・・・１１２のように示されているクライアント・コンピュータのハードウェア・ブロック図について、説明する。
【００２８】
図２において、クライアント・コンピュータは、図１でブロック１０２、１０４等で示されているものであり、メイン・メモリ２０６、ＣＰＵ２０４、ＩＤＥコントローラ２０８をもち、これらは、バス２０２に接続されている。バス２０２には更に、ディスプレイ・コントローラ２１４と、通信インターフェース２１８と、ＵＳＢインターフェース２２０と、オーディオ・インターフェース２２２と、キーボード・マウス・コントローラ２２８が接続されている。ＩＤＥコントローラ２０８には、ハードディスク２１０と、ＤＶＤドライブ２１２が接続されている。ＤＶＤドライブ２１２は、必要に応じて、ＣＤ−ＲＯＭやＤＶＤから、プログラムを導入するために使用する。ディスプレイ・コントローラ２１４には、ＬＣＤ画面をもつディスプレイ装置２１６が接続されている。ディスプレイ装置２１６には、接続されている仮想世界サーバから送られているアバタやオブジェクトなどが、レンダリング表示される。この実施例では、レンダリングは、サーバ側でなく、クライアント側で行われる。
【００２９】
ＵＳＢインターフェース２２０には、必要に応じて、特殊なボタンをもつ専用コントローラ、加速度センサ・デバイスなどが接続され、仮想世界内でアバタを便利に操作するために使用される。
【００３０】
オーディオ・インターフェース２２２には、スピーカ２２４と、マイク２２６が接続されている。このクライアント・コンピュータに、音声合成機能を備えることにより、仮想世界内で、相手のアバタのチャット内容を、スピーカ２２４から音声化して出力することができる。また、さらに、音声認識機能を備えることにより、仮想世界内で、ユーザがマイク２２６に向かってしゃべった内容を、音声認識機能によってテキスト化し、相手のアバタに対して、チャットの内容として送出するようにすることができる。
【００３１】
キーボード・マウス・コントローラ２２８には、キーボード２３０と、マウス２３２が接続されている。キーボード２３０は、典型的には、仮想世界内で、チャットのメッセージを書くために使用される。また、キーボード２３０は、専用コントローラを使わない場合、アバタをジャンプさせたり、進めたりするためにも使用される。マウス２３２は、仮想世界内で、メニューから動作を選択し実行したり、仮想世界内のオブジェクトの属性を確認したりセットするために使用される。
【００３２】
ＣＰＵ２０４は、例えば、３２ビット・アーキテクチャまたは６４ビット・アーキテクチャに基づく任意のものでよく、例えば、例えば、インテル社のＰｅｎｔｉｕｍ（商標）４、ＡＭＤ社のＡｔｈｌｏｎ（商標）などを使用することができる。
【００３３】
ハードディスク２１０には、少なくとも、オペレーティング・システムと、オペレーティング・システム上で動作する仮想世界ブラウザ（図示しない）が格納されており、システムの起動時に、オペレーティング・システムは、メインメモリ２０６にロードされる。オペレーティング・システムは、Ｗｉｎｄｏｗｓ  ＸＰ（商標）、Ｗｉｎｄｏｗｓ  Ｖｉｓｔａ（商標）、Ｌｉｎｕｘ（商標）などを使用することができる。
【００３４】
通信インターフェース２１８は、オペレーティング・システムが提供するＴＣＰ／ＩＰ通信機能を利用して、イーサネット・プロトコルなどにより、仮想世界サーバと、通信する。
【００３５】
図３は、仮想世界サービス・プロバイダ側のハードウェア構成の概要ブロック図である。図３に示すように、通信経路３０２に、ログイン・サーバ１２０、サーバ（Ａ）１２６、・・・サーバ（Ｂ）１２８、サーバ（Ｍ）１３０、データ・サーバ１２２、及びマップ・サーバ１２４が接続され、これら任意のサーバ間で、通信経路３０２を介して通信可能である。これらのサーバ間の通信は、好適には、１０００Ｍｂｐｓの１０００ＢＡＳＥ−Ｔイーサネット（商標）である。
【００３６】
これらのサーバとして、これらに限定されないが、インターナョナル・ビジネス・マシーンズ・コーポレーションから購入可能な、ＩＢＭ（商標）Ｓｙｓｔｅｍ  Ｘ、Ｓｙｓｔｅｍ  ｉ、Ｓｙｓｔｅｍ  ｐなどのサーバを使うことができる。
【００３７】
図４は、仮想世界サービス・プロバイダ側の論理的な構成を示す概要ブロック図である。図４に示すように、データ・サーバ１２２のディスク（図示しない）には、この仮想世界のユーザ・プロファイル４０２と、島の情報４０４が保存されている。ユーザ・プロファイル４０２は、各ユーザ毎のユーザ・プロファイル４０２ａ、４０２ｂ、４０２ｃ・・・からなる。１つのユーザ・プロファイルは、性別、年齢、職種、居住地、出身地、家族構成、学歴、ユーザＩＤ、パスワード、 アバターの情報（アバタの性別、体系、顔、髪型、服装、アクセサリー）などの情報を含む。好適には、ユーザ・プロファイルはさらに、スポーツ、音楽、保有不動産、株などの情報を含む。ユーザ・プロファイルの情報は、ユーザが、この仮想世界サービス・プロバイダのアカウント申請するときに、質問事項に回答することにより、あるいはその後のユーザの追加入力により、保存される。
【００３８】
ユーザのプロファイルは、例えば、本出願人に係る特開２００５−２３５０１４に開示されているような技術によって、自動的に抽出することもできる。
【００３９】
島の情報４０４は、各島毎の情報４０４ａ、４０４ｂ、４０４ｃ・・・からなる。島の情報は、その島で流通する通貨に関する情報、アクセス管理リスト、島上で作成、あるいは構築されている建造物などのオブジェクトのリスト、 開催日、時間、場所などの、催されるイベントに関する情報等を含む。島の情報は、好適には、データ・サーバ１２２が各島のサーバと通信することにより、最新の情報に更新される。
【００４０】
マップ・サーバ１２４のディスク（図示しない）には、マップ情報４０６と、マップ情報４０６を計算するためのマップ計算モジュール４０８が保存されている。マップ情報４０６は、各ユーザ毎に対応するマップ情報４０６ａ、４０６ｂ、４０６ｃ・・・からなる。マップ情報は、あるユーザがこの仮想世界サービスにログインしたときに、そのユーザが眺める各島の配置のマップを提供する。このマップ情報は、各島の配置以外に、好適には、マップされた空間における、島間の道あるいは海などの境界の情報、及び各島に滞在するアバタの情報等も含む。
【００４１】
マップ計算モジュール４０８は、ユーザ・プロファイル４０２と、島の情報４０４を使用して、マップ情報４０６を計算する。より具体的には、あるユーザに対応するマップ情報４０６ａは、そのユーザに対応するユーザ・プロファイル４０２ａと、各々の島の情報４０４ａ、４０４ｂ、４０４ｃ・・・から計算される。同様に、別のユーザに対応するマップ情報４０６ｂは、そのユーザに対応するユーザ・プロファイル４０２ｂと、各々の島の情報４０４ａ、４０４ｂ、４０４ｃ・・・から計算される。マップ計算モジュール４０８の計算プロセスは、本発明の特徴の１つであるので、後で詳細に説明する。
【００４２】
ところで、図４には、ログイン・サーバ１２０は、表示を省略されている。それは、一旦ユーザがログイン・サーバ１２０を通じて、この仮想世界にログインすると、最早ユーザは、ログイン・サーバ１２０をパススルーして、直接、そのユーザが滞在する島のサーバに接続されている、とみなすことができるからである。
【００４３】
さて、各島のサーバ（Ａ）１２６、サーバ（Ｂ）１２８、・・・サーバ（Ｍ）１３０は、必要に応じて、データ・サーバ１２２にアクセスして、ユーザ・プロファイル４０２の情報を取得する。それは、ユーザ・プロファイル４０２に、ユーザのアバタの情報があるからであり、島のサーバ（Ａ）１２６、サーバ（Ｂ）１２８、・・・サーバ（Ｍ）１３０は、この情報を使用して、その島上にいるアバタのモデル情報を、ログインしているユーザのクライアント・コンピュータ２００（図２）に送り、クライアント・コンピュータ２００は、そのディスク２１０に保存され、メイン・メモリ２０６にロードされた仮想空間ブラウザ（図示しない）のレンダリング機能により、ディスプレイ２１６に描画する。
【００４４】
各島のサーバ（Ａ）１２６、サーバ（Ｂ）１２８、・・・サーバ（Ｍ）１３０はまた、必要に応じて、データ・サーバ１２２にアクセスして、対応する島の情報４０４を更新する。
【００４５】
各島のサーバ（Ａ）１２６、サーバ（Ｂ）１２８、・・・サーバ（Ｍ）１３０はさらにまた、必要に応じて、マップ・サーバ１２４にアクセスして、マップ情報４０６を更新する。クライアント・コンピュータは、マップ・サーバ４０８上で、そのユーザに対応するマップ情報４０６にアクセスし、それによって取得した情報を、取得する。その取得したマップ情報は、クライアント・コンピュータが、複数の島を含むビューを描画する際に使用される。例えば、そのクライアント・コンピュータのユーザが、上空に飛翔して、複数の島を鳥瞰するとき、あるいは、島と島の間の道を歩くとき、などがそれに該当する。あるいは、１つの島内にいても、近隣の島の景色が見える場合には、同様の状況が発生する。すなわち、クライアント・コンピュータは、マップ情報と、サーバから取得した、当該ユーザのアバタの現在位置とから、クライアント・コンピュータの画面に描画すべき島の情報を判別して、マップ・サーバ１２４に、描画データの要求を出す。マップ・サーバ１２４は、その要求に基づき、該当する島に対して、描画のためのデータを要求し、それが送られたら、要求元のクライアント・コンピュータに返す。クライアント・コンピュータは、送られてきたデータに基づき、複数の島に亘る内容をレンダリング表示する。
【００４６】
次に、図５のフローチャートを参照することにより、マップ情報４０６の作成処理について説明する。図５のフローチャートに係る処理は、図４に示すマップ計算モジュール４０８で実行される。図５の処理を説明する前提として、マップ情報４０６で使用する特徴ベクトルを説明する。ここでの特徴ベクトルとは、次のようなものである。
【００４７】
Ｘ =（国籍：日本 = 13, 言語：日本語 = 12, 性別：男 = 1, 水泳：0, サッカー：1, 野球: 0, クラシック:0, ・・・）
ユーザのこれらの値は、アカウント作成時のユーザに対する問い合わせ、インターネットのＷｅｂ上での訪問履歴、物品購買履歴などに基づき取得することができ、アカウント作成後の仮想空間内での活動履歴に基づき、定期的に、特徴ベクトルの値を更新することができる。
【００４８】
一方、各島に対しても、同一の項目を含む特徴ベクトルが作成される。基本的には、島の特徴ベクトルは、データ・サーバ１２２に保存されている島の情報４０４に基づき、作成される。その例を示すと、下記のとおりである。
Ｙ =（国籍：米国 = 1, 言語：英語 = 1, 性別：なし = -1, 水泳：1, サッカー：0, 野球: 1, クラシック:0, ・・・）
島のこれらの値は、その島のオーナーのプロファイルの情報、その島でのイベントの履歴、島を訪れたアバタの履歴、などの情報に基づき決定され、好適は、自動的に且つ定期的に更新される。なお、「性別：なし = -1」で示されているように、該当しない場合は、そのことを示す特殊な値を入れるようにしてもよい。
【００４９】
また、特徴ベクトルの要素により値の大きさが異なるので、その絶対値の差の影響を低減するために、特徴ベクトルの各要素の値を正規化してもよい。あるいは、特定の要素を重視するように、異なる重み付けを用いてもよい。本発明のこの実施例では、ユーザの特徴ベクトルＸと、各島の特徴ベクトルＹの距離に基づいて、ユーザの趣味・嗜好に適合した島を、マップ情報４０６（図４）としての２次元空間上でどのように配置するか、という問題を取り扱うために、多次元尺度構成法（ＭＤＳ）を用いる。多次元尺度構成法は、多変量解析の一手法であり、分類対象の関係を、低次元空間における点の布置で表現する方法である。多次元尺度構成法とは、観測値である元の特徴ベクトルＸ(i),Ｘ(j)間の距離δi,jと、２次元空間に布置されたベクトルi,jの間の距離ｄi,jとの大小関係が維持されるように、布置を決定するものである。特に、この実施例では、多次元尺度構成法として、クラスカル(Kruskal)の方法を用いる。
【００５０】
図５に戻って、ステップ５０２では、先ず、あるユーザの特徴ベクトルＸと、各島の特徴ベクトルＹのセットを考える。すなわち、あるユーザの１つの特徴ベクトルＸと、各島についての複数の特徴ベクトルＹがN-1個あると仮定して、それらからなるN個の特徴ベクトルに、改めてＸ(i)（i = 1...N)と番号を振る。このN個の特徴ベクトルを、布置前の特徴ベクトルとして、そのベクトル間距離δi,jを下記の式により、計算し、そのベクトル間距離δi,jの大小関係を決める。
【数１】
0005160200.tif 000002
ここで、mは、特徴ベクトルの次元数である。
【００５１】
ステップ５０４では、布置後のベクトルの初期値が決定される。布置後のベクトルの初期値は、任意でよく、例えば、初期値として、乱数を与える。あるいは、齋藤  堯幸、宿久  洋著、「関連性データの解析法−多次元尺度構成法とクラスター分析法」共立出版  ２００６年９月１０日刊（以下、参考文献と称する）の１１０ページに記載されている方法によって、初期値を与えてもよい。
【００５２】
ステップ５０６では、下記の式により、布置後のベクトル間の距離ｄxyが求められる。この式は、ミンコフスキーのrメトリックと呼ばれ、通常、r >= 1である。r = 1の場合がマンハッタン距離、r = 2の場合がユークリッド距離と呼ばれる。この実施例では、r = 2とするが、rは1以上の任意の適当な値を選ぶことができる。
【数２】
0005160200.tif 000003
【００５３】
また、この実施例では、上記の式で、n = 2である。というのは、布置される空間は、２次元平面だからである。
【００５４】
ステップ５０８では、単調回帰法を用いて、変数
【数３】
0005160200.tif 000004
が、計算される。この変数を、この後、便宜上、ハットｄijとも呼ぶ。単調回帰法の概要を説明すると、次のとおりである。先ず、ステップ５０２で計算された、δi,jを、小さい順に並べる。その添え字に対応して、ｄijを並べる。例えば、δi,jについて、小さい順に、δ4,5, δ2,1,δ6,3・・・であるとすると、ｄijについても、ｄ4,5, ｄ2,1,ｄ6,3・・・と並べる。すると、ｄijは、初期的に乱数で与えられるので、小さい順に並ぶとは限らない。
【００５５】
もし、ｄ4,5 < ｄ2,1なら、δi,jとの単調関係が成立するので、ｄ4,5 = ハットｄ4,5とする。しかし、ｄ4,5 > ｄ2,1なら、δi,jとの単調関係が成立しないので、隣接する項の算術平均である、ｄb1 = (ｄ4,5 + ｄ2,1)/2を計算し、ｄb1と、次の項である、ｄ6,3を比較する。そうして、ｄb1  < ｄ6,3なら、ｄb1 = ハットｄ4,5 = ハットｄ2,1とおく。ｄb1  > ｄ6,3なら、算術平均をとる項をさらに増やす。上記参考文献の１０２ページ以下に、単調回帰法のより詳しい説明がある。
【００５６】
このようにして、単調変換ハットｄijが求まると、次の式により、適合度Ｓを計算する。
【数４】
0005160200.tif 000005
【００５７】
ステップ５１０では、適合度Ｓが収束したかどうか、すなわち、適合度Ｓの値の前のループからの変化が、ある値よりも小さくなったかどうかが判断される。適合度Ｓが収束していないと判断されると、ステップ５１２では、最急降下法により、空間布置が更新される。
【００５８】
最急降下法とは、適合度Ｓの、空間布置の変化に対する勾配を計算し、勾配方向の逆方向、すなわち、適合度Ｓが最も減少する方向の空間布置を選ぶ方法であり、最も簡単な方法は、数値計算におけるニュートン法を使用することである。より詳しい説明は、上記参考文献の１０７ページ以下に記載されている。あるいは、下記の文献に記載されている方法を用いることもできる。
J. W. Sammon, "A nonlinear mapping for data structure analysis, IEEE Transactions on Computers, C-18(5): 401-409 (1969)
【００５９】
こうして、最急降下法により、空間布置が更新されると、ステップ５０６では、更新された空間布置につき、ベクトル間距離ｄijが計算される。次に、ステップ５０８では、上述のようにして、単調回帰法によって、ｄijからハットｄijが計算され、これらのｄij及びハットｄijから、式（３）によって適合度Ｓが計算される。
【００６０】
ステップ５１０では再び、適合度Ｓが収束したかどうか判断され、ここで計算した適合度Ｓの値と、前回計算した適合度Ｓの値の差がある値よりも小さいと、収束したと看做されて、ステップ５１４に進む。
【００６１】
ステップ５１４では、得られた結果の空間布置ｄijに基づき、マップ情報が決定される。すなわち、前記特徴ベクトルを、Ｘ(i)（i = 1...N)とすると、このうちの１つがユーザの特徴ベクトルであり、その他が、各島の特徴ベクトルなのであった。すると、これらの特徴ベクトルＸ(i)（i = 1...N)を、２次元空間に、特徴ベクトルＸ(i)と特徴ベクトルＸ(j)の距離が、ｄijとなるように配置したものが、マップ情報となる。
【００６２】
図６は、このようなマップ処理の例を図式的に示す図である。図６の左側は、島Ａ、Ｂ、Ｃ、Ｄ、Ｅ、Ｆのオリジナル配置を示す。オリジナル配置では、島Ａの座標が（２，２）であり、島Ｂの座標が（４，４）である、等である。オリジナル配置は、本発明を適用しない場合に、全てのユーザに提示される島の配置である。
【００６３】
図６の右側は、ある特定のユーザに関して、図５の処理により作成されたマップ情報に基づき、オリジナル配置からマップされた島の配置を示す。図示されているように、このマップされた配置では、例えば、オリジナル配置では（２，２）の座標にあった島Ａが、座標（４，２）にマップされている。また、オリジナル配置では（５，６）の座標にあった島Ｄが、座標（５，３）にマップされている、等である。このマップ情報は、マップ・サーバ１２４に、マップ情報４０６として保持され、その特定のユーザが、この仮想世界システムにログインしたときは、オリジナル配置ではなく、マップ・サーバ１２４を介して、マップされた島の配置に基づき、仮想世界が提示される。
【００６４】
図７は、基本的には、図６の右側のマップされた配置を示すものであるが、実施例の追加の特徴として、島がマップされていない箇所に、通路７０２、追加のオブジェクト７０４及び７０６が、追加されている。このような、マップされた配置の空領域へのオブジェクトの追加は、ユーザからの要望により、あるいは、その他のオプション機能によって、マップ情報に対する追加の情報として、マップ・サーバ１２４によって付与される。
【００６５】
この追加のためのオブジェクトは、マップ・サーバ１２４が予め複数用意しておいて、ユーザ毎に、その固有のマップ情報により提供される仮想空間に、追加することができる。
【００６６】
また、図８に示すように、マップ・サーバ１２４は、マップする際に、隣接する島を、少しずれた位置で配置し、以ってユーザが、例えば、１つの島Ｄから隣接する島ＡまたはＦに移動しやすくすることができる。
【００６７】
ユーザが仮想空間にログインすると、ユーザのクライアント・コンピュータがその画面にレンダリング表示する内容は、基本的には全て、そのユーザに対応してマップ・サーバ１２４に格納されている、マップ情報４０６ａ乃至４０６ｃの１つを介して提供される。すなわち、クライアント・コンピュータの画面に表示する内容が、今、そのユーザのアバタがいる島内のオブジェクトや出来事に関するものであるなら、マップ情報は特に使われず、マップ・サーバ１２４はパススルーされて、図１などに示すように、クライアント・コンピュータと、その島に関するサーバが直接接続される。しかし、ある島にいても、近隣の島が見えたり、あるいは、島と島の間の道にいたり、上空を飛翔したりする場合は、複数の島の情報が、クライアント・コンピュータがレンダリング表示するために必要で、このため、島間の位置関係をマップするマップ情報が使用される。このとき、マップ・サーバ１２４は、マップ情報と、ユーザのアバタの視野とから、関連する島を検出し、その島のサーバに問い合わせして、得られた情報を、必要に応じて組みあわせて、クライアント・コンピュータに転送する役割を行う。
【００６８】
次に、簡単な例を用いて、別の観点から、多次元尺度構成法による島の配置の具体例を説明する。説明の便宜上、島の数を５とする。ここで、ユーザの特徴ベクトルをＸ、島の特徴ベクトルを、Ａ、Ｂ、Ｃ、Ｄ、Ｅとする。そして、各特徴ベクトル間のユークリッド距離を、上記式（１）で計算した例が、下記の表１である。
【表１】
0005160200.tif 000006
この表から見て取れるように、島Ａ、島Ｂ、島Ｃが、比較的ユーザの趣味嗜好に近く、島Ｄ、島Ｅは、ユーザの趣味嗜好から、相対的に遠い。
【００６９】
図９は、表１の６つの特徴ベクトルを、多次元尺度構成法に従い、２次元空間上に布置した例の図である。この図から見て取れるように、ユーザの趣味嗜好に近い島Ａ、島Ｂ、島Ｃは、ユーザＸの比較的近くに配置され、ユーザの趣味嗜好から、相対的に遠い島Ｄ、島Ｅは、ユーザＸから相対的に遠くに配置される。
【００７０】
このような配置が達成されるのは、多次元尺度構成法による布置図が、次元削減前の特徴ベクトル間距離の大小関係を保存しているからである。これにより、ユーザＸを基準としてみると、この配置は、ユーザの趣味嗜好を反映した距離関係になっていることを意味する。従って、ユーザを基点としたベクトルの位置関係をそのまま、仮想空間の島の再配置に適用することで、ユーザの興味を反映した島の隣接関係を構成することができる。尚、好適には、マップされたユーザＸの位置は、ユーザＸがこの仮想空間にログインした際の初期位置であり、これによって、ユーザＸは、ログインして直ちに、自分が興味がある島を見渡して、訪ねることが可能となる。
【００７１】
図１０は、図９よりも大域的に、仮想空間内で、本発明に従いマップされた島の配置を示す図である。図１０から見て取れるように、本発明に従えば、例えば、企業色の強い島の領域と、大学色の強い島の領域が、別のクラスタとしてあらわれる。
【００７２】
図１１は、図１０よりもさらに大域的に、仮想空間内で、本発明に従いマップされた島の配置を示す図である。図１１に示すように、本発明によれば、ユーザの特徴ベクトルに応じて、大域的に、類似するカテゴリの島がクラスタリングされる。これにより、ユーザが、ある特定のカテゴリの島を訪れる際、興味がもてる島が多数隣接してあらわれるので、目視その他の方法で興味がある島を探す手間が省けて、仮想空間の利便性が飛躍的に高まる。
【００７３】
尚、ユーザ毎の特徴ベクトルの値は、先ずユーザがこの仮想世界に初めてアカウントをもつとき、決定されるが、時間が経つと、ユーザのプロファイルは変化するし、何よりも、島のイベントなどの情報は、刻々と変化するので、マップ情報は、適宜更新することが望ましい。このため、マップ・サーバ１２４は、定期的、あるいは、島の新しいイベントの検出に応答したタイミングなどに、ユーザ・プロファイル４０２と、島の情報４０４を使って、マップ計算モジュール４０８により、マップ情報４０６を、ユーザ毎に更新する。
【００７４】
また、上記実施例では、各ユーザのプロファイルや嗜好から、特徴ベクトルを構成し、それと各島のプロファイル、イベントなどの情報を含む特徴ベクトルを、多次元尺度構成法などの方法により、２次元にマップするユーザ固有のマップ情報を作成して、ユーザがログインしたときはそのユーザ固有のマップ情報を使うようにしたが、予め典型的な複数のお勧めのマップ情報（例えば、クラシック音楽ファン用、サッカーファン用など）を用意しておき、ユーザのログイン時に選ばせるようにしてもよい。
【００７５】
更に、上記実施例では、マップ情報を作成するために、多次元尺度構成法のうち、特に、クラスカルの方法を用いたが、本発明は、これ限定されず、多次元尺度構成法のうち、非計量的多次元尺度構成法といわれる技法全般を使用することができる。非計量的多次元尺度構成法としては、上述のクラスカルの方法以外に、Shepard の方法や Guttman の方法等が知られており、これらの方法も、本発明に使用可能である。
【図面の簡単な説明】
【００７６】
【図１】仮想世界にアクセスするための、クライアント・コンピュータとサーバ・コンピュータの接続の様子を示すブロック図である。
【図２】クライアント・コンピュータのより詳しい構成を示すブロック図である。
【図３】サーバ内の構成を示すブロック図である。
【図４】サーバ内の論理ブロックを示す図である。
【図５】マップ情報を布置するための処理のフローチャートである。
【図６】オリジナル位置から、島がマップされる様子を示す図である。
【図７】マップされた仮想空間の例を示す図である。
【図８】隣接する島の配置の例を示す図である。
【図９】マップされた配置における、ユーザと島の相対的な配置を示す図である。
【図１０】マップされた大域的な島の配置を示す図である。
【図１１】マップされた、さらに大域的な島の配置を示す図である。
【図１】
0005160200.tif 000007
【図２】
0005160200.tif 000008
【図３】
0005160200.tif 000009
【図４】
0005160200.tif 000010
【図５】
0005160200.tif 000011
【図６】
0005160200.tif 000012
【図７】
0005160200.tif 000013
【図８】
0005160200.tif 000014
【図９】
0005160200.tif 000015
【図１０】
0005160200.tif 000016
【図１１】
0005160200.tif 000017