説明

メモリ管理装置、メモリ管理方法、制御プログラム、および、記録媒体

【課題】システムの起動および起動後の動作を高速化する。
【解決手段】情報処理システムは、不揮発記憶装置から主記憶装置へのデータの先読みを行う先読み実行部と、先読み実行部が先読みを行う前に主記憶装置に記憶されているデータの少なくとも一部と、先読み実行部により先読みされたデータとを含むデータを、情報処理システムが起動したときに主記憶装置に置かれている状態保存データとして保存する休止実行部とを含む。本技術は、例えばメモリ管理装置に適用できる。

【発明の詳細な説明】
【技術分野】
【0001】
本技術は、メモリ管理装置、メモリ管理方法、制御プログラム、および、記録媒体に関し、特に、システムの起動および起動後の動作を高速化するようにしたメモリ管理装置、メモリ管理方法、制御プログラム、および、記録媒体に関する。
【背景技術】
【0002】
従来、システムの停止時に、主記憶装置のデータを補助記憶装置にそのまま退避し、次の起動時に、補助記憶装置に退避しているデータを主記憶装置に読み出すことにより、停止前の状態からシステムを動作させるハイバネーションと呼ばれる手法が知られている。
【0003】
また、従来、システムの停止時に主記憶装置から補助記憶装置に退避させるデータ量を削減することにより、ハイバネーション処理の高速化を図る手法が提案されている(例えば、特許文献1参照)。
【0004】
さらに、従来、ハイバネーション状態から復帰する際に、主記憶装置上でオペレーティングシステム(OS)のみを実行状態に復帰させた後に、OSがプロセス毎に補助記憶装置から主記憶装置にイメージを転送し、転送処理が完了したプロセスから実行を再開させることにより、ユーザの体感的な待ち時間を短縮する手法が提案されている(例えば、特許文献2参照)。
【0005】
また、従来、ハイバネーション機能を利用して、システム初期化直後のメインメモリの記憶内容を初期起動イメージとしてハードディスク装置に保存し、次回以降の起動時に初期起動データをハードディスク装置からメインメモリに読み出すことにより、システムの起動を高速化する手法が提案されている(例えば、特許文献3参照)。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開平10−333997号公報
【特許文献2】特開2010−250512号公報
【特許文献3】特開2004−38546号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、特許文献1乃至3に記載の発明では、システムが起動した後の動作について特に考慮されていないため、システムが起動した直後に必要となるデータが主記憶装置に存在しない場合、補助記憶装置から当該データを読み出す必要が生じる。その結果、システムの起動が高速化されたにも関わらず、起動直後の動作が緩慢になる恐れがある。
【0008】
そこで、本技術は、システムの起動および起動後の動作を高速化できるようにするものである。
【課題を解決するための手段】
【0009】
本技術の一側面のメモリ管理装置は、第1の記憶装置から第2の記憶装置へのデータの先読みを行う先読み実行部と、前記先読み実行部が先読みを行う前に前記第2の記憶装置に記憶されているデータの少なくとも一部と、前記先読み実行部により先読みされたデータとを含むデータを、前記第1の記憶装置および前記第2の記憶装置を備えるシステムが起動したときに前記第2の記憶装置に置かれているデータである初期データとして保存する初期データ保存部とを含む。
【0010】
前記先読み実行部には、前記システムを停止するときに先読みを行わせ、前記初期データには、前記システムを停止するときに前記第2の記憶装置に記憶されているデータと、前記先読み実行部により先読みされたデータとを含ませることができる。
【0011】
前記先読み実行部には、前記システムの起動後に実行される機能で使用するデータを先読みさせることができる。
【0012】
前記システムの起動後に実行される機能を予測する予測部をさらに設け、前記先読み実行部には、前記予測部により予測された機能で使用するデータを先読みさせることができる。
【0013】
前記初期データ保存部には、前記初期データを前記第1の記憶装置に保存させ、前記システムを起動するときに、前記初期データを前記第1の記憶装置から前記第2の記憶装置に読み出すデータ読み出し部をさらに設けることができる。
【0014】
前記初期データ保存部には、前記初期データを前記第2の記憶装置に保存させることができる。
【0015】
前記先読み実行部には、前記システムの起動後に先読みを行わせ、前記初期データ保存部には、前記システムの起動後に前記第2の記憶装置に記憶されているデータの少なくとも一部と、前記先読み実行部により先読みされたデータとを含むデータを前記初期データとして前記第1の記憶装置に保存させ、前記システムを起動するときに、前記初期データを前記第1の記憶装置から前記第2の記憶装置に読み出すデータ読み出し部をさらに設けることができる。
【0016】
前記初期データが前記第1の記憶装置に保存されていない場合、前記初期データ保存部には、前記システムの起動後に前記第2の記憶装置に記憶されているデータの少なくとも一部を第1の初期データとして前記第1の記憶装置に保存させ、前記第1の初期データが前記第1の記憶装置に保存されており、第2の初期データが前記第1の記憶装置に保存されていない場合、前記先読み実行部には、前記システムの起動後に先読みを行わせ、前記初期データ保存部には、前記第1の初期データと、前記先読み実行部により先読みされたデータとを含むデータを前記第2の初期データとして前記第1の記憶装置に保存させることができる。
【0017】
前記先読み実行部には、前記初期データが前記第2の記憶装置に読み出された後、前記システムの起動方法に応じたデータをさらに先読みさせることができる。
【0018】
前記先読み実行部には、前記システムの起動後に、前記システムの起動方法に応じたデータを先読みさせ、前記初期データ保存部には、前記システムの起動方法毎に異なる前記初期データを保存させ、前記データ読み出し部には、前記システムを起動するときに、前記システムの起動方法に応じた前記初期データを前記第1の記憶装置から前記第2の記憶装置に読み出させることができる。
【0019】
前記初期データ保存部には、前記システムが実行するプログラムが変更されたとき、前記初期データを更新させることができる。
【0020】
本技術の一側面のメモリ管理方法は、第1の記憶装置から第2の記憶装置へのデータの先読みを行い、先読みを行う前に前記第2の記憶装置に記憶されているデータの少なくとも一部と、先読みされたデータとを含むデータを、前記第1の記憶装置および前記第2の記憶装置を備えるシステムが起動したときに前記第2の記憶装置に置かれているデータである初期データとして保存するステップを含む。
【0021】
本技術の一側面の制御プログラムは、第1の記憶装置から第2の記憶装置へのデータの先読みを行い、先読みを行う前に前記第2の記憶装置に記憶されているデータの少なくとも一部と、先読みされたデータとを含むデータを、前記第1の記憶装置および前記第2の記憶装置を備えるシステムが起動したときに前記第2の記憶装置に置かれているデータである初期データとして保存するステップを含む処理をコンピュータに実行させる。
【0022】
本技術の一側面の記録媒体は、本技術の一側面の制御プログラムが記録されている。
【0023】
本技術の一側面においては、第1の記憶装置から第2の記憶装置へのデータの先読みが行われ、先読みを行う前に前記第2の記憶装置に記憶されているデータの少なくとも一部と、先読みされたデータとを含むデータが、前記第1の記憶装置および前記第2の記憶装置を備えるシステムが起動したときに前記第2の記憶装置に置かれているデータである初期データとして保存される。
【発明の効果】
【0024】
本技術の一側面によれば、システムの起動および起動後の動作を高速化することができる。
【図面の簡単な説明】
【0025】
【図1】本技術を適用した情報処理システムの第1の実施の形態を示すブロック図である。
【図2】図1の情報処理システムにより実行されるシステム休止処理を説明するためのフローチャートである。
【図3】図1の情報処理システムにより実行されるシステム復帰処理を説明するためのフローチャートである。
【図4】図1の情報処理システムをブルーレイディスクレコーダに適用した場合の機能の構成例を示すブロック図である。
【図5】図1の情報処理システムをデジタルカメラに適用した場合の機能の構成例を示すブロック図である。
【図6】本技術を適用した情報処理システムの第1の実施の形態の第1の変形例を示すブロック図である。
【図7】本技術を適用した情報処理システムの第1の実施の形態の第2の変形例を示すブロック図である。
【図8】本技術を適用した情報処理システムの第2の実施の形態を示すブロック図である。
【図9】図8の情報処理システムにより実行されるシステム起動処理を説明するためのフローチャートである。
【図10】図8の情報処理システムをブルーレイディスクレコーダに適用した場合の機能の構成例を示すブロック図である。
【図11】図8の情報処理システムをタブレット端末に適用した場合の機能の構成例を示すブロック図である。
【図12】本技術を適用した情報処理システムの第2の実施の形態の第1の変形例を示すブロック図である。
【図13】本技術を適用した情報処理システムの第2の実施の形態の第2の変形例を示すブロック図である。
【図14】コンピュータの構成例を示すブロック図である。
【発明を実施するための形態】
【0026】
以下、本技術を実施するための形態(以下、実施の形態という)について説明する。なお、説明は以下の順序で行う。
1.第1の実施の形態(ハイバネーションを行う場合に適用した例)
2.第1の実施の形態の第1の具体的な実施例(ブルーレイディスクレコーダに適用した例)
3.第1の実施の形態の第2の具体的な実施例(デジタルカメラに適用した例)
4.第1の実施の形態の第1の変形例(先読みプロファイルを使い分ける例)
5.第1の実施の形態の第2の変形例(サスペンドを行う場合に適用した例)
6.第2の実施の形態(起動イメージを用いてシステムの起動を行う場合に適用した例)
7.第2の実施の形態の第1の具体的な実施例(ブルーレイディスクレコーダに適用した例)
8.第2の実施の形態の第2の具体的な実施例(タブレット端末に適用した例)
9.第2の実施の形態の第1の変形例(起動イメージの展開後にさらにユースケース毎に先読みを行う例)
10.第2の実施の形態の第2の変形例(ユースケース毎に起動イメージを使い分ける例)
11.その他の変形例
【0027】
なお、本明細書では、停止前の状態にシステムを復帰できるようにしてシステムを停止することを、特にシステムを休止すると称する。ここで、システムを停止するとは、システムの電源を完全にオフするだけでなく、システムの一部の電源をオフし、省電力モードに遷移する場合も含む。また、システムが休止している状態を、休止状態と称する。さらに、システムを休止状態から起動し、休止前の状態に戻すことを、特にシステムを復帰すると称する。
【0028】
<1.第1の実施の形態>
まず、図1乃至図3を参照して、本技術の第1の実施の形態について説明する。
【0029】
[情報処理システム101の構成例]
図1は、本技術の第1の実施の形態である情報処理システム101の機能の構成例を示すブロック図である。
【0030】
情報処理システム101は、不揮発記憶装置111、データ入出力部112、主記憶装置113、プログラム114、先読み実行制御部115、データ要求収集部116、プロファイル作成部117、先読み実行部118、復帰実行部119、休止実行部120、および、電源管理部121を含むように構成される。
【0031】
なお、データ入出力部112、先読み実行制御部115、データ要求収集部116、プロファイル作成部117、先読み実行部118、復帰実行部119、休止実行部120、および、電源管理部121は、例えば、情報処理システム101で実行されるオペレーティングシステムにより実現される。
【0032】
また、情報処理システム101では、後述するように、プログラム114の実行前に、プログラム114の実行に必要なデータの少なくとも一部を不揮発記憶装置111から主記憶装置113に読み出す先読みが行われる。ここで、先読み対象となるデータには、プログラム114の処理に用いるデータだけでなく、プログラム114自身も含まれる。
【0033】
不揮発記憶装置111は、補助記憶装置として用いられ、実行可能形式のプログラムやファイルなどの永続的データ、および、状態保存データSDを記憶する。
【0034】
状態保存データSDは、情報処理システム101を休止状態に遷移するときに保存され、情報処理システム101が休止状態から起動したときに、休止前の状態に復帰させるために主記憶装置113に置かれるデータである。状態保存データSDは、休止状態に遷移するときに主記憶装置113から退避させるデータに加えて、後述するように、先読み実行部118により不揮発記憶装置111から読み出される先読みデータを含む。
【0035】
データ入出力部112は、プログラム114や先読み実行部118などからの要求に従って、不揮発記憶装置111のデータを読み出し、要求元に渡す。また、データ入出力部112は、処理の高速化のため、不揮発記憶装置111から読み出したデータを主記憶装置113に記憶させ、次に同じデータの読み出しが要求された場合、主記憶装置113に記憶されているデータを読み出し、要求元に渡す。
【0036】
また、データ入出力部112は、休止実行部120などからの要求に従って、あるいは、必要に応じて、主記憶装置113のデータを読み出し、不揮発記憶装置111に記憶させる。
【0037】
主記憶装置113は、揮発性の記憶装置であり、システムのワークメモリとして使用される。主記憶装置113は、例えば、オペレーティングシステムが管理するページキャッシュのような、不揮発記憶装置111のデータのうちアクセスのあったものを一時的に保存する領域を含む。主記憶装置113は、不揮発記憶装置111よりも高速な記憶装置により構成される。
【0038】
プログラム114は、情報処理システム101の主機能を実現するためのプログラムである。
【0039】
先読み実行制御部115は、先読みプロファイルPFの作成、および、先読みプロファイルPFに基づく先読みの実行の制御を行う。例えば、先読み実行制御部115は、先読みプロファイルPFを作成する場合、データ要求収集部116に処理の実行を指示し、先読みを実行する場合、先読み実行部118に処理の実行を指示する。
【0040】
データ要求収集部116は、先読み実行制御部115の指示により、プログラム114からの要求に従ってデータ入出力部112から発行される不揮発記憶装置111へのデータの読み出し要求を監視する。そして、データ要求収集部116は、発行された読み出し要求の履歴であるデータ要求履歴を収集し、プロファイル作成部117に供給する。
【0041】
プロファイル作成部117は、データ要求収集部116が収集したデータ要求履歴に基づいて、先読みプロファイルPFを作成する。
【0042】
先読みプロファイルPFは、先読み実行部118に先読み手順を指示するためのデータであり、例えば、先読みの対象となるデータの不揮発記憶装置111上の位置とサイズ、先読みを行う順序を含む。
【0043】
先読み実行部118は、先読み実行制御部115の指示により、先読みプロファイルPFに基づいたデータの先読みを行う。すなわち、先読み実行部118は、データ入出力部112にデータ要求を行うことで、プログラム114が必要とするデータを先に主記憶装置113に読み出させる。これにより、実際にプログラム114がデータ要求を行ったときに、高速にデータを取得することが可能になる。
【0044】
復帰実行部119は、外部からの指示に従って、情報処理システム101を休止状態から復帰させる処理の制御を行う。例えば、復帰実行部119は、電源管理部121を介して情報処理システム101の各種デバイスの電源をオンし、データ入出力部112を介して、不揮発記憶装置111に記憶されている状態保存データSDを主記憶装置113に展開する。また、復帰実行部119は、情報処理システム101の復帰が指示されたことを先読み実行制御部115に通知する。
【0045】
休止実行部120は、外部からの指示に従って、情報処理システム101を休止させる処理の制御を行う。例えば、休止実行部120は、データ入出力部112を介して、主記憶装置113から不揮発記憶装置111に状態保存データSDを退避させた後、電源管理部121を介して情報処理システム101の各種デバイスの電源をオフする。また、休止実行部120は、情報処理システム101の休止が指示されたことを先読み実行制御部115に通知する。
【0046】
電源管理部121は、不揮発記憶装置111および主記憶装置113を含む情報処理システム101の各種デバイスの電源を管理し、復帰実行部119や休止実行部120等の指示に従って、それらの電源のオン/オフを行う。
【0047】
[システム休止処理]
次に、図2のフローチャートを参照して、情報処理システム101により実行されるシステム休止処理を説明する。
【0048】
ステップS1において、休止実行部120は、システム休止の指示を受ける。例えば、情報処理システム101の動作中に図示せぬ操作部をユーザが操作することにより、情報処理システム101の休止の指示が休止実行部120に入力される。休止実行部120は、情報処理システム101の休止が指示されたことを先読み実行制御部115に通知する。
【0049】
ステップS2において、先読み実行制御部115は、先読みプロファイルPFが存在するか否かを判定する。先読みプロファイルPFが存在すると判定された場合、処理はステップS3に進む。
【0050】
ステップS3において、情報処理システム101は、先読みを実行する。具体的には、先読み実行制御部115は、先読み実行部118に先読みの実行を指示する。先読み実行部118は、先読みプロファイルPFにより示される位置およびサイズのデータを順にデータ入出力部112に要求する。データ入出力部112は、要求されたデータを不揮発記憶装置111から読み出し、主記憶装置113に記憶させる。
【0051】
その後、処理はステップS4に進む。
【0052】
一方、ステップS2において、先読みプロファイルPFが存在しないと判定された場合、ステップS3の処理はスキップされ、処理はステップS4に進む。
【0053】
ステップS4において、情報処理システム101は、システム休止を実行する。具体的には、まず、休止実行部120は、電源管理部121を介して、情報処理システム101の各種デバイスの電源をオフする。なお、このとき、少なくとも不揮発記憶装置111および主記憶装置113の電源はオフされない。
【0054】
そして、休止実行部120は、データ入出力部112を介して、主記憶装置113のデータを全て読み出し、不揮発記憶装置111に状態保存データSDとして記憶させる。これにより、休止前の主記憶装置113の内容が全て不揮発記憶装置111に保存される。
【0055】
従って、ステップS3において先読みが実行された場合、状態保存データSDには、情報処理システム101を休止するときに主記憶装置113に記憶されているデータ(先読みが行われる前に主記憶装置113に記憶されているデータ)に加えて、不揮発記憶装置111から先読みされた先読みデータが含まれる。
【0056】
その後、休止実行部120は、電源管理部121を介して、不揮発記憶装置111および主記憶装置113の電源をオフし、システム休止処理は終了する。
【0057】
[システム復帰処理]
次に、図3のフローチャートを参照して、情報処理システム101により実行されるシステム復帰処理を説明する。
【0058】
ステップS51において、復帰実行部119は、システム復帰の指示を受ける。例えば、情報処理システム101の休止中に図示せぬ操作部をユーザが操作することにより、情報処理システム101の復帰の指示が復帰実行部119に入力される。復帰実行部119は、情報処理システム101の復帰が指示されたことを先読み実行制御部115に通知する。
【0059】
ステップS52において、情報処理システム101は、システム復帰を実行する。具体的には、復帰実行部119は、電源管理部121を介して、不揮発記憶装置111および主記憶装置113を含む情報処理システム101の各種デバイスの電源をオンする。
【0060】
その後、復帰実行部119は、データ入出力部112を介して、不揮発記憶装置111に記憶されている状態保存データSDを読み出し、主記憶装置113に展開する。これにより、主記憶装置113の内容が休止前の状態となり、情報処理システム101が休止状態から休止前の状態に復帰する。
【0061】
ステップS53において、先読み実行制御部115は、先読みプロファイルPFが存在するか否かを判定する。先読みプロファイルPFが存在しないと判定された場合、処理はステップS54に進む。
【0062】
ステップS54において、データ要求収集部116は、不揮発記憶装置111へのデータの読み出し要求の履歴を収集する。具体的には、先読み実行制御部115は、データ要求収集部116に処理の実行を指示する。データ要求収集部116は、プログラム114からの要求に従ってデータ入出力部112から発行される不揮発記憶装置111へのデータの読み出し要求を監視し、データ要求履歴を収集する。
【0063】
ステップS55において、プロファイル作成部117は、データ要求履歴を集約し、先読みプロファイルPFを作成する。具体的には、プロファイル作成部117は、データ要求履歴をデータ要求収集部116から取得し、データ要求履歴に記録されている読み出し要求に示されるデータの読み出し位置およびサイズを抽出する。そして、プロファイル作成部117は、抽出した読み出し位置およびサイズを所定の順序(例えば、読み出し順)に並べた先読みプロファイルPFを作成する。なお、このとき、プロファイル作成部117は、データを読み出す領域が隣接するものを1つにまとめたり、重複するものを削除したりする。
【0064】
なお、先読みプロファイルPFの対象となるプログラム114(以下、先読み対象プログラムと称する)、および、データの先読みを行う範囲は、例えば、情報処理システム101の仕様や性能、主記憶装置113の容量、プログラム114が実現する機能等に基づいて任意に設定することができる。
【0065】
例えば、先読み対象プログラムには、情報処理システム101の起動後に実行される可能性が高い機能を実現するためのプログラムが選ばれる。また、データの先読みを行う範囲として、例えば、先読み対象プログラムの起動完了時までに必要なデータ、あるいは、先読み対象プログラムの実行時に必ず実行される処理に必要なデータ、あるいは、先読み対象プログラムの全ての処理に必要なデータが設定される。
【0066】
そして、先読みプロファイルPFが作成された後、システム復帰処理は終了する。
【0067】
一方、ステップS53において、先読みプロファイルPFが存在すると判定された場合、ステップS54およびステップS55の処理はスキップされ、先読みプロファイルPFの作成は行われずに、システム復帰処理は終了する。
【0068】
以上のようにして、情報処理システム101が復帰したときに、休止するときに主記憶装置113に記憶されているデータだけでなく、先読みデータが主記憶装置113に置かれる。従って、通常のハイバネーションと比較して、情報処理システム101の復帰を高速化できるだけでなく、復帰後の動作(より具体的には、先読み対象プログラムにより実現される機能の動作)を高速化することができる。
【0069】
<2.第1の実施の形態の第1の具体的な実施例>
図4は、情報処理システム101の第1の具体的な実施例として、情報処理システム101をブルーレイディスクレコーダに適用した場合の機能の構成例を示すブロック図である。
【0070】
なお、図4では、ブルーレイディスクレコーダ201の構成要素のうち本技術に関連する部分を中心に図示しており、一部図示を省略している。また、図中、図1と対応する部分には、下二桁が同じ符号を付してあり、処理が同じ部分については、その説明は繰り返しになるので適宜省略する。
【0071】
ブルーレイディスクレコーダ201では、図1の情報処理システム101の不揮発記憶装置111の具体例としてフラッシュメモリ211が採用され、主記憶装置113の具体例としてDRAM(Dynamic Random Access Memory)213が採用されている。また、再生画面や操作画面を表示するためのデータを外部のディスプレイ等に出力する画面出力部222が追加されている。
【0072】
また、ブルーレイディスクレコーダ201を操作するためのリモートコントローラ202が追加されている。リモートコントローラ202には、番組表を表示するための番組表ボタン231、および、ブルーレイディスクレコーダ201の電源を操作するための電源ボタン232が少なくとも設けられている。
【0073】
例えば、ブルーレイディスクレコーダ201の電源がオフされているときに、リモートコントローラ202の番組表ボタン231をユーザが操作すると、ブルーレイディスクレコーダ201の電源がオンされた後、外部のディスプレイ等に番組表が表示される。ここで、本技術を適用することにより、ブルーレイディスクレコーダ201が起動した直後の番組表の表示を高速化することができる。
【0074】
具体的には、ユーザが初めて番組表ボタン231を操作してブルーレイディスクレコーダ201を起動するとき、データ要求収集部216は、先読み実行制御部215の指示に従って、データ入出力部212から発行されるフラッシュメモリ211からのデータの読み出し要求を監視し、データ要求履歴を収集する。プロファイル作成部217は、収集されたデータ要求履歴に基づいて、先読みプロファイルPFを作成する。
【0075】
なお、ブルーレイディスクレコーダ201の出荷時に、この先読みプロファイルPFを予め作成しておくようにしてもよい。
【0076】
次に、ユーザが電源ボタン232を操作してブルーレイディスクレコーダ201の電源をオフするとき、休止実行部220は、電源管理部221を介して、まず画面出力部222の電源をオフする。これにより、ユーザから見ると、ブルーレイディスクレコーダ201の電源がオフされた状態となる。
【0077】
そして、先読み実行部218は、先読み実行制御部215の指示に従って、先読みプロファイルPFに基づいてバックグラウンドで先読みを実行する。これにより、番組表機能の動作に必要なデータが、フラッシュメモリ211から読み出され、DRAM213に記憶される。
【0078】
さらに、休止実行部220は、データ入出力部212を介して、DRAM213に記憶されている全てのデータを、状態保存データSDとしてフラッシュメモリ211に保存する。従って、状態保存データSDには、電源オフの操作を行う直前のDRAM213のデータに加えて、番組表機能の動作に必要なデータが含まれるようになる。その後、休止実行部220は、電源管理部221を介して、フラッシュメモリ211およびDRAM213の電源をオフする。
【0079】
次に、ユーザが番組表ボタン231を操作してブルーレイディスクレコーダ201の電源をオンするとき、復帰実行部219は、電源管理部221を介して、フラッシュメモリ211、DRAM213、画面出力部222を含む、ブルーレイディスクレコーダ201の各種デバイスの電源をオンする。
【0080】
その後、復帰実行部219は、データ入出力部212を制御して、状態保存データSDをフラッシュメモリ211から読み出し、DRAM213に展開する。そして、状態保存データSDの展開が終わった時点で、番組表機能の動作が開始される。
【0081】
このとき、すでに番組表機能の動作に必要なデータがDRAM213に読み出されており、フラッシュメモリ211から新たに読み出す必要がない。従って、ブルーレイディスクレコーダ201が起動された直後から、番組表機能を高速に動作させることが可能になる。
【0082】
<3.第1の実施の形態の第2の具体的な実施例>
図5は、情報処理システム101の第2の具体的な実施例として、情報処理システム101をデジタルカメラに適用した場合の機能の構成例を示すブロック図である。
【0083】
なお、図5では、デジタルカメラ301の構成要素のうち本技術に関連する部分を中心に図示しており、一部図示を省略している。また、図中、図1と対応する部分には、下二桁が同じ符号を付してあり、処理が同じ部分については、その説明は繰り返しになるので適宜省略する。
【0084】
デジタルカメラ301では、図1の情報処理システム101の不揮発記憶装置111の具体例として内蔵のフラッシュメモリ311が採用され、主記憶装置113の具体例としてDRAM(Dynamic Random Access Memory)313が採用されている。また、メモリカード322、撮像機能部323、液晶表示部324、再生ボタン325、および、電源ボタン326が追加されている。
【0085】
メモリカード322は、撮像機能部323により撮影された写真データPDを記憶するための記憶媒体である。メモリカード322への写真データPDの読み書きは、データ入出力部312により行われる。
【0086】
撮像機能部323は、イメージセンサ、レンズ等を含み、写真撮影の機能を実現する。撮像機能部323は、撮影の結果得られた写真データPDをデータ入出力部312に供給する。
【0087】
液晶表示部324は、データ入出力部312から供給されるデータに基づいて、写真データPD、および、デジタルカメラ301の操作画面や設定画面等を表示する。
【0088】
再生ボタン325は、メモリカード322に記憶されている写真データPDの再生を行うためのボタンである。再生ボタン325が操作された場合、操作信号が復帰実行部319に供給される。
【0089】
電源ボタン326は、デジタルカメラ301の電源を操作するためのボタンである。電源ボタン326が操作された場合、オン操作のとき、操作信号が復帰実行部319に供給され、オフ操作のとき、操作信号が休止実行部320に供給される。
【0090】
例えば、デジタルカメラ301の電源がオフされているときに、再生ボタン325をユーザが操作すると、デジタルカメラ301の電源がオンされた後、写真データPDの再生が開始される。ここで、本技術を適用することにより、デジタルカメラ301が起動した直後の写真データPDの再生を高速化することができる。
【0091】
具体的には、ユーザが初めて再生ボタン325を操作してデジタルカメラ301を起動するとき、データ要求収集部316は、先読み実行制御部315の指示に従って、データ入出力部312から発行されるフラッシュメモリ311からのデータの読み出し要求を監視し、データ要求履歴を収集する。プロファイル作成部317は、収集されたデータ要求履歴に基づいて、先読みプロファイルPFを作成する。
【0092】
なお、デジタルカメラ301の出荷時に、この先読みプロファイルPFを予め作成しておくようにしてもよい。
【0093】
次に、ユーザが電源ボタン326を操作してデジタルカメラ301の電源をオフするとき、休止実行部320は、電源管理部321を介して、まず撮像機能部323や液晶表示部324の電源をオフする。これにより、ユーザから見ると、デジタルカメラ301の電源がオフされた状態となる。
【0094】
そして、先読み実行部318は、先読み実行制御部315の指示に従って、先読みプロファイルPFに基づいてバックグラウンドで先読みを実行する。これにより、写真データPDの再生機能の動作に必要なデータが、フラッシュメモリ311から読み出され、DRAM313に記憶される。また、最後に撮影された最新の写真データPDが、メモリカード322から読み出され、DRAM313に記憶される。
【0095】
さらに、休止実行部320は、データ入出力部312を介して、DRAM313に記憶されている全てのデータを、状態保存データSDとしてフラッシュメモリ311に保存する。従って、状態保存データSDには、電源オフの操作を行う直前のDRAM313のデータに加えて、写真データPDの再生機能の動作に必要なデータ、および、最新の写真データPDが含まれるようになる。その後、休止実行部320は、電源管理部321を介して、フラッシュメモリ311およびDRAM313の電源をオフする。
【0096】
次に、ユーザが再生ボタン325を操作してデジタルカメラ301の電源をオンするとき、復帰実行部319は、電源管理部321を介して、フラッシュメモリ311、DRAM313、撮像機能部323、液晶表示部324を含む各種デバイスの電源をオンする。
【0097】
その後、復帰実行部319は、データ入出力部312を介して、状態保存データSDをフラッシュメモリ311から読み出し、DRAM313に展開する。そして、状態保存データSDの展開が終わった時点で、写真データPDの再生が開始される。
【0098】
このとき、すでに写真データPDの再生機能の動作に必要なデータがDRAM313に読み出されており、フラッシュメモリ311から新たに読み出す必要がない。また、最初に再生される最新の写真データPDもDRAM313に読み出されている。従って、デジタルカメラ301が起動された直後から、写真データPDの再生を高速に行うことができる。
【0099】
<4.第1の実施の形態の第1の変形例>
図6は、情報処理システム101の第1の変形例である情報処理システム401の構成例を示すブロック図である。この第1の変形例は、復帰直後に実行される機能の候補が複数ある場合に、それぞれの機能を高速に動作させることができるようにするものである。
【0100】
なお、図中、図1と対応する部分には、同じ符号を付してあり、処理が同じ部分については、その説明は繰り返しになるので適宜省略する。
【0101】
情報処理システム401は、情報処理システム101と比較して、復帰後使用機能予測部411が追加され、先読み実行制御部115および先読み実行部118の代わりに、先読み実行制御部412および先読み実行部413が設けられている点が異なる。
【0102】
復帰後使用機能予測部411は、ユーザの情報処理システム401の使用状況を学習し、学習した結果に基づいて、情報処理システム401が休止するときに、次の復帰時に実行される機能を予測する。そして、復帰後使用機能予測部411は、予測結果を先読み実行制御部412に供給する。
【0103】
先読み実行制御部412は、データ要求収集部116に指示し、情報処理システム401の復帰直後に実行される機能毎に、それぞれ異なるデータ要求履歴を収集させる。プロファイル作成部117は、各データ要求履歴に基づいて、情報処理システム401の復帰直後に実行される機能毎に、それぞれ異なる先読みプロファイルPF1乃至PFnを作成する。
【0104】
また、先読み実行制御部412は、情報処理システム401が休止するときに、復帰後使用機能予測部411の予測結果に基づいて、先読みプロファイルPF1乃至PFnの中から適切な先読みプロファイルを選択する。そして、先読み実行制御部412は、選択した先読みプロファイルに基づいて、先読み実行部413に先読みを実行させる。
【0105】
これにより、状態保存データSDに、次回の復帰時に実行されると予測された機能に対する先読みデータが含まれるようになる。従って、情報処理システム401の復帰直後に実行される機能の候補が複数存在する場合でも、情報処理システム401が復帰した直後から、それらの機能を高速に動作させることが可能になる。
【0106】
<5.第1の実施の形態の第2の変形例>
図7は、情報処理システム101の第2の変形例である情報処理システム501の構成例を示すブロック図である。この第2の変形例は、システムのサスペンドを行う場合に本技術を適用するようにしたものである。
【0107】
なお、図中、図1と対応する部分には、同じ符号を付してあり、処理が同じ部分については、その説明は繰り返しになるので適宜省略する。
【0108】
情報処理システム501は、情報処理システム101と比較して、休止実行部120および電源管理部121の代わりに、休止実行部511および電源管理部512が設けられている点が異なる。
【0109】
休止実行部511は、情報処理システム501の電源をオフするときに、主記憶装置113のデータを不揮発記憶装置111に退避させない点が、図1の休止実行部120と異なっている。
【0110】
電源管理部512は、情報処理システム501の電源をオフするときに、主記憶装置113を通電したままにして、主記憶装置113のデータを保持させる点が、図1の電源管理部121と異なっている。
【0111】
従って、情報処理システム501が休止状態のときに、図1の状態保存データSDに相当するデータが、そのまま主記憶装置113に保持される。従って、次回情報処理システム501を復帰させたときに、すでに当該データが主記憶装置113に置かれており、不揮発記憶装置111から主記憶装置113に読み出す必要がないため、情報処理システム501の起動をより高速化することができる。また、情報処理システム101と同様に、起動後の動作を高速化することができる。
【0112】
<6.第2の実施の形態>
次に、図8および図9を参照して、本技術の第2の実施の形態について説明する。この第2の実施の形態は、起動イメージを用いてシステムの起動を行う場合に本技術を適用するようにしたものである。
【0113】
[情報処理システム601の構成例]
図8は、本技術の第2の実施の形態である情報処理システム601の機能の構成例を示すブロック図である。
【0114】
情報処理システム601は、不揮発記憶装置611、データ入出力部612、主記憶装置613、プログラム614、先読み実行制御部615、データ要求収集部616、プロファイル作成部617、先読み実行部618、イメージ展開部619、および、イメージ作成部620を含むように構成される。
【0115】
なお、データ入出力部612、先読み実行制御部615、データ要求収集部616、プロファイル作成部617、先読み実行部618、イメージ展開部619、および、イメージ作成部620は、例えば、情報処理システム601で実行されるオペレーティングシステムにより実現される。
【0116】
また、情報処理システム601では、情報処理システム101と同様に、プログラム614の実行前に、プログラム614の実行に必要なデータの少なくとも一部を不揮発記憶装置611から主記憶装置613に読み出す先読みが行われる。
【0117】
不揮発記憶装置611は、実行可能形式のプログラムやファイルなどの永続的データ、および、起動イメージSIを記憶する。
【0118】
起動イメージSIは、ある時点での情報処理システム601の状態(例えば、初期状態)を保存したデータであり、その時点の主記憶装置613のデータの少なくとも一部を含む。そして、起動イメージSIは、情報処理システム601が起動したときに、その状態に設定するために主記憶装置613に置かれる。なお、後述するように、起動イメージSIには、中間起動イメージと最終起動イメージの2種類が存在する。
【0119】
データ入出力部612は、プログラム614、先読み実行部618、イメージ展開部619などからの要求に従って、不揮発記憶装置611のデータを読み出し、要求元に渡す。また、データ入出力部612は、処理の高速化のため、不揮発記憶装置611から読み出したデータを主記憶装置613に記憶させ、次に同じデータの読み出しが要求された場合、主記憶装置613に記憶されているデータを読み出し、要求元に渡す。
【0120】
また、データ入出力部612は、イメージ作成部620などからの要求に従って、あるいは、必要に応じて、主記憶装置613のデータを読み出し、不揮発記憶装置611に記憶させる。
【0121】
主記憶装置613は、揮発性の記憶装置であり、システムのワークメモリとして使用される。主記憶装置613は、例えば、オペレーティングシステムが管理するページキャッシュのような、不揮発記憶装置611のデータのうちアクセスのあったものを一時的に保存する領域を含む。主記憶装置613は、不揮発記憶装置611よりも高速な記憶装置により構成される。
【0122】
プログラム614は、情報処理システム601の主機能を実現するためのプログラムである。
【0123】
先読み実行制御部615は、先読みプロファイルPFの作成、および、先読みプロファイルPFに基づく先読みの実行の制御を行う。例えば、先読み実行制御部615は、先読みプロファイルPFを作成する場合、データ要求収集部616に処理の実行を指示し、先読みを実行する場合、先読み実行部618に処理の実行を指示する。
【0124】
データ要求収集部616は、先読み実行制御部615の指示により、プログラム614からの要求に従ってデータ入出力部612から発行される不揮発記憶装置611へのデータの読み出し要求を監視する。そして、データ要求収集部616は、発行された読み出し要求の履歴であるデータ要求履歴を収集し、プロファイル作成部617に供給する。
【0125】
プロファイル作成部617は、データ要求収集部616が収集したデータ要求履歴に基づいて、先読みプロファイルPFを作成する。
【0126】
先読みプロファイルPFは、先読み実行部618に先読み手順を指示するためのデータであり、先読み対象データの不揮発記憶装置611上の位置とサイズ、先読みを行う順序を含む。
【0127】
先読み実行部618は、先読み実行制御部615の指示により、先読みプロファイルPFに基づいたデータの先読みを行う。すなわち、先読み実行部618は、データ入出力部612にデータ要求を行うことで、プログラム614が必要とするデータを先に主記憶装置613に読み出させる。これにより、実際にプログラム614がデータ要求を行ったときに、高速にデータを取得することが可能になる。
【0128】
イメージ展開部619は、データ入出力部612を介して、起動イメージSIを不揮発記憶装置611から読み出し、主記憶装置613に展開する。
【0129】
イメージ作成部620は、データ入出力部612を介して、起動イメージSIを作成し、不揮発記憶装置611に記憶させる。
【0130】
[システム起動処理]
次に、図9のフローチャートを参照して、情報処理システム601により実行されるシステム起動処理を説明する。
【0131】
ステップS101において、情報処理システム601は、システム起動の指示を受ける。例えば、情報処理システム601の停止中に図示せぬ操作部をユーザが操作することにより、先読み実行制御部615、イメージ展開部619、イメージ作成部620等に、情報処理システム601の起動の指示が入力される。
【0132】
ステップS102において、イメージ展開部619は、起動イメージSIが存在するか否かを判定する。起動イメージSIが存在しないと判定された場合、すなわち、中間起動イメージも最終起動イメージも存在しないと判定された場合、処理はステップS103に進む。
【0133】
ステップS103において、情報処理システム601は、通常起動する。そして、情報処理システム601は、通常の初期状態に設定される。
【0134】
ステップS104において、イメージ作成部620は、中間起動イメージを作成する。具体的には、イメージ作成部620は、この時点の主記憶装置613のデータから保存する必要がないデータを除くことにより、中間起動イメージを作成する。ここで、保存する必要がないデータとは、例えば、不揮発記憶装置611に記憶されているデータから容易に復元することが可能なデータや、情報処理システム601の起動に必要のないデータ等である。
【0135】
このように、保存する必要がないデータを除くことにより、中間起動イメージのサイズを小さくすることができる。また、中間起動イメージは、例えば、情報処理システム601を起動したときに、情報処理システム601を所定の状態(例えば、初期状態)に設定するために必要で、かつ、復元が容易でないデータにより構成されるようになる。
【0136】
そして、イメージ作成部620は、データ入出力部612を介して、作成した中間起動イメージを不揮発記憶装置611に記憶させる。
【0137】
その後、システム起動処理は終了する。
【0138】
一方、ステップS102において、起動イメージSIが存在すると判定された場合、すなわち、中間起動イメージか最終起動イメージが存在すると判定された場合、処理はステップS105に進む。
【0139】
ステップS105において、イメージ展開部619は、起動イメージSIを展開する。すなわち、イメージ展開部619は、データ入出力部612を介して、不揮発記憶装置611から起動イメージSIを読み出し、主記憶装置613に展開する。
【0140】
ステップS106において、イメージ展開部619は、展開した起動イメージSIが最終起動イメージであるか否かを判定する。展開した起動イメージSIが、最終起動イメージでなく中間起動イメージであると判定された場合(すなわち、中間起動イメージが不揮発記憶装置611に保存されており、最終起動イメージが不揮発記憶装置611に保存されていない場合)、処理はステップS107に進む。
【0141】
ステップS107において、先読み実行制御部615は、先読みプロファイルPFが存在するか否かを判定する。先読みプロファイルPFが存在しないと判定された場合、処理はステップS108に進む。
【0142】
ステップS108において、データ要求収集部616は、不揮発記憶装置111へのデータの読み出し要求の履歴を収集する。具体的には、先読み実行制御部615は、データ要求収集部616に処理の実行を指示する。データ要求収集部616は、プログラム614からの要求に従ってデータ入出力部612から発行される不揮発記憶装置611へのデータの読み出し要求を監視し、データ要求履歴を収集する。
【0143】
ステップS109において、プロファイル作成部617は、データ要求履歴を集約し、先読みプロファイルPFを作成する。具体的には、プロファイル作成部617は、データ要求履歴をデータ要求収集部616から取得し、データ要求履歴に記録されている読み出し要求に示されるデータの読み出し位置およびサイズを抽出する。そして、プロファイル作成部617は、抽出した読み出し位置およびサイズを所定の順序(例えば、読み出し順)に並べた先読みプロファイルPFを作成する。なお、このとき、プロファイル作成部617は、データを読み出す領域が隣接するものを1つにまとめたり、重複するものを削除したりする。
【0144】
なお、先読みプロファイルPFの対象となるプログラム614(すなわち、先読み対象プログラム)、および、データの先読みを行う範囲は、例えば、情報処理システム601の仕様や性能、主記憶装置613の容量、プログラム614が実現する機能等に基づいて任意に設定することができる。
【0145】
例えば、先読み対象プログラムには、情報処理システム601の起動後に実行される可能性が高い機能を実現するためのプログラムが選ばれる。また、データの先読みを行う範囲として、例えば、先読み対象プログラムの起動完了時までに必要なデータ、あるいは、先読み対象プログラムの実行時に必ず実行される処理に必要なデータ、あるいは、先読み対象プログラムの全ての処理に必要なデータが設定される。
【0146】
そして、先読みプロファイルPFが作成された後、システム起動処理は終了する。
【0147】
一方、ステップS107において、先読みプロファイルPFが存在すると判定された場合、処理はステップS110に進む。
【0148】
ステップS110において、情報処理システム601は、先読みを実行する。具体的には、先読み実行制御部615は、先読み実行部618に先読みの実行を指示する。先読み実行部618は、先読みプロファイルPFにより示される位置およびサイズのデータを順にデータ入出力部612に要求する。データ入出力部612は、要求されたデータを不揮発記憶装置611から読み出し、主記憶装置613に記憶させる。
【0149】
ステップS111において、イメージ作成部620は、最終起動イメージを作成する。具体的には、イメージ作成部620は、この時点の主記憶装置613のデータ、すなわち、先読みが行われる前に主記憶装置613に記憶されている中間起動イメージに、先読みプロファイルPFに基づいて先読みされたデータを加えたデータを、最終起動イメージとする。そして、イメージ作成部620は、データ入出力部112を介して、不揮発記憶装置611に最終起動イメージを記憶させる。
【0150】
その後、システム起動処理は終了する。
【0151】
一方、ステップS106において、展開した起動イメージが最終起動イメージであると判定された場合、システム起動処理は終了する。
【0152】
以上のようにして、情報処理システム601の起動時に、最終起動イメージのうちの中間起動イメージを用いて、迅速に情報処理システム601を所定の状態に設定することができる。また、情報処理システム601を起動したときに、中間起動イメージだけでなく、先読みデータが主記憶装置613に置かれる。従って、情報処理システム601の起動を高速化できるだけでなく、起動後の動作(より具体的には、先読み対象プログラムにより実現される機能の動作)を高速化することができる。
【0153】
<7.第2の実施の形態の第1の具体的な実施例>
図10は、情報処理システム601の第1の具体的な実施例として、情報処理システム601をブルーレイディスクレコーダに適用した場合の機能の構成例を示すブロック図である。
【0154】
なお、図10では、ブルーレイディスクレコーダ701の構成要素のうち本技術に関連する部分を中心に図示しており、一部図示を省略している。また、図中、図8と対応する部分には、下二桁が同じ符号を付してあり、処理が同じ部分については、その説明は繰り返しになるので適宜省略する。
【0155】
ブルーレイディスクレコーダ701では、図8の情報処理システム601の不揮発記憶装置611の具体例としてフラッシュメモリ711が採用され、主記憶装置613の具体例としてDRAM(Dynamic Random Access Memory)713が採用されている。また、ハードディスクドライブ(HDD)721、BD(ブルーレイディスク)722、ディスプレイ723、および、チューナ724が追加されている。
【0156】
フラッシュメモリ711には、オペレーティングシステム(OS)、OS上で動くアプリケーションプログラムの実行可能ファイル、および、アプリケーションプログラムの動作に必要なデータファイル等が記憶される。
【0157】
データ入出力部712は、番組を録画した動画像データ等をHDD721またはBD722に記憶させたり、HDD721またはBD722から読み出したりする。
【0158】
ディスプレイ723は、データ入出力部712から供給されるデータに基づいて、操作画面や設定画面等を表示する。
【0159】
チューナ724は、TV放送の放送信号を受信し、受信した放送信号から動画像データを抽出し、データ入出力部712に供給する。
【0160】
このブルーレイディスクレコーダ701では、最初に起動したときに、中間起動イメージが作成され、フラッシュメモリ711に記憶される。その後、ユーザにより初期設定が行われる。
【0161】
次に、2回目の起動時に、中間起動イメージがDRAM713に展開された後、先読みプロファイルPFが作成される。先読みプロファイルPFは、例えば、ブルーレイディスクレコーダ701の起動直後に必要となるデータを先読みするためのものとされる。
【0162】
次に、3回目の起動時に、中間起動イメージがDRAM713に展開された後、先読みプロファイルPFに基づいて先読みが実行され、先読みデータがDRAM713に読み出される。そして、中間起動イメージに先読みデータを加えたデータが最終起動イメージとして作成され、フラッシュメモリ711に記憶される。
【0163】
そして、4回目以降の起動時には、最終起動イメージがフラッシュメモリ711に展開される。
【0164】
従って、ブルーレイディスクレコーダ701の起動時に、迅速にブルーレイディスクレコーダ701を所定の状態に設定することができるとともに、起動後の動作(より具体的には、先読み対象プログラムにより実現される機能の動作)を高速化することができる。
【0165】
<8.第2の実施の形態の第2の具体的な実施例>
図11は、情報処理システム601の第2の具体的な実施例として、情報処理システム601をタブレット端末に適用した場合の機能の構成例を示すブロック図である。
【0166】
なお、図11では、タブレット端末801の構成要素のうち本技術に関連する部分を中心に図示しており、一部図示を省略している。また、図中、図8と対応する部分には、下二桁が同じ符号を付してあり、処理が同じ部分については、その説明は繰り返しになるので適宜省略する。
【0167】
タブレット端末801では、図8の情報処理システム601の不揮発記憶装置611の具体例として内蔵のフラッシュメモリ811が採用され、主記憶装置613の具体例としてDRAM(Dynamic Random Access Memory)813が採用されている。また、SDカード821、ネットワークインタフェース(I/F)822、ディスプレイ823、および、タッチパネル824が追加されている。
【0168】
フラッシュメモリ811には、オペレーティングシステム(OS)、タブレット端末801の主要サービスを提供するアプリケーションプログラム、および、アプリケーションプログラムの動作に必要なデータファイル等が記憶される。
【0169】
SDカード821は、タブレット端末801に所定の機能を実現させるためのアプリケーションプログラム等を記憶するための記憶媒体である。SDカード821へのアプリケーションプログラム等の読み書きは、データ入出力部812により行われる。
【0170】
ネットワークI/F822は、ネットワークや通信ケーブルを介して外部の機器と接続され、所定の方式による通信を行う。そして、ネットワークI/F822は、データ入出力部812から供給されるデータを外部に出力したり、外部から入力されるデータをデータ入出力部812に供給したりする。
【0171】
ディスプレイ823は、データ入出力部812から供給されるデータに基づいて、操作画面、設定画面、アプリケーションプログラムの実行画面等を表示する。
【0172】
タッチパネル824は、タブレット端末801の各種の操作を行うための操作デバイスである。タッチパネル824は、操作内容に応じた操作信号をデータ入出力部812に供給する。
【0173】
タブレット端末801では、ネットワークI/F822を介して、外部のサーバ等からアプリケーションプログラムをダウンロードし、フラッシュメモリ811やSDカード821に保存することができる。このアプリケーションプログラムの増減に伴い、先読みするのに適したデータも変化する。
【0174】
これに対して、イメージ作成部820は、最終起動イメージの作成後も、最終起動イメージ作成時のアプリケーションプログラムの数に対して、一定以上の増減が発生した場合、最終起動イメージを再作成し、更新する。
【0175】
これにより、アプリケーションプログラムの変動に応じて最終起動イメージが更新され、適正化されるため、アプリケーションプログラムが変動しても、タブレット端末801の起動後の動作を高速化することができる。
【0176】
なお、例えば、アプリケーションプログラムの増減だけでなく、他の条件を満たしたときに、最終起動イメージを更新するようにしてもよい。例えば、所定のプログラム(例えば、オペレーティングシステム等)が更新されたり、あるいは、所定数以上のプログラム(アプリケーションプログラムを含む)が更新された場合などに、最終起動イメージを更新するようにしてもよい。
【0177】
<9.第2の実施の形態の第1の変形例>
図12は、情報処理システム601の第1の変形例である情報処理システム901の構成例を示すブロック図である。この第1の変形例は、起動イメージSIを主記憶装置613に展開して、情報処理システム901を起動した後、ユースケースごとにさらに先読みを行うことができるようにするものである。
【0178】
なお、図中、図8と対応する部分には、同じ符号を付してあり、処理が同じ部分については、その説明は繰り返しになるので適宜省略する。
【0179】
情報処理システム901は、情報処理システム601と比較して、先読み実行制御部615および先読み実行部618の代わりに、先読み実行制御部911および先読み実行部912が設けられている点が異なる。
【0180】
先読み実行制御部911は、データ要求収集部616に指示し、情報処理システム901のいずれのユースケースでも実行される機能に対するデータ要求履歴を収集させる。プロファイル作成部617は、このデータ要求履歴に基づいて、先読みプロファイルPFaを作成する。
【0181】
また、先読み実行制御部911は、情報処理システム901のユースケース毎に、それぞれ異なるデータ要求履歴を収集させる。プロファイル作成部617は、各データ要求履歴に基づいて、情報処理システム901のユースケース毎に、それぞれ異なる先読みプロファイルPFb1乃至PFbnを作成する。
【0182】
そして、先読み実行制御部911は、最終起動イメージの作成時に、先読み実行部912に、先読みプロファイルPFaに基づいて先読みを実行させる。従って、最終起動イメージには、いずれのユースケースでも実行される機能に対する先読みデータが含まれるようになる。
【0183】
従って、最終起動イメージの作成が行われた以降、情報処理システム901の起動時に、いずれのユースケースでも実行される機能に対する先読みデータを含む最終起動イメージが、主記憶装置613に展開される。これにより、情報処理システム901の起動後に、いずれのユースケースでも実行される機能を迅速に動作させることが可能になる。
【0184】
また、先読み実行制御部911は、主記憶装置613に最終起動イメージが展開された後、ユースケースに応じて、先読みプロファイルPFb1乃至PFbnの中から適切な先読みプロファイルを選択する。そして、先読み実行制御部911は、選択した先読みプロファイルに基づいて、先読み実行部912に先読みを実行させる。これにより、情報処理システム901の起動後に、ユースケースに応じた機能を迅速に動作させることができる。
【0185】
例えば、情報処理システム901がデジタルカメラである場合、どのユースケースでも実行される機能として、メニュー画面の表示機能が想定される。従って、メニュー画面の表示機能に対する先読みデータを、最終起動イメージに含ませるようにすることにより、デジタルカメラを起動した後、迅速にメニュー画面を表示することが可能になる。
【0186】
一方、通常、デジタルカメラの起動方法によって起動後のユースケースは異なる。例えば、デジタルカメラのレンズカバーを開けるか、写真再生ボタンを操作することにより、デジタルカメラを起動させることができる場合について検討する。
【0187】
例えば、レンズカバーを開けてデジタルカメラを起動した場合、その後すぐに撮影を行うことが想定される。この場合、例えば、最終起動イメージの展開後に、撮影機能用の先読みプロファイルに基づいて先読みを行うようにすることにより、デジタルカメラの起動後に迅速に撮影することが可能になる。
【0188】
一方、写真再生ボタンを操作することによりデジタルカメラを起動した場合、その後写真データの再生が行われる。この場合、例えば、最終起動イメージの展開後に、画像ビューア用の先読みプロファイルに基づいて先読みを行うようにすることにより、デジタルカメラの起動後に迅速に写真の再生を行うことが可能になる。
【0189】
<10.第2の実施の形態の第2の変形例>
図13は、情報処理システム601の第2の変形例である情報処理システム1001の構成例を示すブロック図である。この第2の変形例は、ユースケース毎に複数の起動イメージSIを作成し、使い分けるようにするものである。
【0190】
なお、図中、図8と対応する部分には、同じ符号を付してあり、処理が同じ部分については、その説明は繰り返しになるので適宜省略する。
【0191】
情報処理システム1001は、情報処理システム601と比較して、先読み実行制御部615、先読み実行部618、イメージ展開部619、および、イメージ作成部620の代わりに、先読み実行制御部1011、先読み実行部1012、イメージ展開部1014、および、イメージ作成部1015が設けられている点が異なる。また、イメージ選択部1013が追加されている。
【0192】
なお、情報処理システム1001は、複数の方法により起動することが可能であるものとする。
【0193】
先読み実行制御部1011は、データ要求収集部616に指示し、情報処理システム1001の各起動方法に対するデータ要求履歴を収集させる。プロファイル作成部617は、このデータ要求履歴に基づいて、各起動方法に対する先読みプロファイルPF1乃至PFnを作成する。
【0194】
また、先読み実行制御部1011は、最終起動イメージの作成時に、先読みプロファイルPF1乃至PFnの中から、そのときの情報処理システム1001の起動方法に対応した先読みプロファイルを選択する。そして、先読み実行制御部1011は、選択した先読みプロファイルに基づいて、先読み実行部1012に先読みを実行させる。
【0195】
そして、イメージ作成部1015は、情報処理システム1001の起動方法毎に、それぞれ異なる起動イメージSI1乃至SInを作成する。従って、起動イメージSI1乃至SInは、共通の中間起動イメージと、それぞれ起動方法毎に異なる先読みデータを含む。
【0196】
そして、イメージ選択部1013は、情報処理システム1001の起動時に、起動方法に応じて起動イメージSI1乃至SInの中から適切な起動イメージを選択し、選択した起動イメージをイメージ展開部1014に通知する。そして、イメージ展開部1014は、イメージ選択部1013により選択された起動イメージを主記憶装置613に展開する。
【0197】
このようにして、情報処理システム1001の起動方法に応じて適切な起動イメージが主記憶装置613に展開されるようになる。
【0198】
例えば、情報処理システム1001がブルーレイディスクレコーダであり、電源ボタンまたは番組表ボタンを操作することにより、起動することができる場合について検討する。
【0199】
例えば、電源ボタンを操作してブルーレイディスクレコーダを起動した場合、放送波視聴機能を起動した後、メニュー画面を表示することが想定される。従って、放送波視聴機能およびメニュー画面表示機能用の先読みデータを含む起動イメージを作成しておき、電源ボタンを操作してブルーレイディスクレコーダを起動した場合には、その起動イメージを主記憶装置613に展開するようにすればよい。これにより、電源ボタンを操作してブルーレイディスクレコーダを起動した後に、放送波視聴機能およびメニュー画面表示機能を迅速に動作させることが可能になる。
【0200】
一方、番組表ボタンを操作してブルーレイディスクレコーダを起動した場合、まず番組表が表示され、その後録画予約を行うことが想定される。従って、番組表機能および録画予約機能用の先読みデータを含む起動イメージを作成しておき、番組表ボタンを操作してブルーレイディスクレコーダを起動した場合には、その起動イメージを主記憶装置613に展開するようにすればよい。これにより、番組表ボタンを操作してブルーレイディスクレコーダを起動した後に、迅速に録画予約をすることが可能になる。
【0201】
さらに、先読み実行制御部1011やイメージ選択部1013が、情報処理システム1001の起動後のユーザの使用状況を起動方法毎に学習し、その学習結果に基づいて、各起動イメージに含める先読みデータの対象となる機能や、使用する起動イメージを選択するようにしてもよい。
【0202】
例えば、電源ボタンを操作してブルーレイディスクレコーダを起動した後に、ネット動画機能を立ち上げる確率が高いことを学習した場合、放送波視聴機能およびネット動画機能用の先読みデータを含む起動イメージを作成し、同様の方法により起動された場合、その起動イメージを主記憶装置613に展開するようにすればよい。これにより、電源ボタンによりブルーレイディスクレコーダを起動した後に、迅速にネット動画機能を動作させることが可能になる。
【0203】
<11.その他の変形例>
以下、上述した本技術の実施の形態の変形例以外の変形例について説明する。
【0204】
データの先読み手法は、特に限定されるものではなく、任意の手法を採用することが可能である。
【0205】
また、システムの起動直後に必要のないデータは、例えば、通常の先読み手法と同様に、システムが稼働中に、データを使用する前に先読みするようにすればよい。
【0206】
[コンピュータの構成例]
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
【0207】
図14は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
【0208】
コンピュータにおいて、CPU(Central Processing Unit)1201,ROM(Read Only Memory)1202,RAM(Random Access Memory)1203は、バス1204により相互に接続されている。
【0209】
バス1204には、さらに、入出力インタフェース1205が接続されている。入出力インタフェース1205には、入力部1206、出力部1207、記憶部1208、通信部1209、及びドライブ1210が接続されている。
【0210】
入力部1206は、キーボード、マウス、マイクロフォンなどよりなる。出力部1207は、ディスプレイ、スピーカなどよりなる。記憶部1208は、ハードディスクや不揮発性のメモリなどよりなる。通信部1209は、ネットワークインタフェースなどよりなる。ドライブ1210は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア1211を駆動する。
【0211】
以上のように構成されるコンピュータでは、CPU1201が、例えば、記憶部1208に記憶されているプログラムを、入出力インタフェース1205及びバス1204を介して、RAM1203にロードして実行することにより、上述した一連の処理が行われる。
【0212】
コンピュータ(CPU1201)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア1211に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
【0213】
コンピュータでは、プログラムは、リムーバブルメディア1211をドライブ1210に装着することにより、入出力インタフェース1205を介して、記憶部1208にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部1209で受信し、記憶部1208にインストールすることができる。その他、プログラムは、ROM1202や記憶部1208に、あらかじめインストールしておくことができる。
【0214】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【0215】
また、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
【0216】
さらに、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【0217】
例えば、本技術は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
【0218】
また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
【0219】
さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
【0220】
また、例えば、本技術は以下のような構成も取ることができる。
【0221】
(1)
補助記憶装置から主記憶装置へのデータの先読みを行う先読み実行部と、
前記先読み実行部が先読みを行う前に前記主記憶装置に記憶されているデータの少なくとも一部と、前記先読み実行部により先読みされたデータとを含むデータを、前記補助記憶装置および前記主記憶装置を備えるシステムが起動したときに前記主記憶装置に置かれているデータである初期データとして保存する初期データ保存部と
を含むメモリ管理装置。
(2)
前記先読み実行部は、前記システムを停止するときに先読みを行い、
前記初期データは、前記システムを停止するときに前記主記憶装置に記憶されているデータと、前記先読み実行部により先読みされたデータとを含む
前記(1)に記載のメモリ管理装置。
(3)
前記先読み実行部は、前記システムの起動後に実行される機能で使用するデータを先読みする
前記(2)に記載のメモリ管理装置。
(4)
前記システムの起動後に実行される機能を予測する予測部を
さらに含み、
前記先読み実行部は、前記予測部により予測された機能で使用するデータを先読みする
前記(3)に記載のメモリ管理装置。
(5)
前記初期データ保存部は、前記初期データを前記補助記憶装置に保存し、
前記システムを起動するときに、前記初期データを前記補助記憶装置から前記主記憶装置に読み出すデータ読み出し部を
さらに含む前記(2)乃至(4)のいずれかに記載のメモリ管理装置。
(6)
前記初期データ保存部は、前記初期データを前記主記憶装置に保存する
前記(2)乃至(4)のいずれかに記載のメモリ管理装置。
(7)
前記先読み実行部は、前記システムの起動後に先読みを行い、
前記初期データ保存部は、前記システムの起動後に前記主記憶装置に記憶されているデータの少なくとも一部と、前記先読み実行部により先読みされたデータとを含むデータを前記初期データとして前記補助記憶装置に保存し、
前記システムを起動するときに、前記初期データを前記補助記憶装置から前記主記憶装置に読み出すデータ読み出し部を
さらに含む前記(1)に記載のメモリ管理装置。
(8)
前記初期データが前記補助記憶装置に保存されていない場合、
前記初期データ保存部は、前記システムの起動後に前記主記憶装置に記憶されているデータの少なくとも一部を第1の初期データとして前記補助記憶装置に保存し、
前記第1の初期データが前記補助記憶装置に保存されており、第2の初期データが前記補助記憶装置に保存されていない場合、
前記先読み実行部は、前記システムの起動後に先読みを行い、
前記初期データ保存部は、前記第1の初期データと、前記先読み実行部により先読みされたデータとを含むデータを前記第2の初期データとして前記補助記憶装置に保存する
前記(7)に記載のメモリ管理装置。
(9)
前記先読み実行部は、前記初期データが前記主記憶装置に読み出された後、前記システムの起動方法に応じたデータをさらに先読みする
前記(7)または(8)に記載のメモリ管理装置。
(10)
前記先読み実行部は、前記システムの起動後に、前記システムの起動方法に応じたデータを先読みし、
前記初期データ保存部は、前記システムの起動方法毎に異なる前記初期データを保存し、
前記データ読み出し部は、前記システムを起動するときに、前記システムの起動方法に応じた前記初期データを前記補助記憶装置から前記主記憶装置に読み出す
前記(7)または(8)に記載のメモリ管理装置。
(11)
前記初期データ保存部は、前記システムが実行するプログラムが変更されたとき、前記初期データを更新する
前記(7)乃至(10)のいずれかに記載のメモリ管理装置。
(12)
補助記憶装置から主記憶装置へのデータの先読みを行い、
先読みを行う前に前記主記憶装置に記憶されているデータの少なくとも一部と、先読みされたデータとを含むデータを、前記補助記憶装置および前記主記憶装置を備えるシステムが起動したときに前記主記憶装置に置かれているデータである初期データとして保存する
ステップを含むメモリ管理方法。
(13)
補助記憶装置から主記憶装置へのデータの先読みを行い、
先読みを行う前に前記主記憶装置に記憶されているデータの少なくとも一部と、先読みされたデータとを含むデータを、前記補助記憶装置および前記主記憶装置を備えるシステムが起動したときに前記主記憶装置に置かれているデータである初期データとして保存する
ステップを含む処理をコンピュータに実行させるための制御プログラム。
(14)
前記(13)に記載の制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
【符号の説明】
【0222】
101 情報処理システム, 111 不揮発記憶装置, 112 データ入出力部, 113 主記憶装置, 114 プログラム, 115 先読み実行制御部, 116 データ要求収集部, 117 プロファイル作成部, 118 先読み実行部, 119 復帰実行部, 120 休止実行部, 121 電源管理部, 201 ブルーレイディスクレコーダ, 202 リモートコントローラ, 211 フラッシュメモリ, 212 データ入出力部, 213 DRAM, 214 プログラム, 215 先読み実行制御部, 216 データ要求収集部, 217 プロファイル作成部, 218 先読み実行部, 219 復帰実行部, 220 休止実行部, 221 電源管理部, 231 番組表ボタン, 232 電源ボタン, 301 デジタルカメラ, 311 フラッシュメモリ, 312 データ入出力部, 313 DRAM, 314 プログラム, 315 先読み実行制御部, 316 データ要求収集部, 317 プロファイル作成部, 318 先読み実行部, 319 復帰実行部, 320 休止実行部, 321 電源管理部, 325 再生ボタン, 326 電源ボタン, 401 情報処理システム, 411 復帰後使用機能予測部, 412 先読み実行制御部, 413 先読み実行部, 501 情報処理システム, 511 休止実行部, 512 電源管理部, 601 情報処理システム, 611 不揮発記憶装置, 612 データ入出力部, 613 主記憶装置, 614 プログラム, 615 先読み実行制御部, 616 データ要求収集部, 617 プロファイル作成部, 618 先読み実行部, 619 イメージ展開部, 620 イメージ作成部, 701 ブルーレイディスクレコーダ, 711 フラッシュメモリ, 712 データ入出力部, 713 DRAM, 714 プログラム, 715 先読み実行制御部, 716 データ要求収集部, 717 プロファイル作成部, 718 先読み実行部, 719 イメージ展開部, 720 イメージ作成部, 801 タブレット端末, 811 フラッシュメモリ, 812 データ入出力部, 813 DRAM, 814 プログラム, 815 先読み実行制御部, 816 データ要求収集部, 817 プロファイル作成部, 818 先読み実行部, 819 イメージ展開部, 820 イメージ作成部, 821 SDカード, 901 情報処理システム, 911 先読み実行制御部, 912 先読み実行部, 1001 情報処理システム, 1011 先読み実行制御部, 1012 先読み実行部, 1013 イメージ選択部, 1014 イメージ展開部, 1015 イメージ作成部, SD 状態保存データ, PF,PF1乃至PFn,PFa,PFb1乃至PFbn 先読みプロファイル, SI,SI1乃至SIn 起動イメージ

