JP4337824B2 - 仮想デバイス名変更プログラム - Google Patents

仮想デバイス名変更プログラム Download PDF

Info

Publication number
JP4337824B2
JP4337824B2 JP2006021201A JP2006021201A JP4337824B2 JP 4337824 B2 JP4337824 B2 JP 4337824B2 JP 2006021201 A JP2006021201 A JP 2006021201A JP 2006021201 A JP2006021201 A JP 2006021201A JP 4337824 B2 JP4337824 B2 JP 4337824B2
Authority
JP
Japan
Prior art keywords
virtual device
device name
virtual
program according
changing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006021201A
Other languages
English (en)
Other versions
JP2007200253A (ja
Inventor
優治 宮田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2006021201A priority Critical patent/JP4337824B2/ja
Priority to US11/668,213 priority patent/US8020175B2/en
Publication of JP2007200253A publication Critical patent/JP2007200253A/ja
Application granted granted Critical
Publication of JP4337824B2 publication Critical patent/JP4337824B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1288Remote printer device, e.g. being remote from client or server in client-server-printer device configuration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1224Client or server resources management
    • G06F3/1226Discovery of devices having required properties
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1273Print job history, e.g. logging, accounting, tracking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1286Remote printer device, e.g. being remote from client or server via local network

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明は、情報処理装置に登録された複数の仮想デバイスの中から、利用者がより容易に1つの仮想デバイスを選択できるようにするための仮想デバイス名変更プログラムに関する。
近年、パーソナルコンピュータ等の情報処理装置は、複数のプリンタを利用可能な環境で使用されることが多くなっている。例えば、複数の情報処理装置および複数のプリンタがネットワークを介して相互に接続されたシステムにおいては、各情報処理装置から複数のプリンタを利用することができる。そして、このように情報処理装置が複数のプリンタを出力先として利用する場合、情報処理装置には、各プリンタに対応する複数の仮想デバイスが登録される。
また、情報処理装置が単一のプリンタを出力先として利用する場合であっても、複数の仮想デバイスを登録することがある。例えば、異なる複数通りの印刷設定をしばしば利用するような場合に、単一のプリンタに対応する複数の仮想デバイスを登録しておけば、各仮想デバイス毎の標準設定(デフォルト設定)を異なる印刷設定にして運用することができる。このような運用を行えば、様々な印刷設定で単一のプリンタを利用したい場合でも、利用者は、複数の仮想デバイスの中から所望の印刷設定が標準設定になっている1つの仮想デバイスを選択するだけで、所望の印刷設定で印刷を行うことができる。したがって、利用者は、印刷のたびに、両面印刷機能を利用するか否か、カラー印刷機能を利用するか否か、複数ある給紙カセットのどれを利用するか、といった印刷設定の変更操作を行わなくてもよくなり、印刷設定の変更にかかる面倒な手間を省くことができる。
ただし、上述のような事情から、1つの情報処理装置に登録されている仮想デバイスの数が過剰に多くなると、利用者が特定の仮想デバイスを利用したいと考えた場合に、多数の仮想デバイスの中から所望の仮想デバイスを探し出さなければならなくなる。そのため、所望の仮想デバイスを見つけるまでに時間を要したり、仮想デバイス選択時の操作性が悪くなったりする、という問題が生じる。
こうした問題に対し、従来、プリンタの使用頻度を監視して、使用頻度が低いプリンタについては、そのプリンタに対応づけて登録された仮想デバイスを抹消するという技術は、既に提案されていた(例えば、下記特許文献1参照)。このような技術を利用すれば、複数の仮想デバイスの中から1つを選択する際に、使用頻度が低い仮想デバイスについては選択肢として表示されなくなるので、選択肢が少なくなる分だけ仮想デバイスの選択が容易になるものと期待される。
特開2005−267544号公報
しかしながら、上記特許文献1に記載の技術を利用することにより、選択肢として表示される仮想デバイスの数をいくらかは減らせるとしても、なお多くの仮想デバイスが残っている場合もあり、そのような場合には、所望の仮想デバイスが簡単には見つからないことも多々あった。
特に、利用者が頻繁に利用する仮想デバイスがある程度決まっている場合、そのような利用頻度の高い仮想デバイスを選択したいと考える機会は多々あるが、類似した仮想デバイス名を持つ仮想デバイスが多数登録されていると、選択すべき仮想デバイスがどれなのかについて利用者が迷ってしまうことがあり、その選択を誤るおそれもあった。
本発明は、上記問題を解決するためになされたものであり、その目的は、情報処理装置に複数の仮想デバイスが登録されている場合でも、利用者が頻繁に利用する仮想デバイスをより容易に選択できるようにするために利用される仮想デバイス名変更プログラムを提供することにある。
以下、本発明において採用した特徴的構成について説明する。
本発明の仮想デバイス名変更プログラムは、通信可能なプリンタが仮想デバイスとして登録されており、複数の仮想デバイス名を表示して、その中の1つを利用者に任意に選択させることにより、複数の前記仮想デバイスの中から印刷データの送信先となる前記仮想デバイスを選択可能で、選択された前記仮想デバイスに対して印刷データを送信することにより、前記仮想デバイスに対応するプリンタへ前記印刷データを送信可能な情報処理装置に、複数の前記仮想デバイスの使用頻度を記録する使用頻度記録工程と、前記使用頻度記録工程によって記録された複数の前記仮想デバイスの使用頻度に基づいて、複数の前記仮想デバイス名の中から選ばれる少なくとも1つの仮想デバイス名を、前記使用頻度に応じて決まる仮想デバイス名に変更する仮想デバイス名変更工程とを実行させるためのプログラムである。
このような仮想デバイス名変更プログラムに従って上記各工程を情報処理装置に実行させれば、使用頻度に応じて仮想デバイス名が変更されるので、選択肢として表示される仮想デバイスの数が多い場合でも、利用者は、変更後の仮想デバイス名を見るだけで、使用頻度の高い仮想デバイスがどれなのかを簡単に見分けることができる。
したがって、例えば、変更前の仮想デバイス名について、利用者が頻繁に利用する仮想デバイスに類似した仮想デバイス名が多数登録されていたとしても、変更後の仮想デバイス名を見れば、利用者は頻繁に利用する仮想デバイスを容易に選択でき、利用者が選択で迷ったり選択を誤ったりすることがなくなる。
ところで、本発明の仮想デバイス名変更プログラムにおいて、前記仮想デバイス名変更工程は、前記使用頻度の順位を表す文字列を、前記仮想デバイス名に対して付加する工程であると好ましい。
ここで、使用頻度の順位を表す文字列としては、使用頻度の順位を表していることを利用者が理解できるような文字列であれば、「1,2,3…」のような順位を表す数字であってもよいし、「A,B,C…」のような順位を表す文字であってもよい。
このように構成された仮想デバイス名変更プログラムに従った工程を情報処理装置に実行させれば、利用者が仮想デバイス名の選択を行う際に、使用頻度の順位を表す文字列が仮想デバイス名の一部として表示されるので、利用者は使用頻度の順位を表す文字列を見て、使用頻度の高い仮想デバイスを容易に選ぶことができる。
また、本発明の仮想デバイス名変更プログラムにおいて、前記情報処理装置は、複数の前記仮想デバイス名を表示する際に、複数の前記仮想デバイス名を文字コード順に整列させて表示するように構成されているとよく、この場合、前記仮想デバイス名変更工程は、前記使用頻度の順位を表す文字列を、前記仮想デバイス名の前に付加する工程であると好ましい。
このように構成された仮想デバイス名変更プログラムに従った工程を情報処理装置に実行させれば、複数の仮想デバイス名が表示された際、使用頻度が高いものほど仮想デバイス名を表示する際の表示順が上位となるので、利用者は使用頻度の高い仮想デバイスをより一層容易に選ぶことができる。
また、本発明の仮想デバイス名変更プログラムにおいて、前記仮想デバイス名変更工程は、前記使用頻度の順位が高い方から所定数分だけ選ばれる前記仮想デバイスを仮想デバイス名の変更対象として、前記仮想デバイス名を変更する工程であると好ましい。
このように構成された仮想デバイス名変更プログラムに従った工程を情報処理装置に実行させれば、使用頻度が高い所定数分の仮想デバイスだけ仮想デバイス名が変更される。ここで、使用頻度が高い仮想デバイスに関しては、使用頻度の高さの程度がわかると、利用者にとっては、よく利用する仮想デバイスを簡単に選ぶことができるという利点がある。一方、使用頻度が低い仮想デバイスに関しては、使用頻度の低さの程度がわかっても、あまり仮想デバイスを選ぶ際の参考にはならず、標準的な仮想デバイス名のままの方が仮想デバイスを選択しやすい場合がある。この点、上記構成を採用すれば、使用頻度が高い仮想デバイスについては有益な仮想デバイス名の変更を行なうことができ、使用頻度が低い高い仮想デバイスについては無益な仮想デバイス名の変更を行わないようにすることができる。
また、本発明の仮想デバイス名変更プログラムにおいて、前記仮想デバイス名変更工程は、前記使用頻度の順位が高い方から利用者が任意に指定した数分だけ選ばれる前記仮想デバイスを仮想デバイス名の変更対象として、前記仮想デバイス名を変更する工程であると好ましい。
このように構成された仮想デバイス名変更プログラムに従った工程を情報処理装置に実行させれば、使用頻度が高い仮想デバイスに関し、利用者が任意に指定した数分だけ仮想デバイス名が変更されるので、利用者にとって必要な数だけ仮想デバイス名を変更することができる。
また、本発明の仮想デバイス名変更プログラムにおいて、前記使用頻度記録工程は、複数の前記仮想デバイスそれぞれを利用した印刷が実行される毎に、印刷実行を示す情報を印刷履歴として記録する印刷履歴記録工程を有するとよく、この場合、使用頻度記録工程は、前記印刷履歴記録工程によって記録された印刷履歴の内、最新の所定期間内に記録された情報に基づいて、複数の前記仮想デバイスそれぞれの使用頻度を決定して、該使用頻度を記録する工程であると好ましい。
このように構成された仮想デバイス名変更プログラムに従った工程を情報処理装置に実行させれば、最新の所定期間内に記録された情報に基づいて、複数の前記仮想デバイスそれぞれの使用頻度が決定されるので、過去に使用頻度が高かったものの、その後、使用頻度が低くなった仮想デバイスが混在している場合に、そのような仮想デバイスを使用頻度が低いものとして扱うことができる。
なお、前記使用頻度記録工程において、前記最新の所定期間は、利用者が任意に指定した長さの期間であると、利用者が任意に指定した最新の所定期間内に記録された情報に基づいて、複数の仮想デバイスそれぞれの使用頻度が決定されるので、使用頻度が低い仮想デバイスとして扱うことにするタイミングを、利用者が任意に設定できる。
また、本発明の仮想デバイス名変更プログラムにおいて、前記仮想デバイス名変更工程は、インストールされたばかりの新規仮想デバイスか否かを判断する判断工程を有するとよく、この場合、仮想デバイス名変更工程は、前記判断工程によって前記新規仮想デバイスであると判断された場合に、前記新規仮想デバイスであることを表す識別用文字列を、前記仮想デバイス名に対して付加する工程であると好ましい。
この仮想デバイス名変更工程において、識別用文字列を付加する位置は任意であるが、より具体的な一例を挙げれば、前記仮想デバイス名変更工程は、前記新規仮想デバイスであることを表す識別用文字列を、前記仮想デバイス名の後に付加する工程であると好ましい。
このように構成された仮想デバイス名変更プログラムに従った工程を情報処理装置に実行させれば、利用者は、新規仮想デバイスであることを表す識別用文字列を見て、新規仮想デバイスを容易に選ぶことができる。
また、本発明の仮想デバイス名変更プログラムにおいて、前記判断工程は、前記仮想デバイスがインストールされてから経過した期間が所定の期間よりも短いか否かに基づいて、インストールされたばかりの新規仮想デバイスか否かを判断する工程であると好ましい。
このように構成された仮想デバイス名変更プログラムに従った工程を情報処理装置に実行させれば、インストールされてから経過した期間が所定の期間よりも短い新規仮想デバイスを容易に選ぶことができる。
なお、前記判断工程において、前記所定の期間は、利用者が任意に指定した長さの期間であると、新規仮想デバイスとして扱うことにする期間を、利用者が任意に設定できるので好ましい。
また、本発明の仮想デバイス名変更プログラムにおいて、前記情報処理装置は、複数の前記仮想デバイス名を表示する際に、複数の前記仮想デバイス名を文字コード順に整列させて表示するように構成されているとよく、この場合、前記仮想デバイス名変更工程は、前記新規仮想デバイス以外の前記仮想デバイスについては、前記使用頻度の順位を表す文字列を、前記仮想デバイス名の前に付加する一方、前記新規仮想デバイスについては、前記使用頻度の順位を表す文字列よりも文字コード順で上位に表示されることになる文字列を、前記仮想デバイス名の前に付加する工程であると好ましい。
より具体的な一例を挙げれば、例えば、前記仮想デバイス名変更工程は、前記新規仮想デバイス以外の前記仮想デバイスについては、前記使用頻度の順位を表す所定桁数の数字を、前記仮想デバイス名の前に付加する一方、前記新規仮想デバイスについては、所定桁数分だけ「0」が並ぶ文字列を、前記仮想デバイス名の前に付加する工程であると好ましい。
このように構成された仮想デバイス名変更プログラムに従った工程を情報処理装置に実行させれば、情報処理装置が複数の仮想デバイス名を文字コード順に整列させて表示した際に、新規仮想デバイスが使用頻度の高い仮想デバイスよりも上位に表示されるので、利用者は、新規仮想デバイスを容易に選ぶことができる。
さらに、本発明の仮想デバイス名変更プログラムにおいて、前記仮想デバイス名変更工程は、前記仮想デバイスを利用した印刷が行われた場合に実行される工程であると好ましい。
このように構成された仮想デバイス名変更プログラムに従った工程を情報処理装置に実行させれば、仮想デバイス名を、最新の使用頻度を反映したものに変更することができる。
また、本発明の仮想デバイス名変更プログラムにおいて、前記仮想デバイス名変更工程は、新たな前記仮想デバイスがインストールされた場合に実行される工程であると好ましい。
このように構成された仮想デバイス名変更プログラムに従った工程を情報処理装置に実行させれば、新たな仮想デバイスがインストールされた場合に、利用者は、新たな仮想デバイスを容易に選ぶことができる。
また、本発明の仮想デバイス名変更プログラムにおいて、前記仮想デバイス名変更工程は、前記仮想デバイスがアンインストールされた場合に実行される工程であると好ましい。
このように構成された仮想デバイス名変更プログラムに従った工程を情報処理装置に実行させれば、仮想デバイスがアンインストールされた場合に、使用頻度の順位が最新の順位に変更されるので、利用者は、最新の順位に基づいて、仮想デバイスを選ぶことができる。
次に、本発明の実施形態について一例を挙げて説明する。
[システム全体の構成]
図1は、パーソナルコンピュータ1(以下、PC1という)を備えたシステムの概略構成を示すブロック図である。このシステム内に含まれるPC1が、本発明の仮想デバイス名変更プログラムに従った各工程を実行する情報処理装置に相当する。
PC1は、複数のプリンタと通信可能で、図1には、それら複数のプリンタの内、PC1との接続形態が異なる2つのプリンタ2,3が図示してある。具体的には、プリンタ2は、ローカルプリンタとも呼ばれる接続形態のプリンタであり、プリンタケーブル4を介してPC1に直結されている。一方、プリンタ3は、ネットワークプリンタとも呼ばれる接続形態のプリンタであり、LANケーブル5を介してPC1と通信可能になっている。
なお、PC1は、プリンタ2,3以外のプリンタとも通信可能であるが、それらのプリンタは、上記プリンタ2,3のいずれかと同等な接続形態になっているので、図1においては図示を省略する。ただし、後述する仮想デバイス名変更処理の説明の中では、PC1から5つのプリンタを利用可能で、その5つのプリンタに対応する5つの仮想デバイスがPC1に登録されているものとして説明を行う。
さて、以上のようなシステムの内、PC1は、図1に示すように、CPU10、ROM11、RAM12、ハードディスク装置13(以下、HDD13という)、操作部14、表示部15、プリンタポートインターフェース16(以下、プリンタポートI/F16という)、およびLAN(Local Area Network)インターフェース17(以下、LAN I/F17という)などを備えている。
CPU10は、ROM11やRAM12に記憶されたプログラムに従って、PC1各部に対する制御および各種演算を実行する装置で、後述する仮想デバイス名変更処理は、このCPU10によって実行される。
ROM11は、PC1の電源スイッチを切っても記憶内容を保持可能な記憶装置で、BIOS(Basic Input Output System)や通常であれば更新されない読み出し用のデータ等を記憶している。
RAM12は、CPU10から直接アクセスされるメインメモリ等として利用される記憶装置である。このRAM12には、OS(Operating System)や各種アプリケーションなどのソフトウェアがHDD13から読み込まれ、また、CPU10による各種演算の結果やHDD13から読み込まれたデータもRAM12に記憶されるようになっている。後述する仮想デバイス名変更処理を実行する際には、HDD13からRAM12に仮想デバイス名変更プログラムが読み込まれ、RAM12に記憶された仮想デバイス名変更プログラムに従って、CPU10が仮想デバイス名変更処理を実行することになる。
HDD13は、OS、各種アプリケーションプログラム、および各種データファイルを保存しておくための装置で、上記仮想デバイス名変更プログラムもHDD13に保存されている。
操作部14は、利用者からの各種指示を入力するための入力装置であり、例えば、キーボードや各種ポインティングデバイス(例えば、マウス)等によって構成される。
表示部15は、各種情報を利用者に提示するための出力装置であり、例えば、カラー画像を表示可能な液晶ディスプレイ等によって構成される。
プリンタポートI/F16は、プリンタを接続可能なインターフェースで、例えば、USB(Universal Serial Bus)インターフェースのようなシリアルインターフェース、もしくは、IEEE1284インターフェースのようなパラレルインターフェース等によって構成される。
LAN I/F17は、LANケーブルを介してネットワーク上のプリンタやその他の周辺機器と通信を行うためのインターフェースである。
なお、本実施形態において、PC1には、OSとしてWindows(登録商標)が搭載されている。Windows(登録商標)が備える各種機能そのものは公知なので、ここでの詳細な説明は省略するが、以下の説明においては、PC1が、Windows(登録商標)によって提供される各種機能を有するとの前提で説明を続ける。
プリンタ2は、CPU20、ROM21、RAM22、HDD23、操作キー24、表示パネル25、プリンタポートI/F26、LAN I/F27、不揮発性RAM28、印字部29などを備えている。
CPU20は、ROM21に記憶されている制御プログラムに従ってプリンタ2各部の制御および各種演算を実行する装置である。
ROM21は、プリンタ2の電源スイッチを切っても記憶内容を保持可能な記憶装置で、上記制御プログラムの他、通常であれば更新されない読み出し用の各種データを記憶している。
RAM22は、CPU20から直接アクセスされるメインメモリ等として利用される記憶装置で、CPU20が処理中に算出する各種データなどが一時的にRAM22に記憶されるようになっている。
HDD23は、RAM22だけでは記憶しきれない大きなサイズのデータを記憶するための記憶装置である。
操作キー24は、利用者がマニュアル操作でプリンタ2に対して指令を与える場合に操作する入力装置である。
表示パネル25は、小型液晶ディスプレイによって構成された装置で、プリンタ2の設定や状態などの情報を表示できるようになっている。
プリンタポートI/F26は、PCを接続可能なインターフェースで、PC1側と同じ規格のインターフェース、例えば、USB(Universal Serial Bus)インターフェースのようなシリアルインターフェース、もしくは、IEEE1284インターフェースのようなパラレルインターフェース等によって構成される。
LAN I/F27は、LANケーブルを介してネットワーク上のPCと通信を行うためのインターフェースである。
不揮発性RAM28は、プリンタ2に関する可変設定等、電力供給が断たれたときにも消失させたくないデータを記憶する記憶装置である。
印字部29は、シート状の媒体(例えば記録用紙)を給紙部から排紙部へと搬送する搬送機構、この搬送機構による搬送経路の途中で前記媒体に対して画像を記録する記録機構などによって構成される。
なお、プリンタ3は、CPU30、ROM31、RAM32、HDD33、操作キー34、表示パネル35、プリンタポートI/F36、LAN I/F37、不揮発性RAM38、印字部39などを備えている。これらの構成は、プリンタ2が備える構成と同等なものばかりなので、詳細な説明については省略する。
[仮想デバイス名変更処理]
次に、PC1が実行する仮想デバイス名変更処理について、図2のフローチャートに基づいて説明する。この仮想デバイス名変更処理は、どのようなタイミングで開始されるようになっていても構わないが、本実施形態においては、PC1の起動に伴って処理を開始する常駐プロセスとして実行されることを想定している。
なお、以下の説明においては、図3に示した5つの仮想デバイスがPC1にインストールされている場合を例に挙げて説明を続ける。PC1においてプリンタドライバがインストールされると、PC1のレジストリ(OSが管理する記憶領域)には、プリンタドライバ名や、プリンタドライバのプログラムを格納したファイルのファイル名などが登録され、これにより、PC1に仮想デバイスがインストールされたことになる。そして、以後、アプリケーションが印刷データの出力を行う際には、PC1に登録された仮想デバイスを出力先に指定して、その仮想デバイスに対応するプリンタへの印刷出力を実行することができるようになる。出力先となる仮想デバイスを利用者が選択する際、利用者は仮想デバイス名を見て所望の仮想デバイスを選択することになるが、ここで利用者が見ることになる仮想デバイス名は、レジストリに登録されたプリンタドライバ名そのものである。
また、PC1が備えるHDD13に格納されたログファイルには、PC1において印刷出力が実行されるたびに、図4に示すようなプリンタ(仮想デバイス)の使用状況が記録されるものとして、以下の説明を続ける。
さて、仮想デバイス名変更処理を開始すると、PC1は、まず、印刷が行われたかどうかの確認を行う(S201)。ここで、PC1において印刷が行われたと判断された場合は(S201:YES)、後述するS203の処理へと移行する一方、印刷が行われていない場合は(S201:NO)、仮想デバイスが追加または削除されたかかどうかの確認を行う(S202)。PC1において、ある仮想デバイスが新たにインストールされていると、S202の処理では、仮想デバイスの追加が行われたと判断される。また、PC1において、ある仮想デバイスがアンインストールされていると、S202の処理では、仮想デバイスの削除が行われたと判断される。
そして、S202の処理において、仮想デバイスの追加または削除が行われたと判断された場合は(S202:YES)、S203の処理へと移行する一方、仮想デバイスが追加も削除もされていないと判断された場合は(S202:NO)、S201の処理へと戻る。
つまり、S201〜S202のループ処理により、印刷が実行されたかどうか、仮想デバイスの追加または削除が行われたかどうかの監視を行い、PC1において印刷が行われるか(S201:YES)、仮想デバイスの追加または削除が行われたら(S202:YES)、S203の処理へと移行することになる。
さて、S203の処理へと移行した場合、PC1は、使用頻度情報を更新する(S203)。この使用頻度情報更新処理の詳細については後述するが、このS203の処理により、PC1に登録された仮想デバイス(図3参照)の使用頻度に関する情報が、最新情報に更新されることになる。
そこで、PC1は、続いて、S203の処理によって更新された使用頻度情報に基づいて、仮想デバイスのランク付けを行う(S204)。このS204の処理により、仮想デバイスの使用頻度に関する順位が付けられ、例えば、図4に示したログからは、図5に示すような使用頻度情報およびランクが生成される。なお、S204のランク付け処理の詳細については後述するが、本実施形態の場合、S204の処理により、図5中に示した仮想デバイス番号1〜4の仮想デバイスについては、使用頻度(印刷回数および印刷合計枚数)に基づいてランク1〜4が付与されることになる。また、仮想デバイス番号5の仮想デバイスは、最近インストールされたばかりの仮想デバイス(詳しくは後述)であるため、使用頻度とは無関係にランク0が付与されることになる。
次に、PC1は、カウンタiを1で初期化し(S205)、カウンタiが仮想デバイス数より大きいかどうかを調べる(S206)。本実施形態においては、仮想デバイス数が5である場合を想定しており、S206の処理では、カウンタiに格納された値が5より大きいかどうかを比較をすることになるので、S205の処理によるカウンタiの初期化直後は、S206の処理では否定判断がなされることになり(S206:NO)、その場合は、S207の処理へと移行する。
S207の処理では、カウンタiに格納された値に基づいて、図3中に示したi番目の仮想デバイスの名称を変更する(S207)。このS207の処理により、変更後の仮想デバイス名は、使用頻度情報に基づいて決められる名前となり、具体的には、本実施形態の場合、図6に例示したような名称に変更される。なお、S207の名称変更処理の詳細については後述するが、本実施形態の場合、S207の処理により、上記S204の処理で付与されたランクが、最大ランク(=利用者が任意に設定する値;本実施形態の場合は3)以下である場合に仮想デバイス名が変更される。すなわち、図5に示した仮想デバイスの内、使用頻度が上位3位以内となる仮想デバイス(=ランク1〜3が付与された仮想デバイス)と、使用頻度とは無関係にランク0が付与された仮想デバイスについて、仮想デバイス名が変更されることになる。また、変更後の仮想デバイス名は、元の仮想デバイス名の先頭にランクが付加された名前に変更されることになる。
S207の処理を終えたら、PC1は、カウンタiに1を加えて(S208)、S206の処理へと戻る。これにより、S206〜S208のループ処理を、仮想デバイス数分だけ繰り返すことになる。そして、S206〜S208のループ処理を、仮想デバイス数分だけ繰り返した後、再びS206の処理へ戻ると、その時は、カウンタiの値が仮想デバイス数より大きくなる。したがって、S206の処理では肯定判断がなされることになり(S206:YES)、その場合は、すべての仮想デバイスに対する処理が終わったということになるので、S201の処理へと戻る。
以後は、再びS201〜S202のループ処理により、印刷が実行されたかどうか、仮想デバイスの追加または削除が行われたかどうかの監視を行うことになり、印刷が行われるたび、もしくは、仮想デバイスの追加または削除が行われるたびに、S203〜S208の処理が実行されることになる。
さて、以上説明したような仮想デバイス名変更処理が行われる結果、PC1に登録されている仮想デバイス名は、図6に示した通りに変更され、仮想デバイスを利用者に選択させる際には、図6に示した「変更後の仮想デバイス名」が表示されるようになる。
より具体的には、例えば、アプリケーションの印刷機能を利用する際、利用者が所定の操作を行うと、PC1の表示部15には、図7に示すような印刷ダイアログ51が表示される。この印刷ダイアログ51内には、使用する仮想デバイスを選択するためのリストボックス53が設けられている。印刷ダイアログ51が表示された最初の時点において、リストボックス53内には、その時点で選ばれている仮想デバイス名1つが表示されている。
ここで利用者が別の仮想デバイスを選択したい場合、利用者はポインティングデバイスを使ってリストボックス53の右端にあるマークをクリックする操作(または、当該操作と同等とみなされるキーボード操作等でもよい)を行う。すると、リストボックス53の近傍(例えば、リストボックス53の直下)には、図8に示すように、リスト55が表示される。
このリスト55内には、他の選択肢となる複数の仮想デバイス名が列挙される。このとき、リスト55内では、OSであるWindows(登録商標)の仕様により、仮想デバイス名が文字コード順に列挙されることになるが、図6に示したように、仮想デバイス名は、元の仮想デバイス名の先頭にランク(ランクの決め方の詳細は後述)が付加された名前に変更されている。そのため、図8に示したリスト55内において、ランクとして1〜3の順位が付加された仮想デバイス名については、使用頻度が高い順に列挙されることになる。
また、詳しくは後述するが、最近インストールされたばかりの仮想デバイスに関しては、ランクとして0が付加されるため、ランクとして1〜3の順位が付加された仮想デバイス名よりも上位に列挙されることになる。
なお、本実施形態において、変更後の仮想デバイスにランクとして付与される文字は、仮想デバイス名中で使われる文字よりも、文字コード順で上位となる文字が選ばれている。そのため、上記仮想デバイス名変更処理で変更されなかった仮想デバイス名は、リスト55内において、変更された仮想デバイス名よりも下位に列挙されることになる。
つまり、リスト55内においては、最近インストールされたばかりの仮想デバイス(=ランク0が付与された仮想デバイス)が最も上位に表示され、続いて、使用頻度が上位3位以内となる仮想デバイス(=ランク1〜3が付与された仮想デバイス)が使用頻度順に表示され、続いて、仮想デバイス名の変更がなされなかった仮想デバイスが、文字コード順に列挙されることになる。
[使用頻度情報更新処理(S203)の詳細]
次に、上記S203の使用頻度情報更新処理について、図9のフローチャートに基づいて説明する。
この処理を開始すると、PC1は、まず、使用頻度情報の初期化を行う(S901)。使用頻度情報は図5に例示したような情報であり、S901の処理では、この使用頻度情報をあらかじめすべて0でリセットする。
続いて、PC1は、カウンタjの値を0で初期化し(S902)、カウンタjに1を加え(S903)、カウンタjに格納された値がログの総数より大きいかどうかの判定を行う(S904)。ログは図4に例示したような情報であり、図4に例示したログの場合、ログの総数は8である。S904の処理においては、ログの総数が0でない限り、少なくとも1度は否定判断がなされることになり(S904:NO)、その場合はS905の処理へ移行することになる。
S905の処理へ移行した場合、PC1は、カウンタjに格納された値に基づいて、j番目のログの印刷時刻が規定範囲内であるかどうかの判定を行う(S905)。S905の処理において、規定範囲はあらかじめ利用者が設定しておくものであり、例えば、過去1ヶ月とか過去1週間といった期間を利用者が任意に設定する。本実施形態において、利用者が任意に設定した規定範囲は、例えば設定ファイル等に保存され、S905の処理では、事前に設定ファイルから読み取られた値を用いて判定が行われることになる。規定範囲が過去1週間と設定してある場合、S905の処理では、判定対象となっているj番目のログについて、印刷時刻が現時刻より過去1週間の範囲に入っているか否かの判定が行われる。そして、この判定の結果、規定範囲内でなかった場合は(S905:NO)、S903の処理へと戻り、一方、規定範囲内であった場合は(S905:YES)、S906の処理へと移行することになる。
さて、S906の処理へと進んだ場合、PC1は、変数kにj番目のログの仮想デバイス番号を代入する。例えば、図4に例示したログの場合、カウンタjの値が1の時は、1番目のログの仮想デバイス番号である2が、変数kに代入されることになる。その後、仮想デバイス番号kの仮想デバイスを対象にして、対象となる仮想デバイスの印刷回数に1を加えるとともに(S907)、対象となる仮想デバイスの印刷合計枚数にj番目のログの印刷枚数を加える(S908)。例えば、図4に例示したログの場合、カウンタjの値が1の時は、仮想デバイス番号2の仮想デバイスが対象となり、S907の処理では、対象となる仮想デバイスの印刷回数が1となり、S908の処理では、対象となる仮想デバイスの印刷合計枚数が10になる。
こうして、S906〜S908の処理を終えたら、S903の処理へと戻り、S904の処理で否定判断がなされる限り、S903〜S908のループ処理を繰り返すことになる。そして、このループ処理の中で、規定範囲内でないログ(例えば、最近1週間以内に記録されたログ以外のログ)は、S905の処理によって読み飛ばされる一方、規定範囲内のログについては、S906〜のS908の処理により、印刷回数と印刷合計枚数が累積されることになる。そして、すべてのログについて処理を終えると、カウンタjの値はログの総数を超えることになり、その結果、S904の処理で肯定判断がなされ(S904:YES)、使用頻度情報更新処理を終了することになる。
[ランク付け処理(S204)の詳細]
次に、上記S204のランク付け処理について、図10のフローチャートに基づいて説明する。
この処理を開始すると、PC1は、まずカウンタiを1で初期化する(S1001)。そして、カウンタiに格納された値が、インストールされている仮想デバイス数より大きいかどうかの確認を行う(S1002)。図3に示した仮想デバイスがPC1にインストールされている場合、仮想デバイス数は5である。S1002の処理では、仮想デバイス数が0でない限り、少なくとも1度は否定判断がなされることになり(S1002:NO)、その場合はS1003の処理へ移行することになる。
S1003の処理へ移行した場合、PC1は、カウンタiに格納された値に基づいて、図3中に示したi番目の仮想デバイスを対象にして、対象となる仮想デバイスをインストールした時刻が規定範囲内かを調べる(S1003)。S1003の処理において、規定範囲はあらかじめ利用者が設定しておくものであり、例えば、過去1ヶ月とか過去1週間といった期間を利用者が任意に設定する。本実施形態において、利用者が任意に設定した規定範囲は、例えば設定ファイル等に保存され、S1003の処理では、事前に設定ファイルから読み取られた値を用いて判定が行われることになる。規定範囲が過去1ヶ月と設定してある場合、S1003の処理では、判定対象となっているi番目の仮想デバイスについて、インストール時刻が現時刻より過去1ヶ月の範囲に入っているか否かの判定が行われる。
S1003の処理による判定の結果、インストール時刻が規定範囲内でなかった場合(S1003:NO)、PC1は、使用頻度よりランク付けを行う(S1004)。具体的には、本実施形態の場合、ランクとしては、使用頻度の順位に相当する数値を付与し、この順位は、上記S907の処理によって累積した印刷回数に基づいて、印刷回数が多いほど順位が上位になるものと決定する。また、印刷回数が同じ値となる仮想デバイスが複数ある場合には、さらに上記S908の処理によって累積した印刷合計枚数に基づいて、印刷合計枚数が多いほど順位が上位になるものと決定する。
一方、S1003の処理による判定の結果、インストール時刻が規定範囲内であった場合(S1003:YES)、ランクを一律に0と決定する(S1005)。すなわち、S1005の処理では、上記S1004の処理で最も上位のランクとなる1よりもさらに小さい値である0が、ランクとして付与されることになる。
こうしてS1004またはS1005いずれかの処理を終えたら、S1006の処理へと移行してカウンタiに1を加え(S1006)、S1002の処理へと戻り、S1002の処理で否定判断がなされる限り、S1002〜S1006のループ処理を繰り返すことになる。そして、すべての仮想デバイスについて処理を終えると、カウンタiの値は仮想デバイス数を超えることになり、その結果、S1002の処理で肯定判断がなされ(S1002:YES)、ランク付け処理を終了することになる。
以上説明したランク付け処理により、PC1内では、図5に示したようなランク付けが行われることになる。すなわち、図5中に示した仮想デバイス番号1〜5の仮想デバイスの内、インストール時刻が規定範囲内にない仮想デバイス番号1〜4の仮想デバイスについては、まず印刷回数に基づいてソートされ、印刷回数が多い方から順にランク1,2が付与される。また、印刷回数が同じになる仮想デバイス番号3,4の仮想デバイスについては、次に印刷合計枚数に基づいてソートされ、印刷合計枚数が多い方から順にランク3,4が付与される。さらに、インストール時刻が規定範囲内にある仮想デバイス番号5の仮想デバイスについては、印刷回数や印刷合計枚数とは無関係に、ランク0が付与される。こうして付与されたランクは、後から詳述する「仮想デバイスの名前を変更する処理」(上記S207)の中で参照されることになる。
[名称変更処理(S207)の詳細]
次に、名称変更処理(S207)について、図11のフローチャートに基づいて説明する。なお、この名称変更処理は、先に説明した仮想デバイス名変更処理(図2参照)の中にあるループ処理(S206〜S208)に含まれる処理である。そのため、以下に説明する名称変更処理の中ではカウンタiの値は変更されないものの、上述したS208の処理でカウンタiの値が変更されるので、カウンタiの値により、処理対象となる仮想デバイスが、図3に示した5つの仮想デバイスのいずれかとなる。そこで、以下の説明においては、必要に応じてカウンタiの値を例示しながら、名称変更処理の詳細について説明することにする。
この処理を開始すると、PC1は、まず、カウンタiの値に基づいて、図3中に示したi番目の仮想デバイスを対象にして、対象となる仮想デバイスの仮想デバイス名を元の仮想デバイス名で初期化する(S1101)。例えば、カウンタiに格納された値が2の場合、初期化後の仮想デバイス名は「YYYY4800CX」となる。
続いて、PC1は、i番目の仮想デバイスのランクが最大ランク以下であるか否かを判断し(S1102)、最大ランク以下である場合は(S1102:YES)、仮想デバイス名の前にランクを付加する一方(S1103)、最大ランク以下でない場合は(S1102:NO)、S1103の処理をスキップする。
S1102の処理において、最大ランクとはあらかじめ利用者が任意に設定しておく数値であり、例えば、使用頻度上位3位以内となる仮想デバイスを対象にしてランクを付加したい場合には、最大ランクとして3が設定される。本実施形態において、利用者が最大ランクとして任意に設定した数値は、例えば設定ファイル等に保存され、S1102の処理では、事前に設定ファイルから読み取られた値を用いて判定が行われることになる。以下、最大ランクとして3が設定されている場合を例にして説明を続ける。
S1102〜S1103の処理では、カウンタiの値により、次のように処理が変わる。例えば、カウンタiの値が1である場合、S1102の処理では、図5に示した仮想デバイス番号1の仮想デバイスが処理対象となる。仮想デバイス番号1の仮想デバイスは、既に説明したランク付け処理(図2中のS204、詳しくは図10参照)により、ランク4が付与されていて、この値は最大ランク3よりも大きいので、S1102の処理では否定判断がなされることになる。そのため、S1103の処理はスキップされることになり、仮想デバイス番号1の仮想デバイス名は、図6に示した「XXXX1500Printer」のまま変更されず、換言すれば、元の仮想デバイス名と変更後の仮想デバイス名は同一になる。
一方、カウンタiの値が2である場合、S1102の処理では、図5に示した仮想デバイス番号2の仮想デバイスが処理対象となる。仮想デバイス番号2の仮想デバイスは、既に説明したランク付け処理(図2中のS204、詳しくは図10参照)により、ランク1が付与されていて、この値は最大ランク3よりも小さいので、S1102の処理では肯定判断がなされることになる。そのため、S1103の処理において、仮想デバイス番号2の仮想デバイス名は、図6に示した「YYYY4800CX」の前にランク1が付加されて、「1.YYYY4800CX」に変更されることになる。
以下、カウンタiの値が3〜5の場合も、カウンタiの値が2である場合と同様、S1103の処理は実行されることになり、それぞれに仮想デバイス名の前にランクが付加されることになる。
つまり、各仮想デバイスのランクが、利用者の設定した最大ランク以内に入っている仮想デバイスに対してのみ、仮想デバイス名の先頭にランクが付加されることになる。このように一部の仮想デバイスに対しては、仮想デバイス名の先頭にランクを付加する一方、残りの仮想デバイスについては、仮想デバイス名を変更しないのは、次のような理由による。
例えば、20個の仮想デバイスがインストールされていることを想定した場合、よく使っている仮想デバイスは上位に列挙されるので、簡単に探すことが出来る。しかし、20個全てが使用頻度順に並んでしまうと、下位側に列挙された仮想デバイスは、あまり意味のない使用頻度順に列挙されてしまうため、元の名前順に整列させてある場合より、かえって探しづらくなるおそれがある。すなわち、あまり使わない仮想デバイスに関しては、通常通り名前順に並んでいたほうが都合がいい場合がある。
そこで、上記処理では、上記のようにランク付けの対象とすべき最大ランクをあらかじめ利用者が任意に設定しておくことで、ランク付けの対象となった仮想デバイスについてはランク順に列挙され、ランク付けの対象とならなかった仮想デバイスについては元の名前順に列挙されるようにしている。こうすれば、使用頻度が高いもの低いもの双方とも、利用者にとって探しやすい順序で列挙されるようになるのである。
さて、こうしてS1102〜S1103の処理を終えたら、続いて、PC1は、i番目の仮想デバイスについて、ランクが0か否かを判断し(S1104)、ランクが0であった場合は(S1104:YES)、仮想デバイス名の後に最近インストールされたことを示す文字列「New」を付加して(S1105)、名称変更処理処理を終了する。一方、ランクが0でなかった場合は(S1104:NO)、S1105の処理をスキップして、そのまま名称変更処理処理を終了する。
S1104〜S1105の処理も、カウンタiの値により、次のように処理が変わる。例えば、カウンタiの値が1である場合、S1104の処理では、図5に示した仮想デバイス番号1の仮想デバイスが処理対象となる。仮想デバイス番号1の仮想デバイスは、既に説明したランク付け処理(図2中のS204、詳しくは図10参照)により、ランク4が付与されているので、S1104の処理では否定判断がなされることになる。そのため、S1105の処理はスキップされることになり、仮想デバイス番号1の仮想デバイス名の後に文字列「New」が付加されることはない。
以下、カウンタiの値が2〜4の場合も、カウンタiの値が1である場合と同様、S1105の処理はスキップされることになり、各仮想デバイスとも、仮想デバイス名の後に文字列「New」が付加されることはない。
一方、カウンタiの値が5である場合、S1104の処理では、図5に示した仮想デバイス番号5の仮想デバイスが処理対象となる。仮想デバイス番号5の仮想デバイスは、既に説明したランク付け処理(図2中のS204、詳しくは図10参照)により、ランク0が付与されているので、S1104の処理では肯定判断がなされることになる。そのため、S1105の処理において、仮想デバイス番号5の仮想デバイス名の後には文字列「New」が付加される。その結果、仮想デバイス番号5の仮想デバイス名は、S1103の処理により、図6に示した「YYYY4900CX」の前にランク0が付加されて、「0.YYYY4900CX」に変更されることになり、さらに、S1105の処理により、「0.YYYY4900CX」の後に文字列「New」が付加されて、最終的には、「0.YYYY4900CX−New」に変更されることになる。
[効果]
以上説明したように、上記PC1においては、上記名称変更処理を実行することにより、PC1に登録された仮想デバイスの使用頻度に応じて仮想デバイス名が変更されるので、選択肢として表示される仮想デバイスの数が多い場合でも、利用者は、変更後の仮想デバイス名を見るだけで、使用頻度の高い仮想デバイスがどれなのかを簡単に見分けることができる。
したがって、例えば、変更前の仮想デバイス名について、利用者が頻繁に利用する仮想デバイスに類似した仮想デバイス名が多数登録されていたとしても、変更後の仮想デバイス名を見れば、利用者は頻繁に利用する仮想デバイスを容易に選択でき、利用者が選択で迷ったり選択を誤ったりすることがなくなる。図6に示した例でいえば、仮想デバイス名として「XXXX1500Printer」と「XXXX1500Printer(コピー2)」が表示された場合、両者は非常に似ている。そのため、利用者が明確に仮想デバイス名を覚えていないと、どちらの使用頻度が高いのかを判別できなくなりやすい。しかし、仮想デバイス名の変更後は、「XXXX1500Printer(コピー2)」の方が「2.XXXX1500Printer(コピー2)」に変更されるので、変更後の仮想デバイス名を見れば、利用者は頻繁に利用する仮想デバイスを容易に選択でき、利用者が選択で迷ったり選択を誤ったりすることがなくなる。
しかも、上記PC1においては、使用頻度の順位を表す文字列(数字)が仮想デバイス名の一部として表示されるので、利用者は使用頻度の順位を表す文字列を見て、使用頻度の高い仮想デバイスを容易に選ぶことができ、特に、使用頻度の順位を表す文字列を仮想デバイス名の前に付加しているので、複数の仮想デバイス名が表示された際、使用頻度が高いものほど仮想デバイス名を表示する際の表示順が上位となり、この点でも、利用者は使用頻度の高い仮想デバイスをより一層容易に選ぶことができる。
また、上記PC1においては、上記S1102の処理により、使用頻度が高い上位3つ分の仮想デバイスと、新たにインストールされた仮想デバイスについてだけ、仮想デバイス名が変更されるので、使用頻度が高い仮想デバイスについては有益な仮想デバイス名の変更を行なうことができ、使用頻度が低い高い仮想デバイスについては無益な仮想デバイス名の変更を行わないようにすることができる。しかも、上位いくつ分の仮想デバイスの名前を変更するかについては、利用者が任意に設定できるので、利用者にとって必要な数だけ仮想デバイス名を変更することができる。
また、上記PC1においては、上記S905の処理により、利用者が指定した最新の所定期間内に記録された情報に基づいて、仮想デバイスの使用頻度が決定されるので、過去に使用頻度が高かったものの、その後、使用頻度が低くなった仮想デバイスが混在している場合に、そのような仮想デバイスを使用頻度が低いものとして扱うことができる。
また、上記PC1においては、上記S1104,S1105の処理により、インストールされたばかりの新規仮想デバイスに対して、新規仮想デバイスであることを表す識別用文字列「New」を、仮想デバイス名の後に付加するので、利用者は、識別用文字列を見て新規仮想デバイスを容易に選ぶことができる。しかも、新規仮想デバイスか否かを判断する際には、上記S1003の処理により、利用者が任意に指定した長さの期間内にインストールされたものを新規仮想デバイスであると判断するので、新規仮想デバイスとして扱うことにする期間を、利用者が任意に設定できる。
また、上記PC1においては、上記S1003〜S1005、およびS1102〜S1103の処理により、新規仮想デバイス以外の仮想デバイスについては、使用頻度の順位を表す文字列を、仮想デバイス名の前に付加する一方、新規仮想デバイスについては、使用頻度の順位を表す文字列よりも文字コード順で上位に表示されることになる文字列「0」を、仮想デバイス名の前に付加している。したがって、PC1が仮想デバイス名を文字コード順に整列させて表示した際には、新規仮想デバイスが使用頻度の高い仮想デバイスよりも上位に表示されるので、利用者は、新規仮想デバイスを容易に選ぶことができる。
さらに、上記PC1においては、上記S201の処理により、仮想デバイスを利用した印刷が行われた場合に、名称変更処理が実行されるので、仮想デバイス名を最新の使用頻度を反映したものに変更することができる。
また、上記PC1においては、上記S202の処理により、新たな仮想デバイスがインストールされた場合にも、名称変更処理が実行されるので、新たな仮想デバイスがインストールされた場合に、利用者は新たな仮想デバイスを容易に選ぶことができる。
また、上記PC1においては、上記S202の処理により、仮想デバイスがアンインストールされた場合にも、名称変更処理が実行され、使用頻度の順位が最新の順位に変更されるので、利用者は、最新の順位に基づいて、仮想デバイスを選ぶことができる。
[変形例等]
以上、本発明の実施形態について説明したが、本発明は上記の具体的な一実施形態に限定されず、この他にも種々の形態で実施することができる。
例えば、上記実施形態においては、新規インストールされた仮想デバイスについても、仮想デバイス名を変更するように構成してあったが、新規インストールか否かについては判断せず、使用頻度のみに基づいて仮想デバイス名を変更するように構成してもよい。
また、上記実施形態においては、使用頻度上位いくつまで仮想デバイス名を変更するか、どの程度の期間を新規インストールと判定するための期間とするか、およびどの程度の期間を使用頻度の順位を判定するための期間とするかについて、すべて利用者が任意に設定できる旨を説明したが、これらは、利用者が任意には変更できない値ないし期間があらかじめ設定されていてもよい。ただし、利用者が任意に設定できる方が自由度は高く、利用者の好みや環境に応じた調節ができるので好ましい。
また、上記実施形態では、どの仮想デバイス名を変更対象とするかについて、利用者が任意に数を設定することにより、使用頻度上位いくつまで仮想デバイス名を変更するかが設定される例を示したが、数を設定する以外の方法でも、一部の仮想デバイス名のみを変更対処として選出することができる。例えば、過去一定期間内(例えば、最近2ヶ月以内)に一度でも使用実績がある仮想デバイスについては、仮想デバイス名の変更対象にする一方、一度も使用実績がない仮想デバイスについては、仮想デバイス名の変更対象にしない、といった方法をとってもよい。この場合、変更対象となる仮想デバイス名の数は、上記実施形態とは異なり不定となるが、頻繁に使用される仮想デバイスの数が定かではない場合には、利用者が数を設定しなくても、頻繁に使用される仮想デバイスを選出してランク付けを行うことができる。
また、上記実施形態においては、使用頻度の順位を表す文字列として数字を用いるとともに、新規インストールされた仮想デバイスには、使用頻度の順位を表す文字列よりも小さい値となる「0」を付与するようにしていたが、仮想デバイス名に付加する文字列は、これらに限らない。一例としては、「A,B,C…」といった文字列を付加することにより、使用頻度の順位を表すようにしてもよい。また、10以上の仮想デバイスに対して使用頻度のランクを付けるのであれば、「01,02,03,…,10,…」のように、二桁分の文字列を付加してもよい。この場合、新規インストールされた仮想デバイスには、使用頻度の順位を表す文字列よりも小さい値となる「00」を付与するようにすれば、上記実施形態と同様な順序で、仮想デバイス名を列挙することができる。
さらに、上記実施形態においては、規定範囲内(例えば、最近1週間以内)の印刷回数を求めて使用頻度のランク付けを行うとともに、印刷回数が同じである場合に印刷合計枚数に基づいてランク付けを行っていたが、印刷回数によるランク付けを行わずに、印刷合計枚数のみに基づいてランク付けを行うようにしてもよい。
本発明の実施形態として例示した仮想デバイス名変更処理を実行するPCと、プリンタとを備えてなるシステムのハードウェア構成を示すブロック図。 仮想デバイス名変更処理のフローチャート。 仮想デバイス名とインストール日時を例示した説明図。 プリンタの使用状況に関する情報(ログ)を例示した説明図。 使用頻度の判定に用いる情報とその情報に基づいて判定されたランクを例示した説明図。 元の仮想デバイス名と変更後の仮想デバイス名を例示した説明図。 印刷ダイアログを例示した説明図。 印刷ダイアログ中のリストボックスを展開した状態を例示した説明図。 使用頻度情報更新処理のフローチャート。 ランク付け処理のフローチャート。 名称変更処理のフローチャート。
符号の説明
1・・・パーソナルコンピュータ(PC)、2,3・・・プリンタ、4・・・プリンタケーブル、5・・・LANケーブル、10,20,30・・・CPU、11,21,31・・・ROM、12,22,32・・・RAM、13,23,33・・・ハードディスク装置(HDD)、14・・・操作部、15・・・表示部、16,26,36・・・プリンタポートインターフェース(プリンタポートI/F)、17,27,37・・・LANインターフェース(LAN I/F)、24,34・・・操作キー、25,35・・・表示パネル、28,38・・・不揮発性RAM、29,39・・・印字部、51・・・印刷ダイアログ、53・・・リストボックス、55・・・リスト。

Claims (16)

  1. 通信可能なプリンタが仮想デバイスとして登録されており、複数の仮想デバイス名を表示して、その中の1つを利用者に任意に選択させることにより、複数の前記仮想デバイスの中から印刷データの送信先となる前記仮想デバイスを選択可能で、選択された前記仮想デバイスに対して印刷データを送信することにより、前記仮想デバイスに対応するプリンタへ前記印刷データを送信可能な情報処理装置に、
    複数の前記仮想デバイスの使用頻度を記録する使用頻度記録工程と、
    前記使用頻度記録工程によって記録された複数の前記仮想デバイスの使用頻度に基づいて、複数の前記仮想デバイス名の中から選ばれる少なくとも1つの仮想デバイス名を、前記使用頻度に応じて決まる仮想デバイス名に変更する仮想デバイス名変更工程と
    を実行させるための仮想デバイス名変更プログラム。
  2. 前記仮想デバイス名変更工程は、前記使用頻度の順位を表す文字列を、前記仮想デバイス名に対して付加する工程である
    ことを特徴とする請求項1に記載の仮想デバイス名変更プログラム。
  3. 前記情報処理装置は、複数の前記仮想デバイス名を表示する際に、複数の前記仮想デバイス名を文字コード順に整列させて表示するように構成されており、
    前記仮想デバイス名変更工程は、前記使用頻度の順位を表す文字列を、前記仮想デバイス名の前に付加する工程である
    ことを特徴とする請求項2に記載の仮想デバイス名変更プログラム。
  4. 前記仮想デバイス名変更工程は、前記使用頻度の順位が高い方から所定数分だけ選ばれる前記仮想デバイスを仮想デバイス名の変更対象として、前記仮想デバイス名を変更する工程である
    ことを特徴とする請求項1〜請求項3のいずれかに記載の仮想デバイス名変更プログラム。
  5. 前記仮想デバイス名変更工程は、前記使用頻度の順位が高い方から利用者が任意に指定した数分だけ選ばれる前記仮想デバイスを仮想デバイス名の変更対象として、前記仮想デバイス名を変更する工程である
    ことを特徴とする請求項4に記載の仮想デバイス名変更プログラム。
  6. 前記使用頻度記録工程は、
    複数の前記仮想デバイスそれぞれを利用した印刷が実行される毎に、印刷実行を示す情報を印刷履歴として記録する印刷履歴記録工程を有し、
    前記印刷履歴記録工程によって記録された印刷履歴の内、最新の所定期間内に記録された情報に基づいて、複数の前記仮想デバイスそれぞれの使用頻度を決定して、該使用頻度を記録する工程である
    ことを特徴とする請求項1〜請求項5のいずれかに記載の仮想デバイス名変更プログラム。
  7. 前記使用頻度記録工程において、前記最新の所定期間は、利用者が任意に指定した長さの期間である
    ことを特徴とする請求項6に記載の仮想デバイス名変更プログラム。
  8. 前記仮想デバイス名変更工程は、
    インストールされたばかりの新規仮想デバイスか否かを判断する判断工程を有し、
    前記判断工程によって前記新規仮想デバイスであると判断された場合に、前記新規仮想デバイスであることを表す識別用文字列を、前記仮想デバイス名に対して付加する工程である
    ことを特徴とする請求項1〜請求項7のいずれかに記載の仮想デバイス名変更プログラム。
  9. 前記仮想デバイス名変更工程は、前記新規仮想デバイスであることを表す識別用文字列を、前記仮想デバイス名の後に付加する工程である
    ことを特徴とする請求項8に記載の仮想デバイス名変更プログラム。
  10. 前記判断工程は、前記仮想デバイスがインストールされてから経過した期間が所定の期間よりも短いか否かに基づいて、インストールされたばかりの新規仮想デバイスか否かを判断する工程である
    ことを特徴とする請求項8または請求項9に記載の仮想デバイス名変更プログラム。
  11. 前記判断工程において、前記所定の期間は、利用者が任意に指定した長さの期間である
    ことを特徴とする請求項10に記載の仮想デバイス名変更プログラム。
  12. 前記情報処理装置は、複数の前記仮想デバイス名を表示する際に、複数の前記仮想デバイス名を文字コード順に整列させて表示するように構成されており、
    前記仮想デバイス名変更工程は、前記新規仮想デバイス以外の前記仮想デバイスについては、前記使用頻度の順位を表す文字列を、前記仮想デバイス名の前に付加する一方、前記新規仮想デバイスについては、前記使用頻度の順位を表す文字列よりも文字コード順で上位に表示されることになる文字列を、前記仮想デバイス名の前に付加する工程である
    ことを特徴とする請求項8〜請求項11のいずれかに記載の仮想デバイス名変更プログラム。
  13. 前記仮想デバイス名変更工程は、前記新規仮想デバイス以外の前記仮想デバイスについては、前記使用頻度の順位を表す所定桁数の数字を、前記仮想デバイス名の前に付加する一方、前記新規仮想デバイスについては、所定桁数分だけ「0」が並ぶ文字列を、前記仮想デバイス名の前に付加する工程である
    ことを特徴とする請求項12に記載の仮想デバイス名変更プログラム。
  14. 前記仮想デバイス名変更工程は、前記仮想デバイスを利用した印刷が行われた場合に実行される工程である
    ことを特徴とする請求項1〜請求項13のいずれかに記載の仮想デバイス名変更プログラム。
  15. 前記仮想デバイス名変更工程は、新たな前記仮想デバイスがインストールされた場合に実行される工程である
    ことを特徴とする請求項1〜請求項14のいずれかに記載の仮想デバイス名変更プログラム。
  16. 前記仮想デバイス名変更工程は、前記仮想デバイスがアンインストールされた場合に実行される工程である
    ことを特徴とする請求項1〜請求項15のいずれかに記載の仮想デバイス名変更プログラム。
JP2006021201A 2006-01-30 2006-01-30 仮想デバイス名変更プログラム Expired - Fee Related JP4337824B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006021201A JP4337824B2 (ja) 2006-01-30 2006-01-30 仮想デバイス名変更プログラム
US11/668,213 US8020175B2 (en) 2006-01-30 2007-01-29 Data processing device for renaming virtual device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006021201A JP4337824B2 (ja) 2006-01-30 2006-01-30 仮想デバイス名変更プログラム

Publications (2)

Publication Number Publication Date
JP2007200253A JP2007200253A (ja) 2007-08-09
JP4337824B2 true JP4337824B2 (ja) 2009-09-30

Family

ID=38321793

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006021201A Expired - Fee Related JP4337824B2 (ja) 2006-01-30 2006-01-30 仮想デバイス名変更プログラム

Country Status (2)

Country Link
US (1) US8020175B2 (ja)
JP (1) JP4337824B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4916729B2 (ja) 2006-01-30 2012-04-18 ブラザー工業株式会社 仮想デバイス名変更プログラム
JP4696938B2 (ja) 2006-01-30 2011-06-08 ブラザー工業株式会社 仮想デバイス名変更プログラム
FR2939553B1 (fr) * 2008-12-10 2011-01-14 Somfy Sas Procede d'apprentissage d'un dispositif de commande d'equipements domotiques d'un batiment
JP5724673B2 (ja) * 2011-06-24 2015-05-27 ブラザー工業株式会社 情報処理プログラム、情報処理装置および情報処理装置の制御方法
JP5648758B1 (ja) * 2014-01-29 2015-01-07 富士ゼロックス株式会社 印刷指示支援装置、印刷システム及びプログラム
JP6355395B2 (ja) * 2014-04-10 2018-07-11 キヤノン株式会社 情報処理装置、情報処理装置の制御方法及びプログラム
JP7374623B2 (ja) * 2019-06-20 2023-11-07 キヤノン株式会社 情報処理装置、情報処理装置の制御方法
US10644786B1 (en) * 2019-12-12 2020-05-05 Cabin Management Solutions, Llc. Plug-and-play vehicle communication system and method
US10644789B1 (en) 2019-12-12 2020-05-05 Cabin Management Solutions, Llc. Vehicle communication system and method

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2938104B2 (ja) 1989-11-08 1999-08-23 株式会社日立製作所 共有資源管理法方および情報処理システム
US5845078A (en) 1992-04-16 1998-12-01 Hitachi, Ltd. Network integrated construction system, method of installing network connection machines, and method of setting network parameters
JP3332443B2 (ja) 1993-01-18 2002-10-07 キヤノン株式会社 情報処理装置および情報処理方法
JP3792733B2 (ja) 1993-01-18 2006-07-05 キヤノン株式会社 サーバー装置および制御方法
JP3208963B2 (ja) 1993-10-27 2001-09-17 富士ゼロックス株式会社 プリント指示システムおよびその方法
JP3484816B2 (ja) 1995-04-04 2004-01-06 富士ゼロックス株式会社 印刷指示装置
JP3560081B2 (ja) 1995-06-16 2004-09-02 富士ゼロックス株式会社 プリンタ制御装置及びプリンタ制御方法
US6184998B1 (en) * 1997-09-15 2001-02-06 Canon Kabushiki Kaisha Adding printing to the windows registry
US6473811B1 (en) 1998-03-13 2002-10-29 Canon Kabushiki Kaisha Method and apparatus for displaying a connection status of a device based on connection information
JP2000076032A (ja) 1998-08-31 2000-03-14 Ricoh Co Ltd 状態アクセスシステム
JP2000293336A (ja) 1999-04-07 2000-10-20 Canon Inc 印刷装置状態表示制御装置並びに印刷装置状態表示制御装置の制御方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JP3706279B2 (ja) 1999-08-19 2005-10-12 株式会社沖データ ネットワーク印刷システム、クライアント装置、印刷装置及びネットワーク印刷制御方法
US6798530B1 (en) 1999-12-07 2004-09-28 Xerox Corporation Systems, methods and graphical user interfaces for printing object optimized images using virtual printers
JP4007746B2 (ja) 2000-03-31 2007-11-14 シャープ株式会社 周辺機器設定装置、周辺機器設定方法、および周辺機器設定プログラムを記録したコンピュータ読取可能な記録媒体
JP3785898B2 (ja) 2000-04-27 2006-06-14 セイコーエプソン株式会社 コンピュータ読取可能な記録媒体
JP3937778B2 (ja) 2001-09-14 2007-06-27 キヤノン株式会社 情報処理装置及び方法
JP2003131839A (ja) 2001-10-29 2003-05-09 Canon Inc ネットワークシステム、情報処理装置、情報処理方法、及び、制御プログラム
JP2003271286A (ja) 2002-03-12 2003-09-26 Ricoh Co Ltd プリンタドライバ及びプリンタドライバを記録した記録媒体
US20040227973A1 (en) * 2002-04-04 2004-11-18 Taylor Jarrett D. System and method for distributing printer properties on a computer network
JP3862588B2 (ja) 2002-04-11 2006-12-27 キヤノン株式会社 通信装置及びその制御方法
EP1398694B1 (en) * 2002-07-26 2013-09-11 Canon Kabushiki Kaisha Information processing method
JP2004110127A (ja) 2002-09-13 2004-04-08 Fuji Xerox Co Ltd プリンタアイコン生成装置、プリンタアイコン生成方法及びプログラム
US7039873B2 (en) 2003-05-12 2006-05-02 Flashpoint Technology, Inc. User-defined templates for automatic image naming
JP4018609B2 (ja) 2003-09-10 2007-12-05 キヤノン株式会社 情報処理装置、情報処理方法および情報処理プログラム並びにコンピュータ読み取り可能な記憶媒体
JP2005267544A (ja) 2004-03-22 2005-09-29 Fuji Xerox Co Ltd プリンタ管理方法および装置並びにプログラム
JP4011045B2 (ja) 2004-06-25 2007-11-21 キヤノンマーケティングジャパン株式会社 印刷制御装置および印刷制御方法およびプログラムおよび記録媒体
JP4867184B2 (ja) * 2005-03-24 2012-02-01 富士ゼロックス株式会社 処理態様指定情報変換プログラム及び処理態様指定情報変換方法
US7962917B2 (en) * 2005-03-10 2011-06-14 Microsoft Corporation System data interfaces, related architectures, print system data interfaces and related print system architectures
JP4696938B2 (ja) 2006-01-30 2011-06-08 ブラザー工業株式会社 仮想デバイス名変更プログラム
JP4916729B2 (ja) 2006-01-30 2012-04-18 ブラザー工業株式会社 仮想デバイス名変更プログラム

Also Published As

Publication number Publication date
US20070177202A1 (en) 2007-08-02
JP2007200253A (ja) 2007-08-09
US8020175B2 (en) 2011-09-13

Similar Documents

Publication Publication Date Title
JP4337824B2 (ja) 仮想デバイス名変更プログラム
JP4916729B2 (ja) 仮想デバイス名変更プログラム
JP5460200B2 (ja) 印刷制御装置、印刷制御方法、及びコンピュータプログラム
JP4930811B2 (ja) 印刷制御プログラム、監視プログラム、及び印刷制御方法
JP4696938B2 (ja) 仮想デバイス名変更プログラム
JP5321929B2 (ja) ユニバーサルデバイスドライバ、デバイス制御プログラム、情報処理装置、サーバ装置、及び、方法
JP2009048299A (ja) 印刷システム、プログラム及びプリンタ
JP2016045789A (ja) プリンタードライバー、設定提示方法及び設定提示装置
JP4867184B2 (ja) 処理態様指定情報変換プログラム及び処理態様指定情報変換方法
JP2005205755A (ja) 画像形成システム、印刷装置、端末装置及び再印刷決定プログラム
JP2006252191A (ja) 画像形成装置
JP5392201B2 (ja) ユニバーサルドライバ、及びデバイス制御方法
JP6379858B2 (ja) プリンタードライバー、設定受付方法及び設定受付装置
JP5262567B2 (ja) 宛先管理装置、送信指示装置、送信装置、宛先管理プログラム、送信指示プログラム及び送信プログラム
JP2009151561A (ja) 電子割符処理に伴うファイル管理方法、ファイル管理装置、可搬型記憶媒体
JP5215802B2 (ja) 印刷装置
JP2010149392A (ja) 画像形成装置及びプログラム
JP2009214452A (ja) 印刷装置
EP1846813B1 (en) Print control device, information processing device, method of print control device, method of information processing device and computer program
US20210081155A1 (en) Information processing method, printing method and non-temporary recording medium
KR20070079748A (ko) 재인쇄 기능을 갖는 프린터 및 그 제어 방법
JP2007122473A (ja) 文書管理システム、および文書管理システム用プログラム
JP2007268908A (ja) 周辺装置および周辺装置設定方法
JP2005216142A (ja) 情報送信プログラム、コンピュータ、および情報送信システム
JP2005219260A (ja) 印刷装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090529

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090609

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090622

R150 Certificate of patent or registration of utility model

Ref document number: 4337824

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120710

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120710

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130710

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees