(57)【要約】【課題】メディア等を介してドライバプログラムを取得する必要がなく、また、ドライバプログラムによる情報処理装置の処理機能の低下を防止することができる周辺装置を提供する。【解決手段】  プリンタ３は、ＰＣ１と通信可能なプリンタであって、ドライバを記憶するＦｌａｓｈＲＯＭ３１と、ＰＣ１により認識される印刷機構部３５とを備え、ドライバは、ＰＣ１に送信されて実行され、ＰＣ１のアプリケーションプログラム２１と印刷機構部３５との間で作用する。【選択図】  図１
2009080647.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置と通信可能な周辺装置において、
ドライバを記憶する第１のデバイスと、
前記情報処理装置により認識される第２のデバイスとを備え、
前記ドライバは、前記情報処理装置に送信されて実行され、前記情報処理装置のアプリケーションと前記第２のデバイスとの間で作用すること
を特徴とする周辺装置。
【請求項２】
前記ドライバは、前記情報処理装置が備える標準ドライバと置き換えられること
を特徴とする請求項１記載の周辺装置。
【請求項３】
前記第１のデバイスは、前記情報処理装置によりストレージデバイスとして認識されること
を特徴とする請求項１記載の周辺装置。
【請求項４】
前記情報処理装置との間の通信は、ＵＳＢインターフェースを介して行われること
を特徴とする請求項１記載の周辺装置。
【請求項５】
情報処理装置と通信可能な画像形成装置において、
ドライバを記憶する第１のデバイスと、
前記情報処理装置により認識され、当該情報処理装置から入力された印刷データに基づいて画像を形成する画像形成デバイスとを備え、
前記ドライバは、前記情報処理装置に送信されて実行され、前記情報処理装置のアプリケーションと前記画像形成デバイスとの間で作用すること
を特徴とする画像形成装置。
【請求項６】
前記ドライバは、前記情報処理装置が備える標準ドライバと置き換えられること
を特徴とする請求項５記載の画像形成装置。
【請求項７】
前記第１のデバイスは、前記情報処理装置によりストレージデバイスとして認識されること
を特徴とする請求項５記載の画像形成装置。
【請求項８】
前記情報処理装置との間の通信は、ＵＳＢインターフェースを介して行われること
を特徴とする請求項５記載の画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置に接続される周辺装置に関する。
【背景技術】
【０００２】
従来から、パーソナルコンピュータ等の情報処理装置に接続されて駆動する、プリンタ等の周辺装置が知られている。この様な周辺装置は、情報処理装置にインストールされたＯＳ（Operating System）によって認識される。そして、情報処理装置のＯＳによって周辺装置が認識された後、該情報処理装置のＯＳ上に、該周辺装置を制御する為のドライバプログラムをインストールすることで、情報処理装置によって周辺装置を制御することが可能となる。この様なドライバプログラムのインストール方法としては、特許文献１に記載されたものがある。
【０００３】
【特許文献１】特開２０００−３７９３１公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載されたドライバプログラムのインストール方法を採用した場合、ユーザは、フロッピー（登録商標）ディスク、ＣＤ−ＲＯＭ等のメディアや、インターネット等のネットワークを介して提供されるドライバプログラムを入手する必要があった。この様に、メディアやネットワークを介してドライバプログラムを入手する場合、情報処理装置自体がメディアの再生環境を備えていることや、ネットワークに接続されていることが必要とされる為、利便性が低下するという問題があった。
【０００５】
また、一時的に周辺装置を使用しようとする場合においても、情報処理装置にドライバプログラムをインストールする必要があるが、この様な場合においてもユーザは、各周辺装置に対応したドライバプログラムを入手する必要があった。そしてこの様に一時的にのみ使用する周辺装置のドライバプログラムは、ユーザが積極的にアンインストール作業を行わない限り情報処理装置内部に残ることとなり、情報処理装置の処理機能の低下を招来するという問題があった。
【０００６】
そこで、本発明はこの様な実情に鑑みてなされたものであり、メディア等を介してドライバプログラムを取得する必要がなく、また、ドライバプログラムによる情報処理装置の処理機能の低下を防止することができる周辺装置を提供することを目的とする
【課題を解決するための手段】
【０００７】
上記課題を解決する為に、本発明にかかる周辺装置は、情報処理装置と通信可能な周辺装置において、ドライバを記憶する第１のデバイスと、前記情報処理装置により認識される第２のデバイスとを備え、前記ドライバは、前記情報処理装置に送信されて実行され、前記情報処理装置のアプリケーションと前記第２のデバイスとの間で作用することを特徴としている。
【０００８】
この構成によれば、本発明にかかる周辺装置は、情報処理装置によって実行されるドライバを、情報処理装置に送信することができる。そしてこの様なドライバを取得した情報処理装置では、メディア等を介してドライバを取得する必要がなくなる。
【発明の効果】
【０００９】
以上の様に、本発明にかかる周辺装置によれば、メディア等を介してドライバプログラムを取得する必要がなく、また、ドライバプログラムによる情報処理装置の処理機能の低下を防止することができる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明を適用した具体的な実施の形態について図面を参照しながら詳細に説明する。
【００１１】
実施の形態にかかる情報処理システムは、情報処理装置と、該情報処理装置と通信可能な周辺装置を備える。周辺装置は、情報処理装置の揮発性メモリ上に展開されるドライバアプリケーションを記憶する記憶部を備える。そして周辺装置は、記憶部に記憶したドライバアプリケーションを、情報処理装置からの要求に応じて送信する。ドライバアプリケーションを受信した情報処理装置は、ドライバアプリケーションを自身の揮発性メモリ情に展開することで、周辺装置との情報交換を実行する。
【００１２】
先ず、本発明を適用した第１の実施の形態について詳細な説明をする。
【００１３】
第１の実施の形態にかかる情報処理システムは、図１に示す様に、情報処理装置としてのパーソナルコンピュータ（以下、「ＰＣ」という）１と、ＰＣ１と通信可能な周辺装置としてのプリンタ３とを備える。情報処理システムでは、ＰＣ１と、プリンタ３とは、ＵＳＢケーブル５を介して接続されている。
【００１４】
ＰＣ１は、プリンタ３と接続され、ＵＳＢケーブル５を介してプリンタ３の動作を制御する。この様なＰＣ１は、ＣＰＵ（Central Processing Unit）７と、ＨＤＤ（Hard Disk Drive）９と、ＲＡＭ（Random Access Memory）１１と、ＵＳＢ（Universal Serial Bus）コントローラ１３を備える。
【００１５】
ＲＡＭ１１は、ＰＣ１に備えられた揮発性メモリであり、ＣＰＵ７による各種演算処理に際して、一時的に情報を記憶する。具体的には、ＲＡＭ１１上には、ＨＤＤ９に記憶されたＯＳ（Operating System）１５、及びアプリケーション１７が、ＯＳプログラム１９、及びアプリケーションプログラム２１として展開され、実行される。また、ＲＡＭ１１上には、後述するプリンタのドライバアプリケーションが展開され、実行される。
【００１６】
ＨＤＤ９は、ＰＣ１に備えられた不揮発性メモリであり、ＯＳ１５、及びアプリケーション１７、並びに標準ドライバ２３を記憶する。
【００１７】
ＯＳ１５は、プラグ・アンド・プレイ機能が実行可能な、例えばＷｉｎｄｏｗｓ（登録商標）９８、Ｗｉｎｄｏｗｓ（登録商標）２０００、Ｗｉｎｄｏｗｓ（登録商標）ＸＰ等のオペレーティングシステムである。ＣＰＵ７は、この様なＯＳ１５を、ＯＳプログラム１９としてＲＡＭ１１上に展開する。
【００１８】
アプリケーション１７は、ＰＣ１にインストールされ、ユーザが操作することによって画像データを生成する描画ソフト、文書作成ソフト等のアプリケーションである。ＣＰＵ７は、この様なアプリケーション１７を、アプリケーションプログラム２１としてＲＡＭ上に展開する。
【００１９】
図２に示す様にＯＳプログラム１９は、ＧＤＩ（Graphic Drive Interface）ドライバ１９１と、ランゲージモニタ１９３と、デバイスアクセス１９５と、ＬＰＴアクセス１９７と、ＵＳＢアクセス１９９と、ＬＰＴポートドライバ２０１と、ＵＳＢポートドライバ２０３とを備える。通常、ＯＳ１５の標準ドライバ２３を用いて印刷を行う場合には、ＧＤＩドライバ１９１は、アプリケーションプログラム２１から供給された出力要求をラスタイメージデータに展開する。そしてランゲージモニタ１９３は、ラスタイメージデータを、デバイスアクセス１９５を経由させてＰＣ１の出力ポートたるＬＰＴポートドライバ２０１、又はＵＳＢポートドライバ２０３に供給する。このときデバイスアクセス１９５は、ランゲージモニタ１９３からのラスタデータを、ＬＰＴポートアクセス１９７や、ＵＳＢアクセス１９９等、各アクセス部に適したデータフォーマットに変換し、データの供給を行う。そしてデータの供給を受けた各アクセス部は、対応する各ポートドライバにデータを送信し、各ポートドライバから接続されたプリンタ３へデータが送信される。
【００２０】
一方で、デバイスドライバアプリケーション２５は、アプリケーションプログラム２１から供給された出力要求の呼び出し先を、ＧＤＩドライバ１９１から仮想ドライバ２５１に書き換える。これにより、アプリケーションプログラム２１からの出力要求は、仮想ドライバ２５１に供給される。そして、仮想ドライバ２５１は、ＧＤＩドライバ１９１と同様の処理によりラスタイメージデータを展開する。そしてラスタイメージデータは、ランゲージモニタ１９３に供給される。このとき、デバイスドライバアプリケーション２５は、ランゲージモニタ１９３に対してデータのポートドライバとして仮想ポートドライバ２５３を指定する。これにより、ランゲージモニタ１９３は、仮想アクセス２５５に対してデータを振り分ける。そしてデータは、仮想アクセス２５５を介してプリンタに送信される。
【００２１】
プリンタ３は、ＵＳＢケーブル５を介してＰＣ１と接続されており、ＰＣ１から送信された画像データを所定の記録媒体上に印刷する。この様なプリンタ３は、ＰＣ１に対して、所謂ＵＳＢマスストレージデバイスとして機能する。具体的には、プリンタ３は、標準ドライバとは異なる、プリンタ３専用のデバイスドライバを記憶するマスストレージデバイスとして機能する。そして、プリンタ３に記憶されたデバイスドライバは、ＰＣ１に送信された後、ＰＣ１のＣＰＵ７によってＲＡＭ１１上に展開され、デバイスドライバアプリケーション２５として実行される。具体的にはプリンタ３は、プリンタ３の各種動作を制御するＣＰＵ２７と、ＲＯＭ２９と、記憶部としてのＦｌａｓｈＲＯＭ３１と、プリンタ３の印刷動作を制御する印刷制御部３３と、印刷制御部３３の制御のもと印刷動作を実行する印刷機構部３５と、送信部としてのＵＳＢコントローラ３７とを備える。
【００２２】
ＲＯＭ２９は、ＰＣ１に対してプリンタ３をマスストレージデバイスとして認識させる為のマスストレージ登録用データ４１と、ＰＣ１に対してプリンタをＵＳＢ印刷デバイスとして認識させる為の印刷デバイス登録用データ４３と、ＰＣ１とプリンタ３との間のＵＳＢ通信を制御する為のＵＳＢポート制御処理データ４５とを記憶する。
【００２３】
マスストレージ登録用データ４１は、ＰＣ１に対してプリンタが、マスストレージデバイスであることを認識させる為の情報である。具体的には、マスストレージ登録用データ４１は、周辺機器の種類に関する情報を含むデバイス・ディスクリプタである。デバイス・ディスクリプタは、図３に示す様な定義を用いて表される。そして、マスストレージ登録用データ４１は、デバイス・ディスクリプタに、図４に示す様なクラスコードを包含させて形成された情報である。かかるマスストレージ登録用データ４１は、ＰＣ１とプリンタ３とが接続された後に、ＰＣ１に対してプリンタ３がマスストレージデバイスであることを認識させる為に、プリンタ３からＰＣ１に送信される。このとき、上述した例で説明すると、プリンタ３は、クラスコードを「０ｘ８」としたデバイス・ディスクリプタをＰＣ１に送信することで、ＰＣ１に対してプリンタ３がマスストレージデバイスであることを認識させる。
【００２４】
印刷デバイス登録用データ４３は、ＰＣ１に対してプリンタ３が、印刷データを印刷するプリンタであることを認識させる為の情報である。印刷デバイス登録用データ４３も、マスストレージ登録用データ４１と同様に、クラスコードを包含したデバイス・ディスクリプタを含む情報によって構成される。かかる印刷デバイス登録用データ４３は、デバイスドライバ３９がＰＣ１に送信された後に、ＰＣ１に対してプリンタ３が印刷データを印刷するプリンタであることを認識させる為に、プリンタ３からＰＣ１に送信される。上述の例で説明すると、プリンタ３は、クラスコードを「０ｘ７」としたデバイス・ディスクリプタをＰＣ１に送信することで、ＰＣ１に対してプリンタ３が印刷データを印刷するプリンタであることを認識させる。
【００２５】
ＦｌａｓｈＲＯＭ３１は、デバイスドライバ３９を記憶する不揮発性メモリである。ＦｌａｓｈＲＯＭ３１は、後述方法によりＰＣ１にマウントされ、ＰＣ１によってデバイスドライバ３９が読み出される。
【００２６】
印刷制御部３３は、ＰＣ１から送信された印刷データに基づいて図示せぬ現像装置、転写装置、定着装置等によって構成される印刷機構部３５を制御し、用紙上に印刷データに基づく画像を印刷する。
【００２７】
以下、この様なＰＣ１及びプリンタ３における印刷データの印刷時の一連の動作の概要について、図５を参照しながら説明をする。
【００２８】
まず、ユーザがＵＳＢケーブル５を用いてＰＣ１とプリンタ３とを接続すると、プリンタ３は、ＰＣ１に対してマスストレージ登録用データ４１をＰＣ１に送信する。かかるマスストレージ登録用データ４１を受信したＰＣ１は、接続されたデバイスが、マスストレージデバイスであることを認識する。
【００２９】
次に、ＰＣ１は、マスストレージ登録用データ４１に基づいて、アクセス可能な記憶領域、すなわちＦｌａｓｈＲＯＭ３１をマウントし、ＦｌａｓｈＲＯＭ３１がＰＣ１によって制御可能となるように処理を行う。
【００３０】
次に、ＰＣ１は、プリンタ３に対してデバイスドライバの送信を要求する。かかる処理は、ＰＣ１のＣＰＵ７が、ＦｌａｓｈＲＯＭ３１に記憶された自動実行処理（autorun.inf）を実行することで行われる。このときＰＣ１の表示部には、図６に示す様な画像が表示される。尚、同図に示す「Virtual_Drv.exe」は、ＦｌａｓｈＲＯＭ３１に記憶されたデバイスドライバ３９を示す。そしてＡｕｔｏｒｕｎ．ｉｎｆファイルには、図６に示す様に、「Virtual_Drv.exe」を実行する旨の指令が記述される。
【００３１】
次に、プリンタ３は、ＰＣ１からの要求に応じて、デバイスドライバ３９をＰＣ１に送信する。そして、ＰＣ１は、送信されたデバイスドライバ３９を、デバイスドライバアプリケーション２５として、ＲＡＭ１１上で実行する。デバイスドライバアプリケーション２５が実行されると、デバイスドライバアプリケーション２５は、ＯＳプログラム１９上で設定された標準プリンタ（Default-Printer）を、プリンタ３に置き換える。
【００３２】
次に、プリンタ３は、印刷デバイス登録用データ４３をＰＣ１に送信する。かかる印刷デバイス登録用データ４３を受信したＰＣ１は、プリンタ３が印刷データを印刷可能なプリンタであることを認識する。また、ＰＣ１は、印刷制御部３３を印刷デバイスとして制御可能とする為に、デバイスドライバアプリケーション２５を用いて印刷ポートの設定、Ｉ／Ｏアドレス、割り込み要求等のリソース設定処理を実行する。これによりＰＣ１は、印刷制御部３３が、印刷デバイスとして制御可能なものであることを認識する。すなわち、プリンタ３は、ＰＣ１に対してマスストレージ登録用データ４１を送信して自身がマスストレージデバイスであることを認識させた後に、印刷デバイス登録用データ４３を送信して自身がプリンタであることを認識させる。
【００３３】
その後、ＰＣ１は、ユーザがアプリケーションプログラム２１を用いて作成した画像データを、デバイスドライバアプリケーション２５を用いて印刷可能な印刷データに変換し、印刷データをプリンタ３に送信する。
【００３４】
その後、ＲＡＭ１１上に展開されたデバイスドライバアプリケーション２５は、ＰＣ１の電源がオフ状態となり、又はユーザが手動で消去作業を行うことにより、ＲＡＭ１１上から消去される。
【００３５】
この様に、プリンタ３は、ＰＣ１のＲＡＭ１１上にデバイスドライバアプリケーションとして展開されるデバイスドライバ３９を記憶している為、ＰＣ１にプリンタ３専用のドライバをインストールする必要がなくなる。すなわち、プリンタ３によれば、ＰＣ１にプリンタ３の専用ドライバをインストールせずに、専用ドライバと同等の機能を有するデバイスドライバをＰＣ１に使用させることができる。
【００３６】
次に、上述の一連の処理におけるプリンタ３の動作について、図８を参照しながら詳細な説明をする。
【００３７】
プリンタ３がＵＳＢケーブル５を介してＰＣ１と接続されると、ステップＳ１においてプリンタ３は、ＵＳＢコネクション確立処理を実行する。ここで、プリンタ３が実行するＵＳＢコネクション確立処理とは、プリンタ３及びＰＣ１間が正常に接続されていることを確認する為の処理である。具体的には、ＵＳＢコネクション確立処理とは、まず、ＣＰＵ２７が、ＵＳＢポート制御処理データ４５を用いて、ＰＣ１に対してＡｔｔａｃｈｅｄ信号を出力することで行われる。次に、Ａｔｔａｃｈｅｄ信号を受信したＰＣ１は、ＲＥＳＥＴ信号をプリンタ３に送信し、コントロール転送によるコンフィギュレーションを行う。
【００３８】
次に、ステップＳ２においてプリンタ３は、マスストレージ登録用データをＰＣ１に送信する。かかる処理は、ＣＰＵ２７が、クラスコードを「０ｘ８」としたデバイス・ディスクリプタを、ＵＳＢコントローラ３７、及びＵＳＢケーブル５を介してＰＣ１に送信することで行われる。
【００３９】
次に、ステップＳ３においてプリンタ３は、ＰＣ１でＡｕｔｏｒｕｎ．ｉｎｆファイルが実行されてデバイスドライバ３９の取得要求が到達したか否かを判断する。そして、かかる処理は、デバイスドライバ３９の取得要求が到達するまで繰り返し実行される。
【００４０】
デバイスドライバ３９の取得要求が到達すると、ステップＳ４においてプリンタ３は、ＦｌａｓｈＲＯＭ３１に記憶されたデバイスドライバ３９を、ＵＳＢコントローラ３７、及びＵＳＢケーブル５を介してＰＣ１に送信する。
【００４１】
次に、ステップＳ５においてプリンタ３は、ＰＣ１でデバイスドライバ３９が実行されると、ＰＣ１に印刷デバイス登録用データを送信する。かかる処理は、ＣＰＵ２７が、クラスコードを「０ｘ７」としたデバイス・ディスクリプタを、ＵＳＢコントローラ３７、及びＵＳＢケーブル５を介してＰＣ１に送信することで行われる。
【００４２】
次に、ステップＳ６においてプリンタ３は、ＰＣ１から印刷データを受信したか否かを判断する。そして、ＰＣ１から印刷データを受信したと判断した場合、ステップＳ７においてプリンタ３は、印刷データの印刷処理を実行する。具体的には、印刷処理は、印刷制御部３３が、受信した印刷データに基づいて印刷機構部３５を駆動することで実行される。
【００４３】
また、ステップＳ７における印刷処理の終了後、及びステップＳ６において印刷データを受信していないと判断した後に、プリンタ３は、ステップＳ８においてＵＳＢケーブル５による接続が切断されたか否かを判断する。そして、プリンタ３が、ＵＳＢケーブル５による接続が切断されたと判断した場合、プリンタ３は一連の処理を終了する。一方で、ＵＳＢケーブル５による接続が切断されていないと判断した場合、プリンタ３は、ステップＳ６以降の処理を繰り返す。
【００４４】
次に、上述の一連の処理におけるＰＣ１の一連の動作について、図９を参照しながら詳細な説明をする。
【００４５】
ＰＣ１がＵＳＢケーブル５を介してプリンタ３と接続されると、ステップＳ１０においてＰＣ１は、ＵＳＢコネクション確立処理を実行する。ここで、ＰＣ１が実行するＵＳＢコネクション確立処理とは、ＰＣ１が、プリンタ３から出力されたＡｔｔａｃｈｅｄ信号を検出し、１００ｍｓ遅れてＲＥＳＥＴ信号を出力することで実行される。そしてこれと共にＰＣ１は、コントロール転送によりコンフィギュレーションを行う。
【００４６】
次に、ステップＳ１１においてＰＣ１は、マスストレージ登録用データ４１を検出したか否かを判断する。そして、ＰＣ１は、マスストレージ登録用データ４１を検出したと判断すると、ステップＳ１２以降の処理を実行する。
【００４７】
ステップＳ１２においてＰＣ１は、ＦｌａｓｈＲＯＭ３１をマスストレージデバイスとして制御可能となるようにリソースの設定を行う。例えば、ＦｌａｓｈＲＯＭ３１のリソースの設定前に、図１０に示す様な画像が、図示せぬＰＣ１の表示部に表示されていたとすると、ＰＣ１は、ＦｌａｓｈＲＯＭ３１のリソースの設定後に、図１１の例に示す様な画像を該表示部に表示する。すなわち、ＰＣ１は、リソースの設定が終了すると、ＰＣ１が制御可能なドライブに関する情報に、ＦｌａｓｈＲＯＭ３１の情報を追加し、マウントする。かかるリソースの設定処理中には、該表示部には、図１２の例に示す様な画像が表示され、その処理の進行過程が表示される。
【００４８】
次に、ステップＳ１３においてＰＣ１は、マスストレージデバイスのＡｕｔｏｒｕｎ．ｉｎｆファイルを実行し、デバイスドライバ３９をＲＡＭ１１上に展開する。デバイスドライバ３９が、ＲＡＭ１１上に展開されると、デバイスドライバアプリケーション２５がＲＡＭ１１上に常駐する。このときＰＣ１の表示部には、図１３に示す様な画像が表示され、その処理の進行過程がユーザに対して表示される。一方で、何らかの原因でＯＳプログラム１９がデバイスドライバ３９を認識することができない場合は、表示部には図１４に示す様な画像が表示され、ユーザに対処を促す。その後、デバイスドライバアプリケーション２５は、ＯＳプログラム１９が、プリンタ３を標準プリンタとして認識する様に、ＯＳプログラム１９の設定を変更する。このときデバイスドライバアプリケーション２５は、例えば図１５の例に示す様に、標準的に使用されるプリンタをプリンタ３とし、ドライバの種類をデバイスドライバアプリケーション２５（Virtual-Drv）とし、ドライバのポートの設定を「Virtual-Port」に書き換える。
【００４９】
次に、ステップＳ１４においてＰＣ１は、印刷デバイス登録用データ４３を受信したか否かを判断する。かかる判断は、プリンタ３から印刷デバイス登録用データ４３が送信されるまで繰り返し行われる。
【００５０】
次に、ステップＳ１５においてＰＣ１は、印刷制御部３３をマウントする為に、リソースの設定を行う。かかる処理は、印刷制御部３３を、設定されたポート介して制御可能となる様に、Ｉ／Ｏアドレスや割り込み要求等の設定を行うことで実行される。リソースの設定が行われると、ＰＣ１において作成された画像データは印刷可能となる。
【００５１】
次に、ステップＳ１６においてＰＣ１は、デバイスドライバアプリケーション２５の終了要求があったか否かを判断する。かかる終了要求があったと判断する場合としては、例えばユーザがプリンタ３とＰＣ１との間の接続を切断する旨の操作をした場合等がある。
【００５２】
次に、ステップＳ１７においてＰＣ１は、デバイスドライバアプリケーション２５を終了する。かかる処理は、デバイスドライバアプリケーション２５の常駐を解除することで実行される。
【００５３】
次に、ステップＳ１８においてＰＣ１は、ＰＣ１及びプリンタ３の間の切断処理を実行し、一連の処理を終了する。
【００５４】
次に、上述の一連の処理におけるデバイスドライバアプリケーション２５の一連の動作について、図１６を参照しながら詳細な説明をする。
【００５５】
デバイスドライバアプリケーション２５がＲＡＭ１１上に展開され、一連の処理が開始すると、ステップＳ２１においてデバイスドライバアプリケーション２５は、標準プリンタの登録の有無を判断する。かかる処理は、デバイスドライバアプリケーション２５が、ＣＰＵ７に、ＯＳプログラム１９の設定を確認させることで実行される。そしてデバイスドライバアプリケーション２５が、標準プリンタがあると判断した場合は、デバイスドライバアプリケーション２５は、ステップＳ２２以降の処理を実行する。
【００５６】
ステップＳ２２においてデバイスドライバアプリケーション２５は、ＨＤＤ９に記憶された標準ドライバ２３から任意のプリンタドライバを読み出し、読み出したプリンタドライバを標準プリンタに割り当てる。次にステップＳ２３においてデバイスドライバアプリケーション２５は、標準プリンタの登録を行う。具体的には、デバイスドライバアプリケーション２５は、ＣＰＵ７に、標準プリンタに対してパラレルポートや、ＯＳ標準の印刷ポート等を割り当てさせることで標準プリンタの登録を行う。
【００５７】
次に、ステップＳ２４においてデバイスドライバアプリケーション２５は、標準プリンタのプリンタドライバを変換する。かかる処理は、デバイスドライバアプリケーション２５が、ＣＰＵ７に、標準プリンタのプリンタドライバをデバイスドライバアプリケーション２５が提供するデータ変換処理に置き換えさせることで実行される。
【００５８】
次に、ステップＳ２５においてデバイスドライバアプリケーション２５は、標準プリンタの印刷ポートを変更する。かかる処理は、デバイスドライバアプリケーション２５が、ＣＰＵ７に、標準プリンタの印刷ポートを印刷制御部３３に置き換えさせることにより実行される。
【００５９】
次に、ステップＳ２６においてデバイスドライバアプリケーション２５は、プリンタ３への印刷要求があったか否かを判断する。本処理では、デバイスドライバアプリケーション２５は、例えばユーザがアプリケーション１７を用いてプリンタ３に対して印刷要求を行った場合等に、プリンタ３への印刷要求があったと判断する。そしてデバイスドライバアプリケーション２５は、プリンタ３への印刷要求があったと判断した場合には、ステップＳ２７以降の処理を実行する。
【００６０】
ステップＳ２７においてデバイスドライバアプリケーション２５は、印刷要求を供給したアプリケーション１７から供給された画像データを印刷データに変換する。かかる処理は、アプリケーション１７において生成された画像データを、プリンタ３が印刷可能な形式に変換することで実行される。
【００６１】
次に、ステップＳ２８においてデバイスドライバアプリケーション２５は、変換した印刷データを、プリンタ３に送信する。かかる処理は、デバイスドライバアプリケーション２５が、ＣＰＵ７に、ＵＳＢコントローラ１３を介して印刷データをプリンタ３の印刷制御部３３に送信させることで実行される。
【００６２】
次に、ステップＳ２９においてデバイスドライバアプリケーション２５は、デバイスドライバアプリケーション２５の終了要求があったか否かを判断する。かかる処理は、ステップＳ２６においてデバイスドライバアプリケーション２５が、プリンタ３への印刷要求がないと判断した場合にも実行される。そしてデバイスドライバアプリケーション２５が、デバイスドライバアプリケーション２５の終了要求があったと判断した場合には、デバイスドライバアプリケーション２５は、ステップＳ３０以降の終了処理を実行する。一方、デバイスドライバアプリケーション２５が、デバイスドライバアプリケーション２５の終了要求がないと判断した場合には、ステップＳ２６以降の処理を繰り返す。
【００６３】
ステップＳ３０においてデバイスドライバアプリケーション２５は、標準プリンタドライバを復元させる。その後、ステップＳ３１においてデバイスドライバアプリケーション２５は、印刷ポートを復元させる。これにより、ＯＳプログラム１９上の標準プリンタは、デバイスドライバアプリケーション２５が実行される前の状態に戻る。
【００６４】
その後ステップＳ３２においてデバイスドライバアプリケーション２５は、終了する。これによりデバイスドライバアプリケーション２５は、ＲＡＭ１１上から消去される。
【００６５】
この様に、第１の実施の形態にかかる情報処理システムに因れば、メディア等を介してデバイスドライバアプリケーション２５を取得する必要がなくなる。すなわち、ＰＣ１の設置環境に因らず、デバイスドライバアプリケーション２５を取得することができる。そしてこの様にプリンタ３専用のデバイスドライバアプリケーション２５を容易に取得することにより、ＯＳに標準で搭載された標準ドライバを使用する場合と比較して、プリンタ３の機能を最大限に利用することができる。
【００６６】
また、ＯＳの供給時にプリンタ３が供給されていない場合には、プリンタ３のドライバはＯＳに搭載されていないこととなるが、本発明の様に、プリンタ３をマスストレージデバイス、及びプリンタとして機能させることにより、かかる事態にも対処することが可能となる。
【００６７】
また、デバイスドライバアプリケーション２５を揮発性メモリ上に展開することにより、ＰＣ１にデバイスドライバアプリケーション２５に相当する機能を有する専用ドライバをインストールする手間を省くことが可能となる。さらに、インストール作業によるメモリの消費も抑制することが可能となる。
【００６８】
また、デバイスドライバアプリケーション２５を揮発性メモリ上に展開することにより、デバイスドライバアプリケーション２５を削除する手間を省くことができる。かかる効果は、プリンタ３を一時的に使用する場合等により顕著に発揮される。
【００６９】
次に、本発明の第２の実施の形態について詳細な説明を行う。尚、第２の実施の形態にかかる情報処理システムは、第１の実施の形態にかかる情報処理システムと同一の構成を有する箇所があるため、該箇所については詳細な説明を省略する。
【００７０】
第２の実施の形態にかかる情報処理システムは、図１７に示す様に、ＰＣ１と、プリンタ５１とを備える。
【００７１】
プリンタ５１は、ＵＳＢケーブル５を介してＰＣ１と接続されており、ＰＣ１から送信された画像データを所定の記録媒体上に印刷する。この様なプリンタ５１は、ＰＣ１に対して、所謂ＵＳＢマスストレージデバイスとして機能する。具体的には、プリンタ５１は、標準ドライバとは異なる、プリンタ５１専用のデバイスドライバを記憶するマスストレージデバイスとして機能する。そして、プリンタ５１に記憶されたデバイスドライバは、ＰＣ１に送信された後、ＰＣ１のＣＰＵ７によってＲＡＭ１１上に展開され、デバイスドライバアプリケーション２５として実行される。この様なプリンタ５１は、ＣＰＵ２７と、ＲＯＭ５３と、ＦｌａｓｈＲＯＭ５５と、プリンタ３の印刷動作を制御する印刷制御部５７と、印刷制御部３３の制御のもと印刷動作を実行する印刷機構部３５と、ＵＳＢコントローラ３７とを備える。
【００７２】
ＲＯＭ５３は、ＰＣ１に対してプリンタ５１をマスストレージデバイスとして認識させる為のマスストレージ登録用データ４１と、ＰＣ１とプリンタ３との間のＵＳＢ通信を制御する為のＵＳＢポート制御処理データ４５とを記憶する。
【００７３】
ＦｌａｓｈＲＯＭ５５は、デバイスドライバ３９を記憶すると共に、画像データが送信された際には、画像データを一時的に記憶する。そしてＦｌａｓｈＲＯＭ５５に記憶された画像データは、印刷制御部５７によって読み出され、印刷される。
【００７４】
この様な情報処理システムでは、ＰＣ１からプリンタ５１に画像データを送信する際、ＰＣ１は、プリンタ５１をマスストレージデバイスとして認識した状態で印刷を行う。すなわちＰＣ１は、マスストレージデバイスとしてのプリンタ５１に、画像データを記憶させることで、印刷データを送信する。これにより、情報処理システムでは、印刷デバイス登録用データのやりとりが不要となる。以下、かかる情報処理システムの動作について詳細な説明を行う。
【００７５】
まず、プリンタ５１の動作について、図１８を参照しながら詳細な説明をする。
【００７６】
プリンタ５１がＵＳＢケーブル５を介してＰＣ１と接続されると、ステップＳ４１においてプリンタ５１は、ＵＳＢコネクション確立処理を実行する。
【００７７】
次に、ステップＳ４２においてプリンタ５１は、マスストレージ登録用データをＰＣ１に送信する。かかる処理は、ＣＰＵ２７が、クラスコードを「０ｘ８」としたデバイス・ディスクリプタを、ＵＳＢコントローラ３７、及びＵＳＢケーブル５を介してＰＣ１に送信することで行われる。
【００７８】
次に、ステップＳ４３においてプリンタ５１は、ＰＣ１からのデバイスドライバ３９の取得要求が到達したか否かを判断する。そして、かかる処理は、デバイスドライバ３９の取得要求が到達するまで繰り返し実行される。
【００７９】
デバイスドライバ３９の取得要求が到達すると、ステップＳ４４においてプリンタ５１は、ＦｌａｓｈＲＯＭ５５に記憶されたデバイスドライバ３９を、ＵＳＢコントローラ３７、及びＵＳＢケーブル５を介してＰＣ１に送信する。
【００８０】
次に、ステップＳ４５においてプリンタ５１は、ＰＣ１から印刷データを受信したか否かを判断する。具体的には、プリンタ５１は、ＰＣ１によってＦＬａｓｈＲＯＭ５５に印刷データが書き込まれたか否かを判断する。
【００８１】
そして、ＰＣ１から印刷データを受信したと判断した場合、ステップＳ４６においてプリンタ５１は、印刷データの印刷処理を実行する。具体的には、印刷処理は、印刷制御部５７が、受信した印刷データに基づいて印刷機構部３５を駆動することで実行される。
【００８２】
また、ステップＳ４６における印刷処理の終了後、及びステップＳ４５において印刷データを受信していないと判断した後に、プリンタ５１は、ステップＳ４７においてＵＳＢケーブル５による接続が切断されたか否かを判断する。そして、プリンタ５１が、ＵＳＢケーブル５による接続が切断されたと判断した場合、プリンタ５１は一連の処理を終了する。一方で、ＵＳＢケーブル５による接続が切断されていないと判断した場合、プリンタ５１は、ステップＳ４５以降の処理を繰り返す。
【００８３】
次に、上述の一連の処理におけるＰＣ１の一連の動作について、図１９を参照しながら詳細な説明をする。
【００８４】
ＰＣ１がＵＳＢケーブル５を介してプリンタ３と接続されると、ステップＳ５１においてＰＣ１は、ＵＳＢコネクション確立処理を実行する。
【００８５】
次に、ステップＳ５２においてＰＣ１は、マスストレージ登録用データ４１を検出したか否かを判断する。そして、ＰＣ１は、マスストレージ登録用データ４１を検出したと判断すると、ステップＳ５３以降の処理を実行する。
【００８６】
ステップＳ５３においてＰＣ１は、ＦｌａｓｈＲＯＭ５５をマスストレージデバイスとして制御可能となるようにリソースの設定を行う。
【００８７】
次に、ステップＳ５４においてＰＣ１は、デバイスドライバ３９をＲＡＭ１１上に展開すると共に、ＦｌａｓｈＲＯＭ５５をＯＳプログラム１９上にマウントする。デバイスドライバ３９が、ＲＡＭ１１上に展開されると、デバイスドライバアプリケーション２５はＲＡＭ１１上に常駐する。デバイスドライバアプリケーション２５が常駐すると、ＰＣ１は画像データを印刷データに変換することが可能となる。そして、変換された印刷データは、ＦｌａｓｈＲＯＭ５５に書き込まれることで印刷可能となる。
【００８８】
次に、ステップＳ５５においてＰＣ１は、デバイスドライバアプリケーション２５の終了要求があったか否かを判断する。かかる終了要求があったと判断する場合としては、例えばユーザがプリンタ５１とＰＣ１との間の接続を切断する旨の操作をした場合等がある。
【００８９】
次に、ステップＳ５６においてＰＣ１は、デバイスドライバアプリケーション２５を終了する。かかる処理は、デバイスドライバアプリケーション２５の常駐を解除することで実行される。
【００９０】
次に、ステップＳ５７においてＰＣ１は、ＰＣ１及びプリンタ５１の間の切断処理を実行し、一連の処理を終了する。
【００９１】
次に、上述の一連の処理におけるデバイスドライバアプリケーション２５の一連の動作について、図２０を参照しながら詳細な説明をする。
【００９２】
デバイスドライバアプリケーション２５がＲＡＭ１１上に展開され、一連の処理が開始すると、ステップＳ６１においてデバイスドライバアプリケーション２５は、標準プリンタの登録の有無を判断する。そしてデバイスドライバアプリケーション２５が、標準プリンタがあると判断した場合は、デバイスドライバアプリケーション２５は、ステップＳ６２以降の処理を実行する。
【００９３】
ステップＳ６２においてデバイスドライバアプリケーション２５は、ＨＤＤ９に記憶された標準ドライバ２３から任意のプリンタドライバを読み出し、読み出したプリンタドライバを標準プリンタに割り当てる。次にステップＳ６３においてデバイスドライバアプリケーション２５は、標準プリンタの登録を行う。
【００９４】
次に、ステップＳ６４においてデバイスドライバアプリケーション２５は、標準プリンタのプリンタドライバを変換する。
【００９５】
次に、ステップＳ６５においてデバイスドライバアプリケーション２５は、標準プリンタの印刷ポートを変更する。かかる処理は、デバイスドライバアプリケーション２５が、ＣＰＵ７に、標準プリンタの印刷ポートを印刷制御部５７に置き換えさせることにより実行される。
【００９６】
次に、ステップＳ６６においてデバイスドライバアプリケーション２５は、プリンタ５１の印刷要求があったか否かを判断する。そしてデバイスドライバアプリケーション２５は、プリンタ３への印刷要求があったと判断した場合には、ステップＳ６７以降の処理を実行する。
【００９７】
ステップＳ６７においてデバイスドライバアプリケーション２５は、印刷要求を供給したアプリケーション１７から供給された画像データを印刷データに変換する。かかる処理は、アプリケーション１７において生成された画像データを、プリンタ５１が印刷可能な形式に変換することで実行される。
【００９８】
次に、ステップＳ６８においてデバイスドライバアプリケーション２５は、変換した印刷データを、プリンタ５１に送信する。かかる処理は、デバイスドライバアプリケーション２５が、ＣＰＵ７に、ＵＳＢコントローラ１３を介して印刷データをプリンタ５１のＦｌａｓｈＲＯＭ５３に記憶させることで実行される。
【００９９】
次に、ステップＳ６９においてデバイスドライバアプリケーション２５は、デバイスドライバアプリケーション２５の終了要求があったか否かを判断する。かかる処理は、ステップＳ２６においてデバイスドライバアプリケーション２５が、プリンタ５１への印刷要求がないと判断した場合にも実行される。そしてデバイスドライバアプリケーション２５が、デバイスドライバアプリケーション２５の終了要求があったと判断した場合には、デバイスドライバアプリケーション２５は、ステップＳ７０以降の終了処理を実行する。一方、デバイスドライバアプリケーション２５が、デバイスドライバアプリケーション２５の終了要求がないと判断した場合には、ステップＳ６６以降の処理を繰り返す。
【０１００】
ステップＳ７０においてデバイスドライバアプリケーション２５は、標準プリンタドライバを復元させる。その後、ステップＳ７１においてデバイスドライバアプリケーション２５は、印刷ポートを復元させる。これにより、ＯＳプログラム１９上の標準プリンタは、デバイスドライバアプリケーション２５が実行される前の状態に戻る。
【０１０１】
その後ステップＳ７２においてデバイスドライバアプリケーション２５は、終了する。これによりデバイスドライバアプリケーション２５は、ＲＡＭ１１上から消去される。
【０１０２】
この様に、第２の実施の形態によれば、プリンタ５１は、所謂マスストレージデバイスとして機能する。そして、ＰＣ１は、プリンタ５１にデータを書き込むことによりデータを送信する。これにより、ＰＣ１とプリンタ５１との間の通信を容易に実行することができる。
【０１０３】
尚、本発明は上述の実施の形態に限られるものではなく、各構成は本発明の趣旨を逸脱しない範囲で適宜変更可能である。
【０１０４】
また、本明細書において用いた各種用語は、ＭＳＤＮ（登録商標）ライブラリ（２００５年第四四半期版）及びＶｉｒｔｕａｌＳｔｕｄｉｏ２００５のマニュアル等に明記してある用語である。
【図面の簡単な説明】
【０１０５】
【図１】本発明の第１の実施の形態にかかる情報処理システムのブロック図である。
【図２】同情報処理システムにおいて用いられるＰＣにインストールされたＯＳのブロック図である。
【図３】同情報処理システムにおいて用いられるデバイス・ディスクリプタの一例を示す表である。
【図４】同情報処理システムにおいて用いられるクラスコードの一例を示す表である。
【図５】同情報処理システムの動作の概略を示す図である。
【図６】同システムにおいて使用されるＡｕｔｏｒｕｎ．ｉｎｆファイルの構成を示す図である。
【図７】同情報処理システムを構成するＰＣの表示部に表示される画像の一例を示す図である。
【図８】同情報処理システムを構成するプリンタの一連の動作を示すフロー図である。
【図９】同ＰＣの一連の動作を示すフロー図である。
【図１０】同ＰＣの表示部に表示される画像の一例を示す図である。
【図１１】同ＰＣの表示部に表示される画像の一例を示す図である。
【図１２】同ＰＣの表示部に表示される画像の一例を示す図である。
【図１３】同ＰＣの表示部に表示される画像の一例を示す図である。
【図１４】同ＰＣの表示部に表示される画像の一例を示す図である。
【図１５】同ＰＣの表示部に表示される画像の一例を示す図である。
【図１６】同情報処理システムを構成するＰＣに展開されたデバイスドライバアプリケーションの一連の動作を示すフロー図である。
【図１７】本発明の第２の実施の形態にかかる情報処理システムのブロック図である。
【図１８】同情報処理システムを構成するプリンタの一連の動作を示すフロー図である。
【図１９】同情報処理システムを構成するＰＣの一連の動作を示すフロー図である。
【図２０】同ＰＣに展開されたデバイスドライバアプリケーションの一連の動作を示すフロー図である。
【符号の説明】
【０１０６】
１    ＰＣ
３    プリンタ
５    ケーブル
１３    コントローラ
１７    アプリケーション
１９    ＯＳプログラム
２１    アプリケーションプログラム
２３    標準ドライバ
２５    デバイスドライバアプリケーション
３３    印刷制御部
３５    印刷機構部
３７    コントローラ
３９    デバイスドライバ
４１    マスストレージ登録用データ
４３    印刷デバイス登録用データ
４５    ポート制御処理データ
５１    プリンタ
５７    印刷制御部
【図１】
2009080647.tif 000003
【図２】
2009080647.tif 000004
【図３】
2009080647.tif 000005
【図４】
2009080647.tif 000006
【図５】
2009080647.tif 000007
【図６】
2009080647.tif 000008
【図７】
2009080647.tif 000009
【図８】
2009080647.tif 000010
【図９】
2009080647.tif 000011
【図１０】
2009080647.tif 000012
【図１１】
2009080647.tif 000013
【図１２】
2009080647.tif 000014
【図１３】
2009080647.tif 000015
【図１４】
2009080647.tif 000016
【図１５】
2009080647.tif 000017
【図１６】
2009080647.tif 000018
【図１７】
2009080647.tif 000019
【図１８】
2009080647.tif 000020
【図１９】
2009080647.tif 000021
【図２０】
2009080647.tif 000022