Method and apparatus for transmitting packet by using indirect acknowledgement timer in wired/wireless integrated network

A packet transmission apparatus and method is disclosed. The present invention transmits data packets without relaying a duplicate acknowledgement packet by equipping an indirect acknowledgement timer at a buffer, generating/transmitting the indirect acknowledgement packet of the first arrived acknowledgment packet base on the indirect acknowledgement timer and implementing an indirect acknowledgement method to a snoop protocol for overcoming problems of the transmission control protocol (TCP) in the wireless network environment. The present invention effectively utilizes resources of the wireless link, which is wasted during recovering lost packet in the conventional snoop protocol. The present invention also reduces a required size of the buffer of the base station by allowing a partially-generation of the indirect acknowledgement packet.

FIELD OF THE INVENTION

The present invention relates to a method and apparatus for transmitting a packet using indirect acknowledgement mechanism in a wired/wireless integrated network; and, more particularly, to a method and apparatus for transmitting a data packet without treating a duplicate acknowledgement packet by equipping an indirect acknowledgement timer at a buffer, generating/transmitting the indirect acknowledgement packet of the first arrived data packet based on the indirect acknowledgement timer and implementing an indirect acknowledgement method to a snoop protocol for overcoming problems of the transmission control protocol (TCP) in the wireless network environment.

DESCRIPTION OF RELATED ARTS

During data communication between two computer hosts through a wired/wireless link, some packet segments may be lost caused by various conditions of the wired/wireless link and the computers. A conventional transmission control protocol (TCP) has been a reliable transport protocol in traditional networks where congestion is the primary cause of packet loss. The TCP maintains reliable end-to-end packet transmission by assuming all packet loss is caused by congestion. Thus, if a duplicate acknowledgement is arrived or a retransmission time of a transmitter is elapsed, then the TCP invokes a slow start and congestion control mechanism such as setting up a limitation value (ssthresh) of a transmission window as “‘congestion control window size’/2” and a congestion control window size as “1” and increasing the transmission window size in geometrical progression for reducing transmission packets and alleviating congestion.

As above-mentioned mechanism of the TCP, the packet loss by the congestion in the wired network can be prevailed and a reliable packet transmission is provided. Therefore, the TCP has been commonly used for providing various application services in the traditional network.

However, networks with wireless links and mobile hosts incur significant losses due to bit-errors and disconnection. The congestion control mechanism of the TCP is unnecessary operation in case of the packet loss generated by the bit error and disconnection in the wireless network.

In the TCP, since it is assumed that all classes of the packet loss are generated by the congestion, the TCP triggers the congestion control, which decreases the congestion control window size to “1”, for the packet loss even generated by the bit error and disconnection. The unnecessary operation of the congestion control in the TCP causes wasting resources of the wired link in the wired/wireless integrated network.

For overcoming above-mentioned problem of the TCP in wired/wireless integrated network, an indirect TCP (I-TCP) and snoop protocol are proposed.

For hiding the packet loss from the transmitter, the I-TCP splits an end-to-end TCP connection into two separate connections, a wired TCP connection and a wireless TCP connection, and controls two separated connections independently. The wired TCP connection is a link between a fixed host and a base station and the wireless TCP connection is a link between the base station and a mobile station.

In other word, data packets transmitted from the transmitter are stored into a buffer of the base station and an indirect acknowledgement (I-ACK) is delivered to the transmitter without an acknowledgement of receipt of the data packet from a receiver.

By hiding the packet loss generated in the wireless environment from the transmitter, the unnecessary operation of the congestion control can be eliminated. Therefore, the I-TCP guarantees high-speed data transmission in the wireless network environment since a round trip time between the transmitter and the base station is only consideration factor for data transmission.

The congestion control of the TCP, decreasing a size of the congestion control window of the transmitter, is the unnecessary operation, if the data loss is not generated by the congestion. The snoop protocol is proposed for reducing above-mentioned unnecessary operations of the TCP in the wireless network. The snoop protocol is implemented at a boundary between the wireless link and the wired link.

