説明

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

【課題】 情報処理装置に接続されたデバイスが静電気の印加などによって一時的に切断した場合、操作者は切断前と同じ操作でデバイスにアクセスすることができなくなる。
【解決手段】 制御部201は、USBデバイスが静電気などの原因で一時的に切断された場合、切断時に切断前の状態を検知情報に記憶し、かつ操作者に対する切断通知は行わない。再接続時は、記憶した切断前の状態に再接続後の状態を関連付けるとともに接続通知は行わないようにする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、インターフェースを介して外部デバイス(周辺デバイス)を接続可能な情報処理装置に関する。
【背景技術】
【0002】
従来から、ホスト装置と外部デバイスとの接続にUSB(Universal Serial Bus)インターフェースが用いられている。ホスト装置に外部デバイスが接続されると、ホスト装置はデバイスドライバ等を利用してUSBインターフェースに外部デバイスが接続されたことを検知し、ホスト装置が外部デバイスをアクセス可能にするための処理を行う。また、操作者の操作により、外部デバイスとの接続を切断する指示を受け付けると、ホスト装置は外部デバイスを切断可能な状態にするための処理を行う。外部デバイスがホスト装置から物理的に切断された場合、ホスト装置はデバイスドライバ等を利用してUSBインターフェースから外部デバイスが切断されたことを検知し、外部デバイスを切断した状態にするための処理を行う。
【0003】
このようなシステムにおいて、例えば静電気が外部デバイスへ印加されるなどの操作者が意図しない事象により、ホスト装置と外部デバイスとの電気的な接続が一時的に切断される場合がある。この場合は一旦ホスト装置の電源を落として再起動する処理が必要となり、復旧に時間がかかるという問題がある。このような問題に対して、特許文献1ではホスト装置と外部デバイス装置間でデータを送受信する汎用インターフェースの回路を再起動させることが行われている。また、特許文献2では、ホスト装置のデバイス制御モジュールを再起動することが記載されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2003−131956号公報
【特許文献2】特開2008−27379号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
従来の技術では、静電気などの原因でホスト装置などの情報処理装置と外部デバイスとの間の電気的な接続の一時的な切断が発生した場合、デバイス制御モジュールの再起動によって、外部デバイスを接続状態に復旧する。しかしこのような方法は、再起動後のホスト装置は切断直前の外部デバイスの接続状態を保持しない。従って、デバイス制御モジュールを再起動することでホスト装置と外部デバイスとが再び接続したとしても、必ずしも切断前の接続状態と同じ接続状態に復旧するとは限らない。ホスト装置が切断前の接続状態に基づいて外部デバイスへのアクセスを行おうとする場合、切断前後の接続状態の不一致により、外部デバイスにアクセスできないということがある。
【0006】
本発明は上述の課題を鑑みてなされたものであり、情報処理装置とインターフェースで接続された外部デバイスが一時的に切断され再接続した場合においても、切断前の接続状態に基づいて外部デバイスにアクセスすることを可能にすることを目的とする。
【課題を解決するための手段】
【0007】
本発明は上記課題鑑みてなされたものであり、本発明の情報処理装置は、外部デバイスと接続するためのインターフェース手段と、前記インターフェース手段と外部デバイスとが接続されたこと、及び切断されたこととを検知する検知手段と、前記検知手段が前記インターフェース手段に外部デバイスが接続されたことを検知したことに基づいて前記外部デバイスを特定するための情報であるデバイス特定情報を管理する管理手段と、前記インターフェース手段に接続された外部デバイスを使用停止状態にする使用停止手段と、前記検知手段が前記インターフェース手段との切断を検知した外部デバイスが前記使用停止手段によって使用停止状態にされていたか否かを判定する判定手段と、を備え、前記使用停止手段によって使用停止状態にされていない状態で前記インターフェース手段と切断されたと前記判定手段によって判定された外部デバイスが前記インターフェース手段に再度接続された場合、前記管理手段は前記外部デバイスが前記インターフェース手段と切断される前に割り当てられていたデバイス情報を用いて前記外部デバイスを管理することを特徴とする。
【発明の効果】
【0008】
本発明によれば、操作者の意図しないデバイスの切断が発生した場合であっても、操作者が切断、再接続を意識することなくデバイスを利用できる。これにより、情報処理装置の操作性を向上させることが可能になる。
【図面の簡単な説明】
【0009】
【図1】デジタル複合機の構成の一例を示すブロック図である。
【図2】デジタル複合機のシステムソフトウェアの構成の一例を示すブロック図である。
【図3】デジタル複合機におけるUSBデバイスを検知する処理の一例を説明するフローチャートである。
【図4】接続状態情報の一例を示す図である。
【図5】デジタル複合機におけるUSBデバイスの切断処理の一例を説明するフローチャートである。
【図6】検知情報の一例を示す図である。
【図7】管理情報の一例を示す図である。
【図8】デジタル複合機におけるUSBデバイスの接続処理の一例を説明するフローチャートである。
【図9】デジタル複合機における管理情報の更新処理の一例を説明するフローチャートである。
【発明を実施するための形態】
【0010】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【0011】
図1は、情報処理装置の一例であるデジタル複合機の構成の一例を示すブロック図である。デジタル複合機100内のコントローラユニット101において、CPU102はシステム全体を制御する。RAM103はCPU102が動作するためのシステムワークメモリである。ROM104はブートROMであり、システムのブートプログラムが格納されている。ハードディスクドライブ(HDD)105はシステムソフトウェアなどを格納する。
【0012】
操作部インターフェース(I/F)106は操作部107とのインターフェース部であり、操作部107に表示する情報を操作部107に対して出力する。また、操作部I/F106は、操作部107から操作者が入力した情報をCPU102に伝える。操作部107は、液晶ディスプレイなどを有する表示部と、タッチパネルシートやハードキーなどを有する操作部から構成される。
【0013】
USBホストインターフェース(I/F)108はメモリカードリーダライタ109などのUSBデバイスとのインターフェース部である。本実施形態では外部デバイス、或いは周辺デバイスとしてUSBデバイス、例えばメモリカードリーダライタ109をその一例として説明するが、外部デバイスとしてはその他にUSBメモリなどのデバイスであっても構わない。USBホストI/F108は、操作部107から入力された情報、あるいはHDD105に蓄積された情報などを、メモリカードリーダライタ109に対して出力する。また、USBホストI/F108は、メモリカードリーダライタ109から取得した情報を、CPU102に伝える。102〜108の構成がシステムバス110に接続される。USBホストI/F108とメモリカードリーダライタ109とは、USBケーブルで接続されているものとする。また、USBホストI/F108は、複数のUSBコネクタを備えていてもよい。その場合、複数のUSBコネクタのうち、特定のUSBコネクタがメモリカードリーダライタ109と接続されるように管理されているものとする。
【0014】
システムバス110には、更にエンジンインターフェース111が接続されており、エンジンインターフェース111はスキャナエンジン112とプリンタエンジン113が接続されている。
【0015】
本実施形態において、メモリカードリーダライタ109はUSBデバイスの一例である。USBデバイスとしてはUSBメモリ、USBハードディスク(HDD)、デジタルカメラ、オーディオプレーヤー、携帯電話、CD/DVDドライブ、ICカードリーダなどでもよい。本実施形態のメモリカードリーダライタ109は小型の記憶媒体であるメモリカード114を挿入するためのスロットを複数備え、複数種類のメモリカードを接続することが可能である。また、複数のメモリカードを同時に接続することも可能である。メモリカードとしては例えばSDカード、スマートメディア、コンパクトフラッシュ(登録商標)、メモリースティック、マイクロドライブなどがあり、メモリカードリーダライタ109はこれらに対して、データの読み出し、書き込みを行う。
【0016】
また、メモリカードリーダライタ109がUSBハブを備え、メモリカードリーダライタに対して更にUSBデバイスが接続できるようにしてもよい。
【0017】
図2は、本実施形態のデジタル複合機のシステムソフトウェアの構成の一例を示すブロック図である。図2に示す各構成要素200〜205のそれぞれはプログラムモジュールを表しており、これらのプログラムモジュールは、図1のROM104、或いはHDD105に格納されており、CPU102が実行する。
【0018】
アプリケーション部200は、操作部107を介してメモリカード114およびメモリカード114内のデータの参照、読み出し、書き込みを実行するためのユーザインターフェースを操作者に提供する。また、操作者による操作入力情報を受け取るとともに、制御部201にメモリカード114の状態の取得指示を行う。あるいは、アプリケーション部200は、制御部201からメモリカード114の接続(装着)状態を示す情報を受け取る。制御部201は、アプリケーション部200からのメモリカード114の状態取得指示を受け付け、メモリカードリーダライタ109に接続されたメモリカード114の接続状態を通知する。
【0019】
制御部201は、状態通知部202、状態管理部203、状態検知部204を含む。状態通知部202は状態管理部203、および状態検知部204からメモリカードリーダライタ109に接続されたメモリカード114の接続状態を示す情報を受け取り、アプリケーション部200に通知する。状態管理部203は状態検知部204が検知したメモリカードリーダライタ109に接続されたメモリカード114の接続状態を管理する。状態検知部204は、オペレーティングシステム205に対して、メモリカードリーダライタ109の接続状態を問い合わせ、接続状態を示す情報を取得してこれを検知結果として管理する。状態検知部204は、オペレーティングシステム205から取得した情報に基づいて、メモリカードリーダライタ109の接続検知、及び切断検知を行う。そして、状態検知部204はメモリカードリーダライタ109にメモリカード114が接続されているかどうかを検知し、その検知結果を状態通知部202と状態管理部203とに通知する。
【0020】
本システムソフトウェアの処理により、メモリカードリーダライタ109にメモリカード114が接続されると、状態検知部204はメモリカード114の接続を検知し、状態管理部203がメモリカード114の接続情報をRAM103に記憶する。そして状態通知部202を経由してアプリケーション部200に接続情報が通知される。その結果、操作部107にメモリカード114の情報を出力(表示)することができ、メモリカード114へのアクセスを受け付ける状態にする。また、メモリカード114が使用停止状態(アンマウント)にされると、状態検知部204はメモリカード114の切断を検知し、状態管理部203でメモリカード114の接続情報をRAM103から削除する。そして、状態通知部202を経由してアプリケーション部200に切断情報が通知される。その結果、操作部107メモリカード114が切断されたことを出力(表示)するとともに、表示していたメモリカード114の情報を削除する。これによりで操作者が取り外されたメモリカード114へアクセスする操作をおこなうことができないようにする。また、操作者からの切断指示を操作部107を介して受け付けると、状態検知部204がメモリカードのアンマウント処理を行う。そして、その結果に応じて状態管理部203はメモリカードの接続情報をRAM103から削除する。そして状態通知部202を経由してアプリケーション部200にアンマウント情報を通知する。その結果、メモリカードを切断可能な状態に処理したことを操作部107に出力するとともに、表示していたメモリカードの情報を削除することで操作者にアクセスできないようにする。
【0021】
本実施形態ではさらに、メモリカードリーダライタ109とデジタル複合機100が筐体内部で接続される構成を想定して説明を行う。つまり、本実施形態では、通常使用時において、デジタル複合機100とメモリカードリーダライタ109との間の接続が物理的に切断されることはない。しかし、ユーザがメモリカードリーダライタ109に触れた場合などに発生する静電気によりUSBホストI/F108とメモリカードリーダライタ間に電気信号にノイズが入ることがある。これにより、USBホストI/F108とメモリカードリーダライタ間の電気的な接続が一時的に異常な状態になり、オペレーティングシステム205がメモリカードリーダライタを認識しなくなる。これは、USBホストI/F108とメモリカードリーダライタ109との物理的な接続が瞬間的に切断され、再接続されることと等価な現象となる。これにより、状態検知部204が一時的にメモリカードリーダライタ109が切断されたことを検知する。そして制御部201はメモリカードリーダライタ109に接続されたメモリカードも使用停止(アンマウント)されたと検知する。以下、このような本来発生しないメモリカードリーダライタの一時的なアンマウントが発生した場合に切断前の状態に復旧する方法について説明する。さらに、再接続によってオペレーティングシステム205では新規の接続として接続情報が提供された場合でも、操作部107からは切断前の接続情報を使ってメモリカードにアクセスできるようにする。以下、その詳細を説明する。
【0022】
図3は、デジタル複合機100におけるUSBデバイスの検知処理の一例を説明するフローチャートである。本フローチャートはCPU102が実行する。
【0023】
まず、メモリカードリーダライタ109のようなUSBデバイスがUSBホストI/F108に接続される。そして、オペレーティングシステム205は、USBデバイスが物理的に接続されたことを認識すると、必要なドライバをHDD105からの読み出し、USBデバイスからデバイス情報を取得し、接続状態情報としてRAM103に記憶する。そして、USBデバイスにアクセスするためのアクセスポイントをデバイスファイルとして割り当てる。デバイスファイルは、オペレーティングシステム205がUSBデバイスを特定するために生成するデバイス特定情報の一例である。
【0024】
図4は接続状態情報の一例を示す図である。デバイスファイル名401は、前述のデバイスファイルの名前である。USBデバイスが複数のスロットを備えるメモリカードリーダライタ109の場合、各スロットに対してデバイスファイルが割り当てられる。よって、オペレーティングシステム205は、デバイスファイル名によってメモリカードのスロットを特定し、そしてスロットに挿入されたメモリカードを特定することができる。VendorID402は、USBデバイスの製造ベンダーのID、ProductID403はUSBデバイスの製品IDである。シリアル番号404は、USBデバイスの個体を特定することができるシリアル番号である。状態405は該デバイスの接続状態を示す情報であり、「接続」や「切断」(或いはそれに対応する識別子)などの情報が格納される。図4では、3つのスロットを持つメモリカードリーダライタが接続された場合を示しており、それぞれのスロットに対してデバイスファイルが割り当てられる。もちろん他のスロット数を持つメモリカードリーダライタがUSBホストI/F108に接続された場合にはそのスロット数分のデバイスファイルが割り当てられる。
【0025】
このような状態において図3のフローチャートは実行を開始する。まず、ステップS301において、状態検知部204は、オペレーティングシステム205から、USBデバイスの接続状態情報を取得する。そして、ステップS302で制御部201は、取得したUSBデバイスの接続状態情報を解析し、USBデバイスが接続されたか否かを判定する。USBデバイスが接続されたと判定した場合(ステップS302でYES)、ステップS303へ進みUSBデバイスの接続処理(後に詳述)を行い処理を終了する。一方、USBデバイスが切断された(接続されていない)と判定した場合、ステップS304へ進みUSBデバイスの切断処理(後に詳述)を行い処理を終了する。
【0026】
図5は、デジタル複合機100おけるUSBデバイスの切断処理の一例を説明するフローチャートである。本フローチャートは図3のフローチャートのステップS304の処理の詳細を示すものである。
【0027】
本実施形態のデジタル複合機100は、ある特定のメモリカードリーダライタだけを使用可能であるものとする。そのために、特定のメモリカードリーダライタを示すVendorID、ProductIDの情報を特定外部デバイス情報(特定周辺デバイス情報)としてHDD105内の特定の領域(特定デバイス情報記憶領域)に記憶しているものとする。なお、特定外部デバイス情報としてHDD105に記憶されるVendorID、ProductIDが複数あってもよい。
【0028】
まず、ステップS501で、状態検知部204は、この特定外部デバイス情報として管理しているVendorID、ProductIDと、RAM103から取得した接続状態情報のVendorID、ProductIDとを比較することで解析を行う。そして、ステップS502において、切断されたUSBデバイスが特定外部デバイス情報によって特定されるメモリカードリーダライタであるか否かを判定し、特定のメモリカードリーダライタ109でない場合(ステップS502でNO)は、処理を終了する。一方、特定のメモリカードリーダライタ109である場合(ステップS502でYES)、ステップS503へ進む。ステップS503において状態検知部204は、切断されたメモリカードリーダライタの情報に基づいて、状態検知部204が管理するRAM103に記憶される検知情報を更新する。ここで検知情報について説明する。
【0029】
図6は状態検知部における検知情報の一例を示す図である。検知情報が有する複数の項目のうち、デバイスファイル名601は、オペレーティングシステム205がメモリカードリーダライタ109が備えるスロットを特定するために割り当てた情報で、図4の接続状態情報と同等である。VendorID602はスロットにマウントされた(利用可能状態にされた)メモリカードの製造ベンダーのIDを示す。ProductID603はスロットにマウントされたメモリカードの製品IDである。シリアル番号604は、スロットにマウントされたメモリカードの個体を特定することができるシリアル番号である。識別情報はメモリカードを識別するためのユニークなIDであり、メモリカードのマウントが成功した場合、状態検知部204が発行する。本実施形態では識別情報605の一例としてアルファベット1文字で表現するドライブレターとしているが、メモリカードを識別するための情報であればこれに限らない。状態606はメモリカードの接続状態を示す項目でありマウント(メモリカードがスロットに挿入、接続される)或いはアンマウント(メモリカードが取り外し、切断される)のいずれかで表現される。直前のデバイスファイル名607は、メモリカードリーダライタ109が切断された場合に記憶する、切断前のデバイスファイル名である。
【0030】
600Aでは、メモリカードリーダライタ109が接続されている状態における検知情報の一例を示している。600Bでは、メモリカードリーダライタが切断された場合の検知情報の一例を示している。検知情報600Bでは、直前のデバイスファイル名607に、切断される前における各スロットのデバイスファイル名が記述されている。
【0031】
600Cでは、切断されたメモリカードリーダライタが再度接続した場合における検知情報の一例を示している。検知情報600Cでは、直前のデバイスファイル名607に、切断される前における各スロットのデバイスファイル名が記述されている。そして、再接続することによってオペレーティングシステム205が新たに各スロットに対して割り当てたデバイスファイル名601が記述されている。ここで、同じスロットに対するデバイスファイル名601と、直前のデバイスファイル名607が異なっている点に留意されたい。
【0032】
図5のフローチャートはUSBデバイスとの接続が切断された場合の処理であるので、ステップS503の処理によって図6の検知情報は600Aから600Bに更新される。
【0033】
次いで、ステップS504でメモリカードリーダライタ109にマウント済みのメモリカードが存在していたか否かを判定する。具体的には、状態管理部203が管理する管理情報からメモリカードの管理情報を検索することにより行われる。ここで管理情報について説明する。
【0034】
図7は状態管理部203が管理する管理情報の一例を示す図である。管理情報はメモリカードリーダライタに接続され、マウントされているメモリカードの情報を管理するテーブルであり、メモリカード毎に1レコードとしてRAM103に記憶される。管理情報は、デバイスファイル名701、VendorID702、ProductID703、シリアル番号704、識別情報705、一時切断フラグ706の項目を備える。デバイスファイル名701、VendorID702、ProductID703、シリアル番号704、識別情報705は、それぞれ、図6の検知情報におけるデバイスファイル名601、VendorID602、ProductID603、シリアル番号604、識別情報605と同じ情報である。一時切断フラグ706は、USBホストI/F108とメモリカードリーダライタ109との間の接続が切断されたことによってメモリカードが使用停止(アンマウント)されたことを示すフラグである。メモリカードがアンマウントされた場合に一時切断フラグ706は「ON」になる。
【0035】
700Aでは、2つのメモリカードがマウントされている場合の管理情報を示している。700Bでは、USBホストI/F108とメモリカードリーダライタ109との接続が切断した場合における管理情報を示している。700Cでは、USBホストI/F108とメモリカードリーダライタ109とが再接続した場合の管理情報を示している。管理情報の内容を更新する処理については後述する。
【0036】
ステップS504での検索の結果、管理情報にレコードが存在しない、つまりメモリカードが接続されていなかった場合、処理を終了する。一方、管理情報にレコードが存在する、つまりメモリカードが接続されていた場合、ステップS505へ進む。
【0037】
ステップS505では、状態管理部203により管理される管理情報の該メモリカードのレコードに一時切断状態であることを記録する。すなわち、管理情報700Aの各レコードの一時切断フラグ706を「ON」にし、管理情報700Bに更新する。そしてステップS506においてスロットに挿入されているメモリカードのアンマウント処理を行い、処理を終了する。このとき、状態通知部202からアプリケーション部200への切断通知は行わない。なぜなら、本来切断されることの無いUSBホストI/F108とメモリカードリーダライタ109との接続が切断されたということは、静電気などの原因によって「切断」と判断されたものであり、すぐに再接続されるとみなすことができるからである。この処理により、操作者にとっては原因のわからない切断であるにもかかわらず、操作部107にメモリカードが切断されたことを示す旨の表示をしないので、ユーザが混乱してしまうことを防止できる。
【0038】
図8は、制御部201におけるUSBデバイスの接続処理の一例を説明するフローチャートである。本フローチャートは図3のフローチャートのステップS303の処理の詳細を示す。
【0039】
オペレーティングシステム205は、USBデバイスが物理的に接続されたことを認識すると、USBデバイスからデバイス情報を取得し、接続状態情報としてRAM103に記憶する。そして、USBデバイスにアクセスするためのアクセスポイントをデバイスファイルとして割り当てる。そして、ステップS801において状態検知部204は、RAM103から取得した接続状態情報に基づいて、VendorID、ProductIDの情報を解析する(S801)。解析の結果、接続されたUSBデバイスが前述した特定のメモリカードリーダライタ109であるか否かを判定し(ステップS802)、特定のメモリカードリーダライタ109でない場合は処理を終了する。特定のメモリカードリーダライタ109であると判定された場合、ステップS803へ進み、切断時に記憶されたメモリカードリーダライタと同一のものであるかを判定する。これはステップS503において更新された検知情報600BのVendorID、ProductIDと、接続されたメモリカードリーダライタのVendorID、ProductIDが一致するかどうかで判定する。切断時に記憶されたメモリカードリーダライタ109と同一のものでない場合、処理を終了する。切断時に記憶されたメモリカードリーダライタ109とが同一である場合、ステップS804進み、接続されたメモリカードリーダライタ109にメモリカードが接続されているか否かを判定する。これは状態検知部が、検知情報600Bで管理されるデバイスファイル名を使用してデバイスファイルにアクセスすることで確認する。メモリカードが接続されていない場合、処理を終了する。メモリカードが接続されている場合、ステップS805へ進み、検知情報で管理される状態606を参照して、メモリカードがマウント済みであるか否かを判定する。メモリカードがマウントされていると判定した場合、処理を終了する。メモリカードがマウントされていないと判定した場合、ステップS806へ進みメモリカードのマウント処理を行う。そして、ステップS807で管理情報の更新処理を行う。ステップS807の処理の詳細については後述する。
【0040】
次いで、ステップS808において検知情報から直前のデバイスファイル名を削除し、処理を終了する。このとき、状態通知部202からアプリケーション部200への接続通知は行わない。
【0041】
この処理により、操作者にとっては原因のわからないUSBデバイスの一時的な切断−再接続が発生した場合に、操作者に意識させることなく行い、かつ、切断前と同じ操作メモリカードにアクセスすることができる。
【0042】
図9は、CPU102により実行される、制御部201における管理情報の更新処理を説明するフローチャートである。本フローチャートは図8のフローチャートのステップS807の処理の詳細を示すものである。
【0043】
ステップS901において、状態管理部203は管理情報(図7の700B)の最初のレコードを取得する。そして、ステップS902において一時切断フラグが立っている(ONになっている)か否かを判定する。一時切断フラグが立っている場合は、ステップS903へ進み、管理情報700Bの当該レコードのデバイスファイル名と図5のステップS503において更新した検知情報600Bの直前のデバイスファイル名が一致するか否かを判定する。デバイスファイル名が一致する場合は、ステップS904へ進み、管理情報700Bのレコード上のデバイスファイル名を検知情報のデバイスファイル名に変更する。言い換えれば、再接続によって、オペレーティングシステム205がメモリカードスロットに新規に割り当てたデバイスファイル名に更新する。そして、当該レコードの一時切断フラグを、ONからOFFに更新する。これにより、管理情報は700Bから700Cに更新される。一方、一時切断フラグが立っていないと判断した場合(ステップS902でNo)、あるいは、デバイスファイル名が一致しないと判断した場合(ステップS903でNo)は、ステップS905へ進み、管理情報に次のレコードが存在するか否かを判定する。次のレコードが存在する場合、次のレコードを取得し(ステップS906)、ステップS902の処理に戻る。次のレコードが存在しない場合、処理を終了する。
【0044】
図9のフローチャートの処理により、操作部107には管理情報内の識別情報(例えば、ドライブレター)がアクセス情報として表示される。そして静電気等の印加があっても、操作部107に表示されるメモリカードの識別情報(例えばドライブレター)は変更されない。そして、状態管理部では、操作者から指定された識別情報と関連付けされたデバイスファイルを再接続後によって変更されたデバイスファイルに更新するため、再接続後のメモリカードにアクセスできる。よって、ユーザは、静電気などの印加によってUSBホストI/F108とメモリカードリーダライタ109との接続が一時的に切断されたとしても、切断前と同様の操作でメモリカードにアクセスすることが可能になる。
【0045】
なお、本実施形態においては、ユーザがメモリカードにアクセスしていない状態において、メモリカードリーダライタ109が切断された場合において記述した。しかしメモリカードのアクセス中(例えばメモリ内のデータへの読み出し中や書き込み中)にメモリカードリーダライタ109の切断が発生した場合においても同様に、再接続処理を行うことも可能である。ただしアクセス中の操作が中断されるため、該メモリカードにアクセス中の場合に限り、アクセス中の操作が失敗したことを通知し、再度メモリ内のデータの読み出し、書き込みを実行させることを操作部107に出力する形態としてもよい。
【0046】
以上、本実施形態によれば、静電気等の印加によるメモリカードリーダライタの一時的な切断が発生した場合でも、操作者に意図しない切断を意識させずにメモリへのアクセスを行わせることが可能となる。
【0047】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(制御プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【符号の説明】
【0048】
100 デジタル複合機
109 メモリカードリーダライタ
201 制御部

【特許請求の範囲】
【請求項1】
周辺デバイスと接続するためのインターフェース手段と、
前記インターフェース手段と周辺デバイスとが接続されたこと、及び切断されたこととを検知する検知手段と、
前記検知手段が前記インターフェース手段と周辺デバイスとが接続されたことを検知したことに基づいて前記周辺デバイスを特定するための情報であるデバイス特定情報を管理する管理手段と、
前記インターフェース手段に接続された周辺デバイスを使用停止状態にする使用停止手段と、
前記検知手段が前記インターフェース手段と周辺デバイスとが切断された場合に当該周辺デバイスが前記使用停止手段によって使用停止状態にされていたか否かを判定する判定手段と、を備え、
前記判定手段によって使用停止状態にされていないと判定された周辺デバイスが前記インターフェース手段に再度接続された場合、前記管理手段は前記周辺デバイスが前記インターフェース手段と切断される前のデバイス情報を用いて前記周辺デバイスを管理することを特徴とする情報処理装置。
【請求項2】
前記インターフェース手段に接続された周辺デバイスに関する情報を表示する表示手段と、
前記検知手段による検知結果を前記表示手段へ通知する通知手段と、
前記使用停止手段によって使用停止状態にされていない状態で前記インターフェース手段と切断されたと前記判定手段によって判定された周辺デバイスが前記インターフェース手段に再度接続された場合、前記通知手段が前記表示手段に前記周辺デバイスが前記インターフェース手段から切断されたことを通知しないよう制御する制御手段と、を備えることを特徴とする、請求項1に記載の情報処理装置。
【請求項3】
前記インターフェース手段に接続された周辺デバイスに関する情報を表示する表示手段を更に備え、
前記管理手段は、前記周辺デバイスを識別するために前記表示手段に表示するための情報である識別情報を前記周辺デバイスに割り当てて管理し、
前記表示手段は、前記検知手段によって前記インターフェース手段に接続されたことが検知された周辺デバイスに関する識別情報を表示し、前記使用停止手段によって使用停止状態にされていない状態で前記インターフェース手段と切断されたと前記判定手段によって判定された周辺デバイスが前記インターフェース手段に再度接続された場合、前記表示手段は前記周辺デバイスに関する識別情報の表示を変更しないことを特徴とする、請求項1に記載の情報処理装置。
【請求項4】
前記インターフェース手段に接続されるべき周辺デバイスを特定する特定周辺デバイス情報を記憶する特定デバイス情報記憶手段を更に備え、
前記判定手段は、前記検知手段が前記インターフェース手段との接続が切断された周辺デバイスが前記特定デバイス情報記憶手段に記憶された前記特定周辺デバイス情報により特定される周辺デバイスである場合に、前記周辺デバイスが前記使用停止手段によって使用停止状態にされていたか否かを判定することを特徴とする、請求項1乃至3のいずれか1項に記載の情報処理装置。
【請求項5】
前記周辺デバイスは1つ以上のメモリカードスロットを備えるメモリカードリーダライタであり、
前記管理手段は前記インターフェース手段に接続された前記メモリカードリーダライタが備えるメモリカードスロットに対してデバイス特定情報を割り当てて管理することを特徴とする、請求項1乃至4のいずれか1項に記載の情報処理装置。
【請求項6】
周辺デバイスと接続するためのインターフェース手段を備える情報処理装置の制御方法であって、
前記インターフェース手段に周辺デバイスが接続されたことを検知する接続検知工程と
前記接続検知工程において前記インターフェース手段に周辺デバイスが接続されたことに基づいて、前記周辺デバイスを特定するための情報である第1デバイス特定情報を前記周辺デバイスに割り当てて管理する第1管理工程と、
前記インターフェース手段に接続された周辺デバイスを使用停止状態にする使用停止工程と、
前記インターフェース手段と周辺デバイスとの接続が切断されたことを検知する切断検知工程と、
前記切断検知工程において前記インターフェース手段との切断が検知された周辺デバイスが前記使用停止工程において使用停止状態にされていたか否かを判定する判定工程と、
前記判定工程において使用停止状態にされていないと判定された周辺デバイスが前記インターフェース手段に再度接続された場合、前記周辺デバイスが前記インターフェース手段と切断される前のデバイス情報を用いて前記周辺デバイスを管理する第2管理工程と、を備えることを特徴とする情報処理装置の制御方法。
【請求項7】
周辺デバイスと接続するためのインターフェースであるインターフェース手段を備える情報処理装置を制御するための制御プログラムであって、
前記インターフェース手段に周辺デバイスが接続されたことを検知する接続検知ステップと
前記接続検知ステップにおいて前記インターフェース手段に周辺デバイスが接続されたことに基づいて、前記周辺デバイスを特定するための情報である第1デバイス特定情報を前記周辺デバイスに割り当てて管理する第1管理ステップと、
前記インターフェース手段に接続された周辺デバイスを使用停止状態にする使用停止ステップと、
前記インターフェース手段と周辺デバイスとの接続が切断されたことを検知する切断検知ステップと、
前記切断検知ステップにおいて前記インターフェース手段との切断が検知された周辺デバイスが前記使用停止ステップにおいて使用停止状態にされていたか否かを判定する判定ステップと、
前記判定ステップにおいて使用停止状態にされていないと判定された周辺デバイスが前記インターフェース手段に再度接続された場合、前記周辺デバイスが前記インターフェース手段と切断される前のデバイス情報を用いて前記周辺デバイスを管理する第2管理ステップと、を備えることを特徴とする制御プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2011−8402(P2011−8402A)
【公開日】平成23年1月13日(2011.1.13)
【国際特許分類】
【出願番号】特願2009−149802(P2009−149802)
【出願日】平成21年6月24日(2009.6.24)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】