JP6260373B2 - データ転送方法及びデータ転送制御装置 - Google Patents

データ転送方法及びデータ転送制御装置 Download PDF

Info

Publication number
JP6260373B2
JP6260373B2 JP2014052196A JP2014052196A JP6260373B2 JP 6260373 B2 JP6260373 B2 JP 6260373B2 JP 2014052196 A JP2014052196 A JP 2014052196A JP 2014052196 A JP2014052196 A JP 2014052196A JP 6260373 B2 JP6260373 B2 JP 6260373B2
Authority
JP
Japan
Prior art keywords
file
transfer
divided
compression
compressed
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
JP2014052196A
Other languages
English (en)
Other versions
JP2015176337A (ja
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2014052196A priority Critical patent/JP6260373B2/ja
Publication of JP2015176337A publication Critical patent/JP2015176337A/ja
Application granted granted Critical
Publication of JP6260373B2 publication Critical patent/JP6260373B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Description

本発明は、データ転送技術に関する。
近年、クラウドサービスなどでは、仮想化技術を活用しアプリケーションの起動環境をVM(Virtual Machine)イメージファイル等で丸ごと1つのファイルとして管理し、そのVMイメージファイルを起動対象のサーバに転送し、VM起動するだけでサービスを開始することができる。
しかし、VMイメージファイルの容量は大きいもので数十Gbyteとなりネットワークの負荷が増大し転送には時間が掛かる。VMイメージファイルを圧縮技術によって圧縮して転送し、起動対象サーバで解凍するといった方法で転送時間を短縮することが可能である。
例えば、圧縮転送する際に、圧縮前と圧縮後のファイルの容量を比較し圧縮率が高いもののみを圧縮転送する技術、圧縮率や転送する回線速度のボトルネック度合いに応じて圧縮/非圧縮を選択する技術等が提案されている。
特開2003−338761号公報 特開2001−111432号公報
しかしながら、上述した技術は、VMイメージファイルが転送先サーバに到着するまでの時間は短縮されているが、受信後に圧縮されたファイルの解凍処理が必要で、解凍が終わるまでサービス開始が遅延するというデメリットもあった。
例えば、災害時にはこれらのVMイメージファイルを転送しこのファイルを使ってアプリケーションを起動するまでの時間を短くすることが重要となる。このような状況下では、ファイルの転送時間だけでなく、VMイメージファイルの転送開始から転送先サーバでのアプリケーション起動、サービス開始までを短時間で行えることが望まれる。
したがって、1つの側面では、本発明は、データファイル転送から受信側のデータファイル起動までの時間を短縮することを目的としたものである。
一態様によれば、データファイルを分割した分割ファイルの夫々を圧縮後のファイルサイズと前記データファイルのファイルサイズとから圧縮率を計算し、前記データファイルの圧縮率と、圧縮後の前記分割ファイルの圧縮率との差が所定値内で最大となる分割数を決定し、決定した前記分割数で、前記データファイルを均等に分割し、前記データファイルを分割した複数の分割ファイルの夫々を、所定のアルゴリズムで圧縮したときの圧縮ファイル転送時間及び解凍時間と、圧縮しない非圧縮で転送したときの非圧縮ファイル転送時間とに基づいて、圧縮して転送する分割ファイルと、非圧縮で転送する分割ファイルとを決定し、圧縮又は非圧縮を決定した前記複数の分割ファイルの転送順序を決定し、決定した前記転送順序に従って、前記複数の分割ファイルを送信する処理をコンピュータが行うデータ転送方法が提供される。
また、上記課題を解決するための手段として、上記方法を行う装置、コンピュータに上記処理を実行させるためのプログラム、及び、そのプログラムを記憶した記憶媒体とすることもできる。
データファイル転送から受信側のデータファイル起動までの時間を短縮するができる。
本実施例における、データセンタの構成例を示す図である。 サーバの機能構成例について説明するための図である。 転送制御サーバのハードウェア構成を示す図である。 転送制御サーバの機能構成の実装例を説明するための図である。 テーブルのデータ構成例を示す図である。 配置対象サーバのハードウェア構成を示す図である。 配置対象サーバの機能構成の実装例を説明するための図である。 転送制御サーバによる登録処理例について説明するための図(その1)である。 転送制御サーバによる登録処理例について説明するための図(その2)である。 転送制御サーバによる登録処理例について説明するための図(その3)である。 転送制御サーバの転送処理例を説明するための図である。 登録処理を説明するためのフローチャート図(その1)である。 登録処理を説明するためのフローチャート図(その2)である。 圧縮/非圧縮決定処理を説明するためのフローチャート図(その1)である。 圧縮/非圧縮決定処理を説明するためのフローチャート図(その2)である。 圧縮/非圧縮決定処理を説明するためのフローチャート図(その3)である。 転送順序登録処理を説明するためのフローチャート図である。 転送制御処理を説明するためのフローチャート図である。 配置対象サーバでの分割ファイル受信処理を説明するためのフローチャート図である。 登録処理シーケンスを示す図(その1)である。 登録処理シーケンスを示す図(その2)である。 登録処理シーケンスを示す図(その3)である。 登録処理シーケンスを示す図(その4)である。 転送制御シーケンスを示す図(その1)である。 転送制御シーケンスを示す図(その2)である。 本実施例の効果を説明するための図である。
以下、本発明の実施の形態を図面に基づいて説明する。クラウドサービスでは、VM(Virtual Machine)イメージファイルは1つのファイルとして転送される。圧縮転送すると、転送と解凍とがシーケンシャルに処理される。従って、転送時間を短くしても、解凍処理の時間だけサービス開始が遅くなる。
複数に分割して、転送処理と解凍処理とを並列処理する方法が考えられるが、最初の転送と最後の解凍処理に関しては、並列処理を行うことができない。この部分の時間短縮は困難である。
本実施例では、圧縮による転送時間の短縮と、並列化できない処理部分の時間を最小化して、転送開始からサービス開始までの時間を大幅に短縮する。
まず、クラウドサービスの一例として、データセンタの構成例を説明する。図1は、本実施例における、データセンタの構成例を示す図である。図1において、データセンタ1000は、管理者1と、転送制御サーバ30と、複数の配置対象サーバ4等とを有する。データセンタ1000は、転送制御サーバ30からIP網2等のネットワークを介して配置対象サーバ4へVMイメージファイル6を転送するデータ転送システムに相当する。
管理者1は、VMイメージファイル6を管理する責任者であり、転送制御サーバ30を利用するユーザである。管理者1は、転送制御サーバ30で、VMイメージファイル6の管理に係る操作行う。
転送制御サーバ30は、管理者1からの要求に応じて、転送制御サーバ30がファイル管理ディレクトリ30dで管理しているVMイメージファイル6をIP網2を介して配置対象サーバ4へ転送する。転送制御サーバ30は、データ転送制御装置に相当する。配置対象サーバ4は、VMイメージファイル6を配置し、サービスを起動するサーバである。
データセンタ1000において、管理者1からVMイメージファイル6の登録を指示する操作を転送制御サーバ30で行う(ステップS11)。転送制御サーバ30は、VMイメージファイル6の登録要求に添付されたVMイメージファイル6をファイル管理ディレクトリ30dに格納する(ステップS12)。この際に、VMイメージファイル6は、最適な転送方法で転送可能なように分割され、分割単位で圧縮又は非圧縮され、ファイル管理ディレクトリ30dに登録される。また、分割単位の転送順序も決定される。
VMイメージファイル6の登録後、管理者1からVMイメージファイル6の転送要求を転送制御サーバ30へ行う(ステップS21)。転送制御サーバ30は、VMイメージファイル6を5個に分割してIP網2を介して、管理者1が指定した配置対象サーバ4へ転送する(ステップS22)。
ここでは、VMイメージファイル6が、VM−0001、VM−0002、VM−0003、VM−0004、VM−0005の5個に分割されて配置対象サーバ4へ転送される場合を示している。VMイメージファイル6を分割した5個のファイルの内、VM−0001、VM−0002、VM−0003、及びVM−0004は圧縮ファイルであり、VM−0005は非圧縮ファイルである。VM−0001、VM−0002、VM−0003、VM−0004、VM−0005等の分割ファイルを総称して、分割ファイル6dとする。
分割単位が小さい(細分化)ほど転送時には有利であるが、分割数が多くなると、ファイル圧縮率が悪くなる傾向がある。従って、適度な分割が望ましい。発明者は、圧縮率悪化の度合いがファイルの内容に依存することに着目し、本実施例では、転送するVMイメージファイルで分割後の圧縮率の度合いをシミュレーションすることで適度な分割数を決定する。
データセンタ1000における転送制御サーバ30及び配置対象サーバ4の機能構成について説明する。図2は、サーバの機能構成例について説明するための図である。図2において、転送制御サーバ30は、登録処理部31と、圧縮解凍処理部32と、圧縮判定部33と、転送制御部34と、送受信部35とを有する。また、転送制御サーバ30は、ファイル管理ディレクトリ30d、転送時間管理テーブル30e、転送順序制御テーブル30f等を、後述する記憶部330に記憶する。
登録処理部31は、管理者1から受信したVMイメージファイル6の登録要求に応じて、登録要求に含まれるVMイメージファイル6を分割して、記憶領域の空いている配置対象サーバ4に転送して登録する。VMイメージファイル6に係る情報は、ファイル管理ディレクトリ30dに格納される。
圧縮解凍処理部32は、登録処理部31からの指示に応じて、指定された分割ファイル6dを圧縮又は解凍する。圧縮解凍処理部32は、分割ファイル6dを圧縮した場合には、圧縮ファイルサイズを戻り値とする。
圧縮判定部33は、転送時間管理テーブル30eを参照して、VMイメージファイル6の転送時間及び解凍時間の総時間が最も短くなる転送方法を判定する。
転送制御部34は、転送順序制御テーブル30fを参照して、転送順に分割ファイル6dを指定して、送受信部35に配置対象サーバ4へ転送させる。
送受信部35は、転送制御部34からの転送指示に応じて、ファイル管理ディレクトリ30dから指定された圧縮又は非圧縮の分割ファイル6dを読み出して、指定された配置対象サーバ4へ転送する。送受信部35は、また、分割ファイル6dを転送する毎に、配置対象サーバ4へファイル情報通知を行う。ファイル情報通知には、圧縮状態、最終転送フラグ等の情報が含まれる。転送制御部34と送受信部35とが、転送部に相当する。
配置対象サーバ4は、送受信部41と、配置制御部42と、解凍部43と、結合部44とを有する。また、配置対象サーバ4は、配置ディレクトリ40dを、後述する記憶部430に記憶する。
送受信部41は、転送制御サーバ30から分割ファイル6dを受信すると、配置ディレクトリ40dに格納する。
配置制御部42は、転送制御サーバ30から受信したファイル情報通知に基づいて、解凍部43及び結合部44を制御して、解凍した分割ファイル6dを結合して、VMイメージファイル6を復元する。
解凍部43は、配置制御部42の指示に応じて、配置ディレクトリ40d内の、指定された分割ファイル6dを解凍する。
結合部44は、配置制御部42の指示に応じて、配置ディレクトリ40d内の、指定された解凍済みの分割ファイル6dを結合して、VMイメージファイル6を復元する。
上述した転送制御サーバ30は、図3に示すようなハードウェア構成を有する。図3は、転送制御サーバのハードウェア構成を示す図である。図3において、転送制御サーバ30は、コンピュータによって制御される端末であって、CPU(Central Processing Unit)311と、メモリ312と、ディスク313と、NIC(Network Interface Card)314と、ユーザインタフェース315と、ドライブ装置316とを有し、PCIバス319に接続される。
CPU311は、メモリ312に格納されたプログラムに従って転送制御サーバ30を制御する。メモリ312には、RAM(Random Access Memory)、ROM(Read Only Memory)等が用いられ、CPU311にて実行されるプログラム、CPU311での処理に必要なデータ、CPU311での処理にて得られたデータ等を記憶又は一時保存する。
ディスク313には、HDD(Hard Disk Drive)等が用いられ、各種処理を実行するためのプログラム等のデータ、及びVMイメージファイル6を格納する。ディスク313に格納されているプログラムの一部がメモリ312にロードされ、CPU311に実行されることによって、各種処理が実現される。記憶部330は、メモリ312及び/又はディスク313に相当する。
ユーザインタフェース315は、ディスプレイ、マウス、キーボード等を有し、CPU311の制御のもとに必要な各種情報を表示し、ユーザが転送制御サーバ30による処理に必要な各種情報を入力するために用いられる。NIC314は、有線又は無線などのネットワークを通じて通信を行う。NIC314による通信は無線又は有線に限定されるものではない。
転送制御サーバ30によって行われる処理を実現するプログラムは、例えば、CD−ROM(Compact Disc Read-Only Memory)等の記憶媒体317によって転送制御サーバ30に提供される。
ドライブ装置316は、ドライブ装置316にセットされた記憶媒体317(例えば、CD−ROM等)と転送制御サーバ30とのインターフェースを行う。
また、記憶媒体317に、後述される本実施の形態に係る種々の処理を実現するプログラムを格納し、この記憶媒体317に格納されたプログラムは、ドライブ装置316を介して転送制御サーバ30にインストールされる。インストールされたプログラムは、転送制御サーバ30により実行可能となる。
尚、プログラムを格納する記憶媒体317としてCD−ROMに限定するものではなく、コンピュータが読み取り可能な媒体であればよい。コンピュータ読取可能な記憶媒体として、CD−ROMの他に、DVDディスク、USBメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリであっても良い。
次に、転送制御サーバ30の図2で説明した機能構成の実装例を説明する。図4は、転送制御サーバの機能構成の実装例を説明するための図である。図4では、本実施例に係る機能構成の実装に関するハードウェアのみを示し、他を省略している。
図4において、CPU311が対応するプログラムを実行することにより、登録処理部31、圧縮解凍処理部32、圧縮判定部33、転送制御部34、送受信部35は、実現される。各部31〜35の処理概要は上述した通りである。したがって、CPU311が、登録処理部31、圧縮解凍処理部32、圧縮判定部33、転送制御部34、送受信部35の処理を行うことにより、夫々の処理部として動作する。
ファイル管理ディレクトリ30dは、ディスク313に保持される。ファイル管理ディレクトリ30dは、VMイメージファイル6の実態を含むため、ディスク313に格納される。
転送時間管理テーブル30e及び転送順序制御テーブル30fは、メモリ312に格納される。これらテーブル30e及び30fは、本実施例に係る処理で作成、参照されるテーブルであり、処理の終了後には、削除されても良い。
NIC314は、配置対象サーバ4との通信を制御し、VMイメージファイル6が転送制御サーバ30から配置対象サーバ4へと配置される。ユーザインタフェース315は、管理者1への情報を表示すると共に、管理者1による操作を受け付ける。ユーザインタフェース315は、管理者1からのVMイメージファイル6の登録要求を受け付けると、登録処理部31に通知する。また、ユーザインタフェース315は、管理者1からのVMイメージファイル6の転送要求を受け付けると、転送制御部34に通知する。
図5は、テーブルのデータ構成例を示す図である。図5(A)では、転送時間管理テーブル30eのデータ構成例を示している。図5(A)において、転送時間管理テーブル30eは、分割ファイル名、解凍時間、圧縮ファイル転送時間、非圧縮ファイル転送時間、圧縮状態等の項目を有する。
分割ファイル名は、VMイメージファイル6の分割ファイル6dのファイル名を示す。解凍時間は、VMイメージファイル6の分割ファイル6dの圧縮ファイルを解凍するときの時間(秒)を示す。
圧縮ファイル転送時間は、分割ファイル6dの圧縮ファイルを転送するのに掛る時間(秒)を示す。非圧縮ファイル転送時間は、分割ファイル6dの非圧縮ファイルを転送するのに掛る時間(秒)を示す。圧縮状態は、分割ファイル6dを圧縮して転送、又は、非圧縮で転送のいずれかを示す。
図5(B)では、転送順序制御テーブル30fのデータ構成例を示している。図5(B)において、転送順序制御テーブル30fは、分割ファイル名、転送順番等の項目を有する。
分割ファイル名は、VMイメージファイル6の分割ファイル6dのファイル名を示す。転送順番は、分割ファイル6dを転送する順番を示す。
次に、配置対象サーバ4について説明する。上述した配置対象サーバ4は、ストレージであって、図6に示すようなハードウェア構成を有する。
図6は、配置対象サーバのハードウェア構成を示す図である。図6において、配置対象サーバ4は、コンピュータによって制御される端末であって、CPU411と、メモリ412と、ディスク413と、NIC414とを有し、PCIバス419に接続される。
CPU411は、メモリ412に格納されたプログラムに従って配置対象サーバ4を制御する。メモリ412には、RAM(Random Access Memory)、ROM(Read Only Memory)等が用いられ、CPU411にて実行されるプログラム、CPU411での処理に必要なデータ、CPU411での処理にて得られたデータ等を記憶又は一時保存する。
ディスク413には、HDD(Hard Disk Drive)等が用いられ、各種処理を実行するためのプログラム等のデータを格納する。ディスク413に格納されているプログラムの一部がメモリ412にロードされ、CPU411に実行されることによって、各種処理が実現される。記憶部430は、メモリ412及び/又はディスク413を有する。
NIC414は、有線又は無線などのネットワークを通じて通信を行う。NIC414による通信は無線又は有線に限定されるものではない。
次に、配置対象サーバ4の図2で説明した機能構成の実装例を説明する。図7は、配置対象サーバの機能構成の実装例を説明するための図である。図7では、本実施例に係る機能構成の実装に関するハードウェアのみを示し、他を省略している。
図7において、CPU411が対応するプログラムを実行することにより、送受信部41、配置制御部42解凍部43、結合部44は、実現される。したがって、CPU411が、送受信部41、配置制御部42解凍部43、結合部44の処理を行うことにより、夫々の処理部として動作する。
配置ディレクトリ40dは、VMイメージファイル6の実態を含むため、ディスク413に格納される。
NIC414は、転送制御サーバ30との通信を制御し、VMイメージファイル6が転送制御サーバ30から配置対象サーバ4へと配置される。
次に、VMイメージファイル6の登録処理例について図8〜図10で説明する。図8〜図10は、転送制御サーバによる登録処理例について説明するための図である。図8において、管理者1がVMイメージファイル6の登録要求を転送制御サーバ30で行う(ステップS51)。管理者1により、15GbyteのVMイメージファイル6と、0.6Gbpsのファイル転送レートとが入力される。VMイメージファイル6のファイルサイズ「15Gbyte」、ファイル転送レート「0.6Gbps」は単なる一例に過ぎない。
転送制御サーバ30の登録処理部31は、VMイメージファイル6の最適な圧縮率となる分割数を取得する(ステップS52)。例えば、登録処理部31は、まず、VMイメージファイル6を3分割して圧縮率を算出する。圧縮率は、
(圧縮後の分割ファイルのサイズの総和)
÷ (VMイメージファイル6のファイルサイズ)
で求める。
3分割後の圧縮率と、分割前のVMイメージファイル6の圧縮率との差を算出する。分割前のVMイメージファイル6の圧縮率は、
(圧縮後のVMイメージファイル6のファイルサイズ)
÷ (VMイメージファイル6のファイルサイズ)
で求める。この圧縮率を比較元圧縮率とする。
3分割後の圧縮率と、分割前のVMイメージファイル6の圧縮率との差が、所定値(例えば、0.05(5%))以下であるか否かを判断する。所定値以下である場合、分割数を所定数分増やす。例えば、所定数を2とした場合、VMイメージファイル6を5分割する。VMイメージファイル6を5分割した場合の圧縮率を算出する。比較元圧縮率と5分割の圧縮率との差が所定値以下であるか否かを判断する。
所定値以下の間、分割数を増やして、比較元圧縮率と比較する。所定値を超えた分割数の1つ前の分割数を最適な圧縮率となる分割数(以下、最適分割数と言う)であると判断する。最適分割数とは、即ち、比較元圧縮率との差を所定値(例えば、0.05(5%))内で維持する最大の分割数である。ここでは、7分割で圧縮率が悪くなり、結果、最適分割数は5であると判断する。
登録処理部31は、VMイメージファイル6を最適分割数で均等に分割する(ステップS53)。15GbyteのVMイメージファイル6を均等に5分割する。1の分割ファイル6dは3Gbyteである。
そして、登録処理部31は、分割ファイル6dを夫々圧縮して、解凍することで、各分割ファイル6dの圧縮後のファイルサイズと、非圧縮時のファイルサイズ及び解凍時間とを取得する(ステップS54)。
登録処理部31は、各分割ファイル6dを圧縮して解凍する処理を圧縮解凍処理部32に行わせる。圧縮解凍処理部32は、分割ファイル6dを圧縮した結果の圧縮ファイルサイズと、圧縮後に解凍するまでの解凍時間とを戻り値として登録処理部31に通知する。
図9にて、転送制御サーバ30の登録処理部31は、圧縮ファイル転送時間と、非圧縮ファイル転送時間とを算出し、ステップS54(図8)で得た各分割ファイル6dの解凍時間と、算出した圧縮ファイル転送時間及び非圧縮ファイル転送時間とを転送時間管理テーブル30eに登録する(ステップS55)。
圧縮ファイル転送時間は、
圧縮ファイルサイズ × ファイル転送レート
により求める。
また、非圧縮ファイル転送時間は、
非圧縮ファイルサイズ × ファイル転送レート
により求める。
ファイル転送レートには、管理者1が入力した「0.6Gbps」が代入される。
ステップS55での登録処理によって、転送時間管理テーブル30eには、5個の分割ファイル6dに対して、解凍時間、圧縮ファイル転送時間、非圧縮ファイル転送時間、圧縮状態が設定される。圧縮状態は、次のステップS56で設定される。
次に、圧縮判定部33は、分割ファイル6dの圧縮及び非圧縮のパターンの内、最適な転送方法を決定し、各分割ファイル6dの圧縮状態をファイル転送時間管理テーブルに登録する(ステップS56)。
最適な転送方法とは、総解凍時間が総転送時間以下(総解凍時間≦総転送時間)となる、分割ファイル6dの圧縮及び非圧縮のパターンによる転送を言う。以下、総解凍時間が総転送時間以下(総解凍時間≦総転送時間)を転送条件と言う。
総解凍時間は、最初に転送する分割ファイルの転送時間に、圧縮された分割ファイル6dを全て解凍するのに掛る解凍時間の総和を加算した合計時間で表される。総解凍時間は、
最初の転送ファイルの転送時間 + 圧縮された全分割ファイルの解凍時間の総和
で求める。最初の転送ファイルは、圧縮された分割ファイル6dの内、一番転送時間が短いファイルである。
また、総転送時間は、圧縮又は非圧縮の分割ファイル6dを全て配置対象サーバ4に転送するのに掛る合計時間である。
圧縮判定部33による、最適な転送方法となる分割ファイル6dの圧縮及び非圧縮のパターンの判定例について説明する。先ず、5個の分割ファイル6dの全てを圧縮した場合、総解凍時間は「125」秒であり、総転送時間は「100」秒である。総解凍時間「125」秒が総転送時間「100」秒より長いため、最適な転送方法に該当しない。
圧縮判定部33は、分割ファイル「VM−0001」から順に1つを非圧縮にした場合で、転送条件を満足するか否かを判定する。非圧縮にする分割フイル6dの選択順は任意である。この例では、分割ファイル「VM−0005」で、総解凍時間は「104」秒であり、総転送時間は「104」秒であるため、転送条件を満足する。
圧縮判定部33は、転送条件を満足した分割ファイル6dの圧縮状態を、転送時間管理テーブル30eの圧縮状態に設定する。
図10にて、転送制御サーバ30の登録処理部31は、転送時間管理テーブル30eの圧縮状態に従って、ファイル管理ディレクトリ30d内の各分割ファイルを圧縮又は非圧縮する。「非圧縮する」とは、圧縮せずに元のデータファイルのままにしておくことである。
この例では、分割ファイル「VM−0001」〜「VM−0004」を圧縮し、分割ファイル「VM−0005」は非圧縮となる。
次に、登録処理部31は、転送順序制御テーブル30fに分割ファイル名と転送順序とを登録する(ステップS58)。登録処理部31は、以下の転送順決定方法に従い転送順序を決める。
1)転送時間管理テーブル30eにおいて、圧縮状態が圧縮を示す分割ファイル6dの内、圧縮ファイル転送時間が短いものから順に転送する。
2)非圧縮の分割ファイル6dを圧縮した分割ファイル6dの後に転送する。
この例では、上記1)により、圧縮した分割ファイル「VM−0001」〜「VM−0004」に関して、圧縮ファイル転送時間が短い順は、「VM−0004」、「VM−0002」、「VM−0001」、「VM−0003」となる。従って、転送順序「1」から「4」が決定する。上記2)により、分割ファイル「VM−0005」が転送順序「5」となる。
上述した転送順決定方法により、転送順序制御テーブル30fの転送順序に順番「1」から「5」が設定される。
その後、転送制御サーバ30において、管理者1からVMイメージファイル6の転送要求を受けると、転送制御部34は、転送順序制御テーブル30fを参照して、転送順序に従って、各分割ファイル名を指定した転送指示を送受信部35に行う(ステップS59)。送受信部35は、指定された分割ファイル名に基づいて、ファイル管理ディレクトリ30dから分割ファイル6dを読み出して、読み出した分割ファイル6dを配置対象サーバ4へ転送する。
次に、ステップS59でのVMイメージファイル6の転送処理例について図11で説明する。図11は、転送制御サーバの転送処理例を説明するための図である。図11において、管理者1がVMイメージファイル6の転送要求を行う(ステップS71)。転送要求では、管理者1が、VMイメージファイル6と、配置対象サーバ4のIPアドレスとが入力される。
転送制御サーバ30の転送制御部34は、転送順序制御テーブル30fから転送順序に対応するVMイメージファイル6の分割ファイル名を検索する(ステップS72)。最初の転送では、転送順序「1」が設定されている分割ファイル名を取得する。この場合、分割ファイル名は「VM−0001」である。
転送制御部34は、取得した分割ファイル名を指定して、送受信部35に、分割ファイル6dを転送させる(ステップS73)。送受信部35は、指定された分割ファイル名を用いて、ファイル管理ディレクトリから分割ファイル6dを読み出して、管理者1が指定した配置対象サーバ4のIPアドレスに対して読み出した分割ファイル6dを転送する。
転送制御部34は、送受信部35によって分割ファイル6dが転送される毎に、全分割ファイル6dを転送するまで、転送順序を1加算して(ステップS74)、ステップS72及びS73を繰り返す。管理者1が指定したVMイメージファイル6の分割ファイル6dを全て転送すると、この転送処理は終了する。
配置対象サーバ4では、分割ファイル6dを受信する毎に順次解凍し、全ての分割ファイル6dを解凍したら、解凍済み及び非圧縮の分割ファイル6dを結合して、元のVMイメージファイル6を復元する(ステップS75)。
上述したように、転送制御サーバ30は、転送条件(総解凍時間≦総転送時間)を満たす転送方法で、分割ファイル6dを転送するため、配置対象サーバ4において、圧縮された最後の分割ファイル「VM−0003」が解凍した頃には、最後に転送された分割ファイル「VM−0005」を受信できる。この例では、分割ファイル「VM−0005」は非圧縮ファイルであるので、分割ファイル「VM−0005」の受信により、配置対象サーバ4は、解凍処理の完了を待つことなく、全分割ファイル「VM−0001」〜「VM−0005」を結合することができる。
以下各処理についてフローチャートで説明する。転送制御サーバ30の登録処理部31による登録処理について説明する。図12及び図13は、登録処理を説明するためのフローチャート図である。
図12にて、転送制御サーバ30の登録処理部31は、設計者1からユーザインタフェース315を介してVMイメージファイル6の登録要求を受け付ける(ステップS101)。登録処理部31は、設計者1によって入力されたVMイメージファイル6のファイルサイズを原本ファイルサイズに設定する(ステップS101)。登録処理部31は、圧縮解凍処理部32によってVMイメージファイル6を圧縮し、圧縮後のファイルサイズを取得して、圧縮後サイズに設定する(ステップS102)。そして、登録処理部31は、圧縮後サイズを原本ファイサイズで割って、比較元圧縮率を求める(ステップS103)。
登録処理部31は、分割数に1を設定して(ステップS105)、カウンタを初期値(0より大きい整数)から開始して所定値ずつ増加し到達値に達するまで、ステップS107からS112までの処理を繰り返す(ステップS106)。例えば、初期値を5、所定値を5、到達値を50とする。初期値、所定値、及び到達値は、管理者1によって設定されても良い。
登録処理部31は、VMイメージファイル6をカウンタ値で均等に分割して(ステップS107)、圧縮解凍処理部32によって、各分割ファイル6dを圧縮する(ステップS108)。登録処理部31は、圧縮解凍処理部32から圧縮後の各分割ファイル6dのファイルサイズを取得する。
登録処理部31は、圧縮後の各分割ファイル6dのファイルサイズを合計して、合計圧縮サイズを求める(ステップS109)。そして、登録処理部31は、圧縮率を算出する(ステップS110)。
圧縮率 = (合計圧縮サイズ)/(原本ファイルサイズ)
により、圧縮率を算出する。
登録処理部31は、ステップS110で得た圧縮率とステップS104で算出した比較元圧縮率との差が所定値(例えば、0.05)以下であるか否かを判断する(ステップS111)。所定値以下の場合、登録処理部31は、カウンタ値を分割数に設定する(ステップS112)。従って、所定値以下の間は、分割数が更新され大きくなる。所定値より大きくなった場合、又は、到達値までカウントした場合、登録処理部31は、図13のステップS113へと進む。
図13にて、登録処理部31は、VMイメージファイル6を分割数で均等に分割し(ステップS113)、圧縮解凍処理部32によって、各分割ファイル6dを圧縮して解凍する(ステップS114)。登録処理部31は、圧縮解凍処理部32から各分割ファイル6dの解凍時間を取得する。
登録処理部31は、解凍時間を転送時間管理テーブル30eの解凍時間に登録する(ステップS115)。転送時間管理テーブル30eの解凍時間に、圧縮解凍処理部32から取得した各分割ファイル6dの解凍時間が設定される。
また、登録処理部31は、各分割ファイル6dの非圧縮時のファイル転送時間を計算する(ステップS116)。
転送時間 = ファイルサイズ×8(bit) ÷ 転送するネットワーク帯域
により計算する。登録処理部31は、非圧縮時の転送時間をファイル転送時間管理テーブル30eの非圧縮ファイル転送時間に登録する(ステップS117)。
次に、登録処理部31は、各分割ファイル6dの圧縮時のファイル転送時間を計算する(ステップS118)。
転送時間 = ファイルサイズ×8(bit) ÷ 転送するネットワーク帯域
により計算する。登録処理部31は、圧縮時の転送時間をファイル転送時間管理テーブル30eの圧縮ファイル転送時間に登録する(ステップS119)。
そして、登録処理部31は、各分割ファイル6dの圧縮/非圧縮の最適パターン抽出及び転送時間を算出して、最短転送時間を取得する圧縮/非圧縮決定処理(図14)を行う(ステップS120)。
登録処理部31は、分割ファイル6dを圧縮/非圧縮の最適パターンに従って、圧縮解凍処理部32によって圧縮して、ファイル管理ディレクトリ30dに格納することにより配置する(ステップS121)。
登録処理部31は、転送順序制御テーブル30fに各分割ファイルの転送順序を登録する転送順序登録処理(図17)を行う(ステップS122)。登録処理部31は、最短転送時間を取得して、この登録処理を終了する。
ステップS120での圧縮/非圧縮決定処理について図14から図16で説明する。図14から図16は、圧縮/非圧縮決定処理を説明するためのフローチャート図である。図14にて、登録処理部31は、第1カウンタを1から分割ファイル数まで1づつ増加しながら繰り返すループAを行う(ステップS201)。
登録処理部31は、第1カウンタが1より大きいか否かを判断する(ステップS202)。第1カウンタが1である場合、登録処理部31は、転送時間管理テーブル30eの圧縮状態に「圧縮」を設定して(ステップS203)、ループBを行うためステップS206へと進む。
一方、第1カウンタが1より大きい場合、登録処理部31は、転送時間管理テーブル30eの圧縮状態が「圧縮」を示すレコードの内、圧縮ファイル転送時間が最も長い値を示すレコードの圧縮状態を「非圧縮」に変更する(ステップS204)。また、登録処理部31は、転送時間管理テーブル30eの圧縮状態が「圧縮」を示すレコードの内、圧縮ファイル転送時間が最も短い値を初回ファイル転送時間に設定して(ステップS205)、ループBを開始する。
登録処理部31は、第2カウンタを1から分割フィル数まで1づつ増加しながら繰り返すループBを行う(ステップS206)。登録処理部31は、転送時間管理テーブルからレコードを1つ読み出して(ステップS207)、圧縮状態が「圧縮」を示すか否かを判断する(ステップS208)。
圧縮状態が「非圧縮」を示す場合、登録処理部31は、総転送時間に転送時間管理テーブルの非圧縮ファイル転送時間を加算して(ステップS209)、図15のステップS212へと進む。
一方、圧縮状態が「圧縮」を示す場合、登録処理部31は、総解凍時間にレコード内の解凍時間の値を加算して(ステップS210)、総転送時間にレコード内の圧縮ファイル転送時間の値を加算する(ステップS211)。そして、登録処理部31は、図15のステップS212へと進む。
図15にて、登録処理部31は、評価する分割ファイル6dはまだあるか否かを判断する(ステップS221)。ループBに対して、分割ファイル数分繰り返し処理したか否かが判断される。評価する分割ファイル6dがまだある場合、即ち、第2カウンタが分割ファイル数に到達していない場合、登録処理部31は、ステップS206へ戻り、第2カウンタを1インクリメントして上記同様の処理を繰り返す。
一方、分割ファイル6dを全て評価した場合、即ち、第2カウンタが分割ファイル数に到達した場合、登録処理部31は、総解凍時間に初回ファイル転送時間の値を加算する(ステップS222)。
登録処理部31は、第1カウンタが1より大きいか否かを判断する(ステップS223)。第1カウンタが1の場合、登録処理部31は、総解凍時間と総転送時間の内、短い方の時間を最小転送時間に設定して(ステップS224)、図16のステップS234へと進む。
一方、第1カウンタが1より大きい場合、登録処理部31は、総解凍時間が総転送時間以上であるか否かを判断する(ステップS225)。総解凍時間が総転送時間より短い場合、登録処理部31は、図16のステップS229へと進む。
図16にて、図15のステップS224にて総解凍時間が総転送時間より短い場合、登録処理部31は、最小転送時間と総転送時間とを比較して(ステップS229)、総転送時間が最小転送時間より長いか否かを判断する(ステップS230)。総転送時間が最小転送時間以下の場合、登録処理部31は、ステップS234へと進む。
一方、総転送時間が最小転送時間以下の場合、登録処理部31は、最小転送時間に総転送時間を設定して(ステップS231)、評価する圧縮及び非圧縮のパターンはまだあるか否かを判断する(ステップS234)。まだある場合、登録処理部31は、図14のステップS201へと戻り、ループAに関して第1カウンタを1インクリメントし、上述した同様の処理を繰り返す。
一方、全ての圧縮及び非圧縮のパターンを評価した場合、ループAに関して処理を終了したと判断し、登録処理部31は、この圧縮/非圧縮決定処理を終了する。
図15に戻り、ステップS225にて、総解凍時間が総転送時間以上である場合、登録処理部31は、最小転送時間と総解凍時間とを比較して(ステップS226)、総解凍時間が最小転送時間より長いか否かを判断する(ステップS227)。総解凍時間が最小転送時間以下である場合、登録処理部31は、図16のステップS232へと進む。
図16にて、登録処理部31は、転送時間管理テーブル30eの圧縮状態が「非圧縮」を示すレコードの内、一番短い転送時間を示すレコードの圧縮状態を「圧縮」に変更する(ステップS233)。そして、登録処理部31は、この圧縮/非圧縮決定処理を終了する。
図15に戻り、ステップS227にて、総解凍時間が最小転送時間より長い場合、登録処理部31は、最小転送時間に総解凍時間を設定して(ステップS228)、図16のステップS234へと進む。
図16にて、登録処理部31は、評価する圧縮及び非圧縮のパターンはまだあるか否かを判断する(ステップS234)。まだある場合、登録処理部31は、図14のステップS201へと戻り、ループAに関して第1カウンタを1インクリメントし、上述した同様の処理を繰り返す。
一方、全ての圧縮及び非圧縮のパターンを評価した場合、ループAに関して処理を終了したと判断し、登録処理部31は、この圧縮/非圧縮決定処理を終了する。
ステップS122での転送順序登録処理について図17で説明する。図17は、転送順序登録処理を説明するためのフローチャート図である。図17において、登録処理部31は、転送時間管理テーブル30eの圧縮状態が「圧縮」を示すレコードの内、圧縮ファイルを転送時間の短い順に分割ファイル名を取得し、転送順序制御テーブル30fに、分割ファイル名と転送順序とを、転送順序を1からインクリメントしながら登録する(ステップS301)。
例えば、図10の例において、転送順序制御テーブル30fに、分割ファイル名「VM−0004」及び転送順序「1」、分割ファイル名「VM−0002」及び転送順序「2」、分割ファイル名「VM−0001」及び転送順序「3」、そして分割ファイル名「VM−0003」及び転送順序「4」が順に設定される。
また、登録処理部31は、転送時間管理テーブル30eの圧縮状態が「非圧縮」を示すレコードの分割ファイル名を取得し、転送順序制御テーブル30fに、分割ファイル名と転送順序とを既に登録されている転送順番の最大値に対して1インクリメントしながら登録する(ステップS302)。
図10の例において、転送時間管理テーブル30eから分割ファイル名「VM−0005」が取得される。そして、転送時間管理テーブル30eに既に登録されている転送順番のうち最大値「4」を取得する。分割ファイル名「VM−0005」と最大値「4」を1インクリメントした転送順番「5」とが、転送順序制御テーブル30fに追加設定される。
次に、転送制御部34による転送制御処理を説明する。図18は、転送制御処理を説明するためのフローチャート図である。図18において、転送制御部34は、管理者1からVMイメージファイルの転送要求を受け付けると(ステップS401)、転送制御部34は、転送処理を分割ファイル数分を繰り返す(ステップS402)。ステップS402〜S405の処理が繰り返される。
転送制御部34は、転送順序制御テーブル30fから転送順序c+1番目の分割ファイル名を取得する(ステップS403)。そして、転送制御部34は、ファイル管理ディレクトリ30dからステップS403で取得した分割ファイル名の分割ファイル6dを読み出して、配置対象サーバ4へ転送する(ステップS404)。
分割ファイル6dの転送後、転送制御部34は、ステップS404で転送した分割ファイル6dの情報を配置対象サーバ4へ通知する(ステップS405)。分割ファイル6dの情報には、圧縮又は非圧縮を示す情報と、最終転送ファイルであった場合には最終転送ファイルを示す情報とを含む。
そして、分割ファイル数分の転送処理を終了すると、転送制御部34は、この転送制御処理を終了する。
次に、配置対象サーバ4での分割ファイル受信処理を説明する。図19は、配置対象サーバでの分割ファイル受信処理を説明するためのフローチャート図である。図19において、配置対象サーバ4の送受信部41が転送制御サーバ30からVMイメージファイルの分割ファイル6dを受信して(ステップS501)、分割ファイル6dの情報を受信する(ステップS502)。転送制御サーバ30から受信した分割ファイル6dは、配置ディレクトリ40dに格納される。
配置制御部42は、送受信部41が受信した分割ファイル6dの情報が圧縮又は非圧縮のいずれを示すか否かを確認する(ステップS503)。分割ファイル6dの情報が非圧縮を示す場合、ステップS505へと進む。一方、分割ファイル6dの情報が圧縮を示す場合、解凍部43によって分割ファイル6dを解凍する(ステップS504)。解凍部43によって解凍された分割ファイル6dで置き換えて、配置ディレクトリ40に格納される。
配置制御部42は、ステップS501で受信した分割ファイル6dが最終転送ファイルであったか否かを判断する(ステップS505)。ステップS502で受信した分割ファイル6dの情報によって、ステップS501で受信した分割ファイル6dが最終転送ファイルであったことを示すか否かを確認すればよい。最終転送ファイルでなかった場合、配置制御部42は、ステップS501へ戻り、送受信部41が分割ファイル6dを受信するのを待つ。
一方、分割ファイル6dが最終転送ファイルであった場合、配置制御部42は、配置ディレクトリ40dに格納された複数の分割ファイル6dを結合して、VMイメージファイル6を復元して置き換えて、配置ディレクトリ40に格納される。
以下に、本実施例における処理シーケンスについて図20から図25で説明する。図20から図23は、登録処理シーケンスを示す図である。図22において、登録処理31は、VMイメージファイル6の登録要求を受け付ける(ステップS601)。VMイメージファイル6の登録要求には、VMイメージファイル6と、ファイル転送レートとが含まれる。
登録処理部31は、分割ファイル6dの圧縮率の合計が最適な分割数を決定し(ステップS602)、決定した分割数でVMイメージファイルを均等に分割する(ステップS603)。登録処理部31は、以下のステップS604からS617(図12)までの処理を分割ファイル数分繰り返す。
登録処理部31は、圧縮解凍処理部33に圧縮要求を行う(ステップS604)。圧縮要求によって分割ファイル名が指定されている。圧縮解凍処理部33は、圧縮要求によって指定されている分割ファイル6dを圧縮し、圧縮後のファイルサイズを登録処理部31に通知する(ステップS606)。登録処理部31は、圧縮後のファイルサイズを用いて圧縮ファイル転送時間を計算する(ステップS607)。
登録処理部31は、転送時間管理テーブル30eに圧縮ファイル転送時間登録を行う(ステップS608)。分割ファイル名と圧縮ファイル転送時間とが転送時間管理テーブル30eに登録され、登録処理部31は、転送時間管理テーブル30eから圧縮ファイル転送時間登録応答を受信する(ステップS609)。
図21にて、登録処理部31は、解凍要求を圧縮解凍処理部32に行う(ステップS610)。解凍要求で分割ファイル名が指定される。圧縮解凍処理部32は、解凍要求で指定される分割ファイル6dを解凍し、登録処理部31に分割ファイル名と解凍時間とを指定した解凍応答を行う(ステップS612)。
登録処理部31は、転送時間管理テーブル30eに対して、分割ファイル名と解凍時間とを含む解凍時間登録を行う(ステップS613)。転送時間管理テーブル30eにおいて、解凍時間登録で指定された分割ファイル名に対応付けて解凍時間が登録される。登録処理部31は、転送時間管理テーブル30eから解凍時間登録応答を受信する(ステップS614)。
登録処理部31は、非圧縮ファイル転送時間を計算して(ステップS615)、転送時間管理テーブル30eに対して、非圧縮ファイル転送時間登録を行う(ステップS616)。非圧縮ファイル転送時間登録によって、分割ファイル名と、ステップS615で計算した非圧縮ファイル転送時間とが指定される。転送時間管理テーブル30eにおいて、非圧縮ファイル転送時間登録で指定された分割ファイル名に対応付けて非圧縮ファイル転送時間が登録される。登録処理部31は、転送時間管理テーブル30eから非圧縮ファイル転送時間登録応答を受信する(ステップS617)。
図22にて、登録処理部31は、圧縮判定部33に対して圧縮パタン抽出要求を行う(ステップS618)。圧縮判定部33は、各分割ファイル6dの圧縮又は非圧縮の最適パターンを抽出し、また、転送時間を計算して(ステップS619)、転送時間管理テーブル30eに圧縮管理テーブル登録要求を行う(ステップS620)。圧縮管理テーブル登録要求には、分割ファイル名と、圧縮状態(圧縮又は非圧縮)とが指定されている。
転送時間管理テーブル30eにおいて、圧縮管理テーブル登録要求で指定された分割ファイル名に対応付けて圧縮状態(圧縮又は非圧縮)が登録される。圧縮判定部33は、転送時間管理テーブル30eから圧縮管理テーブル登録応答を受信する(ステップS621)。
圧縮判定部33は、登録処理部31へ圧縮パターン抽出応答を行う(ステップS622)。登録処理部31は、分割候補パターンで分割し、最適パターンで各分割ファイル6dを圧縮又は非圧縮して、ファイル管理ディレクトリに配置する(ステップS623)。
図23にて、登録処理部31は、ステップS624からS625の処理を分割ファイル数分繰り返す。転送順序制御テーブル30fに各分割ファイル6dの転送順序を登録する(ステップS624)。登録処理部31から転送順序登録要求が転送順序制御テーブル30fに行われる。転送順序登録要求には、分割ファイル名と、転送順序とが指定される。
転送順序制御テーブル30fに、分割ファイル名と、転送順序とが記憶されると、転送順序登録応答が登録処理部31へ行われ(ステップS625)、この登録処理シーケンスが終了する。
次に、転送制御シーケンスについて図24及び図25で説明する。図24及び図25は、転送制御シーケンスを示す図である。図24にて、転送制御部34は、VMイメージファイル転送要求を受けると(ステップS701)。VMイメージファイル転送要求にはVMイメージファイルと、配置対象サーバのIPアドレスとが指定される。送受信部35に対して、分割ファイル数分、以下のステップS702〜S709の処理を繰り返す。
転送制御部34は、転送順序制御テーブル30fに転送順序を指定した転送順序参照を行う(ステップS702)。転送順序制御テーブル30fは、転送順序に対応する分割ファイル名を読み出して、転送制御部34に対して、読み出した分割ファイル名を含む転送順序応答を行う(ステップS703)。
次に、転送制御部34は、送受信部35に対して、ファイル転送要求を行う(ステップS704)。ファイル転送要求には、分割ファイル名と、転送先IPアドレスとが含まれる。送受信部35は、ファイル転送要求に含まれる分割ファイル名を指定して、ファイル管理ディレクトリ30dに分割ファイル6dを要求する(ステップS705)。ファイル管理ディレクトリ30dは、送受信部35によって指定された分割ファイル6dを送受信部35に提供する(ステップS706)。
送受信部35は、IP網2を介して、転送先IPアドレスの配置対象サーバ4へ分割ファイル6dのファイル転送を行い(ステップS707)、また、転送先IPアドレスの配置対象サーバ4へファイル転送通知を行う(ステップS708)。ファイル転送通知によって、ステップS707でファイル転送した分割ファイル6dの圧縮状態と、最終転送フラグとが通知される。
そして、送受信部35は、転送制御部34にファイル転送応答を行う(ステップS709)。全ての分割ファイル6dのファイル転送を終了すると、転送制御部34は、VMイメージファイル転送応答を行う(ステップS710)。送受信部35は、一方で、IP網2を介して、配置対象サーバ4からファイル受信の通知を受けて(ステップS711)、転送制御サーバ30でのファイル転送は終了する。
図25にて、全ての分割ファイル6dを受信して、VMイメージファイル6を配置する配置対象サーバ4での処理シーケンスについて説明する。配置対象サーバ4の送受信部41は、分割ファイル数分、以下のステップS801〜S812の処理を繰り返す。
転送制御サーバ30から分割ファイル6dを受信すると(ステップS801)、配置ディレクトリ40dへ格納する(ステップS802)。
そして、配信制御部42は、転送制御サーバ30からファイル転送通知を受信すると(ステップS803)、ステップS801で受信した分割ファイ6dは圧縮ファイルであったか否かを判断する(ステップS804)。ファイル転送通知によって、圧縮状態に「圧縮」が指定されているか否かが確認される。圧縮ファイルでない場合、配信制御部42は、ステップS808へと進む。
一方、圧縮ファイルの場合、配信制御部42は、解凍部43に対して、ファイル解凍要求を行う(ステップS805)。解凍部43は、ステップS802で配置ディレクトリ40dに格納された分割ファイル6dを解凍する解凍処理を行った後(ステップS806)、配信制御部42へファイル解凍応答を行う(ステップS807)。
配信制御部42は、ステップS803で受信したファイル転送通知の最終転送フラグによって、最終転送が通知されたか否かを判断する(ステップS808)。最終転送の分割ファイル6dでない場合、配信制御部42は、転送制御サーバ30へファイル受信通知を行う(ステップS812)。配置対象サーバ4での転送処理シーケンスを終了する。
一方、最終転送の分割ファイル6dの場合、配信制御部42は、結合部44に対してファイル結合要求を行う(ステップS809)。結合部44は、配置ディレクトリ40dに格納された分割ファイル6dを結合して、VMイメージファイル6を復元した後(ステップS810)、配信制御部42へファイル結合応答を行う(ステップS811)。配信制御部42は、転送制御サーバ30へファイル受信通知を行う(ステップS812)。配置対象サーバ4での転送処理シーケンスを終了する。
図26は、本実施例の効果を説明するための図である。図26(A)では、圧縮したVMイメージファイル6を転送し、圧縮したVMイメージファイル6の受信後に解凍した場合を例示している。転送に100秒掛り、解凍に121秒掛った場合、圧縮したVMイメージファイル6の転送開始から、VMイメージファイル6を実行可能な状態になるまで、221秒掛ったことになる。
図26(B)では、本実施例における一例を示している。図26(B)において、VMイメージファイル6を均等に分割した、分割ファイル「VM−0001」から「VM−0005」を転送した場合を例示している。分割ファイル「VM−0001」から「VM−0004」は圧縮ファイルであり、分割ファイル「VM−0005」は非圧縮ファイルである。
転送制御サーバ30から、転送時間が最短の分割ファイル「VM−0004」が最初に転送され、非圧縮の分割ファイル「VM−0005」が、圧縮された分割ファイル「VM−0002」、「VM−0001」、及び「VM−0003」の後に転送される。
配置対象サーバ4では、分割ファイル「VM−0004」を最初に受信し、解凍を開始する。「VM−0004」の解凍処理中に、圧縮された分割ファイル「VM−0002」を受信し、「VM−0004」の解凍後に解凍開始する。同様に、解凍処理中に、順次、圧縮された分割ファイル「VM−0001」と「VM−0003」とを受信し、解凍する。
配置対象サーバ4は、圧縮された分割ファイル「VM−0004」、「VM−0002」、「VM−0001」、及び「VM−0003」が解凍されたタイミングで、非圧縮の分割ファイル「VM−0005」を転送制御サーバ30から受信できるため、非圧縮の分割ファイル「VM−0005」受信と略同時に、分割ファイル「VM−0001」から「VM−0005」を結合することができる。
本実施例では、この例の場合、分割ファイル「VM−0004」に掛った転送時間t1と、圧縮された分割ファイル「VM−0004」、「VM−0002」、「VM−0001」、及び「VM−0003」の解凍時間の合計とにより、転送を開始してから配置対象サーバ4でVMイメージファイル6の起動まで合計104秒である。図25(A)で例示した場合と比べて、配置対象サーバ4は効率的に分割ファイルを受信してVMイメージファイル6を復元することができるため、より迅速にVMイメージファイル6を起動することができる。
上述より、本実施例は、NFV(Network Function Virtualizatioin)において仮想化技術を応用した仮想マシン上のアプリケーション起動に必要なファイルの物理サーバ(配置対象サーバ4に相当)へ展開する処理を短縮化できる。これによって、管理者1はいち早くサービスを開始することができる。
即ち、VMイメージファイルファイルの転送時間だけでなく、VMイメージファイルの転送開始から転送先サーバ(配置対象サーバ4に相当)でのアプリケーション起動、サービス開始までの時間を短くできる。
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
以上の実施例を含む実施形態に関し、更に以下の付記を開示する。
(付記1)
データファイルを分割し、
前記データファイルを分割した複数の分割ファイルの夫々を、所定のアルゴリズムで圧縮したときの圧縮ファイル転送時間及び解凍時間と、圧縮しない非圧縮で転送したときの非圧縮ファイル転送時間とに基づいて、圧縮して転送する分割ファイルと、非圧縮で転送する分割ファイルとを決定し、
圧縮又は非圧縮を決定した前記複数の分割ファイルの転送順序を決定し、
決定した前記転送順序に従って、前記複数の分割ファイルを送信する
処理をコンピュータが行うデータ転送方法。
(付記2)
前記圧縮ファイル転送時間が最短の前記分割ファイルを最初に転送するように前記転送順序を決定することを特徴とする付記1記載のデータ転送方法。
(付記3)
圧縮した分割ファイルの転送後に、非圧縮の分割ファイルを転送するように前記転送順序を決定することを特徴とする付記1又は2記載のデータ転送方法。
(付記4)
前記圧縮した分割ファイルを圧縮ファイル転送時間の短い順に前記転送順序を決定することを特徴とする付記2又は3記載のデータ転送方法。
(付記5)
前記分割ファイルの夫々を圧縮後のファイルサイズと前記データファイルのファイルサイズとから圧縮率を計算し、
前記データファイルの圧縮率と、圧縮後の前記分割ファイルの圧縮率との差が所定値内で最大となる分割数を決定し、
前記分割数で、前記データファイルを均等に分割することを特徴とする付記1乃至4のいずれか一項記載のデータ転送方法。
(付記6)
前記分割数で均等に分割した前記複数の分割ファイルに対して、前記圧縮した分割ファイルの解凍時間を合計した総解凍時間が、圧縮した分割ファイル及び前記非圧縮の分割ファイルの転送時間を合計した総転送時間以下となる圧縮及び非圧縮のパターンを決定することを特徴とする付記5記載のデータ転送方法。
(付記7)
前記データファイルは、Virtual Machineイメージファイルであることを特徴とする付記1乃至6のいずれか一項記載のデータ転送方法。
(付記8)
データファイルを分割する分割部と、
前記データファイルを分割した複数の分割ファイルの夫々を、所定のアルゴリズムで圧縮したときの圧縮ファイル転送時間及び解凍時間と、圧縮しない非圧縮で転送したときの非圧縮ファイル転送時間とに基づいて、圧縮して転送する分割ファイルと、非圧縮で転送する分割ファイルとを決定する圧縮決定部と、
圧縮又は非圧縮を決定した前記複数の分割ファイルの転送順序を決定する転送順序決定部と、
決定した前記転送順序に従って、前記複数の分割ファイルを転送する転送部と
を有するデータ転送制御装置。
(付記9)
データファイルをサーバから装置へ転送するデータ転送システムであって、
前記サーバは、
前記データファイルを分割し、
前記データファイルを分割した複数の分割ファイルの夫々を、所定のアルゴリズムで圧縮したときの圧縮ファイル転送時間及び解凍時間と、圧縮しない非圧縮で転送したときの非圧縮ファイル転送時間とに基づいて、圧縮して転送する分割ファイルと、非圧縮で転送する分割ファイルとを決定し、
圧縮又は非圧縮を決定した前記複数の分割ファイルの転送順序を決定し、
決定した前記転送順序に従って、前記複数の分割ファイルを送信し、
前記装置は、
前記圧縮した分割ファイル及び前記非圧縮の分割ファイルの転送時間を合計した総転送時間内に、前記圧縮した分割ファイルを解凍し、
解凍した前記分割ファイルと、非圧縮で転送された前記分割ファイルとを結合して、前記データファイルを復元する
ことを特徴とするデータ転送システム。
(付記10)
データファイルを分割し、
前記データファイルを分割した複数の分割ファイルの夫々を、所定のアルゴリズムで圧縮したときの圧縮ファイル転送時間及び解凍時間と、圧縮しない非圧縮で転送したときの非圧縮ファイル転送時間とに基づいて、圧縮して転送する分割ファイルと、非圧縮で転送する分割ファイルとを決定し、
圧縮又は非圧縮を決定した前記複数の分割ファイルの転送順序を決定し、
決定した前記転送順序に従って、前記複数の分割ファイルを送信する
処理をコンピュータに行わせるデータ転送プログラム。
30 転送制御サーバ
30d ファイル管理ディレクトリ
30e 転送時間管理テーブル
30f 転送順序制御テーブル
31 登録処理部
32 圧縮解凍処理部
33 圧縮判定部
34 転送制御部
35 送受信部
4 配置対象サーバ
40 配置ディレクトリ
41 送受信部
42 配置制御部
43 解凍部
44 結合部
311、411 CPU
312、412 メモリ
313、413 ディスク
314、414 NIC
315 ユーザインタフェース
316 ドライブ装置
317 記憶媒体
319、419 PCIバス

