(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0010】
以下、実施形態について、図面を参照しながら詳細に説明する。
【0011】
(第1の実施形態)
図1は、第1の実施形態のプリンタシステムの構成を示すブロック図である。
【0012】
プリンタシステム100は、PC(パーソナルコンピュータ)10と、プリンタ20とを有している。PC10は、印刷要求元のホスト側装置である。プリンタ20は、周辺機器(デバイス)である。PC10とプリンタ20は、USB(Universal Serial Bus)ケーブル30を介して互いに接続されている。
【0013】
図2は、
図1に示すプリンタシステム100におけるPC10およびプリンタ20を概略的な構成を例示している。
【0014】
図2に示すように、制御装置としてのPC10は、演算処理の中枢をなすCPU101がバスライン10aを介してPC10全体を制御する。バスライン10aには、ROM(Read Only Memory)102、RAM(Random Access Memory)103、各種インターフェイス(I/F)104a〜104c、ハードディスクドライブ(HDD)105等が接続されている。
【0015】
HDD105にはオペレーティングシステム(OS)151が格納されている。またHDD105には、プリンタドライバ(PD)152やアプリケーションプログラム等、各種プログラムが格納されている。これら各種プログラムは、CPU101によって適宜RAM103に転送され実行される。
【0016】
なお、各種プログラムが格納される記録装置は、必ずしも磁気的なHDDでなくてもよい。他の記憶装置には、光学的な例として例えばDVD(Digital Versatile Disc)、また電気的な例としてSSD(Solid State Device)等が考えられる。
【0017】
インターフェイス104aには、画像データに基づいて画像を表示するディスプレイ106が接続されている。インターフェイス104bにはキーボード107やマウス108等の入力装置が接続されている。インターフェイス104cは、USBインターフェイスである。インターフェイス104cは、USBケーブル30を介してプリンタ20と接続されている。
【0018】
また、プリンタ20は、PC10によって制御される印刷装置である。PC10は、プリンタ20を印刷動作可能な状態とするためのセットアップを実行する。プリンタ20では、インターフェイス201、操作パネル202、プリンタコントローラ203等がバスライン20aを介して接続されている。プリンタコントローラ203は、CPU231、ROM232、RAM233等を備えている。
【0019】
インターフェイス201は、USBインターフェイスであり、USBケーブル30を介してPC10と接続される。操作パネル202は、液晶ディスプレイ、タッチパネル、LED、各種ボタン等からなり、ユーザーによる入力を受け付けたり、ユーザーに対する情報提示したりする。
【0020】
プリンタコントローラ203では、CPU231が、適宜RAM233をワークエリアとして使用してROM232に記憶された所定のファームウェアに従った処理を実行することにより、プリンタ20全体を制御する。
【0021】
プリンタ20は、印刷処理を実行する場合に、プリンタコントローラ203によって駆動制御されるプリンタエンジン204を備えている。プリンタエンジン204は、プリンタ20がインクジェット方式であった場合には、インク滴を吐出するための印字ヘッド、印字ヘッドを主走査させるためのキャリッジ、用紙を搬送するための紙送り機構等を有する。
【0022】
プリンタ20は、プリンタコントローラ203とは別に、例えば、印刷対象画像を表現する画像データに対する画像処理を行なうためのASIC等を搭載しているとしてもよい。なお、プリンタ20としては、インクジェット方式の他に、ページプリンタであってもよいし、ラインヘッド方式のプリンタであってもよい。
【0023】
図3は、PC10およびプリンタ20それぞれで実現されるプログラム機能を示すブロック図である。
【0024】
PC10では、CPU101がオペレーティングシステム151上でセットアッププログラム31、PnP(Plug and Play)実行モジュール32、通信モジュール33を実現する。
【0025】
プリンタ20では、CPU231が、PnP制御モジュール34、PnP実行モジュール35、通信モジュール36を実現する。通信モジュール33および通信モジュール36は、USBドライバであり、インターフェイス104cとインターフェイス21とがUSBケーブル30で接続されたPC10とプリンタ20と間において、USB通信を実現する。
【0026】
PnP実行モジュール32、PnP実行モジュール35は、それぞれ、PC10とプリンタ20間がUSBケーブル30で接続されてUSB通信可能な状態となったときに、これを契機としてセットアップのために必要な所定の通信処理を自動的に開始可能な機能、つまり、プラグアンドプレイを実行する機能である。
【0027】
セットアッププログラム31、PnP制御モジュール34は、プラグアンドプレイの禁止・禁止解除をコントロールする機能を備えている。
【0028】
また、セットアッププログラム31は、各ガイド画面をユーザーに提供する機能等も備えている。
【0029】
ところで、例えば、プリンタシステム100が、ホスト側であるPC10とこのPC10に接続されたプリンタ20により、既に構築された状態である、とする。このプリンタシステム100で使用しているプリンタと同メーカーから後継機のプリンタが発売された場合に、プンリタだけを後継機にし、あとのシステムはそのままにしたい、との要望がある。
【0030】
しかし、単純に後継のプリンタに換えた場合には、プラグアンドプレイによって自動的に新たなプリンタドライバがセットアップされてしまう。このため、プリンタドライバは、後継機のプリンタとの置き換えする場合には不可欠となる。同メーカーの場合の後継機のプリンタドライバのコマンドは、仕様が同じ部分については、前の機種の同コマンドに対応している。
【0031】
そこで、第1の実施形態では、プラグアンドプレイのデバイスIDを、任意のデバイスIDに指定することによって、PC10のオペレーティングシステム151が交換前の同メーカーのプリンタと同じであると認識するようにした。
【0032】
図4は、第1実施形態の処理動作について説明するためのフローチャートを示す。フローチャートは、これまで使用していたA社のa1という機種のプリンタを、同じくA社のa2という後継機の機種のプリンタに置き換えた場合における処理を示している。なお、プリンタ20は、両機種a1,a2ともに、USBケーブル30を介して先端に取着されたUSBプラグを、PC10側のインターフェイス104cのUSBポートに差すことにより接続される。
【0033】
まず、PC10からプラグアンドプレイの処理の過程で、プリンタ20に対してこれまで使用している機種a1から交換があったかを確認する(ACT11)。
【0034】
ACT11において、プリンタの交換がなければ(No)、このルーチンの処理を終了する。プリンタの交換があれば(Yes)、ACT12に移行し、同メーカー後継機かの確認をする。なお、プリンタが同メーカーの後継機か否かについては、予めHDD105に記憶された、例えばプリンタのメーカーを示すコードを比較することによって確認可能である。
【0035】
ACT12において、交換前の機種a1と同メーカーのプリンタでないと判断した場合(No)は、このルーチンの処理を終了する。交換前の機種a1と同メーカーの後継機の機種a2と判断した場合(Yes)は、ACT13に移行する。
【0036】
ACT13では、交換した機種a2のプリンタ仕様を、交換前の仕様と同じにするか、後継機の仕様にするかを確認する。すなわち、後継機のプリンタの機種a2のバージョンの機能をそのまま使用するか、交換前のプリンタの機種a1の旧バージョンの機能のまま使用するかを選択する。
【0037】
ここで選択情報としては、例えばプリンタ20の操作パネル202の液晶ディスプレイに表示し、ユーザーに選択を促す。例えば、
図5の入力例に示すように、デフォルトのデバイスID、または任意のデバイスIDにするかを、操作パネル202にあるディスプレイ上に表示する。
【0038】
ACT13において、機種a2の仕様に対応したプリンタに変更した場合(Yes)は、ACT14に移行し、機種a2のプリンタのプリンタドライバのインストールを行い、インストール後に処理を終了する。
【0039】
ACT13において、機種a2のプリンタの仕様に変更しない場合(No)は、ACT15に移行し、交換前の機種a1のデフォルトのデバイスIDを呼び出し、デバイスIDを操作パネル202上で設定する。
【0040】
CPU101は、選択されたデバイスIDが、インストール済みのプリンタドライバかを判断する(ACT16)。
【0041】
ACT16において、入力されたデバイスIDが入力済み(Yes)の場合は、後継機のプリンタを交換前の同仕様での使用状態に設定し、処理を終了する。
【0042】
一般に、後継機の機種a2のプリンタの機能は、機種a1のプリンタよりも高機能である。交換前プリンタの仕様のままで十分であるユーザーに対しては、機種a2のプリンタに変更した場合でも交換前プリンタのデバイスIDを設定することで、交換前のプリンタドライバで印刷することが可能となる。これにより、新しいプリンタドライバ要求に伴うシステムの再構築を行う作業上の手間を省くことが可能となる。
【0043】
この実施形態では、プリンタ本体にデバイスIDの設定を変更できる機能を保有する。プリンタは、デバイスIDを自由に変更することにより、同メーカーのプリンタであれば、プラグアンドプレイでプリンタを認識させることができる。このため、共通のデバイスIDを備えたプリンタドライバであれば、プラグアンドプレイの関係を構築することができる。
【0044】
(第2の実施形態)
図6は、プリンタ装置に関する第2の実施形態について説明するための要部の構成図である。この実施形態は、プリンタ20内にコンバータ61を備えたものである。
【0045】
コンバータ61は、これまで使用のA社のプリンタとは異なるB社のプリンタのコマンドを処理できるエミュレーション機能をプログラムとして入れたものである。エミュレーション機能は、ハードウェアの設計の違いを吸収するため、元のハードウェアの“ふり”をする「エミュレータ」と呼ばれるソフトウェアを実行させ、その上でソフトウェアを動作させるようにするものである。
【0046】
ところで、プリンタ20をB社に変更した場合のシステムとしては、PC10とB社プリンタの組み合わせとなる。すると、プリンタ自体は、B社のプリンタになる。プリンタのコマンド体系は、B社のコマンドを処理できるが、デバイスとしては、B社のプリンタである。従って、プリンタドライバとしては、B社のものを要求してくる。
【0047】
プログラムを作っているところはエミレーションであり、受信したデータ通信を、例えばB社で言えば、A社のコマンドをB社に置き換える処理を内部で行う。あくまでもUSB接続されるプリンタとしては、B社のままである。そこで、B社のプリンタのデバイスIDを、A社のデバイスIDに変更する。従って、プリンタ自体は、コマンドもデバイスIDもA社の状態することで、あたかもB社のプリンタをA社の仕様に見せることができる。
【0048】
このように、A社のプリンタに変えてB社のプリンタに変える場合、通常はシステム全体を変更する必要がある。プリンタのエミュレーション機能を有しているので、システムから出力される印刷データは、B社のプリンタで処理することができる。
【0049】
図7は、プリンタ20におけるエミュレーション機能による処理について説明するためのフローチャートである。
図7は、プリントシステム100に接続されるプリンタ20をこれまでのA社からB社に交換した以降の処理について示す。
【0050】
コンバータ61の機能を備えたB社のプリンタに交換した場合に、B社のプリンタ20は、操作パネル202のディスプレイ上に、デバイスIDを変更するかを要求する(ACT21)。
【0051】
ACT21において、エミュレーション機能を使用しない場合(No)は、B社プリンタのプリンタドライバをインストールする(ACT22)。
【0052】
ACT21において、エミュレーション機能を使用する場合(Yes)は、プリンタドライバ152のデバイスIDの要求をし(ACT23)、ACT24に移行する。
【0053】
ACT24では、A社プリンタのデバイスIDを入力し、入力が終了すると、ACT25に移行する。
【0054】
ACT25では、ACT24において入力されたデバイスIDがA社プリンタのデバイスIDと同じかを判断する。デバイスIDが同じでない場合(No)は、ACT22に移行し、ここでB社プリンタのプリンタドライバをインストールし、インストール後終了する。
【0055】
ACT25において、A社プリンタのデバイスIDと同じである判断した場合(Yes)は、交換前のA社のプリンタと判断し、終了する。
【0056】
このように、後継機としたB社のプリンタのデバイスIDもA社のIDにした。デバイスIDを変更すれば、エミレーションができる。プリンタとしてもUSB接続においては、A社のプリンタが接続された状態となる。つまり、A社のプリンタでシステムが構築されていた場合において、B社のプリンタに変更したとしても、システムとしては、A社のプリンタとして認識するようにした。これにより、システム全体の変更なしに異なるメーカーのプリンタに置き換えが可能となる。
【0057】
この実施形態では、エミレーションとデバイスIDの組み合わせで、後継機のこれまでとはメーカーが異なるプリンタを、これまでシステムに組み込まれているプリンタとして見せかけることができる。
【0058】
(第3の実施形態)
図8は、第3の実施形態について説明するためのフローチャートである。この実施形態は、アプリケーションソフトでプリンタドライバをコントロールするユーザーに対しては、プリンタドライバの要求をしないようにした。すなわち、USBケーブル30でPC10とプリンタ20を接続した場合に、プリンタドライバのデバイスIDを無効にできる制御を可能にした。
【0059】
図8において、プリンタ20のプリンタコントローラ203は、PC10に接続した場合に、デフォルトのプリンタドライバを使用するかを要求する(ACT31)。
【0060】
ACT31において、ドライバIDを使用する場合(Yes)は、接続したプリンタのデバイスIDを入力する(ACT32)。
【0061】
ACT32のデフォルトのデバイスID
の入力に基づき、プラグアンドプレイの処理が発生し(ACT33)、処理終了後に終了する。(第1手段)
ACT31において、デバイスIDを使用しない場合(No)は、例えば
図9に示す任意のデバイスIDを文字列での入力要求があり、任意のデバイスIDの入力があったかを判断する(ACT34)。
【0062】
ACT34において、任意のデバイスID
の入力があった場合(Yes)は、任意のデバイスIDに基づくプラグアンドプレイを実行し(ACT35)、実行後に処理を終了する。(第2手段)
ACT34において、任意のデバイスIDを入力しない場合(No)は、プラグアンドプレイは発生せず、単にPC10とプリンタ20がUSBケーブル30で接続された状態となる。(第3手段)
このように、ドライ
バIDを必要としない場合、プリンタを接続してもインストールの要求はない。USBのデバイスとしては、通信可能である。アプリケーションを作成するユーザーやプリンタドライバで描画しないで単純にデータだけの通信をするようなアプリケーションを作成するユーザーにおけるプリントドライブを要求される煩わしさを解消することができる。
【0063】
さらに、USBのプラグアンドプレイで必要なシリアル番号も設定可能な情報にすれば、デバイスIDとシリアル番号の組み合わせで、他のプリンタへの成り替わりを実現することができる。
【0064】
この実施形態では、任意のデバイスIDに何も指定がない場合は、プラグアンドプレイによってプリンタドライバをセットアップする必要がない。従って、セットアップに必要な手間を省くことができる。
【0065】
いくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、組み合わせ、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。