JP6924952B2 - Computer system and restore method - Google Patents

Computer system and restore method Download PDF

Info

Publication number
JP6924952B2
JP6924952B2 JP2017024082A JP2017024082A JP6924952B2 JP 6924952 B2 JP6924952 B2 JP 6924952B2 JP 2017024082 A JP2017024082 A JP 2017024082A JP 2017024082 A JP2017024082 A JP 2017024082A JP 6924952 B2 JP6924952 B2 JP 6924952B2
Authority
JP
Japan
Prior art keywords
chunks
parallelism
data
network
file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017024082A
Other languages
Japanese (ja)
Other versions
JP2018132814A (en
Inventor
仁志 亀井
仁志 亀井
隆喜 中村
隆喜 中村
村岡 裕明
裕明 村岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tohoku University NUC
Hitachi Ltd
Original Assignee
Tohoku University NUC
Hitachi Ltd
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 Tohoku University NUC, Hitachi Ltd filed Critical Tohoku University NUC
Priority to JP2017024082A priority Critical patent/JP6924952B2/en
Publication of JP2018132814A publication Critical patent/JP2018132814A/en
Application granted granted Critical
Publication of JP6924952B2 publication Critical patent/JP6924952B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、概して、データのリストアに関する。 The present invention generally relates to data restoration.

地震などの広域災害によってファイルサーバが壊れ、ファイルサーバへ格納されているファイルが消失することがある。そのような広域災害を想定し、耐災害性を向上させるため、一般に、ディザスタリカバリ、すなわち、ネットワークを通してファイルを遠隔地へ複製(バックアップ)しておき、災害によりファイルサーバが壊れてファイルが失われた場合、再構築したファイルサーバへ、ネットワークを通して、バックアップされたファイルを逆複製(リストア)することが行われる。リストアを高速に実施できれば、災害後のファイルサーバの利用開始までの待ち時間を短縮でき、ファイルサーバのデータを早期に利用できるようになる。 A wide area disaster such as an earthquake may damage the file server and cause the files stored in the file server to be lost. In order to anticipate such a wide area disaster and improve disaster resistance, in general, disaster recovery, that is, copying (backing up) files to a remote location through a network, the file server is damaged and files are lost due to the disaster. In that case, the backed up files are reversely duplicated (restored) to the reconstructed file server via the network. If the restoration can be performed at high speed, the waiting time until the start of using the file server after a disaster can be shortened, and the data of the file server can be used at an early stage.

リストアを高速に実施するための1つの方法として、特許文献1に開示の方法が考えられる。特許文献1の開示するファイル転送方法は、ファイル転送前に、1つのファイルを固定サイズの断片に分割する。 As one method for performing restoration at high speed, the method disclosed in Patent Document 1 can be considered. The file transfer method disclosed in Patent Document 1 divides one file into fixed-size fragments before file transfer.

US6,085,251US6,085,251

災害後のネットワークは不安定であり、ネットワークの遅延(典型的にはネットワーク遅延時間)が変化する可能性がある(例えば、災害が発生するとネットワークが輻輳し、ネットワークの遅延が大きくなることがある)。これによって、リストアセッションあたりの最大スループットが変化する。 Post-disaster networks are unstable and network delays (typically network delay times) can change (for example, in the event of a disaster, the network may become congested and the network delays may increase. ). This changes the maximum throughput per restore session.

さらに、遅延によって、最大スループットに達するまでの時間が異なる。また、この間に送信されるファイルのデータ量が異なる。 In addition, delays vary in the time it takes to reach maximum throughput. In addition, the amount of data in the files transmitted during this period is different.

以上のように、ネットワークの遅延が変化することによって、ネットワークの特性が変化する。 As described above, the characteristics of the network change as the delay of the network changes.

特許文献1のファイル転送方法は、ファイルを固定サイズの断片に分割する。特許文献1では、遅延の変化は考慮されておらず、遅延の変化によるネットワーク特性の変化も考慮されていない。そのため、最大スループットに達する前に送信が終わるような大きさでファイルを分割するなど、最適なリストア速度を達成できない場合がある。これは、災害後のネットワーク、言い換えれば、一層不安定であると考えられるネットワークを通して、ファイルをリストアするケースについて、特に問題である。 The file transfer method of Patent Document 1 divides a file into fixed-size fragments. In Patent Document 1, the change in delay is not taken into consideration, and the change in network characteristics due to the change in delay is not taken into consideration. Therefore, it may not be possible to achieve the optimum restore speed, such as dividing the file into a size that allows transmission to finish before reaching the maximum throughput. This is especially problematic for cases where files are restored through a post-disaster network, in other words a network that is considered more unstable.

このような課題は、ディザスタリカバリに限らず、ネットワークを通してファイルのようなデータをリストアする他のケースについても存在し得る。 Such challenges are not limited to disaster recovery, but may exist in other cases of restoring data such as files over the network.

計算機システムは、その計算機システムと1以上のネットワークストレージ間のネットワーク遅延を計測する。計算機システムは、計測されたネットワーク遅延に応じたチャンクサイズおよび並列度のうちの少なくとも1つに従い、リストア対象データの少なくとも一部であるチャンクを、ネットワークを通して、1以上のネットワークストレージから取得する。計算機システムは、取得されたチャンクを基にリストア対象データをリストアする。 The computer system measures the network delay between the computer system and one or more network storages. The computer system acquires chunks, which are at least a part of the data to be restored, from one or more network storages through the network according to at least one of the chunk size and the degree of parallelism according to the measured network delay. The computer system restores the data to be restored based on the acquired chunks.

本発明によると、ネットワーク遅延に応じた最適なリストア速度が期待できる。 According to the present invention, an optimum restore speed can be expected according to the network delay.

実施例1に係るバックアップリストアシステムの構成例を示すブロック図である。It is a block diagram which shows the configuration example of the backup restore system which concerns on Example 1. FIG. ファイルサーバの内部構成を示すブロック図である。It is a block diagram which shows the internal structure of a file server. クラウドサーバの内部構成を示すブロック図である。It is a block diagram which shows the internal structure of a cloud server. クラウドサーバ管理テーブルの構成例を示す図である。It is a figure which shows the configuration example of the cloud server management table. データ送受信管理テーブルの構成例を示す図である。It is a figure which shows the configuration example of the data transmission / reception management table. 格納データ管理テーブルの構成例を示す図である。It is a figure which shows the configuration example of the stored data management table. 並列データリストアの概要の一例を示す模式図である。It is a schematic diagram which shows an example of the outline of parallel data restoration. バックアップ処理のフローを示す図である。It is a figure which shows the flow of a backup process. リストア処理のフローを示す図である。It is a figure which shows the flow of a restore process. リストア処理におけるリストアセッション毎の取得されるチャンクを示す図である。It is a figure which shows the chunk acquired for each restore session in the restore process. 実施例2に係るリストア処理の一例を示す模式図である。It is a schematic diagram which shows an example of the restoration process which concerns on Example 2. FIG. 実施例3に係るバックアップ処理およびリストア処理の一例を示す模式図である。It is a schematic diagram which shows an example of the backup process and the restore process which concerns on Example 3. FIG. TCP(Transmission Control Protocol)のフロー制御の一例を示す模式図である。It is a schematic diagram which shows an example of the flow control of TCP (Transmission Control Protocol). 一比較例に係る課題の一例を示す模式図である。It is a schematic diagram which shows an example of the problem which concerns on one comparative example. 実施例1の概要の一例を示す模式図である。It is a schematic diagram which shows an example of the outline of Example 1. FIG. 実施例1の効果の一例を示す模式図である。It is a schematic diagram which shows an example of the effect of Example 1. FIG.

以降、幾つかの実施例を説明する。以降に説明する実施例は一例である、本発明はこれらの実施例に限定されるものではない。 Hereinafter, some examples will be described. The examples described below are examples, and the present invention is not limited to these examples.

以降の説明では、「abcテーブル」の表現にて情報を説明することがあるが、情報は、テーブル以外のデータ構成で表現されていてもよい。データ構成に依存しないことを示すために「abcテーブル」のうちの少なくとも1つを「abc情報」と呼ぶことができる。また、以降の説明において、各テーブルの構成は一例であり、1つのテーブルは、2以上のテーブルに分割されてもよいし、2以上のテーブルの全部または一部が1つのテーブルであってもよい。 In the following description, the information may be described by the expression of "abc table", but the information may be expressed by a data structure other than the table. At least one of the "abc tables" can be referred to as "abc information" to show that it does not depend on the data structure. Further, in the following description, the configuration of each table is an example, and one table may be divided into two or more tables, or all or a part of the two or more tables may be one table. good.

また、以降の説明では、「インターフェース部」は、1以上のインターフェースを含む。1以上のインターフェースは、1以上の同種のインターフェースデバイス(例えば1以上のNIC(Network Interface Card))であってもよいし2以上の異種のインターフェースデバイス(例えばNICとHBA(Host Bus Adapter))であってもよい。 Further, in the following description, the "interface unit" includes one or more interfaces. One or more interfaces may be one or more interfaces of the same type (eg, one or more NICs (Network Interface Cards)) or two or more heterogeneous interface devices (eg, NICs and HBAs (Host Bus Adapters)). There may be.

また、以降の説明では、「記憶部」は、1以上のメモリを含む。少なくとも1つのメモリは、揮発性メモリであってもよいし不揮発性メモリであってもよい。記憶部は、主に、プロセッサ部による処理の際に使用される。 Further, in the following description, the "storage unit" includes one or more memories. At least one memory may be a volatile memory or a non-volatile memory. The storage unit is mainly used during processing by the processor unit.

また、以降の説明では、「プロセッサ部」は、1以上のプロセッサを含む。少なくとも1つのプロセッサは、典型的には、CPU(Central Processing Unit)のようなマイクロプロセッサである。1以上のプロセッサの各々は、シングルコアでもよいしマルチコアでもよい。プロセッサは、処理の一部または全部を行うハードウェア回路を含んでもよい。 Further, in the following description, the "processor unit" includes one or more processors. The at least one processor is typically a microprocessor such as a CPU (Central Processing Unit). Each of the one or more processors may be single-core or multi-core. The processor may include hardware circuits that perform some or all of the processing.

また、以降の説明では、「kkk部」の表現にて処理部(機能)を説明することがあるが、処理部は、1以上のコンピュータプログラムがプロセッサ部によって実行されることで実現されてもよいし、1以上のハードウェア回路(例えばFPGA(Field-Programmable Gate Array)またはASIC(Application Specific Integrated Circuit))によって実現されてもよい。プログラムがプロセッサ部によって処理部が実現される場合、定められた処理が、適宜に記憶部および/またはインターフェース部(例えば通信ポート)等を用いながら行われるため、処理部はプロセッサ部の少なくとも一部とされてもよい。処理部を主語として説明された処理は、プロセッサ部あるいはそのプロセッサ部を有する装置が行う処理としてもよい。また、プロセッサ部は、処理の一部または全部を行うハードウェア回路を含んでもよい。プログラムは、プログラムソースからプロセッサにインストールされてもよい。プログラムソースは、例えば、プログラム配布計算機または計算機が読み取り可能な記録媒体(例えば非一時的な記録媒体)であってもよい。各処理部の説明は一例であり、複数の処理部が1つの処理部にまとめられたり、1つの処理部が複数の処理部に分割されたりしてもよい。 Further, in the following description, the processing unit (function) may be described by the expression of "kkk unit", but the processing unit may be realized by executing one or more computer programs by the processor unit. It may be realized by one or more hardware circuits (for example, FPGA (Field-Programmable Gate Array) or ASIC (Application Specific Integrated Circuit)). When the processing unit is realized by the processor unit in the program, the specified processing is appropriately performed using the storage unit and / or the interface unit (for example, the communication port), so that the processing unit is at least a part of the processor unit. May be. The processing described with the processing unit as the subject may be processing performed by the processor unit or a device having the processor unit. Further, the processor unit may include a hardware circuit that performs a part or all of the processing. The program may be installed on the processor from the program source. The program source may be, for example, a program distribution computer or a computer-readable recording medium (eg, a non-temporary recording medium). The description of each processing unit is an example, and a plurality of processing units may be combined into one processing unit, or one processing unit may be divided into a plurality of processing units.

また、以降の説明では、「計算機システム」は、1以上の物理的な計算機を含む。少なくとも1つの物理的な計算機が、仮想的な計算機(例えばVM(Virtual Machine))を実行してもよいし、SDx(Software-Defined anything)を実行してもよい。SDxとしては、例えば、SDS(Software Defined Storage)(仮想的なストレージ装置の一例)またはSDDC(Software-defined Datacenter)を採用することができる。 Further, in the following description, the "computer system" includes one or more physical computers. At least one physical computer may execute a virtual computer (for example, VM (Virtual Machine)) or SDx (Software-Defined anything). As SDx, for example, SDS (Software Defined Storage) (an example of a virtual storage device) or SDDC (Software-defined Datacenter) can be adopted.

また、以降の説明では、同種の要素を区別しないで説明する場合には、参照符号のうちの共通符号を使用し、同種の要素を区別して説明する場合は、参照符号を使用する。 Further, in the following description, the common code among the reference codes will be used when the same type of elements are not distinguished, and the reference code will be used when the same type of elements are described separately.

また、本明細書において、ネットワークの遅延は、適宜「遅延」と省略されることがある。遅延は、典型的には、ネットワーク遅延時間(単位は典型的には「ミリ秒」)を意味する。 Further, in the present specification, the network delay may be abbreviated as "delay" as appropriate. Delay typically means network delay time (in typically "milliseconds").

まず、一比較例に係る課題、および、当該課題を解決する実施例1の概要を説明する。 First, a problem relating to one comparative example and an outline of Example 1 for solving the problem will be described.

一比較例に係る課題は、以降の通りである。 The issues related to one comparative example are as follows.

ファイルを順次リストアするよりも並列リストアする方が、高速にリストアが可能である。具体的には、例えば、1本の通信路のネットワーク帯域が1MB/sであり、リストア対象のファイルのサイズが4MBであるとする。この場合、順次リストアにおける通信は、4秒(=4MB/(1MB/s))かかる。一方、ファイルを1MBのチャンクに分割して4並列でリストアする並列リストアにおける通信は、1秒で済む。4個の1MBチャンクが、それぞれが1MB/sのネットワーク帯域である4本の通信路を通して並列に取得されるからである。 Restoring in parallel is faster than restoring files sequentially. Specifically, for example, it is assumed that the network bandwidth of one communication path is 1 MB / s and the size of the file to be restored is 4 MB. In this case, the communication in the sequential restoration takes 4 seconds (= 4MB / (1MB / s)). On the other hand, communication in parallel restore, in which a file is divided into 1 MB chunks and restored in 4 parallels, takes only 1 second. This is because four 1MB chunks are acquired in parallel through four communication paths, each of which has a network bandwidth of 1MB / s.

しかしながら、固定サイズのチャンクにファイルを分割してチャンクを並列に取得する並列リストアが最適であるとは限らない。なぜなら、ネットワークの遅延によって、ネットワーク特性、例えば、リストアセッションあたりの最大スループット、および、最大スループットに達するまでの時間が、異なるからである。 However, parallel restore, which divides the file into fixed-size chunks and acquires the chunks in parallel, is not always optimal. This is because network delays affect network characteristics, such as the maximum throughput per restore session and the time it takes to reach the maximum throughput.

特に、この課題は、単位時間当たりのデータ送受信サイズを徐々に大きくするスロースタートを含んだフロー制御が実施されるプロトコルに従う通信が行われるネットワーク、典型的には、TCP(Transmission Control Protocol)に従う通信が行われるネットワークを通してチャンクを取得するケースでは大きい。 In particular, this issue is a network in which communication is performed according to a protocol in which flow control is performed, including a slow start that gradually increases the data transmission / reception size per unit time, typically communication in accordance with TCP (Transmission Control Protocol). It is large in the case of getting chunks through the network where is done.

図13は、TCPのフロー制御の一例を示す模式図である。 FIG. 13 is a schematic diagram showing an example of TCP flow control.

ファイル転送は、例えば、HTTP(Hyper Text Transfer Protocol)またはFTP(File Transfer Protocol)に従い行われるが、HTTPおよびFTPのいずれも、TCP上のプロトコルである。TCPでは、輻輳を回避するために、単位時間当たりのデータ送受信サイズを徐々に大きくするスロースタートを含んだフロー制御が実施される。 File transfer is performed according to, for example, HTTP (Hyper Text Transfer Protocol) or FTP (File Transfer Protocol), and both HTTP and FTP are protocols on TCP. In TCP, in order to avoid congestion, flow control including a slow start that gradually increases the data transmission / reception size per unit time is implemented.

しかし、フロー制御におけるスロースタート速度(データ送受信サイズの増加量)は、図13に例示するように、遅延によって異なる(参照符号1301を参照)。また、最大帯域も、遅延によって異なる(参照符号1302を参照)。 However, the slow start speed (increase in data transmission / reception size) in flow control differs depending on the delay (see reference numeral 1301), as illustrated in FIG. The maximum bandwidth also depends on the delay (see reference numeral 1302).

図14は、一比較例に係る課題の一例を示す模式図である。 FIG. 14 is a schematic diagram showing an example of a problem according to a comparative example.

遅延に関わらない固定チャンクサイズのチャンクにファイルを分割して並列にチャンクをクラウドサーバ1405から取得すると、最適なリストア速度を必ずしも実現できない。具体的には、例えば、図14の左部分に例示するように、ファイルのチャンクのサイズが、遅延の割に小さすぎると、各チャンクについて、チャンクの取得が、スロースタート中に終了してしまう(スループットが最大帯域に達する前にチャンクの取得が終了してしまう)(参照符号1401を参照)。さらに、チャンクのサイズを小さくしすぎると、チャンク数がシステムのサポートする最大リストアセッション数を超えてしまう。この場合、全てのチャンクを並列にリストア処理できなくなってしまうため、合計帯域(1本の通信路の最大帯域と並列度との積)がワイヤスピード限界1350に達しない(参照符号1402を参照)ことがある。一方、例えば、図14の右部分に例示するように、遅延の割にチャンクのサイズが大きすぎても(極端には、例えばファイルを分割しないとすると)、同様に合計帯域がワイヤスピード限界1350に達しないことがある。 If the file is divided into chunks of fixed chunk size that are not related to the delay and the chunks are acquired in parallel from the cloud server 1405, the optimum restore speed cannot always be realized. Specifically, for example, as illustrated in the left part of FIG. 14, if the chunk size of the file is too small for the delay, the chunk acquisition for each chunk ends during the slow start. (Chunk acquisition ends before the throughput reaches the maximum bandwidth) (see reference numeral 1401). In addition, if the chunk size is too small, the number of chunks will exceed the maximum number of restore sessions supported by the system. In this case, the total bandwidth (the product of the maximum bandwidth of one communication path and the degree of parallelism) does not reach the wire speed limit of 1350 because all chunks cannot be restored in parallel (see reference numeral 1402). Sometimes. On the other hand, for example, as illustrated in the right part of FIG. 14, even if the chunk size is too large for the delay (extremely, for example, if the file is not divided), the total bandwidth is similarly the wire speed limit 1350. May not be reached.

以上が、一比較例に係る課題である。その課題を解決する実施例1の概要は、以降の通りである。 The above is the problem related to one comparative example. The outline of Example 1 for solving the problem is as follows.

図15は、実施例1の概要の一例を示す模式図である。 FIG. 15 is a schematic view showing an example of an outline of the first embodiment.

本実施例では、ファイルサーバ(リストア)103B(第2の計算機システムの一例)が、データ送受信管理テーブル213と、ファイルシステムボリューム203とを保持する。ファイルサーバ(リストア)103Bは、遅延計測プログラム(遅延計測手段の一例)212、データ送受信プログラム(取得手段の一例)210およびリストアプログラム(リストア手段の一例)209を実行する。 In this embodiment, the file server (restore) 103B (an example of the second computer system) holds the data transmission / reception management table 213 and the file system volume 203. The file server (restore) 103B executes a delay measurement program (an example of a delay measurement means) 212, a data transmission / reception program (an example of an acquisition means) 210, and a restore program (an example of a restore means) 209.

データ送受信管理テーブル213は、複数の遅延の各々について、チャンクサイズおよび並列度を保持する。遅延計測プログラム212は、ファイルサーバ(リストア)103Bとクラウドサーバ(ネットワークストレージの一例)105間のネットワーク遅延を計測する。データ送受信プログラム210は、計測されたネットワーク遅延に応じたチャンクサイズおよび並列度をデータ送受信管理テーブル213から特定し、リストア対象ファイルの少なくとも一部であるチャンクを、ネットワークを通して、クラウドサーバ105から取得する。リストアプログラム209は、当該リストア対象ファイルについて取得されたチャンクを基にリストア対象ファイルをファイルシステムボリューム203にリストアする。 The data transmission / reception management table 213 holds the chunk size and the degree of parallelism for each of the plurality of delays. The delay measurement program 212 measures the network delay between the file server (restore) 103B and the cloud server (an example of network storage) 105. The data transmission / reception program 210 specifies the chunk size and the degree of parallelism according to the measured network delay from the data transmission / reception management table 213, and acquires chunks that are at least a part of the files to be restored from the cloud server 105 through the network. .. The restore program 209 restores the restore target file to the file system volume 203 based on the chunk acquired for the restore target file.

図16は、実施例1の効果の一例を示す模式図である。 FIG. 16 is a schematic view showing an example of the effect of Example 1.

ファイルのチャンクのサイズが、遅延に対応した適切なサイズである。このため、各チャンク(チャンク1〜3の各々)について、チャンクの取得が、スロースタート中に終了してしまう(スループットが最大帯域に達する前にチャンクの取得が終了してしまう)ことが無い(参照符号1601を参照)。また、合計帯域が、ワイヤスピード限界1650に達し、結果として、リストア時間が短くなる(参照符号1402を参照)。 The chunk size of the file is an appropriate size for the delay. Therefore, for each chunk (each of chunks 1 to 3), the chunk acquisition does not end during the slow start (chunk acquisition ends before the throughput reaches the maximum bandwidth) ( See reference numeral 1601). Also, the total bandwidth reaches the wire speed limit of 1650, resulting in shorter restore times (see reference numeral 1402).

以上が、実施例1の概要である。以降、実施例1を詳細に説明する。なお、図13、図14および図16に例示したグラフは、簡易化した模試的なグラフ(例えば、輻輳制御に従うスループット変化を考慮しないグラフ)である。また、本実施例において、「リストア速度」は、1つのリストア(リストア対象とされた1以上のファイルのリストア)の速度である。「リストア時間」は、1つのリストアにかかる時間である。 The above is the outline of the first embodiment. Hereinafter, the first embodiment will be described in detail. The graphs illustrated in FIGS. 13, 14 and 16 are simplified experimental graphs (for example, graphs that do not consider throughput changes according to congestion control). Further, in this embodiment, the "restore speed" is the speed of one restore (restoration of one or more files targeted for restoration). The "restore time" is the time required for one restore.

図1は、実施例1に係るバックアップリストアシステムの構成例を示すブロック図である。 FIG. 1 is a block diagram showing a configuration example of the backup / restore system according to the first embodiment.

バックアップリストアシステム100は、1以上のファイルサーバ103を含む。1以上のファイルサーバ103の各々は、管理サーバ104および1以上のクラウドサーバ105と、ネットワーク102を通して相互に通信可能に接続されている。ネットワーク102は、典型的にTCPに従う通信が行われるネットワークであり、例えば、LAN(Local Area Network)やInternetである。なお、本発明では、ネットワーク102の構成形態は限定されない。 The backup restore system 100 includes one or more file servers 103. Each of the one or more file servers 103 is communicably connected to the management server 104 and the one or more cloud servers 105 through the network 102. The network 102 is a network that typically performs communication according to TCP, and is, for example, a LAN (Local Area Network) or the Internet. In the present invention, the configuration of the network 102 is not limited.

ネットワーク102に1以上のクライアント101が通信可能に接続される。1つのクライアント101を例に取る。クライアント101は、ファイルサーバ(運用)103Aまたはファイルサーバ(リストア)103Bを利用する計算機である。クライアント101を使用するエンドユーザは、クライアント101のファイルアクセスプログラム110を用いて、ファイルサーバ103Aや103Bへ接続し、ファイルサーバ103Aまたは103Bへ格納されたファイルを読み書きする。 One or more clients 101 are communicably connected to the network 102. Take one client 101 as an example. The client 101 is a computer that uses the file server (operation) 103A or the file server (restore) 103B. The end user who uses the client 101 connects to the file servers 103A and 103B by using the file access program 110 of the client 101, and reads and writes the file stored in the file server 103A or 103B.

ファイルサーバ(運用)103Aは、第1の計算機システムの一例である。ファイルサーバ(運用)103Aは、災害発生前に、クライアント101へファイルアクセスサービスを提供するサーバ装置である。一方、ファイルサーバ(リストア)103Bは、第2の計算機システムの一例である。ファイルサーバ(リストア)103Bは、災害発生後に、クライアント101へファイルアクセスサービスを提供するサーバ装置である。ファイルアクセスサービスとは、例えば、NFS(Network File System)やCIFS(Common Internet File System)といったプロトコルを用いて、ファイルの読み書きを可能としたネットワークサービスを指す。なお、本発明は、ファイルサーバ(運用)103Aおよびファイルサーバ(リストア)103Bの各々のファイルアクセスサービスの形態を限定するものではない。また、ファイルサーバ(リストア)103Bは、ファイルサーバ(運用)103Aの交換後のファイルサーバでもよい。ファイルサーバ103の構造と処理動作は、後に詳述する。 The file server (operation) 103A is an example of the first computer system. The file server (operation) 103A is a server device that provides a file access service to the client 101 before a disaster occurs. On the other hand, the file server (restore) 103B is an example of the second computer system. The file server (restore) 103B is a server device that provides a file access service to the client 101 after a disaster occurs. The file access service refers to a network service that enables reading and writing of files using protocols such as NFS (Network File System) and CIFS (Common Internet File System). The present invention does not limit the form of each file access service of the file server (operation) 103A and the file server (restore) 103B. Further, the file server (restore) 103B may be a file server after the replacement of the file server (operation) 103A. The structure and processing operation of the file server 103 will be described in detail later.

管理サーバ104は、バックアップリストアシステム100の設定等を行う計算機である。バックアップリストアシステム100の管理者は、管理サーバ104を用いて、バックアップリストアシステムを設定する。例えば、管理者は、ファイルサーバ103のIPアドレスの設定等を行う。なお、管理サーバ104の機能は、クライアント101やファイルサーバ103へ導入されても良い。本発明では、管理サーバ104の機能の導入箇所や、管理サーバ104の設置場所は、限定されない。 The management server 104 is a computer that sets the backup / restore system 100 and the like. The administrator of the backup / restore system 100 sets up the backup / restore system using the management server 104. For example, the administrator sets the IP address of the file server 103 and the like. The function of the management server 104 may be introduced into the client 101 or the file server 103. In the present invention, the place where the function of the management server 104 is introduced and the place where the management server 104 is installed are not limited.

1以上のクラウドサーバ105として、クラウドサーバ105Aと105Bが例示されている。クラウドサーバ105Aと105Bは、ファイルサーバ(運用)103Aに格納されたファイルのバックアップを保持する計算機である。ファイルサーバ(運用)103Aが、クラウドサーバ105Aと105Bにファイルを定期的に送信し、クラウドサーバ105Aと105Bは内部ディスクへファイルを格納する。クラウドサーバ105の構造と処理動作は、後に詳述する。 Cloud servers 105A and 105B are exemplified as one or more cloud servers 105. The cloud servers 105A and 105B are computers that hold backups of files stored in the file server (operation) 103A. The file server (operation) 103A periodically transmits files to the cloud servers 105A and 105B, and the cloud servers 105A and 105B store the files on the internal disk. The structure and processing operation of the cloud server 105 will be described in detail later.

災害によって、ファイルサーバ(運用)103Aが物理的に壊れ、格納していたファイルが失われた場合、ファイルサーバ(リストア)103Bが、ファイルアクセスサービスを提供する。そのため、ファイルサーバ(リストア)103Bは、ネットワーク102を通して、クラウドサーバ105Aと105Bへ保存されたファイルを取得し、内部ディスクへ格納(リストア)する。クラウドサーバ105から必要なファイルを取得できれば、ファイルサーバ(リストア)103Bは、ファイルサーバ(運用)103Aと同じようにファイルアクセスサービスを再開する。このように、バックアップリストアシステムにより、災害後にも、ファイルアクセスサービスを継続できる。 When the file server (operation) 103A is physically damaged due to a disaster and the stored file is lost, the file server (restore) 103B provides a file access service. Therefore, the file server (restore) 103B acquires the files saved in the cloud servers 105A and 105B through the network 102 and stores (restores) them in the internal disk. If the necessary files can be obtained from the cloud server 105, the file server (restore) 103B restarts the file access service in the same manner as the file server (operation) 103A. In this way, the backup / restore system allows the file access service to continue even after a disaster.

図2は、ファイルサーバ103の内部構成を示すブロック図である。 FIG. 2 is a block diagram showing an internal configuration of the file server 103.

ファイルサーバ103は、ネットワークI/F201、CPU202、ファイルシステムボリューム203、メモリ205を搭載し、それらは内部通信路204によって接続されている。 The file server 103 includes a network I / F 201, a CPU 202, a file system volume 203, and a memory 205, and they are connected by an internal communication path 204.

ネットワークI/F201は、インターフェース部の一例である。ネットワークI/F201は、ネットワーク102と相互に接続されており、クライアント101からのファイルアクセス要求を受け付ける際に用いられる装置である。 The network I / F201 is an example of an interface unit. The network I / F 201 is a device that is interconnected with the network 102 and is used when receiving a file access request from the client 101.

CPU202は、プロセッサ部の一例である。CPU202は、メモリ205に格納されたプログラムを実行する装置である。 The CPU 202 is an example of a processor unit. The CPU 202 is a device that executes a program stored in the memory 205.

ファイルシステムボリューム203は、プログラムファイルやエンドユーザが作成したデータファイルといった情報を格納するための装置である。ファイルシステムボリューム203に代えて、外部のストレージ装置(図示せず)が採用されてもよい。例えば、ファイルサーバ(リストア)103Bによるリストア先は、ファイルサーバ(リストア)103B内のファイルシステムボリューム203に代えてまたは加えて、ファイルサーバ(リストア)103Bに接続されている外部のストレージ装置でもよい。 The file system volume 203 is a device for storing information such as a program file and a data file created by an end user. An external storage device (not shown) may be adopted instead of the file system volume 203. For example, the restore destination by the file server (restore) 103B may be an external storage device connected to the file server (restore) 103B in place of or in addition to the file system volume 203 in the file server (restore) 103B.

メモリ205は、記憶部の一例である。メモリ205は、ファイルシステムボリューム203に格納されたファイルを、CPU202が処理する際に一時的に保持するメモリ(例えば揮発性メモリ)である。CPU202がプログラムを実行する際、CPU202が、ファイルシステムボリューム203からメモリ205へプログラムファイルやデータファイルを読み込む。以降、特に明示しない限り、プログラムはCPU202によって実行されるものとする。また、プログラムは、ファイルシステムボリューム203からメモリ205へ読み込まれ、実行されるものとする。 The memory 205 is an example of a storage unit. The memory 205 is a memory (for example, a volatile memory) that temporarily holds a file stored in the file system volume 203 when the CPU 202 processes the file. When the CPU 202 executes a program, the CPU 202 reads a program file or a data file from the file system volume 203 to the memory 205. Hereinafter, unless otherwise specified, the program shall be executed by the CPU 202. Further, it is assumed that the program is read from the file system volume 203 into the memory 205 and executed.

メモリ205は、ファイル共有サーバプログラム206、ファイルシステムプログラム207、作成プログラム208、リストアプログラム209、送受信プログラム210、管理プログラム211および遅延計測プログラム212といったプログラムを格納する。また、メモリ205は、データ送受信管理テーブル213、クラウドサーバ管理テーブル214および格納データ管理テーブル215といった情報を格納する。 The memory 205 stores programs such as a file sharing server program 206, a file system program 207, a creation program 208, a restore program 209, a transmission / reception program 210, a management program 211, and a delay measurement program 212. Further, the memory 205 stores information such as a data transmission / reception management table 213, a cloud server management table 214, and a storage data management table 215.

ファイル共有サーバプログラム206は、クライアント101のファイルアクセスプログラム110からのファイルアクセス要求を処理するプログラムである。ファイルアクセス要求として、ファイル書込み要求とファイル読出し要求とがある。ファイル書込み要求に付随して受信したファイルデータは、ファイルシステムボリューム203へデータファイル(ファイル)として格納される。ファイルシステムボリューム203に格納されているファイルのうち、未だバックアップされていないファイルは、クラウドサーバ105へバックアップされる。 The file sharing server program 206 is a program that processes a file access request from the file access program 110 of the client 101. There are a file write request and a file read request as file access requests. The file data received in association with the file write request is stored in the file system volume 203 as a data file (file). Of the files stored in the file system volume 203, the files that have not yet been backed up are backed up to the cloud server 105.

ファイルシステムプログラム207は、ファイルシステムボリューム203へ格納されたファイルのデータを管理するプログラムである。ファイル共有サーバプログラム206が、ファイルアクセスプログラム110からファイルアクセス要求を受け付けると、ファイルシステムプログラム207へその要求を受け渡す。そして、ファイルシステムプログラム207は、ファイルシステムボリューム203へアクセスする。例えば、ファイルアクセスプログラム110が、ファイル共有サーバプログラム206へファイル書込み要求とファイルデータを送信する。ファイル共有サーバプログラム206は、ファイル書込み要求を受理し、ファイルデータを受信する。ファイル共有サーバプログラム206は、ファイルシステムプログラム207へファイル書込み要求とファイルデータを渡す。ファイルシステムプログラム207は、ファイルシステムボリューム203へそのファイルデータを書き込む。 The file system program 207 is a program that manages the data of the file stored in the file system volume 203. When the file sharing server program 206 receives the file access request from the file access program 110, the file sharing server program 206 passes the request to the file system program 207. Then, the file system program 207 accesses the file system volume 203. For example, the file access program 110 transmits a file write request and file data to the file sharing server program 206. The file sharing server program 206 receives the file write request and receives the file data. The file sharing server program 206 passes a file write request and file data to the file system program 207. The file system program 207 writes the file data to the file system volume 203.

作成プログラム208は、ファイルシステムボリューム203へ格納されたファイルをクラウドサーバ105へ格納する形式に変えるプログラムである。例えば、ファイルの単純複製を行う場合、作成プログラム208は、ファイルの形式を変更しない。一方、ファイルの分割複製を行う場合、作成プログラム208は、ファイルを一定の大きさの断片へ分割する。作成プログラム208の作成したデータは、後述するデータ送受信プログラム210によって、クラウドサーバ105へ送信(バックアップ)される。 The creation program 208 is a program that changes the file stored in the file system volume 203 into a format stored in the cloud server 105. For example, when performing simple duplication of a file, the creation program 208 does not change the format of the file. On the other hand, when the file is divided and duplicated, the creation program 208 divides the file into fragments of a certain size. The data created by the creation program 208 is transmitted (backed up) to the cloud server 105 by the data transmission / reception program 210 described later.

リストアプログラム209は、後述するデータ送受信プログラム210を用いてクラウドサーバ105から取得したデータ(チャンク)を、元のファイルへリストアする(例えば、複数のチャンクを統合して元のファイルを作成する)プログラムである。 The restore program 209 is a program that restores data (chunks) acquired from the cloud server 105 using the data transmission / reception program 210 described later to the original file (for example, integrates a plurality of chunks to create the original file). Is.

データ送受信プログラム210は、クラウドサーバ105とネットワーク102を通して、データを送受信するプログラムである。データ送受信プログラム210によって、ファイルやその断片がクラウドサーバ105に格納される。また、データ送受信プログラム210によって、クラウドサーバ105からファイルのチャンクが取得される。データ送受信プログラム210とクラウドサーバ105の通信には、本実施例では、HTTP(Hypertext Transfer Protocol)が用いられる。なお、本発明では、データ送受信プログラム210とクラウドサーバ105の間の通信プロトコルは限定されない。 The data transmission / reception program 210 is a program for transmitting / receiving data through the cloud server 105 and the network 102. The data transmission / reception program 210 stores the file and its fragments in the cloud server 105. Further, the data transmission / reception program 210 acquires a chunk of files from the cloud server 105. In this embodiment, HTTP (Hypertext Transfer Protocol) is used for communication between the data transmission / reception program 210 and the cloud server 105. In the present invention, the communication protocol between the data transmission / reception program 210 and the cloud server 105 is not limited.

管理プログラム211は、ファイルを送受信するクラウドサーバ105へアクセスするためのアドレスなどを設定するプログラムである。管理プログラム211は、管理者によって起動される。管理者は、管理サーバ104から、ファイルサーバ103へSSH(Secure Shell)プロトコルなどを用いて接続する。なお、管理サーバ104とファイルサーバ103の間の接続プロトコルはSSHプロトコルでなくても良い。本発明では、接続プロトコルは限定されない。さらに、ファイルサーバ103にキーボードやディスプレイといったコンソール機器が接続されている場合は、管理者は、ファイルサーバ103に直接ログインして設定してよい。 The management program 211 is a program for setting an address or the like for accessing the cloud server 105 for transmitting and receiving files. The management program 211 is started by the administrator. The administrator connects the management server 104 to the file server 103 using SSH (Secure Shell) protocol or the like. The connection protocol between the management server 104 and the file server 103 does not have to be the SSH protocol. In the present invention, the connection protocol is not limited. Further, when a console device such as a keyboard or a display is connected to the file server 103, the administrator may directly log in to the file server 103 for setting.

データ送受信管理テーブル213は、管理プログラム211によって設定される、ネットワーク遅延によるデータの送受信方法を定めたテーブルである。データ送受信管理テーブル213は後に詳述する。 The data transmission / reception management table 213 is a table set by the management program 211 that defines a data transmission / reception method due to network delay. The data transmission / reception management table 213 will be described in detail later.

クラウドサーバ管理テーブル214は、管理プログラム211によって設定される、クラウドサーバ105のアクセスアドレスを保持するテーブルである。クラウドサーバ管理テーブル214は、後に詳述する。 The cloud server management table 214 is a table that holds the access address of the cloud server 105, which is set by the management program 211. The cloud server management table 214 will be described in detail later.

格納データ管理テーブル215は、ファイル毎にバックアップファイルを格納した格納先クラウドサーバ105を管理するテーブルである。格納データ管理テーブル215は、後に詳述する。 The storage data management table 215 is a table that manages the storage destination cloud server 105 that stores the backup file for each file. The stored data management table 215 will be described in detail later.

図3は、クラウドサーバ105の内部構成を示すブロック図である。 FIG. 3 is a block diagram showing an internal configuration of the cloud server 105.

クラウドサーバ105は、ネットワークI/F301、CPU302、メモリ303、ファイルシステムボリューム310から構成され、それらは内部通信路307によって相互に接続されている。 The cloud server 105 is composed of a network I / F 301, a CPU 302, a memory 303, and a file system volume 310, and they are connected to each other by an internal communication path 307.

ネットワークI/F301は、ネットワーク102と接続される装置である。CPU302は、メモリ303に格納されたプログラムを実行する装置である。ファイルシステムボリューム310は、プログラムファイルやバックアップデータ309を格納する装置である。 The network I / F 301 is a device connected to the network 102. The CPU 302 is a device that executes a program stored in the memory 303. The file system volume 310 is a device for storing program files and backup data 309.

ファイルシステムプログラム304は、ファイルシステムボリューム310に格納されたバックアップデータ309をファイルとして管理するプログラムである。 The file system program 304 is a program that manages the backup data 309 stored in the file system volume 310 as a file.

データ送受信プログラム305は、ファイルサーバ103から送られてくるファイルデータを受信するプログラムである。さらに、データ送受信プログラム305は、ファイルサーバ103から、バックアップデータ309の取得要求を受理して、バックアップデータ309を送信する。バックアップデータ309は、リストア対象データの一例であり、典型的にはファイルである。 The data transmission / reception program 305 is a program that receives file data sent from the file server 103. Further, the data transmission / reception program 305 receives the acquisition request of the backup data 309 from the file server 103, and transmits the backup data 309. The backup data 309 is an example of data to be restored, and is typically a file.

データ送受信プログラム305が、ファイルシステムボリューム310のバックアップデータ309を読み出す場合、ファイルシステムプログラム304へファイル読出し要求を送信する。ファイルシステムプログラム304はファイルシステムボリューム310からバックアップデータ309を読み出して、データ送受信プログラムへ返却する。一方、データ送受信プログラム305が、ファイルサーバ103からファイルデータを受信すると、ファイルシステムプログラム304へファイル書込み要求とファイルデータを送信する。ファイルシステムプログラム304は、バックアップデータ309としてファイルをファイルシステムボリューム310に書き込む。 When the data transmission / reception program 305 reads the backup data 309 of the file system volume 310, it transmits a file read request to the file system program 304. The file system program 304 reads the backup data 309 from the file system volume 310 and returns it to the data transmission / reception program. On the other hand, when the data transmission / reception program 305 receives the file data from the file server 103, the data transmission / reception program 305 transmits a file write request and the file data to the file system program 304. The file system program 304 writes a file to the file system volume 310 as backup data 309.

図4は、クラウドサーバ管理テーブル214の構成例を示す図である。 FIG. 4 is a diagram showing a configuration example of the cloud server management table 214.

クラウドサーバ管理テーブル214は、サイトID401、サイト名402、URL403から構成される。サイトID401、サイト名402、URL403は1つのレコード404として組で設定される。レコード404は、クラウドサーバ105毎に存在する。 The cloud server management table 214 is composed of a site ID 401, a site name 402, and a URL 403. The site ID 401, the site name 402, and the URL 403 are set as one record 404 as a set. The record 404 exists for each cloud server 105.

サイトID401は、クラウドサーバ105のID(例えば通番)である。サイト名402は、クラウドサーバ105の名称である。URL403は、ファイルサーバ103がクラウドサーバ105へアクセスするために用いるルートパス(URL(Uniform Resource Locator))である。ファイルサーバ105は、ファイルをバックアップする場合や、バックアップされたファイルへアクセスする場合に、URL403に基づいてアクセスパスを生成する。クラウドサーバ管理テーブル214の利用方法については、後に詳述する。 The site ID 401 is an ID (for example, a serial number) of the cloud server 105. The site name 402 is the name of the cloud server 105. The URL 403 is a root path (URL (Uniform Resource Locator)) used by the file server 103 to access the cloud server 105. The file server 105 generates an access path based on the URL 403 when backing up a file or accessing the backed up file. The usage of the cloud server management table 214 will be described in detail later.

図5は、データ送受信管理テーブル213の構成例を示す図である。 FIG. 5 is a diagram showing a configuration example of the data transmission / reception management table 213.

データ送受信管理テーブル213は、遅延501、チャンクサイズ502、並列度503から構成される。遅延501、チャンクサイズ502、並列度503はレコード504として組で設定される。レコード504は、遅延毎に存在する。 The data transmission / reception management table 213 is composed of a delay 501, a chunk size 502, and a degree of parallelism 503. The delay 501, chunk size 502, and parallelism 503 are set as a set as a record 504. Record 504 exists for each delay.

遅延501は、ネットワーク102の遅延を表す値である。また、遅延501は、代表値である。例えば、遅延501が10ミリ秒(msec)と設定されている場合、10ミリ秒以下と解釈される。ある時刻における遅延が5ミリ秒である場合、10ミリ秒の遅延のレコード504Aが選択される。なお、本発明では、遅延501の解釈は限定されない。 The delay 501 is a value representing the delay of the network 102. The delay 501 is a representative value. For example, if the delay 501 is set to 10 milliseconds (msec), it is interpreted as 10 milliseconds or less. If the delay at a given time is 5 ms, then record 504A with a delay of 10 ms is selected. In the present invention, the interpretation of the delay 501 is not limited.

チャンクサイズ502は、ファイルサーバ103Bがクラウドサーバ105に格納されたファイルを取得するときのサイズである。例えば、ファイルサーバ(リストア)103Bが、クラウドサーバ105から1MBのファイルを取得する場合、チャンクサイズ502に示される0.25MBの4つのデータのかたまりとして、クラウドサーバ105から取得する。並列度503は、ファイルサーバ(リストア)103Bがクラウドサーバ105に格納されたファイルを取得する場合の並列取得数を示す。例えば、ある時刻において、ファイルサーバ(リストア)103Bが1MBのファイルを取得する際、遅延501が20ミリ秒であった場合、ファイルサーバ(リストア)103Bは、0.5MBの2つのデータのかたまりとし、2つのリストアセッションを用いて2並列でデータを取得する。データ送受信管理テーブル213の利用方法については、後に詳述する。 The chunk size 502 is the size when the file server 103B acquires the file stored in the cloud server 105. For example, when the file server (restore) 103B acquires a 1 MB file from the cloud server 105, it acquires it from the cloud server 105 as a block of four data of 0.25 MB shown in the chunk size 502. The degree of parallelism 503 indicates the number of parallel acquisitions when the file server (restore) 103B acquires the files stored in the cloud server 105. For example, at a certain time, when the file server (restore) 103B acquires a 1 MB file, if the delay 501 is 20 milliseconds, the file server (restore) 103B is regarded as a block of two data of 0.5 MB. Data is acquired in two parallels using two restore sessions. The method of using the data transmission / reception management table 213 will be described in detail later.

図5の例によれば、遅延が、相対的に小さければ、チャンクサイズは小さい、および、並列数は大きい、のうちの少なくともいずれかである。例えば、遅延501“10msec”に対応したチャンクサイズ502の値は、“10msec”より大きい値の遅延501に対応したチャンクサイズ502の値より小さい。また、例えば、遅延501“10msec”に対応した並列度503の値は、“10msec”より大きい値の遅延501に対応した並列度503の値より大きい。 According to the example of FIG. 5, if the delay is relatively small, the chunk size is small and the number of parallels is large, at least one of them. For example, the value of the chunk size 502 corresponding to the delay 501 "10 msec" is smaller than the value of the chunk size 502 corresponding to the delay 501 of a value greater than "10 msec". Further, for example, the value of the degree of parallelism 503 corresponding to the delay 501 "10 msec" is larger than the value of the degree of parallelism 503 corresponding to the delay 501 of a value larger than "10 msec".

また、図5の例によれば、遅延が、相対的に大きければ、チャンクサイズは大きい、および、並列数は小さい、のうちの少なくともいずれかである。例えば、遅延501“30msec”に対応したチャンクサイズ502の値は、“30msec”より小さい値の遅延501に対応したチャンクサイズ502の値より大きい。また、例えば、遅延501“30msec”に対応した並列度503の値は、“30msec”より大きい値の遅延501に対応した並列度503の値より小さい。 Further, according to the example of FIG. 5, if the delay is relatively large, the chunk size is large and the number of parallels is small, at least one of them. For example, the value of the chunk size 502 corresponding to the delay 501 "30 msec" is larger than the value of the chunk size 502 corresponding to the delay 501 of a value smaller than "30 msec". Further, for example, the value of the degree of parallelism 503 corresponding to the delay 501 "30 msec" is smaller than the value of the degree of parallelism 503 corresponding to the delay 501 of a value larger than "30 msec".

また、本実施例では、予め用意されたデータ送受信管理テーブル213が使用されるが、テーブル213の使用に代えてまたは加えて、遅延に応じたチャンクサイズおよび並列度のうちの少なくとも1つは、計算により決定されてもよい。また、システムのサポートする最大リストアセッション数、最大バックアップセッション数があらかじめ分かっている場合には、その値を参考にチャンクサイズ502、並列度503を決定してもよい。たとえば、並列度503は最大リストアセッション数を超えない値とし、チャンクサイズ502はファイルサイズを並列度503で除した値とする。 Further, in this embodiment, the data transmission / reception management table 213 prepared in advance is used, but instead of or in addition to the use of the table 213, at least one of the chunk size and the degree of parallelism according to the delay is set. It may be determined by calculation. If the maximum number of restore sessions and the maximum number of backup sessions supported by the system are known in advance, the chunk size 502 and the degree of parallelism 503 may be determined with reference to the values. For example, the degree of parallelism 503 is a value that does not exceed the maximum number of restore sessions, and the chunk size 502 is a value obtained by dividing the file size by the degree of parallelism 503.

図6は、格納データ管理テーブル215の構成例を示す図である。 FIG. 6 is a diagram showing a configuration example of the stored data management table 215.

格納データ管理テーブル215は、ファイルパス601、サイズ602、格納先クラウドサーバID603から構成される。ファイルパス601、サイズ602、格納先クラウドサーバID603は、レコード604として組で管理される。レコード604は、バックアップされたファイル毎に存在する。 The storage data management table 215 is composed of a file path 601, a size 602, and a storage destination cloud server ID 603. The file path 601 and the size 602 and the storage destination cloud server ID 603 are managed as a set as a record 604. Record 604 exists for each backed up file.

ファイルパス601は、ファイルサーバ103のファイルシステムボリューム203に格納されているファイルのパスを示す。例えば、あるファイルが/aaa/bbb.dbというパスでファイルシステムボリューム203へ格納されている場合、ファイルパス601にそのように記述される。格納データ管理テーブル215の利用方法については、後に詳述する。 The file path 601 indicates the path of the file stored in the file system volume 203 of the file server 103. For example, if a file is stored in the file system volume 203 with the path /aaa/bbb.db, it is described as such in the file path 601. The method of using the stored data management table 215 will be described in detail later.

図7は、ファイルサーバ(リストア)103Bが、あるファイルをクラウドサーバ105Aと105Bから並列にリストアする場合の、データリストア概要を示す図である。 FIG. 7 is a diagram showing an outline of data restoration when the file server (restore) 103B restores a certain file from the cloud servers 105A and 105B in parallel.

クラウドサーバ105Aと105Bには、ファイルサーバ(運用)103Aから1MBのファイルが単純複製によって、バックアップデータ306として格納されている。つまり、クラウドサーバ105Aと105Bには、同じバックアップデータ306が格納されている。ファイルサーバ(リストア)103Bが、20ミリ秒遅延のネットワーク102を通してクラウドサーバ105Aと105Bからバックアップデータ306を取得する。この時、データ送受信管理テーブル213のレコード504B(遅延501“20msec”)のチャンクサイズ502に基づき、ファイルサーバ(リストア)103Bは、0.5MBのチャンクにして、ファイル(バックアップデータ306)を取得する。さらに、ファイルサーバ(リストア)103Bは、データ送受信管理テーブル213のレコード504Bの並列度503に基づき、2並列でデータ(チャンク)を取得する。この例では、ファイルサーバ(リストア)103Bは、クラウドサーバ105Aと105Bから並列にデータ(チャンク)を取得している。なお、チャンクサイズと並列度の積が、クラウドサーバ105Aが単位時間当たりに送信可能なデータ量以下であれば、ファイルサーバ(リストア)103Bは、クラウドサーバ105Aから当該チャンクサイズのチャンクを当該並列度で取得してもよい。本発明では、取得先のクラウドサーバ105の選択方法は限定されない。このように、ファイルサーバ(リストア)103Bは、ネットワーク102の遅延に基づいて、バックアップデータ306を取得する場合のチャンクサイズ及び並列度のうちの少なくとも1つを決定し、決定したチャンクサイズ及び並列度のうちの少なくとも1つに従いチャンクを取得する。 In the cloud servers 105A and 105B, files of 1 MB from the file server (operation) 103A are stored as backup data 306 by simple duplication. That is, the same backup data 306 is stored in the cloud servers 105A and 105B. The file server (restore) 103B acquires backup data 306 from the cloud servers 105A and 105B through the network 102 with a delay of 20 milliseconds. At this time, based on the chunk size 502 of the record 504B (delay 501 “20 msec”) of the data transmission / reception management table 213, the file server (restore) 103B makes a chunk of 0.5 MB and acquires the file (backup data 306). .. Further, the file server (restore) 103B acquires data (chunks) in two parallels based on the degree of parallelism 503 of the record 504B of the data transmission / reception management table 213. In this example, the file server (restore) 103B acquires data (chunks) in parallel from the cloud servers 105A and 105B. If the product of the chunk size and the degree of parallelism is less than or equal to the amount of data that the cloud server 105A can transmit per unit time, the file server (restore) 103B transfers the chunk of the chunk size from the cloud server 105A to the degree of parallelism. You may get it with. In the present invention, the method of selecting the acquisition destination cloud server 105 is not limited. In this way, the file server (restore) 103B determines at least one of the chunk size and the degree of parallelism when acquiring the backup data 306 based on the delay of the network 102, and determines the chunk size and the degree of parallelism. Acquire chunks according to at least one of them.

図8は、ファイルサーバ(運用)103Aが実行するファイルのバックアップ処理のフローを示す。 FIG. 8 shows a flow of file backup processing executed by the file server (operation) 103A.

バックアップ処理は、データ送受信プログラム210と作成プログラム208が連携して実行する。ファイルサーバ(運用)103Aの管理者が、管理プログラム211に対し、ファイルシステムボリューム203に格納されているファイルのバックアップ処理を指示する。その指示は、管理プログラム211からデータ送受信プログラム210に送られる。 The backup process is executed by the data transmission / reception program 210 and the creation program 208 in cooperation with each other. The administrator of the file server (operation) 103A instructs the management program 211 to back up the files stored in the file system volume 203. The instruction is sent from the management program 211 to the data transmission / reception program 210.

データ送受信プログラム210は、その指示を受け、ファイルシステムボリューム203に格納されているファイルのうちバックアップされていないファイルを1つ選択する(ステップ801)。 In response to the instruction, the data transmission / reception program 210 selects one of the files stored in the file system volume 203 that has not been backed up (step 801).

次に、データ送受信プログラム210は、クラウドサーバ管理テーブル214から、ステップ801で選択したファイル(図8の説明において「選択ファイル」)の送信先(バックアップ先)とするクラウドサーバ105を選択する(ステップ802)。この時、データ送受信プログラム210は、複数のクラウドサーバ105へ送信する場合は、2つ以上のクラウドサーバ105を選択する。 Next, the data transmission / reception program 210 selects the cloud server 105 as the transmission destination (backup destination) of the file selected in step 801 (“selected file” in the description of FIG. 8) from the cloud server management table 214 (step). 802). At this time, the data transmission / reception program 210 selects two or more cloud servers 105 when transmitting to a plurality of cloud servers 105.

