JP2013114551A - 情報処理装置、およびプログラム - Google Patents

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

Info

Publication number
JP2013114551A
JP2013114551A JP2011261773A JP2011261773A JP2013114551A JP 2013114551 A JP2013114551 A JP 2013114551A JP 2011261773 A JP2011261773 A JP 2011261773A JP 2011261773 A JP2011261773 A JP 2011261773A JP 2013114551 A JP2013114551 A JP 2013114551A
Authority
JP
Japan
Prior art keywords
data
copy
file
destination
volume
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
JP2011261773A
Other languages
English (en)
Other versions
JP4940380B1 (ja
Inventor
Yoshiki Ura
圭希 浦
Mitsuru Toyoda
満 豊田
Hideyuki Kamii
秀之 紙井
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.)
Media Logic Corp
Original Assignee
Media Logic Corp
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 Media Logic Corp filed Critical Media Logic Corp
Priority to JP2011261773A priority Critical patent/JP4940380B1/ja
Priority to EP11876838.1A priority patent/EP2787445A4/en
Priority to PCT/JP2011/077894 priority patent/WO2013080368A1/ja
Priority to US14/359,095 priority patent/US20140337595A1/en
Priority to CN201180075249.3A priority patent/CN103975311B/zh
Application granted granted Critical
Publication of JP4940380B1 publication Critical patent/JP4940380B1/ja
Publication of JP2013114551A publication Critical patent/JP2013114551A/ja
Active 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/184Distributed file systems implemented as replicated file system
    • 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
    • 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/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • 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
    • 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/0683Plurality of storage devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

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

Description

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

Claims (8)

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

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2011261773A JP4940380B1 (ja) 2011-11-30 2011-11-30 情報処理装置、およびプログラム
EP11876838.1A EP2787445A4 (en) 2011-11-30 2011-12-02 INFORMATION PROCESSING DEVICE AND PROGRAM
PCT/JP2011/077894 WO2013080368A1 (ja) 2011-11-30 2011-12-02 情報処理装置、およびプログラム
US14/359,095 US20140337595A1 (en) 2011-11-30 2011-12-02 Information processing apparatus, and information processing method
CN201180075249.3A CN103975311B (zh) 2011-11-30 2011-12-02 信息处理装置和信息处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011261773A JP4940380B1 (ja) 2011-11-30 2011-11-30 情報処理装置、およびプログラム

Publications (2)

Publication Number Publication Date
JP4940380B1 JP4940380B1 (ja) 2012-05-30
JP2013114551A true JP2013114551A (ja) 2013-06-10

Family

ID=46395343

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011261773A Active JP4940380B1 (ja) 2011-11-30 2011-11-30 情報処理装置、およびプログラム

Country Status (5)

Country Link
US (1) US20140337595A1 (ja)
EP (1) EP2787445A4 (ja)
JP (1) JP4940380B1 (ja)
CN (1) CN103975311B (ja)
WO (1) WO2013080368A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9738021B2 (en) 2014-11-05 2017-08-22 Nissei Plastic Industrial Co. Ltd. Horizontal mold clamping mechanism
JP2019149077A (ja) * 2018-02-28 2019-09-05 株式会社日立製作所 計算機システム及びストレージ装置
JP7392788B2 (ja) 2017-11-02 2023-12-06 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111868687B (zh) * 2018-03-20 2021-09-17 三菱电机株式会社 信息处理装置、方法及程序
US11775670B2 (en) * 2021-04-15 2023-10-03 Proofpoint, Inc. System and method for light data file duplication prevention

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0728677A (ja) * 1993-07-09 1995-01-31 Hitachi Ltd 記憶装置のファイル管理方式
US5606681A (en) * 1994-03-02 1997-02-25 Eec Systems, Inc. Method and device implementing software virtual disk in computer RAM that uses a cache of IRPs to increase system performance
DE69535580T2 (de) * 1994-12-13 2007-12-06 Microsoft Corp., Redmond Datenaustausch mit erweiterten Zwischenablage-Datenformaten
US5805809A (en) * 1995-04-26 1998-09-08 Shiva Corporation Installable performance accelerator for maintaining a local cache storing data residing on a server computer
US5857072A (en) * 1996-04-30 1999-01-05 Sprint Communications Co. L.P. System and method for distributing data simultaneously to multiple computers on a network, with advanced notice to intended recipients
JP3043631B2 (ja) * 1996-09-12 2000-05-22 日本電気ソフトウェア株式会社 ファイル先読みシステムおよび方法
US6012083A (en) * 1996-09-24 2000-01-04 Ricoh Company Ltd. Method and apparatus for document processing using agents to process transactions created based on document content
US6055572A (en) * 1998-01-20 2000-04-25 Netscape Communications Corporation System and method for creating pathfiles for use to predict patterns of web surfaces
US6842876B2 (en) * 1998-04-14 2005-01-11 Fuji Xerox Co., Ltd. Document cache replacement policy for automatically generating groups of documents based on similarity of content
JP2000047917A (ja) * 1998-07-28 2000-02-18 Nec Corp ファイル管理方法及びファイルシステム
US6295051B1 (en) * 1999-06-02 2001-09-25 International Business Machines Corporation Intelligent boundless computer mouse system
JP2001243483A (ja) * 2000-02-28 2001-09-07 Ricoh Co Ltd 編集方法及びそのプログラムを記録した記録媒体
US6477622B1 (en) * 2000-09-26 2002-11-05 Sun Microsystems, Inc. Simplified writeback handling
KR100497376B1 (ko) * 2002-12-24 2005-06-28 삼성전자주식회사 다중클립보드 실행장치 및 다중클립보드 실행방법
US20040193759A1 (en) * 2003-03-31 2004-09-30 Scott Roger M. Method and system for providing a smart card scripting tool
JP2005122602A (ja) * 2003-10-20 2005-05-12 Internatl Business Mach Corp <Ibm> キャッシュシステム、情報処理システム、キャッシュ方法、プログラム、及び記録媒体
US7814554B1 (en) * 2003-11-06 2010-10-12 Gary Dean Ragner Dynamic associative storage security for long-term memory storage devices
JP4568502B2 (ja) * 2004-01-09 2010-10-27 株式会社日立製作所 情報処理システムおよび管理装置
JP2009140954A (ja) * 2007-12-03 2009-06-25 Hitachi Kokusai Electric Inc 半導体製造装置
US7865468B2 (en) * 2008-02-29 2011-01-04 International Business Machines Corporation Prefetching remote files on local disk space
US20100153968A1 (en) * 2008-12-11 2010-06-17 Christof Engel External rendering of clipboard data
JP5451095B2 (ja) * 2009-02-02 2014-03-26 キヤノン株式会社 情報処理装置およびその制御方法
JP5391153B2 (ja) * 2010-06-01 2014-01-15 株式会社バッファロー ファイル管理装置およびファイル管理方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9738021B2 (en) 2014-11-05 2017-08-22 Nissei Plastic Industrial Co. Ltd. Horizontal mold clamping mechanism
JP7392788B2 (ja) 2017-11-02 2023-12-06 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム
JP2019149077A (ja) * 2018-02-28 2019-09-05 株式会社日立製作所 計算機システム及びストレージ装置

Also Published As

Publication number Publication date
CN103975311B (zh) 2017-04-26
WO2013080368A1 (ja) 2013-06-06
US20140337595A1 (en) 2014-11-13
JP4940380B1 (ja) 2012-05-30
EP2787445A4 (en) 2015-07-29
CN103975311A (zh) 2014-08-06
EP2787445A1 (en) 2014-10-08

Similar Documents

Publication Publication Date Title
JP5901698B2 (ja) メモリ管理方法
JP5955870B2 (ja) 仮想ディスクの最適圧縮のための方法、コンピュータ可読記憶媒体及びシステム
KR101781447B1 (ko) 시스템 리셋
JP4940380B1 (ja) 情報処理装置、およびプログラム
US10127241B2 (en) Information processing apparatus, method for controlling the same, and storage medium therefor
US10712910B2 (en) Electronics apparatus, method for executing application, and computer-readable recording medium
JP5391153B2 (ja) ファイル管理装置およびファイル管理方法
US8966142B2 (en) Method and apparatus for inputting/outputting virtual operating system from removable storage device on a host using virtualization technique
US9099022B2 (en) Information processing apparatus, screen display method, and non-transitory computer-readable medium
WO2018000300A1 (zh) 一种电子设备的数据操作方法及电子设备
CN101996109A (zh) 计算机系统及其控制方法和存储计算机程序的记录介质
US9268692B1 (en) User selectable caching
JP6319829B2 (ja) データ配置装置及びデータ配置方法
JP5952612B2 (ja) 情報処理装置、情報処理方法、およびプログラム
JP5477097B2 (ja) アプリケーション移行システム、移行支援装置、コンピュータ、アプリケーション移行方法、ファイル移行方法、およびコンピュータプログラム
US20170357657A1 (en) Systems and methods for implementing dynamic file systems
JP5178319B2 (ja) アプリケーションプラットフォーム
JP2005216201A (ja) ジョブ処理システム
KR101618516B1 (ko) 백업 및 복원시스템
JP6776675B2 (ja) 電子機器およびプログラム
EP2096545A2 (en) Method and apparatus for managing the copying of data
JP6940768B2 (ja) テスト制御プログラム、テスト制御装置及びテスト制御方法
US10592085B2 (en) Information processing apparatus, control method thereof and recording medium
KR20150065512A (ko) 텍스트 선택 방법
JP2006031152A (ja) バックアップ保存処理装置、バックアップ保存処理方法、バックアップ保存処理プログラム、及び記録媒体

Legal Events

Date Code Title Description
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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120227

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

Free format text: PAYMENT UNTIL: 20150302

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4940380

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250