以下、本発明に関する好ましい実施形態について図面を参照しつつ詳細に説明する。尚、以下に説明する実施形態において互いに共通する部材には同一符号を付しており、それらについての重複する説明は省略する。
図1は、本実施形態における情報処理システム1の一構成例を示す図である。情報処理システム1は、例えばパーソナルコンピュータなどの情報処理装置2と、印刷機能を備える画像処理装置3(3a〜3c)とがネットワーク5を介して相互にデータ通信が可能な構成である。ネットワーク5は、例えば、一般的なオフィス内に構築されるLAN(Local Area Network)である。但し、これに限定されずネットワーク5は、WAN(Wide Area Network)などの広域的な通信網を含む複合的な通信ネットワークであってもよい。また情報処理装置2及び画像処理装置3は、例示されている数に限られない。
情報処理装置2は、上述したように例えば一般的なパーソナルコンピュータであり、各種情報を表示する表示部2aと、ユーザによる各種情報を入力する操作入力部2bとを備えている。また情報処理装置2には、予めOS(Operation System)が実装されている。OSは、情報処理装置2の各種処理を管理する基本的なプログラムであり、OSが動作することでユーザの操作指示に基づく各種処理を実行することが可能になる。このOSは、上述したような不要ファイル削除機能を備えている。また、情報処理装置2には、画像処理装置3に印刷出力を行なわせるプリンタードライバーが予めインストールされている。プリンタードライバーは、OSによって実行されることで機能し、ユーザの指示操作に基づき印刷ジョブを生成すると共に、その印刷ジョブを画像処理装置3に送信する。
画像処理装置3は、例えば一般的な複合機や印刷機などであり、印刷機能の他、コピーやスキャンなどの機能も備えている。また、画像処理装置3は、上記のようにして情報処理装置2から出力される印刷ジョブを受信して印刷出力を行うように構成される。ここで印刷ジョブは、情報処理装置2に予めインストールされているプリンタードライバーが起動して所定の動作を行なうことで生成される。プリンタードライバーは、通常、画像処理装置3の機種やバージョンに応じて提供されるため、画像処理装置3の機種やバージョンが異なるとそれに伴い対応するプリンタードライバーも異なる。例えば画像処理装置3a,3b及び3cのそれぞれが互いに異なる機種であるとすると、情報処理装置2には、画像処理装置3a,3b及び3cに対応する3種類のプリンタードライバーのそれぞれがインストールされる。
また情報処理装置2は、インストールされたプリンタードライバーをアンインストールすることにより、そのプリンタードライバーを削除する。プリンタードライバーがアンインストールされると、情報処理装置2が備える記憶装置の空き容量が増加する。特に本実施形態において情報処理装置2は、OSの不要ファイル削除機能が動作することに伴って、不要なプリンタードライバーを自動で削除する構成である。
図2は、本実施形態における処理の概要を模式的に示す図である。図2に示すように、情報処理装置2は、不要ファイル削除機能を動作させることに伴って記憶装置15に記憶されている不要ファイルと不要なプリンタードライバーとを削除する。不要ファイル削除機能は、OSが各種処理を行なうことに伴って記憶装置15に蓄積されていく不要なファイルを自動抽出した後に、ユーザの削除指示に従って削除する機能である。このような不要ファイル削除機能は、OSの1つの機能として設けられている。例えば、例えばマイクロソフト社が提供するOSであるWindows(登録商標)では、「ディスククリーンアップ」と呼ばれる不要ファイル削除機能が提供されている。但し、OSは必ずしも不要ファイル削除機能を備えていなくても良い。この場合、OSとは別に不要ファイル削除機能を動作させるためのアプリケーションソフトウエアを情報処理装置2に予めインストールしておき、そのアプリケーションソフトウエアにOSと連携した動作を行なわせることにより、情報処理装置2において不要ファイル削除機能が動作する構成であっても良い。
またOSは、上述した不要ファイル削除機能の他に、記憶装置15の空き容量を監視する監視機能を有している。OSの監視機能は、情報処理装置2に電源が投入されることに伴って動作を開始して、記憶装置15の空き容量が所定値以下になるか否かを監視する。そしてOSの監視機能によって記憶装置15の空き容量が所定値以下になったことが検出されると、次に、上述したOSの不要ファイル削除機能が動作する。不要ファイル削除機能が動作を開始すると、OSは、ユーザに対して記憶装置15の空き容量が不足している旨を警告すると共に不要ファイル抽出を促す案内画面を表示部2aに表示させる。そしてOSは、ユーザによる抽出開始指示を受付けることで、記憶装置15に蓄積されている不要ファイルを抽出する動作を開始する。またOSによる警告表示が行なわれない場合にユーザによる手動操作によって不要ファイルの抽出動作が開始できるように構成されても良い。
次にOSは、記憶装置15を検索して、その記憶装置15に記憶されている各種ファイルのうち、OS自身が過去に何らかの処理を行なうためにインストールしたファイルであってその使用頻度が所定値よりも低いファイルを不要ファイルとして抽出する。つまり不要ファイルとして抽出されるファイルは、OSが過去に各種処理を行なう上で一時取得され現時点では不要となっているファイル等であり、削除してもOSの動作に影響を与えないファイルである。例えばOSは、過去にインターネットを介してWEBサイトにアクセスしたときに一時的に記憶した各種ファイルなどを不要であると判断する。これらのファイルは、OSが各種処理を行なう上で自動的に取得されるものであるため、OS自身がそれらのファイルについて不要である否かを判断することができる。そしてOSは、不要ファイルを検出するとユーザに対して削除実行を行うか否かを確認するための確認画面を表示部2aに表示させ、ユーザの削除指示に従ってそれら不要ファイルを削除する。これにより比較的簡易な操作で不要ファイルが削除されると共に、記憶装置15の空き容量が増加する。
ところで、プリンタードライバーは、ユーザの操作指示の下でインストールされるものである。すなわちインストールされたプリンタードライバーは、ユーザの意思によって記憶装置15に記憶されているので、通常のOSでは、そのプリンタードライバーが不要であるか否かを判断することができない。そのため一般的にプリンタードライバーは、OSの不要ファイル削除機能が動作する場合における削除対象から除外されている。但しこの場合、仮に不要なプリンタードライバーが記憶装置15の記憶領域を圧迫している状態でOSの不要ファイル削除機能が動作しても、プリンタードライバーは削除対象から除外されるため、記憶装置15の空き容量を十分に確保できない事態になり得る。この場合、ユーザは、記憶装置15の空き容量を確保するためデバイスドライバーの要否をユーザ自身で判断してアンインストールを行なうことになるので手間となる。特に、記憶装置15に同種のデバイスドライバーが複数記憶されている場合、ユーザにとっては複数のデバイスドライバーのうち何れが不要であるかを判断するのが難しい。更にこの場合、ユーザは、誤って必要なデバイスドライバーをアンインストールしてしまう可能性もある。
そこで、本実施形態において情報処理装置2は、OSの不要ファイル削除機能が動作する場合において不要ファイルを削除すると共に、通常のOSでは判断できないプリンタードライバーの要否を判断して、不要であると判断したプリンタードライバーを自動抽出するように構成される。これによりOSの不要ファイル削除機能が動作する場合において、不要なプリンタードライバーが自動抽出されるのでユーザの操作負担が軽減される。また不要ファイルを削除することに伴って不要なプリンタードライバーをアンインストールすることが可能に構成されているので、情報処理装置2は、不要ファイルのみを削除する場合に比べて、記憶装置15の空き容量を多く確保することができる。以下、そのように構成される情報処理装置について詳しく説明する。
図3は、情報処理装置2のハードウエア構成の一例を示す図である。情報処理装置2は、この情報処理装置2の動作を制御する制御部10と、ネットワーク5を介して情報処理装置2及び画像処理装置3と通信を行うためのネットワークインタフェース11と、上述した表示部2a及び操作入力部2bと、各種情報を記憶する記憶装置15と、を備え、それらがバス25を介して接続されることにより相互に通信可能に構成される。
制御部10は、CPU10aとメモリ10bとを備えており、各部の動作を制御するものである。CPU10aは、記憶装置15に記憶されているOS16とプログラム17とを読み出して実行する。OS16は、上述したように各種処理を管理する基本的なプログラムであり、上述した監視機能と不要ファイル削除機能とを備えている。プログラム17は、例えば予めインストールされるアプリケーションソフトウエアであり、制御部10を後述する各種処理部として機能させるためのプログラムである。すなわちCPU10aは、OS16を起動させている状態で更にプログラム17を実行することにより制御部10を後述する各処理部として機能させる。但しこれに限定されず、例えばプログラム17は、OS16に標準的に組み込まれるプログラムとして構成することも可能である。メモリ10bは、CPU10aがプログラムを実行することに伴う一時的なデータなどを記憶するものである。
ネットワークインタフェース11は、制御部10をネットワーク5に接続するためのものである。これにより制御部10は、このネットワークインタフェース11を介して画像処理装置3に通信可能に接続される。尚、ネットワークインタフェース11は、ネットワーク5に対して有線接続されるものであっても良いし、無線接続されるものであっても良い。
表示部2aは、上述したように各種情報を表示するためのものであり、例えば、液晶パネルなどで構成される。また、操作入力部2bは、例えば、一般的なキーボードやマウスなどで構成されユーザによる操作指示を入力することが可能である。
記憶装置15は、例えばハードディスク装置などで構成される。また、記憶装置15は、情報処理装置2にインストールされるプリンタードライバーを記憶する記憶領域としてプリンタードライバー記憶部15aを備えている。複数のプリンタードライバーがインストールされる場合、プリンタードライバー記憶部15aには、複数のプリンタードライバーが記憶される。また、記憶装置15には、上述したOS16及びプログラム17の他に管理情報18が記憶される。この管理情報18については後述する。
図4は、本実施形態における制御部10の機能構成の一例を示すブロック図である。情報処理装置2に電源が投入されると、CPU10aはOS16を起動する。そしてOS16の起動が完了すると、CPU10aは、それに引き続いてプログラム17を自動的に読出して実行する。これにより制御部10は、以下に説明する各処理部として機能する。すなわち制御部10は、不要ファイル削除機能を動作させるか否かを検知する検知部16a、検知部16aによって不要ファイル削除機能を動作させることが検知された場合に動作する不要ファイル削除部16b、不要なプリンタードライバーを自動判別するための各種情報を取得する取得部31、取得部31によって取得される情報に基づいて不要なプリンタードライバーを自動抽出する判断部32、及び判断部32によって抽出される不要なプリンタードライバーをアンインストールするアンインストール実行部33として機能する。
上記各処理部のうち、検知部16a及び不要ファイル削除部16bは、CPU10aがOS16を起動することによって機能する処理部である。また、取得部31、判断部32及びアンインストール実行部33は、CPU10aがプログラム17を実行することによって機能する処理部である。そして取得部31は、OS16が起動している状態で制御部10に常駐するようになっている。また判断部32及びアンインストール実行部33は、OS16の機能である不要ファイル削除部16bが動作することに伴って機能するようになっている。
検知部16aは、例えば記憶装置15の空き容量が所定値以下であるか否かを常時監視し、空き容量が所定値以下であればそれを検知して不要ファイル削除部16bを動作させる。またこれに限らず、検知部16aは、例えばユーザによって不要ファイル削除指示が行なわれた場合にも、その指示を検知して不要ファイル削除部16bを動作させる。検知部16a及び不要ファイル削除部16bのそれぞれは、上述した監視機能及び不要ファイル削除機能に対応した動作を行なう処理部である。すなわち、検知部16aは、不要ファイル削除機能を動作させるタイミングであるか否かを検知し、不要ファイル削除部16bは、検知部16aによる検知結果に基づき不要ファイルを自動抽出してその不要ファイルを削除する処理を行なう。
取得部31は、不要なプリンタードライバーを自動判別するために必要となる各種情報として、情報処理装置2にインストールされているプリンタードライバーの利用履歴に関するドライバ情報と、そのプリンタードライバーにより動作する画像処理装置3の利用履歴に関するデバイス情報とを取得する処理部である。また、取得部31は、取得するドライバ情報とデバイス情報とを履歴情報19に記録する処理部も行なう。
判断部32は、上述したように取得部31によって取得される情報に基づいて不要なプリンタードライバーを自動抽出する処理部である。より具体的には判断部32は、情報処理装置2にインストールされているプリンタードライバーのうち、アンインストール対象となるプリンタードライバーを判断テーブル21に基づき特定する。
また、アンインストール実行部33は、判断部32によって抽出される不要なプリンタードライバーをアンインストールする処理部である。すなわちアンインストール実行部33は、記憶装置15に記憶されているプリンタードライバーのうち判断部32によってアンインストール対象として判断されたプリンタードライバーを特定してアンインストールの実行を行なう。以下、各処理部による具体的な処理について説明する。
上記各処理部によって実行される処理においては、不要ファイル削除部16bが動作する前、つまり検知部16aが動作している状態で行なわれる準備処理と、不要ファイル削除部16bが動作することに伴って行なわれるアンインストール実行処理とが含まれる。取得部31は、準備処理を行い、判断部32及びアンインストール実行部33は、アンインストール実行処理を行なう。まず準備処理について説明する。
準備処理において取得部31は、上述したように不要なプリンタードライバーを自動判別するために必要となる各種情報を取得し、それら各種情報を履歴情報19に記録する。
図5は、取得部31によって記録される履歴情報19の一例を示す図である。履歴情報19は、インストールされているプリンタードライバー毎に用意される情報である。従って、複数のプリンタードライバーがインストールされている場合には、取得部31は、図例のように複数のプリンタードライバーに対応した複数の履歴情報19を用意して各種情報を記録する。
履歴情報19には、ドライバ情報19aと、デバイス情報19bと、最新応答日時19cとが含まれる。まずドライバ情報19aについて説明する。ドライバ情報19aは、上述したようにプリンタードライバーの利用履歴に関する情報であり、インストール日時、ドライバ利用回数、最終印刷日時が記録される。インストール日時は、プリンタードライバーのインストールが完了した日時である。ドライバ利用回数は、そのプリンタードライバーを起動して画像処理装置3に印刷出力を実行させた回数である。また、最終印刷日時は、そのプリンタードライバーを起動させて印刷出力を画像処理装置3に最後に実行させた日時である。
デバイス情報19bは、上述したように画像処理装置3の利用履歴に関する情報であり、デバイス利用回数及び最終ログイン日時が含まれる。デバイス利用回数は、ユーザが画像処理装置3にログインした状態で、例えばコピーやスキャンなど画像処理装置3に対する直接操作により処理を実行した回数である。従って、デバイス利用回数には、情報処理装置2からの印刷指示によって印刷出力を行った回数は含まれない。最終ログイン日時は、ユーザが画像処理装置3に最後にログインした日時である。
また、履歴情報19には最新応答日時19cが更に含まれる。最新応答日時19cは、画像処理装置3との通信が確立されている状態が最後に確認された日時である。すなわちこの最新応答日時19cは、画像処理装置3がネットワーク5に接続されているか否かを確認するための情報である。
取得部31は、上記各情報を履歴情報19に記録するに先立って、それらの情報を取得するため以下の処理を行なう。まず取得部31は、新たにプリンタードライバーがインストールされるとき、インストール日時を取得する。また、取得部31は、情報処理装置2から画像処理装置3に対して印刷指示が行なわれるか否かを監視する。そして取得部31は、印刷指示が行われると、その印刷指示を行ったプリンタードライバーのドライバ利用回数を1つカウントアップして取得する。また、そのとき取得部31は、印刷指示が行われたときの日時を最終印刷日時として取得し、印刷指示が行なわれる度にその最終印刷日時を更新していく。このようにして取得部31は、ドライバ情報19aを取得する。
次にデバイス情報19b及び最新応答日時19cを取得するための処理について説明する。デバイス情報19bは、画像処理装置3から出力される情報であり、取得部31は、その画像処理装置3から出力されるデバイス情報19bを受信することにより取得する。すなわち画像処理装置3は、ユーザによるログイン操作を受付け、ユーザによるログインを許可すると、そのときの日時をログイン日時としてユーザ情報に関連付けて記憶する。そして画像処理装置3は、同一ユーザによるログインが行なわれる度に、最終ログイン日時を更新する。また画像処理装置3は、ログインを許可した後に例えばコピーやスキャンなどの各種処理が実行されると、ログインしているユーザの利用回数を1つカウントアップして記憶する。複数のユーザが画像処理装置3を利用した場合、画像処理装置3は、ユーザ毎の利用回数を記憶する。
一方、情報処理装置2において取得部31は、インストールされているプリンタードライバーが駆動する画像処理装置3との通信が確立されているか否かを定期的に検出する。そして、画像処理装置3との通信が確立されていることが検出される度に、そのプリンタードライバーに対応する履歴情報19の最新応答日時19cを更新していく。従って画像処理装置3がネットワーク5に接続されていない場合、その画像処理装置3と情報処理装置2との通信が確立されていない状態となるので、最新応答日時19cには、最後に通信確立状態が確認された日時が記録されたままの状態となる。取得部31は、複数のプリンタードライバーが情報処理装置2にインストールされている場合には、各プリンタードライバーに対応する画像処理装置3に対して上記と同様にして各画像処理装置3の最新応答日時19cを取得する。このようにして取得部31は、画像処理装置3の最新応答日時19cを取得する。
また取得部31は、画像処理装置3との通信が確立されていることを確認すると、次に画像処理装置3に対してデバイス情報19bの出力要求を行う。ここで情報処理装置2には、予め、その情報処理装置2の使用者などのユーザIDや認証情報などを登録しておく。そして取得部31は、それらユーザIDと認証情報とを用いて画像処理装置3にデバイス情報19bの出力要求を行う。これにより画像処理装置3は、複数ユーザによる複数のデバイス情報19bを記憶している場合に、出力すべきユーザのデバイス情報19bを特定することができる。そして取得部31は、画像処理装置3から出力されるデバイス情報19bを受信する。このようにして取得部31は、デバイス情報19bを取得する。
取得部31は、ドライバ情報19a、デバイス情報19b又は最新応答日時19cを取得すると、それら各情報を取得したタイミングで履歴情報19に記録する。取得部31は、不要ファイル削除部16bが動作するまで上述した処理を繰り返し行って新たな情報で履歴情報19を更新していく。
次に、不要ファイル削除部16bが動作することに伴って実行されるアンインストール実行処理について説明する。アンインストール実行処理は、図4に示す不要ファイル削除部16bが動作することをトリガーとして実行される。例えば検知部16aによって記憶装置15の空き容量が所定値以下になったことが検知されると、次に不要ファイル削除部16bが動作を開始する。このとき判断部32は、不要ファイル削除部16bが動作するタイミングを検知し、不要ファイル削除部16bが動作を開始することに伴ってアンインストール実行処理を開始する。また判断部32は、ユーザによる不要ファイル削除指示に伴ってアンインストール実行処理を開始しても良い。アンインストール実行処理は、不要ファイル削除部16bの動作と並行して実行される。
アンインストール実行処理が開始されると、判断部32は、以下に説明するように情報処理装置2にインストールされているプリンタードライバーの中から、不要なプリンタードライバーを自動抽出する。まず判断部32は、記憶装置15に記憶されている管理テーブル20に各種情報を記録する処理を行なう。管理テーブル20は、取得部31により取得された各種情報が集約された情報であり、判断部32がプリンタードライバーの要否を判断する際に用いられる情報である。
図6は、判断部32によって記録される管理テーブル20の一例を示す図である。管理テーブル20には、上述した取得部31によって取得される履歴情報19の集計結果が一覧として記録される。判断部32は、不要ファイル削除部16bが動作すると、記憶装置15に記憶されている全ての履歴情報19を読み出して集計し、その集計結果を管理テーブル20に記録する。すなわち判断部32は、インストールされている全てのプリンタードライバーのインストール日時、ドライバ利用回数及び最終印刷日時を管理テーブル20に記録する。また判断部32は、それらプリンタードライバーが駆動する画像処理装置3のデバイス利用回数及び最終ログイン日時を管理テーブル20に記録する。同様に判断部32は、各画像処理装置3の最新応答日時19cを管理テーブル20に記録する。
判断部32は、管理テーブル20への記録が終了すると、次に、管理テーブル20に記録されている情報に基づいてプリンタードライバーの不使用期間及び利用頻度と、そのプリンタードライバーにより駆動される画像処理装置3の利用頻度とを算出する。
まず判断部32は、プリンタードライバーの不使用期間を算出する。プリンタードライバーの不使用期間は、現在日時から最終印刷日時を差し引くことで算出される。具体的な算出式は、「プリンタードライバーの不使用期間=現在日時−最終印刷日時」である。また判断部32は、プリンタードライバーの利用頻度を算出する。プリンタードライバーの利用頻度は、ドライバ利用回数をプリンタードライバーのインストール日時から最終印刷日時までの期間で除することで求められる。具体的な算出式は、「プリンタードライバーの利用頻度=ドライバ利用回数/(最終印刷日時−インストール日時)」となる。
また、判断部32は、画像処理装置3の利用頻度を算出する。画像処理装置3の利用頻度は、デバイス利用回数をプリンタードライバーのインストール日時から画像処理装置3の最終ログイン日時までの期間で除することで求められる。具体的な算出式は、「画像処理装置3の利用頻度=デバイス利用回数/(最終ログイン日時−インストール日時)」となる。判断部32は、上記のようにしてプリンタードライバーの不使用期間及び利用頻度と、画像処理装置3の利用頻度とを算出すると、以下に説明するように判断テーブル21を参照してアンインストール対象となるプリンタードライバーを特定する。判断テーブル21は、プリンタードライバーの要否判断を行なうための判断基準が記録されている情報である。
図7は、判断部32によって参照される判断テーブル21の一例を示す図である。判断テーブル21には、アンインストール対象となるプリンタードライバーを特定するための複数の判断条件が項目毎に予め設定されている。また判断テーブル21には、項目毎の判断条件に該当するプリンタードライバーの例えば識別情報が記録されるようになっている。項目1及び2は、算出されたプリンタードライバーの不使用期間と利用頻度とに基づき判断される条件である。また項目3,4は、最新応答日時19c,算出された画像処理装置3の利用頻度のぞれぞれに基づき判断される条件である。また項目5は、例外を規定する条件である。尚、図例に示す各項目1〜5における具体的な数値は一例でありこれに限定されるものではない。以下、各項目について説明する。
判断テーブル21の項目1においては、現在から遡って連続不使用期間が6ヶ月を超えることが判断条件となっている。これは長期に及んで全く印刷出力を行なっていないプリンタードライバーは、既に不要となっている可能性が高いと考えられるからである。
判断テーブル21の項目2においては、プリンタードライバーの利用頻度が低いことが判断条件となっている。プリンタードライバーが殆ど利用されていない場合にも、項目1と同様にそのプリンタードライバーは、既に不要となっている可能性が高いと考えられるからである。プリンタードライバーの利用頻度が低いか否かについては、そのプリンタードライバーの利用頻度が予め設定される所定値よりも低い場合に利用頻度が低いと判断される。予め設定される所定値は、例えば「30日に1回」のように具体的な頻度を設定することも可能であるが、他のプリンタードライバーとの相対的な順位を所定値として用いても良い。一例を挙げると情報処理装置2に少なくとも4つ以上のプリンタードライバーがインストールされていることを条件として、所定値は、利用頻度が最も低い順位から例えば「3番目」と設定する。すなわちこの場合、判断部32は、所定値である、利用頻度が最も低い順位から「3番目」よりも低いワースト1,2位のプリンタードライバーが、この項目2の条件を満たすと判断する。尚、項目4の画像処理装置3の利用頻度も上記と同様である。
判断テーブル21の項目3においては、現在から遡って過去3ヶ月以上、画像処理装置3からの応答がないことが判断条件となっている。これは、その画像処理装置3は、長期間ネットワーク5から除外されている状態であるので、既に破棄されている可能性が高いと考えられるからである。判断部32は、この項目3については、管理テーブル20に記録されている最新応答日時19cを参照することで該当するプリンタードライバーがあるか否かを判断する。
判断テーブル21の項目5においては、インストールしてから1年以上経過していることが判断条件となっている。この項目5の判断条件は、上記項目1〜4とは異なり、条件に該当しないプリンタードライバーをアンインストール対象に該当させないように判断結果を導くための条件である。すなわち比較的最近インストールされたプリンタードライバーは、ユーザによる使用意思が未だ存在する可能性があるので、項目1〜4のうち何れかに該当する場合であってもアンインストール対象に該当させないことが好ましい。そこで本実施形態では上記のように例外条件が設定されている。
判断部32は、管理テーブル20に記録されている全てのプリンタードライバーについて、判断テーブル21の各項目に該当するか否かを判断し、該当する項目がある場合には、その該当する項目に対応してプリンタードライバーの識別情報を記録していく。全てのプリンタードライバーについて判断テーブル21への記録が終了すると、判断部32は、その判断テーブル21に基づきアンインストール対象となるプリンタードライバーを特定する。
ところで、アンインストール対象となるプリンタードライバーを特定する場合の好ましい判断手法については、大きく分けて2つある。1つ目は、判断テーブル21に記録される項目1〜5のうち項目1及び2についてのみ判断する手法である。2つ目は、判断テーブル21における項目1〜5の全てについて判断する手法である。1つ目の判断手法を採用することにより処理が比較的簡易になるので処理効率が向上する。また2つ目の手法を採用することにより1つ目の手法よりも適切にアンインストール対象を特定することができる。何れの手法を採用するかについては任意であり、ユーザが手動操作で設定できるように構成しても良い。
まず1つ目の判断手法について説明する。1つ目の判断手法は、プリンタードライバーの利用履歴に関する項目1及び2にのみ基づきアンインストール対象を特定する手法である。すなわち項目1及び2は、上述したようにプリンタードライバーの利用履歴に直接関係する情報であり、他の項目3〜5は、プリンタードライバーの利用履歴には直接関係しない情報である。すなわち項目1及び2の何れかに該当するプリンタードライバーは、長期に及んで不使用であったり、殆ど使用されていなかったりしている状態であるので、その事実をもって不要であると判断しても構わないと考えられる。そこで判断部32は、項目1及び2の少なくとも何れか一方に該当する場合には、他の項目に該当するか否かにかかわらずアンインストール対象として特定する。図7の例では、判断部32は、項目1及び2のうち少なくとも何れか一方に該当しているプリンタードライバーA,B及びDをアンインストール対象として特定する。
この場合、取得部31がドライバ情報19aのみを取得するように構成されることが好ましい。また判断部32は、ドライバ情報19aにのみ基づき集計結果を管理テーブル20に記録すれば良い。そして判断部32は、管理テーブル20に集計結果が記録されると、その管理テーブル20に記録されているドライバ情報19aに基づきプリンタードライバーの不使用期間及び利用頻度だけを算出する。また判断部32は、判断テーブル21の項目1及び2にのみ基づきアンインストール対象を特定する。これによりドライバ情報19a以外の情報を処理する必要がないので処理が比較的簡易になり処理効率が向上する。
この1つ目の判断手法が採用される場合、更に画像処理装置3の利用頻度(項目4)を加味してアンインストール対象となるプリンタードライバーを特定しても良い。一般的にユーザは、複数の画像処理装置3を利用目的に応じて使い分けている場合がある。例えばユーザは、印刷出力を行う際には出力速度の速い画像処理装置3a(図1)を利用し、コピーを行う際には画質の優れた画像処理装置3b(同図)を利用する場合がある。この場合、ユーザは、例えば画像処理装置3aが故障した場合や、印刷出力するついでにコピーも行いたい場合などに備えて、画像処理装置3bにいつでも印刷出力させることができるように、その画像処理装置3bのプリンタードライバーを予備的にインストールさせておく可能性がある。しかし、仮にドライバ情報19aに関する項目1及び2にのみ基づきアンインストール対象となるか否かを判断してしまうと、ユーザが予備的にインストールさせたプリンタードライバーまでアンインストール対象と判断してしまう可能性が生じる。
そこで、ドライバ情報19aに関する項目1及び2のうち何れか一方に該当する場合であっても画像処理装置3の利用頻度が所定値よりも高い場合には、例外的にそのプリンタードライバーをアンインストール対象とは判断しないように構成することが好ましい。その所定値を何れの値とするかは任意であるが、少なくとも判断テーブル21の項目4に設定される判断条件よりも高い利用頻度であることが条件となる。例えばその所定値は、具体的に「M日に1回(M<30日)」の利用頻度として設定されても良いし、他のプリンタードライバーとの相対的な順位を所定値として用いても良い。図7の例で説明すると、項目2に該当しているプリンタードライバーDに対応する画像処理装置3の利用頻度が上記所定値「M日に1回(M<30日)」よりも高い場合又はワースト1,2位に該当しない場合、判断部32は、そのプリンタードライバーDをアンインストール対象から除外する。これによりプリンタードライバーの不使用期間及び利用頻度のみを判断基準とする場合に比べてより適切にプリンタードライバーがアンインストール対象となるか否かを判断することができるので利便性が高まる。
次に2つ目の手法について説明する。2つ目の手法は、上述したように5項目全てに基づきアンインストール対象を特定する手法である。判断部32は、上記5項目中、予め設定される任意の項目数以上に該当するプリンタードライバーがある場合に、そのプリンタードライバーをアンインストール対象として特定する。例えば、判断部32は、項目1〜4のうち少なくとも2項目以上に該当するプリンタードライバーをアンインストール対象として特定する。但し、必要項目数を満たす場合であっても、項目1及び2の何れにも該当しないプリンタードライバーは、アンインストールから除外することが好ましい。なぜなら、項目1及び2は、上述したようにプリンタードライバーの利用履歴に直接関係する情報であり、他の項目3及び4は、プリンタードライバーの利用履歴には直接関係しない情報だからである。
つまり項目1及び2の何れにも該当しないプリンタードライバー、言い換えると不使用期間が比較的短く且つ利用頻度が比較的高いプリンタードライバーは、頻繁に使用されていることになるので、通常、ユーザにとって必要なものであると考えられる、そのため上記のように頻繁に使用されるプリンタードライバーは、他の項目を満たすか否かにかかわらずアンインストール対象から除外されることが好ましい。そこで、この2つ目の判断手法において好ましくは、判断部32は、少なくとも項目1及び2の何れ一方に該当する場合であって、且つ項目1〜4のうち、必要項目数を満たす場合に、そのプリンタードライバーをアンインストール対象として特定する。
一例を挙げると図7の例では、プリンタードライバーCは、項目1〜4のうち項目3,4に該当しており必要項目数を満たすものの項目1及び2の何れにも該当してない。この場合、プリンタードライバーCは、ユーザが頻繁に利用しているプリンタードライバーであると考えられる。従って判断部32は、プリンタードライバーCをアンインストール対象から除外する。このように構成することで、適切にアンインストール対象を特定することができる。特に2つ目の判断手法においては、1つ目の判断手法において考慮されない項目3及び5についても考慮するので、1つ目の判断手法が採用される場合に比べてより適切にアンインストール対象を特定することができる。
例えば、項目3に該当しているデバイスドライバーがある場合には、そのデバイスドライバーが駆動する画像処理装置3は、既にネットワーク5から撤去されている可能性があるので、そのプリンタードライバーをアンインストール対象として判断するように判断結果を導くことができる。図7の例では、プリンタードライバーA,C及びDが項目3に該当する。プリンタードライバーDは、項目1,2及び4のみを用いる上記1つ目の判断手法では、上述したように項目4に該当していないためアンインストール対象から除外される傾向が強くなるが、この2つ目の判断手法を用いることで必要項目数を満たすことになるためアンインストール対象として適切に判断されることになる。
更に項目5に該当しないプリンタードライバーは、アンインストール対象から除外する方向に判断結果を導くことができる。例えば、プリンタードライバーBは、項目1,2に該当しているが項目5には該当していない。すなわち、プリンタードライバーBは、上記1つ目の判断手法によるとアンインストール対象となるが、この2つ目の判断手法を用いることにより、アンインストール対象から除外することが可能である。このように2つ目の判断手法においては、1つ目の判断手法よりも多面的に判断を行なうことでプリンタードライバーの要否判断の精度を高めることができるので、アンインストール対象を1つ目の判断手法よりも適切に特定することができる。
上記のようにしてアンインストール実行処理が行なわれる一方で、情報処理装置2においてはOS16による不要ファイルの削除処理が進められる。すなわちOS16の不要ファイル削除部16bは、記憶装置15に記憶されている不要なファイルを自動抽出すると、抽出した不要ファイルを一覧にして表示部2aに表示させる。そして不要ファイル削除部16bは、ユーザによる削除指示を受付けると、その削除指示に基づきその不要ファイルを削除する。
一方、不要ファイル削除部16bによってユーザによる不要ファイルの削除指示が受付けられると、アンインストール実行部33が機能する。アンインストール実行部33は、記憶装置15に記憶されているプリンタードライバーのうち、判断部32によってアンインストール対象として判断されたプリンタードライバーを特定する。そして、アンインストール実行部33は、特定したプリンタードライバーのアンインストールを実行する。これにより不要ファイル削除部16bにより不要ファイルが削除されることに伴って不要なプリンタードライバーが自動抽出されるのでユーザの操作負担が軽減される。また、上記のように不要ファイル削除部16bにより不要ファイルが削除されることに伴って不要なプリンタードライバーをアンインストールすることで、OS16によって単に不要ファイルの削除のみが行なわれる場合に比べて記憶装置15の空き容量を多く確保することが可能である。これにより情報処理装置2の利便性を更に高めることができる。
以上の説明は、アンインストール対象として特定されるプリンタードライバーを自動でアンインストールする場合を例示した。但しプリンタードライバーは、ユーザの意思によってインストールされるものであるので、情報処理装置2によって不要のプリンタードライバーとして判断される場合であっても、実際にはユーザがアンインストール対象から除外したいと希望する場合もある。そこで、以下に説明するように、アンインストール対象として特定されたプリンタードライバーをアンインストールする直前に、ユーザに対してアンインストールの可否を選択させるように構成しても良い。このように構成することで、ユーザにとって必要なプリンタードライバーを誤ってアンインストールしてしまうことを防止することができる。
この場合、制御部10は、表示部2aに各種情報を表示させる表示制御部として更に機能する。表示制御部は、判断部32によってアンインストール対象が特定されると、そのアンインストール対象をアンインストールするか否かを選択するための選択画面を生成して表示部2aに表示させる。
図8は、表示制御部によって生成される選択画面40の一例を示す図である。図例に示すように、選択画面40には、アンインストール対象となるプリンタードライバーが一覧表示される。ユーザは、例えば選択画面40に表示されるチェックボックスのチェックを外すことで、表示されるプリンタードライバーをアンインストール対象から除外することができる。チェックボックスにチェックが付された状態で実行ボタンが押下されると、アンインストール実行部33が機能する。
アンインストール実行部33は、そのチェックが付されているプリンタードライバー、つまりアンインストール対象となるプリンタードライバーをプリンタードライバー記憶部15aにおいて特定する。そして上記と同様に、アンインストール実行部33は、特定したプリンタードライバーのアンインストールを実行する。
図9は、制御部10において実行される処理手順の一例を示すフローチャートである。以下、図9を参照しつつ、制御部10において実行される処理の処理手順について詳しく説明する。尚、以下のフローチャートにおいては、図8で示した選択画面40が表示される場合を例示する。
制御部10は、準備処理を行なう場合において、印刷ジョブが実行されるか又は所定タイミングが到来すると(ステップS1)、プリンタードライバー又は画像処理装置3の利用履歴に関する情報を取得する(ステップS2)。そして、制御部10は、取得した情報に基づき履歴情報19を更新する(ステップS3)。制御部10は、不要ファイル削除部16bの動作が開始されるまでの間(ステップS4のNO)、ステップS1〜S3を繰り返す。
一方、制御部10は、不要ファイル削除部16bの動作が開始されると(ステップS4のYES)、記憶装置15から履歴情報19を読出すと共に(ステップS5)、履歴情報19に記録されている各情報を集計して、集計結果を管理テーブル20に記録する(ステップS6)。また制御部10は、記憶装置15に記憶されている判断テーブル21を読出す(ステップS7)。そして、制御部10は、その管理テーブル20と判断テーブル21とに基づきアンインストール対象となるプリンタードライバーを特定する(ステップS8)。
次に、制御部10は、選択画面40を生成してアンインストール対象となるプリンタードライバーの一覧を表示部2aに表示させる(ステップS9)。但し、選択画面40を生成せずにプリンタードライバーを自動でアンインストールする場合、このステップ9及び次のステップS10は実行されない。制御部10は、ユーザにより選択画面40に対して行なわれる実行指示を受付けると(ステップS10のYES)、アンインストール対象となるプリンタードライバーのアンインストールを実行する(ステップS11)。一方、制御部10は、キャンセルボタンが押下された場合などアンインストールの実行指示を受付けない場合には(ステップS10のNO)、ステップS11をスキップする。以上により制御部10における処理は終了する。
ところで以上の説明では、制御部10がプログラム17(図3)を実行することにより各処理部31〜33の動作が全て行なわれる場合を例示した。すなわち上記説明においては、プログラム17が格納されたアプリケーションソフトウエアを情報処理装置2にインストールすることで、各処理部31〜33による一連の処理が全て実行される場合が想定されている。但しこれに限定されず、上記各処理部31〜33のうち何れかの機能をプリンタードライバーに持たせても良い。
例えば、プリンタードライバーに取得部31の機能を持たせることが考えられる。上述したように取得部31は、画像処理装置3に対してデバイス情報19bの出力要求を行なうとき、ユーザIDと認証情報とを用いて行なう。一般的にユーザID及び認証情報は、プリンタードライバーがインストールされる段階で登録される場合も多い。すなわちこの場合、ユーザIDと認証情報とはプリンタードライバーで管理される記憶領域に格納されることになる。
取得部31の機能がアプリケーションソフトウエアに含まれている場合において、取得部31は、画像処理装置3に対してデバイス情報19bの出力要求を行なうとき、プリンタードライバーによって管理されているユーザIDと認証情報とを用いることになる。しかしこの場合、ユーザIDと認証情報とは何れもプリンタードライバーによって管理されている状態であるので、取得部31は、ユーザIDと認証情報とを取得するために一旦プリンタードライバーを起動させ、そのプリンタードライバーからユーザIDと認証情報とを取得する必要が生じる。
その場合、プリンタードライバーが起動するまでの待機時間が発生するので処理時間が長期化すると共に、情報処理装置2においては、アプリケーションソフトウエアとプリンタードライバーの双方が起動していることになるので、何れか一方を起動させている場合に比べて消費電力が大きくなってしまう。
そこでプリンタードライバーが取得部31として機能することにより、不要ファイル削除部16bが動作するまでは、プリンタードライバーのみが起動して取得部31による準備処理を行なうことができるようになる。また取得部31は、準備処理においてプリンタードライバー自身が管理するユーザIDと認証情報とを用いてデバイス情報19bの出力要求を行なうことができるので、取得部31がアプリケーションソフトウエアに含まれる場合に比べて処理時間を短縮することができる。これにより処理効率が向上する。
この場合、OSの不要ファイル削除部16bが動作することに伴ってプリンタードライバーは、起動状態を終了すると共にアプリケーションソフトウエアを起動させる。そしてアプリケーションソフトウエアは、上述したアンインストール実行処理を行なう。これによりOS16の不要ファイル削除部16bが動作する前後でアプリケーションソフトウエアとプリンタードライバーとのうち何れか一方のみを起動させるだけで良いので処理効率が向上すると共に消費電力を節約することができる。但し上記構成に限定されず、例えば、アプリケーションソフトウエアが取得部31として機能する場合において、取得部31は、ユーザIDと認証情報とを、プリンタードライバーから取得して自身で管理できる記憶領域にそれらユーザIDと認証情報とを記憶しておくように構成しても良い。
以上により本実施形態では、情報処理装置2は、OS16の不要ファイル削除部16bを備えている。また情報処理装置2は、準備処理を行なうことで、インストールされているプリンタードライバーの利用履歴に関するドライバ情報19aを取得する。そして情報処理装置2は、OS16の不要ファイル削除部16bが動作することに伴ってドライバ情報19aに基づきアンインストール対象となるプリンタードライバーを特定し、そのプリンタードライバーのアンインストールを実行する。
このような構成によれば、不要ファイル削除部16bが動作することに伴って、インストールされているプリンタードライバーのうち不要であるプリンタードライバーを自動抽出することができる。これによりユーザは、自身でプリンタードライバーの要否を判断する必要が無いので操作負担が軽減される。また本実施形態においては、不要ファイルが削除されることに伴って不要なプリンタードライバーがアンインストールされる構成である。これにより不要ファイルの削除のみを行なう場合に比べて記憶装置15の空き容量を多く確保することができるので、記憶資源を有効活用することができる。更に、情報処理装置2は、リアルタイムにおいて要否判断を行なうため、例えばインストール時に要否判断を行なう場合に比べてより多くのプリンタードライバーをアンインストールできる可能性が高くなる。すなわち、インストール時に要否判断を行なう構成では、その後のユーザの都合に対応できないので、インストール時においては必要であると判断されたものの後に不要となった場合に、ユーザが手動でアンインストールしない限りそのプリンタードライバーはインストールされたままの状態となる。これに対して本実施形態における情報処理装置2は、リアルタイムにおいて要否判断を行なうので、インストール時に必要であると判断されたものの後に不要となったプリンタードライバーについてもアンインストールすることが可能である。これにより情報処理装置2は、従来よりも多くのプリンタードライバーをアンインストールすることができるので記憶資源を更に有効活用することが可能になる。
また本実施形態においては、ドライバ情報19aに基づき得られるプリンタードライバーの不使用期間が、判断テーブル21の項目1に判断条件として設定されている所定値を超える場合に、情報処理装置2は、そのプリンタードライバーをアンインストール対象であると判断する構成である。このような構成によれば、情報処理装置2は、長期に渡って使用されていないプリンタードライバーを適切に検出してアンインストールすることができる。
更に本実施形態においては、ドライバ情報19aに基づき得られるプリンタードライバーの利用頻度が、判断テーブル21の項目2に判断条件として設定されている所定値よりも低い場合に、情報処理装置2は、そのプリンタードライバーをアンインストール対象であると判断する構成である。このような構成によれば、情報処理装置2は、殆ど使用されていないプリンタードライバーを適切に検出してアンインストールすることができる。
また本実施形態においては、情報処理装置2は、プリンタードライバーの不使用期間及び利用頻度と、画像処理装置3の利用頻度とに基づいて、アンインストール対象となるプリンタードライバーを特定する構成である。このような構成によれば、プリンタードライバーの不使用期間及び利用頻度に加えて、デバイスの利用頻度を更に考慮するので、ユーザによる実際のデバイスの利用状態に基づき適切にプリンタードライバーがアンインストール対象となるか否かを判断することができる。
特に本実施形態では、プリンタードライバーの不使用期間及び利用頻度のうち何れか一方が判断テーブル21の判断条件を満たしている場合であっても、デバイスの利用頻度が所定値よりも高い場合には、そのプリンタードライバーをアンインストール対象とは判断しない構成である。このような構成によれば、上述したようにユーザにとって必要なプリンタードライバーを誤ってアンインストールしてしまうことを防止することができる。
また本実施形態においては、アンインストール対象となるプリンタードライバーが特定された後、そのプリンタードライバーのアンインストールが実行される前に、そのプリンタードライバーのアンインストールを実行するか否かをユーザに選択させる構成である。このような構成によれば、ユーザの最終的な判断に基づきプリンタードライバーをアンインストールするので、ユーザにとって必要なプリンタードライバーを誤ってアンインストールしてしまうことを未然に防止することができる。
更に本実施形態では、アプリケーションソフトウエアが取得部31の機能を備えている場合と、プリンタードライバーが取得部31の機能を備えている場合との何れにおいても不要なデバイスドライバーを自動でアンインストールすることが可能である。アプリケーションソフトウエアが取得部31の機能を備えている場合、情報処理装置2は、そのアプリケーションソフトウエアがインストールされるのみで、各処理部31〜33による一連の処理を全て実行することができる。一方、プリンタードライバーが取得部31を備えている場合、情報処理装置2は、上述したように処理効率が向上すると共に、電力消費量を節約することが可能になる。
以上、本発明に関する実施形態について説明したが、本発明は上述した内容に限られるものではなく、種々の変形例が適用可能である。
例えば、上述した実施形態では、OS16の不要ファイル削除部16bが動作するまでは、取得部31によって履歴情報19が作成され、OS16の不要ファイル削除部16bが動作した後は、判断部32によって管理テーブル20が作成される。但し、これに限定されず、例えば、取得部31は、ドライバ情報19a,デバイス情報19b及び最新応答日時19cを取得すると、その情報を管理テーブル20に直接記録するように構成しても良い。すなわちこの場合、履歴情報19は作成されないことになる。このような構成によれば、判断部32が複数の履歴情報19を集計する必要が無くなるので処理効率が向上する。
また本実施形態では、デバイスドライバーがプリンタードライバーである場合を例示したがこれに限られない。上記構成は、デバイスドライバーとしてスキャンドライバーやディスプレイドライバーなど各種デバイスドライバーがインストールされる場合にも適用することが可能である。