次に、データ送受信プログラム210は、作成プログラム208を呼び出し、複製データの作成を要求する。作成プログラム208は、単純複製の場合は、選択ファイルに変更を加えない。一方、分割複製の場合は、作成プログラム108は、選択ファイル(ファイルデータ)を1MBなどの大きさに分割する。そして、データ送受信プログラム210は、作成プログラム208が作成したバックアップ用のデータを、ステップ802で選択したクラウドサーバ105へ送信する(ステップ803)。 Next, the data transmission / reception program 210 calls the creation program 208 and requests the creation of duplicate data. The creation program 208 does not make any changes to the selected file in the case of simple duplication. On the other hand, in the case of split duplication, the creation program 108 divides the selected file (file data) into a size such as 1 MB. Then, the data transmission / reception program 210 transmits the backup data created by the creation program 208 to the cloud server 105 selected in step 802 (step 803).

次に、データ送受信プログラム210は、クラウドサーバ105へ送信してバックアップが完了した選択ファイルに関する情報を、新規レコード404として格納データ管理テーブル215へ追加する(ステップ804)。 Next, the data transmission / reception program 210 adds information about the selected file that has been transmitted to the cloud server 105 and has been backed up to the stored data management table 215 as a new record 404 (step 804).

そして、データ送受信プログラム210は、バックアップされていないファイルがあるか否かを判断する(ステップ805)。ステップ805の判断結果が真の場合(ステップ805:Yes)、データ送受信プログラム210は、ステップ801から処理を続ける。一方、ステップ805の判断結果が偽の場合(ステップ805:No)、バックアップ処理フローが終了する。 Then, the data transmission / reception program 210 determines whether or not there is a file that has not been backed up (step 805). If the determination result of step 805 is true (step 805: Yes), the data transmission / reception program 210 continues the process from step 801. On the other hand, if the determination result in step 805 is false (step 805: No), the backup processing flow ends.

