JP2016116104A - Program, server, system, and method for measuring communication band using user data - Google Patents

Program, server, system, and method for measuring communication band using user data Download PDF

Info

Publication number
JP2016116104A
JP2016116104A JP2014253871A JP2014253871A JP2016116104A JP 2016116104 A JP2016116104 A JP 2016116104A JP 2014253871 A JP2014253871 A JP 2014253871A JP 2014253871 A JP2014253871 A JP 2014253871A JP 2016116104 A JP2016116104 A JP 2016116104A
Authority
JP
Japan
Prior art keywords
server
user data
packet
terminal
program
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.)
Granted
Application number
JP2014253871A
Other languages
Japanese (ja)
Other versions
JP6367106B2 (en
Inventor
篤男 立花
Tokuo Tachibana
篤男 立花
長谷川 輝之
Teruyuki Hasegawa
輝之 長谷川
吉田 芳明
Yoshiaki Yoshida
芳明 吉田
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.)
KDDI Corp
Original Assignee
KDDI 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 KDDI Corp filed Critical KDDI Corp
Priority to JP2014253871A priority Critical patent/JP6367106B2/en
Publication of JP2016116104A publication Critical patent/JP2016116104A/en
Application granted granted Critical
Publication of JP6367106B2 publication Critical patent/JP6367106B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide a program or the like in which a communication band of a network can be measured using user data even when the communication band in a terminal largely varies.SOLUTION: A program for functioning a computer installed in a server which transmits so as to measure a communication band of a network by a terminal using user data to be replied to the terminal allows the computer to execute: a first step in which the user data to be replied is buffered in a predetermined unit time and it is determined whether or not the buffer amount is a predetermined threshold or less; and a second step in which, when it is determined as true in the first step, the user data is divided, divided each data is configured in a UDP packet, each UDP packet is transmitted on the basis of an available band estimation, the user data is configured in a TCP packet when it is determined as false in the first step, and each TCP packet is transmitted on the basis of a throughput measurement.SELECTED DRAWING: Figure 2

Description

本発明は、ネットワークに対してアクティブ計測方式を実行する技術に関する。   The present invention relates to a technique for executing an active measurement method for a network.

インターネットや移動通信のサービス事業者にとって、自ら運営するネットワークの通信帯域を監視することは重要である。通信帯域の劣化を検出した場合、無線基地局の設置や通信帯域制御・規制などによって、その通信帯域を改善する必要がある。具体的には、ネットワークに測定用の試験パケットを転送して通信帯域を計測する「アクティブ計測方式」と、ユーザデータの実際の送受信状態の振る舞いから通信帯域を計測する「パッシブ計測方式」とがある。   It is important for service providers of the Internet and mobile communications to monitor the communication bandwidth of the network that they operate. When the degradation of the communication band is detected, it is necessary to improve the communication band by installing a wireless base station or controlling / regulating the communication band. Specifically, there is an “active measurement method” that measures the communication bandwidth by transferring test packets to the network and a “passive measurement method” that measures the communication bandwidth from the actual transmission / reception state behavior of user data. is there.

従来、アクティブ計測方式として、例えば以下のような方法がある。
計測サーバとクライアントとの間で、試験データを送受信し、転送データ量/転送時間から、TCP(Transmission Control Protocol)スループットを推定する技術がある(例えば非特許文献1、2参照)。また、計測サーバとクライアントとの間で、複数の試験パケットの時間間隔を制御して送信し(パケットトレイン)、受信側で各試験パケットのキューイング遅延の増加傾向を分析して可用帯域を推定する技術もある(例えば非特許文献3参照)。ここで、(最大)TCPスループットは、送受信装置に実装されたTCP輻輳制御機能によって、ネットワーク回線の空き容量に合わせて上限付近に調整される。そのために、理想的な環境にあっては、送受信装置間の可用帯域と強い相関関係にあると考えられる。
Conventionally, as an active measurement method, for example, there are the following methods.
There is a technique for transmitting and receiving test data between a measurement server and a client and estimating TCP (Transmission Control Protocol) throughput from the amount of transfer data / transfer time (see, for example, Non-Patent Documents 1 and 2). In addition, the time interval of multiple test packets is controlled and transmitted between the measurement server and the client (packet train), and the available bandwidth is estimated by analyzing the increasing tendency of the queuing delay of each test packet on the receiving side. There is also a technique (see Non-Patent Document 3, for example). Here, the (maximum) TCP throughput is adjusted near the upper limit in accordance with the free capacity of the network line by the TCP congestion control function installed in the transmission / reception apparatus. Therefore, in an ideal environment, it is considered that there is a strong correlation with the available bandwidth between the transmitting and receiving apparatuses.

一方で、測定用の試験パケットをネットワークに送信することなく、送受信装置間の通信帯域を計測する技術もある(例えば非特許文献4、5参照)。この技術によれば、端末上で動作する映像ストリーミングアプリケーションや音声通話アプリケーション自身が、送信データの転送レートを動的に変化させる。そして、パケットロスやパケット遅延の増大が発生しない、成功した転送レートを探索する。   On the other hand, there is a technique for measuring a communication band between transmitting and receiving apparatuses without transmitting a test packet for measurement to a network (see, for example, Non-Patent Documents 4 and 5). According to this technology, a video streaming application or a voice call application itself that operates on a terminal dynamically changes a transmission rate of transmission data. Then, a successful transfer rate that does not cause an increase in packet loss or packet delay is searched.

また、ユーザデータを用いたアクティブ計測方式として、送受信装置間でユーザデータをペイロード部に埋め込んだ試験パケットを送受信し、可用帯域を推定する技術もある(例えば非特許文献6参照)。この技術は、Linux(登録商標)に実装されたものである。   Further, as an active measurement method using user data, there is a technique for transmitting and receiving a test packet in which user data is embedded in a payload portion between transmitting and receiving apparatuses and estimating an available bandwidth (for example, see Non-Patent Document 6). This technology is implemented in Linux (registered trademark).

更に、送受信装置間に設定される通信コネクションを高速化するために、ネットワーク内の設備装置が、当該コネクションを複数の通信コネクションに分割してパケットを中継するTCPプロキシ技術もある(例えば非特許文献7参照)。   Furthermore, there is a TCP proxy technology in which equipment devices in a network divide the connection into a plurality of communication connections and relay packets in order to increase the speed of communication connections set between transmitting and receiving devices (for example, non-patent literature). 7).

更に、セキュリティを向上させるために、端末からのHTTPコネクションを経路上の通信設備装置で一旦終端し、当該設備装置が代理してWebサーバへアクセスするウェブプロキシ技術もある(例えば非特許文献8参照)。   Further, in order to improve security, there is also a web proxy technology in which an HTTP connection from a terminal is once terminated at a communication equipment device on a route, and the equipment device acts as a proxy to access a web server (for example, refer to Non-Patent Document 8). ).

