WO2017168653A1 - ストレージシステム - Google Patents

ストレージシステム Download PDF

Info

Publication number
WO2017168653A1
WO2017168653A1 PCT/JP2016/060498 JP2016060498W WO2017168653A1 WO 2017168653 A1 WO2017168653 A1 WO 2017168653A1 JP 2016060498 W JP2016060498 W JP 2016060498W WO 2017168653 A1 WO2017168653 A1 WO 2017168653A1
Authority
WO
WIPO (PCT)
Prior art keywords
file
storage
information
archiver
storage system
Prior art date
Application number
PCT/JP2016/060498
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/JP2016/060498 priority Critical patent/WO2017168653A1/ja
Publication of WO2017168653A1 publication Critical patent/WO2017168653A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements

Definitions

  • the present invention relates to a storage system.
  • Japanese Patent Application Laid-Open No. 2003-228867 describes that “when the NAS device 10 detects a virus infection of a file transmitted from a client computer, a file infected with a virus may be stored in a file management module controlled by each user OS. "Stop the operation of the file management module that uses a certain directory group” is described, “It is possible to prevent secondary damage due to virus infection to other logical volumes and to reduce the loss in operation of the computer system.” Are listed.
  • Patent Document 1 If the technology described in Patent Document 1 is used, secondary damage can be prevented. However, there is no description of a technique for preventing secondary damage among a plurality of NAS devices (file storages) or a technique for making use of the progress of file scanning for detecting virus infection.
  • an object of the present invention is to provide a storage system in which a plurality of file storages cooperate to prevent virus infection.
  • a representative storage system is a storage system in which a plurality of file storages each storing a file and an archiver that archives a file are connected, and each of the plurality of file storages includes the file
  • the file stored in the storage is transmitted to the archiver, the management information of the transmitted file is retained, and in reading the file, it is determined that the file is transmitted to the archiver based on the management information, and the management information
  • the archiver receives and archives the file from the file storage, and receives the first scan from the file storage. Responding to the scan result request with the recorded first scan result, responding to the file request from the file storage with the archived file, and the second scan result from the file storage Is recorded as the first scan result.
  • FIG. 1 is a diagram illustrating an example of system hardware.
  • the system is divided into an edge A 101-1, an edge B 101-2 and a core 102, which are connected by a network 103.
  • Edge A 101-1 and Edge B 101-2 are devices that are located at the edge of the system and provide services to the user.
  • Core 102 is located at the core of the system and provides services to Edge A 101-1 and Edge B 101-2. This is a group of devices to be provided.
  • the edge A 101-1 and the edge B 101-2 include the same type of device group. In FIG. 1, two examples of the edge A 101-1 and the edge B 101-2 are shown. However, the number may be three or more.
  • the client 110 is a general computer operated by a user.
  • a CPU (Central Processing Unit) 111 executes a program stored in the memory 112, and sends data to the memory 112 or HDD (Hard Disk Drive) 113. Read / write and control communication of NIC (Network Interface Card) 114.
  • NIC Network Interface Card
  • the program and data stored in the memory 112 may be read from the HDD 113.
  • the HDD 113 may be an SSD (Solid State Drive), and the HDD 113 is not included in the client 110, so-called diskless, and a storage corresponding to the HDD 113 may be connected to a network connected to the client 110.
  • SSD Solid State Drive
  • the NIC 114 is connected to the file storage 120 via a network.
  • the CPU 111 of the client 110 executes a program stored in the memory 112, controls the NIC 114, and transmits a file read request and a write request to the file storage 120.
  • the program stored in the memory 112 will be described later with reference to FIG.
  • the file storage 120 is a computer that responds to file read requests in response to file read requests, stores file data in response to file write requests, and manages them as files.
  • the CPU 121 of the file storage 120 executes a program stored in the memory 122, reads / writes data from / to the memory 122 or the HDD 123, controls communication between the NIC 124 and the NIC 125, and communicates with the storage by the HBA (Host Bus Adapter) 126. Control communication.
  • HBA Hyper Bus Adapter
  • the program and data stored in the memory 122 may be read from the HDD 123, and the HDD 123 may be an SSD.
  • the NIC 124 is connected to the client 110 and the scan server 150 via the network in the edge A 101-1.
  • the NIC 125 is connected to the archiver 160 of the core 102 via the network 103 outside the edge A 101-1.
  • the NIC 124 may include a plurality of NICs including a NIC connected to the client 110 and a NIC connected to the scan server 150. Conversely, the NIC 124 and the NIC 125 may be one NIC. The NIC 124 and the NIC 125 may be NICs that support the same communication protocol, or may be NICs that support different communication protocols, and the supported communication protocol is TCP / IP (TransmissionTransControl Protocol / Internet Protocol). ).
  • TCP / IP TransmissionTransControl Protocol / Internet Protocol
  • the HBA 126 is an adapter that communicates with a peripheral device, and is connected to the block storage 140.
  • the HBA 126 may be an HBA that supports FC (Fibre Channel), an HBA that supports iSCSI (Internet SCSI), or an HBA that supports SATA (Serial ATA).
  • the file data to be saved may be stored in the HDD 123 or may be stored in the block storage 140 via the HBA 126.
  • the block storage 140 is a general storage that responds to a read request for block data and stores the data in response to a write request for block data.
  • the CPU 141 of the block storage 140 executes a program stored in the memory 142, and accesses the HDD 143 in response to a read request and a write request received by a CHA (Channel Adapter) 144.
  • CHA Channel Adapter
  • the program stored in the memory 142 may be read from the HDD 143, or the memory 142 may be a non-volatile memory and may continue to hold the program.
  • the HDD 143 stores data to be read and written in response to a read request and a write request.
  • the HDD 143 may be a plurality of HDDs, and the plurality of HDDs may be RAID (Redundant Arrays of Inexpensive Disks).
  • the block storage 140 may have dedicated hardware to respond to a large number of read requests and write requests in a short time and to access a large number of HDDs 143.
  • This dedicated hardware may share processing with the CPU 141 or may be controlled by the CPU 141.
  • the scan server 150 is a computer that scans a file received from the file storage 120 and detects a virus infection.
  • the CPU 151 of the scan server 150 executes a program stored in the memory 152, reads / writes data from / to the memory 152 or the HDD 153, and controls communication of the NIC 154.
  • the program stored in the memory 152 may be read from the HDD 153.
  • the HDD 153 may be an SSD, and the HDD 153 may not be included in the scan server 150.
  • the file received by the NIC 154 may be stored in the memory 152 or the HDD 153, and the scan result may be transmitted by the NIC 154.
  • the archiver 160 is a computer that receives and archives a file via the network 103 and transmits the archived file.
  • the CPU 161 of the archiver 160 executes a program stored in the memory 162, reads / writes data from / to the memory 162 or the HDD 163, controls communication of the NIC 164, and controls communication with the storage by the HBA 165.
  • the operation of the HBA 165 is the same as the operation of the HBA 126. Then, the file data to be archived may be stored in the HDD 163 or may be stored in the block storage 170 via the HBA 165.
  • the block storage 170 is a general storage that responds to a block data read request and stores the data in response to a block data write request.
  • Each of the CPU 171, the memory 172, the HDD 173, and the CHA 174 of the block storage 170 may be the same as each of the CPU 141, the memory 142, the HDD 143, and the CHA 144 of the block storage 140. Further, the number of HDDs 173 may be different from the number of HDDs 143.
  • FIG. 2 is a diagram showing an example of system software.
  • each memory of the client 110, the file storage 120, the block storage 140, the scan server 150, the archiver 160, and the block storage 170 includes a kernel and a device driver, and includes an OS (Operating System) and an RTOS (Real Time OS).
  • OS Operating System
  • RTOS Real Time OS
  • a program called a monitor program, a basic program, and the like are also stored. However, since the program is generally stored in a computer, illustration and description thereof are omitted.
  • an application 116 is stored as a program 115.
  • the application 116 is, for example, a Web browser program, and a display output by executing the Web browser program is a GUI (Graphical User Interface), and a click in a specific area is a file write, and another specific Clicking on the area reads the file.
  • an operation by clicking on a specific area may include reading or writing a file.
  • the CPU 111 uses, for example, a CIFS (Common Internet Internet File System) or NFS (Network File System, NFS is a registered trademark) protocol. Therefore, the NIC 114 is controlled to communicate with the NIC 124.
  • CIFS Common Internet Internet File System
  • NFS Network File System
  • a file sharing system 128, a file system 129, a data mover 130, and a recall control 131 are stored as programs 127.
  • the file sharing system 128 is a program that interprets the CIFS or NFS protocol and converts it into a local file read request or write request in the file storage 120.
  • the file system 129 is a program that converts a local file read request or write request in the file storage 120 into a block data read request or write request based on the file management information, and accesses the HDD 123 or the block storage 140. is there.
  • the file management information an example of inode will be described with reference to FIG.
  • the data mover 130 is a program that reads data stored in the HDD 123 or the block storage 140 as a file by executing the file system 129, and moves the read file to the archiver 160. This is a program that moves to the file storage 120.
  • the recall control 131 is a program that responds to a read request from the client 110 in cooperation with the file system 129 and the data mover 130. For this response, in particular, the virus infection of the file archived in the archiver 160 is detected. This is a program for determining using the scan server 150. A response sequence to the read request will be described with reference to FIGS.
  • a RAID control 146 is stored as a program 145.
  • the CPU 141 executes RAID control 146 to distribute and write block data to a plurality of HDDs included in the HDD 143, read the block data that has been distributed and written, and failure of some HDDs included in the HDD 143 Is complemented with other HDDs.
  • the scan engine 156 is stored in the memory 152 of the scan server 150 as the program 155.
  • the scan engine 156 is a program for detecting a virus contained in a file, and is a program manufactured and sold by a security maker.
  • the memory 152 preferably stores a plurality of types of scan engines 156 or a plurality of security manufacturers' scan engines 156.
  • the scan engine 156 stored in the memory 152 of the scan server 150 of the edge A 101-1 and the scan engine of the edge B 101-2 corresponding to the scan engine 156 are different types or scan engines of different security manufacturers. It is preferable that The CPU 151 executes the scan engine 156, scans the file received by the NIC 154, determines whether the file is infected with a virus, and transmits the determined scan result by the NIC 154.
  • an archive 167 and a file system 168 are stored as programs 166.
  • the archive 167 is a program for archiving a file moved from the file storage 120 to the HDD 163 or the block storage 170 as block data by the execution of the file system 168.
  • the archived data is read by executing the file system 168, and then the file is read. And the read file is transferred to the file storage 120.
  • the archive 167 is also a program for managing information related to virus infection. Information on virus infection will be described with reference to FIG. 5, and the movement of the CPU 161 for executing the archive 167 and the information management sequence will be described with reference to FIGS.
  • the file system 168 is a program that converts a local file read request or write request in the archiver 160 into a block data read request or write request based on the file management information, and accesses the HDD 163 or the block storage 170. .
  • file management information an example of inode will be described with reference to FIG.
  • a RAID control 176 is stored as a program 175.
  • the CPU 171 executes RAID control 176 to distribute and write block data to a plurality of HDDs included in the HDD 173, read the block data that has been distributed and written, and failure of some HDDs included in the HDD 173 Is complemented with other HDDs.
  • each of the programs 115, 127, 145, 155, 166, and 175 described with reference to FIG. 2 may be a program area of each memory.
  • the system shown in FIGS. 1 and 2 may be a storage system, and the file storage 120 may be a NAS (Network Attached Storage) or a file server.
  • File storage 120 may include block storage 140, and archiver 160 may include block storage 170.
  • FIG. 3 is a diagram showing an example of an inode of the edge A 101-1, the edge B 101-2, and the core 102.
  • inode is information that is widely known and used as file management information, but the inode shown in FIG. 3 is an example of file management information, and other management information may be included in the inode. However, it may be management information of other types of files.
  • the inode of the edge A 101-1 is information that is used when the file system 129 of the file storage 120 is executed by the CPU 121, and is stored in the HDD 123 or the block storage 140.
  • the inode of the edge A 101-1 is identified by the inode number 301-1 for identifying the inode, the file path name 302-1 for identifying the inode target file, the inode or the file path name 302-1. Includes the last update date 303-1 of the file.
  • the inode of the edge A 101-1 stores a recall prohibit flag 304-1 indicating whether or not the recall is prohibited, a stubbing flag 305-1 indicating whether or not the stubbing is performed, and storage of a file when stubbing is performed. It further includes a storage destination URL (Uniform Resource Locator) 306-1 indicating the destination, and block addresses 307-1 and 308-1 indicating the addresses of the block data constituting the file data when not stubbed.
  • URL Uniform Resource Locator
  • Recall is an operation in which the file storage 120 acquires a file archived in the archiver 160 and transmits it to the client 110.
  • “OFF” of the recall prohibition flag 304-1 means that the recall is permitted, that is, transmission to the client 110 is permitted.
  • “ON” of the recall prohibition flag 304-1 means that recall is prohibited, that is, transmission to the client 110 is not permitted.
  • the stubbing flag 305-1 When the stubbing flag 305-1 is “ON”, the data of the file identified by the file path name 302-1 is not stored in either the HDD 123 or the block storage 140, and is archived in the archiver 160. Means state. “OFF” of the stubbing flag 305-1 means that the data of the file identified by the file path name 302-1 is stored in either the HDD 123 or the block storage 140.
  • the storage destination URL 306-1 is a URL for identifying the core 102 or the archiver 160 and identifying the archived file of the archiver 160 with respect to “ON” of the stubification flag 305-1. In contrast to “OFF” of the stubbing flag 305-1, the storage destination URL 306-1 may be “NULL” or may be meaningless information because it is not referred to. .
  • Block addresses 307-1 and 308-1 are addresses at which block data obtained by dividing file data in the HDD 123 or the block storage 140 is stored in response to “OFF” of the stubification flag 305-1.
  • the block addresses 307 and 308 may be “NULL” or may be meaningless information because they are not referred to.
  • FIG. 3 shows an example of two block addresses for two block data, but there may be one or three or more.
  • the inode may have information on the number of block data constituting the data of one file. Even if the next block address of the last block data is “NULL”, the end is represented. Good. Further, the inode of the edge A 101-1 may include general inode information.
  • Edge B 101-2 inode inode number 301-1, file path name 302-2, last update date and time 303-2, recall prohibit flag 304-2, stubbing flag 305-2, storage destination URL 306-2, block address
  • Each of 307-2 and 208-2 has the same meaning as the information of the same name of the inode of the edge A 101-1. Since the file storage 120 of the edge A 101-1 and the file storage of the edge B 101-2 are physically different storages, the inodes are also stored separately, and are therefore given different reference numerals.
  • the inode of the core 102 is information that is used when the file system 168 of the archiver 160 is executed by the CPU 161 and is stored in the HDD 163 or the block storage 170.
  • the inode of the core 102 includes an inode number 311 for identifying the inode, a file path name 312 for identifying the inode target file, and the last update date and time 313 of the file identified by the inode or the file path name 312. .
  • the inode of the core 102 includes block addresses 314 and 315 indicating addresses of block data constituting archived file data, an internal link 316 that is link information to a version file not infected with a virus, and one It further includes an old version link 317 which is link information to the previous version file.
  • Block addresses 314 and 315 are addresses at which block data obtained by dividing file data in the HDD 163 or the block storage 170 is stored.
  • FIG. 3 shows an example of two block addresses for two block data, but there may be one or three or more.
  • the internal link 316 and the old version link 317 will be described with reference to FIG.
  • FIG. 3 is an example of an inode in which the file “/dir1/a.txt” is stubbed at both the edge A 101-1 and the edge B 101-2.
  • the storage destination URL 306-1 and the storage destination URL 306-2 are shown in FIG. In this example, both are “http: //hcp/dir2/a.txt” and the inode whose inode number 311 is “20” is indicated. Therefore, the file data of the file path name 302-1 of the edge A 101-1 of “/dir1/a.txt” is blocked with the file path name 312 of the core 102 of “/dir2/a.txt”. That is, “0000010” of the address 314 and “0000020” of the block address 315 are stored.
  • FIG. 4 is a diagram illustrating an example of an inode link of the core 102.
  • the same types of information as in FIG. 3 are denoted by the same reference numerals, and the positional relationships of information included in the four inodes are associated with dotted lines in order to make the figure easier to see. This positional relationship does not represent the stored address of the inode but is for explanation.
  • the inode whose inode number 311 is “20” shown in FIG. 4 is the inode of the core 102 shown in FIG. 3.
  • the file path name 302-1 of the edge A 101-1 is “/ dir1”.
  • the updated file "/a.txt” is stubbed 3 times.
  • the old version link 317 is link information to the previous version of the stubbed file.
  • the file path name 312 is “dir3”. Link to "/a.txt" inode.
  • the old version link 317 links to the inode whose file path name 312 is “dir4 / a.txt” when the file path name 312 is “/dir3/a.txt”, and the file path name 312. Is inode with “/dir4/a.txt”, the file path name 312 links to the inode with “dir5 / a.txt”.
  • the information of the old version link 317 does not need to be information corresponding to the information of the file / path name 312 and may be, for example, the information of the inode number 311 or the address where the inode is stored.
  • the internal link 316 is a link to an inode having block addresses 314 and 315 that are data of files in which virus infection is not detected among a plurality of files having the same file name “a.txt”.
  • FIG. 4 shows an example in which no virus infection is detected in the data stored in the block address 314 of “0000070” and the block address 315 of “0000080”.
  • the internal link 316 is “/dir5/a.txt”. is there. Note that the information of the internal link 316 is not necessarily information corresponding to the information of the file / path name 312.
  • the internal link 316 may be a link to an inode that has the smallest number of old version links 317. If virus infection is detected in the data of the block addresses 314 and 315 of the inode where the old version link 317 has the smallest number of links, the old version link 317 is a link to the inode that has the next smallest number of links. May be.
  • the old version link 317 may be “NULL”, and the internal link of the inode in which virus infection was not detected in the data of the block addresses 314 and 315 may be “NULL”.
  • the internal link 316 is a value indicating the detection of the infection. Good.
  • FIG. 5 is a diagram showing an example of the scan result.
  • the scan result information is information used by the archive 161 being executed by the CPU 161 of the archiver 160, and is stored in any of the memory 162, the HDD 163, and the block storage 170 of the core 102.
  • the scan result includes a file path name 511 corresponding to the file path name 312 of the inode, and a hash value 512 of the file data for determining file modification and the like.
  • the scan results include a scan engine name 513 for identifying the scan engine 156 used for detecting the virus infection, a virus definition file version 514 for identifying the virus definition of the scan engine 156, and the date and time when the scan engine 156 was executed.
  • the scan date and time 515, and the infection 516 that is the result of execution of the scan engine 156 is further included.
  • Information of the scan engine name 513, virus definition file version 514, scan date 515, and infection 516 is transmitted by the NIC 151 by the CPU 151 of the scan server 150, transferred by the NIC 124 and NIC 125 by the CPU 121 of the file storage 120, and by the CPU 161 of the archiver 160. Received by the NIC 164 and stored. The storage of information on the infection 516 will be further described with reference to FIGS.
  • the information of the file path name 511 may be stored when the inode of the core 102 shown in FIGS. 3 and 4 is generated, and the information of the hash value 512 is the file data from the NIC 125 of the file storage 120 for stubbing.
  • the data may be received and stored together, or when receiving the data of the file, it may be calculated and stored by the CPU 161 using the data of the received file.
  • FIG. 6 is a diagram showing an example of a sequence from generation of a read request in reading a file to acquisition of a scan result.
  • the CPU 111 of the client 110 executes the application 116, controls the NIC 114, and transmits a read request to the file storage 120 (step 601).
  • the NIC 124 receives a read request in the file storage 120
  • the CPU 121 executes the file sharing system 128 and analyzes the read request (step 602).
  • the analysis of the read request is, for example, an analysis of whether the request is a CIFS read request, and at least the file that is the target of the read request and the file corresponding to the file path name 302-1 is analyzed.
  • the CPU 121 executes the file system 129, searches for an inode, finds an inode of the file path name 302-1 that matches the analyzed information, and acquires other information of the found inode (step 603).
  • the CPU 121 executes the recall control 131 and determines whether or not the stubbing flag 305-1 in the acquired information is “ON” (step 604). When it is determined that the stubification flag 305-1 is not “ON”, that is, is “OFF” and is not stubbed, the CPU 121 executes the file system 129 to the block addresses 307-1 and 308-1. The stored data is read from the HDD 123 or the block storage 140. Then, the CPU 121 executes the file sharing system 128 and transmits the read data as a file to the client 110 by the NIC 124 (step 605).
  • the CPU 121 executes the recall control 131, and the recall prohibiting flag 304-1 in the acquired information is “ON”. Is determined (step 606).
  • the CPU 121 executes the recall control 131 and sends error information to the client as a response to the read request from the client 110 via the NIC 124. Transmit (step 607).
  • the CPU 121 executes the recall control 131 and stores the storage destination URL 306 in the acquired information.
  • -1 is designated as a scan target, a scan result request is transmitted to the archiver 160 by the NIC 125, and a response from the archiver 160 is received (step 608).
  • the CPU 161 executes the archive 167, searches the scan result described with reference to FIG. The file path name 511 that matches the storage location URL 306-1 specified as is found.
  • the CPU 161 executes the archive 167, acquires the infection 516 corresponding to the found file path name 511, and responds with “Yes” or “No” of the acquired infection 516 to the file storage 120 by the NIC 164. Transmit (step 609).
  • the CPU 121 of the file storage 120 executes the recall control 131 and receives a “Yes” or “No” response from the archiver 160 by the NIC 125.
  • FIG. 6 is a diagram in which the client 110 receives the file in step 605 and receives the error in step 607. However, the client 110 indicates that each file is received and does not receive both as a sequence. . A device that receives or transmits in this way is represented, and a relationship that does not represent a sequence is a broken line. Also, the inode shown in FIG. 3 is an example of information that reaches Step 608.
  • FIG. 7 is a diagram showing an example of a sequence from the determination of the scan result to the transmission of the stubbed file and the update of the scan result in reading the file.
  • the sequence example shown in FIG. 7 is a continuation of the sequence example shown in FIG.
  • the CPU 121 of the file storage 120 executes the recall control 131 and determines whether or not the scan result received in step 608 is “present” (step 610).
  • the CPU 121 determines that it is “present”, that is, it is infected, the CPU 121 executes the file system 129, sets the inode recall prohibition flag 304-1 to “ON” (step 611), and reads from the client 110. As a response to the request, error information is transmitted to the client by the NIC 124 (step 612).
  • the CPU 121 executes the data mover 130 and requests the archiver 160 to perform a recall with the NIC 125 (step 613).
  • the CPU 121 designates the same storage location URL 306-1 as in step 608 as the recall target.
  • the CPU 161 executes the file system 168 and acquires data of a file designated as a recall target. That is, the CPU 161 searches the inode of the core 102 described with reference to FIGS. 3 and 4, and finds the file path name 312 that matches the storage destination URL 306-1 designated as the recall target.
  • the CPU 161 determines whether or not a link is set to the internal link 316 of the inode of the found file / path name 312 and determines that the link is not set, that is, for example, “NULL” is set.
  • the data stored in the block addresses 314 and 315 of the inode where the link is not set is acquired, and the acquired file data is transmitted as a response to the file storage 120 by the NIC 164 (step 614).
  • the CPU 161 When determining that the link is set, the CPU 161 acquires the data stored in the block addresses 314 and 315 of the link destination inode of the internal link 316, and sends the acquired file data to the file storage 120 as a response. Transmit by NIC164.
  • the internal link 316 is “/dir5/a.txt”
  • an inode block having a file path name 312 of “/dir5/a.txt” and an inode number 311 of “50”.
  • Data stored in addresses “31470” and “0000070” and “0000080” are transmitted.
  • step 614 the execution of the file system 168 by the CPU 161 has been described.
  • the CPU 161 may further execute the archive 167 for some file management as an archive.
  • the CPU 121 executes the data mover 130 and transmits the received file data and a scan request to the scan server 150 via the NIC 124 ( Step 615).
  • the file data received from the archiver 160 may be stored in the memory 122 or the HDD 123.
  • the CPU 151 executes the scan engine 156 and scans the received file data to detect the presence or absence of virus infection.
  • the CPU 151 transmits the detected result as a response to the file storage 120 via the NIC 154 (step 616).
  • the result to be transmitted may include each information of the scan result described with reference to FIG.
  • the CPU 121 executes the recall control 131 and determines whether the virus infection information included in the received result is “None”. If the CPU 121 determines that it is “No”, that is, it is not infected, the CPU 121 executes the file sharing system 128 and transmits the data of the file received in Step 613 to the client 110 via the NIC 124 (Step 621), and stubs are created.
  • the flag 305-1 is set to “OFF” (step 622).
  • the CPU 121 executes the file system 129 and sets the inode recall prohibition flag 304-1 to “ON” (step 617). Then, the CPU 121 executes the recall control 131 and transmits error information to the client via the NIC 124 as a response to the read request from the client 110 (step 618). In step 618, the CPU 121 may notify the system administrator by email or the like.
  • the CPU 121 executes the recall control 131 and transmits the result received in step 613 to the archiver 160 by the NIC 125 (step 619).
  • the CPU 161 executes the archive 167 and stores the received result in the scan result described with reference to FIG. 5 (step 620).
  • the storage of the scan result if the same information as the received result has already been stored in the file path name 511 and the hash value 512 of the scan result, the information from the already stored scan engine name 513 to the infection 516 is stored. The information may be overwritten with the received result information.
  • the stubbed file is returned to the client 110 based on the newly scanned result in addition to the past scanned result.
  • the result of the new detection can also be used.
  • the scan result can be used in the recall of the file storage of the edge other than the edge where the new detection is performed.
  • the scan result is not requested to the archiver 160, and the file storage of the edge other than the edge that has newly detected is detected. However, since the scan result is acquired once and the recall is prohibited by the recall prohibit flag, the scan result request to the archiver 160 is not repeated.
  • FIG. 8 is a diagram showing an example of a sequence for stubbing a file from the file storage 120 to the archiver 160.
  • the CPU 121 of the file storage 120 executes the data mover 130 periodically at a preset time interval to acquire preset stubification conditions (step 701).
  • the stubbing condition includes, for example, a total capacity of data stored in the HDD 123 or the block storage 140, a threshold for the total capacity of the file managed by the file system 129, and a reference date / time for the file update date / time. included.
  • the reference date and time may be the date and time of the previous execution in periodic execution at a preset time interval.
  • the stubbing condition may include other conditions.
  • the CPU 121 executes the file system 129, acquires the total capacity of the file, and determines whether the acquired total capacity is larger than the threshold value of the stubbing condition. For obtaining the total file capacity, for example, the total data capacity of each of a plurality of files managed by executing the file system 129 may be calculated. When it is determined that the acquired total capacity is not larger than the threshold value of the stubbing condition, the stubbing sequence is terminated.
  • the CPU 121 executes the data mover 130 to select one of the files, and the CPU 121 executes the file system 129 to check the selected file.
  • Inode information is acquired (step 703).
  • the acquired inode information includes the last update date 303-1 and block addresses 307-1 and 308-1.
  • the CPU 121 executes the data mover 130, compares the reference date / time included in the stubification condition with the last update date / time 303-1, and determines whether the last update date / time 303-1 is a later date / time (step 704). ). If it is determined that the last update date 303-1 is not a later date, the CPU 121 proceeds to step 708.
  • the CPU 121 executes the data mover 130 and sets the file path name 302-1 and the block addresses 307-1 and 308-1.
  • the stored data is transmitted to the archiver 160 as a file to be stubbed by the NIC 125, and a response is received from the archiver 160 (step 705).
  • the CPU 161 executes the archive 167 and the file system 168 to generate the inode of the core 102 described with reference to FIGS.
  • the received data is stored and the address of the stored data is set to the block addresses 314 and 315, and the file path name 312 of the generated inode and the file path name 302-1 transmitted in step 705 are stored.
  • the CPU 121 executes the file system 129, and based on the received file path name 302-1,
  • the received file path name 312 is set in the storage URL 306-1 of the inode, “ON” is set in the stubbing flag 305-1, and the inode is updated (step 707).
  • the file storage of the edge B 101-2 may perform the same operation.
  • the CPU 121 executes the data mover 130 to determine whether to end the stubbing (step 708). When it is determined to end the stubbing, the sequence of the stubbing is ended, and when it is determined not to end the stubbing, the step is performed. Returning to 703, one other file is selected.
  • the determination of the end of stubbing may be, for example, a determination that the total capacity reduced by stubbing is not larger than the threshold value of the stubbing condition, or whether a preset date has passed. Alternatively, it may be determined whether a file in a preset range has been selected.
  • the file can be stubbed and information related to the stub can be set in the inode.
  • FIG. 9 is a diagram showing an example of a sequence for recovering an archived file to a file in which no virus infection is detected, and updating a scan result and a recall prohibition flag.
  • the inode of the core 102 holds information on each update. For this reason, if there is a file for which no virus infection is detected, the file can be recovered.
  • the CPU 161 of the archiver 160 periodically executes the archive 167 at a preset time interval, acquires the scan result described with reference to FIG. 5 (step 801), and the acquired scan result infection 516 A “present” file is selected (step 802).
  • the CPU 161 executes the file system 168 and obtains an inode of the file path name 312 that matches the file path name 511 of the selected file (step 803).
  • the CPU 161 executes the file system 168 and follows the old version link of the acquired inode.
  • the file path name 312 of the reached inode is acquired. Change the internal link 316 of the inode.
  • the file path name 312 of the acquired inode is “/dir2/a.txt”, and “/dir3/a.txt”, “/dir4/a.txt” of the old version link 317, This is an example in which the internal link 316 is changed to “/dir5/a.txt” because the internal link 316 is “NULL” in the case of “/dir5/a.txt”.
  • the CPU 161 executes the archive 167, notifies the system administrator of the change of the internal link 316 by e-mail or the like (step 806), and updates the scan result infection 516 described with reference to FIG. 807), the file path name 312 of the acquired inode is specified, and a request to change the recall prohibition flag is transmitted to the file storage 120 by the NIC 164 (step 808). This transmission may be broadcast or multicast.
  • the CPU 121 executes the file system 129, and the inode of the file path name 302-1 that matches the specified file path name 312.
  • the recall prohibit flag 304-1 is changed to “OFF”.
  • the file storage of the edge B 101-2 may perform the same operation.
  • virus infection information detected at any one of a plurality of edges can be used as a core scan result. Since the recall of each edge is prohibited by the scan result of the core, the result detected at one edge can be used at another edge. Furthermore, it is possible to recover to a file in which no virus was detected, and once the file is recovered in the core, each edge does not prohibit recall based on the recovery and the archived file becomes available.
  • Block storage 110 Client 120 File storage 128 File sharing system 129 File system 130 Data mover 131 Recall control 140 Block storage 150 Scan server 160 Archiver 167 Archive 168 File system 170 Block storage

