IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士通株式会社の特許一覧

特開2023-116924情報処理プログラム、情報処理方法および情報処理システム
<>
  • 特開-情報処理プログラム、情報処理方法および情報処理システム 図1
  • 特開-情報処理プログラム、情報処理方法および情報処理システム 図2
  • 特開-情報処理プログラム、情報処理方法および情報処理システム 図3
  • 特開-情報処理プログラム、情報処理方法および情報処理システム 図4
  • 特開-情報処理プログラム、情報処理方法および情報処理システム 図5
  • 特開-情報処理プログラム、情報処理方法および情報処理システム 図6
  • 特開-情報処理プログラム、情報処理方法および情報処理システム 図7
  • 特開-情報処理プログラム、情報処理方法および情報処理システム 図8
  • 特開-情報処理プログラム、情報処理方法および情報処理システム 図9
  • 特開-情報処理プログラム、情報処理方法および情報処理システム 図10
  • 特開-情報処理プログラム、情報処理方法および情報処理システム 図11
  • 特開-情報処理プログラム、情報処理方法および情報処理システム 図12
  • 特開-情報処理プログラム、情報処理方法および情報処理システム 図13
  • 特開-情報処理プログラム、情報処理方法および情報処理システム 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023116924
(43)【公開日】2023-08-23
(54)【発明の名称】情報処理プログラム、情報処理方法および情報処理システム
(51)【国際特許分類】
   G06F 3/0482 20130101AFI20230816BHJP
   H04L 67/5681 20220101ALI20230816BHJP
   G06F 3/14 20060101ALI20230816BHJP
【FI】
G06F3/0482
H04L67/5681
G06F3/14 400
G06F3/14 340A
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2022019324
(22)【出願日】2022-02-10
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002918
【氏名又は名称】弁理士法人扶桑国際特許事務所
(72)【発明者】
【氏名】岩館 洸太
(72)【発明者】
【氏名】渡辺 司芳
【テーマコード(参考)】
5B069
5E555
【Fターム(参考)】
5B069AA01
5B069AA02
5B069JA02
5B069JA03
5B069JA06
5B069JA07
5B069LA03
5E555AA68
5E555BA02
5E555BA05
5E555BA44
5E555BB02
5E555BB05
5E555BC04
5E555BC09
5E555BC17
5E555BD01
5E555CA02
5E555CA05
5E555CA12
5E555CA15
5E555CB03
5E555CB05
5E555CB33
5E555CB34
5E555CB42
5E555CC01
5E555CC05
5E555DB03
5E555DB41
5E555DC09
5E555DC13
5E555DC63
5E555DD07
5E555EA03
5E555EA14
5E555EA20
5E555FA00
(57)【要約】
【課題】UI部品に対するマウスオーバ操作から情報の重畳表示までの遅延時間を短縮する。
【解決手段】処理部1bは、UI部品4aに対するクリック操作が行われると、頻度管理情報5に基づき、第1のUI部品としてのUI部品4aに対して第2のUI部品として対応付けられたUI部品のうち、頻度が最大であるUI部品4bを特定し、UI部品4bに対応する表示情報4b2の送信を要求する送信要求4b1を、UI部品4aに対応する処理の実行を要求する実行要求4a1とともにサーバ装置2に送信し、サーバ装置2から送信された表示情報4b2を記憶部1aに格納し、UI部品4aに対するクリック操作の次にUI部品4bに対するマウスオーバ操作が行われると、記憶部1aに格納された表示情報4b2をGUI画面3上に重畳表示させる。
【選択図】図1
【特許請求の範囲】
【請求項1】
コンピュータに、
GUI(Graphical User Interface)画面に表示された、それぞれ個別の処理の実行を要求するための複数のUI(User Interface)部品のうち、クリック操作が行われた第1のUI部品とその次にマウスカーソルを合わせるマウスオーバ操作が行われた第2のUI部品との組み合わせごとに頻度を算出して、記憶部に記憶された頻度管理情報に登録し、
前記複数のUI部品のうち第3のUI部品に対するクリック操作が行われると、前記頻度管理情報に基づき、前記第1のUI部品としての前記第3のUI部品に対して前記第2のUI部品として対応付けられたUI部品のうち、頻度が最大である第4のUI部品を特定し、前記第4のUI部品に対応する表示情報の送信を要求する送信要求を、前記第3のUI部品に対応する処理の実行を要求する実行要求とともにサーバ装置に送信し、
前記送信要求に応じて前記サーバ装置から送信された表示情報を前記記憶部に格納し、
前記第3のUI部品に対するクリック操作の次に前記第4のUI部品に対するマウスオーバ操作が行われると、前記記憶部に格納された表示情報を前記GUI画面上に重畳表示させる、
処理を実行させる情報処理プログラム。
【請求項2】
前記コンピュータに、
前記第3のUI部品に対するクリック操作が行われたとき、前記第1のUI部品としての前記第3のUI部品に対して前記第2のUI部品として対応付けられたUI部品の中に、頻度が最大かつ同数である前記第4のUI部品が複数存在する場合には、複数の前記第4のUI部品のそれぞれに対応する表示情報の送信を要求する複数の前記送信要求を前記実行要求とともに前記サーバ装置に送信し、
複数の前記送信要求に応じて前記サーバ装置から送信された複数の表示情報を前記記憶部に格納し、
前記第3のUI部品に対するクリック操作の次に複数の前記第4のUI部品のうち第5のUI部品に対するマウスオーバ操作が行われると、前記記憶部に格納された複数の表示情報のうち、前記第5のUI部品に対応する表示情報を前記GUI画面上に重畳表示させる、
処理を実行させる請求項1記載の情報処理プログラム。
【請求項3】
前記コンピュータに、
前記第3のUI部品に対するクリック操作が行われたとき、前記第1のUI部品としての前記第3のUI部品に対して前記第2のUI部品として対応付けられたUI部品の中から、頻度が大きい順に所定数の前記第4のUI部品を特定し、前記所定数の前記第4のUI部品のそれぞれに対応する表示情報の送信を要求する前記所定数の前記送信要求を前記実行要求とともに前記サーバ装置に送信し、
前記所定数の前記送信要求に応じて前記サーバ装置から送信された前記所定数の表示情報を前記記憶部に格納し、
前記第3のUI部品に対するクリック操作の次に前記所定数の前記第4のUI部品のうち第6のUI部品に対するマウスオーバ操作が行われると、前記記憶部に格納された前記所定数の表示情報のうち、前記第6のUI部品に対応する表示情報を前記GUI画面上に重畳表示させる、
処理を実行させる請求項1記載の情報処理プログラム。
【請求項4】
前記コンピュータに、
前記第1のUI部品と前記第2のUI部品との組み合わせのそれぞれについて、頻度を更新する際に更新時刻を前記頻度管理情報に登録し、
前記第3のUI部品に対するクリック操作が行われたとき、前記第1のUI部品としての前記第3のUI部品に対して前記第2のUI部品として対応付けられたUI部品の中に、頻度が最大かつ同数である複数の第7のUI部品が存在する場合には、前記第3のUI部品と前記複数の第7のUI部品のそれぞれとの組み合わせの中から前記更新時刻が最も新しい組み合わせを特定し、特定された組み合わせに前記第2のUI部品として含まれるUI部品を前記第4のUI部品として特定する、
処理を実行させる請求項1記載の情報処理プログラム。
【請求項5】
コンピュータが、
GUI画面に表示された、それぞれ個別の処理の実行を要求するための複数のUI部品のうち、クリック操作が行われた第1のUI部品とその次にマウスカーソルを合わせるマウスオーバ操作が行われた第2のUI部品との組み合わせごとに頻度を算出して、記憶部に記憶された頻度管理情報に登録し、
前記複数のUI部品のうち第3のUI部品に対するクリック操作が行われると、前記頻度管理情報に基づき、前記第1のUI部品としての前記第3のUI部品に対して前記第2のUI部品として対応付けられたUI部品のうち、頻度が最大である第4のUI部品を特定し、前記第4のUI部品に対応する表示情報の送信を要求する送信要求を、前記第3のUI部品に対応する処理の実行を要求する実行要求とともにサーバ装置に送信し、
前記送信要求に応じて前記サーバ装置から送信された表示情報を前記記憶部に格納し、
前記第3のUI部品に対するクリック操作の次に前記第4のUI部品に対するマウスオーバ操作が行われると、前記記憶部に格納された表示情報を前記GUI画面上に重畳表示させる、
情報処理方法。
【請求項6】
情報処理装置とサーバ装置とを有する情報処理システムであって、
前記情報処理装置は、
GUI画面に表示された、それぞれ個別の処理の実行を要求するための複数のUI部品のうち、クリック操作が行われた第1のUI部品とその次にマウスカーソルを合わせるマウスオーバ操作が行われた第2のUI部品との組み合わせごとに頻度を算出して、記憶部に記憶された頻度管理情報に登録し、
前記複数のUI部品のうち第3のUI部品に対するクリック操作が行われると、前記頻度管理情報に基づき、前記第1のUI部品としての前記第3のUI部品に対して前記第2のUI部品として対応付けられたUI部品のうち、頻度が最大である第4のUI部品を特定し、前記第4のUI部品に対応する表示情報の送信を要求する送信要求を、前記第3のUI部品に対応する処理の実行を要求する実行要求とともに前記サーバ装置に送信し、
前記送信要求に応じて前記サーバ装置から送信された表示情報を前記記憶部に格納し、
前記第3のUI部品に対するクリック操作の次に前記第4のUI部品に対するマウスオーバ操作が行われると、前記記憶部に格納された表示情報を前記GUI画面上に重畳表示させ、
前記サーバ装置は、
前記送信要求を前記実行要求とともに受信すると、前記実行要求に応じた処理を実行するとともに、前記複数のUI部品のそれぞれに対応する表示情報の中から、前記送信要求によって指定された前記第4のUI部品に対応する表示情報を取得して前記情報処理装置に送信する、
情報処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理プログラム、情報処理方法および情報処理システムに関する。
【背景技術】
【0002】
GUI(Graphical User Interface)画面には、それぞれ特定の処理に対応付けられたUI(User Interface)部品が表示される。ユーザは、このようなUI部品をクリック操作等により選択するという簡単な操作を行うことで、そのUI部品に対応する処理の実行をコンピュータに要求することができる。
【0003】
また、UI部品の領域にマウスカーソルを合わせる「マウスオーバ操作」が行われたときに、そのUI部品に対応付けられたテキスト等の情報を重畳表示させる技術もある。このような重畳表示は「ツールチップ」と呼ばれる場合もある。
【0004】
ここで、クライアントサーバシステムに関して、次のような技術が提案されている。この技術では、画面転送方式のシンクライアントシステムにおいて、予測される操作に基づいて生成された実行画面情報をクライアント側で受信するタイミングが、ネットワークの通信処理能力に応じて制御される。
【0005】
また、計算機システムの管理に関して、次のような管理システムが提案されている。この管理システムは、記憶リソースの検索のたびに、指定された条件を、指定された回数と、当該条件を満たす記憶リソースが見つからなかった割合とともに記録する。そして、管理システムは、この記録情報に基づき、ユーザが指定した条件にほとんど合致しないと判断された記憶リソースについて、利用効率を向上させるための対策を判定してユーザに提示する。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2016-18260号公報
【特許文献2】国際公開第2013/111331号
【発明の概要】
【発明が解決しようとする課題】
【0007】
ところで、上記のようにUI部品へのマウスオーバ操作に応じて情報を重畳表示させる処理がクライアント装置で実行される場合、例えば次のような処理が実行される。クライアント装置は、UI部品に対するマウスオーバ操作が行われると、そのUI部品に対応する表示情報の送信をサーバ装置に要求する。そして、クライアント装置は、サーバ装置から送信された表示情報を受信し、GUI画面上に重畳表示させる。
【0008】
このような場合、マウスオーバ操作が行われてから対応する表示情報が重畳表示されるまでに、クライアント・サーバ間の通信時間に応じた遅延が生じ得る。このような遅延は、ユーザビリティを低減させるという問題がある。
【0009】
1つの側面では、本発明は、UI部品に対するマウスオーバ操作から情報の重畳表示までの遅延時間を短縮することが可能な情報処理プログラム、情報処理方法および情報処理システムを提供することを目的とする。
【課題を解決するための手段】
【0010】
1つの案では、コンピュータに、GUI画面に表示された、それぞれ個別の処理の実行を要求するための複数のUI部品のうち、クリック操作が行われた第1のUI部品とその次にマウスカーソルを合わせるマウスオーバ操作が行われた第2のUI部品との組み合わせごとに頻度を算出して、記憶部に記憶された頻度管理情報に登録し、複数のUI部品のうち第3のUI部品に対するクリック操作が行われると、頻度管理情報に基づき、第1のUI部品としての第3のUI部品に対して第2のUI部品として対応付けられたUI部品のうち、頻度が最大である第4のUI部品を特定し、第4のUI部品に対応する表示情報の送信を要求する送信要求を、第3のUI部品に対応する処理の実行を要求する実行要求とともにサーバ装置に送信し、送信要求に応じてサーバ装置から送信された表示情報を記憶部に格納し、第3のUI部品に対するクリック操作の次に第4のUI部品に対するマウスオーバ操作が行われると、記憶部に格納された表示情報をGUI画面上に重畳表示させる、処理を実行させる情報処理プログラムが提供される。
【0011】
また、1つの案では、上記の情報処理プログラムに基づく処理と同様の処理をコンピュータが実行する情報処理方法が提供される。
さらに、1つの案では、情報処理装置とサーバ装置とを有する次のような情報処理システムが提供される。この情報処理システムにおいて、情報処理装置は、GUI画面に表示された、それぞれ個別の処理の実行を要求するための複数のUI部品のうち、クリック操作が行われた第1のUI部品とその次にマウスカーソルを合わせるマウスオーバ操作が行われた第2のUI部品との組み合わせごとに頻度を算出して、記憶部に記憶された頻度管理情報に登録し、複数のUI部品のうち第3のUI部品に対するクリック操作が行われると、頻度管理情報に基づき、第1のUI部品としての第3のUI部品に対して第2のUI部品として対応付けられたUI部品のうち、頻度が最大である第4のUI部品を特定し、第4のUI部品に対応する表示情報の送信を要求する送信要求を、第3のUI部品に対応する処理の実行を要求する実行要求とともにサーバ装置に送信し、送信要求に応じてサーバ装置から送信された表示情報を記憶部に格納し、第3のUI部品に対するクリック操作の次に第4のUI部品に対するマウスオーバ操作が行われると、記憶部に格納された表示情報をGUI画面上に重畳表示させる。また、サーバ装置は、送信要求を実行要求とともに受信すると、実行要求に応じた処理を実行するとともに、複数のUI部品のそれぞれに対応する表示情報の中から、送信要求によって指定された第4のUI部品に対応する表示情報を取得して情報処理装置に送信する。
【発明の効果】
【0012】
1つの側面では、UI部品に対するマウスオーバ操作から情報の重畳表示までの遅延時間を短縮できる。
【図面の簡単な説明】
【0013】
図1】第1の実施の形態に係る情報処理システムの構成例および処理例を示す図である。
図2】第2の実施の形態に係るストレージシステムの構成例を示す図である。
図3】管理者端末のハードウェア構成例を示す図である。
図4】自動階層制御に関するGUI画面の例を示す図である。
図5】マウスオーバ操作に応じたメッセージの表示例を示す図である。
図6】管理サーバおよび管理者端末が備える処理機能の構成例を示す図である。
図7】頻度情報テーブルのデータ構成例を示す図である。
図8】メッセージテーブルのデータ構成例を示す図である。
図9】操作ボタンがクリック操作された場合の管理者端末の処理手順を示すフローチャートの例(その1)である。
図10】操作ボタンがクリック操作された場合の管理者端末の処理手順を示すフローチャートの例(その2)である。
図11】操作ボタンがクリック操作された場合の管理者端末の処理手順を示すフローチャートの例(その3)である。
図12】メッセージ受信処理の手順を示すフローチャートの例である。
図13】コマンド実行リクエストを受信した場合の管理サーバの処理手順を示すフローチャートの例である。
図14】変形例における処理手順を示すフローチャートである。
【発明を実施するための形態】
【0014】
以下、本発明の実施の形態について図面を参照して説明する。
〔第1の実施の形態〕
図1は、第1の実施の形態に係る情報処理システムの構成例および処理例を示す図である。図1に示す情報処理システムは、情報処理装置1とサーバ装置2を有する。
【0015】
情報処理装置1は、情報処理装置1に接続された図示しない表示装置にGUI画面を表示させる。GUI画面には、それぞれ個別の処理の実行を要求するための複数のUI部品が表示される。以下の説明では、例として図1に示すGUI画面3が表示されるものとする。GUI画面3には、UI部品4a~4cが表示される。UI部品4a~4cのそれぞれは、例えば、操作ボタンやハイパーリンクなどである。
【0016】
情報処理装置1は、UI部品4a~4cに対するクリック操作が行われると、操作されたUI部品に対応する処理の実行要求をサーバ装置2に送信する。また、情報処理装置1は、UI部品4a~4cの表示領域にマウスカーソルを合わせるマウスオーバ操作が行われると、操作されたUI部品に対応する表示情報の送信要求をサーバ装置2に送信する。情報処理装置1は、送信要求に応じてサーバ装置2から送信された表示情報を、GUI画面3上に重畳表示させる。
【0017】
このような表示情報としては、例えば、マウスオーバ操作されたUI部品に対応する処理に関するテキストメッセージが表示される。テキストメッセージの例としては、処理内容を説明するメッセージや、処理の実行のために必要な条件を示すメッセージなどがある。
【0018】
サーバ装置2は、UI部品4a~4cへのクリック操作に応じた実行要求を情報処理装置1から受信すると、操作されたUI部品に対応する処理を実行する。図1の例では、サーバ装置2は、UI部品4aへのクリック操作が行われた場合、処理Aを実行し、UI部品4bへのクリック操作が行われた場合、処理Bを実行し、UI部品4cへのクリック操作が行われた場合、処理Cを実行する。
【0019】
また、サーバ装置2は、UI部品4a~4cのそれぞれに対応する表示情報を保持する。そして、サーバ装置2は、UI部品4a~4cへのマウスオーバ操作に応じた送信要求を情報処理装置1から受信すると、保持している表示情報の中から、操作されたUI部品に対応する表示情報を取得して情報処理装置1に送信する。
【0020】
以下、情報処理装置1についてさらに説明する。情報処理装置1は、記憶部1aと処理部1bを有する。記憶部1aは、情報処理装置1が備える図示しない記憶装置に確保された記憶領域である。処理部1bは、例えば、情報処理装置1が備える図示しないプロセッサである。
【0021】
記憶部1aには、頻度管理情報5が記憶される。頻度管理情報5には、UI部品4a~4cのうち、クリック操作が行われた第1のUI部品と、そのクリック操作の次にマウスオーバ操作が行われた第2のUI部品との組み合わせごとに、そのようなパターンの操作が行われた頻度が登録される。
【0022】
処理部1bは、UI部品4a~4cに対するクリック操作やマウスオーバ操作を監視し、上記の第1の部品と第2の部品との組み合わせごとに頻度を算出して頻度管理情報5に登録する。
【0023】
また、処理部1bは、UI部品4a~4cの1つ(第3のUI部品とする)に対するクリック操作が行われると、頻度管理情報5に基づき、第1のUI部品としての当該第3の部品に対して第2のUI部品として対応付けられたUI部品の中から、頻度が最大であるUI部品を特定する。
【0024】
図1の例では、UI部品4aに対するクリック操作が行われたとする。このとき、頻度管理情報5aには、第1のUI部品としてのUI部品4aに対して、第2のUI部品としてUI部品4bとUI部品4cとが対応付けられている。そして、UI部品4aとUI部品4bとの組み合わせに対して頻度「10」が登録され、UI部品4aとUI部品4bとの組み合わせに対して頻度「2」が登録されている。この場合、処理部1bは、頻度が最大である第2のUI部品としてUI部品4bを特定する。これにより、UI部品4aへのクリック操作の次にマウスオーバ操作が行われるUI部品として、UI部品4bが予測される。
【0025】
処理部1bは、このような特定処理を実行すると、クリック操作されたUI部品4aに対応する処理Aの実行要求4a1とともに、特定されたUI部品4bに対応する表示情報の送信要求4b1をサーバ装置2に送信する。
【0026】
サーバ装置2は、実行要求4a1および送信要求4b1を受信すると、実行要求4a1に基づいてUI部品4aに対応する処理Aを実行する。これとともに、サーバ装置2は、送信要求4b1に基づき、保持された表示情報の中からUI部品4bに対応する表示情報4b2を取得して、情報処理装置1に送信する。処理部1bは、送信された表示情報4b2を記憶部1aに格納する。
【0027】
処理部1bは、UI部品4aに対するクリック操作の次に、UI部品4bにマウスカーソル6を合わせるマウスオーバ操作が行われると、予測に成功したと判定し、記憶部1aに格納された表示情報4b2を取得してGUI画面3上に重畳表示させる。この場合、送信要求4b1は送信されない。図1の例では、GUI画面3上に重畳表示された表示部4b3に、表示情報4b2の内容が表示される。
【0028】
このように、処理部1bは、予測が成功した場合には、マウスオーバ操作が行われた時点で送信要求4b1を送信せずに、事前に送信された送信要求4b1に応じて取得された表示情報4b2を用いて重畳表示処理を実行する。これにより、マウスオーバ操作が行われた時点で送信要求4b1を送信して表示情報4b2を取得する場合と比較して、マウスオーバ操作が行われてから表示情報4b2が表示されるまでの遅延時間を短縮することができる。
【0029】
〔第2の実施の形態〕
次に、上記の情報処理システムの例としてストレージシステムを適用した場合について説明する。
【0030】
図2は、第2の実施の形態に係るストレージシステムの構成例を示す図である。図2に示すストレージシステムは、ストレージ装置10、業務サーバ20、管理サーバ30および管理者端末40を含む。なお、管理サーバ30は、図1に示したサーバ装置2の一例であり、管理者端末40は、図1に示した情報処理装置1の一例である。
【0031】
ストレージ装置10は、CM(Controller Module)11とドライブ部12を備える。また、CM11と業務サーバ20は、ネットワーク51を介して相互に接続されている。ネットワーク51は、例えばSAN(Storage Area Network)である。
【0032】
CM11は、業務サーバ20からの要求に応じて、ドライブ部12に搭載された記憶装置にアクセスするストレージ制御装置である。例えば、ドライブ部12に搭載された記憶装置の記憶領域を用いて仮想ボリュームが設定され、CM11は、業務サーバ20から仮想ボリュームに対するアクセス要求を受け付ける。
【0033】
ドライブ部12には、業務サーバ20からのアクセス対象となる記憶装置が搭載されている。本実施の形態において、ドライブ部12には、アクセス性能の異なる複数種類の記憶装置が搭載されている。例えば、ドライブ部12には、アクセス性能の低い順に、ニアラインHDD(Hard Disk Drive)、オンラインHDD、SSD(Solid State Drive)が搭載されている。
【0034】
業務サーバ20は、種々の業務処理を実行するサーバコンピュータである。業務サーバ20は、仮想ボリュームに対するアクセス要求をCM11に送信することで、仮想ボリュームにアクセスすることが可能になっている。
【0035】
管理サーバ30は、ネットワーク52を介してCM11、業務サーバ20および管理者端末40と接続されている。ネットワーク52は、例えば、LAN(Local Area Network)でもよいし、WAN(Wide Area Network)やインターネットなどの広域ネットワークでもよい。
【0036】
管理サーバ30は、ストレージ装置10の運用を管理するサーバコンピュータである。例えば、管理サーバ30は、ストレージ装置10における階層制御を行う。この場合、管理サーバ30は、例えば、仮想ボリューム上のデータのアクセス頻度をCM11から定期的に収集し、仮想ボリューム上のデータがそのアクセス頻度に応じた適切なアクセス性能を有する記憶装置に配置されるように制御する。
【0037】
管理者端末40は、ストレージシステムの管理者が利用する端末装置である。例えば、管理者端末40は、管理者の操作により、仮想ボリュームの設定や、記憶領域の階層化に関する設定などを管理サーバ30に実行させる。
【0038】
図3は、管理者端末のハードウェア構成例を示す図である。管理者端末40は、例えば、図3に示すようなコンピュータとして実現される。図3に示す管理者端末40は、プロセッサ401、RAM(Random Access Memory)402、SSD403、GPU(Graphics Processing Unit)404、入力インタフェース(I/F)405、読み取り装置406および通信インタフェース(I/F)407を備える。
【0039】
プロセッサ401は、管理者端末40全体を統括的に制御する。プロセッサ401は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)またはPLD(Programmable Logic Device)である。また、プロセッサ401は、CPU、MPU、DSP、ASIC、PLDのうちの2以上の要素の組み合わせであってもよい。
【0040】
RAM402は、管理者端末40の主記憶装置として使用される。RAM402には、プロセッサ401に実行させるOS(Operating System)プログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM402には、プロセッサ401による処理に必要な各種データが格納される。
【0041】
SSD403は、管理者端末40の補助記憶装置として使用される。SSD403には、OSプログラム、アプリケーションプログラム、および各種データが格納される。なお、補助記憶装置としては、HDDなどの他の種類の不揮発性記憶装置を使用することもできる。
【0042】
GPU404には、表示装置41が接続されている。GPU404は、プロセッサ401からの命令にしたがって、画像を表示装置41に表示させる。表示装置41は、例えば、液晶ディスプレイまたは有機EL(ElectroLuminescence)ディスプレイである。
【0043】
入力インタフェース405には、入力装置42が接続されている。入力インタフェース405は、入力装置42から出力される信号をプロセッサ401に送信する。入力装置42としては、例えば、キーボードやポインティングデバイスなどが使用される。ポインティングデバイスとしては、マウス、タッチパネル、タブレット、タッチパッド、トラックボールなどが使用される。
【0044】
読み取り装置406には、可搬型記録媒体43が脱着される。読み取り装置406は、可搬型記録媒体43に記録されたデータを読み取ってプロセッサ401に送信する。可搬型記録媒体43としては、光ディスク、半導体メモリなどが使用される。
【0045】
通信インタフェース407は、ネットワーク52を介して管理サーバ30などの他の装置との間でデータの送受信を行う。
以上のようなハードウェア構成によって、管理者端末40の処理機能を実現することができる。なお、CM11、業務サーバ20および管理サーバ30も、図3に例示したハードウェア構成のコンピュータとして実現可能である。
【0046】
ところで、前述のように、本実施の形態では、ストレージ装置10の階層制御が行われる。階層制御は、次のようにして行われる。
前述のように、ストレージ装置10には、業務サーバ20からのアクセス対象となる仮想ボリューム(論理ボリューム)が設定される。また、ストレージ装置10には、仮想ボリュームに対応する物理記憶領域の割り当て元となるTierプールが設定される。Tierプールは、ドライブ部12に搭載された1台以上の記憶装置によって実現される記憶領域である。そして、仮想ボリュームを所定サイズごとに分割した単位領域ごとに、Tierプールから記憶領域が割り当てられる。ただし、本実施の形態では、仮想ボリューム上の単位領域のうち、業務サーバ20からの要求に応じてデータが格納されている単位領域に対してのみ、Tierプールから記憶領域が割り当てられる。
【0047】
Tierプールは、互いにアクセス速度の異なる記憶装置によって実現される複数のサブプールに分割される。これにより、Tierプールは、アクセス速度の異なる複数の記憶領域に階層化される。そして、単位領域には、業務サーバ20からのアクセス頻度に応じて、いずれかのサブプールから記憶領域が割り当てられる。すなわち、アクセス頻度が高い単位領域には、アクセス速度の高い記憶装置によって実現されるサブプールが割り当てられ、アクセス頻度が低い単位領域には、アクセス速度の低い記憶装置によって実現されるサブプールが割り当てられる。
【0048】
これにより、ストレージ装置10は、アクセス頻度が高いデータほど高速でアクセスできるようになる。したがって、業務サーバ20からのアクセス頻度が高いデータほど、業務サーバ20からのアクセス要求に対する応答速度が高くなる。その結果、全体として業務サーバ20からのアクセス要求に対する応答性能が向上する。
【0049】
管理サーバ30は、管理者端末40を用いた管理者の操作に応じて、階層制御に関する各種の設定や、自動階層制御を実行する。自動階層制御とは、仮想ボリュームの単位領域に対するアクセス頻度の変化に応じて、単位領域に対する物理記憶領域の割り当てを階層間(すなわちサブプール間)で自動的に変更する処理である。
【0050】
管理サーバ30は、各種の設定内容を表示し、各種のコマンドの実行を要求するためのGUI画面を、管理者端末40の表示装置41に表示させる。管理者端末40を操作する管理者は、GUI画面を介して、Tierプールの作成や構成変更、削除、自動階層制御の開始、停止などのコマンドの実行を管理サーバ30に対して要求することができる。
【0051】
管理サーバ30は、例えば、このようなGUI画面の表示データを管理者端末40に送信し、GUI画面に対する操作に応じたコマンド実行要求を受け付けるWebサーバ機能を備える。この場合、管理者端末40は、Webクライアントとして動作し、WebブラウザによってGUI画面を表示装置41に表示させる。また、管理者端末40は、GUI画面の表示のための専用ブラウザを備えてもよい。
【0052】
図4は、自動階層制御に関するGUI画面の例を示す図である。図4に示すGUI画面100は、管理サーバ30からの表示データに基づいて管理者端末40の表示装置41に表示されるGUI画面のうち、自動階層制御に関する情報の表示や操作を行うためのGUI画面の一例である。
【0053】
このGUI画面100には、自動階層制御に関する情報の一例として、Tierプールの設定情報が表示される情報表示部101と、Tierプールの設定や自動階層制御の動作制御を行うための操作部102とが表示される。操作部102には、UI部品として操作ボタン103a~103lが表示される。
【0054】
操作ボタン103aは、Tierプールの新規作成を要求するコマンドを送信するためのUI部品である。操作ボタン103bは、Tierプールにおける1階層のサブプールの新規作成を要求するコマンドを送信するためのUI部品である。操作ボタン103cは、Tierプールの削除を要求するコマンドを送信するためのUI部品である。操作ボタン103dは、Tierプールの構成(記憶装置の構成や記憶容量など)の変更を要求するコマンドを送信するためのUI部品である。操作ボタン103eは、Tierプール内の階層(サブプール)の構成変更を要求するコマンドを送信するためのUI部品である。
【0055】
操作ボタン103fは、階層間の平準化処理の開始を要求するためのUI部品である。操作ボタン103gは、階層間の平準化処理の停止を要求するコマンドを送信するためのUI部品である。平準化処理とは、Tierプールに対して設定された複数のRAID(Redundant Arrays of Inexpensive Disks)グループについて、サブプールごとにRAIDグループ間の物理領域の割り当て容量が均等になるように物理領域を再配置する処理である。
【0056】
操作ボタン103hは、自動階層制御の開始(有効化)を要求するコマンドを送信するためのUI部品である。操作ボタン103iは、自動階層制御の停止(無効化)を要求するコマンドを送信するためのUI部品である。操作ボタン103jは、自動階層制御に関する評価情報の表示を要求するコマンドを送信するためのUI部品である。操作ボタン103kは、自動階層制御の状態の更新を要求するコマンドを送信するためのUI部品である。
【0057】
操作ボタン103lは、容量グラフの表示を要求するコマンドを送信するためのUI部品である。容量グラフとは、Tierプール内の各サブプールの記憶容量や使用量を示すグラフである。
【0058】
また、次の図5に例示するように、操作ボタン103a~103lの1つに対してマウスカーソルを合わせるマウスオーバ操作が行われると、対応するコマンドに関連するメッセージが重畳表示される。
【0059】
図5は、マウスオーバ操作に応じたメッセージの表示例を示す図である。図5では例として、図4に示したGUI画面100の操作ボタン103eの領域上にマウスカーソル104が合わせられた場合を示している。この場合、メッセージ表示部105がGUI画面100上に重畳表示される。メッセージ表示部105には、操作ボタン103eに対してあらかじめ対応付けられたテキストメッセージが表示される。なお、このように重畳表示されるメッセージ表示部は、「ツールチップ」と呼ばれる場合もある。
【0060】
本実施の形態では例として、メッセージ表示部には、対応するコマンドに応じた処理の実行条件が表示される。管理者は、ある操作ボタンのクリック操作を行う前に、その操作ボタン上にマウスカーソル104を合わせることで、その操作ボタンのクリック操作に応じた処理の実行に必要な条件を確認することができる。
【0061】
なお、メッセージ表示部に表示されるメッセージの内容としては、上記に限定されるものではない。例えば、メッセージ表示部には、対応するコマンドに応じた処理の内容を説明するメッセージが表示されてもよい。また、マウスオーバ操作に応じて重畳表示される表示内容としては、上記のようなテキストメッセージに限らず、例えば写真や絵などの画像であってもよい。
【0062】
このようなマウスオーバ操作に応じたメッセージ表示処理は、次のような手順で実行される。管理者端末40は、マウスカーソルの指示位置が操作ボタンの領域内に入ったことを検出すると、その操作ボタンに対応するメッセージを取得するためのメッセージ取得リクエストを管理サーバ30に送信する。メッセージ取得リクエストには、メッセージを識別するためのメッセージIDが含まれており、管理サーバ30は、データベースからそのメッセージIDに対応するメッセージを取得して、管理者端末40に送信する。管理者端末40は、送信されたメッセージを含むメッセージ表示部をGUI画面上に重畳表示する。
【0063】
このように、マウスオーバ操作からメッセージ表示までの間には、管理者端末40と管理サーバ30との間の通信が発生する。このため、マウスオーバ操作が行われてからメッセージが表示されるまでにある程度の遅延時間が発生する。例えば、管理者端末40と管理サーバ30とを接続するネットワーク52の通信負荷が高い場合には、遅延時間が長くなってしまう。
【0064】
マウスオーバ操作からメッセージ表示までの遅延時間が長くなることで、管理者がメッセージを確認できるまでの時間が長くなり、ユーザビリティが低下するという問題がある。特に、管理者が複数の操作ボタンを次々に連続してクリックしていこうとする際には、次の操作ボタンに対応する実行条件をできるだけ早く確認したい。しかし、上記のような遅延時間が生じることで、管理者の操作ストレスが高まり、ユーザビリティが低いと感じさせてしまう。
【0065】
そこで、本実施の形態において、管理者端末40は、クリック操作が行われた操作ボタンと、その後にマウスオーバ操作が行われる操作ボタンとの組み合わせごとに、発生頻度を算出する。また、管理者端末40は、発生頻度の監視結果に基づいて、ある操作ボタンのクリック操作が行われたときに、その後にマウスオーバ操作が行われる操作ボタンを予測し、予測された操作ボタンに対応するメッセージを管理サーバ30から事前に取得しておく。そして、管理者端末40は、予測に成功した場合には、事前取得されたメッセージを用いてメッセージ表示部を表示させる。このような処理により、マウスオーバ操作からメッセージ表示までの遅延時間を短縮できるようにし、ユーザビリティを向上させる。
【0066】
例えば、図4図5に例示した自動階層制御に関する操作では、ある操作ボタンをクリック操作した後に別の操作ボタンをクリック操作するという操作パターンとして、発生頻度が高い操作パターンが存在する。例えば、Tierプールの構成変更や平準化のための操作の前には、自動階層制御を一旦停止させる必要がある。このため、Tierプールの構成変更や平準化のための操作が行われた後には、自動階層制御を再度開始させる操作が行われることが多い。このような理由から、例として以下の操作パターンP1~P4が頻出パターンとして考えられる。
【0067】
(操作パターンP1)自動階層制御を停止させる操作ボタン103iのクリック操作の後、Tierプールの構成を変更する操作ボタン103dがクリック操作される。
(操作パターンP2)自動階層制御を停止させる操作ボタン103iのクリック操作の後、Tierプールを削除する操作ボタン103cがクリック操作される。
【0068】
(操作パターンP3)自動階層制御を停止させる操作ボタン103iのクリック操作の後、サブプールの構成を変更する操作ボタン103eがクリック操作される。
(操作パターンP4)サブプールの構成を変更する操作ボタン103eのクリック操作の後、自動階層制御を開始させる操作ボタン103hがクリック操作される。
【0069】
また、その他に次のような操作パターンP5~P8も考えられる。
(操作パターンP5)平準化処理を開始させる操作ボタン103fのクリック操作の後、容量の平準化がなされたかを確認するために、容量グラフを表示させる操作ボタン103lがクリック操作される。
【0070】
(操作パターンP6)Tierプールの構成変更後、Tierプール間の容量を平準化させる前に、Tierプールの構成変更を適用させる。このため、自動階層制御の状態を更新する操作ボタン103kのクリック操作の後、平準化処理を開始させる操作ボタン103fがクリック操作される。
【0071】
(操作パターンP7)操作ボタン103lのクリック操作により容量グラフを表示させて確認すると、各サブプールの容量の不足が見られたため、サブプールの構成を変更する操作ボタン103eがクリック操作され、サブプールの容量が変更される。
【0072】
(操作パターンP8)操作ボタン103lのクリック操作により容量グラフを表示させて確認すると、サブプール間の容量に偏りが見られたため、平準化処理を開始させる操作ボタン103fがクリック操作される。
【0073】
このように、自動階層制御に管理においては、頻出する操作パターンが存在する。このため、クリック操作された操作ボタンと、その次にマウスオーバ操作された操作ボタンとの組み合わせごとに頻度を算出し、頻度に基づいてクリック操作後にマウスオーバ操作される操作ボタンを予測することで、高精度な予測が可能になる。その結果、操作ボタンに対するマウスオーバ操作からメッセージ表示までの遅延時間を短縮できる可能性を高めることができ、ユーザビリティを改善できるようになる。
【0074】
図6は、管理サーバおよび管理者端末が備える処理機能の構成例を示す図である。
まず、管理サーバ30は、メッセージ記憶部310、GUI制御部320およびコマンド実行部330を備える。
【0075】
メッセージ記憶部310は、管理サーバ30が備える図示しない記憶装置に確保された記憶領域である。メッセージ記憶部310には、GUI画面のUI部品(操作ボタン等)ごとに、UI部品へのマウスオーバ操作に応じて表示されるメッセージが登録される。
【0076】
GUI制御部320およびコマンド実行部330の処理は、例えば、管理サーバ30が備える図示しないプロセッサが所定のプログラムを実行することで実現される。
GUI制御部320は、GUI画面の表示のための表示データを管理者端末40に送信する。また、GUI制御部320は、GUI画面上のUI部品に対するクリック操作に応じてコマンド実行リクエストが管理者端末40から送信されると、コマンドに対応する処理をコマンド実行部330に実行させる。
【0077】
さらに、GUI制御部320は、メッセージ記憶部310に登録されたメッセージを管理者端末40に送信するためのメッセージ送信部321を備える。メッセージ送信部321は、メッセージ取得リクエストが管理者端末40から送信されると、指定されたUI部品に対応するメッセージをメッセージ記憶部310から取得して、管理者端末40に送信する。
【0078】
一方、管理者端末40は、頻度情報記憶部410、受信メッセージ記憶部420、表示処理部430およびリクエスト処理部440を備える。
頻度情報記憶部410および受信メッセージ記憶部420は、いずれも、RAM402やSSD403など、管理者端末40が備える記憶装置に確保された記憶領域である。頻度情報記憶部410は、クリック操作されたUI部品と、その次にマウスオーバ操作されたUI部品との組み合わせごとに頻度情報が登録される。受信メッセージ記憶部420には、管理サーバ30から受信したメッセージが格納される。
【0079】
表示処理部430およびリクエスト処理部440の処理は、例えば、管理者端末40が備えるプロセッサ401が所定のプログラムを実行することで実現される。
表示処理部430は、管理サーバ30のGUI制御部320から送信された表示データに基づいて、GUI画面を表示装置41に表示させる。
【0080】
リクエスト処理部440は、GUI画面上のUI部品に対するクリック操作が行われると、そのUI部品に対応するコマンド実行リクエストを管理サーバ30に送信する。また、リクエスト処理部440は、UI部品へのマウスオーバ操作に応じたメッセージ表示に関する処理機能として、予測制御部441とメッセージ受信処理部442を備える。
【0081】
予測制御部441は、UI部品に対するクリック操作と、その次に行われるマウスオーバ操作とを監視して、クリック操作されたUI部品と、その次にマウスオーバ操作されたUI部品との組み合わせごとに頻度を算出し、頻度情報記憶部410に登録する。また、予測制御部441は、UI部品に対するクリック操作が行われると、頻度情報記憶部410に登録された頻度の情報に基づいて、次にマウスオーバ操作が行われるUI部品を予測する。予測制御部441は、予測されたUI部品に対応するメッセージを取得するためのメッセージ取得リクエストを作成し、クリック操作に応じたコマンド実行リクエストとともに管理サーバ30に送信するようにリクエスト処理部440に依頼する。
【0082】
メッセージ受信処理部442は、メッセージ取得リクエストに応じて管理サーバ30のメッセージ送信部321から送信されたメッセージを受信して、受信メッセージ記憶部420に格納する。
【0083】
図7は、頻度情報テーブルのデータ構成例を示す図である。図7に示す頻度情報テーブル411は、GUI画面ごとに作成され、管理者端末40の頻度情報記憶部410に記憶される。
【0084】
頻度情報テーブル411の各レコードには、頻度情報ID、遷移元部品ID、遷移先部品IDおよび頻度が登録される。頻度情報テーブル411のレコードのそれぞれが、頻度情報を示す。
【0085】
頻度情報IDは、頻度情報の識別番号を示す。遷移元部品IDは、クリック操作が行われたUI部品の部品IDを示す。遷移先部品IDは、遷移元部品IDが示すUI部品へのクリック操作の次に、マウスオーバ操作が行われたUI部品の部品IDを示す。頻度は、遷移元部品IDが示すUI部品へのクリック操作の次に、遷移先部品IDが示すUI部品へのマウスオーバ操作が行われたケースの発生頻度を示す。
【0086】
ここで、前述のように、頻度情報テーブル411はGUI画面ごとに作成される。また、1つのGUI画面内のUI部品(操作ボタン等)は、部品ID「a」,「b」,「c」,・・・によって識別されるものとする。一例として、図4に示したGUI画面100においては、操作ボタン103a~103lに対して、それぞれ部品ID「a」~「l」が割り当てられているとする。
【0087】
また、GUI画面は、画面ID「1」,「2」,「3」,・・・によって識別されるものとする。したがって、GUI画面内のUI部品は画面IDと部品IDの組み合わせによって一意に識別される。次の図8では、例えば、画面ID「1」と部品ID「a」との組み合わせを「1-a」と記載する。以下の説明では、図4に示したGUI画面100の画面IDを「1」とする。この場合、「1-a」で識別されるUI部品は操作ボタン103aである。
【0088】
そして、GUI画面内のUI部品のそれぞれには、マウスオーバ操作が行われた際に重畳表示されるメッセージが個別に対応付けられる。このため、UI部品を識別する識別番号が、対応するメッセージを識別するメッセージIDとして使用される。
【0089】
図8は、メッセージテーブルのデータ構成例を示す図である。図8に示すメッセージテーブル311は、管理サーバ30のメッセージ記憶部310に記憶される。
メッセージテーブル311には、それぞれがUI部品へのマウスオーバ操作に応じて表示されるメッセージに対応するレコードを含む。各レコードには、メッセージを識別するメッセージIDと、表示するメッセージの内容とが登録される。なお、図8では各レコードに対して、UI部品に対応するコマンドも登録されているが、これは参考のために記載したものであり、実際のメッセージテーブル311には登録される必要はない。
【0090】
次に、管理者端末40の処理についてフローチャートを用いて説明する。
図9図11は、操作ボタンがクリック操作された場合の管理者端末の処理手順を示すフローチャートの例である。
【0091】
[ステップS11]表示処理部430の処理により、GUI画面が表示装置41に表示されている。この状態で、リクエスト処理部440が、GUI画面上の操作ボタンに対するクリック操作を検出すると、処理がステップS12に進められる。
【0092】
[ステップS12]予測制御部441は、表示中のGUI画面に対応する頻度情報テーブル411を参照し、クリック操作された操作ボタンを示す部品IDが遷移元部品IDとして登録されているかを判定する。該当部品IDがいずれのレコードにも登録されていない場合、処理がステップS13に進められ、該当部品IDが少なくとも1つのレコードに登録されている場合、処理がステップS16に進められる。
【0093】
[ステップS13]リクエスト処理部440は、クリック操作された操作ボタンに対応するコマンド実行リクエストを作成し、管理サーバ30に対して送信する。
[ステップS14]予測制御部441は、ステップS11でクリック操作された操作ボタンを除く他の操作ボタンの領域上に、マウスカーソルが合わせられたか(マウスオーバ操作が行われたか)を判定する。他の操作ボタンの領域上にマウスカーソルが合わせられた場合、処理がステップS15に進められる。一方、例えば、他の操作ボタンに対するクリック操作が行われた場合や、GUI画面が切り替えられた場合には、ステップS15がスキップされ、処理が終了される。なお、他の操作ボタンに対するクリック操作が行われた場合、ステップS11からの処理が再度実行されることになる。
【0094】
[ステップS15]予測制御部441は、頻度情報を新たに作成する。この頻度情報には、ユニークな頻度情報IDが登録される。また、遷移元部品IDとしてステップS11でクリック操作された操作ボタンの部品IDが登録され、遷移先部品IDとしてステップS14でマウスオーバ操作が行われた操作ボタンの部品IDが登録される。さらに、頻度として初期値「1」が登録される。予測制御部441は、このように作成された頻度情報を、表示中のGUI画面に対応する頻度情報テーブル411に追加登録する。
【0095】
以上のように、ステップS12で「No」と判定された場合には、次にマウスオーバ操作される操作ボタンの予測は実行されない。そして、操作ボタンへのクリック操作の次にマウスオーバ操作が行われた場合には、新たな頻度情報が頻度情報テーブル411に登録される。
【0096】
[ステップS16]予測制御部441は、表示中のGUI画面に対応する頻度情報テーブル411から、クリック操作された操作ボタンを示す部品IDが遷移元部品IDとして登録されている頻度情報を特定する。
【0097】
[ステップS17]予測制御部441は、ステップS16で特定された頻度情報の中から、頻度が最大の頻度情報を抽出する。
[ステップS18]予測制御部441は、ステップS17で抽出された頻度情報から遷移先部品IDを取得し、リクエスト処理部440は、取得された遷移先部品IDに対応するメッセージを取得するためのメッセージ取得リクエストを作成する。本実施の形態では、表示中のGUI画面を示す画面IDと、取得された遷移先部品IDとを組み合わせることでメッセージIDが作成され、このメッセージIDが設定されたメッセージ取得リクエストが作成される。
【0098】
また、リクエスト処理部440は、ステップS11でクリック操作された操作ボタンに対応するコマンド実行リクエストを作成する。そして、リクエスト処理部440は、コマンド実行リクエストにメッセージ取得リクエストを付加して管理サーバ30に送信する。
【0099】
さらに、コマンド実行リクエストおよびメッセージ取得リクエストが送信されると、予測制御部441は、メッセージ受信処理部442を起動させ、メッセージ取得リクエストに応じたメッセージの受信処理(図12参照)を開始させる。
【0100】
[ステップS19]予測制御部441は、メッセージ取得リクエストに設定されたメッセージIDを、リクエスト送信済みIDとして例えばRAM402にセットする。
[ステップS20]予測制御部441は、ステップS11でクリック操作された操作ボタンを除く他の操作ボタンの領域上に、マウスカーソルが合わせられたか(マウスオーバ操作が行われたか)を判定する。他の操作ボタンの領域上にマウスカーソルが合わせられた場合、処理がステップS21に進められる。一方、例えば、他の操作ボタンに対するクリック操作が行われた場合や、GUI画面が切り替えられた場合には、処理がステップS25に進められる。
【0101】
[ステップS21]予測制御部441は、ステップS20でマウスオーバ操作が行われた操作ボタンが、メッセージ取得リクエストが送信済みの操作ボタンであるかを判定する。マウスオーバ操作が行われた操作ボタンの部品IDが、ステップS19でセットされたリクエスト送信済みIDと一致する場合に、メッセージ取得リクエストが送信済みの操作ボタンであると判定される。この場合、マウスオーバ操作される操作ボタンの予測に成功したことになる。
【0102】
メッセージ取得リクエストが送信済みの操作ボタンであると判定された場合、処理がステップS22に進められる。一方、メッセージ取得リクエストが送信済みの操作ボタンでないと判定された場合(すなわち、予測に失敗した場合)、処理がステップS26に進められる。
【0103】
[ステップS22]予測制御部441は、メッセージ取得リクエストの送信に応じたメッセージの受信が完了しているかを判定する。受信メッセージ記憶部420にメッセージが格納されている場合に、メッセージの受信が完了していると判定される。
【0104】
メッセージの受信が完了している場合、処理がステップS23に進められる。一方、メッセージの受信が完了していない場合、受信完了待ち状態となり、一定時間後にステップS22の処理が再実行される。
【0105】
[ステップS23]予測制御部441は、受信メッセージ記憶部420に格納されたメッセージを表示処理部430に受け渡し、メッセージの重畳表示を依頼する。表示処理部430は、渡されたメッセージが描画されたメッセージ表示部(ツールチップ)を、GUI画面上に重畳して表示させる。
【0106】
[ステップS24]予測制御部441は、ステップS17で抽出された頻度情報に登録された頻度を、「1」だけインクリメントする。
[ステップS25]予測制御部441は、ステップS19でセットされたリクエスト送信済みIDをクリアする。また、予測制御部441は、受信メッセージ記憶部420にメッセージが格納されている場合には、このメッセージをクリアする。
【0107】
ここまでの処理について、具体例を挙げて説明する。
例えば、ステップS11において、図4に示したGUI画面100上の操作ボタン103iに対するクリック操作が行われたとする。このとき、GUI画面100に対応する頻度情報テーブル411におけるデータ登録状態は、図7に示すような状態であったとする。この場合、ステップS12で「Yes」と判定され、ステップS16では、頻度情報テーブル411から頻度情報ID「3」~「5」の頻度情報が特定される。そして、ステップS17では、これらの頻度情報から頻度が「10」で最大となっている頻度情報ID「5」の頻度情報が抽出される。抽出された頻度情報には、遷移先部品IDとして操作ボタン103eを示す「e」が登録されているので、ステップS18では、メッセージID「1-e」が設定されたメッセージ取得リクエストが、コマンド実行リクエストとともに送信される。また、ステップS19では、リクエスト送信済みIDとして「1-e」がセットされる。
【0108】
この後、ステップS20において、操作ボタン103eに対するマウスオーバ操作が行われたとする。ステップS21では「Yes」と判定され、予測に成功したと判定されるので、ステップS22では、この時点でメッセージ取得リクエストを送信することなく、操作ボタン103eに対応するメッセージの受信完了待ち状態となる。そして、メッセージの受信が完了すると、ステップS23でこのメッセージの重畳表示が行われる。
【0109】
このように、マウスオーバ操作される操作ボタンの予測に成功した場合には、その前にコマンド実行リクエストとともに事前に送信されたメッセージ取得リクエストに応じて送信されるメッセージを用いて、重畳表示が行われる。したがって、マウスオーバ操作が検出された時点でメッセージ取得リクエストが送信される場合と比較して、マウスオーバ操作からメッセージの重畳表示までの遅延時間を短縮することができる。その結果、メッセージを確認しようとする管理者のユーザビリティを向上させることができる。
【0110】
[ステップS26]リクエスト処理部440は、ステップS20でマウスオーバ操作が行われた操作ボタンに対応するメッセージを取得するためのメッセージ取得リクエストを作成する。ここでは、表示中のGUI画面を示す画面IDと、マウスオーバ操作された操作ボタンを示す部品IDとを組み合わせることでメッセージIDが作成され、このメッセージIDが設定されたメッセージ取得リクエストが作成される。
【0111】
リクエスト処理部440は、作成されたメッセージ取得リクエストを管理サーバ30に送信する。また、送信が完了すると、予測制御部441は、メッセージ受信処理部442を起動させ、メッセージ取得リクエストに応じたメッセージの受信処理(図12参照)を開始させる。
【0112】
[ステップS27]予測制御部441は、表示中のGUI画面に対応する頻度情報テーブル411、ステップS11でクリック操作された操作ボタンを示す部品IDが遷移元部品IDとして登録され、ステップS20でマウスオーバ操作された操作ボタンを示す部品IDが遷移先部品IDとして登録されている頻度情報が存在するかを判定する。
【0113】
該当する頻度情報が存在する場合、予測制御部441は、その頻度情報に登録された頻度を、「1」だけインクリメントする。一方、該当する頻度情報が存在しない場合、予測制御部441は、そのような頻度情報を新規作成し、頻度情報テーブル411に追加して登録する。この頻度情報には、頻度として初期値「1」が登録される。
【0114】
[ステップS28]予測制御部441は、ステップS26で送信されたメッセージ取得リクエストに設定されたメッセージIDを、ステップS19でセットされたリクエスト送信済みIDに対して上書きしてセットする。
【0115】
[ステップS29]予測制御部441は、メッセージ取得リクエストの送信に応じたメッセージの受信が完了しているかを判定する。受信メッセージ記憶部420にメッセージが格納されている場合に、メッセージの受信が完了していると判定される。
【0116】
メッセージの受信が完了している場合、処理がステップS30に進められる。一方、メッセージの受信が完了していない場合、受信完了待ち状態となり、一定時間後にステップS29の処理が再実行される。
【0117】
[ステップS30]予測制御部441は、受信メッセージ記憶部420に格納されたメッセージを表示処理部430に受け渡し、メッセージの重畳表示を依頼する。表示処理部430は、渡されたメッセージが描画されたメッセージ表示部(ツールチップ)を、GUI画面上に重畳して表示させる。
【0118】
[ステップS31]予測制御部441は、ステップS28でセットされたリクエスト送信済みIDをクリアする。また、予測制御部441は、受信メッセージ記憶部420に格納されているメッセージをクリアする。
【0119】
図12は、メッセージ受信処理の手順を示すフローチャートの例である。図12に示す処理は、図10のステップS18または図11のステップS26でメッセージ受信処理部442が起動されることで、実行が開始される。
【0120】
[ステップS41]メッセージ受信処理部442は、送信されたメッセージ取得リクエストに対するレスポンスを管理サーバ30から受信したかを判定する。レスポンスを受信した場合、処理がステップS42に進められる。一方、レスポンスを受信していない場合、一定時間待ち状態になった後、ステップS41の処理が再実行される。
【0121】
[ステップS42]メッセージ受信処理部442は、受信したレスポンスを受信メッセージ記憶部420に格納する。このレスポンスには、表示されるメッセージが含まれている。
【0122】
次に、管理サーバ30の処理についてフローチャートを用いて説明する。
図13は、コマンド実行リクエストを受信した場合の管理サーバの処理手順を示すフローチャートの例である。
【0123】
[ステップS51]GUI制御部320が、管理者端末40から送信されたコマンド実行リクエストを受信すると、処理がステップS52に進められる。
[ステップS52]コマンド実行部330は、受信したコマンド実行リクエストで指定されたコマンドに応じた処理の実行を開始する。
【0124】
[ステップS53]GUI制御部320は、受信したコマンド実行リクエストにメッセージ取得リクエストが付加されているかを判定する。メッセージ取得リクエストが付加されている場合、処理がステップS54に進められ、メッセージ取得リクエストが付加されていない場合、処理が終了する。
【0125】
[ステップS54]メッセージ送信部321は、メッセージ取得リクエストによってリクエストされたメッセージをメッセージテーブル311から取得する。この処理では、メッセージ取得リクエストに含まれるリクエストIDをキーとしてメッセージテーブル311が検索され、そのリクエストIDに対応付けられたメッセージが取得される。
【0126】
[ステップS55]メッセージ送信部321は、メッセージテーブル311から取得したメッセージを、メッセージ取得リクエストに対するレスポンスとして管理者端末40に送信する。
【0127】
なお、管理者端末40からメッセージ取得リクエストが単独で送信され、GUI制御部320がそのメッセージ取得リクエストを受信した場合には、ステップS54,S55の処理が実行される。
【0128】
<第2の実施の形態の変形例>
以下、第2の実施の形態における処理の一部を変形した変形例について説明する。
図14は、変形例における処理手順を示すフローチャートである。図14(A)は第1の変形例を示し、図14(B)は第2の変形例を示し、図14(C)は第3の変形例を示す。
【0129】
図10のステップS17では、頻度が最大となる頻度情報として、頻度が同数となる複数の頻度情報が抽出される場合がある。そこで、第1の変形例では、そのような場合に各頻度情報がすべて抽出されるようにする。図14(A)に示すように、図10のステップS17,S18はそれぞれステップS17a,S18aに変更される。
【0130】
[ステップS17a]予測制御部441は、ステップS16で特定された頻度情報の中から、頻度が最大の頻度情報をすべて抽出する。
[ステップS18a]予測制御部441は、ステップS17aで抽出された頻度情報のそれぞれから遷移先部品IDを取得する。リクエスト処理部440は、取得された遷移先部品IDに対応するメッセージを取得するためのメッセージ取得リクエストを、抽出された頻度情報ごとに個別に作成する。
【0131】
また、ステップS18と同様に、リクエスト処理部440は、ステップS11でクリック操作された操作ボタンに対応するコマンド実行リクエストを作成する。そして、リクエスト処理部440は、コマンド実行リクエストに、作成されたすべてのメッセージ取得リクエストを付加して管理サーバ30に送信する。さらに、コマンド実行リクエストおよびメッセージ取得リクエストが送信されると、予測制御部441は、メッセージ受信処理部442を起動させ、メッセージ取得リクエストに応じたメッセージの受信処理を開始させる。
【0132】
この後、ステップS19では、各メッセージ取得リクエストに対応するリクエストIDがリクエスト送信済みIDとしてセットされる。そして、ステップS21では、メッセージ取得リクエストが送信済みの操作ボタンの1つに対するマウスオーバ操作が行われた場合に「Yes」と判定され、その操作ボタンに対応するメッセージの表示処理が実行される。
【0133】
以上の第1の変形例では、ある操作ボタンの後に高頻度でマウスオーバ操作される操作ボタンが複数存在する場合に、それらの操作ボタンが予測結果とされる。これにより、予測に成功する確率が高まり、その結果として、マウスオーバ操作からメッセージの重畳表示までの遅延時間を短縮できる可能性を高めることができる。
【0134】
次に、第2の変形例について説明する。
コマンド実行リクエストに対して複数のメッセージ取得リクエストを送信した場合、メッセージ取得リクエストに応じて返送されるメッセージのデータ量が大きくなり、その結果として、メッセージの受信完了までに時間がかかる可能性がある。そこで、第2の変形例では、メッセージの受信完了までにかかる時間が許容時間に収まるように、メッセージ取得リクエストの最大送信数nがあらかじめ設定される。
【0135】
第2の変形例では、図14(B)に示すように、図10のステップS17,S18はそれぞれステップS17b,S18bに変更される。
[ステップS17b]予測制御部441は、ステップS16で特定された頻度情報の中から、頻度が大きい順にn個の頻度情報を抽出する。
【0136】
[ステップS18b]予測制御部441は、ステップS17bで抽出された頻度情報のそれぞれから遷移先部品IDを取得する。リクエスト処理部440は、取得された遷移先部品IDに対応するメッセージを取得するためのメッセージ取得リクエストを、抽出された頻度情報ごとに個別に作成する。
【0137】
また、ステップS18と同様に、リクエスト処理部440は、ステップS11でクリック操作された操作ボタンに対応するコマンド実行リクエストを作成する。そして、リクエスト処理部440は、コマンド実行リクエストに、作成されたすべてのメッセージ取得リクエストを付加して管理サーバ30に送信する。さらに、コマンド実行リクエストおよびメッセージ取得リクエストが送信されると、予測制御部441は、メッセージ受信処理部442を起動させ、メッセージ取得リクエストに応じたメッセージの受信処理を開始させる。
【0138】
ステップS19以降の処理では、第1の変形例と同様の処理が実行される。
以上の第2の変形例では、コマンド実行リクエストとともに送信されたメッセージ取得リクエストに応じたメッセージの受信処理時間を、ある程度の時間内に収めつつ、マウスオーバ操作される操作ボタンの予測に成功する確率を高めることができる。
【0139】
次に、第3の変形例について説明する。
第3の変形例では、予測制御部441は、頻度情報テーブル411に頻度を新規に登録する際(ステップS15)や頻度をインクリメントする際(ステップS24,S27)に、頻度の更新時刻を頻度情報テーブル411に上書きして登録していく。この更新時刻は、対応する操作パターンが直近に発生した時刻を示す。そして、図14(C)に示すように、図10のステップS17はステップS17cに変更される。
【0140】
[ステップS17c]予測制御部441は、ステップS16で特定された頻度情報の中から、頻度が最大の頻度情報を抽出する。このとき、頻度が最大かつ同数の頻度情報が複数存在する場合、予測制御部441は、それらの頻度情報の中から更新時刻が最も新しい頻度情報を抽出する。
【0141】
これ以後、図10のステップS18以降の処理が実行される。
以上の第3の変形例では、コマンド実行リクエストとともに送信されたメッセージ取得リクエストに応じたメッセージの受信処理時間を長くしないようにしつつ、マウスオーバ操作される操作ボタンの予測に成功する確率を高めることができる。
【0142】
なお、上記の各実施の形態に示した装置(例えば、情報処理装置1、サーバ装置2、CM11、業務サーバ20、管理サーバ30、管理者端末40)の処理機能は、コンピュータによって実現することができる。その場合、各装置が有すべき機能の処理内容を記述したプログラムが提供され、そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、磁気テープなどがある。光ディスクには、CD(Compact Disc)、DVD(Digital Versatile Disc)、ブルーレイディスク(Blu-ray Disc:BD、登録商標)などがある。
【0143】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CDなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【0144】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムまたはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムにしたがった処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムにしたがった処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムにしたがった処理を実行することもできる。
【符号の説明】
【0145】
1 情報処理装置
1a 記憶部
1b 処理部
2 サーバ装置
3 GUI画面
4a~4c UI部品
4a1 実行要求
4b1 送信要求
4b2 表示情報
4b3 表示部
5 頻度管理情報
6 マウスカーソル
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14