SPEEDTEST、[online]、[平成26年11月10日検索]、インターネット<URL:http://www.speedtest.net/>SPEEDTEST, [online], [Search November 10, 2014], Internet <URL: http://www.speedtest.net/> iperf、[online]、[平成26年11月10日検索]、インターネット<URL:http://code.google.com/p/iperf/>iperf, [online], [November 10, 2014 search], Internet <URL: http://code.google.com/p/iperf/> Vinay J. Ribeiro , Rudolf H. Riedi , Richard G. Baraniuk , Jiri Navratil , Les Cottrell, “pathChirp: Efficient Available Bandwidth Estimation for Network Paths,” (2003)、[online]、[平成26年11月10日検索]、インターネット<URL:http://www.slac.stanford.edu/cgi-wrap/getdoc/slac-pub-9732.ps.gz>Vinay J. Ribeiro, Rudolf H. Riedi, Richard G. Baraniuk, Jiri Navratil, Les Cottrell, “pathChirp: Efficient Available Bandwidth Estimation for Network Paths,” (2003), [online], [November 10, 2014 search ] Internet <URL: http://www.slac.stanford.edu/cgi-wrap/getdoc/slac-pub-9732.ps.gz> David Hassoun, “Dynamic stream switching with Flash Media Server 3,” April 2008、[online]、[平成26年11月10日検索]、インターネット<URL:http://www.adobe.com/devnet/adobe-media-server/articles/dynamic_stream_switching.html>David Hassoun, “Dynamic stream switching with Flash Media Server 3,” April 2008, [online], [searched on November 10, 2014], Internet <URL: http://www.adobe.com/devnet/adobe- media-server / articles / dynamic_stream_switching.html> L. De Cicco, S. Mascolo, and V. Palmisano, “Skype Video Responsiveness to Bandwidth Variations,” NOSSDAV, 2008、[online]、[平成26年11月10日検索]、インターネット<URL: http://c3lab.poliba.it/index.php/MultimediaCC>L. De Cicco, S. Mascolo, and V. Palmisano, “Skype Video Responsiveness to Bandwidth Variations,” NOSSDAV, 2008, [online], [searched November 10, 2014], Internet <URL: http: // c3lab.poliba.it/index.php/MultimediaCC> 村瀬勉 , 下西英之, 長谷川洋平, “TCP オーバレイネットワークの提案,” 電子情報通信学会通信ソサイエティ大会報告(B-7-49), Sept. 2002.Tsutomu Murase, Hideyuki Shimonishi, Yohei Hasegawa, “Proposal of TCP Overlay Network,” IEICE Communication Society Conference (B-7-49), Sept. 2002. Squid (ソフトウェア)、[online]、[平成26年11月10日検索]、インターネット<URL: http://ja.wikipedia.org/wiki/Squid_(%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2)>Squid (Software), [online], [Searched on November 10, 2014], Internet <URL: http://en.wikipedia.org/wiki/Squid_(%E3%82%BD%E3%83%95 % E3% 83% 88% E3% 82% A6% E3% 82% A7% E3% 82% A2) >

非特許文献1、2に記載の技術によれば、TCPスループットを計測するために、ユーザデータ通信とは別に、測定用の試験パケットをネットワークへ送信しなければならない。そのために、ネットワークの通信帯域に高い負荷を与えることとなる。   According to the techniques described in Non-Patent Documents 1 and 2, in order to measure the TCP throughput, a test packet for measurement must be transmitted to the network separately from the user data communication. Therefore, a high load is applied to the communication band of the network.

非特許文献3に記載の技術によれば、非特許文献1、2に記載の技術よりも、少量の試験パケットで可用帯域を推定することができる。実際にネットワークに負荷を与えて計測するものではないため、推定結果の精度も比較的低くなる。特に、非特許文献1、2に記載の技術よりも少量ではあるが、試験パケットをネットワークに流入させる必要がある。   According to the technique described in Non-Patent Document 3, the available bandwidth can be estimated with a smaller amount of test packets than the techniques described in Non-Patent Documents 1 and 2. Since the load is not actually applied to the network for measurement, the accuracy of the estimation result is relatively low. In particular, although it is a smaller amount than the techniques described in Non-Patent Documents 1 and 2, it is necessary to allow the test packet to flow into the network.

非特許文献4、5に記載の技術によれば、アプリケーションが実際に使っているデータ転送レートから可用帯域を推定するために、測定用の試験パケットによるネットワーク負荷は発生しない。しかしながら、実際のユーザデータを用いるため、誤って転送レートを可用帯域よりも高くした場合、アプリケーション自身の通信帯域が劣化することとなる。このため、対象アプリケーションは、転送レートを下げる方向に調節することは容易であるが、転送レートを上げる方向に調節することは困難であり、通信帯域を正確に計測することはできない。尚、この技術によれば、通信帯域を計測するために、対象アプリケーションを予め起動しておく必要がある。   According to the techniques described in Non-Patent Documents 4 and 5, the network load due to the measurement test packet does not occur in order to estimate the available bandwidth from the data transfer rate actually used by the application. However, since actual user data is used, if the transfer rate is erroneously set higher than the available bandwidth, the communication bandwidth of the application itself is degraded. For this reason, it is easy for the target application to adjust the transfer rate in the direction of decreasing the transfer rate, but it is difficult to adjust the transfer rate in the direction of increasing the transfer rate, and the communication band cannot be accurately measured. According to this technique, it is necessary to activate the target application in advance in order to measure the communication band.

尚、非特許文献6、7に記載の技術によれば、ユーザ通信の高速化やセキュリティ向上を主な目的としており、通信帯域のアクティブ計測機能を実装したものではない。   Note that the techniques described in Non-Patent Documents 6 and 7 are mainly aimed at speeding up user communication and improving security, and do not implement an active measurement function of a communication band.

スマートフォンのような携帯端末を想定した場合、一般に、通信事業者との間で、1ヶ月契約で使用可能なデータ通信量が予め制限されていたり、データ通信量に応じて利用料金が増加する。そのために、そのような携帯端末を用いて、計測用の試験パケットを転送することは、ユーザにとってコスト的な不利益(契約料金の侵食)となり、実際にはできない。
また、非特許文献3に記載の技術のようなデータ転送速度が低い(1計測当たりのデータ転送量が少ない)アクティブ計測方式に、ユーザデータを適用した場合、ユーザデータの受信相違への到着が大幅に遅延し、ユーザが経験する通信帯域が劣化することとなる。
When a portable terminal such as a smartphone is assumed, generally, the data communication amount that can be used with a one-month contract with a communication carrier is limited in advance, or the usage fee increases according to the data communication amount. For this reason, transferring a test packet for measurement using such a portable terminal is costly disadvantageous for the user (erosion of contract fee) and is not actually possible.
Further, when user data is applied to an active measurement method having a low data transfer rate (a small amount of data transfer per measurement) as in the technique described in Non-Patent Document 3, arrival of user data at a reception difference may occur. This greatly delays the communication bandwidth experienced by the user.

そこで、本発明は、ユーザが利用するデータ通信量が大きく変動する場合であっても、ユーザデータを用いてネットワークの通信帯域を計測することができるプログラム、サーバ、システム及び方法を提供することを目的とする。   Therefore, the present invention provides a program, a server, a system, and a method capable of measuring a network communication band using user data even when the amount of data communication used by the user varies greatly. Objective.

本発明によれば、端末へ返信するユーザデータを用いて、該端末によってネットワークの通信帯域を計測することができるように送信するサーバに搭載されたコンピュータを機能させるプログラムであって、
返信すべきユーザデータを所定単位時間でバッファし、そのバッファ量が所定閾値以下か否かを判定する第1のステップと、
第1のステップによって真と判定された場合、ユーザデータを分割し、分割された各データをUDP(User Datagram Protocol)パケットに構成し、可用帯域推定に基づいて各UDPパケットを送信し、第1のステップによって偽と判定された場合、ユーザデータをTCP(Transmission Control Protocol)パケットに構成し、スループット計測に基づいて各TCPパケットを送信する第2のステップと
を実行させることを特徴とする。
According to the present invention, a program for causing a computer mounted on a server to function so as to be able to measure a network communication band by the terminal using user data returned to the terminal,
A first step of buffering user data to be returned in a predetermined unit time and determining whether the buffer amount is equal to or less than a predetermined threshold;
If it is determined to be true by the first step, the user data is divided, each divided data is formed into a UDP (User Datagram Protocol) packet, and each UDP packet is transmitted based on the available bandwidth estimation. If it is determined to be false in this step, the user data is configured as a TCP (Transmission Control Protocol) packet, and the second step of transmitting each TCP packet based on the throughput measurement is executed.

