(57)【要約】【課題】複数の種別のデータを転送する場合に、データの転送時間を短くできるようにする。【解決手段】送信装置１０は、ｋ＝１，．．．，ｎ（ｎは２以上の整数）の各整数ｋについて、比率Ｘｋに従い、整数ｋの値毎に種別が異なるデータＤｋを圧縮非対象のデータＤｋ１と圧縮対象のデータＤｋ２とに分割する。送信装置１０は、分割されて生成された前記各整数ｋについてのデータＤｋ２を圧縮して圧縮データＤｋ２を生成する。そして、送信装置１０は、データＤｋ１と、圧縮されて生成された圧縮データＤｋ２とを、逐次処理により受信装置に送信する。【選択図】図４
2020127156.tif 000002
【特許請求の範囲】
【請求項１】
ｋ＝１，．．．，ｎ（ｎは２以上の整数）の各整数ｋについて、比率Ｘｋに従い、整数ｋの値毎に種別が異なるデータＤｋを圧縮非対象のデータＤｋ１と圧縮対象のデータＤｋ２とに分割する分割部と、
前記分割部によって分割されて生成された前記各整数ｋについての前記データＤｋ２を圧縮して圧縮データＤｋ２を生成する圧縮部と、
前記データＤｋ１と、前記圧縮部によって圧縮されて生成された前記圧縮データＤｋ２とを、逐次処理により受信装置に送信する送信部と
を備える送信装置。
【請求項２】
前記送信装置は、さらに、
前記各整数ｋについての前記データＤｋ１と前記圧縮データＤｋ２とである対象データを前記受信装置に送信する送信時間と、前記圧縮部によって前記各整数ｋについての前記圧縮データＤｋ２を生成する処理の時間である圧縮処理時間のうち、前記対象データを前記受信装置に送信する処理と並列に実行できない圧縮部分時間と、前記受信装置によって前記各整数ｋについての前記圧縮データＤｋ２を解凍する処理の時間である解凍処理時間のうち、前記対象データを前記受信装置に送信する処理と並列に実行できない解凍部分時間との合計時間である総転送時間が短くなるように、前記各整数ｋについて前記データＤｋに対する前記データＤｋ２の比率である前記比率Ｘｋを計算する比率計算部
を備える請求項１に記載の送信装置。
【請求項３】
前記比率計算部は、前記各整数ｋを対象として、対象の整数ｋについての前記データＤｋ２の前記圧縮処理時間及び前記解凍処理時間の合計時間である圧縮解凍時間と、前記各整数ｋについての前記データＤｋ１を前記受信装置に送信する送信時間に、前記対象の整数ｋ以外の整数ｋのうち、前記データＤｋ２の前記圧縮解凍時間が前記対象の整数ｋよりも短い整数ｋについての前記圧縮データＤｋ２を前記受信装置に送信する送信時間を加えた送信合計時間とが近い時間になるように、前記各整数ｋについての前記比率Ｘｋを計算する
請求項２に記載の送信装置。
【請求項４】
前記整数ｎは２であり、
前記比率計算部は、データＤ１のサイズＳ１と、データＤ１２を圧縮する場合の圧縮率Ｐ１と、データＤ１２を圧縮する速度である圧縮処理速度ＶＣ１と、データＤ１１を送信する速度である送信速度ＶＴ１１と、圧縮データＤ１２を送信する速度である送信速度ＶＴ１２と、圧縮データＤ１２を解凍する速度である解凍処理速度ＶＥ１と、データＤ２のサイズＳ２と、データＤ２２を圧縮する場合の圧縮率Ｐ２と、データＤ２２を圧縮する速度である圧縮処理速度ＶＣ２と、データＤ２１を送信する速度である送信速度ＶＴ２１と、圧縮データＤ２２を送信する速度である送信速度ＶＴ２２と、圧縮データＤ２２を解凍する速度である解凍処理速度ＶＥ２とに基づき、式１から式９が示す９本の直線のうち少なくとも２本の直線が交わる交点を特定することにより、前記比率Ｘ１及び前記比率Ｘ２を計算する
請求項２又は３に記載の送信装置。
（式１）Ｘ１＝０
（式２）Ｘ２＝０
（式３）Ｘ１＝１
（式４）Ｘ２＝１
（式５）ＴＣＥ１・Ｘ１−ＴＣＥ２・Ｘ２＝０
（式６）ＴＴ１１・Ｘ１＋（ＴＣＥ２＋ＴＴ２１）・Ｘ２−（ＴＴ１１＋ＴＴ２１）＝０
（式７）（ＴＣＥ１＋ＴＴ１１）・Ｘ１＋ＴＴ２１・Ｘ２−（ＴＴ１１＋ＴＴ２１）＝０
（式８）（ＴＣＥ１＋ＴＴ１１）・Ｘ１＋（ＴＴ２１−ＴＴ２２）・Ｘ２−（ＴＴ１１＋ＴＴ２１）＝０
（式９）（ＴＴ１１−ＴＴ１２）・Ｘ１＋（ＴＣＥ２＋ＴＴ２１）・Ｘ２−（ＴＴ１１＋ＴＴ２１）＝０
ここで、ＴＣＥ１＝（１／ＶＣ１＋１／ＶＥ１）×Ｓ１，ＴＣＥ２＝（１／ＶＣ２＋１／ＶＥ２）×Ｓ２，ＴＴ１１＝Ｓ１／ＶＴ１１，ＴＴ１２＝Ｐ１×Ｓ１／ＶＴ１２，ＴＴ２１＝Ｓ２／ＶＴ２１，ＴＴ２２＝Ｐ２×Ｓ２／ＶＴ２２である。
【請求項５】
前記比率計算部は、複数の交点が特定された場合には、前記複数の交点のうち総転送時間Ｆ（Ｘ１，Ｘ２）が最も短い時間である交点を特定することにより、前記比率Ｘ１及び前記比率Ｘ２を計算する
請求項４に記載の送信装置。
【請求項６】
前記比率計算部は、
０≦Ｘ１≦１かつ０≦・Ｘ２≦１かつＴＣＥ１・Ｘ１−ＴＣＥ２・Ｘ２≧０かつＴＴ１１・Ｘ１＋（ＴＣＥ２＋ＴＴ２１）・Ｘ２−（ＴＴ１１＋ＴＴ２１）≦０かつ（ＴＣＥ１＋ＴＴ１１）・Ｘ１＋（ＴＴ２１−ＴＴ２２）・Ｘ２−（ＴＴ１１＋ＴＴ２１）≧０を満たす（Ｘ１，Ｘ２）の場合には、Ｆ（Ｘ１，Ｘ２）＝（ＴＣＥ１＋ＴＴ１２）・Ｘ１により総転送時間Ｆ（Ｘ１，Ｘ２）を計算し、
０≦Ｘ１≦１かつ０≦Ｘ２≦１かつＴＣＥ１・Ｘ１−ＴＣＥ２・Ｘ２≧０かつＴＴ１１・Ｘ１＋（ＴＣＥ２＋ＴＴ２１）・Ｘ２−（ＴＴ１１＋ＴＴ２１）≦０かつ（ＴＣＥ１＋ＴＴ１１）・Ｘ１＋（ＴＴ２１−ＴＴ２２）・Ｘ２−（ＴＴ１１＋ＴＴ２１）≦０を満たす（Ｘ１，Ｘ２）の場合には、Ｆ（Ｘ１，Ｘ２）＝（ＴＴ１１＋ＴＴ２１）−（ＴＴ１１−ＴＴ１２）・Ｘ１−（ＴＴ２１−ＴＴ２２）・Ｘ２により総転送時間Ｆ（Ｘ１，Ｘ２）を計算し、
０≦Ｘ１≦１かつ０≦Ｘ２≦１かつＴＣＥ１・Ｘ１−ＴＣＥ２・Ｘ２≦０かつ（ＴＣＥ１＋ＴＴ１１）・Ｘ１＋ＴＴ２１・Ｘ２−（ＴＴ１１＋ＴＴ２１）≦０かつ（ＴＴ１１−ＴＴ１２）・Ｘ１＋（ＴＣＥ２＋ＴＴ２１）・Ｘ２−（ＴＴ１１＋ＴＴ２１）≧０を満たす（Ｘ１，Ｘ２）の場合には、Ｆ（Ｘ１，Ｘ２）＝（ＴＣＥ２＋ＴＴ２２）・Ｘ２により総転送時間Ｆ（Ｘ１，Ｘ２）を計算し、
０≦Ｘ１≦１かつ０≦Ｘ２≦１かつＴＣＥ１・Ｘ１−ＴＣＥ２・Ｘ２≦０かつ（ＴＣＥ１＋ＴＴ１１）・Ｘ１＋ＴＴ２１・Ｘ２−（ＴＴ１１＋ＴＴ２１）≦０かつ（ＴＴ１１−ＴＴ１２）・Ｘ１＋（ＴＣＥ２＋ＴＴ２１）・Ｘ２−（ＴＴ１１＋ＴＴ２１）≦０を満たす（Ｘ１，Ｘ２）の場合には、Ｆ（Ｘ１，Ｘ２）＝（ＴＴ１１＋ＴＴ２１）−（ＴＴ１１−ＴＴ１２）・Ｘ１−（ＴＴ２１−ＴＴ２２）により総転送時間Ｆ（Ｘ１，Ｘ２）を計算する
請求項５に記載の送信装置。
【請求項７】
前記比率計算部は、
ＴＴ１１≦ＴＴ１２かつＴＴ２１≦ＴＴ２２の場合には、前記比率Ｘ１を０、前記比率Ｘ２を０とし、
ＴＴ１１＞ＴＴ１２かつＴＴ２１≦ＴＴ２２であり、（ＴＴ１１＋ＴＴ２１）／（ＴＣＥ１＋ＴＴ１１）＜１の場合には、前記比率Ｘ１を（ＴＴ１１＋ＴＴ２１）／（ＴＣＥ１＋ＴＴ１１）、前記比率Ｘ２を０とし、
ＴＴ１１＞ＴＴ１２かつＴＴ２１≦ＴＴ２２であり、（ＴＴ１１＋ＴＴ２１）／（ＴＣＥ１＋ＴＴ１１）≧１の場合には、前記比率Ｘ１を１、前記比率Ｘ２を０とし、
ＴＴ１１≦ＴＴ１２かつＴＴ２１＞ＴＴ２２であり、（ＴＴ１１＋ＴＴ２１）／（ＴＣＥ２＋ＴＴ２１）＜１の場合には、前記比率Ｘ１を（ＴＴ１１＋ＴＴ２１）／（ＴＣＥ２＋ＴＴ２１）、前記比率Ｘ２を０とし、
ＴＴ１１≦ＴＴ１２かつＴＴ２１＞ＴＴ２２であり、（ＴＴ１１＋ＴＴ２１）／（ＴＣＥ２＋ＴＴ２１）≧１の場合には、前記比率Ｘ１を０、前記比率Ｘ２を１にする
請求項６に記載の送信装置。
【請求項８】
前記送信部は、前記圧縮データを圧縮されていない非圧縮データよりも優先して送信する
請求項１から７までのいずれか１項に記載の送信装置。
【請求項９】
分割部が、ｋ＝１，．．．，ｎ（ｎは２以上の整数）の各整数ｋについて、比率Ｘｋに従い、整数ｋの値毎に種別が異なるデータＤｋを圧縮非対象のデータＤｋ１と圧縮対象のデータＤｋ２とに分割し、
圧縮部が、分割されて生成された前記各整数ｋについての前記データＤｋ２を圧縮して圧縮データＤｋ２を生成し、
送信部が、前記データＤｋ１と、圧縮されて生成された前記圧縮データＤｋ２とを、逐次処理により受信装置に送信する送信方法。
【請求項１０】
ｋ＝１，．．．，ｎ（ｎは２以上の整数）の各整数ｋについて、比率Ｘｋに従い、整数ｋの値毎に種別が異なるデータＤｋを圧縮非対象のデータＤｋ１と圧縮対象のデータＤｋ２とに分割する分割処理と、
前記分割処理によって分割されて生成された前記各整数ｋについての前記データＤｋ２を圧縮して圧縮データＤｋ２を生成する圧縮処理と、
前記データＤｋ１と、前記圧縮処理によって圧縮されて生成された前記圧縮データＤｋ２とを、逐次処理により受信装置に送信する送信処理と
を行う送信装置としてコンピュータを機能させる送信プログラム。
【請求項１１】
送信装置と受信装置とを備える転送システムであり、
前記送信装置は、
ｋ＝１，．．．，ｎ（ｎは２以上の整数）の各整数ｋについて、比率Ｘｋに従い、整数ｋの値毎に種別が異なるデータＤｋを圧縮非対象のデータＤｋ１と圧縮対象のデータＤｋ２とに分割する分割部と、
前記分割部によって分割されて生成された前記各整数ｋについての前記データＤｋ２を圧縮して圧縮データＤｋ２を生成する圧縮部と、
前記データＤｋ１と、前記圧縮部によって圧縮されて生成された前記圧縮データＤｋ２とを、逐次処理により受信装置に送信する送信部と
を備え、
前記受信装置は、前記送信部によって送信された前記各整数ｋについての前記データＤｋ１及び前記圧縮データＤｋ２を受信する受信部と、
前記受信部によって受信された前記各整数ｋについての前記圧縮データＤｋ２を解凍する解凍部と
を備える転送システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、データを効率的に転送する技術に関する。
【背景技術】
【０００２】
送信装置から受信装置にデータを転送する際、送信装置でデータを圧縮した上で送信し、受信装置で圧縮されたデータを解凍することが行われている。データを圧縮することにより、送信されるデータサイズを小さくすることができる。そのため、データの転送時間を短くすることが可能になる。
【０００３】
特許文献１には、データの送信中に、圧縮負荷と、解凍負荷と、ネットワーク負荷とに応じて、圧縮方法を動的に変更することが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−２２９８８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
データを圧縮した上で送信する場合には、データを送信する前にデータを圧縮する時間がかかり、データを受信した後にデータを解凍する時間がかかる。したがって、単純に全てのデータを圧縮した上で送信すると、却ってデータの転送時間が長くなる場合がある。ここでの転送時間は、送信元でデータの圧縮を開始してからデータを送信し、送信先でデータを受信してからデータの解凍が終わるまでの時間である。
【０００６】
データの圧縮率と、データの圧縮速度及び解凍速度と、データの送信速度とは、データの種別によって異なる。そのため、複数の種別のデータを転送する場合には、単純に転送する全データのうち一部を圧縮した上で転送し、残りを圧縮せずに転送するといった転送方法では、データの転送時間が長くなる場合がある。
【０００７】
この発明は、複数の種別のデータを転送する場合に、データの転送時間を短くできるようにすることを目的とする。
【課題を解決するための手段】
【０００８】
この発明に係る送信装置は、
ｋ＝１，．．．，ｎ（ｎは２以上の整数）の各整数ｋについて、比率Ｘｋに従い、整数ｋの値毎に種別が異なるデータＤｋを圧縮非対象のデータＤｋ１と圧縮対象のデータＤｋ２とに分割する分割部と、
前記分割部によって分割されて生成された前記各整数ｋについての前記データＤｋ２を圧縮して圧縮データＤｋ２を生成する圧縮部と、
前記データＤｋ１と、前記圧縮部によって圧縮されて生成された前記圧縮データＤｋ２とを、逐次処理により受信装置に送信する送信部と
を備える。
【０００９】
前記送信装置は、さらに、
前記各整数ｋについての前記データＤｋ１と前記圧縮データＤｋ２とである対象データを前記受信装置に送信する送信時間と、前記圧縮部によって前記各整数ｋについての前記圧縮データＤｋ２を生成する処理の時間である圧縮処理時間のうち、前記対象データを前記受信装置に送信する処理と並列に実行できない圧縮部分時間と、前記受信装置によって前記各整数ｋについての前記圧縮データＤｋ２を解凍する処理の時間である解凍処理時間のうち、前記対象データを前記受信装置に送信する処理と並列に実行できない解凍部分時間との合計時間である総転送時間Ｆ（Ｘ１，Ｘ２）が短くなるように、前記各整数ｋについて前記データＤｋに対する前記データＤｋ２の比率である前記比率Ｘｋを計算する比率計算部
を備える。
【００１０】
前記比率計算部は、前記各整数ｋを対象として、対象の整数ｋについての前記データＤｋ２の前記圧縮処理時間及び前記解凍処理時間の合計時間である圧縮解凍時間と、前記各整数ｋについての前記データＤｋ１を前記受信装置に送信する送信時間に、前記対象の整数ｋ以外の整数ｋのうち、前記データＤｋ２の前記圧縮解凍時間が前記対象の整数ｋよりも短い整数ｋについての前記圧縮データＤｋ２を前記受信装置に送信する送信時間を加えた送信合計時間とが近い時間になるように、前記各整数ｋについての前記比率Ｘｋを計算する。
【００１１】
前記整数ｎは２であり、
前記比率計算部は、データＤ１のサイズＳ１と、データＤ１２を圧縮する場合の圧縮率Ｐ１と、データＤ１２を圧縮する速度である圧縮処理速度ＶＣ１と、データＤ１１を送信する速度である送信速度ＶＴ１１と、データＤ１２を送信する速度である送信速度ＶＴ１２と、圧縮データＤ１２を解凍する速度である解凍処理速度ＶＥ１と、データＤ２のサイズＳ２と、データＤ２２を圧縮する場合の圧縮率Ｐ２と、データＤ２２を圧縮する速度である圧縮処理速度ＶＣ２と、データＤ２１を送信する速度である送信速度ＶＴ２１と、データＤ２２を送信する速度である送信速度ＶＴ２２と、圧縮データＤ２２を解凍する速度である解凍処理速度ＶＥ２とに基づき、式１から式９が示す９本の直線のうち少なくとも２本の直線が交わる交点を特定することにより、前記比率Ｘ１及び前記比率Ｘ２を計算する。
（式１）Ｘ１＝０
（式２）Ｘ２＝０
（式３）Ｘ１＝１
（式４）Ｘ２＝１
（式５）ＴＣＥ１・Ｘ１−ＴＣＥ２・Ｘ２＝０
（式６）ＴＴ１１・Ｘ１＋（ＴＣＥ２＋ＴＴ２１）・Ｘ２−（ＴＴ１１＋ＴＴ２１）＝０
（式７）（ＴＣＥ１＋ＴＴ１１）・Ｘ１＋ＴＴ２１・Ｘ２−（ＴＴ１１＋ＴＴ２１）＝０
（式８）（ＴＣＥ１＋ＴＴ１１）・Ｘ１＋（ＴＴ２１−ＴＴ２２）・Ｘ２−（ＴＴ１１＋ＴＴ２１）＝０
（式９）（ＴＴ１１−ＴＴ１２）・Ｘ１＋（ＴＣＥ２＋ＴＴ２１）・Ｘ２−（ＴＴ１１＋ＴＴ２１）＝０
ここで、ＴＣＥ１＝（１／ＶＣ１＋１／ＶＥ１）×Ｓ１，ＴＣＥ２＝（１／ＶＣ２＋１／ＶＥ２）×Ｓ２，ＴＴ１１＝Ｓ１／ＶＴ１１，ＴＴ１２＝Ｐ１×Ｓ１／ＶＴ１２，ＴＴ２１＝Ｓ２／ＶＴ２１，ＴＴ２２＝Ｐ２×Ｓ２／ＶＴ２２である。
【００１２】
前記比率計算部は、複数の交点が特定された場合には、前記複数の交点のうち総転送時間Ｆ（Ｘ１，Ｘ２）が最も短い時間である交点を特定することにより、前記比率Ｘ１及び前記比率・Ｘ２を計算する。
【００１３】
前記比率計算部は、
０≦Ｘ１≦１かつ０≦・Ｘ２≦１かつＴＣＥ１・Ｘ１−ＴＣＥ２・Ｘ２≧０かつＴＴ１１・Ｘ１＋（ＴＣＥ２＋ＴＴ２１）・Ｘ２−（ＴＴ１１＋ＴＴ２１）≦０かつ（ＴＣＥ１＋ＴＴ１１）・Ｘ１＋（ＴＴ２１−ＴＴ２２）・Ｘ２−（ＴＴ１１＋ＴＴ２１）≧０を満たす（Ｘ１，Ｘ２）の場合には、Ｆ（Ｘ１，Ｘ２）＝（ＴＣＥ１＋ＴＴ１２）・Ｘ１により総転送時間Ｆ（Ｘ１，Ｘ２）を計算し、
０≦Ｘ１≦１かつ０≦Ｘ２≦１かつＴＣＥ１・Ｘ１−ＴＣＥ２・Ｘ２≧０かつＴＴ１１・Ｘ１＋（ＴＣＥ２＋ＴＴ２１）・Ｘ２−（ＴＴ１１＋ＴＴ２１）≦０かつ（ＴＣＥ１＋ＴＴ１１）・Ｘ１＋（ＴＴ２１−ＴＴ２２）・Ｘ２−（ＴＴ１１＋ＴＴ２１）≦０を満たす（Ｘ１，Ｘ２）の場合には、Ｆ（Ｘ１，Ｘ２）＝（ＴＴ１１＋ＴＴ２１）−（ＴＴ１１−ＴＴ１２）・Ｘ１−（ＴＴ２１−ＴＴ２２）・Ｘ２により総転送時間Ｆ（Ｘ１，Ｘ２）を計算し、
０≦Ｘ１≦１かつ０≦Ｘ２≦１かつＴＣＥ１・Ｘ１−ＴＣＥ２・Ｘ２≦０かつ（ＴＣＥ１＋ＴＴ１１）・Ｘ１＋ＴＴ２１・Ｘ２−（ＴＴ１１＋ＴＴ２１）≦０かつ（ＴＴ１１−ＴＴ１２）・Ｘ１＋（ＴＣＥ２＋ＴＴ２１）・Ｘ２−（ＴＴ１１＋ＴＴ２１）≧０を満たす（Ｘ１，Ｘ２）の場合には、Ｆ（Ｘ１，Ｘ２）＝（ＴＣＥ２＋ＴＴ２２）・Ｘ２により総転送時間Ｆ（Ｘ１，Ｘ２）を計算し、
０≦Ｘ１≦１かつ０≦Ｘ２≦１かつＴＣＥ１・Ｘ１−ＴＣＥ２・Ｘ２≦０かつ（ＴＣＥ１＋ＴＴ１１）・Ｘ１＋ＴＴ２１・Ｘ２−（ＴＴ１１＋ＴＴ２１）≦０かつ（ＴＴ１１−ＴＴ１２）・Ｘ１＋（ＴＣＥ２＋ＴＴ２１）・Ｘ２−（ＴＴ１１＋ＴＴ２１）≦０を満たす（Ｘ１，Ｘ２）の場合には、Ｆ（Ｘ１，Ｘ２）＝（ＴＴ１１＋ＴＴ２１）−（ＴＴ１１−ＴＴ１２）・Ｘ１−（ＴＴ２１−ＴＴ２２）により総転送時間Ｆ（Ｘ１，Ｘ２）を計算する。
【００１４】
前記比率計算部は、
ＴＴ１１≦ＴＴ１２かつＴＴ２１≦ＴＴ２２の場合には、前記比率Ｘ１を０、前記比率Ｘ２を０とし、
ＴＴ１１＞ＴＴ１２かつＴＴ２１≦ＴＴ２２であり、（ＴＴ１１＋ＴＴ２１）／（ＴＣＥ１＋ＴＴ１１）＜１の場合には、前記比率Ｘ１を（ＴＴ１１＋ＴＴ２１）／（ＴＣＥ１＋ＴＴ１１）、前記比率Ｘ２を０とし、
ＴＴ１１＞ＴＴ１２かつＴＴ２１≦ＴＴ２２であり、（ＴＴ１１＋ＴＴ２１）／（ＴＣＥ１＋ＴＴ１１）≧１の場合には、前記比率Ｘ１を１、前記比率Ｘ２を０とし、
ＴＴ１１≦ＴＴ１２かつＴＴ２１＞ＴＴ２２であり、（ＴＴ１１＋ＴＴ２１）／（ＴＣＥ２＋ＴＴ２１）＜１の場合には、前記比率Ｘ１を（ＴＴ１１＋ＴＴ２１）／（ＴＣＥ２＋ＴＴ２１）、前記比率Ｘ２を０とし、
ＴＴ１１≦ＴＴ１２かつＴＴ２１＞ＴＴ２２であり、（ＴＴ１１＋ＴＴ２１）／（ＴＣＥ２＋ＴＴ２１）≧１の場合には、前記比率Ｘ１を０、前記比率Ｘ２を１にする。
【００１５】
この発明に係る送信方法は、
前記送信部は、前記圧縮データを前記非圧縮データよりも優先して送信する。
【００１６】
分割部が、ｋ＝１，．．．，ｎ（ｎは２以上の整数）の各整数ｋについて、比率Ｘｋに従い、整数ｋの値毎に種別が異なるデータＤｋを圧縮非対象のデータＤｋ１と圧縮対象のデータＤｋ２とに分割し、
圧縮部が、前記データ分割部によって分割されて生成された前記各整数ｋについての前記データＤｋ２を圧縮して圧縮データＤｋ２を生成し、
送信部が、前記データＤｋ１と、前記圧縮部によって圧縮されて生成された前記圧縮データＤｋ２とを、逐次処理により受信装置に送信する。
【００１７】
この発明に係る送信プログラムは、
ｋ＝１，．．．，ｎ（ｎは２以上の整数）の各整数ｋについて、比率Ｘｋに従い、整数ｋの値毎に種別が異なるデータＤｋを圧縮非対象のデータＤｋ１と圧縮対象のデータＤｋ２とに分割する分割処理と、
前記分割処理によって分割されて生成された前記各整数ｋについての前記データＤｋ２を圧縮して圧縮データＤｋ２を生成する圧縮処理と、
前記データＤｋ１と、前記圧縮処理によって圧縮されて生成された前記圧縮データＤｋ２とを、逐次処理により受信装置に送信する送信処理と
を行う送信装置としてコンピュータを機能させる。
【００１８】
この発明に係る転送システムは、
送信装置と受信装置とを備える転送システムであり、
前記送信装置は、
ｋ＝１，．．．，ｎ（ｎは２以上の整数）の各整数ｋについて、比率Ｘｋに従い、整数ｋの値毎に種別が異なるデータＤｋを圧縮非対象のデータＤｋ１と圧縮対象のデータＤｋ２とに分割する分割部と、
前記分割部によって分割されて生成された前記各整数ｋについての前記データＤｋ２を圧縮して圧縮データＤｋ２を生成する圧縮部と、
前記データＤｋ１と、前記圧縮部によって圧縮されて生成された前記圧縮データＤｋ２とを、逐次処理により受信装置に送信する送信部と
を備え、
前記受信装置は、前記送信部によって送信された前記各整数ｋについての前記データＤｋ１及び前記圧縮データＤｋ２を受信する受信部と、
前記受信部によって受信された前記各整数ｋについての前記圧縮データＤｋ２を解凍する解凍部と
を備える。
【発明の効果】
【００１９】
この発明では、複数の種別のデータについて、その種別のデータに応じた比率に従い、圧縮非対象のデータと圧縮対象のデータとに分割する。そして、圧縮非対象のデータについては圧縮せずに送信し、圧縮対象のデータについては圧縮した上で送信する。これにより、複数の種別のデータを転送する場合に、データの転送時間を短くすることが可能になる。
【図面の簡単な説明】
【００２０】
【図１】実施の形態１に係る転送システム１００の構成図。
【図２】実施の形態１に係る送信装置１０のハードウェア構成図。
【図３】実施の形態１に係る受信装置２０のハードウェア構成図。
【図４】実施の形態１に係る送信装置１０の機能構成図。
【図５】実施の形態１に係る受信装置２０の機能構成図。
【図６】実施の形態１に係るデータ分割の基本的な考え方の説明図。
【図７】実施の形態１に係る送信装置１０の送信制御部１１１の動作を示すフローチャート。
【図８】実施の形態１に係る送信装置１０の圧縮部１１２の動作を示すフローチャート。
【図９】実施の形態１に係る送信装置１０の送信部１１３の動作を示すフローチャート。
【図１０】実施の形態１に係る受信装置２０の受信部２１１の動作を示すフローチャート。
【図１１】実施の形態１に係る受信装置２０の解凍部２１２の動作を示すフローチャート。
【図１２】実施の形態１に係る受信装置２０の受信制御部２１３の動作を示すフローチャート。
【図１３】実施の形態１に係る比率計算処理のフローチャート。
【図１４】実施の形態１に係る各ケースの説明図。
【図１５】実施の形態１に係る最適点特定処理のフローチャート。
【図１６】実施の形態１に係る総転送時間Ｆ（Ｘ１，０）の説明図。
【図１７】実施の形態１に係る転送効率の最適点の説明図。
【図１８】実施の形態２に係る転送するデータの種別が３つの場合におけるデータ分割の基本的な考え方の説明図。
【図１９】実施の形態２に係る転送するデータの種別がｎの場合におけるデータ分割の基本的な考え方の説明図。
【発明を実施するための形態】
【００２１】
実施の形態１．
実施の形態１では、転送するデータの種別が２つの場合を説明する。しかし、実施の形態２で説明するように、転送するデータの種別は３つ以上であってもよい。
【００２２】
＊＊＊構成の説明＊＊＊
図１を参照して、実施の形態１に係る転送システム１００の構成を説明する。
転送システム１００は、送信装置１０と、受信装置２０とを備える。送信装置１０と受信装置２０とは、広域網といった伝送路３０を介して接続される。
転送システム１００では、送信装置１０から受信装置２０に伝送路３０を介して複数の種別のデータが転送される。上述した通り、実施の形態１では、２つの種別のデータが転送される。
【００２３】
図２を参照して、実施の形態１に係る送信装置１０のハードウェア構成を説明する。
送信装置１０は、コンピュータである。
送信装置１０は、プロセッサ１１と、メモリ１２と、ストレージ１３と、通信インタフェース１４とのハードウェアを備える。プロセッサ１１は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【００２４】
図３を参照して、実施の形態１に係る受信装置２０のハードウェア構成を説明する。
受信装置２０は、コンピュータである。
受信装置２０は、プロセッサ２１と、メモリ２２と、ストレージ２３と、通信インタフェース２４とのハードウェアを備える。プロセッサ２１は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【００２５】
プロセッサ１１，２１は、プロセッシングを行うＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）である。プロセッサ１１，２１は、具体例としては、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。
【００２６】
メモリ１２，２２は、データを一時的に記憶する記憶装置である。メモリ１２，２２は、具体例としては、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。
【００２７】
ストレージ１３，２３は、データを保管する記憶装置である。ストレージ１３，２３は、具体例としては、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）である。また、ストレージ１３，２３は、ＳＤ（登録商標，Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）メモリカード、ＣＦ（ＣｏｍｐａｃｔＦｌａｓｈ，登録商標）、ＮＡＮＤフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ（登録商標）ディスク、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）といった可搬記録媒体であってもよい。
【００２８】
通信インタフェース１４，２４は、外部の装置と通信するためのインタフェースである。通信インタフェース１４，２４は、具体例としては、Ｅｔｈｅｒｎｅｔ（登録商標）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）、ＨＤＭＩ（登録商標，Ｈｉｇｈ−Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ）のポートである。
【００２９】
図４を参照して、実施の形態１に係る送信装置１０の機能構成を説明する。
送信装置１０は、機能構成要素として、送信制御部１１１と、圧縮部１１２と、送信部１１３とを備える。送信制御部１１１は、比率計算部１１４と、分割部１１５とを備える。送信装置１０の各機能構成要素の機能はソフトウェアにより実現される。
ストレージ１３には、送信装置１０の各機能構成要素の機能を実現するプログラムが格納されている。このプログラムは、プロセッサ１１によりメモリ１２に読み込まれ、プロセッサ１１によって実行される。これにより、送信装置１０の各機能構成要素の機能が実現される。
また、ストレージ１３には、転送効率パラメータ１３１が記憶される。なお、転送効率パラメータ１３１は、送信装置１０の外部の記憶装置に記憶されていてもよい。
【００３０】
図５を参照して、実施の形態１に係る受信装置２０の機能構成を説明する。
受信装置２０は、機能構成要素として、受信部２１１と、解凍部２１２と、受信制御部２１３とを備える。受信装置２０の各機能構成要素の機能はソフトウェアにより実現される。
ストレージ１３には、受信装置２０の各機能構成要素の機能を実現するプログラムが格納されている。このプログラムは、プロセッサ１１によりメモリ１２に読み込まれ、プロセッサ１１によって実行される。これにより、受信装置２０の各機能構成要素の機能が実現される。
【００３１】
図２では、プロセッサ１１は、１つだけ示されていた。しかし、プロセッサ１１は、複数であってもよく、複数のプロセッサ１１が、各機能を実現するプログラムを連携して実行してもよい。
同様に、図３では、プロセッサ２１は、１つだけ示されていた。しかし、プロセッサ２１は、複数であってもよく、複数のプロセッサ２１が、各機能を実現するプログラムを連携して実行してもよい。
【００３２】
なお、送信装置１０における各機能構成要素間では、メモリ１２を介してデータを送信してもよいし、プロセス間通信によりデータを送信してもよい。同様に、受信装置２０における各機能構成要素間では、メモリ２２を介してデータを送信してもよいし、プロセス間通信によりデータを送信してもよい。
【００３３】
＊＊＊動作の説明＊＊＊
図４から図１７を参照して、実施の形態１に係る転送システム１００の動作を説明する。
実施の形態１に係る転送システム１００の動作における送信装置１０の動作は、実施の形態１に係る送信方法に相当する。また、実施の形態１に係る転送システム１００の動作における送信装置１０の動作は、実施の形態１に係る送信プログラムの処理に相当する。
実施の形態１に係る転送システム１００の動作における受信装置２０の動作は、実施の形態１に係る受信方法に相当する。また、実施の形態１に係る転送システム１００の動作における受信装置２０の動作は、実施の形態１に係る受信プログラムの処理に相当する。  
【００３４】
実施の形態１では、データＤ１と、データＤ１とは異なる種別のデータＤ２との２つの種別のデータを転送する場合を説明する。データＤ１及びデータＤ２の例としては、ｊｐｅｇ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）データといった画像データと、点群データとからなる地図データである。この場合、例えば、データＤ１が画像データであり、データＤ２が点群データである。
データの種別によって圧縮率が異なる。例えば、ｊｐｅｇデータは圧縮率が低く、圧縮してもあまりサイズが小さくならない。これに対して、点群データは、圧縮率が高く、圧縮すると大幅にサイズが小さくなる。
【００３５】
なお、実施の形態１では、データＤ１とデータＤ２とは、それぞれ、一定のサイズといった基準によって分割された複数のデータファイルの集合とする。なお、送信装置１０が、それぞれ１つのデータファイルであるデータＤ１とデータＤ２とを、基準に従い複数のデータファイルに分割してもよい。
【００３６】
図４及び図５を参照して、実施の形態１に係る転送システム１００の動作の概要を説明する。
図４に示すように、送信装置１０では、送信制御部１１１は、データＤ１を圧縮非対象のデータＤ１１と圧縮対象のデータＤ１２とに分割するとともに、データＤ２を圧縮非対象のデータＤ２１と圧縮対象のデータＤ２２とに分割する。圧縮部１１２は、圧縮対象のデータＤ１２を圧縮して圧縮データＤ１２を生成するとともに、圧縮対象のデータＤ２２を圧縮して圧縮データＤ２２を生成する。そして、送信部１１３は、圧縮非対象のデータＤ１１と、圧縮データＤ１２と、圧縮非対象のデータＤ２１と、圧縮データＤ２２とを、逐次処理により受信装置に送信する。逐次処理により送信するとは、２つのデータを同時に送信することなく、１つずつ順に送信するという意味である。
図５に示すように、受信装置２０では、受信部２１１は、圧縮非対象のデータＤ１１と、圧縮データＤ１２と、圧縮非対象のデータＤ２１と、圧縮データＤ２２とを受信する。送信部１１３はデータを逐次処理により送信するので、受信部２１１はデータを逐次処理により受信することになる。解凍部２１２は、圧縮データＤ１２を解凍して圧縮対象のデータＤ１２を生成するとともに、圧縮データＤ２２を解凍して圧縮対象のデータＤ２２を生成する。そして、受信制御部２１３は、圧縮非対象のデータＤ１１と圧縮対象のデータＤ１２とを統合してデータＤ１を復元するとともに、圧縮非対象のデータＤ２１と圧縮対象のデータＤ２２とを統合してデータＤ２を復元する。
【００３７】
ここで、送信部１１３は、データを逐次処理により送信した。しかし、圧縮部１１２による圧縮は、送信部１１３によるデータの送信と並列に実行可能である。つまり、送信部１１３があるデータを送信しているときに、同時に圧縮部１１２は別のデータを圧縮することが可能である。また、圧縮部１１２は、複数のデータを並列に圧縮することが可能である。つまり、圧縮部１１２は、同時に複数のデータを圧縮することが可能である。
同様に、解凍部２１２による解凍は、受信部２１１によるデータの受信と並列に実行可能である。つまり、受信部２１１があるデータを受信しているときに、同時に解凍部２１２は別のデータを解凍することが可能である。また、解凍部２１２は、複数のデータを並列に解凍することが可能である。つまり、解凍部２１２は、同時に複数のデータを解凍することが可能である。
なお、逐次処理によりデータを送信するのは、複数のデータを並列に送信すると、伝送効率が悪化することにより、全てのデータを送信するのに必要な時間が長くなってしまうためである。これに対して、圧縮及び解凍については、並列処理による効率の悪化の程度が低いため、並列処理を可能としている。
【００３８】
図６を参照して、実施の形態１に係るデータ分割の基本的な考え方を説明する。
送信制御部１１１の比率計算部１１４は、データＤ１について比率Ｘ１を計算するとともに、データＤ２について比率Ｘ２を計算する。そして、送信制御部１１１の分割部１１５は、比率Ｘ１に従い、データＤ１を圧縮非対象のデータＤ１１と圧縮対象のデータＤ１２とに分割するとともに、比率Ｘ２に従い、データＤ２を圧縮非対象のデータＤ２１と圧縮対象のデータＤ２２とに分割する。
この際、比率計算部１１４は、データＤ１とデータＤ２とのうち、圧縮及び解凍にかかる時間である圧縮解凍時間が短い方のデータ（図６では、データＤ２としている）の圧縮解凍時間が、データＤ１の圧縮非対象のデータＤ１１とデータＤ２の圧縮非対象のデータＤ２１との転送にかかる送信時間とが近い時間になるように、比率Ｘ１及び比率Ｘ２を計算する。また、比率計算部１１４は、データＤ１とデータＤ２とのうち、圧縮解凍時間が長い方のデータ（図６では、データＤ１としている）の圧縮解凍時間が、データＤ１の圧縮非対象のデータＤ１１とデータＤ２の圧縮非対象のデータＤ２１と、圧縮データＤ２２との転送にかかる送信時間とが近い時間になるように、比率Ｘ１及び比率Ｘ２を計算する。
【００３９】
このように比率Ｘ１及び比率Ｘ２を計算するのは、圧縮するデータ量を増やしつつ、データを送信している間にデータの圧縮及び解凍が終わるようにするためである。このようにすることで、データの転送時間を短くすることができる。
【００４０】
図７を参照して、実施の形態１に係る送信装置１０の送信制御部１１１の動作を説明する。
（ステップＳ１１：データサイズ更新処理）
送信制御部１１１の比率計算部１１４は、転送対象のデータＤ１及びデータＤ２を取得する。比率計算部１１４は、データＤ１のサイズＳ１及びデータＤ２のサイズＳ２により、転送効率パラメータ１３１に含まれるサイズＳ１及びサイズＳ２を更新する。
【００４１】
（ステップＳ１２：最適点初期化処理）
比率計算部１１４は、転送効率の最適点の番号ｏｌｄＮを０に初期化する。
【００４２】
（ステップＳ１３：比率計算処理）
比率計算部１１４は、図６を参照して説明したように、比率Ｘ１及び比率Ｘ２を計算する。比率計算処理については詳しくは後述する。比率計算処理では、新たな転送効率の最適点の番号ｎｅｗＮが特定される。
【００４３】
（ステップＳ１４：最適点判定処理）
比率計算部１１４は、現在の最適点の番号ｏｌｄＮと、ステップＳ１３で計算された最適点の番号ｎｅｗＮとが異なるか否かを判定する。
比率計算部１１４は、最適点の番号ｏｌｄＮと最適点の番号ｎｅｗＮとが異なる場合には、処理をステップＳ１５に進める。一方、比率計算部１１４は、最適点の番号ｏｌｄＮと最適点の番号ｎｅｗＮとが同一の場合には、指定時間までウエイトした上で、処理をステップＳ１３に戻す。
【００４４】
（ステップＳ１５：実行判定処理）
送信制御部１１１の分割部１１５は、圧縮部１１２と送信部１１３との少なくともいずれかで処理が実行中か否かを判定する。
分割部１１５は、実行中の場合には、処理をステップＳ１６に進める。一方、分割部１１５は、実行中でない場合には、処理をステップＳ１８に進める。なお、処理開始時には、圧縮部１１２と送信部１１３とは処理を実行していないため、処理はステップＳ１８に進められることになる。
【００４５】
（ステップＳ１６：中止指示処理）
分割部１１５は、圧縮部１１２と送信部１１３とへ、処理の中止を指示する。圧縮部１１２と送信部１１３とは、指示を受けると、処理を中止する。この際、分割部１１５は、処理中のデータファイルについての処理が完了してから、処理を中止してもよい。
【００４６】
（ステップＳ１７：中止判定処理）
分割部１１５は、圧縮部１１２と送信部１１３との処理が中止されたか否かを判定する。
分割部１１５は、中止された場合には、処理をステップＳ１８に進める。一方、分割部１１５は、中止されていない場合には、一定時間経過後に再び圧縮部１１２と送信部１１３との処理が中止されたか否かを判定する。
【００４７】
（ステップＳ１８：残データ更新処理）
分割部１１５は、現在残っているデータＤ１及びデータＤ２により、残りのデータＤ１及びデータＤ２を更新する。なお、処理開始時には、ステップＳ１１で取得されたデータＤ１及びデータＤ２が残りのデータＤ１及びデータＤ２になる。
【００４８】
（ステップＳ１９：データ分割処理）
分割部１１５は、ステップＳ１３で計算された比率Ｘ１に従い、ステップＳ１８で更新された残りのデータＤ１を圧縮非対象のデータＤ１１と圧縮対象のデータＤ１２とに分割する。また、分割部１１５は、ステップＳ１３で計算された比率Ｘ２に従い、ステップＳ１８で更新された残りのデータＤ２を圧縮非対象のデータＤ２１と圧縮対象のデータＤ２２とに分割する。
分割部１１５は、圧縮非対象のデータＤ１１及びデータＤ２１を送信部１１３に受け渡し、圧縮対象のデータＤ１２及びデータＤ２２を圧縮部１１２に受け渡す。この際、分割部１１５は、優先度低のデータとして、データＤ１１及びデータＤ２１を送信部１１３に送信する。
【００４９】
図８を参照して、実施の形態１に係る送信装置１０の圧縮部１１２の動作を説明する。
（ステップＳ２１：圧縮処理）
圧縮部１１２は、ステップＳ１９で送信されたデータＤ１２を対象として圧縮処理を実行し、圧縮データＤ１２を生成する。この際、圧縮部１１２は、データＤ１２の圧縮率Ｐ１及び圧縮速度ＶＣ１を計算する。そして、圧縮部１１２は、計算された圧縮率Ｐ１及び圧縮速度ＶＣ１より、転送効率パラメータ１３１に含まれる圧縮率Ｐ１及び圧縮速度ＶＣ１を更新する。
同様に、圧縮部１１２は、ステップＳ１９で受け渡されたデータＤ２２を対象として圧縮処理を実行し、圧縮データＤ２２を生成する。この際、圧縮部１１２は、データＤ２２の圧縮率Ｐ２及び圧縮速度ＶＣ２を計算する。そして、圧縮部１１２は、計算された圧縮率Ｐ２及び圧縮速度ＶＣ２より、転送効率パラメータ１３１に含まれる圧縮率Ｐ２及び圧縮速度ＶＣ２を更新する。
そして、圧縮部１１２は、優先度高のデータとして、圧縮データＤ１２及び圧縮データＤ２２を送信部１１３に送信する。
【００５０】
図９を参照して、実施の形態１に係る送信装置１０の送信部１１３の動作を説明する。
（ステップＳ３１：キュー登録処理）
送信部１１３は、ステップＳ１９で受け渡されたデータＤ１１及びデータＤ２１を優先度低の転送キューに登録する。また、送信部１１３は、ステップＳ２１で受け渡された圧縮データＤ１２及び圧縮データＤ２２を優先度高の転送キューに登録する。
転送キューに各データを登録する処理については、並列に実行可能である。
【００５１】
（ステップＳ３２：優先度高判定処理）
送信部１１３は、優先度高の転送キューにデータが登録されているか否かを判定する。
送信部１１３は、データが登録されている場合には、処理をステップＳ３３に進める。一方、送信部１１３は、データが登録されていない場合には、処理をステップＳ３５に進める。
【００５２】
（ステップＳ３３：データ取得処理）
送信部１１３は、優先度高の転送キューからデータを取得する。この際、送信部１１３は、事前に決められた数（例えば、１つ）のデータファイルを取得してもよいし、全てのデータファイルを取得してもよい。
【００５３】
（ステップＳ３４：データ送信処理）
送信部１１３は、ステップＳ３３で取得されたデータを、伝送路３０を介して受信装置２０に送信する。この際、送信部１１３は、各データファイルを逐次処理により送信する。
【００５４】
（ステップＳ３５：優先度低判定処理）
送信部１１３は、優先度低の転送キューにデータが登録されているか否かを判定する。
送信部１１３は、データが登録されている場合には、処理をステップＳ３６に進める。一方、送信部１１３は、データが登録されていない場合には、処理をステップＳ３２に進める。
【００５５】
（ステップＳ３６：データ取得処理）
送信部１１３は、優先度低の転送キューからデータを取得する。この際、送信部１１３は、事前に決められた数（例えば、１つ）のデータファイルを取得してもよいし、全てのデータファイルを取得してもよい。
【００５６】
（ステップＳ３７：データ送信処理）
送信部１１３は、ステップＳ３６で取得されたデータを、伝送路３０を介して受信装置２０に送信する。この際、送信部１１３は、各データファイルを逐次処理により送信する。
【００５７】
つまり、圧縮されたデータである圧縮データＤ１２及び圧縮データＤ２２は、圧縮非対象のデータであるデータＤ１１及びデータＤ２１よりも優先して送信される。これは、圧縮データＤ１２及び圧縮データＤ２２は、受信装置２０で解凍されるためである。つまり、これは、圧縮データＤ１２及び圧縮データＤ２２についての解凍処理を、データＤ１１及びデータＤ２１の送信処理と並列に実行できるようにするためである。
【００５８】
図１０を参照して、実施の形態１に係る受信装置２０の受信部２１１の動作を説明する。
（ステップＳ４１：データ受信処理）
受信部２１１は、ステップＳ３４又はステップＳ３７で送信されたデータを受信する。
この際、受信部２１１は、データＤ１１を受信した場合には、データＤ１１の転送速度ＶＴ１１を計算し、計算された転送速度ＶＴ１１により転送効率パラメータ１３１の転送速度ＶＴ１１を更新する。そして、受信部２１１は、データＤ１１を受信制御部２１３に受け渡す。
また、受信部２１１は、データＤ２１を受信した場合には、データＤ２１の転送速度ＶＴ２１を計算し、計算された転送速度ＶＴ２１により転送効率パラメータ１３１の転送速度ＶＴ２１を更新する。そして、受信部２１１は、データＤ２１を受信制御部２１３に受け渡す。
また、受信部２１１は、圧縮データＤ１２を受信した場合には、圧縮データＤ１２の転送速度ＶＴ１２を計算し、計算された転送速度ＶＴ１２により転送効率パラメータ１３１の転送速度ＶＴ１２を更新する。そして、受信部２１１は、圧縮データＤ１２を解凍部２１２に受け渡す。
また、受信部２１１は、圧縮データＤ２２を受信した場合には、圧縮データＤ２２の転送速度ＶＴ２２を計算し、計算された転送速度ＶＴ２２により転送効率パラメータ１３１の転送速度ＶＴ２２を更新する。そして、受信部２１１は、圧縮データＤ２２を解凍部２１２に受け渡す。
【００５９】
図１１を参照して、実施の形態１に係る受信装置２０の解凍部２１２の動作を説明する。
（ステップＳ５１：解凍処理）
解凍部２１２は、ステップＳ４１で送信された圧縮データＤ１２を対象として解凍処理を実行し、データＤ１２を生成する。この際、圧縮部１１２は、圧縮データＤ１２の解凍速度ＶＥ１を計算する。そして、圧縮部１１２は、計算された解凍速度ＶＥ１より、転送効率パラメータ１３１に含まれる解凍速度ＶＥ１を更新する。
同様に、解凍部２１２は、ステップＳ４１で送信された圧縮データＤ２２を対象として解凍処理を実行し、データＤ２２を生成する。この際、圧縮部１１２は、圧縮データＤ２２の解凍速度ＶＥ２を計算する。そして、圧縮部１１２は、計算された解凍速度ＶＥ２より、転送効率パラメータ１３１に含まれる解凍速度ＶＥ２を更新する。
そして、解凍部２１２は、データＤ１２及びデータＤ２２を受信制御部２１３に受け渡す。
なお、厳密に言うと、圧縮データＤ１２を解凍したとき、データＤ１２とは異なるデータが生成されるが、ここでは理解を容易にするために便宜的に、圧縮データＤ１２を解凍して生成されたデータをデータＤ１２と表記する。同様に、データＤ２２を解凍して生成されたデータをデータＤ２２と表記する。他のデータについても、圧縮データを解凍して生成されるデータを、圧縮前のデータと同じデータの名称を用いて表記する。
【００６０】
図１２を参照して、実施の形態１に係る受信装置２０の受信制御部２１３の動作を説明する。
（ステップＳ６１：統合処理）
受信制御部２１３は、ステップＳ４１で送信されたデータＤ１１と、ステップＳ５１で送信されたデータＤ１２とを統合して、データＤ１を生成する。同様に、受信制御部２１３は、ステップＳ４１で送信されたデータＤ２１と、ステップＳ５１で送信されたデータＤ２２とを統合して、データＤ２を生成する。
【００６１】
図１３を参照して、実施の形態１に係る比率計算処理（図７のステップＳ１３）を説明する。
（ステップＳ７１：パラメータ取得処理）
比率計算部１１４は、データＤ１及びデータＤ２についての転送効率パラメータ１３１を取得する。
データＤ１についての転送効率パラメータ１３１は、データサイズＳ１と、圧縮率Ｐ１と、圧縮速度ＶＣ１と、解凍速度ＶＥ１と、転送速度ＶＴ１１と、転送速度ＶＴ１２とを含む。データＤ２についての転送効率パラメータ１３１は、データサイズＳ２と、圧縮率Ｐ２と、圧縮速度ＶＣ２と、解凍速度ＶＥ２と、転送速度ＶＴ２１と、転送速度ＶＴ２２とを含む。
【００６２】
（ステップＳ７２：処理時間計算処理）
比率計算部１１４は、データＤ１についての圧縮解凍時間ＴＣＥ１と、未圧縮送信時間ＴＴ１１と、圧縮送信時間ＴＴ１２とを計算する。圧縮解凍時間ＴＣＥ１は、データＤ１２を圧縮する処理の時間である圧縮処理時間と、圧縮データＤ１２を解凍する処理の時間である解凍処理時間の合計時間である。未圧縮送信時間ＴＴ１１は、データＤ１を全て圧縮せずに送信した場合の送信時間である。つまり、未圧縮送信時間ＴＴ１１は、データＤ１を全て圧縮非対象のデータＤ１１とし、送信した場合の送信時間である。圧縮送信時間ＴＴ１２は、データＤ１を全て圧縮した上で送信した場合の送信時間である。つまり、圧縮送信時間ＴＴ１２は、データＤ１を全て圧縮対象のデータＤ１２とし、送信した場合の送信時間である。
具体的には、圧縮解凍時間ＴＣＥ１＝（１／ＶＣ１＋１／ＶＥ１）×Ｓ１である。また、未圧縮送信時間ＴＴ１１＝Ｓ１／ＶＴ１１である。また、圧縮送信時間ＴＴ１２＝Ｐ１×Ｓ１／ＶＴ１２である。
【００６３】
同様に、比率計算部１１４は、データＤ２についての圧縮解凍時間ＴＣＥ２と、未圧縮転送時間ＴＴ２１と、圧縮転送時間ＴＴ２２とを計算する。圧縮解凍時間ＴＣＥ２は、データＤ２２を圧縮する処理の時間である圧縮処理時間と、圧縮データＤ２２を解凍する処理の時間である解凍処理時間の合計時間である。未圧縮送信時間ＴＴ２１は、データＤ２を全て圧縮せずに送信した場合の送信時間である。つまり、未圧縮送信時間ＴＴ２１は、データＤ２を全て圧縮非対象のデータＤ２１とし、送信した場合の送信時間である。圧縮送信時間ＴＴ２２は、データＤ２を全て圧縮した上で送信した場合の送信時間である。つまり、圧縮送信時間ＴＴ２２は、データＤ２を全て圧縮対象のデータＤ２２とし、送信した場合の送信時間である。
具体的には、圧縮解凍時間ＴＣＥ２＝（１／ＶＣ２＋１／ＶＥ２）×Ｓ２である。また、未圧縮送信時間ＴＴ２１＝Ｓ２／ＶＴ２１である。また、圧縮送信時間ＴＴ２２＝Ｐ２×Ｓ２／ＶＴ２２である。
【００６４】
（ステップＳ７３：送信時間判定処理）
比率計算部１１４は、以下のケース１からケース４のどのケースに該当するか判定する。比率計算部１１４は、該当するケースについての処理を実行する。
【００６５】
図１４を参照して、各ケースについて説明する。
図１４は、ａ１・Ｘ１＋ｂ１・Ｘ２＝ｃ１と、ａ２・Ｘ１＋ｂ２・Ｘ２＝ｃ２との２つの転送効率直線におけるａ１，ｂ１，ｃ１，ａ２，ｂ２，ｃ２の値を示す。２つの転送効率直線の交点を計算することにより、比率Ｘ１と、比率Ｘ２とが計算される。ここで、比率Ｘ１は、データＤ１のうちデータＤ１２に分割される割合である。同様に、比率Ｘ２は、データＤ２のうちデータＤ２２に分割される割合である。
図１４に示す３６個の交点は、以下の式１〜式９の交点である。
（式１）Ｘ１＝０
（式２）Ｘ２＝０
（式３）Ｘ１＝１
（式４）Ｘ２＝１
（式５）ＴＣＥ１Ｘ１−ＴＣＥ２Ｘ２＝０
（式６）ＴＴ１１Ｘ１＋（ＴＣＥ２＋ＴＴ２１）Ｘ２−（ＴＴ１１＋ＴＴ２１）＝０
（式７）（ＴＣＥ１＋ＴＴ１１）Ｘ１＋ＴＴ２１Ｘ２−（ＴＴ１１＋ＴＴ２１）＝０
（式８）（ＴＣＥ１＋ＴＴ１１）Ｘ１＋（ＴＴ２１−ＴＴ２２）Ｘ２−（ＴＴ１１＋ＴＴ２１）＝０
（式９）（ＴＴ１１−ＴＴ１２）Ｘ１＋（ＴＣＥ２＋ＴＴ２１）Ｘ２−（ＴＴ１１＋ＴＴ２１）＝０
【００６６】
（ケース１）
ケース１は、ＴＴ１１≦ＴＴ１２、かつ、ＴＴ２１≦ＴＴ２２の場合である。
比率計算部１１４は、ケース１に該当する場合には、新たな転送効率の最適点の番号ｎｅｗＮに１を設定する。そして、比率計算部１１４は、番号ｎｅｗＮ＝１におけるａ１，ｂ１，ｃ１，ａ２，ｂ２，ｃ２の値を代入した２つの転送効率直線の交点を計算することにより、比率Ｘ１＝０及び比率Ｘ２＝０を計算する。
【００６７】
（ケース２）
ケース２は、ＴＴ１１＞ＴＴ１２、かつ、ＴＴ２１≦ＴＴ２２の場合である。
比率計算部１１４は、ケース２に該当する場合には、（ＴＴ１１＋ＴＴ２１）／（ＴＣＥ１＋ＴＴ１１）＜１が成立するか否かを判定する。
比率計算部１１４は、成立する場合には、新たな転送効率の最適点の番号ｎｅｗＮに１４を設定する。そして、比率計算部１１４は、番号ｎｅｗＮ＝１４におけるａ１，ｂ１，ｃ１，ａ２，ｂ２，ｃ２の値を代入した２つの転送効率直線の交点を計算することにより、比率Ｘ１＝（ＴＴ１１＋ＴＴ２１）／（ＴＣＥ１＋ＴＴ１１）及び比率Ｘ２＝０を計算する。
一方、比率計算部１１４は、成立しない場合には、新たな転送効率の最適点の番号ｎｅｗＮに４を設定する。そして、比率計算部１１４は、番号ｎｅｗＮ＝４におけるａ１，ｂ１，ｃ１，ａ２，ｂ２，ｃ２の値を代入した２つの転送効率直線の交点を計算することにより、比率Ｘ１＝１及び比率Ｘ２＝０を計算する。
【００６８】
（ケース３）
ケース３は、ＴＴ１１≦ＴＴ１２、かつ、ＴＴ２１＞ＴＴ２２の場合である。
比率計算部１１４は、ケース３に該当する場合には、（ＴＴ１１＋ＴＴ２１）／（ＴＣＥ２＋ＴＴ２１）＜１が成立するか否かを判定する。
比率計算部１１４は、成立する場合には、新たな転送効率の最適点の番号ｎｅｗＮに８を設定する。そして、比率計算部１１４は、番号ｎｅｗＮ＝８におけるａ１，ｂ１，ｃ１，ａ２，ｂ２，ｃ２の値を代入した２つの転送効率直線の交点を計算することにより、比率Ｘ１＝０及び比率Ｘ２＝（ＴＴ１１＋ＴＴ２１）／（ＴＣＥ２＋ＴＴ２１）を計算する。
一方、比率計算部１１４は、成立しない場合には、新たな転送効率の最適点の番号ｎｅｗＮに２を設定する。そして、比率計算部１１４は、番号ｎｅｗＮ＝２におけるａ１，ｂ１，ｃ１，ａ２，ｂ２，ｃ２の値を代入した２つの転送効率直線の交点を計算することにより、比率Ｘ１＝０及び比率Ｘ２＝１を計算する。
【００６９】
（ケース４）
ケース４は、ＴＴ１１＞ＴＴ１２、かつ、ＴＴ２１＞ＴＴ２２の場合である。
比率計算部１１４は、ケース４に該当する場合には、最適点特定処理を実行する。
【００７０】
図１５を参照して、実施の形態１に係る最適点特定処理（図１３のステップＳ７３のケース４）を説明する。
（ステップＳ８１：交点計算処理）
比率計算部１１４は、ステップＳ７１で取得された転送効率パラメータ１３１を用いて、図１４に示す３６個の交点を計算する。番号Ｎの交点を交点Ｎと呼ぶ。
交点（Ｘ１，Ｘ２）は、Ｘ１＝（ｃ１・ｂ２−ｃ２・ｂ１）／（ａ１・ｂ２−ａ２・ｂ１）、及び、Ｘ２＝（ｃ１・ａ２−ｃ２・ａ１）／（ａ２・ｂ１−ａ１・ｂ２）によって計算される。なお、ａ１・ｂ２＝ａ２・ｂ１の場合には解なしとする。
【００７１】
（ステップＳ８２：変数初期化処理）
比率計算部１１４は、変数Ｎを１に初期化する。また、比率計算部１１４は、最小値ＭＩＮ＿Ｆを∞に初期化する。また、比率計算部１１４は、番号ｎｅｗＮを１に初期化する。
【００７２】
（ステップＳ８３：変数Ｎ判定処理）
比率計算部１１４は、変数Ｎが３６以下であるか否かを判定する。
比率計算部１１４は、変数Ｎが３６以下である場合には、処理をステップＳ８４に進める。一方、比率計算部１１４は、変数Ｎが３６より大きい場合には、処理を終了する。
【００７３】
（ステップＳ８４：交点Ｎ判定処理）
比率計算部１１４は、交点Ｎの解が存在するか否かを判定する。
比率計算部１１４は、交点Ｎの解が存在する場合には、処理をステップＳ８５に進める。一方、比率計算部１１４は、交点Ｎの解が存在しない場合には、処理をステップＳ８８に進める。
【００７４】
（ステップＳ８５：最小値計算処理）
比率計算部１１４は、以下の条件１〜条件４のどの条件に該当するか判定する。比率計算部１１４は、該当する条件についての式にステップＳ７１で取得された転送効率パラメータ１３１を代入して、総転送時間Ｆ（Ｘ１，Ｘ２）の最小値ＭｉｎＦ（Ｘ１，Ｘ２）を計算する。
総転送時間Ｆ（Ｘ１，Ｘ２）は、データＤ１１と圧縮データＤ１２とデータＤ２１と圧縮データＤ２２とである対象データを受信装置２０に送信する送信時間と、対象データの送信と並列に実行できない圧縮処理の時間である圧縮部分時間と、対象データの送信と並列に実行できない解凍処理の時間である解凍部分時間との合計時間である。圧縮部分時間は、正確には、圧縮部１１２が圧縮データＤ１２及び圧縮データＤ２２を生成する処理の時間である圧縮処理時間のうち、対象データを受信装置２０に送信する処理と並列に実行できない時間である。解凍部分時間は、解凍部２１２によって圧縮データＤ１２及び圧縮データＤ２２を解凍する処理の時間である解凍処理時間のうち、対象データを受信装置２０に送信する処理と並列に実行できない時間である。
【００７５】
（条件１）
条件１は、比率Ｘ１及び比率Ｘ２の組が、（１）０≦Ｘ１≦１、かつ、（２）０≦Ｘ２≦１、かつ、（３）ＴＣＥ１・Ｘ１−ＴＣＥ２・Ｘ２≧０、かつ、（４）ＴＴ１１・Ｘ１＋（ＴＣＥ２＋ＴＴ２１）・Ｘ２−（ＴＴ１１＋ＴＴ２１）≦０、かつ、（５）（ＴＣＥ１＋ＴＴ１１）・Ｘ１＋（ＴＴ２１−ＴＴ２２）・Ｘ２−（ＴＴ１１＋ＴＴ２１）＞０、かつ、式７との交点及び式９との交点とを除いた交点であることを満たす場合である。
（１）及び（２）は、比率Ｘ１及び比率Ｘ２の範囲であり、当然に満たされる条件である。（３）は、データＤ１２についての圧縮解凍時間が、データＤ２２についての圧縮解凍時間以上という条件である。図６を参照して説明した通り、データＤ１２とデータＤ２２とのどちらが圧縮解凍時間が短い方かによって比率Ｘ１及び比率Ｘ２の計算方法が異なる。（４）は、データＤ２２の圧縮解凍時間が、データＤ１１及びデータＤ２１の送信時間よりも短いという条件である。（５）は、データＤ１２の圧縮解凍時間が、データＤ１１とデータＤ２１と圧縮データＤ２２との送信時間よりも長いという条件である。（６）は、他の条件から、式７との交点及び式９との交点はあり得ないためである。
この場合には、比率計算部１１４は、最小値ＭｉｎＦ（Ｘ１，Ｘ２）＝（ＴＣＥ１＋ＴＴ１２）・Ｘ１によって、総転送時間Ｆ（Ｘ１，Ｘ２）の最小値ＭｉｎＦ（Ｘ１，Ｘ２）を計算する。
【００７６】
（条件２）
条件２は、比率Ｘ１及び比率Ｘ２の組が、（１）０≦Ｘ１≦１、かつ、（２）０≦Ｘ２≦１、かつ、（３）ＴＣＥ１・Ｘ１−ＴＣＥ２・Ｘ２≧０、かつ、（４）ＴＴ１１・Ｘ１＋（ＴＣＥ２＋ＴＴ２１）・Ｘ２−（ＴＴ１１＋ＴＴ２１）≦０、かつ、（５）（ＴＣＥ１＋ＴＴ１１）・Ｘ１＋（ＴＴ２１−ＴＴ２２）・Ｘ２−（ＴＴ１１＋ＴＴ２１）≦０、かつ、式７との交点及び式９との交点とを除いた交点であることを満たす場合である。
条件２は条件１と（５）が異なる。（５）は、データＤ１２の圧縮解凍時間が、データＤ１１とデータＤ２１と圧縮データＤ２２との送信時間以下という条件である。
この場合には、比率計算部１１４は、最小値ＭｉｎＦ（Ｘ１，Ｘ２）＝（ＴＴ１１＋ＴＴ２１）−（ＴＴ１１−ＴＴ１２）Ｘ１−（ＴＴ２１−ＴＴ２２）Ｘ２によって、総転送時間Ｆ（Ｘ１，Ｘ２）の最小値ＭｉｎＦ（Ｘ１，Ｘ２）を計算する。
【００７７】
（条件３）
条件３は、比率Ｘ１及び比率Ｘ２の組が、（１）０≦Ｘ１≦１、かつ、（２）０≦Ｘ２≦１、かつ、（３）ＴＣＥ１・Ｘ１−ＴＣＥ２・Ｘ２＜０、かつ、（４）（ＴＣＥ１＋ＴＴ１１）・Ｘ１＋ＴＴ２１・Ｘ２−（ＴＴ１１＋ＴＴ２１）≦０、かつ、（５）（ＴＴ１１−ＴＴ１２）・Ｘ１＋（ＴＣＥ２＋ＴＴ２１）・Ｘ２−（ＴＴ１１＋ＴＴ２１）≧０、かつ、式６との交点及び式８との交点とを除いた交点であることを満たす場合である。
条件３は条件１と（３）〜（６）が異なる。（３）は、データＤ１２についての圧縮解凍時間の方が、データＤ２２についての圧縮解凍時間よりも短いという条件である。（４）は、データＤ１２の圧縮解凍時間が、データＤ１１及びデータＤ２１の送信時間よりも短いという条件である。（５）は、データＤ２２の圧縮解凍時間が、データＤ１１とデータＤ２１と圧縮データＤ１２との送信時間よりも長いという条件である。（６）は、他の条件から、式６との交点及び式８との交点はあり得ないためである。つまり、条件３は、条件１のデータＤ１とデータＤ２とを反転させた条件である。
この場合には、比率計算部１１４は、最小値ＭｉｎＦ（Ｘ１，Ｘ２）＝（ＴＣＥ２＋ＴＴ２２）・Ｘ２によって、総転送時間Ｆ（Ｘ１，Ｘ２）の最小値ＭｉｎＦ（Ｘ１，Ｘ２）を計算する。
【００７８】
（条件４）
条件４は、比率Ｘ１及び比率Ｘ２の組が、（１）０≦Ｘ１≦１、かつ、（２）０≦Ｘ２≦１、かつ、（３）ＴＣＥ１・Ｘ１−ＴＣＥ２・Ｘ２＜０、かつ、（４）ＴＴ１１・Ｘ１＋（ＴＣＥ２＋ＴＴ２１）・Ｘ２−（ＴＴ１１＋ＴＴ２１）≦０、かつ、（５）（ＴＣＥ１＋ＴＴ１１）・Ｘ１＋（ＴＴ２１−ＴＴ２２）・Ｘ２−（ＴＴ１１＋ＴＴ２１）≦０、かつ、式６との交点及び式８との交点とを除いた交点であることを満たす場合である。
条件４は条件３と（５）が異なる。（５）は、データＤ２２の圧縮解凍時間が、データＤ１１とデータＤ２１と圧縮データＤ１２との送信時間以下という条件である。つまり、条件４は、条件２のデータＤ１とデータＤ２とを反転させた条件である。
この場合には、比率計算部１１４は、最小値ＭｉｎＦ（Ｘ１，Ｘ２）＝（ＴＴ１１＋ＴＴ２１）−（ＴＴ１１−ＴＴ１２）Ｘ１−（ＴＴ２１−ＴＴ２２）Ｘ２によって、総転送時間Ｆ（Ｘ１，Ｘ２）の最小値ＭｉｎＦ（Ｘ１，Ｘ２）を計算する。
【００７９】
（ステップＳ８６：最小値判定処理）
比率計算部１１４は、ステップＳ８５で計算された総転送時間Ｆ（Ｘ１，Ｘ２）の最小値ＭｉｎＦ（Ｘ１，Ｘ２）が、最小値ＭＩＮ＿Ｆよりも小さいか否かを判定する。
比率計算部１１４は、最小値ＭｉｎＦ（Ｘ１，Ｘ２）が最小値ＭＩＮ＿Ｆよりも小さい場合には、処理をステップＳ８７に進める。一方、比率計算部１１４は、最小値ＭｉｎＦ（Ｘ１，Ｘ２）が最小値ＭＩＮ＿Ｆ以上の場合には、処理をステップＳ８８に進める。
【００８０】
（ステップＳ８７：最小値更新処理）
比率計算部１１４は、ステップＳ８５で計算された総転送時間Ｆ（Ｘ１，Ｘ２）の最小値ＭｉｎＦ（Ｘ１，Ｘ２）を、最小値ＭＩＮ＿Ｆに設定する。また、比率計算部１１４は、変数Ｎの値を、番号ｎｅｗＮに設定する。
【００８１】
（ステップＳ８８：変数Ｎ更新処理）
比率計算部１１４は、変数Ｎに１を加算し、番号ｎｅｗＮに変数Ｎを設定して、処理をステップＳ８３に戻す。
【００８２】
図１３のステップＳ７３におけるケース１〜ケース３における比率Ｘ１及び比率Ｘ２の計算が成立する理由を説明する。
（ケース１の計算が成立する理由）
ＴＴ１１≦ＴＴ１２であるため、データＤ１については圧縮せずに送信した方がよい。したがって、比率Ｘ１＝０になる。つまり、データＤ１は全てデータＤ１１になる。同様に、ＴＴ２１≦ＴＴ２２であるため、データＤ２については圧縮せずに送信した方がよい。したがって、比率Ｘ２＝０になる。つまり、データＤ２は全てデータＤ２１になる。
【００８３】
（ケース２の計算が成立する理由）
ＴＴ２１≦ＴＴ２２であるため、データＤ２については圧縮せずに送信した方がよい。したがって、比率Ｘ２＝０になる。
【００８４】
溢れ時間ＴＲ（Ｘ１，０）を、比率Ｘ２＝０であるときに、圧縮処理及び解凍処理と、送信処理とを並列に実行した場合に、送信処理と並列に実行できない圧縮処理及び解凍処理の時間とする。このとき、比率Ｘ２＝０である場合における総転送時間Ｆ（Ｘ１，０）＝ＴＴ１１（１−Ｘ１）＋ＴＴ１２・Ｘ１＋ＴＴ２１＋ＴＲ（Ｘ１，０）＝ＴＴ１１＋ＴＴ２１−（ＴＴ１１−ＴＴ１２）・Ｘ１＋ＴＲ（Ｘ１，０）である。
比率Ｘ２＝０である場合における総転送時間Ｆ（Ｘ１，０）は、データＤ１１と圧縮データＤ１２とデータＤ２１とである対象データを受信装置２０に送信する送信時間と、対象データの送信と並列に実行できない圧縮処理の時間である圧縮部分時間と、対象データの送信と並列に実行できない圧縮処理の時間である解凍部分時間との合計時間である。圧縮部分時間は、正確には、圧縮部１１２が圧縮データＤ１２を生成する処理の時間である圧縮処理時間のうち、対象データを受信装置２０に送信する処理と並列に実行できない時間である。解凍部分時間は、解凍部２１２によって圧縮データＤ１２を解凍する処理の時間である解凍処理時間のうち、対象データを受信装置２０に送信する処理と並列に実行できない時間である。
【００８５】
ＴＣＥ１・Ｘ１−（（１−Ｘ１）ＴＴ１１＋ＴＴ２１）が０以下の場合には、溢れ時間ＴＲ（Ｘ１，０）は０になり、ＴＣＥ１・Ｘ１−（ＴＴ１１＋ＴＴ２１−ＴＴ１１・Ｘ１）が０より大きい場合には、溢れ時間ＴＲ（Ｘ１，０）＝ＴＣＥ１・Ｘ１−（ＴＴ１１＋ＴＴ２１−ＴＴ１１・Ｘ１）になる。
ここで、溢れ時間ＴＲ（Ｘ１，０）＝ＴＣＥ１・Ｘ１−（（１−Ｘ１）ＴＴ１１＋ＴＴ２１）に式変形できる。ＴＣＥ１・Ｘ１は、比率Ｘ１の場合におけるデータＤ１２の圧縮解凍時間である。（１−Ｘ１）ＴＴ１１は、比率Ｘ１の場合におけるデータＤ１１の送信時間である。ＴＴ２１は、比率Ｘ２＝０の場合におけるデータＤ２１の送信時間である。つまり、ＴＣＥ１・Ｘ１−（（１−Ｘ１）ＴＴ１１＋ＴＴ２１）は、比率Ｘ１及び比率Ｘ２＝０の場合において、圧縮解凍時間からデータＤ１１及びデータＤ２１の送信時間を減算した時間である。
したがって、ＴＣＥ１・Ｘ１−（（１−Ｘ１）ＴＴ１１＋ＴＴ２１）が０以下の場合には、圧縮解凍時間がデータＤ１１及びデータＤ２１の送信時間以下なので、溢れ時間ＴＲ（Ｘ１，０）は０になる。一方、ＴＣＥ１・Ｘ１−（（１−Ｘ１）ＴＴ１１＋ＴＴ２１）が０より大きい場合には、圧縮解凍時間の方がデータＤ１１及びデータＤ２１の送信時間よりも長いので、溢れ時間ＴＲ（Ｘ１，０）はＴＣＥ１・Ｘ１−（（１−Ｘ１）ＴＴ１１＋ＴＴ２１）になる。
これを整理すると、ＴＣＥ１・Ｘ１−（（１−Ｘ１）ＴＴ１１＋ＴＴ２１）＝（ＴＣＥ１＋ＴＴ１１）・Ｘ１−（ＴＴ１１＋ＴＴ２１）である。そのため、（ＴＴ１１＋ＴＴ２１）／（ＴＣＥ１＋ＴＴ１１）≧Ｘ１の場合には、溢れ時間ＴＲ（Ｘ１，０）は０になり、（ＴＴ１１＋ＴＴ２１）／（ＴＣＥ１＋ＴＴ１１）＜Ｘ１の場合には、溢れ時間ＴＲ（Ｘ１，０）は（ＴＣＥ１＋ＴＴ１１）・Ｘ１−（ＴＴ１１＋ＴＴ２１）になる。
【００８６】
総転送時間Ｆ（Ｘ１，０）＝ＴＴ１１＋ＴＴ２１−（ＴＴ１１−ＴＴ１２）・Ｘ１＋ＴＲ（Ｘ１，０）におけるＴＲ（Ｘ１，０）に上記式を代入する。すると、（ＴＴ１１＋ＴＴ２１）／（ＴＣＥ１＋ＴＴ１１）≧Ｘ１の場合には、総転送時間Ｆ（Ｘ１，０）＝ＴＴ１１＋ＴＴ２１−（ＴＴ１１−ＴＴ１２）・Ｘ１になる。また、（ＴＴ１１＋ＴＴ２１）／（ＴＣＥ１＋ＴＴ１１）＜Ｘ１の場合には、総転送時間Ｆ（Ｘ１，０）＝（ＴＣＥ１＋ＴＴ１２）・Ｘ１になる。
【００８７】
ここで、図１６に示すように、総転送時間Ｆ（Ｘ１，０）の最小値ＭｉｎＦ（Ｘ１，０）は、（ＴＴ１１＋ＴＴ２１）／（ＴＣＥ１＋ＴＴ１１）が１以上であるか、１未満であるかによって異なる。
図１６に示すように、（ＴＴ１１＋ＴＴ２１）／（ＴＣＥ１＋ＴＴ１１）＜１の場合には、最小値ＭｉｎＦ（Ｘ１，０）＝（ＴＴ１１＋ＴＴ２１）（ＴＣＥ１＋ＴＴ１２）／（ＴＣＥ１＋ＴＴ１１）であり、転送効率が最適になる比率Ｘ１は（ＴＴ１１＋ＴＴ２１）／（ＴＣＥ１＋ＴＴ１１）である。また、（ＴＴ１１＋ＴＴ２１）／（ＴＣＥ１＋ＴＴ１１）≧１の場合には、最小値ＭｉｎＦ（Ｘ１，０）＝ＴＴ１２＋ＴＴ２１であり、転送効率が最適になる比率Ｘ１は１である。
【００８８】
（ケース３の計算が成立する理由）
ケース３は、ケース２におけるデータＤ１とデータＤ２とを反転した場合である。したがって、ケース２の説明が成立する理由から明らかである。
【００８９】
図１５のステップＳ８５における条件１〜条件４における比率Ｘ１及び比率Ｘ２の計算が成立する理由を説明する。
図１５のステップＳ８５では、図６を参照して説明した方法により、比率Ｘ１及び比率Ｘ２を計算している。条件１〜条件４は、図６を参照して説明した方法を４つの場合に分けている。具体的には、条件１〜条件４は、データＤ１２についての圧縮解凍時間が、データＤ２２についての圧縮解凍時間以上であるか否かと、データＤ１２の圧縮解凍時間とデータＤ２２の圧縮解凍時間のうちの長い方が、データＤ１１とデータＤ２１と圧縮解凍時間が短い方の圧縮データとの送信時間よりも長いか否かとの組合せになっている。原則として、条件１〜条件４のいずれかの条件が満たされる。
【００９０】
条件１の場合には、図６に示すような並列処理が実行される。このとき、（４）ＴＴ１１・Ｘ１＋（ＴＣＥ２＋ＴＴ２１）・Ｘ２−（ＴＴ１１＋ＴＴ２１）≦０、かつ、（５）（ＴＣＥ１＋ＴＴ１１）・Ｘ１＋（ＴＴ２１−ＴＴ２２）・Ｘ２−（ＴＴ１１＋ＴＴ２１）＞０である。そのため、総転送時間Ｆ（Ｘ１，Ｘ２）＝ＴＴ１１・（１−Ｘ１）＋ＴＴ１２・Ｘ１＋ＴＴ２１・（１−Ｘ２）＋ＴＴ１２・Ｘ２＋ＴＲ・（Ｘ１，Ｘ２）＝ＴＴ１１＋ＴＴ２１−（ＴＴ１１−ＴＴ１２）・Ｘ１−（ＴＴ２１−ＴＴ１２）・Ｘ２＋ＴＲ・（Ｘ１，Ｘ２）である。
ここで、溢れ時間ＴＲ・（Ｘ１，Ｘ２）は、圧縮処理及び解凍処理と、送信処理とを並列に実行した場合に、送信処理と並列に実行できない圧縮処理及び解凍処理の時間である。溢れ時間ＴＲ（Ｘ１，Ｘ２）＝ＴＣＥ１・Ｘ１−（ＴＴ１１＋ＴＴ２１−ＴＴ１１・Ｘ１−（ＴＴ２１−ＴＴ１２）・Ｘ２）である。
したがって、総転送時間Ｆ（Ｘ１，Ｘ２）＝ＴＴ１１＋ＴＴ２１−（ＴＴ１１−ＴＴ１２）・Ｘ１−（ＴＴ２１−ＴＴ１２）・Ｘ２＋ＴＲ・（Ｘ１，Ｘ２）に、溢れ時間ＴＲ（Ｘ１，Ｘ２）＝ＴＣＥ１・Ｘ１−（ＴＴ１１＋ＴＴ２１−ＴＴ１１・Ｘ１−（ＴＴ２１−ＴＴ１２）・Ｘ２）を代入することにより、総転送時間Ｆ（Ｘ１，Ｘ２）＝（ＴＣＥ１＋ＴＴ１２）・Ｘ１となる。
【００９１】
条件１を満たすような比率Ｘ１及び比率Ｘ２の組のうち、総転送時間Ｆ（Ｘ１，Ｘ２）が最小になる比率Ｘ１及び比率Ｘ２の組が転送効率の最適点になる。ここでは、総転送時間Ｆ（Ｘ１，Ｘ２）＝（ＴＣＥ１＋ＴＴ１２）・Ｘ１であるため、比率Ｘ１が最小になる比率Ｘ１及び比率Ｘ２の組が転送効率の最適点になる。
図１７に示すように、条件１を図示すると、直線４と直線５と直線６と直線８とで囲まれた領域になる。比率Ｘ１が最小になるのは、直線５と直線８との交点である。そして、この交点が示す比率Ｘ１及び比率Ｘ２の組が転送効率の最適点になる。
【００９２】
条件２〜条件４についても、条件１と同様に、複数の転送効率直線で囲まれた閉領域において総転送時間Ｆ（Ｘ１，Ｘ２）が最小になる比率Ｘ１及び比率Ｘ２の組を計算すればよい。ここで、総転送時間Ｆ（Ｘ１，Ｘ２）は、比率Ｘ１及び比率Ｘ２の１次式であり、総転送時間Ｆ（Ｘ１，Ｘ２）が最小になる比率Ｘ１及び比率Ｘ２の組は、上述した９本の転送効率直線の交点のいずれかになる。
【００９３】
＊＊＊実施の形態１の効果＊＊＊
以上のように、実施の形態１に係る転送システム１００は、２つの種別のデータＤ１及びデータＤ２について、種別に応じてデータＤ１は比率Ｘ１に従い、データＤ２は比率Ｘ２に従い、圧縮非対象のデータと圧縮対象のデータとに分割する。そして、転送システム１００は、圧縮非対象のデータについては圧縮せずに送信し、圧縮対象のデータについては圧縮した上で送信する。これにより、複数の種別のデータを転送する場合に、データの転送時間を短くできるようにすることが可能になる。
【００９４】
また、実施の形態１に係る転送システム１００は、データＤ１１と圧縮データＤ１２とデータＤ２１と圧縮データＤ２２とである対象データを受信装置２０に送信する送信時間と、対象データの送信と並列に実行できない圧縮処理の時間である圧縮部分時間と、対象データの送信と並列に実行できない解凍処理の時間である解凍部分時間との合計時間である総転送時間Ｆ（Ｘ１，Ｘ２）が短くなるように比率Ｘ１及び比率Ｘ２を計算する。これにより、総転送時間Ｆ（Ｘ１，Ｘ２）を短くすることが可能である。
【００９５】
また、実施の形態１に係る転送システム１００は、圧縮解凍時間が短い方のデータの圧縮解凍時間が、データＤ１１とデータＤ２１との転送にかかる送信時間と近い時間になるように、比率Ｘ１及び比率Ｘ２を計算する。また、転送システム１００は、圧縮解凍時間が長い方のデータの圧縮解凍時間が、データＤ１１とデータＤ２１と圧縮解凍時間が短い方の圧縮データとの転送にかかる送信時間と近い時間になるように、比率Ｘ１及び比率Ｘ２を計算する。これにより、総転送時間Ｆ（Ｘ１，Ｘ２）を短くすることが可能である。
【００９６】
また、実施の形態１に係る転送システム１００は、転送効率の最適点が移動した場合に、比率Ｘ１及び比率Ｘ２を再計算し、データＤ１及びデータＤ２の分割の見直しを行う。そのため、転送効率パラメータ１３１が大きく変動した場合にのみ、データＤ１及びデータＤ２の分割の見直しが行われる。したがって、データＤ１及びデータＤ２の分割の見直しが多発することを防止可能であり、データＤ１及びデータＤ２の分割の見直しによるオーバヘッドを少なくすることが可能である。
【００９７】
＊＊＊他の構成＊＊＊
＜変形例１＞
実施の形態１では、各機能構成要素がソフトウェアで実現された。しかし、変形例１として、各機能構成要素はハードウェアで実現されてもよい。この変形例１について、実施の形態１と異なる点を説明する。
【００９８】
各機能構成要素がハードウェアで実現される場合には、送信装置１０は、プロセッサ１１とメモリ１２とストレージ１３とに代えて、電子回路を備える。電子回路は、送信装置１０の各機能構成要素と、メモリ１２と、ストレージ１３との機能とを実現する専用の回路である。
同様に、各機能構成要素がハードウェアで実現される場合には、受信装置２０は、プロセッサ２１とメモリ２２とストレージ２３とに代えて、電子回路を備える。電子回路は、送信装置１０の各機能構成要素と、メモリ２２と、ストレージ２３との機能とを実現する専用の回路である。
【００９９】
電子回路としては、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックＩＣ、ＧＡ（Ｇａｔｅ  Ａｒｒａｙ）、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）が想定される。
各機能構成要素を１つの電子回路で実現してもよいし、各機能構成要素を複数の電子回路に分散させて実現してもよい。
【０１００】
＜変形例２＞
変形例２として、一部の各機能構成要素がハードウェアで実現され、他の各機能構成要素がソフトウェアで実現されてもよい。
【０１０１】
プロセッサ１１とメモリ１２とストレージ１３と電子回路１５とを処理回路という。つまり、各機能構成要素の機能は、処理回路により実現される。
【０１０２】
実施の形態２．
実施の形態１では、転送するデータの種別が２つの場合を説明した。実施の形態２では、実施の形態１で説明した転送システム１００を転送するデータの種別が３つ以上の場合に拡張する方法を説明する。
データの種別が３つ以上の場合には、送信制御部１１１の処理が実施の形態１と異なる。実施の形態２では、実施の形態１と異なる部分を説明し、同一の部分については説明を省略する。
【０１０３】
図１８及び図１９を参照して、実施の形態２に係るデータ分割の基本的な考え方を説明する。
まず、図１８を参照して、転送するデータの種別が３つの場合を説明する。
ここでは、各整数ｋについての圧縮解凍時間ＴＣＥｋは、ＴＣＥ１Ｘ１≧ＴＣＥ２Ｘ２≧ＴＣＥ３Ｘ３とする。
送信制御部１１１の比率計算部１１４は、ｋ＝１，２，３の各整数ｋについて、比率Ｘｋを計算する。そして、送信制御部１１１の分割部１１５は、各整数ｋについて、比率Ｘｋに従い、整数ｋの値毎に種別が異なるデータＤｋを圧縮非対象のデータＤｋ１と圧縮対象のデータＤｋ２とに分割する。
この際、比率計算部１１４は、各整数ｋを対象として、対象の整数ｋについてのデータＤｋ２の圧縮処理時間及び解凍処理時間の合計時間である圧縮解凍時間ＴＣＥｋＸｋと、各整数ｋについてのデータＤｋ１を受信装置２０に送信する送信時間に、対象の整数ｋ以外の整数ｋのうち、データＤｋ２の圧縮解凍時間ＴＣＥｋＸｋが対象の整数ｋよりも短い整数ｋについての圧縮データＤｋ２を受信装置２０に送信する送信時間を加えた送信合計時間とが近い時間になるように、各整数ｋについての比率Ｘｋを計算する。
つまり、比率計算部１１４は、圧縮解凍時間ＴＣＥ３Ｘ３と、データＤ１１とデータＤ２１とデータＤ３１との送信時間とが近くなるように、比率Ｘ３を計算する。また、比率計算部１１４は、圧縮解凍時間ＴＣＥ２Ｘ２と、データＤ１１とデータＤ２１とデータＤ３１との送信時間に、圧縮データＤ３２の送信時間を加えた送信合計時間とが近い時間になるように、比率Ｘ２を計算する。また、比率計算部１１４は、圧縮解凍時間ＴＣＥ１Ｘ１と、データＤ１１とデータＤ２１とデータＤ３１との送信時間に、圧縮データＤ３２及び圧縮データＤ２２の送信時間を加えた送信合計時間とが近い時間になるように、比率Ｘ１を計算する。
【０１０４】
このように比率Ｘ１から比率Ｘ３を決定することにより、以下のように処理が行われる。ここでは、圧縮解凍時間ＴＣＥ３Ｘ３と、データＤ１１とデータＤ２１とデータＤ３１との送信時間とが同じ時間になり、圧縮解凍時間ＴＣＥ２Ｘ２と、データＤ１１とデータＤ２１とデータＤ３１との送信時間に、圧縮データＤ３２の送信時間を加えた送信合計時間とが同じ時間になったとする。また、圧縮解凍時間ＴＣＥ１Ｘ１よりも、データＤ１１とデータＤ２１とデータＤ３１との送信時間に、圧縮データＤ３２及び圧縮データＤ２２の送信時間を加えた送信合計時間が短い時間になったとして説明する。
（１）圧縮非対象のデータＤ１１とデータＤ２１とデータＤ３１との送信と、圧縮対象のデータＤ１２とデータＤ２２とデータＤ３２との圧縮とが同時に実行される。（２）データＤ３２の圧縮が最初に完了する。圧縮の完了後、圧縮データＤ３２の送信が開始される。完了後、圧縮データＤ３２の解凍が実行される。（３）データＤ２２の圧縮が次に完了する。圧縮の完了後、圧縮データＤ２２の送信が開始される。完了後、圧縮データＤ２２の解凍が実行される。（４）データＤ１２の圧縮が完了する。圧縮の完了後、圧縮データＤ１２転送が開始される。完了後、圧縮データＤ１２の解凍が実行される。（５）その後、残りのデータＤ１１とデータＤ２１とデータＤ３１との送信と、圧縮データＤ１２の解凍とが実行され、データＤ１１とデータＤ２１とデータＤ３１との送信が先に終了する。
【０１０５】
次に、図１９を参照して、転送するデータの種別がｎの場合を説明する。
ここでは、ｎは２以上の整数であるとする。ｎが２の場合には、実施の形態１と同じ状態になる。また、ここでは、各整数ｋについての圧縮解凍時間ＴＣＥｋは、ＴＣＥ１Ｘ１≧ＴＣＥ２Ｘ２≧・・・≧ＴＣＥｎ−１Ｘｎ−１≧ＴＣＥｎＸｎとする。
送信制御部１１１の比率計算部１１４は、ｋ＝１，．．．，ｎ（ｎは２以上の整数）の各整数ｋについて、比率Ｘｋを計算する。そして、送信制御部１１１の分割部１１５は、各整数ｋについて、比率Ｘｋに従い、整数ｋの値毎に種別が異なるデータＤｋを圧縮非対象のデータＤｋ１と圧縮対象のデータＤｋ２とに分割する。
この際、比率計算部１１４は、各整数ｋを対象として、対象の整数ｋについてのデータＤｋ２の圧縮処理時間及び解凍処理時間の合計時間である圧縮解凍時間ＴＣＥｋＸｋと、各整数ｋについてのデータＤｋ１を受信装置２０に送信する送信時間に、対象の整数ｋ以外の整数ｋのうち、データＤｋ２の圧縮解凍時間ＴＣＥｋＸｋが対象の整数ｋよりも短い整数ｋについての圧縮データＤｋ２を受信装置２０に送信する送信時間を加えた送信合計時間とが近い時間になるように、各整数ｋについての比率Ｘｋを計算する。
つまり、比率計算部１１４は、圧縮解凍時間ＴＣＥｎＸｎと、各整数ｋについてのデータＤｋ１の送信時間とが近くなるように、比率Ｘｋを計算する。また、比率計算部１１４は、圧縮解凍時間ＴＣＥｎ−１Ｘｎ−１と、各整数ｋについてのデータＤｋ１の送信時間に、圧縮データＤｎ２の送信時間を加えた送信合計時間とが近い時間になるように、比率Ｘｋを計算する。また、比率計算部１１４は、圧縮解凍時間ＴＣＥｎ−２Ｘｎ−２と、各整数ｋについてのデータＤｋ１の送信時間に、圧縮データＤｎ２及び圧縮データＤｎ−１２の送信時間を加えた送信合計時間とが近い時間になるように、比率Ｘｋを計算する。以下同様にして、比率計算部１１４は、圧縮解凍時間ＴＣＥ１Ｘ１と、各整数ｋについてのデータＤｋ１の送信時間に、ｊ＝ｋ＋１，．．．，ｎの各整数ｊについての圧縮データＤｊ２の送信時間を加えた送信合計時間とが近い時間になるように、比率Ｘｋを計算する。
【０１０６】
実施の形態２に係る比率計算処理（図７のステップＳ１３）を説明する。
実施の形態１では、図１５に示す最適点特定処理において、９本の転送効率直線における２本の転送効率直線の各組合せの交点について、条件１〜条件４のうちのどの条件に該当するかが特定された。特定された条件において総転送時間Ｆ（Ｘ１，Ｘ２）を最小にする比率Ｘ１及び比率Ｘ２が計算された。そして、全ての２本の転送効率直線の組合せのうち、総転送時間Ｆ（Ｘ１，Ｘ２）が最小となった比率Ｘ１及び比率Ｘ２が採用された。
【０１０７】
実施の形態２では、以下に示す複数の転送効率直線におけるｎ本の転送効率直線の各組合せを対象として、対象の組合せを構成するｎ本の転送効率直線を表す式を解いて得られる解が２ｎ！個の条件のうちどの条件に該当するかが特定される。特定された条件において総転送時間Ｆ（Ｘ１，Ｘ２，．．．，Ｘｎ）を最小にする比率Ｘ１，比率Ｘ２，．．．，比率Ｘｎが計算される。そして、全てのｎ本の転送効率直線の各組合せのうち、総転送時間Ｆ（Ｘ１，Ｘ２，．．．，Ｘｎ）が最小となった比率Ｘ１，比率Ｘ２，．．．，比率Ｘｎが採用される。
【０１０８】
なお、実施の形態１では、図１３に示す比率計算処理において、ケース１〜ケース４のうちのケース４に該当する場合にのみ最適点特定処理が実行された。これは、ケース１〜ケース３に該当する場合には、より簡易的な方法により比率Ｘ１及び比率Ｘ２を計算することにより計算量を削減するためであった。ケース１〜ケース４の場合分けはせず、全ての場合に最適点特定処理を実行しても比率Ｘ１及び比率Ｘ２を計算可能である。実施の形態２では、ケース１〜ケース４の場合分けに相当する場合分けは行わない。
【０１０９】
以下の説明において、データＤｋについての転送効率パラメータ１３１は、データサイズＳｋと、圧縮率Ｐｋと、圧縮速度ＶＣｋと、解凍速度ＶＥｋと、転送速度ＶＴｋ１と、転送速度ＶＴｋ２と含む。
また、圧縮解凍時間ＴＣＥｋ＝（１／ＶＣｋ＋１／ＶＥｋ）×Ｓｋである。未圧縮送信時間ＴＴｋ１＝Ｓｋ／ＶＴｋ１である。圧縮送信時間ＴＴｋ２＝Ｐｋ×Ｓｋ／ＶＴｋ２である。
【０１１０】
まず、転送するデータの種別が３つの場合を説明する。
各整数ｋについての圧縮解凍時間ＴＣＥｋは、ＴＣＥ１Ｘ１≧ＴＣＥ２Ｘ２≧ＴＣＥ３Ｘ３とした場合の条件は、以下の条件１及び条件２になる。
（条件１）
（１）０≦Ｘｋ≦１（１≦ｋ≦３），
（２）ＴＣＥ１Ｘ１≧ＴＣＥ２Ｘ２≧ＴＣＥ３Ｘ３，
（３）ＴＣＥ３Ｘ３≦Σ（１≦ｋ≦３）（１−Ｘｋ）ＴＴｋ１，
（４）ＴＣＥ２Ｘ２≦Σ（１≦ｉ≦３）（１−Ｘｉ）ＴＴｉ１＋＋Σ（３≦ｊ≦３）ＸｊＴＴｊ２，
（５）ＴＣＥ１Ｘ１≧Σ（１≦ｉ≦３）（１−Ｘｉ）Ｔｉ１＋Σ（２≦ｉ≦３）Ｘｉ１Ｔｉ２
条件１を満たす（Ｘ１，Ｘ２，・・・，Ｘｎ）の場合には、総転送時間Ｆ（Ｘ１，Ｘ２，Ｘ３）＝（ＴＣＥ１＋ＴＴ１２）Ｘ１である。
【０１１１】
（１）は、比率の範囲であり、当然に満たされる条件である。（２）は、ここでの前提とした条件である。
図１８を参照して説明したように、データＤ３２の圧縮中に送信できるデータは、データＤ１１と、データＤ２１と、データＤ３１とのみである。データＤ１２と、データＤ２２と、データＤ３２とは圧縮中ためである。このことから、データＤ３２の圧縮解凍時間は、データＤ１２と、データＤ２２と、データＤ３２との送信時間より短いか同じとする。これを式にすると、ＴＣＥ３Ｘ３≦（１−Ｘ１）ＴＴ１１＋（１−Ｘ２）ＴＴ２１＋（１−Ｘ３）ＴＴ３１になる。この式を変換すると、（３）ＴＣＥ３Ｘ３≦Σ（１≦ｋ≦３）（１−Ｘｋ）ＴＴｋ１になる。
また、データＤ２２の圧縮中に転送できるデータは、データＤ１２と、データＤ２２と、データＤ３２と、圧縮が完了した圧縮データＤ３２である。このことから、データＤ２２の圧縮解凍時間は、データＤ１２と、データＤ２２と、データＤ３２と、圧縮データＤ２２との送信時間より短いか同じとする。これを式にすると、ＴＣＥ２Ｘ２≦（１−Ｘ１）ＴＴ１１＋（１−Ｘ２）ＴＴ２１＋（１−Ｘ３）ＴＴ３１＋Ｘ３ＴＴ３２になる。この式を変換すると、（４）ＴＣＥ２Ｘ２≦Σ（１≦ｉ≦３）（１−Ｘｉ）ＴＴｉ１＋＋Σ（３≦ｊ≦３）ＸｊＴＴｊ２になる。
一方、データＤ１２の解凍時間が最後に残ることから、データＤ１２の送信時間を除いた全ての送信時間よりもデータＤ１２の圧縮解凍時間の方が長いか同じになる。このことから、ＴＣＥ１Ｘ１≧（１−Ｘ１）ＴＴ１１＋（１−Ｘ２）ＴＴ２１＋（１−Ｘ３）ＴＴ３１＋Ｘ２ＴＴ２２＋Ｘ３ＴＴ３２になる。この式を変換すると、（５）ＴＣＥ１Ｘ１≧Σ（１≦ｉ≦３）（１−Ｘｉ）Ｔｉ１＋Σ（２≦ｉ≦３）Ｘｉ１Ｔｉ２になる。
（３）〜（５）を満たす場合には、総転送時間Ｆ（Ｘ１，Ｘ２，Ｘ３）は、データＤ１２の圧縮解凍時間とデータＤ１２の転送時間との和になるからＦ（Ｘ１，Ｘ２，Ｘ２）＝（ＴＣＥ１＋ＴＴ１２）Ｘ１である。
【０１１２】
（条件２）
（１）０≦Ｘｋ≦１（１≦ｋ≦３），
（２）ＴＣＥ１Ｘ１≧ＴＣＥ２Ｘ２≧ＴＣＥ３Ｘ３，
（３）ＴＣＥ３Ｘ３≦Σ（１≦ｋ≦３）（１−Ｘｋ）ＴＴｋ１，
（４）ＴＣＥ２Ｘ２≦Σ（１≦ｉ≦３）（１−Ｘｉ）ＴＴｉ１＋＋Σ（３≦ｊ≦３）ＸｊＴＴｊ２，
（５）ＴＣＥ１Ｘ１＜Σ（１≦ｉ≦３）（１−Ｘｉ）Ｔｉ１＋Σ（２≦ｉ≦３）Ｘｉ１Ｔｉ２
条件２を満たす（Ｘ１，Ｘ２，・・・，Ｘｎ）の場合には、総転送時間Ｆ（Ｘ１，Ｘ２，Ｘ３）＝Σ（１≦ｉ≦３）（（１−Ｘｉ）Ｔｉ１＋Ｘｉ１Ｔｉ２）である。
【０１１３】
条件２は、条件１の不等号を逆にした条件である。つまり、データＤ１２の解凍が先に終了するという条件である。その他は、条件１と同じである。したがって、総転送時間Ｆ（Ｘ１，Ｘ２，Ｘ３）は、全てのデータの転送時間になるので、総転送時間Ｆ（Ｘ１，Ｘ２，Ｘ３）＝Σ（１≦ｉ≦３）（（１−Ｘｉ）Ｔｉ１＋Ｘｉ１Ｔｉ２）である。
【０１１４】
ここで、条件１，２の前提としていた（２）の条件の並び順は、３個の並び替え分だけ存在する。つまり、３！通り存在する。つまり、条件１及び条件２が３！通り存在するので、全部で２×３！個の条件が存在する。なお、（２）の条件が変わることにより、（３）〜（５）の条件も変わる。
【０１１５】
次に、転送するデータの種別がｎの場合を説明する。
各整数ｋについての圧縮解凍時間ＴＣＥｋは、ＴＣＥ１Ｘ１≧ＴＣＥ２Ｘ２≧・・・≧ＴＣＥｎ−１Ｘｎ−１≧ＴＣＥｎＸｎとした場合の条件は、以下の条件１及び条件２になる。
【０１１６】
（条件１）
（１）０≦Ｘｋ≦１（１≦ｋ≦ｎ），
（２）ＴＣＥ１Ｘ１≧ＴＣＥ２Ｘ２≧ＴＣＥ３Ｘ３・・・≧ＴＣＥｎＸｎ，
（３）ＴＣＥｎＸｎ≦Σ（１≦ｋ≦ｎ）（１−Ｘｋ）ＴＴｋ１，
（４）２≦ｋ≦ｎ−１に対して、ＴＣＥｋＸｋ≦Σ（１≦ｉ≦ｎ）（１−Ｘｉ）ＴＴｉ１＋Σ（ｋ＋１≦ｊ≦ｎ）ＸｊＴＴｊ２，
（５）ＴＣＥ１Ｘ１≧（１−Ｘ１）ＴＴ１１＋Σ（２≦ｉ≦ｎ）（（１−Ｘｉ）ＴＴｉ１＋Ｘｉ１ＴＴｉ２）
条件１を満たす（Ｘ１，Ｘ２，・・・，Ｘｎ）の場合には、総転送時間Ｆ（Ｘ１，Ｘ２，．．．，Ｘｎ）＝（ＴＣＥ１＋ＴＴ１２）Ｘ１である。
【０１１７】
（条件２）
（１）０≦Ｘｋ≦１（１≦ｋ≦ｎ），
（２）ＴＣＥ１Ｘ１≧ＴＣＥ２Ｘ２≧ＴＣＥ３Ｘ３・・・≧ＴＣＥｎＸｎ，
（３）ＴＣＥｎＸｎ≦Σ（１≦ｋ≦ｎ）（１−Ｘｋ）ＴＴｋ１，
（４）２≦ｋ≦ｎ−１に対して、ＴＣＥｋＸｋ≦Σ（１≦ｉ≦ｎ）（１−Ｘｉ）ＴＴｉ１＋Σ（ｋ＋１≦ｊ≦ｎ）ＸｊＴＴｊ２，
（５）ＴＣＥ１Ｘ１＜（１−Ｘ１）ＴＴ１１＋Σ（２≦ｉ≦ｎ）（（１−Ｘｉ）ＴＴｉ１＋Ｘｉ１ＴＴｉ２）
条件２を満たす（Ｘ１，Ｘ２，・・・，Ｘｎ）の場合には、総転送時間Ｆ（Ｘ１，Ｘ２，・・・，Ｘｎ）＝Σ（１≦ｉ≦ｎ）（（１−Ｘｉ）ＴＴｉ１＋Ｘｉ１ＴＴｉ２）である。
【０１１８】
ここで、条件１，２の前提としていた（２）の条件の並び順は、ｎ個の並び替え分だけ存在する。つまり、ｎ！通り存在する。つまり、条件１及び条件２がｎ！通り存在するので、全部で２×ｎ！個の条件が存在する。なお、（２）の条件が変わることにより、（３）〜（５）の条件も変わる。
【０１１９】
転送効率直線は、以下の通りである。
（式１）Ｘｋ＝０（１≦ｋ≦ｎ）
（式２）Ｘｋ＝１（１≦ｋ≦ｎ）
（式３）ＴＣＥｋＸｋ＝ＴＣＥｊＸｊ（１≦ｋ＜ｊ≦ｎ）
（式４）ＴＣＥｋＸｋ＝Σ（１≦ｉ≦Ｎ）（１−Ｘｉ）ＴＴｉ１＋Σｊ∈ＧＸｊＴＴｊ２（１≦ｋ≦ｎ）
なお、Ｇは｛１，２，・・・，ｎ｝の中でｋを含まない部分集合すべて（空集合を含む）。
【０１２０】
転送効率直線は、各条件で指定される領域の境界線を表す直線である。
ｎ＝１の場合には、式１から式４は以下のようになる。
（式１）Ｘ１＝０（条件（１）の境界線）
（式２）Ｘ１＝１（条件（１）の境界線）
（式３）ｎ＝１の場合はなし
（式４）ＴＣＥ１Ｘ１＝（１−Ｘ１）ＴＴ１１
【０１２１】
ｎ＝２の場合には、式１から式４は以下のようになる。
（式１）Ｘ１＝０，Ｘ２＝０（実施の形態１の式１、式２と同じ）
（式２）Ｘ１＝１，Ｘ２＝１（実施の形態１の式３、式４と同じ）
（式３）ＴＣＥ１Ｘ１＝ＴＣＥ２Ｘ２（実施の形態１の式５と同じ）
（式４）Ｇに応じて以下のようになる。
Ｇが空集合の場合には、次のようになる。
ＴＣＥ１Ｘ１＝Σ（１≦ｊ≦２）（１−Ｘｊ）Ｔｊ１（実施の形態１の式７と同じ）
ＴＣＥ２Ｘ２＝Σ（１≦ｊ≦２）（１−Ｘｊ）Ｔｊ１（実施の形態１の式６と同じ）
Ｇの要素が１個の場合には、次のようになる。
ＴＣＥ１Ｘ１＝Σ（１≦ｉ≦２）（１−Ｘｉ）Ｔｉ１＋Ｘ２Ｔ２２（実施の形態１の式８と同じ）
ＴＣＥ２Ｘ２＝Σ（１≦ｉ≦２）（１−Ｘｉ）Ｔｉ１＋Ｘ１Ｔ１２（実施の形態１の式９と同じ）
【０１２２】
ｎ＝３の場合には、式１から式４は以下のようになる。
（式１）Ｘ１＝０，Ｘ２＝０，Ｘ３＝０（条件（１）の境界線）
（式２）Ｘ１＝１，Ｘ２＝１，Ｘ３＝１（条件（１）の境界線）
（式３）ＴＣＥ１Ｘ１＝ＴＣＥ２Ｘ２，ＴＣＥ２Ｘ２＝ＴＣＥ３Ｘ３，ＴＣＥ３Ｘ３＝ＴＣＥ１Ｘ１（条件（２）の境界線）
（式４）Ｇに応じて以下のようになる。
Ｇが空集合の場合には、次のようになる。
ＴＣＥ１Ｘ１＝Σ（１≦ｊ≦３）（１−Ｘｊ）Ｔｊ１（ＴＣＥ１Ｘ１が最小時の条件（３）の境界線）
ＴＣＥ２Ｘ２＝Σ（１≦ｊ≦３）（１−Ｘｊ）Ｔｊ１（ＴＣＥ２Ｘ２が最小時の条件（３）の境界線）
ＴＣＥ３Ｘ３＝Σ（１≦ｊ≦３）（１−Ｘｊ）Ｔｊ１（ＴＣＥ３Ｘ３が最小時の条件（３）の境界線）
Ｇの要素が１個の場合には、次のようになる。
ＴＣＥ１Ｘ１＝Σ（１≦ｉ≦３）（１−Ｘｉ）Ｔｉ１＋Ｘ２Ｔ２２（ＴＣＥ３Ｘ３≧ＴＣＥ１Ｘ１≧ＴＣＥ２Ｘ２のときの条件（４）の境界線）
ＴＣＥ１Ｘ１＝Σ（１≦ｉ≦３）（１−Ｘｉ）Ｔｉ１＋Ｘ３Ｔ３２（ＴＣＥ２Ｘ２≧ＴＣＥ１Ｘ１≧ＴＣＥ３Ｘ３のときの条件（４）の境界線）
ＴＣＥ２Ｘ２＝Σ（１≦ｉ≦３）（１−Ｘｉ）Ｔｉ１＋Ｘ３Ｔ３２（ＴＣＥ１Ｘ１≧ＴＣＥ２Ｘ２≧ＴＣＥ３Ｘ３のときの条件（４）の境界線）
ＴＣＥ２Ｘ２＝Σ（１≦ｉ≦３）（１−Ｘｉ）Ｔｉ１＋Ｘ１Ｔ１２（ＴＣＥ３Ｘ３≧ＴＣＥ２Ｘ２≧ＴＣＥ１Ｘ１のときの条件（４）の境界線）
ＴＣＥ３Ｘ３＝Σ（１≦ｉ≦３）（１−Ｘｉ）Ｔｉ１＋Ｘ１Ｔ１２（ＴＣＥ２Ｘ２≧ＴＣＥ３Ｘ３≧ＴＣＥ１Ｘ１のときの条件（４）の境界線）
ＴＣＥ３Ｘ３＝Σ（１≦ｉ≦３）（１−Ｘｉ）Ｔｉ１＋Ｘ２Ｔ２２（ＴＣＥ１Ｘ１≧ＴＣＥ３Ｘ３≧ＴＣＥ２Ｘ２のときの条件（４）の境界線）
Ｇの要素が２個の場合には、次のようになる。
ＴＣＥ１Ｘ１＝Σ（１≦ｉ≦３）（１−Ｘｉ）Ｔｉ１＋Ｘ２Ｔ２２＋Ｘ３Ｔ３２（ＴＣＥ１Ｘ１が最大時の条件（５）の境界線）
ＴＣＥ２Ｘ２＝Σ（１≦ｉ≦３）（１−Ｘｉ）Ｔｉ１＋Ｘ３Ｔ３２＋Ｘ１Ｔ１２（ＴＣＥ２Ｘ２が最大時の条件（５）の境界線）
ＴＣＥ３Ｘ３＝Σ（１≦ｉ≦３）（１−Ｘｉ）Ｔｉ１＋Ｘ１Ｔ１２＋Ｘ２Ｔ２２（ＴＣＥ３Ｘ３が最大時の条件（５）の境界線）
【０１２３】
以上のように、転送するデータの種別が３つ以上の場合に拡張することが可能である。つまり、転送するデータの種別が３つ以上の場合にも、データの転送時間を短くできるようにすることが可能である。
【符号の説明】
【０１２４】
１０  送信装置、１１  プロセッサ、１２  メモリ、１３  ストレージ、１４  通信インタフェース、１１１  送信制御部、１１２  圧縮部、１１３  送信部、１１４  比率計算部、１１５  分割部、１３１  転送効率パラメータ、２０  受信装置、２１  プロセッサ、２２  メモリ、２３  ストレージ、２４  通信インタフェース、２１１  受信部、２１２  解凍部、２１３  受信制御部、３０  伝送路、１００  転送システム。
【図１】
2020127156.tif 000003
【図２】
2020127156.tif 000004
【図３】
2020127156.tif 000005
【図４】
2020127156.tif 000006
【図５】
2020127156.tif 000007
【図６】
2020127156.tif 000008
【図７】
2020127156.tif 000009
【図８】
2020127156.tif 000010
【図９】
2020127156.tif 000011
【図１０】
2020127156.tif 000012
【図１１】
2020127156.tif 000013
【図１２】
2020127156.tif 000014
【図１３】
2020127156.tif 000015
【図１４】
2020127156.tif 000016
【図１５】
2020127156.tif 000017
【図１６】
2020127156.tif 000018
【図１７】
2020127156.tif 000019
【図１８】
2020127156.tif 000020
【図１９】
2020127156.tif 000021