Claims (5)

  1. データファイルを分割した分割ファイルの夫々を圧縮後のファイルサイズと前記データファイルのファイルサイズとから圧縮率を計算し、
    前記データファイルの圧縮率と、圧縮後の前記分割ファイルの圧縮率との差が所定値内で最大となる分割数を決定し、
    決定した前記分割数で、前記データファイルを均等に分割し、
    前記データファイルを分割した複数の分割ファイルの夫々を、所定のアルゴリズムで圧縮したときの圧縮ファイル転送時間及び解凍時間と、圧縮しない非圧縮で転送したときの非圧縮ファイル転送時間とに基づいて、圧縮して転送する分割ファイルと、非圧縮で転送する分割ファイルとを決定し、
    圧縮又は非圧縮を決定した前記複数の分割ファイルの転送順序を決定し、
    決定した前記転送順序に従って、前記複数の分割ファイルを送信する
    処理をコンピュータが行うデータ転送方法。
  2. 前記圧縮ファイル転送時間が最短の前記分割ファイルを最初に転送するように前記転送順序を決定することを特徴とする請求項1記載のデータ転送方法。
  3. 圧縮した分割ファイルの転送後に、非圧縮の分割ファイルを転送するように前記転送順序を決定することを特徴とする請求項1又は2記載のデータ転送方法。
  4. 前記分割数で均等に分割した前記複数の分割ファイルに対して、前記圧縮した分割ファイルの解凍時間を合計した総解凍時間が、圧縮した分割ファイル及び前記非圧縮の分割ファイルの転送時間を合計した総転送時間以下となる圧縮及び非圧縮のパターンを決定することを特徴とする請求項記載のデータ転送方法。
  5. データファイルを分割した分割ファイルの夫々を圧縮後のファイルサイズと前記データファイルのファイルサイズとから圧縮率を計算し、前記データファイルの圧縮率と、圧縮後の前記分割ファイルの圧縮率との差が所定値内で最大となる分割数を決定し、決定した該分割数で、前記データファイルを均等に分割する分割部と、
    前記データファイルを分割した複数の分割ファイルの夫々を、所定のアルゴリズムで圧縮したときの圧縮ファイル転送時間及び解凍時間と、圧縮しない非圧縮で転送したときの非圧縮ファイル転送時間とに基づいて、圧縮して転送する分割ファイルと、非圧縮で転送する分割ファイルとを決定する圧縮決定部と、
    圧縮又は非圧縮を決定した前記複数の分割ファイルの転送順序を決定する転送順序決定部と、
    決定した前記転送順序に従って、前記複数の分割ファイルを転送する転送部と
    を有するデータ転送制御装置。
