EP2119085B1

Enhanced error control communication systems and methods

Abstract

Systems, methods, and devices for novel error detection and retransmission processes are described. These processes may be implemented on intermediate communication links between two end terminals, wherein the intermediate links are via satellite. Error control mechanisms to detect and retransmit lost or corrupted frames may be implemented at the network layer, or between the network and data link layers. Processes for discovering error control protocol-aware terminals are described. Features of these error control processes may include a configurable delay limit, tailored to traffic type or class.

EP2119085B1, drawing sheet 1
Sheet 1 of 29

Term

1.3 yearsleft in the term

Expires 24 January 2028.

  1. Priority
  2. Filed
  3. Granted
  4. Today
  5. Expires

15 claims: 5 independent, 10 dependent

  1. 1
    A system for associating a delay limit with error contro! transmissions via satellite, the system comprising:a transmitting error control device configured to: identify a data packet as a data packet to be transmitted with appended error control data to a receiving error control device (1605);set a delay limit for retransmission of data packets from the transmitting error control device (1610);and transmit the data packet and the appended error control data (1620), the error control data comprising data for calculating a time limit for buffering of the data packet at the receiving error control device (1615);the receiving error control device, in communication with the transmitting error control device via satellite, and configured to: receive the data packet and the appended error control data, the data packet received out-of sequence (1730);and calculate the time limit for buffering of the received data packet at the receiving error control device based at least in part on the error control data (1745).
  2. 2
    The system of Claim 1, wherein the transmitting error control device is further configured to:identify a traffic content classification associated with the data packet, wherein the delay limit is configurable based on the identified traffic content classification (1645);or buffer the data packet (1655), determine that the delay limit has expired before receiving acknowledgement of the data packet from the receiving error control device, and discard the buffered data packet based at least in part on the determination (1665).
  3. 3
    The system of Claim 1, wherein either the receiving error control device is further configured to buffer the received data packet, determine that the time limit for buffering the received data packet has expired (1715) thereby triggering the buffered data packet to be forwarded out-of-sequence, and discard the buffered data packet upon forwarding the buffered data packet;or the time limit for buffering of the data packet at the receiving error control device comprises the delay limit plus an estimated transit and processing time.
  4. 4
    A method for associating a delay limit with an error control transmission, the method comprising:identifying a data packet as a data packet to be transmitted with appended error control data (1605);setting a delay limit for error control transmission (1610);generating the error control data comprising a time limitation for buffering of the data packet at a receiver, the time limitation based at least in part on the delay limit (1615);and transmitting the data packet appended to the generated error control data (1620).
  5. 5
    The method of Claim 4, further comprising either:identifying a traffic content classification associated with the data packet, wherein the delay limit is configurable based on the identified traffic content classification (1645);or establishing a first delay limit to be applied to streaming data and establishing a second delay limit to be applied to interactive data, wherein the set delay limit is based on a determination whether the data packet comprises the streaming data or the interactive data;or establishing a first delay limit to be applied to a first type of streaming data and establishing a second delay limit to be applied to a second type of streaming data, wherein the set delay limit is based on a determination whether the data packet comprises the first type or the second type of streaming data.
  6. 6
    The method of Claim 4, wherein the delay limit is selected from a plurality of stored delay limits available for application to error control retransmissions.
  7. 7
    The method of Claim 4, further comprising one of:buffering the data packet, determining whether the delay limit is expired and discarding the buffered data packet based at least in part on the determination (1680);or buffering the data packet, receiving acknowledgement of receipt of the transmitted data packet before expiration of the delay limit, and discarding the buffered data packet upon receiving acknowledgment;or buffering the data packet, and retransmitting the buffered data packet upon receiving a negative acknowledgement before expiration of the delay limit (1690).
  8. 8
    The method of Claim 4, wherein the set delay limit comprises the time limitation for buffering of the data packet at a receiver.
  9. 9
    A device for implementing error control for communications links comprising:a routing unit configured to: identify a data packet as a data packet to be transmitted with appended error control data (1605);and direct processing of the data packet to an ARQ unit based at least in part on the identification;the ARQ unit, communicatively coupled with the routing unit, and configured to: set a delay limit for error control retransmission from the device for the data packet (1610);and generate error control data comprising the set delay limit (1615);and a transmitter unit, communicatively coupled with the ARQ unit, and configured to transmit the data packet with the error control data (1620).
  10. 10
    The device of Claim 9, further comprising:an encapsulation unit, communicatively coupled with the ARQ unit, and configured to encapsulate the error control data for transmission at the network layer appended to the data packet.
  11. 11
    A method for associating a delay limit with an error control transmission, the method comprising:receiving an out-of-sequence data packet appended to error control data, the error control data including a time limit for buffering the received data packet (1705) ;buffering the received data packet (1710) ;processing the time limit to determine whether the time limit for buffering the received data packet has expired (1715) ;and forwarding the buffered data packet after the processing of the time limit (1720).
  12. 12
    The method of Claim 11, further comprising one of:determining that the time limit for buffering the received data packet has expired (1745) (1750), triggering the buffered data packet to be forwarded out-of-sequence, and discarding the buffered data packet upon forwarding the buffered data packet (1765, 1760) ;or receiving missing data packets to render the buffered data packet in-sequence and discarding the buffered data packet (1765) upon forwarding the buffered data packet insequence, wherein the time limit for buffering the received data packet remains unexpired.
  13. 13
    The method of Claim 11, further comprising one of:setting a discard time for discarding the buffered data packet based on the time limit of the error control data, wherein the discard time is earlier in time than the time limit;or determining that sufficient time remains within the time limit (1770) to transmit and receive a response to a request for retransmission of one or more missing data packets and transmitting the request for retransmission based at least in part on the determination;or wherein the time limit for buffering the received data packet comprises a delay limit for a transmitter, in addition to an estimated transit and processing time.
  14. 14
    A device for implementing error control for communications links, the device comprising:a routing unit configured to: receive a data packet appended to error control data including a time limit for buffering the received data packet from a transmitter (1730) ;identify the data packet as a data packet including the time limit;and direct the data packet to an ARQ unit for processing based at least in part on the identification;the ARQ unit, communicatively coupled with the routing unit, and configured to: buffer the data packet (1740) ;and process the time limit to determine whether the time limit for buffering the received data packet has expired (1750) ;and a transmitter unit, communicatively coupled with the ARQ unit, and configured to forward the buffered data packet.
  15. 15
    The device of Claim 14, wherein the ARQ unit is further configured to:determine that the time limit has expired (1750) ;and discard the buffered data packet by freeing memory occupied by the buffered data packet, wherein the buffered data packet is forwarded out-of-sequence (1765).