Software distribution systems and methods using one or more channels
First Claim
Patent Images
1. A system comprising:
- one or more distribution servers used to install client software on a plurality of client computers and to subsequently use the client software to perform tasks later assigned to one or more of the plurality of client computers by at least one of the distribution servers;
at least one computer program operative on the one or more distribution servers to communicate with the plurality of client computers to initiate an installation of the client software on the client computers, wherein the installation on a particular computer of the plurality of client computers comprises;
i) distributing a client software component installation file to the particular client computer;
ii) distributing a client service installation file to the particular client computer; and
iii) from at least one of the distribution servers, remotely causing the client software component installation file and the client service installation file to be used to install a client software component and a client service, respectively,wherein the client software component and the client service are associated with one another when installed on the particular client computer, andwherein the client software component and the client service are subsequently used by the particular client computer to perform at least in part one or more tasks assigned to the particular client computer by at least one of the distribution servers;
and wherein the one or more distribution servers including one or more distribution computer programs are operative to;
a) manage a hierarchical list of at least some of the plurality of client computers, wherein the hierarchical list uniquely identifies each of the client computers on the hierarchical list using a computer identification and wherein the hierarchical list is configured to arrange and group the at least some of the plurality of client computers into one or more computer groups;
b) assign tasks to one or more client computers managed in the hierarchical list, wherein the tasks are assigned to individual ones of the client computers on the hierarchical list based on the computer identification or to groups of computers on the hierarchical list based on the computer groups, wherein the tasks include at least one item selected from the group;
a file, a script or a command; and
c) store the tasks assigned to the client computers in the hierarchical list;
and wherein the particular client computer having installed thereon the client software component and the client service, the client software component and client service operative on the particular client computer to;
i) connect to at least one of the distribution servers;
ii) request one or more scheduled tasks from the at least one distribution servers, the one or more scheduled tasks having been previously assigned to the particular client computer using the hierarchical list;
iii) receive the one or more scheduled tasks, the one or more scheduled tasks including at least one of a file, a script, or a command; and
iv) process the one or more scheduled tasks, wherein to process the one or more scheduled tasks, the client software component and client service are operative on the particular client computer to;
i) determine whether the particular client computer is licensed to execute the one or more scheduled tasks;
ii) determine whether a special account is required to execute the one or more scheduled tasks;
iii) automatically log into the particular client computer using the special account when the particular client computer is licensed to execute the one or more scheduled tasks and requires the special account to execute the one or more scheduled tasks; and
iv) use the special account to perform the one or more scheduled tasks.
1 Assignment
0 Petitions
Accused Products
Abstract
A systems and methods for distributing software to one or more targets from a central location using one or more channels is described. A channel is a hierarchical list of targets and tasks. A task is a file, a script, or a command that is run or installed on a target computer. A target is a computer or group to receive the tasks.
64 Citations
2 Claims
-
1. A system comprising:
-
one or more distribution servers used to install client software on a plurality of client computers and to subsequently use the client software to perform tasks later assigned to one or more of the plurality of client computers by at least one of the distribution servers; at least one computer program operative on the one or more distribution servers to communicate with the plurality of client computers to initiate an installation of the client software on the client computers, wherein the installation on a particular computer of the plurality of client computers comprises; i) distributing a client software component installation file to the particular client computer; ii) distributing a client service installation file to the particular client computer; and iii) from at least one of the distribution servers, remotely causing the client software component installation file and the client service installation file to be used to install a client software component and a client service, respectively, wherein the client software component and the client service are associated with one another when installed on the particular client computer, and wherein the client software component and the client service are subsequently used by the particular client computer to perform at least in part one or more tasks assigned to the particular client computer by at least one of the distribution servers; and wherein the one or more distribution servers including one or more distribution computer programs are operative to; a) manage a hierarchical list of at least some of the plurality of client computers, wherein the hierarchical list uniquely identifies each of the client computers on the hierarchical list using a computer identification and wherein the hierarchical list is configured to arrange and group the at least some of the plurality of client computers into one or more computer groups; b) assign tasks to one or more client computers managed in the hierarchical list, wherein the tasks are assigned to individual ones of the client computers on the hierarchical list based on the computer identification or to groups of computers on the hierarchical list based on the computer groups, wherein the tasks include at least one item selected from the group;
a file, a script or a command; andc) store the tasks assigned to the client computers in the hierarchical list; and wherein the particular client computer having installed thereon the client software component and the client service, the client software component and client service operative on the particular client computer to; i) connect to at least one of the distribution servers; ii) request one or more scheduled tasks from the at least one distribution servers, the one or more scheduled tasks having been previously assigned to the particular client computer using the hierarchical list; iii) receive the one or more scheduled tasks, the one or more scheduled tasks including at least one of a file, a script, or a command; and iv) process the one or more scheduled tasks, wherein to process the one or more scheduled tasks, the client software component and client service are operative on the particular client computer to; i) determine whether the particular client computer is licensed to execute the one or more scheduled tasks; ii) determine whether a special account is required to execute the one or more scheduled tasks; iii) automatically log into the particular client computer using the special account when the particular client computer is licensed to execute the one or more scheduled tasks and requires the special account to execute the one or more scheduled tasks; and iv) use the special account to perform the one or more scheduled tasks.
-
-
2. A method for distributing tasks from a distribution server to a client computer, comprising:
-
i) distributing a client software component installation file to the client computer from the distribution server; ii) distributing a client service installation file to the client computer from the distribution server; and iii) remotely invoking from the distribution server, the client software component installation file and the client service installation file to install a client software component and a client service, respectively, wherein the client software component and the client service are associated with one another when installed on the client computer, and wherein the client software component and the client service are first installed by the installation on the client computer; and performing by the distribution server; a) managing a hierarchical list of at least some of a plurality of client computers, wherein the hierarchical list uniquely identifies each of the client computers on the hierarchical list using a computer identification and wherein the hierarchical list is configured to arrange and group the at least some of the plurality of client computers into one or more computer groups and wherein the client computer is included in the plurality of client computers; b) assigning tasks to one or more client computers of the at least some of the plurality of client computers managed in the hierarchical list, wherein the tasks are assigned to individual ones of the client computers on the hierarchical list based on the computer identification or to groups of computers on the hierarchical list based on the computer groups, wherein the tasks include at least one item selected from the group;
a file, a script or a command; andc) storing the tasks assigned to the client computers in the hierarchical list, wherein at least one of the tasks assigned to one of the client computers is performed at least in part using at least one of;
(a) the client software component or (b) the client service component installed on the client computers;and wherein the client computer having installed thereon the client software component and the client service, performs; d) connecting to the distribution server via the client software component and the client service; e) requesting one or more scheduled tasks from the distribution server, the one or more scheduled tasks having been previously assigned to the client computer using the hierarchical list; f) receiving the one or more scheduled tasks, the one or more scheduled tasks including at least one of a file, a script, or a command; and g) processing the one or more scheduled tasks wherein processing the one or more scheduled tasks further comprises; i) determining whether the client computer is licensed to execute the one or more scheduled tasks; ii) determining whether a special account is required to execute the one or more scheduled tasks; iii) automatically logging into the client computer using the special account when the client computer is licensed to execute the one or more scheduled tasks and requires the special account to execute the one or more scheduled tasks; and iv) using the special account to perform the one or more scheduled tasks.
-
Specification