説明

マルチプレイヤーネットワークゲームプレイ用セキュアクロスプラットフォーム

ゲーム機で実行するソフトウェアアプリケーション(例えばゲーム又はタイトル)のユーザーが、汎用計算装置において実行している同一のソフトウェアアプリケーションのユーザーとリアルタイムにセキュアなインタラクションを実行し得る。かくしてゲーム機上のゲームプレイヤーは、PC上のゲームプレイヤーとセキュアな通信チャネルを介しオンラインでプレイを実行し得る。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、マルチプレイヤーネットワークゲーム用クロスプラットフォームに関する。
【背景技術】
【0002】
一人称シューティングゲーム(FPS)などのソフトウェアアプリケーションは、(例えばマイクロソフト社のXbox(登録商標))ゲーム機とパーソナルコンピューター(PC)双方で利用可能である。しかしながら、ゲーム機は、PCとネットワーク接続を介する通信ができなかった。したがって、例えばゲーム機は、PCとオンラインのテレビゲームをプレイできなかった。
【0003】
Xbox Live(登録商標)は、マイクロソフト社によって作成され作動されるオンラインマルチプレイヤーゲーム及びコンテンツ配信システムである。マイクロソフトのLive Anywhere(登録商標)は、PC及び携帯電話などのXboxプラットフォームでない様々なものとXbox Liveとの接続を可能にするが、より少ない機能を有することになる。例えばクロスプラットフォームプレイが利用不可であって、PCプレイヤーは、Xboxプレイヤーと競うことができない。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明の目的は、クロスプラットオフォームにおいて、セキュアな通信チャネル上でリアルタイムのオンラインインタラクション環境を提供することである。
【課題を解決するための手段】
【0005】
ゲーム機において実行している(例えばゲーム又はタイトル)ソフトウェアアプリケーションのユーザーは、PCなどの汎用計算装置において実行している同一のソフトウェアアプリケーションのユーザーとリアルタイムでセキュアにインタラクション(相互作用)し得る。このようにゲーム機上のゲームプレイヤーは、PC上のゲームプレイヤーとオンラインのプレイを実行し得る。ゲーム機は、例えばクリアリングハウスを介するか又はネットワーク若しくはシステムリンク接続を介し、汎用計算装置と直接にセキュア通信し得る。
【0006】
クロスプラットフォーム機能を提供するスタック及びポートが設定される。更に、セキュアキー交換は、ビッグエンディアン及びリトルエンディアンのバイト順にも提供される。
【0007】
この概要を、「発明を実施するための形態」に更に後述されている概念のいくつかを簡易化された形式で紹介するために提供する。この概要は、請求項記対象の主要な特徴又は本質的な特徴を特定することを意図しておらず、請求項の記載対象の範囲を限定するように使用されることも意図していない。
【図面の簡単な説明】
【0008】
【図1】例示的なネットワーク接続クロスプラットフォームシステムのブロック図である。
【図2】別の例示的なネットワーク接続クロスプラットフォームシステムのブロック図である。
【図3】ポーティング技法例の流れ図である。
【図4】クリアリングハウスの実施形態に関するキー交換プロセス例の図である。
【図5】システムリンクの実施形態に関するキー交換プロセス例の図である。
【図6】例示的な動作環境を示す。
【発明を実施するための形態】
【0009】
図1は、ゲーム機(10)がクリアリングハウス(20)を介し、汎用計算装置(30)にネットワーク接続されている例示的なクロスプラットフォームシステムのブロック図である。ゲーム機(10)は、オンラインゲーム用に適合されている任意の計算装置であり得る。例えば、ゲーム機(10)は、1つ以上のオンラインゲームタイトルがロードされているパーソナルコンピューター(PC)であり得る。ゲーム機(10)は、携帯用装置であり得、1つ以上のゲームタイトルを使用され得る。ゲームタイトルは、ロードされ得る個々のアプリケーションであり得、ゲーム機(10)上で実行し得る。ゲームタイトルが、CD、DVD、ゲームカートリッジ又はその他のような可読媒体にゲーム機(10)によってストアされ得る。
【0010】
一般にユーザーは、多くのゲームタイトルを所有し得る。ユーザーは、個々のゲームタイトルをゲーム機(10)にロードし実行し得、ロードされたオンラインゲームを別のユーザーとプレイし、それぞれそれらのゲーム機又は計算装置上で同一のゲームタイトルを実行する。
【0011】
ゲーム機(10)は、望ましくは、例えばマイクロソフト社のXbox(登録商標)などのゲーム専用機であり得、汎用計算装置(30)は、望ましくは、例えばPC、携帯用装置又は携帯電話であり得る。クリアリングハウス(20)は、例えばXbox Live(登録商標)などのオンラインマルチプレイヤーゲーム及びコンテンツ配信サービス又はシステムであり得る。ゲーム機(10)及び計算装置(30)はそれぞれ、例えばインターネット又は別のネットワークを介しクリアリングハウス(20)と通信し得る。
【0012】
クリアリングハウス(20)は、望ましくは、セキュアなインターネットアクセスを可能にするそれ自身のネットワークプロトコルスタック(22)を有する。更に後述するネットワークプロトコルスタック(22)が、ゲーム機(10)によって使用され、計算装置(30)へポートされ得、計算装置(30)は、クリアリングハウス(20)と同一のプロトコルを有するコードを有している。プロトコルは、ゲーム機(20)と計算装置(30)との間のクロスプラットフォームの会話を実行し得る。
【0013】
信用を達成し得るように(例えばゲーム機、PCなどの)プラットフォームタイプを含むキー交換がある。プラットフォームタイプは、キー交換メッセージに含まれ得、装置が例えばゲーム機又はPCであることを検証するクリアリングハウス(20)を介して送信され得る。キー交換を以下に更に記載する。
【0014】
図2は、ゲーム機(10)が、図1のようなクリアリングハウス(20)を介さず、例えばシステムリンク又はローカルエリアネットワーク(LAN)接続を介し、直接に汎用計算装置(30)とネットワーク接続されている例示的なシステムのブロック図である。
【0015】
システムリンクは、ゲーム機がクリアリングハウスを経由する必要がなく直接に相互接続可能にする。その接続を確立するプロトコルは、クリアリングハウスを介するゲーム機との接続の確立と異なる。
クリアリングハウスを経由する代わりにゲーム機は、ブロードキャストパケットを送出し、応答を待つ。これは、ブロードキャストトラフィックをルーティングするように構成されていない場合、システムリンクがサブネット上で動作し、どのようなタイプのルーターを介しても動作しないことを意味する。望ましくは、ブロードキャストパケットは、(ゲームタイトル毎に)共有キーを使用して暗号化されている。キー構造は、クロスプラットフォームプレイを示すフラグを提供し得る。
【0016】
かくして、ゲーム機において実行しているソフトウェアアプリケーション(例えばゲーム又はタイトル)のユーザーは、計算装置において実行している同一のソフトウェアアプリケーションのユーザーとリアルタイムにインタラクションし得る。その結果、ゲーム機上のゲームプレイヤーは、PC上のゲームプレイヤーとオンラインでプレイし得る。
【0017】
1つのゲーム機(10)及び1つの計算装置(30)を図1及び2に示しているが、複数のゲーム機(10)及び計算装置(30)が、クリアリングハウス、システムリンク、LAN又は別の手段を介し一緒にネットワーク接続され得ることを想定している。
【0018】
汎用計算装置において複数のプロセスが、複数の専用サーバーインスタンスが実行している時、又はゲームのダッシュボードが別々のアプリケーションとして動いている時、などに同時に実行し得る。したがって、プロセス又はアプリケーションそれぞれは、ことによるとそれ自身のブロードキャストポート及びゲームの異なるデータポートを必要とし得る。
【0019】
IPブロードキャストは、タイトル特有であって、場合によってはユーザーによって構成され得る汎用計算装置の特有のポートに送信される。かくして、タイトルそれぞれは、そのポート選択をデフォルトにし得るか又は使用するポート選択をユーザーに提供し得る。
【0020】
図3は、システムリンクの機器設定におけるポート技法例の流れ図である。ステップ(200)において、ゲームタイトル又は他のアプリケーションが、汎用計算装置上でアクティブにされる。ステップ(210)において、計算装置が、使用するポートを決定する。ポートは、アクティブにされたゲームタイトル又はアプリケーションに基づき得るか又はユーザーによって設定され得る。ステップ(220)において計算装置が、それにしたがってポートを設定する。
【0021】
イーサネット(登録商標)レベルのアドレス指定は通常、ゲーム機のブロードキャストにおいて使用される。すなわちパケットは、IPレベルより下位の受信機のMACアドレスへ直接にルーティングされる。したがってIPヘッダー中のアドレスは使用されず、また問題にならないので、それは望ましくは、特定のアドレス(例えば0.0.0.1)に設定され特定のポート(例えばポート3074)から送信される。かくして、ネットワークゲームプレイのクロスプラットフォーム用計算装置において使用されるポートは、ゲーム機上で使用するポート(例えばポート3074)と異なり得る。ゲーム機上のポートは、例えばゲームタイトル又はユーザーの構成に従って変わり得ることを想定している。
【0022】
ゲーム機におけるクロスプラットフォーム通信は、望ましくは、クロスプラットフォーム特権ビットが、ゲームの実行可能ヘッダー中に設定されている場合に限って、利用可能にされる。設定され得るビットは、ゲームが、イーサネット(登録商標)アドレス指定の代わりに、システムリンク用のIPアドレス指定を使用することを示している。これによって、ゲーム機と汎用計算装置との間のシステムリンクが可能になる。そのビットが設定されていない場合、ゲーム機と計算装置との最初のキー交換が拒否される。
【0023】
計算装置におけるクロスプラットフォーム通信が、望ましくは常に利用可能にされる。
システムリンクのブロードキャストのために使用するポートを設定するためのアプリケーション又はゲームコードから呼び出され得るAPIを記載する。アプリケーション又はゲームは、それがそのコードの中で使用するポートを固定するか又は使用されるポートをビューイング又は変更するために、ユーザーに対しユーザーインターフェースを公開し得る。システムリンクのポートを設定することは、望ましくは、クリアリングハウスを介する接続に使用される例えば残りの3074などのポート又はそれが3074を許可しない場合、装置と取り決められるポートに影響を与えない
APIの例は、
XNetSetSystemLinkPort
INT WSAAPI XNetSetSystemLinkPort(
WORD wSystemLinkPort
)
である。
【0024】
パラメーターwSystemLinkPortは、システムリンクのブロードキャスト及びデータ用に使用するポート番号を参照している。APIは、成功した場合、0を返し、成功しなかった場合、エラーコードを返す。XNetSetSystemLinkPortは、例えばXEX_ PRIVILEGE CROSSPLATFORM SYSTEM LINKビットが、ゲームの実行可能ヘッダーに設定されていない場合、失敗する。例えば「アドレス使用中」が、選択されたポートがシステムによって使用中である場合、返され得る。
【0025】
一例においてポート3074は、XNetSetSystemLinkPortが呼び出されていない場合、デフォルトポートである。望ましくは、XNetSetSystemLinkPortが、アプリケーション又はゲームの始動前に呼び出され、さもなければアプリケーション又はゲームが失敗する。
【0026】
XNetSetSystemLinkPortが成功した場合、アプリケーション又はゲームが開始されたとき、ポートセットがバインドに利用可能であることが保証されている。すなわちXNetSetSystemLinkPortは、使用するポートをロックするので、アプリケーション又はゲームのXNetSetSystemLinkPortの呼び出しと開始との間、別のプロセスによってポートが保持されている可能性はない。
【0027】
ポート番号は、ディスクに保持されず、アプリケーション又はゲーム終了まで使用するためにグローバルにストアされる。アプリケーション又はゲームが停止したとき、システムリンクポートは(例えば元の3074に)リセットされる。
【0028】
システムリンクポートを取得する別のAPI
XNetGetSystemLinkPort
INT WSAAPI XNetGetSystemLinkPort(
WORD* pwSystemLinkPort
)
を記載する。
【0029】
パラメーターpwSystemLinkPortは、システムリンクのブロードキャスト及びデータ用に現在設定されているポート番号である。
APIは、成功した場合、0を返し、不成功の場合、エラーコードを返す。XNetGetSystemLinkPortは、XEX PRIVILEGE CROSSPLATFORM SYSTEM LINKビットがゲームの実行可能ヘッダーに設定されていない場合、失敗する。
【0030】
セキュアキー交換が望ましくは実行される。クリアリングハウスを使用する実施形態に関しては、接続プロトコルの例は、望ましくは、クライアント(ゲーム機及び汎用計算装置)の間の接続すべてが、キー交換を要求することを必要とする。パケットは、それらが汎用計算装置からのものか否か決定するために検査される。その場合、その情報はクリアリングハウス又は他の目的地へ示されているので、所望された場合、データを異なるように処理し得る。
【0031】
図4は、クリアリングハウスに関する実施形態のキー交換プロセス例の図であって、認証サービス(410)と通信するゲームクライアントなどのクライアント(400)、クリアリングハウスキーサーバー(420)及びクリアリングハウスゲートウェイサーバー(430)を示す。
【0032】
ゲームクライアント(400)は、ログイン証明書(405)を認証サービス(410)に送信する。認証サービス(410)は、認証チケット(415)と共にクライアント(400)に応答する。ゲームクライアント(400)は、認証チケット(415)をクリアリングハウスキーサーバー(420)に提示する。クリアリングハウスキーサーバー(420)は、クリアリングハウスチケット(425)及びクリアリングハウスゲートウェイサーバー(430)へのポインター(427)を応答する。ゲームクライアント(400)はその後、そのクリアリングハウスサービスを利用するためにクリアリングハウスのゲートウェイサーバー(430)に接続し得る。
【0033】
キー交換メッセージは、望ましくは、ゲームを実行するマシンがクリアリングハウスに接続するために使用する必要とするポート番号を含む。
図5に関して記載したクリアリングハウスを使用しない実施形態(例えばシステムリンクの実施形態)においては、望ましくは、キー交換は、キーの中のクロスプラットフォーム接続を示すフラグを使用する。
【0034】
図5は、システムリンクの実施形態に関するキー交換プロセス例の図である。図5は、ホスト及び別のゲームクライアント(550)として作動するゲームクライアント(500)を示す。クライアントは、例えばLANのサブネットを介し通信し得る。更なるゲームクライアントを示していないが、それらがネットワーク上にあることを想定している。
【0035】
ゲームクライアントホスト(500)は、その存在及び可用性をブロードキャストする(505)。ゲームクライアント(550)は、ブロードキャストを解読し、ゲームに参加するためにブロードキャストに応答する(510)。ゲームクライアントホスト(500)は、参加リクエストを受理し、ゲームセッションキーをブロードキャストする(515)。ゲームクライアント(500)、(550)は、望ましくは、ゲームセッションを実行するために相互にユニキャストする(520)。コンピューターネットワークにおけるユニキャストは、単一の目的地への情報パケットの送信である。望ましくは、ブロードキャストすべてがタイトル特有のキーを用いて暗号化され、ユニキャストすべてがゲームセッション特有のキーを用いて暗号化される。
【0036】
計算時のバイト順番に関しては、エンディアンが、更に小さい単位のシーケンスとして、いくつかの種類のデータを表すために使用される順番である。典型的な場合は整数値が、計算機のメモリーにバイトとしてストアされる(所与のメモリーアドレス指定スキームに関連する)順番であって、ネットワーク上の送信順番である。バイトに関してエンディアンが、バイト順番としても参照される。
【0037】
計算機のプロセッサーのほとんどは、整数をバイトシーケンスとして単純にストアするだけなので、概念的には、符号化された値が単純な連結によって取得され得る。n−バイトの整数値に関しては、これによって(バイト順列それぞれに対して)n!個の可能な表現ができる。それらのうち最も一般的な2つがリトルエンディアン及びいわゆるその逆のビッグエンディアンとして知られていて、メモリーのアドレスを増やして数値の重要性を増す。
【0038】
計算機アーキテクチャすべてが、ビッグエンディアン又はリトルエンディアンである。ビッグエンディアンアーキテクチャは、例えばマイクロソフトのXbox及びIBMのPower PCにおいて見出される。インテルx86プロセッサー(及びそれらのクローン)は、リトルエンディアン形式を使用している。
【0039】
図6及び以下の論述は、本発明及び/又はその一部が実装され得る適切な計算環境の簡潔な概説を提供することを意図している。要求されていないが、本発明を、クライアントワークステーション又はサーバーなどの計算機によって実行されるプログラムモジュールなどの計算機実行可能命令に関する一般的な文脈で記載する。一般にプログラムモジュールは、特定のタスクを実行するか又は特定の抽象データタイプを実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造及びその他を含む。更に、本発明及び/又はその一部が、携帯用装置、マルチプロセッサーシステム、マイクロプロセッサーベース又はプログラマブルの家庭用電化製品、ネットワークPC、ミニコンピューター、メインフレームコンピューター及びその他を含む他のコンピューターシステム構成を用いて実施され得ることが十分に理解されよう。本発明は、タスクが通信ネットワークを介して接続されているリモート処理装置によって実行される分散計算環境においても、実施され得る。分散計算環境においてプログラムモジュールは、ローカル及びリモートのメモリー記憶装置双方に配置され得る。
【0040】
図6に示されているように、例示的な汎用計算システムは、処理ユニット(121)、システムメモリー(122)及びシステムメモリーを含む様々なシステムコンポーネントを処理ユニット(121)に接続するシステムバス(123)を含む従来のパーソナルコンピューター(120)又はその他を含む。システムバス(123)は、メモリーバス又はメモリーコントローラーを含むいくつかのタイプの任意のバス構造、周辺機器用バス及び様々な任意のバスアーキテクチャを使用するローカルバスであり得る。システムメモリーは、読み出し専用メモリー(ROM)(124)及びランダムアクセスメモリー(RAM)(125)を含む。起動中などにパーソナルコンピューター(120)内のエレメント間の情報送信を支援する基本ルーチンを含む基本入力/出力システム(126)(BIOS)が、ROM(124)にストアされている。
【0041】
パーソナルコンピューター(120)は更に、(図示されていない)ハードディスクから読み出し、それに書き込むためのハードディスクドライブ(127)、取り外し可能磁気ディスク(129)から読み出すか又はそれに書き込むための磁気ディスクドライブ(128)及びCD−ROM又は他の光媒体などの取り外し可能光ディスク(131)から読み出すか又はそれに書き込むための光ディスクドライブ(130)を含み得る。ハードディスクドライブ(127)、磁気ディスクドライブ(128)及び光ディスクドライブ(130)は、それぞれハードディスクドライブインターフェース(132)、磁気ディスクドライブインターフェース(133)及び光ドライブインターフェース(134)によってシステムバス(123)に接続されている。ドライブ及びそれらに関する計算機可読媒体は、パーソナルコンピューター(120)に対する計算機可読命令、データ構造、プログラムモジュール及び他のデータを不揮発性ストレージに提供する。
【0042】
本明細書に記載した例示的な環境は、ハードディスク、取り外し可能磁気ディスク(129)及び取り外し可能光ディスク(131)を使用しているが、計算機によってアクセス可能なデータをストアし得る他のタイプの計算機可読媒体も例示的な動作環境において使用され得ることが十分にされよう。そのような別のタイプの媒体は、磁気カセット、フラッシュメモリーカード、デジタルビデオディスク、ベルヌーイカートリッジ、ランダムアクセスメモリー(RAM)、読み出し専用メモリー(ROM)及びその他を含む。
【0043】
多くのプログラムモジュールは、オペレーティングシステム(135)、1つ以上のアプリケーションプログラム(136)、他のプログラムモジュール(137)及びプログラムデータ(138)を含むハードディスク、磁気ディスク(129)、光ディスク(131)、ROM(124)又はRAM(125)にストアされ得る。ユーザーは、コマンド及び情報を、キーボード(140)及びポインティングデバイス(142)などの入力装置を介しパーソナルコンピューター(120)へ入力し得る。(図示されていない)他の入力装置は、マイクロフォン、ジョイスティック、ゲームパッド、衛星受信機、スキャナー又はその他を含み得る。これら及び他の入力装置は、多くの場合、システムバスと結合されるシリアルポートインターフェース(146)を介し処理ユニット(121)に接続されているが、パラレルポート、ゲームポート又はユニバーサルシリアルバス(USB)などの他のインターフェースによって接続され得る。モニター(147)又は別のタイプのディスプレイ装置が、ビデオアダプター(148)などのインターフェースを介しシステムバス(123)にも接続されている。モニター(147)に加えてパーソナルコンピューターは通常、スピーカー及びプリンターなどの(図示されていない)他の周辺出力装置を含む。図6の例示的なシステムは、ホストアダプター(155)、スモールコンピューターシステムインターフェース(SCSI)バス(156)及びSCSIバス(156)に接続されている外付けの記憶装置(162)も含む。
【0044】
パーソナルコンピューター(120)は、リモートコンピューター(149)のような1つ以上のリモートコンピューターと論理接続を使用しネットワーク接続環境において作動し得る。リモートコンピューター(149)は、メモリー記憶装置(150)だけが図6に例示されているが、別のパーソナルコンピューター、サーバー、ルーター、ネットワークPC、ピア装置又は他の一般的なネットワークノードであり得、通常、パーソナルコンピューター(120)に関する前述したエレメントの多く又はすべてを含む。図6に示されている論理接続は、ローカルエリアネットワーク(LAN)(151)及び広域ネットワーク(WAN)(152)を含む。そのような企業規模のコンピューターネットワーク、イントラネット及びインターネットのネットワーク環境は、オフィスにおいて一般的である。
【0045】
LANネットワーク環境において使用されるとき、パーソナルコンピューター(120)は、ネットワークインターフェース又はアダプター(153)を介しLAN(151)に接続される。WANネットワーク環境において使用されるとき、パーソナルコンピューター(120)は通常、モデム(154)又はインターネットなどの広域ネットワーク(152)を介する通信を確立する別の手段を含む。モデム(154)は、内蔵又は外付けであり得、シリアルポートインターフェース(146)を介しシステムバス(123)に接続される。ネットワーク接続環境において、パーソナルコンピューター(120)又はその一部に対し表わされたプログラムモジュールは、リモートメモリー記憶装置にストアされ得る。示されているネットワーク接続が例示的であって、計算機間の通信リンクを確立する別の手段が使用され得ることが十分に理解されよう。
【0046】
対象項目を構造上の機能及び/又は方法論の行為に対して特定の言語で記載したが、添付の請求項において定義された内容が、必ずしも前述した特定の機能又は動作に限定されるわけではないことを理解されよう。もっと正確に言えば、前述した特定の特徴及び動作を、請求項を実施する例形式として開示する。
【符号の説明】
【0047】
10 ゲーム機
20 クリアリングハウス
22 ネットワークプロトコルスタック
23 ネットワークプロトコルスタック
30 汎用計算装置
120 パーソナルコンピューター
121 処理装置ユニット
122 システムメモリー
123 システムバス
124 読み出し専用メモリー
125 ランダムアクセスメモリー
126 基本入出力システム
127 ハードドライブ
128 フロッピー(登録商標)ドライブ
129 ストレージ
130 光ドライブ
131 ストレージ
135 オペレーティングシステム
136 アプリケーションプログラム(複数)
137 別のプログラム(複数)
138 プログラムデータ
146 シリアルポート
147 モニター
148 ビデオアダプター
149 リモートコンピューター(単数又は複数)
150 メモリー
151 ローカルエリアネットワーク
152 広域ネットワーク
153 ネットワークインターフェース
154 モデム
155 ホストアダプター
156 SCSIバス
162 記憶装置
400 ゲームクライアント
405 ログイン証明書
420 クリアリングハウスキーサーバー
425 クリアリングハウスチケット
427 クリアリングハウスポインター
430 クリアリングハウスゲートウェイサーバー
500 ゲームクライアント1(ホスト)
550 ゲームクライアント2