The snoop protocol implemented base station stores transmitted data packet in the buffer of the base station and predicts the packet loss. If a preset time limit of a local retransmission timer is elapsed or the duplicated acknowledgement is arrived, then the snoop protocol assumes an incurrence of the packet loss and retransmits stored transmitted data packet in the buffer corresponding to predicted damaged or lost packets without transmitting the duplicate acknowledgement to the transmitter.

By retransmitting the damaged or lost packets without noticing predicted packet loss to the transmitter, it prevents performing the unnecessary operation of conventional TCP. Therefore, a performance of packet transmission in the wireless network environment is improved.

However, the I-TCP, which is proposed for prevailing disadvantage of the TCP, violates end-to-end semantics of the TCP. As a result of violation, the I-TCP does not guarantee a reliable TCP transmission.

The I-TCP mechanism controls independently links between the transmitter and the receiver so the transmitter maintains high-speed transmission even though the wireless link has been disconnected for a long period time or the packet has been lost continuously. However, the base station has to store numerous transmitted packets into the buffer. Therefore, I-TCP mechanism needs a huge size of the buffer for storing numerous packets and it causes a buffer-overhead problem.

The snoop protocol, which is introduced for overcoming disadvantage of the TCP, also has disadvantage, wasting resources of the wired link. The snoop protocol does not notice the packet loss generated in the wireless link between the base station and receiver to the transmitter while maintaining the end-to-end semantics of TCP. The transmitter, therefore, stops packet transmission until an acknowledgement is arrived from the receiver and as a result, the resource of wired link, which has a wider bandwidth comparing to the wireless link, is wasted.

Additionally, the snoop protocol does not perfectly hide the packet loss from the transmitter due to the end-to-end semantics of TCP, which is used by the snoop protocol, so the retransmission time is elapsed at the transmitter and a slow start of the TCP may be started in case that recovering a lost packet takes such a long period time.

Therefore, the snoop protocol also has a limitation to improve a performance of transmission protocol.

SUMMARY OF THE INVENTION

It is, therefore, an object of the present invention to provide a packet transmission apparatus and method for reducing a possibility to occur a retransmission timeout, which is occurred in a transmitter and a computer readable record medium storing instructions for executing the method.

It is another object of the present invention to provide a packet transmission apparatus and method for reducing a required size of a buffer in a base station, in which a transmitted packet is stored and a computer readable record medium storing instructions for executing the method.

It is further another object of the present invention to provide a packet transmission apparatus and method, in which an indirect acknowledgement mechanism is implemented, for maintaining a reliable packet transmission of the TCP wherein, the indirect acknowledgement mechanism predicts a delay of packet transmission and a packet loss generated in a wireless link by providing an indirect acknowledgment timer in a snoop protocol implemented base station and to provide a computer readable record medium storing instructions for executing the method.

In accordance with an aspect of the present invention, there is provided a method for transmitting a packet in a packet transmission apparatus connected to a transmitter through a wired link and connected to a receiver through a wireless link, including the steps of: a) setting up an indirect acknowledgement timer to a data packet received from the transmitter, storing the data packet into a buffer and transmitting the data packet to receiver; b) updating a size of the buffer based on a acknowledgement packet received from the receiver and treating the data packet received from the transmitter; and c) transmitting an indirect acknowledgement packet to the transmitter according to a state of the buffer in case an acknowledgement packet is not received from the receiver until the indirect acknowledgement timer is elapsed.

In accordance with another aspect of the present invention, there is also provided a packet transmission apparatus connected to a transmitter through a wired link and connected to a receiver through a wireless link, including: a transceiver for the transmitter connected with the transmitter through the wired link, for receiving a data packet and transmitting an acknowledgement packet or an indirect acknowledgement packet; a transceiver for the receiver connected with the receiver through the wireless link, for transmitting a data packet and receiving the acknowledgement packet; a buffer for storing a data packet received from the transmitter; and an indirect acknowledgement controller for establishing an indirect acknowledgement timer to a data packet stored in the buffer, setting up a size of the buffer base on the acknowledgement packet received from the transceiver for the receiver and generating an indirect acknowledgement packet according to whether the buffer is overflowed in case the acknowledgement packet is not received from the receiver until the indirect acknowledgement timer is elapsed.

In accordance with further another aspect of the present invention, there is also provided a computer readable record medium storing instructions for executing a method for transmitting a packet in a packet transmission apparatus, the method including the steps of: a) setting up an indirect acknowledgement timer to a data packet received from the transmitter, storing the data packet into a buffer and transmitting the data packet to receiver; b) updating a size of the buffer based on a acknowledgement packet received from the receiver and treating the data packet received from the transmitter; and c) transmitting an indirect acknowledgement packet to the transmitter according to a state of the buffer in case an acknowledgement packet is not received from the receiver until the indirect acknowledgement timer is elapsed.

DETAILED DESCRIPTION OF THE INVENTION

Other objects and aspects of the invention will become apparent from the following description of the embodiments with reference to the accompanying drawings, which is set forth hereinafter.

FIG. 1is a block diagram illustrating a wired/wireless integrated network in which the present invention is implemented andFIG. 2is a block diagram illustrating a packet transmission apparatus in accordance with the preferred embodiment of the present invention. The wired/wireless integrated network includes a transmitter101, a wired link107, a base station103, a wireless link109and a receiver105. The wired link107is a data communication medium, which transports data in 10 Mbps and has 100 ms as a transmission delay. The wireless link109is a data communication medium, which transports data in 2 Mbps and has 10 ms as the transmission delay. The packet transmission apparatus in accordance with the present invention is implemented in the base station103.

A conventional TCP is implemented in the wired link107and the wireless link109. The receiver105is established according to an improved snoop protocol algorithm in accordance with the present invention.

The base station103includes the transmitter101, a transceiver for a transmitter201for packet transmission, the receiver105, a transceiver for a receiver203. The configuration of the base station with above-mentioned elements can be composed as various forms.

The packet transmission apparatus210controls a packet transmission between the transmitter101and the receiver105according to the improved snoop protocol in accordance with the preset invention.

Referring toFIG. 2, the packet transmission apparatus210includes a transceiver for a transmitter210, a transceiver for a receiver201, a buffer205, an indirect acknowledgement controller207and a duplicate acknowledgement controller209.

The transceiver for the transmitter201makes a connection between the transmitter101and the packet transmission apparatus210through the wired link109and the transceiver for the receiver203couples the receiver105and the packet transmission apparatus210through the wireless link109.

The transceiver for the transmitter201receives a data packet from the transmitter101and transmits the acknowledgement packet and the indirect acknowledgement packet. The transceiver for the receiver203transmits a data packet to the receiver105and receives the acknowledgement.

The buffer205stores the data packet received from the transmitter101.

The indirect acknowledgement controller207sets up a time of an indirect acknowledgement timer according to a stored data packet in the buffer205and deletes the stored data packet base on a newly received acknowledgement packet. The indirect acknowledgement controller207also controls a variable capacity of the buffer205for preventing a buffer overflow and generates/transmits the indirect acknowledgement by determining whether the indirect acknowledgement timer is elapsed.

The duplicate acknowledgement controller209determines whether the received acknowledgement from the receiver105is a duplicate acknowledgement, retransmits data packet stored in the buffer205and counts the duplicate acknowledgement packets.

Operation steps of the packet transmission apparatus210in accordance with the preferred embodiment of the preset invention is explained in detail as follows.

At first, the indirect acknowledgement controller207stores data packets received from the transmitter101into the buffer205and sets up the indirect acknowledgement timer according to the stored data packet and transmits data packets to the receiver105through the transceiver for the receiver203.

After transmitting data packets, if an acknowledgement is received from the receiver105through the transceiver for the receiver203, the duplicate acknowledgement controller209determines whether the received acknowledgement is a newly received acknowledgement or a duplicate acknowledgement. If the received acknowledgement is the duplicate acknowledgement, then the duplicate acknowledgement controller209determines whether the duplicate acknowledgement is the first duplicate acknowledgement and retransmits the damaged or lost data packet according to a result of determination.

