(57)【要約】  ゲーム機で実行するソフトウェアアプリケーション（例えばゲーム又はタイトル）のユーザーが、汎用計算装置において実行している同一のソフトウェアアプリケーションのユーザーとリアルタイムにセキュアなインタラクションを実行し得る。かくしてゲーム機上のゲームプレイヤーは、ＰＣ上のゲームプレイヤーとセキュアな通信チャネルを介しオンラインでプレイを実行し得る。【選択図】図１
2010521744.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションを実行する第１のプラットフォームを有する第１の計算装置（１０）と、
前記第１の計算装置と通信し、前記アプリケーションを実行する第２のプラットフォームを有する第２の計算装置（３０）であって、前記第２のプラットフォームが、前記第１のプラットフォームと異なっていて、前記第１の計算装置及び前記第２の計算装置双方が、前記アプリケーションとリアルタイムにオンラインでインタラクションするように作動し得るものと、を含むクロスプラットフォームシステム。
【請求項２】
前記アプリケーションが、ゲームタイトル（２００）であることを特徴とする請求項１記載のシステム。
【請求項３】
前記第１の計算装置が、ゲーム機（１０）であって、前記第２の計算装置が、汎用計算装置（３０）であることを特徴とする請求項１記載のシステム。
【請求項４】
前記ゲーム機が、前記汎用計算装置にポートされるネットワークプロトコルスタック（２２，２３）を有することを特徴とする請求項３記載のシステム。
【請求項５】
前記第１の計算装置及び前記第２の通信装置が、ネットワークを介し直接相互に通信（５２０）することを特徴とする請求項１記載のシステム。
【請求項６】
前記第１の計算装置及び前記第２の通信装置が、クリアリングハウス（２０）を介し直接相互に通信することを特徴とする請求項１記載のシステム。
【請求項７】
前記クリアリングハウスが、マルチプレイヤーゲーム及びコンテンツ配信サービス又はシステム（４２０，４３０）を含むことを特徴とする請求項６記載のシステム。
【請求項８】
前記クリアリングハウスが、前記第１の計算装置のタイプ及び前記第２の計算装置のタイプを検証（４２０）するように作動し得ることを特徴とする請求項６記載のシステム。
【請求項９】
クリアリングハウス（２０）に接続し、アプリケーションを実行する第１のプラットフォームを有する第１の計算装置（１０）と、
前記クリアリングハウス（２０）に接続し前記アプリケーションを実行する第２のプラットフォームを有する第２の計算装置（３０）であって、前記第２のプラットフォームが、前記第１のプラットフォームと異なっていて、前記第１の計算装置及び前記第２の計算装置双方が、前記アプリケーションとリアルタイムにオンラインでインタラクションするように作動し得るものと、を含むクロスプラットフォーム通信方法。
【請求項１０】
更に、前記クリアリングハウスに接続する前に前記第１の計算装置を認証するステップ（４２０）を含む請求項９記載の方法。
【請求項１１】
前記第１の計算装置を認証するステップが、
認証サーバー及びキーサーバーへログインする前記第１の計算装置（４２０）と、
クリアリングハウスチケット（４２５）及びポインター（４２７）を前記第１の計算装置に提供するステップと、を含むことを特徴とする請求項１０記載の方法。
【請求項１２】
前記接続（４００，４３０）が、前記クリアリングハウスチケット（４２５）及び前記ポインター（４２７）に対応し実行されることを特徴とする請求項１１記載の方法。
【請求項１３】
前記アプリケーションが、ゲームタイトル（２００）であることを特徴とする請求項９記載の方法。
【請求項１４】
前記第１の計算装置が、ゲーム機（１０）であって、前記第２の計算装置が、汎用計算装置（３０）であることを特徴とする請求項９記載の方法。
【請求項１５】
前記クリアリングハウスが、マルチプレイヤーゲーム及びコンテンツ配信サービス又はシステム（４２０，４３０）を含むことを特徴とする請求項９記載の方法。
【請求項１６】
第１の計算装置（５００）から第２の計算装置（５５０）への可用リクエストをブロードキャストするステップ（５０５）であって、前記第１の計算装置が、第１のプラットフォームを有していて、第２の計算装置が、前記第１のプラットフォームと異なる第２のプラットフォームを有するものと、
前記第１の計算装置を前記第２の計算装置と直接に接続するステップ（５１５）と、
前記第１の計算装置及び前記第２の計算装置双方が、アプリケーションとリアルタイムにオンラインでインタラクションするように前記第１の計算装置及び前記第２の計算装置上でアプリケーションを実行するステップ（５２０）と、を含むクロスプラットフォーム通信方法。
【請求項１７】
前記第１の計算装置が、前記第１の計算装置を前記第２の計算装置に接続する前に、前記第２の計算装置にセッションキーを送信（５１５）することを特徴とする請求項１６記載の方法。
【請求項１８】
前記アプリケーションが、ゲームタイトル（５１０）であることを特徴とする請求項１６記載の方法。
【請求項１９】
前記第１の計算装置が、ゲーム機（１０）であって、前記第２の計算装置が、汎用計算装置（３０）であることを特徴とする請求項１６記載の方法。
【請求項２０】
前記第１の計算装置及び第２の計算装置が、相互にユニキャスト（５２０）することを特徴とする請求項１６記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチプレイヤーネットワークゲーム用クロスプラットフォームに関する。
【背景技術】
【０００２】
一人称シューティングゲーム（ＦＰＳ）などのソフトウェアアプリケーションは、（例えばマイクロソフト社のＸｂｏｘ（登録商標））ゲーム機とパーソナルコンピューター（ＰＣ）双方で利用可能である。しかしながら、ゲーム機は、ＰＣとネットワーク接続を介する通信ができなかった。したがって、例えばゲーム機は、ＰＣとオンラインのテレビゲームをプレイできなかった。
【０００３】
Ｘｂｏｘ  Ｌｉｖｅ（登録商標）は、マイクロソフト社によって作成され作動されるオンラインマルチプレイヤーゲーム及びコンテンツ配信システムである。マイクロソフトのＬｉｖｅ  Ａｎｙｗｈｅｒｅ（登録商標）は、ＰＣ及び携帯電話などのＸｂｏｘプラットフォームでない様々なものとＸｂｏｘ  Ｌｉｖｅとの接続を可能にするが、より少ない機能を有することになる。例えばクロスプラットフォームプレイが利用不可であって、ＰＣプレイヤーは、Ｘｂｏｘプレイヤーと競うことができない。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の目的は、クロスプラットオフォームにおいて、セキュアな通信チャネル上でリアルタイムのオンラインインタラクション環境を提供することである。
【課題を解決するための手段】
【０００５】
ゲーム機において実行している（例えばゲーム又はタイトル）ソフトウェアアプリケーションのユーザーは、ＰＣなどの汎用計算装置において実行している同一のソフトウェアアプリケーションのユーザーとリアルタイムでセキュアにインタラクション（相互作用）し得る。このようにゲーム機上のゲームプレイヤーは、ＰＣ上のゲームプレイヤーとオンラインのプレイを実行し得る。ゲーム機は、例えばクリアリングハウスを介するか又はネットワーク若しくはシステムリンク接続を介し、汎用計算装置と直接にセキュア通信し得る。
【０００６】
クロスプラットフォーム機能を提供するスタック及びポートが設定される。更に、セキュアキー交換は、ビッグエンディアン及びリトルエンディアンのバイト順にも提供される。
【０００７】
この概要を、「発明を実施するための形態」に更に後述されている概念のいくつかを簡易化された形式で紹介するために提供する。この概要は、請求項記対象の主要な特徴又は本質的な特徴を特定することを意図しておらず、請求項の記載対象の範囲を限定するように使用されることも意図していない。
【図面の簡単な説明】
【０００８】
【図１】例示的なネットワーク接続クロスプラットフォームシステムのブロック図である。
【図２】別の例示的なネットワーク接続クロスプラットフォームシステムのブロック図である。
【図３】ポーティング技法例の流れ図である。
【図４】クリアリングハウスの実施形態に関するキー交換プロセス例の図である。
【図５】システムリンクの実施形態に関するキー交換プロセス例の図である。
【図６】例示的な動作環境を示す。
【発明を実施するための形態】
【０００９】
図１は、ゲーム機（１０）がクリアリングハウス（２０）を介し、汎用計算装置（３０）にネットワーク接続されている例示的なクロスプラットフォームシステムのブロック図である。ゲーム機（１０）は、オンラインゲーム用に適合されている任意の計算装置であり得る。例えば、ゲーム機（１０）は、１つ以上のオンラインゲームタイトルがロードされているパーソナルコンピューター（ＰＣ）であり得る。ゲーム機（１０）は、携帯用装置であり得、１つ以上のゲームタイトルを使用され得る。ゲームタイトルは、ロードされ得る個々のアプリケーションであり得、ゲーム機（１０）上で実行し得る。ゲームタイトルが、ＣＤ、ＤＶＤ、ゲームカートリッジ又はその他のような可読媒体にゲーム機（１０）によってストアされ得る。
【００１０】
一般にユーザーは、多くのゲームタイトルを所有し得る。ユーザーは、個々のゲームタイトルをゲーム機（１０）にロードし実行し得、ロードされたオンラインゲームを別のユーザーとプレイし、それぞれそれらのゲーム機又は計算装置上で同一のゲームタイトルを実行する。
【００１１】
ゲーム機（１０）は、望ましくは、例えばマイクロソフト社のＸｂｏｘ（登録商標）などのゲーム専用機であり得、汎用計算装置（３０）は、望ましくは、例えばＰＣ、携帯用装置又は携帯電話であり得る。クリアリングハウス（２０）は、例えばＸｂｏｘ  Ｌｉｖｅ（登録商標）などのオンラインマルチプレイヤーゲーム及びコンテンツ配信サービス又はシステムであり得る。ゲーム機（１０）及び計算装置（３０）はそれぞれ、例えばインターネット又は別のネットワークを介しクリアリングハウス（２０）と通信し得る。
【００１２】
クリアリングハウス（２０）は、望ましくは、セキュアなインターネットアクセスを可能にするそれ自身のネットワークプロトコルスタック（２２）を有する。更に後述するネットワークプロトコルスタック（２２）が、ゲーム機（１０）によって使用され、計算装置（３０）へポートされ得、計算装置（３０）は、クリアリングハウス（２０）と同一のプロトコルを有するコードを有している。プロトコルは、ゲーム機（２０）と計算装置（３０）との間のクロスプラットフォームの会話を実行し得る。
【００１３】
信用を達成し得るように（例えばゲーム機、ＰＣなどの）プラットフォームタイプを含むキー交換がある。プラットフォームタイプは、キー交換メッセージに含まれ得、装置が例えばゲーム機又はＰＣであることを検証するクリアリングハウス（２０）を介して送信され得る。キー交換を以下に更に記載する。
【００１４】
図２は、ゲーム機（１０）が、図１のようなクリアリングハウス（２０）を介さず、例えばシステムリンク又はローカルエリアネットワーク（ＬＡＮ）接続を介し、直接に汎用計算装置（３０）とネットワーク接続されている例示的なシステムのブロック図である。
【００１５】
システムリンクは、ゲーム機がクリアリングハウスを経由する必要がなく直接に相互接続可能にする。その接続を確立するプロトコルは、クリアリングハウスを介するゲーム機との接続の確立と異なる。
クリアリングハウスを経由する代わりにゲーム機は、ブロードキャストパケットを送出し、応答を待つ。これは、ブロードキャストトラフィックをルーティングするように構成されていない場合、システムリンクがサブネット上で動作し、どのようなタイプのルーターを介しても動作しないことを意味する。望ましくは、ブロードキャストパケットは、（ゲームタイトル毎に）共有キーを使用して暗号化されている。キー構造は、クロスプラットフォームプレイを示すフラグを提供し得る。
【００１６】
かくして、ゲーム機において実行しているソフトウェアアプリケーション（例えばゲーム又はタイトル）のユーザーは、計算装置において実行している同一のソフトウェアアプリケーションのユーザーとリアルタイムにインタラクションし得る。その結果、ゲーム機上のゲームプレイヤーは、ＰＣ上のゲームプレイヤーとオンラインでプレイし得る。
【００１７】
１つのゲーム機（１０）及び１つの計算装置（３０）を図１及び２に示しているが、複数のゲーム機（１０）及び計算装置（３０）が、クリアリングハウス、システムリンク、ＬＡＮ又は別の手段を介し一緒にネットワーク接続され得ることを想定している。
【００１８】
汎用計算装置において複数のプロセスが、複数の専用サーバーインスタンスが実行している時、又はゲームのダッシュボードが別々のアプリケーションとして動いている時、などに同時に実行し得る。したがって、プロセス又はアプリケーションそれぞれは、ことによるとそれ自身のブロードキャストポート及びゲームの異なるデータポートを必要とし得る。
【００１９】
ＩＰブロードキャストは、タイトル特有であって、場合によってはユーザーによって構成され得る汎用計算装置の特有のポートに送信される。かくして、タイトルそれぞれは、そのポート選択をデフォルトにし得るか又は使用するポート選択をユーザーに提供し得る。
【００２０】
図３は、システムリンクの機器設定におけるポート技法例の流れ図である。ステップ（２００）において、ゲームタイトル又は他のアプリケーションが、汎用計算装置上でアクティブにされる。ステップ（２１０）において、計算装置が、使用するポートを決定する。ポートは、アクティブにされたゲームタイトル又はアプリケーションに基づき得るか又はユーザーによって設定され得る。ステップ（２２０）において計算装置が、それにしたがってポートを設定する。
【００２１】
イーサネット（登録商標）レベルのアドレス指定は通常、ゲーム機のブロードキャストにおいて使用される。すなわちパケットは、ＩＰレベルより下位の受信機のＭＡＣアドレスへ直接にルーティングされる。したがってＩＰヘッダー中のアドレスは使用されず、また問題にならないので、それは望ましくは、特定のアドレス（例えば０．０．０．１）に設定され特定のポート（例えばポート３０７４）から送信される。かくして、ネットワークゲームプレイのクロスプラットフォーム用計算装置において使用されるポートは、ゲーム機上で使用するポート（例えばポート３０７４）と異なり得る。ゲーム機上のポートは、例えばゲームタイトル又はユーザーの構成に従って変わり得ることを想定している。
【００２２】
ゲーム機におけるクロスプラットフォーム通信は、望ましくは、クロスプラットフォーム特権ビットが、ゲームの実行可能ヘッダー中に設定されている場合に限って、利用可能にされる。設定され得るビットは、ゲームが、イーサネット（登録商標）アドレス指定の代わりに、システムリンク用のＩＰアドレス指定を使用することを示している。これによって、ゲーム機と汎用計算装置との間のシステムリンクが可能になる。そのビットが設定されていない場合、ゲーム機と計算装置との最初のキー交換が拒否される。
【００２３】
計算装置におけるクロスプラットフォーム通信が、望ましくは常に利用可能にされる。
システムリンクのブロードキャストのために使用するポートを設定するためのアプリケーション又はゲームコードから呼び出され得るＡＰＩを記載する。アプリケーション又はゲームは、それがそのコードの中で使用するポートを固定するか又は使用されるポートをビューイング又は変更するために、ユーザーに対しユーザーインターフェースを公開し得る。システムリンクのポートを設定することは、望ましくは、クリアリングハウスを介する接続に使用される例えば残りの３０７４などのポート又はそれが３０７４を許可しない場合、装置と取り決められるポートに影響を与えない
ＡＰＩの例は、
XNetSetSystemLinkPort
INT WSAAPI XNetSetSystemLinkPort( 
WORD wSystemLinkPort
)
である。
【００２４】
パラメーターwSystemLinkPortは、システムリンクのブロードキャスト及びデータ用に使用するポート番号を参照している。ＡＰＩは、成功した場合、０を返し、成功しなかった場合、エラーコードを返す。XNetSetSystemLinkPortは、例えばXEX_ PRIVILEGE CROSSPLATFORM SYSTEM LINKビットが、ゲームの実行可能ヘッダーに設定されていない場合、失敗する。例えば「アドレス使用中」が、選択されたポートがシステムによって使用中である場合、返され得る。
【００２５】
一例においてポート３０７４は、XNetSetSystemLinkPortが呼び出されていない場合、デフォルトポートである。望ましくは、XNetSetSystemLinkPortが、アプリケーション又はゲームの始動前に呼び出され、さもなければアプリケーション又はゲームが失敗する。
【００２６】
XNetSetSystemLinkPortが成功した場合、アプリケーション又はゲームが開始されたとき、ポートセットがバインドに利用可能であることが保証されている。すなわちXNetSetSystemLinkPortは、使用するポートをロックするので、アプリケーション又はゲームのXNetSetSystemLinkPortの呼び出しと開始との間、別のプロセスによってポートが保持されている可能性はない。
【００２７】
ポート番号は、ディスクに保持されず、アプリケーション又はゲーム終了まで使用するためにグローバルにストアされる。アプリケーション又はゲームが停止したとき、システムリンクポートは（例えば元の３０７４に）リセットされる。
【００２８】
システムリンクポートを取得する別のＡＰＩ
XNetGetSystemLinkPort
INT WSAAPI XNetGetSystemLinkPort( 
WORD* pwSystemLinkPort
)
を記載する。
【００２９】
パラメーターpwSystemLinkPortは、システムリンクのブロードキャスト及びデータ用に現在設定されているポート番号である。
ＡＰＩは、成功した場合、０を返し、不成功の場合、エラーコードを返す。XNetGetSystemLinkPortは、XEX PRIVILEGE CROSSPLATFORM SYSTEM LINKビットがゲームの実行可能ヘッダーに設定されていない場合、失敗する。
【００３０】
セキュアキー交換が望ましくは実行される。クリアリングハウスを使用する実施形態に関しては、接続プロトコルの例は、望ましくは、クライアント（ゲーム機及び汎用計算装置）の間の接続すべてが、キー交換を要求することを必要とする。パケットは、それらが汎用計算装置からのものか否か決定するために検査される。その場合、その情報はクリアリングハウス又は他の目的地へ示されているので、所望された場合、データを異なるように処理し得る。
【００３１】
図４は、クリアリングハウスに関する実施形態のキー交換プロセス例の図であって、認証サービス（４１０）と通信するゲームクライアントなどのクライアント（４００）、クリアリングハウスキーサーバー（４２０）及びクリアリングハウスゲートウェイサーバー（４３０）を示す。
【００３２】
ゲームクライアント（４００）は、ログイン証明書（４０５）を認証サービス（４１０）に送信する。認証サービス（４１０）は、認証チケット（４１５）と共にクライアント（４００）に応答する。ゲームクライアント（４００）は、認証チケット（４１５）をクリアリングハウスキーサーバー（４２０）に提示する。クリアリングハウスキーサーバー（４２０）は、クリアリングハウスチケット（４２５）及びクリアリングハウスゲートウェイサーバー（４３０）へのポインター（４２７）を応答する。ゲームクライアント（４００）はその後、そのクリアリングハウスサービスを利用するためにクリアリングハウスのゲートウェイサーバー（４３０）に接続し得る。
【００３３】
キー交換メッセージは、望ましくは、ゲームを実行するマシンがクリアリングハウスに接続するために使用する必要とするポート番号を含む。
図５に関して記載したクリアリングハウスを使用しない実施形態（例えばシステムリンクの実施形態）においては、望ましくは、キー交換は、キーの中のクロスプラットフォーム接続を示すフラグを使用する。
【００３４】
図５は、システムリンクの実施形態に関するキー交換プロセス例の図である。図５は、ホスト及び別のゲームクライアント（５５０）として作動するゲームクライアント（５００）を示す。クライアントは、例えばＬＡＮのサブネットを介し通信し得る。更なるゲームクライアントを示していないが、それらがネットワーク上にあることを想定している。
【００３５】
ゲームクライアントホスト（５００）は、その存在及び可用性をブロードキャストする（５０５）。ゲームクライアント（５５０）は、ブロードキャストを解読し、ゲームに参加するためにブロードキャストに応答する（５１０）。ゲームクライアントホスト（５００）は、参加リクエストを受理し、ゲームセッションキーをブロードキャストする（５１５）。ゲームクライアント（５００）、（５５０）は、望ましくは、ゲームセッションを実行するために相互にユニキャストする（５２０）。コンピューターネットワークにおけるユニキャストは、単一の目的地への情報パケットの送信である。望ましくは、ブロードキャストすべてがタイトル特有のキーを用いて暗号化され、ユニキャストすべてがゲームセッション特有のキーを用いて暗号化される。
【００３６】
計算時のバイト順番に関しては、エンディアンが、更に小さい単位のシーケンスとして、いくつかの種類のデータを表すために使用される順番である。典型的な場合は整数値が、計算機のメモリーにバイトとしてストアされる（所与のメモリーアドレス指定スキームに関連する）順番であって、ネットワーク上の送信順番である。バイトに関してエンディアンが、バイト順番としても参照される。
【００３７】
計算機のプロセッサーのほとんどは、整数をバイトシーケンスとして単純にストアするだけなので、概念的には、符号化された値が単純な連結によって取得され得る。ｎ−バイトの整数値に関しては、これによって（バイト順列それぞれに対して）ｎ！個の可能な表現ができる。それらのうち最も一般的な２つがリトルエンディアン及びいわゆるその逆のビッグエンディアンとして知られていて、メモリーのアドレスを増やして数値の重要性を増す。
【００３８】
計算機アーキテクチャすべてが、ビッグエンディアン又はリトルエンディアンである。ビッグエンディアンアーキテクチャは、例えばマイクロソフトのＸｂｏｘ及びＩＢＭのＰｏｗｅｒ  ＰＣにおいて見出される。インテルｘ８６プロセッサー（及びそれらのクローン）は、リトルエンディアン形式を使用している。
【００３９】
図６及び以下の論述は、本発明及び／又はその一部が実装され得る適切な計算環境の簡潔な概説を提供することを意図している。要求されていないが、本発明を、クライアントワークステーション又はサーバーなどの計算機によって実行されるプログラムモジュールなどの計算機実行可能命令に関する一般的な文脈で記載する。一般にプログラムモジュールは、特定のタスクを実行するか又は特定の抽象データタイプを実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造及びその他を含む。更に、本発明及び／又はその一部が、携帯用装置、マルチプロセッサーシステム、マイクロプロセッサーベース又はプログラマブルの家庭用電化製品、ネットワークＰＣ、ミニコンピューター、メインフレームコンピューター及びその他を含む他のコンピューターシステム構成を用いて実施され得ることが十分に理解されよう。本発明は、タスクが通信ネットワークを介して接続されているリモート処理装置によって実行される分散計算環境においても、実施され得る。分散計算環境においてプログラムモジュールは、ローカル及びリモートのメモリー記憶装置双方に配置され得る。
【００４０】
図６に示されているように、例示的な汎用計算システムは、処理ユニット（１２１）、システムメモリー（１２２）及びシステムメモリーを含む様々なシステムコンポーネントを処理ユニット（１２１）に接続するシステムバス（１２３）を含む従来のパーソナルコンピューター（１２０）又はその他を含む。システムバス（１２３）は、メモリーバス又はメモリーコントローラーを含むいくつかのタイプの任意のバス構造、周辺機器用バス及び様々な任意のバスアーキテクチャを使用するローカルバスであり得る。システムメモリーは、読み出し専用メモリー（ＲＯＭ）（１２４）及びランダムアクセスメモリー（ＲＡＭ）（１２５）を含む。起動中などにパーソナルコンピューター（１２０）内のエレメント間の情報送信を支援する基本ルーチンを含む基本入力／出力システム（１２６）（ＢＩＯＳ）が、ＲＯＭ（１２４）にストアされている。
【００４１】
パーソナルコンピューター（１２０）は更に、（図示されていない）ハードディスクから読み出し、それに書き込むためのハードディスクドライブ（１２７）、取り外し可能磁気ディスク（１２９）から読み出すか又はそれに書き込むための磁気ディスクドライブ（１２８）及びＣＤ−ＲＯＭ又は他の光媒体などの取り外し可能光ディスク（１３１）から読み出すか又はそれに書き込むための光ディスクドライブ（１３０）を含み得る。ハードディスクドライブ（１２７）、磁気ディスクドライブ（１２８）及び光ディスクドライブ（１３０）は、それぞれハードディスクドライブインターフェース（１３２）、磁気ディスクドライブインターフェース（１３３）及び光ドライブインターフェース（１３４）によってシステムバス（１２３）に接続されている。ドライブ及びそれらに関する計算機可読媒体は、パーソナルコンピューター（１２０）に対する計算機可読命令、データ構造、プログラムモジュール及び他のデータを不揮発性ストレージに提供する。
【００４２】
本明細書に記載した例示的な環境は、ハードディスク、取り外し可能磁気ディスク（１２９）及び取り外し可能光ディスク（１３１）を使用しているが、計算機によってアクセス可能なデータをストアし得る他のタイプの計算機可読媒体も例示的な動作環境において使用され得ることが十分にされよう。そのような別のタイプの媒体は、磁気カセット、フラッシュメモリーカード、デジタルビデオディスク、ベルヌーイカートリッジ、ランダムアクセスメモリー（ＲＡＭ）、読み出し専用メモリー（ＲＯＭ）及びその他を含む。
【００４３】
多くのプログラムモジュールは、オペレーティングシステム（１３５）、１つ以上のアプリケーションプログラム（１３６）、他のプログラムモジュール（１３７）及びプログラムデータ（１３８）を含むハードディスク、磁気ディスク（１２９）、光ディスク（１３１）、ＲＯＭ（１２４）又はＲＡＭ（１２５）にストアされ得る。ユーザーは、コマンド及び情報を、キーボード（１４０）及びポインティングデバイス（１４２）などの入力装置を介しパーソナルコンピューター（１２０）へ入力し得る。（図示されていない）他の入力装置は、マイクロフォン、ジョイスティック、ゲームパッド、衛星受信機、スキャナー又はその他を含み得る。これら及び他の入力装置は、多くの場合、システムバスと結合されるシリアルポートインターフェース（１４６）を介し処理ユニット（１２１）に接続されているが、パラレルポート、ゲームポート又はユニバーサルシリアルバス（ＵＳＢ）などの他のインターフェースによって接続され得る。モニター（１４７）又は別のタイプのディスプレイ装置が、ビデオアダプター（１４８）などのインターフェースを介しシステムバス（１２３）にも接続されている。モニター（１４７）に加えてパーソナルコンピューターは通常、スピーカー及びプリンターなどの（図示されていない）他の周辺出力装置を含む。図６の例示的なシステムは、ホストアダプター（１５５）、スモールコンピューターシステムインターフェース（ＳＣＳＩ）バス（１５６）及びＳＣＳＩバス（１５６）に接続されている外付けの記憶装置（１６２）も含む。
【００４４】
パーソナルコンピューター（１２０）は、リモートコンピューター（１４９）のような１つ以上のリモートコンピューターと論理接続を使用しネットワーク接続環境において作動し得る。リモートコンピューター（１４９）は、メモリー記憶装置（１５０）だけが図６に例示されているが、別のパーソナルコンピューター、サーバー、ルーター、ネットワークＰＣ、ピア装置又は他の一般的なネットワークノードであり得、通常、パーソナルコンピューター（１２０）に関する前述したエレメントの多く又はすべてを含む。図６に示されている論理接続は、ローカルエリアネットワーク（ＬＡＮ）（１５１）及び広域ネットワーク（ＷＡＮ）（１５２）を含む。そのような企業規模のコンピューターネットワーク、イントラネット及びインターネットのネットワーク環境は、オフィスにおいて一般的である。
【００４５】
ＬＡＮネットワーク環境において使用されるとき、パーソナルコンピューター（１２０）は、ネットワークインターフェース又はアダプター（１５３）を介しＬＡＮ（１５１）に接続される。ＷＡＮネットワーク環境において使用されるとき、パーソナルコンピューター（１２０）は通常、モデム（１５４）又はインターネットなどの広域ネットワーク（１５２）を介する通信を確立する別の手段を含む。モデム（１５４）は、内蔵又は外付けであり得、シリアルポートインターフェース（１４６）を介しシステムバス（１２３）に接続される。ネットワーク接続環境において、パーソナルコンピューター（１２０）又はその一部に対し表わされたプログラムモジュールは、リモートメモリー記憶装置にストアされ得る。示されているネットワーク接続が例示的であって、計算機間の通信リンクを確立する別の手段が使用され得ることが十分に理解されよう。
【００４６】
対象項目を構造上の機能及び／又は方法論の行為に対して特定の言語で記載したが、添付の請求項において定義された内容が、必ずしも前述した特定の機能又は動作に限定されるわけではないことを理解されよう。もっと正確に言えば、前述した特定の特徴及び動作を、請求項を実施する例形式として開示する。
【符号の説明】
【００４７】
１０  ゲーム機
２０  クリアリングハウス
２２  ネットワークプロトコルスタック
２３  ネットワークプロトコルスタック
３０  汎用計算装置
１２０  パーソナルコンピューター
１２１  処理装置ユニット
１２２  システムメモリー
１２３  システムバス
１２４  読み出し専用メモリー
１２５  ランダムアクセスメモリー
１２６  基本入出力システム
１２７  ハードドライブ
１２８  フロッピー（登録商標）ドライブ
１２９  ストレージ
１３０  光ドライブ
１３１  ストレージ
１３５  オペレーティングシステム
１３６  アプリケーションプログラム（複数）
１３７  別のプログラム（複数）
１３８  プログラムデータ
１４６  シリアルポート
１４７  モニター
１４８  ビデオアダプター
１４９  リモートコンピューター（単数又は複数）
１５０  メモリー
１５１  ローカルエリアネットワーク
１５２  広域ネットワーク
１５３  ネットワークインターフェース
１５４  モデム
１５５  ホストアダプター
１５６  ＳＣＳＩバス
１６２  記憶装置
４００  ゲームクライアント
４０５  ログイン証明書
４２０  クリアリングハウスキーサーバー
４２５  クリアリングハウスチケット
４２７  クリアリングハウスポインター
４３０  クリアリングハウスゲートウェイサーバー
５００  ゲームクライアント１（ホスト）
５５０  ゲームクライアント２
【図１】
2010521744.tif 000003
【図２】
2010521744.tif 000004
【図３】
2010521744.tif 000005
【図４】
2010521744.tif 000006
【図５】
2010521744.tif 000007
【図６】
2010521744.tif 000008
【国際調査報告】
2010521744.tif 000009
2010521744.tif 000010