IP Library Granted Patent US 7,873,957
Granted Patent B2
US 7,873,957 · App. 11/494,320 · Granted Jan 18, 2011

Minimizing user disruption during modification operations

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,873,957
App. No.
11/494,320
Granted
Jan 18, 2011
Kind
B2
Abstract

A reboot reduction infrastructure may be used by applications to make installing modifications as unobtrusive as possible. Applications may register with the reboot reduction infrastructure and use provided APIs to detect which applications and services have files in use, shutdown down those applications with files in use and then restart those applications in a form similar to which they were in when the applications were shut down.

Claims (92)

1. A method of minimizing disruptions by modifications to software applications or services comprising:

communicating that a software modification to an application or service is necessary;

detecting whether the application or service has a resource in use;

if the application or service has the resource in use:

having the application or service save state data and user data; and

asking the application or service to release the resource using least intrusive approach possible selected from a group comprising:

releasing the resource with a partial loss in functionality;

shutting down the application or service; and

shutting down computing system;

identifying applications or services that are dependent on the application or service that is to be shutdown; and

asking the identified applications or services to release the resource using least intrusive approach possible selected from a group comprising:

releasing the resource with a partial loss in functionality;

shutting down the identified applications or services; and

shutting down computing system;

installing the software modification; and

if the application or service was shut down:

restarting the application or service; and

using the stored state data and user data to restore the application or service to the state the application or service was in before the restart;

wherein if the application or service is logged in by multiple users, performing at least one of:

obtaining permission from all users to allow the application or service to be shutdown so that the software modification can be installed;

obtaining permission to shut down the application or service from a user with highest authority and informing other users that the application or service is going to be shutdown, if permission from the user with the highest authority is not obtained, delaying the software modification installation until the user with the highest authority stops using the application or service; and

allowing users to switch to an additional application or service such that the software modification can be installed.

2. The method of claim 1 , wherein the software modification comprises a maintenance operation.

3. The method of claim 1 , further comprising identifying the applications or services that needs to be shutdown before the software modification begins.

4. The method of claim 1 , further comprising if the application or service is an application or service visible to a user, advising the user that a shutdown is necessary and allowing the user to select to defer the shutdown until a time in future when the application or service is not active.

5. The method of claim 1 , further comprising activating a monitoring system that watches the computing system and installing the software modification upon one of: log-off, on process termination or when the resource is released.

6. The method of claim 1 , further comprising implementing a reboot reduction infrastructure that asks the applications or service to shutdown or release the resource or initiate a log-off when the software modification is applied.

7. The method of claim 6 , further comprising providing periodic reminders of the application or service that need to be restarted such that the software modification may be installed.

8. The method of claim 1 , further comprising when a reboot or log-off is necessary to install the software modification, asking the application or service to save state data without requiring user intervention and restarting the application or service using the state data to return the application or service to a similar state before the application or service was rebooted or a user logs on.

9. The method of claim 1 , further comprising if the application or service has the resource in use but the application or service is not visible to a user:

automatically shutting down the application or service;

installing the software modification; and

restarting the application or service without providing notice to the user.

10. The method of claim 1 , further comprising asking the application or service to store state data and user data and using information provided by the application or service to initiate a restoration of the application or service to the state they were in before the restart.

11. A non-transitory computer storage medium with computer executable instructions for minimizing disruptions by modifications to software applications or service comprising computer executable code for:

registering resources, applications and services with a reboot reduction infrastructure application;

communicating that a software modification to an application or service is necessary;

detecting whether the applications or service has a resource in use;

if the application or service has the resource in use:

having the application or service save state data;

asking the application or service to release the resource using least intrusive approach possible selected from a group comprising:

releasing the resource with a partial loss in functionality;

shutting down the application or service; and

shutting down computing system;

identifying applications or services that are dependent on the applications or service that is to be shutdown; and

asking the identified applications or services to release the resource using least intrusive approach possible selected from a group comprising:

releasing the resource with a partial loss in functionality;

shutting down the applications or services; and

shutting down computing system;

installing the software modification; and

if the application or service was shut down:

restarting the application or service; and

using the stored state data to restore the application or service to the state the application or the service was in before the restart;

wherein if the application or service is logged in by multiple users, performing at least one of:

obtaining permission from all users to allow the application or service to be shutdown so that the software modification can be installed;

obtaining permission to shut down the application or service from a user with highest authority and informing other users that the application or service is going to be shutdown, if permission from the user with the highest authority is not obtained, delaying the software modification installation until the user with the highest authority stops using the application or service; and

allowing users to switch to an additional application or service such that the software modification can be installed.

12. The non-transitory computer storage medium of claim 11 , further comprising computer executable code for advising a user that a application or service shutdown is necessary and allowing the user to select to defer the shutdown until a time in future when the application or service is not active if the application or service is an application or service visible to the user.

13. The non-transitory computer storage medium of claim 11 , further comprising computer executable code for installing the software modification upon one of: log-off, on process termination or on when the resource is released.

14. The non-transitory computer storage medium of claim 11 , further comprising computer executable code that when a reboot or log-off is necessary to install the software modification, asks the applications or service to save state data without requiring user intervention and restarts the applications or service using the state data to return the application or service to a similar state before the application or service was rebooted or a user logs on.

15. The non-transitory computer storage medium of claim 11 , further comprising computer executable code that if the application or service has the resource in use but the application or service is not visible to a user:

automatically shuts down the application or service;

installs the software modification; and

restarts the application or service without providing notice to the user.

16. A computer system comprising a processor for executing computer executable code, a memory for storing computer executable code and an input/output device, the computer executable code comprising code for:

registering resources, applications and services with a reboot reduction infrastructure application;

communicating that a software modification to an application or service is necessary;

detecting whether the application or service has a resource in use;

if the application or service has the resource in use:

having the application or service save state data;

asking the application or service to release the resource using least intrusive approach possible selected from a group comprising:

releasing the resource with a partial loss in functionality;

shutting down the application or service; and

shutting down computing system;

identifying applications or services that are dependent on the application or service that is to be shutdown; and

asking the identified applications or services to release the resource using least intrusive approach possible selected from a group comprising:

releasing the resource with a partial loss in functionality;

shutting down the applications or services; and

shutting down computing system;

installing the software modification; and

if the application or service was shut down:

restarting the application or service; and

using the stored state data to restore the application or service to the state the application or the service was in before the restart;

wherein if the application or service is logged in by multiple users, performing at

least one of:

obtaining permission from all users to allow the application or service to be shutdown so that the software modification can be installed;

obtaining permission to shut down the application or service from a user with highest authority and informing other users that the application or service is going to be shutdown, if permission from the user with the highest authority is not obtained, delaying the software modification installation until the user with the highest authority stops using the application or service; and

allowing users to switch to an additional application or service such that the software modification can be installed.

17. The computer system of claim 16 further comprising computer executable code that if the application or service is not visible, proceeding without user intervention to:

shut down the application or service;

install the software modification; and

restart the application or service without providing notice to a user if the application or service has the resource in use but the application or service is not visible to the user.

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 Jan 3, 2007
From: NALLIPOGU, ELSIE; VICIK, FREDERIC O.
To: MICROSOFT CORPORATION
Reel/Frame 018701/0916 →