Methods, systems, architectures and data structures for delivering software via a network
First Claim
1. A method for delivering software via a network comprising:
- describing one or more software extensions using a hierarchical 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 downloadable by streaming extension files to the client in a 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 manner being developed based on scenario runs 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 Assignments
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. The program or platform is configured so that it is extensible based on software extensions that are deliverable over a network such as the Internet. Various extensions can be developed by third party developers for incorporation into the program or platform. In the described embodiment, extension files that comprise a software extension are hosted on an Internet server. Additional files are also hosted on the Internet server and describe aspects of the software extension. These additional files include files that describe a logical attachment of the extension to the program or platform, as well as files that describe the location of the extension files. Extensions are incorporated on a client by navigating to a particular Internet site through which the extensions can be accessed. The files describing the extension files are downloaded on the client. These files tell the client where the particular extension is to be plugged in, as well as where to find the appropriate extension files and how to download them. The extension files are then downloaded and incorporated into the program or platform.
409 Citations
41 Claims
-
1. A method for delivering software via a network comprising:
-
describing one or more software extensions using a hierarchical 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 downloadable by streaming extension files to the client in a 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 manner being developed based on scenario runs 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, 10, 11, 12)
-
-
13. One or more computer-readable media comprising computer-readable instructions thereon which, when executed by a computer, cause the computer to:
-
describe one or more software extensions using extensible markup language (XML), the extensions being configured for incorporation on a client, said describing defining a manifest containing at least one list of files comprising an extension, the manifest being configured to assist in one or more of the following;
organizing delivery of individual files listed in the manifest, validating individual files listed in the manifest, and updating individual files listed in the manifest; and
deliver the manifest to the client via the network, at least some of the extensions being downloadable by streaming extension files to the client in a 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 manner being developed based on scenario runs 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.
-
-
14. A method for receiving software via a network comprising:
-
receiving a manifest that contains at least one list of files comprising a software extension that is to be downloaded via a network and incorporated on a client, the manifest being defined in extensible markup language (XML), the manifest being configured to assist in;
organizing delivery of the files, validating individual files listed in the manifest, and updating individual files listed in the manifest; and
downloading files from the list of files contained in the manifest;
wherein the extension is downloadable by streaming extension files to the client in a 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 manner being developed based on scenario runs 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 (15, 16, 17, 18, 19, 20)
-
-
21. A method of providing software via a network 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 downloadable by streaming extension files to the client in a 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 manner being developed based on scenario runs 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 (22, 23, 24, 25, 26, 27, 28, 29, 30)
-
-
31. An automated software tool comprising a package manifest creation tool configured to:
-
receive 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
generate a package manifest that describes the extension, the package manifest being generated using a hierarchical language;
wherein the extension is downloadable by streaming extension files to the client in a 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 manner being developed based on scenario runs 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 (32, 33, 34, 35, 36, 37, 38, 39, 40, 41)
-
Specification