If the received acknowledgement is the newly received acknowledgement, then the indirect acknowledgement controller207calculates a round trip time (RTT) according to successfully received data packet at the receiver105and changes the size of the buffer (205). The indirect acknowledgement controller207also deletes a data packet corresponding to the received acknowledgement in the buffer205and sets up an indirect acknowledgement timer of a next data packet of the deleted data packet in the buffer.

Additionally, the indirect acknowledgement controller207determines whether an indirect acknowledgement of a data packet corresponding to the received acknowledgement is already transmitted and transmits the acknowledgement packet to the transmitter101.

In a meantime, the indirect acknowledgement controller207checks an indirect acknowledgement timer set up according to a data packet transmitted to the receiver105through the transceiver203for the receiver. If the acknowledgement packet from the receiver105was not transmitted to the packet transmission apparatus205even though the indirect acknowledgement timer of the stored data packet in the buffer205is elapsed, then the indirect acknowledgement controller207checks whether the capacity of the buffer is overflow. If the capacity of the buffer is not overflow, then the indirect acknowledgement controller207generates and transmits an indirect acknowledgement packet to the transmitter101through the transceiver for the transmitter201. By generating and transmitting the indirect acknowledgement packet to the transmitter101according to a result of checking the buffer. The transmitter101can transmit data packet continuously, therefore, a resource of the wired link, which is wasted during recovering a lost packet, can be utilized effectively.

FIG. 3is a flowchart illustrating steps of setting an indirect acknowledgement timer of a transmitted data packet from a transmitter in accordance with the preferred embodiment of the present invention.

At first, an indirect acknowledgement controller207of a packet transmission apparatus210determines whether a received data packet is a newly received data packet when a receiver101receives the data packet through a transceiver for the transmitter201at step301.

After determining, if the data packet is not newly received packet, then the indirect acknowledgement controller207recognizes the data packet as a retransmitted data packet from the transmitter101to the packet transmission apparatus210and sets up a number of local retransmission of the received data packet in the packet transmission apparatus210as “0” at step305.

After setting up the number of local retransmission, the indirect acknowledgement controller207transmits the received data packet through the transceiver for the receiver203at step307. In here, the number of local retransmission is initialized by the TCP.

After step303, if the data packet is newly received packet, then the indirect acknowledgement controller207checks whether the data packet is orderly arrived at step309.

After checking the order of the data packet at step309, if the data packet is arrived in order, then the indirect acknowledgement controller207records an arrival time of the received data packet and stores the received data packet into the buffer205at step313.

After step313, the indirect acknowledgement controller207checks whether a number of stored data packet at the buffer205is more than “1” at step315.

If the number of stored data packet is more than “1”, then the indirect acknowledgement controller207transmits the received data packet to the receiver105through the transceiver for the receiver203at step307.

If the number of stored data packet is “1”, then the received data packet is the first arrived data packet therefore, the indirect acknowledgement controller207sets up an indirect acknowledgement timer of the received data packet at step317.

In other word, the transmitter101of the present invention can transmit data packets as many as the buffer of the packet transmission apparatus can hold in despite of a packet loss and transmission delay, which can be produced in the wireless link, by storing received data packet into the buffer205, setting up the indirect acknowledgement timer, and generating/transmitting the indirect acknowledgement packet to the receiver101in case the acknowledgement packet is not arrived from the receiver105until the indirect acknowledgement timer is elapsed.

As above-mentioned steps of setting the indirect acknowledgement timer of a received data packet from the transmitter, the present invention utilizes the resource of wired link effectively.

FIG. 4is a flowchart illustrating steps of establishing the indirect acknowledgement timer when an acknowledgement packet is received from a receiver in accordance with the present invention.

At first, a packet transmission apparatus210receives an acknowledgement packet transmitted from a receiver105through a transceiver for a receiver203at step401. A duplicate acknowledgement controller209determines whether the received acknowledgement packet is newly arrived acknowledgement packet by comparing a sequence number of a data packet corresponding to the received acknowledgement with another sequence number of a data packet corresponding to an acknowledgement received previously than the received acknowledgement packet at step403.

