(57)【要約】【課題】複数の動作部で外部記憶装置を共有する場合に、外部記憶装置の取り外しが行われるタイミングでアンマウント処理を行うことで、安全に外部記憶装置の取り外しを可能とする。【解決手段】外部記憶装置の接続、書き込み及び読み出しを制御する外部記憶装置制御モジュールを有する。管理部は、操作部又はコントローラ部が外部記憶装置を認識することで、外部記憶装置が利用可能となる状態であるマウント状態、及び、マウント状態を解除するアンマウント状態を管理する。さらに、管理部は、外部記憶装置のアンマウントが要求されたときのマウント状態に応じたアンマウント処理を実行する。【選択図】図４
2017167770.tif 000002
【特許請求の範囲】
【請求項１】
操作部と、コントローラ部とを備える情報処理装置であって、
外部記憶装置の接続、書き込み及び読み出しを制御する外部装置制御部と、
前記操作部又は前記コントローラ部が前記外部記憶装置を認識することで、前記外部記憶装置が利用可能となる状態であるマウント状態、及び、前記マウント状態を解除するアンマウント状態を管理する管理部と、を有し、
前記管理部は、前記外部記憶装置のアンマウント要求がされたときの前記マウント状態に応じたアンマウント処理を実行すること
を特徴とする情報処理装置。
【請求項２】
前記操作部又は前記コントローラ部に前記外部記憶装置がマウント状態となったことを示す第１の表示、前記操作部又は前記コントローラ部に対して前記外部記憶装置がマウント処理中であることを示す第２の表示、及び、前記外部記憶装置がアンマウント処理中であることを示す第３の表示のうち、一つ又は複数の表示を、前記操作部に設けられた表示部に行うユーザインタフェース制御部を、さらに備えること
を特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記管理部は、前記操作部及び前記コントローラ部の間で前記外部記憶装置のマウント状態を切り替え処理中に、前記外部記憶装置のアンマウント要求を受け付けた場合、前記切り替え完了後にアンマウント処理を行うこと
を特徴とする請求項１又は請求項２に記載の情報処理装置。
【請求項４】
前記管理部は、前記操作部及び前記コントローラ部の間で前記外部記憶装置のマウント状態を切り替え処理中に、前記外部記憶装置のアンマウント要求を受け付けた場合、前記切り替え処理が完了する前に前記アンマウント処理を完了する動作、及び、前記切り替え処理が完了した後に前記アンマウント処理を完了する動作を、前記切り替え処理の進捗状況に応じて選択的に実行すること
を特徴とする請求項１から請求項３のうち、いずれか一項に記載の情報処理装置。
【請求項５】
前記管理部は、前記切り替え処理が完了する前に前記アンマウント処理を完了する動作を選択した場合、前記外部記憶装置と通信を行っているアプリケーションに対して、前記切り替え処理が完了する前に前記アンマウント処理を完了した旨を通知すること
を特徴とする請求項４に記載の情報処理装置。
【請求項６】
操作部と、コントローラ部とを備える画像処理装置の情報処理方法であって、
外部装置制御部が、外部記憶装置の接続、書き込み及び読み出しを制御する制御ステップと、
管理部が、前記操作部又は前記コントローラ部が前記外部記憶装置を認識することで、前記外部記憶装置が利用可能となる状態であるマウント状態、及び、前記マウント状態を解除するアンマウント状態を管理する管理ステップと、を有し、
前記管理ステップにおいて、前記管理部は、前記外部記憶装置のアンマウントが要求されたときの前記マウント状態に応じたアンマウント処理を実行すること
を特徴とする情報処理方法。
【請求項７】
操作部と、コントローラ部とを備える情報処理装置のコンピュータを動作させるためのプログラムであって、
前記コンピュータに、
外部装置制御部が、外部記憶装置の接続、書き込み及び読み出しを制御する制御ステップと、
管理部が、前記操作部又は前記コントローラ部が前記外部記憶装置を認識することで、前記外部記憶装置が利用可能となる状態であるマウント状態、及び、前記マウント状態を解除するアンマウント状態を管理する管理ステップと、を実行させ、
前記管理ステップにおいて、前記管理部に、前記外部記憶装置のアンマウントが要求されたときの前記マウント状態に応じたアンマウント処理を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、方法、及びプログラムに関する。
【背景技術】
【０００２】
今日において、ユーザインタフェースを提供する操作部を本体（コントローラ部）から取り外し、独立して動作させることが可能な複合機（ＭＦＰ：Multifunction  Peripheral）等の画像処理装置が知られている。このような画像処理装置では、操作部とコントローラ部に、異なるオペレーティングシステム（ＯＳ）をインストールし、それぞれ独立して動作させることができる。これにより、コントローラ部の状態に影響されることなく、操作部を動作させることができるため、高い操作レスポンスを得ることができる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
ここで、例えば操作部側には、ユーザが画像データ等を画像処理装置で取り扱い可能とするために、ＵＳＢ（Universal  Serial  Bus）メモリ又はＳＤカード（登録商標）等の外部記憶装置の装着部が設けられている。操作部及びコントローラ部を、それぞれ独立して動作可能とした場合、操作部及びコントローラ部の両方から外部記憶装置のデータを取り扱い可能とする必要がある。この場合、外部記憶装置のマウント先（接続先）を、アプリケーション等の要求に応じて、操作部及びコントローラ間で切り替え処理する。これにより、操作部及びコントローラ部で外部記憶装置を共用することができる。
【０００４】
しかし、操作部及びコントローラ部等の複数の動作部で外部記憶装置を共用するシステムの場合、外部記憶装置のアンマウント処理（切断）を行うタイミングが考慮されていないため、ユーザが外部記憶装置の取り外し（抜去）を希望するタイミングでのアンマウント処理が困難となっていた。マウント状態となっている外部記憶装置のアンマウント処理が完了する前に、外部記憶装置の取り外しを行うと、外部記憶装置に対するデータの保存に失敗し、又は不完全となる問題を生ずる。
【０００５】
本発明は、上述の課題に鑑みてなされたものであり、複数の動作部で外部記憶装置を共有する場合に、外部記憶装置の取り外しが行われるタイミングでアンマウント処理を行うことで、安全に外部記憶装置の取り外しを可能とした情報処理装置、方法、及びプログラムの提供を目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明は、操作部と、コントローラ部とを備える画像処理装置であって、外部記憶装置の接続、書き込み及び読み出しを制御する外部装置制御部と、操作部又はコントローラ部が外部記憶装置を認識することで、外部記憶装置が利用可能となる状態であるマウント状態、及び、マウント状態を解除するアンマウント状態を管理する管理部と、を有し、管理部は、外部記憶装置のアンマウントが要求されたときのマウント状態に応じたアンマウント処理を実行する。
【発明の効果】
【０００７】
本発明によれば、複数の動作部で外部記憶装置を共有する場合に、外部記憶装置の取り外しが行われるタイミングでアンマウント処理を行うことができる。このため、安全に外部記憶装置の取り外しを可能とすることができるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】図１は、第１の実施の形態のＭＦＰのハードウェア構成図である。
【図２】図２は、ＭＦＰに設けられているソフトウェアを説明するための図である。
【図３】図３は、マウント制御プログラムを実行することで実現される各機能の機能ブロック図である。
【図４】図４は、半導体メモリのマウント及びアンマウントに対応する表示画面の一例を示す図である。
【図５】図５は、マウント状態管理モジュール１２の状態遷移図である。
【図６】図６は、アンマンと処理が完了する前に、操作部から外部記憶装置が取り外された際に表示される警告画面の一例を示す図である。
【図７】図７は、外部記憶装置の装着時におけるマウント処理の流れを示すシーケンス図である。
【図８】図８は、操作部に外部記憶装置がマウントされている操作部マウントの状態である場合に、アンマウント要求によるアンマウント処理の流れを示すシーケンス図である。
【図９】図９は、コントローラ部に外部記憶装置がマウントされている操作部マウントの状態である場合に、アンマウント要求によるアンマウント処理の流れを示すシーケンス図である。
【図１０】図１０は、マウント状態管理モジュールの状態が「操作部へマウント先切り替え中」の状態又は「操作部マウント待ち」の状態の場合に、アンマウント要求が行われた時の動作の流れを示すシーケンス図である。
【図１１】図１１は、マウント状態管理モジュールの状態が「コントローラへマウント先切り替え中」の状態又は「コントローラマウント待ち」の状態の場合に、アンマウント要求が行われた時の動作の流れを示すシーケンス図である。
【図１２】図１２は、外部記憶装置が操作部にマウントされている状態において、コントローラ部へのマウント先切り替え要求が行われた場合のシーケンス図である。
【図１３】図１３は、外部記憶装置がコントローラ部にマウントされている状態において、外部記憶装置のマウント先を操作部へ切り替えるマウント先切り替え要求が行われた場合のシーケンス図である。
【図１４】図１４は、第２の実施の形態のＭＦＰにおけるマウント状態管理モジュールの状態遷移図である。
【図１５】図１５は、外部記憶装置が操作部にマウントされている状態において、コントローラ部へのマウント先切り替え要求が行われることで、操作部から外部記憶装置をアンマウント中に、ユーザからのアンマウント要求が行われた場合のシーケンス図である。
【図１６】図１６は、外部記憶装置がコントローラ部にマウントされている状態において、操作部へのマウント先切り替え要求が行われることで、コントローラ部から外部記憶装置をアンマウントしている途中で、ユーザからのアンマウント要求が行われた場合のシーケンス図である。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照して、本発明を適用した実施の形態の複合機を詳細に説明する。
【００１０】
［第１の実施の形態］
（ＭＦＰのハードウェア構成）
まず、図１は、第１の実施の形態の複合機（ＭＦＰ：Multifunction  Peripheral）１００のハードウェア構成図である。ＭＦＰ１００は、画像処理装置の一例である。ＭＦＰ１００は、図１に示すように例えばコピー機能、スキャナ機能、ファクシミリ機能、プリンタ機能等の各種の機能を備えたコントローラ部１０１と、ユーザの操作に応じた入力を受け付ける操作部１０２とを備える。コントローラ部１０１は、コピー機能、スキャナ機能、ファクシミリ機能、プリンタ機能等の画像生成機能のうち、一つの機能を有していてもよいし、複数の機能を有していてもよい。
【００１１】
コントローラ部１０１と操作部１０２は、専用の通信路１３０を介して相互に通信可能に接続されている。通信路１３０は、例えばＵＳＢ（Universal  Serial  Bus）ケーブルを用いることができる。通信路１３０としては、有線又は無線を問わず任意の接続方式を用いてもよい。
【００１２】
操作部１０２としては、単独で完結した情報処理を実行可能な電子機器を用いることができる。一例として、操作部１０２としては、スマートフォン又はタブレット型端末等の情報処理端末を用いることができる。この場合、操作部１０２として用いられる情報処理端末は、ＭＦＰ１００の操作部として機能する。
【００１３】
より詳しくは、操作部１０２として用いられる情報処理端末は、従来、ＭＦＰ１００専用の操作部として固定され設置されていた操作パネルの代わりに、ＭＦＰ１００に対して装着及び取り外しが可能に接続される。操作部１０２は、コントローラ部１０１から取り外されると、コントローラ部１０１との間で、例えばＢｌｕｅｔｏｏｔｈ（登録商標）又は赤外線通信等の無線通信を行い、ＭＦＰ１００の操作部として機能する。
【００１４】
コントローラ部１０１は、操作部１０２で受け付けた入力に応じた動作を行う。また、コントローラ部１０１は、クライアントＰＣ（パーソナルコンピュータ）等の外部装置とも通信可能であり、外部装置から受信した指示に応じた動作も行う。
【００１５】
（本体のハードウェア構成）
次に、コントローラ部１０１のハードウェア構成について説明する。図１に示すように、コントローラ部１０１は、ＣＰＵ１１１と、ＲＯＭ１１２と、ＲＡＭ１１３と、ＨＤＤ（ハードディスクドライブ）１１４とを備える。また、コントローラ部１０１は、通信Ｉ／Ｆ（インタフェース）１１５と、接続Ｉ／Ｆ１１６と、エンジン１１７と、ファクシミリモデム（ＦＡＸモデム）１１９とを備える。各部１１１〜１１７及びＦＡＸモデム１１９は、システムバス１１８を介して相互に接続されている。
【００１６】
ＣＰＵ１１１は、コントローラ部１０１の動作を統括的に制御する。ＣＰＵ１１１は、ＲＡＭ１１３をワークエリア（作業領域）としてＲＯＭ１１２又はＨＤＤ１１４等に格納されたプログラムを実行することで、コントローラ部１０１全体の動作を制御し、上述したコピー機能、スキャナ機能、ファクシミリ機能、プリンタ機能などの各種機能を実現する。
【００１７】
通信Ｉ／Ｆ１１５は、ネットワーク４０上のクライアントＰＣ（パーソナルコンピュータ）、Ｗｅｂサーバ装置又は認証サーバ装置等の外部装置と通信するためのインタフェースである。接続Ｉ／Ｆ１１６は、通信路１３０を介して操作部１０２と通信するためのインタフェースである。なお、図１において、通信路１３０は、有線的に図示されている。しかし、操作部１０２がコントローラ部１０１に装着されているときには、通信路１３０は有線通信路として機能し、操作部１０２をコントローラ部１０１から取り外したときには、通信路１３０は無線通信路として機能する。
【００１８】
エンジン１１７及びファクシミリモデム（ＦＡＸモデム）１１９は、コピー機能、スキャナ機能、ファクシミリ機能及びプリンタ機能等を実現させるためのハードウェアである。エンジン１１７は、例えば原稿の画像をスキャンして読み取るスキャナ、用紙等のシート材への印刷を行うプロッタ、ファクシミリ通信を行うファクシミリ通信部等を備えている。さらに、印刷済みシート材を仕分けるフィニッシャ及び原稿を自動給送するＡＤＦ（自動原稿給送装置）のような特定のオプションを備えることもできる。
【００１９】
第１の実施の形態のＭＦＰ１００は、機能の独立性を保つために、コントローラ部１０１側のＯＳ層１０３のソフトウェアと操作部１０２側のＯＳ層２０３のソフトウェアが互いに異なる。つまり、コントローラ部１０１と操作部１０２は、別々のオペレーティングシステムで互いに独立して動作する。一例ではあるが、コントローラ部１０１側のＯＳ層１０３のソフトウェアとしてＬｉｎｕｘ（登録商標）が設けられ、操作部１０２側のＯＳ層２０３のソフトウェアとしてＡｎｄｒｏｉｄ（登録商標）が設けられている。
【００２０】
コントローラ部１０１及び操作部１０２を、別々のオペレーティングシステムで動作させることで、コントローラ部１０１と操作部１０２との間の通信は、共通の装置内のプロセス間通信ではなく、異なる装置間の通信として行われる。操作部１０２が受け付けた入力（ユーザからの指示内容）をコントローラ部１０１へ伝達する動作（コマンド通信）及びコントローラ部１０１が操作部１０２へイベントを通知する動作などがこれに該当する。
【００２１】
また、第１の実施の形態のＭＦＰ１００の場合、操作部１０２に対する電力供給は、通信路１３０を介して行われる。このため、操作部１０２の電源制御を、コントローラ部１０１の電源制御とは別に、独立して行うことができる。コントローラ部１０１から操作部１０２を取り外し可能である場合、操作部１０２は、通信路３０を介してコントローラ部１０１から供給された電力を二次電池に蓄電しておき、コントローラ部１０１から取り外されたときに、二次電池に蓄電された電力で動作してコントローラ部１０１と通信を行う。
【００２２】
なお、この例では、コントローラ部１０１と操作部１０２は、通信路３０を介して電気的かつ物理的に接続されているが、上述のようにコントローラ部１０１から操作部１０２を取り外すこともできる。この場合、コントローラ部１０１及び操作部１０２は、例えば赤外線通信、ＲＦ通信又はＢｌｕｅｔｏｏｔｈ（登録商標）通信等の近距離無線通信により通信を行う。ＲＦは、「Radio  Frequency」の略記である。又は、コントローラ部１０１及び操作部１０２は、Ｗｉ−Ｆｉ（登録商標）等の無線ＬＡＮ通信を行う。
【００２３】
（操作部のハードウェア構成）
次に、操作部１０２のハードウェア構成について説明する。図１に示すように、操作部１０２は、ＣＰＵ１２１と、ＲＯＭ１２２と、ＲＡＭ１２３と、フラッシュメモリ１２４と、通信Ｉ／Ｆ１２５と、接続Ｉ／Ｆ１２６と、操作パネル１２７と、メモリインタフェース（メモリＩ／Ｆ）１２９とを備え、これらがシステムバス１２８を介して相互に接続されている。
【００２４】
ＣＰＵ１２１は、操作部１０２の動作を統括的に制御する。ＣＰＵ１２１は、ＲＡＭ１２３をワークエリア（作業領域）としてＲＯＭ１２２等に格納されたプログラムを実行することで操作部１０２全体の動作を制御する。
【００２５】
通信Ｉ／Ｆ１２５は、例えばネットワーク１４０上のサーバ装置等と通信するためのインタフェースである。接続Ｉ／Ｆ１２６は、通信路１３０を介してコントローラ部１０１と通信するためのインタフェースである。
【００２６】
操作パネル１２７は、タッチセンサを備えた液晶表示装置（ＬＣＤ）で構成される。操作パネル１２７は、ユーザの操作に応じた各種の入力を受け付けると共に、例えば受け付けた入力に応じた情報、ＭＦＰ１００の動作状況を示す情報、設定状態を示す情報等の各種の情報を表示する。なお、操作パネル２７は、タッチセンサを備えた有機ＥＬ表示装置で構成してもよい。さらに、これに加えて又はこれに代えて、ハードウェアキー等の操作部又は発光部等の表示部を設けてもよい。
【００２７】
メモリＩ／Ｆ１２９には、コントローラ部１０１及び操作部１０２で共有される印刷データ等の所定の情報が記憶された例えばＵＳＢメモリ又はＳＤカード（登録商標）等の外部記憶装置１０５が装着される。外部記憶装置１０５としてＵＳＢメモリを用いた場合、メモリＩ／Ｆ１２９はＵＳＢ端子となる。これに対して、外部記憶装置１０５としてＳＤカード（登録商標）を用いた場合、メモリＩ／Ｆ１２９は、ＳＤカード（登録商標）に対して情報の読み出し及び書き込みを行うリーダライタ部となる。
【００２８】
（ソフトウェア構成）
一例ではあるが、図２に示すようにＭＦＰ１００のコントローラ部１０１のＲＯＭ１１２には、コントローラ部１０１側のアプリケーションプログラム（コントローラ側アプリ）１５が記憶されている。また、ＭＦＰ１００の操作部１０２のフラッシュメモリ１２４には、操作部側アプリケーションプログラム（操作側アプリ）１４が記憶されており、ＲＯＭ１２２には、操作部１０２及びコントローラ部１０１に対する外部記憶装置１０５のマウント処理及びアンマウント処理を制御するマウント制御プログラムが記憶されている。
【００２９】
（操作部の機能ブロック構成）
次に、図３に、操作部１０２のＣＰＵ１２１が、ＲＯＭ１２２に記憶されているマウント制御プログラムを実行することで実現される各機能の機能ブロック図を示す。この図３に示すように、ＣＰＵ１２１は、マウント制御プログラムを実行することで、外部記憶装置制御モジュール１１（外部装置制御部の一例）、マウント状態管理モジュール１２（管理部の一例）及びユーザインタフェース制御部（ＵＩ制御部）１３として機能する。
【００３０】
外部記憶装置制御モジュール１１は、メモリＩ/Ｆ１２９に装着された外部記憶装置１０５の接続制御、データの書き込み制御及び読み出し制御等を行う。マント状態管理モジュール１２は、操作部１０２又は前記コントローラ部１０１が外部記憶装置１０５を認識することで、外部記憶装置１０５が利用可能となる状態であるマウント状態、及び、マウント状態を解除するアンマウント状態を管理する。また、マウント状態管理モジュール１２は、外部記憶装置１０５のアンマウントが要求されたときのマウント状態に応じたアンマウント処理を実行する。ＵＩ制御部１３は、操作部１０２又はコントローラ部１０１に外部記憶装置１０５がマウント状態となったことを示す第１の表示、外部記憶装置１０５がマウント処理中であることを示す第２の表示、外部記憶装置１０５がアンマウント処理中であることを示す第３の表示等を、操作部１０２の操作パネル１２７に行う。
【００３１】
このような外部記憶装置制御モジュール１１〜ＵＩ制御部１３は、一部又は全部をＩＣ（Integrated  Circuit）等のハードウェアで実現してもよい。また、マウント制御プログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）などのコンピュータ装置で読み取り可能な記録媒体に記録して提供してもよい。また、ＣＤ−Ｒ、ＤＶＤ（Digital  Versatile  Disk）、ブルーレイディスク（登録商標）、半導体メモリなどのコンピュータ装置で読み取り可能な記録媒体に記録して提供してもよい。また、マウント制御プログラムは、インターネット等のネットワーク経由でインストールするかたちで提供してもよい。また、マウント制御プログラムは、機器内のＲＯＭ等に予め組み込んで提供してもよい。
【００３２】
（外部記憶装置のマウント及びアンマウントに対応する表示画面例）
図４は、外部記憶装置１０５のマウント及びアンマウントに対応する表示画面の一例を示す図である。図４（ａ）は、ＵＩ制御部１３が、操作パネル１２７に操作メニューとなる各種アイコンを表示している初期画面を示している。この状態において、ユーザがＵＳＢメモリ等の外部記憶装置１０５をメモリＩ/Ｆ１２９に装着すると、マウント処理が実行される。ＵＩ制御部１３は、外部記憶装置１０５がマウント中は、アイコン１００１を点滅させて表示する（第２の表示）。
【００３３】
マウント処理が完了すると、ＵＩ制御部１３は、例えば図４（ｂ）に示すように「メディアが挿入されました」等の、マウントが完了した旨のメッセージを、操作パネル１２７に表示する。また、マウントが完了すると、ＵＩ制御部１３は、図４（ｂ）に示すように、操作パネル１２７の例えば下領域等に、外部記憶装置１０５の外観を描いたアイコン１００１を表示する。ＵＩ制御部１３は、外部記憶装置１０５が利用可能である場合、アイコン１００１を点灯表示する（第１の表示）。
【００３４】
なお、ユーザから見るとＭＦＰ１００は、１つのシステムであるため、操作部１０２及びコントローラ１０１の間で外部記憶装置１０５のマウント先を内部的に切り替える場合、アンマウント処理又はマウント処理が発生する。しかし、この場合は、ＵＩ制御部１３は、アイコン１００１を点滅させず、点灯状態のままとする。
【００３５】
アイコン１００１が点灯状態の時に、ユーザによりアイコン１００１が操作されると、ＵＩ制御部１３は、図４（ｃ）に示すように、アンマウントするデバイスの選択画面を操作パネル１２７に表示する。ＭＦＰ１に複数の外部記憶装置が接続されている場合、ユーザは、この選択画面を介して、アンマウントを希望する外部記憶装置１０５を選択操作する。ユーザにより希望する外部記憶装置１０５が選択操作されると、選択された外部記憶装置１０５のアンマウント処理が実行される。
【００３６】
ＵＩ制御部１３は、外部記憶装置１０５がマウント中は、アイコン１００１を点滅させて表示する（第３の表示）。なお、外部記憶装置１０５がマウント中（第２の表示）又はアンマウント中にアイコンを点滅表示する場合、第２の表示時及び第３の表示時で、アイコン１００１の点滅間隔を同じとしてもよいし、異なる点滅間隔として差別化してもよい。
【００３７】
アンマウント処理が完了すると、ＵＩ制御部１３は、図４（ｄ）に示すように、操作パネル１２７を介して、アンマウントの完了通知を操作パネル１２７に表示する。なお、操作部１０２のＣＰＵ１２１は、アイコン１００１が点滅表示されている間（＝マウント中又はアンマウント中）に、アイコン１００１がユーザにより操作された場合、この操作に対応する指示をキャンセルする。
【００３８】
（マウント状態管理モジュールの状態遷移）
図５は、マウント状態管理モジュール１２の状態遷移図である。マウント状態管理モジュール１２は、図５に示す状態（ステータス：ＳＴ）のいずれか一つを常に有している。このマウント状態管理モジュール１２の状態は、以下に説明する各種イベントに応じて遷移する。すなわち、メモリＩ／Ｆ１２９に外部記憶装置１０５が装着されると、外部記憶装置制御モジュール１１からマウント状態管理モジュール１２に対して、メモリＩ／Ｆ１２９に外部記憶装置１０５が装着されたことを示す「装着イベント」の通知がされる。メモリＩ／Ｆ１２９から外部記憶装置１０５が取り外されると、外部記憶装置制御モジュール１１からマウント状態管理モジュール１２に対して、メモリＩ／Ｆ１２９に外部記憶装置１０５が取り外されたことを示す「抜去イベント」の通知がされる。
【００３９】
装着された外部記憶装置１０５の操作部１０２又はコントローラ部１０１に対するマウント処理が完了すると、外部記憶装置制御モジュール１１からマウント状態管理モジュール１２に対して、マウント処理が完了したことを示す「マウント完了イベント」の通知がされる。装着された外部記憶装置１０５の操作部１０２又はコントローラ部１０１に対するアンマウント処理が完了すると、外部記憶装置制御モジュール１１からマウント状態管理モジュール１２に対して、アンマウント処理が完了したことを示す「アンマウント完了イベント」の通知がされる。
【００４０】
ユーザが外部記憶装置１０５を操作部１０２から取り外す際に行う操作が検出された場合、ＵＩ制御部１３からマウント状態管理モジュール１２に、外部記憶装置１０５の取り外しが要求されたことを示す「アンマウント要求イベント」の通知がされる。
【００４１】
コントローラ部１０１にマウントされている外部記憶装置１０５を操作部側アプリ１４が使用する場合、マウント先をコントローラ部１０１から操作部１０２に切り替えることを要求する「切り替え要求イベント」の通知が、操作部側アプリ１４からマウント状態管理モジュール１２にされる。また、操作部１０２にマウントされている外部記憶装置１０５をコントローラ側アプリ１５が使用する場合、マウント先を操作部１０２からコントローラ部１０１に切り替えることを要求する「切り替え要求イベント」の通知が、操作部側アプリ１４からマウント状態管理モジュール１２にされる。
【００４２】
また、マウント状態管理モジュール１２は、状態遷移した際に、以下に説明するように変化後の状態に応じたエントリー処理を行う。すなわち、マウント状態管理モジュール１２は、メモリＩ／Ｆ１２９に外部記憶装置１０５が装着されていない状態（ＳＴ０）において、外部記憶装置１０５が装着されると、装着された外部記憶装置１０５のマウント先を判断する「外部記憶装置マウント先判断」の状態（ＳＴ１）に遷移する。この状態（ＳＴ１）においては、マウント状態管理モジュール１２は、操作部１０２に表示されているアプリが操作部側アプリ１４であれば、操作部１０２で外部記憶装置１０５を使用すると判断し、「操作部マウント待ち」の状態（ＳＴ２）に遷移する。
【００４３】
これに対して、操作部１０２に表示されているアプリがコントローラ側アプリ１５である場合、マウント状態管理モジュール１２は、コントローラ部１０１で外部記憶装置１０５を使用すると判断し、「コントローラマウント待ち」の状態（ＳＴ７）に遷移する。また、「外部記憶装置マウント先判断」の状態（ＳＴ１）で、ユーザにより外部記憶装置１０５が操作部１０２から取り外されると、マウント状態管理モジュール１２は、マウント処理中に外部記憶装置１０５が取り外されたことを示す「マウント中抜去」の状態（ＳＴ１０）に遷移する。
【００４４】
「操作部マウント待ち」の状態（ＳＴ２）に遷移した場合、マウント状態管理モジュール１２は、操作部１０２に外部記憶装置１０５をマウントさせるマウント要求を、外部記憶装置制御モジュール１１に行う。外部記憶装置制御モジュール１１により操作部１０２側に対する外部記憶装置１０５のマウント処理が完了すると、マウント状態管理モジュール１２は、操作部１０２側に外部記憶装置１０５がマウントされていることを示す「操作部マウント」の状態（ＳＴ３）に遷移する。
【００４５】
この「操作部マウント」の状態（ＳＴ３）において、ユーザにより外部記憶装置１０５の取り外し要求操作がされると、マウント状態管理モジュール１２は、外部記憶装置制御モジュール１１による外部記憶装置１０５のアンマウント処理待ちの状態である「操作部アンマウント待ち」の状態（ＳＴ４）に遷移する。そして、外部記憶装置制御モジュール１１による外部記憶装置１０５のアンマウント処理が完了し、ユーザにより外部記憶装置１０５が操作部１０２から取り外されると、マウント状態管理モジュール１２は、「外部記憶装置なし」の状態（ＳＴ０）に戻る。
【００４６】
これに対して、「操作部マウント」の状態（ＳＴ３）及び「操作部アンマウント待ち」の状態（ＳＴ４）において、アンマウント処理が完了する前に、ユーザにより外部記憶装置１０５が操作部１０２から取り外された場合、マウント状態管理モジュール１２は、アンマウント処理が完了する前に、操作部１０２から外部記憶装置１０５が取り外されたことを示す「操作部未マウント抜去」の状態（ＳＴ５）に遷移する。「操作部未マウント抜去」の状態（ＳＴ５）に遷移したマウント状態管理モジュール１２は、自動的に「外部記憶装置なし」の状態（ＳＴ０）に戻るが、この際、マウント状態管理モジュール１２は、ＵＩ制御部１３に警告の表示要求を行う。ＵＩ制御部１３は、この警告の表示要求を受信すると、例えば図６に示すように「メディアを取り外す際は、データの書き込みが完了した後に所定のボタンを操作して、安全な取り外しを行ってください」等の警告メッセージを操作パネル１２７に表示する。
【００４７】
次に、「操作部マウント」の状態（ＳＴ３）において、ユーザのマウント先切り替え要求操作があった場合、又は、コントローラ側アプリ１５からのマウント先切り替え要求があった場合、マウント状態管理モジュール１２は、「コントローラへマウント先切り替え中」の状態（ＳＴ６）に遷移する。「コントローラへマウント先切り替え中」の状態（ＳＴ６）に遷移すると、マウント状態管理モジュール１２は、操作部１０２にマウントされている外部記憶装置１０５のアンマウント処理を行う。そして、マウント状態管理モジュール１２は、アンマウント処理が完了すると、コントローラ部１０１に対する外部記憶装置１０５のマウント完了待ちの状態である「コントローラマウント待ち」の状態（ＳＴ７）に遷移する。なお、「コントローラへマウント先切り替え中」の状態（ＳＴ６）で、操作部１０２から外部記憶装置１０５が取り外された場合、マウント状態管理モジュール１２の状態は、上述の状態（ＳＴ５）を介して状態（ＳＴ０）に戻る。
【００４８】
「コントローラマウント待ち」の状態（ＳＴ７）において、外部記憶装置制御モジュール１１から、コントローラ部１０１に対する外部記憶装置１０５のマウントの完了通知を受信すると、マウント状態管理モジュール１２は、「コントローラマウント」の状態（ＳＴ８）に遷移する。
【００４９】
この「コントローラマウント」の状態（ＳＴ８）において、ユーザのマウント先切り替え要求操作があった場合、又は、操作部側アプリ１４からのマウント先切り替え要求があった場合、マウント状態管理モジュール１２は、「操作部へマウント先切り替え中」の状態（ＳＴ９）に遷移する。「操作部へマウント先切り替え中」の状態（ＳＴ９）に遷移すると、マウント状態管理モジュール１２は、コントローラ部１０１にマウントされている外部記憶装置１０５のアンマウント処理を行う。そして、マウント状態管理モジュール１２は、アンマウント処理が完了すると、上述の「操作部マウント待ち」の状態（ＳＴ２）に遷移する。この「操作部マウント待ち」の状態（ＳＴ２）で、ユーザにより外部記憶装置１０５が操作部１０２から取り外されると、マウント状態管理モジュール１２は、マウント処理中に外部記憶装置１０５が取り外されたことを示す「マウント中抜去」の状態（ＳＴ１０）に遷移して、上述の警告メッセージを表示制御する。
【００５０】
次に、「コントローラマウント」の状態（ＳＴ８）において、ユーザにより外部記憶装置１０５の取り外し要求操作がされると、マウント状態管理モジュール１２は、外部記憶装置制御モジュール１１による外部記憶装置１０５のアンマウント処理待ちの状態である「コントローラアンマウント待ち」の状態（ＳＴ１１）に遷移する。そして、外部記憶装置制御モジュール１１による外部記憶装置１０５のアンマウント処理が完了し、ユーザにより外部記憶装置１０５が操作部１０２から取り外されると、マウント状態管理モジュール１２は、「外部記憶装置なし」の状態（ＳＴ０）に戻る。
【００５１】
次に、「コントローラマウント」の状態（ＳＴ８）、「操作部へマウント先切り替え中」の状態（ＳＴ９）及び「コントローラアンマウント待ち」の状態（ＳＴ１１）において、ユーザにより外部記憶装置１０５が操作部１０２から取り外された場合、マウント状態管理モジュール１２は、「コントローラ未マウント抜去」の状態（ＳＴ１２）に遷移する。「コントローラ未マウント抜去」の状態（ＳＴ１２）に遷移したマウント状態管理モジュール１２は、自動的に「外部記憶装置なし」の状態（ＳＴ０）に戻るが、この際、図６に例示したＵＩ制御部１３に警告の表示要求を行う。
【００５２】
（外部記憶装置装着時のマウント処理）
次に、図７に、外部記憶装置１０５の装着時におけるマウント処理の流れを示すシーケンス図を示す。この図７において、外部記憶装置が装着されると（ステップＳ１）、マウント状態管理モジュール１２は、外部記憶装置１０５を用いるアプリケーションが、操作側アプリ１４であるか、コントローラ側アプリ１５であるかを検出することで、外部記憶装置１０５のマウント先を判断する「外部記憶装置マウント先判断」の状態（ＳＴ１）状態遷移する（ステップＳ２）。
【００５３】
マウント状態管理モジュール１２は、外部記憶装置１０５の状態変更開始通知をＵＩ制御部１３に送信する（ステップＳ３）。ＵＩ制御部１３は、図４（ｂ）を用いて説明したアイコン１００１を点滅表示し（ステップＳ４）、外部記憶装置１０５がマウント処理中であることをユーザに通知する。マウント状態管理モジュール１２は外部記憶装置のマウント先の判断を行い、操作部で利用すると判断した場合は「操作部マウント待ち」の状態（ＳＴ２）に、コントローラで利用すると判断した場合は「コントローラマウント待ち」に状態遷移する。
【００５４】
操作部１０２で外部記憶装置１０５を利用すると判断した場合（ステップＳ５）、マウント状態管理モジュール１２は。「操作部マウント待ち」の状態（ＳＴ２）に遷移後、外部記憶装置制御モジュール１１に操作部１０２へのマウント要求を行う（ステップＳ６）。
【００５５】
外部記憶装置制御モジュール１１は、操作部１０２へのマウントを行う（ステップＳ７）。マウント処理が完了後、外部記憶装置制御モジュール１１からマウント状態管理モジュール１２にマウント完了が通知される（ステップＳ８）。マウント状態管理モジュール１２は「操作部マウント」の状態（ＳＴ３）に遷移する（ステップＳ９）。また、マウント状態管理モジュール１２は、操作部側アプリ１４及びコントローラ側アプリ１５に対して、操作部１０２に外部記憶装置１０５がマウントされたことを通知する（ステップＳ１０、ステップＳ１１）。また、マウント状態管理モジュール１２は、外部記憶装置利用可能通知をＵＩ制御部１３に通知する（ステップＳ１２）。ＵＩ制御部１３は、アイコン１００１を点灯制御し（ステップＳ１３）、外部記憶装置１０５が利用可能であることをユーザに通知する。
【００５６】
これに対して、外部記憶装置１０５をコントローラ部１０１で利用すると判断した場合、マウント状態管理モジュール１２は、「コントローラマウント待ち」の状態（ＳＴ７）に遷移し、外部記憶装置制御モジュール１１にコントローラ部１０１へのマウント要求を行う（ステップＳ１５）。外部記憶装置制御モジュール１１は、外部記憶装置１０５をコントローラ部１０１にマウント処理する（ステップＳ１６）。マウント処理が完了すると、外部記憶装置制御モジュール１１は、マウント状態管理モジュール１２にマウント完了通知を行う（ステップＳ１７）。これにより、マウント状態管理モジュール１２は、「コントローラマウント」の状態（ＳＴ８）に遷移する（ステップＳ１８）。
【００５７】
また、マウント状態管理モジュール１２は、コントローラ部１０１に外部記憶装置１０５がマウントされたことを、操作部側アプリ１４及びコントローラ側アプリ１５に通知する（ステップＳ１９、ステップＳ２０）。また、マウント状態管理モジュール１２は、ＵＩ制御部１３に対して、外部記憶装置利用可能通知を行う（ステップＳ２１）。ＵＩ制御部１３は、アイコン１００１を点灯制御し、外部記憶装置１０５が利用可能となったことをユーザに通知する（ステップＳ２２）。
【００５８】
（「操作部マウント」の状態からのアンマウント処理）
図８は、操作部１０２に外部記憶装置１０５がマウントされている操作部マウントの状態（ＳＴ３）において、アンマウント要求によるアンマウント処理の流れを示すシーケンス図である。この図８において、ユーザが図４（ｂ）に示す表示画面でアイコン１００１を操作することで、操作部１０２に装着されている部記憶装置１０５のアンマウントを要求すると、ＵＩ制御部１３からマウント状態管理モジュール１２にアンマウント要求が通知される（ステップＳ３１）。
【００５９】
マウント状態管理モジュール１２は「操作部アンマウント待ち」の状態（ＳＴ４）に遷移し（ステップＳ３２）、外部記憶装置制御モジュール１１に、操作部１０２から外部記憶装置１０５をアンマウントさせるアンマウント要求を行う（ステップＳ３５）。また、マウント状態管理モジュール１２は、ＵＩ制御部１３に、外部記憶装置１０５の状態変更開始通知を行う（ステップＳ３３）。この状態変更開始通知により、ＵＩ制御部１３は、アイコン１００１を点滅制御し（ステップＳ３４）、ユーザに外部記憶装置１０５のアンマウント処理が開始されたことを通知する。
【００６０】
次に、外部記憶装置制御モジュール１１は、操作部１０２から外部記憶装置１０５をアンマウント処理し（ステップＳ３６）、アンマウント処理が完了すると、マウント状態管理モジュール１２にアンマウント完了通知を行う（ステップＳ３７）。アンマウント完了通知を受信すると、マウント状態管理モジュール１２は、「外部記憶装置なし」の状態（ＳＴ０）に遷移する（ステップＳ３８）。
【００６１】
また、マウント状態管理モジュール１２は、外部記憶装置１０５がアンマウントされたことを、操作部側アプリ１４及びコントローラ側アプリ１５に通知する（ステップＳ３９、ステップＳ４０）。また、マウント状態管理モジュール１２は、外部記憶装置１０５の利用不可通知をＵＩ制御部１３に送信する（ステップＳ４１）。利用不可通知を受信したＵＩ制御部１３は、アイコン１００１を消灯制御し、外部記憶装置１０５が利用不可となったことをユーザに通知する（ステップＳ４２）。
【００６２】
（「コントローラマウント」の状態からのアンマウント処理）
図９は、コントローラ部１０１に外部記憶装置１０５がマウントされているコントローラマウントの状態（ＳＴ８３）において、アンマウント要求によるアンマウント処理の流れを示すシーケンス図である。この図９において、ユーザが図４（ｂ）に示す表示画面でアイコン１００１を操作することで、コントローラ部１０１に装着されている部記憶装置１０５のアンマウントを要求すると、ＵＩ制御部１３からマウント状態管理モジュール１２にアンマウント要求が通知される（ステップＳ５１）。
【００６３】
マウント状態管理モジュール１２は「コントローラアンマウント待ち」の状態（ＳＴ１１）に遷移し（ステップＳ５２）、外部記憶装置制御モジュール１１に、コントローラ部１０１から外部記憶装置１０５をアンマウントさせるアンマウント要求を行う（ステップＳ５５）。また、マウント状態管理モジュール１２は、ＵＩ制御部１３に、外部記憶装置１０５の状態変更開始通知を行う（ステップＳ５３）。この状態変更開始通知により、ＵＩ制御部１３は、アイコン１００１を点滅制御し（ステップＳ５４）、ユーザに外部記憶装置１０５のアンマウント処理が開始されたことを通知する。
【００６４】
次に、外部記憶装置制御モジュール１１は、コントローラ部１０１から外部記憶装置１０５をアンマウント処理し（ステップＳ５６）、アンマウント処理が完了すると、マウント状態管理モジュール１２にアンマウント完了通知を行う（ステップＳ５７）。アンマウント完了通知を受信すると、マウント状態管理モジュール１２は、「外部記憶装置なし」の状態（ＳＴ０）に遷移する（ステップＳ５８）。
【００６５】
また、マウント状態管理モジュール１２は、外部記憶装置１０５がアンマウントされたことを、操作部側アプリ１４及びコントローラ側アプリ１５に通知する（ステップＳ５９、ステップＳ６０）。また、マウント状態管理モジュール１２は、外部記憶装置１０５の利用不可通知をＵＩ制御部１３に送信する（ステップＳ６１）。利用不可通知を受信したＵＩ制御部１３は、アイコン１００１を消灯制御し、外部記憶装置１０５が利用不可となったことをユーザに通知する（ステップＳ６２）。
【００６６】
（操作部にマウント先を切り替え中又はマウント待ち時にアンマウント要求が行われた場合の処理）
図１０は、マウント状態管理モジュール１２の状態が「操作部へマウント先切り替え中」の状態（ＳＴ９）又は「操作部マウント待ち」の状態（ＳＴ２）の場合に、アンマウント要求が行われた際の動作の流れを示すシーケンス図である。なお、この図１０において、図８のシーケンス図と同じ処理には、同じステップ番号を付し、重複説明を省略する。この場合、図１０のステップＳ７１に示すように、マウント状態管理モジュール１２は、操作部１０２に対する外部記憶装置１０５のマウント処理が完了するまで待機状態となり、マウントが完了した後に、図８を用いて説明した操作部１０２から外部記憶装置１０５をアンマウント処理するシーケンスを実行する。
【００６７】
ただし、ユーザによるアンマウント要求を受けた時点で、マウント状態管理モジュール１２からＵＩ制御部１３に対し外部記憶装置１０５の状態変更開始通知を行い、ＵＩ制御部１３がアイコン１００１を点滅制御する。これにより、アンマウント要求が受け付けられたことをユーザに通知する。
【００６８】
（コントローラ部にマウント先を切り替え中又はマウント待ち時にアンマウント要求が行われた場合の処理）
図１１は、マウント状態管理モジュール１２の状態が「コントローラ部へマウント先切り替え中」の状態（ＳＴ６）又は「コントローラマウント待ち」の状態（ＳＴ７）の場合に、アンマウント要求が行われた際の動作の流れを示すシーケンス図である。なお、この図１１において、図９のシーケンス図と同じ処理には、同じステップ番号を付し、重複説明を省略する。この場合、図１１のステップＳ８１に示すように、マウント状態管理モジュール１２は、コントローラ部１０１に対する外部記憶装置１０５のマウント処理が完了するまで待機状態となり、マウントが完了した後に、図９を用いて説明したコントローラ部１０１から外部記憶装置１０５をアンマウント処理するシーケンスを実行する。
【００６９】
ただし、ユーザによるアンマウント要求を受けた時点で、マウント状態管理モジュール１２からＵＩ制御部１３に対し外部記憶装置１０５の状態変更開始通知を行い、ＵＩ制御部１３がアイコン１００１を点滅制御する。これにより、アンマウント要求が受け付けられたことをユーザに通知する。
【００７０】
（「操作部マウント」状態時に、コントローラへのマウント先切り替え要求が行われた場合の処理）
次に、図１２は、外部記憶装置１０５が操作部１０２にマウントされている場合（マウント状態管理モジュール１２が「操作部マウント」状態である場合）に、コントローラ部１０１へのマウント先切り替え要求が行われた場合のシーケンス図である。この図１２において、例えばコントローラ側アプリ１５からマウント状態管理モジュール１２に対して、外部記憶装置１０５のマウント先をコントローラ部１０１側へ切り替える、切り替え要求がされた場合（ステップＳ９１）、マウント状態管理モジュール１２は、「コントローラへマウント先切り替え中」の状態（ＳＴ６）に遷移する（ステップＳ９２）。そして、マウント状態管理モジュール１２は、外部記憶装置制御モジュール１１に対し操作部１０２からのアンマウント要求を行う（ステップＳ９３）。
【００７１】
外部記憶装置制御モジュール１１は、操作部１０２から外部記憶装置１０５をアンマウント処理し（ステップＳ９４）、このアンマウント処理が完了すると、マウント状態管理モジュール１２にアンマウント完了通知を送信する（ステップＳ９５）。マウント状態管理モジュール１２は、各アプリ１４、１５に、外部記憶装置１０５のアンマウントが完了した旨を通知する（ステップＳ９６、ステップＳ９７）。
【００７２】
これにより、マウント状態管理モジュール１２は、「コントローラマウント待ち」の状態（ＳＴ７）に遷移し（ステップＳ９８）、外部記憶装置制御モジュール１１に対し、コントローラ部１０１に外部記憶装置１０５をマウントするマウント要求を行う（ステップＳ９９）。外部記憶装置制御モジュール１１は、コントローラ部１０１に外部記憶装置１０５をマウント処理し（ステップＳ１００）、このマウント処理が完了すると、マウント状態管理モジュール１２にマウント完了通知を送信する（ステップＳ１０１）。また、マウント状態管理モジュール１２は、各アプリ１４、１５に、コントローラ部１０１に外部記憶装置１０５がマウント処理された旨を通知する（ステップＳ１０２、ステップＳ１０３）。
【００７３】
（「コントローラマウント」状態時に、操作部へのマウント先切り替え要求が行われた場合の処理）
次に、図１３は、外部記憶装置１０５がコントローラ部１０１にマウントされている状態（「コントローラマウント」の状態（ＳＴ８））において、外部記憶装置１０５のマウント先を操作部１０２へ切り替えるマウント先切り替え要求が行われた場合のシーケンス図である。
【００７４】
この図１３において、例えば操作側アプリ１４からマウント状態管理モジュール１２に対して、外部記憶装置１０５のマウント先を操作部１０２側へ切り替える、切り替え要求がされた場合（ステップＳ１３１）、マウント状態管理モジュール１２は、「操作部へマウント先切り替え中」の状態（ＳＴ９）に遷移し（ステップＳ１３２）、外部記憶装置制御モジュール１１に対してコントローラ部１０１から外部記憶装置１０５をアンマウント処理するアンマウント要求を行う（ステップＳ１３３）。
【００７５】
このアンマウント要求を受信すると、外部記憶装置制御モジュール１１は、外部記憶装置１０５をコントローラ部１０１からアンマウント処理する（ステップＳ１３４）。外部記憶装置制御モジュール１１は、アンマウント処理が完了すると、マウント状態管理モジュール１２に対し、アンマウント完了通知を送信する（ステップＳ１３５）。
【００７６】
マウント状態管理モジュール１２は、外部記憶装置制御モジュール１１からアンマウント完了通知を受信すると、各アプリ１４、１５に対して外部記憶装置１９５がアンマウント処理されたことを通知する（ステップＳ１３６、ステップＳ１３７）。マウント状態管理モジュール１２は、各アプリ１４、１５に対してアンマウント処理を通知すると、「操作部マウント待ち」の状態（ＳＴ２）に遷移すると共に（ステップＳ１３８）、外部記憶装置制御モジュール１１に対して外部記憶装置１０５を操作部１０２にマウント処理するマウント要求を行う（ステップＳ１３９）。
【００７７】
マウント要求を受信した外部記憶装置制御モジュール１１は、外部記憶装置１０５のマウント先をコントローラ部１０１から操作部１０２に切り替えてマウント処理する（ステップＳ１４０）。外部記憶装置制御モジュール１１は、マウント処理が完了すると、マウント状態管理モジュール１２に対してマウント処理が完了したことを示すマウント完了通知を送信する（ステップＳ１４１）。マウント状態管理モジュール１２は、マウント完了通知を受信すると、各アプリ１４，１５に対して、外部記憶装置１０５が操作部１０２にマウントされたことを示す通知を行う（ステップＳ１４２、ステップＳ１４３）。
【００７８】
（第１の実施の形態の効果）
以上の説明から明らかなように、第１の実施の形態のＭＦＰ１００は、コントローラ１０１及び操作部１０２への外部記憶装置１０５のマウントの状態に応じて、アンマウントを行う対象（コントローラ１０１又は操作部１０２）、及び、アンマウントのタイミングを制御できる。このため、コントローラ部１０１と操作部１０２が、それぞれ独立して動作するシステムにおいて、ユーザが外部記憶装置１０５の取り外しを希望するタイミングでのアンマウント処理を可能とすることができる。従って、マウント状態となっている外部記憶装置のアンマウント処理が完了する前に、外部記憶装置の取り外しを行うと、外部記憶装置に対するデータの保存に失敗し、又は不完全となる不都合を防止し、安全に外部記憶装置１０５の取り外しを可能とすることができる。
【００７９】
（第２の実施の形態）
次に、第２の実施の形態のＭＦＰ１００の説明をする。なお、第２の実施の形態の説明において、上述の第１の実施の形態と同様の動作を示す処理には、同じステップ番号を付し、その詳細な説明を省略する。また、以下、第１の実施の形態及び第２の実施の形態の差異となる箇所の説明のみ行い、重複説明は省略する。
【００８０】
（マウント状態管理モジュールの状態遷移）
図１４は、第２の実施の形態のＭＦＰ１００におけるマウント状態管理モジュール１２の状態遷移図である。上述の第１の実施の形態のマウント状態管理モジュール１２（図５）との差異は、マウント先切り替え中にユーザによるアンマウント要求が行われた場合に、アンマウント待ちの状態に遷移する点が異なる。
【００８１】
具体的には、マウント状態管理モジュール１２は、外部記憶装置１０５のマウント先を操作部１０２からコントローラ部１０１へ切り替える途中の状態である「コントローラへマウント先切り替え中」の状態（ＳＴ６）において、ユーザによる外部記憶装置１０５のアンマウント要求があった場合、「操作部アンマウント待ち」の状態（ＳＴ４）に遷移する。また、マウント状態管理モジュール１２は、外部記憶装置１０５のマウント先をコントローラ部１０１から操作部１０２へ切り替える途中の状態である「操作部へマウント先切り替え中」の状態（ＳＴ９）において、ユーザによる外部記憶装置１０５のアンマウント要求があった場合、「コントローラアンマウント待ち」の状態（ＳＴ１１）に遷移する。
【００８２】
以下、具体例に基づいて、第２の実施の形態のＭＦＰ１００の動作の流れを説明する。
【００８３】
（「操作部マウント」状態時に、コントローラへのマウント先切り替え要求が行われることで、操作部から外部記憶装置をアンマウントしている途中で、ユーザからのアンマウント要求が行われた場合の処理）
図１５は、外部記憶装置１０５が操作部１０２にマウントされている状態（マウント状態管理モジュール１２が「操作部マウント」状態）において、外部記憶装置１０５のマウント先をコントローラ部１０１へ切り替えるマウント先切り替え要求が行われることで、操作部１０２から外部記憶装置１０５のアンマウント中に、ユーザからのアンマウント要求が行われた場合のシーケンス図である。
【００８４】
この図１５において、例えばコントローラ側アプリ１５からマウント状態管理モジュール１２に対して、外部記憶装置１０５のマウント先をコントローラ部１０１側へ切り替える、切り替え要求がされた場合（ステップＳ１１１）、マウント状態管理モジュール１２は、「コントローラへマウント先切り替え中」の状態（ＳＴ６）に遷移する（ステップＳ１１２）。そして、マウント状態管理モジュール１２は、外部記憶装置制御モジュール１１に対して、操作部１０２から外部記憶装置１０５をアンマウント処理するアンマウント要求を行う（ステップＳ１１３）。
【００８５】
外部記憶装置制御モジュール１１は、操作部１０２から外部記憶装置１０５をアンマウント処理する（ステップＳ１１５）。外部記憶装置制御モジュール１１が操作部１０２から外部記憶装置１０５をアンマウントするアンマウント処理を行っている途中で、マウント状態管理モジュール１２に対しユーザからのアンマウント要求が行われたとする（ステップＳ１１４）。
【００８６】
このようなマウント先の切り替え中に、ユーザから外部記憶装置１０５のアンマウント要求があった場合、マウント状態管理モジュール１２は、外部記憶装置制御モジュール１１に対して、マウント先の切り替え処理の進捗状況の問い合わせを行う。外部記憶装置制御モジュール１１は、進捗状況をマウント状態管理モジュール１２に通知する。マウント状態管理モジュール１２は、マウント先の切り替え処理が完了する前に外部記憶装置１０５のアンマウント処理を完了する動作、及び、マウント先の切り替え処理が完了した後に、外部記憶装置１０５のアンマウント処理を完了する動作を、通知された進捗状況に基づいて選択的に実行する。
【００８７】
すなわち、マウント状態管理モジュール１２は、外部記憶装置制御モジュール１１から、例えばマウント先の切り替え処理は完了直前であることを示す回答が得られた場合、「コントローラへマウント先切り替え中」の状態（ＳＴ６）→「コントローラマウント待ち」の状態（ＳＴ７）→「コントローラマウント」の状態（ＳＴ８）→「コントローラアンマウント待ち」の状態（ＳＴ１１）の順に遷移して、外部記憶装置１０５のアンマウント処理を完了する。
【００８８】
これに対して、外部記憶装置制御モジュール１１から、例えばマウント先の切り替え処理は初期段階であり、切り替え処理の完了までに時間を要することを示す回答が得られた場合、マウント状態管理モジュール１２は、「コントローラへマウント先切り替え中」の状態（ＳＴ６）から「操作部アンマウント待ち」の状態（ＳＴ４）に遷移する（ステップＳ１１６）。なお、マウント状態管理モジュール１２は、「操作部へマウントを切り替え中」の状態（ＳＴ９）に遷移した際に、外部記憶装置制御モジュール１１に対して、アンマウント要求を既に行っている。このため、マウント状態管理モジュール１２は、「操作部アンマウント待ち」のエントリー処理である外部記憶装置制御モジュール１１へのアンマウント要求は行わない。
【００８９】
次に、マウント状態管理モジュール１２は、各アプリ１４、１５に対し、マウント先の切り替え処理を中断する旨を通知する（ステップＳ１１７、ステップＳ１１８）。各アプリ１４、１５が、アプリ側の処理のために、マウント先の切り替え完了の待機状態となっている可能性がある。このため、各アプリ１４、１５に、マウント先の切り替え処理を中断する旨を通知する。これにより、各アプリ１４、１５の待機状態を解除することができ、マウント先の切り替え処理が中断されたにもかかわらず、各アプリ１４、１５が、マウント先の切り替え完了の待機状態を維持する不都合を防止できる。
【００９０】
次に、マウント状態管理モジュール１２は、ＵＩ制御部１３に外部記憶装置１０５の状態変更開始通知を行う（ステップＳ１１９）。ＵＩ制御部１３は、アイコン１００１を点滅制御し、アンマウント処理中であることをユーザに通知する（ステップＳ１２０）。アンマウントが完了すると、外部記憶装置制御モジュール１１は、マウント状態管理モジュール１２に対して、アンマウント完了通知を行う（ステップＳ１２１）。以降の処理は、図１２のステップＳ９６以降の処理と同じ処理となる。
【００９１】
（「コントローラマウント」状態時に、操作部へのマウント先切り替え要求が行われることで、コントローラ部から外部記憶装置をアンマウントしている途中で、ユーザからのアンマウント要求が行われた場合の処理）
次に、図１６は、外部記憶装置１０５がコントローラ部１０１にマウントされている状態（マウント状態管理モジュール１２が「コントローラマウント」状態）において、外部記憶装置１０５のマウント先を操作部１０２へ切り替えるマウント先切り替え要求が行われることで、外部記憶装置１０５をコントローラ部１０１からアンマウントしている途中で、ユーザからのアンマウント要求が行われた場合のシーケンス図である。
【００９２】
この図１６において、例えば操作部側アプリ１４からマウント状態管理モジュール１２に対して、外部記憶装置１０５のマウント先を操作部１０２側へ切り替える、切り替え要求がされた場合（ステップＳ１５１）、マウント状態管理モジュール１２は、「操作部へマウント先切り替え中」の状態（ＳＴ９）に遷移する（ステップＳ１５２）。そして、マウント状態管理モジュール１２は、外部記憶装置制御モジュール１１に対して、コントローラ部１０１から外部記憶装置１０５をアンマウント処理するアンマウント要求を行う（ステップＳ１５３）。
【００９３】
外部記憶装置制御モジュール１１は、コントローラ部１０１から外部記憶装置１０５をアンマウント処理する（ステップＳ１５４）。外部記憶装置制御モジュール１１が、コントローラ部１０１から外部記憶装置１０５をアンマウントするアンマウント処理を行っている途中で、マウント状態管理モジュール１２に対しユーザからのアンマウント要求が行われたとする（ステップＳ１５５）。
【００９４】
このようなマウント先の切り替え中に、ユーザから外部記憶装置１０５のアンマウント要求があった場合、マウント状態管理モジュール１２は、外部記憶装置制御モジュール１１に対して、マウント先の切り替え処理の進捗状況の問い合わせを行う。外部記憶装置制御モジュール１１は、進捗状況をマウント状態管理モジュール１２に通知する。マウント状態管理モジュール１２は、マウント先の切り替え処理が完了する前に外部記憶装置１０５のアンマウント処理を完了する動作、及び、マウント先の切り替え処理が完了した後に、外部記憶装置１０５のアンマウント処理を完了する動作を、通知された進捗状況に基づいて選択的に実行する。
【００９５】
すなわち、マウント状態管理モジュール１２は、外部記憶装置制御モジュール１１から、例えばマウント先の切り替え処理は完了直前であることを示す回答が得られた場合、「操作部へマウント先切り替え中」の状態（ＳＴ９）→「操作部マウント待ち」の状態（ＳＴ２）→「操作部マウント」の状態（ＳＴ３）→「操作部アンマウント待ち」の状態（ＳＴ４）の順に遷移して、外部記憶装置１０５のアンマウント処理を完了する。
【００９６】
これに対して、外部記憶装置制御モジュール１１から、例えばマウント先の切り替え処理は初期段階であり、切り替え処理の完了までに時間を要することを示す回答が得られた場合、マウント状態管理モジュール１２は、「操作部へマウント先切り替え中」の状態（ＳＴ９）から「コントローラアンマウント待ち」の状態（ＳＴ１１）に遷移する（ステップＳ１５６）。なお、マウント状態管理モジュール１２は、「コントローラへマウントを切り替え中」の状態（ＳＴ６）に遷移した際に、外部記憶装置制御モジュール１１に対して、アンマウント要求を既に行っている。このため、マウント状態管理モジュール１２は、「コントローラアンマウント待ち」のエントリー処理である外部記憶装置制御モジュール１１へのアンマウント要求は行わない。
【００９７】
次に、マウント状態管理モジュール１２は、各アプリ１４、１５に対し、マウント先の切り替え処理を中断する旨を通知する（ステップＳ１５７、ステップＳ１５８）。各アプリ１４、１５が、アプリ側の処理のために、マウント先の切り替え完了の待機状態となっている可能性がある。このため、マウント状態管理モジュール１２は、各アプリ１４、１５に、マウント先の切り替え処理を中断する旨を通知する。これにより、各アプリ１４、１５の待機状態を解除することができ、マウント先の切り替え処理が中断されたにもかかわらず、各アプリ１４、１５が、マウント先の切り替え完了の待機状態を維持する不都合を防止できる。
【００９８】
次に、マウント状態管理モジュール１２は、ＵＩ制御部１３に外部記憶装置１０５の状態変更開始通知を行う（ステップＳ１５９）。ＵＩ制御部１３は、アイコン１００１を点滅制御し、アンマウント処理中であることをユーザに通知する（ステップＳ１６０）。アンマウントが完了すると、外部記憶装置制御モジュール１１は、マウント状態管理モジュール１２に対して、アンマウント完了通知を行う（ステップＳ１６１）。以降の処理は、図１３のステップＳ１３６以降の処理と同じ処理となる。
【００９９】
（第２の実施の形態の効果）
以上の説明から明らかなように、第２の実施の形態のＭＦＰ１００は、上述の第１の実施の形態と同じ効果の他、以下の効果を得ることができる。
【０１００】
マウント状態管理モジュール１２が、外部記憶装置１０５のマウント先の切り替え中に、ユーザから外部記憶装置１０５のアンマウント要求があった場合、外部記憶装置１０５のアンマウント待ちの状態（ＳＴ４又はＳＴ１１）に遷移する。これにより、マウント先の切り替え完了を待たずにアンマウントシーケンスを実行できるため、ユーザのアンマウント要求に対するレスポンスを向上させることができる。
【０１０１】
また、各アプリ１４、１５は、アプリ側の処理のために、マウント先の切り替え完了の待機状態となっている可能性がある。このため、マウント状態管理モジュール１２が、各アプリ１４、１５に対し、マウント先の切り替え処理を中断する旨を通知する。これより、各アプリ１４、１５の待機状態を解除することができ、マウント先の切り替え処理が中断されたにもかかわらず、各アプリ１４、１５が、マウント先の切り替え完了の待機状態を維持する不都合を防止できる。
【０１０２】
最後に、上述の各実施の形態は、一例として提示したものであり、本発明の範囲を限定することは意図していない。この新規な各実施の形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことも可能である。また、各実施の形態及び各実施の形態の変形は、発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【０１０３】
すなわち、本発明の範囲において、上述の実施の形態に対して多くの修正、変更が可能である。請求項に記載された発明の範囲において、上述の実施の形態として記載された形態以外の形態についても、本発明の実施の形態とすることが可能である。
【０１０４】
コンピュータのアーキテクチャや演算処理に関した情報処理技術によって、従来のコンピュータを本明細書に記載の発明を実施するようプログラムすることにより、本発明を実施することが可能である。ソフトウェア技術の分野における知識を有した技術者であれば、本明細書の記載に基づいて、本発明を実施するようコンピュータをプログラムするためのソフトウェアを作成することが可能である。
【０１０５】
さらに、本発明は、情報処理技術の分野における知識を有した技術者であれば、ＡＳＩＣ（Application  Specific  Integrated  Circuits）や、従来の回路モジュールを接続して構成した装置によって実施することが可能である。
【０１０６】
実施の形態に記載された各機能のそれぞれは、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、ソフトウェアによって各機能を実行するようプログラムされたプロセッサや、各機能を実行するよう設計されたＡＳＩＣや回路モジュールなどのハードウェアを含むものとする。
【符号の説明】
【０１０７】
１１  外部記憶装置制御モジュール
１２  マウント状態管理モジュール
１３  ユーザインタフェース制御部（ＵＩ制御部）
１４  操作側アプリ
１５  コントローラ側アプリ
１００  複合機（ＭＦＰ）
１０１  コントローラ部
１０２  操作部
１０５  半導体メモリ
１１１  ＣＰＵ
１１２  ＲＯＭ
１１３  ＲＡＭ
１１４  ＨＤＤ
１１５  通信Ｉ／Ｆ
１１６  接続Ｉ／Ｆ
１１７  エンジン
１１８  バスライン
１１９  ＦＡＸモデム
１２１  ＣＰＵ
１２２  ＲＯＭ
１２３  ＲＡＭ
１２４  フラッシュメモリ
１２５  通信Ｉ／Ｆ
１２６  接続Ｉ／Ｆ
１２７  操作パネル
１２８  バスライン
１２９  メモリＩ／Ｆ
１３０  通信路
１４０  ネットワーク
【先行技術文献】
【特許文献】
【０１０８】
【特許文献１】特開２００９−２２３６９９号公報
【図１】
2017167770.tif 000003
【図２】
2017167770.tif 000004
【図３】
2017167770.tif 000005
【図４】
2017167770.tif 000006
【図５】
2017167770.tif 000007
【図６】
2017167770.tif 000008
【図７】
2017167770.tif 000009
【図８】
2017167770.tif 000010
【図９】
2017167770.tif 000011
【図１０】
2017167770.tif 000012
【図１１】
2017167770.tif 000013
【図１２】
2017167770.tif 000014
【図１３】
2017167770.tif 000015
【図１４】
2017167770.tif 000016
【図１５】
2017167770.tif 000017
【図１６】
2017167770.tif 000018