The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.

The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.

Date of Patent:
Mar. 03, 2015

Filed:

Sep. 12, 2011
Applicants:

Hemchander Venkateshwara Sannidhanam, Bothell, WA (US);

John Michael Sheehan, Sammamish, WA (US);

Jason Ghssane Salameh, Bothell, WA (US);

Inventors:

Hemchander Venkateshwara Sannidhanam, Bothell, WA (US);

John Michael Sheehan, Sammamish, WA (US);

Jason Ghssane Salameh, Bothell, WA (US);

Assignee:

Microsoft Corporation, Redmond, WA (US);

Attorneys:
Primary Examiner:
Assistant Examiner:
Int. Cl.
CPC ...
G06F 9/44 (2006.01); G06F 9/445 (2006.01);
U.S. Cl.
CPC ...
G06F 8/60 (2013.01);
Abstract

Deploying applications to a device often involves generating an application package for installing the application anew, and application patches for updating the application from a specific first version to a specific second version. Presented herein are alternative techniques for deploying the application to devices using a block map indicating hashcodes for respective blocks of respective resources of the application. A device may install the application by installing the application package, or may update a deployed application from an earlier version to a later version by retrieving the block map, identifying updated blocks having a different hashcode than the current hashcode of the block in the currently deployed application, and retrieving only the updated blocks. The block map also enables concurrent deployment of multiple application versions, and resource sharing among deployed versions and variants by sharing commonly used blocks and retaining alternatives of blocks differing between such versions and variants.


Find Patent Forward Citations

Loading…