WO2023199427A1 - Duplicate-removal system, apparatus, server device, duplicate-removal method, and duplicate-removal program - Google Patents

Duplicate-removal system, apparatus, server device, duplicate-removal method, and duplicate-removal program Download PDF

Info

Publication number
WO2023199427A1
WO2023199427A1 PCT/JP2022/017700 JP2022017700W WO2023199427A1 WO 2023199427 A1 WO2023199427 A1 WO 2023199427A1 JP 2022017700 W JP2022017700 W JP 2022017700W WO 2023199427 A1 WO2023199427 A1 WO 2023199427A1
Authority
WO
WIPO (PCT)
Prior art keywords
layer
deduplication
file
image
duplicate
Prior art date
Application number
PCT/JP2022/017700
Other languages
French (fr)
Japanese (ja)
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/JP2022/017700 priority Critical patent/WO2023199427A1/en
Priority to JP2022555950A priority patent/JP7274057B1/en
Publication of WO2023199427A1 publication Critical patent/WO2023199427A1/en

Links

Images

Classifications

    • 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/174Redundancy elimination performed by the file system

Definitions

  • the present disclosure relates to a deduplication system, a device, a server device, a deduplication method, and a deduplication program.
  • Deduplication technology is used to eliminate duplication of data in systems where each device is equipped with a number of different virtual images and the virtual images are added, updated, or deleted. Such devices are assumed to be, for example, next-generation in-vehicle ECUs or edge devices with individual customization. ECU is an abbreviation for Electronic Control Unit. Deduplication technology reduces the amount of data transferred or storage capacity during backup or archiving. It also includes detecting and eliminating data duplication on a file-by-file or block-by-block basis. Duplication can be determined by comparing the data as is, by comparing it in combination with a checksum, or by using a cryptographic hash function.
  • Patent Document 1 discloses a technique that can effectively eliminate duplication of files that constitute a virtual machine provided to multiple users.
  • Patent Document 1 discloses a deduplication technique for providing virtual machines to multiple users from a single virtual machine volume image template.
  • reading and writing of each file in an image is traced, and it is determined whether to provide each user's virtual machine with an individual entity or to refer to a common file.
  • the technique disclosed in Patent Document 1 does not check the case where the same file is used redundantly between different images. Therefore, Patent Document 1 is ineffective against file duplication between different images.
  • file duplication between different images can be alleviated by sharing layers, but there is a problem in that file duplication cannot be prevented when the same file exists in different layers.
  • the present disclosure aims to prevent file duplication even when the same file exists in different layers.
  • the deduplication system is An image formed from a plurality of layers and used as a software container, the duplication comprising a device loading an image in which each layer of the plurality of layers includes a plurality of files, and a server device distributing the layer to the device.
  • the server device includes: a duplication inspection unit that inspects whether a distribution layer that is a layer that is distributed to the device includes a duplicate file that overlaps with a file that exists in the image, based on existing file information that is information on files that exist in the image; and, a deduplication unit that generates a deduplication layer by removing the duplicate files from the distribution layer and distributes the deduplication layer to the device,
  • the equipment includes:
  • the apparatus includes a layer management unit that restores the distribution layer from the deduplication layer.
  • the duplication inspection unit based on existing file information that is information of files that exist in an image, sends duplicates that are duplicates of files that exist in an image to a distribution layer that is a layer that is distributed to devices. Check if the file is included. Then, the deduplication unit generates a deduplication layer by eliminating duplicate files from the distribution layer, and distributes the deduplication layer to the device. Therefore, according to the deduplication system according to the present disclosure, it is possible to prevent file duplication even when the same file exists in different layers.
  • FIG. 1 is a diagram illustrating an example of an image used for a software container that is a premise of the first embodiment;
  • FIG. 1 is a diagram showing an example of the overall configuration of a deduplication system according to Embodiment 1.
  • FIG. 1 is a diagram showing a configuration example of a device according to Embodiment 1.
  • FIG. 1 is a diagram illustrating a configuration example of a server device according to Embodiment 1.
  • FIG. FIG. 2 is a flow diagram showing the operation of the deduplication system according to the first embodiment.
  • FIG. 2 is a schematic diagram showing an example of the operation of the deduplication system according to the first embodiment.
  • FIG. 7 is a schematic diagram showing another example of the operation of the deduplication system according to the first embodiment.
  • FIG. 7 is a schematic diagram showing another example of the operation of the deduplication system according to the first embodiment.
  • FIG. 7 is a diagram illustrating a configuration example of a device according to a second modification of the first embodiment.
  • FIG. 7 is a diagram illustrating a configuration example of a server device according to a second modification of the first embodiment.
  • FIG. 3 is a diagram illustrating a configuration example of a device according to a second embodiment.
  • FIG. 3 is a diagram illustrating a configuration example of a server device according to a second embodiment.
  • FIG. 7 is a diagram illustrating a configuration example of an inter-layer duplication table according to Embodiment 2;
  • FIG. 7 is a flow diagram showing the operation of the deduplication system according to the second embodiment.
  • FIG. 3 is a schematic diagram showing an example of the operation of the deduplication system according to the second embodiment.
  • FIG. 1 is a diagram showing an example of an image used for a software container, which is a premise of this embodiment.
  • the virtualization method using the software container 10 is a method in which a part of the OS of the host is separated, a dedicated area is prepared isolated from other software containers 10, and software is operated on the dedicated area.
  • OS is an abbreviation for Operating System.
  • the image 11 used for the software container 10 is formed from multiple layers 12. Layers 12 are superimposed to form image 11. Each layer 12 is a collection of multiple files. Further, the layer 12 is given an identifier 121 that uniquely identifies the layer 12.
  • the identifier 121 is, for example, a hash value of the layer 12, and is also called a digest. Typically, the same layer is shared between software containers 10. Layer 12 is read-only.
  • the image 11 has a thin read/write layer added by the software container 10 and is used by the software container 10.
  • FIG. 2 is a diagram showing an example of the overall configuration of the deduplication system 500 according to the present embodiment.
  • the deduplication system 500 includes a device 100 and a server device 200.
  • An image 11 is mounted on the device 100.
  • the installed image 11 differs depending on the device.
  • the server device 200 distributes the image 11 to the device 100 layer by layer when the image 11 is newly added, changed, or updated in the device 100.
  • FIG. 3 is a diagram showing a configuration example of device 100 according to this embodiment.
  • FIG. 4 is a diagram showing a configuration example of server device 200 according to this embodiment.
  • device 100 is a computer.
  • Device 100 includes a processor 910 and other hardware such as memory 921, auxiliary storage 922, input interface 930, output interface 940, and communication device 950.
  • Processor 910 is connected to other hardware via signal lines and controls these other hardware.
  • server device 200 is a computer.
  • the server device 200 includes a processor 910 and other hardware such as a memory 921, an auxiliary storage device 922, an input interface 930, an output interface 940, and a communication device 950.
  • Processor 910 is connected to other hardware via signal lines and controls these other hardware. Note that in FIGS. 3 and 4, the same reference numerals are given to each piece of hardware for the purpose of simplifying the explanation.
  • the device 100 and the server device 200 each include separate hardware.
  • the device 100 includes a layer management section 110 and a storage section 120 as functional elements.
  • the storage unit 120 stores an existing layer 21 and existing file information 22.
  • the functions of the layer management unit 110 are realized by software.
  • the storage unit 120 is included in the memory 921. Note that the storage unit 120 may be provided in the auxiliary storage device 922 or may be provided in a distributed manner in the memory 921 and the auxiliary storage device 922.
  • the server device 200 includes a duplication checking section 210, a deduplication section 220, and a storage section 230 as functional elements.
  • the storage unit 230 stores a distribution layer 31, a deduplication layer 32, and existing file information 22.
  • the functions of the duplication checking section 210 and the duplication elimination section 220 are realized by software.
  • the storage unit 230 is included in the memory 921. Note that the storage unit 230 may be provided in the auxiliary storage device 922 or may be provided in a distributed manner in the memory 921 and the auxiliary storage device 922.
  • server device 200 in FIG. 4 will be used as an example. The same applies to the description of the hardware of the device 100.
  • the processor 910 is a device that executes a deduplication program.
  • the deduplication program is a program that implements the functions of the server device 200.
  • the deduplication program is a program that implements the functions of the duplication checking section 210 and the deduplication section 220. Note that a program that implements the functions of the device 100 will also be referred to as a deduplication program.
  • the processor 910 is an IC that performs arithmetic processing. Specific examples of the processor 910 are a CPU, a DSP, and a GPU.
  • the IC is an integrated circuit.
  • CPU is an abbreviation for Central Processing Unit.
  • DSP is an abbreviation for Digital Signal Processor.
  • GPU is an abbreviation for Graphics Processing Unit.
  • Memory 921 is a storage device that temporarily stores data.
  • a specific example of the memory 921 is SRAM or DRAM.
  • SRAM is an abbreviation for Static Random Access Memory.
  • DRAM is an abbreviation for Dynamic Random Access Memory.
  • Auxiliary storage device 922 is a storage device that stores data.
  • a specific example of the auxiliary storage device 922 is an HDD.
  • the auxiliary storage device 922 may be a portable storage medium such as an SD (registered trademark) memory card, CF, NAND flash, flexible disk, optical disk, compact disc, Blu-ray (registered trademark) disc, or DVD.
  • SD registered trademark
  • SD Secure Digital
  • CF is an abbreviation for CompactFlash®.
  • DVD is an abbreviation for Digital Versatile Disk.
  • the input interface 930 is a port connected to an input device such as a mouse, keyboard, or touch panel.
  • Input interface 930 is specifically a USB terminal. Note that the input interface 930 may be a port connected to a LAN.
  • USB is an abbreviation for Universal Serial Bus.
  • LAN is an abbreviation for Local Area Network.
  • the output interface 940 is a port to which a cable of an output device such as a display is connected.
  • the output interface 940 is a USB terminal or an HDMI (registered trademark) terminal.
  • the display is specifically an LCD.
  • Output interface 940 is also referred to as a display interface.
  • HDMI registered trademark
  • LCD is an abbreviation for Liquid Crystal Display.
  • the communication device 950 has a receiver and a transmitter.
  • the communication device 950 is connected to a communication network such as a LAN, the Internet, WiFi (registered trademark), or a telephone line.
  • Communication device 950 is specifically a communication chip or NIC.
  • NIC is an abbreviation for Network Interface Card.
  • the deduplication program is executed on the server device 200.
  • the deduplication program is loaded into and executed by processor 910.
  • the memory 921 stores not only the deduplication program but also the OS.
  • OS is an abbreviation for Operating System.
  • Processor 910 executes the deduplication program while executing the OS.
  • the deduplication program and the OS may be stored in the auxiliary storage device 922.
  • the deduplication program and OS stored in auxiliary storage device 922 are loaded into memory 921 and executed by processor 910. Note that part or all of the deduplication program may be incorporated into the OS.
  • the device 100 may include multiple processors that replace the processor 910. These multiple processors share the execution of the deduplication program.
  • Each processor like processor 910, is a device that executes a deduplication program.
  • Data, information, signal values, and variable values used, processed, or output by the deduplication program are stored in memory 921, auxiliary storage device 922, or registers or cache memory within processor 910.
  • each section of the duplication checking section 210 and the duplication elimination section 220 may be read as “circuit”, “process”, “procedure”, “processing”, or “circuitry”.
  • the deduplication program causes a computer to execute a duplication check process and a deduplication process.
  • "Processing" in the duplication checking process and deduplication process should be read as "program,” “program product,” “computer-readable storage medium that stores the program,” or “computer-readable storage medium that stores the program.” Good too.
  • the deduplication method is performed by each device of the deduplication system 500 executing a deduplication program.
  • the deduplication program may be provided stored in a computer-readable recording medium. Further, the deduplication program may be provided as a program product.
  • the operating procedure of the deduplication system 500 corresponds to a deduplication method. Further, a program that realizes the operation of the deduplication system 500 corresponds to a deduplication program.
  • FIG. 5 is a flow diagram showing the operation of the deduplication system 500 according to this embodiment.
  • FIG. 6 is a schematic diagram showing an example of the operation of the deduplication system 500 according to this embodiment.
  • FIG. 7 is a schematic diagram showing another example of the operation of the deduplication system 500 according to the present embodiment.
  • FIG. 8 is a schematic diagram showing another example of the operation of the deduplication system 500 according to this embodiment.
  • the existing layer 21 is a layer that already exists in the device 100. Specifically, each of all layers forming the image 11 mounted on the device 100 is referred to as an existing layer 21.
  • layer A and layer B are existing layers 21. Layer A includes file 1 and file 2, and layer B includes file 3 and file 4.
  • illustration of the image 11 mounted on the device 100 is omitted to simplify the explanation.
  • the existing file information 22 is a list of all files that already exist in the device 100. Specifically, it is a list of files included in all existing layers 21 that form the image 11 installed in the device 100. In the example of FIG. 6, layer A and layer B are existing layers 21. Therefore, the existing file information 22 lists file 1, file 2, file 3, and file 4.
  • the layer management unit 110 manages layers existing in the device 100.
  • Existing file information 22 is generated by layer management section 110 and transmitted to server device 200.
  • the server device 200 stores the existing file information 22 sent from the device 100 in the storage unit 230.
  • the distribution layer 31 is a layer that the server device 200 distributes to the device 100.
  • the distribution layer 31 is one of the layers forming the image 11 that the server device 200 is trying to distribute to the device 100.
  • layer C is the distribution layer 31.
  • Layer C is a layer that includes file 1 and file 5.
  • step S101 the duplication checking unit 210 of the server device 200 determines whether the distribution layer 31 contains a duplicate file 321 that duplicates a file that already exists in the image 11 installed in the device 100, based on the existing file information 22. Inspect.
  • the duplication inspection unit 210 automatically inspects the existing file information 22 and the distribution layer 31 for duplicate files 321 . Specifically, the duplication checking unit 210 determines whether the distribution layer 31 includes a file listed in the existing file information 22. If the distribution layer 31 includes a file listed in the existing file information 22, the duplication checking unit 210 determines the file as a duplicate file 321.
  • the duplication checking unit 210 determines whether layer C, which is the distribution layer 31, includes a file listed in the existing file information 22. Layer C includes file 1 listed in existing file information 22. Therefore, the duplication checking unit 210 determines the file 1 as a duplicate file 321.
  • step S102 the deduplication unit 220 generates the deduplication layer 32 by eliminating the duplicate files 321 from the distribution layer 31.
  • the deduplication unit 220 automatically eliminates duplicate files 321 from the distribution layer 31 based on the result of the duplication check. Note that eliminating the duplicate file 321 from the distribution layer 31 means deleting the duplicate file 321 from the distribution layer 31.
  • step S103 the deduplication unit 220 delivers the deduplication layer 32 to the device 100 via the communication device 950. Note that the deduplication layer 32 is given information on which files are excluded.
  • the deduplication unit 220 generates a deduplication layer 32 by eliminating file 1, which is the duplicate file 321, from layer C, which is the distribution layer 31. Then, the deduplication unit 220 delivers the deduplication layer 32, which excludes the file 1 from the layer C, to the device 100 via the communication device 950.
  • step S104 the layer management unit 110 of the device 100 restores the distribution layer 31 from the deduplication layer 32.
  • the layer management unit 110 restores the distribution layer 31 using the existing layer 21 and the deduplication layer 32.
  • the layer management unit 110 can restore the distribution layer 31 in the following three ways.
  • the layer management unit 110 restores the distribution layer by referring to the duplicate file 321 included in any of the existing layers 21 from the deduplication layer 32.
  • Any of the existing layers 21 is any of a plurality of layers that form the image 11 mounted on the device 100.
  • the layer management unit 110 manages layer management information in which the correspondence between the existing layer 21 existing in the device 100 and the files included in the existing layer 21 and the reference relationship between the existing layers are set.
  • the layer management unit 110 automatically replaces the duplicate file 321 eliminated by the deduplication layer 32 with a reference to the existing layer 21 in the layer management information.
  • the layer management unit 110 replaces file 1 excluded in layer C with a reference to file 1 in layer A, which is the existing layer 21, in the layer management information.
  • the amount of transfer can be reduced. Furthermore, since duplicate files 321 can be shared between different layers, the storage area in the device 100 can be reduced.
  • the layer management unit 110 restores the distribution layer 31 by copying the duplicate file 321 included in any of the existing layers 21 to the deduplication layer 32. In this manner, by copying the duplicate file 321 to the deduplication layer 32, the distribution layer 31 is completely restored in the device 100.
  • the layer management unit 110 copies file 1 included in layer A, which is the existing layer 21, to layer C, which is the deduplication layer 32. As a result, the distribution layer 31 is restored.
  • the amount of transfer can be reduced. Furthermore, since the duplicate file 321 can be copied to the deduplication layer 32 after transfer and the distribution layer 31 can be completely restored, processing such as changing file references can be reduced.
  • the layer management unit 110 restores the distribution layer 31 by moving the duplicate file 321 included in any of the existing layers 21 to the deduplication layer 32. Then, the layer management unit 110 causes the duplicate file 321 included in the distribution layer 31 to be referenced from the layer from which the duplicate file 321 is moved. That is, the layer management unit 110 eliminates the duplicate file 321 from the existing layer 21 and automatically adds the duplicate file 321 to the deduplication layer 32. Then, the layer management unit 110 sets the layer management information so that the distribution layer 31 restored by automatically adding the duplicate file 321 is referred to from the existing layer 21 from which the duplicate file 321 is moved.
  • the server device 200 distributes layer A' to the device 100 in order to update layer A in the device 100 to layer A'.
  • Layer A' is delivered to the device 100 as a deduplication layer 32 in which file 1, which is a duplicate file 321, is eliminated.
  • the layer management unit 110 moves file 1 included in layer A to layer A′, which is the deduplication layer 32. As a result, layer A', which is the distribution layer 31, is restored. File 1 is excluded from layer A.
  • the layer management unit 110 sets the layer management information so that the file 1 included in the layer A' is referred to from the layer A from which the file 1 is moved.
  • the duplicate file 321 since the duplicate file 321 is not transferred, the amount of transfer can be reduced. Further, after the transfer, the duplicate file 321 is moved to the deduplication layer 32, and the distribution layer 31 restored from the source layer is referred to. Therefore, even if an old layer is deleted after the movement source layer is updated to the distribution layer 31, there is an advantage that the reference relationship does not need to be changed. Old layers may be retained during update for rollback or B/G update. However, the old layer is likely to be deleted in the future. If files of other images refer to files of the old layer that remain temporarily, the scope of influence when deleting the old layer increases. Therefore, according to the third example of layer management processing, the range of influence on the device 100 can be reduced by performing an operation such that the file of the new layer remains as an entity when updating.
  • existing file information 22 is generated by layer management section 110 and sent to server device 200.
  • the server device 200 may create the existing file information 22. Since the server device 200 distributes the image 11 layer by layer to the device 100, the correspondence between layers and files and which layer was distributed to which device 100 are recorded. Therefore, the server device 200 can create existing file information 22, which is information about files existing in the device 100, for each device.
  • each device in the deduplication system 500 is realized by software.
  • the functions of each device of the deduplication system 500 may be implemented in hardware.
  • each device of the deduplication system 500 includes an electronic circuit 909 in place of the processor 910.
  • FIG. 9 is a diagram illustrating a configuration example of a device 100 according to a second modification of the present embodiment.
  • FIG. 10 is a diagram illustrating a configuration example of a server device 200 according to a second modification of the present embodiment.
  • the server device 200 in FIG. 10 will be used as an example. The same applies to the description of the device 100.
  • the electronic circuit 909 is a dedicated electronic circuit that realizes the functions of the duplication checking section 210 and the duplication elimination section 220.
  • Electronic circuit 909 is specifically a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, a logic IC, a GA, an ASIC, or an FPGA.
  • GA is an abbreviation for Gate Array.
  • ASIC is an abbreviation for Application Specific Integrated Circuit.
  • FPGA is an abbreviation for Field-Programmable Gate Array.
  • the functions of the duplication checking section 210 and the deduplication section 220 may be realized by one electronic circuit, or may be realized by being distributed among multiple electronic circuits.
  • part of the functions of the duplication checking section 210 and the deduplication section 220 may be realized by an electronic circuit, and the remaining functions may be realized by software. Furthermore, some or all of the functions of the duplication checking section 210 and the duplication elimination section 220 may be realized by firmware.
  • Each of the processor and electronic circuit is also referred to as processing circuitry.
  • the functions of each device in the deduplication system 500 are realized by processing circuitry.
  • the duplication elimination system 500 can eliminate duplication of the same file in different layers.
  • the deduplication system 500 according to this embodiment since layers are transferred after eliminating duplicate files, the amount of transfer can be reduced.
  • duplicate files can be shared between different layers on the same device, so the storage area in the device can be reduced.
  • the duplicate file is moved to the deduplication layer after transfer, and the distribution layer restored from the source layer is referred to. Therefore, even if the old layer is deleted after the source layer is updated to the distribution layer, there is no need to change the reference relationship.
  • Embodiment 2 In this embodiment, points different from or added to Embodiment 1 will be explained.
  • all existing files on the device are checked for duplication.
  • an aspect will be described in which the unit of duplicate inspection is performed for each combination of layers.
  • FIG. 11 is a diagram showing a configuration example of device 100 according to this embodiment.
  • FIG. 12 is a diagram showing a configuration example of server device 200 according to this embodiment.
  • device 100 and server device 200 include existing layer information 23 in addition to the configuration described in Embodiment 1.
  • the server device 200 further includes an inter-layer duplication table 24. Note that in this embodiment, the existing file information 22 may not exist in the device 100 and the server device 200.
  • the existing layer information 23 is a list of layers that already exist in the device 100. Specifically, the existing layer information 23 is a list of identifiers that identify layers existing in the image 11 installed in the device 100. This identifier is called a digest and is a hash value for each layer present in the image 11. For example, the existing layer information 23 may be generated by the layer management unit 110 and transmitted to the server device 200. Alternatively, the existing layer information 23 may be generated on the server device 200 side.
  • FIG. 13 is a diagram showing a configuration example of the inter-layer duplication table 24 according to this embodiment.
  • the inter-layer duplication table 24 is a table that records the duplication relationship of files for each combination of layers that have been delivered to the device 100. For example, in FIG. 13, the combination of layer A and layer D indicates that file 1 is duplicated. Furthermore, the combination of layer B and layer D indicates that file 1 and file 3 overlap.
  • FIG. 14 is a flow diagram showing the operation of the deduplication system 500 according to this embodiment.
  • FIG. 15 is a schematic diagram showing an example of the operation of the deduplication system 500 according to this embodiment.
  • step S ⁇ b>101 a the duplication checking unit 210 determines whether the distribution layer 31 is recorded in the inter-layer duplication table 24 based on the inter-layer duplication table 24 . If the distribution layer 31 is recorded in the inter-layer duplication table, the duplication checking unit 210 checks whether there is a duplicate file in the distribution layer 31 based on the inter-layer duplication table 24. Note that the duplication checking unit 210 may check whether there is a duplicate file in the distribution layer 31 based on the existing layer information 23 and the inter-layer duplication table 24.
  • the duplication checking unit 210 checks whether there is a duplicate file for each combination of the existing layer 21 and the distribution layer 31 based on the existing layer information 23. Since the server device 200 distributes the layers themselves, it has information on which files are included in which layers. Therefore, the duplication checking unit 210 can check whether there is a duplicate file for each combination of the existing layer 21 and the distribution layer 31 based only on the existing layer information 23. In step S ⁇ b>101 b , the duplication checking unit 210 records, in the inter-layer duplication table 24 , a check result as to whether there is a duplicate file for each combination of the existing layer 21 and the distribution layer 31 . The processing after step S102 is the same as in the first embodiment.
  • file duplication inspection can be performed using the inter-layer duplication table, so that the processing load of duplication inspection can be reduced.
  • each part of each device of the deduplication system has been described as an independent functional block.
  • the configuration of each device in the deduplication system may not be the same as in the embodiments described above.
  • the functional blocks of each device in the deduplication system may have any configuration as long as they can implement the functions described in the above embodiments.
  • each device in the deduplication system may not be one device, but may be a system composed of a plurality of devices.
  • a plurality of parts of Embodiments 1 and 2 may be combined and implemented. Alternatively, one part of these embodiments may be implemented.
  • these embodiments may be implemented in any combination, in whole or in part. That is, in Embodiments 1 and 2, it is possible to freely combine each embodiment, to modify any component of each embodiment, or to omit any component in each embodiment.