Abstract

 複数のファイルストレージと、ファイルをアーカイブするアーカイバとが接続されたストレージシステムであって、複数の前記ファイルストレージのそれぞれは、前記ファイルストレージが記憶したファイルを前記アーカイバへ送信して、送信されたファイルの管理情報を保持し、ファイルのリードにおいて、前記管理情報に基づきファイルが前記アーカイバへ送信されたことを判定し、前記管理情報に基づきファイルの前記アーカイバからの受信が禁止されていないことを判定し、ファイルに対する第1のスキャン結果を前記アーカイバへ要求して取得し、取得された第1のスキャン結果に基づきファイルを前記アーカイバへ要求して取得し、取得されたファイルに対する第2のスキャン結果を取得し、取得された第2のスキャン結果を前記アーカイバへ送信し、前記アーカイバは、前記ファイルストレージからの要求に対して応答し、前記ファイルストレージからの第2のスキャン結果を第1のスキャン結果として記録する。

Description

ストレージシステム
 本発明は、ストレージシステムに関するものである。
 ネットワークを介したウイルスの感染による被害は年々増加の傾向にある。近年では、メールやホームページによるウイルスの感染のみならず、情報(ファイル)の共有においてもウイルスの感染が拡大している。
 特許文献1には「NAS装置10は、クライアントコンピュータから送信されたファイルのウイルス感染検知時、各ユーザOSが制御するファイル管理モジュールのうち、ウイルスに感染しているファイルが格納される可能性のあるディレクトリグループを利用するファイル管理モジュールの運用を停止」すると記載され、「他の論理ボリュームへのウイルス感染による二次被害の防止および計算機システムの運用上の損失の抑制を図ることができる」と記載されている。
特開2008-090702号公報
 特許文献1に記載された技術を用いれば、二次被害の防止などが可能となる。しかしながら、複数のNAS装置(ファイルストレージ)間での二次被害を防止に関する技術や、ウイルスの感染を検出するためのファイルのスキャンの進歩を活かす技術の記載は見当たらない。
 そこで、本発明の目的は、複数のファイルストレージが協調してウイルスの感染を防止するストレージシステムを提供することにある。
 本発明に係る代表的なストレージシステムは、それぞれがファイルを記憶する複数のファイルストレージと、ファイルをアーカイブするアーカイバとが接続されたストレージシステムであって、複数の前記ファイルストレージのそれぞれは、前記ファイルストレージが記憶したファイルを前記アーカイバへ送信して、送信されたファイルの管理情報を保持し、ファイルのリードにおいて、前記管理情報に基づきファイルが前記アーカイバへ送信されたことを判定し、前記管理情報に基づきファイルの前記アーカイバからの受信が禁止されていないことを判定し、ファイルに対する第1のスキャン結果を前記アーカイバへ要求して取得し、取得された第1のスキャン結果に基づきファイルを前記アーカイバへ要求して取得し、取得されたファイルに対する第2のスキャン結果を取得し、取得された第2のスキャン結果を前記アーカイバへ送信し、前記アーカイバは、前記ファイルストレージからファイルを受信してアーカイブし、前記ファイルストレージからの第1のスキャン結果の要求に対して、記録された第1のスキャン結果を応答し、前記ファイルストレージからのファイルの要求に対して、アーカイブされたファイルを応答し、前記ファイルストレージからの第2のスキャン結果を第1のスキャン結果として記録することを特徴とする。
 本発明によれば、複数のファイルストレージが協調してウイルスの感染を防止するストレージシステムを提供することができる。