【特許請求の範囲】
【請求項1】
アプリケーションを実行する第1のプラットフォームを有する第1の計算装置(10)と、
前記第1の計算装置と通信し、前記アプリケーションを実行する第2のプラットフォームを有する第2の計算装置(30)であって、前記第2のプラットフォームが、前記第1のプラットフォームと異なっていて、前記第1の計算装置及び前記第2の計算装置双方が、前記アプリケーションとリアルタイムにオンラインでインタラクションするように作動し得るものと、を含むクロスプラットフォームシステム。
【請求項2】
前記アプリケーションが、ゲームタイトル(200)であることを特徴とする請求項1記載のシステム。
【請求項3】
前記第1の計算装置が、ゲーム機(10)であって、前記第2の計算装置が、汎用計算装置(30)であることを特徴とする請求項1記載のシステム。
【請求項4】
前記ゲーム機が、前記汎用計算装置にポートされるネットワークプロトコルスタック(22,23)を有することを特徴とする請求項3記載のシステム。
【請求項5】
前記第1の計算装置及び前記第2の通信装置が、ネットワークを介し直接相互に通信(520)することを特徴とする請求項1記載のシステム。
【請求項6】
前記第1の計算装置及び前記第2の通信装置が、クリアリングハウス(20)を介し直接相互に通信することを特徴とする請求項1記載のシステム。
【請求項7】
前記クリアリングハウスが、マルチプレイヤーゲーム及びコンテンツ配信サービス又はシステム(420,430)を含むことを特徴とする請求項6記載のシステム。
【請求項8】
前記クリアリングハウスが、前記第1の計算装置のタイプ及び前記第2の計算装置のタイプを検証(420)するように作動し得ることを特徴とする請求項6記載のシステム。
【請求項9】
クリアリングハウス(20)に接続し、アプリケーションを実行する第1のプラットフォームを有する第1の計算装置(10)と、
前記クリアリングハウス(20)に接続し前記アプリケーションを実行する第2のプラットフォームを有する第2の計算装置(30)であって、前記第2のプラットフォームが、前記第1のプラットフォームと異なっていて、前記第1の計算装置及び前記第2の計算装置双方が、前記アプリケーションとリアルタイムにオンラインでインタラクションするように作動し得るものと、を含むクロスプラットフォーム通信方法。
【請求項10】
更に、前記クリアリングハウスに接続する前に前記第1の計算装置を認証するステップ(420)を含む請求項9記載の方法。
【請求項11】
前記第1の計算装置を認証するステップが、
認証サーバー及びキーサーバーへログインする前記第1の計算装置(420)と、
クリアリングハウスチケット(425)及びポインター(427)を前記第1の計算装置に提供するステップと、を含むことを特徴とする請求項10記載の方法。
【請求項12】
前記接続(400,430)が、前記クリアリングハウスチケット(425)及び前記ポインター(427)に対応し実行されることを特徴とする請求項11記載の方法。
【請求項13】
前記アプリケーションが、ゲームタイトル(200)であることを特徴とする請求項9記載の方法。
【請求項14】
前記第1の計算装置が、ゲーム機(10)であって、前記第2の計算装置が、汎用計算装置(30)であることを特徴とする請求項9記載の方法。
【請求項15】
前記クリアリングハウスが、マルチプレイヤーゲーム及びコンテンツ配信サービス又はシステム(420,430)を含むことを特徴とする請求項9記載の方法。
【請求項16】
第1の計算装置(500)から第2の計算装置(550)への可用リクエストをブロードキャストするステップ(505)であって、前記第1の計算装置が、第1のプラットフォームを有していて、第2の計算装置が、前記第1のプラットフォームと異なる第2のプラットフォームを有するものと、
前記第1の計算装置を前記第2の計算装置と直接に接続するステップ(515)と、
前記第1の計算装置及び前記第2の計算装置双方が、アプリケーションとリアルタイムにオンラインでインタラクションするように前記第1の計算装置及び前記第2の計算装置上でアプリケーションを実行するステップ(520)と、を含むクロスプラットフォーム通信方法。
【請求項17】
前記第1の計算装置が、前記第1の計算装置を前記第2の計算装置に接続する前に、前記第2の計算装置にセッションキーを送信(515)することを特徴とする請求項16記載の方法。
【請求項18】
前記アプリケーションが、ゲームタイトル(510)であることを特徴とする請求項16記載の方法。
【請求項19】
前記第1の計算装置が、ゲーム機(10)であって、前記第2の計算装置が、汎用計算装置(30)であることを特徴とする請求項16記載の方法。
【請求項20】
前記第1の計算装置及び第2の計算装置が、相互にユニキャスト(520)することを特徴とする請求項16記載の方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公表番号】特表2010−521744(P2010−521744A)
【公表日】平成22年6月24日(2010.6.24)
【国際特許分類】
【出願番号】特願2009−553683(P2009−553683)
【出願日】平成20年2月29日(2008.2.29)
【国際出願番号】PCT/US2008/055573
【国際公開番号】WO2008/112448
【国際公開日】平成20年9月18日(2008.9.18)
【出願人】(500046438)マイクロソフト コーポレーション (3,165)
【Fターム(参考)】