(57)【特許請求の範囲】
【請求項１】
コンピュータで生成された三次元仮想環境へウエブ・コンテンツを取り込む方法において、
仮想環境クライアントをコンピュータ上で実行し、アバターが仮想環境内に固定された位置近傍にいる場合にユーザが三次元表面を見れるようにした時に、仮想環境クライアントにより提供された仮想環境内の前記固定位置における三次元表面上に関連付ける第一のＵＲＬと第一のブラウザ状態を、仮想環境サーバから受信し、
（Ａ）第一のＵＲＬとブラウザ状態をウエブ・ブラウザに受け渡し、第一のＵＲＬとブラウザ状態に関連付けられたウエブ・コンテンツを、コンピュータ上で実行するウエブ・ブラウザで獲得できるようにするステップと、
（Ｂ）前記ウエブ・コンテンツを、前記コンピュータのバッファに記憶するステップと、
（Ｃ）前記仮想環境クライアントが、前記ウエブ・コンテンツを、前記三次元の仮想環境位置における三次元表面上に配置して、仮想環境内の固定位置における三次元表面上のウエブ・コンテンツを、前記ユーザが見ることを可能にするステップと、
（Ｄ）前記仮想環境クライアントにより提供された前記仮想環境内の前記固定位置における三次元表面上に関連付けられた第二のＵＲＬを、前記仮想環境クライアントのユーザが指定する入力処理を受信するステップと、
（Ｅ）前記ウエブ・ブラウザから、第二のブラウザ状態を取得し、前記第二のＵＲＬと第二のブラウザ状態を仮想環境サーバに受け渡すステップと、
（Ｆ）仮想環境の他の複数のユーザに関連付けられた複数のアバターが仮想環境の前記固定位置近傍にいるとき、前記仮想環境サーバにより、前記第二のＵＲＬと第二のブラウザ状態を、仮想環境の他の複数ユーザの複数仮想環境クライアントに受け渡すステップと
を有する
ことを特徴とするコンピュータで生成された三次元仮想環境へウエブ・コンテンツを取り込む方法。
【請求項２】
前記ウエブ・コンテンツは、前記仮想環境クライアントから独立した、前記ウエブ・ブラウザにより得られる
ことを特徴とする請求項１記載の方法。
【請求項３】
前記ウエブ・コンテンツは、仮想環境サーバから独立した、前記ウエブ・サーバにより得られる
ことを特徴とする請求項１記載の方法。
【請求項４】
（Ｇ）前記三次元表面から、ＵＲＬを得るステップと、
前記ＵＲＬは、前記（Ａ）ステップの間使用され、前記ウエブ・ブラウザを、前記ウエブ・コンテンツを得るように、指示し、前記ＵＲＬは、クッキーと
ＪａｖａＳｃｒｉｐｔ変数とを有するブラウザ状態情報を含む
を更に有する
ことを特徴とする請求項１記載の方法。
【請求項５】
（Ｈ）ユーザから、前記ウエブ・コンテンツに関連する入力を受領するステップ
前記入力は、前記ウエブ・コンテンツを更新するインストラクションを含む
を更に有する
ことを特徴とする請求項１記載の方法。
【請求項６】
（Ｉ）前記インストラクションに関連する新たなＵＲＬを獲得するステップと、
（Ｊ）前記新たなＵＲＬと前記ブラウザ状態情報を、前記ウエブ・サーバに転送するステップと、
これにより、更新済みウエブ・コンテンツを得る
を更に有する
ことを特徴とする請求項５記載の方法。
【請求項７】
（Ｋ）前記更新済みウエブ・コンテンツを、コンピュータ上でインスタンスで表されたウエブ・ブラウザで獲得するステップと、
（Ｌ）前記更新済みウエブ・コンテンツを、前記コンピュータのバッファに記憶するステップと、
（Ｍ）前記仮想環境クライアントが、前記更新済みウエブ・コンテンツを、前記三次元の仮想環境内に位置する三次元表面上に、配置するステップと、
を更に有する
ことを特徴とする請求項６記載の方法。
【請求項８】
仮想環境の複数のユーザに、前記複数のユーザが前記仮想環境内のウエブ・コンテンツ位置に遭遇したときに、ウエブ・コンテンツにアクセスさせる方法において、
（Ｎ）ＵＲＬと初期ブラウザ状態を、ウエブ・コンテンツ位置が埋め込まれた三次元の仮想環境内の三次元表面に関連付けるステップと、
（Ｏ）前記複数のユーザが仮想環境内のウエブ・コンテンツ位置に遭遇したときに、前記ＵＲＬと初期ブラウザ状態を、三次元表面を記述するパラメータと共に、前記三次元の仮想環境の複数ユーザに転送するステップと、
（Ｐ）複数ユーザの一人と仮想環境内の前記三次元表面との相互作用に基づいて、コンピュータで生成された三次元仮想環境の前記複数ユーザの一人から、更新したＵＲＬと更新したブラウザ状態を受信するステップと、
（Ｑ）複数の他ユーザの少なくとも幾人かが仮想環境内のウエブ・コンテンツ位置に遭遇したときに、コンピュータで生成された三次元仮想環境の前記他のユーザの少なくとも幾人かに対して、更新したＵＲＬと更新したブラウザ状態を送信するステップと、
を有する
ことを特徴とする仮想環境の複数のユーザに、前記仮想環境内のウエブ・コンテンツにアクセスさせる方法。
【請求項９】
前記ＵＲＬにより、前記三次元の仮想環境のユーザが、前記仮想環境をサポートするサーバとは無関係のウエブサーバから、前記ＵＲＬに関連するウエブ・コンテンツを得ることができ、
前記三次元の表面を記述するパラメータにより、前記ウエブ・コンテンツは、前記仮想環境内にマッピングされ、
前記初期ブラウザ状態により、前記ユーザは、前記仮想環境内のウエブ・コンテンツと同期したビューを有することができる
ことを特徴とする請求項８記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信セッションに関し、特に、仮想環境内にウエブ・コンテンツを含ませる方法と装置に関する。
【背景技術】
【０００２】
仮想環境は、現実の或いは空想上の三次元環境をシミュレートし、多くの参加者が、互いに相互作用（例、対話）し、また仮想環境内の構築物と相互作用する。これは、遠隔地のあるクライアントを介して行われる。仮想環境が使用される１つのコンテキストは、ゲームに関連するが、仮想環境用の他の使用例も又開発されている。
【０００３】
仮想環境においては、現実の世界或いは空想上の世界は、コンピュータ・プロセッサ／メモリ内にシミュレートされる。多くの人は、コンピュータ・ネットワーク（例、ＬＡＮ、ＷＡＮ、インターネット）を介して、仮想環境に参加する。各プレーヤーは「アバター」を選択する。この「アバター」は、仮想環境内でプレーヤーを代表する人或いは他のオブジェクトの三次元表示である。参加者は、コマンドを仮想環境サーバに送る。この仮想環境サーバが、仮想環境を制御して、彼等のアバターが仮想環境内で動けるようにする。かくして、参加者は、彼等のアバターが仮想環境内の他のアバター或いは他のオブジェクトと相互作用させることが、できる。
【０００４】
仮想環境は、仮想−現実の三次元マップの形態をとり、実際、現実の世界で一般的に経験する屋内、屋外或いは他の仮想環境表示を含む。仮想環境は、複数のオブジェクト、人々、動物、ロボット、アバター、ロボットアバター、特殊なエレメント、オブジェクト／環境を含み、これにより、アバターがアクティビティに参加できる。参加者は、彼等のコンピュータ上で仮想環境クライアントを介して、仮想環境内にプレゼンスを確立する。それを通して、彼等は、アバターを創設し、このアバターを仮想環境内で生活させる。
【０００５】
アバターが、仮想環境内を移動すると、アバターが見るビューは、アバターが仮想環境内のどこにいるかによって、変わる。このビューは参加者に表示され、その結果、アバターをコントロールしている参加者は、アバターが見ているものを見ることができる。更に多くの仮想環境により、参加者は、様々なビューポイントに、例えばアバターの外の好ましいポイントから、切り替わることができる。その結果、アバターが、仮想環境内にいる場所を見ることができる。
【０００６】
参加者は、アバターを従来の入力デバイス（例、マウス、キーボード）を用いて制御できる。この入力は、仮想環境クライアントに送られる。この仮想環境クライアントが、コマンド（入力）を仮想環境サーバに送る。この仮想環境サーバが、仮想環境を制御し、仮想環境の表示を参加者のコンピュータのディスプレイを介して、参加者に提供する。
【０００７】
仮想環境が如何に設定されるかに応じて、アバターは、仮想環境を観測し、仮想環境内の他のアバター、モデル化されたオブジェクト、仮想環境内のロボット化されたオブジェクト、或いは仮想環境そのものと相互作用する（即ち、アバターが仮想環境内で湖或いは川に泳ぎに行く）ことができる。このような場合、クライアントの制御入力は、モデル化されたオブジェクトの変化を引き起こすことができる。例えば、他のオブジェクトを動かしたりドアを開けたりすることができる。これは、仮想環境内の他のアバターがその後経験することである。
【０００８】
仮想環境内で、あるアバターによる他のモデル化されたオブジェクトとの「相互作用」は、アバターに対するクライアント制御入力の受領に応じて、仮想環境サーバが、モデル化された環境内の相互作用をシミュレートすることを意味する。あるアバターによる他のアバター又はオブジェクト又は仮想環境或いは自動化された又はロボット化されたアバターとの「相互作用」は、ある場合は、他のアバター、オブジェクト、仮想環境、自動化された又はロボット化されたアバターに影響する、或いはそれ等が観測したり経験する結果となる。
【０００９】
仮想環境は、ユーザのために生成されるが、より一般的には、仮想環境は、永続的である。この状態においては、仮想環境は、継続し続け、ユーザが仮想環境と相互作用しない時でも、仮想環境サーバによりサポートされている。かくして、仮想環境に複数のユーザがいる場合には、仮想環境は、ユーザがログインしていない時でも展開し続け、その結果、ユーザは、前回見えていたものから変化した仮想環境に、次回は入ることができる。
【００１０】
仮想環境は、オンラインゲームで一般的に使用される。例えばオンラインのロールプレイングゲームで使用される。このゲームでは、ユーザは、キャラクターの役目を果たし、そのキャラクターのアクションの大部分を制御する。ゲーム以外に、仮想環境は、実生活環境をシミュレートするのにも使われる。例えば、オンライン教育、トレーニング、ショッピング、会議、ユーザのグループ間の相互作用、或いは会社とユーザとの間の相互作用を提供できる。
【００１１】
アバターが、仮想環境内で他のアバターと遭遇すると、アバターにより表された参加者は、互いに通信（会話）することを選択できる。例えば参加者は、他の参加者と互いにタイプを打つことにより参加することができる。或いはオーディオ・ブリッジが確立されて、参加者が互いに話しをする事もできる。
【００１２】
ウエブ・コンテンツが、仮想環境内で表示されるのが好ましい場合もある。例えば仮想環境が小売りの形態で使用される場合には、特定の産物に関するウエブ・コンテンツを仮想環境内で表示するのが好ましい。しかし、仮想環境のエンジンは、テキスチャ（三次元表面上のビットマップ）は通常は変わらないという仮定の下で、形成されている。かくして、ウエブ・コンテンツは表面にテキスチャとしてマッピングされるが、ウエブ・コンテンツを更新し、ユーザがウエブ・コンテンツと相互作用させることは、難しい。
【００１３】
ビジネスのコンテキスト（三次元の仮想環境が仕事の協力関係で用いられる）においては、ユーザが仮想環境を継続的に見ることができることが、重要である。ユーザが別のものを見ている場合には、ユーザは協力関係を維持することはできない。ウエブ・コンテンツが仮想環境内に含まれる場合には、同一のウエブ・コンテンツを全ての参加者（ビューラー）が見ることができなければならない。
【００１４】
ウエブ・コンテンツを含める１つの方法は、手動でウエブ・コンテンツを静的な二次元のテキスチャに変換し、その後このテキスチャを、コンピュータで生成された三次元仮想環境（以下単に「三次元仮想環境」と称する）にいる複数のユーザに配布することである。この解決方法は、バンド幅の効率がよいが、これは、静的なテキスチャは各クライアントで容易にキャッシュ（記憶）できるからである。しかし手動でそれを更新しなければならず、ユーザとの相互作用（会話）を提供できない。具体的には、ウエブ・コンテンツは、静的であるために、ユーザは、ウエブ・コンテンツと相互作用することはできない。例えば、ウエブサイトの他の領域へのリンクにアクセスすることができない。
【００１５】
ウエブ・コンテンツを含める第２の方法は、ウエブ・コンテンツをサーバにダイナミックな状態におき、その結果を、ユーザに２Ｄテキスチャとして提供することである。この方法は、上記の手動による更新の問題を解決するが、ユーザは、ウエブページと相互作用（会話）する事ができない。ウエブ・コンテンツはダイナミックな状態に置かれているために、バンド幅の要件が、ウエブ・コンテンツを手動で変換する場合よりも、若干高くなる。従って、ウエブ・コンテンツは、サーバ内に、カスタム・レンダラー（custom renderer）を用いて、置かれるが、このカスタムレンダラーは、全てのカスタマー・ブラウザの全てのフューチャをサポートするわけではない。かくして、含めることのできるコンテンツの種類（例えばＦＬＡＳＨビデオとカスタマーのウエブブラウザにプラグインすることによりサポートされる他のコンテンツ）は、制限される。
【発明の概要】
【発明が解決しようとする課題】
【００１６】
ウエブ・コンテンツを含める第３の方法は、ウエブ・コンテンツを三次元表面に直接マッピングすることである。このソリューションにより、各ユーザは、ウエブ・コンテンツと相互作用することができる。これは、例えばウエブ・コンテンツのリンクをクリックすることにより行うが、これにより、新たなコンテンツを三次元表面上に提供することができる。しかし、仮想環境の三次元表面にアプリケーションをマッピングすることは、極端に広いバンド幅が必要となる。具体的には、サーバは、ウエブ・コンテンツを三次元表面に置く必要があり、そしてこの新たなウエブ・コンテンツを、その三次元表面の近傍の各ユーザに与える必要がある。これは、コンテンツが変わる毎に行う必要があり、そしてフルモーションビデオのような大きなコンテンツに対しは、大きなバンド幅が必要である。更にコンテンツは、仮想環境のいかなるユーザでも制御することができるために、サーバは。複数のユーザが同時にアプリケーションを操作しようとする時に、誰が制御権を持べきかを仲介する必要がある。従って、仮想環境を含める新たな方法が求められている。
【課題を解決するための手段】
【００１７】
仮想環境サーバが、ＵＲＬと選択的事項としてクリッピングパラメータを記録し放送する。このＵＲＬは、仮想環境内の三次元表面に関連するものである。ユーザのアバターが、仮想環境内の三次元表面に遭遇すると、クライアントは、そのＵＲＬを得て、ウエブ・コンテンツを、標準のウエブ・ブラウザを用いて、確保する。ウエブ・コンテンツは、オフ・スクリーンのバッファ内に局部的に入れられる。オフ・スクリーンのバッファからのウエブ・コンテンツは、その後テキスチャマップとして、仮想環境の三次元表面上に局部的に置かれる。かくして、ユーザは、三次元表面のウエブ・コンテンツと相互作用することができる。例えば、ウエブページ上のリンクや他のオブジェクトを選択することにより、相互作用できる。ユーザの１人が、、例えば、ウエブ・コンテンツ内のリンクをクリックすることにより、ウエブ・コンテンツと相互作用するときは何時でも、新たなＵＲＬを用いて、この新たなウエブ・コンテンツをオフ・スクリーンのバッファ上に置き、その後、このバッファから三次元表面に置く。
【００１８】
新たなＵＲＬと、関連するブラウザ状態（例：クッキー、Ｊａｖａ  Ｓｃｒｉｐｔ変数、Ｊａｖａ、ＦＬＡＳＨ、と他のプラグイン状態）が、クライアントからサーバに送られ、サーバは、他のユーザに関連する他のクライアント内のＵＲＬとブラウザ状態を、更新する。各ユーザのウエブ・ブラウザは、新たなＵＲＬ用のウエブ・コンテンツを得て、このブラウザ状態を用いて同一のコンテンツにする。クッキーを同期する事により、１人のユーザのアカウント／セッションが、共通のブラウジング・セッションで用いられる。しかし、全てのウエブアプリケーションが、同期したクッキーと共に働くわけではなく、従ってこのオプションは必要によっては、ディスエイブルしてもよい。各ユーザが、ウエブ・コンテンツを局部的に得ることができるようにすることにより、そしてウエブ・コンテンツを局部的に記憶することにより、共有されたアプリケーションを実行するのに必要なバンド幅を大幅に減らすことができる。サーバが、ＵＲＬとウエブ・ブラウザの状態を各クライアントに同期させることにより、各ユーザは、同一のウエブ・コンテンツを見ることができる。
【図面の簡単な説明】
【００１９】
【図１】本発明の一実施例により、コンピュータが生成した三次元仮想環境内でアプリケーションのアウトプット（例えばウエブ・ブラウザのコンテンツ）を共有できるようにするシステムの一部のブロック図。
【図２】三次元仮想環境の機能ブロック図。
【図３】三次元仮想環境の三次元表面上にアプリケーション・ディスプレイ（例：ウエブ・ブラウザアプリケーション）を如何にマッピングするかを表す図。
【図４】三次元仮想環境の三次元表面上にアプリケーション・ディスプレイ（例：ウエブ・ブラウザアプリケーション）を如何にマッピングするかを表す図。
【図５】本発明の一実施例により、ウエブ・ブラウザのウエブ・コンテンツを仮想環境内に含める実施例において、クライアントと仮想環境サーバとウエブ・サーバとの相互作用を表すフローチャート図。
【発明を実施するための形態】
【００２０】
図１において、本発明のシステム１０によれば、三次元仮想環境内で、アプリケーション出力（例、ウエブ・ブラウザのウエブ・コンテンツ）を共有できる。図１の実施例において、ユーザ１２は、仮想環境１４に、コンピュータ２２から、パケット・ネットワーク１６又は他の共通通信インフラを介して、アクセスできる。仮想環境１４は、仮想環境サーバ１８により実行（実現）される。ユーザ１２間の通信セッションは、通信サーバ２０により実行（実現）される。以下、本明細書において、「相互作用」「通信」「会話」は、特に断りのないかぎり、同意である。
【００２１】
仮想環境は、インスタンスを用いて実現実行される。各インスタンスは、仮想環境サーバによりホストされている。複数のインスタンスがある場合には、１つのインスタンス内のアバターは、他のインスタンス内のアバターのことについては、意識していない。従来、仮想環境の各インスタンスは、別個の世界と称する。ある世界のアバターは、同一の世界で他のアバターを有する他のユーザと、通信サーバ２０によりホストされた通信セッションを介して、通信できる。
【００２２】
仮想環境１４は、あらゆるタイプの仮想環境である。例えばオンラインゲーム用の仮想環境、オンラインストア用の仮想環境、オンラインのトレーニング設備、ビジネス作業、或いは他の目的用の仮想環境である。仮想環境は多くの理由により生成され、ユーザの相互作用が、特定の目的を達成するようデザインされている。仮想環境の使用は、ゲーム、ビジネス、小売り、トレーニング、ソシアル・ネットワーキング等と多くの態様を含む。
【００２３】
仮想環境は、それ自身の三次元（の座標軸）空間を有する。ユーザを表すアバターは、この三次元空間内を移動し、三次元空間内のオブジェクト又は他のアバターと相互作用する。仮想環境サーバは仮想環境を保持し、仮想環境内のユーザの位置に基づいて、各ユーザの為の視覚的表示を生成する。このビュー（視覚的表示）は、アバターが向いている方向と選択されたビューのオプションに依存する。この選択されたビューのオプションの一例は、ユーザがアバターの目を通して見ているかのような見え方を選択するか、ユーザが、アバターがいる三次元ビューを見るためにアバターから引き戻るのを選択するか、三次元コンピュータで生成された仮想環境内でアバターが何をしているか、である。
【００２４】
ユーザ１２はコンピュータ２２を有する。このコンピュータ２２を用いて、三次元仮想環境にアクセスする。コンピュータ２２は、仮想環境クライアント２４とユーザ・インターフェース２６を、仮想環境上で動かす。ユーザ・インターフェース２６は、仮想環境クライアント２４の一部又は別個のプロセスとして実行される。別個の仮想環境クライアントが、ユーザがアクセスしたい各仮想環境に必要とされる。しかし、特定の仮想環境クライアントは、複数の仮想環境サーバとインターフェースできる。通信クライアント２８は、ユーザが、この三次元仮想環境に参加している他のユーザと会話できるよう提供される。通信クライアントは、仮想環境クライアント２４とユーザ・インターフェース２６の一部であり、或いはコンピュータ２２上を走る別個のプロセスである。
【００２５】
ユーザは、三次元仮想環境の一部の表示を、ディスプレイ／オーディオ装置３０上で見て、コマンドを、ユーザ入力装置３２（例、マウス、タッチパッド、キーボード）を介して、入力する。ディスプレイ／オーディオ装置３０をユーザが用いて、仮想環境に関与しながら、オーディオ情報を送受信する。例えば、ディスプレイ／オーディオ装置３０はスピーカーとマイクとを有するディスプレイ・スクリーンである。ユーザ・インターフェースが、仮想環境クライアントの制御の下で、ディスプレイに示された出力を生成し、ユーザからの入力を受領し、このユーザ入力を仮想環境クライアントに転送する。仮想環境クライアントは、このユーザ入力を仮想環境サーバに転送する。仮想環境サーバにより、ユーザのアバター３４又は他のオブジェクトは、ユーザの制御の下で、仮想環境内で所望のアクションを実行する。かくして、ユーザは、仮想環境の一部を制御する。例えば、人のアバター又はこのアバターに接触している他のオブジェクトを制御し、仮想環境の他のユーザの為に、仮想環境を変化させる。
【００２６】
アバターは、仮想環境内のユーザを表す人或いは他の創造物の三次元表現である。ユーザは、仮想環境用にプロファイルを生成した時に、アバターが見る方向を選択し、仮想環境内でこのアバターの動きを制御する。「アバターの動き」とは、例えば、アバターが、歩いたり、走ったり、泳いだり、話したり或いは他の類似の動きを言う。かくして、仮想環境１４内のアバターを表すブロック３４は、アバターが仮想環境でどのように見えるかと期待するものを示すものではない。アバターのアピアランス（外観）は、現実のものではない。その理由は、アバターの実際のアピアランスは、幾分異なっており、ユーザのプリファレンスに基づいて、カスタマイズされているからである。三次元仮想環境内のアバターの実際のアピアランスは、本発明の説明にとって重要なことではない。アバターは、簡単な形状或いは二次元の素描で表され、複雑な三次元の形状例えば人又は動物で、必ずしも表さなくてもよい。
【００２７】
図２は、三次元仮想環境の一例を示す。図２においては、アバター３４Ａはポストに取り付けられたサイン４２の前に立っている。ユーザは、ユーザ・インターフェース２６を用いて、アバターを仮想環境内を動き回らせ、仮想環境内のオブジェクトにアプローチさせることができる。ユーザは、アバターをサイン４２のところまで歩かせたり（図３）、アバターを楕円形のウインドウ４０まで歩かせたり（図４）、更にウインドウ４１とドア４３まで動かしたり、仮想環境内の何処にでも動かすことができる。図２においては、ユーザは、アバターの背後から仮想環境のビューが見えるような場所に位置し、アバターが仮想環境内の何処にいるかを見ることができる。別の構成として、ユーザには、アバターが仮想環境で見ているものを表すビューが与えられる。これは、あたかもユーザがアバターの目を通して、仮想環境内を覗いているように見える（図３、４）。
【００２８】
図２では、仮想環境内には、アバター３４Ａのみが示されている。仮想環境は、数百或いは数千のユーザが同時に利用できる。これにより、ユーザ間で情報やアイデアを共有できるようになるからである。更に、外部コンテンツを仮想環境内に含め、この外部コンテンツをユーザが共有することもできる。これにより、仮想環境の利用性が増す。その理由は、外部ソースからのコンテンツを仮想環境内に持ち込み、共有し、コンテンツ近傍にいる全てのユーザが操作方法を見たり、仮想環境内のコンテンツの類似のビューを有するよう操作できるようになるからである。コンテンツは、静的なコンテンツ（例、ウエブページ）でも、動的なコンテンツ（例、ＦＬＡＳＨビデオ或いは他のタイプのコンテンツ）でもよい。コンテンツは、局部的に受領されるので、ユーザのブラウザにプラグインすることによりサポートされ、その結果コンテンツの種類は、ユーザの技術的制約により制限されることはない。ブラウザ状態情報を共有することにより、仮想環境のユーザは、ウエブ・コンテンツの同期したビューを見ることができる。
【００２９】
図３は、仮想環境１４内の三次元表面５２に置かれるウエブ・ページ５０を示す。この実施例の三次元表面５２は、ポストに張られたサインに類似する。図４では、三次元表面５２が壁に張られた楕円形状の広告掲示板に類似する。以下参照番号５０を三次元表面、サイン、広告板とも称する。
【００３０】
仮想環境サーバは、ＵＲＬと仮想環境内の所望の表面とを関連付ける。テキスチャを三次元表面５２にマッピングするのではなく。サーバは、ＵＲＬを表面（選択的事項としてデフォルトのテキスチャ）に関連付ける。仮想環境サーバは、クッキー、Ｊａｖａスクリプト変数、Ｊａｖａ、ＦＬＡＳＨ、ＵＲＬに関連すべき他のプラグイン状態情報の初期の組を含む。更なる状態情報により、ウエブコンテンツを見ている仮想環境のユーザは、ウエブ・コンテンツの同期したビューを見ることができる。
【００３１】
仮想環境サーバは、クリッピングパラメータを関連付けて、クライアントに、利用可能な表面のサイズに関する情報を与え、ウエブページからのコンテンツは、仮想環境に置かれたときに如何にフォーマット化されるかの情報を与える。仮想環境サーバは、表面に関連する他の属性を特定する。属性の例は、誰がその表面に関連したコンテンツを見ることができるか、どのアバターがコンテンツと相互作用できるか、アバターは、コンテンツと相互作用する為に、特定のツール（例、仮想レーザーポインター）を用いる必要があるか、コンテンツ上に置かれた他の制限等である。
【００３２】
本発明の一実施例によれば、ウエブ・コンテンツ或いは他のアプリケーションで生成されたコンテンツを、クライアントが受領すると、それは、三次元仮想環境内の三次元表面にマッピングされる。アバター／ユーザは、コンテンツを見て、そのコンテンツと相互作用することができる。あるユーザの相互作用は、処理され、他の全てのアバターが見ることができる。かくして、アプリケーションは、三次元仮想環境内で共有される。仮想環境サーバは、ＵＲＬとブラウザ状態（ウエブ・コンテンツではなく）を送信するので、ウエブ・コンテンツを含めるために、仮想環境サーバが必要とするバンド幅の量は、最小となる。
【００３３】
仮想環境サーバは、一時に一人のみがコンテンツと相互作用をするできるよう、コンテンツを制限することを望む。このために、仮想環境サーバにより、ユーザは、コンテンツを外す（check out)ことができる。コンテンツをクリックしてコンテンツを選択し、２回目にクリックするとコンテンツの選択を外す。クライアントがコンテンツを外すことを選択すると、そのクライアントは、コンテンツに対しする制御権を他に譲るまで、必要に応じてコンテンツを更新するために、コマンドを発行する責任がある。仮想環境内のコンテンツを誰が制御するか、仮想環境内で制御を如何に共有するか、に関する制限を実行する多くの方法が、仮想環境内で実行されるポリシーに応じて、実現される。
【００３４】
図３は、アバターがサイン５２の前に立っている時に見ているビューを示す。このビューにおいては、サイン５２はフラットに見える。
図４は、アバターが別の角度からサインを見ている場合に、アバターが見ている同一のサインのビューを示す。このアングルからは、サインは、アバターには同じには見えない。アバターは、ある角度からサインを見ているが、この角度は、エッジからサインを見るのに近い角度である。アバターは、広告板４０に関連し同様な透視を見る。
図２のポイントからは、楕円形の広告板４０は、小さく見え、ある角度では三次元環境内に伸びるように見える。ユーザが、図４に示す部屋内を動くと、楕円形の広告板は、ユーザにとって平坦に見え、ユーザの前に見える。用語「三次元表面」とは、三次元の仮想環境のあらゆる表面を意味する。これは、表面が平坦な二次元の表面、或いは仮想環境内の別の三次元空間であるか否かとは無関係である。例えば、ウエブ・コンテンツを、サイン５２上に置かずに、ポスト５４の複数個の側面上に置いてもよい。
【００３５】
図１は、複数個の矢印（１−８を示し）を示す。矢印は、仮想環境内でアプリケーションを共有できるようにするプロセスを示す。図１の実施例においては、仮想環境は、ウエブ・サーバ１９から利用可能なウエブ・コンテンツを含むものと仮定し、ウエブ・コンテンツは、ウエブ・サーバ１９上のＵＲＬ１を介して、利用可能となると仮定する。
【００３６】
ウエブ・コンテンツを仮想環境で利用可能にするために、仮想環境サーバは、仮想環境を生成し、ＵＲＬ（ＵＲＬ−１）とブラウザ状態を、仮想環境の特定の領域に関連付ける。例えば、ＵＲＬ−１は、図２の仮想環境内のウインドウ４０又はサイン４２に関連付けられる。仮想環境パラメータは、ＵＲＬ（ＵＲＬ−１）を含むが、各ユーザに送信される（矢印１）。
【００３７】
仮想環境クライアント２４は、ユーザに対し仮想環境を提供（生成）する。仮想環境クライアントは、どのＵＲＬが仮想環境内に含まれるか決定し、このＵＲＬをユーザのコンピュータ上のウエブ・ブラウザ２５に送る（矢印２）。仮想環境クライアント２４は、ＵＲＬに関連するブラウザ状態情報があるか否かを決定し、ある場合には、ブラウザ状態情報を、ＵＲＬと共にウエブ・ブラウザ２５に送る。
【００３８】
ＵＲＬを受領すると、ウエ・ブブラウザ２５は、ウエブ・サーバ１９から、ＵＲＬに関連するコンテンツを、得る。具体的には、ウエブ・ブラウザ２５は、コンテンツを要求するリクエストを送り（矢印３）、そしてそのコンテンツを受領する（矢印４）。ウエブ・ブラウザ２５は、アバターが仮想環境内で表面に遭遇すると、ＵＲＬを要求する、或いは別の時点で、ＵＲＬを要求する。例えばウエブ・ブラウザ２５は、仮想環境内のアバターの特定の距離内にあるＵＲＬに関連するコンテンツ、特定の空間内にある全てのＵＲＬ内に関連するコンテンツを要求するよう、促される。
【００３９】
ウエブ・ブラウザがコンテンツを受領すると、そのコンテンツをバッファ２７内に入れる（矢印５）。コンテンツをバッファ２７内に入れることにより、仮想環境内に含まれて利用可能となる。ユーザのアバターが、ＵＲＬに関連する領域の近傍にいる時には、仮想環境クライアントは、バッファ２７からコンテンツを取り出し（矢印９）、それを、仮想環境のユーザのビュー内にある適宜の三次元表面上に置く。
【００４０】
コンテンツを得ること或いはコンテンツを置くことに関連して、ウエブ・ブラウザは、ＵＲＬと共に取り出したブラウザ状態を用いる。その結果、特定のＵＲＬを見ている全てのユーザは、同期する、例えば同期したクッキーを有する。ブラウザ状態の一例は、表示されているページのＵＲＬと、表示されているウエブページのドメインに関連するクッキーの組（ネームバリューの対）、Ｊａｖａスクリプトの変数、Ｊａｖａ、ＦＬＡＳＨ或いは他のプラグイン状態を含む。完全に同期したウエブディスプレイを各クライアントのコンピュータ上で得るためには、この状態アイテムの全てを同期する必要がある。しかし、本発明は、完全な同期を達成する実施例に限定されるものではない。特定の実施例は、同期の程度は、交換すべき状態の複雑さに、依存する。かくして、完全な同期を達成することが不可能な場合には、同期の程度は、状態情報を交換する複雑さとの妥協の産物である。
【００４１】
同期化クッキーにより、１人のユーザのアカウント／セッションが、コ・ブラウジング・セッションで用いられる。しかし、全てのウエブ・アプリケーションは、同期したクッキーで機能するものではない。かくしてこのオプションは、必要によっては、ディセーブルされる。
【００４２】
各クライアントは、このプロセスを並列に実行する。その結果、各クライアントは、ＵＲＬ１に関連したコンテンツのそれ自身のバージョンを、ウエブ・サーバ１９から得て、この状態情報を用いて、ウエブページのそのビューをウエブページの他のユーザのビューと同期させる。各クライアントは、コンテンツをウエブ・サーバから直接獲得するので、仮想環境サーバは、そのコンテンツを取る必要がなく、コンテンツを各ユーザに転送する必要もない。これにより、仮想環境サーバのバンド幅要件を減らす。その結果、仮想環境サーバが、仮想環境内のダイナミックなコンテンツを含めるのが容易となる。更に、コンテンツを含めることに関連する処理パワーは、実際に減らすことができる。その理由は、仮想環境サーバは、三次元表面のテキスチャを生成するために、コンテンツを使用する必要はなく、単にＵＲＬを表面に関連付けるだけであるからである。
【００４３】
以下の説明において、次のことを仮定する。ＵＲＬ−１に関連するコンテンツが、ＵＲＬ−２へのリンクを含み、ユーザ１２の１人が、第２のＵＲＬを見るために、そのリンクを利用することを選択するとする。図１の実施例においては、ユーザ１２は、第２のＵＲＬを選択したユーザであると仮定する。ユーザが、リンクをクリックする、或いは第２のＵＲＬを選択すると、仮想環境クライアント２４は、入力を、ユーザ・インターフェース２６を介して、受領し、この新たなＵＲＬを、ウエブ・ブラウザ２５に送る（矢印２）。ウエブ・ブラウザ２５は、コンテンツをウエブ・サーバ１９から受領し（矢印４）、それをバッファ２７に入れる（矢印５）。バッファ２７からそれを取り出し、その後、仮想環境クライアントに入れる。ＵＲＬに関連するコンテンツを獲得しそれを三次元表面上に置くプロセスを上記した。ＵＲＬをクリックすることは、ウエブ・ブラウザ２５の状態情報を更新することになる。
【００４４】
ユーザが、ＵＲＬをクリックして、新たなウエブページを得て、ウエブブラウザ状態を更新すると、仮想環境クライアント２４は、新たなＵＲＬと更新されたブラウザ状態とＵＲＬに関連する仮想環境座標軸（又は他の特定情報）を、仮想環境サーバ１８に送る（矢印７）。仮想環境サーバ１８は、この新たなＵＲＬと更新された状態情報を受領すると、この新たなＵＲＬと更新された状態情報を、他のクライアントに送る（矢印８）。他のクライアントが、この新たなＵＲＬと更新された状態情報を受領すると、ウエブ・サーバと相互作用して、新たなＵＲＬに関連するコンテンツを得る。更新された状態情報を用いて、ブラウザを、ＵＲＬをクリックした第１ユーザと同期させる。かくして、三次元表面に示されたコンテンツはユーザ間で同期する。
【００４５】
ＵＲＬは、特定のロケーションに置かれるか、或いは仮想環境内の領域内で同期が採られる。かくして、例えば、ＵＲＬは。広告板４０とサイン４２の両方に関連付けられる。同様に、ＵＲＬは、仮想環境の複数の領域内のスクリーンに関連付けられ、その結果、一人がある領域で仮想環境を操作し、同一のコンテンツを、仮想環境の複数の領域で見えるようにする事ができる。かくして、ウエブ・コンテンツにより、仮想環境の離れた場所にいる人も、同一のコンテンツを見ることができ、互いに近くにいない場合でも、視覚的に会話（通信）できる。
【００４６】
図５は、本発明の一実施例により、コンテンツが仮想環境内に組み込まれるプロセスのフローチャートである。図３に示すように、仮想環境サーバは、ＵＲＬを埋設した仮想環境を生成し、それを各クライアントに送る（１００，１００’）。各クライアントはウエブ・サーバにコンタクトし（１０２，１０２’）、ウエブ・コンテンツのコピーを得る（１０４，１０４’）。この実施例では、クライアントは、ウエブ・サーバから直接全てのコンテンツを得ているが、コンテンツは、別の方法で分配することもできる。例えば、ウエブサーバがコンテンツを仮想環境サーバに渡し（１０６）、それをクライアントに分配する（１０８，１０８’）ことにより、ウエブ・サーバがコンテンツを他のクライアントに分配するためにクライアントの１人に転送することにより、分配することができる。コンテンツを、通信ネットワーク上に分配する様々な方法があるが、本発明は、特定の方法に限定されない。
【００４７】
クライアントの一人が、新たなＵＲＬの選択となるコンテンツと相互作用すると（１１４）、この新たなＵＲＬと状態情報が、ウエブ・サーバに送られ、新たなウエブ・コンテンツがクライアントにダウンロードされる（１１６）。この新たなＵＲＬと状態情報は、仮想環境サーバに送信され（１１８）、仮想環境サーバにより、全ての他のクライアントと同期（内容が同一）が採られる（１２０）。他のクライアントが、新たなＵＲＬと状態情報を受領すると、クライアントは、このＵＲＬと状態情報をウエブ・サーバに送り（１２２）、新たなウエブ・コンテンツを得る（１２４）。
【００４８】
本発明の上記の実施例では、仮想環境に入れられるコンテンツは、ウエブ・コンテンツであったが、本発明は、他のアプリケーションからの出力にも適用される。例えば、クライアントの一人が、アプリケーション（例、コンピュータＣＡＤアプリケーション、ネットワーク上のサーバによりホストされるＣＡＤアプリケーション）を利用していると、アプリケーションの出力は、ユーザにストリームされ、バッファ２７に蓄えられる。必要によっては、仮想環境クライアント２４は、コンテンツを使用し、このコンテンツを仮想環境の三次元表面に置くこともできる。かくして、あらゆる数のアプリケーションの出力が、三次元の仮想環境に提供される。これは、クライアントがスクリーンデータをバッファ（記憶）する事により行われ、その結果、仮想環境クライアントにより局部的に処理されるアプリケーションが、三次元仮想環境の表面上に配置される。
【００４９】
上記の説明では、特定のモジュールとソフトウエアの一部は、外部コンテンツを三次元仮想環境に含まれるようにすることに関連する様々なタスクを実行してる。しかし、本発明は、この実施例に限定されず、コンピュータシステムのコンポーネンツ間の様々な機能の割り当て方法も実行できる。かくして、本発明の実施例は、特定のプログラミング技術に依存し、その実行と発明のために選択されたソフトウエア・アーキテクチャに限定されない。
【００５０】
上記の説明は、コンピュータで読みとり可能なメモリ内に記憶されるプログラミング・インストラクションとして実行され、コンピュータ内のプロセッサで実行される。しかし、当業者は、個別のコンポーネント、集積回路例えばＡＳＩＣ、プログラムロジック装置と共に使用されるプログラマブル・ロジック例えばＦＰＧＡ（Field Programmable Gate Array）、マイクロプロセッサ、状態機械、或いはそれ等の組み合わせを利用して、本発明を実行可能である。プログラマブル・ロジックは、一時的或いは永続的でメモリチップ、コンピュータメモリ、メモリスティック、ディスク、或いは他の記憶媒体で固定（記憶）される。
【００５１】
以上の説明は、本発明の一実施例に関するもので、この技術分野の当業者であれば、本発明の種々の変形例を考え得るが、それらはいずれも本発明の技術的範囲に包含される。特許請求の範囲の構成要素の後に記載した括弧内の番号は、図面の部品番号に対応し、発明の容易なる理解の為に付したものであり、発明を限定的に解釈するために用いてはならない。また、同一番号でも明細書と特許請求の範囲の部品名は必ずしも同一ではない。これは上記した理由による。用語「又は」に関して、例えば「Ａ又はＢ」は、「Ａのみ」、「Ｂのみ」ならず、「ＡとＢの両方」を選択することも含む。特に記載のない限り、装置又は手段の数は、単数か複数かを問わない。
【符号の説明】
【００５２】
１０  システム
１２  ユーザ
１４  仮想環境 
１６  パケット・ネットワーク
１８  仮想環境サーバ
１９  ウエブ・サーバ
２０  通信サーバ
２２  コンピュータ
２４  仮想環境クライアント
２６  ユーザ・インターフェース
２７  バッファ
２８  通信クライアント
３０  ディスプレイ／オーディオ装置
３２  ユーザ入力装置
３４  ブロック
３４Ａ  アバター
４０  ウインドウ
４２  サイン
４３  ドア
５０  ウエブ・ページ      コンテンツ要素
５２  三次元表面
図５
縦軸：ウエブ・コンテンツを得る      ウエブ・コンテンツを更新する
横軸：クライアント１  クライアント２  ＶＥサーバ    ウエブ・サーバ
【図１】
0005396461.tif 000002
【図２】
0005396461.tif 000003
【図３】
0005396461.tif 000004
【図４】
0005396461.tif 000005
【図５】
0005396461.tif 000006