IP Library Granted Patent US 7,395,534
Granted Patent B2
US 7,395,534 · App. 10/444,699 · Granted Jul 1, 2008

System and method for progressively installing a software application

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,395,534
App. No.
10/444,699
Granted
Jul 1, 2008
Kind
B2
Abstract

Described is a mechanism for enabling an application operating as a web application to transition to a client-side application without impacting a user's interaction with the application. The progressive installation transitions through three states: a start-up state, a demand state, and an install state. During the start-up state, a subset of components associated with the application is downloaded and stored in a local data store. The subset is sufficient to allow execution of the application in a manner similar to a web application. During the demand state, additional resources associated with the application are downloaded. Transitioning from the demand state to the installed state occurs without impacting a user's interaction with the application. The transition may occur autonomously based on the number of additional resources stored in the local data store or upon an external trigger.

Claims (33)

1. A computer-readable storage medium encoded with computer-executable instructions configured to perform a computer-implemented method, comprising:

Identifying an application package associated with an application, the application package including sufficient resources to enable user interaction with the application;

downloading content of the application package to a local store, the content being less than the full application;

upon receiving a request for one of a plurality of additional resources associated with the application, downloading the additional resource, the request for one of a plurality of additional resources being made without corresponding user action; and

upon receiving a request to transition the application to a client-side full application, downloading remaining resources to the local store, the request to transition the application to a client-side full application being made without corresponding user action.

2. The computer-readable storage medium of claim 1 , wherein identifying of the application package comprises activating a hyperlink associated with the application.

3. The computer-readable storage medium of claim 1 , wherein identifying of the application package further comprises initiating retrieval of a deployment manifest that identifies the application package.

4. The computer-readable storage medium of claim 1 , wherein a subset of components is identified by the application package.

5. The computer-readable storage medium of claim 1 , wherein the application package comprises an application manifest and code.

6. The computer-readable storage medium of claim 1 , wherein the application package is in an executable format.

7. The computer-readable storage medium of claim 1 , the computer-implemented method further comprising downloading an additional resource associated with the application upon activation of a hyperlink on a Web page associated with the application.

8. The computer-readable storage medium of claim 7 , wherein the additional resource comprises an on demand resource.

9. The computer-readable storage medium of claim 8 , the computer-implemented method further comprising storing the on demand resource to the local data store.

10. The computer-readable storage medium of claim 7 , wherein the additional resource comprises an online resource.

11. The computer-readable storage medium of claim 10 , the computer-implemented method further comprising storing the online resource in a transient cache.

12. The computer-readable storage medium of claim 11 , wherein transitioning the application to the installed full application comprises storing the online resource in the local data store.

13. The computer-readable storage medium of claim 1 , wherein transitioning the application to the installed full application comprises downloading a plurality of remaining resources to the local data store, the plurality of remaining resources being components that are not currently in the local data store.

14. The computer-readable storage medium of claim 1 , wherein transitioning the application to the installed full application comprises transferring a state associated with the application to the installed full application in a manner such that when the installed full application is launched offline, execution of the installed full application resumes at the state associated with the application.

15. The computer-readable storage medium of claim 14 , wherein the state information is stored in an application object associated with the application.

16. A computer-executable method for transitioning a web application to a client-side full application, comprising:

identifying an application package associated with an application, the application package including sufficient resources to enable user interaction with the application;

downloading content of the application package to a local store, the content being less than the full application;

upon receiving a request for one of a plurality of additional resources associated with the application, downloading the additional resource, the request for one of a plurality of additional resources being made without corresponding user action; and

upon receiving a request to transition the application to a client-side full application, downloading remaining resources to the local store, the request to transition the application to a client-side full application being made without corresponding user action.

17. The computer-executable method of claim 16 , wherein the request to transition the application to the client-side full application is based on the number of additional resources currently stored in the local store.

18. The computer-executable method of claim 17 , wherein the request to transition the application occurs autonomously.

19. The computer-executable method of claim 16 , wherein the application package includes an application manifest and code, the application manifest uniquely identifying a subset of resources associated with the application.

20. The computer-executable method of claim 19 , wherein the application comprises the subset of resources and the plurality of additional resources.

21. The computer-executable method of claim 20 , wherein downloading the additional resource further comprises storing the additional resource in the local store if the additional resource comprises an on demand resource, and storing the additional resource in a transient cache if the additional resource comprises an online resource.

22. The computer-executable method of claim 16 , further comprising determining whether the additional resource is available locally, and if so, using the local additional resource rather than downloading the additional resource.

23. The computer-executable method of claim 16 , wherein the remaining resources are an additional subset out of the plurality of additional resources that are not currently stored in the local store.

24. The computer-executable method of claim 16 , wherein transitioning the application to the client-side full application comprises transferring a state associated with the application to the client-side full application in a manner such that when the client-side full application is launched offline, execution of the client-side full application resumes at the state associated with the application when transitioned.

25. The computer-executable method of claim 16 , wherein the state information is stored in an application object associated with the application.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034541/0477 →