Automated electronic software distribution and management method and system
Embodiments of the present invention provide a method and system for electronic software distribution and management. A request for instructions may be received from a managed client machine. The request for instructions may be analyzed. and may include asset inventory data. One or more instructions may be generated based on the request for instructions and the asset inventory data. The one or more instructions may include an instruction to install an application on the managed client machine. An acknowledgment may be received from the managed client machine if the instruction has been processed.
1 . A method comprising:
receiving a request for instructions from a managed client machine;
analyzing the request for instructions, wherein the request for instructions includes asset inventory data;
generating one or more instructions based on the request for instructions and the asset inventory data, wherein the one or more instructions include an instruction to install an application on the managed client machine; and
receiving an acknowledgment from the managed client machine if the instruction has been processed.
2 . The method of claim 1 , further comprising:
queuing the one or more generated instructions in a task queue;
transmitting the queued one or more instructions to the managed client machine;
if the acknowledgment from the managed client has been received, removing the instruction from the queue.
3 . The method of claim 2 , wherein the application is a script.
4 . The method of claim 1 , further comprising:
establishing a priority associated with each of the one or more instructions; and
queuing the one or more generated instructions based on priority.
5 . The method of claim 1 , wherein the one or more instructions include an instruction to remove an application on the managed client machine.
6 . The method of claim 1 , wherein the one or more instructions include an instruction to repair an application on the managed client machine.
7 . A system for automated software distribution comprising:
an agent associated with a managed client to generate a request for instructions; and
a server coupled to the agent, wherein the server is to:
receive the request for instructions from the agent;
analyze the request for instructions;
generate one or more instructions based on the request for instructions;
transmit the one or more instructions to the agent, wherein the agent is to process the one or more instructions; and
receive an acknowledgment from the agent if the one or more instructions have been processed.
8 . The system of claim 7 , wherein the request for instructions includes asset inventory data associated with a managed client.
9 . The system of claim 8 , wherein the one or more instructions is based on the request for instructions and the asset inventory data.
10 . The system of claim 7 , wherein the one or more instructions include an instruction to install an application on the managed client.
11 . The system of claim 7 , wherein the one or more instructions include an instruction to install an offer icon on the managed client.
12 . The system of claim 7 , wherein the one or more instructions include an instruction to remove an application on the managed client.
13 . The system of claim 7 , wherein the one or more instructions include an instruction to repair an application on the managed client.
14 . A method implemented on a computer for automatic software distribution, comprising:
receiving a request for instructions from a managed client machine;
analyzing the request for instructions, wherein the request for instructions includes asset inventory data;
generating one or more instructions based on the request for instructions and the asset inventory data, wherein the one or more instructions include an instruction to install an application on the managed client machine; and
receiving an acknowledgment from the managed client machine if the instruction has been processed.
15 . The method of claim 14 , further comprising:
queuing the one or more generated instructions in a task queue;
transmitting the queued one or more instructions to the managed client machine;
if the acknowledgment from the managed client has been received, removing the instruction from the queue.
16 . The method of claim 15 , wherein the application is a script.
17 . The method of claim 14 , further comprising:
establishing a priority associated with each of the one or more instructions; and
queuing the one or more generated instructions based on priority.
18 . The method of claim 14 , wherein the one or more instructions include an instruction to remove an application on the managed client machine.
19 . The method of claim 14 , wherein the one or more instructions include an instruction to repair an application on the managed client machine.
20 . A license management method comprising:
receiving a request for instructions from a managed client;
analyzing the request for instructions, wherein the request for instructions includes licensing data;
determining whether the licensing data associated with a program installed on the managed client is valid;
if the licensing data is not valid, sending an offer to purchase a valid version of the program to the managed client; and
if the offer to purchase is not accepted, sending a remove instruction to the managed client to remove the program.
21 . The method of claim 20 , further comprising:
if the offer to purchase is accepted, sending the valid version of the program to the managed client.
22 . The method of claim 21 , sending the valid version of the program comprising:
sending an install script to download the valid version of the program to the managed client.
23 . The method of claim 20 , further comprising:
if the offer to purchase is not accepted, sending an offer interface to the managed client, wherein the offer interface providing an offer icon to purchase a valid version of the program to the managed client.
24 . A method for managing a computer software program license, the method comprising:
providing an offer icon to a managed client device, wherein the offer icon is associated with a program;
in response to a selection of the offer icon, transmitting an install script to the managed client device, wherein the install script permitting a download and installation of the program to the managed client device;
receiving an exit indication that the managed client device has terminated use of the downloaded program; and
in response to the indication, transmitting an remove script to the managed client, wherein the remove script permitting removal of the program from the managed client device.
25 . The method of claim 24 , wherein removal of the program comprising:
un-installing the program from the managed client.
26 . The method of claim 24 , wherein removal of the program comprising:
deleting files associated with the program from the managed client.
27 . The method of claim 24 , further comprising:
determining if licensing information associated with the program is valid;
if the license information is valid, determining if the managed client has exceeded an use limit associated with the program; and
if the use limit has been exceeded, sending an offer to purchase an additional license associated with program to the managed client.
28 . A method comprising:
receiving a poll from an agent;
receiving asset inventory data from the agent if the agent is verified;
based on the asset inventory data, determining if a managed client associated with the agent is entitled to a program;
if the managed client is entitled to a program, transmitting an install script to download the program to the agent;
based on the asset inventory data, determining if an existing program, installed on the managed client, should be removed from the managed client; and
if the existing program should be removed, transmitting a remove script to un-install the existing program from the managed client.
29 . The method of claim 28 , further comprising:
transmitting a poll interval to the agent.
30 . The method of claim 28 , wherein the remove script to delete the existing program from the managed client.
31 . The method of claim 28 , further comprising:
receiving updated asset inventory data from the agent, wherein the updated asset inventory data based on the downloaded program and the n-installed existing program.
32 . The method of claim 31 , further comprising:
storing the received asset inventory and the updated asset inventory data in a memory.
33 . The method of claim 28 , further comprising:
receiving an acknowledgment from the managed client if the install script has been processed.
34 . The method of claim 28 , further comprising:
receiving an acknowledgment from the managed client if the remove script has been processed.
35 . The method of claim 28 , further comprising:
based on the asset inventory data, determining if an offer icon should be installed on the managed client;
if the offer icon should be installed, transmitting an install offer icon script to the agent.
36 . The method of claim 28 , further comprising:
based on the asset inventory data, determining if an offer icon should be removed from the managed client;
if the offer icon should be removed, transmitting a remove offer icon script to the agent.
37 . A system for providing automated software distribution and management, comprising:
an agent associated with a managed client to generate a poll;
a server coupled to the agent, wherein the server is to:
receive asset inventory data from the agent;
based on the asset inventory data, determine if the managed client is entitled to a program;
if the managed client is entitled to a program, transmit an install script to the agent, wherein the agent to process the install script and based on the install script, the agent is to download the program to the managed client.
38 . The system of claim 37 , wherein based on the asset inventory data, the server is to:
determine if an existing program, installed on the managed client, should be removed from the managed client; and
if the existing program should be removed, transmit a remove script to remove the existing program from the managed client.
39 . The system of claim 38 , wherein based on the remove script, the agent is to:
un-install the existing program from the managed client.
40 . The system of claim 39 , wherein if the existing program is in-installed from the managed client, the server is to:
send an offer interface to the agent and the offer interface to provide an offer icon to purchase the program to the managed client.