IP Library Granted Patent US 7,743,063
Granted Patent B2
US 7,743,063 · App. 11/044,106 · Granted Jun 22, 2010

Methods and systems for delivering software via a network

Assignee: Microsoft Corporation
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,743,063
App. No.
11/044,106
Granted
Jun 22, 2010
Kind
B2
Abstract

Methods and systems for network-based or Internet-based software delivery are described. In one embodiment, an application program or software platform resides on a client and is configured so that it is extensible based on software extensions that are deliverable over a network such as the Internet.

Claims (39)

1. A system for delivering software via a network comprising:

one or more processors;

one or more computer-readable media;

computer-readable instructions on the computer-readable media which, when executed by the one or more processors, cause the one or more processors to implement a method that comprises:

describing one or more software extensions using a hierarchical, tag-based language, the extensions being configured for incorporation on a client, said describing defining one or more manifests containing at least one list of files comprising an extension; and

delivering the one or more manifests to the client via the network, the one or more manifests being configured for use in downloading the software extensions via the network, at least some of the extensions being downloaded by streaming extension files to the client in an ordered manner that enables a user to begin to interact with the extension sooner than if the user had to wait for the entire extension to load, said ordered manner being developed based on file usage statistics collected from logs, the logs generated from a script of tasks in which files that are more likely to be first used by the user are downloaded before files that are less likely to be first used, and wherein files that are less likely to be used first can be downloaded via a background download process.

2. The system of claim 1 , wherein the one or more manifests are configured to assist in validating individual files listed in the one or more manifests.

3. The system of claim 1 , wherein the one or more manifests are configured to assist in updating individual files listed in the one or more manifests.

4. The system of claim 1 , wherein the one or more manifests describe individual file locations.

5. The system of claim 1 , wherein the one or more manifests contain individual hashes for one or more of the listed files.

6. The system of claim 1 , wherein the one or more manifests contain download directives for downloading the listed files.

7. The system of claim 1 , wherein the one or more manifests are defined in extensible markup language (XML).

8. The system of claim 1 , wherein the network comprises the Internet.

9. A system for providing software via a network comprising:

one or more processors;

one or more computer-readable media;

computer-readable instructions on the computer-readable media which, when executed by the one or more processors, cause the one or more processors to implement a method comprising:

describing one or more software extensions using one or more extensible markup language (XML) files, the extensions being configured for incorporation in a software program executing on a client, individual XML files providing individual manifests that contain a list of files that comprise an extension; and

storing the XML files in a Web-accessible location;

wherein at least some of the extensions are downloaded by streaming extension files to the client in an ordered manner that enables a user to begin to interact with the extension sooner than if the user had to wait for the entire extension to load, said ordered manner being developed based on scenario runs collected from logs run on a script of tasks in which files that are more likely to be first used by the user are downloaded before files that are less likely to be first used, and wherein files that are less likely to be used first can be downloaded via a background download process.

10. The system of claim 9 , wherein the method further comprises storing extension files associated with the XML files in a Web-accessible location.

11. The system of claim 9 , wherein the method further comprises:

storing extension files associated with the XML files in a Web accessible location; and

providing one or more XML files and one or more associated extension files to a client via the network.

12. The system of claim 9 , wherein individual manifests can contain one or more file hashes that can be used for file security.

13. The system of claim 9 , wherein individual manifests can contain one or more file hashes that can be used for versioning.

14. The system of claim 9 , wherein individual manifests comprise one or more file groups that determine when particular files are downloaded to the client.

15. The system of claim 14 , wherein the file groups determine where files are stored on the client.

16. The system of claim 14 , wherein the file groups determine how files are packaged.

17. The system of claim 14 , wherein the file groups determine where files are stored on the client and how files are packaged.

18. A method for creating a package manifest comprising:

receiving one or more input parameters pertaining to a package manifest that is to describe a software extension that is configured to extend a software application executing on a client; and

generating and storing a package manifest that describes the extension, the package manifest being generated using a hierarchical language;

wherein the extension is downloaded by streaming extension files to the client in an ordered manner that enables a user to begin to interact with the extension sooner than if the user had to wait for the entire extension to load, said ordered manner being developed based on scenario runs that are each a script of tasks followed from a log run on the software application in which files that are more likely to be first used by the user are downloaded before files that are less likely to be first used, and wherein files that are less likely to be used first can be downloaded via a background download process.

19. The method of claim 18 , wherein the hierarchical language comprises extensible markup language (XML).

20. The method of claim 18 , wherein said input parameters can comprise one or more of the following:

a specification of a directory containing files that are to be described in the package manifest;

file group information and load dependencies; or

file usage statistics that are ascertained from scenario runs.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034543/0001 →
Continuity (3)
Continuation 1093958800 · Sep 13, 2004
Continuation 0959929900 · Jun 21, 2000
Related Publication 20050131971A1 · Jun 16, 2005