本発明のサーバ用のプログラムにおける他の実施形態によれば、
第2のステップについて、サーバは、UDPパケット又はTCPパケットを構成する際に、パケット毎に指定データサイズまで疑似バイトをユーザデータに追加して埋めてパディングする
ように実行させることも好ましい。
According to another embodiment of the server program of the present invention,
Regarding the second step, it is also preferable that when the server constructs a UDP packet or a TCP packet, it is executed so that pseudo bytes are added to the user data and padded to the specified data size for each packet.

本発明のサーバ用のプログラムにおける他の実施形態によれば、
第1のステップについて、サーバは、返信すべきユーザデータのパケットをバッファする毎に待機時間タイマを起動し、該待機時間タイマが所定時間値以上となった時、判定結果を真として第2のステップを実行させることも好ましい。
According to another embodiment of the server program of the present invention,
For the first step, the server activates a standby time timer each time the user data packet to be returned is buffered, and when the standby time timer exceeds a predetermined time value, the determination result is set to true and the second step is performed. It is also preferable to execute the steps.

本発明のサーバ用のプログラムにおける他の実施形態によれば、
第1のステップについて、サーバは、ユーザデータの中で、送信優先度が高いパケットをバッファしないように実行させることも好ましい。
According to another embodiment of the server program of the present invention,
About a 1st step, it is also preferable that a server is performed so that a packet with a high transmission priority may not be buffered in user data.

本発明のサーバ用のプログラムにおける他の実施形態によれば、
ユーザデータは、HTTP(HyperText Transport Protocol)に基づくものであり、
第1のステップについて、サーバは、HTML(HyperText Markup Language)テキストに基づくユーザデータを、送信優先度が高いパケットとしてバッファしないように実行させることも好ましい。
According to another embodiment of the server program of the present invention,
User data is based on HTTP (HyperText Transport Protocol),
Regarding the first step, it is also preferable that the server execute user data based on HTML (HyperText Markup Language) text so as not to be buffered as a packet having a high transmission priority.

本発明によれば、前述したサーバ用のプログラムをコンピュータによって実行するサーバと通信する「端末」に搭載されたコンピュータを機能させる端末用のプログラムであって、
端末は、UDPパケットのユーザデータを受信した場合、可用帯域推定に基づいて送信レートを計測し、TCPパケットのユーザデータを受信した場合、スループット計測に基づいて送信レートを計測する
ように実行することを特徴とする。
According to the present invention, there is provided a program for a terminal that causes a computer mounted on a “terminal” to communicate with a server that executes the above-described server program by a computer,
When the terminal receives user data of the UDP packet, the terminal measures the transmission rate based on the available bandwidth estimation, and when receiving the user data of the TCP packet, the terminal executes the transmission rate based on the throughput measurement. It is characterized by.

本発明によれば、端末へ返信するユーザデータを用いて、該端末によってネットワークの通信帯域を計測することができるように送信するサーバであって、
返信すべきユーザデータを所定単位時間でバッファし、そのバッファ量が所定閾値以下か否かを判定するバッファ判定手段と、
バッファ判定手段で真と判定された場合、ユーザデータを分割し、分割された各データをUDPパケットに構成し、可用帯域推定に基づいて各UDPパケットを送信する可用帯域推定送信手段と、
バッファ判定手段で偽と判定された場合、ユーザデータをTCPパケットに構成し、スループット計測に基づいて各TCPパケットを送信するスループット計測送信手段と
を有することを特徴とする。
According to the present invention, a server that transmits user data sent back to a terminal so that the communication bandwidth of the network can be measured by the terminal,
Buffer determination means for buffering user data to be returned in a predetermined unit time, and determining whether the buffer amount is equal to or less than a predetermined threshold;
When it is determined to be true by the buffer determination unit, the user data is divided, each divided data is configured into a UDP packet, and each UDP packet is transmitted based on the available band estimation; and
When it is determined that the buffer determination means is false, it has a throughput measurement transmission means for configuring user data into TCP packets and transmitting each TCP packet based on the throughput measurement.

本発明によれば、前述したサーバと、該サーバと通信する端末とを有するシステムであって、
端末は、
UDPパケットのユーザデータを受信した場合、可用帯域推定に基づいて送信レートを計測する可用帯域推定手段と、
TCPパケットのユーザデータを受信した場合、スループット計測に基づいて送信レートを計測するスループット計測手段と
を有することも好ましい。
According to the present invention, there is provided a system having the above-described server and a terminal that communicates with the server,
The terminal
When user data of a UDP packet is received, an available bandwidth estimation unit that measures a transmission rate based on the available bandwidth estimation;
It is also preferable to have a throughput measuring means for measuring the transmission rate based on the throughput measurement when the user data of the TCP packet is received.

本発明のシステムにおける他の実施形態によれば、
サーバは、中継サーバであって、
端末が、コンテンツ取得要求を、中継サーバへ送信し、
中継サーバが、コンテンツ取得要求を、Webサーバへ送信し、
Webサーバが、コンテンツ応答に基づくユーザデータを、中継サーバへ返信し、
中継サーバが、端末へ返信するコンテンツ応答のユーザデータを用いて、該端末によってネットワークの通信帯域を計測することができるように送信する
ことを特徴とする。
According to another embodiment of the system of the present invention,
The server is a relay server,
The terminal sends a content acquisition request to the relay server,
The relay server sends a content acquisition request to the Web server,
The Web server returns user data based on the content response to the relay server,
The relay server uses the user data of the content response sent back to the terminal, and transmits it so that the communication band of the network can be measured by the terminal.

本発明によれば、サーバから端末へ返信されるユーザデータを用いて、ネットワークの通信帯域を計測する方法において、
サーバが、返信すべきユーザデータを所定単位時間でバッファし、そのバッファ量が所定閾値以下か否かを判定する第1のステップと、
サーバは、第1のステップで真と判定された場合、ユーザデータを分割し、分割された各データをUDPパケットに構成し、可用帯域推定に基づいて各UDPパケットを送信し、第1のステップで偽と判定された場合、ユーザデータをTCPパケットに構成し、スループット計測に基づいて各TCPパケットを送信する第2のステップと、
端末は、UDPパケットのユーザデータを受信した場合、可用帯域推定に基づいて送信レートを計測し、TCPパケットのユーザデータを受信した場合、スループット計測に基づいて送信レートを計測する第3のステップと
を有することを特徴とする。
According to the present invention, in a method for measuring a network communication band using user data returned from a server to a terminal,
A server for buffering user data to be returned in a predetermined unit time, and determining whether the buffer amount is equal to or less than a predetermined threshold;
If the server determines true in the first step, the server divides the user data, configures each divided data into UDP packets, transmits each UDP packet based on the available bandwidth estimation, and the first step A second step of configuring user data into TCP packets and transmitting each TCP packet based on throughput measurement;
The terminal measures the transmission rate based on the available bandwidth estimation when receiving the user data of the UDP packet, and measures the transmission rate based on the throughput measurement when receiving the user data of the TCP packet; It is characterized by having.