以上により、ファイルサーバ(運用)103Aに格納されているファイルがクラウドサーバ105へバックアップされる。このバックアップ処理は、災害が発生する前に、定期的または不定期的(例えば、ファイルサーバ(運用)103Aに未バックアップのファイルが格納される都度)に実行される。つまり、災害発生後には、バックアップ処理が実行された時点のファイルサーバ(運用)103Aのファイルシステムボリューム203をリストアできる。 As a result, the files stored in the file server (operation) 103A are backed up to the cloud server 105. This backup process is executed periodically or irregularly (for example, each time an unbacked up file is stored in the file server (operation) 103A) before a disaster occurs. That is, after the disaster occurs, the file system volume 203 of the file server (operation) 103A at the time when the backup process is executed can be restored.

図9は、ファイルサーバ(リストア)103Bが実行するファイルのリストア処理のフローを示す。 FIG. 9 shows a flow of file restoration processing executed by the file server (restore) 103B.

リストア処理は、データ送受信プログラム210とリストアプログラム209が連携して実行する。 The restore process is executed by the data transmission / reception program 210 and the restore program 209 in cooperation with each other.

ファイルサーバ(リストア)103Bの管理者が、管理プログラム211に対し、クラウドサーバ105に格納されたバックアップデータ306のリストア処理を指示する。その指示が、管理プログラム211からデータ送受信プログラム210に送られる。 The administrator of the file server (restore) 103B instructs the management program 211 to restore the backup data 306 stored in the cloud server 105. The instruction is sent from the management program 211 to the data transmission / reception program 210.

