(57)【要約】【課題】情報処理装置に複数の仮想デバイスが登録されている場合でも、利用者が頻繁に利用する仮想デバイスをより容易に選択できるようにするために利用される仮想デバイス名変更プログラムを提供すること。【解決手段】ＰＣ１は、印刷が行われるか（Ｓ２０１：ＹＥＳ）、仮想デバイスが追加または削除された場合に（Ｓ２０２：ＹＥＳ）、ＰＣ１に登録されている仮想デバイスを対象に、各仮想デバイスの使用頻度情報を更新し（Ｓ２０３）、更新された使用頻度情報に基づいて、新たに追加された新規仮想デバイスが最も上位で、次に使用頻度の高いものから順に上位となるランク付けを行う（Ｓ２０４）。そして、このランク付けの結果に基づいて、仮想デバイス名の変更を行う（Ｓ２０５〜Ｓ２０８）。その結果、元の仮想デバイス名の前にランク付けされた順位に相当する数字が付加される。【選択図】図２
2007200253.tif 000002
【特許請求の範囲】
【請求項１】
通信可能なプリンタが仮想デバイスとして登録されており、複数の仮想デバイス名を表示して、その中の１つを利用者に任意に選択させることにより、複数の前記仮想デバイスの中から印刷データの送信先となる前記仮想デバイスを選択可能で、選択された前記仮想デバイスに対して印刷データを送信することにより、前記仮想デバイスに対応するプリンタへ前記印刷データを送信可能な情報処理装置に、
複数の前記仮想デバイスの使用頻度を記録する使用頻度記録工程と、
前記使用頻度記録工程によって記録された複数の前記仮想デバイスの使用頻度に基づいて、複数の前記仮想デバイス名の中から選ばれる少なくとも１つの仮想デバイス名を、前記使用頻度に応じて決まる仮想デバイス名に変更する仮想デバイス名変更工程と
を実行させるための仮想デバイス名変更プログラム。
【請求項２】
前記仮想デバイス名変更工程は、前記使用頻度の順位を表す文字列を、前記仮想デバイス名に対して付加する工程である
ことを特徴とする請求項１に記載の仮想デバイス名変更プログラム。
【請求項３】
前記情報処理装置は、複数の前記仮想デバイス名を表示する際に、複数の前記仮想デバイス名を文字コード順に整列させて表示するように構成されており、
前記仮想デバイス名変更工程は、前記使用頻度の順位を表す文字列を、前記仮想デバイス名の前に付加する工程である
ことを特徴とする請求項２に記載の仮想デバイス名変更プログラム。
【請求項４】
前記仮想デバイス名変更工程は、前記使用頻度の順位が高い方から所定数分だけ選ばれる前記仮想デバイスを仮想デバイス名の変更対象として、前記仮想デバイス名を変更する工程である
ことを特徴とする請求項１〜請求項３のいずれかに記載の仮想デバイス名変更プログラム。
【請求項５】
前記仮想デバイス名変更工程は、前記使用頻度の順位が高い方から利用者が任意に指定した数分だけ選ばれる前記仮想デバイスを仮想デバイス名の変更対象として、前記仮想デバイス名を変更する工程である
ことを特徴とする請求項４に記載の仮想デバイス名変更プログラム。
【請求項６】
前記使用頻度記録工程は、
複数の前記仮想デバイスそれぞれを利用した印刷が実行される毎に、印刷実行を示す情報を印刷履歴として記録する印刷履歴記録工程を有し、
前記印刷履歴記録工程によって記録された印刷履歴の内、最新の所定期間内に記録された情報に基づいて、複数の前記仮想デバイスそれぞれの使用頻度を決定して、該使用頻度を記録する工程である
ことを特徴とする請求項１〜請求項５のいずれかに記載の仮想デバイス名変更プログラム。
【請求項７】
前記使用頻度記録工程において、前記最新の所定期間は、利用者が任意に指定した長さの期間である
ことを特徴とする請求項６に記載の仮想デバイス名変更プログラム。
【請求項８】
前記仮想デバイス名変更工程は、
インストールされたばかりの新規仮想デバイスか否かを判断する判断工程を有し、
前記判断工程によって前記新規仮想デバイスであると判断された場合に、前記新規仮想デバイスであることを表す識別用文字列を、前記仮想デバイス名に対して付加する工程である
ことを特徴とする請求項１〜請求項７のいずれかに記載の仮想デバイス名変更プログラム。
【請求項９】
前記仮想デバイス名変更工程は、前記新規仮想デバイスであることを表す識別用文字列を、前記仮想デバイス名の後に付加する工程である
ことを特徴とする請求項８に記載の仮想デバイス名変更プログラム。
【請求項１０】
前記判断工程は、前記仮想デバイスがインストールされてから経過した期間が所定の期間よりも短いか否かに基づいて、インストールされたばかりの新規仮想デバイスか否かを判断する工程である
ことを特徴とする請求項８または請求項９に記載の仮想デバイス名変更プログラム。
【請求項１１】
前記判断工程において、前記所定の期間は、利用者が任意に指定した長さの期間である
ことを特徴とする請求項１０に記載の仮想デバイス名変更プログラム。
【請求項１２】
前記情報処理装置は、複数の前記仮想デバイス名を表示する際に、複数の前記仮想デバイス名を文字コード順に整列させて表示するように構成されており、
前記仮想デバイス名変更工程は、前記新規仮想デバイス以外の前記仮想デバイスについては、前記使用頻度の順位を表す文字列を、前記仮想デバイス名の前に付加する一方、前記新規仮想デバイスについては、前記使用頻度の順位を表す文字列よりも文字コード順で上位に表示されることになる文字列を、前記仮想デバイス名の前に付加する工程である
ことを特徴とする請求項８〜請求項１１のいずれかに記載の仮想デバイス名変更プログラム。
【請求項１３】
前記仮想デバイス名変更工程は、前記新規仮想デバイス以外の前記仮想デバイスについては、前記使用頻度の順位を表す所定桁数の数字を、前記仮想デバイス名の前に付加する一方、前記新規仮想デバイスについては、所定桁数分だけ「０」が並ぶ文字列を、前記仮想デバイス名の前に付加する工程である
ことを特徴とする請求項１２に記載の仮想デバイス名変更プログラム。
【請求項１４】
前記仮想デバイス名変更工程は、前記仮想デバイスを利用した印刷が行われた場合に実行される工程である
ことを特徴とする請求項１〜請求項１３のいずれかに記載の仮想デバイス名変更プログラム。
【請求項１５】
前記仮想デバイス名変更工程は、新たな前記仮想デバイスがインストールされた場合に実行される工程である
ことを特徴とする請求項１〜請求項１４のいずれかに記載の仮想デバイス名変更プログラム。
【請求項１６】
前記仮想デバイス名変更工程は、前記仮想デバイスがアンインストールされた場合に実行される工程である
ことを特徴とする請求項１〜請求項１５のいずれかに記載の仮想デバイス名変更プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置に登録された複数の仮想デバイスの中から、利用者がより容易に１つの仮想デバイスを選択できるようにするための仮想デバイス名変更プログラムに関する。
【背景技術】
【０００２】
近年、パーソナルコンピュータ等の情報処理装置は、複数のプリンタを利用可能な環境で使用されることが多くなっている。例えば、複数の情報処理装置および複数のプリンタがネットワークを介して相互に接続されたシステムにおいては、各情報処理装置から複数のプリンタを利用することができる。そして、このように情報処理装置が複数のプリンタを出力先として利用する場合、情報処理装置には、各プリンタに対応する複数の仮想デバイスが登録される。
【０００３】
また、情報処理装置が単一のプリンタを出力先として利用する場合であっても、複数の仮想デバイスを登録することがある。例えば、異なる複数通りの印刷設定をしばしば利用するような場合に、単一のプリンタに対応する複数の仮想デバイスを登録しておけば、各仮想デバイス毎の標準設定（デフォルト設定）を異なる印刷設定にして運用することができる。このような運用を行えば、様々な印刷設定で単一のプリンタを利用したい場合でも、利用者は、複数の仮想デバイスの中から所望の印刷設定が標準設定になっている１つの仮想デバイスを選択するだけで、所望の印刷設定で印刷を行うことができる。したがって、利用者は、印刷のたびに、両面印刷機能を利用するか否か、カラー印刷機能を利用するか否か、複数ある給紙カセットのどれを利用するか、といった印刷設定の変更操作を行わなくてもよくなり、印刷設定の変更にかかる面倒な手間を省くことができる。
【０００４】
ただし、上述のような事情から、１つの情報処理装置に登録されている仮想デバイスの数が過剰に多くなると、利用者が特定の仮想デバイスを利用したいと考えた場合に、多数の仮想デバイスの中から所望の仮想デバイスを探し出さなければならなくなる。そのため、所望の仮想デバイスを見つけるまでに時間を要したり、仮想デバイス選択時の操作性が悪くなったりする、という問題が生じる。
【０００５】
こうした問題に対し、従来、プリンタの使用頻度を監視して、使用頻度が低いプリンタについては、そのプリンタに対応づけて登録された仮想デバイスを抹消するという技術は、既に提案されていた（例えば、下記特許文献１参照）。このような技術を利用すれば、複数の仮想デバイスの中から１つを選択する際に、使用頻度が低い仮想デバイスについては選択肢として表示されなくなるので、選択肢が少なくなる分だけ仮想デバイスの選択が容易になるものと期待される。
【特許文献１】特開２００５−２６７５４４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記特許文献１に記載の技術を利用することにより、選択肢として表示される仮想デバイスの数をいくらかは減らせるとしても、なお多くの仮想デバイスが残っている場合もあり、そのような場合には、所望の仮想デバイスが簡単には見つからないことも多々あった。
【０００７】
特に、利用者が頻繁に利用する仮想デバイスがある程度決まっている場合、そのような利用頻度の高い仮想デバイスを選択したいと考える機会は多々あるが、類似した仮想デバイス名を持つ仮想デバイスが多数登録されていると、選択すべき仮想デバイスがどれなのかについて利用者が迷ってしまうことがあり、その選択を誤るおそれもあった。
【０００８】
本発明は、上記問題を解決するためになされたものであり、その目的は、情報処理装置に複数の仮想デバイスが登録されている場合でも、利用者が頻繁に利用する仮想デバイスをより容易に選択できるようにするために利用される仮想デバイス名変更プログラムを提供することにある。
【課題を解決するための手段】
【０００９】
以下、本発明において採用した特徴的構成について説明する。
本発明の仮想デバイス名変更プログラムは、通信可能なプリンタが仮想デバイスとして登録されており、複数の仮想デバイス名を表示して、その中の１つを利用者に任意に選択させることにより、複数の前記仮想デバイスの中から印刷データの送信先となる前記仮想デバイスを選択可能で、選択された前記仮想デバイスに対して印刷データを送信することにより、前記仮想デバイスに対応するプリンタへ前記印刷データを送信可能な情報処理装置に、複数の前記仮想デバイスの使用頻度を記録する使用頻度記録工程と、前記使用頻度記録工程によって記録された複数の前記仮想デバイスの使用頻度に基づいて、複数の前記仮想デバイス名の中から選ばれる少なくとも１つの仮想デバイス名を、前記使用頻度に応じて決まる仮想デバイス名に変更する仮想デバイス名変更工程とを実行させるためのプログラムである。
【００１０】
このような仮想デバイス名変更プログラムに従って上記各工程を情報処理装置に実行させれば、使用頻度に応じて仮想デバイス名が変更されるので、選択肢として表示される仮想デバイスの数が多い場合でも、利用者は、変更後の仮想デバイス名を見るだけで、使用頻度の高い仮想デバイスがどれなのかを簡単に見分けることができる。
【００１１】
したがって、例えば、変更前の仮想デバイス名について、利用者が頻繁に利用する仮想デバイスに類似した仮想デバイス名が多数登録されていたとしても、変更後の仮想デバイス名を見れば、利用者は頻繁に利用する仮想デバイスを容易に選択でき、利用者が選択で迷ったり選択を誤ったりすることがなくなる。
【００１２】
ところで、本発明の仮想デバイス名変更プログラムにおいて、前記仮想デバイス名変更工程は、前記使用頻度の順位を表す文字列を、前記仮想デバイス名に対して付加する工程であると好ましい。
【００１３】
ここで、使用頻度の順位を表す文字列としては、使用頻度の順位を表していることを利用者が理解できるような文字列であれば、「１，２，３…」のような順位を表す数字であってもよいし、「Ａ，Ｂ，Ｃ…」のような順位を表す文字であってもよい。
【００１４】
このように構成された仮想デバイス名変更プログラムに従った工程を情報処理装置に実行させれば、利用者が仮想デバイス名の選択を行う際に、使用頻度の順位を表す文字列が仮想デバイス名の一部として表示されるので、利用者は使用頻度の順位を表す文字列を見て、使用頻度の高い仮想デバイスを容易に選ぶことができる。
【００１５】
また、本発明の仮想デバイス名変更プログラムにおいて、前記情報処理装置は、複数の前記仮想デバイス名を表示する際に、複数の前記仮想デバイス名を文字コード順に整列させて表示するように構成されているとよく、この場合、前記仮想デバイス名変更工程は、前記使用頻度の順位を表す文字列を、前記仮想デバイス名の前に付加する工程であると好ましい。
【００１６】
このように構成された仮想デバイス名変更プログラムに従った工程を情報処理装置に実行させれば、複数の仮想デバイス名が表示された際、使用頻度が高いものほど仮想デバイス名を表示する際の表示順が上位となるので、利用者は使用頻度の高い仮想デバイスをより一層容易に選ぶことができる。
【００１７】
また、本発明の仮想デバイス名変更プログラムにおいて、前記仮想デバイス名変更工程は、前記使用頻度の順位が高い方から所定数分だけ選ばれる前記仮想デバイスを仮想デバイス名の変更対象として、前記仮想デバイス名を変更する工程であると好ましい。
【００１８】
このように構成された仮想デバイス名変更プログラムに従った工程を情報処理装置に実行させれば、使用頻度が高い所定数分の仮想デバイスだけ仮想デバイス名が変更される。ここで、使用頻度が高い仮想デバイスに関しては、使用頻度の高さの程度がわかると、利用者にとっては、よく利用する仮想デバイスを簡単に選ぶことができるという利点がある。一方、使用頻度が低い仮想デバイスに関しては、使用頻度の低さの程度がわかっても、あまり仮想デバイスを選ぶ際の参考にはならず、標準的な仮想デバイス名のままの方が仮想デバイスを選択しやすい場合がある。この点、上記構成を採用すれば、使用頻度が高い仮想デバイスについては有益な仮想デバイス名の変更を行なうことができ、使用頻度が低い高い仮想デバイスについては無益な仮想デバイス名の変更を行わないようにすることができる。
【００１９】
また、本発明の仮想デバイス名変更プログラムにおいて、前記仮想デバイス名変更工程は、前記使用頻度の順位が高い方から利用者が任意に指定した数分だけ選ばれる前記仮想デバイスを仮想デバイス名の変更対象として、前記仮想デバイス名を変更する工程であると好ましい。
【００２０】
このように構成された仮想デバイス名変更プログラムに従った工程を情報処理装置に実行させれば、使用頻度が高い仮想デバイスに関し、利用者が任意に指定した数分だけ仮想デバイス名が変更されるので、利用者にとって必要な数だけ仮想デバイス名を変更することができる。
【００２１】
また、本発明の仮想デバイス名変更プログラムにおいて、前記使用頻度記録工程は、複数の前記仮想デバイスそれぞれを利用した印刷が実行される毎に、印刷実行を示す情報を印刷履歴として記録する印刷履歴記録工程を有するとよく、この場合、使用頻度記録工程は、前記印刷履歴記録工程によって記録された印刷履歴の内、最新の所定期間内に記録された情報に基づいて、複数の前記仮想デバイスそれぞれの使用頻度を決定して、該使用頻度を記録する工程であると好ましい。
【００２２】
このように構成された仮想デバイス名変更プログラムに従った工程を情報処理装置に実行させれば、最新の所定期間内に記録された情報に基づいて、複数の前記仮想デバイスそれぞれの使用頻度が決定されるので、過去に使用頻度が高かったものの、その後、使用頻度が低くなった仮想デバイスが混在している場合に、そのような仮想デバイスを使用頻度が低いものとして扱うことができる。
【００２３】
なお、前記使用頻度記録工程において、前記最新の所定期間は、利用者が任意に指定した長さの期間であると、利用者が任意に指定した最新の所定期間内に記録された情報に基づいて、複数の仮想デバイスそれぞれの使用頻度が決定されるので、使用頻度が低い仮想デバイスとして扱うことにするタイミングを、利用者が任意に設定できる。
【００２４】
また、本発明の仮想デバイス名変更プログラムにおいて、前記仮想デバイス名変更工程は、インストールされたばかりの新規仮想デバイスか否かを判断する判断工程を有するとよく、この場合、仮想デバイス名変更工程は、前記判断工程によって前記新規仮想デバイスであると判断された場合に、前記新規仮想デバイスであることを表す識別用文字列を、前記仮想デバイス名に対して付加する工程であると好ましい。
【００２５】
この仮想デバイス名変更工程において、識別用文字列を付加する位置は任意であるが、より具体的な一例を挙げれば、前記仮想デバイス名変更工程は、前記新規仮想デバイスであることを表す識別用文字列を、前記仮想デバイス名の後に付加する工程であると好ましい。
【００２６】
このように構成された仮想デバイス名変更プログラムに従った工程を情報処理装置に実行させれば、利用者は、新規仮想デバイスであることを表す識別用文字列を見て、新規仮想デバイスを容易に選ぶことができる。
【００２７】
また、本発明の仮想デバイス名変更プログラムにおいて、前記判断工程は、前記仮想デバイスがインストールされてから経過した期間が所定の期間よりも短いか否かに基づいて、インストールされたばかりの新規仮想デバイスか否かを判断する工程であると好ましい。
【００２８】
このように構成された仮想デバイス名変更プログラムに従った工程を情報処理装置に実行させれば、インストールされてから経過した期間が所定の期間よりも短い新規仮想デバイスを容易に選ぶことができる。
【００２９】
なお、前記判断工程において、前記所定の期間は、利用者が任意に指定した長さの期間であると、新規仮想デバイスとして扱うことにする期間を、利用者が任意に設定できるので好ましい。
【００３０】
また、本発明の仮想デバイス名変更プログラムにおいて、前記情報処理装置は、複数の前記仮想デバイス名を表示する際に、複数の前記仮想デバイス名を文字コード順に整列させて表示するように構成されているとよく、この場合、前記仮想デバイス名変更工程は、前記新規仮想デバイス以外の前記仮想デバイスについては、前記使用頻度の順位を表す文字列を、前記仮想デバイス名の前に付加する一方、前記新規仮想デバイスについては、前記使用頻度の順位を表す文字列よりも文字コード順で上位に表示されることになる文字列を、前記仮想デバイス名の前に付加する工程であると好ましい。
【００３１】
より具体的な一例を挙げれば、例えば、前記仮想デバイス名変更工程は、前記新規仮想デバイス以外の前記仮想デバイスについては、前記使用頻度の順位を表す所定桁数の数字を、前記仮想デバイス名の前に付加する一方、前記新規仮想デバイスについては、所定桁数分だけ「０」が並ぶ文字列を、前記仮想デバイス名の前に付加する工程であると好ましい。
【００３２】
このように構成された仮想デバイス名変更プログラムに従った工程を情報処理装置に実行させれば、情報処理装置が複数の仮想デバイス名を文字コード順に整列させて表示した際に、新規仮想デバイスが使用頻度の高い仮想デバイスよりも上位に表示されるので、利用者は、新規仮想デバイスを容易に選ぶことができる。
【００３３】
さらに、本発明の仮想デバイス名変更プログラムにおいて、前記仮想デバイス名変更工程は、前記仮想デバイスを利用した印刷が行われた場合に実行される工程であると好ましい。
【００３４】
このように構成された仮想デバイス名変更プログラムに従った工程を情報処理装置に実行させれば、仮想デバイス名を、最新の使用頻度を反映したものに変更することができる。
【００３５】
また、本発明の仮想デバイス名変更プログラムにおいて、前記仮想デバイス名変更工程は、新たな前記仮想デバイスがインストールされた場合に実行される工程であると好ましい。
【００３６】
このように構成された仮想デバイス名変更プログラムに従った工程を情報処理装置に実行させれば、新たな仮想デバイスがインストールされた場合に、利用者は、新たな仮想デバイスを容易に選ぶことができる。
【００３７】
また、本発明の仮想デバイス名変更プログラムにおいて、前記仮想デバイス名変更工程は、前記仮想デバイスがアンインストールされた場合に実行される工程であると好ましい。
【００３８】
このように構成された仮想デバイス名変更プログラムに従った工程を情報処理装置に実行させれば、仮想デバイスがアンインストールされた場合に、使用頻度の順位が最新の順位に変更されるので、利用者は、最新の順位に基づいて、仮想デバイスを選ぶことができる。
【発明を実施するための最良の形態】
【００３９】
次に、本発明の実施形態について一例を挙げて説明する。
［システム全体の構成］
図１は、パーソナルコンピュータ１（以下、ＰＣ１という）を備えたシステムの概略構成を示すブロック図である。このシステム内に含まれるＰＣ１が、本発明の仮想デバイス名変更プログラムに従った各工程を実行する情報処理装置に相当する。
【００４０】
ＰＣ１は、複数のプリンタと通信可能で、図１には、それら複数のプリンタの内、ＰＣ１との接続形態が異なる２つのプリンタ２，３が図示してある。具体的には、プリンタ２は、ローカルプリンタとも呼ばれる接続形態のプリンタであり、プリンタケーブル４を介してＰＣ１に直結されている。一方、プリンタ３は、ネットワークプリンタとも呼ばれる接続形態のプリンタであり、ＬＡＮケーブル５を介してＰＣ１と通信可能になっている。
【００４１】
なお、ＰＣ１は、プリンタ２，３以外のプリンタとも通信可能であるが、それらのプリンタは、上記プリンタ２，３のいずれかと同等な接続形態になっているので、図１においては図示を省略する。ただし、後述する仮想デバイス名変更処理の説明の中では、ＰＣ１から５つのプリンタを利用可能で、その５つのプリンタに対応する５つの仮想デバイスがＰＣ１に登録されているものとして説明を行う。
【００４２】
さて、以上のようなシステムの内、ＰＣ１は、図１に示すように、ＣＰＵ１０、ＲＯＭ１１、ＲＡＭ１２、ハードディスク装置１３（以下、ＨＤＤ１３という）、操作部１４、表示部１５、プリンタポートインターフェース１６（以下、プリンタポートＩ／Ｆ１６という）、およびＬＡＮ（Local Area Network）インターフェース１７（以下、ＬＡＮ  Ｉ／Ｆ１７という）などを備えている。
【００４３】
ＣＰＵ１０は、ＲＯＭ１１やＲＡＭ１２に記憶されたプログラムに従って、ＰＣ１各部に対する制御および各種演算を実行する装置で、後述する仮想デバイス名変更処理は、このＣＰＵ１０によって実行される。
【００４４】
ＲＯＭ１１は、ＰＣ１の電源スイッチを切っても記憶内容を保持可能な記憶装置で、ＢＩＯＳ（Basic Input Output System）や通常であれば更新されない読み出し用のデータ等を記憶している。
【００４５】
ＲＡＭ１２は、ＣＰＵ１０から直接アクセスされるメインメモリ等として利用される記憶装置である。このＲＡＭ１２には、ＯＳ（Operating System）や各種アプリケーションなどのソフトウェアがＨＤＤ１３から読み込まれ、また、ＣＰＵ１０による各種演算の結果やＨＤＤ１３から読み込まれたデータもＲＡＭ１２に記憶されるようになっている。後述する仮想デバイス名変更処理を実行する際には、ＨＤＤ１３からＲＡＭ１２に仮想デバイス名変更プログラムが読み込まれ、ＲＡＭ１２に記憶された仮想デバイス名変更プログラムに従って、ＣＰＵ１０が仮想デバイス名変更処理を実行することになる。
【００４６】
ＨＤＤ１３は、ＯＳ、各種アプリケーションプログラム、および各種データファイルを保存しておくための装置で、上記仮想デバイス名変更プログラムもＨＤＤ１３に保存されている。
【００４７】
操作部１４は、利用者からの各種指示を入力するための入力装置であり、例えば、キーボードや各種ポインティングデバイス（例えば、マウス）等によって構成される。
表示部１５は、各種情報を利用者に提示するための出力装置であり、例えば、カラー画像を表示可能な液晶ディスプレイ等によって構成される。
【００４８】
プリンタポートＩ／Ｆ１６は、プリンタを接続可能なインターフェースで、例えば、ＵＳＢ（Universal Serial Bus）インターフェースのようなシリアルインターフェース、もしくは、ＩＥＥＥ１２８４インターフェースのようなパラレルインターフェース等によって構成される。
【００４９】
ＬＡＮ  Ｉ／Ｆ１７は、ＬＡＮケーブルを介してネットワーク上のプリンタやその他の周辺機器と通信を行うためのインターフェースである。
なお、本実施形態において、ＰＣ１には、ＯＳとしてＷｉｎｄｏｗｓ（登録商標）が搭載されている。Ｗｉｎｄｏｗｓ（登録商標）が備える各種機能そのものは公知なので、ここでの詳細な説明は省略するが、以下の説明においては、ＰＣ１が、Ｗｉｎｄｏｗｓ（登録商標）によって提供される各種機能を有するとの前提で説明を続ける。
【００５０】
プリンタ２は、ＣＰＵ２０、ＲＯＭ２１、ＲＡＭ２２、ＨＤＤ２３、操作キー２４、表示パネル２５、プリンタポートＩ／Ｆ２６、ＬＡＮ  Ｉ／Ｆ２７、不揮発性ＲＡＭ２８、印字部２９などを備えている。
【００５１】
ＣＰＵ２０は、ＲＯＭ２１に記憶されている制御プログラムに従ってプリンタ２各部の制御および各種演算を実行する装置である。
ＲＯＭ２１は、プリンタ２の電源スイッチを切っても記憶内容を保持可能な記憶装置で、上記制御プログラムの他、通常であれば更新されない読み出し用の各種データを記憶している。
【００５２】
ＲＡＭ２２は、ＣＰＵ２０から直接アクセスされるメインメモリ等として利用される記憶装置で、ＣＰＵ２０が処理中に算出する各種データなどが一時的にＲＡＭ２２に記憶されるようになっている。
【００５３】
ＨＤＤ２３は、ＲＡＭ２２だけでは記憶しきれない大きなサイズのデータを記憶するための記憶装置である。
操作キー２４は、利用者がマニュアル操作でプリンタ２に対して指令を与える場合に操作する入力装置である。
【００５４】
表示パネル２５は、小型液晶ディスプレイによって構成された装置で、プリンタ２の設定や状態などの情報を表示できるようになっている。
プリンタポートＩ／Ｆ２６は、ＰＣを接続可能なインターフェースで、ＰＣ１側と同じ規格のインターフェース、例えば、ＵＳＢ（Universal Serial Bus）インターフェースのようなシリアルインターフェース、もしくは、ＩＥＥＥ１２８４インターフェースのようなパラレルインターフェース等によって構成される。
【００５５】
ＬＡＮ  Ｉ／Ｆ２７は、ＬＡＮケーブルを介してネットワーク上のＰＣと通信を行うためのインターフェースである。
不揮発性ＲＡＭ２８は、プリンタ２に関する可変設定等、電力供給が断たれたときにも消失させたくないデータを記憶する記憶装置である。
【００５６】
印字部２９は、シート状の媒体（例えば記録用紙）を給紙部から排紙部へと搬送する搬送機構、この搬送機構による搬送経路の途中で前記媒体に対して画像を記録する記録機構などによって構成される。
【００５７】
なお、プリンタ３は、ＣＰＵ３０、ＲＯＭ３１、ＲＡＭ３２、ＨＤＤ３３、操作キー３４、表示パネル３５、プリンタポートＩ／Ｆ３６、ＬＡＮ  Ｉ／Ｆ３７、不揮発性ＲＡＭ３８、印字部３９などを備えている。これらの構成は、プリンタ２が備える構成と同等なものばかりなので、詳細な説明については省略する。
【００５８】
［仮想デバイス名変更処理］
次に、ＰＣ１が実行する仮想デバイス名変更処理について、図２のフローチャートに基づいて説明する。この仮想デバイス名変更処理は、どのようなタイミングで開始されるようになっていても構わないが、本実施形態においては、ＰＣ１の起動に伴って処理を開始する常駐プロセスとして実行されることを想定している。
【００５９】
なお、以下の説明においては、図３に示した５つの仮想デバイスがＰＣ１にインストールされている場合を例に挙げて説明を続ける。ＰＣ１においてプリンタドライバがインストールされると、ＰＣ１のレジストリ（ＯＳが管理する記憶領域）には、プリンタドライバ名や、プリンタドライバのプログラムを格納したファイルのファイル名などが登録され、これにより、ＰＣ１に仮想デバイスがインストールされたことになる。そして、以後、アプリケーションが印刷データの出力を行う際には、ＰＣ１に登録された仮想デバイスを出力先に指定して、その仮想デバイスに対応するプリンタへの印刷出力を実行することができるようになる。出力先となる仮想デバイスを利用者が選択する際、利用者は仮想デバイス名を見て所望の仮想デバイスを選択することになるが、ここで利用者が見ることになる仮想デバイス名は、レジストリに登録されたプリンタドライバ名そのものである。
【００６０】
また、ＰＣ１が備えるＨＤＤ１３に格納されたログファイルには、ＰＣ１において印刷出力が実行されるたびに、図４に示すようなプリンタ（仮想デバイス）の使用状況が記録されるものとして、以下の説明を続ける。
【００６１】
さて、仮想デバイス名変更処理を開始すると、ＰＣ１は、まず、印刷が行われたかどうかの確認を行う（Ｓ２０１）。ここで、ＰＣ１において印刷が行われたと判断された場合は（Ｓ２０１：ＹＥＳ）、後述するＳ２０３の処理へと移行する一方、印刷が行われていない場合は（Ｓ２０１：ＮＯ）、仮想デバイスが追加または削除されたかかどうかの確認を行う（Ｓ２０２）。ＰＣ１において、ある仮想デバイスが新たにインストールされていると、Ｓ２０２の処理では、仮想デバイスの追加が行われたと判断される。また、ＰＣ１において、ある仮想デバイスがアンインストールされていると、Ｓ２０２の処理では、仮想デバイスの削除が行われたと判断される。
【００６２】
そして、Ｓ２０２の処理において、仮想デバイスの追加または削除が行われたと判断された場合は（Ｓ２０２：ＹＥＳ）、Ｓ２０３の処理へと移行する一方、仮想デバイスが追加も削除もされていないと判断された場合は（Ｓ２０２：ＮＯ）、Ｓ２０１の処理へと戻る。
【００６３】
つまり、Ｓ２０１〜Ｓ２０２のループ処理により、印刷が実行されたかどうか、仮想デバイスの追加または削除が行われたかどうかの監視を行い、ＰＣ１において印刷が行われるか（Ｓ２０１：ＹＥＳ）、仮想デバイスの追加または削除が行われたら（Ｓ２０２：ＹＥＳ）、Ｓ２０３の処理へと移行することになる。
【００６４】
さて、Ｓ２０３の処理へと移行した場合、ＰＣ１は、使用頻度情報を更新する（Ｓ２０３）。この使用頻度情報更新処理の詳細については後述するが、このＳ２０３の処理により、ＰＣ１に登録された仮想デバイス（図３参照）の使用頻度に関する情報が、最新情報に更新されることになる。
【００６５】
そこで、ＰＣ１は、続いて、Ｓ２０３の処理によって更新された使用頻度情報に基づいて、仮想デバイスのランク付けを行う（Ｓ２０４）。このＳ２０４の処理により、仮想デバイスの使用頻度に関する順位が付けられ、例えば、図４に示したログからは、図５に示すような使用頻度情報およびランクが生成される。なお、Ｓ２０４のランク付け処理の詳細については後述するが、本実施形態の場合、Ｓ２０４の処理により、図５中に示した仮想デバイス番号１〜４の仮想デバイスについては、使用頻度（印刷回数および印刷合計枚数）に基づいてランク１〜４が付与されることになる。また、仮想デバイス番号５の仮想デバイスは、最近インストールされたばかりの仮想デバイス（詳しくは後述）であるため、使用頻度とは無関係にランク０が付与されることになる。
【００６６】
次に、ＰＣ１は、カウンタｉを１で初期化し（Ｓ２０５）、カウンタｉが仮想デバイス数より大きいかどうかを調べる（Ｓ２０６）。本実施形態においては、仮想デバイス数が５である場合を想定しており、Ｓ２０６の処理では、カウンタｉに格納された値が５より大きいかどうかを比較をすることになるので、Ｓ２０５の処理によるカウンタｉの初期化直後は、Ｓ２０６の処理では否定判断がなされることになり（Ｓ２０６：ＮＯ）、その場合は、Ｓ２０７の処理へと移行する。
【００６７】
Ｓ２０７の処理では、カウンタｉに格納された値に基づいて、図３中に示したｉ番目の仮想デバイスの名称を変更する（Ｓ２０７）。このＳ２０７の処理により、変更後の仮想デバイス名は、使用頻度情報に基づいて決められる名前となり、具体的には、本実施形態の場合、図６に例示したような名称に変更される。なお、Ｓ２０７の名称変更処理の詳細については後述するが、本実施形態の場合、Ｓ２０７の処理により、上記Ｓ２０４の処理で付与されたランクが、最大ランク（＝利用者が任意に設定する値；本実施形態の場合は３）以下である場合に仮想デバイス名が変更される。すなわち、図５に示した仮想デバイスの内、使用頻度が上位３位以内となる仮想デバイス（＝ランク１〜３が付与された仮想デバイス）と、使用頻度とは無関係にランク０が付与された仮想デバイスについて、仮想デバイス名が変更されることになる。また、変更後の仮想デバイス名は、元の仮想デバイス名の先頭にランクが付加された名前に変更されることになる。
【００６８】
Ｓ２０７の処理を終えたら、ＰＣ１は、カウンタｉに１を加えて（Ｓ２０８）、Ｓ２０６の処理へと戻る。これにより、Ｓ２０６〜Ｓ２０８のループ処理を、仮想デバイス数分だけ繰り返すことになる。そして、Ｓ２０６〜Ｓ２０８のループ処理を、仮想デバイス数分だけ繰り返した後、再びＳ２０６の処理へ戻ると、その時は、カウンタｉの値が仮想デバイス数より大きくなる。したがって、Ｓ２０６の処理では肯定判断がなされることになり（Ｓ２０６：ＹＥＳ）、その場合は、すべての仮想デバイスに対する処理が終わったということになるので、Ｓ２０１の処理へと戻る。
【００６９】
以後は、再びＳ２０１〜Ｓ２０２のループ処理により、印刷が実行されたかどうか、仮想デバイスの追加または削除が行われたかどうかの監視を行うことになり、印刷が行われるたび、もしくは、仮想デバイスの追加または削除が行われるたびに、Ｓ２０３〜Ｓ２０８の処理が実行されることになる。
【００７０】
さて、以上説明したような仮想デバイス名変更処理が行われる結果、ＰＣ１に登録されている仮想デバイス名は、図６に示した通りに変更され、仮想デバイスを利用者に選択させる際には、図６に示した「変更後の仮想デバイス名」が表示されるようになる。
【００７１】
より具体的には、例えば、アプリケーションの印刷機能を利用する際、利用者が所定の操作を行うと、ＰＣ１の表示部１５には、図７に示すような印刷ダイアログ５１が表示される。この印刷ダイアログ５１内には、使用する仮想デバイスを選択するためのリストボックス５３が設けられている。印刷ダイアログ５１が表示された最初の時点において、リストボックス５３内には、その時点で選ばれている仮想デバイス名１つが表示されている。
【００７２】
ここで利用者が別の仮想デバイスを選択したい場合、利用者はポインティングデバイスを使ってリストボックス５３の右端にあるマークをクリックする操作（または、当該操作と同等とみなされるキーボード操作等でもよい）を行う。すると、リストボックス５３の近傍（例えば、リストボックス５３の直下）には、図８に示すように、リスト５５が表示される。
【００７３】
このリスト５５内には、他の選択肢となる複数の仮想デバイス名が列挙される。このとき、リスト５５内では、ＯＳであるＷｉｎｄｏｗｓ（登録商標）の仕様により、仮想デバイス名が文字コード順に列挙されることになるが、図６に示したように、仮想デバイス名は、元の仮想デバイス名の先頭にランク（ランクの決め方の詳細は後述）が付加された名前に変更されている。そのため、図８に示したリスト５５内において、ランクとして１〜３の順位が付加された仮想デバイス名については、使用頻度が高い順に列挙されることになる。
【００７４】
また、詳しくは後述するが、最近インストールされたばかりの仮想デバイスに関しては、ランクとして０が付加されるため、ランクとして１〜３の順位が付加された仮想デバイス名よりも上位に列挙されることになる。
【００７５】
なお、本実施形態において、変更後の仮想デバイスにランクとして付与される文字は、仮想デバイス名中で使われる文字よりも、文字コード順で上位となる文字が選ばれている。そのため、上記仮想デバイス名変更処理で変更されなかった仮想デバイス名は、リスト５５内において、変更された仮想デバイス名よりも下位に列挙されることになる。
【００７６】
つまり、リスト５５内においては、最近インストールされたばかりの仮想デバイス（＝ランク０が付与された仮想デバイス）が最も上位に表示され、続いて、使用頻度が上位３位以内となる仮想デバイス（＝ランク１〜３が付与された仮想デバイス）が使用頻度順に表示され、続いて、仮想デバイス名の変更がなされなかった仮想デバイスが、文字コード順に列挙されることになる。
【００７７】
［使用頻度情報更新処理（Ｓ２０３）の詳細］
次に、上記Ｓ２０３の使用頻度情報更新処理について、図９のフローチャートに基づいて説明する。
【００７８】
この処理を開始すると、ＰＣ１は、まず、使用頻度情報の初期化を行う（Ｓ９０１）。使用頻度情報は図５に例示したような情報であり、Ｓ９０１の処理では、この使用頻度情報をあらかじめすべて０でリセットする。
【００７９】
続いて、ＰＣ１は、カウンタｊの値を０で初期化し（Ｓ９０２）、カウンタｊに１を加え（Ｓ９０３）、カウンタｊに格納された値がログの総数より大きいかどうかの判定を行う（Ｓ９０４）。ログは図４に例示したような情報であり、図４に例示したログの場合、ログの総数は８である。Ｓ９０４の処理においては、ログの総数が０でない限り、少なくとも１度は否定判断がなされることになり（Ｓ９０４：ＮＯ）、その場合はＳ９０５の処理へ移行することになる。
【００８０】
Ｓ９０５の処理へ移行した場合、ＰＣ１は、カウンタｊに格納された値に基づいて、ｊ番目のログの印刷時刻が規定範囲内であるかどうかの判定を行う（Ｓ９０５）。Ｓ９０５の処理において、規定範囲はあらかじめ利用者が設定しておくものであり、例えば、過去１ヶ月とか過去１週間といった期間を利用者が任意に設定する。本実施形態において、利用者が任意に設定した規定範囲は、例えば設定ファイル等に保存され、Ｓ９０５の処理では、事前に設定ファイルから読み取られた値を用いて判定が行われることになる。規定範囲が過去１週間と設定してある場合、Ｓ９０５の処理では、判定対象となっているｊ番目のログについて、印刷時刻が現時刻より過去１週間の範囲に入っているか否かの判定が行われる。そして、この判定の結果、規定範囲内でなかった場合は（Ｓ９０５：ＮＯ）、Ｓ９０３の処理へと戻り、一方、規定範囲内であった場合は（Ｓ９０５：ＹＥＳ）、Ｓ９０６の処理へと移行することになる。
【００８１】
さて、Ｓ９０６の処理へと進んだ場合、ＰＣ１は、変数ｋにｊ番目のログの仮想デバイス番号を代入する。例えば、図４に例示したログの場合、カウンタｊの値が１の時は、１番目のログの仮想デバイス番号である２が、変数ｋに代入されることになる。その後、仮想デバイス番号ｋの仮想デバイスを対象にして、対象となる仮想デバイスの印刷回数に１を加えるとともに（Ｓ９０７）、対象となる仮想デバイスの印刷合計枚数にｊ番目のログの印刷枚数を加える（Ｓ９０８）。例えば、図４に例示したログの場合、カウンタｊの値が１の時は、仮想デバイス番号２の仮想デバイスが対象となり、Ｓ９０７の処理では、対象となる仮想デバイスの印刷回数が１となり、Ｓ９０８の処理では、対象となる仮想デバイスの印刷合計枚数が１０になる。
【００８２】
こうして、Ｓ９０６〜Ｓ９０８の処理を終えたら、Ｓ９０３の処理へと戻り、Ｓ９０４の処理で否定判断がなされる限り、Ｓ９０３〜Ｓ９０８のループ処理を繰り返すことになる。そして、このループ処理の中で、規定範囲内でないログ（例えば、最近１週間以内に記録されたログ以外のログ）は、Ｓ９０５の処理によって読み飛ばされる一方、規定範囲内のログについては、Ｓ９０６〜のＳ９０８の処理により、印刷回数と印刷合計枚数が累積されることになる。そして、すべてのログについて処理を終えると、カウンタｊの値はログの総数を超えることになり、その結果、Ｓ９０４の処理で肯定判断がなされ（Ｓ９０４：ＹＥＳ）、使用頻度情報更新処理を終了することになる。
【００８３】
［ランク付け処理（Ｓ２０４）の詳細］
次に、上記Ｓ２０４のランク付け処理について、図１０のフローチャートに基づいて説明する。
【００８４】
この処理を開始すると、ＰＣ１は、まずカウンタｉを１で初期化する（Ｓ１００１）。そして、カウンタｉに格納された値が、インストールされている仮想デバイス数より大きいかどうかの確認を行う（Ｓ１００２）。図３に示した仮想デバイスがＰＣ１にインストールされている場合、仮想デバイス数は５である。Ｓ１００２の処理では、仮想デバイス数が０でない限り、少なくとも１度は否定判断がなされることになり（Ｓ１００２：ＮＯ）、その場合はＳ１００３の処理へ移行することになる。
【００８５】
Ｓ１００３の処理へ移行した場合、ＰＣ１は、カウンタｉに格納された値に基づいて、図３中に示したｉ番目の仮想デバイスを対象にして、対象となる仮想デバイスをインストールした時刻が規定範囲内かを調べる（Ｓ１００３）。Ｓ１００３の処理において、規定範囲はあらかじめ利用者が設定しておくものであり、例えば、過去１ヶ月とか過去１週間といった期間を利用者が任意に設定する。本実施形態において、利用者が任意に設定した規定範囲は、例えば設定ファイル等に保存され、Ｓ１００３の処理では、事前に設定ファイルから読み取られた値を用いて判定が行われることになる。規定範囲が過去１ヶ月と設定してある場合、Ｓ１００３の処理では、判定対象となっているｉ番目の仮想デバイスについて、インストール時刻が現時刻より過去１ヶ月の範囲に入っているか否かの判定が行われる。
【００８６】
Ｓ１００３の処理による判定の結果、インストール時刻が規定範囲内でなかった場合（Ｓ１００３：ＮＯ）、ＰＣ１は、使用頻度よりランク付けを行う（Ｓ１００４）。具体的には、本実施形態の場合、ランクとしては、使用頻度の順位に相当する数値を付与し、この順位は、上記Ｓ９０７の処理によって累積した印刷回数に基づいて、印刷回数が多いほど順位が上位になるものと決定する。また、印刷回数が同じ値となる仮想デバイスが複数ある場合には、さらに上記Ｓ９０８の処理によって累積した印刷合計枚数に基づいて、印刷合計枚数が多いほど順位が上位になるものと決定する。
【００８７】
一方、Ｓ１００３の処理による判定の結果、インストール時刻が規定範囲内であった場合（Ｓ１００３：ＹＥＳ）、ランクを一律に０と決定する（Ｓ１００５）。すなわち、Ｓ１００５の処理では、上記Ｓ１００４の処理で最も上位のランクとなる１よりもさらに小さい値である０が、ランクとして付与されることになる。
【００８８】
こうしてＳ１００４またはＳ１００５いずれかの処理を終えたら、Ｓ１００６の処理へと移行してカウンタｉに１を加え（Ｓ１００６）、Ｓ１００２の処理へと戻り、Ｓ１００２の処理で否定判断がなされる限り、Ｓ１００２〜Ｓ１００６のループ処理を繰り返すことになる。そして、すべての仮想デバイスについて処理を終えると、カウンタｉの値は仮想デバイス数を超えることになり、その結果、Ｓ１００２の処理で肯定判断がなされ（Ｓ１００２：ＹＥＳ）、ランク付け処理を終了することになる。
【００８９】
以上説明したランク付け処理により、ＰＣ１内では、図５に示したようなランク付けが行われることになる。すなわち、図５中に示した仮想デバイス番号１〜５の仮想デバイスの内、インストール時刻が規定範囲内にない仮想デバイス番号１〜４の仮想デバイスについては、まず印刷回数に基づいてソートされ、印刷回数が多い方から順にランク１，２が付与される。また、印刷回数が同じになる仮想デバイス番号３，４の仮想デバイスについては、次に印刷合計枚数に基づいてソートされ、印刷合計枚数が多い方から順にランク３，４が付与される。さらに、インストール時刻が規定範囲内にある仮想デバイス番号５の仮想デバイスについては、印刷回数や印刷合計枚数とは無関係に、ランク０が付与される。こうして付与されたランクは、後から詳述する「仮想デバイスの名前を変更する処理」（上記Ｓ２０７）の中で参照されることになる。
【００９０】
［名称変更処理（Ｓ２０７）の詳細］
次に、名称変更処理（Ｓ２０７）について、図１１のフローチャートに基づいて説明する。なお、この名称変更処理は、先に説明した仮想デバイス名変更処理（図２参照）の中にあるループ処理（Ｓ２０６〜Ｓ２０８）に含まれる処理である。そのため、以下に説明する名称変更処理の中ではカウンタｉの値は変更されないものの、上述したＳ２０８の処理でカウンタｉの値が変更されるので、カウンタｉの値により、処理対象となる仮想デバイスが、図３に示した５つの仮想デバイスのいずれかとなる。そこで、以下の説明においては、必要に応じてカウンタｉの値を例示しながら、名称変更処理の詳細について説明することにする。
【００９１】
この処理を開始すると、ＰＣ１は、まず、カウンタｉの値に基づいて、図３中に示したｉ番目の仮想デバイスを対象にして、対象となる仮想デバイスの仮想デバイス名を元の仮想デバイス名で初期化する（Ｓ１１０１）。例えば、カウンタｉに格納された値が２の場合、初期化後の仮想デバイス名は「ＹＹＹＹ４８００ＣＸ」となる。
【００９２】
続いて、ＰＣ１は、ｉ番目の仮想デバイスのランクが最大ランク以下であるか否かを判断し（Ｓ１１０２）、最大ランク以下である場合は（Ｓ１１０２：ＹＥＳ）、仮想デバイス名の前にランクを付加する一方（Ｓ１１０３）、最大ランク以下でない場合は（Ｓ１１０２：ＮＯ）、Ｓ１１０３の処理をスキップする。
【００９３】
Ｓ１１０２の処理において、最大ランクとはあらかじめ利用者が任意に設定しておく数値であり、例えば、使用頻度上位３位以内となる仮想デバイスを対象にしてランクを付加したい場合には、最大ランクとして３が設定される。本実施形態において、利用者が最大ランクとして任意に設定した数値は、例えば設定ファイル等に保存され、Ｓ１１０２の処理では、事前に設定ファイルから読み取られた値を用いて判定が行われることになる。以下、最大ランクとして３が設定されている場合を例にして説明を続ける。
【００９４】
Ｓ１１０２〜Ｓ１１０３の処理では、カウンタｉの値により、次のように処理が変わる。例えば、カウンタｉの値が１である場合、Ｓ１１０２の処理では、図５に示した仮想デバイス番号１の仮想デバイスが処理対象となる。仮想デバイス番号１の仮想デバイスは、既に説明したランク付け処理（図２中のＳ２０４、詳しくは図１０参照）により、ランク４が付与されていて、この値は最大ランク３よりも大きいので、Ｓ１１０２の処理では否定判断がなされることになる。そのため、Ｓ１１０３の処理はスキップされることになり、仮想デバイス番号１の仮想デバイス名は、図６に示した「ＸＸＸＸ１５００Ｐｒｉｎｔｅｒ」のまま変更されず、換言すれば、元の仮想デバイス名と変更後の仮想デバイス名は同一になる。
【００９５】
一方、カウンタｉの値が２である場合、Ｓ１１０２の処理では、図５に示した仮想デバイス番号２の仮想デバイスが処理対象となる。仮想デバイス番号２の仮想デバイスは、既に説明したランク付け処理（図２中のＳ２０４、詳しくは図１０参照）により、ランク１が付与されていて、この値は最大ランク３よりも小さいので、Ｓ１１０２の処理では肯定判断がなされることになる。そのため、Ｓ１１０３の処理において、仮想デバイス番号２の仮想デバイス名は、図６に示した「ＹＹＹＹ４８００ＣＸ」の前にランク１が付加されて、「１．ＹＹＹＹ４８００ＣＸ」に変更されることになる。
【００９６】
以下、カウンタｉの値が３〜５の場合も、カウンタｉの値が２である場合と同様、Ｓ１１０３の処理は実行されることになり、それぞれに仮想デバイス名の前にランクが付加されることになる。
【００９７】
つまり、各仮想デバイスのランクが、利用者の設定した最大ランク以内に入っている仮想デバイスに対してのみ、仮想デバイス名の先頭にランクが付加されることになる。このように一部の仮想デバイスに対しては、仮想デバイス名の先頭にランクを付加する一方、残りの仮想デバイスについては、仮想デバイス名を変更しないのは、次のような理由による。
【００９８】
例えば、２０個の仮想デバイスがインストールされていることを想定した場合、よく使っている仮想デバイスは上位に列挙されるので、簡単に探すことが出来る。しかし、２０個全てが使用頻度順に並んでしまうと、下位側に列挙された仮想デバイスは、あまり意味のない使用頻度順に列挙されてしまうため、元の名前順に整列させてある場合より、かえって探しづらくなるおそれがある。すなわち、あまり使わない仮想デバイスに関しては、通常通り名前順に並んでいたほうが都合がいい場合がある。
【００９９】
そこで、上記処理では、上記のようにランク付けの対象とすべき最大ランクをあらかじめ利用者が任意に設定しておくことで、ランク付けの対象となった仮想デバイスについてはランク順に列挙され、ランク付けの対象とならなかった仮想デバイスについては元の名前順に列挙されるようにしている。こうすれば、使用頻度が高いもの低いもの双方とも、利用者にとって探しやすい順序で列挙されるようになるのである。
【０１００】
さて、こうしてＳ１１０２〜Ｓ１１０３の処理を終えたら、続いて、ＰＣ１は、ｉ番目の仮想デバイスについて、ランクが０か否かを判断し（Ｓ１１０４）、ランクが０であった場合は（Ｓ１１０４：ＹＥＳ）、仮想デバイス名の後に最近インストールされたことを示す文字列「Ｎｅｗ」を付加して（Ｓ１１０５）、名称変更処理処理を終了する。一方、ランクが０でなかった場合は（Ｓ１１０４：ＮＯ）、Ｓ１１０５の処理をスキップして、そのまま名称変更処理処理を終了する。
【０１０１】
Ｓ１１０４〜Ｓ１１０５の処理も、カウンタｉの値により、次のように処理が変わる。例えば、カウンタｉの値が１である場合、Ｓ１１０４の処理では、図５に示した仮想デバイス番号１の仮想デバイスが処理対象となる。仮想デバイス番号１の仮想デバイスは、既に説明したランク付け処理（図２中のＳ２０４、詳しくは図１０参照）により、ランク４が付与されているので、Ｓ１１０４の処理では否定判断がなされることになる。そのため、Ｓ１１０５の処理はスキップされることになり、仮想デバイス番号１の仮想デバイス名の後に文字列「Ｎｅｗ」が付加されることはない。
【０１０２】
以下、カウンタｉの値が２〜４の場合も、カウンタｉの値が１である場合と同様、Ｓ１１０５の処理はスキップされることになり、各仮想デバイスとも、仮想デバイス名の後に文字列「Ｎｅｗ」が付加されることはない。
【０１０３】
一方、カウンタｉの値が５である場合、Ｓ１１０４の処理では、図５に示した仮想デバイス番号５の仮想デバイスが処理対象となる。仮想デバイス番号５の仮想デバイスは、既に説明したランク付け処理（図２中のＳ２０４、詳しくは図１０参照）により、ランク０が付与されているので、Ｓ１１０４の処理では肯定判断がなされることになる。そのため、Ｓ１１０５の処理において、仮想デバイス番号５の仮想デバイス名の後には文字列「Ｎｅｗ」が付加される。その結果、仮想デバイス番号５の仮想デバイス名は、Ｓ１１０３の処理により、図６に示した「ＹＹＹＹ４９００ＣＸ」の前にランク０が付加されて、「０．ＹＹＹＹ４９００ＣＸ」に変更されることになり、さらに、Ｓ１１０５の処理により、「０．ＹＹＹＹ４９００ＣＸ」の後に文字列「Ｎｅｗ」が付加されて、最終的には、「０．ＹＹＹＹ４９００ＣＸ−Ｎｅｗ」に変更されることになる。
【０１０４】
［効果］
以上説明したように、上記ＰＣ１においては、上記名称変更処理を実行することにより、ＰＣ１に登録された仮想デバイスの使用頻度に応じて仮想デバイス名が変更されるので、選択肢として表示される仮想デバイスの数が多い場合でも、利用者は、変更後の仮想デバイス名を見るだけで、使用頻度の高い仮想デバイスがどれなのかを簡単に見分けることができる。
【０１０５】
したがって、例えば、変更前の仮想デバイス名について、利用者が頻繁に利用する仮想デバイスに類似した仮想デバイス名が多数登録されていたとしても、変更後の仮想デバイス名を見れば、利用者は頻繁に利用する仮想デバイスを容易に選択でき、利用者が選択で迷ったり選択を誤ったりすることがなくなる。図６に示した例でいえば、仮想デバイス名として「ＸＸＸＸ１５００Ｐｒｉｎｔｅｒ」と「ＸＸＸＸ１５００Ｐｒｉｎｔｅｒ（コピー２）」が表示された場合、両者は非常に似ている。そのため、利用者が明確に仮想デバイス名を覚えていないと、どちらの使用頻度が高いのかを判別できなくなりやすい。しかし、仮想デバイス名の変更後は、「ＸＸＸＸ１５００Ｐｒｉｎｔｅｒ（コピー２）」の方が「２．ＸＸＸＸ１５００Ｐｒｉｎｔｅｒ（コピー２）」に変更されるので、変更後の仮想デバイス名を見れば、利用者は頻繁に利用する仮想デバイスを容易に選択でき、利用者が選択で迷ったり選択を誤ったりすることがなくなる。
【０１０６】
しかも、上記ＰＣ１においては、使用頻度の順位を表す文字列（数字）が仮想デバイス名の一部として表示されるので、利用者は使用頻度の順位を表す文字列を見て、使用頻度の高い仮想デバイスを容易に選ぶことができ、特に、使用頻度の順位を表す文字列を仮想デバイス名の前に付加しているので、複数の仮想デバイス名が表示された際、使用頻度が高いものほど仮想デバイス名を表示する際の表示順が上位となり、この点でも、利用者は使用頻度の高い仮想デバイスをより一層容易に選ぶことができる。
【０１０７】
また、上記ＰＣ１においては、上記Ｓ１１０２の処理により、使用頻度が高い上位３つ分の仮想デバイスと、新たにインストールされた仮想デバイスについてだけ、仮想デバイス名が変更されるので、使用頻度が高い仮想デバイスについては有益な仮想デバイス名の変更を行なうことができ、使用頻度が低い高い仮想デバイスについては無益な仮想デバイス名の変更を行わないようにすることができる。しかも、上位いくつ分の仮想デバイスの名前を変更するかについては、利用者が任意に設定できるので、利用者にとって必要な数だけ仮想デバイス名を変更することができる。
【０１０８】
また、上記ＰＣ１においては、上記Ｓ９０５の処理により、利用者が指定した最新の所定期間内に記録された情報に基づいて、仮想デバイスの使用頻度が決定されるので、過去に使用頻度が高かったものの、その後、使用頻度が低くなった仮想デバイスが混在している場合に、そのような仮想デバイスを使用頻度が低いものとして扱うことができる。
【０１０９】
また、上記ＰＣ１においては、上記Ｓ１１０４，Ｓ１１０５の処理により、インストールされたばかりの新規仮想デバイスに対して、新規仮想デバイスであることを表す識別用文字列「Ｎｅｗ」を、仮想デバイス名の後に付加するので、利用者は、識別用文字列を見て新規仮想デバイスを容易に選ぶことができる。しかも、新規仮想デバイスか否かを判断する際には、上記Ｓ１００３の処理により、利用者が任意に指定した長さの期間内にインストールされたものを新規仮想デバイスであると判断するので、新規仮想デバイスとして扱うことにする期間を、利用者が任意に設定できる。
【０１１０】
また、上記ＰＣ１においては、上記Ｓ１００３〜Ｓ１００５、およびＳ１１０２〜Ｓ１１０３の処理により、新規仮想デバイス以外の仮想デバイスについては、使用頻度の順位を表す文字列を、仮想デバイス名の前に付加する一方、新規仮想デバイスについては、使用頻度の順位を表す文字列よりも文字コード順で上位に表示されることになる文字列「０」を、仮想デバイス名の前に付加している。したがって、ＰＣ１が仮想デバイス名を文字コード順に整列させて表示した際には、新規仮想デバイスが使用頻度の高い仮想デバイスよりも上位に表示されるので、利用者は、新規仮想デバイスを容易に選ぶことができる。
【０１１１】
さらに、上記ＰＣ１においては、上記Ｓ２０１の処理により、仮想デバイスを利用した印刷が行われた場合に、名称変更処理が実行されるので、仮想デバイス名を最新の使用頻度を反映したものに変更することができる。
【０１１２】
また、上記ＰＣ１においては、上記Ｓ２０２の処理により、新たな仮想デバイスがインストールされた場合にも、名称変更処理が実行されるので、新たな仮想デバイスがインストールされた場合に、利用者は新たな仮想デバイスを容易に選ぶことができる。
【０１１３】
また、上記ＰＣ１においては、上記Ｓ２０２の処理により、仮想デバイスがアンインストールされた場合にも、名称変更処理が実行され、使用頻度の順位が最新の順位に変更されるので、利用者は、最新の順位に基づいて、仮想デバイスを選ぶことができる。
【０１１４】
［変形例等］
以上、本発明の実施形態について説明したが、本発明は上記の具体的な一実施形態に限定されず、この他にも種々の形態で実施することができる。
【０１１５】
例えば、上記実施形態においては、新規インストールされた仮想デバイスについても、仮想デバイス名を変更するように構成してあったが、新規インストールか否かについては判断せず、使用頻度のみに基づいて仮想デバイス名を変更するように構成してもよい。
【０１１６】
また、上記実施形態においては、使用頻度上位いくつまで仮想デバイス名を変更するか、どの程度の期間を新規インストールと判定するための期間とするか、およびどの程度の期間を使用頻度の順位を判定するための期間とするかについて、すべて利用者が任意に設定できる旨を説明したが、これらは、利用者が任意には変更できない値ないし期間があらかじめ設定されていてもよい。ただし、利用者が任意に設定できる方が自由度は高く、利用者の好みや環境に応じた調節ができるので好ましい。
【０１１７】
また、上記実施形態では、どの仮想デバイス名を変更対象とするかについて、利用者が任意に数を設定することにより、使用頻度上位いくつまで仮想デバイス名を変更するかが設定される例を示したが、数を設定する以外の方法でも、一部の仮想デバイス名のみを変更対処として選出することができる。例えば、過去一定期間内（例えば、最近２ヶ月以内）に一度でも使用実績がある仮想デバイスについては、仮想デバイス名の変更対象にする一方、一度も使用実績がない仮想デバイスについては、仮想デバイス名の変更対象にしない、といった方法をとってもよい。この場合、変更対象となる仮想デバイス名の数は、上記実施形態とは異なり不定となるが、頻繁に使用される仮想デバイスの数が定かではない場合には、利用者が数を設定しなくても、頻繁に使用される仮想デバイスを選出してランク付けを行うことができる。
【０１１８】
また、上記実施形態においては、使用頻度の順位を表す文字列として数字を用いるとともに、新規インストールされた仮想デバイスには、使用頻度の順位を表す文字列よりも小さい値となる「０」を付与するようにしていたが、仮想デバイス名に付加する文字列は、これらに限らない。一例としては、「Ａ，Ｂ，Ｃ…」といった文字列を付加することにより、使用頻度の順位を表すようにしてもよい。また、１０以上の仮想デバイスに対して使用頻度のランクを付けるのであれば、「０１，０２，０３，…，１０，…」のように、二桁分の文字列を付加してもよい。この場合、新規インストールされた仮想デバイスには、使用頻度の順位を表す文字列よりも小さい値となる「００」を付与するようにすれば、上記実施形態と同様な順序で、仮想デバイス名を列挙することができる。
【０１１９】
さらに、上記実施形態においては、規定範囲内（例えば、最近１週間以内）の印刷回数を求めて使用頻度のランク付けを行うとともに、印刷回数が同じである場合に印刷合計枚数に基づいてランク付けを行っていたが、印刷回数によるランク付けを行わずに、印刷合計枚数のみに基づいてランク付けを行うようにしてもよい。
【図面の簡単な説明】
【０１２０】
【図１】本発明の実施形態として例示した仮想デバイス名変更処理を実行するＰＣと、プリンタとを備えてなるシステムのハードウェア構成を示すブロック図。
【図２】仮想デバイス名変更処理のフローチャート。
【図３】仮想デバイス名とインストール日時を例示した説明図。
【図４】プリンタの使用状況に関する情報（ログ）を例示した説明図。
【図５】使用頻度の判定に用いる情報とその情報に基づいて判定されたランクを例示した説明図。
【図６】元の仮想デバイス名と変更後の仮想デバイス名を例示した説明図。
【図７】印刷ダイアログを例示した説明図。
【図８】印刷ダイアログ中のリストボックスを展開した状態を例示した説明図。
【図９】使用頻度情報更新処理のフローチャート。
【図１０】ランク付け処理のフローチャート。
【図１１】名称変更処理のフローチャート。
【符号の説明】
【０１２１】
１・・・パーソナルコンピュータ（ＰＣ）、２，３・・・プリンタ、４・・・プリンタケーブル、５・・・ＬＡＮケーブル、１０，２０，３０・・・ＣＰＵ、１１，２１，３１・・・ＲＯＭ、１２，２２，３２・・・ＲＡＭ、１３，２３，３３・・・ハードディスク装置（ＨＤＤ）、１４・・・操作部、１５・・・表示部、１６，２６，３６・・・プリンタポートインターフェース（プリンタポートＩ／Ｆ）、１７，２７，３７・・・ＬＡＮインターフェース（ＬＡＮ  Ｉ／Ｆ）、２４，３４・・・操作キー、２５，３５・・・表示パネル、２８，３８・・・不揮発性ＲＡＭ、２９，３９・・・印字部、５１・・・印刷ダイアログ、５３・・・リストボックス、５５・・・リスト。
【図１】
2007200253.tif 000003
【図２】
2007200253.tif 000004
【図３】
2007200253.tif 000005
【図４】
2007200253.tif 000006
【図５】
2007200253.tif 000007
【図６】
2007200253.tif 000008
【図７】
2007200253.tif 000009
【図８】
2007200253.tif 000010
【図９】
2007200253.tif 000011
【図１０】
2007200253.tif 000012
【図１１】
2007200253.tif 000013