If the received acknowledgement packet is newly arrived acknowledgement packet, then the indirect acknowledgement controller207calculates a wireless round trip time (RTT) of the successfully arrived acknowledgement packet at step413. After calculating the RRT of the wireless link, the indirect acknowledgement controller207deletes data packets corresponding the arrived acknowledgement packet in the buffer and sets up a start time of the indirect acknowledgement timer of a data packet, which is a next data packet of the deleted data packet at step415.

The RTT is a time taken for round trip of data transmission between both ends. A local retransmission timer is set up by considering the RTT in the packet transmission apparatus210. By using the RTT, a number of data packets, which can be successfully transmitted during a transmission delay time of a wired link, can be calculated and the number of the data packet is used for calculating a size of the buffer. The size of the buffer is calculated by below equation (1).

After the step415, the indirect acknowledgement controller207determines whether the data packet corresponding to a sequence number of the newly arrived acknowledgement packet is acknowledged to the transmitter101by the indirect acknowledgement generated from the indirect acknowledgement controller207of the packet transmission apparatus210at step417.

In other word, it is determined that the transmitter recognizes a succession of arriving the data packet at the receiver by the indirect acknowledgement packet is generated and transmitted to the transmitter. The transmitter101recognizes the indirect acknowledgement packet and the acknowledgement packet as identical packet so if one of packet in both acknowledgement packets is arrived at the transmitter101, then the transmitter101believes that the data packet is transmitted successfully.

After the step417, if the data packet corresponding to the received acknowledgement has already been acknowledged by the indirect acknowledgement of the transmitter101, then the received acknowledgement packet is dumped at step407.

In a case that a data packet corresponding to the received acknowledgement packet is already acknowledged to the transmitter101by the indirect acknowledgement packet, the indirect acknowledgement controller207generates and transmits the indirect acknowledgement packet to the transmitter101without transmitting an acknowledgment packet of a packet loss or transmission delay generated in the wireless link to the packet transmission apparatus210when the indirect acknowledgment timer is elapsed.

After the step417, if the data packet corresponding to the received acknowledgement packet is not acknowledged by the transmitter101, then the received acknowledgement packet is transmitted to the transmitter101through the transceiver for the transmitter201and corresponding data packet is acknowledged at step419.

In a meantime, if a result of the determination at step403is that the received acknowledgement packet is not newly arrived acknowledgement packet, then the duplicate acknowledgement controller209determines whether the received acknowledgement packet is a duplicate acknowledgement packet by comparing a sequence number of data packet corresponding to the received acknowledgement packet with another sequence number of data packet corresponding to an acknowledgement packet received previously than the received acknowledgement packet at step405.

If the received acknowledgement packet is not duplicate acknowledgement packet, then it is an acknowledgement packet of data packet already deleted from the buffer205, therefore, the received acknowledgement packet is dumped at step407.

However, if the received acknowledgement packet is the duplicate acknowledgement packet, then the duplicate acknowledgement controller209determines whether the received acknowledgement is the first arrived duplicate acknowledgement packet referring to a count of the received duplicate acknowledgement packet, which is explained in below, at step405and if it is not the first arrived duplicate acknowledgement packet, then the received duplicate acknowledgement packet is dumped at step407.

If the received acknowledgement packet is the first arrived and duplicate acknowledgement packet, then it means that there is a data loss in the wireless link therefore, the duplicate acknowledgement controller209locally retransmits a data packet, which is a lost data packet stored in the buffer205, to the receiver105through the transceiver for the receiver203and counts the number of received duplicate acknowledgement packets at step of411. The received duplicate acknowledgement packets are dumped at step407.

At step of411, the duplicate acknowledgement controller209counts the number of received duplicate acknowledgement packets for determining whether the received duplicate acknowledgement packet is the first arrived duplicate acknowledgement packet.

In other word, if the indirect acknowledgement controller207receives the acknowledgement packet of transmitted data packet from the receiver105, then the number of data packet is controlled to be increased by analyzing a state of the wireless link and altering a capacity of the buffer205. And on the other hand it is controlled not to send the acknowledgement packet of data packet, of which indirect acknowledgement packet had already been sent. The data packet corresponding to the received acknowledgement packet is deleted from the buffer and the buffer205of the packet transmission apparatus210is controlled not to be overflowed by establishing the indirect acknowledgement timer at data packets stored in the buffer205.

FIG. 5is a flowchart illustrating steps of processing data packet stored in a buffer when a preset time of the indirect acknowledgement timer is elapsed in accordance with the present invention.

The indirect acknowledgement timer is established to data packets in the buffer and the indirect acknowledgement controller207sets up a time of indirect acknowledgement.

At first, if a preset time of the indirect acknowledgment timer is elapsed, then it means that multiple packets, which are retransmitted to the receiver105, are continuously lost, or the acknowledgement packet from the receiver105to the packet transmission apparatus210is lost. Therefore, a condition of the buffer is determined and the indirect acknowledgement packet is transmitted.

The indirect acknowledgement controller207determines whether the indirect acknowledgment timer is elapsed at step501. If the preset time of the indirect acknowledgement timer is elapsed, then the indirect acknowledgement controller207determines whether the buffer is overflowed by stored data packets at step503.

After step503, if the buffer is not overflowed, then the indirect acknowledgement packet of the first received and stored data packet in the buffer205is generated and transmitted to the transmitter101through the transceiver for the transmitter201at step505. The indirect acknowledgement timer is established to a received and stored data packet, which is a next data packet of data packet corresponding to the generated indirect acknowledgement packet at step507. A standard time of the indirect acknowledgement timer is a time of receiving and storing corresponding data packet into the buffer205.

After step503, if the buffer is overflowed, then the indirect acknowledgement of the received and stored data packet is not generated and the indirect acknowledgement timer is established to a next received and stored data packet of the data packet at step507.

The indirect acknowledgement mechanism is implemented in case the buffer is not overflowed which means a number of stored data packet in the buffer is not exceeded to threshold value of the buffer therefore, the reliable communication link of TCP can be maintained since the generation of the indirect acknowledgement packet is allowed partially for reducing required buffer size and recovering violated TCP connection between two ends by the indirect acknowledgment packet.

FIG. 6Ais a graph depicting a comparison between quantity of data packets, which is transmitted from a transmitter to a base station in accordance with the present invention, and quantity of data packets, which is transmitted from transmitter to a conventional snoop protocol implemented base station andFIG. 6Bis a graph depicting a comparison between quantity of data packets, which is transmitted from a transmitter to a receiver in accordance with the present invention, and quantity of data packets, which is transmitted from transmitter to a conventional snoop protocol implemented receiver.

The simulation graph uses FTP data as input data for transmitting data packet immediately when an acknowledgement packet is arrived by filling data packets in the TCP queue of a transmitter and compares a quantity of successfully transmitted data packet in a certain simulation time by the present invention and a quantity of successfully transmitted data packet in the certain simulation time by the snoop protocol.

The transmitter of the present invention does not distinguish the indirect acknowledgement packet and the acknowledgement packet transmitted from the receiver therefore, the base station can transmit data during maintaining a specific limitation condition of the buffer. By transmitting data while specific limitation condition is satisfied, as shown inFIG. 6A, a pause time of the transmitter can be reduced and plenty of data packet can be transmitted. Finally, as shownFIG. 6B, the present invention can transmit successfully data packets between the receiver and the transmitter furthermore, it shows improved quality of the wired/wireless integrated network environment.

As above-mention method in accordance with the preferred embodiment of the present invention can be implemented as a program for executing the method and it can be stored in a computer readable record medium such as a CD-ROM, a RAN, a ROM, a floppy disk, a hard disk and an optical magnetic disk.

The above-mentioned present invention effectively utilizes resources of the wired link between the transmitter and the base station, which is wasted during recovering lost packet in the conventional snoop protocol by adding the above-mentioned present invention mechanism and the indirect acknowledgement timer at the base station implementing the snoop protocol and using the indirect acknowledgement mechanism for persistently transmitting data to the transmitter, which does not classify the indirect acknowledgement packet and the acknowledgement packet from the receiver. The present invention also reduces a required size of the buffer of the base station by allowing a partially-generation of the indirect acknowledgement packet, which only generates the indirect acknowledgement in case the number of data packets stored in the buffer is less than the thresh hold value of the buffer.