(57)【要約】【課題】多ユーザソフトフェアアプリケーションにおける下り方向のトラヒックの問題に対する解決法を提供すること。【解決手段】多数のユーザは、仮想環境を、インタラクティブソフトウェアアプリケーションを通じて共有する。特定のユーザの状態変化を、この特定のユーザと他のユーザの各々との間の前記仮想環境における個々の相対的距離に応じて、一人以上の他のユーザに送信する。この条件付きの送信は、メッセージトラヒックを減少し、仮想環境を無制限に拡大縮小することを可能にする。【選択図】図２
2010191967.tif 000002
【特許請求の範囲】
【請求項１】
仮想環境を共有する多数のユーザ間で相互接続ネットワークを介した相互作用を可能にするソフトウェアアプリケーションを処理する方法であって、
−各ユーザのユーザインターフェイス装置が、対応する特定のユーザに関係する前記仮想環境における状態変化を、前記特定のユーザの制御の下に、サーバへ、前記サーバへの前記相互接続ネットワークを介して送信し、
−前記サーバのみが、前記仮想環境の完全な状態を維持し、
−前記サーバが、前記特定のユーザに関係する前記状態変化を、前記相互接続ネットワークを介して、前記特定のユーザと他のユーザの各々一人との間の前記仮想環境における個々の相対的距離に応じて、一以上の他のユーザインターフェイス装置に配信する、ソフトウェアアプリケーションを処理する方法。
【請求項２】
請求項１に記載の方法であって、前記相互接続ネットワークを介した前記他のユーザインターフェイス装置への前記ユーザインターフェイス装置の対応する状態変化の配信が、前記特定のユーザと他のユーザの各々一人との間の前記仮想環境における個々の相対的距離が特定のしきい値よりも大きくない場合に、行われる、方法。
【請求項３】
請求項１に記載の方法であって、前記個々の相対的距離を、前記特定のユーザと他のユーザの各々一人との間のセルの数によって測定する、方法。
【請求項４】
請求項３に記載の方法であって、前記各々の特定のユーザの状態変化を他のユーザに、前記他のユーザおよび特定のユーザが同じセルか隣接するセルに居る場合にのみ配信する、方法。
【請求項５】
請求項１に記載の方法であって、前記仮想環境が、地理的セルから構成され、各ユーザインターフェイス装置が、前記ユーザが位置される前記地理的セルの状態を保持する、方法。
【請求項６】
請求項５に記載の方法であって、各ユーザインターフェイス装置が、更に、前記ユーザが位置される前記地理的セルの周囲のセルの状態を保持する、方法。
【請求項７】
請求項１に記載の方法であって、前記状態変化の配信が、ユーザの数と、状態変化の速度と、他のユーザに対する前記状態変化の方向との内の少なくとも１つの量にも依存する、方法。
【請求項８】
−仮想環境を共有する多数のユーザ間での相互作用を可能にするソフトウェアアプリケーションを処理するサーバであって、前記仮想環境の完全な状態を維持するサーバと、
−複数のユーザインタフェース装置と、
−前記装置を前記サーバに相互接続するネットワークと、
を具えるデータ処理システムであって、
−各々のユーザインタフェース装置が、対応する特定のユーザに関係する前記仮想環境における状態変化を、前記サーバに、前記サーバへの前記相互接続ネットワークを介して前記特定のユーザの制御の下で送るように動作し、
−前記サーバが、前記状態変化を前記特定のユーザと他のユーザの各々との間の前記仮想環境における個々の相対的距離に応じて前記ユーザインタフェースの他のいくつかに配信するように動作する、データ処理システム。
【請求項９】
請求項８に記載のシステムであって、前記相互接続ネットワークを介した前記他のユーザインターフェイス装置への前記ユーザインターフェイス装置の対応する状態変化の配信が、前記対応するユーザと他のユーザの各々一人との間の前記仮想環境における個々の相対的距離が特定のしきい値よりも大きくない場合に、実行される、システム。
【請求項１０】
請求項８に記載のデータ処理システムであって
−前記サーバが、前記仮想環境における前記ユーザの各々の場所のトラックを保持するように動作し、
−前記サーバが、前記個々の相対的距離を決定するように動作する、データ処理システム。
【請求項１１】
請求項１０に記載のデータ処理システムであって、
−前記サーバが、前記仮想環境を地理的セルの集合として表すように動作し、
−前記サーバが、前記個々の距離を前記ユーザの場所間のセルの数によって決定するように動作する、システム。
【請求項１２】
請求項８に記載のシステムであって、
−前記サーバが、前記仮想環境を地理的セルの集合として表すように動作し、
−各ユーザインターフェイス装置が、前記ユーザが位置される前記地理的セルの状態を保持するように動作する、
システム。
【請求項１３】
請求項１２に記載のシステムであって、
−前記サーバが、前記仮想環境を地理的セルの集合として表現するように動作可能であり、
−各ユーザインターフェイス装置が、更に、前記ユーザが位置される前記地理的セルの周囲のセルの状態を保持するように動作可能である、
システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多ユーザソフトウェアアプリケーションを処理する方法およびシステムに関係する。本発明は、特に、しかし排他的にではなく、ワイドエリアネットワークを介して行われる多ユーザビデオゲームに関係する。
【背景技術】
【０００２】
高速ローカルエリアネットワーク（ＬＡＮ）における少数のプレイヤをサポートする多ユーザビデオゲームを構築するのに必要な技術は、比較的低速の端末接続と未知の待ち時間とを伴うワイドエリアネットワーク（ＷＡＮ）における多数のプレイヤで同じことを行うのとははるかに異なっている。体験によりさらなる現実性を加えることは、技術のより一層の進歩を必要とする。
【０００３】
多プレイヤゲームは、かなりの帯域幅条件を形成するかもしれない。例えば、すべてのクライアントマシンに局所的に格納されたすべての内容に関しても、共有環境における状態変化は速くなり、多くのメッセージトラヒックを必要とする。ＬＡＮベースのゲームは、代表的に「放送モード」を使用し、該ネットワークにおけるすべての局にメッセージを送る。ワイドエリアネットワークにおいて、あるクライアント局が前記環境を変化させると、メッセージを他のプレイヤの各々に送らなければならない。ネットワークが処理しなければならないメッセージの数は、プレイヤの数の二乗ずつ増える。ビデオゲームのような高速変化環境において、状態における変化は、１秒あたり１０回ほどになるかもしれない。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
前記帯域幅問題に対する既知の解決法は、ネットワーク動作システムまたはサーバのいずれかを通じて、同時通信を使用することである。例えば、すべての状態変化を最初にサーバに送り、次にこれらを各々のクライアントに分配する。これは、上り方向のトラヒックを大幅に減少するが、下り方向のトラヒックはあまり減少しない。したがって、本発明の目的は、多ユーザソフトウェアアプリケーションにおける下り方向トラヒックの問題に対する解決法を提供することである。
【課題を解決するための手段】
【０００５】
本発明は、前記サーバに各々のプレイヤが仮想環境において居る場所のトラックを保持し、前記状態変化の起源の前記仮想環境における場所のすぐ近くのプレイヤにメッセージを送ることを提案する。この案は、直観的に容易に受諾できる。実世界における変化は、有限レートにおいて伝播し、制限された範囲を有する。本発明は、仮想環境を共有する多数のユーザ間での相互作用を可能にするソフトウェアアプリケーションを処理する方法を提供する。前記ユーザの各々の特定の一人に関して、前記特定のユーザに関係する状態についての変化を、前記特定のユーザと他のユーザの各々一人との間の前記仮想環境における個々の相対的距離が特定のしきい値より大きくないときに一人以上の他のユーザに送る。このような技術は、状態キャッシュにおける複雑性を犠牲にして、仮想環境を無制限に拡大縮小することを可能にする。この場合において、前記サーバのみが、前記仮想環境の完全で真の状態を有する。
【０００６】
本発明を、添付した図面の参照と共に、より詳細に、例として説明する。
【０００７】
これらの図を通じて、同じ参照符は、同様のまたは対応する特徴を示す。
【図面の簡単な説明】
【０００８】
【図１】図１は、クライアント−サーバシステムの図である。
【図２】図２は、セル化仮想環境における更新の場所を示す図である。
【発明を実施するための形態】
【０００９】
図１は、クライアント−サーバシステムの図である。システム１００は、サーバ１０２と、多数Ｎのユーザインタフェース装置１０４，１０６，１０８，１１０，...，１１２とを具える。サーバ１０２および装置１０４−１１２を、相互接続ネットワーク１１４を介して相互接続する。システム１００は、ソフトウェアアプリケーションを処理し、このソフトウェアアプリケーションを通じて、Ｎ人のユーザが共有仮想環境において相互作用する。前記Ｎ人のユーザの内の特定の一人が前記アプリケーションの状態変化を引き起こすたびに、Ｎ−１人のユーザの各々に知らせるべきであるとする。これは、Ｎ人のユーザに関して、ネットワーク１１４を介するトラヒックが単位時間あたりＮ（Ｎ−１）メッセージ程度の密度になるかもしれず、ユーザあたりの出および入メッセージが最高２（Ｎ−１）になるかもしれないことを意味する。Ｎ＝１０人のユーザの配役に関して、ネットワーク１１４上のメッセージの最大数は９０であり、１ユーザ当たりのメッセージの最大数は１８である。Ｎ＝１００に関して、これらの数は、各々、９９００および１９８である。代表的な多ユーザビデオゲームにおいて、状態変化は、１秒当たり１０回程度になるかもしれない。ネットワーク１１４は、トラヒックのこの密度を高くする必要がある。使用される技術に係わらず、ネットワーク１１４の各々の実装は、処理できるメッセージの最大数に関してその制限を有する。
【００１０】
図２は、本発明によるクライアント−サーバシステム２００の図である。システム２００は、相互接続ネットワーク１１４を介して相互接続されるサーバ２００およびユーザインタフェース装置１０４−１１２を具える。前記ソフトウェアアプリケーションは、ユーザを共有仮想環境２０２を介して相互作用させる。前記ユーザの各々の状態変化を装置１０４−１１２からサーバ１０２に送り、次にサーバ１０２は、これらの状態変化を他のユーザの各々に分配する。これは、上り方向のメッセージトラヒックを減少し、すなわち、装置１０４−１１２の各々１つによって送られるメッセージの数を減少する。
【００１１】
本発明は、下り方向のメッセージトラヒックを減少し、すなわち、サーバ１０２からユーザインタフェース装置１０４−１１２に送られるメッセージの数を減少する。この減少を以下のように達成する。ユーザ１０４−１１２の各々特定の１つに関して、該特定のユーザに関係する前記アプリケーションの状態変化を、一人以上の他のユーザに条件付きで送る。この条件を、前記特定のユーザと他のユーザの各々一人との間の前記仮想空間における個々の相対的距離が、特定のしきい値より大きくないこととする。
【００１２】
例えば、仮想環境２０２を、ここでは正方形によって表す隣接した地理的セルで構成し、前記ユーザ間の相対的距離を、間に有るセルの数によって測定する。仮想環境２０２におけるユーザ１０４−１１２の場所を、点２０４、２０６、２０８、２１０および２１２によって各々表す。この表現において、ユーザ２０４および２０６は、同じセルにおいて存在し、ユーザ２０８および２１０は、隣接するセルにおいて存在し、ユーザ２１２は、これらすべてから離れている。これらのセルは、仮想環境２０２における地理的領域、部屋、建築物、コンピュータ等を表してもよく、「距離」の概念を導入することができる。
【００１３】
ユーザ２０４および２０６の状態変化を互いに知らせる。ユーザ２１２は、彼が奥地に居るようにふるまってもよい。彼の状態変化は、他のユーザがユーザ２１２の領域内に来た場合、そのユーザに関連するようになる。
【００１４】
ユーザ２１０に、ユーザ２１０が入ろうとするセルにおけるユーザ２０８の状態変化を知らせる。これは、ユーザ２１０が彼の新たなセルの状態を知ることを可能にし、その結果、彼は、彼が到着する時の更新を待たないですむ。好適には、ユーザは、彼の現在のセルの状態と、周囲のセルの状態とを知る。前記更新を、バックグランドメモリ（図示せず）にキャッシュしてもよい。これは、ユーザが彼の現在のセルから周囲のセルのいずれかにすぐに自由に移動することを可能にする。同様に、ユーザ２０８に、ユーザ２１０によって現在占められているセルにおける状態変化を知らせる。これらの更新が、ユーザ２１０が彼の現在のセルを離れる前に、ユーザ２１０および２０８の双方に届くための時間を有するようにするために、前記セルのサイズを十分に大きくすべきであり、または、仮想環境２０２におけるユーザ２１０の速度を十分に低くすべきである。
【００１５】
前記しきい値を、すべてのユーザに関しても、すべての場所に関しても一様にする必要はない。前記ソフトウェアアプリケーションまたはサーバそれ自体は、前記仮想環境における場所に応じて動的に変化するしきい値を指定してもよい。例えば、前記仮想環境が海岸の一部と海の一部とを表すとする。外洋における動きに対するしきい値を、陸地における動きより高く設定し、海における長い距離を補償してもよい。また、前記しきい値は、距離のみに依存する必要はない。ユーザまたは参加者の数と、例えば仮想環境におけるユーザの他のユーザに対する動きである状態変化の速度と、この状態変化の方向とが、メッセージの効率的な経路選択の決定のために考慮することができる他の量である。
【００１６】
このように、本発明を、処理の方法と、クライアント−サーバ形式のデータ処理システムと、メモリに格納され、仮想環境におけるユーザ間の相互作用を可能にし、仮想環境における１対のユーザの関係する場所間の相対的距離に応じてのこれらの１対のユーザ間の相互作用を可能にする多ユーザソフトウェアプログラムとにおいて具体化することができる。
【図１】
2010191967.tif 000003
【図２】
2010191967.tif 000004