Source: https://patents.google.com/patent/US8689203
Timestamp: 2018-02-24 06:17:32
Document Index: 649686865

Matched Legal Cases: ['Application No. 09726134', 'Application No. 09726134', 'Application No. 200980110574', 'Application No. 200980110574', 'Application No. 200980110574', 'Application No. 200980110574', 'Application No. 2011501868', 'Application No. 2011', 'Application No. 2010139457']

US8689203B2 - Software update techniques based on ascertained identities - Google Patents
US8689203B2
US8689203B2 US12033868 US3386808A US8689203B2 US 8689203 B2 US8689203 B2 US 8689203B2 US 12033868 US12033868 US 12033868 US 3386808 A US3386808 A US 3386808A US 8689203 B2 US8689203 B2 US 8689203B2
US20090210868A1 (en )
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.
each of the published identities correspond to at least one said update; and
the at least one said update is not available locally on the computing device when the comparison is performed.
3. A method as described in claim 1, wherein each of the published identities correspond to at least one said available update that is critical to the operation of the computing device.
4. A method as described in claim 3, further comprising polling for at least one said available update that is not critical to the operation of the computing device and is not referenced by the one or more published said identities.
5. A method as described in claim 3, wherein the published identities correspond to one or more security updates.
6. A method as described in claim 1, wherein the ascertaining is performed by checking a manifest that is included as a part of the software.
7. A method as described in claim 1, wherein the ascertaining is performed by checking a manifest that includes identities of a plurality of software that is installed on the computing device.
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:
9. A system as described in claim 8, wherein the one ore more published identities exclude the one or more available updates that are not critical to the operation of the computing device.
10. A system as described in claim 8, wherein the one or more published identities are published to a plurality of computing devices regardless of whether a respective said computing device includes software that corresponds to the one or more published identities.
11. A system as described in claim 10, wherein the one or more published identities are configured to cause the plurality of computing devices that include software that is not current, according to a respective said identity, to block execution on the computing device of the software corresponding to the respective said identity.
12. A system as described in claim 10, wherein the one or more published identities are configured to cause the plurality of computing devices that include software that is not current, according to a respective said identity, to install a respective said available update.
13. A system as described in claim 10, wherein the operations that the update manager module is configured to perform further comprise polling for at least one said available update that is not critical to the operation of the computing device and is not referenced by the one or more published said identities.
14. A system as described in claim 10, wherein the ascertaining is performed by checking a manifest that is included as a part of the software.
15. A system as described in claim 10, wherein the ascertaining is performed by checking a manifest that includes identities of a plurality of software that is installed on the computing device.
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;
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
17. One or more computer-readable memory devices as described in claim 16, wherein each of the published identities correspond to at least one said available update that is critical to the operation of the computing device.
18. One or more computer-readable memory devices as described in claim 16, wherein the software is an application, component of an operating system provided by the computing device or a plug-in module.
19. One or more computer-readable memory devices as described in claim 16, wherein the published identities correspond to the one or more available updates that relate to security.
20. One or more computer-readable memory devices as described in claim 16, wherein the operation further comprise polling for at least one said available update that is not critical to the operation of the computing device and is not referenced by the one or more published said identities.
US8689203B2 true US8689203B2 (en) 2014-04-01
JP2000311040A (en) 1998-10-19 2000-11-07 Chisato Okabe Device and method for data delivery and recording medium recording data delivery program
JP2006251298A (en) 2005-03-10 2006-09-21 Nissan Motor Co Ltd Device and method for inputting voice
"Extended European Search Report", EP Application No. 09726134.1, (May 23, 2011),4 pages.
"Extended European Search Report", European Patent Application No. 09726134.1, (May 23, 2011), 4 pages.
"Final Office Action", U.S. Appl. No. 12/055,291, (Feb. 24, 2012),11 pages.
"Foreign Office Action", Chinese Application No. 200980110574.1, (Aug. 9, 2011), 7 pages.
"Foreign Office Action", Chinese Application No. 200980110574.1, (Jan. 14, 2013), 6 pages.
"Foreign Office Action", Chinese Application No. 200980110574.1, (Jul. 3, 2013), 6 pages.
"Foreign Office Action", Chinese Application No. 200980110574.1, (May 24, 2012),7 pages.
"Foreign Office Action", Japanese Application No. 2011501868, (May 14, 2013), 6 pages.
"Foreign Office Action", Japanese Application No. 2011-501868, Oct. 11, 2013, 4 Pages.
"Foreign Office Action", Russian Application No. 2010139457, (Dec. 18, 2012),6 pages.
"Kaseya Fast and Easy Deployment", Retrieved from http://www.kaseya.com/products/remote-software-deployment.php on Mar. 24, 2008., 1 Page.
"Method to Pace User Input for Speech Recognition Systems", IBM Technical Disclosure Bulletin, vol. 37, No. 10, (Oct. 1, 1994),2 pages.
"Non-Final Office Action", U.S. Appl. No. 12/055,291, (Sep. 16, 2011),17 pages.
"Non-Final Office Action", U.S. Appl. No. 12/055,291, Jan. 13, 2014, 19 pages.
"PCT Search Report and Written Opinion", Application No. PCT/US2009/035471, (Aug. 27, 2009), 11 pages.
"Revolutionary Voice UI for Mobile", User Interfaces 1.3, pp. 1-8.
"Virtualized Application Delivery with Cisco Application Control Engine (ACE)", Retrieved from http://www.cisco.com/en/US/prod/collateral/modules/ps2706/ps6906/prod-white-paper0900aecd8066bfe2-ps7027-Products-White-Paper.html on Mar. 24, 2008., 8 pages.
"Virtualized Application Delivery with Cisco Application Control Engine (ACE)", Retrieved from http://www.cisco.com/en/US/prod/collateral/modules/ps2706/ps6906/prod—white—paper0900aecd8066bfe2—ps7027—Products—White—Paper.html on Mar. 24, 2008., 8 pages.
Cimon, "Youincate Voice Shortcuts 0.8b Description", BlueChillies.com, (2000-2007), 2 pages.
Heydarnoori, Abbas et al., "Reliable Deployment of Component-based Applications into Distributed Environments", Proceedings of the 3rd International Conference on Information Technology: New Generations, Available at ,(Apr. 2006),6 Pages.
Heydarnoori, Abbas et al., "Reliable Deployment of Component-based Applications into Distributed Environments", Proceedings of the 3rd International Conference on Information Technology: New Generations, Available at <http://ieeexplore.ieee.org/xpl/freeabs'all.jsp?arnumber=1611570.>,(Apr. 2006),6 Pages.
Lyon, Jack "How to Give Your PC Voice Commands", CNET Networks, Inc., (Sep. 15, 2003), 1 page.
Lyon, Jack "How to Give Your PC Voice Commands", CNET Networks, Inc., 2008, (Sep. 15, 2003), 1 page.
US20090210868A1 (en) 2009-08-20 application