システムのハードウェアの例を示す図である。 システムのソフトウェアの例を示す図である。 エッジとコアのinodeの例を示す図である。 コアのinodeのリンクの例を示す図である。 スキャン結果の例を示す図である。 リードでのスキャン結果を取得するまでのシーケンスの例を示す図である。 リードでのスキャン結果に基づくシーケンスの例を示す図である。 エッジからコアへのスタブ化のシーケンスの例を示す図である。 スキャン結果とリコール禁止フラグの更新シーケンスの例を示す図である。
 以下、図面を用いて実施の形態を説明する。
 図1は、システムのハードウェアの例を示す図である。システムは、エッジA101-1、エッジB101-2とコア102とに分けられ、これらはネットワーク103により接続される。エッジA101-1、エッジB101-2はシステムのエッジに位置し、ユーザへサービスを提供する装置群であり、コア102はシステムのコアに位置し、エッジA101-1、エッジB101-2へサービスを提供する装置群である。
 エッジA101-1とエッジB101-2は同じタイプの装置群を含み、図1では、エッジA101-1とエッジB101-2の2つの例を示したが、3つ以上であってもよい。クライアント110は、ユーザにより操作される一般的なコンピュータであり、CPU(Central Processing Unit)111がメモリ112に格納されたプログラムを実行し、メモリ112あるいはHDD(Hard Disk Drive)113に対してデータを読み書きし、NIC(Network Interface Card)114の通信を制御する。
 メモリ112に格納されるプログラムとデータはHDD113から読み出されてもよい。HDD113はSSD(Solid State Drive)であってもよく、HDD113はクライアント110に含まれない、いわゆるディスクレスであって、クライアント110に接続されたネットワークへHDD113に相当するストレージが接続されてもよい。
 NIC114はネットワークを介してファイルストレージ120と接続される。クライアント110のCPU111はメモリ112に格納されたプログラムを実行し、NIC114を制御して、ファイルストレージ120へファイルのリード要求やライト要求を送信する。メモリ112に格納されるプログラムは、図2を用いて後で説明する。
 ファイルストレージ120は、ファイルのリード要求に対してファイルのデータを応答し、ファイルのライト要求に対してファイルのデータを保存してファイルとして管理するコンピュータである。ファイルストレージ120のCPU121は、メモリ122に格納されたプログラムを実行し、メモリ122あるいはHDD123に対してデータを読み書きし、NIC124、NIC125の通信を制御し、HBA(Host Bus Adapter)126によるストレージとの通信を制御する。
 メモリ122に格納されるプログラムとデータはHDD123から読み出されてもよく、HDD123はSSDであってもよい。NIC124は、エッジA101-1内のネットワークを介してクライアント110およびスキャンサーバ150と接続される。NIC125は、エッジA101-1外のネットワーク103を介してコア102のアーカイバ160と接続される。
 NIC124は、クライアント110と接続されるNICと、スキャンサーバ150と接続されるNICとの複数のNICを含んでもよい。逆に、NIC124とNIC125は1つのNICであってもよい。また、NIC124とNIC125は、同じ通信プロトコルをサポートするNICであってもよいし、異なる通信プロトコルをサポートするNICであってもよく、サポートされる通信プロトコルがTCP/IP(Transmission Control Protocol / Internet Protocol)であってもよい。
 HBA126は、周辺装置と通信するアダプタであり、ブロックストレージ140と接続される。HBA126はFC(Fibre Channel)をサポートするHBAであってもよいし、iSCSI(internet SCSI)をサポートするHBAであってもよいし、SATA(Serial ATA)をサポートするHBAであってもよい。保存されるファイルのデータは、HDD123に格納されてもよいし、HBA126を介してブロックストレージ140に格納されてもよい。
 ブロックストレージ140は、ブロックデータのリード要求に対してデータを応答し、ブロックデータのライト要求に対してデータを保存する一般的なストレージである。ブロックストレージ140のCPU141はメモリ142に格納されたプログラムを実行し、CHA(Channel Adapter)144で受信したリード要求とライト要求に応じてHDD143へアクセスする。
 メモリ142に格納されるプログラムは、HDD143から読み出されてもよいし、メモリ142が不揮発性メモリであって、プログラムを保持し続けてもよい。HDD143はリード要求とライト要求に応じてリードとライトされるデータが格納される。HDD143は複数のHDDであってもよく、複数のHDDはRAID(Redundant Arrays of Inexpensive Disks)であってもよい。
 ブロックストレージ140は、短時間に多数のリード要求とライト要求に応答し、多数のHDD143へアクセスするために、専用のハードウェアを有してもよい。この専用のハードウェアは、CPU141と処理を分担してもよいし、CPU141から制御されてもよい。
 スキャンサーバ150は、ファイルストレージ120から受信したファイルをスキャンし、ウイルスの感染を検出するコンピュータである。スキャンサーバ150のCPU151はメモリ152に格納されたプログラムを実行し、メモリ152あるいはHDD153に対してデータを読み書きし、NIC154の通信を制御する。
 メモリ152に格納されるプログラムはHDD153から読み出されてもよい。HDD153はSSDであってもよく、HDD153はスキャンサーバ150に含まれなくてもよい。NIC154により受信されたファイルはメモリ152あるいはHDD153に格納されてもよく、NIC154によりスキャンの結果が送信されてもよい。
 アーカイバ160は、ネットワーク103経由で、ファイルを受信してアーカイブし、アーカイブされたファイルを送信するコンピュータである。アーカイバ160のCPU161は、メモリ162に格納されたプログラムを実行し、メモリ162あるいはHDD163に対してデータを読み書きし、NIC164の通信を制御し、HBA165によるストレージとの通信を制御する。
 接続するストレージは異なるが、HBA165の動作は、HBA126の動作と同じである。そして、アーカイブされるファイルのデータは、HDD163に格納されてもよいし、HBA165を介してブロックストレージ170に格納されてもよい。
 ブロックストレージ170は、ブロックデータのリード要求に対してデータを応答し、ブロックデータのライト要求に対してデータを保存する一般的なストレージである。ブロックストレージ170のCPU171、メモリ172、HDD173、CHA174のそれぞれは、ブロックストレージ140のCPU141、メモリ142、HDD143、CHA144のそれぞれと同じであってもよい。また、HDD173の個数は、HDD143の個数と異なってもよい。
 図2は、システムのソフトウェアの例を示す図である。図1と同じものには同じ符号を付して説明を省略する。また、クライアント110、ファイルストレージ120、ブロックストレージ140、スキャンサーバ150、アーカイバ160、ブロックストレージ170のそれぞれのメモリには、カーネルとデバイスドライバを含めて、OS(Operating System)、RTOS(Real Time OS)、モニタプログラム、基本プログラムなどと呼ばれるプログラムも格納されるが、コンピュータ一般に格納されるプログラムであるので、図示と説明を省略する。
 クライアント110のメモリ112には、プログラム115としてアプリケーション116が格納される。アプリケーション116は例えばWebブラウザプログラムであり、Webブラウザプログラムが実行されることにより出力される表示は、GUI(Graphical User Interface)であって、特定の領域のクリックがファイルのライトであり、別の特定の領域のクリックがファイルのリードである。あるいは、特定の領域のクリックによる動作が、ファイルのリードかライトを含んでもよい。
 CPU111は、アプリケーション116の実行により取得した、少なくともファイルの名称とリード要求かライト要求かの情報に基づき、例えばCIFS(Common Internet File System)かNFS(Network File System、NFSは登録商標)のプロトコルにしたがって、NIC114がNIC124と通信するように制御する。
 ファイルストレージ120のメモリ122には、プログラム127としてファイル共有システム128、ファイルシステム129、データムーバ130、リコール制御131が格納される。ファイル共有システム128は、CIFSかNFSのプロトコルを解釈し、ファイルストレージ120内でローカルなファイルのリード要求かライト要求に変換するプログラムである。
 ファイルシステム129は、ファイルストレージ120内でローカルなファイルのリード要求かライト要求を、ファイルの管理情報に基づいてブロックデータのリード要求かライト要求へ変換し、HDD123あるいはブロックストレージ140へアクセスするプログラムである。ファイルの管理情報については、図3を用いて、inodeの例を説明する。
 データムーバ130は、HDD123あるいはブロックストレージ140に格納されたデータを、ファイルシステム129の実行によりリードしてファイルとし、リードしたファイルをアーカイバ160へ移動するプログラムであり、アーカイバ160にアーカイブされたファイルをファイルストレージ120へ移動するプログラムである。
 CPU121はデータムーバ130を実行し、データをアーカイバ160へ移動すると、HDD123あるいはブロックストレージ140に格納されたデータをスタブ化する。スタブ化とデータの移動のシーケンスについては、図3と図8をそれぞれ用いて説明する。また、スタブ化されているか否かに応じた、リードのシーケンスについては、図6を用いて説明する。
 リコール制御131は、ファイルシステム129およびデータムーバ130と連携して、クライアント110からのリード要求に応答するプログラムであり、この応答のために、特に、アーカイバ160にアーカイブされたファイルのウイルス感染を、スキャンサーバ150を利用して判定するプログラムである。リード要求への応答のシーケンスについては、図8と図9を用いて説明する。
 ブロックストレージ140のメモリ142には、プログラム145としてRAID制御146が格納される。CPU141は、RAID制御146を実行して、HDD143に含まれる複数のHDDへブロックデータを分散してライトし、分散してライトされたブロックデータをリードし、HDD143に含まれる一部のHDDの障害を他のHDDで補完する。
 スキャンサーバ150のメモリ152には、プログラム155としてスキャンエンジン156が格納される。スキャンエンジン156は、ファイルに含まれるウイルスを検出するためのプログラムであり、セキュリティメーカによって製造、販売されているプログラムである。メモリ152には、複数種類のスキャンエンジン156あるいは複数のセキュリティメーカのスキャンエンジン156が格納されることが好ましい。
 また、エッジA101-1のスキャンサーバ150のメモリ152に格納されるスキャンエンジン156と、このスキャンエンジン156に相当するエッジB101-2のスキャンエンジンとは、別の種類あるいは別のセキュリティメーカのスキャンエンジンであることが好ましい。CPU151は、スキャンエンジン156を実行して、NIC154で受信したファイルをスキャンし、ファイルがウイルスに感染しているか否かを判定し、判定したスキャン結果をNIC154で送信する。
 アーカイバ160のメモリ162には、プログラム166としてアーカイブ167とファイルシステム168が格納される。アーカイブ167は、ファイルストレージ120から移動されるファイルを、ファイルシステム168の実行によりブロックデータとしてHDD163あるいはブロックストレージ170へアーカイブするプログラムであり、アーカイブされたデータをファイルシステム168の実行によりリードしてファイルとし、リードしたファイルをファイルストレージ120へ移動するプログラムである。
 アーカイブ一般の動作は、アーカイブという技術用語で表されるデータ管理技術分野の技術常識であるため、説明を省略する。また、アーカイブ167は、ウイルス感染に関する情報を管理するプログラムでもある。ウイルス感染に関する情報は、図5を用いて説明し、アーカイブ167を実行するCPU161の移動と情報管理のシーケンスは、図6-9を用いて説明する。
 ファイルシステム168は、アーカイバ160内でローカルなファイルのリード要求かライト要求を、ファイルの管理情報に基づいてブロックデータのリード要求かライト要求へ変換し、HDD163あるいはブロックストレージ170へアクセスするプログラムである。ファイルの管理情報については、図3を用いて、inodeの例を説明する。
 ブロックストレージ170のメモリ172には、プログラム175としてRAID制御176が格納される。CPU171は、RAID制御176を実行して、HDD173に含まれる複数のHDDへブロックデータを分散してライトし、分散してライトされたブロックデータをリードし、HDD173に含まれる一部のHDDの障害を他のHDDで補完する。
 なお、図2を用いて説明したプログラム115、127、145、155、166、175のそれぞれは、各メモリのプログラム領域であってもよい。また、図1、2に示したシステムはストレージシステムであってもよく、ファイルストレージ120はNAS(Network Attached Storage)であってもよいし、ファイルサーバであってもよい。ファイルストレージ120はブロックストレージ140を含んでもよく、アーカイバ160はブロックストレージ170を含んでもよい。
 図3は、エッジA101-1とエッジB101-2とコア102のinodeの例を示す図である。なお、inodeはファイルの管理情報として広く知られ使用されている情報であるが、図3に示したinodeはファイルの管理情報の例であって、inodeに他の管理情報が含まれてもよいし、他の種類のファイルの管理情報であってもよい。
 エッジA101-1のinodeは、ファイルストレージ120のファイルシステム129がCPU121により実行されて使用される情報であり、HDD123あるいはブロックストレージ140に格納される。エッジA101-1のinodeは、inodeを識別するためのinode番号301-1、inodeの対象ファイルを識別するためのファイル・パス名302-1、inodeあるいはファイル・パス名302-1で識別されるファイルの最終更新日時303-1を含む。
 また、エッジA101-1のinodeは、リコールを禁止するか否かを示すリコール禁止フラグ304-1、スタブ化されたか否かを示すスタブ化フラグ305-1、スタブ化された場合のファイルの格納先を示す格納先URL(Uniform Resource Locator)306-1、スタブ化されていない場合のファイルのデータを構成するブロックデータのアドレスを示すブロックアドレス307-1、308-1をさらに含む。
 リコールは、アーカイバ160にアーカイブされたファイルを、ファイルストレージ120が取得してクライアント110へ送信する動作である。リコール禁止フラグ304-1の「OFF」は、リコールが許可、すなわちクライアント110への送信が許可されていることを意味する。リコール禁止フラグ304-1の「ON」は、リコールが禁止、すなわちクライアント110への送信が許可されていないことを意味する。
 スタブ化フラグ305-1の「ON」は、ファイル・パス名302-1で識別されるファイルのデータが、HDD123かブロックストレージ140のいずれかに格納されておらず、アーカイバ160にアーカイブされている状態を意味する。スタブ化フラグ305-1の「OFF」は、ファイル・パス名302-1で識別されるファイルのデータが、HDD123かブロックストレージ140のいずれかに格納されている状態を意味する。
 格納先URL306-1は、スタブ化フラグ305-1の「ON」に対して、コア102あるいはアーカイバ160を識別し、アーカイバ160のアーカイブされたファイルを識別するURLである。また、スタブ化フラグ305-1の「OFF」に対して、格納先URL306-1は、「NULL」であってもよいし、あるいは参照されることがないため無意味な情報であってもよい。
 ブロックアドレス307-1、308-1は、スタブ化フラグ305-1の「OFF」に対し、HDD123あるいはブロックストレージ140における、ファイルのデータが分割されたブロックデータの格納されるアドレスそれぞれである。また、スタブ化フラグ305-1の「ON」に対し、ブロックアドレス307、308は、「NULL」であってもよいし、あるいは参照されることがないため無意味な情報であってもよい。
 図3では、2つのブロックデータに対する2つのブロックアドレスの例を示すが、1つでもよく、3つ以上であってもよい。このためにinodeは、1つのファイルのデータを構成するブロックデータの個数の情報を有してもよく、最後のブロックデータの次のブロックアドレスが「NULL」となって、終端が表されてもよい。さらにエッジA101-1のinodeは、一般的なinodeの情報を含んでもよい。
 エッジB101-2のinodeのinode番号301-1、ファイル・パス名302-2、最終更新日時303-2、リコール禁止フラグ304-2、スタブ化フラグ305-2、格納先URL306-2、ブロックアドレス307-2、208-2のそれぞれは、エッジA101-1のinodeの同じ名称の情報と同じ意味である。エッジA101-1のファイルストレージ120とエッジB101-2のファイルストレージとは物理的に別のストレージであるので、inodeも別に格納されるため、別の符号を付してある。
 コア102のinodeは、アーカイバ160のファイルシステム168がCPU161により実行されて使用される情報であり、HDD163あるいはブロックストレージ170に格納される。コア102のinodeは、inodeを識別するためのinode番号311、inodeの対象ファイルを識別するためのファイル・パス名312、inodeあるいはファイル・パス名312で識別されるファイルの最終更新日時313を含む。
 また、コア102のinodeは、アーカイブされたファイルのデータを構成するブロックデータのアドレスを示すブロックアドレス314、315、ウイルスに感染していないバージョンのファイルへのリンク情報である内部リンク316、1つ前のバージョンのファイルへのリンク情報である旧バージョンリンク317をさらに含む。
 ブロックアドレス314、315は、HDD163あるいはブロックストレージ170における、ファイルのデータが分割されたブロックデータの格納されるアドレスそれぞれである。図3では、2つのブロックデータに対する2つのブロックアドレスの例を示すが、1つでもよく、3つ以上であってもよい。内部リンク316と旧バージョンリンク317に関しては、図4を用いて説明する。
 図3は、エッジA101-1とエッジB101-2の両方でファイル「/dir1/a.txt」がスタブ化された状態のinodeの例であり、格納先URL306-1と格納先URL306-2の両方が「http://hcp/dir2/a.txt」であって、inode番号311が「20」のinodeが指し示される例である。このため、エッジA101-1のファイル・パス名302-1が「/dir1/a.txt」のファイルのデータは、コア102におけるファイル・パス名312が「/dir2/a.txt」として、ブロックアドレス314の「0000010」とブロックアドレス315の「0000020」に格納されていることになる。
 図4は、コア102のinodeのリンクの例を示す図である。図3と同じ種類の情報には同じ符号を付し、図を見やすくするために、4つのinodeに含まれる情報の位置関係を点線で対応させている。この位置関係は、inodeの格納されたアドレスを表すものではなく、説明のためのものである。エッジA101-1においてファイルが更新、すなわち既存のファイルにデータがライトされると、そのライトされた後のファイルがスタブ化されたコア102におけるファイルに対し、ライトされる前のファイルも保持される。
 図4に示したinode番号311が「20」のinodeは、図3に示したコア102のinodeであり、図4の例では、エッジA101-1のファイル・パス名302-1が「/dir1/a.txt」の更新されたファイルが3回スタブ化されている。旧バージョンリンク317は、スタブ化された1つ前のバージョンのファイルへのリンク情報であり、ファイル・パス名312が「/dir2/a.txt」のinodeでは、ファイル・パス名312が「dir3/a.txt」のinodeへリンクする。
 そして、旧バージョンリンク317は、ファイル・パス名312が「/dir3/a.txt」のinodeでは、ファイル・パス名312が「dir4/a.txt」のinodeへリンクし、ファイル・パス名312が「/dir4/a.txt」のinodeでは、ファイル・パス名312が「dir5/a.txt」のinodeへリンクする。なお、旧バージョンリンク317の情報は、ファイル・パス名312の情報に対応する情報である必要はなく、例えばinode番号311の情報やinodeの格納されるアドレスであってもよい。
 内部リンク316は、ファイル名が同じ「a.txt」である複数のファイルの中で、ウイルスの感染が検出されなかったファイルのデータをブロックアドレス314、315とするinodeへのリンクである。図4では、ブロックアドレス314が「0000070」とブロックアドレス315が「0000080」に格納されたデータにウイルスの感染が検出されなかった例であり、内部リンク316は「/dir5/a.txt」である。なお、内部リンク316の情報も、ファイル・パス名312の情報に対応する情報である必要はない。
 ウイルスの感染が検出されなかったデータのファイルが複数存在する場合、内部リンク316は、旧バージョンリンク317が最も少ないリンク数で至るinodeへのリンクであってもよい。そして、旧バージョンリンク317が最も少ないリンク数で至るinodeのブロックアドレス314、315のデータにウイルスの感染が検出された場合、旧バージョンリンク317が次に少ないリンク数で至るinodeへのリンクであってもよい。
 最初のスタブ化では、旧バージョンリンク317が「NULL」であり、ブロックアドレス314、315のデータにウイルスの感染が検出されなかったinodeの内部リンクは「NULL」であってもよい。Inode番号311が「50」のinodeのように最初のスタブ化されたブロックアドレス314、315のデータにウイルスの感染が検出された場合、内部リンク316はその感染の検出を示す値であってもよい。
 図5は、スキャン結果の例を示す図である。スキャン結果の情報は、アーカイバ160のCPU161によりアーカイブ167が実行されて使用される情報であり、コア102のメモリ162、HDD163、ブロックストレージ170のいずれかに格納される。スキャン結果は、inodeのファイル・パス名312に対応するファイル・パス名511、ファイルの改変などを判定するためのファイルのデータのハッシュ値512を含む。
 また、スキャン結果は、ウイルス感染の検出に使用されたスキャンエンジン156を識別するためのスキャンエンジン名513、スキャンエンジン156のウイルス定義を識別するウイルス定義ファイルバージョン514、スキャンエンジン156が実行された日時であるスキャン日時515、スキャンエンジン156の実行された結果である感染516をさらに含む。
 スキャンエンジン名513、ウイルス定義ファイルバージョン514、スキャン日時515、感染516の情報は、スキャンサーバ150のCPU151によりNIC154で送信され、ファイルストレージ120のCPU121によりNIC124とNIC125で転送され、アーカイバ160のCPU161によりNIC164で受信されて格納される。感染516の情報の格納については、図7、9を用いてさらに説明する。
 ファイル・パス名511の情報は、図3、4に示したコア102のinode生成時に格納されてもよく、ハッシュ値512の情報は、スタブ化のためにファイルストレージ120のNIC125からファイルのデータを受信する際に、一緒に受信されて格納されてもよいし、ファイルのデータを受信する際に、受信したファイルのデータを使用して、CPU161により計算されて格納されてもよい。
 図6は、ファイルのリードでのリード要求の発生からスキャン結果の取得までのシーケンスの例を示す図である。まず、クライアント110のCPU111が、アプリケーション116を実行し、NIC114を制御してリード要求をファイルストレージ120へ送信する(ステップ601)。ファイルストレージ120においてNIC124がリード要求を受信すると、CPU121はファイル共有システム128を実行し、リード要求を解析する(ステップ602)。
 このリード要求の解析は、例えばCIFSのリード要求であるかの解析であり、少なくともリード要求の対象となるファイルであって、ファイル・パス名302-1に対応するファイルの情報を解析する。CPU121はファイルシステム129を実行してinodeを検索し、解析された情報と一致するファイル・パス名302-1のinodeを発見し、発見されたinodeの他の情報を取得する(ステップ603)。
 CPU121はリコール制御131を実行し、取得された情報の中のスタブ化フラグ305-1が「ON」であるかを判定する(ステップ604)。スタブ化フラグ305-1が「ON」ではない、すなわち「OFF」であってスタブ化されていないと判定した場合、CPU121はファイルシステム129を実行して、ブロックアドレス307-1、308-1に格納されたデータを、HDD123あるいはブロックストレージ140からリードする。そして、CPU121はファイル共有システム128を実行し、リードされたデータをファイルとしてNIC124でクライアント110へ送信する(ステップ605)。
 スタブ化フラグ305-1が「ON」である、すなわちスタブ化されていると判定した場合、CPU121はリコール制御131を実行し、取得された情報の中のリコール禁止フラグ304-1が「ON」であるかを判定する(ステップ606)。リコール禁止フラグ304-1が「ON」である、すなわちリコール禁止であると判定した場合、CPU121はリコール制御131を実行し、クライアント110からのリード要求への応答としてエラーの情報をクライアントへNIC124で送信する(ステップ607)。
 リコール禁止フラグ304-1が「ON」ではない、すなわち「OFF」であってリコールが禁止されていないと判定した場合、CPU121はリコール制御131を実行し、取得された情報の中の格納先URL306-1をスキャン対象として指定し、スキャン結果の要求をアーカイバ160へNIC125で送信し、アーカイバ160からの応答を受信する(ステップ608)。
 アーカイバ160のNIC164がネットワーク103を介してファイルストレージ120からスキャン結果の要求を受信すると、CPU161はアーカイブ167を実行し、図5を用いて説明したスキャン結果を検索し、スキャン結果の要求でスキャン対象として指定された格納先URL306-1と一致するファイル・パス名511を発見する。
 そして、CPU161はアーカイブ167を実行し、発見されたファイル・パス名511に対応する感染516を取得して、取得された感染516の「有」か「無」を応答としてファイルストレージ120へNIC164で送信する(ステップ609)。ファイルストレージ120のCPU121はリコール制御131を実行し、「有」か「無」の応答をアーカイバ160からNIC125で受信する。
 以上で説明したシーケンスにより、クライアント110からのリード要求に対して、リード要求の対象となるファイルがスタブ化されていなければ、そのファイルを応答し、スタブ化されていてリコールが禁止されていれば、エラーを応答し、スタブ化されていてリコールが禁止されていなければ、そのファイルのスキャン結果を取得できる。
 なお、図6は、クライアント110はステップ605のファイルを受信し、ステップ607のエラーを受信する図となっているが、クライアント110はそれぞれ受信することを表し、シーケンスとして両方を受信するものではない。このように受信あるいは送信する装置を表し、シーケンスを表さない関係を破線としている。また、図3に示したinodeは、ステップ608に到達する情報の例である。
 次に、取得したスキャン結果すなわち過去にスキャンした結果と、さらに新たにスキャンした結果に基づき、スタブ化されたファイルをクライアント110へ応答し、スキャン結果を更新するシーケンスを説明する。
 図7は、ファイルのリードでの、スキャン結果の判定から、スタブ化されたファイルの送信とスキャン結果の更新までのシーケンスの例を示す図である。図7に示したシーケンスの例は、図6に示したシーケンスの例の続きである。ファイルストレージ120のCPU121はリコール制御131を実行し、ステップ608で受信したスキャン結果が「有」であるかを判定する(ステップ610)。
 「有」である、すなわち感染していると判定した場合、CPU121はファイルシステム129を実行し、inodeのリコール禁止フラグ304-1を「ON」に設定し(ステップ611)、クライアント110からのリード要求への応答としてエラーの情報をクライアントへNIC124で送信する(ステップ612)。
 「有」ではない、すなわち「無」であって感染していないと判定した場合、CPU121はデータムーバ130を実行し、アーカイバ160へNIC125でリコールを要求する(ステップ613)。CPU121は、リコールの要求でステップ608と同じ格納先URL306-1をリコール対象として指定する。
 アーカイバ160のNIC164がネットワーク103を介してファイルストレージ120からリコールの要求を受信すると、CPU161はファイルシステム168を実行し、リコール対象として指定されたファイルのデータを取得する。すなわち、CPU161は図3、4を用いて説明したコア102のinodeを検索し、リコール対象として指定された格納先URL306-1と一致するファイル・パス名312を発見する。
 そして、CPU161は、発見されたファイル・パス名312のinodeの内部リンク316にリンクが設定されているかを判定し、リンクが設定されていない、すなわち例えば「NULL」が設定されていると判定した場合、リンクが設定されていないinodeのブロックアドレス314、315に格納されたデータを取得し、取得されたファイルのデータを応答としてファイルストレージ120へNIC164で送信する(ステップ614)。
 リンクが設定されていると判定した場合、CPU161は、内部リンク316のリンク先のinodeのブロックアドレス314、315に格納されたデータを取得し、取得されたファイルのデータを応答としてファイルストレージ120へNIC164で送信する。図4に示した例では、内部リンク316が「/dir5/a.txt」であるため、ファイル・パス名312が「/dir5/a.txt」かつinode番号311が「50」のinodeのブロックアドレス314、315である「0000070」と「0000080」に格納されたデータが送信される。
 ステップ614において、CPU161によるファイルシステム168の実行を説明したが、アーカイブとしての何らかのファイル管理のために、CPU161はアーカイブ167をさらに実行してもよい。
 ファイルストレージ120のNIC125がネットワーク103を介してアーカイバ160からファイルのデータを受信すると、CPU121はデータムーバ130を実行し、受信されたファイルのデータとスキャンの要求をスキャンサーバ150へNIC124で送信する(ステップ615)。ここで、アーカイバ160から受信されたファイルのデータは、メモリ122あるいはHDD123に格納されてもよい。
 スキャンサーバ150のNIC154がファイルストレージ120からファイルのデータを受信すると、CPU151はスキャンエンジン156を実行し、受信されたファイルのデータをスキャンしてウイルスの感染の有無を検出する。そして、CPU151は検出された結果を応答としてファイルストレージ120へNIC154で送信する(ステップ616)。送信される結果は、図5を用いて説明したスキャン結果の各情報を含んでもよい。
 ファイルストレージ120のNIC124がスキャンサーバ150から結果を受信すると、CPU121はリコール制御131を実行し、受信された結果に含まれるウイルスの感染の情報が「無」であるかを判定する。「無」である、すなわち感染していないと判定した場合、CPU121はファイル共有システム128を実行し、ステップ613で受信されたファイルのデータをNIC124でクライアント110へ送信し(ステップ621)、スタブ化フラグ305-1を「OFF」に設定する(ステップ622)。
 「無」ではない、すなわち「有」であり感染していると判定した場合、CPU121はファイルシステム129を実行し、inodeのリコール禁止フラグ304-1を「ON」に設定する(ステップ617)。そして、CPU121はリコール制御131を実行し、クライアント110からのリード要求への応答としてエラーの情報をクライアントへNIC124で送信する(ステップ618)。なお、ステップ618において、CPU121はウイルスの感染をシステムの管理者へメールなどにより通知してもよい。
 CPU121はリコール制御131を実行し、ステップ613で受信された結果をNIC125でアーカイバ160へ送信する(ステップ619)。アーカイバ160のNIC164が結果を受信すると、CPU161はアーカイブ167を実行し、図5を用いて説明したスキャン結果へ、受信された結果を格納する(ステップ620)。
 このスキャン結果の格納において、受信された結果と同一の情報がスキャン結果のファイル・パス名511とハッシュ値512へ既に格納されていた場合、既に格納されているスキャンエンジン名513から感染516までの情報は、受信された結果の情報で上書きされてもよい。
 以上で説明したシーケンスにより、過去のスキャンした結果に加えて新たにスキャンした結果に基づき、スタブ化されたファイルはクライアント110へ応答される。これにより、スキャンエンジン156のウイルス定義ファイルバージョンが新しくなって、新たなウイルスの感染を検出できるようになった場合、その新たな検出の結果も利用できる。
 また、新たな検出の結果は、コア102のアーカイバ160にスキャン結果として格納されるため、新たな検出を行ったエッジ以外のエッジのファイルストレージのリコールにおいても、そのスキャン結果を利用できる。
 さらに、新たな検出を行ったエッジのファイルストレージは、リコール禁止フラグによりリコールを禁止するため、アーカイバ160へスキャン結果を要求することがなく、新たな検出を行ったエッジ以外のエッジのファイルストレージにおいても、スキャン結果を一度取得してリコール禁止フラグによりリコールを禁止するため、アーカイバ160へのスキャン結果の要求を繰り返すことがない。
 図8は、ファイルストレージ120からアーカイバ160へファイルをスタブ化するシーケンスの例を示す図である。ファイルストレージ120のCPU121は、予め設定された時間間隔で定期的に、データムーバ130を実行し、予め設定されたスタブ化条件を取得する(ステップ701)。
 スタブ化条件には、例えばHDD123あるいはブロックストレージ140に格納されるデータの総容量であって、ファイルシステム129が実行されて管理されるファイルの総容量に対する閾値、およびファイルの更新日時に対する基準日時が含まれる。基準日時は、予め設定された時間間隔での定期的な実行における前回の実行の日時であってもよい。また、スタブ化条件は、これら以外の条件が含まれてもよい。
 CPU121はファイルシステム129を実行し、ファイルの総容量を取得し、取得された総容量が、スタブ化条件の閾値より大きいかを判定する。ファイルの総容量の取得は、例えばファイルシステム129が実行されて管理される複数のファイルそれぞれのデータの容量の合計が算出されてもよい。取得された総容量が、スタブ化条件の閾値より大きくないと判定した場合、スタブ化のシーケンスを終了する。
 取得された総容量が、スタブ化条件の閾値より大きいと判定した場合、CPU121はデータムーバ130を実行してファイルの1つを選択し、CPU121はファイルシステム129を実行して選択されたファイルのinodeの情報を取得する(ステップ703)。ここで、取得されるinodeの情報は、最終更新日時303-1とブロックアドレス307-1、308-1を含む。
 CPU121はデータムーバ130を実行し、スタブ化条件に含まれる基準日時と最終更新日時303-1とを比較し、最終更新日時303-1の方が後の日時であるかを判定する(ステップ704)。最終更新日時303-1の方が後の日時ではないと判定した場合、CPU121はステップ708へ進む。
 最終更新日時303-1の方が後の日時である、すなわち更新ありと判定した場合、CPU121はデータムーバ130を実行し、ファイル・パス名302-1とブロックアドレス307-1、308-1に格納されているデータを、スタブ化されるファイルとしてアーカイバ160へNIC125で送信し、アーカイバ160から応答を受信する(ステップ705)。
 アーカイバ160のNIC164がネットワーク103を介してスタブ化されるファイルのデータを受信すると、CPU161はアーカイブ167とファイルシステム168を実行し、図3、4を用いて説明したコア102のinodeを生成して、受信されたデータを格納するとともに格納されたデータのアドレスをブロックアドレス314、315に設定し、生成されたinodeのファイル・パス名312と、ステップ705で送信されたファイル・パス名302-1をNIC164でファイルストレージ120へ送信する(ステップ706)。この送信はブロードキャストあるいはマルチキャストであってもよい。
 ファイルストレージ120のNIC125がネットワーク103を介してファイル・パス名312とファイル・パス名302-1を受信すると、CPU121はファイルシステム129を実行し、受信されたファイル・パス名302-1に基づき、inodeの格納先URL306-1へ受信されたファイル・パス名312を設定し、スタブ化フラグ305-1に「ON」を設定して、inodeを更新する(ステップ707)。ここで、エッジB101-2のファイルストレージも同じ動作をしてよい。
 CPU121はデータムーバ130を実行し、スタブ化を終了するか判定し(ステップ708)、スタブ化を終了すると判定した場合はスタブ化のシーケンスを終了し、スタブ化を終了しないと判定した場合はステップ703へ戻って、他のファイルを1つ選択する。スタブ化の終了の判定は、例えば、スタブ化により減少した総容量がスタブ化条件の閾値より大きくないとの判定であってもよいし、予め設定された日時が経過したかの判定であってもよいし、予め設定された範囲のファイルを選択し終えたかの判定であってもよい。
 図8を用いて説明したシーケンスにより、ファイルをスタブ化し、スタブ化に関する情報をinodeに設定できる。
 図9は、アーカイブされたファイルを、ウイルスの感染が検出されていないファイルへ回復し、スキャン結果とリコール禁止フラグを更新するシーケンスの例を示す図である。図4を用いて説明したように、ファイルのデータが更新されても、コア102のinodeは各更新の情報を保持する。このため、ウイルスの感染が検出されていないファイルが存在すれば、そのファイルへ回復することができる。
 アーカイバ160のCPU161は、予め設定された時間間隔で定期的に、アーカイブ167を実行し、図5を用いて説明したスキャン結果を取得して(ステップ801)、取得されたスキャン結果の感染516が「有」のファイルを選択する(ステップ802)。CPU161はファイルシステム168を実行し、選択されたファイルのファイル・パス名511と一致するファイル・パス名312のinodeを取得する(ステップ803)。
 そして、CPU161はファイルシステム168を実行し、取得されたinodeの旧バージョンリンクをたどり、内部リンク316が「NULL」のinodeへ到達すると、その到達されたinodeのファイル・パス名312に、取得されたinodeの内部リンク316を変更する。図4は、例えば取得されたinodeのファイル・パス名312が「/dir2/a.txt」であり、旧バージョンリンク317の「/dir3/a.txt」、「/dir4/a.txt」、「/dir5/a.txt」とたとり、内部リンク316が「NULL」であるから、「/dir5/a.txt」に内部リンク316が変更される例である。
 CPU161はアーカイブ167を実行し、内部リンク316の変更をシステムの管理者へメールなどで通知し(ステップ806)、図5を用いて説明したスキャン結果の感染516を「無」に更新し(ステップ807)、取得されたinodeのファイル・パス名312を指定してリコール禁止フラグの変更要求をNIC164でファイルストレージ120へ送信する(ステップ808)。この送信はブロードキャストあるいはマルチキャストであってもよい。
 ファイルストレージ120のNIC125がネットワーク103を介してリコール禁止フラグの変更要求を受信すると、CPU121はファイルシステム129を実行し、指定されたファイル・パス名312と一致するファイル・パス名302-1のinodeのリコール禁止フラグ304-1を「OFF」に変更する。ここで、エッジB101-2のファイルストレージも同じ動作をしてよい。
 図9を用いて説明したシーケンスにより、アーカイブされたファイルであって、ウイルスの感染が検出されたファイルであっても、ウイルスの感染が検出されなかったファイルへ回復することができる。
 以上で説明したように、複数のエッジのいずれかで検出されたウイルス感染の情報は、コアのスキャン結果とすることができる。そして、コアのスキャン結果により各エッジのリコールは禁止されるため、1つのエッジでの検出した結果を他のエッジでも利用できる。さらに、ウイルスの検出されなかったファイルへ回復することができ、コアにおいてファイルが回復されると、その回復に基づいて各エッジはリコールを禁止せず、アーカイブされたファイルが利用可能となる。
 110 クライアント
 120 ファイルストレージ
 128 ファイル共有システム
 129 ファイルシステム
 130 データムーバ
 131 リコール制御
 140 ブロックストレージ
 150 スキャンサーバ
 160 アーカイバ
 167 アーカイブ
 168 ファイルシステム
 170 ブロックストレージ

