JP6924952B2 - Computer system and restore method - Google Patents
Computer system and restore method Download PDFInfo
- 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
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
災害後のネットワークは不安定であり、ネットワークの遅延(典型的にはネットワーク遅延時間)が変化する可能性がある(例えば、災害が発生するとネットワークが輻輳し、ネットワークの遅延が大きくなることがある)。これによって、リストアセッションあたりの最大スループットが変化する。 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
このような課題は、ディザスタリカバリに限らず、ネットワークを通してファイルのようなデータをリストアする他のケースについても存在し得る。 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.
以降、幾つかの実施例を説明する。以降に説明する実施例は一例である、本発明はこれらの実施例に限定されるものではない。 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
以上が、一比較例に係る課題である。その課題を解決する実施例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
データ送受信管理テーブル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
図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
以上が、実施例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
ネットワーク102に1以上のクライアント101が通信可能に接続される。1つのクライアント101を例に取る。クライアント101は、ファイルサーバ(運用)103Aまたはファイルサーバ(リストア)103Bを利用する計算機である。クライアント101を使用するエンドユーザは、クライアント101のファイルアクセスプログラム110を用いて、ファイルサーバ103Aや103Bへ接続し、ファイルサーバ103Aまたは103Bへ格納されたファイルを読み書きする。
One or
ファイルサーバ(運用)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
管理サーバ104は、バックアップリストアシステム100の設定等を行う計算機である。バックアップリストアシステム100の管理者は、管理サーバ104を用いて、バックアップリストアシステムを設定する。例えば、管理者は、ファイルサーバ103のIPアドレスの設定等を行う。なお、管理サーバ104の機能は、クライアント101やファイルサーバ103へ導入されても良い。本発明では、管理サーバ104の機能の導入箇所や、管理サーバ104の設置場所は、限定されない。
The
1以上のクラウドサーバ105として、クラウドサーバ105Aと105Bが例示されている。クラウドサーバ105Aと105Bは、ファイルサーバ(運用)103Aに格納されたファイルのバックアップを保持する計算機である。ファイルサーバ(運用)103Aが、クラウドサーバ105Aと105Bにファイルを定期的に送信し、クラウドサーバ105Aと105Bは内部ディスクへファイルを格納する。クラウドサーバ105の構造と処理動作は、後に詳述する。
災害によって、ファイルサーバ(運用)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
図2は、ファイルサーバ103の内部構成を示すブロック図である。
FIG. 2 is a block diagram showing an internal configuration of the
ファイルサーバ103は、ネットワークI/F201、CPU202、ファイルシステムボリューム203、メモリ205を搭載し、それらは内部通信路204によって接続されている。
The
ネットワークI/F201は、インターフェース部の一例である。ネットワークI/F201は、ネットワーク102と相互に接続されており、クライアント101からのファイルアクセス要求を受け付ける際に用いられる装置である。
The network I / F201 is an example of an interface unit. The network I /
CPU202は、プロセッサ部の一例である。CPU202は、メモリ205に格納されたプログラムを実行する装置である。
The
ファイルシステムボリューム203は、プログラムファイルやエンドユーザが作成したデータファイルといった情報を格納するための装置である。ファイルシステムボリューム203に代えて、外部のストレージ装置(図示せず)が採用されてもよい。例えば、ファイルサーバ(リストア)103Bによるリストア先は、ファイルサーバ(リストア)103B内のファイルシステムボリューム203に代えてまたは加えて、ファイルサーバ(リストア)103Bに接続されている外部のストレージ装置でもよい。
The
メモリ205は、記憶部の一例である。メモリ205は、ファイルシステムボリューム203に格納されたファイルを、CPU202が処理する際に一時的に保持するメモリ(例えば揮発性メモリ)である。CPU202がプログラムを実行する際、CPU202が、ファイルシステムボリューム203からメモリ205へプログラムファイルやデータファイルを読み込む。以降、特に明示しない限り、プログラムはCPU202によって実行されるものとする。また、プログラムは、ファイルシステムボリューム203からメモリ205へ読み込まれ、実行されるものとする。
The
メモリ205は、ファイル共有サーバプログラム206、ファイルシステムプログラム207、作成プログラム208、リストアプログラム209、送受信プログラム210、管理プログラム211および遅延計測プログラム212といったプログラムを格納する。また、メモリ205は、データ送受信管理テーブル213、クラウドサーバ管理テーブル214および格納データ管理テーブル215といった情報を格納する。
The
ファイル共有サーバプログラム206は、クライアント101のファイルアクセスプログラム110からのファイルアクセス要求を処理するプログラムである。ファイルアクセス要求として、ファイル書込み要求とファイル読出し要求とがある。ファイル書込み要求に付随して受信したファイルデータは、ファイルシステムボリューム203へデータファイル(ファイル)として格納される。ファイルシステムボリューム203に格納されているファイルのうち、未だバックアップされていないファイルは、クラウドサーバ105へバックアップされる。
The file
ファイルシステムプログラム207は、ファイルシステムボリューム203へ格納されたファイルのデータを管理するプログラムである。ファイル共有サーバプログラム206が、ファイルアクセスプログラム110からファイルアクセス要求を受け付けると、ファイルシステムプログラム207へその要求を受け渡す。そして、ファイルシステムプログラム207は、ファイルシステムボリューム203へアクセスする。例えば、ファイルアクセスプログラム110が、ファイル共有サーバプログラム206へファイル書込み要求とファイルデータを送信する。ファイル共有サーバプログラム206は、ファイル書込み要求を受理し、ファイルデータを受信する。ファイル共有サーバプログラム206は、ファイルシステムプログラム207へファイル書込み要求とファイルデータを渡す。ファイルシステムプログラム207は、ファイルシステムボリューム203へそのファイルデータを書き込む。
The
作成プログラム208は、ファイルシステムボリューム203へ格納されたファイルをクラウドサーバ105へ格納する形式に変えるプログラムである。例えば、ファイルの単純複製を行う場合、作成プログラム208は、ファイルの形式を変更しない。一方、ファイルの分割複製を行う場合、作成プログラム208は、ファイルを一定の大きさの断片へ分割する。作成プログラム208の作成したデータは、後述するデータ送受信プログラム210によって、クラウドサーバ105へ送信(バックアップ)される。
The
リストアプログラム209は、後述するデータ送受信プログラム210を用いてクラウドサーバ105から取得したデータ(チャンク)を、元のファイルへリストアする(例えば、複数のチャンクを統合して元のファイルを作成する)プログラムである。
The restore
データ送受信プログラム210は、クラウドサーバ105とネットワーク102を通して、データを送受信するプログラムである。データ送受信プログラム210によって、ファイルやその断片がクラウドサーバ105に格納される。また、データ送受信プログラム210によって、クラウドサーバ105からファイルのチャンクが取得される。データ送受信プログラム210とクラウドサーバ105の通信には、本実施例では、HTTP(Hypertext Transfer Protocol)が用いられる。なお、本発明では、データ送受信プログラム210とクラウドサーバ105の間の通信プロトコルは限定されない。
The data transmission /
管理プログラム211は、ファイルを送受信するクラウドサーバ105へアクセスするためのアドレスなどを設定するプログラムである。管理プログラム211は、管理者によって起動される。管理者は、管理サーバ104から、ファイルサーバ103へSSH(Secure Shell)プロトコルなどを用いて接続する。なお、管理サーバ104とファイルサーバ103の間の接続プロトコルはSSHプロトコルでなくても良い。本発明では、接続プロトコルは限定されない。さらに、ファイルサーバ103にキーボードやディスプレイといったコンソール機器が接続されている場合は、管理者は、ファイルサーバ103に直接ログインして設定してよい。
The
データ送受信管理テーブル213は、管理プログラム211によって設定される、ネットワーク遅延によるデータの送受信方法を定めたテーブルである。データ送受信管理テーブル213は後に詳述する。
The data transmission / reception management table 213 is a table set by the
クラウドサーバ管理テーブル214は、管理プログラム211によって設定される、クラウドサーバ105のアクセスアドレスを保持するテーブルである。クラウドサーバ管理テーブル214は、後に詳述する。
The cloud server management table 214 is a table that holds the access address of the
格納データ管理テーブル215は、ファイル毎にバックアップファイルを格納した格納先クラウドサーバ105を管理するテーブルである。格納データ管理テーブル215は、後に詳述する。
The storage data management table 215 is a table that manages the storage
図3は、クラウドサーバ105の内部構成を示すブロック図である。
FIG. 3 is a block diagram showing an internal configuration of the
クラウドサーバ105は、ネットワークI/F301、CPU302、メモリ303、ファイルシステムボリューム310から構成され、それらは内部通信路307によって相互に接続されている。
The
ネットワークI/F301は、ネットワーク102と接続される装置である。CPU302は、メモリ303に格納されたプログラムを実行する装置である。ファイルシステムボリューム310は、プログラムファイルやバックアップデータ309を格納する装置である。
The network I /
ファイルシステムプログラム304は、ファイルシステムボリューム310に格納されたバックアップデータ309をファイルとして管理するプログラムである。
The
データ送受信プログラム305は、ファイルサーバ103から送られてくるファイルデータを受信するプログラムである。さらに、データ送受信プログラム305は、ファイルサーバ103から、バックアップデータ309の取得要求を受理して、バックアップデータ309を送信する。バックアップデータ309は、リストア対象データの一例であり、典型的にはファイルである。
The data transmission /
データ送受信プログラム305が、ファイルシステムボリューム310のバックアップデータ309を読み出す場合、ファイルシステムプログラム304へファイル読出し要求を送信する。ファイルシステムプログラム304はファイルシステムボリューム310からバックアップデータ309を読み出して、データ送受信プログラムへ返却する。一方、データ送受信プログラム305が、ファイルサーバ103からファイルデータを受信すると、ファイルシステムプログラム304へファイル書込み要求とファイルデータを送信する。ファイルシステムプログラム304は、バックアップデータ309としてファイルをファイルシステムボリューム310に書き込む。
When the data transmission /
図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
サイトID401は、クラウドサーバ105のID(例えば通番)である。サイト名402は、クラウドサーバ105の名称である。URL403は、ファイルサーバ103がクラウドサーバ105へアクセスするために用いるルートパス(URL(Uniform Resource Locator))である。ファイルサーバ105は、ファイルをバックアップする場合や、バックアップされたファイルへアクセスする場合に、URL403に基づいてアクセスパスを生成する。クラウドサーバ管理テーブル214の利用方法については、後に詳述する。
The
図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
遅延501は、ネットワーク102の遅延を表す値である。また、遅延501は、代表値である。例えば、遅延501が10ミリ秒(msec)と設定されている場合、10ミリ秒以下と解釈される。ある時刻における遅延が5ミリ秒である場合、10ミリ秒の遅延のレコード504Aが選択される。なお、本発明では、遅延501の解釈は限定されない。
The
チャンクサイズ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
図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
また、図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
また、本実施例では、予め用意されたデータ送受信管理テーブル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
図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
ファイルパス601は、ファイルサーバ103のファイルシステムボリューム203に格納されているファイルのパスを示す。例えば、あるファイルが/aaa/bbb.dbというパスでファイルシステムボリューム203へ格納されている場合、ファイルパス601にそのように記述される。格納データ管理テーブル215の利用方法については、後に詳述する。
The
図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
クラウドサーバ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
図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 /
データ送受信プログラム210は、その指示を受け、ファイルシステムボリューム203に格納されているファイルのうちバックアップされていないファイルを1つ選択する(ステップ801)。
In response to the instruction, the data transmission /
次に、データ送受信プログラム210は、クラウドサーバ管理テーブル214から、ステップ801で選択したファイル(図8の説明において「選択ファイル」)の送信先(バックアップ先)とするクラウドサーバ105を選択する(ステップ802)。この時、データ送受信プログラム210は、複数のクラウドサーバ105へ送信する場合は、2つ以上のクラウドサーバ105を選択する。
Next, the data transmission /
次に、データ送受信プログラム210は、作成プログラム208を呼び出し、複製データの作成を要求する。作成プログラム208は、単純複製の場合は、選択ファイルに変更を加えない。一方、分割複製の場合は、作成プログラム108は、選択ファイル(ファイルデータ)を1MBなどの大きさに分割する。そして、データ送受信プログラム210は、作成プログラム208が作成したバックアップ用のデータを、ステップ802で選択したクラウドサーバ105へ送信する(ステップ803)。
Next, the data transmission /
次に、データ送受信プログラム210は、クラウドサーバ105へ送信してバックアップが完了した選択ファイルに関する情報を、新規レコード404として格納データ管理テーブル215へ追加する(ステップ804)。
Next, the data transmission /
そして、データ送受信プログラム210は、バックアップされていないファイルがあるか否かを判断する(ステップ805)。ステップ805の判断結果が真の場合(ステップ805:Yes)、データ送受信プログラム210は、ステップ801から処理を続ける。一方、ステップ805の判断結果が偽の場合(ステップ805:No)、バックアップ処理フローが終了する。
Then, the data transmission /
以上により、ファイルサーバ(運用)103Aに格納されているファイルがクラウドサーバ105へバックアップされる。このバックアップ処理は、災害が発生する前に、定期的または不定期的(例えば、ファイルサーバ(運用)103Aに未バックアップのファイルが格納される都度)に実行される。つまり、災害発生後には、バックアップ処理が実行された時点のファイルサーバ(運用)103Aのファイルシステムボリューム203をリストアできる。
As a result, the files stored in the file server (operation) 103A are backed up to the
図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 /
ファイルサーバ(リストア)103Bの管理者が、管理プログラム211に対し、クラウドサーバ105に格納されたバックアップデータ306のリストア処理を指示する。その指示が、管理プログラム211からデータ送受信プログラム210に送られる。
The administrator of the file server (restore) 103B instructs the
データ送受信プログラム210は、その指示を受けて、格納データ管理テーブル215を検索し、ファイルシステムボリューム203にリストアされていないファイルを1つ選択する(ステップ901)。
In response to the instruction, the data transmission /
次に、データ送受信プログラム210は、[残量](ネットワーク102の遅延時間)と、[残量](ステップ901で選択したファイル(図9において「選択ファイル」)のうちリストアされていないデータの量)とを設定する(ステップ902)。なお、選択ファイルのリストア開始時は、遅延が不明であるため、データ送受信プログラム210は、[遅延]に、初期値(例えば、30ミリ秒)を設定する。それに代えて、データ送受信プログラム210は、ダミーデータのようなデータをネットワーク102を通して通信し、その通信に関して遅延計測プログラムによって計測された遅延時間を、[遅延]に設定してもよい。また、データ送受信プログラム210は、[残量]に、選択ファイルに対応したサイズ602の値を設定する。
Next, the data transmission /
次に、データ送受信プログラム210は、遅延([遅延]に設定されている値)に基づき、データ送受信管理テーブル213を検索する(ステップ903)。例えば、[遅延]が30ミリ秒のときは、データ送受信プログラム210は、遅延501“30msec”を含んだレコード504Cを選択する。なお、遅延に対応したチャンクサイズ502が示すサイズのチャンクの数が、遅延に対応した並列度503が示す並列度(値)未満の場合、データ送受信プログラム210は、ステップ901で最近選択したファイルに代えてまたは加えて、ファイル合計サイズが、遅延に対応したチャンクサイズ502が示すサイズのチャンクの数が、遅延に対応した並列度503が示す並列度(値)以上となるような、1以上のファイルを選択してもよい。
Next, the data transmission /
そして、データ送受信プログラム210は、レコード504Cにおけるチャンクサイズ502が示すサイズのチャンクの取得要求を、レコード504Cにおける並列度503が示す並列度分、1以上のクラウドサーバ105へ並列に送信し、その並列度分の取得要求に応答して1以上のクラウドサーバ105からチャンクを取得(受信)する(ステップ904)。なお、ステップ902からステップ906の繰り返し処理において、遅延が前回のチャンク取得時と変化しなかった場合、ステップ904では、続きのチャンクを取得する動作となる。繰り返し動作時の詳細は、図10を用いて後に詳述する。
Then, the data transmission /
ステップ904でクラウドサーバ105からチャンクを取得する際に、遅延計測プログラム212が、ファイルサーバ(リストア)103Bとクラウドサーバ105間の通信の遅延を計測しておく(ステップ905)。
When acquiring chunks from the
続いて、データ送受信プログラム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 /
そして、データ送受信プログラム210は、格納データ管理テーブル215を検索し、リストア対象のファイルがあれば(ステップ907:Yes)、ステップ901から処理を継続する。一方、リストア対象のファイルがなければ(ステップ907:No)、リストア処理を終了する。
Then, the data transmission /
図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
まず、データ送受信プログラム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 /
次のループ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
ループ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 /
ループ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 /
このように、遅延に対応する最適なリストア速度を達成できるように、ループ毎に、データ送受信プログラム210は、チャンクサイズと並列数を最近の遅延にあわせて変更する。このため、最適なリストア速度の維持が期待できる。
In this way, the data transmission /
以上の実施例によれば、ネットワーク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
なお、本実施例では、ファイルサーバ(運用)103A内のデータ送受信プログラム210は、ファイルサーバ(運用)103内の各ファイルを、最大並列度分のクラウドサーバ105の各々にバックアップしてよい。ファイルサーバ(リストア)103B内のデータ送受信プログラム210は、最大並列度分のクラウドサーバ105のうち、並列度分のクラウドストレージ105からそれぞれその並列度分のチャンクを並列に取得してよい。リストア元が複数のクラウドサーバ105に分散されるので、より確実に高速リストアを実現できることが期待できる。
In this embodiment, the data transmission /
図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
図11では、2MBのFile1とFile2が、クラウドサーバ105Aと105Bへそれぞれバックアップされている。そして、ネットワーク102の遅延は30ミリ秒である。遅延が30ミリ秒であるため、データ送受信管理テーブル213(図5)によれば、採用されるチャンクサイズ502は“1.0MB”であり、採用される並列度503は“4”である。また、リストア対象として選択されたファイルはFile1であるとする。
In FIG. 11, 2 MB of
この場合、File1を1MBのチャンクに分けても2並列でのリストアが限界となり、並列度“4”が満たされない。一方、File1を4並列で分けると(4分割すると)、各チャンクのサイズは0.5MBとなり、チャンクサイズ“1.0MB”が満たされない。
In this case, even if
そこで、ファイルサーバ(リストア)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 /
この動作を達成するため、データ送受信プログラム210は、図9のステップ903で、チャンクサイズと並列度を決定した後、並列度が不足しているか否を判断する。この判断結果が真の場合は、データ送受信プログラム210は、リストア処理を別のスレッドまたはプロセスとして起動し(サブのリストア処理を起動し)、ステップ901からステップ906を動作させる。つまり、新たにリストア対象とされるファイルが選択され、処理が進む。遅延に対応した並列度が満たされるまで(リストア処理で達成される並列度の合計が、遅延に対応した並列度以上になるまで)、同様にリストア処理が起動される。ただし、リストア処理は個別に動作するのではなく、ステップ904で処理を待ち合わせする。つまり、ステップ904は、複数のリストア処理が同時に実行する。これにより、リストアの並列度を達成する。この個別のリストア処理は、リストアセッションの一例でもよい。なお、この時、並列度を調整するため、データ送受信プログラム210は、リストア処理(リストアセッション)毎にチャンクサイズと並列度を変更してもよい。例えば、データ送受信プログラム210は、全リストア処理の並列度の合計が、目的の並列度(遅延に対応した並列度)と合わない場合は、何れかのリストア処理のチャンクサイズと並列度を小さくするという調整を行ってよい。
In order to achieve this operation, the data transmission /
以上のように、本実施例によると、ファイルが小さく、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 /
(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 /
(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 /
(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 /
(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 /
図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
以下、詳細を説明する。 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
フラグメント1及び2は、クラウドサーバ105Aに格納される。フラグメント3は、クラウドサーバ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
一方、ネットワーク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
以上のように、本実施例によると、ファイルを複数のフラグメントに分割して複製する分割複製したファイルをリストアできる。さらに、フラグメントの範囲を一部重ね合わせることで、ネットワーク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
以上、幾つかの実施例を説明したが、これらは本発明の説明のための例示であって、本発明の範囲をこれらの実施例にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。 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以上のネットワークストレージから取得する取得手段と、
取得されたチャンクを基に前記リストア対象データをリストアするリストア手段と
を備える計算機システム。 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)(p)の判断結果が偽の場合、前記リストア対象データと、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.
(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)(p)の判断結果が偽の場合、前記リストア対象データを、前記計測されたネットワーク遅延に応じたチャンクサイズのチャンクに分割し、その分割により得られたチャンクを、前記計測されたネットワーク遅延に応じた並列度未満のうちの最大の並列度で取得することを実行すること、
を実行する、
請求項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.
前記取得手段は、前記複数のネットワークストレージのうちの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乃至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以上のネットワークストレージに格納されているデータのうちのリストア対象データをリストアする第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以上のネットワークストレージから取得し、
取得されたチャンクを基に前記リストア対象データをリストアする、
リストア方法。 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.
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)
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)
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 |
-
2017
- 2017-02-13 JP JP2017024082A patent/JP6924952B2/en active Active
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 |