Memory device with secure boot updates and self recovery
US-2024406008-A1 · Dec 5, 2024 · US
US9244673B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9244673-B2 |
| Application number | US-201213605838-A |
| Country | US |
| Kind code | B2 |
| Filing date | Sep 6, 2012 |
| Priority date | Jun 8, 2012 |
| Publication date | Jan 26, 2016 |
| Grant date | Jan 26, 2016 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Systems, methods, and non-transitory computer-readable storage media for updating software applications installed on client computing devices, creating a manifest file describing the differences between multiple versions of application archives present in an application distribution system, and coordinating an update process for updating the applications on the client computing devices are disclosed. A scheme of hard-linking to existing files, downloading new files, and erasing unwanted files can be used.
Opening claim text (preview).
We claim: 1. A method for updating an application installed in a computing device, the method comprising: comparing, in an application distribution system, a first version of an application resident on said application distribution system with a received updated version of the application; creating, in the application distribution system, a manifest file describing differences between the first version of the application and the received updated version of the application; said manifest file including pointers to each of: file portions that are not changed in the updated version of the application with respect to the first version of the application, file portions that are deleted from the updated version of the application with respect to the first version of the application, and file portions that are changed in the updated version of the application with respect to the first version of the application; and distributing the manifest file to the computing device wherein the computing device updates said installed application using information in said manifest file by ignoring the file portions that are deleted in the updated version of the application, and by hard-linking the file portions that do not change in the updated version of the application, wherein hark-linking the file portions that do not change comprises notating a file directory of the updated version of the application with a persistent shortcut to the file portions that do not change in the first version of the application. 2. The method of claim 1 , further comprising: distributing test data to the computing device along with the manifest file to test functionality of the updated version of the application using said hard-linking. 3. The method of claim 2 , wherein the updated version of the application is tested using the test data; and wherein said the hard-linking update process is determined to be successful when said test is passed. 4. The method of claim 1 , further comprising: ingesting, in the application distribution system, a plurality of additional versions of the application; and comparing, in the application distribution system, content files of all previously ingested versions of the application with content files of a latest version of the application; creating, in the application distribution system, a plurality of manifest files each describing differences between a previously ingested version of the application and said latest version of the application; and transmitting to the computing device the manifest file that corresponds to the differences between a version of the application installed on the computing device and said latest version. 5. The method of claim 1 , wherein said comparing comprises: comparing a file size of the first version with a file size of the updated version. 6. The method of claim 5 , further comprising: determining an update is not required, upon determining that the file size of the first version with the file size of the updated version is equal. 7. The method of claim 1 , wherein comparing the first version of the application with the updated version of the application comprises: comparing a content of the first version of the application with a content of said updated version of the application. 8. The method of claim 7 , wherein comparing the content comprises comparing a structure and content of the file directory in the first version with a structure and content of the file directory in the updated version. 9. The method of claim 7 , wherein comparing the content comprises a binary level comparison of the first version with the updated version. 10. The method of claim 1 , wherein distributing the manifest file comprises: connecting to the computing device; authenticating the computing device; receiving a query for new versions of the installed application on said computing device; and notifying the computing device of the existence of a new version of the application. 11. The method of claim 10 , wherein the notification comprises a graphical indication displayed on a screen of the computing device. 12. The method of claim 1 , further comprising: ingesting, in the application distribution system, at least one additional version of the application, wherein at least some of the file portions of the application are different than those in the first version of the application, and automatically distributing a notification to a plurality of computing devices that a new version of the application exists in the application distribution system. 13. A system comprising: a network-based application distribution system including one or more processors configured to connect the network-based application distribution system with a plurality of client devices and with a plurality of application developers, an application database storing a resident version of a software application; a non-transitory computer-readable medium storing instructions that, when executed by the one or more processors of a computing device, cause the network-based application distribution system to: compare said resident version of the application with an updated version of the application received from an application developer; create a manifest file describing differences between said resident version and said updated version received from said application developer, said manifest file containing scheme of pointers to: file portions that are not changed in the updated version with respect to the resident version, file portions that are deleted from the updated version with respect to the resident version, file portions that are changed in the updated version with respect to the resident version; and distribute the manifest file to the client devices wherein the client devices can update a previous version of the application using information in said manifest file by ignoring the file portions that are deleted in the updated version of the application, and by hard-linking the file portions that do not change in the updated version of the application, wherein hark-linking the file portions that do not change comprises notating a file directory of the updated version of the application with a persistent shortcut to the file portions that do not change in the previous version of the application. 14. The system of claim 13 , further configured to distribute test data to a client device along with the manifest file. 15. The system of claim 14 , further configured to receive, from one or more of the client devices, test results describing that said hard-linking was successful. 16. A non-transitory computer-readable storage medium storing instructions which, when executed by a computing device, cause the computing device to: compare a first version of an application with a received updated version of the application; create a manifest file describing differences between the first version of the application and the received updated version of the application, said manifest file including a scheme of pointers to: file portions that are not changed in the updated version with respect to the first version, file portions that are deleted from the updated version with respect to the first version, and file portions that are changed in the updated version with respect to the first version; and distribute the manifest file to a computing client device containing an installed version of said application, wherein the computing device updates said installed application using information in said manifest file by ignoring the file portions that are deleted in the updated version
Program loading or initiating (bootstrapping G06F9/4401; security arrangements for program loading or initiating G06F21/57) · CPC title
Digital computing or data processing equipment or methods, specially adapted for specific functions (information retrieval, database structures or file system structures therefor G06F16/00) · CPC title
{Cryptographic mechanisms or cryptographic} arrangements for secret or secure communications; Network security protocols · CPC title
wherein the data content is protected, e.g. by encrypting or encapsulating the payload · CPC title
Arrangements for executing specific programs · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.