Claims (13)

  1.  それぞれがファイルを記憶する複数のファイルストレージと、ファイルをアーカイブするアーカイバとが接続されたストレージシステムであって、
     複数の前記ファイルストレージのそれぞれは、
     前記ファイルストレージが記憶したファイルを前記アーカイバへ送信して、送信されたファイルの管理情報を保持し、
     ファイルのリードにおいて、前記管理情報に基づきファイルが前記アーカイバへ送信されたことを判定し、前記管理情報に基づきファイルの前記アーカイバからの受信が禁止されていないことを判定し、ファイルに対する第1のスキャン結果を前記アーカイバへ要求して取得し、取得された第1のスキャン結果に基づきファイルを前記アーカイバへ要求して取得し、取得されたファイルに対する第2のスキャン結果を取得し、取得された第2のスキャン結果を前記アーカイバへ送信し、
     前記アーカイバは、
     前記ファイルストレージからファイルを受信してアーカイブし、
     前記ファイルストレージからの第1のスキャン結果の要求に対して、記録された第1のスキャン結果を応答し、
     前記ファイルストレージからのファイルの要求に対して、アーカイブされたファイルを応答し、
     前記ファイルストレージからの第2のスキャン結果を第1のスキャン結果として記録すること
    を特徴とするストレージシステム。
  2.  請求項1に記載のストレージシステムであって、
     複数の前記ファイルストレージのそれぞれは、
     取得された第1のスキャン結果が第1の情報を含むと判定すると、ファイルの前記アーカイバからの受信を禁止する情報を前記管理情報に記録し、
     取得された第1のスキャン結果が第2の情報を含むと判定すると、ファイルを前記アーカイバへ要求して取得すること
    を特徴とするストレージシステム。
  3.  請求項2に記載のストレージシステムであって、
     前記ストレージシステムは、さらに複数の前記ファイルストレージそれぞれに、スキャンサーバがそれぞれ接続され、
     複数の前記ファイルストレージのそれぞれは、
     取得されたファイルを、接続された前記スキャンサーバへ送信してスキャンを要求し、接続された前記スキャンサーバから第2のスキャン結果を受信して取得し、
     前記スキャンサーバのそれぞれは、
     接続された前記ファイルストレージからファイルを受信してスキャンを要求されると、受信されたファイルをスキャンして第2のスキャン結果を取得し、接続された前記ファイルストレージへ第2のスキャン結果を送信すること
    を特徴とするストレージシステム。
  4.  請求項3に記載のストレージシステムであって、
     複数の前記ファイルストレージのそれぞれは、
     取得された第2のスキャン結果が第1の情報を含むと判定すると、ファイルの前記アーカイバからの受信を禁止する情報を前記管理情報に記録し、取得された第2のスキャン結果を第1の情報を含めて前記アーカイバへ送信し、
     取得された第2のスキャン結果が第2の情報を含むと判定すると、取得された第2のスキャン結果を第2の情報を含めて前記アーカイバへ送信すること
    を特徴とするストレージシステム。
  5.  請求項4に記載のストレージシステムであって、
     前記ストレージシステムは、さらに複数の前記ファイルストレージそれぞれに、クライアントがそれぞれ接続され、
     前記クライアントのそれぞれは、
     接続された前記ファイルストレージへファイルのリードを要求し、
     複数の前記ファイルストレージのそれぞれは、
     接続された前記クライアントからの要求に応じるファイルのリードにおいて、
     前記管理情報に基づきファイルが前記アーカイバへ送信されていないと判定すると、前記ファイルストレージに記憶されたファイルを前記クライアントへ送信し、
     取得された第2のスキャン結果が第2の情報を含むと判定すると、前記アーカイバから取得されたファイルを前記クライアントへ送信すること
    を特徴とするストレージシステム。
  6.  請求項5に記載のストレージシステムであって、
     前記スキャンサーバのそれぞれは、
     受信されたファイルがウイルスに感染しているかを検出するスキャンをして、
     ウイルスに感染しているという第1の情報を含む第2のスキャン結果、あるいはウイルスに感染していないという第2の情報を含む第2のスキャン結果を取得すること
    を特徴とするストレージシステム。
  7.  請求項6に記載のストレージシステムであって、
     ファイルの前記管理情報は、inodeであること
    を特徴とするストレージシステム。
  8.  請求項7に記載のストレージシステムであって、
     複数の前記ファイルストレージのそれぞれは、
     前記ファイルストレージに記憶された複数のファイルの容量の合計値が、予め設定された閾値より大きいことを判定し、
     前記管理情報に基づきファイルが更新されたことを判定し、
     記憶されたファイルを前記アーカイバへ送信し、
     前記管理情報にファイルの送信されたことを記録すること
    を特徴とするストレージシステム。
  9.  請求項8に記載のストレージシステムであって、
     前記アーカイバは、
     受信されたファイルのノード情報を生成して、ファイルをアーカイブし、
     アーカイブされたファイルのノード情報の格納先を前記ファイルストレージへ送信し、
     複数の前記ファイルストレージのそれぞれは、
     前記アーカイバから受信したノード情報の格納先を前記管理情報に記録し、
     前記管理情報に記録されたノード情報の格納先を指定して、ファイルを前記アーカイバへ要求し、
     前記管理情報に記録されたノード情報の格納先を指定して、記憶されたファイルを前記アーカイバへ送信すること
    を特徴とするストレージシステム。
  10.  請求項9に記載のストレージシステムであって、
     前記アーカイバは、
     前記ファイルストレージの記憶されたファイルの送信で指定されたノード情報の格納先を、生成されたノード情報へ旧バージョンリンクとして記録し、送信されたファイルのアーカイブされたアドレスを、生成されたノード情報へ記録すること
    を特徴とするストレージシステム。
  11.  請求項10に記載のストレージシステムであって、
     前記アーカイバは、
     記録された第1のスキャン結果に含まれる第1の情報に応じて第1のノード情報の旧バージョンリンクをたどり、
     たどられた先の第2のノード情報の格納先を第1のノード情報へ内部リンクとして記録し、
     記録された第1のスキャン結果に含まれる第1の情報を第2の情報へ更新し、
     前記管理情報に記録された、ファイルの前記アーカイバからの受信を禁止する情報の変更を、複数の前記ファイルストレージへ要求すること
    を特徴とするストレージシステム。
  12.  請求項11に記載のストレージシステムであって、
     前記アーカイバは、
     第1のノード情報の旧バージョンリンクをたどり、たどられた先の第3のノード情報の内部リンクに格納先が記録されていると、第3のノード情報の旧バージョンリンクをたどり、たどられた先の第4のノード情報の内部リンクに格納先が記録されていないと、第4のノード情報と第2のノード情報として、第2のノード情報の格納先を第1のノード情報へ内部リンクとして記録すること
    を特徴とするストレージシステム。
  13.  請求項12に記載のストレージシステムであって、
     前記アーカイバは、
     前記管理情報に記録されたノード情報の格納先が指定されて、前記ファイルストレージからファイルを要求され、
     指定された格納先のノード情報の内部リンクに格納先が記録されていないと判定すると、指定された格納先のノード情報のアドレスにしたがってファイルを応答し、
     指定された格納先のノード情報の内部リンクに格納先が記録されていると判定すると、指定された格納先のノード情報の内部リンクをたどり、たどられた先のノード情報のアドレスにしたがってファイルを応答すること
    を特徴とするストレージシステム。
