(57)【要約】マルチユーザオンラインアプリケーションのネットワーク計算構成（１００）は、アプリケーションレベル情報をロビーサーバ（１１０）に保持する。故に、ユーザは、ロビーサーバ（１１０）との通信を介してオンラインゲーム等の所望のアプリケーションについて学習して選択できる。適切な認証プロセスの後、ユーザは、ゲームホスト等のアプリケーションサーバ（１１２）に連絡をとって参加を開始できる。故に、ロビーサーバ（１１０）は、帯域幅の必要条件やアプリケーションサーバ（１１２）に対する他の動作上の需要を低減できる。さらにロビーサーバによりリアルタイムのアプリケーション間通信が促進される。マルチユーザアプリケーションの環境はまた、ユーザの成績が記録されてユーザ間及びゲームアプリケーション間で共用されるオンラインゲームにおいてラダーランキングシステムを確立するような、ユーザ情報を保持する共通のデータモデルを提供する。
2005531048.tif 000002
【特許請求の範囲】
【請求項１】
マルチユーザのネットワークアプリケーションの計算環境における複数のユーザの管理方法であって、
ネットワークユーザのノードにおいて上記ネットワークアプリケーションの計算環境へのアクセスを確立することと、
ロビーサーバとの通信を介して１つ又は複数のネットワークアプリケーションに関連したアプリケーションレベルの情報へのアクセスを確立することと、
上記ネットワークアプリケーションの選択された１つに関連付けられるアプリケーションサーバとの通信を介してマルチユーザアプリケーションに参加することとを含む、マルチユーザのネットワークアプリケーションの計算環境における複数のユーザの管理方法。
【請求項２】
上記ロビーサーバ及びアプリケーションサーバは、上記ユーザと、上記ロビーサーバの利用可能性及びアプリケーションサーバの利用可能性に関連するステータスとに関するデータを保持するユニバースマネージャと通信する請求項１記載の方法。
【請求項３】
マルチユーザのネットワークアプリケーションの計算環境であって、
認証されている複数のネットワークユーザと通信しかつ１つ又は複数の利用可能なネットワークアプリケーションに関連したアプリケーションレベルの情報へのアクセスを提供するロビーサーバと、
ユーザ選択に従って上記ロビーサーバによりユーザが方向付けられるアプリケーションサーバとを備え、上記アプリケーションサーバは、利用可能なネットワークアプリケーションに関連付けられかつ上記利用可能なネットワークアプリケーションのためのプログラミング環境を提供し、そのため、上記ユーザは上記アプリケーションサーバと通信することにより上記利用可能なネットワークアプリケーションに参加する、マルチユーザのネットワークアプリケーションの計算環境。
【請求項４】
複数のユーザと上記ロビーサーバとの間のデータ通信を管理するユニバースマネージャをさらに備える請求項３記載の計算環境。
【請求項５】
上記ユニバースマネージャは、上記複数のユーザと、上記ロビーサーバの利用可能性及びアプリケーションサーバの利用可能性に関連するステータスとに関するデータを保持する請求項４記載の計算環境。
【請求項６】
上記アプリケーションレベルの情報は、上記ネットワークアプリケーションの１つ又は複数と、上記各アプリケーションに現在参加しているユーザとに関連する情報を含む請求項１記載の方法。
【請求項７】
上記アプリケーションレベルの情報は上記ロビーサーバに保持される請求項６記載の方法。
【請求項８】
上記各ネットワークアプリケーションのアプリケーション環境は、対応するアプリケーションサーバによって提供される請求項１記載の方法。
【請求項９】
上記ユニバースマネージャは、認証サーバを介してアクセスを確立している複数のユーザに関する情報を保持し、上記認証サーバは、上記複数のユーザと通信しかつこれにより上記複数のユーザによる上記ネットワークアプリケーションへのアクセスを管理し、
上記ユニバースマネージャは、上記認証サーバ、ロビーサーバ及びアプリケーションサーバを介して上記複数のユーザと通信する請求項２記載の方法。
【請求項１０】
アクセスを確立することは、アプリケーションへログインするためのユーザ要求を受信することと、上記ユーザを認証サーバへと方向付けることと、認証要求を上記認証サーバから認証データサーバへ転送してユーザアカウント情報を確認することとを含む請求項２記載の方法。
【請求項１１】
上記ユニバースマネージャは、上記各ロビーサーバからの反復される定期的なレポートを受信することによって複数のユーザのための利用可能なロビーサーバを決定し、上記各アプリケーションサーバからの反復される定期的なレポートを受信することによって利用可能なアプリケーションサーバのステータスを決定する請求項２記載の方法。
【請求項１２】
複数のユーザは、１つのロビーサーバを介してログインし、クライアント−サーバ構成を介して又はピア・ツー・ピア構成を介して同一のアプリケーションに参加することができる請求項２記載の方法。
【請求項１３】
上記ロビーサーバとアプリケーションサーバとは、上記ユニバースマネージャを介して通信し、互いに直接には通信しない請求項２記載の方法。
【請求項１４】
特定のアプリケーションに対するユーザ成績データに基づいて、複数のアプリケーションユーザのラダーランキングを保持することをさらに含む請求項１記載の方法。
【請求項１５】
アプリケーションの複数のユーザに対するユーザ成績データは、ラダーランキングエンジンによって検索して読み出され、上記ラダーランキングエンジンは上記アプリケーションのユーザから受信されるラダーランキング要求に応答してラダーランキングレポートを生成する請求項１４記載の方法。
【請求項１６】
１人のアプリケーションユーザをリーダーとして指定することと、
上記リーダーによって識別されたクランに加入することへの勧誘を上記リーダーから送信することと、
上記クランへ加入しているユーザから上記クランへ加入している他のユーザに通信メッセージが方向付け可能であるように、上記クランと、上記クランのリーダーと、上記送信された勧誘に肯定的に応答しているユーザとを識別するデータベースを保持することとをさらに含む請求項１記載の方法。
【請求項１７】
上記データベースは、上記識別されたクランと、上記ネットワーク上で動作する１つよりも多くのアプリケーションとに関連する情報を含む請求項１６記載の方法。
【請求項１８】
アクセスを確立することは、認証サーバを介して上記ネットワークの計算環境へアクセスすることに関するユーザの権限を確認することを含む請求項１記載の方法。
【請求項１９】
上記アプリケーションレベルの情報は、上記ネットワークアプリケーションの１つ又は複数と、上記各アプリケーションに現在参加しているユーザとに関連する情報を含む請求項３記載の計算環境。
【請求項２０】
上記アプリケーションレベルの情報は上記ロビーサーバに保持される請求項１９記載の計算環境。
【請求項２１】
上記ネットワークアプリケーションの各々に対応するアプリケーション環境を集合的に提供する１つ又は複数のアプリケーションサーバをさらに含む請求項１９記載の計算環境。
【請求項２２】
上記認証サーバは、アプリケーションへログインするためのユーザ要求を受信することと、上記ユーザを認証サーバへと方向付けることと、認証要求を上記認証サーバから認証データサーバへ転送してユーザアカウント情報を確認することとによってアクセスを確立する請求項３０記載の計算環境。
【請求項２３】
上記ユニバースマネージャは、上記各ロビーサーバからの反復される定期的なレポートを受信することによって複数のユーザのための利用可能なロビーサーバを決定し、上記各アプリケーションサーバからの反復される定期的なレポートを受信することによって利用可能なアプリケーションサーバのステータスを決定する請求項４記載の計算環境。
【請求項２４】
複数のユーザは、上記ロビーサーバを介してログインし、クライアント−サーバ構成を介して又はピア・ツー・ピア構成を介して同一のアプリケーションに参加することができる請求項４記載の計算環境。
【請求項２５】
上記ロビーサーバとアプリケーションサーバとは、上記ユニバースマネージャを介して通信し、互いに直接には通信しない請求項４記載の計算環境。
【請求項２６】
特定のアプリケーションに対するユーザ成績データを含むデータベースをさらに含み、上記ユーザ成績データから、複数のアプリケーションユーザのラダーランキングが提供される請求項３記載の計算環境。
【請求項２７】
アプリケーションの複数のユーザに対するユーザ成績データを検索して読み出しかつ上記アプリケーションのユーザから受信されるラダーランキング要求に応答してラダーランキングレポートを生成するラダーランキングエンジンをさらに含む請求項２６記載の計算環境。
【請求項２８】
リーダーとして指定されたユーザであって、かつ当該ユーザがリーダーであるクランを識別するユーザからデータを受信するクランエンジンをさらに含み、
それによって、
上記クランエンジンは、上記リーダーによって識別されたクランに加入することへの勧誘を上記リーダーがアプリケーションの他のユーザに送信することを可能にし、また、
上記クランエンジンは、上記クランへ加入しているユーザから上記クランへ加入している他のユーザに通信メッセージが方向付け可能であるように、上記クランと、上記クランのリーダーと、上記送信された勧誘に肯定的に応答しているユーザとを識別するデータベースを保持する請求項３記載の計算環境。
【請求項２９】
上記データベースは、上記識別されたクランと、上記ネットワーク上で動作する１つよりも多くのアプリケーションとに関連する情報を含む請求項２８記載の計算環境。
【請求項３０】
上記複数のユーザと通信してユーザ認証を提供しかつこれにより上記複数のユーザによる上記ネットワークアプリケーションへのアクセスを管理する認証サーバをさらに含む請求項４記載の計算環境。
【請求項３１】
マルチユーザのネットワークアプリケーションの計算環境であって、上記計算環境は、
ネットワークを介して複数のユーザと通信し、これにより上記複数のユーザによる上記ネットワークアプリケーションへのアクセスを管理する認証サーバと、
ユーザ選択に従って１つ又は複数の利用可能なネットワークアプリケーションに関連するアプリケーションレベルの情報を受信した後にユーザが方向付けられるアプリケーションサーバとを備え、上記アプリケーションサーバは、利用可能なネットワークアプリケーションに関連付けられかつ上記利用可能なネットワークアプリケーションのためのプログラミング環境を提供し、そのため、上記ユーザは上記アプリケーションサーバと通信することにより上記利用可能なネットワークアプリケーションに参加し、
上記計算環境は、
上記ネットワークを介した複数のユーザと上記認証サーバとの間のデータ通信を管理するユニバースマネージャを備える、マルチユーザのネットワークアプリケーションの計算環境。
【請求項３２】
上記ユニバースマネージャは、上記複数のユーザと、上記アプリケーションレベルの情報及びアプリケーションサーバの利用可能性に関連するステータスとに関するデータを保持する請求項３１記載の計算環境。
【請求項３３】
上記アプリケーションレベルの情報は、上記ネットワークアプリケーションの１つ又は複数と、上記各アプリケーションに現在参加しているユーザとに関連する情報を含む請求項３１記載の計算環境。
【請求項３４】
上記アプリケーションレベルの情報は、権限を有する複数のネットワークユーザと通信して１つ又は複数の利用可能なネットワークアプリケーションに関連する上記アプリケーションレベルの情報へのアクセスを提供するロビーサーバに保持される請求項３３記載の計算環境。
【請求項３５】
上記ネットワークアプリケーションの各々に対応するアプリケーション環境を集合的に提供する１つ又は複数のアプリケーションサーバをさらに含む請求項３３記載の計算環境。
【請求項３６】
上記ユニバースマネージャは、複数のユーザと上記ロビーサーバとの間のデータ通信を管理する請求項３４記載の計算環境。
【請求項３７】
上記認証サーバは、アプリケーションへログインするためのユーザ要求を受信することと、上記ユーザを認証サーバへと方向付けることと、認証要求を上記認証サーバから認証データサーバへ転送してユーザアカウント情報を確認することとによってアクセスを確立する請求項３１記載の計算環境。
【請求項３８】
上記ユニバースマネージャは、上記各ロビーサーバからの反復される定期的なレポートを受信することによって複数のユーザのための利用可能なロビーサーバを決定し、上記各アプリケーションサーバからの反復される定期的なレポートを受信することによって利用可能なアプリケーションサーバのステータスを決定する請求項３４記載の計算環境。
【請求項３９】
複数のユーザは、１つのロビーサーバを介してログインし、クライアント−サーバ構成を介して又はピア・ツー・ピア構成を介して同一のアプリケーションに参加することができる請求項３４記載の計算環境。
【請求項４０】
上記ロビーサーバとアプリケーションサーバとは、上記ユニバースマネージャを介して通信し、互いに直接には通信しない請求項３４記載の計算環境。
【請求項４１】
特定のアプリケーションに対するユーザ成績データを含むデータベースをさらに含み、上記ユーザ成績データから、複数のアプリケーションユーザのラダーランキングが提供される請求項３１記載の計算環境。
【請求項４２】
アプリケーションの複数のユーザに対するユーザ成績データを検索して読み出しかつ上記アプリケーションのユーザから受信されるラダーランキング要求に応答してラダーランキングレポートを生成するラダーランキングエンジンをさらに含む請求項４１記載の計算環境。
【請求項４３】
リーダーとして指定されたユーザであって、かつ当該ユーザがリーダーであるクランを識別するユーザからデータを受信するクランエンジンをさらに含み、
それによって、
上記クランエンジンは、上記リーダーによって識別されたクランに加入することへの勧誘を上記リーダーがアプリケーションの他のユーザに送信することを可能にし、また、
上記クランエンジンは、上記クランへ加入しているユーザから上記クランへ加入している他のユーザに通信メッセージが方向付け可能であるように、上記クランと、上記クランのリーダーと、上記送信された勧誘に肯定的に応答しているユーザとを識別するデータベースを保持する請求項３１記載の計算環境。
【請求項４４】
上記データベースは、上記識別されたクランと、上記ネットワーク上で動作する１つよりも多くのアプリケーションとに関連する情報を含む請求項４３記載の計算環境。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にコンピュータネットワークに関し、特にコンピュータネットワークを介して複数のユーザによって実行されるアプリケーションに関する。
【背景技術】
【０００２】
ローカルエリアネットワーク及びインターネットのようなコンピュータネットワークは、ますます、当事者間の様々なトランザクション（又は取引）及びインタラクション（又は対話）のためのバックボーンとして使用されるようになってきている。銀行の顧客らがコンピュータネットワークを介して金融取引を開始できるオンラインの銀行取引（オンラインバンキング）から、インターネットを介してリアルタイムで実行中のゲームにゲームの遊技者が参加できるオンラインゲームに至るまで、サービスプロバイダは、コンピュータネットワークを介したますます多様な種類のサービスをサポートするようになっている。現在では、実行されるトランザクション及びインタラクションを促進する様々な異なるコンピュータネットワークの構成が存在する。
【０００３】
オンラインアプリケーションの多くはマルチユーザアプリケーションに関連するものであり、マルチユーザアプリケーションとは、コンピュータシステム上で実行されるコンピュータプログラムであって、地理的に離れている複数の参加者が、コンピュータプログラムと、アプリケーション環境における他の参加中のユーザらとの間で対話することを可能にするものである。例えば、ゲームを行うことは、人気が高まっている一般的なマルチユーザアプリケーションである。航空機のシミュレーションゲームは、複数の参加者が１つの空域内で彼らの個々の仮想的な航空機を操縦することを可能にでき、かつ、これらの参加者らがその同じ空域内の各自の航空機における他の参加者らと対話することを可能にできる。従って、オンラインでゲームを行うアプリケーションは、複数の参加者が作戦的に行動する単一のアプリケーション環境又はユニバース（世界）を提供する。
【０００４】
ゲームの参加者らのようなアプリケーションの地理的に分散されたユーザらに対する、オンラインで行われるゲーム等のマルチユーザアプリケーションをサポートするために、また、アプリケーション環境におけるユーザ間でのリアルタイムのインタラクションをサポートするために、当該環境におけるすべての参加者に関する情報を共用することが必要とされてきた。例えば、航空機シミュレーションのアプリケーションでは、航空機のサイズ、速度、３次元空間における高度、外観の詳細、及び仮想的な環境の詳細（建物及び地形等）などを含む、参加者の各々の航空機に関する情報を共用することが必要になる。このような情報により、各参加者におけるコンピュータは、ゲーム展開を適正に追跡しかつ参加者の各々によって実行される行動を決定することができる。これにより、各参加者は、適正にレンダリングされた視覚画像を当該参加者の視聴用ディスプレイ上で取得することができる。
【０００５】
すべての参加者間で共用されなければならない情報の量は驚異的な大きさになる可能性があり、結果として帯域幅に問題をもたらす可能性がある。参加者間で共用されなければならない情報の量は、オンラインで行われるゲーム及び他のオンラインのマルチユーザアプリケーションの開発を妨げてきたほど大きなものである。オンラインアプリケーションの管理を分散させるための技術が、アール・ウォーターズ（R. Waters）ほかに付与された「マルチユーザアプリケーションにおける通信ネットワークのための分散されたシステム（Distributed System for Communication Networks in Multi-User Application）」と題する米国特許第５，８４１，９８０号明細書に記載されている。
【０００６】
この‘９８０号特許明細書は、モノリシックなサーバ（一体化されたサーバ）の機能が複数のサーバにわたって分散され、これらのサーバの各々が多数のローカルなユーザにサービスを提供するシステム構成について記載している。よって、以前は単一のサーバがゲームのステータス（状態）等のすべてのアプリケーション情報のソースとして機能したのに対して、‘９８０号特許明細書は、ゲームサーバの機能が複数のコンピュータにわたって分散されている状況について記載している。ユーザら（オンラインの参加者ら）は、彼らにとって最も都合の良いサーバへ自由にログインすることができる。このように、ゲームのプレイを阻害する可能性のある単一の「隘路（チョークポイント）」は存在せず、オンラインゲームコミュニティのための帯域幅の必要条件は低減される。全体的な帯域幅の需要は低減されても、オンライン環境をサポートするためにユーザ間で送信されなければならない莫大な量のデータは、結果的に、過度の負荷がかかった帯域幅容量のローカルなポケットを発生させることがある。
【０００７】
他のマルチユーザアプリケーションは、いく分扱いにくいユーザインターフェースを提供し、アプリケーションサーバの動作にとっては非能率的である可能性がある。例えば、オンラインで行われるゲームのいくつかのポータルは、関心のあるゲームサイトへのリンクを提供する。ゲームを行うためのポータルウェブサイトを提供するサーバは、ゲームのページ又はゲームのウェブサイトへのリンクを提供するのみである。従って、ゲームを行うためのポータルは、進行中のゲームについての情報に関して適切なゲームサーバ又はホストに、ユーザをリダイレクトする（再び方向付ける）。このことは、ゲームサーバへの動作上の負担を追加する。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
残念ながら、現在のマルチユーザアプリケーションは、動作効率を最大化するようには構成されておらず、オンラインで行われるゲームについて実行可能な機会を得るようにアプリケーションの多数のユーザをサポートすることができない。従って、改良され、より効率的なオンラインのマルチユーザアプリケーション環境が必要とされている。本発明は、この必要性を満たすものである。
【課題を解決するための手段】
【０００９】
本発明は、アプリケーションレベルの情報が、個別の各アプリケーションサーバ又はホストマシンではなくポータル又はロビーサーバ（lobby server）に保持される、マルチユーザのオンラインのネットワークアプリケーションの構成を提供する。従って、ユーザらは、ロビーサーバとの通信を介して、航空機オンラインゲーム等の所望のアプリケーションについて学習し、また当該所望のアプリケーションを選択することができる。適切な認証プロセスを実行した後で、ユーザらは、ゲームホスト等の関連付けられたアプリケーションサーバと連絡をとって彼らの参加を開始することができる。よって、ゲームサーバの機能は、ロビーサーバとアプリケーションサーバとの間で分割される。ゆえに、ロビーサーバは、帯域幅の必要条件と、アプリケーションサーバに対する他の動作上の需要とを低減させることができる。アプリケーションは、例えば、マルチユーザのインタラクティブなゲームを行うアプリケーションを含むことができる。これは、動作の効率を向上させる。本発明のもう１つの態様においては、ロビーサーバの概念を用いて、リアルタイムのクロスアプリケーション通信（アプリケーション間の通信）が促進される。従って、あるアプリケーションに参加しているユーザは、異なるアプリケーションに参加しているユーザと通信することができる。よって、第１のユーザはロビーサーバへログインされかつアプリケーションサーバを介して航空機のオンラインゲームの環境に参加している可能性があり、その一方で、第２のユーザはその同一のロビーサーバへログインされることが可能であるが、金融パッケージ又は異なるオンラインゲーム等の異なるアプリケーションへ参加している可能性がある。第１のユーザと第２のユーザとは、希望すれば互いに通信することが可能であり、又は、彼らは、通信に関しては互いに隔離されている彼らの個々の環境への参加を選択することもできる。
【００１０】
本発明のもう１つの態様においては、複数のロビーサーバと複数のアプリケーションサーバとが提供され、これらは、オンライン環境に関する完全な情報が取得され得るように構成される。こうして、システムの動作をサポートするために実行されなければならない多数のタスクは、そのタスクを実行するために最も適切なマシンによって実行されることが可能である。本発明のさらにもう１つの態様においては、マルチユーザアプリケーションの環境がユーザ情報を保持するための共通のデータモデルを提供する。例えば、オンラインゲームのコンテキストでは、ユーザの成績が記録されてユーザ間及び異なるアプリケーション（すなわち、ゲーム）間で共用されるラダーランキング（ladder ranking：はしご状に表示されるランキング）システムを確立することができる。
【００１１】
本発明の他の特徴及び優位点は、本発明の原理を例示的に示す以下の好適な実施形態の説明から明らかとなるはずである。
【発明を実施するための最良の形態】
【００１２】
システムの構成．
図１は、１つ又は複数のネットワーク装置を備えて構成されるコンピュータネットワークシステム１００のブロック図であり、ネットワーク装置とは、マルチユーザのオンラインアプリケーションへの参加を含むシステムへのアクセスを得るために認証サーバ１０４と通信する、１つ又は複数のクライアントコンピュータ１０２を含む。詳細後述するように、クライアントコンピュータは、古典的なクライアント−サーバ構成又はピア・ツー・ピア構成で構成される複数のコンピュータ１０２（ａ）を含む可能性があり、あるいは、他のコンピュータの機能とクライアントコンピュータの機能とを組み合わせた、統合化されたサーバ構成で構成される複数のコンピュータ１０２（ｂ）を含む可能性もある。クライアントコンピュータ１０２への言及は、どちらの構成にも関連する集合的な言及であるものと理解され、あるいは、１つの構成のサブグループ１０２（ａ），１０２（ｂ）又は他方への言及は、指定された特定のサブグループを指すものになる。認証サーバは、データベースサーバ１０６に照会してユーザの記録を調べることにより認証が正当化されるか否かを決定する。認証サーバはまた、オンラインユーザらに関する記録を保持しかつオンラインアプリケーションの環境又はユニバースの管理を手助けするユニバースマネージャコンピュータ１０８とも通信する。
【００１３】
あるユーザ１０２が継続することを認証サーバ１０４が承認した後で、このユーザは、まずロビーサーバ１１０と通信してアプリケーションレベルの情報を取得することにより、オンラインのマルチユーザアプリケーションに参加することができる。アプリケーションレベルの情報は、アプリケーションと、それに参加しているユーザらとに関する情報を含むことが可能である。例えばオンラインゲームアプリケーションのコンテキストにおいては、ロビーサーバ１１０は、ゲームに関する情報と、現在参加しているユーザらに関する情報とを提供することができる。オンラインマルチユーザアプリケーションの選択の後、ユーザは適切なアプリケーションサーバ１１２へリダイレクトされ、ユーザは、マルチユーザアプリケーションのオンライン環境への当該ユーザの参加を可能にするために十分な情報を、このアプリケーションサーバ１１２から受信する。従って、アプリケーションレベルの情報は、個別の各アプリケーションサーバ又はホストマシン１１２ではなくロビーサーバ１１０において保持される。よって、ユーザらは、アプリケーションサーバには自由にその特定のアプリケーションのホスト機能を実行させておきながら、ロビーサーバとの通信を介して航空機オンラインゲーム等の所望のアプリケーションについて学習しかつこの所望のアプリケーションを選択することができる。
【００１４】
図１において、ロビーサーバ１１０及びアプリケーションサーバ１１２は雲形に描かれているが、これは、これらのサーバの機能が、集合的にこの機能を提供する複数のコンピュータにわたって分散され得ること、又は１つ又は複数の独立型のネットワークコンピュータによって提供され得ることを表している。例えば、複数のアプリケーションサーバ１１２は、分散型メモリエンジン（ＤＭＥ）として機能する複数の専用アプリケーションサーバコンピュータ１１４を備えることができる。代替として、詳細後述するように、複数のアプリケーションサーバは、プロキシ能力においてユニバースマネージャ１０８とのインターフェースを提供するように動作する、複数の統合化されたサーバ１０２（ｂ）と複数のアプリケーションサーバ１１２との組み合わせを備えることができる。同様に、ロビーサーバ１１０の機能も複数のクライアント１０２と直接に通信する複数の専用ロビーサーバによって提供されることが可能であり、又は、ロビーサーバの機能は、複数のクライアントと通信する認証サーバ又はユニバースマネージャ１０８等の他のコンピュータによって提供されることが可能である。
【００１５】
このように、ゲームサーバの機能は、ロビーサーバとアプリケーションサーバとの間で分割される。従って、ロビーサーバは、帯域幅の必要条件と、アプリケーションサーバに対する他の動作上の需要とを低減させることができる。アプリケーションは、例えばマルチユーザのインタラクティブなゲームを行うアプリケーションを含むことが可能である。このことは、動作の効率を向上させる。
【００１６】
本発明によれば、クロスユーザ（ユーザ間）の通信とともに、リアルタイムのクロスアプリケーションの通信が、ロビーサーバの概念を用いて促進される。あるアプリケーションに参加しているユーザは、異なるアプリケーションに参加しているユーザと通信することができる。よって、第１のユーザはロビーサーバへログインされかつアプリケーションサーバを介して航空機のオンラインゲームの環境に参加している可能性があり、その一方で、第２のユーザはその同一のロビーサーバへログインされることが可能であるが、金融パッケージ又は異なるオンラインゲーム等の、異なるプログラミング環境における異なるアプリケーションへ参加している可能性がある。第１のユーザと第２のユーザとは、希望すれば互いに通信することが可能であり、又は、彼らは、通信に関しては互いに隔離されている彼らの個々の環境への参加を選択することもできる。
【００１７】
ユニバースマネージャ１０８は、システムに登録されかつログオンされた複数のユーザ（クライアント）１０２に関する情報を保持し、複数の認証サーバ１０４、複数のロビーサーバ１１０及び複数のアプリケーションサーバ１１２を介して複数のユーザと通信して、全体的な監督の役割を果たす。ロビーサーバ１１０はユーザらにアプリケーションレベルの情報を提供し、これにより、複数のクライアント１０２に対してアプリケーションのポータル及びアプリケーション情報のソースとして動作する。例えば、ゲームサイトへのリンクを提供するだけの典型的なゲームポータルサーバとは異なり、ロビーサーバは進行中の複数のゲームに関する情報を提供し、また、ゲームに活発に参加しているプレーヤらに関する情報等の、ゲームレベルの情報を提供することができる。アプリケーションサーバ１１２は、実際のアプリケーション環境を提供する。例えば、オンラインアプリケーションがゲームである状況においては、アプリケーションサーバは、プレーヤである参加者らと、オーディオ及びグラフィックスの情報と、特定のアプリケーションサーバ１１２によって管理されるゲームに関するオンラインゲームを行う経験に複数のクライアント１０２が完全に参加するために必要な他のデータとを含む、実際のゲームプレイ環境を提供する。このように、システムの動作をサポートするために実行されなければならない多くのタスクは、そのタスクを実行するために最も適切なマシンによって実行されることが可能である。
【００１８】
先に述べたように、複数の認証サーバ１０４は、認証やアプリケーション情報などのために複数のデータベースサーバ１０６と通信する。図２は、データベースサーバの詳細を説明するものであり、データベースサーバが複数のサーバと関連付けられたデータベース記憶装置とを備え得ることを示している。例えば図２は、認証データサーバ２０２及び関連付けられた認証データベース２０４と、トランザクションデータサーバ２０６及び関連付けられたトランザクションデータベース２０８と、アプリケーションデータサーバ２１０及び関連付けられたアプリケーションデータベース２１２とを含むデータベースサーバ１０６を示している。これらの構成要素の動作及び構成は、以下の説明を参照すればより良く理解されるであろう。
【００１９】
システムの動作．
図３、図４及び図５は、オンラインのマルチユーザアプリケーションの改良された動作を提供する、本発明によって構成されたシステムが機能する過程を示すフロー図である。
【００２０】
フロー図のブロック３０１によって表された第１の動作では、ユーザは、ゲームポータル又は他のインターネットサイト等のネットワークドメイン名に接続して、オンラインゲーム等のマルチユーザアプリケーションへのアクセス及びログインを試みる。次の動作において、ユーザは認証サーバの１つにリダイレクトされる。（ブロック３０２によって表された）この動作は、負荷分散装置か、又はサーバの作業負荷管理のための同様の構成かを用いた動作を含むことが可能である。次のブロック３０３で、ユーザには、認証サーバによって１つのセッションキーが割り当てられる。このセッションキーは、ユーザによる現在のオンラインセッションの間にはアクティブなままであってかつ特権レベルに関連付けられ、これにより、ユーザに認可されるアクセスのレベルを（図１に示された）様々なシステム構成要素が決定するための手段を提供する。次にユーザは、ブロック３０４で認証サーバへアカウントログイン情報を提供し、次いで、認証サーバは、ブロック３０５に示されたように、認証要求を（データベースサーバのうちの）認証データサーバへ転送する。アカウントログインにはユーザの登録されたアカウント番号又は他の識別子が含まれ、ユーザのアクセス権はこのアカウント番号又は他の識別子に対して決定されることが可能である。次の動作（ブロック３０６）で認証要求は適切な負荷分散を実行することによって処理され、認証サーバのうちの特定の１つへと方向付けられる。
【００２１】
次のブロック３０７において、認証データサーバは認証データベースと直接に通信し、ユーザのログインが受理されるべきか否かを決定する。この動作は、例えば、すべての適正な料金が払い込まれていることを確認しかつユーザが先へ進むためのすべての権限又は資格を有していることを確認するために、ユーザのアカウント履歴をチェックすることを含む可能性がある。ユーザの履歴を保持するために、この動作３０７はまた、トランザクション記録（ログインの試み）をトランザクションデータサーバへ送信して不揮発性記憶装置に記憶することを含む。この記録動作はまた、負荷分散の動作を含む可能性がある。
【００２２】
ログインの試みの成功又は失敗は、次のブロック３０８で認証サーバへ報告して返される。ログインの結果は、ユーザと、さらにトランザクションデータサーバとにも転送して戻される。次のブロック３０９では、ユーザ名のログイン手順に関して同様のプロセス実行動作が繰り返される。ブロック３１０に示されたように、ユーザのスクリーン名及びアプリケーション識別についても、さらにもう１つの同様のログインシーケンスが発生する。スクリーン名のログインが成功すれば、認証サーバは、ユーザを１つのロビーサーバに割り当て、また、ユーザがセッションの間におけるすべての適正なアクセスの認可を受けるようにセッションの特権レベルをユニバースマネージャにまで増大させる。認証サーバは、ユニバースマネージャから適切なアプリケーションサーバを要求することにより、ユーザによって提供されるアプリケーションＩＤに対応した利用可能なロビーサーバを認識しているということは留意される必要がある。ロビーサーバが動作中である間に、ユニバースマネージャは、ロビーサーバによってユニバースマネージャへ継続的（又は連続的）に送られる「ハートビート」レポート（一定間隔で送信されるレポート）を用いて、利用可能なロビーサーバを追跡する。このプロセスの実行は、次のブロック３１０で表されている。
【００２３】
次に、ブロック３１１でユーザは認証サーバから切断し、割り当てられたロビーサーバとの通信を確立する。ブロック３１２において、ユーザは、ブロック３０３で認証サーバから取得されたセッションキーを照合し、また、割り当てられたロビーサーバによりアプリケーションＩＤを照合する。ロビーサーバは、ユニバースマネージャによりデータを照合するとともに、特権レベルを照合する。ユーザの特権は、照合が成功したときにアップグレードされる。
【００２４】
システムの動作の次のフェーズにおいて、ブロック３１３では、ユーザはロビーサーバに対するログインの完了に成功しており、よって、当該ユーザには、システム全体にわたる機能に参加する権限が与えられている。これらの機能は、例えば、チャットと、グループ又はコミュニティの管理と、チーム又はクラン（clan）のタスク等のプレーヤのマッチングの作業と、結果又は競争の順位及びラダーランキングの推移とを含む可能性がある。利用可能なチャットのチャンネル、利用可能なゲーム、他のユーザのロケーション、及びメッセージ送受信機能などに関する情報を求めるユーザからの要求はいずれも、ロビーサーバからユニバースマネージャへ転送される。情報への要求が不揮発性記憶装置に関連するものであれば、この要求は適切なデータベースサーバ（図２）へ転送される。
【００２５】
ロビーサーバとの接続に成功した後にユーザが参加を希望するかもしれないシステム全体にわたる機能の１つは、所定のアプリケーションを使用することを含む可能性がある。オンラインでゲームを行う環境のコンテキストでは、そのアプリケーションはゲームである。当業者は、他のオンラインのマルチユーザアプリケーションも含まれ得るということを理解するであろう。先に述べたように、複数のクライアントは、クライアント−サーバ構成又はピア・ツー・ピア構成の一部として、又は統合化されたアプリケーションサーバとクライアントとの構成の一部としてのいずれかで、オンラインで行われるゲームに参加することができる。図４は、クライアント−サーバ又はピア・ツー・ピアの構成で動作しているユーザらに関連し、図５は、統合化されたアプリケーションサーバの構成で動作しているユーザらに関連している。
【００２６】
図４において、第１の動作（これは、図３における最後のブロックの完了後にユーザがあるゲームへの参加を希望した時点で発生する）は、ロビーサーバが、ユーザによるアプリケーション（ゲーム）への要求をユニバースマネージャへ転送することである。図４におけるプロセスの実行では、クライアントは、古典的なクライアント−サーバ構成として、又はピア・ツー・ピア構成として構成される。ユニバースマネージャは、要求されたゲームのために適切なゲームサーバへユーザを割り当てる。ゲームサーバは、ロビーサーバの場合と同様の方法で、継続的かつ定期的（又は周期的）なハートビートレポートを用いて、ユニバースマネージャによってそのステータスが評価された状態を維持する。このように、ユニバースマネージャはシステムのステータスを認識し、また、ロビーサーバ及びアプリケーションサーバからの要求を管理してこれに応答することができる。図４に示す最初のプロセス実行動作（ブロック４１４）の後、割り当てられたアプリケーションサーバは、サーバに固有のキーをユーザに割り当てる（ブロック４１５）。このキーは、無許可のアクセスを防止するための特別なセキュリティ手段を提供する。認証サーバは、ユニバースマネージャ又は割り当てられたアプリケーションサーバのいずれかにこのキーについて照会し、キーをユニバースマネージャを介してユーザへ転送し、かつロビーサーバへ転送する。
【００２７】
次のブロック４１６において、ユーザは割り当てられたアプリケーションサーバに接続され、ブロック４１５から受信したサーバに固有のキーをこのアプリケーションサーバに提供する。サーバに固有のキーがアプリケーションサーバにおける記録に一致しない場合には、ユーザはアプリケーションサーバから切断される。一致した場合には、ユーザはアプリケーションサーバと接続し続けることの許可を受ける。ゲームを行うセッションの間のような、アプリケーションを使用している間を通じてユーザはロビーサーバに接続されたままであるということを留意する必要がある。ブロック４１７では、定期的なユーザレポートが、アプリケーションに参加しているユーザからユーザのロビーサーバへ送信して返される。さらに、すべての参加者に対してアプリケーションのホスト機能を実行しているアプリケーションサーバ（ゲームホスト等）は、アプリケーションのステータスに関する定期的なレポートをアプリケーションのホストに送信する。ロビーサーバとアプリケーションサーバとは直接的には通信せず、これにより、ロビーサーバに対するプロセス実行の負荷がより良く管理される。
【００２８】
ユーザは、アプリケーションのセッションの終了時（ブロック４１８）にアプリケーションサーバから切断し、ロビーサーバを用いた利用可能なすべてのロビー機能を含む、通常の活動に戻る。先に述べたように、これらの機能は、チャットと、グループ又はコミュニティの管理と、メッセージの送受信などを含むことが可能である。アプリケーションを使用する間（例えば、ゲームプレイの間）を含むユーザがロビーサーバへ接続されているすべての時間において当該ユーザはこれらの機能を利用可能であるということを留意する必要がある。
【００２９】
ユーザがログアウト手順を実行するとき、又はユーザが活動しないことによってアクティブな接続からタイムアウトされるときに、ユーザのセッションは、ユニバースマネージャのアクティブな記録から消去される。このことは、次のブロック４１９に示されている。ユーザが別のアプリケーションへの参加を希望すれば、ユーザは、ログインプロセスを含む認証プロセスをもう一度通過しなければならない。
【００３０】
ネットワークはまた、複数の専用アプリケーションサーバによってアプリケーションが提供されるネットワーク構成において動作するよりもむしろ、複数の統合化されたサーバによってマルチユーザアプリケーションが提供される構成において動作することが可能である。統合化されたサーバとは、ユーザマシンにアプリケーションサーバの機能を提供する統合化されたサーバアプリケーションを備えて構成されている、ユーザ（クライアント）マシンを示す。この動作方法を実装するシステムは、２０００年１１月１日に出願されたシー・ガイ（C. Guy）、ジー・バン＝ダッタ（G. Van Datta）及びジェイ・フェルナンデス（J. Fernandes）による「通信ネットワークを介して実行可能なマルチユーザアプリケーションのためのアプリケーション開発インターフェース（Application Development Interface for Multi-User Applications Executable Over Communication Networks）」と題する同時係属中の米国特許出願第０９／７０４，５１４号明細書に記載されている。この出願の開示内容は、参照によりここに含まれる。先に述べたように、ユーザがゲームへの参加を希望すると、システムの動作は図３の記述から図４（専用アプリケーションサーバ）又は図５（統合化されたサーバ）のいずれかの記述へ移行する。
【００３１】
次に図５を参照すると、統合化されたサーバの構成の下での最初の動作は、アプリケーション（オンラインゲーム等）のホスト機能の実行を希望するユーザが、ユーザのコンピュータ上へインストールされている統合化されたサーバアプリケーションを初期化することである。統合化されたサーバアプリケーションは、ゲームポータルのウェブサイト等の適切なドメイン名に接続する。次に、統合化されたサーバは、図３に関連して説明した最初のログインプロセスと同様のプロセスで、認証サーバに対する認証プロセスを実行する。これらの動作は、図５の最初のブロック５１４によって表されている。
【００３２】
認証サーバに対する認証に成功すると、ホスト機能を実行するユーザの統合化されたサーバアプリケーションにより、プロキシアプリケーションサーバへ定期的なサーバレポートが送信される。先に述べたように、プロキシアプリケーションサーバは、図１のアプリケーションサーバの雲形部（クラウド）１１２内に含まれる。プロキシアプリケーションサーバは、ホスト機能を実行するユーザにおいて、統合化されたサーバアプリケーションに加えてアプリケーションを備えることか又は統合化されたサーバアプリケーションに統合化されたアプリケーションを備えることが可能であり、あるいは、プロキシアプリケーションサーバは、図１のネットワークのもう１つのノードである別個のサーバであって、かつホスト機能を実行するユーザのコンピュータと通信する別個のサーバを備えることが可能である。いずれの場合も、ユーザの統合化されたサーバアプリケーションは、定期的かつ規則的な「ハートビート」レポートをプロキシアプリケーションサーバへ提供して、ホスト機能を実行してもらうアプリケーションの動作を確認しかつステータス情報をプロキシアプリケーションサーバへ提供する。プロキシアプリケーションサーバはユニバースマネージャと通信し、ホスト機能を実行するユーザマシンから受信されたアプリケーションのステータス情報をユニバースマネージャへ提供する。ユニバースマネージャは、専用アプリケーションサーバからの同様のレポートと他の任意の統合化されたサーバからの同様のレポートの場合と同じように、そのデータ収集物の中にこれらのレポートを含む。これらのレポート報告動作は、図５の第２のブロック５１５によって表されている。
【００３３】
次の動作であるブロック５１６において、ユーザは、その割り当てられたロビーサーバへ、アクティブなアプリケーションサーバとしてのそのステータスを通知する。これで、新たに実行されるこのアプリケーションがネットワークを介して利用可能になる。次いで、ロビーサーバは、この新しいアプリケーションをユニバースマネージャへ登録し、ユニバースマネージャは適切なアプリケーション情報をそのデータ収集物に追加する。この動作は、ネットワークアプリケーションを用いて利用可能になる他の任意のサーバに応答してユニバースマネージャが実行するであろう方法と同様の方法で、当該ユニバースマネージャにより実行される。
【００３４】
新たなアプリケーションがユニバースマネージャに登録されると、複数のネットワークノードは、個々のロビーサーバを介してそのアプリケーションを認識するようになる。従って、アプリケーションはネットワークユーザらが利用できるものとなり、これらのネットワークユーザらは、統合化されたサーバによって確立されるプログラム環境へ参加することができる。例えば、このアプリケーションがマルチユーザゲームである場合には、ホスト機能を実行するユーザの統合化されたサーバによって管理される進行中のゲームへ他のネットワークユーザらが参加できる。進行中のゲームへ参加するプロセスは、図４のブロック４１４、４１５、４１６及び４１７に関連して先に説明したものと同じ動作を伴う。これらの動作は、適切なアプリケーションサーバと通信することと、サーバに固有のキーを受信することと、サーバにそのキーを提供することと、認証されたものになることと、ロビーサーバへ規則的な「ハートビート」レポートを提供することとを含む。統合化されたサーバのこれらの動作は、図５の「参加」ブロック５１７によって表されている。
【００３５】
参加しているユーザは、アプリケーションのセッションの終了時（ブロック５１８）において、統合化されたサーバから切断し、ロビーサーバを用いて利用可能なすべてのロビー機能を含む通常の活動に戻ることができる。先に述べたように、これらの機能は、チャットと、グループ又はコミュニティの管理と、メッセージの送受信などを含むことができる。先述のように、アプリケーションを使用する間（例えば、ゲームプレイの間）を含むユーザがロビーサーバへ接続されているすべての時間において当該ユーザはこれらの機能を利用可能である。ホスト機能を実行しているユーザ（統合化されたサーバ）が、アプリケーションのホスト機能の実行を中止して撤退することを希望する場合、ネットワークシステム（図１）は、そのアプリケーションの順序正しいシャットダウンを保証するか、又はホスト機能を実行してもらっているアプリケーションのプログラム環境を継続する異なる統合化されたサーバへの順序正しい移行を保証するために所望される手順を実装することができる。
【００３６】
ユーザがログアウト手順を実行するとき、又はユーザが活動しないことによってアクティブな接続からタイムアウトされるときに、ユーザのセッションは、ユニバースマネージャのアクティブな記録から消去される。これは、次のブロック５１９に示されている。ユーザが別のアプリケーションへの参加を希望すれば、ユーザは、ログインプロセスを含む認証プロセスをもう一度通過しなければならない。
【００３７】
ラダーランキング．
図１に示すすべての構成要素によって共通に共用されるアプリケーションプログラムインターフェースはまた、ラダーランキングエンジンのための準備となるものを含む。ラダーランキングは、予め決められた変数又は計量に従って組織化されるか又はソーティングされる、ユーザのリストである。ラダーランキングは、予め決められた変数が勝利、敗北、及び記録された得点などを示すであろう、ゲームを行うアプリケーションのコンテキストにおいて最も容易に理解される。ユーザが彼又は彼女の成績を上げるにつれて、ユーザのランキングは向上するが、これは、ユーザがランク付けされたユーザらの「はしご（ラダー）」を上昇することを意味する。従って、このラダーランキング情報は、コンテスト及びトーナメント等の様々な競争目的に使用されることが可能である。
【００３８】
ラダーランキング情報は、アプリケーションのステータスを対応するアプリケーションサーバへ定期的に報告する各マルチユーザアプリケーションでの機能を用いて収集される。このステータスは、ゲームにおけるプレーヤらの進度等の情報を含むことが可能である。次に、アプリケーションサーバは、この情報を、ユーザのアカウント情報と現在使用されているアプリケーションとに従ってインデックスが付与されているシステムデータベースへ記憶する。この情報は、例えばユニバースマネージャのようなネットワーク内の任意のロケーションにおいて動作可能なラダーエンジンによって管理され、データは、ユニバースマネージャのデータ記憶装置又は複数のデータベースサーバにおけるデータ記憶装置（図１）に記憶されることが可能である。
【００３９】
システムインターフェースは、好適には、登録された任意のユーザがラダーランキングを要求するための準備をし、このラダーランキングは、ラダーランキングエンジンを用いて提供される。上記要求は、ユーザから、当該ユーザが現在参加しているアプリケーションを介して到来することが可能である。このことは、非参加者がラダーランキング情報を不正に取得できないことを保証する。ラダーランキング要求は、ロビーサーバ又はアプリケーションサーバによってユーザから受信されることが可能であり、この要求は、ユニバースマネージャにおいて、又はラダーランキングを管理する他の任意のネットワークエンティティにおいて、ラダーランキングエンジンへ転送されることが可能である。ラダーランキングリストが要求されると、指定されたアプリケーションに関するすべてのユーザアカウントが、記憶されたユーザ成績データに基づいてソーティングされる。アプリケーションのステータス情報は好適には複数の統計値を含み、これらの統計値は、データベースに同時に記憶されることが可能である。例えば、ゲームを行うアプリケーションは、勝利、敗北、記録された得点、与えられた得点、及び関心が持たれた他の成績の統計値を追跡することができる。各計量は次々にソーティングされることが可能であり、こうして、ラダーランキングを要求するユーザによって選ばれた計量に従ってラダーランキングが生成される。さらに、ラダーランキングエンジンは、ラダーランキングのソーティング及び検索を昇順又は降順で提供する。例えば、ラダーランキングは、最高得点から最低得点の順に、又は最低得点から最高得点の順に提供されることが可能である。
【００４０】
システムの様々なサーバ及びデータベースは、統計値の性質に関する知識を持たない。すなわち、サーバは、基礎となるデータを調査して、勝利と敗北の違いや、あるいは得点とゴールを理解することはない。むしろ、様々なアプリケーションは、そのアプリケーションに関して収集されるデータのセットを定義し、複数のサーバ及び複数のデータベースは収集されたデータをデータベースに記憶するだけである。従って、各アプリケーションは、データベースサーバによってサポートされるそれ自体のデータ収集フォーマットを定義する。
【００４１】
データは、システムがインターフェースをとる各アプリケーションに関する各ユーザのアカウントに割り当てられた２５６バイトのデータフィールドに含まれることが可能である。例えば、アプリケーションのコードは、ソート順、開始バイト、終了バイトのデータパラメータを指定することにより、ラダーランキング機能を実行することができる。システムのサーバ又はデータベースは、これらのパラメータを備えたラダーランキングメッセージを受信すると、呼び出しているアプリケーションに関連付けられたすべてのアカウントに対するすべてのデータフィールドを検索して読み出す。開始バイトのロケーションと終了バイトのロケーションとの間の各データ記録におけるデータは、整数値として処理される。次に、検索して読み出されたデータに対して、ユーザによって提供されたソート順パラメータの値に依存して昇順又は降順でソート動作が実行される。ソーティングされた整数の数字は、次に、整数データに対する既知の見出し生成（ヘッディング）に従ってユーザへ表示されることが可能である。例えば、ある特定のアプリケーションは、成績データを、勝利回数と、その後に続く敗北回数と、その後に続く記録された得点と、その後に続く与えられた得点として記憶する可能性がある。成績データが検索して読み出されると、データは、要求されたデータを抽出するためにパージングされて（構文解析されて）、適切に表示されることが可能である。他のアプリケーションは、異なる成績パラメータを異なる順序で記憶することができ、このことは、対応するアプリケーションサーバには既知のものとなっている。このように、このラダーランキングエンジンは、強力で一般的なクロスアプリケーションのラダーランキングシステムを提供する。
【００４２】
クランエンジン．
ここに記載されるシステムのもう１つの特徴機能は、クランエンジン（clans engine：複数のクランのためのエンジン）であって、これは、信頼されている任意のアプリケーションの指定されたユーザ、すなわち、「リーダー」と呼ばれるユーザが、クラン（ゲームプレーヤらのチーム）を命名して生成することを可能にする。次にリーダーは、このクランに加入するように他のユーザへの勧誘を発行することができる。システムは、その勧誘の送信時にオンラインでない登録されたユーザに送信される任意の勧誘を、被勧誘者の次のログイン時に配信するためにキューメモリに格納する。クランへの勧誘を受信するユーザは、肯定的又は否定的に応答することが可能であり、所望する場合にはクランのメンバーになることができる。
【００４３】
本システムは、様々なクラン機能をサポートする。あるクランのメンバーらは、そのクランのメンバーらに個人的な電子メッセージを送ることができる。クランのメッセージは、配信されるまでシステムのサーバ上へ記憶されることが可能である、この配信は、各メンバーが次のログインプロセスを完了するときに生じる。本システムは、複数のクランが新たなリーダーらを選出することと、それらのクランのための様々な組織構造をセットアップすることとを可能にする。組織構造の例は、１人のリーダーがクランの全決定を担当する独裁制、又は全メンバーとリーダーとがクランの意志決定において等しい投票権を有する民主制を含む。クランを開始するリーダーは、これらの構成又は他の構成のうちのどれが利用されるかを選択することができる。
【００４４】
クランの会員リストと、クランの活動の追跡と、クランの電子メッセージの送受信などを含む様々なクランデータはすべて、システムのデータベースサーバによって保存される。クランの機能は、ラダーランキングデータに関して先に述べた方法と同様の方法で、本発明によるプログラムインターフェースを介してアクセスされる。このことは、多くの別個の機能が各クラン毎に提供され、また指定され、あるいは削除されることを可能にし、各クランの構成ルール及び動作を潜在的に排他的なものにする。さらに、本プログラムインターフェースは、クランの機能が複数のアプリケーションで共通の方法で使用されることを可能にする。例えば、ゲームのコンテキストにおいては、アプリケーションがフライトシミュレータであれ、カーレースゲームであれ、又はアクションシューティングゲームであれ、同じチーム又はクラン機能を適用することができる。
【００４５】
さらに、複数のアプリケーションが、同じクラン及び会員のサーバ及びデータベースを互いに干渉し合うことなく同時に共用することができる。ユーザアカウントは、ユーザアカウント又はクラン機能にいかなる影響も与えることなしに、同じアプリケーション内の２つ以上のクランに、又は複数のアプリケーションにわたって拡張する複数のクランのうちの２つ以上のクランに関連付けられることが可能である。
【００４６】
本発明によるクランエンジンは、オフラインのウェブに基づくクラン管理技術又はクライアント側の調停に依存する代わりに、サーバ側の処理を使用してクランデータを管理し、実際のアプリケーション自体には何も組み込まれない。従って、ここに記載されたプログラムインターフェースのために開発される任意のアプリケーションは、図１に示すシステムのインターフェース仕様、サーバ及びデータベースに組み込まれて構築されたクラン処理を利用することができる。
【００４７】
ネットワーク装置の構成．
図１のブロック図に示すネットワークコンピュータ装置（クライアント及びサーバ）は、コンピュータネットワークシステム１００の複数のノードを備える。図６は、図１のシステム１００における１つのコンピュータのブロック図であり、サーバ及びクライアントの機能を提供するコンピュータの１つに含まれるハードウェア構成要素を示している。当業者は、図１に示すサーバ及びクライアントはすべて同様のコンピュータ構造を有する可能性があること、又はここに記載された能力及び個々の機能と矛盾しない代替の構造を有する可能性のあることを理解するであろう。
【００４８】
図６は、ネットワークコンピュータのいずれかを構成する可能性があるような、例示的なコンピュータ６００を示している。各コンピュータ６００は、米国カリフォルニア州サンタクララ市のインテル  コーポレーシヨン（Intel Corporation）から入手可能な「ペンティアム（Pentium）（登録商標）」マイクロプロセッサ及び関連付けられた集積回路チップ等の、中央処理装置（ＣＰＵ）６０２の制御下で動作する。コンピュータのユーザは、キーボード及びコンピュータのマウス６０４からコマンド及びデータを入力することが可能であり、かつディスプレイ６０６で入力及びコンピュータの出力を見ることができる。ディスプレイは、典型的にはビデオモニタ又はフラットパネルディスプレイである。コンピュータ６００はまた、ハードディスクドライブ等の直接アクセス記憶装置（ＤＡＳＤ）６０８を含む。メモリ６１０は、典型的には揮発性の半導体ランダムアクセスメモリ（ＲＡＭ）を備える。各コンピュータは、好適には、プログラム製品記憶装置６１４を受容するプログラム製品読取装置６１２を含み、プログラム製品読取装置はこのプログラム製品記憶装置６１４からデータを読み出すことができる（また、プログラム製品読取装置はオプションでこのプログラム製品記憶装置６１４にデータを書き込むことができる）。プログラム製品読取装置は、例えばディスクドライブを備えることが可能であり、プログラム製品記憶装置は、磁気フロッピーディスク、ＣＤ−Ｒディスク、ＣＤ−ＲＷディスク又はＤＶＤディスク等の着脱可能な記憶媒体を備えることが可能である。
【００４９】
各コンピュータ６００は、ネットワークインターフェース６１８を通じて、コンピュータネットワーク６２０（インターネット又はイントラネット等）を介して他のコンピュータと通信することができる。ここで、上記ネットワークインターフェース６１８が、ネットワーク６２０とコンピュータとの間の接続６２２を介した通信を可能にする。ネットワークインターフェース６１８は、典型的には、例えばネットワークインターフェースカード（ＮＩＣ）や又は様々なネットワークを介した通信を可能にするモデムを備える。
【００５０】
ＣＰＵ６０２は、コンピュータ６００のメモリ６１０に一時的に記憶されたプログラミングステップの制御下で動作する。プログラミングステップが実行されるとき、コンピュータはその機能を実行する。このように、プログラミングステップは、個々のクライアント又はサーバの機能を実施する。プログラミングステップは、ＤＡＳＤ６０８から受信されること、プログラム製品記憶装置６１４を介して受信されること、又はネットワーク接続６２２を介して受信されることが可能である。プログラム製品記憶装置ドライブ６１２はプログラム製品６１４を受容し、そこに記録されたプログラミングステップを読み取って、このプログラミングステップをＣＰＵ６０２による実行のためにメモリ６１０へ転送することができる。先に述べた通り、プログラム製品記憶装置は、磁気フロッピーディスク及びＣＤ−ＲＯＭ記憶ディスクを含む、コンピュータが読み取り可能な命令を記憶している複数の着脱可能な媒体のうちの任意の１つを備えることが可能である。他の適切なプログラム製品記憶装置は、磁気テープ及び半導体メモリチップを含むことが可能である。このようにして、本発明による動作に必要な処理ステップは、プログラム製品上に具現されることが可能である。
【００５１】
代替として、本プログラムステップは、ネットワーク６２０を介して受信されてオペレーティングメモリ６１０の中に格納されることが可能である。このネットワークによる方法では、コンピュータは、当業者にはさらなる説明なしに理解されるであろう公知の方法によってネットワーク接続６２２を介してネットワーク通信が確立された後に、プログラムステップを含むデータをネットワークインターフェース６１８を介して受信してメモリ６１０の中に格納する。次いで、本プログラムステップはＣＰＵ６０２によって実行され、これにより、コンピュータプロセスが構成される。
【００５２】
図１に示すネットワークシステム１００のネットワークコンピュータはすべて、図６に示すものと同様の構造を有する可能性があると理解される必要がある。よって、図６のコンピュータ６００に関して説明される詳細事項は、システム１００のすべてのコンピュータに当てはまると理解されるであろう。コンピュータが図４に示す他のコンピュータと通信できかつここに記載された機能をサポートできる限り、ネットワークコンピュータはいずれも代替の構造を持ち得ると理解される必要がある。
【００５３】
例えば、図７を参照すると、クライアントコンピュータ１０２は、ビデオゲームコンソールシステム７００のようなコンピュータエンターテイメントシステムを備えることが可能である。図７は、ビデオゲームコンソールシステム７００の例示的なハードウェア構成のブロック図である。
【００５４】
ビデオゲームコンソールシステム７００は、メインメモリ７０５に関連付けられた中央処理装置（ＣＰＵ）７０１を含む。ＣＰＵ７０１は、ＯＳ−ＲＯＭ７６０に記憶されたプログラミングステップ、又はゲームプログラム記憶媒体からメインメモリ７０５へ転送されたプログラミングステップの制御下で動作する。ＣＰＵ７０１は、プログラミングステップに従って情報を処理しかつ命令を実行するように構成される。
【００５５】
ＣＰＵ７０１は、専用バス７２５を介して入力／出力プロセッサ（ＩＯＰ）７２０へ通信可能に接続される。ＩＯＰ７２０は、ＣＰＵ７０１を、オペレーティングシステム等のプログラム命令を記憶する不揮発性メモリで構成されるＯＳ  ＲＯＭ７６０へ接続する。命令は、好適には、メインユニット７００の起動時にＩＯＰ７２０を介してＣＰＵに転送される。
【００５６】
ＣＰＵ７０１は、専用バス７１５を介してグラフィックス処理装置（ＧＰＵ）７１０へ通信可能に接続される。ＧＰＵ７１０は、ＣＰＵ７０１から受信される命令に従って描画プロセスを実行しかつ画像を形成するように構成された描画プロセッサである。例えば、ＧＰＵ７１０は、ＣＰＵ７０１によって生成されかつＣＰＵ７０１から受信されるディスプレイリストに基づいてグラフィックス画像をレンダリングする（描画する）ことができる。ＧＰＵは、グラフィックスデータを記憶するためのバッファを含むことが可能である。ＧＰＵ７１０は、画像を、コンソールシステム７００に接続されているＡＶ出力装置７９０へ出力する。
【００５７】
ＩＯＰ７２０は、ＩＯＰメモリ７３０に記憶された命令に従って、ＣＰＵ７００と複数の周辺構成要素との間でのデータ交換を制御する。周辺構成要素は、１つ又は複数の入力コントローラ７２２、メモリカード７４０、ＵＳＢ７４５及びＩＥＥＥ１３９４シリアルバス７５０を含むことが可能である。それに加えて、バス７５５は、ＩＯＰ７２０に通信可能に接続される。バス７５５は、ＯＳ  ＲＯＭ７６０、音声処理装置（ＳＰＵ）７６５、光ディスク制御装置７７５、及びハードディスクドライブ（ＨＤＤ）７８０を含むいくつかの追加の構成要素にリンクされる。
【００５８】
ＳＰＵ７６５は、ＣＰＵ７０１及びＩＯＰ７２０から受信されるコマンドに従って、音楽、音響効果及び音声等のサウンドを生成するように構成される。ＳＰＵ７６５は、波形データが記憶された音声バッファを含む可能性がある。ＳＰＵ７６５は音声信号を生成し、かつ当該信号を複数のスピーカに送信する。
【００５９】
ディスク制御装置７７５は、例えば、磁気フロッピーディスク、光ＣＤ−ＲＯＭディスク、ＣＤ−Ｒディスク、ＣＤ−ＲＷディスク、又はＤＶＤディスクなどの着脱可能な記憶媒体を受容する光ディスクドライブを備えることが可能なプログラム読取装置を制御するように構成される。
【００６０】
メモリカード７４０は、ＣＰＵ７０１がデータを書き込んで記憶することのできる記憶媒体を備えることが可能である。好適には、メモリカード７４０はＩＯＰ７２０から抜き差しされることが可能である。ユーザは、メモリカード７４０を使用してデータを記憶したり、あるいは保存したりすることができる。さらに、ビデオゲームシステム７００には、好適には、データを書き込んで記憶することのできる少なくとも１つのハードディスクドライブ（ＨＤＤ）７８０が装備される。
【００６１】
ＩＥＥＥ１３９４シリアルバス７５０又はユニバーサルシリアルバス（ＵＳＢ）７４５インターフェース等のデータＩ／Ｏインターフェースは、好適にはＩＯＰ７２０へ通信可能に接続され、これにより、図１に示すネットワーク等に対して、データをビデオゲームシステム７００の中に転送しかつこれから外に転送することが可能になる。
【００６２】
以上、本発明の意味するところが伝わり得るように、本発明を現時点での好適な実施形態に関して説明した。しかしながら、本システム及びアプリケーションには、ここには特に記載されていないが本発明を適用できる多数の構成が存在する。従って、本発明はここに記載された特定の実施形態に限定されたものとみなされるべきものではなく、むしろ、一般にマルチユーザアプリケーションに関する広範な適用可能性を有するものと理解される必要がある。よって、添付の請求の範囲内にある変更例、変形例又は等価な配置及び実装は、すべて本発明の範囲内にあるものとして考慮される必要がある。
【図面の簡単な説明】
【００６３】
【図１】本発明に従って構成された、マルチユーザアプリケーションが実行されるコンピュータネットワークシステムを示す図である。
【図２】図１に示すシステムの詳細なブロック図である。
【図３】図１のシステムによって実行される動作のフロー図である。
【図４】図３に示すものに追加するさらなるシステムの動作を示すフロー図である。
【図５】図３に示すものに追加するさらなるシステムの動作を示すフロー図である。
【図６】図４に示すネットワーク内のコンピュータの、ハードウェア構成要素を示すブロック図である。
【図７】図１に示すネットワーク内のコンピュータエンタテインメントシステムの、ハードウェア構成要素を示すブロック図である。
【符号の説明】
【００６４】
１００…コンピュータネットワークシステム、
１０２（ａ），１０２（ｂ）…クライアントコンピュータ、
１０４…認証サーバ、
１０６…データベースサーバ、
１０８…ユニバースマネージャコンピュータ、
１１０…ロビーサーバ、
１１２…アプリケーションサーバ、
１１４…専用アプリケーションサーバコンピュータ、
２０２…認証データサーバ、
２０４…認証データベース、
２０６…トランザクションデータサーバ、
２０８…トランザクションデータベース、
２１０…アプリケーションデータサーバ、
２１２…アプリケーションデータベース、
６００…コンピュータ、
６０２…中央処理装置（ＣＰＵ）、
６０４…キーボード及びコンピュータのマウス、
６０６…ディスプレイ、
６０８…直接アクセス記憶装置（ＤＡＳＤ）、
６１０…メモリ、
６１２…プログラム製品読取装置、
６１４…プログラム製品記憶装置、
６１８…ネットワークインターフェース、
６００…ネットワーク、
６２２…接続、
７００…ビデオゲームコンソールシステム、
７０１…中央処理装置（ＣＰＵ）、
７０５…メインメモリ、
７１０…グラフィックス処理装置（ＧＰＵ）、
７１５，７２５…専用バス、
７２０…入力／出力プロセッサ（ＩＯＰ）、
７２２…入力コントローラ、
７３０…ＩＯＰメモリ、
７４０…メモリカード、
７４５…ユニバーサルシリアルバス（ＵＳＢ）、
７５０…ＩＥＥＥ１３９４シリアルバス、
７５５…バス、
７６０…ＯＳ  ＲＯＭ、
７６５…音声処理装置（ＳＰＵ）、
７７５…光ディスク制御装置、
７８０…ハードディスクドライブ（ＨＤＤ）。
７９０…ＡＶ出力装置。
【図１】
2005531048.tif 000003
【図２】
2005531048.tif 000004
【図３】
2005531048.tif 000005
【図４】
2005531048.tif 000006
【図５】
2005531048.tif 000007
【図６】
2005531048.tif 000008
【図７】
2005531048.tif 000009
【国際調査報告】
2005531048.tif 000010