(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-10
(45)【発行日】2024-06-18
(54)【発明の名称】データ転送装置およびプログラム
(51)【国際特許分類】
H04L 47/76 20220101AFI20240611BHJP
【FI】
H04L47/76
(21)【出願番号】P 2020143069
(22)【出願日】2020-08-27
【審査請求日】2023-03-31
(73)【特許権者】
【識別番号】304020498
【氏名又は名称】サクサ株式会社
(74)【代理人】
【識別番号】110004222
【氏名又は名称】弁理士法人創光国際特許事務所
(74)【代理人】
【識別番号】100166006
【氏名又は名称】泉 通博
(74)【代理人】
【識別番号】100154070
【氏名又は名称】久恒 京範
(74)【代理人】
【識別番号】100153280
【氏名又は名称】寺川 賢祐
(72)【発明者】
【氏名】相馬 真樹
(72)【発明者】
【氏名】水野 茂穂
(72)【発明者】
【氏名】中山 博章
【審査官】宮島 郁美
(56)【参考文献】
【文献】特開2014-112779(JP,A)
【文献】特開2013-026986(JP,A)
【文献】国際公開第2018/180369(WO,A1)
【文献】米国特許出願公開第2018/0167266(US,A1)
【文献】特表2017-528053(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L12/00-12/66,13/00,41/00-49/9057,61/00-65/80,69/00-69/40
(57)【特許請求の範囲】
【請求項1】
データ生成デバイスが生成したデータを受信するデータ受信部と、
前記データを一時的に蓄積する受信バッファと、
前記受信バッファに蓄積された前記データの量であるデータ蓄積量を監視する受信バッファ監視部と、
前記データを外部装置に送信するデータ送信部と、
前記データ送信部が前記外部装置に前記データを送信する伝送路の伝送速度を監視する伝送速度監視部と、
前記受信バッファ監視部が特定した前記データ蓄積量が閾値量以上であり、かつ前記伝送速度監視部が特定した前記伝送速度が閾値速度以下である
という条件が満たされる場合に、
前記データを前記外部装置に送信するために生成するパケットの数を前記伝送速度が前記閾値速度より大きい場合に生成するパケットの数よりも低減させ、前記伝送速度が前記閾値速度より大きい状態で前記データ送信部が送信したパケットに含まれている前記データよりも多くの前記データを含むパケットを前記データ送信部に送信させる送信制御部と、
を有するデータ転送装置。
【請求項2】
データ生成デバイスが生成したデータを受信するデータ受信部と、
前記データを一時的に蓄積する受信バッファと、
前記受信バッファに蓄積された前記データの量であるデータ蓄積量を監視する受信バッファ監視部と、
前記データを外部装置に送信するデータ送信部と、
前記データ送信部が前記外部装置に前記データを送信する伝送路の伝送速度を監視する伝送速度監視部と、
前記受信バッファ監視部が特定した前記データ蓄積量が閾値量以上であり、かつ前記伝送速度監視部が特定した前記伝送速度が閾値速度以下である
という条件が満たされる場合に、前記伝送速度が前記閾値速度より大きい状態で前記データ送信部が送信したパケットに含まれている前記データよりも多くの前記データを含むパケットを前記データ送信部に送信させる送信制御部と、
を有
し、
前記データ受信部は、複数の前記データ生成デバイスから前記データを受信し、
前記データ送信部は、複数の前記データ生成デバイスのうちの一つのデータ生成デバイスから前記データ受信部が受信した前記データを含み、他のデータ生成デバイスから前記データ受信部が受信した前記データを含まない前記パケットを送信する、
データ転送装置。
【請求項3】
前記受信バッファは、複数の前記データ生成デバイスそれぞれに対応する複数のバッファ領域を有し、
前記受信バッファ監視部は、前記複数のバッファ領域それぞれの前記データ蓄積量を特定し、
前記送信制御部は、前記データ蓄積量が前記閾値量以上の前記バッファ領域に対応する前記データを含む前記パケットを優先的に前記データ送信部に送信させる、
請求項
2に記載のデータ転送装置。
【請求項4】
前記送信制御部は、前記データ蓄積量が第1量である場合に、前記データ蓄積量が前記第1量よりも少ない第2量であった場合に前記データ送信部が送信したパケットに含まれている前記データよりも多くの前記データを含む前記パケットを前記データ送信部に送信させる、
請求項1
から3のいずれか一項に記載のデータ転送装置。
【請求項5】
前記伝送速度監視部は、前記送信制御部が前記データ送信部に前記パケットの送信を指示してから、前記データ送信部が前記外部装置から前記パケットを受信したことを示す応答データを受信するまでの間の時間と前記パケットに含まれる前記データの量とに基づいて前記伝送速度を特定する、
請求項1
から4のいずれか一項に記載のデータ転送装置。
【請求項6】
コンピュータを、
データ生成デバイスが生成したデータを受信するデータ受信部、
前記データを一時的に蓄積する受信バッファに蓄積された前記データの量であるデータ蓄積量を監視する受信バッファ監視部、
前記データを外部装置に送信するデータ送信部、
前記データ送信部が前記外部装置に前記データを送信する伝送路の伝送速度を監視する伝送速度監視部、及び
前記受信バッファ監視部が特定した前記データ蓄積量が閾値量以上であり、かつ前記伝送速度監視部が特定した前記伝送速度が閾値速度以下である
という条件が満たされる場合に、
前記データを前記外部装置に送信するために生成するパケットの数を前記伝送速度が前記閾値速度より大きい場合に生成するパケットの数よりも低減させ、前記伝送速度が前記閾値速度より大きい状態で前記データ送信部が送信したパケットに含まれている前記データよりも多くの前記データを含むパケットを前記データ送信部に送信させる送信制御部、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ転送装置およびプログラムに関する。
【背景技術】
【0002】
センサ装置等のデータ生成デバイスが生成するデータを収集し、ネットワークに接続されているサーバ装置等へ送信するIoT(Internet of Things)システムが知られている(例えば、特許文献1を参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
このようなシステムは、データ生成デバイスが生成するデータを一時的にゲートウェイ等のバッファメモリに記憶してから、外部のサーバ等へと送信していた。しかしながら、外部と接続されているネットワークには、必ずしも高速なネットワークが用いられているわけではないので、予測ができないトラフィックの増加等が生じてしまうと、送信すべきデータの量がバッファメモリの容量を超えてしまい、データの損失等が発生してしまうことがあった。
【0005】
そこで、本発明はこれらの点に鑑みてなされたものであり、接続しているネットワーク回線の状態に対応して送信データ量を適切に調節し、送信データの伝送効率を向上させるようにすることを目的とする。
【課題を解決するための手段】
【0006】
本発明の第1の態様においては、データ生成デバイスが生成したデータを受信するデータ受信部と、前記データを一時的に蓄積する受信バッファと、前記受信バッファに蓄積された前記データの量であるデータ蓄積量を監視する受信バッファ監視部と、前記データを外部装置に送信するデータ送信部と、前記データ送信部が前記外部装置に前記データを送信する伝送路の伝送速度を監視する伝送速度監視部と、前記受信バッファ監視部が特定した前記データ蓄積量が閾値量以上であり、かつ前記伝送速度監視部が特定した前記伝送速度が閾値速度以下である場合に、前記伝送速度が前記閾値速度より大きい状態で前記データ送信部が送信したパケットに含まれている前記データよりも多くの前記データを含むパケットを前記データ送信部に送信させる送信制御部と、を有するデータ転送装置を提供する。
【0007】
前記送信制御部は、前記データ蓄積量が第1量である場合に、前記データ蓄積量が前記第1量よりも少ない第2量であった場合に前記データ送信部が送信したパケットに含まれている前記データよりも多くの前記データを含む前記パケットを前記データ送信部に送信させてもよい。
【0008】
前記伝送速度監視部は、前記送信制御部が前記データ送信部に前記パケットの送信を指示してから、前記データ送信部が前記外部装置から前記パケットを受信したことを示す応答データを受信するまでの間の時間と前記パケットに含まれる前記データの量とに基づいて前記伝送速度を特定してもよい。
【0009】
前記データ受信部は、複数の前記データ生成デバイスから前記データを受信し、前記データ送信部は、複数の前記データ生成デバイスのうちの一つのデータ生成デバイスから前記データ受信部が受信した前記データを含み、他のデータ生成デバイスから前記データ受信部が受信した前記データを含まない前記パケットを送信してもよい。
【0010】
前記受信バッファは、複数の前記データ生成デバイスそれぞれに対応する複数のバッファ領域を有し、前記受信バッファ監視部は、前記複数のバッファ領域それぞれの前記データ蓄積量を特定し、前記送信制御部は、前記データ蓄積量が前記閾値量以上の前記バッファ領域に対応する前記データを含む前記パケットを優先的に前記データ送信部に送信させてもよい。
【0011】
本発明の第2の態様においては、コンピュータを、データ生成デバイスが生成したデータを受信するデータ受信部、前記データを一時的に蓄積する受信バッファに蓄積された前記データの量であるデータ蓄積量を監視する受信バッファ監視部、前記データを外部装置に送信するデータ送信部、前記データ送信部が前記外部装置に前記データを送信する伝送路の伝送速度を監視する伝送速度監視部、及び前記受信バッファ監視部が特定した前記データ蓄積量が閾値量以上であり、かつ前記伝送速度監視部が特定した前記伝送速度が閾値速度以下である場合に、前記伝送速度が前記閾値速度より大きい状態で前記データ送信部が送信したパケットに含まれている前記データよりも多くの前記データを含むパケットを前記データ送信部に送信させる送信制御部、として機能させるためのプログラムを提供する。
【発明の効果】
【0012】
本発明によれば、接続しているネットワーク回線の状態に対応して送信データ量を適切に調節し、送信データの伝送効率を向上できるという効果を奏する。
【図面の簡単な説明】
【0013】
【
図1】本実施形態に係るデータ転送システム10の構成例を示す。
【
図2】本実施形態に係るデータ転送装置100の構成例を示す。
【
図3】本実施形態に係るデータ転送装置100の動作フローの一例を示す。
【発明を実施するための形態】
【0014】
<データ転送システム10の構成例>
図1は、本実施形態に係るデータ転送システム10の構成例を示す。データ転送システム10は、データ生成デバイス20およびデータ転送装置100を備える。データ転送システム10は、データ生成デバイス20が生成したデータを、ネットワーク30を介して外部装置40へと送信する。
【0015】
データ生成デバイス20は、データを生成する。データ生成デバイス20は、例えば、計測対象を計測して電気信号に変換するセンサである。センサは、例えば、速度、加速度、圧力、ひずみ、トルク、振動、熱、光、放射線、電流、電圧、電力、磁気、時間、位置、距離等を計測するセンサである。また、センサは、画像、音声、匂い、生体活動等を検出するセンサであってもよい。
【0016】
外部装置40は、サーバ、データベース等である。外部装置40は、データ生成デバイス20が生成したデータを格納する。外部装置40は、データ転送装置100とネットワーク30で接続されている。ネットワーク30は、例えば、インターネット、LAN等である。
【0017】
データ転送装置100は、データ生成デバイス20が生成したデータを収集して、外部装置40に送信する。データ転送装置100は、例えば、ゲートウェイ装置として機能する。データ転送装置100と外部装置40とを接続するネットワーク30の少なくとも一部には、低速な装置、回線等が含まれていることがある。例えば、ネットワーク30の一部が3G回線、LPWA回線等の低速な回線を含んでいる場合がある。
【0018】
この場合、予想ができないトラフィックの増加、データ受信完了までの検知の遅延等が発生してしまうことがあり、データ転送装置100の送信データの伝送効率が低下することがあった。データ転送装置100の伝送効率が低下すると、送信すべきデータの量がデータ転送装置100内部のバッファメモリの容量を超えてしまい、データの損失等が発生してしまうことがあった。そこで、本実施形態に係るデータ転送装置100は、データ転送装置100と外部装置40との間のネットワーク30のトラフィックの状態等に対応して、送信データ量を適切に調節し、送信データの伝送効率を向上させる。このようなデータ転送装置100について次に説明する。
【0019】
<データ転送装置100の構成例>
図2は、本実施形態に係るデータ転送装置100の構成例を示す。データ転送装置100は、データ受信部110と、受信バッファ120と、受信バッファ監視部130と、データ送信部140と、伝送速度監視部150と、送信制御部160とを備える。
【0020】
データ受信部110は、データ生成デバイス20が生成したデータを受信する。データ受信部110は、複数のデータ生成デバイス20が生成したデータをそれぞれ受信してもよい。
【0021】
受信バッファ120は、データ受信部110が受信したデータを一時的に蓄積する。受信バッファ120は、受信したデータとデータを生成したデータ生成デバイス20とを対応づけて蓄積することが望ましい。受信バッファ120は、例えば、FIFO、RAM等である。
【0022】
受信バッファ監視部130は、受信バッファ120に蓄積されたデータの量であるデータ蓄積量を監視する。受信バッファ監視部130は、監視したデータ蓄積量の情報を送信制御部160に通知する。また、受信バッファ監視部130は、データ蓄積量が受信バッファ120の容量と等しくなった場合、予め登録されている通知先にバッファの飽和を通知してもよい。
【0023】
データ送信部140は、受信バッファ120に蓄積されたデータを外部装置40に送信する。データ送信部140は、例えば、予め定められたデータ量のデータとヘッダ情報とを含むパケットごとに、受信バッファ120に蓄積されたデータを外部装置40に送信する。ヘッダ情報には、データを生成したデータ生成デバイス20の情報が含まれていることが望ましい。データ送信部140は、送信制御部160の指示に対応してデータを外部装置40に送信する。
【0024】
伝送速度監視部150は、データ送信部140が外部装置40にデータを送信する伝送路の伝送速度を監視する。伝送速度監視部150は、例えば、送信制御部160がデータ送信部140にパケットの送信を指示してから、データ送信部140が外部装置40からパケットを受信したことを示す応答データを受信するまでの間の時間とパケットに含まれるデータの量とに基づいて伝送速度を特定する。伝送速度監視部150は、一例として、データ送信部140から外部装置40へと送信された単位時間あたりのデータ量を伝送速度とする。
【0025】
伝送速度監視部150は、特定した伝送速度の情報を送信制御部160に通知する。また、伝送速度監視部150は、伝送速度が予め定められた最低速度を下回った場合、予め登録されている通知先にネットワーク30の異常を通知してもよい。
【0026】
送信制御部160は、受信バッファ監視部130が特定したデータ蓄積量と伝送速度監視部150が特定した伝送速度とに基づき、データ送信部140が送信するデータ量を変更する。送信制御部160は、受信バッファ120のデータ蓄積量が一定の量を超え、また、データ送信部140の伝送速度が一定の速度以下となる状態が継続して、受信バッファ120のデータ蓄積量が受信バッファ120の容量を超えてしまうことを抑制する。
【0027】
送信制御部160は、例えば、受信バッファ監視部130が特定したデータ蓄積量が閾値量以上であり、かつ伝送速度監視部150が特定した伝送速度が閾値速度以下である場合に、伝送速度が閾値速度より大きい状態でデータ送信部140が送信したパケットに含まれているデータよりも多くのデータを含むパケットをデータ送信部140に送信させる。閾値量は、受信バッファ120の容量に基づいて定められる。閾値量は、例えば、受信バッファ120の容量の50%から90%の範囲で定められる。
【0028】
これに代えて、閾値量は、例えば、データ送信部140が1つのパケットに含めることができる最大データ量であってもよい。閾値量は、直前に送信されたパケットのデータ長であってもよい。このように閾値量が定められていることで、送信すべきデータが少ない状態でパケットが送信されることを防げるので、伝送効率の低下を抑制することができる。
【0029】
閾値速度は、例えば各データ生成デバイス20が単位時間に発生するデータの量、及びデータ転送装置100がデータを受信するデータ生成デバイス20の数に基づいて定められている。データ送信部140は、各データ生成デバイス20が単位時間に発生するデータの量とデータ生成デバイス20の数とを乗算した値が大きければ大きいほど、データ送信部140の伝送効率を上げるために閾値速度を大きくしてもよい。これに代えて、閾値速度は、ネットワークの規格等に基づいて定められてもよい。閾値速度は、例えば、想定されるネットワークの規格の伝送速度の1%から20%の範囲で定められる。
【0030】
送信制御部160は、1つのパケットに含まれるデータ量を増加させることにより、同一のデータ量のデータを外部装置40に送信するために生成するパケットの数を低減させる。これにより、低減させたパケットの数だけパケットに含まれるヘッダ情報を削減できるので、データ送信部140が送信すべきパケットのデータ量の合計を低減できる。また、外部装置40からデータ送信部140へと応答データを送信する回数も低減させたパケットの数だけ削減できるので、データ送信部140が応答データを待機する時間を低減することができる。これにより、データ送信部140の伝送効率を向上させることができる。
【0031】
以上のように、データ転送装置100は、接続されているネットワーク30のトラフィックの状態と受信バッファ120のデータ蓄積量とを監視し、監視した結果に基づいて1つのパケットに含まれるデータ量を調節する。これにより、データ転送装置100は、ネットワーク30の状態が変化しても、データ送信部140の伝送速度の低減を抑制して受信バッファ120におけるデータ蓄積量の飽和を抑制できる。
【0032】
なお、送信制御部160は、受信バッファ120のデータ蓄積量が多いほど、1つのパケットに含まれるデータ量を増加させてもよい。送信制御部160は、例えば、データ蓄積量が第1量である場合に、データ蓄積量が第1量よりも少ない第2量であった場合にデータ送信部が送信したパケットに含まれているデータよりも多くのデータを含むパケットをデータ送信部140に送信させる。このようなデータ転送装置100の動作について次に説明する。
【0033】
<データ転送装置100の動作フローの一例>
図3は、本実施形態に係るデータ転送装置100の動作フローの一例を示す。データ転送装置100は、
図3のS310からS390の動作を実行することにより、データ生成デバイス20からデータを収集して、外部装置40に送信する。
【0034】
まず、データ受信部110は、データ生成デバイス20が生成したデータの受信を開始する(S310)。そして、受信バッファ120は、データ受信部110が受信したデータを蓄積する(S320)。次に、受信バッファ監視部130は、受信バッファ120のデータ蓄積量の監視を開始する。受信バッファ監視部130は、一定の時間間隔で受信バッファ120にアクセスしてデータ蓄積量を特定してもよく、これに代えて、受信バッファ120がデータを蓄積したことに応じて受信バッファ120にアクセスしてデータ蓄積量を特定してもよい。
【0035】
次に、送信制御部160は、データ送信部140から外部装置40へのデータの送信を開始させる(S330)。データ送信部140は、送信制御部160の指示に対応して、予め定められたデータ量を含むパケット単位で受信バッファ120に蓄積されたデータを外部装置40に送信する。伝送速度監視部150は、データ送信部140の伝送速度の監視を開始する。伝送速度監視部150は、例えば、一定の時間間隔で伝送速度を監視する。
【0036】
データ受信部110によるデータの受信と、受信バッファ120によるデータの蓄積とは、動作が開始した後は継続して実行される。例えば、データ受信部110は、データ生成デバイス20によるデータの送信が終了するまで継続してデータを受信し、受信バッファ120は、データ受信部110が受信したデータを蓄積する。データ受信部110は、略一定の間隔でデータ生成デバイス20からデータを受信することが好ましい。
【0037】
同様に、データ送信部140によるデータの送信は、動作が開始した後は継続して実行される。例えば、データ送信部140は、外部装置40からパケットを受信したことを示す応答信号を受信したことに応じて、次のパケットを送信する。そして、データ送信部140は、受信バッファ120に蓄積されたデータがなくなるまで継続してデータを送信する。
【0038】
このような動作が継続している間に、送信制御部160は、データ蓄積量が閾値量以上になっているか否か、伝送速度が閾値速度以下となっているか否かを確認する(S340)。
図3において、データ蓄積量をD、閾値をThD、伝送速度をV、閾値速度をThVとした。ネットワーク30のトラフィックが悪化していない場合、データ送信部140は、外部装置40へのパケット送信を順次実行できる。この場合、伝送速度監視部150が特定した伝送速度は閾値速度を超え、受信バッファ監視部130が特定したデータ蓄積量は閾値量未満となり(S340:No)、S390に進む。
【0039】
一方、ネットワーク30のトラフィックが悪化してしまった場合、データ送信部140による外部装置40へのパケット送信が停滞してしまうことがある。このようなパケット送信の停滞が継続した場合、伝送速度監視部150が特定した伝送速度が閾値速度以下となり、受信バッファ監視部130が特定したデータ蓄積量が閾値量以上となる(S340:Yes)。
【0040】
そして、パケットに含まれているデータ量をまだ一度も増加させていない場合(S350:Yes)、送信制御部160は、データ送信部140が送信したパケットに含まれているデータよりも多くのデータを含むパケットをデータ送信部140に送信させる(S360)。送信制御部160は、例えば、データ送信部140が送信するパケットに含まれるデータ量を予め定められたデータ量だけ増加させる。これに代えて、送信制御部160は、パケットに含まれるデータ量を、受信バッファ120のデータ蓄積量と閾値量との差分に比例するデータ量だけ増加させてもよい。この場合、送信制御部160は、予め定められた係数を比例係数として用いる。
【0041】
送信制御部160は、パケットに含まれているデータ量を既に増加させている場合(S350:No)、伝送速度監視部150が特定した前回の伝送速度と今回の伝送速度との速度変化を確認する(S370)。送信制御部160は、速度変化が第1閾値以下の場合(S370:Yes)、パケットに含まれるデータ量を更に増加させる(S380)。
図3において、速度変化をΔV、第1閾値をThdV1とした。このように、送信制御部160は、データ送信部140の伝送速度が一定の速度以上に向上するまで、パケットに含まれるデータ量を増加させる。
【0042】
送信制御部160は、速度変化が第1閾値を超えて向上した場合(S370:No)、パケットのデータ量を調節しない。送信制御部160は、データ送信部140の伝送速度が一定の速度以上に向上した場合、パケットに含まれるデータ量を一定に保ってデータ送信部140の送信動作を継続させる。
【0043】
なお、送信制御部160は、速度変化が第1閾値よりも大きい第2閾値を超えて向上した場合、パケットのデータ量を減少させてもよい。例えば、悪化していたネットワークのトラフィックが元に戻りつつある場合、伝送速度監視部150が特定した伝送速度が大きく向上することがある。この場合、送信制御部160は、一例として、パケットに含まれるデータ量を元のデータ量に戻すように減少させる。
【0044】
送信制御部160は、データ送信部140のデータ送信を継続させる場合(S390:Yes)、S340に戻る。送信制御部160は、例えば、受信バッファ120にデータが一定のデータ量を超えて蓄積されている場合、データ送信部140のデータ送信を継続させる。このように、送信制御部160は、受信バッファ監視部130が特定したデータ蓄積量がほとんどなくなるまでS340からS390の動作を繰り返して、データ送信部140のデータ送信を継続させてよい。
【0045】
送信制御部160は、ユーザから動作停止の指示を受け付けた場合、受信バッファ120のデータ蓄積量がほとんどなくなった場合等に、データ送信部140のデータ送信動作を停止する(S390:No)。また、送信制御部160は、受信バッファ120のデータ蓄積量が飽和した場合に、データ送信部140のデータ送信動作を停止してもよい。この場合、受信バッファ監視部130は、予め登録されている通知先にデータの飽和を通知することが望ましい。
【0046】
以上のように、本実施形態に係るデータ転送装置100は、データ送信部140の伝送速度を監視することにより、ネットワーク30のトラフィックの状態をほぼリアルタイムで把握する。そして、データ転送装置100は、トラフィックの状態と受信バッファ120のデータ蓄積量とに対応して、パケットに含まれるデータの量を適切に調節する。これにより、データ転送装置100は、トラフィックの状態が悪化しても、受信バッファ120のデータ蓄積量の飽和を抑制しつつ、受信バッファ120に蓄積されたデータを外部装置40に送信できる。
【0047】
なお、
図3で説明した動作フローにおいて、送信制御部160は、伝送速度が向上するまでパケットのデータ量を増加させる例を説明した。ここで、データ転送装置100に接続されているネットワーク30には、様々な装置等が含まれていることが多い。例えば、転送可能なデータサイズが予め定められているスイッチ装置、転送可能なデータサイズが規格化されているネットワーク等が含まれていることがある。この場合、送信制御部160がパケットのデータ量を転送可能なデータサイズよりも大きなデータ量に増加させると、転送エラーを発生させてしまうことがある。
【0048】
そこで、送信制御部160は、例えば、S360およびS380においてデータ量を増加させたパケットをデータ送信部140に送信させた場合、一定の期間だけ待機して、伝送速度監視部150が特定した伝送速度が低減するか否かを確認してもよい。そして、送信制御部160は、過去の伝送速度の変化が増加の傾向にあり、かつ、パケットのデータ量を増加させた後に伝送速度が低減した場合、直前に増加したデータ量だけパケットのデータ量を低減させる。
【0049】
ここで、送信制御部160は、データ量を低減させデータ量を、パケットの最大サイズとして定めてよく、以降の処理においては、パケットのデータ量が最大サイズを超えないようにすることが望ましい。これにより、送信制御部160は、ネットワーク30によって定められている転送可能なデータサイズを把握することができ、また、転送可能なデータサイズの範囲でパケットのデータ量を増加させてデータ送信部140の送信効率を向上させることができる。
【0050】
以上の本実施形態に係るデータ転送装置100は、1または複数のデータ生成デバイス20が生成したデータを受信する例を説明した。ここで、データ転送装置100が複数のデータ生成デバイス20からデータをそれぞれ受信する場合、データ転送装置100は、データ生成デバイス20に対応するデータごとに送信の処理を実行してもよい。
【0051】
例えば、受信バッファ120は、複数のデータ生成デバイス20のそれぞれに対応する複数のバッファ領域を有し、データ生成デバイス20が生成したデータを対応するバッファ領域にそれぞれ蓄積する。この場合、受信バッファ監視部130は、複数のバッファ領域それぞれのデータ蓄積量を特定することが望ましい。
【0052】
また、データ送信部140は、データ生成デバイス20に対応するデータごとにパケットを生成して送信することが望ましい。例えば、データ送信部140は、複数のデータ生成デバイス20のうちの一つのデータ生成デバイス20からデータ受信部110が受信したデータを含み、他のデータ生成デバイス20からデータ受信部110が受信したデータを含まないパケットを送信する。このようなパケットを受信した外部装置40は、データ生成デバイス20ごとにパケットを収集して、データ生成デバイス20に対応するデータを複数のパケットから容易に再構成することができる。
【0053】
また、送信制御部160は、データ蓄積量が閾値量以上のバッファ領域に対応するデータを含むパケットを優先的にデータ送信部140に送信させてもよい。このように、複数のデータ生成デバイス20に対応するバッファ領域のうち、データ蓄積量が閾値量以上となったバッファ領域のデータを優先的に外部装置40へと送信することにより、受信バッファ120のデータ蓄積量を効率的に低減できる。
【0054】
また、例えば、複数のデータ生成デバイス20が生成する単位時間当たりのデータ量は、それぞれ異なる場合がある。この場合、受信バッファ120が有する複数のバッファ領域の容量は、データ生成デバイス20が生成する単位時間当たりのデータ量にそれぞれ対応した容量とすることが望ましい。これにより、特定のデータ生成デバイス20が生成する単位時間当たりのデータ量が他のデータ生成デバイス20よりも多くても、複数のバッファ領域のうち特定のバッファ領域が飽和しやすくなってしまうことを抑制できる。
【0055】
なお、本実施形態に係るデータ受信部110、受信バッファ監視部130、データ送信部140、伝送速度監視部150、および送信制御部160の少なくとも一部は、コンピュータによって構成されていることが望ましい。この場合、送信制御部160は、記憶部を有する。記憶部は、例えば、コンピュータがデータ受信部110、受信バッファ監視部130、データ送信部140、伝送速度監視部150、および送信制御部160として機能するためのOS(Operating System)、およびプログラムの情報を格納してもよい。また、記憶部は、当該プログラムの実行時に参照されるデータベースを含む種々の情報を格納してもよい。例えば、コンピュータは、記憶部に記憶されたプログラムを実行することによって、データ受信部110、受信バッファ監視部130、データ送信部140、伝送速度監視部150、および送信制御部160として機能する。
【0056】
記憶部は、例えば、コンピュータ等のBIOS(Basic Input Output System)等を格納するROM(Read Only Memory)、および作業領域となるRAM(Random Access Memory)を含む。また、記憶部は、HDD(Hard Disk Drive)および/またはSSD(Solid State Drive)等の大容量記憶装置を含んでもよい。また、コンピュータは、GPU(Graphics Processing Unit)等を更に備えてもよい。
【0057】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されず、その要旨の範囲内で種々の変形及び変更が可能である。例えば、装置の全部又は一部は、任意の単位で機能的又は物理的に分散・統合して構成することができる。また、複数の実施の形態の任意の組み合わせによって生じる新たな実施の形態も、本発明の実施の形態に含まれる。組み合わせによって生じる新たな実施の形態の効果は、もとの実施の形態の効果を併せ持つ。
【符号の説明】
【0058】
10 データ転送システム
20 データ生成デバイス
30 ネットワーク
40 外部装置
100 データ転送装置
110 データ受信部
120 受信バッファ
130 受信バッファ監視部
140 データ送信部
150 伝送速度監視部
160 送信制御部