A method and system are provided for transferring data from a host computer to one or more subscriber computers, the data consisting of k original packets. The method includes the steps of encoding the k original packets to form n encoded packets, where n>k, transmitting the encoded packets from the host computer to the subscriber computers, receiving some of the transmitted packets, and decoding any combination of k correctly-received encoded packets to reconstruct the k original packets.
|
3. A method for transferring data from a host computer to at least one subscriber computer, the data comprising a plurality of k original packets, where k is a positive integer, said method comprising the steps of:
dividing the original k packets into a plurality of groups of 1 packets; separately encoding each group of 1 packets to form a plurality of n' encoded packets for each group, where n'>1; transmitting the encoded packets of all the groups in an interleaved fashion from the host computer to the at least one subscriber computer; receiving at least some of the transmitted packets within each group in a deinterleaved fashion; separately decoding each group by using any combination of 1 correctly-received packets of the group to reconstruct the 1 original packets of each group, so as to form a plurality of decoded groups; and reconstructing the data from the plurality of decoded groups.
1. A method for transferring data from a host computer to at least one subscriber computer, the data comprising a plurality of k original packets, where k is a positive integer, said method comprising the steps of:
encoding the k original packets to form a plurality of n encoded packets, where n>k; transmitting the encoded packets from the host computer to the at least one subscriber computer; and decoding any combination of k correctly-received encoded packets to reconstruct the k original packets, wherein the original packets are encoded with a k×n code generator matrix and the left k×k submatrix of the k×n code generator matrix is the identity matrix, so that the first k encoded packets are the original k packets, and thus if the first k encoded packets are received correctly, the decoding step is not performed, and wherein n is recomputed for each transmission based on an estimate of the percentage of packets expected to be lost during that transmission.
15. A system for transferring data from a host computer to at least one subscriber computer, the data comprising a plurality of k original packets, where k is a positive integer, said system comprising:
dividing means for dividing the original k packets into a plurality of groups of 1 packets; an encoder for separately encoding each group of 1 packets to form a plurality of n' encoded packets for each group, where n'>1; a transmitter for transmitting the encoded packets of all the groups in an interleaved fashion from the host computer to the at least one subscriber computer; a receiver for receiving at least some of the transmitted packets within each group in a deinterleaved fashion; a decoder for separately decoding each group by using any combination of 1 correctly-received packets of the group to reconstruct the 1 original packets of each group, so as to form a plurality of decoded groups; and reconstructing means for reconstructing the data from the plurality of decoded groups.
18. A storage medium storing a computer readable program executable by a host computer to perform a method for transferring data from a host computer to at least one subscriber computer, the data comprising a plurality of k original packets, where k is a positive integer, said method comprising the steps of:
dividing the original k packets into a plurality of groups of 1 packets; separately encoding each group of 1 packets to form a plurality of n' encoded packets for each group, where n'>1; transmitting the encoded packets of all the groups in an interleaved fashion from the host computer to the at least one subscriber computer; receiving at least some of the transmitted packets within each group in a deinterleaved fashion; separately decoding each group by using any combination of 1 correctly-received packets of the group to reconstruct the 1 original packets of each group, so as to form a plurality of decoded groups; and reconstructing the data from the plurality of decoded groups.
2. A method for transferring data from a host computer to at least one subscriber computer, the data comprising a plurality of k original packets, where k is a positive integer, said method comprising the steps of:
dividing the original k packets into a plurality of groups of 1 packets; separately encoding each group of 1 packets to form a plurality of n' encoded packets for each group, where n'>1, and wherein n' is recomputed for each transmission based on an estimate of the percentage of packets expected to be lost during that transmission; separately transmitting each group of encoded packets from the host computer to the at least one subscriber computer; receiving, for each transmitted group, at least some of the transmitted packets; separately decoding any combination of 1 correctly-received encoded packets for each group to reconstruct the 1 original packets of each group so as to form a plurality of decoded groups; reconstructing the file from the plurality of decoded groups.
16. A storage medium storing a computer readable program executable by a host computer to perform a method for transferring data from a host computer to at least one subscriber computer, the data comprising a plurality of k original packets, where k is a positive integer, said method comprising the steps of:
encoding the k original packets to form a plurality of n encoded packets, where n>k; transmitting the encoded packets from the host computer to the at least one subscriber computer; and decoding any combination of k correctly-received encoded packets to reconstruct the k original packets, wherein the original packets are encoded with a k×n code generator matrix and the left k×k submatrix of the k×n code generator matrix is the identity matrix, so that the first k encoded packets are the original k packets, and thus if the first k encoded packets are received correctly, the decoding step is not performed, and wherein n is recomputed for each transmission based on an estimate of the percentage of packets expected to be lost during that transmission.
8. A system for transferring data from a host computer to at least one subscriber computer, the data comprising a plurality of k original packets, where k is a positive integer, said system comprising:
an encoder for encoding the k original packets to form a plurality of n encoded packets, where n>k; a transmitter for transmitting the encoded packets from the host computer to the at least one subscriber computer; a receiver for receiving at least some of the transmitted packets; and a decoder for decoding any combination of k correctly-received encoded packets to reconstruct the data, wherein the original packets are encoded with a k×n code generator matrix and the left k×k submatrix of the k×n code generator matrix is the identity matrix, so that the first k encoded packets are the original k packets, and thus if the first k encoded packets are received correctly by the receiver, no decoding is performed by the decoder, and wherein n is recomputed for each transmission based on an estimate of the percentage of packets expected to be lost during that transmission.
14. A system for transferring data from a host computer to at least one subscriber computer, the data comprising a plurality of k original packets, where k is a positive integer, said system comprising:
dividing means for dividing the original k packets into a plurality of groups of 1 packets; an encoder for separately encoding each group of 1 packets to form a plurality of n' encoded packets for each group, where n'>1, and wherein n' is recomputed for each transmission based on an estimate of the percentage of packets expected to be lost during that transmission; a transmitter for separately transmitting each group of encoded packets from the host computer to the at least one subscriber computer; a receiver for receiving, for each transmitted group, at least some of the transmitted packets; a decoder for separately decoding any combination of 1 correctly-received encoded packets for each group to reconstruct the 1 original packets of each group so as to form a plurality of decoded groups; and reconstructing means for reconstructing the file from the plurality of decoded groups.
17. A storage medium storing a computer readable program executable by a host computer to perform a method for transferring data from a host computer to at least one subscriber computer, the data comprising a plurality of k original packets, where k is a positive integer, said method comprising the steps of:
dividing the original k packets into a plurality of groups of 1 packets; separately encoding each group of 1 packets to form a plurality of n' encoded packets for each group, where n'>1, and wherein n' is recomputed for each transmission based on an estimate of the percentage of packets expected to be lost during that transmission; separately transmitting each group of encoded packets from the host computer to the at least one subscriber computer; receiving, for each transmitted group, at least some of the transmitted packets; separately decoding any combination of 1 correctly-received encoded packets for each group to reconstruct the 1 original packets of each group so as to form a plurality of decoded groups; and reconstructing the file from the plurality of decoded groups.
20. A system for transferring data from a host computer to at least one subscriber computer, comprising:
an encoder for (1) dividing the data into k original packets x, each original packet comprising j symbols from a finite field f, (2) forming j message vectors x each of length k, the ath message vector being formed by taking the ath symbol from each of the k original packets x in sequence, (3) matrix multiplying each of the j message vectors x by a code generator matrix g on the right to form j codeword vectors y each of length n, the code generator matrix g being a k row×n column matrix defined over the finite field f, where n>k and any k columns out of the n columns are linearly independent and (4) forming n encoded packets y, each encoded packet comprising j symbols, from the j codeword vectors y, the bth coded packet being formed by taking the bth symbol from each of the j codeword vectors y in sequence, a transmitter for transmitting the encoded packets y from the host computer to the at least one subscriber computer; a receiver for receiving y' packets of the encoded packets y by the at least one subscriber computer; and a decoder for (1) determining which and how many of the received packets y'-- have no error, (2) if the number of received packets having no error is greater than or equal to k, forming a matrix A of k rows and k columns that comprises the columns from the code generator matrix g that correspond to k packets received without error, (3) inverting the matrix A to form an inverted matrix A-1, forming j vectors z from the k packets received without error, the cth vector z being formed by taking the cth symbol from each of the k packets y in sequence, (4) matrix multiplying each of the j vectors z by the inverted matrix A-1 on the right to form the j message vectors x, (5) reconstructing the k original packets x from the j message vectors x, the dth original packet being formed by taking the dth symbol from each of the j message vectors x in sequence, and (6) reconstructing the original data of step (1) from the k original packets x.
5. A method for transferring data from a host computer to at least one subscriber computer, said method comprising the steps of:
(1) dividing the data into k original packets x, each original packet comprising j symbols from a finite field f; (2) forming j message vectors x each of length k, the ath message vector being formed by taking the ath symbol from each of the k original packets x in sequence; (3) matrix multiplying each of the j message vectors x by a code generator matrix g on the right to form j codeword vectors y each of length n, the code generator matrix g being a k row×n column matrix defined over the finite field f, where n>k and any k columns out of the n columns are linearly independent; (4) forming n encoded packets y, each encoded packet comprising j symbols, from the j codeword vectors y, the bth coded packet being formed by taking the bth symbol from each of the j codeword vectors y in sequence; (5) transmitting the encoded packets y from the host computer to the at least one subscriber computer; (6) receiving y' packets of the encoded packets y by the at least one subscriber computer; (7) determining which and how many of the received packets y' have no error; (8) if the number of received packets having no error is greater than or equal to k, forming a matrix A of k rows and k columns that comprises the columns from the code generator matrix g that correspond to k packets received without error; (9) inverting the matrix A to form an inverted matrix A-1 ; (10) forming j vectors z from the k packets received without error used in step (8), the cth vector z being formed by taking the cth symbol from each of the k packets y in sequence; (11) matrix multiplying each of the j vectors z by the inverted matrix A-1 on the right to form the j message vectors x of step (2); (12) reconstructing the k original packets x from the j message vectors x of step (11), the dth original packet being formed by taking the dth symbol from each of the j message vectors x in sequence; and (13) reconstructing the original data of step (1) from the k original packets x of step (12).
19. A storage medium storing a computer readable program executable by a host computer to perform a method for transferring data from a host computer to at least one subscriber computer, said method comprising the steps of:
(1) dividing the data into k original packets x, each original packet comprising j symbols from a finite field f; (2) forming j message vectors x each of length k, the ath message vector being formed by taking the ath symbol from each of the k original packets x in sequence; (3) matrix multiplying each of the j message vectors x by a code generator matrix g on the right to form j codeword vectors y each of length n, the code generator matrix g being a k row×n column matrix defined over the finite field f, where n>k and any k columns out of the n columns are linearly independent; (4) forming n encoded packets y, each encoded packet comprising j symbols, from the j codeword vectors y, the bth coded packet being formed by taking the bth symbol from each of the j codeword vectors y in sequence; (5) transmitting the encoded packets y from the host computer to the at least one subscriber computer; (6) receiving y' packets of the encoded packets y by the at least one subscriber computer; (7) determining which and how many of the received packets y'-- have no error; (8) if the number of received packets having no error is greater than or equal to k, forming a matrix A of k rows and k columns that comprises the columns from the code generator matrix g that correspond to k packets received without error; (9) inverting the matrix A to form an inverted matrix A-1 ; (10) forming j vectors z from the k packets received without error used in step (8), the cth vector z being formed by taking the cth symbol from each of the k packets y in sequence; (11) matrix multiplying each of the j vectors z by the inverted matrix A-1 on the right to form the j message vectors x of step (2); (12) reconstructing the k original packets x from the j message vectors x of step (11), the dth original packet being formed by taking the dth symbol from each of the j message vectors x in sequence; and (13) reconstructing the original data of step (1) from the k original packets x of step (12).
21. A method for transferring data from a host computer to at least one subscriber computer, said method comprising the steps of:
(1) dividing the data into k original packets x, each original packet comprising j symbols from a finite field f; (2) forming j message vectors x each of length k, the ath message vector being formed by taking the ath symbol from each of the k original packets x in sequence; (3) matrix multiplying each of the j message vectors x by a code generator matrix g on the right to form j codeword vectors y each of length n, the code generator matrix g being a k row×n column matrix defined over the finite field f, where n>k and any k columns out of the n columns are linearly independent; (4) forming n encoded packets y, each encoded packet comprising j symbols, from the j codeword vectors y, the bth coded packet being formed by taking the bth symbol from each of the j codeword vectors y in sequence; (5) performing bit-level error detection and correction (EDAC) encoding on the symbols within the coded packets y; (6) transmitting the encoded packets y from the host computer to the at least one subscriber computer; (7) receiving y' packets by the at least one subscriber computer; (8) performing bit-level EDAC decoding on the symbols within the received packets y'; (9) determining which and how many of the bit-level decoded packets y' have no error; (10) if the number of bit-level decoded packets having no error is greater than or equal to k, forming a matrix A of k rows and k columns that comprises the columns from the code generator matrix g that correspond to k bit-level decoded packets having no error; (11) inverting the matrix A to form an inverted matrix A-1 ; (12) forming j vectors z from the k packets having no error used in step (10), the cth vector z being formed by taking the cth symbol from each of the k packets y in sequence; (13) matrix multiplying each of the j vectors z by the inverted matrix A-1 on the right to form the j message vectors x of step (2); (14) reconstructing the k original packets x from the j message vectors x of step (13), the dth original packet being formed by taking the dth symbol from each of the j message vectors x in sequence; and (15) reconstructing the original data of step (1) from the k original packets x of step (14).
23. A system for transferring data from a host computer to at least one subscriber computer, comprising:
a packet encoder for (1) dividing the data into k original packets x, each original packet comprising j symbols from a finite field f, (2) forming j message vectors x each of length k, the ath message vector being formed by taking the ath symbol from each of the k original packets x in sequence, (3) matrix multiplying each of the j message vectors x by a code generator matrix g on the right to form j codeword vectors y each of length n, the code generator matrix g being a k row×n column matrix defined over the finite field f, where n>k and any k columns out of the n columns are linearly independent, (4) forming n encoded packets y, each encoded packet comprising j symbols, from the j codeword vectors y, the bth coded packet being formed by taking the bth symbol from each of the j codeword vectors y in sequence; a bit-level encoder for performing bit-level error detection and correction (EDAC) encoding on the symbols within the coded packets y; a transmitter for transmitting the encoded packets y from the host computer to the at least one subscriber computer; a receiver for receiving y' packets by the at least one subscriber computer; a bit-level decoder for performing bit-level EDAC decoding on the symbols within the received packets y'; and a packet decoder for (1) determining which and how many of the bit-level decoded packets y' have no error, (2) if the number of bit-level decoded packets having no error is greater than or equal to k, forming a matrix A of k rows and k columns that comprises the columns from the code generator matrix g that correspond to k bit-level decoded packets having no error, (3) inverting the matrix A to form an inverted matrix A-1, (4) forming j vectors z from the k packets having no error, the cth vector z being formed by taking the cth symbol from each of the k packets y in sequence, (5) matrix multiplying each of the j vectors z by the inverted matrix A-1 on the right to form the j message vectors x, (6) reconstructing the k original packets x from the j message vectors x, the dth original packet being formed by taking the dth symbol from each of the j message vectors x in sequence, and (7) reconstructing the original data of step (1) from the k original packets x.
22. A storage medium storing a computer readable program executable by a host computer to perform a method for transferring data from a host computer to at least one subscriber computer, said method comprising the steps of:
(1) dividing the data into k original packets x, each original packet comprising j symbols from a finite field f; (2) forming j message vectors x each of length k, the ath message vector being formed by taking the ath symbol from each of the k original packets x in sequence; (3) matrix multiplying each of the j message vectors x by a code generator matrix g on the right to form j codeword vectors y each of length n, the code generator matrix g being a k row×n column matrix defined over the finite field f, where n>k and any k columns out of the n columns are linearly independent; (4) forming n encoded packets y, each encoded packet comprising j symbols, from the j codeword vectors y, the bth coded packet being formed by taking the bth symbol from each of the j codeword vectors y in sequence; (5) performing bit-level error detection and correction (EDAC) encoding on the symbols within the coded packets y; (6) transmitting the encoded packets y from the host computer to the at least one subscriber computer; (7) receiving y' packets by the at least one subscriber computer; (8) performing bit-level EDAC decoding on the symbols within the received packets y'; (9) determining which and how many of the bit-level decoded packets y' have no error; (10) if the number of bit-level decoded packets having no error is greater than or equal to k, forming a matrix A of k rows and k columns that comprises the columns from the code generator matrix g that correspond to k bit-level decoded packets having no error; (11) inverting the matrix A to form an inverted matrix A-1 ; (12) forming j vectors z from the k packets having no error used in step (10), the cth vector z being formed by taking the cth symbol from each of the k packets y in sequence; (13) matrix multiplying each of the j vectors z by the inverted matrix A-1 on the right to form the j message vectors x of step (2); (14) reconstructing the k original packets x from the j message vectors x of step (13), the dth original packet being formed by taking the dth symbol from each of the j message vectors x in sequence; and (15) reconstructing the original data of step (1) from the k original packets x of step (14).
4. A method according to
6. A method according to
7. A method according to
9. A system according to
11. A system according to
12. A system according to
|
This application claims the benefit of U.S. Provisional Application No. 60/010,111, filed Jan. 17, 1996.
1. Field of the Invention
The present invention relates to a method and system for reliable transfer of data. In particular, the present invention provides a method and system of error correction coding to ensure that large, multimedia data files, including digitized music, still images or moving images, such as may be transmitted using one-way satellite broadcasting, are received error-free despite the effects of various types of noise interfering with the transmitted signal.
2. Description of Related Art
Today, the availability of powerful digital computational tools has yielded the ability to present information and data in forms that go far beyond text and numbers. There now exists the capability to create and share data in more complex multimedia forms, using graphics, audio, still images, moving images (video), and combinations thereof. However, digital multimedia data generally is far larger in size than text data. For example, whereas a conventional text file usually occupies less than 50 Kilobytes (Kbyte), just one minute of compressed video requires up to 10 Megabytes (Mbyte), almost 200 times larger in size.
The presentation of information in multimedia form therefore creates two problems--storage and communication. Storage has improved dramatically over the past few years. For example, personal computers (PCs) can now store inexpensively many Gigabytes (Gbyte) of data, and the cost-per-Gbyte is becoming less expensive every day.
Communications, however, remain a problem. Historically, the oldest method of distributing large amounts of information has been printed material, usually in the form of magazines and books. However, this method is relatively expensive, takes days to complete, is limited to presenting data in text, pictorial or graphic form, and is difficult to update or change. Distribution of information via audio cassette or video cassette, while less costly and allowing information to be presented in audio and video form, is still relatively slow in that shipment of the physical item containing the information must take place, and the cassette itself still makes it relatively difficult to update and change the information.
More practical than printed material and cassettes, graphics, music and other information may be digitized into computer data files, referred to as "large digital objects," which in turn may be transferred from a host computer to a potentially large number of subscriber computers. One common way of transferring data files is via a public or private computer network, in which the data files are transmitted by the host computer and received by the subscriber computers over phone lines via a modem. Although distribution via modems may work well for multi-Kbyte files, transmitting multi-Mbyte data files is impractical even when using the fastest modems, because the transmission speed of modems is constrained by the relatively low bandwidth of the telephone lines. For example, reliably retrieving just one large data object using the Internet, or other public or private networks, even when using ISDN lines, may take many minutes to many hours, and is relatively expensive.
To avoid overloading expensive private networks, many companies distribute large text files and other large digital objects using CD-ROM disks, each of which can hold, for example, up to 660 Mbytes of data. While the cost of distribution is moderate in comparison to using a network, the distribution of CD-ROM disks suffers from one major drawback shared by the oldest methods of information distribution--it can take one or more days, in comparison to the theoretically near-instantaneous communication potential that digital information should enjoy. Further, to update this CD-ROM based information, new CD-ROMS must be provided, usually from every three months to a year.
To overcome the problems associated with the above methods of distribution, distributors of large digital objects are turning to satellite broadcasting. Satellite broadcasting provides not only distribution over large geographical areas, for example, the entire United States and Canada, but potentially has the high bandwidth capacity required to transmit large digital objects at high speeds, thus reducing the transmission time to seconds. Moreover, the cost of satellite broadcasting, on a per-user basis, is comparatively less than the respective costs of the above methods. A one-way broadcast satellite system, shown in FIG. 1, transfers data from the host computer 1 to a satellite transmitter device 2. The satellite transmitter device 2 in turn transmits, through an uplink antenna 4, the data to a satellite 5 using modulation techniques well-known in the art. The satellite 5 retransmits the data to one or more downlink antennas 6 and satellite receiver devices 7. The satellite receiver device 7 transfers the data to the subscriber computer 8.
In such a system, it is essential in most applications that the transferred data files are reliably received in perfect condition at all the subscriber computers. For example, the transferred data file from the host may contain sensitive financial information in which no errors are acceptable. One notable drawback of one-way satellite broadcast systems, however, as compared to other standard methods of information distribution such as the above-described computer networks, is the inability of the subscriber computers to inform the host that a reception error has occurred.
Another drawback of satellite broadcasting is a greater vulnerability of the transmitted signal to various forms of noise interference present in the transmission channel.
One form of noise that is always present in the channel is "white" noise. For example, white noise is introduced in the satellite channel by the thermal radiation of the gaseous constituents of the earth's surface. The strength and frequency of this noise varies, and it sometimes overpowers the transmitted signal causing it to be received erroneously. Because of white noise, a transmitted binary "zero" bit is occasionally received erroneously as a binary "one" bit, and vice-versa. Such errors are known as bit errors. White noise generally tends to cause isolated bit errors in a transmitted message. Although these bit errors are usually spread out throughout the message, they can be easily detected and corrected, because they are isolated.
In contrast with white noise, "impulse" noise tends to wipe out long sequences of consecutive bits. Such errors are known as "burst" errors. Their duration varies from a few milliseconds to a few seconds, but certain phenomena, such as rainstorms or sunspots, can cause burst errors of even longer duration such as a few minutes. Unlike bit errors due to white noise, burst errors are not distributed over the entire message, but only a portion thereof. However, burst errors are more difficult to detect and correct, because they wipe out so many consecutive bits of data.
Well-known error detection and correction (EDAC) schemes are used to reduce the effects of errors caused by white noise. EDAC generally operates at the bit level by adding enough redundant data bits to the data to detect and correct the received data. In practice, EDAC can only detect and correct a limited amount of bit errors. The redundant data added to the original data, however, obviously increases the amount of data to be transmitted and thus the transmission bandwidth and transmission time. Well-known EDAC schemes include Hamming, Viterbi, Reed-Solomon, and other forward error correction (FEC) coding schemes.
Interleaving may also be performed at the bit level. Interleaving rearranges the data bits so that they are non-sequentially transmitted. The subscriber computer deinterleaves the received bits to reorder the bits as they originally appeared. This technique reduces the effect of errors in a sequence of bits. Although interleaving does not in itself correct those bit errors, by non-sequentially reordering the data bits in a block of data that is to be transmitted by the host computer, the bit errors are more uniformly distributed over the received block of data upon deinterleaving by the subscriber computer. By isolating the bit errors, interleaving enhances bit-level EDAC coding performance. Both EDAC and interleaving can also be performed on data symbols representing groups of bits, such as bytes.
In satellite broadcast systems, the transmitted data bits or symbols are most likely to be organized into large groups called packets, and a large digital object is transmitted as a sequence of packets. The addressed subscriber computers reconstruct the large digital object from the received packets. The above-described noise bursts, especially those due to rainstorms and sunspots, can typically damage one or more long sequences of consecutive packets, the effect of which is shown in FIG. 2. Those packets are either not received by one or more of the subscriber computers or are received severely corrupted. Although bit-level EDAC schemes might be able to correct some of the corrupted packets, depending on the number of erroneous bits in those corrupted packets, these schemes are simply not robust enough to correct the great majority of those corrupted packets. This is because, in extended periods of burst noise, a large amount of both the original data bits and redundant EDAC bits in a packet are received corrupted, thus making bit-level error correction, and thus packet-level error-correction, impossible. Moreover, EDAC schemes are useless in the case of those packets not received.
One known method for reducing the effect of burst errors in satellite broadcast systems is retransmission of those packets that were not received or were received corrupted and could not be corrected (hereinafter those packets are simply referred to as "lost"). For example, a host computer may broadcast via satellite to two geographically widely-separated subscriber computers A and B. Due to this wide separation, subscriber computer A and subscriber computer B may experience different weather conditions, and thus different patterns of noise. For example, subscriber computer A may lose 20% of the transmitted packets, while subscriber computer B may successfully receive all the transmitted packets.
Although it is possible to rebroadcast the entire file to all the subscriber computers, this method is costly, wastes time and bandwidth, and prevents the satellite channel from being used for other purposes. In the above example, subscriber computer A would identify the lost packets (by examining the serial numbers of the correctly received packets) and would ask the host computer to retransmit the packets it missed until the entire large digital object could be reconstructed perfectly by subscriber computer A. The request for missed packet retransmission is made through a back channel, and the host computer rebroadcasts those missed packets via satellite. Alternatively, the host computer retransmits those missed packets only to subscriber computer A through the back channel.
Retransmission of lost packets requires, however, (1) two-way communication back channels from all of the subscriber computers to the host computer so each subscriber computer can inform the host computer of which packets were lost, and (2) a retransmission protocol between the host computer and the subscriber computers. Each back channel usually takes the form of a modem and telephone lines, or is part of a standard computer network. The back channel therefore has a limited bandwidth and can timely transmit only a limited amount of information. Back channels are also expensive. Further, retransmission increases the time required to distribute the large digital object, and prevents the host computer and subscriber computers from doing other tasks.
Thus, none of the current error correction schemes or data retransmission techniques provides a reliable and efficient method of transferring large digital objects over a one-way broadcast satellite system.
The present invention provides a reliable and efficient method and system for transferring long sequences of data packets, such as those comprising a large digital object over a one-way broadcast satellite system to overcome the effects of burst errors which conventional EDAC methods fail to correct altogether and retransmission fails to correct efficiently. It accomplishes this by transforming the original packet sequence into an encoded packet sequence, so that if any combination of encoded packets, equal in number to the number of original packets, is successfully received, the original packet sequence can be recovered. By accurately estimating the number of packets expected to be lost because of noise, only the minimum number of encoded packets need be generated and broadcast, thus providing an efficient, bandwidth-minimizing transfer method and system for packet sequences such as files. Moreover, since each subscriber computer can independently reconstruct the original packets error-free, the present invention eliminates the need for retransmission, saving both money and time and making more efficient use of the satellite channel and the back channels, if present.
In accordance with one aspect of the invention, a method and a system are provided for transferring data from a host computer to one or more subscriber computers, the data consisting of a plurality of k original packets, where k is a positive integer. The method includes the steps of encoding the k original packets to form n encoded packets, where n>k, transmitting the encoded packets from the host computer to the subscriber computers, receiving some of the transmitted packets, and decoding any combination of k correctly-received encoded packets to reconstruct the original k packets.
The various aspects of the present invention can be best understood by reference to the detailed description of the preferred embodiments set forth below taken with the drawings, in which:
FIG. 1 depicts a block diagram of conventional one-way broadcast satellite system.
FIG. 2 depicts a still image showing the effect of burst noise on transmission of that image.
FIGS. 3A and 3B respectively depict flowcharts for the transmitting side and the receiving side of the first embodiment of the present invention.
FIG. 4 depicts a Vandermonde matrix used in the first embodiment of the present invention.
FIG. 5 depicts a code generator matrix used in the second embodiment of the present invention.
FIGS. 6A-6D respectively depict a Vandermonde matrix V, a code generator matrix G, a matrix A and an inverted matrix A-1, used in an example of the second embodiment of the present invention.
FIG. 7 depicts a flowchart of the third embodiment of the present invention.
FIGS. 8A-8D depict an example of the third and fourth embodiments of the present invention.
FIG. 9 depicts a file transfer system according to the fifth embodiment of the present invention.
FIGS. 10A-10N depict UU-encoded object code representative of the encoding and decoding methods of the present invention.
FIG. 11 depicts the still image, corresponding to that shown in FIG. 2, error-corrected by the fifth embodiment of the present invention.
FIG. 12 depicts transmitting side information for the still image shown in FIG. 11, to be transmitted by the fifth embodiment of the present invention.
FIG. 13 depicts receiving side information for the still image shown in FIG. 11, received by the fifth embodiment of the present invention.
In the first embodiment of the present invention, a file error-correcting coding method encodes a data file of original packets yielding a new file of encoded packets. The host computer then transmits the encoded file through a satellite transmitter device and antenna to a satellite using packet-based broadcast techniques. One or more downlink antennas and satellite receiver devices receive the transmitted packets and transfer the same to the respective subscriber computers. The file can be reconstructed without any errors by using the file error-correcting decoding method of the present invention, despite packet loss caused by the noisy transmission channel, as long as the number of encoded packets correctly received is greater than or equal to the number of original packets. If this is the case, the subscriber computer can reconstruct the file from any combination of the correctly-received encoded packets.
The file error-correcting coding method of the first embodiment is shown in the flowcharts of FIGS. 3A and 3B. In step S1, the file X is divided into k packets, X1, X2, X3, . . . , Xk, where each packet Xi is a fixed-length sequence of j symbols (a symbol being a sequence of one or more bits, typically a byte) defined over a finite field F (boldface type denotes a vector or matrix quantity, or a field, and non-boldface type denotes a scalar quantity).
Two examples of field F are ZP, the set of integers modulo a prime number P, and GF[qr ], a Galois field of size qr, where q is a prime number and r is an integer. In field ZP, all the addition and multiplication between field elements is done modulo-P. In the field GF[qr ], field elements are interpreted as polynomials and addition and multiplication are performed as polynomial addition and multiplication modulo a primitive polynomial of degree equal to r.
For example, symbol xij of packet Xi can be any one of the elements of the Galois field GF[28 ] (an integer in the range of 0-255, or as implemented on a computer, a byte). All operations involved in the matrix multiplications in the steps below are element additions and multiplications defined over the field F as stated in the above paragraph, and are thus not regular integer additions and multiplications. Returning to the example, the addition of two bytes "a" and "b" of the Galois field GF[28 ] is the exclusive-OR of each bit of byte "a" with the corresponding bit of byte "b". The result of this addition is another byte "c" of the Galois field GF[28 ].
In step S2 (steps S2a-S2c), X is encoded into the codefile Y that is transmitted by the host computer to the subscriber computers, as follows. In substep S2a, the first symbols, xij, from each of the packets Xi, i=1, 2, . . . , k, are used to form a message vector x1 of length k. Thus, x1 =(x11, x21, x31, . . . , xk1).
In step 2b, message vector x1 is encoded to form the codeword vector y1 =(y11, y21, y31, . . . , yn1) of length n, where each symbol in the codeword vector is an element of field F. Also, n is the total number of transmitted packets, is greater than k, the number of original packets, and is determined beforehand, as follows.
If p is the percentage of packets that will be lost during transmission due to noise, then p times n is the total number of packets that will be lost. To guarantee perfect file delivery, the number of correctly received encoded packets, n-p*n, must be greater than or equal to the number of original packets, k, or solving for n:
n>=ceil[k/(1-p)] (1),
where ceil[q] is the ceiling function that rounds up a real number q to the next highest integer.
Thus, if p can be accurately estimated based on familiarity of the channel by the operator of the host computer, n can be calculated from equation (1) to ensure perfect message delivery. Of course, if p is underestimated by the operator, then the number of packets received correctly will be less than k and the original file X cannot be recovered. Notably, by allowing p to be adjusted on a transmission-by-transmission basis, each transmitted file can be made to contain the minimum number of packets necessary to ensure the file's perfect reconstruction by the receiver. This allows the operator to minimize the bandwidth consumed by the system on a transmission-by-transmission basis. For example, if p is 5% and k=100, then the smallest possible value for n is 106. Thus the number of encoded packets is only six more than the number or original packets.
To form message vector x1 into the codeword vector y1, message vector x1 is matrix multiplied on the right by a code generator matrix G as follows:
y1 =x1 G(2).
G is defined as a k (row)×n (column) matrix, where n>k, and the elements of G are also defined over field F. G defines a linear block code and is thus called the code generator matrix of that code. In the present invention, G must have the property that any k out of its n columns are linearly independent. One such matrix G is the Vandermonde matrix, shown in FIG. 4. For any pair of integers k and n, where n>k, a Vandermonde matrix can be generated from n distinct elements of field F, g1, g2, g3, . . . , gn (n must be less than the number of elements in field F). The rows of the Vandermonde matrix are simply the powers of g1, g2, g3, . . . , gn from 0 to k-1. One way to generate n distinct elements of F, that is, g1, g2, g3, . . . , gn, is by starting from a primitive element b of F and taking successive powers of b, that is b0, b1, b2, b3 , . . . These powers of b eventually cover all of the non-zero elements of F before they start repeating.
In step S2c, yi1 becomes the first symbol of each respective packet Yi, i=1, 2, . . . , n. Steps S2a-S2c are looped through for all the j symbols of packets Xi. For example, the second symbol, xi2, of each of the packets Xi, i=1, 2, . . . , k, is used to form a message vector x2 of length k, which is encoded into codeword vector y2 =(y12, y22, . . . , yn2) by using equation (2). Symbols yi2 of codeword vector y2 are then used to form the second symbol of each packet Yi, i=1, 2, . . . , n, and so on. Of course, these operations need not be carried out in this fashion--for example, all message vectors may be assembled first, and all codeword vectors are then sequentially computed by equation (2).
As an extra level of protection against white noise, the individual symbols y, within the packets Y of code file Y are encoded at the bit level using standard EDAC encoding schemes, such as a Reed-Solomon code, in step S3 of the present invention. Bit-level encoding can be done by the host computer, by the satellite transmitter device or by the satellite uplink. Independent of error correction, data compression and encryption methods may also be applied to the data prior to transmission.
In step S4, the codefile Y is transmitted to the subscriber computers using packet-based broadcast protocols. Codefile Y has n-k additional packets than the original file X and thus requires more bandwidth than the original file.
In step S5, any one of the subscriber computers receives a sequence of packets Y'i, i=1, 2, . . . , n, which are the packets of codefile Y corrupted by the noise channel. In step S6, EDAC decoding is performed by the satellite receiver device or the subscriber computer to detect and correct, if possible, bit-level errors within the Y' packets. Because the transmission channel may also cause burst errors, one or more of the transmitted packets may be lost or may be received with so many bit errors that the EDAC decoding cannot correct them. In either case, in steps S6 and S7, those packets Y'i which are EDAC uncorrectable (step S6) or lost (step S7) are marked with the special symbol Δ indicating they are lost. Because the transmitted packets are sequentially numbered, for example, with serial numbers, the subscriber computer can easily detect which packets were correctly received and which packets were lost. Thus Y'i =Yi, if the packet is received correctly, or Y'i =Δ, if the packet is lost.
If the number of Y' packets correctly received are greater than or equal to the number of original packets, then the original file X can be recovered in steps S8a, S8b, S9a and S9b. In step S8a, a k×k matrix A is constructed by removing from the code generator matrix G all columns corresponding to the positions of the Δ packets in Y', and by removing any additional columns (corresponding to positions of correctly received packets) so as to form a k×k square matrix. For example, if k=7 and n=10, and if the third and fifth packets were lost, then the third and fifth columns must be removed, and one more good column, such as the tenth column, from matrix G to form matrix A. Note that the choice of the tenth column is arbitrary, since any one of the columns corresponding to the position of a correctly received packet could have been removed instead. Note also that eight packets were correctly received, which is greater than the number of original packets (7).
In step S8b, matrix A is inverted to A-1. Because any k columns of G are linearly independent, A always has full rank, that is, A is non-singular, and thus can be inverted to matrix A-1. Note that the matrix formation step S8a and matrix inversion step S8b need only be computed once for a given file transfer, since A-1 can be used repeatedly in step S9b below for computation of all of the message vectors required to reconstruct the original packets of the file.
In step S9a, the first k symbols y'i1, from the correctly received packets Y'i used to form A, are used to form a vector z1 of length k. In the example above, z1 will equal (y'11, y'21, y'41, y'61, y'71, y'81, y'91). In step S9b, the message vector x1 of length k is recovered from z1 as follows:
x1 =z1 A-1 (3).
Xi1 is the recovered first symbol from the original packet Xi, for all i=1, 2, . . . k. Steps S9a and S9b are looped through until all j symbols forming the original packets X have been recovered. For example, z2 is formed next, then x2 is computed by using equation (3), then z3 and x3, etc., and finally zj and xj, thus recovering all of the symbols of original file X. The order of formation of the vectors z may be changed. For example, all vectors z1, z2, . . . , zj may be formed first, then all message vectors x1, x2, . . . , xj are computed. In step S10, the data file is reassembled from recovered packets X.
Thus, the data file can be distributed error-free by the host computer to the subscriber computers as long as the number of packets correctly received is greater than or equal to the number of original packets.
In one particular implementation of the first embodiment of the present invention, the order in which vector-matrix operations are performed during encoding and decoding is changed to improve the overall efficiency of the error correcting method.
Suppose that G is the chosen generator matrix, and gij is the element of G in the intersection of row i and column j, where i=1, 2, . . . , k and j=1, 2, . . . , n.
The encoded packets Yi, i=1, 2, . . . , n are formed in k iterations. During the jth iteration, a set of n contribution packets Cji, i=1, 2, . . . , n, is computed from the jth original packet. Those contribution packets have the property that the ith encoded packet Yi is equal to the sum of the k contribution packets Cji, j =1, 2, . . . , k. More specifically, the element of position t of encoded packet Yi is equal to the sum of all the elements in the t positions of the contribution packets Cji, j=1, 2, . . . ,k:
Yi =Σkj=1 Cji.
The contribution packets Cij are computed as follows. In the first iteration, the first original packet is multiplied by g11 to form the first contribution packet C11 of the first iteration. More specifically, the element in the position t of the first contribution packet C11 of the first iteration is equal to the element in the t position of the first original packet multiplied by g11. Similarly, the first original packet is multiplied by the element g12 to form the second contribution packet C12 of the first iteration. In general, the first original packet is multiplied by g1m to form the mth contribution packet C1m of the first iteration, m=1, 2, . . . , n. In general, in the jth iteration, the jth original packet is multiplied by gj1 to form the first contribution packet Cj1 of the jth iteration. More specifically, the element in the t position of the first contribution packet Cj1 of the jth iteration is equal to the element in the t position of the jth original packet multiplied by gj1. Similarly, the jth original packet is multiplied by the element gj2 to form the second contribution packet Cj2 of the jth iteration. In general, the jth original packet is multiplied by gjm to form the mth contribution packet Cjm of the jth iteration, m=1, 2, . . . , n.
The encoded packets Yi are formed incrementally from the contribution packets. More specifically, their elements are initialized to zero before the first iteration, and at the end of each iteration, the contribution packets computed during that iteration are added to the current encoded packets. In this way, at the end of all iterations, the encoded packets are equal to the sum of the corresponding contribution packets from all the iterations.
Assuming that the k original packets are stored consecutively in a permanent storage device and that the encoded packets will also be stored in a similar way, the above-described order of computation constitutes an improvement over the method of computation of the first embodiment, that is, when the encoded packets are formed by the y vectors. In particular, collecting the elements that form the x vectors from the original packets and redistributing the elements of the y vectors to the encoded packets requires a very large number of seek operations on the permanent storage device in which the original and the encoded packets are stored. Such seek operations in the permanent storage device tend to be costly.
In the above-described improved order of computation, only one sequential pass over the original packets (no seeks) is required, since the original packet j is processed in full during the jth iteration and is not needed in any of the previous or following iterations. Further, a maximum of k sequential passes (k-1 seeks) over the encoded packets is necessary corresponding to the k iterations explained above. Thus, the improved order of computation significantly reduces the amount of seeks in the storage devices used and makes encoding more efficient. The efficiency of decoding can also be improved in a similar fashion.
In the second embodiment of the present invention, the first k encoded packets are the same as the k original packets. To ensure that the first k encoded packets are the same as the original packets, the code generator matrix G must be transformed to standard form through row operations, so that the left k×k submatrix of G is the identity matrix, that is, a submatrix with ones on its diagonal and zeros everywhere else, as shown in FIG. 5. If xj is matrix multiplied on the right by G to generate yj, then
yij =xij for i=1, 2, 3, . . . , k.
As it is apparent, multiplication by the k×k identity submatrix need not be performed. Thus, only multiplication by the remaining k×(k-n) submatrix of G need be performed to form the last n-k encoded packets, saving time and storage space during encoding, thus making encoding more efficient.
On the receiving side, in the case where the first k packets are received correctly, there is no need for decoding since the first k received packets are exactly the same as the k original packets and the last k-n packets can be ignored. That is, if none of the first k packets is lost,
y'ij =xij for i=1, 2, 3, . . . , k.
Thus, the above-described decoding steps S8a, S8b, S9a and S9b, including the inversion of matrix A, need not be performed to recover the original packets X, thus making decoding more efficient.
Consider, for example, a digital file consisting of k=7 original packets of 1024 bytes each. This file is encoded using the second embodiment of the present invention with p=30% expected packet loss, yielding a sequence of n=10 encoded packets of 1024 bytes each. The encoding uses the Galois field GF[28 ] represented by the polynomial x8 +x4 +x3 +x2 +1, and the Vandermonde matrix V shown in FIG. 6A. After transformation to standard form, V yields generator matrix G shown in FIG. 6B.
If x1 =(123, 55, 2, 96, 197, 0, 73) is the message vector formed from the first byte (equivalent to an integer in the range 0-255) of each one of the original 7 packets, then y1 =(123, 55, 2, 96, 197, 0, 73, 162, 173, 3) is the codeword vector formed by the first byte of each of the encoded 10 packets, where y1 =x1 G. Note that because G is in standard form, the first 7 bytes of y are equal to the 7 bytes in x.
The encoded packets are transmitted in sequence over a satellite transmission channel to a large number of subscriber computers. Subscriber computer C correctly receives encoded packets 1, 3, 5, 6, 7, 9 and 10, but misses encoded packets 2, 4 and 8. As the number of correctly received packets is equal to the number of original packets, the original file can be reconstructed from the correctly received packets as follows. Matrix A, shown in FIG. 6C, is formed from the generator matrix G with columns 2, 4 and 8, corresponding to the serial numbers 2, 4 and 8 of the lost packets, removed. Matrix A is inverted to form matrix A-1, shown in FIG. 6D.
Vector z1 =(123, 2, 197, 0, 73, 173, 3) is the vector of the first byte of each one of the correctly received packets, that is, z1 is equal to y1 without bytes 2, 4 and 8 which were lost in transmission. The original x1 =(123, 55, 2, 96, 197, 0, 73) is recovered by multiplying z1 by A-1 on the right. Bytes 2-1024 of all the original packets can be recovered in similar fashion. The original file can then be reconstructed from the recovered original packets. Notably, if transmitted packets 1, 2, . . . , 7, corresponding to the original packets, were all correctly received, then there would be no need for decoding. In this case, whether or packets 8, 9 and 10 are correctly received is immaterial.
As the size of the file to be transferred increases, k and n increase, and the file error-correcting methods of the first and second embodiments become increasingly more inefficient because of the greater difficulty of inverting a large k×k matrix A. Moreover, once the underlying finite field F is fixed, then the choices for k and n are limited by the size of the field F.
In the third embodiment of the present invention, large files are divided into "chunks", smaller groups of packets, that can be independently encoded and decoded, as shown in the flowchart of FIG. 7. Each chunk is encoded, transmitted, received and decoded separately, by the methods of the first or second embodiments. The large file is then reassembled by the subscriber computer from the recovered chunks.
A more preferable method for transferring large files is provided by the fourth embodiment of the present invention. The above-described third embodiment has less error-correcting ability against burst errors than the first and second embodiments from which it was derived. In particular, there are cases in which the subscriber computer may receive a number of encoded packets larger than the number of original packets, but cannot recover the original file. For example, consider the case of an 800-packet original file divided into 8 chunks of 100 packets each and encoded with 20% error correction yielding encoded chunks of 125 packets each. Those chunks are transmitted in sequence as in the third embodiment. Then, a single burst error yielding a 20% packet loss wipes out 200 consecutive packets of the total 1000 packets transmitted. Because the chunks were transmitted sequentially, at least one chunk will be completely lost, thus making recovery of the original file impossible.
By rearranging the encoded packets of the different chunks in such a way that they are spread out uniformly over the transmission, the error correcting ability of the third embodiment to recover from burst errors is significantly improved. This is accomplished by packet interleaving. As in the third embodiment, the large file is divided into manageable chunks. In the fourth embodiment, however, the packets of the various chunks are transmitted in an interleaved fashion. In particular, once the chunks S1, S2, . . . , Sj have been formed, each chunk is encoded using the method of the first or second embodiment to generate encoded packets for each one of the chunks. Those encoded packets are then transmitted as follows. The first encoded packet of each chunk is transmitted first. Then, the second encoded packet of each chunk is transmitted, and so on until the jth packet of each chunk is transmitted at the end.
Upon reception by a subscriber computer, the received sequence of encoded packets is deinterleaved and the encoded packets of each chunk are grouped together. Each chunk is then decoded separately and the original large file is reconstructed from the encoded chunks. Returning to the previous example, where an 800-packet file is encoded with 20% error correction, the 20% packet loss that wipes out 200 consecutive packets would kill exactly 25 packets in each one of the 8 chunks. As there are exactly 100 correctly received packets in each chunk, all chunks can be error corrected, and the original file can be reconstructed from the recovered chunks. Hence, the error correcting ability of the fourth embodiment against burst errors is significantly higher than that of the third embodiment.
Another example of the benefit of using packet interleaving is shown in FIGS. 8A-8D. The original file is broken into 12 packets as shown in FIG. 8A. The packets are organized into chunks A, B, C and D of 3 packets each, and each chunk is then encoded with one extra packet (25% of total), as shown in FIG. 8B. The encoded packets may then be transmitted in sequential order (as in the third embodiment), or they may be transmitted in an interleaved fashion (as in the fourth embodiment), as respectively shown in FIGS. 8C and 8D (ignoring the cross-out lines).
The cross-out lines of FIGS. 8C and 8D respectively show the packets lost during transmission because of burst noise. The burst error destroys 4 consecutive packets, that is, 25% of the total number of transmitted packets (16). In the case where the packets were transmitted using the third embodiment, the burst error destroyed 75% (3) of the packets of chunk B, as shown in FIG. 8C. Because chunk B was encoded with 25% expected packet loss, chunk B could not be recovered and thus the original file could not be recovered. In the case where the packets were transmitted using the fourth embodiment, however, the burst error destroyed only 25% (1) of the packets of each chunk A, B, C and D, as shown in FIG. 8D. Thus, all four chunks could be recovered, and the original file could be reconstructed from the recovered chunks. Therefore, the error correcting ability against burst errors is greater when using interleaving.
In one particular implementation of the fourth embodiment, a large digital file is divided into chunks as follows. If K is the largest number of original packets that can be handled in the first or second embodiments, a large file having more than K original packets must be split into m chunks, where m is a positive integer with m>1, each chunk containing at most K packets. Thus, the original file contains at most m*K packets. The first chunk S1 is constructed from every mth packet of the file starting with the first packet (thus, for example, if m=5, K=4, chunk S1 would consist of original packets with serial numbers 1, 6, 11, and 16). The second chunk is constructed from every mth packet of the large file starting with the second packet (continuing the example, chunk S2 would consist of original packets with serial numbers 2, 7, 12, and 17). In general, the jth chunk Sj is constructed from every mth packet of the large file starting with the jth packet, where j=1, 2, . . . , m.
The method of the third embodiment represents no interleaving, while the method of the fourth embodiment represents maximal interleaving. One skilled in the art would recognize that interleaving may be performed at various degrees between those two extremes. For example, the encoded packets of each chunk could be transmitted in pairs. More specifically, the first two packets of the first chunk would be transmitted first, followed by the first two packets of the second chunk, and so on until the first two packets of the last chunk have been transmitted. Then, the second two packets of the first chunk would be transmitted followed by the second two packets of the second chunk, and so on until the second two packets of the last chunk have been transmitted. This interleaving of packet pairs would continue in the same way until the last two packets of all chunks have been transmitted.
A block diagram of a reliable packet-based data transfer system is shown in FIG. 9. This system includes a host computer 11, usually a PC. The host computer 11 includes or is extended with a transmission communication device 13 for the transfer of data outside the computer. The communication device can take the form of a serial card or a computer chip. The communication device 13 is connected by a cable to a satellite transmitter device 12. The satellite transmitter device 12, through an attached uplink antenna 14, broadcasts the encoded data packets to one or more subscriber computers 20 via satellite 16.
The encoded packets are received by a downlink antenna 17 (usually submeter in diameter) attached to a satellite receiver device 18, which in turn is connected to subscriber computer 20, usually a PC. The subscriber computer 20 includes or is extended with a reception communication device 15 to transfer the received packets into the subscriber computer.
The file error-correcting methods of the first through fourth embodiments may be implemented (1) by computer software, (2) by dedicated hardware, or (3) by combinations of software, hardware and firmware. The computer software may run on a Windows® 3.11 or Windows® NT® operating system. The software preferably runs on a Pentium® 133 MHz PC or better with at least 16 Mbyte RAM and a 1 Gbyte hard drive for storage of the large digital objects.
An example of computer software implementing an embodiment of the present invention as described above is shown in the "UU-encoded" object code of FIGS. 10A-10N. The UU-encoded object code is created from binary object code, output from a "C++" language (Microsoft® Visual C++®, Version 1.52) compiler, by transforming every 6 bits into a symbol from a reduced ASCII set of symbols, as is well-known in the art. The UU-encoded object code may be changed back into binary object code by transforming the symbols into their corresponding six bits. FIGS. 10A-10H show the UU-encoded object code for encoding the original packets on the transmitting side of the system, and FIGS. 10I-10N show the UU-encoded object code for decoding the received packets on the receiving side of the system. This object code, in its binary form, will run on IBM and IBM-compatible PCs using a Windows® 3.1 or Windows® 3.11 operating system.
In addition to the high speed transmission communication device, the host computer may be set up with a relational database, a graphical user interface, and list/addressing software and transmission communication software to communicate with the transmission communication device. Data files are transmitted and received using a packet-based broadcast protocol at speeds of over 8.44 Mbps in a dedicated computer. In addition to the high speed receiver communication card, the subscriber computer may be set up with a local database, a graphical user interface and receive communication software to communicate with the receiver communication device.
Moreover, the packets may be encoded using a computer separate from the host computer. In this case, the host computer is responsible for transmitting the encoded packets. Similarly, the received packets may be received by the subscriber computer and then decoded using a separate computer.
Any type of digital file may be transmitted and received. These files may include, but are not limited to, video files (MPEG, M-JPEG), electronic documents (PDF), color images (TIF), press clippings, interactive training (CD-I, CD-ROM), news feeds, music and audio (WAV), compound documents, and other multimedia files.
An example of a digital image encoded, transmitted, received damaged and successfully decoded using the present invention of the fifth embodiment is shown in FIG. 11. This image corresponds to the image shown in FIG. 2. In FIG. 11, the received packets have been decoded using the present invention and all of the original packets have been recovered, allowing the original image to be reconstructed successfully. Transmission-side information and receiving-side information relating to the image of FIG. 11 are respectively shown in FIGS. 12 and 13.
Of course, it will be appreciated that the invention may take forms other than those specifically described, and the scope of the invention is to be determined solely by the following claims.
Fischer, Michael, Paleologou, Sophia
Patent | Priority | Assignee | Title |
10001923, | Dec 29 2009 | Pure Storage, Inc | Generation collapse |
10001950, | Mar 29 2016 | Green Market Square Limited | Maintaining storage thresholds in a distributed storage network |
10002047, | Jun 05 2012 | Pure Storage, Inc | Read-if-not-revision-equals protocol message |
10007438, | Jun 25 2016 | International Business Machines Corporation | Method and system for achieving consensus using alternate voting strategies (AVS) with incomplete information |
10007444, | Apr 29 2016 | International Business Machines Corporation | Batching access requests in a dispersed storage network |
10007574, | Jul 31 2009 | Pure Storage, Inc | Memory controller utilizing an error coding dispersal function |
10007575, | Feb 27 2010 | Pure Storage, Inc | Alternative multiple memory format storage in a storage network |
10013191, | Aug 31 2015 | Pure Storage, Inc | Encoding data for storage in a dispersed storage network |
10013203, | Jan 04 2013 | Pure Storage, Inc | Achieving storage compliance in a dispersed storage network |
10013207, | Sep 24 2015 | Pure Storage, Inc | Considering object health of a multi-region object |
10013309, | Aug 17 2016 | Pure Storage, Inc | Missing slice reconstruction in a dispersed storage network |
10013444, | Mar 02 2012 | Pure Storage, Inc | Modifying an index node of a hierarchical dispersed storage index |
10013471, | Sep 13 2012 | Pure Storage, Inc | Avoiding write conflicts in a dispersed storage network |
10015141, | Nov 25 2009 | Pure Storage, Inc | Dispersed data storage in a VPN group of devices |
10015152, | Apr 02 2014 | Pure Storage, Inc | Securing data in a dispersed storage network |
10015161, | Jun 05 2012 | Pure Storage, Inc | Establishing trust within a cloud computing system |
10015255, | Sep 30 2005 | Pure Storage, Inc | Storing data in a dispersed storage network |
10020826, | Apr 02 2014 | Pure Storage, Inc | Generating molecular encoding information for data storage |
10025505, | Jun 29 2016 | International Business Machines Corporation | Accessing data in a dispersed storage network during write operations |
10025665, | Jun 30 2015 | Pure Storage, Inc | Multi-stage slice recovery in a dispersed storage network |
10027478, | Oct 09 2007 | Pure Storage, Inc | Differential key backup |
10027755, | Jun 01 2016 | International Business Machines Corporation | Selecting storage units in one or more dispersed storage networks |
10031669, | Dec 29 2009 | Pure Storage, Inc | Scheduling migration related traffic to be non-disruptive and performant |
10031700, | Nov 30 2015 | Pure Storage, Inc | Storing data copies in a dispersed storage network |
10031805, | Aug 09 2016 | International Business Machines Corporation | Assigning slices to storage locations based on a predicted lifespan |
10031809, | Jul 20 2016 | Pure Storage, Inc | Efficient method for rebuilding a set of encoded data slices |
10037140, | Oct 03 2013 | Pure Storage, Inc | Migration of encoded data slices in a dispersed storage network |
10037171, | Apr 30 2015 | Pure Storage, Inc | Accessing common data in a dispersed storage network |
10042564, | Jun 30 2014 | Pure Storage, Inc | Accessing data while migrating storage of the data |
10042566, | Aug 31 2015 | Pure Storage, Inc | Intelligent read strategy within a dispersed storage network (DSN) |
10042577, | Jan 04 2013 | Pure Storage, Inc | Storing and retrieving mutable objects |
10042703, | Apr 25 2012 | Pure Storage, Inc | Encrypting data for storage in a dispersed storage network |
10042704, | Jul 31 2015 | Pure Storage, Inc | Validating stored encoded data slice integrity in a dispersed storage network |
10042705, | Oct 08 2012 | Pure Storage, Inc | Robust transmission of data utilizing encoded data slices |
10042706, | Oct 30 2015 | Pure Storage, Inc | Optimizing secondary storage in a dispersed storage network |
10042707, | Oct 30 2015 | Pure Storage, Inc | Recovering affinity with imposter slices |
10042708, | Oct 30 2015 | Pure Storage, Inc | System for rebuilding data in a dispersed storage network |
10042709, | Jun 06 2011 | Pure Storage, Inc | Rebuild prioritization during a plurality of concurrent data object write operations |
10044807, | Sep 30 2005 | Pure Storage, Inc | Optimistic checked writes |
10048897, | Nov 30 2015 | Pure Storage, Inc | Making consistent reads more efficient in IDA+copy system |
10049120, | Sep 05 2014 | Pure Storage, Inc | Consistency based access of data in a dispersed storage network |
10051057, | Sep 30 2005 | Pure Storage, Inc | Prioritizing read locations based on an error history |
10055170, | Apr 30 2015 | Pure Storage, Inc | Scheduling storage unit maintenance tasks in a dispersed storage network |
10055283, | Nov 28 2011 | Pure Storage, Inc | Securely distributing random keys in a dispersed storage network |
10055290, | Jun 30 2015 | Pure Storage, Inc | Accelerating slice transfers utilizing multiple interfaces |
10055291, | Jun 30 2015 | Pure Storage, Inc | Method and system for processing data access requests during data transfers |
10055441, | Feb 05 2013 | Pure Storage, Inc | Updating shared group information in a dispersed storage network |
10057178, | Feb 07 2011 | ADAPTIV NETWORKS INC | System and method for reducing bandwidth usage of a network |
10057351, | Sep 13 2012 | Pure Storage, Inc | Modifying information dispersal algorithm configurations in a dispersed storage network |
10061524, | Sep 01 2016 | International Business Machines Corporation | Wear-leveling of memory devices |
10061648, | Jun 30 2015 | Pure Storage, Inc | Efficient method for redundant storage of a set of encoded data slices |
10061649, | Mar 29 2016 | Pure Storage, Inc | Storing data contiguously in a dispersed storage network |
10061650, | Jun 06 2011 | Pure Storage, Inc | Priority based rebuilding |
10067721, | Nov 30 2015 | Pure Storage, Inc | Selecting partial task resources in a dispersed storage network |
10067822, | Sep 26 2016 | International Business Machines Corporation | Combined slice objects in alternate memory locations |
10067831, | Dec 29 2009 | Pure Storage, Inc | Slice migration in a dispersed storage network |
10067832, | Oct 30 2015 | Pure Storage, Inc | Imposter slices |
10067998, | Apr 30 2015 | Pure Storage, Inc | Distributed sync list |
10069915, | Feb 27 2015 | Pure Storage, Inc | Storing data in a dispersed storage network |
10073638, | Jun 05 2012 | Pure Storage, Inc | Automatic namespace ordering determination |
10073645, | Nov 30 2015 | Pure Storage, Inc | Initiating rebuild actions from DS processing unit errors |
10073652, | Sep 24 2015 | Pure Storage, Inc | Performance optimized storage vaults in a dispersed storage network |
10073658, | Nov 30 2015 | Pure Storage, Inc | Optimized caching of slices by a DS processing unit |
10073736, | Jul 31 2015 | Pure Storage, Inc | Proxying slice access requests during a data evacuation |
10073737, | Oct 30 2009 | Pure Storage, Inc | Slice location identification |
10075523, | Apr 01 2013 | Pure Storage, Inc | Efficient storage of data in a dispersed storage network |
10078468, | Aug 18 2016 | International Business Machines Corporation | Slice migration in a dispersed storage network |
10078472, | Feb 27 2015 | Pure Storage, Inc | Rebuilding encoded data slices in a dispersed storage network |
10078561, | Apr 30 2015 | Pure Storage, Inc | Handling failing memory devices in a dispersed storage network |
10079887, | Mar 31 2015 | Pure Storage, Inc | Expanding storage capacity of a set of storage units in a distributed storage network |
10082970, | Nov 01 2010 | International Business Machines Corporation | Storing an effective dynamic width of encoded data slices |
10083081, | Jul 06 2011 | Pure Storage, Inc | Responding to a maintenance free storage container security threat |
10084770, | Nov 09 2010 | Pure Storage, Inc | Balancing memory utilization in a dispersed storage network |
10084857, | Jan 26 2016 | Pure Storage, Inc | Dispersing data to biological memory systems |
10089036, | Jul 31 2014 | Pure Storage, Inc | Migrating data in a distributed storage network |
10089178, | Feb 29 2016 | Pure Storage, Inc | Developing an accurate dispersed storage network memory performance model through training |
10089180, | Jul 31 2015 | Pure Storage, Inc | Unfavorable storage growth rate abatement |
10089344, | Mar 02 2012 | Pure Storage, Inc | Listing data objects using a hierarchical dispersed storage index |
10091298, | May 27 2016 | International Business Machines Corporation | Enhancing performance of data storage in a dispersed storage network |
10095441, | Sep 24 2015 | Pure Storage, Inc | End-to-end secure data retrieval in a dispersed storage network |
10095578, | Jun 22 2010 | Pure Storage, Inc | Data modification in a dispersed storage network |
10095580, | Jul 01 2013 | Pure Storage, Inc | Rebuilding data while reading data in a dispersed storage network |
10095582, | Oct 29 2014 | Pure Storage, Inc | Partial rebuilding techniques in a dispersed storage unit |
10095872, | Jun 05 2014 | Pure Storage, Inc | Accessing data based on a dispersed storage network rebuilding issue |
10102063, | Mar 02 2011 | Pure Storage, Inc | Transferring data utilizing a transfer token module |
10102067, | Jul 14 2016 | International Business Machines Corporation | Performing a desired manipulation of an encoded data slice based on a metadata restriction and a storage operational condition |
10102068, | Jun 25 2012 | Pure Storage, Inc | Non-temporarily storing temporarily stored data in a dispersed storage network |
10102069, | Jun 05 2014 | Pure Storage, Inc | Maintaining data storage in accordance with an access metric |
10104045, | Apr 20 2009 | Pure Storage, Inc | Verifying data security in a dispersed storage network |
10104168, | Dec 12 2011 | Pure Storage, Inc | Method for managing throughput in a distributed storage network |
10108484, | Jun 25 2012 | Pure Storage, Inc | Detecting storage errors in a dispersed storage network |
10108492, | Jul 30 2009 | Pure Storage, Inc | Rebuilding data stored in a dispersed storage network |
10108493, | May 30 2013 | Pure Storage, Inc | Adjusting dispersed storage network traffic due to rebuilding |
10114588, | Mar 29 2016 | Green Market Square Limited | Consolidating encoded data slices in read memory devices in a distributed storage network |
10114696, | Jul 14 2016 | International Business Machines Corporation | Tracking data access in a dispersed storage network |
10114697, | Jun 25 2012 | Pure Storage, Inc | Large object parallel writing |
10114698, | Jan 05 2017 | International Business Machines Corporation | Detecting and responding to data loss events in a dispersed storage network |
10120569, | Oct 03 2013 | Pure Storage, Inc | Dispersed storage system with identity unit selection and methods for use therewith |
10120574, | Jun 25 2012 | Pure Storage, Inc | Reversible data modifications within DS units |
10120596, | Aug 31 2015 | Pure Storage, Inc | Adaptive extra write issuance within a dispersed storage network (DSN) |
10120739, | Dec 02 2014 | Pure Storage, Inc | Prioritized data rebuilding in a dispersed storage network |
10120756, | Aug 17 2011 | Pure Storage, Inc | Audit object generation in a dispersed storage network |
10120757, | Feb 29 2016 | Pure Storage, Inc | Prioritizing dispersed storage network memory operations during a critical juncture |
10122795, | May 31 2016 | International Business Machines Corporation | Consistency level driven data storage in a dispersed storage network |
10126961, | Aug 31 2015 | Pure Storage, Inc | Securely recovering stored data in a dispersed storage network |
10126974, | Dec 31 2014 | Pure Storage, Inc | Redistributing encoded data slices in a dispersed storage network |
10127110, | Jul 31 2015 | Pure Storage, Inc | Reallocating storage in a dispersed storage network |
10127111, | Oct 08 2012 | Pure Storage, Inc | Client provided request prioritization hints |
10127112, | Jul 20 2016 | International Business Machines Corporation | Assigning prioritized rebuild resources optimally |
10127402, | Jun 06 2011 | Pure Storage, Inc | Systematic erasure code encoding of data packages |
10129023, | Aug 11 2016 | International Business Machines Corporation | Enhancing security for multiple storage configurations |
10133609, | Dec 12 2011 | Pure Storage, Inc | Dispersed storage network secure hierarchical file directory |
10133631, | Oct 30 2015 | Pure Storage, Inc | Multi option rebuilding in a dispersed storage network |
10133632, | Dec 29 2009 | Pure Storage, Inc | Determining completion of migration in a dispersed storage network |
10133634, | Mar 30 2017 | International Business Machines Corporation | Method for performing in-place disk format changes in a distributed storage network |
10133635, | Jul 01 2013 | Pure Storage, Inc | Low-width vault in distributed storage system |
10140061, | Mar 29 2016 | Green Market Square Limited | Cycling out dispersed storage processing units from access pools to perform expensive operations |
10140177, | Jan 31 2012 | Pure Storage, Inc | Transferring a partial task in a distributed computing system |
10140178, | Jun 05 2014 | Pure Storage, Inc | Verifying a status level of stored encoded data slices |
10140182, | Feb 26 2014 | Pure Storage, Inc | Modifying allocation of storage resources in a dispersed storage network |
10142115, | Mar 31 2008 | Pure Storage, Inc | Distributed storage network data revision control |
10142176, | Jul 18 2016 | International Business Machines Corporation | Utilizing reallocation via a decentralized or distributed, agreement protocol (DAP) for storage unit (SU) replacement |
10146458, | Mar 29 2016 | Green Market Square Limited | Proxying read requests when performance or availability failure is anticipated |
10146620, | Apr 26 2010 | Pure Storage, Inc | Storing data in accordance with encoded data slice revision levels in a dispersed storage network |
10146621, | Dec 12 2011 | Pure Storage, Inc | Chaining computes in a distributed computing system |
10146622, | Sep 08 2014 | Pure Storage, Inc | Combining deduplication with locality for efficient and fast storage |
10146645, | Nov 01 2010 | Pure Storage, Inc | Multiple memory format storage in a storage network |
10148788, | Dec 29 2009 | Pure Storage, Inc | Method for providing schedulers in a distributed storage network |
10152601, | Jun 05 2014 | Pure Storage, Inc | Reliably recovering stored data in a dispersed storage network |
10154034, | Apr 26 2010 | Pure Storage, Inc | Cooperative data access request authorization in a dispersed storage network |
10157002, | Aug 26 2010 | Pure Storage, Inc | Migrating an encoded data slice based on an end-of-life memory level of a memory device |
10157011, | Jun 25 2012 | Pure Storage, Inc | Temporary suspension of vault access |
10157018, | Sep 24 2015 | Pure Storage, Inc | Using vault to track reception of slices |
10157021, | Jun 29 2016 | International Business Machines Corporation | Processing incomplete data access transactions |
10157051, | Mar 02 2012 | Pure Storage, Inc | Upgrading devices in a dispersed storage network |
10157094, | Apr 30 2015 | Pure Storage, Inc | Validating system registry files in a dispersed storage network |
10158648, | Dec 29 2009 | Pure Storage, Inc | Policy-based access in a dispersed storage network |
10162524, | Aug 02 2010 | Pure Storage, Inc | Determining whether to compress a data segment in a dispersed storage network |
10162705, | May 22 2013 | Pure Storage, Inc | Storing data in accordance with a performance threshold |
10164736, | Oct 18 2006 | KENCAST, INC | Systems, methods, apparatus, and computer program products for providing forward error correction with low latency |
10168904, | Apr 30 2015 | Pure Storage, Inc | Quasi-error notifications in a dispersed storage network |
10168950, | Sep 24 2015 | Pure Storage, Inc | Coordination of connection initiation scheduling in a distributed storage network (DSN) |
10169082, | Apr 27 2016 | International Business Machines Corporation | Accessing data in accordance with an execution deadline |
10169123, | Jan 30 2015 | Pure Storage, Inc | Distributed data rebuilding |
10169125, | May 29 2015 | Pure Storage, Inc | Re-encoding data in a dispersed storage network |
10169129, | Mar 02 2011 | Pure Storage, Inc | Dispersed B-tree directory trees |
10169146, | Dec 27 2010 | Pure Storage, Inc | Reproducing data from obfuscated data retrieved from a dispersed storage network |
10169147, | Oct 30 2015 | Pure Storage, Inc | End-to-end secure data storage in a dispersed storage network |
10169148, | Mar 29 2016 | International Business Machines Corporation | Apportioning storage units amongst storage sites in a dispersed storage network |
10169149, | Sep 06 2016 | International Business Machines Corporation | Standard and non-standard dispersed storage network data access |
10169150, | Feb 26 2014 | Pure Storage, Inc | Concatenating data objects for storage in a dispersed storage network |
10169151, | Oct 30 2015 | Pure Storage, Inc | Utilizing request deadlines in a dispersed storage network |
10169153, | Oct 30 2015 | Pure Storage, Inc | Reallocation in a dispersed storage network (DSN) |
10169229, | Jun 05 2012 | Pure Storage, Inc | Protocols for expanding existing sites in a dispersed storage network |
10169369, | Jul 01 2013 | Pure Storage, Inc | Meeting storage requirements with limited storage resources |
10169392, | Mar 08 2017 | International Business Machines Corporation | Persistent data structures on a dispersed storage network memory |
10171111, | Sep 24 2015 | Pure Storage, Inc | Generating additional slices based on data access frequency |
10171243, | Apr 30 2014 | Pure Storage, Inc | Self-validating request message structure and operation |
10176044, | Oct 30 2015 | Pure Storage, Inc | Fallback delegates for modification of an index structure |
10176045, | Dec 12 2011 | Pure Storage, Inc | Internet based shared memory in a distributed computing system |
10176191, | Sep 05 2014 | Pure Storage, Inc | Recovering from conflicts that emerge from eventually consistent operations |
10178083, | Jun 05 2012 | Pure Storage, Inc | Updating access control information within a dispersed storage unit |
10180787, | Feb 09 2017 | International Business Machines Corporation | Dispersed storage write process with lock/persist |
10180880, | Jul 31 2013 | Pure Storage, Inc | Adaptive rebuilding rates based on sampling and inference |
10180884, | Sep 30 2005 | Pure Storage, Inc | Dispersed storage network with customized security and methods for use therewith |
10182115, | Nov 01 2013 | Pure Storage, Inc | Changing rebuild priority for a class of data |
10193689, | May 19 2010 | Pure Storage, Inc | Storing access information in a dispersed storage network |
10198199, | Dec 30 2015 | Pure Storage, Inc | Applying multiple hash functions to generate multiple masked keys in a secure slice implementation |
10200156, | Aug 02 2012 | Pure Storage, Inc | Storing a stream of data in a dispersed storage network |
10203877, | Dec 29 2009 | Pure Storage, Inc | Security checks for proxied requests |
10203999, | May 29 2015 | Pure Storage, Inc | Spreading load for highly popular content with asynchronous counted writes |
10204009, | Jan 04 2013 | Pure Storage, Inc | Prioritized rebuilds using dispersed indices |
10205783, | Jun 30 2014 | Pure Storage, Inc | Identifying a task execution resource of a dispersed storage network |
10209921, | Sep 24 2015 | Pure Storage, Inc | Expanding slice count in response to low-level failures |
10216434, | Dec 30 2015 | Pure Storage, Inc | Detailed memory device statistics with drive write location determination |
10216436, | Mar 29 2016 | Green Market Square Limited | Monitoring and sharing registry states |
10216443, | Nov 30 2015 | Pure Storage, Inc | Proactively deselect storage units for access during major geographic events |
10216444, | Nov 30 2015 | Pure Storage, Inc | Requester specified transformations of encoded data in dispersed storage network memory |
10216594, | Apr 30 2015 | Pure Storage, Inc | Automated stalled process detection and recovery |
10216647, | Feb 27 2010 | International Business Machines Corporation | Compacting dispersed storage space |
10223033, | Oct 29 2014 | Pure Storage, Inc | Coordinating arrival times of data slices in a dispersed storage network |
10223036, | Aug 10 2016 | International Business Machines Corporation | Expanding a dispersed storage network (DSN) |
10223201, | Jun 30 2015 | Pure Storage, Inc | Method of storing encoded data slices using a distributed agreement protocol |
10223213, | May 03 2013 | Pure Storage, Inc | Salted zero expansion all or nothing transformation |
10225205, | Jun 30 2014 | Pure Storage, Inc | Accessing a dispersed storage network |
10225271, | Sep 09 2016 | International Business Machines Corporation | Distributed storage network with enhanced security monitoring |
10229001, | Mar 29 2016 | International Business Machines Corporation | Allocating data based on memory device performance in a dispersed storage network |
10229002, | Jan 04 2013 | Pure Storage, Inc | Process to migrate named objects to a dispersed or distributed storage network (DSN) |
10229004, | Jul 31 2015 | Pure Storage, Inc | Data transfer priority levels |
10230692, | Jun 30 2009 | Pure Storage, Inc | Distributed storage processing module |
10235085, | Jun 27 2016 | International Business Machines Corporation | Relocating storage unit data in response to detecting hotspots in a dispersed storage network |
10235237, | Sep 06 2011 | Pure Storage, Inc | Decoding data streams in a distributed storage network |
10235241, | Mar 15 2017 | International Business Machines Corporation | Method for partial updating data content in a distributed storage network |
10237281, | Dec 29 2009 | Pure Storage, Inc | Access policy updates in a dispersed storage network |
10241677, | Feb 24 2017 | International Business Machines Corporation | Ensuring consistency between content and metadata with intents |
10241692, | Aug 31 2015 | Pure Storage, Inc | Extra write scaling for performance and reliability |
10241694, | Dec 30 2015 | Pure Storage, Inc | Reducing data stored when using multiple information dispersal algorithms |
10241695, | Dec 30 2015 | Pure Storage, Inc | Optimizing rebuilds when using multiple information dispersal algorithms |
10241697, | Mar 29 2016 | Green Market Square Limited | Temporary enrollment in anonymously obtained credentials |
10241861, | Mar 23 2017 | International Business Machines Corporation | Method for tenant isolation in a distributed computing system |
10241863, | Aug 31 2012 | Pure Storage, Inc | Slice rebuilding in a dispersed storage network |
10241864, | Oct 30 2015 | Pure Storage, Inc | Expanding information dispersal algorithm width without rebuilding through imposter slices |
10241865, | Feb 15 2017 | International Business Machines Corporation | Handling storage unit failure in a dispersed storage network |
10241866, | Jan 04 2013 | Pure Storage, Inc | Allocating rebuilding queue entries in a dispersed storage network |
10248361, | Nov 30 2015 | Pure Storage, Inc | Rebuilding slices in a dispersed storage network |
10248495, | Feb 17 2017 | International Business Machines Corporation | Eventual consistency intent cleanup in a dispersed storage network |
10248504, | Jun 30 2015 | Pure Storage, Inc | List request processing during a dispersed storage network configuration change |
10248505, | Feb 29 2016 | Pure Storage, Inc | Issue escalation by management unit |
10248506, | Jul 31 2015 | Pure Storage, Inc | Storing data and associated metadata in a dispersed storage network |
10250686, | Sep 30 2005 | Pure Storage, Inc | Finding alternate storage locations to support failing disk migration |
10254992, | Apr 30 2015 | Pure Storage, Inc | Rebalancing data storage in a dispersed storage network |
10255002, | Nov 30 2015 | Pure Storage, Inc | Utilizing fast memory devices to optimize different functions |
10255003, | Nov 30 2015 | Pure Storage, Inc | Making consistent reads more efficient in IDA+copy system |
10255133, | Mar 29 2016 | International Business Machines Corporation | Isolating the introduction of software defects in a dispersed storage network |
10255135, | Aug 25 2010 | Pure Storage, Inc | Method and apparatus for non-interactive information dispersal |
10257276, | Sep 30 2005 | Pure Storage, Inc | Predictive rebalancing according to future usage expectations |
10268374, | Feb 27 2010 | Pure Storage, Inc | Redundant array of independent discs and dispersed storage network system re-director |
10268376, | Apr 30 2015 | Pure Storage, Inc | Automated deployment and assignment of access devices in a dispersed storage network |
10268545, | Sep 08 2014 | Pure Storage, Inc | Using reinforcement learning to select a DS processing unit |
10268554, | Feb 05 2013 | Pure Storage, Inc | Using dispersed computation to change dispersal characteristics |
10268712, | Aug 27 2009 | Pure Storage, Inc | Method and apparatus for identifying data inconsistency in a dispersed storage network |
10270855, | Oct 09 2007 | Pure Storage, Inc | Integrated client for use with a dispersed data storage network |
10270858, | Sep 30 2005 | Pure Storage, Inc | Inducing memory device idle time through rolling read prioritizations |
10275161, | Oct 30 2009 | Pure Storage, Inc | Distributed storage network for storing a data object based on storage requirements |
10275185, | Feb 27 2015 | Pure Storage, Inc | Fail-in-place supported via decentralized or Distributed Agreement Protocol (DAP) |
10275313, | Jan 31 2014 | Pure Storage, Inc | Writing encoded data slices in a dispersed storage network |
10277490, | Jul 19 2016 | International Business Machines Corporation | Monitoring inter-site bandwidth for rebuilding |
10282118, | Dec 29 2009 | Pure Storage, Inc | Using reason codes to determine how to handle memory device error conditions |
10282135, | Oct 29 2014 | Pure Storage, Inc | Strong consistency write threshold |
10282440, | Mar 31 2015 | Pure Storage, Inc | Prioritizing rebuilding of encoded data slices |
10282564, | Jan 28 2010 | Pure Storage, Inc | Distributed storage with auxiliary data interspersal and method for use therewith |
10289318, | Nov 01 2010 | Pure Storage, Inc | Adjusting optimistic writes in a dispersed storage network |
10289319, | Aug 31 2015 | Pure Storage, Inc | Varying rebuild task priorities |
10289342, | Jan 30 2015 | Pure Storage, Inc | Data access optimization protocol in a dispersed storage network |
10289505, | Dec 29 2009 | Pure Storage, Inc | Dispersed multi-media content for a centralized digital video storage system |
10289688, | Jun 22 2010 | Pure Storage, Inc | Metadata access in a dispersed storage network |
10296263, | Apr 30 2014 | Pure Storage, Inc | Dispersed bloom filter for determining presence of an object |
10296404, | May 29 2015 | Pure Storage, Inc | Determining slices used in a reconstruction |
10298683, | Jan 26 2016 | Pure Storage, Inc | Consolidating data access in a dispersed storage network |
10298684, | Apr 01 2011 | Pure Storage, Inc | Adaptive replication of dispersed data to improve data access performance |
10298957, | Oct 06 2010 | Pure Storage, Inc | Content-based encoding in a multiple routing path communications system |
10303521, | Dec 12 2011 | Pure Storage, Inc | Determining task distribution in a distributed computing system |
10303546, | Jun 30 2015 | Pure Storage, Inc | Accessing data when transferring the data between storage facilities |
10303548, | Jul 01 2013 | Pure Storage, Inc | Time-sensitive data storage operations in a dispersed storage network |
10303549, | Aug 27 2009 | Pure Storage, Inc | Dispersed storage network with access control and methods for use therewith |
10304096, | Nov 01 2013 | Pure Storage, Inc | Renting a pipe to a storage system |
10305982, | Jan 26 2016 | Pure Storage, Inc | Access slices during multiple migrations |
10305988, | Nov 28 2011 | Pure Storage, Inc | Adaptive resource utilization with request cancellation |
10305989, | Sep 30 2005 | Pure Storage, Inc | Finding alternate storage locations to support failing disk migration |
10305990, | Sep 30 2005 | Pure Storage, Inc | Inducing memory device idle time through rolling read prioritizations |
10310763, | Feb 05 2013 | Pure Storage, Inc | Forming a distributed storage network memory without namespace aware distributed storage units |
10318189, | Dec 30 2015 | Pure Storage, Inc | Determining respective mappings for logically defined dispersed storage units |
10318380, | Jun 30 2015 | Pure Storage, Inc | Multi-stage slice recovery in a dispersed storage network |
10318382, | Jan 31 2014 | Pure Storage, Inc | Determining missing encoded data slices |
10318445, | Nov 28 2011 | Pure Storage, Inc | Priority level adaptation in a dispersed storage network |
10318549, | Sep 13 2012 | Pure Storage, Inc | Batching modifications to nodes in a dispersed index |
10324623, | Jan 04 2013 | Pure Storage, Inc | Mapping storage of data in a dispersed storage network |
10324657, | May 29 2015 | Pure Storage, Inc | Accounting for data whose rebuilding is deferred |
10324791, | Nov 01 2010 | Pure Storage, Inc | Selectable parallel processing of dispersed storage error encoding |
10324855, | Jun 23 2017 | International Business Machines Corporation | Associating a processing thread and memory section to a memory device |
10325110, | Apr 02 2014 | Pure Storage, Inc | Distributing registry information in a dispersed storage network |
10326740, | Feb 29 2016 | Pure Storage, Inc | Efficient secret-key encrypted secure slice |
10331384, | Mar 31 2015 | Pure Storage, Inc | Storing data utilizing a maximum accessibility approach in a dispersed storage network |
10331518, | Aug 31 2012 | Pure Storage, Inc | Encoding data in a dispersed storage network |
10331519, | Oct 08 2012 | Pure Storage, Inc | Application of secret sharing schemes at multiple levels of a dispersed storage network |
10331698, | Sep 13 2012 | Pure Storage, Inc | Rebuilding data in a dispersed storage network |
10334045, | Jun 06 2016 | Pure Storage, Inc | Indicating multiple encoding schemes in a dispersed storage network |
10334046, | Dec 05 2012 | Pure Storage, Inc | Utilizing data object storage tracking in a dispersed storage network |
10339003, | Jun 01 2017 | International Business Machines Corporation | Processing data access transactions in a dispersed storage network using source revision indicators |
10339006, | Jul 31 2015 | Pure Storage, Inc | Proxying slice access requests during a data evacuation |
10346218, | Dec 12 2011 | Pure Storage, Inc | Partial task allocation in a dispersed storage network |
10346246, | Nov 30 2015 | Pure Storage, Inc | Recovering data copies in a dispersed storage network |
10346250, | Jan 06 2014 | Pure Storage, Inc | Configuring storage resources of a dispersed storage network |
10348640, | Dec 12 2011 | Pure Storage, Inc | Partial task execution in a dispersed storage network |
10348829, | Aug 15 2016 | International Business Machines Corporation | Auto indexing with customizable metadata |
10353772, | May 31 2016 | International Business Machines Corporation | Selecting data for storage in a dispersed storage network |
10353774, | Oct 30 2015 | Pure Storage, Inc | Utilizing storage unit latency data in a dispersed storage network |
10356177, | Sep 30 2005 | Pure Storage, Inc | Prioritizing ranges to rebuild based on namespace health |
10359935, | Jul 31 2013 | Pure Storage, Inc | Dispersed storage encoded data slice rebuild |
10360097, | May 30 2013 | Pure Storage, Inc | Securing data in a dispersed storage network |
10360103, | Jul 18 2016 | International Business Machines Corporation | Focused storage pool expansion to prevent a performance degradation |
10360106, | Dec 12 2011 | Pure Storage, Inc | Throttled real-time writes |
10360107, | Feb 26 2014 | Pure Storage, Inc | Modifying allocation of storage resources in a dispersed storage network |
10360180, | Sep 30 2005 | Pure Storage, Inc | Digest listing decomposition |
10360391, | Apr 03 2017 | International Business Machines Corporation | Verifiable keyed all-or-nothing transform |
10361813, | Jun 16 2017 | International Business Machine Corporation | Using slice routers for improved storage placement determination |
10362111, | Jan 30 2015 | Pure Storage, Inc | Selecting a data storage resource of a dispersed storage network |
10365968, | Oct 30 2015 | Pure Storage, Inc | Apportioning namespace ranges in accordance with dispersed storage unit capacity |
10365969, | Nov 01 2011 | Pure Storage, Inc | Multiple wireless communication systems stream slices based on geography |
10372350, | Nov 29 2010 | Pure Storage, Inc | Shared ownership of namespace ranges |
10372357, | Aug 31 2015 | Pure Storage, Inc | Securely recovering stored data in a dispersed storage network |
10372380, | Mar 01 2017 | BEIJING ZITIAO NETWORK TECHNOLOGY CO , LTD | Asserting integrity with a verifiable codec |
10372381, | Jun 05 2017 | International Business Machines Corporation | Implicit leader election in a distributed storage network |
10372506, | Dec 12 2011 | Pure Storage, Inc | Compute architecture in a memory device of distributed computing system |
10372540, | Sep 06 2016 | International Business Machines Corporation | Standard and non-standard dispersed storage network data access |
10372562, | Apr 30 2015 | Pure Storage, Inc | Handling failing memory devices in a dispersed storage network |
10372686, | Dec 29 2009 | Pure Storage, Inc | Policy-based storage in a dispersed storage network |
10379744, | Jul 21 2016 | International Business Machines Corporation | System for collecting end-user feedback and usability metrics |
10379773, | Aug 29 2016 | International Business Machines Corporation | Storage unit for use in a dispersed storage network |
10379778, | Aug 18 2016 | International Business Machines Corporation | Using a master encryption key to sanitize a dispersed storage network memory |
10379942, | Sep 27 2017 | International Business Machines Corporation | Efficient transfer of objects between containers on the same vault |
10379961, | Apr 11 2017 | International Business Machines Corporation | Ensuring metadata and index consistency using write intents |
10382553, | Feb 20 2017 | International Business Machines Corporation | Zone storage—resilient and efficient storage transactions |
10387063, | Nov 30 2015 | Pure Storage, Inc | Securing encoding data slices using an integrity check value list |
10387067, | Feb 27 2015 | Pure Storage, Inc | Optimizing data storage in a dispersed storage network |
10387070, | Mar 31 2015 | Pure Storage, Inc | Migrating data in response to adding incremental storage resources in a dispersed storage network |
10387071, | Nov 28 2011 | Pure Storage, Inc | On-the-fly cancellation of unnecessary read requests |
10387079, | Sep 09 2016 | International Business Machines Corporation | Placement of dispersed storage data based on requestor properties |
10387080, | Nov 30 2015 | Pure Storage, Inc | Rebuilding slices in a dispersed storage network |
10387213, | Dec 12 2011 | Pure Storage, Inc | Dispersed storage network secure hierarchical file directory |
10387247, | Mar 12 2010 | Pure Storage, Inc | Dispersed storage network file system directory |
10387248, | Mar 29 2016 | International Business Machines Corporation | Allocating data for storage by utilizing a location-based hierarchy in a dispersed storage network |
10387249, | Mar 29 2016 | International Business Machines Corporation | Migrating data slices within a dispersed storage network |
10387250, | Jan 31 2014 | Pure Storage, Inc | Recovering data from microslices in a dispersed storage network |
10387252, | Dec 31 2014 | Pure Storage, Inc | Synchronously storing data in a plurality of dispersed storage networks |
10387256, | Sep 30 2005 | Pure Storage, Inc | Method and apparatus for distributed storage integrity processing |
10387286, | Jun 30 2016 | International Business Machines Corporation | Managing configuration updates in a dispersed storage network |
10387382, | Dec 30 2015 | Pure Storage, Inc | Estimating a number of entries in a dispersed hierarchical index |
10389683, | Aug 26 2016 | International Business Machines Corporation | Securing storage units in a dispersed storage network |
10389814, | Sep 30 2005 | Pure Storage, Inc | Prioritizing memory devices to replace based on namespace health |
10389845, | Oct 29 2009 | Pure Storage, Inc | Determining how to service requests based on several indicators |
10394468, | Feb 23 2017 | International Business Machines Corporation | Handling data slice revisions in a dispersed storage network |
10394476, | Apr 30 2014 | Pure Storage, Inc | Multi-level stage locality selection on a large system |
10394613, | Mar 02 2012 | Pure Storage, Inc | Transferring task execution in a distributed storage and task network |
10394630, | Oct 26 2016 | International Business Machines Corporation | Estimating relative data importance in a dispersed storage network |
10394650, | Jun 03 2016 | International Business Machines Corporation | Multiple writes using inter-site storage unit relationship |
10395043, | Jul 29 2016 | International Business Machines Corporation | Securely storing data in an elastically scalable dispersed storage network |
10395054, | Jun 06 2011 | Pure Storage, Inc | Updating distributed storage network software |
10402122, | May 29 2015 | Pure Storage, Inc | Transferring encoded data slices in a dispersed storage network |
10402268, | Feb 01 2011 | Pure Storage, Inc | Utilizing a dispersed storage network access token module to acquire digital content from a digital content provider |
10402269, | May 22 2013 | Pure Storage, Inc | Storing data in accordance with a performance threshold |
10402270, | Jan 04 2013 | Pure Storage, Inc | Deterministically determining affinity for a source name range |
10402271, | Dec 02 2014 | Pure Storage, Inc | Overcoming bottlenecks in zero information gain (ZIG) rebuild operations |
10402393, | Mar 02 2012 | Pure Storage, Inc | Slice migration in a dispersed storage network |
10402395, | Sep 05 2014 | Pure Storage, Inc | Facilitating data consistency in a dispersed storage network |
10402423, | Sep 13 2012 | Pure Storage, Inc | Sliding windows for batching index updates |
10404410, | Feb 27 2015 | Pure Storage, Inc | Storage unit (SU) report cards |
10409492, | Feb 09 2017 | International Business Machines Corporation | Multi-phase dispersed storage write process |
10409514, | Nov 30 2015 | Pure Storage, Inc | IP multicast message transmission for event notifications |
10409522, | May 29 2015 | Pure Storage, Inc | Reclaiming storage capacity in a dispersed storage network |
10409661, | Sep 29 2017 | International Business Machines Corporation | Slice metadata for optimized dispersed storage network memory storage strategies |
10409678, | Aug 31 2012 | Pure Storage, Inc | Self-optimizing read-ahead |
10409679, | Aug 31 2012 | Pure Storage, Inc | Migrating data slices in a dispersed storage network |
10409771, | Jun 22 2010 | Pure Storage, Inc | Hardware authentication in a dispersed storage network |
10409772, | Feb 27 2015 | Pure Storage, Inc | Accessing serially stored data in a dispersed storage network |
10412165, | May 19 2010 | Pure Storage, Inc | Entity registration in multiple dispersed storage networks |
10416889, | Oct 03 2013 | Pure Storage, Inc | Session execution decision |
10416898, | Jun 29 2016 | International Business Machines Corporation | Accessing data in a dispersed storage network during write operations |
10416906, | Mar 29 2016 | Green Market Square Limited | Rebalancing efficiency with optimal logical insertion locations |
10416930, | Jul 21 2016 | International Business Machines Corporation | Global access permit listing |
10419538, | Apr 26 2016 | International Business Machines Corporation | Selecting memory for data access in a dispersed storage network |
10423359, | Dec 31 2014 | Pure Storage, Inc | Linking common attributes among a set of synchronized vaults |
10423362, | Nov 30 2015 | Pure Storage, Inc | Utilizing multiple dispersal algorithms to encode data for storage in a dispersed storage network |
10423476, | May 29 2015 | Pure Storage, Inc | Aggressive searching for missing data in a DSN memory that has had migrations |
10423490, | Jan 03 2015 | Pure Storage, Inc | Read-source requests to support bundled writes in a distributed storage system |
10423491, | Jan 04 2013 | Pure Storage, Inc | Preventing multiple round trips when writing to target widths |
10423497, | Nov 28 2017 | International Business Machines Corporation | Mechanism for representing system configuration changes as a series of objects writable to an object storage container |
10423502, | Feb 27 2015 | Pure Storage, Inc | Stand-by distributed storage units |
10430107, | May 29 2015 | Pure Storage, Inc | Identifying stored data slices during a slice migration activity in a dispersed storage network |
10430122, | Feb 05 2013 | Pure Storage, Inc | Using partial rebuilding to change information dispersal algorithm (IDA) |
10430276, | Jun 25 2012 | Pure Storage, Inc | Optimal orderings of processing unit priorities in a dispersed storage network |
10430277, | Oct 30 2015 | Pure Storage, Inc | Multi option rebuilding in a dispersed storage network |
10432726, | Sep 30 2005 | Pure Storage, Inc | Last-resort operations to save at-risk-data |
10437515, | Mar 31 2015 | Pure Storage, Inc | Selecting storage units in a dispersed storage network |
10437671, | Jun 30 2015 | Pure Storage, Inc | Synchronizing replicated stored data |
10437673, | Dec 12 2011 | Pure Storage, Inc | Internet based shared memory in a distributed computing system |
10437676, | Feb 27 2015 | Pure Storage, Inc | Urgent reads and using data source health to determine error recovery procedures |
10437677, | Feb 27 2015 | Pure Storage, Inc | Optimized distributed rebuilding within a dispersed storage network |
10437678, | Nov 01 2011 | Pure Storage, Inc | Updating an encoded data slice |
10440105, | Jun 30 2014 | Pure Storage, Inc | Using a decentralized agreement protocol to rank storage locations for target width |
10440107, | Jan 26 2016 | Pure Storage, Inc | Protecting encoded data slice integrity at various levels |
10440115, | Feb 27 2015 | Pure Storage, Inc | Write intent messaging in a dispersed storage network |
10440116, | Jan 30 2015 | Pure Storage, Inc | Minimizing data movement through rotation of spare memory devices |
10445006, | Apr 01 2011 | Pure Storage, Inc | Adjusting a dispersal parameter of dispersedly stored data |
10445164, | Nov 01 2011 | Pure Storage, Inc | Copying data in a dispersed storage network without replication |
10445179, | Aug 31 2012 | Pure Storage, Inc | Securely storing data in a dispersed storage network |
10447471, | Jun 05 2012 | Pure Storage, Inc | Systematic secret sharing |
10447474, | Apr 20 2009 | Pure Storage, Inc | Dispersed data storage system data decoding and decryption |
10447612, | Jun 30 2014 | Pure Storage, Inc | Migrating encoded data slices in a dispersed storage network |
10447662, | Dec 12 2011 | Pure Storage, Inc | Encrypting segmented data in a distributed computing system |
10447767, | Apr 26 2010 | Pure Storage, Inc | Resolving a performance issue within a dispersed storage network |
10448062, | Oct 26 2016 | International Business Machines Corporation | Pre-fetching media content to reduce peak loads |
10452265, | Oct 03 2013 | Pure Storage, Inc | Dispersed storage system with width dispersal control and methods for use therewith |
10452317, | Dec 31 2014 | Pure Storage, Inc | DAP redistribution operation within a dispersed storage network |
10452836, | May 09 2011 | Pure Storage, Inc | Retrieving a hypertext markup language file from a dispersed storage network memory |
10454678, | Aug 17 2011 | Pure Storage, Inc | Accesor-based audit trails |
10459790, | Jul 26 2016 | International Business Machines Corporation | Elastic storage in a dispersed storage network |
10459792, | Oct 29 2014 | Pure Storage, Inc | Using an eventually consistent dispersed memory to implement storage tiers |
10459796, | Jul 20 2016 | International Business Machines Corporation | Prioritizing rebuilding based on a longevity estimate of the rebuilt slice |
10459797, | Jun 30 2014 | Pure Storage, Inc | Making trade-offs between rebuild scanning and failing memory device flexibility |
10466914, | Aug 31 2015 | Pure Storage, Inc | Verifying authorized access in a dispersed storage network |
10467095, | Oct 30 2015 | Pure Storage, Inc | Engaging a delegate for modification of an index structure |
10467096, | Jul 31 2015 | Pure Storage, Inc | Securely storing data in a dispersed storage network |
10467097, | Jun 02 2017 | International Business Machines Corporation | Indicating data health in a DSN memory |
10469406, | Dec 12 2011 | Pure Storage, Inc | Partial task execution in a dispersed storage network |
10469578, | Nov 28 2011 | Pure Storage, Inc | Prioritization of messages of a dispersed storage network |
10474395, | Jun 05 2012 | Pure Storage, Inc | Abstracting namespace mapping in a dispersed storage network through multiple hierarchies |
10476849, | Feb 29 2016 | Pure Storage, Inc | Monitoring and alerting for improper memory device replacement |
10476961, | Nov 01 2013 | Pure Storage, Inc | Changing rebuild priority for a class of data |
10481832, | Dec 02 2014 | Pure Storage, Inc | Applying a probability function to avoid storage operations for already-deleted data |
10481833, | Oct 29 2014 | Pure Storage, Inc | Transferring data encoding functions in a distributed storage network |
10481977, | Oct 27 2016 | International Business Machines Corporation | Dispersed storage of error encoded data objects having multiple resolutions |
10481978, | Mar 29 2016 | International Business Machines Corporation | Optimal slice encoding strategies within a dispersed storage unit |
10484474, | Aug 29 2013 | Pure Storage, Inc | Rotating offline DS units |
10489070, | Mar 29 2016 | Green Market Square Limited | Proxying read requests when performance or availability failure is anticipated |
10489071, | Aug 29 2013 | Pure Storage, Inc | Vault provisioning within dispersed or distributed storage network (DSN) |
10489247, | Dec 31 2014 | Pure Storage, Inc | Generating time-ordered globally unique revision numbers |
10491386, | Jun 01 2017 | International Business Machines Corporation | Slice-level keyed encryption with support for efficient rekeying |
10496308, | Nov 30 2015 | Pure Storage, Inc | Using pseudo DSN memory units to handle data in motion within a DSN memory |
10496480, | Oct 30 2009 | Pure Storage, Inc | Slice location identification |
10496500, | Nov 01 2011 | Pure Storage, Inc | Preemptively reading extra encoded data slices |
10498822, | Jan 30 2015 | Pure Storage, Inc | Adaptive scanning rates |
10498823, | Jan 30 2015 | Pure Storage, Inc | Optimally apportioning rebuilding resources |
10503591, | Feb 27 2015 | Pure Storage, Inc | Selecting retrieval locations in a dispersed storage network |
10503592, | Dec 02 2014 | Pure Storage, Inc | Overcoming bottlenecks in partial and traditional rebuild operations |
10503594, | Apr 26 2010 | Pure Storage, Inc | Storing data in accordance with encoded data slice revision levels in a dispersed storage network |
10503595, | Sep 08 2014 | Pure Storage, Inc | Combining deduplication with locality for efficient and fast storage |
10503596, | Jul 31 2015 | Pure Storage, Inc | Accessing an encoded data slice in a dispersed storage network |
10503598, | Jul 01 2013 | Pure Storage, Inc | Rebuilding data while reading data in a dispersed storage network |
10505915, | Aug 02 2010 | Pure Storage, Inc | Determining whether to compress a data segment in a dispersed storage network |
10505947, | Dec 29 2009 | Pure Storage, Inc | Policy-based access in a dispersed storage network |
10506045, | Jan 30 2015 | Pure Storage, Inc | Memory access using deterministic function and secure seed |
10509577, | Jun 05 2014 | Pure Storage, Inc | Reliable storage in a dispersed storage network |
10509699, | Aug 07 2017 | International Business Machines Corporation | Zone aware request scheduling and data placement |
10509709, | Oct 30 2009 | Pure Storage, Inc | Indirect storage of data in a dispersed storage system |
10511665, | Jan 30 2015 | Pure Storage, Inc | Efficient resource reclamation after deletion of slice from common file |
10514857, | Aug 29 2013 | Pure Storage, Inc | Dynamic adjusting of parameters based on resource scoring |
10514971, | Mar 02 2011 | Pure Storage, Inc | Dispersed b-tree directory trees |
10521298, | Dec 02 2014 | Pure Storage, Inc | Temporarily storing dropped and rebuilt slices in a DSN memory |
10521300, | Oct 08 2012 | Pure Storage, Inc | Client provided request prioritization hints |
10523241, | May 29 2015 | Pure Storage, Inc | Object fan out write operation |
10523781, | Dec 29 2009 | Pure Storage, Inc | Method for providing schedulers in a distributed storage network |
10528282, | Mar 31 2015 | Pure Storage, Inc | Modifying and utilizing a file structure in a dispersed storage network |
10528425, | Feb 27 2015 | Pure Storage, Inc | Transitioning to an optimized data storage approach in a dispersed storage network |
10530861, | Feb 27 2015 | Pure Storage, Inc | Utilizing multiple storage pools in a dispersed storage network |
10530862, | Jan 30 2015 | Pure Storage, Inc | Determining slices to rebuild from low-level failures |
10534548, | Jun 20 2017 | International Business Machines Corporation | Validating restricted operations on a client using trusted environments |
10534661, | Mar 31 2015 | Pure Storage, Inc | Selecting a storage error abatement alternative in a dispersed storage network |
10534666, | Jul 14 2016 | International Business Machines Corporation | Determining storage requirements based on licensing right in a dispersed storage network |
10534668, | Feb 27 2015 | Pure Storage, Inc | Accessing data in a dispersed storage network |
10536525, | May 31 2016 | International Business Machines Corporation | Consistency level driven data storage in a dispersed storage network |
10540111, | Jun 28 2017 | International Business Machines Corporation | Managing data container instances in a dispersed storage network |
10540120, | Nov 14 2017 | International Business Machines Corporation | Contention avoidance on associative commutative updates |
10540230, | Mar 29 2016 | International Business Machines Corporation | Allocating data based on memory device performance in a dispersed storage network |
10540247, | Nov 10 2016 | International Business Machines Corporation | Handling degraded conditions using a redirect module |
10545699, | Apr 11 2017 | International Business Machines Corporation | Dynamic retention policies and optional deletes |
10547615, | Sep 12 2016 | International Business Machines Corporation | Security response protocol based on security alert encoded data slices of a distributed storage network |
10552341, | Feb 17 2017 | International Business Machines Corporation | Zone storage—quickly returning to a state of consistency following an unexpected event |
10554752, | Jul 20 2016 | International Business Machines Corporation | Efficient transfer of encoded data slice sets to new or alternate storage units |
10558389, | Sep 20 2016 | International Business Machines Corporation | Per-storage class quality of service (QoS) management within a distributed storage network (DSN) where the DSN stores data using dispersed storage error decoding/encoding |
10558396, | Sep 14 2016 | International Business Machines Corporation | Pre-caching data according to a current or predicted requester location |
10558526, | Mar 29 2016 | International Business Machines Corporation | Apportioning storage units amongst storage sites in a dispersed storage network |
10558527, | Dec 02 2014 | Pure Storage, Inc | Rebuilding strategy in memory managed multi-site duplication |
10558592, | Nov 28 2011 | Pure Storage, Inc | Priority level adaptation in a dispersed storage network |
10558621, | Dec 05 2012 | Pure Storage, Inc | Lock stealing writes for improved reliability |
10558638, | Mar 08 2017 | International Business Machines Corporation | Persistent data structures on a dispersed storage network memory |
10558819, | Jun 06 2011 | Pure Storage, Inc | Updating distributed storage network software |
10564852, | Jun 25 2016 | International Business Machines Corporation | Method and system for reducing memory device input/output operations |
10565392, | Nov 28 2017 | International Business Machines Corporation | Secure and verifiable update operations |
10567509, | May 15 2017 | International Business Machines Corporation | Rebuilding derived content |
10572433, | Apr 27 2016 | International Business Machines Corporation | Accessing data in accordance with an execution deadline |
10574395, | Aug 02 2012 | Pure Storage, Inc | Storing a stream of data in a dispersed storage network |
10574742, | Aug 06 2004 | ADAPTIV NETWORKS INC | Network quality as a service |
10579309, | Feb 16 2017 | International Business Machines Corporation | Method for increasing throughput in a distributed storage network |
10579450, | Jan 30 2015 | Pure Storage, Inc | Distributed data rebuilding |
10579451, | Feb 27 2015 | Pure Storage, Inc | Pro-actively preparing a dispersed storage network memory for higher-loads |
10579475, | Jul 14 2016 | International Business Machines Corporation | Performing a desired manipulation of an encoded data slice based on a metadata restriction and a storage operational condition |
10581807, | Aug 29 2016 | International Business Machines Corporation | Using dispersal techniques to securely store cryptographic resources and respond to attacks |
10585607, | Nov 10 2016 | International Business Machines Corporation | Determining an optimum selection of functions for units in a DSN memory |
10585715, | Dec 12 2011 | Pure Storage, Inc | Partial task allocation in a dispersed storage network |
10585748, | Sep 29 2017 | Edison Vault, LLC | Scalable cloud—assigning scores to requesters and treating requests differently based on those scores |
10585751, | Oct 27 2016 | International Business Machines Corporation | Partial rebuild operation within a dispersed storage network including local memory and cloud-based alternative memory |
10587691, | Dec 05 2012 | Pure Storage, Inc | Impatient writes |
10592109, | Feb 26 2014 | Pure Storage, Inc | Selecting storage resources in a dispersed storage network |
10592132, | Jan 30 2015 | Pure Storage, Inc | Read-foreign-slices request for improved read efficiency with bundled writes |
10594790, | Jun 28 2017 | International Business Machines Corporation | Data compression in a dispersed storage network |
10594793, | Jan 30 2015 | Pure Storage, Inc | Read-prepare requests to multiple memories |
10599502, | Aug 07 2017 | International Business Machines Corporation | Fault detection and recovery in a distributed storage network |
10599519, | Oct 30 2015 | Pure Storage, Inc | Coordinating node modification of an index structure via delegates |
10601918, | Aug 29 2013 | Pure Storage, Inc | Rotating inactive storage units in a distributed storage network |
10606507, | Sep 24 2015 | Pure Storage, Inc | Coordination of connection initiation scheduling in a distributed storage network (DSN) |
10606700, | Oct 08 2012 | Pure Storage, Inc | Enhanced dispersed storage error encoding using multiple encoding layers |
10613776, | Dec 30 2015 | Pure Storage, Inc | Appyling multiple hash functions to generate multiple masked keys in a secure slice implementation |
10613798, | May 29 2015 | Pure Storage, Inc | Slice fanout write request |
10613936, | Jul 31 2014 | Pure Storage, Inc | Fractional slices in a distributed storage system |
10616330, | Jan 26 2016 | Pure Storage, Inc | Utilizing tree storage structures in a dispersed storage network |
10620878, | Jan 30 2015 | Pure Storage, Inc | Write threshold plus value in dispersed storage network write operations |
10621021, | Feb 05 2013 | Pure Storage, Inc | Using dispersed data structures to point to slice or date source replicas |
10621042, | Dec 31 2014 | Pure Storage, Inc | Vault transformation within a dispersed storage network |
10621044, | Apr 25 2012 | Pure Storage, Inc | Mapping slice groupings in a dispersed storage network |
10623495, | Dec 31 2014 | Pure Storage, Inc | Keeping synchronized writes from getting out of synch |
10628245, | Apr 02 2014 | Pure Storage, Inc | Monitoring of storage units in a dispersed storage network |
10628399, | Apr 29 2016 | International Business Machines Corporation | Storing data in a dispersed storage network with consistency |
10635312, | Feb 26 2014 | Pure Storage, Inc | Recovering data in a dispersed storage network |
10635536, | Mar 29 2016 | International Business Machines Corporation | Dynamic distributed agreement protocols in a dispersed storage network |
10642489, | Feb 26 2013 | Pure Storage, Inc | Determining when to initiate an intra-distributed storage unit rebuild vs. an inter-distributed storage unit rebuild |
10642532, | Feb 28 2017 | International Business Machines Corporation | Storing data sequentially in zones in a dispersed storage network |
10642687, | Dec 31 2014 | Pure Storage, Inc | Pessimistic reads and other smart-read enhancements with synchronized vaults |
10642992, | Jan 04 2013 | Pure Storage, Inc | Password augmented all-or-nothin transform |
10644874, | Jul 31 2014 | Pure Storage, Inc | Limiting brute force attacks against dispersed credentials in a distributed storage system |
10649828, | Dec 02 2014 | Pure Storage, Inc | Prioritized data rebuilding in a dispersed storage network |
10650160, | Aug 11 2016 | International Business Machines Corporation | Enhancing security for multiple storage configurations |
10651975, | Aug 02 2012 | Pure Storage, Inc | Forwarding data amongst cooperative DSTN processing units of a massive data ingestion system |
10652350, | Jun 06 2016 | International Business Machines Corporation | Caching for unique combination reads in a dispersed storage network |
10656866, | Dec 31 2014 | Pure Storage, Inc | Unidirectional vault synchronization to support tiering |
10656871, | Sep 24 2015 | Pure Storage, Inc | Expanding slice count in response to low-level failures |
10656997, | Aug 17 2011 | Pure Storage, Inc | Audit object generation in a dispersed storage network |
10656998, | Oct 30 2015 | Pure Storage, Inc | End-to-end secure data storage in a dispersed storage network |
10657000, | Feb 27 2015 | Pure Storage, Inc | Optimizing data storage in a dispersed storage network |
10664360, | Feb 05 2013 | Pure Storage, Inc | Identifying additional resources to accelerate rebuildling |
10666596, | Dec 12 2011 | Pure Storage, Inc | Messaging via a shared memory of a distributed computing system |
10671328, | Jun 30 2014 | Pure Storage, Inc | Method for generating addresses in a dispersed storage network |
10671585, | Jan 31 2012 | Pure Storage, Inc | Storing indexed data to a dispersed storage network |
10671746, | Aug 28 2017 | International Business Machines Corporation | Controlling access when processing intents in a dispersed storage network |
10673828, | Feb 29 2016 | Pure Storage, Inc | Developing an accurate dispersed storage network memory performance model through training |
10673946, | Jun 30 2014 | Pure Storage, Inc | Using separate weighting scores for different types of data in a decentralized agreement protocol |
10678450, | Aug 26 2010 | Pure Storage, Inc | Migrating an encoded data slice based on an end-of-life memory level of a memory device |
10678451, | Mar 29 2016 | Green Market Square Limited | Cycling out dispersed storage processing units from access pools to perform expensive operations |
10678462, | Apr 30 2015 | Pure Storage, Inc | Rebalancing data storage in a dispersed storage network |
10678472, | Sep 24 2015 | Pure Storage, Inc | Generating additional slices based on data access frequency |
10678619, | Jul 27 2011 | Pure Storage, Inc | Unified logs and device statistics |
10678622, | Feb 29 2016 | Pure Storage, Inc | Optimizing and scheduling maintenance tasks in a dispersed storage network |
10678638, | Feb 26 2014 | Pure Storage, Inc | Resolving write conflicts in a dispersed storage network |
10678639, | Apr 30 2015 | Pure Storage, Inc | Quasi-error notifications in a dispersed storage network |
10678640, | Sep 08 2014 | Pure Storage, Inc | Using reinforcement learning to select a DS processing unit |
10678642, | Jul 31 2015 | Pure Storage, Inc | Unfavorable storage growth rate abatement |
10678644, | Jul 31 2013 | Pure Storage, Inc | Adaptive rebuilding rates based on sampling and inference |
10681134, | Jul 31 2013 | Pure Storage, Inc | Accelerated learning in adaptive rebuilding by applying observations to other samples |
10681135, | Dec 08 2017 | International Business Machines Corporation | Generating slices from a broadcast message and a recipient identity |
10681138, | Apr 02 2014 | Pure Storage, Inc | Storing and retrieving multi-format content in a distributed storage network |
10686880, | Aug 29 2013 | Pure Storage, Inc | Dispersed storage based on range availability and methods for use therewith |
10691541, | Mar 15 2017 | International Business Machines Corporation | Method for partial updating data content in a distributed storage network |
10693640, | Mar 17 2017 | International Business Machines Corporation | Use of key metadata during write and read operations in a dispersed storage network memory |
10698778, | Apr 30 2015 | Pure Storage, Inc | Automated stalled process detection and recovery |
10705923, | Sep 30 2005 | Pure Storage, Inc | Dispersed storage network with customized security and methods for use therewith |
10713374, | Mar 31 2015 | Pure Storage, Inc | Resolving detected access anomalies in a dispersed storage network |
10719499, | Jun 06 2016 | INTERNATIONAL BUSINESS MACHINES CORPORATIOb | Establishing distributed consensus via alternate voting strategies in a dispersed storage network |
10735545, | Jun 06 2016 | Pure Storage, Inc | Routing vault access requests in a dispersed storage network |
10740180, | Jan 30 2015 | Pure Storage, Inc | Storing and retrieving data using proxies |
10747616, | Mar 31 2015 | Pure Storage, Inc | Adapting rebuilding of encoded data slices in a dispersed storage network |
10748055, | Apr 30 2015 | Pure Storage, Inc | Validating system registry files in a dispersed storage network |
10757187, | Oct 29 2009 | Pure Storage, Inc | Streaming all-or-nothing encoding with random offset support |
10761917, | Apr 02 2014 | Pure Storage, Inc | Using global namespace addressing in a dispersed storage network |
10768833, | Nov 01 2010 | Pure Storage, Inc | Object dispersal load balancing |
10769015, | Jul 19 2016 | International Business Machines Corporation | Throttling access requests at different layers of a DSN memory |
10769016, | Feb 26 2014 | Pure Storage, Inc | Storing a plurality of correlated data in a dispersed storage network |
10771191, | Mar 09 2018 | Kencast, Inc.; KENCAST INC | System for highly reliable file delivery of using continuous FEC encoding/decoding |
10776204, | Feb 26 2014 | Pure Storage, Inc | Concatenating data objects for storage in a dispersed storage network |
10782921, | Jan 25 2017 | International Business Machines Corporation | Non-writing device finalization of a write operation initiated by another device |
10785194, | Dec 07 2017 | International Business Machines Corporation | Processing intents using trusted entities in a dispersed storage network |
10789128, | May 29 2015 | Pure Storage, Inc | External healing mode for a dispersed storage network memory |
10795766, | Apr 25 2012 | Pure Storage, Inc | Mapping slice groupings in a dispersed storage network |
10798169, | Sep 30 2005 | Pure Storage, Inc | Prioritizing ranges to rebuild based on namespace health |
10802713, | Sep 29 2017 | International Business Machines Corporation | Requester-associated storage entity data |
10802732, | Apr 30 2014 | Pure Storage, Inc | Multi-level stage locality selection on a large system |
10802763, | Nov 29 2010 | Pure Storage, Inc | Remote storage verification |
10802915, | Jan 30 2015 | Pure Storage, Inc | Time based storage of encoded data slices |
10805042, | Nov 01 2010 | Pure Storage, Inc | Creating transmission data slices for use in a dispersed storage network |
10824495, | Feb 29 2016 | Pure Storage, Inc | Cryptographic key storage in a dispersed storage network |
10831381, | Mar 29 2016 | Green Market Square Limited | Hierarchies of credential and access control sharing between DSN memories |
10831544, | Oct 08 2012 | Pure Storage, Inc. | Prioritization task execution within a storage unit (SU) |
10831600, | Jun 05 2014 | Pure Storage, Inc. | Establishing an operation execution schedule in a storage network |
10838649, | Jun 27 2016 | International Business Machines Corporation | Relocating storage unit data in response to detecting hotspots in a dispersed storage network |
10838664, | May 29 2015 | Pure Storage, Inc | Determining a storage location according to legal requirements |
10838814, | Jan 04 2013 | Pure Storage, Inc | Allocating rebuilding queue entries in a dispersed storage network |
10841376, | Aug 29 2013 | Pure Storage, Inc | Detection and correction of copy errors in a distributed storage network |
10846025, | Nov 30 2015 | Pure Storage, Inc | Utilizing fast memory devices to optimize different functions |
10852957, | Mar 31 2015 | Pure Storage, Inc | Migration agent employing moveslice request |
10853171, | Aug 31 2012 | Pure Storage, Inc | Encoding data in a dispersed storage network |
10853172, | Feb 26 2014 | Pure Storage, Inc. | Concatenating data objects for storage in a vast data storage network |
10853173, | Jul 31 2015 | Pure Storage, Inc | Proxying slice access requests during a data evacuation |
10853174, | Oct 30 2015 | Pure Storage, Inc | Utilizing storage unit latency data in a dispersed storage network |
10853175, | Feb 27 2015 | Pure Storage, Inc. | Storage unit (SU) operative to service urgent read requests |
10853388, | Sep 13 2012 | Pure Storage, Inc | Rebuilding data in a dispersed storage network |
10855691, | Dec 29 2009 | Pure Storage, Inc | Access policy updates in a dispersed storage network |
10855736, | Sep 22 2009 | Qualcomm Incorporated | Enhanced block-request streaming using block partitioning or request controls for improved client-side handling |
10855759, | Jan 26 2016 | Pure Storage, Inc | Utilizing a hierarchical index in a dispersed storage network |
10855769, | Sep 30 2005 | Pure Storage, Inc | Prioritizing memory devices to replace based on namespace health |
10860256, | Mar 31 2015 | Pure Storage, Inc | Storing data utilizing a maximum accessibility approach in a dispersed storage network |
10860424, | Sep 30 2005 | Pure Storage, Inc. | Background verification processing in a storage network |
10866754, | Apr 26 2010 | Pure Storage, Inc | Content archiving in a distributed storage network |
10871905, | Aug 31 2015 | Pure Storage, Inc | Extra write scaling for performance and reliability |
10891058, | May 29 2015 | Pure Storage, Inc | Encoding slice verification information to support verifiable rebuilding |
10891390, | Apr 02 2014 | Pure Storage, Inc.; Pure Storage, Inc | Adjusting data storage efficiency of data in a storage network |
10891400, | Jan 28 2010 | Pure Storage, Inc | Secure data transmission utilizing distributed storage |
10896090, | Jul 18 2016 | International Business Machines Corporation | Focused storage pool expansion to prevent a performance degradation |
10901618, | Dec 29 2009 | Pure Storage, Inc. | Storage unit (SU) operative within non-disruptive and performant migration |
10901642, | Jun 28 2017 | International Business Machines Corporation | Managing data container instances in a dispersed storage network |
10901650, | Aug 18 2016 | International Business Machines Corporation | Using a master encryption key to sanitize a dispersed storage network memory |
10901870, | Jun 30 2016 | International Business Machines Corporation | Managing configuration updates in a dispersed storage network |
10904214, | Aug 26 2016 | International Business Machines Corporation | Securing storage units in a dispersed storage network |
10904320, | Apr 26 2010 | Pure Storage, Inc. | Performance testing in a distributed storage network based on memory type |
10904336, | Sep 30 2005 | Pure Storage, Inc | Predictive rebalancing according to future usage expectations |
10904337, | Feb 20 2017 | International Business Machines Corporation | Zone storage—resilient and efficient storage transactions |
10911230, | May 19 2010 | Pure Storage, Inc | Securely activating functionality of a computing device in a dispersed storage network |
10915253, | Mar 29 2016 | Green Market Square Limited | Temporary enrollment in anonymously obtained credentials |
10915261, | Mar 31 2015 | Pure Storage, Inc | Selecting a set of storage units in a distributed storage network |
10922179, | Nov 29 2010 | Pure Storage, Inc | Post rebuild verification |
10922181, | Jan 06 2014 | Pure Storage, Inc | Using storage locations greater than an IDA width in a dispersed storage network |
10922198, | Apr 30 2015 | Pure Storage, Inc. | Cloning failing memory devices in a dispersed storage network |
10929068, | Sep 14 2016 | International Business Machines Corporation | Pre-caching data according to a current or predicted requester location |
10929214, | Feb 17 2017 | International Business Machines Corporation | Eventual consistency intent cleanup in a dispersed storage network |
10936388, | Sep 29 2017 | International Business Machines Corporation | Slice metadata for optimized dispersed storage network (DSN) memory storage strategies |
10936417, | Jun 30 2015 | Pure Storage, Inc | Multi-stage slice recovery in a dispersed storage network |
10936448, | Feb 05 2013 | Pure Storage, Inc | Using dispersed computation to change dispersal characteristics |
10936452, | Nov 14 2018 | International Business Machines Corporation | Dispersed storage network failover units used to improve local reliability |
10938418, | Sep 30 2005 | Pure Storage, Inc | Online disk replacement/removal |
10942684, | Jul 20 2016 | International Business Machines Corporation | Assigning prioritized rebuild resources optimally |
10942806, | Jul 12 2016 | International Business Machines Corporation | Manipulating a distributed agreement protocol to identify a desired set of storage units |
10944712, | Dec 12 2011 | Pure Storage, Inc. | Partial task messaging in a distributed storage system |
10949301, | Jun 06 2011 | Pure Storage, Inc | Pre-positioning pre-stored content in a content distribution system |
10951358, | Jun 16 2017 | International Business Machines Corporation | Using slice routers for improved storage placement determination |
10951743, | Feb 04 2011 | ADAPTIV NETWORKS INC | Methods for achieving target loss ratio |
10956091, | Aug 10 2016 | International Business Machines Corporation | Expanding a dispersed storage network (DSN) |
10956266, | Jun 01 2017 | International Business Machines Corporation | Processing data access transactions in a dispersed storage network using source revision indicators |
10956292, | Apr 26 2010 | Pure Storage, Inc.; Pure Storage, Inc | Utilizing integrity information for data retrieval in a vast storage system |
10958430, | Aug 17 2011 | Pure Storage, Inc. | Log record generation and storage based on associated principals |
10958731, | Jun 06 2016 | International Business Machines Corporation | Indicating multiple encoding schemes in a dispersed storage network |
10963180, | Mar 31 2015 | Pure Storage, Inc | Adding incremental storage resources in a dispersed storage network |
10963341, | Mar 29 2016 | International Business Machines Corporation | Isolating the introduction of software defects in a dispersed storage network |
10963343, | Dec 02 2014 | Pure Storage, Inc. | Facilitation of temporary storage of a slice in a storage unit (SU) |
10969972, | Jun 20 2017 | International Business Machines Corporation | Validating restricted operations on a client using trusted environments |
10970168, | Oct 06 2010 | Pure Storage, Inc | Adjusting dispersed storage error encoding parameters based on path performance |
10970171, | Jun 22 2010 | Pure Storage, Inc | Metadata access in a dispersed storage network |
10972541, | Sep 30 2005 | Pure Storage, Inc. | Priority encoded data slice retention |
10977123, | Mar 29 2016 | International Business Machines Corporation | Coordination protocol between dispersed storage processing units and rebuild modules |
10977127, | Feb 26 2014 | Pure Storage, Inc. | Concatenating data objects in a vast data storage network |
10977194, | Nov 28 2011 | Pure Storage, Inc | Securely storing random keys in a dispersed storage network |
10996895, | Mar 31 2015 | Pure Storage, Inc. | Selecting a subset of storage units in a dispersed storage network |
10997022, | Apr 26 2010 | Pure Storage, Inc. | Storing data in accordance with encoded data slice revision levels in a storage network |
10997023, | Jul 31 2015 | Pure Storage, Inc. | Processing a request for encoded data in a storage network |
10997136, | Aug 27 2009 | Pure Storage, Inc | Method and apparatus for identifying data inconsistency in a dispersed storage network |
11010246, | Jun 03 2016 | International Business Machines Corporation | Multiple writes using inter-site storage unit relationship |
11010357, | Jun 05 2014 | Pure Storage, Inc | Reliably recovering stored data in a dispersed storage network |
11016702, | Jul 27 2011 | Pure Storage, Inc | Hierarchical event tree |
11023338, | Feb 15 2017 | International Business Machines Corporation | Handling storage unit failure in a dispersed storage network |
11025965, | Oct 26 2016 | International Business Machines Corporation | Pre-fetching content among DVRs |
11036392, | Feb 26 2013 | Pure Storage, Inc | Determining when to use convergent encryption |
11036584, | May 22 2013 | Pure Storage, Inc. | Dynamically adjusting write requests for a multiple phase write operation |
11055177, | Mar 31 2015 | Pure Storage, Inc | Correlating operational information with an error condition in a dispersed storage network |
11061597, | Nov 09 2010 | Pure Storage, Inc | Supporting live migrations and re-balancing with a virtual storage unit |
11061613, | Apr 11 2017 | International Business Machines Corporation | Dynamic retention policies and optional deletes |
11068163, | Aug 02 2010 | Pure Storage, Inc. | Storing a credential in a storage network |
11070318, | Aug 02 2012 | Pure Storage, Inc. | Forwarding data amongst cooperative computing devices of a massive data ingestion system |
11073993, | Aug 26 2010 | Pure Storage, Inc. | Predicting usable memory |
11080138, | Apr 26 2010 | Pure Storage, Inc.; Pure Storage, Inc | Storing integrity information in a vast storage system |
11093327, | Jun 25 2012 | Pure Storage, Inc. | Failure abatement approach for failed storage units common to multiple vaults |
11093330, | Feb 26 2014 | Pure Storage, Inc. | Combining data objects in a vast data storage network |
11099763, | Jun 30 2014 | Pure Storage, Inc. | Migrating generational storage to a decentralized agreement protocol paradigm |
11101929, | Aug 02 2012 | Pure Storage, Inc. | Dynamically caching data for storage in storage units of a content delivery network |
11113008, | Feb 05 2013 | Pure Storage, Inc. | Data restoration using partially encoded slice requests |
11113009, | Oct 08 2012 | Pure Storage, Inc. | Computing device facilitating prioritization of task execution within a distributed storage network (DSN) |
11115221, | May 29 2015 | Pure Storage, Inc | Verifying a rebuilt encoded data slice using slice verification information |
11115469, | Jun 28 2016 | International Business Machines Corporation | Efficient updates within a dispersed storage network |
11132257, | Jan 04 2013 | Pure Storage, Inc | Prioritized rebuilds using dispersed indices |
11132340, | Jul 01 2013 | Pure Storage, Inc | Storage unit selection of memory devices used for distributed storage network memory |
11144204, | Feb 26 2014 | Pure Storage, Inc. | Recovering data in a storage network |
11153384, | May 15 2017 | International Business Machines Corporation | Rebuilding derived content |
11157362, | Jul 26 2016 | International Business Machines Corporation | Elastic storage in a dispersed storage network |
11157366, | Jul 31 2015 | Pure Storage, Inc. | Securing data in a dispersed storage network |
11169731, | Oct 31 2016 | International Business Machines Corporation | Managing storage resources in a dispersed storage network |
11182082, | Mar 29 2016 | Green Market Square Limited | Monitoring and sharing registry states |
11182251, | Jul 01 2013 | Pure Storage, Inc. | Rebuilding an encoded data slice utilizing integrity check values |
11188665, | Feb 27 2015 | Pure Storage, Inc | Using internal sensors to detect adverse interference and take defensive actions |
11194662, | Sep 30 2005 | Pure Storage, Inc | Digest listing decomposition |
11194672, | Sep 30 2005 | Pure Storage, Inc. | Storage network with connection security and methods for use therewith |
11204723, | Jun 05 2017 | International Business Machines Corporation | Implicit leader election in a distributed storage network |
11204822, | Feb 29 2016 | Pure Storage, Inc. | Distributed storage network (DSN) configuration adaptation based on estimated future loading |
11204836, | Jan 31 2014 | Pure Storage, Inc. | Using trap slices for anomaly detection in a distributed storage network |
11210151, | Jan 30 2015 | Pure Storage, Inc. | Peer-assisted data rebuilding |
11221916, | Jul 01 2013 | Pure Storage, Inc | Prioritized data reconstruction in a dispersed storage network |
11221917, | Sep 30 2005 | Pure Storage, Inc. | Integrity processing in a dispersed storage network |
11226860, | May 30 2013 | Pure Storage, Inc | Difference based rebuild list scanning |
11226980, | Mar 13 2017 | International Business Machines Corporation | Replicating containers in object storage using intents |
11232093, | Mar 02 2012 | Pure Storage, Inc | Slice migration in a dispersed storage network |
11233643, | Apr 20 2009 | Pure Storage, Inc. | Distributed data storage system data decoding and decryption |
11237904, | Jul 14 2016 | International Business Machines Corporation | Tracking data access in a dispersed storage network |
11243839, | Aug 17 2011 | Pure Storage, Inc. | Audit file generation in a dispersed storage network |
11250141, | Jul 29 2016 | International Business Machines Corporation | Securely storing data in an elastically scalable dispersed storage network |
11256558, | Dec 02 2014 | Pure Storage, Inc. | Prioritized data rebuilding in a dispersed storage network based on consistency requirements |
11272009, | Sep 30 2005 | Pure Storage, Inc. | Managed data slice maintenance in a distributed storage system |
11281532, | Dec 31 2014 | Pure Storage, Inc. | Synchronously storing data in a dispersed storage network |
11283871, | Jun 30 2014 | Pure Storage, Inc. | Processing data access requests for different types of data using a decentralized agreement protocol |
11294568, | Feb 26 2013 | Pure Storage, Inc. | Moving data from a buffer to other storage |
11294745, | Feb 05 2013 | Pure Storage, Inc. | Storage unit (SU) implemented to service alternate read slice requests |
11294765, | Feb 26 2014 | Pure Storage, Inc. | Resolving write conflicts in a dispersed storage network |
11301592, | Jan 28 2010 | Pure Storage, Inc | Distributed storage with data obfuscation and method for use therewith |
11307930, | Nov 29 2010 | Pure Storage, Inc.; Pure Storage, Inc | Optimized selection of participants in distributed data rebuild/verification |
11321172, | Dec 31 2014 | Pure Storage, Inc. | Vault transformation within a storage network |
11321174, | Sep 08 2014 | Pure Storage, Inc. | Using estimated efficiency models to select a processing unit in a distributed storage network |
11327674, | Jun 05 2012 | Pure Storage, Inc | Storage vault tiering and data migration in a distributed storage network |
11327689, | Nov 30 2015 | Pure Storage, Inc. | Storage unit including memories of different operational speeds for optimizing data storage functions |
11327840, | Jun 30 2015 | Pure Storage, Inc. | Multi-stage data recovery in a distributed storage network |
11329830, | Nov 01 2011 | Pure Storage, Inc.; Pure Storage, Inc | Dispersed credentials |
11334425, | Sep 06 2011 | Pure Storage, Inc. | Transmitting synchronized data streams in a distributed storage network |
11336428, | Jul 31 2014 | Pure Storage, Inc. | Blinded passwords for a distributed storage system |
11340788, | Dec 29 2009 | Pure Storage, Inc | Security checks for proxied requests |
11340988, | Sep 30 2005 | Pure Storage, Inc | Generating integrity information in a vast storage system |
11340993, | Jan 06 2014 | Pure Storage, Inc | Deferred rebuilding with alternate storage locations |
11347590, | Apr 02 2014 | Pure Storage, Inc.; Pure Storage, Inc | Rebuilding data in a distributed storage network |
11360851, | Aug 31 2012 | Pure Storage, Inc | Duplicating authentication information between connections |
11360852, | Jun 25 2012 | Pure Storage, Inc. | Selection of memory in a distributed data storage network |
11366939, | Jan 28 2010 | Pure Storage, Inc. | Secure data transmission utilizing a set of obfuscated encoded data slices |
11385803, | Mar 29 2016 | Green Market Square Limited | Cycling out dispersed storage processing units from access pools to perform expensive operations |
11385964, | Jan 30 2015 | Pure Storage, Inc. | Maintaining storage of encoded data slices |
11394779, | Oct 29 2009 | Pure Storage, Inc. | Storing all or nothing encoded data chunks in a storage network |
11398988, | Jun 30 2014 | Pure Storage, Inc. | Selection of access resources in a distributed storage network |
11409767, | Sep 13 2012 | Pure Storage, Inc. | Rebuilding failed slices in a vast storage network |
11410019, | Apr 30 2015 | Pure Storage, Inc. | Verifying system registry files in a storage network |
11412041, | Jun 25 2018 | International Business Machines Corporation | Automatic intervention of global coordinator |
11416149, | Dec 29 2009 | Pure Storage, Inc. | Selecting a processing unit in accordance with a customizable data processing plan |
11416179, | Oct 30 2009 | Pure Storage, Inc. | Storage unit solicitation for encoded data slice storage |
11416339, | Sep 30 2005 | Pure Storage, Inc. | Validating requests based on stored vault information |
11416340, | Jan 04 2013 | Pure Storage, Inc. | Storage system with multiple storage types in a vast storage network |
11418580, | Apr 01 2011 | Pure Storage, Inc | Selective generation of secure signatures in a distributed storage network |
11418591, | Dec 05 2012 | Pure Storage, Inc. | Write response thresholds |
11422711, | Aug 31 2015 | Pure Storage, Inc. | Write performance distribution monitoring for write operation adaptation |
11429486, | Feb 27 2010 | Pure Storage, Inc. | Rebuilding data via locally decodable redundancy in a vast storage network |
11442921, | Sep 05 2014 | Pure Storage, Inc | Data access in a dispersed storage network with consistency |
11445052, | Aug 04 2004 | ADAPTIV NETWORKS INC | System and method for achieving accelerated throughput |
11449280, | Apr 30 2014 | Pure Storage, Inc. | Dynamic provisioning and activation of storage pools |
11455100, | Feb 23 2017 | International Business Machines Corporation | Handling data slice revisions in a dispersed storage network |
11463420, | Dec 12 2011 | Pure Storage, Inc. | Storage unit partial task processing |
11474729, | Jun 30 2014 | Pure Storage, Inc | Updating the configuration of storage units of a storage network |
11474902, | Jun 02 2017 | International Business Machines Corporation | Indicating data health in a DSN memory |
11474903, | Sep 30 2005 | Pure Storage, Inc | Rebuilding of encoded data slices using locally decodable code segments |
11474958, | Nov 28 2011 | Pure Storage, Inc. | Generating and queuing system messages with priorities in a storage network |
11477253, | Sep 22 2009 | Qualcomm Incorporated | Enhanced block-request streaming system using signaling or block creation |
11487620, | Feb 27 2010 | Pure Storage, Inc. | Utilizing locally decodable redundancy data in a vast storage network |
11507459, | Oct 08 2012 | Pure Storage, Inc. | Migration of data in a distributed storage network using storage records |
11513685, | Feb 26 2014 | Pure Storage, Inc. | Retrieving data in a storage network |
11526398, | Oct 06 2010 | Pure Storage, Inc. | Determining an error encoding function ratio based on path performance |
11537470, | Aug 17 2011 | Pure Storage, Inc. | Audit record aggregation in a storage network |
11543963, | Jul 31 2013 | Pure Storage, Inc. | Storage unit shutdown in a distributed storage network using a load-balancer |
11543964, | Jan 04 2013 | Pure Storage, Inc. | Efficient rebuilding of an encoded data slice |
11544146, | Sep 30 2005 | Pure Storage, Inc. | Utilizing integrity information in a vast storage system |
11550501, | Feb 28 2017 | International Business Machines Corporation | Storing data sequentially in zones in a dispersed storage network |
11550515, | May 29 2015 | Pure Storage, Inc. | Determining a storage location according to data retention policies |
11556435, | Feb 05 2013 | Pure Storage, Inc. | Modifying storage of encoded data slices based on changing storage parameters |
11567702, | Mar 31 2015 | Pure Storage, Inc. | Resolving detected access anomalies in a vast storage network |
11567832, | Dec 02 2014 | Pure Storage, Inc. | Using copied data in a distributed storage network |
11580076, | Dec 05 2012 | Pure Storage, Inc. | Prioritizing rebuilding erasure coded data in a storage network |
11582299, | Jan 26 2016 | Pure Storage, Inc | Allocating cache memory in a dispersed storage network |
11586755, | Apr 02 2014 | Pure Storage, Inc. | Adjusting efficiency of storing data in a storage network |
11588892, | Jul 31 2013 | Pure Storage, Inc. | Adaptive rebuilding of encoded data slices in a storage network |
11593026, | Mar 06 2020 | International Business Machines Corporation | Zone storage optimization using predictive protocol patterns |
11593029, | Jul 27 2011 | Pure Storage, Inc. | Identifying a parent event associated with child error states |
11599419, | May 22 2013 | Pure Storage, Inc. | Determining a performance threshold for a write operation |
11604587, | Aug 29 2013 | Pure Storage, Inc. | Processing of a vault provisioning request within a data storage system |
11604707, | Dec 31 2014 | Pure Storage, Inc | Handling failures when synchronizing objects during a write operation |
11606431, | Jun 30 2014 | Pure Storage, Inc. | Maintaining failure independence for storage of a set of encoded data slices |
11616653, | Nov 01 2011 | Pure Storage, Inc.; Pure Storage, Inc | Storing error-encoded data slices in vast network based on storage requirements and parameters |
11620087, | Jun 05 2017 | International Business Machines Corporation | Implicit leader election in a distributed storage network |
11620185, | Sep 30 2005 | Pure Storage, Inc. | Integrity processing in a dispersed storage network |
11620232, | Jun 23 2017 | International Business Machines Corporation | Associating a processing thread and memory section to a memory device |
11625300, | Feb 27 2010 | Pure Storage, Inc. | Recovering missing data in a storage network via locally decodable redundancy data |
11640248, | Aug 31 2015 | Pure Storage, Inc. | Variable write threshold storage replication sites in a distributed storage network |
11645133, | Feb 05 2013 | Pure Storage, Inc. | Modifying encoded data in a distributed storage network |
11650878, | Jun 25 2012 | Pure Storage, Inc. | Failure abatement approach for a failed storage unit |
11650879, | Sep 08 2014 | Pure Storage, Inc. | Generating estimated efficiency models for selecting a processing unit in a storage network |
11650883, | Jan 06 2014 | Pure Storage, Inc. | Batch rebuilding a set of encoded data slices |
11656941, | Feb 26 2014 | Pure Storage, Inc. | Retrieval of data objects with a common trait in a storage network |
11662915, | Aug 26 2010 | Pure Storage, Inc. | Parity in a vast storage system using alternate memory |
11669397, | Apr 25 2012 | Pure Storage, Inc. | Partial task processing with data slice errors |
11669546, | Jun 30 2015 | Pure Storage, Inc | Synchronizing replicated data in a storage network |
11675502, | Apr 01 2011 | Pure Storage, Inc. | Transferring encoded data slices stored in flash memory of a storage network |
11681582, | Feb 26 2014 | Pure Storage, Inc. | Write lock conflicts in a storage network |
11693985, | Feb 27 2015 | Pure Storage, Inc | Stand-by storage nodes in storage network |
11704184, | Feb 29 2016 | Pure Storage, Inc. | Storage network with enhanced data access performance |
11704195, | Jun 06 2011 | Pure Storage, Inc. | Pre-positioning target content in a storage network |
11714719, | Jun 25 2012 | Pure Storage, Inc. | Tiered storage of data in a storage network |
11714720, | Jan 30 2015 | Pure Storage, Inc. | Maintaining storage of data slices in accordance with a slice reduction scheme |
11726875, | Apr 26 2010 | Pure Storage, Inc. | Verifying revision levels while storing data in a storage network |
11728964, | Jul 31 2014 | Pure Storage, Inc | Performance aided data migration in a distributed storage network |
11734196, | Nov 28 2011 | Pure Storage, Inc. | Decrypting secure packages in a storage network |
11734463, | Jan 28 2010 | Pure Storage, Inc. | Obfuscating a set of encoded data slices |
11740972, | May 19 2010 | Pure Storage, Inc.; Pure Storage, Inc | Migrating data in a vast storage network |
11741125, | Sep 13 2012 | Pure Storage, Inc. | Storage network for rebuilding failed slices |
11743317, | Sep 22 2009 | Qualcomm Incorporated | Enhanced block-request streaming using block partitioning or request controls for improved client-side handling |
11755413, | Sep 30 2005 | Pure Storage, Inc. | Utilizing integrity information to determine corruption in a vast storage system |
11762745, | Oct 30 2009 | Pure Storage, Inc. | Encoding data based on targeted storage unit information |
11770432, | Sep 22 2009 | Qualcomm Incorporated | Enhanced block-request streaming system for handling low-latency streaming |
11770448, | Aug 29 2013 | Pure Storage, Inc. | Rotating offline storage units in a dispersed storage network |
11782789, | Jul 31 2015 | Pure Storage, Inc | Encoding data and associated metadata in a storage network |
11789631, | Nov 29 2010 | Pure Storage, Inc | Utilizing metadata storage trees in a vast storage network |
11789832, | Oct 29 2014 | Pure Storage, Inc. | Retrying failed write operations in a distributed storage network |
11811532, | Aug 02 2012 | Pure Storage, Inc. | Dynamically processing data in a vast data ingestion system |
11815998, | Oct 06 2010 | Pure Storage, Inc. | Selecting routing paths for sending encoded data slices |
11818089, | Dec 12 2011 | Pure Storage, Inc. | Processing requests for a data range within a data object in a distributed storage system |
11822824, | Mar 31 2015 | Pure Storage, Inc. | Processing access anomalies in a storage network |
11836043, | Mar 12 2010 | Pure Storage, Inc | Dispersed storage network file system directory |
11836369, | Feb 27 2015 | Pure Storage, Inc. | Storing data in an expanded storage pool of a vast storage network |
11841770, | Sep 30 2005 | Pure Storage, Inc. | Storage unit connection security in a storage network and methods for use therewith |
11853547, | May 09 2011 | Pure Storage, Inc. | Generating audit record data files for a transaction in a storage network |
11860711, | Apr 02 2014 | Pure Storage, Inc | Storage of rebuilt data in spare memory of a storage network |
11860735, | Jan 04 2013 | Pure Storage, Inc. | Storage network with multiple storage types |
11868498, | Apr 20 2009 | Pure Storage, Inc. | Storage integrity processing in a storage network |
11870916, | Nov 01 2011 | Pure Storage, Inc. | Data availability in vast network in event of memory device failure |
11886752, | May 29 2015 | Pure Storage, Inc. | Method for determining the legal basis for transfer of a data object |
11892908, | Jul 01 2013 | Pure Storage, Inc. | Prioritizing locations for error scanning in a storage network |
11895098, | Dec 12 2011 | Pure Storage, Inc. | Storing encrypted chunksets of data in a vast storage network |
11907060, | Sep 06 2011 | Pure Storage, Inc.; Pure Storage, Inc | Coding of data streams in a vast storage network |
11907566, | Sep 24 2015 | Pure Storage, Inc. | Coordination of task execution in a distributed storage network |
11907585, | Feb 28 2017 | International Business Machines Corporation | Storing data sequentially in zones in a dispersed storage network |
11907824, | Apr 30 2015 | Pure Storage, Inc. | Storage network with system registry file verification |
11909418, | Sep 30 2005 | Pure Storage, Inc. | Access authentication in a dispersed storage network |
6141788, | Mar 13 1998 | THE CHASE MANHATTAN BANK, AS COLLATERAL AGENT | Method and apparatus for forward error correction in packet networks |
6278715, | Nov 05 1998 | Qualcom Incorporated | System and method for reducing deinterleaver memory requirements through chunk allocation |
6336200, | May 22 1998 | KENCAST, INC | Method for validating communicated packets of data and for locating erroneous packets |
6460153, | Mar 26 1999 | Microsoft Technology Licensing, LLC | Apparatus and method for unequal error protection in multiple-description coding using overcomplete expansions |
6470469, | Mar 26 1999 | Microsoft Technology Licensing, LLC | Reconstruction of missing coefficients of overcomplete linear transforms using projections onto convex sets |
6564229, | Jun 08 2000 | UNILOC 2017 LLC | System and method for pausing and resuming move/copy operations |
6570843, | May 22 1998 | KENCAST, INC | Method for minimizing the number of data packets required for retransmission in a two-way communication system |
6574218, | May 25 1999 | Open Invention Network LLC | Method and system for spatially disjoint joint source and channel coding for high-quality real-time multimedia streaming over connection-less networks via circuit-switched interface links |
6606723, | May 22 1998 | KENCAST, INC | System, computer-readable medium, and method for validating communicated packets of data and for locating erroneous packets |
6609223, | Apr 06 1999 | KENCAST, INC | METHOD FOR PACKET-LEVEL FEC ENCODING, IN WHICH ON A SOURCE PACKET-BY-SOURCE PACKET BASIS, THE ERROR CORRECTION CONTRIBUTIONS OF A SOURCE PACKET TO A PLURALITY OF WILDCARD PACKETS ARE COMPUTED, AND THE SOURCE PACKET IS TRANSMITTED THEREAFTER |
6694253, | Oct 09 2001 | HEWLETT-PACKARD DEVELOPMENT COMPANY L P | Navigation device for receiving satellite broadcast distribution of map data |
6711709, | Jun 24 1998 | Unisys Corporation | Integrated block checking system for rapid file transfer of compressed data |
6775298, | Aug 12 1999 | IBM Corporation | Data transfer mechanism for handheld devices over a wireless communication link |
6915478, | Dec 21 2001 | Texas Instruments Incorporated | Method and apparatus for computing Reed-Solomon error magnitudes |
6950642, | Jul 03 2001 | Microsoft Technology Licensing, LLC | System and method for reducing noise in a recording receiver |
6970465, | Oct 26 2001 | Microsoft Technology Licensing, LLC | System and method for locating a data frame within a transmitted data stream |
6999545, | Oct 26 2001 | Microsoft Technology Licensing, LLC | Method and system for undersampled symbol synchronization |
7024609, | Apr 20 2001 | KENCAST, INC | System for protecting the transmission of live data streams, and upon reception, for reconstructing the live data streams and recording them into files |
7219289, | Mar 15 2005 | Tandberg Data Corporation | Multiply redundant raid system and XOR-efficient method and apparatus for implementing the same |
7243285, | Feb 05 1999 | Qualcomm Incorporated | Systems and methods for broadcasting information additive codes |
7349675, | Jul 03 2001 | Microsoft Technology Licensing, LLC | Low latency data stream encoding and transmission |
7349691, | Jul 03 2001 | Microsoft Technology Licensing, LLC | System and apparatus for performing broadcast and localcast communications |
7386621, | Aug 31 2000 | Sharp Kabushiki Kaisha | Efficient and reliable transmission via a hybrid broadcast-point-to-point system |
7409627, | May 03 2002 | Electronics and Telecommunications Research Institute; Kyung Hee University | Method for transmitting and receiving variable length packets based on forward error correction (FEC) coding |
7472334, | Oct 15 2003 | Efficient method for the reconstruction of digital information | |
7533324, | Sep 22 2004 | KENCAST, INC | System, method and apparatus for FEC encoding and decoding |
7546427, | Sep 30 2005 | Pure Storage, Inc | System for rebuilding dispersed data |
7561897, | Jul 03 2001 | Microsoft Technology Licensing, LLC | System and apparatus for performing broadcast and localcast communications |
7574570, | Sep 30 2005 | Pure Storage, Inc | Billing system for information dispersal system |
7574579, | Sep 30 2005 | Pure Storage, Inc | Metadata management system for an information dispersed storage system |
7577407, | Jul 03 2001 | Microsoft Technology Licensing, LLC | System and apparatus for performing broadcast and localcast communications |
7577457, | Jul 03 2001 | Microsoft Technology Licensing, LLC | System and apparatus for performing broadcast and localcast communications |
7593755, | Sep 15 2004 | Microsoft Technology Licensing, LLC | Display of wireless data |
7653363, | Jul 03 2001 | Microsoft Technology Licensing, LLC | System and apparatus for performing broadcast and localcast communications |
7739580, | Feb 17 2005 | KENCAST, INC | System, method and apparatus for reducing blockage losses on information distribution networks |
7742501, | Aug 06 2004 | ADAPTIV NETWORKS INC | System and method for higher throughput through a transportation network |
7787389, | Aug 20 2001 | QUALCOM INCORPORATED, A DELAWARE CORPORATION | Method and system for utilization of an outer decoder in a broadcast services communication system |
7792121, | Jan 03 2003 | Microsoft Technology Licensing, LLC | Frame protocol and scheduling system |
7904475, | Oct 09 2007 | Pure Storage, Inc | Virtualized data storage vaults on a dispersed data storage network |
7949778, | Mar 27 2007 | Kencast, Inc.; KENCAST, INC | Systems, methods, apparatus and computer program products for providing packet-level FEC with higher throughput using user datagram protocol (UDP) |
7953114, | Aug 06 2004 | ADAPTIV NETWORKS INC | System and method for achieving accelerated throughput |
7953937, | Sep 30 2005 | Pure Storage, Inc | Systems, methods, and apparatus for subdividing data for storage in a dispersed data storage grid |
7961790, | Mar 18 2004 | STMICROELECTRONICS S R L | Method for encoding/decoding signals with multiple descriptions vector and matrix |
8009696, | Aug 06 2004 | ADAPTIV NETWORKS INC | System and method for achieving accelerated throughput |
8140777, | Sep 30 2005 | Pure Storage, Inc | Billing system for information dispersal system |
8171101, | Sep 30 2005 | Pure Storage, Inc | Smart access to a dispersed data storage network |
8171355, | Mar 17 2006 | Fujitsu Limited | Data transferring method, and communication system and program applied with the method |
8179919, | Dec 23 2008 | Industrial Technology Research Institute | Method and apparatus for data package in broadcast networks |
8190662, | Oct 09 2007 | Pure Storage, Inc | Virtualized data storage vaults on a dispersed data storage network |
8200788, | Oct 09 2007 | Pure Storage, Inc | Slice server method and apparatus of dispersed digital storage vaults |
8223643, | Sep 06 2005 | KENCAST, INC | Method for packet-level FEC encoding a stream of source packets using shifted interleaving |
8230316, | Jan 25 2008 | Nevion Europe AS | Forward error correction for burst and random packet loss for real-time multi-media communication |
8245096, | Sep 22 2004 | KENCAST, INC | System, method and apparatus for FEC encoding and decoding |
8275744, | Jul 30 2009 | Pure Storage, Inc | Dispersed storage network virtual address fields |
8275966, | Jul 30 2009 | Pure Storage, Inc | Dispersed storage network virtual address generations |
8281181, | Sep 30 2009 | Pure Storage, Inc | Method and apparatus for selectively active dispersed storage memory device utilization |
8281182, | Mar 12 2010 | Pure Storage, Inc | Dispersed storage unit selection |
8285878, | Oct 09 2007 | Pure Storage, Inc | Block based access to a dispersed data storage network |
8291277, | Oct 29 2009 | Pure Storage, Inc | Data distribution utilizing unique write parameters in a dispersed storage system |
8291300, | Aug 21 2003 | Qualcomm Incorporated | Outer coding methods for broadcast/multicast content and related apparatus |
8307263, | Oct 05 2009 | Pure Storage, Inc | Method and apparatus for dispersed storage of streaming multi-media data |
8351600, | Oct 30 2009 | Pure Storage, Inc | Distributed storage network and method for encrypting and decrypting data using hash functions |
8352501, | Jan 28 2010 | Pure Storage, Inc | Dispersed storage network utilizing revision snapshots |
8352719, | Jul 31 2009 | Pure Storage, Inc | Computing device booting utilizing dispersed storage |
8352782, | Sep 30 2005 | Pure Storage, Inc | Range based rebuilder for use with a dispersed data storage network |
8352831, | Dec 29 2009 | Pure Storage, Inc | Digital content distribution utilizing dispersed storage |
8357048, | Sep 29 2009 | Pure Storage, Inc | Interactive gaming utilizing a dispersed storage network |
8365052, | Sep 12 2006 | Tamagawa K-12 & University | Encoding device for error correction, encoding method for error correction and encoding program for error correction |
8370600, | Mar 12 2010 | Pure Storage, Inc | Dispersed storage unit and method for configuration thereof |
8381025, | Sep 30 2009 | Pure Storage, Inc | Method and apparatus for dispersed storage memory device selection |
8402344, | Oct 05 2009 | Pure Storage, Inc | Method and apparatus for controlling dispersed storage of streaming data |
8402350, | Feb 17 2005 | KENCAST, INC | System, method and apparatus for reducing blockage losses on information distribution networks |
8418034, | Feb 08 2008 | Kencast, Inc.; KENCAST, INC | Systems, methods, apparatus and computer program products for highly reliable file delivery using compound and braided FEC encoding and decoding |
8433978, | Oct 29 2009 | Pure Storage, Inc | Data distribution utilizing unique read parameters in a dispersed storage system |
8437370, | Feb 04 2011 | ADAPTIV NETWORKS INC | Methods for achieving target loss ratio |
8438456, | Oct 05 2009 | Pure Storage, Inc | Method and apparatus for dispersed storage of streaming data |
8448016, | Jul 31 2009 | Pure Storage, Inc | Computing core application access utilizing dispersed storage |
8448044, | May 19 2010 | Pure Storage, Inc | Retrieving data from a dispersed storage network in accordance with a retrieval threshold |
8451770, | May 06 2002 | Qualcomm Incorporated | Multi-media broadcast and multicast service (MBMS) in a wireless communication system |
8458233, | Nov 25 2009 | Pure Storage, Inc | Data de-duplication in a dispersed storage network utilizing data characterization |
8464133, | Oct 30 2009 | Pure Storage, Inc | Media content distribution in a social network utilizing dispersed storage |
8468137, | Oct 30 2009 | Pure Storage, Inc | Distributed storage network that processes data in either fixed or variable sizes |
8468311, | Sep 30 2005 | Pure Storage, Inc | System, methods, and apparatus for subdividing data for storage in a dispersed data storage grid |
8468368, | Dec 29 2009 | Pure Storage, Inc | Data encryption parameter dispersal |
8468609, | Aug 27 2009 | Pure Storage, Inc | Authenticating use of a dispersed storage network |
8473677, | Sep 29 2009 | Pure Storage, Inc | Distributed storage network memory access based on memory state |
8473833, | Jan 25 2008 | Nevion Europe AS | Forward error correction method |
8478865, | Oct 09 2007 | Pure Storage, Inc | Systems, methods, and apparatus for matching a connection request with a network interface adapted for use with a dispersed data storage network |
8478937, | Sep 30 2009 | Pure Storage, Inc | Method and apparatus for dispersed storage memory device utilization |
8479078, | Oct 30 2009 | Pure Storage, Inc | Distributed storage network for modification of a data object |
8479082, | Apr 07 2010 | Indian Institute of Technology Delhi | Packet error correction in networks |
8489915, | Jul 30 2009 | Pure Storage, Inc | Method and apparatus for storage integrity processing based on error types in a dispersed storage network |
8495466, | Mar 16 2010 | Pure Storage, Inc | Adjusting data dispersal in a dispersed storage network |
8504847, | Apr 20 2009 | Pure Storage, Inc | Securing data in a dispersed storage network using shared secret slices |
8521697, | May 19 2010 | Pure Storage, Inc | Rebuilding data in multiple dispersed storage networks |
8522022, | Oct 30 2009 | Pure Storage, Inc | Distributed storage network employing multiple encoding layers in data routing |
8522074, | Oct 29 2009 | Pure Storage, Inc | Intentionally introduced storage deviations in a dispersed storage network |
8522113, | Jan 28 2010 | Pure Storage, Inc | Selecting storage facilities and dispersal parameters in a dispersed storage network |
8527705, | Mar 16 2010 | Pure Storage, Inc | Temporarily caching an encoded data slice |
8527807, | Nov 25 2009 | Pure Storage, Inc | Localized dispersed storage memory system |
8527838, | Jul 31 2009 | Pure Storage, Inc | Memory controller utilizing an error coding dispersal function |
8533256, | Oct 09 2007 | Pure Storage, Inc | Object interface to a dispersed data storage network |
8533424, | Jul 31 2009 | Pure Storage, Inc | Computing system utilizing dispersed storage |
8548003, | Aug 06 2004 | ADAPTIV NETWORKS INC | System and method for achieving accelerated throughput |
8548913, | Sep 29 2009 | Pure Storage, Inc | Method and apparatus to secure an electronic commerce transaction |
8549351, | Oct 09 2007 | Pure Storage, Inc | Pessimistic data reading in a dispersed storage network |
8554994, | Sep 29 2009 | Pure Storage, Inc | Distributed storage network utilizing memory stripes |
8555109, | Jul 30 2009 | Pure Storage, Inc | Method and apparatus for distributed storage integrity processing |
8555130, | Oct 04 2011 | International Business Machines Corporation | Storing encoded data slices in a dispersed storage unit |
8555142, | Jun 22 2010 | Pure Storage, Inc | Verifying integrity of data stored in a dispersed storage memory |
8560794, | Mar 12 2010 | Pure Storage, Inc | Dispersed storage network for managing data deletion |
8560798, | Jul 30 2009 | Pure Storage, Inc | Dispersed storage network virtual address space |
8560855, | Aug 27 2009 | Pure Storage, Inc | Verification of dispersed storage network access control information |
8560882, | Sep 30 2005 | Pure Storage, Inc | Method and apparatus for rebuilding data in a dispersed data storage network |
8566354, | Apr 26 2010 | Pure Storage, Inc | Storage and retrieval of required slices in a dispersed storage network |
8566552, | Mar 12 2010 | Pure Storage, Inc | Dispersed storage network resource allocation |
8572282, | Oct 30 2009 | Pure Storage, Inc | Router assisted dispersed storage network method and apparatus |
8572429, | Oct 09 2007 | Pure Storage, Inc | Optimistic data writing in a dispersed storage network |
8578205, | Mar 15 2010 | Pure Storage, Inc | Requesting cloud data storage |
8589637, | Oct 30 2009 | Pure Storage, Inc | Concurrent set storage in distributed storage network |
8595435, | Jul 30 2009 | Pure Storage, Inc | Dispersed storage write process |
8601259, | Apr 20 2009 | Pure Storage, Inc | Securing data in a dispersed storage network using security sentinel value |
8607122, | Nov 01 2011 | Pure Storage, Inc | Accessing a large data object in a dispersed storage network |
8612821, | Oct 06 2010 | Pure Storage, Inc | Data transmission utilizing route selection and dispersed storage error encoding |
8612831, | Jun 22 2010 | Pure Storage, Inc | Accessing data stored in a dispersed storage memory |
8621268, | Nov 25 2009 | Pure Storage, Inc | Write threshold utilization in a dispersed storage system |
8621269, | Jun 22 2010 | Pure Storage, Inc | Identifying a slice name information error in a dispersed storage network |
8621271, | Aug 26 2010 | Pure Storage, Inc | Reprovisioning a memory device into a dispersed storage network memory |
8621580, | May 19 2010 | Pure Storage, Inc | Retrieving access information in a dispersed storage network |
8625635, | Apr 26 2010 | Pure Storage, Inc | Dispersed storage network frame protocol header |
8625636, | Apr 26 2010 | Pure Storage, Inc | Checked write operation dispersed storage network frame |
8625637, | Apr 26 2010 | Pure Storage, Inc | Conclusive write operation dispersed storage network frame |
8626871, | May 19 2010 | Pure Storage, Inc | Accessing a global vault in multiple dispersed storage networks |
8627065, | Nov 09 2010 | International Business Machines Corporation | Validating a certificate chain in a dispersed storage network |
8627066, | Nov 03 2011 | International Business Machines Corporation | Processing a dispersed storage network access request utilizing certificate chain validation information |
8627091, | Apr 01 2011 | Pure Storage, Inc | Generating a secure signature utilizing a plurality of key shares |
8627114, | Aug 02 2010 | Pure Storage, Inc | Authenticating a data access request to a dispersed storage network |
8630987, | Jul 16 2008 | Pure Storage, Inc | System and method for accessing a data object stored in a distributed storage network |
8649399, | Apr 26 2010 | Pure Storage, Inc | Check operation dispersed storage network frame |
8649521, | Jan 28 2010 | Pure Storage, Inc | Obfuscation of sequenced encoded data slices |
8654789, | Apr 26 2010 | Pure Storage, Inc | Intermediate write operation dispersed storage network frame |
8656138, | Oct 06 2010 | Pure Storage, Inc | Efficiently accessing an encoded data slice utilizing a memory bin |
8656187, | Apr 20 2009 | Pure Storage, Inc | Dispersed storage secure data decoding |
8656253, | Jun 06 2011 | Pure Storage, Inc | Storing portions of data in a dispersed storage network |
8667362, | Jun 22 2001 | AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LIMITED | System and method for mitigating burst noise in a communications system |
8677214, | Oct 04 2011 | Pure Storage, Inc | Encoding data utilizing a zero information gain function |
8681787, | Apr 26 2010 | Pure Storage, Inc | Write operation dispersed storage network frame |
8681790, | Apr 26 2010 | Pure Storage, Inc | List digest operation dispersed storage network frame |
8683119, | Mar 15 2010 | Pure Storage, Inc | Access control in a dispersed storage network |
8683205, | May 19 2010 | Pure Storage, Inc | Accessing data utilizing entity registration in multiple dispersed storage networks |
8683231, | Dec 27 2010 | Pure Storage, Inc | Obfuscating data stored in a dispersed storage network |
8683259, | May 19 2010 | Pure Storage, Inc | Accessing data in multiple dispersed storage networks |
8683286, | Nov 01 2011 | Pure Storage, Inc | Storing data in a dispersed storage network |
8688907, | Nov 25 2009 | Pure Storage, Inc | Large scale subscription based dispersed storage network |
8688949, | Feb 01 2011 | Pure Storage, Inc | Modifying data storage in response to detection of a memory system imbalance |
8689354, | Sep 29 2009 | Pure Storage, Inc | Method and apparatus for accessing secure data in a dispersed storage system |
8694545, | Jul 06 2011 | Pure Storage, Inc | Storing data and metadata in a distributed storage network |
8694668, | Sep 30 2005 | Pure Storage, Inc | Streaming media software interface to a dispersed data storage network |
8694752, | Feb 01 2011 | Pure Storage, Inc | Transferring data in response to detection of a memory system imbalance |
8694869, | Aug 21 2003 | Qualcomm, Incorporated | Methods for forward error correction coding above a radio link control layer and related apparatus |
8706980, | Jul 30 2009 | Pure Storage, Inc | Method and apparatus for slice partial rebuilding in a dispersed storage network |
8707088, | May 19 2010 | Pure Storage, Inc | Reconfiguring data storage in multiple dispersed storage networks |
8707091, | Mar 15 2010 | Pure Storage, Inc | Failsafe directory file system in a dispersed storage network |
8707105, | Nov 01 2010 | Pure Storage, Inc | Updating a set of memory devices in a dispersed storage network |
8707139, | Oct 18 2006 | KENCAST, INC | Systems, methods, apparatus, and computer program products for providing forward error correction with low latency |
8707393, | May 09 2011 | Pure Storage, Inc | Providing dispersed storage network location information of a hypertext markup language file |
8717900, | Feb 07 2011 | ADAPTIV NETWORKS INC | Mechanisms to improve the transmission control protocol performance in wireless networks |
8718283, | Apr 27 2001 | Verizon Ireland Limited | System and method for processing a shared secret |
8725940, | Feb 27 2010 | Pure Storage, Inc | Distributedly storing raid data in a raid memory and a dispersed storage network memory |
8726127, | Feb 01 2011 | Pure Storage, Inc | Utilizing a dispersed storage network access token module to access a dispersed storage network memory |
8726136, | Feb 08 2008 | KENCAST, INC | Systems, methods, apparatus and computer program products for highly reliable file delivery using compound and braided FEC encoding and decoding |
8732206, | Oct 29 2009 | Pure Storage, Inc | Distributed storage timestamped revisions |
8744071, | Apr 20 2009 | Pure Storage, Inc | Dispersed data storage system data encryption and encoding |
8751894, | Sep 06 2011 | Pure Storage, Inc | Concurrent decoding of data streams |
8756480, | Jun 06 2011 | Pure Storage, Inc | Prioritized deleting of slices stored in a dispersed storage network |
8761167, | Apr 26 2010 | Pure Storage, Inc | List range operation dispersed storage network frame |
8762343, | Dec 29 2009 | Pure Storage, Inc | Dispersed storage of software |
8762346, | Nov 25 2009 | Pure Storage, Inc | Data de-duplication in a dispersed storage network utilizing data characterization |
8762479, | Jun 06 2011 | Pure Storage, Inc | Distributing multi-media content to a plurality of potential accessing devices |
8762770, | Jul 06 2011 | Pure Storage, Inc | Distribution of a customized preview of multi-media content |
8762793, | Aug 26 2010 | Pure Storage, Inc | Migrating encoded data slices from a re-provisioned memory device of a dispersed storage network memory |
8769035, | Oct 30 2009 | Pure Storage, Inc | Distributed storage network for storing a data object based on storage requirements |
8769379, | Apr 26 2010 | Pure Storage, Inc | Identifying a storage error of a data slice |
8776186, | Oct 04 2011 | Pure Storage, Inc | Obtaining a signed certificate for a dispersed storage network |
8782086, | Aug 27 2009 | Pure Storage, Inc | Updating dispersed storage network access control information |
8782227, | Jun 22 2010 | Pure Storage, Inc | Identifying and correcting an undesired condition of a dispersed storage network access request |
8782439, | Jun 06 2011 | Pure Storage, Inc | Securing a data segment for storage |
8782491, | Aug 17 2011 | Pure Storage, Inc | Detecting intentional corruption of data in a dispersed storage network |
8782492, | Oct 04 2011 | Pure Storage, Inc | Updating data stored in a dispersed storage network |
8782494, | Oct 04 2011 | Pure Storage, Inc | Reproducing data utilizing a zero information gain function |
8804761, | Aug 21 2003 | Qualcomm, Incorporated | Methods for seamless delivery of broadcast and multicast content across cell borders and/or between different transmission schemes and related apparatus |
8806050, | Aug 10 2010 | Qualcomm Incorporated | Manifest file updates for network streaming of coded multimedia data |
8819011, | Jul 16 2008 | Pure Storage, Inc | Command line interpreter for accessing a data object stored in a distributed storage network |
8819179, | Oct 09 2007 | Pure Storage, Inc | Data revision synchronization in a dispersed storage network |
8819452, | Nov 25 2009 | Pure Storage, Inc | Efficient storage of encrypted data in a dispersed storage network |
8819781, | Apr 20 2009 | Pure Storage, Inc | Management of network devices within a dispersed data storage network |
8832493, | Dec 22 2010 | Pure Storage, Inc | Storing directory metadata in a dispersed storage network |
8839368, | Nov 01 2011 | Pure Storage, Inc | Acquiring a trusted set of encoded data slices |
8842746, | Aug 02 2010 | Pure Storage, Inc | Receiving encoded data slices via wireless communication |
8843803, | Apr 01 2011 | Pure Storage, Inc | Utilizing local memory and dispersed storage memory to access encoded data slices |
8843804, | Apr 01 2011 | Pure Storage, Inc | Adjusting a dispersal parameter of dispersedly stored data |
8848906, | Nov 28 2011 | Pure Storage, Inc | Encrypting data for storage in a dispersed storage network |
8850113, | Feb 27 2010 | Pure Storage, Inc | Data migration between a raid memory and a dispersed storage network memory |
8856549, | Nov 28 2011 | Pure Storage, Inc | Deleting encoded data slices in a dispersed storage network |
8856552, | Mar 31 2008 | Pure Storage, Inc | Directory synchronization of a dispersed storage network |
8856617, | Oct 04 2011 | Pure Storage, Inc | Sending a zero information gain formatted encoded data slice |
8861727, | May 19 2010 | Pure Storage, Inc | Storage of sensitive data in a dispersed storage network |
8862800, | Sep 29 2009 | Pure Storage, Inc | Distributed storage network including memory diversity |
8868695, | Mar 02 2011 | Pure Storage, Inc | Configuring a generic computing device utilizing specific computing device operation information |
8874868, | May 19 2010 | Pure Storage, Inc | Memory utilization balancing in a dispersed storage network |
8874990, | Apr 01 2011 | Pure Storage, Inc | Pre-fetching data segments stored in a dispersed storage network |
8874991, | Apr 01 2011 | Pure Storage, Inc | Appending data to existing data stored in a dispersed storage network |
8880799, | Sep 30 2005 | Pure Storage, Inc | Rebuilding data on a dispersed storage network |
8880978, | Apr 01 2011 | Pure Storage, Inc | Utilizing a local area network memory and a dispersed storage network memory to access data |
8882599, | Sep 30 2005 | Pure Storage, Inc | Interactive gaming utilizing a dispersed storage network |
8885821, | Jan 28 2010 | Pure Storage, Inc | Sequencing encoded data slices |
8886711, | Oct 09 2007 | Pure Storage, Inc | File system adapted for use with a dispersed data storage network |
8887020, | Oct 06 2003 | Qualcomm Incorporated | Error-correcting multi-stage code generator and decoder for communication systems having single transmitters or multiple transmitters |
8892598, | Jun 22 2010 | Pure Storage, Inc | Coordinated retrieval of data from a dispersed storage network |
8892845, | Dec 22 2010 | Pure Storage, Inc | Segmenting data for storage in a dispersed storage network |
8897443, | Dec 27 2010 | Pure Storage, Inc | Watermarking slices stored in a dispersed storage network |
8898513, | May 19 2010 | Pure Storage, Inc | Storing data in multiple dispersed storage networks |
8898542, | Dec 12 2011 | Pure Storage, Inc | Executing partial tasks in a distributed storage and task network |
8904226, | Aug 26 2010 | Pure Storage, Inc | Migrating stored copies of a file to stored encoded data slices |
8909858, | Jun 09 2010 | Pure Storage, Inc | Storing encoded data slices in a dispersed storage network |
8910022, | Mar 02 2011 | Pure Storage, Inc | Retrieval of encoded data slices and encoded instruction slices by a computing device |
8914667, | Jul 27 2011 | Pure Storage, Inc | Identifying a slice error in a dispersed storage network |
8914669, | Apr 26 2010 | Pure Storage, Inc | Secure rebuilding of an encoded data slice in a dispersed storage network |
8918534, | Sep 29 2009 | Pure Storage, Inc | Writing data slices to ready and non-ready distributed storage units in a distributed storage network |
8918674, | Jan 28 2010 | Pure Storage, Inc | Directory file system in a dispersed storage network |
8918693, | Oct 06 2010 | Pure Storage, Inc | Data transmission utilizing data processing and dispersed storage error encoding |
8918897, | Nov 24 2009 | Pure Storage, Inc | Dispersed storage network data slice integrity verification |
8924387, | Sep 29 2009 | Pure Storage, Inc | Social networking utilizing a dispersed storage network |
8924770, | Jul 06 2011 | Pure Storage, Inc | Rebuilding a data slice of a maintenance free storage container |
8930375, | Mar 02 2012 | Pure Storage, Inc | Splitting an index node of a hierarchical dispersed storage index |
8930649, | Sep 06 2011 | Pure Storage, Inc | Concurrent coding of data streams |
8935256, | Mar 02 2012 | Pure Storage, Inc | Expanding a hierarchical dispersed storage index |
8935761, | Jun 25 2012 | Pure Storage, Inc | Accessing storage nodes in an on-line media storage system |
8938013, | Mar 16 2010 | Pure Storage, Inc | Dispersal of priority data in a dispersed storage network |
8938552, | Aug 02 2010 | Pure Storage, Inc | Resolving a protocol issue within a dispersed storage network |
8938591, | Sep 30 2005 | Pure Storage, Inc | Dispersed storage processing unit and methods with data aggregation for use in a dispersed storage system |
8942084, | Apr 04 2011 | Samsung Electro-Mechanics Co., Ltd.; KOREA UNIVERSITY RESEARCH & BUSINESS FOUNDATION | Method of reducing retransmission of data frame and receiving node therefor |
8949688, | Apr 01 2011 | Pure Storage, Inc | Updating error recovery information in a dispersed storage network |
8949695, | Aug 27 2009 | Pure Storage, Inc | Method and apparatus for nested dispersed storage |
8954667, | Jan 28 2010 | Pure Storage, Inc | Data migration in a dispersed storage network |
8954787, | May 09 2011 | Pure Storage, Inc | Establishing trust in a maintenance free storage container |
8958375, | Feb 11 2011 | Qualcomm Incorporated | Framing for an improved radio link protocol including FEC |
8959366, | Jan 28 2010 | Pure Storage, Inc | De-sequencing encoded data slices |
8959597, | May 19 2010 | Pure Storage, Inc | Entity registration in multiple dispersed storage networks |
8964988, | Jul 23 2010 | Nippon Telegraph and Telephone Corporation | Secret sharing system, sharing apparatus, share management apparatus, acquisition apparatus, secret sharing method, program and recording medium |
8965956, | Oct 09 2007 | Pure Storage, Inc | Integrated client for use with a dispersed data storage network |
8966194, | Oct 29 2009 | Pure Storage, Inc | Processing a write request in a dispersed storage network |
8966311, | Jul 06 2011 | Pure Storage, Inc | Maintenance free storage container storage module access |
8977931, | Aug 27 2009 | Pure Storage, Inc | Method and apparatus for nested dispersed storage |
8990585, | Dec 29 2009 | Pure Storage, Inc | Time based dispersed storage access |
8990664, | Jan 31 2012 | Pure Storage, Inc | Identifying a potentially compromised encoded data slice |
8996910, | May 09 2011 | Pure Storage, Inc | Assigning a dispersed storage network address range in a maintenance free storage container |
9009564, | Dec 12 2011 | Pure Storage, Inc | Storing data in a distributed storage network |
9009567, | Dec 12 2011 | Pure Storage, Inc | Encrypting distributed computing data |
9009575, | Jul 30 2009 | Pure Storage, Inc | Rebuilding a data revision in a dispersed storage network |
9015431, | Oct 29 2009 | Pure Storage, Inc | Distributed storage revision rollbacks |
9015499, | Nov 01 2010 | Pure Storage, Inc | Verifying data integrity utilizing dispersed storage |
9015556, | Dec 12 2011 | Pure Storage, Inc | Transforming data in a distributed storage and task network |
9021263, | Aug 31 2012 | Pure Storage, Inc | Secure data access in a dispersed storage network |
9021273, | Nov 25 2009 | Pure Storage, Inc | Efficient storage of encrypted data in a dispersed storage network |
9026758, | Sep 30 2005 | Pure Storage, Inc | Memory device utilization in a dispersed storage network |
9027080, | Mar 31 2008 | Pure Storage, Inc | Proxy access to a dispersed storage network |
9037904, | Dec 22 2010 | Pure Storage, Inc | Storing directory metadata in a dispersed storage network |
9037937, | Oct 06 2010 | Pure Storage, Inc | Relaying data transmitted as encoded data slices |
9043489, | Oct 30 2009 | Pure Storage, Inc | Router-based dispersed storage network method and apparatus |
9043499, | Feb 05 2013 | Pure Storage, Inc | Modifying a dispersed storage network memory data access response plan |
9043548, | Jan 28 2010 | Pure Storage, Inc | Streaming content storage |
9043616, | Nov 25 2009 | Pure Storage, Inc | Efficient storage of encrypted data in a dispersed storage network |
9047217, | Aug 27 2009 | Pure Storage, Inc | Nested distributed storage unit and applications thereof |
9047218, | Apr 26 2010 | Pure Storage, Inc | Dispersed storage network slice name verification |
9047242, | Apr 26 2010 | Pure Storage, Inc | Read operation dispersed storage network frame |
9063658, | Oct 30 2009 | Pure Storage, Inc | Distributed storage network for modification of a data object |
9063881, | Apr 26 2010 | Pure Storage, Inc | Slice retrieval in accordance with an access sequence in a dispersed storage network |
9063968, | Aug 02 2010 | Pure Storage, Inc | Identifying a compromised encoded data slice |
9071274, | Feb 08 2008 | Kencast, Inc. | Systems, methods, apparatus and computer program products for highly reliable file delivery using compound and braided FEC encoding and decoding |
9076138, | Sep 29 2009 | Pure Storage, Inc | Method and apparatus for obfuscating slice names in a dispersed storage system |
9077734, | Aug 02 2010 | Pure Storage, Inc | Authentication of devices of a dispersed storage network |
9081675, | Jul 31 2009 | Pure Storage, Inc | Encoding data in a dispersed storage network |
9081714, | Feb 01 2011 | Pure Storage, Inc | Utilizing a dispersed storage network access token module to store data in a dispersed storage network memory |
9081715, | Feb 01 2011 | Pure Storage, Inc | Utilizing a dispersed storage network access token module to retrieve data from a dispersed storage network memory |
9086964, | Jul 31 2009 | Pure Storage, Inc | Updating user device content data using a dispersed storage network |
9088407, | Oct 30 2009 | Pure Storage, Inc | Distributed storage network and method for storing and retrieving encryption keys |
9092294, | Apr 20 2009 | Pure Storage, Inc | Systems, apparatus, and methods for utilizing a reachability set to manage a network upgrade |
9092385, | Aug 17 2011 | Pure Storage, Inc | Facilitating access of a dispersed storage network |
9092386, | Apr 26 2010 | Pure Storage, Inc | Indicating an error within a dispersed storage network |
9092439, | Oct 09 2007 | Pure Storage, Inc | Virtualized data storage vaults on a dispersed data storage network |
9098376, | Oct 30 2009 | Pure Storage, Inc | Distributed storage network for modification of a data object |
9098409, | Jul 31 2009 | Pure Storage, Inc | Detecting a computing system basic input/output system issue |
9110833, | Jun 25 2012 | Pure Storage, Inc | Non-temporarily storing temporarily stored data in a dispersed storage network |
9112535, | Oct 06 2010 | Pure Storage, Inc | Data transmission utilizing partitioning and dispersed storage error encoding |
9116831, | Oct 06 2010 | Pure Storage, Inc | Correcting an errant encoded data slice |
9116832, | Feb 27 2010 | Pure Storage, Inc | Storing raid data as encoded data slices in a dispersed storage network |
9135098, | Jul 27 2011 | Pure Storage, Inc | Modifying dispersed storage network event records |
9135115, | Feb 27 2010 | Pure Storage, Inc | Storing data in multiple formats including a dispersed storage format |
9136878, | May 09 2005 | Qualcomm Incorporated | File download and streaming system |
9136983, | Feb 13 2006 | Qualcomm Incorporated | Streaming and buffering using variable FEC overhead and protection periods |
9141297, | Jun 25 2012 | Pure Storage, Inc | Verifying encoded data slice integrity in a dispersed storage network |
9141458, | May 09 2011 | Pure Storage, Inc | Adjusting a data storage address mapping in a maintenance free storage container |
9141468, | Dec 12 2011 | Pure Storage, Inc | Managing memory utilization in a distributed storage and task network |
9146810, | Jan 31 2012 | Pure Storage, Inc | Identifying a potentially compromised encoded data slice |
9152489, | Dec 29 2009 | Pure Storage, Inc | Revision synchronization of a dispersed storage network |
9152514, | Nov 24 2009 | Pure Storage, Inc | Rebuilding a data segment in a dispersed storage network |
9154298, | Aug 31 2012 | Pure Storage, Inc | Securely storing data in a dispersed storage network |
9158624, | Feb 27 2010 | Pure Storage, Inc | Storing RAID data as encoded data slices in a dispersed storage network |
9164841, | Jun 05 2012 | Pure Storage, Inc | Resolution of a storage error in a dispersed storage network |
9167277, | Aug 03 2009 | Pure Storage, Inc | Dispersed storage network data manipulation |
9170868, | Jul 27 2011 | Pure Storage, Inc | Identifying an error cause within a dispersed storage network |
9170882, | Dec 22 2010 | Pure Storage, Inc | Retrieving data segments from a dispersed storage network |
9170884, | Mar 16 2010 | Pure Storage, Inc | Utilizing cached encoded data slices in a dispersed storage network |
9171031, | Mar 02 2012 | Pure Storage, Inc | Merging index nodes of a hierarchical dispersed storage index |
9176822, | Aug 31 2012 | Pure Storage, Inc | Adjusting dispersed storage error encoding parameters |
9178535, | Apr 16 2007 | Qualcomm Incorporated | Dynamic stream interleaving and sub-stream based delivery |
9183073, | Mar 02 2011 | Pure Storage, Inc | Maintaining data concurrency with a dispersed storage network |
9189307, | Aug 06 2004 | ADAPTIV NETWORKS INC | Method of improving the performance of an access network for coupling user devices to an application server |
9191151, | Sep 22 2009 | Qualcomm Incorporated | Enhanced block-request streaming using cooperative parallel HTTP and forward error correction |
9195408, | Oct 30 2009 | Pure Storage, Inc | Highly autonomous dispersed storage system retrieval method |
9195684, | Mar 02 2012 | Pure Storage, Inc | Redundant task execution in a distributed storage and task network |
9201732, | Jan 28 2010 | Pure Storage, Inc | Selective activation of memory to retrieve data in a dispersed storage network |
9203625, | Nov 28 2011 | Pure Storage, Inc | Transferring encoded data slices in a distributed storage network |
9203812, | Apr 20 2009 | Pure Storage, Inc | Dispersed storage network with encrypted portion withholding and methods for use therewith |
9203901, | Jan 31 2012 | Pure Storage, Inc | Efficiently storing data in a dispersed storage network |
9203902, | Jan 31 2012 | Pure Storage, Inc | Securely and reliably storing data in a dispersed storage network |
9207870, | Jul 30 2009 | Pure Storage, Inc | Allocating storage units in a dispersed storage network |
9208025, | Jul 30 2009 | Pure Storage, Inc | Virtual memory mapping in a dispersed storage network |
9209934, | Sep 22 2009 | Qualcomm Incorporated | Enhanced block-request streaming using cooperative parallel HTTP and forward error correction |
9213742, | Sep 06 2011 | Pure Storage, Inc | Time aligned transmission of concurrently coded data streams |
9219604, | May 09 2011 | Pure Storage, Inc | Generating an encrypted message for storage |
9223723, | Oct 30 2012 | Pure Storage, Inc | Verifying data of a dispersed storage network |
9225961, | May 13 2010 | Qualcomm Incorporated | Frame packing for asymmetric stereo video |
9229823, | Aug 17 2011 | Pure Storage, Inc | Storage and retrieval of dispersed storage network access information |
9229824, | Mar 16 2010 | Pure Storage, Inc | Caching rebuilt encoded data slices in a dispersed storage network |
9231768, | Jun 22 2010 | Pure Storage, Inc | Utilizing a deterministic all or nothing transformation in a dispersed storage network |
9235350, | Aug 27 2009 | Pure Storage, Inc | Dispersed storage unit and methods with metadata separation for use in a dispersed storage system |
9236885, | Oct 05 2002 | Qualcomm Incorporated | Systematic encoding and decoding of chain reaction codes |
9236887, | May 07 2004 | Qualcomm Incorporated | File download and streaming system |
9236976, | Dec 21 2001 | Qualcomm Incorporated | Multi stage code generator and decoder for communication systems |
9237101, | Sep 12 2007 | Qualcomm Incorporated | Generating and communicating source identification information to enable reliable communications |
9240810, | Jun 11 2002 | Qualcomm Incorporated | Systems and processes for decoding chain reaction codes through inactivation |
9244768, | Mar 12 2010 | Pure Storage, Inc | Dispersed storage network file system directory |
9244770, | Jul 06 2011 | Pure Storage, Inc | Responding to a maintenance free storage container security threat |
9246633, | Sep 23 1998 | Qualcomm Incorporated | Information additive code generator and decoder for communication systems |
9253233, | Aug 31 2011 | Qualcomm Incorporated | Switch signaling methods providing improved switching between representations for adaptive HTTP streaming |
9258177, | Aug 02 2012 | Pure Storage, Inc | Storing a data stream in a set of storage devices |
9262288, | Oct 30 2009 | Pure Storage, Inc | Autonomous dispersed storage system retrieval method |
9264069, | May 10 2006 | Qualcomm Incorporated | Code generator and decoder for communications systems operating using hybrid codes to allow for multiple efficient uses of the communications systems |
9270298, | Nov 24 2009 | Pure Storage, Inc | Selecting storage units to rebuild an encoded data slice |
9270299, | Feb 11 2011 | Qualcomm Incorporated | Encoding and decoding using elastic codes with flexible source block mapping |
9270414, | Feb 21 2006 | Qualcomm Incorporated | Multiple-field based code generator and decoder for communications systems |
9274864, | Oct 04 2011 | International Business Machines Corporation | Accessing large amounts of data in a dispersed storage network |
9274908, | Feb 26 2013 | Pure Storage, Inc | Resolving write conflicts in a dispersed storage network |
9274977, | Nov 01 2010 | Pure Storage, Inc | Storing data integrity information utilizing dispersed storage |
9276912, | Apr 20 2009 | Pure Storage, Inc | Dispersed storage network with slice refresh and methods for use therewith |
9277011, | Oct 30 2012 | Pure Storage, Inc | Processing an unsuccessful write request in a dispersed storage network |
9281847, | Feb 27 2009 | Qualcomm Incorporated | Mobile reception of digital video broadcasting—terrestrial services |
9288010, | Oct 22 2010 | Qualcomm Incorporated | Universal file delivery methods for providing unequal error protection and bundled file delivery services |
9292212, | Jun 25 2012 | Pure Storage, Inc | Detecting storage errors in a dispersed storage network |
9292682, | May 09 2011 | Pure Storage, Inc | Accessing a second web page from a dispersed storage network memory based on a first web page selection |
9294226, | Mar 26 2012 | Qualcomm Incorporated | Universal object delivery and template-based file delivery |
9298542, | Oct 30 2012 | Pure Storage, Inc | Recovering data from corrupted encoded data slices |
9298548, | Dec 12 2011 | Pure Storage, Inc | Distributed computing in a distributed storage and task network |
9298550, | May 09 2011 | Pure Storage, Inc | Assigning a dispersed storage network address range in a maintenance free storage container |
9304843, | Nov 01 2011 | Pure Storage, Inc | Highly secure method for accessing a dispersed storage network |
9304857, | Dec 12 2011 | Pure Storage, Inc | Retrieving data from a distributed storage network |
9304858, | Dec 12 2011 | Pure Storage, Inc | Analyzing found data in a distributed storage and task network |
9305597, | Dec 29 2009 | Pure Storage, Inc | Accessing stored multi-media content based on a subscription priority level |
9311179, | Oct 30 2012 | Pure Storage, Inc | Threshold decoding of data based on trust levels |
9311184, | Feb 27 2010 | Pure Storage, Inc | Storing raid data as encoded data slices in a dispersed storage network |
9311185, | Oct 30 2009 | Pure Storage, Inc | Dispersed storage unit solicitation method and apparatus |
9311187, | Jan 04 2013 | Pure Storage, Inc | Achieving storage compliance in a dispersed storage network |
9319448, | Aug 10 2010 | Qualcomm Incorporated | Trick modes for network streaming of coded multimedia data |
9319463, | Dec 27 2010 | Pure Storage, Inc | Reproducing data from obfuscated data retrieved from a dispersed storage network |
9329940, | Jan 28 2010 | Pure Storage, Inc | Dispersed storage having a plurality of snapshot paths and methods for use therewith |
9330241, | Dec 29 2009 | Pure Storage, Inc | Applying digital rights management to multi-media file playback |
9336139, | Nov 29 2010 | Pure Storage, Inc | Selecting a memory for storage of an encoded data slice in a dispersed storage network |
9342406, | Apr 26 2010 | Pure Storage, Inc | Dispersed storage re-dispersion method based on a failure |
9344500, | Dec 29 2009 | Pure Storage, Inc | Distributed storage time synchronization based on storage delay |
9350491, | Jun 22 2001 | AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LIMITED | System and method for mitigating burst noise in a communications system |
9354980, | Jan 28 2010 | Pure Storage, Inc | Dispersed storage having snapshot clones and methods for use therewith |
9369526, | Dec 29 2009 | Pure Storage, Inc | Distributed storage time synchronization based on retrieval delay |
9379913, | Aug 06 2004 | ADAPTIV NETWORKS INC | System and method for achieving accelerated throughput |
9380032, | Apr 25 2012 | Pure Storage, Inc | Encrypting data for storage in a dispersed storage network |
9380096, | Sep 22 2009 | Qualcomm Incorporated | Enhanced block-request streaming system for handling low-latency streaming |
9386064, | Sep 22 2009 | Qualcomm Incorporated | Enhanced block-request streaming using URL templates and construction rules |
9390283, | Apr 02 2014 | Pure Storage, Inc | Controlling access in a dispersed storage network |
9397783, | Oct 18 2006 | KENCAST, INC | Systems, methods, apparatus, and computer program products for providing forward error correction with low latency |
9400714, | Jun 06 2011 | Pure Storage, Inc | Wirelessly communicating a data file |
9405609, | May 22 2013 | Pure Storage, Inc | Storing data in accordance with a performance threshold |
9411810, | Aug 27 2009 | Pure Storage, Inc | Method and apparatus for identifying data inconsistency in a dispersed storage network |
9413393, | Dec 29 2009 | Pure Storage, Inc | Encoding multi-media content for a centralized digital video storage system |
9413529, | Oct 30 2009 | Pure Storage, Inc | Distributed storage network and method for storing and retrieving encryption keys |
9419749, | Aug 19 2009 | Qualcomm Incorporated | Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes |
9424132, | May 30 2013 | Pure Storage, Inc | Adjusting dispersed storage network traffic due to rebuilding |
9424326, | Sep 13 2012 | Pure Storage, Inc | Writing data avoiding write conflicts in a dispersed storage network |
9430286, | Dec 12 2011 | Pure Storage, Inc | Authorizing distributed task processing in a distributed storage network |
9430336, | Sep 30 2005 | Pure Storage, Inc | Dispersed storage network with metadata generation and methods for use therewith |
9432341, | May 30 2013 | Pure Storage, Inc | Securing data in a dispersed storage network |
9432433, | Sep 22 2009 | Qualcomm Incorporated | Enhanced block-request streaming system using signaling or block creation |
9438675, | Aug 29 2013 | Pure Storage, Inc | Dispersed storage with variable slice length and methods for use therewith |
9448730, | Sep 30 2009 | Pure Storage, Inc | Method and apparatus for dispersed storage data transfer |
9451025, | Jul 31 2013 | Pure Storage, Inc | Distributed storage network with alternative foster storage approaches and methods for use therewith |
9454431, | Nov 29 2010 | Pure Storage, Inc | Memory selection for slice storage in a dispersed storage network |
9456015, | Aug 10 2010 | Qualcomm Incorporated | Representation groups for network streaming of coded multimedia data |
9456035, | May 03 2013 | Pure Storage, Inc | Storing related data in a dispersed storage network |
9460148, | Jul 06 2011 | Pure Storage, Inc | Completing distribution of multi-media content to an accessing device |
9462316, | Dec 29 2009 | Pure Storage, Inc | Digital content retrieval utilizing dispersed storage |
9465824, | Nov 24 2009 | Pure Storage, Inc | Rebuilding an encoded data slice within a dispersed storage network |
9465861, | Jan 31 2012 | Pure Storage, Inc | Retrieving indexed data from a dispersed storage network |
9483398, | Nov 29 2010 | Pure Storage, Inc | Partitioning data for storage in a dispersed storage network |
9483539, | Sep 13 2012 | Pure Storage, Inc | Updating local data utilizing a distributed storage network |
9483656, | Apr 20 2009 | Pure Storage, Inc | Efficient and secure data storage utilizing a dispersed data storage system |
9489264, | Nov 25 2009 | Pure Storage, Inc | Storing an encoded data slice as a set of sub-slices |
9489533, | Dec 29 2009 | Pure Storage, Inc | Efficient memory utilization in a dispersed storage system |
9495117, | Apr 26 2010 | Pure Storage, Inc | Storing data in a dispersed storage network |
9495118, | Jul 31 2013 | Pure Storage, Inc | Storing data in a directory-less dispersed storage network |
9501349, | Nov 24 2009 | Pure Storage, Inc | Changing dispersed storage error encoding parameters |
9501355, | Mar 31 2008 | Pure Storage, Inc | Storing data and directory information in a distributed storage network |
9501360, | Jul 01 2013 | Pure Storage, Inc | Rebuilding data while reading data in a dispersed storage network |
9501366, | Sep 30 2005 | BISSELL INC | Dispersed storage network with parameter search and methods for use therewith |
9503513, | Oct 08 2012 | Pure Storage, Inc | Robust transmission of data utilizing encoded data slices |
9507735, | Dec 29 2009 | Pure Storage, Inc | Digital content retrieval utilizing dispersed storage |
9507786, | Jan 31 2012 | Pure Storage, Inc | Retrieving data utilizing a distributed index |
9514132, | Jan 31 2012 | Pure Storage, Inc | Secure data migration in a dispersed storage network |
9521197, | Dec 05 2012 | Pure Storage, Inc | Utilizing data object storage tracking in a dispersed storage network |
9529834, | Feb 26 2014 | Pure Storage, Inc | Concatenating data objects for storage in a dispersed storage network |
9537609, | Aug 02 2012 | Pure Storage, Inc | Storing a stream of data in a dispersed storage network |
9542239, | Apr 30 2014 | Pure Storage, Inc | Resolving write request conflicts in a dispersed storage network |
9552261, | Jan 31 2014 | Pure Storage, Inc | Recovering data from microslices in a dispersed storage network |
9552305, | Nov 01 2010 | International Business Machines Corporation | Compacting dispersed storage space |
9558059, | Jul 30 2009 | Pure Storage, Inc | Detecting data requiring rebuilding in a dispersed storage network |
9558067, | Jan 04 2013 | Pure Storage, Inc | Mapping storage of data in a dispersed storage network |
9558071, | Jan 28 2010 | Pure Storage, Inc | Dispersed storage with partial data object storage and methods for use therewith |
9560133, | Jun 06 2011 | Pure Storage, Inc | Acquiring multi-media content |
9565252, | Jul 31 2013 | Pure Storage, Inc | Distributed storage network with replication control and methods for use therewith |
9571230, | Oct 06 2010 | Pure Storage, Inc | Adjusting routing of data within a network path |
9576018, | Oct 09 2007 | Pure Storage, Inc | Revision deletion markers |
9584326, | Nov 28 2011 | Pure Storage, Inc | Creating a new file for a dispersed storage network |
9584359, | Dec 12 2011 | Pure Storage, Inc | Distributed storage and computing of interim data |
9588686, | Oct 03 2013 | Pure Storage, Inc | Adjusting execution of tasks in a dispersed storage network |
9588994, | Mar 02 2012 | Pure Storage, Inc | Transferring task execution in a distributed storage and task network |
9590838, | Nov 09 2010 | Pure Storage, Inc | Transferring data of a dispersed storage network |
9590913, | Feb 07 2011 | ADAPTIV NETWORKS INC | System and method for reducing bandwidth usage of a network |
9591076, | Sep 08 2014 | Pure Storage, Inc | Maintaining a desired number of storage units |
9594507, | Oct 03 2013 | Pure Storage, Inc | Dispersed storage system with vault updating and methods for use therewith |
9594639, | Jan 06 2014 | Pure Storage, Inc | Configuring storage resources of a dispersed storage network |
9602802, | Jul 21 2010 | Qualcomm Incorporated | Providing frame packing type information for video coding |
9606858, | Apr 26 2010 | Pure Storage, Inc | Temporarily storing an encoded data slice |
9606867, | Jun 05 2014 | Pure Storage, Inc | Maintaining data storage in accordance with an access metric |
9607168, | Sep 29 2009 | Pure Storage, Inc | Obfuscating a transaction in a dispersed storage system |
9612882, | Apr 30 2014 | Pure Storage, Inc | Retrieving multi-generational stored data in a dispersed storage network |
9613052, | Jun 05 2012 | Pure Storage, Inc | Establishing trust within a cloud computing system |
9626125, | Jul 31 2013 | Pure Storage, Inc | Accounting for data that needs to be rebuilt or deleted |
9626248, | Nov 25 2009 | Pure Storage, Inc | Likelihood based rebuilding of missing encoded data slices |
9632722, | May 19 2010 | Pure Storage, Inc | Balancing storage unit utilization within a dispersed storage network |
9632872, | Jun 05 2012 | Pure Storage, Inc | Reprioritizing pending dispersed storage network requests |
9639298, | Jul 31 2013 | Pure Storage, Inc | Time-based storage within a dispersed storage network |
9647945, | Feb 07 2011 | ADAPTIV NETWORKS INC | Mechanisms to improve the transmission control protocol performance in wireless networks |
9647952, | Aug 06 2004 | ADAPTIV NETWORKS INC | Network quality as a service |
9648087, | Oct 08 2012 | Pure Storage, Inc | Allocating distributed storage and task execution resources |
9652470, | Jul 01 2013 | Pure Storage, Inc | Storing data in a dispersed storage network |
9658911, | Mar 02 2011 | Pure Storage, Inc | Selecting a directory of a dispersed storage network |
9660763, | Aug 19 2009 | Qualcomm Incorporated | Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes |
9661074, | Aug 29 2013 | Pure Storage, Inc | Updating de-duplication tracking data for a dispersed storage network |
9661075, | Aug 29 2013 | Pure Storage, Inc | Defragmenting slices in dispersed storage network memory |
9661356, | Oct 29 2009 | Pure Storage, Inc | Distribution of unique copies of broadcast data utilizing fault-tolerant retrieval from dispersed storage |
9665429, | Feb 26 2014 | Pure Storage, Inc | Storage of data with verification in a dispersed storage network |
9667701, | Oct 30 2009 | Pure Storage, Inc | Robust reception of data utilizing encoded data slices |
9672108, | Dec 29 2009 | Pure Storage, Inc | Dispersed storage network (DSN) and system with improved security |
9672109, | Nov 25 2009 | Pure Storage, Inc | Adaptive dispersed storage network (DSN) and system |
9674155, | Dec 12 2011 | Pure Storage, Inc | Encrypting segmented data in a distributed computing system |
9679153, | Dec 29 2009 | Pure Storage, Inc | Data deduplication in a dispersed storage system |
9681156, | Oct 29 2009 | Pure Storage, Inc | Media distribution to a plurality of devices utilizing buffered dispersed storage |
9690513, | Aug 27 2009 | Pure Storage, Inc | Dispersed storage processing unit and methods with operating system diversity for use in a dispersed storage system |
9690520, | Jun 30 2014 | Pure Storage, Inc | Recovering an encoded data slice in a dispersed storage network |
9692593, | Oct 30 2009 | Pure Storage, Inc | Distributed storage network and method for communicating data across a plurality of parallel wireless data streams |
9697171, | Oct 09 2007 | Pure Storage, Inc | Multi-writer revision synchronization in a dispersed storage network |
9697244, | Dec 29 2009 | Pure Storage, Inc | Record addressing information retrieval based on user data descriptors |
9703812, | Nov 24 2009 | Pure Storage, Inc | Rebuilding slices of a set of encoded data slices |
9727266, | Dec 29 2009 | Pure Storage, Inc | Selecting storage units in a dispersed storage network |
9727275, | Dec 02 2014 | Pure Storage, Inc | Coordinating storage of data in dispersed storage networks |
9727427, | Dec 31 2014 | Pure Storage, Inc | Synchronizing storage of data copies in a dispersed storage network |
9733853, | Dec 29 2009 | Pure Storage, Inc | Using foster slice strategies for increased power efficiency |
9735967, | Apr 30 2014 | Pure Storage, Inc | Self-validating request message structure and operation |
9740547, | Jan 30 2015 | Pure Storage, Inc | Storing data using a dual path storage approach |
9740730, | Dec 12 2011 | Pure Storage, Inc | Authorizing distributed task processing in a distributed storage network |
9747457, | Nov 25 2009 | Pure Storage, Inc | Efficient storage of encrypted data in a dispersed storage network |
9749414, | Aug 29 2013 | Pure Storage, Inc | Storing low retention priority data in a dispersed storage network |
9749419, | Apr 26 2010 | Pure Storage, Inc | Check operation dispersed storage network frame |
9760286, | Nov 25 2009 | Pure Storage, Inc | Adaptive dispersed storage network (DSN) and system |
9760440, | Jan 28 2010 | Pure Storage, Inc | Site-based namespace allocation |
9762395, | Apr 30 2014 | Pure Storage, Inc | Adjusting a number of dispersed storage units |
9772791, | Aug 27 2009 | Pure Storage, Inc | Dispersed storage processing unit and methods with geographical diversity for use in a dispersed storage system |
9772904, | Oct 30 2009 | Pure Storage, Inc | Robust reception of data utilizing encoded data slices |
9774678, | Oct 29 2009 | Pure Storage, Inc | Temporarily storing data in a dispersed storage network |
9774679, | Aug 29 2013 | Pure Storage, Inc | Storage pools for a dispersed storage network |
9774680, | Jan 28 2010 | Pure Storage, Inc | Distributed rebuilding of data in a dispersed storage network |
9774684, | Sep 30 2005 | Pure Storage, Inc | Storing data in a dispersed storage network |
9778987, | Jan 31 2014 | Pure Storage, Inc | Writing encoded data slices in a dispersed storage network |
9781207, | Aug 29 2013 | Pure Storage, Inc | Dispersed storage based on estimated life and methods for use therewith |
9781208, | Nov 01 2013 | Pure Storage, Inc | Obtaining dispersed storage network system registry information |
9785491, | Oct 04 2011 | Pure Storage, Inc | Processing a certificate signing request in a dispersed storage network |
9794337, | Oct 30 2012 | Pure Storage, Inc | Balancing storage node utilization of a dispersed storage network |
9798467, | Dec 29 2009 | Pure Storage, Inc | Security checks for proxied requests |
9798616, | Nov 01 2011 | Pure Storage, Inc | Wireless sending a set of encoded data slices |
9798619, | Feb 26 2014 | Pure Storage, Inc | Concatenating data objects for storage in a dispersed storage network |
9798621, | Aug 27 2009 | Pure Storage, Inc | Dispersed storage network with slice rebuilding and methods for use therewith |
9800372, | Oct 22 2015 | Hongik University-Academia Cooperation Foundation | Data transmission system, encoding apparatus and encoding method |
9807171, | Apr 26 2010 | Pure Storage, Inc | Conclusive write operation dispersed storage network frame |
9811405, | Dec 29 2009 | Pure Storage, Inc | Cache for file-based dispersed storage |
9811533, | Dec 05 2012 | Pure Storage, Inc | Accessing distributed computing functions in a distributed computing system |
9813501, | Oct 08 2012 | Pure Storage, Inc | Allocating distributed storage and task execution resources |
9817597, | Dec 29 2009 | Pure Storage, Inc | Using temporary write locations for increased power efficiency |
9817611, | Apr 30 2014 | Pure Storage, Inc | Resolving write request conflicts in a dispersed storage network |
9817701, | Dec 12 2011 | Pure Storage, Inc | Threshold computing in a distributed computing system |
9819484, | Oct 30 2009 | Pure Storage, Inc | Distributed storage network and method for storing and retrieving encryption keys |
9823845, | Nov 25 2009 | Pure Storage, Inc | Adaptive dispersed storage network (DSN) and system |
9823861, | Sep 30 2009 | Pure Storage, Inc | Method and apparatus for selecting storage units to store dispersed storage data |
9826038, | Jan 30 2015 | Pure Storage, Inc | Selecting a data storage resource of a dispersed storage network |
9836352, | Nov 25 2009 | Pure Storage, Inc | Detecting a utilization imbalance between dispersed storage network storage units |
9838382, | Jun 05 2012 | Pure Storage, Inc | Establishing trust within a cloud computing system |
9838478, | Jun 30 2014 | Pure Storage, Inc | Identifying a task execution resource of a dispersed storage network |
9841899, | Oct 03 2013 | Pure Storage, Inc | Dispersed storage system with sub-vaults and methods for use therewith |
9841925, | Jun 30 2014 | Pure Storage, Inc | Adjusting timing of storing data in a dispersed storage network |
9842063, | Nov 28 2011 | Pure Storage, Inc | Encrypting data for storage in a dispersed storage network |
9842222, | Aug 25 2010 | Pure Storage, Inc | Securely rebuilding an encoded data slice |
9843412, | Oct 06 2010 | Pure Storage, Inc | Optimizing routing of data across a communications network |
9843844, | Oct 05 2011 | Qualcomm Incorporated | Network streaming of media data |
9848044, | Jul 31 2013 | Pure Storage, Inc | Distributed storage network with coordinated partial task execution and methods for use therewith |
9852017, | Jul 27 2011 | Pure Storage, Inc | Generating dispersed storage network event records |
9857974, | Oct 03 2013 | Pure Storage, Inc | Session execution decision |
9858143, | Jul 16 2008 | Pure Storage, Inc | Command line interpreter for accessing a data object stored in a distributed storage network |
9866595, | Dec 29 2009 | Pure Storage, Inc | Policy based slice deletion in a dispersed storage network |
9870795, | Nov 25 2009 | Pure Storage, Inc | Localized dispersed storage memory system |
9875158, | Aug 31 2012 | Pure Storage, Inc | Slice storage in a dispersed storage network |
9876607, | Aug 19 2009 | Qualcomm Incorporated | Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes |
9880902, | Oct 09 2007 | Pure Storage, Inc | Multi-writer revision synchronization in a dispersed storage network |
9881043, | Oct 09 2007 | Pure Storage, Inc | Multiple revision mailbox |
9888076, | Oct 09 2007 | Pure Storage, Inc | Encoded data slice caching in a distributed storage network |
9891829, | Feb 26 2014 | Pure Storage, Inc | Storage of data with verification in a dispersed storage network |
9891995, | Jan 31 2012 | Pure Storage, Inc | Cooperative decentralized rebuild scanning |
9893836, | Aug 06 2004 | ADAPTIV NETWORKS INC | System and method for achieving accelerated throughput |
9894157, | Jul 31 2013 | Pure Storage, Inc | Distributed storage network with client subsets and methods for use therewith |
9898373, | Apr 26 2010 | Pure Storage, Inc | Prioritizing rebuilding of stored data in a dispersed storage network |
9900150, | Oct 30 2009 | Pure Storage, Inc | Dispersed storage camera device and method of operation |
9900316, | Dec 04 2013 | Pure Storage, Inc | Accessing storage units of a dispersed storage network |
9900387, | Jan 28 2010 | Pure Storage, Inc | Distributed rebuilding of data in a dispersed storage network |
9910732, | Sep 08 2014 | Pure Storage, Inc | Maintaining a desired number of storage units |
9916114, | Oct 29 2014 | Pure Storage, Inc | Deterministically sharing a plurality of processing resources |
9917874, | Sep 22 2009 | Qualcomm Incorporated | Enhanced block-request streaming using block partitioning or request controls for improved client-side handling |
9921907, | Jul 01 2013 | Pure Storage, Inc | Time-sensitive data storage operations in a dispersed storage network |
9922063, | Dec 29 2009 | Pure Storage, Inc | Secure storage of secret data in a dispersed storage network |
9923838, | Jun 30 2014 | Pure Storage, Inc | Accessing a dispersed storage network |
9927976, | Jul 31 2013 | Pure Storage, Inc | Storing data in a directory-less dispersed storage network |
9927977, | Dec 22 2010 | Pure Storage, Inc | Retrieving data segments from a dispersed storage network |
9927978, | Dec 29 2009 | Pure Storage, Inc | Dispersed storage network (DSN) and system with improved security |
9933969, | Nov 30 2015 | Pure Storage, Inc | Securing encoding data slices using an integrity check value list |
9934091, | Jun 06 2011 | Pure Storage, Inc | Wirelessly communicating a data file |
9934092, | Jul 12 2016 | International Business Machines Corporation | Manipulating a distributed agreement protocol to identify a desired set of storage units |
9936020, | Oct 30 2012 | Pure Storage, Inc | Access control of data in a dispersed storage network |
9940195, | Aug 25 2010 | Pure Storage, Inc | Encryption of slice partials |
9952930, | Oct 30 2015 | Pure Storage, Inc | Reallocation in a dispersed storage network (DSN) |
9959076, | Oct 09 2007 | Pure Storage, Inc | Optimized disk load distribution |
9959169, | Oct 30 2015 | Pure Storage, Inc | Expansion of dispersed storage network (DSN) memory |
9965336, | Apr 30 2014 | Pure Storage, Inc | Delegating iterative storage unit access in a dispersed storage network |
9971538, | Nov 30 2015 | Pure Storage, Inc | Load balancing and service differentiation within a dispersed storage network |
9971649, | Oct 30 2015 | Pure Storage, Inc | Deploying and growing a set of dispersed storage units at and by non-information dispersal algorithm (IDA) width multiples |
9971802, | Aug 17 2011 | Pure Storage, Inc | Audit record transformation in a dispersed storage network |
9992063, | Jul 18 2016 | Pure Storage, Inc | Utilizing reallocation via a decentralized, or distributed, agreement protocol (DAP) for storage unit (SU) replacement |
9996283, | Aug 31 2015 | Pure Storage, Inc | Handling storage unit latency in a dispersed storage network |
9996413, | Oct 09 2007 | Pure Storage, Inc | Ensuring data integrity on a dispersed storage grid |
9996548, | Nov 25 2009 | Pure Storage, Inc | Dispersed storage using localized peer-to-peer capable wireless devices in a peer-to-peer or femto cell supported carrier served fashion |
9998147, | Feb 27 2017 | International Business Machines Corporation | Method for using write intents in a distributed storage network |
9998538, | Aug 29 2013 | Pure Storage, Inc | Dispersed storage with coordinated execution and methods for use therewith |
9998540, | Dec 12 2011 | Pure Storage, Inc | Distributed storage and computing of interim data |
RE40661, | Jan 14 1997 | Samsung Electronics Co., Ltd.; Regents of the University of California | Error prevention method for multimedia data |
RE43741, | Oct 05 2002 | Qualcomm Incorporated | Systematic encoding and decoding of chain reaction codes |
Patent | Priority | Assignee | Title |
4718066, | Mar 05 1985 | Agence Spataile Europeenne | Self-adaptive hybrid data transmission |
5485474, | Feb 25 1988 | The President and Fellows of Harvard College | Scheme for information dispersal and reconstruction |
5600663, | Nov 16 1994 | THE CHASE MANHATTAN BANK, AS COLLATERAL AGENT | Adaptive forward error correction system |
5631907, | Dec 13 1995 | THE CHASE MANHATTAN BANK, AS COLLATERAL AGENT | Reliable broadcast protocol structure for electronic software distribution |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Jan 17 1997 | Kencast, Inc. | (assignment on the face of the patent) | / | |||
Oct 26 1998 | PALEOLOGOU, SOPHIA | KENCAST, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 009658 | /0884 | |
Dec 11 1998 | FISCHER, MICHAEL J | KENCAST, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 009658 | /0898 | |
Apr 15 2016 | KENCAST, INC | ENHANCED CAPITAL CONNECTICUT FUND V, LLC | PATENT SECURITY AGREEMENT | 038439 | /0381 | |
Jul 12 2018 | EDGEMONT CAPITAL LLC | KENCAST, INC | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 046610 | /0551 |
Date | Maintenance Fee Events |
Apr 08 2003 | M2551: Payment of Maintenance Fee, 4th Yr, Small Entity. |
Jun 12 2007 | M2552: Payment of Maintenance Fee, 8th Yr, Small Entity. |
Jul 01 2011 | M2553: Payment of Maintenance Fee, 12th Yr, Small Entity. |
Date | Maintenance Schedule |
Jan 04 2003 | 4 years fee payment window open |
Jul 04 2003 | 6 months grace period start (w surcharge) |
Jan 04 2004 | patent expiry (for year 4) |
Jan 04 2006 | 2 years to revive unintentionally abandoned end. (for year 4) |
Jan 04 2007 | 8 years fee payment window open |
Jul 04 2007 | 6 months grace period start (w surcharge) |
Jan 04 2008 | patent expiry (for year 8) |
Jan 04 2010 | 2 years to revive unintentionally abandoned end. (for year 8) |
Jan 04 2011 | 12 years fee payment window open |
Jul 04 2011 | 6 months grace period start (w surcharge) |
Jan 04 2012 | patent expiry (for year 12) |
Jan 04 2014 | 2 years to revive unintentionally abandoned end. (for year 12) |