説明

情報処理装置、情報処理方法およびプログラム

【課題】装置の使用者による操作を予測し、能動的にキャッシングを行うことが可能な情報処理装置、情報処理方法およびプログラムを提供すること。
【解決手段】本発明に係る情報処理装置に、表示画面に表示されている表示内容について当該表示内容が表示されている表示状態から他の表示状態への状態遷移の頻度を表す情報である遷移頻度情報が記録された遷移頻度データベースを格納する記憶部と、遷移頻度データベースと表示画面に表示されている表示内容とに基づいて遷移する可能性がある他の表示状態を予測し、予測した他の表示状態に必要なリソースを遷移が発生する前に準備するキャッシュ制御部と、を設けた。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【0002】
近年の情報処理技術の発達に伴い、様々な処理をコンピュータ上で行うことが可能となった。コンピュータ上で処理を行うためには、実行したい処理にあわせて様々なアプリケーションを起動する必要があるが、アプリケーションの起動には、起動するアプリケーションに応じたリソースが必要である。リソースの準備を適切に行うことで、装置の使用者は快適な操作環境を得ることができる。
【0003】
リソースの準備を適切に行うためには、装置の使用者の操作に先んじて、必要となるリソースを先読みしてキャッシュを実行することが効果的である。キャッシュのコントロールを行う技術として、ハードウェアレベルで行うもの、プロセッサ−メモリ間のスケジューリングアルゴリズムに関するものなど、数多くの技術が存在する。例えば、以下に示す特許文献1では、サーバとクライアント機器とからなるシステムにおいて、サーバ側から提供された使用者の行動モデルに基づいて先読みキャッシュを行い、通信処理待ち時間を短縮する方法が開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2003−30037号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上述の特許文献1のような技術を含め、従来のキャッシングコントロールに関する技術は、ソフトウェアやハードウェアの動きを起点としたものであり、装置の使用者に対して適したキャッシングが必ずしも実現できていないという問題があった。
【0006】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、装置の使用者による操作を予測し、能動的にキャッシングを行うことが可能な、新規かつ改良された情報処理装置、情報処理方法およびプログラムを提供することにある。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本発明のある観点によれば、表示画面に表示されている表示内容について当該表示内容が表示されている表示状態から他の表示状態への状態遷移の頻度を表す情報である遷移頻度情報が記録された遷移頻度データベースを格納する記憶部と、前記遷移頻度データベースと前記表示画面に表示されている表示内容とに基づいて遷移する可能性がある他の表示状態を予測し、予測した他の表示状態に必要なリソースを遷移が発生する前に準備するキャッシュ制御部と、を備える情報処理装置が提供される。
【0008】
かかる構成によれば、記憶部には、表示画面に表示されている表示内容について当該表示内容が表示されている表示状態から他の表示状態への状態遷移の頻度を表す情報である遷移頻度情報が記録された遷移頻度データベースが格納されている。また、キャッシュ制御部は、遷移頻度データベースと表示画面に表示されている表示内容とに基づいて遷移する可能性がある他の表示状態を予測し、予測した他の表示状態に必要なリソースを遷移が発生する前に準備する。
【0009】
前記状態遷移の履歴が記録された履歴情報を利用して前記状態遷移の発生頻度を解析する状態遷移発生頻度解析部を更に備え、前記状態遷移発生頻度解析部は、解析結果に基づいて前記遷移頻度データベースの内容を更新してもよい。
【0010】
前記状態遷移発生頻度解析部は、同一の起動時に発生した状態遷移の回数と累計の状態遷移の回数とに基づいて前記状態遷移の頻度を算出してもよい。
【0011】
自装置の外部に設けられた装置と通信可能な通信制御部を更に備え、前記通信制御部を介して前記遷移頻度データベースが前記外部に設けられた装置に伝送されてもよい。
【0012】
前記キャッシュ制御部は、前記外部に設けられた装置から前記遷移頻度データベースを取得してもよい。
【0013】
また、上記課題を解決するために、本発明の別の観点によれば、表示画面に表示されている表示内容について当該表示内容が表示されている表示状態から他の表示状態への状態遷移の頻度を表す情報である遷移頻度情報が記録された遷移頻度データベースと、前記表示画面に表示されている表示内容と、に基づいて、遷移する可能性がある他の表示状態を予測するステップと、予測した他の表示状態に必要なリソースを遷移が発生する前に準備するステップと、を含む情報処理方法が提供される。
【0014】
また、上記課題を解決するために、本発明の更に別の観点によれば、表示画面を備えたコンピュータに、前記表示画面に表示されている表示内容について当該表示内容が表示されている表示状態から他の表示状態への状態遷移の頻度を表す情報である遷移頻度情報が記録された遷移頻度データベースと、前記表示画面に表示されている表示内容と、に基づいて、遷移する可能性がある他の表示状態を予測する手順と、予測した他の表示状態に必要なリソースを遷移が発生する前に準備する手順と、を実行させるプログラムが提供される。
【発明の効果】
【0015】
以上説明したように本発明によれば、表示画面の遷移に着目して使用者による操作の予測を行うため、能動的にキャッシングを行うことが可能である。
【図面の簡単な説明】
【0016】
【図1】本発明の第1の実施形態にかかる情報処理装置の構成を説明するためのブロック図である。
【図2】表示画面の状態遷移について説明するための説明図である。
【図3】同実施形態に係る情報処理装置について説明するための説明図である。
【図4】表示画面の状態遷移について説明するための説明図である。
【図5】表示画面の状態遷移について説明するための説明図である。
【図6】遷移頻度データベースの一例について説明するための説明図である。
【図7】表示画面の状態遷移について説明するための説明図である。
【図8】遷移頻度データベースの一例について説明するための説明図である。
【図9】同実施形態に係る情報処理方法について説明するための流れ図である。
【図10】同実施形態に係る情報処理方法について説明するための流れ図である。
【図11】本発明の各実施形態に係る情報処理装置のハードウェア構成を説明するためのブロック図である。
【発明を実施するための形態】
【0017】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【0018】
なお、説明は、以下の順序で行うものとする。
(1)第1の実施形態
(1−1)情報処理装置の構成について
(1−2)情報処理方法について
(2)本発明の各実施形態に係る情報処理装置のハードウェア構成について
(3)まとめ
【0019】
(第1の実施形態)
<情報処理装置の構成について>
まず、図1を参照しながら、本発明の第1の実施形態に係る情報処理装置の構成について、詳細に説明する。図1は、本実施形態に係る情報処理装置の構成を説明するためのブロック図である。
【0020】
本実施形態に係る情報処理装置10は、例えば図1に示したように、入力部101と、状態遷移制御部103と、アプリケーション実行部109と、表示制御部111と、通信制御部113と、記憶部115と、を主に備える。
【0021】
入力部101は、例えば、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)、入力装置等から構成されている。入力部101は、情報処理装置10のユーザがマウスやキーボード等の入力装置を用いて行なった操作を、操作に対応する所定の信号に変換する。その後、入力部101は、変換後の信号を、対応する処理部へと伝送する。例えば、ユーザがマウスを操作してマウスポインタ等の位置選択オブジェクトを移動させた場合には、入力部101は、位置選択オブジェクトの移動を表す信号を生成して、後述する状態遷移制御部103および表示制御部111に伝送する。また、ユーザがマウスやキーボード等を操作してアプリケーションの起動を選択した場合には、入力部101は、選択されたアプリケーションを表す信号を生成して、状態遷移制御部103およびアプリケーション実行部109に伝送する。
【0022】
状態遷移制御部103は、例えば、CPU、ROM、RAM等から構成されている。状態遷移制御部103は、入力部101から伝送されるユーザ操作に関する信号と、後述する表示制御部111から取得する表示画面の状態に関する情報とに基づいて、表示画面に表示される表示内容の表示状態の遷移を制御する。
【0023】
ここで、図2を参照しながら、表示状態の遷移について説明する。図2は、表示画面の状態遷移について説明するための説明図である。
【0024】
情報処理装置10のユーザは、表示画面151を見ながらマウス等の入力装置を操作して、マウスポインタ等の位置選択オブジェクト153を移動させる。例えば、ユーザが、情報処理装置10で実行可能な処理を表示するために、表示画面151の「スタート」ボタンを選択すると、図2に示したように、選択可能な処理が記載された処理選択ウィンドウ155が表示画面151に表示される。このように、処理選択ウィンドウ155が表示されていなかった表示画面151の表示内容が変更となり、処理選択ウィンドウ155が表示された表示画面151となるような表示画面の変化を、本明細書においては、表示状態が遷移したと称する。
【0025】
また、処理選択ウィンドウ155に記載されている処理のうち、例えば「アプリケーション」が位置選択オブジェクト153により選択されると、「アプリケーション」という区分に属する処理が、処理選択ウィンドウ157として表示画面151に表示される。このように、処理選択ウィンドウ155のみが表示されている表示画面の状態から、処理選択ウィンドウ155中の「アプリケーション」が位置選択オブジェクト153により選択された状態への変化も、表示状態の遷移の一つである。また、「アプリケーション」を選択することで、表示画面151に、処理選択ウィンドウ155,157の双方が表示された状態へ表示内容が変化することも、表示状態の遷移の一つである。
【0026】
上述のような表示画面151の状態遷移を制御する状態遷移制御部103は、キャッシュ制御部105および状態遷移発生頻度解析部107と、を更に備える。
【0027】
キャッシュ制御部105は、例えば、CPU、ROM、RAM等から構成されている。キャッシュ制御部105は、後述する記憶部115等に格納されている遷移頻度データベースと表示画面に表示されている表示内容とに基づいて、遷移する可能性がある他の表示状態を予測し、予測した他の表示状態に必要なリソースを遷移が発生する前に準備する。遷移頻度データベースには、後述するように、情報処理装置10で生じうる表示状態について、ある表示状態からある表示状態への遷移の頻度がどの程度存在するかが記載されている。そこで、キャッシュ制御部105は、表示制御部111から取得した表示画面に現在表示されている表示内容を取得し、取得した表示内容と、遷移頻度データベースに記載されている頻度とを用いて、生じうる状態遷移の優先順位付けを行なう。そして、優先順位が高いものについて、遷移が発生する前に必要となるリソースを準備する。このようなキャッシュ制御を行なうことで、画面遷移発生時における処理の低減と処理の高速化を図ることが可能となる。
【0028】
ここで、上述のリソースとは、情報処理装置10においてある処理を実行するために確保しておくハードウェアやソフトウェアのことである。具体的には、ある表示画面を生成するために必要となるデータをキャッシングする処理や、表示画面を生成するために必要となる圧縮された画像データをメモリ上に展開する処理や、これらの処理に必要となるメモリを確保すること等を挙げることができる。
【0029】
また、キャッシュ制御部105は、後述する通信制御部113を介して、遷移頻度データベースを、情報処理装置10の外部に設けられた他の装置に対して伝送することが可能である。例えば図3に示したように、通信網3を介して複数の情報処理装置10A,10B,10C・・・が接続されており、また、通信網3にデータベース提供サーバ20が接続されている場合を考える。この場合に、情報処理装置10Aのキャッシュ制御部105は、自装置内に格納されている遷移頻度データベースを、通信網3を介してデータベース提供サーバ20に伝送することができる。また、他の情報処理装置(例えば、情報処理装置10B)のキャッシュ制御部105は、データベース提供サーバ20に格納されている遷移頻度データベースを取得し、取得した遷移頻度データベースを自装置における処理に利用することが可能である。なお、情報処理装置10は、データベース提供サーバ20を介することなく、直接他の情報処理装置10から遷移頻度データベースを取得してもよい。
【0030】
ここで、通信網3は、情報処理装置10と他の情報処理装置10との間、および、情報処理装置10とデータベース提供サーバ20との間を、双方向通信又は一方向通信可能に接続する通信回線網である。この通信網は、例えば、インターネット、電話回線網、衛星通信網、同報通信路等の公衆回線網や、WAN(Wide Area Network)、LAN(Local Area Network)、IP−VPN(Internet Protocol−Virtual Private Network)、ワイヤレスLAN等の専用回線網などで構成されており、有線/無線を問わない。
【0031】
また、データベース提供サーバ20は、情報処理装置10から伝送された遷移頻度データベースを保存および管理する。また、データベース提供サーバ20は、情報処理装置10からの要請に基づいて、管理している遷移頻度データベースを、要請のあった情報処理装置10に伝送する。遷移頻度データベースの内容は、例え同一のアプリケーションがインストールされている情報処理装置であっても、装置を使用するユーザの行動に応じて異なるものとなる。そのため、例えば写真閲覧処理を高速化可能な遷移頻度データベースをサーバ20から取得して利用することで、購入したばかりの情報処理装置であっても、効率の良い写真閲覧処理を行うことが可能となる。
【0032】
続いて、図4を参照しながら、表示状態とその遷移について、具体例を挙げて詳細に説明する。図4は、表示画面の状態遷移について説明するための説明図である。
【0033】
なお、以下の説明では、例えば図2で示したような「スタート」ボタンが選択された際に、「アプリケーション」、「データ」、「設定」の3種類の処理が記載された処理選択ウィンドウ155が表示されるものとする。また、処理選択ウィンドウ155において「アプリケーション」が選択されると、「メール」および「ブラウザ」の2種類の処理が記載された処理選択ウィンドウ157が表示されるものとする。同様に、処理選択ウィンドウ155において「データ」が選択されると、「写真」および「音楽」の2種類のジャンルが記載された処理選択ウィンドウ157が表示されるものとする。また、処理選択ウィンドウ155において「設定」が選択されると、「画面」および「時間」の2種類の処理が記載された処理選択ウィンドウ157が表示されるものとする。
【0034】
上述のような場合に、情報処理装置10では、図4に示した15種類の表示状態が存在しうる。また、状態1と状態2の間、状態1と状態4の間など、表示状態の遷移が生じうるものに対して、頻度が設定されている。図4においては、頻度は、最も遷移可能性が高い頻度5から、遷移可能性が最も低い頻度1まで5段階で表示されている。この表示されている頻度が、遷移頻度データベースに記載されているデータである。なお、頻度の表示は、図示したような5段階に限定されるわけではない。
【0035】
図4を参照すると、状態1から状態4または状態5に遷移する頻度が頻度5となっており、状態2から状態6または状態7に遷移する頻度が頻度4となっていることがわかる。これより、図4に示したような頻度情報を有する情報処理装置10のユーザは、メール機能と画像閲覧機能を頻繁に利用するユーザであることがわかる。また、「設定」は、頻繁に変更する必要性が少ない処理であるため、「設定」関連の状態への状態遷移の発生頻度は、低くなっている。
【0036】
本実施形態に係るキャッシュ制御部105は、状態遷移の発生頻度が高くなっている遷移に対して、優先的にリソースデータの先読みなどのキャッシュ制御を行なう。このようなキャッシュ制御を行なうことで、画面遷移発生時における処理の低減と処理の高速化を図ることが可能となる。すなわち、図4において表示画面が状態1に示した状態となっている場合に、キャッシュ制御部105は、頻度5で遷移する状態4または状態5のリソースを、頻度3で遷移する状態2のリソースよりも優先的に先読みする。これにより、ユーザ操作に対するリソースの先読みのヒット率を向上させることができる。
【0037】
また、ある状態から同じステップ数で遷移できる状態に対して、キャッシュ制御部105は、遷移発生頻度が低い場合にはリソースデータの先読みを行わない。これにより、キャッシュ用のメモリの節約とメモリの使用方法の最適化が実現できる。例えば、図4の状態2において、状態1、状態6、状態3はいずれも1ステップで遷移可能であるが、キャッシュ制御部105は、頻度1と遷移の可能性が低い状態3におけるリソースの先読みを行わずにメモリの節約を行う。その結果、他の優先度(頻度)の高い状態に対してメモリ等のリソースを分配することで、キャッシングの最適化が可能となる。
【0038】
以上、キャッシュ制御部105の機能について説明した。以下では、再び図1に戻って、本実施形態に係る情報処理装置10の構成について詳細に説明する。
【0039】
状態遷移発生頻度解析部107は、例えば、CPU、ROM、RAM等から構成されている。状態遷移発生頻度解析部107は、状態遷移の履歴が記録された履歴情報を利用して、状態遷移の発生頻度を解析する。また、状態遷移発生頻度解析部107は、解析結果に基づいて、遷移頻度データベースの内容を更新する。より詳細には、状態遷移発生頻度解析部107は、同一の起動時に発生した状態遷移の回数と、累計の状態遷移の回数とを用いて、状態遷移の頻度を算出する。
【0040】
また、状態遷移発生頻度解析部107は、アプリケーションの実行や表示画面の変更に伴い表示画面の状態遷移が発生した場合には、状態遷移が発生した日時に関する情報を、履歴情報として記憶部115に記録する。この履歴情報には、状態遷移が発生した日時に関する情報と、発生した状態遷移に関する情報(例えば、状態xから状態yへと遷移した旨を表す情報など)とが含まれる。また、状態遷移発生頻度解析部107は、情報処理装置10の起動毎に一意に決定される情報などを履歴情報に関連付けたり、起動毎に履歴記録用のフォルダ等を生成したりするなどして、状態遷移が同じ起動時に発生したものか否かを判定しやすくする。これにより、状態遷移発生頻度解析部107は、同一の起動時に発生した状態遷移の回数と、累計の状態遷移の回数と、を把握することができる。
【0041】
なお、この状態遷移の頻度の算出処理と、遷移頻度データベースの更新処理とについては、以下で改めて詳細に説明する。
【0042】
アプリケーション実行部109は、例えば、CPU、ROM、RAM等から構成されている。アプリケーション実行部109は、入力部101から、ユーザ操作により起動が要請されたアプリケーションを表す信号が伝送されると、対応するアプリケーションのプログラム等を記憶部115から取得して、取得したプログラム等を実行する。また、アプリケーションの実行に伴い表示画面に表示されている表示内容の変更が必要な場合には、表示制御部111に表示内容の変更を要請する。
【0043】
表示制御部111は、例えば、CPU、ROM、RAM等から構成されている。表示制御部111は、記憶部115等に記録されている表示画面に表示すべき内容に対応するデータを取得して、表示画面に表示する。入力部101から、マウスポインタ等の位置選択オブジェクトの移動を表す信号が伝送された場合には、伝送された信号にあわせて位置選択オブジェクトの移動を表示画面に表示させる。また、図2に示したような処理選択ウィンドウにおいてある処理が選択されたことを表す信号が入力部101から伝送された場合には、表示内容の遷移の仕様が記載された状態遷移仕様を参照して、新たな処理選択ウィンドウを表示画面に表示させる。また、表示制御部111は、アプリケーション実行部109から表示内容の変更を要請された場合には、アプリケーション実行部109からの要請に基づいて表示画面に表示されている表示内容の変更を行なう。
【0044】
また、状態遷移制御部103やキャッシュ制御部105から、現在表示画面に表示されている表示内容に関する問い合わせがあった場合には、表示制御部111は、表示画面に表示されている表示内容に関する情報を、問い合わせのあった処理部に伝送する。
【0045】
通信制御部113は、例えば、CPU、ROM、RAM、通信装置等から構成されている。通信制御部113は、情報処理装置10と、情報処理装置10の外部に設けられた装置と、の間で行なわれる通信を制御する。情報処理装置10の外部に設けられた装置の例として、例えば図3に示したような、通信網3を介して接続されたデータベース提供サーバ20を挙げることができる。
【0046】
記憶部115には、「処理選択ウィンドウ中に表示されている処理が選択された場合に、新たにどの様な内容が記載された処理選択ウィンドウを表示するのか」といった表示内容の遷移の仕様が記載された状態遷移仕様が格納されている。また、記憶部115には、状態遷移が発生した履歴に関する履歴情報が格納されている。また、記憶部115には、遷移頻度データベースが格納されている。さらに、記憶部115には、表示画面に表示されるオブジェクトデータが格納されている。ここで言うオブジェクトデータには、例えば、アイコン、ボタン、サムネイル等のグラフィカルユーザインターフェース(GUI)を構成する任意のパーツ類が含まれる。
【0047】
また、記憶部115には、本実施形態に係る情報処理装置10が、何らかの処理を行う際に保存する必要が生じた様々なパラメータや処理の途中経過等、または、各種のデータベース等が、適宜記録されてもよい。この記憶部115は、入力部101、状態遷移制御部103、キャッシュ制御部105、状態遷移発生頻度解析部107、アプリケーション実行部109、表示制御部111、通信制御部113等が自由に読み書きできる。
【0048】
ここで、図5〜図8を参照しながら、遷移頻度データベースについて例を挙げて詳細に説明する。図5および図7は、表示画面の状態遷移について説明するための説明図である。図6および図8は、遷移頻度データベースの一例について説明するための説明図である。
【0049】
本実施形態に係る遷移頻度データベースは、ある表示状態からある表示状態への遷移の頻度を、マトリックス状に表したものである。この遷移頻度データベースは、状態遷移発生頻度解析部107によって発生した状態遷移に基づいて更新されるため、たとえ同一のアプリケーションを有する情報処理装置10であっても、ユーザの嗜好により互いに異なる遷移頻度データベースとなる。
【0050】
図5は、メールの送受信を頻繁に行なう写真の閲覧に興味のあるユーザの状態遷移の一例を示したものである。このようなユーザの場合には、「アプリケーション」を選択して「メール」の選択画面へと遷移する頻度と、「データ」を選択して「写真」の選択画面へと遷移する頻度とが高くなる。そのため、図5に示したように、状態1から状態4または状態5への遷移頻度は5となっており、状態2から状態6または状態7への遷移頻度は4となっている。
【0051】
図5に示したような遷移頻度をマトリックス状に表したものが遷移頻度データベースであり、図5に示した遷移頻度に対応する遷移頻度データベースが図6となる。図6において、縦方向に並んだ各状態のカラムが、遷移前の状態に対応しており、横方向に並んだ各状態が、遷移後の状態に対応している。図5および図6を対応させると明らかなように、例えば縦方向の「状態1」と横方向の「状態2」との交点に位置するマトリックスの要素が、状態1から状態2への遷移頻度となっており、図5および図6では、「4」となっている。
【0052】
他方、図7は、写真の閲覧と音楽鑑賞に興味のあるユーザの状態遷移の一例を示したものである。このようなユーザの場合には、位置選択オブジェクトを操作して「アプリケーション」から「データ」へと位置選択オブジェクトが移動する頻度と、「データ」を選択して「写真」または「音楽」の選択画面へと遷移する頻度とが高くなる。そのため、図7に示したように、状態1から状態2への遷移頻度は5となっており、状態2から状態6または状態7への遷移頻度は5となっている。また、図5および図6に示したユーザとは異なり、状態1から状態4または状態5への遷移頻度は2となっている。
【0053】
図7に対応する遷移頻度データベースが図8であるが、図8の遷移頻度データベースと、図6に示した遷移頻度データベースとは、異なるものとなっている。このように、遷移頻度データベースは、情報処理装置10を使用するユーザの嗜好を反映するものである。例えば図3に示したように、データベース提供サーバ20を介して遷移頻度データベースを共有化することにより、他の装置において使用頻度の低かった機能に対して、即座に効率の良いキャッシュコントロールを実現することが可能となる。
【0054】
なお、図5〜図8において、状態xから状態yへの遷移頻度と、状態yから状態xへの遷移頻度とが同一の値となっているが、状態xから状態yへの遷移頻度と、状態yから状態xへの遷移頻度とが互いに異なる値となることを許容してもよい。このようにすることで、より細やかなキャッシュ制御を実現することが可能となり、ユーザの利便性を一層向上させることができる。
【0055】
以上、本実施形態に係る情報処理装置10の機能の一例を示した。上記の各構成要素は、汎用的な部材や回路を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。また、各構成要素の機能を、CPU等が全て行ってもよい。従って、本実施形態を実施する時々の技術レベルに応じて、適宜、利用する構成を変更することが可能である。
【0056】
なお、上述のような本実施形態に係る情報処理装置の各機能を実現するためのコンピュータプログラムを作製し、パーソナルコンピュータ等に実装することが可能である。また、このようなコンピュータプログラムが格納された、コンピュータで読み取り可能な記録媒体も提供することができる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリなどである。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信してもよい。
【0057】
<情報処理方法>
続いて、図9を参照しながら、本実施形態に係る情報処理方法(より具体的には、キャッシュの予測方法)について、詳細に説明する。図9は、本実施形態に係る情報処理方法を説明するための流れ図である。
【0058】
起動中の情報処理装置10に設けられた入力部101は、電源OFF操作がなされたか否かを判定する(ステップS101)。電源OFF操作がなされた場合には、情報処理装置10は、処理を中止して電源をOFFにする。また、電源OFF操作が実施されなかった場合には、情報処理装置10は、以下の処理を行う。
【0059】
まず、状態遷移制御部103に設けられたキャッシュ制御部105は、現在の表示画面に表示されている表示内容(すなわち、現在の表示状態)を、表示制御部111から取得する。続いて、キャッシュ制御部105は、記憶部115に記録されている遷移頻度データベースを参照して(ステップS103)、現在の表示状態から遷移する可能性のある表示状態を予測する。その後、キャッシュ制御部105は、予測結果に基づいてアプリケーション実行部109または表示制御部111等に問い合わせを行い、必要となるリソースを予測し(ステップS105)、メモリの確保や圧縮画像の解凍等といった処理を行う。
【0060】
また、キャッシュ制御部105が上述のような予測を行いながら、情報処理装置10は、状態遷移の発生する操作が入力されたか否かを待ち受ける(ステップS107)。状態遷移の発生する操作が入力された場合には、入力部101はその旨をアプリケーション実行部109または表示制御部111に伝送し、アプリケーション実行部109または表示制御部111は、状態遷移を実行する(ステップS109)。また、状態遷移発生頻度解析部107は、状態遷移の実行に伴う履歴情報を、記憶部115に記録する。
【0061】
次に、状態遷移制御部103に設けられた状態遷移発生頻度解析部107は、記憶部115に記録されている履歴情報を利用して、遷移頻度データベースの更新処理を行う(ステップS111)。
【0062】
続いて、情報処理装置10は、再びステップS101に戻って、キャッシュの予測処理を続行する。
【0063】
本実施形態に係る情報処理装置10は、以上説明したような流れでキャッシュの予測を行なうことで、能動的にキャッシングを行うことが可能となる。
【0064】
[遷移頻度データベースの更新処理について]
次に、図10を参照しながら、状態遷移発生頻度解析部107にて実施される遷移頻度データベースの更新処理について、詳細に説明する。図10は、遷移頻度データベースの更新処理について説明するための流れ図である。
【0065】
本実施形態に係る状態遷移発生頻度解析部107は、同一の起動時に発生した状態遷移の回数と、累計の状態遷移の回数とに基づいて、状態遷移の頻度について解析を行い、得られた解析結果を用いて、遷移頻度データベースの内容を更新する。
【0066】
なお、以下では、状態xから状態yへの遷移(以下、遷移Aと称する。)が起こった際における遷移頻度データベースの更新処理を例にとって説明するものとする。
【0067】
表示画面の状態遷移が発生すると、状態遷移発生頻度解析部107は、まず、履歴情報の一部である、同一の起動時に発生した遷移Aに関する遷移回数を更新する(ステップS201)。次に、状態遷移発生頻度解析部107は、遷移Aに関する累計の遷移回数を更新する(ステップS203)。これらの処理により、情報処理装置10は、遷移Aについて、同一の起動時における遷移回数および累計の遷移回数という、2種類のデータを履歴情報として保持することができる。
【0068】
続いて、状態遷移発生頻度解析部107は、同一の起動時においてこの時点までに発生している全遷移回数中に占める、遷移Aの割合(以下、この割合をRcと称する。)を算出し、該当する履歴情報を更新する(ステップS205)。例えば、同一の起動時において、この時点までに100回の状態遷移が発生しており、そのうち遷移Aが10回発生しているとすると、Rc=0.1となる。同様に、状態遷移発生頻度解析部107は、全遷移回数(累計値)と、遷移Aの累計回数とを用いて、遷移Aの累計回数を用いた割合(以下、この割合をRtと称する。)を算出し、該当する履歴情報を更新する(ステップS207)。
【0069】
次に、状態遷移発生頻度解析部107は、所定の方法を用いて、状態遷移頻度(以下、この頻度をRと称する。)を算出する(ステップS209)。状態遷移頻度Rを算出する方法は、特定の方法に限定されるわけではなく、任意の方法を用いることが可能である。例えば、RcとRtの相加平均をRとしてもよい。また、Rcに乗算する重み付け係数をrとし、Rtに乗算する重み付け係数をtとしたうえで、R=(r・Rc+t・Rt)/(r+t)としてもよい。
【0070】
続いて、状態遷移発生頻度解析部107は、算出した状態遷移頻度Rを所定の基準と比較して、遷移Aの新たな頻度とする。用いられる基準は、特定の基準に限定されるわけではないが、0〜1の間の値となるように調整された重み付け関数fを用いて算出された状態遷移頻度R=f(Rc,Rt)を用いて5段階の頻度を決定する際には、以下のような基準を用いてもよい。
【0071】
0.0≦R<0.2 :頻度1
0.2≦R<0.4 :頻度2
0.4≦R<0.6 :頻度3
0.6≦R<0.8 :頻度4
0.8≦R<1.0 :頻度5
【0072】
例えば上述のような方法で決定された新たな頻度を用いて、状態遷移発生頻度解析部107は、遷移頻度データベースのデータを更新する(ステップS211)。
【0073】
以上説明したような方法を用いることで、状態遷移発生頻度解析部107は、遷移頻度データベースの内容を更新することができる。このような更新処理を行うことで、情報処理装置10は、ユーザの嗜好を反映したキャッシュコントロールを行なうことが可能となる。
【0074】
<ハードウェア構成について>
次に、図11を参照しながら、本発明の各実施形態に係る情報処理装置10のハードウェア構成について、詳細に説明する。図11は、本発明の各実施形態に係る情報処理装置10のハードウェア構成を説明するためのブロック図である。
【0075】
情報処理装置10は、主に、CPU901と、ROM903と、RAM905と、を備える。また、情報処理装置10は、更に、ホストバス907と、ブリッジ909と、外部バス911と、インターフェース913と、入力装置915と、出力装置917と、ストレージ装置919と、ドライブ921と、接続ポート923と、通信装置925とを備える。
【0076】
CPU901は、演算処理装置および制御装置として機能し、ROM903、RAM905、ストレージ装置919、またはリムーバブル記録媒体927に記録された各種プログラムに従って、情報処理装置10内の動作全般またはその一部を制御する。ROM903は、CPU901が使用するプログラムや演算パラメータ等を記憶する。RAM905は、CPU901の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一次記憶する。これらはCPUバス等の内部バスにより構成されるホストバス907により相互に接続されている。
【0077】
ホストバス907は、ブリッジ909を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス911に接続されている。
【0078】
入力装置915は、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチおよびレバーなどユーザが操作する操作手段である。また、入力装置915は、例えば、赤外線やその他の電波を利用したリモートコントロール手段(いわゆる、リモコン)であってもよいし、情報処理装置10の操作に対応した携帯電話やPDA等の外部接続機器929であってもよい。さらに、入力装置915は、例えば、上記の操作手段を用いてユーザにより入力された情報に基づいて入力信号を生成し、CPU901に出力する入力制御回路などから構成されている。情報処理装置10のユーザは、この入力装置915を操作することにより、情報処理装置10に対して各種のデータを入力したり処理動作を指示したりすることができる。
【0079】
出力装置917は、取得した情報をユーザに対して視覚的または聴覚的に通知することが可能な装置で構成される。このような装置として、CRTディスプレイ装置、液晶ディスプレイ装置、プラズマディスプレイ装置、ELディスプレイ装置およびランプなどの表示装置や、スピーカおよびヘッドホンなどの音声出力装置や、プリンタ装置、携帯電話、ファクシミリなどがある。出力装置917は、例えば、情報処理装置10が行った各種処理により得られた結果を出力する。具体的には、表示装置は、情報処理装置10が行った各種処理により得られた結果を、テキストまたはイメージで表示する。他方、音声出力装置は、再生された音声データや音響データ等からなるオーディオ信号をアナログ信号に変換して出力する。
【0080】
ストレージ装置919は、情報処理装置10の記憶部の一例として構成されたデータ格納用の装置である。ストレージ装置919は、例えば、HDD(Hard Disk Drive)等の磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス、または光磁気記憶デバイス等により構成される。このストレージ装置919は、CPU901が実行するプログラムや各種データ、および外部から取得した各種のデータなどを格納する。
【0081】
ドライブ921は、記録媒体用リーダライタであり、情報処理装置10に内蔵、あるいは外付けされる。ドライブ921は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記録媒体927に記録されている情報を読み出して、RAM905に出力する。また、ドライブ921は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記録媒体927に記録を書き込むことも可能である。リムーバブル記録媒体927は、例えば、DVDメディア、HD−DVDメディア、Blu−rayメディア等である。また、リムーバブル記録媒体927は、コンパクトフラッシュ(登録商標)(CompactFlash:CF)、メモリースティック、または、SDメモリカード(Secure Digital memory card)等であってもよい。また、リムーバブル記録媒体927は、例えば、非接触型ICチップを搭載したICカード(Integrated Circuit card)または電子機器等であってもよい。
【0082】
接続ポート923は、機器を情報処理装置10に直接接続するためのポートである。接続ポート923の一例として、USB(Universal Serial Bus)ポート、i.Link等のIEEE1394ポート、SCSI(Small Computer System Interface)ポート等がある。接続ポート923の別の例として、RS−232Cポート、光オーディオ端子、HDMI(High−Definition Multimedia Interface)ポート等がある。この接続ポート923に外部接続機器929を接続することで、情報処理装置10は、外部接続機器929から直接各種のデータを取得したり、外部接続機器929に各種のデータを提供したりする。
【0083】
通信装置925は、例えば、通信網931に接続するための通信デバイス等で構成された通信インターフェースである。通信装置925は、例えば、有線または無線LAN(Local Area Network)、Bluetooth、またはWUSB(Wireless USB)用の通信カード等である。また、通信装置925は、光通信用のルータ、ADSL(Asymmetric Digital Subscriber Line)用のルータ、または、各種通信用のモデム等であってもよい。この通信装置925は、例えば、インターネットや他の通信機器との間で、例えばTCP/IP等の所定のプロトコルに則して信号等を送受信することができる。また、通信装置925に接続される通信網931は、有線または無線によって接続されたネットワーク等により構成され、例えば、インターネット、家庭内LAN、赤外線通信、ラジオ波通信または衛星通信等であってもよい。
【0084】
以上、本発明の各実施形態に係る情報処理装置10の機能を実現可能なハードウェア構成の一例を示した。上記の各構成要素は、汎用的な部材を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。従って、本実施形態を実施する時々の技術レベルに応じて、適宜、利用するハードウェア構成を変更することが可能である。
【0085】
<まとめ>
以上説明したように、本発明の実施形態に係る情報処理装置および情報処理方法では、表示画面に表示される表示内容の変化に着目し、状態遷移の発生頻度に関する情報が記載されている遷移頻度データベースを利用して、今後発生しうる状態遷移を予測する。本発明の実施形態に係る情報処理装置および情報処理方法では、予測結果の状態遷移に必要なリソースを先読みするというキャッシュ制御を行なうことにより、状態遷移時の負荷軽減と状態遷移の高速化、および、キャッシュメモリの最適化を図ることが可能となる。
【0086】
また、情報処理装置は、遷移頻度データベースを外部に設けられたデータベース提供サーバに伝送することが可能である。データベース提供サーバでは、各情報処理装置から提供された遷移頻度データベースを管理し、要請のあった情報処理装置に対して、管理している遷移頻度データベースを提供する。これにより、提供を受けた情報処理装置では、使用頻度の低かった機能に対してもキャッシュ制御のチューニングを実現することができる。
【0087】
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【0088】
例えば、上記実施形態では、画面遷移を伴う状態遷移を例にとって説明を行なったが、本発明はかかる例に限定されない。例えば、メッセージ通信など、画面遷移を伴わない状態遷移に対しても本発明を適用することが可能である。
【0089】
また、上記実施形態では、1ステップ先の状態遷移を取り上げて説明を行なったが、状態遷移の先読みステップは1ステップに限定されるわけではなく、2ステップ先、3ステップ先など、任意のステップ数で実行することが可能である。
【符号の説明】
【0090】
10 情報処理装置
101 入力部
103 状態遷移制御部
105 キャッシュ制御部
107 状態遷移発生頻度解析部
109 アプリケーション実行部
111 表示制御部
113 通信制御部
115 記憶部
151 表示画面
153 位置選択オブジェクト
155,157 処理選択ウィンドウ



