(57)【要約】  データ転送装置は、複数の圧縮アルゴリズムによりデータを圧縮して転送する際に、圧縮処理速度に比べて転送処理速度が制約となるＮＷ帯域幅制約処理よりも転送処理速度に比べて圧縮処理速度が制約となるＣＰＵ制約処理を優先適用して圧縮データを転送する。具体的には、実効スループットを最大化する圧縮処理速度及び圧縮率並びにＮＷ帯域幅に応じてＣＰＵ制約処理又はＮＷ帯域幅制約処理に適用される圧縮アルゴリズムを選択する。圧縮データは転送される前に一時保持部に格納される。一時保持部が保持する圧縮データの量が所定量よりも少ない場合、ＮＷ帯域幅制約処理による圧縮データを前記一時保持部に格納し、一時保持部が保持する圧縮データの量が所定量よりも多い場合、ＣＰＵ制約処理による圧縮データを一時保持部に格納する。これにより、実効スループットを向上させつつＮＷ帯域幅を無駄なく有効活用して圧縮データを転送することができる。
2014061481.tif 000002
【特許請求の範囲】
【請求項１】
複数の圧縮アルゴリズムによりデータを圧縮して転送するデータ転送装置であって、圧縮処理速度に比べて転送処理速度が制約となるＮＷ帯域幅制約処理よりも転送処理速度に比べて圧縮処理速度が制約となるＣＰＵ制約処理を優先適用して圧縮データを転送するようにしたデータ転送装置。
【請求項２】
複数の圧縮アルゴリズムに従ってＣＰＵ制約処理及びＮＷ帯域幅制約処理によりデータを圧縮する圧縮処理部と、
圧縮データを一時的に保持する一時保持部と、
前記一時保持部から読み出した圧縮データをネットワークを介して転送する転送部とを具備し、
前記一時保持部が保持する圧縮データの量が所定量よりも少ない場合、前記圧縮処理部はＮＷ帯域幅制約処理による圧縮データを前記一時保持部に格納し、前記一時保持部が保持する圧縮データの量が所定量よりも多い場合、前記圧縮処理部はＣＰＵ制約処理による圧縮データを前記一時保持部に格納するようにしたデータ処理装置。
【請求項３】
複数の圧縮アルゴリズムにおいて、実効スループットを最大化する圧縮処理速度及び圧縮率並びに前記転送部に接続されるネットワークのＮＷ帯域幅に応じてＣＰＵ制約処理又はＮＷ帯域幅制約処理に適用される圧縮アルゴリズムを選択する圧縮処理選択部を更に具備し、前記圧縮処理部は前記圧縮処理選択部により選択された圧縮アルゴリズムに従ってＣＰＵ制約処理又はＮＷ帯域幅制約処理を実行するようにした請求項２記載のデータ転送装置。
【請求項４】
前記圧縮処理選択部は、実効スループットを最大化する圧縮処理速度及び圧縮率並びにＮＷ帯域幅に基づいて複数の圧縮アルゴリズムに供されるデータの割合を算出し、そのデータ割合に基づいてＣＰＵ制約処理又はＮＷ帯域幅制約処理に適用される圧縮アルゴリズムを選択するようにした請求項３記載のデータ転送装置。
【請求項５】
前記圧縮処理部に供給されるデータを一時的に保持する圧縮前データ一時保持部を更に具備した請求項２記載のデータ転送装置。
【請求項６】
前記一時保持部は、ＮＷ帯域幅制約処理による圧縮データを一時的に保持するＮＷ帯域幅制約処理用一時保持部と、
ＣＰＵ制約処理による圧縮データを一時的に保持するＣＰＵ制約処理用一時保持部とを具備し、
前記ＮＷ帯域幅制約処理用一時保持部に空きスペースが存在する場合、前記圧縮処理部は前記ＮＷ帯域幅制約処理用一時保持部にＮＷ帯域幅制約処理による圧縮データを格納し、前記ＮＷ帯域幅制約処理用一時保持部に空きスペースが存在せず、かつ、前記ＣＰＵ制約処理用一時保持部に空きスペースが存在する場合、前記圧縮処理部はＣＰＵ制約処理による圧縮データを前記ＣＰＵ制約処理用一時保持部に格納し、
前記転送部は前記ＣＰＵ制約処理用一時保持部に格納されている圧縮データを優先的に転送し、前記ＣＰＵ制約処理用一時保持部に圧縮データが格納されていない場合、前記転送部は前記ＮＷ帯域幅制約処理用一時保持部に格納されている圧縮データを転送するようにした請求項２記載のデータ転送装置。
【請求項７】
複数の圧縮アルゴリズムによりデータを圧縮して転送する際に圧縮処理速度に比べて転送処理速度が制約となるＮＷ帯域幅制約処理よりも転送処理速度に比べて圧縮処理速度が制約となるＣＰＵ制約処理を優先適用して圧縮データを転送するようにしたデータ転送装置と、
前記データ転送装置から伝送される圧縮データを受信する受信装置とを具備するデータ転送システム。
【請求項８】
前記データ転送装置は、複数の圧縮アルゴリズムに従ってＣＰＵ制約処理及びＮＷ帯域幅制約処理によりデータを圧縮する圧縮処理部と、
圧縮データを一時的に保持する一時保持部と、
前記一時保持部から読み出した圧縮データをネットワークを介して転送する転送部とを具備し、
前記一時保持部が保持する圧縮データの量が所定量よりも少ない場合、前記圧縮処理部はＮＷ帯域幅制約処理による圧縮データを前記一時保持部に格納し、前記一時保持部が保持する圧縮データの量が所定量よりも多い場合、前記圧縮処理部はＣＰＵ制約処理による圧縮データを前記一時保持部に格納するようにしたデータ転送システム。
【請求項９】
複数の圧縮アルゴリズムによりデータを圧縮して転送するデータ圧縮転送方法であって、
圧縮処理速度に比べて転送処理速度が制約となるＮＷ帯域幅制約処理よりも転送処理速度に比べて圧縮処理速度が制約となるＣＰＵ制約処理を優先適用して圧縮データを転送するようにしたデータ圧縮転送方法。
【請求項１０】
圧縮データを転送前に一時保持部に保持し、
前記一時的保持部に保持した圧縮データの量と所定量とを比較し、
前記一時的保持部に保持した圧縮データの量が所定量よりも少ない場合、ＮＷ帯域幅制約処理による圧縮データを前記一時保持部に格納し、
前記一時保持部に保持した圧縮データの量が所定量よりも多い場合、ＣＰＵ制約処理による圧縮データを前記一時保持部に格納するようにした請求項９記載のデータ圧縮処理方法。
【請求項１１】
複数の圧縮アルゴリズムによりデータを圧縮して転送するプログラムであって、
圧縮処理速度に比べて転送処理速度が制約となるＮＷ帯域幅制約処理よりも転送処理速度に比べて圧縮処理速度が制約となるＣＰＵ制約処理を優先適用して圧縮データを転送するようにしたプログラム。
【請求項１２】
圧縮データを転送前に一時保持部に保持し、
前記一時的保持部に保持した圧縮データの量と所定量とを比較し、
前記一時的保持部に保持した圧縮データの量が所定量よりも少ない場合、ＮＷ帯域幅制約処理による圧縮データを前記一時保持部に格納し、
前記一時保持部に保持した圧縮データの量が所定量よりも多い場合、ＣＰＵ制約処理による圧縮データを前記一時保持部に格納するようにした請求項１１記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所望の圧縮アルゴリズムを用いてデータを圧縮してネットワークに転送するデータ転送装置及びデータ転送システムに関する。
本願は、２０１２年１０月１９日出願の特願２０１２−２３１６７４号及び２０１３年３月２１日出願の特願２０１３−５８９３７号に基づき優先権を主張し、その内容をここに援用する。
【背景技術】
【０００２】
従来、所定の圧縮アルゴリズムを用いてデータを圧縮してネットワークに転送するデータ転送装置及びデータ転送システムが開発されており、圧縮アルゴリズムを用いたデータ転送技術について種々の文献に開示されている。特許文献１は、複数のプロセッサノードを繋ぐネットワークにおいてメッセージ転送時のスループットを向上させた分散記憶型の並列計算機を開示している。特許文献２は、ファイル転送時のスループットを改善して高速の計算機ネットワークの性能を十分に引き出す高速一括ファイル転送方法及び装置を開示している。特許文献３は、データ圧縮とデータ非圧縮を選択的に実行するデータ転送処理方式を開示している。特許文献４は、ファイル種類別にデータ圧縮の必要性を判断するファイル転送方式を開示する。特許文献５は、コンピュータとデータ圧縮装置との間のデータ転送において圧縮済みデータをコンピュータに転送する間に未圧縮データの圧縮処理を実行するようにしたデータ転送制御装置を開示している。また、非特許文献１はＣＰＵバウンド圧縮処理とＩ／Ｏバウンド転送処理を並列に行なうことで実効スループットを向上する技術を開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平８−１４７２５１号公報
【特許文献２】特許第３３２９３９０号公報
【特許文献３】特開平１−１０８６３１号公報
【特許文献４】特許第２７４６０９２号公報
【特許文献５】特開昭６２−１８２９１９号公報
【非特許文献】
【０００４】
【非特許文献１】ＣＰＵ  ａｎｄ  Ｌ．Ｓｉｎｇａｒａｖｅｌｕ、“Ｆｉｎｅ−ｇｒａｉｎ  ａｄａｐｔｉｖｅ  ｃｏｍｐｒｅｓｓｉｏｎ  ｉｎ  ｄｙｎａｍｉｃａｌｌｙ  ｖａｒｉａｂｌｅ  ｎｅｔｗｏｒｋｓ”、ｉｎ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｄｉｓｔｒｉｂｕｔｅｄ  Ｃｏｍｐｕｔｉｎｇ  Ｓｙｓｔｅｍｓ、２００５、ｐｐ．６８５−６９４
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１は、ネットワークを介して接続される複数のプロセッサを備える並列計算機においてプロセッサ間に転送されるデータを圧縮するものであり、圧縮データをプロセッサ間で転送することによりデータ転送量を減少して、実効スループットを向上させることができる。【０００６】
データ圧縮により実効スループットを向上させる場合、圧縮率を高くすることによりデータ転送量を更に減少させて、更に実効スループットを向上させることができる。しかし、圧縮率を高くすると圧縮処理と転送処理との間に時間的差異が生じるため、ネットワーク帯域を有効に利用できないという問題点がある。【０００７】
従来技術の問題点について図７並びに特許文献１乃至特許文献３及び非特許文献１を参酌して詳細に説明する。図７はデータ転送システムの基本的構成を示すブロック図である。データ転送システムはデータ転送装置１、ネットワーク２、及び分析装置３より構成される。データ転送装置１は、データ蓄積部１Ｓ、取得部１１、圧縮前データ一次保存部１２、複数の圧縮処理部１３、及び転送部１４より構成される。【０００８】
近年、並列処理での高速分析が可能な並列処理基盤をデータ処理システムに組み入れて大量データを高速分析して傾向や知見を導出することが行なわれている。例えば、並列処理基盤として知られているＨａｄｏｏｐを活用することにより、顧客情報や行動履歴のマイニングや大量のログ情報から傾向分析を行なうことができる。並列処理基盤の活用例として、既存のシステムで蓄積されたデータを並列処理基盤にインポートして分析することが考えられる。最近では、クラウド上で並列処理基盤を容易に構築できるサービスも開発されており、並列処理基盤がリモートサイトに設置される場合も考えられる。【０００９】
蓄積された大量データを並列処理基盤で高速に処理する場合、並列処理基盤へのデータインポート速度が重要である。従来、週次や日次で蓄積されたデータをＥｘｔｒａｃｔ−Ｔｒａｎｓｆｏｒｍ−Ｌｏａｄ（ＥＴＬ）ツールや自前ツールでインポートしていた。しかし、データ量の増加により並列処理基盤へのデータインポートに時間がかかり、データ全体のバッチ処理に時間がかかることが考えられる。また、継続的に生成される大量データを早く分析したいという要望も高まっている。関連技術分野としてはニアリアルタイムＥＴＬが知られており、日次でのオフラインバッチ処理からより短間隔でのオンラインバッチ処理を繰り返すことで大量データのリアルタイム分析を行なっている。【００１０】
データインポートの際にネットワーク帯域幅がボトルネックとなる。近年のストレージ技術（Ｄｉｓｋ  Ａｒｒａｙによるディスク並列化、高速なフラッシュメモリを用いたストレージシステム、等）により広帯域なＩ／Ｏを実現することができる。このようなストレージシステムを採用するとネットワーク帯域幅が狭くなる可能性がある。並列処理基盤がリモートサイトに設置されている場合でも、ネットワーク帯域幅が狭くなる現象が発生する可能性がある。【００１１】
ネットワーク帯域幅に係るボトルネックを解消するための技術として、転送データを圧縮して実効スループットを向上させることが考えられる。例えば、特許文献１では転送データをネットワークアダプタで圧縮することでネットワーク転送スループット向上を図っている。特許文献２では、低速なディスクからのファイル転送に適用されるデータ圧縮方式が開示されている。特許文献３では、圧縮用バッファと非圧縮用バッファを用意し、圧縮効率が低いデータはそのまま転送することで圧縮処理による転送処理性能の低下を防ぐ技術が開示されている。しかし、これらの技術では余剰計算リソース（例えば、マルチコア演算器の空きコア）を用いた圧縮処理により転送処理の実効スループットを向上することができない。【００１２】
特許文献１及び特許文献２では圧縮処理と転送処理が直列に依存しているため、圧縮処理の性能がそのまま転送処理に影響を与えてしまう。そのため、圧縮アルゴリズムの処理性能や利用できる計算リソース変動により転送処理の実効スループットが悪化する可能性がある。特許文献３は圧縮処理と転送処理を並列に実行する構成を開示しているが、データ圧縮制御手段が欠落しており、どの程度の割合でデータ圧縮を行なえば転送処理の実効スループットを向上することができるか不明であるため、実現が困難である。【００１３】
また、非特許文献１はＣＰＵバウンドな圧縮処理とＩ／Ｏバウンドな転送処理を並列に実効することで実効スループットを向上させる方法を開示している。ここで、転送処理及び圧縮処理の共通バッファを用意しており、圧縮処理ではバッファからデータを取り出して圧縮して圧縮後のデータをバッファに戻し、転送処理ではバッファから圧縮データ及び非圧縮データを読み出して混合して転送する。このような方法で、ＣＰＵ及びネットワーク帯域幅を無駄なく利用して実効スループットを向上させている。尚、非特許文献１では圧縮処理は一並列処理の場合しか評価されていない。近年開発されたサーバでは複数のコアを具備しているおり、圧縮処理の並列度を増大することで更に実効スループットを向上することができる。図７のデータ転送装置１では複数の圧縮処理部１３を具備している。【００１４】
非特許文献１の構成に基づいて圧縮処理の並列度を増大する方法では、ＣＰＵリソースを有効活用できない問題がある。この問題には２つの原因がある。第１の原因は、圧縮処理と転送処理とが同一のバッファを共有していることである。同一のバッファを共有することで非効率なＣＰＵリソース利用を引き起こす２つの現象が発生する。第１の現象は、一般的に転送処理が圧縮処理より高速であるため、実際には圧縮処理に利用できるＣＰＵリソースが存在するにも拘らず、転送処理が圧縮処理を待たずに非圧縮データを転送してしまうことである。第２の現象は、圧縮処理が圧縮済みのデータをバッファから再び取得してしまい、余剰なオーバヘッドが発生することである。【００１５】
第２の原因は、１種類の圧縮アルゴリズムを利用する手法に限界があることである。非特許文献１では、圧縮後のデータスループットがネットワーク帯域幅を超えない前提における手法を開示している。しかし、近年では圧縮率を犠牲にした高速な圧縮処理を実現する圧縮アルゴリズムが開発されている。これに加えて、圧縮処理の並列度を増大する場合、圧縮処理後のデータスループットがネットワーク帯域幅を超えることが考えられる。この場合、ネットワーク帯域幅を超えるような圧縮処理にＣＰＵリソースを割り当てても、実効スループットを更に向上させることができなくなり、利用可能なＣＰＵリソースが存在する場合でも当該ＣＰＵリソースを有効に活用できない。【００１６】
上記のように従来技術には２つの問題点がある。第１の問題点は、圧縮処理においてＣＰＵリソースを有効に活用して実効スループットを向上することができないことである。その理由は、圧縮処理と転送処理が共通のバッファでデータを共有しているため、上記のように、ＣＰＵリソースの非効率な利用に繋がる２つの現象が発生するためである。第２の問題点は、圧縮処理に利用可能なＣＰＵリソースが存在するにも拘らず、実効スループットを向上することができないことである。その理由は、１種類の圧縮アルゴリズムを利用した場合、圧縮処理後のデータスループットがネットワーク帯域幅を超えると、それ以上ＣＰＵリソースを利用できなくなるためである。【００１７】
本発明は上述の事情を考慮してなされたものであり、適応的圧縮アルゴリズムを用いることによりネットワークにおけるデータ転送時の圧縮処理と転送処理との時間的差異を低減してネットワーク帯域を有効利用してスループットを向上することができるデータ転送装置及びデータ転送システムを提供することを目的とする。
【課題を解決するための手段】
【００１８】
本発明の第１の形態は、複数の圧縮アルゴリズムによりデータを圧縮して転送する際に、圧縮処理速度に比べて転送処理速度が制約となるＮＷ帯域幅制約処理よりも転送処理速度に比べて圧縮処理速度が制約となるＣＰＵ制約処理を優先適用して圧縮データを転送するデータ転送装置である。具体的には、データ転送装置は複数の圧縮アルゴリズムに従ってＣＰＵ制約処理及びＮＷ帯域幅制約処理によりデータを圧縮する圧縮処理部と、圧縮データを一時的に保持する一時保持部と、一時保持部から読み出した圧縮データをネットワークを介して転送する転送部とを具備する。一時保持部が保持する圧縮データの量が所定量よりも少ない場合、圧縮処理部はＮＷ帯域幅制約処理による圧縮データを一時保持部に格納し、一時保持部が保持する圧縮データの量が所定量よりも多い場合、圧縮処理部はＣＰＵ制約処理による圧縮データを前記一時保持部に格納する。【００１９】
本発明の第２の形態は、複数の圧縮アルゴリズムによりデータを圧縮して転送する際に圧縮処理速度に比べて転送処理速度が制約となるＮＷ帯域幅制約処理よりも転送処理速度に比べて圧縮処理速度が制約となるＣＰＵ制約処理を優先適用して圧縮データを転送するようにしたデータ転送装置と、データ転送装置から伝送される圧縮データを受信する受信装置とを具備するデータ転送システムである。【００２０】
本発明の第３の形態は、複数の圧縮アルゴリズムによりデータを圧縮して転送する際に、圧縮処理速度に比べて転送処理速度が制約となるＮＷ帯域幅制約処理よりも転送処理速度に比べて圧縮処理速度が制約となるＣＰＵ制約処理を優先適用して圧縮データを転送するようにしたデータ圧縮転送方法である。具体的には、データ圧縮転送方法は圧縮データを転送前に一時保持部に保持し、一時的保持部に保持した圧縮データの量と所定量とを比較し、一時的保持部に保持した圧縮データの量が所定量よりも少ない場合、ＮＷ帯域幅制約処理による圧縮データを一時保持部に格納し、一時保持部に保持した圧縮データの量が所定量よりも多い場合、ＣＰＵ制約処理による圧縮データを一時保持部に格納する。
【発明の効果】
【００２１】
本発明に係るデータ転送装置は、複数の圧縮アルゴリズムによりデータを圧縮して転送する際に、圧縮処理速度に比べて転送処理速度が制約となるＮＷ帯域幅制約処理よりも転送処理速度に比べて圧縮処理速度が制約となるＣＰＵ制約処理を優先適用して圧縮データを転送するものである。ここで、ＮＷ帯域幅制約処理に比べてＣＰＵ制約処理は高圧縮率を実現するものであり、実効スループットを最大化する圧縮処理速度及び圧縮率並びにＮＷ帯域幅に応じてＣＰＵ制約処理又はＮＷ帯域幅制約処理に適用される圧縮アルゴリズムを選択している。これにより、実効スループットを向上させつつＮＷ帯域幅を無駄なく有効活用して圧縮データを転送することができる。
【図面の簡単な説明】
【００２２】
【図１】本発明の一実施例に係るデータ転送システムの構成を示すブロック図である。
【図２】本発明の一実施例に係るデータ転送装置におけるデータ転送処理の一例を示すフローチャートである。
【図３】本発明の一実施例に係るデータ転送装置におけるデータ圧縮処理の一例を示すフローチャートである。
【図４】本発明の一実施例に係るデータ転送装置におけるデータ圧縮処理設定方法の一例を示すフローチャートである。
【図５】複数の圧縮アルゴリズムを利用してデータの圧縮処理及び転送処理を実行する方法の概念図である。
【図６】データ転送装置により実行されるアルゴリズムのパラメータ及びその実行結果を示す一覧表である。
【図７】データ転送システムの基本構成を示すブロック図である。
【図８】本発明に係るデータ転送装置の最小構成を示すブロック図である。
【発明を実施するための形態】
【００２３】
本発明に係るデータ転送装置及びデータ転送システムについて実施例とともに図面を参照して詳細に説明する。
【００２４】
図１は、本発明の一実施例に係るデータ転送システムの構成を示すブロック図である。データ転送システムはデータ転送装置１０、ネットワーク２０、及び分析装置３０より構成される。本実施例では、データ転送装置１０と分析装置３０とを１台としているが、複数台を設けても構わない。データ転送装置１０は、種々のサービスに供するクライアントからのデータやデータ処理センタからのデータを分析する前の未処理データを格納する。分析装置３０は、ネットワーク２０を介してデータ転送装置１０から転送されてきたデータに対して所定の分析処理を実行する。
【００２５】
データ転送装置は、データ蓄積部１００、取得部１０１、圧縮前データ一時保持部１０２、複数の圧縮処理部１０３、転送部１０４、ネットワーク（ＮＷ）帯域幅制約処理用一時保持部１０５、ＣＰＵ制約処理用一時保持部１０６、及び圧縮処理選択部１０７を具備する。データ蓄積部１００は大量のデータを蓄積するものであり、例えば、データベース、ファイルシステム、メッセージキューを採用することができる。取得部１０１は、データ蓄積部１００の所定サイズのブロック単位でデータを読み出す。尚、ブロックサイズの制約はない。圧縮前データ一時保持部１０２は、圧縮処理部１０３による圧縮処理対象のデータを一時的に保持する。圧縮前データ一時保持部１０２は、取得部１０１にて取得されたデータをバッファリングして、取得部１０１と圧縮処理部１０３の処理速度差を吸収する。
【００２６】
圧縮処理部１０３は、複数の圧縮処理を選択的に実行する。また、圧縮処理部１０３は圧縮処理及び非圧縮処理を選択的に実行することができる。本実施例では、複数の圧縮処理部１０３により並列処理を実行する。例えば、複数のＣＰＵコアにより圧縮処理部１０３を実現した場合、複数のＣＰＵコアで並列処理を実行する。圧縮前データ一時保持部１０２に保持されるデータ量が予め決められたデータ量よりも少ない場合、圧縮処理部１０３は圧縮処理速度に比べて転送処理速度が制約となりうるＮＷ帯域幅制約処理によりデータを圧縮して、圧縮後のデータをＮＷ帯域幅制約処理用一時保持部１０５に格納する。一方、圧縮前データ一時保持部１０２に保持されるデータ量が予め決められたデータ量よりも大きい場合、圧縮処理部１０３は転送処理速度に比べて圧縮処理速度が制約となりうるＣＰＵ制約処理によりデータを圧縮して、圧縮後のデータをＣＰＵ制約処理用一時保持部１０６に格納する。
【００２７】
圧縮処理部１０３は、圧縮処理選択部１０７により選択された圧縮処理に従ってＣＰＵ制約処理又はＮＷ帯域幅制約処理を実行する。ＮＷ帯域幅制約処理用一時保持部１０５にデータを格納できる場合、圧縮処理部１０３はＮＷ帯域幅制約処理に従ってデータを圧縮して、圧縮後のデータをＮＷ帯域幅制約処理用一時保持部１０５に格納する。一方、ＮＷ帯域幅制約処理用一時保持部１０５にデータを格納できないが、ＣＰＵ制約処理用一時保持部１０６にデータを格納できる場合、圧縮処理部１０３はＣＰＵ制約処理に従ってデータを圧縮して、圧縮後のデータをＣＰＵ制約処理用一時保持部１０６に格納する。
【００２８】
転送部１０４は、ＮＷ帯域幅制約処理用一時保持部１０５又はＣＰＵ制約処理用一時保持部１０６から圧縮データを取得して分析装置３０に転送する。本実施例では、転送部１０４はＮＷ帯域幅制約処理用一時保持部１０５に格納された圧縮データに比べてＣＰＵ制約処理用一時保持部１０６に格納された圧縮データを優先的に転送する。即ち、転送部１０４はＣＰＵ制約処理用一時保持部１０６に格納されている圧縮データを優先して分析装置３０へ転送するが、ＣＰＵ制約処理用一時保持部１０６に圧縮データが格納されていない場合、ＮＷ帯域幅制約処理用一時保持部１０５に格納されている圧縮データを分析装置３０へ転送する。
【００２９】
ＮＷ帯域幅制約処理用一時保持部１０５とＣＰＵ制約処理用一時保持部１０６は圧縮データの一時保持部を例示したものであり、本発明はこれに限定されるものではない。ＮＷ帯域幅制約処理一時保持部１０５はＮＷ帯域幅がボトルネックになりうる圧縮処理（以下、ＮＷ帯域幅制約処理という）後のデータを格納するバッファである。換言すると、ＮＷ帯域幅制約処理用一時保持部１０５はＮＷ帯域幅制約処理後のデータを格納する記憶部である。ＮＷ帯域幅制約処理とは、圧縮処理速度に比べて転送処理速度が制約となりうる圧縮処理である。ＣＰＵ制約処理一時保持部１０６はＣＰＵ処理がボトルネックになりうる圧縮処理（以下、ＣＰＵ制約処理という）後のデータを格納するバッファである。換言すると、ＣＰＵ制約処理用一時保持部１０６はＣＰＵ制約処理後のデータを格納する記憶部である。ＣＰＵ制約処理とは、転送処理速度に比べて圧縮処理速度が制約となりうる圧縮処理である。
【００３０】
圧縮処理選択部１０７は、実効スループットを最適にする圧縮処理を選択して圧縮処理部１０３に設定する。圧縮処理選択部１０７は、圧縮処理部１０３において実行される最適なアルゴリズムを選択し、当該アルゴリズムがＮＷ帯域幅制約処理又はＣＰＵ制約処理のいずれに対応するかを判定する。つまり、圧縮処理選択部１０７は圧縮処理部１０３が実行可能な複数のアルゴリズム（例えば、圧縮アルゴリズムや非圧縮アルゴリズム）の中から、ＣＰＵ制約処理又はＮＷ帯域幅制約処理に対応するアルゴリズムを決定する。圧縮処理選択部１０７は、アルゴリズムを適用して圧縮処理部１０３によりデータ圧縮を実行した場合に実効スループットが最大となるアルゴリズムの圧縮処理速度及び圧縮率と、転送部１０４と分析装置３０とを繋ぐネットワーク２０のネットワーク帯域幅とに応じて、ＣＰＵ制約処理又はＮＷ帯域幅制約処理に対応する最適なアルゴリズムを決定する。換言すれば、圧縮処理選択部１０７は圧縮処理部１０３にて圧縮対象データ毎にアルゴリズムに従って圧縮処理を実行した場合に実効スループットを最大とするようなアルゴリズムに夫々割り当てられるデータの割合を圧縮処理速度、圧縮率、及びＮＷ帯域幅に基づいて算出し、算出結果に基づいてＣＰＵ制約処理又はＮＷ帯域幅制約処理に対応する最適なアルゴリズムを選択する。
【００３１】
次に、本実施例におけるデータ転送処理の一例について説明する。図２は、本実施例におけるデータ転送処理の一例を示すフローチャートである。データ転送装置１０において、転送部１０４は一時保持部（即ち、ＮＷ帯域幅制約処理用一時保持部１０５又はＣＰＵ制約処理用一時保持部１０６）から圧縮後のデータを取得してデータを転送するデータ転送処理ループを処理が停止するまで繰返して実行する（ステップＳ３００）。先ず、転送部１０４はＣＰＵ制約処理用一時保持部１０６に圧縮データが格納されているか否かを確認する（ステップＳ３０１）。ＣＰＵ制約処理用一時保持部１０６に圧縮データが格納されている場合（即ち、ステップＳ３０１の判定結果「ＹＥＳ」の場合）、転送部１０４はＣＰＵ制約処理用一時保持部１０６から圧縮データを取得してネットワーク２０を介して分析装置３０へ転送する（ステップＳ３０２、Ｓ３０４）。一方、ＣＰＵ制約処理用一時保持部１０６に圧縮データが格納されていない場合（即ち、ステップＳ３０１の判定結果「ＮＯ」の場合）、転送部１０４はＮＷ帯域幅制約処理用一時保持部１０５から圧縮データを取得してネットワーク２０を介して分析装置３０へ転送する（ステップＳ３０３、Ｓ３０４）。その後、データ転送処理を停止する場合、転送部１０４はステップＳ３００〜Ｓ３０５のデータ転送処理ループを終了する。
【００３２】
本実施例に係るデータ転送処理では、データ転送装置１０はＣＰＵ制約処理用一時保持部１０６の圧縮データを優先的に送信する。ＣＰＵ制約処理ではデータを高効率で圧縮しており、圧縮後のデータのサイズが小さくなっていることが期待されるため、ＣＰＵ制約処理による圧縮データを多く送信することにより実効スループットを向上することができる。しかし、ＣＰＵ制約処理による圧縮データの量はＮＷ帯域を使い切るほどのスループットを実現するものではないため、その圧縮データのみではＮＷ帯域に無駄が発生する。ＮＷ帯域に無駄を発生させないようにＮＷ帯域幅制約処理による圧縮データを適宜送信することにより、無駄なくＮＷ帯域幅を有効利用することができる。
【００３３】
次に、本実施例におけるデータ圧縮処理の一例について説明する。図３は、本実施例におけるデータ圧縮処理の一例を示すフローチャートである。本実施例に係るデータ転送装置１０は複数の圧縮処理部１０３により複数のアルゴリズムを利用してデータを圧縮するデータ圧縮処理ループを処理が停止するまで繰返し実行する（ステップＳ２００）。つまり、圧縮処理部１０３は複数のアルゴリズムの中からＮＷ帯域幅制約処理又はＣＰＵ制約処理に相当するアルゴリズムに従って圧縮前データ一時保持部１０２が保持しているデータを圧縮する。
【００３４】
詳細に説明すると、圧縮処理部１０３は圧縮前データ一時保持部１０２から一定サイズのブロック単位でデータを取得する（ステップＳ２０１）。圧縮処理部１０３はＮＷ帯域幅制約処理用一時保持部１０５に空きスペースが存在しており圧縮データを格納できるか否かを判定する（ステップＳ２０２）。ＮＷ帯域幅制約処理用一時保持部１０５に空きスペースがあり圧縮データを格納できる場合（即ち、ステップＳ２０２の判定結果「ＹＥＳ」の場合）、圧縮処理部１０３はＮＷ帯域幅制約処理に相当するアルゴリズムに従って圧縮前データ一時保持部１０２から取得したデータを圧縮する（ステップＳ２０３）。そして、圧縮処理部１０３は圧縮データをＮＷ帯域幅制約用一時保持部１０５に格納する（ステップＳ２０４）。
【００３５】
一方、ＮＷ帯域幅制約処理用一時保持部１０５に空きスペースが存在しない場合（即ち、ステップＳ２０２の判定結果「ＮＯ」の場合）、圧縮処理部１０３はＣＰＵ制約処理用一時保持部１０６に空きスペースがあり圧縮データを格納できるか否かを判定する（ステップＳ２０５）。ＣＰＵ制約処理用一時保持部１０６に空きスペースが存在しない場合（即ち、ステップＳ２０５の判定結果「ＮＯ」の場合）、圧縮処理部１０３はＣＰＵ制約処理用一時保持部１０６に空きスペースができるまで待機状態となる（ステップＳ２０６）。ＣＰＵ制約処理用一時保持部１０６に空きスペースがあり圧縮データを格納できる場合（ステップＳ２０５の判定結果「ＹＥＳ」の場合）、圧縮処理部１０３はＣＰＵ制約処理に相当するアルゴリズムに従って圧縮前データ一時保持部１０２から取得したデータを圧縮する（ステップＳ２０７）。そして、圧縮処理部１０３は圧縮データをＣＰＵ制約処理用一時保持部１０６に格納する（ステップＳ２０８）。その後、圧縮処理部１０３はデータ圧縮処理ループを終了する（ステップＳ２０９）。
【００３６】
以上のように、圧縮処理部１０３はＣＰＵ制約処理用一時保持部１０６に比べてＮＷ帯域幅制約処理用一時保持部１０５への圧縮データの格納を優先的に行なうことで、高圧縮率の圧縮データを転送部１０４へ供給しつつ、ＮＷ帯域幅を有効利用することができる。
【００３７】
次に、本実施例におけるデータ圧縮処理設定方法の一例について説明する。図４は、本実施例におけるデータ圧縮処理設定方法の一例を示すフローチャートである。データ転送装置１０は数理モデルで最適な圧縮処理の組合せを算出し、算出結果に基づいてＮＷ帯域幅制約処理に相当するアルゴリズムとＣＰＵ制約処理に相当するアルゴリズムの設定を行なう。数理モデルの詳細については後述する。ここでは、圧縮処理選択部１０７が数理モデルによる演算結果に基づいて最適な圧縮処理を選択するという前提において全体的な処理のシーケンスについて説明する。
【００３８】
まず、圧縮処理選択部１０７は最適な圧縮処理を数理モデルで算出するために必要なパラメータを入力する（ステップＳ１００）。本実施例において、圧縮処理選択部１０７は並列度Ｐ、利用可能なＮＷ帯域幅Ｎ、各アルゴリズムｉの圧縮処理速度Ｃｉおよび圧縮率Ｒｉを示すパラメータを入力する。並列度Ｐは、圧縮処理部１０３が並列処理を実行するＣＰＵコアの数を示す。利用可能なＮＷ帯域幅Ｎは、ネットワーク２０のＮＷ帯域幅である。圧縮処理選択部１０７は、入力されたパラメータを数理モデルに代入して算出した演算結果に基づいて、実効スループットを最適にする圧縮アルゴリズムを選択する（ステップＳ１０１）。
【００３９】
次に、圧縮処理選択部１０７は算出された圧縮アルゴリズムの数に応じて圧縮処理と圧縮データの一時保持部の設定を圧縮処理部１０３に対して行なう（ステップＳ１０２）。圧縮処理選択部１０７は実効スループットを最適にする圧縮アルゴリズムの種別を判定する（Ｓ１０３）。この判定処理についても数理モデルを利用するが、その詳細については後述する。
【００４０】
圧縮処理選択部１０７は、実効スループットを最適にする圧縮アルゴリズムがＣＰＵ制約処理に相当するアルゴリズムであるかＮＷ帯域幅制約処理に相当するアルゴリズムであるかを判定する（ステップＳ１０４）。詳細については後述するが、圧縮処理選択部１０７は各アルゴリズムｉの圧縮処理速度Ｃｉ及び圧縮率Ｒｉと、並列度Ｐとの積が利用可能なＮＷ帯域幅Ｎより大きいか否かを判定する。
【００４１】
例えば、実効スループットを最適にする圧縮アルゴリズムがＣＰＵ制約処理に相当する場合、圧縮処理選択部１０７は当該圧縮アルゴリズムをＣＰＵ制約処理用アルゴリズムとして圧縮処理部１０３に設定する。この場合、圧縮処理部１０３はＣＰＵ制約処理用アルゴリズムに従って生成された圧縮データの一時保存先をＣＰＵ制約処理用一時保持部１０６に設定する。一方、実効スループットを最適にする圧縮アルゴリズムがＮＷ帯域幅制約処理に相当する場合、圧縮処理選択部１０７は当該圧縮アルゴリズムをＮＷ帯域幅制約処理用アルゴリズムとして圧縮処理部１０３に設定する。この場合、圧縮処理部１０３はＮＷ帯域幅制約処理用アルゴリズムに従って生成された圧縮データの一時保存先をＮＷ帯域幅制約処理用一時保持部１０５に設定する。尚、実効スループットを最適にする圧縮アルゴリズムの選択及び判定はデータ転送処理前に実行される。
【００４２】
本実施例では、圧縮処理選択部１０７をデータ転送装置１０に搭載するものとしたが、圧縮処理選択部１０７をデータ転送装置１０とは別装置としてもよい。また、本実施例ではＮＷ帯域幅制約処理用一時保持部１０５とＣＰＵ制約処理用一時保持部１０６とは別々に構成したが、両者を１つの記憶装置で構成するようにしてもよい。この場合、圧縮処理部１０３はＮＷ帯域幅制約処理用一時保持部１０５の最大記憶容量に応じたデータ量を閾値とし、記憶装置に記憶されているデータ量が閾値よりも少ないか否かを判定する。或いは、圧縮処理部１０３は記憶装置の記憶データに付与されている付属情報を参照して、ＮＷ帯域幅制約処理による圧縮データの量が閾値よりも少ないか否かを判定するようにしてもよい。前述したＮＷ帯域幅制約処理用一時保持部１０５に空きスペースが存在するか否かの判定処理は、転送部１０４によって転送されるデータ量が所定値よりも少ないか否かを判定する処理の一例であり、転送部１０４によって転送されるデータのうちＮＷ帯域幅制約処理による圧縮データの量が所定値よりも少ないか否かを判定する処理の一例である。
【００４３】
本実施例ではＮＷ帯域幅制約処理に比べてＣＰＵ制約処理の方が高効率な圧縮処理となるため、ＣＰＵ制約処理用一時保持部１０６が保持する圧縮データは高効率圧縮処理されておりデータサイズが小さくなっていることを期待できる。このため、データ転送装置１０はＮＷ帯域幅制約処理用一時保持部１０５が保持する圧縮データに比べてＣＰＵ制約処理用一時保持部１０６が保持する圧縮データをより多く転送することにより実効スループットを向上することができる。しかし、ＣＰＵ制約処理による圧縮データではＮＷ帯域を使い切るほどのデータスループットではないため、ＣＰＵ制約処理の圧縮データのみを転送するとＮＷ帯域に無駄が発生する。このように、実効スループットの向上とＮＷ帯域の有効利用とはトレードオフの関係となる。
【００４４】
ＮＷ帯域に無駄を発生させないようにするため、データ転送装置１０はＣＰＵ制約処理用一時保持部１０６が保持する圧縮データを優先的に転送し、ＮＷ帯域幅制約処理用一時保持部１０５には一定量の圧縮データを保持しておく。これにより、データ転送装置１０は一定量の圧縮データを保持することとなる。換言すれば、転送部１０４はＣＰＵ制約処理用一時保持部１０６又はＮＷ帯域幅制約処理用一時保持部１０５が保持する圧縮データを継続して転送し続けることができるため、無駄なくＮＷ帯域幅を利用することができる。
【００４５】
また、実効スループットを向上させるためＮＷ帯域幅制約処理用一時保持部１０５に一定量の圧縮データを保持している状態では、データ転送装置１０はＣＰＵ制約処理により圧縮データを生成して優先的に転送する。これにより、高効率な圧縮処理による圧縮データをより多く転送することができるため、実効スループットを向上することができる。従って、データ転送装置１０は実効スループットを向上しつつ、ＮＷ帯域を有効利用することができる。
【００４６】
ＮＷ帯域幅制約処理用一時保持部１０５が一定量の圧縮データを保持していない場合、データ転送装置１０は圧縮処理速度に比べて転送処理速度が制約となりうるＮＷ帯域幅制約処理による圧縮データを優先的に転送する。一方、ＮＷ帯域幅制約処理用一時保持部１０５が一定量の圧縮データを保持している場合、データ転送装置１０は転送処理速度に比べて圧縮処理速度が制約となりうるＣＰＵ制約処理による圧縮データを優先的に転送する。上記の機能により、データ転送装置１０は圧縮処理部１０３のリソースを効果的に利用することができるとともに、実効スループットを向上することができる。また、データ転送装置１０はＮＷ帯域幅制約処理用一時保持部１０５に一定量の圧縮データを格納するまでに要する時間を短縮することができる。
【００４７】
次に、実効スループットを最大にする最適な圧縮処理の算出と圧縮データの一時保持部の決定に利用する数理モデルについて説明する。図５は、複数の圧縮アルゴリズムを利用してデータの圧縮処理及び転送処理を実行する方法の概念図である。図５の概念図に基づいて実効スループットＥを最大にする数理モデルを構築する。図５には、３種類のアルゴリズム１〜３が示されている。圧縮アルゴリズム１に従ってＣＰＵ１コアをフルに使用した際のスループット（即ち、圧縮処理速度）をＣ１とし、圧縮アルゴリズム２に従ってＣＰＵ１コアをフルに使用した際のスループットをＣ２とする。また、圧縮アルゴリズム１、２による圧縮率をＲ１、Ｒ２とする。圧縮率は、元のデータサイズに対する圧縮後のデータサイズの割合を示し、その値が小さいほど高圧縮効率となる。尚、非圧縮処理の圧縮率は「１」であるため、本実施例では非圧縮処理も圧縮処理の一種とする。即ち、非圧縮アルゴリズム３に従ってＣＰＵ１コアをフルに使用した際のスループットをＣ３とし、その圧縮率をＲ３とする。また、利用可能な帯域幅をＮとし、ネットワーク２０にデータを送出するＣＰＵコストは無視する。圧縮アルゴリズム１、２及び非圧縮アルゴリズム３のスループットＣ１、Ｃ２、Ｃ３及び圧縮率Ｒ１、Ｒ２、Ｒ３は圧縮処理選択部１０７によって予め算出されている。尚、圧縮処理部１０３が圧縮処理対象のテストデータの量や種類に応じてスループットＣ１、Ｃ２、Ｃ３及び圧縮率Ｒ１、Ｒ２、Ｒ３を算出するようにしてもよい。
【００４８】
圧縮処理部１０３は、１並列処理で設定されたデータの割合に応じて圧縮アルゴリズム１、２及び非圧縮処理アルゴリズム３を動作させる。換言すると、圧縮処理部１０３はＣＰＵ１コアをフルに使用して所定のデータ割合に応じて圧縮アルゴリズム１、２及び非圧縮アルゴリズム３を夫々独立して実行する。尚、所定データ割合が「０％」であった場合、圧縮アルゴリズムは実行されないことを意味する。本実施例において、圧縮処理部１０３はデータ割合ｘ１（０≦ｘ１≦１）を圧縮アルゴリズム１で圧縮処理し、データ割合ｘ２（０≦ｘ２≦１）を圧縮アルゴリズム２で圧縮処理する。また、圧縮処理部１０３はデータ割合ｘ３（０≦ｘ３≦１）については圧縮処理しない。このとき、１並列処理のＣＰＵリソースで圧縮処理部１０３が圧縮できるデータのスループットは（Ｃ１ｘ１＋Ｃ２ｘ２＋Ｃ３ｘ３）で表される。また、圧縮処理部１０３による圧縮後のデータのスループットは（Ｃ１ｘ１Ｒ１＋Ｃ２ｘ２Ｒ２＋Ｃ３ｘ３Ｒ３）で表される。また、並列度ＰのＣＰＵで並列処理を実行すると圧縮後のデータのスループットはＰ（Ｃ１ｘ１Ｒ１＋Ｃ２ｘ２Ｒ２＋Ｃ３ｘ３Ｒ３）で表される。例えば、圧縮処理部１０３が３個のＣＰＵコアを用いて圧縮処理（非圧縮処理を含む）を並列に実行する場合には並列度「Ｐ＝３」となる。
【００４９】
上記のように、並列の圧縮処理後のデータのスループットＰ（Ｃ１ｘ１Ｒ１＋Ｃ２ｘ２Ｒ２＋Ｃ３ｘ３Ｒ３）がＮＷ帯域幅Ｎを超えない場合、実効スループットＥはＰ（Ｃ１ｘ１＋Ｃ２ｘ２＋Ｃ３ｘ３）で表される。一方、並列の圧縮処理後のデータのスループットＰ（Ｃ１ｘ１Ｒ１＋Ｃ２ｘ２Ｒ２＋Ｃ３ｘ３Ｒ３）がＮＷ帯域幅Ｎを超える場合、実効スループットＥはＮ（Ｃ１ｘ１＋Ｃ２ｘ２＋Ｃ３ｘ３）／（Ｃ１ｘ１Ｒ１＋Ｃ２ｘ２Ｒ２＋Ｃ３ｘ３Ｒ３）で表される。従って、圧縮処理選択部１０７は数式１で示される線形計画問題を解くことで最適な実効スループットＥを求めることができる。
【００５０】
【数１】
2014061481.tif 000003
【００５１】
また、圧縮処理選択部１０７は線形計画問題をシンプレックス法で解くことにより実効スループットＥを最大にするデータ割合（ｘ１、ｘ２、ｘ３）の組合せを求めることができる。圧縮処理選択部１０７は、データ割合ｘｉ（ｉは圧縮アルゴリズム又は非圧縮アルゴリズムを識別する番号）がゼロより大きい圧縮アルゴリズムや非圧縮アルゴリズムの最適な組合せを選択する。つまり、データ割合ｘｉ≦０である場合、当該アルゴリズムｉの対象データが存在しないことを意味する。その場合、最適な圧縮／非圧縮アルゴリズムの組合せには当該アルゴリズムｉは含まれないことを意味する。
【００５２】
圧縮処理選択部１０７は、最適な圧縮／非圧縮アルゴリズムの組合せに含まれる圧縮アルゴリズムや非圧縮アルゴリズムがＣＰＵ制約処理又はＮＷ帯域幅制約処理のいずれに設定されているのかを判定する。本実施例において、圧縮処理選択部１０７は最適な組合せに含まれる各アルゴリズムｉ（即ち、圧縮アルゴリズム又は非圧縮アルゴリズム）についてＰＲｉＣｉを算出し、当該ＰＲｉＣｉがＮＷ帯域幅Ｎを超えるか否か判定する。つまり、圧縮処理選択部１０７はＰＲｉＣｉ＜ＮのアルゴリズムｉをＣＰＵ制約処理に相当するアルゴリズムであると決定する。一方、圧縮処理選択部１０７はＰＲｉＣｉ≧ＮのアルゴリズムｉをＮＷ帯域幅制約処理に相当するアルゴリズムであると決定する。
【００５３】
次に、圧縮処理選択部１０７による最適な圧縮／非圧縮アルゴリズムの組合せの算出方法（即ち、図４のステップＳ１０１の詳細）について説明する。例えば、圧縮アルゴリズム１に対してパラメータＣ１＝１０８．８９ＭＢ／ｓ、Ｒ１＝０．６８が設定され、圧縮アルゴリズム２に対してパラメータＣ２＝１７．８８ＭＢ／ｓ、Ｒ２＝０．３８が設定され、非圧縮アルゴリズム３に対してパラメータＣ３＝５１２９５０ＭＢ／ｓ、Ｒ３＝１が設定されるものとする。図６は、各アルゴリズムｉに対して設定されるパラメータを示す。また、圧縮処理部１０３は５個のＣＰＵコアを利用して並列度Ｐ＝５で圧縮処理を実行するものとする。また、ネットワーク２０の利用可能なＮＷ帯域幅Ｎ＝１１０ＭＢ／ｓとする。
【００５４】
圧縮処理選択部１０７は、上記のパラメータを数式１（Ａ）、（Ｂ）に代入してシンプレックス法で解くことにより実効スループットＥを最大にするデータ割合（ｘ１、ｘ２、ｘ３）の組合せを求める。図６に示すように、圧縮処理選択部１０７は圧縮処理後のデータ割合が（ｘ１、ｘ２、ｘ３）＝（０．２２、０．７７、０）のとき最大実効スループットＥ＝１９２．５２ＭＢ／ｓを算出する。圧縮処理選択部１０７は実効スループットＥを最大化する最適な圧縮／非圧縮アルゴリズムの組合せ（即ちデータ割合ｘｉがゼロより大きいアルゴリズムの組合せ）を選択する。この場合、圧縮処理選択部１０７は圧縮アルゴリズム１、２を最適な組合せとして選択する。
【００５５】
また、圧縮処理選択部１０７は上述のパラメータを用いて圧縮アルゴリズム１、２についてＰＲ１Ｃ１＝３７０．２２ＭＢ／ｓ、ＰＲ２Ｃ２＝３３．９７２ＭＢ／ｓを算出する。ＰＲ１Ｃ１＞Ｎであるため、圧縮処理選択部１０７は圧縮アルゴリズム１をＮＷ帯域幅制約処理用のアルゴリズムとして選択する。また、ＰＲ２Ｃ２＜Ｎであるため、圧縮処理選択部１０７は圧縮アルゴリズム２をＣＰＵ制約処理用のアルゴリズムとして選択する。
【００５６】
尚、データ転送装置１０より転送されたデータに対する分析装置３０での処理として、特許文献３に開示された技術を適用することができる。これにより、分析装置３０はデータ転送装置１０から受信したデータが圧縮データであるか非圧縮データであるかを判定して、その判定結果に応じて受信データを一時記憶部（不図示）に振り分ける。分析装置３０は、圧縮データのみを復元することで処理を実行できるため、性能を低下させることなくデータ転送装置１０から転送されるデータを順次受信することができる。尚、本実施例に係るデータ転送装置１０は圧縮データの判別方法による制約はなく、データ転送時に圧縮種別情報をデータに格納する方法や、圧縮種別毎に論理的な転送経路を用意する方法を適用してもよい。
【００５７】
次に、本実施例の効果について説明する。第１の効果は、圧縮処理部１０３において効率よくＣＰＵリソースを利用することが可能となり、実効スループットを向上することができることである。これには２つの理由がある。第１の理由は、データ転送装置１０に圧縮前データ一時保持部１０２、ＮＷ帯域幅制約処理用一時保持部１０５、及びＣＰＵ制約処理用一時保持部１０６を具備したことである。このように、圧縮処理と転送処理のための一時保持部が別々に用意されているので、圧縮処理部１０３が既に圧縮されたデータを再度取得するような無駄が発生しない。第２の理由は、データ転送装置１０にＮＷ帯域幅制約処理用一時保持部１０５とＣＰＵ制約処理用一時保持部１０６とを具備していることである。つまり、ＮＷ帯域幅制約処理とＣＰＵ制約処理とによる圧縮データの一時保持部を別々に用意しているため、ＣＰＵ制約処理により生成された実効スループット向上に寄与する高効率圧縮データをより多く送信しながら、ＮＷ帯域幅に無駄を発生させることなく圧縮データを送信できる。第２の効果は、利用可能なＣＰＵリソースを無駄なく有効利用して実効スループットを向上できることである。その理由は、利用可能なＣＰＵリソースとＮＷ帯域幅に応じて圧縮処理選択部１０７が複数の圧縮アルゴリズムの中からＣＰＵリソースを最大限活用して実効スループットを最適にする圧縮アルゴリズムを数理モデルを用いて算出しているためである。
【００５８】
本実施例に係るデータ転送装置１０は、圧縮処理の並列度を増大して実効スループットを向上させ、データ転送時間を短縮することができる。また、本実施例に係るデータ転送装置１０は大量データの高速転送を必要とする用途に適用できる。
【００５９】
次に、本発明に係るデータ転送装置の最小構成について説明する。図８は、本発明の最小構成に係るデータ転送装置１０００を示すブロック図である。データ転送装置１０００は、少なくとも圧縮データを一時的に格納する一時保持部１００１と、一時保持部１００１から読み出した圧縮データを所望の転送先に転送する転送部１００２と、圧縮処理部１００３とを具備する。一時保持部１００１に格納されている圧縮データの量が所定量よりも少ない場合、圧縮処理部１００３は圧縮処理速度よりも転送処理速度が制約となるＮＷ帯域幅制約処理によりデータを圧縮して、圧縮後のデータを一時保持部１００１に格納する。一時保持部１００１に格納されている圧縮データの量が所定量よりも多い場合、圧縮処理部１００３は転送処理速度よりも圧縮処理速度が制約となるＣＰＵ制約処理によりデータを圧縮して、圧縮後のデータを一時保持部１００１に格納する。尚、一時保持部１００１はＮＷ帯域幅制約処理用一時保持部１０５及びＣＰＵ制約処理用一時保持部１０６の機能を包含する。
【００６０】
本実施例に係るデータ転送装置１０は、内部にコンピュータシステムを具備している。その処理手順はプログラム形式でコンピュータ読取り可能な記録媒体に記憶されており、当該プログラムをコンピュータシステムが読み出して実行する。ここで、「コンピュータシステム」とはＣＰＵ、メモリ、オペレーティングシステム（ＯＳ）などのソフトウェア、周辺機器などのハードウェアを包含する。また、「コンピュータシステム」はＷＷＷシステムを利用する場合、ホームページ提供環境（又は、ホームページ表示環境）を含む。また、前記機能やステップを実現するためのプログラムをコンピュータ読取り可能な記録媒体に記録して、当該記録媒体からプログラムをコンピュータシステムに読み込ませて実行するようにしてもよい。尚、「コンピュータ読取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、フラッシュメモリなどの書込み可能な不揮発性メモリ、ＣＤ−ＲＯＭなどの可搬媒体、コンピュータシステムに内蔵されるハードディスクなどの記憶装置を意味する。
【００６１】
また、「コンピュータ読取り可能な記録媒体」とは、インターネット、ネットワーク、電話回線、通信回線を介してプログラムを送受信する際に利用されるサーバやクライアントの内部に設けられる揮発性メモリ（例えば、ＤＲＡＭ）のように一定時間プログラムを保持するような手段も包含する。プログラムは、コンピュータシステムの記憶装置から伝送媒体を介して、或いは、伝送媒体中の伝送波により他のコンピュータシステムに伝送するようにしてもよい。尚、プログラムを伝送する「伝送媒体」は、インターネットやネットワークなどの通信網、電話回線などの通信回線のように情報を伝送する機能を有する媒体を意味する。プログラムは前述の機能の一部を実現するものであってもよい。また、前述の機能をコンピュータシステムに既に記録されているプリインストール・プログラムとの組合せで実現するような差分ファイル（差分プログラム）としてもよい。
【００６２】
最後に、本発明は上述の実施例に限定されるものではなく、前記の構成要素を周知の部材に置換したり、設計変更を行なうことが可能であり、添付の請求範囲に定義される発明範囲内における種々の変形例を実現することができる。
【産業上の利用可能性】
【００６３】
本発明は、ＣＰＵリソースを有効利用するとともにＮＷ帯域を無駄なく利用するように圧縮処理手順及び転送処理手順を見直して実効スループットを向上せしめるようなデータ転送装置及びデータ転送システムを提示するものであり、コンピュータシステム、ネットワークシステム、クラウドコンピューティングシステムなど広範囲に適用可能である。
【符号の説明】
【００６４】
１    データ転送装置
２    ネットワーク
３    分析装置
１０  データ転送装置
２０  ネットワーク
３０  分析装置
１００  データ蓄積部
１０１  取得部
１０２  圧縮前データ一時保持部
１０３  圧縮処理部
１０４  転送部
１０５  ＮＷ帯域幅制約処理用一時保持部
１０６  ＣＰＵ制約処理用一時保持部
１０７  圧縮処理選択部
１０００  データ転送装置
１００１  一時保持部
１００２  転送部
１００３  圧縮処理部
【図１】
2014061481.tif 000004
【図２】
2014061481.tif 000005
【図３】
2014061481.tif 000006
【図４】
2014061481.tif 000007
【図５】
2014061481.tif 000008
【図６】
2014061481.tif 000009
【図７】
2014061481.tif 000010
【図８】
2014061481.tif 000011
【手続補正書】
【提出日】平成27年4月14日(2015.4.14)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の圧縮アルゴリズムによりデータを圧縮して転送するデータ転送装置であって、圧縮処理速度に比べて転送処理速度が制約となるＮＷ帯域幅制約処理よりも転送処理速度に比べて圧縮処理速度が制約となるＣＰＵ制約処理を優先適用して圧縮データを転送するようにしたデータ転送装置。
【請求項２】
複数の圧縮アルゴリズムに従ってＣＰＵ制約処理及びＮＷ帯域幅制約処理によりデータを圧縮する圧縮処理部と、
圧縮データを一時的に保持する一時保持部と、
前記一時保持部から読み出した圧縮データをネットワークを介して転送する転送部とを具備し、
前記一時保持部が保持する圧縮データの量が所定量よりも少ない場合、前記圧縮処理部はＮＷ帯域幅制約処理による圧縮データを前記一時保持部に格納し、前記一時保持部が保持する圧縮データの量が所定量よりも多い場合、前記圧縮処理部はＣＰＵ制約処理による圧縮データを前記一時保持部に格納するようにしたデータ転送装置。
【請求項３】
複数の圧縮アルゴリズムにおいて、実効スループットを最大化する圧縮処理速度及び圧縮率並びに前記転送部に接続されるネットワークのＮＷ帯域幅に応じてＣＰＵ制約処理又はＮＷ帯域幅制約処理に適用される圧縮アルゴリズムを選択する圧縮処理選択部を更に具備し、前記圧縮処理部は前記圧縮処理選択部により選択された圧縮アルゴリズムに従ってＣＰＵ制約処理又はＮＷ帯域幅制約処理を実行するようにした請求項２記載のデータ転送装置。
【請求項４】
前記圧縮処理選択部は、実効スループットを最大化する圧縮処理速度及び圧縮率並びにＮＷ帯域幅に基づいて複数の圧縮アルゴリズムに供されるデータの割合を算出し、そのデータ割合に基づいてＣＰＵ制約処理又はＮＷ帯域幅制約処理に適用される圧縮アルゴリズムを選択するようにした請求項３記載のデータ転送装置。
【請求項５】
前記圧縮処理部に供給されるデータを一時的に保持する圧縮前データ一時保持部を更に具備した請求項２記載のデータ転送装置。
【請求項６】
前記一時保持部は、ＮＷ帯域幅制約処理による圧縮データを一時的に保持するＮＷ帯域幅制約処理用一時保持部と、
ＣＰＵ制約処理による圧縮データを一時的に保持するＣＰＵ制約処理用一時保持部とを具備し、
前記ＮＷ帯域幅制約処理用一時保持部に空きスペースが存在する場合、前記圧縮処理部は前記ＮＷ帯域幅制約処理用一時保持部にＮＷ帯域幅制約処理による圧縮データを格納し、前記ＮＷ帯域幅制約処理用一時保持部に空きスペースが存在せず、かつ、前記ＣＰＵ制約処理用一時保持部に空きスペースが存在する場合、前記圧縮処理部はＣＰＵ制約処理による圧縮データを前記ＣＰＵ制約処理用一時保持部に格納し、
前記転送部は前記ＣＰＵ制約処理用一時保持部に格納されている圧縮データを優先的に転送し、前記ＣＰＵ制約処理用一時保持部に圧縮データが格納されていない場合、前記転送部は前記ＮＷ帯域幅制約処理用一時保持部に格納されている圧縮データを転送するようにした請求項２記載のデータ転送装置。
【請求項７】
複数の圧縮アルゴリズムによりデータを圧縮して転送する際に圧縮処理速度に比べて転送処理速度が制約となるＮＷ帯域幅制約処理よりも転送処理速度に比べて圧縮処理速度が制約となるＣＰＵ制約処理を優先適用して圧縮データを転送するようにしたデータ転送装置と、
前記データ転送装置から伝送される圧縮データを受信する受信装置とを具備するデータ転送システム。
【請求項８】
前記データ転送装置は、複数の圧縮アルゴリズムに従ってＣＰＵ制約処理及びＮＷ帯域幅制約処理によりデータを圧縮する圧縮処理部と、
圧縮データを一時的に保持する一時保持部と、
前記一時保持部から読み出した圧縮データをネットワークを介して転送する転送部とを具備し、
前記一時保持部が保持する圧縮データの量が所定量よりも少ない場合、前記圧縮処理部はＮＷ帯域幅制約処理による圧縮データを前記一時保持部に格納し、前記一時保持部が保持する圧縮データの量が所定量よりも多い場合、前記圧縮処理部はＣＰＵ制約処理による圧縮データを前記一時保持部に格納するようにしたデータ転送システム。
【請求項９】
複数の圧縮アルゴリズムによりデータを圧縮して転送するデータ圧縮転送方法であって、
圧縮処理速度に比べて転送処理速度が制約となるＮＷ帯域幅制約処理よりも転送処理速度に比べて圧縮処理速度が制約となるＣＰＵ制約処理を優先適用して圧縮データを転送するようにしたデータ圧縮転送方法。
【請求項１０】
複数の圧縮アルゴリズムによりデータを圧縮して転送するプログラムであって、
圧縮処理速度に比べて転送処理速度が制約となるＮＷ帯域幅制約処理よりも転送処理速度に比べて圧縮処理速度が制約となるＣＰＵ制約処理を優先適用して圧縮データを転送するようにしたプログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００６２
【補正方法】変更
【補正の内容】
【００６２】
最後に、本発明は上述の実施例に限定されるものではなく、前記の構成要素を周知の部材に置換したり、設計変更を行なうことが可能であり、添付の請求範囲に定義される発明範囲内における種々の変形例を実現することができる。
（付記１）複数の圧縮アルゴリズムによりデータを圧縮して転送するデータ転送装置であって、圧縮処理速度に比べて転送処理速度が制約となるＮＷ帯域幅制約処理よりも転送処理速度に比べて圧縮処理速度が制約となるＣＰＵ制約処理を優先適用して圧縮データを転送するようにしたデータ転送装置。
（付記２）複数の圧縮アルゴリズムに従ってＣＰＵ制約処理及びＮＷ帯域幅制約処理によりデータを圧縮する圧縮処理部と、圧縮データを一時的に保持する一時保持部と、前記一時保持部から読み出した圧縮データをネットワークを介して転送する転送部とを具備し、前記一時保持部が保持する圧縮データの量が所定量よりも少ない場合、前記圧縮処理部はＮＷ帯域幅制約処理による圧縮データを前記一時保持部に格納し、前記一時保持部が保持する圧縮データの量が所定量よりも多い場合、前記圧縮処理部はＣＰＵ制約処理による圧縮データを前記一時保持部に格納するようにしたデータ処理装置。
（付記３）複数の圧縮アルゴリズムにおいて、実効スループットを最大化する圧縮処理速度及び圧縮率並びに前記転送部に接続されるネットワークのＮＷ帯域幅に応じてＣＰＵ制約処理又はＮＷ帯域幅制約処理に適用される圧縮アルゴリズムを選択する圧縮処理選択部を更に具備し、前記圧縮処理部は前記圧縮処理選択部により選択された圧縮アルゴリズムに従ってＣＰＵ制約処理又はＮＷ帯域幅制約処理を実行するようにした付記２記載のデータ転送装置。
（付記４）前記圧縮処理選択部は、実効スループットを最大化する圧縮処理速度及び圧縮率並びにＮＷ帯域幅に基づいて複数の圧縮アルゴリズムに供されるデータの割合を算出し、そのデータ割合に基づいてＣＰＵ制約処理又はＮＷ帯域幅制約処理に適用される圧縮アルゴリズムを選択するようにした付記３記載のデータ転送装置。
（付記５）前記圧縮処理部に供給されるデータを一時的に保持する圧縮前データ一時保持部を更に具備した付記２記載のデータ転送装置。
（付記６）前記一時保持部は、ＮＷ帯域幅制約処理による圧縮データを一時的に保持するＮＷ帯域幅制約処理用一時保持部と、ＣＰＵ制約処理による圧縮データを一時的に保持するＣＰＵ制約処理用一時保持部とを具備し、前記ＮＷ帯域幅制約処理用一時保持部に空きスペースが存在する場合、前記圧縮処理部は前記ＮＷ帯域幅制約処理用一時保持部にＮＷ帯域幅制約処理による圧縮データを格納し、前記ＮＷ帯域幅制約処理用一時保持部に空きスペースが存在せず、かつ、前記ＣＰＵ制約処理用一時保持部に空きスペースが存在する場合、前記圧縮処理部はＣＰＵ制約処理による圧縮データを前記ＣＰＵ制約処理用一時保持部に格納し、前記転送部は前記ＣＰＵ制約処理用一時保持部に格納されている圧縮データを優先的に転送し、前記ＣＰＵ制約処理用一時保持部に圧縮データが格納されていない場合、前記転送部は前記ＮＷ帯域幅制約処理用一時保持部に格納されている圧縮データを転送するようにした付記２記載のデータ転送装置。
（付記７）複数の圧縮アルゴリズムによりデータを圧縮して転送する際に圧縮処理速度に比べて転送処理速度が制約となるＮＷ帯域幅制約処理よりも転送処理速度に比べて圧縮処理速度が制約となるＣＰＵ制約処理を優先適用して圧縮データを転送するようにしたデータ転送装置と、前記データ転送装置から伝送される圧縮データを受信する受信装置とを具備するデータ転送システム。
（付記８）前記データ転送装置は、複数の圧縮アルゴリズムに従ってＣＰＵ制約処理及びＮＷ帯域幅制約処理によりデータを圧縮する圧縮処理部と、圧縮データを一時的に保持する一時保持部と、前記一時保持部から読み出した圧縮データをネットワークを介して転送する転送部とを具備し、前記一時保持部が保持する圧縮データの量が所定量よりも少ない場合、前記圧縮処理部はＮＷ帯域幅制約処理による圧縮データを前記一時保持部に格納し、前記一時保持部が保持する圧縮データの量が所定量よりも多い場合、前記圧縮処理部はＣＰＵ制約処理による圧縮データを前記一時保持部に格納するようにしたデータ転送システム。
（付記９）複数の圧縮アルゴリズムによりデータを圧縮して転送するデータ圧縮転送方法であって、圧縮処理速度に比べて転送処理速度が制約となるＮＷ帯域幅制約処理よりも転送処理速度に比べて圧縮処理速度が制約となるＣＰＵ制約処理を優先適用して圧縮データを転送するようにしたデータ圧縮転送方法。
（付記１０）圧縮データを転送前に一時保持部に保持し、前記一時的保持部に保持した圧縮データの量と所定量とを比較し、前記一時的保持部に保持した圧縮データの量が所定量よりも少ない場合、ＮＷ帯域幅制約処理による圧縮データを前記一時保持部に格納し、前記一時保持部に保持した圧縮データの量が所定量よりも多い場合、ＣＰＵ制約処理による圧縮データを前記一時保持部に格納するようにした付記９記載のデータ圧縮処理方法。
（付記１１）複数の圧縮アルゴリズムによりデータを圧縮して転送するプログラムであって、圧縮処理速度に比べて転送処理速度が制約となるＮＷ帯域幅制約処理よりも転送処理速度に比べて圧縮処理速度が制約となるＣＰＵ制約処理を優先適用して圧縮データを転送するようにしたプログラム。
（付記１２）圧縮データを転送前に一時保持部に保持し、前記一時的保持部に保持した圧縮データの量と所定量とを比較し、前記一時的保持部に保持した圧縮データの量が所定量よりも少ない場合、ＮＷ帯域幅制約処理による圧縮データを前記一時保持部に格納し、前記一時保持部に保持した圧縮データの量が所定量よりも多い場合、ＣＰＵ制約処理による圧縮データを前記一時保持部に格納するようにした付記１１記載のプログラム。
【国際調査報告】
2014061481.tif 000012
2014061481.tif 000013
2014061481.tif 000014
2014061481.tif 000015