JP5249920B2 - データ処理装置、データ処理方法、データ処理プログラム、記録媒体及び集積回路 - Google Patents
データ処理装置、データ処理方法、データ処理プログラム、記録媒体及び集積回路 Download PDFInfo
- Publication number
- JP5249920B2 JP5249920B2 JP2009503352A JP2009503352A JP5249920B2 JP 5249920 B2 JP5249920 B2 JP 5249920B2 JP 2009503352 A JP2009503352 A JP 2009503352A JP 2009503352 A JP2009503352 A JP 2009503352A JP 5249920 B2 JP5249920 B2 JP 5249920B2
- Authority
- JP
- Japan
- Prior art keywords
- virtual machine
- execution unit
- virtual
- content
- time
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4893—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues taking into account power or heat criteria
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Description
このような仮想化技術の応用を考えた場合、異なるOS上で動作する2つのアプリケーションソフト間でデータを共有し、連携して動作する必要が生じる場合がある。この場合に対処するために、特許文献1には、複数のOSの動作を制御するOS間制御機能の中にOS間共有メモリやOS間通知機能を持たせ、他のOSが共有データを変更したときにOS間通知機能を用いて、データを共有している他のOSへ共有データの変更を通知する技術が開示されている。
本発明の一実施の態様は、コンテンツを再生する再生部と、通常状態及び省電力状態の相互間の切替え機能を有し、前記通常状態においてコンテンツの再生を継続するための所定の情報に基づいてコンテンツの再生時間を判断し、前記再生時間に基づいてコンテンツ再生の継続の可否を判断する第1仮想実行部と、 前記所定の情報を更新する第2仮想実行部と、前記所定の情報を格納するメモリを有し前記第1仮想実行部及び前記第2仮想実行部を管理する仮想マシンモニタと、を具備し、前記第1仮想実行部は、前記省電力状態に移行する前に、前記再生時間の終了前であって前記省電力状態から前記通常状態に戻る所定の時刻を前記仮想マシンモニタに通知して、前記所定の時刻まで省電力状態に移行し、前記仮想マシンモニタは、前記所定の情報の更新があった場合前記所定の時刻が到来するときに、前記更新があった旨を前記第1仮想実行部に通知するものである。
本態様によると、前記第1仮想実行部は、前記仮想マシンモニタからの通知によって前記電力状態から前記通常状態に移行して前記メモリに格納された更新情報に基づいてコンテンツの再生を継続することにより、前記更新があった旨の通知は前記所定の時刻が到来するときまで前記第1仮想実行部に送信されず省電力状態を継続できるので、前記第1仮想実行部の省電力状態を継続しつつ、コンテンツの再生が途中で途切れるのを防止できる。
また、前記所定の情報の更新がなく前記所定の時刻が到来したと判断した場合、その旨を前記第1仮想実行部に通知して前記第1仮想実行部を前記通常状態に戻してもよい。
ここで、前記仮想マシンモニタは、前記所定の情報の更新があったと判断した場合であって前記所定の時刻が到来するときに前記更新があった旨を前記第1仮想実行部に通知して前記第1仮想実行部を前記通常状態に戻す第1のタイミングと、前記所定の情報の更新が無く前記所定の時刻が到来すると判断した場合にその旨を前記第1仮想実行部に通知して前記第1仮想実行部を前記通常状態に戻す第2のタイミングと、を有し、前記第1のタイミングは、前記2のタイミングより前記所定の時刻を起点にして前であってもよい。
本態様によると、前記所定の情報の更新が無い状態で前記第1のタイミングを経過した後であって前記第2のタイミングを経過する前に、前記メモリを参照して前記所定の情報の更新があったと判断した場合は、前記第1のタイミングを経過しているものの、前記第2のタイミングの到来を待たずに前記第1仮想実行部を前記通常状態に戻すので、コンテンツの再生が途中で途切れる可能性はあるものの、その途切れる時間幅を最小限に抑えることができる。
本態様によると、前記仮想マシンモニタ内のメモリは前記仮想マシンモニタによってのみ更新できる仮想化技術の構成の場合、前記所定の情報を更新する処理を行うのは前記第2仮想実行部であっても、前記第2仮想実行部から前記仮想マシンモニタに前記メモリの格納内容の更新を依頼し、この依頼に基づいて前記仮想マシンモニタの方では前記前記所定の情報の更新の有無を判断するので、仮想化技術において効率的に、前記第1仮想実行部の省電力状態を継続しつつ、コンテンツの再生が途中で途切れるのを防止できる。
本態様は、コンテンツの再生を継続するための所定の情報を、前記コンテンツの使用権利に関する著作権管理情報とした場合に適用できる。
ここで、コンテンツの再生を継続するための前記所定の情報は、前記コンテンツに継続する次のコンテンツであってもよい。
ここで、前記再生部は、前記コンテンツの早送りをする機能を有し、前記第1仮想実行部は、前記通常状態において前記所定の情報に基づいてコンテンツの早送りの継続の可否を判断してもよい。
ここで、前記仮想マシンモニタは、タイマーを有し、前記所定の情報の更新があったと判断した場合、前記所定の時刻が到来するときまでの時間を前記タイマーを基に取得し、前記取得した時間に基づいて前記更新があった旨を前記第1仮想実行部に通知してもよい。
また、本発明をシステム、方法、プログラム、記録媒体、集積回路として実現した場合にも、同様の効果が得られる。
2.実施の形態1
以下、本発明の具体的な実施の形態1について、図面を参照しながら説明する。
2.1 コンテンツ権利配信システム1000の構成
図1は、実施の形態1におけるコンテンツ権利配信システム1000の全体図である。図1を用いて、コンテンツ権利配信システム1000の全体構成を説明する。
権利管理サーバ1100及び携帯端末1200は、ネットワークに接続されており、相互に通信可能である。
記憶装置1300は、コンテンツを取得し、記録する装置である。記憶装置1300は、携帯端末1200で再生可能なコンテンツを格納している。なお、記憶装置1300が格納しているコンテンツは、別途ネットワークや記録メディアを利用して入手したものであり、暗号化処理が施されているものとする。
権利管理サーバ1100は、携帯端末1200からコンテンツ再生に係る権利情報の取得要求を受信する。取得要求を受信すると、受信した取得要求に含まれるコンテンツ識別子に対応するコンテンツの権利情報を携帯端末1200へ送信する。
なお、権利管理サーバ1100と記憶装置1300が同一のサーバとして実現されているとしても構わないことは言うまでもない。
2.2 権利管理サーバ1100
上述したように、権利管理サーバ1100は、各コンテンツに対応する権利情報を記憶している。図2は、権利情報のデータ構造の一例を示している。
コンテンツ識別子1403は、権利情報1404と一意に対応するコンテンツを示す。制限情報1401は、コンテンツ識別子1403の示すコンテンツの再生についての制限を示す。
権利管理サーバ1100は、携帯端末1200から、コンテンツ識別子を含む取得要求を受信する。取得要求を受信すると、受信したコンテンツ識別子を含む権利情報を読み出す。読み出した権利情報を携帯端末1200に固有の鍵を用いて暗号化して暗号化権利情報を生成し、生成した暗号化権利情報を携帯端末1200へ送信する。なお、携帯端末1200に固有の鍵を用いるとしたが、これに限らず、携帯端末1200との間で通信の度に共通鍵(セッション鍵)を生成し、生成したセッション鍵を用いても良い。鍵共有については、公知の技術で実現可能であるのでここでは説明を割愛する。
2.3 携帯端末1200
携帯端末1200は、利用者の操作によるコンテンツの指定を受け付け、指定されたコンテンツに対応する権利情報を要求する取得要求を生成し、生成した取得要求を権利管理サーバ1100へ送信する。続いて、携帯端末1200は、権利管理サーバ1100から暗号化権利情報を受信し、受信した暗号化権利情報をそのまま保持する。コンテンツを再生するときには、その都度、暗号化権利情報を復号して権利情報を生成し、生成した権利情報に含まれる復号鍵を用いてコンテンツを復号し、制限情報に従って再生を行う機器である。
なお、実施の形態1では、権利情報を暗号化したまま保持するとしたが、これに限定するものではなく、権利情報への不正な解析を防止できる構成であればよく、例えば、復号により生成された権利情報を耐タンパー化された記憶領域に、保持しても良い。この場合、携帯端末1200は、権利情報を利用する時に復号化を行う必要はなくなる。
2.4 携帯端末1200の構成
図3は、携帯端末1200のハードウェア構成の概要とソフトウェア構成を示す。図2の示すように、携帯端末1200は、ハードウェア1250と、ハードウェア1250上で動作する仮想マシンモニタ1240、仮想マシン1230、1231、RTOS1220、汎用OS1221、DRMアプリ1210及び再生アプリ1211から構成される。
2.4.1 ハードウェア1250
ハードウェア1250は、汎用のメモリであるメモリ1251、上記のプログラム群を解読及び実行するプロセッサ1252、ユーザや他の機器等の外部とのインタフェースとなるI/Oデバイス1253、割り込み処理に用いるタイマー1254を含んで構成される。
2.4.2 ソフトウェア
以下、各ソフトウェアについて、詳細に説明するが、これらはいずれも、各ソフトウェアに割り当てられた処理を示す複数の命令群から構成され、前記命令群は、コンピュータ実行可能なプログラム言語で記述されている。
(1)アプリケーションプログラム
DRMアプリ1210と再生アプリ1211は、それぞれ通知タイミング情報を含んでいる。通知タイミング情報とは、当該アプリケーションがアイドル状態であり、当該アプリケーションを動作させる仮想マシンが省電力状態(後述)になっている時に、当該アプリケーションに通知すべき事象(例えば、権利情報の変更など)が生じた場合に、いつ仮想マシン及びアプリケーションを通常状態に復帰させ、前記事象を通知するべきかを示す情報である。
A:すぐに通知する必要がある
B:所定の時間範囲内で通知すればよい
C:省電力状態から復帰した際に通知すればよい
本実施の形態では、具体的に、DRMアプリ1210は、通知タイミング情報「A:すぐに通知する必要がある」を含んでいる。また、再生アプリ1211は、通知タイミング情報「C:省電力状態から復帰した際に通知すればよい」及び通知タイミング情報「B:決められた時間の範囲内で通知すればよい」の2つを含んでおり、通知タイミング情報「C」を初期値とする。
DRMアプリ1210は、RTOS1220上で動作するアプリケーションソフトウェアであり、コンテンツ再生に係る権利情報の取得及び更新を行う手順を含む。
続いて、権利管理サーバ1100からコンテンツの権利情報を取得し、取得した権利情報を、仮想マシンモニタ1240を介して、共有データ領域1255に格納する。
再生アプリ1211は、汎用OS1221上で動作するアプリケーションソフトウェアあって、利用者の操作に従って権利情報の取得をDRMアプリ1210へ依頼する手順を含み、DRMアプリ1210と連係して動作する。このとき、再生アプリ1211がDRMアプリ1210へ出力する権利情報取得依頼は、コンテンツ識別子と領域識別子とを含んでいる。コンテンツ識別子は、利用者の指定したコンテンツ識別する情報であり、領域識別子は、共有データ領域1255を一意に示すじょうほうである。このとき、再生アプリ1211及びDRMアプリ1210は、領域識別子とコンテンツ識別子と対応付けて記憶する。
通知タイミング情報の変更依頼を出力すると、再生アプリ1211は、コンテンツのデコード及び再生処理をハードウェア1250内のデコーダに指示する。コンテンツの再生中においては、再生アプリ1211が動作している必要はない。したがって、再生アプリ1211は、ハードウェア1250による処理が終了するまでは、再生アプリ1211自身をアイドル状態にする。アイドル状態の再生アプリ1211は、上記で設定したタイマー1254からの割り込み、ユーザのキー入力による割り込み及び仮想マシンモニタ1240からの割り込みに反応して、アイドル状態から通常の動作状態へ復帰する。
また、上記では、2つのアプリケーションの起動時に、共有データ領域1255を確保し、利用者の指定するコンテンツに対応する権利情報を権利管理サーバ1100から取得し、共有データ領域1255に書き込むとしたが、共有データ領域1255の確保のタイミングは、起動時限定されない。利用者によるコンテンツの指定がある度に、指定されたコンテンツと一意に対応する共有データ領域を新たに確保してもよい。また、ハードディスクに既に取得済みの権利情報が記憶されている場合、起動時に、取得済みの権利情報毎に共有データ領域を確保してもよい。
RTOS1220及び汎用OS1221は、それぞれ、DRMアプリ1210及び再生アプリ1211を動作させる基本ソフトウェアであって、それぞれ、仮想マシン1230と仮想マシン1231上で動作する。また、RTOS1220と汎用OS1221は、共有データ領域1255を取得するために用いる仮想マシンモニタ1240へのインタフェースを有する。
また、RTOS1220及び汎用OS1221は、DRMアプリ1210及び再生アプリ1211から共有データ領域1255の取得依頼を受け付けたとき、各自に割り当てられるメモリ領域に、依頼元のアプリケーションと共有データ領域1255とコールバック関数とを関連付けて登録する。
さらに、RTOS1220と汎用OS1221は、共有データ領域1255のデータをDRMアプリ1210または再生アプリ1211が変更するために用いる仮想マシンモニタ1240へのインタフェースをそれぞれ有する。RTOS1220及び汎用OS1221は、それぞれ、DRMアプリ1210及び再生アプリ1211から共有データ領域1255のデータの変更を依頼される。データの変更を依頼されると、各OSは、仮想マシンモニタ1240へ共有データ領域1255のデータの変更を依頼する。このとき、各OSは、依頼元のアプリケーションを示すアプリ識別子と、各OSを示すOS識別子と、依頼元のアプリケーションから受け取った領域識別子及び変更するデータとを仮想マシンモニタ1240へ通知する。
仮想マシン1230及び1231は、携帯端末1200で動作している仮想マシンであって、RTOS1220及び汎用OS1221それぞれに、仮想的な実行環境を提供する。
なお、実施の形態1においては、携帯端末1200は、2つの仮想マシンを搭載しているが、3つ以上の仮想マシンを搭載していても良い。
仮想マシンモニタ1240は、仮想マシン1230及び仮想マシン1231が使用するメモリ領域やデバイスなどのリソース管理や仮想マシンのスケジューリングなど、仮想マシン1230、1231を管理するソフトウェアである。
(4−1)仮想マシンモニタ1240の機能
仮想マシンモニタ1240は、RTOS1220と汎用OS1221から共有データ領域の確保を要求される。この要求を受けると、仮想マシンモニタ1240は、メモリ1251内に、共有データ領域1255を確保し、確保した共有データ領域1255を示す共有データ領域識別子を生成し、生成した共有データ領域識別子をRTOS1220と汎用OS1221へ通知する。
(4−2)仮想マシンモニタ1240の構成
上記の機能を実現するための仮想マシンモニタ1240の詳細な構成について、以下に説明する。
図4に示すように、仮想マシンモニタ1240は、仮想マシン管理部1241と仮想マシン間通知管理部1242、共有データ管理部1243、レジューム判定部1244、割込発生予定時刻取得部1245、待ちイベント記憶部1246から構成される。
図5に示すように、共有データ管理部1243は、共有データ確保部1260、共有データ変更部1261、管理情報保持部1262、データ変更通知部1263、通知タイミング情報取得部1264から構成される。
以下に、図4及び図5を用いて、仮想マシンモニタ1240の各構成について説明する。
仮想マシン管理部1241は、仮想マシンモニタ1240上で動作する仮想マシン1230及び仮想マシン1231を管理する。具体的には、各仮想マシンが使用するメモリ領域の管理や、仮想化されたデバイスの各仮想マシンへの割り当て、仮想化されたデバイスと実際のデバイスとのマッピング、各仮想マシンのスケジューリング、各仮想マシンの状態管理などを行う。仮想マシン1231の状態管理には、再生アプリ1211から通知されるタイマー設定時刻も参照する。
(4−2−2)仮想マシン間通知管理部1242
仮想マシン間通知管理部1242は、図5に示すように、共有データ管理部1243から、データ変更通知依頼1319を受け取る。データ変更通知依頼1319は、共有データ領域1255の記憶しているデータ変更の通知を依頼するコマンドである。データ変更通知依頼1319は、領域識別子1とOS識別子2とアプリ識別子2とを含む。領域識別子1は、共有データ領域1255を示す。OS識別子2とアプリ識別子2は、それぞれ、通知先となるOS及びアプリケーションを示す。データ変更通知依頼1319を受け取ると、仮想マシン間通知管理部1242は、通知先の仮想マシンの動作状態に合わせて、データ変更を通知する。
具体的に、これらの通知に先立って、仮想マシン間通知管理部1242は、通知先の仮想マシンが省電力状態であるかどうかを仮想マシン管理部1241へ問い合わせる(1321)。問合せ1321の結果、通知先の仮想マシンが通常状態であれば、仮想マシン間通知管理部1242は、すぐに、受け取った依頼を通知先の仮想マシンへ通知する。
<共有データ管理部1243の機能の概要>
共有データ管理部1243は、共有データ領域1255の管理を行う。共有データ管理部1243は、DRMアプリ1210や再生アプリ1211から共有データ領域の確保の依頼を受け付け、メモリ1251内の空き領域の一部を共有データ領域1255として確保し、仮想マシン1230と1231とがそれぞれアクセス出来るようにアクセス権の設定をする。
続いて、本発明実施の形態1における共有データ管理部1243の詳細な構成について説明する。
(a)共有データ確保部1260
共有データ確保部1260は、DRMアプリ1210及び再生アプリ1211からRTOS1220及び汎用OS1221を通して、共有データ領域の確保を要求する領域確保依頼1301を受け付ける。領域確保依頼には、OS識別子、アプリ識別子及び通知タイミング情報が含まれている。OS識別子及びアプリ識別子は、それぞれ、領域確保依頼1301の出力元であるOS及びアプリケーションを示す識別子である。通知タイミング情報は、アプリ識別子の示すアプリケーションに記述されている通知タイミング情報である。
次に、共有データ確保部1260は、確保した共有データ領域1255に対応する領域識別子を生成し、生成した領域識別子1303を、RTOS1220及び汎用OS1221を通して、DRMアプリ1210及び再生アプリ1211へ通知する。
管理情報保持部1262は、メモリ1251内に確保された共有データ領域1255の管理に必要な管理情報1302を、共有データ確保部1260から受け取り、保持する。
図6は、共有データ領域1255に対応する管理情報1410の詳細を示す。図6に示すように、管理情報1410は、領域識別子1(1411)、領域情報1(1412)と、OS識別子1(1413)、アプリ識別子1(1414)、通知タイミング情報1(1416)、OS識別子2(1417)、アプリ識別子2(1418)、通知タイミング情報2(1419)から構成される。
領域識別子1(1411)は、共有データ領域1255を一意に示す識別子である。領域情報1(1412)は、メモリ1251内における共有データ領域1255の位置を示すデータである。図6中では、管理情報保持部1262は、共有データ領域1255の先頭及び末尾のアドレスを領域情報として保持している。
(c)共有データ変更部1261
共有データ変更部1261は、DRMアプリ1210や再生アプリ1211からRTOS1220や汎用OS1221、仮想マシン1230及び仮想マシン1231を通して、共有データ領域1255のデータ変更依頼1313を受け付ける。
また、共有データ変更部1261は、取得した管理情報1410から依頼元のDRMアプリ1210と対応するOS識別子1(1413を)を抽出する。続いて、共有データ変更部1261は、受け取ったデータ変更依頼に含まれる領域識別子1及びアプリ識別子1と、抽出したOS識別子1(1413)と、を含む変更通知依頼を生成し、生成した変更通知依頼1317をデータ変更通知部1263へ出力する。
図5に示すように、データ変更通知部1263は、共有データ変更部1261から変更通知依頼1317を受け取る。変更通知依頼1317は領域識別子1、OS識別子1及びアプリ識別子1を含む。
変更通知依頼を1317受け取ると、データ変更通知部1263は、変更通知依頼1317に含まれる領域識別子1に対応する管理情報1410を管理情報保持部1262から取得する。そして、取得した管理情報1410に含まれるOS識別子とアプリ識別子のうち、変更通知依頼に1317含まれるOS識別子1及びアプリ識別子1を除くOS識別子2(1417)とアプリ識別子2(1418)とを抽出する。
(e)通知タイミング情報取得部1264
通知タイミング情報取得部1264は、レジューム判定部1244から通知タイミング情報の取得を依頼する通知タイミング取得要求1323を受け取る。通知タイミング取得要求1323には、領域識別子とOS識別子とアプリ識別子とが含まれている。
レジューム判定部1244は、イベントの通知対象となっている仮想マシンをすぐに省電力状態から通常状態へ復帰させるか否か判定を行う機能部である。ここで、イベントとは、例えば、共有データ領域1255内のデータ変更の通知、仮想マシン間における各種の依頼の通知の処理である。
判定依頼1322を受け取ると、レジューム判定部1244は、通知タイミング取得要求1323を生成する。通知タイミング取得要求1323は、受け取った領域識別子とOS識別子とアプリ識別子とを含む。続いて、レジューム判定部1244は、生成した通知タイミング取得要求1323を共有データ管理部1243内の通知タイミング情報取得部1264へ出力する。
図7に示すように判定基準表1270は、3つの判定基準情報1271、1272及び1273から構成される。判定基準情報1271及び1273は、通知タイミング情報と通知タイミング情報を示す識別子と判定結果とを含む。
通知タイミング情報については上述した通り3種類存在し、それぞれの通知タイミング情報に識別子「A」、「B」、「C」が割り当てられている。
時刻条件は、通知タイミング情報取得部1264から受け取った通知タイミング情報が「B:決められた時間の範囲内で通知すればよい」の場合、判定のためにさらに課せられる条件である。時刻条件については、後で詳細に説明する。
通知タイミング情報取得部1264から受け取った通知タイミング情報1326が、「A:すぐに通知する必要がある」である場合、レジューム判定部1244は、判定基準情報1271を参照し、判定結果「すぐ復帰する」1327を仮想マシン間通知管理部1242へ出力する。
通知タイミング情報取得部1264から受け取った通知タイミング情報1326が、「C:省電力状態から復帰したときに通知すればよい」である場合、レジューム判定部1244は、判定基準表1270の判定基準情報1273を参照し、判定結果「復帰しない」1327を仮想マシン間通知管理部1242へ出力する。
ここで、「決められた時間間隔の範囲内で通知すればよい」イベントは、例えば、再生中のコンテンツの権利情報を追加で購入したときの共有データ領域1255に記憶されている権利情報の変更を通知するイベントである。以下、具体的に、再生中のコンテンツの権利情報を追加で購入したとき、共通データ領域に記憶されている権利情報の変更を通知するイベントのために、省電力状態の仮想マシン1231をすぐに復帰させるか否かの判定を行う場合について説明する。
比較の結果、Tn≧T1であれば、レジューム判定部1244は、判定基準情報1272を参照し、時刻条件「現在時刻≧基準時刻」と対応する判定結果「すぐ復帰する」を抽出する。抽出した判定結果「すぐに通知する」を、仮想マシン間通知管理部1242へ出力する。図9は、この場合における、現在時刻Tnと基準時刻T1の前後関係の一例を示す図である。図9に示すように、現在時刻Tnは、基準時刻T1からタイマー設定時刻T2までの間に位置する。この場合、タイマー設定時刻T2までに権利情報の変更通知処理が終わらないため、省電力状態から通常状態へ直ちに復帰する必要がある。
また、イベント実行時間t1は、 仮想マシン1231を介して、権利情報の変更を再生アプリ1211へ通知するイベントの実行に要する時間としたが、通知に要する時間に加えて、再生アプリ1211が変更後の権利情報を参照する時間も含むとしても良い。
割込発生予定時刻取得部1245は、レジューム判定部1244から、割込発生予定時刻の取得を指示される。この指示を受けると、割込発生予定時刻取得部1245は、タイマー1254にアクセスして、タイマー1254に設定されている時刻(タイマー設定時刻)を取得し、取得したタイマー設定時刻をレジューム判定部1244へ出力する。
待ちイベント記憶部1246は、それぞれの仮想マシンごとにイベントキューを持ち、仮想マシン間通知管理部1242から待ちイベントとして登録されたイベントをそれぞれのイベントキューに保持している。
2.5 携帯端末の動作
以下に、携帯端末1200の動作について、図面を用いて説明する。
図11〜図15は、携帯端末1200によるコンテンツ再生の動作を示している。ここでは、仮想マシン、OS、1以上のアプリケーションからなるソフトウェア群を、仮想実行部と呼ぶ。具体的に、仮想マシン1230、RTOS1220及びDRMアプリ1210を第1仮想実行部1501、仮想マシン1231、汎用OS1221及び再生アプリ1211を第2仮想実行部1502と呼ぶ。
先ず、RTOS1220及び汎用OS1221は、それぞれ、DRMアプリ1210及び再生アプリ1211を起動する(ステップS2001、ステップS2003)。
DRMアプリ1210はRTOS1220及び仮想マシン1230を介して仮想マシンモニタ1240の共有データ管理部1243へ領域確保依頼を出力する(ステップS2002)。
仮想マシンモニタ1240内の共有データ確保部1260は、第1仮想実行部1501及び第2仮想実行部1502から領域確保依頼を受け、メモリ1251上に共有データ領域1255を確保する(ステップS2006)。
第2仮想実行部1502内の再生アプリ1211は、仮想マシン1231及び汎用OS1221を介して領域識別子を取得し(ステップS2008)、第1仮想実行部1501内のDRMアプリ1210は、仮想マシン1230及びRTOS1220を介して領域識別子を取得する(ステップS2009)。
仮想マシンモニタ1240は、第2仮想実行部1502内の再生アプリ1211から、権利情報取得依頼を受け取る(ステップS2013)。権利情報取得依頼を受けると、仮想マシンモニタ1240は、受け取った権利情報取得依頼を第1仮想実行部1501へ通知するタイミングの判定を行う(ステップS2016)。この通知判定については、後述する。このとき第1仮想実行部1501の仮想マシン1230は、通常状態であるので、ステップS2016では、すぐに通知すると判定される。仮想マシンモニタ1240は、第1仮想実行部1501へ権利情報取得依頼を出力する(ステップS2017)。
権利情報が変更されると、データ変更通知部1263は、データ変更通知依頼を、仮想マシン間通知管理部1242へ出力する(ステップS2023)。仮想マシン間通知管理部1242は、データ変更通知を行うタイミングの判定を開始する(ステップS2026)。このとき、第2仮想実行部1502の仮想マシン1231は、通常状態で動作しているので、すぐに通知すると判定され、仮想マシンモニタ1240は、データ変更通知を第2仮想実行部1502へデータ変更通知を出力する(ステップS2027)。
デコーダ及び再生機構は、再生アプリ1211からの指示に従って、コンテンツのデコード及び再生を開始する(ステップS2042)。
再生を指示した後、再生アプリ1211は、アイドル状態に遷移する(ステップS2044)。
仮想マシンモニタ1240内の共有データ管理部1243は、第2仮想実行部1502から通知タイミング情報変更依頼を受け取る(ステップS2037)。共有データ管理部1243は、受け取った通知タイミング情報変更依頼に含まれる領域識別子と対応する管理情報1410に含まれ、再生アプリ1211に対応する通知タイミング情報を変更する(ステップS2038)。
DRMアプリ1210がアイドル状態になると、仮想マシン1230は、省電力状態に遷移する(ステップS2032)。
第1仮想実行部1501及び第2仮想実行部1502双方が省電力状態になると、携帯端末1200自体がアイドル状態に遷移し(ステップS2048)、何らかの割込が発生するまで待機する。この間も、デコーダ及び再生機構は、コンテンツ再生を継続している。
DRMアプリ1210は、キー操作による指示に従って、権利管理サーバ1100から再生中のコンテンツに係る権利情報を新たに取得する(ステップS2052)。続いて、共有データ領域1255を示す領域識別子及び取得した権利情報を含むデータ変更依頼を生成し、生成したデータ変更依頼をRTOS1220及び仮想マシン1230を介して、仮想マシンモニタ1240へ出力する(ステップS2054)。
権利情報が変更されると、データ変更通知部1263は、仮想マシン間通知管理部1242へデータ変更通知依頼を出力する(ステップS2057)。
仮想マシンモニタ1240は、ステップS2058による判定結果に応じて、第2仮想実行部へデータ変更通知を出力する(ステップS2059)。
タイマー1254による割込、仮想マシンモニタ1240による割込又は利用者のキー入力による割込が発生すると(ステップS2062)、第2仮想実行部1502の仮想マシン1231及び再生アプリ1211は、通常状態に復帰する(ステップS2063)。
データ変更通知を受け取る前に(ステップS2064のNO)、再生停止時刻に達すると(ステップS2066)、再生アプリ1211は、デコーダにコンテンツ再生の停止を指示する(ステップS2067)。
データ変更通知を受け取ると(ステップS2064のYES)、再生アプリ1211は、共有データ領域1255に記憶されている変更後の権利情報を参照し、新たに再生停止時刻を決定する(ステップS2069)。このとき、コンテンツ再生中であれば(ステップS2071のYES)、再生アプリ1211は、新たに決定した再生停止時刻まで、再生を継続させる。
なお、ステップS2049において、再生中のコンテンツの権利情報の追加取得の要求が発生しない場合には、第2仮想実行部1502のS2062以降の動作が異なる。この場合、ステップS2062において、タイマー割込が発生する。ステップS2066において、再生停止時刻に達すると(ステップS2066のYES)、再生アプリ1211は、デコーダに再生停止を指示して(ステップS2067)、携帯端末1200によるコンテンツ再生の動作は一旦終了する。
仮想マシン間通知管理部1242は、データ変更通知部1263からデータ変更通知依頼を受け取る。また、第1仮想実行部及び第2仮想実行部のいずれかから各種の指示や依頼の仲介を依頼される。この際、仮想マシンモニタ1240内では、依頼された内容を通知するタイミングの判定(通知判定と呼ぶ)を行い、判定されたタイミングにおいて、仮想マシン間通知管理部1242は、依頼された内容を通知する。
以下、図16及び図17を用いて、通知判定における動作について説明する。ここで、仮想マシン間通知管理部1242の受け取る依頼には、通知先の仮想実行部に含まれるOS及びアプリケーションを示すOS識別子及びアプリ識別子、通知内容に関連する共有データ領域を示す領域識別子が含まれている。
問合せの結果、省電力状態でなければ(ステップS2202のNO)、仮想マシン間通知管理部1242は、直ちに依頼された通知内容を、通知先の仮想マシンへ出力する(ステップS2203)。
レジューム判定部1244は、共有データ管理部1243内の通知タイミング情報取得部1264から、受け取った領域識別子、OS識別子及びアプリ識別子に該当する通知タイミング情報を取得する(ステップS2207)。
仮想マシン間通知管理部1242は、判定結果「すぐに復帰」を受け取り、仮想マシン管理部1241へ、通知先の仮想マシンの復帰を依頼する(ステップS2212)。
通知先の仮想マシンが通常状態に復帰し次第、仮想マシン間通知管理部1242は、通知内容を通知先の仮想マシンへ出力する(ステップS2214)。
取得した通知タイミング情報が「C:省電力状態から復帰した際に通知すればよい」である場合(ステップS2208のC)、レジューム判定部1244は、判定結果「復帰しない」を出力する(ステップS2226)。
次に、割込発生予定時刻取得部1245は、タイマー1254から、タイマー設定時刻を取得し、取得したタイマー設定時刻を割込発生予定時刻としてレジューム判定部1244へ通知する(ステップS2217)。
比較の結果、T1>Tnの場合(ステップS2221のT1>T2)、レジューム判定部1244は、基準時刻T1にタイマー1254をセットしなおし(ステップS2222)、ステップS2226へ処理を移す。
2.6 まとめ
以上、説明してきたように実施の形態1では、仮想マシン間通知管理部1242で、省電力状態から通常状態へ復帰させるかどうかの判断結果に応じて、イベントを通知したり、しなかったりすることで、省電力状態から通常状態への状態遷移の回数を減らし、機器の省電力化を実現すると共に、イベントを適切なタイミングで通知できる仮想マシン間通知管理部1242を搭載した携帯端末1200を実現することが可能となる。
また、コンテンツの再生中、つまり、第2仮想実行部1502が省電力状態の間に、第1仮想実行部1501は、利用者の操作に従って権利情報の取得し、仮想マシンモニタ1240は、再生アプリに対応する通知タイミング情報を基に決定したタイミングにおいて、権利情報の変更を第2仮想実行部1502へ通知するとした。しかし、第2仮想実行部1502が省電力状態の間に、権利情報の変更などの通知すべき事象が生じなかった場合にも、第2仮想実行部1502が通常状態に復帰したときに、仮想マシンモニタ1240は、通知すべき事象が生じなかった旨を通知するとしてもよい。
従って、データ変更が起こった場合の基準時刻T1、データ変更が生じなかった場合の基準時刻T1’は、T1<T2を満たす。
また、上記の実施の形態でレジューム判定部1244は、現在時刻と基準時刻とを比較することで判定結果を導いているが、この方法に限定されるものではない。例えば、現在時刻からタイマー設定時刻までの時間(省電力継続予定時間t3)を算出し、算出した省電力継続予定時間t3とイベント実行時間t2とを比較してもよい。この場合、t3≦t2であれば、レジューム判定部1244は、判定結果「すぐ復帰する」を出力する。t3>t2であれば、レジューム判定部1244は、判定結果「復帰しない」を出力し、タイマー1254を基準時刻T1若しくは基準時刻以前の時刻T1−αに設定しなおす。
3. 実施の形態2
本発明実施の形態2では、本発明をTCGに対応した携帯端末に応用した例を説明する。
3.1 TCGについて
TCG(Trusted Computing Group)は、プラットフォームの信頼性を保証することにより、安全なコンピューティング環境を実現しようと考えている業界団体である。
3.2 携帯端末1200の構成
図18は、本発明実施の形態2における携帯端末1200の構成図である。図18において、図3と同じ構成要素については同じ符号を用い、説明を省略する。
TPM−OS1222は仮想マシン1232上で動作するOSであり、TPMモジュール1212、1213は、TPM−OS1222上で動作するアプリケーションソフトである。
図19において、処理イベント情報1420のデータ構造は、処理を依頼するアプリケーションソフトが動作しているOSを識別するための依頼先OS識別子1421と、処理を依頼するアプリケーションソフトを識別するための依頼先アプリケーションソフト識別子1422と、依頼する処理を識別するための処理識別子1423と、処理に必要なデータ1424から構成される。依頼先OS識別子1421は、仮想マシンモニタ1240上で動作しているOSを識別するためのID番号や名前のような識別子であり、例えば、「1」や「TPM−OS」などである。依頼先アプリケーションソフト識別子1422は、OS上で動作しているアプリケーションソフトを識別するためのID番号や名前のような識別子であり、例えば、「1212」や「TPMモジュール1」などである。
3.3 携帯端末1200のブートシーケンス
図20〜図25は、本発明実施の形態2における携帯端末1200のブートシーケンスである。電源投入時からのブート処理を順に説明する。
セキュリティを確保するためには、まず、通信キャリア用のTPMモジュール1212を起動させる必要がある。したがって、仮想マシンモニタ1240は、TPM−OS1222にTPMモジュール1212の実行を依頼する(S2116)。仮想マシンモニタ1240は、この依頼時に、仮想マシンモニタ1240はRTOS1220の実行ファイルの保存先とロード先を通知し、また、TPMモジュール1212の測定にTPM1256を利用するようにTPM−OS1222へ通知する。ここで、TPM1256はすでに改ざんがないことが確認されているので、TPM1256を用いることで信頼できる環境下でTPMモジュール1212の測定を行うことができる。TPM−OS1222は、TPM1256を利用してTPMモジュール1212の測定を行い、TPMモジュール1212が改ざんされていないかチェックする(S2117)。改ざんされていた場合には処理を停止し、仮想マシンモニタ1240へ実行失敗を通知する(S2118)。改ざんされていない場合には、測定結果をTPM1256のPCRに反映し、仮想マシンモニタ1240から通知されたRTOS1220の実行ファイルの保存先とロード先を引数にしてTPMモジュール1212を実行する(S2119)。TPMモジュール1212は、TPMモジュール1212自身の測定を行いTPMモジュール1212内のPCRに反映する(S2120)。TPMモジュール1212は、引数として与えられたRTOS1220の実行ファイルの保存先から実行ファイルを読み込み、ロード先へロードする(S2121)。TPMモジュール1212は、TPMモジュール1212自身を利用してRTOS1220の測定を行い、RTOS1220が改ざんされていないかチェックする(S2122)。改ざんされていた場合は処理を停止し、TPM−OS1222を通して仮想マシンモニタ1240へ実行失敗を通知する(S2123)。改ざんされていない場合には、測定結果をTPMモジュール1212のPCRに反映し、RTOS1220を実行する(S2124)。RTOS1220は、TPMモジュール1212を利用して通信アプリ1214の測定を行い、通信アプリ1214が改ざんされていないかチェックする(S2125)。改ざんされていた場合には処理を停止し、RTOS1220へ実行失敗を通知する(S2126)。改ざんされていない場合には、測定結果をTPMモジュール1212のPCRに反映し、通信アプリ1214を実行する(S2127)。
続いて、著作権管理会社が、DRMアプリ1210などのアプリケーションソフトのセキュリティを確保したいするための動作の説明に移る。上述したように、DRMアプリ1210はTPM1256やTPMモジュール1212とは別の著作権管理会社用のTPMモジュール1213を利用して起動する。
3.4 省電力状態からの復帰判定方法
続いて、仮想マシン1232が省電力状態の時に、その仮想マシン1232を復帰させるかどうかを判定する処理についての説明を行う。
レジューム判定部1244は、判定を、処理イベント情報1420の処理識別子1423に基づいて行う。まず、レジューム判定部1244は、システム起動時に、通知タイミング管理情報1430を設定ファイルから読み込む。通知タイミング管理情報は、処理イベントが発生した時に省電力状態から復帰して仮想マシンに通知すべきか否かが処理識別子1423ごとに記述された情報である。
4.その他の変形例
なお、本発明を上記実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
(2)本発明実施の形態1では、アプリケーションソフトウェアが通知タイミングを指定し、本発明実施の形態2では、処理イベント毎に通知タイミングが指定されるとしていたが、これに限られるものではない。例えば、実施の形態1と2とで通知タイミングの指定方法を逆にしてもよいし、ユーザが通知タイミングをI/Oデバイスを介して指定できるなどとしてもよい。
また、ここでは、システムLSIとしたが、集積度の違いにより、IC、LSI、スーパーLSI、ウルトラLSIと呼称されることもある。また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
(6)上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なICカードまたは単体のモジュールから構成されているとしてもよい。前記ICカードまたは前記モジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。前記ICカードまたは前記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ICカードまたは前記モジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパー性を有するとしてもよい。
また、本発明は、前記コンピュータプログラムまたは前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。
また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。
(8)また、本発明は、複数の仮想マシンを管理するデータ処理装置であって、前記複数の仮想マシンは通常状態と省電力状態の2つの状態を持ち、前記複数の仮想マシンは省電力状態に遷移する前に、通常状態へ復帰するための通常状態復帰用割り込みを発生させるように設定し、前記データ処理装置は、前記複数の仮想マシンを管理する仮想マシン管理部と、前記複数の仮想マシンのうちの1以上の仮想マシンそれぞれへ通知するイベントを管理する仮想マシン間通知管理部と、前記複数の仮想マシンのうちの2以上の仮想マシンで共有する共有データを管理する共有データ管理部と、前記通常状態復帰用割り込みが発生するまでの時間である割込発生時間を取得する割込発生時間取得部と、前記複数の仮想マシンのうちの1以上の仮想マシンが省電力状態の時に、前記1以上の仮想マシンそれぞれへ通知するイベントの通知タイミングを示す通知タイミング情報に応じて前記1以上の仮想マシンそれぞれを通常状態へ復帰させるかを判定するレジューム判定部と、前記レジューム判定部が、前記仮想マシンそれぞれを通常状態へ復帰させないと判定した時に、仮想マシン間通知管理部で通知するイベントを記憶する待ちイベント記憶部とを備えるとしてもよい。
(12)また、上記の変形例(8)〜(11)において、前記レジューム判定部は、さらに、前記通知タイミング情報が、前記1以上の仮想マシンが省電力状態であっても通知を行うことを示す場合に、前記1以上の仮想マシンそれぞれを省電力状態から通常状態へ復帰させると判定するとしてもよい。
(14)また、上記の変形例(8)〜(13)の前記データ処理装置は、さらに、前記複数の仮想マシンそれぞれで動作する複数のプログラムを備え、前記複数の仮想マシンそれぞれは、仮想マシンを識別するための仮想マシン識別子を備え、前記複数のプログラムは、前記共有データ管理部が管理する共有データを利用し、前記複数のプログラムそれぞれは、プログラムを識別するためのプログラム識別子を備え、前記共有データ管理部は、前記共有データを管理する管理情報を前記共有データ毎に備え、前記管理情報は、前記共有データを利用するプログラムのプログラム識別子と、前記プログラムが動作する仮想マシンの仮想マシン識別子と、前記通知タイミング情報とから構成されるとしてもよい。
1100 権利管理サーバ
1200 携帯端末
1210 DRMアプリ
1211 再生アプリ
1212 TPMモジュール
1213 TPMモジュール
1214 通信アプリ
1220 RTOS
1221 汎用OS
1222 TPM−OS
1230 仮想マシン
1231 仮想マシン
1232 仮想マシン
1240 仮想マシンモニタ
1241 仮想マシン管理部
1242 仮想マシン間通知管理部
1243 共有データ管理部
1244 レジューム判定部
1245 割込発生予定時刻取得部
1246 待ちイベント記憶部
1250 ハードウェア
1251 メモリ
1252 プロセッサ
1253 I/Oデバイス
1254 タイマー
1255 共有データ領域
1256 TPM
1260 共有データ確保部
1261 共有データ変更部
1262 管理情報保持部
1263 データ変更通知部
1264 通知タイミング情報取得部
1300 記憶装置
1430 通知タイミング管理情報
1502 第2仮想実行部
Claims (14)
- コンテンツを再生する再生部と、
通常状態及び省電力状態の相互間の切替え機能を有し、コンテンツの再生を継続するための所定の情報に基づいてコンテンツの再生停止時刻を、前記通常状態において決定し、前記再生停止時刻が来たときにコンテンツ再生の停止処理を行う第1仮想実行部と、
前記所定の情報を更新する第2仮想実行部と、
前記所定の情報を格納するメモリを有し前記第1仮想実行部及び前記第2仮想実行部を管理する仮想マシンモニタと、を具備し、
前記第1仮想実行部は、前記省電力状態に移行する前に、前記再生停止時刻前であって前記省電力状態から前記通常状態に戻る所定の時刻を前記仮想マシンモニタに通知して、前記所定の時刻まで省電力状態に移行し、
前記仮想マシンモニタは、前記所定の情報の更新があった場合、前記所定の時刻が到来するときに、前記更新があった旨を前記第1仮想実行部に通知する
ことを特徴とするデータ処理装置。 - 前記第1仮想実行部は、前記仮想マシンモニタからの通知によって前記省電力状態から前記通常状態に移行して、前記メモリに格納された更新情報に基づいてコンテンツの再生停止時刻を決定する
ことを特徴とする請求項1記載のデータ処理装置。 - 前記仮想マシンモニタは、前記所定の情報の更新がなく前記所定の時刻が到来すると判断した場合、その旨を前記第1仮想実行部に通知して前記第1仮想実行部を前記通常状態に戻す
ことを特徴とする請求項2記載のデータ処理装置。 - 前記仮想マシンモニタは、前記所定の情報の更新があったと判断した場合であって前記所定の時刻が到来するときに前記更新があった旨を前記第1仮想実行部に通知して前記第1仮想実行部を前記通常状態に戻す第1のタイミングと、
前記所定の情報の更新が無く前記所定の時刻が到来すると判断した場合にその旨を前記第1仮想実行部に通知して前記第1仮想実行部を前記通常状態に戻す第2のタイミングとを有し、
前記第1のタイミングは、前記2のタイミングより前記所定の時刻を起点にして前である
ことを特徴とする請求項3記載のデータ処理装置。 - 前記仮想マシンモニタは、前記所定の情報の更新が無い状態で前記第1のタイミングを経過した後であって前記第2のタイミングを経過する前に、前記メモリを参照して前記所定の情報の更新があったと判断した場合は、直ちに前記更新があった旨を前記第1仮想実行部に通知して前記第1仮想実行部を前記通常状態に戻す
ことを特徴とする請求項4記載のデータ処理装置。 - 前記第2仮想実行部は、前記所定の情報を更新する際、前記仮想マシンモニタに前記メモリの格納内容の更新を依頼し、
前記仮想マシンモニタは、前記依頼に基づいて前記所定の情報の更新があったと判断し、前記所定の情報の更新情報を前記メモリに格納する
ことを特徴とする請求項1記載のデータ処理装置。 - コンテンツの再生を継続するための前記所定の情報は、前記コンテンツの再生を許可する時間または期限である
ことを特徴とする請求項1記載のデータ処理装置。 - コンテンツの再生を継続するための前記所定の情報は、再生中の前記コンテンツに続いて再生する次のコンテンツの一部又は全てである
ことを特徴とする請求項1記載のデータ処理装置。 - 前記再生部は、前記コンテンツの早送りをする機能を有し、
前記第1仮想実行部は、前記通常状態において前記所定の情報に基づいてコンテンツの早送りの継続の可否を判断し、前記再生停止時刻が来たときにコンテンツ再生の停止処理を行う
ことを特徴とする請求項1記載のデータ処理装置。 - 前記仮想マシンモニタは、タイマーを有し、
前記所定の情報の更新があったと判断した場合、前記所定の時刻が到来するときまでの時間を前記タイマーを基に取得し、前記取得した時間に基づいて前記更新があった旨を前記第1仮想実行部に通知する
ことを特徴とする請求項1記載のデータ処理装置。 - コンテンツを再生する再生部と、
通常状態及び省電力状態の相互間の切替え機能を有し、コンテンツの再生を継続するための所定の情報に基づいてコンテンツの再生停止時刻を、前記通常状態において決定し、前記再生停止時刻が来たときにコンテンツ再生の停止処理を行う第1仮想実行部と、
前記所定の情報を更新する第2仮想実行部と、
前記所定の情報を格納するメモリを有し前記第1仮想実行部及び前記第2仮想実行部を管理する仮想マシンモニタと
を具備するデータ処理装置のデータ処理方法であって、
前記第1仮想実行部が、前記省電力状態に移行する前に、前記再生停止時刻前であって前記省電力状態から前記通常状態に戻る所定の時刻を前記仮想マシンモニタに通知して、前記所定の時刻まで省電力状態に移行するステップと、
前記仮想マシンモニタが、前記所定の情報の更新があった場合、前記所定の時刻が到来するときに、前記更新があった旨を前記第1仮想実行部に通知するステップとを含む
ことを特徴とするデータ処理方法。 - コンピュータをデータ処理装置として機能させるためのデータ処理プログラムであって
前記コンピュータを、
コンテンツを再生する再生部と、
通常状態及び省電力状態の相互間の切替え機能を有し、コンテンツの再生を継続するための所定の情報に基づいてコンテンツの再生停止時刻を、前記通常状態において決定し、前記再生停止時刻が来たときにコンテンツ再生の停止処理を行う第1仮想実行部と、
前記所定の情報を更新する第2仮想実行部と、
前記所定の情報を格納するメモリを有し前記第1仮想実行部及び前記第2仮想実行部を管理する仮想マシンモニタとして機能させ、
前記第1仮想実行部は、前記省電力状態に移行する前に、前記再生停止時刻前であって前記省電力状態から前記通常状態に戻る所定の時刻を決定して、前記所定の時刻まで省電力状態に移行し、
前記仮想マシンモニタは、前記所定の情報の更新があった場合、前記所定の時刻が到来するときに、前記更新があった旨を前記第1仮想実行部に通知する
ことを特徴とするデータ処理プログラム。 - コンピュータをデータ処理装置として機能させるためのデータ処理プログラムを記憶するコンピュータ読み取り可能な記録媒体であって、
前記データ処理プログラムは、前記コンピュータを、
コンテンツを再生する再生部と、
通常状態及び省電力状態の相互間の切替え機能を有し、コンテンツの再生を継続するための所定の情報に基づいてコンテンツの再生停止時刻を、前記通常状態において決定し、前記再生停止時刻が来たときにコンテンツ再生の停止処理を行う第1仮想実行部と、
前記所定の情報を更新する第2仮想実行部と、
前記所定の情報を格納するメモリを有し、前記第1仮想実行部及び前記第2仮想実行部を管理する仮想マシンモニタとして機能させ、
前記第1仮想実行部は、前記省電力状態に移行する前に、前記再生停止時刻前であって前記省電力状態から前記通常状態に戻る所定の時刻を決定して、前記所定の時刻まで省電力状態に移行し、
前記仮想マシンモニタは、前記所定の情報の更新があった場合、前記所定の時刻が到来するときに、前記更新があった旨を前記第1仮想実行部に通知する
ことを特徴とする記録媒体。 - コンテンツを再生する再生部と、
通常状態及び省電力状態の相互間の切替え機能を有し、コンテンツの再生を継続するための所定の情報に基づいてコンテンツの再生停止時刻を、前記通常状態において決定し、前記再生停止時刻が来たときにコンテンツ再生の停止処理を行う第1仮想実行部と、
前記所定の情報を更新する第2仮想実行部と、
前記所定の情報を格納するメモリを有し、前記第1仮想実行部及び前記第2仮想実行部を管理する仮想マシンモニタと、を具備し、
前記第1仮想実行部は、前記省電力状態に移行する前に、前記再生停止時刻前であって前記省電力状態から前記通常状態に戻る所定の時刻を決定して、前記所定の時刻まで省電力状態に移行し、
前記仮想マシンモニタは、前記所定の情報の更新があった場合、前記所定の時刻が到来するときに、前記更新があった旨を前記第1仮想実行部に通知する
ことを特徴とする集積回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009503352A JP5249920B2 (ja) | 2007-07-05 | 2008-06-04 | データ処理装置、データ処理方法、データ処理プログラム、記録媒体及び集積回路 |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007177075 | 2007-07-05 | ||
JP2007177075 | 2007-07-05 | ||
PCT/JP2008/001418 WO2009004757A1 (ja) | 2007-07-05 | 2008-06-04 | データ処理装置、データ処理方法、データ処理プログラム、記録媒体及び集積回路 |
JP2009503352A JP5249920B2 (ja) | 2007-07-05 | 2008-06-04 | データ処理装置、データ処理方法、データ処理プログラム、記録媒体及び集積回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2009004757A1 JPWO2009004757A1 (ja) | 2010-08-26 |
JP5249920B2 true JP5249920B2 (ja) | 2013-07-31 |
Family
ID=40225824
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009503352A Expired - Fee Related JP5249920B2 (ja) | 2007-07-05 | 2008-06-04 | データ処理装置、データ処理方法、データ処理プログラム、記録媒体及び集積回路 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8127168B2 (ja) |
EP (1) | EP2169549A4 (ja) |
JP (1) | JP5249920B2 (ja) |
CN (1) | CN101542439B (ja) |
WO (1) | WO2009004757A1 (ja) |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DK319685A (da) * | 1985-07-12 | 1987-01-13 | Fonden Til Fremme Af Eksperime | Monoklonale antistoffer, fremgangsmaade til frembringelse af antistofferne, hybridomaceller, der producerer antistofferne, og anvendelse af antistofferne |
US8156503B2 (en) * | 2008-02-12 | 2012-04-10 | International Business Machines Corporation | System, method and computer program product for accessing a memory space allocated to a virtual machine |
US9405347B2 (en) | 2009-02-26 | 2016-08-02 | Microsoft Technology Licensing, Llc | Power-saving operating system for virtual environment |
JP5360978B2 (ja) * | 2009-05-22 | 2013-12-04 | 株式会社日立製作所 | ファイルサーバ、及びファイルサーバにおけるファイル操作通知方法 |
US8806496B2 (en) * | 2009-09-30 | 2014-08-12 | Intel Corporation | Virtualizing a processor time counter during migration of virtual machine by determining a scaling factor at the destination platform |
US8667489B2 (en) * | 2010-06-29 | 2014-03-04 | Symantec Corporation | Systems and methods for sharing the results of analyses among virtual machines |
US10360143B2 (en) * | 2010-07-01 | 2019-07-23 | Qualcomm Incorporated | Parallel use of integrated non-volatile memory and main volatile memory within a mobile device |
CN102346533A (zh) * | 2010-07-29 | 2012-02-08 | 鸿富锦精密工业(深圳)有限公司 | 具省电模式的电子装置及控制其进入省电模式的方法 |
CN103329093B (zh) * | 2011-01-19 | 2017-09-12 | 国际商业机器公司 | 用于更新执行环境中的代码的方法和系统 |
EP2503466B1 (en) | 2011-03-23 | 2017-08-23 | Canon Denshi Kabushiki Kaisha | Peripheral device used while being connected to information processing apparatus |
JP5869228B2 (ja) * | 2011-03-31 | 2016-02-24 | キヤノン電子株式会社 | 周辺装置、画像読取装置および情報処理システム |
JP5696603B2 (ja) * | 2011-06-29 | 2015-04-08 | 富士通株式会社 | 計算機システム、計算機システムの電力制御方法およびプログラム |
US9465633B2 (en) * | 2011-08-05 | 2016-10-11 | Vmware, Inc. | Displaying applications of a virtual mobile device in a user interface of a mobile device |
US9411970B2 (en) * | 2011-08-19 | 2016-08-09 | Microsoft Technology Licensing, Llc | Sealing secret data with a policy that includes a sensor-based constraint |
JP5923100B2 (ja) * | 2011-09-26 | 2016-05-24 | 京セラ株式会社 | 電力管理システム、電力管理方法及び上位電力管理装置 |
DE112012004368T5 (de) | 2011-10-21 | 2014-07-31 | Mitsubishi Electric Corp. | Videobildinformations-wiedergabeverfahren und videobildinformations-wiedergabevorrichtung |
CN103164260B (zh) * | 2011-12-15 | 2016-06-01 | 中国银联股份有限公司 | 用于移动终端的应用程序管理系统及方法 |
US9992024B2 (en) * | 2012-01-25 | 2018-06-05 | Fujitsu Limited | Establishing a chain of trust within a virtual machine |
US9336035B2 (en) * | 2012-10-23 | 2016-05-10 | Vmware, Inc. | Method and system for VM-granular I/O caching |
US9851989B2 (en) | 2012-12-12 | 2017-12-26 | Vmware, Inc. | Methods and apparatus to manage virtual machines |
US20140280964A1 (en) * | 2013-03-15 | 2014-09-18 | Gravitant, Inc. | Systems, methods and computer readable mediums for implementing cloud service brokerage platform functionalities |
US9055119B2 (en) | 2013-03-26 | 2015-06-09 | Vmware, Inc. | Method and system for VM-granular SSD/FLASH cache live migration |
US9419879B2 (en) | 2013-06-20 | 2016-08-16 | International Business Machines Corporation | Selectively refreshing address registration information |
EP2985674B1 (en) * | 2013-07-10 | 2020-08-26 | Nintendo Co., Ltd. | Information processing system, information processing device, information processing program, and method for controlling operation mode |
US20150058926A1 (en) * | 2013-08-23 | 2015-02-26 | International Business Machines Corporation | Shared Page Access Control Among Cloud Objects In A Distributed Cloud Environment |
CN103440460A (zh) * | 2013-09-09 | 2013-12-11 | 中国农业银行股份有限公司 | 一种应用系统变更验证方法及验证系统 |
US9715410B2 (en) * | 2015-01-30 | 2017-07-25 | Red Hat Israel, Ltd. | Protected virtual machine function access |
US9785487B1 (en) * | 2015-05-12 | 2017-10-10 | Google Inc. | Managing device functions based on physical interaction with device modules |
CN105117652B (zh) * | 2015-10-09 | 2018-12-04 | 天津国芯科技有限公司 | 一种基于NAND Flash的SOC启动方法 |
JP6674092B2 (ja) * | 2016-02-10 | 2020-04-01 | 富士通株式会社 | データ管理プログラム、データ管理装置、及びデータ管理方法 |
JP6922835B2 (ja) * | 2018-05-10 | 2021-08-18 | 日本電信電話株式会社 | サービス連携装置および通知方法 |
US11397815B2 (en) * | 2018-09-21 | 2022-07-26 | Hewlett Packard Enterprise Development Lp | Secure data protection |
US10817046B2 (en) * | 2018-12-31 | 2020-10-27 | Bmc Software, Inc. | Power saving through automated power scheduling of virtual machines |
EP3709201A1 (en) * | 2019-03-13 | 2020-09-16 | Siemens Aktiengesellschaft | Method for verifying an execution environment used for execution of at least one hardware-application provided by a configurable hardware module |
US20230195481A1 (en) * | 2019-07-02 | 2023-06-22 | Vmware, Inc. | Hybrid partitioning of virtualization on multiple core systems |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001043098A (ja) * | 1999-07-29 | 2001-02-16 | Matsushita Electric Ind Co Ltd | オペレーティングシステムおよび仮想計算機システム |
JP2001243080A (ja) * | 2000-03-02 | 2001-09-07 | Hitachi Ltd | 情報処理装置 |
JP2001256067A (ja) * | 2000-03-08 | 2001-09-21 | Mitsubishi Electric Corp | プロセッサ省電力制御方法、記憶媒体、およびプロセッサ省電力制御装置 |
JP2004171566A (ja) * | 2002-11-18 | 2004-06-17 | Arm Ltd | サスペンドされたオペレーティングシステムへデータ処理リクエストを送る方法 |
JP2005011336A (ja) * | 2003-05-29 | 2005-01-13 | Matsushita Electric Ind Co Ltd | オペレーティングシステム切り替え可能な情報処理装置 |
JP2007035015A (ja) * | 2005-07-26 | 2007-02-08 | Mitac Technology Corp | インスタントキースタンバイ状態からのマルチメディア再生インスタントプレイの方法 |
JP2007073026A (ja) * | 2005-09-07 | 2007-03-22 | Mitac Technology Corp | スタンバイモードからコンピュータにより迅速にマルチメディア再生を執行する方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2945498B2 (ja) * | 1991-04-12 | 1999-09-06 | 富士通株式会社 | システム間通信方式 |
JP2000347772A (ja) | 1999-06-07 | 2000-12-15 | Toshiba Corp | 携帯情報機器に使用されるプロセッサの低消費電力制御方法 |
JP4698211B2 (ja) * | 2003-12-15 | 2011-06-08 | 株式会社リコー | 情報処理装置、画像形成装置、電子データの移動の取り消し方法 |
JP4314137B2 (ja) | 2004-03-19 | 2009-08-12 | カヤバ工業株式会社 | ロール制御に最適な装置および方法 |
US7543166B2 (en) * | 2004-05-12 | 2009-06-02 | Intel Corporation | System for managing power states of a virtual machine based on global power management policy and power management command sent by the virtual machine |
US7739532B2 (en) * | 2004-06-07 | 2010-06-15 | Intel Corporation | Method, apparatus and system for enhanced CPU frequency governers |
WO2006003875A1 (ja) * | 2004-06-30 | 2006-01-12 | Matsushita Electric Industrial Co., Ltd. | プログラム実行機器およびそのプログラム実行方法 |
-
2008
- 2008-06-04 CN CN2008800005883A patent/CN101542439B/zh not_active Expired - Fee Related
- 2008-06-04 WO PCT/JP2008/001418 patent/WO2009004757A1/ja active Application Filing
- 2008-06-04 JP JP2009503352A patent/JP5249920B2/ja not_active Expired - Fee Related
- 2008-06-04 EP EP08764015A patent/EP2169549A4/en not_active Withdrawn
- 2008-06-04 US US12/377,320 patent/US8127168B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001043098A (ja) * | 1999-07-29 | 2001-02-16 | Matsushita Electric Ind Co Ltd | オペレーティングシステムおよび仮想計算機システム |
JP2001243080A (ja) * | 2000-03-02 | 2001-09-07 | Hitachi Ltd | 情報処理装置 |
JP2001256067A (ja) * | 2000-03-08 | 2001-09-21 | Mitsubishi Electric Corp | プロセッサ省電力制御方法、記憶媒体、およびプロセッサ省電力制御装置 |
JP2004171566A (ja) * | 2002-11-18 | 2004-06-17 | Arm Ltd | サスペンドされたオペレーティングシステムへデータ処理リクエストを送る方法 |
JP2005011336A (ja) * | 2003-05-29 | 2005-01-13 | Matsushita Electric Ind Co Ltd | オペレーティングシステム切り替え可能な情報処理装置 |
JP2007035015A (ja) * | 2005-07-26 | 2007-02-08 | Mitac Technology Corp | インスタントキースタンバイ状態からのマルチメディア再生インスタントプレイの方法 |
JP2007073026A (ja) * | 2005-09-07 | 2007-03-22 | Mitac Technology Corp | スタンバイモードからコンピュータにより迅速にマルチメディア再生を執行する方法 |
Also Published As
Publication number | Publication date |
---|---|
EP2169549A1 (en) | 2010-03-31 |
US20100229168A1 (en) | 2010-09-09 |
WO2009004757A1 (ja) | 2009-01-08 |
CN101542439A (zh) | 2009-09-23 |
EP2169549A4 (en) | 2012-08-29 |
US8127168B2 (en) | 2012-02-28 |
CN101542439B (zh) | 2012-10-31 |
JPWO2009004757A1 (ja) | 2010-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5249920B2 (ja) | データ処理装置、データ処理方法、データ処理プログラム、記録媒体及び集積回路 | |
Levy et al. | Multiprogramming a 64kb computer safely and efficiently | |
Weiser et al. | TIMBER-V: Tag-isolated memory bringing fine-grained enclaves to RISC-V | |
JP6082787B2 (ja) | セキュアな埋め込みコンテナの実行のためのプロセッサの拡張 | |
JP5922778B2 (ja) | ヘテロジニアスマルチコアプロセッサにおける熱エネルギーの発生を管理するためのシステムおよび方法 | |
US7793083B2 (en) | Processor and system for selectively disabling secure data on a switch | |
Makris et al. | Dynamic and adaptive updates of non-quiescent subsystems in commodity operating system kernels | |
EP1283458A2 (en) | Tamper resistant microprocessor using fast context switching | |
GB2483300A (en) | Transferring virtual machine state between host systems with common portions using a portable device | |
Wilson et al. | Implementing embedded security on dual-virtual-cpu systems | |
JPWO2011142095A1 (ja) | 情報処理装置および情報処理方法 | |
Mück et al. | Chips-ahoy: A predictable holistic cyber-physical hypervisor for mpsocs | |
Humphries et al. | A case against (most) context switches | |
TW201413440A (zh) | 電源模式切換管理方法及其電腦程式產品 | |
Mejia-Alvarez et al. | Evaluation framework for energy-aware multiprocessor scheduling in real-Time systems | |
TW201533576A (zh) | 在多核心系統上運用系統管理中斷(smi)之系統效能增強 | |
JP2010015474A (ja) | 情報処理装置および情報処理方法 | |
JP2011039903A (ja) | プロセス状態検知プログラム、情報処理装置、プロセス状態検知方法 | |
TWI312253B (en) | Data processing apparatus and method for controlling access to a memory in the same | |
TWI778295B (zh) | 資訊處理系統、其之電源作業控制器以及於叢集作業期間處理電源請求的方法 | |
US10121001B1 (en) | System and method for monolithic scheduling in a portable computing device using a hypervisor | |
TWI292099B (en) | Apparatus, method and computer program product for processing data within a secure processing system | |
Gomez-Garcia | Implementing Secure Shared Memory for Side-Channel-Resistant Enclaves | |
Tian et al. | How virtualization makes power management different | |
TW202333046A (zh) | 用於系統更新之動態資源判定技術 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121023 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121214 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130115 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130227 |
|
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: 20130319 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130412 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 5249920 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: 20160419 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |