JP2008139916A - 情報処理装置、情報処理装置の制御方法、および情報処理装置の制御プログラム - Google Patents

情報処理装置、情報処理装置の制御方法、および情報処理装置の制御プログラム Download PDF

Info

Publication number
JP2008139916A
JP2008139916A JP2006322720A JP2006322720A JP2008139916A JP 2008139916 A JP2008139916 A JP 2008139916A JP 2006322720 A JP2006322720 A JP 2006322720A JP 2006322720 A JP2006322720 A JP 2006322720A JP 2008139916 A JP2008139916 A JP 2008139916A
Authority
JP
Japan
Prior art keywords
information processing
processing apparatus
unit
usb
installation
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.)
Pending
Application number
JP2006322720A
Other languages
English (en)
Other versions
JP2008139916A5 (ja
Inventor
Reiji Hasegawa
玲治 長谷川
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2006322720A priority Critical patent/JP2008139916A/ja
Priority to PCT/JP2007/072046 priority patent/WO2008065886A1/en
Priority to US12/443,208 priority patent/US8332843B2/en
Publication of JP2008139916A publication Critical patent/JP2008139916A/ja
Publication of JP2008139916A5 publication Critical patent/JP2008139916A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Systems (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

【課題】初めて周辺機器をホスト装置に接続する時、容易かつ確実に周辺機器のドライバをホスト装置にインストールできるようにする。
【解決手段】プリンタ102に加え、PC200で動作するプリンタ102のドライバ104およびそのインストーラを格納したストレージ103をUSBデバイス111、112としてUSBハブ110に接続する。インストールフラグ105にはドライバ104のインストール状態を示す値を記録する。USBハブ110にPC200が接続された時、インストールフラグ105の値が「未インストール」ならPC200がストレージ103のみにアクセスできるよう、また、インストールフラグ105の値が「インストール済み」ならPC200がストレージ103およびプリンタ102にアクセスできるようUSBデバイス111、112、およびUSBハブ110を制御する。
【選択図】図1

Description

本発明は、ホスト装置に接続され周辺機器として所定の情報処理を行なう情報処理手段を有する情報処理装置、情報処理装置の制御方法、および情報処理装置の制御プログラムに関するものである。
近年、パーソナルコンピュータ(以下PC)のようなホスト装置に接続して用いられる周辺機器として複合機化された装置が現われている。たとえば、プリンタでは、印刷出力機器としてPCに接続するために、USB(ユニバーサル・シリアル・バス)などのインターフェースが設けられている。さらに、このようなプリンタでは、メモリカードリーダを有し、デジタルカメラなどで撮影されたメモリカード内の画像をPCレスでプリンタへ直接印刷できるようになっているものがある。
上記のようにメモリカードリーダを設けたプリンタでは、USBのようなインターフェースを介して、メモリカードもPCから認識させることにより、PCカードリーダとしての機能も持たせる構成が知られている(たとえば下記の特許文献1参照)。
このように、複数の機能を持つPC周辺機器は、その複数の機能をPCに認識させることにより、PC側から見るとあたかも複数の機器が繋がっているように動作させることができる。
これらの複数の機能を別々の機器としてPCに認識させるためには周辺機器側のインターフェース制御だけでなく、PC側のOSにドライバをインストールする必要がある。最新のOSではキーボード、マウスなどの一般的な機器のドライバは既にOSに持っている。先に例を挙げたメモリカードリーダやハードディスクなど、USB規格ではストレージクラスと呼ばれるクラスの機器も同様である。したがって、キーボード、マウス、ストレージクラスのメモリカードリーダやハードディスクなどのデバイスは、USBを介して接続するだけで、自動でドライバがロードされ、直ちにメモリカードやハードディスクの内容にアクセスできるようになる。
特開2001−96868号公報 特開2003−150530号公報
一方、プリンタやイメージスキャナなど、制御が機種毎に大きく違う周辺機器のドライバを共通化することは非常に難しい。そこで、プリンタやイメージスキャナなどの周辺機器については、各メーカがそれぞれの専用ドライバを記録したCDなどのメディアを周辺機器の製品パッケージに同梱することが必要であった。
通常、ドライバをインストールした後に周辺機器をUSBで接続すれば、その周辺機器がOSに認識され、使用できるようになる。しかし、もしユーザがその手順を知らずにドライバをインストールしないで、周辺機器を先に接続するとOSでダミーのドライバを割り当ててしまうことがあり、この場合は後からドライバをインストールしても機器を正常に動作させることができない、という問題があった。また、OSによってはこの状態から復帰するには、インストールされたダミードライバを特別な手順により削除する必要があった。
専用ドライバを記録したCDなどのメディアを同梱しなくても良いような構成として、周辺機器を複合機能化し、周辺機器にストレージクラスを搭載し、このストレージ内にドライバを格納しておく構成が知られている(たとえば上記の特許文献2)。
このような構成によれば、ドライバCDを同梱する必要はなくなるが、ダミードライバによって動作しなくなる問題と、ダミードライバの削除の必要がある問題は解決できない。
また、ドライバをインストールする前にユーザが誤って機器をPCに接続してしまわないように、周辺機器によってはUSBポートに手順を記した保護シールを貼っている例もあるが、これはユーザの注意を促して問題を回避しようするだけのものであり、根本解決ではない。また、このような配慮のために、シールの印刷費や、シール貼付工数の負担増となる問題があった。
本発明の課題は、上述の問題を解決し、初めて周辺機器をホスト装置に接続する時に、容易かつ確実に周辺機器のドライバソフトウェアをホスト装置にインストールでき、周辺機器を正常に動作させることができるようにすることにある。
本発明は、ホスト装置に接続され周辺機器として所定の情報処理を行なう情報処理手段と、前記ホスト装置が前記情報処理手段を用いるためにホスト装置上で動作するドライバソフトウェアおよび該ドライバソフトウェアのインストーラを格納したストレージ手段と、前記情報処理手段、および前記ストレージ手段を前記ホスト装置と接続可能なインターフェース手段とを有する情報処理装置、その制御方法、およびその制御プログラムにおいて、前記ドライバソフトウェアが前記ホスト装置に対して未インストールであるか、またはインストール済みであるかのいずれかの値を記録するインストールフラグを用い、前記インターフェース手段にホスト装置が接続された時、前記インストールフラグが前記未インストールを示す値となっていれば前記インストーラを読み出して実行すべく前記ホスト装置が前記ストレージ手段のみにアクセスできるよう前記インターフェース手段を制御し、一方、前記インストールフラグが前記インストール済みを示す値となっていれば前記ホスト装置が前記ストレージ手段および前記情報処理手段にアクセスできるよう前記インターフェース手段を制御する構成を採用した。
上記構成によれば、ホスト装置に情報処理手段のドライバソフトウェアが未インストールである状態では、ホスト装置がストレージ手段のみにアクセスできるようインターフェース手段が制御される。このため、従来のように誤まったドライバやダミードライバがインストールされてしまうことにより発生する問題を回避することができる。情報処理手段のドライバソフトウェアは、ユーザ操作や、デバイス接続時の自動処理によりストレージ手段に用意されているインストーラを実行することにより、容易かつ確実にインストールすることができる。このように、本発明によれば、初めて周辺機器をホスト装置に接続する時に、容易かつ確実に周辺機器のドライバソフトウェアをホスト装置にインストールでき、周辺機器を正常に動作させることができる。
以下、図面を参照して、発明を実施するための最良の形態の例として2つの実施例を示す。以下の各実施例では、周辺機器としてプリンタを例示し、そのドライバソフトウェアをホスト装置であるPCに確実にインストールさせるための構成を例示する。なお、以下の周辺機器としてのプリンタはあくまでも一例であり、本発明はイメージスキャナにストレージという構成、その両方、プリンタとイメージスキャナの複合機にストレージを搭載した構成などとして実施でき、本発明における周辺機器の主機能はプリンタである必要はない。
図1と図3は本発明で周辺機器をコンパウンドデバイスとした構成を示している。一般にUSB機器において、コンパウンド構成とは複数の機能部と、USBハブを内蔵した構成をいう。
図において、周辺機器100は、制御部(制御手段)101、本周辺機器の主な情報処理を行なう情報処理手段としてのプリンタ(画像記録手段)102、およびストレージ(ストレージ手段)103を含む。ストレージ103には、ホスト装置としてのPC200のOS上でプリンタ102を動作させるためのドライバ104が格納されている。
周辺機器100は、PC200と接続するインターフェース手段としてUSBハブ110を有する。USBハブ110には、プリンタ102をUSBプリンタとして動作させるプリンタクラスのUSBデバイス111、およびストレージ103をUSBストレージとして動作させるストレージクラスのUSBデバイス112が接続されている。
制御部101は、CPUおよびRAM、後述のプログラムを記録したROM、あるいはさらに不揮発ROMなどのメモリデバイスから構成される。後述する制御プログラムは、たとえばこのROM部に記録しておくことができる。周辺機器100の各ブロックは、制御部101に対してバス、制御線などで接続され、制御部101の制御を受ける。
制御部101のメモリ部の適当なアドレスにはインストールフラグ105が割り付けられている。インストールフラグ105は、後述のようにそのフラグの状態によって、USBハブ110とプリンタクラスUSBデバイス111との接続状態を変化させるために用いられる。
インストールフラグ105は、好ましくは不揮発性のROMやバッテリーバックアップメモリ、あるいは場合によってはハードディスクなど、AC電源オフ/オンによってメモリ内容が消えないメモリデバイス上に配置する。
インストールフラグ105は、”未インストール”と”インストール済み”の2つの状態を記憶でき、工場出荷時は”未インストール”となっている。もちろん、ストレージ103にインストールフラグの状態を記録しておいてもよい。
インストールフラグ105は、制御部101により”未インストール”と”インストール済み”の2つの状態に切り替えられる。この状態に応じて後述のように周辺機器100内部のUSB接続を変化させる制御が行なわれる。なお、図1、図3ではインストールフラグ105は制御部101に内蔵されているが、ストレージ103は制御部の他の記憶装置と兼用してもかまわないので、たとえばストレージ103に記録されていてもよい。
プリンタ102は、インクジェット方式など適当な記録方式で記録媒体に印刷する能力を有するとともに、その他給紙、排紙等の機能を有するプリンタエンジンから構成され、制御部101によって制御される。
ストレージ103は、ROM、RAM、HDDなどから構成された記憶装置で、PC200のOS上でプリンタ102を動作させるためのドライバ104を記録している。これは読み書き可能であっても読み込み専用であってもかまわないし、先述の制御部101のROM、RAMなどと共用してもかまわない。
ドライバ104は、PC200のOSで動作するデバイスドライバである。ドライバ104は、PC200にプリンタクラスUSBデバイス111を制御する機能と、後述するがPC200から周辺機器100に対してドライバのインストールが完了したことを伝える機能を提供する。また、ドライバ104には、ドライバ104自身をインストールするインストーラ、インストーラをPC200で自動実行する設定ファイルが含まれている。
USBハブ110とプリンタクラスUSBデバイス111とストレージクラスUSBデバイス112は全てUSBの規格を満たす。これらとPC200はそれぞれ図のようにUSBで接続されている。図中[H]をホスト側、[D]がデバイス側の接続を表す。本実施例ではホスト/デバイスの区別は図示の通りとするが、USBOnTheGoなど別の規格を用いる場合、ホスト/デバイスの組合せはこの通りでなくてもよい。
USBハブ110は図示の通りに接続され、インストールフラグの状態により制御部101の制御によってストレージクラスUSBデバイス112との接続をオン/オフできるものとする。
プリンタクラスUSBデバイス111はUSBデバイス機能を持ち、ディスクリプタ、エンドポイントの構成は図8に示すようになっている。図8に示すように、プリンタクラスUSBデバイス111はディスクリプタをホストに返したりデータ送受信できる。また、本実施例の周辺機器100はプリンタ102を有しているため、プリンタクラスを実装するものとする。もし、周辺機器100が情報処理手段としてイメージスキャナなどを持つ場合は、さらに別にスチルイメージクラスをコンポジット/コンパウンド構成で持つ必要がある。
また、ストレージクラスUSBデバイス112はUSBデバイス機能を持ち、ディスクリプタ、エンドポイントの構成は図7に示すようになっている。USBデバイス112は図7のように、該当クラスのディスクリプタをホストに返したりデータ送受信でき、ストレージ103をホストからアクセスできるものとする。
PC200は制御部201、ストレージ202、USBホスト203などから構成される。PC200は一般的なPCでもいいし、PDAやシンクライアントであってもかまわない。特に、本発明ではメモリ・ハードディスク容量が小さくOS付属ドライバを持たないPDAやシンクライアントにおいて効果を発揮するものである。
制御部201はCPU、ストレージ202と、それ以外のROM、RAM等のストレージ、USBホスト203とそれ以外のインターフェースなど、PCを構成するのに必要な全てを含み、それぞれバスおよび制御線で接続されている。本実施例と直接関係のないストレージ202とUSBホスト203以外の構成については図示を省略してある。
PC200のストレージ202は、一般的なPCではHDDやメモリ、PDAやシンクライアントではROM、RAMなどのメモリから構成され、上述のドライバ104はこのストレージ202上にインストールされる。
また、PC200のUSBホスト203はUSB規格のホスト機能を有し、USBデバイス機器を接続、制御でき、USBプロトコルに沿ってデータの送受信を行なうことができる。
次に上記構成における動作につき説明する。ここでは、まず周辺機器100をPC200に接続して動作可能になるまでの流れを説明する。
図4は、周辺機器100の内部処理の流れを、また、図5はドライバ104のインストーラの動作を示している。特に図4、図5のそれぞれのフローと全体の動作は並行しているので、以下では適宜、各図のステップ番号を引用する。
また、図1、図3は、PC200と周辺機器100が既にUSBケーブルで接続された状態を示している。以下では、周辺機器100が出荷され、ユーザが購入した直後の状態、すなわちPC200と周辺機器100がまだ接続されていない状態から説明する。以下では、まずユーザが周辺機器100をPC200と接続した時のおおまかな流れ、および図5のドライバ104のインストーラの制御を説明し、続いて図4の周辺機器100側の制御の流れを詳細に説明する。
周辺機器100の出荷直後の初期状態ではインストールフラグ105の値は”未インストール”である。制御部101によりインストールフラグ105の値が”未インストール”であることが確認されると(後述のステップS402)、内部のUSBの接続は、図3のようになる。すなわち、USBハブ110にプリンタクラスUSBデバイス111が未接続の状態となる(後述のステップS403)。
一方、この状態においても、前述の通り、制御部101によってストレージ103がストレージクラスUSBデバイス112に接続されており、ストレージ103に対してSCSIコマンドによってアクセスできるようになっている。
近年のOSでは、メモリカードリーダ、デジタルカメラなどの普及により、USBマス・ストレージクラスのドライバが同梱されているのが一般的である。また、USBハブのドライバについても同様である。本実施例のPC200のOSにおいても、このように一般的なストレージクラスドライバ、USBハブドライバがはじめからインストールされているものとする。
ここで、ユーザが、周辺機器100とPC200をUSB接続すると、PC200のOSには既にUSBハブドライバ、マス・ストレージクラスのドライバがインストールされているので、まず、USBハブ110がPC200から認識される。これによりUSBハブ110がUSBデバイスとしてPC200にマウントされる。その後、USBハブ110に接続されたストレージクラスUSBデバイス112も認識され、マウントされる。
ここで、PC200のOSでは、周辺機器100のストレージ103がドライブの一つとしてマウントされるものとする。なお、ファイルにアクセスするパス名に「ドライブ」の概念を用いないOSも存在するが、そのようなOSのファイルシステムでは、ストレージ103はルートディレクトリから始まるディレクトリツリーの一部としてマウントされる。
このようにしてストレージ103内のドライバ104に含まれるインストーラが実行できるようになる。該インストーラを実行する手法の1つとしては、ユーザが取扱説明書などの記載に基づき、手動でストレージ103内のドライバ104に含まれるインストーラを起動する方法が考えられる。また、OSによっては、ドライブやメディアをファイルシステムにマウントした時に自動的に特定の名前の実行ファイルを起動できるものがあるが、このような機構を利用してインストーラを起動してもよい。これらのいずれかの方法によりインストーラが起動され、ドライバ104がPC200のストレージ202上にインストールされる。
インストーラは、図5に示すような流れでドライバのインストールを行なう。ステップS501でユーザにインストールの確認、ファイルのインストール場所などインストールに必要な情報があればユーザの入力を促す。ステップS502でドライバのインストールを行なう。実施例1の場合、ドライバ104はプリンタクラスUSBデバイス111のドライバである。
ステップS503でドライバのインストールが完了したことをPC200から周辺機器100へ通知する。この通知の方法としては、既にマウントされているストレージクラスUSBデバイス112を用いる場合、特定のベンダリクエストを送る、特定のSCSIコマンドを送る、デバイス112の特定のセクタに特定の値を書き込む、等が考えられる。また、USBハブ110に対してベンダリクエストを送る方法も考えられる。
上記いずれかの方法でドライバのインストール完了がPC200から通知される(後述のステップS405)と、周辺機器100ではインストールフラグ105をインストール済み状態とする(後述のステップS406)。さらに、プリンタクラスUSBデバイス111をUSBハブ110に内部でUSB接続する(後述のステップS410)。これにより、PC200では、USBハブ110を介してUSBプリンタデバイスが接続されたと認識し、既にインストール済みとなっているプリンタクラスドライバをマウントする。
以上のようにして、ユーザが周辺機器100をPC200に接続するだけで、プリンタのドライバをPC200にインストールすることができる。
次に、図4の周辺機器100側の制御の流れをより詳細に説明する。
図4の処理は周辺機器100のAC電源、ソフトスイッチ、ともにオン状態で開始され、まず、ステップS401で周辺機器内の初期化が行われる。
ステップS402でインストールフラグをチェックする。先述の通り工場出荷時フラグは”未インストール”である。”未インストール”ならステップS403へ、”インストール済み”ではステップS410へ処理を進める。
ステップS403で内部USBの接続をストレージクラスのみの構成とする。具体的には、USBハブ110を制御部101から制御することにより、ストレージクラスUSBデバイス112はUSBハブ110と接続されるが、プリンタクラスUSBデバイス111はUSBハブ110と非接続状態になり、図3の状態になる。
ステップS404では通常の周辺機器の待機状態となり、通常の周辺機器の動作はここで行なう。USBの各リクエストなどあれば応答し、ストレージクラスUSBデバイス112に対して、各リクエストがあれば応答し、SCSIコマンドが来たら必要に応じてストレージ103をアクセスし応答する。
同時にステップS405でインストール完了通知を待ち、PC200から通知が来たらステップS406へ処理を移す。
ステップS406においてインストールフラグを”インストール済み”にしてステップS410の処理へ進む。ステップS410でプリンタクラスUSBデバイス111もUSBハブ110に接続する。ストレージクラスUSBデバイス112もUSBハブ110へ接続されたままである。
ステップS411で通常の周辺機器の待機状態となる。ステップS404と同様の処理に加えて、プリンタクラスUSBデバイス111に対するUSBの各リクエストに応答する。またPC200からのプリントデータなども受け取りプリンタ102を制御してプリントしたり、PC200から要求があれば各ステータスを送ったりする。
ステップS412では、ユーザのインストールフラグ解除操作が周辺機器100の外部入力手段で行なわれていないかをチェックする。この解除操作は、たとえば液晶パネルとスイッチなどによって行なうものとする。あるいは、PC200側での適当なユーザ操作に応じて特定のUSBベンダリクエストを発生して解除操作を行なうようにしてもよい。
通常、ユーザが周辺機器を購入してPC200に接続するだけであればこのようなインストールフラグ解除操作手順は必要ない。しかし、他のPCに接続する場合や、周辺機器100を他人に譲る場合などには、この解除操作を行なうことによってインストールフラグを工場出荷状態と同じ”未インストール”状態に戻すことができる。もしインストールフラグ105の解除操作が行われたらステップS413へ、そうでなければステップS411で待機状態を続行する。ステップS413ではインストールフラグを”未インストール”状態としステップS403へ処理を移す。
以上のようにして、本実施例によれば、PC200にドライバソフトウェアが未インストールである状態では、PC200がストレージ103のみにアクセスできるようUSBインターフェースが制御される。このため、従来のように誤まったドライバやダミードライバがインストールされてしまうことにより発生する問題を回避することができる。ドライバソフトウェアは、ユーザ操作や、デバイス接続時の自動処理によりストレージ手段に用意されているインストーラを実行することにより、容易かつ確実にインストールすることができる。すなわち、ユーザが周辺機器100をPC200に接続するだけで、ユーザの手をほとんど煩わせることなくプリンタのドライバをPC200にインストールすることができる。
以上では、周辺機器100をハブ内蔵のいわゆるコンパウンド構成とした実施例を示したが、もちろん、周辺機器100はハブを内蔵しないコンポジット構成とする場合でも同様の制御を行うことができる。以下では、上述の構成部材と同等の部材については、説明を簡略化するか、あるいは省略するものとする。
図2は、本発明で周辺機器100をコンポジットデバイスとしたシステムの構成を示している。一般にUSB機器において、コンポジット構成とは複数の機能部を内蔵するが、USBハブは内蔵しない構成をいう。
図2ではプリンタとストレージのコンポジット構成を示しているが、実施例1の場合と同様、イメージスキャナにストレージという構成、あるいはその両方、プリンタとイメージスキャナ、ストレージを搭載した複合機でも同様に本発明は実施できる。
本実施例の周辺機器100は、制御部101、プリンタ102、ストレージ103、ドライバ104、USBデバイス120からなり、制御部101以外の各部は制御部101にバス、制御線などで接続され、制御部101の制御を受ける。
本実施例でも、制御部101のメモリ部の適当なアドレスにはインストールフラグ105が割り付けられている。インストールフラグ105は、後述のようにそのフラグの状態によって、USBハブ110とプリンタクラスUSBデバイス111との接続状態を変化させるために用いられる。
インストールフラグ105は、”未インストール”と”インストール済み”の2つの状態を記憶し、工場出荷時は”未インストール”となっている。もちろん、ストレージ103にインストールフラグの状態を記録しておいてもよい。また、後述する制御プログラムは、たとえば制御部101のROM部に記録しておく。
プリンタ102は、インクジェット方式など適当な記録方式のプリンタエンジンから構成される。
ストレージ103は、ROM、RAM、HDDなどから構成された記憶装置で、PC200のOS上でプリンタ102を動作させるためのドライバ104を記憶している。これは読み書き可能であっても読み込み専用であってもかまわないし、先述の制御部101のROM、RAMなどと共用してもかまわない。
ドライバ104は、PC200のOSで動作するデバイスドライバである。ドライバ104は、PC200にプリンタクラスUSBデバイス111を制御する機能と、後述するがPC200から周辺機器100に対してドライバのインストールが完了したことを伝える機能を提供する。また、ドライバ104には、ドライバ104自身をインストールするインストーラ、インストーラをPC200で自動実行する設定ファイルが含まれている。
USBデバイス120はUSBの規格を満たす。これとPC200はそれぞれ図のようにUSBで接続されている。本実施例でも、図中[H]をホスト側、[D]がデバイス側の接続を示す。本実施例ではホスト/デバイスの区別は図示の通りとするが、USBOnTheGoなど別の規格を用いる場合、ホスト/デバイスの組合せはこの通りでなくてもよい。
本実施例では、USBデバイス120は、ストレージクラスと、2つのデバイスとしての機能を切り替える形で有するコンポジットデバイスとして構成する。
USBデバイス120の1つ目のデバイスクラスはストレージクラスで、図7のようなディスクリプタ、エンドポイントの構成で、ストレージクラスのディスクリプタをPC200に返したりデータ送受信でき、ストレージ103をホストからアクセスできる。
USBデバイス120の2つ目のデバイスクラスは、周辺機器がプリンタであれば、図9のようにストレージクラスとプリンタクラスの複数のディスクリプタとインターフェースを持ったコンポジット構成のUSBデバイスとしての機能を有する。
図7および図9に示したディスクリプタは後述のように切り換えて用いられる。すなわち、図7および図9に示したディスクリプタのうち、たとえばデバイスディスクリプタのベンダーID、プロダクトID、シリアルナンバーと、ストリングディスクリプタのプロダクト名などはUSBデバイスの構成により異なるものを用いる。たとえば、図7の構成と、図9の構成では、上記のディスクリプタにはそれぞれ違う文字列を用いる。また、当然ながら、図7の構成から図9の構成へUSBデバイスが切り替わった際には、PC200から見て全く別のデバイスとして認識されなければならない。
もし、周辺機器100がさらにイメージスキャナをもつ複合機であれば、このイメージスキャナは、スチルイメージクラス、またはベンダークラスのインターフェースと各エンドポイントを持つデバイスクラスとして図9のコンポジット構成に追加することができる。
本実施例では、PC200は、実施例1と同様に構成されているものとし、ここでは詳細な説明は省略するが、PC200は、USBホスト203を介して周辺機器100のUSBデバイス120と接続される。
次に上記構成における動作につき説明する。ここでは、まず周辺機器100をPC200に接続して動作可能になるまでの流れを説明する。
図6は、実施例1の図4に相当し、周辺機器100の内部処理の流れを示している。インストーラの動作は実施例1と同じで図5の通りとする。
また図2ではPC200と周辺機器100は既にUSBケーブルで接続された状態を示しているが、以下では、周辺機器100が出荷され、ユーザが購入した直後の状態、すなわちPC200と周辺機器100がまだ接続されていない状態から説明する。以下では、まずユーザが周辺機器100をPC200と接続した時のおおまかな流れ、および図5のドライバ104のインストーラの制御を説明し、続いて図6の周辺機器100側の制御の流れを詳細に説明する。
周辺機器100の出荷直後の初期状態ではインストールフラグは”未インストール”である。制御部101によりインストールフラグ105の値が”未インストール”であることが確認されると(後述のステップS602)、USBデバイス120をストレージクラスのみの構成とする(後述のステップS603)。すなわち、制御部101の制御によりストレージ103(のみ)がUSBデバイス120のストレージクラスUSBデバイスとなっており、USBデバイス120に対するSCSIコマンドによってストレージ103にアクセスできるようになっている。
近年のOSでは、メモリカードリーダ、デジタルカメラなどの普及により、USBマス・ストレージクラスのドライバが同梱されているのが一般的である。また、USBハブのドライバについても同様である。本実施例のPC200のOSにおいても、このように一般的な(非コンポジットの)ストレージクラスドライバ、USBハブドライバがはじめからインストールされているものとする。ただし、コンポジット対応のストレージクラスドライバはまだ最新のOSにしか同梱されていないことが考えられるが、この点を考慮してコンポジット対応のストレージクラスドライバはドライバ104に含めておけばよい。
PC200のOSが非コンポジットのストレージクラスドライバのみしか有していない場合でも、上記のように初期状態ではUSBデバイス120をストレージクラスのみのUSBデバイスとして動作させれば問題なく後述の動作が可能となる。
ここで周辺機器100とPC200がユーザによって接続すると、PC200のOSに既にインストール済みのマス・ストレージクラスのドライバが動作し、ストレージクラスUSBデバイスとなっているUSBデバイス120が認識され、マウントされる。
ここで、PC200のOSでは、周辺機器100のストレージ103がドライブの一つとしてマウントされるものとする。なお、ファイルにアクセスするパス名に「ドライブ」の概念を用いないOSも存在するが、そのようなOSのファイルシステムでは、ストレージ103はルートディレクトリから始まるディレクトリツリーの一部としてマウントされる。
このようにしてストレージ103内のドライバ104に含まれるインストーラが実行できるようになる。該インストーラを実行する手法の1つとしては、ユーザが取扱説明書などの記載に基づき、手動でストレージ103内のドライバ104に含まれるインストーラを起動する方法が考えられる。また、OSによっては、ドライブやメディアをファイルシステムにマウントした時に自動的に特定の名前の実行ファイルを起動できるものがあるが、このような機構を利用してインストーラを起動してもよい。これらのいずれかの方法によりインストーラが起動され、ドライバ104がPC200のストレージ202上にインストールされる。
インストーラの動作フローは図5に示した通りである。すなわち、ステップS501でユーザにインストールの確認、ファイルのインストール場所などインストールに必要な情報があればユーザの入力を促す。ステップS502でドライバのインストールを行なう。本実施例の場合、ドライバ104は図9のコンポジット構成の定義ファイルと、コンポジット対応のプリンタクラスドライバ(あるいはさらにコンポジット対応のストレージドライバ)である。
ステップS503でドライバのインストールが完了したことをPC200から周辺機器100へ通知する。この通知の方法としては、既にマウントされているストレージクラスデバイスを用いる場合、特定のベンダリクエストを送る、特定のSCSIコマンドを送る、ストレージデバイスの特定のセクタに特定の値を書き込む、等が考えられる。また、USBデバイス120に対してベンダリクエストを送る方法も考えられる。
上記いずれかの方法でドライバのインストール完了がPC200から通知される(後述のステップS605)と、周辺機器100ではインストールフラグ105をインストール済み状態とする(後述のステップS606)。さらに、PC200と周辺機器100とのUSB接続を、制御部101がUSBデバイス120を制御することによって、切断する(後述のステップS607)。なお、このとき、PC200と周辺機器100との物理的なUSBケーブルはつながったままである。
そして、コンポジットUSBデバイスの、ディスクリプタ、エンドポイント、インターフェースの構成を図7のものから図9のものに切り替える。その後、接続を切断し、ある程度の間隔を置いた後、PC200と周辺機器100との電気的な接続を再開する。
PC200では、先程まで接続されていたものとは別のストレージクラスとプリンタクラスの両方をそなえたコンポジットUSB機器が接続されたと認識する。すなわち、PC200は既にインストール済みのコンポジット対応のストレージクラスドライバと、プリンタクラスドライバをマウントする。
以上のようにして、ユーザが周辺機器100をPC200に接続するだけで、プリンタのドライバをPC200にインストールすることができる。
次に、図6の周辺機器100側の制御の流れをより詳細に説明する。
図6の処理は周辺機器100のAC電源、ソフトスイッチ、ともにオン状態で開始され、まず、ステップS601で周辺機器内の初期化が行われる。
ステップS602でインストールフラグをチェックする。先述の通り工場出荷時フラグは”未インストール”である。”未インストール”ならステップS603へ、”インストール済み”ではステップS610へ処理を進める。
ステップS603では、USBデバイス120を図7のストレージクラスのみの構成とする。ステップS604では通常の周辺機器の待機状態となり、通常の周辺機器の動作はここで行なう。USBの各リクエストなどあれば応答し、ストレージクラスとなっているUSBデバイス120に対して各リクエストがあれば応答し、SCSIコマンドが来たら必要に応じてストレージ103をアクセスし応答する。
同時にステップS605でインストール完了通知を待ち、PC200から通知が来たらステップS606へ処理を移す。
ステップS606においてインストールフラグ105を”インストール済み”にしてステップS607の処理へ進む。ステップS607では、制御部101がUSBデバイス120を制御することによって、PC200と周辺機器100とのUSB接続を電気的に切断する。このとき、PC200と周辺機器100との物理的なUSBケーブルはつながったままである。
さらに、コンポジットUSBデバイスの、ディスクリプタ、エンドポイント、インターフェースの構成を、図7のものから図9のものに切り替えた後、PC200と周辺機器100との電気的な接続を再接続してステップS611へ進む。ステップS610ではUSBデバイス120を図9のコンポジット構成とする。
ステップS611では通常の周辺機器の待機状態となる。ステップS604と同様の処理に加えて、USBデバイス120の、プリンタクラスUSBインターフェースに対するUSBの各リクエストを返す。また、PC200からのプリントデータなども受け取りプリンタ102を制御してプリントしたり、PC200から要求があれば各ステータスを送ったりする。
ステップS612では、ユーザのインストールフラグ解除操作が周辺機器100の外部入力手段で行なわれていないかをチェックする。この解除操作は、たとえば液晶パネルとスイッチなどによって行なうものとする。あるいは、PC200側での適当なユーザ操作に応じて特定のUSBベンダリクエストを発生して解除操作を行なうようにしてもよい。
通常、ユーザが周辺機器を購入してPC200に接続するだけであればこのようなインストールフラグ解除操作手順は必要ない。しかし、他のPCに接続する場合や、周辺機器100を他人に譲る場合などには、この解除操作を行なうことによってインストールフラグを工場出荷状態と同じ”未インストール”状態に戻すことができる。もし、インストールフラグ105の解除操作が行われたらステップS613へ、そうでなければステップS611で待機状態を続行する。ステップS613ではインストールフラグを”未インストール”状態に変更し、ステップS603へ処理を移す。
以上のようにして、本実施例によれば、PC200にドライバソフトウェアが未インストールである状態では、PC200がストレージ103のみにアクセスできるようUSBインターフェースが制御される。このため、従来のように誤まったドライバやダミードライバがインストールされてしまうことにより発生する問題を回避することができる。ドライバソフトウェアは、ユーザ操作や、デバイス接続時の自動処理によりストレージ手段に用意されているインストーラを実行することにより、容易かつ確実にインストールすることができる。すなわち、ユーザが周辺機器100をPC200に接続するだけで、ユーザの手をほとんど煩わせることなくプリンタのドライバをPC200にインストールすることができる。
本発明は、ホスト装置にドライバソフトウェアをインストールして用いる必要がある種々の周辺装置、あるいはさらにこの周辺装置とホスト装置から成るシステムにおいて実施することができる。本発明を実施するためのソフトウェアは、周辺装置のROMなどのメモリ、本発明で用いるストレージ内に格納しておく他、ネットワークや、外部記憶媒体経由で周辺装置に供給、あるいはアップデートすることができる。
本発明を採用した周辺機器を含むシステムの構成を示した説明図である(実施例1)。 本発明を採用した周辺機器を含むシステムの異なる構成を示した説明図である(実施例2)。 図1のシステムの周辺機器とPCの接続状態を示した説明図である(実施例1)。 図1および図3の構成における周辺機器の制御手順を示したフローチャート図である(実施例1)。 周辺機器のドライバソフトウェアのインストーラの制御手順を示したフローチャート図である。 図2の構成における周辺機器の制御手順を示したフローチャート図である(実施例2)。 本発明におけるストレージクラスのディスクリプタ・インターフェース・エンドポイント構成を示した説明図である。 本発明におけるプリンタクラスのディスクリプタ・インターフェース・エンドポイント構成を示した説明図である。 本発明におけるコンポジット構成のディスクリプタ・インターフェース・エンドポイント構成を示した説明図である。
符号の説明
100 周辺機器
101 制御部
102 プリンタ
103 ストレージ
104 ドライバ
105 インストールフラグ
110 USBハブ
111 プリンタクラスUSBデバイス
112 ストレージクラスUSBデバイス
120 USBデバイス
200 PC
201 制御部
202 ストレージ
203 USBホスト

Claims (15)

  1. ホスト装置に接続され周辺機器として所定の情報処理を行なう情報処理手段と、
    前記ホスト装置が前記情報処理手段を用いるためにホスト装置上で動作するドライバソフトウェアおよび該ドライバソフトウェアのインストーラを格納したストレージ手段と、
    前記情報処理手段、および前記ストレージ手段を前記ホスト装置と接続可能なインターフェース手段と、
    前記ドライバソフトウェアが前記ホスト装置に対して未インストールであるか、またはインストール済みであるかのいずれかの値を記録するインストールフラグと、
    前記インターフェース手段にホスト装置が接続された時、前記インストールフラグが前記未インストールを示す値となっていれば前記インストーラを読み出して実行すべく前記ホスト装置が前記ストレージ手段のみにアクセスできるよう前記インターフェース手段を制御し、一方、前記インストールフラグが前記インストール済みを示す値となっていれば前記ホスト装置が前記ストレージ手段および前記情報処理手段にアクセスできるよう前記インターフェース手段を制御する制御手段を有することを特徴とする情報処理装置。
  2. 請求項1に記載の情報処理装置において、前記インターフェース手段が、前記ホスト装置から前記情報処理手段、および前記ストレージ手段をそれぞれUSBデバイスとしてアクセスできるよう接続可能なUSBハブを用いて構成されることを特徴とする情報処理装置。
  3. 請求項1に記載の情報処理装置において、前記インターフェース手段が、前記ホスト装置から前記情報処理手段、および前記ストレージ手段をコンポジットUSBデバイスとしてアクセスできるよう接続可能なUSBデバイスを用いて構成されることを特徴とする情報処理装置。
  4. 請求項1に記載の情報処理装置において、前記制御手段は、前記インターフェース手段を介して前記ホスト装置から、前記ドライバソフトウェアがインストール完了した旨の通知を受信し、該通知の受信に応じて前記インストールフラグに前記インストール済みを示す値を設定することを特徴とする情報処理装置。
  5. 請求項1に記載の情報処理装置において、ユーザが行なうインストールフラグ解除操作に応じて、前記インストールフラグに前記未インストールを示す値を設定することを特徴とする情報処理装置。
  6. 請求項1に記載の情報処理装置において、前記情報処理手段として画像記録手段を含むことを特徴とする情報処理装置。
  7. 請求項1に記載の情報処理装置において、前記情報処理手段として画像読み取り手段を含むことを特徴とする情報処理装置。
  8. ホスト装置に接続され周辺機器として所定の情報処理を行なう情報処理手段と、前記ホスト装置が前記情報処理手段を用いるためにホスト装置上で動作するドライバソフトウェアおよび該ドライバソフトウェアのインストーラを格納したストレージ手段と、前記情報処理手段、および前記ストレージ手段を前記ホスト装置と接続可能なインターフェース手段とを有する情報処理装置の制御方法において、
    前記ドライバソフトウェアが前記ホスト装置に対して未インストールであるか、またはインストール済みであるかのいずれかの値を記録するインストールフラグを用い、
    前記インターフェース手段にホスト装置が接続された時、前記インストールフラグが前記未インストールを示す値となっていれば前記インストーラを読み出して実行すべく前記ホスト装置が前記ストレージ手段のみにアクセスできるよう前記インターフェース手段を制御し、一方、前記インストールフラグが前記インストール済みを示す値となっていれば前記ホスト装置が前記ストレージ手段および前記情報処理手段にアクセスできるよう前記インターフェース手段を制御する制御過程を含むことを特徴とする情報処理装置の制御方法。
  9. 請求項8に記載の情報処理装置の制御方法において、前記インターフェース手段が、前記ホスト装置から前記情報処理手段、および前記ストレージ手段をそれぞれUSBデバイスとしてアクセスできるよう接続可能なUSBハブを用いて構成されることを特徴とする情報処理装置の制御方法。
  10. 請求項8に記載の情報処理装置の制御方法において、前記インターフェース手段が、前記ホスト装置から前記情報処理手段、および前記ストレージ手段をコンポジットUSBデバイスとしてアクセスできるよう接続可能なUSBデバイスを用いて構成されることを特徴とする情報処理装置の制御方法。
  11. 請求項8に記載の情報処理装置の制御方法において、前記インターフェース手段を介して前記ホスト装置から、前記ドライバソフトウェアがインストール完了した旨の通知を受信し、該通知の受信に応じて前記インストールフラグに前記インストール済みを示す値を設定することを特徴とする情報処理装置の制御方法。
  12. 請求項8に記載の情報処理装置の制御方法において、ユーザが行なうインストールフラグ解除操作に応じて、前記インストールフラグに前記未インストールを示す値を設定することを特徴とする情報処理装置の制御方法。
  13. 請求項8に記載の情報処理装置の制御方法において、前記情報処理手段として画像記録手段を含むことを特徴とする情報処理装置の制御方法。
  14. 請求項1に記載の情報処理装置の制御方法において、前記情報処理手段として画像読み取り手段を含むことを特徴とする情報処理装置の制御方法。
  15. 請求項1から8までのいずれか1項に記載の情報処理装置の制御方法を実施すべく、該情報処理装置の制御手段が前記インターフェース手段、およびインストールフラグを制御する制御過程を含むことを特徴とする情報処理装置の制御プログラム。
JP2006322720A 2006-11-30 2006-11-30 情報処理装置、情報処理装置の制御方法、および情報処理装置の制御プログラム Pending JP2008139916A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2006322720A JP2008139916A (ja) 2006-11-30 2006-11-30 情報処理装置、情報処理装置の制御方法、および情報処理装置の制御プログラム
PCT/JP2007/072046 WO2008065886A1 (en) 2006-11-30 2007-11-07 Information processing apparatus and control method for information processing apparatus
US12/443,208 US8332843B2 (en) 2006-11-30 2007-11-07 Information processing apparatus and control method for installing driver software

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006322720A JP2008139916A (ja) 2006-11-30 2006-11-30 情報処理装置、情報処理装置の制御方法、および情報処理装置の制御プログラム

Publications (2)

Publication Number Publication Date
JP2008139916A true JP2008139916A (ja) 2008-06-19
JP2008139916A5 JP2008139916A5 (ja) 2010-01-21

Family

ID=39467680

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006322720A Pending JP2008139916A (ja) 2006-11-30 2006-11-30 情報処理装置、情報処理装置の制御方法、および情報処理装置の制御プログラム

Country Status (3)

Country Link
US (1) US8332843B2 (ja)
JP (1) JP2008139916A (ja)
WO (1) WO2008065886A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010117949A (ja) * 2008-11-13 2010-05-27 Canon Inc 情報処理装置、その制御方法、及びプログラム
JP2014222507A (ja) * 2009-11-19 2014-11-27 クアルコム,インコーポレイテッド 仮想周辺ハブデバイスおよびシステム

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8836960B1 (en) 2007-01-03 2014-09-16 Marvell International Ltd. Storing device drivers in imaging devices
US8341306B1 (en) * 2008-07-21 2012-12-25 Marvell International Ltd. Installation of a device driver and a filter driver
US9152439B2 (en) * 2008-08-05 2015-10-06 Hewlett-Packard Development Company, L.P. Method and device for customizing software
JP2010152815A (ja) * 2008-12-26 2010-07-08 Seiko Epson Corp 情報処理装置、情報処理システム、情報処理装置の制御方法
CN101887374B (zh) * 2010-06-12 2015-08-12 中兴通讯股份有限公司 终端设备安装的方法及***
US8862787B2 (en) * 2010-12-20 2014-10-14 Intel Incorporation Method and apparatus for integrating driver(s) of a portable device into the portable device
JP2014085857A (ja) * 2012-10-24 2014-05-12 Alpine Electronics Inc 電子装置、電子装置の通信制御方法、電子装置の通信制御プログラム、情報端末装置および電子システム
TWI544337B (zh) * 2012-10-25 2016-08-01 緯創資通股份有限公司 共用通用串列匯流排(usb)裝置之雙作業系統架構,以及雙作業系統架構共用通用串列匯流排(usb)裝置之方法
JP6395380B2 (ja) * 2014-01-07 2018-09-26 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
EP3482299A4 (en) * 2016-10-05 2020-01-15 Hewlett-Packard Development Company, L.P. USB DEVICE FILTERING
US20190034361A1 (en) * 2017-07-28 2019-01-31 Action Star Technology Co., Ltd. Peripheral device controlling method by using storage device and storage device capable of controlling peripheral devices

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001256170A (ja) * 2000-03-13 2001-09-21 Hitachi Ltd 周辺装置及びプリンタ
JP2003114859A (ja) * 2001-10-05 2003-04-18 Matsushita Electric Ind Co Ltd Usb接続機器

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5367698A (en) * 1991-10-31 1994-11-22 Epoch Systems, Inc. Network file migration system
US5963743A (en) * 1997-08-29 1999-10-05 Dell Usa, L.P. Database for facilitating software installation and testing for a build-to-order computer system
US6167567A (en) * 1998-05-05 2000-12-26 3Com Corporation Technique for automatically updating software stored on a client computer in a networked client-server environment
US6775829B1 (en) * 1998-06-04 2004-08-10 Gateway, Inc. Method for configuring software for a build to order system
US6493871B1 (en) * 1999-09-16 2002-12-10 Microsoft Corporation Method and system for downloading updates for software installation
JP2001096868A (ja) 1999-10-01 2001-04-10 Seiko Epson Corp 複合印刷機、コンピュータ、印刷システム、及び、記録媒体
US6947171B1 (en) * 1999-10-01 2005-09-20 Seiko Epson Corporation Multifunction printer, computer, printing system and recording medium
US6598223B1 (en) * 1999-10-06 2003-07-22 Dell Usa, L.P. Method and system for installing and testing build-to-order components in a defined configuration computer system
US6823508B1 (en) * 2000-04-27 2004-11-23 Microsoft Corporation Automatic computer program customization based on a user information store
US6671749B2 (en) * 2001-03-07 2003-12-30 Hewlett-Packard Development Company, L.P. Peripheral driver installation method and system
US7150025B2 (en) * 2001-08-31 2006-12-12 Hewlett-Packard Development Company, L.P. System and method for providing hardware driver installation
JP2003150530A (ja) 2001-11-16 2003-05-23 Naltec Inc 周辺機器およびその制御方法
US6976252B2 (en) * 2002-05-17 2005-12-13 Hewlett-Packard Development Company, L.P. Systems and methods for driver installation
US7886291B1 (en) * 2003-06-11 2011-02-08 Symantec Corporation Layer typed prioritizing application layered systems
US7945897B1 (en) * 2002-06-12 2011-05-17 Symantec Corporation Method and system for running an application in a clean operating environment using a layered computing system
US8010961B1 (en) * 2003-06-11 2011-08-30 Symantec Corporation Data layer prioritization in an application layered system
US7228541B2 (en) * 2003-01-17 2007-06-05 National Instruments Corporation Creation of application system installer
US7478385B2 (en) * 2003-01-17 2009-01-13 National Instruments Corporation Installing software using programmatic component dependency analysis
US7503041B2 (en) * 2004-07-01 2009-03-10 International Business Machines Corporation Apparatus, system, and method for delivery of software
KR101309784B1 (ko) * 2006-12-28 2013-09-23 삼성전자주식회사 드라이버 설치를 위한 호스트 장치 및 그의 드라이버 설치방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001256170A (ja) * 2000-03-13 2001-09-21 Hitachi Ltd 周辺装置及びプリンタ
JP2003114859A (ja) * 2001-10-05 2003-04-18 Matsushita Electric Ind Co Ltd Usb接続機器

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010117949A (ja) * 2008-11-13 2010-05-27 Canon Inc 情報処理装置、その制御方法、及びプログラム
US8427659B2 (en) 2008-11-13 2013-04-23 Canon Kabushiki Kaisha Information processing apparatus which can selectively operate as storage device or printer device, method of controlling same, recording medium and printer which can selectively operate as storage device or printer device
JP2014222507A (ja) * 2009-11-19 2014-11-27 クアルコム,インコーポレイテッド 仮想周辺ハブデバイスおよびシステム

Also Published As

Publication number Publication date
WO2008065886A1 (en) 2008-06-05
US20100031250A1 (en) 2010-02-04
US8332843B2 (en) 2012-12-11

Similar Documents

Publication Publication Date Title
JP2008139916A (ja) 情報処理装置、情報処理装置の制御方法、および情報処理装置の制御プログラム
JP5163408B2 (ja) 情報処理装置
JP2004054896A (ja) Usbストレージデバイス及びその制御装置
KR100589521B1 (ko) 유니버설 시리얼 버스 스토리지장치 및 그 제어장치
JP5314976B2 (ja) 印刷装置及びその制御方法
JP5039331B2 (ja) 情報処理装置、削除方法及びプログラム
US8179554B2 (en) Printer, control method of a printer and computer-readable recording medium
JP2006079634A (ja) Usbストレージデバイス及びプログラム
JP2006079634A5 (ja)
US20070150072A1 (en) Method for controlling electronic apparatus, program for controlling electronic apparatus, electronic apparatus, and recording apparatus
JP5596376B2 (ja) 周辺装置
JP5241439B2 (ja) 情報処理装置、その制御方法、及びプログラム
JP2004171536A (ja) Usbストレージデバイス及びプログラム
US7827332B2 (en) Portable storage medium
JP2005115427A (ja) コンピュータにローカル接続される周辺装置
JP2006293638A (ja) 情報処理装置及び周辺装置
JP4551643B2 (ja) Usbプリンタ及びusbスキャナ
JP2004362593A (ja) プリンタメモリ
JP2004302870A (ja) メディアリーダ/ライタの書込禁止方法
JP2004017624A (ja) 印刷装置、印刷システム及び記録媒体
JP2011107944A (ja) ストレージ機器
JP2009100103A (ja) 印刷装置
JP2005038297A (ja) デバイスドライバのインストール方法、およびこれに用いる装置
US20100033747A1 (en) Image forming device, image forming system and computer readable medium for install
JP4242798B2 (ja) Usbストレージデバイス及びその制御装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091130

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091130

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100201

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20100630

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110920

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120207