(57)【要約】【課題】情報処理装置のユーザが煩雑な操作を行うことなく、情報処理装置への外部機器の接続及び取り外しを行うことができ、また、外部機器へのデータ送受信を確実に行うことができる。【解決手段】データアクセス指示部によるデータの書込または読出指示がされると、マウント動作部に対して外部機器のマウント動作を指示し、データアクセス部による外部機器に対するデータの書込または読出動作が終了したらマウント動作部に対して外部機器のアンマウント動作を指示するマウント動作制御部とを設けた。【選択図】図４
2015035144.tif 000002
【特許請求の範囲】
【請求項１】
外部インタフェースを介して互いに接続可能な情報処理装置と外部機器とを備える情報格納システムにおいて、
前記情報処理装置は、
前記外部インタフェースを介して前記外部機器が接続されたことを検出する外部機器接続検出部と、
この外部機器接続検出部により前記外部機器が接続されたことが検出された状態で、この外部機器のマウント動作及びアンマウント動作を行うマウント動作部と、
前記外部機器に対するデータの書込及び読出の少なくとも一方を指示するデータアクセス指示部と、
前記データアクセス指示部によるデータの書込または読出指示に基づいて前記外部機器に対してデータの書込または読出を行うデータアクセス部と、
前記データアクセス指示部によるデータの書込または読出指示がされると、前記マウント動作部に対して前記外部機器のマウント動作を指示し、前記データアクセス部による前記外部機器に対するデータの書込または読出動作が終了したら前記マウント動作部に対して前記外部機器のアンマウント動作を指示するマウント動作制御部と
を備えることを特徴とする情報格納システム。
【請求項２】
前記情報処理装置は、キャッシュ領域を有する記憶部を備え、
前記データアクセス部は、前記データアクセス指示部によるデータの書込指示に基づいて前記キャッシュ領域にデータを書き込み、次いで、前記マウント動作制御部は前記マウント動作部に対して前記外部機器のマウント動作を指示し、さらに、前記データアクセス部はキャッシュ領域に書き込んだデータを外部機器に書き込む
ことを特徴とする請求項１記載の情報格納システム。
【請求項３】
前記情報処理装置は、キャッシュ領域を有する記憶部を備え、
前記データアクセス部は、前記データアクセス指示部によるデータの読出指示に基づいて前記キャッシュ領域でこのデータを検索し、前記キャッシュ領域にデータが格納されていれば前記データアクセス部がこのデータを読み出し、格納されていなければ前記マウント動作制御部は前記マウント動作部に対して外部機器のマウント動作を指示し、さらに、前記データアクセス部は外部機器からデータを読み出す
ことを特徴とする請求項１記載の情報格納システム。
【請求項４】
前記情報格納システムは、ネットワークを介して前記情報処理装置に接続可能な外部記憶部を備え、
前記データアクセス部は前記外部機器及び前記外部記憶部にデータを書き込む
ことを特徴とする請求項１〜３のいずれかに記載の情報格納システム。
【請求項５】
前記データアクセス部は、前記情報処理装置と前記外部機器との接続が解除されても前記外部記憶部にデータを書き込む
ことを特徴とする請求項４記載の情報格納システム。
【請求項６】
前記データアクセス部は、前記外部機器が前記情報処理装置に接続されたことを前記外部機器接続検出部が検出したら、前記キャッシュ領域に格納されたデータ及び前記外部記憶部に格納されたデータのうち、最も新しいデータで前記キャッシュ領域に格納されたデータを更新する
ことを特徴とする請求項４または５記載の情報格納システム。
【請求項７】
前記データアクセス部は、更新された前記キャッシュ領域内のデータを外部機器に書き込む
ことを特徴とする請求項６記載の情報格納システム。
【請求項８】
前記データアクセス部は、前記外部機器が前記情報処理装置に接続されたことを前記外部機器接続検出部が検出したら、前記外部機器に格納されたデータ及び前記キャッシュ領域に格納されたデータのうち、最も新しいデータで前記キャッシュ領域に格納されたデータを更新する
ことを特徴とする請求項１〜７のいずれかに記載の情報格納システム。
【請求項９】
前記外部機器は、前記データアクセス部によるデータの書込または読出動作が行われていることを視認可能な状態で表示する表示部を備え、
前記データアクセス部は、このデータアクセス部による前記外部機器に対するデータの書込または読出動作に先立って前記表示部によるデータの書込または読出動作表示を指示する
ことを特徴とする請求項１〜８のいずれかに記載の情報格納システム。
【請求項１０】
外部インタフェースを介して外部機器が接続可能な情報処理装置において、
前記外部インタフェースを介して前記外部機器が接続されたことを検出する外部機器接続検出部と、
この外部機器接続検出部により前記外部機器が接続されたことが検出された状態で、この外部機器のマウント動作及びアンマウント動作を行うマウント動作部と、
前記外部機器に対するデータの書込及び読出の少なくとも一方を指示するデータアクセス指示部と、
前記データアクセス指示部によるデータの書込または読出指示に基づいて前記外部機器に対してデータの書込または読出を行うデータアクセス部と、
前記データアクセス指示部によるデータの書込または読出指示がされると、前記マウント動作部に対して前記外部機器のマウント動作を指示し、前記データアクセス部による前記外部機器に対するデータの書込または読出動作が終了したら前記マウント動作部に対して前記外部機器のアンマウント動作を指示するマウント動作制御部と
を備えることを特徴とする情報処理装置。
【請求項１１】
外部インタフェースを介して外部機器が接続可能な情報処理装置におけるデータアクセス方法であって、
前記外部インタフェースを介して前記外部機器が接続されたことを検出するステップと、
前記外部機器が接続されたことが検出された状態で、この外部機器のマウント動作及びアンマウント動作を行うステップと、
前記外部機器に対するデータの書込及び読出の少なくとも一方を指示するステップと、
データの書込または読出指示に基づいて前記外部機器に対してデータの書込または読出を行うステップと、
データの書込または読出指示がされると前記外部機器のマウント動作を指示し、前記外部機器に対するデータの書込または読出動作が終了したら前記外部機器のアンマウント動作を指示するステップと
を備えることを特徴とする情報処理装置におけるデータアクセス方法。
【請求項１２】
外部インタフェースを介して外部機器が接続可能なコンピュータにより実行されるプログラムであって、
このプログラムはコンピュータにより実行されると、
前記外部インタフェースを介して前記外部機器が接続されたことを検出するステップと、
前記外部機器が接続されたことが検出された状態で、この外部機器のマウント動作及びアンマウント動作を行うステップと、
前記外部機器に対するデータの書込及び読出の少なくとも一方を指示するステップと、
データの書込または読出指示に基づいて前記外部機器に対してデータの書込または読出を行うステップと、
データの書込または読出指示がされると前記外部機器のマウント動作を指示し、前記外部機器に対するデータの書込または読出動作が終了したら前記外部機器のアンマウント動作を指示するステップと
を実行することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部インタフェースにより接続可能な情報処理装置及び外部機器を備える情報格納システム、そして、情報処理装置、情報処理装置におけるデータアクセス方法及びプログラムに関する。
【背景技術】
【０００２】
ＰＣ（Personal Computer）に代表される情報処理装置に対して種々の機能を付加するための外部機器を接続するための外部インタフェースは数多く知られている。その中でも、ＵＳＢ（Universal Serial Bus）規格に基づく外部インタフェースは、プラグアンドプレイ（Plug and Play）機能及びホットスワップ（Hot swap）機能を備えていること、情報処理装置に多用されるＯＳ（Operating System）であるWindows（登録商標）やLinux（登録商標）等においてＵＳＢ規格用のドライバが標準装備されていること等の理由から、情報処理装置と外部機器とを接続するための外部インタフェースとして多用されている。
【０００３】
ＵＳＢ規格に基づく外部インタフェースを備える外部機器を、同様にＵＳＢ規格に基づく外部インタフェースを備える情報処理装置に接続する場合、上述のようにＵＳＢ規格はプラグアンドプレイ機能及びホットスワップ機能を備えているので、情報処理装置が稼働中であっても外部機器を接続することができる。そして、ＵＳＢ規格対応の稼働中の情報処理装置にＵＳＢ規格対応の外部機器が接続されると、情報処理装置のＯＳは外部機器の接続をまず検出し、外部機器の機種等を特定してからこの機種に適切なＵＳＢドライバを選択し、ＵＳＢドライバがまだインストールされていない場合はインストールする。また、情報処理装置のＯＳは、このＯＳ上で外部機器に対するアクセスを可能にするために、特定された外部機器をＯＳで扱うための処理を行う。情報処理装置のＯＳが行う、外部機器に対するアクセスを可能にするための処理をマウント動作と呼ぶ。
【０００４】
一方、ＵＳＢ規格はプラグアンドプレイ機能及びホットスワップ機能を備えているので、情報処理装置が稼働中であっても外部機器を取り外すことはできる。しかし、外部機器に対してデータを送信している状態で外部機器が取り外されると、送信していたデータを外部機器が確実に受信して処理できているかどうかが不定になってしまう。このため、情報処理装置のＯＳが、外部機器をＯＳで扱えなくするための処理を行ってから外部機器を取り外すことが推奨されている。情報処理装置のＯＳが行う、外部機器をＯＳで扱えなくするための処理をアンマウント動作と呼ぶ。
【０００５】
このように、ＵＳＢ規格に代表されるプラグアンドプレイ機能を備えた外部インタフェースを介して外部機器を情報処理装置に接続し、または外部機器を情報処理装置から取り外す場合、この外部機器に対するマウント動作及びアンマウント動作が必要になる。特に、アンマウント動作は情報処理装置のユーザが明示的に指示する必要があるため、ユーザに対して煩雑な操作を要求することになる。
【０００６】
また、上述のように、情報処理装置から外部機器にデータを送信している状態で、アンマウント動作を行わずに外部機器を情報処理装置から取り外した場合、送信していたデータを外部機器が確実に受信して処理できているかどうかは不定であった。
【０００７】
なお、ホスト装置側が用意する仮想デバイス以上の数を備えるストレージ装置において、ホスト装置側が仮想デバイスに対してマウントまたはアンマウントする実デバイスであるストレージ装置を個々に指定する技術が知られている（特許文献１参照）が、この技術においても、ストレージ装置のマウント動作及びアンマウント動作は個別に行う必要があり、ユーザに対して煩雑な操作を要求することになる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００６−１０７２５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
本発明は上述した課題に鑑みてなされたものであり、情報処理装置のユーザが煩雑な操作を行うことなく、情報処理装置への外部機器の接続及び取り外しを行うことができ、また、外部機器へのデータ送受信を確実に行うことができる情報格納システム、情報処理装置、情報処理装置におけるデータアクセス方法及びプログラムの提供をその目的の一つとしている。
【課題を解決するための手段】
【００１０】
本発明は、外部インタフェースを介して互いに接続可能な情報処理装置と外部機器とを備える情報格納システムに適用される。そして、情報処理装置に、外部インタフェースを介して外部機器が接続されたことを検出する外部機器接続検出部と、この外部機器接続検出部により外部機器が接続されたことが検出された状態で、この外部機器のマウント動作及びアンマウント動作を行うマウント動作部と、外部機器に対するデータの書込及び読出の少なくとも一方を指示するデータアクセス指示部と、データアクセス指示部によるデータの書込または読出指示に基づいて外部機器に対してデータの書込または読出を行うデータアクセス部と、データアクセス指示部によるデータの書込または読出指示がされると、マウント動作部に対して外部機器のマウント動作を指示し、データアクセス部による外部機器に対するデータの書込または読出動作が終了したらマウント動作部に対して外部機器のアンマウント動作を指示するマウント動作制御部とを設けることにより、上述の課題の少なくとも一つを解決している。
【００１１】
マウント動作制御部は、データアクセス指示部によるデータの書込または読出指示がされると、マウント動作部に対して外部機器のマウント動作を指示し、データアクセス部による外部機器に対するデータの書込または読出動作が終了したらマウント動作部に対して外部機器のアンマウント動作を指示する。従って、データアクセス部によるデータ書込または読出動作中のみ外部機器が情報処理装置にマウントされ、それ以外では外部機器が情報処理装置に接続されていても外部機器３はアンマウント状態にある。
【００１２】
ここで、情報処理装置にキャッシュ領域を有する記憶部を設け、データアクセス部が、データアクセス指示部によるデータの書込指示に基づいてキャッシュ領域にデータを書き込み、次いで、マウント動作制御部はマウント動作部に対して外部機器のマウント動作を指示し、さらに、データアクセス部はキャッシュ領域に書き込んだデータを外部機器に書き込むことが好ましい。
【００１３】
あるいは、情報処理装置にキャッシュ領域を有する記憶部を設け、データアクセス部が、データアクセス指示部によるデータの読出指示に基づいてキャッシュ領域でこのデータを検索し、キャッシュ領域にデータが格納されていればデータアクセス部がこのデータを読み出し、格納されていなければマウント動作制御部はマウント動作部に対して外部機器のマウント動作を指示し、さらに、データアクセス部は外部機器からデータを読み出すことが好ましい。
【００１４】
さらに、情報格納システムに、ネットワークを介して情報処理装置に接続可能な外部記憶部を設け、データアクセス部が外部機器及び外部記憶部にデータを書き込むことが好ましい。この場合、データアクセス部は、情報処理装置と外部機器との接続が解除されても外部記憶部にデータを書き込むことが好ましい。
【００１５】
さらに、データアクセス部は、外部機器が情報処理装置に接続されたことを外部機器接続検出部が検出したら、キャッシュ領域に格納されたデータ及び外部記憶部に格納されたデータのうち、最も新しいデータでキャッシュ領域に格納されたデータを更新することが好ましい。この場合、データアクセス部は、更新されたキャッシュ領域内のデータを外部機器に書き込むことが好ましい。
【００１６】
さらに、データアクセス部は、外部機器が情報処理装置に接続されたことを外部機器接続検出部が検出したら、外部機器に格納されたデータ及びキャッシュ領域に格納されたデータのうち、最も新しいデータでキャッシュ領域に格納されたデータを更新することが好ましい。
【００１７】
そして、外部機器に、データアクセス部によるデータの書込または読出動作が行われていることを視認可能な状態で表示する表示部を設け、データアクセス部が、このデータアクセス部による外部機器に対するデータの書込または読出動作に先立って表示部によるデータの書込または読出動作表示を指示することが好ましい。
【００１８】
また、本発明は、外部インタフェースを介して外部機器が接続可能な情報処理装置に適用される。そして、この情報処理装置に、外部インタフェースを介して外部機器が接続されたことを検出する外部機器接続検出部と、この外部機器接続検出部により外部機器が接続されたことが検出された状態で、この外部機器のマウント動作及びアンマウント動作を行うマウント動作部と、外部機器に対するデータの書込及び読出の少なくとも一方を指示するデータアクセス指示部と、データアクセス指示部によるデータの書込または読出指示に基づいて外部機器に対してデータの書込または読出を行うデータアクセス部と、データアクセス指示部によるデータの書込または読出指示がされると、マウント動作部に対して外部機器のマウント動作を指示し、データアクセス部による外部機器に対するデータの書込または読出動作が終了したらマウント動作部に対して外部機器のアンマウント動作を指示するマウント動作制御部とを設けることにより、上述の課題の少なくとも一つを解決している。
【００１９】
さらに、本発明は、外部インタフェースを介して外部機器が接続可能な情報処理装置におけるデータアクセス方法に適用される。そして、このデータアクセス方法に、外部インタフェースを介して外部機器が接続されたことを検出するステップと、外部機器が接続されたことが検出された状態で、この外部機器のマウント動作及びアンマウント動作を行うステップと、外部機器に対するデータの書込及び読出の少なくとも一方を指示するステップと、データの書込または読出指示に基づいて外部機器に対してデータの書込または読出を行うステップと、データの書込または読出指示がされると外部機器のマウント動作を指示し、外部機器に対するデータの書込または読出動作が終了したら外部機器のアンマウント動作を指示するステップとを設けることにより、上述の課題の少なくとも一つを解決している。
【００２０】
そして、本発明は、外部インタフェースを介して外部機器が接続可能なコンピュータにより実行されるプログラムに適用される。そして、このプログラムはコンピュータにより実行されると、外部インタフェースを介して外部機器が接続されたことを検出するステップと、外部機器が接続されたことが検出された状態で、この外部機器のマウント動作及びアンマウント動作を行うステップと、外部機器に対するデータの書込及び読出の少なくとも一方を指示するステップと、データの書込または読出指示に基づいて外部機器に対してデータの書込または読出を行うステップと、データの書込または読出指示がされると外部機器のマウント動作を指示し、外部機器に対するデータの書込または読出動作が終了したら外部機器のアンマウント動作を指示するステップとを実行することにより、上述の課題の少なくとも一つを解決している。
【発明の効果】
【００２１】
本発明によれば、データアクセス部によるデータ書込または読出動作中のみ外部機器が情報処理装置にマウントされ、それ以外では外部機器が情報処理装置に接続されていても外部機器はアンマウント状態にある。従って、本発明によれば、情報処理装置のユーザが煩雑な操作を行うことなく、情報処理装置への外部機器の接続及び取り外しを行うことができ、また、外部機器へのデータ送受信を確実に行うことができる。
【図面の簡単な説明】
【００２２】
【図１】本発明の一実施形態である情報格納システムの概略構成を示す図である。
【図２】一実施形態の情報格納システムに適用される情報処理装置の概略構成を示すブロック図である。
【図３】一実施形態の情報格納システムに適用される外部機器の概略構成を示すブロック図である。
【図４】一実施形態の情報格納システムの機能構成を示す機能ブロック図である。
【図５】一実施形態の情報格納システムの動作の一例を説明するためのシーケンス図である。
【図６】一実施形態の情報格納システムの動作の他の例を説明するためのシーケンス図である。
【図７】一実施形態の情報格納システムの動作のまた他の例を説明するためのシーケンス図である。
【図８】一実施形態の情報格納システムの動作のまた他の例を説明するためのシーケンス図である。
【図９】一実施形態の情報格納システムの動作のまた他の例を説明するためのシーケンス図である。
【図１０】一実施形態の情報格納システムの動作のまた他の例を説明するためのシーケンス図である。
【図１１】一実施形態の情報格納システムの動作のまた他の例を説明するためのシーケンス図である。
【発明を実施するための形態】
【００２３】
以下、図面を参照して、本発明の実施形態について説明する。
（一実施形態）
図１は、本発明の一実施形態である情報格納システムの概略を示す図である。この図において、１は本実施形態の情報格納システムであり、この情報格納システム１は、情報処理装置２と外部機器３とルータ４とサーバ装置５とを備える。
【００２４】
ＰＣに代表される情報処理装置２は有線または無線ＬＡＮ（Local Area Network）を介してルータ４を含む他の端末と通信可能である。図１において図示した本実施形態の情報格納システム１では、情報処理装置２が２台備えられているが、情報処理装置２の台数には限定はなく、単独の情報処理装置２を備えてもよく、また、３台以上の情報処理装置２を備えてもよい。外部機器３は、例えばＵＳＢフラッシュメモリであり、情報処理装置２に接続可能に構成されている。この外部機器３は、情報処理装置２に適宜接続されて、この情報処理装置２に対して外部機器３特有の機能を付加する。これら情報処理装置２及び外部機器３は共通の外部インタフェースを備え、この外部インタフェースを介して外部機器３が情報処理装置２に接続され、これら情報処理装置２と外部機器３との間でデータの送受信等が行われる。本実施形態では、情報処理装置２と外部機器３とはそれぞれＵＳＢ規格に基づく外部インタフェースを備えている。ルータ４はＷＡＮ（Wide Area Network）としてのインターネット６に接続され、情報処理装置２とインターネット６との間の通信を中継する。サーバ装置５はインターネット６に接続されており、このインターネット６及びルータ４を介して情報処理装置２と通信可能である。
【００２５】
（情報処理装置の構成）
図２は、本実施形態の情報格納システム１に用いられる情報処理装置２の概略構成を示すブロック図である。図２において、本実施形態の情報処理装置２は、ＣＰＵ（Central Processing Unit）２０、ＲＯＭ（Read Only Memory）２１、ＲＡＭ（Random Access Memory）２２、入力インタフェース（Ｉ／Ｆ）２３、表示部２４、ＵＳＢ（Universal Serial Bus）インタフェース（Ｉ／Ｆ）２５、ネットワークインタフェース（Ｉ／Ｆ）２６及び内部ストレージ部２７を備えており、これらは共通のバスにより互いに接続されている。
【００２６】
ＣＰＵ２０は、後述するＲＯＭ２１内に格納されたファームウェア等のプログラムが実行されることにより、情報処理装置２全体の制御を行う。また、ＣＰＵ２０は、ＲＯＭ２１内に格納されたプログラムが実行されることにより、図４に示すような各機能部としても動作する。図４に示す各機能部の動作については後述する。ＲＯＭ２１には、上述したファームウェア等のプログラムが格納されている。ＲＡＭ２２は情報処理装置２のワークメモリとして機能し、ＣＰＵ２０を含めた情報処理装置２の動作時に一時的に使用されるプログラム、データ等が格納される。
【００２７】
入力インタフェース２３には入力機器４０が接続され、ユーザが入力機器４０を操作することにより入力される入力信号を受信する。入力機器４０としては、例えばキーボード、マウス等が挙げられる。
【００２８】
表示部２４は液晶ドライバ２４０と液晶パネル２４１とを備える。液晶パネル２４１は、その表示面が情報処理装置２の表面に露出して設けられている。液晶ドライバ２４０は、表示画面を構成するデータがＣＰＵ２０からこの液晶ドライバ２４０に供給されると、液晶パネル２４１の表示面に所望の表示画面を表示するようにこの液晶パネル２４１を駆動する。
【００２９】
ＵＳＢインタフェース２５は、ＵＳＢコントローラ２５０とＵＳＢコネクタ２５１とを備える。ＵＳＢコントローラ２５０は、例えばＵＳＢ２．０またはＵＳＢ３．０規格に沿って、ＵＳＢコネクタ２５１を介して接続された外部機器３との間でデータの送受信を行う。ＵＳＢコネクタ２５１は、いわゆるメス型ＵＳＢコネクタ（ＵＳＢレセプタクル）であって、図略のＵＳＢケーブルのオス型ＵＳＢコネクタ（ＵＳＢプラグ）が挿入可能に構成されている。
【００３０】
ネットワークインタフェース２６はネットワークコネクタ（図略）を備え、このネットワークコネクタにルータ４が接続され、このルータ４がインターネット６に接続されることで、外部ネットワークとの間でデータの送受信がされる。このネットワークインタフェース２６は、例えばＩＥＥＥ（The Institute of Electrical and Electronics Engineers, Inc.）８０２．３規格に基づく有線通信を行うものである。あるいは、ネットワークインタフェース２６は、ＩＥＥＥ８０２．１１規格に基づく無線通信を行うものであってもよく、あるいは、有線／無線通信のいずれも行うものであってもよい。
【００３１】
内部ストレージ部２７は、内部ストレージ２７１と内部ストレージインタフェース（Ｉ／Ｆ）２７０とを備える。内部ストレージ２７１は、例えばフラッシュメモリのような不揮発性半導体メモリであり、情報処理装置２において用いられるアプリケーションプログラム、音楽・写真・動画データ等が格納される。特に、本実施形態の内部ストレージ２７１はキャッシュ領域２７２を備え、このキャッシュ領域２７２には、情報処理装置２のＣＰＵ２０が行う情報処理装置２全体の制御の際に一時的に必要とされるデータが格納される。内部ストレージインタフェース２７０は、この内部ストレージ２７１に対するデータの読出／書込指示があった場合に、内部ストレージ２７１全体の制御を行うとともに、データの読出／書込制御を行い、読み出されたデータを出力する。なお、内部ストレージ２７１は、例えばｍｉｃｒｏＳＤのような挿脱可能な不揮発性メモリカードであってもよく、この場合、内部ストレージインタフェース２７０は、このメモリカードが装着されるメモリカードスロットをさらに備える。
【００３２】
（外部機器の構成）
図３は、本実施形態の情報格納システム１に用いられる外部機器３の概略構成を示すブロック図である。図３において、本実施形態の外部機器３は、制御部３０、ＵＳＢコネクタ３１及びアクセス表示部３２を備える。
【００３３】
制御部３０は、コントローラ３３、ＲＯＭ３４、フラッシュメモリ部３５及び出力インタフェース３６を備える。
【００３４】
コントローラ３３は、後述するＲＯＭ３４内に格納されたファームウェア等のプログラムが実行されることにより、外部機器３全体の制御を行う。本実施形態におけるコントローラ３３は、いわゆるＵＳＢコントローラとフラッシュメモリコントローラとしての機能を少なくとも備える。すなわち、コントローラ３３は、ＵＳＢコネクタ３１を介して外部機器３が接続される情報処理装置２等の間で、例えばＵＳＢ２．０またはＵＳＢ３．０規格に基づくデータ送受信を行う機能を有するとともに、フラッシュメモリ部３５に格納されたデータの管理を行い、外部機器３が接続される情報処理装置２等からデータの書込／読出指示があった場合にフラッシュメモリ部３５に対してデータの書込／読出動作を行う機能を有する。従って、本実施形態の外部機器３はＵＳＢインタフェースを備える。ＲＯＭ３４には、上述したファームウェア等のプログラムが格納されている。
【００３５】
フラッシュメモリ部３５は例えばＮＡＮＤ型フラッシュを含む。このフラッシュメモリ部３５は、コントローラ３３から入力される指示に従い、データを保持する。またこのフラッシュメモリ部３５は、コントローラ３３から入力される指示に従って、保持しているデータを読み出してコントローラ３３に出力する。
【００３６】
出力インタフェース３６は、コントローラ３３からの指示に基づいて、後述するアクセス表示部３２に対して所定の表示をさせるように制御する。
【００３７】
ＵＳＢコネクタ３１は、いわゆるオス型ＵＳＢコネクタ（ＵＳＢプラグ）であって、図略のメス型ＵＳＢコネクタ（ＵＳＢレセプタクル）に挿入可能に構成されている。
【００３８】
アクセス表示部３２は、制御部３０からの指示に基づいて、外部機器３がＵＳＢインタフェースを介して情報処理装置２に接続されていてデータの送受信が可能であるか否か、言い換えればマウント状態にあるかアンマウント状態にあるかを表示するとともに、情報処理装置２と外部機器３との間で今現在データの送受信がされているかどうかを表示する。このようなアクセス表示部３２は、一例としてマウント／アンマウント状態を示すＬＥＤ（Light Emitting Diode）及びデータ送受信を示すＬＥＤをそれぞれ備える。あるいは、複数色の表示が可能なＬＥＤユニットにおいて、マウント／アンマウント及びデータ送受信の有無をそれぞれ異なる色で表示するものであってもよい。さらに、ＬＥＤに限らず、マウント／アンマウント状態とデータ送受信のユーザに視認可能な状態で表示しうる構成であれば特段の限定はない。
【００３９】
（情報格納システムの機能構成）
図４は、本実施形態の情報格納システムの機能構成を示す機能ブロック図である。図５において、本実施形態の情報格納システム１は情報処理装置２、外部機器３及び外部記憶部５０を備える。
【００４０】
情報処理装置２は、制御部５１、記憶部５２、通信部５３、インタフェース部５４及び操作入力部５５を備える。制御部５１は、情報処理装置２全体の動作制御を行うものであり、外部機器接続検出部５１ａ、マウント動作部５１ｂ、アプリケーション部５１ｃ、データアクセス指示部５１ｄ、データアクセス部５１ｅ及びマウント動作制御部５１ｆを備える。
【００４１】
外部機器接続検出部５１ａは、外部インタフェースを介して情報処理装置２に外部機器３が接続されたことを検出する。すなわち、外部機器接続検出部５１ａは、ＵＳＢインタフェースを構成するインタフェース部５４を介して外部機器３が接続されると、情報処理装置２に外部機器３が接続されたことを検出する。ＵＳＢインタフェースはいわゆるプラグアンドプレイを行いうるインタフェースであり、外部機器接続検出部５１ａは、情報処理装置２全体が稼働している状態であっても外部機器３の接続を検出しうる。そして、外部機器接続検出部５１ａは、インタフェース部５４を介して外部機器３が接続されたことを検出すると、外部機器３が情報処理装置２に接続されたことをマウント動作部５１ｂに通知する。
【００４２】
マウント動作部５１ｂは、外部機器接続検出部５１ａにより外部機器３が接続されたことが検出された状態で、この外部機器３のマウント動作及びアンマウント動作を行う。このマウント動作部５１ｂが行う機能は、一般的なＵＳＢドライバの機能の一部に相当する。より詳細には、マウント動作部５１ｂは、外部機器３が情報処理装置２に接続されたことを外部機器接続検出部５１ａから通知されると、インタフェース部５４を介して外部機器３と通信を行い、接続確立に必要な情報（ＵＳＢデバイスのクラス、ベンダＩＤ、プロダクトＩＤ等）を入手する。また、マウント動作部５１ｂは、外部機器３に対するアクセスを可能にするために、接続された外部機器３を制御部５１で取扱可能にするための処理、すなわちマウント動作を行う。一方、マウント動作部５１ｂは、操作入力部５５からの指示に基づいて、外部機器３を制御部５１で取扱不能にするための処理、すなわちアンマウント動作を行う。
【００４３】
アプリケーション部５１ｃは、情報処理装置２としての一般的動作、すなわち、外部機器３との間のデータ送受信及びこれに関わる動作以外の動作を行う。この際、アプリケーション部５１ｃは、情報処理装置２に特有の機能を付加する外部機器３の機能を実施させるために、この外部機器３に対してデータの書込及び読出の少なくとも一方を行うことがある。データアクセス指示部５１ｄは、外部機器３に対するデータの書込及び読出の少なくとも一方を指示する。すなわち、データアクセス指示部５１ｄは、アプリケーション部５１ｃからの指示に基づいて、外部機器３に対してデータの書込及び読出の少なくとも一方を指示する。データアクセス指示部５１ｄは、このようなアプリケーション部５１ｃからの指示があった際に、外部機器３に対してデータの書込及び読出の少なくとも一方を指示する。
【００４４】
データアクセス部５１ｅは、データアクセス指示部５１ｄによるデータの書込または読出指示に基づいて、外部機器３に対してデータの書込または読出を行う。このデータアクセス部５１ｅが行う機能も、一般的なＵＳＢドライバの機能の一部に相当し、データアクセス指示部５１ｄによりデータの書込及び読出の少なくとも一方が指示されると、外部機器３にデータの書込及び読出の少なくとも一方を指示し、書込指示のあったデータをインタフェース部５４を介して外部機器３に送出し、また、読出指示のあったデータをインタフェース部５４を介して外部機器３から受け取る。
【００４５】
また、データアクセス部５１ｅは、データアクセス指示部５１ｄによるデータの書込指示に基づいて、後述する記憶部５２のキャッシュ領域２７２にデータを書き込み、次いで、マウント動作制御部５１ｆがマウント動作部５１ｂに対して外部機器のマウント動作を指示してから、データアクセス部５１ｅはキャッシュ領域２７２に書き込んだデータを外部機器３に書き込む。あるいは、データアクセス部５１ｅは、データアクセス指示部５１ｄによるデータの読出指示に基づいて記憶部５２のキャッシュ領域２７２でこのデータを検索し、キャッシュ領域２７２にデータが格納されていればデータアクセス部５１ｅはこのデータを読み出し、格納されていなければ、マウント動作制御部５１ｆがマウント動作部５１ｂに対して外部機器３のマウント動作を指示してから、データアクセス部５１ｅは外部機器３からデータを読み出す。
【００４６】
さらに、データアクセス部５１ｅは外部機器３に加えて、外部記憶部５０にもデータを書き込む。加えて、データアクセス部５１ｅは、情報処理装置２と外部機器３との接続が解除されても外部記憶部５０にデータを書き込む。あるいは、データアクセス部５１ｅは、外部機器３が情報処理装置２に接続されたことを外部機器接続検出部５１ａが検出したら、キャッシュ領域２７２に格納されたデータ及び外部記憶部５０に格納されたデータのうち最も新しいデータでキャッシュ領域２７２に格納されたデータを更新する。さらに、データアクセス部５１ｅは、更新されたキャッシュ領域２７２内のデータを外部機器３に書き込む。さらに、データアクセス部５１ｅは、外部機器３が情報処理装置２に接続されたことを外部機器接続検出部５１ａが検出したら、外部機器３に格納されたデータ及びキャッシュ領域２７２に格納されたデータのうち、最も新しいデータでキャッシュ領域２７２に格納されたデータを更新する。
【００４７】
マウント動作制御部５１ｆは、データアクセス指示部５１ｄによりデータの書込または読出指示がされると、マウント動作部５１ｂに対して外部機器３のマウント動作を指示し、データアクセス部５１ｄによる外部機器３に対するデータの書込または読出動作が終了したら、マウント動作部５１ｂに対して外部機器３のアンマウント動作を指示する。
【００４８】
記憶部５２は、情報処理装置２による各種動作の際に使用されるデータを少なくとも一時的に格納する。記憶部５２にはキャッシュ領域２７２が設けられ、上述のようにデータアクセス部５１ｅにより外部機器３にデータの書込／読出がされる際に、同様にキャッシュ領域２７２にもこのデータアクセス部５１ｅからデータの書込／読出がされる。
【００４９】
通信部５３は、例えばＩＥＥＥ８０２．３規格に基づいて、外部記憶部５０との間で行うデータの送受信の制御を行う。インタフェース部５４は、本実施形態ではＵＳＢ規格に基づいて、外部機器３との間で行うデータの送受信の制御を行う。操作入力部５５は、ユーザによる入力機器４０等を用いた操作入力を受け付け、この操作入力を制御部５０に送出する。
【００５０】
次に、外部機器３は、制御部６０、記憶部６１、表示部６２及びインタフェース部６３を備える。制御部６０は、外部機器３全体の動作制御を行う。記憶部６１は、外部機器３による各種動作の際に使用されるデータを少なくとも一時的に格納するとともに、情報処理装置２からの書込指示に基づいて、この情報処理装置２から送信されたデータ６４を少なくとも一時的に書き込み、また、情報処理装置２からの読出指示に基づいて、格納されたデータ６４を読み出してこの情報処理装置２に送信する。
【００５１】
表示部６２は、情報処理装置２のデータアクセス部５１ｅによるデータの書込または読出動作が行われていることを視認可能な状態で表示する。より詳細には、表示部６２は、制御部６０からの指示に基づいて、外部機器３がインタフェース部６３を介して情報処理装置２に接続されていてデータの送受信が可能であるか否か、言い換えればマウント状態にあるかアンマウント状態にあるかを表示するとともに、情報処理装置２と外部機器３との間で今現在データの送受信がされているかどうかを表示する。そして、情報処理装置２のデータアクセス部５１ｅは、このデータアクセス部５１ｅによる外部機器３に対するデータの書込または読出動作に先立って、表示部６２によるデータの書込または読出動作表示を指示する。
【００５２】
インタフェース部６３は、本実施形態ではＵＳＢ規格に基づいて、情報処理装置２との間で行うデータの送受信の制御を行う。
【００５３】
そして、外部記憶部５０は、記憶部７０及び通信部７１を備える。記憶部７０は、情報処理装置２からの書込指示に基づいて、この情報処理装置２から送信されたデータ７２を少なくとも一時的に書き込み、また、情報処理装置２からの読出指示に基づいて、格納されたデータ７２を読み出してこの情報処理装置２に送信する。通信部７１は、例えばＩＥＥＥ８０２．３規格に基づいて、情報処理装置２との間で行うデータの送受信の制御を行う。
【００５４】
以上の構成において、外部機器接続検出部５１ａ、マウント動作部５１ｂ、アプリケーション部５１ｃ、データアクセス指示部５１ｄ、データアクセス部５１ｅ及びマウント動作制御部５１ｆを含む制御部５１は主にＣＰＵ２０及びＵＳＢコントローラ２５０により構成され、記憶部５２は主にＲＡＭ２２及び内部ストレージ部２７により構成され、通信部５３は主にネットワークインタフェース２６により構成され、インタフェース部５４は主にＵＳＢインタフェース２５により構成され、そして操作入力部５５は主に入力インタフェース２３により構成されている。また、制御部６０は主にコントローラ３３により構成され、記憶部６１は主にフラッシュメモリ部３５により構成され、表示部６２は主にアクセス表示部３２及び出力インタフェース３６により構成され、そしてインタフェース部６３は主にコントローラ３３及びＵＳＢコネクタ３１により構成されている。さらに、記憶部７０、通信部７１を含む外部記憶部５０は主にサーバ装置５により構成されている。
【００５５】
（一実施形態の情報格納システムの動作）
次に、図５〜図１１のシーケンス図を参照して、本発明の一実施形態である情報格納システムの動作について説明する。
【００５６】
まず、図５及び図６は、本実施形態の情報格納システム１において、外部機器３が情報処理装置２に接続された際の動作を説明するためのシーケンス図である。図５のステップＳ１０において、外部機器３が情報処理装置２に接続されると、外部機器３の制御部６０が情報処理装置２への接続を検出して、データの書込動作表示及びマウント状態表示を表示部６２に指示する。ステップＳ１０における制御部６０からの指示を受けて、ステップＳ１１において、表示部６２はデータの書込動作及びマウント状態を表示する。
【００５７】
次いで、ステップＳ１２では、情報処理装置２の外部機器接続検出部５１ａが、外部機器３が情報処理装置２に接続されたことを検出し、外部機器３の接続をマウント動作部５１ｂに通知する。ステップＳ１３では、情報処理装置２のマウント動作部５１ｂが、外部機器３のマウント動作を行う。次いで、ステップＳ１４では、情報処理装置２のデータアクセス部５１ｅが、インタフェース部５４及びインタフェース部６３を介して外部機器３の記憶部６１にアクセスし、この記憶部６１に格納されているデータ６４の読出指示を行う。
【００５８】
ステップＳ１４及び次のステップＳ１５で外部機器３の記憶部６１から読み出すべきデータ６４は、好ましくは記憶部６１に格納されている全てのデータ６４であるが、データ６４のリスト、すなわちデータ６４が格納されるファイルのファイル名及び更新日時情報を読み出してもよい。あるいは、外部機器３の記憶部６４に、情報処理装置２のデータアクセス部５１ｅによるアクセスの日時情報を保管しておき、直近のアクセス日時において更新がされたデータ６４のみを読み出してもよい。あるいは、外部機器３の記憶部６１に格納されているデータのうち、第一階層のフォルダのフォルダ名及びこの第一階層のフォルダに格納されているファイルのファイル名のみ読み出してもよい。これにより、ステップＳ１４及びステップＳ１５の動作に必要な時間を短縮できる。第一階層よりも深いフォルダに格納されているファイルについては、必要に応じて適宜取得すればよい。
【００５９】
次いで、ステップＳ１５では、外部機器３の制御部６０が記憶部６２にアクセスし、情報処理装置２のデータアクセス部５１ｅから読出指示のあったデータ６４を記憶部６１から読み出してこれをインタフェース部６３及びインタフェース部５４を介して情報処理装置２に転送する。外部機器３から転送されたデータは、情報処理装置２の記憶部５２に一時的に保管される。
【００６０】
ステップＳ１６では、データアクセス部５１ｅが記憶部５２のキャッシュ領域２７２に格納されたデータの読出指示を行う。ステップＳ１７では、記憶部５２のキャッシュ領域２７２に格納されたデータが読み出される。
【００６１】
ステップＳ１６及びステップＳ１７で記憶部５２のキャッシュ領域２７２から読み出すべきデータも、好ましくはキャッシュ領域２７２に格納されている全てのデータであるが、データのリスト、すなわちデータが格納されるファイルのファイル名及び更新日時情報を読み出してもよい。あるいは、記憶部５２のキャッシュ領域２７２に、情報処理装置２のデータアクセス部５１ｅによるアクセスの日時情報を保管しておき、直近のアクセス日時において更新がされたデータのみを読み出してもよい。あるいは、キャッシュ領域２７２に格納されているデータのうち、第一階層のフォルダのフォルダ名及びこの第一階層のフォルダに格納されているファイルのファイル名のみ読み出してもよい。
【００６２】
ステップＳ１８では、情報処理装置２のデータアクセス部５１ｅが通信部５３及び通信部７１を介して外部記憶部５０の記憶部７０にアクセスし、この記憶部７０に格納されているデータ７２の読出指示を行う。
【００６３】
ステップＳ１８及び次のステップＳ１９で外部記憶部５０の記憶部７０から読み出すべきデータ７２も、好ましくは記憶部７０に格納されている全てのデータ７２であるが、データ７２のリスト、すなわちデータ７２が格納されるファイルのファイル名及び更新日時情報を読み出してもよい。あるいは、外部記憶部５０の記憶部７０に、情報処理装置２のデータアクセス部５１ｅによるアクセスの日時情報を保管しておき、直近のアクセス日時において更新がされたデータ７２のみを読み出してもよい。あるいは、外部記憶部５０の記憶部７０に格納されているデータのうち、第一階層のフォルダのフォルダ名及びこの第一階層のフォルダに格納されているファイルのファイル名のみ読み出してもよい。
【００６４】
次いで、ステップＳ１９では、情報処理装置２のデータアクセス部５１ｅから読出指示のあったデータ７２が記憶部７０から読み出されて通信部７１及び通信部５３を介して情報処理装置２に転送される。外部記憶部５０から転送されたデータ７２は、情報処理装置２の記憶部５２に一時的に保管される。
【００６５】
ステップＳ２０では、外部機器３の記憶部６１に格納されたデータ６４、情報処理装置２の記憶部５２のキャッシュ領域２７２に格納されたデータ及び外部記憶部５０の記憶部７０に格納されたデータ７２について整合性を取る処理が行われる。
【００６６】
すなわち、情報処理装置２の制御部５１は、情報処理装置２の記憶部５２のキャッシュ領域２７２に格納されたデータと外部記憶部５０の記憶部７０に格納されたデータ７２とを比較する。そして、外部機器３の記憶部６１に格納されたデータ６４と情報処理装置２の記憶部５２のキャッシュ領域２７２に格納されたデータとが等しくない場合は、情報処理装置２の制御部５１は、これら情報処理装置２の記憶部５２のキャッシュ領域２７２に格納されたデータ及び外部記憶部５０の記憶部７０に格納されたデータ７２のうち、最新のデータ、すなわち更新日時が一番新しいデータを取得する。更新日時が一番新しいデータは、情報処理装置２及び外部機器３のユーザが操作を行っていたデータのうち直近に操作を行っていた最新のデータであると推定できるので、この、更新日時が一番新しいデータを用いて記憶部５２のキャッシュ領域２７２に格納されたデータの更新を次のステップＳ２１で行う。加えて、情報処理装置２の制御部は、更新日時が一番新しいデータを用いて外部機器３の記憶部６１に格納されたデータ６４の更新も行う。
【００６７】
また、情報処理装置２の制御部５１は、外部機器３の記憶部６１に格納されたデータ６４と情報処理装置２の記憶部５２のキャッシュ領域２７２に格納されたデータ７２とを比較する。そして、外部機器３の記憶部６１に格納されたデータ６４と記憶部５２のキャッシュ領域２７２に格納されたデータ７２とが等しくない場合は、情報処理装置２の制御部５１は、これら外部機器３の記憶部６１に格納されたデータ６４及び記憶部５２のキャッシュ領域２７２に格納されたデータ７２のうち、最新のデータ、すなわち更新日時が一番新しいデータを取得する。更新日時が一番新しいデータは、情報処理装置２及び外部機器３のユーザが操作を行っていたデータのうち直近に操作を行っていた最新のデータであると推定できるので、この、更新日時が一番新しいデータを用いて情報処理装置２の記憶部５２のキャッシュ領域２７２に格納されたデータ７２の更新を次のステップＳ２１で行う。
【００６８】
ステップＳ２１では、情報処理装置２のデータアクセス指示部５１ｄが、ステップＳ２０で取得した、更新日時が一番新しいデータを用いて、データアクセス部５１ｅに対して記憶部５２のキャッシュ領域２７２に格納されたデータの更新を指示し、データアクセス部５１ｅは、データアクセス指示部５１ｄの指示に基づいて、記憶部５２のキャッシュ領域２７２に格納されたデータを更新する。
【００６９】
ステップＳ２２では、情報処理装置２のデータアクセス指示部５１ｄが、ステップＳ２０で取得した外部機器３の記憶部６１に格納されたデータ６４と外部記憶部５０の記憶部７０に格納されたデータ７２との差分を用いて、データアクセス部５１ｅに対して外部機器３の記憶部６１に格納されているデータ６４の更新を指示し、データアクセス部５１ｅは、データアクセス指示部５１ｄの指示に基づいて、外部機器３の記憶部６１に格納されているデータ６４を更新する。
【００７０】
ステップＳ２３では、情報処理装置２の操作入力部５５を介してユーザが入力したアンマウント指示に基づいて、マウント動作制御部５１ｆが外部機器３のアンマウント動作を行う。ステップＳ２４では、外部機器３の制御部６０が情報処理装置２のアンマウント動作を検出して、データの書込動作表示のみを非表示とするように表示部６２に指示する。一般的な外部機器３においては、アンマウント動作を検出するとマウント状態についても非表示状態とするが、本実施形態の情報格納システムでは、実際の情報処理装置２のマウント／アンマウント動作とデータアクセス動作とが切り離されているので、ステップＳ２３ではデータの書込動作表示のみを非表示として、マウント状態の表示はそのままにする。
【００７１】
ステップＳ２５では、情報処理装置２のデータアクセス部５１ｅが、マウント動作部５１ｂにより外部機器がアンマウント動作がされているにもかかわらず、データアクセス指示部５１ｄによる、外部機器３に対するデータの書込及び読出指示を受け入れる動作を開始する。このような動作を、以降、「仮想マウント」と称する。つまり、データアクセス指示部５１ｄから見ると、マウント動作部５１ｂにより外部機器がアンマウント動作がされているにもかかわらず、データアクセス部５１ｅの動作により、あたかも（仮想的に）外部機器３がマウント状態にあってデータの書込及び読出が可能である。
【００７２】
ステップＳ２６では、情報処理装置２のデータアクセス指示部５１ｄが、ステップＳ２０で取得した、更新日時が一番新しいデータを用いて、データアクセス部５１ｅに対して外部記憶部５０の記憶部７０に格納されたデータ７２の更新を指示し、データアクセス部５１ｅは、データアクセス指示部５１ｄの指示に基づいて、外部記憶部５０の記憶部７０に格納されたデータ７２を更新する。
【００７３】
次に、図７は、本実施形態の情報格納システム１において、情報処理装置２が外部機器３からのデータの読出を指示した際の動作を説明するためのシーケンス図である。但し、図７に示す例では、読出指示に係るデータは情報処理装置２の記憶部５２のキャッシュ領域２７２に存在するため、実際には外部機器３に対してデータの読出動作は行わない。
【００７４】
ステップＳ３０では、情報処理装置２のデータアクセス指示部５１ｄが、データアクセス部５１ｅを介して外部機器３の記憶部６１内にあるデータ６４の読み出しを指示する。ステップＳ３０では、図６のステップＳ２５で説明したように、実際には外部機器３はマウント状態にないが、データアクセス指示部５１ｄから見ると、データアクセス部５１ｅの動作により、あたかも（仮想的に）外部機器３がマウント状態にあってデータの書込及び読出が可能である。また、データアクセス指示部５１ｄは、外部機器３の記憶部６１に対してデータの書込及び読出指示を行うが、実際にデータがどこに（より詳細には外部機器３の記憶部６１、情報処理装置２の記憶部５２のキャッシュ領域２７２、外部記憶部５０の記憶部７０のいずれに）書き込まれ、また読み出されるかどうかについては関知しておらず、どこにデータを書き込み、また読み出すかについてはデータアクセス部５１ｅの動作に基づく。
【００７５】
ステップＳ３１では、データアクセス指示部５１ｄの指示に基づいて、情報処理装置２のデータアクセス部５１ｅが、データアクセス指示部５１ｄから読出指示がされたデータを情報処理装置２の記憶部５２のキャッシュ領域２７２で検索する。図７に示す例では、データアクセス指示部５１ｄから読出指示がされたデータが記憶部５２のキャッシュ領域２７２に格納されているものとする。ステップＳ３２では、データアクセス指示部５１ｄから読出指示がされたデータが記憶部５２のキャッシュ領域２７２から読み出される。
【００７６】
次に、図８は、本実施形態の情報格納システム１において、情報処理装置２が外部機器３からのデータの読出を指示した際の動作を説明するためのシーケンス図である。但し、図８に示す例では、読出指示に係るデータが情報処理装置２の記憶部５２のキャッシュ領域２７２に存在しないため、外部機器３に対してのデータの読出動作を行うことになる。
【００７７】
ステップＳ４０〜ステップＳ４１では、図７のステップＳ３０〜ステップＳ３１と同様の動作が行われる。図８に示す例では、データアクセス指示部５１ｄから読出指示がされたデータが記憶部５２のキャッシュ領域２７２に格納されていないので、ステップＳ４２では、情報処理装置２の記憶部５２のキャッシュ領域２７２には、データアクセス指示部５１ｄから読出指示がされたデータがない旨の通知が記憶部５２からされる。従って、情報処理装置２の制御部５１は、外部機器３の記憶部６１からデータ６４を読み出す作業を行う。
【００７８】
ステップＳ４３では、データアクセス指示部５１ｄによるデータ読出指示に基づいて、情報処理装置２のマウント動作制御部５１ｆがマウント動作部５１ｂに対して外部機器３のマウント動作を指示し、マウント動作部５１ｂは、マウント動作制御部５１ｆからの指示に基づいて外部機器３のマウント動作を行う。次いで、ステップＳ４４では、情報処理装置２のデータアクセス部５１ｅが、インタフェース部５４及びインタフェース部６３を介して外部機器３の記憶部６１にアクセスし、この記憶部６１に格納されているデータ６４を読み出す。ステップＳ４５では、外部機器３の制御部６０が記憶部６２にアクセスし、情報処理装置２のデータアクセス部５１ｅから読出要求のあったデータ６４を記憶部６２から読み出してこれをインタフェース部５４及びインタフェース部６３を介して情報処理装置２に転送する。
【００７９】
ステップＳ４６では、情報処理装置２のデータアクセス部５１ｅが、ステップＳ４５において外部機器３から読み出されたデータを記憶部５２のキャッシュ領域２７２に書き込むことで、このキャッシュ領域２７２に格納されたデータを更新する。そして、ステップＳ４７では、情報処理装置２のマウント動作制御部５１ｆがマウント動作部５１ｂに対して外部機器３のアンマウント動作を指示し、マウント動作部５１ｂは、マウント動作制御部５１ｆからの指示に基づいて外部機器３のアンマウント動作を行う。
【００８０】
次に、図９は、本実施形態の情報格納システム１において、情報処理装置２が外部機器３へのデータの書込を指示した際の動作を説明するためのシーケンス図である。
【００８１】
まず、ステップＳ５０では、情報処理装置２のデータアクセス指示部５１ｄがデータの書き込みを要求する。ステップＳ５１では、情報処理装置２のデータアクセス部５１ｅが記憶部５２にアクセスし、記憶部５２のキャッシュ領域２７２へのデータ書込が可能であるかどうかをチェックする。図９に示す例では、記憶部５２のキャッシュ領域２７２へのデータ書込が可能な状態であるので、ステップＳ５２では、記憶部５２のキャッシュ領域２７２へのデータ書込が可能であるとの回答が来る。そこで、ステップＳ５３では、データアクセス部５１ｅが記憶部５２のキャッシュ領域２７２にアクセスし、データアクセス指示部５１ｄから書込指示があったデータを記憶部５２のキャッシュ領域２７２に書き込む。
【００８２】
次いで、ステップＳ５４では、情報処理装置２のデータアクセス部５１ｅが、外部機器３の制御部６０に対してデータの書込動作表示を行うように指示し、ステップＳ５５では、外部機器３の制御部６０が、ステップＳ５４における情報処理装置２のデータアクセス部５１ｅからの指示に基づいて、データの書込動作表示をするように表示部６２に指示する。
【００８３】
ステップＳ５４及びこれ以降のステップを実行するタイミングはステップＳ５３が終了したら直ちに行ってもよく、あるいは、キャッシュ領域２７２に一定量のデータが格納されてからでもよく、さらには、キャッシュ領域２７２の容量が一杯になったら、あるいは一杯になることが予測される直前に行ってもよい。さらには、アプリケーション部５１ｃからのデータアクセス指示部５１ｄを介したデータの書込指示の有無にかかわらず、一定時間毎にステップＳ５４及びこれ以降のステップを実行してもよい。
【００８４】
ステップＳ５６では、データアクセス指示部５１ｄによるデータ書込指示に基づいて、情報処理装置２のマウント動作制御部５１ｆがマウント動作部５１ｂに対して外部機器３のマウント動作を指示し、マウント動作部５１ｂは、マウント動作制御部５１ｆからの指示に基づいて外部機器３のマウント動作を行う。次いで、ステップＳ５７では、情報処理装置２のデータアクセス部５１ｅが、インタフェース部５４及びインタフェース部６３を介して外部機器３の記憶部６１にアクセスし、データアクセス指示部５１ｄから書込指示があったデータを記憶部６１に書き込む。
【００８５】
なお、ステップＳ５７における外部機器３の記憶部６１へのデータ書込動作は、ステップＳ５４における外部機器３の表示部６２へのデータ書込動作表示指示から所定時間、例えば図９に示す例では３秒経過してから実施する。これは、外部機器３の表示部６２によってデータ書込動作表示がされるとほぼ同時に、ユーザにより外部機器３が情報処理装置２から強制的に取り外される等して外部機器３と情報処理装置２との間の接続が断たれた場合、データアクセス部５１ｅが書き込んでいるデータを外部機器３が確実に受信して記憶部６１に格納できているかどうかが不定になる。このため、実際にデータアクセス部５１ｅによるデータ書込動作に先立って、外部機器３の表示部６２によりデータの書込動作表示をすることで、ユーザに対して外部機器３の取り外し動作を中止させて確実にデータアクセス部５１ｅによるデータ書込動作を実行させる時間的余裕を持たせている。
【００８６】
次いで、ステップＳ５８では、情報処理装置２のデータアクセス部５１ｅが通信部５３及び通信部７１を介して外部記憶部５０の記憶部７０にアクセスし、データアクセス指示部５１ｄから書込指示があったデータをこの記憶部７０に書き込む。
【００８７】
ステップＳ５９では、情報処理装置２のマウント動作制御部５１ｆがマウント動作部５１ｂに対して外部機器３のアンマウント動作を指示し、マウント動作部５１ｂは、マウント動作制御部５１ｆからの指示に基づいて外部機器３のアンマウント動作を行う。ステップＳ６０では、情報処理装置２の制御部５１が外部機器３に対してデータの書込動作表示を非表示にするように指示し、ステップＳ６１では、外部機器３の制御部６０が、ステップＳ５１ｆにおける情報処理装置２からの指示に基づいて、データの書込動作表示を非表示にするように表示部６２に指示する。
【００８８】
次に、図１０は、本実施形態の情報格納システム１において、外部機器３が情報処理装置２から取り外された際の動作を説明するためのシーケンス図である。図１０に示す例、及び後述する図１１に示す例においては、外部機器３は情報処理装置２の操作入力部５５を用いたユーザからの明示的なアンマウント動作指示がされずに、あるいは、操作入力部５５を用いたユーザからの明示的なアンマウント動作指示があったものの実際にマウント動作部５１ｂによる外部機器３のアンマウント動作がされる前に情報処理装置２から取り外される。
【００８９】
まず、ステップＳ７０では、外部機器３の制御部６０が、この外部機器３がアンマウント動作指示等をされることなく情報処理装置２から取り外されたことを検出し、マウント状態表示の非表示を表示部６２に指示する。ステップＳ７０における制御部６０からの指示を受けて、ステップＳ７１において、表示部６２はマウント状態表示を非表示にする。
【００９０】
一方、ステップＳ７２では、情報処理装置２の外部機器接続検出部５１ａが、アンマウント動作指示等をされることなく外部機器３が情報処理装置２から取り外されたことを検出し、ステップＳ７３では、情報処理装置２のデータアクセス部５１ｅが、図６のステップＳ２５で行った仮想マウント動作を終了する。
【００９１】
次に、図１１は、本実施形態の情報格納システム１において、外部機器３が情報処理装置２から取り外された際の動作を説明するためのシーケンス図である。図１１に示す例は、図１０に示す例と異なり、情報処理装置２から外部機器３へのデータ書込動作が行われている状態で、情報処理装置２の操作入力部５５を用いたユーザからの明示的なアンマウント動作指示がされずに、あるいは、操作入力部５５を用いたユーザからの明示的なアンマウント動作指示があったものの実際にマウント動作部５１ｂによる外部機器３のアンマウント動作がされる前に外部機器３が情報処理装置２から取り外されている。
【００９２】
まず、ステップＳ８０では、情報処理装置２のデータアクセス部５１ｅが、インタフェース部５４及びインタフェース部６３を介して外部機器３の記憶部６１にアクセスし、データアクセス指示部５１ｄから書込指示があったデータを記憶部６１に書き込む。ステップＳ８１では、情報処理装置２のデータアクセス部５１ｅが通信部５３及び通信部７１を介して外部記憶部５０の記憶部７０にアクセスし、データアクセス指示部５１ｄから書込指示があったデータをこの記憶部７０に書き込む。
【００９３】
次に、ステップＳ８２〜ステップＳ８４では、図１０のステップＳ７０〜ステップＳ７２と同様の動作が行われる。ステップＳ８５では、データアクセス指示部５１ｄから書込指示があったデータを外部記憶部５０の記憶部７０に書き込む動作が終了したことが外部記憶部５０から通知され、情報処理装置２のデータアクセス部５１ｅはこのデータ書込終了通知を受信する。そして、ステップＳ８６では、このデータ書込終了通知受信を待って、情報処理装置２のデータアクセス部５１ｅが、図６のステップＳ２５で行った仮想マウント動作を終了する。
【００９４】
（一実施形態の情報格納システムの効果）
以上詳細に説明したように、本実施形態の情報格納システム１においては、データアクセス指示部５１ｄによる外部機器３へのデータ書込または読出指示があると、マウント動作制御部５１ｆがマウント動作部５１ｂに対して外部機器３のマウント動作を指示し、データアクセス部５１ｅによるデータ書込または読出が終了すると、マウント動作制御部５１ｆがマウント動作部５１ｂに対して外部機器３のアンマウント動作を指示しているので、データアクセス部５１ｅによるデータ書込または読出動作中のみ外部機器３が情報処理装置２にマウントされ、それ以外では外部機器３が情報処理装置２に接続されていても外部機器３はアンマウント状態にある。従って、仮にユーザが不用意に外部機器３を情報処理装置２から取り外しても、データ書込または読出動作中以外は外部機器３はアンマウント状態にあるので、外部機器３が情報処理装置２から取り外されても大きな問題を生じることがない。加えて、ユーザが意識せずとも、外部機器３をマウントすべき時、すなわち外部機器３へのデータ書込または読出動作時には外部機器３のマウント動作が行われ、外部機器３へのデータ書込または読出動作が終了したら外部機器３のアンマウント動作が行われるので、ユーザが煩雑な動作を行わずとも外部機器３のマウント／アンマウント動作を行うことができる。以上から、本実施形態によれば、情報処理装置２のユーザが煩雑な操作を行うことなく、情報処理装置２への外部機器３の接続及び取り外しを行うことができ、また、外部機器３へのデータ送受信を確実に行うことができる。
【００９５】
また、情報処理装置２の記憶部５２にキャッシュ領域２７２を設け、外部機器３へのデータ書込動作の際に外部機器３に書き込むべきデータをキャッシュ領域２７２にも書き込んでいるので、外部機器３の記憶部６１のデータ６４のバックアップを常にキャッシュ領域２７２に保持することができる。従って、情報処理装置２から外部機器３へのデータ書込後にこのデータに障害が生じた場合、キャッシュ領域２７２内のデータによりバックアップを行うことができる。
【００９６】
さらに、データアクセス指示部５１ｄからのデータ読出指示があった場合、読み出すべきデータがキャッシュ領域２７２にあればこのキャッシュ領域２７２からデータを読み出せばよく、データ読出のために外部機器３をマウントする回数を削減することができる。これにより、外部機器３がマウント状態にある時間をより短縮することができ、上述した、情報処理装置２のユーザが煩雑な操作を行うことなく、情報処理装置２への外部機器３の接続及び取り外しを行うことができ、また、外部機器３へのデータ送受信を確実に行うことができるという効果をさらに奏することができる。
【００９７】
また、外部機器３へのデータ書込動作の際に外部機器３に書き込むべきデータを外部記憶部５０の記憶部７０にも書き込んでいるので、外部機器３の記憶部６１のデータ６４のバックアップを常に外部記憶部５０の記憶部７０に保持することができる。従って、情報処理装置２から外部機器３へのデータ書込後にこのデータに障害が生じた場合、外部記憶部５０の記憶部７０内のデータ７２によってもバックアップを行うことができる。特に、本実施形態では、外部機器３へのデータ書込動作中にこの外部機器３が情報処理装置２から取り外されても、外部記憶部５０の記憶部７０へのデータ書込動作は継続するので、データバックアップ動作をより確実に行うことができる。加えて、データ書込動作中に外部機器３が情報処理装置２から取り外され、さらに、取り外された情報処理装置２と異なる情報処理装置２に外部機器３が接続された場合、情報処理装置２の記憶部５２のキャッシュ領域２７２にバックアップを保持していると、異なる情報処理装置２に外部機器３が接続されたときはキャッシュ領域２７２内のデータでバックアップをすることは困難であるが、外部記憶部５０の記憶部７０内のデータ７２を用いればバックアップを行うことができて利便性が非常に高まる。
【００９８】
さらに、外部機器３を情報処理装置２に接続した際に、外部機器３の記憶部６１内に格納されたデータ６４と情報処理装置２の記憶部５２のキャッシュ領域２７２内に格納されたデータと外部記憶部５０の記憶部７０に格納されたデータ７２との整合性を取ってデータ更新作業を行っているので、これらデータを常に最新の状態に維持することができる。
【００９９】
そして、データアクセス部５１ｅは、マウント動作部５１ｂによる外部機器３のマウント動作に先立って、外部機器３の表示部６２によりデータ書込動作表示を行わせているので、上述したように、ユーザに対して外部機器３の取り外し動作を中止させて確実にデータアクセス部５１ｅによるデータ書込動作を実行させる時間的余裕を持たせている。
【０１００】
（変形例）
なお、本発明の情報格納システムは、その細部が上述の一実施形態に限定されず、種々の変形例が可能である。一例として、上述の一実施形態では外部機器３はいわゆるＵＳＢフラッシュメモリであったが、ＵＳＢインタフェースにより情報処理装置２に接続可能な外部機器３であれば、この外部機器３が備える機能に限定はない。一例として、外部機器３としてＵＳＢインタフェースを備える外付けＨＤＤ（Hard Disk Drive）装置も好適に適用可能である。この場合、ＨＤＤ装置にはアクセス速度確保のためにキャッシュメモリが備えられていることがあるので、このキャッシュメモリにファイルリストや頻繁に更新される可能性があるファイルを格納しておき、情報処理装置２の記憶部５２のキャッシュ領域２７２等とのデータ整合性処理の際にはこのキャッシュメモリに格納された内容との整合性を取ればよい。
【０１０１】
そして、上述の各実施形態において、情報処理装置２を動作させるプログラムはＲＯＭ２１、内部ストレージ部２７等に格納されて提供されていたが、不図示の光学ディスクドライブ、内部ストレージインタフェース２７０、ＵＳＢインタフェース２５等を用いて、プログラムが格納されたＤＶＤ（Digital Versatile Disc）、外部機器３を含むＵＳＢフラッシュメモリ、メモリカード等を接続し、このＤＶＤ等からプログラムを情報処理装置２に読み込んで動作させてもよい。また、インターネット上の装置内にプログラムを格納しておき、ネットワークインタフェース２６を介してこのプログラムを情報処理装置２に読み込んで動作させてもよい。特に、図５に示す、外部機器３が情報処理装置２に接続された際において、情報処理装置２のＲＯＭ２１等にプログラムが存在するかどうかを確認するステップを設け、プログラムが存在しない場合は外部機器３からプログラムを導入してもよい。
【０１０２】
さらに、上述の各実施形態において、情報処理装置２は複数のハードウェア要素により構成されていたが、これらハードウェア要素の一部の動作をＣＰＵ２０がプログラムの動作により実現することも可能である。
【符号の説明】
【０１０３】
１    情報格納システム
２    情報処理装置
３    外部機器
４    ルータ
５    サーバ装置
６    インターネット
２０    ＣＰＵ
２１    ＲＯＭ
２２    ＲＡＭ
２３    入力インタフェース
２４    表示部
２５    ＵＳＢインタフェース
２６    ネットワークインタフェース
２７    内部ストレージ部
３０    制御部
３１    ＵＳＢコネクタ
３２    アクセス表示部
３３    コントローラ
３４    ＲＯＭ
３５    フラッシュメモリ部
３６    出力インタフェース
５０    外部記憶部
５１、６０    制御部
５１ａ    外部機器接続検出部
５１ｂ    マウント動作部
５１ｄ    データアクセス指示部
５１ｅ    データアクセス部
５１ｆ    マウント動作制御部
５２、６１、７０    記憶部
５３、７１    通信部
５４、６３    インタフェース部
６２    表示部
６４、７２    データ
２４０  液晶ドライバ
２４１  液晶パネル
２５０  ＵＳＢコントローラ
２５１  ＵＳＢコネクタ
２７０  内部ストレージインタフェース
２７１  内部ストレージ
２７２  キャッシュ領域
【図１】
2015035144.tif 000003
【図２】
2015035144.tif 000004
【図３】
2015035144.tif 000005
【図４】
2015035144.tif 000006
【図５】
2015035144.tif 000007
【図６】
2015035144.tif 000008
【図７】
2015035144.tif 000009
【図８】
2015035144.tif 000010
【図９】
2015035144.tif 000011
【図１０】
2015035144.tif 000012
【図１１】
2015035144.tif 000013