本発明のプログラム、サーバ、システム及び方法によれば、ユーザが利用するデータ通信量が大きく変動する場合であっても、ユーザデータを用いてネットワークの通信帯域を計測することができる。   According to the program, server, system, and method of the present invention, the network communication band can be measured using user data even when the amount of data communication used by the user varies greatly.

本発明におけるサーバ−端末間のシーケンス図である。It is a sequence diagram between a server and a terminal in the present invention. 可用帯域推定及びスループット推定の違いを表すシーケンス図である。It is a sequence diagram showing the difference of an available band estimation and a throughput estimation. 本発明におけるサーバ−中継サーバ−端末間のシーケンス図である。It is a sequence diagram between the server-relay server-terminal in this invention. 本発明におけるサーバの機能構成図である。It is a functional block diagram of the server in this invention.

以下、本発明の実施の形態について、図面を用いて詳細に説明する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

図1は、本発明におけるサーバ−端末間のシーケンス図である。   FIG. 1 is a sequence diagram between a server and a terminal in the present invention.

図1によれば、サーバ1と端末2とが、ネットワークを介して接続されている。そして、サーバ1と端末2との間でTCPコネクションが確立されていると共に、UDPストリームの通信も可能であるとする。   According to FIG. 1, the server 1 and the terminal 2 are connected via a network. It is assumed that a TCP connection is established between the server 1 and the terminal 2 and that UDP stream communication is possible.

最初に、端末2が、サーバ1へ、TCPコネクション(UDPパケットであってもよい)を用いて、HTTP GETリクエスト(コンテンツ要求)を送信する。
次に、サーバ1は、HTTP GETリクエストに対応したHTTP GETレスポンスによって返信するユーザデータを返信する。このとき、サーバ1は、端末2へ返信すべきユーザデータを、端末2によってネットワークの通信帯域を計測することができるように送信する。
これに対し、端末2は、サーバ1から連続して受信するユーザデータを用いて、ネットワークの通信帯域を計測する。
First, the terminal 2 transmits an HTTP GET request (content request) to the server 1 using a TCP connection (which may be a UDP packet).
Next, the server 1 returns user data to be returned by an HTTP GET response corresponding to the HTTP GET request. At this time, the server 1 transmits user data to be returned to the terminal 2 so that the terminal 2 can measure the communication band of the network.
On the other hand, the terminal 2 measures the communication band of the network using user data continuously received from the server 1.

本発明によれば、サーバ1は、以下の2つのステップによって、ユーザデータを端末2へ返信する。
[ステップ1:S1]サーバ1は、返信すべきユーザデータ(HTTPコンテンツ)を所定単位時間でバッファし、そのバッファ量が所定閾値以下か否かを判定(真/偽)する。
[ステップ2:S2]
S21:サーバ1は、S1によって真と判定された場合(バッファ量が所定閾値以下)、ユーザデータを分割し、分割された各データをUDPパケットに構成し、「可用帯域推定」に基づいて各UDPパケットを送信する。
S22:逆に、サーバ1は、S1によって偽と判定された場合(バッファ量が所定閾値よりも多い)、ユーザデータをTCPパケットに構成し、「スループット計測」に基づいて各TCPパケットを送信する。
According to the present invention, the server 1 returns user data to the terminal 2 in the following two steps.
[Step 1: S1] The server 1 buffers user data (HTTP content) to be returned for a predetermined unit time, and determines whether the buffer amount is equal to or less than a predetermined threshold (true / false).
[Step 2: S2]
S21: The server 1 divides user data, configures each divided data into a UDP packet, and determines each based on “Available Bandwidth Estimation” when it is determined to be true by S1 (buffer amount is equal to or less than a predetermined threshold). Send a UDP packet.
S22: Conversely, if the server 1 determines that it is false by S1 (the buffer amount is larger than a predetermined threshold), the server 1 configures user data into TCP packets, and transmits each TCP packet based on “throughput measurement”. .

これに対し、端末2は、以下のように動作する。
S21:UDPパケットのユーザデータを受信した場合、「可用帯域推定」に基づいて送信レートを計測する。
S22:TCPパケットのユーザデータを受信した場合、「スループット計測」に基づいて送信レートを計測する。
計測に用いられたパケットのペイロードには、ユーザデータが含まれている。そのために、端末2は、それらユーザデータをアプリケーションへ出力する。ユーザデータがHTTPコンテンツである場合、Webブラウザへ出力される。
On the other hand, the terminal 2 operates as follows.
S21: When user data of a UDP packet is received, the transmission rate is measured based on “available bandwidth estimation”.
S22: When user data of a TCP packet is received, the transmission rate is measured based on “throughput measurement”.
The payload of the packet used for measurement includes user data. Therefore, the terminal 2 outputs these user data to the application. If the user data is HTTP content, it is output to a web browser.

図2は、可用帯域推定及びスループット推定の違いを表すシーケンス図である。   FIG. 2 is a sequence diagram showing the difference between the available bandwidth estimation and the throughput estimation.

本発明によれば、所定単位単位時間におけるユーザデータの通信量に応じて、推定に基づく「可用帯域推定」と、比較的精度が高い「スループット計測」とを、適応的に切り換えながら実行される。   According to the present invention, “usable bandwidth estimation” based on estimation and “throughput measurement” with relatively high accuracy are executed while adaptively switching according to the communication amount of user data in a predetermined unit unit time. .

[S21:可用帯域推定]
所定単位時間のバッファ量が少ない場合(転送すべきユーザデータが少ない場合)、ユーザの体感への影響を考慮して、UDPパケットによって遅延時間を短くすると共に、「可用帯域推定」によって通信帯域を推定する。
[S21: Available Bandwidth Estimation]
When the buffer amount for a predetermined unit time is small (when the user data to be transferred is small), the delay time is shortened by the UDP packet in consideration of the influence on the user's experience, and the communication band is set by “available bandwidth estimation”. presume.

「可用帯域推定」とは、試験パケットを、その送信間隔が指数関数的に短くなるように調整して送信する技術をいい、代表的にはpathChirp(例えば非特許文献3参照)がある。本発明によれば、試験パケットではなく、ユーザデータを含むパケットを送信する。送信するパケットのペイロードには、各パケットの送信タイミングの時刻情報が含められる。また、可用帯域推定に基づくパケットは、連続的なリアルタイムの転送が必要となるために、UDPで構成される。連続するUDPパケットを受信した端末2は、その受信時刻を記録する。端末2は、パケット毎に送信時刻と受信時刻との差分となる遅延時間の変動を分析し、可用帯域を推定する。   “Available bandwidth estimation” refers to a technique of transmitting a test packet after adjusting its transmission interval to be exponentially shortened, and typically includes pathChirp (see Non-Patent Document 3, for example). According to the present invention, a packet including user data is transmitted instead of a test packet. The payload of the packet to be transmitted includes time information on the transmission timing of each packet. Further, the packet based on the available bandwidth estimation is composed of UDP because continuous real-time transfer is required. The terminal 2 that receives the continuous UDP packet records the reception time. The terminal 2 analyzes the fluctuation of the delay time that is the difference between the transmission time and the reception time for each packet, and estimates the available bandwidth.

ここで、pathChirpについて、具体的に説明する。トレイン内の隣り合うパケット同士でパケットペアを構成する。そして、そのプローブ転送間隔を指数関数的に減少させながら送信する。パケットの送信レートが可用帯域以上となった場合に、遅延時間の変動が増加する現象を検出する。最初は送信間隔が広いために、遅延時間の変動はみられない。その後、パケット同士の送信間隔が狭まってくると、あるペアから遅延時間の変動が増え始める。遅延時間の変動が増加し始める時のパケットの送信レートに基づいて、可用帯域を推定する。   Here, pathChirp will be specifically described. A packet pair is composed of adjacent packets in the train. And it transmits, decreasing the probe transfer interval exponentially. A phenomenon is detected in which the variation in delay time increases when the packet transmission rate exceeds the available bandwidth. At first, since the transmission interval is wide, there is no fluctuation in the delay time. Thereafter, when the transmission interval between packets becomes narrower, the variation in delay time starts to increase from a certain pair. The available bandwidth is estimated based on the packet transmission rate when the delay time starts to increase.

[S22:スループット計測]
所定単位時間のバッファ量が多い場合(転送すべきユーザデータが多い場合)、TCPパケットによってペイロードを長くすると共に、「スループット計測」によって高い精度で通信帯域を計測する。
[S22: Throughput measurement]
When the buffer amount for a predetermined unit time is large (when there is a lot of user data to be transferred), the payload is lengthened by the TCP packet, and the communication band is measured with high accuracy by “throughput measurement”.

「スループット計測」とは、受信側端末が、単位時間当たりに受信するパケットのデータ量に基づいて、以下のようにTCPスループットを算出する。
TCPスループット=受信データ量/遅延時間
遅延時間=受信時刻−送信時刻
尚、遅延時間は、複数のパケットに基づく平均値又は最大値であることが好ましい。
“Throughput measurement” calculates the TCP throughput as follows based on the data amount of packets received by the receiving terminal per unit time.
TCP throughput = reception data amount / delay time delay time = reception time-transmission time The delay time is preferably an average value or a maximum value based on a plurality of packets.

<実施形態1:パケットに対する疑似パディングの使用>
S21及びS22について、サーバ1は、UDPパケット又はTCPパケットを構成する際に、パケット毎に指定データサイズまで疑似バイトを埋めて「パディング」する。即ち、1つのパケットに埋めるユーザデータが指定データサイズに達しない場合に、残りの部分に、例えばNullバイト列で埋める。指定データサイズは、UDPパケット又はTCPパケットそれぞれで指定されたものであってもよい。ユーザデータを用いて、試験パケットと同様に構成する。
<Embodiment 1: Use of pseudo-padding for packet>
Regarding S21 and S22, when constructing a UDP packet or a TCP packet, the server 1 “paddings” by embedding pseudo bytes up to the designated data size for each packet. That is, when the user data to be embedded in one packet does not reach the specified data size, the remaining portion is embedded with, for example, a null byte string. The designated data size may be designated by a UDP packet or a TCP packet. It is configured in the same way as a test packet using user data.

<実施形態2:バッファに対する待機時間タイマの使用>
S1について、サーバ1は、返信すべきユーザデータのパケットをバッファする毎に「待機時間タイマ」を起動する(タイマのリスタート)。その待機時間タイマが所定時間値以上となった時、判定結果を真としてS21を実行させる。即ち、「可用帯域推定」が実行される。これによって、端末を操作するユーザの体感について、通信帯域の計測におけるユーザデータの到着遅延の増大を抑制することができる。
<Embodiment 2: Use of Wait Time Timer for Buffer>
As for S1, the server 1 activates a “waiting time timer” (buffer restart) every time the user data packet to be returned is buffered. When the standby time timer becomes equal to or greater than a predetermined time value, S21 is executed with the determination result as true. That is, “available bandwidth estimation” is executed. As a result, an increase in the arrival delay of the user data in the measurement of the communication band can be suppressed with respect to the experience of the user who operates the terminal.

<実施形態3:優先度の高いパケットのバッファ除外>
S1について、サーバ1は、ユーザデータの中で、送信優先度が高いパケットをバッファしないように実行させる。優先度とは、ユーザデータの特性によって予め決められたものである。
<Embodiment 3: Exclude buffer of high priority packet>
About S1, the server 1 is made to perform so that a packet with a high transmission priority may not be buffered in user data. The priority is predetermined according to the characteristics of user data.

ここで、ユーザデータが、HTTPに基づくものであるとする。このとき、S1について、サーバ1は、HTMLテキストに基づくユーザデータを、送信優先度が高いパケットとしてバッファしないように実行させる。レスポンスとしてのHTMLテキストは、端末2が、Webサーバ1から最初にダウンロードするユーザデータである。このパケットを、送信優先度が高いパケットとしてバッファしないことによって、ユーザが視認する端末のWebブラウザへの表示の遅延をできる限り短くすることができる。   Here, it is assumed that the user data is based on HTTP. At this time, for S1, the server 1 executes user data based on the HTML text so as not to be buffered as a packet having a high transmission priority. The HTML text as a response is user data that the terminal 2 first downloads from the Web server 1. By not buffering this packet as a packet having a high transmission priority, the delay of display on the Web browser of the terminal visually recognized by the user can be minimized.

理由として、一般的なHTMLテキストはデータサイズが小さいことに基づく。そのために、HTMLテキストをバッファした場合、バッファの所定閾値まで蓄積することなく、所定のタイムアウトまで、ユーザデータの送信が停止する可能性が高い。端末2は、HTMLテキストが到着しない限り、次のコンテンツデータの受信を開始しないこととなる。そのような、HTMLテキストの転送停止は、ユーザが視認する端末のWebブラウザへの表示の遅延につながる。
一方で、HTMLテキスト以外のコンテンツデータは、そのデータサイズが大きいため、短時間で、バッファの所定閾値まで蓄積されることとなる。この実施形態によれば、HTMLテキストのような小さいユーザデータによって、通信帯域を計測することなく、コンテンツのような大きいユーザデータによって通信帯域を計測しようとする。
The reason is that general HTML text is based on a small data size. Therefore, when HTML text is buffered, there is a high possibility that transmission of user data will stop until a predetermined timeout without accumulating up to a predetermined threshold of the buffer. The terminal 2 does not start receiving the next content data unless the HTML text arrives. Such a transfer stop of HTML text leads to a delay in display on the Web browser of the terminal visually recognized by the user.
On the other hand, content data other than HTML text has a large data size, and therefore is stored in a short time up to a predetermined threshold value of the buffer. According to this embodiment, it is attempted to measure the communication band using large user data such as content without measuring the communication band using small user data such as HTML text.

尚、HTMLテキストか又はそれ以外のコンテンツデータかを判定するために、例えばHTMLヘッダに含まれているContent-Typeエンティティヘッダフィールドを参照することも好ましい。このフィールドには、一般的に、HTMLテキストの場合、text/htmlのヘッダ情報が付与され、画像や映像のようなコンテンツデータの場合、image/jpegや video/mpeg等のヘッダ情報が付与される。   In order to determine whether the text is HTML text or other content data, it is also preferable to refer to, for example, a Content-Type entity header field included in the HTML header. This field is generally given text / html header information in the case of HTML text, and header information such as image / jpeg or video / mpeg in the case of content data such as an image or video. .

他の実施形態として、バッファの可否を選択する方法として、HTMLテキスト以外に、IPヘッダのTOS(Type Of Service)値を用いることも好ましい。TOS値(8ビット)は、通信サービスの種別に基づいて、転送の優先度を表す目的使用される。   As another embodiment, it is also preferable to use a TOS (Type Of Service) value of the IP header in addition to the HTML text as a method for selecting whether or not the buffer is available. The TOS value (8 bits) is used for the purpose of indicating the transfer priority based on the type of communication service.

図3は、本発明におけるサーバ−中継サーバ−端末間のシーケンス図である。   FIG. 3 is a sequence diagram between a server, a relay server, and a terminal in the present invention.

図3によれば、図1と比較して、既存のWebサーバ(アプリケーションサーバ)と端末2との間に、本発明の特徴ある中継サーバ1が配置されている。図3のシステムによれば、Webサーバに本発明の機能を搭載することなく、ユーザの端末2からみて、何れのWebサーバに対する通信帯域であっても計測することができる。また、本発明のサーバの機能を、既存のWebサーバに実装することなく、中継サーバ1を介して実現することができる。   According to FIG. 3, compared with FIG. 1, the relay server 1 that is a feature of the present invention is arranged between the existing Web server (application server) and the terminal 2. According to the system of FIG. 3, it is possible to measure the communication band for any Web server as viewed from the user terminal 2 without mounting the function of the present invention on the Web server. Further, the server function of the present invention can be realized via the relay server 1 without being implemented in an existing Web server.

ここで、本発明を中継サーバに搭載した理由としては、以下の2つがある。
第1に、通信帯域の計測が最も必要とされるのは、無線リンクの区間である。無線リンクを介して中継サーバ−端末間の通信帯域を計測することが好ましい。
第2に、何れのWebサーバとの間の通信帯域を計測するために、通信事業者設備に中継サーバを配置することが好ましい。
Here, there are the following two reasons for installing the present invention in the relay server.
First, it is the section of the radio link that requires the most measurement of the communication band. It is preferable to measure the communication band between the relay server and the terminal via a wireless link.
Secondly, in order to measure a communication band with any Web server, it is preferable to arrange a relay server in the communication carrier equipment.

中継サーバ1は、端末との間のTCPコネクションと、Webサーバとの間のTCPコネクションとを別々に確立する。
(S31)端末2は、Webサーバへ送信すべきHTTP GETリクエストについて、UDP又はTCPヘッダを付与し、宛先IPアドレスとして中継サーバ1を指定したパケットを、中継サーバ1へ送信する。
(S32)次に、中継サーバ1は、受信したパケットのUDP又はTCPヘッダを除去し、HTTP GETリクエストを抽出する。そのHTTP GETリクエストから、通信先のWebサーバのIPアドレス等の情報を取得する。そして、中継サーバ1は、そのHTTP GETリクエストについて、UDP又はTCPヘッダを付与し、宛先IPアドレスとしてWebサーバを指定したパケットを、Webサーバへ送信する。
(S33)これに対し、Webサーバは、受信したパケットのUDP又はTCPヘッダを除去し、HTTP GETリクエストを抽出する。そして、Webサーバは、リクエストに対応するHTMLテキスト及びコンテンツデータのパケットにUDP又はTCPヘッダを付与し、宛先IPアドレスとして中継サーバ1を指定したパケットを、中継サーバ1へ送信する。
The relay server 1 establishes a TCP connection with the terminal and a TCP connection with the Web server separately.
(S31) The terminal 2 adds a UDP or TCP header to the HTTP GET request to be transmitted to the Web server, and transmits a packet specifying the relay server 1 as the destination IP address to the relay server 1.
(S32) Next, the relay server 1 removes the UDP or TCP header of the received packet and extracts an HTTP GET request. Information such as the IP address of the communication destination Web server is acquired from the HTTP GET request. Then, the relay server 1 adds a UDP or TCP header to the HTTP GET request and transmits a packet specifying the Web server as the destination IP address to the Web server.
(S33) On the other hand, the Web server removes the UDP or TCP header of the received packet and extracts an HTTP GET request. Then, the Web server adds a UDP or TCP header to the HTML text and content data packet corresponding to the request, and transmits the packet specifying the relay server 1 as the destination IP address to the relay server 1.

そして、中継サーバ1は、Webサーバから受信したパケットを、本発明のバッファに入力する。その後、中継サーバ1は、前述したS1及びS2の処理を実行する。尚、中継サーバ1は、HTTP GETレスポンスのみについて、通信帯域の計測を実行するものであってもよい。その場合、OS(例えばLinux(登録商標)やAndroid(登録商標)等)に実装されたiptables機能を用いて、パケットを区別するものであってもよい。   Then, the relay server 1 inputs the packet received from the Web server to the buffer of the present invention. Thereafter, the relay server 1 executes the processes of S1 and S2 described above. Note that the relay server 1 may perform communication band measurement only for the HTTP GET response. In that case, packets may be distinguished using an iptables function implemented in an OS (for example, Linux (registered trademark) or Android (registered trademark)).

結果的に、端末2は、中継サーバ1からのユーザデータの受信と同時に、通信帯域を計測することができる。   As a result, the terminal 2 can measure the communication band simultaneously with the reception of user data from the relay server 1.

図4は、本発明におけるサーバの機能構成図である。   FIG. 4 is a functional configuration diagram of the server in the present invention.

図4のサーバは、図1のサーバ1であってもよいし、図3の中継サーバ1であってもよい。図4によれば、サーバ1は、バッファ判定部11と、可用帯域推定送信部12と、スループット計測部13とを有する。これら機能構成部は、サーバに搭載されたコンピュータを機能させるプログラムを実行することによって実現される。また、これら機能構成部の処理の流れは、パケット転送方法としても理解できる。   The server in FIG. 4 may be the server 1 in FIG. 1 or the relay server 1 in FIG. According to FIG. 4, the server 1 includes a buffer determination unit 11, an available bandwidth estimation transmission unit 12, and a throughput measurement unit 13. These functional components are realized by executing a program that causes a computer mounted on the server to function. The processing flow of these functional components can also be understood as a packet transfer method.

バッファ判定部11は、返信すべきユーザデータを所定単位時間でバッファし、そのバッファ量が所定閾値以下か否かを判定する(図1のS1参照)。
可用帯域推定送信部12は、バッファ判定部11で真(バッファ量が所定閾値以下)と判定された場合、ユーザデータを分割し、分割された各データをUDPパケットに構成し、可用帯域推定に基づいて各UDPパケットを送信する(図1のS21参照)。
スループット計測送信部13は、バッファ判定部11で偽(バッファ量が所定閾値よりも多い)と判定された場合、ユーザデータをTCPパケットに構成し、スループット計測に基づいて各TCPパケットを送信する(図1のS22参照)。
The buffer determination unit 11 buffers user data to be returned for a predetermined unit time, and determines whether the buffer amount is equal to or less than a predetermined threshold (see S1 in FIG. 1).
The usable bandwidth estimation transmission unit 12 divides user data when the buffer determination unit 11 determines that the buffer is true (the buffer amount is equal to or less than a predetermined threshold), configures each divided data into a UDP packet, and estimates the usable bandwidth. Based on this, each UDP packet is transmitted (see S21 in FIG. 1).
If the buffer determination unit 11 determines that the buffer determination unit 11 is false (the buffer amount is greater than the predetermined threshold), the throughput measurement transmission unit 13 configures user data into TCP packets and transmits each TCP packet based on the throughput measurement ( (See S22 in FIG. 1).

これに対し、端末2は、UDPパケットのユーザデータを受信した場合、可用帯域推定に基づいて送信レートを計測し、TCPパケットのユーザデータを受信した場合、スループット計測に基づいて送信レートを計測する。また、例えばHTTPレスポンスのユーザデータは、Webブラウザへ出力される。   On the other hand, when the user data of the UDP packet is received, the terminal 2 measures the transmission rate based on the available bandwidth estimation. When the terminal 2 receives the user data of the TCP packet, the terminal 2 measures the transmission rate based on the throughput measurement. . For example, user data of HTTP response is output to the Web browser.

以上、詳細に説明したように、本発明のプログラム、サーバ、システム及び方法によれば、ユーザが利用するデータ通信量が大きく変動する場合であっても、ユーザデータを用いてネットワークの通信帯域を計測することができる。ユーザデータを用いるために、特定の試験パケットを転送する必要がなく、ユーザ毎に契約されたデータ通信量を浸食することがない。また、ユーザデータの転送データ量が少ない場合、UDPパケットに構成した可用帯域推定によって通信帯域を計測するために、長いペイロードで且つウィンドウ制御を伴うTCPを用いることがなく、ユーザデータの到着遅延を小さくすることができる。   As described above in detail, according to the program, server, system, and method of the present invention, even if the amount of data communication used by the user fluctuates greatly, the communication bandwidth of the network can be reduced using user data. It can be measured. In order to use user data, it is not necessary to transfer a specific test packet, and the amount of data communication contracted for each user is not eroded. In addition, when the amount of user data to be transferred is small, in order to measure the communication bandwidth by estimating the available bandwidth configured in the UDP packet, it is possible to reduce the arrival delay of the user data without using TCP with a long payload and window control. Can be small.

前述した本発明の種々の実施形態について、本発明の技術思想及び見地の範囲の種々の変更、修正及び省略は、当業者によれば容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。   Various changes, modifications, and omissions of the above-described various embodiments of the present invention can be easily made by those skilled in the art. The above description is merely an example, and is not intended to be restrictive. The invention is limited only as defined in the following claims and the equivalents thereto.

1 サーバ、中継サーバ
11 バッファ判定部
12 可用帯域推定送信部
13 スループット計測送信部
2 端末
3 Webサーバ
DESCRIPTION OF SYMBOLS 1 Server, relay server 11 Buffer determination part 12 Available bandwidth estimation transmission part 13 Throughput measurement transmission part 2 Terminal 3 Web server

Claims (10)

端末へ返信するユーザデータを用いて、該端末によってネットワークの通信帯域を計測することができるように送信するサーバに搭載されたコンピュータを機能させるプログラムであって、
返信すべきユーザデータを所定単位時間でバッファし、そのバッファ量が所定閾値以下か否かを判定する第1のステップと、
第1のステップによって真と判定された場合、ユーザデータを分割し、分割された各データをUDP(User Datagram Protocol)パケットに構成し、可用帯域推定に基づいて各UDPパケットを送信し、第1のステップによって偽と判定された場合、ユーザデータをTCP(Transmission Control Protocol)パケットに構成し、スループット計測に基づいて各TCPパケットを送信する第2のステップと
を実行させることを特徴とするサーバ用のプログラム。
A program that causes a computer mounted on a server to function so that the communication bandwidth of the network can be measured by the terminal using user data returned to the terminal,
A first step of buffering user data to be returned in a predetermined unit time and determining whether the buffer amount is equal to or less than a predetermined threshold;
If it is determined to be true by the first step, the user data is divided, each divided data is formed into a UDP (User Datagram Protocol) packet, and each UDP packet is transmitted based on the available bandwidth estimation. For the server, the user data is configured in a TCP (Transmission Control Protocol) packet and the second step of transmitting each TCP packet based on the throughput measurement is executed when it is determined to be false in the step Program.
第2のステップについて、前記サーバは、UDPパケット又はTCPパケットを構成する際に、パケット毎に指定データサイズまでユーザデータに追加して疑似バイトを埋めてパディングする
ように実行させることを特徴とする請求項1に記載のサーバ用のプログラム。
Regarding the second step, when the server constructs a UDP packet or a TCP packet, the server performs execution so as to add up to the specified data size for each packet and fill the pseudo bytes with padding. The server program according to claim 1.
第1のステップについて、前記サーバは、返信すべきユーザデータのパケットをバッファする毎に待機時間タイマを起動し、該待機時間タイマが所定時間値以上となった時、判定結果を真として第2のステップを実行させる
ことを特徴とする請求項1又は2に記載のサーバ用のプログラム。
With respect to the first step, the server activates a standby time timer each time a user data packet to be returned is buffered, and when the standby time timer exceeds a predetermined time value, the server sets the determination result to true. The server program according to claim 1 or 2, wherein the steps are executed.
第1のステップについて、前記サーバは、ユーザデータの中で、送信優先度が高いパケットをバッファしないように実行させる
ことを特徴とする請求項1から3のいずれか1項に記載のサーバ用のプログラム。
4. The server for the server according to claim 1, wherein the server executes the server so that a packet having a high transmission priority is not buffered in the user data. 5. program.
前記ユーザデータは、HTTP(HyperText Transport Protocol)に基づくものであり、
第1のステップについて、前記サーバは、HTML(HyperText Markup Language)テキストに基づくユーザデータを、前記送信優先度が高いパケットとしてバッファしないように実行させる
ことを特徴とする請求項4に記載のサーバ用のプログラム。
The user data is based on HTTP (HyperText Transport Protocol),
5. The server according to claim 4, wherein the server causes the user data based on HTML (HyperText Markup Language) text to be executed so as not to be buffered as a packet having a high transmission priority. 6. Program.
請求項1から5のいずれか1項に記載のサーバ用のプログラムをコンピュータによって実行するサーバと通信する「端末」に搭載されたコンピュータを機能させる端末用のプログラムであって、
前記端末は、UDPパケットのユーザデータを受信した場合、可用帯域推定に基づいて送信レートを計測し、TCPパケットのユーザデータを受信した場合、スループット計測に基づいて送信レートを計測する
ように実行することを特徴とする端末用のプログラム。
A program for a terminal that causes a computer mounted on a "terminal" that communicates with a server that executes the program for a server according to any one of claims 1 to 5 to be executed by a computer,
When receiving the user data of the UDP packet, the terminal measures the transmission rate based on the available bandwidth estimation. When receiving the user data of the TCP packet, the terminal executes the transmission rate based on the throughput measurement. A program for a terminal characterized by the above.
端末へ返信するユーザデータを用いて、該端末によってネットワークの通信帯域を計測することができるように送信するサーバであって、
返信すべきユーザデータを所定単位時間でバッファし、そのバッファ量が所定閾値以下か否かを判定するバッファ判定手段と、
前記バッファ判定手段で真と判定された場合、ユーザデータを分割し、分割された各データをUDPパケットに構成し、可用帯域推定に基づいて各UDPパケットを送信する可用帯域推定送信手段と、
前記バッファ判定手段で偽と判定された場合、ユーザデータをTCPパケットに構成し、スループット計測に基づいて各TCPパケットを送信するスループット計測送信手段と
を有することを特徴とするサーバ。
A server that uses user data sent back to the terminal to transmit the network communication band so that the terminal can measure the network,
Buffer determination means for buffering user data to be returned in a predetermined unit time, and determining whether the buffer amount is equal to or less than a predetermined threshold;
When it is determined to be true by the buffer determination unit, the user data is divided, each divided data is configured into a UDP packet, and each UDP packet is transmitted based on the available band estimation; and
And a throughput measurement transmission unit configured to configure user data in a TCP packet and transmit each TCP packet based on the throughput measurement when the buffer determination unit determines to be false.
請求項7に記載のサーバと、該サーバと通信する端末とを有するシステムであって、
前記端末は、
UDPパケットのユーザデータを受信した場合、可用帯域推定に基づいて送信レートを計測する可用帯域推定手段と、
TCPパケットのユーザデータを受信した場合、スループット計測に基づいて送信レートを計測するスループット計測手段と
を有することを特徴とするシステム。
A system comprising the server according to claim 7 and a terminal that communicates with the server,
The terminal
When user data of a UDP packet is received, an available bandwidth estimation unit that measures a transmission rate based on the available bandwidth estimation;
A system comprising throughput measuring means for measuring a transmission rate based on throughput measurement when user data of a TCP packet is received.
前記サーバは、中継サーバであって、
前記端末が、コンテンツ取得要求を、前記中継サーバへ送信し、
前記中継サーバが、前記コンテンツ取得要求を、Webサーバへ送信し、
前記Webサーバが、コンテンツ応答に基づくユーザデータを、前記中継サーバへ返信し、
前記中継サーバが、端末へ返信するコンテンツ応答のユーザデータを用いて、該端末によってネットワークの通信帯域を計測することができるように送信する
ことを特徴とする請求項8に記載のシステム。
The server is a relay server,
The terminal transmits a content acquisition request to the relay server,
The relay server transmits the content acquisition request to a Web server;
The Web server returns user data based on the content response to the relay server,
9. The system according to claim 8, wherein the relay server transmits the content response user data sent back to the terminal so that the network communication band can be measured by the terminal.
サーバから端末へ返信されるユーザデータを用いて、ネットワークの通信帯域を計測する方法において、
前記サーバが、返信すべきユーザデータを所定単位時間でバッファし、そのバッファ量が所定閾値以下か否かを判定する第1のステップと、
前記サーバは、第1のステップで真と判定された場合、ユーザデータを分割し、分割された各データをUDPパケットに構成し、可用帯域推定に基づいて各UDPパケットを送信し、第1のステップで偽と判定された場合、ユーザデータをTCPパケットに構成し、スループット計測に基づいて各TCPパケットを送信する第2のステップと、
前記端末は、UDPパケットのユーザデータを受信した場合、可用帯域推定に基づいて送信レートを計測し、TCPパケットのユーザデータを受信した場合、スループット計測に基づいて送信レートを計測する第3のステップと
を有することを特徴とする方法。
In the method of measuring the communication bandwidth of the network using user data returned from the server to the terminal,
A first step in which the server buffers user data to be returned in a predetermined unit time, and determines whether or not the buffer amount is equal to or less than a predetermined threshold;
If the server determines true in the first step, the server divides user data, configures each divided data into UDP packets, transmits each UDP packet based on the available bandwidth estimation, A second step of configuring user data into TCP packets and transmitting each TCP packet based on throughput measurement if determined to be false in the step;
The terminal measures the transmission rate based on the available bandwidth estimation when receiving user data of the UDP packet, and measures the transmission rate based on throughput measurement when receiving the user data of the TCP packet. A method characterized by comprising:
JP2014253871A 2014-12-16 2014-12-16 Program, server, system and method for measuring communication bandwidth using user data Expired - Fee Related JP6367106B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014253871A JP6367106B2 (en) 2014-12-16 2014-12-16 Program, server, system and method for measuring communication bandwidth using user data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014253871A JP6367106B2 (en) 2014-12-16 2014-12-16 Program, server, system and method for measuring communication bandwidth using user data

Publications (2)

Publication Number Publication Date
JP2016116104A true JP2016116104A (en) 2016-06-23
JP6367106B2 JP6367106B2 (en) 2018-08-01

Family

ID=56142506

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014253871A Expired - Fee Related JP6367106B2 (en) 2014-12-16 2014-12-16 Program, server, system and method for measuring communication bandwidth using user data

Country Status (1)

Country Link
JP (1) JP6367106B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020102038A (en) * 2018-12-21 2020-07-02 キヤノン株式会社 Communication method, information processor, and program
JP2020532224A (en) * 2017-08-22 2020-11-05 デジェロ ラブス インコーポレイテッド Systems and methods for evaluating communication resources

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010213065A (en) * 2009-03-11 2010-09-24 Kddi Corp Packet receiving apparatus and packet receiving system
JP2010239355A (en) * 2009-03-31 2010-10-21 Ntt Docomo Inc Communication control system, connection request receiving node, connection processing node and communication control method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010213065A (en) * 2009-03-11 2010-09-24 Kddi Corp Packet receiving apparatus and packet receiving system
JP2010239355A (en) * 2009-03-31 2010-10-21 Ntt Docomo Inc Communication control system, connection request receiving node, connection processing node and communication control method

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020532224A (en) * 2017-08-22 2020-11-05 デジェロ ラブス インコーポレイテッド Systems and methods for evaluating communication resources
JP7211632B2 (en) 2017-08-22 2023-01-24 デジェロ ラブス インコーポレイテッド Systems and methods for evaluating communication resources
US11909593B2 (en) 2017-08-22 2024-02-20 Dejero Labs Inc. System and method for assessing communication resources
JP2020102038A (en) * 2018-12-21 2020-07-02 キヤノン株式会社 Communication method, information processor, and program
US11533218B2 (en) 2018-12-21 2022-12-20 Canon Kabushiki Kaisha Communication method and control method in information processing apparatus
JP7256638B2 (en) 2018-12-21 2023-04-12 キヤノン株式会社 Communication method, information processing device, and program

Also Published As

Publication number Publication date
JP6367106B2 (en) 2018-08-01

Similar Documents

Publication Publication Date Title
KR102583750B1 (en) Systems and methods for pacing data flows
CN105306888B (en) Mobile video monitor bandwidth self-adaption method based on packet loss differentiating
US10038639B2 (en) Congestion control based on flow control
US10057147B2 (en) Apparatus and method for controlling data flow in communication system
JP2017516188A (en) Transport accelerator implementing request manager and connection manager functionality
KR20150089853A (en) Traffic split control method and apparatus in heterogeneous wireless networks
JP2007060494A (en) Network system, transmitting side sorting device, packet communication method and packet communication program
WO2019162321A1 (en) Techniques for efficient reordering of data packets in multipath scenarios
CN101771585A (en) Network delay measuring equipment and method thereof
KR101983088B1 (en) Method for UDP Packet Processing in the Multi-path Environment
US10952102B2 (en) Method and apparatus for controlling data transmission speed in wireless communication system
JP6367106B2 (en) Program, server, system and method for measuring communication bandwidth using user data
Kilinc et al. A congestion avoidance mechanism for WebRTC interactive video sessions in LTE networks
US9258240B2 (en) Available bandwidth estimating device
Rico et al. A testbed for developing, simulating and experimenting multipath aggregation algorithms
Caraguay et al. Framework for optimized multimedia routing over software defined networks
KR101234816B1 (en) Congestion detection apparatus, congestion control apparatus, and congestion control method thereof
US20180317119A1 (en) Predicting downlink throughput
WO2014171543A1 (en) Data transmission device, data transmission method, and program therefor
JP6200870B2 (en) Data transfer control device, method and program
Park et al. Minimizing application-level delay of multi-path TCP in wireless networks: A receiver-centric approach
US20130051257A1 (en) Scheduling of Packets at Cellular Base Stations
JP2014116840A (en) Communication quality estimation device
KR20150096853A (en) Method for load balancing using multiple interface apparatus therefor
KR102131427B1 (en) Method and apparatus for performing a congestion control in stream control transmission protocol

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170812

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180622

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180704

R150 Certificate of patent or registration of utility model

Ref document number: 6367106

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees