説明

情報処理装置、およびプログラム

【課題】ファイルの移動やコピーにかかる時間を短くすることができる情報処理装置を提供する。
【解決手段】常駐モジュール72は、OS70からデータの移動元またはコピー元の選択操作を検出した場合、対象データを読み出して、所定の場所に書き込みを開始する。その後、常駐モジュール72は、OS70からのデータの移動先またはコピー先の指示操作がなされた場合、データの移動先またはコピー先と同じボリュームの所定の場所から、データの移動先またはコピー先にデータの移動を行う。同じボリューム内でのデータ移動は、ファイルシステムの管理領域の書き換えだけで実現することができ、改めて書き込み処理を行う必要はなく、時間がかかることがない。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、データの移動やコピーを行う情報処理装置およびプログラムに関する。
【背景技術】
【0002】
近年、パーソナルコンピュータ(以下、PCと言う。)等の情報処理装置では、データの移動やコピーを行うことが多い。データの移動やコピーを支援する手法としては、例えば特許文献1に示されているようなものがある。
【0003】
特許文献1の方法では、一度「コピー」コマンドが実行されると、クリップボードにコピーされた内容を保持し続け、過去に「コピー」コマンドが実行されたものの中から、「貼り付け」となる対象データを選択することができるようになっている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2001−243483公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
一方、PCでは、内蔵ドライブのボリュームや外付けドライブのボリューム等、複数の異なるボリューム間でファイルの移動またはコピーを行う場合がある。この場合、移動先またはコピー先のボリュームにファイルを書き込む処理が発生する。あるいは同じボリューム内にファイルをコピーする場合であっても、当該ファイルを書き込む処理が発生する。そのため、書き込み先のボリュームに対する書き込み性能に応じた書き込み処理時間がかかる。
【0006】
そこで、この発明は、ファイルの移動やコピーにかかる時間を短くすることができる情報処理装置、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の情報処理装置は、記憶装置からデータを読み出し、前記記憶装置へのデータの書き込みを制御する制御部と、ユーザの操作を受け付ける受付部と、を備えた情報処理装置であって、前記制御部は、前記受付部でデータの移動先またはデータのコピー先を指定する操作を受け付けるタイミングよりも前に、当該データを読み出して所定の場所に書き込む事前書き込み処理を行うことを特徴とする。
【0008】
制御部は、例えば、ファイルの移動元の指定操作(例えばWindows(登録商標)では「切り取り」コマンドの実行、CTRL+Xのキー入力等)またはファイルのコピー元の指定操作(例えば「コピー」コマンドの実行、CTRL+Cのキー入力等)がなされた時点で対象ファイルを読み出して、所定の場所に書き込む事前書き込み処理を開始する。また、制御部は、例えば、ファイル操作アプリケーションでユーザがファイルを選択する操作を行った場合等、ファイルの移動またはコピーが行われると予測できる場合には、その段階で当該ファイルを読み出し、所定の場所に書き込む事前書き込み処理を開始する。また、制御部は、移動元またはコピー元のファイルが存在するディレクトリ(フォルダ)が選択された時点で、当該ディレクトリ(フォルダ)に含まれるファイルを読み出し、所定の場所に書き込む事前書き込み処理を開始してもよい。このように、ユーザがファイルの移動先またはコピー先の指定操作を行うよりも前に当該ファイルを所定の場所に書き込む事前書き込み処理を行うことで、ユーザの待ち時間を短くすることができる。
【0009】
そして、制御部は、実際にファイルの移動先またはコピー先の指定操作(「貼り付け」コマンドの実行、CTRL+Vのキー入力等)がなされた場合に、ファイルの移動先またはコピー先と同じボリュームの所定の場所から、ファイルの移動先またはコピー先に、事前書き込み処理で書き込んだ当該ファイルを移動する。同じボリューム内でのファイル移動は、ファイルシステムの管理領域の書き換えだけで実現することができ、改めてファイル書き込み処理を行う必要はなく、時間がかかることがない。
【0010】
なお、所定の場所は、ボリュームが1つである場合には、同じボリューム内の別のディレクトリ(フォルダ)となる。ボリュームが複数存在する場合には、移動元またはコピー元のファイルが存在するボリュームとは異なるボリュームに設けてもよいし、移動元またはコピー元のファイルが存在するボリュームを含むいずれかのボリュームもしくは全てのボリュームに設けてもよい。
【0011】
なお、仮に、ファイルの移動先またはコピー先と同じボリュームに所定の場所が設定されておらず、ファイルの移動先またはコピー先と異なるボリュームに所定の場所が設けられていた場合には、既に事前書き込み処理で書き込まれた当該ファイルを、ファイルの移動先またはコピー先に指定された場所に移動を行ってもよい。ファイルの移動元またはコピー元のボリュームに対する読み出し性能が低く、所定の場所が設けられているボリュームに対する読み出し性能が高い場合には、より高速な読み出し性能を示すボリュームも読み出し元にすることができるため、ファイルの移動先またはコピー先と異なるボリュームに所定の場所が設けられていた場合であっても、ファイルの移動やコピーにかかる時間を短くすることができる。
【発明の効果】
【0012】
この発明によれば、ファイルの移動やコピーにかかる時間を短くすることができる。
【図面の簡単な説明】
【0013】
【図1】情報処理装置のハードウェア構成を示すブロック図である。
【図2】情報処理装置のソフトウェア構成を示す機能ブロック図である。
【図3】常駐モジュールの動作を示すフローチャートである。
【図4】常駐モジュールの動作を示すフローチャートである(図3の続き)。
【図5】ファイルコピーモジュールの動作を示すフローチャートである。
【発明を実施するための形態】
【0014】
図1は、本実施形態のハードウェア構成を示すブロック図である。本実施形態は、PC1および外付けドライブのボリューム2からなる。
【0015】
PC1は、USBインタフェース(I/F)51、制御部52、内蔵ドライブのボリューム53、およびユーザI/F54を備えている。ボリューム2の外付けドライブは、USBI/F51を介してPC1と接続されている。ボリューム2の外付けドライブは、HDD、SSD、DVD−RAM等の読み書き可能な記憶デバイスである。ボリューム53の内蔵ドライブは、HDDやSSD等の記憶デバイスである。
【0016】
制御部52は、CPUやメモリ(RAM)を内蔵し、内蔵ドライブのボリューム53に記憶されているプログラムを読み出し、内蔵メモリに展開することで種々の動作を行う。本実施形態では、PC1のOSとしてWindows(登録商標)を使用する場合について説明する。
【0017】
制御部52は、マウスやキーボード等からなるユーザI/F54を介してユーザ操作を受け付けることより、本発明の受付部を実現する。制御部52は、受け付けたユーザの操作に応じて、内蔵ドライブのボリューム53からファイルを読み出して外付けドライブのボリューム2に書き込む、または外付けドライブのボリューム2からファイルを読み出して内蔵ドライブのボリューム53に書き込む処理を行う。
【0018】
通常、これらの書き込み処理は、ユーザがファイルの「切り取り」コマンドを実行、CTRL+Xのキー入力、「コピー」コマンドの実行、またはCTRL+Cのキー入力がなされた後、「貼り付け」コマンドの実行、またはCTRL+Vのキー入力が行われた時点で開始される。あるいは、ユーザがファイルのドラッグ操作を行い、ドロップ操作が完了した時点で書き込み処理が開始される。このため、書き込み処理を開始してから完了するまでは、外付けドライブのボリューム2または内蔵ドライブのボリューム53の性能に応じた処理時間がかかることになる。
【0019】
本実施形態は、このようなファイルの移動またはコピーにおいて、ユーザの待ち時間を短くすることができる。
【0020】
図2は、本実施形態に係るソフトウェアの構成を示す機能ブロック図である。図2に示すように、本実施形態は、OS70、Windows(登録商標)に標準搭載されているアプリケーションプログラムのエクスプローラ7、エクスプローラ7のプラグイン(シェルエクステンション)のファイルコピーモジュール71、常駐モジュール72、およびWindows(登録商標)に標準搭載され、PC1内で一時的にデータを保存できる共有メモリ領域であるクリップボード73を備えている。
【0021】
本実施形態では、ファイルコピーモジュール71をエクスプローラ7のプラグイン(シェルエクステンション)として実施しているが、専用のアプリケーションプログラム等、他の形態で実施してもよい。
【0022】
ファイルコピーモジュール71および常駐モジュール72は、OS70からAPI等のインタフェースを介してファイルのドラッグ操作およびドロップ操作を検出する。
【0023】
また、常駐モジュール72は、クリップボード73を定期的(例えば1秒毎)に監視する。常駐モジュール72は、ファイルの「切り取り」コマンドの実行、CTRL+Xのキー入力、「コピー」コマンドの実行、またはCTRL+Cのキー入力がなされた場合に、該当ファイルの格納先(ファイルパス)をクリップボード73にて取得することができる。常駐モジュール72は、クリップボード73のファイルパスが更新された場合に、上記ファイルの「切り取り」コマンドの実行、CTRL+Xのキー入力、「コピー」コマンドの実行、またはCTRL+Cのキー入力がなされたと判断する。
【0024】
以下、本実施形態では、ファイルの移動元またはコピー元の指定操作を「コピー元指定処理」と称する。また、ファイルの移動先またはコピー先の指定操作を「ファイルコピー開始処理」と称する。なお、コピー元指定処理は、「切り取り」コマンドの実行、CTRL+Xのキー入力、「コピー」コマンドの実行、CTRL+Cのキー入力、ドラッグ操作等である。ファイルコピー開始処理は、「貼り付け」コマンドの実行、CTRL+Vのキー入力、ドロップ操作等である。
【0025】
常駐モジュール72は、コピー元指定処理を検出すると、当該ファイルを読み出し、所定の場所に書き込む事前書き込み処理を行う。図1では、例えば内蔵ドライブのボリューム53に格納されているファイルについて、コピー元指定処理を検出すると、当該ファイルを外付けドライブのボリューム2の特定のフォルダ(例えば常駐モジュール72が予め作成したテンポラリーフォルダ)にコピーする。もしくは、常駐モジュール72は、外付けドライブのボリューム2に格納されているファイルについて、コピー元指定処理を検出した場合、当該ファイルを内蔵ドライブのボリューム53の特定のフォルダ(例えば常駐モジュール72が予め作成したテンポラリーフォルダ)にコピーする。
【0026】
つまり、通常は、ファイルコピー開始処理が行われた時点で開始されるコピー処理を、本実施形態の常駐モジュール72は、コピー元指定処理を検出した時点で行う。これにより、ファイルコピー開始処理がなされる前に、既に外付けドライブのボリューム2にファイルがコピーされた状態となる。あるいは、既に内蔵ドライブのボリューム53にファイルがコピーされた状態となる。
【0027】
そして、ファイルコピー開始処理が行われると、常駐モジュール72は、テンポラリーフォルダにコピー済のファイルを、ファイルコピー開始処理の移動先またはコピー先に移動させる。このような同じボリューム内でのファイル移動は、ファイルシステムの管理領域の書き換えだけで実現することができ、改めて、外付けドライブのボリューム2、あるいは内蔵ドライブのボリューム53にファイル書き込み処理を行う必要はない。したがって、ファイルコピー開始処理を行うと、即座にファイルコピーの処理が完了することになる。
【0028】
次に、図3乃至図5のフローチャートを参照して、上記動作について詳細に説明する。図3および図4は、常駐モジュール72の動作を示すフローチャートであり、図5は、ファイルコピーモジュール71の動作を示すフローチャートである。
【0029】
常駐モジュール72は、コピー元指定処理を検出するまで待機する(S11)。コピー元指定処理の検出は、上述のように、クリップボード73の監視やOS70からのドラッグ操作の通知によって行われる。
【0030】
常駐モジュール72は、コピー元指定処理を検出すると、クリップボード73に保存されているファイルパスの取得もしくは、OS70から通知されるAPIによって得られるファイルパスにより、移動元またはコピー元のファイルパスを取得し(S12)、仮コピー先を決定する(S13)。本実施形態では、内蔵ドライブのボリューム53に移動元またはコピー元ファイルが存在し、外付けドライブのボリューム2のテンポラリーフォルダを仮コピー先とする。仮コピー先としたボリュームにテンポラリーフォルダが存在しない場合には、この仮コピー先を決定する処理(S13)で作成する。
【0031】
次に、常駐モジュール72は、S12で取得した移動元またはコピー元のファイルパスに基づいて、当該ファイルをテンポラリーフォルダにコピーする動作を開始する(S14)。なお、コピー元指定処理では、1つのファイルだけでなく、複数のファイルが同時に選択される場合がある。その場合、常駐モジュール72は、取得した移動元またはコピー元ファイルパスに基づいて、当該ファイル全てをテンポラリーフォルダにコピーする動作を開始する。
【0032】
そして、常駐モジュール72は、コピー元指定処理で選択されたファイル全てのテンポラリーフォルダへのコピーが完了したかを確認する(S15)。常駐モジュール72は、当該ファイル全てのテンポラリーフォルダへのコピーが完了したと判断した場合、図4に示すようにコピー動作を終了し(S21)、ファイルコピーモジュール71からのファイルコピー開始通知が有ったか否かを確認する(S22)。
【0033】
このファイルコピー開始通知には、移動元またはコピー元および移動先またはコピー先のファイルパスの情報が含まれている。常駐モジュール72は、移動先またはコピー先のファイルパスのボリュームと仮コピー先のボリュームが同じボリュームを示しているか否かを確認する(S23)。常駐モジュール72は、移動先またはコピー先のファイルパスのボリュームと仮コピー先のボリュームが同じボリュームを示していると判断した場合、仮コピー先のコピー済ファイルを、ファイルコピー開始通知に含まれている移動先またはコピー先に移動させる処理を行い(S24)、先頭の処理(S11)に戻る。
【0034】
また、常駐モジュール72は、図3のS15の処理において、コピー元指定処理で選択されたファイル全てのテンポラリーフォルダへのコピーが完了していないと判断し、かつファイルコピー開始通知が有った場合(S16:Yes)、テンポラリーフォルダへのコピー処理中のファイルのコピーが完了した後に、コピー動作を中断する(S17)。そして、常駐モジュール72は、ファイルコピー開始通知に含まれている移動先またはコピー先のファイルパスのボリュームと仮コピー先のボリュームが同じボリュームを示しているか否かを確認し(S23)、移動先またはコピー先のファイルパスのボリュームと仮コピー先のボリュームが同じボリュームを示していると判断した場合、仮コピー先にコピー済のファイルについて、移動先またはコピー先に移動させる処理を行い(S24)、先頭の処理(S11)に戻る。なお、コピー元指定処理で選択され、常駐モジュール72で移動またはコピーされていないファイルについては、ファイルコピーモジュール71で処理する。
【0035】
また、常駐モジュール72は、図3のS15の処理において、コピー元指定処理で選択されたファイル全てのテンポラリーフォルダへのコピーが完了していない状況において、ファイルコピー開始通知がなかった場合(S16:No)、ファイルの移動またはコピーがキャンセルされたか否かを確認する(S18)。常駐モジュール72は、例えばクリップボードのファイルパスが更新された場合や、ドラッグ&ドロップの操作が中止された場合(同じフォルダ内でドロップされた場合)にファイルの移動またはコピーがキャンセルされたと判断する。
常駐モジュール72は、ファイルの移動またはコピーがキャンセルされていないと判断した場合、S15の判断から処理を繰り返す。ファイルの移動またはコピーがキャンセルされたと判断した場合、図4に示すように、ファイルコピー動作を中断し(S26)、仮コピー先のコピー済ファイルを削除する(S27)。
【0036】
また、常駐モジュール72は、S22の判断において、ファイルコピー開始通知がなかったと判断した場合についても、ファイルの移動またはコピーがキャンセルされたか否かを確認する(S25)。常駐モジュール72は、ファイルの移動またはコピーがキャンセルされていないと判断した場合、S22の判断から処理を繰り返し、ファイルの移動またはコピーがキャンセルされたと判断した場合、仮コピー先のコピー済ファイルを削除する(S27)。
【0037】
また、常駐モジュール72は、S23の判断において、ファイルコピー開始通知に含まれる移動先またはコピー先のファイルパスのボリュームと仮コピー先のボリュームが同じボリュームを示していなかった場合も、仮コピー先のコピー済ファイルを削除する(S27)。
【0038】
なお、S18またはS25において、クリップボード73のファイルパスが更新されてファイルの移動またはコピーがキャンセルされた場合は、常駐モジュール72は、S11でコピー元指定処理が有ったと判断することになり、新たに取得された移動元またはコピー元のファイルパスの当該ファイルをテンポラリーフォルダにコピーする処理を開始する。
【0039】
次に、図5において、ファイルコピーモジュール71の動作について説明する。ファイルコピーモジュール71は、ファイルコピー開始処理が行われると図5に示す動作を開始する。
【0040】
ファイルコピーモジュール71は、ファイルコピー開始処理が行われると、移動元またはコピー元および移動先またはコピー先のファイルパスを取得し(S31)、常駐モジュール72にファイルコピー開始通知を行う(S32)。
【0041】
そして、ファイルコピーモジュール71は、常駐モジュール72に処理中のファイルがあるか否かを問い合わせる(S33)。常駐モジュール72は、仮コピー先にコピー処理中のファイルがある場合、処理中ファイル「あり」を返信し、コピー中のファイルがなければ処理中ファイル「なし」を返信する。
【0042】
ファイルコピーモジュール71は、常駐モジュール72から処理中ファイル「あり」を受信した場合、ユーザに「事前書き込み終了処理中」等の待機表示を行い(S34)、処理が終了するまで待機する(S33の判断に戻る)。
【0043】
一方、ファイルコピーモジュール71は、常駐モジュール72から処理中ファイル「なし」を受信した場合、常駐モジュール72に、ファイルコピー開始通知に含まれる移動先またはコピー先に、仮コピー先からファイルを移動させたか否かを問い合わせる(S35)。コピー元指定処理で選択されたファイル全てを、仮コピー先から、移動先またはコピー先に移動した旨の返信が常駐モジュール72からあった場合、ファイルコピーモジュール71は、動作を終了する。仮コピー先から、移動先またはコピー先に移動したファイルが無い旨の返信が常駐モジュール72からあった場合、ファイルコピーモジュール71は、通常コピー処理を行う(S36)。つまり、移動元またはコピー元のファイルパスからファイルを読み出し、移動先またはコピー先のファイルパスにファイルを書き込む処理を行う。
【0044】
また、コピー元指定処理で選択されたファイルの一部だけ、仮コピー先から、移動先またはコピー先に移動が完了し、コピー元指定処理で選択されたファイル全ての移動またはコピーが完了していない旨の返信が常駐モジュール72からあった場合、ファイルコピーモジュール71は、コピー元指定処理で選択されたファイルのうち、常駐モジュール72で仮コピー先から、移動先またはコピー先に移動されていないファイルについて、通常コピー処理を行う(S37)。
【0045】
以上のようにして、本実施形態に示した情報処理装置では、ユーザがファイルコピー開始処理を行う前に、移動先またはコピー先のボリュームにファイルの書き込み処理が開始されているため、ファイルの移動やコピーにかかる時間を短くすることができる。コピー元指定処理で選択されたファイル全てが、テンポラリーフォルダに書き込まれている場合には、ユーザがファイルコピー開始処理を行った時点で、即座に移動またはコピー処理が完了し、コピー元指定処理で選択された一部のファイルがテンポラリーフォルダに書き込まれている場合にも、書き込み済みのファイルについては即座に移動またはコピー処理が完了する。
【0046】
なお、本実施形態では,内蔵ドライブのボリューム53に移動元またはコピー元のファイルが存在し、外付けドライブのボリューム2のテンポラリーフォルダを仮コピー先としたが、外付けドライブのボリュームに移動元またはコピー元ファイルが存在する場合には、内蔵ドライブのボリュームのテンポラリーフォルダを仮コピー先とすればよい。
【0047】
また、本実施形態に限らず、外付けドライブが存在せず、内蔵ドライブのみでボリュームが1つだけの場合もある。ボリュームが1つだけ場合は、内蔵ドライブのボリュームにテンポラリーフォルダを作成して、コピー元指定処理で選択されたファイルをテンポラリーフォルダにコピーする。なお、テンポラリーフォルダにコピーを行うのは、コピー元指定処理が、「コピー」コマンドの実行、CTRL+Cのキー入力、CTRLキーを押しながらのドラッグ操作等、コピー元指定操作によって行われた場合に限定してもよい。
【0048】
また、外付けドライブが存在しない場合でも、内蔵ドライブのボリュームが複数存在する場合もある。また、内蔵ドライブのボリュームが1つであり、外付けドライブのボリュームが複数存在する場合もある。あるいは、内蔵ドライブのボリュームが複数存在し、かつ外付けドライブのボリュームが複数存在する場合、等がある。
これらの場合は、以下のようにして仮コピー先のボリュームを決定してもよい。
(1)ファイルの移動元またはコピー元のファイルパスが属するボリューム以外の全てのボリュームのテンポラリーフォルダを仮コピー先とする。
(2)ファイルの移動元またはコピー元のファイルパスが属するボリュームを含む全てのボリュームのテンポラリーフォルダを仮コピー先とする。
このうち、上記(2)のファイルの移動元またはコピー元のファイルパスの属するボリュームのテンポラリーフォルダへのコピーは、コピー元指定操作によってコピー元指定処理が行われた場合に限定して行い、移動元指定処理が行われた場合は行わないようにしてもよい。
【0049】
(3)特定のメーカ製のドライブのボリュームだけを仮コピー先とする。
(4)I/Fの種類に応じて優先順位を規定する。
例えば、USBを介して接続されたドライブのボリュームと、eSATAを介して接続されたドライブのボリュームが存在する場合、どちらかのドライブのボリュームを優先して仮コピー先とする。また、USB2.0とUSB3.0のように、同じUSB規格であっても速度が異なるI/Fを介して接続された複数のドライブのボリュームが存在する場合、どちらかのドライブのボリュームを優先して仮コピー先とする。
また、例えば、ファイルの移動元またはコピー元のファイルパスがホットプラグに対応していないドライブのボリュームを示している場合、ホットプラグに対応しているドライブのボリュームのテンポラリーフォルダを仮コピー先とする。また、ファイルの移動元またはコピー元のファイルパスがホットプラグに対応しているドライブのボリュームを示している場合、ホットプラグに対応していないボリュームのテンポラリーフォルダを仮コピー先とする。
【0050】
(5)デバイスの種別に応じて優先順位を規定する。
例えば、HDD、およびフラッシュメモリからなる外付けドライブのボリュームが接続されている場合どちらかのドライブのボリュームを優先して仮コピー先とする。
(6)ユーザが予め専用の設定ユーティリティを用いて優先順位の設定をできるようにする。
なお、上記(1)乃至(6)の手法は、いずれか1つだけ用いてもよいし、組み合わせ可能な場合には複数の手法を組み合わせて用いてもよい。
【0051】
また、ユーザが予め専用の設定ユーティリティを用いて手動で仮コピー先となるボリュームを指定できるようにしてもよいし、仮コピー先のフォルダを指定できるようにしてもよい。
【0052】
本実施形態では、コピー元指定処理を、「切り取り」コマンドの実行、CTRL+Xのキー入力、「コピー」コマンドの実行、CTRL+Cのキー入力、ドラッグ操作等としているが、ファイル操作アプリケーションの使用等、ファイルの選択が行われた時点で、ファイルの移動またはコピーが行われることが予測できる場合は、ファイルの選択処理をコピー元指定処理としてテンポラリーフォルダにコピーを開始してもよい。また、操作対象ファイルが存在するディレクトリ(フォルダ)を選択した時点で、ディレクトリ(フォルダ)の選択処理をコピー元指定処理として、当該ディレクトリ(カレントディレクトリ)のファイルをテンポラリーフォルダにコピーを開始してもよい。
【0053】
本実施形態では、移動先またはコピー先のボリュームはファイルコピー開始処理の時点で確定し、コピー元指定処理検出の時点では確定していない。しかし、コピー元指定処理検出の時点で移動先またはコピー先ボリュームを予測することができれば、より効率的にコピーを行うことができる。そこで、例えばWindows(登録商標)では、ファイルを選択するときにマウスの右クリックを行うと「メニュー」が表示され、「切り取り」や「コピー」の項目が表示されるが、この「メニュー」の中にボリュームを選択する項目を追加しておく態様も可能である。例えば「高速コピー」という名称の項目を追加し、当該項目を選択するとボリューム一覧が表示され、ボリュームを選択することができるようにしておく。そして、ユーザがボリュームを選択すると、「コピー」の項目が選択された場合と同じ扱いとして、コピー元指定処理の検出を行い、指定されたボリュームのテンポラリーフォルダを仮コピー先とする。なお、この場合、ボリュームを選択した時点で即座にダイアログボックスを表示し、当該ダイアログボックス内に選択したボリュームのフォルダ一覧を表示して、ユーザが実際にコピーするフォルダを選択できるようにしてもよい。
【0054】
本実施形態では、常駐モジュール72が、ファイルコピー開始通知を受けた時のコピー処理を完了してから、事前書き込み処理の中断を行うとしているが、ファイルコピー開始通知に含まれる、ファイル移動先またはコピー先のボリュームと異なるボリュームのテンポラリーフォルダへのコピーは、即時、中止してもよい。
【0055】
本実施形態では、コピー元指定処理のファイルパスのファイル全てを、仮コピー先にコピーするまで事前書き込み処理を継続する(ファイルコピー開始通知が有った場合やキャンセル処理があった場合を除く)例を示したが、当該ファイル全てを仮コピー先にコピーしなくてもよい。仮コピー先にコピーするファイルのサイズ(データ容量)が大きくなり、処理時間が長くなるとPCや記憶装置の負荷が高くなる。そこで、例えば、仮コピー先にコピーするファイルのサイズ(データ容量)に上限を設け、コピーしたデータの容量が当該上限に達した時点でさらなるファイルのコピーは実行しないようにしてもよい。あるいは、処理時間に上限を設け、仮コピー先にコピーを開始してからの経過時間が、当該処理時間の上限に達した時点でさらなるファイルのコピーは実行しないようにしてもよい。なお、ユーザがユーティリティを用いて、容量の上限や処理時間の上限によるファイルコピーの制限を行うか否かを指定できるようにしてもよい。
【0056】
本実施形態では、ファイルコピーモジュール71で行う通常コピー(S36)は、移動元またはコピー元からファイルを読み出し、移動先またはコピー先にファイルを書き込む、通常のコピー処理としているが、移動先またはコピー先のボリュームと仮コピー先のボリュームが異なる場合に、S27にて仮コピー先のコピー済みファイルの削除は行わないようにして、仮コピー先から移動先またはコピー先にファイルをコピーし、当該ファイルコピーの終了後、仮コピー先のファイルを削除するようにしてもよい。ファイルの移動元またはコピー元のボリュームに対する読み出し性能が低く、仮コピー先が設けられているボリュームに対する読み出し性能が高い場合には、より高速な読み出し性能を示すボリュームも読み出し元にすることができるため、ファイルの移動やコピーにかかる時間を短くすることができる。
【0057】
なお、本実施形態では、OSとしてWindows(登録商標)について説明したが、他のOS(例えばUNIX(登録商標)ベースのOS等)であっても本発明の情報処理装置を実現することが可能である。
【符号の説明】
【0058】
1…PC
2…外付けドライブのボリューム
51…USBI/F
52…制御部
53…内蔵ドライブのボリューム
54…ユーザI/F
70…OS
7…エクスプローラ
71…ファイルコピーモジュール
72…常駐モジュール
73…クリップボード

【特許請求の範囲】
【請求項1】
記憶装置からデータを読み出し、前記記憶装置へのデータの書き込みを制御する制御部と、
ユーザの操作を受け付ける受付部と、
を備えた情報処理装置であって、
前記制御部は、前記受付部でデータの移動先またはデータのコピー先を指定する操作を受け付けるタイミングよりも前に、当該データを読み出して所定の場所に書き込む事前書き込み処理を行うことを特徴とする情報処理装置。
【請求項2】
前記制御部は、前記受付部でデータの移動元またはデータのコピー元を指定する操作を受け付けた場合に、前記事前書き込み処理を行うことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記制御部は、前記受付部でデータを選択する操作を受け付けた場合に、その後データの移動またはデータのコピーが開始されると予測して、当該データを読み出して前記事前書き込み処理を行うことを特徴とする請求項1に記載の情報処理装置。
【請求項4】
前記制御部は、前記受付部でデータの移動先またはデータのコピー先を指定する操作を受け付けた場合に、前記事前書き込み処理で書き込んだデータを、前記所定の場所から、前記受け付けた前記データの移動先または前記データのコピー先に移動させる移動処理を行うことを特徴とする請求項1乃至請求項3のいずれかに記載の情報処理装置。
【請求項5】
情報処理装置に実行されるプログラムであって、
データの移動先またはデータのコピー先を指定する操作を受け付けるタイミングよりも前に、当該データを読み出して所定の場所に書き込む事前書き込み処理を、前記情報処理装置に実行させることを特徴とするプログラム。
【請求項6】
データの移動元またはデータのコピー元を指定する操作を受け付けた場合に、前記事前書き込み処理を前記情報処理装置に実行させることを特徴とする請求項5に記載のプログラム。
【請求項7】
データを選択する操作を受け付けた場合に、その後データの移動またはデータのコピーが開始されると予測して、当該データを読み出して前記事前書き込み処理を前記情報処理装置に実行させることを特徴とする請求項5に記載のプログラム。
【請求項8】
データの移動先またはデータのコピー先を指定する操作を受け付けた場合に、前記事前書き込み処理で書き込んだデータを、前記所定の場所から、前記受け付けた前記データの移動先または前記データのコピー先に移動させる移動処理を、前記情報処理装置に実行させることを特徴とする請求項5乃至請求項7のいずれかに記載のプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2013−114551(P2013−114551A)
【公開日】平成25年6月10日(2013.6.10)
【国際特許分類】
【出願番号】特願2011−261773(P2011−261773)
【出願日】平成23年11月30日(2011.11.30)
【特許番号】特許第4940380号(P4940380)
【特許公報発行日】平成24年5月30日(2012.5.30)
【出願人】(307017291)株式会社メディアロジック (6)