Abstract:
Systems and techniques described herein include jointly decoding coded data of different codes, including different coding algorithms, finite fields, and/or source blocks sizes. The techniques described herein can be used to improve existing distributed storage systems by allowing gradual data migration. The techniques can further be used within existing storage clients to allow application data to be stored within diverse different distributed storage systems.
Abstract:
Devices and methods described herein decode a sequence of coded symbols by guessing noise. In various embodiments, noise sequences are ordered, either during system initialization or on a periodic basis. Then, determining a codeword includes iteratively guessing a new noise sequence, removing its effect from received data symbols (e.g. by subtracting or using some other method of operational inversion), and checking whether the resulting data are a codeword using a codebook membership function. This process is deterministic, has bounded complexity, asymptotically achieves channel capacity as in convolutional codes, but has the decoding speed of a block code. In some embodiments, the decoder tests a bounded number of noise sequences, abandoning the search and declaring an erasure after these sequences are exhausted. Abandonment decoding nevertheless approximates maximum likelihood decoding within a tolerable bound and achieves channel capacity when the abandonment threshold is chosen appropriately.
Abstract:
A method and apparatus decode packetized data in the presence of packet erasures using a finite sliding window technique. A decoder receives packets containing uncoded and coded symbols. When a packet with a coded symbol is received, the decoder determines whether a packet sequence number is within a sliding window of w consecutive sequence numbers that are no greater than a decoder sequence number, where the number w is fixed prior to encoding. When this is the case, the decoder decodes the coded symbol into one or more of the w input symbols using the coefficient vector. Decoding may use a forward error correcting (FEC) window within the finite sliding window. Decoding also may use a technique of Gaussian elimination to produce a “shifted” row echelon coefficient matrix.
Abstract:
A two-layer erasure-coded fault-tolerant distributed storage system offering atomic access for read and write operations is described. In some embodiments, a class of erasure codes known as regenerating codes (e.g. minimum bandwidth regenerating codes) for storage of data in a backend layer is used to reduce a cost of backend bulk storage and helps in reducing communication cost of read operations, when a value needs to be recreated from persistent storage in the backend layer. By separating the functionality of edge layer servers and backend servers, a modular implementation for atomicity using storage-efficient erasure-codes is provided. Such a two-layer modular architecture permits protocols needed for consistency implementation to be substantially limited to the interaction between clients and an edge layer, while protocols needed to implement erasure code are substantially limited to interaction between edge and backend layers.
Abstract:
Techniques, devices, systems, and protocols are disclosed herein that relate to data transfer between communication nodes via multiple heterogeneous paths. In various embodiments, network coding may be used to improve data flow and reliability in a multiple path scenario. Transmission control protocol (TCP) may also be used within different paths to further enhance data transfer reliability. In some embodiments, multiple levels of network coding may be provided within a transmitter in a multiple path scenario, with one level being applied across ail paths and another being applied within individual paths.
Abstract:
Computerized analysis methods and systems to implement the computerized analysis methods are disclosed herein. Specifically, the present disclosure relates to systems and methods for determining an unknown characteristic of a sample.
Abstract:
Techniques for performing finite memory network coding in an arbitrary network limit an amount of memory that is provided within a node of the network for the performance of network coding operations during data relay operations. When a new data packet is received by a node, the data stored within the limited amount of memory may be updated by linearly combining the new packet with the stored data. In some implementations, different storage buffers may be provided within a node for the performance of network coding operations and decoding operations.
Abstract:
Data blocks to be stored on a disk-based data storage device (e.g., a hard disk drive, etc.) are coded together to form a plurality of linearly independent network coded blocks. The network coded blocks are then stored on the data storage device. Coded seeking may then be used to retrieve the original data blocks from the data storage device in a time-efficient manner. A read request may be sent to the data storage device requesting an innovative coded packet associated with the original data blocks. In response to the read request, the data storage device may read an innovative coded packet from the disk that is closest to current position of a read element of the device.
Abstract:
Techniques for performing finite memory network coding in an arbitrary network limit an amount of memory that is provided within a node of the network for the performance of network coding operations during data relay operations. When a new data packet is received by a node, the data stored within the limited amount of memory may be updated by linearly combining the new packet with the stored data. In some implementations, different storage buffers may be provided within a node for the performance of network coding operations and decoding operations.
Abstract:
A way to design a codebook for estimating the type of a molecule at a particular location in a fluorescence microscopy image makes use of one or both of (1) knowledge of the non-uniform prior distribution of molecule types (i.e., some types are known a priori to occur more frequently than others) and/or knowledge of co-occurrence of molecule types at close locations (e.g., in a same cell); and (2) knowledge of a model of the (e.g., random) process that yields the intensities that are expected at a location when a molecule with a particular subset of markers (i.e., a molecule of a type that has been assigned a codeword that defines that subset) is present at that location. The codebook design may provide experimental efficiency by reducing the number of images that need to be acquired and/or improve classification or detection accuracy by making the codewords for different molecule types more distinctive.