JP2006086611A - Information processor, information processing system, information processing method, and program thereof - Google Patents

Information processor, information processing system, information processing method, and program thereof Download PDF

Info

Publication number
JP2006086611A
JP2006086611A JP2004267102A JP2004267102A JP2006086611A JP 2006086611 A JP2006086611 A JP 2006086611A JP 2004267102 A JP2004267102 A JP 2004267102A JP 2004267102 A JP2004267102 A JP 2004267102A JP 2006086611 A JP2006086611 A JP 2006086611A
Authority
JP
Japan
Prior art keywords
data
information processing
processing apparatus
ack
transmitted
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.)
Pending
Application number
JP2004267102A
Other languages
Japanese (ja)
Inventor
Yosuke Tamura
陽介 田村
Misako Takayasu
美佐子 高安
Hideki Takayasu
秀樹 高安
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 JP2004267102A priority Critical patent/JP2006086611A/en
Publication of JP2006086611A publication Critical patent/JP2006086611A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Abstract

<P>PROBLEM TO BE SOLVED: To save power greatly while restraining a decrease in throughput as much as possible in data communication. <P>SOLUTION: A transmission side Web server 1 gives an ACK necessary/unnecessary flag for indicating whether data concerned are data segment requesting ACK or not when the data segment is transmitted. A reception side cellular phone 2 refers to the ACK necessary/unnecessary flag when it receives the data segment and returns ACK only to the data segment to which the ACK necessary/unnecessary flag is given, thus reducing the number of ACKs to be transmitted greatly and reducing power consumed by the Web server 1 and the cellular phone 2 greatly. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、所定のプロトコルを用いて各種データを送受信することが可能な情報処理装置、情報処理システム、情報処理方法及びそのプログラムに関する。   The present invention relates to an information processing apparatus, an information processing system, an information processing method, and a program thereof capable of transmitting and receiving various types of data using a predetermined protocol.

従来のインターネットのシステムでは、大容量のデータを如何に効率よく送受信することができるかということに重点が置かれていたために、スループットや遅延といった要素を最優先してシステム設計されていた。   In conventional Internet systems, the emphasis was placed on how efficiently large volumes of data could be transmitted and received, so the system was designed with the highest priority on factors such as throughput and delay.

インターネットで用いられるトランスポート層の通信プロトコルとしては、例えばコネクションレスのUDP(User Datagram Protocol)やコネクションを行なうことにより信頼性を確保するTCP(Transmission Control Protocol)があるが、例えば、上記UDPにおいて、受信側が、送信側から送信されたデータを正常に受信できなかった場合にのみNACK(Negative ACKnowledgement)を送信し、送信側では、当該NACKに対してのみデータを再送することにより、ネットワークの輻輳を防ぎ、多数のユーザにデータを効率よく、かつ高い信頼性で配信することができるようにした送受信装置が提案されている(特許文献1参照)。
特開平11−17737号公報(段落[0117]、図3等)
The transport layer communication protocol used in the Internet includes, for example, connectionless UDP (User Datagram Protocol) and TCP (Transmission Control Protocol) that secures reliability by performing a connection. The receiving side transmits a NACK (Negative ACKnowledgement) only when the data transmitted from the transmitting side cannot be normally received, and the transmitting side retransmits the data only for the NACK, thereby reducing network congestion. There has been proposed a transmission / reception apparatus capable of preventing and distributing data efficiently to a large number of users with high reliability (see Patent Document 1).
Japanese Patent Laid-Open No. 11-17737 (paragraph [0117], FIG. 3 etc.)

ところで、今日における無線通信技術の進歩には目覚しいものがあり、場所に制約されずにネットワークを利用することが可能となる無線通信は、産業においても多くの影響を与えることが予想される。特に、複数の無線端末で構築するアドホックネットワークは、ネットワークを利用したサービスに新たな革新をもたらすこととなり、マルチホップセンサネットワークやメッシュネットワークといった応用で注目を集めている。   By the way, there is a remarkable progress in wireless communication technology today, and wireless communication that can use a network without being restricted by a place is expected to have many influences in the industry. In particular, an ad hoc network constructed by a plurality of wireless terminals brings new innovation to services using the network, and is attracting attention in applications such as multi-hop sensor networks and mesh networks.

無線通信で構成されたネットワークでは、省電力な通信基盤を設計することが重要となる。無線通信の最大の利点は、通信ケーブルの制約から逃れて自由に動き回れることである。そのような無線通信における電力供給は基本的にバッテリを利用するため、電力容量には限界がある。特に、複数のセンサノードで形成されたセンサネットワークにおいては、ノードの再充電が困難な場所への設定も想定しているため、システム設計においては省電力が最優先項目となる。しかしながら、上記特許文献1の技術にように、スループットや遅延といった性能を重要視する従来のネットワークシステムにおいては、省電力なデータ通信を実現することに主眼がおかれていないため、無線通信に適用した場合には消費電力が高くなってしまう。   In a network configured by wireless communication, it is important to design a power saving communication infrastructure. The biggest advantage of wireless communication is that it can move around freely from the limitations of communication cables. Since power supply in such wireless communication basically uses a battery, the power capacity is limited. In particular, in a sensor network formed by a plurality of sensor nodes, setting to a place where recharging of the node is difficult is also assumed, and thus power saving is a top priority in system design. However, in the conventional network system that places importance on performance such as throughput and delay as in the technique of the above-mentioned Patent Document 1, since it does not focus on realizing power-saving data communication, it is applied to wireless communication. In such a case, the power consumption becomes high.

一方、現在の多くのアプリケーションで利用されているTCPは、多くの改良がされてきた強靭な通信プロトコルであるが、省電力という点では、ほとんど最適化されていないのが現状である。省電力に特化した通信プロトコルを提案する動きもあるが、多数のコネクションが同一のネットワーク資源をユニキャスト通信で共有する際に、TCP以上の性能を実現する信頼のあるプロトコルを設計することは容易ではない。また、インターネット環境との持続性を考えた場合、中継ノードでプロトコル変換をするよりも、TCPで通信をする方が余計な負荷がなくなる。従って、TCPの省電力化は重要な課題といえる。   On the other hand, TCP, which is used in many current applications, is a robust communication protocol that has been improved a lot, but it is currently not optimized in terms of power saving. Although there is a movement to propose a communication protocol specialized for power saving, designing a reliable protocol that realizes performance higher than TCP when many connections share the same network resource with unicast communication It's not easy. In addition, when considering sustainability with the Internet environment, it is less burdensome to communicate with TCP than to perform protocol conversion with a relay node. Therefore, it can be said that TCP power saving is an important issue.

以上のような事情に鑑み、本発明の目的は、データ通信において、スループットの低下を極力抑えながらも大幅な省電力が可能な情報処理装置、情報処理システム、情報処理方法及びそのプログラムを提供することにある。   In view of the circumstances as described above, an object of the present invention is to provide an information processing apparatus, an information processing system, an information processing method, and a program therefor, which can greatly reduce power consumption while minimizing a decrease in throughput in data communication. There is.

上述の課題を解決するため、本発明の情報処理装置は、ネットワークを介して他の情報処理装置と接続された情報処理装置であって、前記他の情報処理装置から所定のプロトコルによりデータを受信する受信手段と、前記受信されたデータに対する確認応答の送信の要否を判断する判断手段と、前記受信されたデータのうち、前記確認応答を送信する必要があると判断されたデータに対する確認応答を前記他の情報処理装置へ送信する送信手段とを具備する。   In order to solve the above-described problem, an information processing apparatus of the present invention is an information processing apparatus connected to another information processing apparatus via a network, and receives data from the other information processing apparatus using a predetermined protocol. Receiving means for determining, determining means for determining whether or not it is necessary to transmit an acknowledgment for the received data, and an acknowledgment for data determined to be required to transmit the confirmation response out of the received data Is transmitted to the other information processing apparatus.

ここで上記所定のプロトコルとは、例えばインターネット層のTCP、UDP等、及びその他のプロトコルである。また上記確認応答とは、データの送信先のコンピュータが、データを受信したことを送信元のコンピュータに通知するための肯定的な返事のことを指し、通常、ACK(ACKnowledgement)と呼ばれる。   Here, the predetermined protocol is, for example, Internet layer TCP, UDP, and other protocols. The confirmation response refers to an affirmative response for the data transmission destination computer to notify the transmission source computer that the data has been received, and is usually called ACK (ACKnowledgement).

上記構成によれば、上記他の情報処理装置からデータを受信する毎に当該データに対する確認応答の要否を判断し、必要な確認応答のみを他の情報処理装置へ返信することで、無駄な確認応答が送信されるのを防ぐことができるため、そのような無駄な確認応答を送信することにより消費する電力を大幅に減少させることができる。また、省電力を実現しながらも、従来のデータ通信におけるスループット性能を極力維持することができる。   According to the above configuration, every time data is received from the other information processing apparatus, it is determined whether or not a confirmation response to the data is necessary, and only a necessary confirmation response is returned to the other information processing apparatus. Since it is possible to prevent the confirmation response from being transmitted, it is possible to greatly reduce the power consumed by transmitting such a useless confirmation response. In addition, throughput performance in conventional data communication can be maintained as much as possible while realizing power saving.

上記情報処理装置において、前記判断手段は、前記データが受信された時から所定時間次のデータを受信しない場合に、当該受信されたデータに対する確認応答の送信が必要であると判断するようにしてもよい。   In the information processing apparatus, the determination unit determines that it is necessary to transmit a confirmation response to the received data when the next data is not received for a predetermined time after the data is received. Also good.

ここで所定時間とは例えば1ms〜500ms秒程度、より好ましくは1ms〜10msの範囲であるが、ネットワークを共有している情報処理装置の数や距離といったネットワーク環境、情報処理装置が利用するアプリケーション等によりそれ以外の範囲へ適宜変更することが可能である。上記所定時間経過前に受信したデータに対しては確認応答を送信せずに、所定時間を経過後に受信したデータにのみ確認応答を送信することで、上記他の情報処理装置へ送信される確認応答を減少させることができ、その結果省電力にデータ通信を行なうことが可能となる。具体的には、例えば、データを受信した時点から所定時間でタイムアウトする遅延タイマを設けて、かつ、所定時間経過前にデータを受信する度に当該遅延タイマがリセットするようにする。これにより、上記確認応答は、受信間隔が上記所定時間より短いデータに対しては返信されずに、受信間隔が上記所定時間より長いデータに対してのみ返信されることになる。   Here, the predetermined time is, for example, in the range of about 1 ms to 500 ms, and more preferably in the range of 1 ms to 10 ms. However, the network environment such as the number and distance of information processing devices sharing the network, applications used by the information processing devices, etc. Thus, it can be appropriately changed to other ranges. Confirmation sent to the other information processing apparatus by sending an acknowledgment only to the data received after the lapse of the predetermined time without transmitting an acknowledgment for the data received before the lapse of the predetermined time. Responses can be reduced, and as a result, data communication can be performed while saving power. Specifically, for example, a delay timer that times out for a predetermined time from the time when data is received is provided, and the delay timer is reset every time data is received before the elapse of the predetermined time. As a result, the confirmation response is not returned for data whose reception interval is shorter than the predetermined time, but is returned only for data whose reception interval is longer than the predetermined time.

上記情報処理装置において、前記受信されたデータには、前記他の情報処理装置により前記確認応答送信の要否を示すフラグが付与されており、前記判断手段は、前記フラグを参照することにより前記確認応答の送信の要否を判断するようにしてもよい。例えば、TCPにおけるウィンドウ制御によってウィンドウサイズ分の一連のデータを送受信する場合には、上記他の情報処理装置により、当該ウィンドウの最後のデータにのみ確認応答を要する旨のフラグを付与が付与され、その他のデータには確認応答を要しない旨のフラグが付与される。当該フラグを参照することで、確認応答の要否を容易に判断することができ、必要な確認応答のみを送信することで、省電力なデータ通信が可能となる。   In the information processing apparatus, the received data is provided with a flag indicating whether the confirmation response transmission is necessary or not by the other information processing apparatus, and the determination unit refers to the flag to You may make it judge the necessity of transmission of a confirmation response. For example, when a series of data corresponding to the window size is transmitted / received by window control in TCP, the other information processing apparatus is given a flag indicating that a confirmation response is required only for the last data of the window, Other data is given a flag indicating that no confirmation response is required. By referring to the flag, it is possible to easily determine whether the confirmation response is necessary, and by transmitting only the necessary confirmation response, it is possible to perform power-saving data communication.

上記情報処理装置において、前記所定のプロトコルはTCPであり、前記判断手段は、前記受信されたデータにコントロールフラグが付されている場合には、前記確認応答の送信の要否を示すフラグの種類に関わらず、当該受信されたデータに対する確認応答を送信する必要があると判断するようにしてもよい。   In the information processing apparatus, the predetermined protocol is TCP, and the determination unit, when a control flag is attached to the received data, indicates a flag type indicating whether or not the confirmation response needs to be transmitted. Regardless, it may be determined that it is necessary to transmit an acknowledgment for the received data.

ここでコントロールフラグとは、TCPにおけるSYN(Synchronize Flag)、FIN(Fin Flag)、RST(Reset Flag)、PUSH(Push Flag)、URG(Urgent Flag)等のフラグであり、各フラグのビットが1の場合、例えばSYNならコネクションの開始、FINならコネクションの終了、RSTならコネクションのリセット、PUSHならアプリケーションにすぐに渡すデータ、URGなら緊急に処理すべきデータ、といった意味をそれぞれ持っている。これらのコントロールフラグに対しては、上記確認応答送信の要否を示すフラグがオフになっていても、確認応答を送信することで、各コントロールフラグが持つ意味の処理を優先して実行することができ、従来のTCPとの互換性を保つことができる。   Here, the control flag is a flag such as SYN (Synchronize Flag), FIN (Fin Flag), RST (Reset Flag), PUSH (Push Flag), URG (Urgent Flag), etc. in TCP. In the case of SYN, for example, the connection is started, the connection is ended if FIN, the connection is reset if RST, the data is immediately passed to the application if PUSH, and the data to be processed urgently if URG. For these control flags, even if the flag indicating whether or not the confirmation response is necessary is turned off, by sending the confirmation response, priority processing of the meaning of each control flag is executed. And compatibility with conventional TCP can be maintained.

