(実施例1)
本発明を具体的に説明する前に、まず概要を述べる。本発明の実施例1は、PC、スマートフォン、タブレット等の情報処理装置において、インストールされたアプリケーションプログラムを実行することに関する。ここでは、特に、トライアル用ライセンスを使用してアプリケーションプログラムが実行される場合を想定する。この場合において、これまでは、試用期間、実際の使用時間、回数等を監視しているが、実際のユーザ操作の情報は、記録、監視されていない。実際のユーザ操作の情報とは、例えば、アプリケーションプログラムの機能をすべて実行しているか、アプリケーションプログラムを十分使いこなせているか等の情報である。
そのため、ユーザがアプリケーションプログラムを十分に評価する前、あるいはユーザがアプリケーションプログラムを十分に使いこなせる前に、試用期間が終了してしまう可能性がある。この場合、ユーザはアプリケーションプログラムを十分に評価できなかったので、トライアル用ライセンスを再度要求する、あるいは評価不十分の状態で有償の正規版ライセンスを購入する。また、ユーザからトライアル用ライセンスを複数回要求されたメーカは、要求される度にトライアル用ライセンスを発行しなければならない。トライアル用ライセンスを複数回発行する手間がかかり、かつユーザに永続的にトライアル用ライセンスを使用され続けてしまうおそれがある。本実施例では、試用期限、実際の使用時間、回数に依存せず、ユーザがアプリケーションプログラムの評価を終えたか否かを定量的に評価する。特に、定量的な評価のために、ユーザによる操作の履歴が使用される。
図1は、本発明の実施例1に係る情報処理装置100の構成を示す。情報処理装置100は、通信部10、管理部12、記憶部14、実行部16、監視部18、取得部20、決定部22、ユーザインターフェイス部24を含む。記憶部14には、アプリケーションプログラム28が記憶され、実行部16は、検出部26を含む。
ユーザインターフェイス部24は、ユーザからの指示を受けつけるボタン等と、ユーザへ情報を提示するモニタ等とを含む。なお、ユーザインターフェイス部24がタッチパネルによって構成されてもよく、タッチパネルは、ユーザからの指示を受けつけるとともに、ユーザへ情報を提示する。
通信部10は、図示しないネットワークに接続される。ネットワークは、有線ネットワークでもよく、無線ネットワークでもよい。通信部10は、ネットワークを介して、図示しないサーバにアクセス可能であり、サーバから、アプリケーションプログラムをダウンロード可能である。また、通信部10から、トライアル用ライセンス、正規版ライセンスもダウンロード可能である。ここでは、トライアル用ライセンスがダウンロードされ、正規版ライセンスのダウンロードがなされていない場合を想定する。
管理部12は、通信部10においてダウンロードしたアプリケーションプログラムを記憶部14にインストールする。また、管理部12は、通信部10においてダウンロードしたトライアル用ライセンスを使用し、サーバとの間で認証処理を実行する。認証処理は、通信部10を介してなされるが、公知の技術が使用されればよいので、ここでは説明を省略する。
記憶部14は、アプリケーションプログラム28を記憶する。ここでは、一例として、1つのアプリケーションプログラム28が記憶されているが、複数のアプリケーションプログラム28が記憶されていてもよい。アプリケーションプログラム28は、所定の処理を実行するソフトウエアプログラムであり、所定の処理は任意のものでよい。また、管理部12による認証処理によって、アプリケーションプログラム28は、トライアル用ライセンスの範囲で動作可能な状態であるとする。
実行部16は、記憶部14に記憶されたアプリケーションプログラム28を実行する。アプリケーションプログラム28には、アプリケーションにより規定されている複数のシナリオのそれぞれを実行するための複数の機能が実装されている。シナリオとは、所定の目的を達成するための一連の動作であり、例えば、ファイルに対して編集処理を実行してからプリンタに印刷するまでの動作である。また、このようなシナリオの動作は、項目のコピー、項目のペースト、ファイルの保存、印刷といった複数の処理で構成されており、シナリオに含まれた複数の処理のそれぞれが機能としてアプリケーションプログラム28に実装されている。なお、アプリケーションプログラム28で規定されたシナリオは、アプリケーションプログラム28で実行可能な動作のすべてではなく、一部の動作であってもよい。
図2は、情報処理装置100において実行されるアプリケーションプログラム28で規定されたシナリオを示す。ここでは、一例として、「シナリオA」、「シナリオB」、「シナリオC」の3種類を示すが、アプリケーションプログラム28で規定されたシナリオは、3種類でなくてもよい。シナリオAでは、機能A1、機能A2、機能A3、・・・、機能AXが時系列の順に実行され、シナリオBでは、機能B1、機能B2、機能B3、・・・、機能BYが時系列の順に実行され、シナリオCでは、機能C1、機能C2、機能C3、・・・、機能CZが時系列の順に実行される。別々に示された機能が同一であってもよく、例えば、機能A3と機能B2が「コピー」であってもよい。
また、各シナリオに含まれた複数の機能のそれぞれが実行された場合に、ユーザインターフェイス部24を介して受けつける操作の内容であって、かつユーザによる操作の内容は、アプリケーションプログラム28にとって既知である。なお、1つの機能に対する操作の内容は1つに限定されず、複数であってもよい。アプリケーションプログラム28は、図2に示された各シナリオに含まれた複数の機能のそれぞれに対応して、受けつけるべき操作の内容に関する情報(以下、「操作予想情報」という)を保持する。実行部16は、アプリケーションプログラム28をトライアル用ライセンスで実行する場合に、アプリケーションプログラム28から操作予想情報を取得する。図1に戻る。
検出部26は、実行部16がアプリケーションプログラム28を起動させたことを検出する。検出部26は、実行部16において実行されるジョブを監視し、ジョブの中にアプリケーションプログラム28が含まれたタイミングで、アプリケーションプログラム28の起動を検出する。監視部18は、実行部16がアプリケーションプログラム28を実行し、その画面がユーザインターフェイス部24に表示されている状況下において、ユーザがユーザインターフェイス部24を介して入力した指示、つまり操作の内容を取得する。監視部18は、取得した操作の内容を取得部20に出力する。
取得部20は、監視部18から、操作の内容を入力する。取得部20は、入力した操作の内容を時系列の順に並べることによって、操作の履歴(以下、「操作履歴」という)を生成する。つまり、取得部20は、検出部26においてアプリケーションプログラム28の起動が検出された後、アプリケーションプログラム28に対するユーザによる操作履歴を取得する。なお、取得部20は、操作の内容を逐次入力するので、それを反映するように操作履歴を逐次更新する。また、ユーザが前述のシナリオにしたがって操作を実行した場合、操作履歴には、複数の機能のそれぞれに対する操作の内容が順に含まれている。そのため、取得部20は、複数の機能のそれぞれに対する実行終了の情報を取得しているともいえる。取得部20は、更新した操作履歴を決定部22に出力する。
決定部22は、取得部20から、操作履歴を逐次入力する。また、決定部22は、監視部18、取得部20を介して実行部16から、操作予想情報を入力する。決定部22は、操作履歴に含まれた複数の操作の内容と、操作予想情報に含まれた複数の操作の内容とを対応づけることによって、複数の機能のそれぞれに対する実行終了を認定する。具体的に説明すると、操作予想情報と比較することによって、決定部22は、操作履歴に含まれた複数の操作の内容が、機能A1に対する操作、機能A2に対する操作、機能A3に対する操作の順に並んでいることを認識する。また、このような認識を行った場合に、決定部22は、機能A1の実行終了、機能A2の実行終了、機能A3の実行終了を認定する。なお、操作履歴に含まれた機能A1に対する操作と、機能A2に対する操作との間に別の操作が含まれていてもよい。これは、シナリオAを実行する際にユーザが誤操作をした場合に相当する。
決定部22は、実行終了を認定した機能の数を積算する。決定部22は、積算した数がしきい値よりも多い場合に、評価の終了を決定する。ここで、しきい値は、すべてのシナリオに含まれた機能の数であってもよいし、それよりも少ない数であってもよい。このように、決定部22は、操作履歴をパラメータとして、ユーザによるアプリケーションプログラム28の評価の終了を決定する。決定部22は、終了を決定した場合、その旨を管理部12に通知する。管理部12は、決定部22からの通知を受けつけた場合、トライアル用ライセンスによるアプリケーションプログラム28の起動を停止させる。その際、管理部12は、ユーザインターフェイス部24を介して正規版ライセンスの購入・入力をユーザに促してもよい。一方、決定部22は、終了を決定しなかった場合に、トライアル用ライセンスによってアプリケーションプログラム28を動作させ続ける。
この構成は、ハードウエア的には、任意のコンピュータのCPU、メモリ、その他のLSIで実現でき、ソフトウエア的にはメモリにロードされたプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。
以上の構成による情報処理装置100の動作を説明する。図3は、情報処理装置100による判定手順を示すフローチャートである。監視部18において操作がなければ(S10のN)、待機する。監視部18において操作があれば(S10のY)、取得部20は、操作履歴を記録する(S12)。操作回数がしきい値より多くなければ(S14のN)、ステップ10に戻る。操作回数がしきい値より多ければ(S14のY)、決定部22は、評価終了と判定する(S16)。
本実施例によれば、アプリケーションプログラム起動後の操作の履歴をパラメータとして、ユーザによるアプリケーションプログラムの評価の終了を決定するので、アプリケーションプログラムに対する評価を十分に実行させることができる。また、実行終了した機能の数がしきい値よりも多い場合に、評価の終了を決定するので、アプリケーションプログラムに対する評価を十分に実行させることができる。また、ユーザがトライアル用ライセンスを効率的に利用できる。また、メーカがライセンスを複数回発行、認証する手間を軽減できる。また、トライアル用ライセンスが永続的に使用される場合の発生を抑制できる。
(実施例2)
次に、実施例2を説明する。実施例2は、実施例1と同様に、トライアル用ライセンスを使用してアプリケーションプログラムを実行する情報処理装置に関する。実施例1では、実行した機能の数をもとに、ユーザによるアプリケーションプログラムの評価の終了を決定している。一方、実施例2では、アプリケーションプログラムを実行することによって表示される画面の数をもとに、ユーザによるアプリケーションプログラムの評価の終了を決定する。実施例2に係る情報処理装置100は、図1と同様のタイプであるので、ここでは、差異を中心に説明する。
実行部16は、アプリケーションプログラム28を実行すると、それに応じた画面をユーザインターフェイス部24に表示させる。画面は、前述の機能と1対1で対応づけられてもよいが、1つの機能に対して複数の画面が表示されてもよく、複数の機能に対して1つの画面が表示されてもよい。
図4は、本発明の実施例2に係る情報処理装置100において実行されるアプリケーションプログラムで規定された画面遷移を示す。ここでは、「画面A」が最上位層の画面を示す。「画面A」が表示されている場合に、ユーザがユーザインターフェイス部24に入力した指示に応じて、「画面A」から「画面B1」、「画面B2」、「画面B3」のいずれかへの遷移がなされる。そのため、「画面B1」、「画面B2」、「画面B3」は、「画面A」よりも下位層の画面に相当する。「画面C1」、「画面D1」等も同様に遷移される。このように、実行部16によって実行されるアプリケーションプログラム28は、ユーザインターフェイス部24に複数の画面を表示可能である。アプリケーションプログラム28は、図4に示された画面遷移に含まれた複数の画面に関する情報(以下、これもまた「操作予想情報」という)を保持する。実行部16は、アプリケーションプログラム28をトライアル用ライセンスで実行する場合に、アプリケーションプログラム28から操作予想情報を取得する。図1に戻る。
監視部18は、実行部16がアプリケーションプログラム28を実行し、その画面がユーザインターフェイス部24に表示されている状況下において、表示されている画面の情報を取得する。監視部18は、取得した画面の情報を取得部20に出力する。取得部20は、監視部18から、画面の情報を入力する。取得部20は、入力した画面の情報を時系列の順に並べることによって、画面の遷移の履歴(以下、「画面遷移履歴」という)を生成する。つまり、取得部20は、検出部26においてアプリケーションプログラム28の起動が検出された後、アプリケーションプログラム28に対する操作履歴として、画面遷移履歴を取得する。なお、取得部20は、画面の情報を逐次入力するので、それを反映するように画面遷移履歴を逐次更新する。取得部20は、更新した画面遷移履歴を決定部22に出力する。
決定部22は、取得部20から、画面遷移履歴を逐次入力する。また、決定部22は、監視部18、取得部20を介して実行部16から、操作予想情報を入力する。決定部22は、画面遷移履歴に含まれた複数の画面の情報と、操作予想情報に含まれた複数の画面の情報の内容とを対応づけることによって、複数の画面のそれぞれに対する実行終了を認定する。具体的に説明すると、操作予想情報と比較することによって、決定部22は、画面予想履歴に含まれた複数の画面の情報が、画面A、画面B1、画面C1、画面D1であることを認識する。また、このような認識を行った場合に、決定部22は、画面A、画面B1、画面C1、画面D1の実行終了を認定する。決定部22は、実行終了を認定した画面の数を積算する。決定部22は、積算した数がしきい値よりも多い場合に、評価の終了を決定する。ここで、しきい値は、すべての画面の数であってもよいし、それよりも少ない数であってもよい。
本実施例によれば、画面の遷移の履歴において示された画面の数がしきい値よりも多い場合に、評価の終了を決定するので、アプリケーションプログラムに対する評価を十分に実行させることができる。
(実施例3)
次に、実施例3を説明する。実施例3は、これまでと同様に、トライアル用ライセンスを使用してアプリケーションプログラムを実行する情報処理装置に関する。実施例2では、アプリケーションプログラムを実行することによって表示される画面の数をもとに、ユーザによるアプリケーションプログラムの評価の終了を決定している。一方、実施例3では、アプリケーションプログラムを実行することによって表示される複数の画面のそれぞれに配置されたボタンの選択数をもとに、ユーザによるアプリケーションプログラムの評価の終了を決定する。実施例3に係る情報処理装置100は、図1と同様のタイプであるので、ここでは、差異を中心に説明する。
実行部16は、アプリケーションプログラム28を実行すると、それに応じた画面をユーザインターフェイス部24に表示させる。一般的に、各画面には、1つ以上のボタンが配置されている。図5(a)−(c)は、本発明の実施例3に係る情報処理装置100において実行されるアプリケーションプログラムで規定された画面を示す。これらの画面は、図4に示された各画面に対応してもよい。図5(a)に示された画面Aには、ボタンA50、ボタンB52、ボタンC54が配置される。ユーザが、ユーザインターフェイス部24を操作することによって、ボタンA50、ボタンB52、ボタンC54のいずれかを選択すると、実行部16は、選択したボタンに対応した処理を実行し、処理結果に応じた画面をユーザインターフェイス部24に表示させる。図5(b)に示された画面Bには、ボタンD56、ボタンE58が配置される。このように画面に配置されるボタンの数は、任意の数でよい。
図5(c)に示された画面Cには、ウインドウ60が配置され、ウインドウ60には、ボタンF62が配置される。このように、実行部16によって実行されるアプリケーションプログラム28は、ユーザインターフェイス部24に、1つ以上のボタンが配置された画面を複数表示可能である。アプリケーションプログラム28は、図5(a)−(c)のように示された複数の画面のそれぞれに含まれた複数のボタンに関する情報(以下、これもまた「操作予想情報」という)を保持する。実行部16は、アプリケーションプログラム28をトライアル用ライセンスで実行する場合に、アプリケーションプログラム28から操作予想情報を取得する。図1に戻る。
監視部18は、実行部16がアプリケーションプログラム28を実行し、その画面がユーザインターフェイス部24に表示されている状況下において、画面上で選択されたボタンの情報を取得する。監視部18は、取得したボタンの情報を取得部20に出力する。取得部20は、監視部18から、ボタンの情報を入力する。取得部20は、入力したボタンの情報を並べることによって、ボタンの選択の履歴(以下、「ボタン選択履歴」という)を生成する。つまり、取得部20は、検出部26においてアプリケーションプログラム28の起動が検出された後、アプリケーションプログラム28に対する操作履歴として、ボタン選択履歴を取得する。なお、取得部20は、ボタンの情報を逐次入力するので、それを反映するようにボタン選択履歴を逐次更新する。取得部20は、更新したボタン選択履歴を決定部22に出力する。
決定部22は、取得部20から、ボタン選択履歴を逐次入力する。また、決定部22は、監視部18、取得部20を介して実行部16から、操作予想情報を入力する。決定部22は、ボタン選択履歴に含まれた複数のボタンの情報と、操作予想情報に含まれた複数のボタンの情報の内容とを対応づけることによって、複数のボタンのそれぞれに対する実行終了を認定する。具体的に説明すると、操作予想情報と比較することによって、決定部22は、ボタン選択履歴に含まれた複数のボタンの情報をもとに、選択したボタンを認識する。また、このような認識を行った場合に、決定部22は、選択したボタンに対する実行終了を認定する。決定部22は、実行終了を認定したボタンの数を積算する。決定部22は、積算した数がしきい値よりも多い場合に、評価の終了を決定する。ここで、しきい値は、すべてのボタンの数であってもよいし、それよりも少ない数であってもよい。
本実施例によれば、ボタンの選択の履歴において示されたボタンの数がしきい値よりも多い場合に、評価の終了を決定するので、アプリケーションプログラムに対する評価を十分に実行させることができる。
(実施例4)
次に、実施例4を説明する。実施例4は、これまでと同様に、トライアル用ライセンスを使用してアプリケーションプログラムを実行する情報処理装置に関する。これまでは、アプリケーションプログラムがGUI(Graphical User Interface)によって処理されており、表示される画面、ボタンの数等をもとに、ユーザによるアプリケーションプログラムの評価の終了を決定している。一方、実施例4では、アプリケーションプログラムがコマンド入力によって実行されており、入力されたコマンドの数をもとに、ユーザによるアプリケーションプログラムの評価の終了を決定する。実施例4に係る情報処理装置100は、図1と同様のタイプであるので、ここでは、差異を中心に説明する。
ユーザインターフェイス部24は、ユーザからのコマンドを受けつける。実行部16は、受けつけたコマンドに応じて、アプリケーションプログラム28を実行する。アプリケーションプログラム28が受付可能なコマンドは複数規定されている。アプリケーションプログラム28は、受付可能な複数のコマンドに関する情報(以下、これもまた「操作予想情報」という)を保持する。実行部16は、アプリケーションプログラム28をトライアル用ライセンスで実行する場合に、アプリケーションプログラム28から操作予想情報を取得する。
監視部18は、実行部16がアプリケーションプログラム28を実行し、ユーザインターフェイス部24において受けつけたコマンドの情報を取得する。監視部18は、取得したコマンドの情報を取得部20に出力する。取得部20は、監視部18から、コマンドの情報を入力する。取得部20は、入力したコマンドの情報を並べることによって、コマンドの受付の履歴(以下、「コマンド受付履歴」という)を生成する。つまり、取得部20は、検出部26においてアプリケーションプログラム28の起動が検出された後、アプリケーションプログラム28に対する操作履歴として、コマンド受付履歴を取得する。なお、取得部20は、コマンドの情報を逐次入力するので、それを反映するようにコマンド受付履歴を逐次更新する。取得部20は、更新したコマンド受付履歴を決定部22に出力する。
決定部22は、取得部20から、コマンド受付履歴を逐次入力する。また、決定部22は、監視部18、取得部20を介して実行部16から、操作予想情報を入力する。決定部22は、コマンド受付履歴に含まれた複数のコマンドの情報と、操作予想情報に含まれた複数のコマンドの情報の内容とを対応づけることによって、複数のコマンドのそれぞれに対する実行終了を認定する。決定部22は、実行終了を認定したコマンドの数を積算する。決定部22は、積算した数がしきい値よりも多い場合に、評価の終了を決定する。ここで、しきい値は、すべてのコマンドの数であってもよいし、それよりも少ない数であってもよい。
本実施例によれば、コマンドの受付の履歴において示されたコマンドの数がしきい値よりも多い場合に、評価の終了を決定するので、アプリケーションプログラムに対する評価を十分に実行させることができる。
(実施例5)
次に、実施例5を説明する。実施例5は、これまでと同様に、トライアル用ライセンスを使用してアプリケーションプログラムを実行する情報処理装置に関する。実施例3では、アプリケーションプログラムを実行することによって表示される複数の画面のそれぞれに配置されたボタンの選択数をもとに、ユーザによるアプリケーションプログラムの評価の終了を決定している。一方、実施例5では、アプリケーションプログラムにおいて実行されたドラッグ・アンド・ドロップ数をもとに、ユーザによるアプリケーションプログラムの評価の終了を決定する。実施例5に係る情報処理装置100は、図1と同様のタイプであるので、ここでは、差異を中心に説明する。
実行部16は、アプリケーションプログラム28を実行すると、それに応じた画面をユーザインターフェイス部24に表示させる。ここで、画面では、ファイルに対する複数のドラッグ・アンド・ドロップ操作が可能になっている。図6は、本発明の実施例5に係る情報処理装置100において実行されるアプリケーションプログラムで規定されたファイルのドラッグ・アンド・ドロップがなされる画面を示す。画面には、エリアA70、エリアB72、エリアC74が設けられている。ユーザが、ユーザインターフェイス部24を操作することによって、ファイル76に対するエリアA70からエリアB72へのドラッグ・アンド・ドロップ操作がなされる。また、ユーザが、ユーザインターフェイス部24を操作することによって、ファイル76に対するエリアA70からエリアC74へのドラッグ・アンド・ドロップ操作もなされる。
さらに、エリアA70、エリアB72、エリアC74間において、これらとは異なった方向へのドラッグ・アンド・ドロップ操作がファイル76に対してなされてもよい。このように、実行部16によって実行されるアプリケーションプログラム28は、複数のドラッグ・アンド・ドロップを実行可能である。アプリケーションプログラム28は、図6のように示された複数のドラッグ・アンド・ドロップに関する情報(以下、これもまた「操作予想情報」という)を保持する。実行部16は、アプリケーションプログラム28をトライアル用ライセンスで実行する場合に、アプリケーションプログラム28から操作予想情報を取得する。図1に戻る。
監視部18は、実行部16がアプリケーションプログラム28を実行し、その画面がユーザインターフェイス部24に表示されている状況下において、画面上でなされたファイル76に対するドラッグ・アンド・ドロップ操作の情報を取得する。監視部18は、取得したドラッグ・アンド・ドロップ操作の情報を取得部20に出力する。取得部20は、監視部18から、ドラッグ・アンド・ドロップ操作の情報を入力する。取得部20は、入力したドラッグ・アンド・ドロップ操作の情報を並べることによって、ドラッグ・アンド・ドロップの実行の履歴(以下、「ドラッグ・アンド・ドロップ操作履歴」という)を生成する。
つまり、取得部20は、検出部26においてアプリケーションプログラム28の起動が検出された後、アプリケーションプログラム28に対する操作履歴として、ドラッグ・アンド・ドロップ操作履歴を取得する。なお、取得部20は、ドラッグ・アンド・ドロップ操作の情報を逐次入力するので、それを反映するようにドラッグ・アンド・ドロップ操作履歴を逐次更新する。取得部20は、更新したドラッグ・アンド・ドロップ操作履歴を決定部22に出力する。
決定部22は、取得部20から、ドラッグ・アンド・ドロップ操作履歴を逐次入力する。また、決定部22は、監視部18、取得部20を介して実行部16から、操作予想情報を入力する。決定部22は、ドラッグ・アンド・ドロップ操作履歴に含まれた複数のドラッグ・アンド・ドロップ操作の情報と、操作予想情報に含まれた複数のドラッグ・アンド・ドロップ操作の情報の内容とを対応づけることによって、複数のドラッグ・アンド・ドロップ操作のそれぞれに対する実行終了を認定する。具体的に説明すると、操作予想情報と比較することによって、決定部22は、ドラッグ・アンド・ドロップ操作履歴に含まれた複数のドラッグ・アンド・ドロップ操作の情報によって、操作したドラッグ・アンド・ドロップを認識する。また、このような認識を行った場合に、決定部22は、ドラッグ・アンド・ドロップ操作に対する実行終了を認定する。決定部22は、実行終了を認定したドラッグ・アンド・ドロップ操作の数を積算する。決定部22は、積算した数がしきい値よりも多い場合に、評価の終了を決定する。ここで、しきい値は、すべてのドラッグ・アンド・ドロップ操作の数であってもよいし、それよりも少ない数であってもよい。
本実施例によれば、ドラッグ・アンド・ドロップの実行の履歴において示されたドラッグ・アンド・ドロップの数がしきい値よりも多い場合に、評価の終了を決定するので、アプリケーションプログラムに対する評価を十分に実行させることができる。
(実施例6)
次に、実施例6を説明する。実施例6は、これまでと同様に、トライアル用ライセンスを使用してアプリケーションプログラムを実行する情報処理装置に関する。これまで、アプリケーションプログラムの評価の終了を決定するためのパラメータを説明してきた。例えば、実施例1では機能をパラメータにし、実施例2では画面をパラメータにし、実施例3ではボタンをパラメータにし、実施例4ではコマンドをパラメータにし、実施例5ではドラッグ・アンド・ドロップをパラメータにしている。実施例6はこれらの組合せをパラメータにする。実施例6に係る情報処理装置100は、図1と同様のタイプであるので、ここでは、差異を中心に説明する。
取得部20は、これまでの実施例において取得した情報を取得し、それら(以下、「操作履歴」という)を決定部22に出力する。決定部22は、取得部20から、操作履歴を逐次入力する。また、決定部22は、監視部18、取得部20を介して実行部16から、操作予想情報を入力する。ここでの操作予想情報には、これまでの実施例において説明した操作予想情報に含まれた情報がまとめられている。ここでは、図7(a)−(b)を使用しながら、操作履歴に含まれた情報を説明する。図7(a)−(b)は、本発明の実施例6に係る決定部22において記録されるデータベースのデータ構造を示す。図7(a)は、実施例1における各機能に対して、ボタン操作、マウス操作、画面遷移、コマンド操作がなされた回数をまとめたデータを示す。なお、ドラッグ・アンド・ドロップ操作の回数が含まれてもよい。図7(b)の説明は後述するので、図1に戻る。決定部22は、複数種類の操作の回数の合計値が第1しきい値よりも大きくなった機能の数を積算する。また、決定部22は、積算した数が第2しきい値よりも多い場合に、評価の終了を決定する。
図7(b)は、実施例2における各画面に対して、ボタン操作、マウス操作、画面遷移、コマンド操作がなされた回数をまとめたデータを示す。ここでも、ドラッグ・アンド・ドロップ操作の回数が含まれてもよい。図1に戻る。決定部22は、複数種類の操作の回数の合計値が第1しきい値よりも大きくなった画面の数を積算する。また、決定部22は、積算した数が第2しきい値よりも多い場合に、評価の終了を決定する。
本実施例によれば、機能、画面、ボタン、コマンド、ドラッグ・アンド・ドロップの2つ以上を組み合わせて、評価の終了を決定するので、アプリケーションプログラムに対する評価を十分に実行させることができる。
(実施例7)
次に、実施例7を説明する。実施例7は、これまでと同様に、トライアル用ライセンスを使用してアプリケーションプログラムを実行する情報処理装置に関する。これまでは、操作履歴をもとに、アプリケーションプログラムの評価の終了を決定している。一方、実施例7では、ユーザの作業内容による習熟度をチェックし、習熟度が高くなっている場合に、アプリケーションプログラムの評価が終了したと判定する。具体的に説明すると、情報処理装置は、ユーザがアプリケーションプログラムを起動させた場合に、初めての作業に要した時間を計測し記録する。
作業に要した時間とは、例えば、タッチパネル操作、キーボード入力のスピード、タイミング、画面遷移等による必要機能を見つける速さ、ある操作からある操作を行う時間間隔である。また、情報処理装置は、アプリケーションプログラムを次回以降に起動した場合にも、そのような計測を続ける。作業に要した時間が、初回時に要した時間に比べ明確に短くなった場合に、情報処理装置は、ユーザの習熟度が高くなったと判定し、アプリケーションプログラムの評価の終了を決定する。
図8は、本発明の実施例7に係る情報処理装置100の構成を示す。情報処理装置100は、通信部10、管理部12、記憶部14、実行部16、監視部18、第1取得部30、第2取得部32、決定部22、ユーザインターフェイス部24を含む。記憶部14には、アプリケーションプログラム28が記憶され、実行部16は、検出部26を含む。
実行部16は、記憶部14に記憶されたアプリケーションプログラム28を実行する。アプリケーションプログラム28には、前述のごとく、複数のシナリオのそれぞれを実行するための複数の機能が実装されている。また、アプリケーションプログラム28は、操作予想情報を保持しており、これは、前述のごとく、各シナリオに含まれた複数の機能のそれぞれに対応して、受けつけるべき操作の内容に関する情報である。実行部16は、アプリケーションプログラム28をトライアル用ライセンスで実行する場合に、アプリケーションプログラム28から操作予想情報を取得する。
検出部26は、実行部16がアプリケーションプログラム28を起動させたことを検出する。監視部18は、実行部16がアプリケーションプログラム28を実行し、その画面がユーザインターフェイス部24に表示されている状況下において、ユーザによる操作の内容を取得する。監視部18は、取得した操作の内容を第1取得部30、第2取得部32に出力する。
第1取得部30は、検出部26においてアプリケーションプログラム28の起動が検出された後、監視部18から、操作の内容を入力する。第1取得部30は、監視部18を介して実行部16から、操作予想情報を入力する。第1取得部30は、操作予想情報に含まれた操作の内容と、監視部18から受けつけた操作の内容とを比較することによって、受けつけた操作の内容が前述のシナリオにしたがっているかを判定する。シナリオにしたがっている回数がX回目、例えば1回目である場合、第1取得部30は、入力した操作の内容を時系列の順に並べることによって、操作の履歴(以下、「第1操作履歴」という)を生成する。また、第1取得部30は、操作の内容を逐次入力するので、それを反映するように第1操作履歴を逐次更新する。
そのため、第1操作履歴は、アプリケーションプログラム28により規定されているシナリオであって、かつ複数の機能により構成されたシナリオに対する1回目のユーザの操作の履歴であるといえる。さらに、第1取得部30は、1回目のシナリオを実行している第1期間、つまり各シナリオに対する操作を開始してから終了するまでの第1期間を測定する。第1取得部30は、第1期間を第1操作履歴に含める。第1取得部30は、第1操作履歴を決定部22に出力する。
第2取得部32は、監視部18からの操作の内容を入力するとともに、監視部18を介して実行部16から、操作予想情報を入力する。第2取得部32は、受けつけた操作の内容と操作予想情報とをもとに、第1取得部30と同様に、操作の内容が前述のシナリオにしたがっているかを判定する。シナリオにしたがっている回数がY(Y>X)回目、例えば10回目である場合、第2取得部32は、入力した操作の内容を時系列の順に並べることによって、操作の履歴(以下、「第2操作履歴」という)を生成する。なお、Yは「10」に限定されず、Xは「1」に限定されない。つまり、YはXよりも大きければよい。
そのため、第2操作履歴は、アプリケーションプログラム28により規定されているシナリオであって、かつ複数の機能により構成されたシナリオに対する10回目のユーザの操作の履歴であるといえる。さらに、第2取得部32は、10回目のシナリオを実行している第2期間を測定する。第2取得部32は、第2期間を第2操作履歴に含める。第2取得部32は、第2操作履歴を決定部22に出力する。
決定部22は、第1取得部30からの第1操作履歴を受けつけるとともに、第2取得部32からの第2操作履歴を受けつける。決定部22は、第1操作履歴と第2操作履歴とをデータベースに記録する。図9は、決定部22において記録されるデータベースのデータ構造を示す。ここでは、シナリオA、シナリオB、シナリオCという複数のシナリオに対する1回目の操作期間と10回目の操作期間とが示される。ここで、1回目の操作期間は、第1期間に相当するので、第1操作履歴に含まれる。一方、10回目の操作期間は、第2期間に相当するので、第2操作履歴に含まれる。図8に戻る。
決定部22は、各シナリオに対する第1期間と第2期間とを比較する。一定数以上のシナリオに対して、第1期間よりも第2期間が短くなり、かつ第1期間と第2期間との差異がしきい値以上である場合に、決定部22は、ユーザによるアプリケーションプログラム28の評価の終了を決定する。ここで、一定数は、すべてのシナリオの数であってもよく、それよりも小さい数であってもよい。このように、決定部22は、第1操作履歴と、第2操作履歴とを比較することによって、ユーザによるアプリケーションプログラム28の評価の終了を決定する。なお、第1期間よりも第2期間が短くないか、第1期間と第2期間との差異がしきい値以上でない場合、第2取得部32、決定部22は、Yを「10」よりも大きな値、例えば「11」に設定して、これまでと同様の処理を繰り返す。このようなYの変更は、決定部22が評価の終了を決定するまで繰り返される。
図10は、情報処理装置100による判定手順を示すフローチャートである。1回目の操作であれば(S50のY)、第1取得部30は、第1操作履歴を取得する(S52)。1回目の操作でなければ(S50のN)、ステップ52がスキップされる。10回目以降の操作であれば(S54のY)、第2取得部32は、第2操作履歴を取得する(S56)。習熟度が高ければ(S58のY)、決定部22は、評価終了と判定する(S60)。習熟度が高くなければ(S58のN)、ステップ60がスキップされる。10回目以降の操作でなければ(S54のN)、ステップ56からステップ60がスキップされる。
本実施例によれば、シナリオに対するX回目のユーザの操作の第1履歴と、シナリオに対するY(Y>X)回目のユーザの操作の第2履歴とを比較することによって、ユーザによるアプリケーションプログラムの評価の終了を決定するので、アプリケーションプログラムに対する評価を十分に実行させることができる。また、X回目のシナリオを実行している第1期間よりも、Y回目のシナリオを実行している第2期間が短くなり、かつ第1期間と第2期間との差異がしきい値以上である場合に、ユーザによるアプリケーションプログラムの評価の終了を決定するので、アプリケーションプログラムに対する評価を十分に実行させることができる。
(実施例8)
次に、実施例8を説明する。実施例8は、実施例7と同様に、トライアル用ライセンスを使用してアプリケーションプログラムを実行する情報処理装置に関し、ユーザの作業内容による習熟度をチェックし、習熟度が高くなっている場合に、アプリケーションプログラムの評価が終了したと判定する。実施例7では、作業に要した時間をもとに、習熟度を導出している。一方、実施例8では、誤操作回数をもとに、習熟度を導出する。実施例8に係る情報処理装置100は、図1と同様のタイプであるので、ここでは、差異を中心に説明する。
第1取得部30は、検出部26においてアプリケーションプログラム28の起動が検出された後、監視部18から、操作の内容を入力するとともに、監視部18を介して実行部16から、操作予想情報を入力する。第1取得部30は、前述のごとく、第1操作履歴を生成する。さらに、第1取得部30は、X回目、例えば1回目のシナリオを実行している間、つまり各シナリオに対する操作を開始してから終了するまでの間に発生した誤操作の第1数を取得する。ここで、誤操作には、ワーニングメッセージの表示も含まれるものとする。第1取得部30は、第1数を第1操作履歴に含める。第1取得部30は、第1操作履歴を決定部22に出力する。
第2取得部32は、監視部18からの操作の内容を入力するとともに、監視部18を介して実行部16から、操作予想情報を入力する。第2取得部32は、前述のごとく、第2操作履歴を生成する。さらに、第2取得部32は、Y回目、例えば10回目のシナリオを実行している間に発生した誤操作の第2数を取得する。第2取得部32は、第2数を第2操作履歴に含める。第2取得部32は、第2操作履歴を決定部22に出力する。
決定部22は、第1取得部30からの第1操作履歴を受けつけるとともに、第2取得部32からの第2操作履歴を受けつける。決定部22は、第1操作履歴と第2操作履歴とをデータベースに記録する。図11は、本発明の実施例8に係る決定部22において記録されるデータベースのデータ構造を示す。ここでは、シナリオA、シナリオB、シナリオCという複数のシナリオに対する1回目の誤操作回数と10回目の誤操作回数とが示される。ここで、1回目の誤操作回数は、第1数に相当するので、第1操作履歴に含まれる。一方、10回目の誤操作回数は、第2数に相当するので、第2操作履歴に含まれる。図8に戻る。
決定部22は、各シナリオに対する第1数と第2数とを比較する。一定数以上のシナリオに対して、第1数よりも第2数が小さくなり、かつ第1数と第2数との差異がしきい値以上である場合に、決定部22は、ユーザによるアプリケーションプログラム28の評価の終了を決定する。ここで、一定数は、すべてのシナリオの数であってもよく、それよりも小さい数であってもよい。このように、決定部22は、第1操作履歴と、第2操作履歴とを比較することによって、ユーザによるアプリケーションプログラム28の評価の終了を決定する。
本実施例によれば、X回目のシナリオを実行している間に発生した誤操作の第1数よりも、Y回目のシナリオを実行している間に発生した誤操作の第2数が小さくなり、かつ第1数と第2数との差異がしきい値以上である場合に、ユーザによるアプリケーションプログラムの評価の終了を決定するので、アプリケーションプログラムに対する評価を十分に実行させることができる。
以上、本発明を実施例をもとに説明した。この実施例は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
本発明の実施例1において、決定部22は、実行終了を認定した機能の数をもとに評価の終了を決定している。しかしながらこれに限らず例えば、決定部22は、実行終了を認定した機能にもとづくスコアをもとに、評価の終了を決定してもよい。具体的に説明すると、シナリオの前段に配置される機能のスコアよりも、シナリオの後段に配置される機能のスコアの方が大きくなるように、スコアが設定される。決定部22は、実行された機能に対するスコアを加算することによって、スコアの累積値を計算する。決定部22は、スコアの累積値がしきい値よりも大きい場合に、評価の終了を決定する。本変形例によれば、シナリオの後方に配置された機能ほどスコアが高くされるので、アプリケーションプログラムに対する評価を十分に実行させることができる。
本発明の実施例2において、決定部22は、表示される画面の数をもとに評価の終了を決定している。しかしながらこれに限らず例えば、決定部22は、表示される画面にもとづくスコアをもとに、評価の終了を決定してもよい。具体的に説明すると、画面遷移の前段に配置される画面のスコアよりも、画面遷移の後段に配置される画面のスコアの方が大きくなるように、スコアが設定される。決定部22は、表示された画面に対するスコアを加算することによって、スコアの累積値を計算する。決定部22は、スコアの累積値がしきい値よりも大きい場合に、評価の終了を決定する。本変形例によれば、画面遷移の後方に配置された画面ほどスコアが高くされるので、アプリケーションプログラムに対する評価を十分に実行させることができる。
本発明の実施例1乃至8において、1つのアプリケーションプログラム28に対する評価がなされている。しかしながらこれに限らず例えば、複数ユーザに対して設定する手段が設けられてもよい。これは、アプリケーションプログラム28を複数のユーザで試験、評価することを目的とする。このため、情報処理装置100は、ユーザ登録、指紋認証、カメラによる顔認証等のユーザを特定する機能を有し、ユーザ別にデータを計測、記録する。本変形例によれば、習熟度がユーザ別に記録、管理されるので、トライアル用ライセンスを複数のユーザで共用できる。