データ送受信プログラム210は、その指示を受けて、格納データ管理テーブル215を検索し、ファイルシステムボリューム203にリストアされていないファイルを1つ選択する(ステップ901)。 In response to the instruction, the data transmission / reception program 210 searches the stored data management table 215 and selects one file that has not been restored to the file system volume 203 (step 901).

次に、データ送受信プログラム210は、[残量](ネットワーク102の遅延時間)と、[残量](ステップ901で選択したファイル(図9において「選択ファイル」)のうちリストアされていないデータの量)とを設定する(ステップ902)。なお、選択ファイルのリストア開始時は、遅延が不明であるため、データ送受信プログラム210は、[遅延]に、初期値(例えば、30ミリ秒)を設定する。それに代えて、データ送受信プログラム210は、ダミーデータのようなデータをネットワーク102を通して通信し、その通信に関して遅延計測プログラムによって計測された遅延時間を、[遅延]に設定してもよい。また、データ送受信プログラム210は、[残量]に、選択ファイルに対応したサイズ602の値を設定する。 Next, the data transmission / reception program 210 determines the unrestored data of the [remaining amount] (delay time of the network 102) and the [remaining amount] (file selected in step 901 (“selected file” in FIG. 9)). Amount) and is set (step 902). Since the delay is unknown at the start of restoration of the selected file, the data transmission / reception program 210 sets an initial value (for example, 30 milliseconds) in [Delay]. Instead, the data transmission / reception program 210 may communicate data such as dummy data through the network 102, and set the delay time measured by the delay measurement program for the communication to [delay]. Further, the data transmission / reception program 210 sets a value of size 602 corresponding to the selected file in [Remaining amount].