PCT/JP2016/060498 2016-03-30 2016-03-30 ストレージシステム WO2017168653A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/060498 WO2017168653A1 (ja) 2016-03-30 2016-03-30 ストレージシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/060498 WO2017168653A1 (ja) 2016-03-30 2016-03-30 ストレージシステム

Publications (1)

Publication Number Publication Date
WO2017168653A1 true WO2017168653A1 (ja) 2017-10-05

Family

ID=59963712

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/060498 WO2017168653A1 (ja) 2016-03-30 2016-03-30 ストレージシステム

Country Status (1)

Country Link
WO (1) WO2017168653A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7465301B2 (ja) 2022-05-20 2024-04-10 株式会社日立製作所 データ管理システム、データ管理方法、およびプログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003509784A (ja) * 1999-09-13 2003-03-11 ドキュタッチ 文書管理システム
JP2004199213A (ja) * 2002-12-17 2004-07-15 Hitachi Ltd 情報処理システム
US20080195676A1 (en) * 2007-02-14 2008-08-14 Microsoft Corporation Scanning of backup data for malicious software
US8813222B1 (en) * 2009-01-21 2014-08-19 Bitdefender IPR Management Ltd. Collaborative malware scanning

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003509784A (ja) * 1999-09-13 2003-03-11 ドキュタッチ 文書管理システム
JP2004199213A (ja) * 2002-12-17 2004-07-15 Hitachi Ltd 情報処理システム
US20080195676A1 (en) * 2007-02-14 2008-08-14 Microsoft Corporation Scanning of backup data for malicious software
US8813222B1 (en) * 2009-01-21 2014-08-19 Bitdefender IPR Management Ltd. Collaborative malware scanning

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7465301B2 (ja) 2022-05-20 2024-04-10 株式会社日立製作所 データ管理システム、データ管理方法、およびプログラム

