System and method for managing and communicating software updates
First Claim
Patent Images
1. In a computer system including a client computing device in communication with a software update service, a method for communicating software updates from the software update service to the client computing device, the method comprising:
- (a) obtaining a synchronization request from the client computing device to the software update service, wherein the synchronization request includes an identifier of an installed software update if the client computing device stores the installed software update and wherein obtaining the synchronization request includes obtaining an identifier of a failed software update in the synchronization request if the client computing device stores the failed software update;
(b) determining if the synchronization request comprises an identifier of at least one installed software update;
(c) if the synchronization request is determined to comprise an identifier of at least one installed software update, then selecting an additional software update for communication to the client computing device, wherein selecting the additional software update depends on fulfilling at least a first prerequisite defined in the additional software update, wherein the first prerequisite requires the synchronization request to include an identifier for at least one installed software update;
(d) if the synchronization request is determined to not comprise an identifier of at least one installed software update, then selecting a first level software update for communication to the client computing device, wherein the first level software update does not include a prerequisite;
(e) communicating an instruction component of the selected software update to the client computing device from the software update service, wherein the instruction component comprises at least one applicability rule, the at least one applicability rule defining a plurality of conditions required of the client computing device prior to installing the selected software update associated with the instruction component;
(f) storing the instruction component of the selected software update in the client computing device as an installed software update if the client computing device contains at least one component that fulfills all conditions of each applicability rule stored in the instruction component of the selected software update;
(g) storing the instruction component of the selected software update in the client computing device as a failed software update if the client computing device does not contain at least one component that fulfills at least one condition of an applicability rule stored in the instruction component of the selected software update; and
(h) communicating a localized data component of the selected software update from the software update service to the client computing device upon determining the instruction component indicates that the software update service contains no additional software updates available to the client computing device.
2 Assignments
0 Petitions
Accused Products
Abstract
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 one embodiment, an update service controls access to software updates, or other types of software, stored on a server.
230 Citations
27 Claims
-
1. In a computer system including a client computing device in communication with a software update service, a method for communicating software updates from the software update service to the client computing device, the method comprising:
-
(a) obtaining a synchronization request from the client computing device to the software update service, wherein the synchronization request includes an identifier of an installed software update if the client computing device stores the installed software update and wherein obtaining the synchronization request includes obtaining an identifier of a failed software update in the synchronization request if the client computing device stores the failed software update; (b) determining if the synchronization request comprises an identifier of at least one installed software update; (c) if the synchronization request is determined to comprise an identifier of at least one installed software update, then selecting an additional software update for communication to the client computing device, wherein selecting the additional software update depends on fulfilling at least a first prerequisite defined in the additional software update, wherein the first prerequisite requires the synchronization request to include an identifier for at least one installed software update; (d) if the synchronization request is determined to not comprise an identifier of at least one installed software update, then selecting a first level software update for communication to the client computing device, wherein the first level software update does not include a prerequisite; (e) communicating an instruction component of the selected software update to the client computing device from the software update service, wherein the instruction component comprises at least one applicability rule, the at least one applicability rule defining a plurality of conditions required of the client computing device prior to installing the selected software update associated with the instruction component; (f) storing the instruction component of the selected software update in the client computing device as an installed software update if the client computing device contains at least one component that fulfills all conditions of each applicability rule stored in the instruction component of the selected software update; (g) storing the instruction component of the selected software update in the client computing device as a failed software update if the client computing device does not contain at least one component that fulfills at least one condition of an applicability rule stored in the instruction component of the selected software update; and (h) communicating a localized data component of the selected software update from the software update service to the client computing device upon determining the instruction component indicates that the software update service contains no additional software updates available to the client computing device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. In a computer system including a client computing device in communication with a software update service, a method for communicating software updates from the software update service to the client computing device, the method comprising:
-
obtaining 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; determining if the client computing device is associated with a 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; communicating a server cookie from the 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; obtaining a request for at least one software update stored on the software update service, wherein the request contains the server cookie, an identifier of any installed software update if the client computing device stores the installed software update, and an identifier of a failed software update if the client computing device stores the failed software update; in response to obtaining the request for the at least one software update, determining if a software update is associated with the target group identified in the server cookie; communicating the software update from the software update service to the client computing device if the software update is determined to be associated with the target group identified in the server cookie;
wherein the software update is a first level software update if the request is determined to not comprise an identifier of at least one installed software update, wherein the first level software update does not include a prerequisite; and
wherein the software update is an additional software update if the request is determined to comprise an identifier of at least one installed software update, wherein selecting the additional software update depends on fulfilling at least a first prerequisite defined in the additional software update, wherein the first prerequisite requires the synchronization request to include an identifier for at least one installed software update;
wherein communicating the software update includes communicating an instruction component of the software update, wherein the instruction component comprises at least one applicability rule, the at least one applicability rule defining a plurality of conditions required of the client computing device prior to installing the software update associated with the instruction component;processing the instruction component of the software update to determine if the instruction component provides an indication that the software update service contains additional software updated available to the client computing device; storing the instruction component of the software update in the client computing device as a failed software update if the client computing device does not contain at least one component that fulfills at least one condition of an applicability rule stored in the instruction component of the software update; and communicating a localized data component of the software update from the software update service to the client computing device if the instruction component does not provide an indication that the software update service contains additional software updates available to the client computing device. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. In a computer system including a client computing device in communication with a server, a method for communicating a data structure from the server to the client computing device, the method comprising:
-
determining if the client computing device is associated with a target group, wherein the client computing device is determined to be associated with the target group if the client computing device contains an authorization module indicating that the client computing device is associated with the target group; communicating a server cookie from the server 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; obtaining a request for at least one data structure stored on the server, wherein the request contains the server cookie and wherein obtaining the request includes obtaining an identifier of a failed data structure if the client computing device stores the failed data structure; in response to obtaining the request, determining if a data structure is associated with the target group identified in the server cookie; communicating the data structure from the server to the client computing device if the data structure is determined to be associated with the target group identified in the server cookie;
wherein the data structure is a first level data structure if the request is determined to not comprise an identifier of at least one installed data structure, wherein the first level data structure does not include a prerequisite; and
wherein the data structure is an additional data structure if the request is determined to comprise an identifier of at least one installed data structure, wherein selecting the additional data structure depends on fulfilling at least a first prerequisite defined in the additional data structure, wherein the first prerequisite requires the synchronization request to include an identifier for at least one installed data structure;
including communicating an instruction component of the data structure, wherein the instruction component comprises at least one applicability rule, the at least one applicability rule defining a plurality of conditions required of the client computing device prior to installing the data structure associated with the instruction component;processing the instruction component of the data structure to determine if the instruction component provides an indication that the server contains additional data structures available to the client computing device; storing the instruction component of the data structure in the client computing device as a failed data structure if the client computing device does not contain at least one component that fulfills at least one condition of an applicability rule stored in the instruction component of the data structure; and communicating a localized data component of the data structure from the server to the client computing device if the instruction component does not provide an indication that the server contains additional data structures available to the client computing device. - View Dependent Claims (25, 26, 27)
-
Specification