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

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

Info

Publication number
WO2013080368A1
WO2013080368A1 PCT/JP2011/077894 JP2011077894W WO2013080368A1 WO 2013080368 A1 WO2013080368 A1 WO 2013080368A1 JP 2011077894 W JP2011077894 W JP 2011077894W WO 2013080368 A1 WO2013080368 A1 WO 2013080368A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
copy
file
destination
volume
Prior art date
Application number
PCT/JP2011/077894
Other languages
English (en)
French (fr)
Inventor
浦圭希
豊田満
紙井秀之
Original Assignee
株式会社メディアロジック
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 株式会社メディアロジック filed Critical 株式会社メディアロジック
Priority to CN201180075249.3A priority Critical patent/CN103975311B/zh
Priority to EP11876838.1A priority patent/EP2787445A4/en
Priority to US14/359,095 priority patent/US20140337595A1/en
Publication of WO2013080368A1 publication Critical patent/WO2013080368A1/ja

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

Definitions

  • the present invention relates to an information processing apparatus and program for moving and copying data.
  • a file may be moved or copied between different volumes such as a volume of an internal drive or a volume of an external drive.
  • a process of writing a file to the migration destination or copy destination volume occurs.
  • processing for writing the file occurs. For this reason, it takes a writing process time corresponding to the writing performance for the writing destination volume.
  • an object of the present invention is to provide an information processing apparatus and a program that can shorten the time taken to move and copy a file.
  • An information processing apparatus of the present invention is an information processing apparatus including a control unit that reads data from a storage device and controls writing of data to the storage device, and a reception unit that receives a user operation, The control unit performs a pre-write process of reading the data and writing the data in a predetermined location before the timing at which the reception unit receives an operation for designating a data movement destination or a data copy destination.
  • the control unit for example, performs a file move source designation operation (for example, “cut” command execution in Windows (registered trademark), CTRL + X key input, etc.) or a file copy source designation operation (eg, “copy” command execution). , CTRL + C key input, etc.), the pre-write process of reading the target file and writing it in a predetermined location is started.
  • a file move source designation operation for example, “cut” command execution in Windows (registered trademark), CTRL + X key input, etc.
  • a file copy source designation operation eg, “copy” command execution”.
  • the control unit reads a file included in the directory (folder) and starts a pre-write process for writing to a predetermined location. May be.
  • the user's waiting time can be shortened by performing the pre-write process for writing the file to a predetermined location before the user performs the operation of specifying the file move destination or the copy destination.
  • the control unit has the same volume as the file move destination or copy destination.
  • the file written by the pre-writing process is moved from a predetermined location to the destination or copy destination of the file.
  • the file movement within the same volume can be realized only by rewriting the management area of the file system, and it is not necessary to perform the file writing process again and it does not take time.
  • the predetermined location is another directory (folder) in the same volume when there is one volume. If there are multiple volumes, they may be provided on a volume different from the volume in which the migration source or copy source file exists, or any volume or all of the volumes including the volume in which the migration source or copy source file exists It may be provided in the volume.
  • a predetermined location is not set in the same volume as the file move destination or copy destination and a predetermined location is provided in a volume different from the file move destination or copy destination, the file is already stored in advance.
  • the file written in the writing process may be moved to a location designated as the file move destination or copy destination. If the read performance for a volume that is a file source or copy source is low and the read performance for a volume that has a predetermined location is high, a volume that shows faster read performance can be used as the read source. Even when a predetermined location is provided in a volume different from the file transfer destination or copy destination, the time required for file transfer or copy can be shortened.
  • FIG. 1 is a block diagram showing a hardware configuration of the present embodiment. This embodiment includes a PC 1 and a volume 2 of an external drive.
  • the PC 1 includes a USB interface (I / F) 51, a control unit 52, a volume 53 of a built-in drive, and a user I / F 54.
  • the external drive of the volume 2 is connected to the PC 1 via the USB I / F 51.
  • the external drive of volume 2 is a readable / writable storage device such as an HDD, SSD, DVD-RAM or the like.
  • the internal drive of the volume 53 is a storage device such as an HDD or an SSD.
  • the control unit 52 incorporates a CPU and memory (RAM), reads out a program stored in the volume 53 of the internal drive, and performs various operations by developing it in the internal memory.
  • RAM random access memory
  • Windows registered trademark
  • the control unit 52 realizes the reception unit of the present invention by receiving a user operation via the user I / F 54 including a mouse, a keyboard, and the like.
  • the control unit 52 reads the file from the volume 53 of the internal drive and writes it to the volume 2 of the external drive or reads the file from the volume 2 of the external drive in accordance with the received user operation. Process to write to.
  • these write processes are performed by a user executing a “cut” command of a file, a CTRL + X key input, a “copy” command, or a CTRL + C key input, and then executing a “paste” command, or It starts when the CTRL + V key is entered.
  • the writing process is started when the user performs a drag operation of the file and the drop operation is completed. For this reason, it takes a processing time corresponding to the performance of the volume 2 of the external drive or the volume 53 of the internal drive from the start to the completion of the writing process.
  • This embodiment can shorten the waiting time of the user in moving or copying such a file.
  • FIG. 2 is a functional block diagram showing the configuration of software according to the present embodiment.
  • the present embodiment includes an OS 70, an application program Explorer 7 installed in Windows (registered trademark) as a standard, a plug-in (shell extension) file copy module 71, a resident module 72, And a clipboard 73 that is a standard memory memory and a shared memory area that can temporarily store data in the PC 1.
  • the file copy module 71 is implemented as a plug-in (shell extension) of the explorer 7, but may be implemented in other forms such as a dedicated application program.
  • the file copy module 71 and the resident module 72 detect a drag operation and a drop operation of a file from the OS 70 via an interface such as an API.
  • the resident module 72 monitors the clipboard 73 periodically (for example, every second).
  • the resident module 72 stores the file storage location (file path) in the clipboard 73 when a “cut” command for a file, a CTRL + X key input, a “copy” command, or a CTRL + C key input is performed. Can be obtained.
  • the resident module 72 determines that the “cut” command of the file, the CTRL + X key input, the “copy” command, or the CTRL + C key input has been performed.
  • a file move source or copy source designation operation is referred to as “copy source designation processing”.
  • file copy start processing the operation of specifying a file move destination or copy destination.
  • the copy source designation process includes execution of a “cut” command, CTRL + X key input, execution of a “copy” command, CTRL + C key input, a drag operation, and the like.
  • the file copy start process includes execution of a “paste” command, CTRL + V key input, drop operation, and the like.
  • the resident module 72 When the resident module 72 detects the copy source designation process, the resident module 72 reads the file and performs a pre-write process for writing it in a predetermined location.
  • the file In FIG. 1, for example, when a copy source designation process is detected for a file stored in the volume 53 of the internal drive, the file is stored in a specific folder in the volume 2 of the external drive (for example, a temporary folder created in advance by the resident module 72). ).
  • the resident module 72 detects a copy source designation process for a file stored in the volume 2 of the external drive, the resident module 72 creates a specific folder (for example, created in advance by the resident module 72 in the volume 53 of the internal drive). To the temporary folder).
  • the resident module 72 of this embodiment performs the copy process that starts when the file copy start process is performed, when the copy source designation process is detected.
  • the file has already been copied to the volume 2 of the external drive.
  • the file has already been copied to the volume 53 of the internal drive.
  • the resident module 72 moves the file that has been copied to the temporary folder to the move destination or the copy destination of the file copy start process.
  • file movement within the same volume can be realized only by rewriting the management area of the file system, and it is necessary to perform file writing processing on the volume 2 of the external drive or the volume 53 of the internal drive again. Absent. Therefore, when the file copy start process is performed, the file copy process is immediately completed.
  • FIGS. 3 and 4 are flowcharts showing the operation of the resident module 72
  • FIG. 5 is a flowchart showing the operation of the file copy module 71.
  • the resident module 72 waits until a copy source designation process is detected (S11). As described above, the copy source designation processing is detected by monitoring the clipboard 73 or notifying the drag operation from the OS 70.
  • the resident module 72 When the resident module 72 detects the copy source designation process, the resident module 72 acquires the file path of the movement source or the copy source by acquiring the file path stored in the clipboard 73 or the file path obtained by the API notified from the OS 70. (S12) A temporary copy destination is determined (S13). In this embodiment, the migration source or copy source file exists in the volume 53 of the internal drive, and the temporary folder in the volume 2 of the external drive is set as the temporary copy destination. If the temporary folder does not exist in the temporary copy destination volume, the temporary copy destination is created in the process of determining the temporary copy destination (S13).
  • the resident module 72 starts an operation of copying the file to the temporary folder based on the file path of the migration source or copy source acquired in S12 (S14).
  • the copy source designation process not only one file but also a plurality of files may be selected at the same time. In that case, the resident module 72 starts an operation of copying all of the files to the temporary folder based on the acquired migration source or copy source file path.
  • the resident module 72 confirms whether or not copying of all the files selected in the copy source designating process to the temporary folder is completed (S15). If the resident module 72 determines that all the files have been copied to the temporary folder, the resident module 72 terminates the copy operation as shown in FIG. 4 (S21), and there is a file copy start notification from the file copy module 71. It is confirmed whether or not (S22).
  • This file copy start notification includes information on the file path of the move source or copy source and the move destination or copy destination.
  • the resident module 72 checks whether the volume of the file path of the migration destination or copy destination and the volume of the temporary copy destination indicate the same volume (S23). When the resident module 72 determines that the volume of the file path of the migration destination or copy destination and the volume of the temporary copy destination indicate the same volume, the copied file of the temporary copy destination is included in the file copy start notification. A process of moving to the current destination or copy destination is performed (S24), and the process returns to the first process (S11).
  • the resident module 72 determines in the process of S15 of FIG. 3 that the copying of all the files selected in the copy source designation process has not been completed, and there is a file copy start notification. (S16: Yes), the copying operation is interrupted after the copying of the file being copied to the temporary folder is completed (S17). Then, the resident module 72 checks whether the volume of the migration destination or copy destination file path and the temporary copy destination volume included in the file copy start notification indicate the same volume (S23). Alternatively, if it is determined that the volume of the copy destination file path and the temporary copy destination volume indicate the same volume, a process of moving the file that has been copied to the temporary copy destination to the transfer destination or copy destination is performed (S24). The process returns to the top process (S11). Note that a file selected by the copy source designation process and not moved or copied by the resident module 72 is processed by the file copy module 71.
  • the resident module 72 does not receive a file copy start notification in a situation where all the files selected in the copy source designation process have not been copied to the temporary folder (S16: No), it is confirmed whether or not the file move or copy is canceled (S18).
  • the resident module 72 determines that the file movement or copy has been canceled, for example, when the file path of the clipboard has been updated, or when the drag and drop operation has been stopped (when dropped in the same folder). If the resident module 72 determines that the file move or copy has not been cancelled, the resident module 72 repeats the processing from the determination in S15. If it is determined that the file move or copy has been cancelled, as shown in FIG. 4, the file copy operation is interrupted (S26), and the copied file at the temporary copy destination is deleted (S27).
  • the resident module 72 confirms whether or not the file move or copy is canceled even when it is determined in S22 that there is no file copy start notification (S25). If the resident module 72 determines that the file move or copy has not been canceled, it repeats the process from the determination in S22, and if it determines that the file move or copy has been cancelled, deletes the copied file at the temporary copy destination. (S27).
  • the resident module 72 also determines that the temporary copy destination volume even if the migration destination or copy destination file path volume included in the file copy start notification and the temporary copy destination volume do not indicate the same volume in the determination of S23.
  • the copied file is deleted (S27).
  • the file copy module 71 starts the operation shown in FIG. 5 when the file copy start process is performed.
  • the file copy module 71 acquires the file path of the transfer source or copy source and the transfer destination or copy destination (S31), and notifies the resident module 72 of the file copy start (S32).
  • the file copy module 71 inquires of the resident module 72 whether there is a file being processed (S33).
  • the resident module 72 replies with a file being processed “Yes” if there is a file being copied at the temporary copy destination, and returns a file “No” being processed when there is no file being copied.
  • the file copy module 71 When the file copy module 71 receives the file being processed “Yes” from the resident module 72, the file copy module 71 displays a standby display such as “Pre-write end processing in progress” to the user (S 34), and waits until the processing ends (S 33). Return to judgment).
  • a standby display such as “Pre-write end processing in progress” to the user (S 34), and waits until the processing ends (S 33). Return to judgment).
  • the file copy module 71 when the file copy module 71 receives the file “None” being processed from the resident module 72, the file copy module 71 moves the file from the temporary copy destination to the move destination or copy destination included in the file copy start notification. An inquiry is made as to whether or not (S35). If the resident module 72 replies that all the files selected in the copy source designation process have been moved from the temporary copy destination to the move destination or copy destination, the file copy module 71 ends the operation. If the resident module 72 replies that there is no file moved from the temporary copy destination to the move destination or copy destination, the file copy module 71 performs normal copy processing (S36). That is, a process of reading a file from the file path of the movement source or the copy source and writing the file to the file path of the movement destination or the copy destination is performed.
  • S36 normal copy processing
  • the file write process is started on the migration destination or copy destination volume before the user performs the file copy start process. And the time required for copying can be shortened. If all the files selected in the copy source specification process have been written to the temporary folder, the move or copy process is immediately completed when the user performs the file copy start process. Even when some of the selected files are written in the temporary folder, the moved or copied process is immediately completed for the written files.
  • the file of the migration source or the copy source exists in the volume 53 of the internal drive and the temporary folder of the volume 2 of the external drive is set as the temporary copy destination. If a copy source file exists, a temporary folder in the volume of the internal drive may be used as a temporary copy destination.
  • the present invention is not limited to this embodiment, and there is a case where there is no external drive and there is only one volume with only an internal drive. If there is only one volume, a temporary folder is created in the volume of the internal drive, and the file selected in the copy source designation process is copied to the temporary folder. Copying to the temporary folder is limited to the case where the copy source designation process is performed by a copy source designation operation such as execution of a “copy” command, key input of CTRL + C, drag operation while pressing the CTRL key, or the like. May be.
  • the temporary copy destination volume may be determined as follows. (1) Temporary copy destinations are temporary folders of all volumes other than the volume to which the file path of the file move source or copy source belongs. (2) Temporary copy destinations of all volumes including the volume to which the file path of the file move source or copy source belongs are set as temporary copy destinations.
  • copying to the temporary folder of the volume to which the file path of the file (2) above or the file path of the copy source belongs is performed only when the copy source designation processing is performed by the copy source designation operation, and the migration is performed. If the original designation process is performed, it may not be performed.
  • the priority order is defined according to the type of I / F. For example, if there is a volume of a drive connected via USB and a volume of a drive connected via eSATA, the volume of either drive is given priority as a temporary copy destination. If there are multiple drive volumes connected via I / F with different speeds, such as USB 2.0 and USB 3.0, priority is given to the volume of either drive. As a temporary copy destination. For example, if the file path of the file move source or copy source indicates a volume of a drive that does not support hot plug, the temporary folder of the volume of the drive that supports hot plug is used as the temporary copy destination. . If the file path of the file source or copy source indicates a volume of a drive that supports hot plugging, a temporary folder of a volume that does not support hot plugging is used as a temporary copy destination.
  • the priority order is defined according to the device type. For example, when a volume of an external drive composed of an HDD and a flash memory is connected, the volume of either drive is preferentially set as a temporary copy destination. (6) The user can set the priority order in advance using a dedicated setting utility. Note that only one of the methods (1) to (6) may be used, or a plurality of methods may be used in combination when possible.
  • the user may be able to manually specify a temporary copy destination volume in advance using a dedicated setting utility, or may be able to specify a temporary copy destination folder.
  • the copy source designation processing is executed as “cut” command execution, CTRL + X key input, “copy” command execution, CTRL + C key input, drag operation, and the like. If it can be predicted that the file will be moved or copied at the time of selection, the file selection process may be used as a copy source designation process to start copying to the temporary folder. Also, when the directory (folder) in which the operation target file exists is selected, the directory (folder) selection process is set as the copy source specifying process, and copying of the file in the directory (current directory) to the temporary folder is started. Good.
  • the migration destination or copy destination volume is determined at the time of file copy start processing, and is not determined at the time of detection of copy source designation processing.
  • the migration destination or copy destination volume can be predicted at the time of detecting the copy source designation process, the copy can be performed more efficiently. Therefore, for example, in Windows (registered trademark), when a file is selected, a menu is displayed by right-clicking the mouse, and items such as “Cut” and “Copy” are displayed. It is also possible to add an item for selecting a volume. For example, an item named “high speed copy” is added, and when the item is selected, a volume list is displayed so that a volume can be selected.
  • the copy source designation process is detected in the same manner as when the “copy” item is selected, and the temporary folder of the designated volume is set as a temporary copy destination.
  • a dialog box is displayed immediately, and a folder list of the selected volume is displayed in the dialog box so that the user can select a folder to actually copy.
  • the resident module 72 suspends the pre-write process after completing the copy process when the file copy start notification is received. Copying to a temporary folder in a volume different from the copy destination volume may be stopped immediately.
  • the pre-write process is continued until all files in the file path of the copy source designation process are copied to the temporary copy destination (except when there is a file copy start notification or there is a cancel process).
  • it is not necessary to copy all the files to the temporary copy destination. If the size (data capacity) of the file to be copied to the temporary copy destination increases and the processing time increases, the load on the PC and storage device increases. Therefore, for example, an upper limit may be set for the size (data capacity) of a file to be copied to the temporary copy destination, and further file copying may not be executed when the capacity of the copied data reaches the upper limit.
  • an upper limit may be set for the processing time, and further file copying may not be executed when the elapsed time from the start of copying to the temporary copy destination reaches the upper limit of the processing time.
  • the user may be able to specify whether or not to limit file copying based on the upper limit of capacity or the upper limit of processing time using a utility.
  • the normal copy (S36) performed by the file copy module 71 is a normal copy process in which a file is read from the movement source or the copy source and written to the movement destination or the copy destination. If the destination volume and the temporary copy destination volume are different, copy the file from the temporary copy destination to the migration destination or the copy destination without deleting the copied file at the temporary copy destination in S27, and the file After completion of copying, the temporary copy destination file may be deleted. If the read performance for a volume that is a file migration source or copy source is low and the read performance for a volume that has a temporary copy destination is high, a volume that shows faster read performance can be used as the read source. , The time taken to move and copy files can be shortened.
  • Windows registered trademark
  • the information processing apparatus of the present invention can be realized even with another OS (for example, a UNIX (registered trademark) -based OS). It is.

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からのデータの移動先またはコピー先の指示操作がなされた場合、データの移動先またはコピー先と同じボリュームの所定の場所から、データの移動先またはコピー先にデータの移動を行う。同じボリューム内でのデータ移動は、ファイルシステムの管理領域の書き換えだけで実現することができ、改めて書き込み処理を行う必要はなく、時間がかかることがない。

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のいずれかに記載のプログラム。
PCT/JP2011/077894 2011-11-30 2011-12-02 情報処理装置、およびプログラム WO2013080368A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201180075249.3A CN103975311B (zh) 2011-11-30 2011-12-02 信息处理装置和信息处理方法
EP11876838.1A EP2787445A4 (en) 2011-11-30 2011-12-02 INFORMATION PROCESSING DEVICE AND PROGRAM
US14/359,095 US20140337595A1 (en) 2011-11-30 2011-12-02 Information processing apparatus, and information processing method

