IP Library Granted Patent US 8,910,142
Granted Patent B2
US 8,910,142 · App. 13/085,729 · Granted Dec 9, 2014

Method and system to regulate the electronic availability of application software updates based on information collected regarding installation, usage and support for these updates

Inventors: Francisco M. Valeriano (Torrance, CA); James Murphy (Moreno Valley, CA)
Assignee: Xerox Corporation
G06F8/65
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 8,910,142
App. No.
13/085,729
Granted
Dec 9, 2014
Kind
B2
Abstract

A method for providing software updates. The method comprises selecting an eligible population for a software update from a target population and distributing the software update to the initial eligible population. Thereafter, use and error information is gathered and the size of the eligible population is adjusted according to a stability calculation based on the gathered information. This process is repeated until the entire target population for the update has received the update.

Claims (65)

1. A method executed by a processor for software distribution that does not overwhelm support infrastructure, said method comprising:

selecting an eligible population of application instances to whom a software update is made available, from a target population of application instances;

gathering a use information from said selected application instance wherein said use information is associated with running software associated with said software update on said selected application instance and gathering an error information from said selected application instance wherein said error information is associated with running said software associated said software update on said selected application instance using a remote diagnostics module configured to monitor the use and stability of said application instance;

providing said use information and said error information to a distribution engine;

calculating a stability of said software associated with said software update according to said use information and said error information, wherein said calculation is indicative of a confidence said software update is stable;

adjusting the size of said eligible population according to said stability calculation associated with said software update; and

distributing said software update to said adjusted eligible population until said adjusted eligible population includes the total of said target population.

2. The method of claim 1 further comprising distributing said software update to said adjusted eligible population of application instances on a set time interval.

3. The method of claim 2 wherein said stability calculation is based on said use information and error information and calculated by a distribution engine.

4. The method of claim 1 wherein distributing said software update to said eligible population of application instances further comprises:

providing said software update with an Internet connection; and

providing said software update on a removable storage media.

5. The method of claim 1 wherein gathering a use information and an error information further comprises:

collecting use information and error information from an application instance; and

providing said use information and said error information to a customer support organization comprising an organization in charge of receiving end user calls and providing support for said software.

6. The method of claim 1 wherein adjusting the size of said eligible population of application instances further comprises:

increasing said eligible population of application instances as said stability calculation indicates said software is stable after said software update is installed; and

decreasing said eligible population of application instances as said stability calculation indicates said software is unstable after said software update is installed.

7. The method of claim 3 wherein said stability calculation is determined according to at least two of the following stability indicators:

the number of said application instances that have successfully installed said software update;

the number of said application instances that have not successfully installed said software update;

the number of said application instances that have used said software update;

the number of said application instances that have encountered an error when using said software update; and

the number of said application instances that have used said software update for a stable time interval.

8. The method of claim 2 wherein said set time interval is one day.

9. The method of claim 1 further comprising warning a release manager module as said stability calculation reaches a predefined warning threshold; and

suspending further distribution of said software update.

10. A method executed by a processor for software distribution that does not overwhelm support infrastructure, said method comprising:

selecting an eligible population of application instances to whom a software update is made available, from a target population of application instances;

gathering a use information from said selected application instance wherein said use information is associated with running software associated with said software update on said selected application instance and gathering an error information from said application instances wherein said error information is associated with running software associated with said software update on said selected application instance using a remote diagnostics module configured to monitor the use and stability of said application instance and collecting use information and error information from an application instance provided to a customer support organization comprising an organization in charge of receiving end user calls and providing support for said software;

providing said use information and said error information to a distribution engine;

calculating a stability of said software associated with said software update according to said use information and said error information, wherein said calculation is indicative of a confidence said software update is stable; and

adjusting the size of said eligible population and distributing said software update to said adjusted eligible population, on a set time interval, according to a stability calculation provided by a distribution engine wherein said stability calculation is based on said use information and error information, until said adjusted eligible population includes the total of said target population.

11. The method of claim 10 further comprising:

distributing said software update to said eligible population of application instances, wherein said software update is distributed using an Internet connection or said software update is distributed on a removable storage media.

12. The method of claim 10 wherein adjusting the size of said eligible population of application instances further comprises:

increasing said eligible population of application instances if said stability calculation indicates said software is stable after said software update is installed; and

decreasing said eligible population of application instances if said stability calculation indicates said software is unstable after said software update is installed.

13. The method of claim 10 wherein said stability calculation is determined according to at least two of the following stability indicators:

the number of said application instances that have successfully installed said software update;

the number of said application instances that have not successfully installed said software update;

the number of said application instances that have used said software update;

the number of said application instances that have encountered an error when using said software update; and

the number of said application instances that have used said software update for a stable time interval.

14. The method of claim 10 wherein said set time interval is one day.

15. The method of claim 10 further comprising warning a release manager module as said stability calculation reaches a predefined warning threshold; and

suspending further distribution of said software update.

16. A system for distributing a software update that does not overwhelm support infrastructure, said system comprising:

a hardware processor;

a computer-usable medium embodying computer code, said computer-usable medium being coupled to said processor, said computer program code comprising instruction modules executable by said processor;

an update manager module associated with a computer application instance that checks an update server for aft a software update for said computer application instance wherein said update is provided to said computer application instance if said computer application instance is selected as an eligible computer application instance;

a remote diagnostics module associated with said computer application instance for gathering use information from said selected application instance wherein said use information is associated with running said software associated with said software update on said selected application instance and gathering stability data associated with running said software associated with said software update from said computer application instance and providing said data to a distribution engine module; and

a customer support organization module for gathering use and stability data from said computer application instance and providing said data to said distribution engine module wherein said distribution engine module adjusts the size of said eligible computer application instance according to a stability calculation indicative of a confidence said software is stable, and distributes said software update to said eligible population of application instances until said eligible population includes a total target population.

17. The system of claim 16 wherein said remote diagnostics module adjusts the size of said eligible population of application instances and distributes said software update to said adjusted eligible population of application instances on a set time interval.

18. The system of claim 17 further including an internet connection for distributing said software update to said eligible population of application instances; and

a removable storage media for distributing said software update to said eligible population of application instances.

19. The system of claim 16 wherein said distribution engine module adjusts the size of said eligible population of application instances by:

increasing said eligible population of application instances if said stability calculation indicates said software is unstable after said software update is installed; and

decreasing said eligible population of application instances if said stability calculation indicates said software is unstable after said software update is installed.

20. The system of claim 16 wherein said distribution engine module performs said stability calculation according to at least two of the following stability indicators:

the number of said computer application instances that have successfully installed said software update;

the number of said computer application instances that have not successfully installed said software update;

the number of said computer application instances that have used said software update;

the number of said computer application instances that have encountered an error when using said software update; and

the number of said computer application instances that have used said software update for a stable time interval.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 13, 2011
From: VALERIANO, FRANCISCO MARINO; MURPHY, JAMES PATRICK
To: XEROX CORPORATION
Reel/Frame 026115/0295 →
Continuity (1)
Related Publication 20120266155A1 · Oct 18, 2012