次に、データ送受信プログラム210は、遅延([遅延]に設定されている値)に基づき、データ送受信管理テーブル213を検索する(ステップ903)。例えば、[遅延]が30ミリ秒のときは、データ送受信プログラム210は、遅延501“30msec”を含んだレコード504Cを選択する。なお、遅延に対応したチャンクサイズ502が示すサイズのチャンクの数が、遅延に対応した並列度503が示す並列度(値)未満の場合、データ送受信プログラム210は、ステップ901で最近選択したファイルに代えてまたは加えて、ファイル合計サイズが、遅延に対応したチャンクサイズ502が示すサイズのチャンクの数が、遅延に対応した並列度503が示す並列度(値)以上となるような、1以上のファイルを選択してもよい。 Next, the data transmission / reception program 210 searches the data transmission / reception management table 213 based on the delay (value set in [delay]) (step 903). For example, when the [delay] is 30 milliseconds, the data transmission / reception program 210 selects the record 504C including the delay 501 “30 msec”. When the number of chunks of the size indicated by the chunk size 502 corresponding to the delay is less than the parallel degree (value) indicated by the parallel degree 503 corresponding to the delay, the data transmission / reception program 210 selects the file recently selected in step 901. Alternatively or additionally, the total file size is one or more such that the number of chunks of the size indicated by the chunk size 502 corresponding to the delay is equal to or greater than the parallelism (value) indicated by the parallelism degree 503 corresponding to the delay. You may select a file.

そして、データ送受信プログラム210は、レコード504Cにおけるチャンクサイズ502が示すサイズのチャンクの取得要求を、レコード504Cにおける並列度503が示す並列度分、1以上のクラウドサーバ105へ並列に送信し、その並列度分の取得要求に応答して1以上のクラウドサーバ105からチャンクを取得(受信)する(ステップ904)。なお、ステップ902からステップ906の繰り返し処理において、遅延が前回のチャンク取得時と変化しなかった場合、ステップ904では、続きのチャンクを取得する動作となる。繰り返し動作時の詳細は、図10を用いて後に詳述する。 Then, the data transmission / reception program 210 transmits a chunk acquisition request of the size indicated by the chunk size 502 in the record 504C in parallel to one or more cloud servers 105 by the degree of parallelism indicated by the parallelism degree 503 in the record 504C, and the parallelism thereof. Chunks are acquired (received) from one or more cloud servers 105 in response to the acquisition requests (step 904). In the iterative process from step 902 to step 906, if the delay does not change from the time of the previous chunk acquisition, the operation of acquiring the subsequent chunks is performed in step 904. Details of the repetitive operation will be described later with reference to FIG.

ステップ904でクラウドサーバ105からチャンクを取得する際に、遅延計測プログラム212が、ファイルサーバ(リストア)103Bとクラウドサーバ105間の通信の遅延を計測しておく(ステップ905)。 When acquiring chunks from the cloud server 105 in step 904, the delay measurement program 212 measures the delay in communication between the file server (restore) 103B and the cloud server 105 (step 905).

続いて、データ送受信プログラム210は、[残量]が0より大きいか否かを判断する(ステップ906)。例えば、8MBのファイルをリストアする場合において、データ送受信プログラム210が、データ送受信管理テーブル213のレコード504Cに従い、1MBのチャンクを4並列で取得した場合、合計4MBのデータが取得されたため、未だ、4MBの残量がある。つまり、[残量]=4MBである。従って、この場合は、ステップ906の判断結果は真であり(ステップ906:Yes)、データ送受信プログラム210は、ステップ902から処理を続ける。一方、「残量」=0MBの場合は、ステップ906の判断結果は偽となり(ステップ906:No)、ステップ907へ進む。 Subsequently, the data transmission / reception program 210 determines whether or not the [remaining amount] is greater than 0 (step 906). For example, when restoring an 8MB file, if the data transmission / reception program 210 acquires 1MB chunks in 4 parallels according to the record 504C of the data transmission / reception management table 213, a total of 4MB of data has been acquired, so 4MB is still available. There is a remaining amount of. That is, [remaining amount] = 4 MB. Therefore, in this case, the determination result of step 906 is true (step 906: Yes), and the data transmission / reception program 210 continues the process from step 902. On the other hand, when "remaining amount" = 0 MB, the determination result in step 906 is false (step 906: No), and the process proceeds to step 907.

そして、データ送受信プログラム210は、格納データ管理テーブル215を検索し、リストア対象のファイルがあれば(ステップ907:Yes)、ステップ901から処理を継続する。一方、リストア対象のファイルがなければ(ステップ907:No)、リストア処理を終了する。 Then, the data transmission / reception program 210 searches the stored data management table 215, and if there is a file to be restored (step 907: Yes), the process continues from step 901. On the other hand, if there is no file to be restored (step 907: No), the restore process is terminated.

図10は、1ファイルのチャンク取得の繰り返し(図9のステップ902からステップ906の繰り返し)を示す図である。8MBのファイルをリストアする場合を想定し、チャンク取得の流れを、図10を用いて説明する。なお、図10の説明において、「ループ」とは、ステップ902からステップ906にかけた処理を言う。なお、「ループ」は、リストア回数の一例である。また、図10において、白塗りのチャンクは、未処理データの少なくとも一部としてのチャンクであり、グレーのチャンクは、処理済み(取得済み)のチャンクである。 FIG. 10 is a diagram showing repeated chunk acquisition of one file (repetition of steps 902 to 906 in FIG. 9). Assuming a case of restoring an 8 MB file, the flow of chunk acquisition will be described with reference to FIG. In the description of FIG. 10, the “loop” refers to the process from step 902 to step 906. The "loop" is an example of the number of restores. Further, in FIG. 10, the white-painted chunk is a chunk as at least a part of the unprocessed data, and the gray chunk is a processed (acquired) chunk.

まず、データ送受信プログラム210は、ループ1回目の遅延(遅延時間)は不明のため、[遅延]の初期値として“30ミリ秒”を設定する。また、データ送受信プログラム210は、[残量]に“8MB”を設定する。そして、データ送受信管理テーブル213の遅延501が30ミリ秒であるレコード504Cを選択する。レコード504Cのチャンクサイズ502は“1MB”であり、並列度503は“4”である。そこで、データ送受信プログラム210は、リストア対象のファイルを1MBのチャンクとし、先頭4チャンクを並列に取得する。つまり、ループ1回目のチャンク取得は、チャンク1からチャンク4を並列に取得することである。結果として、4MB分のファイルデータの取得が完了する。このため、残量は4MB(=8MB−4MB)となり、故に、データ送受信プログラム210は、[残量]を“4MB”に更新する。 First, since the delay (delay time) of the first loop is unknown in the data transmission / reception program 210, "30 milliseconds" is set as the initial value of [delay]. Further, the data transmission / reception program 210 sets "8MB" in the [remaining amount]. Then, the record 504C having a delay 501 of the data transmission / reception management table 213 of 30 milliseconds is selected. The chunk size 502 of record 504C is "1MB" and the degree of parallelism 503 is "4". Therefore, the data transmission / reception program 210 sets the file to be restored as a chunk of 1 MB, and acquires the first four chunks in parallel. That is, the first chunk acquisition in the loop is to acquire chunks 1 to 4 in parallel. As a result, the acquisition of 4MB of file data is completed. Therefore, the remaining amount is 4MB (= 8MB-4MB), and therefore, the data transmission / reception program 210 updates the [remaining amount] to "4MB".

次のループ2回目では、ループ1回目にチャンク1からチャンク4まで取得した時の遅延(計測された遅延時間)が20ミリ秒であったとする。このため、ループ2回目までに、データ送受信プログラム210は、[遅延]を“20ミリ秒”に更新する。ループ2回目では、データ送受信プログラム210は、データ送受信管理テーブル213の遅延501が“20ミリ秒”であるレコード504Bを選択する。レコード504Bのチャンクサイズ502は“0.5MB”であり、並列度503は“2”である。そこで、データ送受信プログラム210は、4MBの残データを0.5MBのチャンクが8チャンクあるとする。そして、並列度“2”であるので、データ送受信プログラム210は、2つのチャンクAとチャンクBを並列に取得する。この時点で、ループ1回目の4MBとループ2回目の1MBが取得された状態となり、残量は3MBとなる。故に、データ送受信プログラム210は、[残量]を“3MB”に更新する。 In the second loop of the next loop, it is assumed that the delay (measured delay time) when acquiring chunks 1 to 4 in the first loop is 20 milliseconds. Therefore, by the second loop, the data transmission / reception program 210 updates the [delay] to "20 milliseconds". In the second loop, the data transmission / reception program 210 selects the record 504B in which the delay 501 of the data transmission / reception management table 213 is "20 milliseconds". The chunk size 502 of record 504B is "0.5MB" and the degree of parallelism 503 is "2". Therefore, it is assumed that the data transmission / reception program 210 has 8 chunks of 0.5 MB of the remaining data of 4 MB. Since the degree of parallelism is "2", the data transmission / reception program 210 acquires two chunks A and B in parallel. At this point, 4 MB for the first loop and 1 MB for the second loop are acquired, and the remaining amount is 3 MB. Therefore, the data transmission / reception program 210 updates the [remaining amount] to "3MB".

ループ3回目では、ループ2回目にチャンクAとチャンクBを取得した時の遅延(計測された遅延時間)が20ミリ秒であったとする。このため、[遅延]は“20ミリ秒”のままとされる。つまり、データ送受信プログラム210は、遅延時間が変化しなかったと判断する。従って、ループ3回目では、データ送受信プログラム210は、遅延“20ミリ秒”に対応したチャンクサイズ“0.5MB”、並列度“2”を維持し、続きのチャンクCとチャンクDを取得する。この時点で、更に1MBが取得された状態となり、残量は2MBとなる。故に、データ送受信プログラム210は、[残量]を“2MB”に更新する。 In the third loop, it is assumed that the delay (measured delay time) when the chunks A and B are acquired in the second loop is 20 milliseconds. Therefore, the [delay] remains "20 milliseconds". That is, the data transmission / reception program 210 determines that the delay time has not changed. Therefore, in the third loop, the data transmission / reception program 210 maintains the chunk size "0.5 MB" and the degree of parallelism "2" corresponding to the delay "20 milliseconds", and acquires the subsequent chunks C and D. At this point, another 1 MB is acquired, and the remaining amount is 2 MB. Therefore, the data transmission / reception program 210 updates the [remaining amount] to "2MB".

ループ4回目とループ5回目も、遅延が“20ミリ秒”で変化していないため、データ送受信プログラム210は、遅延“20ミリ秒”に対応したチャンクサイズ“0.5MB”、並列度“2”でリストアを続ける。ループ5回目で、チャンクGとチャンクHを取得できれば、残量が0MBになるので、このファイルのリストアが完了する。 Since the delay does not change at "20 ms" in the 4th loop and the 5th loop, the data transmission / reception program 210 has a chunk size of "0.5 MB" and a degree of parallelism of "2" corresponding to the delay of "20 ms". Continue the restore with ". If chunk G and chunk H can be acquired in the fifth loop, the remaining amount becomes 0 MB, and the restoration of this file is completed.

このように、遅延に対応する最適なリストア速度を達成できるように、ループ毎に、データ送受信プログラム210は、チャンクサイズと並列数を最近の遅延にあわせて変更する。このため、最適なリストア速度の維持が期待できる。 In this way, the data transmission / reception program 210 changes the chunk size and the number of parallels according to the recent delay for each loop so that the optimum restore speed corresponding to the delay can be achieved. Therefore, the optimum restore speed can be expected to be maintained.

以上の実施例によれば、ネットワーク102の遅延に基づいて、チャンクサイズ(ファイルの取得サイズ)と取得の並列度が動的に変更される。それにより、ネットワーク102の最大帯域を使ってチャンクを取得することが期待できる。その結果、リストア速度の向上、言い換えれば、リストア時間の短縮を、期待できる。リストア時間を短縮することにより、災害後のファイル共有サービスを早期に再開できる。 According to the above embodiment, the chunk size (file acquisition size) and the degree of parallelism of acquisition are dynamically changed based on the delay of the network 102. As a result, it can be expected that chunks will be acquired using the maximum bandwidth of the network 102. As a result, it can be expected that the restore speed will be improved, in other words, the restore time will be shortened. By shortening the restore time, the file sharing service after a disaster can be restarted at an early stage.

なお、本実施例では、ファイルサーバ(運用)103A内のデータ送受信プログラム210は、ファイルサーバ(運用)103内の各ファイルを、最大並列度分のクラウドサーバ105の各々にバックアップしてよい。ファイルサーバ(リストア)103B内のデータ送受信プログラム210は、最大並列度分のクラウドサーバ105のうち、並列度分のクラウドストレージ105からそれぞれその並列度分のチャンクを並列に取得してよい。リストア元が複数のクラウドサーバ105に分散されるので、より確実に高速リストアを実現できることが期待できる。 In this embodiment, the data transmission / reception program 210 in the file server (operation) 103A may back up each file in the file server (operation) 103 to each of the cloud servers 105 for the maximum degree of parallelism. The data transmission / reception program 210 in the file server (restore) 103B may acquire chunks for the parallel degree from the cloud storage 105 for the parallel degree in parallel among the cloud servers 105 for the maximum parallel degree. Since the restore source is distributed to a plurality of cloud servers 105, it can be expected that high-speed restore can be realized more reliably.

図11を用いて、実施例2を説明する。本実施例は、実施例1の変形例に相当するため、実施例1との相違を中心に説明する。 The second embodiment will be described with reference to FIG. Since this embodiment corresponds to a modified example of the first embodiment, the differences from the first embodiment will be mainly described.

図11は、実施例2に係るリストア処理の一例を示す模式図である。 FIG. 11 is a schematic diagram showing an example of the restore process according to the second embodiment.

本実施例に係るリストア方法は、サイズの小さいファイルをリストアする場合のリストア方法である。サイズの小さいファイルをリストアする場合、データ送受信管理テーブル213のチャンクサイズ502でファイルを分けると、並列度503より小さくなる場合がある。一方、並列度503でファイルを分けると、チャンクサイズ502より小さくなることもある。この場合、適切なチャンクサイズや並列数を満たすことができない。そこで、本実施例では、チャンクサイズ502が守られ、並列度は、1つのリストア処理(メインの処理)におけるリストア対象のファイルが複数とされることで満たされる。 The restore method according to this embodiment is a restore method for restoring a small file. When restoring a small file, if the files are divided by the chunk size 502 of the data transmission / reception management table 213, the degree of parallelism may be smaller than 503. On the other hand, if the files are divided by the degree of parallelism 503, the size may be smaller than the chunk size 502. In this case, the appropriate chunk size and parallel number cannot be satisfied. Therefore, in this embodiment, the chunk size 502 is protected, and the degree of parallelism is satisfied by having a plurality of files to be restored in one restore process (main process).

図11では、2MBのFile1とFile2が、クラウドサーバ105Aと105Bへそれぞれバックアップされている。そして、ネットワーク102の遅延は30ミリ秒である。遅延が30ミリ秒であるため、データ送受信管理テーブル213(図5)によれば、採用されるチャンクサイズ502は“1.0MB”であり、採用される並列度503は“4”である。また、リストア対象として選択されたファイルはFile1であるとする。 In FIG. 11, 2 MB of File 1 and File 2 are backed up to the cloud servers 105A and 105B, respectively. And the delay of the network 102 is 30 milliseconds. Since the delay is 30 milliseconds, according to the data transmission / reception management table 213 (FIG. 5), the chunk size 502 adopted is "1.0 MB", and the degree of parallelism 503 adopted is "4". Further, it is assumed that the file selected as the restoration target is File1.

この場合、File1を1MBのチャンクに分けても2並列でのリストアが限界となり、並列度“4”が満たされない。一方、File1を4並列で分けると(4分割すると)、各チャンクのサイズは0.5MBとなり、チャンクサイズ“1.0MB”が満たされない。 In this case, even if File 1 is divided into chunks of 1 MB, restoration in two parallels is the limit, and the degree of parallelism "4" is not satisfied. On the other hand, when File 1 is divided into four in parallel (when divided into four), the size of each chunk becomes 0.5 MB, and the chunk size "1.0 MB" is not satisfied.

そこで、ファイルサーバ(リストア)103B内のデータ送受信プログラム210は、File1に加えてFile2を1MBのチャンクに分けてリストアする。これにより、合計4並列でリストアできるようになる。つまり、チャンクサイズ“1.0MB”且つ並列度“4”を満たすためには、リストア対象のサイズは、4.0MB以上(1.0x4=4.0MB)である必要がある。このため、データ送受信プログラム210は、2MBのFile1に加えて2MBのFile2もリストア対象とすることで、合計ファイルサイズが4.0MB以上であることを満たす。 Therefore, the data transmission / reception program 210 in the file server (restore) 103B restores File 2 in chunks of 1 MB in addition to File 1. This makes it possible to restore a total of 4 in parallel. That is, in order to satisfy the chunk size "1.0 MB" and the degree of parallelism "4", the size to be restored needs to be 4.0 MB or more (1.0 x 4 = 4.0 MB). Therefore, the data transmission / reception program 210 satisfies that the total file size is 4.0 MB or more by targeting the 2 MB File 2 as the restore target in addition to the 2 MB File 1.

この動作を達成するため、データ送受信プログラム210は、図9のステップ903で、チャンクサイズと並列度を決定した後、並列度が不足しているか否を判断する。この判断結果が真の場合は、データ送受信プログラム210は、リストア処理を別のスレッドまたはプロセスとして起動し(サブのリストア処理を起動し)、ステップ901からステップ906を動作させる。つまり、新たにリストア対象とされるファイルが選択され、処理が進む。遅延に対応した並列度が満たされるまで(リストア処理で達成される並列度の合計が、遅延に対応した並列度以上になるまで)、同様にリストア処理が起動される。ただし、リストア処理は個別に動作するのではなく、ステップ904で処理を待ち合わせする。つまり、ステップ904は、複数のリストア処理が同時に実行する。これにより、リストアの並列度を達成する。この個別のリストア処理は、リストアセッションの一例でもよい。なお、この時、並列度を調整するため、データ送受信プログラム210は、リストア処理(リストアセッション)毎にチャンクサイズと並列度を変更してもよい。例えば、データ送受信プログラム210は、全リストア処理の並列度の合計が、目的の並列度(遅延に対応した並列度)と合わない場合は、何れかのリストア処理のチャンクサイズと並列度を小さくするという調整を行ってよい。 In order to achieve this operation, the data transmission / reception program 210 determines the chunk size and the degree of parallelism in step 903 of FIG. 9, and then determines whether or not the degree of parallelism is insufficient. If this determination result is true, the data transmission / reception program 210 starts the restore process as another thread or process (starts the sub restore process), and operates steps 901 to 906. That is, a new file to be restored is selected, and the process proceeds. The restore process is started in the same manner until the degree of parallelism corresponding to the delay is satisfied (until the total degree of parallelism achieved by the restore process becomes equal to or higher than the degree of parallelism corresponding to the delay). However, the restore process does not operate individually, but waits for the process in step 904. That is, in step 904, a plurality of restore processes are executed at the same time. This achieves the degree of parallelism of the restore. This individual restore process may be an example of a restore session. At this time, in order to adjust the degree of parallelism, the data transmission / reception program 210 may change the chunk size and the degree of parallelism for each restore process (restore session). For example, the data transmission / reception program 210 reduces the chunk size and the degree of parallelism of any of the restore processes when the total degree of parallelism of all restore processes does not match the target degree of parallelism (the degree of parallelism corresponding to the delay). You may make the adjustment.

以上のように、本実施例によると、ファイルが小さく、1つのファイルのデータ取得では、並列度を達成できない場合、複数のファイルを纏めて1つのリストア対象とすることで、並列度を達成することができる。これにより、リストア対象ファイルのファイルサイズに依存することなく、リストア速度を高めることが期待できる。 As described above, according to the present embodiment, when the file is small and the degree of parallelism cannot be achieved by acquiring the data of one file, the degree of parallelism is achieved by collectively targeting a plurality of files as one restore target. be able to. As a result, it can be expected that the restore speed can be increased without depending on the file size of the file to be restored.

なお、上記の説明では、チャンクサイズが優先されるチャンクサイズ優先リストア処理が採用されるが、並列度が優先される並列度優先リストア処理が採用されてもよい。例えば、以下の処理が行われてもよい。 In the above description, the chunk size priority restore process in which the chunk size is prioritized is adopted, but the parallel degree priority restore process in which the parallel degree is prioritized may be adopted. For example, the following processing may be performed.

データ送受信プログラム210は、下記の処理、
(p)リストア対象ファイルを、計測された遅延に応じた並列度分のチャンクに分割すると仮定した場合に、チャンクサイズが、計測された遅延に応じたチャンクサイズ以上になるか否かを判断すること、
(q)(p)の判断結果が真の場合、リストア対象ファイルを、計測された遅延に応じた並列度分のチャンクに分割し、その分割により得られたチャンクを、計測された遅延に応じた並列度で取得すること、
を実行してよい。これにより、遅延に応じた並列度が維持される。
The data transmission / reception program 210 performs the following processing,
(P) Assuming that the file to be restored is divided into chunks for the degree of parallelism according to the measured delay, it is determined whether or not the chunk size is equal to or larger than the chunk size according to the measured delay. matter,
(Q) If the judgment result of (p) is true, the restore target file is divided into chunks for the degree of parallelism according to the measured delay, and the chunks obtained by the division are divided according to the measured delay. Obtaining with the degree of parallelism,
May be executed. As a result, the degree of parallelism according to the delay is maintained.

また、データ送受信プログラム210は、下記の処理、
(r)(q)の判断結果が偽の場合、リストア対象ファイルと、1以上の他のリストア対象ファイルとを、計測された遅延に応じた並列度分のチャンクに分割し、その分割により得られたチャンクを、計測された遅延に応じた並列度で取得すること、
を実行してよい。リストア対象ファイルと1以上の他のリストア対象ファイルとの合計サイズは、計測された遅延に応じたチャンクサイズと計測された遅延に応じた並列度との積以上である。これにより、遅延に応じたチャンクサイズが維持される。
In addition, the data transmission / reception program 210 performs the following processing.
(R) When the judgment result of (q) is false, the restore target file and one or more other restore target files are divided into chunks for the degree of parallelism according to the measured delay, and the result is obtained by the division. Obtaining the chunks obtained with the degree of parallelism according to the measured delay,
May be executed. The total size of the restore target file and one or more other restore target files is greater than or equal to the product of the chunk size according to the measured delay and the degree of parallelism according to the measured delay. As a result, the chunk size according to the delay is maintained.

データ送受信プログラム210は、(q)の判断結果が偽の場合であっても、上記の積以上の合計サイズが得られる他のリストア対象ファイルが無ければ、(r)に代えて、下記の処理、
(s1)リストア対象ファイルを、計測された遅延に応じたチャンクサイズのチャンクに分割し、その分割により得られたチャンクを、計測された遅延に応じた並列度未満のうちの最大並列度で取得すること、
を実行してよい。これにより、遅延に応じたチャンクサイズを最小チャンクサイズとして守り、遅延に応じた並列度未満であるがなるべく高い並列度で、チャンクを取得することができる。
Even if the judgment result of (q) is false, the data transmission / reception program 210 performs the following processing instead of (r) if there is no other restore target file for which the total size equal to or larger than the above product can be obtained. ,
(S1) The file to be restored is divided into chunks of chunk size according to the measured delay, and the chunks obtained by the division are acquired at the maximum degree of parallelism less than the degree of parallelism according to the measured delay. To do,
May be executed. As a result, the chunk size according to the delay is protected as the minimum chunk size, and chunks can be acquired with a degree of parallelism that is less than the degree of parallelism according to the delay but as high as possible.

データ送受信プログラム210は、下記の処理、
(s2)(q)の判断結果が偽の場合、リストア対象ファイルを、計測された遅延に応じたチャンクサイズのチャンクに分割し、その分割により得られたチャンクを、計測された遅延に応じた並列度未満のうちの最大並列度で取得することを実行すること、
を実行してよい。これにより、上記の積以上の合計サイズが得られる他のリストア対象ファイルの有無に関わらず、遅延に応じたチャンクサイズを最小チャンクサイズとして守り、遅延に応じた並列度未満であるがなるべく高い並列度で、チャンクを取得することができる。
The data transmission / reception program 210 performs the following processing,
(S2) When the judgment result of (q) is false, the restore target file is divided into chunks of chunk size according to the measured delay, and the chunks obtained by the division are divided according to the measured delay. Performing to get at the maximum degree of parallelism, less than the degree of parallelism,
May be executed. As a result, the chunk size according to the delay is kept as the minimum chunk size regardless of the presence or absence of other restore target files that can obtain the total size equal to or larger than the above product, and the parallelism is less than the parallelism according to the delay but as high as possible. You can get chunks by degree.

以上が、並列度優先リストア処理の一例である。なお、データ送受信プログラム210は、チャンクサイズ優先リストア処理と並列度優先リストア処理のいずれを採用するかを選択し(例えば、リストア対象ファイルまたは計測された遅延に基づき選択し)、選択した方の処理を実行してもよい。ファイル毎に、または、遅延(例えば代表値)毎に、チャンクサイズ優先リストア処理と並列度優先リストア処理のいずれを採用するかが予め定められていてもよい。 The above is an example of parallelism priority restore processing. The data transmission / reception program 210 selects whether to adopt the chunk size priority restore process or the parallel degree priority restore process (for example, selects based on the file to be restored or the measured delay), and the selected process. May be executed. It may be predetermined whether to adopt the chunk size priority restore process or the parallel degree priority restore process for each file or for each delay (for example, a representative value).

図12を用いて、実施例3について説明する。本実施例は、実施例1の変形例に相当するため、実施例1との相違を中心に説明する。 The third embodiment will be described with reference to FIG. Since this embodiment corresponds to a modified example of the first embodiment, the differences from the first embodiment will be mainly described.

図12は、実施例3に係るバックアップ処理およびリストア処理の一例を示す模式図である。 FIG. 12 is a schematic diagram showing an example of the backup process and the restore process according to the third embodiment.

本実施例に係るリストア方法は、ファイルを複数のフラグメントに分割した分割リストア方法である。本実施例において、複数のフラグメントの各々は、直前のフラグメントの後側部分と、直後のフラグメントの前側部分とのうちの少なくとも1つと重なり合っている。このため、ファイルデータをリストアする際のチャンクサイズと並列度を調整することができる。 The restore method according to this embodiment is a split restore method in which a file is divided into a plurality of fragments. In this example, each of the plurality of fragments overlaps at least one of the posterior portion of the immediately preceding fragment and the anterior portion of the immediately preceding fragment. Therefore, the chunk size and the degree of parallelism when restoring the file data can be adjusted.

図12によれば、実施例3の概要の一例は次の通りである。すなわち、ファイルサーバ(運用)103A4MBのファイルを複数のフラグメントに分割し、その複数のフラグメントをクラウドサーバ105A及び105Bへバックアップする。ファイルサーバ(リストア)103Bが、複数のフラグメントのチャンクをクラウドサーバ105A及び105Bから並列に取得して、4MBのファイルをリストアする。 According to FIG. 12, an example of the outline of the third embodiment is as follows. That is, the file of the file server (operation) 103A4MB is divided into a plurality of fragments, and the plurality of fragments are backed up to the cloud servers 105A and 105B. The file server (restore) 103B acquires chunks of a plurality of fragments in parallel from the cloud servers 105A and 105B, and restores a 4 MB file.

以下、詳細を説明する。 The details will be described below.

ファイルのデータは、4MBである。4MBのファイルデータが、3つのフラグメント1〜ト3に分割され、3つのフラグメント1〜3がクラウドサーバ105A及び105Bへバックアップされる。フラグメント1は、ファイルデータの0〜2MB目の部分であり、フラグメント2は、ファイルデータの1〜3MB目の部分であり、フラグメント3は、ファイルデータの2〜4MB目の部分である。これらフラグメント1〜3への分割は、作成プログラム208が実施する。各フラグメントのサイズは同じである。フラグメントサイズは、複数種類のチャンクサイズ(例えば、図5の例によれば、0.25MB、0.5MB、1.0MB)の公倍数であることが望ましい。なぜなら、1つのフラグメントから1以上のチャンクを取得するためである。更に、フラグメントサイズは、複数種類のチャンクサイズの最小公倍数のM倍(Mは2以上の整数)であることが望ましい。なぜなら、1つのフラグメントから2以上のチャンクを取得するためである)。 The data in the file is 4MB. The 4MB file data is divided into three fragments 1 to 3, and the three fragments 1 to 3 are backed up to the cloud servers 105A and 105B. Fragment 1 is the 0th to 2nd MB portion of the file data, fragment 2 is the 1st to 3rd MB portion of the file data, and fragment 3 is the 2nd to 4th MB portion of the file data. The division into the fragments 1 to 3 is carried out by the creation program 208. The size of each fragment is the same. The fragment size is preferably a common multiple of a plurality of chunk sizes (eg, 0.25 MB, 0.5 MB, 1.0 MB according to the example of FIG. 5). This is because one or more chunks are obtained from one fragment. Further, the fragment size is preferably M times the least common multiple of a plurality of types of chunk sizes (M is an integer of 2 or more). Because to get more than one chunk from one fragment).

フラグメント1及び2は、クラウドサーバ105Aに格納される。フラグメント3は、クラウドサーバ105Bに格納される。 Fragments 1 and 2 are stored in the cloud server 105A. Fragment 3 is stored in the cloud server 105B.

ファイルサーバ(リストア)103Bがファイルデータをリストアする際に、ネットワーク102の通信遅延が20ミリ秒であった場合、ファイルサーバ(リストア)103Bのデータ送受信プログラム210は、データ送受信管理テーブル213のレコード504Bを選択する。この時、チャンクサイズ502は“0.5MB”であり、並列度503は“2”である。そこで、データ送受信プログラム210は、先頭から順に0.5MB単位にフラグメント1とフラグメント3を、2並列に取得する。これにより、2並列でリストアを行い、データ送受信管理テーブル213に設定されたチャンクサイズと並列度を達成できる。 When the file server (restore) 103B restores the file data, if the communication delay of the network 102 is 20 milliseconds, the data transmission / reception program 210 of the file server (restore) 103B uses the record 504B of the data transmission / reception management table 213. Select. At this time, the chunk size 502 is "0.5 MB" and the degree of parallelism 503 is "2". Therefore, the data transmission / reception program 210 acquires the fragment 1 and the fragment 3 in parallel in 0.5 MB units from the beginning. As a result, restoration can be performed in two parallels, and the chunk size and the degree of parallelism set in the data transmission / reception management table 213 can be achieved.

一方、ネットワーク102の通信遅延が30ミリ秒であった場合、データ送受信プログラム210は、データ送受信管理テーブル213のレコード504Cを選択する。この時、チャンクサイズ502は“1MB”であり、並列度503は“4”である。そこで、データ送受信プログラム210は、フラグメント1の前半1MBのチャンク1−1と、フラグメント2の前半1MBのチャンク2−1と、フラグメント3の前半1MBのチャンク3−1及び後半1MBのチャンク3−2を、4並列に取得する。 On the other hand, when the communication delay of the network 102 is 30 milliseconds, the data transmission / reception program 210 selects the record 504C of the data transmission / reception management table 213. At this time, the chunk size 502 is "1 MB" and the degree of parallelism 503 is "4". Therefore, the data transmission / reception program 210 includes a chunk 1-1 of the first half 1 MB of the fragment 1, a chunk 2-1 of the first half 1 MB of the fragment 2, a chunk 3-1 of the first half 1 MB of the fragment 3, and a chunk 3-2 of the second half 1 MB. Is acquired in 4 parallels.

以上のように、本実施例によると、ファイルを複数のフラグメントに分割して複製する分割複製したファイルをリストアできる。さらに、フラグメントの範囲を一部重ね合わせることで、ネットワーク102の通信遅延が増加し、大きなチャンクかつ並列度を大きくリストアする場合でも、チャンクサイズと並列度を達成してリストアできる。 As described above, according to the present embodiment, the divided and duplicated file can be restored by dividing the file into a plurality of fragments and duplicating the file. Further, by partially superimposing the fragment ranges, the communication delay of the network 102 increases, and even when a large chunk and a large degree of parallelism are restored, the chunk size and the degree of parallelism can be achieved and restored.

以上、幾つかの実施例を説明したが、これらは本発明の説明のための例示であって、本発明の範囲をこれらの実施例にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。 Although some examples have been described above, these are examples for explaining the present invention, and the scope of the present invention is not limited to these examples. The present invention can also be implemented in various other forms.

103:ファイルサーバ 103: File server

Claims (14)