上記情報処理装置は、データが受信される毎に、当該受信されたデータの次に受信されるべきデータの第1のシーケンス番号を認識する手段と、前記認識された第1のシーケンス番号と、前記認識後に最初に受信されたデータの第2のシーケンス番号とを比較する手段とを更に具備し、前記判断手段は、前記比較の結果、前記第2のシーケンス番号の方が大きい場合には、当該第2のシーケンス番号のデータに付与された前記確認応答の送信の要否を示すフラグの種類に関わらず、前記第1のシーケンス番号の一つ前のシーケンス番号のデータに対する、既に送信済みの確認応答を再度送信する必要があると判断し、前記送信手段は、前記再度の送信回数が4回以上とならないよう制御してもよい。   The information processing apparatus includes means for recognizing a first sequence number of data to be received next to the received data each time data is received, the recognized first sequence number, Means for comparing with the second sequence number of the data received first after the recognition, and when the result of the comparison is that the second sequence number is larger, Regardless of the type of flag indicating the necessity of transmission of the confirmation response given to the data of the second sequence number, the data of the sequence number immediately before the first sequence number has already been transmitted. It may be determined that the confirmation response needs to be transmitted again, and the transmission unit may perform control so that the number of retransmissions does not exceed four times.

これにより、例えば、受信された複数のデータの順序(シーケンス番号)に抜けが生じていた場合、上記確認応答送信の要否を示すフラグがオフになっていても、当該抜けたシーケンス番号のデータ一つ前のデータに対する確認応答、すなわち当該抜けたシーケンス番号の再送を要求する確認応答を重複して送信することで、いわゆるTCPにおける高速再送制御(Fast-Retrans-mission)を実行させることができ、従来のTCPとの互換性を保つことができる。また上記重複送信の回数を3回までに限ることで、重複確認応答が限りなく送信されることにより電力を消費してしまうことを極力防ぐことができる。   As a result, for example, if there is a missing sequence (sequence number) of a plurality of received data, even if the flag indicating whether the confirmation response transmission is necessary is off, the data of the missing sequence number By transmitting the confirmation response to the previous data, that is, the confirmation response requesting retransmission of the missing sequence number, it is possible to execute so-called TCP fast-retrans-mission. Therefore, compatibility with conventional TCP can be maintained. Further, by limiting the number of duplicate transmissions to three, it is possible to prevent as much as possible from consuming electric power by transmitting duplicate confirmation responses indefinitely.

本発明の情報処理システムは、第1の情報処理装置と第2の情報処理装置がネットワークを介して接続されたシステムであって、前記第1の情報処理装置は、前記第2の情報処理装置へ送信するためのデータに、当該データに対する確認応答の送信の要否を示すフラグを付与する付与手段と、前記フラグを付与されたデータを所定のプロトコルにより送信する第1の送信手段とを有し、前記第2の情報処理装置は、前記第1の情報処理装置から送信されたデータを前記所定のプロトコルにより受信する受信手段と、前記付与されたフラグを基に、前記受信されたデータに対する確認応答の送信の要否を判断する判断手段と、前記受信されたデータのうち、前記確認応答を送信する必要があると判断されたデータに対する確認応答を前記第1の情報処理装置へ送信する第2の送信手段とを有する。   The information processing system of the present invention is a system in which a first information processing device and a second information processing device are connected via a network, and the first information processing device is the second information processing device. And a first transmission unit for transmitting the flag-added data according to a predetermined protocol to the data to be transmitted to the data. The second information processing apparatus is configured to receive the data transmitted from the first information processing apparatus according to the predetermined protocol and to the received data based on the assigned flag. A determination means for determining whether or not it is necessary to transmit an acknowledgment; and a confirmation response to the data determined to be required to be transmitted among the received data. And a second transmitting means for transmitting to the broadcast processing apparatus.

この構成により、上記第1の情報処理装置が送信するデータに対する確認応答の要否を示すフラグを付与して第2の情報処理装置へデータを送信し、第2の情報処理装置は必要な確認応答のみを送信するため、不必要な確認応答の数が減少する結果、第2の情報処理装置の消費電力を大幅に減少させることができる。また、省電力化を実現しながらも、従来のデータ通信におけるスループット性能を極力維持することができる。   With this configuration, the second information processing apparatus transmits the data to the second information processing apparatus with a flag indicating whether or not a confirmation response to the data transmitted by the first information processing apparatus is necessary. Since only the response is transmitted, the number of unnecessary confirmation responses is reduced. As a result, the power consumption of the second information processing apparatus can be greatly reduced. In addition, the throughput performance in the conventional data communication can be maintained as much as possible while realizing power saving.

上記情報処理システムにおいて、前記所定のプロトコルはTCPであり、前記第1の送信手段は、ウィンドウ制御により複数のデータを連続して送信し、前記付与手段は、前記送信するための複数のデータのうちシーケンス番号が最大のデータに前記確認応答の送信を要する旨のフラグを付与し、その他のデータに前記確認応答の送信を要しない旨のフラグを付与するようにしてもよい。これにより、例えばTCPのウィンドウ制御においては、第1の情報処理装置はウィンドウの最後のデータに対する確認応答のみを要求するフラグを付与してウィンドウサイズ分の一連のデータを送信するため、上記第2の情報処理装置は、当該フラグを参照して、受信した一連のデータのうち最後のデータに対してのみ確認応答を返せばよいことを容易に判断することができ、複雑な処理を要することなく省電力化を実現することが可能となる。   In the information processing system, the predetermined protocol is TCP, the first transmission unit continuously transmits a plurality of data by window control, and the assigning unit stores a plurality of data to be transmitted. Of these, a flag indicating that transmission of the confirmation response is required may be added to data having the largest sequence number, and a flag indicating that transmission of the confirmation response is not required may be added to other data. Thereby, for example, in the TCP window control, the first information processing apparatus transmits a series of data corresponding to the window size with a flag requesting only an acknowledgment for the last data of the window. The information processing apparatus can easily determine that it is only necessary to return a confirmation response to the last data in the received series of data with reference to the flag, without requiring complicated processing. Power saving can be realized.

本発明の情報処理方法は、ネットワークを介して他の情報処理装置と接続された情報処理装置が情報を処理する方法であって、前記他の情報処理装置から所定のプロトコルによりデータを受信するステップと、前記受信されたデータに対する確認応答の送信の要否を判断するステップと、前記受信されたデータのうち、前記確認応答を送信する必要があると判断されたデータに対する確認応答を前記他の情報処理装置へ送信するステップとを具備する。   The information processing method of the present invention is a method in which an information processing apparatus connected to another information processing apparatus via a network processes information, and receives data from the other information processing apparatus using a predetermined protocol. Determining whether or not it is necessary to transmit an acknowledgment for the received data; and confirming an acknowledgment for data that is determined to need to be transmitted among the received data. And transmitting to the information processing apparatus.

また、本発明のプログラムは、ネットワークを介して他の情報処理装置と接続された情報処理装置に、前記他の情報処理装置から所定のプロトコルによりデータを受信するステップと、前記受信されたデータに対する確認応答の送信の要否を判断するステップと、前記受信されたデータのうち、前記確認応答を送信する必要があると判断されたデータに対する確認応答を前記他の情報処理装置へ送信するステップとを実行させるためのものである。   The program of the present invention includes a step of receiving data from the other information processing apparatus according to a predetermined protocol to an information processing apparatus connected to the other information processing apparatus via a network; A step of determining whether or not it is necessary to transmit an acknowledgment; and a step of transmitting an acknowledgment to the other information processing apparatus for the data determined to be necessary to transmit the acknowledgment from the received data. Is to execute.

本発明によれば、データ通信において、スループットの低下を極力抑えながらも大幅な省電力が可能となる。   According to the present invention, in data communication, significant power saving can be achieved while suppressing a decrease in throughput as much as possible.

以下、本発明の実施の形態を図面に基づき説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

本発明の目的は、データ通信、特に携帯端末による無線通信において消費される電力を減少させることである。そこでまず、無線通信における消費電力について説明する。ここでは、一般的な無線LAN(Local Area Network)として利用されているIEEE802.11における消費電力と、TCPとの関係を例に挙げて説明する。   An object of the present invention is to reduce power consumed in data communication, particularly wireless communication by a portable terminal. First, power consumption in wireless communication will be described. Here, the relationship between power consumption in IEEE802.11 used as a general wireless LAN (Local Area Network) and TCP will be described as an example.

L. M. Feeneyは、IEEE802.11のピアツーピアの消費電力を実際の測定からモデル化した。このモデルでは、消費電力はEnergy = m × size + bで表される。本実施形態においては、2.4GHz IEEE802.11 11Mbps WaveLAN PC Cardの測定結果を利用して消費電力を求める。図1は、送信ノードAから受信ノードBへパケットを送信する場合に、当該AとBのノード、その近隣に存在するC、D及びEのノードでのデータ通信において消費される電力について説明した図である。同図右上のスペースに点線で示された2つの円は送信ノードA及び受信ノードBの通信範囲をそれぞれ示している。   L. M. Feeney has modeled IEEE802.11 peer-to-peer power consumption from actual measurements. In this model, power consumption is expressed as Energy = m × size + b. In this embodiment, the power consumption is obtained using the measurement result of the 2.4 GHz IEEE802.11 11 Mbps WaveLAN PC Card. FIG. 1 illustrates the power consumed in data communication between the nodes A and B and the C, D, and E nodes existing in the vicinity when the packet is transmitted from the transmitting node A to the receiving node B. FIG. Two circles indicated by dotted lines in the space in the upper right of the figure indicate the communication ranges of the transmission node A and the reception node B, respectively.

IEEE802.11で送受信されるパケットは、ユニキャストの送信/受信パケット(同図A/Bが送信/受信するパケット)、ブロードキャストの送信/受信パケットの4種類のパケットと、宛先以外のノードがユニキャストの通信時に受け取る受信パケットの計5種類のパケットに分類することができ、更に、当該宛先以外のノードが受信するパケットは、ノードの位置により更に3種類に分類することができる。すなわち、送信ノードと受信ノードの両方から受信できるパケット(同図のノードCが受信できるパケット)、受信ノードのみから受信できるパケット(同図のDが受信できるパケット)、送信ノードのみから受信できるパケット(同図のEが受信できるパケット)である。   Packets transmitted and received in IEEE802.11 are unicast transmission / reception packets (packets transmitted / received by A / B in the figure), broadcast transmission / reception packets, and nodes other than the destination are unicast. The received packets received during the cast communication can be classified into a total of five types of packets, and the packets received by nodes other than the destination can be further classified into three types according to the position of the node. That is, a packet that can be received from both the transmitting node and the receiving node (a packet that can be received by node C in the figure), a packet that can be received only from the receiving node (a packet that can receive D in the figure), and a packet that can be received only from the transmitting node (Packet E can be received).

無線通信において送受信ノード以外のノードが電力を消費してしまうのは、データが電波距離内のすべてのノードへ届いてしまうという無線通信の特徴と、データを送信する際に、RTS/CTS(Request to Send/Clear to Send)等のMAC(Media Access Control)層での通信制御で電力を消費しているからである。   In wireless communication, nodes other than the transmitting and receiving nodes consume power because of the characteristics of wireless communication that data reaches all nodes within the radio wave distance, and RTS / CTS (Request This is because power is consumed by communication control in the MAC (Media Access Control) layer such as “To Send / Clear to Send”.

ところで、TCPでは、送信ノードが、送信したデータに対する確認応答(以下、ACKという)を受信ノードから受け取ることにより通信の信頼性を提供している。ACKでは、累積確認応答方式が利用されている。これは、後のACKが前のACKの情報を全て含んでいることを示している。またACKは全てのデータに対して送信される訳ではなく、大きく分けて次の3通りの仕組みにより送信される。
(1)複数のデータを受信した時にACKを送信する。多くの実装では、2個のデータを受信する毎にACKが送信される(遅延確認応答)。
(2)200msの定期的な遅延タイマがタイムアウトする度に、ACKを送信すべきデータがあるか否かを調べ、ある場合にはACKを送信する。
(3)SYN、FIN、PUSH、RST等の特殊フラグ(コントロールフラグ)や、順序の異なる(シーケンス番号に抜けがある)データを受信した場合にACKを送信する。
By the way, in TCP, a transmitting node provides communication reliability by receiving an acknowledgment (hereinafter referred to as ACK) for transmitted data from a receiving node. In ACK, a cumulative acknowledgment system is used. This indicates that the subsequent ACK includes all the information of the previous ACK. In addition, ACK is not transmitted for all data, but can be broadly transmitted by the following three mechanisms.
(1) ACK is transmitted when a plurality of data is received. In many implementations, an ACK is sent (delay acknowledgment) every time two pieces of data are received.
(2) Each time the 200 ms periodic delay timer times out, it is checked whether there is data to be sent ACK, and if there is, ACK is sent.
(3) An ACK is transmitted when special flags (control flags) such as SYN, FIN, PUSH, RST, or data with different orders (sequence numbers are missing) are received.

このように、TCPにおいてはデータ以外にACKも送受信されるが、本発明者らは、図1に示すように、TCPの通信においてどれほどの消費電力がかかるのかを、データとACKでそれぞれ分けて計算した。また、ピアツーピアの無線通信において周辺ノードC、D及びEへの影響も同時に調べた。なお、TCPでは、情報はセグメントという単位で送受信され、セグメントには、データを含むデータセグメントと、データを含まずACKを含むACKセグメントの2種類がある。   In this way, ACK is transmitted and received in addition to data in TCP. However, as shown in FIG. 1, the present inventors divide the amount of power consumption in TCP communication into data and ACK, respectively. Calculated. In addition, the influence on the peripheral nodes C, D and E in the peer-to-peer wireless communication was also examined at the same time. In TCP, information is transmitted and received in units called segments, and there are two types of segments: a data segment that includes data and an ACK segment that does not include data and includes ACK.

同図においては、送信ノードAから送信されるデータセグメントは、PLCP(Physical Layer Convergence Protocol)ヘッダ(24byte)、MACフレームヘッダ(20byte)、IPヘッダ(20byte)、TCPヘッダ(20byte)を含めて1460byteと仮定する。また、ACKセグメントは、データが含まれないため84byteとする。データロスがなく、最も電力効率のよい環境を考えると、2個のデータに対して1個のACKが送信される環境となる。同図では、送信ノードAが1000個のデータを送信し、受信ノードBから500個のACKを受信したことを想定している。各グラフの左側の棒がデータ送信に要する消費電力、右側の棒がACK送信に要する消費電力を示している。   In the figure, the data segment transmitted from the transmitting node A is 1460 bytes including a PLCP (Physical Layer Convergence Protocol) header (24 bytes), a MAC frame header (20 bytes), an IP header (20 bytes), and a TCP header (20 bytes). Assume that The ACK segment is 84 bytes because no data is included. Considering the most power-efficient environment with no data loss, an environment in which one ACK is transmitted for two pieces of data. In the figure, it is assumed that the transmitting node A transmits 1000 data and receives 500 ACKs from the receiving node B. The left bar of each graph indicates the power consumption required for data transmission, and the right bar indicates the power consumption required for ACK transmission.

上記計算の結果、同図に示すように、ACKセグメントはデータセグメントの約17分の1程度のデータ量しか無いのにも関わらず、各ノードでの情報の送信で消費される電力のうち、ACKセグメントにより消費される電力はかなり多いことが分かる。このことから、本発明者らは、送信されるACKセグメントの量を減らすことができれば、省電力化も可能になることを認識した。   As a result of the above calculation, as shown in the figure, although the ACK segment has only about 17 times the data amount of the data segment, of the power consumed in transmitting information at each node, It can be seen that much power is consumed by the ACK segment. From this, the present inventors have recognized that if the amount of ACK segments to be transmitted can be reduced, it is possible to save power.

しかし、ACKを減らすことができても、従来のTCPの性能(例えばスループット)があまりにも低下することとなっては、せっかく省電力化に成功したとしても実用性に乏しいものとなる。そこで、次に本発明者らは、ACKセグメントを減らすことによるスループットへの影響を調べた。具体的には、TCPの送信ノードと受信ノードが帯域10Mbps、遅延10msのリンクで接続されたトポロジを想定して、ns-2というネットワークシミュレータ(www.isi.edu/nsnam/ns/を参照)によるシミュレーションを行なった。当該シミュレーションにおいては、データセグメントとACKセグメントのそれぞれのロスの影響を調べるために、ランダムにセグメントを破棄するようなロスモデルを、一方向のリンクにだけ適応するシミュレーションを行なった。当該シミュレーションにおいては、1460byteのデータを5000秒送信し続けた。   However, even if the ACK can be reduced, if the performance (for example, throughput) of the conventional TCP is too low, even if the power saving is successful, it is not practical. Then, the present inventors examined the influence on the throughput by reducing the ACK segment. Specifically, assuming a topology in which a TCP transmission node and a reception node are connected by a link with a bandwidth of 10 Mbps and a delay of 10 ms, a network simulator called ns-2 (see www.isi.edu/nsnam/ns/) A simulation was performed. In this simulation, in order to examine the influence of the loss of each of the data segment and the ACK segment, a simulation was performed in which a loss model that randomly discards a segment is applied only to a one-way link. In the simulation, 1460 bytes of data were continuously transmitted for 5000 seconds.

図2は、データセグメントのみをランダムに破棄した場合のロス率とスループットとの関係を示した図である。X軸とY軸は、それぞれデータセグメントのロス率とスループットをlogで表示している。同図から、データセグメントは0.01(1%)程度のロスでスループットが10分の1の1Mbps程度まで落ちていることが分かる。   FIG. 2 is a diagram showing the relationship between the loss rate and the throughput when only the data segment is discarded at random. The X-axis and Y-axis display the log rate and throughput of the data segment, respectively. From the figure, it can be seen that the data segment has a loss of about 0.01 (1%) and the throughput has dropped to about 1 Mbps, which is 1/10.

一方、図3は、ACKセグメントのみをランダムに破棄した場合のロス率とスループットとの関係を示した図である。図2と同様、X軸とY軸は、それぞれACKセグメントのロス率とスループットをlogで表示している。同図から、0.3(30%)付近までは、ACKのロスはスループットにほとんど影響を与えないことが分かる。   On the other hand, FIG. 3 is a diagram showing the relationship between the loss rate and throughput when only the ACK segment is randomly discarded. Similar to FIG. 2, the X-axis and Y-axis display the ACK segment loss rate and throughput in log form, respectively. From the figure, it can be seen that up to around 0.3 (30%), the loss of ACK hardly affects the throughput.

次に、ACKセグメントのロス率が0.3から0.7の間を0.01毎にずらして、同じロス率でそれぞれ1000回実験を繰り返した。図4及び図5は、それぞれ0.3〜0.5、0.5〜0.7のロス率のシミュレーション結果を示した図である。図4に示すように、ロス率が0.3〜0.5の場合には、スループットが低くなるデータの割合が徐々に増えている。また図5に示すように、ロス率が0.6付近になるとスループットはほぼ0に近くなる。しかしながら、注目すべきことに、ロス率が0.6以降の場合でも、まれに9Mbps程度のスループットのデータが取得できた。   Next, the experiment was repeated 1000 times with the same loss rate by shifting the loss rate of the ACK segment from 0.3 to 0.7 every 0.01. 4 and 5 are diagrams showing simulation results of loss rates of 0.3 to 0.5 and 0.5 to 0.7, respectively. As shown in FIG. 4, when the loss rate is 0.3 to 0.5, the ratio of data with a low throughput is gradually increased. Further, as shown in FIG. 5, when the loss rate is around 0.6, the throughput is nearly zero. However, it should be noted that even with a loss rate of 0.6 or later, data with a throughput of about 9 Mbps was rarely obtained.

そこで本発明者らは、上記図5において、なぜ同じACKのロス率にも関わらず、スループットに雲泥の差がでるのかをTCPの仕組みに着目して考察した。図6は、(a)ロス率0%の場合、(b)ロス率70%でスループットが9Mbps程度の場合、(c)ロス率70%でスループットがほとんど出ていない場合の3通りで、送信ノードにおける送信データセグメントと受信ACKセグメントのシーケンス番号を時系列的にプロットしたグラフである。上段が送信データセグメント、下段が受信ACKセグメントをそれぞれ示している。また、各グラフにおいて、X軸が時間(秒)、Y軸がシーケンス番号をそれぞれ示している。   In view of the above, the present inventors examined in FIG. 5 focusing on the TCP mechanism why the difference in cloudiness appears in the throughput regardless of the loss rate of the same ACK. FIG. 6 shows three cases: (a) when the loss rate is 0%, (b) when the loss rate is 70% and the throughput is about 9 Mbps, and (c) when the loss rate is 70% and almost no throughput is obtained. It is the graph which plotted the sequence number of the transmission data segment in a node, and the reception ACK segment in time series. The upper part shows the transmission data segment, and the lower part shows the reception ACK segment. In each graph, the X axis indicates time (seconds), and the Y axis indicates a sequence number.

同図において、(a)は全くACKのロスが起こらない状況での理想的な通信を示している。上段のグラフと下段のグラフでプロットされている点の数が等しくなる。一方、(b)と(c)では、送信データセグメントに比べて受信ACKセグメントが少なくなっている。これは、70%のACKセグメントを故意的に落としているからである。   In the figure, (a) shows ideal communication in a situation where no ACK loss occurs. The number of points plotted in the upper and lower graphs is equal. On the other hand, in (b) and (c), the reception ACK segment is smaller than the transmission data segment. This is because 70% of ACK segments are intentionally dropped.

(b)と(c)の送信データセグメントのグラフに注目すると、(b)では、ほぼ(a)に近い形態となっているのに対し、(c)では、同じシーケンス番号のデータセグメントが何度も送信されていることが分かる。また、(b)と(c)ではX軸の粒度が全く異なることも注目すべき点である。   Looking at the graphs of the transmission data segments in (b) and (c), (b) is almost similar to (a), whereas in (c), what are the data segments of the same sequence number? You can see that it has also been transmitted. It should also be noted that the particle size of the X axis is completely different between (b) and (c).

この(b)と(c)の違いを、図7を用いて説明する。図7は、TCPの通信において送信ノードから送信されるデータに対してACKが送信される様子を示した図である。   The difference between (b) and (c) will be described with reference to FIG. FIG. 7 is a diagram illustrating a state in which an ACK is transmitted for data transmitted from a transmission node in TCP communication.

TCPの性能を劣化させる最大の要因は、データセグメントの再送である。上記図6の(b)の例から分かるように、データセグメントの再送が引き起こされなければ、性能(スループット)が極端に劣化することはない。上述したように、TCPでは累積確認応答方式が採られており、後に送信されたACKは、前に送信されたACKの情報を全て含んでいることを意味している。ACKが受信されない場合には、データの再送が引き起こされる。更に、TCPはウィンドウ(データを溜めておくバッファ領域)という概念を取り入れて、ウィンドウを利用した通信制御(ウィンドウ制御)を行っている。すなわち、ウィンドウ内の複数のデータ(ウィンドウサイズ分のデータ)は、ACKを待つことなく一度に送信することが可能となっている。図7においては、ウィンドウサイズは4であり、送信ノードにおいては当該ウィンドウ内のシーケンス番号1〜4のデータセグメントは一度に送信され、受信ノードにおいては各データセグメントのシーケンス番号に1を加えた数を、ACKとしてそれぞれ返す。またウィンドウサイズは、通信状況に応じて動的に変化し、通信が成功(ACKを受信)すると増加し、失敗する(再送が引き起こされる)と減少する。   The biggest factor that degrades the performance of TCP is retransmission of data segments. As can be seen from the example of FIG. 6B, the performance (throughput) is not extremely deteriorated unless the data segment is retransmitted. As described above, the cumulative acknowledgment method is adopted in TCP, and ACK transmitted later means that all information of ACK transmitted previously is included. If no ACK is received, data retransmission is triggered. Further, TCP adopts the concept of a window (buffer area for storing data) and performs communication control (window control) using the window. That is, a plurality of data in the window (data corresponding to the window size) can be transmitted at a time without waiting for ACK. In FIG. 7, the window size is 4, the data segment of sequence numbers 1 to 4 in the window is transmitted at a time in the transmission node, and the number obtained by adding 1 to the sequence number of each data segment in the reception node. Are each returned as an ACK. The window size dynamically changes according to the communication status, and increases when communication is successful (ACK is received) and decreases when communication fails (retransmission is caused).

以上のことから、TCPにおいて、ウィンドウの最後のセグメントに対するACK(例えば図7のACKセグメント5)は、他のセグメントと比較して重要度が高いということがいえる。なぜなら、ウィンドウの最後のセグメントに対するACKが喪失した場合、送信側では必ず再送が引き起こされるからである。一方、ウィンドウの最後のセグメントに対するACKさえ届いていれば、再送は引き起こされない。以降、ウィンドウの最後のセグメントに対するACKをSignificant ACKと呼び、それ以外のACKをNegligible ACKと呼ぶ。   From the above, it can be said that in TCP, the ACK for the last segment of the window (for example, ACK segment 5 in FIG. 7) is more important than other segments. This is because if the ACK for the last segment of the window is lost, retransmission is always caused on the transmission side. On the other hand, if only the ACK for the last segment of the window has arrived, no retransmission will be triggered. Henceforth, ACK with respect to the last segment of a window is called Significant ACK, and other ACK is called Negligible ACK.

以上の実験・考察結果から、本発明者らは、TCPにおいてACKがかなりの電力を消費していること、及び、TCPの受容可能な性能を保ちながら、ACKセグメントを大幅に減らすことが可能であることを実証した。そこで、本発明者らは、上記Negligible ACKを全てなくすことを目標に、従来のTCPに変更を加えることとした。以下、本発明におけるTCPの設計方針について説明する。   From the above experimental and discussion results, the present inventors can significantly reduce the number of ACK segments while ACK consumes a considerable amount of power in TCP and while maintaining the acceptable performance of TCP. Prove that there is. Therefore, the present inventors have made a change to the conventional TCP with the goal of eliminating all the negligible ACKs. The TCP design policy in the present invention will be described below.

TCPのACKを減少させることにより危惧されることは、一つにはウィンドウの膨張速度が小さくなることであるが(上述したように、ウィンドウサイズはACKを受信することにより増加するため)、それ以外にも、ACKのロスに対しての影響も考える必要がある。上記図7を例にして説明すると、例えば受信側は、セグメント4に対する5を要求するSignificant ACKしか返答しないと仮定する。この返答が送信側に到着すれば、1,2,3,4全てのセグメントの到着を送信側に伝えることになるため、再送は起こらない。一方、この場合のSignificant ACKが送信途中で喪失(ロス)してしまったとする。この場合、送信側は、1,2,3,4全てのセグメントが届いていないと一時的に認識する。ここでセグメント1の再送が行なわれるため、ウィンドウサイズは1に減少する。受信側では、当該再送されたセグメント1を受信した場合、当該1に対するACKはSignificant ACKとなり、5の値を返す。仮に、従来のTCPにおいて、1,2,3のセグメントに対するACKを返していたとしても、セグメント4に対するSignificant ACKが送信途中で喪失した場合、結局セグメント4が再送されることになるため、従来のTCPにおいても、本発明のACKを減少させたTCPにおいても、処理的には同じ数のデータを送信することになる。   One concern with reducing TCP ACKs is that the window expansion rate decreases (as mentioned above, because the window size increases by receiving ACKs), but otherwise. In addition, it is necessary to consider the effect on ACK loss. For example, assume that the receiving side returns only a Significant ACK requesting 5 for the segment 4. If this reply arrives at the transmission side, the arrival of all the segments 1, 2, 3, and 4 is transmitted to the transmission side, so that no retransmission occurs. On the other hand, it is assumed that the Significant ACK in this case is lost during transmission. In this case, the transmission side temporarily recognizes that all the segments 1, 2, 3, and 4 have not arrived. Since the segment 1 is retransmitted here, the window size is reduced to 1. On the receiving side, when the retransmitted segment 1 is received, the ACK for the 1 becomes Significant ACK and returns a value of 5. Even in the conventional TCP, even if the ACK for the 1, 2, and 3 segments is returned, if the Significant ACK for the segment 4 is lost during transmission, the segment 4 is eventually retransmitted. In TCP and TCP with reduced ACK according to the present invention, the same number of data is transmitted in terms of processing.

ここで、本発明のTCPを設計する上でポイントとなるのは、Negligible ACKを削減していても、ウィンドウ全てのデータが再送される訳ではない点、すなわち上記2,3,4のセグメントは再送されない点と、データロス率によりSignificant ACKの数が動的に増減することである。そこで、本発明者らは、Negligible ACKとSignificant ACKとの関係を調べるため、上記図2から図6における環境と同様の環境でデータロス率を0%から0.1%まで変更させながら、Negligible ACKとSignificant ACKの数の比率を測定した。図8は、当該測定結果を示した図である。   Here, the point in designing the TCP of the present invention is that even if Negligible ACK is reduced, the data of all the windows are not retransmitted, that is, the above segments 2, 3, and 4 are That is, the number of significant ACKs dynamically increases or decreases depending on the point of not being retransmitted and the data loss rate. Therefore, in order to investigate the relationship between Negligible ACK and Significant ACK, the present inventors changed the data loss rate from 0% to 0.1% in the same environment as that in FIGS. The ratio of the number of ACK and Significant ACK was measured. FIG. 8 is a diagram showing the measurement results.

同図に示すように、データロス率が増加するに従って、Significant ACKの比率は増加していく。従って、輻輳が酷い環境を想定した場合(例えばデータロス率が0.1%よりも更に大きい環境の場合)、TCPはウィンドウを膨張させることができなくなり、ほとんどのACKがSignificant ACKになる可能性もある。このように、Negligible ACKの削減は動的に行なうため、ロス率の高い環境においても高い性能が期待できる。   As shown in the figure, the ratio of Significant ACK increases as the data loss rate increases. Therefore, when an environment with severe congestion is assumed (for example, in an environment where the data loss rate is further larger than 0.1%), TCP cannot expand the window, and most ACKs may become Significant ACKs. There is also. As described above, since negligible ACK is dynamically reduced, high performance can be expected even in an environment with a high loss rate.

以上の方針をもとに、以下の実施例において、Negligible ACKを削減したTCPの具体的な実装方法について説明する。   Based on the above policy, a specific implementation method of TCP with reduced negligible ACK will be described in the following embodiments.

(第1の実施形態)
本実施形態においては、上記Negligible ACKを削減するために、送信ノードと受信ノードの両端のTCPを変更する。具体的には、送信ノードが、受信ノードへ送信するデータセグメントに、Negligible ACKを要求するデータセグメントか、Significant ACKを要求するデータセグメントかの識別子(フラグ)を予め付与して送信する。受信ノードは、受信したデータセグメントのうちSignificant ACKを要求するデータセグメントに対してのみACKを返す。以下、この手法を実現する通信システムについて説明する。本実施形態においては、送信ノードとしてWebサーバ、受信ノードとして携帯電話を適用している。
(First embodiment)
In the present embodiment, the TCPs at both ends of the transmission node and the reception node are changed in order to reduce the negligible ACK. Specifically, the transmitting node preliminarily assigns an identifier (flag) to the data segment to be transmitted to the receiving node, that is, the data segment requesting Negligible ACK or the data segment requesting Significant ACK, and transmits the data segment. The receiving node returns an ACK only to a data segment that requests a Significant ACK among the received data segments. Hereinafter, a communication system for realizing this method will be described. In this embodiment, a Web server is applied as a transmission node, and a mobile phone is applied as a reception node.

図9は、本実施形態における通信システムの構成を示した図である。同図に示すように、本実施形態においては、Webサーバ1と携帯電話2がホットスポット(登録商標)3を介して接続されている。   FIG. 9 is a diagram showing a configuration of a communication system in the present embodiment. As shown in the figure, in this embodiment, a Web server 1 and a mobile phone 2 are connected via a hot spot (registered trademark) 3.

Webサーバ1は、HTML(Hyper Text Markup Language)文書や、画像、音声その他のコンテンツを作成または蓄積し、それらのコンテンツを、携帯電話2が有するWebブラウザの要求に応じて提供する。携帯電話2は、例えば無線LANによりホットスポット3に接続する。ホットスポット3は、Webサーバ1へのアクセスポイントとして、インターネット4を介してWebサーバ1と接続され、携帯電話2に、無線LANによるインターネット接続サービスを提供する。Webサーバ1とホットスポット3、ホットスポット3と携帯電話2との通信プロトコルとしては、TCP/IPが用いられる。なお、Webサーバ1、携帯電話2及びホットスポット3の数は同図に示される数に限定されるものではない。   The Web server 1 creates or stores HTML (Hyper Text Markup Language) documents, images, sounds, and other contents, and provides these contents in response to a request from a Web browser included in the mobile phone 2. The mobile phone 2 is connected to the hot spot 3 by, for example, a wireless LAN. The hot spot 3 is connected to the Web server 1 via the Internet 4 as an access point to the Web server 1 and provides the mobile phone 2 with an Internet connection service using a wireless LAN. TCP / IP is used as a communication protocol between the Web server 1 and the hot spot 3 and between the hot spot 3 and the mobile phone 2. The numbers of the web server 1, the mobile phone 2, and the hot spot 3 are not limited to the numbers shown in the figure.

図10は、上記Webサーバのハードウェア構成を示した図である。同図に示すように、Webサーバ1は、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、通信部14、操作入力部15、表示部16及びHDD(Hard Disk Drive)17で構成され、それらがバス18で接続されている。   FIG. 10 is a diagram showing a hardware configuration of the Web server. As shown in the figure, the Web server 1 includes a CPU (Central Processing Unit) 11, a ROM (Read Only Memory) 12, a RAM (Random Access Memory) 13, a communication unit 14, an operation input unit 15, a display unit 16, and an HDD. (Hard Disk Drive) 17, which are connected by a bus 18.

CPU11は、Webサーバ1全体の動作を制御するメインコントローラであり、OS(Operating System)により提供されるプラットフォーム上で、例えばWebページの作成等における各種のアプリケーションや、TCPのプロトコルスタックを実行する。   The CPU 11 is a main controller that controls the operation of the entire Web server 1, and executes various applications for creating Web pages and a TCP protocol stack on a platform provided by an OS (Operating System).

ROM12は、Webサーバ1の電源オン時に実行するプログラムや、ハードウェア制御用のコード等のデータやプログラム等を格納する、読み出し専用の不揮発性のメモリである。またRAM13は、Webページ作成・送信等に必要なプログラム等をロードしたり、当該プログラムの作業データを書き込んだりするために用いられる、書き込み可能な揮発性のメモリである。また通信部14は、インターネットを介してWebページを構成するデータセグメントを携帯電話2へ送信し、携帯電話2から当該データセグメントに対するACKを受信する等の通信処理を行う。   The ROM 12 is a read-only nonvolatile memory that stores programs executed when the Web server 1 is powered on, data such as hardware control codes, programs, and the like. The RAM 13 is a writable volatile memory used for loading a program or the like necessary for creating / transmitting a Web page or writing work data of the program. In addition, the communication unit 14 performs a communication process such as transmitting a data segment constituting a Web page to the mobile phone 2 via the Internet and receiving an ACK for the data segment from the mobile phone 2.

操作入力部15は、例えばマウス、キーボード等からなり、Webサーバ1に対するユーザの操作を入力し、当該操作情報を上記CPU11へ通知する。表示部16は、例えばLCD(Liquid Crystal Display)、CRT(Cathode Ray Tube)、PDP(Plasma Display Panel)、OEL(Organic Electroluminescence)等からなり、ユーザへ送信するためのWebページや、ユーザ操作時のGUI(Graphical User Interface)等を表示する。HDD17は、上記RAM13へロードされCPU11により実行される各種プログラムやデータを格納する。   The operation input unit 15 includes, for example, a mouse, a keyboard, and the like. The operation input unit 15 inputs a user operation on the Web server 1 and notifies the CPU 11 of the operation information. The display unit 16 includes, for example, an LCD (Liquid Crystal Display), a CRT (Cathode Ray Tube), a PDP (Plasma Display Panel), an OEL (Organic Electroluminescence), and the like. A GUI (Graphical User Interface) or the like is displayed. The HDD 17 stores various programs and data that are loaded into the RAM 13 and executed by the CPU 11.

なお、図示しないが、携帯電話2の基本的なハードウェア構成も上記Webサーバと同様であり、CPU21、ROM22、RAM23、通信部24、操作入力部25、表示部26及びHDD27を有する。携帯電話2においては、操作入力部25はプッシュボタン、ジョグダイヤル等であり、表示部26は例えばLCD(Liquid Crystal Display)である。また、HDD27の代わりに、例えばフラッシュメモリ等のカード型の記憶装置を有していてもよい。HDD27または当該フラッシュメモリ内には、OSやWebページをダウンロードして表示するためのブラウザ等のプログラムやデータが格納される。   Although not shown, the basic hardware configuration of the mobile phone 2 is the same as that of the Web server, and includes a CPU 21, ROM 22, RAM 23, communication unit 24, operation input unit 25, display unit 26, and HDD 27. In the mobile phone 2, the operation input unit 25 is a push button, a jog dial, or the like, and the display unit 26 is an LCD (Liquid Crystal Display), for example. Further, instead of the HDD 27, a card-type storage device such as a flash memory may be included. Programs and data such as a browser for downloading and displaying the OS and Web pages are stored in the HDD 27 or the flash memory.

図11は、Webサーバ1のデータ送受信処理における機能構成例を示すブロック図である。当該機能ブロックは、例えばWebサーバ1のOSのカーネル部分に実装されたTCPのプロトコルスタックにより実現される。   FIG. 11 is a block diagram illustrating a functional configuration example in the data transmission / reception process of the Web server 1. The functional block is realized, for example, by a TCP protocol stack implemented in the kernel portion of the OS of the Web server 1.

同図に示すように、Webサーバ1のデータ通信処理は、データ制御部31、TCP制御部32、TCB(TCP Control Block)記憶部33、送信バッファ34、送信部35、受信部36、受信バッファ37により実現される。   As shown in the figure, the data communication processing of the Web server 1 includes a data control unit 31, a TCP control unit 32, a TCB (TCP Control Block) storage unit 33, a transmission buffer 34, a transmission unit 35, a reception unit 36, and a reception buffer. 37.

データ制御部31は、Webサーバ1のデータ送受信処理において、ユーザ側のインタ
フェース部分を提供する。データ制御部31は、ユーザの操作により、図10の操作入力部15を介して入力される指示に基づいて、HDD17に記憶されているデータを一旦読み込み、読み込んだデータを送信バッファ34に書き込む。また、データ制御部31は、受信バッファ37のデータを読み込み、操作入力部15を介して入力されるユーザの指示のもと、HDD17に書き込み、またはそのままプログラムで使用する。
The data control unit 31 provides an interface part on the user side in the data transmission / reception process of the Web server 1. The data control unit 31 once reads data stored in the HDD 17 and writes the read data to the transmission buffer 34 based on an instruction input via the operation input unit 15 of FIG. Further, the data control unit 31 reads the data in the reception buffer 37 and writes it in the HDD 17 or uses it as it is in the program under the user's instruction input via the operation input unit 15.

TCP制御部32は、TCB記憶部33にネットワークを介して実行されるコネクションの状態を保持しながら、送信バッファ34、送信部35、受信部36及び受信バッファ37を制御し、データ送受信処理を実行する。   The TCP control unit 32 controls the transmission buffer 34, the transmission unit 35, the reception unit 36, and the reception buffer 37 while holding the state of the connection executed via the network in the TCB storage unit 33, and executes data transmission / reception processing To do.

TCP制御部32は、データ制御部31により書き込まれた送信バッファ34内のデータをTCPセグメントの大きさに区切り、TCPウィンドウの値(ウィンドウサイズ)の数のデータセグメントを、TCPウィンドウとして設定し、TCPウィンドウ内のデータセグメントを送信部35に供給する。ウィンドウサイズは、送信されるデータセグメント量を示しており、インターネット4においてセグメントのロスがなければ、徐々に膨張する。しかし、セグメントがロスすると、ウィンドウサイズは、1セグメントに戻る。TCP制御部32は、このようなウィンドウサイズを用いて、送信するデータセグメントの量を調整する。   The TCP control unit 32 divides the data in the transmission buffer 34 written by the data control unit 31 into the size of the TCP segment, sets the number of data segments corresponding to the value of the TCP window (window size) as the TCP window, The data segment in the TCP window is supplied to the transmission unit 35. The window size indicates the amount of data segments to be transmitted, and gradually expands if there is no segment loss in the Internet 4. However, if a segment is lost, the window size returns to one segment. The TCP control unit 32 adjusts the amount of data segments to be transmitted using such a window size.

このとき、TCP制御部32は、ウィンドウ内のデータセグメントそれぞれに対して、上記当該データセグメントが、上記Negligible ACKを要求するデータセグメントか、Significant ACKを要求するデータセグメントかのフラグ(以下、ACK要否フラグという)を付与して送信する。当該フラグ付与時の動作の詳細については後述する。   At this time, for each data segment in the window, the TCP control unit 32 determines whether the data segment is a data segment requesting the negligible ACK or a data segment requesting the significant ACK (hereinafter referred to as an ACK request). (Referred to as a "No" flag) and send. Details of the operation when the flag is assigned will be described later.

また、当該ACK要否フラグ以外にも、特殊フラグを付与する必要がある場合には当該特殊フラグも付与する。特殊フラグとは、SYN(Synchronize Flag)、FIN(Fin Flag)、RST(Reset Flag)、PUSH(Push Flag)、URG(Urgent Flag)等のいわゆるコントロールフラグをいい、当該フラグがオン(bit = 1)になっていれば、SYNならコネクションの開始、FINならコネクションの終了、RSTならコネクションのリセット、PUSHならアプリケーションにすぐに渡すデータ、URGなら緊急に処理すべきデータ、といった意味をそれぞれ持っている。   Further, in addition to the ACK necessity flag, if it is necessary to add a special flag, the special flag is also added. The special flag refers to a so-called control flag such as SYN (Synchronize Flag), FIN (Fin Flag), RST (Reset Flag), PUSH (Push Flag), URG (Urgent Flag), etc., and the flag is on (bit = 1). If it is SYN, it means that the connection is started, if FIN, the connection is terminated, if RST, the connection is reset, if PUSH, the data is immediately passed to the application, if URG, the data is urgently processed. .

また、TCP制御部32は、送信部35からデータセグメントが送信されると、内蔵する再送タイマを起動させる。再送タイマは、受信部36に、携帯電話2から、Significant ACKセグメント(以下、単にSignificant ACKという)が受信されると停止する。再送タイマは、所定の時間(再送タイマ動作時間)が経過しても、受信部36にSignificant ACKが受信されない場合、タイムアウトする。上記Significant ACKは、当該Significant ACKを要求するデータセグメントを含むウィンドウ内の全てのデータセグメントが携帯電話2へ届いたことを示している。   Further, when the data segment is transmitted from the transmission unit 35, the TCP control unit 32 starts a built-in retransmission timer. The retransmission timer stops when the receiving unit 36 receives a Significant ACK segment (hereinafter simply referred to as Significant ACK) from the mobile phone 2. The retransmission timer times out if a significant ACK is not received by the receiving unit 36 even after a predetermined time (retransmission timer operating time) has elapsed. The Significant ACK indicates that all the data segments in the window including the data segment requesting the Significant ACK have reached the mobile phone 2.

TCP制御部32は、再送タイマにより計時動作を行い、受信部36を監視しており、携帯電話2から前回送信されたデータセグメントに対応するSignificant ACKが所定の時間(再送タイマ動作時間)内に受信されたか否かを判断し、その判断に基づいて、どのデータセグメントを送信部35に供給するかを制御する。   The TCP control unit 32 performs a time counting operation using a retransmission timer and monitors the reception unit 36, and a Significant ACK corresponding to the data segment transmitted from the mobile phone 2 last time is within a predetermined time (retransmission timer operation time). It is determined whether or not the data has been received, and based on the determination, which data segment is supplied to the transmitter 35 is controlled.

具体的には、受信部36が前回送信されたデータセグメントに対応するSignificant ACKを受信した場合、TCP制御部32は、TCPウィンドウの値を拡張し、受信したSignificant ACKが要求するデータセグメントから、ウィンドウサイズ分のデータセグメントを、TCPウィンドウとして設定し、TCPウィンドウ内のデータセグメントを送信部35に供給する。例えば、TCPウィンドウの値が5であれば、受信したSignificant ACKが要求するデータセグメントから始まる5個のデータセグメントを、TCPウィンドウとして設定し、TCPウィンドウ内のデータセグメントを送信部35に供給する。   Specifically, when the receiving unit 36 receives a Significant ACK corresponding to the previously transmitted data segment, the TCP control unit 32 expands the value of the TCP window, and from the data segment requested by the received Significant ACK, A data segment corresponding to the window size is set as a TCP window, and the data segment in the TCP window is supplied to the transmission unit 35. For example, if the value of the TCP window is 5, five data segments starting from the data segment requested by the received Significant ACK are set as TCP windows, and the data segments in the TCP window are supplied to the transmission unit 35.

一方、受信部36がSignificant ACKを受信しなかった場合、TCP制御部32は、ネットワーク上でのセグメント(Significant ACKまたはデータセグメント)の喪失があったとして、TCPウィンドウの値を1に収縮し、前回送信したデータセグメントのうち、シーケンス番号の最小のデータセグメントである再送セグメントを、TCPウィンドウとして設定し、その再送セグメントを送信部35に供給する。   On the other hand, when the receiving unit 36 does not receive the Significant ACK, the TCP control unit 32 contracts the value of the TCP window to 1 because there is a loss of the segment (Significant ACK or data segment) on the network, Among the previously transmitted data segments, the retransmission segment that is the data segment with the smallest sequence number is set as a TCP window, and the retransmission segment is supplied to the transmitter 35.

TCB記憶部33は、メモリなどにより構成され、TCP制御部32により書き込まれたウィンドウサイズ、各セグメントのセグメントサイズ、再送タイマ動作時間、送信したがACKがないデータセグメントの最小シーケンス番号、及び、次に送信すべきデータセグメントのシーケンス番号等を保持している。送信バッファ34は、例えば32bytesのバッファにより構成され、携帯電話2に送信するデータセグメントが一旦蓄積され、蓄積されたデータセグメントは、送信部35により送信されると消去される。これにより、データ制御部31は、送信バッファ34の空き領域に、新たにデータを書き込むことができる。   The TCB storage unit 33 is configured by a memory or the like. The window size written by the TCP control unit 32, the segment size of each segment, the retransmission timer operating time, the minimum sequence number of the data segment that has been transmitted but has no ACK, and the following Holds the sequence number of the data segment to be transmitted. The transmission buffer 34 is composed of, for example, a 32-byte buffer, and once the data segment to be transmitted to the mobile phone 2 is accumulated, the accumulated data segment is deleted when transmitted by the transmission unit 35. As a result, the data control unit 31 can newly write data in the empty area of the transmission buffer 34.

受信部36は、携帯電話2から送信されたSignificant ACKを、インターネット4を介して受信する。受信バッファ37は、例えば32bytesのバッファにより構成され、受信部36より書き込まれたデータが一旦蓄積される。蓄積されたデータは、データ制御部31により読み込まれる。   The receiving unit 36 receives the Significant ACK transmitted from the mobile phone 2 via the Internet 4. The reception buffer 37 is composed of, for example, a 32-byte buffer, and data written by the reception unit 36 is temporarily accumulated. The accumulated data is read by the data control unit 31.

また、図示しないが、携帯電話2も、データ制御部41、TCP制御部42、TCB記憶部43、送信バッファ44、送信部45、受信部46及び受信バッファ47というように、基本的には上記Webサーバ1の機能構成ブロック図と同様の構成を有するが、TCP制御部47は、上記Webサーバ1のTCP制御部32が、データセグメントに対するACK要否フラグを付与する機能を有する代わりに、当該ACK要否フラグを参照して、Webサーバ1に対するACKの送信の要否を判断する機能を有する。   Although not shown, the cellular phone 2 is basically configured as described above, such as the data control unit 41, the TCP control unit 42, the TCB storage unit 43, the transmission buffer 44, the transmission unit 45, the reception unit 46, and the reception buffer 47. Although it has the same configuration as the functional configuration block diagram of the Web server 1, the TCP control unit 47 has the function that the TCP control unit 32 of the Web server 1 has a function of giving an ACK necessity flag for the data segment. It has a function of referring to the ACK necessity flag to determine whether or not it is necessary to transmit ACK to the Web server 1.

すなわち、携帯電話2のTCP制御部47は、Webサーバ1から受信したデータセグメントが、上記Significant ACKを要求するデータセグメントであった場合には送信部35を介して当該Significant ACKを返し、それ以外のデータセグメントに対してはACKを送信しない。また、携帯電話2は、上記Webサーバへデータを送信するよりも上記Webサーバ1からデータを受信することが主であるため、上記Webサーバ1における再送タイマの機能は有していなくてもよい。また、TCB記憶部43には、上記Webサーバ1が次に送信すべきデータセグメントのシーケンス番号を保持している代わりに、次に受信すべきデータセグメントのシーケンス番号を保持している。   That is, the TCP control unit 47 of the mobile phone 2 returns the Significant ACK via the transmission unit 35 when the data segment received from the Web server 1 is the data segment requesting the Significant ACK, and otherwise. ACK is not transmitted for the data segment. Further, since the mobile phone 2 mainly receives data from the Web server 1 rather than transmitting data to the Web server, the mobile phone 2 may not have a retransmission timer function in the Web server 1. . The TCB storage unit 43 holds the sequence number of the data segment to be received next, instead of the sequence number of the data segment to be transmitted next by the Web server 1.

また、受信部36は、Webサーバ1から受信したデータセグメントを無線LANにより受信し、当該データを受信バッファ37が一旦蓄積する。蓄積されたデータはデータ制御部31に読み込まれ、HDD27へ保存されるか、またはアプリケーションに渡される。   The receiving unit 36 receives the data segment received from the Web server 1 via the wireless LAN, and the reception buffer 37 temporarily stores the data. The accumulated data is read into the data control unit 31 and stored in the HDD 27 or passed to the application.

次に、以上のように構成されたWebサーバ1及び携帯電話2の動作について説明する。   Next, operations of the Web server 1 and the mobile phone 2 configured as described above will be described.

まず、Webサーバ1のデータセグメント送信時の動作について説明する。図12は、当該動作について説明したフローチャートである。なお、同図においては、Webサーバ1が携帯電話2へ送信したがACKがないデータセグメントの最小のシーケンス番号をsend_una、携帯電話2へ次に送信するデータセグメントのシーケンス番号をsend_nxt、送信するデータセグメントのセグメントサイズをmaxseg、そしてウィンドウサイズをwindowと表記する。上述したように、これらのデータは上記TCB記憶部33に記憶されており、当該動作時には例えばRAM13へロードされる。   First, the operation at the time of data segment transmission of the Web server 1 will be described. FIG. 12 is a flowchart for explaining the operation. In the figure, send_una is the minimum sequence number of the data segment transmitted from the Web server 1 to the mobile phone 2 but there is no ACK, and send_nxt is the sequence number of the data segment to be transmitted next to the mobile phone 2. The segment size of a segment is expressed as maxseg, and the window size is expressed as window. As described above, these data are stored in the TCB storage unit 33 and are loaded into, for example, the RAM 13 during the operation.

同図に示すように、まず、Webサーバ1のTCP制御部32は、携帯電話2に次に送信するデータセグメントのシーケンス番号をsend_nxtに設定する(ステップ51)。そして、send_nxtの値からsend_unaの値を引いた値と、windowの値とを比較する(ステップ52)。当該比較の結果、windowの値の方が大きい場合(ステップ52のYES)には、次に、上記send_nxtの値からsend_unaの値を引いた値にmaxsegを加えた値と、上記windowの値とを比較する(ステップ53)。当該比較の結果、両者が等しくなる場合(ステップ53のYES)には、上記ACK要否フラグのビットを1に設定する(ステップ54)。また、両者が等しくない場合(ステップ53のNO)には、当該ACK要否フラグのビットを0に設定する(ステップ55)。そして、当該ACK要否フラグを設定したデータセグメントを、送信部35を介して携帯電話2へ送信する(ステップ56)。   As shown in the figure, first, the TCP control unit 32 of the Web server 1 sets the sequence number of the data segment to be transmitted next to the mobile phone 2 to send_nxt (step 51). Then, the value obtained by subtracting the send_una value from the send_nxt value is compared with the window value (step 52). As a result of the comparison, if the value of window is larger (YES in step 52), then the value obtained by adding maxseg to the value obtained by subtracting the value of send_una from the value of send_nxt, Are compared (step 53). If both are equal as a result of the comparison (YES in step 53), the bit of the ACK necessity flag is set to 1 (step 54). If they are not equal (NO in step 53), the bit of the ACK necessity flag is set to 0 (step 55). And the data segment which set the said ACK necessity flag is transmitted to the mobile telephone 2 via the transmission part 35 (step 56).

上記ステップ53において、両者の値が等しくなる場合というのは、次に送信するデータセグメント(send_nxt)がウィンドウ内の最後のデータセグメントであることを示している。従って、その場合には当該ウィンドウ内の最後のデータセグメントに対してはSignificant ACKを要求するためにACK要否フラグを1に設定する。   In step 53, the case where both values are equal indicates that the data segment (send_nxt) to be transmitted next is the last data segment in the window. Therefore, in this case, the ACK necessity flag is set to 1 to request a Significant ACK for the last data segment in the window.

例えば、windowが50、maxsegが10であり、send_nxtが40、send_unaが10だとすると、上記ステップ53において40−10+10=40>50となるため、ACK要否フラグのbitは0に設定する。また、windowが50、maxsegが10であり、send_nxtが50(ウィンドウ内の最後のデータセグメント)、send_unaが10だとすると、上記ステップ53において50−10+10=50となるため、ACK要否フラグのbitは1に設定する。すなわち、ウィンドウ内の最後のデータセグメントに対するACKのみを要求するように上記ACK要否フラグを付与する。   For example, if window is 50, maxseg is 10, send_nxt is 40, and send_una is 10, in step 53, 40-10 + 10 = 40> 50, so the bit of the ACK necessity flag is set to 0. If window is 50, maxseg is 10, send_nxt is 50 (the last data segment in the window), and send_una is 10, then in step 53, 50-10 + 10 = 50, so the bit of the ACK necessity flag is Set to 1. That is, the ACK necessity flag is added so as to request only ACK for the last data segment in the window.

次に、携帯電話2のデータセグメント受信時の動作について説明する。図13は、当該動作について説明したフローチャートである。なお、同図においては、携帯電話2が次に受信すべきデータセグメントのシーケンス番号の値をrcv_nxt、Webサーバ1へ重複して送信されたACKの数をdup_cntと表記する。   Next, the operation when the mobile phone 2 receives the data segment will be described. FIG. 13 is a flowchart for explaining the operation. In the figure, the sequence number value of the data segment to be received next by the mobile phone 2 is represented by rcv_nxt, and the number of ACKs transmitted to the Web server 1 in duplicate is represented by dup_cnt.

同図に示すように、まず、携帯電話2は、上記Webサーバ1から送信されたデータセグメントを受信する(ステップ61)。続いて、当該受信したデータセグメントのシーケンス番号をseqnoに設定する(ステップ62)。そして、受信されたデータセグメントに付与された上記ACK要否フラグを参照して、ACKの送信の要否を判断する(ステップ63)。すなわち、上記ACK要否フラグのbitが1になっていれば(ステップ63のYES)、ACK(Significant ACK)を送信部45によりホットスポット3を介してWebサーバ1へ送信する(ステップ64)。   As shown in the figure, first, the mobile phone 2 receives the data segment transmitted from the Web server 1 (step 61). Subsequently, the sequence number of the received data segment is set to seqno (step 62). Then, with reference to the ACK necessity flag given to the received data segment, it is judged whether or not ACK transmission is necessary (step 63). That is, if the bit of the ACK necessity flag is 1 (YES in Step 63), ACK (Significant ACK) is transmitted to the Web server 1 via the hot spot 3 by the transmitting unit 45 (Step 64).

なお、例外処理として、上記ACK要否フラグのbitが0の場合(ステップ63のNO)であっても、上記特殊フラグが付与されている否かを判断し(ステップ65)、付与されている場合(ステップ65のYES)にはACKを送信する(ステップ64)。これにより上記特殊フラグの意思を確実に反映させることができ、従来のTCPとの互換性を保つことができる。   As exception processing, even if the bit of the ACK necessity flag is 0 (NO in step 63), it is determined whether or not the special flag is assigned (step 65). If so (YES in step 65), an ACK is transmitted (step 64). As a result, the intention of the special flag can be reliably reflected, and compatibility with the conventional TCP can be maintained.

また、特殊フラグが付与されていない場合(ステップ65のNO)でも、上記設定したシーケンス番号seqnoと上記rcv_nxtとを比較して(ステップ68)、seqnoの方が大きい場合には、dup_cntの値をカウントする(ステップ67)。すなわち、上記設定したseqnoの方が次に受信すべきデータセグメントのシーケンス番号rcv_nxtよりも大きいということは、Webサーバ1から送信されたデータセグメントが届く順番に狂いが生じていることを示している。例えば、シーケンス番号が1,2,4,5,6,7と3が抜けて到着したような場合が挙げられる。これは、上記送信されたデータセグメントがインターネット4上またはホットスポット3との通信間に喪失したため、またはインターネット4や無線LANの輻輳により、後に送信されたデータセグメントの方が先に到着していることによる。このような場合には、次に受信すべきデータセグメントの再送をWebサーバ1へ要求するためのACK、すなわち次に受信すべきデータセグメントのシーケンス番号の一つ前のシーケンス番号のデータに対するACK(上記例ではセグメント2に対するセグメント3を要求するACK)を再度重複して送信する(ステップ64)。ただし、当該重複の数を上記dup_cntによりカウントして、dup_cntの値が4未満となるように、すなわち送信する重複ACKの数を3つまでとし、4回以上重複ACKを送信しないように制御する(ステップ69)。この処理により、上記Webサーバ1において、いわゆる高速再送制御が行われることとなり、従来のTCPとの互換性を保つことができる。   Even if the special flag is not given (NO in step 65), the set sequence number seqno is compared with the above rcv_nxt (step 68). If seqno is larger, the value of dup_cnt is set. Count (step 67). That is, the fact that the set seqno is larger than the sequence number rcv_nxt of the data segment to be received next indicates that the order in which the data segments transmitted from the Web server 1 arrive is out of order. . For example, there are cases where the sequence numbers 1, 2, 4, 5, 6, 7 and 3 are missing and arrived. This is because the data segment transmitted later has arrived first because the transmitted data segment is lost on the Internet 4 or during communication with the hotspot 3 or due to congestion of the Internet 4 or wireless LAN. It depends. In such a case, an ACK for requesting the Web server 1 to retransmit the data segment to be received next, that is, an ACK for data of the sequence number immediately before the sequence number of the data segment to be received next ( In the above example, ACK requesting segment 3 for segment 2) is again transmitted again (step 64). However, the number of duplicates is counted by the dup_cnt, and the value of dup_cnt is controlled to be less than 4, that is, the number of duplicate ACKs to be transmitted is limited to three, and duplicate ACKs are not transmitted more than four times. (Step 69). By this processing, so-called high-speed retransmission control is performed in the Web server 1, and compatibility with conventional TCP can be maintained.

なお、上記ステップ66においてsecnoの方が小さい場合(ステップ66のNO)、及び上記ステップ69においてdup_cntの値が4以上である場合には何のACKも送らずに終了する。これにより上記Negligible ACKが送信されるのを抑制することができる。   If secno is smaller in step 66 (NO in step 66), and if dup_cnt is 4 or more in step 69, the process ends without sending any ACK. As a result, the transmission of the negligible ACK can be suppressed.

本発明者らは、本実施形態における手法を用いてデータを送信した場合に受信側からのNegligible ACKをどれほど削減することができるか、及びスループットはどうなるかについて検証した。図14は、データロス率を0%から0.02%まで0.001%毎に増やして、本実施形態における手法と同様の手法を用いた場合と、現在のTCPの事実上の標準とされているTCP−Reno方式を用いた場合とで、スループットとACKの数とをそれぞれ上記シミュレータにより測定した結果を示した図である。同図においては、10Mbpsのリンクを100000個のデータセグメントを送信する1本のTCPが流れる環境を想定している。ロス率をリンクに設定することにより、任意の確率でセグメントを落とすことが可能である。同図の棒グラフのうち、色塗りで示しているのがTCP−RenoにおけるACKの数、網掛けで示しているのが本実施形態の手法におけるACKの数であり、また折れ線のうち、ポイントを菱形で示しているのがTCP−Renoにおけるスループット、正方形で示しているのが本実施形態におけるスループットである。   The present inventors have verified how much the negligible ACK from the receiving side can be reduced when the data is transmitted using the method of the present embodiment, and what the throughput is. FIG. 14 shows a case where the data loss rate is increased from 0% to 0.02% every 0.001% and a method similar to the method in the present embodiment is used, and the current de facto standard of TCP. It is the figure which showed the result of having measured the throughput and the number of ACKs by the said simulator, respectively, when the TCP-Reno system which is used is used. In the figure, an environment is assumed in which one TCP for transmitting 100000 data segments flows through a 10 Mbps link. By setting the loss rate to a link, it is possible to drop a segment with an arbitrary probability. In the bar graph of the figure, the number of ACKs in TCP-Reno is shown in color, the number of ACKs in the method of the present embodiment is shown in shaded, and the points in the line are The rhombus indicates the throughput in TCP-Reno, and the square indicates the throughput in this embodiment.

同図に示すように、TCP−Renoにおいては、9.3Mbpsから8.5Mbps程度のスループットの変動が見られ、ACKの数に関してはほぼ変わらず50000以上のACKが送られていた。一方、本実施形態の手法を用いた場合には、スループットは6Mbpsから7.5Mbps程度と、ロス率が0%の時で30%程度のスループットの悪化が見られた。また、ロス率が高くなるに従って、TCP−Renoと本実施形態の手法の性能は近づいてくる。これは、ロス率が高い場合、TCPの輻輳制御によりウィンドウが小さくなり、Significant ACKの割合が多くなるためである。次に、ACKの数に注目すると、ロス率が0%の時には、本実施形態における手法の場合にはTCP−Renoと比較して60分の1程度減少していることが分かる。すなわち、98.3%のACKが減少していることとなる。この測定結果により、本実施形態における手法を用いた場合には、スループットを受容可能な範囲に保ちながらも、従来のTCPで送信されるACKの数を劇的に減少させることができることが分かる。   As shown in the figure, in TCP-Reno, a change in throughput of about 9.3 Mbps to 8.5 Mbps was observed, and the number of ACKs remained almost unchanged, and 50,000 or more ACKs were sent. On the other hand, when the method of the present embodiment is used, the throughput is about 6 Mbps to 7.5 Mbps, and when the loss rate is 0%, the throughput is deteriorated by about 30%. Further, as the loss rate increases, the performance of the technique of TCP-Reno and this embodiment approaches. This is because when the loss rate is high, the window becomes smaller due to TCP congestion control and the ratio of significant ACK increases. Next, paying attention to the number of ACKs, it can be seen that when the loss rate is 0%, the method according to the present embodiment is reduced by about 1/60 compared to TCP-Reno. That is, 98.3% of ACK is decreased. From this measurement result, it can be seen that when the method of the present embodiment is used, the number of ACKs transmitted by the conventional TCP can be drastically reduced while the throughput is kept within an acceptable range.

図15は、受信側においてACKセグメントの送信により消費される電力を上記本発明の手法による場合とTCP−Renoの場合とで計測し、比較した図である。同図においてX軸はデータロス率、Y軸は消費電力を示している。同図に示すように、本実施形態による手法を用いることにより、最低(データロス率が0.1%の場合)でも約40%、最高(データロス率が0%の場合)では約85%の省電力が実現されている。このように、ACKの減少により、上記Webサーバ1及び携帯電話2の消費電力を劇的に減少させることができ、TCPを用いた快適な無線通信を行なうことができる。特に無線通信においては、消費電力はデータサイズよりもデータ数に依存して変動するため、データ数(ACKの数)を削減する本実施形態の手法は効果的である。   FIG. 15 is a diagram in which the power consumed by transmission of the ACK segment on the receiving side is measured and compared in the case of the technique of the present invention and in the case of TCP-Reno. In the figure, the X axis indicates the data loss rate, and the Y axis indicates the power consumption. As shown in the figure, by using the method according to the present embodiment, the minimum (when the data loss rate is 0.1%) is about 40%, and the maximum (when the data loss rate is 0%) is about 85%. Power saving is realized. As described above, the decrease in ACK can dramatically reduce the power consumption of the Web server 1 and the mobile phone 2, and comfortable wireless communication using TCP can be performed. In particular, in wireless communication, the power consumption varies depending on the number of data rather than the data size, so the method of this embodiment for reducing the number of data (number of ACKs) is effective.

(第2の実施形態)
上述の第1の実施形態においては、送信側(Webサーバ1)と受信側(携帯電話2)の両端のTCPに変更を加えていた。しかし、無線通信においてはデータを受信することが一般的であるため、受信側のTCPのみ変更することは実装面においても実現が容易であり、理想的であるといえる。そこで、本発明では、受信側のTCPのみ変更する手法も実現することが可能である。以下、この場合の実施の形態について説明する。
(Second Embodiment)
In the first embodiment described above, changes are made to the TCPs at both ends of the transmission side (Web server 1) and the reception side (mobile phone 2). However, since it is common to receive data in wireless communication, changing only the TCP on the receiving side is easy to implement in terms of mounting and is ideal. Therefore, in the present invention, it is also possible to realize a technique for changing only the TCP on the receiving side. Hereinafter, an embodiment in this case will be described.

図示しないが、本実施形態におけるネットワークの構成は、上記第1実施形態の図9で説明した構成と同様に、Webサーバ1、携帯電話2及びホットスポット3で構成される。Webサーバ1は、従来の例えばTCP−Renoのような方式を用いてデータを送信することができる。携帯電話2のハードウェア構成も基本的には上記第1実施形態の場合と同様であるが、TCP制御部42等の機能は異なる。本実施形態においてWebサーバ1から送信されるデータセグメントは、従来のTCPにおけるデータセグメントと同様である(上記ACK要否フラグのような特別な処理を何も施されていない)ため、受信したデータセグメントに対して、ACKを送信すべきか否かの判断、すなわち、Negligible ACKとSignificant ACKとの識別を、上記ACK要否フラグ等を参照することなく、自ら行なう必要がある。   Although not shown, the network configuration in the present embodiment is configured by the Web server 1, the mobile phone 2, and the hot spot 3 in the same manner as the configuration described in FIG. 9 of the first embodiment. The Web server 1 can transmit data using a conventional method such as TCP-Reno. The hardware configuration of the mobile phone 2 is basically the same as that of the first embodiment, but the functions of the TCP control unit 42 and the like are different. In this embodiment, the data segment transmitted from the Web server 1 is the same as the data segment in the conventional TCP (no special processing such as the above ACK necessity flag is performed), so the received data It is necessary to determine whether or not to transmit ACK to a segment, that is, to distinguish between negligible ACK and significant ACK without referring to the ACK necessity flag or the like.

当該Negligible ACKとSignificant ACKとの識別方法として、本発明者らは、TCPがウィンドウによって通信制御を行っている点に着目した。ウィンドウによるデータセグメントの転送はバースト的であることが知られている。本発明者らは、実際に、一本のリンクを複数のフローと共有するような環境において、従来のTCPがどのような間隔でデータセグメントを送信しているのかについて調べた。   As a method for discriminating between the negligible ACK and the significant ACK, the present inventors have focused on the fact that TCP performs communication control by a window. It is known that the transfer of data segments by window is bursty. The present inventors actually investigated the interval at which the conventional TCP transmits data segments in an environment where a single link is shared with a plurality of flows.

図16はその結果を示した図である。同図においては、リンクを10本のフローで共有している場合と、200本のフローで共有している場合の2通りの実験を行った。上段の(a)が10本のフローで共有している場合、下段の(b)が200本のフローで教諭している場合を示している。X軸及びY軸はそれぞれlogで表示されている。   FIG. 16 shows the results. In the figure, two types of experiments were performed: a case where a link is shared by 10 flows and a case where a link is shared by 200 flows. When the upper (a) is shared by 10 flows, the lower (b) shows the case of teaching by 200 flows. The X axis and the Y axis are each displayed as a log.

同図に示すように、(b)の場合には、200本のフローで共有しているため、(a)の場合に比べて再送が頻繁に行なわれ、X軸の右側の、セグメントの送受信間隔が長い部分にも分布があることが分かる。この2つのグラフにおいて注目すべき点は、(a)及び(b)の一番左側の部分である。この部分では、1ms以下の間隔のセグメント全体の40%近く存在していた。これらのセグメントは、同一ウィンドウ内でバースト的に送られたセグメントであった。   As shown in the figure, in the case of (b), since 200 flows are shared, retransmission is performed more frequently than in the case of (a), and segment transmission / reception on the right side of the X-axis is performed. It can be seen that there is a distribution even in a portion where the interval is long. A point to be noted in these two graphs is the leftmost part of (a) and (b). In this part, nearly 40% of the entire segment with an interval of 1 ms or less was present. These segments were segments sent in bursts within the same window.

これらの結果から、Significant ACKを要求するウィンドウの最後のセグメントが送信されてから、次のセグメントが送信されるまでには、あるアイドル時間が存在すると考えることが妥当である。すなわち、同図(b)で説明すると、送受信間隔が0.01sec付近から0.1sec付近の分布が当該アイドル時間を示していると考えられる。それよりも右側の部分は、データセグメント再送によるものであると推測できる。   From these results, it is reasonable to consider that there is some idle time from the transmission of the last segment of the window requesting Significant ACK to the transmission of the next segment. That is, with reference to FIG. 5B, it is considered that a distribution in which the transmission / reception interval is around 0.01 sec to around 0.1 sec indicates the idle time. It can be inferred that the portion on the right side is due to data segment retransmission.

本実施形態においては、この特徴を利用して、受信ノードの遅延タイマに変更を加えることとした。ここで、本実施形態における受信ノードをFlexible Delayed Timer(FDT)と呼ぶこととする。従来のTCPの受信ノードの遅延タイマは、一定間隔でタイムアウトし、その時にACKを送信するべきセグメントがある場合にACKを送信している。本実施形態のFDTは、基本的には従来の遅延タイマと同じ仕組みであるが、一定間隔でタイムアウトせずに、セグメントを受け取る度にリセットされる。そのため、FDTの期間データセグメントを受信しない場合に、ACKが送信されることになる。これにより、結果的に上記ウィンドウの最後のデータに対してのみACKを返信することができる。すなわち、Significant ACKのみを送信し、Negligible ACKを送信しないようにすることが可能となる。   In the present embodiment, this feature is used to change the delay timer of the receiving node. Here, the receiving node in this embodiment is called a Flexible Delayed Timer (FDT). The delay timer of a conventional TCP receiving node times out at a fixed interval, and transmits an ACK when there is a segment to transmit an ACK at that time. The FDT of this embodiment is basically the same mechanism as a conventional delay timer, but is reset every time a segment is received without timing out at a fixed interval. Therefore, an ACK is transmitted when a data segment is not received during the FDT period. As a result, ACK can be returned only for the last data in the window. That is, it is possible to transmit only significant ACK and not transmit negligible ACK.

以下、本実施形態における携帯電話2の動作について説明する。図17は、携帯電話2のデータセグメント受信時の動作を示したフローチャートである。同図において表記されているseqno、rcv_nxt、dup_cnt等の略語は上記第1実施形態における場合と同様の意味を有している。   Hereinafter, the operation of the mobile phone 2 in the present embodiment will be described. FIG. 17 is a flowchart showing an operation when the mobile phone 2 receives a data segment. Abbreviations such as seqno, rcv_nxt, and dup_cnt shown in the figure have the same meaning as in the first embodiment.

同図に示すように、まず、携帯電話2は、受信部36により、Webサーバ1から送信されたデータセグメントを受信する(ステップ71)と、受信部のTCP制御部42は、当該受信したデータセグメントのシーケンス番号をsecnoに設定する(ステップ72)。そして、上記FDTの固定値Kを設定する(ステップ73)。当該Kは、例えば1〜10msである。続いて、上記設定したFDTタイムアウトしたか否かを確認する(ステップ74)。タイムアウトした場合(ステップ74のYES)には、上記secnoに設定したデータセグメントに対するACKを、送信部45によりWebサーバ1へ送信する(ステップ75)。また、一方で、上記受信されたデータセグメントに上記特殊フラグが付与されていないか、また順序が狂って到着したデータセグメントではないか等、上記第1実施形態の図13と同様の処理を行い、必要に応じてACKを送信する(ステップ76〜80)。なお、本実施形態において、上記特殊フラグのうちPUSHフラグに対して即座にACKを返すことは、Bandwidth-Delay ProduceがTCPの最大ウィンドウ長よりも小さなコネクションの場合に特に有効である。その場合には、本実施形態におけるFDTがタイムアウトせずにセグメントが連続的に流れることになるからである。   As shown in the figure, first, when the mobile phone 2 receives the data segment transmitted from the Web server 1 by the receiving unit 36 (step 71), the TCP control unit 42 of the receiving unit receives the received data. The segment sequence number is set to secno (step 72). Then, a fixed value K of the FDT is set (step 73). The K is, for example, 1 to 10 ms. Subsequently, it is confirmed whether or not the set FDT timeout has occurred (step 74). If timed out (YES in step 74), an ACK for the data segment set in the above secno is transmitted to the Web server 1 by the transmitting unit 45 (step 75). On the other hand, the same processing as in FIG. 13 of the first embodiment is performed, such as whether the special flag is not given to the received data segment or whether the data segment arrives out of order. ACK is transmitted as necessary (steps 76 to 80). Note that in the present embodiment, immediately returning an ACK to the PUSH flag among the special flags is particularly effective in the case of a connection whose Bandwidth-Delay Produce is smaller than the TCP maximum window length. In this case, the segment flows continuously without time-out of the FDT in this embodiment.

以上の処理により、上記FDTを用いることで結果的にウィンドウの最後のデータセグメントのみにACKを返信することとなり、上記Negligible ACKを削減することが可能となる。また、特殊フラグに対してはACKを返し、また高速再送制御を行うことで、従来のTCPとの互換性も保つことができる。   With the above processing, by using the FDT, as a result, an ACK is returned only to the last data segment of the window, and the negligible ACK can be reduced. In addition, by returning ACK to the special flag and performing high-speed retransmission control, compatibility with the conventional TCP can be maintained.

本発明者らは、上記第1実施形態の場合と同様、本実施形態における手法を用いた場合の性能について検証した。図18は、本実施形態における手法を用いた場合のACKの数及びスループットをそれぞれシミュレーションにより測定した結果を示した図である。同図においても、上記図14の場合と同様、10Mbpsのリンクを100000個のデータセグメントを送信する1本のTCPが流れる環境を想定している。本実施形態の手法においては、上記FDTのタイマ粒度によって性能が左右されることは明らかであるため、FDTの固定値Kを1ms、5ms、10ms、50ms、100ms、500msの6パターンに設定した場合についてそれぞれ測定した。同図において折れ線グラフで示されているのがスループット、棒グラフで示されているのがACKの数である。   As in the case of the first embodiment, the present inventors have verified the performance when the method in the present embodiment is used. FIG. 18 is a diagram showing the results of measuring the number of ACKs and the throughput when simulation is performed using the method according to the present embodiment. In this figure, as in the case of FIG. 14, an environment is assumed in which one TCP for transmitting 100000 data segments flows through a 10 Mbps link. In the method of the present embodiment, it is clear that the performance depends on the FDT timer granularity. Therefore, when the fixed value K of the FDT is set to 6 patterns of 1 ms, 5 ms, 10 ms, 50 ms, 100 ms, and 500 ms. Each was measured. In the figure, the line graph shows the throughput, and the bar graph shows the number of ACKs.

同図に示すように、上記6パターンのどの場合においても、送信されたACKの数は等しかった。これは、FDTがタイムアウトする前に、送信側で再送タイマのタイムアウトによって再送が引き起こされていないことを示している。再送タイマの典型的な値は、2秒であり、その値よりも小さな値にすることにより、再送によるACKの増加を防ぐことが可能である。   As shown in the figure, the number of transmitted ACKs was equal in any of the above six patterns. This indicates that the retransmission is not caused by timeout of the retransmission timer before the FDT times out. A typical value of the retransmission timer is 2 seconds, and an increase in ACK due to retransmission can be prevented by setting a value smaller than that value.

また、1msのタイマを利用することで、上記第1実施形態の手法とほぼ同等のスループット性能(6.5Mbps程度)を示すことができる。また、FDTを10msに設定しても、5%程度の性能劣化で済むため、十分受容範囲であるといえる。このように、本実施形態の手法によれば、受信側のTCPのみを変更することによっても上記第1実施形態と同様にACKを削減し、かつ従来のTCPの性能を受容範囲に保つことが可能であり、これにより、Webサーバ1及び携帯電話2の大幅な省電力化を実現することができる。   Further, by using a 1 ms timer, it is possible to show a throughput performance (about 6.5 Mbps) that is almost equivalent to the technique of the first embodiment. Even if the FDT is set to 10 ms, it can be said that the performance degradation is about 5%. As described above, according to the method of the present embodiment, it is possible to reduce ACK and maintain the performance of the conventional TCP within an acceptable range by changing only the TCP on the receiving side as in the first embodiment. As a result, it is possible to realize a significant power saving of the Web server 1 and the mobile phone 2.

なお、本発明は、上述の実施形態にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。   It should be noted that the present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the scope of the present invention.

上述の実施形態においては、通信プロトコルとしてTCPを用いていたが、本発明を適用可能なプロトコルはTCPに限られず、UDP等、ACKを用いて通信を行なうプロトコルであればどのようなプロトコルにも適用することが可能である。   In the above-described embodiment, TCP is used as a communication protocol. However, the protocol to which the present invention is applicable is not limited to TCP, and any protocol that performs communication using ACK, such as UDP, can be used. It is possible to apply.

上述の実施形態においては、無線端末として携帯電話を用いた例について説明したが、無線端末は勿論これに限られず、例えばPDAやデータ計測用のセンサノード、ノートPC等、あらゆる無線端末に適用することができる。   In the above-described embodiment, an example in which a mobile phone is used as a wireless terminal has been described. However, the wireless terminal is of course not limited thereto, and may be applied to any wireless terminal such as a PDA, a sensor node for data measurement, and a notebook PC. be able to.

上述の実施形態においてはWebサーバと携帯端末がホットスポットを介して通信を行なう場合について説明したが、ネットワークの構成はこの態様に限られるものではなく、例えば携帯電話等の無線端末同士が通信を行うような態様にも適用することができる。また、無線通信手段としては無線LANを用いていたが、例えばBluetooth等の近距離無線通信規格やその他の規格も用いることができる。更に、本発明を、デスクトップ型のPC等、有線によりネットワークに接続された機器に適用することも勿論可能である。   In the above-described embodiment, the case where the Web server and the mobile terminal communicate via a hot spot has been described. However, the configuration of the network is not limited to this mode. For example, wireless terminals such as mobile phones can communicate with each other. It is applicable also to the aspect which performs. Further, although a wireless LAN is used as the wireless communication means, for example, a short-range wireless communication standard such as Bluetooth or other standards can be used. Furthermore, it is of course possible to apply the present invention to a device connected to a network by wire, such as a desktop PC.

また、上述の実施形態における手法に、別の手法を組み合わせることも可能である。例えば、ACK Reconstructionという仕組みが存在する。これは、ACKの数ではなくシーケンス番号を基準に輻輳制御を行うように送信側のTCPを変更するものである。特に本発明の上記第1実施形態の手法において、当該ACK Reconstructionを送信側に利用することで、高いスループットが期待できる。   Further, it is possible to combine another technique with the technique in the above-described embodiment. For example, there is a mechanism called ACK Reconstruction. In this method, the TCP on the transmission side is changed so that congestion control is performed based on the sequence number instead of the number of ACKs. In particular, in the technique of the first embodiment of the present invention, high throughput can be expected by using the ACK Reconstruction on the transmission side.

また、ACKを削減するための別の手法として、例えば送信側で、ウィンドウ制御により送信したデータセグメントに対するACKが所定時間内に受信されず再送タイマがタイムアウトしてしまった場合に、当該送信したデータセグメントを再送するのではなく、当該送信済みのデータセグメントの次のシーケンス番号のデータセグメント(これを飛躍セグメントと称する)を送信する、という手法も考えられる。そしてこの場合、受信側では、飛躍セグメントを受信すると、まだ受信していないセグメントを要求するACKを返信する。例えば、送信側が1,2,3,4のデータセグメントを送信した場合に、4が喪失してしまい、送信側の再送タイマがタイムアウトしてしまったとする。そこで、送信側は送信したデータセグメントの次のデータセグメント5を送信する。受信側では当該5に対するACKとして4を返す。更に送信側では、当該4のACKを受けてデータセグメント4と、次の送信済みセグメント5を飛ばしたセグメント6を送信する。このような手法を用いることで、従来のTCPならば1〜4全てのデータセグメントが再送されるのに比較して、再送されるデータセグメントの量を削減することができる。   As another method for reducing ACK, for example, when the transmission side receives an ACK for a data segment transmitted by window control within a predetermined time and the retransmission timer times out, the transmitted data is reduced. Instead of retransmitting the segment, a method of transmitting a data segment having a sequence number next to the transmitted data segment (referred to as a jump segment) is also conceivable. In this case, on the receiving side, when a jump segment is received, an ACK requesting a segment not yet received is returned. For example, when the transmission side transmits 1, 2, 3, and 4 data segments, 4 is lost, and the retransmission timer on the transmission side times out. Therefore, the transmission side transmits the data segment 5 next to the transmitted data segment. On the receiving side, 4 is returned as an ACK for the 5. Further, the transmission side receives the 4 ACK and transmits the data segment 4 and the segment 6 in which the next transmitted segment 5 is skipped. By using such a method, the amount of data segments to be retransmitted can be reduced as compared to the case where all the data segments 1 to 4 are retransmitted in the case of the conventional TCP.

そして、再送されるデータセグメントを削減するこの手法と、ACKを削減することにより間接的に再送されるデータセグメントも削減する本発明の手法を組み合わせることで、省電力のみならずスループットを向上させることもできる。   By combining this technique for reducing retransmitted data segments and the technique of the present invention for reducing data segments that are indirectly retransmitted by reducing ACK, not only power saving but also throughput can be improved. You can also.

送信ノードA及び受信ノードB、それら以外に近隣に存在するC、D及びEのノードでのデータ通信において消費される電力について説明した図である。It is the figure explaining the electric power consumed in the data communication in the node of C, D, and E which exists in the transmission node A and the receiving node B, and others nearby. データセグメントのみをランダムに破棄した場合のロス率とスループットとの関係を示した図である。It is the figure which showed the relationship between the loss rate at the time of discarding only a data segment at random, and a throughput. ACKセグメントのみをランダムに破棄した場合のロス率とスループットとの関係を示した図である。It is the figure which showed the relationship between the loss rate at the time of discarding only an ACK segment at random, and a throughput. ACKセグメントのロス率0.3〜0.5の場合のスループットを示した図である。It is the figure which showed the throughput in case the loss rates of ACK segment are 0.3-0.5. ACKセグメントのロス率0.5〜0.7の場合のスループットを示した図である。It is the figure which showed the throughput in case the loss rates of ACK segment are 0.5-0.7. 送信ノードにおける送信データセグメントと受信ACKセグメントのシーケンス番号を時系列的にプロットしたグラフである。It is the graph which plotted the sequence number of the transmission data segment in a transmission node, and a reception ACK segment in time series. TCPの通信において送信ノードから送信されるデータに対してACKが送信される様子を示した図である。It is the figure which showed a mode that ACK was transmitted with respect to the data transmitted from a transmission node in TCP communication. データロス率を変更させながらNegligible ACKとSignificant ACKの数の比率を測定した結果を示した図である。It is the figure which showed the result of having measured the ratio of the number of Negligible ACK and Significant ACK, changing a data loss rate. 第1の実施形態における通信システムの構成を示した図である。It is the figure which showed the structure of the communication system in 1st Embodiment. Webサーバのハードウェア構成を示した図である。It is the figure which showed the hardware constitutions of the Web server. Webサーバ1のデータ送受信処理における機能構成例を示すブロック図である。3 is a block diagram illustrating a functional configuration example in a data transmission / reception process of the Web server 1. FIG. Webサーバ1のデータセグメント送信時の動作について説明する。図12は、当該動作について説明したフローチャートである。The operation at the time of data segment transmission of the Web server 1 will be described. FIG. 12 is a flowchart for explaining the operation. 携帯電話2のデータセグメント受信時の動作について説明したフローチャートである。4 is a flowchart for explaining the operation of the mobile phone 2 when receiving a data segment. 第1実施形態の手法とTCP−Reno方式とでACKの数とスループットを測定、比較した結果を示した図である。It is the figure which showed the result of having measured and compared the number and throughput of ACK with the method and TCP-Reno system of 1st Embodiment. ACKの送信による消費電力を、第1実施形態による手法とTCP−Renoとで計測して比較した図である。It is the figure which measured and compared the power consumption by transmission of ACK by the method by 1st Embodiment, and TCP-Reno. 従来のTCPがデータセグメントを送信している間隔について計測した結果を示した図である。It is the figure which showed the result measured about the space | interval which the conventional TCP is transmitting the data segment. 携帯電話2のデータセグメント受信時の動作について説明したフローチャートである。4 is a flowchart for explaining the operation of the mobile phone 2 when receiving a data segment. 第2実施形態における手法を用いた場合のACKの数及びスループットをそれぞれシミュレーションにより測定した結果を示した図である。It is the figure which showed the result of having measured the number of ACK and the throughput at the time of using the method in 2nd Embodiment by simulation, respectively.

符号の説明Explanation of symbols

1…Webサーバ
2…携帯電話
3…ホットスポット
4…インターネット
14、24…通信部
31、41…データ制御部
32、42…TCP制御部
33、43…TCB記憶部
34、44…送信バッファ
35、45…送信部
36、46…受信部
37、47…受信バッファ
DESCRIPTION OF SYMBOLS 1 ... Web server 2 ... Mobile phone 3 ... Hot spot 4 ... Internet 14, 24 ... Communication part 31, 41 ... Data control part 32, 42 ... TCP control part 33, 43 ... TCB memory | storage part 34, 44 ... Transmission buffer 35, 45: Transmitter 36, 46 ... Receiver 37, 47 ... Receive buffer

Claims (9)

ネットワークを介して他の情報処理装置と接続された情報処理装置であって、
前記他の情報処理装置から所定のプロトコルによりデータを受信する受信手段と、
前記受信されたデータに対する確認応答の送信の要否を判断する判断手段と、
前記受信されたデータのうち、前記確認応答を送信する必要があると判断されたデータに対する確認応答を前記他の情報処理装置へ送信する送信手段と
を具備することを特徴とする情報処理装置。
An information processing apparatus connected to another information processing apparatus via a network,
Receiving means for receiving data from the other information processing apparatus according to a predetermined protocol;
Determining means for determining whether or not it is necessary to transmit an acknowledgment for the received data;
An information processing apparatus, comprising: a transmission unit configured to transmit an acknowledgment to the other information processing apparatus for the data determined to be necessary to transmit among the received data.
請求項1に記載の情報処理装置であって、
前記判断手段は、前記データが受信された時から所定時間次のデータを受信しない場合に、当該受信されたデータに対する確認応答の送信が必要であると判断することを特徴とする情報処理装置。
The information processing apparatus according to claim 1,
The information processing apparatus according to claim 1, wherein the determination unit determines that it is necessary to transmit a confirmation response to the received data when the next data is not received for a predetermined time after the data is received.
請求項1に記載の情報処理装置であって、
前記受信されたデータには、前記他の情報処理装置により前記確認応答送信の要否を示すフラグが付与されており、
前記判断手段は、前記フラグを参照することにより前記確認応答の送信の要否を判断することを特徴とする情報処理装置。
The information processing apparatus according to claim 1,
The received data is provided with a flag indicating whether the confirmation response transmission is necessary by the other information processing apparatus,
The information processing apparatus, wherein the determination unit determines whether or not the confirmation response needs to be transmitted by referring to the flag.
請求項3に記載の情報処理装置であって、
前記所定のプロトコルはTCPであり、
前記判断手段は、前記受信されたデータにコントロールフラグが付されている場合には、前記確認応答の送信の要否を示すフラグの種類に関わらず、当該受信されたデータに対する確認応答を送信する必要があると判断することを特徴とする情報処理装置。
The information processing apparatus according to claim 3,
The predetermined protocol is TCP;
When the control flag is attached to the received data, the determination means transmits an acknowledgment for the received data regardless of the type of flag indicating whether the acknowledgment is required to be transmitted. An information processing apparatus characterized by determining that it is necessary.
請求項4に記載の情報処理装置であって、
データが受信される毎に、当該受信されたデータの次に受信されるべきデータの第1のシーケンス番号を認識する手段と、
前記認識された第1のシーケンス番号と、前記認識後に最初に受信されたデータの第2のシーケンス番号とを比較する手段とを更に具備し、
前記判断手段は、前記比較の結果、前記第2のシーケンス番号の方が大きい場合には、当該第2のシーケンス番号のデータに付与された前記確認応答の送信の要否を示すフラグの種類に関わらず、前記第1のシーケンス番号の一つ前のシーケンス番号のデータに対する、既に送信済みの確認応答を再度送信する必要があると判断し、
前記送信手段は、前記再度の送信回数が4回以上とならないよう制御することを特徴とする情報処理装置。
The information processing apparatus according to claim 4,
Means for recognizing a first sequence number of data to be received next to the received data each time data is received;
Means for comparing the recognized first sequence number with a second sequence number of data first received after the recognition;
If the second sequence number is larger as a result of the comparison, the determination means sets a flag type indicating whether transmission of the confirmation response given to the data of the second sequence number is necessary. Regardless, it is determined that it is necessary to retransmit the already transmitted acknowledgment for the data of the sequence number immediately before the first sequence number,
The information processing apparatus according to claim 1, wherein the transmission unit performs control so that the number of retransmissions is not more than four times.
第1の情報処理装置と第2の情報処理装置がネットワークを介して接続されたシステムであって、
前記第1の情報処理装置は、
前記第2の情報処理装置へ送信するためのデータに、当該データに対する確認応答の送信の要否を示すフラグを付与する付与手段と、
前記フラグを付与されたデータを所定のプロトコルにより送信する第1の送信手段とを有し、
前記第2の情報処理装置は、
前記第1の情報処理装置から送信されたデータを前記所定のプロトコルにより受信する受信手段と、
前記付与されたフラグを基に、前記受信されたデータに対する確認応答の送信の要否を判断する判断手段と、
前記受信されたデータのうち、前記確認応答を送信する必要があると判断されたデータに対する確認応答を前記第1の情報処理装置へ送信する第2の送信手段とを有することを特徴とする情報処理システム。
A system in which a first information processing apparatus and a second information processing apparatus are connected via a network,
The first information processing apparatus includes:
Granting means for granting a flag indicating whether or not to transmit a confirmation response to the data to data to be transmitted to the second information processing apparatus;
First transmission means for transmitting the data to which the flag has been assigned according to a predetermined protocol;
The second information processing apparatus
Receiving means for receiving data transmitted from the first information processing apparatus according to the predetermined protocol;
Determining means for determining whether or not it is necessary to transmit an acknowledgment for the received data based on the given flag;
Information including: a second transmission unit configured to transmit an acknowledgment to the first information processing apparatus for the data determined to be required to be transmitted among the received data. Processing system.
請求項6に記載の情報処理システムであって、
前記所定のプロトコルはTCPであり、
前記第1の送信手段は、ウィンドウ制御により複数のデータを連続して送信し、
前記付与手段は、前記送信するための複数のデータのうちシーケンス番号が最大のデータに前記確認応答の送信を要する旨のフラグを付与し、その他のデータに前記確認応答の送信を要しない旨のフラグを付与することを特徴とする情報処理システム。
The information processing system according to claim 6,
The predetermined protocol is TCP;
The first transmission means transmits a plurality of data continuously by window control,
The assigning means assigns a flag indicating that transmission of the confirmation response is required to data having the largest sequence number among the plurality of data to be transmitted, and indicates that transmission of the confirmation response is not required for other data. An information processing system characterized by providing a flag.
ネットワークを介して他の情報処理装置と接続された情報処理装置が情報を処理する方法であって、
前記他の情報処理装置から所定のプロトコルによりデータを受信するステップと、
前記受信されたデータに対する確認応答の送信の要否を判断するステップと、
前記受信されたデータのうち、前記確認応答を送信する必要があると判断されたデータに対する確認応答を前記他の情報処理装置へ送信するステップと
を具備することを特徴とする情報処理方法。
A method in which an information processing apparatus connected to another information processing apparatus via a network processes information,
Receiving data from the other information processing apparatus according to a predetermined protocol;
Determining whether it is necessary to send an acknowledgment to the received data;
An information processing method comprising: transmitting, to the other information processing apparatus, a confirmation response to data that is determined to be required to be transmitted among the received data.
ネットワークを介して他の情報処理装置と接続された情報処理装置に、
前記他の情報処理装置から所定のプロトコルによりデータを受信するステップと、
前記受信されたデータに対する確認応答の送信の要否を判断するステップと、
前記受信されたデータのうち、前記確認応答を送信する必要があると判断されたデータに対する確認応答を前記他の情報処理装置へ送信するステップと
を実行させるためのプログラム。
To information processing devices connected to other information processing devices via a network,
Receiving data from the other information processing apparatus according to a predetermined protocol;
Determining whether it is necessary to send an acknowledgment to the received data;
A program for executing a step of transmitting an acknowledgment to the other information processing apparatus for the data determined to be necessary to be transmitted among the received data.
JP2004267102A 2004-09-14 2004-09-14 Information processor, information processing system, information processing method, and program thereof Pending JP2006086611A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004267102A JP2006086611A (en) 2004-09-14 2004-09-14 Information processor, information processing system, information processing method, and program thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004267102A JP2006086611A (en) 2004-09-14 2004-09-14 Information processor, information processing system, information processing method, and program thereof

Publications (1)

Publication Number Publication Date
JP2006086611A true JP2006086611A (en) 2006-03-30

Family

ID=36164787

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004267102A Pending JP2006086611A (en) 2004-09-14 2004-09-14 Information processor, information processing system, information processing method, and program thereof

Country Status (1)

Country Link
JP (1) JP2006086611A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007274367A (en) * 2006-03-31 2007-10-18 Kddi Corp Message receiver and viewer terminal in broadcast-and-communication convergence system
JP2010206304A (en) * 2009-02-27 2010-09-16 Toshiba Corp Communication apparatus, method and program
JP2012507966A (en) * 2008-11-04 2012-03-29 テレフオンアクチーボラゲット エル エム エリクソン(パブル) System and method for downlink transmission of data to asynchronous user equipment in a communication network
JP2012065158A (en) * 2010-09-16 2012-03-29 Fuji Xerox Co Ltd Communication device, image formation device, and program
CN105940627A (en) * 2014-08-21 2016-09-14 深圳市大疆创新科技有限公司 Unmanned aerial vehicle communications methods and systems
JP2020136842A (en) * 2019-02-18 2020-08-31 株式会社日立製作所 Communication method and communication device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0216847A (en) * 1988-07-04 1990-01-19 Nippon Telegr & Teleph Corp <Ntt> Notice system for recognition and response for transmission of data
JPH03114334A (en) * 1989-09-28 1991-05-15 Nippon Telegr & Teleph Corp <Ntt> Window flow control system
JP2003500919A (en) * 1999-05-21 2003-01-07 松下電送システム株式会社 Handshake protocol retransmission procedure and device
JP2004094555A (en) * 2002-08-30 2004-03-25 Fujitsu Ltd Load distributor

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0216847A (en) * 1988-07-04 1990-01-19 Nippon Telegr & Teleph Corp <Ntt> Notice system for recognition and response for transmission of data
JPH03114334A (en) * 1989-09-28 1991-05-15 Nippon Telegr & Teleph Corp <Ntt> Window flow control system
JP2003500919A (en) * 1999-05-21 2003-01-07 松下電送システム株式会社 Handshake protocol retransmission procedure and device
JP2004094555A (en) * 2002-08-30 2004-03-25 Fujitsu Ltd Load distributor

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007274367A (en) * 2006-03-31 2007-10-18 Kddi Corp Message receiver and viewer terminal in broadcast-and-communication convergence system
JP2012507966A (en) * 2008-11-04 2012-03-29 テレフオンアクチーボラゲット エル エム エリクソン(パブル) System and method for downlink transmission of data to asynchronous user equipment in a communication network
JP2010206304A (en) * 2009-02-27 2010-09-16 Toshiba Corp Communication apparatus, method and program
US9106417B2 (en) 2009-02-27 2015-08-11 Kabushiki Kaisha Toshiba Communication apparatus for transmission protocol processing and reception protocol processing
JP2012065158A (en) * 2010-09-16 2012-03-29 Fuji Xerox Co Ltd Communication device, image formation device, and program
CN105940627A (en) * 2014-08-21 2016-09-14 深圳市大疆创新科技有限公司 Unmanned aerial vehicle communications methods and systems
JP2017503385A (en) * 2014-08-21 2017-01-26 エスゼット ディージェイアイ テクノロジー カンパニー リミテッドSz Dji Technology Co.,Ltd Communication method and system for unmanned aerial vehicles
CN105940627B (en) * 2014-08-21 2019-05-21 深圳市大疆创新科技有限公司 Unmanned vehicle and its communication means and ground based terminal
US10366548B2 (en) 2014-08-21 2019-07-30 SZ DJI Technology Co., Ltd. Unmanned aerial vehicle communications methods and systems
JP2020136842A (en) * 2019-02-18 2020-08-31 株式会社日立製作所 Communication method and communication device
JP7102361B2 (en) 2019-02-18 2022-07-19 株式会社日立製作所 Communication method and communication device

Similar Documents

Publication Publication Date Title
US7477675B2 (en) Data communication apparatus
JP5893762B2 (en) System and method for scheduling packet transmission on a client device
Xu et al. Revealing the problems with 802.11 medium access control protocol in multi-hop wireless ad hoc networks
US6646987B1 (en) Method and system for transmission control protocol (TCP) packet loss recovery over a wireless link
EP2719132A1 (en) System and method for reliable virtual bi-directional data stream communications with single socket point-to-multipoint capability
JP5020076B2 (en) High performance TCP suitable for low frequency ACK system
Xu et al. Performance evaluation of TCP algorithms in multi‐hop wireless packet networks
JP2007089174A (en) Method and device for improving signal transmission rate in wireless communication system
JP2006311543A (en) Method and device for polling transmission state in radio communication system
US11671210B2 (en) Retransmission control method, communications interface, and electronic device
WO2010142849A1 (en) Use of block acknowledgement policy for wireless networks
US20110194490A1 (en) Method for tcp ack containment in unidirectional flows with cross layer optimization in wireless networks
CN103326831A (en) Link processing method and mobile terminal in multichannel transmission control protocol
JP3476985B2 (en) Packet communication system and packet communication control method
JP4384676B2 (en) Method for controlling data communication apparatus
JP2006086611A (en) Information processor, information processing system, information processing method, and program thereof
JP2004040493A (en) Packet communication equipment and packet communication method
JP4364763B2 (en) Data communication device
JP2006101428A (en) Wireless network control device and its method, control program and recording medium
WO2008073493A2 (en) Methods and apparatus for reducing storage usage in devices
Hsieh et al. Transport over wireless networks
Bansal et al. Enhancing constrained application protocol using message options for internet of things
US20080091841A1 (en) Communication method, communication system, communication apparatus, and recording medium
JP2002281106A (en) Method for communicating data and its system
Li et al. Analysis and improvement of TCP performance in opportunistic networks

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060424

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070827

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091222

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100420