JP4333764B2 - デバイス制御システム - Google Patents

デバイス制御システム Download PDF

Info

Publication number
JP4333764B2
JP4333764B2 JP2007084772A JP2007084772A JP4333764B2 JP 4333764 B2 JP4333764 B2 JP 4333764B2 JP 2007084772 A JP2007084772 A JP 2007084772A JP 2007084772 A JP2007084772 A JP 2007084772A JP 4333764 B2 JP4333764 B2 JP 4333764B2
Authority
JP
Japan
Prior art keywords
driver
function
computer
output
scsi
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.)
Expired - Fee Related
Application number
JP2007084772A
Other languages
English (en)
Other versions
JP2008242974A (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.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
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 Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2007084772A priority Critical patent/JP4333764B2/ja
Priority to US12/055,112 priority patent/US8171184B2/en
Priority to CN200810087465XA priority patent/CN101277353B/zh
Publication of JP2008242974A publication Critical patent/JP2008242974A/ja
Application granted granted Critical
Publication of JP4333764B2 publication Critical patent/JP4333764B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4247Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus
    • G06F13/426Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus using an embedded synchronisation, e.g. Firewire bus, Fibre Channel bus, SSA bus

Landscapes

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

Description

本発明は、デバイス制御システムに関する。
従来、USB(Universal Serial Bus)インターフェースを介して接続可能な複合機(MFP;multifunction peripheral)は、既に実用化されている。また、この種の複合機における代表的な構成として、複数ある機能毎にデータ転送用のエンドポイントが用意されているものが知られている。
しかし、複数ある機能毎にエンドポイントを用意すると、多機能になるほどエンドポイント数の多い高価なハードウェアが必要になるため、複合機の製造コストが増大し、低価格な複合機を提供することが困難になる、という問題がある。
こうした問題に対し、下記特許文献1,2においては、複合機に実装されるエンドポイントの数を削減するための技術が提案されている(例えば、特許文献1,2参照。)。
例えば、特許文献1に記載の技術の場合、擬似的に、ある機能を備えたデバイスとの接続断、および別の機能を備えたデバイスとの接続が行われたものと、ホスト装置に認識させることで、同一エンドポイントを介して複数の機能を選択的に利用可能としている。
また、特許文献2に記載の技術の場合、データ転送用のエンドポイントとは別に用意される制御用のエンドポイントを利用してデータ転送をも実施することで、データ転送用のエンドポイントを削減している。
特開2001−222503号公報 特開2005−175936号公報
しかしながら、上記特許文献1に記載の技術では、複合機が備える様々な機能を利用するたびに、ホスト装置側においてデバイスドライバの切り替え(使用しないドライバの無効化、および使用するドライバのロード・有効化等)が発生する。そのため、デバイスドライバの切り替えに相応の時間を要し、また、2つの機能を同時に利用することはできない、という問題がある。
また、上記特許文献1に記載の技術では、複合機のある機能が作動中の場合、その作動が確実に完了するまでは別の機能に切り替えることができないので、どのようなタイミングで切替制御を行うべきか、その判断は容易ではない、という問題もある。
さらに、上記特許文献2に記載の技術では、制御用のエンドポイントがデータ転送に利用されてしまうため、大量にデータが転送されるような状況下では、データ転送に邪魔されて必要な制御を迅速に実施できない状態に陥るおそれがあった。
つまり、上記特許文献1,2に記載の技術によって、エンドポイントを削減することはできても、その結果として、複合機の使い勝手が悪くなったり、適切な制御ができなくなったりするおそれがあった。
本発明は、上記問題を解決するためになされたものであり、その目的は、エンドポイントを削減することができ、しかも、使い勝手が悪化したり適切な制御ができなくなったりすることのない複合機を備えたデバイス制御システムを提供することにある。
以下、本発明において採用した構成について説明する
求項に記載のデバイス制御システムは、コンピュータと、プリンタ機能、スキャナ機能、FAX機能、およびデータストレージ機能の中から選ばれる複数種の機能を備えた複合機とを、USBインターフェースを介して接続してなるデバイス制御システムであって、前記複合機は、前記コンピュータとの接続を確立する際に、USB規格で規定された複数のLUNを持つUSBストレージクラスのデバイスであると、前記コンピュータが備えるOSに認識させるための情報を出力するデバイス情報出力手段と、前記コンピュータからの出力データが伝送されてきた場合に、前記出力データ中に含まれる前記LUNに基づいて、前記複数種の機能のいずれを制御するためのデータであるのかを判断して、前記複数種の機能のいずれかを制御するデバイス側制御手段とを備え、前記コンピュータは、前記コンピュータ上で機能するデータ処理部からの指令に従って、前記複数種の機能のいずれかを制御するために前記コンピュータからの出力データを前記複合機に伝送する場合に、制御対象となる機能に対応するLUNを含む前記出力データを前記複合機へと伝送するコンピュータ側制御手段を備え、前記コンピュータと前記複合機との接続を確立する際、前記コンピュータは、前記デバイス情報出力手段の出力する情報に基づいて、前記複合機が前記複数のLUNを持つUSBストレージクラスのデバイスであると認識して、前記USBストレージクラスのデバイスと通信可能な状態になる一方、前記複合機は、前記USBストレージクラスのデバイスに対応する1組の入力用および出力用のエンドポイントを介して前記コンピュータと通信可能な状態となって、前記コンピュータと前記複合機がUSB規格に準拠した通信手順で通信可能な接続状態となり、しかも、前記コンピュータが前記複数のLUNそれぞれに対応する論理ユニットに対し、SCSIコマンドの“Inquiry”を順に発行し、各コマンドに対して前記複合機が前記複数のLUNそれぞれで異なるSCSIデバイスの種別を示す応答を返すと、当該応答を受けた前記コンピュータは、前記1組の入力用および出力用のエンドポイントを介して通信可能な接続状態について切断および再接続を行うことなく、前記異なるSCSIデバイスの種別それぞれに対応する異なるデバイスドライバをロードし、それら複数の異なるデバイスドライバが、前記複数のLUNそれぞれに対応する前記複数種の機能を制御可能な状態になることを特徴とする。
このデバイス制御システムにおいて、上記のように構成された複合機であれば、コンピュータが備えるOSには、複数のLUNを持つUSBストレージクラスのデバイスであると認識させることができ、これにより、コンピュータ側では、複合機のために単一のUSBストレージドライバが用意される。その結果、コンピュータ−複合機間では、USB規格の通信プロトコルに則ってデータ伝送ができる状態になる。
USB規格の通信プロトコルに則って、コンピュータからの出力データ(パケット群)が複合機へ伝送された場合、そのデータ中には、上記複数のLUNのいずれかを指定する情報が含まれている。
そこで、複合機が備える制御手段は、出力データ中に含まれるLUNに基づいて、複数種の機能のいずれを制御するためのデータであるのかを判断して、複数種の機能のいずれかを制御する。また、複数種の機能のいずれかを制御した結果、必要があれば、コンピュータへの入力データを複合機からコンピュータへ伝送する。
このような方式でデータ伝送を行うに当たって、複合機側では、複数のLUNすべてに対応する入力用および出力用のエンドポイントを1つずつ用意すればよい。これは、複数のLUNを持つUSBストレージクラスのデバイスの場合、USB規格上、単一の入力用エンドポイントと単一の出力用エンドポイントを共用するかたちで、複数の論理的な通信路が構成されるからである。
そのため、このように構成されたデバイス制御システムによれば、複合機側では、複数のLUNすべてに対応する入力用および出力用のエンドポイントを1つずつ用意するだけで、USB規格の通信プロトコルに則って、コンピュータと複合機との間で相互にデータ伝送を行うことができ、このデータ伝送により、コンピュータから複数種の機能を制御できる。
したがって、1つの機能毎にそれぞれに対応する入力用および出力用のエンドポイントが1つずつ用意されるUSB複合デバイスとは異なり、個々の機能毎に入力用および出力用のエンドポイントを1つずつ用意しなくてもよくなるので、その分だけエンドポイント数を削減することができる。
また、コンピュータと複合機は、USB規格に準拠した通信手順で通信可能な接続状態となった後、コンピュータが、複数のLUNそれぞれに対応する論理ユニットに対し、SCSIコマンドの“Inquiry”を順に発行する。そして、各コマンドに対して複合機が複数のLUNそれぞれで異なるSCSIデバイスの種別を示す応答を返すと、当該応答を受けたコンピュータは、前記1組の入力用および出力用のエンドポイントを介した接続状態について切断および再接続を行うことなく、異なるSCSIデバイスの種別それぞれに対応する異なるデバイスドライバをロードし、それら複数の異なるデバイスドライバが、複数のLUNそれぞれに対応する複数種の機能を制御可能な状態になる。そのため、複数の機能を利用するに当たって、あるUSBデバイスとの接続を断って、別のUSBデバイスとの接続を確立するといった状況を擬似的に作り出す必要はない。したがって、コンピュータ側で、デバイスドライバの切り替えに時間を要するといった問題はなく、複数の機能を同時に利用することもできる。
さらに、制御用のエンドポイントがデータ転送に利用される構成にはなっていないので、大量にデータが転送されるような状況下でも、データ転送に邪魔されることなく、必要な制御を迅速に実施できるものとなる。
次に、請求項に記載のデバイス制御システムは、請求項4に記載のデバイス制御システムにおいて、前記複合機が備える前記デバイス情報出力手段は、前記複数のLUNそれぞれに対応付けられた機能を、前記コンピュータが備えるOSに認識させるための情報を出力可能で、前記プリンタ機能を有する場合にはSCSI規格で規定されたプリンタ・デバイスである旨の情報を出力し、前記スキャナ機能を有する場合にはSCSI規格で規定されたスキャナ・デバイスである旨の情報を出力し、前記FAX機能を有する場合にはSCSI規格で規定されたコミュニケーション・デバイスである旨の情報を出力し、前記データストレージ機能を有する場合にはSCSI規格で規定されたリムーバブルHDである旨の情報を出力し、前記コンピュータが備える前記コンピュータ側制御手段は、前記複合機から伝送されてきた情報に基づいて、プリンタ・デバイスに対応するSCSI規格に準拠したプリンタドライバ、スキャナ・デバイスに対応するSCSI規格に準拠したスキャナドライバ、コミュニケーション・デバイスに対応するSCSI規格に準拠したCOMポートドライバ、リムーバブルHDに対応するSCSI規格に準拠したリムーバブルディスクドライバの内、前記複合機から伝達された機能に応じたデバイスドライバをロードすることを特徴とする。
このように構成されたデバイス制御システムによれば、複数のLUNそれぞれに対応付けられた機能をコンピュータに伝達できるので、コンピュータが備えるOSに、プリンタ・デバイスに対応するSCSI規格に準拠したプリンタドライバ、スキャナ・デバイスに対応するSCSI規格に準拠したスキャナドライバ、コミュニケーション・デバイスに対応するSCSI規格に準拠したCOMポートドライバ、リムーバブルHDに対応するSCSI規格に準拠したリムーバブルディスクドライバの内、伝達された機能に応じたデバイスドライバをロードさせることができる。
次に、請求項に記載のデバイス制御システムは、請求項4に記載のデバイス制御システムにおいて、前記複合機が備える前記デバイス情報出力手段は、前記複数のLUNそれぞれに対応付けられた機能を、前記コンピュータが備えるOSに認識させるための情報を出力可能で、前記プリンタ機能、前記スキャナ機能、および前記FAX機能のいずれかを有する場合には、いずれの場合ともSCSI規格で規定されたコミュニケーション・デバイスである旨の情報を出力し、前記データストレージ機能を有する場合にはSCSI規格で規定されたリムーバブルHDである旨の情報を出力し、前記コンピュータが備える前記コンピュータ側制御手段は、前記複合機から伝送されてきた情報に基づいて、プリンタ・デバイス、スキャナ・デバイス、およびコミュニケーション・デバイスに対応するSCSI規格に準拠したCOMポートドライバ、リムーバブルHDに対応するSCSI規格に準拠したリムーバブルディスクドライバの内、伝達された機能に応じたデバイスドライバをロードし、さらに、プリンタ・デバイスに対応するCOMポートドライバをロードした場合には、当該COMポートドライバを介してプリンタ・デバイスを制御可能なプリンタドライバをロードし、スキャナ・デバイスに対応するCOMポートドライバをロードした場合には、当該COMポートドライバを介してスキャナ・デバイスを制御可能なスキャナドライバをロードすることを特徴とする。
このように構成されたデバイス制御システムによれば、複数のLUNそれぞれに対応付けられた機能をコンピュータに伝達できるので、コンピュータが備えるOSに、プリンタ・デバイス、スキャナ・デバイス、およびコミュニケーション・デバイスに対応するSCSI規格に準拠したCOMポートドライバ、リムーバブルHDに対応するSCSI規格に準拠したリムーバブルディスクドライバの内、伝達された機能に応じたデバイスドライバをロードさせることができる。
したがって、コンピュータ側では、プリンタ・デバイス、スキャナ・デバイス、およびコミュニケーション・デバイスについては、SCSI規格に準拠したCOMポートドライバを共用できるので、SCSI規格に準拠したプリンタドライバやSCSI規格に準拠したスキャナドライバを使用する代わりに、COMポートドライバを介してプリンタ・デバイスやスキャナ・デバイスを制御可能なプリンタドライバやスキャナドライバを使用できるようになる。その結果、プリンタドライバやスキャナドライバについては、SCSI規格による制約を受けないデバイスドライバを利用することも可能となる。
次に、本発明の実施形態について、より具体的な例を挙げて説明する。
(1)第1実施形態
[デバイス制御システムの構成]
図1は、本発明の一例として例示するデバイス制御システム全体のブロック図である。
このデバイス制御システムは、複合機11およびPC(Personal Computer)12を備えてなる。複合機11およびPC12は、双方ともUSBインターフェースを有するもので、USB−HUB13を介して接続されて相互間でデータ伝送ができるようになっている。また、USB−HUB13には、他のUSBデバイス14なども接続されている。
本実施形態において、複合機11は、プリンタ機能、スキャナ機能、PC−FAX機能、カードリーダ機能(本発明でいうデータストレージ機能の一種)などを備える多機能デバイスで、これらの機能をPC12から制御できるようになっている。
[複合機の内部構成]
図2は、複合機11の内部構成を示すブロック図である。
複合機11は、USBインターフェースを構成するためのハードウェアとして、USBプロトコルエンジン101、制御回路103、およびカードリーダ系データ入出力回路105などを備えている。PC12との間でデータ伝送を行う際には、上記USBプロトコルエンジン101による制御下で、USB規格の通信プロトコルにてデータが伝送される。
これらのハードウェアは、エンドポイントを介してPC12との間でデータを伝送するように構成されている。具体的には、制御回路103は、コントロール転送用のエンドポイント(以下、EP0と称する。)を介して、PC12との間で各種制御データの入出力(双方向通信)を行う。
また、カードリーダ系データ入出力回路105は、入力データ用のエンドポイント(以下、EP1と称する。)を介して、PC12への入力データを伝送する。また、カードリーダ系データ入出力回路105は、出力データ用のエンドポイント(以下、EP2と称する。)を介して、PC12から伝送されてくる出力データを取得する。
また、複合機11は、複合機11内で機能するソフトウェアの1つとして、SCSIコマンド解析タスク111を備えている。
カードリーダ系データ入出力回路105からSCSIコマンド解析タスク111へデータが伝送されてきた場合、SCSIコマンド解析タスク111は、データ中に含まれる情報(USB規格で規定されたデータ列中に存在するLUN)に基づいて、4系統あるデータ処理系のいずれか(LUN0〜LUN3のいずれかに対応するデータ処理系)へデータを振り分ける。
また、4系統あるデータ処理系のいずれか(LUN0〜LUN3のいずれかに対応するデータ処理系)からSCSIコマンド解析タスク111へデータが伝送されてきた場合、SCSIコマンド解析タスク111は、そのデータをカードリーダ系データ入出力回路105へ伝送する。
SCSIコマンド解析タスク111が、上記4系統あるデータ処理系の内、LUN0側へデータを振り分けた場合、そのデータはメモリスロット入出力制御タスク121へと伝送される。メモリスロット入出力制御タスク121は、第1メモリスロット131、第2メモリスロット132、第3メモリスロット133、および第4メモリスロット134を制御するためのソフトウェアである。
第1メモリスロット131、第2メモリスロット132、第3メモリスロット133、第4メモリスロット134は、いずれもメモリカードがマウントされるスロットで、それぞれが他のスロットとは異なる規格のメモリカードをマウントできる構造になっている。
なお、本実施形態において、第1メモリスロット131、第2メモリスロット132、第3メモリスロット133、および第4メモリスロット134は、それぞれが排他的に利用可能となるものである。例えば、第1メモリスロット131にメモリカードがマウントされた場合、そのメモリカードがアンマウントされるまで、他のスロットは利用不能となる。
また、SCSIコマンド解析タスク111が、上記4系統あるデータ処理系の内、LUN1側へデータを振り分けた場合、そのデータはプリンタ入出力タスク151へと伝送される。プリンタ入出力タスク151へ伝送されたデータは、さらに印字制御タスク161へと伝送されて、印字制御タスク161によってプリンタハードウェア171が制御される。
また、SCSIコマンド解析タスク111が、上記4系統あるデータ処理系の内、LUN2側へデータを振り分けた場合、そのデータはスキャナ入出力タスク153へと伝送される。スキャナ入出力タスク153へ伝送されたデータは、さらにスキャナ制御タスク163へと伝送されて、スキャナ制御タスク163によってスキャナハードウェア173が制御される。
また、SCSIコマンド解析タスク111が、上記4系統あるデータ処理系の内、LUN3側へデータを振り分けた場合、そのデータはPC−FAX入出力タスク155へと伝送される。PC−FAX入出力タスク155へ伝送されたデータは、さらにモデム制御タスク165へと伝送されて、モデム制御タスク165によってモデムハードウェア175が制御される。
[PCの内部構成]
図3は、PC12の内部構成を示すブロック図である。
PC12においては、OSによる標準機能として、USBプロトコルスタック201、USBストレージドライバ203、SCSIコマンド処理部211、213、215、217、リムーバブルディスクドライバ221、ファイルシステム231などが機能する。
また、PC12においては、複合機11に対応する専用ソフトウェアとして、プリントポートドライバ223、スキャナドライバ225(本発明でいうデバイスドライバの一例に相当)、COMポートドライバ227(本発明でいうデバイスドライバの一例に相当)、プリンタドライバ261(本発明でいうデバイスドライバの一例に相当)などが機能する。
さらに、PC12においては、これらの機能を利用するアプリケーションソフトウェアとして、印刷可能アプリケーション271、スキャン可能アプリケーション273、PC−FAXアプリケーション275などが機能する。
加えて、本実施形態において、PC12が備えるOSとしては、Windows(登録商標)が利用されており、PC12においては、Windows(登録商標)付属のソフトウェアであるエクスプローラ277なども機能する。ただし、PC12が備えるOSは、同等な機能を実現できるものであれば、Windows(登録商標)以外のOSであってもよい。
なお、PC12においては、他のUSBデバイス14に対応する他のUSBデバイスのドライバ281なども機能する。
これらの内、USBプロトコルスタック201は、PC12の起動に伴って機能し、その後は、図4に示すように、PC12にUSBデバイスが接続されたかどうかを定期的に監視する。
ここで、複合機11がPC12に接続された場合は、複合機11からの応答がPC12に返されるので、USBプロトコルスタック201は、複合機11に対してデバイスタイプについての応答を要求する。この要求に対し、複合機11はUSBストレージクラスである旨の応答を返すので、PC12では、USBストレージドライバ203がロードされ、その結果、USBストレージドライバ203が機能する状態に移行する。
USBストレージドライバ203が機能すると、USBストレージドライバ203は、複合機11に対して最大LUNを要求する。この要求に対し、複合機11は最大LUN(本実施形態の場合はLUN3)を返すので、PC12では、LUN0〜LUN3に対応する4つの論理ユニットが存在することを認識し、各論理ユニットに対応するSCSIコマンド処理部211、213、215、217が作られる。これらSCSIコマンド処理部211〜217は、USBストレージドライバ203経由で複合機へSCSIコマンドを伝送するための入口である。
SCSIコマンド処理部211が作られると、SCSIコマンド処理部211は、LUN0の論理ユニットに対してSCSIコマンドの“Inquiry”を発行する。これに対し、複合機11からはリムーバブルHDである旨の応答が返されるので、PC12では、リムーバブルディスクドライバ221がロードされる。
これにより、LUN0の論理ユニットがファイルシステム231と結合し、その結果、LUN0の論理ユニットに対応するドライブレターが割り当てられる。以降、そのドライブレターを指定すれば、LUN0の論理ユニットに対するアクセスを行うことができる状態になる。なお、複合機11において、LUN0に対応する論理ユニットは、メモリスロット入出力制御タスク121の制御下にある構成である。
また、SCSIコマンド処理部213〜217も、上記SCSIコマンド処理部211と同様な処理を実行する。具体的には、SCSIコマンド処理部213は、LUN1の論理ユニットに対してSCSIコマンドの“Inquiry”を発行する。これに対し、複合機11からはプリンタである旨の応答が返されるので、PC12では、プリントポートドライバ223がロードされる。
プリントポートドライバ223は、実際に印刷が実行される際に、プリンタドライバ261と結合し、これにより、PC12から複合機11への印刷データの伝送系が構成されることになる。なお、複合機11において、LUN1に対応する論理ユニットは、プリンタ入出力タスク151の制御下にある構成である。
以下同様に、SCSIコマンド処理部215は、LUN2の論理ユニットに対してSCSIコマンドの“Inquiry”を発行する。これに対し、複合機11からはスキャナである旨の応答が返されるので、PC12では、スキャナドライバ225がロードされる。複合機11において、LUN2に対応する論理ユニットは、スキャナ入出力タスク153の制御下にある構成である。
また、SCSIコマンド処理部217は、LUN3の論理ユニットに対してSCSIコマンドの“Inquiry”を発行する。これに対し、複合機11からはコミュニケーションデバイスである旨の応答が返されるので、PC12では、COMポートドライバ227がロードされる。複合機11において、LUN3に対応する論理ユニットは、PC−FAX入出力タスク155の制御下にある構成である。
以上のような手順で各ドライバ類等がロードされた後、各デバイスドライバは、SCSIコマンド処理部213〜217経由で、各論理ユニットとSCSI規格に準拠した方式でデータ伝送を実施できる状態になる。
これは、複数LUNを持つUSBストレージクラスのデバイスの場合、各論理ユニットとの間では、SCSI規格に準拠した方式でデータ伝送を行うことが、USB規格上で規定されているためである。すなわち、複数LUNを持つUSBストレージクラスのデバイスの場合、USB規格上、内部的にはSCSI規格に準拠した方式でデータ伝送が行われており、このようなデータ伝送方式がUSB規格に準拠した方式になるのである。
このような方式でデータを伝送する場合、各デバイスドライバと複合機11内の論理ユニットは、互いにSCSI規格に準拠した方式でデータ伝送を行うだけであり、両者間でUSB規格に準拠した通信プロトコルが利用されるか否かについては関知しない。
一方、PC12のOSは、USB規格に準拠した通信プロトコル利用して、SCSI規格に準拠した方式でデータ伝送を行うための論理的な通信路は用意するものの、その論理的な通信路を介してどのような内容のデータが伝送されるのかについては関知しない。そのため、OSが用意した通信路には、SCSI規格に準拠した方式のデータであれば、どのようなデータでも流すことができ、データストレージ系以外のデバイスに対応するデータであっても流すことができる。
このような通信路の特性を利用して、本実施形態においては、プリンタ機能、スキャナ機能、PC−FAX機能、カードリーダ機能、以上4種の機能を持つ4つの論理ユニットそれぞれを対象にして、SCSI規格に準拠した方式でデータ伝送を行っている。
より具体的には、SCSIコマンド処理部213〜217を介して複合機11との間でデータ伝送を行うドライバ類(プリントポートドライバ223、スキャナドライバ225、COMポートドライバ227)については、いずれもSCSI規格に対応したドライバとされている。一方、複合機11側の論理ユニットも、SCSI規格に準拠した方式での制御ができるように構成されている。
このような構成を採用することにより、各ドライバは、USB規格を意識することなく、SCSI規格に準拠した方式で各論理ユニットの機能(プリンタ機能、スキャナ機能、PC−FAX機能、カードリーダ機能)を制御できるのである。また、各ドライバと論理ユニット間では、各種データを内部的にはSCSI規格に準拠した方式で伝送でき、これにより、USB規格に準拠した方式でデータを伝送していることにもなるのである。
さらに、複数LUNを持つUSBストレージクラスのデバイスの場合、各論理ユニットとの間でデータ伝送を行う際には、複合機11側には、入力データ用のエンドポイントEP1と、出力データ用のエンドポイントEP2を、それぞれ1つずつ設ければよい。この点は、同じくUSB規格に準拠したデバイスであっても、USB複合デバイスとは大きく異なる点である。
すなわち、USB複合デバイスの場合は、USB規格上、入力データ用のエンドポイントと出力データ用のエンドポイントを、各機能毎にそれぞれ1つずつ設けなければならない。そのため、入力データ用のエンドポイントと出力データ用のエンドポイントの総数は「機能数×2」となる。これに対し、上記複合機11のような構成であれば、入力データ用のエンドポイントと出力データ用のエンドポイントの総数は、機能数によらず「2」となるのである。
なお、PC12において、以上のような手順で各ドライバ類等が用意された後は、LUN0の論理ユニットに対応するドライブレターを利用すれば、第1メモリスロット131、第2メモリスロット132、第3メモリスロット133、および第4メモリスロット134の内、いずれかにマウントされたメモリカードにアクセスすることができる。
例えば、エクスプローラ277を利用して、第1メモリスロット131にマウントされたメモリカード内のファイルに対する操作が行われると、エクスプローラ277からの指令は、ファイルシステム231、リムーバブルディスクドライバ221、SCSIコマンド処理部211、USBストレージドライバ203、USBプロトコルスタック201経由で、複合機11へと伝送される。
また、複合機11からの応答は、USBプロトコルスタック201、USBストレージドライバ203、SCSIコマンド処理部211、リムーバブルディスクドライバ221、ファイルシステム231経由で、エクスプローラ277へと戻される。
また、印刷可能アプリケーション271から出力される印刷データは、プリンタドライバ261経由で、プリントポートドライバ223へと伝送される。プリントポートドライバ223は、SCSI規格に準拠したプリンタデバイスへ印刷データを出力するためのコマンドを発行し、これにより、印刷データがSCSIコマンド処理部213へと伝送され、USBストレージドライバ203、USBプロトコルスタック201経由で、複合機11へと伝送されることになる。
同様に、スキャン可能アプリケーション273から出力されるスキャナ制御データ等は、スキャナドライバ225、SCSIコマンド処理部215、USBストレージドライバ203、USBプロトコルスタック201経由で、複合機11へと伝送される。また、PC−FAXアプリケーション275から出力されるファクシミリ送信データや制御データ等は、COMポートドライバ227、SCSIコマンド処理部217、USBストレージドライバ203、USBプロトコルスタック201経由で、複合機11へと伝送される。
また、上記のような各種データを伝送した結果、PC12への入力データが複合機11側から伝送されてくる場合がある。例えば、スキャナ制御データを複合機11へ伝送した場合であれば、複合機11においてスキャン機能が作動し、その結果、スキャンデータが複合機11側から伝送されてくる。
このようなPC12への入力データは、例えばスキャンデータの場合、USBプロトコルスタック201、USBストレージドライバ203、SCSIコマンド処理部215、スキャナドライバ225経由で、スキャン可能アプリケーション273へと伝送されることになる。
また、プリンタ機能についてのステータスデータ(例えば、印刷エラーに関する情報等)であれば、USBプロトコルスタック201、USBストレージドライバ203、SCSIコマンド処理部213、プリントポートドライバ223、プリンタドライバ261経由で、印刷可能アプリケーション271へと伝送されることになる。
さらに、PC−FAX機能によるファクシミリ受信データであれば、USBプロトコルスタック201、USBストレージドライバ203、SCSIコマンド処理部217、COMポートドライバ227経由で、PC−FAXアプリケーションへと伝送されることになる。
[複合機用ソフトウェアのインストール処理]
次に、上記のような複合機11をPC12から利用可能とするため、PC12において実行される複合機用ソフトウェアのインストール処理について、図5のフローチャートに基づいて説明する。
この処理を開始すると、PC12は、図5に示すように、まずインストーラを起動する(S105)。このS105の処理は、利用者が所定の操作を行うと実行されるようになっていてもよいし、CD−ROMなどのメディアをCD−ROMドライブなどにセットすると、それに連動して自動的に実行されるようになっていてもよい。
続いて、PC12は、複合機用のプリンタドライバ、プリントポートドライバ、スキャナドライバ、COMポートドライバをOSに登録する(S110)。S110の処理によってOSに登録される各ドライバは、いずれも複合機11のメーカーから提供されるSCSI接続用のソフトウェアである。S110の処理では、OSの機能(後述するPnPインストール機能)を利用して各ドライバのインストールを実施するために必要となる情報がOSに登録される。
そして、PC12は、PC12と複合機11をUSB接続することを利用者に指示するためのメッセージを、PC12の表示部に表示する(S110)。このメッセージを表示する際には、PC12の表示部にキャンセルボタンも表示される。
上記メッセージの表示後、PC12は、PC12のOSの機能により、PnPインストールが開始されるのを監視する(S120)。そして、PnPインストールが開始されていない場合は(S120:開始されていない)、キャンセルボタンが押されたか否かを判断する(S125)。ここで、キャンセルボタンが押されていない場合は(S125:押されていない)、S120の処理へと戻る。
以上のようなS120〜S125の繰り返し処理が行われる中で、利用者はキャンセルボタンを押す操作(=例えば、表示部に表示されたキャンセルボタンを、ポインティングデバイスでクリックする操作)を行うことができる。ここで、利用者がキャンセルボタンを押した場合(S125:押された)、PC12は、一旦登録した複合機用ドライバ類をOSから登録解除して(S130)、インストールを中止する。
一方、S120〜S125の繰り返し処理が行われる中で、PnPインストールが開始された場合(S120:開始された)、PnPインストールが開始されたと言うことはPC12と複合機11とがUSB接続されたはずなので、その場合、ドライバ類はOSのPnPの仕組みにより自動的にインストールされることになる(S135)。
したがって、PC12は、現在インストール中の画面に移る(S140)。この段階では、既にドライバ類の組み込みに必要な情報等が順次登録されてゆくことになるので、PC12の表示部には、キャンセルボタン等は表示されず、キャンセル操作は不可となる。
そして、PnPインストールの完了を待ち(S145)、完了していない場合(S145:完了していない)、S145の処理へと戻る。一方、PnPインストールが完了した場合(S145:完了した)、PC12は、PC−FAXアプリが使用するCOMポートをLUN3のCOMポートに設定する(S150)。
S150の処理では、COMポートドライバ227のインストールに伴って、PC12上に新たに出現したCOMポートに対して、PC−FAXアプリケーション275を割り付ける処理が実行される。これにより、以降、PC−FAXアプリケーション275は、PC12上にいくつか存在し得るCOMポートの内、自身が使用すべきCOMポートを認識できることになる。
そして、PC12は、インストール完了の確認画面を表示する(S155)。この確認画面を表示する際には、PC12の表示部にOKボタンも表示される。ここで、利用者はOKボタンを押す操作を行うことができ、利用者がOKボタンを押した場合、PC12は、複合機用ソフトウェアのインストール処理を完了する。
[PCの電源ONから電源OFFに至るまでに実行される処理の一例]
次に、PCの電源ONから電源OFFに至るまでに実行される処理の一例について、図6〜図8に基づいて説明する。なお、以下に説明する処理の一例は、複合機11の電源スイッチがONにされている状態で、PC12の電源スイッチがONにされた場合の例である。
PC12の電源スイッチがONにされた場合、PC12は、図6に示すように、まず、OSをロードし(S305)、続いて、スタティックドライバをロードする(S310)。S310の処理は、詳しくは図7に示す処理となる。
すなわち、PC12では、図7に示すように、まず、OSがレジストリ設定を参照して、スタティックドライバを順次ロードする(S405)。そして、本発明の構成に関連する処理としては、プリンタドライバをロードし(S410)、プリントポートドライバをロードし(S415)、スキャナドライバをロードして(S420)、図7に示す処理を終了する。
図7に示す処理を終了すると、図6に示すS310の処理を終了したことになるので、PC12は、続いて、ダイナミックドライバをロードする(S315)。S315の処理は、詳しくは図8に示す処理となる。
すなわち、PC12では、図8に示すように、まず、OSがハードウェア接続状態を参照して、ダイナミックドライバを順次ロードする(S505)。そして、本発明の構成に関連する処理としては、USBプロトコルスタック201が複合機11を見つけた場合、複合機11にデバイスタイプを問い合わせる(S510)。
そして、この問い合わせに対し、複合機11からUSBストレージデバイスである旨の返答が有った場合、PC12は、USBストレージドライバ203をロードする(S515)。
このS515の処理により、USBストレージドライバ203が機能する状態となり、引き続いて、USBストレージドライバ203が複合機11にLUN数を問い合わせる(S520)。より具体的には、S520の処理において、USBストレージドライバ203は、最大LUNを問い合わせる。
本実施形態の場合、複合機11は4つの論理ユニットを備え、それらの論理ユニットに対し、LUNとして最小LUNを“0”とする連番を割り当てているので、最大LUNとしては“3”が返されることになる。
PC12は、最大LUNとして“3”が返されたことをもって、複合機11からLUN数が4個であると返答が有ったものと認識し、その場合、SCSIコマンド処理の入り口を4個作る(S525)。このS525の処理により、SCSIコマンド処理部211〜217が構成されることになる。
SCSIコマンド処理部211〜217が機能する状態になると、SCSIコマンド処理部211は、LUN0の論理ユニットに対して“Inquiry”を発行する(S530)。
これに対し、本実施形態の場合、LUN0の論理ユニットからは“リムーバブルHD”と返答が有る。この場合、PC12は、OS標準のSCSI接続用リムーバブルディスクドライバ221をロードし、ファイルシステム231と結合、その結果、LUN0の論理ユニットにドライブレターが割り当てられ、ドライブレターが出現することになる(S535)。ちなみに、リムーバブルディスクドライバ221については、PC12とUSBストレージデバイスとをUSB接続するため、PC12のOSが標準でSCSI接続用のドライバを備えている。したがって、リムーバブルディスクドライバ221については、メーカーが複合機11対応のSCSI接続用ドライバを利用者に提供しなくてもよい。
また、SCSIコマンド処理部213は、LUN1の論理ユニットに対して“Inquiry”を発行する(S540)。これに対し、LUN1の論理ユニットからは“プリンタ”で有る旨の返答が有る。この場合、PC12は、メーカー提供のSCSI接続用プリントポートドライバ223をロードする(S545)。このプリントポートドライバ223は、実際に印刷が実行される際に、プリンタドライバ261と結合することになる。ちなみに、プリントポートドライバ223は、PC12のOSが標準で備えているものではないので、メーカーが複合機11対応のSCSI接続用ドライバを利用者に提供することになる。
また、SCSIコマンド処理部215は、LUN2の論理ユニットに対して“Inquiry”を発行する(S550)。これに対し、LUN2の論理ユニットからは“スキャナ”で有る旨の返答が有る。この場合、PC12は、メーカー提供のSCSI接続用スキャナドライバ225をロードする(S555)。ちなみに、スキャナドライバ225も、プリントポートドライバ223同様、PC12のOSが標準で備えているものではないので、メーカーが複合機11対応のSCSI接続用ドライバを利用者に提供することになる。
さらに、SCSIコマンド処理部217は、LUN3の論理ユニットに対して“Inquiry”を発行する(S560)。これに対し、LUN3の論理ユニットからは“コミュニケーションデバイス”で有る旨の返答が有る。この場合、PC12は、メーカー提供のSCSI接続用COMポートドライバ227をロードする(S565)。ちなみに、COMポートドライバ227も、プリントポートドライバ223やスキャナドライバ225同様、PC12のOSが標準で備えているものではないので、メーカーが複合機11対応のSCSI接続用ドライバを利用者に提供することになる。
こうして図8に示したダイナミックドライバのロード処理を終えると、図6に示したS315の処理を終えたことになるので、続いて、PC12は、サービスプロセスをロードして(S320)、ログイン待ちになる(S325)。
S325の処理は、利用者がログイン操作を行うまで継続される(S325:ログインまだ)。そして、利用者がログイン操作を行った場合(S325:ログインした)、PC12は、自動起動プログラムを起動する(S330)。S330の処理では、OSがスタートメニューのスタートアップを参照して、自動起動プログラムを順次起動する。
そして、自動起動プログラムの起動処理を終えたら、PC12は、通常状態に至る(S355)。この通常状態に至れば、利用者は任意に印刷可能アプリケーション271、スキャン可能アプリケーション273、PC−FAXアプリケーション275、エクスプローラ277などを利用することができる。
さて、その後、利用者がログアウト操作またはシャットダウン操作を行った場合(S355:ログアウトまたはシャットダウン)、PC12は、まず、自動起動プログラムおよび手動起動プログラムを終了させる(S340)。そして、ログアウト操作がなされたのであれば(S340:ログアウトの場合)、S325の処理へ戻る。
一方、シャットダウン操作がなされたのであれば(S340:シャットダウンの場合)、サービスプロセスアンロードし(S345)、ダイナミックドライバをアンロードし(S350)、スタティックドライバをアンロードする(S355)。そして、最後にOSをアンロードして(S360)、PC12の電源OFFに至る。S345〜S360の処理では、S305〜S320の処理とは逆の手順で、各ソフトウェアのアンロードが行われることになる。
[SCSIコマンド解析タスクにおいて実行される処理]
次に、複合機11が備えるSCSIコマンド解析タスク111において実行される処理について、図9に基づいて説明する。
この処理を開始すると、複合機11は、まず、PC12からSCSIコマンドが来たか否かを判断する(S605)。ここで、PC12からSCSIコマンドが来なければ(S605:来ない)、S605の処理へ戻る。
一方、PC12からSCSIコマンドが来たら(S605:来た)、そのSCSIコマンド中で指定されたLUNが“0”〜“3”のいずれであるのかを判断する(S610)。
S610の処理による判断の結果、LUNが“0”の場合(S610:LUN=0)、複合機11は、SCSIコマンドをメモリスロット入出力制御タスク121へ伝送して、メモリスロット入出力制御タスク121側での処理終了待ちとなる(S615)。
このS615の処理においては、PC12から伝送されてきたSCSIコマンドは、SCSIコマンド解析タスク111からメモリスロット入出力制御タスク121へと伝送される。また、S615の処理において、SCSIコマンドをメモリスロット入出力制御タスク121へ伝送した後は、メモリスロット入出力制御タスク121側での処理が終了するのを待つ。
メモリスロット入出力制御タスク121側での処理が終了した場合、メモリスロット入出力制御タスク121側から応答が返るので、S615の処理では、メモリスロット入出力制御タスク121からの応答を、SCSIコマンドに対する応答としてPC12側へ返し、S615の処理を終了する。なお、S615の処理を終了したら、S605の処理へと戻る。
以上のようなS615の処理について、より具体的な例を交えて説明すると、例えば、PC12側からは、メディア(本実施形態の場合、メモリカード)へのデータ書込を要求するSCSIコマンドが伝送されてくる場合がある。この場合、S615の処理では、SCSIコマンド解析タスク111が受け取ったSCSIコマンドをメモリスロット入出力制御タスク121へと伝送する。
このとき、メモリスロット入出力制御タスク121では、書き込み対象となるデータをメディアに書き込む処理などが実行される。そして、その書き込み結果に関する情報が、応答としてメモリスロット入出力制御タスク121からSCSIコマンド解析タスク111へ返される。
SCSIコマンド解析タスク111は、上記S615の処理の中で、メモリスロット入出力制御タスク121の処理終了を待つ。そして、メモリスロット入出力制御タスク121から応答を受け取ったら、その応答をSCSIコマンドに対する応答としてPC12側へ返して、S615の処理を終了する。
また、例えば、PC12側からは、メディアからのデータ読込を要求するSCSIコマンドが伝送されてくる場合がある。この場合も、S615の処理では、SCSIコマンド解析タスク111が受け取ったSCSIコマンドをメモリスロット入出力制御タスク121へと伝送する。
このとき、メモリスロット入出力制御タスク121では、読み出し対象となるデータをメディアから読み出す処理などが実行される。そして、その読み出し結果に関する情報や読み出されたデータが、応答としてメモリスロット入出力制御タスク121からSCSIコマンド解析タスク111へ返される。
SCSIコマンド解析タスク111は、上記S615の処理の中で、メモリスロット入出力制御タスク121の処理終了を待つ。そして、メモリスロット入出力制御タスク121から応答を受け取ったら、その応答をSCSIコマンドに対する応答としてPC12側へ返して、S615の処理を終了する。
この他にも、様々なSCSIコマンドがあるが、いずれのSCSIコマンドが伝送されてきた場合でも、S615の処理では、SCSIコマンドがSCSIコマンド解析タスク111からコマンドをメモリスロット入出力制御タスク121へと伝送される。そして、メモリスロット入出力制御タスク121からSCSIコマンド解析タスク111へと返される応答が、PC12側へと伝送されるのである。
なお、上述の通り、PC12からメモリスロット入出力制御タスク121へ伝送されるSCSIコマンドには様々なものがあるので、メモリスロット入出力制御タスク121側で実行される処理の内容は、SCSIコマンドに応じた様々な処理内容となる。ただし、メモリスロット入出力制御タスク121側で実行される処理の内容そのものは、データストレージ機能を有する周知のデバイスにおいて実行される処理と同等なので、これ以上の詳細な説明については省略する。
さて、S610の処理による判断の結果、LUNが“1”の場合(S610:LUN=1)、複合機11は、SCSIコマンドをプリンタ入出力タスク151へ伝送して、プリンタ入出力タスク151側での処理終了待ちとなる(S620)。
このS620の処理においては、PC12から伝送されてきたSCSIコマンドは、SCSIコマンド解析タスク111からプリンタ入出力タスク151へと伝送される。また、S620の処理において、SCSIコマンドをプリンタ入出力タスク151へ伝送した後は、プリンタ入出力タスク151側での処理が終了するのを待つ。
プリンタ入出力タスク151側での処理が終了した場合、プリンタ入出力タスク151側から応答が返るので、S620の処理では、プリンタ入出力タスク151からの応答を、SCSIコマンドに対する応答としてPC12側へ返し、S620の処理を終了する。なお、S620の処理を終了したら、S605の処理へと戻る。
以上のようなS620の処理について、より具体的な例を交えて説明すると、例えば、PC12側からは、印刷データの印刷出力を要求するSCSIコマンドが伝送されてくる場合がある。この場合、S620の処理では、SCSIコマンド解析タスク111が受け取ったSCSIコマンドをプリンタ入出力タスク151へと伝送する。
このとき、プリンタ入出力タスク151では、印字制御タスク161へのデータ伝送等が行われ、印字制御タスク161がプリンタハードウェア171の動作を制御して、記録媒体への印刷出力などが実行される。そして、プリンタ入出力タスク151において、次の印刷データを受け取ることができる状態になれば、その旨の応答がプリンタ入出力タスク151からSCSIコマンド解析タスク111へ返される。
SCSIコマンド解析タスク111は、上記S620の処理の中で、プリンタ入出力タスク151の処理終了を待つ。そして、プリンタ入出力タスク151から応答を受け取ったら、その応答をSCSIコマンドに対する応答としてPC12側へ返して、S620の処理を終了する。
なお、PC12からプリンタ入出力タスク151へ伝送されるSCSIコマンドについても、例えば、プリンタのステータスを取得するためのコマンド等、様々なものがある。したがって、プリンタ入出力タスク151および印字制御タスク161のそれぞれにおいて実行される処理の内容は、SCSIコマンドに応じた様々な処理内容となる。ただし、プリンタ入出力タスク151および印字制御タスク161のそれぞれにおいて実行される処理の内容そのものは、プリンタ機能を有する周知のデバイスにおいて実行される処理と同等なので、これ以上の詳細な説明については省略する。
さて、S610の処理による判断の結果、LUNが“2”の場合(S610:LUN=2)、複合機11は、SCSIコマンドをスキャナ入出力タスク153へ伝送して、スキャナ入出力タスク153側での処理終了待ちとなる(S625)。
このS625の処理においては、PC12から伝送されてきたSCSIコマンドは、SCSIコマンド解析タスク111からスキャナ入出力タスク153へと伝送される。また、S625の処理において、SCSIコマンドをスキャナ入出力タスク153へ伝送した後は、スキャナ入出力タスク153側での処理が終了するのを待つ。
スキャナ入出力タスク153側での処理が終了した場合、スキャナ入出力タスク153側から応答が返るので、S625の処理では、スキャナ入出力タスク153からの応答を、SCSIコマンドに対する応答としてPC12側へ返し、S625の処理を終了する。なお、S625の処理を終了したら、S605の処理へと戻る。
以上のようなS625の処理について、より具体的な例を交えて説明すると、例えば、PC12側からは、スキャナ入力を要求するSCSIコマンドが伝送されてくる場合がある。この場合、S625の処理では、SCSIコマンド解析タスク111が受け取ったSCSIコマンドをスキャナ入出力タスク153へと伝送する。
このとき、スキャナ入出力タスク153では、スキャナ制御タスク163へのデータ伝送等が行われ、スキャナ制御タスク163がスキャナハードウェア173の動作を制御して、原稿からの画像入力などが実行される。そして、画像データ等がスキャナ入出力タスク153からSCSIコマンド解析タスク111へ返される。
SCSIコマンド解析タスク111は、上記S625の処理の中で、スキャナ入出力タスク153の処理終了を待つ。そして、スキャナ入出力タスク153から応答を受け取ったら、その応答をSCSIコマンドに対する応答としてPC12側へ返して、S625の処理を終了する。
なお、PC12からスキャナ入出力タスク153へ伝送されるSCSIコマンドについても、例えば、スキャナのステータスを取得するためのコマンド等、様々なものがある。したがって、スキャナ入出力タスク153およびスキャナ制御タスク163のそれぞれにおいて実行される処理の内容は、SCSIコマンドに応じた様々な処理内容となる。ただし、スキャナ入出力タスク153およびスキャナ制御タスク163のそれぞれにおいて実行される処理の内容そのものは、スキャナ機能を有する周知のデバイスにおいて実行される処理と同等なので、これ以上の詳細な説明については省略する。
さらに、S610の処理による判断の結果、LUNが“3”の場合(S610:LUN=3)、複合機11は、SCSIコマンドをPC−FAX入出力タスク155へ伝送して、PC−FAX入出力タスク155側での処理終了待ちとなる(S630)。
このS630の処理においては、PC12から伝送されてきたSCSIコマンドは、SCSIコマンド解析タスク111からPC−FAX入出力タスク155へと伝送される。また、S630の処理において、SCSIコマンドをPC−FAX入出力タスク155へ伝送した後は、PC−FAX入出力タスク155側での処理が終了するのを待つ。
PC−FAX入出力タスク155側での処理が終了した場合、PC−FAX入出力タスク155側から応答が返るので、S630の処理では、PC−FAX入出力タスク155からの応答を、SCSIコマンドに対する応答としてPC12側へ返し、S630の処理を終了する。なお、S630の処理を終了したら、S605の処理へと戻る。
以上のようなS630の処理について、より具体的な例を交えて説明すると、例えば、PC12側からは、FAX送信を要求するSCSIコマンドが伝送されてくる場合がある。この場合、S630の処理では、SCSIコマンド解析タスク111が受け取ったSCSIコマンドをPC−FAX入出力タスク155へと伝送する。
このとき、PC−FAX入出力タスク155では、モデム制御タスク165へのデータ伝送等が行われ、モデム制御タスク165がモデムハードウェア175の動作を制御して、FAX送信などが実行される。そして、PC−FAX入出力タスク155において、次のFAX送信データを受け取ることができる状態になれば、その旨の応答がPC−FAX入出力タスク155からSCSIコマンド解析タスク111へ返される。
SCSIコマンド解析タスク111は、上記S630の処理の中で、PC−FAX入出力タスク155の処理終了を待つ。そして、PC−FAX入出力タスク155から応答を受け取ったら、その応答をSCSIコマンドに対する応答としてPC12側へ返して、S630の処理を終了する。
また、例えば、PC12側からは、FAX受信を要求するSCSIコマンドが伝送されてくる場合もある。この場合、S630の処理では、SCSIコマンド解析タスク111が受け取ったSCSIコマンドをPC−FAX入出力タスク155へと伝送する。
このとき、PC−FAX入出力タスク155では、FAX受信データを受信していれば、FAX受信データ等がPC−FAX入出力タスク155からSCSIコマンド解析タスク111へ返される。また、FAX受信データを受信していなければ、その旨の情報等がPC−FAX入出力タスク155からSCSIコマンド解析タスク111へ返される。
SCSIコマンド解析タスク111は、上記S630の処理の中で、PC−FAX入出力タスク155の処理終了を待つ。そして、PC−FAX入出力タスク155から応答を受け取ったら、その応答をSCSIコマンドに対する応答としてPC12側へ返して、S630の処理を終了する。
なお、PC12からPC−FAX入出力タスク155へ伝送されるSCSIコマンドについても、例えば、モデムのステータスを取得するためのコマンド等、様々なものがある。したがって、PC−FAX入出力タスク155およびモデム制御タスク165のそれぞれにおいて実行される処理の内容は、SCSIコマンドに応じた様々な処理内容となる。ただし、PC−FAX入出力タスク155およびモデム制御タスク165のそれぞれにおいて実行される処理の内容そのものは、PC−FAX機能を有する周知のデバイスにおいて実行される処理と同等なので、これ以上の詳細な説明については省略する。
[第1実施形態の効果]
以上説明した通り、上記複合機11によれば、PC12が備えるOSには、複合機11を複数のLUNを持つUSBストレージクラスのデバイスであると認識させることができる。したがって、複数のLUNそれぞれに対応する論理ユニットに異なる機能(プリンタ機能、スキャン機能、PC−FAX機能、およびデータストレージ機能)を割り当てることにより、PC12側でLUNを指定して、異なる機能を有する論理ユニットを制御できるようになる。
しかも、このような方式でデータ伝送を行うに当たって、複合機11側では、複数のLUNすべてに対応する入力用および出力用のエンドポイントを1つずつ用意すればよい。したがって、上記複合機11によれば、1つの機能毎にそれぞれに対応する入力用および出力用のエンドポイントが1つずつ用意されるUSB複合デバイスとは異なり、個々の機能毎に入力用および出力用のエンドポイントを1つずつ用意しなくてもよくなるので、その分だけエンドポイント数を削減することができる。
また、複数の機能を利用するに当たって、あるUSBデバイスとの接続を断って、別のUSBデバイスとの接続を確立するといった状況を擬似的に作り出す必要はない。したがって、PC12のOSが、デバイスドライバの切り替えに時間を要するといった問題はなく、複数の機能を同時に利用することもできる。
さらに、コントロール転送用のエンドポイント(EP0)が、その他のデータ転送にも利用される構成にはなっていないので、大量にデータが転送されるような状況下でも、データ転送に邪魔されることなく、必要な制御を迅速に実施できるものとなる。
(2)第2実施形態
次に、第2実施形態について説明する。なお、第2実施形態以降の実施形態は、一部の構成が上記第1実施形態とは相違するものの、共通部分も多いので、以下の説明においては、第1実施形態との相違点を中心に詳述し、共通部分については詳細な説明を省略する。
[PCの内部構成]
図10は、第2実施形態におけるPC22の内部構成を示すブロック図である。
第1実施形態のPC12では、プリントポートドライバ223、スキャナドライバ225、およびCOMポートドライバ227のすべてが、SCSI規格に準拠したデバイスドライバとされていたが、この点について、第2実施形態は異なる構成となっている。
具体的には、第2実施形態において、プリントポートドライバ224、スキャナドライバ226は、SCSI規格に準拠していないデバイスドライバとなっている。ただし、これらのデバイスドライバだけでは、SCSIコマンド処理部213、215を介して、SCSI規格に準拠したデータ伝送を実施することができない。
そこで、第2実施形態においては、プリントポートドライバ224、およびスキャナドライバ226が複合機11側との間でやり取りするデータを、SCSI規格に準拠したCOMポートドライバ228、229を介して伝送するようにしている。
このように構成することで、プリントポートドライバ224ないしスキャナドライバ226から複合機11へデータを伝送する際には、そのデータがCOMポートドライバ228、229によってSCSI規格に準拠したデータの実データ部に格納されて、複合機11へと伝送される。
また、複合機11から伝送されてくるSCSI規格に準拠したデータの実データ部には、プリントポートドライバ224ないしスキャナドライバ226へ渡すためのデータが格納されているので、SCSIデータをCOMポートドライバ228、229によって受け取り、実データ部をプリントポートドライバ224ないしスキャナドライバ226へ渡す。
こうすれば、プリントポートドライバ224ないしスキャナドライバ226は、SCSI規格に準拠しないものでもよくなり、複合機11内のソフトウェアも、プリンタ機能およびスキャナ機能に関しては、SCSI規格に準拠しないものでもよくなる。したがって、上記プリンタ機能およびスキャナ機能関連のソフトウェア群については、例えば独自規格を採用することも可能となり、その場合でも、データ伝送経路に関しては、SCSI規格に準拠したデータ伝送方式を採用することができる。
[複合機用ソフトウェアのインストール処理]
次に、第2実施形態におけるPC22を機能させるために、PC22において実行される複合機用ソフトウェアのインストール処理について、図11のフローチャートに基づいて説明する。
この処理を開始すると、PC22は、図11に示すように、まずインストーラを起動する(S705)。そして、複合機用のCOMポートドライバをOSに登録する(S710)。S710の処理によってOSに登録されるCOMポートドライバは、複合機11のメーカーから提供されるSCSI接続用のソフトウェアである。S710の処理では、OSの機能(後述するPnPインストール機能)を利用して各ドライバのインストールを実施するために必要となる情報がOSに登録される。ちなみに、プリンタドライバ、プリントポートドライバ、スキャナドライバを登録しない点が、第1実施形態とは相違する。
そして、PC22は、PC22と複合機11をUSB接続することを利用者に指示するためのメッセージを、PC22の表示部に表示する(S710)。このメッセージを表示する際には、PC22の表示部にキャンセルボタンも表示される。
上記メッセージの表示後、PC22は、PC22のOSの機能により、PnPインストールが開始されるのを監視する(S720)。そして、PnPインストールが開始されていない場合は(S720:開始されていない)、キャンセルボタンが押されたか否かを判断する(S725)。ここで、キャンセルボタンが押されていない場合は(S725:押されていない)、S720の処理へと戻る。
以上のようなS720〜S725の繰り返し処理が行われる中で、利用者はキャンセルボタンを押す操作(=例えば、表示部に表示されたキャンセルボタンを、ポインティングデバイスでクリックする操作)を行うことができる。ここで、利用者がキャンセルボタンを押した場合(S725:押された)、PC22は、一旦登録した複合機用ドライバ類をOSから登録解除して(S730)、インストールを中止する。
一方、S720〜S725の繰り返し処理が行われる中で、PnPインストールが開始された場合(S720:開始された)、PnPインストールが開始されたと言うことはPC22と複合機11とがUSB接続されたはずなので、その場合、ドライバ類はOSのPnPの仕組みにより自動的にインストールされることになる(S735)。
したがって、PC22は、現在インストール中の画面に移る(S740)。この段階では、既にドライバ類の組み込みに必要な情報等が順次登録されてゆくことになるので、PC22の表示部には、キャンセルボタン等は表示されず、キャンセル操作は不可となる。そして、PnPインストールの完了を待ち(S745)、完了していない場合(S745:完了していない)、S745の処理へと戻る。
一方、PnPインストールが完了した場合(S745:完了した)、PC22は、プリンタドライバが使用するCOMポートをLUN1のCOMポートに設定する(S750)。プリンタドライバをCOMポートに直結するプリントポートドライバは、OSに標準で含まれているので、それを利用すればよい。また、スキャナドライバが使用するCOMポートをLUN2のCOMポートに設定する(S755)。さらに、PC−FAXアプリが使用するCOMポートをLUN3のCOMポートに設定する(S760)。
以上の処理を終えたら、PC22は、インストール完了の確認画面を表示する(S765)。この確認画面を表示する際には、PC22の表示部にOKボタンも表示される。ここで、利用者はOKボタンを押す操作を行うことができ、利用者がOKボタンを押した場合、PC22は、複合機用ソフトウェアのインストール処理を完了する。
[ダイナミックドライバロード処理]
次に、第1実施形態においては、図8に示したような処理であったダイナミックドライバロード処理について、第2実施形態では処理内容に若干変更があるので、図13に基づいて説明する。
すなわち、PC22では、図8に示すように、まず、OSがハードウェア接続状態を参照して、ダイナミックドライバを順次ロードする(S805)。そして、本発明の構成に関連する処理としては、USBプロトコルスタック201が複合機11を見つけた場合、複合機11にデバイスタイプを問い合わせる(S810)。
そして、この問い合わせに対し、複合機11からUSBストレージデバイスである旨の返答が有った場合、PC22は、USBストレージドライバ203をロードする(S815)。
このS815の処理により、USBストレージドライバ203が機能する状態となり、引き続いて、USBストレージドライバ203が複合機11にLUN数を問い合わせる(S820)。より具体的には、S820の処理において、USBストレージドライバ203は、最大LUNを問い合わせる。
本実施形態の場合、複合機11は4つの論理ユニットを備え、それらの論理ユニットに対し、LUNとして最小LUNを“0”とする連番を割り当てているので、最大LUNとしては“3”が返されることになる。
PC22は、最大LUNとして“3”が返されたことをもって、複合機11からLUN数が4個であると返答が有ったものと認識し、その場合、SCSIコマンド処理の入り口を4個作る(S825)。このS825の処理により、SCSIコマンド処理部211〜217が構成されることになる。
SCSIコマンド処理部211〜217が機能する状態になると、SCSIコマンド処理部211は、LUN0の論理ユニットに対して“Inquiry”を発行する(S830)。
これに対し、本実施形態の場合、LUN0の論理ユニットからは“リムーバブルHD”と返答が有る。この場合、PC22は、OS標準のSCSI接続用リムーバブルディスクドライバ221をロードし、ファイルシステム231と結合、その結果、LUN0の論理ユニットにドライブレターが割り当てられ、ドライブレターが出現することになる(S835)。
また、SCSIコマンド処理部213は、LUN1の論理ユニットに対して“Inquiry”を発行する(S840)。これに対し、LUN1の論理ユニットからは“コミュニケーションデバイス”で有る旨の返答が有る。この点は、第1実施形態との相違点であり、PC22は、メーカー提供のSCSI接続用COMポートドライバ228をロードする(S845)。
また、SCSIコマンド処理部215は、LUN2の論理ユニットに対して“Inquiry”を発行する(S850)。これに対し、LUN2の論理ユニットからは“コミュニケーションデバイス”で有る旨の返答が有る。この点も、第1実施形態との相違点であり、PC22は、メーカー提供のSCSI接続用COMポートドライバ229をロードする(S855)。
さらに、SCSIコマンド処理部217は、LUN3の論理ユニットに対して“Inquiry”を発行する(S860)。これに対し、LUN3の論理ユニットからは“コミュニケーションデバイス”で有る旨の返答が有る。この場合、PC22は、メーカー提供のSCSI接続用COMポートドライバ227をロードする(S865)。
こうして図13に示したダイナミックドライバのロード処理を終えると、図6に示したS315の処理を終えたことになるので、以降は、第1実施形態と同様の処理が行われる。
[第2実施形態の効果]
以上説明した第2実施形態でも、複合機11は、第1実施形態と同様の作用、効果を奏するので、複合機11側では、複数のLUNすべてに対応する入力用および出力用のエンドポイントを1つずつ用意すればよい。したがって、上記複合機11によれば、1つの機能毎にそれぞれに対応する入力用および出力用のエンドポイントが1つずつ用意されるUSB複合デバイスとは異なり、個々の機能毎に入力用および出力用のエンドポイントを1つずつ用意しなくてもよくなるので、その分だけエンドポイント数を削減することができる。
また、複数の機能を利用するに当たって、あるUSBデバイスとの接続を断って、別のUSBデバイスとの接続を確立するといった状況を擬似的に作り出す必要はない。したがって、PC12のOSが、デバイスドライバの切り替えに時間を要するといった問題はなく、複数の機能を同時に利用することもできる。
さらに、コントロール転送用のエンドポイント(EP0)が、その他のデータ転送にも利用される構成にはなっていないので、大量にデータが転送されるような状況下でも、データ転送に邪魔されることなく、必要な制御を迅速に実施できるものとなる。
加えて、第2実施形態では、プリンタ機能、スキャナ機能、PC−FAX機能について、SCSI規格に準拠したCOMポートドライバを共用できる。したがって、SCSI規格に準拠したプリンタドライバやSCSI規格に準拠したスキャナドライバを使用する代わりに、COMポートドライバを介してプリンタ・デバイスやスキャナ・デバイスを制御可能なプリンタドライバやスキャナドライバを使用できるようになる。
よって、プリンタドライバやスキャナドライバについては、SCSI規格による制約を受けないデバイスドライバ(例えば、独自規格のドライバ)を利用することも可能となる。
[変形例等]
以上、本発明の実施形態について説明したが、本発明は上記の具体的な一実施形態に限定されず、この他にも種々の形態で実施することができる。
例えば、上記実施形態では、LUN0に対応する機能として、カードリーダ機能を例示したが、他のデータストレージデバイス相当の機能としてもよい。具体的には、他のリムーバブルディスク、CD−ROM、ハードディスク、光磁気ディスクなどに相当する機能を設けてもよい。
本発明の一例として例示する第1実施形態のデバイス制御システム全体のブロック図。 第1実施形態の複合機の内部構成を示すブロック図。 第1実施形態のPCの内部構成を示すブロック図 第1実施形態のPCと複合機が接続を確立するときのやり取りを示す説明図。 第1実施形態のPCにおいて実行される複合機用ソフトウェアのインストール処理のフローチャート。 第1実施形態のPCにおいて実行されるPCの電源ONから電源OFFに至るまでに実行される処理のフローチャート。 第1実施形態のPCにおいて実行されるスタティックドライバをロードする処理のフローチャート。 第1実施形態のPCにおいて実行されるダイナミックドライバをロードする処理のフローチャート。 第1実施形態の複合機において実行されるSCSIコマンド解析タスクにおいて実行される処理のフローチャート。 第2実施形態のPCの内部構成を示すブロック図。 第2実施形態のPCにおいて実行される複合機用ソフトウェアのインストール処理のフローチャート(その1)。 第2実施形態のPCにおいて実行される複合機用ソフトウェアのインストール処理のフローチャート(その2)。 第2実施形態のPCにおいて実行されるダイナミックドライバをロードする処理のフローチャート。
11・・・複合機、12、22・・・PC、13・・・USB−HUB、14・・・他のUSBデバイス、101・・・USBプロトコルエンジン、103・・・制御回路、105・・・カードリーダ系データ入出力回路、111・・・SCSIコマンド解析タスク、121・・・メモリスロット入出力制御タスク、131・・・第1メモリスロット、132・・・第2メモリスロット、133・・・第3メモリスロット、134・・・第4メモリスロット、151・・・プリンタ入出力タスク、153・・・スキャナ入出力タスク、155・・・PC−FAX入出力タスク、161・・・印字制御タスク、163・・・スキャナ制御タスク、165・・・モデム制御タスク、171・・・プリンタハードウェア、173・・・スキャナハードウェア、175・・・モデムハードウェア、201・・・USBプロトコルスタック、203・・・USBストレージドライバ、211〜217・・・SCSIコマンド処理部、223,224・・・プリントポートドライバ、225,226・・・スキャナドライバ、227,228,229・・・COMポートドライバ、231・・・ファイルシステム、261・・・プリンタドライバ、271・・・印刷可能アプリケーション、273・・・スキャン可能アプリケーション、275・・・PC−FAXアプリケーション、277・・・エクスプローラ、281・・・他のUSBデバイスのドライバ。

Claims (3)

  1. コンピュータと、プリンタ機能、スキャナ機能、FAX機能、およびデータストレージ機能の中から選ばれる複数種の機能を備えた複合機とを、USBインターフェースを介して接続してなるデバイス制御システムであって、
    前記複合機は、
    前記コンピュータとの接続を確立する際に、USB規格で規定された複数のLUNを持つUSBストレージクラスのデバイスであると、前記コンピュータが備えるOSに認識させるための情報を出力するデバイス情報出力手段と、
    前記コンピュータからの出力データが伝送されてきた場合に、前記出力データ中に含まれる前記LUNに基づいて、前記複数種の機能のいずれを制御するためのデータであるのかを判断して、前記複数種の機能のいずれかを制御するデバイス側制御手段と
    を備え、
    前記コンピュータは、
    前記コンピュータ上で機能するデータ処理部からの指令に従って、前記複数種の機能のいずれかを制御するために前記コンピュータからの出力データを前記複合機に伝送する場合に、制御対象となる機能に対応するLUNを含む前記出力データを前記複合機へと伝送するコンピュータ側制御手段
    を備え
    前記コンピュータと前記複合機との接続を確立する際、前記コンピュータは、前記デバイス情報出力手段の出力する情報に基づいて、前記複合機が前記複数のLUNを持つUSBストレージクラスのデバイスであると認識して、前記USBストレージクラスのデバイスと通信可能な状態になる一方、前記複合機は、前記USBストレージクラスのデバイスに対応する1組の入力用および出力用のエンドポイントを介して前記コンピュータと通信可能な状態となって、前記コンピュータと前記複合機がUSB規格に準拠した通信手順で通信可能な接続状態となり、
    しかも、前記コンピュータが前記複数のLUNそれぞれに対応する論理ユニットに対し、SCSIコマンドの“Inquiry”を順に発行し、各コマンドに対して前記複合機が前記複数のLUNそれぞれで異なるSCSIデバイスの種別を示す応答を返すと、当該応答を受けた前記コンピュータは、前記1組の入力用および出力用のエンドポイントを介して通信可能な接続状態について切断および再接続を行うことなく、前記異なるSCSIデバイスの種別それぞれに対応する異なるデバイスドライバをロードし、それら複数の異なるデバイスドライバが、前記複数のLUNそれぞれに対応する前記複数種の機能を制御可能な状態になる
    ことを特徴とするデバイス制御システム。
  2. 前記複合機が備える前記デバイス情報出力手段は、前記複数のLUNそれぞれに対応付けられた機能を、前記コンピュータが備えるOSに認識させるための情報を出力可能で、前記プリンタ機能を有する場合にはSCSI規格で規定されたプリンタ・デバイスである旨の情報を出力し、前記スキャナ機能を有する場合にはSCSI規格で規定されたスキャナ・デバイスである旨の情報を出力し、前記FAX機能を有する場合にはSCSI規格で規定されたコミュニケーション・デバイスである旨の情報を出力し、前記データストレージ機能を有する場合にはSCSI規格で規定されたリムーバブルHDである旨の情報を出力し、
    前記コンピュータが備える前記コンピュータ側制御手段は、前記複合機から伝送されてきた情報に基づいて、プリンタ・デバイスに対応するSCSI規格に準拠したプリンタドライバ、スキャナ・デバイスに対応するSCSI規格に準拠したスキャナドライバ、コミュニケーション・デバイスに対応するSCSI規格に準拠したCOMポートドライバ、リムーバブルHDに対応するSCSI規格に準拠したリムーバブルディスクドライバの内、前記複合機から伝達された機能に応じたデバイスドライバをロードする
    ことを特徴とする請求項に記載のデバイス制御システム。
  3. 前記複合機が備える前記デバイス情報出力手段は、前記複数のLUNそれぞれに対応付けられた機能を、前記コンピュータが備えるOSに認識させるための情報を出力可能で、前記プリンタ機能、前記スキャナ機能、および前記FAX機能のいずれかを有する場合には、いずれの場合ともSCSI規格で規定されたコミュニケーション・デバイスである旨の情報を出力し、前記データストレージ機能を有する場合にはSCSI規格で規定されたリムーバブルHDである旨の情報を出力し、
    前記コンピュータが備える前記コンピュータ側制御手段は、前記複合機から伝送されてきた情報に基づいて、プリンタ・デバイス、スキャナ・デバイス、およびコミュニケーション・デバイスに対応するSCSI規格に準拠したCOMポートドライバ、リムーバブルHDに対応するSCSI規格に準拠したリムーバブルディスクドライバの内、伝達された機能に応じたデバイスドライバをロードし、さらに、プリンタ・デバイスに対応するCOMポートドライバをロードした場合には、当該COMポートドライバを介してプリンタ・デバイスを制御可能なプリンタドライバをロードし、スキャナ・デバイスに対応するCOMポートドライバをロードした場合には、当該COMポートドライバを介してスキャナ・デバイスを制御可能なスキャナドライバをロードする
    ことを特徴とする請求項に記載のデバイス制御システム。
JP2007084772A 2007-03-28 2007-03-28 デバイス制御システム Expired - Fee Related JP4333764B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2007084772A JP4333764B2 (ja) 2007-03-28 2007-03-28 デバイス制御システム
US12/055,112 US8171184B2 (en) 2007-03-28 2008-03-25 Multifunction peripheral having a plurality of functions
CN200810087465XA CN101277353B (zh) 2007-03-28 2008-03-28 具有多个功能的多功能外围设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007084772A JP4333764B2 (ja) 2007-03-28 2007-03-28 デバイス制御システム

Publications (2)

Publication Number Publication Date
JP2008242974A JP2008242974A (ja) 2008-10-09
JP4333764B2 true JP4333764B2 (ja) 2009-09-16

Family

ID=39793777

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007084772A Expired - Fee Related JP4333764B2 (ja) 2007-03-28 2007-03-28 デバイス制御システム

Country Status (3)

Country Link
US (1) US8171184B2 (ja)
JP (1) JP4333764B2 (ja)
CN (1) CN101277353B (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5513018B2 (ja) * 2008-06-27 2014-06-04 キヤノン電子株式会社 周辺装置及び画像読取装置
JP2010039684A (ja) * 2008-08-04 2010-02-18 Canon Inc 画像形成装置、情報処理装置、データ処理方法及びプログラム
JP5269704B2 (ja) * 2009-06-26 2013-08-21 株式会社バッファロー コンピュータ装置、コンピュータ処理方法、およびコンピュータプログラム
CN102004710A (zh) * 2009-09-01 2011-04-06 辉达公司 用于扩展便携式多媒体设备功能的方法和装置
US8554956B1 (en) * 2010-02-24 2013-10-08 Open Invention Network Llc Method for creation of a device driver for a peripheral device
CN102214148B (zh) * 2010-04-01 2014-04-02 山东新北洋信息技术股份有限公司 具有usb接口的打印机及其驱动安装方法与系统
US20140176990A1 (en) * 2010-10-12 2014-06-26 David Block Printer
JP5261515B2 (ja) * 2011-02-23 2013-08-14 シャープ株式会社 画像形成装置
JP5533760B2 (ja) * 2011-03-30 2014-06-25 ブラザー工業株式会社 画像読取装置
JP5491548B2 (ja) * 2012-01-31 2014-05-14 株式会社ユニテックス 情報処理装置、情報処理システム、情報処理方法、プログラム及び記録媒体
US9182996B2 (en) * 2013-03-12 2015-11-10 Midnight Mosaic Llc Methods and apparatus for USB tunneling through USB printer device class
CN103744631A (zh) * 2014-01-28 2014-04-23 王华庭 打印数据处理装置
CN105095118B (zh) * 2014-05-19 2019-08-30 小米科技有限责任公司 设备的使用方法及装置
US9858224B2 (en) * 2014-08-30 2018-01-02 Microsoft Technology Licensing, Llc Universal serial bus emulation layer
US20160112421A1 (en) * 2014-10-20 2016-04-21 Xerox Corporation Method and apparatus for selective activation of universal serial bus (usb) ports
CN111666122B (zh) * 2020-05-22 2022-05-27 湖南云之翼软件有限公司 一种新型的usb存储设备重定向方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5903733A (en) * 1997-02-13 1999-05-11 Toshiba America Information Systems, Inc. Multifunction peripheral controller
JP2001222503A (ja) 2000-02-08 2001-08-17 Ricoh Co Ltd 周辺機器制御システム
JP3513147B2 (ja) 2002-05-29 2004-03-31 株式会社ハギワラシスコム Usbストレージデバイス及びその制御装置
US7526580B2 (en) * 2003-06-27 2009-04-28 Brother Kogyo Kabushiki Kaisha Peripheral device
JP3906838B2 (ja) 2003-12-11 2007-04-18 村田機械株式会社 Usb対応型デジタル複合機
US7177972B2 (en) 2004-04-27 2007-02-13 Oki Data Corporation Peripherals of computer
JP2006178704A (ja) 2004-12-22 2006-07-06 Seiko Epson Corp 複数の機能を有する装置、及び当該装置と接続可能な上位装置
JP2007021817A (ja) 2005-07-13 2007-02-01 Seiko Epson Corp マスストレージ機能を有する印刷装置
JP4897331B2 (ja) * 2006-03-30 2012-03-14 富士通フロンテック株式会社 通信制御装置、通信制御プログラム、通信ドライバ登録方法

Also Published As

Publication number Publication date
US8171184B2 (en) 2012-05-01
JP2008242974A (ja) 2008-10-09
CN101277353A (zh) 2008-10-01
US20080239378A1 (en) 2008-10-02
CN101277353B (zh) 2012-11-21

Similar Documents

Publication Publication Date Title
JP4333764B2 (ja) デバイス制御システム
JP2008245046A (ja) 複合機、およびデバイス制御システム
JP4333765B2 (ja) デバイス制御システム
US11523021B2 (en) Printing apparatus for displaying predetermined display screen for requesting printing to the printing apparatus and control method thereof, and non-transitory computer-readable medium
JP4555926B2 (ja) スキャナ自動接続プログラム
JP5732865B2 (ja) 画像形成システム、印刷データ管理装置、印刷データ管理装置の制御方法、印刷データ管理装置の制御プログラム及び記録媒体
JP5447476B2 (ja) 画像読取装置、画像読取システム及び画像読取プログラム
JP2011238136A (ja) 情報処理装置、連携機能設定制御方法、及びプログラム
JP6412353B2 (ja) 画像読取装置、その制御方法、プログラム、及びシステム
JP5500883B2 (ja) 画像読取装置及びその制御方法とそのプログラム
EP2426592B1 (en) Image forming apparatus and method of forming image thereof
JP3922253B2 (ja) Usb対応型複写複合機、及びusb対応型複写複合機制御システム
CN101489008B (zh) 设备设定系统和设备设定方法
JP2004282379A (ja) ファクシミリ装置およびシステム
JP3813851B2 (ja) プログラム、スキャン周辺機器サーバ、スキャン周辺機器およびスキャン制御方法
JP2008011427A (ja) 画像データ伝送システム、複合デバイス、およびプログラム
JP2018008433A (ja) 情報処理装置、周辺機器使用方法、およびコンピュータプログラム
JP2013196575A (ja) 情報処理装置、情報処理装置の制御方法及び制御プログラム
JP2023048280A (ja) シャットダウン指示を受信する画像制御装置、その制御方法
JP2008217399A (ja) ネットワーク用アダプタ、機種及び機能情報の取得方法
JPH09193512A (ja) 複合端末装置
JP2011103090A (ja) 通信装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090224

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090310

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090511

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: 20090602

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: 20090615

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

Free format text: PAYMENT UNTIL: 20120703

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4333764

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120703

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130703

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees