(57)【要約】【課題】装置の使用者による操作を予測し、能動的にキャッシングを行うことが可能な情報処理装置、情報処理方法およびプログラムを提供すること。【解決手段】本発明に係る情報処理装置に、表示画面に表示されている表示内容について当該表示内容が表示されている表示状態から他の表示状態への状態遷移の頻度を表す情報である遷移頻度情報が記録された遷移頻度データベースを格納する記憶部と、遷移頻度データベースと表示画面に表示されている表示内容とに基づいて遷移する可能性がある他の表示状態を予測し、予測した他の表示状態に必要なリソースを遷移が発生する前に準備するキャッシュ制御部と、を設けた。【選択図】図１
2010165249.tif 000002
【特許請求の範囲】
【請求項１】
表示画面に表示されている表示内容について当該表示内容が表示されている表示状態から他の表示状態への状態遷移の頻度を表す情報である遷移頻度情報が記録された遷移頻度データベースを格納する記憶部と、
前記遷移頻度データベースと前記表示画面に表示されている表示内容とに基づいて遷移する可能性がある他の表示状態を予測し、予測した他の表示状態に必要なリソースを遷移が発生する前に準備するキャッシュ制御部と、
を備える情報処理装置。
【請求項２】
前記状態遷移の履歴が記録された履歴情報を利用して前記状態遷移の発生頻度を解析する状態遷移発生頻度解析部を更に備え、
前記状態遷移発生頻度解析部は、解析結果に基づいて前記遷移頻度データベースの内容を更新する、請求項１に記載の情報処理装置。
【請求項３】
前記状態遷移発生頻度解析部は、同一の起動時に発生した状態遷移の回数と累計の状態遷移の回数とに基づいて前記状態遷移の頻度を算出する、請求項２に記載の情報処理装置。
【請求項４】
自装置の外部に設けられた装置と通信可能な通信制御部を更に備え、
前記通信制御部を介して前記遷移頻度データベースが前記外部に設けられた装置に伝送される、請求項１に記載の情報処理装置。
【請求項５】
前記キャッシュ制御部は、前記外部に設けられた装置から前記遷移頻度データベースを取得する、請求項４に記載の情報処理装置。
【請求項６】
表示画面に表示されている表示内容について当該表示内容が表示されている表示状態から他の表示状態への状態遷移の頻度を表す情報である遷移頻度情報が記録された遷移頻度データベースと、前記表示画面に表示されている表示内容と、に基づいて、遷移する可能性がある他の表示状態を予測するステップと、
予測した他の表示状態に必要なリソースを遷移が発生する前に準備するステップと、
を含む情報処理方法。
【請求項７】
表示画面を備えたコンピュータに、
前記表示画面に表示されている表示内容について当該表示内容が表示されている表示状態から他の表示状態への状態遷移の頻度を表す情報である遷移頻度情報が記録された遷移頻度データベースと、前記表示画面に表示されている表示内容と、に基づいて、遷移する可能性がある他の表示状態を予測する手順と、
予測した他の表示状態に必要なリソースを遷移が発生する前に準備する手順と、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【０００２】
近年の情報処理技術の発達に伴い、様々な処理をコンピュータ上で行うことが可能となった。コンピュータ上で処理を行うためには、実行したい処理にあわせて様々なアプリケーションを起動する必要があるが、アプリケーションの起動には、起動するアプリケーションに応じたリソースが必要である。リソースの準備を適切に行うことで、装置の使用者は快適な操作環境を得ることができる。
【０００３】
リソースの準備を適切に行うためには、装置の使用者の操作に先んじて、必要となるリソースを先読みしてキャッシュを実行することが効果的である。キャッシュのコントロールを行う技術として、ハードウェアレベルで行うもの、プロセッサ−メモリ間のスケジューリングアルゴリズムに関するものなど、数多くの技術が存在する。例えば、以下に示す特許文献１では、サーバとクライアント機器とからなるシステムにおいて、サーバ側から提供された使用者の行動モデルに基づいて先読みキャッシュを行い、通信処理待ち時間を短縮する方法が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−３００３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述の特許文献１のような技術を含め、従来のキャッシングコントロールに関する技術は、ソフトウェアやハードウェアの動きを起点としたものであり、装置の使用者に対して適したキャッシングが必ずしも実現できていないという問題があった。
【０００６】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、装置の使用者による操作を予測し、能動的にキャッシングを行うことが可能な、新規かつ改良された情報処理装置、情報処理方法およびプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明のある観点によれば、表示画面に表示されている表示内容について当該表示内容が表示されている表示状態から他の表示状態への状態遷移の頻度を表す情報である遷移頻度情報が記録された遷移頻度データベースを格納する記憶部と、前記遷移頻度データベースと前記表示画面に表示されている表示内容とに基づいて遷移する可能性がある他の表示状態を予測し、予測した他の表示状態に必要なリソースを遷移が発生する前に準備するキャッシュ制御部と、を備える情報処理装置が提供される。
【０００８】
かかる構成によれば、記憶部には、表示画面に表示されている表示内容について当該表示内容が表示されている表示状態から他の表示状態への状態遷移の頻度を表す情報である遷移頻度情報が記録された遷移頻度データベースが格納されている。また、キャッシュ制御部は、遷移頻度データベースと表示画面に表示されている表示内容とに基づいて遷移する可能性がある他の表示状態を予測し、予測した他の表示状態に必要なリソースを遷移が発生する前に準備する。
【０００９】
前記状態遷移の履歴が記録された履歴情報を利用して前記状態遷移の発生頻度を解析する状態遷移発生頻度解析部を更に備え、前記状態遷移発生頻度解析部は、解析結果に基づいて前記遷移頻度データベースの内容を更新してもよい。
【００１０】
前記状態遷移発生頻度解析部は、同一の起動時に発生した状態遷移の回数と累計の状態遷移の回数とに基づいて前記状態遷移の頻度を算出してもよい。
【００１１】
自装置の外部に設けられた装置と通信可能な通信制御部を更に備え、前記通信制御部を介して前記遷移頻度データベースが前記外部に設けられた装置に伝送されてもよい。
【００１２】
前記キャッシュ制御部は、前記外部に設けられた装置から前記遷移頻度データベースを取得してもよい。
【００１３】
また、上記課題を解決するために、本発明の別の観点によれば、表示画面に表示されている表示内容について当該表示内容が表示されている表示状態から他の表示状態への状態遷移の頻度を表す情報である遷移頻度情報が記録された遷移頻度データベースと、前記表示画面に表示されている表示内容と、に基づいて、遷移する可能性がある他の表示状態を予測するステップと、予測した他の表示状態に必要なリソースを遷移が発生する前に準備するステップと、を含む情報処理方法が提供される。
【００１４】
また、上記課題を解決するために、本発明の更に別の観点によれば、表示画面を備えたコンピュータに、前記表示画面に表示されている表示内容について当該表示内容が表示されている表示状態から他の表示状態への状態遷移の頻度を表す情報である遷移頻度情報が記録された遷移頻度データベースと、前記表示画面に表示されている表示内容と、に基づいて、遷移する可能性がある他の表示状態を予測する手順と、予測した他の表示状態に必要なリソースを遷移が発生する前に準備する手順と、を実行させるプログラムが提供される。
【発明の効果】
【００１５】
以上説明したように本発明によれば、表示画面の遷移に着目して使用者による操作の予測を行うため、能動的にキャッシングを行うことが可能である。
【図面の簡単な説明】
【００１６】
【図１】本発明の第１の実施形態にかかる情報処理装置の構成を説明するためのブロック図である。
【図２】表示画面の状態遷移について説明するための説明図である。
【図３】同実施形態に係る情報処理装置について説明するための説明図である。
【図４】表示画面の状態遷移について説明するための説明図である。
【図５】表示画面の状態遷移について説明するための説明図である。
【図６】遷移頻度データベースの一例について説明するための説明図である。
【図７】表示画面の状態遷移について説明するための説明図である。
【図８】遷移頻度データベースの一例について説明するための説明図である。
【図９】同実施形態に係る情報処理方法について説明するための流れ図である。
【図１０】同実施形態に係る情報処理方法について説明するための流れ図である。
【図１１】本発明の各実施形態に係る情報処理装置のハードウェア構成を説明するためのブロック図である。
【発明を実施するための形態】
【００１７】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１８】
なお、説明は、以下の順序で行うものとする。
（１）第１の実施形態
（１−１）情報処理装置の構成について
（１−２）情報処理方法について
（２）本発明の各実施形態に係る情報処理装置のハードウェア構成について
（３）まとめ
【００１９】
（第１の実施形態）
＜情報処理装置の構成について＞
まず、図１を参照しながら、本発明の第１の実施形態に係る情報処理装置の構成について、詳細に説明する。図１は、本実施形態に係る情報処理装置の構成を説明するためのブロック図である。
【００２０】
本実施形態に係る情報処理装置１０は、例えば図１に示したように、入力部１０１と、状態遷移制御部１０３と、アプリケーション実行部１０９と、表示制御部１１１と、通信制御部１１３と、記憶部１１５と、を主に備える。
【００２１】
入力部１０１は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、入力装置等から構成されている。入力部１０１は、情報処理装置１０のユーザがマウスやキーボード等の入力装置を用いて行なった操作を、操作に対応する所定の信号に変換する。その後、入力部１０１は、変換後の信号を、対応する処理部へと伝送する。例えば、ユーザがマウスを操作してマウスポインタ等の位置選択オブジェクトを移動させた場合には、入力部１０１は、位置選択オブジェクトの移動を表す信号を生成して、後述する状態遷移制御部１０３および表示制御部１１１に伝送する。また、ユーザがマウスやキーボード等を操作してアプリケーションの起動を選択した場合には、入力部１０１は、選択されたアプリケーションを表す信号を生成して、状態遷移制御部１０３およびアプリケーション実行部１０９に伝送する。
【００２２】
状態遷移制御部１０３は、例えば、ＣＰＵ、ＲＯＭ、ＲＡＭ等から構成されている。状態遷移制御部１０３は、入力部１０１から伝送されるユーザ操作に関する信号と、後述する表示制御部１１１から取得する表示画面の状態に関する情報とに基づいて、表示画面に表示される表示内容の表示状態の遷移を制御する。
【００２３】
ここで、図２を参照しながら、表示状態の遷移について説明する。図２は、表示画面の状態遷移について説明するための説明図である。
【００２４】
情報処理装置１０のユーザは、表示画面１５１を見ながらマウス等の入力装置を操作して、マウスポインタ等の位置選択オブジェクト１５３を移動させる。例えば、ユーザが、情報処理装置１０で実行可能な処理を表示するために、表示画面１５１の「スタート」ボタンを選択すると、図２に示したように、選択可能な処理が記載された処理選択ウィンドウ１５５が表示画面１５１に表示される。このように、処理選択ウィンドウ１５５が表示されていなかった表示画面１５１の表示内容が変更となり、処理選択ウィンドウ１５５が表示された表示画面１５１となるような表示画面の変化を、本明細書においては、表示状態が遷移したと称する。
【００２５】
また、処理選択ウィンドウ１５５に記載されている処理のうち、例えば「アプリケーション」が位置選択オブジェクト１５３により選択されると、「アプリケーション」という区分に属する処理が、処理選択ウィンドウ１５７として表示画面１５１に表示される。このように、処理選択ウィンドウ１５５のみが表示されている表示画面の状態から、処理選択ウィンドウ１５５中の「アプリケーション」が位置選択オブジェクト１５３により選択された状態への変化も、表示状態の遷移の一つである。また、「アプリケーション」を選択することで、表示画面１５１に、処理選択ウィンドウ１５５，１５７の双方が表示された状態へ表示内容が変化することも、表示状態の遷移の一つである。
【００２６】
上述のような表示画面１５１の状態遷移を制御する状態遷移制御部１０３は、キャッシュ制御部１０５および状態遷移発生頻度解析部１０７と、を更に備える。
【００２７】
キャッシュ制御部１０５は、例えば、ＣＰＵ、ＲＯＭ、ＲＡＭ等から構成されている。キャッシュ制御部１０５は、後述する記憶部１１５等に格納されている遷移頻度データベースと表示画面に表示されている表示内容とに基づいて、遷移する可能性がある他の表示状態を予測し、予測した他の表示状態に必要なリソースを遷移が発生する前に準備する。遷移頻度データベースには、後述するように、情報処理装置１０で生じうる表示状態について、ある表示状態からある表示状態への遷移の頻度がどの程度存在するかが記載されている。そこで、キャッシュ制御部１０５は、表示制御部１１１から取得した表示画面に現在表示されている表示内容を取得し、取得した表示内容と、遷移頻度データベースに記載されている頻度とを用いて、生じうる状態遷移の優先順位付けを行なう。そして、優先順位が高いものについて、遷移が発生する前に必要となるリソースを準備する。このようなキャッシュ制御を行なうことで、画面遷移発生時における処理の低減と処理の高速化を図ることが可能となる。
【００２８】
ここで、上述のリソースとは、情報処理装置１０においてある処理を実行するために確保しておくハードウェアやソフトウェアのことである。具体的には、ある表示画面を生成するために必要となるデータをキャッシングする処理や、表示画面を生成するために必要となる圧縮された画像データをメモリ上に展開する処理や、これらの処理に必要となるメモリを確保すること等を挙げることができる。
【００２９】
また、キャッシュ制御部１０５は、後述する通信制御部１１３を介して、遷移頻度データベースを、情報処理装置１０の外部に設けられた他の装置に対して伝送することが可能である。例えば図３に示したように、通信網３を介して複数の情報処理装置１０Ａ，１０Ｂ，１０Ｃ・・・が接続されており、また、通信網３にデータベース提供サーバ２０が接続されている場合を考える。この場合に、情報処理装置１０Ａのキャッシュ制御部１０５は、自装置内に格納されている遷移頻度データベースを、通信網３を介してデータベース提供サーバ２０に伝送することができる。また、他の情報処理装置（例えば、情報処理装置１０Ｂ）のキャッシュ制御部１０５は、データベース提供サーバ２０に格納されている遷移頻度データベースを取得し、取得した遷移頻度データベースを自装置における処理に利用することが可能である。なお、情報処理装置１０は、データベース提供サーバ２０を介することなく、直接他の情報処理装置１０から遷移頻度データベースを取得してもよい。
【００３０】
ここで、通信網３は、情報処理装置１０と他の情報処理装置１０との間、および、情報処理装置１０とデータベース提供サーバ２０との間を、双方向通信又は一方向通信可能に接続する通信回線網である。この通信網は、例えば、インターネット、電話回線網、衛星通信網、同報通信路等の公衆回線網や、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＩＰ−ＶＰＮ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ−Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）、ワイヤレスＬＡＮ等の専用回線網などで構成されており、有線／無線を問わない。
【００３１】
また、データベース提供サーバ２０は、情報処理装置１０から伝送された遷移頻度データベースを保存および管理する。また、データベース提供サーバ２０は、情報処理装置１０からの要請に基づいて、管理している遷移頻度データベースを、要請のあった情報処理装置１０に伝送する。遷移頻度データベースの内容は、例え同一のアプリケーションがインストールされている情報処理装置であっても、装置を使用するユーザの行動に応じて異なるものとなる。そのため、例えば写真閲覧処理を高速化可能な遷移頻度データベースをサーバ２０から取得して利用することで、購入したばかりの情報処理装置であっても、効率の良い写真閲覧処理を行うことが可能となる。
【００３２】
続いて、図４を参照しながら、表示状態とその遷移について、具体例を挙げて詳細に説明する。図４は、表示画面の状態遷移について説明するための説明図である。
【００３３】
なお、以下の説明では、例えば図２で示したような「スタート」ボタンが選択された際に、「アプリケーション」、「データ」、「設定」の３種類の処理が記載された処理選択ウィンドウ１５５が表示されるものとする。また、処理選択ウィンドウ１５５において「アプリケーション」が選択されると、「メール」および「ブラウザ」の２種類の処理が記載された処理選択ウィンドウ１５７が表示されるものとする。同様に、処理選択ウィンドウ１５５において「データ」が選択されると、「写真」および「音楽」の２種類のジャンルが記載された処理選択ウィンドウ１５７が表示されるものとする。また、処理選択ウィンドウ１５５において「設定」が選択されると、「画面」および「時間」の２種類の処理が記載された処理選択ウィンドウ１５７が表示されるものとする。
【００３４】
上述のような場合に、情報処理装置１０では、図４に示した１５種類の表示状態が存在しうる。また、状態１と状態２の間、状態１と状態４の間など、表示状態の遷移が生じうるものに対して、頻度が設定されている。図４においては、頻度は、最も遷移可能性が高い頻度５から、遷移可能性が最も低い頻度１まで５段階で表示されている。この表示されている頻度が、遷移頻度データベースに記載されているデータである。なお、頻度の表示は、図示したような５段階に限定されるわけではない。
【００３５】
図４を参照すると、状態１から状態４または状態５に遷移する頻度が頻度５となっており、状態２から状態６または状態７に遷移する頻度が頻度４となっていることがわかる。これより、図４に示したような頻度情報を有する情報処理装置１０のユーザは、メール機能と画像閲覧機能を頻繁に利用するユーザであることがわかる。また、「設定」は、頻繁に変更する必要性が少ない処理であるため、「設定」関連の状態への状態遷移の発生頻度は、低くなっている。
【００３６】
本実施形態に係るキャッシュ制御部１０５は、状態遷移の発生頻度が高くなっている遷移に対して、優先的にリソースデータの先読みなどのキャッシュ制御を行なう。このようなキャッシュ制御を行なうことで、画面遷移発生時における処理の低減と処理の高速化を図ることが可能となる。すなわち、図４において表示画面が状態１に示した状態となっている場合に、キャッシュ制御部１０５は、頻度５で遷移する状態４または状態５のリソースを、頻度３で遷移する状態２のリソースよりも優先的に先読みする。これにより、ユーザ操作に対するリソースの先読みのヒット率を向上させることができる。
【００３７】
また、ある状態から同じステップ数で遷移できる状態に対して、キャッシュ制御部１０５は、遷移発生頻度が低い場合にはリソースデータの先読みを行わない。これにより、キャッシュ用のメモリの節約とメモリの使用方法の最適化が実現できる。例えば、図４の状態２において、状態１、状態６、状態３はいずれも１ステップで遷移可能であるが、キャッシュ制御部１０５は、頻度１と遷移の可能性が低い状態３におけるリソースの先読みを行わずにメモリの節約を行う。その結果、他の優先度（頻度）の高い状態に対してメモリ等のリソースを分配することで、キャッシングの最適化が可能となる。
【００３８】
以上、キャッシュ制御部１０５の機能について説明した。以下では、再び図１に戻って、本実施形態に係る情報処理装置１０の構成について詳細に説明する。
【００３９】
状態遷移発生頻度解析部１０７は、例えば、ＣＰＵ、ＲＯＭ、ＲＡＭ等から構成されている。状態遷移発生頻度解析部１０７は、状態遷移の履歴が記録された履歴情報を利用して、状態遷移の発生頻度を解析する。また、状態遷移発生頻度解析部１０７は、解析結果に基づいて、遷移頻度データベースの内容を更新する。より詳細には、状態遷移発生頻度解析部１０７は、同一の起動時に発生した状態遷移の回数と、累計の状態遷移の回数とを用いて、状態遷移の頻度を算出する。
【００４０】
また、状態遷移発生頻度解析部１０７は、アプリケーションの実行や表示画面の変更に伴い表示画面の状態遷移が発生した場合には、状態遷移が発生した日時に関する情報を、履歴情報として記憶部１１５に記録する。この履歴情報には、状態遷移が発生した日時に関する情報と、発生した状態遷移に関する情報（例えば、状態ｘから状態ｙへと遷移した旨を表す情報など）とが含まれる。また、状態遷移発生頻度解析部１０７は、情報処理装置１０の起動毎に一意に決定される情報などを履歴情報に関連付けたり、起動毎に履歴記録用のフォルダ等を生成したりするなどして、状態遷移が同じ起動時に発生したものか否かを判定しやすくする。これにより、状態遷移発生頻度解析部１０７は、同一の起動時に発生した状態遷移の回数と、累計の状態遷移の回数と、を把握することができる。
【００４１】
なお、この状態遷移の頻度の算出処理と、遷移頻度データベースの更新処理とについては、以下で改めて詳細に説明する。
【００４２】
アプリケーション実行部１０９は、例えば、ＣＰＵ、ＲＯＭ、ＲＡＭ等から構成されている。アプリケーション実行部１０９は、入力部１０１から、ユーザ操作により起動が要請されたアプリケーションを表す信号が伝送されると、対応するアプリケーションのプログラム等を記憶部１１５から取得して、取得したプログラム等を実行する。また、アプリケーションの実行に伴い表示画面に表示されている表示内容の変更が必要な場合には、表示制御部１１１に表示内容の変更を要請する。
【００４３】
表示制御部１１１は、例えば、ＣＰＵ、ＲＯＭ、ＲＡＭ等から構成されている。表示制御部１１１は、記憶部１１５等に記録されている表示画面に表示すべき内容に対応するデータを取得して、表示画面に表示する。入力部１０１から、マウスポインタ等の位置選択オブジェクトの移動を表す信号が伝送された場合には、伝送された信号にあわせて位置選択オブジェクトの移動を表示画面に表示させる。また、図２に示したような処理選択ウィンドウにおいてある処理が選択されたことを表す信号が入力部１０１から伝送された場合には、表示内容の遷移の仕様が記載された状態遷移仕様を参照して、新たな処理選択ウィンドウを表示画面に表示させる。また、表示制御部１１１は、アプリケーション実行部１０９から表示内容の変更を要請された場合には、アプリケーション実行部１０９からの要請に基づいて表示画面に表示されている表示内容の変更を行なう。
【００４４】
また、状態遷移制御部１０３やキャッシュ制御部１０５から、現在表示画面に表示されている表示内容に関する問い合わせがあった場合には、表示制御部１１１は、表示画面に表示されている表示内容に関する情報を、問い合わせのあった処理部に伝送する。
【００４５】
通信制御部１１３は、例えば、ＣＰＵ、ＲＯＭ、ＲＡＭ、通信装置等から構成されている。通信制御部１１３は、情報処理装置１０と、情報処理装置１０の外部に設けられた装置と、の間で行なわれる通信を制御する。情報処理装置１０の外部に設けられた装置の例として、例えば図３に示したような、通信網３を介して接続されたデータベース提供サーバ２０を挙げることができる。
【００４６】
記憶部１１５には、「処理選択ウィンドウ中に表示されている処理が選択された場合に、新たにどの様な内容が記載された処理選択ウィンドウを表示するのか」といった表示内容の遷移の仕様が記載された状態遷移仕様が格納されている。また、記憶部１１５には、状態遷移が発生した履歴に関する履歴情報が格納されている。また、記憶部１１５には、遷移頻度データベースが格納されている。さらに、記憶部１１５には、表示画面に表示されるオブジェクトデータが格納されている。ここで言うオブジェクトデータには、例えば、アイコン、ボタン、サムネイル等のグラフィカルユーザインターフェース（ＧＵＩ）を構成する任意のパーツ類が含まれる。
【００４７】
また、記憶部１１５には、本実施形態に係る情報処理装置１０が、何らかの処理を行う際に保存する必要が生じた様々なパラメータや処理の途中経過等、または、各種のデータベース等が、適宜記録されてもよい。この記憶部１１５は、入力部１０１、状態遷移制御部１０３、キャッシュ制御部１０５、状態遷移発生頻度解析部１０７、アプリケーション実行部１０９、表示制御部１１１、通信制御部１１３等が自由に読み書きできる。
【００４８】
ここで、図５〜図８を参照しながら、遷移頻度データベースについて例を挙げて詳細に説明する。図５および図７は、表示画面の状態遷移について説明するための説明図である。図６および図８は、遷移頻度データベースの一例について説明するための説明図である。
【００４９】
本実施形態に係る遷移頻度データベースは、ある表示状態からある表示状態への遷移の頻度を、マトリックス状に表したものである。この遷移頻度データベースは、状態遷移発生頻度解析部１０７によって発生した状態遷移に基づいて更新されるため、たとえ同一のアプリケーションを有する情報処理装置１０であっても、ユーザの嗜好により互いに異なる遷移頻度データベースとなる。
【００５０】
図５は、メールの送受信を頻繁に行なう写真の閲覧に興味のあるユーザの状態遷移の一例を示したものである。このようなユーザの場合には、「アプリケーション」を選択して「メール」の選択画面へと遷移する頻度と、「データ」を選択して「写真」の選択画面へと遷移する頻度とが高くなる。そのため、図５に示したように、状態１から状態４または状態５への遷移頻度は５となっており、状態２から状態６または状態７への遷移頻度は４となっている。
【００５１】
図５に示したような遷移頻度をマトリックス状に表したものが遷移頻度データベースであり、図５に示した遷移頻度に対応する遷移頻度データベースが図６となる。図６において、縦方向に並んだ各状態のカラムが、遷移前の状態に対応しており、横方向に並んだ各状態が、遷移後の状態に対応している。図５および図６を対応させると明らかなように、例えば縦方向の「状態１」と横方向の「状態２」との交点に位置するマトリックスの要素が、状態１から状態２への遷移頻度となっており、図５および図６では、「４」となっている。
【００５２】
他方、図７は、写真の閲覧と音楽鑑賞に興味のあるユーザの状態遷移の一例を示したものである。このようなユーザの場合には、位置選択オブジェクトを操作して「アプリケーション」から「データ」へと位置選択オブジェクトが移動する頻度と、「データ」を選択して「写真」または「音楽」の選択画面へと遷移する頻度とが高くなる。そのため、図７に示したように、状態１から状態２への遷移頻度は５となっており、状態２から状態６または状態７への遷移頻度は５となっている。また、図５および図６に示したユーザとは異なり、状態１から状態４または状態５への遷移頻度は２となっている。
【００５３】
図７に対応する遷移頻度データベースが図８であるが、図８の遷移頻度データベースと、図６に示した遷移頻度データベースとは、異なるものとなっている。このように、遷移頻度データベースは、情報処理装置１０を使用するユーザの嗜好を反映するものである。例えば図３に示したように、データベース提供サーバ２０を介して遷移頻度データベースを共有化することにより、他の装置において使用頻度の低かった機能に対して、即座に効率の良いキャッシュコントロールを実現することが可能となる。
【００５４】
なお、図５〜図８において、状態ｘから状態ｙへの遷移頻度と、状態ｙから状態ｘへの遷移頻度とが同一の値となっているが、状態ｘから状態ｙへの遷移頻度と、状態ｙから状態ｘへの遷移頻度とが互いに異なる値となることを許容してもよい。このようにすることで、より細やかなキャッシュ制御を実現することが可能となり、ユーザの利便性を一層向上させることができる。
【００５５】
以上、本実施形態に係る情報処理装置１０の機能の一例を示した。上記の各構成要素は、汎用的な部材や回路を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。また、各構成要素の機能を、ＣＰＵ等が全て行ってもよい。従って、本実施形態を実施する時々の技術レベルに応じて、適宜、利用する構成を変更することが可能である。
【００５６】
なお、上述のような本実施形態に係る情報処理装置の各機能を実現するためのコンピュータプログラムを作製し、パーソナルコンピュータ等に実装することが可能である。また、このようなコンピュータプログラムが格納された、コンピュータで読み取り可能な記録媒体も提供することができる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリなどである。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信してもよい。
【００５７】
＜情報処理方法＞
続いて、図９を参照しながら、本実施形態に係る情報処理方法（より具体的には、キャッシュの予測方法）について、詳細に説明する。図９は、本実施形態に係る情報処理方法を説明するための流れ図である。
【００５８】
起動中の情報処理装置１０に設けられた入力部１０１は、電源ＯＦＦ操作がなされたか否かを判定する（ステップＳ１０１）。電源ＯＦＦ操作がなされた場合には、情報処理装置１０は、処理を中止して電源をＯＦＦにする。また、電源ＯＦＦ操作が実施されなかった場合には、情報処理装置１０は、以下の処理を行う。
【００５９】
まず、状態遷移制御部１０３に設けられたキャッシュ制御部１０５は、現在の表示画面に表示されている表示内容（すなわち、現在の表示状態）を、表示制御部１１１から取得する。続いて、キャッシュ制御部１０５は、記憶部１１５に記録されている遷移頻度データベースを参照して（ステップＳ１０３）、現在の表示状態から遷移する可能性のある表示状態を予測する。その後、キャッシュ制御部１０５は、予測結果に基づいてアプリケーション実行部１０９または表示制御部１１１等に問い合わせを行い、必要となるリソースを予測し（ステップＳ１０５）、メモリの確保や圧縮画像の解凍等といった処理を行う。
【００６０】
また、キャッシュ制御部１０５が上述のような予測を行いながら、情報処理装置１０は、状態遷移の発生する操作が入力されたか否かを待ち受ける（ステップＳ１０７）。状態遷移の発生する操作が入力された場合には、入力部１０１はその旨をアプリケーション実行部１０９または表示制御部１１１に伝送し、アプリケーション実行部１０９または表示制御部１１１は、状態遷移を実行する（ステップＳ１０９）。また、状態遷移発生頻度解析部１０７は、状態遷移の実行に伴う履歴情報を、記憶部１１５に記録する。
【００６１】
次に、状態遷移制御部１０３に設けられた状態遷移発生頻度解析部１０７は、記憶部１１５に記録されている履歴情報を利用して、遷移頻度データベースの更新処理を行う（ステップＳ１１１）。
【００６２】
続いて、情報処理装置１０は、再びステップＳ１０１に戻って、キャッシュの予測処理を続行する。
【００６３】
本実施形態に係る情報処理装置１０は、以上説明したような流れでキャッシュの予測を行なうことで、能動的にキャッシングを行うことが可能となる。
【００６４】
［遷移頻度データベースの更新処理について］
次に、図１０を参照しながら、状態遷移発生頻度解析部１０７にて実施される遷移頻度データベースの更新処理について、詳細に説明する。図１０は、遷移頻度データベースの更新処理について説明するための流れ図である。
【００６５】
本実施形態に係る状態遷移発生頻度解析部１０７は、同一の起動時に発生した状態遷移の回数と、累計の状態遷移の回数とに基づいて、状態遷移の頻度について解析を行い、得られた解析結果を用いて、遷移頻度データベースの内容を更新する。
【００６６】
なお、以下では、状態ｘから状態ｙへの遷移（以下、遷移Ａと称する。）が起こった際における遷移頻度データベースの更新処理を例にとって説明するものとする。
【００６７】
表示画面の状態遷移が発生すると、状態遷移発生頻度解析部１０７は、まず、履歴情報の一部である、同一の起動時に発生した遷移Ａに関する遷移回数を更新する（ステップＳ２０１）。次に、状態遷移発生頻度解析部１０７は、遷移Ａに関する累計の遷移回数を更新する（ステップＳ２０３）。これらの処理により、情報処理装置１０は、遷移Ａについて、同一の起動時における遷移回数および累計の遷移回数という、２種類のデータを履歴情報として保持することができる。
【００６８】
続いて、状態遷移発生頻度解析部１０７は、同一の起動時においてこの時点までに発生している全遷移回数中に占める、遷移Ａの割合（以下、この割合をＲｃと称する。）を算出し、該当する履歴情報を更新する（ステップＳ２０５）。例えば、同一の起動時において、この時点までに１００回の状態遷移が発生しており、そのうち遷移Ａが１０回発生しているとすると、Ｒｃ＝０．１となる。同様に、状態遷移発生頻度解析部１０７は、全遷移回数（累計値）と、遷移Ａの累計回数とを用いて、遷移Ａの累計回数を用いた割合（以下、この割合をＲｔと称する。）を算出し、該当する履歴情報を更新する（ステップＳ２０７）。
【００６９】
次に、状態遷移発生頻度解析部１０７は、所定の方法を用いて、状態遷移頻度（以下、この頻度をＲと称する。）を算出する（ステップＳ２０９）。状態遷移頻度Ｒを算出する方法は、特定の方法に限定されるわけではなく、任意の方法を用いることが可能である。例えば、ＲｃとＲｔの相加平均をＲとしてもよい。また、Ｒｃに乗算する重み付け係数をｒとし、Ｒｔに乗算する重み付け係数をｔとしたうえで、Ｒ＝（ｒ・Ｒｃ＋ｔ・Ｒｔ）／（ｒ＋ｔ）としてもよい。
【００７０】
続いて、状態遷移発生頻度解析部１０７は、算出した状態遷移頻度Ｒを所定の基準と比較して、遷移Ａの新たな頻度とする。用いられる基準は、特定の基準に限定されるわけではないが、０〜１の間の値となるように調整された重み付け関数ｆを用いて算出された状態遷移頻度Ｒ＝ｆ（Ｒｃ，Ｒｔ）を用いて５段階の頻度を決定する際には、以下のような基準を用いてもよい。
【００７１】
０．０≦Ｒ＜０．２    ：頻度１
０．２≦Ｒ＜０．４    ：頻度２
０．４≦Ｒ＜０．６    ：頻度３
０．６≦Ｒ＜０．８    ：頻度４
０．８≦Ｒ＜１．０    ：頻度５
【００７２】
例えば上述のような方法で決定された新たな頻度を用いて、状態遷移発生頻度解析部１０７は、遷移頻度データベースのデータを更新する（ステップＳ２１１）。
【００７３】
以上説明したような方法を用いることで、状態遷移発生頻度解析部１０７は、遷移頻度データベースの内容を更新することができる。このような更新処理を行うことで、情報処理装置１０は、ユーザの嗜好を反映したキャッシュコントロールを行なうことが可能となる。
【００７４】
＜ハードウェア構成について＞
次に、図１１を参照しながら、本発明の各実施形態に係る情報処理装置１０のハードウェア構成について、詳細に説明する。図１１は、本発明の各実施形態に係る情報処理装置１０のハードウェア構成を説明するためのブロック図である。
【００７５】
情報処理装置１０は、主に、ＣＰＵ９０１と、ＲＯＭ９０３と、ＲＡＭ９０５と、を備える。また、情報処理装置１０は、更に、ホストバス９０７と、ブリッジ９０９と、外部バス９１１と、インターフェース９１３と、入力装置９１５と、出力装置９１７と、ストレージ装置９１９と、ドライブ９２１と、接続ポート９２３と、通信装置９２５とを備える。
【００７６】
ＣＰＵ９０１は、演算処理装置および制御装置として機能し、ＲＯＭ９０３、ＲＡＭ９０５、ストレージ装置９１９、またはリムーバブル記録媒体９２７に記録された各種プログラムに従って、情報処理装置１０内の動作全般またはその一部を制御する。ＲＯＭ９０３は、ＣＰＵ９０１が使用するプログラムや演算パラメータ等を記憶する。ＲＡＭ９０５は、ＣＰＵ９０１の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一次記憶する。これらはＣＰＵバス等の内部バスにより構成されるホストバス９０７により相互に接続されている。
【００７７】
ホストバス９０７は、ブリッジ９０９を介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅ）バスなどの外部バス９１１に接続されている。
【００７８】
入力装置９１５は、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチおよびレバーなどユーザが操作する操作手段である。また、入力装置９１５は、例えば、赤外線やその他の電波を利用したリモートコントロール手段（いわゆる、リモコン）であってもよいし、情報処理装置１０の操作に対応した携帯電話やＰＤＡ等の外部接続機器９２９であってもよい。さらに、入力装置９１５は、例えば、上記の操作手段を用いてユーザにより入力された情報に基づいて入力信号を生成し、ＣＰＵ９０１に出力する入力制御回路などから構成されている。情報処理装置１０のユーザは、この入力装置９１５を操作することにより、情報処理装置１０に対して各種のデータを入力したり処理動作を指示したりすることができる。
【００７９】
出力装置９１７は、取得した情報をユーザに対して視覚的または聴覚的に通知することが可能な装置で構成される。このような装置として、ＣＲＴディスプレイ装置、液晶ディスプレイ装置、プラズマディスプレイ装置、ＥＬディスプレイ装置およびランプなどの表示装置や、スピーカおよびヘッドホンなどの音声出力装置や、プリンタ装置、携帯電話、ファクシミリなどがある。出力装置９１７は、例えば、情報処理装置１０が行った各種処理により得られた結果を出力する。具体的には、表示装置は、情報処理装置１０が行った各種処理により得られた結果を、テキストまたはイメージで表示する。他方、音声出力装置は、再生された音声データや音響データ等からなるオーディオ信号をアナログ信号に変換して出力する。
【００８０】
ストレージ装置９１９は、情報処理装置１０の記憶部の一例として構成されたデータ格納用の装置である。ストレージ装置９１９は、例えば、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等の磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス、または光磁気記憶デバイス等により構成される。このストレージ装置９１９は、ＣＰＵ９０１が実行するプログラムや各種データ、および外部から取得した各種のデータなどを格納する。
【００８１】
ドライブ９２１は、記録媒体用リーダライタであり、情報処理装置１０に内蔵、あるいは外付けされる。ドライブ９２１は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記録媒体９２７に記録されている情報を読み出して、ＲＡＭ９０５に出力する。また、ドライブ９２１は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記録媒体９２７に記録を書き込むことも可能である。リムーバブル記録媒体９２７は、例えば、ＤＶＤメディア、ＨＤ−ＤＶＤメディア、Ｂｌｕ−ｒａｙメディア等である。また、リムーバブル記録媒体９２７は、コンパクトフラッシュ（登録商標）（ＣｏｍｐａｃｔＦｌａｓｈ：ＣＦ）、メモリースティック、または、ＳＤメモリカード（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ  ｍｅｍｏｒｙ  ｃａｒｄ）等であってもよい。また、リムーバブル記録媒体９２７は、例えば、非接触型ＩＣチップを搭載したＩＣカード（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ  ｃａｒｄ）または電子機器等であってもよい。
【００８２】
接続ポート９２３は、機器を情報処理装置１０に直接接続するためのポートである。接続ポート９２３の一例として、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）ポート、ｉ．Ｌｉｎｋ等のＩＥＥＥ１３９４ポート、ＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）ポート等がある。接続ポート９２３の別の例として、ＲＳ−２３２Ｃポート、光オーディオ端子、ＨＤＭＩ（Ｈｉｇｈ−Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ）ポート等がある。この接続ポート９２３に外部接続機器９２９を接続することで、情報処理装置１０は、外部接続機器９２９から直接各種のデータを取得したり、外部接続機器９２９に各種のデータを提供したりする。
【００８３】
通信装置９２５は、例えば、通信網９３１に接続するための通信デバイス等で構成された通信インターフェースである。通信装置９２５は、例えば、有線または無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、Ｂｌｕｅｔｏｏｔｈ、またはＷＵＳＢ（Ｗｉｒｅｌｅｓｓ  ＵＳＢ）用の通信カード等である。また、通信装置９２５は、光通信用のルータ、ＡＤＳＬ（Ａｓｙｍｍｅｔｒｉｃ  Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅ）用のルータ、または、各種通信用のモデム等であってもよい。この通信装置９２５は、例えば、インターネットや他の通信機器との間で、例えばＴＣＰ／ＩＰ等の所定のプロトコルに則して信号等を送受信することができる。また、通信装置９２５に接続される通信網９３１は、有線または無線によって接続されたネットワーク等により構成され、例えば、インターネット、家庭内ＬＡＮ、赤外線通信、ラジオ波通信または衛星通信等であってもよい。
【００８４】
以上、本発明の各実施形態に係る情報処理装置１０の機能を実現可能なハードウェア構成の一例を示した。上記の各構成要素は、汎用的な部材を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。従って、本実施形態を実施する時々の技術レベルに応じて、適宜、利用するハードウェア構成を変更することが可能である。
【００８５】
＜まとめ＞
以上説明したように、本発明の実施形態に係る情報処理装置および情報処理方法では、表示画面に表示される表示内容の変化に着目し、状態遷移の発生頻度に関する情報が記載されている遷移頻度データベースを利用して、今後発生しうる状態遷移を予測する。本発明の実施形態に係る情報処理装置および情報処理方法では、予測結果の状態遷移に必要なリソースを先読みするというキャッシュ制御を行なうことにより、状態遷移時の負荷軽減と状態遷移の高速化、および、キャッシュメモリの最適化を図ることが可能となる。
【００８６】
また、情報処理装置は、遷移頻度データベースを外部に設けられたデータベース提供サーバに伝送することが可能である。データベース提供サーバでは、各情報処理装置から提供された遷移頻度データベースを管理し、要請のあった情報処理装置に対して、管理している遷移頻度データベースを提供する。これにより、提供を受けた情報処理装置では、使用頻度の低かった機能に対してもキャッシュ制御のチューニングを実現することができる。
【００８７】
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【００８８】
例えば、上記実施形態では、画面遷移を伴う状態遷移を例にとって説明を行なったが、本発明はかかる例に限定されない。例えば、メッセージ通信など、画面遷移を伴わない状態遷移に対しても本発明を適用することが可能である。
【００８９】
また、上記実施形態では、１ステップ先の状態遷移を取り上げて説明を行なったが、状態遷移の先読みステップは１ステップに限定されるわけではなく、２ステップ先、３ステップ先など、任意のステップ数で実行することが可能である。
【符号の説明】
【００９０】
１０    情報処理装置
１０１    入力部
１０３    状態遷移制御部
１０５    キャッシュ制御部
１０７    状態遷移発生頻度解析部
１０９    アプリケーション実行部
１１１    表示制御部
１１３    通信制御部
１１５    記憶部
１５１    表示画面
１５３    位置選択オブジェクト
１５５，１５７    処理選択ウィンドウ
【図１】
2010165249.tif 000003
【図２】
2010165249.tif 000004
【図３】
2010165249.tif 000005
【図４】
2010165249.tif 000006
【図５】
2010165249.tif 000007
【図６】
2010165249.tif 000008
【図７】
2010165249.tif 000009
【図８】
2010165249.tif 000010
【図９】
2010165249.tif 000011
【図１０】
2010165249.tif 000012
【図１１】
2010165249.tif 000013