Patent ID: 7315898

Claim:
A data communication system for transferring streaming data, comprising: a data transmission apparatus including a packet transmission processing unit for transmitting a plurality of data packets containing transmission data, and a retransmission control unit for extracting at least one data packet to be retransmitted according to a retransmission-request message packet received from a data reception apparatus, the data reception apparatus including a packet reception processing unit for receiving the plurality of data packets transmitted from said data transmission apparatus, and a retransmission-request processing control unit for determining whether to transmit a retransmission-request message packet that serves as a data-packet retransmission request to said data transmission apparatus, based on detection of at least one of a lost packet and an error in the plurality of data packets transmitted from said data transmission apparatus, wherein said retransmission-request processing control unit determines whether one or more retransmission data packets associated with the retransmission request can be received in time for processing relating to playing of data contained in the one or more retransmission data packets, and determines whether to transmit the retransmission request on condition that the one or more retransmission data packets can be received in time, and wherein the retransmission-request message packet includes at least one sequence number and an option field having one of a plurality of option values; each option value designating a retransmission mode including a first option value associated with designating retransmission of the packet with the sequence number, a second option value associated with designating retransmission of a range of packets ending with the sequence number, a third option value associated with designating retransmission of packets beginning with the sequence number, a fourth option value associated with designating retransmission of a plurality of packets based on a plurality of sequence numbers regardless of timestamps, and a fifth option value associated with designating retransmission of a range of packets associated with a timestamp.