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 PDFInfo
- 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
Links
Images
Abstract
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
一方で、測定用の試験パケットをネットワークに送信することなく、送受信装置間の通信帯域を計測する技術もある(例えば非特許文献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). ).
非特許文献1、2に記載の技術によれば、TCPスループットを計測するために、ユーザデータ通信とは別に、測定用の試験パケットをネットワークへ送信しなければならない。そのために、ネットワークの通信帯域に高い負荷を与えることとなる。
According to the techniques described in
非特許文献3に記載の技術によれば、非特許文献1、2に記載の技術よりも、少量の試験パケットで可用帯域を推定することができる。実際にネットワークに負荷を与えて計測するものではないため、推定結果の精度も比較的低くなる。特に、非特許文献1、2に記載の技術よりも少量ではあるが、試験パケットをネットワークに流入させる必要がある。
According to the technique described in Non-Patent
非特許文献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
そこで、本発明は、ユーザが利用するデータ通信量が大きく変動する場合であっても、ユーザデータを用いてネットワークの通信帯域を計測することができるプログラム、サーバ、システム及び方法を提供することを目的とする。 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.
以下、本発明の実施の形態について、図面を用いて詳細に説明する。 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
最初に、端末2が、サーバ1へ、TCPコネクション(UDPパケットであってもよい)を用いて、HTTP GETリクエスト(コンテンツ要求)を送信する。
次に、サーバ1は、HTTP GETリクエストに対応したHTTP GETレスポンスによって返信するユーザデータを返信する。このとき、サーバ1は、端末2へ返信すべきユーザデータを、端末2によってネットワークの通信帯域を計測することができるように送信する。
これに対し、端末2は、サーバ1から連続して受信するユーザデータを用いて、ネットワークの通信帯域を計測する。
First, the
Next, the
On the other hand, the terminal 2 measures the communication band of the network using user data continuously received from the
本発明によれば、サーバ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
[Step 1: S1] The
[Step 2: S2]
S21: The
S22: Conversely, if the
これに対し、端末2は、以下のように動作する。
S21:UDPパケットのユーザデータを受信した場合、「可用帯域推定」に基づいて送信レートを計測する。
S22:TCPパケットのユーザデータを受信した場合、「スループット計測」に基づいて送信レートを計測する。
計測に用いられたパケットのペイロードには、ユーザデータが含まれている。そのために、端末2は、それらユーザデータをアプリケーションへ出力する。ユーザデータがHTTPコンテンツである場合、Webブラウザへ出力される。
On the other hand, the
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
図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
ここで、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
<実施形態2:バッファに対する待機時間タイマの使用>
S1について、サーバ1は、返信すべきユーザデータのパケットをバッファする毎に「待機時間タイマ」を起動する(タイマのリスタート)。その待機時間タイマが所定時間値以上となった時、判定結果を真としてS21を実行させる。即ち、「可用帯域推定」が実行される。これによって、端末を操作するユーザの体感について、通信帯域の計測におけるユーザデータの到着遅延の増大を抑制することができる。
<Embodiment 2: Use of Wait Time Timer for Buffer>
As for S1, the
<実施形態3:優先度の高いパケットのバッファ除外>
S1について、サーバ1は、ユーザデータの中で、送信優先度が高いパケットをバッファしないように実行させる。優先度とは、ユーザデータの特性によって予め決められたものである。
<Embodiment 3: Exclude buffer of high priority packet>
About S1, the
ここで、ユーザデータが、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
理由として、一般的な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
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
ここで、本発明を中継サーバに搭載した理由としては、以下の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
(S31) The
(S32) Next, the
(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
そして、中継サーバ1は、Webサーバから受信したパケットを、本発明のバッファに入力する。その後、中継サーバ1は、前述したS1及びS2の処理を実行する。尚、中継サーバ1は、HTTP GETレスポンスのみについて、通信帯域の計測を実行するものであってもよい。その場合、OS(例えばLinux(登録商標)やAndroid(登録商標)等)に実装されたiptables機能を用いて、パケットを区別するものであってもよい。
Then, the
結果的に、端末2は、中継サーバ1からのユーザデータの受信と同時に、通信帯域を計測することができる。
As a result, the
図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
バッファ判定部11は、返信すべきユーザデータを所定単位時間でバッファし、そのバッファ量が所定閾値以下か否かを判定する(図1のS1参照)。
可用帯域推定送信部12は、バッファ判定部11で真(バッファ量が所定閾値以下)と判定された場合、ユーザデータを分割し、分割された各データをUDPパケットに構成し、可用帯域推定に基づいて各UDPパケットを送信する(図1のS21参照)。
スループット計測送信部13は、バッファ判定部11で偽(バッファ量が所定閾値よりも多い)と判定された場合、ユーザデータをTCPパケットに構成し、スループット計測に基づいて各TCPパケットを送信する(図1のS22参照)。
The
The usable bandwidth
If the
これに対し、端末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
以上、詳細に説明したように、本発明のプログラム、サーバ、システム及び方法によれば、ユーザが利用するデータ通信量が大きく変動する場合であっても、ユーザデータを用いてネットワークの通信帯域を計測することができる。ユーザデータを用いるために、特定の試験パケットを転送する必要がなく、ユーザ毎に契約されたデータ通信量を浸食することがない。また、ユーザデータの転送データ量が少ない場合、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
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.
ように実行させることを特徴とする請求項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に記載のサーバ用のプログラム。 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から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.
第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.
前記端末は、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.
前記端末は、
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:
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)
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)
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 |
-
2014
- 2014-12-16 JP JP2014253871A patent/JP6367106B2/en not_active Expired - Fee Related
Patent Citations (2)
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)
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 |