Software update techniques based on ascertained identities
First Claim
Patent Images
1. A method comprising:
- detecting a request at a computing device to initiate execution of software;
ascertaining an identity that indicates a unique name and version of the software, and for one or more available updates of the software, the unique name indicating specific functionality incorporated within the one or more available updates and the version of the software including a functionality version that describes features of the software and a servicing version which indicates compatible bug fixes including security fixes that were installed for the software;
comparing the ascertained identity of the software with one or more published identities of the one or more available updates that are pre-filtered as involving updates to respective software operations of the computing device, the published identities being pre-cached at the computing device to determine whether one or more of the updates are available for the software and are critical updates to the software of the computing device;
when execution of the software is initiated, and responsive to a determination that the software is not current and that the one or more updates are available for the software;
blocking execution of the software on the computing device and updating the software while execution of the software is blocked responsive to a determination that the one or more available updates are critical to the operation of the computing device; and
permitting execution of the software on the computing device while the software is not current and while updating the software via polling responsive to a determination that the one or more available updates are not critical to the operation of the computing device; and
permitting execution of the software on the computing device when the identity of the software does not correspond to the one or more published identities or when the software is current.
2 Assignments
0 Petitions
Accused Products
Abstract
Software update techniques are described. In at least one implementation, updates are filtered based on criticality to operation of one or more items of software. A plurality of identities are published to a plurality of computing devices, each for a respective one of the updates that are filtered as being critical to the operation of the one or more items of software. The updates that are not filtered as being critical to the operation of the one or more items of software are made available via polling.
51 Citations
20 Claims
-
1. A method comprising:
-
detecting a request at a computing device to initiate execution of software; ascertaining an identity that indicates a unique name and version of the software, and for one or more available updates of the software, the unique name indicating specific functionality incorporated within the one or more available updates and the version of the software including a functionality version that describes features of the software and a servicing version which indicates compatible bug fixes including security fixes that were installed for the software; comparing the ascertained identity of the software with one or more published identities of the one or more available updates that are pre-filtered as involving updates to respective software operations of the computing device, the published identities being pre-cached at the computing device to determine whether one or more of the updates are available for the software and are critical updates to the software of the computing device; when execution of the software is initiated, and responsive to a determination that the software is not current and that the one or more updates are available for the software; blocking execution of the software on the computing device and updating the software while execution of the software is blocked responsive to a determination that the one or more available updates are critical to the operation of the computing device; and permitting execution of the software on the computing device while the software is not current and while updating the software via polling responsive to a determination that the one or more available updates are not critical to the operation of the computing device; and permitting execution of the software on the computing device when the identity of the software does not correspond to the one or more published identities or when the software is current. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system comprising:
-
an operating system configured to detect a request at a computing device to initiate execution of software; and an update manager module implemented at least partially in hardware, the update manager module configured to perform operation comprising; ascertaining an identity that indicates a unique name and version of the software, and for one or more available updates of the software, the unique name indicating specific functionality incorporated within the one or more available updates and the version of the software including a functionality version that describes features of the software and a servicing version which indicates compatible bug fixes including security fixes that were installed for the software; comparing the ascertained identity of the software with one or more published identities of the one or more available updates that are pre-filtered as involving updates to respective software operations of the computing device, the published identities being pre-cached at the computing device to determine whether one or more of the updates are available for the software and are critical updates to the software of the computing device; when execution of the software is initiated, and responsive to a determination that the software is not current and that the one or more updates are available for the software; blocking execution of the software on the computing device and updating the software while execution of the software is blocked responsive to a determination that the one or more available updates are critical to the operation of the computing device; and permitting execution of the software on the computing device while the software is not current and while updating the software via polling responsive to a determination that the one or more available updates are not critical to the operation of the computing device; and permitting execution of the software on the computing device when the identity of the software does not correspond to the one or more published identities or when the software is current. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15)
-
-
16. One or more computer-readable memory devices including instructions that are executable by a computing device to perform operations comprising:
-
detecting a request at the computing device to initiate execution of software; ascertaining an identity that indicates a unique name and version of the software and for one or more available updates of the software, the unique name indicating specific functionality incorporated within the one or more available updates and the version of the software including a functionality version that describes features of the software and servicing version which indicates compatible bug fixes including security fixes that were installed for the software; comparing the ascertained identity of the software with one or more published identities of the one or more of the available updates that are pre-filtered as involving updating of respective software operations of the computer device, the published identities are pre-cached at the computing device to determine whether one or more of the updates are available for the software and whether are critical updates to the software of the computing device; when execution of the software is initiated, and responsive to a determination that the software is not current and that the one or more updates are available for the software; blocking execution of the software on the computing device and updating the software while execution of the software is blocked responsive to a determination that the one or more of the available updates software is critical to the operation of the computing device; permitting execution of the software on the computing device while the software is not current responsive and while updating the software via polling responsive to a determination that the one or more available updates are not critical to the operation of the computing device; and permitting execution of the software on the computing device when the identity of the software does not correspond to the one or more published identities or when the software is current. - View Dependent Claims (17, 18, 19, 20)
-
Specification