Abstract

A duplicate-removal system (500) comprises: an apparatus (100) for loading an image including a plurality of layers, each layer including a plurality of files; and a server device (200) for delivering the layers to the apparatus (100). On the basis of existing file information (22), a duplicate inspection unit (210) of the server device (200) inspects for whether a duplicate file (321) is includes in a delivery layer (31) to be delivered to the apparatus (100). A duplicate-removal unit (220) of the server device (200) delivers, to the apparatus (100), a duplicate-removed layer (32) obtained by removing the duplicate file (321) from the delivery layer (31). A layer management unit (110) of the apparatus (100) restores the delivery layer (31) from the duplicate-removed layer (32).

Description

重複排除システム、機器、サーバ装置、重複排除方法、および、重複排除プログラムDeduplication system, equipment, server device, deduplication method, and deduplication program
 本開示は、重複排除システム、機器、サーバ装置、重複排除方法、および、重複排除プログラムに関する。 The present disclosure relates to a deduplication system, a device, a server device, a deduplication method, and a deduplication program.
 機器ごとに異なる複数の仮想イメージを搭載し、その仮想イメージを追加・更新・削除するシステムにおいては、データの重複を排除する重複排除技術が用いられる。このような機器には、例えば、次世代車載ECU、あるいは、個別カスタマイズのあるエッジ機器が想定される。ECUは、Electronic Control Unitの略語である。
 重複排除技術とは、バックアップあるいはアーカイブの際、データ転送量あるいは格納容量を削減することである。また、ファイル単位あるいはブロック単位でデータの重複を検出し排除することも含まれる。重複の判定には、データをそのまま比較、チェックサムと組み合わせて比較、あるいは暗号学的ハッシュ関数による比較といった方法がある。
Deduplication technology is used to eliminate duplication of data in systems where each device is equipped with a number of different virtual images and the virtual images are added, updated, or deleted. Such devices are assumed to be, for example, next-generation in-vehicle ECUs or edge devices with individual customization. ECU is an abbreviation for Electronic Control Unit.
Deduplication technology reduces the amount of data transferred or storage capacity during backup or archiving. It also includes detecting and eliminating data duplication on a file-by-file or block-by-block basis. Duplication can be determined by comparing the data as is, by comparing it in combination with a checksum, or by using a cryptographic hash function.
 特許文献1には、複数のユーザに対して提供される仮想計算機を構成するファイルについて、効果的に重複排除することができる技術が開示されている。 Patent Document 1 discloses a technique that can effectively eliminate duplication of files that constitute a virtual machine provided to multiple users.
特開2009-276859号公報Japanese Patent Application Publication No. 2009-276859
 特許文献1では、1つの仮想計算機ボリュームイメージの雛形から、複数のユーザに対して仮想計算機を提供する際の重複排除技術が開示されている。特許文献1では、イメージ内の各ファイルに対する読み書きをトレースし、ユーザごとの仮想計算機に個別の実体を提供するか、共通のファイルを参照させるかを判断する。このように、特許文献1の技術は、異なるイメージ間で同一のファイルが重複して使われている場合を検査するものではない。よって、特許文献1では、異なるイメージ間のファイル重複に対して効果がない。また、ソフトウェアコンテナを用いることで、異なるイメージ間のファイル重複を、レイヤの共有化で緩和できるが、同一ファイルが異なるレイヤに存在する場合はファイル重複を防ぐことはできないという課題がある。 Patent Document 1 discloses a deduplication technique for providing virtual machines to multiple users from a single virtual machine volume image template. In Patent Document 1, reading and writing of each file in an image is traced, and it is determined whether to provide each user's virtual machine with an individual entity or to refer to a common file. In this way, the technique disclosed in Patent Document 1 does not check the case where the same file is used redundantly between different images. Therefore, Patent Document 1 is ineffective against file duplication between different images. Furthermore, by using software containers, file duplication between different images can be alleviated by sharing layers, but there is a problem in that file duplication cannot be prevented when the same file exists in different layers.
 本開示では、同一ファイルが異なるレイヤに存在する場合であってもファイルの重複を防ぐことを目的とする。 The present disclosure aims to prevent file duplication even when the same file exists in different layers.
 本開示に係る重複排除システムは、
 複数のレイヤから形成され、ソフトウェアコンテナに用いられるイメージであって、前記複数のレイヤの各レイヤが複数のファイルを含むイメージを搭載する機器と、前記機器にレイヤを配信するサーバ装置とを備える重複排除システムにおいて、
 前記サーバ装置は、
 前記イメージに存在するファイルの情報である既存ファイル情報に基づいて、前記機器に配信するレイヤである配信レイヤに、前記イメージに存在するファイルと重複する重複ファイルが含まれるかを検査する重複検査部と、
 前記配信レイヤから前記重複ファイルを排除した重複排除レイヤを生成し、前記重複排除レイヤを前記機器に配信する重複排除部と
を備え、
 前記機器は、
 前記重複排除レイヤから前記配信レイヤを復元するレイヤ管理部を備える。
The deduplication system according to the present disclosure is
An image formed from a plurality of layers and used as a software container, the duplication comprising a device loading an image in which each layer of the plurality of layers includes a plurality of files, and a server device distributing the layer to the device. In the exclusion system,
The server device includes:
a duplication inspection unit that inspects whether a distribution layer that is a layer that is distributed to the device includes a duplicate file that overlaps with a file that exists in the image, based on existing file information that is information on files that exist in the image; and,
a deduplication unit that generates a deduplication layer by removing the duplicate files from the distribution layer and distributes the deduplication layer to the device,
The equipment includes:
The apparatus includes a layer management unit that restores the distribution layer from the deduplication layer.
 本開示に係る重複排除システムでは、重複検査部が、イメージに存在するファイルの情報である既存ファイル情報に基づいて、機器に配信するレイヤである配信レイヤに、イメージに存在するファイルと重複する重複ファイルが含まれるかを検査する。そして、重複排除部が、配信レイヤから重複ファイルを排除した重複排除レイヤを生成し、重複排除レイヤを機器に配信する。よって、本開示に係る重複排除システムによれば、同一ファイルが異なるレイヤに存在する場合であってもファイルの重複を防ぐことができるという効果を奏する。 In the deduplication system according to the present disclosure, the duplication inspection unit, based on existing file information that is information of files that exist in an image, sends duplicates that are duplicates of files that exist in an image to a distribution layer that is a layer that is distributed to devices. Check if the file is included. Then, the deduplication unit generates a deduplication layer by eliminating duplicate files from the distribution layer, and distributes the deduplication layer to the device. Therefore, according to the deduplication system according to the present disclosure, it is possible to prevent file duplication even when the same file exists in different layers.
実施の形態1の前提となるソフトウェアコンテナに用いられるイメージの例を示す図。1 is a diagram illustrating an example of an image used for a software container that is a premise of the first embodiment; FIG. 実施の形態1に係る重複排除システムの全体構成例を示す図。1 is a diagram showing an example of the overall configuration of a deduplication system according to Embodiment 1. FIG. 実施の形態1に係る機器の構成例を示す図。1 is a diagram showing a configuration example of a device according to Embodiment 1. FIG. 実施の形態1に係るサーバ装置の構成例を示す図。1 is a diagram illustrating a configuration example of a server device according to Embodiment 1. FIG. 実施の形態1に係る重複排除システムの動作を示すフロー図。FIG. 2 is a flow diagram showing the operation of the deduplication system according to the first embodiment. 実施の形態1に係る重複排除システムの動作の一例を示す模式図。FIG. 2 is a schematic diagram showing an example of the operation of the deduplication system according to the first embodiment. 実施の形態1に係る重複排除システムの動作の別例を示す模式図。FIG. 7 is a schematic diagram showing another example of the operation of the deduplication system according to the first embodiment. 実施の形態1に係る重複排除システムの動作の別例を示す模式図。FIG. 7 is a schematic diagram showing another example of the operation of the deduplication system according to the first embodiment. 実施の形態1の変形例2に係る機器の構成例を示す図。FIG. 7 is a diagram illustrating a configuration example of a device according to a second modification of the first embodiment. 実施の形態1の変形例2に係るサーバ装置の構成例を示す図。FIG. 7 is a diagram illustrating a configuration example of a server device according to a second modification of the first embodiment. 実施の形態2に係る機器の構成例を示す図。FIG. 3 is a diagram illustrating a configuration example of a device according to a second embodiment. 実施の形態2に係るサーバ装置の構成例を示す図。FIG. 3 is a diagram illustrating a configuration example of a server device according to a second embodiment. 実施の形態2に係るレイヤ間重複テーブルの構成例を示す図。FIG. 7 is a diagram illustrating a configuration example of an inter-layer duplication table according to Embodiment 2; 実施の形態2に係る重複排除システムの動作を示すフロー図。FIG. 7 is a flow diagram showing the operation of the deduplication system according to the second embodiment. 実施の形態2に係る重複排除システムの動作の一例を示す模式図。FIG. 3 is a schematic diagram showing an example of the operation of the deduplication system according to the second embodiment.
 以下、本実施の形態について、図を用いて説明する。各図中、同一または相当する部分には、同一符号を付している。実施の形態の説明において、同一または相当する部分については、説明を適宜省略または簡略化する。図中の矢印はデータの流れまたは処理の流れを主に示している。また、以下の図では各構成部材の大きさの関係が実際のものとは異なる場合がある。また、実施の形態の説明において、上、下、左、右、前、後、表、裏といった向きあるいは位置が示されている場合がある。これらの表記は、説明の便宜上の記載であり、装置、器具、あるいは部品等の配置、方向および向きを限定するものではない。 Hereinafter, this embodiment will be described using figures. In each figure, the same or corresponding parts are given the same reference numerals. In the description of the embodiments, the description of the same or corresponding parts will be omitted or simplified as appropriate. The arrows in the figure mainly indicate the flow of data or processing. Further, in the following figures, the size relationship of each component may differ from the actual one. Further, in the description of the embodiments, directions or positions such as top, bottom, left, right, front, back, front, and back may be indicated. These notations are for convenience of explanation and do not limit the arrangement, direction, or orientation of devices, instruments, parts, or the like.
 実施の形態1.
***構成の説明***
 図1は、本実施の形態の前提となるソフトウェアコンテナに用いられるイメージの例を示す図である。
 ソフトウェアコンテナ10を用いた仮想化方式とは、ホストのOSの一部を分離して他のソフトウェアコンテナ10と隔離された専用のエリアを用意し、その上でソフトウェアを動作させる方式である。OSは、Operating Systemの略語である。
 ソフトウェアコンテナ10に用いられるイメージ11は、複数のレイヤ12から形成される。レイヤ12は重畳されてイメージ11を形成する。個々のレイヤ12は複数のファイルの集合である。また、レイヤ12には、レイヤ12を一意に識別する識別子121が付与されている。識別子121は、例えば、レイヤ12のハッシュ値であり、ダイジェストとも呼ばれる。
 通常、同一のレイヤは、ソフトウェアコンテナ10間で共有される。レイヤ12は読み込み専用である。
 イメージ11は、ソフトウェアコンテナ10により薄い読み書きレイヤを追加され、ソフトウェアコンテナ10により用いられる。