JP2014052196A 2014-03-14 2014-03-14 データ転送方法及びデータ転送制御装置 Active JP6260373B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014052196A JP6260373B2 (ja) 2014-03-14 2014-03-14 データ転送方法及びデータ転送制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014052196A JP6260373B2 (ja) 2014-03-14 2014-03-14 データ転送方法及びデータ転送制御装置

Publications (2)

Publication Number Publication Date
JP2015176337A JP2015176337A (ja) 2015-10-05
JP6260373B2 true JP6260373B2 (ja) 2018-01-17

Family

ID=54255480

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014052196A Active JP6260373B2 (ja) 2014-03-14 2014-03-14 データ転送方法及びデータ転送制御装置

Country Status (1)

Country Link
JP (1) JP6260373B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6940771B2 (ja) * 2017-12-27 2021-09-29 富士通株式会社 データ送信プログラム、データ送信装置、及びデータ送信方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003296055A (ja) * 2002-04-01 2003-10-17 Fuji Xerox Co Ltd 印刷データの送信方法、プリンタ制御装置、およびプリンタ制御用のコンピュータプログラム
JP2010020416A (ja) * 2008-07-08 2010-01-28 Panasonic Corp データ転送方法およびデータ転送装置
JP5831679B2 (ja) * 2011-03-10 2015-12-09 日本電気株式会社 データ処理スケジューリング装置、方法及びプログラム

