Managing software updates and a software distribution service
First Claim
Patent Images
1. A method of communicating between a client computing device and a server computing device, the method comprising:
- (a) issuing, by the client computing device, a synchronization request, wherein the synchronization request includes an identifier of an installed software update if the client computing device stores the installed software update;
(b) receiving, by the client computing device, instruction components of a plurality of software updates in response to the synchronization request, wherein each instruction component comprises at least one applicability rule, the at least one applicability rule defining at least one condition required of the client computing device prior to installing the selected software update associated with the instruction component;
(c) storing, by the client computing device, the instruction component of each software update in the client computing device;
(d) requesting, by the client computing device, a localized data component of at least a first of the software updates based, at least in part, on a determination by the client computing device that the at least one condition of the respective applicability rule is fulfilled; and
(e) receiving, at the client computing device, the localized data component of the first software update, each localized data component including additional information describing the respective software update.
2 Assignments
0 Petitions
Accused Products
Abstract
The present invention is directed to a system and method for managing software updates. More specifically, the present invention is directed to a system and method for facilitating the selection and implementation of software updates while minimizing the bandwidth and processing resources required to select and implement the software updates. In accordance with an aspect of the present invention, a software update service controls access to software updates stored on servers. In accordance with another aspect, the software update service synchronizes with client machines to identify applicable updates.
207 Citations
23 Claims
-
1. A method of communicating between a client computing device and a server computing device, the method comprising:
-
(a) issuing, by the client computing device, a synchronization request, wherein the synchronization request includes an identifier of an installed software update if the client computing device stores the installed software update; (b) receiving, by the client computing device, instruction components of a plurality of software updates in response to the synchronization request, wherein each instruction component comprises at least one applicability rule, the at least one applicability rule defining at least one condition required of the client computing device prior to installing the selected software update associated with the instruction component; (c) storing, by the client computing device, the instruction component of each software update in the client computing device; (d) requesting, by the client computing device, a localized data component of at least a first of the software updates based, at least in part, on a determination by the client computing device that the at least one condition of the respective applicability rule is fulfilled; and (e) receiving, at the client computing device, the localized data component of the first software update, each localized data component including additional information describing the respective software update. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method of communicating between a client processing device within a target group and a server processing device in a distributed processing system, the method comprising:
-
(a) issuing, by the client processing device, an authorization request, wherein the authorization request contains an identifier of a client authorization module associated with a target group; (b) receiving, by the client processing device, a server cookie identifying the target group; (c) issuing, by the client processing device, an update request for software updates, wherein the update request contains the server cookie; (d) receiving, by the client processing device, an instruction component for at least one software update associated with the target group, wherein each instruction component comprises at least one applicability rule, the at least one applicability rule defining at least one condition required of the client processing device prior to installing the selected software update associated with the instruction component; (e) requesting, by the client processing device, a localized data component for at least a first of the software updates based, at least in part, on a determination by the client processing device that the at least one condition of the respective rule is applicability fulfilled, and (f) receiving, by the client processing computing device, the localized data component of the first software update, the localized data component including additional information describing the first software update. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A system for communicating and managing software updates, the system comprising:
-
(a) a first database storing a plurality of software updates, wherein each individual software update stored in the database compnses; (i) an instruction data field containing an applicability rule defining at least one condition to be fulfilled prior to installation of the individual software update, wherein the instruction data field also contains a set of prerequisites that identify any software updates that are required for installation of the individual software update; (ii) a localized data field containing text data describing additional information related to the individual software update; and (iii) a data component that identifies at least one data stream file associated with the individual software update; (b) an authorization server computing device for authorizing access to the software updates stored in the first database, wherein the authorization server computing device issues a server cookie to a client computing device to allow the client computing device to access the individual software update if the client computing device contains an authorization module indicating the client computing device is associated with a target group, wherein the server cookie contains an identifier for the target group, and wherein the server cookie is communicated to the client computing device for storage of the server cookie; (c) a metadata server computing device for providing the instruction data field and the localized data field of at least one of the software updates to the client computing device, wherein the instruction data field and the localized data field of each individual software update is communicated to the client computing device if the individual software update is associated with the target group, wherein the metadata server computing device is communicatively coupled to the first database, and wherein the metadata server computing device is operable to; (i) obtain a synchronization request, wherein the synchronization request includes an identifier of an installed software update if the client computing device stores the installed software update, wherein the synchronization request includes the server cookie; (ii) select an additional software update from the software updates stored in the first database for communication to the client computing device if the synchronization request comprises an identifier of at least one installed software update, wherein the selection of the additional software update is dependent on fulfillment of a prerequisite defined in the additional software update, wherein the prerequisite requires the synchronization request to include an identifier for the at least one installed software update, wherein the additional software update is associated with the target group identified in the server cookie; (iii) select a first level software update from the software updates stored in the first database for communication to the client computing device if the synchronization request does not comprise an identifier of at least one installed software update, wherein the first level software update does not include a prerequisite; (iv) communicate the instruction data field of the selected software update to the client computing device for storage; (v) obtain a request for the localized data field associated with the selected software update; and (vi) communicate the localized data field associated with the selected software update to the client computing device, wherein the localized data field allows the client computing device to generate a download request for receipt of the data component of the selected software update; and (d) a download server computing device communicatively coupled to said first database, the download server being operable to; (i) obtain the download request from the client computing device, wherein the download request identifies the data component of the selected software update; and (ii) communicate the data component of the selected software update to the client computing device. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
-
21. A system for communicating software updates to a client computing device, the system comprising:
-
a first component storing a plurality of server authorization modules, wherein an individual server authorization module from the plurality of server authorization modules identifies a target group; a server computer communicatively coupled to said first component, said server computer operable to; obtain an authorization request from the client computing device, wherein the authorization request contains an identifier of a client authorization module stored on the client computing device; determine if the client computing device is associated with the target group, wherein the client computing device is determined to be associated with the target group if the client authorization module indicates that the client computing device is associated with the target group; communicate a server cookie from a software update service to the client computing device if the client computing device is determined to be associated with the target group, wherein the server cookie identifies the target group; obtain a request for at least one software update stored on the software update service, wherein the request contains the server cookie; determine if a software update is associated with the target group identified in the server cookie in response to obtaining the request for the at least one software update; issue an instruction component of the software updates if the software update is determined to be associated with the target group identified in the server cookie, wherein each instruction component comprises at least one applicability rule defining at least one condition required of the client computing device prior to installing the software update associated with the instruction component; receive a request for a localized data component of the first software update; issue the localized data component of the software update, the localized data component including additional information describing the software update; and communicate the software update from the software update service to the client computing device if the client computing device requests the software update after receiving the localized data component.
-
-
22. A method of communicating between a client computing device and a server computing device, the method comprising:
-
(a) receiving, by the server computing device, a synchronization request, wherein the synchronization request includes an identifier of an installed software update if the client computing device stores the installed software update; (b) selecting, by the server computing device, suitable software updates for the client computing device based on the synchronization request; (c) issuing, by the server computing device, an instruction component of each of the suitable software updates in response to the synchronization request, wherein each instruction component comprises at least one applicability rule, the at least one applicability rule defining at least one condition required of the client computing device prior to installing the selected software update associated with the instruction component; (d) receiving, at the server computing device, a request for a localized data component of at least a first software update of the suitable software updates based, at least in part, on a determination by the client computing device that the at least one condition of the respective applicability rule is fulfilled, and (e) issuing, by the server computing device, the localized data component of the first software update, each localized data component including additional information describing the respective suitable software update. - View Dependent Claims (23)
-
Specification