JP4730427B2 - COMMUNICATION PROCESSING DEVICE, DATA COMMUNICATION SYSTEM, COMMUNICATION PROCESSING METHOD, AND COMPUTER PROGRAM - Google Patents

COMMUNICATION PROCESSING DEVICE, DATA COMMUNICATION SYSTEM, COMMUNICATION PROCESSING METHOD, AND COMPUTER PROGRAM Download PDF

Info

Publication number
JP4730427B2
JP4730427B2 JP2008297631A JP2008297631A JP4730427B2 JP 4730427 B2 JP4730427 B2 JP 4730427B2 JP 2008297631 A JP2008297631 A JP 2008297631A JP 2008297631 A JP2008297631 A JP 2008297631A JP 4730427 B2 JP4730427 B2 JP 4730427B2
Authority
JP
Japan
Prior art keywords
client
bit rate
data
server
transmission
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.)
Expired - Fee Related
Application number
JP2008297631A
Other languages
Japanese (ja)
Other versions
JP2009089416A (en
Inventor
晃通 小川
卓也 五十嵐
一宏 舌間
成志 見山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2008297631A priority Critical patent/JP4730427B2/en
Publication of JP2009089416A publication Critical patent/JP2009089416A/en
Application granted granted Critical
Publication of JP4730427B2 publication Critical patent/JP4730427B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

本発明は、通信処理装置、データ通信システム、および通信処理方法、並びにコンピュータ・プログラムに関する。特に、ストリーミングデータの送受信における的確なビットレート制御を行なう通信処理装置、データ通信システム、および通信処理方法、並びにコンピュータ・プログラムに関する。   The present invention relates to a communication processing device, a data communication system, a communication processing method, and a computer program. In particular, the present invention relates to a communication processing apparatus, a data communication system, a communication processing method, and a computer program that perform accurate bit rate control in transmission / reception of streaming data.

昨今、インターネットを介したデータ通信が盛んに行なわれ、さらに家庭内においても家電機器やコンピュータ、その他の周辺機器をネットワーク接続して機器間での通信を可能としたホームネットワークが浸透しつつある。ホームネットワークは、例えば、ネットワーク接続機器間でのコンテンツ送受信を可能とし、ユーザに利便性・快適性を提供するものであり、今後、ますます普及することが予測される。   In recent years, data communication via the Internet has been actively performed, and home networks that allow communication between devices by connecting home appliances, computers, and other peripheral devices to the network are also spreading in the home. The home network, for example, enables content transmission / reception between network-connected devices and provides convenience and comfort to users, and is expected to become increasingly popular in the future.

サーバの保持する画像データを、ネットワークを介してクライアントに送信し、クライアント側でデータ受信を実行しながら再生を行なうデータ配信処理は、いわゆるストリーミングデータ配信、あるいはデータストリーミングなどと呼ばれる。このようなストリーミングデータ配信を行なうサーバをストリーミングサーバ、ストリーミングサーバからデータを受信するクライアントをストリーミングクライアントと呼ぶ。ストリーミングサーバは、エンコードなどのデータ処理を実行して送信データを生成してネットワークに出力する。一方、ストリーミングクライアントは、受信データをバッファに一時蓄積し、その後、順次デコード処理、再生を行なう。   Data distribution processing in which image data held by a server is transmitted to a client via a network and reproduction is performed while receiving data on the client side is called so-called streaming data distribution or data streaming. A server that performs such streaming data distribution is called a streaming server, and a client that receives data from the streaming server is called a streaming client. The streaming server executes data processing such as encoding, generates transmission data, and outputs it to the network. On the other hand, the streaming client temporarily stores received data in a buffer, and then sequentially performs decoding processing and reproduction.

多くの場合、データストリーミングにおいて用いられる通信プロトコルは、RTP(Real Time Transport Protocol)である。RTPは、原則として再送制御を行わない。すなわち、パケットロス対策や伝送時間保証などは行われていないUDP(User Datagram Protocol)型のプロトコルである。パケットロスが発生した場合でも再送処理を行わないため、再送処理に起因する遅延が起こらずリアルタイム再生に適したプロトコルである。   In many cases, a communication protocol used in data streaming is RTP (Real Time Transport Protocol). RTP does not perform retransmission control in principle. That is, it is a UDP (User Datagram Protocol) type protocol that does not take measures against packet loss or guarantee transmission time. Since retransmission processing is not performed even when packet loss occurs, the protocol is suitable for real-time reproduction without causing a delay due to retransmission processing.

RTPを適用した通信では、例えばRTCP(RTP Control Protocol)を用いたレート制御が行なわれる。例えば、特許文献1は、データ受信側の装置が、データ送信側の装置に対してパケット損失率などをRTCPのRR(Receiver Report)パケットに記載して通知し、送信側でデータの伝送状態を推定し、送信レートを制御するという方法を開示している。   In communication using RTP, rate control using, for example, RTCP (RTP Control Protocol) is performed. For example, in Patent Document 1, a device on the data receiving side notifies a device on the data transmitting side of a packet loss rate or the like described in an RTCP RR (Receiver Report) packet, and the data transmission state is notified on the transmitting side. A method of estimating and controlling the transmission rate is disclosed.

ストリーミング配信では、最適な伝送レートでデータ配信を行なうことが重要となる。例えば特許文献2には、データ送受信装置の双方が、上りまたは下りの伝送レートを計測して、レート制御を実行する装置が、計測されたレートのうち、小さいほうのレートに制御することで安定的にデータ伝送を行なう構成を開示している。   In streaming distribution, it is important to perform data distribution at an optimal transmission rate. For example, in Patent Document 2, both data transmission / reception devices measure the uplink or downlink transmission rate, and the device that performs rate control stabilizes by controlling to the smaller one of the measured rates. The structure which performs data transmission specifically is disclosed.

上述のRTPによるストリーミング配信では、パケットロスが発生しても再送を行なわないため再生遅れを発生させないというメリットがあるが、データ品質を向上させるためには、クライアント側で、完全なデータ受信が行われることが好ましい。また、配信コンテンツが、暗号化データである場合などにおいては、クライアント側におけるコンテンツ復号の際に、消失データ部分があると復号が不可能となり再生ができなくなる場合もある。このようなコンテンツの場合、RTPのような再送制御を行わないプロトコルは不適当である。   The streaming distribution by RTP described above has an advantage that no reproduction delay occurs because retransmission is not performed even if packet loss occurs. However, in order to improve data quality, complete data reception is performed on the client side. Are preferred. In addition, when the distribution content is encrypted data or the like, if there is an erasure data part at the time of content decryption on the client side, decryption becomes impossible and reproduction may not be possible. In the case of such contents, a protocol that does not perform retransmission control such as RTP is inappropriate.

このように転送データの完全性を望む場合は、パケットロスに対する対処を行なうプロトコル、例えばTCP(Transmission Control Protocol)などのトランスポートプロトコルが適用される。TCPによる画像データの配信構成については、例えば特許文献3に記載されている。   In this way, when transfer data integrity is desired, a protocol for dealing with packet loss, for example, a transport protocol such as TCP (Transmission Control Protocol) is applied. A distribution configuration of image data by TCP is described in Patent Document 3, for example.

TCPなどのトランスポートプロトコルを用いた通信はベストエフォートで行われる。マルチメディアデータのストリーミングを行う場合、ベストエフォートの通信による通信帯域幅の変動は深刻な問題となる。この問題は例えばTCPでは顕著になる。TCPでは、データの喪失が無い代わりにデータの到達時間が遅れるため、通信帯域幅が狭くなるとデータ到達時間が遅れる。このデータ到達時間の遅れにより、TCPストリーミングでは、輻輳時に映像や音声が途切れやすくなる。そこで、その解決手法としてストリーミングサーバからのデータ配信において送信データのビットレートを増減させて、通信帯域幅の変動に適応させることが一般に行われる。映像データなどを含むマルチメディアデータのビットレート増減手法は、データストリーミングの品質に大きく影響を与える。   Communication using a transport protocol such as TCP is performed at best effort. When streaming multimedia data, fluctuations in communication bandwidth due to best-effort communication become a serious problem. This problem becomes prominent in TCP, for example. In TCP, since the data arrival time is delayed instead of no data loss, the data arrival time is delayed when the communication bandwidth is narrowed. Due to this delay in data arrival time, video and audio are likely to be interrupted during congestion in TCP streaming. In order to solve this problem, it is common to increase or decrease the bit rate of transmission data in data distribution from a streaming server so as to adapt to fluctuations in communication bandwidth. The bit rate increase / decrease method of multimedia data including video data greatly affects the quality of data streaming.

従来の手法ではストリーミングサーバが配信データのビットレートを増減させる判断材料は、主にクライアントからの情報である。例えば、クライアントのアプリケーションバッファに蓄えられているデータ量に関する情報が利用される。しかし、クライアントのアプリケーションバッファに蓄えられているデータ量の計算のみでは、ネットワークの帯域許容量以上のビットレートでデータを送信してしまう可能性がある。ネットワークの帯域許容量以上のビットレートでデータを送信すると、結果として輻輳が発生し、望むとおりにマルチメディアデータがクライアントに届かず、クライアントのアプリケーションバッファに蓄積されているデータ量の枯渇が起こり、映像や音声の途切れが発生する可能性が高まることになる。   In the conventional method, the determination material for the streaming server to increase or decrease the bit rate of the distribution data is mainly information from the client. For example, information on the amount of data stored in the application buffer of the client is used. However, only by calculating the amount of data stored in the application buffer of the client, there is a possibility that data is transmitted at a bit rate that exceeds the allowable bandwidth of the network. Sending data at a bit rate that exceeds the network bandwidth allowance results in congestion, multimedia data does not reach the client as desired, and the amount of data stored in the client's application buffer is depleted, The possibility of interruptions in video and audio increases.

また、クライアントからの情報を利用する従来の手法では、通信帯域幅の変動に迅速に対応できないという問題がある。例えばストリーミングサーバとストリーミングクライアント間の通信帯域幅が他トラフィックの出現などによって急激に狭くなったとする。通信帯域幅が狭くなった時点でストリーミングサーバが送信データのビットレートを減少させて対応すれば、送信データの再生が途切れることがない。しかし、上述した処理構成のように、クライアントからの情報を利用する構成では、通信帯域幅が狭くなった後、一定時間後にクライアントのバッファ蓄積データ量の減少が発生し、そのバッファデータの減少をサーバ側で認識するまでに時間を要することになる。従って、サーバは、通信帯域幅が細くなった時点での即時対応ができない。この結果、サーバ側でのビットレート削減などの処理を行なう以前に、クライアントのバッファが枯渇してしまい、映像や音声の途切れが発生するという事態が発生してしまうことになる。
特許公開2002−204278号公報 特許公開2004−297565号公報 特許公開2005−005823号公報
Further, the conventional method using information from the client has a problem that it cannot quickly cope with fluctuations in communication bandwidth. For example, it is assumed that the communication bandwidth between the streaming server and the streaming client is rapidly narrowed due to the appearance of other traffic. If the streaming server responds by reducing the bit rate of the transmission data when the communication bandwidth becomes narrow, the reproduction of the transmission data will not be interrupted. However, in the configuration using the information from the client as in the processing configuration described above, after the communication bandwidth becomes narrower, a decrease in the amount of data stored in the buffer of the client occurs after a certain time, and the buffer data is reduced. It takes time to recognize it on the server side. Therefore, the server cannot respond immediately when the communication bandwidth becomes narrower. As a result, before the processing such as bit rate reduction on the server side is performed, the client's buffer is exhausted, and a situation in which video and audio are interrupted occurs.
Japanese Patent Publication No. 2002-204278 Japanese Patent Publication No. 2004-297565 Japanese Patent Publication No. 2005-005823

本発明は、上述の問題点に鑑みてなされたものであり、ストリーミングデータ送受信処理において、最適な送信態様に基づくデータ送信を実現する通信処理装置、データ通信システム、および通信処理方法、並びにコンピュータ・プログラムを提供することを目的とする。   The present invention has been made in view of the above-described problems, and in a streaming data transmission / reception process, a communication processing apparatus, a data communication system, a communication processing method, and a computer that realize data transmission based on an optimal transmission mode. The purpose is to provide a program.

さらに、具体的には、本発明は、通信経路上の輻輳や無線リンクの外乱の影響などを考慮した上で、サーバ側で送信データのビットレートの最適値を予測し、予測値に基づいてビットレートの動的変更を行なって最適なデータ送信態様に従ったデータストリーミングを実現する通信処理装置、データ通信システム、および通信処理方法、並びにコンピュータ・プログラムを提供することを目的とする。   Furthermore, more specifically, the present invention predicts the optimum value of the bit rate of transmission data on the server side in consideration of the influence of congestion on the communication path and disturbance of the radio link, and based on the predicted value. An object of the present invention is to provide a communication processing device, a data communication system, a communication processing method, and a computer program that realize data streaming according to an optimal data transmission mode by dynamically changing the bit rate.

本発明の第1の側面は、
クライアントに対するデータ送信処理を実行するサーバとしての通信処理装置であり、
クライアントとの通信処理を実行するデータ送受信部と、
クライアントに対する送信データのビットレートを決定するレート制御部と、
前記レート制御部において決定されたビットレートに対応する送信データの設定処理を実行するデータ処理部とを有し、
前記レート制御部は、
サーバクライアント間における通信コネクション設定期間内において連続送信されるデータパケットの受信間隔情報に基づいて算出されるスループットを最大スループットとし、該最大スループットに相当するビットレートを最大許容ビットレートとして送信ビットレートを決定するビットレート決定部を有する構成であることを特徴とする通信処理装置にある。
The first aspect of the present invention is:
A communication processing device as a server that executes data transmission processing for a client,
A data transmission / reception unit for executing communication processing with the client;
A rate control unit that determines a bit rate of transmission data to the client;
A data processing unit for executing transmission data setting processing corresponding to the bit rate determined in the rate control unit,
The rate control unit
The throughput calculated based on the reception interval information of data packets continuously transmitted within the communication connection setting period between server clients is set as the maximum throughput, and the transmission bit rate is set with the bit rate corresponding to the maximum throughput as the maximum allowable bit rate. The communication processing apparatus is characterized by having a bit rate determining unit for determining.

さらに、本発明の通信処理装置の一実施態様において、前記レート制御部は、サーバクライアント間における通信コネクション設定期間内において連続送信されるデータパケットの受信間隔情報をクライアントから受信し、該受信間隔情報と送信データ量とに基づいて最大スループットを算出するスループット算出部を有し、前記ビットレート決定部は、前記スループット算出部の算出した最大スループットに相当するビットレートを最大許容ビットレートとして送信ビットレートを決定する構成であることを特徴とする。   Furthermore, in an embodiment of the communication processing apparatus of the present invention, the rate control unit receives from the client reception interval information of data packets continuously transmitted within a communication connection setting period between server clients, and the reception interval information And a throughput calculation unit that calculates a maximum throughput based on the transmission data amount, and the bit rate determination unit transmits a bit rate corresponding to the maximum throughput calculated by the throughput calculation unit as a maximum allowable bit rate. It is the structure which determines this.

さらに、本発明の通信処理装置の一実施態様において、前記データ送受信部は、クライアントにおける受信間隔測定対象パケットの識別情報として、パケットヘッダの緊急フラグを特定値に設定したパケットを連続送信する構成であることを特徴とする。   Furthermore, in an embodiment of the communication processing apparatus of the present invention, the data transmitting / receiving unit is configured to continuously transmit a packet in which an emergency flag of a packet header is set to a specific value as identification information of a reception interval measurement target packet in a client. It is characterized by being.

さらに、本発明の通信処理装置の一実施態様において、前記ビットレート決定部は、クライアント側バッファの見積もりバッファ量の推移に基づいてビットレートを決定する構成であり、見積もりバッファ量が予め定めた閾値以上である場合、前記スループット算出部の算出した最大スループットに相当する最大許容ビットレートを上限としてビットレート上昇処理を行なう構成であることを特徴とする。   Furthermore, in an embodiment of the communication processing apparatus of the present invention, the bit rate determination unit is configured to determine a bit rate based on a transition of an estimated buffer amount of the client side buffer, and the estimated buffer amount is a predetermined threshold value. In the above case, the bit rate increasing process is performed with the maximum allowable bit rate corresponding to the maximum throughput calculated by the throughput calculating unit as an upper limit.

さらに、本発明の通信処理装置の一実施態様において、前記ビットレート決定部は、
(a)通信開始時にクライアントから通知されたバッファ量:[B_cli(byte)]
(b)クライアントが再生を開始してからの経過時間:[T(sec)]
(c)クライアントが再生を開始以降、経過時間[T(sec)]の間にサーバからの送信データ量:[D_serv(byte)]
(d)送信コンテンツから取得可能なコンテンツの再生レート[R(byte/sec))
これら(a)〜(d)の情報を用いて、クライアントのバッファ量の見積もり処理を実行する構成であり、クライアントバッファの見積もりバッファ量=B_cli+D_serv−R*Tとして、クライアント側バッファの見積もりバッファ量を算出する構成であることを特徴とする。
Furthermore, in an embodiment of the communication processing apparatus of the present invention, the bit rate determination unit includes:
(A) Buffer amount notified from the client at the start of communication: [B_cli (byte)]
(B) Elapsed time since the client started playback: [T (sec)]
(C) The amount of data transmitted from the server during the elapsed time [T (sec)] after the client starts playback: [D_serv (byte)]
(D) Content playback rate that can be acquired from the transmitted content [R (byte / sec)]
The information of (a) to (d) is used to execute the estimation process of the client buffer amount, and the estimated buffer amount of the client side buffer is calculated as follows: Estimated buffer amount of client buffer = B_cli + D_serv−R * T It is the structure which calculates.

さらに、本発明の通信処理装置の一実施態様において、前記データ送受信部は、記クライアントとの通信を仲介する基地局から、基地局とクライアント間の通信帯域情報を受信し、前記ビットレート決定部は、前記通信帯域情報に基づいて、送信ビットレートの決定処理を行う構成であることを特徴とする。   Furthermore, in an embodiment of the communication processing apparatus of the present invention, the data transmitting / receiving unit receives communication band information between the base station and the client from a base station that mediates communication with the client, and the bit rate determining unit Is configured to perform a transmission bit rate determination process based on the communication band information.

さらに、本発明の通信処理装置の一実施態様において、前記通信帯域情報は、基地局とクライアント間の通信におけるRTT、RSSI(電波強度)、送信レートの少なくともいずれかのデータに基づいて生成される情報であることを特徴とする。   Furthermore, in an embodiment of the communication processing apparatus of the present invention, the communication band information is generated based on data of at least one of RTT, RSSI (radio wave intensity), and transmission rate in communication between the base station and the client. It is characterized by being information.

さらに、本発明の第2の側面は、
サーバからのデータ受信処理を実行するクライアントしての通信処理装置であり、
サーバとの通信処理を実行するデータ送受信部と、
サーバから受信するデータパケットの受信間隔を測定するパケット間隔測定部を有し、
前記パケット間隔測定部は、
サーバからの受信パケットに含まれる識別情報に従って連続受信するパケットの受信間隔を測定する構成であり、該受信間隔情報、または該受信間隔に基づいて算出されるスループット情報を前記データ送受信部を介してサーバに送信する処理を実行する構成であることを特徴とする通信処理装置にある。
Furthermore, the second aspect of the present invention provides
It is a communication processing device as a client that executes data reception processing from a server,
A data transmission / reception unit for executing communication processing with the server;
A packet interval measuring unit for measuring a reception interval of data packets received from the server;
The packet interval measurement unit
The reception interval of packets continuously received according to identification information included in a received packet from a server is measured, and the reception interval information or throughput information calculated based on the reception interval is sent via the data transmitting / receiving unit. A communication processing apparatus is characterized in that it is configured to execute processing to be transmitted to a server.

さらに、本発明の通信処理装置の一実施態様において、前記パケット間隔測定部は、サーバからの受信パケットに含まれるパケットヘッダの緊急フラグの設定に従って連続受信パケットの受信間隔を測定する構成であることを特徴とする。   Furthermore, in an embodiment of the communication processing device of the present invention, the packet interval measuring unit is configured to measure the reception interval of consecutively received packets according to the setting of an emergency flag in a packet header included in a received packet from a server. It is characterized by.

さらに、本発明の題3の側面は、
データ送受信処理を実行するサーバクライアントを有するデータ通信システムであり、
前記クライアントは、
サーバからの受信パケットに含まれる識別情報に従って連続受信するパケットの受信間隔を測定し、該受信間隔情報、または該受信間隔に基づいて算出されるスループット情報をサーバに送信する処理を実行する構成を有し、
前記サーバは、
前記クライアントから受信するスループット情報、または受信間隔情報に基づいて算出される最大スループットに相当するビットレートを最大許容ビットレートとして送信ビットレートを決定し、決定したビットレートに従って、前記クライアントに対するデータ送信処理を実行する構成であることを特徴とするデータ通信システムにある。
Further, the third aspect of the present invention is as follows.
A data communication system having a server client for executing data transmission / reception processing,
The client
A configuration for measuring a reception interval of continuously received packets according to identification information included in a received packet from a server, and executing processing for transmitting the reception interval information or throughput information calculated based on the reception interval to the server Have
The server
A transmission bit rate is determined using a bit rate corresponding to the maximum throughput calculated based on throughput information received from the client or reception interval information as a maximum allowable bit rate, and data transmission processing to the client is performed according to the determined bit rate The data communication system is characterized in that the configuration is executed.

さらに、本発明の第4の側面は、
データ送信処理を実行するサーバにおける通信処理方法であり、
クライアントに対する送信データのビットレートを決定するレート制御ステップと、
前記レート制御ステップにおいて決定されたビットレートに対応する送信データの設定処理を実行するデータ処理ステップとを有し、
前記レート制御ステップは、
サーバクライアント間における通信コネクション設定期間内において連続送信されるデータパケットの受信間隔情報に基づいて算出されるスループットを最大スループットとして、該最大スループットに相当するビットレートを最大許容ビットレートとして送信ビットレートを決定するビットレート決定ステップを有することを特徴とする通信処理方法にある。
Furthermore, the fourth aspect of the present invention provides
A communication processing method in a server that executes data transmission processing,
A rate control step for determining a bit rate of transmission data to the client;
A data processing step for executing transmission data setting processing corresponding to the bit rate determined in the rate control step,
The rate control step includes:
The transmission bit rate is set with the throughput calculated based on the reception interval information of the data packets continuously transmitted within the communication connection setting period between the server and client as the maximum throughput and the bit rate corresponding to the maximum throughput as the maximum allowable bit rate. The communication processing method includes a bit rate determining step for determining.

さらに、本発明の第5の側面は、
データ受信処理を実行するクライアントにおける通信処理方法であり、
サーバからの受信パケットに含まれる識別情報に従って連続受信するパケットの受信間隔を測定するパケット受信間隔測定ステップと、
前記パケット受信間隔測定ステップにおいて測定されたパケット受信間隔情報、または該受信間隔に基づいて算出されるスループット情報をサーバに送信する情報送信ステップと、
を有することを特徴とする通信処理方法にある。
Furthermore, the fifth aspect of the present invention provides
It is a communication processing method in a client that executes data reception processing,
A packet reception interval measuring step for measuring a reception interval of packets continuously received according to the identification information included in the received packet from the server;
An information transmission step of transmitting packet reception interval information measured in the packet reception interval measurement step or throughput information calculated based on the reception interval to a server;
The communication processing method is characterized by comprising:

さらに、本発明の第6の側面は、
送信データのレート制御をコンピュータ上で実行させるコンピュータ・プログラムであり、
レート制御部において、クライアントに対する送信データのビットレートを決定させるレート制御ステップと、
データ処理部において、前記レート制御ステップにおいて決定されたビットレートに対応する送信データの設定処理を実行させるデータ処理ステップとを有し、
前記レート制御ステップは、
サーバクライアント間における通信コネクション設定期間内において連続送信されるデータパケットの受信間隔情報に基づいて算出されるスループットを最大スループットとして、該最大スループットに相当するビットレートを最大許容ビットレートとして送信ビットレートを決定させるビットレート決定ステップを実行させることを特徴とするコンピュータ・プログラムにある。
Furthermore, the sixth aspect of the present invention provides
A computer program for executing rate control of transmission data on a computer;
In the rate control unit, a rate control step for determining a bit rate of transmission data for the client;
In the data processing unit, a data processing step for executing transmission data setting processing corresponding to the bit rate determined in the rate control step,
The rate control step includes:
The transmission bit rate is set with the throughput calculated based on the reception interval information of the data packets continuously transmitted within the communication connection setting period between the server and client as the maximum throughput and the bit rate corresponding to the maximum throughput as the maximum allowable bit rate. A bit rate determination step for determining is executed in a computer program.

なお、本発明のコンピュータ・プログラムは、例えば、様々なプログラム・コードを実行可能なコンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、CDやFD、MOなどの記録媒体、あるいは、ネットワークなどの通信媒体によって提供可能なコンピュータ・プログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。   The computer program of the present invention is, for example, a storage medium or communication medium provided in a computer-readable format to a computer system capable of executing various program codes, such as a CD, FD, or MO. It is a computer program that can be provided by a recording medium or a communication medium such as a network. By providing such a program in a computer-readable format, processing corresponding to the program is realized on the computer system.

本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。   Other objects, features, and advantages of the present invention will become apparent from a more detailed description based on embodiments of the present invention described later and the accompanying drawings. In this specification, the system is a logical set configuration of a plurality of devices, and is not limited to one in which the devices of each configuration are in the same casing.

本発明の構成によれば、「連続データ送信および受信確認応答(ack)の受信期間」、すなわち、[データ送受信実行期間]の計測値を適用して最大スループットを算出し、この最大スループットに基づいて、送信ビットレートの制御を行う構成とした。すなわち、データ送受信に対する寄与のない期間[データ送受信非実行期間]を省いたデータ送受信期間に基づく最大スループットを算出して、算出した最大スループットに相当する最大許容ビットレートを上限としたビットレート制御を行う。本構成により、実際の送信レートを考慮したビットレート制御が可能となり、ビットレートの上げすぎや抑えすぎといったことがなく、データ送信を確実に実行可能な最大許容ビットレートを上限としたデータ送信が実現される。   According to the configuration of the present invention, the maximum throughput is calculated by applying the measurement value of “continuous data transmission and reception confirmation response (ack) reception period”, that is, the [data transmission / reception execution period], and based on this maximum throughput. Thus, the transmission bit rate is controlled. That is, the maximum throughput based on the data transmission / reception period without the data transmission / reception period [data transmission / non-execution period] is calculated, and the bit rate control with the maximum allowable bit rate corresponding to the calculated maximum throughput as the upper limit is performed. Do. This configuration makes it possible to control the bit rate in consideration of the actual transmission rate, and realizes data transmission up to the maximum allowable bit rate that can reliably execute data transmission without excessively increasing or suppressing the bit rate. Is done.

さらに、本発明の構成によれば、クライアントで計測される連続送信パケットの受信間隔に基づいて最大スループットが算出され、算出された最大スループットを上限としたビットレート制御を行うことができる。すなわち、実際に連続送信されるパケットの計測に基づいて定められる最大スループットを算出して、算出した最大スループットに相当する最大許容ビットレートを上限としたビットレート制御を行う。本構成により、実際の送信レートを考慮したビットレート制御が可能となり、ビットレートの上げすぎや抑えすぎといったことがなく、データ送信を確実に実行可能な最大許容ビットレートを上限としたデータ送信が実現される。   Furthermore, according to the configuration of the present invention, the maximum throughput is calculated based on the reception interval of the continuous transmission packets measured by the client, and the bit rate control with the calculated maximum throughput as the upper limit can be performed. That is, the maximum throughput determined based on the measurement of actually transmitted packets is calculated, and bit rate control is performed with the maximum allowable bit rate corresponding to the calculated maximum throughput as the upper limit. This configuration makes it possible to control the bit rate in consideration of the actual transmission rate, and realizes data transmission up to the maximum allowable bit rate that can reliably execute data transmission without excessively increasing or suppressing the bit rate. Is done.

さらに、本発明の構成によれば、実際の送受信データ計測に基づいて算出される最大スループットに基づくビットレート制御に加え、基地局(AP)の測定する基地局とクライアント間の無線通信におけるRTT、RSSI、送信レートなどの通信帯域情報に基づいて、ビットレートの制御を行う構成としたので、無線通信における通信状態の変動に即応したビットレート制御が実現される。   Furthermore, according to the configuration of the present invention, in addition to the bit rate control based on the maximum throughput calculated based on the actual transmission / reception data measurement, the RTT in the wireless communication between the base station and the client measured by the base station (AP), Since the bit rate is controlled on the basis of communication band information such as RSSI and transmission rate, bit rate control can be realized in response to fluctuations in the communication state in wireless communication.

以下、図面を参照しながら、本発明の通信処理装置、データ通信システム、および通信処理方法、並びにコンピュータ・プログラムの詳細について説明する。   Hereinafter, the communication processing device, the data communication system, the communication processing method, and the computer program of the present invention will be described in detail with reference to the drawings.

[システム概要]
まず、図1を参照して、本発明の適用可能なネットワーク構成例について説明する。図1は、様々なクライアント装置からの処理要求に応じて処理を実行するコンテンツ配信装置としてのサーバ101と、サーバ101に対して処理要求を行なうコンテンツ受信装置としてのクライアント121〜124がネットワーク110を介して接続された構成、例えばホームネットワーク構成を示している。クライアント装置としては、パーソナルコンピュータ(PC)121、122、携帯端末123、再生装置124を例示している。ただし、クライアント装置としては、この他にも様々な電子機器、家電機器が接続可能である。
[System Overview]
First, a network configuration example to which the present invention can be applied will be described with reference to FIG. FIG. 1 shows that a server 101 as a content distribution device that executes processing in response to processing requests from various client devices, and clients 121 to 124 as content receiving devices that make processing requests to the server 101 are connected to the network 110. 2 shows a configuration connected via the network, for example, a home network configuration. Examples of client devices include personal computers (PCs) 121 and 122, a portable terminal 123, and a playback device 124. However, various other electronic devices and household electrical appliances can be connected as the client device.

クライアント(携帯端末)123、クライアント(再生装置)124は、基地局(AP:Access Point)131を介して無線通信を行なうクライアントであり、クライアント(PC)121,122は有線LANによる通信をサーバ101と行なう。例えばクライアント121(PC)は100base−TX、クライアント(PC)122は10base−T規格による通信をサーバ101との間で実行する。クライアント(携帯端末)123、クライアント(再生装置)124は、基地局(AP)131を介してサーバ101との通信を実行し、基地局(AP)131とクライアント(携帯端末)123間では、IEEE802.11b規格による無線LAN通信を実行し、基地局(AP)131とクライアント(再生装置)124間では、IEEE802.11g規格による無線LAN通信を実行する。   A client (portable terminal) 123 and a client (playback device) 124 are clients that perform wireless communication via a base station (AP: Access Point) 131, and the clients (PCs) 121 and 122 perform communication via a wired LAN on the server 101. And do. For example, the client 121 (PC) executes communication with the server 101 using the 100 base-TX, and the client (PC) 122 executes communication based on the 10 base-T standard. A client (portable terminal) 123 and a client (playback device) 124 communicate with the server 101 via a base station (AP) 131, and between the base station (AP) 131 and the client (portable terminal) 123, IEEE 802. Wireless LAN communication according to the .11b standard is executed, and wireless LAN communication according to the IEEE 802.11g standard is executed between the base station (AP) 131 and the client (reproducing device) 124.

このように、各クライアント121〜124は、サーバ101との通信、例えば、サーバ101から映像データの配信を受ける際に、それぞれの機器に対応した通信規格に従ったデータ通信を実行し、それぞれ異なるビットレートでのデータ受信を行なうことになる。サーバ101がクライアントからの要求に応じて実行する処理は、例えばサーバ101に装着されたハードディスク、DVD等の記憶手段に格納されたコンテンツ、あるいはサーバ101の有するチューナを介して受信するライブコンテンツの提供、すなわちコンテンツ配信サービス等である。   As described above, each of the clients 121 to 124 performs communication with the server 101, for example, when receiving video data distribution from the server 101, performs data communication in accordance with a communication standard corresponding to each device, and is different from each other. Data reception is performed at the bit rate. The processing executed by the server 101 in response to a request from the client is, for example, provision of content stored in a storage unit such as a hard disk or DVD attached to the server 101, or live content received via the tuner of the server 101. That is, a content distribution service or the like.

ネットワーク110は、例えばイーサネット(登録商標)フレーム等の通信パケットを、ネットワーク100を介して送受信する。すなわち、クライアントは、イーサネット(登録商標)フレームのデータ部に処理要求情報を格納してサーバ101に送信することにより、サーバ101に対するデータ処理要求を実行する。サーバ101は、処理要求フレームの受信に応じて、データ処理を実行し通信パケットに格納し、各クライアントに送信する。   The network 110 transmits and receives communication packets such as Ethernet (registered trademark) frames via the network 100. That is, the client stores the processing request information in the data portion of the Ethernet (registered trademark) frame and transmits it to the server 101 to execute a data processing request to the server 101. In response to receiving the processing request frame, the server 101 executes data processing, stores it in a communication packet, and transmits it to each client.

サーバ101は、クライアント121〜124と個別に、TCP(Transmission Control Protocol)コネクションを確立して、例えばストリーミングデータ配信により映像データなどを含むマルチメディアデータの送信を実行する。本発明の構成において、TCPコネクションにおけるサーバ101からのクライアント121〜124に対するデータ配信は、動的なビットレート制御を伴う処理として実行される。   The server 101 establishes a TCP (Transmission Control Protocol) connection separately from the clients 121 to 124 and executes transmission of multimedia data including video data by streaming data distribution, for example. In the configuration of the present invention, data distribution from the server 101 to the clients 121 to 124 in the TCP connection is executed as a process involving dynamic bit rate control.

このビットレートの動的制御は、
サーバと各クライアントの間のデータ通信における最大スループット計測処理、
計測された最大スループットに相当するビットレートを最大許容ビットレートとしたビットレート制御処理、
これらの処理を含む処理として実行される。以下、このビットレートの動的制御処理の複数の実施例の詳細について、順次、説明する。
The dynamic control of this bit rate is
Maximum throughput measurement processing for data communication between the server and each client,
Bit rate control processing with the bit rate corresponding to the measured maximum throughput as the maximum allowable bit rate,
It is executed as a process including these processes. Hereinafter, details of a plurality of embodiments of the bit rate dynamic control processing will be sequentially described.

[実施例1]
図2にストリーミングデータ配信を実行するサーバ200と、ストリーミングデータの受信、再生を実行するクライアント300の機能を説明するブロック図を示す。サーバ200とクライアント300間ではTCPコネクションが設定されて通信が実行される。
[Example 1]
FIG. 2 is a block diagram illustrating the functions of the server 200 that executes streaming data distribution and the client 300 that receives and reproduces streaming data. A TCP connection is set between the server 200 and the client 300 to execute communication.

サーバ200は、送信コンテンツ格納部としてのコンテンツ提供部201を有する。コンテンツ提供部201は、ハードディスクや、DVDなどの記憶手段、あるいは外部からのコンテンツ受信を行なうチューナ機能を備えた構成である。コンテンツ提供部201から、クライアント300に対する送信コンテンツがデータ処理部202に入力される。   The server 200 has a content providing unit 201 as a transmission content storage unit. The content providing unit 201 is configured to include a storage function such as a hard disk or a DVD, or a tuner function for receiving content from the outside. Content to be transmitted to the client 300 is input from the content providing unit 201 to the data processing unit 202.

データ処理部202では、エンコード処理などの送信データ生成処理を行なう。この送信データ生成処理では、動的レート制御部210において設定されたビットレートに対応するエンコードデータを生成する。なお、予め複数のビットレート対応のデータを準備し、これらの複数のビットレートデータから送信データを選択する処理を実行する構成としてもよい。   The data processing unit 202 performs transmission data generation processing such as encoding processing. In this transmission data generation process, encoded data corresponding to the bit rate set in the dynamic rate control unit 210 is generated. In addition, it is good also as a structure which prepares the data corresponding to several bit rates previously, and performs the process which selects transmission data from these several bit rate data.

動的レート制御部210は、スループット算出部211と、ビットレート決定部212を有する。スループット算出部211は、サーバのデータ送受信部204とクライアントのデータ送受信部301との間で実行される通信状況の監視を実行し、監視結果に基づいてスループットを算出する。ビットレート決定部212は、スループット算出部211の算出したスループットに基づいて、クライアント300に対するデータの送信ビットレートを決定し、データ処理部202に通知する。この動的レート制御部210の処理の詳細については後述する。   The dynamic rate control unit 210 includes a throughput calculation unit 211 and a bit rate determination unit 212. The throughput calculation unit 211 performs monitoring of a communication state executed between the data transmission / reception unit 204 of the server and the data transmission / reception unit 301 of the client, and calculates the throughput based on the monitoring result. The bit rate determination unit 212 determines a data transmission bit rate for the client 300 based on the throughput calculated by the throughput calculation unit 211 and notifies the data processing unit 202 of the data transmission bit rate. Details of the processing of the dynamic rate control unit 210 will be described later.

データ処理部202は、ビットレート決定部212の決定したビットレートに応じた送信データのエンコード、あるいはビットレート決定部212の決定したビットレートに応じたエンコードデータの選択処理を実行し、送信バッファ203に入力する。データ送受信部204は、送信バッファ203に蓄積された送信ビットレートに対応するデータ(パケット)をクライアント300との間で設定したTCPコネクションを介してクライアント300に送信する。   The data processing unit 202 executes transmission data encoding according to the bit rate determined by the bit rate determination unit 212 or encoding data selection processing according to the bit rate determined by the bit rate determination unit 212, and transmits the transmission buffer 203. To enter. The data transmission / reception unit 204 transmits data (packets) corresponding to the transmission bit rate stored in the transmission buffer 203 to the client 300 via a TCP connection set with the client 300.

クライアント300は、データ送受信部301を介してサーバ200からのストリーミングデータ(パケット)を受信し、受信バッファ302に格納する。受信バッファ302に格納されたデータは、再生処理部303によって順次、取り出されデコード処理、例えばデータ伸長処理、暗号化データであれば復号処理が実行され、ディスプレイ、スピーカなどによって構成される出力部304に出力される。   The client 300 receives the streaming data (packet) from the server 200 via the data transmission / reception unit 301 and stores it in the reception buffer 302. Data stored in the reception buffer 302 is sequentially taken out by the reproduction processing unit 303 and decoded, for example, data decompression processing, or decryption processing is executed if it is encrypted data, and an output unit 304 including a display, a speaker, and the like. Is output.

図3は、サーバクライアント間における通信処理のシーケンスについて説明する図である。まず、ステップS11において、サーバとクライアント間でTCPコネクションの確立処理が実行される。その後、ステップS12において、クライアントからサーバに対するバッファ量通知処理が実行される。なお、バッファ量通知処理はコネクション確立処理に含まれる処理として実行してもよい。   FIG. 3 is a diagram illustrating a communication processing sequence between server clients. First, in step S11, a TCP connection establishment process is executed between the server and the client. Thereafter, in step S12, a buffer amount notification process from the client to the server is executed. The buffer amount notification process may be executed as a process included in the connection establishment process.

本実施例では、ストリーミングデータを受信するクライアントのアプリケーションバッファの最大量、すなわちストリーミングデータ受信のために準備されるバッファの最大量をストリーミング開始時にサーバへ通知する。図2の受信バッファ302は、ストリーミングデータを受信するクライアントのアプリケーションバッファを示しており、この受信バッファ302最大量がサーバに通知される。例えば、ストリーミングがHTTP方式に従ったストリーミングデータである場合、クライアントは、アプリケーションバッファ量をHTTPヘッダに含めてサーバへ通知する。サーバは、クライアントから通知されたバッファ量を、動的レート制御部210において決定するビットレートの増減処理の指標として利用する。この処理については、後述する。クライアントからサーバに対するバッファ量通知は、ストリーミング開始時の1回のみとなる。   In this embodiment, the server notifies the server of the maximum amount of the application buffer of the client that receives the streaming data, that is, the maximum amount of the buffer prepared for receiving the streaming data. A reception buffer 302 in FIG. 2 indicates an application buffer of a client that receives streaming data, and the maximum amount of the reception buffer 302 is notified to the server. For example, when the streaming is streaming data according to the HTTP method, the client notifies the server of the application buffer amount included in the HTTP header. The server uses the buffer amount notified from the client as an index of the bit rate increase / decrease process determined by the dynamic rate control unit 210. This process will be described later. The buffer amount notification from the client to the server is only once at the start of streaming.

その後、ステップS13において、サーバからクライアントに対してストリーミングデータの配信が実行される。このストリーミングデータの送信処理においては、図2に示すサーバ200の動的レート制御部210において動的な送信ビットレートの制御が行われ、最適なビットレートでのストリーミンクデータ送信が行われる。具体的な処理については後述する。全てのストリーミングデータの送信が終了すると、ステップS14において、サーバクライアント間のコネクション切断を実行して処理を終了する。   Thereafter, in step S13, distribution of streaming data from the server to the client is executed. In this streaming data transmission processing, dynamic transmission bit rate control is performed in the dynamic rate control unit 210 of the server 200 shown in FIG. 2, and streaming data transmission is performed at an optimum bit rate. Specific processing will be described later. When the transmission of all the streaming data is completed, in step S14, the connection between the server and the client is disconnected and the process is terminated.

次に、図4〜図6を参照して、図2に示すサーバ200の動的レート制御部210において実行する送信データのビットレート制御処理の詳細について説明する。まず、図4を参照して、動的レート制御部210のスループット算出部211の実行するスループット算出処理について説明する。   Next, the details of the transmission data bit rate control processing executed by the dynamic rate control unit 210 of the server 200 shown in FIG. 2 will be described with reference to FIGS. First, the throughput calculation process executed by the throughput calculator 211 of the dynamic rate controller 210 will be described with reference to FIG.

図4は、図3におけるステップS13のデータ転送処理を、より詳細に示したシーケンス図である。サーバは、ストリーミング配信データをTCPパケット(TCPセグメント)に格納して、順次クライアントに送信する。図4に示すデータ1〜データ8は、個々の送信パケットを示す。TCP通信では、クライアントは、受信パケットの受信確認応答としてのackをサーバに送信する。図に示すack1〜4がクライアントからサーバに送信される受信確認応答(ack)を示している。なお、クライアントからサーバに送信される受信確認応答(ack)は、必ずしも全ての送信データに対応してクライアントから送信されるとは限らない。クライアント側では、時間的余裕のない場合は、受信確認応答(ack)を省略する場合もある。図4に示すack1は、データ1およびデータ2の受信確認応答(ack)であり、ack2は、データ3およびデータ4に対する受信確認応答(ack)である。   FIG. 4 is a sequence diagram showing the data transfer process of step S13 in FIG. 3 in more detail. The server stores the streaming distribution data in a TCP packet (TCP segment) and sequentially transmits it to the client. Data 1 to data 8 shown in FIG. 4 indicate individual transmission packets. In TCP communication, the client transmits ack as a reception confirmation response of the received packet to the server. In the figure, ack1 to ack4 indicate reception confirmation responses (ack) transmitted from the client to the server. The reception confirmation response (ack) transmitted from the client to the server is not necessarily transmitted from the client corresponding to all transmission data. On the client side, the reception confirmation response (ack) may be omitted when there is no time margin. 4 is a reception confirmation response (ack) for data 1 and data 2, and ack 2 is a reception confirmation response (ack) for data 3 and data 4.

サーバからクライアントに対するデータ送信は、クライアントからサーバに提示されるウィンドウサイズに基づく連続送信処理として実行される。例えば、図4に示すデータ1〜データ4の送信は、連続送信処理として実行された処理である。すなわち各パケットの送信後、サーバが、その受信確認をクライアントから受領して次のパケットを送信するという処理を行なうと、スループットが低下しデータ送信処理の効率が落ちてしまう。   Data transmission from the server to the client is executed as a continuous transmission process based on the window size presented from the client to the server. For example, transmission of data 1 to data 4 shown in FIG. 4 is a process executed as a continuous transmission process. That is, after the transmission of each packet, if the server performs a process of receiving the receipt confirmation from the client and transmitting the next packet, the throughput is lowered and the efficiency of the data transmission process is reduced.

これを防止するため、一定の一括送信可能なデータ量としてのウィンドウサイズを決定して、このウィンドウサイズに基づいてパケットを連続して送信する。このウィンドウサイズは、例えばセッション確立時にクライアントからサーバに通知される。すなわち、クライアント側で一括受信可能なデータ量としてウィンドウサイズをサーバに通知する。サーバ側では、このウィンドウサイズに基づいて、ウィンドウサイズに対応するデータ量を持つパケットの連続送信を実行する。また、クライアントからサーバに対して送信される受信確認応答(ack)パケットに更新されたウィンドウサイズをサーバに通知して、サーバ側では更新されたウィンドウサイズに基づいて連続送信データ量を逐次変更制御する構成としてもよい。   In order to prevent this, a window size is determined as a certain amount of data that can be transmitted at once, and packets are continuously transmitted based on this window size. The window size is notified from the client to the server when a session is established, for example. That is, the server notifies the server of the window size as the amount of data that can be collectively received on the client side. On the server side, continuous transmission of packets having a data amount corresponding to the window size is executed based on the window size. In addition, the server notifies the server of the updated window size in the reception acknowledgment (ack) packet transmitted from the client to the server, and the server side sequentially changes the amount of continuous transmission data based on the updated window size. It is good also as composition to do.

ウィンドウサイズに基づくデータ送信を実行すると、サーバからクライアントに対するデータ送信は、図4に示すように間欠したデータ送信処理として実行されることになる。たとえば図4に示す期間Aは、連続データ送信および送信された連続データに対する最終の受信確認応答(ack)の受信までの期間である。   When data transmission based on the window size is executed, data transmission from the server to the client is executed as intermittent data transmission processing as shown in FIG. For example, a period A shown in FIG. 4 is a period until continuous data transmission and reception of the final reception confirmation response (ack) for the transmitted continuous data.

図4に示す期間Bは、期間Aの終了点、すなわち、期間Aにおける[TCPデータ群]の最終の受信確認応答(ack)の受信時間から、次の[TCPデータ群]の送信開始までの待機時間である。期間Cは、期間Bの後の次の[TCPデータ群]の送信および受信確認応答(ack)の受信期間である。   The period B shown in FIG. 4 is from the end point of the period A, that is, from the reception time of the final reception confirmation response (ack) of the [TCP data group] in the period A to the start of transmission of the next [TCP data group]. It is a waiting time. The period C is a period for receiving the next [TCP data group] after the period B and receiving the reception acknowledgment (ack).

従来のスループット算出手法は、送信データの量を単純に送信時間で除算して算出していた。例えば図3のデータ送信処理シーケンスである場合にA〜Cの時間帯でのスループットを求める際は、
スループット=(データ1〜8の送信データ量)/(時間A+B+C)
によってスループットを算出していた。このスループット算出処理によれば、サーバから送信されたデータ量以上の値がTCPスループットとして測定されることはない。
In the conventional throughput calculation method, the amount of transmission data is simply divided by the transmission time. For example, in the case of the data transmission processing sequence of FIG. 3, when obtaining the throughput in the time zone A to C,
Throughput = (transmission data amount of data 1-8) / (time A + B + C)
Throughput was calculated. According to this throughput calculation process, a value greater than the amount of data transmitted from the server is not measured as the TCP throughput.

しかし、TCPにおけるデータ送信において、データ送信ビットレートを制御して、より高いビットレートでの送信を行なう場合、どこまでビットレートを上昇させて良いか、すなわち最大許容ビットレートを決定することが必要となる。   However, in data transmission in TCP, when transmitting at a higher bit rate by controlling the data transmission bit rate, it is necessary to determine how far the bit rate can be increased, that is, the maximum allowable bit rate. Become.

本発明の構成では、図4に示すBの期間を省いた時間で転送データ量を除算することにより、最大スループットを予測し、この最大スループットに対応するビットレートを最大許容ビットレートとする。図4の期間Bは、サーバがクライアントに対するデータを送信していない期間である。期間Bの部分をスループット算出のための時間計測値に含めてしまうと、実際にデータの送受信を実行していない期間がスループット計測に適用されてしまうことになり、実際のスループットに対する寄与のない期間がスループット算出に適用されてしまうことになる。すなわち、データ送受信の実行されていないBの期間を入れて、最大スループットの算出を実行すると、最大スループットの値が低下してしまう。すなわち、この場合のTCPスループットの測定値はコンテンツのビットレート以上の値にならない。   In the configuration of the present invention, the maximum throughput is predicted by dividing the transfer data amount by the time excluding the period B shown in FIG. 4, and the bit rate corresponding to the maximum throughput is set as the maximum allowable bit rate. A period B in FIG. 4 is a period in which the server is not transmitting data to the client. If the portion of period B is included in the time measurement value for throughput calculation, a period in which data transmission / reception is not actually performed is applied to throughput measurement, and there is no contribution to actual throughput. Will be applied to throughput calculation. That is, if the calculation of the maximum throughput is performed after the period B in which no data transmission / reception is performed, the value of the maximum throughput is lowered. That is, the measured value of the TCP throughput in this case does not become a value higher than the bit rate of the content.

本発明の構成では、期間Bのような[データ送受信非実行期間]の部分を除いた期間、すなわち、ウィンドウサイズに基づく連続データ送信およびその受信確認応答(ack)の受信に至るまでの期間、すなわち、図4に示す期間Aや期間Cをスループット算出の期間として適用する。具体的には、
スループット算出用サンプル1=(データ1〜4の送信データ量)/(時間A+B−B)
スループット算出用サンプル2=(データ5〜8の送信データ量)/(時間C+D−D)

スループット算出用サンプルn
のように、複数のスループット算出用サンプルを算出し、これら複数のスループット算出用サンプルに基づいて、最大スループットを算出する。なお、上記式においてDは、図4に示す期間Cの後に発生するデータ非送信期間である。
In the configuration of the present invention, a period excluding a portion of [data transmission / reception non-execution period] such as period B, that is, a period until continuous data transmission based on the window size and reception of its reception confirmation response (ack), That is, the period A and the period C shown in FIG. 4 are applied as the throughput calculation period. In particular,
Throughput calculation sample 1 = (transmission data amount of data 1 to 4) / (time A + B−B)
Throughput calculation sample 2 = (transmission data amount of data 5 to 8) / (time C + DD)
:
Throughput calculation sample n
As described above, a plurality of throughput calculation samples are calculated, and the maximum throughput is calculated based on the plurality of throughput calculation samples. In the above equation, D is a data non-transmission period that occurs after period C shown in FIG.

このように、本発明の最大スループット算出処理は、図4に示すAやCの「連続データ送信および受信確認応答(ack)の受信期間」、すなわち[データ送受信実行期間]のみをスループット算出処理に適用する期間とし、図4に示す期間Bのような[データ送受信非実行期間]についてはスループット算出処理の非適用期間とする。この処理により、TCPセッションにおいて実際のデータ送信および応答(ack)受信が行われている有効期間のみがスループット算出処理の適用期間となり、真のTCPの最大スループットが測定できる。   As described above, the maximum throughput calculation process of the present invention uses only the “continuous data transmission and reception confirmation response (ack) reception period” of A and C shown in FIG. The period to be applied, and the [data transmission / reception non-execution period] like the period B shown in FIG. With this process, only the effective period during which actual data transmission and response (ack) reception is performed in the TCP session is the application period of the throughput calculation process, and the maximum true TCP throughput can be measured.

前述したように、TCPセッションにおけるデータパケットの送信では、ウィンドウサイズに基づくデータの連続送信が実行される。すなわち、クライアント側でウィンドウが空いているときに受信確認応答(ack)を待たずに連続してデータパケットを送信する。そのため、図4のA,Cに示すような、「連続データ送信および受信確認応答(ack)の受信期間」、すなわち、[データ送受信実行期間]と、Bに示すような[データ送受信非実行期間]が交互に発生する。   As described above, in the transmission of data packets in the TCP session, continuous transmission of data based on the window size is executed. In other words, data packets are continuously transmitted without waiting for a reception confirmation response (ack) when a window is open on the client side. Therefore, as shown in FIGS. 4A and 4C, “continuous data transmission and reception acknowledgment (ack) reception period”, that is, [data transmission / reception execution period] and B [data transmission / reception non-execution period] ] Alternately occur.

なお、図4のA,Cに示すような、「連続データ送信および受信確認応答(ack)の受信期間」、すなわち、[データ送受信実行期間]において送信されるTCPパケットデータを「TCPデータ群」と呼ぶ。個々のTCPデータ群に対応する[データ送受信実行期間]は、ウィンドウや瞬間的な輻輳に大きく影響される。そのため、値が大きく変動し、最大スループットの測定結果が安定しない。本発明では、この問題を回避するために、上述したように、複数のスループット算出用サンプル、すなわち、
スループット算出用サンプル1=(データ1〜4の送信データ量)/(時間A+B−B)
スループット算出用サンプル2=(データ5〜8の送信データ量)/(時間C+D−D)

スループット算出用サンプルn
を算出し、これら複数のスループット算出用サンプルに基づいて、スループットを算出する。なお、スループット算出用サンプルデータ中、他のサンプルデータと大きく外れる測定結果は、例外値として除外する処理を実行する。
4A and 4C, the TCP packet data transmitted in the “continuous data transmission and reception confirmation response (ack) reception period”, that is, the [data transmission / reception execution period] is referred to as a “TCP data group”. Call it. [Data transmission / reception execution period] corresponding to each TCP data group is greatly affected by the window and instantaneous congestion. Therefore, the value fluctuates greatly, and the measurement result of the maximum throughput is not stable. In the present invention, in order to avoid this problem, as described above, a plurality of throughput calculation samples, that is,
Throughput calculation sample 1 = (transmission data amount of data 1 to 4) / (time A + B−B)
Throughput calculation sample 2 = (transmission data amount of data 5 to 8) / (time C + DD)
:
Throughput calculation sample n
And the throughput is calculated based on the plurality of throughput calculation samples. It should be noted that, in the throughput calculation sample data, a process of excluding a measurement result that is significantly different from other sample data as an exceptional value is executed.

本実施例において、図2に示すサーバ200の動的レート制御部210のスループット算出部211の実行する最大スループット算出処理の手順について図5に示すフローチャートを参照して説明する。スループット算出部211は、ウィンドウサイズに基づく連続データ送信の開始から、送信された連続データに対する受信確認応答(ack)を受信するまでの期間をデータ送受信実行期間とし、このデータ送受信実行期間の時間および送信データ量に基づいて最大スループットを算出する。図5は、サーバ200がクライアントとTCPコネクションを確立し、通信を実行して、TCPコネクションの切断を行なうまでの処理の流れを説明したフローチャートである。   In this embodiment, the procedure of the maximum throughput calculation process executed by the throughput calculator 211 of the dynamic rate controller 210 of the server 200 shown in FIG. 2 will be described with reference to the flowchart shown in FIG. The throughput calculation unit 211 sets a period from the start of continuous data transmission based on the window size to reception of a reception confirmation response (ack) for the transmitted continuous data as a data transmission / reception execution period. The maximum throughput is calculated based on the transmission data amount. FIG. 5 is a flowchart illustrating a processing flow from when the server 200 establishes a TCP connection with a client, executes communication, and disconnects the TCP connection.

まず、ステップS101において、サーバはストリーミングデータの配信対象としてのクライアントとTCPコネクションを確立する。なお、このコネクション確立時点で、サーバは、クライアントからバッファ量(ウィンドウサイズに相当)の通知を受ける。   First, in step S101, the server establishes a TCP connection with a client as a distribution target of streaming data. At the time of establishing the connection, the server receives a buffer amount (corresponding to the window size) notification from the client.

ステップS102において、上位層のアプリケーションからのデータ送信要求ありの判定がなされると、ステップS103においてTCPセグメント(パケット)の送信を開始し、送信開始時間[Ts]をメモリに記憶する。なお、このパケット送信は、先にクライアントから通知されたウィンドウサイズに相当するデータ量のパケットの連続送信処理として実行される。例えば図4に示す期間Aの複数のデータ送信処理である。   If it is determined in step S102 that there is a data transmission request from an upper layer application, transmission of a TCP segment (packet) is started in step S103, and the transmission start time [Ts] is stored in the memory. This packet transmission is executed as a continuous transmission process of packets having a data amount corresponding to the window size previously notified from the client. For example, a plurality of data transmission processes in the period A shown in FIG.

ステップS104において、サーバはクライアントからの受信確認応答(TCP ACK)を受信したか否かを判定する。受信確認応答(TCP ACK)を受信していない場合は、ステップS105に進み、TCP送信ウィンドウがMAX、すなわち、ウィンドウサイズに相当するデータ量のパケットを送信済みか否かを判定する。ウィンドウサイズに相当するデータ量のパケットを送信済みでない場合は、ステップS106において、TCPセグメント(パケット)を継続して送信する。   In step S104, the server determines whether or not a reception confirmation response (TCP ACK) from the client has been received. If the reception confirmation response (TCP ACK) has not been received, the process proceeds to step S105, where it is determined whether the TCP transmission window is MAX, that is, whether a packet having a data amount corresponding to the window size has been transmitted. If the packet having the data amount corresponding to the window size has not been transmitted, the TCP segment (packet) is continuously transmitted in step S106.

TCP送信ウィンドウがMAX、すなわち、ウィンドウサイズに相当するデータ量のパケットを送信済みである場合は、受信確認応答を待機する。ステップS104において、受信確認応答を受信した場合は、ステップS107に進み、送信済みTCPセグメントの最終セグメントに対応する受信確認応答(TCP ACK)を受信したか否かを判定し、未受信の場合は、受信するまで待機する。この最終セグメントに対応する受信確認応答(TCP ACK)は、例えば図4の期間Aにおけるack2である。   When the TCP transmission window is MAX, that is, when a packet having a data amount corresponding to the window size has been transmitted, a reception confirmation response is awaited. In step S104, if a reception confirmation response is received, the process proceeds to step S107, where it is determined whether or not a reception confirmation response (TCP ACK) corresponding to the last segment of the transmitted TCP segment has been received. Wait until you receive. The reception confirmation response (TCP ACK) corresponding to this final segment is, for example, ack2 in period A in FIG.

ステップS107において、最終セグメントに対応する受信確認応答(TCP ACK)を受信したと判定すると、ステップS108において、最終セグメントに対応する受信確認応答(TCP ACK)の受信時間[Te]をメモリに記憶する。   If it is determined in step S107 that the reception confirmation response (TCP ACK) corresponding to the final segment has been received, the reception time [Te] of the reception confirmation response (TCP ACK) corresponding to the final segment is stored in the memory in step S108. .

次に、ステップS109において、スループット算出用サンプル対応時間Tn=Te−Tsを算出する。この処理は、図2に示すサーバ200の動的レート制御部210におけるスループット算出部211において実行される。このTn=Te−Tsは、すなわち、図4に示す期間AやCの「連続データ送信および受信確認応答(ack)の受信期間」、すなわち、[データ送受信実行期間]の計測値である。   Next, in step S109, a throughput calculation sample response time Tn = Te−Ts is calculated. This processing is executed in the throughput calculation unit 211 in the dynamic rate control unit 210 of the server 200 shown in FIG. This Tn = Te−Ts is a measured value of the “continuous data transmission and reception acknowledgment (ack) reception period” of the periods A and C shown in FIG.

次に、ステップS110において、測定サンプル数nが予め定めた閾値[Thn]以上となったか否かを判定する。測定サンプル数nが予め定めた閾値[Thn]以上でない場合は、ステップS111において通信が継続中か否かを判定し、通信継続中である場合は、ステップS102に進み、さらに、測定サンプル数nが予め定めた閾値[Thn]以上となるまで、同様の処理を繰り返し、スループット算出用サンプル対応時間Tn=Te−Tsを集める。この処理は、例えば図4における期間AやCの「連続データ送信および受信確認応答(ack)の受信期間」、すなわち、[データ送受信実行期間]の計測値を所定数、すなわち予め定めた閾値[Thn]以上となるまで集める処理である。   Next, in step S110, it is determined whether or not the number n of measurement samples is equal to or greater than a predetermined threshold [Thn]. If the measurement sample number n is not equal to or greater than the predetermined threshold [Thn], it is determined in step S111 whether or not the communication is continuing. If the communication is continuing, the process proceeds to step S102, and further the measurement sample number n Is repeated until the threshold value [Thn] is equal to or greater than a predetermined threshold [Thn], and the sample corresponding time Tn = Te−Ts for throughput calculation is collected. This process is performed by, for example, a “continuous data transmission and reception confirmation response (ack) reception period” in the periods A and C in FIG. Thn] is a process of collecting until it becomes equal to or greater than.

ステップS110において、測定サンプル数nが予め定めた閾値[Thn]以上となったと判定されると、ステップS112に進み、測定サンプル、すなわち、スループット算出用サンプル対応時間T1〜Tn中、値が大きくはずれたものを例外値として除去する処理を実行し、ステップS113において、例外値を除去したスループット算出用サンプル対応時間T1〜Tnのみを適用して、最大スループットを算出する。   If it is determined in step S110 that the number n of measurement samples is equal to or greater than a predetermined threshold [Thn], the process proceeds to step S112, and the value greatly deviates during the measurement sample, that is, the throughput calculation sample correspondence times T1 to Tn. In step S113, only the throughput calculation sample correspondence times T1 to Tn from which the exceptional value is removed are applied to calculate the maximum throughput.

ステップS113におけるスループット算出は、最大スループットを、
最大スループット=(Σ(各データ送受信実行期間における送信データ量))/(Σ(各データ送受信実行期間))
として算出する。ただし、上記式において、Σ(各データ送受信実行期間における送信データ量)、および、Σ(各データ送受信実行期間)には、例外値に対応する
期間および送信データ量は含まない。
The throughput calculation in step S113 calculates the maximum throughput as follows:
Maximum throughput = (Σ (transmission data amount in each data transmission / reception execution period)) / (Σ (each data transmission / reception execution period))
Calculate as However, in the above equation, Σ (transmission data amount in each data transmission / reception execution period) and Σ (each data transmission / reception execution period) do not include the period corresponding to the exceptional value and the transmission data amount.

このようにして、図2に示すサーバ200の動的レート制御部210におけるスループット算出部211は、複数の[データ送受信実行期間]の計測時間および送信データ量に基づいて、最大スループットを算出する。この処理において算出されるスループットは、図4に示すデータ送受信非実行期間(B)を含まない。スループット算出部211は、この算出スループットを最大スループットとして、図2に示すサーバ200の動的レート制御部210のビットレート決定部212に入力する。   In this way, the throughput calculation unit 211 in the dynamic rate control unit 210 of the server 200 illustrated in FIG. 2 calculates the maximum throughput based on the measurement time and the amount of transmission data of a plurality of [data transmission / reception execution periods]. The throughput calculated in this process does not include the data transmission / reception non-execution period (B) shown in FIG. The throughput calculation unit 211 inputs this calculated throughput as the maximum throughput to the bit rate determination unit 212 of the dynamic rate control unit 210 of the server 200 shown in FIG.

ビットレート決定部212の処理について、図6、図7を参照して説明する。図6に示すように、ビットレート決定部212は、スループット算出部211が上述の処理によって算出した最大スループットを入力するとともに、クライアントのバッファ量を見積もり、ビットレートを決定し、エンコード処理あるいはエンコードデータの選択処理などを実行するデータ処理部202に対して、送信データのビットレート決定情報を入力する。   The processing of the bit rate determination unit 212 will be described with reference to FIGS. As shown in FIG. 6, the bit rate determination unit 212 inputs the maximum throughput calculated by the throughput calculation unit 211 by the above processing, estimates the buffer amount of the client, determines the bit rate, and performs the encoding process or the encoded data. The bit rate determination information of the transmission data is input to the data processing unit 202 that executes the selection process.

ビットレート決定部212では、クライアントのバッファ量の見積もり処理を以下の処理によって行なう。すなわち、
通信開始時にクライアントから通知されたバッファ量:[B_cli(byte)]
クライアントが再生を開始してからの経過時間:[T(sec)]
クライアントが再生を開始以降、経過時間[T(sec)]の間にサーバからの送信データ量:[D_serv(byte)]
送信コンテンツから取得可能なコンテンツの再生レート[R(byte/sec))
これらの情報を用いて、クライアントのバッファ量の見積もりを実行する。
In the bit rate determination unit 212, the client buffer amount estimation processing is performed by the following processing. That is,
Buffer amount notified from the client at the start of communication: [B_cli (byte)]
Elapsed time since the client started playback: [T (sec)]
The amount of data transmitted from the server during the elapsed time [T (sec)] since the client started playback: [D_serv (byte)]
Content playback rate that can be acquired from the transmitted content [R (byte / sec)]
Using these pieces of information, the client buffer amount is estimated.

サーバは、クライアントにおいて送信コンテンツの再生が開始されたことを、サーバが実際に送信したデータ量が、クライアントから通知されたバッファ量[B_cli]を上回ったことで判断することができる。つまり、クライアントは、コンテンツ再生開始前にクライアントバッファ量[B_cli]分だけ、バッファにデータを蓄積し、その分の量のデータをサーバが送信した時点で、サーバは、クライアントのバッファが一杯になり、再生が開始されたと判断する。   The server can determine that the reproduction of the transmission content has been started in the client because the data amount actually transmitted by the server exceeds the buffer amount [B_cli] notified from the client. In other words, the client accumulates data in the buffer by the amount of the client buffer [B_cli] before starting the content reproduction, and when the server transmits that amount of data, the server fills the client buffer. It is determined that playback has started.

クライアント側においてコンテンツの再生が開始された時点では、クライアントのバッファ量は[B_cli]であり、再生開始後、時間Tが経過すると、サーバは[D_serv(byte)]のデータをクライアントに送信し、クライアントのバッファに送信データが蓄積される。クライアントは、[R*T(byte)]のデータ量を再生することで、このデータ量がクライアントのバッファから消去される。   When content playback is started on the client side, the buffer amount of the client is [B_cli], and after time T has elapsed after the start of playback, the server transmits data of [D_serv (byte)] to the client, Transmission data is accumulated in the client buffer. The client reproduces the data amount of [R * T (byte)], and this data amount is erased from the client buffer.

サーバは、これらのデータの推移に基づき、
B_cli+D_serv−R*T
のデータ量が、現在のクライアントのバッファ量であると見積もる。このようにして見積もられたバッファ量は、図6のバッファ量情報250に示すように、0〜MAXの範囲で見積もられる。MAXはクライアントバッファ量[B_cli]に相当する。ビットレート決定部212は、このようにクライアント側バッファの見積もりバッファ量の推移に基づいてビットレートを決定する構成であり、見積もりバッファ量が予め定めた閾値以上である場合、スループット算出部211の算出した最大スループットに相当する最大許容ビットレートを上限としてビットレート上昇処理を行なう。
Based on these data transitions, the server
B_cli + D_serv-R * T
Is estimated to be the current client buffer size. The buffer amount estimated in this way is estimated in the range of 0 to MAX as shown in the buffer amount information 250 in FIG. MAX corresponds to the client buffer amount [B_cli]. The bit rate determining unit 212 is configured to determine the bit rate based on the transition of the estimated buffer amount of the client side buffer as described above. When the estimated buffer amount is equal to or greater than a predetermined threshold, the bit rate determining unit 212 calculates the bit rate. Bit rate increase processing is performed with the maximum allowable bit rate corresponding to the maximum throughput as the upper limit.

図7に示すフローチャートを参照して、ビットレート決定部212の処理シーケンスについて説明する。ステップS201において、ビットレート決定部212は、バッファ量が、予め定めた閾値Th1より少ないか否かを判定する。なお、バッファ量とは、上述の見積もり処理によって見積もられたバッファ量である。バッファ量が、予め定めた閾値Th1より少ないと判定された場合は、ステップS202に進み、送信ビットレートの低下処理を実行する。この処理は、図6に示すバッファ量情報250におけるバッファ量がBaの領域にある場合の処理である。   The processing sequence of the bit rate determination unit 212 will be described with reference to the flowchart shown in FIG. In step S201, the bit rate determination unit 212 determines whether or not the buffer amount is smaller than a predetermined threshold Th1. The buffer amount is a buffer amount estimated by the above-described estimation process. When it is determined that the buffer amount is smaller than the predetermined threshold Th1, the process proceeds to step S202, and a transmission bit rate reduction process is executed. This process is a process in the case where the buffer amount in the buffer amount information 250 shown in FIG.

ステップS201において、バッファ量が、予め定めた閾値Th1より少なくないと判定されると、ステップS203に進み、バッファ量が、予め定めた閾値Th2より多いか否かを判定する。バッファ量が、予め定めた閾値Th2より多くない場合は、ステップS201に戻る。この処理は、図6に示すバッファ量情報250におけるバッファ量がBbの領域にある場合の処理である。   If it is determined in step S201 that the buffer amount is not smaller than the predetermined threshold Th1, the process proceeds to step S203, and it is determined whether or not the buffer amount is larger than the predetermined threshold Th2. If the buffer amount is not greater than the predetermined threshold Th2, the process returns to step S201. This processing is processing when the buffer amount in the buffer amount information 250 shown in FIG. 6 is in the Bb area.

バッファ量が、予め定めた閾値Th2より多い場合は、ステップS204に進み、現在の送信データのビットレートと、スループット算出部211が上述の処理によって算出した最大スループットとを比較する。現在の送信データのビットレートが、スループット算出部211が算出した最大スループットに対応するビットレートより小さい場合は、ステップS205に進み、送信データのビットレートを上昇させる処理を実行する。ただし、スループット算出部211が算出した最大スループットに対応するビットレート、すなわち最大許容ビットレートを上限値とする。現在の送信データのビットレートが、スループット算出部211が算出した最大スループットに相当する最大許容ビットレートに等しい場合は、ビットレートの制御を行なうことなく、ステップS201に戻る。この処理は、図6に示すバッファ量情報250におけるバッファ量がBcの領域にある場合の処理である。   When the buffer amount is larger than the predetermined threshold Th2, the process proceeds to step S204, and the bit rate of the current transmission data is compared with the maximum throughput calculated by the throughput calculation unit 211 by the above-described processing. If the bit rate of the current transmission data is smaller than the bit rate corresponding to the maximum throughput calculated by the throughput calculation unit 211, the process proceeds to step S205, and processing for increasing the bit rate of the transmission data is executed. However, the bit rate corresponding to the maximum throughput calculated by the throughput calculation unit 211, that is, the maximum allowable bit rate is set as the upper limit value. If the bit rate of the current transmission data is equal to the maximum allowable bit rate corresponding to the maximum throughput calculated by the throughput calculation unit 211, the process returns to step S201 without controlling the bit rate. This process is a process in the case where the buffer amount in the buffer amount information 250 shown in FIG.

なお、先に説明した図5に示すフローチャートにおけるスループット算出処理は、データ通信の継続中、所定期間毎に繰り返し実行され、スループット算出部211は、最大スループットを逐次更新してビットレート決定部212に入力する。ビットレート決定部212においても、図7のフローチャートに示す処理を繰り返し実行し、スループット算出部211の算出した最新の最大スループットに対応する最大許容ビットレートに基づいてビットレートを逐次決定する。従って、ネットワーク状況に応じた最大スループットに基づくビットレート制御が行われる。   Note that the throughput calculation process in the flowchart shown in FIG. 5 described above is repeatedly executed every predetermined period while data communication continues, and the throughput calculation unit 211 sequentially updates the maximum throughput to the bit rate determination unit 212. input. The bit rate determining unit 212 also repeatedly executes the processing shown in the flowchart of FIG. 7 and sequentially determines the bit rate based on the maximum allowable bit rate corresponding to the latest maximum throughput calculated by the throughput calculating unit 211. Therefore, bit rate control based on the maximum throughput according to the network status is performed.

本実施例では、図4を参照して説明したように、図4に示す期間AやCの「連続データ送信および受信確認応答(ack)の受信期間」、すなわち、[データ送受信実行期間]の計測値を適用して最大スループットを算出し、この最大スループットに相当する最大許容ビットレートを上限とした送信ビットレートの制御を行う構成とした。すなわち、図4に示す期間Bのようなデータ送受信に対する寄与のない期間[データ送受信非実行期間]を省いたデータ送受信期間に基づく最大スループットを算出して、算出した最大スループットに相当する最大許容ビットレートを上限としたビットレート制御を行う。本構成により、実際の送信レートを考慮したビットレート制御が可能となり、ビットレートの上げすぎや抑えすぎといったことがなく、データ送信を確実に実行可能な最大ビットレートを上限としたデータ送信が実現される。   In the present embodiment, as described with reference to FIG. 4, the “continuous data transmission and reception confirmation response (ack) reception period” of the periods A and C shown in FIG. The maximum throughput is calculated by applying the measurement value, and the transmission bit rate is controlled with the maximum allowable bit rate corresponding to the maximum throughput as the upper limit. That is, the maximum allowable bit corresponding to the calculated maximum throughput is calculated by calculating the maximum throughput based on the data transmission / reception period without the period [data transmission / reception non-execution period] such as period B shown in FIG. Bit rate control is performed with the rate as the upper limit. With this configuration, it is possible to control the bit rate in consideration of the actual transmission rate, and it is possible to achieve data transmission up to the maximum bit rate that can reliably execute data transmission without excessively increasing or suppressing the bit rate. The

[実施例2]
次に、実施例2として、クライアント側において受信データに基づいてスループットを算出、あるいはスループット算出に適用する値を算出し、この算出値に基づいてサーバがビットレート制御を実行する構成例について説明する。
[Example 2]
Next, as a second embodiment, a configuration example in which the client side calculates throughput based on received data or calculates a value to be applied to throughput calculation, and the server executes bit rate control based on the calculated value will be described. .

図8は、実施例2におけるストリーミングデータ配信を実行するサーバ200と、ストリーミングデータの受信、再生を実行するクライアント300の機能を説明するブロック図を示す。サーバ200とクライアント300間ではTCPコネクションが設定されて通信が実行される。   FIG. 8 is a block diagram illustrating functions of the server 200 that executes streaming data distribution and the client 300 that receives and reproduces streaming data according to the second embodiment. A TCP connection is set between the server 200 and the client 300 to execute communication.

先に図2を参照して説明した実施例1の構成と異なる点は、クライアント300がパケット間隔計測部305を有する点である。その他の構成は図2の構成と同様である。ただし、各構成部における処理が異なる。以下、実施例2の構成において、実施例1と異なる点を中心として説明する。   A difference from the configuration of the first embodiment described above with reference to FIG. 2 is that the client 300 includes a packet interval measuring unit 305. Other configurations are the same as those in FIG. However, processing in each component is different. Hereinafter, the configuration of the second embodiment will be described with a focus on differences from the first embodiment.

実施例2の構成において、サーバ200のデータ送受信部204は、所定間隔で、緊急フラグ(URGフラグ)をON[1]としたデータ送信パケットを連続送信する。緊急フラグは、通常、TCPパケットに緊急データが含まれる場合にON[1]として送信する。本実施例では、緊急データの有無に関わらず、クライアント側でTCPパケットの受信間隔を測定するパケットであることを示すために、緊急フラグ(URGフラグ)をON[1]としたパケットを連続送信する。   In the configuration of the second embodiment, the data transmission / reception unit 204 of the server 200 continuously transmits data transmission packets whose emergency flag (URG flag) is ON [1] at predetermined intervals. The urgent flag is normally transmitted as ON [1] when urgent data is included in the TCP packet. In this embodiment, packets with the emergency flag (URG flag) set to ON [1] are continuously transmitted to indicate that the packet is a packet for measuring the TCP packet reception interval regardless of the presence or absence of emergency data. To do.

図9を参照して、サーバクライアント間のデータ通信シーケンスを説明する。実施例2においても、実施例1と同様、サーバクライアント間で、コネクション確立が実行された後、サーバからクライアントに対してストリーミングデータの配信が実行される。図9に示すデータ通信シーケンスは、実施例1において説明した図3に示すステップS13のデータ転送処理の詳細を示す図である。   A data communication sequence between server clients will be described with reference to FIG. Also in the second embodiment, as in the first embodiment, after the connection is established between the server and the client, the streaming data is distributed from the server to the client. The data communication sequence illustrated in FIG. 9 is a diagram illustrating details of the data transfer process in step S13 illustrated in FIG. 3 described in the first embodiment.

実施例2では、図9に示すように、サーバはTCPパケットとしてのデータ1から順にクライアントに送信する。サーバは、クライアントにおいてパケット受信間隔を計測する要求のあるパケットについて、緊急フラグをON[1]として連続送信する。図9に示すパケットn、パケットn+1のTCPパケットのヘッダに設定される緊急フラグがON[1]に設定されたパケットである。この緊急フラグがON[1]に設定された2つの連続するパケットをスループット計測用ペアパケットとする。   In the second embodiment, as illustrated in FIG. 9, the server transmits data to the client sequentially from data 1 as a TCP packet. The server continuously transmits the urgent flag to ON [1] for a packet that is requested to measure the packet reception interval at the client. This is a packet in which the emergency flag set in the header of the TCP packet of packet n and packet n + 1 shown in FIG. 9 is set to ON [1]. Two consecutive packets with the urgent flag set to ON [1] are set as throughput measurement pair packets.

クライアントは、緊急フラグがON[1]に設定されたパケットを2つ連続して受信した場合、その受信間隔[t]を計測する。この計測値に基づいてスループットを算出し、サーバに通知する。あるいは、受信間隔データ[t]をサーバに通知して、サーバにおいて受信間隔データ[t]に基づいてスループットを算出してもよい。   When the client continuously receives two packets whose urgent flag is set to ON [1], the client measures the reception interval [t]. Based on this measured value, the throughput is calculated and notified to the server. Alternatively, the reception interval data [t] may be notified to the server, and the server may calculate the throughput based on the reception interval data [t].

サーバはこの連続パケット受信間隔データ[t]に基づいて算出されるスループットを最大スループットとして、この最大スループットに相当するビットレートを最大許容ビットレートとしたビットレート制御を実行する。図10、図11を参照して、実施例2におけるサーバの処理と、クライアントの処理シーケンスについて説明する。   The server executes bit rate control with the throughput calculated based on the continuous packet reception interval data [t] as the maximum throughput and the bit rate corresponding to the maximum throughput as the maximum allowable bit rate. With reference to FIGS. 10 and 11, server processing and client processing sequence in the second embodiment will be described.

まず図10を参照して、サーバの処理について説明する。図10は、サーバ200がクライアントとTCPコネクションを確立し、通信を実行して、TCPコネクションの切断を行なうまでの処理の流れを説明したフローチャートである。   First, the processing of the server will be described with reference to FIG. FIG. 10 is a flowchart illustrating a processing flow from when the server 200 establishes a TCP connection with the client, executes communication, and disconnects the TCP connection.

まず、ステップS301において、サーバはストリーミングデータの配信対象としてのクライアントとTCPコネクションを確立する。ステップS302において、クライアントアプリケーションからのデータ送信要求ありの判定がなされると、ステップS303においてTCPセグメント(パケット)の送信を開始する。   First, in step S301, the server establishes a TCP connection with a client as a streaming data distribution target. If it is determined in step S302 that there is a data transmission request from the client application, transmission of a TCP segment (packet) is started in step S303.

ステップS304において、サーバは、クライアントに対する送信パケットをスループット計測用ペアパケットとするかを判定する。送信パケットをスループット計測用ペアパケットとする場合は、ステップS305に進み、緊急フラグをON[1]に設定したパケットを生成し、連続送信する。送信パケットをスループット計測用ペアパケットとしない場合は、ステップS306に進み、緊急フラグをOFF[0]に設定したパケットを生成して送信する。   In step S304, the server determines whether the transmission packet for the client is a throughput measurement pair packet. If the transmission packet is a pair packet for throughput measurement, the process proceeds to step S305, where a packet with the emergency flag set to ON [1] is generated and continuously transmitted. If the transmission packet is not a throughput measurement pair packet, the process advances to step S306 to generate and transmit a packet with the emergency flag set to OFF [0].

ステップS307において、通信が継続していると判定した場合は、ステップS302以下の処理を繰り返し実行する。通信が終了した場合は、ステップS308に進みTCPコネクションを切断して処理を終了する。   If it is determined in step S307 that communication is continuing, the processes in and after step S302 are repeatedly executed. If the communication is completed, the process proceeds to step S308, where the TCP connection is disconnected and the process is terminated.

次に、クライアント側の処理について、図11のフローチャートを参照して説明する。図11は、クライアント300がサーバ200とTCPコネクションを確立し、通信を実行して、TCPコネクションの切断を行なうまでの処理の流れを説明したフローチャートである。   Next, the processing on the client side will be described with reference to the flowchart of FIG. FIG. 11 is a flowchart for explaining the flow of processing from when the client 300 establishes a TCP connection with the server 200, executes communication, and disconnects the TCP connection.

まず、ステップS351において、クライアントはストリーミングデータの配信元としてのサーバとTCPコネクションを確立する。ステップS352において、クライアントは、サーバからのTCPパケットを受信し、ステップS353においてTCPパケットの受信時間をメモリに記憶する。   First, in step S351, the client establishes a TCP connection with a server as a streaming data distribution source. In step S352, the client receives a TCP packet from the server, and stores the reception time of the TCP packet in the memory in step S353.

ステップS354において、受信パケットの緊急フラグがON[1]であるか否かを判定し、Noであれば、ステップS352に戻る。Yesであれば、1つ前の受信パケットの緊急フラグもON[1]であったかを確認し、Noであれば、ステップS352に戻る。Yesであれば、ステップS356に進み、緊急フラグがON[1]である2つの連続パケットの受信間隔[t]を算出する。この処理は、図8に示すクライアント300のパケット間隔計測部305において実行される。   In step S354, it is determined whether or not the emergency flag of the received packet is ON [1]. If No, the process returns to step S352. If Yes, it is confirmed whether the urgent flag of the previous received packet is also ON [1]. If No, the process returns to step S352. If Yes, the process proceeds to step S356, and the reception interval [t] between two consecutive packets whose urgent flag is ON [1] is calculated. This process is executed in the packet interval measuring unit 305 of the client 300 shown in FIG.

ステップS357では、2つの連続パケットの受信間隔[t]に基づいて、最大スループットが算出される。
最大スループット=(ペアパケットの後ろパケットのデータ量)/t
によって算出される。この算出処理もパケット間隔計測部305において実行される。
In step S357, the maximum throughput is calculated based on the reception interval [t] between two consecutive packets.
Maximum throughput = (data amount of packet after pair packet) / t
Is calculated by This calculation process is also executed by the packet interval measurement unit 305.

ステップS358では、算出情報をサーバにフィードバックするか否かを判定し、フィードバックしない場合は、ステップS360において通信の継続を判定して、継続している場合はステップS352に戻り処理を繰り返す。ステップS358では、算出情報をサーバにフィードバックすると判定した場合は、ステップS359に進み、算出スループット情報、または受信間隔情報をサーバに送信する。   In step S358, it is determined whether or not the calculation information is fed back to the server. If not, the communication is determined to be continued in step S360. If it is continued, the process returns to step S352 and the process is repeated. If it is determined in step S358 that the calculated information is fed back to the server, the process proceeds to step S359, and the calculated throughput information or the reception interval information is transmitted to the server.

ステップS359の処理の後、ステップS360において通信の継続を判定して、継続している場合はステップS352に戻り処理を繰り返す。ステップS360において通信の終了と判定された場合は、ステップS361においてTCPコネクションを切断する。   After the process of step S359, it is determined in step S360 that the communication is continued. If the communication is continued, the process returns to step S352 and the process is repeated. If it is determined in step S360 that communication has ended, the TCP connection is disconnected in step S361.

なお、前述したように、クライアントは、緊急フラグがON[1]に設定されたパケットを2つ連続して受信した場合、その受信間隔[t]を計測して、計測値に基づいてスループットを算出し、サーバに通知する構成としてもよいが、受信間隔データ[t]をサーバに通知して、サーバにおいて受信間隔データ[t]に基づいてスループットを算出してもよい。この場合は、ステップS357の処理は、クライアントでは実行する必要がない。   As described above, when the client continuously receives two packets with the urgent flag set to ON [1], the client measures the reception interval [t] and determines the throughput based on the measured value. The calculation may be performed and notified to the server, but the reception interval data [t] may be notified to the server, and the server may calculate the throughput based on the reception interval data [t]. In this case, it is not necessary for the client to execute the process in step S357.

サーバ側では、クライアントから受信した情報が受信間隔データ[t]である場合は、サーバ200のスループット算出部211において、受信間隔データ[t]に基づいて、上記と同様のスループット算出式、すなわち、
スループット=(ペアパケットの総データ量/2)/t
によって最大スループットを算出する。
On the server side, when the information received from the client is the reception interval data [t], the throughput calculation unit 211 of the server 200 uses the same throughput calculation formula as above based on the reception interval data [t], that is,
Throughput = (total data amount of pair packet / 2) / t
To calculate the maximum throughput.

サーバ側のビットレート決定部212は、クライアントから受信したスループット、あるいは、クライアントから受信した受信間隔データ[t]に基づいてサーバのスループット算出部211において算出したスループットを最大スループットとして、ビットレート入力部212に入力する。   The server-side bit rate determination unit 212 uses the throughput received from the client or the throughput calculated by the server throughput calculation unit 211 based on the reception interval data [t] received from the client as the maximum throughput. Input to 212.

ビットレート入力部212における処理は、実施例1と同様の処理であり、先に図7を参照して説明したビットレート制御処理が実行される。本処理でも実際の連続送信パケットの受信間隔に基づいて最大スループットが計測される。すなわち、先に図4を参照して説明した期間Bのようなデータ送受信に対する寄与のない期間[データ送受信非実行期間]を考慮しない最大スループットが算出され、算出した最大スループットに相当する最大許容ビットレートを上限としたビットレート制御を行うことができる。このように実施例2も、実際に連続送信されるパケットの計測に基づいて定められる最大スループットに相当する最大許容ビットレートに従ってビットレート制御を行う。本構成により、実際の送信レートを考慮したビットレート制御が可能となり、ビットレートの上げすぎや抑えすぎといったことがなく、データ送信を確実に実行可能な最大ビットレートを上限としたデータ送信が実現される。   The processing in the bit rate input unit 212 is the same as that in the first embodiment, and the bit rate control processing described above with reference to FIG. 7 is executed. Even in this processing, the maximum throughput is measured based on the reception interval of actual continuous transmission packets. That is, a maximum throughput that does not consider a period [data transmission / reception non-execution period] that does not contribute to data transmission / reception such as period B described above with reference to FIG. 4 is calculated, and the maximum allowable bit corresponding to the calculated maximum throughput Bit rate control with the rate as the upper limit can be performed. As described above, the second embodiment also performs the bit rate control according to the maximum allowable bit rate corresponding to the maximum throughput determined based on the measurement of actually continuously transmitted packets. With this configuration, it is possible to control the bit rate in consideration of the actual transmission rate, and it is possible to achieve data transmission up to the maximum bit rate that can reliably execute data transmission without excessively increasing or suppressing the bit rate. The

[実施例3]
次に、実施例3として、基地局(AP:Access Point)において取得する情報を適用してビットレート制御を行う構成について説明する。
[Example 3]
Next, a configuration for performing bit rate control by applying information acquired in a base station (AP: Access Point) will be described as a third embodiment.

図1のネットワーク構成において、クライアント(携帯端末)123、クライアント(再生装置)124は、基地局(AP)131を介してサーバ101との通信を実行する。   In the network configuration of FIG. 1, a client (portable terminal) 123 and a client (playing device) 124 execute communication with the server 101 via a base station (AP) 131.

サーバが基地局(AP)を介してクライアントに対してストリーミングデータを配信する際、サーバは、まず、サーバクライアント間にある最適な基地局(AP)を発見する処理を行なうことが必要である。まずこのAP発見処理について図12を参照して説明する。   When a server delivers streaming data to a client via a base station (AP), the server needs to first perform a process of finding an optimal base station (AP) between server clients. First, the AP discovery process will be described with reference to FIG.

まず、ストリーミング配信を実行するサーバ200は、ストリーミングを開始する前に、ステップS401において、サーバ200自身およびストリーミングデータの配信先クライアント123の二つのMACアドレスを格納した「AP発見メッセージ」をサブネット内にブロードキャストする。   First, before starting streaming, the server 200 that performs streaming distribution transmits an “AP discovery message” in which two MAC addresses of the server 200 itself and the streaming data distribution destination client 123 are stored in the subnet in step S401. Broadcast.

ブロードキャストされた「AP発見メッセージ」は、LANに接続されたすべての基地局(AP)が受信する。図には2つの基地局a(APa)400aと基地局b(APb)400bを示している。サーバ200からの「AP発見メッセージ」を受信した各AP400a,400bは、ステップS402において、「AP発見メッセージ」に含まれるクライアントのMACアドレスをもつノードが無線リンク内に存在するかを、自身の無線アソシエーションリストを参照して調べる。   The broadcast “AP discovery message” is received by all base stations (APs) connected to the LAN. The figure shows two base stations a (APa) 400a and base station b (APb) 400b. In step S402, each AP 400a, 400b that has received the “AP discovery message” from the server 200 determines whether a node having the client MAC address included in the “AP discovery message” exists in the wireless link. Check the association list.

もし、アソシエーションリストに該当MACアドレスがある場合は、APは自身がそのストリーミングの通信経路上に存在していることがわかる。なお、アソシエーションリストに該当MACアドレスがあるないにかかわらず、受信した「AP発見メッセージ」は無線リンクへは転送せず、破棄する。   If there is a corresponding MAC address in the association list, the AP knows that it is on the streaming communication path. Note that the received “AP discovery message” is discarded without being transferred to the wireless link, regardless of whether the corresponding MAC address is present in the association list.

