IP Library Granted Patent US 7,930,332
Granted Patent B2
US 7,930,332 · App. 11/690,758 · Granted Apr 19, 2011

Weighted entropy pool service

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 7,930,332
App. No.
11/690,758
Granted
Apr 19, 2011
Kind
B2
Abstract

A weighted entropy pool service system and methods. Weights are associated with entropy sources and are used to estimate a quantity of entropy contained in data from the entropy sources. An interface is optionally provided to facilitate connecting user entropy sources to the entropy pool service. The quantity of entropy contained in the system is tracked as entropy is distributed to entropy consumers. A persistent entropy pool state file stores entropy across system restarts.

Claims (53)

1. An entropy service system comprising:

a collection of entropy sources,

wherein each entropy source in the collection of entropy sources is associated with a respective weight, each said respective weight being related to an estimate of an amount of entropy in data supplied by the entropy source associated with the weight; and

a memory configured to store data from the entropy sources.

2. A system as recited in claim 1 , further comprising:

an interface configured to enable a user to link a user entropy source to the entropy service system.

3. A system as recited in claim 2 , further comprising:

a user entropy source linked to the entropy system by the interface; and

a weight associated with data from the user entropy source.

4. A system as recited in claim 3 , further comprising:

a data link for providing entropy to a computing system; and

an entropy mixer for mixing entropy from a first entropy source associated with a resource of the computing system and a second entropy source linked to the entropy service system by the interface.

5. A system as recited in claim 1 , further comprising:

an entropy distributor for distributing entropy contained in data stored in the memory throughout the data.

6. A system as recited in claim 1 , further comprising:

a persistent entropy state storage for storing entropy, said entropy state storage configured to persist across a system restart.

7. A system as recited in claim 1 , wherein an entropy source is configured to operate in both a synchronous mode and an asynchronous mode and further comprising a first weight associated with data from the entropy source operating in synchronous mode and a second weight associated with data from the entropy source operating in asynchronous mode.

8. A system as recited in claim 1 , further comprising:

an entropy analyzer for computing the amount of entropy in data from an entropy source.

9. A computer-implemented method comprising:

receiving data from a plurality of entropy sources;

estimating a quantity of entropy contained in the received data from each entropy source of the plurality of entropy sources by applying a weight associated with each entropy source; and

storing data correlative of the received data in a computer memory associated with an entropy service system.

10. A computer-implemented method as recited in claim 9 , further comprising:

supplying data containing entropy to a consumer of entropy; and

tracking a quantity of entropy remaining in the entropy service system after supplying the data.

11. A computer-implemented method as recited in claim 9 , wherein storing data correlative of the received data comprises:

applying a hashing function to the received data to generate hashed data; and

storing the hashed data in a computer memory.

12. A computer-implemented method as recited in claim 9 , wherein storing data correlative of the received data comprises:

applying a hashing function to the received data to generate hashed data;

extracting a quantity of data from the hashed data approximately equal to the estimated quantity of entropy contained in the data from the entropy source; and

storing the extracted data in a computer memory.

13. A computer-implemented method as recited in claim 9 , further comprising:

providing an interface configured to enable a user to link a user entropy source to the entropy service system.

14. A computer-implemented method as recited in claim 12 , further comprising:

receiving data from a user entropy source;

applying a weight associated with the user entropy source to estimate a quantity of entropy contained in the data from the user entropy source;

mixing the data received from the user entropy source with data received from the first entropy source to generate mixed data; and

wherein storing data correlative of the received data comprises storing data correlative of the mixed data in a computer memory associated with the entropy service system.

15. A computer-implemented method as recited in claim 9 , further comprising:

saving data from the computer memory associated with the entropy service system in a persistent entropy state storage configured to persist across a system restart.

16. A computer readable storage medium comprising computer executable instructions for:

receiving data from a plurality of entropy sources; and

estimating a quantity of entropy contained in the received data by applying a weight associated with each entropy source of the plurality of entropy sources to the data received from each entropy source.

17. A computer readable storage medium as recited in claim 16 , wherein the computer-executable instructions further comprise instructions for:

providing an interface configured to enable a user to link a user entropy source to an entropy service system.

18. A computer readable storage medium as recited in claim 17 , wherein the computer-executable instructions further comprise instructions for:

mixing data from a plurality of entropy sources.

19. A computer readable storage medium as recited in claim 16 , wherein the computer-executable instructions further comprise instructions for:

saving data containing accumulated entropy in a persistent entropy state storage configured to persist across a system restart.

20. A computer readable storage medium as recited in claim 16 , wherein the computer-executable instructions further comprise instructions for:

analyzing the received data to compute a quantity of entropy contained in the received data.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034542/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2007
From: ACAR, TOLGA; SHUMOW, DANIEL B.; TUCKER, ANDREW S.; ELLISON, CARL M.
To: MICROSOFT CORPORATION
Reel/Frame 019294/0087 →