IP Library › Granted Patent US 10,114,850
Granted Patent B1
US 10,114,850 · App. 14/489,295 · Granted Oct 30, 2018

Data stream generation using prime numbers

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
G06F17/30371G06F17/30575G06F17/30067G06F17/30489
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,114,850
App. No.
14/489,295
Filed
Sep 17, 2014
Granted
Oct 30, 2018
Kind
B1
Art Unit
2162
USPC
725/32
Abstract

Data stream generation using prime numbers is disclosed, including: receiving an initialization parameter; and using the initialization parameter to generate a data stream comprising a merging of a first sequence and a second sequence, wherein the first sequence is generated using a first prime number and the initialization parameter and the second sequence is generated using a second prime number and the initialization parameter.

Claims (45)

1. A system, comprising:

a processor configured to:

receive an initialization parameter, wherein the initialization parameter is a value selected from a constrained address space, wherein the constrained address space limits the value of numbers in a sequence;

generate a data stream using the initialization parameter, wherein to generate the data stream, the processor is further configured to merge a first sequence and a second sequence, wherein to merge the first sequence and the second sequence into the data stream includes to alternate between a number of the first sequence and a number of the second sequence, wherein the first sequence is generated using a first prime number and the initialization parameter and the second sequence is generated using a second prime number and the initialization parameter, wherein a first number of a sequence is based on the initialization parameter and a subsequent number of the sequence is based on a previous number of the sequence and a corresponding sequence prime number;

send the data stream to be stored at a storage device;

receive restored data associated with the data stream from the storage device;

determine the first prime number and the second prime number based on the restored data at least in part by:

a first determination of a first offset between odd ordinal numbers of the data stream and a second offset between even ordinal numbers of the data stream;

a second determination of whether the first offset is equal to the first prime number and the second offset is equal to the second prime number; and

in response to determining the first offset is equal to the first prime number and the second offset is equal to the second prime number, verify the data stream without a copy of the data stream and without the initialization parameter, the prime number and the second prime number; and

a memory coupled to the processor and configured to store the initialization parameter.

2. The system of claim 1 , wherein the initialization parameter comprises a user input.

3. The system of claim 1 , wherein the initialization parameter is used as a first value in at least one of the first sequence and the second sequence.

4. The system of claim 1 , wherein the first and second prime numbers are selected from a constrained modified set of prime numbers comprising a set of prime numbers including “1” and excluding “2” and that is constrained by 2 N −1, where N is a positive integer.

5. The system of claim 1 , wherein the data stream is non-deduplicatable.

6. The system of claim 1 , wherein the processor is further configured to generate the first sequence including by generating a first value of the first sequence as a combination of the initialization parameter and the first prime number and a second value of the first sequence as a combination of the first value and the first prime number.

7. The system of claim 1 , wherein the processor is further configured to generate the second sequence including by generating a first value of the second sequence as a combination of the initialization parameter and the second prime number and a second value of the second sequence as a combination of the first value and the second prime number.

8. The system of claim 1 , wherein the processor is further configured to:

receive a revision parameter; and

use the revision parameter to select the first prime number and the second prime number from a constrained modified set of prime numbers.

9. A method, comprising:

receiving an initialization parameter, wherein the initialization parameter is a value selected from a constrained address space, wherein the constrained address space limits the value of numbers in a sequence;

generating, by a processor, a data stream using the initialization parameter, wherein generating the data stream comprises merging of a first sequence and a second sequence, wherein merging the first sequence and the second sequence into the data stream includes alternating between a number of the first sequence and a number of the second sequence, wherein the first sequence is generated using a first prime number and the initialization parameter and the second sequence is generated using a second prime number and the initialization parameter, wherein a first number of a sequence is based on the initialization parameter and a subsequent number of the sequence is based on a previous number of the sequence and a corresponding sequence prime number;

sending the data stream to be stored at a storage device;

receiving restored data associated with the data stream from the storage device;

determining the first prime number and the second prime number based on the restored data based on the restored data at least in part by:

determining a first offset between odd ordinal numbers of the data stream and a second offset between even ordinal numbers of the data stream;

determining whether the first offset is equal to the first prime number and the second offset is equal to the second prime number and

in response to determining the first offset is equal to the first prime number and the second offset is equal to the second prime number, verifying the data stream without a copy of the data stream and without the initialization parameter, the first prime number and the second prime number.

10. The method of claim 9 , wherein the first and second prime numbers are selected from a constrained modified set of prime numbers comprising a set of prime numbers including “1” and excluding “2” and that is constrained by 2 N −1, where N is a positive integer.

11. The method of claim 9 , wherein the data stream is non-deduplicatable.

12. The method of claim 9 further comprising generating the first sequence including by generating the first value of the first sequence as a combination of the initialization parameter and the first prime number and a second value of the first sequence as a combination of the first value and the first prime number.

13. The method of claim 9 further comprising generating the second sequence including by generating the first value of the second sequence as a combination of the initialization parameter and the second prime number and a second value of the second sequence as a combination of the first value and the second prime number.

14. The method of claim 9 further comprising:

receiving a revision parameter; and

using the revision parameter to select the first prime number and the second prime number from a constrained modified set of prime numbers.

15. 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, wherein the initialization parameter is a value selected from a constrained address space, wherein the constrained address space limits the value of numbers in a sequence, wherein a first number of a sequence is based on the initialization parameter and a subsequent number of the sequence is based on a previous number of the sequence and a corresponding sequence prime number;

generating a data stream using the initialization parameter, wherein generating the data stream comprises merging of a first sequence and a second sequence, wherein merging the first sequence and the second sequence into the data stream includes alternating between a number of the first sequence and a number of the second sequence, wherein the first sequence is generated using a first prime number and the initialization parameter and the second sequence is generated using a second prime number and the initialization parameter;

sending the data stream to be stored at a storage device;

receiving restored data associated with the data stream from the storage device;

determining the first prime number and the second prime number based on the restored data at least in part by:

determining a first offset between odd ordinal numbers of the data stream and a second offset between even ordinal numbers of the data stream;

determining whether the first offset is equal to the first prime number and the second offset is equal to the second prime number; and

in response to determining the first offset is equal to the first prime number and the second offset is equal to the second prime number, verifying the data stream without a copy of the data stream and without the initialization parameter, the first prime number and the second 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/0067 →
Cited By (3)
US 12,242,446 US 12,287,733 US 12,572,330