(57)【要約】【課題】  ゲーマがある特定のゲームをし続けることを奨励する、付加的なオンライン特徴を提供する。【解決手段】  ゲームコンソール１０２からゲーム結果を受信する。ゲーム結果に対してレーティングが決定される。ゲーム結果に対するレーティングが所定の基準を満たす場合、ゲーム結果に関連づけられた、記録されたゲームが、ゲームコンソール１０２から受信される。記録されたゲームは、他のプレーヤが、記録されたゲームにオンラインゲームサービスを介してアクセスすることができるように、ゲーム結果のレーティングに付加される。【選択図】  図２
2004329949.tif 000002
【特許請求の範囲】
【請求項１】
ゲームコンソールからゲーム結果を受け取るステップと、
前記ゲーム結果に対するレーティングを決定するステップと、
前記ゲーム結果に対するレーティングが所定の基準を満たす場合、前記ゲーム結果に関連づけられた記録されたゲームを前記ゲームコンソールから受信し、前記記録されたゲームを前記レーティングに付加するステップであって、他のプレーヤは、前記記録されたゲームにオンラインゲームサービスを介してアクセスすることができるステップと、
を含むことを特徴とする方法。
【請求項２】
前記ゲーム結果はゲームのスコアであることを特徴とする請求項１に記載の方法。
【請求項３】
前記所定の基準は上位ｎ個のスコアでのレーティングであることを特徴とする請求項１に記載の方法。
【請求項４】
前記記録されたゲームを受信するステップは、前記ゲームコンソールに送信された要求に応答したものであることを特徴とする請求項１に記載の方法。
【請求項５】
要求プレーヤへのダウンロード用に利用可能な、記録されたゲームのリストを提供するステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項６】
要求ゲームコンソールへのダウンロード用に利用可能な、記録されたゲームのリストを提供するステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項７】
前記所定の基準を変更するステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項８】
前記レーティングに追加のゲーム関連データを付加するステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項９】
前記ゲーム結果、および前記付加された記録されたゲームをストレージデバイスに保存するステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項１０】
前記ゲームコンソールのユーザによる所定の不活動期間の後で、前記ゲーム結果、および前記付加された記録されたゲームを消去するステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項１１】
時間の経過に従って、前記ゲーム結果の前記レーティングを低下させるステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項１２】
前記記録されたゲームに関連づけられた前記ゲーム結果および識別子をスコアボードに保存するステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項１３】
請求項１に記載の方法を実施するための、プロセッサによって実行可能なコンピュータプログラムを含むことを特徴とする１つまたは複数のコンピュータ可読メモリ。
【請求項１４】
ゲームコンソールからゲーム結果を受信するステップと、
前記ゲームコンソールのユーザが前記ゲーム結果に関連づけられたゲーム関連データをアップロードすることを許可するか決定するステップと、
前記ゲームコンソールのユーザが、前記ゲーム関連データをアップロードすることを許可される場合、
前記ゲームコンソールにアクセストークンを送信するステップと、
前記アクセストークン、および前記ゲーム結果に関連づけられた前記ゲーム関連データを受信するステップと、
前記ゲーム関連データを前記ゲーム結果に関連づけるステップであって、他のユーザは、オンラインゲームサービスを介して前記ゲーム関連データにアクセスすることができるステップと、
を含むことを特徴とする方法。
【請求項１５】
前記ゲーム結果に対するレーティングを決定するステップをさらに含むことを特徴とする請求項１４に記載の方法。
【請求項１６】
前記ゲーム関連データを前記レーティングに関連づけるステップをさらに含むことを特徴とする請求項１５に記載の方法。
【請求項１７】
前記ゲーム結果はゲームのスコアであることを特徴とする請求項１４に記載の方法。
【請求項１８】
受信した前記アクセストークンの妥当性を検査するステップをさらに含むことを特徴とする請求項１４に記載の方法。
【請求項１９】
前記アクセストークンは前記ゲーム関連データの名前を含むことを特徴とする請求項１４に記載の方法。
【請求項２０】
前記アクセストークンは前記ゲームコンソールのユーザの識別を含むことを特徴とする請求項１４に記載の方法。
【請求項２１】
前記アクセストークンはゲームコンソール識別子を含むことを特徴とする請求項１４に記載の方法。
【請求項２２】
前記アクセストークンは、最大サイズの前記ゲーム関連データを含むことを特徴とする請求項１４に記載の方法。
【請求項２３】
前記ゲーム関連データは、記録されたゲームであることを特徴とする請求項１４に記載の方法。
【請求項２４】
前記ゲーム関連データは、前記ゲームコンソールのユーザの声を含むオーディオファイルであることを特徴とする請求項１４に記載の方法。
【請求項２５】
前記ゲーム関連データは、ゲームの少なくとも１つのハイライトであることを特徴とする請求項１４に記載の方法。
【請求項２６】
請求項１４に記載の方法を実施するための、プロセッサによって実行可能なコンピュータプログラムを含むことを特徴とする１つまたは複数のコンピュータ可読メモリ。
【請求項２７】
ゲームコンソールからゲームのスコアを受信するステップと、
前記ゲームのスコアに対するレーティングを決定するステップと、
スコアボードに前記レーティングを入力するステップと、
前記レーティングが所定の基準を満たす場合、
前記ゲームのスコアに関連づけられた、前記ゲーム関連データを受信するステップと、
前記ゲーム関連データに関連づけられた参照識別子を前記スコアボードに入力するステップと、
前記スコアボードにインジケータを入力するステップであって、前記インジケータは、前記ゲーム関連データに関連づけられ、前記ゲーム関連データがダウンロード用に利用可能であるか示すステップと、
を含むことを特徴とする方法。
【請求項２８】
オンラインゲームサービスのユーザは、前記スコアボードを介して前記ゲーム関連データにアクセスすることができることを特徴とする請求項２７に記載の方法。
【請求項２９】
前記ゲームのスコアに対するレーティングを決定するステップは、前記ゲームのスコアを、前記スコアボード中の他のゲームのスコアと比較するステップを含むことを特徴とする請求項２７に記載の方法。
【請求項３０】
前記スコアボードは、ある特定のゲームプログラムと関連していることを特徴とする請求項２７に記載の方法。
【請求項３１】
前記所定の基準は、全レーティングの上位ｎパーセントにおけるレーティングであることを特徴とする請求項２７に記載の方法。
【請求項３２】
データを格納するストレージサーバと、
前記ストレージサーバに結合され、ある特定のゲームプログラムに関連づけられたプレーヤのレーティングを維持する統計サーバとを備えた装置であって、
前記プレーヤのレーティングが所定の閾値を超える場合、前記プレーヤのレーティングはスコアボード中に維持されるとともに前記統計サーバは記録されたゲームを特定のプレーヤのレーティングに関連づけ、他のプレーヤは、前記記録されたゲームを前記スコアボードから識別しダウンロードすることができることを特徴とする装置。
【請求項３３】
前記統計サーバは、アクセストークンを用いて、ゲームコンソールから受信された記録されたゲームの妥当性を検査することを特徴とする請求項３２に記載の装置。
【請求項３４】
前記ストレージサーバに結合され、記録されたゲームデータを格納するストレージデータベースをさらに備えることを特徴とする請求項３２に記載の装置。
【請求項３５】
前記統計サーバに結合され、スコアボードに含まれるデータを格納する統計データベースをさらに備えることを特徴とする請求項３２に記載の装置。
【請求項３６】
前記スコアボードは、ある特定のゲームプログラムと関連していることを特徴とする請求項３２に記載の装置。
【請求項３７】
ゲームコンソールからゲーム結果を受信する手段と、
前記ゲーム結果に関連づけられたレーティングを決定する手段と、
前記ゲーム結果に関連づけられた前記レーティングが所定の基準を満たす場合、前記ゲーム結果に関連づけられた記録されたゲームを前記ゲームコンソールから受信する手段と、
前記記録されたゲームを前記レーティングに付加する手段であって、他のプレーヤは、前記記録されたゲームにオンラインゲームサービスを介してアクセスすることができる手段と、
を備えたことを特徴とする装置。
【請求項３８】
前記レーティングに追加のゲーム関連データを付加する手段をさらに備えることを特徴とする請求項３７に記載の装置。
【請求項３９】
前記記録されたゲームと、前記記録されたゲームに関連づけられた識別子とを格納する手段をさらに備えることを特徴とする請求項３７に記載の装置。
【請求項４０】
コンピュータプログラムを格納した１つまたは複数のコンピュータ可読媒体であって、前記コンピュータプログラムは、１つまたは複数のプロセッサによって実行されるとき、前記１つまたは複数のプロセッサに、
ゲームコンソールからゲーム結果を受信すること、
前記ゲーム結果に関連づけられたレーティングを決定すること、
前記レーティングが所定の閾値を超える場合、
前記ゲームコンソールにアクセストークンを送信すること、
前記アクセストークン、および前記レーティングに関連づけられたゲーム関連データを受信すること、ならびに
前記ゲーム関連データを前記レーティングに関連づけ、オンラインゲームサービスの他のユーザに前記ゲーム関連データをダウンロードさせること、
を特徴とする１つまたは複数のコンピュータ可読媒体。
【請求項４１】
前記１つまたは複数のプロセッサはさらに、受信した前記アクセストークンの妥当性を検査することを特徴とする請求項４０に記載の１つまたは複数のコンピュータ可読媒体。
【請求項４２】
前記ゲーム関連データは記録されたゲームであることを特徴とする請求項４０に記載の１つまたは複数のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書で説明するシステムおよび方法は、ゲーム用システム(gaming  system)に関し、より詳細には、ゲームプレーヤ(game  player)のオンラインのレーティング(online  rating)に様々なデータを関連づけることに関する。
【背景技術】
【０００２】
従来、ゲーム用システムは、限られた人数のプレーヤ、たとえば１〜４人のプレーヤに対応していた。ゲーム用システムの最近の傾向は、インターネットベースのオンラインゲームなど、ネットワークを介して複数のプレーヤ間でゲームを行うことを容易にする機能を提供することである。こうしたオンラインゲーム用システムにより、プレーヤは、自分達がいる地理的な場所に関係なく、他のプレーヤと対戦することが可能になる。
【０００３】
ゲーム開発者およびゲーム業者が直面する重要課題は、長い間遊ぶことが楽しく、挑戦しがいのあるゲームを作ることである。最もよく売れるゲームとはしばしば、プレーヤに、一度に数カ月間遊び続ける気にさせるゲームである。オンライン機能によって、プレーヤに、ある特定のゲームを続ける気にさせることができる。たとえば、あるゲームの最高スコア(top  score)などのオンライン統計(online  statistics)により、プレーヤは、世界の上位プレーヤまたは自分の友人との間で「自慢する権利(bragging  right)」を競って対戦するようになる。
【０００４】
【非特許文献１】Bruce  Schneier,  "Applied  Cryptography:  Protocols,  Algorithms,  and  Source  Code  in  C,"  John  Wiley  &  Sons,  copyright1994  (second  edition1996)
【発明の開示】
【発明が解決しようとする課題】
【０００５】
したがって、ゲーマを、ある特定のゲームをし続けるように促す、付加的なオンライン特徴(additional  online  feature)を提供することが望ましい。
【課題を解決するための手段】
【０００６】
本明細書で説明するシステムおよび方法により、データ、たとえば記録されたゲーム(recorded  game)あるいはゲームのハイライト(game  highlight)が、オンラインゲーム用システム(online  gaming  system)においてプレーヤのレーティング(players'  ratings)に付加(attach)されるようになる。たとえば、オンライン統計サービス(online  statistics  service)が、１つまたは複数のサーバ(server)または他のデータストレージデバイス(data  storage  device)に格納される付加データ(attached  data)への参照(reference)を維持(keep)する。
【０００７】
本発明のある実施形態では、ゲーム結果(game  result)がゲームコンソール(game  console)から受信され、そのゲーム結果に対するレーティング(rating)が決定(detemine)される。そのゲーム結果に対するレーティングが所定の基準(criteria)を満たす場合、そのレーティングに関連づけられた、記録されたゲーム(recorded  game)が、ゲームコンソールから受信される。この記録されたゲームは、他のプレーヤが、オンラインゲームサービス(online  gaming  service)を介して記録されたゲームにアクセスすることができるように、レーティングに付加(attach)される。
【発明を実施するための最良の形態】
【０００８】
以下の説明は、ユーザのオンラインゲームレーティング(user's  online  game  ratig)にデータを関連づけるシステムおよび方法を対象とする。以下の説明では、基本的な暗号技術原理、たとえば暗号化、解読、認証、ハッシュ、およびデジタル署名に読者が精通していることを前提としている。暗号技術の基本的な概論として、参照によって本明細書に組み込まれる非特許文献１を参照されたい。
【０００９】
同じ構成要素および／または特徴を参照するために、図面を通して類似の参照番号を使用してある。
【００１０】
本明細書における説明では、「レーティング(rating)」、「スコアボード(leaderboard)」および「アタッチメント(attachment)」について言及する。レーティングとは、ゲームプレイの何らかの局面の結果としてプレーヤまたはチームに割り当てられるスコア(score)である。スコアボードとは、統計サービス(statistics  service)に格納されたゲームプレイの何らかの局面から得られるレーティングのランク集合体(ranked  collection  of  ratings)である。アタッチメントとは、統計スコアボード(statistics  leaderboard)上のレーティングに関連づけられたあらゆるデータである。たとえば、アタッチメントは、記録されたゲーム(recorded  game)（「保存されたゲーム(saved  game)」とも呼ばれる）、保存された動作(saved  action)またはゲーム中の動作、どのようにしてハイスコア(high  score)が達成されたか説明するプレーヤの声(voice)を含むオーディオファイル(audio  file)などでよい。アタッチメントは、たとえば記録されたゲームおよびプレーヤのコメントを含むオーディオファイルなどいくつかの項目を１つにまとめた集合体でもよい。アタッチメントは、「付加データ(attached  data)」または「関連データ(associated  data)」と呼ぶこともできる。
【００１１】
図１は、例示的なオンラインゲーム環境１００のブロック図である。複数のゲームコンソール１０２（１）、１０２（２）、．．．、１０２（ｎ）が、ネットワーク１０６を介してセキュリティゲートウェイ１０４に結合される。ネットワーク１０６は、様々な従来のデータ通信ネットワークのどの１つまたは複数も表す。ネットワーク１０６は、一般にパケット交換ネットワークを含むが、回線交換ネットワークも含むことができる。ネットワーク１０６は、有線部分および／または無線部分を含むことができる。例示的な一実施形態では、ネットワーク１０６は、インターネットを含み、任意選択で１つまたは複数のローカルエリアネットワーク（ＬＡＮ）および／またはワイドエリアネットワーク（ＷＡＮ）を含むことができる。ネットワーク１０６の少なくとも一部は、一般大衆にとってアクセス可能なネットワークを指す公衆網である。実質的には、誰でもこの公衆網にアクセスすることができる。
【００１２】
いくつかの状況では、ネットワーク１０６は、ＬＡＮ（たとえば、ホームネットワーク）を含み、ゲームコンソール１０２とセキュリティゲートウェイ１０４の間に経路指定装置がある。この経路指定装置は、ネットワークアドレス変換（ＮＡＴ）を実施することができ、プライベートネットワーク１０８（またはＬＡＮ）上の複数の装置がインターネット上で同じＩＰアドレスを共有することを可能にし、また、悪意がありまたは害を及ぼすユーザによる、インターネットを介したアクセスから装置（群）を保護するためのファイアウォールとして動作する。
【００１３】
セキュリティゲートウェイ１０４は、パブリックネットワーク１０６とプライベートネットワーク１０８の間のゲートウェイとして作用する。プライベートネットワーク１０８は、ローカルエリアネットワークなど、非常に様々な従来のネットワークのどれでもよい。プライベートネットワーク１０８は、後でより詳しく説明する他の装置と同様に、セキュアゾーン(secure  zone)として作用するデータセンタ１１０内にある。データセンタ１１０は、信頼できる通信機関を介して通信を行う、信頼できる装置から構成される。したがって、セキュアゾーン１１０内での暗号化および認証は必要ない。ネットワーク１０８のプライベート性は、ネットワーク１０８の限定アクセス性に適用される。すなわち、ネットワーク１０８へのアクセスは、特定の個人のみに制限される（たとえば、データセンタ１１０の所有者またはオペレータによって制限される）。
【００１４】
セキュリティゲートウェイ１０４は、１つまたは複数のセキュリティゲートウェイコンピューティングデバイスのクラスタである。こうしたセキュリティゲートウェイコンピューティングデバイスは集合的に、セキュリティゲートウェイ１０４を実現する。セキュリティゲートウェイ１０４は、セキュリティゲートウェイコンピューティングデバイスによって処理される要求をそのコンピューティングデバイスのうち適切なものに向けるように作用する１つまたは複数の従来の負荷平衡装置を任意選択で含むことができる。この指示または負荷平衡は、様々なセキュリティゲートウェイコンピューティングデバイスに負荷をほぼ等しく配分するよう試みるやり方で（あるいは、他のいくつかの基準に従って）実施される。
【００１５】
また、データセンタ１１０内には、１つまたは複数の監視サーバ１１２と、（集合的に存在および通知サービスを実現する）１つまたは複数の存在および通知フロントドア１１４、１つまたは複数の存在サーバ１１６、１つまたは複数の通知サーバ１１８と、（集合的に対戦サービスを実現する）１つまたは複数の対戦フロントドア１２０、１つまたは複数の対戦サーバ１２２と、（集合的に統計サービスを実現する）１つまたは複数の統計フロントドア１２４、１つまたは複数の統計サーバ１２６とがある。サーバ１１６、１１８、１２２、および１２６は、ゲームコンソール１０２にサービスを提供し、したがってサービス装置と呼ぶことができる。他のサービス装置も、サーバ１１６、１１８、１２２、および１２６の１つまたは複数に加えて、かつ／またはその代わりに含めることができる。さらに、ただ１つのデータセンタが図１に示されているが、別法として、ゲームコンソール１０２と通信することができる複数のデータセンタが存在してもよい。こうしたデータセンタは、それぞれ独立に動作することもでき、別法としては（たとえば、ゲームコンソール１０２に対して使用可能な１つの大規模データセンタを作るために）集合的に動作することもできる。
【００１６】
ゲームコンソール１０２は、データセンタ１１０から離れた所に置かれ、ネットワーク１０６を介してデータセンタ１１０にアクセスする。データセンタ１１０内の１つまたは複数の装置と通信することを望むゲームコンソール１０２は、ゲームコンソール１０２とセキュリティゲートウェイ１０４の間の安全な通信チャネルを確立する。ゲームコンソール１０２およびセキュリティゲートウェイ１０４は、渡され戻されるデータパケットを暗号化し認証し、そうすることによって、暗号を破ることなくデータパケットを取り込み、またはコピーすることができる他のどの装置にも知られることなく、データパケットがゲームコンソールとセキュリティゲートウェイの間を安全に伝送されるようにする。ゲームコンソール１０２からセキュリティゲートウェイ１０４に、またはセキュリティゲートウェイ１０４からゲームコンソール１０２に伝達される各データパケットは、その中に埋め込まれたデータをもつことができる。この埋込みデータは、パケットの内容またはデータ内容と呼ばれる。付加情報は、パケットタイプ（たとえば、後でより詳しく説明するハートビートパケット(heartbeat  packet)や探査パケット(traversal  packet)）に基づいて、パケットに固有に含めることもできる。
【００１７】
ゲームコンソール１０２とセキュリティゲートウェイ１０４の間の安全な通信チャネルは、セキュリティチケットに基づく。ゲームコンソール１０２は、キーディストリビューションセンタ(key  distribution  center)１２８に対してそれ自体およびゲームコンソール１０２の現在のユーザ（群）の認証を行い、キーディストリビューションセンタ１２８からセキュリティチケットを入手する。ゲームコンソール１０２は次いで、このセキュリティチケットを用いてセキュリティゲートウェイ１０４との安全な通信チャネルを確立する。セキュリティゲートウェイ１０４との安全な通信チャネルを確立する際、ゲームコンソール１０２およびセキュリティゲートウェイ１０４は互いの認証を行い、この特定のゲームコンソール１０２およびセキュリティゲートウェイ１０４にのみ知られているセッションセキュリティキーを確立する。このセッションセキュリティキーは、ゲームコンソール１０２とセキュリティゲートウェイクラスタ１０４の間を転送されるデータを暗号化するための基礎として使われ、したがって他の装置（他のゲームコンソール１０２を含む）はそのデータを読むことができない。セッションセキュリティキーも、データパケットを、データパケットがそこからのものであると主張するセキュリティゲートウェイ１０４またはゲームコンソール１０２からのものであると認証するための基礎として使われる。したがって、このようなセッションセキュリティキーを基礎として使うことによって、安全な通信チャネルは、セキュリティゲートウェイ１０４と様々なゲームコンソール１０２の間に確立することができる。
【００１８】
セキュア通信チャネル(secure  communication  channel)がゲームコンソール１０２とセキュリティゲートウェイ１０４の間に確立されると、暗号化されたデータパケットは、この２つの間で安全に伝送することができる。ゲームコンソール１０２は、データセンタ１１０内のある特定のサービス装置にデータを送信することを望む場合、データを暗号化し、データパケットによって目標とされる特定のサービス装置（群）にそのデータが転送されるよう要求するセキュリティゲートウェイ１０４にそのデータを送信する。セキュリティゲートウェイ１０４は、データパケットを受信し、データパケットを認証し解読した後、プライベートネットワーク１０８を介して適切なサービスに送られる別のメッセージに、パケットのデータ内容を埋め込む。セキュリティゲートウェイ１０４は、データパケットによって目標とされる、要求されたサービス（群）に基づいて、メッセージに適したサービスを決定する。
【００１９】
同様に、データセンタ１１０内のサービス装置がゲームコンソール１０２にデータを伝達することを望むと、データセンタは、ゲームコンソール１０２に送られるデータ内容、ならびにデータ内容が送られる特定のゲームコンソール１０２の指示を含むメッセージを、プライベートネットワーク１０８を介してセキュリティゲートウェイ１０４に送信する。セキュリティゲートウェイ１０４は、データ内容をデータパケットに埋め込み、次いでデータパケットを、特定のゲームコンソール１０２によってのみ解読できるように暗号化し、また、データパケットをセキュリティゲートウェイ１０４からのものであると認証する。
【００２０】
暗号化されたデータパケットを、セキュリティゲートウェイ１０４とゲームコンソール１０２の間で主に伝達するものと本明細書では説明されるが、別法としていくつかのデータパケットを部分的に暗号化することもできる（データパケットのいくつかの部分は暗号化され、他の部分は暗号化されない）。データパケットのどの部分が暗号化され、どの部分が暗号化されないかは、データセンタ１１０および／またはゲームコンソール１０２の設計者の要望によって変わり得る。たとえば、設計者は、ボイスデータ(voice  data)がゲームコンソール１０２の間で伝達されるようにすることを選ぶ場合があり、そうすることによって、ゲームコンソール１０２のユーザが互いに会話できるようになる。設計者はさらに、パケット中のボイスデータ以外のどのデータも暗号化されるが、ボイスデータは暗号化されないようにすることを選ぶこともできる。さらに、別の実施形態では、いくつかのデータパケットは、暗号化される部分をもたない（つまり、データパケット全体が暗号化されない）場合がある。データパケットが暗号化されず、または部分的にのみ暗号化される場合であっても、データパケットは依然として認証されることに留意されたい。
【００２１】
セキュリティゲートウェイ１０４内の各セキュリティゲートウェイデバイスは、通常１つまたは複数のゲームコンソール１０２とのセキュア通信チャネルの責任を負い、したがって、各セキュリティゲートウェイ装置は、１つまたは複数のゲームコンソールの管理または処理の責任を負うとみなすことができる。様々なセキュリティゲートウェイ装置は、互いに通信を行い、互いにメッセージを伝達することができる。たとえば、管理の責任を負わないゲームコンソールにデータパケットを送信する必要があるセキュリティゲートウェイ装置は、そのゲームコンソールに送信されるデータとともに、メッセージを他のすべてのセキュリティゲートウェイ装置に送信することができる。このメッセージは、そのゲームコンソールを管理する責任を負うとともにそのゲームコンソールに適切なデータを送信するセキュリティゲートウェイ装置によって受信される。あるいは、セキュリティゲートウェイ装置は、どのゲームコンソールがどのセキュリティゲートウェイ装置によって処理されているか知ることができるが、これは、各セキュリティゲートウェイ装置が、他のセキュリティゲートウェイ装置によって処理されるゲームコンソールのテーブルを維持するなど明示的でもよく、あるいは、どのセキュリティゲートウェイ装置があるゲームコンソールの責任を負うか、ゲームコンソールの識別子に基づいて判定するなど暗黙でもよい。
【００２２】
監視サーバ(monitoring  server)（群）１１２は、使用不能な(unavailable)ゲームコンソール１０２、またはセキュリティゲートウェイ１０４の使用不能なセキュリティゲートウェイ装置を、データセンタ１１０内の装置に知らせるように作用する。ゲームコンソール１０２は、たとえばハードウェアまたはソフトウェアの故障、データセンタ１１０のログアウトなしでゲームコンソールの電源が落とされること、ゲームコンソール１０２へのネットワーク接続ケーブルがゲームコンソール１０２から切断されること、他のネットワーク問題（たとえば、ゲームコンソール１０２が誤動作しているＬＡＮ）など異なる様々な理由によって使用不能になる場合がある。同様に、セキュリティゲートウェイ１０４のセキュリティゲートウェイ装置は、たとえばハードウェアまたはソフトウェアの故障、装置の電源が落とされること、装置へのネットワーク接続ケーブルが装置から切断されること、他のネットワーク問題など異なる様々な理由によって使用不能になる場合がある。
【００２３】
セキュリティゲートウェイ１０４内のセキュリティゲートウェイデバイスはそれぞれ、１つまたは複数の監視サーバ１１２によって監視され、この監視サーバは、セキュリティゲートウェイデバイスの１つが使用不能になったときを検出する。セキュリティゲートウェイデバイスが使用不能になった場合、監視サーバ１１２は、データセンタ１１０内の他の装置（サーバ、フロントドアなど）それぞれに、セキュリティゲートウェイデバイスが使用可能ではなくなったというメッセージを送信する。他の装置はそれぞれ、この情報に基づいて適宜動作することができる（たとえば、セキュリティゲートウェイデバイスによって管理される特定のゲームコンソールがデータセンタ１１０と通信しておらず、それに応じて様々なクリーンアップ動作を実施すると仮定することができる）。あるいは、特定の装置だけ（たとえば、セキュリティゲートウェイデバイスが使用可能であるか関心のある装置だけ）が、監視サーバ１１２からこのようなメッセージを受け取ることができる。
【００２４】
セキュリティゲートウェイ１０４は、個々のゲームコンソール１０２を監視し、ゲームコンソール１０２の１つが使用不能になったときを検出する。セキュリティゲートウェイ１０４は、ゲームコンソールが使用可能ではないことを検出すると、使用不能なゲームコンソールを識別するメッセージを監視サーバ１１２に送る。これに応答して、監視サーバ１１２は、データセンタ１１０内の他の装置それぞれ（あるいは、選択されたデバイスのみ）に、ゲームコンソールが使用可能ではないというメッセージを送る。次いで、他のデバイスはそれぞれ、この情報に基づいて適宜動作することができる。
【００２５】
存在サーバ(presence  server)（群）１１６は、オンラインゲームのためにデータセンタ１１０にログインした所与のユーザの状況または存在に関するデータを保持し処理する。通知サーバ(notification  server)（群）１１８は、データセンタ１１０にログインしたプレーヤに向けられた発信メッセージからなる複数のキューを維持する。存在および通知フロントドア(presence  and  notification  front  door)１１４は、セキュリティゲートウェイ１０４とサーバ１１６および１１８の間の媒介として作用する１つまたは複数のサーバ装置である。フロントドア１１４として作用する複数のサーバ装置の間に負荷を配分するための存在および通知フロントドア１１４に、１つまたは複数の負荷平衡装置(load  balancing  device)（図示せず）を含めることができる。セキュリティゲートウェイ１０４は、サーバ１１６および１１８向けのメッセージをフロントドア１１４に伝達し、フロントドア１１４は、どの特定のサーバ１１６または特定のサーバ１１８にそのメッセージが伝達されるべきか識別する。フロントドア１１４を使うことによって、サーバ１１６および１１８の実際の実施、たとえばどのサーバがどのユーザに関するデータを管理する責任を負うかということが、セキュリティゲートウェイ１０４から分離される。セキュリティゲートウェイ１０４は、存在および通知サービスを目標とするメッセージを存在および通知フロントドア１１４に単に転送し、サーバ（群）１１６およびサーバ（群）１１８のうち適切なものにメッセージを経路指定するために、フロントドア１１４に依拠することができる。
【００２６】
対戦サーバ(match  server)（群）１２２は、オンラインプレーヤ同士の対戦(matching)に関するデータを保持し処理する。オンラインユーザは、プレイ可能なゲームと共に、ゲームの様々な特性（たとえば、フットボールゲームが行われる場所、ゲームが日中にプレイされるかまたは夜間にプレイされるか、ユーザの技術レベルなど）を広告することができる。こうした様々な特性は次いで、一緒にゲームをする異なるオンラインユーザを対戦させるための基礎として使うことができる。対戦フロントドア１２０は、１つまたは複数のサーバ装置（および、任意選択で負荷平衡装置（群））を含み、サーバ（群）１１６およびサーバ（群）１１８を分離するフロントドア１１４に類似したやり方で、セキュリティゲートウェイ１０４から対戦サーバ（群）１２２を分離するように作用する。
【００２７】
統計サーバ(statistics  server)（群）１２６は、オンラインゲームの様々な統計に関するデータを保持し処理する。使用される具体的な統計は、ゲーム設計者の要望によって変わり得る（たとえば、上位１０位のスコアまたはタイム、ゲームの全オンラインプレーヤの世界ランキング(world  ranking)、最も多くのアイテムを見つけ、ゲームに最も時間を費やしたユーザのリストなど）。統計フロントドア(statistics  front  door)１２６は、１つまたは複数のサーバ装置（および、任意選択で負荷平衡装置（群））を含み、サーバ（群）１１６およびサーバ（群）１１８を分離するフロントドア１１４に類似したやり方で、セキュリティゲートウェイ１０４から統計サーバ（群）１２６を分離するように作用する。
【００２８】
したがって、セキュリティゲートウェイ１０４はデータセンタ１１０のセキュアゾーン内の装置を信頼できないパブリックネットワーク１０６から遮蔽するように作用することが理解できよう。データセンタ１１０内のすべての装置が信頼できるので、データセンタ１１０のセキュアゾーン内での通信は暗号化する必要がない。ただし、データセンタ１１０内の装置からゲームコンソール１０２に伝達されるどの情報も、セキュリティゲートウェイクラスタ１０４を通過し、ここで、情報の目標とされるゲームコンソール１０２によってのみ解読することができるようなやり方で暗号化される。
【００２９】
図２は、オンラインゲームのレーティング(online  game  rating)にデータを関連づける、システムの具体的な構成要素を示すブロック図である。特定の構成要素（たとえば図１の構成要素）は、説明のために図２では省略されている。ある特定の実施形態では、図２に示される構成要素は、図１の構成要素と組み合わせて使われて、フル機能のオンラインゲーム環境を提供する。図１と共通する図２の構成要素は、共通の参照番号を有する。
【００３０】
図２のシステムは、図１に関連して上述した、２台のゲームコンソール１０２（１）および１０２（２）、セキュリティゲートウェイ１０４、ならびに統計フロントドア１２４を示す。統計フロントドア１２４は、ストレージサーバ(storage  server)２０２、統計データベース(statistics  database)２０６、および署名サーバ(signature  server)２１０に結合される。ストレージサーバ２０２は、１つまたは複数のストレージデータベース２０４中のデータ、たとえばゲームのレーティングに関連づけられたアタッチメントの格納および取出しを制御する。ストレージサーバ２０２は、署名サーバ２１０と、また、セキュリティゲートウェイ１０４を介してゲームコンソール１０２と通信する。
【００３１】
統計フロントドア(statistics  front  door)１２４は、様々なゲームプログラムに関連づけられたスコアボードなど、ゲームプレイに関連する統計の維持に関わる様々な機能を制御する。統計フロントドア１２４に結合された統計データベース２０６は、統計フロントドア１２４および他の構成要素によって使用される様々な統計および他の情報を格納する。たとえば、統計データベース２０６は、複数のスコアボードに関連づけられたデータ、たとえばプレーヤのレーティング、プレーヤのレーティングに関連づけられたデータ（たとえば、保存されたゲームやハイライト）への参照などを維持する。
【００３２】
名前リゾルバ(name  resolver)２０８は、データが複数のストレージデバイスに渡って格納されるときに使われる。ゲームコンソール１０２からのデータ要求は通常、オンラインゲーム用システムによって使われるストレージ設備(storage  facility)を認識していない。したがって、名前リゾルバ２０８は、ゲームコンソール１０２によって使われる総称識別子を、データの実際のストレージ位置(actual  storage  location)にマッピングする。名前リゾルバ２０８に関するさらなる詳細は、後で説明される。署名サーバ２１０は、ゲームコンソール１０２とシステムの他の構成要素の間の通信を保証するのに使われる１組の鍵を含む。一実施形態では、統計サーバ１２４は、名前リゾルバ２０８によって処理される名前解決の問題を認識していない。統計サーバ１２４は、名前リゾルバ２０８が適切なストレージサーバを位置決めするのに使うはずのメタデータすべてを含む参照を構築するが、統計サーバは、異なる位置または異なるストレージデバイスの間でデータがどのようにして区分されるか知らない。ゲームコンソール１０２が、統計サーバ１２４によって生成されたアタッチメント(attachment)を実際にアップロードし、またはダウンロードするとき、名前リゾルバ２０８は連絡(contact)を受ける。
【００３３】
オンラインゲームのレーティングに関連づけられたデータは、統計サービス自体に必ずしも格納されなくてよい。そうではなく、統計サービスは、別個のストレージサービスに格納されているデータへの参照を保持することができる。ストレージサービスは、オンラインゲームのレーティングに関連づけられたデータならびに他のデータを格納することができる。
【００３４】
図３Ａおよび図３Ｂは、オンラインゲームのレーティングにデータを関連づける手順３００を示すフロー図である。最初に、ゲームコンソールは、オンラインゲームサービスとの接続を確立する（ブロック３０２）。ゲームコンソールは次いで、ゲーム結果（たとえばゲームのスコア）、またはプレーヤの能力をランク付けするのに使われる他の情報を、統計フロントドア（ブロック３０４）または統計サーバに通知する。統計サーバは、プレーヤのレーティングに関連づけられた、記録されたゲーム（すなわち、通知されたゲームのスコア(posted  game  score)に関連づけられた、記録されたゲーム(recorded  game)）をアップロードする機会をプレーヤに提供するか決定する（ブロック３０６）。記録したゲームは、「ゴーストレース(ghost  race)」、「ハイライト(highlight)」、「ハイライトレース(highlight  race)」、または「保存されたゲーム(saved  game)」と呼ぶこともできる。統計サーバは、このような記録されたゲームに必要とされるストレージ空間(storage  space)の量を制御するために、ある特定のゲームに関連づけることができる、記録されるゲームの数を制限することができる。たとえば、統計サーバは、記録されるゲームが、ある特定のゲームの上位１０人または上位２０人のレーティング（または全レーティングの上位５％）に関連づけられるようにすることができる。ある特定のゲームと共に格納することができる、記録されるゲームの数は、スコアを提出するプレーヤの人数および／または一般的な記録されるゲームデータの大きさによって変わり得る。
【００３５】
統計サーバが、記録されたゲームをアップロードする機会をプレーヤに提供することを決めた場合（ブロック３０８）、手順は、ブロック３１４に分岐し、ここで、統計サーバは、記録されたゲームの提出に使われるアクセストークンをプレーヤに送信する。統計サーバが、記録されたゲームをアップロードする機会をプレーヤに提供しないことを決めた場合、プレーヤは、記録されたゲームをアップロードするようにとの要求を入力することができる（ブロック３１０）。統計サーバは、記録されたある特定の数のゲームが、それ以外の方法では記録されたゲームをアップロードする資格のないプレーヤによってアップロードされるようにすることができる。プレーヤがこのような要求を入力した場合、手順は、プレーヤが、記録したゲームをアップロードすることを（たとえば統計サーバによって）許可されるか決定する（ブロック３１２）。許可される場合、手順は続いてブロック３１４に進み、ここで、統計サーバは、記録されたゲームの提出に使われるアクセストークンをプレーヤに送信する。許可されない場合、手順は終了する。
【００３６】
ブロック３１４から、ゲームコンソールは、記録されたゲームをアップロードすることをプレーヤが選択したか判定する（ブロック３１６）。選択していない場合、手順は終了する。プレーヤが、ブロック３１６で、記録されたゲームをアップロードすることを選択した場合、ゲームコンソールは、アクセストークンおよび記録されたゲームをストレージサーバに戻す（ブロック３１８）。ストレージサーバは、アクセストークンおよび記録されたゲームを受け取り、アクセストークンの妥当性を検査する（ブロック３２０）。この妥当性検査は、ゲームコンソールによって送信された、記録されたゲームが正しい記録されたゲーム（すなわち、アクセストークン(access  token)を「得た(earned)」、記録されたゲーム(recorded  game)）であるか確認するのに使われる。アクセストークンが有効(valid)である場合、その記録されたゲームは、ストレージデバイスに格納される（ブロック３２２）。アクセストークンが有効でない場合、記録されたゲームは、ストレージサーバによって破棄(discard)される（ブロック３２４）。
【００３７】
アップロードされている、記録したゲームデータの完全性を保護するために、アタッチメントとなる可能性のあるどのゲームデータも、ゲームコンソールのプレーヤによって、署名サーバ２１０を使ってデジタル署名される。この署名は、付加データと共に、ストレージサービス(storage  service)において追跡される。ゲームコンソールユーザは、ストレージサービスからアタッチメントをダウンロードするときはいつでも、ストレージサービスを使って署名を検査する。この手法により、署名は、不正なアタッチメントがアップロードされ、後で発見された場合に取り消されるようになる。アタッチメントが不正であることが発見されたとき、一部のゲームコンソールユーザがすでにそれをダウンロードしている場合もあるので、アタッチメントが使われる前に署名の妥当性を検査するようゲームコンソールユーザに要求することにより、ゲームコンソールユーザが正当なコピーをもっているときでも、適切でない内容は使用を禁止されるようになる。
【００３８】
図３Ａおよび図３Ｂの例において、統計サーバは、記録されたゲームをアップロードする機会をプレーヤに提供する。代替実施形態では、統計サーバが、記録されたゲームを他のプレーヤに提供することを望む（たとえば、記録されたゲームがトップスコアである）場合、ゲームコンソールは、記録されたゲームをストレージサーバに自動的にアップロードする。
【００３９】
記録されたゲーム(recorded  game)および他の保存されたデータ(saved  data)は、取り出しダウンロードすることができ、たとえばゲームコンソール、パーソナルコンピュータ、または他の装置から、オンラインゲームサービスを介して多数のプレーヤによって使うことができる。プレーヤは、記録されたゲームを見ることも、最も優れたプレーヤがどのようにしてトップスコアを達成したか知るために、記録されたゲームの再プレイ中に「体験する(ride  along)」こともできる。さらに、記録された特定のゲームによって、プレーヤは、記録されたゲームと競争して、自分の腕前を試すことも向上させることもできる。
【００４０】
本明細書において説明する特定の例は、プレーヤのレーティング(player  rating)に関連づけられた、保存されたゲームデータの格納に関する。ただし、代替実施形態では、たとえば記録したゲームの部分、フットボールゲームでの最長のラン、大爆発、巧みなゴルフショット、最大のへま（すなわち、失敗）など、どのタイプのデータもプレーヤのレーティングに関連づけることができる。さらに、ゲームは、特に面白い項目の「ハイライト」フィルム(highlight  film)を記録し、その項目をスコアボード上で使用できるようにすることができる。スポーツゲームは、プレーヤがベストプレイ、たとえば最長のインターセプト、飛距離が最大のホームランなどを見せることができるハイライトショーを提供することによって、プレーヤに、頻繁にプレイする気にさせることができる。同様に、アクションゲームは、興味を引く出来事、たとえば所与の期間での大爆発、大きな衝突などのフィルムを記録することができる。
【００４１】
図４は、アクセストークン４０２に含まれるデータの例を示す。アクセストークン４０２は、たとえばストレージサーバにデータをアップロードするための「許可(permission)」をプレーヤ（すなわちゲームコンソールユーザ）にもたらす。アクセストークン４０２は、プレーヤによる改竄を防止し、統計サーバがアップロードの許可を与えたことをストレージサーバに対して保証するように設計される。アクセストークン４０２は、プレーヤがアップロードすることを許可された付加データファイル名と、データのアップロードの実施を許可されたプレーヤ名と、アップロードされているデータを生成したマシンに関連づけられた識別子と、ゲームコンソールからアップロードすることができるデータの最大サイズとを含む。アクセストークン４０２はまた、許可を与える統計サーバによって、署名サーバから取得されるデジタル署名を含む。このデジタル署名は、アクセストークンに含まれるデータにユーザが不正を行うことを防止する。他のアクセストークンは、他のタイプのデータ、たとえば許可された動作、アップロードされているファイルの位置などを含むことができる。
【００４２】
図５は、ある特定のゲームに関連づけられたスコアボード５００に含まれるデータの例を示す。この例では、スコアボード５００は、オートレースゲームに関連づけられ、ベストラップタイムのリストを維持(maintain)する。他の実施形態では、他のタイプのゲームが、異なるタイプの情報を取り込むことができる。また、スコアボードは、様々なタイプの情報、たとえば最速ラップ、最速３周レース、最少衝突などを取り込むことができる。スコアボードの情報は通常、オンラインゲームサービスに関連づけられたすべてのプレーヤに対して使用可能である。
【００４３】
スコアボード５００中の第１列５０２は、ある特定のランキング（たとえば、１〜１０位）を識別する。第２列５０４は、ランキングに関連づけられたプレーヤ名を識別する。プレーヤ名は、実名（たとえば、Bob  Smith）でも、ニックネーム（たとえば、Master  Gamer）でもよい。第３列５０６は、プレーヤのランキングの少なくとも部分的な要因であるプレーヤのベストラップタイムを識別する。第４列５０８は、プレーヤのランキングに関連づけられたデータ（たとえば記録されたゲームやベストショット）を識別する参照識別子を含む。たとえば、参照識別子(reference  identifier)（短縮して参照ＩＤという）は、列５０６において識別されるラップタイムがそこで生成された、記録されたゲームを識別することができる。他のプレーヤは、記録されたゲームまたは関連づけられた他のデータを、参照識別子を用いて選択することができる。ある状況では、参照識別子がない場合があり、これは、特定のランキングに関連づけられた付加データがないことを意味する。代替実施形態では、参照識別子は、ユニフォームリソースロケータ（ＵＲＬ）である。
【００４４】
第５列５１０は、第４列５０８において識別されたデータがダウンロードおよび／または閲覧のために使用可能であるか識別する。参照識別子によって識別されるデータが、たとえばストレージサーバ上で使用可能である場合、第５列５１０は、データの可用性を「Ｙｅｓ」または「Ｙ」で示す。しかし、データが削除済みであり、ストレージサーバに一度もアップロードされず、またはストレージサーバにアップロードされる処理中である場合、第５列５１０は、データの可用性を「Ｎｏ」または「Ｎ」で示す。したがって、プレーヤは、スコアボードを閲覧し、どのアタッチメントがダウンロードするために使用可能であるか識別することができる。
【００４５】
第６列５１２は、列５０４で識別されたプレーヤが、スコアボード５００に関連づけられたゲームを最後にプレイしたときを示すタイムスタンプを識別する。このタイムスタンプ情報は、プレーヤが統計サーバにゲーム結果を報告する度にアップデートされる。このタイムスタンプ情報は、統計データの古さを判定するのに使われる。さらに、統計サーバは、古いエントリを「排除する(age  out)」ことができる。一実施形態では、ゲームを３０日間または６０日間プレイしなかったプレーヤによって作成されたエントリは、スコアボードから削除されて、ゲームを積極的にプレイしているプレーヤのためにスペースを提供することができる。別の実施形態では、以下の公式によって、スコアボード５００中のエントリがタイムスタンプに基づいて古くなっていく。
【００４６】
減衰公式の一例が、以下に提供される（ｍは、プレーヤの最後のゲームセッションからの月数を表す）。
【００４７】
【数１】
2004329949.tif 000003
【００４８】
この公式は、プレーヤが１２カ月間活動していない状態になるまで、時間の経過と共にプレーヤのレーティングを線形的に低下させる。プレーヤの活動していない期間が１２カ月になると、レーティングはゼロに設定され、その後スコアボードから削除される。代替実施形態では、時間の経過に従ってレーティングを低下させる他のタイプの減衰公式を使うことができる。
【００４９】
スコアボード５００は、ある特定のゲームの上位１０人のプレーヤを示しているが、他のスコアボードは、任意の人数のプレーヤ、たとえば上位５人、上位２０人、または上位１００人を示すことができる。
【００５０】
スコアボード５００中の各行（すなわち、レーティング）は、関連づけられた複数のデータ付加を有することができる。たとえば、スコアボード５００中のある特定のレーティングは、関連づけられた記録されたゲーム、およびどのようにしてハイスコアを達成したか説明するプレーヤの声を含む、関連づけられたオーディオファイルを有することができる。
【００５１】
代替実施形態では、オンラインゲームサービスに関連づけられたプレーヤの部分集合、たとえば友人の集団またはクラブは、アタッチメントを交換することができる。したがって、友人の集団は、他の友人がダウンロードし閲覧し、または対戦するために、ある特定のストレージ領域(storage  area)（たとえば、友人のスコアボード）に、記録されたゲームを通知することができる。こうすることにより、２人以上の友人が、同時にプレイすることができない場合でも互いに相手に対抗してプレイすることができるようになる。
【００５２】
図６は、プレーヤのレーティングに関連づけられたデータをゲームコンソールが取り出すための手順６００を示すフロー図である。最初に、ゲームコンソールは、オンラインゲームサービスとの接続を確立する（ブロック６０２）。ゲームコンソールユーザ（すなわちプレーヤ）は、ある特定のゲームに関連づけられたスコアボードの表示を要求する（ブロック６０４）。代替実施形態では、ゲームコンソールユーザ（すなわちプレーヤ）は、やはりオンラインゲーム用システムを使用する様々な友人のレーティングの表示を要求する。この友人のレーティングの表示は、図５のスコアボード５００に関連して上述したのと類似の情報を含むことができる。
【００５３】
ブロック６０６において、オンラインゲームサービスは、ゲームコンソールにスコアボードデータを提供する。ゲームコンソールは次いで、受け取ったスコアボードデータをゲームコンソールユーザに対して表示する（ブロック６０８）。ゲームコンソールユーザは、スコアボード中のエントリに付加された（またはそれに関連づけられた）データを選択する（ブロック６１０）。選択されるデータは、記録されたゲーム、お気に入りのショットなどでよい。オンラインゲームサービスは、選択されたデータをゲームコンソールにダウンロードする（ブロック６１２）。ゲームコンソールは次いで、ダウンロードされたデータを表示し、あるいは使用する（ブロック６１４）。上述したように、ゲームコンソールユーザは、記録されたゲームデータまたはゲームのハイライトを閲覧して、他のプレーヤの技術から学習することができる。
【００５４】
上述したように、名前リゾルバ２０８（図２）は、ゲームコンソールによって使用される総称識別子を、所望のデータの実際のストレージ位置(actual  storage  location)にマッピング(map)する。オンラインゲーム用システムによって格納されるデータは、異なる地理的区域にある異なる様々なストレージシステム上に格納することができる。付加データは、ゲームプログラム、プレーヤの地理的区域などに基づいて、部分集合に区分することができる。こうした異なるストレージデバイスおよびストレージ位置は、データストレージアーキテクチャの配置をユーザが理解することを要求することなく、ゲームコンソールユーザに対して使用可能である必要がある。他の様々なデータに関連する機能、たとえば新しいデータの追加、ストレージデバイス間および／またはストレージ位置間でのデータの移動、ならびにストレージ場所の再割振りは、ゲームコンソールユーザならびにゲーム、プログラム自体に対して透過でなければならない。ゲームプログラムは（たとえば名前リゾルバ２０８によって）宛先変更することができるので、上述した様々な機能は、ゲームコードを全く修正することなく行うことができる。
【００５５】
複数のデータストレージ位置(data  storage  location)に渡ってデータを格納することにより、データのダウンロード時間は、ゲームコンソールユーザに近いストレージ位置からデータをダウンロードすることによって改善することができる。データはまた、ゲームコンソールユーザを妨害することも、たとえば統計データベースに格納されたデータを識別する参照へのアップデートを要求することもなく、ある位置から別の位置に移動することができる。統計サービスは、新しいデータ付加に対する参照を生成するとき、その参照の中に、使用される特定のゲームタイトルとデータ付加を行ったプレーヤとを識別する情報を埋め込む。この情報は、複数のデータストレージ位置に渡るアタッチメントを区分するのに使うことができる。
【００５６】
ストレージサービス(storage  service)は、開始されると、ストレージサービスが要因であるアタッチメントのグループを発見するために、中央構成データベースに照会を行う。ストレージサーバは、たとえば参照識別子から、ストレージサーバが要因であるグループの中にアタッチメントがあるか、または、異なるストレージサーバにユーザが向けられる必要があるか判定する。
【００５７】
一実施形態では、１つのデータストレージ位置が、一次(primary)データストレージ位置(data storage  location)として指定(designate)される。データに対するすべてのユーザ要求が、最初に一次データストレージ位置に送信される。一次データストレージ位置におけるストレージサービスが参照識別子に基づいてユーザを向けなおす場合、ユーザは、この情報をキャッシュし、後続のデータ要求を適切なデータストレージ位置に向ける。一群のデータが、あるデータストレージ位置から別の位置に移動される必要がある場合、データをコピーした後で、名前リゾルバによって使用される構成データがアップデートされ、ストレージサービスは次いで、要求を新しいデータストレージ位置に宛先変更する。
【００５８】
周期的に、オンラインゲームサービスは、統計データベース中のデータを分析し、すべての有効なアタッチメントを識別する。この有効なアタッチメントのリストはストレージサーバに送信され、ストレージサーバは、有効なアタッチメントのリストにない、サーバに格納されているどのアタッチメントも消去する。さらに、ストレージサーバは、ストレージシステムに格納されていない、リストにあるアタッチメントを識別することができ、そうすることによって、統計サーバがストレージサーバのデータをアップデートすることを可能にする。代替実施形態では、統計サーバは、削除されるべきアタッチメントのリストを生成する。ストレージサーバは次いで、リストにあるアタッチメントをストレージシステムから消去する。
【００５９】
本明細書で説明する様々な設定およびパラメータは、たとえば統計サーバおよび／またはストレージサーバ内で変更することができる。こうしたパラメータおよび設定は、記録されたゲームをアップロードする機会、スコアボードに表示されるランキングの数などをプレーヤに提供するか決定する基準を含む。したがって、パラメータおよび設定(setting)は、ある特定のゲームプログラムがゲームメーカによって出荷された後、変更することができる。こうしたパラメータおよび設定は、ゲームの人気または他の要因に基づいて変更することができる。たとえば、ある特定のゲームが非常に人気がある場合、オンラインゲームサービスの管理者は、付加データを有することができるレーティングの数を増やすことができる。
【００６０】
図７は、本発明の各実施形態で使うことができる、一般的なコンピュータ環境７００を示す。コンピュータ環境７００は、コンピューティング環境の一例に過ぎず、コンピュータおよびネットワークアーキテクチャの使用または機能の範囲に関するどのような限定を示唆することも意図していない。また、コンピュータ環境７００は、例示的なコンピュータ環境７００に示される構成要素のどの１つまたはその組合せに関するどのような依存も要件も有していると解釈されるべきではない。
【００６１】
コンピュータ環境７００は、コンピュータ７０２の形の汎用コンピューティングデバイスを含む。コンピュータ７０２は、たとえば、図１の統計フロントドア１２４またはセキュリティゲートウェイ１０４でも、図２のストレージサーバ２０２または名前リゾルバ２０８でも、図２の署名サーバ２１０でもよい。コンピュータ７０２の構成要素は、（任意選択で暗号プロセッサまたはコプロセッサを含む）１つまたは複数のプロセッサまたは処理ユニット７０４と、システムメモリ７０６と、プロセッサ７０４など様々なシステム構成要素をシステムメモリ７０６に結合するシステムバス７０８とを含むことができるが、これに限定されない。
【００６２】
システムバス７０８は、様々なバスアーキテクチャのいずれかを使用するメモリバスまたはメモリコントローラ、周辺装置バス、グラフィック専用高速バス、およびローカルバスなどいくつかのタイプのバス構造のいずれかの１つまたは複数を表す。例として、このようなアーキテクチャは、ＩＳＡ（業界標準アーキテクチャ）バス、ＭＣＡ（マイクロチャネルアーキテクチャ）バス、ＥＩＳＡ（拡張ＩＳＡ）バス、ＶＥＳＡ（米国ビデオ電子装置規格化協会）ローカルバス、およびメザニン(Mezzanine)バスとしても知られるＰＣＩ（周辺装置相互接続）バスを含むことができる。
【００６３】
コンピュータ７０２は通常、様々なコンピュータ可読媒体を含む。このような媒体は、コンピュータ７０２によってアクセス可能であるとともに揮発性媒体および不揮発性媒体、取外し可能媒体および固定型媒体両方を含む、利用可能などの媒体でもよい。
【００６４】
システムメモリ７０６は、コンピュータ可読媒体を、ランダムアクセスメモリ（ＲＡＭ）７１０など揮発性メモリ、および／または読出し専用メモリ（ＲＯＭ）７１２など不揮発性メモリの形で含む。基本入出力システム（ＢＩＯＳ）７１４は、たとえば起動中にコンピュータ７０２内部の要素間の情報の転送を助ける基本ルーチンを含み、ＲＯＭ７１２に格納される。ＲＡＭ７１０は一般に、処理ユニット７０４にただちにアクセス可能なかつ／または処理ユニット７０４によって現在操作されるデータおよび／またはプログラムモジュールを含む。
【００６５】
コンピュータ７０２は、他の取外し可能／固定型、揮発性／不揮発性コンピュータストレージ媒体を含むこともできる。例として、図７は、固定型の不揮発性磁気媒体（図示せず）からの読み出しまたはそこへの書き込みをするハードディスクドライブ７１６、取外し可能な不揮発性磁気ディスク７２０からの読み出しまたはそこへの書き込みをする磁気ディスクドライブ７１８、および、ＣＤ−ＲＯＭ、ＤＶＤ?ＲＯＭ、または他の光学媒体など取外し可能な不揮発性光ディスク７２４からの読み出しまたはそこへの書き込みを行う光ディスクドライブ７２２を示す。ハードディスクドライブ７１６、磁気ディスクドライブ７１８、および光ディスクドライブ７２２はそれぞれ、１つまたは複数のデータ媒体インターフェース７２６によって、システムバス７０８に接続される。あるいは、ハードディスクドライブ７１６、磁気ディスクドライブ７１８、および光ディスクドライブ７２２は、１つまたは複数のインターフェース（図示せず）によってシステムバス７０８に接続することができる。
【００６６】
ディスクドライブおよびそれに関連するコンピュータ可読媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、およびコンピュータ７０２のための他のデータの不揮発性ストレージデバイスを提供する。この例ではハードディスク７１６、取外し可能な磁気ディスク７２０、および取外し可能な光ディスク７２４を示したが、コンピュータによってアクセス可能なデータを格納することができる他のタイプのコンピュータ可読媒体、たとえば磁気カセットまたは他の磁気ストレージデバイス、フラッシュメモリカード、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）または他の光学ストレージデバイス、ランダムアクセスメモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、電気的消去書き込み可能読み出し専用メモリ（ＥＥＰＲＯＭ）なども、例示的なコンピューティングシステムおよび環境を実現するのに使用することができることを理解されたい。
【００６７】
プログラムモジュール、たとえばオペレーティングシステム７２６、１つまたは複数のアプリケーションプログラム７２８、他のプログラムモジュール７３０、およびプログラムデータ７３２はいくつでも、ハードディスク７１６、磁気ディスク７２０、光ディスク７２４、ＲＯＭ７１２、および／またはＲＡＭ７１０上に格納することができる。このようなオペレーティングシステム７２６、１つまたは複数のアプリケーションプログラム７２８、他のプログラムモジュール７３０、およびプログラムデータ７３２（またはその何らかの組合せ）はそれぞれ、分散型ファイルシステムをサポートする常駐構成要素の全部または一部を実施することができる。
【００６８】
ユーザは、キーボード７３４およびポインティングデバイス７３６（たとえば「マウス」）などの入力装置を介して、コマンドおよび情報をコンピュータ７０２に入力することができる。他の入力装置７３８（具体的には図示せず）には、マイクロホン、ジョイスティック、ゲーム用パッド、衛星パラボラアンテナ、直列ポート、スキャナなどがあり得る。こうしたおよび他の入力装置は、システムバス７０８に結合される入出力インターフェース７４０を介して処理ユニット７０４に接続されるが、他のインターフェースおよびバス構造、たとえば並列ポート、ゲームポート、ユニバーサルシリアルバス（ＵＳＢ）によって接続することもできる。
【００６９】
モニタ７４２または他のタイプの表示装置も、ビデオアダプタ７４４などのインターフェースを介してシステムバス７０８に接続することができる。モニタ７４２に加え、他の出力周辺装置には、入出力インターフェース７４０を介してコンピュータ７０２に接続することができるスピーカ（図示せず）およびプリンタ７４６などがあり得る。
【００７０】
コンピュータ７０２は、リモートコンピューティングデバイス７４８など１つまたは複数のリモートコンピュータへの論理接続を使用してネットワーク接続された環境において動作することができる。例として、リモートコンピューティングデバイス７４８は、パーソナルコンピュータ、可搬型コンピュータ、サーバ、ルータ、ネットワークコンピュータ、ピア装置または他の共通ネットワークノード、ゲームコンソールなどでよい。リモートコンピューティングデバイス７４８は、コンピュータ７０２に関連して本明細書において説明した要素および特徴の多くまたはすべてを含むことができる可搬型コンピュータとして示される。
【００７１】
コンピュータ７０２およびリモートコンピュータ７４８の間の論理接続は、ローカルエリアネットワーク（ＬＡＮ）７５０および一般的なワイドエリアネットワーク（ＷＡＮ）７５２として図示される。このようなネットワーク環境は、会社、企業規模のコンピュータネットワーク、イントラネットおよびインターネットにおいてよく見られる。
【００７２】
ＬＡＮネットワーク環境において実施される場合、コンピュータ７０２は、ネットワークインターフェースまたはネットワークアダプタ７５４を介してローカルネットワーク７５０に接続される。ＷＡＮネットワーク環境において実施される場合、コンピュータ７０２は通常、モデム７５６、またはワイドネットワーク７５２を介した通信を確立する他の手段を含む。モデム７５６は、コンピュータ７０２の内部にあっても外部にあってもよく、入出力インターフェース７４０または他の適切な機構を介してシステムバス７０８に接続することができる。図示したネットワーク接続は例示的なものであり、コンピュータ７０２および７４８の間の通信リンク（群）を確立する他の手段も使うことができることを理解されたい。
【００７３】
コンピューティング環境７００で示したようなネットワーク接続された環境では、コンピュータ７０２に関連して図示したプログラムモジュールまたはその一部は、リモートメモリストレージデバイスに格納することができる。例として、リモートアプリケーションプログラム７５８は、リモートコンピュータ７４８のメモリ装置に常駐する。説明のために、アプリケーションプログラム、およびオペレーティングシステムなど他の実行可能なプログラム構成要素は、本明細書では別個のブロックとして示されるが、このようなプログラムおよび構成要素は、様々な時にコンピューティングデバイス７０２の異なるストレージ要素に常駐し、コンピュータのデータプロセッサ（群）によって実行されることが理解されよう。
【００７４】
本明細書では、様々なモジュールおよび技術は、１つまたは複数のコンピュータまたは他の装置によって実行されるプログラムモジュールなど、コンピュータ実行可能命令の一般的な状況において説明することができる。概して、プログラムモジュールは、特定のタスクを実施し、または特定の抽象データタイプを実施するルーチン、プログラム、オブジェクト、構成要素、データ構造などを含む。一般に、プログラムモジュールの機能は、様々な実施形態において要望に応じて組み合わせまたは分散することができる。
【００７５】
こうしたモジュールおよび技術を実施した結果は、何らかの形のコンピュータ可読媒体に格納することもでき、その媒体を介して伝送することもできる。コンピュータ可読媒体は、コンピュータによってアクセスすることができる利用可能などの媒体でもよい。限定ではなく例として、コンピュータ可読媒体は、「コンピュータストレージ媒体」および「通信媒体」を含むことができる。
【００７６】
「コンピュータストレージ媒体」は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報の格納のためのどの方法でも技術でも実施される揮発性媒体および不揮発性媒体、取外し可能媒体および固定型媒体を含む。コンピュータストレージ媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）または他の光学ストレージデバイス、磁気カセット、磁気テープ、磁気ディスクストレージデバイスまたは他の磁気ストレージデバイス、あるいは、所望の情報を格納するのに使うことができ、コンピュータによってアクセスすることができる他のどの媒体も含むが、それに限定されない。
【００７７】
「通信媒体(communication  media)」は一般に、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータを、変調データ信号、たとえば搬送波や他の移送機構として具体化する。通信媒体はまた、どの情報配信媒体も含む。「変調データ信号」という用語は、信号中で情報を符号化するようなやり方で信号特性の１つまたは複数が設定されまたは変更された信号を意味する。限定ではなく例として、通信媒体は、有線ネットワークや直接有線接続などの有線媒体、ならびに音響、ＲＦ、赤外線、および他の無線媒体などの無線媒体を含む。上記のどの組合せも、やはりコンピュータ可読媒体の範囲に含まれる。
【００７８】
図８は、ゲームコンソール１０２の機能構成要素をより詳細に示す。ゲームコンソール１０２は、中央処理ユニット（ＣＰＵ）８００と、フラッシュＲＯＭ（読み出し専用メモリ）８０４、ＲＡＭ（ランダムアクセスメモリ）８０６、ハードディスクドライブ８０８、および可搬型メディアドライブ８０９など様々なタイプのメモリへのプロセッサによるアクセスを容易にするメモリコントローラ８０２とを有する。ＣＰＵ８００には、一時的にデータを格納し、したがってメモリにアクセスする周期数を削減するためのレベル１キャッシュ８１０およびレベル２キャッシュ８１２が備えられ、そうすることによって処理速度およびスループットを向上させる。
【００７９】
ＣＰＵ８００、メモリコントローラ８０２、および様々なメモリ装置は、様々なバスアーキテクチャのどれをも使用する直列バスおよび並列バス、メモリバス、周辺装置バス、ならびにプロセッサまたはローカルバスなど１つまたは複数のバスを介して相互接続される。例として、このようなアーキテクチャは、ＩＳＡ（業界標準アーキテクチャ）バス、ＭＣＡ（マイクロチャネルアーキテクチャ）バス、ＥＩＳＡ（拡張ＩＳＡ）バス、ＶＥＳＡ（米国ビデオ電子装置規格化協会）ローカルバス、およびメザニン(Mezzanine)バスとしても知られるＰＣＩ（周辺装置相互接続）バスを含むことができる。
【００８０】
適切な一実施形態として、ＣＰＵ８００、メモリコントローラ８０２、ＲＯＭ８０４、およびＲＡＭ８０６は、共通モジュール８１４上に統合される。この実施形態において、ＲＯＭ８０４は、ＰＣＩ（周辺装置相互接続）バスおよびＲＯＭバス（いずれも図示せず）を介してメモリコントローラ８０２に接続されるフラッシュＲＯＭとして構成される。ＲＡＭ８０６は、別個のバス（図示せず）を介してメモリコントローラ８０２によってそれぞれ独立に制御される複数のＤＤＲ  ＳＤＲＡＭ（ダブルデータレートシンクロナスダイナミックＲＡＭ）として構成される。ハードディスクドライブ８０８および可搬型メディアドライブ８０９は、ＰＣＩバスおよびＡＴＡ（ＡＴアタッチメント）バス８１６を介してメモリコントローラに接続される。
【００８１】
３Ｄグラフィックス処理ユニット８２０およびビデオエンコーダ８２２は、高速かつ高解像画像処理のためのビデオ処理パイプラインを形成する。データは、デジタルビデオバス（図示せず）を介して画像処理ユニット８２０からビデオエンコーダ８２２に搬送される。オーディオ処理ユニット８２４およびオーディオコーデック（コーダ／デコーダ）８２６は、高品位かつステレオ処理を有する対応するオーディオ処理パイプラインを形成する。オーディオデータは、オーディオ処理ユニット８２４とオーディオコーデック８２６の間を、通信リンク（図示せず）を介して搬送される。ビデオおよびオーディオ処理パイプラインは、テレビまたは他のディスプレイに伝送するために、データをＡ／Ｖ（オーディオ／ビデオ）ポート８２８に出力する。図示した実施形態では、ビデオおよびオーディオ処理構成要素８２０〜８２８は、モジュール８１４に搭載される。
【００８２】
モジュール８１４は、ＵＳＢホストコントローラ８３０およびネットワークインターフェース８３２も含んでいる。ＵＳＢホストコントローラ８３０は、バス（たとえば、ＰＣＩバス）を介してＣＰＵ８００およびメモリコントローラ８０２に結合され、周辺コントローラ８３６（１）〜８３６（４）に対するホストとして働く。ネットワークインターフェース８３２は、ネットワーク（たとえばインターネット、ホームネットワークなど）へのアクセスを提供し、非常に様々な有線または無線インターフェース構成要素、たとえばイーサネット（登録商標）カード、モデム、ブルートゥースモジュール、ケーブルモデムなどのいずれでもよい。
【００８３】
ゲームコンソール１０２は、２つのデュアルコントローラサポートサブアセンブリ８４０（１）および８４０（２）を有し、各サブアセンブリは、２つのゲームコントローラ８３６（１）〜８３６（４）をサポートする。フロントパネルＩ／Ｏサブアセンブリ８４２は、電源ボタン８３１およびメディアドライブ取出しボタン８３３、ならびにゲームコンソールの外面に露出されるどのＬＥＤ（発光ダイオード）または他のインジケータの機能もサポートする。サブアセンブリ８４０（１）、８４０（２）、および８４２は、１つまたは複数のケーブルアセンブリ８４４を介してモジュール８１４に結合される。
【００８４】
８個のメモリユニット８３４（１）〜８３４（８）は、４つのコントローラ８３６（１）〜８３６（４）に、すなわち、各コントローラごとに２つのメモリユニットに接続可能なものとして示されている。各メモリユニット８３４は、ゲーム、ゲームパラメータ、および他のデータを格納することができる追加ストレージデバイスを提供する。コントローラに挿入されると、メモリユニット８３４は、メモリコントローラ８０２によってアクセスすることができる。
【００８５】
システム電源供給モジュール８５０は、ゲームコンソール１０２の構成要素に電力を提供する。ファン８５２は、ゲームコンソール１０２内部の回路を冷却する。
【００８６】
コンソールユーザインターフェース（ＵＩ）アプリケーション８６０は、ハードディスクドライブ８０８上に格納される。ゲームコンソールの電源が入れられると、コンソールアプリケーション８６０の様々な部分は、ＲＡＭ８０６および／またはキャッシュ８１０、８１２にロードされ、ＣＰＵ８００上で実行される。コンソールアプリケーション８６０は、ゲームコンソール上で使用可能な異なるメディアタイプへナビゲートするときに、一貫したユーザ経験を提供するグラフィカルユーザインターフェースを提示する。
【００８７】
ゲームコンソール１０２は、一般的な暗号化関数、たとえば暗号化、解読、認証、デジタル署名、ハッシュなどを実施するための暗号技術エンジンを実装している。暗号技術エンジンは、ＣＰＵ８００の一部としても、ＣＰＵ上で実行される、ハードディスクドライブ８０８上に格納されるソフトウェアとしても実施することができ、そうすることによって、ＣＰＵは、暗号化関数を実施するように構成される。あるいは、暗号化プロセッサ、または暗号化関数を実施するように設計されたコプロセッサは、ゲームコンソール１０２に含むこともできる。
【００８８】
ゲームコンソール１０２は、テレビまたは他のディスプレイにシステムを単に接続することによって、独立型システムとして動作することができる。この独立型モードでは、ゲームコンソール１０２は、１人または複数のプレーヤが、ゲームをプレイし、映画を見、または音楽を聴くことを可能にする。ただし、ネットワークインターフェース８３２を介して利用可能とされるブロードバンド接続性の統合によって、ゲームコンソール１０２はさらに、上述したようにオンラインゲームの参加者として動作することができる。
【００８９】
本明細書で説明されたゲームコンソールは、（コンピュータゲームを実行する汎用ＰＣではなく）専用のゲームコンソールとして説明されているが、このゲームコンソールは、追加機能を組み込むこともできることに留意されたい。たとえば、ゲームコンソールは、デジタルビデオ記録機能を含むことができ、そうすることによってデジタルＶＣＲとして動作することができ、ゲームコンソールは、チャネル同調機能を含むことができ、そうすることによってテレビ信号（放送信号、ケーブル信号、衛星信号などであっても）を同調しデコードすることができる。さらに、代替実施形態では、ゲームコンソールは、セットトップボックスまたは他のコンピューティングデバイスで置き換えられる。
【００９０】
以上、構造上の特徴および／または方法の動作に特有の言葉を用いて説明したが、添付の特許請求の範囲で定義される本発明は、説明した特定の特徴または動作に限定されないことを理解されたい。そうではなく、こうした特定の特徴および動作は、本発明を実施する例示的な形として開示されている。
【図面の簡単な説明】
【００９１】
【図１】本発明を適用した例示的なオンラインゲーム環境を示すブロック図である。
【図２】オンラインゲームのレーティングにデータを関連づける、システムの具体的な構成要素を示すブロック図である。
【図３Ａ】オンラインゲームのレーティングにデータを関連づける手順を示すフローチャートである。
【図３Ｂ】オンラインゲームのレーティングにデータを関連づける手順を示すフローチャートである。
【図４】アクセストークンに含まれるデータの一例を示す図である。
【図５】ある特定のゲームに関連づけられたスコアボードに含まれるデータの例を示す図である。
【図６】プレーヤのレーティングに関連づけられたデータをゲームコンソールが取り出すための手順を示すフローチャートである。
【図７】本発明の各実施形態を実施するための、一般的なコンピュータ環境を示す図である。
【図８】本発明を適用したゲームコンソールの機能構成要素をより詳細に示す図である。
【符号の説明】
【００９２】
１００  オンラインゲーム環境
１０２  ゲームコンソール
１０４  セキュリティゲートウェイ
１１０  データセンタ（セキュアゾーン）
１１２  監視サーバ
１１４  存在および通知フロントドア
１１６  存在サーバ
１１８  通知サーバ
１２０  対戦フロントドア
１２２  対戦サーバ
１２４  統計フロントドア
１２６  統計サーバ
１２８  キーディストリビューションセンタ
２０２  ストレージサーバ
２０４  ストレージデータベース
２０６  統計データベース
２０８  名前リゾルバ
２１０  署名サーバ
【図１】
2004329949.tif 000004
【図２】
2004329949.tif 000005
【図３Ａ】
2004329949.tif 000006
【図３Ｂ】
2004329949.tif 000007
【図４】
2004329949.tif 000008
【図５】
2004329949.tif 000009
【図６】
2004329949.tif 000010
【図７】
2004329949.tif 000011
【図８】
2004329949.tif 000012