JP5130984B2 - Usbホスト、その制御方法、コンピュータプログラム、システム - Google Patents

Usbホスト、その制御方法、コンピュータプログラム、システム Download PDF

Info

Publication number
JP5130984B2
JP5130984B2 JP2008078330A JP2008078330A JP5130984B2 JP 5130984 B2 JP5130984 B2 JP 5130984B2 JP 2008078330 A JP2008078330 A JP 2008078330A JP 2008078330 A JP2008078330 A JP 2008078330A JP 5130984 B2 JP5130984 B2 JP 5130984B2
Authority
JP
Japan
Prior art keywords
usb
identification information
hub
combination
upgrade
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.)
Active
Application number
JP2008078330A
Other languages
English (en)
Other versions
JP2009230685A (ja
Inventor
明男 高本
剛史 山田
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2008078330A priority Critical patent/JP5130984B2/ja
Priority to US12/383,480 priority patent/US8214542B2/en
Publication of JP2009230685A publication Critical patent/JP2009230685A/ja
Application granted granted Critical
Publication of JP5130984B2 publication Critical patent/JP5130984B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/4045Coupling between buses using bus bridges where the bus bridge performs an extender function

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Stored Programmes (AREA)

Description

本発明は、USBホスト、その制御方法、コンピュータプログラム、USBハブ及びUSBデバイスに関する。
従来より、USBデバイスと通信を行うUSBホストに関し、種々の工夫をこらしたものが提案されている。例えば、特許文献1では、USBホストとして機能するカラーレーザプリンタにつき、そのUSBポートにUSBデバイスであるUSBメモリが装着されたとき、そのUSBメモリが印刷の実行を許可するUSBキーか否かを判定し、USBキーであるときには印刷の実行を許可するが、USBキーでないときには印刷の実行を禁止するものが提案されている。
特開2007−98850号公報
ところで、ある種のパソコン周辺機器では、同じ装置構成を有していながら、高価な上位機種と安価な下位機種に分けて販売されることがある。この場合、上位機種には、その装置構成によって発揮できる能力に制限をかけていないのに対し、下位機種には、その能力に制限をかけてある。例えば、所定サイズの原稿を読み取るスキャン速度が60枚/分の能力を持つ装置構成のスキャナがあるとすると、上位機種ではその能力に制限をかけず60枚/分でスキャンできるのに対し、下位機種ではその能力に制限をかけて30枚/分でしかスキャンできないようにすることがある。ここで、下位機種を購入したユーザがスキャン速度に不満を感じて上位機種を購入することがあるが、その場合には実質的に同じ装置構成のスキャナを2台購入することになってしまうため、ユーザにとって好ましくない。この点を考慮して、下位機種を上位機種にアップグレードすることでユーザのスキャン速度に関する不満を解消することが好ましい。このように下位機種のスキャナを上位機種にアップブレードする一案として、特許文献1のようにUSBキーを利用することが考えられる。具体的には、スキャナをUSBホストとし、そのUSBポートにUSBデバイスであるUSBメモリが装着されたとき、そのUSBがアップブレードを許可するUSBキーか否かを判定し、USBキーであるときには能力制限を解除することが考えられる。
しかしながら、この場合、スキャナをUSBホストとして機能するように装置構成を構築する必要がある。通常の使用形態を考えると、パソコンがUSBホスト、スキャナがUSBデバイスとなるため、スキャナをUSBホストとしても機能するように装置構成を構築するのは面倒である。
本発明は、上述した課題に鑑みなされたものであり、能力が制限されたUSBデバイスを簡単な仕組みによりアップグレードすることができるUSBホスト、その制御方法及びコンピュータプログラムを提供することを目的の一つとする。また、こうしたUSBホストに接続して利用可能なUSBハブやUSBデバイスを提供することを目的の一つとする。
本発明は、上述の目的を達成するために以下の手段を採った。
本発明のUSBホストは、
USBハブを介してUSBデバイスを接続可能なUSBホストであって、
USBハブを特定するハブ識別情報とUSBデバイスを特定するデバイス識別情報との組合せのうちUSBデバイスの能力をアップさせるアップグレードを許可する組合せを記憶する組合せ記憶手段と、
USBハブが接続されたとき、USB規格に準拠して該USBハブからハブ識別情報を取得し、該USBハブにUSBデバイスが接続されていたとき、前記USB規格に準拠して該USBデバイスからデバイス識別情報を取得する識別情報取得手段と、
前記取得したハブ識別情報とデバイス識別情報との組合せが前記組合せ記憶手段に記憶された組合せと一致する場合には、前記USBデバイスにアップグレードコマンドを送信するコマンド送信手段と、
を備えたものである。
このUSBホストでは、USBハブが接続されたとき、USB規格に準拠して該USBハブからハブ識別情報を取得し、該USBハブにUSBデバイスが接続されていたとき、USB規格に準拠して該USBデバイスからデバイス識別情報を取得する。そして、取得したハブ識別情報とデバイス識別情報との組合せが予め組合せ記憶手段に記憶された組合せと一致する場合には、USBハブを介して接続されているUSBデバイスにアップグレードコマンドを送信する。このように、USBホストに接続されるUSBハブやUSBデバイスは従来通りUSB規格に準拠して通信するだけでよいため、簡単な仕組みでUSBデバイスをアップグレードすることができる。
なお、コマンド送信手段がUSBデバイスにアップグレードコマンドを送信するタイミングは特に限定されないが、例えば、処理実行コマンドを送信するときに一緒にアップグレードコマンドを送信してもよいし、USBデバイスに処理実行コマンドを送信する前にアップグレードコマンドを送信してもよい。
本発明のUSBホストにおいて、前記組合せ記憶手段は、上流ポート及び下流ポートをそれぞれ1つずつ持つUSBハブを特定するハブ識別情報とUSBデバイスを特定するデバイス識別情報との組合せを前記アップグレードを許可する組合せとして記憶していてもよい。こうすれば、複数の下流ポートを持つUSBハブに接続されたUSBデバイスはアップグレードの対象とならない。このため、一つのUSBハブに複数のUSBデバイスが接続されそのすべてのUSBデバイスがアップグレードされてしまうというリスクが発生することがない。
本発明のUSBホストにおいて、前記USBデバイスは、前記アップグレードコマンドを受信していないときには自己の持つ本来の能力を制限した状態で作動し、前記アップグレードコマンドを受信したときには自己の持つ能力の制限を解除した状態で作動するものとしてもよい。こうすれば、本来の能力を制限した状態で作動するUSBデバイスを購入したユーザは、その能力の制限を解除した状態で作動するUSBデバイスを利用したい場合、別途そのUSBデバイスを購入することなく、予め記憶手段に記憶されているハブ識別情報とデバイス識別情報の組合せを考慮してUSBハブを購入するだけでよいため、ユーザの費用負担が軽くなる。
本発明のUSBホストにおいて、前記組合せ記憶手段は、前記アップグレードを許可する組合せをアップグレードさせる段階数と対応づけて記憶する手段であり、前記コマンド送信手段は、前記取得したハブ識別情報とデバイス識別情報との組合せが前記組合せ記憶手段に記憶された組合せと一致する場合には、該組合せに対応づけられた段階数を前記USBデバイスが認識可能なアップブレードコマンドを送信する手段であるとしてもよい。こうすれば、結果的にUSBハブのハブ識別情報に応じてUSBデバイスの能力を段階的にアップすることができる。
本発明のUSBホストにおいて、前記ハブ識別情報は、前記USBハブのベンダーID及びプロダクトIDであり、前記デバイス識別情報は、前記USBデバイスのベンダーID及びプロダクトIDであるとしてもよい。こうすれば、ベンダーID及びプロダクトIDはUSB規格に準拠してUSBホストが受け取るディスクリプタに含まれるものであるから、ハブ識別情報やデバイス識別情報として利用するのにふさわしい。
本発明のUSBホストの制御方法は、
USBハブを特定するハブ識別情報とUSBデバイスを特定するデバイス識別情報との組合せのうちUSBデバイスの能力をアップさせるアップグレードを許可する組合せを記憶する組合せ記憶手段を備え、USBハブを介してUSBデバイスを接続可能なUSBホストの制御方法であって、
(a)USBハブが接続されたとき、USB規格に準拠して該USBハブからハブ識別情報を取得するステップと、
(b)該USBハブにUSBデバイスが接続されていたとき、前記USB規格に準拠して該USBデバイスからデバイス識別情報を取得するステップと、
(c)前記取得したハブ識別情報とデバイス識別情報との組合せが前記組合せ記憶手段に記憶された組合せと一致する場合には、前記USBデバイスにアップグレードコマンドを送信するステップと、
を含むものである。
このUSBホストの制御方法では、USBホストに接続されるUSBハブやUSBデバイスは従来通りUSB規格に準拠して通信するだけでよいため、簡単な仕組みでUSBデバイスをアップグレードすることができる。なお、本発明のUSBホストの制御方法において、上述したいずれかのUSBホストの機能を実現するようなステップを追加してもよい。
本発明のコンピュータプログラムは、上述したUSBホストの制御方法の各ステップを1又は複数のコンピュータに実行させるためのプログラムである。このプログラムは、コンピュータが読み取り可能な記録媒体(例えばハードディスク、ROM、FD、CD、DVDなど)に記録されていてもよいし、伝送媒体(インターネットやLANなどの通信網)を介してあるコンピュータから別のコンピュータへ配信されてもよいし、その他どのような形で授受されてもよい。このプログラムを一つのコンピュータに実行させるか又は複数のコンピュータに各ステップを分担して実行させれば、本発明のUSBホストの制御方法と同様の効果を得ることができる。
本発明のUSBハブは、
上述したいずれかのUSBホストに利用されるUSBハブであって、
前記アップグレードを許可する組合せに含まれるハブ識別情報を記憶するハブ識別情報記憶手段と、
前記USB規格に準拠して前記USBホストからのハブ識別情報の取得要求を受信したとき前記ハブ識別情報記憶手段に記憶されたハブ識別情報を前記USBホストへ送信するハブ識別情報送信手段と、
を備えたものである。
このUSBハブでは、上述したUSBホストの組合せ記憶手段に記憶されている組合せに含まれるハブ識別情報を記憶している。このため、このUSBハブに接続されたUSBデバイスのデバイス識別情報次第で、USBホストがUSBデバイスにアップグレードコマンドを送信するか否かが決定される。したがって、このUSBハブは、上述したUSBホストの効果を得るために必要不可欠なものとなる。こうしたUSBハブは、上流ポート及び下流ポートをそれぞれ1つずつ持つものとしてもよい。
本発明のUSBデバイスは、
上述したいずれかのUSBホストと接続して使用されるUSBデバイスであって、
前記アップグレードを許可する組合せに含まれるデバイス識別情報を記憶するデバイス識別情報記憶手段と、
前記USB規格に準拠して前記USBホストからのデバイス識別情報の取得要求を受信したとき前記デバイス識別情報記憶手段に記憶されたデバイス識別情報を前記USBホストへ送信するデバイス識別情報送信手段と、
前記USBホストから前記アップグレードコマンドを受信したときに自己の能力をアップする能力アップ実行手段と、
を備えたものである。
このUSBデバイスでは、上述したUSBホストの組合せ記憶手段に記憶されている組合せに含まれるデバイス識別情報を記憶している。このため、このUSBデバイスに接続されたUSBハブのハブ識別情報次第で、USBホストがUSBデバイスにアップグレードコマンドを送信するか否かが決定される。また、USBホストからアップグレードコマンドを受信したときに自己の能力をアップさせる。したがって、このUSBデバイスは、上述したUSBホストの効果を得るために必要不可欠なものとなる。
次に、本発明の実施の形態を図面に基づいて説明する。図1は、本実施形態のシステム構成の概略を示す説明図である。このシステムは、USBホストとしてのパーソナルコンピュータ(以下「パソコン」という)10と、上流ポート32及び下流ポート34をそれぞれ1つずつ持つUSBハブ30と、USBデバイスとしてのスキャナ50とから構成される。
パソコン10は、シリーズAコネクタであるUSBポート11にUSBハブ30を介してスキャナ50が接続されている。このパソコン10は、CPU12を中心とするマイクロプロセッサとして構成されており、各種処理プログラムや各種データなどを記憶したROM14と、一時的にデータを記憶するRAM16と、大容量のHDD18と、USBデバイス(ここではUSBハブ30やスキャナ50)との間で通信を行うUSBホストコントローラ20とを備え、これらはバス22を介して互いに信号のやり取りが可能なように接続されている。このうち、HDD18は、スキャナ50に対して指令を出力したりスキャナ50から動作のステータスを入力したりするスキャナドライバ18aと、接続されたUSBデバイスとの間でUSB2.0に準拠した通信を行ったりスキャナドライバ18aを動的にRAM16の作業領域にロードしたりするUSBシステムソフトウェア18bとを備えている。また、パソコン10は、スキャナドライバ18aに基づくドライバ画面をディスプレイ24に表示出力したり、ドライバ画面を見ながらキーボード26やマウス28を操作するユーザからの指示(スキャナ処理実行コマンドなど)を入力したりする。
ここで、スキャナドライバ18aには、USBポート11に接続されたUSBハブ30のハブ識別情報であるベンダーID及びプロダクトIDと、スキャナ50のデバイス識別情報であるベンダーID及びプロダクトIDとの組合せのうち、スキャナ50の能力をアップさせるアップグレードを許可する組合せがテーブルとして記憶されている。このテーブルの一例を表1に示す。本実施形態では、USBハブ30のベンダーIDは「AAAA」、プロダクトIDは「BBBB」、スキャナ50のベンダーIDは「AAAA」、プロダクトIDは「XXXX」とする。また、アップグレードを許可する組合せにおけるハブ識別情報は、いずれも上流ポート及び下流ポートをそれぞれ1つずつ持つUSBハブのハブ識別情報となっている。
Figure 0005130984
USBハブ30は、上流ポート32がUSBホスト(ここではパソコン10)に接続され、下流ポート34がUSBデバイス(ここではスキャナ50)に接続され、ハブ制御部36により各種の処理を行うように構成されている。上流ポート32は、USBホストに対する入出力データのバッファ機能やUSB2.0規格に準拠したトランシーバ機能等を備えている。下流ポート34は、USBデバイスに対する入出力データのバッファ機能やUSB2.0規格に準拠したトランシーバ機能等を備えている。ハブ制御部36は、上流ポート32と下流ポート34との間のデータ転送処理やバス速度の検出処理、トランザクション分割等のUSB2.0規格に準拠した処理を行う回路である。このUSBハブ30は、USBホストからはUSBデバイスとみなされるものであり、USBホストからデバイスディスクリプタやコンフィグレーションディスクリプタ等の取得要求を入力したとき、その応答をUSBホストへ出力する。ここで、デバイスディスクリプタは、機器を識別するための情報であり、機器を提供するベンダーを特定するベンダーIDや製品を特定するプロダクトIDなどを含む。USBハブ30は、こうしたデバイスディスクリプタをハブ制御部36のメモリ38に保存している。
スキャナ50は、シリーズBコネクタであるUSBポート80にUSBハブ30を介してパソコン10が接続されている。このスキャナ50は、スキャナ50の全体の制御を司るスキャナ制御部51と、このスキャナ制御部51によって制御されるスキャナ機構62とを備えている。スキャナ制御部51は、CPU52を中心とするマイクロプロセッサとして構成されており、各種処理プログラムや各種データ(スキャナ50のデバイスディスクリプタを含む)などを記憶したROM54と、一時的にデータを記憶するRAM56と、USBホストとの間で通信を行うUSBデバイスコントローラ58とを備え、これらはバス60を介して互いに信号のやり取りが可能なように接続されている。また、スキャナ50は、USBホストからデバイスディスクリプタやコンフィグレーションディスクリプタ等の取得要求を入力したとき、USBデバイスコントローラ58がそれに応じた応答をUSBホストへ出力する。一方、スキャナ機構62は、図示しないスタッカに積み重ねられた原稿D(例えば小切手など)を1枚ずつガラス板64とカバー66との隙間に送り込むオートシートフィーダ68と、このガラス板64の下方のキャリッジ70に搭載され原稿Dに向かって光を照射する光源72と、同じくキャリッジ70に搭載され原稿Dで反射した光をミラー74及び集光レンズ76を介して受けることにより画像を読み取るイメージセンサ78とを備えている。光源72は、主走査方向(原稿Dの送り方向と直交する方向)に並んだ複数の白色LEDからの光が線状にガラス板64へ照射されるように構成されている。イメージセンサ78は、複数の撮像素子が主走査方向に配設され、ミラー74及び集光レンズ76を介して受けた光を電荷に変換してアナログ信号を出力する。このアナログ信号は図示しないA/D変換回路によりデジタル信号に変換されたあとスキャナデータとしてRAM56の作業領域に記憶される。なお、イメージセンサ78としては、CCDイメージセンサを採用してもよいし、CMOS型のイメージセンサを採用してもよい。また、光源72として白色LEDを例示したが、例えば赤色LED、緑色LED、青色LEDや水銀ランプなどにより白色光を照射するものとしてもよい。
こうしたスキャナ50は、小切手サイズの原稿を60枚/分のスキャン速度で読み取る能力を持つように構成されているが、通常はこの能力に制限がかけられており、30枚/分のスキャン速度で原稿を読み取るようになっている。なお、このスキャナ50の上位機種として、装置構成は同じだが能力の制限が掛けられていないスキャナがこのスキャナ50よりも高い価格で販売されているものとする。
次に、こうして構成された本実施形態のシステムの動作について説明する。まず、パソコン10のUSBホストコントローラ20によって実行されるUSBデバイス認識ルーチンについて説明し、そのあとにパソコン10のCPU12によって実行されるアップグレード処理ルーチンについて説明し、最後にスキャナ50の動作について説明する。
図2は、USBデバイス認識ルーチンのフローチャートである。このルーチンは、USBホストコントローラ20によって所定タイミングごと(例えば数secごと)にUSBシステムソフトウェア18bを利用して繰り返し実行される。このルーチンが開始されると、USBホストコントローラ20は、まず、USBポート11にUSBデバイスが接続されたか否かを判定する(ステップS110)。USBデバイスが接続されたか否かは、例えばUSBポート11のVBUS状態によって判定することができる。USBデバイスが接続されていないときには、そのままこのルーチンを終了する。一方、USBデバイスが接続されていたときには、そのUSBデバイスとUSB規格に準拠した通信を実行する(ステップS120)。この通信は、USBポート11に接続されているUSBデバイスへのディスクリプタ(デバイスディスクリプタやコンフィグレーションディスクリプタ等)の取得要求の送信と、それに対するディスクリプタの受信と、受信したディスクリプタのRAM16への保存とを含む。ディスクリプタには、接続されているUSBデバイスのベンダーIDとプロダクトIDとが含まれるため、これらがRAM16に保存される。続いて、通信の結果得られたコンフィグレーションディスクリプタに基づいて、USBポート11に接続されているUSBデバイスがUSBハブか否かを判定し(ステップS130)、USBハブだったときには更にそのUSBハブにUSBデバイスが接続されているか否かを判定する(ステップS140)。ここでは、USBポート11にUSBハブ30が接続され、そのUSBハブ30にスキャナ50が接続されているから、ステップS130,S140は共に肯定判定される。続いて、USBハブに接続されているUSBデバイスとUSB規格に準拠した通信を実行する(ステップS150)。この通信は、USBハブに接続されているUSBデバイスへのディスクリプタの取得要求の送信と、それに対するディスクリプタの受信と、受信したディスクリプタのRAM16への保存とを含む。ディスクリプタには、接続されているUSBデバイスのベンダーIDとプロダクトIDとが含まれるため、これらのIDがRAM16に保存される。そして、ステップS150のあと又はステップS130及びステップS140のいずれかで否定判定されたときには、このルーチンを終了する。なお、ステップS140で否定判定されたあと、USBハブにUSBデバイスが装着されたときには、このルーチンのステップS150以降の処理を実行するものとする。
次に、パソコン10のCPU12によって実行されるアップグレード処理ルーチンについて説明する。図3は、アップグレード処理ルーチンのフローチャートである。このルーチンは、上述したUSBデバイス認識ルーチンにおいてRAM16の識別情報が新たに保存された場合に実行される。このルーチンが開始されると、CPU12は、まず、USBポート11にUSBハブが接続され、そのUSBハブに更にUSBデバイスが接続されているか否かを判定し(ステップS200)、否定判定されたときにはこのルーチンを終了する。一方、肯定判定されたときには、ハブ識別情報としてUSBハブのベンダーID及びプロダクトIDを読み出すと共にデバイス識別情報としてUSBハブに接続されているUSBデバイスのベンダーID及びプロダクトIDをRAM16から読み出す(ステップS210)。そして、読み出したハブ識別情報とデバイス識別情報との組合せが、USBハブに接続されているUSBデバイスの能力をアップさせるアップグレードを許可する組合せと一致するか否かを判定し(ステップS220)、ハブ識別情報とデバイス識別情報との組合せがアップグレードを許可する組合せと一致しなかったときには、このルーチンを終了する。ここでは、USBポート11にUSBハブ30が接続され、そのUSBハブ30にスキャナ50が接続されているから、ステップS220ではハブ識別情報とスキャナ識別情報との組合せが表1のテーブルにあるか否かを判定することになる。そして、上述したように、USBハブ30のハブ識別情報とスキャナ50のデバイス識別情報の組合せは表1のテーブルに存在しているからステップS220で肯定判定される。ステップS220で肯定判定されると、アップグレードコマンド添付フラグFcに値1をセットし(ステップS230)、このルーチンを終了する。アップグレードコマンド添付フラグFcは、ゼロのときには図示しないスキャナドライバ画面からスキャナ50にスキャン実行処理コマンドを送信するときにアップグレードコマンドを添付せず、値1のときにはスキャン実行処理コマンドを送信するときにアップグレードコマンドを添付して送信することを意味する。このアップグレードコマンド添付フラグFcは、パソコン10の電源をオフからオンにしたときや、値1になったあとスキャナ50とパソコン10との接続が断たれたときにゼロにリセットされる。
最後に、スキャナ50の動作について説明する。スキャナ50のオートシートフィーダ68の図示しないスタッカには、多数の原稿(例えば小切手)が積まれているものとする。この状態で、ユーザがパソコン10でスキャナドライバ18aを起動してディスプレイ24の図示しないスキャナドライバ画面からスキャン処理実行ボタンをマウス28でクリックしたとする。このとき、パソコン10のCPU12は、アップグレードコマンド添付フラグFcが値1であるため、スキャナ処理実行コマンドと共にアップグレードコマンドをスキャナ50に送信する。スキャナ50がこれらのコマンドを受信すると、CPU52は、アップグレードコマンドに従ってスキャン速度の制限を解除し、小切手サイズで60枚/分のスキャン速度で原稿の読み取りを実行する。一方、スキャナ50がスキャナ処理実行コマンドのみを受信すると、CPU52は、スキャン速度の制限を解除することなく、小切手サイズで30枚/分のスキャン速度で原稿の読み取りを実行する。
ここで、本実施形態の構成要素と本発明の構成要素との対応関係を明らかにする。本実施形態のパソコン10が本発明のUSBホストに相当し、HDD18が組合せ記憶手段に相当し、USBホストコントローラ20が識別情報取得手段に相当し、CPU12がコマンド送信手段に相当する。なお、本実施形態では、パソコン10の動作を説明することにより本発明のUSBホストの制御方法の一例も明らかにしている。また、本実施形態のUSBハブ30が本発明のUSBハブに相当し、メモリ38がハブ識別情報記憶手段に相当し、ハブ制御部36がハブ識別情報送信手段に相当する。更に、本実施形態のスキャナ50が本発明のUSBデバイスに相当し、ROM54がデバイス識別情報記憶手段に相当し、USBデバイスコントローラ58がデバイス識別情報送信手段に相当し、CPU52が能力アップ実行手段に相当する。
以上詳述した本実施形態によれば、パソコン10がアップグレード処理ルーチンを実行するようにスキャナドライバ18aを作成する必要はあるものの、パソコン10に接続されるUSBハブ30やスキャナ50は従来通りUSB規格に準拠して通信するだけでよいため、簡単な仕組みでスキャナ50をアップグレードすることができる。また、アップグレードを許可するハブ識別情報とデバイス識別情報の組合せは、上流ポート32及び下流ポート34をそれぞれ1つずつ持つUSBハブ30を識別するハブ識別情報を含んでいるため、複数の下流ポートを持つUSBハブに接続されたスキャナはアップグレードの対象とならない。このため、一つのUSBハブに複数のスキャナが接続されそのすべてのスキャナがアップグレードされるというリスクが発生することはない。
また、スキャナ50を購入したユーザは、スキャン速度の速い上位機種を利用したい場合、別途その上位機種の高価なスキャナを購入することなく、アップグレードを許可するハブ識別情報とデバイス識別情報の組合せを考慮してUSBハブ30を購入するだけで上位機種と同じスキャン速度が実現されるため、ユーザの費用負担が軽くなる。
更に、ベンダーID及びプロダクトIDはUSB規格に準拠してパソコン10に渡されるディスクリプタに含まれるものであるから、ハブ識別情報やデバイス識別情報として利用するのにふさわしい。
更にまた、USBハブ30は、アップグレードを許可する組合せに含まれるハブ識別情報をメモリ38に記憶しているため、このUSBハブ30に接続されたスキャナのデバイス識別情報次第で、パソコン10がそのスキャナにアップグレードコマンドを送信するか否かが決定される。また、スキャナ50も、アップグレードを許可する組合せに含まれるデバイス識別情報をROM54に記憶しているため、USBハブのハブ識別情報次第で、パソコン10がスキャナ50にアップグレードコマンドを送信するか否かが決定される。
なお、本発明は上述した実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の態様で実施し得ることはいうまでもない。
例えば、上述した実施形態では、スキャナ50はアップグレードコマンドを受信した場合にスキャン速度を30枚/分から60枚/分にアップグレードしたが、パソコン10のHDD18にハブ識別情報とデバイス識別情報との組合せをアップグレードの段階数(何段階アップグレードさせるか)と対応付けて記憶しておき、パソコン10が取得したハブ識別情報とデバイス識別情報との組合せがHDD18に記憶された組合せと一致する場合には、該組合せに対応づけられたアップグレードの段階数に応じたアップグレードコマンドをスキャナ50へ送信するとしてもよい。例えば、パソコン10のHDD18に表2のテーブルが記憶されている場合、USBハブ30のハブ識別情報のプロダクトIDが「BBBB」のときには1段階スピードアップ(例えば40枚/分)するアップグレードコマンドを、「CCCC」のときには2段階スピードアップ(例えば50枚/分)するアップグレードコマンドを、「DDDD」のときには3段階スピードアップ(例えば60枚/分)するアップグレードコマンドをスキャナ50へ送信してもよい。こうすれば、USBハブ30の種類に応じてスキャナ50の能力を段階ごとにアップさせることができる。
Figure 0005130984
上述した実施形態では、パソコン10が取得したハブ識別情報とデバイス識別情報との組合せがHDD18に記憶された組合せと一致した場合、スキャナ50のスキャン速度をアップグレードするようにしたが、アップグレードの対象はスキャン速度に限られない。例えば、スキャナ50の解像度を低解像度から高解像度へアップグレードしてもよいし、スキャナ50をモノクロ対応からフルカラー対応へアップグレードしてもよい。また、ハブ識別情報とデバイス識別情報との組合せに対応付けられた能力をアップグレードしてもよい。例えば、パソコン10のHDD18に表3のテーブルが記憶されている場合、USBハブ30のハブ識別情報のプロダクトIDが「BBBB」のときにはスキャン速度が向上するアップグレードコマンドを、「CCCC」のときには解像度が向上するアップグレードコマンドを、「DDDD」のときにはモノクロ対応からフルカラー対応になるアップグレードコマンドをスキャナ50へ送信してもよい。こうすれば、USBハブ30の種類に応じてスキャナ50を能力別にアップグレードすることができる。また、能力別にアップグレードするにあたり、一つの能力だけでなく複数の能力をアップグレードしてもよい。
Figure 0005130984
上述した実施形態では、USBデバイスとしてスキャナ50を例示したが、スキャナ以外のデバイスについても本発明を適用することができる。例えば、インクジェットプリンタやレーザプリンタにつき、印刷速度を低速から高速へアップブレードしたり、解像度を低解像度から高解像度やアップグレードしたり、モノクロ対応からフルカラー対応へアップグレードしてもよい。
上述した実施形態では、アップグレード処理ルーチンのステップS230でアップグレードコマンド添付フラグFcを値1とし、その後スキャン処理実行コマンドを送信するときにアップグレードコマンドを一緒に送信するものとしたが、ステップS230でアップグレードコマンドをスキャナ50へ送信してもよい。この場合、アップグレードコマンドを受信したスキャナ50は、アップグレードフラグFuをゼロから値1にセットし、電源がオフされるかUSBハブ30又はパソコン10とのUSB接続が断たれたときにアップグレードフラグFuをゼロにリセットする。また、スキャナ50は、アップブレードフラグFuがゼロのときにはスキャン速度を30枚/分に設定し、値1のときにはスキャン速度をアップグレードして60枚/分に設定する。このようにしても上述した実施形態と同様の効果が得られる。
上述した実施形態では、上流ポート32及び下流ポート34をそれぞれ1つずつ持つUSBハブ30を例示したが、複数の下流ポートを持つUSBハブを採用してもよい。この場合、パソコン10は、複数の下流ポートのそれぞれに接続されたUSBデバイスとUSB規格に準拠した通信を行うことにより、各下流ポートに接続されたUSBデバイスを認識すると共に、各USBデバイスのデバイス識別情報を取得する。このため、各USBデバイスごとに、ハブ識別情報とデバイス識別情報との組合せがアップグレードを許可する組合せか否かを判定し、肯定判定されたUSBデバイスについてアップグレードコマンドを送信すればよい。なお、この場合、一つのUSBハブに対して複数のUSBデバイスのアップグレードを認めることになるが、その分、ベンダーは販売価格を高価に設定すればよい。
上述した実施形態では、USBホストとしてパソコン10を例示したが、パソコン10以外のUSBホストについても本発明を適用することができる。
上述した実施形態のUSBハブ30は、1つの上流ポート32と1つの下流ポート34とを備えるものであるため、USB延長コードと称してもよい。
本実施形態のシステム構成の概略を示す説明図である。 USBデバイス認識ルーチンのフローチャートである。 アップグレード処理ルーチンのフローチャートである。
符号の説明
10 パソコン、11 USBポート、12 CPU、14 ROM、16 RAM、18 HDD、18a スキャナドライバ、18b USBシステムソフトウェア、20 USBホストコントローラ、22 バス、24 ディスプレイ、26 キーボード、28 マウス、30 USBハブ、32 上流ポート、34 下流ポート、36 ハブ制御部、38 メモリ、50 スキャナ、51 スキャナ制御部、52 CPU、54 ROM、56 RAM、58 USBデバイスコントローラ、60 バス、62 スキャナ機構、64 ガラス板、66 カバー、68 オートシートフィーダ、70 キャリッジ、72 光源、74 ミラー、76 集光レンズ、78 イメージセンサ、80 USBポート、D 原稿。

Claims (7)

  1. USBハブを介してUSBデバイスを接続可能なUSBホストであって、
    USBハブを特定するハブ識別情報とUSBデバイスを特定するデバイス識別情報との組合せのうちUSBデバイスの能力をアップさせるアップグレードを許可する組合せを記憶する組合せ記憶手段と、
    USBハブが接続されたとき、USB規格に準拠して該USBハブからハブ識別情報を取得し、該USBハブにUSBデバイスが接続されていたとき、前記USB規格に準拠して該USBデバイスからデバイス識別情報を取得する識別情報取得手段と、
    前記取得したハブ識別情報とデバイス識別情報との組合せが前記組合せ記憶手段に記憶された組合せと一致する場合には、前記USBデバイスにアップグレードコマンドを送信するコマンド送信手段と、
    を備えたUSBホスト。
  2. 前記組合せ記憶手段は、上流ポート及び下流ポートをそれぞれ1つずつ持つUSBハブを特定するハブ識別情報とUSBデバイスを特定するデバイス識別情報との組合せを前記アップグレードを許可する組合せとして記憶している、
    請求項1に記載のUSBホスト。
  3. 前記組合せ記憶手段は、前記アップグレードを許可する組合せをアップグレードさせる段階数と対応づけて記憶する手段であり、
    前記コマンド送信手段は、前記取得したハブ識別情報とデバイス識別情報との組合せが前記組合せ記憶手段に記憶された組合せと一致する場合には、該組合せに対応づけられた段階数を前記USBデバイスが認識可能なアップブレードコマンドを送信する手段である、
    請求項1又は2のいずれか1項に記載のUSBホスト。
  4. 前記ハブ識別情報は、前記USBハブのベンダーID及びプロダクトIDであり、
    前記デバイス識別情報は、前記USBデバイスのベンダーID及びプロダクトIDである、
    請求項1〜のいずれか1項に記載のUSBホスト。
  5. USBハブを特定するハブ識別情報とUSBデバイスを特定するデバイス識別情報との組合せのうちUSBデバイスの能力をアップさせるアップグレードを許可する組合せを記憶する組合せ記憶手段を備え、USBハブを介してUSBデバイスを接続可能なUSBホストの制御方法であって、
    (a)USBハブが接続されたとき、USB規格に準拠して該USBハブからハブ識別情報を取得するステップと、
    (b)該USBハブにUSBデバイスが接続されていたとき、前記USB規格に準拠して該USBデバイスからデバイス識別情報を取得するステップと、
    (c)前記取得したハブ識別情報とデバイス識別情報との組合せが前記組合せ記憶手段に記憶された組合せと一致する場合には、前記USBデバイスにアップグレードコマンドを送信するステップと、
    を含むUSBホストの制御方法。
  6. 請求項に記載のUSBホストの制御方法の各ステップを1又は複数のコンピュータに実行させるためのコンピュータプログラム。
  7. 請求項1〜のいずれか1項に記載のUSBホストと、該USBホストに接続された前記USBハブと、該USBホストに該USBハブを介して接続された前記USBデバイスと、を備えたシステムであって、
    前記USBハブは、
    前記アップグレードを許可する組合せに含まれるハブ識別情報を記憶するハブ識別情報記憶手段と、
    前記USB規格に準拠して前記USBホストからのハブ識別情報の取得要求を受信したとき前記ハブ識別情報記憶手段に記憶されたハブ識別情報を前記USBホストへ送信するハブ識別情報送信手段と、
    を備え
    前記USBデバイスは、
    前記アップグレードを許可する組合せに含まれるデバイス識別情報を記憶するデバイス識別情報記憶手段と、
    前記USB規格に準拠して前記USBホストからのデバイス識別情報の取得要求を受信したとき前記デバイス識別情報記憶手段に記憶されたデバイス識別情報を前記USBホストへ送信するデバイス識別情報送信手段と、
    前記USBホストから前記アップグレードコマンドを受信したときに自己の能力をアップする能力アップ実行手段と、
    を備えた
    システム。
JP2008078330A 2008-03-25 2008-03-25 Usbホスト、その制御方法、コンピュータプログラム、システム Active JP5130984B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008078330A JP5130984B2 (ja) 2008-03-25 2008-03-25 Usbホスト、その制御方法、コンピュータプログラム、システム
US12/383,480 US8214542B2 (en) 2008-03-25 2009-03-24 USB host, control method thereof, computer program, USB hub and USB device for allowing upgraded operation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008078330A JP5130984B2 (ja) 2008-03-25 2008-03-25 Usbホスト、その制御方法、コンピュータプログラム、システム

Publications (2)

Publication Number Publication Date
JP2009230685A JP2009230685A (ja) 2009-10-08
JP5130984B2 true JP5130984B2 (ja) 2013-01-30

Family

ID=41118824

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008078330A Active JP5130984B2 (ja) 2008-03-25 2008-03-25 Usbホスト、その制御方法、コンピュータプログラム、システム

Country Status (2)

Country Link
US (1) US8214542B2 (ja)
JP (1) JP5130984B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102034403A (zh) * 2010-12-21 2011-04-27 鸿富锦精密工业(深圳)有限公司 电子阅读设备的遥控装置及其遥控方法
JP5346003B2 (ja) * 2010-12-22 2013-11-20 Necアクセステクニカ株式会社 情報機器制御装置および情報機器制御システム
US9804977B2 (en) * 2015-04-28 2017-10-31 Microchip Technology Incorporated Universal serial bus smart hub
EP3179398B1 (en) 2015-12-10 2018-06-27 Alcatel Lucent Ensuring usb attack protection
WO2020215031A1 (en) * 2019-04-18 2020-10-22 Bretford Manufacturing, Inc. Method and apparatus for controlling led operation of a storage system
TWI749658B (zh) * 2020-07-22 2021-12-11 旺玖科技股份有限公司 具自動更新韌體功能的usb集線裝置及具有該usb集線裝置的主機系統

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3317446B2 (ja) * 1991-05-14 2002-08-26 富士ゼロックス株式会社 画像処理装置
JP3028653B2 (ja) * 1991-09-13 2000-04-04 富士ゼロックス株式会社 画像処理装置の枠消し方式
US5725559A (en) * 1996-05-16 1998-03-10 Intermedics Inc. Programmably upgradable implantable medical device
US7111324B2 (en) * 1999-01-15 2006-09-19 Safenet, Inc. USB hub keypad
US6735720B1 (en) * 2000-05-31 2004-05-11 Microsoft Corporation Method and system for recovering a failed device on a master-slave bus
US6804727B1 (en) * 2001-02-23 2004-10-12 Lexmark International, Inc. Method for communication from a host computer to a peripheral device
US7154639B2 (en) * 2001-10-25 2006-12-26 Chuwn-Jen Chien Transmission mechanism of image scanner with adjustable resolution
US7222240B2 (en) * 2001-11-06 2007-05-22 Safenet, Inc. Token for storing installation software and drivers
JP2004096338A (ja) * 2002-08-30 2004-03-25 Casio Soft Co Ltd 情報処理装置、ポート選択方法、及びプログラム
JP2004252931A (ja) * 2002-12-26 2004-09-09 Sony Corp 電子機器、機器機能制御方法およびサーバ
JP2005031239A (ja) 2003-07-09 2005-02-03 Fuji Xerox Co Ltd 画像処理装置
JP4193619B2 (ja) 2003-07-15 2008-12-10 富士ゼロックス株式会社 画像形成装置
JP2005165744A (ja) * 2003-12-03 2005-06-23 Toshiba Corp 情報処理システム
JP2005293249A (ja) * 2004-03-31 2005-10-20 Murata Mach Ltd 通信端末装置
JP4301997B2 (ja) * 2004-05-07 2009-07-22 日本電信電話株式会社 携帯電話による情報家電向け認証方法
EP1756711A1 (en) * 2004-05-31 2007-02-28 STMicroelectronics Pvl. Ltd. A method for remotely upgrading the firmware of a target device using wireless technology
US7529920B2 (en) * 2004-06-11 2009-05-05 Canon Kabushiki Kaisha Apparatus and method capable of executing plug and play installation processing operation upon acquiring one piece of device identification information including both printer and facsimile identification information
JP2006088656A (ja) 2004-09-27 2006-04-06 Fuji Photo Film Co Ltd 電子機器及び記憶媒体
JP2006202017A (ja) 2005-01-20 2006-08-03 Sharp Corp 情報処理装置、情報記憶装置、情報処理装置の機能拡張システム、情報処理装置の機能拡張方法及び機能削除方法、並びに情報処理装置の機能拡張プログラム及び機能削除プログラム
JP2007028081A (ja) * 2005-07-14 2007-02-01 Murata Mach Ltd 画像入出力装置
JP2007098850A (ja) 2005-10-06 2007-04-19 Seiko Epson Corp 画像印刷装置、画像印刷制御方法及びその制御プログラム
JP4124230B2 (ja) 2005-12-28 2008-07-23 ブラザー工業株式会社 印刷装置及びプログラム
US7725613B2 (en) * 2006-02-27 2010-05-25 Microsoft Corporation Device installation with host controller consideration
US7685322B2 (en) * 2006-02-28 2010-03-23 Microsoft Corporation Port number emulation for wireless USB connections
US20070245333A1 (en) * 2006-03-27 2007-10-18 Ferlitsch Andrew R Methods and Systems for Managing Firmware
US20080033609A1 (en) * 2006-08-04 2008-02-07 Ramin Razavi Automotive diagnostic and tuning system
WO2008133824A1 (en) * 2007-04-23 2008-11-06 Thomson Licensing Method and apparatus for software downloads in a network
US20090063717A1 (en) * 2007-08-28 2009-03-05 Bohm Mark R Rate Adaptation for Support of Full-Speed USB Transactions Over a High-Speed USB Interface
US8365201B2 (en) * 2007-12-14 2013-01-29 Microsoft Corporation Multi-function device ID with unique identifier

Also Published As

Publication number Publication date
US8214542B2 (en) 2012-07-03
US20090248904A1 (en) 2009-10-01
JP2009230685A (ja) 2009-10-08

Similar Documents

Publication Publication Date Title
JP5130984B2 (ja) Usbホスト、その制御方法、コンピュータプログラム、システム
US9649865B2 (en) Information processing apparatus and control method thereof
US8760675B2 (en) Image reading apparatus and image reading system having a reading preference input operation
US9069502B2 (en) System and method for controlling the settings of an imaging forming apparatus
JP6662264B2 (ja) 表示システム
US11146710B2 (en) Printing apparatus and control method
US9407785B2 (en) Processing apparatus, processing method and computer-readable storage medium
JP6412353B2 (ja) 画像読取装置、その制御方法、プログラム、及びシステム
US9876929B2 (en) Image output device, image output system, mobile information processing device, image output method, and non-transitory computer readable medium
US8806072B2 (en) Information processing apparatus, information processing method, and computer program product
US9258438B2 (en) Information processing apparatus, information processing terminal, and information processing system
US20080055642A1 (en) Information processing system and server
US20190303057A1 (en) Printing system, printing method, image forming apparatus and method for controlling the same, and computer-readable medium
JP4432921B2 (ja) 複合機及びその処理機能選択方法
JP2007206979A (ja) 複合機及び複合機における照合方法
US10437823B2 (en) Handwritten contents aggregation device and non-transitory computer-readable recording medium
JP2005110086A (ja) 画像処理装置
US10558400B2 (en) Electronic apparatus setting device and non-transitory recording medium storing a computer readable program
US10944877B2 (en) Image processing system, image processing apparatus, and image processing method
JP6634841B2 (ja) 画像記憶装置、画像記憶システム及びプログラム
US10819866B2 (en) Processing apparatus and non-transitory computer readable medium
JP5056470B2 (ja) 複合機用のプリンタコントローラ
JP4242798B2 (ja) Usbストレージデバイス及びその制御装置
JP2002094712A (ja) 画像処理装置及びその制御方法、並びに記憶媒体
JP2013196575A (ja) 情報処理装置、情報処理装置の制御方法及び制御プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120711

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120724

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120919

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121009

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121022

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151116

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5130984

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350