JP6738306B2 - Data transfer device and data transfer method - Google Patents

Data transfer device and data transfer method Download PDF

Info

Publication number
JP6738306B2
JP6738306B2 JP2017144723A JP2017144723A JP6738306B2 JP 6738306 B2 JP6738306 B2 JP 6738306B2 JP 2017144723 A JP2017144723 A JP 2017144723A JP 2017144723 A JP2017144723 A JP 2017144723A JP 6738306 B2 JP6738306 B2 JP 6738306B2
Authority
JP
Japan
Prior art keywords
data
source
protocol
fragment
header information
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
JP2017144723A
Other languages
Japanese (ja)
Other versions
JP2019029728A (en
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2017144723A priority Critical patent/JP6738306B2/en
Publication of JP2019029728A publication Critical patent/JP2019029728A/en
Application granted granted Critical
Publication of JP6738306B2 publication Critical patent/JP6738306B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、データ転送装置及びデータ転送方法に関する。 The present invention relates to a data transfer device and a data transfer method.

デバイスの高度化によって、音声や映像等のデータストリームを送信する利用形態が増加している。 Due to the sophistication of devices, the usage of transmitting data streams such as audio and video is increasing.

音声や映像等のデータストリームをリアルタイムに送信するためのプロトコルやフレームワークとして、RTP(Real Time Protocol)、RTSP(Real Time Streaming Protocol)、WebRTC(Web Real-Time Communication)等が存在する。このようなプロトコルでは、データはフラグメント化されて送信される。 There are RTP (Real Time Protocol), RTSP (Real Time Streaming Protocol), WebRTC (Web Real-Time Communication), etc. as protocols and frameworks for transmitting data streams such as voice and video in real time. In such protocols, the data is fragmented and transmitted.

一方、利便性の観点から、HTTP(Hypertext Transfer Protocol)、MQTT(Message Queue Telemetry Transport)、ROS(Robot Operating System)等のプロトコルやフレームワークも用いられている。 On the other hand, from the viewpoint of convenience, protocols and frameworks such as HTTP (Hypertext Transfer Protocol), MQTT (Message Queue Telemetry Transport), and ROS (Robot Operating System) are also used.

例えば、HTTP1.1では、ストリーム的にデータを送信するために、Content-type:multipartを用いることができる。図1に、HTTP1.1においてContent-type:multipartを用いる場合のシーケンスを示す。この方式では、クライアントからの1つのリクエストに対して、サーバは複数のリソース(例えば、複数の映像フレーム)を特定のバウンダリー(boundary)を用いて表現し、各バウンダリーの最初にデータ長(Content-length)を指定して複数のリソースのデータを連続的に送信することができる(非特許文献1及び2参照)。 For example, in HTTP1.1, Content-type:multipart can be used to send data in a stream. Figure 1 shows the sequence when using Content-type:multipart in HTTP1.1. In this method, in response to one request from the client, the server represents a plurality of resources (for example, a plurality of video frames) by using a specific boundary, and the data length (Content- (length) can be specified to continuously transmit data of a plurality of resources (see Non-Patent Documents 1 and 2).

RFC 1341, "MIME (Multipurpose Internet Mail Extensions): Mechanism for Specifying and Describing the Format of Internet Message Bodies", June 1992RFC 1341, "MIME (Multipurpose Internet Mail Extensions): Mechanism for Specifying and Describing the Format of Internet Message Bodies", June 1992 RFC 2616, "Hypertext Transfer Protocol - HTTP 1.1", June 1999RFC 2616, "Hypertext Transfer Protocol-HTTP 1.1", June 1999

今後、データストリームを伴うデバイスが普及し、データストリームの利用目的の多様化が加速することが期待される。データストリームを送信するソースにおいては、RTSP、RTP、WebRTC等のようなリアルタイム性に優れたプロトコルやフレームワークが用いられることが想定される。一方、データストリームを受信するシンクにおいては、HTTP、MQTT、ROS等のような利便性に優れたプロトコルやフレームワークが用いられることが想定される。このような利用形態では、ソースとシンクとの間にプロトコル変換を行う装置が必要となる。 In the future, it is expected that devices with data streams will spread and diversify the purpose of using the data streams. It is assumed that a protocol or framework with excellent real-time characteristics such as RTSP, RTP, WebRTC, etc. is used in the source that transmits the data stream. On the other hand, in the sink that receives the data stream, it is assumed that protocols and frameworks with excellent convenience such as HTTP, MQTT, and ROS are used. In such a usage mode, a device for performing protocol conversion between the source and the sink is required.

図2は、ソースとシンクとの間でプロトコル変換が必要となる例を示す図である。例えば、ソースにおいてRTP等のようなプロトコルが用いられ、映像フレーム等のデータを細かくフラグメント化して送信する場合、フラグメント毎にヘッダが付与され、フラグメント長が与えられる。例えば、シンクにおいてHTTP等のようなプロトコルが用いられる場合、ストリーム的にデータを送信するためには、最初にデータ長を指定する必要がある。しかし、データ長を指定するためには、ソースとシンクとの間の装置において、ソースからのデータをメモリにバッファリングしてデータ全体の長さを決定する必要がある。 FIG. 2 is a diagram showing an example in which protocol conversion is required between the source and the sink. For example, when a protocol such as RTP is used at the source and data such as a video frame is fragmented and transmitted in detail, a header is added to each fragment and a fragment length is given. For example, when a protocol such as HTTP is used in the sink, it is necessary to first specify the data length in order to transmit the data in a stream. However, in order to specify the data length, it is necessary for the device between the source and the sink to buffer the data from the source in the memory and determine the total length of the data.

その結果、ソースとシンクとの間の装置において、メモリの使用量が増加し、バッファ分の遅延が増加し、ピーキーなトラヒック発生を誘因する可能性がある。 As a result, in the device between the source and the sink, the amount of memory used increases, the delay corresponding to the buffer increases, and the peaky traffic may be generated.

本発明は、ソースとシンクとの間でプロトコル変換が必要となる場合に、適切なデータ長を推定することにより、メモリの消費量の削減、低遅延及びパケットのペーシングを実現することを目的とする。 It is an object of the present invention to realize reduction of memory consumption, low latency, and packet pacing by estimating an appropriate data length when protocol conversion is required between a source and a sink. To do.

本発明の一形態に係るデータ転送装置は、
ソースからシンクにデータを転送するデータ転送装置であって、
データをフラグメント化して送信する第1のプロトコルを用いて、前記ソースから送信されるデータのフラグメントを受信する第1プロトコル関連機能部と、
前記受信したフラグメントのメタ情報に基づいて、前記ソースから送信されるデータのデータ長を推定し、当該推定されたデータ長を示すヘッダ情報を出力するヘッダ情報出力機能部と、
データ長を指定してデータを送信する第2のプロトコルを用いて、前記出力されたヘッダ情報を、前記ソースから送信されるデータの中の先頭のフラグメントに付与して前記シンクに送信する第2プロトコル関連機能部と、
を有することを特徴とする。
A data transfer device according to an aspect of the present invention is
A data transfer device for transferring data from a source to a sink,
A first protocol related function unit for receiving a fragment of data transmitted from the source using a first protocol for fragmenting and transmitting data;
A header information output function unit that estimates the data length of the data transmitted from the source based on the received meta information of the fragment and outputs header information indicating the estimated data length;
A second protocol in which the output header information is added to the first fragment in the data transmitted from the source and the data is transmitted to the sink by using a second protocol that specifies the data length and transmits the data. Protocol related function part,
It is characterized by having.

また、本発明の一形態に係るデータ転送方法は、
ソースからシンクにデータを転送するデータ転送装置におけるデータ転送方法であって、
データをフラグメント化して送信する第1のプロトコルを用いて、前記ソースから送信されるデータのフラグメントを受信するステップと、
前記受信したフラグメントのメタ情報に基づいて、前記ソースから送信されるデータのデータ長を推定し、当該推定されたデータ長を示すヘッダ情報を出力するステップと、
データ長を指定してデータを送信する第2のプロトコルを用いて、前記出力されたヘッダ情報を、前記ソースから送信されるデータの中の先頭のフラグメントに付与して前記シンクに送信するステップと、
を有することを特徴とする。
A data transfer method according to an aspect of the present invention is
A data transfer method in a data transfer device for transferring data from a source to a sink, comprising:
Receiving a fragment of data transmitted from the source using a first protocol for fragmenting and transmitting the data;
Estimating the data length of the data transmitted from the source based on the meta information of the received fragment, and outputting header information indicating the estimated data length,
A step of adding the output header information to a head fragment in the data transmitted from the source and transmitting the header information to the sink by using a second protocol for transmitting the data by designating a data length; ,
It is characterized by having.

本発明によれば、ソースとシンクとの間でプロトコル変換が必要となる場合に、適切なデータ長を推定することにより、メモリの消費量の削減、低遅延及びパケットのペーシングを実現することが可能になる。 According to the present invention, when the protocol conversion is required between the source and the sink, it is possible to realize a reduction in memory consumption, a low delay, and packet pacing by estimating an appropriate data length. It will be possible.

HTTP1.1においてContent-type:multipartを用いる場合のシーケンスである。This is a sequence when using Content-type:multipart in HTTP1.1. ソースとシンクとの間でプロトコル変換が必要となる例を示す図である。It is a figure which shows the example which requires protocol conversion between a source and a sink. 本発明の実施例に係るデータ転送装置の概略図である。1 is a schematic diagram of a data transfer device according to an embodiment of the present invention. 本発明の実施例に係るデータ転送装置の機能ブロック図である。It is a functional block diagram of the data transfer apparatus which concerns on the Example of this invention. 本発明の実施例に係るデータ転送装置の処理を示すシーケンス図である。It is a sequence diagram which shows the process of the data transfer apparatus which concerns on the Example of this invention. ヘッダ情報出力機能部における処理を示すフローチャートである。It is a flow chart which shows processing in a header information output function part. 本発明の実施例に係るデータ転送装置のハードウェア構成例を示す図である。It is a figure which shows the hardware structural example of the data transfer apparatus which concerns on the Example of this invention.

以下、図面を参照して本発明の実施例について説明する。 Embodiments of the present invention will be described below with reference to the drawings.

図3は、本発明の実施例に係るデータ転送装置100の概略図である。 FIG. 3 is a schematic diagram of a data transfer device 100 according to an embodiment of the present invention.

データ転送装置100は、ソースとシンクとの間に位置し、ソースからシンクにデータを転送するネットワーク装置である。ソースに対してはRTP等のプロトコルAを用い、シンクに対してはHTTP等のプロトコルBを用いる。なお、プロトコルA及びプロトコルBの組み合わせはRTP及びHTTPに限定されず、他のプロトコルの組み合わせが用いられてもよい。プロトコルAは、映像フレーム等のデータをフラグメント化して送信するプロトコルであり、フラグメント毎にメタ情報を含むヘッダが付与され、フラグメント長が与えられる。プロトコルBは、データ長を指定してデータを送信するプロトコルであり、指定したデータ長のデータが連続的に送信される。 The data transfer device 100 is a network device that is located between a source and a sink and transfers data from the source to the sink. Protocol A such as RTP is used for the source and protocol B such as HTTP is used for the sink. The combination of protocol A and protocol B is not limited to RTP and HTTP, and another combination of protocols may be used. The protocol A is a protocol for fragmenting and transmitting data such as a video frame, a header including meta information is added to each fragment, and a fragment length is given. The protocol B is a protocol for transmitting data by designating a data length, and data having a designated data length is continuously transmitted.

データ転送装置100は、プロトコルAを用いてソースから受信したフラグメントのメタ情報に基づいて、データ長を推定する。メタ情報には、フラグメントの属性情報が含まれており、例えば、ソースがRTPを用いて映像フレームを送信する場合、データ転送装置100は、メタ情報に含まれるタイムスタンプ及びシーケンス番号から、受信したフラグメントがどの映像フレームの何番目のフラグメントであるかを認識することができる。また、メタ情報からフラグメント長を認識することができる。例えば、データ転送装置100は、映像フレーム毎にデータ長の統計値を求め、ソースから送信されるデータを転送するために十分な長さのデータ長を推定する。 The data transfer apparatus 100 estimates the data length based on the meta information of the fragment received from the source using the protocol A. The meta information includes fragment attribute information. For example, when the source transmits a video frame using RTP, the data transfer apparatus 100 receives from the time stamp and the sequence number included in the meta information. It is possible to recognize which fragment of which video frame the fragment is. Further, the fragment length can be recognized from the meta information. For example, the data transfer device 100 obtains a data length statistical value for each video frame and estimates a data length that is long enough to transfer the data transmitted from the source.

データ転送装置100は、推定したデータ長を先頭のフラグメントに付与してシンクに送信する。なお、データを転送するために十分な長さのデータ長が推定されているため、推定されたデータ長に満たない部分が発生する。この部分は、所定のバイト列で埋めてもよい。 The data transfer apparatus 100 adds the estimated data length to the first fragment and transmits it to the sink. Since the data length that is long enough to transfer the data has been estimated, a portion that is less than the estimated data length occurs. This portion may be filled with a predetermined byte string.

次に、データ転送装置100の具体的な構成及び動作について説明する。図4は、本発明の実施例に係るデータ転送装置100の機能ブロック図であり、図5は、本発明の実施例に係るデータ転送装置100の処理を示すシーケンス図である。 Next, a specific configuration and operation of the data transfer device 100 will be described. FIG. 4 is a functional block diagram of the data transfer apparatus 100 according to the embodiment of the present invention, and FIG. 5 is a sequence diagram showing processing of the data transfer apparatus 100 according to the embodiment of the present invention.

図4に示すように、データ転送装置100は、プロトコルAを用いてソースと通信するためのプロトコルA関連機能部101と、プロトコルBを用いてシンクと通信するためのプロトコルB関連機能部102と、ソースからのデータをシンクに転送するための転送機能部103と、ソースからのデータをシンクに転送するときのヘッダ情報を出力するためのヘッダ情報出力機能部104とを含む。また、データ転送装置100は、データ長に影響を与える外部情報を取得するための外部情報取得部105を更に含んでもよい。なお、図4は単なるデータ転送装置100の構成の一例であり、例えば、転送機能部103とヘッダ情報出力機能部104とが同じ機能部として実現されてもよい。 As shown in FIG. 4, the data transfer apparatus 100 includes a protocol A related function unit 101 for communicating with a source using the protocol A, and a protocol B related function unit 102 for communicating with a sink using the protocol B. A transfer function unit 103 for transferring the data from the source to the sink and a header information output function unit 104 for outputting the header information when transferring the data from the source to the sink. Further, the data transfer device 100 may further include an external information acquisition unit 105 for acquiring external information that affects the data length. Note that FIG. 4 is merely an example of the configuration of the data transfer device 100, and for example, the transfer function unit 103 and the header information output function unit 104 may be realized as the same function unit.

まず、プロトコルA関連機能部101は、プロトコルAを用いて、ソースから送信されるデータのフラグメントを受信する(S101)。このフラグメントには、どのデータの何番目のフラグメントであるかを識別するためのメタ情報が付与されている。プロトコルA関連機能部101は、フラグメントに付与されたプロトコルAのヘッダ情報等を除去し、フラグメントと、データ長の推定に使用されるフラグメントのメタ情報とを転送機能部103に送信する(S102)。転送機能部103は、フラグメントのメタ情報をヘッダ情報出力機能部104に送信する(S103)。 First, the protocol A-related functional unit 101 receives a fragment of data transmitted from a source using the protocol A (S101). Meta information for identifying which fragment of what data is attached to this fragment. The protocol A related function unit 101 removes the header information of the protocol A added to the fragment, and transmits the fragment and the meta information of the fragment used for estimating the data length to the transfer function unit 103 (S102). .. The transfer function unit 103 transmits the meta information of the fragment to the header information output function unit 104 (S103).

ヘッダ情報出力機能部104は、フラグメントのメタ情報に基づいて、ソースから送信されるデータのデータ長を推定し、推定されたデータ長を示すヘッダ情報を出力する。ヘッダ情報は、転送機能部103に戻される(S104)。ヘッダ情報出力機能部104における処理について以下に説明する。 The header information output function unit 104 estimates the data length of the data transmitted from the source based on the fragment meta information, and outputs the header information indicating the estimated data length. The header information is returned to the transfer function unit 103 (S104). The processing in the header information output function unit 104 will be described below.

図6は、ヘッダ情報出力機能部104における処理を示すフローチャートである。ヘッダ情報出力機能部104は、フラグメントのメタ情報を受信すると、フラグメントのメタ情報から、データの中の何番目のフラグメントであるかを出力する関数fを用いて、フラグメント番号を求める(S201)。ただし、データの中の先頭のフラグメントのフラグメント番号を0とする。例えば、RTPがプロトコルAとして用いられる場合、タイムスタンプ及びシーケンス番号から、フラグメントが属するデータと、そのデータの中のフラグメント番号を求めることができる。 FIG. 6 is a flowchart showing processing in the header information output function unit 104. When the header information output function unit 104 receives the fragment meta information, the header information output function unit 104 obtains the fragment number from the fragment meta information by using the function f that outputs the number of the fragment in the data (S201). However, the fragment number of the first fragment in the data is set to 0. For example, when RTP is used as the protocol A, the data to which the fragment belongs and the fragment number in the data can be obtained from the time stamp and the sequence number.

フラグメント番号が0でない場合(S202:YES)、すなわち、先頭のフラグメントでない場合、ヘッダ情報にデータ長を付与する必要はないため、ヘッダ情報=Nullとする(S203)。 If the fragment number is not 0 (S202: YES), that is, if it is not the first fragment, it is not necessary to add a data length to the header information, and therefore header information=Null (S203).

フラグメント番号が0である場合(S202:NO)、すなわち、先頭のフラグメントである場合、ヘッダ情報出力機能部104は、フラグメントのメタ情報、外部情報等を入力として、付加すべきヘッダ情報を出力するための関数gを用いて、ヘッダ情報を求める(S204)。上記のように、ヘッダ情報出力機能部104は、フラグメントのメタ情報に基づいて、受信したフラグメントがどの映像フレームの何番目のフラグメントであるかを認識することができ、フラグメント長を認識することができる。ヘッダ情報出力機能部104は、ソースから過去に送信されたフラグメントのフラグメント長から、データ長の統計値を求め、ソースから送信されるデータを転送するために十分な長さのデータ長を推定する。例えば、ソースから過去に送信されたN個のデータのデータ長の平均値及び分散を求め、平均値+分散をデータ長として推定してもよい。 When the fragment number is 0 (S202: NO), that is, when it is the first fragment, the header information output function unit 104 inputs fragment meta information, external information, etc., and outputs header information to be added. Header information is obtained using the function g for (S204). As described above, the header information output function unit 104 can recognize which fragment of which video frame the received fragment is and the fragment length, based on the meta information of the fragment. it can. The header information output function unit 104 obtains a statistical value of the data length from the fragment lengths of the fragments transmitted in the past from the source, and estimates a data length that is long enough to transfer the data transmitted from the source. .. For example, the average value and variance of the data lengths of N pieces of data transmitted in the past from the source may be obtained, and the average value+variance may be estimated as the data length.

また、データ長の推定のために、外部情報取得部105により取得された、データ長に影響を与える外部情報が更に用いられてもよく、時刻が更に用いられてもよい。例えば、ソースが監視カメラである場合、昼間と夜間ではデータの圧縮率が異なり、データ長が変化する可能性がある。このようなデータ長に影響を与える外部情報又は時刻が与えられる場合、データ長の推定精度を高めることができる。 Further, in order to estimate the data length, the external information acquired by the external information acquisition unit 105 that affects the data length may be further used, and the time may be further used. For example, when the source is a surveillance camera, the data compression rate differs between daytime and nighttime, and the data length may change. When such external information or time that affects the data length is given, the estimation accuracy of the data length can be improved.

また、データ長の推定のために、ヘッダ情報出力機能部104は、機械学習を用いることも可能である。機械学習では、過去のデータ長、外部情報、時刻等の学習データを用いて予めモデルを構築しておき、フラグメントを受信する毎に、フラグメントのメタ情報、外部情報、時刻等を入力してデータ長を推定することができる。 The header information output function unit 104 can also use machine learning to estimate the data length. In machine learning, a model is constructed in advance using learning data such as past data length, external information, and time, and each time a fragment is received, the meta information of the fragment, external information, time, etc. are input and data is input. The length can be estimated.

再び図5を参照すると、ヘッダ情報出力機能部104は、上記のように推定されたデータ長を示すヘッダ情報を転送機能部103に送信する(S104)。ヘッダ情報出力機能部104は、ヘッダ情報及びフラグメントをプロトコルB関連機能部102に送信する(S105)。なお、先頭のフラグメントである場合、ヘッダ情報がプロトコルB関連機能部102に送信されるが、先頭のフラグメントでない場合、ヘッダ情報はNullとなっているため、ヘッダ情報はプロトコルB関連機能部102に送信されない。プロトコルB関連機能部102は、データ長を示すヘッダ情報を、ソースから送信されるデータの中の先頭のフラグメントに付与してシンクに送信する(S106)。また、プロトコルB関連機能部102は、推定されたデータ長に満たない部分を所定のバイト列で埋めてシンクに送信する。 Referring again to FIG. 5, the header information output function unit 104 transmits the header information indicating the data length estimated as described above to the transfer function unit 103 (S104). The header information output function unit 104 transmits the header information and the fragment to the protocol B related function unit 102 (S105). If the fragment is the first fragment, the header information is transmitted to the protocol B related function unit 102. However, if the fragment is not the first fragment, the header information is Null. Not sent. The protocol B-related function unit 102 attaches header information indicating the data length to the first fragment in the data transmitted from the source and transmits it to the sink (S106). Also, the protocol-B related function unit 102 fills a portion less than the estimated data length with a predetermined byte string and transmits it to the sink.

このように、シンクにおいてプロトコルAが用いられない場合であっても、シンクにおいてプロトコルAのリアルタイム性を享受することができる。 As described above, even when the protocol A is not used in the sink, the real-time property of the protocol A can be enjoyed in the sink.

<本発明の実施例の効果>
本発明の実施例によれば、データ転送装置100は、ソースから受信したデータをシンクに転送するときに、データ長を推定した上で、必要十分なデータ長とするために、少し大きめにデータ長を決定する。そして、データ長を指定してストリーム的にシンクに送信する。このため、ソースから受信したデータをほぼリアルタイムにシンクに転送することができ、データ転送装置100におけるメモリの消費量を削減することができ、低遅延及びパケットのペーシングを実現することが可能になる。
<Effects of Examples of the Present Invention>
According to the embodiment of the present invention, the data transfer apparatus 100 estimates the data length when transferring the data received from the source to the sink, and then slightly increases the data length in order to obtain the necessary and sufficient data length. Determine the length. Then, the data length is specified and the data is transmitted to the sink in a stream. Therefore, the data received from the source can be transferred to the sink almost in real time, the memory consumption in the data transfer apparatus 100 can be reduced, and low delay and packet pacing can be realized. ..

また、データ長に影響を与える外部情報又は時刻が与えられる場合、データ長の推定精度を高めることができる。 Further, when external information or time that affects the data length is given, the estimation accuracy of the data length can be improved.

<ハードウェア構成例>
図7に、本発明の実施例に係るデータ転送装置100のハードウェア構成例を示す。データ転送装置100は、CPU(Central Processing Unit)151等のプロセッサ、RAM(Random Access Memory)やROM(Read Only Memory)等のメモリ装置152、ハードディスク等の記憶装置153等から構成されたコンピュータでもよい。例えば、データ転送装置100の機能及び処理は、記憶装置153又はメモリ装置152に格納されているデータやプログラムをCPU151が実行することによって実現される。また、データ転送装置100へのデータの入力は、入出力インタフェース装置154から行われ、データ転送装置100からのデータの出力は、入出力インタフェース装置154から行われてもよい。
<Hardware configuration example>
FIG. 7 shows a hardware configuration example of the data transfer device 100 according to the embodiment of the present invention. The data transfer apparatus 100 may be a computer including a processor such as a CPU (Central Processing Unit) 151, a memory device 152 such as a RAM (Random Access Memory) and a ROM (Read Only Memory), a storage device 153 such as a hard disk, and the like. .. For example, the functions and processing of the data transfer device 100 are realized by the CPU 151 executing data or programs stored in the storage device 153 or the memory device 152. Input of data to the data transfer apparatus 100 may be performed from the input/output interface apparatus 154, and output of data from the data transfer apparatus 100 may be performed from the input/output interface apparatus 154.

<補足>
説明の便宜上、本発明の実施例に係るデータ転送装置100は機能的なブロック図を用いて説明しているが、本発明の実施例に係るデータ転送装置100は、ハードウェア、ソフトウェア又はそれらの組み合わせで実現されてもよい。例えば、本発明の実施例は、コンピュータに対して本発明の実施例に係るデータ転送装置100の機能を実現させるプログラム、コンピュータに対して本発明の実施例に係る方法の各手順を実行させるプログラム等により、実現されてもよい。また、各機能部が必要に応じて組み合わせて使用されてもよい。また、本発明の実施例に係る方法は、実施例に示す順序と異なる順序で実施されてもよい。
<Supplement>
For convenience of explanation, the data transfer apparatus 100 according to the embodiment of the present invention has been described using a functional block diagram. However, the data transfer apparatus 100 according to the embodiment of the present invention is not limited to hardware, software, or a combination thereof. It may be realized in combination. For example, the embodiment of the present invention is a program that causes a computer to realize the functions of the data transfer device 100 according to the embodiment of the present invention, and a program that causes a computer to execute each procedure of the method according to the embodiment of the present invention. And the like. Moreover, each functional unit may be used in combination as necessary. Further, the methods according to the embodiments of the present invention may be performed in a different order from the order shown in the embodiments.

以上、ソースとシンクとの間でプロトコル変換が必要となる場合に、適切なデータ長を推定することにより、メモリの消費量の削減、低遅延及びパケットのペーシングを実現するための手法について説明したが、本発明は、上記の実施例に限定されることなく、特許請求の範囲内において、種々の変更・応用が可能である。 The method for reducing the memory consumption, reducing the delay, and pacing the packet by estimating the appropriate data length when the protocol conversion between the source and the sink is necessary has been described above. However, the present invention is not limited to the above embodiments, and various modifications and applications are possible within the scope of the claims.

100 データ転送装置
101 プロトコルA関連機能部
102 プロトコルB関連機能部
103 転送機能部
104 ヘッダ情報出力機能部
105 外部情報取得部
100 data transfer device 101 protocol A related function unit 102 protocol B related function unit 103 transfer function unit 104 header information output function unit 105 external information acquisition unit

Claims (6)

ソースからシンクにデータを転送するデータ転送装置であって、
データをフラグメント化して送信する第1のプロトコルを用いて、前記ソースから送信されるデータのフラグメントを受信する第1プロトコル関連機能部と、
前記受信したフラグメントのメタ情報に基づいて、前記ソースから送信されるデータのデータ長を推定し、当該推定されたデータ長を示すヘッダ情報を出力するヘッダ情報出力機能部と、
データ長を指定してデータを送信する第2のプロトコルを用いて、前記出力されたヘッダ情報を、前記ソースから送信されるデータの中の先頭のフラグメントに付与して前記シンクに送信する第2プロトコル関連機能部と、
を有するデータ転送装置。
A data transfer device for transferring data from a source to a sink,
A first protocol related function unit for receiving a fragment of data transmitted from the source using a first protocol for fragmenting and transmitting data;
A header information output function unit that estimates the data length of the data transmitted from the source based on the received meta information of the fragment and outputs header information indicating the estimated data length;
A second protocol in which the output header information is added to the first fragment in the data transmitted from the source and the data is transmitted to the sink by using a second protocol that specifies the data length and transmits the data. Protocol related function part,
Data transfer device having.
前記ヘッダ情報出力機能部は、前記ソースから送信されるデータを転送するために十分な長さのデータ長を推定し、
前記第2プロトコル関連機能部は、前記推定されたデータ長に満たない部分を所定のバイト列で埋める、請求項1に記載のデータ転送装置。
The header information output function unit estimates a data length that is long enough to transfer data transmitted from the source,
The data transfer device according to claim 1, wherein the second protocol-related function unit fills a portion less than the estimated data length with a predetermined byte string.
前記ヘッダ情報出力機能部は、前記ソースから過去に送信されたデータのデータ長の平均値及び分散に基づいて、前記ソースから送信されるデータのデータ長を推定する、請求項1又は2に記載のデータ転送装置。 The said header information output function part estimates the data length of the data transmitted from the said source based on the average value and dispersion|variation of the data length of the data transmitted in the past from the said source. Data transfer device. 前記ソースから送信されるデータのデータ長に影響を与える外部情報を取得する外部情報取得部を更に有し、
前記ヘッダ情報出力機能部は、前記外部情報に更に基づいて、前記ソースから送信されるデータのデータ長を推定する、請求項1乃至3のうちいずれか1項に記載のデータ転送装置。
Further comprising an external information acquisition unit for acquiring external information that affects the data length of the data transmitted from the source,
The data transfer device according to claim 1, wherein the header information output function unit estimates the data length of the data transmitted from the source, further based on the external information.
前記ヘッダ情報出力機能部は、学習データを用いて構築されたモデルを用いて、前記ソースから送信されるデータのデータ長を推定する、請求項1乃至4のうちいずれか1項に記載のデータ転送装置。 The data according to any one of claims 1 to 4, wherein the header information output function unit estimates a data length of data transmitted from the source using a model constructed using learning data. Transfer device. ソースからシンクにデータを転送するデータ転送装置におけるデータ転送方法であって、
データをフラグメント化して送信する第1のプロトコルを用いて、前記ソースから送信されるデータのフラグメントを受信するステップと、
前記受信したフラグメントのメタ情報に基づいて、前記ソースから送信されるデータのデータ長を推定し、当該推定されたデータ長を示すヘッダ情報を出力するステップと、
データ長を指定してデータを送信する第2のプロトコルを用いて、前記出力されたヘッダ情報を、前記ソースから送信されるデータの中の先頭のフラグメントに付与して前記シンクに送信するステップと、
を有するデータ転送方法。
A data transfer method in a data transfer device for transferring data from a source to a sink, comprising:
Receiving a fragment of data transmitted from the source using a first protocol for fragmenting and transmitting the data;
Estimating the data length of the data transmitted from the source based on the meta information of the received fragment, and outputting header information indicating the estimated data length,
A step of adding the output header information to a head fragment in the data transmitted from the source and transmitting the header information to the sink by using a second protocol for transmitting the data by designating a data length; ,
A data transfer method having.
JP2017144723A 2017-07-26 2017-07-26 Data transfer device and data transfer method Active JP6738306B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017144723A JP6738306B2 (en) 2017-07-26 2017-07-26 Data transfer device and data transfer method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017144723A JP6738306B2 (en) 2017-07-26 2017-07-26 Data transfer device and data transfer method

Publications (2)

Publication Number Publication Date
JP2019029728A JP2019029728A (en) 2019-02-21
JP6738306B2 true JP6738306B2 (en) 2020-08-12

Family

ID=65478772

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017144723A Active JP6738306B2 (en) 2017-07-26 2017-07-26 Data transfer device and data transfer method

Country Status (1)

Country Link
JP (1) JP6738306B2 (en)

Also Published As

Publication number Publication date
JP2019029728A (en) 2019-02-21

Similar Documents

Publication Publication Date Title
US9596323B2 (en) Transport accelerator implementing client side transmission functionality
KR101398319B1 (en) Real-time video detector
US9247276B2 (en) System and method for progressive delivery of media content
JP6981257B2 (en) Information processing equipment and information processing method
CN110557655B (en) Video picture display method and device, electronic equipment and storage medium
US10355995B2 (en) Identifying a network condition using estimated processor load
JP7011941B2 (en) Client and receiving method
EP3528469B1 (en) Adaptive restful real-time live media streaming
CN103283255A (en) Method for providing an adaptive streaming service
US20110082943A1 (en) P2p network system and data transmitting and receiving method thereof
KR20170123700A (en) Method for delivering data packets within a data communication system
JP5938015B2 (en) Chunk download completion determination device, chunk download completion determination method, and program
KR20230002784A (en) Methods and servers for transmitting audio and/or video content
KR101484933B1 (en) A method, a system, a server, a device, a computer program and a computer program product for transmitting data in a computer network
US11190430B2 (en) Determining the bandwidth of a communication link
WO2023217188A1 (en) Livestream data transmission method, apparatus and system, device and medium
JP6738306B2 (en) Data transfer device and data transfer method
JP6939890B2 (en) Data communication equipment, communication systems, data communication methods and programs
JP6555853B2 (en) Transmission device, transmission control method, and program
JP7496022B2 (en) Client, server, receiving method and transmitting method
CN110545492A (en) real-time delivery method and server of media stream
JP5524374B2 (en) Video stream transmission method
JP6970124B2 (en) Methods for sending and receiving MMTP packets and their devices
JP2005328240A (en) Bit stream parallel transmission system by tcp, and transmission method and device
JP6502901B2 (en) Communication control system and communication control method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190826

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200625

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200717

R150 Certificate of patent or registration of utility model

Ref document number: 6738306

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150