SOFTWARE UPDATES USING CLIENT SELF-REPORTING AND A HIERARCHICAL DATA STRUCTURE
First Claim
1. A method comprising:
- receiving, by a processor associated with a first device, first data from a second device, wherein the first data identifies one or more attributes associated with the second device;
selecting, by the processor and based on the one or more attributes, a software update from a repository that includes a plurality of software updates, wherein the repository further includes a plurality of versions of the software update;
determining, by the processor, metadata associated with the plurality of versions of the software update, wherein the metadata identifies two or more of the versions of the software update that are marked as usable, and wherein the two or more versions of the software update includes a first version of the software update that is generated before a second version of the software update;
selecting, by the processor, a version of the two or more versions of the software update for the second device, wherein selecting the version for the second device includes;
determining, based on the first data, whether the second version is compatible with the second device,if the second version is compatible with the second device, selecting the second version of the software update for use by the second device, andif the second version is incompatible with the second device, selecting the first version of the software update for use by the second device; and
forwarding, by the processor, second data to the second device, wherein the second data identifies the selected version of the software update, and wherein the second device uses the second data to obtain the selected version of the software update.
1 Assignment
0 Petitions
Accused Products
Abstract
A client device forwards data about itself to an update device. The client metadata may identify hardware components included in the client, software being executed by the client, or other information, such as a geographic location associated with the client device and/or account information for associated operator. The update device determines metadata regarding various software updates, such as data identifying different versions of available updates and logical rules for selecting among the versions. The update device selects specific update versions for the client device, and forwards data identifying the selected updates to the client device. The client device uses the identifying data to locate and obtain the identified updates. The client device may access the updates via a content delivery network that schedules delivery of the updates to the client device.
62 Citations
20 Claims
-
1. A method comprising:
-
receiving, by a processor associated with a first device, first data from a second device, wherein the first data identifies one or more attributes associated with the second device; selecting, by the processor and based on the one or more attributes, a software update from a repository that includes a plurality of software updates, wherein the repository further includes a plurality of versions of the software update; determining, by the processor, metadata associated with the plurality of versions of the software update, wherein the metadata identifies two or more of the versions of the software update that are marked as usable, and wherein the two or more versions of the software update includes a first version of the software update that is generated before a second version of the software update; selecting, by the processor, a version of the two or more versions of the software update for the second device, wherein selecting the version for the second device includes; determining, based on the first data, whether the second version is compatible with the second device, if the second version is compatible with the second device, selecting the second version of the software update for use by the second device, and if the second version is incompatible with the second device, selecting the first version of the software update for use by the second device; and forwarding, by the processor, second data to the second device, wherein the second data identifies the selected version of the software update, and wherein the second device uses the second data to obtain the selected version of the software update. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A first device comprising:
-
a memory configured to store instructions; and a processor configured to execute one or more of the instructions to; receive first data from a second device, wherein the first data identifies one or more attributes associated with the second device; select, based on the one or more attributes, a software update from a repository that includes a plurality of software updates, wherein the repository further includes a plurality of versions of the software update; determine metadata associated with the plurality of versions of the software update, wherein the metadata identifies two or more of the versions of the software update that are marked as usable, and wherein the two or more versions of the software update includes a first version of the software update that is generated before a second version of the software update; select a version of the two or more versions of the software update for the second device, wherein the processor, when selecting the version for the second device, is further configured to; determine, based on the first data, whether the second version is compatible with the second device, if the second version is compatible with the second device, select the second version of the software update for use by the second device, and if the second version is incompatible with the second device, select the first version of the software update for use by the second device; and forward second data to the second device, wherein the second data identifies the selected version of the software update, and wherein the second device uses the second data to obtain the selected version of the software update. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A non-transitory computer-readable medium, comprising:
a plurality of computer-executable instructions stored thereon, which, when executed by a processor associated with a first device, cause the processor to; receive first data from a second device, wherein the first data identifies one or more attributes associated with the second device; select, based on the one or more attributes, a software update from a repository that includes a plurality of software updates, wherein the repository further includes a plurality of versions of the software update; determine metadata associated with the plurality of versions of the software update, wherein the metadata identifies two or more of the versions of the software update that are marked as usable, and wherein the two or more versions of the software update includes a first version of the software update that is generated before a second version of the software update; select a version of the two or more versions of the software update for the second device, wherein processor, when selecting the version for the second device, is further configured to; determine, based on the first data, whether the second version is compatible with the second device, if the second version is compatible with the second device, select the second version of the software update for use by the second device, and if the second version is incompatible with the second device, select the first version of the software update for use by the second device; and forward second data to the second device, wherein the second data identifies the selected version of the software update, and wherein the second device uses the second data to obtain the selected version of the software update. - View Dependent Claims (16, 17, 18, 19, 20)
Specification