JP2004008799A - コンソールベースのゲームシステム及びコンソールベースのゲームシステムを操作する方法 - Google Patents
コンソールベースのゲームシステム及びコンソールベースのゲームシステムを操作する方法 Download PDFInfo
- Publication number
- JP2004008799A JP2004008799A JP2003161337A JP2003161337A JP2004008799A JP 2004008799 A JP2004008799 A JP 2004008799A JP 2003161337 A JP2003161337 A JP 2003161337A JP 2003161337 A JP2003161337 A JP 2003161337A JP 2004008799 A JP2004008799 A JP 2004008799A
- Authority
- JP
- Japan
- Prior art keywords
- console
- code
- dvd playback
- game
- dvd
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims description 43
- 230000002093 peripheral effect Effects 0.000 claims abstract description 32
- 230000015654 memory Effects 0.000 claims description 59
- 230000006870 function Effects 0.000 claims description 19
- 230000003287 optical effect Effects 0.000 claims description 14
- 238000012546 transfer Methods 0.000 claims description 12
- 230000004044 response Effects 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 abstract description 3
- 230000008569 process Effects 0.000 description 22
- 238000012545 processing Methods 0.000 description 13
- 230000007246 mechanism Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 230000006872 improvement Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000000429 assembly Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
- A63F13/355—Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an encoded video stream for transmitting to a mobile phone or a thin client
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/23—Input arrangements for video game devices for interfacing with the game device, e.g. specific interfaces between game controller and console
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/24—Constructional details thereof, e.g. game controllers with detachable joystick handles
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/45—Controlling the progress of the video game
- A63F13/48—Starting a game, e.g. activating a game device or waiting for other players to join a multiplayer session
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/70—Game security or game management aspects
- A63F13/71—Game security or game management aspects using secure communication between game devices and game servers, e.g. by encrypting game data or authenticating players
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/70—Game security or game management aspects
- A63F13/73—Authorising game programs or game devices, e.g. checking authenticity
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/90—Constructional details or arrangements of video game devices not provided for in groups A63F13/20 or A63F13/25, e.g. housing, wiring, connections or cabinets
- A63F13/95—Storage media specially adapted for storing game information, e.g. video game cartridges
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/10—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
- A63F2300/1025—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals details of the interface with the game device, e.g. USB version detection
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/10—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
- A63F2300/1043—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals being characterized by constructional details
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/20—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform
- A63F2300/201—Playing authorisation given at platform level
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/20—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform
- A63F2300/202—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform the game platform being a DVD player
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/20—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform
- A63F2300/206—Game information storage, e.g. cartridges, CD ROM's, DVD's, smart cards
- A63F2300/207—Game information storage, e.g. cartridges, CD ROM's, DVD's, smart cards for accessing game resources from local storage, e.g. streaming content from DVD
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/20—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform
- A63F2300/209—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform characterized by low level software layer, relating to hardware management, e.g. Operating System, Application Programming Interface
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/40—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
- A63F2300/401—Secure communication, e.g. using encryption or authentication
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/50—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
- A63F2300/53—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
- A63F2300/532—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing using secure communication, e.g. by encryption, authentication
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/50—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
- A63F2300/55—Details of game data or player data management
- A63F2300/552—Details of game data or player data management for downloading to client devices, e.g. using OS version, hardware or software profile of the client device
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/6063—Methods for processing data by generating or executing the game program for sound processing
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/66—Methods for processing data by generating or executing the game program for rendering three dimensional images
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Security & Cryptography (AREA)
- Human Computer Interaction (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Software Systems (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Slot Machines And Peripheral Devices (AREA)
Abstract
【課題】周辺装置からコンソールベースのゲームシステムへの機能拡張コードのダウンロードを可能にするソフトウェアを実行する。
【解決手段】周辺装置のドングル150は、ゲームシステムにおけるDVD映画の再生を容易にするためにゲームコンソール102に装着することができる。ドングル150にはDVD再生コードが記憶されている。ゲームコンソール102は、ドングル150からゲームコンソール102へのコード転送を容易にするコードサーバ270のソフトウェアを実行する。このソフトウェアは高レベルのバスプロトコルを利用して、ユニバーサルシリアルバス(USB)のUSB線704を通じた転送をサポートし、このプロトコルに対する呼び出しを可能にするアプリケーションプログラムインタフェースを公開する。
【選択図】 図7
【解決手段】周辺装置のドングル150は、ゲームシステムにおけるDVD映画の再生を容易にするためにゲームコンソール102に装着することができる。ドングル150にはDVD再生コードが記憶されている。ゲームコンソール102は、ドングル150からゲームコンソール102へのコード転送を容易にするコードサーバ270のソフトウェアを実行する。このソフトウェアは高レベルのバスプロトコルを利用して、ユニバーサルシリアルバス(USB)のUSB線704を通じた転送をサポートし、このプロトコルに対する呼び出しを可能にするアプリケーションプログラムインタフェースを公開する。
【選択図】 図7
Description
【0001】
【発明の属する技術分野】
本発明は、コンソールベースのゲームシステム及びコンソールベースのゲームシステムを操作する方法に関する。より詳細には、周辺装置からコンソールベースのゲームシステムへの機能拡張コードのダウンロードを可能にするソフトウェアを実行するコンソールベースのゲームシステム、ゲームコンソール、記録媒体、プロトコル、アプリケーションプログラムインタフェース及びコンソールベースのゲームシステムを操作する方法に関する。
【0002】
【従来の技術】
コンソールベースのゲームシステム向けのビデオゲームは光ディスクで配布される。ゲームコンソールは、そのようなビデオゲームディスクを再生する光ディスクドライブを備える。いくらかの改良により、ゲームシステムは、オーディオCD(コンパクトディスク)や映画DVD(デジタルビデオディスク)の映画などゲーム以外の他形態のコンテンツを含む光ディスクを読み取るように構成することができる。以下の開示は、コンソールベースのゲームシステムでDVD映画の再生を実施する一方式を扱う。
【0003】
尚、出願人が知っている先行技術として、記載すべき先行技術文献情報は特に見あたらない。
【0004】
【発明が解決しようとする課題】
上述の従来のシステムには未だ改善の余地があり、さらなる改善が望まれている。
【0005】
本発明は、このような状況に鑑みてなされたもので、その目的とするところは、周辺装置からコンソールベースのゲームシステムへの機能拡張コードのダウンロードを可能にするソフトウェアを実行するコンソールベースのゲームシステム及びコンソールベースのゲームシステムを操作する方法を提供することにある。
【0006】
【課題を解決するための手段】
周辺装置のドングルは、ゲームシステムによるDVD映画の再生を容易にするためにコンソールベースのゲームシステムに装着することができる。ドングルにはDVDの再生コードが記憶されている。ゲームシステムは、ドングルからゲームシステムへのコードの転送を容易にするソフトウェアを実行する。このソフトウェアは、高レベルのバスプロトコルを利用してユニバーサルシリアルバス(USB)を通じた転送をサポートし、プロトコルへの呼び出しを可能にするアプリケーションプログラムインタフェースを公開する。
【0007】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態を詳細に説明する。
【0008】
以下の説明は一般に、機器への追加が可能な周辺装置を介して利用可能になるアップグレード機能により家庭用電化製品をアップグレードするためのフレキシブルな技術に関する。周辺装置はコードを記憶し、家庭用電化製品に接続されるとそのコードを家庭用電化製品にダウンロードして機能を追加する。そして追加された機能は家庭用電化製品によって利用することができる。説明のために、この技術は、コンソールベースのゲームシステムの周辺装置のドングルとの関連で説明する。
【0009】
ゲームシステム
図1に例示的なゲームシステム100を示す。システム100は、ゲームコンソール102、及びコントローラ104a及び104bによって表す1つまたは複数のコントローラを含む。ゲームコンソール102は、内部ハードディスクドライブ及びポータブルメディアドライブ106を備える。ポータブルメディアドライブ106は、光記憶ディスク108によって代表されるような各種形態の携帯型記憶媒体をサポートする。適切な携帯型記憶媒体の例には、DVD、CD−ROM(read only memory)、ゲームディスク、ゲームカートリッジなどがある。
【0010】
ゲームコンソール102は、その前面に最高で4つのコントローラをサポートする4つのスロット110a〜110dを有するが、スロットの数と配置は変更してもよい。電源ボタン112と取り出しボタン114もゲームコンソール102の前面に配置される。電源ボタン112はゲームコンソールへの電力をON/OFFし、取り出しボタン114は、ポータブルメディアポータブルメディアドライブ106のトレーを交互に開閉して記憶ディスク108の挿入と抜き取りを可能にする。
【0011】
ゲームコンソール102は、A/V(audio/visual)インタフェースケーブル120を介してテレビジョンまたはその他のディスプレイ(図示せず)に接続する。電源ケーブル122はゲームコンソールに電力を供給する。ゲームコンソール102はさらに、ケーブルまたはモデムコネクタ124によって表すように、内部あるいは外部から追加されるネットワーク機能を備えており、構内ネットワーク(LAN)やインターネットなどのネットワークへのアクセスを容易にすることができる。
【0012】
各コントローラ104は、有線インタフェースまたは無線インタフェースを介してゲームコンソール102に結合される。図の実装ではコントローラはUSB(ユニバーサルシリアルバス)互換であり、シリアルケーブル130a、130bを介してコンソール102に接続される。コントローラ104a、104bは、各種のユーザ対話機構のうち任意の機構を備えることができる。図1に示すように、各コントローラ104a、104bは、サムスティック132a、132b及び132c、Dパッド134、ボタン136、及び2つのトリガ138を備える。これらの機構は代表的なものに過ぎず、図1の機構を他の周知のゲーム機構に代えるか、あるいは他のゲーム機構を追加してよい。
【0013】
メモリユニット(MU)140は、携帯可能な追加的ストレージを提供するためにコントローラ104a、104bに挿入することができる。携帯型メモリユニットは、ユーザがゲームパラメータを格納し、それを他のコンソールで再生するために移送することを可能にする。ここに記載する実装では2つのメモリユニット140を収容するように各コントローラを構成するが、他の実装では3つ以上または1つ以下のユニットを用いてもよい。
【0014】
ドングル150は、DVD映画の再生機能を可能にするために提供される。ドングル150は、ドングルをスロット110a〜110dの1つに挿入することを可能にする互換コネクタを有する。したがってドングルコネクタは、形状がゲームコントローラ104a、104bのコネクタに似ている。ドングル150は、DVDビデオ映画のプログラムの復号と再生を可能にするDVD再生コードを記憶している。ドングル150をコンソールに接続すると、ドングルに常駐するDVD再生コードがコンソールにダウンロードされて映画再生機能を可能にする。ドングル150は、無線リンク154を通じてリモコン(遠隔制御装置)152からコマンドを受信するIR(infrared)レシーバも備える。
【0015】
したがってドングルは3つの別個の機能を行うことができる。ドングルは、ゲームコンソールにダウンロードされるとゲームシステムによるDVD映画の再生を容易にするDVD再生コードを記憶している。ドングルは、リモコンから一般的なDVDコマンドを受信するIRレシーバ/復号器もサポートする。第3に、ゲームコンソールは信頼できるドングルが挿入されたことを確認してからDVDの再生を許可することから、ドングルは再生イネーブラ(enabler)として機能する。
【0016】
DVD再生コードを記憶するものとしてドングルを説明しているが、ドングルは他のゲームコンソール機能を可能にするコードの記憶にも使用することができる。例えば、ドングルは、リモコン152またはその他のIRによって使用可能になるリモートデバイスが、ドングルがなければその他の方法では利用することができないゲームコンソールの追加機能を利用できるようにする、IRレシーバとして使用することができる。
【0017】
したがってゲームシステム100はゲーム及び音楽の再生を行うことができ、ドングル150を装着するとDVDビデオ映画を再生することができる。各種ストレージの提供により、ハードディスクドライブまたはドライブ106中のポータブルメディアポータブルメディア108から、オンラインソースから、あるいはメモリユニット140からタイトルを再生することができる。ゲームシステム100での再生が可能なものの例には次がある。
【0018】
1.CD及びDVDディスク、ハードディスクドライブ、あるいはオンラインソースから再生されるゲームタイトル。
【0019】
2.ポータブルメディアポータブルメディアドライブ106中のCD、ハードディスクドライブの圧縮ファイル(例えばWindows(登録商標)Media Audio(WMA)形式)、あるいはオンラインのストリーミングソースから再生されるデジタル音楽。
【0020】
3.ポータブルメディアドライブ106のDVDディスク、ハードディスクドライブのファイル(例えばWindows(登録商標)Media Video(WMV)形式)、あるいはオンラインのストリーミングソースから再生される映画。
【0021】
図2に、ゲームシステム100の機能構成要素をより詳細に示す。ゲームコンソール102は、中央演算処理装置(CPU)200と、フラッシュROM(読み取り専用メモリ)204、RAM(ランダムアクセスメモリ)206、ハードディスクドライブ208、及びポータブルメディアドライブ106を含む各種のメモリへのプロセッサのアクセスを容易にするメモリコントローラ202とを有する。CPU200は、一時的にデータを記憶することによりメモリアクセスサイクルの回数を減らし、それにより処理速度とスループットを向上するレベル1キャッシュ210及びレベル2キャッシュ212を備える。
【0022】
CPU200、メモリコントローラ202、及び各種のメモリ装置は、各種のバスアーキテクチャのうち任意のものを使用したシリアルバス及びパラレルバス、メモリバス、ペリフェラルバス、及びプロセッサバスまたはローカルバスを含む1つまたは複数のバスを介して相互に接続される。そのようなアーキテクチャの例には、ISA(Industry Standard Architecture)バス、MCA(Micro Channel Architecture)バス、EISA(Enhanced ISA)バス、VESA(VideoElectronics Standards Association)ローカルバス、PCI(Peripheral Component Interconnect)バス、及びLDT(Lightning Data Transport)バスが含まれる。
【0023】
適切な一実装として、CPU200、メモリコントローラ202、ROM204、及びRAM206を一体化して共通モジュール214とする。この実装では、ROM204は、PCI(Peripheral Component Interconnect)バス及びROMバス(いずれも図示せず)を介してメモリコントローラ202に接続されるフラッシュROMとして構成される。RAM206は、個別のバス(図示せず)を介しメモリコントローラ202によって個別に制御される複数のDDR SDRAM(Double Data RateSynchronous Dynamic RAM)モジュールとして構成される。ハードディスクドライブ208及びポータブルメディアドライブ106は、PCIバス及びATA(AT Attachment)バス216を介してメモリコントローラに接続される。
【0024】
3Dグラフィックス処理装置220及びビデオエンコーダ222は、高速、高解像度のグラフィックス処理を行うためのビデオ処理パイプラインを形成する。データは、グラフィックス処理装置220からデジタルビデオバス(図示せず)を介してビデオエンコーダ222に搬送される。オーディオ処理装置224及びオーディオコーデック(コーダ/デコーダ)226は、それに対応する高忠実度、及びステレオの処理を行うオーディオ処理パイプラインを形成する。オーディオデータは、通信リンク(図示せず)を介してオーディオ処理装置224とオーディオコーデック226間を搬送される。ビデオ及びオーディオの処理パイプラインは、テレビジョンまたは他のディスプレイへの伝送のためにA/V(オーディオ/ビデオ)ポート228にデータを出力する。図の実装では、ビデオ及びオーディオの処理コンポーネント220〜228はモジュール214に取り付けられる。
【0025】
モジュール214には、USBホストコントローラ230及びネットワークインタフェース232も実装される。USBホストコントローラ230はバス(例えばPCIバス)を介してCPU200及びメモリコントローラ202に結合され、周辺コントローラ104a〜104c及びドングル150のホストとして機能する。ネットワークインタフェース232はネットワーク(例えばLAN、インターネットなど)へのアクセスを提供し、イーサネット(登録商標)カード、モデム、Bluetooth(登録商標)モジュール、ケーブルモデムなどを含む各種の有線または無線インタフェースコンポーネントのいずれでもよい。
【0026】
ゲームコンソール102は、2つのデュアルコントローラサポートサブアセンブリ240a及び240bを有し、各サブアセンブリは、最高2つのゲームコントローラ及び/またはDVDを使用可能にするドングルをサポートする。この図では、2つのゲームコントローラ104a及び104bが第1のコントローラサポートサブアセンブリ240aに接続され、第3のゲームコントローラ104c及びドングル150が第2のサブアセンブリ240bに接続されている。フロントパネルI/Oサブアセンブリ242は、電源ボタン112及び取り出しボタン114の機能をサポートし、またゲームコンソールの外側表面に露出する任意のLED(発光ダイオード)や他の表示器をサポートする。サブアセンブリ240a、240b、及び242は、1つまたは複数のケーブルアセンブリ244を介してモジュール214に結合される。
【0027】
図では、6つのメモリユニット140a〜140fを3つのコントローラ104a〜104cに接続することができ、すなわち各コントローラに2つのメモリユニットを接続することができる。各メモリユニット140a〜140fは、ゲーム、ゲームパラメータ、及びその他のデータを記憶できる追加ストレージを提供する。コントローラに挿入されると、メモリユニット140a〜140fはメモリコントローラ202からアクセスすることができる。
【0028】
システム電源モジュール250は、ゲームシステム100の構成要素に電力を提供する。ファン252はゲームコンソール102内の回路を冷却する。
【0029】
ゲームコンソール102は、暗号化、解読、認証、デジタル署名、ハッシングなど一般的な暗号機能を行う暗号エンジンを実装する。暗号エンジンはCPU200の一部として、あるいはメモリ(例えばROM204、ハードディスクドライブ208)に格納された、CPUで実行されるソフトウェアに実装して、暗号機能を行うようにCPUを構成することができる。
【0030】
コンソールユーザインタフェース(UI)アプリケーション260はハードディスクドライブ208に記憶される。ゲームコンソールに電源を入れると、コンソールUIアプリケーション260の各種部分がRAM206及び/またはキャッシュ210、212にロードされ、CPU200で実行される。コンソールUIアプリケーション260は、ゲームコンソールで利用可能な別の媒体タイプに対してナビゲートする際に一貫性のあるユーザ体験を提供するグラフィカルユーザインタフェースを提示する。
【0031】
ドングル150からゲームコンソール102へのDVD再生コードのダウンロードを容易にするために、コードサーバ270のソフトウェア及びローダ272のソフトウェアも提供される。図ではこれらのソフトウェアをハードディスクドライブ208に記憶しているが、ROM204など他のメモリに記憶してもよい。一実装では、コードサーバ270は、ドングル150に記憶されたDVD再生コードを取り出し、ロードするために呼び出すことのできるアプリケーションプログラムインタフェース(API)のセットを公開するソフトウェアドライバとして実施される。再生コードは事前に暗号化した形式で記憶することができるので、ローダ272は、コードサーバ270のドライバと通信してDVD再生コードを直接RAM206やハードディスクドライブ208などのメモリ中に解読する。コードサーバ及びローダのソフトウェア、及び例示的なAPIのセットについては以下でより詳細に説明する。
【0032】
例示的ドングル
図3〜5に、ドングル150の例示的な一実装を示す。ドングル150は、本体302、及び本体302から延在するコネクタ部材304を有する。ここに記載する実装では、コネクタ部材304は、ゲームコンソール面の4つのスロット110a〜110d(図1参照)のいずれか1つに挿入するように構成されたUSB互換コネクタである。1つのコネクタ形状を図示しているが、設計の選択とゲームコンソールのスロット形態に応じて他の形状が可能である。
【0033】
視聴者は、リモコン152(図1)を使用してゲームシステムにおけるDVD動作を制御する。コマンドは赤外線信号としてドングル150に伝送される。IRレンズ306が本体302の中に取り付けられているが、リモコン152のハンドセットから赤外線信号を受信するために本体302の外側に露出している。IRレンズ306は本体のコネクタ部材304の反対側に取り付けられており、コネクタ部材304をスロット110a〜110dに挿入するとIRレンズ306が外向きになり、リモコン152からのIR信号を捕捉する。
【0034】
図6は、ドングル150内に収納される構成要素の例示的な一構成を示す。一実装では、これら構成要素は、ドングル本体302のプラスチック製の筐体(encasing)に収納され保護される内部PCB(プリント回路基板)アセンブリに組み込まれる。IRレシーバ602がIRレンズ306に結合されており赤外線信号を受信し、それをリモコンコードに復号する。可能な一実装として、ドングル150が大半の汎用的なリモコンと互換性を持つように、IRレシーバ602(デコーダ)は標準的なRCA(Radio Corporation of America)DVDリモコンコードをサポートすることができる。
【0035】
マイクロコントローラユニット604はIRレシーバ602に結合されて、視聴者によって入力された制御コードを受信し、制御コードで動作する。マイクロコントローラ604はUSBインタフェース606に結合され、これによりドングル150をゲームコンソールに差し込んだ際のコネクタ304を通じたデータの入出力が容易になる。また、ドングル150をゲームコンソールに挿入し、電源を入れると、電力がゲームコンソールからUSBインタフェース606を介してドングルに伝搬される。
【0036】
ドングル150はさらに、DVDから映画及びその他のコンテンツの再生を容易にするDVD再生コード610を記憶する読み取り専用メモリ(ROM)608を含む。ROM608は、(図示されるような)マスクROM、フラッシュROM、あるいはその他のタイプのROMとして実装することができる。再生コード610は、複数のアクセス可能なページからなる事前に暗号化されたROMイメージとして記憶される。各ページは所定のサイズ(例えば1キロバイト)である。ROM608はバス612を介してマイクロコントローラ604に結合される。バス612は複数のデータ線(例えば8本のデータ線)と複数のアドレス線(例えば20本のアドレス線)を有する。マイクロコントローラ604はバス612のアドレス線を使用して個々のページを指定することができ、取り出されたコードはバスのデータ線を通じて渡される。
【0037】
マイクロコントローラ604は、USBインタフェース606を通じて、ROM608からゲームコンソール102へのDVD再生コード610のダウンロードを容易にする、ファームウェア614を実行する。パワーアップリセット616は、アクティブなゲームコンソールに最初にドングルを差し込むたび、またはゲームコンソールに電源を入れるたびに実行される。パワーアップリセット616は、マイクロコントローラ604をリセットしてファームウェア614の実行を開始させる。
【0038】
コード610をROM608に保持することにより、ドングル150はゲームシステムにおけるDVD再生を可能にするすべてのソフトウェア機能を効果的に記憶する。コンソールUIアプリケーション260がDVD映画媒体を検出すると、コンソールUIアプリケーション260は映画再生プロセスを開始する。ドングル150が存在する場合、コンソールUIアプリケーション260はDVD再生コード610をゲームコンソールのRAM206にダウンロードし、ユーザ対話なしにRAM206にコードをインストールする。コンソールUIアプリケーション260はDVDプレーヤとして動作し、リモコンのハンドセットから標準的なユーザコマンド(例えば再生、一時停止、早送り、巻き戻し、スキップなど)を受信する。ドングル150がない場合はDVD再生コード610のダウンロードを行うことができず、コンソールUIアプリケーション260は、DVD映画を再生するにはドングル150が必要であることを知らせるメッセージを表示する。
【0039】
ドングル150は、再生イネーブラとして機能するように構成することもできる。視聴者が映画DVDをトレーに入れると、ゲームコンソールは認証可能なドングル150がポート110a〜110dに挿入されているかどうかをまず確認する。このモードでは、ゲームコンソールはDVD再生コード610の記憶されたコピーをすでに持っているはずである。DVD再生コード610の任意の小セクションをダウンロードし、すでにゲームコンソールのハードディスクドライブ208にあるコピーと比較する。ドングルがインストールされていない場合、あるいはドングル150として認証することができない機器がインストールされた場合、DVD映画の再生機能は阻止され、視聴者は使用することができない。ドングル150をコードのダウンロードに使用するか、あるいは単にDVDビデオ機能を使用可能にするために使用するか否かに関係なく、ドングル150が除去されるとコンソールUIアプリケーション260はDVDビデオ機能を使用不可にする。
【0040】
コードサーバ及びローダ
ゲームコンソール102で実装されるコードサーバとローダのソフトウェアは、ドングル150からゲームコンソールへのDVD再生コード610のダウンロードを容易にする。一般に、コードサーバ270は、ドングルからUSB接続を通じて再生コード610を入手する役割を担う。コードサーバは、コードを要求し、USB線を通じてそのコードを移動するために高レベルのバスプロトコルを使用する。ローダは、事前に暗号化されたDVD再生コード610をメモリ中に解読する役割を担う。ローダは、DLL(ダイナミックリンクライブラリ)ローダと同様に依存関係も解決する。
【0041】
図7は、ドングル150をゲームコンソール102のスロットに差し込んだ際のコードサーバ270及びローダ272の特定の一実装を表す。コードサーバ270は、従来のOHCI/USBプロトコルの上に高レベルのバスプロトコルを実行する。このため図ではコードサーバがオープンホストコントローラインタフェース(OHCI)702に結合されており、インタフェース702はUSB線704に接続されている。
【0042】
ドングル150を挿入すると、コネクタ部材304がUSB線704に接続する。コーダサーバ270は、同期または非同期の転送技術を使用してROM608からDVD再生コード610を入手し、そのコードをローダ272に提供する。ローダ272はコードを受け取るとコードを解読し、コードをコンソールのメモリに記憶する。一実装では、DVD映画の再生を容易にするためにDVD再生コードを一時的にRAM206に記憶する。ゲームシステムの電源が「オフ」になるとコードは失われる。代替の実装ではハードディスクドライブ208にコードを記憶してもよい。両方の実装について以下でより詳細に説明する。
【0043】
コードサーバ270によってサポートされる高レベルのバスプロトコルは2つのコマンドに基づく。
・XDCS_REQUEST_GET_ROM_FILE_INFO
・XDCS_REQUEST_GET_ROM_FILE_BLOCK
どちらのリクエストもコントロールリクエストである。XDCS_REQUEST_GET_ROM_FILE_INFOコマンドでは、コードイメージのコードバージョンとサイズを取り出すことができる。このコマンドに応答して、ドングルファームウェア614はROM608に格納されたROMイメージの開始部分からバージョンと長さを読み出す。
【0044】
XDCS_REQUEST_GET_ROM_FILE_BLOCKコマンドは、ROM608に格納されたROMイメージ内のあらかじめサイズが決まった任意のコードブロックへのアクセスを可能にする。例えば1キロバイトのページに構築されたイメージの場合は、このコマンドでコードの1キロバイトのページ個々へのアクセスが可能になる。このコマンドに応答してドングルファームウェア614はブロックインデックスをシフトしてデータオフセットを得、要求された長さのバイトがそのオフセットからリターンされる。
【0045】
この2つのプロトコルコマンドに対するSETUPパケットの例示的レイアウトの1つは以下である。
【0046】
この2コマンドプロトコルは非常に効率的であり、きわめて高速である。OHCI USBシステムと最適化したUSBスタックを用いると、このプロトコルは、毎秒約1メガバイトの速度によるデータ転送を容易にする。1キロバイトのブロックサイズでは、8バイトのSETUPパケットとステータスパケットは微々たるものである。
【0047】
コードサーバ270は、コンテンツ全体をダウンロードするのに使用できるステートレス(stateless)の取り出し機構を提供するか、またはコンテンツの無作為抽出検査を行うために個々の部分を取り出すことができる。このプロトコルは、オープンホストコントローラ標準を使用するハードウェアプラットフォームで読み取り専用ストレージにランダムアクセスするために使用することができる。
【0048】
コードサーバ270は、ドングルからコードイメージを得るためのステートレスAPIも公開する。このAPIはROMのサイズ及びバージョンへのアクセスを提供し、DVD再生コード610のいずれかまたはすべてを同期または非同期にバッファに引き渡すことを容易にする。同期モードでは呼び出し元はコード610の選択されたバイトを要求し、そのバイトが到着するのを待つ。このモードでは、要求したコードがダウンロードされるまで、あるいはエラーが発生するまで動作がブロックされる。非同期モードでは、ハードウェアが稀に生じる割り込みへの対処を行う。主要なソフトウェアのスレッドの動作は、ダウンロードの完了を待つ間に他のタスクの実行を継続することができる。
【0049】
コードサーバAPIの一実装は、3つのインタフェースを定義する。「XDCSGetInformation」と命名する第1のインタフェースは、DVD再生コード610のサイズ及びバージョンを得るために呼び出される。「XDCSDwonloadCode」と命名する第2のインタフェースは、同期モードを使用してドングル150からコードをダウンロードするために呼び出される。「XDCSDownloadCodeAsync」と命名する第3のインタフェースは、非同期モードを使用してドングル150からコードをダウンロードするために呼び出される。
【0050】
【0051】
ルーチンの説明:
XDCSデバイス(例えばドングル150)上のコードのサイズとバージョンをポートdwPortに得る
引数:
[IN] dwPorts −所望デバイスのポート
[OUT] pdwDeviceInstance − XDCSDonwloadCodeまたはXDVSDownloadCodeAsyncを通じてデバイスにアクセスするためのハンドル
[OUT] pDvdCodeInformation −デバイスのコードについての情報
戻り値:
成功した場合−ERROR_SUCCESS
失敗した場合−winerror.hにあるエラー
【0052】
コメント:
ポートではなくハンドルを使用することにより、コードをダウンロードした際に、そのコードとこの関数が情報を戻すコードが同じコードになることを保証する。さもなければ、(可能性は低いが)ユーザがそのデバイスを取り除き、XDCSGetInformationの呼び出しからXDCSDownloadCodeまたはXDCSDownloadCodeAsyncの呼び出しまでの間に別のデバイスを挿入する可能性がある。その場合にはpdwDeviceInstanceが無効になり、後者の呼び出しが機能せず、有意味のエラーが発生する。
【0053】
【0054】
ルーチンの説明:
XDCSデバイスからコードをダウンロードする
引数:
[IN] dwDeviceInstance −XDCSGetInformationから得るインスタンス
[OUT] pvBuffer −コードを受け取るバッファを指すポインタ
[IN] ulOffset −ダウンロードを開始するコードイメージの開始部分からのオフセット
[IN] ulLength −読み出すバイト数
[OUT] pulBytesRead −実際に読み出されたバイト数
戻り値:
成功した場合−ERROR_SUCCESS
失敗した場合−winerror.hにあるエラー
コメント:
このメソッドは、要求されたコードがダウンロードされるか、エラーが発生するまでブロックする。
ルーチンの説明:
XDCSデバイスからコードをダウンロードする
引数:
[IN/OUT] pXDCSDownloadRequest−非同期にブロックを要求
戻り値:
成功した場合−ERROR_PENDING
失敗した場合−winerror.hにあるエラー
コメント:
このメソッドを使用して現在のスレッドをブロックすることなくコードを入手する。
【0055】
動作
図8は、ゲームシステム100でDVD再生を開始する始動プロセス800を示す。このプロセスは、図2、6、及び7に示すドングルとゲームコンソールの実装を参照して説明する。プロセス800は、ソフトウェア、ファームウェア、及び/またはハードウェアに実装することができる。ソフトウェア及びファームウェアの場合、プロセス800は、1つまたは複数のプロセッサによる実行が可能なコンピュータ実行可能命令として実装できる動作セットを表す。
【0056】
ブロック802でユーザが光媒体ディスクをゲームコンソールのトレーに入れるか、または視聴者がドングル150をスロット110a〜110dに差し込むとプロセスが開始する。プロセス800が開始すると2つの条件を確認する。ブロック804で、ゲームコンソールは、トレーの媒体ディスクがDVD映画であるかどうかを判定する。媒体ディスクは、オーディオCDやゲームディスクなど他のコンテンツを含む可能性もある。ディスクがDVD映画でない場合(すなわちブロック804の「no」分岐)、プロセスは終了する。
【0057】
ディスクがDVD映画である場合(すなわちブロック804の「yes」分岐)、ゲームコンソールはドングル150が装着されているかどうかを判定する(ブロック806)。ドングル150は、DVD映画の再生を可能にするためにスロット110a〜110dに挿入する必要がある。ドングルがない場合(すなわちブロック806の「no」分岐)、ゲームコンソールは、DVD映画の再生を可能にするためにドングルが必要であることを知らせるエラーメッセージを表示し、ドングルを挿入するようにユーザを促す(ブロック808)。ユーザがドングルを挿入するか、DVD媒体を除去できるように、このメッセージの後に短い遅延時間がある(ブロック810)。この遅延時間に続いて、プロセスはトレーのDVD媒体のテスト(ブロック804)とドングルの有無(ブロック806)のテストを繰り返す。
【0058】
トレーのディスクがDVD映画であり(すなわちブロック804の「yes」分岐)、ドングルがある(すなわちブロック806の「yes」分岐)とすると、ゲームコンソールはダウンロードプロセスを開始する(ブロック812)。ドングル150からゲームコンソール102にDVDを使用可能にする機能をダウンロードするプロセスを実施するには様々な方式がある。手法の1つは、ドングル150がゲームコンソールに差し込まれるたびにDVD再生コード610をダウンロードするものである。別の手法は、ドングル150が最初に挿入されたときにDVD再生コード610をダウンロードして、再生コードのすべてまたは一部をゲームコンソール102の不揮発性メモリに記憶しておくものである。実装の選択には、設計上の考慮事項とコストの一定のトレードオフが関連する。これらのオプションについて以下でより十分に説明する。
【0059】
オプション1:1回ごとのダウンロード
図9は、ドングル150をコンソールスロット110a〜110dに挿入するたびにDVD再生コード610をダウンロードするプロセス900を示す。このプロセスは、図2、6、及び7に示すドングル及びゲームコンソールの実装を参照して説明する。適当な位置で、動作を見出しの下に揃えてどちらの機器がその動作を行うかを表す。プロセス900は、ソフトウェア、ファームウェア、及び/またはハードウェアに実装することができる。
【0060】
ブロック902及び904で、ゲームシステムは、任意に認証プロトコルを実施してゲームコンソールとドングルを相互に対して認証する。ゲームコンソール102とドングル150は、各コンポーネントがもう一方の真正性を検証することを可能にするキーまたは他のデータを交換する。この認証プロトコルは、公開鍵の交換やデジタル署名などの暗号技術に基づけばよい。認証はドングルを接続するたびに行う。認証は任意である。代替法として、セキュリティは、ドングルに記憶されたコードをゲームコンソールにダウンロードした際にそのコードを認証するゲームコンソールの能力だけに基づくこともできる。コードはデジタル的に署名され、次いで公開鍵−秘密鍵の対の秘密の部分により暗号化される。コードがダウンロードされると、ゲームコンソールは、コードを解読し署名を検証することによりそのコードが信頼できるドングルに属するという有効性を認証する。
【0061】
ブロック906で、ゲームコンソールは、ドングル150のROM608に記憶されたDVD再生コード610の長さ/バージョン情報を得る。これは、コードサーバ270によって公開されるXDCSGetInformationメソッドを呼び出すことによって行うことができ、メソッドはこの呼び出しに応答してコードイメージのコードバージョンとサイズを得るREQUEST_GET_ROM_FILE_INFOコマンドを発行する。ブロック908で、ドングルのファームウェア614は、ROM608に記憶されたROMイメージのバージョン及び長さを開始部分から読み出す。ドングルはこれらのパラメータをゲームコンソール102に渡す(ブロック910)。
【0062】
ブロック912で、ゲームコンソール102は、DVD再生コード610の1つまたは複数の指定のブロックを要求する。ゲームコンソールは、コードのすべてまたは部分を要求することができる。この要求は、同期のダウンロードが好ましいか非同期のダウンロードが好ましいかに応じて、XDCSDownloadCodeメソッドまたはXDCSDownloadCodeAsyncメソッドの1つを呼び出すことによって行うことができる。この呼び出しに応答して、コードサーバ270は、XDCS_REQUEST_GET_ROM_FILE_BLOCKコマンドを発行して、ROM608に記憶されたROMイメージ中の事前にサイズが決められた任意のコードブロックにアクセスする。ブロック914及び916で、ドングルのファームウェア614は指定のブロックを取り出し、そのブロックをゲームコンソールに戻す。
【0063】
ブロック918で、ローダ272は、ゲームコンソールでブロックを受け取るとそのブロックを解読する。ローダ272はさらにコードにデジタル署名があればそれを検証して、そのコードが信頼できることを確認することができる。解読したブロックは揮発性RAM206に記憶する(ブロック920)。ブロック922で、ゲームコンソールは、要求されるブロックすべてがドングルからダウンロードされたかどうかを判定する。ダウンロードされていない場合(すなわちブロック922の「no」分岐)、ゲームコンソールは1つまたは複数のブロックをさらに要求する。
【0064】
すべてのブロックがダウンロードされている場合(すなわちブロック922の「yes」分岐)、ゲームコンソールはRAM206に記憶されたDVD再生コードを実行する。実行時に、ゲームコンソールは、それがDVDプレーヤであるかのように視聴者がゲームコンソールの動作を制御することを可能にする映画再生ユーザインタフェース(UI)を提示する。
【0065】
オプション2:1回ダウンロードして記憶する
図10は、最初にドングル150をコンソールスロット110a〜110dに挿入した際にDVD再生コード610をダウンロードし、そのコードをゲームコンソールの不揮発性メモリに記憶するプロセス1000を示す。適当な位置で、見出しの下に動作を揃えてどちらの機器がその動作を行うのかを表す。プロセス1000は、ソフトウェア、ファームウェア、及び/またはハードウェアに実装することができる。
【0066】
ブロック1002及び1004で、ゲームシステムは任意に認証プロトコルを実施して、ゲームコンソールとドングルを相互に対して認証する。ブロック1006で、ゲームコンソールは、ドングル150がゲームコンソールに挿入されるのが初めてであるかどうかを判定する。初めてである場合(すなわちブロック1006の「yes」分岐)、ゲームコンソールは、ドングル150からDVD再生コード610をダウンロードする(ブロック1008及び1010)。このダウンロードは、上記で図9のブロック906〜916として説明したように、API及び2コマンドのプロトコルを使用して行うことができる。
【0067】
コードを受け取ると、ローダ272はコードを解読し(ブロック1012)、ハードディスクドライブ208の区分された領域など、不揮発性メモリにそのコードを恒久的に記憶する(ブロック1014)。ブロック1016で、ゲームコンソールは、不揮発性メモリに記憶されたDVD再生コードを実行してDVD映画の再生を可能にする。ドングルが除去された場合、コードはゲームコンソールに記憶されたままになる。
【0068】
再度ブロック1006を参照すると、その後ドングルが再度装着され、したがってその装着がもはや初めてではない場合(すなわちブロック1006の「no」分岐)、ゲームコンソールは、無作為に選択されたコードブロックをドングルに要求する(ブロック1018)。ドングルのファームウェアはブロックを取り出し、それをゲームコンソールに戻す(ブロック1020)。ゲームコンソールは、取り出されたブロックと不揮発性メモリに記憶された同じブロックを比較する。2つのブロックが一致する場合(すなわちブロック1024の「yes」分岐)、コードとドングルはベリファイ(verify)する。ゲームコンソールは次いで不揮発性メモリに記憶されたDVD再生コードを実行してDVD映画の再生を可能にする(ブロック1016)。2つのコード部分が一致しない場合(すなわちブロック1024の「no」分岐)、ゲームコンソールはエラーメッセージを提示し、ローカルに記憶されたDVD再生コードのコピーを実行しないことにより再生を阻止する。
【0069】
結論
本発明について構造的特徴及び/または方法論的動作に固有の術語で説明したが、特許請求の範囲に定義する本発明は必ずしもここに記載する特定の特徴または動作に限定されないことを理解されたい。むしろ特定の特徴及び動作は、特許権を請求する本発明を実施する例示的形態として開示されている。
【0070】
【発明の効果】
以上説明したように本発明によれば、周辺装置からコンソールベースのゲームシステムへの機能拡張コードのダウンロードを可能にするソフトウェアを実行することができる。
【図面の簡単な説明】
【図1】本発明の実施形態のゲームコンソール、1つまたは複数のコントローラ、及びDVDの再生を可能にする装着可能なドングルを備えるゲームシステムの図である。
【図2】本発明の実施形態のゲームシステムのブロック図である。
【図3】本発明の実施形態のドングルの正面図である。
【図4】本発明の実施形態のドングルの側面図である。
【図5】本発明の実施形態のドングルの背面透視図である。
【図6】本発明の実施形態のドングルのブロック図である。
【図7】本発明の実施形態のドングルがゲームコンソールとのインタフェースをとる仕組みを表す図である。
【図8】本発明の実施形態のゲームシステムでDVDの再生を開始する始動プロセスのフローチャートの図である。
【図9】本発明の実施形態のドングルを装着するたびにドングルからゲームコンソールにDVD再生コードをダウンロードするプロセスのフローチャートの図である。
【図10】本発明の実施形態のドングルが最初に装着されたときにドングルからゲームコンソールにDVD再生コードをダウンロードし、その後の装着のたびにコードを検証するプロセスのフローチャートの図である。
【符号の説明】
100 ゲームシステム
102 ゲームコンソール
104a、104b、104c コントローラ
106 ポータブルメディアドライブ
108 光ディスク
110a〜110d スロット
112 電源ボタン
114 取り出しボタン
120 A/Vインタフェースケーブル
122 電源ケーブル
124 ケーブルまたはモデムコネクタ
130a、130b シリアルケーブル
132a、132b サムスティック
134 Dパッド
136 ボタン
138 トリガ
140a〜140f メモリユニット
150 ドングル
152 リモコン
154 無線リンク
200 CPU
202 メモリコントローラ
204 フラッシュROM
206 RAM
208 ハードディスクドライブ
210 レベル1キャッシュ
212 レベル2キャッシュ
214 モジュール
216 バス
220 グラフィックス処理装置
222 ビデオエンコーダ
224 オーディオ処理装置
226 オーディオコーデック
228 A/Vポート
230 USBホストコントローラ
232 ネットワークインタフェース
240a、240b サブアセンブリ
242 フロントパネルI/Oサブアセンブリ
244 ケーブルアセンブリ
250 システム電源モジュール
252 ファン
260 コンソールUIアプリケーション
270 コードサーバソフトウェア
272 ローダソフトウェア
302 本体
304 コネクタ部材
306 IRレンズ
602 IRレシーバ
604 マイクロコントローラユニット
606 USBインタフェース
608 ROM
610 DVD再生コード
612 バス
614 ファームウェア
616 パワーアップリセット
702 OHCI
704 USB線
800 始動プロセス
900 ドングルを挿入するたびにDVD再生コードをダウンロードするプロセス
1000 最初にドングル挿入した際にDVD再生コードをダウンロードし記憶するプロセス
【発明の属する技術分野】
本発明は、コンソールベースのゲームシステム及びコンソールベースのゲームシステムを操作する方法に関する。より詳細には、周辺装置からコンソールベースのゲームシステムへの機能拡張コードのダウンロードを可能にするソフトウェアを実行するコンソールベースのゲームシステム、ゲームコンソール、記録媒体、プロトコル、アプリケーションプログラムインタフェース及びコンソールベースのゲームシステムを操作する方法に関する。
【0002】
【従来の技術】
コンソールベースのゲームシステム向けのビデオゲームは光ディスクで配布される。ゲームコンソールは、そのようなビデオゲームディスクを再生する光ディスクドライブを備える。いくらかの改良により、ゲームシステムは、オーディオCD(コンパクトディスク)や映画DVD(デジタルビデオディスク)の映画などゲーム以外の他形態のコンテンツを含む光ディスクを読み取るように構成することができる。以下の開示は、コンソールベースのゲームシステムでDVD映画の再生を実施する一方式を扱う。
【0003】
尚、出願人が知っている先行技術として、記載すべき先行技術文献情報は特に見あたらない。
【0004】
【発明が解決しようとする課題】
上述の従来のシステムには未だ改善の余地があり、さらなる改善が望まれている。
【0005】
本発明は、このような状況に鑑みてなされたもので、その目的とするところは、周辺装置からコンソールベースのゲームシステムへの機能拡張コードのダウンロードを可能にするソフトウェアを実行するコンソールベースのゲームシステム及びコンソールベースのゲームシステムを操作する方法を提供することにある。
【0006】
【課題を解決するための手段】
周辺装置のドングルは、ゲームシステムによるDVD映画の再生を容易にするためにコンソールベースのゲームシステムに装着することができる。ドングルにはDVDの再生コードが記憶されている。ゲームシステムは、ドングルからゲームシステムへのコードの転送を容易にするソフトウェアを実行する。このソフトウェアは、高レベルのバスプロトコルを利用してユニバーサルシリアルバス(USB)を通じた転送をサポートし、プロトコルへの呼び出しを可能にするアプリケーションプログラムインタフェースを公開する。
【0007】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態を詳細に説明する。
【0008】
以下の説明は一般に、機器への追加が可能な周辺装置を介して利用可能になるアップグレード機能により家庭用電化製品をアップグレードするためのフレキシブルな技術に関する。周辺装置はコードを記憶し、家庭用電化製品に接続されるとそのコードを家庭用電化製品にダウンロードして機能を追加する。そして追加された機能は家庭用電化製品によって利用することができる。説明のために、この技術は、コンソールベースのゲームシステムの周辺装置のドングルとの関連で説明する。
【0009】
ゲームシステム
図1に例示的なゲームシステム100を示す。システム100は、ゲームコンソール102、及びコントローラ104a及び104bによって表す1つまたは複数のコントローラを含む。ゲームコンソール102は、内部ハードディスクドライブ及びポータブルメディアドライブ106を備える。ポータブルメディアドライブ106は、光記憶ディスク108によって代表されるような各種形態の携帯型記憶媒体をサポートする。適切な携帯型記憶媒体の例には、DVD、CD−ROM(read only memory)、ゲームディスク、ゲームカートリッジなどがある。
【0010】
ゲームコンソール102は、その前面に最高で4つのコントローラをサポートする4つのスロット110a〜110dを有するが、スロットの数と配置は変更してもよい。電源ボタン112と取り出しボタン114もゲームコンソール102の前面に配置される。電源ボタン112はゲームコンソールへの電力をON/OFFし、取り出しボタン114は、ポータブルメディアポータブルメディアドライブ106のトレーを交互に開閉して記憶ディスク108の挿入と抜き取りを可能にする。
【0011】
ゲームコンソール102は、A/V(audio/visual)インタフェースケーブル120を介してテレビジョンまたはその他のディスプレイ(図示せず)に接続する。電源ケーブル122はゲームコンソールに電力を供給する。ゲームコンソール102はさらに、ケーブルまたはモデムコネクタ124によって表すように、内部あるいは外部から追加されるネットワーク機能を備えており、構内ネットワーク(LAN)やインターネットなどのネットワークへのアクセスを容易にすることができる。
【0012】
各コントローラ104は、有線インタフェースまたは無線インタフェースを介してゲームコンソール102に結合される。図の実装ではコントローラはUSB(ユニバーサルシリアルバス)互換であり、シリアルケーブル130a、130bを介してコンソール102に接続される。コントローラ104a、104bは、各種のユーザ対話機構のうち任意の機構を備えることができる。図1に示すように、各コントローラ104a、104bは、サムスティック132a、132b及び132c、Dパッド134、ボタン136、及び2つのトリガ138を備える。これらの機構は代表的なものに過ぎず、図1の機構を他の周知のゲーム機構に代えるか、あるいは他のゲーム機構を追加してよい。
【0013】
メモリユニット(MU)140は、携帯可能な追加的ストレージを提供するためにコントローラ104a、104bに挿入することができる。携帯型メモリユニットは、ユーザがゲームパラメータを格納し、それを他のコンソールで再生するために移送することを可能にする。ここに記載する実装では2つのメモリユニット140を収容するように各コントローラを構成するが、他の実装では3つ以上または1つ以下のユニットを用いてもよい。
【0014】
ドングル150は、DVD映画の再生機能を可能にするために提供される。ドングル150は、ドングルをスロット110a〜110dの1つに挿入することを可能にする互換コネクタを有する。したがってドングルコネクタは、形状がゲームコントローラ104a、104bのコネクタに似ている。ドングル150は、DVDビデオ映画のプログラムの復号と再生を可能にするDVD再生コードを記憶している。ドングル150をコンソールに接続すると、ドングルに常駐するDVD再生コードがコンソールにダウンロードされて映画再生機能を可能にする。ドングル150は、無線リンク154を通じてリモコン(遠隔制御装置)152からコマンドを受信するIR(infrared)レシーバも備える。
【0015】
したがってドングルは3つの別個の機能を行うことができる。ドングルは、ゲームコンソールにダウンロードされるとゲームシステムによるDVD映画の再生を容易にするDVD再生コードを記憶している。ドングルは、リモコンから一般的なDVDコマンドを受信するIRレシーバ/復号器もサポートする。第3に、ゲームコンソールは信頼できるドングルが挿入されたことを確認してからDVDの再生を許可することから、ドングルは再生イネーブラ(enabler)として機能する。
【0016】
DVD再生コードを記憶するものとしてドングルを説明しているが、ドングルは他のゲームコンソール機能を可能にするコードの記憶にも使用することができる。例えば、ドングルは、リモコン152またはその他のIRによって使用可能になるリモートデバイスが、ドングルがなければその他の方法では利用することができないゲームコンソールの追加機能を利用できるようにする、IRレシーバとして使用することができる。
【0017】
したがってゲームシステム100はゲーム及び音楽の再生を行うことができ、ドングル150を装着するとDVDビデオ映画を再生することができる。各種ストレージの提供により、ハードディスクドライブまたはドライブ106中のポータブルメディアポータブルメディア108から、オンラインソースから、あるいはメモリユニット140からタイトルを再生することができる。ゲームシステム100での再生が可能なものの例には次がある。
【0018】
1.CD及びDVDディスク、ハードディスクドライブ、あるいはオンラインソースから再生されるゲームタイトル。
【0019】
2.ポータブルメディアポータブルメディアドライブ106中のCD、ハードディスクドライブの圧縮ファイル(例えばWindows(登録商標)Media Audio(WMA)形式)、あるいはオンラインのストリーミングソースから再生されるデジタル音楽。
【0020】
3.ポータブルメディアドライブ106のDVDディスク、ハードディスクドライブのファイル(例えばWindows(登録商標)Media Video(WMV)形式)、あるいはオンラインのストリーミングソースから再生される映画。
【0021】
図2に、ゲームシステム100の機能構成要素をより詳細に示す。ゲームコンソール102は、中央演算処理装置(CPU)200と、フラッシュROM(読み取り専用メモリ)204、RAM(ランダムアクセスメモリ)206、ハードディスクドライブ208、及びポータブルメディアドライブ106を含む各種のメモリへのプロセッサのアクセスを容易にするメモリコントローラ202とを有する。CPU200は、一時的にデータを記憶することによりメモリアクセスサイクルの回数を減らし、それにより処理速度とスループットを向上するレベル1キャッシュ210及びレベル2キャッシュ212を備える。
【0022】
CPU200、メモリコントローラ202、及び各種のメモリ装置は、各種のバスアーキテクチャのうち任意のものを使用したシリアルバス及びパラレルバス、メモリバス、ペリフェラルバス、及びプロセッサバスまたはローカルバスを含む1つまたは複数のバスを介して相互に接続される。そのようなアーキテクチャの例には、ISA(Industry Standard Architecture)バス、MCA(Micro Channel Architecture)バス、EISA(Enhanced ISA)バス、VESA(VideoElectronics Standards Association)ローカルバス、PCI(Peripheral Component Interconnect)バス、及びLDT(Lightning Data Transport)バスが含まれる。
【0023】
適切な一実装として、CPU200、メモリコントローラ202、ROM204、及びRAM206を一体化して共通モジュール214とする。この実装では、ROM204は、PCI(Peripheral Component Interconnect)バス及びROMバス(いずれも図示せず)を介してメモリコントローラ202に接続されるフラッシュROMとして構成される。RAM206は、個別のバス(図示せず)を介しメモリコントローラ202によって個別に制御される複数のDDR SDRAM(Double Data RateSynchronous Dynamic RAM)モジュールとして構成される。ハードディスクドライブ208及びポータブルメディアドライブ106は、PCIバス及びATA(AT Attachment)バス216を介してメモリコントローラに接続される。
【0024】
3Dグラフィックス処理装置220及びビデオエンコーダ222は、高速、高解像度のグラフィックス処理を行うためのビデオ処理パイプラインを形成する。データは、グラフィックス処理装置220からデジタルビデオバス(図示せず)を介してビデオエンコーダ222に搬送される。オーディオ処理装置224及びオーディオコーデック(コーダ/デコーダ)226は、それに対応する高忠実度、及びステレオの処理を行うオーディオ処理パイプラインを形成する。オーディオデータは、通信リンク(図示せず)を介してオーディオ処理装置224とオーディオコーデック226間を搬送される。ビデオ及びオーディオの処理パイプラインは、テレビジョンまたは他のディスプレイへの伝送のためにA/V(オーディオ/ビデオ)ポート228にデータを出力する。図の実装では、ビデオ及びオーディオの処理コンポーネント220〜228はモジュール214に取り付けられる。
【0025】
モジュール214には、USBホストコントローラ230及びネットワークインタフェース232も実装される。USBホストコントローラ230はバス(例えばPCIバス)を介してCPU200及びメモリコントローラ202に結合され、周辺コントローラ104a〜104c及びドングル150のホストとして機能する。ネットワークインタフェース232はネットワーク(例えばLAN、インターネットなど)へのアクセスを提供し、イーサネット(登録商標)カード、モデム、Bluetooth(登録商標)モジュール、ケーブルモデムなどを含む各種の有線または無線インタフェースコンポーネントのいずれでもよい。
【0026】
ゲームコンソール102は、2つのデュアルコントローラサポートサブアセンブリ240a及び240bを有し、各サブアセンブリは、最高2つのゲームコントローラ及び/またはDVDを使用可能にするドングルをサポートする。この図では、2つのゲームコントローラ104a及び104bが第1のコントローラサポートサブアセンブリ240aに接続され、第3のゲームコントローラ104c及びドングル150が第2のサブアセンブリ240bに接続されている。フロントパネルI/Oサブアセンブリ242は、電源ボタン112及び取り出しボタン114の機能をサポートし、またゲームコンソールの外側表面に露出する任意のLED(発光ダイオード)や他の表示器をサポートする。サブアセンブリ240a、240b、及び242は、1つまたは複数のケーブルアセンブリ244を介してモジュール214に結合される。
【0027】
図では、6つのメモリユニット140a〜140fを3つのコントローラ104a〜104cに接続することができ、すなわち各コントローラに2つのメモリユニットを接続することができる。各メモリユニット140a〜140fは、ゲーム、ゲームパラメータ、及びその他のデータを記憶できる追加ストレージを提供する。コントローラに挿入されると、メモリユニット140a〜140fはメモリコントローラ202からアクセスすることができる。
【0028】
システム電源モジュール250は、ゲームシステム100の構成要素に電力を提供する。ファン252はゲームコンソール102内の回路を冷却する。
【0029】
ゲームコンソール102は、暗号化、解読、認証、デジタル署名、ハッシングなど一般的な暗号機能を行う暗号エンジンを実装する。暗号エンジンはCPU200の一部として、あるいはメモリ(例えばROM204、ハードディスクドライブ208)に格納された、CPUで実行されるソフトウェアに実装して、暗号機能を行うようにCPUを構成することができる。
【0030】
コンソールユーザインタフェース(UI)アプリケーション260はハードディスクドライブ208に記憶される。ゲームコンソールに電源を入れると、コンソールUIアプリケーション260の各種部分がRAM206及び/またはキャッシュ210、212にロードされ、CPU200で実行される。コンソールUIアプリケーション260は、ゲームコンソールで利用可能な別の媒体タイプに対してナビゲートする際に一貫性のあるユーザ体験を提供するグラフィカルユーザインタフェースを提示する。
【0031】
ドングル150からゲームコンソール102へのDVD再生コードのダウンロードを容易にするために、コードサーバ270のソフトウェア及びローダ272のソフトウェアも提供される。図ではこれらのソフトウェアをハードディスクドライブ208に記憶しているが、ROM204など他のメモリに記憶してもよい。一実装では、コードサーバ270は、ドングル150に記憶されたDVD再生コードを取り出し、ロードするために呼び出すことのできるアプリケーションプログラムインタフェース(API)のセットを公開するソフトウェアドライバとして実施される。再生コードは事前に暗号化した形式で記憶することができるので、ローダ272は、コードサーバ270のドライバと通信してDVD再生コードを直接RAM206やハードディスクドライブ208などのメモリ中に解読する。コードサーバ及びローダのソフトウェア、及び例示的なAPIのセットについては以下でより詳細に説明する。
【0032】
例示的ドングル
図3〜5に、ドングル150の例示的な一実装を示す。ドングル150は、本体302、及び本体302から延在するコネクタ部材304を有する。ここに記載する実装では、コネクタ部材304は、ゲームコンソール面の4つのスロット110a〜110d(図1参照)のいずれか1つに挿入するように構成されたUSB互換コネクタである。1つのコネクタ形状を図示しているが、設計の選択とゲームコンソールのスロット形態に応じて他の形状が可能である。
【0033】
視聴者は、リモコン152(図1)を使用してゲームシステムにおけるDVD動作を制御する。コマンドは赤外線信号としてドングル150に伝送される。IRレンズ306が本体302の中に取り付けられているが、リモコン152のハンドセットから赤外線信号を受信するために本体302の外側に露出している。IRレンズ306は本体のコネクタ部材304の反対側に取り付けられており、コネクタ部材304をスロット110a〜110dに挿入するとIRレンズ306が外向きになり、リモコン152からのIR信号を捕捉する。
【0034】
図6は、ドングル150内に収納される構成要素の例示的な一構成を示す。一実装では、これら構成要素は、ドングル本体302のプラスチック製の筐体(encasing)に収納され保護される内部PCB(プリント回路基板)アセンブリに組み込まれる。IRレシーバ602がIRレンズ306に結合されており赤外線信号を受信し、それをリモコンコードに復号する。可能な一実装として、ドングル150が大半の汎用的なリモコンと互換性を持つように、IRレシーバ602(デコーダ)は標準的なRCA(Radio Corporation of America)DVDリモコンコードをサポートすることができる。
【0035】
マイクロコントローラユニット604はIRレシーバ602に結合されて、視聴者によって入力された制御コードを受信し、制御コードで動作する。マイクロコントローラ604はUSBインタフェース606に結合され、これによりドングル150をゲームコンソールに差し込んだ際のコネクタ304を通じたデータの入出力が容易になる。また、ドングル150をゲームコンソールに挿入し、電源を入れると、電力がゲームコンソールからUSBインタフェース606を介してドングルに伝搬される。
【0036】
ドングル150はさらに、DVDから映画及びその他のコンテンツの再生を容易にするDVD再生コード610を記憶する読み取り専用メモリ(ROM)608を含む。ROM608は、(図示されるような)マスクROM、フラッシュROM、あるいはその他のタイプのROMとして実装することができる。再生コード610は、複数のアクセス可能なページからなる事前に暗号化されたROMイメージとして記憶される。各ページは所定のサイズ(例えば1キロバイト)である。ROM608はバス612を介してマイクロコントローラ604に結合される。バス612は複数のデータ線(例えば8本のデータ線)と複数のアドレス線(例えば20本のアドレス線)を有する。マイクロコントローラ604はバス612のアドレス線を使用して個々のページを指定することができ、取り出されたコードはバスのデータ線を通じて渡される。
【0037】
マイクロコントローラ604は、USBインタフェース606を通じて、ROM608からゲームコンソール102へのDVD再生コード610のダウンロードを容易にする、ファームウェア614を実行する。パワーアップリセット616は、アクティブなゲームコンソールに最初にドングルを差し込むたび、またはゲームコンソールに電源を入れるたびに実行される。パワーアップリセット616は、マイクロコントローラ604をリセットしてファームウェア614の実行を開始させる。
【0038】
コード610をROM608に保持することにより、ドングル150はゲームシステムにおけるDVD再生を可能にするすべてのソフトウェア機能を効果的に記憶する。コンソールUIアプリケーション260がDVD映画媒体を検出すると、コンソールUIアプリケーション260は映画再生プロセスを開始する。ドングル150が存在する場合、コンソールUIアプリケーション260はDVD再生コード610をゲームコンソールのRAM206にダウンロードし、ユーザ対話なしにRAM206にコードをインストールする。コンソールUIアプリケーション260はDVDプレーヤとして動作し、リモコンのハンドセットから標準的なユーザコマンド(例えば再生、一時停止、早送り、巻き戻し、スキップなど)を受信する。ドングル150がない場合はDVD再生コード610のダウンロードを行うことができず、コンソールUIアプリケーション260は、DVD映画を再生するにはドングル150が必要であることを知らせるメッセージを表示する。
【0039】
ドングル150は、再生イネーブラとして機能するように構成することもできる。視聴者が映画DVDをトレーに入れると、ゲームコンソールは認証可能なドングル150がポート110a〜110dに挿入されているかどうかをまず確認する。このモードでは、ゲームコンソールはDVD再生コード610の記憶されたコピーをすでに持っているはずである。DVD再生コード610の任意の小セクションをダウンロードし、すでにゲームコンソールのハードディスクドライブ208にあるコピーと比較する。ドングルがインストールされていない場合、あるいはドングル150として認証することができない機器がインストールされた場合、DVD映画の再生機能は阻止され、視聴者は使用することができない。ドングル150をコードのダウンロードに使用するか、あるいは単にDVDビデオ機能を使用可能にするために使用するか否かに関係なく、ドングル150が除去されるとコンソールUIアプリケーション260はDVDビデオ機能を使用不可にする。
【0040】
コードサーバ及びローダ
ゲームコンソール102で実装されるコードサーバとローダのソフトウェアは、ドングル150からゲームコンソールへのDVD再生コード610のダウンロードを容易にする。一般に、コードサーバ270は、ドングルからUSB接続を通じて再生コード610を入手する役割を担う。コードサーバは、コードを要求し、USB線を通じてそのコードを移動するために高レベルのバスプロトコルを使用する。ローダは、事前に暗号化されたDVD再生コード610をメモリ中に解読する役割を担う。ローダは、DLL(ダイナミックリンクライブラリ)ローダと同様に依存関係も解決する。
【0041】
図7は、ドングル150をゲームコンソール102のスロットに差し込んだ際のコードサーバ270及びローダ272の特定の一実装を表す。コードサーバ270は、従来のOHCI/USBプロトコルの上に高レベルのバスプロトコルを実行する。このため図ではコードサーバがオープンホストコントローラインタフェース(OHCI)702に結合されており、インタフェース702はUSB線704に接続されている。
【0042】
ドングル150を挿入すると、コネクタ部材304がUSB線704に接続する。コーダサーバ270は、同期または非同期の転送技術を使用してROM608からDVD再生コード610を入手し、そのコードをローダ272に提供する。ローダ272はコードを受け取るとコードを解読し、コードをコンソールのメモリに記憶する。一実装では、DVD映画の再生を容易にするためにDVD再生コードを一時的にRAM206に記憶する。ゲームシステムの電源が「オフ」になるとコードは失われる。代替の実装ではハードディスクドライブ208にコードを記憶してもよい。両方の実装について以下でより詳細に説明する。
【0043】
コードサーバ270によってサポートされる高レベルのバスプロトコルは2つのコマンドに基づく。
・XDCS_REQUEST_GET_ROM_FILE_INFO
・XDCS_REQUEST_GET_ROM_FILE_BLOCK
どちらのリクエストもコントロールリクエストである。XDCS_REQUEST_GET_ROM_FILE_INFOコマンドでは、コードイメージのコードバージョンとサイズを取り出すことができる。このコマンドに応答して、ドングルファームウェア614はROM608に格納されたROMイメージの開始部分からバージョンと長さを読み出す。
【0044】
XDCS_REQUEST_GET_ROM_FILE_BLOCKコマンドは、ROM608に格納されたROMイメージ内のあらかじめサイズが決まった任意のコードブロックへのアクセスを可能にする。例えば1キロバイトのページに構築されたイメージの場合は、このコマンドでコードの1キロバイトのページ個々へのアクセスが可能になる。このコマンドに応答してドングルファームウェア614はブロックインデックスをシフトしてデータオフセットを得、要求された長さのバイトがそのオフセットからリターンされる。
【0045】
この2つのプロトコルコマンドに対するSETUPパケットの例示的レイアウトの1つは以下である。
【0046】
この2コマンドプロトコルは非常に効率的であり、きわめて高速である。OHCI USBシステムと最適化したUSBスタックを用いると、このプロトコルは、毎秒約1メガバイトの速度によるデータ転送を容易にする。1キロバイトのブロックサイズでは、8バイトのSETUPパケットとステータスパケットは微々たるものである。
【0047】
コードサーバ270は、コンテンツ全体をダウンロードするのに使用できるステートレス(stateless)の取り出し機構を提供するか、またはコンテンツの無作為抽出検査を行うために個々の部分を取り出すことができる。このプロトコルは、オープンホストコントローラ標準を使用するハードウェアプラットフォームで読み取り専用ストレージにランダムアクセスするために使用することができる。
【0048】
コードサーバ270は、ドングルからコードイメージを得るためのステートレスAPIも公開する。このAPIはROMのサイズ及びバージョンへのアクセスを提供し、DVD再生コード610のいずれかまたはすべてを同期または非同期にバッファに引き渡すことを容易にする。同期モードでは呼び出し元はコード610の選択されたバイトを要求し、そのバイトが到着するのを待つ。このモードでは、要求したコードがダウンロードされるまで、あるいはエラーが発生するまで動作がブロックされる。非同期モードでは、ハードウェアが稀に生じる割り込みへの対処を行う。主要なソフトウェアのスレッドの動作は、ダウンロードの完了を待つ間に他のタスクの実行を継続することができる。
【0049】
コードサーバAPIの一実装は、3つのインタフェースを定義する。「XDCSGetInformation」と命名する第1のインタフェースは、DVD再生コード610のサイズ及びバージョンを得るために呼び出される。「XDCSDwonloadCode」と命名する第2のインタフェースは、同期モードを使用してドングル150からコードをダウンロードするために呼び出される。「XDCSDownloadCodeAsync」と命名する第3のインタフェースは、非同期モードを使用してドングル150からコードをダウンロードするために呼び出される。
【0050】
【0051】
ルーチンの説明:
XDCSデバイス(例えばドングル150)上のコードのサイズとバージョンをポートdwPortに得る
引数:
[IN] dwPorts −所望デバイスのポート
[OUT] pdwDeviceInstance − XDCSDonwloadCodeまたはXDVSDownloadCodeAsyncを通じてデバイスにアクセスするためのハンドル
[OUT] pDvdCodeInformation −デバイスのコードについての情報
戻り値:
成功した場合−ERROR_SUCCESS
失敗した場合−winerror.hにあるエラー
【0052】
コメント:
ポートではなくハンドルを使用することにより、コードをダウンロードした際に、そのコードとこの関数が情報を戻すコードが同じコードになることを保証する。さもなければ、(可能性は低いが)ユーザがそのデバイスを取り除き、XDCSGetInformationの呼び出しからXDCSDownloadCodeまたはXDCSDownloadCodeAsyncの呼び出しまでの間に別のデバイスを挿入する可能性がある。その場合にはpdwDeviceInstanceが無効になり、後者の呼び出しが機能せず、有意味のエラーが発生する。
【0053】
【0054】
ルーチンの説明:
XDCSデバイスからコードをダウンロードする
引数:
[IN] dwDeviceInstance −XDCSGetInformationから得るインスタンス
[OUT] pvBuffer −コードを受け取るバッファを指すポインタ
[IN] ulOffset −ダウンロードを開始するコードイメージの開始部分からのオフセット
[IN] ulLength −読み出すバイト数
[OUT] pulBytesRead −実際に読み出されたバイト数
戻り値:
成功した場合−ERROR_SUCCESS
失敗した場合−winerror.hにあるエラー
コメント:
このメソッドは、要求されたコードがダウンロードされるか、エラーが発生するまでブロックする。
ルーチンの説明:
XDCSデバイスからコードをダウンロードする
引数:
[IN/OUT] pXDCSDownloadRequest−非同期にブロックを要求
戻り値:
成功した場合−ERROR_PENDING
失敗した場合−winerror.hにあるエラー
コメント:
このメソッドを使用して現在のスレッドをブロックすることなくコードを入手する。
【0055】
動作
図8は、ゲームシステム100でDVD再生を開始する始動プロセス800を示す。このプロセスは、図2、6、及び7に示すドングルとゲームコンソールの実装を参照して説明する。プロセス800は、ソフトウェア、ファームウェア、及び/またはハードウェアに実装することができる。ソフトウェア及びファームウェアの場合、プロセス800は、1つまたは複数のプロセッサによる実行が可能なコンピュータ実行可能命令として実装できる動作セットを表す。
【0056】
ブロック802でユーザが光媒体ディスクをゲームコンソールのトレーに入れるか、または視聴者がドングル150をスロット110a〜110dに差し込むとプロセスが開始する。プロセス800が開始すると2つの条件を確認する。ブロック804で、ゲームコンソールは、トレーの媒体ディスクがDVD映画であるかどうかを判定する。媒体ディスクは、オーディオCDやゲームディスクなど他のコンテンツを含む可能性もある。ディスクがDVD映画でない場合(すなわちブロック804の「no」分岐)、プロセスは終了する。
【0057】
ディスクがDVD映画である場合(すなわちブロック804の「yes」分岐)、ゲームコンソールはドングル150が装着されているかどうかを判定する(ブロック806)。ドングル150は、DVD映画の再生を可能にするためにスロット110a〜110dに挿入する必要がある。ドングルがない場合(すなわちブロック806の「no」分岐)、ゲームコンソールは、DVD映画の再生を可能にするためにドングルが必要であることを知らせるエラーメッセージを表示し、ドングルを挿入するようにユーザを促す(ブロック808)。ユーザがドングルを挿入するか、DVD媒体を除去できるように、このメッセージの後に短い遅延時間がある(ブロック810)。この遅延時間に続いて、プロセスはトレーのDVD媒体のテスト(ブロック804)とドングルの有無(ブロック806)のテストを繰り返す。
【0058】
トレーのディスクがDVD映画であり(すなわちブロック804の「yes」分岐)、ドングルがある(すなわちブロック806の「yes」分岐)とすると、ゲームコンソールはダウンロードプロセスを開始する(ブロック812)。ドングル150からゲームコンソール102にDVDを使用可能にする機能をダウンロードするプロセスを実施するには様々な方式がある。手法の1つは、ドングル150がゲームコンソールに差し込まれるたびにDVD再生コード610をダウンロードするものである。別の手法は、ドングル150が最初に挿入されたときにDVD再生コード610をダウンロードして、再生コードのすべてまたは一部をゲームコンソール102の不揮発性メモリに記憶しておくものである。実装の選択には、設計上の考慮事項とコストの一定のトレードオフが関連する。これらのオプションについて以下でより十分に説明する。
【0059】
オプション1:1回ごとのダウンロード
図9は、ドングル150をコンソールスロット110a〜110dに挿入するたびにDVD再生コード610をダウンロードするプロセス900を示す。このプロセスは、図2、6、及び7に示すドングル及びゲームコンソールの実装を参照して説明する。適当な位置で、動作を見出しの下に揃えてどちらの機器がその動作を行うかを表す。プロセス900は、ソフトウェア、ファームウェア、及び/またはハードウェアに実装することができる。
【0060】
ブロック902及び904で、ゲームシステムは、任意に認証プロトコルを実施してゲームコンソールとドングルを相互に対して認証する。ゲームコンソール102とドングル150は、各コンポーネントがもう一方の真正性を検証することを可能にするキーまたは他のデータを交換する。この認証プロトコルは、公開鍵の交換やデジタル署名などの暗号技術に基づけばよい。認証はドングルを接続するたびに行う。認証は任意である。代替法として、セキュリティは、ドングルに記憶されたコードをゲームコンソールにダウンロードした際にそのコードを認証するゲームコンソールの能力だけに基づくこともできる。コードはデジタル的に署名され、次いで公開鍵−秘密鍵の対の秘密の部分により暗号化される。コードがダウンロードされると、ゲームコンソールは、コードを解読し署名を検証することによりそのコードが信頼できるドングルに属するという有効性を認証する。
【0061】
ブロック906で、ゲームコンソールは、ドングル150のROM608に記憶されたDVD再生コード610の長さ/バージョン情報を得る。これは、コードサーバ270によって公開されるXDCSGetInformationメソッドを呼び出すことによって行うことができ、メソッドはこの呼び出しに応答してコードイメージのコードバージョンとサイズを得るREQUEST_GET_ROM_FILE_INFOコマンドを発行する。ブロック908で、ドングルのファームウェア614は、ROM608に記憶されたROMイメージのバージョン及び長さを開始部分から読み出す。ドングルはこれらのパラメータをゲームコンソール102に渡す(ブロック910)。
【0062】
ブロック912で、ゲームコンソール102は、DVD再生コード610の1つまたは複数の指定のブロックを要求する。ゲームコンソールは、コードのすべてまたは部分を要求することができる。この要求は、同期のダウンロードが好ましいか非同期のダウンロードが好ましいかに応じて、XDCSDownloadCodeメソッドまたはXDCSDownloadCodeAsyncメソッドの1つを呼び出すことによって行うことができる。この呼び出しに応答して、コードサーバ270は、XDCS_REQUEST_GET_ROM_FILE_BLOCKコマンドを発行して、ROM608に記憶されたROMイメージ中の事前にサイズが決められた任意のコードブロックにアクセスする。ブロック914及び916で、ドングルのファームウェア614は指定のブロックを取り出し、そのブロックをゲームコンソールに戻す。
【0063】
ブロック918で、ローダ272は、ゲームコンソールでブロックを受け取るとそのブロックを解読する。ローダ272はさらにコードにデジタル署名があればそれを検証して、そのコードが信頼できることを確認することができる。解読したブロックは揮発性RAM206に記憶する(ブロック920)。ブロック922で、ゲームコンソールは、要求されるブロックすべてがドングルからダウンロードされたかどうかを判定する。ダウンロードされていない場合(すなわちブロック922の「no」分岐)、ゲームコンソールは1つまたは複数のブロックをさらに要求する。
【0064】
すべてのブロックがダウンロードされている場合(すなわちブロック922の「yes」分岐)、ゲームコンソールはRAM206に記憶されたDVD再生コードを実行する。実行時に、ゲームコンソールは、それがDVDプレーヤであるかのように視聴者がゲームコンソールの動作を制御することを可能にする映画再生ユーザインタフェース(UI)を提示する。
【0065】
オプション2:1回ダウンロードして記憶する
図10は、最初にドングル150をコンソールスロット110a〜110dに挿入した際にDVD再生コード610をダウンロードし、そのコードをゲームコンソールの不揮発性メモリに記憶するプロセス1000を示す。適当な位置で、見出しの下に動作を揃えてどちらの機器がその動作を行うのかを表す。プロセス1000は、ソフトウェア、ファームウェア、及び/またはハードウェアに実装することができる。
【0066】
ブロック1002及び1004で、ゲームシステムは任意に認証プロトコルを実施して、ゲームコンソールとドングルを相互に対して認証する。ブロック1006で、ゲームコンソールは、ドングル150がゲームコンソールに挿入されるのが初めてであるかどうかを判定する。初めてである場合(すなわちブロック1006の「yes」分岐)、ゲームコンソールは、ドングル150からDVD再生コード610をダウンロードする(ブロック1008及び1010)。このダウンロードは、上記で図9のブロック906〜916として説明したように、API及び2コマンドのプロトコルを使用して行うことができる。
【0067】
コードを受け取ると、ローダ272はコードを解読し(ブロック1012)、ハードディスクドライブ208の区分された領域など、不揮発性メモリにそのコードを恒久的に記憶する(ブロック1014)。ブロック1016で、ゲームコンソールは、不揮発性メモリに記憶されたDVD再生コードを実行してDVD映画の再生を可能にする。ドングルが除去された場合、コードはゲームコンソールに記憶されたままになる。
【0068】
再度ブロック1006を参照すると、その後ドングルが再度装着され、したがってその装着がもはや初めてではない場合(すなわちブロック1006の「no」分岐)、ゲームコンソールは、無作為に選択されたコードブロックをドングルに要求する(ブロック1018)。ドングルのファームウェアはブロックを取り出し、それをゲームコンソールに戻す(ブロック1020)。ゲームコンソールは、取り出されたブロックと不揮発性メモリに記憶された同じブロックを比較する。2つのブロックが一致する場合(すなわちブロック1024の「yes」分岐)、コードとドングルはベリファイ(verify)する。ゲームコンソールは次いで不揮発性メモリに記憶されたDVD再生コードを実行してDVD映画の再生を可能にする(ブロック1016)。2つのコード部分が一致しない場合(すなわちブロック1024の「no」分岐)、ゲームコンソールはエラーメッセージを提示し、ローカルに記憶されたDVD再生コードのコピーを実行しないことにより再生を阻止する。
【0069】
結論
本発明について構造的特徴及び/または方法論的動作に固有の術語で説明したが、特許請求の範囲に定義する本発明は必ずしもここに記載する特定の特徴または動作に限定されないことを理解されたい。むしろ特定の特徴及び動作は、特許権を請求する本発明を実施する例示的形態として開示されている。
【0070】
【発明の効果】
以上説明したように本発明によれば、周辺装置からコンソールベースのゲームシステムへの機能拡張コードのダウンロードを可能にするソフトウェアを実行することができる。
【図面の簡単な説明】
【図1】本発明の実施形態のゲームコンソール、1つまたは複数のコントローラ、及びDVDの再生を可能にする装着可能なドングルを備えるゲームシステムの図である。
【図2】本発明の実施形態のゲームシステムのブロック図である。
【図3】本発明の実施形態のドングルの正面図である。
【図4】本発明の実施形態のドングルの側面図である。
【図5】本発明の実施形態のドングルの背面透視図である。
【図6】本発明の実施形態のドングルのブロック図である。
【図7】本発明の実施形態のドングルがゲームコンソールとのインタフェースをとる仕組みを表す図である。
【図8】本発明の実施形態のゲームシステムでDVDの再生を開始する始動プロセスのフローチャートの図である。
【図9】本発明の実施形態のドングルを装着するたびにドングルからゲームコンソールにDVD再生コードをダウンロードするプロセスのフローチャートの図である。
【図10】本発明の実施形態のドングルが最初に装着されたときにドングルからゲームコンソールにDVD再生コードをダウンロードし、その後の装着のたびにコードを検証するプロセスのフローチャートの図である。
【符号の説明】
100 ゲームシステム
102 ゲームコンソール
104a、104b、104c コントローラ
106 ポータブルメディアドライブ
108 光ディスク
110a〜110d スロット
112 電源ボタン
114 取り出しボタン
120 A/Vインタフェースケーブル
122 電源ケーブル
124 ケーブルまたはモデムコネクタ
130a、130b シリアルケーブル
132a、132b サムスティック
134 Dパッド
136 ボタン
138 トリガ
140a〜140f メモリユニット
150 ドングル
152 リモコン
154 無線リンク
200 CPU
202 メモリコントローラ
204 フラッシュROM
206 RAM
208 ハードディスクドライブ
210 レベル1キャッシュ
212 レベル2キャッシュ
214 モジュール
216 バス
220 グラフィックス処理装置
222 ビデオエンコーダ
224 オーディオ処理装置
226 オーディオコーデック
228 A/Vポート
230 USBホストコントローラ
232 ネットワークインタフェース
240a、240b サブアセンブリ
242 フロントパネルI/Oサブアセンブリ
244 ケーブルアセンブリ
250 システム電源モジュール
252 ファン
260 コンソールUIアプリケーション
270 コードサーバソフトウェア
272 ローダソフトウェア
302 本体
304 コネクタ部材
306 IRレンズ
602 IRレシーバ
604 マイクロコントローラユニット
606 USBインタフェース
608 ROM
610 DVD再生コード
612 バス
614 ファームウェア
616 パワーアップリセット
702 OHCI
704 USB線
800 始動プロセス
900 ドングルを挿入するたびにDVD再生コードをダウンロードするプロセス
1000 最初にドングル挿入した際にDVD再生コードをダウンロードし記憶するプロセス
Claims (31)
- メモリと、光ディスクを読み取る光ディスクドライブとを有するゲームコンソールと、
前記ゲームコンソールと分離しているが動作可能に結合することのできるドングルであって、前記ゲームコンソールの光ディスクドライブにロードされたDVD映画のDVD再生を可能にするDVD再生コードを記憶しているドングルと、
前記ゲームコンソールで実行されると、前記ドングルから前記DVD再生コードを取り出し、前記DVD再生コードを前記ゲームコンソールのメモリにロードするソフトウェアと
を備えたことを特徴とするコンソールベースのゲームシステム。 - 前記メモリは揮発性メモリを含み、前記ソフトウェアは前記揮発性メモリに記憶されることを特徴とする請求項1に記載のコンソールベースのゲームシステム。
- 前記メモリは不揮発性メモリを含み、前記ソフトウェアは前記不揮発性メモリに恒久的に記憶されることを特徴とする請求項1に記載のコンソールベースのゲームシステム。
- 前記ドングルはユニバーサルシリアルバス(USB)を介して前記ゲームコンソールに結合し、前記ソフトウェアは前記USBを通じた前記DVD再生コードの転送を容易にすることを特徴とする請求項1に記載のコンソールベースのゲームシステム。
- 前記ソフトウェアは、前記DVD再生コードの個々の部分を要求するように構成されることを特徴とする請求項1に記載のコンソールベースのゲームシステム。
- 前記ソフトウェアは、
前記ドングルからの前記DVD再生コードを要求し、前記ドングルと前記ゲームコンソールとの間のインタフェースを通じた前記DVD再生コードの転送を容易にするコードサーバと、
前記DVD再生コードを解読し、前記DVD再生コードを前記メモリに記憶するローダと
を備えたことを特徴とする請求項1に記載のコンソールベースのゲームシステム。 - 光メモリディスクに記憶されたゲームを再生するゲームコンソールであって、
光メモリディスクを読み取る光ディスクドライブと、
不揮発性メモリと、
前記不揮発性メモリ及び前記光ディスクドライブに結合されたプロセッサと、
前記メモリに記憶され、前記プロセッサで実行可能なコードサーバプログラムであって、周辺装置が前記ゲームコンソールに動作可能に結合されると前記周辺装置からのDVD再生コードを要求し、前記周辺装置から前記ゲームコンソールへの前記DVD再生コードの転送を容易にして、前記光ディスクドライブによってDVD映画が読み出されたときに前記ゲームコンソールでのDVDの再生を可能にするように構成されたコードサーバプログラムと
を備えたことを特徴とするゲームコンソール。 - 前記DVD再生コードは暗号化され、前記DVD再生コードを解読するローダプログラムをさらに備えたことを特徴とする請求項7に記載のゲームコンソール。
- 前記DVD再生コードは前記不揮発性メモリに記憶されることを特徴とする請求項7に記載のゲームコンソール。
- 揮発性メモリをさらに備え、前記DVD再生コードは前記揮発性メモリに記憶されることを特徴とする請求項7に記載のゲームコンソール。
- 前記コードサーバプログラムは、
前記DVD再生コードのサイズ及びバージョンを得る機能と、
前記DVD再生コードを同期に前記ゲームコンソールに転送する機能と、
前記DVD再生コードを非同期に前記ゲームコンソールに転送する機能と
を行うメソッドを有するアプリケーションプログラムインタフェースを公開することを特徴とする請求項7に記載のゲームコンソール。 - 前記コードサーバプログラムは、前記DVD再生コードの個々の部分を要求し、転送するように構成されることを特徴とする請求項7に記載のゲームコンソール。
- コンソールベースのゲームシステムによって実行されると、
前記ゲームシステムに装着された周辺装置からのDVD再生コードを要求し、
前記周辺装置と前記ゲームシステムと間のインタフェースを通じた前記DVD再生コードの転送を容易にする
ように、前記コンソールベースのゲームシステムに指示するコンピュータ実行可能命令を備えたことを特徴とするコンピュータ読み取り可能な記録媒体。 - コンソールベースのゲームシステムによって実行されると、前記DVD再生コードを不揮発性メモリに記憶するように、前記コンソールベースのゲームシステムに指示するコンピュータ実行可能命令をさらに備えたことを特徴とする請求項13に記載のコンピュータ読み取り可能な記録媒体。
- コンソールベースのゲームシステムによって実行されると、前記DVD再生コードを揮発性メモリに記憶するように、前記コンソールベースのゲームシステムに指示するコンピュータ実行可能命令をさらに備えたことを特徴とする請求項13に記載のコンピュータ読み取り可能な記録媒体。
- 前記DVD再生コードは事前に暗号化されており、コンソールベースのゲームシステムによって実行されると、前記DVD再生コードを解読するように、前記コンソールベースのゲームシステムに指示するコンピュータ実行可能命令をさらに備えたことを特徴とする請求項13に記載のコンピュータ読み取り可能な記録媒体。
- コンソールベースのゲームシステムによって実行されると、前記周辺装置を認証するように、前記コンソールベースのゲームシステムに指示するコンピュータ実行可能命令をさらに備えたことを特徴とする請求項13に記載のコンピュータ読み取り可能な記録媒体。
- 請求項13に記載のコンピュータ読み取り可能な記録媒体と、
前記コンピュータ実行可能命令を実行するプロセッサと
を備えたことを特徴とするコンソールベースのゲームシステム。 - ユニバーサルシリアルバス(USB)を通じて周辺装置からホスト機器にコードを転送するプロトコルであって、
事前にサイズが決められたコードブロックを有する、前記周辺装置のメモリに記憶されたコードイメージの、コードバージョン及びサイズを取り出す第1のコマンドと、
前記事前にサイズの決められたコードブロックの1つまたは複数にアクセスし、前記1つまたは複数の事前にサイズの決められたコードブロックの前記ホスト機器への転送を容易にする第2のコマンドと
を備えたことを特徴とするプロトコル。 - 前記第1のコマンドは、
COMMAND NAME
bmRequest = 1100001b
bRequest = 1
wValue = 0
wIndex = bInterfaceNumber
wLength = 6
と定義されるSETUPパケットを有することを特徴とする請求項19に記載のプロトコル。 - 前記第2のコマンドは、
COMMAND NAME
bmRequest = 1100001b
bRequest = 2
wValue = 転送を開始するブロック番号
wIndex = bInterfaceNumber
wLength = 取り出すバイト数
と定義されるSETUPパケットを有することを特徴とする請求項19に記載のプロトコル。 - コンソールベースのゲームシステムで使用するアプリケーションプログラムインタフェースであって、コンピュータ読み取り可能な記録媒体上に実装され、
前記コンソールベースのゲームシステムに動作可能に結合された周辺装置に記憶されたDVD再生コードのサイズ及びバージョンを入手する機能と、
前記DVD再生コードを同期に前記ゲームコンソールに転送する機能と、
前記DVD再生コードを非同期に前記ゲームコンソールに転送する機能と
を行うメソッドを有し、
前記DVD再生コードが転送され、前記コンソールベースのゲームシステムに記憶されると、前記コンソールベースのゲームシステムはDVD再生を行うことが可能になる
ことを特徴とするアプリケーションプログラムインタフェース。 - ゲームコンソールと、前記ゲームコンソールに択一的に装着するかまたは取り外すことができる周辺装置とを有するコンソールベースのゲームシステムにおける、コンソールベースのゲームシステムを操作する方法であって、
前記周辺装置に記憶されたDVD再生コードを要求するステップと、
前記周辺装置に記憶されたDVD再生コードの前記ゲームコンソールへの転送を容易にするステップと、
前記コンソールベースのゲームシステムにおけるDVD映画の再生を可能にするために、前記DVD再生コードを前記ゲームコンソールで実行するステップとを備えたことを特徴とするコンソールベースのゲームシステムを操作する方法。 - 前記要求するステップ及び前記容易にするステップをサポートするために、高レベルのバスプロトコルを利用するステップをさらに備えたことを特徴とする請求項23に記載のコンソールベースのゲームシステムを操作する方法。
- 前記要求するステップは、
前記DVD再生コードのサイズ及びバージョンを入手するステップと、
前記DVD再生コードの1つまたは複数のブロックを要求するステップと
を備えたことを特徴とする請求項23に記載のコンソールベースのゲームシステムを操作する方法。 - 前記DVD再生コードを前記ゲームコンソールの揮発性メモリに記憶するステップをさらに備えたことを特徴とする請求項23に記載のコンソールベースのゲームシステムを操作する方法。
- 前記周辺装置を認証するステップをさらに備えたことを特徴とする請求項23に記載のコンソールベースのゲームシステムを操作する方法。
- コンソールベースのゲームシステムを操作する方法であって、
前記コンソールベースのゲームシステムに動作可能に結合された周辺装置に記憶された、暗号化されたDVD再生コードの、サイズ及びバージョンを入手するステップと、
前記DVD再生コードの1つまたは複数のブロックを要求するステップと、
前記DVD再生コードの1つまたは複数のブロックを受け取るステップと、
前記DVD再生コードの1つまたは複数のブロックを解読するステップと、
前記DVD再生コードの1つまたは複数のブロックを記憶するステップと、
前記DVD再生コードを実行するステップと
を備えたことを特徴とするコンソールベースのゲームシステムを操作する方法。 - 前記記憶するステップは、前記DVD再生コードを揮発性メモリに記憶するステップを含むことを特徴とする請求項28に記載のコンソールベースのゲームシステムを操作する方法。
- 前記周辺装置を認証するステップをさらに備えたことを特徴とする請求項28に記載のコンソールベースのゲームシステムを操作する方法。
- ゲームコンソールと、前記ゲームコンソールに択一的に装着するかまたは取り外すことができる周辺装置のドングルとを有するコンソールベースのゲームシステムにおける、コンソールベースのゲームシステムを操作する方法であって、
前記周辺装置のドングルが1回目に前記ゲームコンソールに装着されるのに応答して、
前記周辺装置のドングルから前記ゲームコンソールにDVD再生コードをダウンロードするステップと、
前記DVD再生コードを不揮発性メモリに記憶するステップと、
前記コンソールベースのゲームシステムにおけるDVD映画の再生を可能にするために、前記DVD再生コードを実行するステップと、
前記周辺装置のドングルが前記1回目の後に、その後前記ゲームコンソールに装着されるのに応答して、
前記周辺装置のドングルに記憶された前記DVD再生コードの一部を取り出すステップと、
前記DVD再生コードの一部と、前記不揮発性メモリに記憶されたDVD再生コードの対応する部分とを比較するステップと、
2つの部分が一致する場合は、前記コンソールベースのゲームシステムにおけるDVD映画の再生を可能にするために、前記DVD再生コードを実行するステップと
を備えたことを特徴とするコンソールベースのゲームシステムを操作する方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/163,949 US20030228911A1 (en) | 2002-06-05 | 2002-06-05 | DVD-enabling code server and loader for a console-based gaming system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004008799A true JP2004008799A (ja) | 2004-01-15 |
Family
ID=29549333
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003161337A Withdrawn JP2004008799A (ja) | 2002-06-05 | 2003-06-05 | コンソールベースのゲームシステム及びコンソールベースのゲームシステムを操作する方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20030228911A1 (ja) |
EP (1) | EP1369152A3 (ja) |
JP (1) | JP2004008799A (ja) |
CN (1) | CN1469293A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101085610B1 (ko) | 2004-01-30 | 2011-11-23 | 마이크로소프트 코포레이션 | 무선 동작과 유선 동작 사이에서 변환하는 게임 컨트롤러 |
US10297101B2 (en) | 2008-05-02 | 2019-05-21 | Aristocrat Technologies Australia Pty Limited | Gaming system and a method of monitoring a gaming device |
US11122147B2 (en) | 2016-02-22 | 2021-09-14 | Samsung Electronics Co., Ltd. | Dongle and control method therefor |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6701528B1 (en) | 2000-01-26 | 2004-03-02 | Hughes Electronics Corporation | Virtual video on demand using multiple encrypted video segments |
US8082572B1 (en) | 2000-06-08 | 2011-12-20 | The Directv Group, Inc. | Method and apparatus for transmitting, receiving, and utilizing audio/visual signals and other information |
US7457414B1 (en) | 2000-07-21 | 2008-11-25 | The Directv Group, Inc. | Super encrypted storage and retrieval of media programs with smartcard generated keys |
US8140859B1 (en) | 2000-07-21 | 2012-03-20 | The Directv Group, Inc. | Secure storage and replay of media programs using a hard-paired receiver and storage device |
US7797552B2 (en) | 2001-09-21 | 2010-09-14 | The Directv Group, Inc. | Method and apparatus for controlling paired operation of a conditional access module and an integrated receiver and decoder |
US7801303B2 (en) | 2004-03-01 | 2010-09-21 | The Directv Group, Inc. | Video on demand in a broadcast network |
US20050215324A1 (en) * | 2004-03-29 | 2005-09-29 | Lippincott Louis A | Game system, methods and apparatus using embedded audio commands |
US20080282353A1 (en) * | 2004-06-29 | 2008-11-13 | Koninklijke Philips Electronics, N.V. | Securely Linked Media Carrying Different Versions of the Same Computer Code |
US7543317B2 (en) | 2004-08-17 | 2009-06-02 | The Directv Group, Inc. | Service activation of set-top box functionality using broadcast conditional access system |
US7457960B2 (en) * | 2004-11-30 | 2008-11-25 | Analog Devices, Inc. | Programmable processor supporting secure mode |
US7966485B2 (en) * | 2004-12-01 | 2011-06-21 | Igt | Universal operating system to hardware platform interface for gaming machines |
US20060285559A1 (en) * | 2005-06-16 | 2006-12-21 | Chih-Hung Cheng | Method for controlling host from device coupled thereto using universal serial bus and system thereof |
US9325944B2 (en) | 2005-08-11 | 2016-04-26 | The Directv Group, Inc. | Secure delivery of program content via a removable storage medium |
US8484632B2 (en) * | 2005-12-22 | 2013-07-09 | Sandisk Technologies Inc. | System for program code execution with memory storage controller participation |
US8479186B2 (en) * | 2005-12-22 | 2013-07-02 | Sandisk Technologies Inc. | Method for program code execution with memory storage controller participation |
US8996421B2 (en) | 2006-05-15 | 2015-03-31 | The Directv Group, Inc. | Methods and apparatus to conditionally authorize content delivery at broadcast headends in pay delivery systems |
US8001565B2 (en) | 2006-05-15 | 2011-08-16 | The Directv Group, Inc. | Methods and apparatus to conditionally authorize content delivery at receivers in pay delivery systems |
US8095466B2 (en) | 2006-05-15 | 2012-01-10 | The Directv Group, Inc. | Methods and apparatus to conditionally authorize content delivery at content servers in pay delivery systems |
US7992175B2 (en) | 2006-05-15 | 2011-08-02 | The Directv Group, Inc. | Methods and apparatus to provide content on demand in content broadcast systems |
US8775319B2 (en) | 2006-05-15 | 2014-07-08 | The Directv Group, Inc. | Secure content transfer systems and methods to operate the same |
US9225761B2 (en) | 2006-08-04 | 2015-12-29 | The Directv Group, Inc. | Distributed media-aggregation systems and methods to operate the same |
US9178693B2 (en) | 2006-08-04 | 2015-11-03 | The Directv Group, Inc. | Distributed media-protection systems and methods to operate the same |
GB0700877D0 (en) * | 2007-01-17 | 2007-02-21 | Linear Algebra Technologies Lt | A device |
US7954149B2 (en) * | 2007-03-20 | 2011-05-31 | Kabushiki Kaisha Toshiba | Image forming apparatus, control method of the apparatus, and control program of the apparatus |
US20100023783A1 (en) * | 2007-12-27 | 2010-01-28 | Cable Television Laboratories, Inc. | System and method of decrypting encrypted content |
US8379540B2 (en) * | 2010-05-03 | 2013-02-19 | Microsoft Corporation | System for synchronous and asynchronous gaming modes |
KR101231104B1 (ko) * | 2011-05-17 | 2013-02-07 | 엔그램테크놀로지(주) | 스마트 tv를 위한 rcu 시스템 및 그 제어 방법 |
Family Cites Families (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US57637A (en) * | 1866-08-28 | Improvement in steam-generators | ||
US4446519A (en) * | 1981-05-26 | 1984-05-01 | Corban International, Ltd. | Method and apparatus for providing security for computer software |
US4471163A (en) * | 1981-10-05 | 1984-09-11 | Donald Thomas C | Software protection system |
US4458315A (en) * | 1982-02-25 | 1984-07-03 | Penta, Inc. | Apparatus and method for preventing unauthorized use of computer programs |
US4562306A (en) * | 1983-09-14 | 1985-12-31 | Chou Wayne W | Method and apparatus for protecting computer software utilizing an active coded hardware device |
US4599489A (en) * | 1984-02-22 | 1986-07-08 | Gordian Systems, Inc. | Solid state key for controlling access to computer software |
GB2163577B (en) * | 1984-08-23 | 1988-01-13 | Nat Res Dev | Software protection device |
US4747139A (en) * | 1984-08-27 | 1988-05-24 | Taaffe James L | Software security method and systems |
CA1270339A (en) * | 1985-06-24 | 1990-06-12 | Katsuya Nakagawa | System for determining a truth of software in an information processing apparatus |
US4796181A (en) * | 1986-10-24 | 1989-01-03 | Wiedemer John D | Billing system for computer software |
US4817140A (en) * | 1986-11-05 | 1989-03-28 | International Business Machines Corp. | Software protection system using a single-key cryptosystem, a hardware-based authorization system and a secure coprocessor |
US4959861A (en) * | 1988-07-13 | 1990-09-25 | Howlette Edward L | Security system for computer software |
FR2654851B1 (fr) * | 1989-11-23 | 1992-03-27 | Schlumberger Ind Sa | Procede et systeme d'exploitation securisee d'un logiciel. |
JP2560124B2 (ja) * | 1990-03-16 | 1996-12-04 | 株式会社セガ・エンタープライゼス | ビデオゲームシステム及び情報処理装置 |
US5343524A (en) * | 1991-06-21 | 1994-08-30 | Mu Xiao Chun | Intelligent security device |
US5212729A (en) * | 1992-01-22 | 1993-05-18 | Schafer Randy J | Computer data security device and method |
JP2942837B2 (ja) * | 1992-01-31 | 1999-08-30 | 株式会社セガ・エンタープライゼス | セキュリティチェック方法及びゲーム装置並びにそれらに用いられる情報記憶媒体 |
US6298441B1 (en) * | 1994-03-10 | 2001-10-02 | News Datacom Ltd. | Secure document access system |
US5473692A (en) * | 1994-09-07 | 1995-12-05 | Intel Corporation | Roving software license for a hardware agent |
US5754646A (en) * | 1995-07-19 | 1998-05-19 | Cable Television Laboratories, Inc. | Method for protecting publicly distributed software |
US6067500A (en) * | 1995-08-14 | 2000-05-23 | Aisin Aw Co., Ltd. | Navigation system |
US6035329A (en) * | 1995-12-07 | 2000-03-07 | Hyperlock Technologies, Inc. | Method of securing the playback of a DVD-ROM via triggering data sent via a cable network |
US5812662A (en) * | 1995-12-18 | 1998-09-22 | United Microelectronics Corporation | Method and apparatus to protect computer software |
DE19549014C1 (de) * | 1995-12-28 | 1997-02-20 | Siemens Ag | Verfahren zum Aktivieren und Ausführen von gesicherten Funktionen in einem Kommunikationssystem |
US6055314A (en) * | 1996-03-22 | 2000-04-25 | Microsoft Corporation | System and method for secure purchase and delivery of video content programs |
US5928362A (en) * | 1996-04-30 | 1999-07-27 | Cagent Technologies, Inc. | Peripheral card security and configuration interface |
US6523119B2 (en) * | 1996-12-04 | 2003-02-18 | Rainbow Technologies, Inc. | Software protection device and method |
CN1226985A (zh) * | 1997-04-24 | 1999-08-25 | 索尼计算机娱乐公司 | 存储卡装置、视频游戏装置和程序提供介质 |
FR2768842B1 (fr) * | 1997-09-19 | 2000-01-07 | Maurice Milgram | Protection anti-copie d'un disque optique numerique par adjonction d'une zone ayant des proprietes optiques modifiables lors de la lecture |
US6128741A (en) * | 1998-03-05 | 2000-10-03 | Rainbow Technologies, Inc. | Compact transparent dongle device |
US6671808B1 (en) * | 1999-01-15 | 2003-12-30 | Rainbow Technologies, Inc. | USB-compliant personal key |
US6468160B2 (en) * | 1999-04-08 | 2002-10-22 | Nintendo Of America, Inc. | Security system for video game system with hard disk drive and internet access capability |
US6810528B1 (en) * | 1999-12-03 | 2004-10-26 | Sony Computer Entertainment America Inc. | System and method for providing an on-line gaming experience through a CATV broadband network |
DE19963471B4 (de) * | 1999-12-29 | 2008-10-09 | Robert Bosch Gmbh | Vorrichtung und Verfahren zur Verhinderung von Raubkopien von Computerprogrammen |
JP3467262B2 (ja) * | 2000-11-10 | 2003-11-17 | 株式会社ソニー・コンピュータエンタテインメント | エンタテインメント装置及び受信装置 |
JP2002329180A (ja) * | 2001-04-27 | 2002-11-15 | Toshiba Corp | 無線通信機能を有するメモリカード及びそのデータ通信方法 |
US6769898B1 (en) * | 2002-09-06 | 2004-08-03 | Somerset Industries, Inc. | Dough press |
-
2002
- 2002-06-05 US US10/163,949 patent/US20030228911A1/en not_active Abandoned
-
2003
- 2003-04-24 EP EP03009339A patent/EP1369152A3/en not_active Withdrawn
- 2003-06-04 CN CNA031423841A patent/CN1469293A/zh active Pending
- 2003-06-05 JP JP2003161337A patent/JP2004008799A/ja not_active Withdrawn
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101085610B1 (ko) | 2004-01-30 | 2011-11-23 | 마이크로소프트 코포레이션 | 무선 동작과 유선 동작 사이에서 변환하는 게임 컨트롤러 |
US10297101B2 (en) | 2008-05-02 | 2019-05-21 | Aristocrat Technologies Australia Pty Limited | Gaming system and a method of monitoring a gaming device |
US11145157B2 (en) | 2008-05-02 | 2021-10-12 | Aristocrat Technologies Australia Pty Limited | Gaming machine and method for transferring game meter data to a portable device |
US11122147B2 (en) | 2016-02-22 | 2021-09-14 | Samsung Electronics Co., Ltd. | Dongle and control method therefor |
Also Published As
Publication number | Publication date |
---|---|
US20030228911A1 (en) | 2003-12-11 |
CN1469293A (zh) | 2004-01-21 |
EP1369152A2 (en) | 2003-12-10 |
EP1369152A3 (en) | 2004-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2004008799A (ja) | コンソールベースのゲームシステム及びコンソールベースのゲームシステムを操作する方法 | |
US20050130745A1 (en) | DVD-enabling dongle for a console-based gaming system | |
JP4908531B2 (ja) | デバイスを初期設定状態に復元するための装置、方法及び記録媒体 | |
US7363510B2 (en) | System and method for presenting copy protected content to a user | |
JP5579274B2 (ja) | プライベートメモリ領域内の複数の保護ファイルにアクセスするためにパブリックメモリ領域内の仮想ファイルを用いる記憶装置および方法 | |
US20020151362A1 (en) | Remote-control signal receiver | |
US20150026475A1 (en) | Simple nonautonomous peering network media | |
US20080175569A1 (en) | Extension of Media Player Environments | |
WO2008059230A2 (en) | Entertainment device | |
US9075999B2 (en) | Memory device and method for adaptive protection of content | |
EP1046113B1 (en) | Installing and loading device drivers on an entertainment system | |
JP5544577B2 (ja) | 改良されたビデオゲームジュークボックス型システムおよび方法 | |
US7451490B2 (en) | Media data protection with secure installer | |
JP5415779B2 (ja) | 互換アダプタ装置および互換処理方法 | |
US8177640B2 (en) | Game system | |
JP2002041442A (ja) | 電子機器通信システム、外部装置、電子機器、および電子機器の通信方法 | |
US20060064525A1 (en) | Remote control unit with a computer peripheral communication port | |
US9432627B2 (en) | Restricting information requested by an application | |
US20090088255A1 (en) | Podblasting-connecting a usb portable media device to a console | |
WO2020246378A1 (ja) | 情報処理装置およびアプリケーション実行方法 | |
WO2014083592A1 (ja) | 権利情報配信システム | |
KR100773031B1 (ko) | 멀티미디어 전송시스템의 사용권 제한장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20060905 |