【特許請求の範囲】
【請求項1】
第1の記憶装置から第2の記憶装置へのデータの先読みを行う先読み実行部と、
前記先読み実行部が先読みを行う前に前記第2の記憶装置に記憶されているデータの少なくとも一部と、前記先読み実行部により先読みされたデータとを含むデータを、前記第1の記憶装置および前記第2の記憶装置を備えるシステムが起動したときに前記第2の記憶装置に置かれているデータである初期データとして保存する初期データ保存部と
を含むメモリ管理装置。
【請求項2】
前記先読み実行部は、前記システムを停止するときに先読みを行い、
前記初期データは、前記システムを停止するときに前記第2の記憶装置に記憶されているデータと、前記先読み実行部により先読みされたデータとを含む
請求項1に記載のメモリ管理装置。
【請求項3】
前記先読み実行部は、前記システムの起動後に実行される機能で使用するデータを先読みする
請求項2に記載のメモリ管理装置。
【請求項4】
前記システムの起動後に実行される機能を予測する予測部を
さらに含み、
前記先読み実行部は、前記予測部により予測された機能で使用するデータを先読みする
請求項3に記載のメモリ管理装置。
【請求項5】
前記初期データ保存部は、前記初期データを前記第1の記憶装置に保存し、
前記システムを起動するときに、前記初期データを前記第1の記憶装置から前記第2の記憶装置に読み出すデータ読み出し部を
さらに含む請求項2に記載のメモリ管理装置。
【請求項6】
前記初期データ保存部は、前記初期データを前記第2の記憶装置に保存する
請求項2に記載のメモリ管理装置。
【請求項7】
前記先読み実行部は、前記システムの起動後に先読みを行い、
前記初期データ保存部は、前記システムの起動後に前記第2の記憶装置に記憶されているデータの少なくとも一部と、前記先読み実行部により先読みされたデータとを含むデータを前記初期データとして前記第1の記憶装置に保存し、
前記システムを起動するときに、前記初期データを前記第1の記憶装置から前記第2の記憶装置に読み出すデータ読み出し部を
さらに含む請求項1に記載のメモリ管理装置。
【請求項8】
前記初期データが前記第1の記憶装置に保存されていない場合、
前記初期データ保存部は、前記システムの起動後に前記第2の記憶装置に記憶されているデータの少なくとも一部を第1の初期データとして前記第1の記憶装置に保存し、
前記第1の初期データが前記第1の記憶装置に保存されており、第2の初期データが前記第1の記憶装置に保存されていない場合、
前記先読み実行部は、前記システムの起動後に先読みを行い、
前記初期データ保存部は、前記第1の初期データと、前記先読み実行部により先読みされたデータとを含むデータを前記第2の初期データとして前記第1の記憶装置に保存する
請求項7に記載のメモリ管理装置。
【請求項9】
前記先読み実行部は、前記初期データが前記第2の記憶装置に読み出された後、前記システムの起動方法に応じたデータをさらに先読みする
請求項7に記載のメモリ管理装置。
【請求項10】
前記先読み実行部は、前記システムの起動後に、前記システムの起動方法に応じたデータを先読みし、
前記初期データ保存部は、前記システムの起動方法毎に異なる前記初期データを保存し、
前記データ読み出し部は、前記システムを起動するときに、前記システムの起動方法に応じた前記初期データを前記第1の記憶装置から前記第2の記憶装置に読み出す
請求項7に記載のメモリ管理装置。
【請求項11】
前記初期データ保存部は、前記システムが実行するプログラムが変更されたとき、前記初期データを更新する
請求項7に記載のメモリ管理装置。
【請求項12】
第1の記憶装置から第2の記憶装置へのデータの先読みを行い、
先読みを行う前に前記第2の記憶装置に記憶されているデータの少なくとも一部と、先読みされたデータとを含むデータを、前記第1の記憶装置および前記第2の記憶装置を備えるシステムが起動したときに前記第2の記憶装置に置かれているデータである初期データとして保存する
ステップを含むメモリ管理方法。
【請求項13】
第1の記憶装置から第2の記憶装置へのデータの先読みを行い、
先読みを行う前に前記第2の記憶装置に記憶されているデータの少なくとも一部と、先読みされたデータとを含むデータを、前記第1の記憶装置および前記第2の記憶装置を備えるシステムが起動したときに前記第2の記憶装置に置かれているデータである初期データとして保存する
ステップを含む処理をコンピュータに実行させるための制御プログラム。
【請求項14】
請求項13に記載の制御プログラムを記録したコンピュータ読み取り可能な記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate