Patent ID: 8140941
Filing Date: 2012-03-20
Classification: H04L

Abstract:
1. A data receiving apparatus comprising: a packet receiving unit that receives packets; a packet-type specifying unit that specifies which of types of a data packet, a column FEC packet, and a row FEC packet the packets are; a sequence-number specifying unit that specifies sequence numbers of the packets; a data storing unit that stores, in association with the specified types and the specified sequence numbers; a data-storage-information storing unit that stores, in association with sequence numbers of data packets received by the packet receiving unit, data storage information indicating that data portions of the data packets are stored in the data storing unit; an FEC-parameter specifying unit that analyzes headers of column FEC packets and row FEC packets and specifies FEC parameters including SNBase which is a value indicating a minimum sequence number among sequence numbers of plural data packets used for generation of an FEC packet, Offset which is a value indicating difference between sequence numbers of data packets adjacent to each other when the plural data packets used for generation of the FEC packet are arranged in order of the sequence numbers, and NA which is a value indicating a number of the data packets used for generation of the FEC packet; a leading-FEC-packet specifying unit that specifies, using at least SNBase specified from a first column FEC packet and SNBase specified from a second column FEC packet or a row FEC packet, a leading column FEC packet and a leading row FEC packet as FEC packets at a top of a matrix; an FEC-packet-group specifying unit that specifies a column FEC packet group including column FEC packets corresponding to a matrix same as the matrix of the leading column FEC packet and a row FEC packet group including row FEC packets corresponding to a matrix same as the matrix of the leading row FEC packet; an FEC-packet selecting unit that selects one FEC packet from the column FEC packet group or the row FEC packet group; a restorability judging unit that specifies, on the basis of the FEC parameter of the FEC packet selected by the FEC-packet selecting unit, sequence numbers of plural data packets corresponding to the selected FEC parameter, detects, on the basis of the data storage information stored in the data-storage-information storing unit, whether data portions of the data packets with the specified plural sequence numbers are stored in the data storing unit, judges, when a number of lost data packets, data portions of which are not stored, is one, that restoration of the lost data packet is possible and outputs a restoration start signal, and, judges, when the number of lost data packets is other than one, that restoration of the lost data packets is impossible; and a data-restoring unit that reads out, on the basis of the restoration start signal, data of a FEC packet and a data packet corresponding to the lost data packet from the data storing unit, restores the lost data packet using the read-out data, stores the restored data packet in the data storing unit, and stores, in the data-storage-information storing unit in association with a sequence number of the restored data packet, data storage information indicating that a data portion of the restored data packet is stored in the data storing unit.