APがストリーミングの通信経路上に存在していることが分かった場合は、ステップS403において、AP、図12の例では、基地局a(APa)400aはサーバ200、クライアント123のMACアドレスに加え、基地局a(APa)400a自身のMACアドレスを格納した「AP発見応答メッセージ」を、サーバ200にユニキャストで送信する。ストリーミング配信実行サーバ200は、これから行うストリーミングの経路上に無線リンク(ボトルネック)が存在することが分かる。なお、APがストリーミングの通信経路上に存在していないことがわかった場合は、APは「AP発見応答メッセージ」を送信しない。   If it is found that the AP exists on the streaming communication path, in step S403, the AP, in the example of FIG. 12, the base station a (APa) 400a adds to the MAC addresses of the server 200 and the client 123, An “AP discovery response message” storing the MAC address of the base station a (APa) 400 a itself is transmitted to the server 200 by unicast. The streaming delivery execution server 200 knows that a wireless link (bottleneck) exists on the path of streaming to be performed. When it is found that the AP does not exist on the streaming communication path, the AP does not transmit an “AP discovery response message”.

以上のやりとりにより、ストリーミングデータ配信を実行するサーバおよび通信経路上の基地局(AP)は、お互いのMACアドレスを把握することができるため、両者間で通信(無線リンク情報をAPからサーバへ通知)が可能となる。なお、ストリーミングデータを受信するクライアントの移動や電源OFF等で、基地局(AP)自身のアソシエーションリストから該当MACアドレスが削除された場合は、基地局(AP)はサーバへの通知を取りやめる。   Through the above exchange, the server that executes streaming data distribution and the base station (AP) on the communication path can grasp each other's MAC address, so communication between them (radio link information is notified from the AP to the server) ) Is possible. Note that when the corresponding MAC address is deleted from the association list of the base station (AP) itself due to movement of the client that receives the streaming data, power off, etc., the base station (AP) cancels the notification to the server.

また、サーバによる「AP発見メッセージ」をストリーミング開始だけでなく、ストリーミング最中も、定期的に送信することにより、ストリーミングクライアントがAP間をハンドオーバーした場合に対応可能となる。つまり、移動先で接続したAPが、「AP発見メッセージ」を受信した瞬間に、移動先APが、「AP発見応答メッセージ」をサーバに返答し、無線リンクの状況を通知し始める。なお、自身のアソシエーションリストから該当ストリーミングクライアントのMACアドレスが削除された、移動前に接続していたAPは、サーバへの無線リンク情報の通知は取りやめる。   Further, by periodically transmitting the “AP discovery message” by the server, not only during the start of streaming, but also during the streaming, it becomes possible to cope with the case where the streaming client performs handover between APs. That is, at the moment when the AP connected at the destination receives the “AP discovery message”, the destination AP returns an “AP discovery response message” to the server and starts to notify the status of the wireless link. Note that the AP connected before moving, in which the MAC address of the corresponding streaming client has been deleted from its association list, cancels the notification of the wireless link information to the server.

なお、基地局(AP)からサーバへの通知をL2(データリンク層)レベルのメッセージではなく、上位レベル(IP)のメッセージで行う場合は、「AP発見メッセージ」「AP発見応答メッセージ」に、MACアドレスに加え、IPアドレスも格納しておく。また、基地局(AP)は、「AP発見応答メッセージ」の代わりに、即座に無線リンク情報をサーバに通知してもよい。   In addition, when the notification from the base station (AP) to the server is performed not by an L2 (data link layer) level message but by an upper level (IP) message, the “AP discovery message” and “AP discovery response message” In addition to the MAC address, an IP address is also stored. Further, the base station (AP) may immediately notify the server of the radio link information instead of the “AP discovery response message”.

このようなAP発見処理によって、ストリーミング配信を実行するサーバと基地局(AP)とクライアントの関係が設定される。実施例3では、ストリーミング配信を実行するサーバが、ストリーミング配信経路上の基地局(AP)において取得する情報を適用してビットレート制御を行う。   By such AP discovery processing, the relationship between the server that executes streaming delivery, the base station (AP), and the client is set. In the third embodiment, a server that performs streaming distribution performs bit rate control by applying information acquired in a base station (AP) on a streaming distribution path.

図13を参照して、実施例3におけるストリーミングデータ配信を実行するサーバ200と、ストリーミングデータの受信、再生を実行するクライアント300、およびストリーミング配信経路上の基地局(AP)400の機能を説明する。サーバ200とクライアント300間では基地局(AP)400を介したTCPコネクションが設定されて通信が実行される。   With reference to FIG. 13, functions of the server 200 that executes streaming data distribution, the client 300 that receives and reproduces streaming data, and the base station (AP) 400 on the streaming distribution path according to the third embodiment will be described. . A TCP connection via the base station (AP) 400 is set between the server 200 and the client 300 to execute communication.

サーバ200およびクライアント300の構成は、先に図2を参照して説明した実施例1の構成と同様である。ただしサーバ200における処理は異なる。基地局(AP)400は、図13に示すように、データ送受信部401、通信帯域監視部402、通信帯域情報生成部403を有する。   The configurations of the server 200 and the client 300 are the same as the configurations of the first embodiment described above with reference to FIG. However, the processing in the server 200 is different. As illustrated in FIG. 13, the base station (AP) 400 includes a data transmission / reception unit 401, a communication band monitoring unit 402, and a communication band information generation unit 403.

基地局(AP)400の通信帯域監視部402は、無線通信区間のL2(データリンク層)レイヤでのRTT(Round Trip Time)や、RSSI(電波強度)、送信レートなどの値を監視する。RTTは、基地局(AP)400からパケットが送信されてからクライアントから応答が戻ってくるまでの時間である。基地局(AP)400の通信帯域監視部402における監視動作は定期的に行われる。   The communication band monitoring unit 402 of the base station (AP) 400 monitors values such as RTT (Round Trip Time), RSSI (radio wave intensity), and transmission rate in the L2 (data link layer) layer of the wireless communication section. RTT is the time from when a packet is transmitted from the base station (AP) 400 until a response is returned from the client. The monitoring operation in the communication band monitoring unit 402 of the base station (AP) 400 is periodically performed.

通信帯域監視部402が取得した通信区間の情報は、必要に応じて通信帯域情報生成部403において、サーバに通知するためのデータ処理が実行される。データ処理の例としては加重平均値や標準偏差値の導出などである。RTT、RSSI、送信レートなどの各値について加重平均値や標準偏差値の導出がなされ、サーバへの報告値が生成される。通信帯域情報生成部403の生成したデータは、データ送受信部401、通信網を介してサーバ200に通知される。   Data processing for notifying the server of the communication section information acquired by the communication band monitoring unit 402 is performed in the communication band information generation unit 403 as necessary. Examples of data processing include derivation of weighted average values and standard deviation values. A weighted average value and a standard deviation value are derived for each value such as RTT, RSSI, and transmission rate, and a report value to the server is generated. The data generated by the communication band information generation unit 403 is notified to the server 200 via the data transmission / reception unit 401 and the communication network.

基地局(AP)400からサーバ200に送信された通信帯域情報は、サーバ200のデータ送受信部204で受信され、動的レート制御部210のビットレート決定部212に入力される。ビットレート決定部212は、基地局(AP)400から取得した通信帯域情報を判定アルゴリズムにかけて解析し、ストリーミングデータのビットレートを減少させた方が良いと判断したときは、即座にビットレートを減少させる。   Communication band information transmitted from the base station (AP) 400 to the server 200 is received by the data transmitting / receiving unit 204 of the server 200 and input to the bit rate determining unit 212 of the dynamic rate control unit 210. The bit rate determination unit 212 analyzes the communication band information acquired from the base station (AP) 400 by using a determination algorithm, and when it is determined that the bit rate of streaming data should be reduced, the bit rate is immediately reduced. Let

判定アルゴリズムは、例えば基地局(AP)400から取得した通信帯域情報と、ビットレート決定部212の保持する閾値との比較処理として実行される。具体的には、例えば基地局(AP)400から取得した通信帯域情報に含まれるRTT、RSSI、送信レートなどに基づく加重平均値や標準偏差値などのパラメータが、ビットレート決定部212の保持する閾値をN回連続で超過した場合にビットレートを減少させるなどの処理を実行する。このような複数回の閾値比較を行う理由は、突発的に1回だけパラメータが閾値を超過した場合などに、無駄にビットレートを減少させてしまうことを防ぐためである。   The determination algorithm is executed, for example, as a comparison process between the communication band information acquired from the base station (AP) 400 and the threshold held by the bit rate determination unit 212. Specifically, for example, parameters such as weighted average values and standard deviation values based on RTT, RSSI, transmission rate, etc. included in the communication band information acquired from the base station (AP) 400 are held by the bit rate determination unit 212. When the threshold value is exceeded N times consecutively, processing such as decreasing the bit rate is executed. The reason for performing the threshold comparison a plurality of times is to prevent the bit rate from being reduced unnecessarily, for example, when the parameter suddenly exceeds the threshold value only once.

実施例3におけるビットレート決定部212の処理について、図14、図15を参照して説明する。実施例3は、実施例1または実施例2におけるスループット算出処理を併用して、ビットレート制御を行なう。図14に示すように、ビットレート決定部212は、スループット算出部211が実施例1または実施例2の処理によって算出した最大スループットを入力するとともに、上述した基地局(AP)400から取得した通信帯域情報、具体的には、基地局とクライアント間の無線通信におけるRTT、RSSI、送信レートなどに基づく加重平均値や標準偏差値などのパラメータを入力する。さらに、先に説明したクライアントのバッファ量の見積もり処理を実行して、ビットレートを決定し、エンコード処理あるいはエンコードデータの選択処理などを実行するデータ処理部202に対して、送信データのビットレート決定情報を入力する。見積もりバッファ量は、図14のバッファ量情報250に示すように、クライアントの見積もりバッファ量として0〜MAXの範囲の見積もりバッファ量がビットレート決定部212によって取得される。   The processing of the bit rate determining unit 212 in the third embodiment will be described with reference to FIGS. In the third embodiment, the bit rate control is performed by using the throughput calculation process in the first or second embodiment together. As shown in FIG. 14, the bit rate determining unit 212 receives the maximum throughput calculated by the throughput calculating unit 211 by the processing of the first embodiment or the second embodiment, and the communication acquired from the base station (AP) 400 described above. Parameters such as a weighted average value and a standard deviation value based on bandwidth information, specifically, RTT, RSSI, transmission rate, etc. in wireless communication between the base station and the client are input. Further, the client buffer amount estimation process described above is executed to determine the bit rate, and the bit rate of the transmission data is determined for the data processing unit 202 that executes the encoding process or the encoding data selection process. Enter information. As shown in the buffer amount information 250 in FIG. 14, the estimated buffer amount in the range of 0 to MAX is acquired by the bit rate determining unit 212 as the estimated buffer amount of the client.

図15に示すフローチャートを参照して、ビットレート決定部212の処理シーケンスについて説明する。ビットレート決定部212は、ステップS501において、基地局(AP)400から通信帯域情報の入力の有無を判定する。具体的には、RTT、RSSI、送信レートなどに基づく加重平均値や標準偏差値などのパラメータである。ステップS501において、基地局(AP)400から通信帯域情報の入力有りと判定すると、ステップS502に進み、基地局(AP)400から入力した通信帯域情報の解析処理を実行する。   The processing sequence of the bit rate determination unit 212 will be described with reference to the flowchart shown in FIG. In step S501, the bit rate determination unit 212 determines whether communication band information has been input from the base station (AP) 400. Specifically, it is a parameter such as a weighted average value or standard deviation value based on RTT, RSSI, transmission rate, and the like. If it is determined in step S501 that communication band information has been input from the base station (AP) 400, the process proceeds to step S502, and analysis processing of the communication band information input from the base station (AP) 400 is executed.

ステップS502の解析処理は、例えば、上述したように、基地局(AP)400から取得した通信帯域情報と、ビットレート決定部212の保持する閾値との比較処理である。例えば基地局(AP)400から取得した基地局とクライアント間の無線通信におけるRTT、RSSI、送信レートなどに基づく加重平均値や標準偏差値などのパラメータと、ビットレート決定部212の保持する閾値との比較処理として実行される。   The analysis processing in step S502 is, for example, a comparison processing between the communication band information acquired from the base station (AP) 400 and the threshold held by the bit rate determination unit 212 as described above. For example, parameters such as weighted average values and standard deviation values based on RTT, RSSI, transmission rate, and the like in wireless communication between the base station and the client acquired from the base station (AP) 400, and threshold values held by the bit rate determination unit 212 This is executed as a comparison process.

ステップS503では、ステップS502における解析結果として、送信ビットレートの低下が必要と判断されたか否かを判定し、送信ビットレートの低下が必要と判定された場合は、ステップS504に進み、送信ビットレートの低下処理を実行する。また、ステップS505において、ステップS502における解析結果として、送信ビットレートの上昇が可能と判断されたか否かを判定し、送信ビットレートの上昇が可能と判定された場合は、ステップS506に進み、送信ビットレートの上昇処理を実行する。ただし、スループット算出部211が算出した最大スループットに相当するビットレートを最大許容ビットレート、すなわち上限値とする。この上限値は、実施例1、実施例2で説明したスループット算出部211またはクライアントが算出する最大スループットに相当する最大許容ビットレートである。   In step S503, it is determined as a result of the analysis in step S502 whether or not it is determined that the transmission bit rate needs to be reduced. If it is determined that the transmission bit rate needs to be reduced, the process proceeds to step S504. The reduction process is executed. In step S505, it is determined whether the transmission bit rate can be increased as an analysis result in step S502. If it is determined that the transmission bit rate can be increased, the process proceeds to step S506. Executes bit rate increase processing. However, the bit rate corresponding to the maximum throughput calculated by the throughput calculation unit 211 is set as the maximum allowable bit rate, that is, the upper limit value. This upper limit is the maximum allowable bit rate corresponding to the maximum throughput calculated by the throughput calculation unit 211 or the client described in the first and second embodiments.

ステップS503およびステップS505において、基地局(AP)400から取得した通信帯域情報の解析に基づいて、送信ビットレートの低下あるいは上昇が必要と判断するのは、前述したように、基地局(AP)400から取得した基地局とクライアント間の無線通信におけるRTT、RSSI、送信レートなどに基づく加重平均値や標準偏差値などのパラメータと、ビットレート決定部212の保持する閾値との比較処理の結果、複数回、連続して同様の結果が発生した場合にビットレートの変更制御を必要と判断する。   In step S503 and step S505, based on the analysis of the communication band information acquired from the base station (AP) 400, it is determined that the transmission bit rate needs to be reduced or increased, as described above. As a result of the comparison processing between the parameters such as the weighted average value and the standard deviation value based on RTT, RSSI, transmission rate, etc. in the wireless communication between the base station and the client acquired from 400, and the threshold held by the bit rate determination unit 212, When the same result occurs continuously several times, it is determined that the bit rate change control is necessary.

例えば、基地局とクライアント間の無線通信におけるRTTが閾値aより長い状態が継続した場合は、送信ビットレートを低下させる。閾値bより短い状態が継続した場合は、送信ビットレートを上昇させる。基地局とクライアント間の無線通信におけるRSSI(電波強度)が閾値cより高い状態が継続した場合は、送信ビットレートを上昇させる。閾値dより低い状態が継続した場合は、送信ビットレートを低下させる。基地局とクライアント間の無線通信におけるビットレートが閾値eより低い状態が継続した場合は、送信ビットレートを低下させる。閾値fより高い状態が継続した場合は、送信ビットレートを上昇させるなどの処理が行なわれることになる。   For example, if the state where the RTT in the wireless communication between the base station and the client is longer than the threshold value a continues, the transmission bit rate is lowered. When the state shorter than the threshold value b continues, the transmission bit rate is increased. When the RSSI (radio wave intensity) in the wireless communication between the base station and the client continues to be higher than the threshold value c, the transmission bit rate is increased. When the state lower than the threshold value d continues, the transmission bit rate is reduced. When the state in which the bit rate in the wireless communication between the base station and the client is lower than the threshold value e continues, the transmission bit rate is lowered. When the state higher than the threshold value f continues, processing such as increasing the transmission bit rate is performed.

ステップS507〜S509の処理は、実施例1と同様の処理であり、見積もりバッファ量に基づいてビットレートを制御する処理である。すなわち、ステップS507において、ビットレート決定部212は、バッファ量が、予め定めた閾値Th1より少ないか否かを判定する。バッファ量が、予め定めた閾値Th1より少ないと判定された場合は、ステップS504に進み、送信ビットレートの低下処理を実行する。この処理は、図14に示すバッファ量情報250におけるバッファ量がBaの領域にある場合の処理である。   The processes in steps S507 to S509 are the same as those in the first embodiment, and are processes for controlling the bit rate based on the estimated buffer amount. That is, in step S507, the bit rate determination unit 212 determines whether or not the buffer amount is smaller than a predetermined threshold value Th1. If it is determined that the buffer amount is smaller than the predetermined threshold Th1, the process proceeds to step S504, and a transmission bit rate reduction process is executed. This processing is processing when the buffer amount in the buffer amount information 250 shown in FIG. 14 is in the area of Ba.

ステップS507において、バッファ量が、予め定めた閾値Th1より少なくないと判定されると、ステップS508に進み、バッファ量が、予め定めた閾値Th2より多いか否かを判定する。バッファ量が、予め定めた閾値Th2より多くない場合は、ステップS501に戻る。この処理は、図6に示すバッファ量情報250におけるバッファ量がBbの領域にある場合の処理である。   If it is determined in step S507 that the buffer amount is not smaller than the predetermined threshold Th1, the process proceeds to step S508, and it is determined whether or not the buffer amount is larger than the predetermined threshold Th2. If the buffer amount is not greater than the predetermined threshold Th2, the process returns to step S501. This processing is processing when the buffer amount in the buffer amount information 250 shown in FIG. 6 is in the Bb area.

