(57)【要約】本発明のアプリケーションは、コンピュータネットワークに通信可能であるようにリンクされたネットワークコンピュータで構成される２つ以上の参加者装置を含む、マルチユーザアプリケーションのオンラインセッションを開始する。本アプリケーションが、マルチユーザアプリケーションの実行に関連付けられた所定の管理者機能を管理することに責務を有する（８３０）第１の参加者装置がオンラインセッションから切断したことを検出した場合（８１０）、本アプリケーションは、オンラインセッションに存在する参加者装置に通信ネットワークを介して通知をブロードキャストし（８２０）、これにより、第１の参加者装置がオンラインセッションから切断したことを存在する参加者装置に知らせる。次いで、開始するアプリケーションは、第１の参加者装置に関連付けられた機能をオンラインセッションに存在する１つの参加者装置へ再割り当てする（８４０）。
2005520265.tif 000002
【特許請求の範囲】
【請求項１】
マルチユーザアプリケーションのオンラインセッションにおける参加者装置を管理する方法であって、
上記マルチユーザアプリケーションのオンラインセッションを開始することを含み、上記オンラインセッションは、コンピュータネットワークに対して通信可能であるようにリンクされたネットワークコンピュータで構成される２つ又はそれよりも多くの参加者装置を含み、
上記方法は、
上記マルチユーザアプリケーションの実行に関連付けられた所定の管理者機能を管理することに責務を有する第１の参加者装置が上記オンラインセッションから切断したことを検出することと、
上記オンラインセッションに存在する参加者装置に上記通信ネットワークを介して通知をブロードキャストし、これにより、上記第１の参加者装置が上記オンラインセッションから切断したことを上記存在する参加者装置に通知することと、
上記第１の参加者装置に関連付けられた上記機能を上記オンラインセッションに存在する１つの参加者装置に再割り当てすることとを含む方法。
【請求項２】
上記存在する参加者装置と交代するための新しい参加者装置を獲得することをさらに含む請求項１記載の方法。
【請求項３】
上記新しい参加者装置は人間によって制御される請求項１記載の方法。
【請求項４】
上記新しい参加者装置はネットワークコンピュータによって制御される請求項１記載の方法。
【請求項５】
上記マルチユーザアプリケーションはゲームを行うアプリケーションであり、上記管理者機能はスコアの保持を含む請求項１記載の方法。
【請求項６】
マルチユーザアプリケーションのオンラインセッションにおける参加者装置を管理する方法であって、
上記マルチユーザアプリケーションのオンラインセッションを開始することを含み、上記オンラインセッションは、コンピュータネットワークに対して通信可能であるようにリンクされたネットワークコンピュータで構成される２つ又はそれよりも多くの参加者装置を含み、
上記方法は、
第１の参加者装置が上記オンラインセッションから切断したことを検出することと、
上記オンラインセッションに存在する参加者装置に上記通信ネットワークを介して参加者装置切断通知をブロードキャストし、これにより、上記第１の参加者装置が上記オンラインセッションから切断したことを上記存在する参加者装置に通知することと、
上記オンラインセッションを終了した上記第１の参加者装置と交代するための新しい参加者装置を獲得することとを含む方法。
【請求項７】
上記第１の参加者装置は上記マルチユーザアプリケーションの実行に関連付けられた所定の管理者機能を管理することに責務を有し、
上記第１の参加者装置に関連付けられた上記機能を上記オンラインセッションのもう１つの参加者装置に再割り当てすることをさらに含む請求項６記載の方法。
【請求項８】
上記第１の参加者装置に関連付けられた上記機能を上記オンラインセッションのもう１つの参加者装置に再割り当てすることは、上記新しい参加者装置に対して行われる請求項７記載の方法。
【請求項９】
上記新しい参加者装置は人間によって制御される請求項６記載の方法。
【請求項１０】
上記新しい参加者装置はネットワークコンピュータによって制御される請求項６記載の方法。
【請求項１１】
上記第１の参加者装置に関連付けられた上記機能を、上記存在する参加者装置の通信環境に基づいて、上記オンラインセッションのもう１つの参加者装置に再割り当てすることをさらに含む請求項７記載の方法。
【請求項１２】
上記第１の参加者装置に関連付けられた上記機能を上記オンラインセッションのもう１つの参加者装置に再割り当てすることは、もう１つの参加者装置にランダムに再割り当てされる請求項７記載の方法。
【請求項１３】
マルチユーザアプリケーションのオンラインセッションにおける参加者装置を管理するシステムであって、上記システムは、プログラム命令を実行しかつデータセットを受信する１つ又は複数のプロセッサを備え、上記プロセッサは、
上記マルチユーザアプリケーションのオンラインセッションを開始し、上記オンラインセッションは、コンピュータネットワークに対して通信可能であるようにリンクされたネットワークコンピュータで構成される２つ又はそれよりも多くの参加者装置を含み、
上記プロセッサは、
上記マルチユーザアプリケーションの実行に関連付けられた所定の管理者機能を管理することに責務を有する第１の参加者装置が上記オンラインセッションから切断したことを検出し、
上記オンラインセッションに存在する参加者装置に上記通信ネットワークを介して通知をブロードキャストし、これにより、上記第１の参加者装置が上記オンラインセッションから切断したことを上記存在する参加者装置に通知し、
上記第１の参加者装置に関連付けられた上記機能を上記オンラインセッションに存在する１つの参加者装置に再割り当てするシステム。
【請求項１４】
上記プロセッサは、上記存在する参加者装置と交代するための新しい参加者装置を獲得するプログラム命令をさらに実行する請求項１３記載のシステム。
【請求項１５】
上記新しい参加者装置は人間によって制御される請求項１３記載のシステム。
【請求項１６】
上記新しい参加者装置はネットワークコンピュータによって制御される請求項１３記載のシステム。
【請求項１７】
上記マルチユーザアプリケーションはゲームを行うアプリケーションであり、上記管理者機能はスコアの保持を含む請求項１３記載のシステム。
【請求項１８】
マルチユーザアプリケーションのオンラインセッションにおける参加者装置を管理する方法を実行するための、コンピュータが読み取り可能な媒体に記録されたプログラムステップを実行するコンピュータシステムにおいて使用されるプログラム製品であって、上記プログラムステップは、
上記マルチユーザアプリケーションのオンラインセッションを開始することを含み、上記オンラインセッションは、コンピュータネットワークに対して通信可能であるようにリンクされたネットワークコンピュータで構成される２つ又はそれよりも多くの参加者装置を含み、
上記プログラムステップは、
上記マルチユーザアプリケーションの実行に関連付けられた所定の管理者機能を管理することに責務を有する第１の参加者装置が上記オンラインセッションから切断したことを検出することと、
上記オンラインセッションに存在する参加者装置に上記通信ネットワークを介して通知をブロードキャストし、これにより、上記第１の参加者装置が上記オンラインセッションから切断したことを上記存在する参加者装置に通知することと、
上記第１の参加者装置に関連付けられた上記機能を上記オンラインセッションに存在する１つの参加者装置に再割り当てすることとを含むプログラム製品。
【請求項１９】
上記プログラムステップは、上記存在する参加者装置と交代するための新しい参加者装置を獲得することをさらに含む請求項１８記載のプログラム製品。
【請求項２０】
上記新しい参加者装置は人間によって制御される請求項１８記載のプログラム製品。
【請求項２１】
上記新しい参加者装置はネットワークコンピュータによって制御される請求項１８記載のプログラム製品。
【請求項２２】
上記マルチユーザアプリケーションはゲームを行うアプリケーションであり、上記管理者機能はスコアの保持を含む請求項１８記載のプログラム製品。
【請求項２３】
マルチユーザアプリケーションのオンラインセッションにおける参加者装置を管理するシステムであって、上記システムは、プログラム命令を実行しかつデータセットを受信する１つ又は複数のプロセッサを備え、上記プロセッサは、
上記マルチユーザアプリケーションのオンラインセッションを開始し、上記オンラインセッションは、コンピュータネットワークに対して通信可能であるようにリンクされたネットワークコンピュータで構成される２つ又はそれよりも多くの参加者装置を含み、
上記プロセッサは、
第１の参加者装置が上記オンラインセッションから切断したことを検出し、
上記オンラインセッションに存在する参加者装置に上記通信ネットワークを介して参加者装置切断通知をブロードキャストし、これにより、上記第１の参加者装置が上記オンラインセッションから切断したことを上記存在する参加者装置に通知し、
上記オンラインセッションを終了した上記第１の参加者装置と交代するための新しい参加者装置を獲得するシステム。
【請求項２４】
マルチユーザアプリケーションのオンラインセッションにおける参加者装置を管理する方法を実行するための、コンピュータが読み取り可能な媒体に記録されたプログラムステップを実行するコンピュータシステムにおいて使用されるプログラム製品であって、上記プログラムステップは、
上記マルチユーザアプリケーションのオンラインセッションを開始することを含み、上記オンラインセッションは、コンピュータネットワークに対して通信可能であるようにリンクされたネットワークコンピュータで構成される２つ又はそれよりも多くの参加者装置を含み、
上記プログラムステップは、
第１の参加者装置が上記オンラインセッションから切断したことを検出することと、
上記オンラインセッションに存在する参加者装置に上記通信ネットワークを介して参加者装置切断通知をブロードキャストし、これにより、上記第１の参加者装置が上記オンラインセッションから切断したことを上記存在する参加者装置に通知することと、
上記オンラインセッションを終了した上記第１の参加者装置と交代するための新しい参加者装置を獲得することとを含むプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、コンピュータネットワークに関し、特に、コンピュータネットワーク上で複数のユーザによって実行されるアプリケーションに関する。
【背景技術】
【０００２】
ローカルエリアネットワーク及びインターネットのようなコンピュータネットワークはますます、当事者間の様々なトランザクション及びインタラクションのバックボーンとして使用されるようになってきている。サービスプロバイダはますます、銀行の顧客らがコンピュータネットワーク上で金融取引を開始できるオンラインバンキング（オンラインの銀行取引）から、ゲームをする人がインターネットを介した様々なゲームに参加できるオンラインゲームにいたるまで、様々なサービスをコンピュータネットワークを介して提供している。現時点では、実行されるトランザクション及びインタラクション（対話）を促進する様々な異なるコンピュータネットワークの構成が存在する。
【０００３】
構成の１つのタイプは、図１に示されたような古典的なクライアント−サーバ型の構成である。この構成では、専用サーバコンピュータ１１０が、ネットワークを介して、例えばインターネットを介して、１つ又は複数のクライアントコンピュータ１２０に対して通信可能であるようにリンクされている。クライアントコンピュータ１２０は、サーバコンピュータ１１０にサービス要求を行い、サーバコンピュータ１１０は、要求側のクライアントコンピュータ１２０へネットワークを介してデータを送信することによってその要求に応える。サーバコンピュータ１１０は、データ記憶装置へ、又はクライアントコンピュータとサーバコンピュータとの間のトランザクションを促進する他のコンピュータ装置へ接続されることが可能である。クライアント−サーバ型の構成の１つの特徴は、クライアントコンピュータはサーバコンピュータとの間で通信するように制限されているので、複数のクライアントコンピュータが互いに直接的に通信できないということにある。
【０００４】
例えば、クライアント−サーバ型の構成が、オンラインゲームを行う環境において動作される場合、サーバコンピュータ１１０はオンラインゲームに関連付けられた様々な状態を保持することの責務を有する可能性がある。サーバコンピュータは、ゲームの１つ又は複数のインスタンスを保持するメモリエンジン１４０のような他のコンピュータに接続されることが可能であるとともに、サーバコンピュータ１１０は、プレーヤ（遊技者）のマッチング及びアカウント管理等の、運営又は管理上の事柄を管理する。クライアントコンピュータ１２０上のゲームプレーヤはサーバコンピュータ１１０にログオンし、利用可能なゲーム及び参加しているプレーヤのリストを受信することができる。プレーヤは、開始するか又は参加するゲームを選択し、これにより、当該プレーヤのコンピュータがクライアント−サーバ型の接続を確立する際に使用するメモリエンジンを識別する。このようにして、サーバコンピュータ１１０及びメモリエンジン１４０はともに、１つ又は複数のクライアントコンピュータ１２０のためにゲームを行う環境を運営し、又は管理する。
【０００５】
もう１つのタイプの構成は、図２に示されたような統合化されたサーバの構成と呼ばれるものである。この構成は、専用サーバコンピュータ１１０と、コンピュータネットワークを介してそれぞれサーバコンピュータ１１０に接続されている１つ又は複数のクライアントコンピュータ１２０とを含む。先に説明した構成の場合と同様に、サーバコンピュータ１１０はクライアントコンピュータ１２０へデータを供給する。しかしながら、クライアントコンピュータ１２０の１つ、例えばクライアントコンピュータ１２０ａは、他のクライアントコンピュータ１２０へデータを供給可能な統合型のサーバとして機能する。オンラインゲームを行う環境においては、サーバコンピュータ１１０は、プレーヤのマッチング、アカウントの管理及びチャットルームの管理といった運営機能を実行可能である一方、クライアントコンピュータ／統合型サーバ１２０ａは、先に説明したメモリエンジンの機能を実行することができる。
【０００６】
さらにもう１つのタイプの通信構成では、図３に示されたように、様々なコンピュータがピア・ツー・ピア構成で配置される。ピア・ツー・ピア構成では、各々のコンピュータが他のコンピュータと通信できるので、すべてのコンピュータが「ピア」として機能する。ピア・ツー・ピア構成の一形態においては、専用サーバ１１０が、ネットワークを介して複数のクライアントコンピュータ１２０に通信可能であるように接続される。オンラインセッションはまず、クライアントコンピュータ１２０のそれぞれがサーバコンピュータ１１０等の運営コンピュータに接続することによって確立される。次いで、複数のクライアントコンピュータ１２０は、クライアントコンピュータ１２０の各々が、他の任意のクライアントコンピュータ１２０にデータを供給することと、他の任意のクライアントコンピュータ１２０からデータを受信することとの両方の能力を有するように、互いに通信可能であるように接続される。さらに、各クライアントコンピュータ１２０は、専用サーバ１１０との間で、クライアント−サーバの関係で動作することができる。当業者には、上述の構成に加えて他の通信構成も存在するということが理解されるであろう。
【０００７】
上述の様々な構成は、複数のゲームプレーヤがコンピュータネットワーク上でコンピュータゲームをすることができるオンラインゲーム環境等において、コンピュータのユーザらがコンピュータネットワークを介して対話できるようにする。このようなシナリオでは、典型的には、コンピュータのうちの少なくとも１つは、プレーヤの人数を調整すること、ゲームの状態を追跡すること、及びゲームの状態に関する更新情報をユーザに送信すること等の、ゲームの様々な側面を管理するゲームマネージャとして機能する。ゲームプレイの継続は、ゲーム内の全ユーザがゲーム期間全体にわたってプレイを継続することに大きく依存する場合があるという点が理解されうる。ゲームの半ばでゲームのプレーヤのうちの１人が終了して退出する場合、特にその終了して退出したプレーヤがゲームの一部を管理していた場合、ゲームプレイは中断される可能性があり、中止される場合すらある。
【０００８】
例えば、スポーツゲームは、典型的には、当該ゲームに関して一定の開始及び一定の終了を有し、少なくとも２名のプレーヤがゲームにおいて競い合っている。現行の構成では、オンラインのスポーツ競技に参加する数人のプレーヤが存在して、プレーヤの各々があるスポーツチームに属する選手の役を担当しているという場合が多い。例えば、オンラインのフットボールゲームでは、プレーヤはクォーターバック、レシーバ、ディフェンスバック、ランニングバックなどの役を担当することができる。プレーヤのうちの１人がゲームの途中で急に退出すれば、そのゲームプレイは中断されるか又は中止されることになる。これは、ゲーム環境におけるプレーヤの各々が特定のシナリオにわたってプレイし続けるということにゲームプレイの継続が依存する他のタイプのゲームにもあてはまる場合がある。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
残念ながら、現行のマルチユーザアプリケーションは、オンラインセッションにおける１つの参加者装置が突然又は思いがけなくオンラインセッションから退出する場合に責任を負うようには構成されていない。あるプレーヤがオンラインセッションから退出すると、そのセッションは不正に中断されるか又は中止される。これまでに述べたことに鑑みて、上述の欠点を克服するマルチユーザアプリケーションに対する必要性が存在する。
【課題を解決するための手段】
【００１０】
本発明は、コンピュータネットワーク上の多数の参加者装置が存在する環境において動作されるように構成されるアプリケーションに関する。本アプリケーションは、参加者装置の１つがセッションを終了して退出してもセッションが中断されることなく継続することができるように、マルチユーザアプリケーションのオンラインセッションにおいて複数の参加者装置を管理する。本発明のある態様によれば、本アプリケーションはマルチユーザアプリケーションのオンラインセッションを開始し、ここで、オンラインセッションは、コンピュータネットワークに対して通信可能であるようにリンクされた複数のネットワークコンピュータで構成される２つ以上の参加者装置を含む。マルチユーザアプリケーションの実行に関連付けられた所定の管理者機能を管理することに責務を有する第１の参加者装置がオンラインセッションとの接続を断ったことを本アプリケーションが検出する場合には、本アプリケーションは、オンラインセッションに存在する参加者装置に通信ネットワークを介して通知をブロードキャストし（同報送信し）、これにより、存在する参加者装置に、第１の参加者装置がオンラインセッションとの接続を断ったことを通知する。次いで、開始するアプリケーションは、第１の参加者装置に関連付けられた機能を、オンラインセッションに存在する１つの参加者装置へ再割り当てする。複数の参加者装置は、ピア・ツー・ピア型の配置で通信している状態となることが可能であり、もしくはクライアント−サーバ型の配置でサーバの役目を実行している状態となることが可能である。
【００１１】
本発明の他の特徴及び優位点は、本発明の原理を例示によって示す、好適な実施形態に関する以下の説明から明らかとなるであろう。
【発明を実施するための最良の形態】
【００１２】
本発明の目的、優位点及び特徴は、以下の詳細な説明を添付の図面に関連して読むときに、以下の詳細な説明からさらに容易に理解されるであろう。
【００１３】
図４は、１つ又は複数のクライアントコンピュータ４１０，４１２と、１つ又は複数の専用サーバコンピュータ４２０，４２２とを含む１つ又は複数のネットワーク装置で構成される、コンピュータネットワークシステム４００のブロック図である。上記ネットワーク装置は、コンピュータネットワーク４３０のノードである。従って、ネットワークコンピュータのいくつかはサーバとして構成され、いくつかはクライアントとして構成される。コンピュータネットワーク４３０は、インターネットのような相互に接続された複数のネットワークの集合体を含んでもよく、ノード４１０，４１２，４２０，４２２の各々において１つ又は複数のローカルエリアネットワークを含んでもよい。ここで使用しているように、「インターネット」という用語は、標準的な通信プロトコルのセットにより互いにリンクされてグローバルな分散型ネットワークを形成する、相互に接続された（公衆の、及び／又は専用の）複数のネットワークの集合体を示す。
【００１４】
クライアントコンピュータ４１０，４１２は、ネットワーク４３０を介してクライアントコンピュータへ公知の方法でデータを供給するように構成されたサーバコンピュータ４２０，４２２の一方へ、ネットワーク４３０を介してデータ要求を送信することが可能である。サーバコンピュータ４２０，４２２は、当業者には認識されるように、データベースサーバ及び／又はアプリケーションサーバのような他のサーバを含む場合もあり、あるいは、互いに通信可能な方式でリンクされかつ上記他のサーバに通信可能な方式でリンクされる場合もある。図４は２つのクライアントコンピュータ４１０，４１２及び２つのサーバコンピュータ４２０，４２２のみを示しているが、ネットワークシステム４００は任意の数のクライアントコンピュータ４１０，４１２及びサーバコンピュータ４２０，４２２を含みうるということは理解される必要がある。ここでは、サーバコンピュータ４２０，４２２及びクライアントコンピュータ４１０，４１２を時として集合的にネットワークコンピュータと呼んでいる。
【００１５】
ネットワークシステム４００は、所定のコンピュータプログラムで構成されるマルチユーザアプリケーション４４０をサポートし、上記マルチユーザアプリケーション２２０により、複数のユーザは、コンピュータネットワーク４３０にリンクされた複数のネットワーク装置（クライアントコンピュータ４１０，４１２等）を使用してオンラインセッションで対話することができる。アプリケーション４４０はクライアントコンピュータの各々にインストールされるが、このことは、このアプリケーションの動作上のインスタンスが、アプリケーション４４０を走らせる（実行する）クライアントコンピュータ４１０，４１２の各々のメモリに格納されるということを意味する。マルチユーザアプリケーションのオンラインセッションに参加しようとしている各サーバコンピュータもまた、アプリケーション４４０のインスタンスを格納する。これを説明するために、サーバ４２０，４２２の両方を、インストールされたアプリケーション４４０とともに図示しているが、第１のサーバコンピュータ４２０は、クライアントマシン４１０，４１２によって実行されているマルチユーザアプリケーションのためのサーバであるということを仮定している。データの交換は、実行中にアプリケーション４４０のインスタンス間で発生し、ネットワークコンピュータのそれぞれにおけるネットワークソケット４４５の確立によって有効化される（イネーブルにされる）。ソケットは、図４では個々のネットワークコンピュータにおけるボックスとして表示されている。当業者は、ネットワークソケットが、ネットワークシステム４００上で実行される２つ以上のプログラム間の多元（マルチウェイ）通信リンクの一方の端末であるということを理解するであろう。
【００１６】
アプリケーション４４０は、様々な通信構成に従うネットワークシステム４００のネットワーク装置上で実行されることが可能であり、様々なアプリケーションに関連した処理に対する責務は、詳細後述するように、ネットワーク４３０の異なる複数の計算装置に割り当てられることが可能である。アプリケーション４４０を開発するためには、同じく詳細後述するように、好適にはアプリケーション開発インターフェースが使用される。アプリケーションは、関連付けられたネットワークコンピュータが、図１、図２及び図３に示された通信モードのうちの任意のものを実装する通信構成を使用できるように動作されることが可能である。
【００１７】
マルチユーザアプリケーション４４０は、コンピュータネットワーク４３０にリンクされたネットワークコンピュータ上でユーザが実行できる、任意のタイプのアプリケーションであることが可能である。アプリケーション４４０がクライアントコンピュータ４１０，４１２上で実行されると、ユーザは、同じくアプリケーション４４０を実行している他のネットワークコンピュータを介して他のユーザと対話することができる。サーバコンピュータ４２０は、中央ネットワークの「ミーティングポイント」として機能することが可能であり、ユーザらは、この「集合地点」により、コンタクトを確立し、データを保持し、アプリケーション４４０のオンラインセッションを開始することができる、典型的には、アプリケーション４４０は、当該アプリケーション４４０が内部で動作しているネットワーク装置に、装置４１０，４１２，４２０等の他のネットワーク装置との通信を確立させ、これによりオンラインセッションを開始する。オンラインセッションの間、複数のネットワークコンピュータは、アプリケーション４４０のプログラミングされた機能に従って対話しかつデータを交換する。
【００１８】
アプリケーション４４０が起動され、適切に構成されたコンピュータ間にオンラインセッションが確立されるとき、本アプリケーションは、これらのコンピュータが様々な構成で対話できるようにする。この説明を通じていくつかの場合に、複数のユーザがクライアントコンピュータ４１０，４１２を使用してアクセスしかつ実行することのできるコンピュータゲームをアプリケーション４４０が備えた、オンラインゲームを行うシナリオにおいてアプリケーション４４０を説明する。このような場合、アプリケーション４４０は、ネットワークコンピュータが参加するゲームで構成されるオンラインセッションを確立する。しかしながら、アプリケーション４４０は、コンピュータネットワーク上の複数のコンピュータ間のインタラクションを伴う、例えばオンラインバンキング又はオンラインの旅行計画立案のようなゲーム以外の他のシナリオに関連していてもよいということは理解される必要がある。
【００１９】
アプリケーション４４０が実行されると、これは、オンラインセッションの間に発生するコンピュータ間のインタラクションに関して本アプリケーションのための様々な管理者及び運営機能を実行するネットワークコンピュータであるセッションマスタを識別する。本アプリケーションのオンラインセッションは、ユーザ識別等の情報を含むデータ記憶装置に対する登録又はログオン処理を使用する。ログオン処理は、アプリケーションのネットワーク環境におけるさらなる参加を認証する。好適には、セッションマスタのこの機能は、アプリケーション４４０を実行するクライアントコンピュータ４１０等のクライアントコンピュータがサーバコンピュータ４２０にログオンしてオンラインセッションを開始するときに割り当てられる。しかしながら、このような割り当てが行われる場合と方法に関する詳細はアプリケーション自体によって決定されるので、本発明が教示する内容を逸脱することなく、様々なセッションマスタ割り当て方式を実装することができる。
【００２０】
本アプリケーションのオンラインセッションを開始するクライアントコンピュータ４１０上で動作するアプリケーションのインスタンスは、ホストコンピュータと呼ばれる。ホストコンピュータにおけるアプリケーションは、セッションマスタの機能をサーバコンピュータ４２０又はホストコンピュータ４１０のいずれかに割り当てる。新しいクライアントコンピュータがサーバコンピュータ４２０にログオンして（登録して）オンラインセッションに参加すると、サーバコンピュータ４２０は、既に割り当てられているセッションマスタコンピュータの識別情報をこの新しいクライアントに通知する。
【００２１】
詳細後述するように、セッションマスタの機能は、アプリケーション４４０が動作可能である様々なネットワークの通信構成間での、滑らかな遷移を可能にする。セッションマスタの機能はまた、アプリケーション４４０が、アプリケーションに関連したタスクに対する責務をある特定のネットワークコンピュータに集中させたり、又は、このような責務を２つ以上のネットワークコンピュータの間で分散させたりすることを可能にする。タスクの割り当ては、ネットワークコンピュータのうちの１つの上におけるアプリケーション４４０のインスタンスにより、セッションマスタの機能の割り当てと同時に実行されることが可能であり、かつセッションマスタのタスクは、必須の機能を提供するためにネットワーク４３０上のコンピュータのうちの１つ又は複数に対して割り当てられることが可能である。ここでは、セッションマスタの責務を割り当てられる１つ又は複数のコンピュータを、個々のセッションマスタの機能の「所有者」と呼ぶ。複数のコンピュータが集合的にセッションマスタの機能を実行している場合には、単独のセッションマスタに言及している場合であっても、上記複数のコンピュータからなるグループに適用されるものとして理解されるであろう。従って、セッションマスタのタスクの割り当ては、アプリケーションの開発者の命令に従い、アプリケーションによって指定される方法で実行される。
【００２２】
セッションマスタに割り当てられる責務に係る１つのカテゴリーは、実行されている特定のタイプのアプリケーション４４０に特有の機能である、アプリケーション特定的な機能に関連している。例えば、アプリケーション４４０がゲームタイプのアプリケーションであれば、セッションマスタ、又はセッションマスタのグループは、ゲームのスコア及びゲームの残り時間等のゲームタイプのデータを追跡することが可能であり、かつ、ゲームが終了したときにオンラインセッションを終了させること等のゲーム機能を実行することができる。また、セッションマスタコンピュータには、フットボール、飛行機、海、樹木、等々のゲーム環境におけるオブジェクトの状態のような、特定のゲームデータを追跡する責務を割り当てることもできる。これらの責務のそれぞれは、アプリケーションの動作に従って、単一のセッションマスタコンピュータに集中されてもよく、又は、いくつかのセッションマスタコンピュータ間で分割されてもよい。
【００２３】
ホストコンピュータは、オンラインセッションに参加しているコンピュータに関する管理者機能を実行する。例えば、あるネットワークコンピュータがアプリケーション４４０のオンラインセッションに参加するときはいつでも、ホストコンピュータはセッションに参加するコンピュータに識別インデックス番号を割り当てる。ホストコンピュータは、識別インデックス番号と、これらに関連付けられたネットワークコンピュータとのリストを保持する。インデックス番号はメッセージを送信する際に使用され、かつセッションマスタの機能に関する所有権の記録を保持するためにも使用される。
【００２４】
上述のように、オンラインセッションには複数のセッションマスタが存在する可能性がある。セッションマスタを割り当てる方法は、アプリケーションによって、アプリケーションの動作に従って決定されることが可能である。アプリケーション４４０はまた、オンラインセッションに参加しているすべてのネットワークコンピュータの状態に関してネットワークコンピュータを更新するための更新メッセージを送り出すことに関する責務を、セッションマスタに割り当てることもできる。この責務に伴ってセッションマスタは、詳細後述するように、新しいネットワークコンピュータがオンラインセッションにいつ参加するかということ、又は現在の参加者装置がアプリケーション４４０のオンラインセッションをいつ終了して退出するかということを、参加しているネットワークコンピュータに通知する。
【００２５】
また、上述のインデックス番号を各コンピュータに割り当てるホストコンピュータは、オンラインセッションに参加しているすべてのネットワークコンピュータのリストを保持する。よって、アプリケーション４４０は、コンピュータに割り当てられたインデックス番号に従ってセッションマスタの所有権を追跡する。インデックス番号及び責務の割り当てを追跡するために、アプリケーション４４０は、ネットワークコンピュータのインデックスリストで構成された、図５に示されたテーブル５００のようなテーブルの形式等で、データ構造を保持することができる。テーブル５００は、オンラインセッションに参加している各ネットワークコンピュータに関連付けられたインデックス番号を含み、かつまた当該ネットワークコンピュータがセッションマスタの機能を所有するか否かについての表示を含む。また、テーブル５００を備えたインデックスリストのデータ構造は、好適には、各ネットワークコンピュータに使用されている通信プロトコルを指定する。図５は、異なるセッションマスタのタスク（Ｃ１，Ｃ２，Ｃ３）が異なるネットワークコンピュータによって所有され得ることを示している。
【００２６】
通信プロトコルを指定することに加えて、データ構造は、各ネットワークコンピュータについて通信プロトコルが関連付けられるポートをも指定する。アプリケーション４４０の各インスタンスは、オンラインセッションに参加している関連付けられたネットワークコンピュータが、各ポートが特定の通信プロトコルに関連付けられている状態で複数の通信ポートを開くことを可能にする。ネットワークコンピュータは、図５に示されたテーブル５００で構成されるデータ構造において指定された特定のポート及び特定のプロトコルを使用して、他のネットワークコンピュータと通信する。ポートは、アプリケーション４４０のインスタンスがネットワークを介して通信する際に使用するネットワークソケットを備えることができる。ネットワークコンピュータは、好適には、ネットワークを介して互いに通信メッセージを周期的に送信することにより、ポート／プロトコル情報を伝送するとともに、インデックスリストに含まれる他の情報を伝送する。
【００２７】
好適には、オンラインセッションに参加しているすべてのコンピュータは、テーブル５００インデックスリストの、当該コンピュータのものであるコピーを保持する。テーブル５００は単に例示的なものであり、開始するホストのアプリケーション４４０は、様々なデータ構造フォーマットを使用してクライアントのインデックス番号及びセッションマスタの所有権を他の方法で追跡できるということは理解される必要がある。それに代わって、複数のセッションコンピュータがテーブルの１つ又は複数のコピーを共用することもできる。
【００２８】
開始するアプリケーション４４０は、アプリケーション４４０がセッションマスタの所有権を割り当てる方法に依存して、様々な通信構成で動作することができる。図６に示された第１の構成では、開始するアプリケーション４４０は、セッションマスタ６００の所有権を、専用サーバコンピュータ４２０等の単一のコンピュータに割り当てている。従って、このコンピュータ４２０は、開始するアプリケーション４４０に命じられるセッションマスタの機能に関連付けられたすべてのタスクに対して責務を有する。このように、アプリケーション４４０は、セッションマスタの機能に関してクライアント−サーバ型の通信構成で動作し、サーバコンピュータ４２０は、クライアントコンピュータ４１０へセッションマスタの責務に関するデータを供給する。
【００２９】
アプリケーション４４０のオンラインセッションに参加しているコンピュータはいずれも、クライアントコンピュータ４１０の１つがセッションマスタ６００ａを所有して示されている場合のように、セッションマスタのタスクのうちの１つ又は複数のタスクの所有権を有することも可能であるということが理解される必要がある。図６では、セッションマスタ６００ａが点線を用いて示されている。このことは、クライアントコンピュータに１つ又は複数のセッションマスタのタスクが割り当てられていて、当該クライアントコンピュータが、名目上のセッションマスタのサーバコンピュータ４２０と共に、もしくはこれの代わりに、上記１つ又は複数のセッションマスタのタスクを実行していることを示す。すなわち、オンラインセッションに参加している複数のコンピュータの間にはセッションマスタのいくつかのインスタンスが存在する可能性があり、セッションマスタの各インスタンスには特定の責務が割り当てられ、各セッションマスタのタスクは異なるネットワークコンピュータに割り当てられるか又は複数のタスクが同一のコンピュータに割り当てられる。例えば図６は、２つのセッションマスタ６００及び６００ａが存在し、その各々にアプリケーション４４０のオンラインセッションに関する所定の機能に対する責務が割り当てられているという状況を示している。アプリケーションによる決定に従って、サーバコンピュータ４２０は所定の責務を有し、クライアントコンピュータ４１０もまた所定の責務を有する。これは、統合化されたサーバの構成であり、この場合、セッションマスタ６００ａを所有するクライアントコンピュータ４１０が統合化されたサーバとして機能する。「統合化されたサーバ」とは、すべてのクライアントが、統合化されたサーバとして指定された１つのクライアントに情報を送信し、統合化されたサーバはその情報を他のクライアントへ伝搬させるという状況をいう。統合化されたサーバとして動作するクライアントもまた、１つ又は複数のセッションマスタのタスクを所有することができる。
【００３０】
図７に示されたもう１つの方式では、アプリケーション４４０は、セッションマスタ６００の所有権をいくつかのコンピュータの間に分散させている。図示された例では、クライアントコンピュータ４１０の両方がセッションマスタ６００の所有権を共有している。このような場合では、両方のコンピュータが、セッションマスタに関連付けられた機能を実行することが可能であり、そのため、図７における複数のネットワークコンピュータはピア・ツー・ピア型の構成になる。アプリケーション４４０が動作する特定の通信構成に関わらず、アプリケーションのオンラインセッションは、アプリケーションを実行しかつオンラインセッションに従って対話しているネットワークコンピュータで構成される様々なネットワーク参加者装置を含む。オンラインセッションにおける参加者装置の１つがセッションを終了した場合、セッションに残って継続したままの他の参加者装置を中断させる結果をもたらす場合がある。本発明のある態様によれば、アプリケーション４４０は、ある参加者装置がオンラインセッションを終了するという状況に対処して、残って継続している複数の参加者装置に対する中断を最小化するように構成される。
【００３１】
このことについて、マルチユーザアプリケーション４４０のオンラインセッションにおける参加者装置の終了を管理する処理について記述した図８に示されたフロー図を参照して、より詳細に説明する。８１０の番号を有するフロー図ボックスによって表された第１の動作では、アプリケーションのオンラインセッションに係る１つの参加者装置がオンラインセッションを終了したということを確定する。参加者装置がオンラインセッションを終了したということについて確定することは、様々な方法で行うことができる。ある実施形態では、オンラインセッションに参加するあるネットワークコンピュータ上におけるアプリケーション４４０のインスタンスは、オンラインセッションにおける当該ネットワークコンピュータの存在を他のネットワークコンピュータに通知する更新メッセージを、当該ネットワークコンピュータに、周期的にブロードキャストさせる（同報送信させる）。予め決められた時間内に特定のネットワークコンピュータから更新メッセージが受信されなければ、そのネットワークコンピュータはオンラインセッションを終了したものとみなされる。オンラインセッションを確立する間、そのオンラインセッションを開始するコンピュータ上のアプリケーション４４０のインスタンスは、セッションマスタコンピュータ等の特定のコンピュータに、ある参加者装置がオンラインセッションを終了したということについて確定することの責務を割り当てることができる。
【００３２】
８２０の番号を有するフロー図ボックスによって表された次の動作では、コンピュータのうちの１つにおけるアプリケーション４４０のインスタンスによって、オンラインセッションにおけるすべての参加者装置に通知メッセージがブロードキャストされ、これらの参加者装置に、ある参加者装置（「終了した参加者装置」）がセッションを終了したことが通知される。ネットワークコンピュータのうちのただ１つのみが、例えばセッションマスタコンピュータのみが、すべての参加者装置に通知メッセージをブロードキャストする。セッションマスタコンピュータが当の終了したコンピュータであれば、このセッションマスタコンピュータの後に続く次のインデックスを有するコンピュータ等の他のネットワークコンピュータの１つが、本メッセージをブロードキャストする。通知メッセージは、好適には、終了した参加者のネットワークコンピュータに対して以前に割り当てられていたインデックスを含む。このようにして、他の参加者装置は、図５を参照して先に論じたインデックステーブルを調べることにより、終了した参加者装置を識別することができる。
【００３３】
次の動作は、８３０の番号を有する決定ボックスによって表されたように、セッションを終了した参加者装置が、オンラインセッションの他の参加者装置に影響するであろう任意のセッション管理者機能を実行することに責務を有していたか否か、に基づいて異なる。管理者機能は、通信メッセージのフィルタリング、識別インデックスの割り当て、スコアの保持、セッション回数の追跡、オンラインの世界に位置したアイテムの追跡、オンラインび世界における参加者の位置の追跡などのような機能を含む。セッションを終了した参加者装置がこのようないずれかの機能を実行することに責務を有していた場合、決定ボックス８３０の結果は「ＹＥＳ」となり、処理は、８４０の番号を有するフロー図ボックスによって表された動作へ進む。この動作において、アプリケーション４４０は、終了した参加者装置の管理者の責務を、オンラインセッションにまだ存在しているもう１つの参加者のネットワークコンピュータに再割り当てする。管理者の責務の再割り当ては、好適には、オンラインセッションを終了したコンピュータのインデックスの後に続く次のインデックスを有するコンピュータ等の、特定のコンピュータ上のアプリケーション４４０のインスタンスによって実行される。例えば、第１のインデックスを有するコンピュータがセッションを終了する場合がある。そのとき、（図５に示されたテーブル５００において特定されるような）連続する次のインデックスを有するコンピュータ上のアプリケーションのインスタンスが、終了したコンピュータの任務の再割り当てを実行する。
【００３４】
アプリケーション４４０が責務を再割り当てする方法は、変化する場合がある。ある実施形態において、アプリケーション４４０は、責務が再割り当てされる参加者装置を、所定のファクタに基づいて自動的に選択する。上記ファクタのうちのいくつかは、参加者のネットワークコンピュータの状態に関連している。上記状態は、例えば、通信環境、地理的な場所、及びネットワークコンピュータのハードウェア仕様を含むとともに、各ユーザに固有の選好情報を含むことが可能である。
【００３５】
通信環境は、参加者のネットワークコンピュータが、ケーブルモデム又はＤＳＬを用いる等によって大きな帯域幅性能を有するか否かということに関係する。好適には、より大きな帯域幅性能を有する参加者装置に、終了した参加者装置の責務を引き受けるためのより高い優先度が与えられる。参加者装置の地理的な場所もまた、終了した参加者装置の責務がどの参加者装置に再割り当てされるかを決定する際の１つのファクタであり得る。例えば、通信の待ち時間を最小化するために、他の参加者装置らに対して中心的な位置関係にある参加者装置には、より高い優先順位が与えられてもよい。また、オンラインセッションに参加しているネットワークコンピュータのハードウェア仕様も１つのファクタである。アプリケーション４４０は、強力なデータ処理能力を有するコンピュータのように、再割り当てされている責務に最も適合するハードウェア能力を有するネットワークコンピュータに、より高い優先順位を与えてもよい。
【００３６】
フロー図ボックス８４０の動作に係るもう１つの実施形態では、アプリケーション４４０は、終了した参加者装置の責務を、オンラインセッションの参加者装置のうちの他の１つに対して単にランダムに再割り当てする。アプリケーション４４０はまた、各ユーザに固有の選好情報を考慮することもできる。いく人かのユーザは、いかなるアプリケーション機能を管理する責務を割り当てられることも彼らが希望していないと、アプリケーション４４０に指定してもよい。ユーザらはまた、他の参加者装置がオンラインセッションを終了した場合には、ある特定の参加者装置に責務が再割り当てされるべきであると指定してもよい。それに代わって、アプリケーション４４０は、終了した参加者装置に対して以前に割り当てられていた責務を引き継ぐことを望む参加者装置がいるか否かを訊ねるメッセージが、オンラインセッションのすべての参加者装置にブロードキャストされるようにしてもよい。
【００３７】
次の動作は、８５０の番号を有するフロー図ボックスによって表されている。この動作は、アプリケーション４４０が、終了した参加者装置の責務を再割り当てした後に発生する。フロー図ボックス８５０の動作はまた、終了した参加者装置が、再割り当てを必要とするいかなる責務も持たず、８３０の番号を有する決定ボックスで「ＮＯ」の結果がもたらされた場合にも発生する。この動作において、アプリケーション４４０は、終了した参加者装置に代わる新しい参加者装置を獲得しようと試みる。この試みは、好適には、セッションマスタコンピュータのような特定のコンピュータ上のアプリケーション４４０のインスタンスによって実行される。この動作が、終了した参加者装置の管理者機能を再割り当てすることではなく、オンラインセッションのための交代となる参加者装置を獲得して、終了した参加者装置の代わりをさせることに関連するという点で、この動作がフロー図ボックス８４０の動作と相違するということは、理解される必要がある。
【００３８】
例えば、オンラインセッションはオンラインのフットボールゲームであってもよく、この場合、複数の参加者装置はそれぞれ、共通のチームの選手である。参加者装置の１つには、スコア及びゲーム時間を追跡することを含む、管理者機能が割り当てられていてもよい。その同じ参加者装置は、ゲーム中でクォーターバックの役割を担っていた可能性もある。ゲームの間にその参加者装置がオンラインゲームを終了して退出するとき、アプリケーション４４０は、動作８４０において、終了して退出した参加者装置の管理者機能（すなわちスコア及びゲーム時間を記録する責務）をもう１つの参加者装置に再割り当てし、次いで、動作８５０において、終了した参加者装置のクォーターバックとしての役割を交代する新しい参加者装置を獲得しようとする。
【００３９】
アプリケーション４４０がオンラインセッションのために交代の参加者装置を獲得しようとする方法は、変化してもよい。ある実施形態では、アプリケーション４４０は、終了した参加者装置の交代として、人ではなくネットワークコンピュータを自動的に割り当てる。これにより、ネットワークコンピュータは、終了した参加者装置の機能を実行することになる。もう１つの実施形態では、アプリケーション４４０は、オンラインセッションに参加できる可能性があるネットワークコンピュータのリストを保持し、次いで、これらのコンピュータに、セッションへの参加を勧誘するメッセージを送信する。交代の参加者装置が獲得される間、アプリケーション４４０はオンラインセッションを一時停止モードにしておいてもよい。
【００４０】
アプリケーション４４０は、好適には、アプリケーション４４０で使用されるオブジェクト及び通信メッセージの定義のライブラリを提供するソフトウェア開発キット（ＳＤＫ）を使用して開発される。ソフトウェア開発キットは所定のアプリケーションインターフェースを含み、ＳＤＫを使用して開発されるアプリケーションは、このアプリケーションインターフェースを介して、ネットワークシステム４００等のネットワークシステム上で動作可能になる。アプリケーションインターフェースは、サーバ４２０等の中央のネットワークサーバ内に存在することが可能であり、アプリケーション４４０を有するネットワークコンピュータは、アプリケーションのオンラインセッションを動作させるために、この中央のネットワークサーバにログオンすることができる。ＳＤＫによって提供されるオブジェクト及びメッセージのタイプを使用することにより、アプリケーション４４０は、上述の機能を包含するように開発されることが可能である。ＳＤＫは、好適には、アプリケーション４４０によって利用されるオブジェクトの、クライアントに基づく定義を提供する、オブジェクト定義の構造を含む。オブジェクト定義は、各オブジェクトに関連付けられかつコンピュータネットワークを介してクライアントとのインタラクションを実行するためにアプリケーションによって利用される、複数の特性を含む。
【００４１】
ＳＤＫを使用してアプリケーション４４０が開発されると、アプリケーション４４０は１つ又は複数のネットワークコンピュータへロードされることが可能になり、オンラインセッションは図９のフロー図ボックスに示された動作に従って確立できるようになる。９１０の番号を有するフロー図ボックスによって表された第１の動作では、アプリケーション４４０がその上にロードされるネットワークコンピュータが、そのアプリケーションインターフェースソフトウェアをメモリに含むネットワークコンピュータに接続する。例えば、図４に示されたネットワークシステム４００のうちの１つ又は複数のクライアントコンピュータ４１０が、メモリにロードされたアプリケーション４４０を有していてもよく、サーバコンピュータ４２０がアプリケーションインターフェースを含んでいてもよい。このような場合、クライアントコンピュータ４１０は、ネットワーク４３０を介してサーバコンピュータ４１０との通信接続を確立する。
【００４２】
９２０の番号を有するフロー図ボックスによって表された次の動作では、アプリケーション４４０は、アプリケーションインターフェースのライブラリにおいて利用可能なオブジェクト定義に従って、オブジェクトを登録する。アプリケーション４４０はまた、９２０の番号を有するフロー図ボックスによって表されたように、オンラインセッションの間に利用される任意のメッセージフィルタも登録する。
【００４３】
９５０の番号を有するフロー図ボックスによって表された次の動作では、アプリケーション４４０はセッションマスタを定義し、セッションマスタの所有権をネットワークコンピュータの１つに割り当てる。セッションマスタの所有権は、１つのコンピュータに割り当てられることも可能であり、あるいは、複数のコンピュータに割り当てられることも可能である。アプリケーション４４０はまた、セッションマスタの所有権が特定のコンピュータに専用のものとなるのか否か、又は所有権が他のコンピュータに対して移動される（マイグレーションされる）場合があるか否かも指定する。
【００４４】
この動作の間、アプリケーション４４０は、オンラインセッションに参加するネットワークコンピュータの各々にクライアントインデックスを割り当て、また上述されたインデックステーブルも確立する。アプリケーション４４０は、サーバコンピュータへログオンする第１のネットワークコンピュータがセッションマスタとなりかつまた１又はゼロのインデックスのようなインデックスの初期値を受け取るように構成されることが可能である。インデックスの初期値が変化しうることは、理解される必要がある。その後で、ログオンする後続のネットワークコンピュータは、利用可能な次のインデックスを受け取る。１つ又は複数のセッションマスタの所有権が確立された後で、９５０の番号を有するフロー図ボックスによって表されたように、アプリケーション４４０のオンラインセッションが開始される。
【００４５】
先に述べた通り、図４のブロック図に示されたネットワークコンピュータは、コンピュータネットワークシステム４００のノードを構成する。図１０は、図１のシステム４００における１つのコンピュータのブロック図であり、コンピュータの１つに含まれるハードウェア構成要素を示している。当業者は、装置４１０及び４２０がすべて同様のコンピュータの構造を有してもよいか、あるいはここに記述された能力と整合性のある代替の構造を有してもよいということを理解するであろう。
【００４６】
図１０は、ネットワークコンピュータのうちの任意のものを構成することも可能な、例示的なコンピュータ１０００を示している。各コンピュータ１０００は、米国カリフォルニア州サンタクララのインテル  コーポレーション（Intel Corporation）から入手可能な「ペンティアム（Pentium）（登録商標）」マイクロプロセッサと関連付けられた集積回路チップとのような、中央処理装置（ＣＰＵ）１００２の制御下で動作する。コンピュータのユーザは、キーボード及びコンピュータマウス１００４からコマンド及びデータを入力することができ、ディスプレイ１００６において入力及びコンピュータの出力を見ることができる。ディスプレイは、典型的にはビデオモニタ又はフラットパネルディスプレイである。コンピュータ１０００はまた、ハードディスクドライブ等の直接アクセス記憶装置（ＤＡＳＤ）１００８を含む。メモリ１０１０は、典型的には揮発性半導体ランダムアクセスメモリ（ＲＡＭ）を備える。各コンピュータは、好適には、プログラム製品記憶装置１０１４を受容するプログラム製品読取装置１０１２を含み、プログラム製品読取装置１０１２はこのプログラム製品記憶装置１０１４からデータを読み取ることができる（また、オプションで、プログラム製品読取装置１０１２はこのプログラム製品記憶装置１０１４にデータを書き込むことができる）。プログラム製品読取装置は、例えばディスクドライブを備えることが可能であり、プログラム製品記憶装置は、磁気フロッピーディスク、ＣＤ−Ｒディスク、ＣＤ−ＲＷディスク又はＤＶＤディスク等の、着脱可能な記憶媒体を備えることが可能である。
【００４７】
各コンピュータ１０００は、ネットワーク１０２０とコンピュータとの間の接続１０２２を介した通信を可能にするネットワークインターフェース１０１８を用いて、（インターネット又はイントラネットのような）コンピュータネットワーク１０２０を介して他のコンピュータと通信することができる。ネットワークインターフェース１０１８は、典型的には、例えばネットワークインターフェースカード（ＮＩＣ）を備えるか、あるいは様々なネットワークを介した通信を可能にするモデムを備えている。
【００４８】
ＣＰＵ１００２は、コンピュータ１０００のメモリ１０１０に一時的に記憶されるプログラミングステップの制御下で動作する。上記プログラミングステップが実行されると、コンピュータはその機能を実行する。このように、プログラミングステップは、アプリケーション４４０の機能を実施する。プログラミングステップは、ＤＡＳＤ１００８から受信されること、プログラム製品記憶装置１０１４を介して受信されること、又はネットワーク接続１０２２を介して受信されることが可能である。プログラム製品記憶装置ドライブ１０１２はプログラム製品１０１４を収容し、そこに記録されたプログラミングステップを読み取り、そのプログラミングステップをＣＰＵ１００２による実行のためにメモリ１０１０へ転送することができる。先に述べた通り、プログラム製品記憶装置は、磁気フロッピーディスク及びＣＤ−ＲＯＭ記憶ディスクを含む、コンピュータが読み取り可能な命令を記憶している複数の着脱可能な媒体のうちの任意の１つを備えることが可能である。他の適切なプログラム製品記憶装置は、磁気テープ及び半導体メモリチップを含むことが可能である。このようにして、本発明による動作に必要な処理ステップは、プログラム製品上に具現されることが可能である。
【００４９】
それに代わって、プログラムステップは、ネットワーク１０２０を介して受信され、動作メモリ１０１０の中に格納されることが可能である。このネットワークの方法では、コンピュータは、当業者にはさらなる説明なしに理解されるであろう公知の方法によってネットワーク接続１０２２を介してネットワーク通信が確立された後に、ネットワークインターフェース１０１８を介して、プログラムステップを含むデータを受信してメモリ１０１０の中に格納する。次いで、このプログラムステップはＣＰＵ１００２によって実行され、これにより、コンピュータ処理が構成される。
【００５０】
図４に示されたネットワークシステム４００のうちのネットワークコンピュータはすべて、図１０に示されたものと同様の構造を有してもよく、よって、図１０のコンピュータ１０００に関して説明された詳細事項が、システム４００のすべてのコンピュータに当てはまるように解釈されるものであるということは、理解される必要がある。コンピュータが図４に示されるようにネットワークを介して他のコンピュータと通信することが可能でありかつここに記述された機能をサポートすることが可能である限り、ネットワークコンピュータはいずれも代替の構造を有する可能性があるということは理解される必要がある。
【００５１】
例えば、図１１を参照すると、クライアントコンピュータ４２０は、ビデオゲームシステム１１００のようなコンピュータエンターテイメントシステムを備えることが可能である。図１１は、ビデオゲームシステム１１００の例示的なハードウェア構成のブロック図である。
【００５２】
ビデオゲームシステム１１００は、メインメモリ１１０５に関連付けられた中央処理装置（ＣＰＵ）１１００を含む。ＣＰＵ１１００は、ＯＳ−ＲＯＭ１１６０に記憶されたプログラミングステップ、又はゲームプログラム記憶媒体からメインメモリ１１０５へ転送されたプログラミングステップの制御下で動作する。ＣＰＵ１１００は、このプログラミングステップに従って情報を処理しかつ命令を実行するように構成される。
【００５３】
ＣＰＵ１１００は、専用バス１１２５を介して入力／出力プロセッサ（ＩＯＰ）１１２０と通信可能であるように接続される。ＩＯＰ１１２０は、オペレーティングシステム等のプログラム命令を記憶する不揮発性メモリで構成されたＯＳ  ＲＯＭ１１６０に、ＣＰＵ１１００を接続する。命令は、好適には、メインユニット１１０の起動時にＩＯＰ１１２０を介してＣＰＵに転送される。
【００５４】
ＣＰＵ１１００は、専用バス１１１５を介してグラフィックス処理装置（ＧＰＵ）１１１０と通信可能であるように接続される。ＧＰＵ１１１０は、ＣＰＵ１１００から受信される命令に従って描画処理を実行しかつ画像を形成する（定式化する）ように構成された描画プロセッサである。例えば、ＧＰＵ１１１０は、ＣＰＵ１１００によって生成されかつＣＰＵ１１００から受信されるディスプレイリストに基づいてグラフィックス画像をレンダリングすることができる。ＧＰＵは、グラフィックスデータを記憶するためのバッファを含んでもよい。ＧＰＵ１１１０は、画像をＡＶ出力装置１７５へ出力する。
【００５５】
ＩＯＰ１１２０は、ＩＯＰメモリ１１３０に記憶された命令に従って、ＣＰＵ１１００と複数の周辺の構成要素との間におけるデータの交換を制御する。周辺の構成要素は、１つ又は複数の入力コントローラ１１２２、メモリカード１１４０、ＵＳＢ１１４５、及びＩＥＥＥ１３９４シリアルバス１１５０を含んでもよい。さらに、バス１１５５が、ＩＯＰ１１２０と通信可能であるように接続される。バス１１５５は、ＯＳ  ＲＯＭ１１６０、サウンドプロセッサ装置（ＳＰＵ）１１６５、光ディスク制御装置１１７５、及びハードディスクドライブ（ＨＤＤ）１１８０を含む、いくつかの追加の構成要素にリンクされる。
【００５６】
ＳＰＵ１１６５は、ＣＰＵ１１００及びＩＯＰ１１２０から受信されるコマンドに従って、音楽、音響効果及び音声等のサウンドを生成するように構成される。ＳＰＵ１１６５は、波形データを記憶するサウンドバッファを含んでいてもよい。ＳＰＵ１１６５はサウンド信号を生成し、かつ当該信号をスピーカに送信する。
【００５７】
ディスク制御ユニット１１７５は、例えば、磁気フロッピーディスク、光ＣＤ−ＲＯＭディスク、ＣＤ−Ｒディスク、ＣＤ−ＲＷディスク、ＤＶＤディスク又はこれらに類似するもの等の、着脱可能な記憶媒体を受容する光ディスクドライブを備えることが可能なプログラム読取装置を制御するように構成される。
【００５８】
メモリカード１１４０は、ＣＰＵ１１００がデータを書き込んで記憶することのできる記憶媒体を備えることが可能である。好適には、メモリカード１１４０はＩＯＰ１１２０に対して抜き差しされることが可能である。ユーザは、メモリカード１１４０を使用してデータを記憶するか又は保存することができる。さらに、ビデオゲームシステム１１００には、好適には、データを書き込んで記憶することのできる少なくとも１つのハードディスクドライブ（ＨＤＤ）１１８０が装備される。
【００５９】
ＩＥＥＥ１３９４シリアルバス１１５０又はユニバーサルシリアルバス（ＵＳＢ）１１４５インターフェース等のデータＩ／Ｏインターフェースは、好適には、ＩＯＰ１１２０と通信可能であるように接続され、そのため、図４のネットワーク４３０に対するようなビデオゲームシステム１１００へデータが転送されかつこのビデオゲームシステム１１００からデータが転送されることを可能にする。
【００６０】
上述のシステム及び方法は、ゲームのプレーヤのような、アプリケーションのネットワークユーザが、アプリケーションのための統合化されたサーバ（ＩＳ）として動作する状況を改善し、これにより、当該アプリケーションの従来の実装ではこのＩＳユーザがログオフを希望するときにアプリケーションは終了するようなアプリケーション環境を保持する。上述のように、代替として、（マルチユーザでゲームを行うアプリケーションのような）いくつかのアプリケーションは、退出するユーザの機能（及びデータ）が当該退出するユーザから異なるユーザへ移動されて、上記異なるユーザがオンラインセッションを継続してＩＳの任務を受け継ぐことを許容する。このタイプのハンドオフは、典型的にはいく分か扱いにくく、円滑には達成されない可能性もある。ゲームを行う環境の場合では、例えば、退出するプレーヤがゲーム環境から突然いなくなり、これにより、他のプレーヤが行っているゲームの体験を中断する可能性もある。本発明によるマルチユーザアプリケーションは、すべてのユーザマシンに対して他のユーザがセッションから退出したときに通知することにより、退出しまた加入するユーザが存在する場合であっても、アプリケーションの継続使用を許容する。さらに快適なアプリケーション環境のために、適切な調整が行われることも可能である。この通知は、適正なＩＳ動作及び通信を保証する切断機能を用いて発生する。すなわち、本アプリケーションのアプリケーションサーバ又はＩＳは、アプリケーション環境におけるすべてのクライアントに対して、あるユーザが退出したか又は加入したことをこれらのクライアントに通知するメッセージをブロードキャストすることが可能であり、必要であればこれらのユーザの適切な機能を保証することができる。
【００６１】
上述された統合化されたサーバ（ＩＳ）として動作し、アプリケーションデータを他のユーザに供給するネットワーク装置を有するシステムの場合、アプリケーション環境からのＩＳの障害又は退出は、異なるユーザを新しいＩＳとして割り当てることによって応答される。アプリケーションは、自動的に交代処理を実行することによって、又はすべてのユーザへブロードキャストメッセージを送信して応答を待つことによって、新しいＩＳを割り当てることができる。自動選択の場合、アプリケーションは、ユーザが利用可能な帯域幅と、潜在的な新しいＩＳの地理的な場所と、ＩＳとして考慮されることに対してユーザが示した選好と、技術的な仕様と、ユーザのマシンにおいて利用可能なリソースとを含む考慮事項に従って新しいＩＳを割り当てることができ、又はランダムな選択処理を用いて新しいＩＳを割り当てることができる。アプリケーションがブロードキャストメッセージを送信するように設計されれば、当該メッセージは、典型的には、新しいＩＳとして動作することへの自発的な同意を請う。
【００６２】
さらに、ＩＳに障害が発生した後にシステムにログインする新しいユーザと、そうでなければ障害が発生したＩＳに登録していた可能性もある新しいユーザとは、代わりに異なるＩＳに転換されることが可能であり、今や利用不可能となったＩＳによってサービスされているグループの作業負荷が低減される。この方法では、あるＩＳのアプリケーション環境への加入を希望する新しい参加者は、代わりに、異なるＩＳ及び異なるユーザグループへと移動されることが可能である。代替として、アプリケーションは、利用不可能なＩＳによって運営されるグループのオンラインセッションを解消又は解散しかつ新しいＩＳを有する新しいオンライングループを形成することにより、障害が発生したＩＳに応じることができる。これらの代替例は、本発明による動作のためのアプリケーションを構成しているアプリケーション開発者によって選択されることが可能である。
【００６３】
オンラインセッションの間に個々のユーザが退出すれば、いく分かさらに問題を含む結果をもたらす可能性がある。オンラインゲームを行うコンテキストにおいては、例えば、ゲームを進めるために所定の最少人数のユーザ（プレーヤ）が必要とされる。本発明によれば、アプリケーションは、ネットワーク上の他のユーザにメッセージを送り、他のユーザを、オンラインセッションに参加してマルチユーザアプリケーション（ゲーム等）に参加するように勧誘することによって、応答することができる。それに代わって、アプリケーションは、統合化されたサーバの任務を実行するために人工知能モジュールを呼び出すように構成されることも可能である。
【００６４】
以上、本発明の意味するところが伝えられるように、本発明を現時点での好適な実施形態に関して説明した。しかしながら、本システム及びアプリケーションには、ここには特に記述されていないが本発明を適用できる多数の構成が存在する。従って、本発明はここに記述された特定の実施形態に限定して理解されるべきものではなく、一般にマルチユーザアプリケーションに関する広範な適用可能性を有することは理解される必要がある。よって、添付の請求の範囲内にあるすべての変更例、変形例、又は等価な配置及び実装は、本発明の範囲内にあるものとされるべきである。
【図面の簡単な説明】
【００６５】
【図１】クライアント−サーバ型ネットワークの通信構成で配置されたコンピュータネットワークを示す図である。
【図２】統合化されたネットワーク通信サーバの構成で配置されたコンピュータネットワークを示す図である。
【図３】ピア・ツー・ピア型ネットワークの通信構成で配置されたコンピュータネットワークを示す図である。
【図４】本発明に従って構成されたマルチユーザアプリケーションが実行されるコンピュータネットワークシステムを示す図である。
【図５】マルチユーザアプリケーション用のコンピュータのインデックス及びセッションマスタ情報を含むデータ構造を示す図である。
【図６】マルチユーザアプリケーションが第１のタイプの通信構成で配置されるコンピュータネットワークシステムを示す図である。
【図７】マルチユーザアプリケーションがもう１つのタイプの通信構成で配置されるコンピュータネットワークシステムを示す図である。
【図８】マルチユーザアプリケーションのオンラインセッションにおいて１つの参加者装置の終了を管理する処理を表すフロー図である。
【図９】マルチユーザアプリケーションがオンラインセッションを確立することに関連付けられた動作ステップを示すフロー図である。
【図１０】図４に示されたネットワークにおけるコンピュータのブロック図であって、ハードウェア構成要素を示すブロック図である。
【図１１】図４に示されたネットワークにおけるコンピュータエンタテインメントシステムのブロック図であり、ハードウェア構成要素を示すブロック図である。
【符号の説明】
【００６６】
４００…コンピュータネットワークシステム、
４１０，４１２…、クライアントコンピュータ
４２０，４２２…専用サーバコンピュータ、
４３０，１０２０…コンピュータネットワーク、
４４０…マルチユーザアプリケーション、
４４５…ネットワークソケット、
５００…テーブル、
６００，６００ａ…セッションマスタ、
１０００…コンピュータ、
１００２…中央処理装置（ＣＰＵ）、
１００４…キーボード及びコンピュータマウス、
１００６…ディスプレイ、
１００８…直接アクセス記憶装置（ＤＡＳＤ）、
１０１０…メモリ、
１０１２…プログラム製品読取装置、
１０１４…プログラム製品記憶装置、
１０１８…ネットワークインターフェース、
１０２２…接続、
１１００…ビデオゲームシステム、
１１０５…メインメモリ、
１１１０…グラフィックス処理装置（ＧＰＵ）、
１１１５，１１２５…専用バス、
１１２０…入力／出力プロセッサ（ＩＯＰ）、
１１２２…入力コントローラ、
１１３０…ＩＯＰメモリ、
１１４０…メモリカード、
１１４５…ユニバーサルシリアルバス（ＵＳＢ）、
１１５０…ＩＥＥＥ１３９４シリアルバス、
１１５５…バス、
１１６０…ＯＳ  ＲＯＭ、
１１６５…サウンドプロセッサ装置（ＳＰＵ）、
１１７５…ディスク制御装置、
１１８０…ハードディスクドライブ（ＨＤＤ）。
【図１】
2005520265.tif 000003
【図２】
2005520265.tif 000004
【図３】
2005520265.tif 000005
【図４】
2005520265.tif 000006
【図５】
2005520265.tif 000007
【図６】
2005520265.tif 000008
【図７】
2005520265.tif 000009
【図８】
2005520265.tif 000010
【図９】
2005520265.tif 000011
【図１０】
2005520265.tif 000012
【図１１】
2005520265.tif 000013
【手続補正書】
【提出日】平成16年7月27日(2004.7.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
マルチユーザアプリケーションのオンラインセッションにおける参加者装置を管理する方法であって、
上記マルチユーザアプリケーションのオンラインセッションを開始することを含み、上記オンラインセッションは、コンピュータネットワークに対して通信可能であるようにリンクされたネットワークコンピュータで構成される２つ又はそれよりも多くの参加者装置を含み、
上記方法は、
上記マルチユーザアプリケーションの実行に関連付けられた所定の管理者機能を管理することに責務を有する第１の参加者装置が上記オンラインセッションから切断したことを検出することと、
上記オンラインセッションに存在する参加者装置に上記通信ネットワークを介して通知をブロードキャストし、これにより、上記第１の参加者装置が上記オンラインセッションから切断したことを上記存在する参加者装置に通知することと、
上記第１の参加者装置に関連付けられた上記機能を上記オンラインセッションに存在する１つの参加者装置に再割り当てすることとを含む方法。
【請求項２】
上記第１の参加者装置と交代するための新しい参加者装置を獲得することをさらに含む請求項１記載の方法。
【請求項３】
上記新しい参加者装置は人間によって制御される請求項１記載の方法。
【請求項４】
上記新しい参加者装置はネットワークコンピュータによって制御される請求項１記載の方法。
【請求項５】
上記マルチユーザアプリケーションはゲームを行うアプリケーションであり、上記管理者機能はスコアの保持を含む請求項１記載の方法。
【請求項６】
マルチユーザアプリケーションのオンラインセッションにおける参加者装置を管理する方法であって、
上記マルチユーザアプリケーションのオンラインセッションを開始することを含み、上記オンラインセッションは、コンピュータネットワークに対して通信可能であるようにリンクされたネットワークコンピュータで構成される２つ又はそれよりも多くの参加者装置を含み、
上記方法は、
第１の参加者装置が上記オンラインセッションから切断したことを検出することと、
上記オンラインセッションに存在する参加者装置に上記通信ネットワークを介して参加者装置切断通知をブロードキャストし、これにより、上記第１の参加者装置が上記オンラインセッションから切断したことを上記存在する参加者装置に通知することと、
上記オンラインセッションを終了した上記第１の参加者装置と交代するための新しい参加者装置を獲得することとを含む方法。
【請求項７】
上記第１の参加者装置は上記マルチユーザアプリケーションの実行に関連付けられた所定の管理者機能を管理することに責務を有し、
上記第１の参加者装置に関連付けられた上記機能を上記オンラインセッションのもう１つの参加者装置に再割り当てすることをさらに含む請求項６記載の方法。
【請求項８】
上記第１の参加者装置に関連付けられた上記機能を上記オンラインセッションのもう１つの参加者装置に再割り当てすることは、上記新しい参加者装置に対して行われる請求項７記載の方法。
【請求項９】
上記新しい参加者装置は人間によって制御される請求項６記載の方法。
【請求項１０】
上記新しい参加者装置はネットワークコンピュータによって制御される請求項６記載の方法。
【請求項１１】
上記第１の参加者装置に関連付けられた上記機能を、上記存在する参加者装置の通信環境に基づいて、上記オンラインセッションのもう１つの参加者装置に再割り当てすることをさらに含む請求項７記載の方法。
【請求項１２】
上記第１の参加者装置に関連付けられた上記機能を上記オンラインセッションのもう１つの参加者装置に再割り当てすることは、もう１つの参加者装置にランダムに再割り当てされる請求項７記載の方法。
【請求項１３】
マルチユーザアプリケーションのオンラインセッションにおける参加者装置を管理するシステムであって、上記システムは、プログラム命令を実行しかつデータセットを受信する１つ又は複数のプロセッサを備え、上記プロセッサは、
上記マルチユーザアプリケーションのオンラインセッションを開始し、上記オンラインセッションは、コンピュータネットワークに対して通信可能であるようにリンクされたネットワークコンピュータで構成される２つ又はそれよりも多くの参加者装置を含み、
上記プロセッサは、
上記マルチユーザアプリケーションの実行に関連付けられた所定の管理者機能を管理することに責務を有する第１の参加者装置が上記オンラインセッションから切断したことを検出し、
上記オンラインセッションに存在する参加者装置に上記通信ネットワークを介して通知をブロードキャストし、これにより、上記第１の参加者装置が上記オンラインセッションから切断したことを上記存在する参加者装置に通知し、
上記第１の参加者装置に関連付けられた上記機能を上記オンラインセッションに存在する１つの参加者装置に再割り当てするシステム。
【請求項１４】
上記プロセッサは、上記第１の参加者装置と交代するための新しい参加者装置を獲得するプログラム命令をさらに実行する請求項１３記載のシステム。
【請求項１５】
上記新しい参加者装置は人間によって制御される請求項１３記載のシステム。
【請求項１６】
上記新しい参加者装置はネットワークコンピュータによって制御される請求項１３記載のシステム。
【請求項１７】
上記マルチユーザアプリケーションはゲームを行うアプリケーションであり、上記管理者機能はスコアの保持を含む請求項１３記載のシステム。
【請求項１８】
マルチユーザアプリケーションのオンラインセッションにおける参加者装置を管理する方法を実行するための、コンピュータが読み取り可能な媒体に記録されたプログラムステップを実行するコンピュータシステムにおいて使用されるプログラム製品であって、上記プログラムステップは、
上記マルチユーザアプリケーションのオンラインセッションを開始することを含み、上記オンラインセッションは、コンピュータネットワークに対して通信可能であるようにリンクされたネットワークコンピュータで構成される２つ又はそれよりも多くの参加者装置を含み、
上記プログラムステップは、
上記マルチユーザアプリケーションの実行に関連付けられた所定の管理者機能を管理することに責務を有する第１の参加者装置が上記オンラインセッションから切断したことを検出することと、
上記オンラインセッションに存在する参加者装置に上記通信ネットワークを介して通知をブロードキャストし、これにより、上記第１の参加者装置が上記オンラインセッションから切断したことを上記存在する参加者装置に通知することと、
上記第１の参加者装置に関連付けられた上記機能を上記オンラインセッションに存在する１つの参加者装置に再割り当てすることとを含むプログラム製品。
【請求項１９】
上記プログラムステップは、上記第１の参加者装置と交代するための新しい参加者装置を獲得することをさらに含む請求項１８記載のプログラム製品。
【請求項２０】
上記新しい参加者装置は人間によって制御される請求項１８記載のプログラム製品。
【請求項２１】
上記新しい参加者装置はネットワークコンピュータによって制御される請求項１８記載のプログラム製品。
【請求項２２】
上記マルチユーザアプリケーションはゲームを行うアプリケーションであり、上記管理者機能はスコアの保持を含む請求項１８記載のプログラム製品。
【請求項２３】
マルチユーザアプリケーションのオンラインセッションにおける参加者装置を管理するシステムであって、上記システムは、プログラム命令を実行しかつデータセットを受信する１つ又は複数のプロセッサを備え、上記プロセッサは、
上記マルチユーザアプリケーションのオンラインセッションを開始し、上記オンラインセッションは、コンピュータネットワークに対して通信可能であるようにリンクされたネットワークコンピュータで構成される２つ又はそれよりも多くの参加者装置を含み、
上記プロセッサは、
第１の参加者装置が上記オンラインセッションから切断したことを検出し、
上記オンラインセッションに存在する参加者装置に上記通信ネットワークを介して参加者装置切断通知をブロードキャストし、これにより、上記第１の参加者装置が上記オンラインセッションから切断したことを上記存在する参加者装置に通知し、
上記オンラインセッションを終了した上記第１の参加者装置と交代するための新しい参加者装置を獲得するシステム。
【請求項２４】
マルチユーザアプリケーションのオンラインセッションにおける参加者装置を管理する方法を実行するための、コンピュータが読み取り可能な媒体に記録されたプログラムステップを実行するコンピュータシステムにおいて使用されるプログラム製品であって、上記プログラムステップは、
上記マルチユーザアプリケーションのオンラインセッションを開始することを含み、上記オンラインセッションは、コンピュータネットワークに対して通信可能であるようにリンクされたネットワークコンピュータで構成される２つ又はそれよりも多くの参加者装置を含み、
上記プログラムステップは、
第１の参加者装置が上記オンラインセッションから切断したことを検出することと、
上記オンラインセッションに存在する参加者装置に上記通信ネットワークを介して参加者装置切断通知をブロードキャストし、これにより、上記第１の参加者装置が上記オンラインセッションから切断したことを上記存在する参加者装置に通知することと、
上記オンラインセッションを終了した上記第１の参加者装置と交代するための新しい参加者装置を獲得することとを含むプログラム製品。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００４２
【補正方法】変更
【補正の内容】
【００４２】
９２０の番号を有するフロー図ボックスによって表された次の動作では、アプリケーション４４０は、アプリケーションインターフェースのライブラリにおいて利用可能なオブジェクト定義に従って、オブジェクトを登録する。アプリケーション４４０はまた、９３０の番号を有するフロー図ボックスによって表されたように、オンラインセッションの間に利用される任意のメッセージフィルタも登録する。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００４３
【補正方法】変更
【補正の内容】
【００４３】
９４０の番号を有するフロー図ボックスによって表された次の動作では、アプリケーション４４０はセッションマスタを定義し、セッションマスタの所有権をネットワークコンピュータの１つに割り当てる。セッションマスタの所有権は、１つのコンピュータに割り当てられることも可能であり、あるいは、複数のコンピュータに割り当てられることも可能である。アプリケーション４４０はまた、セッションマスタの所有権が特定のコンピュータに専用のものとなるのか否か、又は所有権が他のコンピュータに対して移動される（マイグレーションされる）場合があるか否かも指定する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００４５
【補正方法】変更
【補正の内容】
【００４５】
先に述べた通り、図４のブロック図に示されたネットワークコンピュータは、コンピュータネットワークシステム４００のノードを構成する。図１０は、図４のシステム４００における１つのコンピュータのブロック図であり、コンピュータの１つに含まれるハードウェア構成要素を示している。当業者は、装置４１０及び４２０がすべて同様のコンピュータの構造を有してもよいか、あるいはここに記述された能力と整合性のある代替の構造を有してもよいということを理解するであろう。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００５４
【補正方法】変更
【補正の内容】
【００５４】
ＣＰＵ１１００は、専用バス１１１５を介してグラフィックス処理装置（ＧＰＵ）１１１０と通信可能であるように接続される。ＧＰＵ１１１０は、ＣＰＵ１１００から受信される命令に従って描画処理を実行しかつ画像を形成する（定式化する）ように構成された描画プロセッサである。例えば、ＧＰＵ１１１０は、ＣＰＵ１１００によって生成されかつＣＰＵ１１００から受信されるディスプレイリストに基づいてグラフィックス画像をレンダリングすることができる。ＧＰＵは、グラフィックスデータを記憶するためのバッファを含んでもよい。ＧＰＵ１１１０は、画像をＡＶ出力装置へ出力する。


【国際調査報告】
2005520265.tif 000014