JP4162148B2 - 情報処理装置 - Google Patents

情報処理装置 Download PDF

Info

Publication number
JP4162148B2
JP4162148B2 JP2006110315A JP2006110315A JP4162148B2 JP 4162148 B2 JP4162148 B2 JP 4162148B2 JP 2006110315 A JP2006110315 A JP 2006110315A JP 2006110315 A JP2006110315 A JP 2006110315A JP 4162148 B2 JP4162148 B2 JP 4162148B2
Authority
JP
Japan
Prior art keywords
time information
time
unit
request
information
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.)
Active
Application number
JP2006110315A
Other languages
English (en)
Other versions
JP2007286699A (ja
Inventor
真也 齊藤
真理子 北島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Computer Entertainment Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sony Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Priority to JP2006110315A priority Critical patent/JP4162148B2/ja
Priority to US11/687,746 priority patent/US7770046B2/en
Publication of JP2007286699A publication Critical patent/JP2007286699A/ja
Application granted granted Critical
Publication of JP4162148B2 publication Critical patent/JP4162148B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/14Time supervision arrangements, e.g. real time clock

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Electric Clocks (AREA)

Description

本発明は、複数の実行空間を管理可能なコンピュータシステム等の情報処理装置に関する。
近年のコンピュータシステムにおいては、複数の実行空間においてプログラムを並列的に実行することができるようになっているものがある。ここで実行空間とは、メモリ空間やプロセッサなど、プログラム実行に要するリソースが論理的、ないし物理的に割り当てられている、プログラムの論理的な実行単位である。
例えば、あるプロセッサでは、複数のプロセッサコアを備えて、各プロセッサコアにおいて並列的に、互いに異なるインストラクションを実行可能としている。また各プロセッサコアに対応してローカルメモリを備え、プロセッサコアは、対応して設けられたローカルメモリに格納したプログラムを実行する。この場合、各プロセッサコアと対応するローカルメモリとによって実行空間が区分される。
このように複数の実行空間においてプログラムを並列的に実行するコンピュータシステムでは、外部のリソース(プロセッサ外のメモリや、入出力デバイス等)にアクセスする際に、各実行空間で実行されるプログラムから外部のリソースへのアクセスを調停するマネージャが設けられ、このマネージャにより外部リソースの利用が管理される。
こうした外部リソースの一つに、バッテリによってバックアップされた計時部がある。この計時部は、コンピュータシステムの管理者によって設定された時刻情報を保持し、時刻の計時をしている。この計時部が計時している時刻の情報についても、マネージャを介して各実行空間内のプログラムが取得できる。
ところが、各実行空間において、別々のオペレーティングシステム(外部デバイスとの入出力や、プログラム実行等を管理するシステムプログラム)が実行されている場合など、実行空間ごとに異なる時刻情報を取得したい場合もある。このような要望に応える方法として、実行空間の一例である論理パーティションごとに、違いに異なる値に設定されたパーティション・オフセットを用いて、計時部が計時する時刻情報を補正し、各論理パーティションにおいて異なる時刻を設定可能なシステムが、特許文献1に開示されている。
米国特許出願公開第2004/0205368号明細書
しかしながら、上記特許文献1に開示の技術では、計時部において計時している時刻の補正について信頼できない場合がある。すなわち、ある実行空間で実行されているオペレーティングシステムの管理者は、コンピュータシステム全体の管理者とは限らないにも関わらず、当該実行空間内の管理者権限を行使して計時部の時刻を補正してしまうことも、この特許文献1に開示のもののみでは可能となっている。
本発明は上記実情に鑑みて為されたもので、各実行空間や各プロセスごとに異なる時刻情報を設定できるようにしつつ、時刻の取得や補正を安全な方法で実行できる情報処理装置を提供することを、その目的の一つとする。
上記従来例の問題点を解決するための本発明は、情報処理装置であって、時刻情報を管理し、要求に応じて、計時している時刻情報を取得して提供する時刻保持手段と、時刻情報の取得要求を受けて、前記時刻保持手段に対して当該要求を出力して、提供された時刻情報を取得して出力する時刻情報取得手段と、要求元からの要求に応じて、前記時刻取得手段に対して時刻情報の取得要求を出力し、時刻取得手段が出力する時刻情報を取得して、前記要求元に当該取得した時刻情報を提供する時刻情報要求手段と、を含み、前記時刻保持手段と、前記時刻情報取得手段と、前記時刻情報要求手段とが、互いに異なる実行空間において実行されることを特徴としている。
このように、異なる実行空間で、時刻情報の要求、取得、管理の各処理が実現されることで、時刻の取得や補正を安全な方法で実行させることができる。
ここで前記時刻保持手段は、前記計時している時刻情報を基準時刻情報として、予め定められた識別子ごとに、当該基準時刻情報との差に係る差分情報を保持しており、時刻情報が要求されたときに、当該要求の要求元から取得される前記識別子に関連づけられた差分情報と、前記基準時刻情報とに基づいて、提供する時刻情報を演算し、当該演算の結果得られた時刻情報を提供することとしてもよい。このように差分情報を個々の識別子ごとに設定可能とすることで、実行空間やプロセスごとに異なる時刻情報を設定できるようになり、また、基準時刻情報を補正する代わりにこの差分情報を補正すれば、時刻の取得や補正を安全な方法で実行させることができる。
また、本発明の一態様は、情報処理方法であって、互いに内部データへのアクセス不能となっている、第1、第2、第3の実行空間を提供可能な処理要素を備えたコンピュータを用いて、前記第1の実行空間にて、時刻情報を管理し、要求に応じて、計時している時刻情報を取得して提供する処理を実行する工程と、前記第2の実行空間にて、時刻情報の取得要求を受けて、前記第1の実行空間で実行される処理に対して当該要求を出力して、当該処理から提供された時刻情報を取得して出力する処理を実行する工程と、前記第3の実行空間にて、要求元からの要求に応じて、前記第2の実行空間で実行される処理に対して時刻情報の取得要求を出力し、当該処理が出力する時刻情報を取得して、前記要求元に当該取得した時刻情報を提供する処理を実行する工程と、を含むことを特徴としている。
本発明の実施の形態について図面を参照しながら説明する。本発明の実施の形態に係る情報処理装置は、例えばパーソナルコンピュータや、家庭用ゲーム機などであり、図1に示すように、制御部11と、記憶部12と、入出力部13とを含み、制御部11と記憶部12とはメモリバスMBを介して接続され、制御部11と入出力部13とは入出力バスIOBを介して接続されている。また入出力部13には、外部記憶部14と、操作部15と、表示制御部16と、時刻管理ユニット17とが接続されている。制御部11は、図2に示すように、メインプロセッシングユニット(MPU)21と、メモリコントローラ22と、入出力コントローラ23と、少なくとも一つのサブプロセッサユニット24(図2では、1つのサブプロセッサユニット24を図示。)とを含み、これらは互いにプロセッサバス(PB)を介して接続されている。また、各サブプロセッサユニット24は、ローカルメモリ部31と、副演算素子(SP)32とを含んで構成される。
制御部11のMPU21は、記憶部12に格納されたプログラムから、個々のインストラクション(プログラムに含まれる命令)を、メモリコントローラ22を介して読み出し、実行する。本実施の形態では、このMPU21は、プログラムのインストラクションにサブプロセッサユニット24の起動指示があったときには、サブプロセッサユニット24に対してプログラムのロード命令を出力してサブプロセッサユニット24を起動する。このサブプロセッサユニット24の起動の処理については後に述べる。
また、本実施形態では、このMPU21はオペレーティングシステム(OS)や、アプリケーションプログラムを実行するものとする。
メモリコントローラ22は、メモリバス(MB)を介して記憶部12に接続されている。このメモリコントローラ22は、MPU21や、サブプロセッサユニット24から入力されるデータの読み出し要求に従って記憶部12からデータを読み込み、要求元のMPU21やサブプロセッサユニット24に出力する。また、このメモリコントローラ22は、MPU21やサブプロセッサユニット24から入力されるデータの記録要求に従って記憶部12にデータを書き込む。
入出力コントローラ23は、入出力部13に接続されている。この入出力コントローラ23は、MPU21やサブプロセッサユニット24からデータの出力指示があったときに、この指示に従い、入出力部13に対して、外部記憶部14や表示制御部16等のうちからデータの出力先を指定するとともに、指示の対象となったデータを、入出力部13に出力する。また、外部記憶部14や操作部15等からのデータが入出力部13から入力されると、当該データを出力先となるMPU21またはサブプロセッサユニット24に出力する。
サブプロセッサユニット24は、ローカルメモリ部31および副演算素子32を有する。ローカルメモリ部31は、記憶素子であり、副演算素子32のワークメモリとして動作する。副演算素子32は、プログラム実行素子であり、記憶部12から読み出され、ローカルメモリ部31に格納したプログラムに従って動作する。
各サブプロセッサユニット24は、それぞれ独立した実行空間を持ち、必要に応じて互いの実行空間を参照することで、効率的にプログラムを実行することができる。
本実施形態では、複数のサブプロセッサユニット24のうちの少なくとも1つのサブプロセッサユニット24は、セキュリティプロセッサユニットとして動作可能である。このセキュリティプロセッサユニットは、他のユニット(MPU21や他のサブプロセッサユニット24など)から自己の実行空間へのアクセスを制限可能な仕組みを有する。
アクセス制限可能な仕組みとして、以下に一例を説明する。
セキュリティプロセッサユニットは、認証情報を保持する。サブプロセッサユニット24は、セキュリティプロセッサユニットとして動作している状態では、自己の実行空間に対して他のユニットからアクセスされると、認証情報を用いてアクセス元の認証を行い、この認証に成功すると、当該アクセス元から自己の実行空間へのアクセスのみを許可する。認証に失敗すると、サブプロセッサユニット24は、自己の実行空間へのアクセスを拒否する。
また、セキュリティプロセッサユニットは、鍵情報を保持してもよく、アクセス許可したアクセス元と通信する際、鍵情報を用いて送受信データを暗号化・復号してもよい。復号されたデータは、ローカルメモリ部31に格納される。このような場合、アクセス元は、セキュリティプロセッサユニットが保持する鍵情報に対応した鍵情報を有する。
サブプロセッサユニット24は、セキュリティプロセッサユニット専用のプロセッサユニットであってもよく、また、通常時は、単なる演算ユニットとして動作し、MPU21から特定の命令を受けた場合のみセキュリティプロセッサユニットとして動作するプロセッサユニットであってもよい。
記憶部12は、RAM(Random Access Memory)等の記憶素子を含んで構成され、制御部11のMPU21やサブプロセッサユニット24によって実行されるプログラムを保持する。また、この記憶部12は、MPU21やサブプロセッサユニット24が処理を行うときに必要となるデータを保持するワークメモリとしても動作する。
入出力部13は、いわゆるブリッジチップであり、制御部11から入力される指示に従って、制御部11が出力する信号(出力信号)の出力先を選択し、当該選択した出力先に対して、制御部11の出力信号を選択的に出力する。また、入出力部13は、外部記憶部14や操作部15から入力される信号を制御部11に出力する。
外部記憶部14は、例えばBlu-ray Discや、DVD等の外部記録媒体から、記録されている情報を読み取って、入出力部13を介して制御部11に出力する。操作部15は、例えばゲーム用のコントローラ、マウス、キーボード等であり、ユーザの操作を受け入れて、当該操作の内容を制御部11に出力する。
表示制御部16は、グラフィックス処理ボード等であり、制御部11から入力される指示に従って、画像を描画し、当該描画した画像の情報を外部に接続されているディスプレイ(家庭用テレビジョン装置等)に出力して、表示させる。
時刻管理ユニット17は、図3に例示するように、マイクロプロセッサ41と、不揮発性メモリ42と、リアルタイムクロック(RTC)43とを含んで構成され、これらは互いにバス(コントローラ内部バス)を介して接続されている。この時刻管理ユニット17は、耐タンパ性を有するハードウエアとして実装されてもよい。例えば、不揮発性メモリ42において保持する差分情報を暗号化しておき、差分情報を取得したときにマイクロプロセッサ41が復号することとしてもよいし、また、チップ表面が露出されると記憶内容が消滅するメモリチップを用いて実現してもよい。さらに、信号を読み出すためのプローブを取り付けたときに動作しなくなるよう回路を構成してもよい。かかる耐タンパ設計については、広く知られているので、ここでの詳細な説明を省略する。
マイクロプロセッサ41は、内蔵するメモリに格納されたプログラムに従って動作する。このマイクロプロセッサ41は、入出力部13を介してデータを授受する相手方との間で相互認証の処理を実行し、相互認証が行なわれたときに、相手方から入力される要求に応じて、後に説明する時刻取得処理や、時刻補正処理を実行する。
不揮発性メモリ42は、スタティックRAM等であり、情報処理装置の電源がオフとなっている間も、記憶内容を保持する。この不揮発性メモリ42は、図4に示すように、時刻要求元識別子(ID)と、補正分を表す差分情報とを関連づけて保持している。
RTC43は、時刻及び日時を計時しており、マイクロプロセッサ41からの要求に応答して、マイクロプロセッサ41に対して、計時している時刻や日時の情報を出力する。またこのRTC43は、図示しない内蔵バッテリによってバックアップされ、情報処理装置自体の電源がオフとなっている間も、計時動作が停止しないようになっている。
この時刻管理ユニット17は、以上の構成を備え、後に説明するように、時刻情報の提供や補正を要求する要求元との間で相互認証の処理を行い、相互認証に成功すると、要求元から入力される要求に応じて、時刻情報を提供し、又は提供する時刻情報を補正する処理を行う。
本実施の形態では、制御部11のMPU21にてアプリケーションプログラムが複数実行される。アプリケーションのうち、時刻情報を要求するアプリケーションは、時刻要求元識別子を保持している。この時刻要求元識別子は、アプリケーションごとに異なってもよいし、少なくとも一部のアプリケーションが共通の時刻要求元識別子を用いてもよい。
次に、本発明の実施の形態に係る情報処理装置の機能的構成について説明する。本実施の形態の情報処理装置は、機能的には、図5に示すように、時刻情報を管理するユニットである時刻保持部51と、時刻情報を取得/補正するためのユニットである時刻情報取得部52と、時刻情報の取得や補正を要求するためのユニットである時刻管理プロセス実行部53と、要求元となるアプリケーションの実行などを行なうユニットであるアプリケーション実行部54とを含んで構成される。
本実施の形態における特徴の一つは、時刻保持部51と、時刻情報取得部52と、時刻管理プロセス実行部53とがそれぞれ、時刻管理ユニット17と、セキュリティプロセッサユニットとして動作するサブプロセッサユニット24と、MPU21とによって実現され、互いに異なる実行空間でそれぞれの機能を実現する処理が行なわれており、相互に、プログラム実行に関わる内部データへのアクセスが制限されていることである。この形態によって、時刻の補正を安全な方法で実行でき、また、時刻要求元識別子を用いて、実行空間や各プロセスごとに異なる時刻情報を設定できるようにしている。
ここで時刻保持部51は、相互認証部61と、時刻管理部62と、差分情報保持部63とを含んで構成される。本実施の形態では、これら相互認証部61、時刻管理部62は時刻管理ユニット17のマイクロコンピュータ41によってソフトウエア的に実現される。また、差分情報保持部63は、不揮発性メモリ42によって実現される。
相互認証部61は、時刻情報取得部52として動作するサブプロセッサユニット24との間で相互認証の処理を行う。そして相互認証に失敗した場合には、続いて時刻情報取得部52から入力される時刻情報に係る要求に応答しない。これによりハードウエアの置き換えなどの侵害があった場合に、時刻情報が不正に書き換えられるなどの不正を防止できる。なお、この相互認証の方式としては、例えばチャレンジ・レスポンス方式など、広く知られた方式を用いることができる。
また、相互認証部61は時刻情報取得部52として動作するサブプロセッサユニット24との間での相互認証に成功すると、時刻管理部62に対し時刻情報取得部52からの要求に応答するべき旨の信号(応答許可信号)を出力する。
時刻管理部62は、相互認証部61から応答許可信号が入力されない間は、時刻情報取得部52から入力される、時刻情報に関わる要求(時刻情報の取得や補正の要求)を無視する。またこの時刻管理部62は、相互認証部61から応答許可信号が入力されると、時刻情報取得部52から入力される、時刻情報に関わる要求に応答する。ここで、時刻情報取得部52からは、要求元を識別する識別子として予め定められた情報(時刻要求元識別子)と、要求の内容(ここでの例では時刻情報の提供または補正のいずれか)とが入力される。
時刻管理部62は、要求の内容が時刻情報の提供の要求であれば、RTC43から計時している時刻の情報Trawを取得し、ワークメモリ(マイクロプロセッサ41に内蔵されているメモリ上に確保された領域)に記憶する。また、時刻管理部62は、差分情報保持部63として動作する不揮発性メモリ42から、入力された時刻要求元識別子に関連づけられている差分情報ΔTidを取得し、ワークメモリに格納した時刻Trawの情報にこの差分情報を加算して、補正時刻T=Traw+ΔTidを得て、この補正時刻Tを時刻情報取得部52として動作するサブプロセッサユニット24に対して送出する。
また要求の内容が時刻情報の補正の要求であれば、時刻管理部62は、時刻情報取得部52から補正後の差分情報ΔTidの入力を受けて、差分情報保持部63として動作する不揮発性メモリ42に格納されている差分情報のうち、入力された時刻要求元識別子に関連づけられている差分情報を、入力された差分情報ΔTidで上書きする。
なお、要求元であるサブプロセッサユニット24(時刻情報取得部52)と、時刻管理ユニット17(時刻保持部51)との間で授受される情報は、暗号化されていてもよい。
また、時刻情報取得部52は、サブプロセッサ起動/終了処理部65と、相互認証部66と、要求部67とを含み、時刻管理プロセス実行部53は、時刻情報アクセス管理部71と、サブプロセッサ管理部72とを含む。さらにアプリケーション実行部54は、OS実行部75と、少なくとも一つのアプリケ−ションプロセス実行部76a,76b…とを含む。
本実施の形態では、時刻情報取得部52は、サブプロセッサユニット24によってソフトウエア的に実現される。ここでサブプロセッサ起動終了処理部65は、時刻管理プロセス実行部53として動作するMPU21からの命令を受けて、サブプロセッサユニット24をセキュリティプロセッサユニットとして起動する。
そしてサブプロセッサユニット24の副演算素子32は、相互認証部66及び要求部67としての機能を実現するプログラム(暗号化されている)を記憶部12から取得する。このプログラムは、副演算素子32により認証され、認証に成功すると、副演算素子32によって復号されて、ローカルメモリ部31に格納される。副演算素子32は、格納されたこのプログラムの実行を開始し、これにより相互認証部66及び要求部67として動作可能となる。
相互認証部66は、時刻保持部51の相互認証部61との間で相互認証処理を実行する。そして相互認証処理に成功したときに、その旨の信号を要求部67に出力する。
要求部67は、相互認証部66から相互認証に成功した旨の信号の入力を受けると、時刻管理プロセス実行部53から入力される時刻要求元識別子と要求の内容とを時刻保持部51に出力する。この要求部67は、時刻情報の取得(提供)の要求を出力したときには、時刻保持部51から時刻情報(時刻要求元識別子に対応する差分情報で補正された補正時刻)Tの入力を受け入れる。要求部67は、時刻保持部51から入力される当該時刻情報Tを、時刻管理プロセス実行部53に出力する。
時刻管理プロセス実行部53はMPU21によってソフトウエア的に実現できる。この時刻管理プロセス実行部53は、時刻情報アクセス管理部71及びサブプロセッサ管理部72としての動作を実現するプログラムモジュールを、MPU21が別途実行しているアプリケーションから、その内部データにアクセス不能な状態で(割り当てられたメモリ領域やレジスタ等に他のアプリケーションからアクセスを禁止した状態で)実行する。
時刻情報アクセス管理部71は、アプリケーション実行部54において実行されるアプリケーションのプロセスからオペレーティングシステムを介して、時刻要求元識別子と、時刻情報に関わる要求(時刻情報の取得または補正の要求)とを受けると、サブプロセッサ管理部72に対してサブプロセッサユニット24をセキュリティプロセッサユニットとして起動して、時刻情報取得部52として動作させるべき旨の指示とともに、入力された時刻要求元識別子と、時刻情報に関わる要求とを出力する。
サブプロセッサ管理部72は、サブプロセッサユニット24の一つに対して起動するべき旨の指示とともに、時刻情報取得部52として動作させるためのプログラムをロードするべき旨の指示とを出力する。そして当該サブプロセッサユニット24が時刻情報取得部52として動作するようになると、当該サブプロセッサユニット24に対して時刻要求元識別子と、時刻情報に関わる要求とを出力する。ここで、時刻情報アクセス管理部71は、時刻要求元識別子を受けると、該識別子が正当なものであるか否かを判定し、正当な識別子であると、サブプロセッサ管理部72に対して指示を出力し、正当な識別子でないと、OSに対して時刻管理情報取得拒否の旨を取得する。
サブプロセッサ管理部72は、ここで時刻情報に関わる要求として時刻情報の取得の要求を出力したときには、時刻情報取得部52から時刻情報(時刻要求元識別子に対応する差分情報で補正された補正時刻)Tの入力を受けることとなる。そしてサブプロセッサ管理部72は、要求元であるアプリケーションのプロセスに対して、当該入力された時刻情報Tを出力する。
アプリケーション実行部54のOS実行部75は、MPU21がオペレーティングシステムのプログラムを実行することで実現される。このOS実行部75は、アプリケーションの実行開始を指示する操作が行なわれた旨の情報が入力されると、指示されたアプリケーションのプログラムを記憶部12(または外部記憶部14)から読み出し、その実行を開始する。ここで実行される各アプリケーションにより、各アプリケ−ションプロセス実行部76が実現される。
また、このOS実行部75は、アプリケーションの実行に関わるプロセス実行スケジューリングや、メモリ管理等、一般的なオペレーティングシステムと同様の動作をしている。ここではOS実行部75は、アプリケーションプロセスから、時刻要求元識別子とともに時刻情報に関わる要求の入力を受けて、時刻管理プロセス実行部53に対して時刻要求元識別子とともに時刻情報に関わる要求を出力する。また、このOS実行部75は、時刻管理プロセス実行部53から時刻情報の入力を受けると、要求元となったアプリケーションプロセスにその時刻情報を出力する。
アプリケ−ションプロセス実行部76は、アプリケーションプログラムに従って動作している。このアプリケーションプロセス実行部76は、アプリケーションプログラムの実行の過程で時刻情報が必要となったときには、予め定められている時刻要求元識別子とともに、時刻情報の取得要求をOS実行部75に出力する。そして、OS実行部75を介して取得された時刻情報の入力を受ける。また、このアプリケーションプロセス実行部76は、アプリケーションプログラムの実行の過程で、予め定められている時刻要求元識別子に関連づけられている差分情報を補正して、時刻情報を補正することとなったときには、時刻要求元識別子とともに、差分情報を含む時刻の補正要求を出力する。
次に本実施の形態の情報処理装置の動作について説明する。本実施の形態では、アプリケーションプログラムは、それぞれ予め時刻要求元識別子の情報が関連づけられて記憶部12や外部記憶部14に保持されているものとする。
この情報処理装置は、その起動当初において、制御部11のMPU21が、記憶部12からオペレーティングシステムのプログラムを読み出して、その実行を開始する。また、利用者は、操作部15における操作により、例えば外部記憶部14にセットされたDVD−ROM等に格納されているゲームアプリケーションなどを起動するよう指示する。
MPU21は、オペレーティングシステムの動作として、このアプリケーション起動指示に応答して、外部記憶部14に格納されているプログラムを記憶部12へ複写し、その実行を開始する。このとき、MPU21は、オペレーティングシステムの処理として、この実行を開始したゲームプログラムのプロセスを、他のアプリケーションのプロセスとともに並列的に(時分割的に)実行する。
ここで時刻の取得動作について図6を用いて説明する。MPU21が、アプリケーションプログラムの実行の過程で、時刻を取得するためのシステムコールの発行など、時刻の取得を要求するインストラクションが実行されると(S11)、MPU21は、オペレーティングシステムの動作として、時刻管理プロセス実行部53を実現するプログラムが起動された状態にあるか否かを調べる(S12)。
ここで時刻管理プロセス実行部53を実現するプログラムが起動された状態になければ、MPU21は、記憶部12から当該プログラムをロードして起動する(S13)。なお、このプログラムは、記憶部12において暗号化されて格納されていてもよい。この場合、MPU21のオペレーティングシステムは、当該プログラムを復号してから、その実行を開始する。
処理S12において、時刻管理プロセス実行部53を実現するプログラムが起動された状態にある場合、または処理S13での起動が完了すると、MPU21は、時刻情報アクセス管理部71の処理として、処理S11においてアプリケーションプログラムが実行したインストラクションに基づき、当該アプリケーションに関連づけられている時刻要求元識別子(ID)と、時刻情報の取得要求とをワークメモリに保持し、当該時刻要求元識別子が正当なものであるか否かを判断する。ここで時刻要求元識別子が正当なものでなければオペレーティングシステムに対して時刻情報取得拒否の旨を出力する(S15)。また時刻要求元識別子が正当なものと判断されると、MPU21は、サブプロセッサユニット24の一つを起動させるとともに、時刻情報取得部52として動作させるべき旨の命令を出力する(S16)。
この命令の入力を受けたサブプロセッサユニット24は起動して、記憶部12に格納されている、時刻情報取得部52に係るプログラムを記憶部12からローカルメモリ部31に読み込む。このときサブプロセッサユニット24は予め設定されている認証・復号鍵を用いて、記憶部12から読み出したプログラム(暗号化された状態にある)を認証し、認証に成功すると、当該プログラムを復号して、ローカルメモリ部31に格納する(S17)。
こうしてサブプロセッサユニット24がセキュリティプロセッサユニットとして起動されると、MPU21は、時刻管理プロセス実行部53の処理として、そのワークメモリに保持した時刻要求元識別子と、時刻情報の取得要求とを起動させたサブプロセッサユニット24に出力する(S18)。
サブプロセッサユニット24の副演算素子32は、ローカルメモリ部31に格納したプログラムの実行を開始し、時刻管理ユニット17に対して相互認証の要求を行なう(S19)。ここで、時刻管理ユニット17のマイクロプロセッサ41が内蔵するメモリに格納されたプログラムに従って相互認証の処理を実行する。ここで相互認証に成功すると、MPU21から受け入れた時刻要求元識別子と、時刻情報の取得要求とを、マイクロプロセッサ41に対して送出する(S20)。ここでは、制御部11と、時刻管理ユニット17とが異なるハードウエアとして実装されることとしているので、これら時刻要求元識別子と時刻情報の取得要求とは制御部11のパッケージの外部へ出力されることになる。そこで、当該情報の漏洩を防止するため、これらの情報は、暗号化されてもよい。なお、処理S17の相互認証において制御部11と、時刻管理ユニット17との間で授受される情報についても同様に暗号化されてもよい。
時刻管理ユニット17のマイクロプロセッサ41は、RTC43が計時している時刻の情報Trawを取得し(S21)、ワークメモリ(マイクロプロセッサ41に内蔵されているメモリ上に確保された領域)に記憶する。またマイクロプロセッサ41は、サブプロセッサユニット24から入力される時刻要求元識別子に関連づけて不揮発性メモリ42に格納されている差分情報ΔTidを取得し(S22)、ワークメモリに格納した時刻Trawの情報にこの差分情報を加算して、補正時刻T=Traw+ΔTidを演算する(S23)。そして、この補正時刻Tを、時刻情報取得部52として動作するサブプロセッサユニット24に対して出力する(S24)。この補正時刻Tもまた、暗号化されて制御部11のサブプロセッサユニット24に出力されてもよい。
サブプロセッサユニット24は、この補正時刻Tの情報を、MPU21の時刻管理プロセス実行部53を実現するプログラム側へ出力する(S25)。MPU21の時刻管理プロセス実行部53は、当該補正時刻Tの情報を、要求元であるアプリケーションプログラムに対して出力する(S26)。
時刻情報取得部52として動作するサブプロセッサユニット24では、この処理の後、処理を終了することして、ローカルメモリ部31の内容を初期化して消去し、プログラムの実行を停止してもよい。
また、時刻の補正動作について図7を用いて説明する。MPU21が、アプリケーションプログラムの実行の過程で、時刻を取得するためのシステムコールの発行など、時刻の補正を要求する命令が実行されると(S31)、MPU21は、オペレーティングシステムの動作として、時刻管理プロセス実行部53を実現するプログラムが起動された状態にあるか否かを調べる(S32)。
ここで時刻管理プロセス実行部53を実現するプログラムが起動された状態になければ、MPU21は、記憶部12から当該プログラムをロードして起動する(S33)。なお、このプログラムは、記憶部12において暗号化されて格納されていてもよい。この場合、MPU21のオペレーティングシステムは、当該プログラムを復号してから、その実行を開始する。
処理S32において、時刻管理プロセス実行部53を実現するプログラムが起動された状態にある場合、または処理S33での起動が完了すると、MPU21は、時刻管理プロセス実行部53の処理として、処理S31においてアプリケーションプログラムが実行したインストラクションに基づき、当該アプリケーションに関連づけられている時刻要求元識別子と、補正後の差分情報とともに、時刻情報の補正要求をワークメモリに保持し、当該時刻要求元識別子が正当なものであるか否かを判断する。ここで時刻要求元識別子が正当なものでなければオペレーティングシステムに対して時刻情報取得拒否の旨を出力する(S34)。また時刻要求元識別子が正当なものと判断されると、MPU21は、サブプロセッサユニット24の一つを起動させるとともに、時刻情報取得部52として動作させるべき旨の命令を出力する(S35)。
この命令の入力を受けたサブプロセッサユニット24は、起動して、記憶部12に格納されている、時刻情報取得部52に係るプログラムを、記憶部12から読み込む。このときサブプロセッサユニット24は予め設定されている認証・復号鍵を用いて、記憶部12から読み出したプログラム(暗号化された状態にある)を認証し、認証に成功すると、当該プログラムを復号して、ローカルメモリ部31に格納する(S36)。
こうしてサブプロセッサユニット24が起動されると、MPU21は、時刻管理プロセス実行部53の処理として、そのワークメモリに保持した時刻要求元識別子と、補正後の差分情報と、時刻情報の補正要求とを、起動させたサブプロセッサユニット24に出力する(S37)。
サブプロセッサユニット24の副演算素子32は、ローカルメモリ部31に格納したプログラムの実行を開始し、時刻管理ユニット17に対して相互認証の要求を行なう(S38)。ここで、時刻管理ユニット17のマイクロプロセッサ41が内蔵するメモリに格納されたプログラムに従って相互認証の処理を実行する。ここで相互認証に成功すると、MPU21から受け入れた時刻要求元識別子と、補正後の差分情報と、時刻情報の補正要求とを、マイクロプロセッサ41に対して送出する(S39)。ここでは、制御部11と、時刻管理ユニット17とが異なるハードウエアとして実装されることとしているので、これら時刻要求元識別子と差分情報と、時刻情報の補正要求とは制御部11のパッケージの外部へ出力されることになる。そこで、当該情報の漏洩を防止するため、これらの情報は、暗号化されてもよい。なお、処理S37の相互認証において制御部11と、時刻管理ユニット17との間で授受される情報についても同様に暗号化されてもよい。
時刻管理ユニット17のマイクロプロセッサ41は、サブプロセッサユニット24から入力される時刻要求元識別子に関連づけて不揮発性メモリ42に格納されている差分情報を、入力された差分情報で上書きする(S40)。
時刻情報取得部52として動作するサブプロセッサユニット24では、この処理の後、処理を終了することして、ローカルメモリ部31の内容を初期化して消去し、プログラムの実行を停止してもよい。
このように本実施の形態によると、時刻要求元識別子とそれに関連づけられた差分情報とを用いて、時刻要求元識別子ごとに異なる時刻の情報提供を可能とし、また、時刻情報の要求、取得、管理をそれぞれ実行する時刻保持部51と、時刻情報取得部52と、時刻管理プロセス実行部53とがそれぞれ個別に、互いに異なる実行空間で処理されることとなっており、このことで時刻の取得、補正を安全な方法で実行できる。
また、ここまでの説明では、時刻要求元識別子に関連づけて差分情報を記録しておき、補正時刻の演算は、要求元に係る時刻要求元識別子に関連づけられた差分情報を、RTCが計時する時刻に加算して行なうこととしていたが、これに限られるものではなく、比や、比と差との組み合わせ、その他の関数や定数を用いて補正を行なってもよい。この場合は、差分情報に代えて、これら補正パラメータの情報が時刻要求元識別子に関連づけて保持されることとなる。
またここではオペレーティングシステムは一つだけである場合を例として説明したが、これに限らず、オペレーティングシステムが複数あってもよい。この場合に、各オペレーティングシステムごとに時刻要求元識別子を割り当てておけば、オペレーティングシステムごとに異なる時刻情報を設定できる。
さらに、本実施の形態の説明では、時刻保持部51が提供する補正後の時刻情報は、時刻情報取得部52、時刻管理プロセス実行部53を介してアプリケーション実行部54における要求元に提供される例を示したが、時刻情報の提供方法は、これに限らず、例えば記憶部12の所定格納領域に格納して、要求元が当該格納領域を参照することとするなど、種々の方法を採用できる。
本発明の実施の形態に係る情報処理装置の例を表す構成ブロック図である。 本発明の実施の形態に係る情報処理装置の制御部の例を表す構成ブロック図である。 本発明の実施の形態に係る情報処理装置における時刻の計時部の例を表すブロック図である。 本発明の実施の形態に係る情報処理装置が保持する差分情報の例を表す説明図である。 本発明の実施の形態に係る情報処理装置の一例を表す機能ブロック図である。 本発明の実施の形態に係る情報処理装置の時刻取得動作の例を表す流れ図である。 本発明の実施の形態に係る情報処理装置の時刻補正動作の例を表す流れ図である。
符号の説明
11 制御部、12 記憶部、13 入出力ユニット、14 外部記憶部、15 操作部、16 表示部、17 時刻管理ユニット、21 メインプロセッシングユニット、22 メモリコントローラ、23 入出力コントローラ、24 サブプロセッサユニット、31 ローカルメモリ部、32 副演算素子、41 マイクロプロセッサ、42 不揮発性メモリ、43 リアルタイムクロック、51 時刻保持部、52 時刻情報取得部、53 時刻管理プロセス実行部、54 アプリケーション実行部、61 相互認証部、62 時刻管理部、63 差分情報保持部、65 サブプロセッサ起動/終了処理部、66 相互認証部、67 要求部、71 時刻情報アクセス管理部、72 サブプロセッサ管理部、75 OS実行部、76 アプリケ−ションプロセス実行部。

Claims (6)

  1. 演算素子及びローカルメモリを備えるプロセッサユニットと、時刻を計時する時刻管理ユニットと、を含む情報処理装置であって、
    前記時刻管理ユニットは、時刻情報を管理し、要求に応じて、計時している時刻情報を取得して提供する時刻保持手段として機能し、
    前記プロセッサユニットは、時刻情報の取得要求を受けて、前記時刻保持手段に対して要求を出力して、提供された時刻情報を取得して出力する時刻情報取得手段として機能し、
    前記情報処理装置は、要求元からの要求に応じて、前記時刻情報取得手段に対して時刻情報の取得要求を出力し、前記時刻情報取得手段が出力する時刻情報を取得して、前記要求元に当該取得した時刻情報を提供する時刻情報要求手段をさらに含み、
    前記プロセッサユニットの前記演算素子は、前記時刻情報要求手段から出力される前記時刻情報の取得要求に応じて時刻情報を取得する場合に、前記時刻情報取得手段としての機能を実現するプログラムを前記ローカルメモリに格納して、当該プログラムを実行することで前記時刻情報取得手段として動作し、
    前記プロセッサユニットが前記時刻情報取得手段として動作している間、前記ローカルメモリへの当該プロセッサユニット外からのアクセスが制限され、
    前記時刻保持手段は、前記時刻情報取得手段の認証を行い、当該認証に成功した場合に、前記時刻情報取得手段から出力される要求に応答する
    ことを特徴とする情報処理装置。
  2. 請求項1に記載の情報処理装置であって、
    前記時刻情報要求手段は、前記プロセッサユニットに対し、前記時刻情報取得手段として動作させる動作指示を出力してから、前記時刻情報取得手段に対して時刻情報の取得要求を出力し、
    前記プロセッサユニットの前記演算素子は、前記時刻情報要求手段からの動作指示に応じて、前記時刻情報取得手段としての機能を実現するプログラムを前記ローカルメモリに格納して、当該プログラムを実行する
    ことを特徴とする情報処理装置。
  3. 請求項1又は2に記載の情報処理装置であって、
    前記時刻保持手段は、前記計時している時刻情報を基準時刻情報として、予め定められた識別子ごとに、当該基準時刻情報との差に係る差分情報を保持しており、時刻情報が要求されたときに、当該要求の要求元から取得される前記識別子に関連づけられた差分情報と、前記基準時刻情報とに基づいて、提供する時刻情報を演算し、当該演算の結果得られた時刻情報を提供することを特徴とする情報処理装置。
  4. 演算素子及びローカルメモリを備えるプロセッサユニットと、時刻を計時する時刻管理ユニットと、を含むコンピュータを用いた情報処理方法であって
    前記時刻管理ユニットにて、時刻情報を管理し、要求に応じて、計時している時刻情報を取得して提供する時刻管理処理を実行する工程と、
    前記プロセッサユニットにて、時刻情報の取得要求を受けて、前記時刻管理処理を実行する時刻管理ユニットに対して要求を出力して、当該処理から提供された時刻情報を取得して出力する時刻情報取得処理を実行する工程と
    求元からの要求に応じて、前記時刻情報取得処理を実行するプロセッサユニットに対して時刻情報の取得要求を出力し、当該処理が出力する時刻情報を取得して、前記要求元に当該取得した時刻情報を提供する時刻情報要求処理を実行する工程と、
    を含み、
    前記時刻情報取得処理を実行する工程において、前記プロセッサユニットの前記演算素子は、前記時刻情報要求処理から出力される前記時刻情報の取得要求に応じて時刻情報を取得する場合に、前記時刻情報取得処理を実現するプログラムを前記ローカルメモリに格納し、当該プログラムを実行することで前記時刻情報取得処理を実行し、
    前記プロセッサユニットが前記時刻情報取得処理を実行している間、前記ローカルメモリへの当該プロセッサユニット外からのアクセスが制限され、
    前記時刻管理処理を実行する工程において、前記時刻管理ユニットは、前記プロセッサユニットにより実行される前記時刻情報取得処理の認証を行い、当該認証に成功した場合に、前記時刻情報取得処理によって出力される要求に応答する
    ことを特徴とする情報処理方法。
  5. 請求項4に記載の情報処理方法であって、
    前記時刻情報要求処理を実行する工程では、前記プロセッサユニットに対し、前記時刻情報取得処理を実行させる動作指示を出力してから、前記プロセッサユニットに対して時刻情報の取得要求を出力し、
    前記時刻情報取得処理を実行する工程において、前記プロセッサユニットの前記演算素子は、前記時刻情報要求処理からの動作指示に応じて、前記時刻情報取得処理を実現するプログラムを前記ローカルメモリに格納して、当該プログラムを実行する
    ことを特徴とする情報処理方法。
  6. 請求項4又は5に記載の情報処理方法であって、
    前記時刻管理処理を実行する工程では、前記計時している時刻情報を基準時刻情報として、予め定められた識別子ごとに、当該基準時刻情報との差に係る差分情報を保持しており、時刻情報が要求されたときに、当該要求の要求元から取得される前記識別子に関連づけられた差分情報と、前記基準時刻情報とに基づいて、提供する時刻情報を演算し、当該演算の結果得られた時刻情報を提供することを特徴とする情報処理方法。
JP2006110315A 2006-04-12 2006-04-12 情報処理装置 Active JP4162148B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006110315A JP4162148B2 (ja) 2006-04-12 2006-04-12 情報処理装置
US11/687,746 US7770046B2 (en) 2006-04-12 2007-03-19 Management of time information within a plurality of execution spaces

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006110315A JP4162148B2 (ja) 2006-04-12 2006-04-12 情報処理装置

Publications (2)

Publication Number Publication Date
JP2007286699A JP2007286699A (ja) 2007-11-01
JP4162148B2 true JP4162148B2 (ja) 2008-10-08

Family

ID=38758436

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006110315A Active JP4162148B2 (ja) 2006-04-12 2006-04-12 情報処理装置

Country Status (2)

Country Link
US (1) US7770046B2 (ja)
JP (1) JP4162148B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2693291A1 (en) * 2011-03-30 2014-02-05 Fujitsu Limited Information processing device, control method, and program
EP3677984B1 (en) * 2019-01-07 2022-08-10 ADVA Optical Networking SE Method of time delivery in a computing system and system thereof

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3932847A (en) * 1973-11-06 1976-01-13 International Business Machines Corporation Time-of-day clock synchronization among multiple processing units
JP2882490B2 (ja) 1990-10-29 1999-04-12 富士通株式会社 リアルタイムクロック制御方式
US5530846A (en) * 1993-12-29 1996-06-25 International Business Machines Corporation System for decoupling clock amortization from clock synchronization
JPH0944425A (ja) 1995-07-31 1997-02-14 Oki Electric Ind Co Ltd 端末時刻補正機能付ネットワークシステム
JPH09218721A (ja) 1995-10-09 1997-08-19 Nintendo Co Ltd 画像処理用拡張装置および拡張装置を用いた画像処理システム
GB2315887B (en) * 1996-07-27 2000-07-05 Motorola Gmbh Method and apparatus for re-programming memory device
US6138243A (en) * 1998-05-14 2000-10-24 International Business Machines Corporation Method and system for keeping time across a multiprocessor platform
US6539493B1 (en) * 1998-12-08 2003-03-25 Ubicom Gmbh Method of updating the system time of a data processor system
US6711693B1 (en) * 2000-08-31 2004-03-23 Hewlett-Packard Development Company, L.P. Method for synchronizing plurality of time of year clocks in partitioned plurality of processors where each partition having a microprocessor configured as a multiprocessor backplane manager
ATE427521T1 (de) * 2001-07-26 2009-04-15 Freescale Semiconductor Inc Uhrensynchronisation in einem verteilten system
JP4016753B2 (ja) 2002-07-24 2007-12-05 日本電気株式会社 情報処理装置の時刻同期化装置
US7155629B2 (en) 2003-04-10 2006-12-26 International Business Machines Corporation Virtual real time clock maintenance in a logically partitioned computer system
US7475002B1 (en) * 2004-02-18 2009-01-06 Vmware, Inc. Method and apparatus for emulating multiple virtual timers in a virtual computer system when the virtual timers fall behind the real time of a physical computer system

Also Published As

Publication number Publication date
JP2007286699A (ja) 2007-11-01
US20070288785A1 (en) 2007-12-13
US7770046B2 (en) 2010-08-03

Similar Documents

Publication Publication Date Title
JP5007867B2 (ja) 安全な環境におけるプロセッサ実行を制御するための装置
JP5402498B2 (ja) 情報記憶装置、情報記憶プログラム、そのプログラムを記録した記録媒体及び情報記憶方法
JP6067449B2 (ja) 情報処理装置、情報処理プログラム
CN110266659B (zh) 一种数据处理方法和设备
JP4551231B2 (ja) プログラム実行保護システム、プログラム実行保護方法
JP5565040B2 (ja) 記憶装置、データ処理装置、登録方法、及びコンピュータプログラム
US8060925B2 (en) Processor, memory, computer system, and method of authentication
JPH08305558A (ja) 暗号化プログラム演算装置
KR20090065531A (ko) 메모리 액세스 보안 관리
CN110489959B (zh) 烧录文件的保护方法、烧录方法、装置、存储介质及设备
JP5029460B2 (ja) 情報処理装置、情報処理システム及びコンピュータプログラム
JP4162148B2 (ja) 情報処理装置
JP2006085360A (ja) リムーバブルメディアにおけるコンテンツの使用期限管理システム及び方法
JP5460133B2 (ja) マイクロコントローラ装置
JP5574007B2 (ja) 情報処理装置及び情報保護方法
JP7412835B1 (ja) 演算処理装置、演算処理システム、演算処理方法、及び演算処理プログラム
JP5278520B2 (ja) 情報処理装置、情報保護方法
JP2010033322A (ja) プロテクトドングル、コンピュータプログラムのライセンス付与システムおよびライセンス付与方法
TW201828186A (zh) 內建智慧安全行動裝置
JP5500232B2 (ja) 情報処理装置及び情報保護方法
JP2001043081A (ja) 情報処理装置、情報処理システム、ソフトウェア使用許諾方式、記録媒体、及び記憶媒体
JP2007087275A (ja) ライセンス管理装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080422

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080623

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080715

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080717

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110801

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4162148

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110801

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120801

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120801

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130801

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250