バッファ量が、予め定めた閾値Th2より多い場合は、ステップS506に進み、現在の送信データのビットレートと、スループット算出部211が実施例1の処理に従って算出した最大スループット、あるいは実施例2の処理に従って、クライアントまたはスループット算出部211が算出した最大スループットに相当する最大許容ビットレートとを比較する。現在の送信データのビットレートが、最大スループットに相当する最大許容ビットレートより小さい場合は、ステップS506に進み、送信データのビットレートを上昇させる処理を実行する。ただし、最大許容ビットレートを上限値とする。現在の送信データのビットレートが、最大スループットに相当する最大許容ビットレートを等しい場合は、ビットレートの制御を行なうことなく、ステップS501に戻る。この処理は、図14に示すバッファ量情報250におけるバッファ量がBcの領域にある場合の処理である。   If the buffer amount is larger than the predetermined threshold value Th2, the process proceeds to step S506, where the current transmission data bit rate and the maximum throughput calculated by the throughput calculation unit 211 according to the process of the first embodiment or the process of the second embodiment. Thus, the maximum allowable bit rate corresponding to the maximum throughput calculated by the client or the throughput calculation unit 211 is compared. If the bit rate of the current transmission data is smaller than the maximum allowable bit rate corresponding to the maximum throughput, the process proceeds to step S506, and processing for increasing the bit rate of the transmission data is executed. However, the maximum allowable bit rate is the upper limit value. If the bit rate of the current transmission data is equal to the maximum allowable bit rate corresponding to the maximum throughput, the process returns to step S501 without controlling the bit rate. This processing is processing when the buffer amount in the buffer amount information 250 shown in FIG. 14 is in the Bc area.

実施例3の処理では、実施例1または実施例2のスループット算出処理に従って算出される最大スループットに基づくビットレート制御に加え、基地局(AP)の測定する基地局とクライアント間の無線通信におけるRTT、RSSI、送信レートなどの通信帯域情報に基づいて、ビットレートの制御を行う構成としたので、無線通信における通信状態の変動に即応したビットレート制御が実現される。また、実施例1、実施例2と同様、有効なデータ送受信期間に基づくスループット算出値を最大スループットとした設定であるので、実際の送信レートを考慮したビットレート制御が可能となり、ビットレートの上げすぎや抑えすぎといったことがなく、データ送信を確実に実行可能な最大ビットレートを上限としたデータ送信が実現される。   In the process of the third embodiment, in addition to the bit rate control based on the maximum throughput calculated according to the throughput calculation process of the first or second embodiment, the RTT in the wireless communication between the base station and the client measured by the base station (AP). Since the bit rate control is performed based on communication band information such as RSSI and transmission rate, bit rate control that responds quickly to changes in the communication state in wireless communication is realized. Further, as in the first and second embodiments, the throughput calculation value based on the effective data transmission / reception period is set as the maximum throughput, so that the bit rate can be controlled in consideration of the actual transmission rate, and the bit rate can be increased. Data transmission is realized with an upper limit of the maximum bit rate at which data transmission can be performed reliably without being excessively suppressed or suppressed.

なお、基地局(AP)の測定する基地局とクライアント間の無線通信における通信帯域情報に基づいて、サーバクライアント間のストリーミングデータの配信の続行が困難と判断された場合は、サーバまたは基地局(AP)からクライアントに対してストリーミングデータの配信の続行が困難になったことを通知する構成としてもよい。クライアントでは、通知をディスプレイに表示し、ユーザにデータ配信が困難であることを知らせる処理を実行する。この処理によって、ユーザは、例えばクライアント端末を基地局(AP)に近づけたり、あるいは障害を発生させている機器、例えば電子レンジの停止などの処置を行なうなどの適切な対応ができる。   If it is determined that it is difficult to continue streaming data distribution between server clients based on communication band information in wireless communication between the base station and the client measured by the base station (AP), the server or base station ( (AP) may notify the client that it is difficult to continue streaming data distribution. The client displays a notification on the display and executes processing for notifying the user that data distribution is difficult. By this processing, the user can take appropriate measures such as bringing the client terminal close to the base station (AP) or taking measures such as stopping the device causing the failure, for example, the microwave oven.

[サーバ、基地局(AP)、クライアントのハードウェア例]
次に、サーバ、基地局(AP)、クライアントのハードウェア構成例について、図16参照して説明する。図1を参照して説明したように、サーバやクライアントは様々な機器によって構成可能である。図16は、サーバ、基地局(AP)、クライアントとして適用可能なハードウェア構成の一例を示している。
[Hardware example of server, base station (AP), client]
Next, a hardware configuration example of a server, a base station (AP), and a client will be described with reference to FIG. As described with reference to FIG. 1, the server and the client can be configured by various devices. FIG. 16 shows an example of a hardware configuration applicable as a server, a base station (AP), and a client.

図16のハード構成について説明する。CPU(Central Processing Unit)501は、ROM(Read Only Memory)502、またはHDD(Hard Disk Drive)等の記録媒体514等に記憶されているプログラムに従って、各種の処理を実行し、データ処理手段、あるいは通信制御処理手段として機能する。RAM(Random Access Memory)503には、CPU501が実行するプログラムやデータが適宜記憶される。CPU501、ROM502、およびRAM503は、バス521を介して相互に接続されている。   The hardware configuration of FIG. 16 will be described. A CPU (Central Processing Unit) 501 executes various processes in accordance with programs stored in a recording medium 514 such as a ROM (Read Only Memory) 502 or an HDD (Hard Disk Drive), etc. It functions as a communication control processing means. A RAM (Random Access Memory) 503 appropriately stores programs executed by the CPU 501 and data. The CPU 501, ROM 502, and RAM 503 are connected to each other via a bus 521.

バス521には、入出力インタフェース522が接続されており、この入出力インタフェース522には、例えば、ユーザにより操作されるキーボード、スイッチ、ボタン、ポインティングデバイス、あるいはマウス等により構成される入力部511、ユーザに各種の情報を提示するLCD、CRT、スピーカ等により構成される出力部512が接続される。さらに、データ送受信手段として機能する通信部504、さらに、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどの記録媒体514を装着し、記録媒体514からのデータ読み出しあるいは書き込み処理を実行するドライブ513が接続される。ただし、基地局(AP)においては、入力部511、出力部512、ドライブ513、記録媒体514等は必ずしも必要とはならない。各種設定を行う設定部当が備えられればよい。   An input / output interface 522 is connected to the bus 521. The input / output interface 522 includes, for example, an input unit 511 including a keyboard, a switch, a button, a pointing device, or a mouse operated by a user. An output unit 512 including an LCD, a CRT, a speaker, and the like that presents various types of information to the user is connected. Further, a communication unit 504 functioning as a data transmission / reception unit, and a recording medium 514 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory are mounted, and a drive 513 that executes data reading or writing processing from the recording medium 514. Is connected. However, in the base station (AP), the input unit 511, the output unit 512, the drive 513, the recording medium 514, and the like are not necessarily required. A setting unit for performing various settings may be provided.

図16に示す構成は、図1に示すネットワーク接続機器としてのサーバ、基地局(AP)、クライアントとして利用可能な機器の一例であるが、ネットワーク接続機器は図16の構成に限らず、様々な電子機器、情報処理装置によって構成することが可能である。従って、それぞれの機器固有のハードウェア構成を持つことが可能である。   The configuration illustrated in FIG. 16 is an example of a device that can be used as a server, a base station (AP), or a client as the network connection device illustrated in FIG. 1, but the network connection device is not limited to the configuration illustrated in FIG. It can be configured by an electronic device or an information processing apparatus. Therefore, it is possible to have a hardware configuration unique to each device.

以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。   The present invention has been described in detail above with reference to specific embodiments. However, it is obvious that those skilled in the art can make modifications and substitutions of the embodiments without departing from the gist of the present invention. In other words, the present invention has been disclosed in the form of exemplification, and should not be interpreted in a limited manner. In order to determine the gist of the present invention, the claims should be taken into consideration.

なお、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。   The series of processes described in the specification can be executed by hardware, software, or a combined configuration of both. When executing processing by software, the program recording the processing sequence is installed in a memory in a computer incorporated in dedicated hardware and executed, or the program is executed on a general-purpose computer capable of executing various processing. It can be installed and run.

例えば、プログラムは記録媒体としてのハードディスクやROM(Read Only Memory)に予め記録しておくことができる。あるいは、プログラムはフレキシブルディスク、CD−ROM(Compact Disc Read Only Memory),MO(Magneto optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することができる。   For example, the program can be recorded in advance on a hard disk or ROM (Read Only Memory) as a recording medium. Alternatively, the program is temporarily or permanently stored on a removable recording medium such as a flexible disk, a CD-ROM (Compact Disc Read Only Memory), an MO (Magneto optical) disk, a DVD (Digital Versatile Disc), a magnetic disk, or a semiconductor memory. It can be stored (recorded). Such a removable recording medium can be provided as so-called package software.

なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。   The program is installed on the computer from the removable recording medium as described above, or is wirelessly transferred from the download site to the computer, or is wired to the computer via a network such as a LAN (Local Area Network) or the Internet. The computer can receive the program transferred in this manner and install it on a recording medium such as a built-in hard disk.

なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。   Note that the various processes described in the specification are not only executed in time series according to the description, but may be executed in parallel or individually according to the processing capability of the apparatus that executes the processes or as necessary. Further, in this specification, the system is a logical set configuration of a plurality of devices, and the devices of each configuration are not limited to being in the same casing.

以上、説明したように、本発明の構成によれば、「連続データ送信および受信確認応答(ack)の受信期間」、すなわち、[データ送受信実行期間]の計測値を適用して最大スループットを算出し、この最大スループットに基づいて、送信ビットレートの制御を行う構成とした。すなわち、データ送受信に対する寄与のない期間[データ送受信非実行期間]を省いたデータ送受信期間に基づく最大スループットを算出して、算出した最大スループットに相当する最大許容ビットレートを上限としたビットレート制御を行う。本構成により、実際の送信レートを考慮したビットレート制御が可能となり、ビットレートの上げすぎや抑えすぎといったことがなく、データ送信を確実に実行可能な最大許容ビットレートを上限としたデータ送信が実現される。   As described above, according to the configuration of the present invention, the maximum throughput is calculated by applying the “continuous data transmission and reception acknowledgment (ack) reception period”, that is, the measured value of [data transmission / reception execution period]. The transmission bit rate is controlled based on the maximum throughput. That is, the maximum throughput based on the data transmission / reception period without the data transmission / reception period [data transmission / non-execution period] is calculated, and the bit rate control with the maximum allowable bit rate corresponding to the calculated maximum throughput as the upper limit is performed. Do. This configuration makes it possible to control the bit rate in consideration of the actual transmission rate, and realizes data transmission up to the maximum allowable bit rate that can reliably execute data transmission without excessively increasing or suppressing the bit rate. Is done.

さらに、本発明の構成によれば、クライアントで計測される連続送信パケットの受信間隔に基づいて最大スループットが算出され、算出された最大スループットを上限としたビットレート制御を行うことができる。実際に連続送信されるパケットの計測に基づいて定められる最大スループットを算出して、算出した最大スループットに相当する最大許容ビットレートを上限としたビットレート制御を行う。本構成により、実際の送信レートを考慮したビットレート制御が可能となり、ビットレートの上げすぎや抑えすぎといったことがなく、データ送信を確実に実行可能な最大許容ビットレートを上限としたデータ送信が実現される。   Furthermore, according to the configuration of the present invention, the maximum throughput is calculated based on the reception interval of the continuous transmission packets measured by the client, and the bit rate control with the calculated maximum throughput as the upper limit can be performed. The maximum throughput determined based on the measurement of actually transmitted packets is calculated, and bit rate control is performed with the maximum allowable bit rate corresponding to the calculated maximum throughput as the upper limit. This configuration makes it possible to control the bit rate in consideration of the actual transmission rate, and realizes data transmission up to the maximum allowable bit rate that can reliably execute data transmission without excessively increasing or suppressing the bit rate. Is done.

さらに、本発明の構成によれば、実際の送受信データ計測に基づいて算出される最大スループットに基づくビットレート制御に加え、基地局(AP)の測定する基地局とクライアント間の無線通信におけるRTT、RSSI、送信レートなどの通信帯域情報に基づいて、ビットレートの制御を行う構成としたので、無線通信における通信状態の変動に即応したビットレート制御が実現される。   Furthermore, according to the configuration of the present invention, in addition to the bit rate control based on the maximum throughput calculated based on the actual transmission / reception data measurement, the RTT in the wireless communication between the base station and the client measured by the base station (AP), Since the bit rate is controlled on the basis of communication band information such as RSSI and transmission rate, bit rate control can be realized in response to fluctuations in the communication state in wireless communication.

本発明の適用可能なネットワーク構成例を示す図である。It is a figure which shows the network structural example which can apply this invention. ストリーミングデータの送受信装置としてのサーバおよびクライアントの構成を説明するブロック図である。It is a block diagram explaining the structure of the server and client as a transmission / reception apparatus of streaming data. サーバクライアント間で実行するTCPコネンションの確立に基づくデータ配信処理シーケンスを説明する図である。It is a figure explaining the data delivery processing sequence based on establishment of the TCP connection performed between server clients. ウィンドウサイズに基づくデータの連続配信処理シーケンスについて説明する図である。It is a figure explaining the continuous delivery processing sequence of the data based on window size. 本発明の実施例1におけるサーバの処理シーケンスについて説明するフローチャートを示す図である。It is a figure which shows the flowchart explaining the process sequence of the server in Example 1 of this invention. 本発明の実施例1におけるビットレート決定部の処理について説明する図である。It is a figure explaining the process of the bit rate determination part in Example 1 of this invention. 本発明の実施例1におけるビットレート決定部の処理シーケンスについて説明するフローチャートを示す図である。It is a figure which shows the flowchart explaining the process sequence of the bit rate determination part in Example 1 of this invention. 本発明の実施例2に対応するストリーミングデータの送受信装置としてのサーバおよびクライアントの構成を説明するブロック図である。It is a block diagram explaining the structure of the server and client as a streaming data transmission / reception apparatus corresponding to Example 2 of this invention. 本発明の実施例2のサーバクライアント間のデータ送受信処理において送信される緊急フラグ設定データについて説明する図である。It is a figure explaining the emergency flag setting data transmitted in the data transmission / reception process between the server clients of Example 2 of this invention. 本発明の実施例2におけるサーバの処理シーケンスについて説明するフローチャートを示す図である。It is a figure which shows the flowchart explaining the process sequence of the server in Example 2 of this invention. 本発明の実施例2におけるクライアントの処理シーケンスについて説明するフローチャートを示す図である。It is a figure which shows the flowchart explaining the process sequence of the client in Example 2 of this invention. サーバのAP発見処理シーケンスについて説明する図である。It is a figure explaining the AP discovery process sequence of a server. 本発明の実施例3に対応するストリーミングデータの送受信装置としてのサーバおよびクライアントおよび基地局(AP)の構成を説明するブロック図である。It is a block diagram explaining the structure of the server as a streaming data transmission / reception apparatus corresponding to Example 3 of this invention, a client, and a base station (AP). 本発明の実施例3におけるビットレート決定部の処理シーケンスについて説明する図である。It is a figure explaining the processing sequence of the bit rate determination part in Example 3 of this invention. 本発明の実施例3におけるビットレート決定部の処理シーケンスについて説明するフローチャートを示す図である。It is a figure which shows the flowchart explaining the process sequence of the bit rate determination part in Example 3 of this invention. サーバ、クライアント、基地局を構成するハードウェアについて説明する図である。It is a figure explaining the hardware which comprises a server, a client, and a base station.

符号の説明Explanation of symbols

101 サーバ
110 ネットワーク
121,122 クライアント(PC)
123 クライアント(携帯端末)
124 クライアント(再生装置)
131 基地局(AP)
200 サーバ
201 コンテンツ提供部
202 データ処理部
203 送信バッファ
204 データ送受信部
210 動的レート制御部
211 スループット算出部
212 ビットレート決定部
300 クライアント
301 データ送受信部
302 受信バッファ
303 再生処理部
304 出力部
305 パケット間隔計測部
400 基地局(AP)
401 データ送受信部
402 通信帯域監視部
403 通信帯域情報生成部
501 CPU
502 ROM
503 RAM
504 通信部
511 入力部
512 出力部
513 ドライブ
514 記録媒体
521 バス
522 入出力インタフェース
101 Server 110 Network 121, 122 Client (PC)
123 client (mobile terminal)
124 client (playback device)
131 Base station (AP)
200 server 201 content providing unit 202 data processing unit 203 transmission buffer 204 data transmission / reception unit 210 dynamic rate control unit 211 throughput calculation unit 212 bit rate determination unit 300 client 301 data transmission / reception unit 302 reception buffer 303 reproduction processing unit 304 output unit 305 packet Interval measurement unit 400 Base station (AP)
401 Data Transmission / Reception Unit 402 Communication Bandwidth Monitoring Unit 403 Communication Bandwidth Information Generation Unit 501 CPU
502 ROM
503 RAM
504 Communication unit 511 Input unit 512 Output unit 513 Drive 514 Recording medium 521 Bus 522 I / O interface

Claims (8)

クライアントに対するデータ送信処理を実行するサーバとしての通信処理装置であり、
クライアントとの通信処理を実行するデータ送受信部と、
クライアントに対する送信データのビットレートを決定するレート制御部と、
前記レート制御部において決定されたビットレートに対応する送信データの設定処理を実行するデータ処理部とを有し、
前記レート制御部は、
サーバクライアント間における通信コネクション設定期間内において連続送信されるデータパケットの受信間隔情報に基づいて算出されるスループットを最大スループットとし、該最大スループットに相当するビットレートを最大許容ビットレートとして送信ビットレートを決定するビットレート決定部を有する構成であり、
前記ビットレート決定部は、
クライアント側バッファの見積もりバッファ量の推移に基づいてビットレートを決定する構成であり、見積もりバッファ量が予め定めた閾値以上である場合、前記最大スループットに相当する最大許容ビットレートを上限としてビットレート上昇処理を行なう構成であり、
前記ビットレート決定部は、
(a)通信開始時にクライアントから通知されたバッファ量:[B_cli(byte)]
(b)クライアントが再生を開始してからの経過時間:[T(sec)]
(c)クライアントが再生を開始以降、経過時間[T(sec)]の間にサーバからの送信データ量:[D_serv(byte)]
(d)送信コンテンツから取得可能なコンテンツの再生レート[R(byte/sec))
これら(a)〜(d)の情報を用いて、クライアントのバッファ量の見積もり処理を実行する構成であり、
クライアントバッファの見積もりバッファ量=B_cli+D_serv−R*T
として、
クライアント側バッファの見積もりバッファ量を算出する構成であることを特徴とする通信処理装置。
A communication processing device as a server that executes data transmission processing for a client,
A data transmission / reception unit for executing communication processing with the client;
A rate control unit that determines a bit rate of transmission data to the client;
A data processing unit for executing transmission data setting processing corresponding to the bit rate determined in the rate control unit,
The rate control unit
The throughput calculated based on the reception interval information of data packets continuously transmitted within the communication connection setting period between server clients is set as the maximum throughput, and the transmission bit rate is set with the bit rate corresponding to the maximum throughput as the maximum allowable bit rate. configuration der having a bit rate determination unit for determining is,
The bit rate determining unit
The bit rate is determined based on the transition of the estimated buffer amount of the client-side buffer. When the estimated buffer amount is equal to or greater than a predetermined threshold, the bit rate increases up to the maximum allowable bit rate corresponding to the maximum throughput. It is a configuration that performs processing,
The bit rate determining unit
(A) Buffer amount notified from the client at the start of communication: [B_cli (byte)]
(B) Elapsed time since the client started playback: [T (sec)]
(C) The amount of data transmitted from the server during the elapsed time [T (sec)] after the client starts playback: [D_serv (byte)]
(D) Content playback rate that can be acquired from the transmitted content [R (byte / sec)]
Using the information of (a) to (d), it is configured to execute a client buffer amount estimation process,
Estimated buffer size of client buffer = B_cli + D_serv−R * T
As
A communication processing apparatus characterized by calculating an estimated buffer amount of a client-side buffer .
前記レート制御部は、
サーバクライアント間における通信コネクション設定期間内において連続送信されるデータパケットの受信間隔情報をクライアントから受信し、該受信間隔情報と送信データ量とに基づいて最大スループットを算出するスループット算出部を有し、
前記ビットレート決定部は、
前記スループット算出部の算出した最大スループットに相当するビットレートを最大許容ビットレートとして送信ビットレートを決定する構成であることを特徴とする請求項1に記載の通信処理装置。
The rate control unit
Receiving a reception interval information of data packets continuously transmitted within a communication connection setting period between server clients from a client, and having a throughput calculation unit for calculating a maximum throughput based on the reception interval information and a transmission data amount;
The bit rate determining unit
The communication processing apparatus according to claim 1, wherein a transmission bit rate is determined with a bit rate corresponding to the maximum throughput calculated by the throughput calculation unit as a maximum allowable bit rate.
前記データ送受信部は、
クライアントにおける受信間隔測定対象パケットの識別情報として、パケットヘッダの緊急フラグを特定値に設定したパケットを連続送信する構成であることを特徴とする請求項1に記載の通信処理装置。
The data transmitter / receiver
2. The communication processing apparatus according to claim 1, wherein a packet in which an emergency flag in a packet header is set to a specific value is continuously transmitted as identification information of a reception interval measurement target packet in a client.
前記データ送受信部は、
前記クライアントとの通信を仲介する基地局から、基地局とクライアント間の通信帯域情報を受信し、
前記ビットレート決定部は、
前記通信帯域情報に基づいて、送信ビットレートの決定処理を行う構成であることを特徴とする請求項1に記載の通信処理装置。
The data transmitter / receiver
From the base station that mediates communication with the client, receiving communication band information between the base station and the client,
The bit rate determining unit
The communication processing apparatus according to claim 1, wherein the communication processing apparatus is configured to perform transmission bit rate determination processing based on the communication band information.
前記通信帯域情報は、
基地局とクライアント間の通信におけるRTT、RSSI(電波強度)、送信レートの少なくともいずれかのデータに基づいて生成される情報であることを特徴とする請求項に記載の通信処理装置。
The communication band information is
5. The communication processing apparatus according to claim 4 , wherein the communication processing apparatus is information generated based on at least one of RTT, RSSI (radio wave intensity), and transmission rate in communication between the base station and the client.
データ送受信処理を実行するサーバクライアントを有するデータ通信システムであり、
前記クライアントは、
サーバからの受信パケットに含まれる識別情報に従って連続受信するパケットの受信間隔を測定し、該受信間隔情報、または該受信間隔に基づいて算出されるスループット情報をサーバに送信する処理を実行する構成を有し、
前記サーバは、
前記クライアントから受信するスループット情報、または受信間隔情報に基づいて算出される最大スループットに相当するビットレートを最大許容ビットレートとして送信ビットレートを決定し、決定したビットレートに従って、前記クライアントに対するデータ送信処理を実行する構成であり、
前記サーバは、さらに、
クライアント側バッファの見積もりバッファ量の推移に基づいてビットレートを決定する構成であり、見積もりバッファ量が予め定めた閾値以上である場合、前記最大スループットに相当する最大許容ビットレートを上限としてビットレート上昇処理を行なう構成であり、
(a)通信開始時にクライアントから通知されたバッファ量:[B_cli(byte)]
(b)クライアントが再生を開始してからの経過時間:[T(sec)]
(c)クライアントが再生を開始以降、経過時間[T(sec)]の間にサーバからの送信データ量:[D_serv(byte)]
(d)送信コンテンツから取得可能なコンテンツの再生レート[R(byte/sec))
これら(a)〜(d)の情報を用いて、クライアントのバッファ量の見積もり処理を実行する構成であり、
クライアントバッファの見積もりバッファ量=B_cli+D_serv−R*T
として、
クライアント側バッファの見積もりバッファ量を算出する構成であることを特徴とするデータ通信システム。
A data communication system having a server client for executing data transmission / reception processing,
The client
A configuration for measuring a reception interval of continuously received packets according to identification information included in a received packet from a server, and executing processing for transmitting the reception interval information or throughput information calculated based on the reception interval to the server Have
The server
A transmission bit rate is determined using a bit rate corresponding to the maximum throughput calculated based on throughput information received from the client or reception interval information as a maximum allowable bit rate, and data transmission processing to the client is performed according to the determined bit rate configuration der that the execution is,
The server further includes:
The bit rate is determined based on the transition of the estimated buffer amount of the client-side buffer. When the estimated buffer amount is equal to or greater than a predetermined threshold, the bit rate increases up to the maximum allowable bit rate corresponding to the maximum throughput. It is a configuration that performs processing,
(A) Buffer amount notified from the client at the start of communication: [B_cli (byte)]
(B) Elapsed time since the client started playback: [T (sec)]
(C) The amount of data transmitted from the server during the elapsed time [T (sec)] after the client starts playback: [D_serv (byte)]
(D) Content playback rate that can be acquired from the transmitted content [R (byte / sec)]
Using the information of (a) to (d), it is configured to execute a client buffer amount estimation process,
Estimated buffer size of client buffer = B_cli + D_serv−R * T
As
A data communication system characterized by calculating an estimated buffer amount of a client side buffer .
データ送信処理を実行するサーバにおける通信処理方法であり、
クライアントに対する送信データのビットレートを決定するレート制御ステップと、
前記レート制御ステップにおいて決定されたビットレートに対応する送信データの設定処理を実行するデータ処理ステップとを有し、
前記レート制御ステップは、
サーバクライアント間における通信コネクション設定期間内において連続送信されるデータパケットの受信間隔情報に基づいて算出されるスループットを最大スループットとして、該最大スループットに相当するビットレートを最大許容ビットレートとして送信ビットレートを決定するビットレート決定ステップと、
クライアント側バッファの見積もりバッファ量が予め定めた閾値以上である場合、前記最大スループットに相当する最大許容ビットレートを上限としてビットレート上昇処理を行なうビットレート上昇ステップを実行し、
前記ビットレート上昇ステップにおいて、
(a)通信開始時にクライアントから通知されたバッファ量:[B_cli(byte)]
(b)クライアントが再生を開始してからの経過時間:[T(sec)]
(c)クライアントが再生を開始以降、経過時間[T(sec)]の間にサーバからの送信データ量:[D_serv(byte)]
(d)送信コンテンツから取得可能なコンテンツの再生レート[R(byte/sec))
これら(a)〜(d)の情報を用いて、クライアントのバッファ量の見積もり処理を実行し、
クライアントバッファの見積もりバッファ量=B_cli+D_serv−R*T
として、
クライアント側バッファの見積もりバッファ量を算出することを特徴とする通信処理方法。
A communication processing method in a server that executes data transmission processing,
A rate control step for determining a bit rate of transmission data to the client;
A data processing step for executing transmission data setting processing corresponding to the bit rate determined in the rate control step,
The rate control step includes:
The transmission bit rate is set with the throughput calculated based on the reception interval information of the data packets continuously transmitted within the communication connection setting period between the server and client as the maximum throughput and the bit rate corresponding to the maximum throughput as the maximum allowable bit rate. A bit rate determination step to determine ;
When the estimated buffer amount of the client side buffer is equal to or larger than a predetermined threshold, a bit rate increasing step for performing a bit rate increasing process with the maximum allowable bit rate corresponding to the maximum throughput as an upper limit is executed,
In the bit rate increasing step,
(A) Buffer amount notified from the client at the start of communication: [B_cli (byte)]
(B) Elapsed time since the client started playback: [T (sec)]
(C) The amount of data transmitted from the server during the elapsed time [T (sec)] after the client starts playback: [D_serv (byte)]
(D) Content playback rate that can be acquired from the transmitted content [R (byte / sec)]
Using these pieces of information (a) to (d), the client buffer amount estimation processing is executed,
Estimated buffer size of client buffer = B_cli + D_serv−R * T
As
A communication processing method characterized by calculating an estimated buffer amount of a client side buffer .
送信データのレート制御をコンピュータ上で実行させるコンピュータ・プログラムであり、
レート制御部において、クライアントに対する送信データのビットレートを決定させるレート制御ステップと、
データ処理部において、前記レート制御ステップにおいて決定されたビットレートに対応する送信データの設定処理を実行させるデータ処理ステップとを有し、
前記レート制御ステップにおいて、
サーバクライアント間における通信コネクション設定期間内において連続送信されるデータパケットの受信間隔情報に基づいて算出されるスループットを最大スループットとして、該最大スループットに相当するビットレートを最大許容ビットレートとして送信ビットレートを決定するビットレート決定ステップと、
クライアント側バッファの見積もりバッファ量が予め定めた閾値以上である場合、前記最大スループットに相当する最大許容ビットレートを上限としてビットレート上昇処理を行なうビットレート上昇ステップを実行し、
前記ビットレート上昇ステップにおいて、
(a)通信開始時にクライアントから通知されたバッファ量:[B_cli(byte)]
(b)クライアントが再生を開始してからの経過時間:[T(sec)]
(c)クライアントが再生を開始以降、経過時間[T(sec)]の間にサーバからの送信データ量:[D_serv(byte)]
(d)送信コンテンツから取得可能なコンテンツの再生レート[R(byte/sec))
これら(a)〜(d)の情報を用いて、クライアントのバッファ量の見積もり処理を実行し、
クライアントバッファの見積もりバッファ量=B_cli+D_serv−R*T
として、
クライアント側バッファの見積もりバッファ量の算出処理を実行させることを特徴とするコンピュータ・プログラム。
A computer program for executing rate control of transmission data on a computer;
In the rate control unit, a rate control step for determining a bit rate of transmission data for the client;
In the data processing unit, a data processing step for executing transmission data setting processing corresponding to the bit rate determined in the rate control step,
In the rate control step,
The transmission bit rate is set with the throughput calculated based on the reception interval information of the data packets continuously transmitted within the communication connection setting period between the server and client as the maximum throughput and the bit rate corresponding to the maximum throughput as the maximum allowable bit rate. A bit rate determination step to determine ;
When the estimated buffer amount of the client side buffer is equal to or larger than a predetermined threshold, a bit rate increasing step for performing a bit rate increasing process with the maximum allowable bit rate corresponding to the maximum throughput as an upper limit is executed,
In the bit rate increasing step,
(A) Buffer amount notified from the client at the start of communication: [B_cli (byte)]
(B) Elapsed time since the client started playback: [T (sec)]
(C) The amount of data transmitted from the server during the elapsed time [T (sec)] after the client starts playback: [D_serv (byte)]
(D) Content playback rate that can be acquired from the transmitted content [R (byte / sec)]
Using these pieces of information (a) to (d), the client buffer amount estimation processing is executed,
Estimated buffer size of client buffer = B_cli + D_serv−R * T
As
Computer program characterized Rukoto to execute the calculation processing of the estimated buffer amount of a client buffer.
JP2008297631A 2008-11-21 2008-11-21 COMMUNICATION PROCESSING DEVICE, DATA COMMUNICATION SYSTEM, COMMUNICATION PROCESSING METHOD, AND COMPUTER PROGRAM Expired - Fee Related JP4730427B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008297631A JP4730427B2 (en) 2008-11-21 2008-11-21 COMMUNICATION PROCESSING DEVICE, DATA COMMUNICATION SYSTEM, COMMUNICATION PROCESSING METHOD, AND COMPUTER PROGRAM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008297631A JP4730427B2 (en) 2008-11-21 2008-11-21 COMMUNICATION PROCESSING DEVICE, DATA COMMUNICATION SYSTEM, COMMUNICATION PROCESSING METHOD, AND COMPUTER PROGRAM

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2005092452A Division JP4643330B2 (en) 2005-03-28 2005-03-28 COMMUNICATION PROCESSING DEVICE, DATA COMMUNICATION SYSTEM, COMMUNICATION PROCESSING METHOD, AND COMPUTER PROGRAM

Publications (2)

Publication Number Publication Date
JP2009089416A JP2009089416A (en) 2009-04-23
JP4730427B2 true JP4730427B2 (en) 2011-07-20

Family

ID=40662102

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008297631A Expired - Fee Related JP4730427B2 (en) 2008-11-21 2008-11-21 COMMUNICATION PROCESSING DEVICE, DATA COMMUNICATION SYSTEM, COMMUNICATION PROCESSING METHOD, AND COMPUTER PROGRAM

Country Status (1)

Country Link
JP (1) JP4730427B2 (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5375313B2 (en) * 2009-05-01 2013-12-25 日本電気株式会社 Communication device, pseudo-response device, transmission rate control method, and program
JP5224397B2 (en) * 2009-10-07 2013-07-03 Necアクセステクニカ株式会社 Information distribution system, information distribution apparatus, and information distribution method
JP5365558B2 (en) 2010-03-17 2013-12-11 富士通株式会社 Wireless network control device, wireless network control method, and wireless network control system
CN102576320B (en) 2010-09-24 2016-03-02 英特尔公司 For the detection of access point congestion and the method and system of reduction
US8549570B2 (en) * 2012-02-23 2013-10-01 Ericsson Television Inc. Methods and apparatus for managing network resources used by multimedia streams in a virtual pipe
US9515942B2 (en) 2012-03-15 2016-12-06 Intel Corporation Method and system for access point congestion detection and reduction
JP5775123B2 (en) * 2013-08-29 2015-09-09 インテル コーポレイション Storage medium and system for access point congestion detection and reduction
US10880348B2 (en) 2015-09-18 2020-12-29 Sony Corporation Methods and devices for controlling streaming over a radio network
US9992120B2 (en) * 2015-10-21 2018-06-05 Citrix Systems, Inc. System and method for rate-based packet transmission over a network
CN110300315B (en) * 2019-07-24 2021-08-13 北京达佳互联信息技术有限公司 Video code rate determining method and device, electronic equipment and storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000270015A (en) * 1999-03-18 2000-09-29 Toshiba Corp Contents distribution system, server computer used for same system, and control method for server computer
JP2004260562A (en) * 2003-02-26 2004-09-16 Nec Corp Method and device for transmitting and receiving packet
JP2004266741A (en) * 2003-03-04 2004-09-24 Sony Corp Distribution system, transmission apparatus and method, reception apparatus and method, recording medium, and program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000270015A (en) * 1999-03-18 2000-09-29 Toshiba Corp Contents distribution system, server computer used for same system, and control method for server computer
JP2004260562A (en) * 2003-02-26 2004-09-16 Nec Corp Method and device for transmitting and receiving packet
JP2004266741A (en) * 2003-03-04 2004-09-24 Sony Corp Distribution system, transmission apparatus and method, reception apparatus and method, recording medium, and program

Also Published As

Publication number Publication date
JP2009089416A (en) 2009-04-23

Similar Documents

Publication Publication Date Title
JP4643330B2 (en) COMMUNICATION PROCESSING DEVICE, DATA COMMUNICATION SYSTEM, COMMUNICATION PROCESSING METHOD, AND COMPUTER PROGRAM
JP4730427B2 (en) COMMUNICATION PROCESSING DEVICE, DATA COMMUNICATION SYSTEM, COMMUNICATION PROCESSING METHOD, AND COMPUTER PROGRAM
US10511991B2 (en) Adapting communication parameters to link conditions, traffic types, and/or priorities
JP4448341B2 (en) Band control program, method and end system
KR101524325B1 (en) Proxy-driven content rate selection for streaming media servers
KR101107816B1 (en) Proxy-based signaling architecture for streaming media services in a wireless communication system
KR101293372B1 (en) Video streaming over multiple interfaces
WO2017119408A1 (en) Transmit data volume control device, method, and recording medium
JP2017069849A (en) Video control device, video distribution system and video control method
JP2010028378A (en) Communication apparatus and communication method
Park et al. A network-aware encoding rate control algorithm for real-time up-streaming video services
Eswara et al. etvsq based video rate adaptation in cellular networks with α-fair resource allocation
WO2023095438A1 (en) Terminal device, wireless communication system, and terminal device processing method
WO2007103205A1 (en) Link layer packet loss classification for link adaptation in wlan
Lee et al. Handoff-aware adaptive media streaming in mobile IP networks
Hoque Design, implementation and evaluation of traffic shaping proxies for power saving in mobile audio streaming

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110111

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110301

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110404

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140428

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 4730427

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140428

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees