WO2016121083A1 - 計算機システム、分散オブジェクト共有方法、エッジノード - Google Patents

計算機システム、分散オブジェクト共有方法、エッジノード Download PDF

Info

Publication number
WO2016121083A1
WO2016121083A1 PCT/JP2015/052622 JP2015052622W WO2016121083A1 WO 2016121083 A1 WO2016121083 A1 WO 2016121083A1 JP 2015052622 W JP2015052622 W JP 2015052622W WO 2016121083 A1 WO2016121083 A1 WO 2016121083A1
Authority
WO
WIPO (PCT)
Prior art keywords
namespace
directory
local
collision
node
Prior art date
Application number
PCT/JP2015/052622
Other languages
English (en)
French (fr)
Inventor
美里 吉田
昌忠 ▲高田▼
彰義 土谷
仁志 亀井
Original Assignee
株式会社日立製作所
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社日立製作所 filed Critical 株式会社日立製作所
Priority to PCT/JP2015/052622 priority Critical patent/WO2016121083A1/ja
Priority to JP2016571623A priority patent/JP6298903B2/ja
Priority to US15/540,045 priority patent/US10412163B2/en
Publication of WO2016121083A1 publication Critical patent/WO2016121083A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/176Support for shared access to files; File sharing support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • G06F16/1827Management specifically adapted to NAS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1873Versioning file systems, temporal file systems, e.g. file system supporting different historic versions of files
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Definitions

  • the present invention generally relates to distributed object sharing.
  • a computer system in which an edge server is arranged at each of a plurality of bases, and a core server communicable with each edge server is arranged at a data center away from the plurality of bases (for example, Patent Document 1).
  • the edge node provides a name space (hereinafter referred to as a local name space) like a file system to the client, and the client updates the local name space (for example, an object (directory in the local name space). Or a file) (for example, create, update, delete, rename, or copy).
  • An update of the local namespace provided by any of the edge nodes is reflected in a namespace managed by the core node (hereinafter referred to as a center namespace) (migration).
  • the update of the center namespace managed by the core node is reflected in the local namespace provided by another edge node (synchronization). In this way, a plurality of edge nodes share a name space.
  • Patent Document 1 solves the collision by moving the collision file to the special directory for saving.
  • Non-Patent Document 1 solves a collision by either a method of moving a conflict file to a special directory for saving or a method of overwriting a file according to another change operation on the conflict file.
  • the method of overwriting (hereinafter referred to as the first method) is simply adopted, the contents of the previously updated object will be lost. If the method of moving the conflict file to the special directory for saving (hereinafter referred to as the second method) is simply adopted, a large number of objects may exist under the special directory for saving, and the management may be complicated. .
  • the center node or the second edge node (A) and (B) are performed for objects that differ from the name space. Specifically, it is determined whether the center node or the second edge node corresponds to any one of a plurality of defined collision cases (A), and (B) (A) If the result of the determination is affirmative, processing according to the conflict resolution policy corresponding to the corresponding conflict case is executed.
  • At least one of convenience and flexibility is high compared to always performing only one of the first and second methods.
  • FIG. 1 shows an overview of a computer system according to an embodiment.
  • the structure of NAS is shown.
  • the structure of CAS is shown.
  • An example of policy information is shown.
  • An example of the structure of a special directory is shown.
  • An example of the state before and after the migration process from NAS to CAS at the site A is shown.
  • An example of the state before and after the synchronous process from CAS to NAS of base B is shown.
  • An example of the local site update list is shown below. It is a flowchart of the migration process from NAS to CAS. It is a flowchart of the synchronous process from CAS to NAS. It is a flowchart of a namespace reflection process.
  • 2 shows an example of a first UI.
  • An example of the second UI is shown.
  • xxx list information may be described using the expression “xxx list”, but the information may be expressed in any data structure. That is, in order to show that information does not depend on the data structure, “xxx list” can be called “xxx information”.
  • ID or name is used as element identification information, but other types of identification information may be used instead or in addition.
  • a reference number or a common number in the reference number is used, and when a description is made by distinguishing the same type of element, the reference number of the element is used.
  • an ID assigned to the element may be used instead of the reference code.
  • the “storage unit” may be one or more storage devices including a memory.
  • the storage unit may be at least a main storage device of a main storage device (typically a volatile memory) and an auxiliary storage device (typically a nonvolatile storage device).
  • the storage unit may include at least one of a cache area (for example, a cache memory or a partial area thereof) and a buffer area (for example, a buffer memory or a partial area thereof).
  • PDEV indicates a physical storage device, and may typically be a nonvolatile storage device (for example, an auxiliary storage device).
  • the PDEV may be, for example, an HDD (Hard Disk Drive) or an SSD (Solid State Drive).
  • RAID is an abbreviation for Redundant Array of Independent (or Inexpensive) Disks.
  • the RAID group is composed of a plurality of PDEVs, and stores data according to the RAID level associated with the RAID group.
  • the RAID group may be referred to as a parity group.
  • the parity group may be, for example, a RAID group that stores parity.
  • the process may be described with “program” as the subject, but the program is executed by a processor (for example, a CPU (Central Processing Unit)) so that a predetermined process can be appropriately performed. Since the processing is performed using a storage unit (for example, a memory) and / or an interface device (for example, a communication port), the subject of processing may be a processor.
  • the processing described with the program as the subject may be processing performed by a processor or an apparatus or system having the processor.
  • the processor may include a hardware circuit that performs a part or all of the processing.
  • the program may be installed in a computer-like device from a program source.
  • the program source may be, for example, a storage medium (for example, a portable storage medium) that can be read by a program distribution server or a computer.
  • the program distribution server may include a processor (for example, a CPU) and a storage unit, and the storage unit may further store a distribution program and a program to be distributed. Then, the processor of the program distribution server executes the distribution program, so that the processor of the program distribution server may distribute the distribution target program to other computers.
  • two or more programs may be realized as one program, or one program may be realized as two or more programs.
  • the management node may be composed of one or more computers. Specifically, for example, when the management computer displays information (specifically, for example, the management computer displays information on its own display device, or the management computer displays display information in a remote display computer)
  • the management computer is the management node.
  • the plurality of computers (which may include a display computer when the display computer performs display) are management nodes.
  • the management computer may include an interface device connected to an I / O system including a display system, a storage unit (for example, a memory), and a processor connected to the interface device and the storage unit.
  • the display system may be a display device included in the management computer or a display computer connected to the management computer.
  • the I / O system may be an I / O device (for example, a keyboard and a pointing device or a touch panel) included in the management computer, a display computer connected to the management computer, or another computer.
  • “Displaying display information” by the management computer means displaying the display information on the display system, which may be displaying the display information on a display device included in the management computer.
  • the management computer may transmit display information to the display computer (in the latter case, the display information is displayed by the display computer).
  • the management computer inputting / outputting information may be inputting / outputting information to / from an I / O device of the management computer, or a remote computer connected to the management computer (for example, a display) Information may be input / output to / from the computer.
  • the information output may be a display of information.
  • NAS Network Attached Storage
  • CAS Content Addressed Storage
  • a conflict resolution policy that prioritizes the center namespace (in other words, the previously updated local namespace) over the local namespace of the reflection destination is adopted. Is done. However, any namespace may be prioritized. For example, the priority of a local namespace in one NAS may be higher than the priority of the center namespace, and the priority of another NAS local namespace may be lower than the priority of the center namespace.
  • the conflict resolution policy may be provided in any of the NAS, CAS, and the management node connected to at least one of the CAS and the plurality of NAS.
  • reflection from NAS to CAS reflection of local name space update to center name space
  • reflection from CAS to NAS center name space update local name Reflection in space
  • the computer system may have a plurality of clients and a NAS instead of a plurality of NAS and a CAS. That is, an example of an edge node may be a client, and an example of a core node may be a NAS.
  • file system is adopted as an example of the name space.
  • the file system is sometimes called “FS”.
  • an object closer to the root node than a certain object may be referred to as a “higher object”, and among them, an object closest to the certain object may be referred to as a “parent object”. is there.
  • an object farther from the root node than a certain object may be referred to as a “subordinate object”, and among these objects, an object closest to the certain object may be referred to as a “child object”.
  • the object is, for example, a directory or a file.
  • FIG. 1 shows an outline of a computer system according to the embodiment.
  • a plurality of bases 100 exist for one data center 120.
  • the base A (100A) and the base B (100B) are two bases, that is, the base A (100A) and the base B (100B), as the plurality of bases 100, but the number of bases 100 may be more than two.
  • “A” is added to the end of the reference symbol for the elements in the site A
  • “B” is added to the end of the reference symbol for the elements in the site B. May be explained.
  • neither “A” nor “B” may be added to the end of the reference sign.
  • one of the base A and the base B will be described as an example, and the description of the other may be omitted, in order to avoid redundancy (duplication) of the description.
  • the base A and the base B have the same function.
  • the site A (100A) includes a client 101A and a NAS 102A that provides the client 101A with a local FS 104A via a communication network 103A (for example, a LAN (Local Area Network)).
  • the base B (100B) includes a client 101B and a NAS 102B that provides the client 101B with a local FS 104B via a communication network 103B (for example, a LAN).
  • the client 101 is a computer that uses a file sharing service provided by the NAS 102.
  • the client 101 uses a file sharing service provided by the NAS 102 via the network 103 using a file sharing protocol such as NFS (Network File System) or CIFS (Common Internet File System).
  • NFS Network File System
  • CIFS Common Internet File System
  • the data center 120 has a CAS 121 that provides a center FS 122.
  • NASs 102A and 102B are connected to the CAS 121 via communication networks 105A and 105B (for example, WAN (Wide Area Network)).
  • Communication networks 105A and 105B may be integrated, or may be separate communication networks.
  • a management node 124 is connected to the CAS 121 via a communication network 123 (for example, a LAN).
  • the administrator (operator of the management node 124) manages the CAS 121 (and NAS 102) from the management node 124. Examples of management include starting operation of the CAS 121 (and NAS 102), stopping the CAS 121 (and NAS 102), managing the account of the client 101, and the like.
  • the management node 124 may be communicably connected to at least one NAS, or may be provided with at least one NAS management node separately from the management node 124.
  • Data read / written by the client 101A is stored as a file in the local FS 104A.
  • data read and written by the client 101B is stored as a file in the local FS 104B.
  • the local FSs 104A and 104B and the center FS 122 have the same name space.
  • the NAS 102 transmits a file stored in the local FS 104 to the data center 120 at a certain opportunity (predetermined or arbitrary timing), and the transmitted file is stored in the center FS 122 (migration). Further, the NAS 102 reflects the update of the center FS 122 to the local FS 104 (synchronization) at a certain opportunity (predetermined or arbitrary timing).
  • each NAS 102 holds the policy information 400.
  • the policy information 400 includes a plurality of conflict resolution policies respectively corresponding to a plurality of defined collision cases.
  • Each NAS 102 refers to the policy information 400 in synchronization, and any one of a plurality of defined collision cases for different objects between the center FS 122 (reflection source) and the local FS 104 (reflection destination). It is judged whether it corresponds to. If the result of the determination is affirmative, the NAS 102 executes processing according to the conflict resolution policy corresponding to the corresponding conflict case for the different object.
  • the NAS 102A has updated the local FS 104A in response to a write request from the client 101A. It is assumed that the update is performed on the file X which is one of the child objects of the directory A in the local FS 104A.
  • the update of the file X is an update of the contents or the file name of the file X.
  • the file X updated in the NAS 102A is referred to as “file X1”.
  • the NAS 102B updates the local FS 104B in response to a write request from the client 101B before the local FS 104A is updated or before the update is reflected.
  • the update is performed on the same file following the same file path, that is, the file X that is one of the child objects of the directory A.
  • the update is also an update of the contents or file name of the file X, but is an update different from the update in the NAS 102A.
  • the file X updated in the NAS 102B is referred to as “file X2”.
  • File X1 and file X2 collide.
  • the NAS 102A communicates with the CAS 121 first. Accordingly, it is assumed that the NAS 102A specifies that the file X1 does not collide with the file in the center FS 122. It is assumed that migration is performed between the NAS 102A and the CAS 121. That is, it is assumed that the update of the local FS 104A is reflected in the center FS 122. Accordingly, in the center FS 122, the file X in the directory A is updated to the file X1.
  • the NAS 102B communicates with the CAS 121.
  • the NAS 102B specifies that the file X2 collides with the file X1 in the center FS122.
  • the NAS 102B specifies a conflict resolution policy corresponding to the collision case from the policy information 400, and executes processing according to the identified conflict resolution policy.
  • the processing is as follows. That is, the NAS 102B creates a save directory (not shown) in the local FS 104B below the special directory 702B (“.conflict”).
  • the special directory 702B is a predetermined directory that is a creation destination of the save directory.
  • the NAS 102B is a file path that is a path in the local FS 104B and a path to the collision file X2 (the collision file X2 and a higher level object existing in the path between the collision file X2 and the root node). Group) is saved in a save directory created under the special directory 702B. Further, as indicated by reference numeral 155, the NAS 102B is a path within the center FS 122 and a path to the file X1 (a group of file X1 and upper objects existing in the path between the file X1 and the root node). ) Is reflected in the local FS 104B. Note that the group to be saved to the save directory and the group to be reflected to the local FS 104 may be only the conflict file and its parent object.
  • each NAS 102 holds the policy information 400, but the policy information 400 is connected to at least one of the CAS 121 and the CAS 121 and the NAS 102 as indicated by a broken line instead of or in addition to the NAS 102. May be held by at least one of the management nodes 124 to be managed.
  • communication such as notification (or inquiry) may be required between the NAS 102 and the node, but each NAS 102 holds the policy information 400 as in this embodiment. If so, such communication is not necessary.
  • an edge node such as NAS 102 is a node that first accepts a change operation on a file (for example, a request for creation, update, or rename), so that such a node has policy information 400 (and follows a conflict resolution policy).
  • the significance of executing the process is considered to be greater than that of other types of nodes having the policy information 400.
  • the collision case may be specified by either the CAS 121 or the management node 124 instead of the NAS 102.
  • the processing according to the conflict resolution policy is performed by the NAS 102, but the processing may be performed according to an instruction from the CAS 121 or the management node 124 that specifies the conflict resolution policy. For example, a save directory may be created in the center FS 122, and the collision file may be saved in the save directory.
  • a plurality of collision cases and a plurality of collision resolution policies respectively corresponding to the plurality of collision cases are defined, and processing according to the collision resolution policy corresponding to the corresponding collision case is executed. Accordingly, at least one of convenience and flexibility is higher than always performing only one of the method of overwriting and the method of saving the conflict file in the saving directory. Specifically, for example, it can be expected to maintain the name space of the structure intended by the user.
  • FIG. 2 shows the configuration of the NAS 102.
  • the interface device is abbreviated as “I / F”.
  • the NAS 102 includes a storage device 220 and a NAS controller 200 connected to the storage device 220.
  • the storage apparatus 220 includes an I / F 223 connected to the NAS controller 200, a memory 221, a plurality of PDEVs 224, and a CPU 222 connected thereto.
  • the plurality of PDEVs 224 may be one or more RAID groups.
  • the CPU 222 may provide one or more logical volumes to the NAS controller 200, and a storage space based on at least a part of the one or more logical volumes may be provided to the client 101 as the local FS 104 by the NAS controller 200.
  • File data stored in the local FS 104 is stored in one or more PDEVs 224.
  • the NAS controller 200 may be a so-called NAS head.
  • the NAS controller 200 includes a memory (an example of a storage unit) 201 for storing programs and information, an external network I / F 203 connected to the client 101 via the network 103, and an internal connected to the CAS 121 via the network 105. It has a network I / F 204, an I / F 205 connected to the storage apparatus 220, and a CPU (an example of a processor) 202 connected to them.
  • Each of the I / Fs 203 to 205 is an example of an I / F, and two or more of the I / Fs 203 to 205 may be the same I / F.
  • the CPU 202 executes a program in the memory 201.
  • the memory 201 stores a file sharing server program 206, a file sharing client program 207, an FS program 208, an update list generation program 209, a synchronization program 211, a migration program 212, a local site update list 213, and synchronized version information 214. . At least a part of these programs and information stored in the memory 201 may be read from the storage device 220 to the memory 201 by the CPU 202.
  • the file sharing server program 206 is a program that accepts operations on objects (for example, files or directories) in the local FS 104 from the client 101.
  • the file sharing client program 207 is a program for performing operations on files stored in the center FS 122.
  • the FS program 208 is a program that provides the local FS 104.
  • the update list generation program 209 is a program that generates the local site update list 213.
  • the synchronization program 211 is a program that performs synchronization from the center FS 122 to the local FS 104.
  • the synchronization program 211 holds the policy information 400 described above.
  • the policy information 400 may be held so that other programs in addition to the synchronization program 211 can be accessed.
  • the migration program 212 is a program for performing migration from the local FS 104 to the center FS 122.
  • the local site update list 213 is a list of information related to the update of the local FS 104.
  • the update of the local FS 104 may be detected by an OS (Operating System) monitoring function (not shown), and the update list generation program 209 receives a notification that an update of the local FS 104 has been detected, 213 may be generated.
  • An example of the local site update list 213 is shown in FIG.
  • the own site update list 213 includes SYSTEM_ID 806 that is the ID of the site where the local FS 104 has been updated, CURRENT SYNC VERSION 807 that is information indicating the latest version of synchronization from the CAS 121, and the type of object updated by the client 101 (for example, MIGTYPE 808 that is information indicating a file or directory) and update content 809 that is information indicating update content.
  • Reference numeral 213A-1 shows an example of the local site update list when the file X in the site A is edited (when the contents of the file X are updated).
  • the update content 809 in the list 231A-1 indicates the file path name of the edited file.
  • Reference numeral 213B-2 shows an example of the local site update list when the file X in the site B is edited.
  • Reference numeral 213A-3 shows an example of the local site update list when the directory “dir001” in the site A is renamed to “dir004”.
  • the update content 809 in the list 213A-3 indicates the name of the rename source and the rename destination, and the name of the parent directory.
  • Reference numeral 213A-4 shows an example of the local site update list when the child directory “dir002” is created in the directory “dir001” in the site A.
  • the update contents 809 in the list 213A-4 indicate the created directory and its parent directory.
  • Reference numeral 213A-5 shows an example of the local site update list when the directory “dir001” in the site A is deleted.
  • the update content 809 in the list 213A-5 indicates the deleted directory.
  • Such a local site update list 213 is transmitted to the CAS 121. Updates according to the local site update list 213 are reflected on the local FS 104 of another NAS 102 through the CAS 121, so that FS synchronization is possible between the sites.
  • the synchronized version information 214 is the latest version of the local site update list 213 reflected in the NAS 102 of the local site among the set of local site update lists 213 (one or more local site update lists 213) held in the CAS 121. Contains information representing. Thus, at the next synchronization, it is possible to select and reflect a list that has not yet been reflected in the local site from the set of local site update lists 213 in the CAS 121.
  • FIG. 3 shows the configuration of the CAS 121.
  • the CAS 121 includes a storage device 320 and a CAS controller 300 connected to the storage device 320.
  • the configuration of the storage device 320 may be the same as the configuration of the storage device 220. That is, the storage apparatus 320 also includes an I / F 323 connected to the CAS controller 300, a memory 321, a plurality of PDEVs 324, and a CPU 322 connected to them.
  • the CAS controller 300 is connected to a management node 124 via a memory (an example of a storage unit) 301 for storing programs and information, a front-end network I / F 303 connected to the NAS 102 via the network 105, and a network 123.
  • Each of the I / Fs 303 to 305 is an example of an I / F, and two or more of the I / Fs 303 to 305 may be the same I / F.
  • the CPU 322 executes a program in the memory 301.
  • the memory 301 stores a file sharing server program 306, an FS program 307, an update list 309, and update list version information 310. At least a part of these programs and information stored in the memory 301 may be read from the storage device 320 to the memory 301 by the CPU 302.
  • the file sharing server program 306 is a program that receives an operation on an object (for example, a file or a directory) in the center FS 122 from each NAS 102.
  • the FS program 307 provides the center FS 122.
  • the update list 309 is a local site update list received from each NAS 102 during migration or the like.
  • the update list version information 310 is information including the version (for example, version ID (number)) of each update list 309 received from each NAS 102.
  • FIG. 4 shows an example of the policy information 400.
  • Policy information 400 is held by each of the plurality of NASs 102.
  • the policy information 400 may be the same in a plurality of NAS 102 or may be different in at least one NAS 102.
  • the policy information 400 includes one or more entries, and information held by each entry includes a policy name 401, a collision case 402, and a collision resolution policy 403.
  • the policy name 401 indicates the name of the policy.
  • a collision case 402 indicates a defined collision case.
  • the conflict resolution policy 403 indicates the contents of defined processing for resolving the corresponding conflict case.
  • the updates of both the own base and the other base are merged. Specifically, when different paths under the same directory are created, deleted, or renamed at the other site and the own site, the operations of the own site and the other site are merged. This is because, according to the collision case 402 of the first entry 404, there is substantially no collision.
  • the directory has priority over the file. Specifically, if a file with the same name as a directory created or renamed at another site is created at the local site, the directory created at the other site is retained at the local site, and the file created at the local site is saved. Is moved to the directory.
  • the earliest migration is prioritized. Specifically, if a file path with the same name as a file path created, updated, deleted or renamed at another site has been created, updated / deleted / renamed at its own site, Operation) is reflected at your site. The file path created, updated or renamed at the local site is moved to the save directory.
  • the object deletion at the other site is prioritized. Specifically, when the file path to any object below the directory deleted at the other site has been updated at the own site, the operation at the other site is reflected. At that time, the file updated at the local site is deleted and not moved to the backup directory.
  • Such a policy information 400 can be updated by a target node that is at least one of the plurality of NASs 102, the CAS 121, and the management node 124.
  • a policy update program (not shown) stored in the memory in the target node and executed by the CPU in the target node (or the policy update function of any program) creates an entry.
  • At least one of updating and deleting can be performed.
  • the policy update program may automatically update the policy information 400 in response to a configuration change of the computer system (for example, addition of NAS 102 (base 100), reduction of NAS 102 due to failure of NAS 102, etc.).
  • the target node provides a user interface (hereinafter referred to as UI) that accepts input of information from the user or administrator, and updates at least a part of the entry according to the information input through the UI, Entries may be added or deleted.
  • UI user interface
  • GUI Graphic User Interface
  • the UI is displayed on, for example, the display system (for example, display device) of the client 101 or the display system (for example, display device or display computer) of the management node 124.
  • FIG. 12 shows an example of the first UI.
  • the first UI is a UI for manually creating (adding), updating or deleting entries.
  • the user or administrator can define at least one of the policy name, the conflict case, and the conflict resolution policy in the computer system through the first UI.
  • the target node adds an entry to the policy information 400, deletes an entry from the policy information 400, or updates at least a part of the entries in the policy information 400 according to information input through the first UI. (In the illustrated example, the modification of the existing policy is selected, and the second entry is selected as the modification target).
  • a user or an administrator can specify a collision case, a priority order and a reference thereof (for example, which one of the base 100 and the data center 120 has priority, which base 100 has priority, a directory, At least one of a policy name, a conflict case, and a conflict resolution policy can be created, updated, or deleted based on which of the files has priority. That is, it is easy to define the most desirable conflict resolution policy for the user or administrator for each conflict case.
  • FIG. 13 shows an example of the second UI.
  • the second UI is a UI that accepts input of priority for each of two or more of a plurality of bases (NAS) and data centers (CAS) (and the second UI is a directory and a directory as shown in the figure). You may accept the priority of each file).
  • the target node (policy update program) has a plurality of defined collision cases and a plurality of defined collision cases according to the input priorities of each of two or more nodes (and according to the priorities of directories and files). For example, at least one of the plurality of conflict resolution policies corresponding to each may be automatically updated.
  • the target node (policy update program) automatically changes the “other site” illustrated in FIG.
  • the “own site” illustrated in FIG. 4 may be automatically changed to “another site”.
  • FIGS. 12 and 13 are examples, and FIGS. 12 and 13 are schematic diagrams.
  • the UI for updating the policy information 400 can be configured in consideration of the knowledge level or operation skill of the user or administrator.
  • the target node includes the set information and the time detected by the timer. Based on the above, the policy information 400 may be updated automatically.
  • employees may change between bases 100.
  • base A corresponds to the accounting department
  • base B corresponds to the technical department
  • a specific employee moves between the bases
  • the priority order of base A and base B may be reversed. It may be desirable. In the present embodiment, such a situation can be flexibly dealt with.
  • a computer system having a plurality of NASs 102 and a CAS 121 common to the plurality of NASs 102, it is common to define a plurality of collision cases and a plurality of collision resolution policies respectively corresponding to the plurality of collision cases. It is not a substituting or diverting of control.
  • user behavior is restricted (for example, prohibition of access to a specific directory, prohibition of downloading of an executable file, etc.).
  • a process for conflict resolution suitable for the collision case and the priority order of the base is performed for each collision case. This solves a problem peculiar to the computer system according to the present embodiment, and cannot be derived only by replacing or diverting general control using a policy.
  • FIG. 5 shows an example of the structure of the special directory.
  • the time information is positioned higher than the user ID, but the user ID may be positioned higher.
  • the file path 505 (file X) is moved to the special directory 702B in the synchronization process.
  • the ID of the user who last updated the file X is “User_D”, and the update time is expressed as “year / month / day hour: minute: second”. 2014/07/07 13:45:00 ".
  • the synchronization program 211B creates a save directory composed of the directories 501B and 502B below the special directory 702B.
  • the synchronization program 211B creates a directory 501B having a name including the upper part “20140707” of the information indicating the update time as a directory name as a child directory of the special directory 702B.
  • the synchronization program 211B creates a directory 502B having a name including the user ID “User_D” as a directory name as a child directory of the directory 501.
  • the synchronization program 211B moves the file path 505 to the directory 502B.
  • the moved file path includes all objects in the file X and the path between the file X and the root node (or includes the file X and its parent directory).
  • the file path 505 includes a file X and its parent directory.
  • the highest directory (the parent directory of the file X) in the file path 505 becomes one child directory of the directory 502.
  • the synchronization program 211B includes the lower part “134500” of the information indicated by the update time in the file name of the file X in the directory 502.
  • the objects are classified based on the update time and the user ID in the special directory 702B. For this reason, for example, it can be expected that the saved file can be easily searched, and it is possible to easily determine the correction solution policy of the conflict file.
  • the NAS 102B for example, the FS program 208B
  • the file and the save directories are transferred to the special directory. You may delete from 702B.
  • the NAS 102B (file sharing server program 206B) restricts the change operation for at least one object in the special directory 702B to the client 101B. Specifically, for example, the NAS 102B (file sharing server program 206B) associates the created save object with read-only (reference is permitted but writing is prohibited) as an access restriction. Thereby, it is possible to prevent the structure in the special directory 702B from being destroyed.
  • FIG. 6 shows an example of a state before and after the migration process from the NAS 102A at the site A to the CAS 121.
  • the update list version information 310 of the CAS 121 includes version IDs “1” to “99”. This means that the center FS 122 has been updated a total of 99 times from the plurality of NASs 102.
  • An update list 309 corresponding to version IDs “1” to “99” is stored in the CAS 121.
  • the update list 309 up to the version ID “99” is reflected in the local FS 104A (synchronized). Therefore, the version ID “99” is registered in the synchronized version information 214A. Thereafter, it is assumed that the file X is edited to the file X1 by the client 101A.
  • a local site update list 213A corresponding to the update (editing) is generated. That is, the latest state of the CAS 121 when it is synchronized from the CAS 121 to the NAS 102A is indicated by reference numeral 603, and thereafter, the latest state of the NAS 102A when the file X is edited by the client 101A is indicated by reference numeral 601. It is in a state to be. The above is the state before migration.
  • the migration program 212A executes a synchronization process. This is because the latest state of the CAS 121 is reflected to the local site A and only the difference is transmitted to the CAS 121. However, this processing is not necessary when no version ID is added to the update list version information 310 of the CAS 121 since the last synchronization.
  • the synchronized version information 214 of the NAS 102A (601) at the site A indicates “99”
  • the update list version information 310 of the CAS 121 (603) indicates “1, 2,. . Since there is no change in the CAS 121 from the version “99” that the NAS 102A (601) of the base A last synchronized, this processing is unnecessary.
  • the migration program 212A performs data migration.
  • the update from the synchronized version is reflected on the CAS 121.
  • it is reflected including the parent directory of the updated part.
  • the file path 609 including the file X and its parent directory A is the center FS122. It is reflected in.
  • reference numeral 604 indicates. That is, the content of the file X is “X1”.
  • the migration program 212A transmits its own site update list 213 to the CAS 121.
  • the local site update list 213A-1 (see FIG. 8) corresponding to the update of the file X is transmitted.
  • the migration program 212A updates the update list version information 310.
  • a value obtained by incrementing the last entry value of the update list version information 310 by one is added to the end of the update list version information 310.
  • the value of the last entry of the update list version information 310 is “99”. Therefore, the migration program 212A adds “100” obtained by adding 1 to the update list version information 310. Therefore, the update list version information 310 includes “1, 2,... 99, 100” (reference numeral 604).
  • FIG. 7 shows an example of a state before and after the synchronization processing from the CAS 121 to the NAS 102B of the base B.
  • the CAS 121 is in a state indicated by reference numeral 604. That is, “1” to “100” are registered in the update list version information 310, and the update list corresponding to the update list version “100” is the list 213A-1 (see FIG. 8).
  • the synchronized version information of the NAS 102B indicates “99”, and then the file X is edited by the client 101B and the content becomes “X2”.
  • a list 213B-2 (see FIG. 8) is generated as a local site update list of the NAS 102B.
  • the above is the description of the state before the synchronization process.
  • the synchronization program 211B refers to the update list version information 310 of the CAS 121.
  • update list version information 310 including “1, 2,..., 100” is referred to.
  • the synchronization program 211B determines whether synchronization is necessary. If the determination result is affirmative (S1002: Yes), the process proceeds to S1003. If the determination result is negative (S1002: No), the process ends. In this step, the synchronization program 211B determines whether or not the center FS 122 has been updated from the state in which the synchronization from the CAS 121 to the NAS 102B was performed last time. If the determination result is affirmative, S1002: Yes, and if the determination result is negative, S1002: No. In the present embodiment, the determination is performed using the synchronized version information 214 and the update list version information 310. In the example of FIG.
  • the synchronization program 211B acquires from the CAS 121 the update list created after the previous synchronization.
  • the update list 309 (213A-1) corresponding to the update list version “100” is acquired.
  • the synchronization program 211B determines whether there is an unprocessed update list 309 or not. If the determination result is affirmative (S1004: Yes), the process proceeds to S1005. If the determination result is negative (S1004: No), the process ends. In the example of FIG. 7, since there is an unprocessed update list 309 (213A-1) acquired in S1003, the process proceeds to S1005.
  • the synchronization program 211B executes name space reflection processing.
  • the center FS 122 (name space of CAS 121) is reflected in the NAS 102B.
  • This step includes one feature of this embodiment, and details of this step are shown in FIG. Therefore, before describing S1006, S1005 will be described with reference to FIG.
  • FIG. 11 is a flowchart of the namespace reflection process.
  • the synchronization program 211B refers to the policy information 400, and for any object (here, file X) that differs between the name space of the reflection source and the name space of the reflection destination, any of the collision cases that require file saving It is determined whether or not it matches.
  • object here, file X
  • (C-1) The CAS 121 file has been updated and a file with the same file name has been newly created or updated at the local site 100B (policy name “First-Mig-Win”)
  • (C-2) A file having the same name as the directory created or renamed in CAS 121 was created at own site B (policy “Directory-Win”)
  • a determination result is obtained that matches any of the collision cases that require file evacuation.
  • the update list 309 acquired in S1003 may be compared with the local site update list 213.
  • the synchronization program 211B creates a save directory under the special directory (directory “.conflict”) 702B.
  • directory “.conflict” 702B the directory “.conflict” 702B.
  • the synchronization program 211B changes the name of the collision file and places it in the lower level of the save destination directory.
  • the conflict file is moved to the lower level of the directory created in S1102.
  • the synchronization program 211 ⁇ / b> B moves the file path 703 including the conflict file to a lower level of “.conflict” 702 ⁇ / b> B as indicated by reference numeral 701.
  • the file path 703 includes a directory 501 having a directory name including the date in the file path 703 and a directory 502 having a directory name including the user ID in the file path 703. Moved down.
  • the synchronization program 211B includes the lower part of the time information (hour, minute, second) in the file name of the moved file (“fileX_134500”).
  • the synchronization program 211B assigns read-only as the access control attribute of the file moved to the save directory in S1103, thereby prohibiting the client 101B from updating the file in the save directory. As a result, it is expected that update of the conflict file and change of the directory hierarchy are avoided, and the subsequent searchability is maintained.
  • the synchronization program 211B reflects the update of the center FS 122 to the local FS 104B, and ends the process.
  • a file path 705 including a file X whose content is “X1” is added to the root node.
  • the synchronization program 211B updates the NAS synchronized version information 214.
  • “99” of the synchronized version information 214 before synchronization (reference numeral 602) is updated to “100”. (Reference numeral 701).
  • S1005 and S1006 are repeated while the unprocessed update list 309 acquired in S1003 exists.
  • the process ends.
  • the update list 309 acquired in S1003 is only one corresponding to the version “100”, and no other unprocessed update list 309 exists, so the processing ends.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

 第1のエッジノード(いずれかのエッジノード)が提供する第1のローカル名前空間のアップデートをセンタ名前空間に反映することであるマイグレーションにおいて、センタノードが、又は、センタ名前空間のアップデートを第2のエッジノード(第1のエッジノード以外のいずれかのエッジノード)が提供する第2のローカル名前空間に反映することである同期において、第2のエッジノードが、反映元の名前空間と反映先の名前空間との間において異なるオブジェクトについて、(A)及び(B)を行う。具体的には、センタノード又は第2のエッジノードが、(A)定義された複数の衝突ケースのうちのいずれかの衝突ケースに該当するか否かを判断し、(B)(A)の判断の結果が肯定の場合に、該当する衝突ケースに対応した衝突解決ポリシーに従う処理を実行する。

