(57)【要約】【課題】  複数のデバイスとしての機能を備え、上位装置であるホスト機器から複数のデバイスとして認識される情報処理装置に関して、情報処理装置の制御プログラムの更新を安定して実行可能にする。【解決手段】  ホスト機器と接続され、ホスト機器側からストレージデバイス、およびプリンタ等の２以上のデバイスとして認識される情報処理装置の制御プログラムを更新する際に、プリンタのデバイスのみを残して他のデバイスをホスト機器から取り外された状態とし、取り外された状態のデバイスを擬似的にプリンタとして認識させ、制御プログラム更新を実行させる。【選択図】  図３
2005078577.tif 000002
【特許請求の範囲】
【請求項１】
上位装置とインタフェースを介して接続可能な情報処理装置であって、当該情報処理装置を識別するための識別情報に従って前記上位装置が前記接続された情報処理装置に対応したデバイスドライバを実行することで前記上位装置から制御される情報処理装置において、
インタフェースを介して前記上位装置から制御可能な複数のデバイスと、
前記複数のデバイスに対応した制御プログラムを格納するメモリと、
前記複数のデバイスのうちの一つのデバイスに対応する制御プログラムの更新の指示を前記上位装置より受けたとき、前記一つのデバイスを除く他のデバイスに対して前記一つのデバイスと同じ機種情報を前記上位装置へ出力させることで、前記一つのデバイスとして前記上位装置に識別させる制御手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記制御手段は、前記一つのデバイスとして前記上位装置に認識させた後に、前記制御プログラムの更新指示に従って前記上位装置が前記制御プログラムを更新する動作が終了したとき、前記他のデバイスに対応した識別情報を消去することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
上位装置と、該上位装置とインタフェースを介して接続可能な情報処理装置とからなり、前記情報処理装置を識別するための識別情報に従って前記上位装置が前記接続された情報処理装置に対応したデバイスドライバを実行することで前記上位装置が前記情報処理装置を制御するシステムにおける、前記情報処理装置内に記憶される制御プログラムの更新方法であって、
インタフェースを介して前記上位装置から制御可能な前記情報処理装置に含まれる複数のデバイスのうち、一つのデバイスに対応する制御プログラムの更新を、前記上位装置から前記情報処理装置へ指示する工程と、
前記一つのデバイスを除く他のデバイスに対して前記一つのデバイスと同じ機種情報を前記上位装置へ出力させ、前記上位装置に前記情報処理装置を前記一つのデバイスとして識別させる工程と、
前記情報処理装置の前記一つのデバイスに対応する制御プログラムを更新する更新工程と、
からなることを特徴とする更新方法。
【請求項４】
前記更新工程により制御プログラムを更新する処理が終了した後、前記他のデバイスに対応した識別情報を消去することを特徴とする請求項３における更新方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は上位装置とインタフェース接続可能な情報処理装置に関する。本発明は、特に、上位装置として、インタフェースを介して複数のデバイス制御が可能な上位装置に接続される情報処理装置、及び、その情報処理装置の制御プログラムを更新する更新方法に関する。
【背景技術】
【０００２】
例えばワードプロセッサ、パーソナルコンピュータ、ファクシミリ等に於ける情報出力装置として、所望される文字や画像等の情報を用紙やフィルム等シート状の記録媒体に記録を行うプリンタが広く使用されている。
【０００３】
プリンタの使用形態としては、パーソナルコンピュータなどのホスト機器と接続し、ホスト機器にインストールしたプリンタドライバによって、記録すべき画像や文字などのデータをプリンタでの記録に適した形態に処理し、制御データと共にプリンタに送信して記録を実行させるのが一般的である。
【０００４】
近年においては、記録すべき画像を入力する画像入力機器として、スキャナやデジタルカメラが普及し、プリンタの高画質化に伴って、写真調のプリントを個人で行うことが可能となっている。デジタルカメラについては、近年において急速に普及しており、また、そのデジタルカメラの形態も、レンズが交換可能な１眼レフタイプや、可搬性を重視した小型・軽量のものまで様々なタイプがある。
【０００５】
このように、デジタルカメラ等の画像入力機器が普及するにつれて、デジタルカメラ等の外部機器や、メモリカード等の画像データを格納する記憶媒体（以下、総称して単に「外部機器」と呼ぶ）に対するインタフェースをプリンタに設け、ホスト機器を介さずに外部機器から直接画像データを読取って記録を実行する、いわゆるダイレクトプリンタが注目されている。このような構成においては、プリンタにメモリカードを挿入するスロットを設け、プリンタ内部の制御部に対し、インターフェースを介してメモリカードが電気的に接続される。
【０００６】
このように、プリンタの外部にデジタルカメラを接続するためのインターフェースと、メモリカードを挿入するためのスロットを設けてメモリカードにアクセス可能とし、デジタルカメラで撮影した画像や、メモリカード内の画像をプリント可能とすることで、複雑な操作を必要とせずにプリントを可能としたものがある（例えば、特許文献１）。
【０００７】
また、メモリカード用のスロット、インターフェースを設けたプリンタの構成として、プリンタの外部に接続されるホスト機器から、プリンタに取り付けられたメモリカードへアクセス可能とすることで、ホスト機器からメモリカード内のデータの読み書きが可能なストレージ機能を持たせたものがある。このような構成とした場合、ホスト機器からはプリンタという一つのデバイスと、ストレージというもう一つ別のデバイスが接続されていると認識され、各々のデバイスに応じたプログラムであるデバイスドライバにより制御されるのが一般的である。
【０００８】
つまり、情報処理装置であるプリンタは、上位装置であるホスト機器とインタフェースを介して接続可能に構成されており、この接続されたプリンタおよびストレージとしてのデバイスを識別するための識別情報に従ってホスト機器は、接続されたデバイスに対応したプログラムであるデバイスドライバを実行することで、接続されたデバイスを制御する。
【特許文献１】特開２００３−１０３８８３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
上述のように、情報処理装置の一つであるプリンタも複合機化している。また、上述したようにプリンタに接続される機器は、ホスト機器のみならずメモリカードや、デジタルカメラなどの外部機器もあり、このような外部機器の組合わせによる相性などが原因となり、正しく動作できなくなるケースがユーザー先でも想定される。そのため、近年では電気的に消去可能メモリなどの記憶素子に機器の制御プログラム記憶させておいて、必要に応じて制御プログラムを更新させることを可能とし、ユーザーが使用している際に発見された問題を制御プログラムの更新によって早急に解消できるようにしている。
【００１０】
このように機器の制御プログラムを更新する際にはできるだけ制御動作が安定した状態で制御プログラムを更新する必要がある。しかしながら、上記したような複数のデバイスを備えた機器に対しては、外部に接続される上位装置であるホスト機器側で、デバイス毎にデバイスドライバにより個々に制御を行っている動作環境にあるため、ホスト機器からの操作により、情報処理装置であるプリンタの制御プログラムを更新している際に、ホスト機器側からプリンタとは別のデバイスとして認識されるプリンタ内のデバイス（例えば上述のストレージデバイス）に対してホスト機器がアクセスする可能性があり、そのような場合においては、制御プログラムの更新を安定して実行できず、制御プログラムの更新が正常に完了しないおそれがある。
【００１１】
本願発明は、上述のような問題点に着目してなされたものであり、情報処理装置の制御プログラムの更新において、異常動作となることをなくし、安定して接続された状態で更新を完了することが可能な、情報処理装置、および制御方法を提供することにある。
【課題を解決するための手段】
【００１２】
上記目的を達成する本発明の一態様としての情報処理装置は、上位装置とインタフェースを介して接続可能な情報処理装置であって、当該情報処理装置を識別するための識別情報に従って前記上位装置が前記接続された情報処理装置に対応したデバイスドライバを実行することで前記上位装置から制御される情報処理装置において、インタフェースを介して前記上位装置から制御可能な複数のデバイスと、前記複数のデバイスに対応した制御プログラムを格納するメモリと、前記複数のデバイスのうちの一つのデバイスに対応する制御プログラムの更新の指示を前記上位装置より受けたとき、前記一つのデバイスを除く他のデバイスに対して前記一つのデバイスと同じ機種情報を前記上位装置へ出力させることで、前記一つのデバイスとして前記上位装置に識別させる制御手段と、を備えることを特徴とする。
【００１３】
また、上記情報処理装置において、前記制御手段は、前記一つのデバイスとして前記上位装置に認識させた後に、前記制御プログラムの更新指示に従って前記上位装置が前記制御プログラムを更新する動作が終了したとき、前記他のデバイスに対応した識別情報を消去することを特徴とする。
【００１４】
また、本願発明は、上位装置と、該上位装置とインタフェースを介して接続可能な情報処理装置とからなり、前記情報処理装置を識別するための識別情報に従って前記上位装置が前記接続された情報処理装置に対応したデバイスドライバを実行することで前記上位装置が前記情報処理装置を制御するシステムにおける、前記情報処理装置内に記憶される制御プログラムの更新方法であって、インタフェースを介して前記上位装置から制御可能な前記情報処理装置に含まれる複数のデバイスのうち、一つのデバイスに対応する制御プログラムの更新を、前記上位装置から前記情報処理装置へ指示する工程と、前記一つのデバイスを除く他のデバイスに対して前記一つのデバイスと同じ機種情報を前記上位装置へ出力させ、前記上位装置に前記情報処理装置を前記一つのデバイスとして識別させる工程と、前記情報処理装置の前記一つのデバイスに対応する制御プログラムを更新する更新工程と、からなることを特徴とする。
【００１５】
また、上記更新方法において、前記更新工程により制御プログラムを更新する処理が終了した後、前記他のデバイスに対応した識別情報を消去することを特徴とする。
【発明の効果】
【００１６】
以上説明したように本発明によれば、複数のデバイスを備えた情報処理装置を接続してホスト機器側からデバイス毎にデバイスドライバにより個々に制御を行なっている動作環境にあっても、異常動作となることなく安定して情報処理装置の制御プログラムを更新する制御方法を提供できる効果がある。
【発明を実施するための最良の形態】
【００１７】
以下添付図面を参照して本発明の好適な実施形態について詳細に説明する。
【００１８】
なお、以下に説明する実施形態では、情報処理装置としてインクジェット記録方式を用いたプリンタを用いた場合を例に挙げて説明する。
【００１９】
本明細書において、「接続」とは、２つの機器を物理的に繋ぐことのみならず、電気的に通信可能であることを意味し、有線や無線を問わず、また、用いられる機械的・物理的手段、インタフェースやプロトコル等は問わない。
【実施例１】
【００２０】
図１を参照して、本実施の形態に係るフォトダイレクトプリンタ装置の制御に係る主要部の構成を説明する。
【００２１】
図１において、３０００はプリンタ装置の制御を行う制御部（制御基板）を示している。３００１はＡＳＩＣ（専用カスタムＬＳＩ）を示し、その構成については、図２のブロック図を参照して詳しく後述する。
【００２２】
図１のＡＳＩＣ３０００は内部にＣＰＵを有し、各種制御処理及び、操作パネル１０１０からの操作入力制御処理及び、輝度信号（ＲＧＢ）から濃度信号（ＣＭＹＫ）への変換、スケーリング、ガンマ変換、誤差拡散等の画像処理及び、表示部であるビューワ１０１１への画像表示およびステータス表示などの表示制御及び、更にプリンタエンジン３００４の記録ヘッドの走査制御や紙送り制御などの機構制御を行い所望の写真画像などの記録出力制御等を行う。３００３はメモリで、ＣＰＵの制御プログラムを記憶するプログラムメモリ３００３ａ、及び実行時のプログラムを記憶するＲＡＭエリア、画像データなどを記憶するワークメモリとして機能するメモリエリアを有している。なお、プログラムメモリ３００３ａは制御プログラムを書換え可能とするために、電気的消去可能なメモリ（所謂、フラッシュメモリやＥＥＰＲＯＭ）を採用している。
【００２３】
３００４はプリンタエンジンで、ここでは、複数色のカラーインクを用いてカラー画像を印刷するインクジェットプリンタのプリンタエンジンが搭載されている。１０１２はデジタルカメラなどのＵＳＢ機器３０１２を接続するためのポートとしてのＵＳＢバスコネクタ（Ａタイプ）である。１００９はメモリーカード３０１１を挿入するカードスロットである。３１００はメモリーカード３０１１及び、ＵＳＢ機器３０１２への電力供給を制御する電源制御回路である。１０１３はＰＣ３０１０（一般的なパーソナルコンピュータ）とプリンタ装置１０００とを接続するためのポートとしてのＵＳＢバスコネクタ（Ｂタイプ）である。
【００２４】
３００８はＵＳＢバスハブ（ＵＳＢ  ＨＵＢ）で、このプリンタ装置がＰＣ３０１０からの画像データに基づいて印刷を行う際には、ＰＣ３０１０からの印刷データをそのまま図中ＰＲＴへとスルーし、ＵＳＢバスを介してプリンタエンジン３００４に所望の文字・画像などを出力する。これにより、プリンタ装置の外部に接続されているＰＣ３０１０は、プリンタエンジン３００４と直接、データや信号のやり取りを行って印刷を実行することが出来る。つまり、一般的なＰＣプリンタとしても機能する。また、ＵＳＢバスハブ３００８はＰＣ３０１０からのストレージデータ送受を図中ＳＴＧへとスルーしていて、ＵＳＢバスを介してＰＣ３０１０からメモリーカード３０１１への読出し／書込みアクセスすることができる。そのため、ＰＣ３０１０は、プリンタ装置とストレージデバイスがＰＣ３０１０に接続されていると認識して、それぞれに対する動作が実行可能にされている。
【００２５】
図２は、ＡＳＩＣ３００１の構成を示すブロック図で、この図において前述の図面と共通する部分は同じ記号を付与して、それらの説明を省略する。
【００２６】
４００１はメモリーカード制御部で、プリンタ装置に装着されたメモリーカード３０１１に記憶されている画像データを読取ったり、或いはメモリーカード３０１１へのデータの書き込み等を行う。４００３は第１のＵＳＢインタフェース制御部で、ＵＳＢ規格で定義されているプリンタクラスのＵＳＢデバイスとしてＰＣ３０１０との間での印刷データのやり取りを行う。４０１１は第２のＵＳＢインタフェース制御部で、ＵＳＢ規格で定義されているマスストレージクラス（バルクオンリー）のＵＳＢデバイスとしてＰＣ３０１０との間でのメモリーカード３０１１からの読出しデータ、あるいはメモリーカード３０１１への書き込みデータなどのやり取りを行う。また、ＵＳＢインタフェース制御部４００３、４０１１には、それぞれＵＳＢ規格で規定されているＵＳＢデバイス識別情報（Ｄｅｖｉｃｅ  Ｄｅｓｃｒｉｐｔｅｒ、など）を任意に設定できるようになっている。通常、第１のＵＳＢインタフェース制御部のＵＳＢデバイス識別情報にはプリンタクラスとする情報を設定し、また、第２のＵＳＢインタフェース制御部のＵＳＢデバイス識別情報にはマスストレージクラスとする情報を設定しおく。これによりＰＣ３０１０はＵＳＢデバイス接続を認識して、両者の動作制御に必要なデバイスドライバなどを起動することで、両デバイスを動作制御することができる。
【００２７】
図２において、４００４はＵＳＢホストインターフェース制御部で、デジタルカメラなどのＵＳＢ機器３０１２との間でのデータのやり取りを行う。また、４００５は操作パネル制御部で、操作パネル１０１０からの各種操作信号を入力したり、表示部１００６への表示データの出力などを行う。４００６はビューワ制御部で、ビューワ１０１１への画像データの表示を制御している。４００７は電源制御回路３１００や各種スイッチやＬＥＤ４００９などを制御するインタフェース部である。４０１２はプリント制御部で、プリンタエンジン３００４の印刷動作制御を行い、デジタルカメラやＣＤ−Ｒ／ＲＷドライブなどのＵＳＢ機器３０１２、或いは、メモリーカード３０１１に記憶されている画像データにより印刷を行う。４０１３はＣＰＵ部で、そのローカルバスを介して高速アクセス可能な内部メモリ４０１４に接続してあり、前記画像処理などを高速に処理できる。４０１０はこれら各部を接続する内部バス（ＡＳＩＣバス）である。
【００２８】
尚、本実施例では、上記説明した各部をひとつのＡＳＩＣとして１チップ構成したが、例えばＣＰＵを別チップとしたり、上記各部を別チップとして複数チップで構成しても良い。また、上記実施形態では物理的に２つの別ポートＵＳＢ  ＰＲＴ４００３とＵＳＢ  ＳＴＧ４０１１とをＵＳＢバスハブ３００８を介してＰＣ３０１０と接続できるようにインタフェースを構成したが、例えばＵＳＢ  ＰＲＴ４００３とＵＳＢ  ＳＴＧ４０１１を混合（コンバイン）したマルチインターフェース方式のものに取り換えればＵＳＢバスハブ３００８を削除することも可能である。
【００２９】
以上のような構成により全体としてプリンタ装置として機能する。
【００３０】
［制御プログラムの更新方法］
図３のフローチャート図を参照し、ＰＣにインタフェース接続されたプリンタ装置の制御プログラム更新方法について説明する。なお、図３において、点線３００の左側に位置する、”ＰＣ側”と示した処理は、プリンタの外部に接続されて、プリンタの上位装置（ホスト機器）となるＰＣ側の制御手順を表し、点線３００の右側に位置する、”プリンタ側”と示した処理は、プリンタである画像記録装置１２側の制御手順を説明している。なお、ＰＣ側の制御プログラムはＰＣにおけるプリンタ用アプリケーション或いはプリンタドライバとして構成されており、操作者の操作指示などにより起動される。操作者がプリンタ装置の制御プログラム更新を開始すると、図３のステップＳ１０においてプリンタ装置のＵＳＢストレージデバイスが接続されている状態であるか調べ、接続状態であれば安定して制御プログラム更新をさせるようにするためにステップＳ１１にて該ＵＳＢストレージデバイスの取外しを行なう。なお、ここで言う取り外しとは、ホスト機器であるＰＣから見てデバイスを停止させ、安全に取り外し可能な状態とすることを意味するものであり、デバイスの停止を行わずに物理的にデバイスを取り外すことを意味するものではない。
【００３１】
この、デバイスを取り外す処理を実行する際に、仮に、ＵＳＢストレージデバイスにメモリカードが挿入されていて、且つ、メモリカードに電源を供給中のときは、メモリカードへのアクセスが終了するのを待ち、プリンタ装置のＵＳＢストレージデバイス部に対してメモリカードの取外し要求を行なう。すると、ステップＳ２０においてプリンタ装置では、メモリカードへの電源供給を停止させる。
【００３２】
次に、ＵＳＢストレージデバイスが取外し状態になると、ステップＳ１２において制御プログラム更新モードに遷移するようプリンタ装置のＵＳＢプリンタデバイスに要求する。プリンタ装置はこの要求を受付けると、これから安全に制御プログラム更新を実行できるようにするために、ステップＳ２１でこれからプログラム更新するにあたり、必要最小限のプログラムだけを実行するように前準備を行い、次にステップＳ２２で一旦、ＰＣから双方のＵＳＢデバイス、つまりＵＳＢプリンタおよびストレージデバイスを切断しておく。そして、ステップＳ２３で第１ＵＳＢインタフェース制御部４００３にＵＳＢ規格で定義されているプリンタクラスのＵＳＢデバイスとして認識させるべくＵＳＢデバイス識別情報を設定し、ステップＳ２４では、擬似的にＵＳＢプリンタデバイスと認識させるべく第２ＵＳＢインタフェース制御部４０１１にもＵＳＢ規格で定義されているプリンタクラスのＵＳＢデバイスとして認識させるべくＵＳＢデバイス識別情報を設定しておく。なお、第２ＵＳＢインタフェース制御部４０１１に設定するＵＳＢデバイス識別情報のシリアル番号部分だけは第１ＵＳＢインタフェース部に設定したものとは異なるようにしていて、例えば、本実施形態においては第１ＵＳＢインタフェース部に設定したシリアル番号の末尾に第１の特定文字を付加するようにしている。こうすることで、後述するステップＳ１４における擬似プリンタの特定ができるようにしている。
【００３３】
上記ステップＳ２３〜Ｓ２４の処理によりＵＳＢデバイス識別情報の設定が完了すると、次にステップＳ２５で再びＰＣに対してＵＳＢ接続を開始する。すると、ＰＣ側は、同じ機種のＵＳＢプリンタが２台接続されているようにＵＳＢ接続認識する。そして、ステップＳ１３においてＰＣはプリンタ装置の制御プログラム更新用データを第１ＵＳＢインタフェース部に送信する。ステップＳ２６でプリンタ装置は前記制御プログラムデータを一度メモリ３００３に受信し、受信した制御プログラムデータに誤りが無いことを確認して、正常であれば、ステップＳ２７においてプログラムメモリ３００３ａに記憶している制御プログラム書換えを行なう。正常に制御プログラム書換え更新を完了すると、ステップＳ１４でＰＣは擬似プリンタの認識情報を削除して、本処理を終了する。
【００３４】
通常、ＵＳＢインタフェースではプラグアンドプレー称されるように、接続されたＵＳＢデバイスを利用可能にするために接続されたＵＳＢデバイス識別情報を読取る。このとき一度も対応するデバイドライバがＰＣにインストールされていない場合にはデバイスドライバのインストール要求がＰＣのオペレーションシステムレベルで発生してしまうことがある。しかし、本実施形態のように既に対応するデバイスドライバがインストールされている場合にはこの現象は発生しないが、同じ機種のプリンタ装置があたかも２台あるようホスト機器であるＰＣ側から見えてしまうことがあるので、ステップＳ１４にて擬似プリンタ接続情報を消去するようにしている。
【００３５】
上述の構成では、情報処理装置の一つであるプリンタ装置に２つのＵＳＢデバイスを有するもの適用した実施形態を説明したが、２つ以上、例えば３つのＵＳＢデバイスであっても前記同様にして、ＵＳＢプリンタデバイス以外をステップＳ２４と同じに第２の擬似プリンタとしてＳ２４設定しているシリアル番号の末尾の第１の特定文字とは別の第２の特定文字を有したシリアル番号に設定して、ステップＳ１４と同様に第２の擬似プリンタ接続情報を消去するようにすれば良い。同様にして４つ以上のＵＳＢデバイスにより構成されている場合にも容易に適用できることは言うまでもない。また、本実施形態ではＵＳＢインタフェースで接続された構成で説明したが、他の物理インタフェースが違うものでもデバイス識別情報を持ち、同じ機種のデバイスを複数接続が可能なものには適用が可能である。
【００３６】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【００３７】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明した図３に示したフローチャートに対応するプログラムコードが格納されることになる。
【００３８】
以上説明したような本発明によれば、複数のデバイスとしての機能を備え、上位装置であるホスト機器から複数のデバイスとして認識される情報処理装置に関して、情報処理装置に接続されるホスト機器側からデバイス毎にデバイスドライバにより個々に制御を行なっている動作環境にあっても、異常動作となることなく、安定して情報処理装置の制御プログラムを更新することが可能となる。
【図面の簡単な説明】
【００３９】
【図１】フォトダイレクトプリンタ装置の制御に係る主要部の構成を示すブロック図である。
【図２】図４のＡＳＩＣの構成を示すブロック図である。
【図３】制御プログラムの更新制御を説明するフローチャートである。
【符号の説明】
【００４０】
３００３  メモリ
３００３ａ  プログラムメモリ
３００４  プリンタエンジン
３００８  ＵＳＢハブ
３０１０  ホスト機器（ＰＣ）
３０１１  メモリカード
３０１２  ＵＳＢ機器
４００１  メモリカードコントローラ
４００３  ＵＳＢコントローラ
【図１】
2005078577.tif 000003
【図２】
2005078577.tif 000004
【図３】
2005078577.tif 000005