(57)【特許請求の範囲】
【請求項１】
装置であって、
方法を行うように構成されているプロセッサであって、前記方法は、
前記装置に格納された隠しコードを取り出すことであって、前記隠しコードは前記装置のエンドユーザによって見ることができないことと、
前記装置から複数のアルゴリズムからパスコードを計算するためのパスコードアルゴリズムを取り出すことと、
前記パスコードアルゴリズムで前記隠しコードに基づいて前記パスコードを計算することと、
前記装置に結合されたゲームコントローラから一連のボタン操作を受けることと、
前記一連のボタン操作が前記パスコードに合致するかを判定することと、
前記一連のボタン操作が前記パスコードに合致する場合に前記装置を工場初期設定状態にリセットすることと
を備える、プロセッサと、
前記プロセッサに結合され、前記装置に関連する前記隠しコードを格納するように構成されているストレージデバイスと、
前記プロセッサに結合され、前記装置に関連する各種データを格納するように構成されているハードディスクであって、システムリセット動作時にクリアされる第１のパーティションと、システムリセット動作時にクリアされない第２のパーティションとを備えたハードディスクドライブと
を備えたことを特徴とする装置。
【請求項２】
請求項１に記載の装置であって、前記装置に結合されたメモリをさらに含むことを特徴とする装置。
【請求項３】
請求項１に記載の装置であって、前記プロセッサに結合され、ストレージディスクと通信するように構成されたポータブルメディアドライブをさらに含むことを特徴とする装置。
【請求項４】
請求項１に記載の装置であって、前記ハードディスクドライブの第２のパーティションに格納され、前記プロセッサで実行可能なコンソールアプリケーションであって、前記装置に対するユーザインタフェースを実施するように構成されたコンソールアプリケーションをさらに含むことを特徴とする装置。
【請求項５】
請求項１に記載の装置であって、前記ハードディスクドライブの第２のパーティションに格納され、前記プロセッサで実行可能なリセットアプリケーションであって、システムリセット動作を実施するように構成されたリセットアプリケーションをさらに含むことを特徴とする装置。
【請求項６】
請求項１に記載の装置であって、前記装置は、ゲームコンソールであることを特徴とする装置。
【請求項７】
デバイスにおける方法であって、
前記デバイスのシリアル番号に割当てられた隠しコードから引き出されたパスコードを受け取ることと、
前記パスコードを前記デバイスに適用することであって、前記デバイスが複数のパスコード生成アルゴリズムの１つを適用することによって前記デバイス中の隠しコードからパスコードを計算することによって前記適用されたパスコードを検証し、前記隠しコードはエンドユーザにアクセス可能でないか、可視でない、適用することと、
前記適用されたパスコードがうまく検証される場合に前記デバイスを工場初期設定状態にリセットすることと
を備えることを特徴とする方法。
【請求項８】
請求項７に記載の方法であって、
前記パスコードが検証されない場合に前記デバイスの現在の状態を維持することをさらに含むことを特徴とする方法。
【請求項９】
請求項７に記載の方法であって、
前記デバイスをリセットすることは、前記デバイスに収容されたハードディスクの第１のパーティション中のデータを削除することを含むことを特徴とする方法。
【請求項１０】
請求項７に記載の方法であって、
前記デバイスは、ゲームコンソールであることを特徴する方法。
【請求項１１】
実行されると、請求項７に記載の方法を行うコンピュータ実行可能命令を格納した１つまたは複数のコンピュータ読取り可能媒体。
【請求項１２】
実行されると、
ゲームコンソールに格納された隠しコードを取り出すこととであって、前記隠しコードは生成され、デバイスに割当てられることと、
複数のパスコードアルゴリズムの１つを適用することによって前記隠しコードに基づいてパスコードを計算することと、
前記装置に結合されたゲームコントローラから一連のボタン操作を受け取ることであって、前記ゲームコントローラはゲームをするための入力を受け取ることと、
前記一連のボタン操作が前記パスコードに合致するかを判定することであって、前記パスコードが前記ゲームコントローラの一連のボタン操作を表すことと
前記一連のボタン操作が前記パスコードに合致する場合に前記ゲームコンソールを工場初期設定状態にリセットすることと
を前記ゲームコンソールに指令するコンピュータ実行可能命令を格納するゲームコンソールのためのコンピュータ読取り可能媒体。
【請求項１３】
請求項１２に記載のコンピュータ読取り可能媒体であって、
前記ゲームコンソールを工場初期設定状態にリセットすることは、前記ゲームコンソールに統合されたハードディスクドライブの保存データパーティションに格納されたデータを削除することを備えることを特徴とするコンピュータ読取り可能媒体。
【請求項１４】
請求項１２に記載のコンピュータ読取り可能媒体であって、
前記ハードディスクドライブの前記保存データパーティションは、保存されたゲームデータを備えることを特徴とするコンピュータ読取り可能媒体。
【請求項１５】
請求項１２に記載のコンピュータ読取り可能媒体であって、
前記ハードディスクドライブの前記保存データパーティションは、ゲームコンソールの設定を備えることを特徴とするコンピュータ読取り可能媒体。
【請求項１６】
請求項１２に記載のコンピュータ読取り可能媒体であって、
実行されると、前記一連のユーザ入力が前記ゲームコンソールに関連する前記パスコードに合致しない場合に前記ゲームコンソールの現在の状態を維持することを前記ゲームコンソールに指令するコンピュータ実行可能命令をさらに格納することを特徴とするコンピ
ュータ読取り可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デバイスを初期設定状態に復元するための装置、方法及び記録媒体に関し、より詳細には、電子デバイス内のディスクドライブまたはその他のストレージデバイスに格納されているデータをリセットすることに係るデバイスを初期設定状態に復元するための装置、方法及び記録媒体に関する。
【背景技術】
【０００２】
現在市場に出回っているゲームシステム（Ｇａｍｉｎｇ  ｓｙｓｔｅｍｓ）は、ディスクドライブからゲームディスク、音楽ＣＤ（compact disc [disk]）、および映画ＤＶＤ（digital video disc [disk]）を再生することができる。たとえば、ソニーのゲームシステムＰｌａｙｓｔａｔｉｏｎ（登録商標）２は、コンソールに挿入されたディスクからゲーム、音楽、およびビデオタイトルを再生する機能を備えている。これらのゲームシステムは、その内部データ記憶容量が限られている。通常、この内部データ記憶域は、現地時間、ユーザ固有の言語設定などのシステムおよび構成情報を格納するために使用される。保存されているゲームデータやその他のゲーム特有のデータなどのその他のデータは、一般に、ゲームコンソールの外部にあるメモリデバイスに格納される。たとえば、ハンドヘルドゲームコントローラに挿入されたメモリユニットにゲーム情報を格納し、後でゲームコンソールから取り出すことができる。既存のゲームシステムは、保存されたゲームおよびその他の情報を格納するためのノンリムーバル内蔵ハードディスクドライブを備えていない。
【０００３】
新世代のビデオゲームシステムは、ゲーム機能を高めるハードディスクドライブと、オンラインゲームを容易にするブロードバンドによる接続性を備える。こうした追加機能とともに、ハードディスクドライブを使用して、相当量のデータ（たとえば、複数のゲームタイトルおよびゲームシステムの複数のユーザから集まった保存ゲームデータ）をビデオゲームシステム内に格納することができる。この新しい内蔵記憶能力は、ハードディスクドライブ上のソフトウェアまたはデータの破損に関する新しい問題を生じている。ビデオゲームシステムをメーカーに返送し、ソフトウェアおよび／またはデータ破損を修復してもらうことは、ユーザにとって、かなりの期間そのゲームシステムを利用できないという点で不便である。
【０００４】
いくつかの文献に上述のような従来の技術に関連した技術内容が開示されている（例えば、特許文献１、２、非特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】米国特許第５，２１４，６９５号明細書
【特許文献２】米国特許第５，５６４，０１１号明細書
【非特許文献】
【０００６】
【非特許文献１】David D. Langan and Thomas J. Scott, "A Methodology for Fast PC Hard Disk State Restoration," University of South Alabama & Western Illinois University, 1992, pp. 1105-1110
【発明の概要】
【発明が解決しようとする課題】
【０００７】
そこで、ハードディスクドライブを既知の状態にリセットできる、ゲームシステムおよびその他のデバイス用の、リセット機構が求められている。さらに、リセット機構の乱用を防ぐことが求められる。このような乱用は、何時間もの保存されているゲーム情報、デバイス設定情報、ハイスコアなどの削除を引き起こす恐れがある。
【０００８】
本発明は、このような課題に鑑みてなされたもので、その目的とするところは、リセット機構によって状態をリセットすることができリセット機構の乱用を防ぐことができる、デバイスを初期設定状態に復元するための装置、方法及び記録媒体を提供することにある。
【課題を解決するための手段】
【０００９】
ゲームシステムなどのデバイスは、プロセッサと各種データを格納するためのハードディスクドライブを備える。ハードディスクドライブは、第１のパーティションと第２のパーティションに分ける。第１のパーティションに格納されているデータは、システムのリセット動作が行われるとクリアされる。第２のパーティションに格納されているデータは、システムのリセット動作が行われてもクリアされない。第１のパーティションは、デバイス上で実行されている１つまたは複数のアプリケーションにより生成され保存されたデータを格納する。第２のパーティションは、アプリケーションプログラムおよびその他の種類の読み取り専用データを含む。
【００１０】
特定の実施形態では、ゲームコンソールはゲームコンソールに組み込まれているハードディスクドライブの第１のパーティションから起動される。ハードディスクドライブの第１のパーティションは読み取り専用として指定される。ゲームコンソールが動作している間に生成されるデータは、ハードディスクドライブの第２のパーティション上に格納される。
【００１１】
他の実施形態では、シリアル番号をゲームコンソールに割り当てる。隠しコードをゲームコンソールに装備されているストレージデバイスに格納する。シリアル番号および関連する隠しコードについては、後で参照できるようにデータベースに格納されている。パスコードアルゴリズムを隠しコードに適用することによりパスコード（ｐａｓｓｃｏｄｅ）を生成する。パスコードにより、ゲームコンソールをリセットするのに必要な一連の制御入力を識別する。
【００１２】
説明される実施形態では、デバイスに関してテクニカルサポートエージェント（ｔｅｃｈｎｉｃａｌ  ｓｕｐｐｏｒｔ  ａｇｅｎｔ）とコンタクトを取る。デバイスのシリアル番号をテクニカルサポートエージェントに提示する。テクニカルサポートエージェントからパスコードを受け取る。それから、そのパスコードをデバイスに適用し、デバイス内の隠しコードからパスコードを計算することにより適用されたパスコードを検証する。適用されたパスコードが検証されると、そのデバイスは工場初期設定状態にリセットされる。
【発明の効果】
【００１３】
以上説明したように本発明によれば、リセット機構によって状態を初期設定状態にリセットすることができるとともに、リセット機構の乱用を防ぐことも可能となる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施形態の例示的なゲームシステムの図である。
【図２】本発明の実施形態のゲームシステムのブロック図である。
【図３】本発明の実施形態の図１のゲームシステムがネットワーク経由で他のコンソールおよびサービスに接続されているネットワークゲームシステムの図である。
【図４】本発明の実施形態の２つの分離されているパーティションを含む例示的なハードディスクドライブの図である。
【図５】本発明の実施形態のシリアル番号が設定されているゲームシステムに隠しコードを割り当てるプロセスの流れ図である。
【図６】本発明の実施形態のハードディスクドライブを工場初期設定状態にリセットするプロセスの流れ図である。
【発明を実施するための形態】
【００１５】
以下、図面を参照して本発明の実施形態を詳細に説明する。なお、各図面において同様の機能を有する箇所には同一の符号を付し、説明の重複は省略する。
【００１６】
ここで説明している特定の例ではゲームシステムを取り上げているが、本発明の方法および装置は、工場初期設定状態にリセットすることが可能なハードディスクドライブまたはその他の記憶機構を備える任意のデバイスに応用することができる。ハードディスクドライブまたはその他の記憶機構は、読み取り専用として保護されている（つまり、リセット動作時に消去されない）ブート可能領域（ｂｏｏｔａｂｌｅ  ｒｅｇｉｏｎ）と読み書き機能を備えリセット動作時に消去される第２のパーティションに分割される。
【００１７】
図１は、ゲームシステム例１００の図である。ゲームシステム１００は、ゲームコンソール１０２およびコントローラ１０４ａおよび１０４ｂで表されるように最大４台までのコントローラを備える。ゲームコンソール１０２は、内蔵ハードディスクドライブ、および光記憶ディスク１０８で表されるようにさまざまな形態のポータブルストレージメディアをサポートするポータブルメディアドライブ１０６を装備する。適切なポータブルストレージメディアの例として、ＤＶＤ、ＣＤ−ＲＯＭ（read only memory）、ゲームディスク、などがある。
【００１８】
ゲームコンソール１０２は、前面に４つのスロット１１０を備え、最大４台までのコントローラをサポートするが、スロットの個数と配列は修正することができる。電源ボタン１１２およびイジェクトボタン１１４も、ゲームコンソール１０２の前面に配置される。電源ボタン１１２で、ゲームコンソールの電源をオンオフし、イジェクトボタン１１４でポータブルメディアドライブ１０６のトレイの開閉を行い、記憶ディスク１０８の抜き差しを行う。
【００１９】
ゲームコンソール１０２は、Ａ／Ｖインタフェースケーブル１２０によりテレビまたはその他の表示装置（図示せず）に接続される。電源ケーブル１２２はゲームコンソールに電力を供給するためのケーブルである。ゲームコンソール１０２はさらに、インターネットなどのネットワークにアクセスできるようにケーブルまたはモデムコネクタ１２４によって表されるようなブロードバンド機能を備える構成にできる。
【００２０】
各コントローラ１０４ａ、１０４ｂは、有線または無線インタフェースでコンソール１０２に結合される。図に示されている実施形態では、コントローラはＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）互換性があり、シリアルケーブル１３０ａ、１３０ｂを介してコンソール１０２に接続される。コンソール１０２は、さまざまなユーザ対話機構を備えることができる。図１に示されているように、各コントローラ１０４ａ、１０４ｂは、サムスティック（ｔｈｕｍｂｓｔｉｃｋｓ）１３２ａ、１３２ｂおよび１３２ｃ、Ｄパッド（Ｄ−ｐａｄ）１３４、ボタン１３６、および２つのトリガ１３８を備える。これらの機構は、単に代表的なものだけであり、他の周知のゲーム機構を図１に示されているものの代わりに使用したり、追加したりすることができる。
【００２１】
メモリユニット（ＭＵ）１４０をコントローラ１０４ａ、１０４ｂまたはゲームコンソール１０２に装着して、ポータブルストレージを増設することができる。ユーザは、メモリユニット１４０を使用して、ゲームパラメータを格納し、他のコンソールでのプレイのためにそれらをポート（port）ですることができる。たとえば、ユーザは特定のゲームコンソールを使用してゲームをメモリユニット１４０に保存し、別のゲームコンソール上で実行されるゲームでその保存されているゲームデータを使用することができる。説明される実施形態では、各コントローラは２つのメモリユニット１４０を収納するように構成されるが、他の実施形態では２つより多いまたは少ないユニットを使用することができる。任意の個数のメモリユニット１４０を収納できるように特定のゲームコンソール１０２を構成できる。
【００２２】
ゲームシステム１００は、たとえば、ゲーム、音楽、およびビデオを再生することができる。別のストレージを用意することで、ハードディスクドライブ、またはドライブ１０６内のポータブルメディア１０８、オンラインソース、またはメモリユニット１４０からタイトルを再生することができる。ゲームシステム１００で再生できる一例として以下のものがある。
【００２３】
１．ＣＤディスク、ＤＶＤディスク、ハードディスクドライブ、またはオンラインソースから再生されるゲームタイトル。
【００２４】
２．ポータブルメディアドライブ１０６内のＣＤ、ハードディスクドライブ上のファイル（たとえば、Ｗｉｎｄｏｗｓ（登録商標）  Ｍｅｄｉａ  Ａｕｄｉｏ（ＷＭＡ）形式）、またはオンラインストリーミングソースから再生されるデジタル楽曲。
【００２５】
３．ポータブルメディアドライブ１０６内のＤＶＤディスク、ハードディスクドライブ上のファイル（たとえば、Ａｃｔｉｖｅ  Ｓｔｒｅａｍｉｎｇ形式）、またはオンラインストリーミングソースから再生されるデジタルオーディオ／ビデオ。
【００２６】
図２は、ゲームシステム１００の機能コンポーネントをさらに詳しく示している。ゲームコンソール１０２は、中央演算処理装置（ＣＰＵ）２００および、フラッシュＲＯＭ２０４、ＲＡＭ（random access memory）２０６、ハードディスクドライブ２０８、およびポータブルメディアドライブ１０６をはじめとする各種メモリにプロセッサからアクセスできるようにするメモリコントローラ２０２を備える。ＣＰＵ２００は、データを一時的に保存しておくためのレベル１キャッシュ２１０とレベル２キャッシュ２１２を備えているため、メモリアクセスサイクル数を減らすことができ、処理速度および効率を改善することができる。
【００２７】
ＣＰＵ２００、メモリコントローラ２０２、および各種メモリデバイスは、シリアルおよびパラレルバス、メモリバス、周辺機器バス、およびさまざまなバスアーキテクチャを使用するプロセッサまたはローカルバスなどで相互接続されている。たとえば、このようなアーキテクチャとしては、ＩＳＡ（Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＭＣＡ（Ｍｉｃｒｏ  Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＥＩＳＡ（Ｅｎｈａｎｃｅｄ  ＩＳＡ）バス、ＶＥＳＡ（Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ）ローカルバス、およびＭｅｚｚａｎｉｎｅバスとも呼ばれるＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バスがある。
【００２８】
適切な１つの実施形態として、ＣＰＵ２００、メモリコントローラ２０２、ＲＯＭ  ２０４、およびＲＡＭ  ２０６が共通モジュール２１４に組み込まれている。この実施形態では、ＲＯＭ  ２０４はＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バスおよびＲＯＭバス（図にはいずれも示されていない）を介してメモリコントローラ２０２に接続されているフラッシュＲＯＭとして構成されている。ＲＡＭ  ２０６は、別のバス（図示せず）を介してメモリコントローラ２０２により独立に制御される複数のＤＤＲ  ＳＤＲＡＭ（Ｄｏｕｂｌｅ  Ｄａｔａ  Ｒａｔｅ  Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  ＲＡＭ）として構成される。ハードディスクドライブ２０８およびポータブルメディアドライブ１０６は、ＰＣＩバスおよびＡＴＡ  （ＡＴ  Ａｔｔａｃｈｍｅｎｔ）バス２１６を介してメモリコントローラに接続される。
【００２９】
３Ｄグラフィックス処理ユニット２２０およびビデオエンコーダ２２２は高速で高解像度のグラフィックス処理を実行するためのビデオ処理パイプラインを形成する。データは、デジタルビデオバス（図示せず）を介してグラフィックス処理ユニット２２０からビデオエンコーダ２２２に伝送される。オーディオ処理ユニット２２４およびオーディオＣＯＤＥＣ（コーダ／デコーダ）２２６は高忠実度およびステレオ処理機能を持つ対応するオーディオ処理パイプラインを形成する。オーディオデータは、通信リンク（図示せず）を介してオーディオ処理ユニット２２４とオーディオＣＯＤＥＣ２２６との間でやり取りされる。ビデオおよびオーディオ処理パイプラインは、データをＡ／Ｖ（オーディオ／ビデオ）ポート２２８に出力し、このデータがテレビまたはその他の表示装置に送信される。図に示されている実施形態では、ビデオおよびオーディオ処理コンポーネント２２０〜２２８はモジュール２１４に装着されている。
【００３０】
モジュール２１４にはさらに、ＵＳＢホストコントローラ２３０およびネットワークインタフェース２３２が実施される。ＵＳＢホストコントローラ２３０は、バス（たとえば、ＰＣＩバス）を介してＣＰＵ  ２００とメモリコントローラ２０２に結合され、周辺機器コントローラ１０４ａ〜１０４ｄのホストとして使用される。ネットワークインタフェース２３２は、ネットワーク（たとえば、インターネット、ホームネットワークなど）にアクセスするための機能を備え、Ｅｔｈｅｒｎｅｔ（登録商標）カード、モデム、Ｂｌｕｅｔｏｏｔｈ（登録商標）モジュール、ケーブルモデムなど、さまざまな有線または無線インタフェースコンポーネントのいずれかである。
【００３１】
ゲームコンソール１０２は、２つのデュアルコントローラサポートサブアセンブリ２４０ａおよび２４０ｂを備え、各サブアセンブリは１０４ａ〜１０４ｄの２つのゲームコントローラをサポートする。フロントパネルＩ／０サブアセンブリ２４２は、ゲームコンソールの外面に露出している電源ボタン１１２およびイジェクトボタン１１４、さらにＬＥＤ（発光ダイオード）またはその他のインジケータの機能をサポートする。サブアセンブリ２４０ａ、２４０ｂ、および２４２は、１つまたは複数のケーブルアセンブリ２４４を介してモジュール２１４に結合される。
【００３２】
８個のメモリユニット１４０ａ〜１４０ｈは、４つのコントローラ１０４ａ〜１０４ｄに接続可能であるように示されている、つまりコントローラ１つに２つのメモリユニットが接続されるように示されている。各メモリユニット１４０ａ〜１４０ｈを使って、ゲーム、ゲームパラメータ、およびその他のデータを格納するためのストレージを増設することができる。メモリユニット１４０ａ〜１４０ｈは、コントローラに装着すると、メモリコントローラ２０２によりアクセスすることができる。さらに、１つまたは複数のメモリユニット１４０ａ〜１４０ｈをゲームコンソール１０２に差し込んで、メモリコントローラ２０２からアクセスすることができる。
【００３３】
システム電源モジュール２５０は、ゲームシステム１００のコンポーネントに電力を供給する。ファン２５２により、ゲームコンソール１０２内の回路類が冷却される。
【００３４】
ゲームコンソール１０２は、ユーザがさまざまなエンターテインメントエリア内を移動するために一貫したユーザインタフェースとナビゲーション階層を備える統一メディアポータルモデル（ｕｎｉｆｏｒｍ  ｍｅｄｉａ  ｐｏｒｔａｌ  ｍｏｄｅｌ）を実装している。ポータルモデルは、ポータブルメディアドライブ１０６に挿入されるメディアタイプに関係なくゲームデータ、オーディオデータ、ビデオデータなどの複数の異なるメディアタイプのコンテンツにアクセスするための好都合な方法を提供する。
【００３５】
統一メディアポータルモデルを実施するために、コンソールユーザインタフェース（ＵＩ）アプリケーション２６２をハードディスクドライブに２０８に格納する。ゲームコンソールの電源が入ると、コンソールアプリケーション２６２のさまざまな部分がＲＡＭ２０６および／またはキャッシュ２１０、２１２にロードされ、ＣＰＵ２００上で実行される。コンソールアプリケーション２６２は、ユーザがゲームコンソール上で利用できる異なるメディアタイプへナビゲートするときに一貫したユーザ体験を提供するグラフィカルユーザインタフェースを表示する。そのため、ハードディスクドライブ２０８（およびそこに格納されているデータ）は初期化プロセスの重要な一部である。ハードディスクドライブ２０８が正しく機能していない場合、ゲームシステム１００は正常に起動しないことがある。ハードディスクドライブ２０８はさらに、システムのリセットアプリケーション２６０を備え、これはハードディスクドライブを既知の状態（例えば、ゲームコンソール１０２が工場を出たときのと同じ状態）にリセットすることができる。
【００３６】
ゲームシステム１００は、単にシステムをテレビまたはその他の表示装置に接続するだけでスタンドアロンシステムとして作動させることができる。このスタンドアロンモードでは、ゲームシステム１００を使って１人または複数のプレーヤーがゲームを実行したり、映画を観賞したり、音楽を聞いたりすることができる。しかし、ネットワークインタフェース２３２を通じて利用可能になるブロードバンド接続性を統合することにより、ゲームシステム１００はさらに、より大きなネットワークゲームコミュニティへの参加者として動作させることが可能になる。
【００３７】
図３は、ネットワーク３０２を介して複数のゲームシステム１００ａ〜１００ｇを相互接続する例示的なネットワークゲーム環境３００を示している。ネットワーク３０２は、さまざまなデータ通信ネットワークを表す。これは、公開部分（例えば、インターネット）、さらにプライベート部分（たとえば、住宅向けローカルエリアネットワーク（ＬＡＮ））、さらに公開部分とプライベート部分の組み合わせを含むことができる。ネットワーク３０２は、有線メディアおよび無線メディアの両方を含むさまざまな従来の通信メディアのうち１つまたは複数を使用して実施することができる。さまざまな通信プロトコルを使用して、公開プロトコルおよび専用プロトコルの両方を含めてネットワーク３０２を介してデータを通信することができる。このようなプロトコルの例として、ＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）、ＩＰＸ／ＳＰＸ（Internet Packet Exchange/Sequential Packet Protocol）、ＮｅｔＢＥＵＩ（NetBIOS Extended User Interface）などがある。
【００３８】
ゲームシステム１００ａ〜１００ｇに加えて、ネットワーク３０２を介して１つまたは複数のオンラインサービス３０４−１〜３０４−ｎにアクセスすることで、参加者向けに、オンラインゲームの主催、ダウンロード可能な音楽またはビデオファイルの提供、ゲーム競技の主催、ストリーミングオーディオ／ビデオファイルの提供などさまざまなサービスを提供するようにできる。ネットワークゲーム環境３００は、さらに、個々のプレーヤーおよび／またはゲームシステム１００ａ〜１００ｇの認証を互いに行いまたオンラインサービス３０４−１〜３０４−ｎと行う役割を果たす鍵配布センタ３０６を伴うことができる。配布センタ３０６は、複数のプレーヤー間でゲームを形成したりオンラインサービス３０４−１〜３０４−ｎからサービスを購入したりするために使用できる鍵およびサービスチケットを有効な参加者に配布する。
【００３９】
ネットワークゲーム環境３００はさらに、１つまたは複数のテクニカルサポートセンタおよび／またはシステム３１０を含むこともできる。テクニカルサポートセンタ３１０は、ゲームシステムのユーザからの質問に答え、発生した問題の診断を行う１つまたは複数のカスタマーサポートエージェントを提供することができる。テクニカルサポートセンタ３１０は、個々のゲームコンソールに関する情報（たとえば、シリアル番号や関連情報）またはゲームコンソールに関する一般的な問題および推奨解決策が収められた１つまたは複数のデータベース３１２にアクセスすることができる。データベース３１２を直接テクニカルサポートサーバーに結合したり、ネットワークに結合されている他のデバイスからアクセスできるようにネットワーク３０２に結合したりすることができる。
【００４０】
ネットワークゲーム環境３００は、個別のゲームシステム１００から利用できる他のメモリソース、つまりオンラインストレージを導入する。ポータブルストレージメディア１０８、ハードディスクドライブ２０８、メモリユニット１４０ａ〜１４０ｈに加えて、ゲームシステム１００−１はオンラインサービス３０４−ｎのリモートストレージ３０８の例に示されているように、ネットワーク３０２を介してリモートストレージロケーションに用意されているデータファイルにアクセスすることもできる。
【００４１】
図４は、（「保存データパーティション」４０２および「コンソールパーティション」４０４と呼ばれる）２つの分離されているパーティションを含むハードディスクドライブ４００の例の図である。以下でさらに詳しく述べるように、各パーティション４０２、４０４は特定の種類のデータを格納し、またたとえばコンソールパーティション内のデータが変更されたり削除されたりしないようにする特定のデータアクセスポリシーを備える。図４に示されているパーティションは一例である。他の実施形態では、ハードディスクドライブはパーティションをいくつでも含むことができる。
【００４２】
保存データパーティション４０２は、たとえば、保存ゲームＡデータ４０６および保存ゲームＢデータ４０８、システム設定データ４１０、システムユーティリティ４１２、およびシステムデータファイル４１４を含む。保存ゲームデータ４０６および４０８は、ハイスコア、すでに保存されているゲーム、およびハードディスクドライブ４００上にダウンロードされたかまたは他の何らかの手段でインストールされている追加ゲームのレベルまたは機能を含むことができる。システム設定データ４１０は、現在の日付、現在の時刻、好ましい言語、ハードディスクドライブ４００がインストールされているゲームシステムと関連するその他の設定を含む。システムユーティリティ４１２は、ゲームシステムのユーザ側でハードディスクドライブ４００に、ダウンロードするかまたは他の何らかの手段でインストールするか、またはコンソールパーティション４０４から保存データパーティション４０２にコピーすることができる。システムデータファイル４１４は、システムユーティリティ４１２または他のシステムユーティリティまたはシステムアプリケーションにより生成することができる。例えば、データが主に保存データパーティション４０２からアクセスされるように、定期的に使用されるシステムデータ４１４をコンソールパーティション４０４から保存データパーティション４０２にコピーすることができる。
【００４３】
コンソールパーティション４０４は、たとえば、コンソールアプリケーション４１６、１つまたは複数のシステムユーティリティ４１８、リセットアプリケーション４２０、および１つまたは複数のシステムデータファイル４２２を含む。コンソールアプリケーション４１６は、他のアプリケーション（ゲーム、音楽アプリケーション、およびムービーアプリケーションなど）に加えてゲームシステムによって実行される。コンソールアプリケーションは、ユーザインタフェースの実施、設定操作の実行、およびさまざまな管理機能の実行など、ゲームシステムを操作するのに必要な各種機能を実行する。システムユーティリティ４１８は、ディスク領域使用度およびメモリ領域使用度の管理など、ゲームシステム内の各種機能を実行する。リセットアプリケーション４２０は、保存データパーティション４０２に格納されているすべての情報およびデータの削除を含む、工場初期設定のセッティングにゲームシステムをリセットする。リセットアプリケーション４２０の操作の詳細について以下で説明する。システムデータファイル４２２は、ゲームシステムの動作時に、コンソールアプリケーション４１６などの１つまたは複数のアプリケーションにより使用される。
【００４４】
図５は、シリアル番号が設定されているゲームシステムに隠しコードを割り当てるプロセス５００の流れ図である。ゲームシステムの製造時に、シリアル番号がゲームコンソールに割り当てられる（ブロック５０２）。通常、それぞれのゲームコンソールに割り当てられるシリアル番号は一意である。隠しコードがゲームコンソールに格納される（ブロック５０４）。この隠しコードは、一般には、ゲームコンソールのユーザからはアクセスできず、ハードディスクドライブのコンソールパーティションまたはその他の不揮発性メモリデバイスなどの不揮発性メモリに格納される。後述のように、隠しコードを使用して、ゲームコンソールのハードディスクドライブを工場初期設定状態にリセットするパスコードを生成する。隠しコードは必ずしも一意ではない。隠しコードは、一般にはゲームコンソールのユーザからはアクセスできず、したがってユーザはまずテクニカルサポートエージェントに連絡しないとゲームコンソールをリセットすることはできない。このコードを隠すことにより、悪意のあるユーザが他のユーザのゲームコンソールをリセットし、多数の保存ゲームやハイスコアなどを削除するのを防止することができる。
【００４５】
ゲームコンソールのシリアル番号および関連する隠しコードは、メーカーにより（ブロック５０６）または他の事業体により保守されるデータベース（またはその他のデータストレージメカニズム）に格納される。たとえば、ゲームコンソールのシリアル番号および関連する隠しコードはデータベース３１２に格納することができる（図３）。たとえば、テクニカルサポートエージェントがこのデータベースにアクセスして特定のゲームコンソールと関連する隠しコードを識別することができる。パスコードアルゴリズムを隠しコードに適用することによりパスコードが生成される（ブロック５０８）。パスコードは、ゲームコンソールに結合されているコントローラに対する一連のボタン押し下げまたはその他の制御入力を表す。パスコードは、ボタン押し下げまたはその他の制御入力をいくつでも含むことができるが、代表的なパスコードは３〜８回のボタン押し下げまたはその他の制御入力のシーケンスを含む。他の実施形態では、パスコードは、ゲームコンソール自体への一連のボタン押し下げまたはその他の制御入力を表すことができる。パスコードの例を以下に示す。
【００４６】
ボタンＢ−左トリガ−上Ｄパッド−ボタンＹ
左サムスティック−ボタンＡ−上サムスティック−下サムスティック
上Ｄパッド−右サムスティック−左トリガ−ボタンＸ−右トリガ
隠しコードをパスコードに変換するのにさまざまな種類のアルゴリズムを使用できる。たとえば、隠しコード内の各文字を特定の制御入力に変換する。
【００４７】
パスコードは、シリアル番号および関連する隠しコードとともにデータベースに格納される（ブロック５１０）。データベースはさらに、特に複数のアルゴリズムを使用してパスコードを生成する場合に、パスコードの生成に使用するアルゴリズムに関する情報を格納することもできる。そうしてから、ゲームシステムは販売店に出荷されるか、または他の何らかの手段によりエンドユーザに配布できるようにされる（ブロック５１２）。
【００４８】
図６は、ハードディスクドライブを工場初期設定状態にリセットするプロセス６００の流れ図である。最初に、ゲームシステムのユーザはゲームシステムに問題が生じた後にテクニカルサポート部門に連絡する（ブロック６０２）。たとえば、デバイスをオンにできない、動作に一貫性がない、不適切な動作である、アプリケーションの実行中に「フリーズ」するなどの問題がある。テクニカルサポートエージェントは、問題に関する情報をゲームシステムのユーザから入手し、問題を診断する（ブロック６０４）。診断された問題の解決方法に、ゲームシステムをリセットする方法が含まれない場合、ゲームシステムのユーザに、さまざまなプロシージャまたは動作を実行するかどうかを尋ねる（ブロック６０８）。
【００４９】
診断された問題の解決策にゲームシステムをリセットする方法が含まれる場合、テクニカルサポートエージェントはユーザのゲームコンソールのシリアル番号を要求する（ブロック６１０）。或いは、テクニカルサポートエージェントがユーザのゲームコンソールのシリアル番号を問題の診断の前に入手することができる。その後、テクニカルサポートエージェントは図５に関して上で述べたデータベースのような、データベースからシリアル番号と関連するパスコードを取り出す（ブロック６１２）。テクニカルサポートエージェントは、次に、ゲームシステムのユーザに対して、コンソールアプリケーションの特定の画面に進み、テクニカルサポートエージェントがユーザに提供したパスコードを入力するよう指示する（ブロック６１４）。そのパスコードを受け入れる特定の画面は、パスコードを入力できることを必ずしも示さない標準的なシステム設定画面（または他の画面）とすることもできる。ブロック６１６で、ゲームシステムは適切なパスコードが入力されたことを確認し、そのパスコードが正しい場合に、ゲームコンソールのハードディスクドライブを工場初期設定状態にリセットする。
【００５０】
図６に示されているように、ブロック６１６は６１８〜６２４のラベルが付けられた４つの別々のブロックを表す。具体的には、プロセス６００はゲームコンソールの不揮発性メモリに格納されている隠しコードを取り出す（ブロック６１８）。次に、プロセスは隠しコードと、図５に関して上で述べたのと同じアルゴリズムを使用してパスコードを計算し、ゲームシステムのユーザが入力した一連のボタンの押し下げまたはその他の制御入力と突き合わせてパスコードを確認する（ブロック６２０）。ユーザが適切なパスコードを入力した場合、ハードディスクドライブの保存データパーティション内のすべてのデータが削除される（ブロック６２２）。ただし、ハードディスクドライブのコンソールパーティション内のデータは削除されない。保存データパーティション内のデータの削除は、ハードディスクドライブのコンソールパーティション内に格納されているリセットアプリケーション４２０を実行することにより行われる。必要ならば、ハードディスクドライブの保存データパーティションから古いデータが削除された後、データファイルおよび／またはシステムユーティリティがコンソールパーティションから保存データパーティションにコピーされる（ブロック６２４）。この時点で、ゲームコンソールを再起動することができ、ゲームコンソールは工場出荷時のゲームコンソールと同様に機能する。
【００５１】
本発明は構造的機能および／または方法論的ステップに固有の用語で説明されているが、特許請求の範囲で定義される発明は、説明した特定の機能またはステップに必ずしも限られないことは理解されるであろう。むしろ、特定の機能および動作は特許請求の範囲の発明を実施する実施形態として開示されている。
【符号の説明】
【００５２】
１００  ゲームシステム例
１０２  ゲームコンソール
１０４ａ、１０４ｂ  コントローラ
１０６  ポータブルメディアドライブ
１０８  光記憶ディスク
１１０  スロット
１１２  電源ボタン
１１４  イジェクトボタン
１２０  Ａ／Ｖインタフェースケーブル
１２４  モデムコネクタ
１３０ａ、１３０ｂ  シリアルケーブル
１３２ａ、１３２ｂ、１３２ｃ  サムスティック
１３４  Ｄパッド
１３６  ボタン
１３８  トリガ
１４０  メモリユニット
２００  ＣＰＵ
２０２  メモリコントローラ
２０４  フラッシュＲＯＭ
２０６  ＲＡＭ
２０８  ハードディスクドライブ
２１０  レベル１キャッシュ
２１２  レベル２キャッシュ
２１４  共通モジュール
２１６  ＡＴＡバス
２２０  ３Ｄグラフィックス処理ユニット
２２２  ビデオエンコーダ
２２４  オーディオ処理ユニット
２２６  オーディオＣＯＤＥＣ
２３０  ＵＳＢホストコントローラ
２４０ａ、２４０ｂ  デュアルコントローラサポートサブアセンブリ
２４２  フロントパネルのＩ／０サブアセンブリ
２４４  ケーブルアセンブリ
２６０  リセットアプリケーション
２６２  ＵＩアプリケーション
３００  ネットワークゲーム環境例
３０２  ネットワーク
３０４−１〜３０４−ｎ  オンラインサービス
３０６  配布センタ
３０８  リモートストレージ
３１０  テクニカルサポート
３１２  データベース
４００  ハードディスクドライブ
４０２  保存データパーティション
４０４  コンソールパーティション
４０６  保存ゲームＡデータ
４０８  保存ゲームＢデータ
４１０  システム設定データ
４１２  システムユーティリティ
４１４  システムデータファイル
４１６  コンソールアプリケーション
４１８  システムユーティリティ
４２０  リセットアプリケーション
４２２  システムデータファイル
５００  隠しコードを割り当てるプロセス
６００  工場初期設定状態にリセットするプロセス
【図１】
0004908531.tif 000002
【図２】
0004908531.tif 000003
【図３】
0004908531.tif 000004
【図４】
0004908531.tif 000005
【図５】
0004908531.tif 000006
【図６】
0004908531.tif 000007