本発明は、画面遷移制御装置および画面遷移制御方法に関し、より特定的には、外部からの要求に応じて画面の表示を切り替える画面遷移制御装置および画面遷移制御方法に関する。
従来から画面遷移制御装置として、特許文献1に記載されているように、画面の履歴をツリー構造で管理し、履歴に記録された画面に戻る(再表示する)場合には、表示中の画面と戻り先の画面とに挟まれた画面に関する記録を履歴から削除する装置が知られている。
図15は、表示装置に表示される画面が遷移する様子を示す図である。図15では、画面は画面P、画面Q、画面R、画面Pの順に遷移する。最初の画面Pと最後の画面Pとは同じ画面である。画面Rが表示された状態で画面Pに戻る操作が行われた場合には、表示される画面は画面Rから画面Pに変わる。
図16は、図15に示す画面の遷移に対応して、履歴が変化する様子を示す図である。図16において、太線の長方形は、ある画面が現在表示装置に表示されていることを表し、細線の長方形は、ある画面が過去に表示装置に表示されたことを表す。図15に示すように画面が画面P、画面Q、画面Rの順に変化すると、図16に示すように、画面Pに関する記録、画面Qに関する記録、および、画面Rに関する記録が順に履歴に追加される。その後、表示される画面が画面Rから画面Pに戻ると、画面Qおよび画面Rに関する記録は、履歴から削除される。また、従来の画面遷移制御装置は、不要と判断した画面については、その画面に関する記録を履歴から削除するとともに、その画面の表示データを破棄する。これにより、履歴および表示データを記憶するためのメモリ量を削減する。
特開2002−108932号公報
しかしながら、従来の画面遷移制御装置では、ある画面に関する記録を履歴から削除する処理と、その画面の表示データを破棄する処理とは、ある事象(例えば、画面の表示の切り替え)を契機として同じときに行われる。このため、履歴に記録されている画面の表示データは破棄されることがない。一方、携帯電話や携帯情報端末などは、装置全体のメモリ容量が少ないために、表示データを記憶するために利用できるメモリに制限が設けられている。したがって、携帯電話や情報端末などのようにメモリ容量が少ない装置では、履歴に記録できる画面の数は、結局のところ、表示データを記憶できる画面の数に等しくなり、極めて少なくなってしまう。
また、近年、携帯電話や携帯情報端末についても、インターネットを通じて画面をダウンロードし、背景画面などを入れ替えることが可能になった。また、国際化に対応すべく、携帯電話や携帯情報端末などのシステムの言語設定をリアルタイムに変更する必要が生じてきた。
しかしながら、従来の画面遷移制御装置では、背景画面の入れ替えや言語設定の変更に応じて、画面の表示データがメモリから破棄された場合には、履歴上のこの画面に関する記録も破棄されていた。
それ故に、本発明は、履歴に記録できる画面の数が表示データによって制限されることがなく、また、表示データが破棄された場合にも履歴を保ち、より速い画面遷移を可能にする画面遷移制御装置および画面遷移制御方法を提供することを目的とする。
本発明の第1の局面は、外部からの要求に応じて、外部に設けられた表示装置に表示される画面を切り替える画面遷移制御装置であって、複数の画面分の表示データを記憶する表示データ記憶部と、これまでに表示された画面に関する情報を履歴情報として記憶する履歴情報記憶部と、表示データ記憶部に記憶された表示データの中から選択した1以上の画面の表示データを表示装置に出力すると共に、履歴情報を管理する画面遷移制御部とを備え、履歴情報は、過去に表示されたが、現在は表示データ記憶部に表示データが記憶されていない画面に関する情報を含む。
この場合、履歴情報は、これまでに表示された画面について、当該画面の表示データが現在表示データ記憶部に記憶されているか否かを示す第1の情報、および、当該画面が現在表示装置に表示されているか否かを示す第2の情報を含むことが好ましい。
また、画面遷移制御部は、画面遷移の際に、遷移先の画面の表示データを書き込むためのデータ領域が表示データ記憶部にない場合には、表示データ記憶部から1つの画面の表示データを破棄することが好ましい。
また、画面遷移制御部は、過去に表示されたことが履歴情報に記憶されている画面の表示データを破棄したときには、履歴情報から当該画面に関する情報を削除することなく、当該画面に関する情報に含まれる第1の情報を更新することが好ましい。
また、画面遷移制御装置は、最新の画面から数えて所定数番目に表示された画面よりも後に表示されたことが履歴情報に記憶されており、かつ、表示データが表示データ記憶部に記憶されていない画面がある場合に、当該画面の表示データを表示データ記憶部に書き込む画面生成状態管理部をさらに備えていてもよい。
また、画面遷移制御装置は、最新の画面から数えて所定数番目に表示された画面よりも前に表示されたことが履歴情報に記憶されており、かつ、表示データが表示データ記憶部に記憶されている画面がある場合に、当該画面の表示データを表示データ記憶部から破棄する画面生成状態管理部をさらに備えていてもよい。
また、画面遷移制御装置は、第1の情報あるいは第2の情報と、これまでに表示された画面の状態とが一致していない場合に、当該第1の情報あるいは当該第2の情報を当該画面の状態に一致させる画面状態監視部をさらに備えていてもよい。
また、画面遷移制御部は、外部から画面の入れ替えが要求された場合に、履歴情報を保持したまま、表示データ記憶部に記憶された表示データを更新することが好ましい。
本発明の第2の局面は、外部からの要求に応じて、外部に設けられた表示装置に表示される画面を切り替える画面遷移制御方法であって、複数の画面分の表示データを記憶する表示データ記憶ステップと、これまでに表示された画面に関する情報を履歴情報として記憶する履歴情報記憶ステップと、表示データ記憶ステップにおいて記憶された表示データの中から選択した1以上の画面の表示データを表示装置に出力すると共に、履歴情報を管理する画面遷移制御ステップとを備え、履歴情報は、過去に表示されたが、現在は表示データが記憶されていない画面に関する情報を含む。
本発明の第3の局面は、本発明の第2の局面である画面遷移制御方法を、コンピュータで実行するためのプログラムである。
本発明の第4の局面は、本発明の第2の局面である画面遷移制御方法を、コンピュータで実行するためのプログラムを記録した記録媒体である。
図1は、本発明の第1の実施形態に係る画面遷移制御装置を示すブロック図である。
図2は、本発明の第1〜3の実施形態に係る画面遷移制御装置に含まれる履歴情報記憶部に記憶される画面状態を示す図である。
図3は、本発明の第1〜3の実施形態に係る画面遷移制御装置に含まれる履歴情報記憶部に記憶される画面履歴情報の一例を示す図である。
図4は、本発明の第1の実施形態に係る画面遷移制御装置に含まれる画面遷移制御部が行う画面遷移処理の手順を示すフローチャートである。
図5は、本発明の第1の実施形態に係る画面遷移制御装置に含まれる画面遷移制御部が行う画面遷移処理の手順を示すフローチャートである。
図6は、本発明の第1の実施形態に係る画面遷移制御装置に含まれる画面遷移制御部が行う空き領域確保処理の手順を示すフローチャートである。
図7は、本発明の第1の実施形態に係る画面遷移制御装置に含まれる画面遷移制御部が行う表示データ破棄処理の手順を示すフローチャートである。
図8は、本発明の第1の実施形態に係る画面遷移制御装置に含まれる画面遷移制御部が行う画面遷移処理の例を示す図である。
図9は、本発明の第1の実施形態に係る画面遷移制御装置に含まれる画面遷移制御部が行う画面遷移処理の例を示す図である。
図10は、本発明の第2の実施形態に係る画面遷移制御装置を示すブロック図である。
図11は、本発明の第2の実施形態に係る画面遷移制御装置に含まれる画面生成状態管理部が行う画面生成状態管理処理の手順を示すフローチャートである。
図12は、本発明の第2の実施形態に係る画面遷移制御装置に含まれる画面生成状態管理部が行う画面生成状態管理処理の例を示す図である。
図13は、本発明の第3の実施形態に係る画面遷移制御装置に含まれる画面遷移制御部が行う画面入れ替え処理の手順を示すフローチャートである。
図14は、本発明の第3の実施形態に係る画面遷移制御装置に含まれる画面遷移制御部が行う画面入れ替え処理の例を示す図である。
図15は、従来の画面遷移制御装置における画面遷移を示す図である。
図16は、図15に示される画面遷移に対応した画面の履歴の変化を示す図である。
符号の説明
101、1001 アプリケーション
102、1002 画面遷移制御装置
103、1003 画面遷移制御部
104、1004 履歴情報記憶部
105、1005 表示データ記憶部
106、1006 表示装置
1007 画面生成状態管理部
1008 画面状態監視部
以下、本発明の実施形態について、図面を参照しながら説明する。図1は、本発明の第1の実施形態に係る画面遷移制御装置の構成を示すブロック図である。本実施形態に係る画面遷移制御装置102は、画面遷移制御部103、履歴情報記憶部104および表示データ記憶部105を備える。
履歴情報記憶部104は、現在表示されている画面および過去に表示された画面の履歴情報(以下、“画面履歴情報”と称す)を記憶する。表示データ記憶部105は、現在表示されている画面および過去に表示された画面の表示データ(ビットマップデータ)を記憶する。
画面遷移制御部103は、アプリケーション101からの画面遷移の要求に従い、表示データ記憶部105から表示データを読み出し、読み出した表示データを表示装置106に出力する。この際、要求された画面の表示データが表示データ記憶部105に存在しない場合には、画面遷移制御部103は、要求された画面の表示データを表示データ記憶部105に書き込み、書き込んだ表示データを表示装置106に出力する。表示装置106は、表示データに基づいて画面を表示する。
次に、履歴情報記憶部104に記憶される画面履歴情報について詳細に説明する。画面履歴情報は、1以上の“画面状態情報”から構成される。画面状態情報は、1つの画面についての情報であり、画面を識別するための“画面識別子”と、その画面の状態を示す“画面状態”とを含む。
画面状態は、図2に示す3種類の状態のいずれかである。以下、表示データが表示データ記憶部105に存在し、かつ、画面が表示されている状態を“表示状態”という、また、表示データが表示データ記憶部105に存在するが、画面が表示されていない状態を“非表示状態”という、さらに、表示データが表示データ記憶部105に存在しない状態を“破棄状態”という。
図3は、画面履歴情報の一例を示す図である。図3に示す画面履歴情報は、5つの画面状態情報から構成されている。これらの画面状態情報は、5つの画面識別子と画面状態とを含む。例えば、画面識別子がAである画面(以下、画面Aと称す。他の画面についても同様)の画面状態は破棄状態であり、画面B、画面Cおよび画面Dの画面状態は非表示状態であり、画面Eの画面状態は表示状態である。
図1の履歴情報記憶部104に、図3に示した画面履歴情報の例を模式的に示す。履歴情報記憶部104内の正方形は、それぞれ、1つの画面の画面状態情報を示す。最も左の正方形は、画面履歴情報において最も古い画面(最も前に表示された画面)の画面状態情報を示す。また、最も右の正方形は、画面履歴情報において最新の画面(最も後に表示された画面)の画面状態情報を示す。また、正方形内のアルファベットA〜Eは、画面識別子を示す。
太線で描かれた正方形は、画面状態が表示状態であることを示す。また、細線で描かれた正方形は、画面状態が非表示状態であることを示す。さらに、斜線が引かれた正方形は、画面状態が破棄状態であることを示す。図1には、画面Eの画面状態が表示状態、画面B、画面Cおよび画面Dの画面状態が非表示状態、画面Aの画面状態が破棄状態であることが示されている。
また、図1の表示データ記憶部105に、表示データの例を模式的に示す。表示データ記憶部105内の正方形は、それぞれ、1つの画面の表示データが記憶されるデータ領域を示す。正方形内の文字(DE等)は、それぞれ、下付きのアルファベットで識別される画面の表示データを示す。図1に示す例では、画面E、画面B、画面Cおよび画面Dの表示データが、表示データ記憶部105に記憶されている。
次に、画面遷移制御装置102において行われる処理について説明する。図4および図5は、アプリケーション101から画面遷移制御部103に画面遷移が要求された際に、画面遷移制御部103が行う処理(以下、“画面遷移処理”と称す)を示したフローチャートである。
アプリケーション101から画面遷移制御部103に画面遷移が要求されると、画面遷移制御部103は、まず、履歴情報記憶部104から画面履歴情報を読み出し、画面履歴情報に記憶されている最新の画面状態情報を取得する。次に、画面遷移制御部103は、この画面状態情報に含まれる画面識別子によって識別される画面を、遷移元の画面に設定する(ステップS401)。
次に、画面遷移制御部103は、アプリケーション101から要求された遷移先の画面の画面状態情報が、履歴情報記憶部104に記憶されているか否かを判定する(ステップS402)。
遷移先の画面の画面状態情報が履歴情報記憶部104に記憶されていない場合には(ステップS402のNo)、画面遷移制御部103は、遷移先の画面の表示データを表示データ記憶部105に書き込むために、“空き領域確保処理”(詳細は後述する)を実行する(ステップS403)。
空き領域確保処理によって表示データ記憶部105に空き領域が確保された後、画面遷移制御部103は、遷移先の画面の表示データを、表示データ記憶部105の空き領域に書き込む(ステップS404)。続いて、画面遷移制御部103は、表示データ記憶部105に記憶された遷移先の画面の表示データを表示装置106に出力する。表示装置106は、この表示データに基づいて画面を表示する(ステップS405)。
次に、画面遷移制御部103は、表示された画面の画面状態情報(すなわち、画面識別子および画面状態)を画面履歴情報に追加する(ステップS406)。遷移先の画面は表示されているので、その画面状態は表示状態である。続いて、画面遷移制御部103は、遷移元の画面の画面状態を非表示状態に変更し(ステップS407)、画面遷移処理を終了する。
アプリケーション101から要求された遷移先の画面の画面状態情報が、履歴情報記憶部104に記憶されている場合には(ステップS402のYes)、画面遷移制御部103は、遷移先の画面の画面状態が表示状態であるか否かを判定する(図5のステップS501)。
遷移先の画面の画面状態が表示状態である場合には(ステップS501のYes)、画面遷移制御部103は、表示データ破棄処理(詳細は後述する)を実行する。画面状態が表示状態でない場合には(ステップS501のNo)、画面遷移制御部103は、遷移先の画面の画面状態が非表示状態であるか否かを判定する(ステップS502)。
遷移先の画面の画面状態が非表示状態である場合には(ステップS502のYes)、画面遷移制御部103は、表示データ記憶部105に記憶された遷移先の画面の表示データを表示装置106に出力する。表示装置106は、この表示データに基づいて画面を表示する(ステップS504)。
遷移先の画面の画面状態が非表示状態でない場合には(ステップS502のNo)、遷移先の画面状態は破棄状態である。したがって、画面遷移制御部103は、遷移先の画面の表示データを表示データ記憶部105に書き込むために、空き領域確保処理を実行する(ステップS403)。
空き領域確保処理によって表示データ記憶部105に空き領域が確保された後、画面遷移制御部103は、遷移先の画面の表示データを、表示データ記憶部105の空き領域に書き込む(ステップS503)。続いて、画面遷移制御部103は、表示データ記憶部105に記憶された遷移先の画面の表示データを表示装置106に出力する。表示装置106は、この表示データに基づいて画面を表示する(ステップS504)。
遷移先の画面が表示装置106に表示された後、画面遷移制御部103は、遷移先の画面の画面状態を表示状態に変更する(ステップS505)。次に、画面遷移制御部103は、表示データ破棄処理を実行し、遷移元の画面および遷移元の画面から遷移先の画面の間にある画面の表示データを破棄する(ステップS506)。最後に、画面遷移制御部103は、遷移元の画面から遷移先の画面のうち、画面状態が破棄状態である画面の画面状態情報を、履歴情報記憶部104から削除し(ステップS507)、画面遷移処理を終了する。
次に、空き領域確保処理について、図を参照しながら説明する。図6は、空き領域確保処理のフローチャートである。
空き領域確保処理では、画面遷移制御部103は、まず、表示データ記憶部105に空き領域が存在するか否かを判定する(ステップS601)。空き領域が存在する場合には(ステップS601のYes)、画面遷移制御部103は、空き領域確保処理を終了する。空き領域が存在しない場合には(ステップS601のNo)、画面遷移制御部103は、ある画面の表示データを表示データ記憶部105から破棄する(ステップS602)。次に、画面遷移制御部103は、破棄された表示データに対応する画面の画面状態を破棄状態に変更し(ステップS603)、空き領域確保処理を終了する。
次に、表示データ破棄処理について、図を参照しながら説明する。図7は、表示データ破棄処理のフローチャートである。
表示データ破棄処理では、画面遷移制御部103は、まず、遷移元の画面を表示データ破棄処理を行う対象に設定する(ステップS701)。次に、画面遷移制御部103は、処理の対象の画面状態が破棄状態である否かを判定する(ステップS702)。画面状態が破棄状態である場合には(ステップS702のYes)、画面遷移制御部103は、画面履歴情報において1つ古い画面を処理の対象に設定する(ステップS708)。
処理の対象の画面状態が破棄状態でない場合には(ステップS702のNo)、画面遷移制御部103は、画面状態が非表示状態であるか否かを判定する(ステップS703)。画面状態が非表示状態である場合には(ステップS703のYes)、画面遷移制御部103は、この画面に対応する表示データを、表示データ記憶部105から破棄する(ステップS706)。
処理の対象の画面状態が非表示状態でない場合には(ステップS703のNo)、画面状態は表示状態である。そこで、画面遷移制御部103は、画面を非表示にし(ステップS704)、さらに、画面状態を非表示状態に変更する(ステップS705)。続いて、画面遷移制御部103は、この画面に対応する表示データを、表示データ記憶部105から破棄する(ステップS706)。
処理の対象の表示データを表示データ記憶部105から破棄した後、画面遷移制御部103は、画面状態を破棄状態に変更する(ステップS707)。さらに、画面遷移制御部103は、画面履歴情報において1つ古い画面を処理の対象に設定する(ステップS708)。
その後、画面遷移制御部103は、この画面が遷移先の画面であるか否かを判定する(ステップS709)。処理の対象の画面が遷移先の画面である場合には(ステップS709のYes)、画面遷移制御部103は、表示データ破棄処理を終了し、画面遷移処理に戻る。処理の対象の画面が遷移先の画面でない場合には(ステップS709のNo)、画面遷移制御部103は、この画面について、ステップS702〜ステップS708の処理を行う。
以下、画面遷移処理の具体例を説明する。図8および図9は、画面が遷移するときに、表示データ記憶部105および履歴情報記憶部104の内容が変化する様子を示す図である。
図8は、履歴情報記憶部104に画面状態情報が存在しない画面への画面遷移を示した図である。図8には、例として、画面Cから画面Dへの画面遷移、および、画面Dから画面Eへの画面遷移を示す。
図8に示す状態1では、表示画面には画面Cが表示されている。また、表示データ記憶部105には、画面Aの表示データDA、画面Bの表示データDB、および、画面Cの表示データDCが記憶されている。さらに、履歴情報記憶部104には、画面A〜画面Cの画面状態情報が記憶されている。画面Cの画面状態は表示状態であり、画面Aおよび画面Bの画面状態は非表示状態である。
まず、画面Cから画面Dへの画面遷移において、画面遷移制御部103が行う処理について説明する。
アプリケーション101から画面Dへの画面遷移が要求されると、まず、画面遷移制御部103は、画面の遷移元を画面Cに設定する(図4のステップS401)。次に、画面遷移制御部103は、遷移先の画面である画面Dの画面状態情報が、履歴情報記憶部104に存在しないと判定する(ステップS402のNo)。
表示データ記憶部105には空き領域があるので(図6のステップS601のYes)、画面遷移制御部103は、画面Dの表示データDDを空き領域に書き込む(ステップS404)。このとき表示画面には、画面Cが表示されている(図8の状態2参照)。
続いて、画面遷移制御部103は、画面Dの表示データDDを表示装置106に出力する。表示装置106は、この表示データに基づいて画面Dを表示する(ステップS405)。次に、画面遷移制御部103は、画面Dの画面状態情報を画面履歴情報に追加する(ステップS406)。最後に、画面遷移制御部103は、画面Dの画面状態を表示状態とし、画面Cの画面状態を非表示状態に変更する(ステップS407)(図8の状態3参照)。
次に、表示データ記憶部105に空き領域が無い場合の例として、画面Dから画面Eへの画面遷移を説明する。
まず、画面遷移制御部103は、画面の遷移元を画面Dに設定する(ステップS401)。次に、画面遷移制御部103は、遷移先の画面である画面Eの画面状態情報が、履歴情報記憶部104に存在しないと判定する(ステップS402のNo)。さらに、画面遷移制御部103は、空き領域確保処理において、表示データ記憶部105に空き領域が存在しないと判定する(ステップS601のNo)。したがって、画面遷移制御部103は、画面Eの表示データDEを書き込むための空き領域を、表示データ記憶部105に確保する。
この例では、画面遷移制御部103は、画面Aの表示データを破棄するとする。空き領域確保処理において画面遷移制御部103は、画面Aの表示データを破棄し(ステップS602)、さらに、画面Aの画面状態を破棄状態に変更する(ステップS603)。続いて、画面遷移制御部103は、画面Eの表示データDEを空き領域(画面Aの表示データDAがあった領域)に書き込む(ステップS404)。なお、このとき表示画面には、画面Dが表示されている(図8の状態4参照)。
続いて、画面遷移制御部103は、画面Eの表示データDEを表示装置106に出力する。表示装置106は、この表示データに基づいて、画面Eを表示画面に表示する(ステップS405)。次に、画面遷移制御部103は、画面Eの画面状態情報を画面履歴情報に追加する(ステップS406)。最後に、画面遷移制御部103は、画面Eの画面状態を表示状態とし、画面Dの画面状態を非表示状態に変更する(ステップS407)(図8の状態5参照)。
次に、図9を参照しながら、履歴情報記憶部104に画面状態情報が存在する画面へ遷移する場合の一例として、画面Eから画面Aへの画面遷移を説明する。
図9に示す状態1では、表示画面に画面Eが表示されている。また、表示データ記憶部105には、画面Bの表示データDB、画面Cの表示データDC、画面Dの表示データDD、および、画面Eの表示データDEが記憶されている。さらに、履歴情報記憶部104には、画面A〜画面Eの画面状態情報が記憶されている。画面Aの画面状態は破棄状態であり、画面B、画面Cおよび画面Dの画面状態は非表示状態であり、画面Eの画面状態は表示状態である。
アプリケーション101から画面Aへの画面遷移が要求されると、画面遷移制御部103は、まず、画面の遷移元を画面Eに設定する(ステップS401)。次に、画面遷移制御部103は、遷移先の画面である画面Aの画面状態情報が、履歴情報記憶部104に存在すると判定する(ステップS402のYes)。
次に、画面遷移制御部103は、遷移先の画面である画面Aの画面状態情報が、破棄状態であると判定する(図5のステップS502のNo)。さらに、画面遷移制御部103は、空き領域確保処理において、表示データ記憶部105に空き領域が存在しないと判定する(ステップS601のNo)。したがって、画面遷移制御部103は、画面Aの表示データDAを書き込むための空き領域を、表示データ記憶部105に確保する。
この例では、画面遷移制御部103は、画面Bの表示データを破棄するとする。空き領域確保処理において画面遷移制御部103は、画面Bの表示データを破棄し(ステップS602)、さらに、画面Bの画面情報を破棄状態に変更する(ステップS603)。続いて、画面遷移制御部103は、画面Aの表示データDAを空き領域(画面Bの表示データDBがあった領域)に書き込む(ステップS503)。なお、このとき表示画面には、画面Eが表示されている(図9の状態2参照)。
次に、画面遷移制御部103は、画面Aの表示データDAを表示装置106に出力する。表示装置106は、この表示データに基づいて、画面Aを表示画面に表示する(ステップS504)。さらに、画面遷移制御部103は、画面Aの画面状態を表示状態に変更する(ステップS505)(図9の状態3参照)。
次に、画面遷移制御部103は、表示データ破棄処理を実行する(ステップS506)。表示データ破棄処理では、画面遷移制御部103は、まず、遷移元の画面である画面Eを処理の対象に設定する(図7のステップS701)。
画面遷移制御部103は、画面Eの画面状態を表示状態と判定する(ステップS703のNo)。したがって、画面遷移制御部103は、画面Eを非表示にし(ステップS704)、さらに、画面Eの画面状態を非表示状態に変更する(ステップS705)。続いて、画面遷移制御部103は、画面Eの表示データDEを破棄し(ステップS706)、さらに、画面Eの画面状態を破棄状態に変更する(ステップS707)(図9の状態4参照)。
次に、画面遷移制御部103は、画面Dを処理の対象に設定する(ステップS708)。画面Dは遷移先の画面ではないので(ステップS709のNo)、画面遷移制御部103は、画面DについてステップS702〜ステップS707の処理を行う。画面Dの画面状態は非表示状態であるので(ステップS703のYes)、画面遷移制御部103は、画面Dの表示データDDを破棄し(ステップS706)、さらに、画面Dの画面状態を破棄状態に変更する(ステップS707)(図9の状態5参照)。
次に、画面遷移制御部103は、画面Cを処理の対象に設定する(ステップS709)。画面Cは遷移先の画面ではないので(ステップS709のNo)、画面遷移制御部103は、画面CについてステップS702〜ステップS707の処理を行う。画面Cの画面状態は非表示状態であるので、画面Dに対する処理と同様の処理が画面Cについて行われる(図9の状態6参照)。
次に、画面遷移制御部103は、画面Bを処理の対象に設定する(ステップS708)。画面Bは遷移先の画面ではないので(ステップS709のNo)、画面遷移制御部103は、画面BについてステップS702〜ステップS707の処理を行う。画面Bの画面状態は破棄状態であるので(ステップS702のYes)、表示データの破棄は行われない(図9の状態7参照)。
次に、画面遷移制御部103は、画面Aを処理の対象に設定する(ステップS708)。画面Aは遷移先の画面であるので(ステップS709のYes)、画面遷移制御部103は、表示データ破棄処理を終了する。
最後に、画面遷移制御部103は、画面B〜画面Eの画面状態情報を削除し(ステップS507)、画面遷移処理を終了する(図9の状態8参照)。
以上のように、本実施形態に係る画面遷移制御装置によれば、表示データがメモリ容量の都合上破棄された場合においても、表示データが破棄された画面の画面状態を破棄状態として履歴情報記憶部に記憶することにより、画面の履歴を保持することができる。これにより、メモリ容量が少ない携帯電話や携帯情報端末においても、従来よりも多くの画面を履歴に記録することができ、その結果、画面遷移の高速化を図ることができる。
なお、本実施形態に係る画面遷移制御装置では、画面状態として表示状態、非表示状態および破棄状態の3つの状態があるとしたが、画面状態は、この3つに限定されない。その他の画面状態としては、例えば、画面に何の処理も行われていない状態を示す初期状態、ユーザの操作対象である状態を示すアクティブ状態やユーザの操作対象でない状態を示すインアクティブ状態などを追加してもよい。
また、本実施形態に係る画面遷移制御装置では、図2に示したように、“表示データの有無”と“画面の表示/非表示”との組み合わせを1つの画面状態としたが、“表示データの有無”および“画面の表示/非表示”を、それぞれ、画面状態としてもよい。
また、本実施形態に係る画面遷移制御装置は、全ての画面について、画面を表示する処理、非表示にする処理、および、破棄する処理を行うこととしたが、全ての画面に対してこれら3つの処理を行う必要はない。一部の画面のみに対してこれらの処理を行い、他の画面についてはこれらの処理は行わない、という設定が可能なように本実施形態に係る画面遷移制御装置を構成してもよい。
また、画面の遷移は、通常のアプリケーションにおいて、異なる処理を行う画面への切り替えに限定されない。ブラウザやデータベース検索システムの処理結果を履歴として保持する場合に、この履歴に対応する画面を1つの画面とみなし、本実施形態に係る画面遷移制御装置を使用することも可能である。
図10は、本発明の第2の実施形態に係る画面遷移制御装置の構成を示すブロック図である。本実施形態に係る画面遷移制御装置1002は、画面遷移制御部1003、履歴情報記憶部1004、表示データ記憶部1005、画面生成状態管理部1007および画面状態監視部1008を備える。
画面遷移制御部1003は、第1の実施形態において説明した機能に加え、さらに、画面遷移処理が終了した際に、画面生成状態管理部1007に画面が遷移したことを通知する機能を有する。
画面生成状態管理部1007は、画面遷移制御部1003から画面が遷移したことが通知された際に、履歴情報記憶部1004に記憶されている画面履歴情報を参照し、画面履歴情報に含まれる画面状態情報を管理する。
具体的には、画面生成状態管理部1007は、履歴情報記憶部1004から画面履歴情報を読み出し、画面履歴情報に記憶されている最新の画面状態情報から所定数番目まで(以下、N番目とする)の画面状態情報を取得する。次に、画面生成状態管理部1007は、これらの画面状態情報に含まれる画面識別子によって識別される画面のうち、画面状態が破棄状態であるものについては、その画面の表示データを表示データ記憶部1005に書き込み、画面状態を破棄状態から非表示状態に変更する。また、画面生成状態管理部1007は、N+1番目の画面状態情報から最も古い画面状態情報のうち、画面状態が表示状態あるいは非表示状態である画面については、その表示データを破棄し、画面状態を破棄状態にする(以下、これらの処理を“画面生成状態管理処理”と称す)。これにより、直ちに遷移する可能性の高い画面の表示データが表示データ記憶部1005に用意されることから、これらの画面への画面遷移の高速化を図ることができる。
画面状態監視部1008は、履歴情報記憶部1004に記憶されている各画面の画面状態情報を監視する。具体的には、画面状態監視部1008は、各画面の画面状態情報から画面状態を取得し、各画面の現在の状態と比較する。画面状態と画面の現在の状態とが異なる場合には、画面状態監視部1008は、画面の現在の状態と一致するように画面状態を変更する。画面状態監視部1008による各画面の状態を確認する処理は、一定時間ごとに定期的に行われても良く、また、画面の状態に変化があった際に、画面から画面状態監視部1008に変化があったことを通知することにより行われても良く、あるいは、画面表示機能を提供するウィンドウシステムなどのモジュールから画面の状態の通知することにより行われても良い。これにより、各画面の状態と履歴情報記憶部1004に記憶されている画面状態との不一致を防ぐことができることから、例えば、表示デバイスの切り替え等のように、アプリケーションからの画面遷移の要求以外によって画面の状態が変更された場合や、画面遷移制御装置が管理しない別画面の影響によって画面の状態が変更された場合などにおいて生じる不具合を解消することができる。
次に、画面遷移制御装置1002で行われる処理について説明する。画面遷移制御部1003が行う画面遷移処理については、第1の実施形態において説明したので、ここでは省略する。画面遷移制御部1003は、画面遷移処理が終了すると、画面生成状態管理部1007に対して、画面が遷移したことを通知する。画面生成状態管理部1007は、この通知を受け取ると画面生成状態管理処理を開始する。以下、図を参照しながら、画面生成状態管理処理について説明する。
図11は、画面生成状態管理処理を示すフローチャートである。画面遷移制御部1003から画面が遷移したことが通知されると、画面生成状態管理部1007は、まず、履歴情報記憶部1004から画面履歴情報を読み出し、画面履歴情報に記憶されている画面状態情報のうち最も古い画面状態情報を取得する。次に、画面生成状態管理部1007は、この画面状態情報に含まれる画面識別子によって識別される画面を、画面生成状態管理処理を行う対象に設定する(ステップS1101)。
次に、画面生成状態管理部1007は、処理の対象の画面が最新の画面から数えてN番目の画面よりも古い画面(N番目の画面より前に表示された画面)か否かを判定する(ステップS1102)。ここで、“N”とは画面生成状態管理部1007が保持している値であり、最新の画面から何画面前の画面にまで戻る画面遷移が、頻繁に行われるかを示す値(整数)である。なお、この値は、システムの設計時に設定されてもよく、あるいは、ユーザの操作を観測することにより頻繁に戻る画面数をシステムに学習させることによって設定されてもよい。
処理の対象の画面が、最新の画面から数えてN番目の画面よりも古い画面である場合には(ステップS1102のYes)、画面生成状態管理部1007は、この画面の画面状態が破棄状態であるか否かを判定する(ステップS1103)。画面状態が破棄状態である場合には(ステップS1103のYes)、画面生成状態管理部1007は、この画面よりも新しい画面が存在するか否かを判定する(ステップS1109)。
画面状態が破棄状態でない場合には(ステップS1103のNo)、画面生成状態管理部1007は、処理の対象の画面の表示データを表示データ記憶部1005から破棄する(ステップS1104)。さらに、画面生成状態管理部1007は、画面状態を破棄状態に変更する(ステップS1105)。続いて、画面生成状態管理部1007は、この画面よりも新しい画面が存在するか否かを判定する(ステップS1109)。
処理の対象の画面が、N番目の画面よりも古い画面でない場合には(ステップS1102のNo)、画面生成状態管理部1007は、この画面の画面状態が破棄状態であるか否かを判定する(ステップS1106)。画面状態が破棄状態でない場合には(ステップS1106のNo)、画面生成状態管理部1007は、この画面よりも新しい画面が存在するか否かを判定する(ステップS1109)。
画面状態が破棄状態である場合には(ステップS1106のYes)、画面生成状態管理部1007は、処理の対象の画面の表示データを表示データ記憶部1005に書き込む(ステップS1107)。さらに、画面生成状態管理部1007は、画面状態を非表示状態に変更する(ステップS1108)。続いて、画面生成状態管理部1007は、この画面よりも新しい画面が存在するか否かを判定する(ステップS1109)。
画面生成状態管理処理を行った画面よりも新しい画面が存在する場合には(ステップS1109のYes)、画面生成状態管理部1007は、画面履歴情報において1つ新しい画面を処理の対象に設定する(ステップS1110)。画面生成状態管理部1007は、新たな処理の対象の画面について、ステップS1102〜ステップS1109の処理を行う。
画面生成状態管理処理を行った画面よりも新しい画面が存在しない場合には(ステップS1109のNo)、画面生成状態管理部1007は、画面生成状態管理処理を終了する。
以下、画面生成状態管理処理の具体例を説明する。図12は、画面生成状態管理処理の際に、表示データ記憶部1005および履歴情報記憶部1004の内容が変化する様子を示す図である。
今、画面遷移処理が終了し、表示装置1006に画面Eが表示され、表示データ記憶部1005には、画面Bの表示データDB、画面Dの表示データDD、および、画面Eの表示データDEが記憶されているとする。さらに、画面Aおよび画面Cの画面状態が破棄状態、画面Bおよび画面Dの画面状態が非表示状態、並びに、画面Eの画面状態が表示状態であるとする。この状態を図12の状態1に示す。また、画面生成状態管理部1007は、Nの値として“3”を保持しているとする。
画面遷移処理の終了が画面遷移制御部1003から通知されると、画面生成状態管理部1007は、まず、画面Aを画面生成状態管理処理を行うの対象に設定する(図11のステップS1101)。次に、画面生成状態管理部1007は、画面Aが画面Eから数えて3番目の画面よりも古い画面であると判定する(ステップS1102のYes)。さらに、画面生成状態管理部1007は、画面Aの画面情報が破棄状態であると判定する(ステップS1103のYes)(図12の状態2参照)。
続いて、画面生成状態管理部1007は、画面Aよりも新しい画面の画面状態情報が存在すると判定し(ステップS1109のYes)、画面Bを処理の対象に設定する(ステップS1110)。
画面生成状態管理部1007は、画面Bが画面Eから数えて3番目の画面よりも古い画面であると判定する(ステップS1102のYes)。次に、画面生成状態管理部1007は、画面Bの画面情報が破棄状態でないと判定する(ステップS1103のNo)。したがって、画面生成状態管理部1007は、画面Bの表示データを表示データ記憶部1005から破棄する(ステップS1104)。さらに、画面生成状態管理部1007は、画面Bの画面状態を破棄状態に変更する(ステップS1105)(図12の状態3参照)。
続いて、画面生成状態管理部1007は、画面Bよりも新しい画面の画面状態情報が存在すると判定し(ステップS1109のYes)、画面Cを処理の対象に設定する(ステップS1110)。
画面生成状態管理部1007は、画面Cが画面Eから数えて3番目の画面よりも古い画面でないと判定する(ステップS1102のNo)。さらに、画面生成状態管理部1007は、画面Bの画面情報が破棄状態であると判定する(ステップS1106のYes)。したがって、画面生成状態管理部1007は、画面Cの表示データを表示データ記憶部1005に書き込む(ステップS1107)。さらに、画面生成状態管理部1007は、画面Cの画面状態を非表示状態に変更する(ステップS1108)(図12の状態4参照)。
続いて、画面生成状態管理部1007は、画面Cよりも新しい画面の画面状態情報が存在すると判定し(ステップS1109のYes)、画面Dを処理の対象に設定する(ステップS1110)。
画面生成状態管理部1007は、画面Dが画面Eから数えて3番目の画面よりも古い画面でないと判定する(ステップS1102のNo)。次に、画面生成状態管理部1007は、画面Dの画面情報が破棄状態でないと判定する(ステップS1106のNo)(図12の状態5参照)。
続いて、画面生成状態管理部1007は、画面Dよりも新しい画面の画面状態情報が存在すると判定し(ステップS1109のYes)、画面Eを処理の対象に設定する(ステップS1110)。
画面生成状態管理部1007は、画面Eが画面Eから数えて3番目の画面よりも古い画面でない判定する(ステップS1102のNo)。次に、画面生成状態管理部1007は、画面Eの画面情報が破棄状態でないと判定する(ステップS1106のNo)(図12の状態6参照)。
続いて、画面生成状態管理部1007は、画面Eよりも新しい画面の画面状態情報が存在しないと判定し(ステップS1109のNo)、画面生成状態管理処理を終了する。
以上のように、本実施形態に係る画面遷移制御装置は、最新の画面から所定数番目までの画面の表示データを表示データ記憶部に書き込む。これにより、直ちに遷移する可能性が高い画面については、表示データが表示データ記憶部に用意されることから、これらの画面への画面遷移の高速化を図ることができる。また、本実施形態に係る画面遷移制御装置は、遷移する可能性が低い古い画面については、表示データを破棄する。これにより、表示データを記憶するために要するメモリ量を低減することができる。
なお、本実施形態に係る画面遷移制御装置は、画面遷移処理の終了後直ちに画面生成状態管理処理を実行することとしたが、CPU使用率が低い状態やシステムがアイドル状態になった時点で、画面生成状態管理処理を実行してもよい。また、画面生成状態管理処理は、画面遷移の終了後、毎回必ず実行される必要は無く、CPU使用率が高い場合やシステムがアイドル状態にならない場合などにおいては、この処理は実行されなくてもよい。また、画面生成状態管理処理によって、画面遷移処理やその他の処理の処理速度が遅くなることを防ぐために、画面遷移処理および画面生成状態管理処理を行うプログラムを別々のプログラムとし、これらのプログラムを切り替えて処理が行われるようにしてもよい。
次に、本発明の第3の実施形態について図面を参照しながら説明する。本実施形態に係る画面遷移制御装置の構成は、第1の実施形態に係る画面遷移制御装置のものと同じであるので、ここではその説明は省略する。
本実施形態に係る画面遷移制御装置の特徴は、インターネットなどから背景画面などがダウンロードされ画面が変更された場合や、システムの言語設定がリアルタイムに変更された場合などにおいて、図1に示す画面遷移制御部103が、履歴情報記憶部104に画面履歴情報を保持したまま、表示データ記憶部105内の表示データを更新することである(以下、この処理を“画面入れ替え処理”と称す)。
次に、本実施形態に係る画面遷移制御装置において行われる処理について説明する。アプリケーション101から画面の入れ替えが要求されると、画面遷移制御部103は、画面入れ替え処理を開始する。以下、図を参照しながら、画面入れ替え処理について説明する。
図13は、画面入れ替え処理を示すフローチャートである。アプリケーション101から画面の入れ替えが要求されると、画面遷移制御部103は、まず、履歴情報記憶部1004から画面履歴情報を読み出し、画面履歴情報に記憶されている最新の画面状態情報を取得する。次に、画面遷移制御部103は、この画面状態情報に含まれる画面識別子によって識別される画面を、画面入れ替え処理を行う対象の画面に設定する(ステップS1301)。
次に、画面遷移制御部103は、この画面状態が表示状態または非表示状態であるか否かを判定する(ステップS1302)。この画面の画面状態が表示状態または非表示状態である場合には(ステップS1302のYes)、画面遷移制御部103は、表示データ記憶部105に記憶されている表示データを、入れ替える画面(以下、新しい画面と称す)の表示データに更新する(ステップS1303)。続いて、画面遷移制御部103は、この画面よりも古い画面が存在するか否かを判定する(ステップS1304)。
処理の対象の画面の画面状態が、表示状態または非表示状態画面でないと判定されると(ステップS1302のNo)、画面遷移制御部103は、この画面よりも古い画面が存在するか否かを判定する(ステップS1304)。
処理を行った画面よりも古い画面が存在する場合には(ステップS1304のYes)、画面遷移制御部103は、画面履歴情報において1つ古い画面を処理の対象に設定し(ステップS1305)、設定された画面についてステップS1302〜ステップS1304の処理を行う。この画面よりも古い画面が存在しない場合には(ステップS1304のNo)、画面遷移制御部103は、画面入れ替え処理を終了する。
以下、画面入れ替え処理の具体例を説明する。図14は、画面入れ替え処理の際に、表示データ記憶部105および履歴情報記憶部104の内容が変化する様子を示す図である。
図14に示す状態1は、表示画面に画面Cが表示されている。また、表示データ記憶部105には、画面Bの表示データDB、および、画面Cの表示データDCが記憶されている。さらに、画面Aの画面状態が破棄状態、画面Bの画面状態が非表示状態、および、画面Cの画面状態が表示状態である。
アプリケーション101から画面の入れ替えが要求されると、画面遷移制御部103は、まず、画面Cを画面入れ替え処理を行う画面に設定する(図13のステップS1301)。次に、画面遷移制御部103は、画面Cが表示状態であると判定する(ステップS1302のYes)。したがって、画面遷移制御部103は、画面Cの表示データを新しい画面の表示データDC’に更新する。さらに、画面遷移制御部103は、表示データDC’を表示装置106に出力する。表示装置106は、この表示データに基づいて、画面C’を表示画面に表示する(図14の状態2参照)。
続いて、画面遷移制御部103は、画面Cよりも古い画面が存在すると判定し(ステップS1304のYes)、画面Bを処理の対象に設定する(ステップS1305)。
画面遷移制御部103は、画面Bの画面状態が非表示状態であると判定する(ステップ1302のYes)。したがって、画面遷移制御部103は、画面Bの表示データを新しい画面の表示データDB’に更新する(図14の状態3参照)。
続いて、画面遷移制御部103は、画面Bよりも古い画面が存在すると判定し(ステップS1304のYes)、画面Aを処理の対象に設定する(ステップS1305)。
画面遷移制御部103は、画面Aの画面状態が表示状態または非表示状態でないと判定する(ステップ1302のNo)。続いて、画面遷移制御部103は、画面Aよりも古い画面が存在しないと判定し(ステップS1304のNo)、画面入れ替え処理を終了する(図14の状態4参照)。
以上のように、本実施形態に係る画面遷移制御装置よれば、インターネットなどから背景画面などがダウンロードされ画面が変更された場合や、システムの言語設定がリアルタイムに変更された場合など、画面の表示データの入れ替えが必要な場合においても、画面の履歴を保持することができる。
なお、本実施形態に係る画面遷移制御装置の構成は、第1の実施形態に係る画面遷移制御装置のものと同じであるとしたが、第2の実施形態に係る画面遷移制御装置の構成と同じであってもよい。
また、本発明の各実施形態では、表示される画面は1つとして説明したが、同時に表示される画面は複数であってもよい。この場合、同時に複数の画面を表示するためのステップが、各処理のフローチャートに追加される。
また、本発明の画面遷移制御装置が行う各処理は、コンピュータプログラムにより実現されても構わない。また、このようなコンピュータプログラムは、CD−ROMに代表される記録媒体に記録された状態で配布されても構わないし、インターネットなどのネットワークを通じて携帯電話や携帯情報端末等に提供されても構わない。
本発明の画面遷移制御装置は、履歴に記録される画面の数を増やすことを可能にし、画面遷移を高速に行うことを可能にし、また、画面の入れ替えが必要な場合においても画面の履歴を保持することを可能にすることから、携帯電話や携帯情報端末などに加え、画面遷移処理が必要な家電機器、情報処理機器や産業機器などにも利用できる。
本発明は、画面遷移制御装置および画面遷移制御方法に関し、より特定的には、外部からの要求に応じて画面の表示を切り替える画面遷移制御装置および画面遷移制御方法に関する。
従来から画面遷移制御装置として、特許文献1に記載されているように、画面の履歴をツリー構造で管理し、履歴に記録された画面に戻る(再表示する)場合には、表示中の画面と戻り先の画面とに挟まれた画面に関する記録を履歴から削除する装置が知られている。
図15は、表示装置に表示される画面が遷移する様子を示す図である。図15では、画面は画面P、画面Q、画面R、画面Pの順に遷移する。最初の画面Pと最後の画面Pとは同じ画面である。画面Rが表示された状態で画面Pに戻る操作が行われた場合には、表示される画面は画面Rから画面Pに変わる。
図16は、図15に示す画面の遷移に対応して、履歴が変化する様子を示す図である。図16において、太線の長方形は、ある画面が現在表示装置に表示されていることを表し、細線の長方形は、ある画面が過去に表示装置に表示されたことを表す。図15に示すように画面が画面P、画面Q、画面Rの順に変化すると、図16に示すように、画面Pに関する記録、画面Qに関する記録、および、画面Rに関する記録が順に履歴に追加される。その後、表示される画面が画面Rから画面Pに戻ると、画面Qおよび画面Rに関する記録は、履歴から削除される。また、従来の画面遷移制御装置は、不要と判断した画面については、その画面に関する記録を履歴から削除するとともに、その画面の表示データを破棄する。これにより、履歴および表示データを記憶するためのメモリ量を削減する。
特開2002−108932号公報
しかしながら、従来の画面遷移制御装置では、ある画面に関する記録を履歴から削除する処理と、その画面の表示データを破棄する処理とは、ある事象(例えば、画面の表示の切り替え)を契機として同じときに行われる。このため、履歴に記録されている画面の表示データは破棄されることがない。一方、携帯電話や携帯情報端末などは、装置全体のメモリ容量が少ないために、表示データを記憶するために利用できるメモリに制限が設けられている。したがって、携帯電話や情報端末などのようにメモリ容量が少ない装置では、履歴に記録できる画面の数は、結局のところ、表示データを記憶できる画面の数に等しくなり、極めて少なくなってしまう。
また、近年、携帯電話や携帯情報端末についても、インターネットを通じて画面をダウンロードし、背景画面などを入れ替えることが可能になった。また、国際化に対応すべく、携帯電話や携帯情報端末などのシステムの言語設定をリアルタイムに変更する必要が生じてきた。
しかしながら、従来の画面遷移制御装置では、背景画面の入れ替えや言語設定の変更に応じて、画面の表示データがメモリから破棄された場合には、履歴上のこの画面に関する記録も破棄されていた。
それ故に、本発明は、履歴に記録できる画面の数が表示データによって制限されることがなく、また、表示データが破棄された場合にも履歴を保ち、より速い画面遷移を可能にする画面遷移制御装置および画面遷移制御方法を提供することを目的とする。
本発明の第1の局面は、外部からの要求に応じて、外部に設けられた表示装置に表示される画面を切り替える画面遷移制御装置であって、複数の画面分の表示データを記憶する表示データ記憶部と、これまでに表示された画面に関する情報を履歴情報として記憶する履歴情報記憶部と、表示データ記憶部に記憶された表示データの中から選択した1以上の画面の表示データを表示装置に出力すると共に、履歴情報を管理する画面遷移制御部とを備え、履歴情報は、過去に表示されたが、現在は表示データ記憶部に表示データが記憶されていない画面に関する情報を含む。
この場合、履歴情報は、これまでに表示された画面について、当該画面の表示データが現在表示データ記憶部に記憶されているか否かを示す第1の情報、および、当該画面が現在表示装置に表示されているか否かを示す第2の情報を含むことが好ましい。
また、画面遷移制御部は、画面遷移の際に、遷移先の画面の表示データを書き込むためのデータ領域が表示データ記憶部にない場合には、表示データ記憶部から1つの画面の表示データを破棄することが好ましい。
また、画面遷移制御部は、過去に表示されたことが履歴情報に記憶されている画面の表示データを破棄したときには、履歴情報から当該画面に関する情報を削除することなく、当該画面に関する情報に含まれる第1の情報を更新することが好ましい。
また、画面遷移制御装置は、最新の画面から数えて所定数番目に表示された画面よりも後に表示されたことが履歴情報に記憶されており、かつ、表示データが表示データ記憶部に記憶されていない画面がある場合に、当該画面の表示データを表示データ記憶部に書き込む画面生成状態管理部をさらに備えていてもよい。
また、画面遷移制御装置は、最新の画面から数えて所定数番目に表示された画面よりも前に表示されたことが履歴情報に記憶されており、かつ、表示データが表示データ記憶部に記憶されている画面がある場合に、当該画面の表示データを表示データ記憶部から破棄する画面生成状態管理部をさらに備えていてもよい。
また、画面遷移制御装置は、第1の情報あるいは第2の情報と、これまでに表示された画面の状態とが一致していない場合に、当該第1の情報あるいは当該第2の情報を当該画面の状態に一致させる画面状態監視部をさらに備えていてもよい。
また、画面遷移制御部は、外部から画面の入れ替えが要求された場合に、履歴情報を保持したまま、表示データ記憶部に記憶された表示データを更新することが好ましい。
本発明の第2の局面は、外部からの要求に応じて、外部に設けられた表示装置に表示される画面を切り替える画面遷移制御方法であって、複数の画面分の表示データを記憶する表示データ記憶ステップと、これまでに表示された画面に関する情報を履歴情報として記憶する履歴情報記憶ステップと、表示データ記憶ステップにおいて記憶された表示データの中から選択した1以上の画面の表示データを表示装置に出力すると共に、履歴情報を管理する画面遷移制御ステップとを備え、履歴情報は、過去に表示されたが、現在は表示データが記憶されていない画面に関する情報を含む。
本発明の第3の局面は、本発明の第2の局面である画面遷移制御方法を、コンピュータで実行するためのプログラムである。
本発明の第4の局面は、本発明の第2の局面である画面遷移制御方法を、コンピュータで実行するためのプログラムを記録した記録媒体である。
以上のように、本実施形態に係る画面遷移制御装置によれば、表示データがメモリ容量の都合上破棄された場合においても、表示データが破棄された画面の画面状態を破棄状態として履歴情報記憶部に記憶することにより、画面の履歴を保持することができる。これにより、メモリ容量が少ない携帯電話や携帯情報端末においても、従来よりも多くの画面を履歴に記録することができ、その結果、画面遷移の高速化を図ることができる。
以下、本発明の実施形態について、図面を参照しながら説明する。図1は、本発明の第1の実施形態に係る画面遷移制御装置の構成を示すブロック図である。本実施形態に係る画面遷移制御装置102は、画面遷移制御部103、履歴情報記憶部104および表示データ記憶部105を備える。
履歴情報記憶部104は、現在表示されている画面および過去に表示された画面の履歴情報(以下、“画面履歴情報”と称す)を記憶する。表示データ記憶部105は、現在表示されている画面および過去に表示された画面の表示データ(ビットマップデータ)を記憶する。
画面遷移制御部103は、アプリケーション101からの画面遷移の要求に従い、表示データ記憶部105から表示データを読み出し、読み出した表示データを表示装置106に出力する。この際、要求された画面の表示データが表示データ記憶部105に存在しない場合には、画面遷移制御部103は、要求された画面の表示データを表示データ記憶部105に書き込み、書き込んだ表示データを表示装置106に出力する。表示装置106は、表示データに基づいて画面を表示する。
次に、履歴情報記憶部104に記憶される画面履歴情報について詳細に説明する。画面履歴情報は、1以上の“画面状態情報”から構成される。画面状態情報は、1つの画面についての情報であり、画面を識別するための“画面識別子”と、その画面の状態を示す“画面状態”とを含む。
画面状態は、図2に示す3種類の状態のいずれかである。以下、表示データが表示データ記憶部105に存在し、かつ、画面が表示されている状態を“表示状態”という、また、表示データが表示データ記憶部105に存在するが、画面が表示されていない状態を“非表示状態”という、さらに、表示データが表示データ記憶部105に存在しない状態を“破棄状態”という。
図3は、画面履歴情報の一例を示す図である。図3に示す画面履歴情報は、5つの画面状態情報から構成されている。これらの画面状態情報は、5つの画面識別子と画面状態とを含む。例えば、画面識別子がAである画面(以下、画面Aと称す。他の画面についても同様)の画面状態は破棄状態であり、画面B、画面Cおよび画面Dの画面状態は非表示状態であり、画面Eの画面状態は表示状態である。
図1の履歴情報記憶部104に、図3に示した画面履歴情報の例を模式的に示す。履歴情報記憶部104内の正方形は、それぞれ、1つの画面の画面状態情報を示す。最も左の正方形は、画面履歴情報において最も古い画面(最も前に表示された画面)の画面状態情報を示す。また、最も右の正方形は、画面履歴情報において最新の画面(最も後に表示された画面)の画面状態情報を示す。また、正方形内のアルファベットA〜Eは、画面識別子を示す。
太線で描かれた正方形は、画面状態が表示状態であることを示す。また、細線で描かれた正方形は、画面状態が非表示状態であることを示す。さらに、斜線が引かれた正方形は、画面状態が破棄状態であることを示す。図1には、画面Eの画面状態が表示状態、画面B、画面Cおよび画面Dの画面状態が非表示状態、画面Aの画面状態が破棄状態であることが示されている。
また、図1の表示データ記憶部105に、表示データの例を模式的に示す。表示データ記憶部105内の正方形は、それぞれ、1つの画面の表示データが記憶されるデータ領域を示す。正方形内の文字(DE等)は、それぞれ、下付きのアルファベットで識別される画面の表示データを示す。図1に示す例では、画面E、画面B、画面Cおよび画面Dの表示データが、表示データ記憶部105に記憶されている。
次に、画面遷移制御装置102において行われる処理について説明する。図4および図5は、アプリケーション101から画面遷移制御部103に画面遷移が要求された際に、画面遷移制御部103が行う処理(以下、“画面遷移処理”と称す)を示したフローチャートである。
アプリケーション101から画面遷移制御部103に画面遷移が要求されると、画面遷移制御部103は、まず、履歴情報記憶部104から画面履歴情報を読み出し、画面履歴情報に記憶されている最新の画面状態情報を取得する。次に、画面遷移制御部103は、この画面状態情報に含まれる画面識別子によって識別される画面を、遷移元の画面に設定する(ステップS401)。
次に、画面遷移制御部103は、アプリケーション101から要求された遷移先の画面の画面状態情報が、履歴情報記憶部104に記憶されているか否かを判定する(ステップS402)。
遷移先の画面の画面状態情報が履歴情報記憶部104に記憶されていない場合には(ステップS402のNo)、画面遷移制御部103は、遷移先の画面の表示データを表示データ記憶部105に書き込むために、“空き領域確保処理”(詳細は後述する)を実行する(ステップS403)。
空き領域確保処理によって表示データ記憶部105に空き領域が確保された後、画面遷移制御部103は、遷移先の画面の表示データを、表示データ記憶部105の空き領域に書き込む(ステップS404)。続いて、画面遷移制御部103は、表示データ記憶部105に記憶された遷移先の画面の表示データを表示装置106に出力する。表示装置106は、この表示データに基づいて画面を表示する(ステップS405)。
次に、画面遷移制御部103は、表示された画面の画面状態情報(すなわち、画面識別子および画面状態)を画面履歴情報に追加する(ステップS406)。遷移先の画面は表示されているので、その画面状態は表示状態である。続いて、画面遷移制御部103は、遷移元の画面の画面状態を非表示状態に変更し(ステップS407)、画面遷移処理を終了する。
アプリケーション101から要求された遷移先の画面の画面状態情報が、履歴情報記憶部104に記憶されている場合には(ステップS402のYes)、画面遷移制御部103は、遷移先の画面の画面状態が表示状態であるか否かを判定する(図5のステップS501)。
遷移先の画面の画面状態が表示状態である場合には(ステップS501のYes)、画面遷移制御部103は、表示データ破棄処理(詳細は後述する)を実行する。画面状態が表示状態でない場合には(ステップS501のNo)、画面遷移制御部103は、遷移先の画面の画面状態が非表示状態であるか否かを判定する(ステップS502)。
遷移先の画面の画面状態が非表示状態である場合には(ステップS502のYes)、画面遷移制御部103は、表示データ記憶部105に記憶された遷移先の画面の表示データを表示装置106に出力する。表示装置106は、この表示データに基づいて画面を表示する(ステップS504)。
遷移先の画面の画面状態が非表示状態でない場合には(ステップS502のNo)、遷移先の画面状態は破棄状態である。したがって、画面遷移制御部103は、遷移先の画面の表示データを表示データ記憶部105に書き込むために、空き領域確保処理を実行する(ステップS403)。
空き領域確保処理によって表示データ記憶部105に空き領域が確保された後、画面遷移制御部103は、遷移先の画面の表示データを、表示データ記憶部105の空き領域に書き込む(ステップS503)。続いて、画面遷移制御部103は、表示データ記憶部105に記憶された遷移先の画面の表示データを表示装置106に出力する。表示装置106は、この表示データに基づいて画面を表示する(ステップS504)。
遷移先の画面が表示装置106に表示された後、画面遷移制御部103は、遷移先の画面の画面状態を表示状態に変更する(ステップS505)。次に、画面遷移制御部103は、表示データ破棄処理を実行し、遷移元の画面および遷移元の画面から遷移先の画面の間にある画面の表示データを破棄する(ステップS506)。最後に、画面遷移制御部103は、遷移元の画面から遷移先の画面のうち、画面状態が破棄状態である画面の画面状態情報を、履歴情報記憶部104から削除し(ステップS507)、画面遷移処理を終了する。
次に、空き領域確保処理について、図を参照しながら説明する。図6は、空き領域確保処理のフローチャートである。
空き領域確保処理では、画面遷移制御部103は、まず、表示データ記憶部105に空き領域が存在するか否かを判定する(ステップS601)。空き領域が存在する場合には(ステップS601のYes)、画面遷移制御部103は、空き領域確保処理を終了する。空き領域が存在しない場合には(ステップS601のNo)、画面遷移制御部103は、ある画面の表示データを表示データ記憶部105から破棄する(ステップS602)。次に、画面遷移制御部103は、破棄された表示データに対応する画面の画面状態を破棄状態に変更し(ステップS603)、空き領域確保処理を終了する。
次に、表示データ破棄処理について、図を参照しながら説明する。図7は、表示データ破棄処理のフローチャートである。
表示データ破棄処理では、画面遷移制御部103は、まず、遷移元の画面を表示データ破棄処理を行う対象に設定する(ステップS701)。次に、画面遷移制御部103は、処理の対象の画面状態が破棄状態である否かを判定する(ステップS702)。画面状態が破棄状態である場合には(ステップS702のYes)、画面遷移制御部103は、画面履歴情報において1つ古い画面を処理の対象に設定する(ステップS708)。
処理の対象の画面状態が破棄状態でない場合には(ステップS702のNo)、画面遷移制御部103は、画面状態が非表示状態であるか否かを判定する(ステップS703)。画面状態が非表示状態である場合には(ステップS703のYes)、画面遷移制御部103は、この画面に対応する表示データを、表示データ記憶部105から破棄する(ステップS706)。
処理の対象の画面状態が非表示状態でない場合には(ステップS703のNo)、画面状態は表示状態である。そこで、画面遷移制御部103は、画面を非表示にし(ステップS704)、さらに、画面状態を非表示状態に変更する(ステップS705)。続いて、画面遷移制御部103は、この画面に対応する表示データを、表示データ記憶部105から破棄する(ステップS706)。
処理の対象の表示データを表示データ記憶部105から破棄した後、画面遷移制御部103は、画面状態を破棄状態に変更する(ステップS707)。さらに、画面遷移制御部103は、画面履歴情報において1つ古い画面を処理の対象に設定する(ステップS708)。
その後、画面遷移制御部103は、この画面が遷移先の画面であるか否かを判定する(ステップS709)。処理の対象の画面が遷移先の画面である場合には(ステップS709のYes)、画面遷移制御部103は、表示データ破棄処理を終了し、画面遷移処理に戻る。処理の対象の画面が遷移先の画面でない場合には(ステップS709のNo)、画面遷移制御部103は、この画面について、ステップS702〜ステップS708の処理を行う。
以下、画面遷移処理の具体例を説明する。図8および図9は、画面が遷移するときに、表示データ記憶部105および履歴情報記憶部104の内容が変化する様子を示す図である。
図8は、履歴情報記憶部104に画面状態情報が存在しない画面への画面遷移を示した図である。図8には、例として、画面Cから画面Dへの画面遷移、および、画面Dから画面Eへの画面遷移を示す。
図8に示す状態1では、表示画面には画面Cが表示されている。また、表示データ記憶部105には、画面Aの表示データDA、画面Bの表示データDB、および、画面Cの表示データDCが記憶されている。さらに、履歴情報記憶部104には、画面A〜画面Cの画面状態情報が記憶されている。画面Cの画面状態は表示状態であり、画面Aおよび画面Bの画面状態は非表示状態である。
まず、画面Cから画面Dへの画面遷移において、画面遷移制御部103が行う処理について説明する。
アプリケーション101から画面Dへの画面遷移が要求されると、まず、画面遷移制御部103は、画面の遷移元を画面Cに設定する(図4のステップS401)。次に、画面遷移制御部103は、遷移先の画面である画面Dの画面状態情報が、履歴情報記憶部104に存在しないと判定する(ステップS402のNo)。
表示データ記憶部105には空き領域があるので(図6のステップS601のYes)、画面遷移制御部103は、画面Dの表示データDDを空き領域に書き込む(ステップS404)。このとき表示画面には、画面Cが表示されている(図8の状態2参照)。
続いて、画面遷移制御部103は、画面Dの表示データDDを表示装置106に出力する。表示装置106は、この表示データに基づいて画面Dを表示する(ステップS405)。次に、画面遷移制御部103は、画面Dの画面状態情報を画面履歴情報に追加する(ステップS406)。最後に、画面遷移制御部103は、画面Dの画面状態を表示状態とし、画面Cの画面状態を非表示状態に変更する(ステップS407)(図8の状態3参照)。
次に、表示データ記憶部105に空き領域が無い場合の例として、画面Dから画面Eへの画面遷移を説明する。
まず、画面遷移制御部103は、画面の遷移元を画面Dに設定する(ステップS401)。次に、画面遷移制御部103は、遷移先の画面である画面Eの画面状態情報が、履歴情報記憶部104に存在しないと判定する(ステップS402のNo)。さらに、画面遷移制御部103は、空き領域確保処理において、表示データ記憶部105に空き領域が存在しないと判定する(ステップS601のNo)。したがって、画面遷移制御部103は、画面Eの表示データDEを書き込むための空き領域を、表示データ記憶部105に確保する。
この例では、画面遷移制御部103は、画面Aの表示データを破棄するとする。空き領域確保処理において画面遷移制御部103は、画面Aの表示データを破棄し(ステップS602)、さらに、画面Aの画面状態を破棄状態に変更する(ステップS603)。続いて、画面遷移制御部103は、画面Eの表示データDEを空き領域(画面Aの表示データDAがあった領域)に書き込む(ステップS404)。なお、このとき表示画面には、画面Dが表示されている(図8の状態4参照)。
続いて、画面遷移制御部103は、画面Eの表示データDEを表示装置106に出力する。表示装置106は、この表示データに基づいて、画面Eを表示画面に表示する(ステップS405)。次に、画面遷移制御部103は、画面Eの画面状態情報を画面履歴情報に追加する(ステップS406)。最後に、画面遷移制御部103は、画面Eの画面状態を表示状態とし、画面Dの画面状態を非表示状態に変更する(ステップS407)(図8の状態5参照)。
次に、図9を参照しながら、履歴情報記憶部104に画面状態情報が存在する画面へ遷移する場合の一例として、画面Eから画面Aへの画面遷移を説明する。
図9に示す状態1では、表示画面に画面Eが表示されている。また、表示データ記憶部105には、画面Bの表示データDB、画面Cの表示データDC、画面Dの表示データDD、および、画面Eの表示データDEが記憶されている。さらに、履歴情報記憶部104には、画面A〜画面Eの画面状態情報が記憶されている。画面Aの画面状態は破棄状態であり、画面B、画面Cおよび画面Dの画面状態は非表示状態であり、画面Eの画面状態は表示状態である。
アプリケーション101から画面Aへの画面遷移が要求されると、画面遷移制御部103は、まず、画面の遷移元を画面Eに設定する(ステップS401)。次に、画面遷移制御部103は、遷移先の画面である画面Aの画面状態情報が、履歴情報記憶部104に存在すると判定する(ステップS402のYes)。
次に、画面遷移制御部103は、遷移先の画面である画面Aの画面状態情報が、破棄状態であると判定する(図5のステップS502のNo)。さらに、画面遷移制御部103は、空き領域確保処理において、表示データ記憶部105に空き領域が存在しないと判定する(ステップS601のNo)。したがって、画面遷移制御部103は、画面Aの表示データDAを書き込むための空き領域を、表示データ記憶部105に確保する。
この例では、画面遷移制御部103は、画面Bの表示データを破棄するとする。空き領域確保処理において画面遷移制御部103は、画面Bの表示データを破棄し(ステップS602)、さらに、画面Bの画面情報を破棄状態に変更する(ステップS603)。続いて、画面遷移制御部103は、画面Aの表示データDAを空き領域(画面Bの表示データDBがあった領域)に書き込む(ステップS503)。なお、このとき表示画面には、画面Eが表示されている(図9の状態2参照)。
次に、画面遷移制御部103は、画面Aの表示データDAを表示装置106に出力する。表示装置106は、この表示データに基づいて、画面Aを表示画面に表示する(ステップS504)。さらに、画面遷移制御部103は、画面Aの画面状態を表示状態に変更する(ステップS505)(図9の状態3参照)。
次に、画面遷移制御部103は、表示データ破棄処理を実行する(ステップS506)。表示データ破棄処理では、画面遷移制御部103は、まず、遷移元の画面である画面Eを処理の対象に設定する(図7のステップS701)。
画面遷移制御部103は、画面Eの画面状態を表示状態と判定する(ステップS703のNo)。したがって、画面遷移制御部103は、画面Eを非表示にし(ステップS704)、さらに、画面Eの画面状態を非表示状態に変更する(ステップS705)。続いて、画面遷移制御部103は、画面Eの表示データDEを破棄し(ステップS706)、さらに、画面Eの画面状態を破棄状態に変更する(ステップS707)(図9の状態4参照)。
次に、画面遷移制御部103は、画面Dを処理の対象に設定する(ステップS708)。画面Dは遷移先の画面ではないので(ステップS709のNo)、画面遷移制御部103は、画面DについてステップS702〜ステップS707の処理を行う。画面Dの画面状態は非表示状態であるので(ステップS703のYes)、画面遷移制御部103は、画面Dの表示データDDを破棄し(ステップS706)、さらに、画面Dの画面状態を破棄状態に変更する(ステップS707)(図9の状態5参照)。
次に、画面遷移制御部103は、画面Cを処理の対象に設定する(ステップS709)。画面Cは遷移先の画面ではないので(ステップS709のNo)、画面遷移制御部103は、画面CについてステップS702〜ステップS707の処理を行う。画面Cの画面状態は非表示状態であるので、画面Dに対する処理と同様の処理が画面Cについて行われる(図9の状態6参照)。
次に、画面遷移制御部103は、画面Bを処理の対象に設定する(ステップS708)。画面Bは遷移先の画面ではないので(ステップS709のNo)、画面遷移制御部103は、画面BについてステップS702〜ステップS707の処理を行う。画面Bの画面状態は破棄状態であるので(ステップS702のYes)、表示データの破棄は行われない(図9の状態7参照)。
次に、画面遷移制御部103は、画面Aを処理の対象に設定する(ステップS708)。画面Aは遷移先の画面であるので(ステップS709のYes)、画面遷移制御部103は、表示データ破棄処理を終了する。
最後に、画面遷移制御部103は、画面B〜画面Eの画面状態情報を削除し(ステップS507)、画面遷移処理を終了する(図9の状態8参照)。
以上のように、本実施形態に係る画面遷移制御装置によれば、表示データがメモリ容量の都合上破棄された場合においても、表示データが破棄された画面の画面状態を破棄状態として履歴情報記憶部に記憶することにより、画面の履歴を保持することができる。これにより、メモリ容量が少ない携帯電話や携帯情報端末においても、従来よりも多くの画面を履歴に記録することができ、その結果、画面遷移の高速化を図ることができる。
なお、本実施形態に係る画面遷移制御装置では、画面状態として表示状態、非表示状態および破棄状態の3つの状態があるとしたが、画面状態は、この3つに限定されない。その他の画面状態としては、例えば、画面に何の処理も行われていない状態を示す初期状態、ユーザの操作対象である状態を示すアクティブ状態やユーザの操作対象でない状態を示すインアクティブ状態などを追加してもよい。
また、本実施形態に係る画面遷移制御装置では、図2に示したように、“表示データの有無”と“画面の表示/非表示”との組み合わせを1つの画面状態としたが、“表示データの有無”および“画面の表示/非表示”を、それぞれ、画面状態としてもよい。
また、本実施形態に係る画面遷移制御装置は、全ての画面について、画面を表示する処理、非表示にする処理、および、破棄する処理を行うこととしたが、全ての画面に対してこれら3つの処理を行う必要はない。一部の画面のみに対してこれらの処理を行い、他の画面についてはこれらの処理は行わない、という設定が可能なように本実施形態に係る画面遷移制御装置を構成してもよい。
また、画面の遷移は、通常のアプリケーションにおいて、異なる処理を行う画面への切り替えに限定されない。ブラウザやデータベース検索システムの処理結果を履歴として保持する場合に、この履歴に対応する画面を1つの画面とみなし、本実施形態に係る画面遷移制御装置を使用することも可能である。
図10は、本発明の第2の実施形態に係る画面遷移制御装置の構成を示すブロック図である。本実施形態に係る画面遷移制御装置1002は、画面遷移制御部1003、履歴情報記憶部1004、表示データ記憶部1005、画面生成状態管理部1007および画面状態監視部1008を備える。
画面遷移制御部1003は、第1の実施形態において説明した機能に加え、さらに、画面遷移処理が終了した際に、画面生成状態管理部1007に画面が遷移したことを通知する機能を有する。
画面生成状態管理部1007は、画面遷移制御部1003から画面が遷移したことが通知された際に、履歴情報記憶部1004に記憶されている画面履歴情報を参照し、画面履歴情報に含まれる画面状態情報を管理する。
具体的には、画面生成状態管理部1007は、履歴情報記憶部1004から画面履歴情報を読み出し、画面履歴情報に記憶されている最新の画面状態情報から所定数番目まで(以下、N番目とする)の画面状態情報を取得する。次に、画面生成状態管理部1007は、これらの画面状態情報に含まれる画面識別子によって識別される画面のうち、画面状態が破棄状態であるものについては、その画面の表示データを表示データ記憶部1005に書き込み、画面状態を破棄状態から非表示状態に変更する。また、画面生成状態管理部1007は、N+1番目の画面状態情報から最も古い画面状態情報のうち、画面状態が表示状態あるいは非表示状態である画面については、その表示データを破棄し、画面状態を破棄状態にする(以下、これらの処理を“画面生成状態管理処理”と称す)。これにより、直ちに遷移する可能性の高い画面の表示データが表示データ記憶部1005に用意されることから、これらの画面への画面遷移の高速化を図ることができる。
画面状態監視部1008は、履歴情報記憶部1004に記憶されている各画面の画面状態情報を監視する。具体的には、画面状態監視部1008は、各画面の画面状態情報から画面状態を取得し、各画面の現在の状態と比較する。画面状態と画面の現在の状態とが異なる場合には、画面状態監視部1008は、画面の現在の状態と一致するように画面状態を変更する。画面状態監視部1008による各画面の状態を確認する処理は、一定時間ごとに定期的に行われても良く、また、画面の状態に変化があった際に、画面から画面状態監視部1008に変化があったことを通知することにより行われても良く、あるいは、画面表示機能を提供するウィンドウシステムなどのモジュールから画面の状態の通知することにより行われても良い。これにより、各画面の状態と履歴情報記憶部1004に記憶されている画面状態との不一致を防ぐことができることから、例えば、表示デバイスの切り替え等のように、アプリケーションからの画面遷移の要求以外によって画面の状態が変更された場合や、画面遷移制御装置が管理しない別画面の影響によって画面の状態が変更された場合などにおいて生じる不具合を解消することができる。
次に、画面遷移制御装置1002で行われる処理について説明する。画面遷移制御部1003が行う画面遷移処理については、第1の実施形態において説明したので、ここでは省略する。画面遷移制御部1003は、画面遷移処理が終了すると、画面生成状態管理部1007に対して、画面が遷移したことを通知する。画面生成状態管理部1007は、この通知を受け取ると画面生成状態管理処理を開始する。以下、図を参照しながら、画面生成状態管理処理について説明する。
図11は、画面生成状態管理処理を示すフローチャートである。画面遷移制御部1003から画面が遷移したことが通知されると、画面生成状態管理部1007は、まず、履歴情報記憶部1004から画面履歴情報を読み出し、画面履歴情報に記憶されている画面状態情報のうち最も古い画面状態情報を取得する。次に、画面生成状態管理部1007は、この画面状態情報に含まれる画面識別子によって識別される画面を、画面生成状態管理処理を行う対象に設定する(ステップS1101)。
次に、画面生成状態管理部1007は、処理の対象の画面が最新の画面から数えてN番目の画面よりも古い画面(N番目の画面より前に表示された画面)か否かを判定する(ステップS1102)。ここで、“N”とは画面生成状態管理部1007が保持している値であり、最新の画面から何画面前の画面にまで戻る画面遷移が、頻繁に行われるかを示す値(整数)である。なお、この値は、システムの設計時に設定されてもよく、あるいは、ユーザの操作を観測することにより頻繁に戻る画面数をシステムに学習させることによって設定されてもよい。
処理の対象の画面が、最新の画面から数えてN番目の画面よりも古い画面である場合には(ステップS1102のYes)、画面生成状態管理部1007は、この画面の画面状態が破棄状態であるか否かを判定する(ステップS1103)。画面状態が破棄状態である場合には(ステップS1103のYes)、画面生成状態管理部1007は、この画面よりも新しい画面が存在するか否かを判定する(ステップS1109)。
画面状態が破棄状態でない場合には(ステップS1103のNo)、画面生成状態管理部1007は、処理の対象の画面の表示データを表示データ記憶部1005から破棄する(ステップS1104)。さらに、画面生成状態管理部1007は、画面状態を破棄状態に変更する(ステップS1105)。続いて、画面生成状態管理部1007は、この画面よりも新しい画面が存在するか否かを判定する(ステップS1109)。
処理の対象の画面が、N番目の画面よりも古い画面でない場合には(ステップS1102のNo)、画面生成状態管理部1007は、この画面の画面状態が破棄状態であるか否かを判定する(ステップS1106)。画面状態が破棄状態でない場合には(ステップS1106のNo)、画面生成状態管理部1007は、この画面よりも新しい画面が存在するか否かを判定する(ステップS1109)。
画面状態が破棄状態である場合には(ステップS1106のYes)、画面生成状態管理部1007は、処理の対象の画面の表示データを表示データ記憶部1005に書き込む(ステップS1107)。さらに、画面生成状態管理部1007は、画面状態を非表示状態に変更する(ステップS1108)。続いて、画面生成状態管理部1007は、この画面よりも新しい画面が存在するか否かを判定する(ステップS1109)。
画面生成状態管理処理を行った画面よりも新しい画面が存在する場合には(ステップS1109のYes)、画面生成状態管理部1007は、画面履歴情報において1つ新しい画面を処理の対象に設定する(ステップS1110)。画面生成状態管理部1007は、新たな処理の対象の画面について、ステップS1102〜ステップS1109の処理を行う。
画面生成状態管理処理を行った画面よりも新しい画面が存在しない場合には(ステップS1109のNo)、画面生成状態管理部1007は、画面生成状態管理処理を終了する。
以下、画面生成状態管理処理の具体例を説明する。図12は、画面生成状態管理処理の際に、表示データ記憶部1005および履歴情報記憶部1004の内容が変化する様子を示す図である。
今、画面遷移処理が終了し、表示装置1006に画面Eが表示され、表示データ記憶部1005には、画面Bの表示データDB、画面Dの表示データDD、および、画面Eの表示データDEが記憶されているとする。さらに、画面Aおよび画面Cの画面状態が破棄状態、画面Bおよび画面Dの画面状態が非表示状態、並びに、画面Eの画面状態が表示状態であるとする。この状態を図12の状態1に示す。また、画面生成状態管理部1007は、Nの値として“3”を保持しているとする。
画面遷移処理の終了が画面遷移制御部1003から通知されると、画面生成状態管理部1007は、まず、画面Aを画面生成状態管理処理を行う対象に設定する(図11のステップS1101)。次に、画面生成状態管理部1007は、画面Aが画面Eから数えて3番目の画面よりも古い画面であると判定する(ステップS1102のYes)。さらに、画面生成状態管理部1007は、画面Aの画面情報が破棄状態であると判定する(ステップS1103のYes)(図12の状態2参照)。
続いて、画面生成状態管理部1007は、画面Aよりも新しい画面の画面状態情報が存在すると判定し(ステップS1109のYes)、画面Bを処理の対象に設定する(ステップS1110)。
画面生成状態管理部1007は、画面Bが画面Eから数えて3番目の画面よりも古い画面であると判定する(ステップS1102のYes)。次に、画面生成状態管理部1007は、画面Bの画面情報が破棄状態でないと判定する(ステップS1103のNo)。したがって、画面生成状態管理部1007は、画面Bの表示データを表示データ記憶部1005から破棄する(ステップS1104)。さらに、画面生成状態管理部1007は、画面Bの画面状態を破棄状態に変更する(ステップS1105)(図12の状態3参照)。
続いて、画面生成状態管理部1007は、画面Bよりも新しい画面の画面状態情報が存在すると判定し(ステップS1109のYes)、画面Cを処理の対象に設定する(ステップS1110)。
画面生成状態管理部1007は、画面Cが画面Eから数えて3番目の画面よりも古い画面でないと判定する(ステップS1102のNo)。さらに、画面生成状態管理部1007は、画面Bの画面情報が破棄状態であると判定する(ステップS1106のYes)。したがって、画面生成状態管理部1007は、画面Cの表示データを表示データ記憶部1005に書き込む(ステップS1107)。さらに、画面生成状態管理部1007は、画面Cの画面状態を非表示状態に変更する(ステップS1108)(図12の状態4参照)。
続いて、画面生成状態管理部1007は、画面Cよりも新しい画面の画面状態情報が存在すると判定し(ステップS1109のYes)、画面Dを処理の対象に設定する(ステップS1110)。
画面生成状態管理部1007は、画面Dが画面Eから数えて3番目の画面よりも古い画面でないと判定する(ステップS1102のNo)。次に、画面生成状態管理部1007は、画面Dの画面情報が破棄状態でないと判定する(ステップS1106のNo)(図12の状態5参照)。
続いて、画面生成状態管理部1007は、画面Dよりも新しい画面の画面状態情報が存在すると判定し(ステップS1109のYes)、画面Eを処理の対象に設定する(ステップS1110)。
画面生成状態管理部1007は、画面Eが画面Eから数えて3番目の画面よりも古い画面でない判定する(ステップS1102のNo)。次に、画面生成状態管理部1007は、画面Eの画面情報が破棄状態でないと判定する(ステップS1106のNo)(図12の状態6参照)。
続いて、画面生成状態管理部1007は、画面Eよりも新しい画面の画面状態情報が存在しないと判定し(ステップS1109のNo)、画面生成状態管理処理を終了する。
以上のように、本実施形態に係る画面遷移制御装置は、最新の画面から所定数番目までの画面の表示データを表示データ記憶部に書き込む。これにより、直ちに遷移する可能性が高い画面については、表示データが表示データ記憶部に用意されることから、これらの画面への画面遷移の高速化を図ることができる。また、本実施形態に係る画面遷移制御装置は、遷移する可能性が低い古い画面については、表示データを破棄する。これにより、表示データを記憶するために要するメモリ量を低減することができる。
なお、本実施形態に係る画面遷移制御装置は、画面遷移処理の終了後直ちに画面生成状態管理処理を実行することとしたが、CPU使用率が低い状態やシステムがアイドル状態になった時点で、画面生成状態管理処理を実行してもよい。また、画面生成状態管理処理は、画面遷移の終了後、毎回必ず実行される必要は無く、CPU使用率が高い場合やシステムがアイドル状態にならない場合などにおいては、この処理は実行されなくてもよい。また、画面生成状態管理処理によって、画面遷移処理やその他の処理の処理速度が遅くなることを防ぐために、画面遷移処理および画面生成状態管理処理を行うプログラムを別々のプログラムとし、これらのプログラムを切り替えて処理が行われるようにしてもよい。
次に、本発明の第3の実施形態について図面を参照しながら説明する。本実施形態に係る画面遷移制御装置の構成は、第1の実施形態に係る画面遷移制御装置のものと同じであるので、ここではその説明は省略する。
本実施形態に係る画面遷移制御装置の特徴は、インターネットなどから背景画面などがダウンロードされ画面が変更された場合や、システムの言語設定がリアルタイムに変更された場合などにおいて、図1に示す画面遷移制御部103が、履歴情報記憶部104に画面履歴情報を保持したまま、表示データ記憶部105内の表示データを更新することである(以下、この処理を“画面入れ替え処理”と称す)。
次に、本実施形態に係る画面遷移制御装置において行われる処理について説明する。アプリケーション101から画面の入れ替えが要求されると、画面遷移制御部103は、画面入れ替え処理を開始する。以下、図を参照しながら、画面入れ替え処理について説明する。
図13は、画面入れ替え処理を示すフローチャートである。アプリケーション101から画面の入れ替えが要求されると、画面遷移制御部103は、まず、履歴情報記憶部1004から画面履歴情報を読み出し、画面履歴情報に記憶されている最新の画面状態情報を取得する。次に、画面遷移制御部103は、この画面状態情報に含まれる画面識別子によって識別される画面を、画面入れ替え処理を行う対象の画面に設定する(ステップS1301)。
次に、画面遷移制御部103は、この画面状態が表示状態または非表示状態であるか否かを判定する(ステップS1302)。この画面の画面状態が表示状態または非表示状態である場合には(ステップS1302のYes)、画面遷移制御部103は、表示データ記憶部105に記憶されている表示データを、入れ替える画面(以下、新しい画面と称す)の表示データに更新する(ステップS1303)。続いて、画面遷移制御部103は、この画面よりも古い画面が存在するか否かを判定する(ステップS1304)。
処理の対象の画面の画面状態が、表示状態または非表示状態でないと判定されると(ステップS1302のNo)、画面遷移制御部103は、この画面よりも古い画面が存在するか否かを判定する(ステップS1304)。
処理を行った画面よりも古い画面が存在する場合には(ステップS1304のYes)、画面遷移制御部103は、画面履歴情報において1つ古い画面を処理の対象に設定し(ステップS1305)、設定された画面についてステップS1302〜ステップS1304の処理を行う。この画面よりも古い画面が存在しない場合には(ステップS1304のNo)、画面遷移制御部103は、画面入れ替え処理を終了する。
以下、画面入れ替え処理の具体例を説明する。図14は、画面入れ替え処理の際に、表示データ記憶部105および履歴情報記憶部104の内容が変化する様子を示す図である。
図14に示す状態1は、表示画面に画面Cが表示されている。また、表示データ記憶部105には、画面Bの表示データDB、および、画面Cの表示データDCが記憶されている。さらに、画面Aの画面状態が破棄状態、画面Bの画面状態が非表示状態、および、画面Cの画面状態が表示状態である。
アプリケーション101から画面の入れ替えが要求されると、画面遷移制御部103は、まず、画面Cを画面入れ替え処理を行う画面に設定する(図13のステップS1301)。次に、画面遷移制御部103は、画面Cが表示状態であると判定する(ステップS1302のYes)。したがって、画面遷移制御部103は、画面Cの表示データを新しい画面の表示データDC'に更新する。さらに、画面遷移制御部103は、表示データDC'を表示装置106に出力する。表示装置106は、この表示データに基づいて、画面C’を表示画面に表示する(図14の状態2参照)。
続いて、画面遷移制御部103は、画面Cよりも古い画面が存在すると判定し(ステップS1304のYes)、画面Bを処理の対象に設定する(ステップS1305)。
画面遷移制御部103は、画面Bの画面状態が非表示状態であると判定する(ステップ1302のYes)。したがって、画面遷移制御部103は、画面Bの表示データを新しい画面の表示データDB'に更新する(図14の状態3参照)。
続いて、画面遷移制御部103は、画面Bよりも古い画面が存在すると判定し(ステップS1304のYes)、画面Aを処理の対象に設定する(ステップS1305)。
画面遷移制御部103は、画面Aの画面状態が表示状態または非表示状態でないと判定する(ステップ1302のNo)。続いて、画面遷移制御部103は、画面Aよりも古い画面が存在しないと判定し(ステップS1304のNo)、画面入れ替え処理を終了する(図14の状態4参照)。
以上のように、本実施形態に係る画面遷移制御装置よれば、インターネットなどから背景画面などがダウンロードされ画面が変更された場合や、システムの言語設定がリアルタイムに変更された場合など、画面の表示データの入れ替えが必要な場合においても、画面の履歴を保持することができる。
なお、本実施形態に係る画面遷移制御装置の構成は、第1の実施形態に係る画面遷移制御装置のものと同じであるとしたが、第2の実施形態に係る画面遷移制御装置の構成と同じであってもよい。
また、本発明の各実施形態では、表示される画面は1つとして説明したが、同時に表示される画面は複数であってもよい。この場合、同時に複数の画面を表示するためのステップが、各処理のフローチャートに追加される。
また、本発明の画面遷移制御装置が行う各処理は、コンピュータプログラムにより実現されても構わない。また、このようなコンピュータプログラムは、CD−ROMに代表される記録媒体に記録された状態で配布されても構わないし、インターネットなどのネットワークを通じて携帯電話や携帯情報端末等に提供されても構わない。
本発明の画面遷移制御装置は、履歴に記録される画面の数を増やすことを可能にし、画面遷移を高速に行うことを可能にし、また、画面の入れ替えが必要な場合においても画面の履歴を保持することを可能にすることから、携帯電話や携帯情報端末などに加え、画面遷移処理が必要な家電機器、情報処理機器や産業機器などにも利用できる。
本発明の第1の実施形態に係る画面遷移制御装置を示すブロック図
本発明の第1〜3の実施形態に係る画面遷移制御装置に含まれる履歴情報記憶部に記憶される画面状態を示す図
本発明の第1〜3の実施形態に係る画面遷移制御装置に含まれる履歴情報記憶部に記憶される画面履歴情報の一例を示す図
本発明の第1の実施形態に係る画面遷移制御装置に含まれる画面遷移制御部が行う画面遷移処理の手順を示すフローチャート
本発明の第1の実施形態に係る画面遷移制御装置に含まれる画面遷移制御部が行う画面遷移処理の手順を示すフローチャート
本発明の第1の実施形態に係る画面遷移制御装置に含まれる画面遷移制御部が行う空き領域確保処理の手順を示すフローチャート
本発明の第1の実施形態に係る画面遷移制御装置に含まれる画面遷移制御部が行う表示データ破棄処理の手順を示すフローチャート
本発明の第1の実施形態に係る画面遷移制御装置に含まれる画面遷移制御部が行う画面遷移処理の例を示す図
本発明の第1の実施形態に係る画面遷移制御装置に含まれる画面遷移制御部が行う画面遷移処理の例を示す図
本発明の第2の実施形態に係る画面遷移制御装置を示すブロック図
本発明の第2の実施形態に係る画面遷移制御装置に含まれる画面生成状態管理部が行う画面生成状態管理処理の手順を示すフローチャート
本発明の第2の実施形態に係る画面遷移制御装置に含まれる画面生成状態管理部が行う画面生成状態管理処理の例を示す図
本発明の第3の実施形態に係る画面遷移制御装置に含まれる画面遷移制御部が行う画面入れ替え処理の手順を示すフローチャート
本発明の第3の実施形態に係る画面遷移制御装置に含まれる画面遷移制御部が行う画面入れ替え処理の例を示す図
従来の画面遷移制御装置における画面遷移を示す図
図15に示される画面遷移に対応した画面の履歴の変化を示す図
符号の説明
101、1001 アプリケーション
102、1002 画面遷移制御装置
103、1003 画面遷移制御部
104、1004 履歴情報記憶部
105、1005 表示データ記憶部
106、1006 表示装置
1007 画面生成状態管理部
1008 画面状態監視部