EP1513065B1 - File system and file transfer method between file sharing devices - Google Patents
File system and file transfer method between file sharing devices Download PDFInfo
- Publication number
- EP1513065B1 EP1513065B1 EP04254969A EP04254969A EP1513065B1 EP 1513065 B1 EP1513065 B1 EP 1513065B1 EP 04254969 A EP04254969 A EP 04254969A EP 04254969 A EP04254969 A EP 04254969A EP 1513065 B1 EP1513065 B1 EP 1513065B1
- Authority
- EP
- European Patent Office
- Prior art keywords
- file
- information
- files
- transfer
- path
- 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.)
- Expired - Lifetime
Links
- 238000012546 transfer Methods 0.000 title claims description 219
- 238000000034 method Methods 0.000 title claims description 23
- 238000012545 processing Methods 0.000 claims description 43
- 230000006870 function Effects 0.000 description 51
- 238000004891 communication Methods 0.000 description 8
- 230000001419 dependent effect Effects 0.000 description 7
- 238000004590 computer program Methods 0.000 description 5
- 241001362551 Samba Species 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 238000013508 migration Methods 0.000 description 3
- 230000005012 migration Effects 0.000 description 3
- 230000002457 bidirectional effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000008521 reorganization Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
Definitions
- the present invention relates to a file system that employs a file server, NAS (Network Attached Storage), for example, and to a method for transferring files between file sharing devices.
- NAS Network Attached Storage
- a file server In order to share data between a plurality of computer terminals distributed on a network, a file server has conventionally been used.
- a file server that implements a file sharing protocol such as CIFS (Common Internet File System), NFS (Network File System; NFS is a registered trademark or trademark of U.S. Sun Microsystems, Inc.) in a general-purpose OS (Operating System), for example, is known.
- NAS which employs a dedicated OS that is specialized for file sharing services and supports a plurality of file sharing protocols (such as CIFS, NFS, DAFS (Direct Access File System)), is known as an enhanced file server.
- These file servers are capable of managing access rights by setting permission information.
- NFS When NFS is used, for example, settings to allow three types of users such as 'owner', 'group' and 'other' to perform the reading of files, writing to file and file execution can be made.
- CIFS when CIFS is used, for example, access control that differs from user to user can be performed for the same file by using access control information known as 'ACL' (Access Control List).
- 'ACL' Access Control List
- a variety of methods for transferring files from a transfer source file server to a transfer destination file server are known. For example, there exist methods that make a backup of files stored in the transfer source file server by using a backup device such as a tape device, and then restore the backup data in the transfer destination file server, for example. In this case, the directory structure of the transfer source is backed up together with attribute information (e.g. as described in "Modern Operating Systems", TANENBAUM, Prentice Hall 2001, at page 386) that includes access control information, and this directory structure and attribute information are restored in their entirety in the transfer destination device.
- attribute information e.g. as described in "Modern Operating Systems", TANENBAUM, Prentice Hall 2001, at page 386
- attribute information e.g. as described in "Modern Operating Systems", TANENBAUM, Prentice Hall 2001, at page 386
- attribute information e.g. as described in "Modern Operating Systems", TANENBAUM, Prentice Hall 2001, at page 386
- the storage structure can also be transferred in its entirety by making a complete backup of the files of the transfer source file server, metadata, and the directory structure, and then restoring same in the transfer destination file server.
- US 5, 832, 274 discloses a method for migrating a file system and access rights associated with the file system from a first network operating system to a second network operating system, specifically using the tape backup function modified to communicate information across the network to the second environment.
- US 2003/110237A discloses a data migration system for migrating data between an existing file server apparatus and a new file server apparatus in a computer system that includes a plurality of host computers and a plurality of file server apparatuses that are mutually connected to one another.
- the data migration system on the new file server apparatus copies file attributes unique to the network attached storage (NFS) and file attributes unique to the common internet file system (CIFS) from the existing file server apparatus, and stores the file attributes without changing the file attributes in the new file server apparatus. Then actual data is moved from the existing file server to the new file server.
- NFS network attached storage
- CIFS common internet file system
- a '/folder' directory exists below a directory '/share' ('/share/folder').
- the /folder' is sometimes automatically placed below a '/current' directory under '/share' at the request of the file management system.
- the difference in the actual directory structure is not recognized by the client.
- a different OS resource sharing program installed on the transfer destination file server serves to display the /folder' on the client by concealing the actual difference in directory structure.
- 'Samba' is a known example of a program that permits resource sharing (file exchange) between these different types of OS.
- US 2002/055942A discloses tools and techniques for distinguishing a file from any or all copies of the file that may exist.
- a data file automatic conversion device such as that appearing in the Japanese Patent Application Laid-Open No. 2000-347907 , merely changes a predefined data file from one format to another.
- the directory structure and metadata are not considered.
- the rules for converting the data files must be predefined and the constitution is complex.
- a multiplicity of files in various formats exists in a variety of locations within a complex hierarchical storage structure and each have different metadata, and it is therefore difficult to transfer these files [and metadata] accurately.
- the present invention was conceived in view of the above problems, and one embodiment of the present invention provides a file sharing system that makes it possible to specify the files that are transferred. Another embodiment of the present invention provides a file sharing system and method for transferring files between file sharing devices that are capable of automatically specifying transferred files and resetting attribute information. Further, other embodiment of the present invention provides a file sharing system that makes it possible to specify files even when a plurality of files of the same type and with the same name exists at the transfer destination. Further objects of the present invention will become evident from the description of the embodiment described subsequently.
- the file sharing system comprises: A file sharing system, comprising: a transfer source file sharing device having a first operating system; a transfer destination file sharing device having a second operating system and which is communicably connected to said transfer source file sharing device; selecting means for selecting at least one or more files kept in the transfer source file sharing device; file examining means for acquiring characteristic information on the selected file(s); file transferring means for transferring the selected file(s) and said characteristic information to the transfer destination file sharing device, wherein: the system is arranged to transfer characteristic information in a separate file to the file(s) to which the characteristic information relates; and the second operating system is different to said first operating system, characterised in that:
- the transfer source file sharing device and transfer destination file sharing device can be constituted as file servers (including NAS).
- the transfer source file sharing device and transfer destination file sharing device have their storage resources managed, store a multiplicity of files, and are capable of providing file sharing services to a multiplicity of clients.
- the transfer source file sharing device and transfer destination file sharing device are connected so that bidirectional data communications via a LAN (Local Area Network), for example, are possible. Further, the file sharing device may be connected to a storage device via a SAN (Storage Area Network).
- LAN Local Area Network
- SAN Storage Area Network
- the user selects, via the selecting means, at least one or more files (including directories) that are kept on the transfer source file sharing device.
- the characteristic information acquiring means acquire characteristic information for the selected file(s).
- characteristic information is information indicating the characteristics of the selected file(s), and is used in order to search for the selected file (s). Examples of characteristic information can include the file name, file path information, the file size, the file update date and time, for example. Further, a message digest can also be used as described below.
- Files selected by the selecting means are shifted to the transfer destination file sharing device by the file transfer means.
- the file specifying means specify files by seeking out transferred files from within a file group kept in the transfer destination file sharing device based on characteristic information generated beforehand. Therefore, even when files are transferred between different OS, transferred files can be specified on the basis of characteristic information.
- the characteristic information acquiring means comprise attribute resetting means that acquire characteristic information including predetermined attribute information relating to the selected file(s) and associate the predetermined attribute information included in the characteristic information with the file(s) specified by the file specifying means.
- predetermined attribute information examples include ACL or other access control information.
- the attribute resetting means reset predetermined attribute information for the specified file.
- Examples of identity information indicating a file identity can include a message digest rendered by using a hash function.
- a hash function generates a pseudorandom number of a fixed length from the supplied original data.
- a value generated by a hash function is known as a 'hash value' or 'message digest'. If original data are different, the respective hash values are also different, and hence the file content identity can be certified according to the hash values.
- a file can be specified more accurately by including identity information such as a hash value in the characteristic information of the file.
- the file specifying means attempt file specification by means of other attribute information being the file name, file size, update date or time.
- other attribute information being the file name, file size, update date or time.
- the file specifying means specify the file by calculating identity information (a hash value) for a plurality of retrieved candidate files and comparing this information with identity information included in the characteristic information.
- the file specifying means specify a file by focusing on file path information. That is, the file specifying means specify the file by determining the similarities between file path information prior to the transfer and file path information following the transfer.
- the path information located at the top of the directory structure possesses properties that are dependent on the system (OS), and path information located at the bottom of the directory structure possesses properties dependent on the user.
- OS system
- path information located at the bottom of the directory structure possesses properties dependent on the user.
- the user suitably sets a directory with a name that is easy for him/her to understand in a storage region that he or she is able to use in order to perform proprietary file management. Therefore, the file can be specified by analyzing the similarity with an emphasis on the lower-order information of the file path information, for example.
- the method for transferring files between file sharing devices comprises the steps of: selecting at least one or more files to be transferred from a transfer source file sharing device; acquiring characteristic information including predetermined attribute information relating to the selected file(s); transferring the selected file(s) to the transfer destination file sharing device; and transferring in a separate file the acquired characteristic information relating to said selected files, characterised in that:
- the present invention specifies transferred files and automatically sets access control information by means of co-operation between a computer program (file examination agent) that is executed by the transfer source file server and a computer program (file specification and attribute setting agent) that is executed by a transfer destination file server.
- a computer program file examination agent
- a computer program file specification and attribute setting agent
- Fig. 1 is a block diagram showing an overall outline of the file sharing system according to this embodiment.
- the file sharing system is constituted comprising a transfer source file server 10 that comprises a file system 20, and a transfer destination file server 40 that comprises a file system 50.
- the file servers 10 and 40 may be devices that implement a file sharing protocol in a general-purpose OS, or may be devices (NAS) having an OS specialized for file sharing services.
- the transfer source file server 10 controls the file system 20 and comprises an OS and file system program (hereinafter 'OS or similar') 11, and a file examination function 12.
- the OS or similar 11 provides a base for file sharing services, such as one that accepts file access requests (read/write) from administrator of the transfer source file server 10, file system 20, or from users other than the administrator and provides services in accordance with the file access requests for example.
- the OS or similar 11 is compatible with one or more file sharing protocols.
- the file examination function 12 examines characteristic information (described subsequently) with respect to transfer target files, and outputs an examination result file 30.
- the examination result file 30 is used by the transfer destination file server 40.
- the file examination function 12 can be constituted by an ACL information acquisition function 121, a hash value computation function 122, a meta-information acquisition function 123, and an examination result file generation function 124, for example.
- the file examination function 12 can be wholly constituted by a computer program but is not limited to a computer program. At least some of these functions can also be constituted by a hardware circuit. Further, the file examination function 12 can also be mounted in a communication control unit such as an NIC (Network Interface Card), for example.
- NIC Network Interface Card
- the ACL information acquisition function 121 acquires ACL information that is access control information set in a file constituting a transfer target. In other words, the ACL information acquisition function 121 acquires information indicating in what manner (reading, writing and execution) and by which users a transfer target file can be accessed. Further, access control information is not limited to ACL information.
- the hash value computation function 122 generates, with respect to a file constituting a transfer target, a pseudorandom number of fixed length that is dependent on the file content by passing the data of this file through a predetermined hash function. Further, as long as the file content identity is verifiable information, file content identity is not limited to a hash value.
- the meta-information acquisition function 123 acquires metadata associated with the transfer target file.
- Metadata can include the file name, file size, file path information (information indicating the storage position of the file system 20), the update date and time (year/month/day/hour/minutes/seconds).
- the examination result file generation function 124 generates and outputs the examination result file 30, which defines the characteristics of the transfer target file by means of the acquired ACL information, hash value, and metadata. The constitution of the examination result file 30 will be described in more detail later.
- the file system 20 is connected to the transfer source file server 10 and stores a multiplicity of files 21.
- the file system 20 is constructed by using storage devices such as a hard disk drive, semiconductor memory, optical disk, for example, and the storage devices constituting the file system 20 can be interconnected by a SAN or similar, for example.
- the transfer source file server 10 and file system 20 may be constituted as separate devices or may be incorporated in one device.
- the transfer destination file server 40 controls the file system 50 and comprises an OS or similar 41 and an ACL information setting function 42.
- the transfer destination file server 40 is connected to the transfer source file server 10 so that bidirectional data communications via a communication network CN such as a LAN, for example, are possible. Further, the transfer destination file server 40 is connected to one or more (normally a multiplicity of) client terminals (not shown) via a communication network such as a LAN or the Internet.
- the communication network used for file sharing services and the communication network used for file transfers may be a common network or may be separate networks.
- the OS or similar 41 provides a base for file sharing services, such as one that accepts file access requests (read/write) from the administrator of the transfer destination file server 40, file system 50, or from users other than the administrator and provides services in accordance with the file access requests for example.
- the OS or similar 41 is compatible with at least one or more file sharing protocols. Stated in more detail, the OS or similar 41 is compatible with a file sharing protocol that the transfer destination file server 40 comprises and another file sharing protocol that differs from this file sharing protocol.
- the ACL information setting function 42 specifies a file 51 that is transferred from the file system 20 of the transfer source file server 10 to the file system 50 of the transfer destination file server 40 on the basis of the examination result file 30, and resets the ACL information.
- the ACL information setting function 42 can be constituted comprising a search range setting function 421, an examination result file acquisition function 422, a hash value computation function 423, a file specification function 424, and an ACL setting function 425, for example.
- the ACL information setting function 42 can also be wholly constituted as a computer program and at least partially constituted as a hardware circuit.
- the search range setting function 421 is for presetting the range within which the file system 50 is searched. For example, by setting the search range on the basis of a directory that is set for disclosure by the transfer destination file server 40 and a directory of transferred files, the search can be performed efficiently by filtering the search range.
- the examination result file acquisition function 422 acquires the examination result file 30 generated by the file examination function 12 of the transfer source file server 10. Further, the examination result file 30 is transferred from the transfer source file server 10 to the transfer destination file server 40 manually or automatically as per an embodiment described later.
- the hash value computation function 423 calculates a hash value that is based on the file content as information for specifying the file.
- a hash value may be determined in the same way for a retrieved file or a hash value may be calculated only in cases where a file is specified.
- the file specification function 424 searches the search range set in the file system 50 on the basis of the examination result file 30 and specifies which file the file transferred from the file system 20 to the file system 50 is.
- the ACL setting function 425 resets the ACL that was set prior to the transfer to a post-transfer file on the basis of the examination result file 30.
- the file system 50 is constituted by using storage devices such as a hard disk, semiconductor memory, optical disk, and is capable of storing a multiplicity of files.
- FIG. 2 is an explanatory view that schematically shows an example of ACL information.
- access control information ACL information
- ACL information can be set in each file.
- rights enabling access by each account, such as a user, group, to each file can be defined for each account.
- Examples of access rights include the reading of files (reading), writing to file (writing), access denial (NG).
- Fig. 3 is an explanatory view of an example of the examination result file 30 generated by the file examination function 12.
- the examination result file 30 incorporates information distinguishing each file into one record for all the transfer target files. Examples of information distinguishing each file can include the file name, the old storage position (storage position in the transfer source file system 20), the file size, ACL information, digest information (hash value). Other characteristic information such as the update date and time and the creator may also be added. Further, although an examination result file 30 that compiles a plurality of files transferred in a single transfer operation is generated in this embodiment, the present invention is not limited to such an examination result file 30. An examination result file may be generated for each of the files transferred.
- Fig. 4 is a schematic view of a case where a file is transferred from the transfer source file server 10 to the transfer destination file server 40, in which Fig. 4(a) shows an image of the file management of the transfer source file server 10, Fig. 4(b) shows an image of the file management of the transfer destination file server 40, and Fig. 4(c) shows an image of the directory structure as seen from the client side.
- a transfer target directory '/folder_c' is placed under '/share' and has three text files 'd3.txt', 'd4.txt', and 'd5.txt'.
- this directory is stored in a directory '/current' that is formed below '/share', for example, as shown in Fig. 4(b) .
- the directory structure is different in each case. However, as shown in Fig. 4(c) , there is no change before or after the transfer from the perspective of the client.
- the transfer destination file server 40 supplies file sharing services to the client by concealing the difference in the actual directory structure.
- the actual storage position changes. Accordingly, when ACL information is reset afterwards, a search must be performed by determining specified files within a directory structure that is different from that before the transfer. This embodiment provides one solution to this problem.
- Fig. 5 is a flowchart showing an outline of the overall operation of the file sharing system.
- a user such as an administrator designates (S1) transfer target files (including directories).
- the user is also able to select transfer targets in file units or select transfer targets in directory units. Alternatively, it is possible to select both files and directories.
- the file examination function 12 of the transfer source file server 10 acquires characteristic information for all the selected files and generates the examination result file 30 (S2).
- this file (or file group) is stored in the transfer destination file system 50 (S3).
- the examination result file 30 generated in S2 is also transferred to the transfer destination file server 40 (S5) and stored in the memory of the transfer destination file server 40, for example (S6).
- the ACL information setting function 42 of the transfer destination file server 40 specifies the transferred file from among files stored in the file system 50 by referencing the examination result file 30 and then resets the ACL information (S7).
- the transfer target file and examination result file 30 are shown as being transferred separately but both these files may be transferred at the same time.
- the selected file and examination result file 30 can be transferred by means of a manual drag & drop operation by the user, for example. More specifically, the transfer target file is selected by using a selection device such as a mouse and then transferred to the network-mounted transfer destination file server 40 by means of a graphical operation. Because of this operation, the selected file is transferred from the transfer source file server 10 to the transfer destination file server 40 via the communication network CN.
- the examination result file 30 can also be transferred to the transfer destination file server 40 by means of a drag & drop operation. Otherwise, the selected file and examination result file 30 may be transferred by means of a command line interface by using a transfer command. Further, the selected transfer target file and the examination result file 30 describing the file characteristics can each be transferred to the transfer destination file server 40 by means of different methods.
- the hash value of the examination result file itself is computed by using the hash value computation function 122 or another hash value computation function (not shown) of the transfer source file server 10 on the examination result file created by the transfer source file server 10, and this hash value is managed and stored by the transfer source file server 10.
- This hash value is then transferred in accordance with a request from the transfer destination file server 40.
- the transfer destination file server 40 compares the hash value retrieved from the transferred examination result file and the hash value transferred from the transfer source file server 10 by using the hash value computation function 423 or another hash value computation function (not shown), any deterioration of the examination result file itself is identifiable and an embodiment in which more consideration is directed toward security can be achieved.
- the hash value may be used in the judgment of whether the transfer of the examination result file itself is reliable.
- Fig. 6 is a flowchart showing examination result file generation processing that is executed by the file examination function 12 of the transfer source file server 10.
- Fig. 6 illustrates a case where a certain single directory is transferred, in a case where a plurality of directories is transferred at the same time, the processing shown in Fig. 6 may be repeated a number of times equal to the number of directories.
- the examination result file 30 may be generated for selected files alone.
- the name of the transfer target directory selected by the user is acquired (S11). Then, the following processing is repeatedly executed for each file contained in the selected directory. That is, file meta-information (file name, file size) is acquired (S12). Then ACL information for the file is acquired (S13), and the hash function of this file is calculated (S14). When characteristic information is thus obtained for one file, this characteristic information is output to the examination result file 30 as a single record (S15). Until the examination is complete for all the files contained in the selected directory (S16), the above-mentioned examination processing is repeated while moving the file pointer that designates the examination target (S17). The processing is terminated when characteristic information has been acquired for all the files and examination is complete (S16: YES).
- the hash value of the examination result file is provided in accordance with the request from the transfer destination file server 40, the hash value of the examination result file is managed by being associated with the examination result file 30.
- Fig. 7 shows ACL information resetting processing that is executed by the ACL information setting function 42 of the transfer destination file server 40.
- the name of the transferred directory is acquired (S21).
- the directory name can be acquired by way of a manual operation (drag & copy) by the user, for example.
- the examination result file 30 generated by the transfer source file server 10 is read (S22).
- the hash value of the examination result file 30 thus read is calculated, the hash value corresponding with the examination result file 30 is obtained by accessing the transfer source file server 10, and the hash value obtained through calculation and the hash value obtained from the transfer source file server 10 are compared.
- the processing may be interrupted, and when the hash values match, the processing may move on to step 23.
- transfer destination directory information is acquired (S23).
- Samba directories disclosed by Samba are made explicit in an smb. conf file.
- the search range is set on the basis of transfer target directory information and information on the disclosed transfer destination directories (S24).
- a search range is set within at least the disclosed directories of the file system 50. A futile search can thus be prevented beforehand.
- one record's worth of data is acquired from the examination result file 30 (S25), and, based on general characteristic information such as the file name, file size, a search is performed for files within the set search range (S26).
- S27: NO When not even a single file is retrieved as a result of this first stage file search (S27: NO), this represents a case where the file selected as the transfer target was not transferred for whatever reason, and hence error processing is performed (S28). Examples of error processing include outputting the name of the file, for which the search failed to an error log file, for example. After the error processing, processing moves to the next file (S36).
- a hash value is calculated for each of the retrieved files (S31). Further, it is judged whether only one file with the same hash value as the hash value of the transfer target source file is present (conversely, whether a plurality of files with the same hash value exists) (S32). When only one file with the same hash value exists (S32: YES), the file with the same hash value is judged as being an object file and the ACL information set in the source file is set (S33).
- management may be carried out by the transfer destination file server 40 by setting a transfer complete flag in an environment settings file (not shown) of the file system 50.
- the operation of the transfer destination file server 40 can be afforded scope in the event of a file access request (read/write). For example, when services corresponding with the file access request (read/write) are provided by the OS or similar 41, it is judged whether the file access request is from the administrator of the transfer destination file server 40, file system 50, or from a user other than the administrator.
- a transfer complete flag is not set in the environment settings file, only the administrator has file access permissions, users other than the administrator being denied file access (error return).
- a transfer complete flag is set, it is possible to further preserve the normal operation of the file system 50 by granting file access to the administrator and users other than the administrator.
- files are specified by means of a three-stage search.
- the first stage search is conducted by using general characteristic information (file name, file size) listed in the examination result file 30.
- the first stage search does not require special processing and selection can be performed rapidly.
- a second stage search using a hash value is conducted. Although processing is required for the hash value computation, a file can be specified on the basis of the file content identity.
- a file is specified in the third stage search by comparing the file path information before and after the transfer. Therefore, the constitution of this embodiment is such that search methods of a plurality of types can be used and the search method gradually becomes advanced.
- Fig. 8 shows the details of S34 in Fig 7 .
- This processing specifies a file from the similarity between file path information (hereinafter abbreviated to 'file path') before and after the transfer.
- a character string number C which is a judgment value for judging that the file path is similar, is set (S41).
- the character string number C used to judge this match can also be set manually by the user or a preset value can be used.
- the value of the character string number C may be suitably adjusted in accordance with the nature of the transfer target files (the total number of transferred files, the directory depth, for example).
- the range (size) for comparing two file paths is set.
- the pre-transfer file path (old file path) length and the length of the post-transfer file path (new file path) are compared (S42).
- the size of the examination path is matched to that of the size of the shorter new file path (S43).
- the size of the examination path is matched to the shorter old file path (S44).
- the similarity judgment described below is performed one character at a time a number of times equivalent to the path size thus determined.
- Character acquisition pointers for acquiring characters for a comparison are set at the end of each new and old file path respectively (S45). Instead of performing the comparison by means of extraction one character at a time from the start of the file path, the comparison is performed by means of extraction one character at a time from the end of the file path.
- the upper structure of the file path possesses properties that are dependent on each system.
- the comparison is performed starting from the end of the file path based on the premise that the lower structure of the file path possesses properties that are dependent on the user creating or using the file.
- the comparison may be performed by acquiring one character at a time from the start of the file path. Further, although a case where file paths are compared one character at a time is illustrated in this embodiment, the embodiment is not limited to such comparison. File paths could also be compared in word units, for example.
- judgment counters for counting the number of times characters taken from the respective file paths match is reset (S46). Then one character is taken from the end of the new file path (S47), and one character is taken from the end of the old file path (S48). Further, subsequently extracted characters from each file path are compared and a judgment of whether the two characters match is made (S49). When the two characters match (S49: YES), the judgment counter is incremented (S50). When the two characters do not match (S49: NO), S50 is skipped without incrementing the judgment counter.
- Fig. 9 is a schematic view of a case where a plurality of files with the same hash value exists in the transfer destination file system 50.
- the transfer target file is 'd3.txt' of '/folder_c', as shown in Fig. 4(a) .
- the old file path in the transfer source is then /share/folder_c/d3.txt'.
- 'd3.txt' is present in two places in the transfer destination file system 50.
- the two files 'd3.txt' have the same content and the same hash value.
- general attributes other than the hash value are also the same.
- One file path of this file is '/share/current/folder_x/d3.txt'.
- Another file path of this file is '/share/current/folder_c/d3.txt'.
- the file '/share/current/folder_c/d3.txt' is specified as the transferred file and ACL information with the same content (or substantially the same content) as the ACL information set in '/share/folder_c/d3.txt' is set.
- information distinguishing the transfer target file is examined by the transfer source file server 10, and the transfer destination file server 40 specifies the file on the basis of the examination result file 30 and resets the ACL information.
- attribute information ACL information
- files can be transferred smoothly and rapidly, irrespective of the procedure for specifying the files by means of a manual search.
- data file body transfers and attribute information transfers are separated and attribute information can be set after the transfer of the data file bodies.
- a search is first performed on the basis of general characteristic information (or simple characteristic information) such as the file name, file size, and only in cases where files cannot be specified by this search is a hash value calculated and compared with the hash value of the source file.
- general characteristic information or simple characteristic information
- the load of the hash value computation can therefore be reduced and the processing speed of the file specification processing can be raised.
- a file is specified by comparing the file path similarities before and after the transfer. Therefore, the file can be specified even when a plurality of files with the same content exists in the transfer destination file system 50.
- three types of search method are executed in stages, namely a first-stage file search based on file name, file size, a second-stage file search based on hash values, and a third-stage file search based on file path similarity.
- a search method involving advanced processing is executed after a search method involving simple processing. The load of the search processing can thus be reduced by efficiently using the computer resources of the transfer destination file server 40.
- the special feature of this embodiment consists in the fact that a hash value is determined for all the files retrieved by means of the file name, file size, and then a hash value-based judgment is performed. That is, the hash value is examined even in the event of only one retrieved file.
- S61 to S68 in the flowchart shown in Fig. 10 correspond to S21 to S28 in Fig. 7 and hence a description of S61 to S68 will be omitted here.
- the hash value is calculated irrespective of whether there is a plurality of retrieved files (S69). That is, the hash value is calculated even when there is only one of this file. Further, when there is only one file with the same hash value, this file is judged as being an object file and ACL information is set (S70, S71).
- a file is specified based on file path similarity (S72). Further, processing is repeated with respect to all the transfer target files (S73, S74).
- the special feature of this embodiment consists in the fact that, when a search for files with the same hash value is conducted, duplicate files are displayed for the user and these duplicate files are deleted.
- the flowchart shown in Fig. 11 shows the processing for deleting duplicate files. This processing is executed after a file transfer from the transfer source file server 10 to the transfer destination file server 40 has been completed, for example.
- the embodiment with this constitution comprises means (deletion step) for deleting detected duplicate files, and therefore unnecessary files among the duplicate files detected in accordance with the file transfer operation can be deleted. Compression of the storage region of the transfer destination file system 50 by worthless files can therefore be prevented and the user usage amount (QUOTA) can be suitably managed.
- QUOTA user usage amount
- the special feature of this embodiment consists in the fact that, when a transfer target file is selected, the examination result file 30 is generated in the background, and the examination result file 30 is transmitted to the transfer destination file server 40 at the same time as the transfer target file.
- Fig. 12 is a flowchart showing examination result file transfer processing.
- S93: YES it is judged whether or not the examination result file 30 has been generated (S94).
- transfer target files and the examination result file 30 can be transferred at the same time. Therefore, forgetting to transmit the examination result file 30 to the transfer destination file server 40 can be prevented.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
- Storage Device Security (AREA)
Description
- This application relates to and claims priority from Japanese Patent Application No.
2003-312273 filed on September 4, 2003 - The present invention relates to a file system that employs a file server, NAS (Network Attached Storage), for example, and to a method for transferring files between file sharing devices.
- In order to share data between a plurality of computer terminals distributed on a network, a file server has conventionally been used. As an early-stage file server, a file server that implements a file sharing protocol such as CIFS (Common Internet File System), NFS (Network File System; NFS is a registered trademark or trademark of U.S. Sun Microsystems, Inc.) in a general-purpose OS (Operating System), for example, is known. NAS, which employs a dedicated OS that is specialized for file sharing services and supports a plurality of file sharing protocols (such as CIFS, NFS, DAFS (Direct Access File System)), is known as an enhanced file server.
- These file servers are capable of managing access rights by setting permission information. When NFS is used, for example, settings to allow three types of users such as 'owner', 'group' and 'other' to perform the reading of files, writing to file and file execution can be made. Alternatively, when CIFS is used, for example, access control that differs from user to user can be performed for the same file by using access control information known as 'ACL' (Access Control List). As a result, only those users for whom access rights have been set beforehand are able to access the files.
- Further, there is a year-on-year increase in the number of clients using files for sharing and shared files. For this reason, new file servers are added to existing file sharing systems in order to cater to the increase in the number of files and the new demand. When a new file server is added, all or some of the files stored on an existing file server are sometimes moved to the new file server. Further, there are also cases where files are moved between directories and volumes in accordance with system reorganization, for example.
- A variety of methods for transferring files from a transfer source file server to a transfer destination file server are known. For example, there exist methods that make a backup of files stored in the transfer source file server by using a backup device such as a tape device, and then restore the backup data in the transfer destination file server, for example. In this case, the directory structure of the transfer source is backed up together with attribute information (e.g. as described in "Modern Operating Systems", TANENBAUM, Prentice Hall 2001, at page 386) that includes access control information, and this directory structure and attribute information are restored in their entirety in the transfer destination device. Alternatively, there also exist methods that individually transfer predetermined directories or predetermined files of the transfer source file server to the transfer destination file server by using a dump command, tar command, cp command, xcopy command, for example.
- Further, in order to convert a data file used by a COBOL program into a database format, for example, a technology that automates the data conversion between data files of different types by providing common record format information that is a combination of data definition information and attribute information, is also known (Japanese Patent Application Laid-Open No.
2000-347907 - When the transfer source file server and transfer destination file server are supplied with the same file server functions so as to be NFS servers or CIFS servers, for example, the storage structure can also be transferred in its entirety by making a complete backup of the files of the transfer source file server, metadata, and the directory structure, and then restoring same in the transfer destination file server.
-
US 5, 832, 274 discloses a method for migrating a file system and access rights associated with the file system from a first network operating system to a second network operating system, specifically using the tape backup function modified to communicate information across the network to the second environment. -
US 2003/110237A discloses a data migration system for migrating data between an existing file server apparatus and a new file server apparatus in a computer system that includes a plurality of host computers and a plurality of file server apparatuses that are mutually connected to one another. The data migration system on the new file server apparatus copies file attributes unique to the network attached storage (NFS) and file attributes unique to the common internet file system (CIFS) from the existing file server apparatus, and stores the file attributes without changing the file attributes in the new file server apparatus. Then actual data is moved from the existing file server to the new file server. When a file access to data is made from a host computer during the file migration process, and if the data has not been migrated from the existing file server to the new file server, the data is read out from the existing file server onto the new file server, and the file access is processed by the new file server as if the existing file server were processing the file access. - On the one hand, when the respective file server functions of the transfer source file server and the transfer destination file server are different, as in the case of an NFS and CIFS server, for example, it is difficult to transfer the metadata. This is because, when the OS is different in each case, there is a difference between the directory structure of the transfer source file server and the directory structure of the transfer destination file server.
- For example, suppose that, in the case of the transfer source file server, a '/folder' directory exists below a directory '/share' ('/share/folder'). When this '/folder' is transferred to a transfer destination file server with a different type of OS, the /folder' is sometimes automatically placed below a '/current' directory under '/share' at the request of the file management system. The difference in the actual directory structure is not recognized by the client. A different OS resource sharing program installed on the transfer destination file server serves to display the /folder' on the client by concealing the actual difference in directory structure. 'Samba' is a known example of a program that permits resource sharing (file exchange) between these different types of OS.
- Although, when files are transferred between different OS, there is no change in the appearance of the directory structure following the transfer, sometimes metadata (attribute information) such as access control information is lost and not correctly reflected in the transfer destination file server. More particularly, when desired files, directories are individually selected and transferred by way of a so-called 'drag & drop' operation via a GUI (Graphical User Interface) screen, there is the possibility that, even though the file body is transferred, metadata such as access control information will be lost. In such a case, the administrator of the file server must reset the access control by manually examining the files one by one while referencing pre-transfer access control information. However, because the actual directory structure is different, the work involved in specifying the files is arduous. Further, when a plurality of files of the same type and with the same name are discovered, the administrator then ponders over the judgment of whether access control should be set for any of these files.
-
US 2002/055942A discloses tools and techniques for distinguishing a file from any or all copies of the file that may exist. - A data file automatic conversion device, such as that appearing in the Japanese Patent Application Laid-Open No.
2000-347907 - The present invention was conceived in view of the above problems, and one embodiment of the present invention provides a file sharing system that makes it possible to specify the files that are transferred. Another embodiment of the present invention provides a file sharing system and method for transferring files between file sharing devices that are capable of automatically specifying transferred files and resetting attribute information. Further, other embodiment of the present invention provides a file sharing system that makes it possible to specify files even when a plurality of files of the same type and with the same name exists at the transfer destination. Further objects of the present invention will become evident from the description of the embodiment described subsequently.
- More specifically, in order to solve the above problem, the file sharing system according to an embodiment of the present invention comprises: A file sharing system, comprising: a transfer source file sharing device having a first operating system; a transfer destination file sharing device having a second operating system and which is communicably connected to said transfer source file sharing device; selecting means for selecting at least one or more files kept in the transfer source file sharing device; file examining means for acquiring characteristic information on the selected file(s); file transferring means for transferring the selected file(s) and said characteristic information to the transfer destination file sharing device, wherein: the system is arranged to transfer characteristic information in a separate file to the file(s) to which the characteristic information relates; and the second operating system is different to said first operating system, characterised in that:
- the system further comprises file specifying means for specifying the file(s) transferred to the transfer destination file sharing device by matching each transferred file with its respective characteristic information, wherein: the file examining means is arranged to acquire characteristic information including other attribute information, being one of the file name, file size, update date and time or file path information, relating to the selected file(s) and identity information indicating a file identity that is obtained by processing data of the selected file(s) by means of a predetermined function; when unable to specify said file by means of the other attribute information included in the characteristic information, the file specifying means is arranged to specify the file by using the predetermined function to generate the identity information and then to compare the generated identity information with the identity information included in the characteristic information; and when unable to specify said file by means of the identity information, the file specifying means is arranged to determine the similarity between file path information of the transfer source file sharing device and file path information of the transfer destination file sharing device, by comparing parts of the file paths, and then specify the file on the basis of this similarity.
- The transfer source file sharing device and transfer destination file sharing device can be constituted as file servers (including NAS). The transfer source file sharing device and transfer destination file sharing device have their storage resources managed, store a multiplicity of files, and are capable of providing file sharing services to a multiplicity of clients. The transfer source file sharing device and transfer destination file sharing device are connected so that bidirectional data communications via a LAN (Local Area Network), for example, are possible. Further, the file sharing device may be connected to a storage device via a SAN (Storage Area Network).
- The user (administrator, for example) selects, via the selecting means, at least one or more files (including directories) that are kept on the transfer source file sharing device. The characteristic information acquiring means acquire characteristic information for the selected file(s). Here, characteristic information is information indicating the characteristics of the selected file(s), and is used in order to search for the selected file (s). Examples of characteristic information can include the file name, file path information, the file size, the file update date and time, for example. Further, a message digest can also be used as described below. Files selected by the selecting means are shifted to the transfer destination file sharing device by the file transfer means. The file specifying means specify files by seeking out transferred files from within a file group kept in the transfer destination file sharing device based on characteristic information generated beforehand. Therefore, even when files are transferred between different OS, transferred files can be specified on the basis of characteristic information.
- Further, according to an embodiment of the present invention, the characteristic information acquiring means comprise attribute resetting means that acquire characteristic information including predetermined attribute information relating to the selected file(s) and associate the predetermined attribute information included in the characteristic information with the file(s) specified by the file specifying means.
- Examples of predetermined attribute information include ACL or other access control information. When a transferred file is specified, the attribute resetting means reset predetermined attribute information for the specified file.
- Examples of identity information indicating a file identity can include a message digest rendered by using a hash function. A hash function generates a pseudorandom number of a fixed length from the supplied original data. A value generated by a hash function is known as a 'hash value' or 'message digest'. If original data are different, the respective hash values are also different, and hence the file content identity can be certified according to the hash values. A file can be specified more accurately by including identity information such as a hash value in the characteristic information of the file.
- In other words, the file specifying means attempt file specification by means of other attribute information being the file name, file size, update date or time. However, when, supposedly, a plurality of files with the same name, same size, and with an equal update date and time is present, the file cannot be specified by means of the other attribute information alone. In this case, the file specifying means specify the file by calculating identity information (a hash value) for a plurality of retrieved candidate files and comparing this information with identity information included in the characteristic information.
- A case where a plurality of files with common identity information indicating a file content identity is present has also been considered. In this case, the file specifying means specify a file by focusing on file path information. That is, the file specifying means specify the file by determining the similarities between file path information prior to the transfer and file path information following the transfer. Stated in more detail, of the file path information, the path information located at the top of the directory structure possesses properties that are dependent on the system (OS), and path information located at the bottom of the directory structure possesses properties dependent on the user. The user suitably sets a directory with a name that is easy for him/her to understand in a storage region that he or she is able to use in order to perform proprietary file management. Therefore, the file can be specified by analyzing the similarity with an emphasis on the lower-order information of the file path information, for example.
- The method for transferring files between file sharing devices according to a further embodiment of the present invention wherein the file sharing devices have different operating systems comprises the steps of: selecting at least one or more files to be transferred from a transfer source file sharing device; acquiring characteristic information including predetermined attribute information relating to the selected file(s); transferring the selected file(s) to the transfer destination file sharing device; and transferring in a separate file the acquired characteristic information relating to said selected files, characterised in that:
- said characteristic information includes other attribute information, being one of the file name, file size, update date and time or file path information, relating to the selected file(s) and identity information indicating a file identity that is obtained by processing data of the selected file (s) by means of a predetermined function; and the method further comprises the steps of: specifying the file(s) transferred to the transfer destination file sharing device on the basis of the acquired characteristic information; associating the predetermined attribute information included in the characteristic information with the specified file(s); when unable to specify said file by means of the other attribute information included in the characteristic information, specifying the file by using the predetermined function to generate the identity information and then comparing the generated identity information with the identity information included in the characteristic information; and when unable to specify said file by means of the identity information, determining the similarity between file path information of the transfer source file sharing device and file path information of the transfer destination file sharing device, by comparing parts of the file paths, and then specifying the file on the basis of this similarity.
-
-
Fig. 1 is a block diagram showing an overall outline of the file sharing system according to an embodiment of the present invention; -
Fig. 2 is an explanatory view of an example of access control information; -
Fig. 3 is an explanatory view of an example of an examination result file; -
Fig. 4 is a schematic view of a file management image in a case where a file is transferred, in whichFig. 4(a) is a file management image for the transfer source,Fig. 4(b) is a file management image of the transfer destination, andFig. 4(c) shows a view from the client side; -
Fig. 5 is a flowchart showing an outline of the overall operation in a case where a file is transferred; -
Fig. 6 is a flowchart showing examination result file generation processing that is executed by the transfer source file server; -
Fig. 7 is a flowchart showing ACL information resetting processing that is executed by the transfer destination file server; -
Fig. 8 is a flowchart showing the details of S34 inFig. 7 ; -
Fig. 9 is a schematic view of an aspect in which a plurality of files with the same content is present; -
Fig. 10 is a flowchart of ACL information resetting processing according to a second embodiment of the present invention; -
Fig. 11 is a flowchart of duplicate file deletion processing according to a third embodiment of the present invention; and -
Fig. 12 is a flowchart showing examination result file transfer processing. - Embodiments of the present invention will be described below on the basis of
Figs. 1 to 12 . - As described in detail hereinbelow, the present invention specifies transferred files and automatically sets access control information by means of co-operation between a computer program (file examination agent) that is executed by the transfer source file server and a computer program (file specification and attribute setting agent) that is executed by a transfer destination file server.
-
Fig. 1 is a block diagram showing an overall outline of the file sharing system according to this embodiment. As will be described subsequently, the file sharing system is constituted comprising a transfersource file server 10 that comprises afile system 20, and a transferdestination file server 40 that comprises afile system 50. Thefile servers - The transfer
source file server 10 controls thefile system 20 and comprises an OS and file system program (hereinafter 'OS or similar') 11, and afile examination function 12. The OS or similar 11 provides a base for file sharing services, such as one that accepts file access requests (read/write) from administrator of the transfersource file server 10,file system 20, or from users other than the administrator and provides services in accordance with the file access requests for example. The OS or similar 11 is compatible with one or more file sharing protocols. - The
file examination function 12 examines characteristic information (described subsequently) with respect to transfer target files, and outputs anexamination result file 30. Theexamination result file 30 is used by the transferdestination file server 40. Thefile examination function 12 can be constituted by an ACLinformation acquisition function 121, a hashvalue computation function 122, a meta-information acquisition function 123, and an examination resultfile generation function 124, for example. Thefile examination function 12 can be wholly constituted by a computer program but is not limited to a computer program. At least some of these functions can also be constituted by a hardware circuit. Further, thefile examination function 12 can also be mounted in a communication control unit such as an NIC (Network Interface Card), for example. - The ACL
information acquisition function 121 acquires ACL information that is access control information set in a file constituting a transfer target. In other words, the ACLinformation acquisition function 121 acquires information indicating in what manner (reading, writing and execution) and by which users a transfer target file can be accessed. Further, access control information is not limited to ACL information. The hashvalue computation function 122 generates, with respect to a file constituting a transfer target, a pseudorandom number of fixed length that is dependent on the file content by passing the data of this file through a predetermined hash function. Further, as long as the file content identity is verifiable information, file content identity is not limited to a hash value. The meta-information acquisition function 123 acquires metadata associated with the transfer target file. Examples of metadata can include the file name, file size, file path information (information indicating the storage position of the file system 20), the update date and time (year/month/day/hour/minutes/seconds). The examination resultfile generation function 124 generates and outputs theexamination result file 30, which defines the characteristics of the transfer target file by means of the acquired ACL information, hash value, and metadata. The constitution of theexamination result file 30 will be described in more detail later. - The
file system 20 is connected to the transfersource file server 10 and stores a multiplicity offiles 21. Thefile system 20 is constructed by using storage devices such as a hard disk drive, semiconductor memory, optical disk, for example, and the storage devices constituting thefile system 20 can be interconnected by a SAN or similar, for example. The transfersource file server 10 andfile system 20 may be constituted as separate devices or may be incorporated in one device. - The transfer
destination file server 40 controls thefile system 50 and comprises an OS or similar 41 and an ACLinformation setting function 42. The transferdestination file server 40 is connected to the transfersource file server 10 so that bidirectional data communications via a communication network CN such as a LAN, for example, are possible. Further, the transferdestination file server 40 is connected to one or more (normally a multiplicity of) client terminals (not shown) via a communication network such as a LAN or the Internet. In addition, the communication network used for file sharing services and the communication network used for file transfers may be a common network or may be separate networks. The OS or similar 41 provides a base for file sharing services, such as one that accepts file access requests (read/write) from the administrator of the transferdestination file server 40,file system 50, or from users other than the administrator and provides services in accordance with the file access requests for example. The OS or similar 41 is compatible with at least one or more file sharing protocols. Stated in more detail, the OS or similar 41 is compatible with a file sharing protocol that the transferdestination file server 40 comprises and another file sharing protocol that differs from this file sharing protocol. - The ACL
information setting function 42 specifies afile 51 that is transferred from thefile system 20 of the transfersource file server 10 to thefile system 50 of the transferdestination file server 40 on the basis of theexamination result file 30, and resets the ACL information. The ACLinformation setting function 42 can be constituted comprising a searchrange setting function 421, an examination resultfile acquisition function 422, a hashvalue computation function 423, afile specification function 424, and anACL setting function 425, for example. The ACLinformation setting function 42 can also be wholly constituted as a computer program and at least partially constituted as a hardware circuit. - The search
range setting function 421 is for presetting the range within which thefile system 50 is searched. For example, by setting the search range on the basis of a directory that is set for disclosure by the transferdestination file server 40 and a directory of transferred files, the search can be performed efficiently by filtering the search range. The examination resultfile acquisition function 422 acquires theexamination result file 30 generated by thefile examination function 12 of the transfersource file server 10. Further, theexamination result file 30 is transferred from the transfersource file server 10 to the transferdestination file server 40 manually or automatically as per an embodiment described later. The hashvalue computation function 423 calculates a hash value that is based on the file content as information for specifying the file. A hash value may be determined in the same way for a retrieved file or a hash value may be calculated only in cases where a file is specified. Thefile specification function 424 searches the search range set in thefile system 50 on the basis of theexamination result file 30 and specifies which file the file transferred from thefile system 20 to thefile system 50 is. When a file is specified, theACL setting function 425 resets the ACL that was set prior to the transfer to a post-transfer file on the basis of theexamination result file 30. - As per the
file system 20, thefile system 50 is constituted by using storage devices such as a hard disk, semiconductor memory, optical disk, and is capable of storing a multiplicity of files. - Let us refer now to
Fig. 2. Fig. 2 is an explanatory view that schematically shows an example of ACL information. As shown in this figure, access control information (ACL information) can be set in each file. For example, rights enabling access by each account, such as a user, group, to each file can be defined for each account. Examples of access rights include the reading of files (reading), writing to file (writing), access denial (NG). - Let us refer now to
Fig. 3. Fig. 3 is an explanatory view of an example of theexamination result file 30 generated by thefile examination function 12. Theexamination result file 30 incorporates information distinguishing each file into one record for all the transfer target files. Examples of information distinguishing each file can include the file name, the old storage position (storage position in the transfer source file system 20), the file size, ACL information, digest information (hash value). Other characteristic information such as the update date and time and the creator may also be added. Further, although anexamination result file 30 that compiles a plurality of files transferred in a single transfer operation is generated in this embodiment, the present invention is not limited to such anexamination result file 30. An examination result file may be generated for each of the files transferred. -
Fig. 4 is a schematic view of a case where a file is transferred from the transfersource file server 10 to the transferdestination file server 40, in whichFig. 4(a) shows an image of the file management of the transfersource file server 10,Fig. 4(b) shows an image of the file management of the transferdestination file server 40, andFig. 4(c) shows an image of the directory structure as seen from the client side. - A transfer target directory '/folder_c' is placed under '/share' and has three text files 'd3.txt', 'd4.txt', and 'd5.txt'. When the directory '/folder_c' is transferred to the transfer
destination file server 40, this directory is stored in a directory '/current' that is formed below '/share', for example, as shown inFig. 4(b) . Because the respective OS of - the transfersource file server 10 and the transferdestination file server 40 are different, the directory structure is different in each case. However, as shown inFig. 4(c) , there is no change before or after the transfer from the perspective of the client. This is because the transferdestination file server 40 supplies file sharing services to the client by concealing the difference in the actual directory structure. As shown inFig. 4 , even when there is no change before or after the transfer of the directory structure from the client side, the actual storage position (file path) changes. Accordingly, when ACL information is reset afterwards, a search must be performed by determining specified files within a directory structure that is different from that before the transfer. This embodiment provides one solution to this problem. -
Fig. 5 is a flowchart showing an outline of the overall operation of the file sharing system. A user such as an administrator designates (S1) transfer target files (including directories). The user is also able to select transfer targets in file units or select transfer targets in directory units. Alternatively, it is possible to select both files and directories. - When transfer target files are selected, the
file examination function 12 of the transfersource file server 10 acquires characteristic information for all the selected files and generates the examination result file 30 (S2). Next, when a selectedfile 21 is transferred to the transferdestination file server 40, this file (or file group) is stored in the transfer destination file system 50 (S3). Then, theexamination result file 30 generated in S2 is also transferred to the transfer destination file server 40 (S5) and stored in the memory of the transferdestination file server 40, for example (S6). The ACLinformation setting function 42 of the transferdestination file server 40 specifies the transferred file from among files stored in thefile system 50 by referencing theexamination result file 30 and then resets the ACL information (S7). - Further, in
Fig. 5 , for the sake of expediency in the description, the transfer target file and examination resultfile 30 are shown as being transferred separately but both these files may be transferred at the same time. Further, the selected file and examination resultfile 30 can be transferred by means of a manual drag & drop operation by the user, for example. More specifically, the transfer target file is selected by using a selection device such as a mouse and then transferred to the network-mounted transferdestination file server 40 by means of a graphical operation. Because of this operation, the selected file is transferred from the transfersource file server 10 to the transferdestination file server 40 via the communication network CN. Similarly to the selected file, theexamination result file 30 can also be transferred to the transferdestination file server 40 by means of a drag & drop operation. Otherwise, the selected file and examination resultfile 30 may be transferred by means of a command line interface by using a transfer command. Further, the selected transfer target file and theexamination result file 30 describing the file characteristics can each be transferred to the transferdestination file server 40 by means of different methods. - Furthermore, the hash value of the examination result file itself is computed by using the hash
value computation function 122 or another hash value computation function (not shown) of the transfersource file server 10 on the examination result file created by the transfersource file server 10, and this hash value is managed and stored by the transfersource file server 10. This hash value is then transferred in accordance with a request from the transferdestination file server 40. When the transferdestination file server 40 compares the hash value retrieved from the transferred examination result file and the hash value transferred from the transfersource file server 10 by using the hashvalue computation function 423 or another hash value computation function (not shown), any deterioration of the examination result file itself is identifiable and an embodiment in which more consideration is directed toward security can be achieved. Naturally, as long as the identity of the examination result file is verifiable information, a value other than a hash value can be used. In the case of this embodiment, in addition to the hash value (or information making it possible to verify the file content identity) being used in order to specify the transfer target file, the hash value may be used in the judgment of whether the transfer of the examination result file itself is reliable. -
Fig. 6 is a flowchart showing examination result file generation processing that is executed by thefile examination function 12 of the transfersource file server 10. AlthoughFig. 6 illustrates a case where a certain single directory is transferred, in a case where a plurality of directories is transferred at the same time, the processing shown inFig. 6 may be repeated a number of times equal to the number of directories. In addition, in a case where only one or a plurality of files in the directory is transferred, theexamination result file 30 may be generated for selected files alone. - First, the name of the transfer target directory selected by the user is acquired (S11). Then, the following processing is repeatedly executed for each file contained in the selected directory. That is, file meta-information (file name, file size) is acquired (S12). Then ACL information for the file is acquired (S13), and the hash function of this file is calculated (S14). When characteristic information is thus obtained for one file, this characteristic information is output to the
examination result file 30 as a single record (S15). Until the examination is complete for all the files contained in the selected directory (S16), the above-mentioned examination processing is repeated while moving the file pointer that designates the examination target (S17). The processing is terminated when characteristic information has been acquired for all the files and examination is complete (S16: YES). - Further, as mentioned above, when the hash value of the examination result file is provided in accordance with the request from the transfer
destination file server 40, the hash value of the examination result file is managed by being associated with theexamination result file 30. - Next,
Fig. 7 shows ACL information resetting processing that is executed by the ACLinformation setting function 42 of the transferdestination file server 40. First, the name of the transferred directory is acquired (S21). The directory name can be acquired by way of a manual operation (drag & copy) by the user, for example. Next, theexamination result file 30 generated by the transfersource file server 10 is read (S22). Here, if required, the hash value of theexamination result file 30 thus read is calculated, the hash value corresponding with theexamination result file 30 is obtained by accessing the transfersource file server 10, and the hash value obtained through calculation and the hash value obtained from the transfersource file server 10 are compared. As a result, when the hash values do not match, the processing may be interrupted, and when the hash values match, the processing may move on to step 23. - Next, transfer destination directory information is acquired (S23). For example, where Samba is concerned, directories disclosed by Samba are made explicit in an smb. conf file. Then, the search range is set on the basis of transfer target directory information and information on the disclosed transfer destination directories (S24). In other words, rather than the whole of the transfer
destination file system 50 being set as the search range, a search range is set within at least the disclosed directories of thefile system 50. A futile search can thus be prevented beforehand. - Next, one record's worth of data is acquired from the examination result file 30 (S25), and, based on general characteristic information such as the file name, file size, a search is performed for files within the set search range (S26). When not even a single file is retrieved as a result of this first stage file search (S27: NO), this represents a case where the file selected as the transfer target was not transferred for whatever reason, and hence error processing is performed (S28). Examples of error processing include outputting the name of the file, for which the search failed to an error log file, for example. After the error processing, processing moves to the next file (S36).
- When one or more files are retrieved because of a first stage file search under the file name, file size, (S27: YES), it is judged whether a plurality of the retrieved file exists (S29). When only one file has been retrieved (S29: NO), this unique retrieved file is judged as being an object file and the ACL information set in the source file is reset (S30). That is, the same (or substantially the same) access right as the access control set prior to the transfer is set. Further, when the respective formats of the ACL information of the transfer source and the ACL information of the transfer destination are different, ACL information may be suitably altered in accordance with preset conversion rules, for example.
- When a plurality of files with the same name and size have been retrieved (S29: YES), a hash value is calculated for each of the retrieved files (S31). Further, it is judged whether only one file with the same hash value as the hash value of the transfer target source file is present (conversely, whether a plurality of files with the same hash value exists) (S32). When only one file with the same hash value exists (S32: YES), the file with the same hash value is judged as being an object file and the ACL information set in the source file is set (S33).
- When a plurality of files with the same hash value have been retrieved (S32: NO), a single object file is specified (S34) by comparing the source file path information indicated by the
examination result file 30 and the file path information of the retrieved file. This file path-based file specification will be described subsequently. - The above processing is repeated (S36) while transferring search target files until all the transfer target files have been specified and ACL information has been set (S35). The processing is terminated when all the transfer target files have been specified and ACL information has been set (S35: YES).
- Further, when the processing ends after passing via step 35 (normal completion), management may be carried out by the transfer
destination file server 40 by setting a transfer complete flag in an environment settings file (not shown) of thefile system 50. In the case of this embodiment, the operation of the transferdestination file server 40 can be afforded scope in the event of a file access request (read/write). For example, when services corresponding with the file access request (read/write) are provided by the OS or similar 41, it is judged whether the file access request is from the administrator of the transferdestination file server 40,file system 50, or from a user other than the administrator. When a transfer complete flag is not set in the environment settings file, only the administrator has file access permissions, users other than the administrator being denied file access (error return). When a transfer complete flag is set, it is possible to further preserve the normal operation of thefile system 50 by granting file access to the administrator and users other than the administrator. - Therefore, in this embodiment, files are specified by means of a three-stage search. The first stage search is conducted by using general characteristic information (file name, file size) listed in the
examination result file 30. The first stage search does not require special processing and selection can be performed rapidly. When specification is not possible by means of the first stage search, a second stage search using a hash value is conducted. Although processing is required for the hash value computation, a file can be specified on the basis of the file content identity. In addition, when a file cannot be specified by means of a hash value, a file is specified in the third stage search by comparing the file path information before and after the transfer. Therefore, the constitution of this embodiment is such that search methods of a plurality of types can be used and the search method gradually becomes advanced. - Let us now turn to the flowchart in
Fig. 8. Fig. 8 shows the details of S34 inFig 7 . This processing specifies a file from the similarity between file path information (hereinafter abbreviated to 'file path') before and after the transfer. First, a character string number C, which is a judgment value for judging that the file path is similar, is set (S41). When two compared file paths match each other up to or beyond the character string number C, it is judged that the two files are the same. The character string number C used to judge this match can also be set manually by the user or a preset value can be used. Alternatively, the value of the character string number C may be suitably adjusted in accordance with the nature of the transfer target files (the total number of transferred files, the directory depth, for example). - Next, the range (size) for comparing two file paths is set. The pre-transfer file path (old file path) length and the length of the post-transfer file path (new file path) are compared (S42). When the old file path is longer than the new file path (S42: YES), the size of the examination path is matched to that of the size of the shorter new file path (S43). Conversely, when the new file path is longer than the old file path (S42: NO), the size of the examination path is matched to the shorter old file path (S44). The similarity judgment described below is performed one character at a time a number of times equivalent to the path size thus determined.
- Character acquisition pointers for acquiring characters for a comparison are set at the end of each new and old file path respectively (S45). Instead of performing the comparison by means of extraction one character at a time from the start of the file path, the comparison is performed by means of extraction one character at a time from the end of the file path. The upper structure of the file path possesses properties that are dependent on each system. On the one hand, the comparison is performed starting from the end of the file path based on the premise that the lower structure of the file path possesses properties that are dependent on the user creating or using the file. If, conversely, the user-dependent part is located in the upper structure of the file path and the system-dependent part is located in the lower structure of the file path, the comparison may be performed by acquiring one character at a time from the start of the file path. Further, although a case where file paths are compared one character at a time is illustrated in this embodiment, the embodiment is not limited to such comparison. File paths could also be compared in word units, for example.
- After character acquisition pointers have been set at the end of the file paths, judgment counters for counting the number of times characters taken from the respective file paths match is reset (S46). Then one character is taken from the end of the new file path (S47), and one character is taken from the end of the old file path (S48). Further, subsequently extracted characters from each file path are compared and a judgment of whether the two characters match is made (S49). When the two characters match (S49: YES), the judgment counter is incremented (S50). When the two characters do not match (S49: NO), S50 is skipped without incrementing the judgment counter.
- Next, a judgment of whether all the characters have been examined is made with respect to paths in proportion to the examination size set in S43 or S44 (S50). When not all the characters have been compared (S50: NO), the character acquisition pointers are shifted to the next character (shifted from the end of the file paths by one character in the direction of the start of the path), and the processing of S47 to S50 is repeated (S52). When examination of the character string of each file path has been completed in an amount proportional to the examination size (S51: YES), the count value of the judgment counter and the character string number C set in S41 are compared (S53). When the judgment counter count value is equal to or more than the matching judgment character string number C (S53: YES), it is judged that the examined files match each other and ACL information is then set in specified files in the transfer destination file system 50 (S54). When the judgment counter count value is less than the character string number C (S53: NO), the two files are judged as being different, and the ACL information is not set. The file path similarity judgment processing above is executed for all the files with the same hash value (S55). The processing is terminated when the judgment with respect to all the files with the same hash value is complete (S55: YES). Further, when a plurality of files for which there is a similarity at a level equal to or more than the character string number C exists, files with a larger judgment counter count value may be specified as being object files or may be entrusted to the administrator's judgment.
-
Fig. 9 is a schematic view of a case where a plurality of files with the same hash value exists in the transferdestination file system 50. Here, the transfer target file is 'd3.txt' of '/folder_c', as shown inFig. 4(a) . The old file path in the transfer source is then /share/folder_c/d3.txt'. As shown inFig. 9 , 'd3.txt' is present in two places in the transferdestination file system 50. The two files 'd3.txt' have the same content and the same hash value. Further, general attributes other than the hash value (such as the file name, file size, and update date and time) are also the same. - One file path of this file is '/share/current/folder_x/d3.txt'. Another file path of this file is '/share/current/folder_c/d3.txt'. When these two file paths are compared one character at a time in a direction from the end toward the start of the path, there is clearly a large number of characters for which '/share/current/folder_c/d3.txt' matches '/share/folder_c/d3.txt'. Therefore, the file '/share/current/folder_c/d3.txt' is specified as the transferred file and ACL information with the same content (or substantially the same content) as the ACL information set in '/share/folder_c/d3.txt' is set.
- According to the embodiment with this constitution, information distinguishing the transfer target file is examined by the transfer
source file server 10, and the transferdestination file server 40 specifies the file on the basis of theexamination result file 30 and resets the ACL information. Hence, even when files are transferred between different OS (different file sharing protocols), attribute information (ACL information) can be automatically set. Accordingly, files can be transferred smoothly and rapidly, irrespective of the procedure for specifying the files by means of a manual search. - In other words, according to this embodiment, data file body transfers and attribute information transfers (between file servers with different hierarchical storage structures) are separated and attribute information can be set after the transfer of the data file bodies.
- Further, a search is first performed on the basis of general characteristic information (or simple characteristic information) such as the file name, file size, and only in cases where files cannot be specified by this search is a hash value calculated and compared with the hash value of the source file. The load of the hash value computation can therefore be reduced and the processing speed of the file specification processing can be raised.
- In addition, in cases where a file cannot be specified by means of a hash value comparison, a file is specified by comparing the file path similarities before and after the transfer. Therefore, the file can be specified even when a plurality of files with the same content exists in the transfer
destination file system 50. - Moreover, in this embodiment, three types of search method are executed in stages, namely a first-stage file search based on file name, file size, a second-stage file search based on hash values, and a third-stage file search based on file path similarity. Further, a search method involving advanced processing is executed after a search method involving simple processing. The load of the search processing can thus be reduced by efficiently using the computer resources of the transfer
destination file server 40. - In addition, when the file path similarity is judged, examination is performed starting from the end of the file path that readily depends on the user, and hence, in comparison with a case where examination is performed starting from the start of the file path, files can be specified sooner.
- Next, the second embodiment of the present invention will be described with reference to
Fig. 10 . The special feature of this embodiment consists in the fact that a hash value is determined for all the files retrieved by means of the file name, file size, and then a hash value-based judgment is performed. That is, the hash value is examined even in the event of only one retrieved file. - S61 to S68 in the flowchart shown in
Fig. 10 correspond to S21 to S28 inFig. 7 and hence a description of S61 to S68 will be omitted here. When one or more files retrieved by means of file name, file size, are present (S67: YES), the hash value is calculated irrespective of whether there is a plurality of retrieved files (S69). That is, the hash value is calculated even when there is only one of this file. Further, when there is only one file with the same hash value, this file is judged as being an object file and ACL information is set (S70, S71). When there is a plurality of files with the same hash value, a file is specified based on file path similarity (S72). Further, processing is repeated with respect to all the transfer target files (S73, S74). - Therefore, because a hash value is determined for all the files extracted by means of the first-stage search according to file name, file size, a hash value-based comparison is also undertaken even when there is only one file with a common file name. A file can therefore be specified accurately and hence the reliability of the file specification increases.
- Next, the third embodiment of the present invention will be described based on
Fig. 11 . The special feature of this embodiment consists in the fact that, when a search for files with the same hash value is conducted, duplicate files are displayed for the user and these duplicate files are deleted. - The flowchart shown in
Fig. 11 shows the processing for deleting duplicate files. This processing is executed after a file transfer from the transfersource file server 10 to the transferdestination file server 40 has been completed, for example. - First of all, it is judged whether a plurality of files with the same hash value have been retrieved in the file transfer processing described in conjunction with
Fig. 7 (S81). When a plurality of files with the same hash value have not been retrieved, the processing is terminated. When a plurality of files with the same hash value have been retrieved (S81: YES), this constitutes a case where a plurality of files with duplicate content is present in the transferdestination file system 50. The file path of each retrieved file with the same content is displayed on the monitor screen (S82), and it is confirmed by the user whether, of these displayed duplicate files, files other than the files specified as a result of file path similarity may be deleted (S83). When the user consents (S84: YES) to the deletion of unnecessary files (files for which ACL information is not ultimately set) among the duplicate files via a keyboard switch, pointing device, or the like, for example, these unnecessary duplicate files are deleted to free up the storage region (S85). - The embodiment with this constitution comprises means (deletion step) for deleting detected duplicate files, and therefore unnecessary files among the duplicate files detected in accordance with the file transfer operation can be deleted. Compression of the storage region of the transfer
destination file system 50 by worthless files can therefore be prevented and the user usage amount (QUOTA) can be suitably managed. - Next, a fourth embodiment of the present invention will be described with reference to
Fig. 12 . The special feature of this embodiment consists in the fact that, when a transfer target file is selected, theexamination result file 30 is generated in the background, and theexamination result file 30 is transmitted to the transferdestination file server 40 at the same time as the transfer target file. -
Fig. 12 is a flowchart showing examination result file transfer processing. First, it is judged by the user whether the transfer target file has been selected (S91). When the transfer target file has been selected (S91: YES), an instruction to generate theexamination result file 30 is issued (S92). Accordingly, examination result file generation processing described in conjunction withFig. 6 is executed. Next, it is judged whether an instruction to transfer (copy) the selected files has been issued (S93). When a file transfer instruction has been issued (S93: YES), it is judged whether or not theexamination result file 30 has been generated (S94). When the generation of theexamination result file 30 is in progress (S94: NO), the fact that the generation of theexamination result file 30 is in progress is communicated to the user (S95) who is put on standby. Further, when theexamination result file 30 has been generated (S94: YES), theexamination result file 30 is transmitted to the transferdestination file server 40 together with the selected file (S96). - In the embodiment with this constitution, transfer target files and the
examination result file 30 can be transferred at the same time. Therefore, forgetting to transmit theexamination result file 30 to the transferdestination file server 40 can be prevented. - Moreover, the present invention is not limited to or by the above embodiments. A person skilled in the art is able to make a variety of additions or modifications within the scope of protection as defined in the amended claims.
Claims (7)
- A file sharing system, comprising:a transfer source file sharing device (10) having a first operating system (11);a transfer destination file sharing device (40) having a second operating system (41) and which is communicably connected to said transfer source file sharing device (10);selecting means for selecting at least one or more files (21) kept in the transfer source file sharing device (10);file examining means (12) for acquiring characteristic information (30) on the selected file(s);file transferring means for transferring the selected file(s) and said characteristic information (30) to the transfer destination file sharing device (40), wherein:the system is arranged to transfer characteristic information in a separate file (30) to the file(s) to which the characteristic information relates; andthe second operating system is different to said first operating system, characterised in that:the system further comprises file specifying means (424) for specifying the file(s) transferred to the transfer destination file sharing device by matching each transferred file (S1) with its respective characteristic information, wherein:the file examining means (12) is arranged to acquire-characteristic information (30) including other attribute information, being one of the file name, file size, update date and time or file path information, relating to the selected file(s) and identity information indicating a file identity that is obtained by processing data of the selected file(s) by means of a predetermined function;when unable to specify said file by means of the other attribute information included in the characteristic information, the file specifying means (424) is arranged to specify the file by using the predetermined function to generate the identity information and then to compare the generated identity information with the identity information included in the characteristic information; andwhen unable to specify said file by means of the identity information, the file specifying means (424) is arranged to determine the similarity between file path information of the transfer source file sharing device and file path information of the transfer destination file sharing device, by comparing parts of the file paths, and then specify the file on the basis of this similarity.
- The file sharing system according to claim 1, wherein the transfer destination file device (40) comprises attribute resetting means (425) for acquiring characteristic information including predetermined attribute information relating to the selected file(s) and for associating the predetermined attribute information included in the characteristic information with the file(s) specified by the file specifying means (424).
- The file sharing system according to claim 2, wherein the predetermined attribute information is access control information relating to the selected file(s).
- The file sharing system according to any one of claims 1 to 3, wherein when the file specifying means (424) determines the similarity between file path information of the transfer source file sharing device and file path information of the transfer destination file sharing device, this determination is made with emphasis on the lower-order information of the file path information.
- A method for transferring files between file sharing devices (10, 40), wherein the file sharing devices have different operating systems (11, 41), the method comprising the steps of:selecting (S1) at least one or more files (21) to be transferred from a transfer source file sharing device (10);acquiring (S2) characteristic information including predetermined attribute information relating to the selected file(s);transferring (S3) the selected file(s) to the transfer destination file sharing device (40); andtransferring (S5) in a separate file the acquired characteristic information (30) relating to said selected files, characterised in that:said characteristic information includes other attribute information, being one of the file name, file size, update date and time or file path information, relating to the selected file(s) and identity information indicating a file identity that is obtained by processing data of the selected file(s) by means of a predetermined function; andthe method further comprises the steps of:specifying (S7) the file(s) transferred to the transfer destination file sharing device on the basis of the acquired characteristic information (30);associating (S7) the predetermined attribute information included in the characteristic information with the specified file(s);when unable to specify said file by means of the other attribute information included in the characteristic information, specifying the file by using the predetermined function to generate the identity information (30) and then comparing the generated identity information with the identity information included in the characteristic information; andwhen unable to specify said file by means of the identity information, determining the similarity between file path information of the transfer source file sharing device and file path information of the transfer destination file sharing device, by comparing parts of the file paths, and then specifying the file on the basis of this similarity.
- A method according to claim 5, including the further steps of:acquiring (S21) the name of a transferred directory;reading (S22) the generated identity information (30);acquiring (S23) transfer destination directory information;setting (S24), on the basis of information on the transfer target directory and said transfer destination directory information, a search range;acquiring (S25) a single record of data from the identity information;based on general characteristic information in said record, performing (S26) a search for files within the set range having identical characteristic information to said general characteristic information in said record;judging (S29) whether a plurality of files are found in said search;where only a single file is found in said search, setting (S30) the access control list information for said file based on the access control set for the transfer target source file;
where a plurality of files are found in said search:calculating (S31) a hash value for each of the retrieved files;judging (S32) whether only one file found in said search has the same hash value as the hash value of the transfer target source file;where only a single file found in said search is judged to have the same hash value as the hash value of the transfer target source file, setting (S33) the access control list information for said file based on the access control set for the transfer target source file;
where a plurality of files are judged to have the same hash value as the hash value of the transfer target source file, specifying (S34) a single object file from among said plurality by comparing the source file path information indicated by the identity information and the file path information of each of said plurality of files;
repeating (S36) the above steps until all transfer target files have been specified. - A method according to claim 6 wherein said step of specifying (S34) by comparing the source file path information indicated by the identity information and the file path information of each of said plurality of files includes the sub-steps of:setting (S41) a character string number, which is a judgement value for judging that the file path is similar; comparing (S42) the length of the source file path to the length of the file path of a selected one of said plurality of files;setting (S43, S44) as a size of the examination path the size of the shorter of either the length of the source file path or the length of the file path of said selected file;setting (S45) character acquisition pointers for acquiring characters for a comparison at the end of each of the source file path and the file path of said selected file;resetting (S46) a judgement counter for counting the number of times characters taken from the respective file paths match;acquiring (S47, S48) one character from the end of the source file path and one character from the end of the file path of said selected file;comparing said acquired characters and judging (S49) whether the two characters match, and if it is judged that the two characters match, incrementing (S50) the judgement counter;judging (S50) whether the number of characters compared between said file paths is equal to the size of the set examination path;when the number of characters compared between said file paths is not equal to the size of the set examination path, shifting the acquisition pointers to the next character and repeating (S52) the above steps of acquiring, comparing and judging;when the number of characters compared is equal to the size of the set examination path, comparing (S53) the count value of the judgement counter and the character string number;when the judgement counter count value is equal to or more than the character string number, adjudging that the selected file matches the source file, and setting (S54) the access control list information for said selected file based on the access control set for the transfer target source file;repeating (S55) the above sub-steps for each of said plurality of files.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003312273 | 2003-09-04 | ||
JP2003312273A JP2005078612A (en) | 2003-09-04 | 2003-09-04 | File sharing system, and file transfer method between file sharing systems |
Publications (2)
Publication Number | Publication Date |
---|---|
EP1513065A1 EP1513065A1 (en) | 2005-03-09 |
EP1513065B1 true EP1513065B1 (en) | 2008-06-04 |
Family
ID=34131856
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP04254969A Expired - Lifetime EP1513065B1 (en) | 2003-09-04 | 2004-08-18 | File system and file transfer method between file sharing devices |
Country Status (4)
Country | Link |
---|---|
US (1) | US20050131902A1 (en) |
EP (1) | EP1513065B1 (en) |
JP (1) | JP2005078612A (en) |
DE (1) | DE602004014221D1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3660664B1 (en) * | 2008-03-28 | 2024-04-24 | Alibaba Group Holding Limited | File folder transmission on network |
Families Citing this family (57)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4729844B2 (en) * | 2003-10-16 | 2011-07-20 | 富士ゼロックス株式会社 | Server apparatus, information providing method, and program |
US7549171B2 (en) * | 2004-06-10 | 2009-06-16 | Hitachi, Ltd. | Method and apparatus for validation of application data on a storage system |
US20060026285A1 (en) * | 2004-07-28 | 2006-02-02 | David Osofsky | Systems and methods for transmitting electronic data |
US9112831B2 (en) | 2004-07-28 | 2015-08-18 | International Business Machines Corporation | Scalable infrastructure for handling light weight message protocols |
US7739309B2 (en) * | 2004-09-30 | 2010-06-15 | Microsoft Corporation | Method, system, and computer-readable medium for merging data from multiple data sources for use in an electronic document |
JP4829579B2 (en) * | 2005-01-31 | 2011-12-07 | キヤノン株式会社 | Image processing apparatus and image processing method |
JP4042759B2 (en) * | 2005-05-17 | 2008-02-06 | コニカミノルタビジネステクノロジーズ株式会社 | DATA FILE MANAGEMENT DEVICE, DATA FILE MANAGEMENT PROGRAM, AND RECORDING MEDIUM CONTAINING THE PROGRAM |
WO2007032046A1 (en) * | 2005-09-12 | 2007-03-22 | Fujitsu Limited | Hsm control program, hsm control device, and hsm control method |
JP2007079864A (en) * | 2005-09-13 | 2007-03-29 | Fuji Xerox Co Ltd | Content management system, control method of content management system and control program of content mangement system |
US8161449B2 (en) * | 2005-10-17 | 2012-04-17 | Freescale Semiconductor, Inc. | Improving test pattern coverage through parallel discard, flow control, and quality metrics |
US8255861B2 (en) * | 2005-10-17 | 2012-08-28 | Freescale Semiconductor, Inc. | Efficient replaying of autograded coverage regressions and performance verification with directed testcases |
US8352428B2 (en) * | 2005-10-17 | 2013-01-08 | Freescale Semiconductor, Inc. | Network file update mechanism with integrity assurance |
US20080276171A1 (en) * | 2005-11-29 | 2008-11-06 | Itzchak Sabo | Filing System |
WO2007099636A1 (en) * | 2006-03-02 | 2007-09-07 | Fujitsu Limited | File system migration method, program and apparatus |
US20080235163A1 (en) * | 2007-03-22 | 2008-09-25 | Srinivasan Balasubramanian | System and method for online duplicate detection and elimination in a web crawler |
JP2008276488A (en) * | 2007-04-27 | 2008-11-13 | Hitachi Ltd | Storage system and information migration method for storage system |
US9311633B2 (en) * | 2007-06-22 | 2016-04-12 | David Rosenberg | Digital file processing for secondary sale |
WO2009008027A1 (en) * | 2007-07-06 | 2009-01-15 | Fujitsu Limited | Storage management device |
JP4977565B2 (en) * | 2007-09-18 | 2012-07-18 | 株式会社日立製作所 | An access controller that controls access to files using an access control list |
JP5102916B2 (en) * | 2007-10-12 | 2012-12-19 | 株式会社日立製作所 | Storage system and storage system management method |
JP4453738B2 (en) * | 2007-10-18 | 2010-04-21 | ソニー株式会社 | File transfer method, apparatus, and program |
US20090327904A1 (en) * | 2008-06-27 | 2009-12-31 | Microsoft Corporation | Presenting dynamic folders |
US9106617B2 (en) * | 2009-03-10 | 2015-08-11 | At&T Intellectual Property I, L.P. | Methods, systems and computer program products for authenticating computer processing devices and transferring both encrypted and unencrypted data therebetween |
JP5331555B2 (en) * | 2009-04-23 | 2013-10-30 | 株式会社日立製作所 | Data migration system and data migration method |
US8694479B1 (en) * | 2009-05-05 | 2014-04-08 | Amazon Technologies, Inc. | Placing digital content in a personalized data store |
US8806477B2 (en) * | 2009-10-30 | 2014-08-12 | Red Hat, Inc. | Space efficient software package management |
US20110119188A1 (en) * | 2009-11-18 | 2011-05-19 | American Express Travel Related Services Company, Inc. | Business to business trading network system and method |
JP5625722B2 (en) * | 2010-02-04 | 2014-11-19 | 株式会社リコー | Sheet folding apparatus and image forming apparatus |
JP5533887B2 (en) * | 2010-02-10 | 2014-06-25 | 日本電気株式会社 | Storage device |
JP5396314B2 (en) | 2010-03-10 | 2014-01-22 | 株式会社日立製作所 | Unauthorized operation detection system and unauthorized operation detection method |
US9124616B2 (en) * | 2010-04-02 | 2015-09-01 | Hitachi, Ltd. | Computer system management method and client computer |
JP5525048B2 (en) | 2010-06-29 | 2014-06-18 | 株式会社日立製作所 | Unauthorized operation detection method and computer for detecting unauthorized operation |
CN102609489A (en) * | 2012-01-21 | 2012-07-25 | 华为技术有限公司 | Method and terminal for automatically copying data |
US9141634B2 (en) | 2012-01-21 | 2015-09-22 | Huawei Technologies Co., Ltd. | Method for automatic data replication and terminal |
JP5952612B2 (en) * | 2012-03-28 | 2016-07-13 | キヤノン株式会社 | Information processing apparatus, information processing method, and program |
JP5280568B1 (en) * | 2012-06-29 | 2013-09-04 | 楽天株式会社 | Information processing apparatus, information processing method, and information processing program |
US9912713B1 (en) | 2012-12-17 | 2018-03-06 | MiMedia LLC | Systems and methods for providing dynamically updated image sets for applications |
US10725996B1 (en) * | 2012-12-18 | 2020-07-28 | EMC IP Holding Company LLC | Method and system for determining differing file path hierarchies for backup file paths |
US9465521B1 (en) | 2013-03-13 | 2016-10-11 | MiMedia, Inc. | Event based media interface |
US9298758B1 (en) | 2013-03-13 | 2016-03-29 | MiMedia, Inc. | Systems and methods providing media-to-media connection |
US9183232B1 (en) | 2013-03-15 | 2015-11-10 | MiMedia, Inc. | Systems and methods for organizing content using content organization rules and robust content information |
US10257301B1 (en) | 2013-03-15 | 2019-04-09 | MiMedia, Inc. | Systems and methods providing a drive interface for content delivery |
US11100051B1 (en) * | 2013-03-15 | 2021-08-24 | Comcast Cable Communications, Llc | Management of content |
CN104123309B (en) * | 2013-04-28 | 2017-08-25 | 国际商业机器公司 | Method and system for data management |
US20140372750A1 (en) * | 2013-05-08 | 2014-12-18 | Intermedia.net. Inc. | Client-side encryption |
US9547731B2 (en) * | 2013-07-12 | 2017-01-17 | Blackberry Limited | Merging sets of data objects for display |
JP6037469B2 (en) * | 2014-11-19 | 2016-12-07 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | Information management system, information management method and program |
US10921974B2 (en) * | 2016-03-30 | 2021-02-16 | Microsoft Technology Licensing, Llc | Using drag and drop to apply metadata |
JP6799255B2 (en) * | 2016-11-22 | 2020-12-16 | 富士通株式会社 | Job power consumption estimation program, parallel processing device and job power consumption estimation method |
US10659483B1 (en) * | 2017-10-31 | 2020-05-19 | EMC IP Holding Company LLC | Automated agent for data copies verification |
US10664619B1 (en) | 2017-10-31 | 2020-05-26 | EMC IP Holding Company LLC | Automated agent for data copies verification |
US10534708B1 (en) * | 2018-06-25 | 2020-01-14 | Microsoft Technology Licensing, Llc | Shallow cache for content replication |
CN112953983A (en) * | 2019-12-10 | 2021-06-11 | 中盈优创资讯科技有限公司 | SFTP transmission method and device |
JP7359026B2 (en) * | 2020-02-21 | 2023-10-11 | 株式会社リコー | Image forming device, authority setting method, and program |
US20220043774A1 (en) * | 2020-08-10 | 2022-02-10 | Spinnaker Support, LLC | Systems, methods, and storage media for transferring data files |
CN113326511B (en) * | 2021-06-25 | 2024-04-09 | 深信服科技股份有限公司 | File repair method, system, equipment and medium |
CN114374690B (en) * | 2022-01-21 | 2023-10-31 | 荣耀终端有限公司 | File sharing method, communication system and electronic equipment |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5832274A (en) * | 1996-10-09 | 1998-11-03 | Novell, Inc. | Method and system for migrating files from a first environment to a second environment |
US5974424A (en) * | 1997-07-11 | 1999-10-26 | International Business Machines Corporation | Parallel file system and method with a metadata node |
US6192408B1 (en) * | 1997-09-26 | 2001-02-20 | Emc Corporation | Network file server sharing local caches of file access information in data processors assigned to respective file systems |
US6714952B2 (en) * | 1999-11-10 | 2004-03-30 | Emc Corporation | Method for backup and restore of a multi-lingual network file server |
JP2004508608A (en) * | 2000-03-20 | 2004-03-18 | コモド リサーチ ラボ リミテッド | Improvements in how web pages are accessed and used, and improvements related to those methods |
US8032542B2 (en) * | 2000-10-26 | 2011-10-04 | Reynolds Mark L | Creating, verifying, managing, and using original digital files |
WO2002075571A1 (en) * | 2001-03-16 | 2002-09-26 | Otg Software, Inc. | Network file sharing method and system |
SG103289A1 (en) * | 2001-05-25 | 2004-04-29 | Meng Soon Cheo | System for indexing textual and non-textual files |
US8205193B2 (en) * | 2001-06-11 | 2012-06-19 | Hewlett-Packard Development Company, L.P. | Runtime updating of virtual machine class files |
US6918107B2 (en) * | 2001-07-02 | 2005-07-12 | Bea Systems, Inc. | Programming language extensions for processing data representation language objects and related applications |
AU2002313583A1 (en) * | 2001-08-01 | 2003-02-17 | Actona Technologies Ltd. | Virtual file-sharing network |
JP4168626B2 (en) * | 2001-12-06 | 2008-10-22 | 株式会社日立製作所 | File migration method between storage devices |
US6922761B2 (en) * | 2002-03-25 | 2005-07-26 | Emc Corporation | Method and system for migrating data |
JP4066705B2 (en) * | 2002-05-01 | 2008-03-26 | ブラザー工業株式会社 | Image processing system, program, and recording medium |
JP2003323321A (en) * | 2002-05-01 | 2003-11-14 | Brother Ind Ltd | Data file transfer control device, data file processor, printing output device, program and recording medium |
US7092972B2 (en) * | 2002-05-09 | 2006-08-15 | Sun Microsystems, Inc. | Delta transfers in distributed file systems |
US7448077B2 (en) * | 2002-05-23 | 2008-11-04 | International Business Machines Corporation | File level security for a metadata controller in a storage area network |
CA2391717A1 (en) * | 2002-06-26 | 2003-12-26 | Ibm Canada Limited-Ibm Canada Limitee | Transferring data and storing metadata across a network |
US7073096B2 (en) * | 2002-10-18 | 2006-07-04 | Wind River Systems, Inc. | File path resolving debugger |
US20040088410A1 (en) * | 2002-11-06 | 2004-05-06 | Flynn Thomas J. | Computer network architecture |
-
2003
- 2003-09-04 JP JP2003312273A patent/JP2005078612A/en active Pending
-
2004
- 2004-02-23 US US10/785,749 patent/US20050131902A1/en not_active Abandoned
- 2004-08-18 DE DE602004014221T patent/DE602004014221D1/en not_active Expired - Lifetime
- 2004-08-18 EP EP04254969A patent/EP1513065B1/en not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3660664B1 (en) * | 2008-03-28 | 2024-04-24 | Alibaba Group Holding Limited | File folder transmission on network |
Also Published As
Publication number | Publication date |
---|---|
US20050131902A1 (en) | 2005-06-16 |
EP1513065A1 (en) | 2005-03-09 |
DE602004014221D1 (en) | 2008-07-17 |
JP2005078612A (en) | 2005-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1513065B1 (en) | File system and file transfer method between file sharing devices | |
JP4255373B2 (en) | Management and synchronization application for network file systems | |
US6505212B2 (en) | System and method for website development | |
US6792454B2 (en) | System and method for website development | |
US8180812B2 (en) | Templates for configuring file shares | |
US7386532B2 (en) | System and method for managing versions | |
JP4416821B2 (en) | A distributed file system that maintains a fileset namespace accessible to clients over the network | |
EP1074925B1 (en) | Document management system, information processing apparatus, document management method and computer-readable recording medium | |
US7953928B2 (en) | Apparatus and a method to make data sets conform to data management policies | |
US8201079B2 (en) | Maintaining annotations for distributed and versioned files | |
US5729735A (en) | Remote database file synchronizer | |
JPH04268932A (en) | Limiting method for allowable operation of selected document and data processing system | |
US7376681B1 (en) | Methods and apparatus for accessing information in a hierarchical file system | |
CA2458416A1 (en) | Techniques for restoring data based on contents and attributes of the data | |
US7366836B1 (en) | Software system for providing storage system functionality | |
EP1480130B1 (en) | Method and apparatus for moving data between storage devices | |
US20050216428A1 (en) | Distributed data management system | |
US20050108237A1 (en) | File system | |
US8788460B2 (en) | Exploring attached and unattached content databases | |
JP4647438B2 (en) | Document management system | |
US7979665B1 (en) | Method and apparatus for processing access requests in a computer system | |
JPH117445A (en) | Integrated document management device | |
JP2004133505A (en) | File management system | |
JP3725087B2 (en) | Knowledge information collecting system and knowledge information collecting method | |
Hancock | Tru64 Unix file system administration handbook |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 20040907 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LI LU MC NL PL PT RO SE SI SK TR |
|
AX | Request for extension of the european patent |
Extension state: AL HR LT LV MK |
|
AKX | Designation fees paid |
Designated state(s): DE FR GB |
|
17Q | First examination report despatched |
Effective date: 20051017 |
|
17Q | First examination report despatched |
Effective date: 20051017 |
|
GRAP | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOSNIGR1 |
|
RIC1 | Information provided on ipc code assigned before grant |
Ipc: G06F 17/30 20060101AFI20080122BHEP |
|
GRAS | Grant fee paid |
Free format text: ORIGINAL CODE: EPIDOSNIGR3 |
|
GRAA | (expected) grant |
Free format text: ORIGINAL CODE: 0009210 |
|
AK | Designated contracting states |
Kind code of ref document: B1 Designated state(s): DE FR GB |
|
REG | Reference to a national code |
Ref country code: GB Ref legal event code: FG4D |
|
REF | Corresponds to: |
Ref document number: 602004014221 Country of ref document: DE Date of ref document: 20080717 Kind code of ref document: P |
|
PLBE | No opposition filed within time limit |
Free format text: ORIGINAL CODE: 0009261 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT |
|
26N | No opposition filed |
Effective date: 20090305 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: FR Payment date: 20120823 Year of fee payment: 9 |
|
REG | Reference to a national code |
Ref country code: FR Ref legal event code: ST Effective date: 20140430 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: FR Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20130902 |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R079 Ref document number: 602004014221 Country of ref document: DE Free format text: PREVIOUS MAIN CLASS: G06F0009450000 Ipc: G06F0009440000 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: GB Payment date: 20220630 Year of fee payment: 19 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: DE Payment date: 20220629 Year of fee payment: 19 |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R119 Ref document number: 602004014221 Country of ref document: DE |
|
GBPC | Gb: european patent ceased through non-payment of renewal fee |
Effective date: 20230818 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: GB Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20230818 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: GB Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20230818 Ref country code: DE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20240301 |