Embodiment 1.
***Explanation of configuration***
FIG. 1 is a diagram showing an example of an image used for a software container, which is a premise of this embodiment.
The virtualization method using the software container 10 is a method in which a part of the OS of the host is separated, a dedicated area is prepared isolated from other software containers 10, and software is operated on the dedicated area. OS is an abbreviation for Operating System.
The image 11 used for the software container 10 is formed from multiple layers 12. Layers 12 are superimposed to form image 11. Each layer 12 is a collection of multiple files. Further, the layer 12 is given an identifier 121 that uniquely identifies the layer 12. The identifier 121 is, for example, a hash value of the layer 12, and is also called a digest.
Typically, the same layer is shared between software containers 10. Layer 12 is read-only.
The image 11 has a thin read/write layer added by the software container 10 and is used by the software container 10.
 図2は、本実施の形態に係る重複排除システム500の全体構成例を示す図である。
 重複排除システム500は、機器100と、サーバ装置200とを備える。
 機器100には、イメージ11が搭載される。搭載されるイメージ11は機器ごとに異なる。
 サーバ装置200は、機器100におけるイメージ11の新規追加、変更、あるいは更新にともない、機器100にイメージ11をレイヤ単位で配信する。
FIG. 2 is a diagram showing an example of the overall configuration of the deduplication system 500 according to the present embodiment.
The deduplication system 500 includes a device 100 and a server device 200.
An image 11 is mounted on the device 100. The installed image 11 differs depending on the device.
The server device 200 distributes the image 11 to the device 100 layer by layer when the image 11 is newly added, changed, or updated in the device 100.
 図3は、本実施の形態に係る機器100の構成例を示す図である。
 図4は、本実施の形態に係るサーバ装置200の構成例を示す図である。
FIG. 3 is a diagram showing a configuration example of device 100 according to this embodiment.
FIG. 4 is a diagram showing a configuration example of server device 200 according to this embodiment.
 図3において、機器100は、コンピュータである。機器100は、プロセッサ910を備えるとともに、メモリ921、補助記憶装置922、入力インタフェース930、出力インタフェース940、および通信装置950といった他のハードウェアを備える。プロセッサ910は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
 図4において、サーバ装置200は、コンピュータである。サーバ装置200は、プロセッサ910を備えるとともに、メモリ921、補助記憶装置922、入力インタフェース930、出力インタフェース940、および通信装置950といった他のハードウェアを備える。プロセッサ910は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
 なお、図3および図4において、各ハードウェアに同一の符号を付しているのは説明を簡単にするためである。機器100とサーバ装置200とは、各々個別のハードウェアを備えている。
In FIG. 3, device 100 is a computer. Device 100 includes a processor 910 and other hardware such as memory 921, auxiliary storage 922, input interface 930, output interface 940, and communication device 950. Processor 910 is connected to other hardware via signal lines and controls these other hardware.
In FIG. 4, server device 200 is a computer. The server device 200 includes a processor 910 and other hardware such as a memory 921, an auxiliary storage device 922, an input interface 930, an output interface 940, and a communication device 950. Processor 910 is connected to other hardware via signal lines and controls these other hardware.
Note that in FIGS. 3 and 4, the same reference numerals are given to each piece of hardware for the purpose of simplifying the explanation. The device 100 and the server device 200 each include separate hardware.
 図3において、機器100は、機能要素として、レイヤ管理部110と記憶部120とを備える。記憶部120には、既存レイヤ21と既存ファイル情報22が記憶される。
 レイヤ管理部110の機能は、ソフトウェアにより実現される。記憶部120は、メモリ921に備えられる。なお、記憶部120は、補助記憶装置922に備えられていてもよいし、メモリ921と補助記憶装置922に分散して備えられていてもよい。
In FIG. 3, the device 100 includes a layer management section 110 and a storage section 120 as functional elements. The storage unit 120 stores an existing layer 21 and existing file information 22.
The functions of the layer management unit 110 are realized by software. The storage unit 120 is included in the memory 921. Note that the storage unit 120 may be provided in the auxiliary storage device 922 or may be provided in a distributed manner in the memory 921 and the auxiliary storage device 922.
 図4において、サーバ装置200は、機能要素として、重複検査部210と重複排除部220と記憶部230とを備える。記憶部230には、配信レイヤ31と重複排除レイヤ32と既存ファイル情報22が記憶される。
 重複検査部210と重複排除部220との機能は、ソフトウェアにより実現される。記憶部230は、メモリ921に備えられる。なお、記憶部230は、補助記憶装置922に備えられていてもよいし、メモリ921と補助記憶装置922に分散して備えられていてもよい。
In FIG. 4, the server device 200 includes a duplication checking section 210, a deduplication section 220, and a storage section 230 as functional elements. The storage unit 230 stores a distribution layer 31, a deduplication layer 32, and existing file information 22.
The functions of the duplication checking section 210 and the duplication elimination section 220 are realized by software. The storage unit 230 is included in the memory 921. Note that the storage unit 230 may be provided in the auxiliary storage device 922 or may be provided in a distributed manner in the memory 921 and the auxiliary storage device 922.
 以下のハードウェアの説明では、図4のサーバ装置200を例に説明する。機器100のハードウェアの説明についても同様である。 In the following hardware description, the server device 200 in FIG. 4 will be used as an example. The same applies to the description of the hardware of the device 100.
 プロセッサ910は、重複排除プログラムを実行する装置である。重複排除プログラムは、サーバ装置200の機能を実現するプログラムである。具体的には、重複排除プログラムは、重複検査部210と重複排除部220の機能を実現するプログラムである。なお、機器100の機能を実現するプログラムも重複排除プログラムと呼ぶものとする。 The processor 910 is a device that executes a deduplication program. The deduplication program is a program that implements the functions of the server device 200. Specifically, the deduplication program is a program that implements the functions of the duplication checking section 210 and the deduplication section 220. Note that a program that implements the functions of the device 100 will also be referred to as a deduplication program.
 プロセッサ910は、演算処理を行うICである。プロセッサ910の具体例は、CPU、DSP、GPUである。ICは、Integrated Circuit乗る悪後である。CPUは、Central Processing Unitの略語である。DSPは、Digital Signal Processorの略語である。GPUは、Graphics Processing Unitの略語である。 The processor 910 is an IC that performs arithmetic processing. Specific examples of the processor 910 are a CPU, a DSP, and a GPU. The IC is an integrated circuit. CPU is an abbreviation for Central Processing Unit. DSP is an abbreviation for Digital Signal Processor. GPU is an abbreviation for Graphics Processing Unit.
 メモリ921は、データを一時的に記憶する記憶装置である。メモリ921の具体例は、SRAM、あるいはDRAMである。SRAMは、Static Random Access Memoryの略語である。DRAMは、Dynamic Random Access Memoryの略語である。
 補助記憶装置922は、データを保管する記憶装置である。補助記憶装置922の具体例は、HDDである。また、補助記憶装置922は、SD(登録商標)メモリカード、CF、NANDフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVDといった可搬の記憶媒体であってもよい。なお、HDDは、Hard Disk Driveの略語である。SD(登録商標)は、Secure Digitalの略語である。CFは、CompactFlash(登録商標)の略語である。DVDは、Digital Versatile Diskの略語である。
Memory 921 is a storage device that temporarily stores data. A specific example of the memory 921 is SRAM or DRAM. SRAM is an abbreviation for Static Random Access Memory. DRAM is an abbreviation for Dynamic Random Access Memory.
Auxiliary storage device 922 is a storage device that stores data. A specific example of the auxiliary storage device 922 is an HDD. Further, the auxiliary storage device 922 may be a portable storage medium such as an SD (registered trademark) memory card, CF, NAND flash, flexible disk, optical disk, compact disc, Blu-ray (registered trademark) disc, or DVD. Note that HDD is an abbreviation for Hard Disk Drive. SD (registered trademark) is an abbreviation for Secure Digital. CF is an abbreviation for CompactFlash®. DVD is an abbreviation for Digital Versatile Disk.
 入力インタフェース930は、マウス、キーボード、あるいはタッチパネルといった入力装置と接続されるポートである。入力インタフェース930は、具体的には、USB端子である。なお、入力インタフェース930は、LANと接続されるポートであってもよい。USBは、Universal Serial Busの略語である。LANは、Local Area Networkの略語である。 The input interface 930 is a port connected to an input device such as a mouse, keyboard, or touch panel. Input interface 930 is specifically a USB terminal. Note that the input interface 930 may be a port connected to a LAN. USB is an abbreviation for Universal Serial Bus. LAN is an abbreviation for Local Area Network.
 出力インタフェース940は、ディスプレイといった出力機器のケーブルが接続されるポートである。出力インタフェース940は、具体的には、USB端子またはHDMI(登録商標)端子である。ディスプレイは、具体的には、LCDである。出力インタフェース940は、表示器インタフェースともいう。HDMI(登録商標)は、High Definition Multimedia Interfaceの略語である。LCDは、Liquid Crystal Displayの略語である。図1では、1つの出力インタフェース940が記載されているが、複数の出力インタフェース940が存在してもよい。 The output interface 940 is a port to which a cable of an output device such as a display is connected. Specifically, the output interface 940 is a USB terminal or an HDMI (registered trademark) terminal. The display is specifically an LCD. Output interface 940 is also referred to as a display interface. HDMI (registered trademark) is an abbreviation for High Definition Multimedia Interface. LCD is an abbreviation for Liquid Crystal Display. Although one output interface 940 is illustrated in FIG. 1, multiple output interfaces 940 may exist.
 通信装置950は、レシーバとトランスミッタを有する。通信装置950は、LAN、インターネット、WiFi(登録商標)、あるいは電話回線といった通信網に接続している。通信装置950は、具体的には、通信チップまたはNICである。NICは、Network Interface Cardの略語である。 The communication device 950 has a receiver and a transmitter. The communication device 950 is connected to a communication network such as a LAN, the Internet, WiFi (registered trademark), or a telephone line. Communication device 950 is specifically a communication chip or NIC. NIC is an abbreviation for Network Interface Card.
 重複排除プログラムは、サーバ装置200において実行される。重複排除プログラムは、プロセッサ910に読み込まれ、プロセッサ910によって実行される。メモリ921には、重複排除プログラムだけでなく、OSも記憶されている。OSは、Operating Systemの略語である。プロセッサ910は、OSを実行しながら、重複排除プログラムを実行する。重複排除プログラムおよびOSは、補助記憶装置922に記憶されていてもよい。補助記憶装置922に記憶されている重複排除プログラムおよびOSは、メモリ921にロードされ、プロセッサ910によって実行される。なお、重複排除プログラムの一部または全部がOSに組み込まれていてもよい。 The deduplication program is executed on the server device 200. The deduplication program is loaded into and executed by processor 910. The memory 921 stores not only the deduplication program but also the OS. OS is an abbreviation for Operating System. Processor 910 executes the deduplication program while executing the OS. The deduplication program and the OS may be stored in the auxiliary storage device 922. The deduplication program and OS stored in auxiliary storage device 922 are loaded into memory 921 and executed by processor 910. Note that part or all of the deduplication program may be incorporated into the OS.
 機器100は、プロセッサ910を代替する複数のプロセッサを備えていてもよい。これら複数のプロセッサは、重複排除プログラムの実行を分担する。それぞれのプロセッサは、プロセッサ910と同じように、重複排除プログラムを実行する装置である。 The device 100 may include multiple processors that replace the processor 910. These multiple processors share the execution of the deduplication program. Each processor, like processor 910, is a device that executes a deduplication program.
 重複排除プログラムにより利用、処理または出力されるデータ、情報、信号値および変数値は、メモリ921、補助記憶装置922、または、プロセッサ910内のレジスタあるいはキャッシュメモリに記憶される。 Data, information, signal values, and variable values used, processed, or output by the deduplication program are stored in memory 921, auxiliary storage device 922, or registers or cache memory within processor 910.
 重複検査部210と重複排除部220の各部の「部」を「回路」、「工程」、「手順」、「処理」、あるいは「サーキットリー」に読み替えてもよい。重複排除プログラムは、重複検査処理と重複排除処理を、コンピュータに実行させる。重複検査処理と重複排除処理の「処理」を「プログラム」、「プログラムプロダクト」、「プログラムを記憶したコンピュータ読取可能な記憶媒体」、または「プログラムを記録したコンピュータ読取可能な記録媒体」に読み替えてもよい。 The "section" of each section of the duplication checking section 210 and the duplication elimination section 220 may be read as "circuit", "process", "procedure", "processing", or "circuitry". The deduplication program causes a computer to execute a duplication check process and a deduplication process. "Processing" in the duplication checking process and deduplication process should be read as "program," "program product," "computer-readable storage medium that stores the program," or "computer-readable storage medium that stores the program." Good too.
 重複排除方法は、重複排除システム500の各装置が重複排除プログラムを実行することにより行われる方法である。
 重複排除プログラムは、コンピュータ読取可能な記録媒体に格納されて提供されてもよい。また、重複排除プログラムは、プログラムプロダクトとして提供されてもよい。
The deduplication method is performed by each device of the deduplication system 500 executing a deduplication program.
The deduplication program may be provided stored in a computer-readable recording medium. Further, the deduplication program may be provided as a program product.
***動作の説明***
 次に、本実施の形態に係る重複排除システム500の動作について説明する。重複排除システム500の動作手順は、重複排除方法に相当する。また、重複排除システム500の動作を実現するプログラムは、重複排除プログラムに相当する。
***Operation explanation***
Next, the operation of the deduplication system 500 according to this embodiment will be explained. The operating procedure of the deduplication system 500 corresponds to a deduplication method. Further, a program that realizes the operation of the deduplication system 500 corresponds to a deduplication program.
 図5は、本実施の形態に係る重複排除システム500の動作を示すフロー図である。
 図6は、本実施の形態に係る重複排除システム500の動作の一例を示す模式図である。
 図7は、本実施の形態に係る重複排除システム500の動作の別例を示す模式図である。
 図8は、本実施の形態に係る重複排除システム500の動作の別例を示す模式図である。
FIG. 5 is a flow diagram showing the operation of the deduplication system 500 according to this embodiment.
FIG. 6 is a schematic diagram showing an example of the operation of the deduplication system 500 according to this embodiment.
FIG. 7 is a schematic diagram showing another example of the operation of the deduplication system 500 according to the present embodiment.
FIG. 8 is a schematic diagram showing another example of the operation of the deduplication system 500 according to this embodiment.
 図5において既存レイヤ21は、機器100に既に存在するレイヤである。具体的には、機器100に搭載されたイメージ11を形成する全てのレイヤの各々を既存レイヤ21と呼ぶ。
 図6の例では、レイヤAとレイヤBが既存レイヤ21である。レイヤAにはファイル1とファイル2が含まれ、レイヤBにはファイル3とファイル4が含まれる。
 なお、図6から図8の模式図では、説明を簡単にするために、機器100に搭載されたイメージ11の図示を省略している。
In FIG. 5, the existing layer 21 is a layer that already exists in the device 100. Specifically, each of all layers forming the image 11 mounted on the device 100 is referred to as an existing layer 21.
In the example of FIG. 6, layer A and layer B are existing layers 21. Layer A includes file 1 and file 2, and layer B includes file 3 and file 4.
In addition, in the schematic diagrams of FIGS. 6 to 8, illustration of the image 11 mounted on the device 100 is omitted to simplify the explanation.
 図5において既存ファイル情報22は、機器100に既に存在する全てのファイルのリストである。具体的には、機器100に搭載されているイメージ11を形成する全ての既存レイヤ21に含まれるファイルのリストである。
 図6の例では、レイヤAとレイヤBが既存レイヤ21である。よって、既存ファイル情報22には、ファイル1、ファイル2、ファイル3、およびファイル4がリストされている。
In FIG. 5, the existing file information 22 is a list of all files that already exist in the device 100. Specifically, it is a list of files included in all existing layers 21 that form the image 11 installed in the device 100.
In the example of FIG. 6, layer A and layer B are existing layers 21. Therefore, the existing file information 22 lists file 1, file 2, file 3, and file 4.
 レイヤ管理部110は、機器100に存在するレイヤを管理する。
 既存ファイル情報22は、レイヤ管理部110により生成され、サーバ装置200に送信される。
 サーバ装置200は、機器100から送信された既存ファイル情報22を記憶部230に記憶する。
The layer management unit 110 manages layers existing in the device 100.
Existing file information 22 is generated by layer management section 110 and transmitted to server device 200.
The server device 200 stores the existing file information 22 sent from the device 100 in the storage unit 230.
 図5において配信レイヤ31は、サーバ装置200が機器100に配信するレイヤである。つまり、配信レイヤ31は、サーバ装置200が機器100に配信しようとしているイメージ11を形成するレイヤのひとつである。
 図6の例では、レイヤCが配信レイヤ31である。レイヤCはファイル1とファイル5を含むレイヤである。
In FIG. 5, the distribution layer 31 is a layer that the server device 200 distributes to the device 100. In other words, the distribution layer 31 is one of the layers forming the image 11 that the server device 200 is trying to distribute to the device 100.
In the example of FIG. 6, layer C is the distribution layer 31. Layer C is a layer that includes file 1 and file 5.
<重複検査処理>
 ステップS101において、サーバ装置200の重複検査部210は、既存ファイル情報22に基づいて、配信レイヤ31に、機器100に搭載されたイメージ11に既に存在するファイルと重複する重複ファイル321が含まれるかを検査する。重複検査部210は、既存ファイル情報22と配信レイヤ31から重複ファイル321を自動検査する。
 具体的には、重複検査部210は、配信レイヤ31が既存ファイル情報22にリストされているファイルを含むか否かを判定する。配信レイヤ31が既存ファイル情報22にリストされているファイルを含む場合、重複検査部210はそのファイルを重複ファイル321とする。
<Duplicate inspection process>
In step S101, the duplication checking unit 210 of the server device 200 determines whether the distribution layer 31 contains a duplicate file 321 that duplicates a file that already exists in the image 11 installed in the device 100, based on the existing file information 22. Inspect. The duplication inspection unit 210 automatically inspects the existing file information 22 and the distribution layer 31 for duplicate files 321 .
Specifically, the duplication checking unit 210 determines whether the distribution layer 31 includes a file listed in the existing file information 22. If the distribution layer 31 includes a file listed in the existing file information 22, the duplication checking unit 210 determines the file as a duplicate file 321.
 図6の具体例で説明する。
 重複検査部210は、配信レイヤ31であるレイヤCが既存ファイル情報22にリストされているファイルを含むか否かを判定する。レイヤCは、既存ファイル情報22にリストされているファイル1を含んでいる。よって、重複検査部210は、ファイル1を重複ファイル321とする。
This will be explained using a specific example shown in FIG.
The duplication checking unit 210 determines whether layer C, which is the distribution layer 31, includes a file listed in the existing file information 22. Layer C includes file 1 listed in existing file information 22. Therefore, the duplication checking unit 210 determines the file 1 as a duplicate file 321.
<重複排除処理>
 ステップS102において、重複排除部220は、配信レイヤ31から重複ファイル321を排除した重複排除レイヤ32を生成する。重複排除部220は、重複検査の結果により配信レイヤ31から重複ファイル321を自動排除する。なお、配信レイヤ31から重複ファイル321を排除するとは、配信レイヤ31から重複ファイル321を削除することである。
 そして、ステップS103において、重複排除部220は、通信装置950を介して、重複排除レイヤ32を機器100に配信する。なお、重複排除レイヤ32には、どのファイルが排除されているかの情報が付与されている。
<Duplication processing>
In step S102, the deduplication unit 220 generates the deduplication layer 32 by eliminating the duplicate files 321 from the distribution layer 31. The deduplication unit 220 automatically eliminates duplicate files 321 from the distribution layer 31 based on the result of the duplication check. Note that eliminating the duplicate file 321 from the distribution layer 31 means deleting the duplicate file 321 from the distribution layer 31.
Then, in step S103, the deduplication unit 220 delivers the deduplication layer 32 to the device 100 via the communication device 950. Note that the deduplication layer 32 is given information on which files are excluded.
 図6の具体例で説明する。
 重複排除部220は、配信レイヤ31であるレイヤCから、重複ファイル321であるファイル1を排除した重複排除レイヤ32を生成する。そして、重複排除部220は、通信装置950を介して、レイヤCからファイル1を排除した重複排除レイヤ32を機器100に配信する。
This will be explained using a specific example shown in FIG.
The deduplication unit 220 generates a deduplication layer 32 by eliminating file 1, which is the duplicate file 321, from layer C, which is the distribution layer 31. Then, the deduplication unit 220 delivers the deduplication layer 32, which excludes the file 1 from the layer C, to the device 100 via the communication device 950.
<レイヤ管理処理>
 ステップS104において、機器100のレイヤ管理部110は、重複排除レイヤ32から配信レイヤ31を復元する。レイヤ管理部110は、既存レイヤ21と重複排除レイヤ32とを用いて、配信レイヤ31を復元する。
 レイヤ管理部110が配信レイヤ31を復元する方法には以下の3通りがある。
<Layer management processing>
In step S104, the layer management unit 110 of the device 100 restores the distribution layer 31 from the deduplication layer 32. The layer management unit 110 restores the distribution layer 31 using the existing layer 21 and the deduplication layer 32.
The layer management unit 110 can restore the distribution layer 31 in the following three ways.
<<配信レイヤ31の復元をするレイヤ管理処理の例1>
 レイヤ管理部110は、既存レイヤ21のいずれかに含まれる重複ファイル321を重複排除レイヤ32から参照させることにより、配信レイヤを復元する。既存レイヤ21のいずれかとは、機器100に搭載されたイメージ11を形成する複数のレイヤのいずれかである。
<<Example 1 of layer management processing for restoring the distribution layer 31>
The layer management unit 110 restores the distribution layer by referring to the duplicate file 321 included in any of the existing layers 21 from the deduplication layer 32. Any of the existing layers 21 is any of a plurality of layers that form the image 11 mounted on the device 100.
 例えば、レイヤ管理部110は、機器100に存在する既存レイヤ21と既存レイヤ21に含まれるファイルとの対応関係と、既存レイヤ間の参照関係とが設定されたレイヤ管理情報を管理する。
 レイヤ管理部110は、レイヤ管理情報において、重複排除レイヤ32で排除されている重複ファイル321を、既存レイヤ21への参照に自動置換する。
For example, the layer management unit 110 manages layer management information in which the correspondence between the existing layer 21 existing in the device 100 and the files included in the existing layer 21 and the reference relationship between the existing layers are set.
The layer management unit 110 automatically replaces the duplicate file 321 eliminated by the deduplication layer 32 with a reference to the existing layer 21 in the layer management information.
 図6の具体例では、レイヤ管理部110は、レイヤ管理情報において、レイヤCで排除されているファイル1を、既存レイヤ21であるレイヤAのファイル1への参照に置換している。 In the specific example of FIG. 6, the layer management unit 110 replaces file 1 excluded in layer C with a reference to file 1 in layer A, which is the existing layer 21, in the layer management information.
 レイヤ管理処理の例1によれば、重複ファイル321を転送しないので、転送量を削減することができる。また、異なるレイヤ間で重複ファイル321を共有することができるので機器100における格納領域を削減することができる。 According to the first example of layer management processing, since duplicate files 321 are not transferred, the amount of transfer can be reduced. Furthermore, since duplicate files 321 can be shared between different layers, the storage area in the device 100 can be reduced.
<<配信レイヤ31の復元をするレイヤ管理処理の例2>
 レイヤ管理部110は、既存レイヤ21のいずれかに含まれる重複ファイル321を重複排除レイヤ32にコピーすることにより、配信レイヤ31を復元する。このように、重複ファイル321を重複排除レイヤ32にコピーすることにより、機器100において配信レイヤ31が完全に復元される。
<<Example 2 of layer management processing for restoring the distribution layer 31>
The layer management unit 110 restores the distribution layer 31 by copying the duplicate file 321 included in any of the existing layers 21 to the deduplication layer 32. In this manner, by copying the duplicate file 321 to the deduplication layer 32, the distribution layer 31 is completely restored in the device 100.
 図7の具体例では、レイヤ管理部110は、既存レイヤ21であるレイヤAに含まれるファイル1を重複排除レイヤ32であるレイヤCにコピーする。これにより、配信レイヤ31が復元される。 In the specific example of FIG. 7, the layer management unit 110 copies file 1 included in layer A, which is the existing layer 21, to layer C, which is the deduplication layer 32. As a result, the distribution layer 31 is restored.
 レイヤ管理処理の例2によれば、重複ファイル321を転送しないので、転送量を削減することができる。また、転送後に重複ファイル321を重複排除レイヤ32にコピーし、配信レイヤ31を完全に復元することができるので、ファイルの参照の変更といった処理を削減することができる。 According to the second example of layer management processing, since duplicate files 321 are not transferred, the amount of transfer can be reduced. Furthermore, since the duplicate file 321 can be copied to the deduplication layer 32 after transfer and the distribution layer 31 can be completely restored, processing such as changing file references can be reduced.
<<配信レイヤ31の復元をするレイヤ管理処理の例3>
 レイヤ管理部110は、既存レイヤ21のいずれかに含まれる重複ファイル321を重複排除レイヤ32に移動することにより、配信レイヤ31を復元する。そして、レイヤ管理部110は、配信レイヤ31に含まれる重複ファイル321を重複ファイル321の移動元のレイヤから参照させる。
 つまり、レイヤ管理部110は、既存レイヤ21から重複ファイル321を排除して、重複ファイル321を重複排除レイヤ32に自動追加する。そして、レイヤ管理部110は、重複ファイル321の自動追加により復元した配信レイヤ31を、重複ファイル321の移動元の既存レイヤ21から参照するように、レイヤ管理情報を設定する。
<<Example 3 of layer management processing for restoring distribution layer 31>
The layer management unit 110 restores the distribution layer 31 by moving the duplicate file 321 included in any of the existing layers 21 to the deduplication layer 32. Then, the layer management unit 110 causes the duplicate file 321 included in the distribution layer 31 to be referenced from the layer from which the duplicate file 321 is moved.
That is, the layer management unit 110 eliminates the duplicate file 321 from the existing layer 21 and automatically adds the duplicate file 321 to the deduplication layer 32. Then, the layer management unit 110 sets the layer management information so that the distribution layer 31 restored by automatically adding the duplicate file 321 is referred to from the existing layer 21 from which the duplicate file 321 is moved.
 図8の具体例では、サーバ装置200は、機器100におけるレイヤAをレイヤA’に更新するために、機器100にレイヤA’を配信する。レイヤA’は、重複ファイル321であるファイル1が排除された重複排除レイヤ32として機器100に配信される。
 レイヤ管理部110は、レイヤAに含まれるファイル1を重複排除レイヤ32であるレイヤA’に移動する。これにより、配信レイヤ31であるレイヤA’が復元される。レイヤAからはファイル1が排除されている状態である。レイヤ管理部110は、レイヤA’に含まれるファイル1を、ファイル1の移動元のレイヤAから参照するように、レイヤ管理情報を設定する。
In the specific example of FIG. 8, the server device 200 distributes layer A' to the device 100 in order to update layer A in the device 100 to layer A'. Layer A' is delivered to the device 100 as a deduplication layer 32 in which file 1, which is a duplicate file 321, is eliminated.
The layer management unit 110 moves file 1 included in layer A to layer A′, which is the deduplication layer 32. As a result, layer A', which is the distribution layer 31, is restored. File 1 is excluded from layer A. The layer management unit 110 sets the layer management information so that the file 1 included in the layer A' is referred to from the layer A from which the file 1 is moved.
 レイヤ管理処理の例3によれば、重複ファイル321を転送しないので、転送量を削減することができる。また、転送後に重複ファイル321を重複排除レイヤ32に移動し、移動元のレイヤから復元した配信レイヤ31を参照させる。よって、移動元のレイヤが配信レイヤ31に更新された後に、古いレイヤが削除された場合でも、参照関係を変更しないで済むという効果がある。
 ロールバックあるいはB/Gアップデートのため、更新時に旧レイヤを保持することがある。しかし、旧レイヤは将来的に削除される可能性が高い。一時的に残る旧レイヤのファイルを他イメージのファイルが参照すると、旧レイヤ削除時の影響範囲が大きくなる。そこで、レイヤ管理処理の例3によれば、更新時は新しいレイヤのファイルが実体として残るように操作することで、機器100に対する影響範囲を小さくすることができる。
According to the third example of layer management processing, since the duplicate file 321 is not transferred, the amount of transfer can be reduced. Further, after the transfer, the duplicate file 321 is moved to the deduplication layer 32, and the distribution layer 31 restored from the source layer is referred to. Therefore, even if an old layer is deleted after the movement source layer is updated to the distribution layer 31, there is an advantage that the reference relationship does not need to be changed.
Old layers may be retained during update for rollback or B/G update. However, the old layer is likely to be deleted in the future. If files of other images refer to files of the old layer that remain temporarily, the scope of influence when deleting the old layer increases. Therefore, according to the third example of layer management processing, the range of influence on the device 100 can be reduced by performing an operation such that the file of the new layer remains as an entity when updating.
 ***他の構成***
<変形例1>
 本実施の形態では、既存ファイル情報22は、レイヤ管理部110により生成され、サーバ装置200に送信される。しかし、サーバ装置200が既存ファイル情報22を作成してもよい。
 サーバ装置200は、機器100にイメージ11をレイヤ単位で配信するので、レイヤとファイルの対応関係、および、どの機器100にどのレイヤを配信したかが記録されている。よって、サーバ装置200は、機器100に存在するファイルの情報である既存ファイル情報22を、機器ごとに作成することができる。
***Other configurations***
<Modification 1>
In this embodiment, existing file information 22 is generated by layer management section 110 and sent to server device 200. However, the server device 200 may create the existing file information 22.
Since the server device 200 distributes the image 11 layer by layer to the device 100, the correspondence between layers and files and which layer was distributed to which device 100 are recorded. Therefore, the server device 200 can create existing file information 22, which is information about files existing in the device 100, for each device.
<変形例2>
 本実施の形態では、重複排除システム500の各装置の機能がソフトウェアで実現される。変形例として、重複排除システム500の各装置の機能がハードウェアで実現されてもよい。
 具体的には、重複排除システム500の各装置は、プロセッサ910に替えて電子回路909を備える。
<Modification 2>
In this embodiment, the functions of each device in the deduplication system 500 are realized by software. As a modification, the functions of each device of the deduplication system 500 may be implemented in hardware.
Specifically, each device of the deduplication system 500 includes an electronic circuit 909 in place of the processor 910.
 図9は、本実施の形態の変形例2に係る機器100の構成例を示す図である。
 図10は、本実施の形態の変形例2に係るサーバ装置200の構成例を示す図である。
 以下の説明では、図10のサーバ装置200を例に説明する。機器100の説明についても同様である。
FIG. 9 is a diagram illustrating a configuration example of a device 100 according to a second modification of the present embodiment.
FIG. 10 is a diagram illustrating a configuration example of a server device 200 according to a second modification of the present embodiment.
In the following description, the server device 200 in FIG. 10 will be used as an example. The same applies to the description of the device 100.
 電子回路909は、重複検査部210と重複排除部220の機能を実現する専用の電子回路である。電子回路909は、具体的には、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA、ASIC、または、FPGAである。GAは、Gate Arrayの略語である。ASICは、Application Specific Integrated Circuitの略語である。FPGAは、Field-Programmable Gate Arrayの略語である。 The electronic circuit 909 is a dedicated electronic circuit that realizes the functions of the duplication checking section 210 and the duplication elimination section 220. Electronic circuit 909 is specifically a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, a logic IC, a GA, an ASIC, or an FPGA. GA is an abbreviation for Gate Array. ASIC is an abbreviation for Application Specific Integrated Circuit. FPGA is an abbreviation for Field-Programmable Gate Array.
 重複検査部210と重複排除部220の機能は、1つの電子回路で実現されてもよいし、複数の電子回路に分散して実現されてもよい。 The functions of the duplication checking section 210 and the deduplication section 220 may be realized by one electronic circuit, or may be realized by being distributed among multiple electronic circuits.
 別の変形例として、重複検査部210と重複排除部220の一部の機能が電子回路で実現され、残りの機能がソフトウェアで実現されてもよい。また、重複検査部210と重複排除部220の一部またはすべての機能がファームウェアで実現されてもよい。 As another modification, part of the functions of the duplication checking section 210 and the deduplication section 220 may be realized by an electronic circuit, and the remaining functions may be realized by software. Furthermore, some or all of the functions of the duplication checking section 210 and the duplication elimination section 220 may be realized by firmware.
 プロセッサと電子回路の各々は、プロセッシングサーキットリとも呼ばれる。つまり、重複排除システム500の各装置の機能は、プロセッシングサーキットリにより実現される。 Each of the processor and electronic circuit is also referred to as processing circuitry. In other words, the functions of each device in the deduplication system 500 are realized by processing circuitry.
***本実施の形態の効果の説明***
 以上のように、本実施の形態に係る重複排除システム500によれば、異なるレイヤにおける同一ファイルの重複を排除することができる。
 本実施の形態に係る重複排除システム500では、重複ファイルを排除してからレイヤを転送するので、転送量を削減することができる。
***Explanation of effects of this embodiment***
As described above, the duplication elimination system 500 according to the present embodiment can eliminate duplication of the same file in different layers.
In the deduplication system 500 according to this embodiment, since layers are transferred after eliminating duplicate files, the amount of transfer can be reduced.
 また、本実施の形態に係る重複排除システム500におけるレイヤ管理処理の例1によれば、同一機器上の異なるレイヤ間で重複ファイルを共有することができるので機器における格納領域を削減することができる。 Furthermore, according to the first example of layer management processing in the deduplication system 500 according to the present embodiment, duplicate files can be shared between different layers on the same device, so the storage area in the device can be reduced. .
 また、本実施の形態に係る重複排除システム500におけるレイヤ管理処理の例2によれば、転送後に重複ファイルを重複排除レイヤにコピーし、配信レイヤを完全に復元することができる。よって、ファイルの参照の変更といった処理を削減することができ、機器においてイメージを扱いやすくできる。 Furthermore, according to the second example of layer management processing in the deduplication system 500 according to the present embodiment, it is possible to copy duplicate files to the deduplication layer after transfer and completely restore the distribution layer. Therefore, processing such as changing file references can be reduced, making it easier to handle images in devices.
 また、本実施の形態に係る重複排除システム500におけるレイヤ管理処理の例3によれば、転送後に重複ファイルを重複排除レイヤに移動し、移動元のレイヤから復元した配信レイヤを参照させる。よって、移動元のレイヤが配信レイヤに更新された後に、古いレイヤが削除された場合でも、参照関係を変更しないで済むという効果がある。 Furthermore, according to example 3 of layer management processing in the deduplication system 500 according to the present embodiment, the duplicate file is moved to the deduplication layer after transfer, and the distribution layer restored from the source layer is referred to. Therefore, even if the old layer is deleted after the source layer is updated to the distribution layer, there is no need to change the reference relationship.
 実施の形態2.
 本実施の形態では、実施の形態1と異なる点あるいは追加する点について説明する。
 実施の形態1では機器上の既存ファイル全体で重複を検査していた。一方、本実施の形態では、重複検査の単位をレイヤの組み合わせごとに実施する態様について説明する。
Embodiment 2.
In this embodiment, points different from or added to Embodiment 1 will be explained.
In the first embodiment, all existing files on the device are checked for duplication. On the other hand, in this embodiment, an aspect will be described in which the unit of duplicate inspection is performed for each combination of layers.
 図11は、本実施の形態に係る機器100の構成例を示す図である。
 図12は、本実施の形態に係るサーバ装置200の構成例を示す図である。
 本実施の形態では、機器100およびサーバ装置200は、実施の形態1で説明した構成に加えて、既存レイヤ情報23を備える。また、サーバ装置200は、さらに、レイヤ間重複テーブル24を備える。
 なお、本実施の形態では、機器100およびサーバ装置200に、既存ファイル情報22は無くてもよい。
FIG. 11 is a diagram showing a configuration example of device 100 according to this embodiment.
FIG. 12 is a diagram showing a configuration example of server device 200 according to this embodiment.
In this embodiment, device 100 and server device 200 include existing layer information 23 in addition to the configuration described in Embodiment 1. Furthermore, the server device 200 further includes an inter-layer duplication table 24.
Note that in this embodiment, the existing file information 22 may not exist in the device 100 and the server device 200.
 既存レイヤ情報23は、機器100に既に存在するレイヤのリストである。具体的には、既存レイヤ情報23は、機器100に搭載されたイメージ11に存在するレイヤを識別する識別子のリストである。この識別子は、ダイジェストと呼ばれ、イメージ11に存在するレイヤの各々のハッシュ値である。例えば、既存レイヤ情報23は、レイヤ管理部110により生成され、サーバ装置200に送信されてもよい。あるいは、既存レイヤ情報23は、サーバ装置200側で生成されてもよい。 The existing layer information 23 is a list of layers that already exist in the device 100. Specifically, the existing layer information 23 is a list of identifiers that identify layers existing in the image 11 installed in the device 100. This identifier is called a digest and is a hash value for each layer present in the image 11. For example, the existing layer information 23 may be generated by the layer management unit 110 and transmitted to the server device 200. Alternatively, the existing layer information 23 may be generated on the server device 200 side.
 図13は、本実施の形態に係るレイヤ間重複テーブル24の構成例を示す図である。
 レイヤ間重複テーブル24は、機器100に配信済みのレイヤの組み合わせごとのファイルの重複関係を記録したテーブルである。
 例えば、図13において、レイヤAとレイヤDの組み合わせでは、ファイル1が重複していることを示している。また、レイヤBとレイヤDの組み合わせでは、ファイル1とファイル3が重複していることを示している。
FIG. 13 is a diagram showing a configuration example of the inter-layer duplication table 24 according to this embodiment.
The inter-layer duplication table 24 is a table that records the duplication relationship of files for each combination of layers that have been delivered to the device 100.
For example, in FIG. 13, the combination of layer A and layer D indicates that file 1 is duplicated. Furthermore, the combination of layer B and layer D indicates that file 1 and file 3 overlap.
 図14は、本実施の形態に係る重複排除システム500の動作を示すフロー図である。
 図15は、本実施の形態に係る重複排除システム500の動作の一例を示す模式図である。
FIG. 14 is a flow diagram showing the operation of the deduplication system 500 according to this embodiment.
FIG. 15 is a schematic diagram showing an example of the operation of the deduplication system 500 according to this embodiment.
 ステップS101aにおいて、重複検査部210は、レイヤ間重複テーブル24に基づいて、配信レイヤ31についてレイヤ間重複テーブル24に記録されているかを判定する。
 配信レイヤ31が前記レイヤ間重複テーブルに記録されていれば、重複検査部210は、レイヤ間重複テーブル24に基づいて、配信レイヤ31に重複ファイルかあるかを検査する。なお、重複検査部210は、既存レイヤ情報23とレイヤ間重複テーブル24とに基づいて、配信レイヤ31に重複ファイルかあるかを検査してもよい。
In step S<b>101 a , the duplication checking unit 210 determines whether the distribution layer 31 is recorded in the inter-layer duplication table 24 based on the inter-layer duplication table 24 .
If the distribution layer 31 is recorded in the inter-layer duplication table, the duplication checking unit 210 checks whether there is a duplicate file in the distribution layer 31 based on the inter-layer duplication table 24. Note that the duplication checking unit 210 may check whether there is a duplicate file in the distribution layer 31 based on the existing layer information 23 and the inter-layer duplication table 24.
 配信レイヤ31がレイヤ間重複テーブルに記録されていなければ、重複検査部210は、既存レイヤ情報23に基づいて、既存レイヤ21と配信レイヤ31との組み合わせごとに重複ファイルがあるかを検査する。サーバ装置200はレイヤそのものの配信をするため、どのレイヤにどのファイルが含まれているかという情報をもっている。よって、重複検査部210は、既存レイヤ情報23のみに基づいて、既存レイヤ21と配信レイヤ31との組み合わせごとに重複ファイルがあるかを検査することができる。
 ステップS101bにおいて、重複検査部210は、既存レイヤ21と配信レイヤ31との組み合わせごとに重複ファイルがあるかの検査結果をレイヤ間重複テーブル24に記録する。
 ステップS102以降の処理については実施の形態1と同様である。
If the distribution layer 31 is not recorded in the inter-layer duplication table, the duplication checking unit 210 checks whether there is a duplicate file for each combination of the existing layer 21 and the distribution layer 31 based on the existing layer information 23. Since the server device 200 distributes the layers themselves, it has information on which files are included in which layers. Therefore, the duplication checking unit 210 can check whether there is a duplicate file for each combination of the existing layer 21 and the distribution layer 31 based only on the existing layer information 23.
In step S<b>101 b , the duplication checking unit 210 records, in the inter-layer duplication table 24 , a check result as to whether there is a duplicate file for each combination of the existing layer 21 and the distribution layer 31 .
The processing after step S102 is the same as in the first embodiment.
***本実施の形態の効果の説明***
 以上のように、本実施の形態に係る重複排除システム500によれば、レイヤ間重複テーブルを用いてファイルの重複検査をすることができるので、重複検査の処理負荷を軽減することができる。
***Explanation of effects of this embodiment***
As described above, according to the deduplication system 500 according to the present embodiment, file duplication inspection can be performed using the inter-layer duplication table, so that the processing load of duplication inspection can be reduced.
 以上の実施の形態1,2では、重複排除システムの各装置の各部を独立した機能ブロックとして説明した。しかし、重複排除システムの各装置の構成は、上述した実施の形態のような構成でなくてもよい。重複排除システムの各装置の機能ブロックは、上述した実施の形態で説明した機能を実現することができれば、どのような構成でもよい。また、重複排除システムの各装置は、1つの装置でなく、複数の装置から構成されたシステムでもよい。
 また、実施の形態1,2のうち、複数の部分を組み合わせて実施しても構わない。あるいは、これらの実施の形態のうち、1つの部分を実施しても構わない。その他、これらの実施の形態を、全体としてあるいは部分的に、どのように組み合わせて実施しても構わない。
 すなわち、実施の形態1,2では、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
In the first and second embodiments above, each part of each device of the deduplication system has been described as an independent functional block. However, the configuration of each device in the deduplication system may not be the same as in the embodiments described above. The functional blocks of each device in the deduplication system may have any configuration as long as they can implement the functions described in the above embodiments. Further, each device in the deduplication system may not be one device, but may be a system composed of a plurality of devices.
Further, a plurality of parts of Embodiments 1 and 2 may be combined and implemented. Alternatively, one part of these embodiments may be implemented. In addition, these embodiments may be implemented in any combination, in whole or in part.
That is, in Embodiments 1 and 2, it is possible to freely combine each embodiment, to modify any component of each embodiment, or to omit any component in each embodiment.
 なお、上述した実施の形態は、本質的に好ましい例示であって、本開示の範囲、本開示の適用物の範囲、および本開示の用途の範囲を制限することを意図するものではない。上述した実施の形態は、必要に応じて種々の変更が可能である。例えば、フロー図あるいはシーケンス図を用いて説明した手順は、適宜に変更してもよい。 Note that the embodiments described above are essentially preferable examples, and are not intended to limit the scope of the present disclosure, the scope of applications of the present disclosure, and the scope of uses of the present disclosure. The embodiments described above can be modified in various ways as necessary. For example, the procedures described using flow diagrams or sequence diagrams may be modified as appropriate.
 10 ソフトウェアコンテナ、11 イメージ、12 レイヤ、121 識別子、21 既存レイヤ、22 既存ファイル情報、23 既存レイヤ情報、24 レイヤ間重複テーブル、31 配信レイヤ、32 重複排除レイヤ、321 重複ファイル、100 機器、110 レイヤ管理部、120,230 記憶部、200 サーバ装置、210 重複検査部、220 重複排除部、500 重複排除システム、909 電子回路、910 プロセッサ、921 メモリ、922 補助記憶装置、930 入力インタフェース、940 出力インタフェース、950 通信装置。 10 Software container, 11 Image, 12 Layer, 121 Identifier, 21 Existing layer, 22 Existing file information, 23 Existing layer information, 24 Inter-layer duplication table, 31 Distribution layer, 32 Deduplication layer, 321 Duplicate file, 100 Device, 110 Layer management unit, 120, 230 storage unit, 200 server device, 210 duplication inspection unit, 220 deduplication unit, 500 deduplication system, 909 electronic circuit, 910 processor, 921 memory, 922 auxiliary storage device, 930 input interface, 940 output Interface, 950 communication device.

Claims (11)

  1.  複数のレイヤから形成され、ソフトウェアコンテナに用いられるイメージであって、前記複数のレイヤの各レイヤが複数のファイルを含むイメージを搭載する機器と、前記機器にレイヤを配信するサーバ装置とを備える重複排除システムにおいて、
     前記サーバ装置は、
     前記イメージに存在するファイルの情報である既存ファイル情報に基づいて、前記機器に配信するレイヤである配信レイヤに、前記イメージに存在するファイルと重複する重複ファイルが含まれるかを検査する重複検査部と、
     前記配信レイヤから前記重複ファイルを排除した重複排除レイヤを生成し、前記重複排除レイヤを前記機器に配信する重複排除部と
    を備え、
     前記機器は、
     前記重複排除レイヤから前記配信レイヤを復元するレイヤ管理部を備える重複排除システム。
    An image formed from a plurality of layers and used as a software container, the duplication comprising a device loading an image in which each layer of the plurality of layers includes a plurality of files, and a server device distributing the layer to the device. In the exclusion system,
    The server device includes:
    a duplication inspection unit that inspects whether a distribution layer that is a layer that is distributed to the device includes a duplicate file that overlaps with a file that exists in the image, based on existing file information that is information on files that exist in the image; and,
    a deduplication unit that generates a deduplication layer by removing the duplicate files from the distribution layer and distributes the deduplication layer to the device,
    The equipment includes:
    A deduplication system comprising a layer management unit that restores the distribution layer from the deduplication layer.
  2.  前記レイヤ管理部は、
     前記イメージを形成する前記複数のレイヤのいずれかに含まれる前記重複ファイルを前記重複排除レイヤから参照させることにより、前記配信レイヤを復元する請求項1に記載の重複排除システム。
    The layer management section includes:
    The deduplication system according to claim 1, wherein the distribution layer is restored by referencing the duplicate file included in any of the plurality of layers forming the image from the deduplication layer.
  3.  前記レイヤ管理部は、
     前記イメージを形成する前記複数のレイヤのいずれかに含まれる前記重複ファイルを前記重複排除レイヤにコピーすることにより、前記配信レイヤを復元する請求項1に記載の重複排除システム。
    The layer management section includes:
    The deduplication system according to claim 1, wherein the distribution layer is restored by copying the duplicate file included in any of the plurality of layers forming the image to the deduplication layer.
  4.  前記レイヤ管理部は、
     前記イメージを形成する前記複数のレイヤのいずれかに含まれる前記重複ファイルを前記重複排除レイヤに移動することにより、前記配信レイヤを復元し、前記配信レイヤに含まれる前記重複ファイルを前記重複ファイルの移動元のレイヤから参照させる請求項1に記載の重複排除システム。
    The layer management section includes:
    The distribution layer is restored by moving the duplicate file included in any of the plurality of layers forming the image to the deduplication layer, and the duplicate file included in the distribution layer is moved to the deduplication layer. The deduplication system according to claim 1, wherein the deduplication system is referred to from a source layer.
  5.  前記重複排除システムは、
     前記機器に配信済みのレイヤの組み合わせごとのファイルの重複関係が記録されたレイヤ間重複テーブルを備え、
     前記重複検査部は、
     前記レイヤ間重複テーブルに基づいて、前記配信レイヤについて前記レイヤ間重複テーブルに記録されているかを判定し、前記配信レイヤが前記レイヤ間重複テーブルに記録されていれば、前記レイヤ間重複テーブルに基づいて、前記配信レイヤに重複ファイルかあるかを検査する請求項1から請求項4のいずれか1項に記載の重複排除システム。
    The deduplication system includes:
    comprising an inter-layer duplication table in which file duplication relationships for each combination of layers already distributed to the device are recorded;
    The duplication inspection department is
    It is determined whether the distribution layer is recorded in the inter-layer duplication table based on the inter-layer duplication table, and if the distribution layer is recorded in the inter-layer duplication table, the distribution layer is determined based on the inter-layer duplication table. The deduplication system according to any one of claims 1 to 4, wherein the deduplication system checks whether there are duplicate files in the distribution layer.
  6.  前記重複検査部は、
     前記配信レイヤが前記レイヤ間重複テーブルに記録されていなければ、前記イメージに存在するレイヤの情報である既存レイヤ情報に基づいて、前記既存レイヤと前記配信レイヤとの組み合わせごとに重複ファイルがあるかを検査し、前記レイヤ間重複テーブルに記録する請求項5に記載の重複排除システム。
    The duplication inspection department is
    If the distribution layer is not recorded in the inter-layer duplication table, check whether there is a duplicate file for each combination of the existing layer and the distribution layer, based on existing layer information that is information on layers existing in the image. 6. The deduplication system according to claim 5, wherein the deduplication system examines and records in the inter-layer duplication table.
  7.  前記既存レイヤ情報は、
     前記イメージに存在するレイヤを識別する識別子のリストであり、
     前記識別子は、前記イメージに存在するレイヤの各々のハッシュ値である請求項6に記載の重複排除システム。
    The existing layer information is
    a list of identifiers identifying layers present in the image;
    7. The deduplication system according to claim 6, wherein the identifier is a hash value of each layer present in the image.
  8.  複数のレイヤから形成され、ソフトウェアコンテナに用いられるイメージであって、前記複数のレイヤの各レイヤが複数のファイルを含むイメージを搭載する機器であって、前記機器にレイヤを配信するサーバ装置と通信する機器において、
     前記サーバ装置は、
     前記イメージに存在するファイルの情報である既存ファイル情報に基づいて、前記機器に配信するレイヤである配信レイヤに、前記イメージに存在するファイルと重複する重複ファイルが含まれるかを検査する重複検査部と、
     前記配信レイヤから前記重複ファイルを排除した重複排除レイヤを生成し、前記重複排除レイヤを前記機器に配信する重複排除部と
    を備え、
     前記機器は、
     前記重複排除レイヤから前記配信レイヤを復元するレイヤ管理部を備える機器。
    A device installed with an image formed from a plurality of layers and used as a software container, each layer of the plurality of layers including a plurality of files, the device communicating with a server device that distributes the layer to the device. In equipment that
    The server device includes:
    a duplication inspection unit that inspects whether a distribution layer that is a layer that is distributed to the device includes a duplicate file that overlaps with a file that exists in the image, based on existing file information that is information on files that exist in the image; and,
    a deduplication unit that generates a deduplication layer by removing the duplicate files from the distribution layer and distributes the deduplication layer to the device,
    The equipment includes:
    A device comprising a layer management unit that restores the distribution layer from the deduplication layer.
  9.  複数のレイヤから形成され、ソフトウェアコンテナに用いられるイメージであって、前記複数のレイヤの各レイヤが複数のファイルを含むイメージを搭載する機器に、レイヤを配信するサーバ装置において、
     前記サーバ装置は、
     前記イメージに存在するファイルの情報である既存ファイル情報に基づいて、前記機器に配信するレイヤである配信レイヤに、前記イメージに存在するファイルと重複する重複ファイルが含まれるかを検査する重複検査部と、
     前記配信レイヤから前記重複ファイルを排除した重複排除レイヤを生成し、前記重複排除レイヤを前記機器に配信する重複排除部と
    を備えるサーバ装置。
    In a server device that distributes a layer to a device equipped with an image formed from a plurality of layers and used as a software container, each layer of the plurality of layers including a plurality of files,
    The server device includes:
    a duplication inspection unit that inspects whether a distribution layer that is a layer that is distributed to the device includes a duplicate file that overlaps with a file that exists in the image, based on existing file information that is information on files that exist in the image; and,
    A server device comprising: a deduplication unit that generates a deduplication layer by eliminating the duplicate files from the distribution layer, and distributes the deduplication layer to the device.
  10.  複数のレイヤから形成され、ソフトウェアコンテナに用いられるイメージであって、前記複数のレイヤの各レイヤが複数のファイルを含むイメージを搭載する機器と、前記機器にレイヤを配信するサーバ装置とを備える重複排除システムに用いられる重複排除方法において、
     前記サーバ装置は、
     前記イメージに存在するファイルの情報である既存ファイル情報に基づいて、前記機器に配信するレイヤである配信レイヤに、前記イメージに存在するファイルと重複する重複ファイルが含まれるかを検査し、
     前記配信レイヤから前記重複ファイルを排除した重複排除レイヤを生成し、前記重複排除レイヤを前記機器に配信し、
     前記機器は、
     前記重複排除レイヤから前記配信レイヤを復元する重複排除方法。
    An image formed from a plurality of layers and used as a software container, the duplication comprising a device loading an image in which each layer of the plurality of layers includes a plurality of files, and a server device distributing the layer to the device. In the deduplication method used in the deduplication system,
    The server device includes:
    Based on existing file information that is information on files that exist in the image, check whether a distribution layer that is a layer that is distributed to the device includes a duplicate file that overlaps with a file that exists in the image;
    generating a deduplication layer by removing the duplicate files from the distribution layer, delivering the deduplication layer to the device;
    The equipment includes:
    A deduplication method for restoring the distribution layer from the deduplication layer.
  11.  複数のレイヤから形成され、ソフトウェアコンテナに用いられるイメージであって、前記複数のレイヤの各レイヤが複数のファイルを含むイメージを搭載する機器と、前記機器にレイヤを配信するサーバ装置とを備える重複排除システムに用いられる重複排除プログラムにおいて、
     前記イメージに存在するファイルの情報である既存ファイル情報に基づいて、前記機器に配信するレイヤである配信レイヤに、前記イメージに存在するファイルと重複する重複ファイルが含まれるかを検査する重複検査処理と、
     前記配信レイヤから前記重複ファイルを排除した重複排除レイヤを生成し、前記重複排除レイヤを前記機器に配信する重複排除処理と、
     前記機器に配信された前記重複排除レイヤから前記配信レイヤを復元するレイヤ管理処理と
    をコンピュータに実行させる重複排除プログラム。
    An image formed from a plurality of layers and used as a software container, the duplication comprising a device loading an image in which each layer of the plurality of layers includes a plurality of files, and a server device distributing the layer to the device. In the deduplication program used in the elimination system,
    Duplication inspection processing that checks whether a distribution layer that is a layer that is distributed to the device contains a duplicate file that overlaps with a file that exists in the image, based on existing file information that is information on files that exist in the image. and,
    a deduplication process that generates a deduplication layer by removing the duplicate files from the distribution layer, and distributes the deduplication layer to the device;
    A deduplication program that causes a computer to execute layer management processing for restoring the distribution layer from the deduplication layer distributed to the device.
PCT/JP2022/017700 2022-04-13 2022-04-13 Duplicate-removal system, apparatus, server device, duplicate-removal method, and duplicate-removal program WO2023199427A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2022/017700 WO2023199427A1 (en) 2022-04-13 2022-04-13 Duplicate-removal system, apparatus, server device, duplicate-removal method, and duplicate-removal program
JP2022555950A JP7274057B1 (en) 2022-04-13 2022-04-13 Deduplication system, server device, deduplication method, and deduplication program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/017700 WO2023199427A1 (en) 2022-04-13 2022-04-13 Duplicate-removal system, apparatus, server device, duplicate-removal method, and duplicate-removal program

Publications (1)

Publication Number Publication Date
WO2023199427A1 true WO2023199427A1 (en) 2023-10-19

Family

ID=86321973

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/017700 WO2023199427A1 (en) 2022-04-13 2022-04-13 Duplicate-removal system, apparatus, server device, duplicate-removal method, and duplicate-removal program

Country Status (2)

Country Link
JP (1) JP7274057B1 (en)
WO (1) WO2023199427A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170264684A1 (en) * 2016-03-10 2017-09-14 Vmware, Inc. Container runtime image management across the cloud
JP2021189624A (en) * 2020-05-27 2021-12-13 株式会社日立製作所 Distributed storage device and data management method therefor

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104254853A (en) * 2012-04-25 2014-12-31 株式会社日立制作所 File storage system and file cloning method
JP6749094B2 (en) * 2015-12-18 2020-09-02 エヌ・ティ・ティ・コミュニケーションズ株式会社 Container accommodation device, container creation method, and program
JP6568653B2 (en) * 2016-06-03 2019-08-28 株式会社日立製作所 Storage system management device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170264684A1 (en) * 2016-03-10 2017-09-14 Vmware, Inc. Container runtime image management across the cloud
JP2021189624A (en) * 2020-05-27 2021-12-13 株式会社日立製作所 Distributed storage device and data management method therefor

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HIROFUMI SATO, PROCEEDINGS OF THE CSS2018 COMPUTER SECURITY SYMPOSIUM 2018: "Using OverlayFS to prevent Denial of Service attacks on containers", KEN MITSURAI, vol. 2018, no. 2, 15 October 2018 (2018-10-15), pages 38 - 45, XP093098802 *

Also Published As

Publication number Publication date
JP7274057B1 (en) 2023-05-15
JPWO2023199427A1 (en) 2023-10-19

Similar Documents

Publication Publication Date Title
US9870151B1 (en) Backup time deduplication of common virtual disks from virtual machine backup images
US10162722B2 (en) Virtual machine aware replication method and system
US8332612B1 (en) Systems and methods for using thin provisioning to reclaim space identified by data reduction processes
US8140821B1 (en) Efficient read/write algorithms and associated mapping for block-level data reduction processes
US8732121B1 (en) Method and system for backup to a hidden backup storage
US8880797B2 (en) De-duplication in a virtualized server environment
US10831613B2 (en) Replicating a source data set to a target data store
US8904137B1 (en) Deduplication system space recycling through inode manipulation
US10713361B2 (en) Anti-malware protection using volume filters
US11314420B2 (en) Data replica control
JP2013539119A (en) Off-road read and write
US8578064B2 (en) Interception and management of I/O operations on portable storage devices
US20100070724A1 (en) Storage system and method for operating storage system
US10037334B1 (en) Memory management and sharing host OS files for Virtual Machines using execution-in-place
US20140337594A1 (en) Systems and methods for collapsing a derivative version of a primary storage volume
US20200364117A1 (en) System and method for disaster recovery using application streaming
US20070074065A1 (en) Computer, method of controlling memory dump, mechanism of controlling dump, and memory dump program
US9690837B1 (en) Techniques for preserving redundant copies of metadata in a data storage system employing de-duplication
US10324807B1 (en) Fast native file system creation for backup files on deduplication systems
WO2023199427A1 (en) Duplicate-removal system, apparatus, server device, duplicate-removal method, and duplicate-removal program
US9665582B2 (en) Software, systems, and methods for enhanced replication within virtual machine environments
JP6033420B2 (en) Storage system and storage system control method
US20190065067A1 (en) Backup files to a disk image
US11640339B2 (en) Creating a backup data set
CN111208947A (en) Data migration method and device, physical machine, cloud platform and computer storage medium

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 2022555950

Country of ref document: JP

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

Ref document number: 22937406

Country of ref document: EP

Kind code of ref document: A1