Controllable deployment of software updates
First Claim
1. A computer program product comprising a non-transitory computer-readable medium having computer program logic embodied therein for controllably providing software updates from an update server to a random sample of computers with updateable software, the computer program logic comprising:
- a sampling range-generating module for generating at the update server a sampling range of values as a proper subset of a population range of possible values;
a receiving module for receiving at the update server from a computer a generated random value, the random value falling within the population range;
an eligibility determination module for determining at the update server whether the computer is eligible to receive a software update, the computer being determined eligible responsive to whether the received random value falls within the sampling range; and
an update module for providing the software update from the update server to the computer based on the eligibility determination.
2 Assignments
0 Petitions
Accused Products
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.
37 Citations
20 Claims
-
1. A computer program product comprising a non-transitory computer-readable medium having computer program logic embodied therein for controllably providing software updates from an update server to a random sample of computers with updateable software, the computer program logic comprising:
-
a sampling range-generating module for generating at the update server a sampling range of values as a proper subset of a population range of possible values; a receiving module for receiving at the update server from a computer a generated random value, the random value falling within the population range; an eligibility determination module for determining at the update server whether the computer is eligible to receive a software update, the computer being determined eligible responsive to whether the received random value falls within the sampling range; and an update module for providing the software update from the update server to the computer based on the eligibility determination. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method of controllably providing software updates from an update server to a random sample of computers with updateable software, the method comprising:
-
generating at the update server a sampling range of values as a proper subset of a population range of possible values; receiving at the update server from a computer a generated random value, the random value falling within the population range; determining at the update server whether the computer is eligible to receive a software update, the computer being determined eligible responsive to whether the received random value falls within the sampling range; and providing the software update from the update server to the computer based on the eligibility determination. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A system for controllably providing software updates from an update server to a random sample of computers with updateable software, the system comprising:
-
a processor for executing computer program logic; and a non-transitory computer-readable medium having executable computer program logic embodied therein comprising; a sampling range-generating module for generating at the update server a sampling range of values as a proper subset of a population range of possible values; a receiving module for receiving at the update server from a computer a generated random value, the random value falling within the population range; an eligibility determination module for determining at the server whether the computer is eligible to receive a software update, the computer being determined eligible responsive to whether the received random value falls within the sampling range; and an update module for providing the software update from the update server to the computer based on the eligibility determination. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification