IP Library › Granted Patent US 10,038,733
Granted Patent B1
US 10,038,733 · App. 14/489,317 · Granted Jul 31, 2018

Generating a large, non-compressible data stream

Inventors: Salil Dangi (Mission Viejo, CA); James Zarbock (Lake Forest, CA); Ernest Daza (Rancho Santa Margarita, CA); Scott H. Ogata (Lake Forest, CA)
Assignee: EMC IP Holding Company LLC
H04L65/607
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,038,733
App. No.
14/489,317
Filed
Sep 17, 2014
Granted
Jul 31, 2018
Kind
B1
Art Unit
2182
USPC
708/203
Abstract

Generating non-compressible data streams is disclosed, including: receiving an initialization parameter; determining a constrained prime number, wherein the constrained prime number comprises a plurality of component values, wherein each of the plurality of component values comprises a prime number, wherein each of the plurality of component values is different; and generating a non-compressible sequence based at least in part on the initialization parameter and the constrained prime number.

Claims (48)

1. A system, comprising:

a processor configured to:

receive an initialization parameter;

determine a first constrained prime number and a second constrained prime number, wherein a constrained prime number comprises a plurality of component values, wherein each of the plurality of component values comprises a prime number, wherein each of the plurality of component values is different; and

generate a non-compressible data stream comprising a plurality of data blocks at least in part by:

generate a first non-compressible sequence based at least in part on the initialization parameter and the first constrained prime number;

generate a second non-compressible sequence based at least in part on the initialization parameter and the second constrained prime number, wherein the first and second non-compressible sequences are each comprised of a non-repeating sequence of numbers; and

merge the first non-compressible sequence and the second non-compressible sequence to generate the non-compressible data stream comprising the plurality of data blocks, wherein values of the non-compressible data stream alternate between values of the first non-compressible sequence and values of the second non-compressible sequence; and

send the non-compressible data stream comprising the plurality of data blocks to be stored at a storage device, wherein the storage device is configured to store all of the plurality of data blocks in response to determining that none of the data blocks have been already stored at the storage device;

receive restored data associated with the non-compressible data stream from the storage device, wherein the restored data associated with the non-compressible data stream comprises the plurality of data blocks;

determine the first constrained prime number based at least in part on a difference between a first pair of non-consecutive values from the restored data associated with the non-compressible data stream;

determine the second constrained prime number based at least in part on a difference between a second pair of non-consecutive values from the restored data associated with the non-compressible data stream; and

verify an accuracy and/or reliability of the storage device, wherein to verify the accuracy and/or reliability of the storage device, the restored data associated with the non-compressible data stream is verified by using the determined first constrained prime number and the determined second constrained prime number; and

a memory coupled to the processor and configured to provide the processor with instructions.

2. The system of claim 1 , wherein each of the plurality of component values comprises a byte value.

3. The system of claim 1 , wherein each of the plurality of component values comprises a prime number from a set of prime numbers including “1” and excluding “2” in a range of 0 to 255.

4. The system of claim 1 , wherein the constrained prime number comprises a prime number from a set of prime numbers including “1” and excluding “2” in a range of 0 to 2 N −1, where N is a positive integer.

5. The system of claim 1 , wherein the constrained prime number is determined from an identified set of constrained prime numbers based at least in part on a revision parameter.

6. The system of claim 1 , wherein the restored data is verified without a master copy of the non-compressible data stream.

7. The system of claim 1 , wherein to verify the restored data associated with the non-compressible data stream by using the first constrained prime number and the second constrained prime number comprises:

determine of a first offset between the first pair of non-consecutive numbers from the restored data;

determine of a second offset between the second pair of non-consecutive numbers from the restored data; and

verify the data stream in response to determining the first offset is equal to the first constrained prime number and the second offset is equal to the second constrained prime number.

8. A method, comprising:

receiving an initialization parameter;

determining a first constrained prime number and a second constrained prime number, wherein a constrained prime number comprises a plurality of component values, wherein each of the plurality of component values comprises a prime number, wherein each of the plurality of component values is different;

generating a non-compressible data stream comprising a plurality of data blocks at least in part by:

generating, by a processor, first a non-compressible sequence based at least in part on the initialization parameter and the first constrained prime number;

generating, by the processor, a second non-compressible sequence based at least in part on the initialization parameter and the second constrained prime number, wherein the first and second non-compressible sequences are each comprised of a non-repeating sequence of numbers; and

merging, by the processor, the first non-compressible sequence and the second non-compressible sequence to generate the non-compressible data stream, wherein values of the non-compressible data stream alternate between values of the first non-compressible sequence and values of the second non-compressible sequence;

sending, by the processor, the non-compressible data stream comprising the plurality of data blocks to be stored at a storage device, wherein the storage device is configured to store all of the plurality of data blocks in response to determining that none of the data blocks have been already stored at the storage device;

receiving restored data associated with the non-compressible data stream from the storage device, wherein the restored data associated with the non-compressible data stream comprises the plurality of data blocks;

determining the first constrained prime number based at least in part on a difference between a first pair of non-consecutive values from the restored data associated with the non-compressible data stream;

determining the second constrained prime number based at least in part on a difference between a second pair of non-consecutive values from the restored data associated with the non-compressible data stream; and

verifying an accuracy and/or reliability of the storage device, wherein to verify the accuracy and/or reliability of the storage device, the restored data associated with the non-compressible data stream is verified by using the determined first constrained prime number and the determined second constrained prime number.

9. The method of claim 8 , wherein each of the plurality of component values comprises a byte value.

10. A computer program product, the computer program product embodied in a non-transitory computer readable storage medium and comprising computer instructions for:

receiving an initialization parameter;

determining a first constrained prime number and a second constrained prime number, wherein a constrained prime number comprises a plurality of component values, wherein each of the plurality of component values comprises a prime number, wherein each of the plurality of component values is different;

generating a non-compressible data stream comprising a plurality of data blocks at least in part by:

generating a first non-compressible sequence based at least in part on the initialization parameter and the first constrained prime number;

generating a second non-compressible sequence based at least in part on the initialization parameter and the second constrained prime number, wherein the first and second non-compressible sequences are each comprised of a non-repeating sequence of numbers; and

merging the first non-compressible sequence and the second non-compressible sequence to generate the non-compressible data stream comprising the plurality of data blocks, wherein values of the non-compressible data stream alternate between values of the first non-compressible sequence and values of the second non-compressible sequence;

sending the non-compressible data stream comprising the plurality of data blocks to be stored at a storage device, wherein the storage device is configured to store all of the plurality of data blocks in response to determining that none of the data blocks have been already stored at the storage device;

receiving restored data associated with the non-compressible data stream from the storage device, wherein the restored data associated with the non-compressible data stream comprises the plurality of data blocks;

determining the first constrained prime number based at least in part on a difference between a first pair of non-consecutive values from the restored data associated with the non-compressible data stream;

determining the second constrained prime number based at least in part on a difference between a second pair of non-consecutive values from the restored data associated with the non-compressible data stream; and

verifying an accuracy and/or reliability of the storage device, wherein to verify the accuracy and/or reliability of the storage device, the restored data associated with the non-compressible data stream is verified by using the determined first constrained prime number and the determined second constrained prime number.

Assignments (10)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2016
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 040203/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 17, 2014
From: DANGI, SALIL; ZARBOCK, JAMES; DAZA, ERNEST; OGATA, SCOTT H.
To: EMC CORPORATION
Reel/Frame 033762/0094 →
Cited By (3)
US 12,242,446 US 12,287,733 US 12,572,330