説明

プログラムを検証する情報処理装置及び遊技機

【課題】動的メモリ確保の下で定期的継続的にコンピュータプログラムを検証する情報処理装置及び遊技機を提供する。
【解決手段】コンピュータプログラムが存在する主記憶メモリの位置の情報を仮想メモリテーブルから取得し、前記主記憶メモリの内容を参照して検査符号に置き換えて配列に記憶し、定期的に最新の仮想メモリテーブルの情報から前記コンピュータプログラムが存在する前記主記憶メモリの内容を参照して検査符号に置き換え、前記配列の記憶と前記検査符号が一致することを判定し、一致しない場合は前記コンピュータプログラムの動作を制限し、一致する場合は前記コンピュータプログラムを検証する情報処理装置、及び、コンピュータプログラムによって遊技を制御し遊技に関する情報を表示し前記情報処理装置を含んで遊技のための前記コンピュータプログラムを初動時及び定期的継続的に検証する遊技機。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、メモリ中のプログラムを随時検証し、改ざんを発見した場合にプログラムの動作を制限する、情報処理装置に関する。
特に、本発明は、遊技プログラムの稼動中に加えられたメモリ内容の改ざんを検出して遊技プログラムの動作を制限する、遊技機に関する。
【背景技術】
【0002】
従来より、遊技機の遊技プログラムを検証するプログラムが知られている。遊技機の検証プログラムは、ゲームプログラム及びゲームシステムプログラムの検証を行う手順に沿って記述されている。(特許文献1参照)。
また、遊技用情報を記憶したメモリカードのカードスロットと、遊技用情報を検証するための検証プログラムと検証プログラム自身の検証を行う予備検証プログラムとを記憶したROMを備えたゲーミングボードと、RAMを備えたマザーボードとを有し、予備検証プログラムによって検証プログラムの検証が完了した後、検証プログラムをマザーボードのRAMに記憶し、遊技用情報の検証を行う遊技機が知られている(特許文献2参照)。
これら従来の遊技機の検証方法においては、遊技機のCPUによって実行される検証プログラムが、主記憶メモリの内容の全体を走査することによって検証作業を行っている。検証作業は、(1)外部記憶装置から主記憶メモリへプログラムを読み込んだ時点において、外部記憶装置の内容と主記憶メモリの内容とが一致していることの検証、(2)主記憶メモリに読み込まれたプログラムが当初と同一の内容であることの継続的な検証、からなる。
【特許文献1】特願第2007−125297号
【特許文献2】米国公開2006/0240888号明細書
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかし、近年のオペレーティングシステムにおいては、動的メモリ確保と呼ばれる手法によって、オペレーティングシステムの基本部分であるカーネルが、単一のプログラムに対して非連続的なアドレスを有する主記憶メモリを割り当てることが行われている。これは多数のプログラムを順不同に並行して実行できる利点を有するが、従来の検証方法のように連続するアドレスの主記憶メモリを読み取って検証することができないという、課題が発生する。
【0004】
本発明は、前記の問題を解消するため、動的メモリ確保の手法によって主記憶メモリを参照するオペレーティングシステムを有する情報処理装置において、カーネルの機能の一部として動作する検証プログラムが、検証されるプログラムの存在する主記憶メモリの内容を参照してプログラムを検証し、メモリ内容の破損、改ざんを検出することのできる、情報処理装置を提供することを目的とする。すなわち、本発明は、検証されるコンピュータプログラムがメモリ上に存在する期間を通じて破損、改ざんを受けていないことを保証することのできる、情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【0005】
本発明に係る第1の態様によれば、コンピュータプログラムを検証し、主記憶メモリを有する情報処理装置であって、前記主記憶メモリに存在するコンピュータプログラムを含むデータの位置を示す情報を記憶するメモリ領域を参照し、前記データが存在する前記主記憶メモリの内容を第1のメモリ領域に検査符号として記憶し、所定のタイミングにおいて、前記主記憶メモリに存在する前記コンピュータプログラムを含むデータの位置を示す最新の情報を記憶するメモリ領域を参照し、前記コンピュータプログラムが存在する前記主記憶メモリの内容を第2のメモリ領域に検査符号として記憶し、前記第1のメモリ領域に記憶された検査符号と、前記第2のメモリ領域に記憶された検査符号とを照合し、前記照合の結果、一致しないと判定された場合には、前記検査符号が一致しないことを示すエラーを示す信号を出力する一方で、前記照合の結果、一致すると判定された場合には、前記コンピュータプログラムを検証するコントローラを備える情報処理装置が提供される。
【0006】
前記第1の態様に示したように、本発明の情報処理装置に含まれる主記憶メモリは、主記憶メモリに存在するコンピュータプログラムを含むデータの位置を示す情報を記憶するメモリ領域を参照することによって、前記コンピュータプログラムを含むデータが存在する前記主記憶メモリの内容を取得する、動的メモリ確保の手法によって管理される。この動的メモリ確保の手法を用いるオペレーティングシステムによって、主記憶メモリに存在するコンピュータプログラムに対して非連続的なアドレスを有する主記憶メモリの割り当てが行われても、本発明の情報処理装置においては、検証されるコンピュータプログラムが存在する主記憶メモリの位置の情報を参照して、検証されるコンピュータプログラムの内容を参照する。すなわち、本発明の情報処理装置においては、アドレスが連続するメモリを読み取って検証する従来の手法とは異なり、アドレスが非連続的でありうる主記憶メモリ中のコンピュータプログラムを検証する。
【0007】
オペレーティングシステムは、コンピュータプログラムが動作するための基本プログラムである。オペレーティングシステム内部の基本部分はカーネルと呼ばれ、システムの資源の管理、ハードウェアとプログラムのやり取りの管理等を実行する。カーネル内部の個別の機能はシステムコールとして提供され、コンピュータプログラムから利用することができる。マルチタスク環境をサポートするオペレーティングシステムにおいて、カーネルは、動的メモリ確保の手法を実施し、複数のプログラムのそれぞれが自分自身のために使用するメモリのアドレスをページ単位で管理する。ページ単位で管理されたメモリを仮想メモリと呼ぶ。仮想メモリは論理的なアドレスの数値を有し、論理的なアドレスの数値は、電気配線として定義された物理的なアドレスとは別に定義される。
【0008】
検証プログラムは、カーネルが提供するシステムコールを利用するか、またはカーネルの一部に組み込んで動作することにより、動的メモリ確保が実施されるオペレーティングシステムのカーネルの機能を利用して、該仮想メモリのページ数や各ページが存在するメモリアドレス等を記憶した仮想メモリテーブルを参照することで、該仮想メモリの内容を参照し、仮想メモリに存在する前記検証されるプログラムの内容を参照できる。
【0009】
好適なオペレーティングシステムの例はLinuxである。これに限らず、Microsoft Windows(登録商標)、UNIX(登録商標)等から適宜選択できる。
【0010】
検証プログラムをカーネルに組み込むための好適な手段は、Linuxオペレーティングシステムのカーネルに含まれ、カーネル内の変数の初期化に係るswapper関数から検証プログラムを起動することである。別の好適な手段は、Linuxオペレーティングシステムのカーネルが提供するシステムコールのひとつであるexecve関数に、検証プログラムを組み込むことである。これらに限らず、検証プログラムを起動する、または組み込むカーネルの構成要素は適宜選択できる。
【0011】
第1の態様に示した本発明の情報処理装置において、検証プログラムは、検証されるプログラムの存在する主記憶メモリの位置を示す仮想メモリテーブルを、検証のつど参照する必要がある。その理由は、仮想メモリテーブルは、複数のコンピュータプログラムを必要に応じて主記憶メモリに割り当てるカーネルの動作によって随時更新されるからである。すなわち、検証プログラムは、検証されるプログラムの存在する主記憶メモリの位置を示す、最新の仮想メモリテーブルを参照する。
【0012】
前記第1の態様におけるコントローラは、アドレスバス、データバス、入出力許可論理、クロック入出力等の接続端子を備え、演算ユニット、制御ユニット、デコーダ等を内蔵し、データバスを介して受信したデータ及び命令セットを予め決められた手順で処理し、外部に接続された機器の動作に必要な情報や命令等を送信し、また外部の機器からの情報等を受信することのできる集積回路である。該コントローラは1個の集積回路でもよく、複数の入出力機能を備えて該コントローラと連動する周辺チップを伴ってもよく、追加機能を有するチップを内蔵した一体の統合コントローラでもよい。好ましいコントローラの例はインテル社製QX677型及び同社P35型周辺チップであるが、これらに限らずに適宜、集積回路を選択して使用できる。
【0013】
前記第1の態様のメモリ内容を検査する符号は、プログラムが存在するメモリの内容を代表するための数値であってよい。例えば、剰余演算を含むことにより最大値を制限したハッシュ関数を適宜設計して用い、予め決められたバイト数の該メモリ内容を代表する数値を計算してもよい。なお、用語「ハッシュ関数」は、ユーザ検証やデジタル署名等を目的として、データを代表する数値を得る操作または該数値を得るための関数を指すコンピュータ技術用語である。
【0014】
前記第1の態様の、エラーを示す信号を出力することは、本発明の情報処理装置が有する通信インタフェースにエラーを示す情報を出力してもよく、本発明の情報処理装置が有する画像表示装置にエラーを示す情報を表示してもよく、本発明の情報処理装置が有するコントローラの論理として出力されてもよく、本発明の情報処理装置が有する入出力ポートの特定のアドレスの論理として出力されてもよく、本発明の情報処理装置が参照しうるメモリ領域の特定の数値を書き換える等の処理として行われてもよく、オペレーティングシステムが用意したメモリ領域の特定の数値を書き換える等の処理として行われてもよく、これらの組合せでもよい。情報処理装置の使用者に該エラーの発生を通知しうる手段であれば詳細は問わない。
【0015】
前記第1の態様の、エラーを示す信号を出力することは、本発明の情報処理装置とともにネットワークに接続された他の情報処理装置に向けて出力してもよい。該信号は、論理を示す電気信号、位相変調された電気信号、周波数変調された電波、振幅変調された光信号等、情報伝送に用いることのできる信号から適宜選択できる。
【0016】
前記第1の態様によって、本発明の情報処理装置は、メモリ上に存在し検証されるプログラムを所定のタイミングにおいて検証することができる。すなわち、検証されるプログラムを継続的に検証することで、該プログラムがメモリ上に存在する期間を通じて破損、改ざんを受けていないことを保証できる。
【0017】
本発明に係る第2の態様によれば、前記第1のメモリ領域及び前記第2のメモリ領域の符号の一致を、前記コントローラが実行するプログラムにより判定する、情報処理装置が提供される。
【0018】
前記第2の態様は、2つのメモリ内容の一致を判定するプログラムを実行するコントローラが、2つのメモリ内容の一致を判定しうる手段から適宜選択できる。例えば、2つのメモリ内容の比較を実行することで一致を判定できる。該比較においては、コントローラが有する命令セットに含まれる比較命令を用いてもよく、オペレーティングシステムが提供するサービスコール等に含まれる比較の機能を用いてもよく、検証プログラムのソースコードを実行形式に変換するコンパイラ環境が提供する比較関数を用いてもよく、オペレーティングシステム上で動作するスクリプト言語が提供する比較演算子を用いてもよく、比較対象のメモリ内容を比較しうる手段は適宜選択できる。他の手段としては、2つのメモリ内容を数値として扱い、差がゼロであることを判定してもよい。2つのメモリ内容の一致を判定できる手段であれば、その詳細は問わない。
【0019】
前記第2の態様によって、本発明の情報処理装置は、検証されるプログラムが破損、改ざんを受けていないことを、2つのメモリ内容の一致として判定できる。
【0020】
本発明に係る第3の態様によれば、請求項1に記載の情報処理装置であって、前記コントローラは、前記コンピュータプログラムの動作を制限するプログラムを実行する、情報処理装置が提供される。
【0021】
前記第3の態様のコンピュータプログラムの動作の制限は、オペレーティングシステムが有するプログラム管理機能を利用して、破損または改ざん等が発見されたメモリ中プログラムに対して動作を停止する等の処理を行ってもよく、該プログラムが存在するメモリ領域へのアクセスを管理者権限に限定して一般ユーザからアクセス不可にする等の処理を行ってもよい。
【0022】
前記第3の態様によって、本発明の情報処理装置は、破損または改ざん等が発見されたプログラムが情報処理装置に影響を及ぼすことを防ぐことができ、特にメモリに影響を及ぼすことを防ぐことができる。
【0023】
本発明に係る第4の態様によれば、請求項1に記載の情報処理装置であって、前記コントローラは、当該情報処理装置の動作を制限するプログラムを実行する、情報処理装置が提供される。
【0024】
前記第4の態様の制限は、コントローラが実行するプログラムによって入出力ポートを読み書き禁止に設定する等の処理により行ってもよい。
【0025】
前記第4の態様のコントローラが実行するプログラムは、オペレーティングシステムに対して自動シャットダウン等の処理を実行するよう通知し、情報処理装置をシャットダウンしてもよい。
【0026】
前記第4の態様によって、本発明の情報処理装置は、破損または改ざん等が発見されたプログラムが情報処理装置に影響を及ぼすことを防ぐことができ、特にシステムバスを経由して接続された機器に影響を及ぼすことを防ぐことができる。
【0027】
本発明に係る第5の態様によれば、請求項1に記載の情報処理装置であって、前記第1のメモリ領域及び前記第2のメモリ領域が記憶する検査符号として、CRCを用いた、情報処理装置が提供される。
【0028】
前記第5の態様の検査符号であるCRCは、16ビット幅でも32ビット幅でも他のビット幅でもよい。本発明の情報処理装置においてコンピュータプログラムの検証に用いるCRC値を算出することができれば、CRC値の生成式は特に問わない。なお、用語「CRC」は、巡回冗長検査(Cyclic Redundancy Check)を意味する英語の略語であり、記憶媒体間のデータのコピー、通信回線を経由するデータ送受信等における誤りを検出するための誤り検出符号の一種を指すコンピュータ技術用語である。
【0029】
前記第5の態様によって、本発明の情報処理装置は、32ビット幅等の数値が一致することをもってプログラムを検証するので、複数のメモリ領域にわたって存在するプログラムを丸ごと検証する作業と比較して、検証に要するコントローラの作業を軽減することができ、これによって、迅速な検証を実現できる。特に、遊技機において遊技プログラムの実行中に、定期的、継続的に検証プログラムを並行して実施しても、遊技プログラムの機能及び性能への制約の発生を最小限にできる。
【0030】
本発明に係る第6の態様によれば、前請求項1に記載の情報処理装置であって、前記所定のタイミングを、検証されるコンピュータプログラムに対して独立して発生するタイミング信号を利用するプログラムを用いて決定する、情報処理装置が提供される。
【0031】
前記第6の態様のタイミング発生回路は、情報処理装置に組み込まれたRTC(リアルタイムクロック)回路を用いてもよく、情報処理装置のシステムバスにタイミング発生回路を接続して用いてもよく、検証プログラムのソースコードを実行形式に変換するコンパイラ環境が提供する時間関数を用いてもよく、本発明の情報処理装置に対してネットワーク接続された他のコンピュータシステムが送信する時間情報を用いてもよい。検証されるコンピュータプログラムに対して独立して発生するタイミング信号を利用するプログラムを用いる手段を適宜選択できる。
【0032】
前記第6の態様によって、本発明の情報処理装置は、プログラムを検証するタイミングを、情報処理装置のコントローラの動作と独立した時間情報を有する回路、関数、外部機器から得ることができる。すなわち、コントローラが検証プログラム以外の処理を実行している期間においても、定期的な検証の必要が発生したことをコントローラに通知することができる。これによって、本発明の情報処理装置におけるプログラムの検証は、継続的、定期的であることを保証できる。
【0033】
本発明に係る第7の態様によれば、コンピュータプログラムにより遊技を制御する遊技制御手段と、遊技に関する情報を表示する表示手段とを備えた遊技機であって、請求項1から6のいずれかに記載の情報処理装置を含み、当該情報処理装置は当該コンピュータプログラムを検証する、遊技機が提供される。
【0034】
前記第7の態様の遊技機は、コンピュータプログラムによって実行される遊技制御手段を備え、遊技機使用者に遊技サービスを提供する装置である。該コンピュータプログラムは、前記第1の態様から前記第6の態様のいずれかに記載の情報処理装置によって検証される。該情報処理装置は、動的メモリ確保を実施するオペレーティングシステムにおいて、メモリ内に存在するプログラムを検証する。
【0035】
前記第7の態様によって、本発明の遊技機は、前記第1の態様から前記第6の態様のいずれかに記載の情報処理装置によって、動的メモリ確保を実施するオペレーティングシステムにおいて、遊技を制御するコンピュータプログラムを検証することができる。すなわち、本発明の遊技機は、遊技を制御するプログラムが破損または改ざん等を受けていないことを、起動時に保証し、動作期間を通じて、定期的、継続的に保証することができる。
【発明の効果】
【0036】
本発明によれば、動的メモリ確保を経由する検証作業によって、情報処理装置の起動時点において、また稼動中の所定のタイミングにおいて、動的メモリ確保を経由して実行されるプログラムに対する破損、改ざん等を検出し、破損、改ざん等が検出されたプログラムの動作を制限する情報処理装置を提供することができる。本発明は、当該プログラムがメモリ上に存在する期間を通じて破損、改ざんを受けていないことを保証できる、情報処理装置を提供することができる。
本発明によれば、コンピュータプログラムによって実行される遊技制御手段を備えた遊技機において、該コンピュータプログラムに対する破損、改ざん等を、起動時及び動作期間を通じて検出できる。本発明は、遊技機において遊技を制御するプログラムを、遊技機の起動時に保証し、遊技機の動作期間を通じて、定期的、継続的に保証することができる。
【発明を実施するための最良の形態】
【0037】
以下、本発明の実施形態について説明する。なお、これはあくまでも一例であって、本発明の技術的範囲はこれに限られるものではない。
【0038】
<実施例1>
本発明の一実施形態は、コンピュータプログラムが存在する主記憶メモリの位置の情報を仮想メモリテーブルから取得し、前記主記憶メモリの内容を参照して検査符号に置き換えて配列に記憶し、定期的に最新の仮想メモリテーブルの情報から前記コンピュータプログラムが存在する前記主記憶メモリの内容を参照して検査符号に置き換え、前記配列の記憶と前記検査符号が一致することを判定し、一致しない場合は前記コンピュータプログラムの動作を制限し、一致する場合は前記コンピュータプログラムを検証する情報処理装置である。
【0039】
<実施例2>
本発明の別の実施形態は、コンピュータプログラムによって遊技を制御し遊技に関する情報を表示し前記情報処理装置を含んで遊技のための前記コンピュータプログラムを初動時及び定期的継続的に検証する遊技機である。
【0040】
<実施例3>
実施例3では、本発明の情報処理装置が、検証されるコンピュータプログラムを所定のタイミングにおいて検証することを示す。
【0041】
図1は、本発明の情報処理装置が所定のタイミングにおいてコンピュータプログラムを検証することを示すフロー図である。
【0042】
図1に示したフロー図の全体は、Linuxオペレーティングシステムのカーネルを構成する、図示しないswapper関数から呼び出されるか、またはswapper関数が呼び出す、カーネルを構成する他の関数から呼び出される。例えば、システムコールに含まれる図示しないexecve関数から呼び出される。したがって、本発明の情報処理装置に含まれる、コンピュータプログラムを検証するプログラムは、カーネルの機能を利用でき、カーネルによる動的メモリ確保の手法で仮想メモリ中に使用領域を割り当てられたコンピュータプログラムの存在する主記憶メモリの位置の情報を参照できる。すなわち、主記憶メモリに存在する当該コンピュータプログラムの内容を参照することができる。
【0043】
図1において本発明の情報処理装置は、情報処理装置が備えるコントローラを用いて、コントローラに対する割り込みを許可し(ステップS1)、検証プログラム開始直後の初回プログラムテーブル、すなわち実行中の全てのプログラムの線形リスト形式テーブルを取得し、各プログラムが指し示すメモリ内容のCRCを計算し、値を配列Aに記憶する(ステップS2)。次に、情報処理装置は、プログラムの追加の有無を判定し(ステップS3)、追加プログラムがある場合は該追加プログラムの仮想メモリテーブルを取得し、該追加プログラムが指し示すメモリ内容のCRCを計算し、値を配列Aに追加して記憶する(ステップS4)。ステップS3においてプログラムの追加がない場合は、次に、RTCの割り込みが発生したかを判定する(ステップS5)。情報処理装置は、RTCの割り込み発生が生じた場合に、ステップS5から次のステップS6に進行する。すなわち、情報処理装置は、メモリ中に存在する1つのプログラムが使用する仮想メモリのテーブルを取得する(ステップS6)。次に、情報処理装置は、該テーブルに含まれる該プログラムの実行可能フラグが真であることの真偽を判定し(ステップS7)、真である場合は仮想メモリテーブルが指し示すメモリ内容のCRCを計算し、値を配列Bに記憶する(ステップS8)。次に、情報処理装置は、検証されるプログラムに対して計算した配列Aに含まれるCRC値と、配列Bに含まれるCRC値が一致するかを判定し(ステップS9)、一致する場合はプログラム内の最終メモリまで調べたかを判定し(ステップS11)、最終メモリまで調べた場合は、次に、ステップS2で取得したテーブルにおける次のプログラムのテーブル情報を取得する(ステップS12)。次に、全てのプログラムの検証を終了したことの真偽を判定する(ステップS13)。
【0044】
S7において実行可能フラグが真でない場合はS11を実行する。S9において配列Aに含まれる値と配列Bに含まれる値が等しくない場合はエラー処理(ステップS10)を実行する。S11においてプログラム内の最終メモリまで調べていない場合はS7に戻る。S13において偽であればS7に戻る。S13において真であればS3に戻る。S5においてRTCの割り込みがなければS3に戻る。
【0045】
前記ステップS9の判定が一致し、ステップS13の判定が真であれば、全てのプログラムが検証されたことになる。検証された結果は、例えば、図2に示した外部記憶装置15に保存する等のプログラムを用意して適宜保存できる。
【0046】
ステップS5は、後述する図2に示す通信インタフェース22を介して接続された外部の機器からの信号受信を調べるステップに置き換えることも可能であり、該信号受信とRTC割り込みを適宜選択できる。
【0047】
図1に示した本発明の情報処理装置の検証プログラムは、ステップS5で処理されるRTC割り込みが発生するまで、S3からS5までのループを繰り返して待機し続ける。
【0048】
ステップS5からステップS3へ戻る場合、及び、ステップS13からステップS3へ戻る場合のいずれにおいても、ステップS2は含まれないため、S2において取得した配列Aに含まれる初回のCRC値は、検証プログラムの動作期間中に保存される。
【0049】
このようにして、本発明の情報処理装置は、メモリ中に存在する全てのプログラムに対して、それぞれのプログラムごとに初回に計算したCRC値を含む配列Aと、繰り返して継続的に再計算した同一プログラムのCRC値を含む配列Bとが一致することを検証し続ける。これによって、本発明の情報処理装置は、検証されるプログラムがメモリ中に存在する期間中において、継続的、定期的に該プログラムに対する破損、改ざんを検出し、該プログラムを検証し続けることができる。したがって、本発明の情報処理装置においては、検証プログラムが動作する期間中において、検証されるプログラムが破損、改ざんを受けていないことを継続的に保証できる。
【0050】
本発明の情報処理装置において、検証プログラムに含まれるCRC値の一致の判定を開始するタイミングは、独立した時間情報を出力するリアルタイムクロック(RTC)を利用して決定しうるので、定期的にプログラムを保証することができる。
【0051】
図2は、本発明の情報処理装置の構成を示す図である。
情報処理装置1は、情報処理装置1の内部に設けられた電子機器が必要とする電力を供給するための電源ユニット19を備える。コントローラ10は情報処理装置1の内部に設けられ、情報処理装置1が電源投入後またはリセット後に起動する時に読み出す、初期設定に係る編集可能な情報等を記憶したCMOS RAM11、基本入出力等のブート動作に係る情報を記憶したBIOS ROM12、主記憶メモリ13、クロック発生回路14を備える。さらに、コントローラ10はシステムバス27を経由して、外部記憶装置15、拡張インタフェース16、コントロールパネル18、RTC21、通信インタフェース22、画像制御回路23、音制御回路25と接続する。拡張インタフェース16には、必要に応じて情報処理装置1の機能を追加しうる機能拡張ボード17を接続することができる。
【0052】
主記憶メモリ13は、メモリバス30を介してコントローラ10の主記憶として機能する。以下、特に限定しない用語「メモリ」は該主記憶メモリ13を指す。
RTC21は、リアルタイムクロック回路であり、バッテリ28を内蔵し、電源ユニット19が停止状態にあっても動作し続け、コントローラ10の動作に対して非同期的に動作し、時間情報を出力する。
クロック発生回路14は、コントローラ10の動作クロックを発生する回路である。クロック発生回路14は、任意に分周回路を内蔵できる。
機能拡張ボード17は、拡張インタフェース16を介してコントローラ10の機能を利用する追加の遊技ボード等を含む。
画像制御回路23には、画像表示装置24が接続される。
音制御回路25には、スピーカ26が接続される。音制御回路25は、BIOS ROM12に記憶されたブート動作に係るプログラムの実行時に発生したエラー等を使用者に通知するためのビープ音を発生する回路、デジタル音声データをアナログ音声信号に変換して振幅を増減する回路、または類似の回路、またはこれらの組合せである。スピーカ26は適宜選択できる。
【0053】
情報処理装置1が初期状態からの動作後に、すなわち、電源投入後またはリセット後に起動すると、本発明の情報処理装置において、基本入出力を定義したBIOS ROM12の内容に従い、コントローラ10は外部記憶装置15及び主記憶メモリ13の接続を確認し、外部記憶装置15に記憶された図示しないオペレーティングシステムを起動し、外部記憶装置15から主記憶メモリ13にファイルをコピーする。
【0054】
オペレーティングシステムは、コントローラ10、主記憶メモリ13、外部記憶装置15等の情報処理装置1に含まれる機器が、マルチタスク環境で動作するための基本プログラムである。オペレーティングシステムは、動的メモリ確保を行い、主記憶メモリ13の中に存在する複数のプログラムのそれぞれが自分自身のために使用するメモリのアドレスをページ単位で管理する。さらに、オペレーティングシステムは、個々のプログラムに独立に、プログラムID、ユーザID、実行可能フラグ、仮想メモリページ数、仮想メモリ開始ページ番号、等の情報を定型的な形式で付与し、プログラムを管理する。
【0055】
前記定型的な形式の好適な例は、一列に並んだデータを表現するデータ構造のひとつである、線形リストである。
【0056】
通信インタフェース22は、情報処理装置1に対する情報の送受信を行いうる外部機器と、予め決められた形式の信号を用いて通信する機能を有する。該予め決められた形式の信号は、国際電気通信連合電気通信標準化部門(略称ITU−T)勧告に記載の信号、100Base−T等のツイストペア線を用いるイーサネット(登録商標)規格に順じた信号、他のイーサネット規格に準じた信号、Bluetooth規格に準じた信号、通信手段に電波や赤外線や光を用いた信号、これらの規格に準じた信号のいずれか、またはこれらの組合せを含む。
【0057】
通信インタフェース22は、コントローラ10が実行するプログラムから利用可能な、本発明に係る検証プログラムを所定のタイミングに起動するための開始信号を受信することができる。
【0058】
図3は、本発明の情報処理装置の外観の例を示す斜視図である。情報処理装置41は筐体42を有し、筐体の正面側に画像表示装置24、コントロールパネル18、スピーカ26を有している。本発明の情報処理装置は、コントロールパネル18によってユーザの操作を受け付け、必要な情報等を画像表示装置24に表示する。本発明の情報処理装置は、検証されるコンピュータプログラムに破損、改ざん等を発見した場合には画面表示装置24に検出した内容の情報を表示してもよく、スピーカ26を用いてエラーが発生したことを使用者に放置する音声信号を出力してもよい。
【0059】
本発明の情報処理装置は、特に、遊技動作実行手段と、遊技を制御する手段と、遊技に関する表示手段とを備えた遊技機に含まれることができ、前記ユーザの操作及び前記画像表示に、スピーカ26からの音出力を伴って遊技サービスを提供することができる。
【0060】
本発明の、コンピュータプログラムを検証する情報処理装置は、前記遊技機以外の装置に含まれることもできる。例えば、現金預払機、有価証券発行機、証票発行機等に、本発明の情報処理装置を含むことができる。
【0061】
本発明の情報処理装置が、検証されるコンピュータプログラムを検証することを開始するタイミングは、図2に示したRTC21が発生するタイミング信号を用いるのが好適である。これ以外にも、RTC21が発生するタイミング信号を処理するプログラムが出力する論理、また通信インタフェース22を介して本発明の情報処理装置と接続した他の情報処理装置から受信した信号、またはこれらの組合せ、またはこれらを組合せた論理を用いることができる。
【0062】
図4は、本発明の情報処理装置が検証するプログラムが参照する、主記憶メモリのアドレスを指し示すための線形リストの例を示すテーブルである。線形リストは、1つのプログラムに対して1つのリストが作成される。図4は、3個のプログラムについて作成されたリストを示したが、これに限らずプログラムの個数と同数のリストが存在できる。例えば、プログラムID−1(T1)を有するプログラムのリストは、プログラム名T2、ユーザ名T3、実行可能フラグT4を有する。このプログラムがNページの仮想メモリを使用することが、前記リスト中の仮想メモリページ数T5に記され、仮想メモリ第1ページのアドレスT6、仮想メモリ第NページのアドレスT7等が前記リストに含まれる。別のプログラムIDを有するプログラムに対しても同様にリストが作成される。
【0063】
該線形リストが有するページ単位のメモリアドレスは、動的メモリ確保を行うオペレーティングシステムのメモリ管理方法によって生成されるものである。したがって、該線形リストを参照することにより、動的メモリ確保が行われるオペレーティングシステムにおいて、特定のプログラムが指し示す仮想メモリのアドレスを知ることができる。
【0064】
図5は、前記図1を用いて説明した検証におけるエラー処理を示すフロー図である。該エラー処理においては、初期のCRC値と検証時点でのCRC値が一致しないプログラムを動作停止し(ステップS21)、該プログラムが存在することをオペレーティングシステムに通知し(ステップS22)、エラーを示す信号を出力する(ステップS23)。次に、例えば、メモリ中に存在し続けることが情報処理装置の動作にとって危険であるようなプログラムに係る情報データベースを用い、即時シャットダウンを必要とする状況であるかを判定し(ステップS24)、偽である場合はエラー処理を終了する。
【0065】
ステップS24において真である場合は、情報処理装置の動作情報を外部記憶装置に記録し(ステップ25)、情報処理装置をシャットダウンするようオペレーティングシステムに通知する(ステップ26)。
【0066】
ステップS22は、本発明の第3の態様として示した、本発明の情報処理装置が備えるコントローラがコンピュータプログラムの動作を制限するプログラムを実行することのステップである。ステップS26は、本発明の第4の態様として示した、本発明の情報処理装置が備えるコントローラが情報処理装置の動作を制限するプログラムを実行することのステップである。
【0067】
ステップS23の、エラーを示す信号を出力するステップは、図2に示した画像制御回路25への電気信号として出力し、画像情報表示装置24に所定の文字情報、画像情報等を表示して、検証されるプログラムに破損または改ざん等が発生したことを使用者に通知してもよい。また、ステップS23の、エラーを示す信号を出力するステップは、図2に示した音制御回路25への電気信号を出力し、スピーカ26から音声信号として使用者への通知を行ってもよい。さらに、ステップS23の、エラーを示す信号を出力するステップは、図2に示した通信インタフェース22を介し、ネットワーク接続された他の情報処理装置に向けて、位相変調した電気信号、周波数変調された電波、振幅変調された光信号等の情報伝送に用いうる信号により、使用者への通知を行ってもよい。
【0068】
このようにして、本発明の情報処理装置においては、継続的に繰り返し検証する期間中の、検証されるプログラムの破損、改ざん等を検出し、破損、改ざん等を発見した場合にはプログラムの動作を制限することができる。さらに、本発明の情報処理装置においては、検証されるプログラムの破損、改ざん等を発見した場合には、情報処理装置の動作を制限することができる。
【0069】
<実施例4>
実施例4では、本発明の情報処理装置が起動時にコンピュータプログラムを検証することを示す。
【0070】
図6に、本発明の情報処理装置が初期状態からの起動後においてコンピュータプログラムを検証する、フロー図を示す。
【0071】
本発明の情報処理装置は、オペレーティングシステムが取り扱う情報の単位であるファイルを操作の対象とし、外部記憶装置から複数のファイルをメモリ領域Xにコピーする(ステップS31)。このとき、該ファイルは、図4に示したテーブルに含まれる実行可能フラグT4が真であるコンピュータプログラムである場合があり、また該実行可能フラグT4が偽である数値や文字である場合がある。また、メモリ領域Xは動的メモリ確保によって主記憶メモリにおけるアドレスの情報を管理される。次に、該情報処理装置は、再び、外部記憶装置から同一のファイルをメモリ領域Yにコピーする(ステップS32)。メモリ領域Yも同様に動的メモリ確保の下にある。次に、情報処理装置は、メモリ領域Xの内容とメモリ領域Yの内容が一致することの真偽を判定し(ステップS33)、真であれば終了する。S33が偽であれば一致しない内容の実行可能フラグの論理値を偽に設定し(ステップS34)、情報処理装置の入出力を制限し(ステップS35)、一致しない内容が存在したことをオペレーティングシステムに通知し(ステップS36)、エラーを示す信号を出力し(ステップS37)、終了する。
【0072】
前記ステップS33の結果が一致すれば、情報処理装置の起動時にファイルが検証されたことになる。すなわち、ファイルに含まれるプログラムが検証される。検証された結果は、例えば、図2に示した外部記憶装置15に保存する等のプログラムを用意して適宜保存できる。
【0073】
ステップS34は、本発明の第3の態様として示した、本発明の情報処理装置が備えるコントローラがコンピュータプログラムの動作を制限するプログラムを実行することのステップである。ステップS35は、本発明の第4の態様として示した、本発明の情報処理装置が備えるコントローラが情報処理装置の動作を制限するプログラムを実行することのステップである。
【0074】
ステップS37の、エラーを示す信号を出力するステップは、前述の図5に示したステップS23と同様である。
【0075】
このようにして、本発明の情報処理装置においては、検証されるファイルが外部記憶装置から主記憶メモリ上にコピーされる期間における検証を行うことができる。すなわち、情報処理装置の起動時点において、該期間を通じて検証されるファイルが破損、改ざんを受けていないことを保証できる。
【0076】
<実施例5>
実施例5では、本発明の情報処理装置に含まれるコントローラが実行するプログラムにより、2つのメモリ内容の一致が判定されることを示す。
【0077】
図2に示したコントローラ10は、実施例3に示したように、本発明の情報処理装置において動的メモリ確保を実施するカーネルの機能を利用し、主記憶メモリを参照する。
【0078】
本発明の情報処理装置は、実施例4で述べたように、初期状態からの起動時において、検証されるファイルが外部記憶装置から主記憶メモリ上にコピーされる期間における検証を行うことができる。さらに本発明の情報処理装置は、実施例3で述べたように、検証されるプログラムがメモリ中に存在する期間において、検査符号をもちいて、定期的、継続的に、破損、改ざん等の検出を実行して該プログラムを検証することができる。
【0079】
これらの検証は、前述したように、実施例4では図6のステップS33において、2つのメモリ領域が一致することの真偽を判定し、実施例3では図1のステップS9において、2つの検査符号が一致することの真偽の判定として行われる。
【0080】
本発明の情報処理装置に含まれるコントローラは、コントローラ自体が有する命令セット、オペレーティングシステムが提供するサービスコール、プログラムをソースコードから実行形式に編集するコンパイラが提供する関数、オペレーティングシステム上で稼動するスクリプト言語が提供する演算子等、またはこれらの組合せを利用しうる。該コントローラは、例えば、2つのメモリ内容を比較して同一であることを判定できる。別の例では、該コントローラは、該コントローラが有する命令セットに含まれる整数演算の命令を用いて、該コントローラが演算できる情報量の単位ごとに2つのメモリ内容をそれぞれ分割し、相互の差を計算し、全ての分割についての相互の全ての差がゼロであることをもって、2つのメモリ内容が同一であることを判定できる。
【0081】
このようにして、比較命令または差分計算を含むプログラムを、本発明の情報処理装置に含まれるコントローラに実行させることにより、本発明の情報処理装置において2つのメモリ内容が同一であることを判定できる。
【0082】
さらに、本発明の情報処理装置における検証プログラムは、動的メモリ確保を実施するカーネルの機能を利用する。該検証プログラムの内部に、前記2つのメモリ内容が同一であることを判定するプログラムを含ませることで、前記2つのメモリ内容が同一であることを判定するプログラムは、動的メモリ確保の手法でメモリ管理されたコンピュータプログラムが存在する主記憶メモリの内容を参照できる。
【0083】
前記2つのメモリ内容が同一であることを判定するプログラムは、主記憶メモリの内容を参照できるので、検査符号が存在する主記憶メモリを参照することができる。したがって、図1を用いて説明したステップ9の、2つの検査符号が一致することの真偽の判定は、前記2つのメモリ内容が同一であることを判定するプログラムに含まれる。
【0084】
<実施例6>
実施例6では、本発明の情報処理装置に含まれるコントローラが実行するプログラムによって、検証されるコンピュータプログラムの動作が制限されることを示す。
【0085】
実施例3において説明し、図1を用いてステップS7に示したように、検証プログラムは検証されるコンピュータプログラムが存在する主記憶メモリの位置を示す仮想メモリテーブルを参照し、実行可能フラグの真偽を判定する。
検証されるコンピュータプログラムは、メモリ上に存在する期間において実行可能な状態であるときに、仮想メモリテーブル中の実行可能フラグが論理値の真である。図5を用い、ステップS21に示したように、前記期間におけるエラー処理は、CRC値の一致しないプログラムの動作を停止させることを含む。
【0086】
さらに、実施例4において説明し、図6を用いてステップS34に示したように、外部記憶装置からメモリ領域にファイルがコピーされる期間において、検証されるプログラムに対する破損、改ざん等が検出された場合のエラー処理は、一致しないメモリ内容の実行可能フラグを論理値の偽に設定し、検証されるプログラムの動作を禁止することを含む。
【0087】
これらの停止及び禁止は、動的メモリ確保を実施するカーネルを利用し、検証されるプログラムが存在する仮想メモリを参照するコントローラが実行する検証プログラムによって行われる。すなわち、本発明の情報処理装置に含まれるコントローラが実行する検証プログラムは、検証されるプログラムに破損、改ざん等が検出された場合に、カーネルのプログラム管理機能を利用して、該検証されるプログラムの動作を制限することができる。
【0088】
<実施例7>
実施例7では、本発明の情報処理装置に含まれるコントローラが実行するプログラムによって、当該情報処理装置の動作が制限されることを示す。
【0089】
実施例3において説明し、図5を用いてステップS25に示したように、検証されるプログラムがメモリ上に存在する期間において、検証されるプログラムに破損、改ざん等が検出された場合のエラー処理は、情報処理装置のシャットダウンをオペレーティングシステムに通知することを含む。
【0090】
さらに、実施例4において説明し、図6を用いてステップS35に示したように、外部記憶装置からメモリ領域にファイルがコピーされる期間において、検証されるプログラムに対する破損、改ざん等が検出された場合のエラー処理は、情報処理装置の入出力を制限することを含む。例えば、破損、改ざん等が検出され停止されたコンピュータプログラムを再度起動できないよう、図2に示したコントロールパネル18からの入力を適宜停止させる。
【0091】
本発明の情報処理装置に含まれるコントローラが実行するプログラムは、検証されるプログラムの破損、改ざん等を検出した場合に、シャットダウンを通知し、入出力を制限することによって、情報処理装置の動作を制限することができる
【0092】
<実施例8>
実施例8では、本発明の情報処理装置が、前記第1の態様において、前記第1のメモリ及び前記第2のメモリが記憶する検査符号として、CRCを用いることを示す。
【0093】
CRCは、磁気記憶媒体からメモリへのデータの転送等において、誤り検出符号として広く用いられる。本発明の情報処理装置においては、検証されるプログラムの内容を、例えば32ビット幅のCRC値によって代表する。これは、例えば、数100キロバイトの主記憶メモリを使用するコンピュータプログラムの内容を、32ビットの数値1個によって代表することを意味する。該コンピュータプログラムを定期的、継続的に検証する手段は、所定のタイミングに該コンピュータプログラムが存在する主記憶メモリの位置を示す仮想メモリテーブルを用いて、該コンピュータプログラムが存在する主記憶メモリの内容を参照し、再び32ビットの数値1個を算出して、初回の32ビットの数値と同一であることを判定する。すなわち、数100キロバイトのメモリ内容を記憶して検証することをせず、32ビットの数値を記憶して検証する。
【0094】
本発明の情報処理装置においては、初回検証におけるCRC値と、定期的、継続的検証におけるCRC値の、2つのCRC値の一致を判定した場合に、検証されるコンピュータプログラムに破損、改ざん等が生じていないことを保証する。
【0095】
このようにして、CRC値が一致することを検証に用いることによって、本発明の情報処理装置は、継続的、定期的なプログラムの検証を迅速に行うことができる。したがって、本発明の情報処理装置の検証プログラムは、情報処理装置が備えるコントローラが、検証プログラム以外の処理を実行している期間中においても、その処理性能の低下を抑えて、プログラムの検証を行うことができる。
【0096】
<実施例9>
実施例9では、本発明の情報処理装置が、前記所定のタイミングの決定を、検証されるコンピュータプログラムに対して独立して発生するタイミング信号を利用するプログラムを用いて行うことを示す。
【0097】
前記タイミング信号の好適な例はRTC回路の出力を用いることである。RTCはリアルタイムクロック回路であり、バッテリ28を内蔵して電源ユニット19が停止状態にあっても動作し続け、コントローラ10の動作に対して非同期的に動作し、時間情報を出力する。
【0098】
典型的なRTCチップの例はMAXIM社D−1302型であるが、これに限らず、コントローラの動作クロックに対して非同期に動作するものを適宜選択して本発明の情報処理装置に使用できる。RTCはコントローラと独立した回路でありうるので、例えば、本発明の情報処理装置が備える拡張インタフェースを介する、機能拡張ボードとして提供されてもよい。
【0099】
実施例3において、図1を用いて説明したステップS5は、RTCからの割り込みを判定するステップであり、前述のように検証プログラムはステップS3からステップS5を繰り返して待機する。RTCからの割り込みは、RTCが内蔵するバッテリで駆動する回路が独自に時間情報を出力して発生するので、繰り返して待機する検証プログラムの動作とは非同期である。
【0100】
例えば、RTCがHH:MM:SS形式で、時間:分:秒の数値を出力し、1秒に1回の割合で秒の数値を1ずつインクリメントさせる場合、秒の数値を2進数として扱うと、最下位ビットは2秒に1回の割合で真から偽に論理を反転させる。これをコントローラへの割り込みに使用することで、2秒に1回の頻度で、検証プログラムをステップS5からステップS6へ進行させる条件を発生させることができる。
【0101】
前記頻度は、使用するRTCによって、RTCの出力データを変換しうる論理回路の追加によって、RTCの出力データを変換しうるプログラムによって、適宜設計できる。例えば、プログラムをソースコードから実行形式に編集するコンパイラが提供する、RTCからの出力データを参照する関数の計算値をさらに整数倍する等の計算処理によって、前記頻度を制御してもよい。
【0102】
このようにして、RTC割り込みを待機するプログラムを用いて、コントローラの動作クロックに対して非同期であるタイミングに、検証されるプログラムを、定期的に検証することができる。
【0103】
検証プログラムが全ての検証されるプログラムの検証を行うと、図1のステップS13を用いて説明した分岐にしたがい、検証プログラムは、終了することなく、再びステップS3からステップS5を繰り返して待機する。したがって、本発明の情報処理装置は、検証されるプログラムを、継続的に検証することができる。
【0104】
上述のように、本発明の情報処理装置は、プログラムを検証するタイミングを、情報処理装置のコントローラの動作と独立した時間情報を有する回路、関数、外部機器から得ることができる。すなわち、コントローラが検証プログラム以外の処理を実行している期間においても、定期的な検証の必要が発生したことをコントローラに通知することができる。これによって、本発明の情報処理装置は、定期的、継続的にプログラムを検証することができる。
【0105】
ステップS5は、図2に示した通信インタフェース22を介して接続された外部の機器からの信号受信の有無を判定するステップに置き換えてもよく、該信号受信とRTC割り込みを適宜選択してもよい。
【0106】
<実施例10>
実施例10では、コンピュータプログラムにより遊技を制御する遊技制御手段と、遊技に関する情報を表示する表示手段とを備え、本発明の情報処理装置を含み、当該情報処理装置が当該コンピュータプログラムを検証する、遊技機の構成を示す。
【0107】
図7に、本発明の情報処理装置を含む、本発明の遊技機の構成を示す。図2と重複する箇所の説明は省略する。
【0108】
遊技機40は、情報処理装置1を含み、コイン投入を調べるコインセンサ33、外部機器との通信のための通信ポート34を備えることができる。通信ポート34は情報処理装置の通信インタフェース22と接続している。好適な通信ポート34の例は、100Base−T形式の信号を介するツイストペアケーブルを接続可能なネットワーク接続端子である。
【0109】
遊技機40は、外部記憶装置15に記憶されたコンピュータプログラムを用い、コントロールパネル18からの使用者の入力操作をもとに遊技を制御し、画像制御回路23及び画像表示装置24を用いて遊技に関する情報を表示できる。さらに遊技機40は音制御回路25及びスピーカ26を用いて遊技に伴う音を出力できる。
【0110】
図7に示された遊技機40は、外部記憶装置15に記憶され、主記憶メモリ13に存在して遊技に用いられるコンピュータプログラムを、本発明の情報処理装置1によって検証することができる。
【0111】
本発明の情報処理装置1は、実施例4に示したように、初期状態からの動作開始時に、検証されるコンピュータプログラムが外部記憶装置15から主記憶メモリ13にコピーされる段階において、破損、改ざんが生じないことを保証することができる。また、本発明の情報処理装置1は、実施例3に示したように、主記憶メモリ13に検証されるプログラムが存在する期間中の所定のタイミングにおいて、該コンピュータプログラムを定期的、継続的に検証し、破損、改ざんが生じないことを保証することができる。
【0112】
遊技機の管理者は、通信ポート34を介して本発明の情報処理装置1に向けて予め決められた情報を送信し、遊技プログラムの検証を開始してもよい。
【0113】
初期状態からの動作開始時に、遊技プログラムに、破損、改ざん等の発生が検出された場合は、実施例4において図6を用いステップS35として示したように、情報処理装置の入出力を制限し、破損、改ざん等の発生が検出された遊技プログラムが動作開始しないようにすることができる。好適な入出力の制限は、図7におけるコントロールパネル18を使用停止し、使用者が遊技プログラムに動作の開始を指示しないようにすることである。
【0114】
遊技プログラムが主記憶メモリに存在する期間中において、遊技プログラムに、破損、改ざん等の発生が検出された場合は、実施例3において図5を用いステップS21として示したように、破損、改ざん等の発生が検出された遊技プログラムを動作停止する。さらに、メモリ中に存在し続けることが情報処理装置の動作にとって危険であるようなプログラムに係る情報データベースを用い、破損、改ざん等の発生が検出された該遊技プログラムが危険性を有する場合に、シャットダウンが必要であることをオペレーティングシステムに通知できる。該情報データベースは、例えば、図2に示した外部記憶装置15に記憶される。
【0115】
このようにして、本発明の遊技機40は、遊技の制御、遊技情報の表示をコンピュータプログラムで行い、本発明の情報処理装置を用いて該コンピュータプログラムを該情報処理装置により検証することができる。したがって、本発明の遊技機においては、遊技プログラムが外部記憶装置から主記憶メモリ上にコピーされる期間を通じて検証される遊技プログラムが破損、改ざんを受けていないことを保証できる。
【0116】
本発明の遊技機においては、検証される遊技プログラムに対する破損、改ざん等を継続的、定期的に検出し、破損、改ざん等を発見した場合には遊技プログラムの動作を制限でき、さらに情報処理装置の動作を制限することによって遊技機の動作を制限できる。したがって、本発明の遊技機においては、遊技プログラムが主記憶メモリに存在する期間中に、該遊技プログラムを継続的、定期的に保証できる。
【0117】
<実施例11>
実施例11では、コンピュータプログラムにより遊技を制御する遊技制御手段と、遊技に関する情報を表示する表示手段とを備え、本発明の情報処理装置を含み、前記情報処理装置が前記コンピュータプログラムを検証する、遊技機の形態を示す。
【0118】
図8は、図7を用いて説明した構成を有する本発明の一実施形態に係る遊技機の例を示す斜視図である。本実施形態において、遊技機40は、スロットマシンである。ただし、本発明において、遊技機としては、スロットマシンに限定されず、例えば、ビデオスロットマシン、ビデオカードゲーム機等のいわゆるシングルゲーム機であってもよく、競馬ゲームやビンゴゲームや宝くじ等のように結果が表示されるまでに所定の時間を要するゲームを行ういわゆるマスゲーム機(マルチ・ターミナル・ゲーミングマシン)等であってもよい。
【0119】
遊技機40では、クレジットとして、コイン、紙幣又はこれらに相当する電子的な有価情報が用いられるものである。ただし、本発明において、クレジットとしては、特に限定されるものではなく、例えば、メダル、トークン、電子マネーを挙げることができる。
【0120】
図8に示す遊技機40は、筐体42を備えている。筐体42の内部には、3個のリール54(54L、54C、54R)が回転可能に設けられている。各リール54の外周面には、22個の図柄(以下、シンボルともいう)からなるシンボル列が描かれている。
【0121】
各リール54の前方には、下側画像表示パネル56が設けられている。下側画像表示パネル56は、透明液晶パネルを備えていて、遊技中には、遊技に関する各種の情報や演出画像等が表示される。下側画像表示パネル56は、本発明における画像の出力装置に相当するものである。下側画像表示パネル56には、クレジット数表示部71及びペイアウト数表示部72が設定されている。クレジット数表示部71には、クレジットされたコインの枚数が画像によって表示される。ペイアウト数表示部72には、入賞ライン上に再配置されたシンボルの組合せが所定の組合せであった場合に払い出されるコインの数が画像によって表示される。
【0122】
下側画像表示パネル56には、その背面を視認可能な3個の表示窓55(55L、55C、55R)が形成されていて、各表示窓55を介して各リール54の外周面に描かれたシンボルがそれぞれ3個ずつ表示される。下側画像表示パネル56には、3個の表示窓55を水平に横切る1本の入賞ラインが形成されている。入賞ラインは、シンボルの組合せを規定するものである。入賞ライン上に再配置されたシンボルの組合せが所定の組合せであった場合に、その組合せとコインの投入数(BET数)とに応じた枚数のコインが払い出される。
【0123】
なお、本発明においては、例えば、3個の表示窓55を水平に又は斜めに横切る複数本の入賞ラインが形成されていて、コインの投入数に応じた数の入賞ラインが有効化され、有効化された入賞ライン上に再配置されたシンボルの組合せが所定の組合せであった場合に、その組合せに応じた枚数のコインが払い出されることとしてもよい。
【0124】
更に、下側画像表示パネル56の前面には、図示しないが、タッチパネル99が設けられていて、遊技者はタッチパネル99を操作して各種の指示を入力することができる。
【0125】
下側画像表示パネル56の下方には、遊技者によって遊技進行に係る指示が入力される複数のボタン63〜67からなるコントロールパネル18と、コインを筐体42内に受け入れるコイン受入口61と、紙幣識別器62とが設けられている。
【0126】
コントロールパネル18には、スピンボタン63と、チェンジボタン64と、キャッシュアウトボタン65と、1−BETボタン66と、最大BETボタン67とが設けられている。スピンボタン63は、リール54の回転を開始させる指示を入力するためのものである。チェンジボタン64は、遊技施設の係員に両替を要求する際に用いられるものである。キャッシュアウトボタン65は、クレジットされているコインをコイントレイ58に払い出す指示を入力するためのものである。
【0127】
1−BETボタン66は、クレジットされているコインのうち、1枚のコインを遊技に賭ける指示を入力するためのものである。最大BETボタン67は、クレジットされているコインのうち、1回の遊技に賭けることが可能な最大枚数(本実施形態では50枚)のコインを遊技に賭ける指示を入力するためのものである。
【0128】
なお、本発明において、クレジットの投入とは、クレジットが消費されることをいう。クレジットが消費される場合には、クレジットが直接遊技に賭けられる場合と、遊技のモードを変更する等の直接遊技に賭けること以外の目的のためにクレジットが消費される場合とが含まれる。例えば、コイン受入口61に投入されたコインが、直接遊技に賭けられる場合、コイン受入口61へのコインの投入が、クレジットの投入に相当する。ただし、本実施形態のように、コイン受入口61へコインが投入されると、一旦クレジットされ、1−BETボタン66又は最大BETボタン67が操作されると、クレジットされたコインが遊技に賭けられる場合、クレジットされたコインが遊技に賭けられることが、クレジットの投入に相当する。
【0129】
紙幣識別器62は、紙幣の適否を識別するとともに正規の紙幣を筐体42内に受け入れるものである。
【0130】
筐体42の前面には、上側画像表示パネル73が設けられている。上側画像表示パネル73は、液晶パネルを備えていて、例えば、演出画像、遊技内容の紹介や遊技のルールの説明を表す画像が表示される。本実施形態においては、上側画像表示パネル73も、下側画像表示パネル56と同様に、本発明における画像の出力装置に相当するものである。なお、本発明においては、下側画像表示パネル56及び上側画像表示パネル73のいずれか一方が、画像の出力装置に相当するものであってもよい。
【0131】
また、筐体42には、スピーカ26が設けられている。スピーカ26は、本発明における音の出力装置に相当するものである。下側画像表示パネル56の下側には、カードリーダ76と、データ表示器77と、キーパッド78とが設けられている。
【0132】
カードリーダ76は、スマートカードからのデータの読み取り及びスマートカードへのデータの書き込みを行うものである。スマートカードは、遊技者が所持するカードであり、例えば、遊技者を識別するためのデータ、遊技者が行った遊技の履歴に関するデータが記憶される。スマートカードには、コイン、紙幣又はクレジットに相当するデータが記憶されることとしてもよい。また、スマートカードにかえて、磁気ストライプカードを採用してもよい。データ表示器77は、蛍光ディスプレイ等からなり、例えば、カードリーダ76が読み取ったデータや、遊技者によってキーパッド78を介して入力されたデータを表示するものである。
【0133】
図8に一形態を示した本発明に係る遊技機は、コンピュータプログラムを用いてコントロールパネル18に設けられたスピンボタン63等からの入力に基づき遊技を制御し、表示窓55、上側画像表示パネル73等に遊技に関する情報を表示する。本発明の遊技機に含まれる情報処理装置が、当該コンピュータプログラムを起動時において、及び稼動期間中に定期的、継続的に検証することにより、本発明の遊技機は、遊技に係るコンピュータプログラムの起動時において及び当該コンピュータプログラムが主記憶メモリに存在する期間中において、当該コンピュータプログラムに破損、改ざん等が生じていないことを定期的、継続的に保証することができる。
【0134】
以上、本発明の実施形態を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。上記実施形態に、多様な変更または改良を加えることができる。そのような変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。例えば、(1)ATM(現金自動預払機)、(2)旅客乗車券、定期券、航空券、テレホンカード、等の有価証券販売機、(3)商品引換券等の証票発行端末、(4)住民票等法律の証明書類を発行する証書発行端末、等にも同様に対応することができる。
【産業上の利用可能性】
【0135】
本発明のプログラムを検証する情報処理装置は、動的メモリ確保を行うオペレーティングシステムを利用し、初期状態からの起動時にコンピュータプログラムを検証し、さらに情報処理装置の稼動中の所定のタイミングにおいてコンピュータプログラムを検証できる。これらによって、動的メモリ確保を行うオペレーティングシステムにおける当該コンピュータプログラムの破損や改ざん等を検出できるとともに、主記憶メモリに存在するコンピュータプログラムが破損や改ざん等を受けていないことを定期的かつ継続的に検証し、当該プログラムが主記憶メモリ上に存在する期間を通じて破損、改ざん等を受けていないことを保証することができる。
【図面の簡単な説明】
【0136】
【図1】本発明の情報処理装置が所定のタイミングにおいてコンピュータプログラムを検証することを示すフロー図である。
【図2】本発明の情報処理装置の構成を示す図である。
【図3】本発明の情報処理装置の外観の例を示す斜視図である。
【図4】本発明の情報処理装置が検証するプログラムが参照する主記憶メモリのアドレスを指し示すための線形リストの例を示すテーブルの説明図である。
【図5】本発明の情報処理装置におけるエラー処理を示すフロー図である。
【図6】本発明の情報処理装置が初期状態からの起動後においてコンピュータプログラムを検証することを示すフロー図である。
【図7】本発明の遊技機の構成を示す図である。
【図8】本発明の遊技機の外観の例を示す斜視図である。
【符号の説明】
【0137】
1 情報処理装置
10 コントローラ
11 CMOS RAM
12 BIOS ROM
13 主記憶メモリ
14 クロック発生回路
15 外部記憶装置
16 拡張インタフェース
17 機能拡張ボード
18 コントロールパネル
19 電源ユニット
20 メインボード
21 RTC
22 通信インタフェース
23 画像制御回路
24 画像表示装置
25 音制御回路
26 スピーカ
27 システムバス
28 バッテリ
30 メモリバス
31 外部記憶バス
33 コインセンサ
34 通信ポート
35 遊技ボード
40 遊技機
41 情報処理装置
42 筐体
54 リール
55 表示窓
56 下側画像表示パネル
58 トレイ
61 コイン受入口
62 紙幣識別器
63 スピンボタン
64 チェンジボタン
65 キャッシュアウトボタン
66 1−BETボタン
67 最大BETボタン
71 クレジット数表示部
72 ペイアウト数表示部
73 上側画像表示パネル
76 カードリーダ
77 データ表示器
78 キーパッド
99 タッチパネル

【特許請求の範囲】
【請求項1】
コンピュータプログラムを検証し、主記憶メモリを有する情報処理装置であって、
前記主記憶メモリに存在するコンピュータプログラムを含むデータの位置を示す情報を記憶するメモリ領域を参照し、前記データが存在する前記主記憶メモリの内容を第1のメモリ領域に検査符号として記憶し、
所定のタイミングにおいて、
前記主記憶メモリに存在する前記コンピュータプログラムを含むデータの位置を示す最新の情報を記憶するメモリ領域を参照し、前記コンピュータプログラムが存在する前記主記憶メモリの内容を第2のメモリ領域に検査符号として記憶し、
前記第1のメモリ領域に記憶された検査符号と、前記第2のメモリ領域に記憶された検査符号とを照合し、前記照合の結果、一致しないと判定された場合には、前記検査符号が一致しないことを示すエラーを示す信号を出力する一方で、前記照合の結果、一致すると判定された場合には、前記コンピュータプログラムを検証するコントローラを備える情報処理装置。
【請求項2】
請求項1に記載の情報処理装置であって、前記第1のメモリ領域及び前記第2のメモリ領域の検査符号の一致を、前記コントローラが実行するプログラムにより判定する、情報処理装置。
【請求項3】
請求項1に記載の情報処理装置であって、前記コントローラは、前記コンピュータプログラムの動作を制限するプログラムを実行する、情報処理装置。
【請求項4】
請求項1に記載の情報処理装置であって、前記コントローラは、当該情報処理装置の動作を制限するプログラムを実行する、情報処理装置。
【請求項5】
請求項1に記載の情報処理装置であって、前記第1のメモリ領域及び前記第2のメモリ領域が記憶する検査符号として、CRCを用いた、情報処理装置。
【請求項6】
請求項1に記載の情報処理装置であって、前記所定のタイミングを、検証されるコンピュータプログラムに対して独立して発生するタイミング信号を利用するプログラムを用いて決定する、情報処理装置。
【請求項7】
コンピュータプログラムにより遊技を制御する遊技制御手段と、遊技に関する情報を表示する表示手段とを備えた遊技機であって、請求項1に記載の情報処理装置を含み、前記情報処理装置は前記コンピュータプログラムを検証する、遊技機。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2009−34157(P2009−34157A)
【公開日】平成21年2月19日(2009.2.19)
【国際特許分類】
【出願番号】特願2007−198763(P2007−198763)
【出願日】平成19年7月31日(2007.7.31)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.Linux
2.Bluetooth
【出願人】(598098526)アルゼ株式会社 (7,628)
【Fターム(参考)】