IP Library Granted Patent US 7,334,005
Granted Patent B2
US 7,334,005 · App. 11/106,194 · Granted Feb 19, 2008

Controllable deployment of software updates

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,334,005
App. No.
11/106,194
Granted
Feb 19, 2008
Kind
B2
Abstract

The risk of inadvertent introduction of software bugs to a large number of users during a software update is minimized by controlling updates using a uniform mechanism of sending updates to seed users. A value-generating module generates a value for a computer, the value falling within a population range of values. A sampling range-generating module generates a sampling range of values as a proper subset of the population range, the probability of the random value falling within the sampling range being predetermined. An eligibility determination module determines whether the computer is eligible to receive a software update, the computer being determined eligible when the random value for the computer falls within the sampling range, and an update module provides the software update to the computer based on the eligibility determination. In some embodiments, a problem review module determines whether the update has caused a problem for computers receiving the update.

Claims (34)

1. A computer program product comprising a computer-readable medium having computer program logic embodied therein for controllably providing software updates to a random sample of computers with updateable software, the computer program logic comprising:

a value-generating module for generating a random value for a computer, the value falling within a population range of possible values;

a sampling range-generating module for generating a sampling range of values as a proper subset of the population range, the probability of the random value falling within the sampling range being predetermined;

an eligibility determination module for determining whether the computer is eligible to receive a software update, the computer being determined eligible responsive to whether the computer falls within the sampling range; and

an update module for providing the software update to the computer based on the eligibility determination.

2. The computer program product of claim 1 , wherein the value generated for the computer does not affect the probability of which value will be generated for a second computer.

3. The computer program product of claim 1 , wherein the value generated for the computer is a multi-dimensional number that allows provision of software updates to the computer to be controlled according to multiple variables.

4. The computer program product of claim 1 , further comprising a problem review module for determining whether the software update has caused a problem for the computer receiving the update.

5. The computer program product of claim 4 , wherein the sampling range-generating module generates a broader sampling range to include more random values within the broader range in response to a determination by the problem review module that the software update has not caused substantial problems for the computer receiving the update.

6. The computer program product of claim 5 , wherein the sampling range of values is stored in a file that is updated over time as the sampling range-generating module generates broader sampling ranges.

7. The computer program product of claim 1 , wherein the value generated is maintained for the computer for more than one software update.

8. The computer program product of claim 1 , wherein the sampling range-generating module automatically generates broader sampling ranges over time according to set parameters to provide updates to an increasing number of computers.

9. The computer program product of claim 1 , wherein the value-generating module generates the value from a uniform distribution.

10. A method of controllably providing software updates to a random sample of computers with updateable software, the method comprising:

generating a random value for a computer, the value falling within a population range of possible values;

generating a sampling range of values as a proper subset of the population range, the probability of the random value falling within the sampling range being predetermined;

determining whether the computer is eligible to receive a software update, the computer being determined eligible when the random value for the computer falls within the sampling range; and

providing the software update to the computer based on the eligibility determination.

11. The method of claim 10 , wherein the random value generated for the computer does not affect the probability of which value will be generated for a second computer.

12. The method of claim 10 , wherein the value generated for the computer is a multi-dimensional number that allows provision of software updates to the computer to be controlled according to multiple variables.

13. The method of claim 10 , further comprising determining whether the software update has caused a problem for the computer receiving the update.

14. The method of claim 13 , further comprising generating a broader sampling range to include more random values within the range in response to a determination that the software update has not caused substantial problems for the computer receiving the update.

15. The method of claim 14 , wherein the sampling range of values is stored in a file that is updated over time as broader sampling ranges are generated.

16. The method of claim 10 , automatically generating a broader sampling range over time according to set parameters to provide updates to an increasing number of computers.

17. The method of claim 10 , further comprising generating a different sampling range of values for a second software update.

18. The method of claim 10 , wherein generating a random value for a computer further comprises generating the value from a uniform distribution.

19. A system for controllably providing software updates to a random sample of computers with updateable software, the system comprising: a computer adapted to execute computer program modules comprising: a value-generating module for generating a random value for a computer, the value falling within a population range of possible values; a sampling range-generating module for generating a sampling range of values as a proper subset of the population range, the probability of the random value falling within the sampling range being predetermined; an eligibility determination module for determining whether the computer is eligible to receive a software update, the computer being determined eligible when the random value for the computer falls within the sampling range; and an update module for providing the software update to the computer based on the eligibility determination.

20. The system of claim 19 , wherein the random value generated for the computer does not affect the probability of which value will be generated for a second computer.

21. The system of claim 19 , wherein the value-generating module generates the value from a uniform distribution.

22. The system of claim 19 , wherein the value generated for the computer is a multi-dimensional number that allows provision of software updates to the computer to be controlled according to multiple variables.

23. The system of claim 19 , further comprising a problem determination module for determining whether the software update has caused a problem for computers receiving the update.

24. The system of claim 23 , wherein the sampling range-generating module generates a broader sampling range to include more random values within the broader range in response to a determination by the problem review module that the software update has not caused substantial problems for the computers receiving the update.

25. The system of claim 19 , wherein the sampling range-generating module automatically generates broader sampling ranges over time according to set parameters to provide updates to an increasing number of computers.

26. The system of claim 24 , wherein the sampling range of values is stored in a file that is updated over time over time as the sampling range-generating module generates broader sampling ranges.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 19, 2020
From: SYMANTEC CORPORATION
To: CA, INC.
Reel/Frame 052700/0638 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 13, 2005
From: SOBEL, WILLIAM E.
To: SYMANTEC CORPORATION
Reel/Frame 016478/0821 →