JP5339958B2 - 情報処理装置及び制御方法及びプログラム - Google Patents

情報処理装置及び制御方法及びプログラム Download PDF

Info

Publication number
JP5339958B2
JP5339958B2 JP2009035818A JP2009035818A JP5339958B2 JP 5339958 B2 JP5339958 B2 JP 5339958B2 JP 2009035818 A JP2009035818 A JP 2009035818A JP 2009035818 A JP2009035818 A JP 2009035818A JP 5339958 B2 JP5339958 B2 JP 5339958B2
Authority
JP
Japan
Prior art keywords
usb
driver
externally
internally
information
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
JP2009035818A
Other languages
English (en)
Other versions
JP2010191717A5 (ja
JP2010191717A (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.)
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 JP2009035818A priority Critical patent/JP5339958B2/ja
Priority to US12/698,339 priority patent/US9158721B2/en
Priority to CN2010101155904A priority patent/CN101807177B/zh
Priority to EP10153865.0A priority patent/EP2221729B1/en
Priority to KR1020100014029A priority patent/KR101238099B1/ko
Publication of JP2010191717A publication Critical patent/JP2010191717A/ja
Publication of JP2010191717A5 publication Critical patent/JP2010191717A5/ja
Application granted granted Critical
Publication of JP5339958B2 publication Critical patent/JP5339958B2/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/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices

Landscapes

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

Description

本発明は、USBホスト接続によりハードウェア拡張が可能な情報処理装置及び制御方法及びプログラムに関するものである。
本技術分野において、USBホスト接続は、USBメモリやキーボード、マウス、通信用ドングル、プリンタなど、その利用は非常に多種多彩なものとなっている。また、デジタル複合機においても、PC同様にUSBメモリやキーボード、カードリーダなど、接続するデバイスが増えてきている。これは、汎用的な物理I/F(インタフェース)であり、手軽に利用、開発できるという利点がひとつの理由でもある。しかしながら、汎用的な物理I/Fであるがために、セキュリティ面の対策が必要である。例えばUSBメモリによる情報漏洩などが容易に考えられる。また、不用意にUSBデバイスを接続することで、ウィルスなどホスト機器の方に影響をもたらす可能性もあるため、そういった危険性を有するデバイスの接続を排除することも重要である。
従来、このような問題への対策として、ユーザがUSBホストを制御するホストコントローラチップを無効化することが提案されている。例えば一般的なOSであるWindows(登録商標)やLinux(登録商標)でも、USBホスト接続すべてをコントロールするホストコントローラチップを無効化するために、ホストコントローラドライバの無効化や削除が可能となっている。また、あらゆる種類のUSBデバイスを制御するためのデバイスドライバをユーザがそれぞれ無効化/削除するといった方法もある。また、従来技術として、特許文献1では、USBホストデバイスを接続した際に、USBプロトコル上に存在する予約ビットを利用して、この情報を元にホスト側でその接続ポートをDisableする。
特開2006−65859号公報
しかしながら、ユーザがホストコントローラチップすべてを一括して無効化する方法だと、例えば内部的にUSBホスト接続をしている場合には、その接続さえ断ってしまうことになるため適切ではない。
また、ユーザが個々のデバイスドライバを無効化する方法だと手間がかかり、加えてセキュリティ的な側面からも一括で無効化することがより多く求められていることから、この方法では利便性に欠ける。
さらに、特許文献1においては、予約ビットに情報を付加する必要があるため、接続するUSBデバイス側での対応も必要となる。すなわち、意図しないデバイスの接続を排除することができないことになり、この方法でもっても適切ではない。
上述した課題の少なくとも一部を解決するために、本発明は以下の構成を有する。すなわち、SB接続に対応したデバイスとUSB接続が可能な情報処理装置であって、外部的にUSB接続されるデバイスのUSB接続を一括して無効化するか、または外部的にUSB接続されるデバイスのUSB接続を有効化するか、を設定することが可能な画面を表示する表示手段と、前記画面を介して、外部的にUSB接続されるデバイスのUSB接続を有効化することが設定された場合、外部的にUSB接続されるデバイスと内部的にUSB接続されるデバイスの両方を扱えるようにするために、前記外部的にUSB接続されるデバイスに対応するデバイスドライバと前記内部的にUSB接続されるデバイスに対応するデバイスドライバとをSBコアドライバに登録し、前記画面を介して、外部的にUSB接続されるデバイスのUSB接続を一括して無効化することが設定された場合、外部的にUSB接続されるデバイスを扱えないようにするために、前記外部的にUSB接続されるデバイスに対応するデバイスドライバを前記USBコアドライバに登録せず、かつ、内部的にUSB接続されるデバイスを扱えるようにするために、前記内部的にUSB接続されるデバイスに対応するデバイスドライバを前記USBコアドライバに登録する登録手段と有し、前記USBコアドライバは、前記登録手段にて登録されたデバイスドライバの中から、接続される前記デバイスに対応するデバイスドライバを特定し、有効化することを特徴とする。
本発明の実施の形態によれば、セキュリティ面においても事前に対策可能で、かつ、システム内部で必要な接続も断つことなく、利便性の高いUSBホスト接続の制御を実現することができる。さらには、同様の仕組みに加えて個々のデバイスドライバに対しても、有効無効の制御が可能となり、より利便性が高いUSBホスト接続を実現可能である。また、同様の仕組みに加えて情報処理装置が有する個々の物理I/Fに対しても有効無効の制御が可能となり、より利便性が高いUSBホスト接続を実現可能である。
本発明によれば、デバイスのインタフェース接続の有効化、無効化を適切に管理できる。
また、本発明の別の側面によれば、USBホスト接続をシステムとして一括して無効化することができる一方で、有効化が必要なデバイス(例えば内部的に接続が必要なデバイス)は、例外的にそのまま使用可能とすることができる。
また、USBデバイス側の対応に関係なく、意図しないデバイスの接続を排除することが可能となる。
本実施形態におけるシステム構成の一例を説明した図である。 本実施形態におけるソフト、ハード含めた階層構造を示した図である。 本実施形態におけるコアドライバとデバイスドライバ、USBデバイスの関係について示した図である。 本実施形態におけるコアドライバとデバイスドライバ、USBデバイスの関係について示した図である。 本実施形態におけるコアドライバとデバイスドライバ、USBデバイスの関係について示した図である。 本実施形態におけるコアドライバとデバイスドライバ、USBデバイスの関係について示した図である。 本実施形態におけるUSBプロトコル情報について説明した図である。 本実施形態における操作部の一例を示した図である。 本実施形態における操作部の一例を示した図である。 本実施形態における操作部の一例を示した図である。 本実施形態における内部テーブルが有する情報について示した図である。 本実施形態におけるフローチャートの一例を説明した図である。 本実施形態におけるフローチャートの一例を説明した図である。 本実施形態におけるフローチャートの一例を説明した図である。 第一の実施形態におけるフローチャートの一例を説明した図である。 第二の実施形態における操作部の一例を示した図である。 第二の実施形態における操作部の一例を示した図である。 第二の実施形態におけるフローチャートの一例を説明した図である。 第三の実施形態における操作部の一例を示した図である。 第三の実施形態におけるフローチャートの一例を説明した図である。
<第一の実施形態>
USBホスト接続が無効化された場合でも必要なデバイスを接続可能とする第一の実施形態について説明する。
<ハードウェア構成>
まず本実施形態に関わるシステムの構成を、図1を参照しながら説明する。画像形成装置100は情報処理装置の一例である。リーダー部51は、原稿画像を光学的に読み取り、画像データに変換する機能を持つ。リーダー部51は、原稿を読み取るための機能を持つスキャナユニット53と、原稿用紙を搬送するための機能を持つ原稿給紙ユニット52から構成される。デバイス構成によっては、原稿給紙ユニット52を持たないもの(この場合はいわゆる圧板と呼ばれるプラテンガラスに原稿を置き、センサにより読み取る)もあり得る。プリンタ部55は、記録紙を搬送し、その上に画像データを可視画像として印字して装置外に排紙する機能を持つ。プリンタ部55は複数種の記録紙カセットを持つ給紙ユニット58と、画像データを記録紙に転写、定着させるマーキングユニット56、印字された記録紙をソート、ステイプルして機外へ出力する排紙ユニット57から構成される。制御装置60は、リーダー部51、プリンタ部55と電気的に接続され、リーダー部51を制御して、原稿の画像データを読込み、プリンタ部55を制御して画像データを記録用紙に出力してコピー機能を提供する。
操作部70は液晶表示部と液晶表示部上に張り付けられたタッチパネル入力装置と、複数個のハードキーを有し、ユーザが様々な操作を行うためのユーザI/Fを提供する。タッチパネルまたはハードキーにより入力された信号は制御装置60に伝えられ、液晶表示部は制御装置60から送られてきた画像データを表示するものである。また、リーダー部51から読み込んだ原稿を文書としてHDD65に保存するBox機能(文書格納機能)も提供する。このBox機能では文書を格納する機能に加え、格納された文書を印刷する機能も備える。また制御部は揮発性メモリ67や不揮発性メモリ66とも接続している。一過性のデータは揮発性メモリ67に、恒久的なデータは不揮発性メモリ66に格納する。プログラムや、通常システム再起動してもそのデータを保持しておきたい設定値などは不揮発性メモリ66に格納する。また、制御装置60はUSBホストコントローラ80というチップも含む。このUSBホストコントローラ80がUSBホスト接続の通信すべてを司る。USBホストコントローラ80には、例えばシステム構築者が、USBホストHub89を接続し、そのUSBホストHub89に対する接続により、ホストI/F83、84、85を外部に提供する。これが外部的なUSBの物理インタフェースとなる。そうすることで、ユーザがこの物理I/Fに対して、キーボード93やマルチメディアカードリーダ94、USBメモリ95などのデバイスを接続可能となり、ハードウェア拡張が可能となる。その他、ICカードリーダや通信ドングルなどのUSBデバイスも同様である。また一方で、USBホストHub89が内部USBデバイスと接続するケースもある。例えばシステム構築者が、USBホストコントローラ80に対し、外部のFAX回線300と接続するUSB−FAXボード82や、画像解析ボード81を接続する。これにより、システムとしてFAX機能や画像解析機能を実行することができる。
<内部構成>
図2は、制御装置60、拡張ハードウェア群の構造について示した図である。レイヤ501、502がソフトウェア層、レイヤ503がハードウェア層であり、レイヤ501は一般的にユーザスペースやユーザランドなどと呼ばれ、システムに対して特別な権利を持っていない。このレイヤに属するものは外部デバイスを直接制御することができない。レイヤ502は一般的にスーパーバイザスペースやカーネルモード、特権モードなどと呼ばれるシステムに対して特別な権利を持つ。このレイヤに属するものは外部デバイスを直接制御できる。
拡張ハードウェア群には、例えばキーボード93、マルチメディアカードリーダ94、USBメモリ95、USB−FAXボード82、画像解析ボード81などがある。これらは、図1で示した物理的なUSBホストI/F83、84、85に対し例えばユーザが接続するケース(キーボード93、マルチメディアカードリーダ94、USBメモリ95など)と、内部的にシステム構築者が接続するケース(USB−FAXボード82、画像解析ボード81)とがある。このUSBホストI/FはすべてUSBホストコントローラ80で制御される。USBホストコントローラ80は、USBホストに接続するデバイス(周辺機器)と画像形成装置100本体とがUSB通信を行うための通信すべてを司るものである。USBホストコントローラ80は、USB規格1.x、USB規格2.0などそれぞれの規格に準拠した通信を行うことができる。USB規格1.xにはUHCI(Universal Host Controller Interface)やOHCI(Open Host Controller Interface)などの種類が存在する。また、USB規格2.0はEHCI(Enhanced Host Controller Interface)という規格が統一標準として認知されている。一般的にはUHCI/OHCIのどちらか一方とEHCIの通信をサポートする情報機器がほとんどである。
ソフトウェア層に存在する以下のモジュールは、不揮発性メモリ66に格納され、CPU(不図示)により読み出されて動作する。スーパーバイザスペースには、USBホストコントローラドライバ201、USBホストコアドライバ202、HIDドライバ203、MassStorageドライバ204、画像解析ボードドライバ211、FAXドライバ212が位置付けられる。ユーザスペースには、ドライバ制御タスク250、アプリケーション220が位置付けられる。
USBホストコントローラドライバ201はUSBホストコントローラ80を制御し、USBのプロトコルレベルでの通信を実現する。そして、その上位層にUSBホストコアドライバ202(以降コアドライバと呼ぶ)が位置する。そしてさらにその上位層にデバイスドライバ群が位置する。このデバイスドライバは、さらに上位のユーザスペースに存在するアプリケーション220がUSBホストデバイスを通信するために必要なソフトウェアであり、例えば以下のようなものが存在する。HIDドライバ203は、キーボードやマウスなどの汎用的なHID(Human Interface Device)を制御する。このHIDドライバ203は通常、キーイベントやマウスジェスチャなどをイベント形式で上位のアプリケーションに発行する。MassStorageドライバ204は、USBメモリやカードデバイスなどの汎用的なストレージデバイスを制御する。このMassStorageドライバ204は通常、USBメモリなどのストレージデバイスを、MassStorageドライバ204の上位に構築するファイルシステム(不図示)経由でアプリケーションにその機能を提供する。FAXドライバ212は、ベンダ固有なUSB−FAXボード82を制御する。FAXドライバ212は例えば、FAX回線300を介した外部とのFAX通信を行うために、FAX規格に基づいたソフトウェア処理を行う。画像解析ボードドライバ211は、ベンダ固有な画像解析ボードを制御する。画像解析ボードドライバ211は例えば、画像解析するため、スキャンしたデータを解析するための指示や管理などといったソフトウェア処理を行う。
ここで、特にコアドライバ202については、本発明に大きく関わるため詳細に説明する。コアドライバ202は以下のような機能を持つ。概してコアドライバ202は、デバイスドライバの情報を保持し、接続したデバイスをどのデバイスドライバで扱うかの決定を行う。具体的には例えば、以下のような機能を備える。第一にコアドライバ202は、上位モジュールからデバイスドライバの登録を受け取り、デバイスドライバの情報をテーブル形式で保持する。登録はいつでも可能であり、随時テーブルに追加を行う形式を取る。通常テーブルは揮発性メモリ67に保持する。
第二にコアドライバ202は、USBデバイスの接続を検知し、接続したUSBデバイスの情報を取得する。通常取得した情報は揮発性メモリ67に保持する。第三にコアドライバ202は、USBホストデバイス接続またはデバイスドライバ登録が発生した場合に、前記テーブルと接続したUSBデバイスの情報とを比較する。そして、接続したUSBデバイスをどのデバイスドライバで扱うかを決定する。第四にコアドライバ202は、デバイスドライバの削除依頼を受け取り、該当するデバイスドライバの情報をテーブルから削除する。第五にコアドライバ202は、USBデバイスの取り外しを検知する。第六にコアドライバ202は、取り外しが行われたUSBデバイスの扱いをやめる。本発明におけるコアドライバ202は特に、第一、二、三の機能に関係する。
また、ドライバ制御タスク250においては、デバイスドライバ群をコアドライバ202に登録する役割を担う。ドライバ制御タスク250は画像形成装置100のシステムが起動した際に不揮発性メモリ66からCPU(不図示)によって読み出され、動作する。
<デバイスドライバ登録の流れ>
図3は、ドライバ制御タスク250がデバイスドライバ群をコアドライバ202に登録する部分について説明した図である。本図は、USBホスト接続が有効である場合の説明である。なお以下のモジュールは不揮発性メモリ66に格納され、CPU(不図示)により読み出されて動作する。USBホストコントローラドライバ201、コアドライバ202、HIDドライバ203、MassStorageドライバ204、画像解析ボードドライバ211、FAXドライバ212、ドライバ制御タスク250が該当する。
ドライバ制御タスク250は、デバイスドライバ群のリストを不揮発性メモリ66に保持している。このリストはUSBホスト有効化時ドライバリストであり、すべてのデバイスドライバが記載されている。このリストには例えばリスト601で示したように、HIDドライバ203、MassStorageドライバ204、FAXドライバ212、画像解析ボードドライバ211の情報を保持する。このとき、コアドライバ202においては、登録した順番にテーブルを構築するが、通常上位モジュール(本発明ではドライバ制御タスク250)は、先にベンダ固有ドライバ、後に汎用ドライバを登録するケースが多い。これは、USBデバイスを接続した際のコアドライバ202の動きとして、テーブルの走査は登録された順に行うため、先に適用したいドライバを先に登録する必要がある。これは、汎用的なドライバを先に登録してしまうと、ベンダ固有ドライバなどの特殊なドライバを使用することができなくなってしまうことに起因する。本実施形態においてはドライバ制御タスク250において、ベンダ固有ドライバであるFAXドライバ、画像解析ボードドライバを先に、そして汎用ドライバであるMassStorageドライバ、HIDドライバの順でリストを保持している。リスト602は直値の例であり、ドライバ名が保持されている。また、特にベンダ固有ドライバにおいては、扱うデバイスをより細かく特定するためにVendorID、ProductIDを登録するケースが多い。よってドライバ制御タスク250においては、これらVendorID、ProductIDの情報を登録するため、リスト上にこれらの情報を保持する。これらの保持先は、システム再起動が発生しても永続的に保持できるよう、不揮発性メモリ66に置いておく。そしてドライバ制御タスク250ではこのリストを読み出しコアドライバ202に登録を行う。登録を行うと、テーブル603のようにコアドライバ202内にテーブルを構築する。この際、登録したFAXドライバ212、画像解析ボードドライバ211、MassStorageドライバ204、HIDドライバ203の順にテーブルが構築される。テーブル604に直値の例を記載したが、リスト602で挙げた情報がそのままコアドライバ202に登録される。
図4は、USBデバイス接続時にどのデバイスドライバを扱うかを説明した図である。本図はUSBホスト接続が有効である場合の説明である。なお、以下のモジュールは不揮発性メモリ66に格納され、CPU(不図示)により読み出されて動作する。ここでのモジュールは、USBホストコントローラドライバ201、画像解析ボードドライバ211、FAXドライバ212、コアドライバ202、HIDドライバ203、MassStorageドライバ204が該当する。画像解析ボード81、USB−FAXボード82、キーボード93、USBメモリ95は接続するUSBデバイス、USBホストコントローラ80はUSBの通信を制御するチップである。
USBデバイス接続時の動作としては、コアドライバ202において、コアドライバ202内に保持するテーブルに登録された順番に、その登録情報とUSBデバイスとの情報比較を行う。コアドライバ202では、テーブルを順に走査して、接続されたデバイスの情報と合致する情報をテーブル内に見つけたら、その時点でドライバとデバイスの関連付けを行う。またテーブル内に合致する情報が無い場合には、そのUSBデバイスは扱えないことになる。その場合、例えばすべてのデバイスを扱えるドライバを用意しておき、テーブルの最後に登録しておく形をとっても良い。または、ユーザに対しドライバを要求するメッセージを表示しても良い。
本実施形態では、図3において登録したテーブルを用いる。例えば、テーブル603においては、FAXドライバ212、画像解析ボードドライバ211、MassStorageドライバ204、HIDドライバ203がその順番で登録されている。テーブル604はその直値の例である。USBデバイス接続時には、コアドライバ202において、このテーブルに登録された情報を順に走査する。例えばコアドライバ202がテーブル情報の1番目にあるUSB−FAXボード82のクラス、VendorID、ProductIDの値(具体的には、Cls=0xff、Vendor=0000、ProdID=1111)を取得する。そしてコアドライバ202において、この情報と接続したUSBデバイスのクラス、VendorID、ProductIDの情報とを比較する。比較した情報が合致した場合はFAXドライバ212でこのデバイスを扱う(USB−FAXボード82が接続されたときにはここで関連付けて終了する)。合致しない場合はコアドライバ202において、テーブル情報の2番目にある画像解析ボード81のクラス、VendorID、ProductIDの値(具体的には、Cls=0xff、Vendor=0000、ProdID=2222)を取得する。
そしてコアドライバ202において、この情報と接続したUSBデバイスのクラス、VendorID、ProductIDの情報とを比較する。比較した情報が合致した場合は画像解析ボードドライバ211でこのデバイスを扱う(画像解析ボード81が接続されたときにはここで関連付けて終了する)。合致しない場合はコアドライバ202において、テーブル情報の3番目にあるMassStorageデバイス(USBメモリ95)のクラスの値(具体的にはCls=0x08)を取得する。そしてコアドライバ202において、この情報と接続したUSBデバイスのクラスの情報とを比較する。比較した情報が合致した場合はMassStorageドライバ204でこのデバイスを扱う(USBメモリ95が接続されたときにはここで関連付けて終了する)。合致しない場合はコアドライバ202において、テーブル情報の4番目にあるHIDデバイス(キーボード93)のクラスの値(具体的にはCls=0x03)を取得する。そしてコアドライバ202において、この情報と接続したUSBデバイスのクラスの情報とを比較する。比較した情報が合致した場合はHIDドライバ203でこのデバイスを扱う(キーボード93が接続されたときにはここで関連付けて終了する)。ここで合致しなければ、どのドライバにも関連付けは行わずに終了する。このとき、終了せずに、例えばすべてのデバイスに関連付け可能なドライバを用意しておき、テーブルの最後に登録しておく形をとっても良い。こうすることにより、必ず何らかのドライバがデバイスに関連付けられることになる。
以上説明したように、USB接続に対応したデバイスとUSB接続された情報処理装置の一例である画像形成装置を開示した。そして、コアドライバ202は、USB接続時にドライバを有効化するか否かを示すドライバの情報を管理する。そして、デバイスが有するUSBデバイス情報を取得するデバイス情報取得モジュールの一例としてコアドライバ202が機能する。
ドライバ情報とデバイス情報とが対応するとき、そのドライバ情報に対応するデバイスドライバを用いてデバイスを制御させるべく、次の設定をコアドライバ202は行う。すなわち、デバイスドライバのセットアップをUSBコアドライバの制御下にて行う設定モジュールの一例としてコアドライバ202を担う。
図5は、ドライバ制御タスク250がデバイスドライバ群をコアドライバ202に登録する部分について説明した図である。本図は、USBホスト接続が無効である場合の説明である。なお、次のモジュールは不揮発性メモリ66に格納され、CPU(不図示)により読み出されて動作する。該当するモジュールは、USBホストコントローラドライバ201、コアドライバ202、画像解析ボードドライバ211、FAXドライバ212、HIDドライバ203、MassStorageドライバ204、ドライバ制御タスク250である。ここで、HIDドライバ203、MassStorageドライバ204に関しては無効化されていることとする。
ドライバ制御タスク250は、デバイスドライバ群のリストを不揮発性メモリ66に保持している。このリストはUSBホスト無効化時ドライバリストであり、USBホスト無効化時でも使用可能としたいデバイスのデバイスドライバが記載されている。このリストにはUSB−FAXボード82や画像解析ボード81は内部的にUSBホストを使用しているためこのリストに挙げておく必要がある(USBホスト無効化時でも使用可能とする必要がある)。よってこのリストには例えばリスト611のようにFAXドライバ212、画像解析ボードドライバ211の情報を保持する(HIDドライバ203、MassStorageドライバ204の情報は保持しない)。本実施形態においてはドライバ制御タスク250において、FAXドライバ、画像解析ボードドライバの順でリストを保持している。リスト612は直値の例であり、ドライバ名が保持されている。また、VendorID、ProductIDの情報を登録するため、リスト上にこれらの情報を保持する。これらの保持先は、システム再起動が発生しても永続的に保持できるよう不揮発性メモリ66に保持する。そしてドライバ制御タスク250ではこのリストを読み出しコアドライバ202に登録を行う。登録を行うと、テーブル613のようにコアドライバ202内にテーブルを構築する。この際、登録したFAXドライバ、画像解析ボードドライバの順にテーブルが構築される。テーブル614に直値の例を記載したが、リスト612で挙げた情報がそのまま登録される。
図6は、USBデバイス接続時にどのデバイスドライバを扱うかを説明した図である。本図はUSBホスト接続が無効である場合の説明である。なお、次のモジュールは不揮発性メモリ66に格納され、CPU(不図示)により読み出されて動作する。該当するモジュールは、USBホストコントローラドライバ201、画像解析ボードドライバ211、FAXドライバ212、コアドライバ202、HIDドライバ203、MassStorageドライバ204である。なお、HIDドライバ203、MassStorageドライバ204は無効化されているものとする。画像解析ボード81、USB−FAXボード82、キーボード93、USBメモリ95は接続するUSBデバイス、USBホストコントローラ80はUSBの通信を制御するチップである。
USBホスト接続時の動作としては、コアドライバ202において、コアドライバ202内に保持するテーブルに登録された順番に、その登録情報とUSBデバイスとの情報比較を行う。コアドライバ202では、テーブルを順に走査して、テーブル内にUSBデバイスと合致する情報を見つけたら、その時点でドライバとデバイスの関連付けを行う。またテーブル内に合致する情報が無い場合には、そのUSBデバイスは扱えないことになる。
本実施形態では、図5において登録したテーブルを用いる。例えば、テーブル613には、FAXドライバ212、画像解析ボードドライバ211がその順番で登録されている。614はその直値の例である。USBデバイス接続時には、コアドライバ202において、このテーブルに登録された情報を順に走査する。例えばコアドライバ202がテーブル情報の1番目にあるUSB−FAXボード82のクラス、VendorID、ProductIDの値(具体的には、Cls=0xff、Vendor=0000、ProdID=1111)を取得する。そしてコアドライバ202において、この情報と接続したUSBデバイスのクラス、VendorID、ProductIDの情報とを比較する。比較した情報が合致した場合はFAXドライバ212でこのデバイスを扱う(USB−FAXボード82が接続したときにはここで関連付けて終了する)。合致しない場合はコアドライバ202において、テーブル情報の2番目にある画像解析ボード81のクラス、VendorID、ProductIDの値(具体的には、Cls=0xff、Vendor=0000、ProdID=2222)を取得する。そしてコアドライバ202において、この情報と接続したUSBデバイスのクラス、VendorID、ProductIDの情報とを比較する。比較した情報が合致した場合は画像解析ボードドライバ211でこのデバイスを扱う(画像解析ボード81が接続したときにはここで関連付けて終了する)。ここで合致しなければ、どのドライバにも関連付けは行わずに終了する。例えばこのケースだと、セキュリティ対策でUSBメモリ95などの使用を制限したい場合などが考えられる。USBホスト接続を無効化し、ドライバを登録せず、USBメモリを使えない状態にすることができる。
図7は、USBデバイス接続時に、コアドライバ202がUSBデバイスから取得するUSBプロトコル情報である。本図に示す情報は、画像解析ボード81、USB−FAXボード82、キーボード93、USBメモリ95などのUSBデバイスを画像形成装置100と接続した際、コアドライバ202が揮発性メモリ67に保持する情報である。本図では具体的な例として、USBメモリ95を接続した場合の情報を示した。
プロトコル情報630にはさまざまな情報が含まれる。本発明に関わる項目として、USBデバイスのクラスでは例えば項目631のようにCls=08と示されている。VendorIDやProductIDは項目632のようにVendor=04bb、ProdID=0c2aとなっている。またその他の情報として、項目650のようにUSBデバイスが物理的にどのポートに接続しているかの情報や、項目651のように製品名が含まれていたりする。
さらに、項目640にはドライバ名が表示されている。USBデバイス接続時には、ここの情報は存在しないが、図4や図6でデバイスドライバとUSBデバイスの関連付けが行われると、このデバイス情報にドライバの情報が埋め込まれる(例えば、Driver=usb−storageとなる)。
<操作部>
次に、図8、図9、図10は、画像形成装置100の操作部について示した図である。基本的にはユーザからの画面操作を受けて、操作部ソフトウェア(不図示)が処理を行う(その後、その結果を表示する)。操作部ソフトウェアは不揮発性メモリ66に保持され、CPU(不図示)によって読み出されて動作する。例えば、後述する図11のような設定値書き換えも操作部ソフトウェアが行う。
図8は、操作部の代表的な表示について説明した図である。トップメニューキー401は、トップメニューの画面表示(ログイン画面表示:不図示)に戻るために用意されたキーである。マイポータルキー402は、このキーが押下されると例えば特定のログインユーザに関連する情報(そのユーザが投入したジョブの情報など)のみが掲載された画面を表示する。設定キー403は環境情報、例えばデバイスが持つ設定値や、アプリケーションやユーザごとの設定値を設定する画面を表示する。ユーザは設定キー403を押下することで、後述の図9などで説明するUSBホスト接続の有効化設定の画面も開くことができる。本画面は、機能キー404〜408やショートカットキー411〜414を有する。登録キー415は、パーソナライズ画面の編集を行うためのキーである。ログアウトキー417は、ユーザがユーザログイン状態を解除したいときに使用するキーである。ログアウトキー417を押すとトップメニュー(不図示)を表示する。ステータスライン418は、例えば実行中のジョブの情報を表示したり、消耗品(トナーなど)警告情報を表示したりするエリアである。システム状況キー419は、例えば実行中のジョブリストやジョブログリストの情報が閲覧できる画面を表示するためのキーである。なお、ここで挙げた画面は表示の一例であり、これに限定するものではない。
図9は、図8における設定キー403が押下された際に表示されるキーである。ユーザによって設定キーが押下されるとさまざまな環境設定が可能となるが、本実施形態ではその説明は割愛する。例えば図9はUSB設定の画面であるが、環境設定の階層としては、“環境設定>外部I/F>USB設定”と階層を辿る。画面表示キー701はUSBホストの有効化の設定をする。このキーが押下されると図10のような画面が開く。閉じるキー702は、押下されることによりこの画面を閉じ、図8の画面表示へ戻る。本画面よりユーザからのUSBホスト接続制御の指示を受け付ける。なお、ここで挙げた画面は表示の一例であり、この形式に限定するものではない。
図10、図11は、図9でUSBホストの有効化を設定するキーが押下された場合に表示する画面及び内部データを説明した図である。エリア711には設定項目を表示し、ユーザによってON(有効)キー712、OFF(無効)キー713それぞれが押下されると有効化/無効化を設定可能となる。OKキー714は有効化/無効化を確定するものであり、キャンセルキー715は今回の入力設定をキャンセルするキーである(すなわち、ここで行った変更を確定しない)。OKキー714、キャンセルキー715が押下されると図9の画面表示へ戻ることになる。また、OKキー714が押下されると、図11で示す内部テーブルの情報も更新される。内部データとしては、テーブル720で示したように、画面階層と同様なテーブルを有している。階層情報としては“環境設定>外部I/F>USB設定”という情報をもち、また、項目721で“USBホストの有効化=ON”という情報を保持している。この項目721の情報は、有効化フラグとしてその情報を不揮発性メモリ66に保持されているが、実際の設定がシステムとして有効になるのはシステムを再起動したときになる。なお、ここで挙げた図10の画面は表示の一例であり、これに限定するものではない。
<USBホスト有効化フロー>
図12は、USBホストの使用可否を制御する制御情報であるUSBホスト接続の有効化フラグのON/OFF設定を行う場合のフローチャートである。S401でユーザの指示により、図10のUSBホストの有効化画面を表示する。S402で図10におけるON(有効)キー712が押下されたかどうかを判定する。ON(有効)キー712が押下されたらS403に進み、揮発性メモリ67にその制御情報を保持する。S402でON(有効)キー712が押下されない場合はS404に進み、OFF(無効)キー713が押下されたかどうかを判定する。OFF(無効)キー713が押下されたらS405に進み、揮発性メモリ67に同じく制御情報を保持する。S404でOFF(無効)キー713も押下されない場合はS401に戻る。S406ではON(有効)キー712またはOFF(無効)キー713の制御情報を確定するか、キャンセルするかを判定する。S406でOKキー714が押下されると確定すると判定され、S407にて有効化フラグを確定して不揮発性メモリ66(図11における721)を更新する。S406でキャンセルキー715が押下された場合はS401に戻る。以上の流れでユーザからのUSBホスト接続制御の指示を受け付け、設定を行う。
<システム起動時処理フロー>
図13は、システム起動時の処理に関するフローチャートである。S501でシステムを起動する。すると、S502でドライバ制御タスク250がUSBホスト接続の有効化フラグを参照する。ここでいう有効化フラグとは、図10、11で説明した有効化のON/OFFの設定を指す。S503で有効化フラグがONだと判定されるとS504ですべてのデバイスドライバをコアドライバ202に登録する。例えば本実施形態ではFAXドライバ212、画像解析ボードドライバ211、MassStorageドライバ204、HIDドライバ203などである。S503で有効化フラグがOFFだと判定されると、S505では予め登録したデバイスドライバのみをコアドライバ202に登録する。例えば本実施形態では、FAXドライバ212と画像解析ボードドライバ211のみを登録することになる。ここで、例えばUSB−FAXボード82や画像解析ボード81については、汎用ドライバでなくベンダ固有ドライバになる。よって、図3のようにクラス、VendorID、ProductIDの情報とドライバの情報をセットで登録する。具体的には、FAXデバイスであればCls=0xff、Vendor=0000、ProfID=1111、Driver=usb−faxとなる。一方で、MassStorageデバイスやHIDデバイスは、汎用ドライバを使用できるため、クラスとドライバ情報のみの登録でよい(具体的には、MassStorageデバイスであればCls=0x08、Driver=usb−storageとなる)。ドライバの情報はドライバ情報の一例である。
<USBデバイス接続検知時処理フロー>
図14は、USBデバイス(例えばキーボードやUSBメモリ、FAXなど)の接続時の処理に関するフローチャートである。S601でユーザがUSBデバイスを接続するか、またはUSBデバイス接続状態でシステムを起動する。その後S602でコアドライバ202がデバイス接続を検知する。S603ではコアドライバ202が、接続されたUSBデバイスのデバイス情報取得を行う。ここで取得できる情報は、図7で説明したプロトコル情報に含まれる。S604では、コアドライバ202がコアドライバ内のテーブルを走査し、取得したUSBデバイス情報とテーブル内の情報とを比較する。S605では、取得したデバイス情報とテーブル内の情報とが合致するかどうかを判定する。合致した場合は、S606でコアドライバ202が接続したUSBデバイス情報と合致したテーブル情報にあるドライバ情報とを関連付けて、デバイスを使用できるようにする。S605でどの情報とも合致しなかったと判定した場合は、関連付けずに処理を終了する。USBデバイス情報は、デバイス情報の一例である。
<USBデバイス接続検知時処理フロー(詳細)>
図15は、図14のフローチャートで示した処理をより詳細化したものである。S1601でユーザがUSBデバイスを接続するかまたは、USBデバイス接続状態でシステムを起動する。その後S1602でコアドライバ202がデバイス接続を検知する。S1603ではコアドライバ202が、接続されたUSBデバイスのデバイス情報取得を行う。ここで取得できる情報は、図7で説明したプロトコル情報に含まれる。S1604以降で、コアドライバ202が、コアドライバ202内のテーブルを走査し取得したUSBデバイス情報と比較して関連付けを行う処理までについて説明する。本実施形態では、FAXデバイスや画像解析ボードなどを一例として挙げて説明するが、これらに限ったものではなく、USBインタフェースを有するデバイスであれば本発明は適用可能である。
S1604では、コアドライバ202がテーブル情報の1番目にあるUSB−FAXボード82のクラス、VendorID、ProductIDの値(例えばCls=0xff、Vendor=0000、ProdID=1111)を取得する。そしてS1605でこの情報と、図7のプロトコル情報で示したようなUSBデバイスのクラス、VendorID、ProductIDの情報とを比較する。そしてS1606にてこれらの情報が合致するか否かを判定する。合致した場合はS1607に進み、コアドライバ202において、接続したUSBデバイス情報に、合致したテーブル情報に含まれるドライバ情報(この場合はFAXドライバ212の情報)を関連付ける。関連付けを行うことで、接続したUSBデバイスをこのFAXドライバ212で扱えるようにできる。そしてフローを終了する。
S1606で登録したUSB−FAXボード82の情報と合致しなかった場合はS1608に進み、次のテーブル情報との比較に進む。S1608では、コアドライバ202がテーブル情報の2番目にある画像解析ボード81のクラス、VendorID、ProductIDの値(例えばCls=0xff、Vendor=0000、ProdID=2222)を取得する。そしてS1609でこの情報と、図7のプロトコル情報で示したようなUSBデバイスのクラス、VendorID、ProductIDの情報とを比較する。そしてS1610でこれらの情報が合致するか否かを判定する。合致した場合はS1611に進み、コアドライバ202において、接続したUSBデバイス情報に、合致したテーブル情報に含まれるドライバ情報(この場合は画像解析ボードドライバ211の情報)を関連付ける。関連付けを行うことで、接続したUSBデバイスをこの画像解析ボードドライバ211で扱えるようにできる。そしてフローを終了する。S1610で登録した画像解析ボード81の情報と合致しなかった場合はS1612に進み、次のテーブル情報との比較に進む。S1612では、コアドライバ202がテーブル情報の3番目にあるMassStorageデバイス(マルチメディアカードリーダ94/USBメモリ95)のクラスの値(例えばCls=0x08)を取得する。そしてS1613にてこの情報と、図7のプロトコル情報で示したようなUSBデバイスのクラスの情報を比較する。そしてS1614でこれらの情報が合致するか否かを判定する。合致した場合はS1615に進み、コアドライバ202において、接続したUSBデバイス情報に合致したテーブル情報に含まれるドライバ情報(この場合はMassStorageドライバ204の情報)を関連付ける。関連付けを行うことで、接続したUSBデバイスをこのMassStorageドライバ204で扱えるようにできる。そしてフローを終了する。
S1614で登録したMassStorageデバイス(マルチメディアカードリーダ94/USBメモリ95)の情報と合致しなかった場合はS1616に進み、次のテーブル情報との比較に進む。S1616では、コアドライバ202がテーブル情報の4番目にあるHIDデバイス(キーボード93)のクラスの値(例えばCls=0x03)を取得する。そしてS1617でこの情報と、図7のプロトコル情報で示したようなUSBデバイスのクラスの情報を比較する。そしてS1618でこれらの情報が合致するか否かを判定する。合致した場合はS1619に進み、コアドライバ202において、接続したUSBデバイス情報に、合致したテーブル情報に含まれるドライバ情報(この場合はHIDドライバ203の情報)を関連付ける。関連付けを行うことで、接続したUSBデバイスをこのHIDドライバ203で扱えるようにできる。そしてフローを終了する。S1618で登録したHIDデバイス(キーボード93)の情報と合致しなかった場合は、処理を終了する。この場合、走査したテーブル内に扱えるドライバが存在しなかったため、デバイスとドライバの関連付けができず、接続したUSBデバイスは使用できないことになる。
以上の処理を行うことにより、USBホスト接続をシステムとして一括して無効化することができる。また、USBデバイス側の対応に関係なく、意図しないデバイスの接続を排除することが可能となる。
<第二の実施形態>
USBホスト接続が無効化された場合でも使用可能とするデバイスを接続可能としつつ、USBホスト接続が有効化された場合にさらに個々のデバイスごとに有効化/無効化を設定可能とする第二の実施形態について説明する。本実施形態では説明が概ね第一の実施形態と重複するため、差分のみの説明とする。図16、17の操作部表示についてもその処理については第一の実施形態と同様である。
<操作部>
図16は、第一の実施形態で述べた図8の設定キー403が押下された際に表示される画面表示及びキーである。特に管理者が操作可能なすべてのUSBデバイスの設定画面である。設定キーが押下されるとさまざまな環境設定が可能となるが本実施形態ではその説明は割愛する。図16はUSB管理者設定の画面の例であるが、環境設定の階層としては、“環境設定>外部I/F>USB設定>USB管理者設定”と階層を辿る。画面表示/キー801はUSBホストの有効化を設定する。画面表示/キー802はUSB−FAXボード82の有効化を、画面表示/キー803は画像解析ボード81の有効化を、画面表示/キー804はUSBMassStorageデバイス(マルチメディアカードリーダ94/USBメモリ95など)の有効化を、画面表示/キー805はUSBHIDデバイス(キーボード93など)の有効化を設定可能であることを示す。これらのキーが押下されると第一の実施形態で述べた図10のような画面が開き有効/無効を設定可能である。また、閉じるキー806を押下すると、この画面を閉じ図8の画面表示へ戻ることになる。なお、本画面は表示の一例であり、この形式に限定するものではない。
図17は、第一の実施形態で示した図8の設定キー403が押下された際に表示される画面及びキーである。ここでは、一般者が操作可能な特定のUSBデバイスの設定画面を示している。管理者のようにすべての操作が可能ではなく、一部の機能にのみ設定が可能となっている。設定キーが押下されるとさまざまな環境設定ができるが本実施形態ではその詳細な説明は割愛する。図17はUSB一般者設定の画面であるが、環境設定の階層としては、“環境設定>外部I/F>USB設定>USB一般者設定”と階層を辿る。画面表示/キー814はUSBMassStorageデバイス(マルチメディアカードリーダ94/USBメモリ95など)の有効化を、画面表示/キー815はUSBHIDデバイス(キーボード93など)の有効化を設定可能であることを示す。これらのキーが押下されると第一の実施形態で述べた図10のような画面が開き有効無効を設定可能である。また閉じるキー816を押下すると、この画面を閉じ、図8の画面表示へ戻ることになる。本画面についても表示の一例であり、この形式に限定するものではない。
<システム起動時処理フロー>
図18は、システム起動時の処理に関するフローチャートである。S701でシステムが起動する。すると、S702でドライバ制御タスクがUSBホスト接続の有効化フラグを参照する。ここでいう有効化フラグとは、第一の実施形態における図10、11で説明した有効化のON/OFFの設定である。S703で有効化フラグがOFFだと判定されるとS704では予め登録したデバイスドライバのみをコアドライバ202に登録する。例えば本実施形態では、FAXドライバ212と画像解析ボードドライバ211のみを登録することになる。S703で有効化フラグがONだと判定されると、S705に進み、以降個々のデバイスのフラグを判定する処理に移る。S705ではS705では、FAXデバイスの有効化フラグがOFFであると判定した場合、S706に進みFAXドライバ212を登録しないようドライバ制御タスク内で情報を保持する。その後、S708へ進む。S705でFAXデバイスの有効化フラグがONだと判定した場合、S707に進み、FAXドライバ212を登録するようドライバ制御タスク内で情報を保持する。その後、S708へ進む。
続いてS708では、画像解析ボードデバイスの有効化フラグがOFFであると判定した場合、S709に進み、画像解析ボードドライバを登録しないようドライバ制御タスク内で情報を保持する。その後、S711へ進む。S708で画像解析デバイスの有効化フラグがONであると判定した場合、S710に進み、画像解析ボードドライバ211を登録するようドライバ制御タスク内で情報を保持する。その後、S711へ進む。S711では、MassStorageデバイスの有効化フラグがOFFであると判定した場合、S712へ進み、MassStorageドライバ204を登録しないようドライバ制御タスク内で情報を保持する。その後、S714へ進む。S711でMassStorageデバイスの有効化フラグがONであると判定すると、S713へ進み、MassStorageドライバ204を登録するようドライバ制御タスク内で情報を保持する。その後、S714へ進む。S714では、HIDデバイスの有効化フラグがOFFであると判定した場合、S715へ進み、HIDドライバ203を登録しないようドライバ制御タスク内で情報を保持する。S714でHIDデバイスの有効化フラグがONであると判定すると、S716へ進み、HIDドライバを登録するようドライバ制御タスク内で情報を保持する。そしてS717において、コアドライバ202に登録するとして保持しておいた情報に基づいて、コアドライバ202にデバイスドライバ群の情報を登録して終了する。
以上により、USBホスト接続をシステムとして一括して無効化することができる一方で、USBデバイスに対し個別に有効化/無効化の設定をすることが可能となる。また、USBデバイス側の対応に関係なく、意図しないデバイスの接続を排除することが可能となる。
<第三の実施形態>
USBホスト接続が無効化された場合においても、使用するデバイスを接続可能とするため、物理的なUSBホストI/Fごとに有効化/無効化を設定可能とする第三の実施形態について説明する。本実施形態では説明が概ね第一の実施形態と重複するため、ここでは差分のみの説明とする。図19の操作部表示についてもその処理については第一の実施形態と同様である。
図19は、第一の実施形態で示した図8の設定キー403が押下された際に表示される画面及びキーの例である。特に管理者が操作可能な、すべてのUSBホストI/Fの設定画面である。設定キーが押下されるとさまざまな環境設定ができるが本実施形態ではその説明は割愛する。図19はUSB管理者設定の画面であるが、環境設定の階層としては、“環境設定>外部I/F>USB設定>USB管理者設定”と階層を辿る。画面表示/キー821はUSBホストの有効化を設定するための項目を示す。画面表示/キー822、823、824、825はそれぞれ当該情報処理装置が有する物理的なUSBポート1、2、3、4の有効化を設定可能である。このポート名については、例えば「本体横ポート」などのようにユーザがわかりやすい表現にしても良い。それぞれのキーを押下することにより、各ポートに対する設定画面へと遷移する。閉じるキー826を押下することにより、この画面を閉じ、図8の画面表示へ戻ることになる。なお、ここで示した設定画面は一例であり、上記に述べた機能が実現できれば、どのような形式でも構わない。また、第三の実施形態は、第一または第二の実施形態と組み合わせても良く、これによっても前述した階層や画面表示を変更してもかまわない。
<デバイス接続時の処理フロー>
図20は、USBデバイス(例えばキーボードやUSBメモリ、FAXなど)接続時の処理に関するフローチャートである。S801でユーザがUSBデバイスを接続するかまたは、USBデバイス接続状態でシステムを起動する。その後S802でコアドライバ202がUSBデバイスの接続を検知する。S803ではドライバ制御タスクが、各ポートの使用の有効化フラグを参照する。次にS804では、図7で説明したプロトコル情報に含まれるUSBデバイスが接続されたポート情報を取得する。S805において、S803で取得した有効化フラグとポート情報とを比較し、S806で接続中のポートが使用可能かどうかを判定する。接続中のポートが使用不可能(有効化フラグOFF)であった場合は、本処理を終了する。使用可能(有効化フラグON)であった場合は、S808へ進む。S808において、コアドライバ202で、コアドライバ内のテーブルを走査し、取得したデバイス情報とテーブル内の情報とを比較して、S809でデバイス情報に合致するかどうかを判定する。合致した場合は、S810へ進み、コアドライバ202は、接続したUSBデバイスのデバイス情報とテーブル内のドライバ情報とを関連付けて、デバイスを使用できるようにし処理を終了する。S809において、どのドライバ情報とも合致しないと判定した場合は、処理を終了する。
以上により、当該情報処理装置が有する個々のUSBの物理I/Fごとに、有効/無効の制御が可能となり、ユーザの意図するより利便性が高いUSBホスト接続を実現可能である。
<備考>
なお本発明は、複数の機器(例えばホストコンピュータ、インタフェース機器、リーダー、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用してもよい。
また本発明の目的は、前述の実施形態の機能を実現するプログラムを記録した記録媒体をシステムあるいは装置に供給し、そのシステムあるいは装置のコンピュータが記憶媒体に格納されたプログラムを読み出し実行することによっても達成される。この場合、記憶媒体から読み出された実行可能なプログラム自体が前述した実施形態の機能を実現することになり、そのプログラム自体およびプログラムを記憶した記憶媒体は本発明を構成することになる。
また、本発明には、プログラムの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。さらに、記憶媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた場合についても、本発明は適用される。その場合、書き込まれたプログラムの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される。
また、発明の実施の形態は、本発明を中核として構成される装置又は方法を説明している。このため本実施形態には本発明の本質的部分を加えて付加的な構成要件も記載されている。すなわち発明の実施の形態において説明した装置又は方法の構成要件を備えることは、本発明を成立させるための十分条件ではあるものの、必要条件ではない。
51 リーダー装置
52 原稿給紙ユニット
53 スキャナユニット
55 プリンタ装置
56 マーキングユニット
57 排紙ユニット
58 給紙ユニット
60 制御装置
65 HDD
66 不揮発性メモリ
67 揮発性メモリ
70 操作部
80 USBホストコントローラ

Claims (12)

  1. USB接続に対応したデバイスとUSB接続が可能な情報処理装置であって、
    外部的にUSB接続されるデバイスのUSB接続を一括して無効化するか、または外部的にUSB接続されるデバイスのUSB接続を有効化するか、を設定することが可能な画面を表示する表示手段と、
    前記画面を介して、外部的にUSB接続されるデバイスのUSB接続を有効化することが設定された場合、外部的にUSB接続されるデバイスと内部的にUSB接続されるデバイスの両方を扱えるようにするために、前記外部的にUSB接続されるデバイスに対応するデバイスドライバと前記内部的にUSB接続されるデバイスに対応するデバイスドライバとをUSBコアドライバに登録し、
    前記画面を介して、外部的にUSB接続されるデバイスのUSB接続を一括して無効化することが設定された場合、外部的にUSB接続されるデバイスを扱えないようにするために、前記外部的にUSB接続されるデバイスに対応するデバイスドライバを前記USBコアドライバに登録せず、かつ、内部的にUSB接続されるデバイスを扱えるようにするために、前記内部的にUSB接続されるデバイスに対応するデバイスドライバを前記USBコアドライバに登録する登録手段と、
    を有し、
    前記USBコアドライバは、前記登録手段にて登録されたデバイスドライバの中から、接続される前記デバイスに対応するデバイスドライバを特定し、有効化することを特徴とする情報処理装置。
  2. ファクシミリ機能を有するファクシミリ手段を更に備え、
    前記ファクシミリ手段は、内部的にUSB接続され、
    内部的にUSB接続されるデバイスに対応するデバイスドライバは、ファクシミリドライバであることを特徴とする請求項1に記載の情報処理装置。
  3. 外部的にUSB接続されるデバイスのUSB接続が有効化された際に用いられる有効化ドライバリストと、外部的にUSB接続されるデバイスのUSB接続が無効化された際に用いられる無効化ドライバリストとを保持する保持手段を更に有し、
    前記有効化ドライバリストは、外部的にUSB接続されるデバイスに対応するデバイスドライバと、内部的にUSB接続されるデバイスに対応するデバイスドライバとの両方が定義されており、
    前記無効化ドライバリストは、外部的にUSB接続されるデバイスに対応するデバイスドライバは定義されておらず、内部的にUSB接続されるデバイスに対応するデバイスドライバが定義されており、
    前記画面を介して、外部的にUSB接続されるデバイスのUSB接続を有効化することが設定された場合、前記登録手段は、前記有効化ドライバリストに定義された外部的にUSB接続されるデバイスに対応するデバイスドライバおよび内部的にUSB接続されるデバイスに対応するデバイスドライバを前記USBコアドライバに登録し、
    前記画面を介して、外部的にUSB接続されるデバイスのUSB接続を無効化することが設定された場合、前記登録手段は、前記無効化ドライバリストに定義された内部的にUSB接続されるデバイスに対応するデバイスドライバを前記USBコアドライバに登録することを特徴とする請求項1または2に記載の情報処理装置。
  4. 前記内部的にUSB接続されるデバイスとは、前記情報処理装置の筐体内部でUSB接続されるデバイスであり、前記外部的にUSB接続されるデバイスとは、前記情報処理装置の筐体外部でUSB接続されるデバイスであることを特徴とする請求項1乃至3のいずれか一項に記載の情報処理装置。
  5. USB接続に対応したデバイスとUSB接続が可能な情報処理装置の制御方法であって、
    外部的にUSB接続されるデバイスのUSB接続を一括して無効化するか、または外部的にUSB接続されるデバイスのUSB接続を有効化するか、を設定することが可能な画面を表示する表示工程と、
    前記画面を介して、外部的にUSB接続されるデバイスのUSB接続を有効化することが設定された場合、外部的にUSB接続されるデバイスと内部的にUSB接続されるデバイスの両方を扱えるようにするために、前記外部的にUSB接続されるデバイスに対応するデバイスドライバと前記内部的にUSB接続をされたデバイスに対応するデバイスドライバとをUSBコアドライバに登録し、
    前記画面を介して、外部的にUSB接続されるデバイスのUSB接続を一括して無効化することが設定された場合、外部的にUSB接続されるデバイスを扱えないようにするために、前記外部的にUSB接続されるデバイスに対応するデバイスドライバを前記USBコアドライバに登録せず、かつ、内部的にUSB接続されるデバイスを扱えるようにするために、前記内部的にUSB接続されるデバイスに対応するデバイスドライバを前記USBコアドライバに登録する登録工程と、
    を有し、
    前記USBコアドライバは、前記登録工程にて登録されたデバイスドライバの中から、接続される前記デバイスに対応するデバイスドライバを特定し、有効化することを特徴とする制御方法。
  6. 前記情報処理装置はファクシミリ機能を有するファクシミリ手段を更に備え、
    前記ファクシミリ手段は、内部的にUSB接続され、
    内部的にUSB接続されたデバイスに対応するデバイスドライバは、ファクシミリドライバであることを特徴とする請求項5に記載の制御方法。
  7. 外部的にUSB接続されるデバイスのUSB接続が有効化された際に用いられる有効化ドライバリストと、外部的にUSB接続されるデバイスのUSB接続が無効化された際に用いられる無効化ドライバリストとを記憶部に保持する保持工程を更に有し、
    前記有効化ドライバリストは、外部的にUSB接続されるデバイスに対応するデバイスドライバと、内部的にUSB接続されるデバイスに対応するデバイスドライバとの両方が定義されており、
    前記無効化ドライバリストは、外部的にUSB接続されたデバイスに対応するデバイスドライバは定義されておらず、内部的にUSB接続されたデバイスに対応するデバイスドライバが定義されており、
    前記画面を介して、外部的にUSB接続されるデバイスのUSB接続を有効化することが設定された場合、前記登録工程において、前記有効化ドライバリストに定義された外部的にUSB接続されるデバイスに対応するデバイスドライバおよび内部的にUSB接続されるデバイスに対応するデバイスドライバを前記USBコアドライバに登録し、
    前記画面を介して、外部的にUSB接続されるデバイスのUSB接続を無効化することが設定された場合、前記登録において、前記無効化ドライバリストに定義された内部的にUSB接続されるデバイスに対応するデバイスドライバを前記USBコアドライバに登録することを特徴とする請求項5または6に記載の制御方法。
  8. 前記内部的にUSB接続されるデバイスとは、前記情報処理装置の筐体内部でUSB接続されるデバイスであり、前記外部的にUSB接続されるデバイスとは、前記情報処理装置の筐体外部でUSB接続されるデバイスであることを特徴とする請求項5乃至7のいずれか一項に記載の制御方法。
  9. コンピュータを、
    外部的にUSB接続されるデバイスのUSB接続を一括して無効化するか、または外部的にUSB接続されるデバイスのUSB接続を有効化するか、を設定することが可能な画面を表示する表示手段と、
    前記画面を介して、外部的にUSB接続されるデバイスのUSB接続を有効化することが設定された場合、外部的にUSB接続をされるデバイスと内部的にUSB接続をされるデバイスの両方を扱えるようにするために、前記外部的にUSB接続をされるデバイスに対応するデバイスドライバと前記内部的にUSB接続をされたデバイスに対応するデバイスドライバとをUSBコアドライバに登録し、
    前記画面を介して、外部的にUSB接続されるデバイスのUSB接続を一括して無効化することが設定された場合、外部的にUSB接続されたデバイスを扱えないようにするために、前記外部的にUSB接続されたデバイスに対応するデバイスドライバを前記USBコアドライバに登録せず、かつ、内部的にUSB接続されたデバイスを扱えるようにするために、前記内部的にUSB接続されたデバイスに対応するデバイスドライバを前記USBコアドライバに登録する登録手段、
    として機能させ、
    前記USBコアドライバは、前記登録手段にて登録されたデバイスドライバの中から、前記接続されるデバイスに対応するデバイスドライバを特定し、有効化することを特徴とするプログラム。
  10. 前記コンピュータはファクシミリ機能を有するファクシミリ手段を更に備え、
    前記ファクシミリ手段は、内部的にUSB接続され、
    内部的にUSB接続されるデバイスに対応するデバイスドライバは、ファクシミリドライバであることを特徴とする請求項9に記載のプログラム。
  11. 外部的にUSB接続されるデバイスのUSB接続が有効化された際に用いられる有効化ドライバリストと、外部的にUSB接続されるデバイスのUSB接続が無効化された際に用いられる無効化ドライバリストとを保持する保持手段として更に機能させ、
    前記有効化ドライバリストは、外部的にUSB接続されるデバイスに対応するデバイスドライバと、内部的にUSB接続されるデバイスに対応するデバイスドライバとの両方が定義されており、
    前記無効化ドライバリストは、外部的にUSB接続されるデバイスに対応するデバイスドライバは定義されておらず、内部的にUSB接続されるデバイスに対応するデバイスドライバが定義されており、
    前記画面を介して、外部的にUSB接続されるデバイスのUSB接続を有効化することが設定された場合、前記登録手段は、前記有効化ドライバリストに定義された外部的にUSB接続されるデバイスに対応するデバイスドライバおよび内部的にUSB接続されるデバイスに対応するデバイスドライバを前記USBコアドライバに登録し、
    前記画面を介して、外部的にUSB接続されるデバイスのUSB接続を無効化することが設定された場合、前記登録手段は、前記無効化ドライバリストに定義された内部的にUSB接続されるデバイスに対応するデバイスドライバを前記USBコアドライバに登録することを特徴とする請求項9または10に記載のプログラム。
  12. 前記内部的にUSB接続されるデバイスとは、前記コンピュータの筐体内部でUSB接続されるデバイスであり、前記外部的にUSB接続されるデバイスとは、前記コンピュータの筐体外部でUSB接続されるデバイスであることを特徴とする請求項9乃至11のいずれか一項に記載のプログラム。
JP2009035818A 2009-02-18 2009-02-18 情報処理装置及び制御方法及びプログラム Active JP5339958B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2009035818A JP5339958B2 (ja) 2009-02-18 2009-02-18 情報処理装置及び制御方法及びプログラム
US12/698,339 US9158721B2 (en) 2009-02-18 2010-02-02 Information processing apparatus, control method, and program
CN2010101155904A CN101807177B (zh) 2009-02-18 2010-02-11 信息处理设备和控制方法
EP10153865.0A EP2221729B1 (en) 2009-02-18 2010-02-17 Information processing apparatus, control method, and program
KR1020100014029A KR101238099B1 (ko) 2009-02-18 2010-02-17 정보 처리 장치 및 제어 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009035818A JP5339958B2 (ja) 2009-02-18 2009-02-18 情報処理装置及び制御方法及びプログラム

Publications (3)

Publication Number Publication Date
JP2010191717A JP2010191717A (ja) 2010-09-02
JP2010191717A5 JP2010191717A5 (ja) 2012-03-29
JP5339958B2 true JP5339958B2 (ja) 2013-11-13

Family

ID=42173578

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009035818A Active JP5339958B2 (ja) 2009-02-18 2009-02-18 情報処理装置及び制御方法及びプログラム

Country Status (5)

Country Link
US (1) US9158721B2 (ja)
EP (1) EP2221729B1 (ja)
JP (1) JP5339958B2 (ja)
KR (1) KR101238099B1 (ja)
CN (1) CN101807177B (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5144624B2 (ja) * 2009-10-28 2013-02-13 京セラドキュメントソリューションズ株式会社 画像形成装置
US20110241981A1 (en) * 2010-03-30 2011-10-06 Lena Sojian Input Routing for Simultaneous USB Connections of Similar Device Types
CN101853224B (zh) * 2010-04-21 2014-12-10 中兴通讯股份有限公司 一种Linux***数据卡设备端口识别的方法及装置
JP5790402B2 (ja) * 2011-10-24 2015-10-07 ブラザー工業株式会社 画像処理装置及びプログラム
JP5834895B2 (ja) 2011-12-26 2015-12-24 ブラザー工業株式会社 画像処理装置及びプログラム
US9460283B2 (en) * 2012-10-09 2016-10-04 Dell Products L.P. Adaptive integrity validation for portable information handling systems
CN103677812A (zh) * 2013-11-29 2014-03-26 北京深思数盾科技有限公司 一种硬件设备状态自适应的方法及装置
JP7224821B2 (ja) * 2018-09-11 2023-02-20 キヤノン株式会社 デバイス診断ウェブシステムおよびデバイス診断方法
JP7080787B2 (ja) * 2018-10-04 2022-06-06 キヤノン株式会社 情報処理装置、その制御方法及びプログラム
JP7142262B1 (ja) 2021-11-29 2022-09-27 パナソニックIpマネジメント株式会社 通信制御装置および撮像装置
CN114645819B (zh) * 2022-05-19 2022-09-13 东方电气风电股份有限公司 风电变桨控制方法、装置、***及存储介质

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3316266A1 (de) * 1983-05-04 1984-11-08 Bayer Ag, 5090 Leverkusen Elastisches flachgewebe und seine herstellung
US6044428A (en) * 1998-03-17 2000-03-28 Fairchild Semiconductor Corporation Configurable universal serial bus node
KR20000018744A (ko) * 1998-09-04 2000-04-06 윤종용 컴퓨터 시스템의 usb 인터페이스 잠금장치
US6957437B1 (en) * 1999-12-23 2005-10-18 Intel Corporation Selecting a device driver for a peripheral device adapted to operate on a network and simplifying secondary printer installation
US6832273B2 (en) * 2000-12-21 2004-12-14 Microsoft Corporation System and method to specify extended configuration descriptor information in USB devices
JP3977059B2 (ja) * 2000-12-22 2007-09-19 キヤノン株式会社 情報処理装置、方法、及び制御プログラム
EP1248179A1 (en) 2001-04-03 2002-10-09 Hewlett-Packard Company Selective activation and deactivation of peripheral devices connected to a USB system
CN101208657B (zh) * 2003-04-11 2017-11-14 富意科技 一种便携式集成电路存储设备及其运行方法
KR20050101495A (ko) * 2004-04-19 2005-10-24 엘지전자 주식회사 휴대용기기의 외부메모리에 대한 보안회로
JP2006024199A (ja) * 2004-06-11 2006-01-26 Canon Inc インストール方法、装置、制御プログラム、及び該プログラムを記憶した媒体
JP4115430B2 (ja) 2004-07-09 2008-07-09 日精樹脂工業株式会社 生産機械の駆動方法
KR100601696B1 (ko) * 2004-07-27 2006-07-14 삼성전자주식회사 다이렉트 이미지 처리 방법 및 장치
US7831748B2 (en) * 2004-08-10 2010-11-09 Microsoft Corporation Extended USB protocol with selective broadcast mechanism
US20090089463A1 (en) * 2004-11-30 2009-04-02 Nec Corporation Information Processing Device, Device Access Control Method, and Device Access Control Program
JP4896397B2 (ja) * 2004-12-28 2012-03-14 富士通株式会社 プログラム、制限方法及びコンピュータ
KR100679038B1 (ko) 2005-07-15 2007-02-05 삼성전자주식회사 무선을 이용한 usb 장치 간 접속방법 및 시스템
US8024500B2 (en) * 2005-08-15 2011-09-20 Research In Motion Limited Universal peripheral connector
JP2007140689A (ja) * 2005-11-15 2007-06-07 Canon Inc Usbホスト制御装置及びその制御方法、並びにプログラム
DE602007004041D1 (de) * 2006-08-11 2010-02-11 Brother Ind Ltd Endgerät
JP4638398B2 (ja) * 2006-08-11 2011-02-23 ブラザー工業株式会社 通信装置及びプログラム
KR101279439B1 (ko) * 2007-07-23 2013-06-26 삼성전자주식회사 무선 usb를 이용하여 적어도 하나 이상의 디바이스들과접속 가능한 호스트 장치 및 상기 호스트 장치의 접속 방법

Also Published As

Publication number Publication date
US20100211963A1 (en) 2010-08-19
CN101807177B (zh) 2012-09-19
CN101807177A (zh) 2010-08-18
JP2010191717A (ja) 2010-09-02
KR101238099B1 (ko) 2013-03-04
EP2221729A2 (en) 2010-08-25
EP2221729B1 (en) 2014-05-14
KR20100094393A (ko) 2010-08-26
EP2221729A3 (en) 2011-11-02
US9158721B2 (en) 2015-10-13

Similar Documents

Publication Publication Date Title
JP5339958B2 (ja) 情報処理装置及び制御方法及びプログラム
JP5025342B2 (ja) 画像処理装置、画像処理システム、画像処理装置の制御方法及びプログラム
JP4200067B2 (ja) 画像処理装置、画像処理方法、及び画像処理プログラム
EP1785909A1 (en) Information processing apparatus and authentication method
JP6216231B2 (ja) 情報処理装置、その制御方法、及びプログラム
JP7229293B2 (ja) 画像処理装置、その制御方法、及びプログラム
JP2006239969A (ja) 画像形成装置
JP2016054431A (ja) 情報処理装置、画像形成装置、情報処理システム、情報処理方法及び情報処理プログラム
JP5428816B2 (ja) 画像形成装置、データ制御方法、及びプログラム
US9077837B2 (en) Image processing apparatus
JP5022928B2 (ja) 画像処理装置、画像処理システム、画像処理装置の制御方法、制御プログラム及び記録媒体
JP4480779B2 (ja) 画像処理装置、画像処理装置の動作方法及びプログラム
JP2009033539A (ja) 画像形成装置
US20100195145A1 (en) Image processing apparatus, control method for image processing apparatus, and storage medium storing control program therefor
US20170371645A1 (en) Information processing apparatus, operation update method and operation update program
US11627228B2 (en) Server device and control method thereof
JP7291021B2 (ja) 情報処理装置、ネットワーク管理方法及びプログラム
JP2012141744A (ja) 文書管理装置、文書管理処理装置の制御方法、プログラムおよび記憶媒体
JP2007245434A (ja) 印刷システム、印刷制御方法、画像形成装置、プログラムおよび記録媒体
TWI442245B (zh) 互動式系統
JP2020202504A (ja) 画像処理装置、および制御方法とそのプログラム
JP2015052828A (ja) 印刷制御装置、印刷制御方法、プログラム、及び記憶媒体
JP2021081861A (ja) 管理装置及び画像形成装置
JP2014236412A (ja) コントローラ基板およびコントローラ基板を備えた複合機
JP2020067904A (ja) 情報処理装置及びその制御方法、並びにプログラム

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120214

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120214

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130304

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130424

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130517

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130620

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130806

R151 Written notification of patent or utility model registration

Ref document number: 5339958

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151