1以上のネットワークストレージからネットワークを通してリストア対象データを取得する計算機システムであって、
前記1以上のネットワークストレージ間のネットワーク遅延を計測する遅延計測手段と、
計測されたネットワーク遅延に応じたチャンクサイズおよび並列度のうちの少なくとも1つに従い、前記リストア対象データの少なくとも一部であるチャンクを、前記ネットワークを通して、前記1以上のネットワークストレージから取得する取得手段と、
取得されたチャンクを基に前記リストア対象データをリストアするリストア手段と
を備える計算機システム。
A computer system that acquires restore target data from one or more network storages through a network.
A delay measuring means for measuring network delay between one or more network storages, and
An acquisition means for acquiring chunks, which are at least a part of the data to be restored, from the one or more network storages through the network according to at least one of the chunk size and the degree of parallelism according to the measured network delay. ,
A computer system including a restore means for restoring the data to be restored based on the acquired chunks.
前記取得手段は、下記の処理、
(a)前記リストア対象データのうちの未処理データを、最近計測されたネットワーク遅延に応じたチャンクサイズのチャンクに分割すること、
(b)(a)の分割により得られたチャンクのうち、前記最近計測されたネットワーク遅延に応じた並列度分のチャンクを取得すること、
(c)(a)の分割により得られたチャンクと前記並列度分のチャンクとの差分があるか否かを判断すること、
(d)(c)の判断結果が真の場合、前記差分を未処理データとして(a)を実行すること、
を実行する、
請求項1記載の計算機システム。
The acquisition means is the following processing,
(A) Dividing the unprocessed data of the data to be restored into chunks of chunk size according to the recently measured network delay.
(B) Of the chunks obtained by the division of (a), the chunks corresponding to the degree of parallelism according to the recently measured network delay are acquired.
(C) Judging whether or not there is a difference between the chunk obtained by the division of (a) and the chunk corresponding to the degree of parallelism.
(D) If the judgment result of (c) is true, execute (a) with the difference as unprocessed data.
To execute,
The computer system according to claim 1.
前記取得手段、下記の処理、
(h)前記リストア対象データのうちの未処理データを、前記計測されたネットワーク遅延に応じたチャンクサイズのチャンクに分割すると仮定した場合に、チャンク数が、最近計測されたネットワーク遅延に応じた並列度以上になるか否かを判断すること、
(i)(h)の判断結果が真の場合、前記リストア対象データのうちの未処理データを、前記計測されたネットワーク遅延に応じたチャンクサイズのチャンクに分割すること、
(j)(h)の判断結果が偽の場合、前記最近計測されたネットワーク遅延に応じたチャンクサイズと前記最近計測されたネットワーク遅延に応じた並列度との積以上に合計データサイズがなるように、前記リストア対象データの他に、1以上の他のリストア対象データを選択し、前記リストア対象データとその選択した1以上の他のリストア対象データとのうちの未処理データを、前記最近計測されたネットワーク遅延に応じたチャンクサイズのチャンクに分割すること、
(k)(i)または(j)の分割により得られたチャンクのうち、前記計測されたネットワーク遅延に応じた並列度分のチャンクを取得すること、
を実行する、
請求項1記載の計算機システム。
The acquisition means, the following processing,
The (h) raw data of the restoration target data, assuming that the dividing into chunks chunk size corresponding to the measured network delay, the number of chunks, according to the network delay that is recently measured Judging whether or not the degree of parallelism is higher,
(I) When the determination result of (h) is true, the unprocessed data in the restore target data is divided into chunks of chunk size according to the measured network delay.
(J) When the judgment result of (h) is false, the total data size is greater than the product of the chunk size according to the recently measured network delay and the degree of parallelism according to the recently measured network delay. In addition to the restore target data, one or more other restore target data are selected, and the unprocessed data of the restore target data and the selected one or more other restore target data is measured recently. Dividing into chunks of chunk size according to the network delay
(K) Of the chunks obtained by the division of (i) or (j), the chunks corresponding to the degree of parallelism according to the measured network delay are acquired.
To execute,
The computer system according to claim 1.
前記リストア対象データは、所定の最大並列度分のネットワークストレージの各々に格納されており、
前記1以上のネットワークストレージは、前記最大並列度分のネットワークストレージであり、
前記取得手段は、前記最大並列度分のネットワークストレージのうち、並列度分のネットワークストレージからそれぞれその並列度分のチャンクを並列に取得する、
請求項1乃至3のうちのいずれか1項に記載の計算機システム。
The data to be restored is stored in each of the network storages for a predetermined maximum degree of parallelism.
The one or more network storages are network storages corresponding to the maximum degree of parallelism.
The acquisition means acquires chunks corresponding to the degree of parallelism in parallel from the network storage corresponding to the degree of parallelism among the network storages corresponding to the degree of parallelism.
The computer system according to any one of claims 1 to 3.
前記取得手段は、下記の処理、
(p)前記リストア対象データを、前記計測されたネットワーク遅延に応じた並列度分のチャンクに分割すると仮定した場合に、チャンクサイズが、前記計測されたネットワーク遅延に応じたチャンクサイズ以上になるか否かを判断すること、
(q)(p)の判断結果が真の場合、前記リストア対象データを、前記計測されたネットワーク遅延に応じた並列度分のチャンクに分割し、その分割により得られたチャンクを、前記計測されたネットワーク遅延に応じた並列度で取得すること、
を実行する、
請求項1記載の計算機システム。
The acquisition means is the following processing,
(P) If it is assumed that the data to be restored is divided into chunks for the degree of parallelism according to the measured network delay, does the chunk size become larger than or equal to the chunk size according to the measured network delay? To judge whether or not
(Q) When the determination result of (p) is true, the restore target data is divided into chunks for the degree of parallelism according to the measured network delay, and the chunks obtained by the division are measured. Obtaining with the degree of parallelism according to the network delay,
To execute,
The computer system according to claim 1.
前記取得手段は、下記の処理、
(r)()の判断結果が偽の場合、前記リストア対象データと、1以上の他のリストア対象データとを、前記計測されたネットワーク遅延に応じた並列度分のチャンクに分割し、その分割により得られたチャンクを、前記計測されたネットワーク遅延に応じた並列度で取得すること、
を実行し、
前記リストア対象データと前記1以上の他のリストア対象データとの合計データサイズは、前記計測されたネットワーク遅延に応じたチャンクサイズと前記計測されたネットワーク遅延に応じた並列度との積以上である、
請求項5記載の計算機システム。
The acquisition means is the following processing,
(R) When the judgment result of (p ) is false, the restore target data and one or more other restore target data are divided into chunks for the degree of parallelism according to the measured network delay, and the chunks are divided. Acquiring the chunk obtained by the division with the degree of parallelism according to the measured network delay,
And
The total data size of the restore target data and the other restore target data of 1 or more is equal to or more than the product of the chunk size according to the measured network delay and the degree of parallelism according to the measured network delay. ,
The computer system according to claim 5.
前記取得手段は、()の判断結果が偽の場合であっても、前記積以上の合計サイズが得られる他のリストア対象データが無ければ、(r)に代えて、下記の処理、
(s)前記リストア対象データを、前記計測されたネットワーク遅延に応じたチャンクサイズのチャンクに分割し、その分割により得られたチャンクを、前記計測されたネットワーク遅延に応じた並列度未満のうちの最大並列度で取得すること、
を実行する、
請求項6記載の計算機システム。
Even if the judgment result of (p ) is false, the acquisition means performs the following processing instead of (r) if there is no other restore target data for which the total size equal to or larger than the product can be obtained.
(S) The restore target data is divided into chunks of chunk size according to the measured network delay, and the chunks obtained by the division are divided into chunks having a degree of parallelism less than the measured network delay. obtaining the maximum degree of parallelism,
To execute,
The computer system according to claim 6.
前記取得手段は、下記の処理、
(s)()の判断結果が偽の場合、前記リストア対象データを、前記計測されたネットワーク遅延に応じたチャンクサイズのチャンクに分割し、その分割により得られたチャンクを、前記計測されたネットワーク遅延に応じた並列度未満のうちの最大並列度で取得することを実行すること、
を実行する、
請求項5記載の計算機システム。
The acquisition means is the following processing,
(S) When the determination result of (p ) is false, the restore target data is divided into chunks of chunk size according to the measured network delay, and the chunks obtained by the division are divided into the measured chunks. executing the obtaining the maximum degree of parallelism of less than parallelism in accordance with the network delay,
To execute,
The computer system according to claim 5.
複数のネットワークストレージに、前記リストア対象データを含む1以上のリストア対象データが格納されており、
前記取得手段は、前記複数のネットワークストレージのうちの2以上のネットワークストレージから前記1以上のリストア対象データのチャンクを取得する、
請求項1記載の計算機システム。
One or more restore target data including the restore target data is stored in a plurality of network storages.
The acquisition means acquires chunks of one or more restore target data from two or more network storages among the plurality of network storages.
The computer system according to claim 1.
前記複数のネットワークストレージに、前記リストア対象データの複数のフラグメントが格納されており、
前記複数のフラグメントの各々は、直前のフラグメントの後側部分と、直後のフラグメントの前側部分とのうちの少なくとも1つと重複しており、
前記取得手段は、前記複数のフラグメントのチャンクを前記複数のネットワークストレージから取得する、
請求項9記載の計算機システム。
A plurality of fragments of the data to be restored are stored in the plurality of network storages.
Each of the plurality of fragments overlaps with at least one of the posterior portion of the immediately preceding fragment and the anterior portion of the immediately preceding fragment.
The acquisition means acquires chunks of the plurality of fragments from the plurality of network storages.
The computer system according to claim 9.
前記取得手段は、リストアセッション毎に、最近計測されたネットワーク遅延に応じたチャンクサイズおよび並列度のうちの少なくとも1つに従いチャンクを取得する、
請求項1乃至10のうちのいずれか1項に記載の計算機システム。
The acquisition means acquires chunks according to at least one of the recently measured chunk size and degree of parallelism according to the recently measured network delay for each restore session.
The computer system according to any one of claims 1 to 10.
前記リストア対象データは、ファイルであり、
前記ネットワークは、単位時間当たりのデータ送受信サイズを徐々に大きくするスロースタートを含んだフロー制御が実施されるTCP(Transmission Control Protocol)である、
請求項1乃至11のうちのいずれか1項に記載の計算機システム。
The data to be restored is a file.
The network is TCP (Transmission Control Protocol) in which flow control including a slow start that gradually increases the data transmission / reception size per unit time is performed.
The computer system according to any one of claims 1 to 11.
データを1以上のネットワークストレージにバックアップする第1の計算機システムと、
前記1以上のネットワークストレージに格納されているデータのうちのリストア対象データをリストアする第2の計算機システムと
を備え、
前記第2の計算機システムは、
前記1以上のネットワークストレージと前記第2の計算機システム間のネットワーク遅延を計測し、
計測されたネットワーク遅延に応じたチャンクサイズおよび並列度のうちの少なくとも1つに従い、前記リストア対象データの少なくとも一部であるチャンクを取得し、
取得されたチャンクを基に前記リストア対象データをリストアする、
バックアップリストアシステム。
A first computer system that backs up data to one or more network storages,
A second computer system for restoring the data to be restored among the data stored in the one or more network storages is provided.
The second computer system is
The network delay between the one or more network storages and the second computer system is measured and
According to at least one of the chunk size and the degree of parallelism according to the measured network delay, a chunk that is at least a part of the data to be restored is acquired.
Restore the restore target data based on the acquired chunks,
Backup restore system.
1以上のネットワークストレージからネットワークを通してリストア対象データを取得する計算機システムによるリストア方法であって、
前記計算機システムは、
前記1以上のネットワークストレージ間のネットワーク遅延を計測し、
計測されたネットワーク遅延に応じたチャンクサイズおよび並列度のうちの少なくとも1つに従い、前記リストア対象データの少なくとも一部であるチャンクを、ネットワークを通して、前記1以上のネットワークストレージから取得し、
取得されたチャンクを基に前記リストア対象データをリストアする、
リストア方法。
It is a restoration method by a computer system that acquires data to be restored from one or more network storages through a network.
The computer system
Measure the network delay between the one or more network storages and
Chunks, which are at least a part of the data to be restored, are acquired from the one or more network storages through the network according to at least one of the chunk size and the degree of parallelism according to the measured network delay.
Restore the restore target data based on the acquired chunks,
Restore method.
JP2017024082A 2017-02-13 2017-02-13 Computer system and restore method Active JP6924952B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017024082A JP6924952B2 (en) 2017-02-13 2017-02-13 Computer system and restore method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017024082A JP6924952B2 (en) 2017-02-13 2017-02-13 Computer system and restore method

Publications (2)

Publication Number Publication Date
JP2018132814A JP2018132814A (en) 2018-08-23
JP6924952B2 true JP6924952B2 (en) 2021-08-25

Family

ID=63247448

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017024082A Active JP6924952B2 (en) 2017-02-13 2017-02-13 Computer system and restore method

Country Status (1)

Country Link
JP (1) JP6924952B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021141293A1 (en) 2020-01-06 2021-07-15 주식회사 아미크 Data archiving method and system for minimizing cost of data transmission and retrieval

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6085251A (en) * 1998-04-02 2000-07-04 The United States Of America As Represented By The Secretary Of The Air Force Implementing a parallel file transfer protocol
JP3540183B2 (en) * 1999-01-21 2004-07-07 株式会社東芝 Multilink communication device
CN1494790A (en) * 2001-03-28 2004-05-05 Cooperation method of transferring divided file under network environment
JP2012048373A (en) * 2010-08-25 2012-03-08 Toshiba Corp Medical data storage device
JP6310925B2 (en) * 2012-10-18 2018-04-11 ジラフィック テクノロジーズ エルティーディー.Giraffic Technologies Ltd. A congestion control method for dynamically maximizing the throughput of a communication link.
JP6488527B2 (en) * 2014-11-13 2019-03-27 シャープ株式会社 Receiving device, receiving method, program, and processor

Also Published As

Publication number Publication date
JP2018132814A (en) 2018-08-23

Similar Documents

Publication Publication Date Title
US20220075534A1 (en) Gateway for Cloud-Based Secure Storage
JP7098628B2 (en) File system hierarchy mirroring across cloud data stores
US9811424B2 (en) Optimizing restoration of deduplicated data
KR101862718B1 (en) Reducing data volume durability state for block-based storage
US20160150012A1 (en) Content-based replication of data between storage units
US20170004058A1 (en) Managing backup operations from a client system to a primary server and secondary server
US20100017444A1 (en) Continuous Data Protection of Files Stored on a Remote Storage Device
US9892130B2 (en) Parallel I/O read processing for use in clustered file systems having cache storage
US7376866B1 (en) Method and an apparatus to perform fast log replay
US10922009B2 (en) Mirroring write operations across data storage devices
WO2017107900A1 (en) Virtual machine recovery method and virtual machine management device
US9075532B1 (en) Self-referential deduplication
US10114582B1 (en) Dynamically selecting between sync and async replication modes
US20170004082A1 (en) Methods for host-side caching and application consistent writeback restore and devices thereof
US9092375B1 (en) Cloud-based instant volume restore with data source switchover feature
JP6133396B2 (en) Computer system, server, and data management method
US20230418716A1 (en) Anti-entropy-based metadata recovery in a strongly consistent distributed data storage system
US10855745B2 (en) Systems and methods for downloading data chunks using a varying number of simultaneous connections
JP6924952B2 (en) Computer system and restore method
US11144232B2 (en) Storage system with efficient snapshot pair creation during synchronous replication of logical storage volumes
US11301329B2 (en) Point-in-time copy on a remote system
US20080270480A1 (en) Method and system of deleting files from a remote server
US11169714B1 (en) Efficient file replication
US10896201B2 (en) Synchronization of block based volumes
US10503409B2 (en) Low-latency lightweight distributed storage system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200120

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201215

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210119

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210622

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210715

R150 Certificate of patent or registration of utility model

Ref document number: 6924952

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150