Methods and systems for delivering software via a network
First Claim
Patent Images
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.
1 Assignment
0 Petitions
Accused Products
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.
852 Citations
20 Claims
-
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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
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. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17)
-
-
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. - View Dependent Claims (19, 20)
-
Specification