Also Published As

Publication number Publication date
JP2015176337A (ja) 2015-10-05

Similar Documents

Publication Publication Date Title
US8615588B2 (en) Accelerate copying of virtual machine images
JP7455519B2 (ja) コピーされたメッセージリストを提供する方法とシステム、および非一時的なコンピュータ読み取り可能な記録媒体
US20080270524A1 (en) Distributing files over a computer network
US10452615B2 (en) Mixing software based compression requests with hardware accelerated requests
US9535743B2 (en) Data processing control method, computer-readable recording medium, and data processing control device for performing a Mapreduce process
JP6666310B2 (ja) 配信データ作成装置、配信データ作成方法及び配信データ作成プログラム
EP2824570A1 (en) Host providing system and host providing method
JP6260373B2 (ja) データ転送方法及びデータ転送制御装置
US9286055B1 (en) System, method, and computer program for aggregating fragments of data objects from a plurality of devices
CN113495870A (zh) 镜像构建的方法、装置、电子设备和存储介质
US11838207B2 (en) Systems for session-based routing
US20220365789A1 (en) Storage medium, information processing method, and information processing apparatus
JP6581155B2 (ja) 不要ファイル検出装置、不要ファイル検出方法および不要ファイル検出プログラム
EP3707610B1 (en) Redundant data storage using different compression processes
US11500622B2 (en) Information processing apparatus, information processing system, and non-transitory computer readable medium for coordinating a switch to an updated program in a cluster to suppress confusion on users
US20130167141A1 (en) Application configuration system, method, and program
CN108520025B (zh) 一种服务节点确定方法、装置、设备及介质
US10936544B2 (en) Enabling consistency in push order for network caching
US11163478B2 (en) Reducing the amount of data transferred to remote storage locations for modified objects
JP2017111581A (ja) 情報処理システム、制御方法
JP2017182286A (ja) ストレージ管理システムおよびストレージ管理方法
US20180150336A1 (en) Management system and control method
US11843682B1 (en) Prepopulating an edge server cache
WO2023040954A1 (en) Heterogenous replication in a hybrid cloud database
US11003512B2 (en) System and method for optimizing bulk data operation

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160804

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170614

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170620

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170821

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: 20171114

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171127

R150 Certificate of patent or registration of utility model

Ref document number: 6260373

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150