JP2009223699A - 情報処理装置及び情報処理方法 - Google Patents

情報処理装置及び情報処理方法 Download PDF

Info

Publication number
JP2009223699A
JP2009223699A JP2008068464A JP2008068464A JP2009223699A JP 2009223699 A JP2009223699 A JP 2009223699A JP 2008068464 A JP2008068464 A JP 2008068464A JP 2008068464 A JP2008068464 A JP 2008068464A JP 2009223699 A JP2009223699 A JP 2009223699A
Authority
JP
Japan
Prior art keywords
storage device
external storage
mount
application
information processing
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.)
Granted
Application number
JP2008068464A
Other languages
English (en)
Other versions
JP5015046B2 (ja
Inventor
考成 ▲浜▼▲崎▼
Narushige Hamazaki
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2008068464A priority Critical patent/JP5015046B2/ja
Priority to US12/399,394 priority patent/US8117355B2/en
Publication of JP2009223699A publication Critical patent/JP2009223699A/ja
Application granted granted Critical
Publication of JP5015046B2 publication Critical patent/JP5015046B2/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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

【課題】ユーザからの明示的なアンマウント指示を必要とせず、各アプリケーションが独立的に外部記憶装置のマウント/アンマウントを行うことが可能な情報処理装置及び情報処理方法を提供する。
【解決手段】着脱自在に設けられた外部記憶装置を備え、当該外部記憶装置のマウント/アンマウントを行うオペレーティングシステムと前記外部記憶装置へのアクセスを独立的に行う複数のアプリケーションプログラムとを搭載した情報処理装置において、前記アプリケーションプログラムの各々から出力される前記外部記憶装置のマウント/アンマウント要求に応じて、当該外部記憶装置のマウント/アンマウントを前記オペレーティングシステムに指示する外部記憶装置監視手段を備える。
【選択図】 図2

Description

本発明は、着脱自在に設けられた外部記憶装置のマウント/アンマウントを行う情報処理装置及び情報処理方法に関する。
近年、USBフラッシュメモリやSDメモリカード(登録商標)のような外部記憶装置の使用が一般的に普及している。これらの外部記憶装置を用いて、例えばデジタルカメラで撮影した画像データをPC上で確認・加工したり等といったように、データを様々な機器間で持ち運ぶことが行われている。複合機(スキャナ・プリンタ等の複数の機能を有する画像形成装置)においてもこれらの着脱自在な外部記憶装置使用のニーズが高まっている。例えば、スキャンした画像データを外部記憶装置に保存する、外部記憶装置に保存されている画像データをプリントするといった用途が考えられる。
一方、UNIX(登録商標)等のOSを備えたシステムにおいては、一般的にこれらの外部記憶装置を使用するためには、明示的ないし暗示的なマウント/アンマウント操作が必要である。ここで「マウント」とは、システム上で外部記憶装置内部を参照できるようにするために必要なリソースを割り当てる動作である。外部記憶装置のマウントに関しては、種々の技術が提案されている。例えば、特許文献1には、外部記憶装置が挿入されたことが特定のアプリケーションに通知されると、このアプリケーションがマウント処理を行う技術が開示されている。また、特許文献2には、挿抜可能な外部記憶装置が挿入されると、自動でマウントする技術が開示されている。
また、「アンマウント」とは、マウントにて割り当てたリソースを解放するとともに、外部記憶装置内のデータを一貫性のある状態とする作業である。アンマウントが必要な理由としては、OS上で外部記憶装置へのアクセスを高速化する目的でシステム内部(例えば主メモリ上など)にデータをキャッシュさせておくようになっているためである。これにより実際の外部記憶装置へのアクセスを減らすことで動作の高速化が計られている。また、近年では突然の電源断などでもデータの破損を最小限におさえるためにジャーナルという技術が用いられており、ジャーナルの書き戻し等も行われる。このような理由により、外部記憶装置のアンマウントを行わなかった場合には、システム上で外部記憶装置に書き込みを行ったデータが実際には外部記憶装置上に記録されていない可能性がある。また、外部記憶装置への書き込みが行われている最中に、外部記憶装置の抜き取りが行われると、内部のデータに不整合が発生する可能性がある。
このような背景の下、Windows(登録商標)のようなPCシステムでは、システムが外部記憶装置の接続を検知すると自動でマウントを行い、アンマウント時には、GUI等を表示することでユーザに対して外部記憶装置のアンマウントを明示的に指示させるような方式を採用している。
特開2005−174241号公報 特開2004−46801号公報
しかしながら、複合機のような非PCシステムにおいては、ユーザに対して明示的に外部記憶装置のアンマウント指示を行わせるような方式は望ましくなく、また不意に電源を落とされるようなことも考えられる。このような場合、システム中にキャッシュされているデータが実際には外部記憶装置には書き込まれず、外部記憶装置中のデータが破損してしまう可能性がある。また、複合機においては、例えばスキャナ・プリンタといった各アプリケーションがそれぞれ独立して動作しているため、各アプリケーションはお互いを意識せずに外部記憶装置を使用できるような方式が望まれている。
本発明は、上記に鑑みてなされたものであって、ユーザからの明示的なアンマウント指示を必要とせず、各アプリケーションが独立的に外部記憶装置のマウント/アンマウントを行うことが可能な情報処理装置及び情報処理方法を提供することを目的とする。
上述した課題を解決し、目的を達成するために、請求項1にかかる発明は、着脱自在に設けられた外部記憶装置を備え、当該外部記憶装置のマウント/アンマウントを行うオペレーティングシステムと前記外部記憶装置へのアクセスを独立的に行う複数のアプリケーションプログラムとを搭載した情報処理装置において、前記アプリケーションプログラムの各々から出力される前記外部記憶装置のマウント/アンマウント要求に応じて、当該外部記憶装置のマウント/アンマウントを前記オペレーティングシステムに指示する外部記憶装置監視手段を備えたことを特徴とする。
また、請求項2にかかる発明は、請求項1にかかる発明において、前記外部記憶装置監視手段は、一の前記アプリケーションプログラムからマウントが要求されている間に、当該アプリケーション以外の他のアプリケーションからアンマウントが要求された場合、前記外部記憶装置のマウントを継続するよう制御することを特徴とする。
また、請求項3にかかる発明は、請求項1又は2にかかる発明において、前記外部記憶装置の着脱状態を検出する検出手段と、前記検出手段により検出された前記外部記憶装置の着脱状態を、前記アプリケーションプログラムに通知する着脱状態通知手段と、を更に備えたことを特徴とする。
また、請求項4にかかる発明は、請求項3にかかる発明において、前記着脱状態通知手段は、前記検出手段により前記外部記憶装置の装着が検出された場合に、当該外部記憶装置に関する情報を前記アプリケーションプログラムに通知することを特徴とする。
また、請求項5にかかる発明は、請求項1〜4の何れか一項にかかる発明において、前記外部記憶装置監視手段は、前記複数のアプリケーションプログラムの何れかからマウントの禁止が要求されると、前記外部記憶装置のマウントを抑制することを特徴とする。
また、請求項6にかかる発明は、請求項5にかかる発明において、前記外部記憶装置監視手段は、前記マウントの禁止を要求したアプリケーションプログラムからのみ、前記マウントの禁止を解除する要求を受け付けることを特徴とする。
また、請求項7にかかる発明は、着脱自在に設けられた外部記憶装置を備え、当該外部記憶装置のマウント/アンマウントを行うオペレーティングシステムと、前記外部記憶装置へのアクセスを独立的に行う複数のアプリケーションプログラムとを搭載した情報処理装置の情報処理方法であって、外部記憶装置監視手段が、前記アプリケーションプログラム各々から出力される前記外部記憶装置のマウント/アンマウントの要求に応じて、当該外部記憶装置のマウント/アンマウントを前記オペレーティングシステムに指示する外部記憶装置監視工程を含むことを特徴とする。
また、請求項8にかかる発明は、請求項7にかかる発明において、前記外部記憶装置監視手段は、前記外部記憶装置監視工程において、一の前記アプリケーションプログラムからマウントが要求されている間に、当該アプリケーション以外の他のアプリケーションからアンマウントが要求された場合、前記外部記憶装置のマウントを継続するよう制御することを特徴とする。
また、請求項9にかかる発明は、請求項7又は8にかかる発明において、検出手段が、前記外部記憶装置の着脱状態を検出する検出工程を更に含み、前記外部記憶装置監視手段は、前記外部記憶装置監視工程において、前記検出工程で検出された前記外部記憶装置の着脱状態を、前記アプリケーションプログラムに通知することを特徴とする。
また、請求項10にかかる発明は、請求項9にかかる発明において、前記外部記憶装置監視手段は、前記外部記憶装置監視工程において、前記検出工程で前記外部記憶装置の装着が検出された場合に、当該外部記憶装置に関する情報を前記アプリケーションプログラムに通知することを特徴とする。
また、請求項11にかかる発明は、請求項7〜10の何れか一項にかかる発明において、前記外部記憶装置監視手段は、前記外部記憶装置監視工程において、前記複数のアプリケーションプログラムの何れかからマウントの禁止が要求されると、前記外部記憶装置のマウントを抑制することを特徴とする。
また、請求項12にかかる発明は、請求項11にかかる発明において、前記外部記憶装置監視手段は、前記外部記憶装置監視工程において、前記マウントの禁止を要求したアプリケーションプログラムからのみ、前記マウントの禁止を解除する要求を受け付けることを特徴とする。
請求項1、7にかかる発明によれば、外部記憶装置監視手段が、各アプリケーションプログラムからのマウント/アンマウント要求に応じて、外部記憶装置のマウント/アンマウントを一括して制御するため、ユーザからの明示的なアンマウント指示を必要とすることなく、外部記憶装置のアンマウントをアプリケーションプログラム単位で行うことができる。また、各アプリケーションプログラムは、他のアプリケーションプログラムを意識することなく外部記憶装置のマウント/アンマウントを独立して行うことができる。
また、請求項2、8にかかる発明によれば、一のアプリケーションプログラムからマウントが要求されている間、他のアプリケーションプログラムからのアンマウントの要求を排除することができるため、外部記憶装置へのアクセス途中にアンマウントが行われてしまうことを防止することができる。
また、請求項3、9にかかる発明によれば、外部記憶装置の着脱状態の確認を各アプリケーションプログラムが個別に行う必要がなくなるため、各アプリケーションプログラムの処理を簡略化することができる。
また、請求項4、10にかかる発明によれば、外部記憶装置に関する情報の取得を各アプリケーションプログラムが個別に行う必要がなくなるため、各アプリケーションプログラムの処理を簡略化することができる。
また、請求項5、6、11、12にかかる発明によれば、任意のアプリケーションプログラムからのマウント禁止の要求に応じて、当該アプリケーションプログラムによる外部記憶装置の排他的な使用を可能とするため、例えば、外部記憶装置のフォーマット等の排他的な処理を確実に行うことができる。
以下に添付図面を参照して、この発明にかかる情報処理装置及び情報処理方法の最良な実施の形態を詳細に説明する。なお、以下では本発明にかかる情報処理装置及び情報処理方法をプリンタ機能、画像読取り(スキャナ)機能等を複合した所謂複合機に適用した例を示すが、これに限定されるものではなく、PCや単体としての複写機やプリンタ等の情報処理装置等にも適用することが可能である。
[第1の実施形態]
図1は、第1の実施形態にかかる複合機100のハードウェア構成を示したブロック図である。同図に示したように、複合機100は、CPU(Central Processing Unit)11と、ASIC(Application Specific Integrated Circuit)12と、システムメモリ13と、記憶部14と、操作表示部15と、エンジン部16と、スキャナ部17と、インタフェース部18とを備えている。
CPU11は、システムメモリ13(RAM132)の所定領域を作業領域として、後述するROM131又は記憶部14に予め記憶された各種制御プログラムとの協働により各種処理を実行し、複合機100全体の動作を統括的に制御する。
ASIC12は、画像処理用のハードウェア要素を有する画像処理用途向けのIC(Integrated Circuit)であり、CPU11と各部を夫々接続するブリッジとしての機能を有する。
システムメモリ13は、プログラムやデータの格納用メモリ、プログラムやデータの展開用メモリ、プリンタの描画用メモリ等として用いるシステムメモリであり、ROM131、RAM132等から構成される。ここで、ROM131は、プログラムやデータの格納用メモリとして用いる読み出し専用のメモリであり、RAM132は、プログラムやデータの展開用メモリ、プリンタの描画用メモリ等として用いる書き込み及び読み出し可能な揮発性のメモリである。なお、RAM132には、後述する外部記憶装置(SDカードメモリ、USBフラッシュメモリ)へのアクセス時において、アクセスを高速化する目的のため当該外部記憶装置にかかるデータのキャッシュが行われる。
記憶部14は、磁気的又は光学的に記録可能な記憶媒体を有し、複合機100の制御にかかるプログラムや各種設定情報等を書き換え可能に記憶する。また、記憶部14は、スキャナ部17やインタフェース部18を介して入力される画像データ等を記憶する。
操作表示部15は、複合機100とユーザとのインタフェースを行う部分であって、LCD(液晶表示装置)等の表示デバイスと、キースイッチ等の入力デバイスとから構成される。操作表示部15は、CPU11の制御の下、装置の各種状態や操作方法をLCDに表示するとともに、ユーザからのタッチパネルやキースイッチ群を介した入力を検出し、CPU11に出力する。
エンジン部16は、プリンタエンジンなどであり、例えば白黒プロッタ、1ドラムカラープロッタ、4ドラムカラープロッタ、スキャナまたはファックスユニットなどである。なお、このエンジン部16には、プロッタなどのいわゆるエンジン部分に加えて、誤差拡散やガンマ変換などの画像処理部分が含まれる。
スキャナ部17は、CCD光電変換素子からなるラインセンサとA/Dコンバータとそれらの駆動回路等を具備し、セットされた原稿をスキャンすることで得る原稿の濃淡情報から、RGB各8ビットのデジタル画像データを生成し、CPU11に出力する。
インタフェース部18は、複合機100と外部装置とを着脱可能に接続するためのインタフェースである。具体的に、インタフェース部18は、外部記憶装置であるSDカードメモリ(登録商標)が挿入されるSDメモリカードスロット181と、同じく外部記憶装置であるUSBフラッシュメモリが挿入されるUSBインタフェース182とを備える。以下、SDカードメモリ及びUSBフラッシュメモリを総称して「外部記憶装置」とよぶ。
なお、本実施形態では、インタフェース部18は、SDカードメモリ、USBフラッシュメモリと接続するためのインタフェースを備えることとしたが、これに限定するものではない。例えば、コンパクトフラッシュ(登録商標)カード等のメモリデバイスや、IEEE1394規格に準拠したデバイスと接続するためのインタフェースを備えることとしてもよい。
次に、図2を参照して、上述したCPU11とROM131又は記憶部14に記憶されたプログラムとの協働により実現される各機能部について説明する。図2は、複合機100の機能的構成(ソフトウェア構成)を示したブロック図である。
図2に示したように、複合機100は、オペレーティングシステム21と、外部記憶装置監視モジュール22と、アプリケーション23とを備えている。
オペレーティングシステム21は、UNIX(登録商標)などの汎用オペレーティングシステムであり、外部記憶装置監視モジュール22並びにアプリケーション23の各ソフトウェアを夫々プロセスとして独立的に並列実行する。
また、オペレーティングシステム21は、ファイルシステム211と、デバイスドライバ212とを有する。ファイルシステム211は、記憶部14やインタフェース部18に挿入される外部記憶装置のファイルシステムを管理するためのものであって、外部記憶装置監視モジュール22からの指示に応じて、外部記憶装置のマウント/アンマウントなどを実行する。なお、SDメモリカードスロット181、USBインタフェース182に接続される外部記憶装置のマウントポイントは、ファイルシステム211により規定されているものとする。
デバイスドライバ212は、インタフェース部18に挿入される外部機器に対するアクセス制御を行うものであり、SDメモリカードスロット181やUSBインタフェース182からの割り込みにより外部記憶装置の挿抜状態(着脱状態)を検出し、当該外部記憶装置のマウントポイント等を通知することで、外部記憶装置の挿入または抜き出しを外部記憶装置監視モジュール22に通知する。
外部記憶装置監視モジュール22は、インタフェース部18に挿入された外部記憶装置のマウント/アンマウントを統括的に管理するものであり、アプリケーション23の各アプリからの要求に応じて、外部記憶装置のマウント/アンマウントをオペレーティングシステム21に指示する。なお、外部記憶装置監視モジュール22の動作の詳細については、後述する。
アプリケーション23は、ページ記述言語(PDL、PCL)およびポストスクリプト(PS)を有する印刷用のソフトウェアであるプリンタアプリ231と、スキャナ用ソフトウェアであるスキャナアプリ232とを有している。これら各アプリは、オペレーティングシステム21の制御の下、データの読み出しや書き出し等の必要に応じて外部記憶装置のマウントを要求する信号を外部記憶装置監視モジュール22に出力する。以下、この信号をマウント要求という。なお、マウント要求には、マウント対象となる外部記憶装置を指示する情報(例えば、マウントパス等)が少なくとも含まれているものとする。
また、アプリケーション23の各アプリは、外部記憶装置への処理が完了すると、外部記憶装置のアンマウントを要求する信号を外部記憶装置監視モジュール22に出力する。以下、この信号をアンマウント要求という。なお、アンマウント要求には、アンマウント対象となる外部記憶装置を指示する情報(例えば、マウントパス等)が少なくとも含まれているものとする。
本実施形態では、プリンタアプリ231とスキャナアプリ232の2つのアプリケーションを例示したが、これに限らず、複合機100の機能に応じたアプリケーション(例えば、コピー用のソフトウェアであるコピーアプリや、ファクシミリ用ソフトウェアであるファックスアプリ、ネットワークファイル用ソフトウェアであるネットファイルアプリ)を含めることとしてもよい。
以下、外部記憶装置のマウント/アンマウントにかかる複合機100の動作について説明する。まず、図3を参照して、単一のアプリケーション(プリンタアプリ231)から外部記憶装置のマウント/アンマウントが要求された際の動作について説明する。
図3は、オペレーティングシステム21、外部記憶装置監視モジュール22、プリンタアプリ231との間で、外部記憶装置のマウント/アンマウント時に行われる処理の手順を示した図である。なお、本処理の前提として、SDメモリカードスロット181又はUSBインタフェース182の何れか又は両方に外部記憶装置が挿入済みで、且つ、未マウントの状態であり、当該外部記憶装置の挿入がデバイスドライバ212から外部記憶装置監視モジュール22に通知されているものとする。
まず、印刷にかかる画像データの読み出しなどに伴い、特定の外部記憶装置へのアクセスの用が発生すると、プリンタアプリ231は、この外部記憶装置のマウント要求を、外部記憶装置監視モジュール22に出力する(ステップS11)。
一方、外部記憶装置監視モジュール22では、プリンタアプリ231からマウント要求を受け付けると、マウント処理を実行する(ステップS12)。ここで、図4のフローチャートを参照して、ステップS12のマウント処理について説明する。なお、本処理は、外部記憶装の種別毎に独立して行われるものとする。
図4は、第1の実施形態にかかるマウント処理の手順を示したフローチャートである。まず、外部記憶装置監視モジュール22は、今回のマウント要求によりマウントが要求された外部記憶装置について、今回迄にマウントを要求したアプリケーションの個数を表すマウントアプリケーション数が“0”か否かを判定する(ステップS21)。なお、アプリケーションの個数のカウントは、アプリケーションの種別単位で行われるものとする。
ステップS21において、マウントアプリケーション数が“0”でないと判定した場合(ステップS21;No)、外部記憶装置監視モジュール22は、ステップS23の処理に直ちに移行する。
一方、ステップS21において、マウントアプリケーション数が“0”と判定した場合(ステップS21;Yes)、外部記憶装置監視モジュール22は、今回のマウント要求によりマウントが要求された外部記憶装置のマウントを指示する信号をオペレーティングシステム21に出力し(ステップS22)、ステップS23の処理に移行する。
続くステップS23では、外部記憶装置監視モジュール22が、マウントアプリケーション数を1インクリメントし(ステップS23)、本処理を終了する。なお、マウント要求で指示された外部記憶装置の挿入がデバイスドライバ212から通知されていない場合には、外部記憶装置監視モジュール22から、未挿入である旨の情報をプリンタアプリ231に出力することとしてもよい。
ここで、図3に戻ると、マウント要求はプリンタアプリ231のみから行われているため、図4に示したマウント処理のステップS21では、マウントアプリケーション数が“0”と判定され、外部記憶装置監視モジュール22から、オペレーティングシステム21にマウントが指示される(ステップS13)。
一方、オペレーティングシステム21では、外部記憶装置監視モジュール22から外部記憶装置のマウントが指示されると、この指示された外部記憶装置をファイルシステム上にマウントする(ステップS14)。
その後、プリンタアプリ231から、マウントされた外部記憶装置にアクセスが行われる(ステップS15)。続いて、外部記憶装置へのアクセスが完了すると、プリンタアプリ231は、マウントされた外部記憶装置のアンマウント要求を、外部記憶装置監視モジュール22に出力する(ステップS16)。
外部記憶装置監視モジュール22では、プリンタアプリ231からアンマウント要求を受け付けると、アンマウント処理を実行する(ステップS17)。ここで、図5のフローチャートを参照して、ステップS17のアンマウント処理について説明する。なお、本処理は、マウント処理と同様、外部記憶装の種別毎に独立して行われるものとする。
まず、外部記憶装置監視モジュール22は、アンマウントが要求された外部記憶装置についてカウントしていたマウントアプリケーション数を1デクリメントする(ステップS31)。続いて、外部記憶装置監視モジュール22は、マウントアプリケーション数が“0”か否かを判定し、“0”でないと判定した場合には(ステップS32;No)、本処理を直ちに終了する。
一方、ステップS32において、マウントアプリケーション数が“0”と判定した場合(ステップS32;Yes)、外部記憶装置監視モジュール22は、アンマウント要求によりアンマウントが要求された外部記憶装置のアンマウントを指示する信号をオペレーティングシステム21に出力し(ステップS33)、本処理を終了する。
ここで、図3に戻ると、マウント要求はプリンタアプリ231のみから行われていたため、図5に示したアンマウント処理におけるステップS31の結果は、マウントアプリケーション数=0となる。そのため、外部記憶装置監視モジュール22は、アンマウント処理でのステップS32に基づき、アンマウント要求でアンマウントが要求された外部記憶装置のアンマウントをオペレーティングシステム21に指示する(ステップS18)。
オペレーティングシステム21では、外部記憶装置監視モジュール22から外部記憶装置のアンマウントが指示されると、この指示された外部記憶装置をファイルシステム上からアンマウントする(ステップS19)。このアンマウントの際、オペレーティングシステム21では、外部記憶装置へのアクセスを高速化する目的でシステムメモリ13(RAM132)などにキャッシュさせておいたデータやジャーナルを外部記憶装置に書き戻す等の処理が行われ、アンマウント後、外部記憶装置はインタフェース部18から取り外し可能な状態となる。
次に、図6を参照して、複数のアプリケーション(プリンタアプリ231、スキャナアプリ232)から外部記憶装置のマウント/アンマウントが要求された際の動作について説明する。
図6は、オペレーティングシステム21、外部記憶装置監視モジュール22、アプリケーション23(プリンタアプリ231、スキャナアプリ232)との間で、外部記憶装置のマウント/アンマウント時に行われる処理の手順を示した図である。なお、本処理の前提として、SDメモリカードスロット181又はUSBインタフェース182の何れか又は両方に外部記憶装置が挿入済みで、且つ、未マウントの状態であり、当該外部記憶装置の挿入がデバイスドライバ212から外部記憶装置監視モジュール22に通知されているものとする。
まず、スキャンした画像データの書き出しなどに伴い、特定の外部記憶装置へのアクセスの用が発生すると、スキャナアプリ232は、この外部記憶装置のマウント要求を、外部記憶装置監視モジュール22に出力する(ステップS41)。
一方、外部記憶装置監視モジュール22では、スキャナアプリ232からマウント要求を受け付けると、上述したマウント処理を実行する(ステップS42)。この場合、マウント要求はスキャナアプリ232のみから行われているため、マウント処理のステップS21では、“マウントアプリケーション数=0”と判定され、外部記憶装置監視モジュール22から、オペレーティングシステム21にマウントが指示される(ステップS43)。
オペレーティングシステム21では、外部記憶装置監視モジュール22から外部記憶装置のマウントが指示されると、この指示された外部記憶装置をファイルシステム上にマウントする(ステップS44)。
ここで、スキャナアプリ232からマウント要求が出力された後、プリンタアプリ231から、特定の外部記憶装置のマウント要求が、外部記憶装置監視モジュール22に出力されたとする(ステップS45)。外部記憶装置監視モジュール22では、プリンタアプリ231からのマウント要求を受け付け、ステップS42と同様にマウント処理を実行する(ステップS46)。
このとき、先にスキャナアプリ232によりマウントが要求された外部記憶装置と同一の外部記憶装置のマウントがプリンタアプリ231から要求されたとすると、図4に示したマウント処理のステップS21において、外部記憶装置監視モジュール22は“マウントアプリケーション数=1”と判定する。つまり、プリンタアプリ231からマウント要求された外部記憶装置は、既にファイルシステム上にマウント済みであるため、外部記憶装置監視モジュール22はマウントの指示をオペレーティングシステム21に出力せず、ステップS23でマウントアプリケーション数のインクリメントのみを行う。以降、プリンタアプリ231、スキャナアプリ232から、ファイルシステム上にマウントされた外部記憶装置にアクセスが行われる(ステップS47、S48)。
その後、スキャナアプリ232から外部記憶装置へのアクセスが完了すると、スキャナアプリ232は、マウントされた外部記憶装置のアンマウント要求を、外部記憶装置監視モジュール22に出力する(ステップS49)。
一方、外部記憶装置監視モジュール22では、スキャナアプリ232からアンマウント要求を受け付けると、上述したアンマウント処理を実行する(ステップS50)。この場合、マウント要求がプリンタアプリ231、スキャナアプリ232の2つのアプリから行われていたため、図5に示したアンマウント処理におけるステップS31の結果は、マウントアプリケーション数=1となる。つまり、スキャナアプリ232からアンマウント要求された外部記憶装置は、他のアプリも使用中であるため、外部記憶装置監視モジュール22はアンマウントの指示をオペレーティングシステム21に出力せずに、アンマウント処理を終了する。
続いて、プリンタアプリ231から外部記憶装置へのアクセスが完了すると、プリンタアプリ231は、マウントされた外部記憶装置のアンマウント要求を、外部記憶装置監視モジュール22に出力する(ステップS51)。
外部記憶装置監視モジュール22では、プリンタアプリ231からのアンマウント要求を受け付けると、ステップS49と同様にアンマウント処理を実行する(ステップS52)。この場合、スキャナアプリ232についてのアンマウント処理がステップS49で行われているため、図5に示したアンマウント処理におけるステップS31の結果は、“マウントアプリケーション数=0”となる。そのため、外部記憶装置監視モジュール22は、アンマウント処理でのステップS33に基づき、アンマウント要求でアンマウントが要求された外部記憶装置のアンマウントをオペレーティングシステム21に指示する(ステップS53)。
オペレーティングシステム21では、外部記憶装置監視モジュール22から外部記憶装置のアンマウントが指示されると、この指示された外部記憶装置をファイルシステム上からアンマウントする(ステップS54)。
以上のように、第1の実施形態によれば、外部記憶装置監視モジュール22が、各アプリケーション23(プリンタアプリ231、スキャナアプリ232)からのマウント/アンマウント要求に応じて、外部記憶装置のマウント/アンマウントを一括して制御するため、ユーザからの明示的なアンマウント指示を必要とすることなく、外部記憶装置のアンマウントをアプリケーション単位で行うことができる。また、各アプリケーションは、他のアプリケーションを意識することなく外部記憶装置のマウント/アンマウントを独立して行うことができる。
また、一のアプリケーションからマウントが要求されている間、他のアプリケーションからのアンマウント要求を排除することができるため、外部記憶装置へのアクセス途中にアンマウントが行われてしまうことを防止することができる。
[第2の実施形態]
次に、本発明の第2の実施形態について説明する。第2の実施形態では、外部記憶装置がインタフェース部18に挿入された旨を、アプリケーション23に通知を行うことが可能な形態について説明する。なお、上述した第1の実施形態と同様の構成については、同一の符号を付与しその説明を省略する。
図7は、第2の実施形態にかかる複合機200の機能的構成(ソフトウェア構成)を示したブロック図である。なお、複合機200のハードウェア構成は、図1に示した複合機100のハードウェア構成と同様であるため説明を省略する。
図7に示したように、複合機200は、オペレーティングシステム21と、外部記憶装置監視モジュール31と、アプリケーション32とを備えている。
ここで、アプリケーション32は、上述したアプリケーション23と同様、プリンタアプリ321とスキャナアプリ322とを有している。これら各アプリはプリンタアプリ231、スキャナアプリ232と同様の機能を有するとともに、外部記憶装置監視モジュール31へのマウント要求の出力に先がけ、外部記憶装置が複合機200に接続されたことの通知を依頼する信号を外部記憶装置監視モジュール31に出力する。以下、この信号を接続通知依頼という。
外部記憶装置監視モジュール31は、上述した外部記憶装置監視モジュール22と同様の機能を有するとともに、デバイスドライバ212から外部記憶装置の挿入の通知を受けると、この外部記憶装置が複合機200に接続されたことを、接続通知依頼を出力したアプリケーション32宛に通知する。
以下、図8を参照して、本実施形態に特有の複合機200の動作について説明する。図8は、オペレーティングシステム21、外部記憶装置監視モジュール31、アプリケーション32(プリンタアプリ321、スキャナアプリ322)との間で、外部記憶装置の挿入(装着)時に行われる処理の手順を示した図である。
まず、プリンタアプリ321が接続通知依頼を外部記憶装置監視モジュール31に出力すると(ステップS61)、外部記憶装置監視モジュール31は、接続通知依頼を受け付け、この接続通知依頼を出力したアプリ名をRAM132又は記憶部14に保持した後、デバイスドライバ212からの通知を待機することで、外部接続装置の接続状態を監視する(ステップS62)。
また、スキャナアプリ322が接続通知依頼を外部記憶装置監視モジュール31に出力すると(ステップS63)、外部記憶装置監視モジュール31は、接続通知依頼を受け付け、この接続通知依頼を出力したアプリ名をRAM132又は記憶部14に保持し、ステップS62での監視処理を継続する。
ここで、ユーザによりインタフェース部18に外部記憶装置が挿入されると、オペレーティングシステム21(デバイスドライバ212)は、外部記憶装置が挿入されたことを外部記憶装置監視モジュール31に通知する(ステップS64)。なお、外部記憶装置は、SDメモリカードスロット181、USBインタフェース182の何れか又は両方に挿入されるものとするが、この挿入された外部記憶装置を識別可能な情報(例えば、マウントポイントなど)が外部記憶装置監視モジュール31に通知されるものとする。
外部記憶装置監視モジュール31では、オペレーティングシステム21から外部記憶装置挿入の通知を受けると、この外部記憶装置が複合機200に接続されたことをRAM132に保持した各アプリ宛に通知し(ステップS65、S66)、本処理を終了する。
本処理の後、接続通知を受けた各アプリでは、データの読み出しや書き出し等の必要に応じて当該接続通知により通知された外部記憶装置のマウント要求を外部記憶装置監視モジュール31に出力する。なお、接続通知を受けていない外部記憶装置については、マウント要求を出さないよう各アプリケーション側で制御する態様としてもよい。
以上のように、第2の実施形態によれば、外部記憶装置の着脱状態の確認を各アプリケーション32(プリンタアプリ321、スキャナアプリ322)が個別に行う必要がなくなるため、各アプリケーション32の処理を簡略化することができる。
なお、本実施形態では、接続通知依頼を出したアプリに対してのみ接続通知を返す態様としたが、これに限らず、接続通知依頼の有無に依らず全てのアプリに接続通知を出力する態様としてもよい。また、本実施形態では、外部記憶装置の挿入時についてのみ説明したが、外部記憶装置の抜き出し時においても同様に各アプリに通知を行う態様としてもよい。
[第3の実施形態]
次に本発明の第3の実施形態について説明する。UNIX(登録商標)などのオペレーティングシステム環境下では、外部記憶装置を含めた全ての記憶媒体にアクセスするために、ファイルシステム上にマウントしたパス名が必要となる(例えば、“/mnt/sdcard”など)。また、外部記憶装置の種類によっては書き込み禁止状態にするスイッチを保持するものもあり、この場合、外部記憶装置をマウントしてもデータを書き込むことはできない。これら外部記憶装置に関する情報は、実際にアクセスを行うアプリケーション23にとって必要なものとなるため、マウント要求が行われる前に各アプリに通知しておくことが好ましい。そこで、本実施形態では、外部記憶装置の挿入時に、当該外部記憶装置に関する情報をアプリケーション23に通知することが可能な態様について説明する。なお、上述した第1、第2の実施形態と同様の構成については、同一の符号を付与しその説明を省略する。
図9は、第3の実施形態にかかる複合機300の機能的構成(ソフトウェア構成)を示したブロック図である。なお、複合機300のハードウェア構成は、図1に示した複合機100のハードウェア構成と同様であるため説明を省略する。
図9に示したように、複合機300は、オペレーティングシステム21と、外部記憶装置監視モジュール41と、アプリケーション32とを備えている。
外部記憶装置監視モジュール41は、上述した外部記憶装置監視モジュール31と同様の機能を有するとともに、デバイスドライバ212から外部記憶装置の挿入の通知を受けると、オペレーティングシステム21を介して当該外部記憶装置に関する情報を取得し、記憶部14に記憶された外部記憶装置管理テーブルに外部記憶装置関連情報として登録する。
図10は、記憶部14に記憶された外部記憶装置管理テーブルの一例を示した図である。同図に示したように、外部記憶装置管理テーブルは「マウント用パス」、「使用状態」、「外部記憶装置種別」、「アクセスモード」の4つの項目から構成されている。
ここで「マウント用パス」は、ファイルシステム211が管理する外部記憶装置のマウントポイントであって、同図では3つのパス(/mnt/ext1,/mnt/ext2,/mnt/ext3)が予め登録されている。
「使用状態」は、マウント用パスが使用状態にあるか否かを示した情報が登録される項目である。外部記憶装置監視モジュール41は、デバイスドライバ212から通知される外部記憶装置の挿入または抜き出しの情報に応じ、この外部記憶装置にかかるマウント用パスの「使用状態」を使用(ON)又は未使用(OFF)に切り替える。
「外部記憶装置種別」は、マウント用パスにマウントされた外部記憶装置の種別が登録される項目である。外部記憶装置監視モジュール41は、オペレーティングシステム21を介して外部記憶装置の種別を取得すると、対応する外部記憶装置(マウント用パス)の「外部記憶装置種別」にその種別を登録する。
「アクセスモード」は、マウント用パスにマウントされた外部記憶装置のアクセスモードが登録される項目である。外部記憶装置監視モジュール41は、オペレーティングシステム21を介して外部記憶装置のアクセスモードを取得すると、対応する外部記憶装置(マウント用パス)の「アクセスモード」にそのモードを登録する。なお、図10では、マウント用パス“/mnt/ext1”にマウントされた外部記憶装置(SDカードメモリ)が“読み書き可能”なモードであることを示しており、また、マウント用パス“/mnt/ext3”にマウントされた外部記憶装置(USBフラッシュメモリ)が“読み込みのみ可能”なモードであることを示している。
外部記憶装置監視モジュール41は、外部記憶装置管理テーブルに登録された情報(外部記憶装置関連情報)をアプリケーション32に通知する。なお、外部記憶装置関連情報の通知は、第2の実施形態で説明した、接続通知とともに行う態様としてもよいし、各アプリからマウント要求が行われた際に、行う態様としてもよい。
以下、図11を参照して、外部記憶装置監視モジュール41が、外部記憶装置関連情報をアプリケーション32に通知する際の動作について説明する。図11は、外部記憶装置監視モジュール41が実行する外部記憶装置接続監視処理の手順を示したフローチャートである。なお、本処理は、第2の実施形態で説明したステップS62の処理時等に行われるものとする。
外部記憶装置監視モジュール41は、ステップS71〜S84のループ処理において、以下の処理(ステップS72〜S83)を所定の時間間隔毎に実行する。まず、外部記憶装置監視モジュール41は、デバイスドライバ212からの通知の有無を確認し(ステップS72)、インタフェース部18への挿抜状態が変化したか否かを判定する(ステップS73)。ここで、挿抜状態に変化なしと判定した場合、即ちデバイスドライバ212からの通知が確認されない場合(ステップS73;No)、ステップS84の処理に直ちに移行する。
一方、ステップS73において、挿抜状態に変化ありと判定した場合、即ちデバイスドライバ212からの通知を確認した場合(ステップS73;Yes)、外部記憶装置監視モジュール41は、この通知内容に基づいて、新たな外部記憶装置がインタフェース部18に挿入されたか否かを判定する(ステップS74)。ここで、否と判定した場合、即ち外部記憶装置がインタフェース部18から抜き出されたと判定した場合(ステップS74;No)、外部記憶装置監視モジュール41は、この外部記憶装置のマウントポイントに対応するマウント用パスを外部記憶装置管理テーブルから特定すると(ステップS75)、当該マウント用パスに関連付けられた「使用状態」を“OFF”に切り替え(ステップS76)、「外部記憶装置種別」及び「アクセスモード」を空(null)とした後(ステップS77)、ステップS84の処理に移行する。
また、ステップS74において、新たな外部記憶装置が挿入されたと判定した場合(ステップS74;Yes)、外部記憶装置監視モジュール41は、この外部記憶装置のマウントポイントに対応するマウント用パスを外部記憶装置管理テーブルから特定し、当該マウント用パスに関連付けられた「使用状態」が“OFF”か否かを判定する(ステップS79)。ここで、「使用状態」が“ON”と判定した場合(ステップS79;No)、ステップS84の処理に移行する。
一方、ステップS79において、「使用状態」が“OFF”と判定した場合(ステップS79;Yes)、外部記憶装置監視モジュール41は、オペレーティングシステム21を介し、新たに挿入された外部記憶装置に関する情報を取得する(ステップS80)。次いで、外部記憶装置監視モジュール41は、ステップS78で特定したマウント用パスに対応するエントリの「外部記憶装置種別」、「アクセスモード」に、ステップS80で取得した外部記憶装置の種別とアクセスモードとを夫々登録する(ステップS81)。
続いて、外部記憶装置監視モジュール41は、ステップS81で登録したエントリの「使用状況」を“ON”に切り替えた後(ステップS82)、当該エントリに登録された各情報(外部記憶装置関連情報)を、アプリケーション32に通知し(ステップS83)、ステップS84に移行する。
以上のように、第3の実施形態によれば、外部記憶装置に関する情報の取得を各アプリケーション32(プリンタアプリ321、スキャナアプリ322)が個別に行う必要がなくなるため、各アプリケーションの処理を簡略化することができる。
[第4の実施形態]
次に、本発明の第4の実施形態について説明する。特定のアプリが外部記憶装置のフォーマット等を行うような際、他のアプリからの要求に応じ当該外部記憶装置がマウントされアクセスが行われてしまうと、フォーマットが失敗する可能性がある。そのため、本実施形態では、特定のアプリから出力されるマウント禁止の要求に応じて、外部記憶装置のマウントを禁止することが可能な態様について説明する。なお、上述した実施形態と同様の構成については、同一の符号を付与しその説明を省略する。
図12は、第4の実施形態にかかる複合機400の機能的構成(ソフトウェア構成)を示したブロック図である。なお、複合機400のハードウェア構成は、図1に示した複合機100のハードウェア構成と同様であるため説明を省略する。
図12に示したように、複合機400は、オペレーティングシステム21と、外部記憶装置監視モジュール51と、アプリケーション52とを備えている。
ここで、アプリケーション52は、上述したアプリケーション23と同様、プリンタアプリ521とスキャナアプリ522とを有している。これら各アプリはプリンタアプリ231、スキャナアプリ232と同様の機能を有するとともに、外部記憶装置のフォーマット時など当該外部記憶装置に対する他のアプリのアクセスを禁止する用が発生すると、外部記憶装置のマウントの禁止を要求する信号を外部記憶装置監視モジュール51に出力する。以下、この信号をマウント禁止要求という。
また、各アプリ(プリンタアプリ521、スキャナアプリ522)は、フォーマットの完了等に伴い外部記憶装置に対する処理が終了すると、当該外部記憶装置に対するアクセス禁止の解除を要求する信号を外部記憶装置監視モジュール51に出力する。以下、この信号をマウント禁止解除要求という。なお、マウント禁止要求及びマウント禁止解除要求には、少なくとも操作対象となる外部記憶装置を指示するための情報(例えば、マウントポイント等)が含まれているものとする。
外部記憶装置監視モジュール51は、上述した外部記憶装置監視モジュール22と同様の機能を有するとともに、特定のアプリ(プリンタアプリ521又はスキャナアプリ522)からマウント禁止要求を受け付けると、このマウント禁止要求で指示された外部記憶装置のマウントを行わないよう制御する。また、外部記憶装置監視モジュール51は、特定のアプリ(プリンタアプリ521又はスキャナアプリ522)からマウント禁止解除要求を受け付けると、このマウント禁止解除要求で指示された外部記憶装置をマウントが可能な状態とする。
具体的に、外部記憶装置監視モジュール51は、特定のアプリからマウント禁止要求を受け付けると、このマウント禁止要求により指示された外部記憶装置や当該マウント禁止要求を出力したアプリに関する情報等を、記憶部14に記憶された外部記憶装置管理テーブルに登録することで、外部記憶装置の状態を管理する。
図13は、記憶部14に記憶された外部記憶装置管理テーブルの一例を示した図である。同図に示したように、外部記憶装置管理テーブルは「マウント用パス」、「禁止フラグ」、「アプリ種別」の3つの項目から構成されている。
ここで「マウント用パス」は、ファイルシステム211が管理する外部記憶装置のマウントポイントであって、同図では3つのパス(/mnt/ext1,/mnt/ext2,/mnt/ext3)が予め登録されている。「禁止フラグ」は、マウント用パスに対応する外部記憶装置がマウント禁止状態にあるか否かを示した情報が登録される項目である。「アプリ種別」は、マウント禁止要求を出力したアプリの種別(例えば、スキャナアプリ等)が登録される項目である。
外部記憶装置監視モジュール51は、特定のアプリからマウント禁止要求を受け付けると、このマウント禁止要求が指示する外部記憶装置のマウント用パスに関連付けられた「禁止フラグ」を“ON”に切り替えるとともに、このマウント禁止要求を出力したアプリの種別を「アプリ種別」に登録する。
また、外部記憶装置監視モジュール51は、特定のアプリからマウント禁止解除要求を受け付けると、このマウント禁止解除要求が指示する外部記憶装置のマウント用パスに関連付けられた「禁止フラグ」を“OFF”に切り替えるとともに、この「禁止フラグ」に関連付けられた「アプリ種別」を空とする。なお、本実施形態では、マウント禁止要求を出力したアプリからのみ、このマウント禁止要求で指示された外部記憶装置のマウント禁止を解除することが可能であるものとする。そのため、外部記憶装置監視モジュール51では、同一の外部記憶装置に対し、マウント禁止要求を送信したアプリとは異なるアプリからマウント禁止解除要求を受け付けた場合には、このマウント禁止解除要求を破棄するものとする。
以下、外部記憶装置監視モジュール51が、アプリケーション52からマウント禁止要求/マウント禁止解除要求を受けた際の動作について説明する。
図14は、オペレーティングシステム21、外部記憶装置監視モジュール51、アプリケーション52(プリンタアプリ521、スキャナアプリ522)との間で、外部記憶装置のマウント/アンマウント時に行われる処理の手順を示した図である。なお、本処理の前提として、SDメモリカードスロット181又はUSBインタフェース182の何れか又は両方に外部記憶装置が挿入済みで、且つ、未マウントの状態であり、当該外部記憶装置の挿入がデバイスドライバ212から外部記憶装置監視モジュール51に通知されているものとする。
まず、外部記憶装置のフォーマット等に伴い、特定の外部記憶装置へのアクセスを禁止する用が発生すると、プリンタアプリ521は、この外部記憶装置のマウント禁止要求を、外部記憶装置監視モジュール51に出力する(ステップS91)。
一方、外部記憶装置監視モジュール51は、プリンタアプリ521からのマウント禁止要求を受け付けると、マウント禁止処理を実行する(ステップS92)。以下、図15を参照して、ステップS92のマウント禁止処理について説明する。
図15は、マウント禁止処理の手順を示したフローチャートである。まず、外部記憶装置監視モジュール51は、記憶部14に記憶された外部記憶装置管理テーブルを参照し、マウント禁止要求で指示された外部記憶装置に対応するマウントポイント(マウント用パス)を特定する(ステップS111)。
次いで、外部記憶装置監視モジュール51は、ステップS111で特定したマウント用パスに関連付けられた「禁止フラグ」を“ON”に切り替え(ステップS112)、このマウント禁止要求を出力したアプリの種別を「アプリ種別」に登録した後(ステップS113)、本処理を終了する。なお、マウント禁止状態にある外部記憶装置について、他のアプリからマウント禁止が多重に要求されてしまうことを防止するため、排他処理を行うこととしてもよい。
図14に戻り、プリンタアプリ521は、マウントの禁止を要求した外部記憶装置に対し、フォーマット等の所定の処理を実行する(ステップS93)。ここで、スキャナアプリ522から、マウント禁止状態にある外部記憶装置のマウント要求が外部記憶装置監視モジュール51に出力されたとすると(ステップS94)、外部記憶装置監視モジュール51は、このマウント要求に基づいてマウント処理を実行する(ステップS95)。以下、図16を参照して、ステップS95のマウント処理について説明する。なお、本処理は、マウントが要求された外部記憶装毎に個別に行われるものとする。
図16は、第4の実施形態にかかるマウント処理の手順を示したフローチャートである。まず、外部記憶装置監視モジュール22は、記憶部14に記憶された外部記憶装置管理テーブルを参照し、マウント要求によりマウントが要求された外部記憶装置に対応するマウントポイント(マウント用パス)を特定する(ステップS121)。
次いで、外部記憶装置監視モジュール51は、ステップS121で特定したマウント用パスに関連付けられた「禁止フラグ」が“OFF”であるか否かを判定する(ステップS122)。ここで、「禁止フラグ」が“ON”と判定した場合(ステップS122;No)、外部記憶装置監視モジュール51は、マウント要求を出力したアプリに対しマウントが行えない旨の信号(マウント要求拒否)を出力し(ステップS123)、本処理を終了する。
一方、ステップS122において、「禁止フラグ」が“OFF”と判定した場合(ステップS122;Yes)、外部記憶装置監視モジュール51は、ステップS124〜S126の処理を実行する。なお、ステップS124〜S126の処理は、図4を用いて説明したマウント処理のステップS21〜S23と同様であるため、説明は省略する。
ここで、図14に戻ると、スキャナアプリ522からは、マウント禁止状態にある外部記憶装置のマウントが要求されていることを想定しているため、図16に示したマウント処理のステップS122において、外部記憶装置監視モジュール51は、「禁止フラグ」が“ON”と判定するため、マウント要求拒否をスキャナアプリ522に出力する。
続いて、フォーマット等の処理の完了に伴い、プリンタアプリ521がマウント禁止解除要求を外部記憶装置監視モジュール51に出力すると、外部記憶装置監視モジュール51は、このマウント禁止解除要求に基づいてマウント禁止解除処理を実行する(ステップS98)。以下、図17を参照して、ステップS98のマウント禁止解除処理について説明する。
図17は、マウント禁止解除処理の手順を示したフローチャートである。まず、外部記憶装置監視モジュール51は、記憶部14に記憶された外部記憶装置管理テーブルを参照し、マウント禁止解除要求により指示された外部記憶装置に対応するマウントポイント(マウント用パス)を特定する(ステップS131)。
次いで、外部記憶装置監視モジュール51は、ステップS131で特定した「マウント用パス」に関連付けられた「アプリ種別」の内容と、マウント禁止解除要求を出力したアプリの種別とが一致するか否かを判定する(ステップS132)。ここで、一致しないと判定した場合(ステップS132;No)、外部記憶装置監視モジュール51は、マウント禁止を解除できない旨の信号(マウント禁止解除拒否)を、このマウウント禁止解除要求を出力したアプリに出力し(ステップS133)、本処理を終了する。
一方、ステップS132において、両アプリ種別が一致したと判定した場合(ステップS132;Yes)、ステップS131で特定した「マウント用パス」に関連付けられた「禁止フラグ」を“OFF”に切り替え(ステップS134)、「アプリ種別」を空とした後(ステップS135)、本処理を終了する。
ここで、図14に戻ると、ステップS91でプリンタアプリ521からマウント禁止要求が出力されているため、図17に示したマウント禁止解除処理のステップS132において、外部記憶装置監視モジュール51は、両アプリ種別が一致すると判定するため、「禁止フラグ」を“OFF”に切り替え、「アプリ種別」を空とすることで該当する外部記憶総理のマウント禁止状態を解除する。
ステップS98の処理の後、スキャナアプリ522から、ステップS96の処理でマウントが要求された外部記憶装置に対するマウント要求が外部記憶装置監視モジュール51に再度出力されると(ステップS99)、外部記憶装置監視モジュール51は、ステップS95と同様に図16で説明したマウント処理を実行する(ステップS100)。なお、この場合、図16に示したマウント処理のステップS122において、外部記憶装置監視モジュール51は、「禁止フラグ」が“OFF”と判定するため、マウント要求で指示された外部記憶装置のマウントをオペレーティングシステム21に指示する(ステップS101)。
一方、オペレーティングシステム21では、外部記憶装置監視モジュール22から外部記憶装置のマウントが指示されると、この指示された外部記憶装置をファイルシステム上にマウントする(ステップS102)。
なお、マウントされた外部記憶装置のアンマウントについては、上述した第1の実施形態と同様、外部記憶装置監視モジュール51によるアンマウント処理によりわれるものとする。
以上のように、第4の実施形態によれば、任意のアプリケーション52(プリンタアプリ521、スキャナアプリ522)からのマウント禁止の要求に応じて、当該アプリケーションによる外部記憶装置の排他的な使用を可能とするため、例えば、外部記憶装置のフォーマット等の排他的な処理を確実に行うことができる。
なお、本発明は、上記第1〜第4の実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施の形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施の形態にわたる構成要素を適宜組み合わせても良い。
例えば、上述した複合機で実行される各処理にかかるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、上述した複合機で実行される各処理にかかるプログラムを、インターネット等のネットワーク経由で提供または配布するように構成しても良い。
また、上述した複合機で実行される各処理にかかるプログラムを、ROM等の記憶媒体に予め組み込んで提供するように構成してもよい。
以上のように、本発明にかかる画像処理装置、画像処理方法及び画像処理プログラムは、ファクシミリ、スキャナ、複写機、デジタル複合機(MFP)等の画像出力装置に有用であり、特に、出力を禁止する出力禁止領域を含んだ画像データの出力を行う画像出力装置に適している。
第1の実施形態にかかる複合機のハードウェア構成を示したブロック図である。 第1の実施形態にかかる複合機の機能的構成を示したブロック図である。 外部記憶装置のマウント/アンマウント時に行われる処理の手順を示した図である。 第1の実施形態にかかるマウント処理の手順を示したフローチャートである。 アンマウント処理の手順を示したフローチャートである。 外部記憶装置のマウント/アンマウント時に行われる処理の手順を示した図である。 第2の実施形態にかかる複合機の機能的構成を示したブロック図である。 外部記憶装置の挿入時に行われる処理の手順を示した図である。 第3の実施形態にかかる複合機の機能的構成を示したブロック図である。 第3の実施形態にかかる外部記憶装置管理テーブルの一例を示した図である。 外部記憶装置接続監視処理の手順を示したフローチャートである。 第4の実施形態にかかる複合機の機能的構成を示したブロック図である。 第4の実施形態にかかる外部記憶装置管理テーブルの一例を示した図である。 外部記憶装置のマウント/アンマウント時に行われる処理の手順を示した図である。 マウント禁止処理の手順を示したフローチャートである。 第4の実施形態にかかるマウント処理の手順を示したフローチャートである。 マウント禁止解除処理の手順を示したフローチャートである。
符号の説明
100 複合機
200 複合機
300 複合機
400 複合機
11 CPU
12 ASIC
13 システムメモリ
131 ROM
132 RAM
14 記憶部
15 操作表示部
16 エンジン部
17 スキャナ部
18 インタフェース部
181 SDメモリカードスロット
182 USBインタフェース
21 オペレーティングシステム
211 ファイルシステム
212 デバイスドライバ
22 外部記憶装置監視モジュール
23 アプリケーション
231 プリンタアプリ
232 スキャナアプリ
31 外部記憶装置監視モジュール
32 アプリケーション
321 プリンタアプリ
322 スキャナアプリ
41 外部記憶装置監視モジュール
51 外部記憶装置監視モジュール
52 アプリケーション
521 プリンタアプリ
622 スキャナアプリ

Claims (12)

  1. 着脱自在に設けられた外部記憶装置を備え、当該外部記憶装置のマウント/アンマウントを行うオペレーティングシステムと前記外部記憶装置へのアクセスを独立的に行う複数のアプリケーションプログラムとを搭載した情報処理装置において、
    前記アプリケーションプログラムの各々から出力される前記外部記憶装置のマウント/アンマウント要求に応じて、当該外部記憶装置のマウント/アンマウントを前記オペレーティングシステムに指示する外部記憶装置監視手段を備えたことを特徴とする情報処理装置。
  2. 前記外部記憶装置監視手段は、一の前記アプリケーションプログラムからマウントが要求されている間に、当該アプリケーションプログラム以外の他のアプリケーションプログラムからアンマウントが要求された場合、前記外部記憶装置のマウントを継続するよう制御することを特徴とする請求項1に記載の情報処理装置。
  3. 前記外部記憶装置の着脱状態を検出する検出手段と、
    前記検出手段により検出された前記外部記憶装置の着脱状態を、前記アプリケーションプログラムに通知する着脱状態通知手段と、
    を更に備えたことを特徴とする請求項1又は2に記載の情報処理装置。
  4. 前記着脱状態通知手段は、前記検出手段により前記外部記憶装置の装着が検出された場合に、当該外部記憶装置に関する情報を前記アプリケーションプログラムに通知することを特徴とする請求項3に記載の情報処理装置。
  5. 前記外部記憶装置監視手段は、前記複数のアプリケーションプログラムの何れかからマウントの禁止が要求されると、前記外部記憶装置のマウントを抑制することを特徴とする請求項1〜4の何れか一項に記載の情報処理装置。
  6. 前記外部記憶装置監視手段は、前記マウントの禁止を要求したアプリケーションプログラムからのみ、前記マウントの禁止を解除する要求を受け付けることを特徴とする請求項5に記載の情報処理装置。
  7. 着脱自在に設けられた外部記憶装置を備え、当該外部記憶装置のマウント/アンマウントを行うオペレーティングシステムと、前記外部記憶装置へのアクセスを独立的に行う複数のアプリケーションプログラムとを搭載した情報処理装置の情報処理方法であって、
    外部記憶装置監視手段が、前記アプリケーションプログラム各々から出力される前記外部記憶装置のマウント/アンマウントの要求に応じて、当該外部記憶装置のマウント/アンマウントを前記オペレーティングシステムに指示する外部記憶装置監視工程を含むことを特徴とする情報処理方法。
  8. 前記外部記憶装置監視手段は、前記外部記憶装置監視工程において、一の前記アプリケーションプログラムからマウントが要求されている間に、当該アプリケーションプログラム以外の他のアプリケーションプログラムからアンマウントが要求された場合、前記外部記憶装置のマウントを継続するよう制御することを特徴とする請求項7に記載の情報処理方法。
  9. 検出手段が、前記外部記憶装置の着脱状態を検出する検出工程を更に含み、
    前記外部記憶装置監視手段は、前記外部記憶装置監視工程において、前記検出工程で検出された前記外部記憶装置の着脱状態を、前記アプリケーションプログラムに通知することを特徴とする請求項7又は8に記載の情報処理方法。
  10. 前記外部記憶装置監視手段は、前記外部記憶装置監視工程において、前記検出工程で前記外部記憶装置の装着が検出された場合に、当該外部記憶装置に関する情報を前記アプリケーションプログラムに通知することを特徴とする請求項9に記載の情報処理方法。
  11. 前記外部記憶装置監視手段は、前記外部記憶装置監視工程において、前記複数のアプリケーションプログラムの何れかからマウントの禁止が要求されると、前記外部記憶装置のマウントを抑制することを特徴とする請求項7〜10の何れか一項に記載の情報処理方法。
  12. 前記外部記憶装置監視手段は、前記外部記憶装置監視工程において、前記マウントの禁止を要求したアプリケーションプログラムからのみ、前記マウントの禁止を解除する要求を受け付けることを特徴とする請求項11に記載の情報処理方法。
JP2008068464A 2008-03-17 2008-03-17 情報処理装置及び情報処理方法 Expired - Fee Related JP5015046B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008068464A JP5015046B2 (ja) 2008-03-17 2008-03-17 情報処理装置及び情報処理方法
US12/399,394 US8117355B2 (en) 2008-03-17 2009-03-06 Data processing apparatus and method that monitors and controls mounting and unmounting of a removable storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008068464A JP5015046B2 (ja) 2008-03-17 2008-03-17 情報処理装置及び情報処理方法

Publications (2)

Publication Number Publication Date
JP2009223699A true JP2009223699A (ja) 2009-10-01
JP5015046B2 JP5015046B2 (ja) 2012-08-29

Family

ID=41064226

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008068464A Expired - Fee Related JP5015046B2 (ja) 2008-03-17 2008-03-17 情報処理装置及び情報処理方法

Country Status (2)

Country Link
US (1) US8117355B2 (ja)
JP (1) JP5015046B2 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013097017A (ja) * 2011-10-28 2013-05-20 Kyocera Document Solutions Inc 画像形成装置
JP2014515135A (ja) * 2011-03-23 2014-06-26 トムソン ライセンシング メモリインターフェースの制御方法及び関連するインターフェース
JP2015026981A (ja) * 2013-07-26 2015-02-05 京セラドキュメントソリューションズ株式会社 画像形成装置及び画像形成方法
JP2015207208A (ja) * 2014-04-22 2015-11-19 キヤノン株式会社 画像処理装置、情報処理方法及びプログラム
EP3070592A1 (en) 2015-03-20 2016-09-21 Ricoh Company, Ltd. Information processing apparatus, information processing method, and carrier medium
US10154168B2 (en) 2016-03-15 2018-12-11 Ricoh Company, Ltd. Information processing apparatus and method
US11221997B2 (en) 2015-06-08 2022-01-11 Advanced New Technologies Co., Ltd. On-demand creation and access of a virtual file system

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030231343A1 (en) * 2002-05-08 2003-12-18 Ayako Kobayashi Image forming apparatus, program adding method, and a recording medium
JP2010186239A (ja) * 2009-02-10 2010-08-26 Ricoh Co Ltd 情報処理装置、プログラム制御方法、プログラム制御プログラム及び記録媒体
US9244779B2 (en) 2010-09-30 2016-01-26 Commvault Systems, Inc. Data recovery operations, such as recovery from modified network data management protocol data
US9069799B2 (en) 2012-12-27 2015-06-30 Commvault Systems, Inc. Restoration of centralized data storage manager, such as data storage manager in a hierarchical data storage system
JP6098206B2 (ja) * 2013-02-13 2017-03-22 株式会社リコー 画像処理装置
JP6386803B2 (ja) * 2014-06-13 2018-09-05 キヤノン株式会社 装置、方法、及びプログラム
US10101913B2 (en) 2015-09-02 2018-10-16 Commvault Systems, Inc. Migrating data to disk without interrupting running backup operations

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04256044A (ja) * 1991-02-07 1992-09-10 Nippon Telegr & Teleph Corp <Ntt> マルチメディアデータベースへの遠隔地アクセス方法、およびそのシステム
JPH0744335A (ja) * 1993-07-30 1995-02-14 Fujitsu Ltd ライブラリ装置
JP2002123370A (ja) * 2000-10-17 2002-04-26 Nec Corp テープアクセス装置及びそのテープアクセス方法
JP2005063421A (ja) * 2003-07-29 2005-03-10 Ricoh Co Ltd 画像形成装置、情報処理方法、情報処理プログラム、及び記録媒体
JP2005174241A (ja) * 2003-12-15 2005-06-30 Canon Inc 記憶装置
JP2007102463A (ja) * 2005-10-04 2007-04-19 Hitachi Ltd Ipネットワークにおけるストレージアクセス管理方法及びシステム
JP2008052318A (ja) * 2006-08-22 2008-03-06 Matsushita Electric Ind Co Ltd データ処理装置、データ処理方法およびマルチファンクションプリンタ

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2650822B1 (fr) 1989-08-14 1993-01-08 Saint Gobain Internal Procede de depot de couches minces
JPH04344920A (ja) 1991-05-22 1992-12-01 Hitachi Ltd 集合型外部記憶装置の共用排他制御方法
JP3183781B2 (ja) 1994-09-20 2001-07-09 富士通株式会社 ライブラリ装置及びライブラリシステム
US6085265A (en) * 1998-01-09 2000-07-04 Toshiba America Information Systems, Inc. System for handling an asynchronous interrupt a universal serial bus device
US20030023410A1 (en) * 2001-07-20 2003-01-30 Roth Eric Scott Method and apparatus for flushing of a device cache and suspending/shutting-down the device
JP4037315B2 (ja) 2002-05-08 2008-01-23 株式会社リコー 画像形成装置およびプログラム停止方法
JP4379860B2 (ja) * 2003-04-08 2009-12-09 株式会社日立製作所 記憶制御装置及びその制御方法
JP4344920B2 (ja) 2003-07-14 2009-10-14 藤森工業株式会社 遮水シート及び遮水シートの施工方法
US20060236026A1 (en) * 2005-04-15 2006-10-19 Jens Hempel Method and system for allocating, accessing and de-allocating storage space of a memory card

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04256044A (ja) * 1991-02-07 1992-09-10 Nippon Telegr & Teleph Corp <Ntt> マルチメディアデータベースへの遠隔地アクセス方法、およびそのシステム
JPH0744335A (ja) * 1993-07-30 1995-02-14 Fujitsu Ltd ライブラリ装置
JP2002123370A (ja) * 2000-10-17 2002-04-26 Nec Corp テープアクセス装置及びそのテープアクセス方法
JP2005063421A (ja) * 2003-07-29 2005-03-10 Ricoh Co Ltd 画像形成装置、情報処理方法、情報処理プログラム、及び記録媒体
JP2005174241A (ja) * 2003-12-15 2005-06-30 Canon Inc 記憶装置
JP2007102463A (ja) * 2005-10-04 2007-04-19 Hitachi Ltd Ipネットワークにおけるストレージアクセス管理方法及びシステム
JP2008052318A (ja) * 2006-08-22 2008-03-06 Matsushita Electric Ind Co Ltd データ処理装置、データ処理方法およびマルチファンクションプリンタ

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014515135A (ja) * 2011-03-23 2014-06-26 トムソン ライセンシング メモリインターフェースの制御方法及び関連するインターフェース
JP2013097017A (ja) * 2011-10-28 2013-05-20 Kyocera Document Solutions Inc 画像形成装置
JP2015026981A (ja) * 2013-07-26 2015-02-05 京セラドキュメントソリューションズ株式会社 画像形成装置及び画像形成方法
JP2015207208A (ja) * 2014-04-22 2015-11-19 キヤノン株式会社 画像処理装置、情報処理方法及びプログラム
EP3070592A1 (en) 2015-03-20 2016-09-21 Ricoh Company, Ltd. Information processing apparatus, information processing method, and carrier medium
US10162539B2 (en) 2015-03-20 2018-12-25 Ricoh Company, Ltd. Information processing apparatus, information processing method, and information processing system
US11221997B2 (en) 2015-06-08 2022-01-11 Advanced New Technologies Co., Ltd. On-demand creation and access of a virtual file system
US10154168B2 (en) 2016-03-15 2018-12-11 Ricoh Company, Ltd. Information processing apparatus and method

Also Published As

Publication number Publication date
US20090234979A1 (en) 2009-09-17
JP5015046B2 (ja) 2012-08-29
US8117355B2 (en) 2012-02-14

Similar Documents

Publication Publication Date Title
JP5015046B2 (ja) 情報処理装置及び情報処理方法
US8854388B2 (en) Image processing apparatus and memory management method for image processing apparatus
CN101799792B (zh) 信息处理设备、程序控制方法和计算机程序产品
JP5587050B2 (ja) 情報処理装置、情報処理装置の制御方法、及び、プログラム
US20070046972A1 (en) Image processing apparatus, information processing apparatus and control method
JP2011138375A (ja) 操作抑制システム、画像形成装置、操作抑制情報提供装置、及び操作抑制方法
JP2004303216A (ja) 情報処理装置,画像形成装置,プログラム起動時のエラー処理方法および記録媒体
US8045210B2 (en) Image processing apparatus, image data transfer control method and image data transfer control program
US9407785B2 (en) Processing apparatus, processing method and computer-readable storage medium
US8860982B2 (en) Image forming apparatus, installation method and uninstallation method
JP2009182795A (ja) 画像処理装置及び画像処理方法
JP2008059332A (ja) 多機能装置および利用条件設定プログラム
US8422088B2 (en) Image processing device, image forming device, image processing method, image processing program, and recording medium
JP4706576B2 (ja) 画像処理装置および表示制御プログラム
US20050231756A1 (en) Image forming apparatus
JP2008171323A (ja) ジョブ管理装置、ジョブ管理方法、ジョブ管理プログラム並びに記憶媒体
JP2007295371A (ja) 画像形成装置及びコンピュータプログラム
JP2004303222A (ja) 情報処理装置,画像形成装置,プログラム起動方法および記録媒体
JP6013801B2 (ja) 画像出力システム、及び、画像出力装置
US9525801B2 (en) Image reading control apparatus and method for executing image reading processing based on a reading instruction and inhibiting a reading apparatus from accepting new tasks
RU2483464C2 (ru) Устройство формирования изображения, способ управления для устройства формирования изображения и среда хранения
JP4859241B2 (ja) 複合装置、情報処理方法及びプログラム
JP2007011799A (ja) デバイス装置
JP2004046804A (ja) 画像形成装置およびデータ処理方法
JP2009020594A (ja) ジョブ管理装置、ジョブ管理方法、ジョブ管理プログラムならびに記憶媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100709

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120207

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120402

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

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

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

Free format text: PAYMENT UNTIL: 20150615

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5015046

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees