Preferred Path Network Scheduling In Multi-Modem Setup
US-2018279175-A1 · Sep 27, 2018 · US
US10958587B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10958587-B2 |
| Application number | US-201916370475-A |
| Country | US |
| Kind code | B2 |
| Filing date | Mar 29, 2019 |
| Priority date | Jul 24, 2018 |
| Publication date | Mar 23, 2021 |
| Grant date | Mar 23, 2021 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Systems and methods of reducing transmission time are described. Uniform-sized original packets are generated from a data frame having a payload with an identifier and data. The packets include the identifier, total block number, block index that specifies an order of the packet, and the data. The packets are encoded to form redundant packets with the identifier, block number, block index and redundant data. The available block index for the original and redundant packets are different. The packets are transmitted by individual modems over different channels at transmission rates that are each configured to minimize free space in an input buffer of the modem and are dependent on feedback from the receiver. The feedback indicates a difference between the transmission rate and a reception rate. The encoding rate is dependent on the original packets over the original and redundant packets or a maximum transmission rate over the remaining transmission rates.
Opening claim text (preview).
What is claimed is: 1. A communication system comprising: a transmitting device incorporated in a vehicle, the transmitting device comprising: a plurality of modems configured to operate in parallel, each modem having an input buffer, a demultiplexer configured to split a video slice into a plurality of packets, and a scheduler configured to schedule data of the plurality of packets transmission by the modems over different channels at modem transmission rates, the modern transmission rate of each modem dependent on free space in the input buffer of the modem; and a receiving device configured to reconstruct the video slice, the receiving device comprising a rate controller configured to provide rate control feedback to the transmitting device, the rate control feedback indicating an instant received data rate for each modem compared to the modem transmission rate, the scheduler further configured to adjust the modem transmission rates based on the rate control feedback, wherein: the video slice comprises a data frame having a sequence header and a sequence payload of a sequence, the sequence payload comprises sequence data and a sequence identifier, the sequence identifier configured to identify the sequence, the sequence identifier incremented for each video slice and reset after reaching a maximum value, the plurality of packets contains the sequence data, and each of the packets comprises: the sequence identifier, a total number of blocks in the sequence, a block index that specifies a number of the packet in the sequence, the block index having a number less than the total number of blocks, and non-overlapping data of the sequence data, each block index specifying unique non-overlapping data of the sequence data. 2. The system of claim 1 , wherein: the transmitting device further comprises a forward error correction (FEC) encoder configured to receive the plurality of packets from the demultiplexor and generate redundant packets for transmission of the plurality of packets and the redundant packets by the modems, both the plurality of packets and the redundant packets encoded by the FEC encoder prior to transmission by the modems, and the receiving device further comprises a FEC decoder configured to decode at least some of the encoded plurality of packets and redundant packets to reconstruct the video slice. 3. The system of claim 2 , wherein: the FEC encoder is further configured to use Cauchy Reed-Solomon (CRS) codes to generate the redundant packets, and the FEC encoder is further configured to use a rate code of less than 0.5. 4. The system of claim 2 , wherein: the sequence header comprises a number of frame bytes of the data frame and a cyclic redundancy check (CRC). 5. The system of claim 4 , wherein: each of the plurality of packets is a same size. 6. The system of claim 5 , wherein: each redundant packet is the same size as each of the plurality of packets, the redundant packets contain the sequence data, and each of the redundant packets comprises: the sequence identifier, the total number of blocks in the sequence, a redundant block index that specifies the number of the packet in the sequence, the redundant block index having a number equal to or greater than the total number of blocks, and data of the sequence data that overlaps with the non-overlapping data of at least one of the plurality of packets. 7. The system of claim 6 , wherein: one of the modems has a higher transmission rate and remaining modems of the modems have a lower transmission rate, the FEC encoder has an encoder rate that is a ratio of the higher transmission rate divided by a sum of the higher transmission rate and the lower transmission rates, and a ratio of the plurality of packets to the redundant packets generated by the FEC encoder is a ratio of the higher transmission rate divided by a sum of the lower transmission rates. 8. The system of claim 7 , wherein: if the FEC encoder is unable to generate an integer number of redundant packets over a predetermined time period, the FEC encoder is further configured to dynamically adjust the number of redundant packets generated to match the encoder rate in average over multiple time periods. 9. The system of claim 7 , wherein: the scheduler is configured to select an available modem that has not exceeded the transmission rate for the available modern. 10. The system of claim 6 , wherein: the FEC encoder has an encoder rate that is a ratio of a message length of a code used for encoding divided by a total length of the code, and a ratio of the plurality of packets to the redundant packets generated by the FEC encoder is a ratio of a number of the plurality of packets divided by a sum of the number of the plurality of packets and a number of redundant packets. 11. The system of claim 10 , wherein: the scheduler is configured to derive which modem will be available to receive a next packet based on the transmission rates of the modems and free space in input buffers of the modems and select a particular modem accordingly to avoid buffering the data to be transmitted by the modems. 12. The system of claim 6 , wherein the receiving device is arranged to: reconstruct the video slice using the sequence identifier and block index of received packets of the sequence by: if a block index of each of the received packets is less than the total number of blocks, backward multiplexing the received packets in accordance with the block index of the received packets, and if the block index of at least one of the received packets is equal to or greater than the total number of blocks: arranging a first received set of the received packets having the sequence identifier in accordance with the block index of the first received set, a number of the first received set equaling the total number of blocks, and decoding the first received set using an FEC decoder and subsequently backward multiplexing packets from the FEC decoder in accordance with the block index, and release resources associated with the sequence after reconstruction of the video slice. 13. The system of claim 5 , wherein the receiving device is arranged to: reconstruct the video slice using the sequence identifier and block index of received packets of the sequence, store, in a buffer, a sufficient number of the received packets to start decoding using an FEC decoder, and after decoding has started, drop later-received packets having the sequence identifier. 14. The system of claim 13 , wherein: the buffer is a ring buffer having multiple slots, each slot representing a sequence having a different sequence index, and a head pointer is configured to indicate of the slots is a next slot to clear to permit storage of packets of a new sequence. 15. The system of claim 14 , wherein: adjacent received packets are able to have different sequence indexes, the head pointer is limited to he within a predetermined number of slots from a current slot associated with a currently received packet, and if the head pointer is not within the predetermined number of slots from the current slot, the head pointer clears the next slot and moves from the next slot to an adjacent slot of the next slot after the next slot is cleared. 16. The system of claim 1 , wherein the receiving device is arranged to: determine the instant received data rate for each modem by counting packets received from each modern over a predetermined time period, and for each modem: if the instant received data rate is at least 10% lower than a desired data rate for the modem
ensuring sequence integrity, e.g. using sequence numbers · CPC title
in combination with information about buffer occupancy at either end or at transit nodes · CPC title
Rate modification at the source after receiving feedback · CPC title
in response to processing delays, e.g. caused by jitter or round trip time [RTT] · CPC title
by acting on aggregated flows or links · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.