【特許請求の範囲】
【請求項1】
表示画面に表示されている表示内容について当該表示内容が表示されている表示状態から他の表示状態への状態遷移の頻度を表す情報である遷移頻度情報が記録された遷移頻度データベースを格納する記憶部と、
前記遷移頻度データベースと前記表示画面に表示されている表示内容とに基づいて遷移する可能性がある他の表示状態を予測し、予測した他の表示状態に必要なリソースを遷移が発生する前に準備するキャッシュ制御部と、
を備える情報処理装置。
【請求項2】
前記状態遷移の履歴が記録された履歴情報を利用して前記状態遷移の発生頻度を解析する状態遷移発生頻度解析部を更に備え、
前記状態遷移発生頻度解析部は、解析結果に基づいて前記遷移頻度データベースの内容を更新する、請求項1に記載の情報処理装置。
【請求項3】
前記状態遷移発生頻度解析部は、同一の起動時に発生した状態遷移の回数と累計の状態遷移の回数とに基づいて前記状態遷移の頻度を算出する、請求項2に記載の情報処理装置。
【請求項4】
自装置の外部に設けられた装置と通信可能な通信制御部を更に備え、
前記通信制御部を介して前記遷移頻度データベースが前記外部に設けられた装置に伝送される、請求項1に記載の情報処理装置。
【請求項5】
前記キャッシュ制御部は、前記外部に設けられた装置から前記遷移頻度データベースを取得する、請求項4に記載の情報処理装置。
【請求項6】
表示画面に表示されている表示内容について当該表示内容が表示されている表示状態から他の表示状態への状態遷移の頻度を表す情報である遷移頻度情報が記録された遷移頻度データベースと、前記表示画面に表示されている表示内容と、に基づいて、遷移する可能性がある他の表示状態を予測するステップと、
予測した他の表示状態に必要なリソースを遷移が発生する前に準備するステップと、
を含む情報処理方法。
【請求項7】
表示画面を備えたコンピュータに、
前記表示画面に表示されている表示内容について当該表示内容が表示されている表示状態から他の表示状態への状態遷移の頻度を表す情報である遷移頻度情報が記録された遷移頻度データベースと、前記表示画面に表示されている表示内容と、に基づいて、遷移する可能性がある他の表示状態を予測する手順と、
予測した他の表示状態に必要なリソースを遷移が発生する前に準備する手順と、
を実行させるプログラム。


【図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


【公開番号】特開2010−165249(P2010−165249A)
【公開日】平成22年7月29日(2010.7.29)
【国際特許分類】
【出願番号】特願2009−8029(P2009−8029)
【出願日】平成21年1月16日(2009.1.16)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.Bluetooth
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】