Methods, systems, architectures and data structures for delivering software via a network
First Claim
Patent Images
1. An updating method for updating software extensions comprising:
- obtaining a package manifest containing a list of multiple files that comprise a newer version of a software extension that is to be incorporated into an application program executing on a computing device that contains an older software extension version, the list containing a hash for one or more of the files comprising the newer version of the software extension;
comparing one or more hashes that are received with one or more hashes of files from the older version of the software extension;
for any hashes of corresponding files from the different versions that are different, downloading a new file from a web server, wherein said downloading includes;
downloading new files of the software extension according to a download queue to arrange downloading of the new files according to one or more file groups formed to control an order in which files are downloaded, each group corresponding to a different end user feature of the software extension that is configured to extend multiple end user features of the application program; and
installing files associated with a first end user feature before completion of downloading files associated with a different end user feature to enable a user to interact with the first end user feature sooner than if the user had to wait for the entire software extension to be downloaded, the downloading and installing of files occurring in the order as determined based at least in part upon scenarios configured to examine file usage statistics and prioritize the files according to usage; and
for any hashes of corresponding files from the different versions that are the same, copying a file from an old local directory on the computing device to a new local directory on the computing device associated with the newer version of the extension.
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. Various extensions can be developed by third party developers for incorporation into the program or platform.
-
Citations
59 Claims
-
1. An updating method for updating software extensions comprising:
-
obtaining a package manifest containing a list of multiple files that comprise a newer version of a software extension that is to be incorporated into an application program executing on a computing device that contains an older software extension version, the list containing a hash for one or more of the files comprising the newer version of the software extension; comparing one or more hashes that are received with one or more hashes of files from the older version of the software extension; for any hashes of corresponding files from the different versions that are different, downloading a new file from a web server, wherein said downloading includes; downloading new files of the software extension according to a download queue to arrange downloading of the new files according to one or more file groups formed to control an order in which files are downloaded, each group corresponding to a different end user feature of the software extension that is configured to extend multiple end user features of the application program; and installing files associated with a first end user feature before completion of downloading files associated with a different end user feature to enable a user to interact with the first end user feature sooner than if the user had to wait for the entire software extension to be downloaded, the downloading and installing of files occurring in the order as determined based at least in part upon scenarios configured to examine file usage statistics and prioritize the files according to usage; and for any hashes of corresponding files from the different versions that are the same, copying a file from an old local directory on the computing device to a new local directory on the computing device associated with the newer version of the extension. - View Dependent Claims (2, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33)
-
-
5. A computing system comprising:
-
one or more computer readable means; computer-readable instructions embodied on the one or more computer-readable means; and means for executing said computer readable instructions which, when executed, implement a method comprising; obtaining a package manifest containing a list of multiple files that comprise a newer version of a software extension that is to be incorporated into an application program executing on a computing device that contains an older software extension version, the software extension configured to extend multiple end user features of the application program, the list containing a hash for one or more of the files comprising the newer version of the software extension; comparing one or more hashes that are received with one or more hashes of files from the older version of the software extension; for any hashes of corresponding files from the different versions that are different, downloading a new file from a web server, wherein said downloading includes; downloading new files of the software extension according to a download queue defined by scenario runs, the scenario runs configured to examine file usage statistics to establish priorities utilized in determining an order in which the files are downloaded and arrange downloading of the new files according to one or more file groups, each group corresponding to a different end user feature of the software extension and assigned one of said priorities based on the files contained by the group; and installing files associated with a first end user feature before completion of downloading files associated with a different end user feature to enable a user to interact with the first end user feature sooner than if the user had to wait for the entire software extension to be downloaded, the downloading and installing of files occurring in the order as determined based at least in part upon the scenario runs; and for any hashes of corresponding files from the different versions that are the same, copying a file from an old local directory on the computing device to a new local directory on the computing device associated with the newer version of the extension. - View Dependent Claims (6)
-
-
34. One or more computer-readable storage media storing instructions that, when executed by a computer, cause the computer to perform a method comprising:
-
obtaining a package manifest containing a list of multiple files that comprise a newer version of a software extension that is to be incorporated into an application program executing on a computing device that contains an older software extension version, the list containing a hash for one or more of the files comprising the newer version of the software extension; comparing one or more hashes that are received with one or more hashes of files from the older version of the software extension; for any hashes of corresponding files from the different versions that are different, downloading a new file from a web server, wherein said downloading includes; downloading new files of the software extension according to a download queue to arrange downloading of the new files according to one or more file groups formed to control an order in which files are downloaded, each group corresponding to a different end user features of the software extension that is configured to extend multiple end user features of the application program; and loading files associated with a first end user feature before completion of downloading files associated with a different end user feature to enable a user to interact with the first end user feature sooner than if the user had to wait for the entire software extension to be downloaded, the downloading and loading of files occurring in the order as determined based at least in part upon scenarios configured to examine file usage statistics and prioritize the files according to usage; and for any hashes of corresponding files from the different versions that are the same, copying a file from an old local directory on the computing device to a new local directory on the computing device associated with the newer version of the extension. - View Dependent Claims (35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59)
-
Specification