(57)【要約】【課題】  印刷装置が複数インタフェースをもつ場合、複数インタフェースの存在を検出し必要なドライバーを一度の作業ですべてインストールする。【解決手段】  印刷装置は、ホストからの情報要求コマンドに対して、自身の持つインタフェースの存在情報を包含した応答結果を返す。また、ホストは、応答に含まれるインタフェース存在情報を元に、ＯＳのドライバーインストール手順をエミュレートする。【選択図】  図１
2009015639.tif 000002
【特許請求の範囲】
【請求項１】
複数の異なる双方向性のインタフェースを備えた印刷装置において、印刷装置が備えているインタフェースの種別を検出するインタフェース検出部を備え、インタフェースに接続されたホストPCからの情報要求コマンドを受信し、コマンドに対する結果を当該インタフェースから応答する機能を備え、第一のインタフェースをホストPCに接続した際に、ホストPCからの情報要求コマンドの応答に際してその他に備えるインタフェースの種別情報を包含して応答する機能を備えたことを特徴とする印刷装置。
【請求項２】
前記印刷装置において、第一のインタフェースをホストPCに接続した際のデバイスIDの要求に対して、その他に備えるインタフェースの種別情報を包含させたデバイスIDを応答することを特徴とする請求項１記載の印刷装置。
【請求項３】
前記請求項1あるいは2における印刷装置が接続されるホストPCにおいて、第一のインタフェースをホストPCに接続した際に、第一のインタフェースの種別を解析し第一のインタフェース用ドライバーをインストールする手段を備え、第一のインタフェースから情報要求コマンドを送出し、印刷装置からの応答に含まれる他に備えたインタフェースの種別情報を解析する手段を備え、解析したインタフェースの種別ごとにドライバーがインストール済みであるかどうかを判定する手段を備え、ドライバーが未インストールである場合に、当該インタフェース用のドライバーのインストール処理を行うことを特徴とする処理方式。
【請求項４】
前記請求項3の処理方式において、情報要求コマンドにデバイスID要求コマンドを用いることを特徴とした処理方式。
【請求項５】
前記請求項4の処理方式において、第一のインタフェースにおいて取得したデバイスIDと解析したインタフェースの種別から、ホストPCに搭載されたOSの期待する識別IDを作成する手段を備え、作成した識別IDを元に当該OS用のドライバーインストール情報の記載された情報ファイルを検索し、ドライバーのインストールを行うことを特徴とする処理方式。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、PCに印刷装置を接続して使用する際のドライバーの自動インストール方式に関するものであり、特に、印刷装置が複数の異なるインタフェースを備えている場合のドライバーの自動インストール方式に関するものである。
【背景技術】
【０００２】
従来、印刷装置の使用者の利便性を図るために、印刷装置をPCに始めて接続した際に、ドライバーのインストールを自動的に行うだけでなく、付属のアプリケーションソフトも同時に自動的にインストールするという技術は一般的に存在していた。
【０００３】
ドライバーの自動インストール方式という点に絞って見た場合では、ネットワーク上に複数の印刷装置が存在する場合に、その印刷装置の情報を検索、取得し、適当なドライバーを自動的にインストールする技術（特開2002-189582）が存在していた。
【０００４】
一方で、複数の異なるインタフェースを備えた印刷装置に関する技術という観点では、複数インタフェースを使用する際のインタフェース間の排他制御に関する技術（特開2001-318775）が存在していた。
【特許文献１】特開2002-189582号公報
【特許文献２】特開2001-318775号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来から、印刷装置をあるインタフェースでPCに始めて接続する際に、接続したインタフェースに対応するドライバーを自動的にインストールする技術は存在していた。しかし、従来の技術では、印刷装置自身が複数の異なるインタフェースを備えていた場合、まだドライバーをインストールしていない第二のインタフェースを始めて接続する際に、あらためてドライバーのインストール動作および作業が必要となっていた。
【０００６】
通常、印刷装置の使用者は、装置を始めて使用する際には、装置自身の検出および適当なドライバーファイルの検索およびコピー動作等が自動的に行われるにせよ、ドライバーファイルが収められたCD-ROM等を手元においてインストール作業を行うことになるが、一度印刷装置が使用できる状態になると、ドライバーファイルが収められたCD-ROMは不要であり、基本的には、その後あまり使用しなくなることが多い。
【０００７】
しかし、印刷装置自身が異なる複数インタフェースを備えている場合には、まだ使用したことのない第二のインタフェースを初めて接続する際に、第二のインタフェースの検出等が自動的に行われるにせよ、再度ドライバーファイルの収められたCD-ROMを用意しインストール作業を行う必要があるという手間が掛かっていた。
【０００８】
上記のような、CD-ROMを用意する手間を省くだけであるならば、第一のインタフェースの使用時にCD-ROMに収められたドライバーファイルをPCに保存しておき、第二のインタフェースの接続時には、PCに保存されたドライバーファイルをコピーするという解決策も考えられるが、ドライバー自身のインストール作業が発生してしまうという点では課題があった。
【０００９】
装置の接続前に、あらかじめ第一のインタフェースおよび第二のインタフェース用のドライバーファイルのインストールを自動的に行ってしまうという解決策も考えられるが、この場合、例えば、機種が同じだが、オプション等の扱いで第二のインタフェースを備えていない印刷装置が存在する場合に、存在しないインタフェース用のドライバーをインストールしてしまうことになり、使用者が第二のインタフェースも存在し使用できるものと勘違いあるいは混乱してしまうという課題があった。（この課題自身は、使用者が、印刷装置に備えられているインタフェースの種類を指定することで防ぐことは可能であるが、この方法では、インストールの自動化という最も重要な利便性が損なわれてしまう。）
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明においては、  複数の異なる双方向性のインタフェースを備えた印刷装置において、印刷装置が備えているインタフェースの種別を検出するインタフェース検出部を備え、インタフェースに接続されたホストPCからの情報要求コマンドを受信し、コマンドに対する結果を当該インタフェースから応答する機能を備え、第一のインタフェースをホストPCに接続した際に、ホストPCからの情報要求コマンドの応答に対してその他に備えるインタフェースの種別情報を包含して応答する機能を備えたことを特徴とする印刷装置と、当該印刷装置が接続されるホストPCにおいて、第一のインタフェースをホストPCに接続した際に、第一のインタフェースの種別を解析し第一のインタフェース用ドライバーをインストールする手段を備え、第一のインタフェースから情報要求コマンドを送出し、印刷装置からの応答に含まれる他に備えたインタフェースの種別情報を解析する手段を備え、解析したインタフェースの種別ごとにドライバーがインストール済みであるかどうかを判定する手段を備え、ドライバーが未インストールである場合に、当該インタフェース用のドライバーのインストール処理を行う処理方式による構成を採用した。
【発明の効果】
【００１１】
上記構成によれば、複数の異なるインタフェースを備えた印刷装置において、第一のインタフェースの接続時に、第二のインタフェースの使用に必要なドライバーのインストールおよびセットアップも自動で同時に行うことが可能になる。従って、本装置の使用者が始めて第二のインタフェースを使用する際にも、CD-ROM等の準備や、インストール作業が不要となり、使用者の利便性が増す。
【００１２】
また、機種が同じだが、オプション等の扱いにより第二のインタフェースを備えたものと備えていない印刷装置が存在する場合でも、第二のインタフェースの存在を自動的に検出し、第二のインタフェースが存在する場合にのみ自動的にドライバーのインストールを行うことが出来るようになるため、存在しないインタフェースのドライバーをインストールしてしまい使用者が混乱してしまうというような事態を避けることが可能となる。
【発明を実施するための最良の形態】
【００１３】
以下、図を参照して本発明の実施の形態を詳細に説明する。まず前提として、図１、図4および図5により実施形態のうちホスト側のOS101の処理構造を説明する。
【００１４】
本実施形態のホスト100は、印刷装置との通信インタフェースとしてUSBインタフェース108およびＢＬＵＥＴＯＯＴＨ(登録商標)インタフェース111を備えている。それぞれのインタフェースは、下位レイヤーのハードウェアドライバー107および110によって制御されている。ハードウェアドライバー107および110は、さらに上位のポートモニター106および109によって抽象化される。プリンタードライバーを含め、インタフェースによって通信を行うアプリケーションは、このポートモニタにアクセスすることによってそれが可能となっている。
【００１５】
OS101は、インタフェース108あるいは111に装置が接続されると、106,107,109,110他を利用して、接続された装置の識別を試みる。装置が印刷装置であることが判明すると、続いてDeviceIDの取得を試みる。DeviceIDの取得が成功すると、DeviceID情報に含まれているManufacture name（MFGキー）およびModel name（MDLキー）から、接続された印刷装置の識別を試みる。例えば、図４の例1に示すDeviceIDをOS101が取得した場合、Mauafacture nameとして「ABC」、Model nameとして「XXX」を取り出し、それらを結合して「ABCXXX」という印刷装置が接続されていると認識する。
【００１６】
OS101は印刷装置の種類を識別すると、「ABCXXX」という識別情報から、さらにチェックサム情報を追加し、例えば、それがUSBインタフェースから取得した情報であれば、その情報も追加して、図5の例1に記載されているような「USBPRINT\ABCXXXABCD」というハードウェアIDを導き出す。OS101は、この導き出したハードウェアIDを検索のキーとして、ドライバー情報ファイル（INFファイル）を検索し、図5の例1に示されたような記述内容をもつ情報ファイルを探し出すと、その記述に従って認識した印刷装置に必要なドライバーファイルのインストール作業を行う。
【００１７】
ドライバーファイルのインストールにより、図1に示すランゲージモニター104およびプリントプロセッサー103がインストールされて動作可能な状態となる。また、画面上にはその印刷装置のプリントアイコンが追加され、出力が印刷装置を検出したインタフェースに設定されるとともに、その他のプロパティが適切に設定されて、印刷装置のドライバーがインストールされて使用可能な状態になる。
【００１８】
アプリケーション102は、印刷時に表示上のプリンタアイコン名称を指定することで、適切なプリントプロセッサー、ランゲージモニターおよびポートモニターを間接的に指定して、希望するインタフェース（印刷装置が接続されているインタフェース）から出力を行うことが可能となる。
【００１９】
以上のようなOS101の搭載されたホスト106を前提として、続いて、以下に本発明に特徴的な部分を説明する。
【００２０】
まず、図1に示すように本実施形態の印刷装置112は、USBインタフェース113およびＢＬＵＥＴＯＯＴＨ(登録商標)インタフェース114を備え、そのどちらを介してもホスト100に接続し印刷可能な構成となっている。ただし、それぞれのインタフェースは必ずしも常に存在するわけではなく、場合によっては片方のインタフェースしか印刷装置が備えていない場合も存在する。
【００２１】
それぞれのインタフェースの存在はインタフェース検出部115によって検出され、インタフェース管理部116にその情報は通知される。インタフェース管理部116は、インタフェース検出部115によって検出された情報およびその他の情報により排他制御をおこない、,それぞれのインタフェースへのデータ入出力の制御を行う。コマンド解析部117は、インタフェース管理部116からデータを受け取り、内容を解析し、印刷データであればエンジン制御部118へとデータを送り、印字機構119で印字を行う。その他のコマンドであれば、コマンド解析部117にて応答データを作成し、インタフェース管理部116を通じて適切なインタフェースから応答を返す。
【００２２】
次に、上述した印刷装置112がデバイスID要求コマンドを受信した際の処理の動作を図2のフローチャートにより説明する。
【００２３】
印刷装置112は、ステップS201に示すように受信したデータ列の中からデバイスID要求コマンドをコマンド解析部117にて検出し、ホスト100からデバイスID要求を受信したことを認識する。続いてステップS202に示すように、印刷装置112はインタフェース管理部116にて、デバイスID要求コマンドをUSBインタフェース113あるいはＢＬＵＥＴＯＯＴＨ(登録商標)インタフェース114のどちらから受信した物であるかの判断を行う。
【００２４】
デバイスID要求コマンドをUSBインタフェース113から受信した場合、インタフェース検出部115によって検出された情報をもとに、ステップS203に示すようにＢＬＵＥＴＯＯＴＨ(登録商標)インタフェース114が存在しているかどうかを判断する。
【００２５】
ＢＬＵＥＴＯＯＴＨ(登録商標)インタフェース114が存在している場合、印刷装置112はUSBおよびＢＬＵＥＴＯＯＴＨ(登録商標)インタフェースを備えていると判断できるので、ステップS205に示すようにデバイスID要求コマンドに対する応答として、インタフェース情報にUSBおよびＢＬＵＥＴＯＯＴＨ(登録商標)という意味を持たせたデバイスIDを応答する。例えば、図4の例2に示すように、「IF」というキーを設けその値として「USB」および「BT」という値を設定したデバイスIDをホスト100に対して応答する。
【００２６】
ステップS203にてＢＬＵＥＴＯＯＴＨ(登録商標)インタフェース114が存在していないと判断された場合は、印刷装置112はUSBインタフェースのみを備えていると判断できるので、ステップS204に示すようにデバイスID要求コマンドに対する応答として、インタフェース情報にUSBという意味のみを持たせたデバイスIDを応答する。例えば、図4の例1に示すように、「IF」キーに「USB」を設定したデバイスIDをホスト100に対して応答する。
【００２７】
一方、ステップS202にてデバイスID要求コマンドをＢＬＵＥＴＯＯＴＨ(登録商標)インタフェース114から受信したと判断した場合、インタフェース検出部115によって検出された情報をもとに、ステップS206に示すようにUSBインタフェース113が存在しているかどうかを判断する。
【００２８】
USBインタフェース113が存在している場合、印刷装置112はUSBおよびＢＬＵＥＴＯＯＴＨ(登録商標)インタフェースを備えていると判断できるので、前述と同様に、ステップS205に示すようにインタフェース情報にUSBおよびＢＬＵＥＴＯＯＴＨ(登録商標)という意味を持たせたデバイスIDを応答する。
【００２９】
ステップS206にてUSBインタフェース113が存在していないと判断された場合は、印刷装置112はＢＬＵＥＴＯＯＴＨ(登録商標)インタフェースのみを備えていると判断できるので、ステップS207に示すようにデバイスID要求コマンドに対する応答として、インタフェース情報にＢＬＵＥＴＯＯＴＨ(登録商標)という意味のみを持たせたデバイスIDを応答する。例えば、「IF」キーに「BT」を設定したデバイスIDをホスト100に対して応答する。
【００３０】
続いて、以上のような印刷装置と接続する、本実施形態におけるホスト側のドライバーインストール処理の手順を図3のフローチャートにより説明する。
【００３１】
ここでは、印刷装置112の使用者が最初に印刷装置112をホスト100に接続する際に、ホスト100のUSBインタフェース108に、印刷装置112のUSBインタフェース113を接続したケースを考える。
【００３２】
最初にホスト100のUSBインタフェース108に印刷装置112のUSBインタフェース113が接続されると、前述したようにホスト100に搭載されたOS101によって、USBインタフェース用のプリンタードライバーのインストールが実行される。（ステップS301）。ここで、ステップS302に示すように、例えば、USBインタフェース用のプリンタードライバー情報ファイル中にOSのインストール処理後に起動するアプリケーション情報を記述する、あるいは、何らかしらの仕掛けによりOS101のインストール処理をフックするなどの方法を用いて、本実施例にてその後の処理を担当するドライバーインストールアプリケーション105を起動させる。
【００３３】
起動されたドライバーインストールアプリケーション105は、ステップS303に示すように、USBインタフェース用ポートモニター106を通じて現在接続されているUSBインタフェース108からデバイス要求コマンドを印刷装置112に対して送信する。このデバイス要求コマンドを受信した印刷装置112は、図2に示した処理に従い、図4の例1あるいは例2に示すようなデバイスIDを応答する。そして、ドライバーインストールアプリケーション105は、ステップS304に示すように、応答されたデバイスIDに含まれる「IF」キーの値に、ＢＬＵＥＴＯＯＴＨ(登録商標)インタフェースの存在を示す「BT」という値が含まれているかどうかを調べる。
【００３４】
ステップS304でデバイスIDの値に「BT」が含まれていない場合は、印刷装置112にUSB以外のインタフェース（ＢＬＵＥＴＯＯＴＨ(登録商標)インタフェース）が存在しないと判断し、ステップS305に示すようにドライバーインストールアプリケーション105は終了する。
【００３５】
ステップS304でデバイスIDの値に「BT」が含まれている場合は、印刷装置112にUSB以外のＢＬＵＥＴＯＯＴＨ(登録商標)インタフェースが存在すると判断できるので、その後のＢＬＵＥＴＯＯＴＨ(登録商標)用プリンタードライバーインストール処理に進む。
【００３６】
ステップS306に示すように、ドライバーインストールアプリケーション105は、OS101のAPIを使用して、あるいは、あらかじめ記憶している情報を用いて、ＢＬＵＥＴＯＯＴＨ(登録商標)に割り当てられているハードウェア名称を取り出す。この名称は、例えば、図5の例2の中に含まれる「BTHPRINT」というような文字列となる。続いて、ステップS307に示すように、ステップS303で受信したデバイスIDの中に含まれるMauafacture nameとModel nameとを結合し、さらにステップS306で取り出したハードウェア名称と、あらかじめ定めれた手法により計算されるチェックサム文字列とを結合して、OS101が本来導き出すハードウェアIDをドライバーインストールアプリケーション105自身で導き出す。ここで導き出したハードウェアIDは、例えば、図5の例2に示すような「BTHPRINT\ABCXXXABCD」という値となる。
【００３７】
ドライバーインストールアプリケーション105は、ステップS307で導き出したハードウェアIDを用いて、ステップS308に示すように、現在接続されている印刷装置112のＢＬＵＥＴＯＯＴＨ(登録商標)用プリンタードライバーがインストール済みであるかどうかをOS101のAPI等を用いて調べる。
【００３８】
ステップS308で、現在接続されている印刷装置112のＢＬＵＥＴＯＯＴＨ(登録商標)用プリンタードライバーがインストール済みであると判断された場合には、印刷装置のUSBおよびＢＬＵＥＴＯＯＴＨ(登録商標)インタフェースの双方のドライバーがインストール済みであると判断できるので、ステップS309に示すようにドライバーインストールアプリケーション105は終了する。
【００３９】
ステップS308で、現在接続されている印刷装置112のＢＬＵＥＴＯＯＴＨ(登録商標)用プリンタードライバーがまだインストールされていないと判断された場合、ステップS310に示すように、ステップS307で導き出したハードウェアIDを用いて、ホスト100の保存領域あるいは、現在ホスト100に接続されているCD-ROM内から、ＢＬＵＥＴＯＯＴＨ(登録商標)用ドライバーインストール情報ファイルの検索を行う。ドライバーインストールアプリケーション105は、例えば、図5の例2にあるような記述がなされたドライバーインストール情報ファイルを探し出す。そして、ここで見つかったドライバー情報ファイルを元に、その後のＢＬＵＥＴＯＯＴＨ(登録商標)用ドライバーファイルのインストール処理を行う。
【００４０】
ドライバーインストールアプリケーション105は、ステップS311に示すように、ドライバーインストール情報ファイルに記述された内容、具体的には、例えば、図5の例2における、「CNMXXXP」という参照セクションに記述された内容に従い、自らあるいはOS101のAPIを使用して、ドライバーファイルのインストール処理を行う。
【００４１】
その後、ドライバーインストールアプリケーション105は、ステップS312およびステップS313に示すように、印刷装置112のＢＬＵＥＴＯＯＴＨ(登録商標)インタフェース114に結びつけられたプリンタアイコンをOS101のAPIを用いてOS101に登録し、各プロパティの設定を行う。以上の手順で、印刷装置112の使用者がＢＬＵＥＴＯＯＴＨ(登録商標)インタフェース114から印刷を行うことが可能となるので、ステップS314に示すようにドライバーインストールアプリケーション105は終了する。
【００４２】
以上のような処理を行うことによって、印刷装置112を最初にUSBインタフェース113でホスト100に接続した場合に、他に備えるＢＬＵＥＴＯＯＴＨ(登録商標)インタフェース114用のドライバーインストール処理を、ドライバーインストールアプリケーション105がOSに代わり実行することで印刷装置112のＢＬＵＥＴＯＯＴＨ(登録商標)インタフェース114も使用可能になる。
【００４３】
しかも、それは印刷装置112がＢＬＵＥＴＯＯＴＨ(登録商標)インタフェース114を備えている場合のみとなる。オプションなどの扱いにより、印刷装置112にＢＬＵＥＴＯＯＴＨ(登録商標)インタフェースが備えられていないようなケースが存在することを考えると、印刷装置が接続される際に決め打ちでUSBおよびＢＬＵＥＴＯＯＴＨ(登録商標)双方のドライバーをインストールしてしまうような手法に比べれば、明らかに本実施例が優れていることが分かる。
【００４４】
なお、上記処理手順は最初にホスト100のUSBインタフェース108に印刷装置112のUSBインタフェース113が接続された場合の処理手順であるが、最初にＢＬＵＥＴＯＯＴＨ(登録商標)インタフェース111に印刷装置112のＢＬＵＥＴＯＯＴＨ(登録商標)インタフェース114が接続された場合でも同様の処理手順となり、USBとＢＬＵＥＴＯＯＴＨ(登録商標)とを置き換えた形で処理を行うことになる。
【図面の簡単な説明】
【００４５】
【図１】本発明の実施例におけるホストおよび印刷装置の機能的構成を示すブロック図である。
【図２】本発明の実施例における印刷装置が、デバイスID要求を受信した際のフローチャート図である。
【図３】本発明の実施例におけるホスト上のドライバーインストール処理手順を示したフローチャート図である。
【図４】本発明の実施例におけるDeviceIDの例である。
【図５】本発明の実施例におけるドライバー情報ファイル中の記述例である。
【符号の説明】
【００４６】
100  ホスト
101  ホスト100に搭載されたOS
102  ホスト上で動作するアプリケーション
103  プリントプロセッサー
104  ランゲージモニター
105  ドライバーインストールアプリケーション
106  USBインタフェース用ポートモニター
107  USBインタフェース用ハードウェアドライバー
108  USBの物理インタフェース
109  ＢＬＵＥＴＯＯＴＨ(登録商標)インタフェース用ポートモニター
110  ＢＬＵＥＴＯＯＴＨ(登録商標)インタフェース用ハードウェアドライバー
111  ＢＬＵＥＴＯＯＴＨ(登録商標)の物理インタフェース
112  印刷装置
113  USBの物理インタフェース
114  ＢＬＵＥＴＯＯＴＨ(登録商標)の物理インタフェース
115  インタフェース検出部
116  インタフェース管理部
117  コマンド解析部
118  エンジン制御部
119  印字機構（エンジン）
【図１】
2009015639.tif 000003
【図２】
2009015639.tif 000004
【図３】
2009015639.tif 000005
【図４】
2009015639.tif 000006
【図５】
2009015639.tif 000007