Similar Documents

Publication Publication Date Title
CN110603524B (zh) 用于编排的工作负载的依赖性分析的方法和系统
US9830231B2 (en) Processes and methods for client-side fingerprint caching to improve deduplication system backup performance
EP3989092A1 (en) Malicious activity detection and remediation in virtualized file servers
US20190108231A1 (en) Application Aware Snapshots
JP6521462B2 (ja) バックアップシステムの性能の改善
US8584244B2 (en) Computer system and method for scanning computer virus
US20090319736A1 (en) Method and apparatus for integrated nas and cas data backup
US20150113010A1 (en) Distributed file system gateway
US9792436B1 (en) Techniques for remediating an infected file
JP2005182683A (ja) データ転送方法及びシステム並びにプログラム
US20220342866A1 (en) File analytics systems and methods including receiving and processing file system event data in order
US20220318099A1 (en) File analytics systems and methods including retrieving metadata from file system snapshots
WO2014054065A1 (en) Backup and restore system for a deduplicated file system and corresponding server and method
US9817834B1 (en) Techniques for performing an incremental backup
US20220318204A1 (en) File analytics systems and methods
WO2017168653A1 (ja) ストレージシステム
US20230289443A1 (en) Malicious activity detection, validation, and remediation in virtualized file servers
US20220318208A1 (en) Virtualized file servers and methods to persistently store file system event data
US20220318203A1 (en) File analytics systems including examples providing metrics adjusted for application operation
US9436697B1 (en) Techniques for managing deduplication of data
US8997124B2 (en) Method for updating data in a distributed data storage system
US9858418B2 (en) Reducing delays associated with restoring quarantined files
JP2013161383A (ja) 情報処理装置、情報処理方法、プログラム及び情報処理システム
CA3025225A1 (en) Application aware snapshots
JP4818396B2 (ja) オーバーレイネットワークシステム及び同システムにおけるオブジェクト登録方法

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

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

Ref document number: 16896872

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 16896872

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP