《第1の実施形態》
以下、業務支援システムの第1の実施形態について、図1〜図13に基づいて詳細に説明する。図1には、第1の実施形態に係る業務支援システム100の概略構成が示されている。
業務支援システム100は、一例として、銀行内に設置されるシステムである。業務支援システム100は、図1に示すように、銀行窓口や役席、集中センターなどでオペレータによって利用される情報処理装置としての端末10と、端末10との間でデータ(例えば、端末10上に表示する画面のデータ)のやり取りを行うサーバ50と、を備える。端末10とサーバ50は、インターネットやLAN(Local Area Network)などのネットワーク80に接続されている。
端末10では、オペレータによって特定された処理(例えば他行への振込処理や口座開設処理)に応じたフロー(業務フロー)に従って、複数の業務画面データを順次出力(表示)する。また、端末10では、業務フロー以外の業務(単取引)に関する画面データも出力(表示)する。なお、端末10では、1つの業務フローを実行している間に、他の業務フローや他の業務(単取引)による割り込みが発生することはあるものの、同時並行で複数の業務フローが同一の端末上で実行されることはないものとする。このように、同一の端末上で同時並行的に複数の業務フローが実行されないのは、オペレータによる入力ミス等が頻発するのを抑制するためである。
図2には、端末10のハードウェア構成が示されている。図2に示すように、端末10は、CPU(Central Processing Unit)90、ROM(Read Only Memory)92、RAM(Random Access Memory)94、記憶部(ここではHDD(Hard Disk Drive))96、ディスプレイ93、入力部95、及び可搬型記憶媒体用ドライブ99等を備えており、端末10の構成各部は、バス98に接続されている。ディスプレイ93は、液晶ディスプレイ(LCD:Liquid Crystal Display)や有機EL(electroluminescence)ディスプレイを含む。また、入力部95は、キーボードやマウスを含む。端末10では、ROM92あるいはHDD96に格納されているプログラム(キャッシュ領域管理プログラムを含む)、或いは可搬型記憶媒体用ドライブ99が可搬型記憶媒体91から読み取ったプログラム(キャッシュ領域管理プログラムを含む)をCPU90が実行することにより、図3の各部の機能が実現される。
なお、サーバ50も端末10と同様のハードウェア構成を有しており、CPUがプログラムを実行することにより、図3の各部の機能が実現される。
図3には、端末10のCPU90及びサーバ50のCPUがプログラムを実行することにより実現される機能がブロック図にて示されている。図3に示すように、サーバ50では、CPUがプログラムを実行することで、システム制御部52としての機能が実現されている。なお、図3では、HDDやRAM等に格納されているフローテーブル60、画面テーブル62、画面DB66も図示されている。
また、端末10では、CPU90がプログラムを実行することで、メニュー画面表示部11、業務選択受付部12、変更部としてのキャッシュサイズ設定部14、削除部としてのキャッシュ削除部16、業務画面取得部18、業務画面表示部20、入力受付部22、取得部としての情報取得部24、としての機能が実現されている。なお、図3では、HDD96やRAM94等に格納されているフロー情報テーブル30、キャッシュ領域36についても図示されている。
サーバ50のシステム制御部52は、フローテーブル60や画面テーブル62を参照してフロー情報を作成し、端末10に送信する。また、システム制御部52は、画面DB66を管理し、画面DB66に格納されている画面データを端末10側に送信するなどする。
ここで、フローテーブル60は、図4(a)に示すように、「業務内容」と、「分岐」と、「遷移パターン」のフィールドを有している。「業務内容」のフィールドには、フローや単取引の名称が格納される。「分岐」のフィールドには、フローにおいて分岐が生じる場合の分岐ルート名称が格納される。「遷移パターン」のフィールドには、フローにおける画面遷移の情報や単取引で表示される一画面の情報が格納される。ここで、フローは、複数回画面遷移が発生するパターンを意味する。
画面テーブル62は、図4(b)に示すように、「画面名」と、「サイズ」のフィールドを有している。「画面名」のフィールドには、画面の名称が格納され、「画面サイズ」のフィールドには、各画面のサイズ(データ量)が格納される。
画面DB66には、画面テーブル62に含まれている各画面のhtmlファイル(画面データ)が格納されている。
図3に戻り、端末10のメニュー画面表示部11は、銀行窓口業務等を担当するオペレータからのメニュー画面表示要求に応じて、キャッシュ領域36からメニュー画面(図5参照)を読み出し、ディスプレイ93上に表示する。メニュー画面には、図5に示すように、フローの選択ボタンを表示する領域102と、単取引の選択ボタンを表示する領域104と、実際の業務に用いる画面を表示する領域106と、が設けられている。
ここで、キャッシュ領域36は、図6に示すように、メニュー画面のデータを格納する第1領域としての固定領域41と、業務画面(フローテーブル60に含まれる画面A、B、…)のデータを格納可能な第2領域としての可変領域42とを有する。固定領域41は、キャッシュサイズ(記憶容量)が固定的に設定された領域であり、可変領域42は、キャッシュサイズを変更できる領域である。
業務選択受付部12は、ディスプレイ93上に表示されたメニュー画面においてオペレータによって選択された業務フローや単取引の情報を取得する。また、業務選択受付部12は、オペレータによって選択された業務フローや単取引の情報をキャッシュサイズ設定部14及びキャッシュ削除部16に対して送信する。
キャッシュサイズ設定部14は、業務選択受付部12から送信されてきた業務フローや単取引の情報と、フロー情報テーブル30とに基づいて、キャッシュ領域36の可変領域42のサイズを決定し、変更する。ここで、フロー情報テーブル30のデータは、サーバ50のシステム制御部52にて生成され、当該システム制御部52から情報取得部24に対して送信される。そして、情報取得部24は、フロー情報テーブル30に受信したデータを格納する。
フロー情報テーブル30は、図7に示すように、「業務内容」、「分岐」、「遷移パターン」、「画面サイズ」の各フィールドを有している。「業務内容」、「分岐」及び「遷移パターン」のフィールドには、フローテーブル60(図4(a))の内容が格納される。「画面サイズ」のフィールドには、各遷移パターンで用いる画面のサイズの合計(図4(b)の画面テーブル62から算出できる)が格納される。
キャッシュ削除部16は、業務選択受付部12から送信されてきた(オペレータによって選択された)業務フロー又は単取引の情報に基づいて、キャッシュ領域36の可変領域42に格納されている業務画面のデータの少なくとも一部を削除する。例えば、キャッシュ削除部16は、直前に行われた業務フローとオペレータによって選択された業務フローとが異なる場合に、両業務フローそれぞれにおいて用いられる業務画面の画面データをキャッシュ領域36の可変領域42に残し、その他の業務画面の画面データを可変領域42から削除する。なお、キャッシュ削除部16は、上記削除の際には、フロー情報テーブル30を参照する。
業務画面取得部18は、フローに含まれる業務画面の画面データをサーバ50から取得し、キャッシュ領域36の可変領域42に格納する。なお、業務画面取得部18は、必要な画面が既にキャッシュ領域36に格納されている場合には、当該画面を再取得しないものとする。また、業務画面取得部18は、単取引の業務画面の画面データをサーバ50から取得し、業務画面表示部20に送信する。
業務画面表示部20は、オペレータの操作に合わせて(業務フローの進行度合いに合わせて)、キャッシュ領域36から画面を取得し、ディスプレイ93上(ブラウザ上)に表示する。例えば、オペレータがメニュー画面においてフロー1を選択した場合には、オペレータの操作に合わせて、業務画面表示部20が、フロー情報テーブル30で定義されている画面A→画面B→画面Cの順にディスプレイ93上に表示する。また、オペレータがメニュー画面において単取引を選択した場合には、業務画面取得部18がサーバ50から取得した単取引の業務画面のデータを、業務画面表示部20が、ディスプレイ93上に表示する。なお、業務画面取得部18は、単取引の画面データをキャッシュ領域36の固定領域41に格納し、業務画面表示部20は、単取引の画面データを固定領域41から読み出すこととしてもよい。
入力受付部22は、業務画面表示部20がブラウザ上に表示した業務画面に対するオペレータからの入力情報を受け付けて、当該入力情報を業務画面取得部18及び業務画面表示部20に対して送信する。
次に、本第1の実施形態において実行される処理について、図8、図9のフローチャート、及び図10を用いて詳細に説明する。
図8は、サーバ50の起動時における処理を示している。図8の処理では、まず、ステップS10において、システム制御部52が、フローテーブル60に含まれるフローや単取引で利用される画面のサイズを、画面テーブル62から取得する。
次いで、ステップS12では、システム制御部52が、フローテーブル60に含まれるフローや単取引において利用される画面のサイズ合計を算出する。例えば、フロー1であれば、画面A、B,Cを含むので、5+4+3=12(Mbyte)が算出される。
次いで、ステップS14では、システム制御部52が、フローテーブル60の内容及びステップS12の算出結果を、端末10の情報取得部24に対して送信する。なお、情報取得部24では、取得した情報をフロー情報テーブル30に格納する。
次に、端末10の処理について、図9のフローチャートに沿って、かつ図10を参照しつつ詳細に説明する。なお、図10には、端末10において、フロー1と、フロー2のルートA(以下、フロー2Aと呼ぶ)を連続的に実行する場合の画面遷移及びキャッシュ領域36の可変領域42の変化が模式的に示されている。
なお、図9の前提として、上述した図8の処理は終了しているものとする。また、キャッシュ領域36の可変領域42は存在していない(サイズが0である)ものとする。更に、図9の処理の前には、既にオペレータからのメニュー画面表示要求に応じて、メニュー画面表示部11が図5のメニュー画面をディスプレイ上(ブラウザ上)に表示しているものとする。
図9の処理では、まず、ステップS20において、業務選択受付部12が、オペレータによる画面遷移指示を受け付ける。なお、オペレータは、入力部95を介してメニュー画面(図5)上のフローや単取引を選択することにより画面遷移指示を出す。
次いで、ステップS22では、業務選択受付部12が、オペレータによる画面遷移指示が、単取引を実行する指示であったか否かを判断する。ここでの判断が肯定された場合には、ステップS30に移行するが、否定された場合、すなわち、オペレータによる画面遷移指示がフローを実行する指示であった場合には、ステップS24に移行する。
なお、図10の場合、最初にフロー1の実行が指示されているため、ステップS22の判断は否定される。なお、これ以降に実行されるステップS24〜S28の処理が、図10に示す「前処理」である。
ステップS22の判断が否定されてステップS24に移行すると、キャッシュ削除部16が、キャッシュ領域36に可変領域42が存在するか否か(サイズが0よりも大きいか否か)を判断する。ここでの判断が否定された場合には、ステップS27に移行するが、肯定された場合には、ステップS26に移行する。なお、図10のフロー1開始後の前処理が開始された段階では、未だ可変領域42が存在していない(サイズが0)状態であるので、ステップS24の判断は否定され、ステップS27に移行する。
ステップS27に移行した場合、キャッシュサイズ設定部14は、フロー情報テーブル30を参照して、実行指示のあったフローにおける画面サイズ(フロー1であれば、12Mbyte)を取得する。次いで、ステップS28では、キャッシュサイズ設定部14が、可変領域42のサイズ設定・変更を実行する。この場合、キャッシュサイズ設定部14は、可変領域42のサイズをステップS27で取得した画面サイズ(フロー1であれば、12Mbyte)に設定する。
その後は、ステップS30において、業務画面取得部18及び業務画面表示部20が、画面遷移を開始する。この場合、業務画面取得部18は、入力受付部22からの入力情報に応じ、フロー情報テーブル30の遷移パターンに沿って業務画面の画面データをサーバ50側から取得する。また、業務画面表示部20は、入力受付部22からの入力情報に応じて、可変領域42から表示すべき業務画面の画面データを読み出して、ディスプレイ93上(ブラウザ上)に表示する。
一方、フロー1の後にフロー2Aが開始された場合の前処理では、可変領域42が既に存在しているので、ステップS24の判断が肯定され、ステップS26に移行する。
ステップS26に移行すると、キャッシュ削除部16は、可変領域42から、開始するフロー(フロー2A)で利用しない画面データを削除する。この場合、キャッシュ削除部16は、フロー情報テーブル30を参照し、フロー1の遷移パターンに含まれているがフロー2Aの遷移パターンに含まれていない画面(ここでは、画面C)のhtmlファイルを可変領域42から削除する。
次いで、ステップS27では、キャッシュサイズ設定部14が、フロー情報テーブル30を参照して、フロー2Aに含まれる全ての画面データのサイズ(合計)を取得する。そして、ステップS28では、キャッシュサイズ設定部14が、可変領域42のサイズをフロー1とフロー2Aとの差分だけ増減させる。具体的には、キャッシュサイズ設定部14は、フロー2Aの全画面サイズ(25Mbyte)からフロー1の全画面サイズ(12Mbyte)を差し引いた13Mbyteだけ可変領域42のサイズを増加させ、可変領域42のサイズを25Mbyteにする。
その後は、ステップS30において、業務画面取得部18及び業務画面表示部20が、画面遷移を開始する。この場合、業務画面取得部18は、入力受付部22からの入力情報に応じ、フロー情報テーブル30の遷移パターンに沿って画面をサーバ50側から取得する。なお、取得すべき画面データが既に可変領域42に存在している場合には、業務画面取得部18は、改めて画面データを取得しないものとする。これにより、業務画面取得部18は、画面データの取得に関する処理を効率化することができる。また、業務画面表示部20は、入力受付部22からの入力情報に応じて、可変領域42から表示すべき画面のデータを読み出して、ディスプレイ93上(ブラウザ上)に表示する。
なお、ステップS22の判断が肯定された場合、すなわち、画面遷移指示が単取引を実行する指示であった場合には、ステップS30に直接移行する。この場合、業務画面表示部20は、キャッシュ領域36を利用することなく、業務画面取得部18がサーバ50から取得した画面をディスプレイ93上(ブラウザ上)に表示する。
以上のように、端末10において上記処理を行うことで、キャッシュ領域36の可変領域42のサイズが、次に実行するフローにとって適切なサイズ(必要最小限のサイズ)に設定されることになる。また、フローを連続して行う場合に、直前に行ったフローと直後に行うフローで重複していない画面データのみを可変領域42から削除するので、業務画面取得部18による画面データの取得回数を減らすことができるとともに、可変領域42のサイズを必要最小限としても可変領域42におけるヒット率(可変領域42において画面データを検索した場合にヒットする率)を向上することができる。
ここで、図11に基づいて、銀行における新規口座開設処理に本第1の実施形態を適用した場合について、説明する。図11には、新規口座開設処理(普通預金)の後に新規口座開設処理(定期預金)を実行する場合の例が示されている。なお、図12には、図5に示されるメニュー画面について、図11の各処理を実行する際に用いられるように変更した一例が図示されている。
図11の処理では、新規口座開設処理(普通預金)の前処理にて、可変領域42のサイズが、画面A〜画面Eの合計サイズと同一のサイズに設定される。そして、新規口座開設処理(普通預金)の処理がすすむにつれ、可変領域42に画面データが格納されることになる。その後、新規口座開設処理(定期預金)が開始されると、前処理において、新規口座開設処理(普通預金)で使用するが新規口座開設処理(定期預金)で使用しない画面(画面D)が可変領域42から削除される。次いで、可変領域42のサイズが、画面A〜C、E及びFの合計サイズと同一のサイズに設定される。そして、画面Fを表示する直前に可変領域42に画面Fの画面データが格納されるようになっている。
このように、新規口座開設処理(普通預金)と新規口座開設処理(定期預金)のように、2つの処理で使用する画面がわずかに異なるような場合に、本第1の実施形態を採用することで、画面取得処理の効率化を図ることができる。
以上、詳細に説明したように、本実施形態によると、フローの遷移パターンに沿ってサーバ50から取得した複数の画面を順次表示する端末10において、キャッシュサイズ設定部14が、あるフローが実行される際に、当該あるフローで使用する全ての画面データの合計サイズを取得する(S27)とともに、あるフローで使用する全画面データの合計サイズに基づいて可変領域42のサイズを変更する(S28)。このように、可変領域42のサイズを直後に行うフローで使用する画面の合計サイズと同一サイズに変更することで、可変領域42のサイズを必要最小限に抑えることができる。これにより、可変領域42のサイズを必要以上にとりすぎて、当該可変領域42が端末10における他の処理や端末10全体の性能に影響を与えるという事態の発生を抑制することができる。また、画面データを一時的に格納するキャッシュ領域36を利用することで、画面表示処理を効率的に行うことができ、画面表示を短時間で行うことができる。このような画面表示の短時間化は、銀行業務など顧客を相手にした業務において、顧客を待たせないという点で有効である。また、本実施形態では、固定領域41と可変領域42とを分けているので、頻繁に利用する画面データ(メニュー画面等)のサイズ等を考慮しなくても可変領域42のサイズを決定することができ、処理の簡素化を図ることができる。
また、本実施形態では、端末10上で直前に実行されたフローで使用した画面と、次に端末10で実行されるフローで使用する画面との相違に基づいて、可変領域42に既に格納されている画面のデータを削除する(S26)。このため、次に実行されるフローで実際に使用する画面のみを可変領域42に格納した状態で、次のフローを開始することができる。これにより、次のフローにおいて不要な画面が可変領域42に格納されていないことから、可変領域42のサイズを必要最小限としても、画面データのヒット率を向上することができる。また、可変領域42から、次のフローで使用する画面を削除しない(可変領域42に画面を残す)こととしているので、当該画面を再度サーバ50から取得する必要がなく、処理の効率化を図ることができる。なお、従来においては、キャッシュ領域が一杯になった場合には、古い画面データを順次削除する方法がとられるのが一般的であった。この方法では、頻繁に使用する画面データであっても時間の経過とともにキャッシュ領域から削除されることとなる。したがって、このような従来の方法と比較しても、本実施形態におけるヒット率は向上しているといえる。
ここで、キャッシュサイズの大きさと、端末10における他処理への性能影響との間には、図13(a)に示すような関係(キャッシュサイズが大きくなるほど影響が大きくなるという関係)がある。本実施形態では、図13(b)に破線矢印にて示すように、キャッシュサイズを小さくすることで、他処理への性能影響を小さくすることができる。また、ヒット率とレスポンス(通信)との間には、図13(c)に示すような関係(キャッシュにおけるヒット率が上がらなければレスポンス(通信)が長時間となるという関係)がある。本実施形態では、図13(d)に破線矢印にて示すように、ヒット率を上げることによりレスポンス(通信)の改善を図ることとしている。
なお、上記実施形態では、業務画面取得部18が、必要な画面をフローの進行に合わせてサーバ50から逐一取得する場合について説明したが、これに限られるものではない。例えば、図14に示すように、業務画面取得部18は、各フローの前処理の段階で、フローにおいて使用する全ての画面データをサーバ50から取得し、可変領域42に格納しておいてもよい。この場合、端末10は、図15のフローチャートに沿った処理を実行するようにすればよい。
図15の処理では、ステップS20〜S28までの処理において、上記実施形態で説明した図9のステップS20〜S28までの処理と同一の処理を行うが、ステップS30の前に、業務画面取得部18がステップS29を実行する。具体的には、ステップS29では、業務画面取得部18が、画面一括ロード処理を実行する。この画面一括ロード処理は、業務画面取得部18が、フロー情報テーブル30の遷移パターンを参照して、フローで利用する画面の全てが可変領域42に格納されるように、サーバ50から画面データを取得する。なお、業務画面取得部18は、可変領域42に既に存在している画面データは、サーバ50から改めて取得しないものとする。なお、ステップS22の判断が肯定されてステップS29に移行した場合には、業務画面取得部18は、画面一括ロード処理において単取引で利用される一画面を取得する。
なお、ステップS30では、業務画面表示部20は、キャッシュ領域36の可変領域42に格納されている画面データを読み出して、ディスプレイ93上に表示する。
このように、フロー開始前において画面データを一括取得することで(S29)、フロー実行中に業務画面取得部18が画面表示と同期して画面データを取得する処理を行わなくてもよくなる。これにより、フロー実行中における端末10への負担を軽減することができる。
なお、上記実施形態では、可変領域42のサイズを、次に実行するフローに含まれる画面データのサイズの合計と同一のサイズに設定する場合について説明したが、これに限られるものではない。例えば、可変領域42のサイズを、次に実行するフローに含まれる画面データのサイズの合計に所定の値を加算又は積算した値(サイズ)に設定するなどしてもよい。
なお、上記実施形態では、サーバ50が、図4(a)のフローテーブル60と図4(b)の画面テーブル62を別々に保持している場合について説明したが、これに限られるものではない。例えば、サーバ50が端末10側のフロー情報テーブル30と同様のテーブルを保持していてもよい。
《第2の実施形態》
次に、第2の実施形態について図16〜図19に基づいて説明する。なお、本第2の実施形態の装置構成等は、図1〜図3に示すハードウェア構成、機能ブロックと同様となっている。
図16には、本第2の実施形態に係る、分岐を有するフロー(フロー1とする)の画面遷移パターンの一例が示されている。図16に示すフロー1は、画面Aの後と画面Gの後に分岐を有している。
図17は、第2の実施形態に係るフロー1を実行する場合の画面遷移及び可変領域42の状態を模式的に示した図である。また、図18は、フロー1の前処理を含む処理を示すフローチャートであり、図19は、フロー1の分岐判定処理を示すフローチャートである。
図18の処理では、まず、ステップS200において、業務選択受付部12が、画面遷移指示を受け付ける。次いで、ステップS202において、業務選択受付部12は、画面遷移指示において、単取引の指示が出されたか否かを判断する。ここでの判断が否定された場合には、ステップS204に移行する。なお、ステップS204〜ステップS222の処理が、図17の前処理である。
ステップS204に移行した場合、キャッシュサイズ設定部14は、可変領域42が存在するか(サイズが0より大きいか)否かを判断する。ここでの判断が肯定された場合には、ステップS206に移行し、否定された場合には、ステップS208に移行する。
ステップS206に移行した場合、キャッシュ削除部16は、開始するフローで利用しない画面を可変領域42から削除する。その後は、ステップS208に移行する。
ステップS206の後又はステップS204の判断が否定された後、ステップS208に移行すると、キャッシュサイズ設定部14は、フローに分岐が含まれているか否かを確認する処理(分岐有無確認処理)を実行する。フロー1の場合、キャッシュサイズ設定部14は、図16の遷移パターン(フロー情報テーブル30に格納されている)に基づいて、分岐が存在していることを確認する。
次いで、ステップS210では、キャッシュサイズ設定部14が、ステップS208の結果、分岐が存在するか否かを判断する。ここでの判断が肯定された場合、すなわち、図16に示すように、フロー1に分岐が存在している場合には、ステップS218に移行し、分岐判定後に利用する画面をキャッシュしているか否かを判断する。ここでの判断が否定された場合には、ステップS220に移行し、可変領域42のサイズを、次の分岐判定処理までに利用する画面のサイズ分に変更する。なお、図17の前処理の場合であれば、可変領域42のサイズが、次の分岐判定処理までに利用する画面(画面Aのみ)のサイズに設定されるようになっている。その後は、ステップS214において、業務画面取得部18が、画面一括ロード処理(図15のステップS29と同様)を行い、ステップS216において、業務画面表示部20が、画面遷移処理を行い、図18の全処理を終了する。
なお、ステップS218の判断が肯定された場合には、ステップS222に移行し、可変領域42のサイズを、分岐判定後に利用するキャッシュ済みの画面のサイズと、分岐判定処理までに利用する画面のサイズの合計値に設定する。なお、ステップS222の後は、ステップS214,S216の処理が実行され、図18の全処理が終了する。
一方、ステップS210の判断が否定された場合、すなわち、分岐が存在していない場合には、ステップS212に移行し、可変領域42のサイズを次に開始するフロー(フロー1)で利用する全ての画面データのサイズ(合計)に変更する。その後は、ステップS214,S216の処理が実行され、図18の全処理が終了する。
なお、ステップS202の判断が肯定された場合、すなわち、画面遷移指示が単取引の実行指示であった場合には、ステップS214,S216の処理が実行され、図18の全処理が終了する。
次に、分岐判定処理について、図19のフローチャートに沿って説明する。
図19の処理では、まず、ステップS230において、業務選択受付部12が、オペレータの入力に応じて分岐のいずれかが選択されたことを検出すると、ステップS232に移行する。なお、オペレータは、画面A上において、画面B,Cの分岐処理を行うのか、画面D,Eの分岐処理を行うのかを選択するものとする。
ステップS232では、今回の分岐判定後に再度分岐が存在するか否かを判断する。ここでの判断が否定された場合には、ステップS234において、キャッシュサイズ設定部14は、可変領域42のサイズに残りのフローで利用する全ての画面データのサイズ分を加算する。その後は、ステップS236,S238を図18のステップS214,S216と同様に実行する。
一方、ステップS232の判断が肯定された場合、すなわち図16のフロー1のように分岐後に再度分岐が存在する場合には、ステップS240に移行し、分岐判定後に利用する画面データをキャッシュしているか否かを判断する。ここでの判断が否定された場合には、ステップS242に移行し、キャッシュサイズ設定部14は、可変領域42のサイズに次の分岐判定処理までに利用する画面データのサイズ分を加算する。その後は、ステップS236,S238を図18のステップS214,S216と同様に実行する。
また、ステップS240の判断が肯定された場合には、ステップS244に移行し、キャッシュサイズ設定部14は、分岐判定後に利用するキャッシュ済みの画面データのサイズと、分岐判定処理までに利用する画面データのサイズの合計値を可変領域42のサイズに加算する。その後は、ステップS236,S238を図18のステップS214,S216と同様に実行する。
以上説明したように、本第2の実施形態によると、フローに分岐が含まれている場合に、キャッシュサイズ設定部14は、分岐の選択がオペレータによって行われた後に、分岐以降の業務画面のサイズに基づいて可変領域42のサイズを変更する。これにより、分岐のタイミング等を考慮した適切な可変領域42のサイズ変更が可能となるので、可変領域42のサイズを必要以上に大きくとるなどして端末10全体の性能に影響が生じるのを抑制することができる。
なお、上記第2の実施形態では、前処理や分岐判定の際に画面データを一括ロードする場合(S214、S236)について説明したが、これに限られるものではない。第1の実施形態と同様、画面表示と同期させて、業務画面取得部18が画面データをサーバ50から逐一取得するようにしてもよい。
《第3の実施形態》
次に、第3の実施形態について、図20〜図23に基づいて詳細に説明する。図20には、第1の実施形態の図3に対応する、第3の実施形態に係るサーバ50及び端末10の機能ブロック図が示されている。
図20と図3とを比較するとわかるように、本第3の実施形態では、サーバ50が取引履歴DB64を保持しているとともに、端末10が解析結果DB34を保持している。なお、取引履歴DB64には、サーバ50に接続されている各端末における取引履歴の情報が格納される。また、システム制御部52は、取引履歴DB64に格納されている情報を解析し、当該解析結果を端末10の情報取得部24に送信する。情報取得部24は、受信した解析結果を解析結果DB34に格納する。なお、解析結果DB34は、キャッシュ削除部16によって参照され、キャッシュ削除部16によるキャッシュ削除の際の判断基準として利用される。
ここで、取引履歴DB64は、図21(a)に示すように、「店名」、「端末」、「日付」、「業務内容」、「ルート」、「時刻」の各フィールドを有する。「店名」のフィールドには、端末が設置されている本店・支店名が入力される。「端末」のフィールドには、各端末に割り振られた端末IDが入力される。「日付」のフィールドには、取引が行われた日付が入力され、「業務内容」のフィールドには、実施されたフロー又は単取引の名称が入力される。「ルート」のフィールドには、フローが分岐を含む場合にいずれのルートを経由したかが入力される。「時刻」のフィールドには、取引が行われた時刻が入力される。
解析結果DB34は、図21(b)に示すように、「画面」と、「再利用回数」のフィールドを有する。「画面」のフィールドには画面の名称が格納され、「再利用回数」のフィールドには、画面が利用された直後のフローで当該画面が再利用される回数が格納される。
次に、本第3の実施形態における処理について、図22、図23に基づいて説明する。
図22は、本第3の実施形態に係る分岐を有するフロー1を実行する場合の処理の流れ及び可変領域42の状態を模式的に示した図である。また、図23(a)は、サーバ起動時におけるサーバ50の処理を示すフローチャートであり、図23(b)は、端末起動時における端末10の処理を示すフローチャートであり、図23(c)は、図22の後処理を示すフローチャートである。なお、図22の前処理や分岐判定処理としては、図18、図19と同様の処理が実行されるものとする。
まず、サーバ50の起動時における処理について、図23(a)に基づいて説明する。
図23(a)の処理では、まず、ステップS300において、フローテーブル60に含まれるフローや単取引で利用される画面のサイズを、画面テーブル62から取得する。次いで、ステップS302では、システム制御部52が、フローテーブル60に含まれるフローや単取引において利用される画面のサイズ合計を算出する。
次いで、ステップS304では、システム制御部52が、フローテーブル60の内容及びステップS302の算出結果を、端末10の情報取得部24に対して送信する。
次いで、ステップS306では、システム制御部52が、取引履歴情報を解析する。なお、本実施形態では、解析結果としては、あるフローで利用した画面を直後に実施するフローで利用した回数(再利用回数)が得られるものとする。システム制御部52は、解析結果(再利用回数)を端末10の情報取得部24に対して送信する。なお、解析結果としては、各画面の利用回数、利用頻度、利用割合などであってもよい。
次に、図23(b)に沿って、端末10の起動時における処理について説明する。
図23(b)の処理では、まず、ステップS310において、情報取得部24が、ステップS304でシステム制御部52から送信されてきた情報(フローテーブル60の内容及びステップS302の算出結果)を取得する。次いで、ステップS312では、情報取得部24が、ステップS306の解析結果(再利用回数)を取得する。
次いで、ステップS314では、キャッシュサイズ設定部14が、キャッシュ領域36に固定領域41を生成する。
次に、図23(c)に沿って、図22の後処理について説明する。
図23(c)の処理では、まず、キャッシュ削除部16が、ステップS320において、解析結果DB34を確認する。次いで、ステップS322では、キャッシュ削除部16が、可変領域42に格納されている画面データのうち、再利用回数の少ない画面の画面データがあるか否かを判断する。ここでの判断が否定された場合、すなわち、可変領域42に格納されている全ての画面データの再利用回数が所定の閾値(予め定められているものとする)よりも大きい場合には、図23(c)の全処理を終了する。一方、ステップS322の判断が肯定された場合には、ステップS324に移行する。
ステップS324に移行した場合、すなわち、再利用回数が所定の閾値よりも少ない画面データが可変領域42に含まれている場合には、キャッシュ削除部16は、再利用回数の少ない画面データを可変領域42から削除する処理を実行し、図23(c)の全処理を終了する。なお、図22では、分岐の後に画面Dを経由する処理が行われ、かつ、画面Dの再利用回数が所定の閾値よりも少ないため、後処理において画面Dのデータが可変領域42から削除された場合の例が示されている。
以上説明したように、本第3の実施形態によると、キャッシュ削除部16は、端末10や他の端末で使用された業務画面の使用履歴(解析結果DB34の再利用回数)を取得し、当該解析結果DB34(再利用回数)に基づいて、可変領域42に格納されている業務画面の画面データを削除する。すなわち、本第3の実施形態では、頻繁に利用される画面データを使用後もキャッシュ領域36に残し、頻繁に利用されない画面データは使用後にキャッシュ領域36から削除する。これにより、キャッシュ領域36における画面データのヒット率を向上することができ、結果的にレスポンス(通信)を改善することが可能となる。
なお、上記各実施形態では、キャッシュサイズ設定部14は、キャッシュ領域36の可変領域42のサイズを業務フローで利用する画面データの合計サイズに基づいて設定する場合について説明したが、これに限られるものではない。例えば、キャッシュサイズ設定部14は、業務フローで利用する画面の枚数と、所定値(例えば、画面データの平均値や最大値など)との積に基づいて、可変領域42のサイズを設定することとしてもよい。
なお、上記各実施形態では、業務支援システムを銀行業務の支援に用いた場合について説明したが、これに限られるものではなく、その他の業務、例えば役所の業務や会社業務など様々な業務の支援に用いることが可能である。また、上記各実施形態のキャッシュ管理に関する技術は、業務以外の様々な分野に用いることができる。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、処理装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体(ただし、搬送波は除く)に記録しておくことができる。
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD(Digital Versatile Disc)、CD−ROM(Compact Disc Read Only Memory)などの可搬型記録媒体の形態で販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
上述した実施形態は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。
なお、上記第1〜第3の実施形態の説明に関して更に以下の付記を開示する。
(付記1) 他の情報処理装置から取得した複数の画面を所定のフローに沿って順次表示する情報処理装置が有するキャッシュ領域を管理するキャッシュ領域管理プログラムであって、
前記情報処理装置上で第1のフローに沿った表示が実行される際に、当該第1のフローで使用する画面の数量を取得し、
前記キャッシュ領域に設けられた、記憶容量が固定的に設定された、前記第1のフローで使用する画面以外の画面のデータを格納する第1領域と、記憶容量を変更可能で、前記第1のフローで使用する画面のデータを一時的に格納する第2領域のうちの前記第2領域の記憶容量を、前記取得する処理で取得した画面の数量に基づいて設定する、処理をコンピュータに実行させることを特徴とするキャッシュ領域管理プログラム。
(付記2) 前記情報処理装置上で直前に実行されたフローで使用した画面と、次に実行されるフローで使用する画面との相違に基づいて、前記第2領域に既に格納されている画面のデータの少なくとも一部を削除する処理を、前記コンピュータに更に実行させることを特徴とする付記1に記載のキャッシュ領域管理プログラム。
(付記3) 前記情報処理装置を含む1又は複数の情報処理装置上で使用された画面の使用履歴を取得し、
前記使用履歴に基づいて、前記第2領域に格納されている画面のデータを削除する処理を、前記コンピュータに更に実行させることを特徴とする付記1に記載のキャッシュ領域管理プログラム。
(付記4) 前記情報処理装置上で実行される第1のフローに分岐が存在している場合には、前記分岐のいずれかが選択された後に、当該分岐以降の画面の数量に基づいて第2領域の記憶容量を変更することを特徴とする付記1〜3のいずれかに記載のキャッシュ領域管理プログラム。
(付記5) 他の情報処理装置から取得した複数の画面を所定のフローに沿って順次表示する情報処理装置であって、
記憶容量が固定的に設定された、前記所定のフローで使用する画面以外の画面のデータを格納する第1領域と、記憶容量を変更可能で、前記所定のフローで使用する画面のデータを一時的に格納する第2領域と、を含むキャッシュ領域と、
第1のフローを実行する際に、当該第1のフローで使用する画面の数量に基づいて前記第2領域の記憶容量を変更する変更部と、を備える情報処理装置。
(付記6) 直前に実行されたフローで使用した画面と、次に実行されるフローで使用する画面との相違に基づいて、前記第2領域に既に格納されている画面のデータの少なくとも一部を削除する削除部を更に備える付記5に記載の情報処理装置。
(付記7) 前記画面の使用履歴を取得する取得部と、
前記使用履歴に基づいて、前記第2領域に格納されている画面のデータを削除する削除部と、を更に備える付記5に記載の情報処理装置。
(付記8) 前記第1のフローに分岐が存在している場合には、
前記変更部は、前記分岐のいずれかが選択された後に、当該分岐以降の画面の数量に基づいて第2領域の記憶容量を変更することを特徴とする付記5〜7のいずれかに記載の情報処理装置。
(付記9) 他の情報処理装置から取得した複数の画面を所定のフローに沿って順次表示する情報処理装置が有するキャッシュ領域を管理するキャッシュ領域管理方法であって、
前記情報処理装置上で第1のフローに沿った表示が実行される際に、当該第1のフローで使用する画面の数量を取得する工程と、
前記キャッシュ領域に設けられた、記憶容量が固定的に設定された、前記第1のフローで使用する画面以外の画面のデータを格納する第1領域と、記憶容量を変更可能で、前記第1のフローで使用する画面のデータを一時的に格納する第2領域のうちの前記第2領域の記憶容量を、前記取得する工程で取得した画面の数量に基づいて設定する工程と、をコンピュータが実行することを特徴とするキャッシュ領域管理方法。
(付記10) 前記情報処理装置上で直前に実行されたフローで使用した画面と、次に実行されるフローで使用する画面との相違に基づいて、前記第2領域に既に格納されている画面のデータの少なくとも一部を削除する工程を、前記コンピュータが更に実行することを特徴とする付記9に記載のキャッシュ領域管理方法。
(付記11) 前記情報処理装置を含む1又は複数の情報処理装置上で使用された画面の使用履歴を取得する工程と、
前記使用履歴に基づいて、前記第2領域に格納されている画面のデータを削除する工程と、を前記コンピュータが更に実行することを特徴とする付記9に記載のキャッシュ領域管理方法。
(付記12) 前記情報処理装置上で実行される第1のフローに分岐が存在している場合には、前記分岐のいずれかが選択された後に、当該分岐以降の画面の数量に基づいて第2領域の記憶容量を変更することを特徴とする付記9〜11のいずれかに記載のキャッシュ領域管理方法。