Description

計算機システム、分散オブジェクト共有方法、エッジノード
 本発明は、概して、分散オブジェクト共有に関する。
 複数の拠点の各々に、エッジサーバが配置され、複数の拠点から離れたデータセンタに、各エッジサーバと通信可能なコアサーバが配置される計算機システムが知られている(例えば特許文献1)。各拠点において、エッジノードが、クライアントに、ファイルシステムのような名前空間(以下、ローカル名前空間)を提供し、クライアントが、そのローカル名前空間をアップデートする(例えば、ローカル名前空間内のオブジェクト(ディレクトリ又はファイル)に対して変更操作(例えば、作成、アップデート、削除、リネーム、又はコピー)を行う)。いずれかのエッジノードが提供するローカル名前空間のアップデートが、コアノードが管理する名前空間(以下、センタ名前空間)に反映される(マイグレーション)。コアノードが管理するセンタ名前空間のアップデートが、別のエッジノードが提供するローカル名前空間に反映される(同期)。このようにして、複数のエッジノードが名前空間を共有する。
 異なる複数のローカル名前空間内の同一のオブジェクトに対する異なる変更操作によりオブジェクトの衝突が発生し得る。特許文献1は、衝突ファイルを退避用特殊ディレクトリへ移動することにより衝突を解決する。非特許文献1は、衝突ファイルを退避用特殊ディレクトリへ移動する方法と、衝突ファイルに別の変更操作に従うファイルを上書きする方法とのいずれかの方法により衝突を解決する。
 上書きという方法(以下、第1の方法)を単に採用した場合、先に更新したオブジェクトの内容が失われてしまう。衝突ファイルを退避用特殊ディレクトリへ移動するという方法(以下、第2の方法)を単に採用した場合、退避用特殊ディレクトリの下位に多数のオブジェクトが存在し得ることになり、管理が煩雑になり得る。
 第1のエッジノード(いずれかのエッジノード)が提供する第1のローカル名前空間のアップデートをセンタ名前空間に反映することであるマイグレーションにおいて、又は、センタ名前空間のアップデートを第2のエッジノード(第1のエッジノード以外のいずれかのエッジノード)が提供する第2のローカル名前空間に反映することである同期において、センタノード又は第2のエッジノードが、反映元の名前空間と反映先の名前空間との間において異なるオブジェクトについて、(A)及び(B)を行う。具体的には、センタノード又は第2のエッジノードが、(A)定義された複数の衝突ケースのうちのいずれかの衝突ケースに該当するか否かを判断し、(B)(A)の判断の結果が肯定の場合に、該当する衝突ケースに対応した衝突解決ポリシーに従う処理を実行する。
 第1及び第2の方法のいずれかだけを常に行うことに比べて、利便性及び柔軟性のうちの少なくとも1つが高い。
実施形態に係る計算機システムの概要を示す。 NASの構成を示す。 CASの構成を示す。 ポリシー情報の一例を示す。 特殊ディレクトリの構造の一例を示す。 拠点AのNASからCASへのマイグレーション処理の前後の様子の一例を示す。 CASから拠点BのNASへの同期処理の前後の様子の一例を示す。 自拠点アップデートリストの例を示す。 NASからCASへのマイグレーション処理のフローチャートである。 CASからNASへの同期処理のフローチャートである。 名前空間反映処理のフローチャートである。 第1のUIの一例を示す。 第2のUIの一例を示す。
 以下、一実施形態を説明する。
 以下の説明では、「×××リスト」の表現にて情報を説明することがあるが、情報は、どのようなデータ構造で表現されていてもよい。すなわち、情報がデータ構造に依存しないことを示すために、「×××リスト」を「×××情報」と呼ぶことができる。
 また、以下の説明では、要素の識別情報として、ID又は名前が使用されるが、それに代えて又は加えて他種の識別情報が使用されてもよい。
 また、以下の説明では、同種の要素を区別しないで説明する場合には、参照符号又は参照符号における共通番号を使用し、同種の要素を区別して説明する場合は、その要素の参照符号を使用又は参照符号に代えてその要素に割り振られたIDを使用することがある。
 また、以下の説明では、「記憶部」は、メモリを含んだ1以上の記憶デバイスでよい。例えば、記憶部は、主記憶デバイス(典型的には揮発性のメモリ)及び補助記憶デバイス(典型的には不揮発性の記憶デバイス)のうちの少なくとも主記憶デバイスでよい。また、記憶部は、キャッシュ領域(例えばキャッシュメモリ又はその一部領域)とバッファ領域(例えばバッファメモリ又はその一部領域)とのうちの少なくとも1つを含んでもよい。
 また、以下の説明では、「PDEV」は、物理的な記憶デバイスを示し、典型的には、不揮発性の記憶デバイス(例えば補助記憶デバイス)でよい。PDEVは、例えば、HDD(Hard Disk Drive)又はSSD(Solid State Drive)でよい。
 また、以下の説明では、「RAID」は、Redundant Array of Independent (or Inexpensive) Disksの略である。RAIDグループは、複数のPDEVで構成され、そのRAIDグループに関連付けられたRAIDレベルに従いデータを記憶する。RAIDグループは、パリティグループと呼ばれてもよい。パリティグループは、例えば、パリティを格納するRAIDグループのことでよい。
 また、以下の説明では、「プログラム」を主語として処理を説明する場合があるが、プログラムは、プロセッサ(例えばCPU(Central Processing Unit))によって実行されることで、定められた処理を、適宜に記憶部(例えばメモリ)及び/又はインターフェースデバイス(例えば通信ポート)等を用いながら行うため、処理の主語がプロセッサとされてもよい。プログラムを主語として説明された処理は、プロセッサあるいはそのプロセッサを有する装置又はシステムが行う処理としてもよい。また、プロセッサは、処理の一部または全部を行うハードウェア回路を含んでもよい。プログラムは、プログラムソースから計算機のような装置にインストールされてもよい。プログラムソースは、例えば、プログラム配布サーバまたは計算機が読み取り可能な記憶メディア(例えば可搬型の記憶メディア)であってもよい。プログラムソースがプログラム配布サーバの場合、プログラム配布サーバはプロセッサ(例えばCPU)と記憶部を含み、記憶部はさらに配布プログラムと配布対象であるプログラムとを記憶してよい。そして、プログラム配布サーバのプロセッサが配布プログラムを実行することで、プログラム配布サーバのプロセッサは配布対象のプログラムを他の計算機に配布してよい。また、以下の説明において、2以上のプログラムが1つのプログラムとして実現されてもよいし、1つのプログラムが2以上のプログラムとして実現されてもよい。
 また、以下の説明では、管理ノードは、一以上の計算機で構成されてよい。具体的には、例えば、管理計算機が情報を表示する場合(具体的には、例えば、管理計算機が自分の表示デバイスに情報を表示する、或いは、管理計算機が表示用情報を遠隔の表示用計算機に送信する場合)、管理計算機が管理ノードである。また、例えば、複数の計算機で管理計算機と同等の機能が実現されている場合は、当該複数の計算機(表示を表示用計算機が行う場合は表示用計算機を含んでよい)が、管理ノードである。管理計算機は、表示システムを含むI/Oシステムに接続されたインターフェースデバイスと、記憶部(例えばメモリ)と、インターフェースデバイス及び記憶部に接続されたプロセッサとを有してよい。表示システムは、管理計算機が有する表示デバイスでもよいし、管理計算機に接続された表示用計算機でもよい。I/Oシステムは、管理計算機が有するI/Oデバイス(例えばキーボード及びポインティングデバイス、タッチパネル)でもよいし、管理計算機に接続された表示用計算機又は別の計算機でもよい。管理計算機が「表示用情報を表示する」ことは、表示システムに表示用情報を表示することであり、これは、管理計算機が有する表示デバイスに表示用情報を表示することであってもよいし、管理計算機が表示用計算機に表示用情報を送信することであってもよい(後者の場合は表示用計算機によって表示用情報が表示される)。また、管理計算機が情報を入出力するとは、管理計算機が有するI/Oデバイスとの間で情報の入出力を行うことであってもよいし、管理計算機に接続された遠隔の計算機(例えば表示用計算機)との間で情報の入出力を行うことであってもよい。情報の出力は、情報の表示であってもよい。
 また、以下の実施形態では、エッジノードの一例として、NAS(Network Attached Storage)が採用され、コアノードの一例として、CAS(Content Addressed Storage)が採用される。
 また、以下の実施形態では、CASと複数のNASを有する計算機システムにおいて、反映先のローカル名前空間よりセンタ名前空間(言い換えれば、先にアップデートされたローカル名前空間)を優先する衝突解決ポリシーが採用される。しかし、いずれの名前空間が優先されてもよい。例えば、或るNASのローカル名前空間の優先順位はセンタ名前空間の優先順位より高く、別のNASローカル名前空間の優先順位はセンタ名前空間の優先順位より低くてもよい。また、衝突解決ポリシーは、各NAS、CAS、及び、CASと複数のNASとのうちの少なくとも1つに接続された管理ノードのうちのいずれに設けられてもよい。
 また、以下の実施形態では、NASからCASへの反映(ローカル名前空間のアップデートのセンタ名前空間への反映)を「マイグレーション」と呼び、CASからNASへの反映(センタ名前空間のアップデートのローカル名前空間への反映)を「同期」と呼ぶ。
 また、以下の実施形態では、計算機システムが、複数のNASと1つのCASとに代えて、複数のクライアントと、1つのNASとを有してもよい。つまり、エッジノードの一例がクライアントであって、コアノードの一例がNASであってもよい。
 また、複数のNAS(又は複数のクライアント)に共通のオブジェクトを参照する際、その共通のオブジェクトを有するCAS(又はNAS)において少なくともその共通のオブジェクトについてロックが必要であるが、ロック処理は既に知られている方法を利用すればよい。そのため、以下の実施形態の説明では、ロック処理の説明は省略する。
 また、以下の実施形態では、名前空間の一例として「ファイルシステム」が採用される。ファイルシステムは、「FS」と呼ばれることもある。
 また、以下の説明では、或るオブジェクトよりルートノードに近いオブジェクトを、「上位のオブジェクト」と言うことがあり、そのうち、特にその或るオブジェクトに直近のオブジェクトを、「親オブジェクト」と言うことがある。一方、或るオブジェクトよりルートノードに遠いオブジェクトを、「下位のオブジェクト」と言うことがあり、そのうち、特にその或るオブジェクトに直近のオブジェクトを、「子オブジェクト」と言うことがある。なお、オブジェクトは、例えばディレクトリ又はファイルである。
 図1は、実施形態に係る計算機システムの概要を示す。
 1つのデータセンタ120に対して複数の拠点100が存在する。本実施形態では、複数の拠点100として、2つの拠点、すなわち、拠点A(100A)と拠点B(100B)が存在するものとするが、拠点100の数は2より多くてもよい。また、以下の説明では、拠点A内の要素については、参照符号の末尾に「A」を付して説明し、拠点B内の要素については、参照符号の末尾に「B」を付して説明することがある。また、拠点A内の要素であるか拠点B内の要素であるかを区別しない場合には、参照符号の末尾に「A」及び「B」のいずれも付さないことがある。また、以下、拠点A及び拠点Bのうちの一方を例に取って説明し他方についてその説明を省略することあるが、それは説明の冗長(重複)を避けるためである。拠点A及び拠点Bは、それぞれ同じ機能を有している。
 拠点A(100A)は、クライアント101Aと、クライアント101Aに通信ネットワーク103A(例えばLAN(Local Area Network))を介してローカルFS104Aを提供するNAS102Aとを有する。同様に、拠点B(100B)は、クライアント101Bと、クライアント101Bに通信ネットワーク103B(例えばLAN)を介してローカルFS104Bを提供するNAS102Bとを有する。クライアント101A及び101Bのいずれも、1以上存在してよい。クライアント101は、NAS102が提供するファイル共有サービスを利用する計算機である。クライアント101は、NFS(Network File System)やCIFS(Common Internet File System)等のファイル共有プロトコルを利用して、ネットワーク103を経由してNAS102が提供するファイル共有サービスを利用する。
 データセンタ120は、センタFS122を提供するCAS121を有する。CAS121に、通信ネットワーク105A及び105B(例えばWAN(Wide Area Network))を介してNAS102A及び102Bがそれぞれ接続される。通信ネットワーク105A及び105Bは、一体でもよいし、別の通信ネットワークでもよい。また、CAS121に、通信ネットワーク123(例えばLAN)を介して管理ノード124が接続される。管理者(管理ノード124のオペレータ)は、管理ノード124から、CAS121(及びNAS102)の管理を行う。管理として、例えば、CAS121(及びNAS102)の運用開始、CAS121(及びNAS102)の停止、クライアント101のアカウントの管理等がある。なお、管理ノード124は、少なくとも1つのNASに通信可能に接続されていてもよいし、管理ノード124とは別に少なくとも1つのNASの管理ノードとが設けられていてもよい。
 クライアント101Aが読み書きするデータは、ファイルとしてローカルFS104Aに格納される。同様に、クライアント101Bが読み書きするデータは、ファイルとしてローカルFS104Bに格納される。ローカルFS104A及び104BとセンタFS122は、同一の名前空間である。
 NAS102は、ローカルFS104に格納されたファイルを、或る契機(所定又は任意のタイミング)で、データセンタ120に送信し、送信されたファイルは、センタFS122に格納される(マイグレーション)。また、NAS102は、或る契機(所定又は任意のタイミング)で、センタFS122のアップデートを、ローカルFS104に反映する(同期)。
 異なるローカルFS104A及び104Bにおいて同一のオブジェクト(例えば、ディレクトリ、ファイル又はファイルパス)について異なる変更操作(例えば、作成、アップデート、削除又はリネーム)が行われると、衝突が生じ得る。
 本実施形態では、各NAS102が、ポリシー情報400を保持する。ポリシー情報400は、定義された複数の衝突ケースにそれぞれ対応した複数の衝突解決ポリシーを含む。各NAS102は、同期において、ポリシー情報400を参照し、センタFS122(反映元)とローカルFS104(反映先)との間において異なるオブジェクトについて、定義された複数の衝突ケースのうちのいずれかの衝突ケースに該当するか否かを判断する。その判断の結果が肯定の場合に、NAS102は、その異なるオブジェクトについて、該当する衝突ケースに対応した衝突解決ポリシーに従う処理を実行する。
 該当する衝突ケースとそれに対応した衝突解決ポリシーに従う処理の一例は、図1に示す通りである。
 NAS102Aが、クライアント101Aからのライト要求に応答して、ローカルFS104Aをアップデートしたとする。そのアップデートは、ローカルFS104A内のディレクトリAの子オブジェクトの1つであるファイルXに対してアップデートを行ったことであるとする。ここでのファイルXのアップデートは、ファイルXの内容又はファイル名のアップデートであるとする。NAS102AにおいてアップデートされたファイルXを「ファイルX1」と言う。一方、NAS102Bが、ローカルFS104Aのアップデート前又はそのアップデートの反映前に、クライアント101Bからのライト要求に応答して、ローカルFS104Bをアップデートしたとする。そのアップデートは、同一のファイルパスに従う同一ファイル、すなわち、ディレクトリAの子オブジェクトの1つであるファイルXに対してアップデートを行ったことであるとする。そのアップデートも、ファイルXの内容又はファイル名のアップデートであるとするが、NAS102Aでのアップデートとは異なるアップデートである。NAS102BにおいてアップデートされたファイルXを「ファイルX2」と言う。ファイルX1とファイルX2は衝突している。
 先に、NAS102Aが、CAS121と通信したとする。これにより、NAS102Aが、ファイルX1がセンタFS122内のファイルと衝突しないことを特定したとする。そして、NAS102AとCAS121間でマイグレーションが行われたとする。すなわち、ローカルFS104AのアップデートがセンタFS122に反映されたとする。従って、センタFS122では、ディレクトリA内のファイルXが、ファイルX1にアップデートされる。
 その後、NAS102Bが、CAS121と通信したとする。これにより、NAS102Bが、ファイルX2がセンタFS122内のファイルX1と衝突することを特定したとする。NAS102Bが、ポリシー情報400から、その衝突のケースに対応する衝突解決ポリシーを特定し、特定した衝突解決ポリシーに従う処理を実行する。図1の例では、その処理は、以下の通りである。すなわち、NAS102Bが、ローカルFS104Bに、特殊ディレクトリ702B(「.conflict」)の下位に退避用ディレクトリ(図示せず)を作成する。特殊ディレクトリ702Bは、退避用ディレクトリの作成先となる所定のディレクトリである。NAS102Bが、参照符号153により示すように、ローカルFS104B内のパスであり衝突ファイルX2へのパスであるファイルパス(衝突ファイルX2と、衝突ファイルX2とルートノード間のパスに存在する上位オブジェクトとの一群)を、特殊ディレクトリ702Bの下位に作成された退避ディレクトリに退避する。また、NAS102Bが、参照符号155により示すように、センタFS122内のパスでありファイルX1へのパスであるファイルパス(ファイルX1と、ファイルX1とルートノード間のパスに存在する上位オブジェクトとの一群)を、ローカルFS104Bに反映する。なお、退避ディレクトリへ退避する一群、及び、ローカルFS104へ反映する一群は、衝突ファイルとその親オブジェクトのみとしても良い。
 以上のように、該当する衝突ケースに対応した衝突解決ポリシーが実行される。本実施形態では、各NAS102が、ポリシー情報400を保持するが、ポリシー情報400は、NAS102に代えて又は加えて、破線で示すように、CAS121と、CAS121とNAS102のうちの少なくとも1つに接続される管理ノード124とのうちの少なくとも1つにより保持されてもよい。NAS102以外のノードがポリシー情報400を保持するケースでは、NAS102とそのノード間で通知(又は問合せ)等の通信が必要になり得るが、本実施形態のように、各NAS102がポリシー情報400を保持していれば、そのような通信は不要である。特に、NAS102のようなエッジノードは、ファイルに対する変更操作(例えば、作成、アップデート又はリネームの要求)を最初に受け付けるノードなので、そのようなノードがポリシー情報400を持つ意義(及び、衝突解決ポリシーに従う処理を実行する意義)は、他種のノードがポリシー情報400を持つことに比べて大きいと考えられる。また、衝突ケースの特定は、NAS102に代えて、CAS121及び管理ノード124のうちのいずれかが行ってもよい。また、衝突解決ポリシーに従う処理は、NAS102により行われるが、その処理は、その衝突解決ポリシーを特定したCAS121又は管理ノード124からの指示に従って行われてよい。例えば、センタFS122内に退避用ディレクトリが作成され、退避用ディレクトリに衝突ファイルが退避されてもよい。
 本実施形態では、複数の衝突ケースと、その複数の衝突ケースにそれぞれ対応した複数の衝突解決ポリシーが定義されており、該当する衝突ケースに対応した衝突解決ポリシーに従う処理が実行される。これにより、上書きという方法と衝突ファイルを退避用ディレクトリへ退避するという方法のいずれかだけを常に行うことに比べて、利便性及び柔軟性のうちの少なくとも1つが高い。具体的には、例えば、ユーザの意図する構造の名前空間を保持することが期待できる。
 以下、実施形態を詳細に説明する。
 図2は、NAS102の構成を示す。なお、以下の説明では、インターフェースデバイスを「I/F」と略記する。
 NAS102は、ストレージ装置220と、ストレージ装置220に接続されたNASコントローラ200とを有する。
 ストレージ装置220は、NASコントローラ200に接続されるI/F223と、メモリ221と、複数のPDEV224と、それらに接続されたCPU222とを有する。複数のPDEV224は、1以上のRAIDグループでよい。CPU222は、NASコントローラ200に1以上の論理ボリュームを提供してよく、その1以上の論理ボリュームの少なくとも一部に基づく記憶空間が、NASコントローラ200によりローカルFS104としてクライアント101に提供されてよい。ローカルFS104に格納されたファイルのデータは、1以上のPDEV224に格納される。
 NASコントローラ200は、いわゆるNASヘッドでよい。NASコントローラ200は、プログラム及び情報を記憶するメモリ(記憶部の一例)201、ネットワーク103を経由してクライアント101に接続される外部ネットワークI/F203、ネットワーク105を経由してCAS121に接続される内部ネットワークI/F204、ストレージ装置220に接続されるI/F205、及びそれらに接続されたCPU(プロセッサの一例)202を有する。I/F203~205は、それぞれI/Fの一例であり、I/F203~205のうちの2以上が、同一のI/Fでもよい。CPU202は、メモリ201内のプログラムを実行する。
 メモリ201は、ファイル共有サーバプログラム206、ファイル共有クライアントプログラム207、FSプログラム208、アップデートリスト生成プログラム209、同期プログラム211、マイグレーションプログラム212、自拠点アップデートリスト213、及び、同期済バージョン情報214を記憶する。メモリ201に格納されたこれらのプログラム及び情報のうちの少なくとも一部が、CPU202によりストレージ装置220からメモリ201へ読み出されてよい。
 ファイル共有サーバプログラム206は、クライアント101からローカルFS104内のオブジェクト(例えばファイル又はディレクトリ)についての操作を受け付けるプログラムである。ファイル共有クライアントプログラム207は、センタFS122に格納されるファイルについての操作を行うプログラムである。FSプログラム208は、ローカルFS104を提供するプログラムである。アップデートリスト生成プログラム209は、自拠点アップデートリスト213を生成するプログラムである。同期プログラム211は、センタFS122からローカルFS104への同期を行うプログラムである。上述したポリシー情報400は、例えば同期プログラム211が保持する。ポリシー情報400は、同期プログラム211の他に他のプログラムもアクセス可能に保持されてよい。マイグレーションプログラム212は、ローカルFS104からセンタFS122へのマイグレーションを行うプログラムである。
 自拠点アップデートリスト213は、ローカルFS104のアップデートに関する情報のリストである。ローカルFS104のアップデートの検知は、図示しないOS(Operating System)の監視機能により行われてよく、アップデートリスト生成プログラム209が、ローカルFS104のアップデートが検知されたことの通知を受けて、自拠点アップデートリスト213を生成してよい。自拠点アップデートリスト213の例を図8に示す。自拠点アップデートリスト213は、ローカルFS104がアップデートされた拠点のIDであるSYSTEM_ID806と、CAS121かららの同期の最新バージョンを示す情報であるCURRENT SYNC VERSION807と、クライアント101により更新されたオブジェクトのタイプ(例えばファイル又はディレクトリ)を示す情報であるMIGTYPE808と、アップデート内容を示す情報であるアップデート内容809とを含む。参照符号213A-1は、拠点A内のファイルXを編集した場合(ファイルXの内容をアップデートした場合)の自拠点アップデートリストの一例を示す。このリスト231A-1内のアップデート内容809は、編集後のファイルのファイルパス名を示す。参照符号213B-2は、拠点B内のファイルXを編集した場合の自拠点アップデートリストの一例を示す。参照符号213A-3は、拠点A内のディレクトリ「dir001」を「dir004」にリネームした場合の自拠点アップデートリストの一例を示す。このリスト213A-3内のアップデート内容809は、リネーム元とリネーム先の名前、及びその親ディレクトリの名前を示す。参照符号213A-4は、拠点A内のディレクトリ「dir001」に子ディレクトリ「dir002」を作成した場合の自拠点アップデートリストの一例を示す。このリスト213A-4内のアップデート内容809は、作成したディレクトリと、その親ディレクトリを示す。参照符号213A-5は、拠点A内のディレクトリ「dir001」を削除した場合の自拠点アップデートリストの一例を示す。このリスト213A-5内のアップデート内容809は、削除したディレクトリを示す。このような自拠点アップデートリスト213が、CAS121に送信される。自拠点アップデートリスト213に従うアップデートが、CAS121を通じて他のNAS102のローカルFS104へ反映されることで、拠点間でFSの同期が可能となる。
 同期済バージョン情報214は、CAS121に保持されている自拠点アップデートリスト213の集合(1以上の自拠点アップデートリスト213)のうち、自拠点のNAS102に反映された自拠点アップデートリスト213の最新のバージョンを表す情報を含む。これにより、次回同期時に、CAS121内の自拠点アップデートリスト213の集合の中から、自拠点へまだ反映していないリストを選んで反映することが可能となる。
 図3は、CAS121の構成を示す。
 CAS121は、ストレージ装置320と、ストレージ装置320に接続されたCASコントローラ300とを有する。
 ストレージ装置320の構成は、ストレージ装置220の構成と同じでよい。すなわち、ストレージ装置320も、CASコントローラ300に接続されるI/F323と、メモリ321と、複数のPDEV324と、それらに接続されたCPU322とを有する。
 CASコントローラ300は、プログラム及び情報を記憶するメモリ(記憶部の一例)301、ネットワーク105を経由してNAS102に接続されるフロントエンドネットワークI/F303、ネットワーク123を経由して管理ノード124に接続されるバックエンドネットワークI/F304、ストレージ装置320に接続されるI/F305、及びそれらに接続されたCPU(プロセッサの一例)302を有する。I/F303~305は、それぞれI/Fの一例であり、I/F303~305のうちの2以上が、同一のI/Fでもよい。CPU322は、メモリ301内のプログラムを実行する。
 メモリ301は、ファイル共有サーバプログラム306、FSプログラム307、アップデートリスト309、及びアップデートリストバージョン情報310を記憶する。メモリ301に格納されたこれらのプログラム及び情報のうちの少なくとも一部が、CPU302によりストレージ装置320からメモリ301へ読み出されてよい。
 ファイル共有サーバプログラム306は、各NAS102からセンタFS122内のオブジェクト(例えばファイル又はディレクトリ)についての操作を受け付けるプログラムである。FSプログラム307は、センタFS122を提供する。
 アップデートリスト309は、各NAS102からマイグレーション時等で受信した自拠点アップデートリストである。アップデートリストバージョン情報310は、各NAS102から受信された各アップデートリスト309のバージョン(例えばバージョンのID(数字))を含んだ情報である。
 図4は、ポリシー情報400の一例を示す。
 ポリシー情報400は、複数のNAS102の各々が保持する。ポリシー情報400は、複数のNAS102において全て同じでもよいし、少なくとも1つのNAS102において異なっていてもよい。ポリシー情報400は、1以上のエントリを含み、各エントリが保持する情報が、ポリシー名401、衝突ケース402及び衝突解決ポリシー403を含む。ポリシー名401は、ポリシーの名称を示す。衝突ケース402が、定義された衝突ケースを示す。衝突解決ポリシー403が、該当する衝突ケースを解決するための定義された処理の内容を示す。
 第1のエントリ404によれば、自拠点及び他拠点の双方のアップデートがマージされる。具体的には、他拠点及び自拠点で同じディレクトリの下の異なるパスを作成、削除又はリネームした場合は、自拠点及び他拠点のそれぞれの操作がマージされる。第1のエントリ404の衝突ケース402によれば、実質的に衝突は生じていないためである。
 第2のエントリ405によれば、ファイルよりディレクトリが優先される。具体的には、他拠点で作成又はリネームされたディレクトリと同名のファイルが自拠点で作成されていた場合、他拠点で作成したディレクトリが自拠点で保持され、自拠点で作成されたファイルが退避用ディレクトリへ移動される。
 第3のエントリ406によれば、最先のマイグレーションが優先される。具体的には、他拠点で作成、アップデート、削除又はリネームされたファイルパスと同名のファイルパスが、自拠点で作成、アップデート/削除/リネームされていた場合、CAS121上の状態(他拠点での操作)が自拠点に反映される。自拠点で作成、アップデート又はリネームされたファイルパスが、退避用ディレクトリへ移動される。
 第4のエントリ407によれば、他拠点でのオブジェクト削除が優先される。具体的には、 他拠点で削除されたディレクトリより下位のいずれかのオブジェクトへのファイルパスが自拠点でアップデートされていた場合、他拠点での操作が反映される。その際、自拠点でアップデートされたファイルは削除され、退避用ディレクトリに移動されない。
 このようなポリシー情報400を、複数のNAS102と、CAS121と、管理ノード124とのうちの少なくとも1つである対象ノードが、アップデートできる。具体的には、対象ノード内のメモリに格納されており対象ノード内のCPUにより実行されるポリシーアップデートプログラム(図示せず)(又は、いずれかのプログラムが有するポリシーアップデート機能)が、エントリの作成、アップデート及び削除のうちの少なくとも1つを行うことができる。ポリシー更新プログラムは、計算機システムの構成変更(例えば、NAS102(拠点100)の追加、NAS102の障害等によるNAS102の減少)に応答してポリシー情報400を自動でアップデートしてもよい。また、対象ノード(ポリシーアップデートプログラム)が、ユーザ又は管理者から情報の入力を受け付けるユーザインターフェース(以下、UI)を提供し、UIを通じて入力された情報に従い、エントリの少なくとも一部をアップデートしたり、エントリを追加又は削除したりしてもよい。UI(例えばGUI(Graphical User Interface))は、例えば、クライアント101の表示システム(例えば表示デバイス)、又は、管理ノード124の表示システム(例えば表示デバイス又は表示用計算機)に表示される。
 図12は、第1のUIの一例を示す。
 第1のUIは、エントリの作成(追加)、アップデート又は削除を手動で行うためのUIである。ユーザ又は管理者は、ポリシー名、衝突ケース及び衝突解決ポリシーのうちの少なくとも1つを第1のUIを通じて計算機システムに定義することができる。対象ノードは、第1のUIを通じて入力された情報に従い、ポリシー情報400にエントリを追加したり、ポリシー情報400からエントリを削除したり、ポリシー情報400内のエントリの少なくとも一部をアップデートしたりする(図示の例では、既存ポリシーの修正が選択され、且つ、修正対象として、第2のエントリが選択されている状態)。このようなUIにより、ユーザ又は管理者は、衝突ケースと、優先順位及びその基準(例えば、拠点100とデータセンタ120のうちのいずれを優先するか、いずれの拠点100を優先するか、ディレクトリとファイルのうちのいずれを優先するか)とに基づいて、ポリシー名、衝突ケース及び衝突解決ポリシーのうちの少なくとも1つを作成、アップデート又は削除できる。つまり、衝突ケース毎にユーザ又は管理者にとって最も望ましい衝突解決ポリシーを定義し易い。
 図13は、第2のUIの一例を示す。
 第2のUIは、複数の拠点(NAS)とデータセンタ(CAS)のうちの2以上についてそれぞれ優先順位の入力を受け付けるUIである(また、第2のUIは、図示のように、ディレクトリとファイルのそれぞれの優先順位を受け付けてもよい)。対象ノード(ポリシー更新プログラム)は、2以上のノードの各々の入力された優先順位に従い(及び、ディレクトリとファイルの優先順位に従い)、定義された複数の衝突ケースと、定義された複数の衝突ケースにそれぞれ対応した複数の衝突解決ポリシーとのうちの少なくとも1つを、例えば自動でアップデートしてよい。例えば、自拠点のNAS102と他拠点のNAS102の優先順位が逆にされた場合、対象ノード(ポリシーアップデートプログラム)は、図4に例示した[他拠点]を「自拠点」に自動で変更し、且つ、図4に例示した[自拠点]を「他拠点」に自動で変更してよい。このような自動アップデートにより、ユーザ又は管理者の負担を軽減できる。
 以上のように、定義された複数の衝突ケースの各々に衝突解決ポリシーを関連付け、且つ、少なくとも衝突解決ポリシーがアップデート可能であることは、複数のNAS102で名前空間を共有する計算機システムにおいて、より優れた利便性及び柔軟性を提供できる。なお、図12と図13のUIは、一例であり、且つ、図12及び図13は、模試的な図である。ポリシー情報400のアップデートのためのUIは、ユーザ又は管理者の知識レベルや操作スキル等を考慮した構成にすることができる。
 例えば、拠点100が増加した又は減少したことに伴い、既存の拠点100の優先順位を下げる又は上げる必要性が生じ得る。或いは、拠点100の数に変更が無くても、時区間(例えば1日、1月又は1年等の所定の期間における時区間)によって、拠点100間の優先順位、又は、拠点100とデータセンタ120間の優先順位が異なることがあり得る。本実施形態では、そのような状況に柔軟に対応できる。なお、時区間と優先順位との対応関係を予め定義した情報が対象ノードに設定されていれば、対象ノード(ポリシーアップデートプログラム)は、その設定されている情報と、タイマーにより検出される時刻とに基づいて、自動で、ポリシー情報400をアップデートしてもよい。
 また、拠点100間で、従業員が異動することもある。例えば、拠点Aが、経理部門に対応し、拠点Bが、技術部門に対応していて、特定の従業員が拠点間を移動した場合、拠点Aと拠点Bの優先順位を逆にすることが望ましいこともあり得る。本実施形態では、そのような状況にも柔軟に対応できる。
 複数のNAS102と複数のNAS102に共通のCAS121とを有する計算機システムにおいて、複数の衝突ケースとそれら複数の衝突ケースにそれぞれ対応した複数の衝突解決ポリシーとを定義することは、ポリシーを用いた一般的な制御の置換又は転用ではない。例えば、一般的なグループポリシーでは、ユーザの行動の制限(例えば、特定ディレクトリへのアクセスの禁止、実行ファイルのダウンロードの禁止等)が行われる。一方、本実施形態に従うポリシー情報400を用いた分散オブジェクト共有によれば、衝突ケース毎に、その衝突ケースと、拠点等の優先順位とに適した衝突解決のための処理が行われる。これは、本実施形態に係る計算機システムに特有の問題を解決するものであり、ポリシーを用いた一般的な制御を置換又は転用するだけで導くことはできない。
 図5は、特殊ディレクトリの構造の一例を示す。
 特殊ディレクトリ702Bの下位に作成された退避用ディレクトリへのファイルパスに、NAS102B(同期プログラム211B)により、移動(退避)されるオブジェクトの使用に関する情報として、以下のうちの少なくとも1つ、
(a)そのオブジェクトが作成、アップデート又はリネームされた最新の時刻を表す時刻情報、
(b)そのオブジェクトを使用するユーザのユーザID、
が含まれる。ファイルパスでは、ユーザIDより時刻情報が上位に位置するが、ユーザIDが上位に位置してもよい。図5の例によれば、同期処理において、ファイルパス505(ファイルX)が、特殊ディレクトリ702Bに移動された。具体的には、参照符号504に示す通り、ファイルXを最後にアップデートしたユーザのIDは「User_D」であり、アップデート時刻は、「年/月/日 時:分:秒」で表現すると、「2014/07/07 13:45:00」である。この場合、同期プログラム211Bは、特殊ディレクトリ702Bの下位に、ディレクトリ501B及び502Bで構成された退避用ディレクトリを作成する。具体的には、同期プログラム211Bは、特殊ディレクトリ702Bの子ディレクトリとして、アップデート時刻を示す情報のうちの上位部分「20140707」を含んだ名前をディレクトリ名として有するディレクトリ501Bを作成する。また、同期プログラム211Bは、ディレクトリ501の子ディレクトリとして、ユーザID「User_D」を含んだ名前をディレクトリ名として有するディレクトリ502Bを作成する。同期プログラム211Bは、ディレクトリ502Bに、ファイルパス505を移動する。移動されるファイルパスは、ファイルXと、ファイルXとルートノード間のパスにおける全てのオブジェクトを含む(または、ファイルXとその親ディレクトリを含む)。図5の例では、ファイルパス505は、ファイルX及びそれの親ディレクトリで構成されている。ファイルパス505がディレクトリ502に移動されることにより、ファイルパス505内の最上位ディレクトリ(ファイルXの親ディレクトリ)が、ディレクトリ502の1つの子ディレクトリとなる。更に、同期プログラム211Bは、ディレクトリ502内のファイルXのファイル名に、アップデート時刻が示す情報のうちの下位部分「134500」を含める。
 このように、特殊ディレクトリ702B内で、オブジェクトが、アップデート時刻とユーザIDとに基づいて分類される。このため、例えば、退避されたファイルの検索容易化が期待でき、衝突ファイルの修正解決ポリシーを決めやすくなることが期待できる。なお、NAS102B(例えばFSプログラム208B)は、特殊ディレクトリ702B内のファイルのファイルパスから特定されるアップデート時刻から一定時間が経過していれば、そのファイル及び退避用ディレクトリ(501B及び502B)を特殊ディレクトリ702Bから削除してもよい。
 また、NAS102B(ファイル共有サーバプログラム206B)は、クライアント101Bに対して、特殊ディレクトリ702B内の少なくとも1つのオブジェクトに対する変更操作を制限する。具体的には、例えば、NAS102B(ファイル共有サーバプログラム206B)は、作成した退避用オブジェクトに、アクセス制限として、リードオンリー(参照は許可されるが書き込みは禁止)を関連付ける。これにより、特殊ディレクトリ702B内の構造が崩れるのを防ぐことができる。
 以下、図6~図11を用いて、マイグレーション処理及び同期処理を説明する。その際、衝突解決ポリシーに従う処理も説明する。
 図6は、拠点AのNAS102AからCAS121へのマイグレーション処理の前後の様子の一例を示す。
 まず、マイグレーション前の状態は、以下の通りである。CAS121のアップデートリストバージョン情報310が、バージョンID「1」~「99」を含んでいる。これは、センタFS122が、複数のNAS102から合計99回アップデートされたことを意味する。また、バージョンID「1」~「99」にそれぞれ対応したアップデートリスト309がCAS121に格納されている。NAS102Aには、バージョンID「99」までのアップデートリスト309が、ローカルFS104Aに反映済(同期処理済)とする。そのため、同期済バージョン情報214AにバージョンID「99」が登録されている。その後、クライアント101AによりファイルXがファイルX1に編集されたとする。そして、そのアップデート(編集)に対応した自拠点アップデートリスト213Aが生成されている。即ち、CAS121からNAS102Aへ同期したときのCAS121の最新の状態が参照符号603により示される状態であり、その後、クライアント101AによりファイルXが編集されたときのNAS102Aの最新の状態が参照符号601により示される状態である。以上が、マイグレーション前の状態である。
 図6の上記状態において、NAS102AからCAS121へのマイグレーション処理を、図9のフローチャートを用いて説明する(マイグレーション後のCAS121の状態は、参照符号604により示される状態である)。
 S901で、マイグレーションプログラム212Aは、同期処理を実行する。これは、CAS121の最新の状態を自拠点Aへ反映し、その差分のみをCAS121へ送信するためである。ただし、最近同期した時から、CAS121のアップデートリストバージョン情報310にバージョンIDの追加がない場合は、本処理は不要である。図6の例では、拠点AのNAS102A(601)の同期済バージョン情報214は「99」を示し、CAS121(603)のアップデートリストバージョン情報310は「1,2,…,99」を示している。拠点AのNAS102A(601)が最後に同期したバージョン「99」からCAS121に変化がないため、本処理は不要である。
 S902で、マイグレーションプログラム212Aは、データマイグレーションを行う。本ステップでは、同期済バージョンからのアップデート分をCAS121へ反映する。なお、反映する際には、アップデートされた箇所の親ディレクトリを含めて反映する。図6の例では、ファイルXにアップデートがある(内容が「X」から「X1」にアップデートされている)ため、ファイルXとその親ディレクトリA(dirA)とを含んだファイルパス609がセンタFS122へ反映される。反映後は、参照符号604に示すようになる。すなわち、ファイルXの内容は「X1」となる。
 S903で、マイグレーションプログラム212Aは、自拠点アップデートリスト213をCAS121へ送信する。図6の例では、ファイルXのアップデートに対応した自拠点アップデートリスト213A-1(図8参照)が送信される。
 S904で、マイグレーションプログラム212Aは、アップデートリストバージョン情報310のアップデートを行う。本ステップでは、アップデートリストバージョン情報310の最終エントリの値を一つインクリメントした値を、アップデートリストバージョン情報310の末尾へ追加する。図6の例では、アップデートリストバージョン情報310の最終エントリの値は「99」である。このため、マイグレーションプログラム212Aは、これに1を加えた「100」をアップデートリストバージョン情報310へ追加する。従って、アップデートリストバージョン情報310は、「1,2,…,99,100」を含む(参照符号604)。
 なお、S902~S904は、自拠点アップデートリスト213がある間、処理が継続される。
 以上が、マイグレーション処理の説明である。
 続いて、CAS121からNAS102Bへの同期処理を説明する。
 図7は、CAS121から拠点BのNAS102Bへの同期処理の前後の様子の一例を示す。
 まず、同期処理前の状態を以下に示す。CAS121は、参照符号604により示す状態である。つまり、アップデートリストバージョン情報310には、「1」から「100」までが登録されており、アップデートリストバージョン「100」に対応するアップデートリストはリスト213A-1(図8参照)であるとする。また、NAS102Bの同期済バージョン情報は「99」を示しており、その後、クライアント101BによりファイルXが編集され内容が「X2」になっている。そして、そのアップデートにより、NAS102Bの自拠点アップデートリストとしてリスト213B-2(図8参照)が生成されている。以上が、同期処理前の状態の説明である。
 図7の上記状態において、CAS121からNAS102Bへの同期処理を、図10のフローチャートを用いて説明する(同期処理後のNAS102Bの状態は参照符号701により示される状態である)。
 S1001で、同期プログラム211Bは、CAS121のアップデートリストバージョン情報310を参照する。図7の例では、「1,2,…,100」を含むアップデートリストバージョン情報310が参照される。
 S1002で、同期プログラム211Bは、同期が必要か否か判断する。判断結果が肯定の場合(S1002:Yes)、S1003へ進む。判断結果が否定の場合(S1002:No)、処理が終了する。本ステップでは、同期プログラム211Bは、前回CAS121からNAS102Bへの同期を行った状態から、センタFS122にアップデートがあったか否かを判断する。その判断結果が肯定の場合、S1002:Yesとなり、その判断結果が否定の場合、S1002:Noとなる。本実施形態では、同期済バージョン情報214とアップデートリストバージョン情報310を用いてその判断が行われる。図7の例では、NAS102Bの同期済バージョン情報には「99」が登録されており、CAS121のアップデートリストバージョン情報310には、「1」から「100」までが登録されている。これは、前回CAS121からNAS102Bへ同期を行った状態から、CAS121のアップデートバージョンが1つ上がっていることを意味する。故に、同期が必要との判断結果となる(S1002:Yes)。
 S1003で、同期プログラム211Bは、前回同期以降に作成されたアップデートリストをCAS121から取得する。図7の例では、アップデートリストバージョン「99」までは同期済であるため、アップデートリストバージョン「100」に対応するアップデートリスト309(213A-1)が取得される。
 S1004で、同期プログラム211Bは、未処理のアップデートリスト309があるか否かを判断する。判断結果が肯定の場合(S1004:Yes)、S1005へ進み、判断結果が否定の場合(S1004:No)、処理が終了する。図7の例では、S1003で取得した未処理のアップデートリスト309(213A-1)があるため、S1005へ進む。
 S1005で、同期プログラム211Bは、名前空間反映処理を実行する。本ステップでは、センタFS122(CAS121の名前空間)がNAS102Bへ反映される。本ステップは、本実施形態の1つの特徴を含み、本ステップの詳細が、図11に示される。従って、S1006を説明する前に、図11を用いてS1005の説明を行う。
 図11は、名前空間反映処理のフローチャートである。
 S1101で、同期プログラム211Bは、ポリシー情報400を参照し、反映元の名前空間と反映先の名前空間との間において異なるオブジェクト(ここではファイルX)について、ファイル退避が必要ないずれかの衝突ケースに合致するか否かを判断する。本実施形態では、図4によれば、例えば、以下のいずれかに該当する場合、
(c-1)CAS121のファイルにアップデートがあり、且つ、同じファイル名のファイルを自拠点100Bで新規作成又はアップデートしていた(ポリシー名「First-Mig-Win」)
(c-2)CAS121で作成又はリネームされたディレクトリと同名のファイルを自拠点Bで作成していた(ポリシー「Directory-Win」)
ファイル退避が必要ないずれかの衝突ケースに合致するとの判断結果が得られる。また、(c-1)及び(c-2)のいずれかに該当するか否かを判断するためには、S1003で取得したアップデートリスト309と自拠点アップデートリスト213とを比較すればよい。
 図7の例では、処理対象のアップデートリスト309(213A-1)のアップデート内容809より、CAS121の名前空間において、「/Root/dirA」下の「fileX」にアップデートがあったことがわかる。また、NAS102Bの自拠点アップデートリスト213(213B-2)のアップデート内容809より、NAS102Bにおいても名前空間において、「/Root/dirA」下の「fileX」にアップデートがあったことがわかる。即ち、CAS121とNAS102Bで同じファイル名をアップデートしていることから、ファイル退避条件(c-1)に合致するため(S1101:Yes)、S1102へ進む。
 S1102で、同期プログラム211Bは、特殊ディレクトリ(ディレクトリ「.conflict」)702Bの下位に退避用ディレクトリを作成する。図7では図を簡略化しているが、図5に示す通り、「.conflict」702Bの下位に、アップデート日付を表すディレクトリ501B、ファイルを最後にアップデートしたユーザを表すディレクトリ502Bが設けられる。例えば、参照符号504に示すように、ファイルを最終アップデートしたユーザのユーザIDが「User_D」で、ファイル最終アップデート時刻が「2014/07/07 13:45:00」の場合、「.conflict」702Bの下位に、名前が「20140707」であるディレクトリ501Bが作成され、その下位に、名前が「User_D」であるディレクトリ502Bが作成される。本ディレクトリ階層は一例であり、発明を限定するものではない。名前が日付であるディレクトリを設けることにより、ある日付以降のファイルを削除して容量を削減する等の対応がとりやすくなる。
 S1103で、同期プログラム211Bは、衝突ファイルの名称変更と退避先ディレクトリの下位への配置とを行う。本ステップでは、S1102で作成したディレクトリの下位へ衝突ファイルが移動される。図7の例では、同期プログラム211Bは、衝突ファイルを含んだファイルパス703を、参照符号701に示す通り、「.conflict」702Bの下位に移動する。より詳しくは、図5に示す通り、ファイルパス703は、ファイルパス703中の日付を含んだディレクトリ名を有するディレクトリ501と、ファイルパス703中のユーザIDを含んだディレクトリ名を有するディレクトリ502との下位に移動される。同期プログラム211Bは、図5に示す通り、移動したファイルのファイル名に、時刻情報の下位部分(時分秒)を含める(「fileX_134500」)。
 更に、同期プログラム211Bは、S1103で退避用ディレクトリに移動したファイルのアクセス制御属性として、読み込み専用を割り当て、これにより、クライアント101Bからの、退避用ディレクトリ内のファイルの更新が禁止される。これにより、衝突ファイルの更新やディレクトリ階層の変更が回避され、その後の検索容易性を保つことが期待できる。
 S1104で、同期プログラム211Bは、センタFS122のアップデートをローカルFS104Bへ反映し、処理を終了する。図7の例では、参照符号701に示すように、内容が「X1」のファイルXを含んだファイルパス705が、ルートノードに追加される。
 以上により、図11の名前空間反映処理の説明を終了する。本処理は、図10のS1005に該当するものであり、図10のS1006の説明に戻る。
 S1006で、同期プログラム211Bは、NASの同期済バージョン情報214をアップデートする。図7の例では、CAS121のアップデートリストバージョン情報のバージョン「100」に該当する同期を実行したため、同期前(参照符号602)の同期済バージョン情報214の「99」を、「100」にアップデートする(参照符号701)。
 S1004に戻り、S1003で取得した未処理のアップデートリスト309が存在する間、S1005とS1006が繰り返される。未処理のアップデートリスト309が無くなったら処理が終了する。図7の例では、S1003で取得したアップデートリスト309は、バージョン「100」に該当する1つのみであり、他に未処理のアップデートリスト309は存在しないため、処理が終了する。
 以上が、同期処理の説明である。
 以上、一実施形態を説明したが、本発明は、この実施形態に限定されるものでなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
101:クライアント、102:NAS、121:CAS 

Claims (13)

  1.  複数のローカル名前空間をそれぞれ提供する複数のエッジノードと、
     前記複数のエッジノードに接続され前記複数のローカル名前空間に対応したセンタ名前空間を提供するセンタノードと
    を有し、
     第1のエッジノードが提供する第1のローカル名前空間のアップデートをセンタ名前空間に反映することであるマイグレーションにおいて、又は、前記センタ名前空間のアップデートを第2のエッジノードが提供する第2のローカル名前空間に反映することである同期において、前記センタノード又は前記第2のエッジノードが、反映元の名前空間と反映先の名前空間との間において異なるオブジェクトについて、
      (A)定義された複数の衝突ケースのうちのいずれかの衝突ケースに該当するか否かを判断し、
      (B)(A)の判断の結果が肯定の場合に、該当する衝突ケースに対応した衝突解決ポリシーに従う処理を実行し、
     前記第1のエッジノードは、いずれかのエッジノードであり、
     前記第2のエッジノードは、前記第1のエッジノード以外のいずれかのエッジノードである、
    計算機システム。
  2.  前記複数のエッジノードと、前記センタノードと、前記複数のエッジノード及び前記センタノードとのうちの少なくとも1つに接続された管理ノードとのうちの少なくとも1つである対象ノードが、
      ユーザ又は管理者から情報の入力を受け付けるユーザインターフェースを提供し、
      前記ユーザインターフェースを通じて入力された情報に従い、前記定義された複数の衝突ケースと、前記定義された複数の衝突ケースにそれぞれ対応した複数の衝突解決ポリシーとのうちの少なくとも1つをアップデート又は削除する、又は、衝突ケースと衝突解決ポリシーとの組を新たに追加する、
    請求項1記載の計算機システム。
  3.  前記対象ノードが、
      前記ユーザインターフェースを通じて、前記複数のエッジノードと前記センタノードのうちの2以上のノードの各々についての優先順位の入力を受け、
      前記2以上のノードの各々の入力された優先順位に従い、前記定義された複数の衝突ケースと、前記定義された複数の衝突ケースにそれぞれ対応した複数の衝突解決ポリシーとのうちの少なくとも1つをアップデートする、
    請求項2記載の計算機システム。
  4.  前記複数のエッジノードの各々が、前記定義された複数の衝突ケースと、前記定義された複数の衝突ケースにそれぞれ対応した複数の衝突解決ポリシーとを表す情報を記憶し、
     前記複数のエッジノードの各々が、前記センタ名前空間のアップデートをそのエッジノードが提供するローカル名前空間に反映することである同期において、前記センタ名前空間内の複数のオブジェクトのうち変更された1以上のオブジェクトの各々について、(A)及び(B)を実行する、
    請求項1記載の計算機システム。
  5.  前記該当する衝突ケースに対応した衝突解決ポリシーが、前記第2のローカル名前空間における衝突オブジェクトの退避を必要とする場合、前記第2のエッジノードが、(B)において、その衝突オブジェクトの退避先とする退避用ディレクトリを、前記第2のローカル名前空間に作成し、作成した退避用ディレクトリに、その衝突オブジェクトを移動する、
    請求項1記載の計算機システム。
  6.  該当する衝突ケースが、反映元の名前空間において作成又はリネームされたディレクトリと同名のファイルが反映先の名前空間において作成されているというケースであり、
     前記該当する衝突ケースに対応した衝突解決ポリシーは、ファイルよりディレクトリを優先することに従うポリシーであり、
     (B)において、該当する衝突ケースに対応した衝突解決ポリシーに従う処理として、
      前記第2のローカル名前空間に、前記作成又はリネームされたディレクトリが格納され、
      前記同名のファイルが、前記第2のローカル名前空間に作成された退避用ディレクトリに移動される、
    請求項5記載の計算機システム。
  7.  該当する衝突ケースが、反映元の名前空間において作成、アップデート、削除又はリネームされたファイルパスと同名のファイルパスが反映先の名前空間において作成、アップデート、削除又はリネームされているというケースであり、
     前記該当する衝突ケースに対応した衝突解決ポリシーは、最先のマイグレーションを優先することに従うポリシーであり、
     (B)において、該当する衝突ケースに対応した衝突解決ポリシーに従う処理として、
      前記第2のローカル名前空間に、反映元の名前空間における作成、アップデート、削除又はリネームの結果が反映され、
      前記第2のローカル名前空間において作成、アップデート、削除又はリネームされたファイルパスに属するファイルが、前記第2のローカル名前空間に作成された退避用ディレクトリに移動される、
    請求項5記載の計算機システム。
  8.  該当する衝突ケースが、反映元の名前空間において削除されたディレクトリと同一ディレクトリ内のオブジェクトが反映先の名前空間においてアップデートされているというケースであり、
     前記該当する衝突ケースに対応した衝突解決ポリシーは、ディレクトリ削除を優先することに従うポリシーであり、
     (B)において、該当する衝突ケースに対応した衝突解決ポリシーに従う処理として、前記第2のローカル名前空間における前記同一のディレクトリが、退避されること無しに削除される、
    請求項5記載の計算機システム。
  9.  前記第2のエッジノードが、前記第2のエッジノードのユーザからの前記退避用ディレクトリへの書き込みを禁止する、
    請求項5記載の計算機システム。
  10.  前記退避用ディレクトリへのファイルパスに、前記第2のエッジノードにより、移動されるオブジェクトの使用に関する情報として、以下のうちの少なくとも1つが含まれる、
    (a)そのオブジェクトが作成、アップデート又はリネームされた最新の時刻を表す時刻情報、
    (b)そのオブジェクトを使用するユーザのユーザID、
    請求項5記載の計算機システム。
  11.  前記第2のローカル名前空間に、退避用ディレクトリの上位ディレクトリとなる特殊ディレクトリがあり、
     前記第2のエッジノードが、退避用ディレクトリの作成として、
      前記特殊ディレクトリの子ディレクトリとして、前記時刻情報の上位部分とユーザIDとのうちの一方を含んだ名前をディレクトリ名として有する第1のディレクトリを作成し、
      前記第1のディレクトリの子ディレクトリとして、前記時刻情報の上位部分とユーザIDとのうちの他方を含んだ名前をディレクトリ名として有する第2のディレクトリを作成し、
     前記第2のエッジノードが、
      前記第2のディレクトリにオブジェクトを移動し、
      前記第2のディレクトリに移動されるオブジェクトの名前に、前記時刻情報の下位部分を含める、
    請求項10記載の計算機システム。
  12.  複数のローカル名前空間をそれぞれ提供する複数のエッジノードと、前記複数のエッジノードに接続され前記複数のローカル名前空間に対応したセンタ名前空間を提供するセンタノードとを有する計算機システムにおいて行われる分散オブジェクト共有方法であって、
     第1のエッジノードが提供する第1のローカル名前空間のアップデートをセンタ名前空間に反映することであるマイグレーションにおいて、又は、前記センタ名前空間のアップデートを第2のエッジノードが提供する第2のローカル名前空間に反映することである同期において、前記センタノード又は前記第2のエッジノードにより、反映元の名前空間と反映先の名前空間との間において異なるオブジェクトについて、
     (A)定義された複数の衝突ケースのうちのいずれかの衝突ケースに該当するか否かを判断し、
     (B)(A)の判断の結果が肯定の場合に、該当する衝突ケースに対応した衝突解決ポリシーに従う処理を実行し、
     前記第1のエッジノードは、いずれかのエッジノードであり、
     前記第2のエッジノードは、前記第1のエッジノード以外のいずれかのエッジノードである、
    分散オブジェクト共有方法。
  13.  別のエッジノードに接続されたセンタノードに接続されたインターフェースデバイスと、
     前記インターフェースデバイスに接続されローカル名前空間を提供するプロセッサと
    を有し、
     前記センタノードは、センタ名前空間を提供し、
     前記センタ名前空間は、前記別のエッジノードが提供する別のローカル名前空間のアップデートが反映されることによりアップデートされ、
     前記センタ名前空間のアップデートを前記ローカル名前空間に反映することである同期において、前記プロセッサが、反映元の名前空間と反映先の名前空間との間において異なるオブジェクトについて、
      (A)定義された複数の衝突ケースのうちのいずれかの衝突ケースに該当するか否かを判断し、
      (B)(A)の判断の結果が肯定の場合に、該当する衝突ケースに対応した衝突解決ポリシーに従う処理を実行する、
    エッジノード。
PCT/JP2015/052622 2015-01-30 2015-01-30 計算機システム、分散オブジェクト共有方法、エッジノード WO2016121083A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2015/052622 WO2016121083A1 (ja) 2015-01-30 2015-01-30 計算機システム、分散オブジェクト共有方法、エッジノード
JP2016571623A JP6298903B2 (ja) 2015-01-30 2015-01-30 計算機システム、分散オブジェクト共有方法、エッジノード
US15/540,045 US10412163B2 (en) 2015-01-30 2015-01-30 Computer system, distributed object sharing method, and edge node

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/052622 WO2016121083A1 (ja) 2015-01-30 2015-01-30 計算機システム、分散オブジェクト共有方法、エッジノード

Publications (1)

Publication Number Publication Date
WO2016121083A1 true WO2016121083A1 (ja) 2016-08-04

Family

ID=56542734

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/052622 WO2016121083A1 (ja) 2015-01-30 2015-01-30 計算機システム、分散オブジェクト共有方法、エッジノード

Country Status (3)

Country Link
US (1) US10412163B2 (ja)
JP (1) JP6298903B2 (ja)
WO (1) WO2016121083A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019086866A (ja) * 2017-11-02 2019-06-06 富士ゼロックス株式会社 情報処理装置及びプログラム

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10015249B2 (en) * 2015-11-04 2018-07-03 Dropbox, Inc. Namespace translation
JP6805196B2 (ja) * 2018-02-23 2020-12-23 日本電信電話株式会社 ポリシー競合解消システム及びポリシー競合解消方法
CN112231296A (zh) * 2020-09-30 2021-01-15 北京金山云网络技术有限公司 一种分布式日志处理方法、装置、系统、设备及介质
US20230105587A1 (en) * 2021-10-04 2023-04-06 EMC IP Holding Company LLC Destination file copying
US11599506B1 (en) * 2021-10-28 2023-03-07 EMC IP Holding Company LLC Source namespace and file copying
CN115174603B (zh) * 2022-07-06 2023-08-22 中国联合网络通信集团有限公司 Nas服务系统、实现方法、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070282914A1 (en) * 2006-05-31 2007-12-06 Microsoft Corporation Resolving update-delete conflicts
JP2013529810A (ja) * 2010-06-23 2013-07-22 マイクロソフト コーポレーション 共有データコレクション
WO2014128819A1 (ja) * 2013-02-19 2014-08-28 株式会社 日立製作所 情報処理システム及びそのデータ同期制御方式
JP2014524621A (ja) * 2011-12-13 2014-09-22 華為技術有限公司 ファイル同期方法及び装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7778963B2 (en) * 2005-04-26 2010-08-17 Microsoft Corporation Constraint-based conflict handling for synchronization
EP2784300B1 (en) 2013-03-28 2016-05-18 Continental Automotive GmbH Valve assembly for a fluid injection valve and fluid injection valve
EP3149606B1 (en) * 2014-05-30 2019-05-08 Hitachi Vantara Corporation Metadata favored replication in active topologies

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070282914A1 (en) * 2006-05-31 2007-12-06 Microsoft Corporation Resolving update-delete conflicts
JP2013529810A (ja) * 2010-06-23 2013-07-22 マイクロソフト コーポレーション 共有データコレクション
JP2014524621A (ja) * 2011-12-13 2014-09-22 華為技術有限公司 ファイル同期方法及び装置
WO2014128819A1 (ja) * 2013-02-19 2014-08-28 株式会社 日立製作所 情報処理システム及びそのデータ同期制御方式

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019086866A (ja) * 2017-11-02 2019-06-06 富士ゼロックス株式会社 情報処理装置及びプログラム
JP7119340B2 (ja) 2017-11-02 2022-08-17 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム

Also Published As

Publication number Publication date
US20180109611A1 (en) 2018-04-19
US10412163B2 (en) 2019-09-10
JPWO2016121083A1 (ja) 2017-08-24
JP6298903B2 (ja) 2018-03-20

Similar Documents

Publication Publication Date Title
JP6298903B2 (ja) 計算機システム、分散オブジェクト共有方法、エッジノード
US11698885B2 (en) System and method for content synchronization
US8762344B2 (en) Method for managing information processing system and data management computer system
US10936547B2 (en) Filesystem replication using a minimal filesystem metadata changelog
JP5775177B2 (ja) クローンファイル作成方法と、それを用いたファイルシステム
US8266176B2 (en) Storage system and file access determination method of the same
JP6430499B2 (ja) Posix互換なファイル・システム、ファイル・リストを生成する方法および記憶デバイス
JP5082310B2 (ja) データ移行装置及びプログラム
US9116913B2 (en) File storage system and file cloning method
US8060711B2 (en) Storage system
US9031906B2 (en) Method of managing data in asymmetric cluster file system
JP2019204278A (ja) 情報処理システム、情報処理装置およびプログラム
WO2016079629A1 (en) Optimizing database deduplication
US20090198704A1 (en) Method for automated network file and directory virtualization
EP3314469B1 (en) Cloud-native documents integrated with legacy tools
JP4937863B2 (ja) 計算機システム、管理計算機及びデータ管理方法
US7730351B2 (en) Per file dirty region logging
US10489353B2 (en) Computer system and data management method
US20100250634A1 (en) File server system and file management method
US9286318B2 (en) Edge server and storage control method

Legal Events

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

Ref document number: 15879980

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2016571623

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 15540045

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15879980

Country of ref document: EP

Kind code of ref document: A1