Applications Claiming Priority (2)

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

Publications (1)

Publication Number Publication Date
WO2013080368A1 true WO2013080368A1 (ja) 2013-06-06

Family

ID=46395343

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/077894 WO2013080368A1 (ja) 2011-11-30 2011-12-02 情報処理装置、およびプログラム

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)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6177217B2 (ja) 2014-11-05 2017-08-09 日精樹脂工業株式会社 型締装置
JP7192206B2 (ja) 2017-11-02 2022-12-20 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム
JP6815342B2 (ja) * 2018-02-28 2021-01-20 株式会社日立製作所 計算機システム及びストレージ装置
KR102203648B1 (ko) * 2018-03-20 2021-01-15 미쓰비시덴키 가부시키가이샤 정보 처리 장치, 방법, 및 프로그램
US11775670B2 (en) * 2021-04-15 2023-10-03 Proofpoint, Inc. System and method for light data file duplication prevention

Citations (6)

* 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 記憶装置のファイル管理方式
JPH1091497A (ja) * 1996-09-12 1998-04-10 Nec Software Ltd ファイル先読みシステムおよび方法
JP2000047917A (ja) * 1998-07-28 2000-02-18 Nec Corp ファイル管理方法及びファイルシステム
JP2001243483A (ja) 2000-02-28 2001-09-07 Ricoh Co Ltd 編集方法及びそのプログラムを記録した記録媒体
JP2005122602A (ja) * 2003-10-20 2005-05-12 Internatl Business Mach Corp <Ibm> キャッシュシステム、情報処理システム、キャッシュ方法、プログラム、及び記録媒体
JP2009140954A (ja) * 2007-12-03 2009-06-25 Hitachi Kokusai Electric Inc 半導体製造装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
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
US6295051B1 (en) * 1999-06-02 2001-09-25 International Business Machines Corporation Intelligent boundless computer mouse system
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
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 株式会社日立製作所 情報処理システムおよび管理装置
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 株式会社バッファロー ファイル管理装置およびファイル管理方法

Patent Citations (6)

* 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 記憶装置のファイル管理方式
JPH1091497A (ja) * 1996-09-12 1998-04-10 Nec Software Ltd ファイル先読みシステムおよび方法
JP2000047917A (ja) * 1998-07-28 2000-02-18 Nec Corp ファイル管理方法及びファイルシステム
JP2001243483A (ja) 2000-02-28 2001-09-07 Ricoh Co Ltd 編集方法及びそのプログラムを記録した記録媒体
JP2005122602A (ja) * 2003-10-20 2005-05-12 Internatl Business Mach Corp <Ibm> キャッシュシステム、情報処理システム、キャッシュ方法、プログラム、及び記録媒体
JP2009140954A (ja) * 2007-12-03 2009-06-25 Hitachi Kokusai Electric Inc 半導体製造装置

Also Published As

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

Similar Documents

Publication Publication Date Title
JP5955870B2 (ja) 仮想ディスクの最適圧縮のための方法、コンピュータ可読記憶媒体及びシステム
JP5901698B2 (ja) メモリ管理方法
KR101781447B1 (ko) 시스템 리셋
JP4940380B1 (ja) 情報処理装置、およびプログラム
US10712910B2 (en) Electronics apparatus, method for executing application, and computer-readable recording medium
JP5391153B2 (ja) ファイル管理装置およびファイル管理方法
US9164919B2 (en) Method and apparatus for inputting/outputting virtual operating system from removable storage device on a host using virtualization technique
CN101996109A (zh) 计算机系统及其控制方法和存储计算机程序的记录介质
US9268692B1 (en) User selectable caching
US11176089B2 (en) Systems and methods for implementing dynamic file systems
JP5477097B2 (ja) アプリケーション移行システム、移行支援装置、コンピュータ、アプリケーション移行方法、ファイル移行方法、およびコンピュータプログラム
JP5952612B2 (ja) 情報処理装置、情報処理方法、およびプログラム
JP6319829B2 (ja) データ配置装置及びデータ配置方法
US9665582B2 (en) Software, systems, and methods for enhanced replication within virtual machine environments
JP5178319B2 (ja) アプリケーションプラットフォーム
KR101618516B1 (ko) 백업 및 복원시스템
EP2096545A2 (en) Method and apparatus for managing the copying of data
JP6940768B2 (ja) テスト制御プログラム、テスト制御装置及びテスト制御方法
KR20150065512A (ko) 텍스트 선택 방법
JP2006031152A (ja) バックアップ保存処理装置、バックアップ保存処理方法、バックアップ保存処理プログラム、及び記録媒体
JP2020149229A (ja) 重複排除装置、重複排除方法、プログラム及び記録媒体
JP2011221570A (ja) データ移行システム、及び、データ移行方法
JP2012042997A (ja) 情報処理装置、プログラム、およびリンク作成方法
US20090319492A1 (en) Apparatus processing user generated data and method of controlling the apparatus
JP2009205189A (ja) フォルダ管理方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11876838

Country of ref document: EP

Kind code of ref document: A1

REEP Request for entry into the european phase

Ref document number: 2011876838

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 14359095

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE