H03M13/2921

Virtual HDBaseT link
10623123 · 2020-04-14 · ·

Methods and systems for providing a virtual HDBaseT link. In one embodiment, a first switch transmits packets over an Ethernet network that includes one or more hops. The payload of each of the packets includes an HDBaseT T-packet belonging to an HDBaseT session. A first processor sets, for each packet from among a plurality of the packets, a timestamp value in the packet to correspond to the time at which the packet is transmitted by the first switch. A second switch receives the packets over the Ethernet network. A second processor calculates a clock correction value based on the timestamps in the plurality of packets, and utilizes the clock correction value to perform at least one of the following: (i) control transmission, by the second switch, of data in T-packets in the payloads of the packets, and (ii) recover a source clock of native media delivered over the Ethernet network.

Diagonal anti-diagonal memory structure

Symbols are loaded into a diagonal anti-diagonal structure. To provide for fast loading, the symbols may be shifted by one or more shift registers associated with the diagonal or anti-diagonal structure. The two locations at which each symbol are positioned are included within different diagonals or anti-diagonals making it possible to load or unload either symbol or multiple symbols in a single clock cycle. Further, by partitioning the diagonal anti-diagonal structure, multiple respective symbols or plurality of symbols may be loaded or unloaded in a single clock cycle.

Distributed storage system data management and security

A system and method for distributing data over a plurality of remote storage nodes. Data are split into segments and each segment is encoded into a number of codeword chunks. None of the codeword chunks contains any of the segments. Each codeword chunk is packaged with at least one encoding parameter and identifier, and metadata are generated for at least one file and for related segments of the at least one file. The metadata contains information to reconstruct from the segments, and information for reconstructing from corresponding packages. Further, metadata are encoded into package(s), and correspond to a respective security level and a protection against storage node failure. A plurality of packages are assigned to remote storage nodes to optimize workload distribution. Each package is transmitted to at least one respective storage node as a function iteratively accessing and retrieving the packages of metadata and file data.

Efficient double parity forward error correction on a communication network
10567102 · 2020-02-18 · ·

Methods and systems for enabling recovery of lost packets transmitted over a communication network. In one embodiment, a device includes a processor and a transmitter. The processor is configured to calculate a row parity packet (RPP) and a diagonal parity packet (DPP) for n packets. Each of the RPP, the DPP, and the n packets comprises n segments. The processor utilizes each packet, from among the n packets, to update parity values in the RPP and the DPP in such a way that each segment in the packet is used to update one segment in the RPP and at most one segment in DPP. The transmitter transmits the n packets, the RPP, and the DPP over the communication network. Receiving a subset of n members of a set comprising: the RPP, the DPP, and the n packets, enables recovery of two lost packets.

DEINTERLEAVER
20200052722 · 2020-02-13 · ·

A method, apparatus, and system for a deinterleaver.

SYSTEM, METHOD, AND APPARATUS FOR INTERLEAVING DATA
20200052821 · 2020-02-13 · ·

A method, system, and apparatus for interleaving data including creating a buffer, writing input data, and reading output data out of the buffer.

Efficient recovery of lost packets using double parity forward error correction
10541770 · 2020-01-21 · ·

Methods and systems that enable recovery lost packets that were transmitted over a communication network. In one embodiment, a device includes a receiver and a processor. The receiver receives n packets that belong to a set comprising n+2 packets transmitted over the communication network, where the set includes: n data packets, a row parity packet (RPP), and a diagonal parity packet (DPP). Each received packet comprises n segments. Each segment of the RPP comprises a result of a parity function applied to a set comprising n segments, each belonging to a different packet from among the n data packets. Each segment of the DPP comprises a result of a parity function applied to a set comprising n segments, each belonging to a different packet selected from a group comprising the n data packets and the RPP. The processor may utilize the received packets to recover two lost packets.

Forward error correction for incomplete blocks
10523352 · 2019-12-31 · ·

Methods and systems that enable recovery of a lost packet from an incomplete block transmitted over a communication network. In one embodiment, a system includes a first processor configured to: receive a block of packets during a period spanning a certain duration, calculate a parity packet (PP) for the block, and provide in PP an indication of the number of packets in the block, where the block comprises k<n packets, and the certain duration is long enough to enable the processor to receive at least n packets. A transmitter transmits the k packets and PP. A receiver receives, over a period that is not longer than the certain duration, packets sent by the transmitter. A second processor detects, based on the number indicated in PP, that one of the k packets of the block was lost, and utilizes PP to recover said lost packet.

Cubic low-density parity-check code encoder
11916667 · 2024-02-27 · ·

Examples of check codes, methods of creating check codes, and communication systems utilizing check codes, such as low-density parity-check codes (LDPC codes) are described herein. In some examples, check codes described herein utilize a larger number of check operations than check bits.

System, method, and apparatus for interleaving data
10505676 · 2019-12-10 · ·

A method, system, and apparatus for interleaving data including creating a buffer, writing input data, and reading output data out of the buffer.