Approach for deploying software to network devices
Abstract
Techniques are provided for deploying software applications and/or software platforms from a client device to one or more network devices. The client device comprises a client update application and an update library of routines. The update application invokes one of the routines of the update library. In response, the update library sends a plurality of instructions, or commands, and a software application and/or software platform to each of the network devices. The instructions, when processed by each of the network devices, cause the updated software to be installed and any reboot operations to be performed.
Claims
exact text as granted — not AI-modified1 . A client device for updating a current version of a virtual machine on a plurality of printing devices, wherein one or more applications execute on the virtual machine, the client device comprising:
an update library of routines; and an update application that is configured to invoke multiple routines in the update library; wherein the client device is configured to send, in response to the update application invoking a first routine from the update library, over a network to each of the plurality of printing devices, a plurality of instructions and a different version of the virtual machine, wherein each of the plurality of printing devices is capable of generating a printed version of an electronic document reflected in electronic print data, wherein each of the plurality of printing devices, in response to receiving the plurality of instructions and the different version:
uninstalls the current version of the virtual machine,
installs the different version of the virtual machine, and
performs a reboot operation.
2 . The client device of claim 1 , wherein the client device is configured to validate, in response to the update application invoking the first routine and before sending the plurality of instructions, the different version of the virtual machine to determine whether the different version of the virtual machine is packaged according to a particular specification.
3 . The client device of claim 1 , wherein:
the client device is further configured to send, in response to the update application invoking a second routine from the update library, over the network to each printing device of a second plurality of printing devices, a second plurality of instructions and a software application; and said each printing device, of the second plurality, installs the software application in response to receiving the second plurality of instructions.
4 . The client device of claim 3 , wherein the client device is further configured to, in response the update application invoking the second routine:
for each printing device of the second plurality of printing devices, determine, based on the type of the software application, whether said each printing device requires a reboot operation to be performed after the software application is installed; for each printing device of the second plurality that requires the reboot operation to be performed, generate a boot script; and for each printing device of the second plurality of printing devices, generate a zip file that includes the software application, wherein the zip file for a printing device of the second plurality that requires the reboot operation to be performed also includes the boot script; wherein sending the second plurality of instructions and the software application includes sending the zip file to said each printing device of the second plurality.
5 . The client device of claim 1 , wherein the client device is further configured to:
retrieve, in response to receiving an invocation of a second routine, device information from each printing device of a second plurality of printing devices, wherein:
the second routine is to install a different version of a currently-installed software application on each printing device of the second plurality, and
the device information indicates one or more of the following of said each printing device of the second plurality: device type, device model, the currently-installed version of the software application, or the currently-installed version of the virtual machine; and
for each printing device of the second plurality:
determine, based on the device information, whether the different version is newer relative to the currently-installed version of the software application on said each printing device;
determine, in response to determining that the different version is newer, whether an update of the currently-installed virtual machine is available;
send, in response to determining that an update of the currently-installed virtual machine is available, to said each printing device, a second plurality of instructions to update the currently-installed version of the virtual machine; and
send, to said each printing device, in response to determining that the different version is newer, a third plurality of instructions to install the different version of the software application.
6 . The client device of claim 1 , wherein:
a first instruction of the plurality of instructions is an instruction to lock a central panel of said each printing device before said each printing device uninstalls the current version; said each printing device locks the central panel in response to processing the first instruction; a second instruction of the plurality of instructions is an instruction to unlock the central panel after said each printing device performs the reboot operation; and said each printing device unlocks the central panel in response to processing the second instruction.
7 . The client device of claim 1 , wherein:
a first instruction of the plurality of instructions is a request for version information of the current version of the virtual machine of said each printing device; in response to processing the first instruction, said each printing device provides the version information to the client device; in response to receiving the version information from said each printing device, the client device is further configured to determine whether the different version is compatible with the current version of the virtual machine; in response to determining that the different version is compatible with the current version of the virtual machine of said each printing device, the client device is further configured to create a boot script and send the boot script to said each printing device.
8 . A machine-readable storage medium storing instructions for updating a current version of a virtual machine on a plurality of printing devices, wherein one or more applications execute on the virtual machine, wherein the instructions, when executed by one or more processors, cause the one or more processors to perform the steps of:
an update application invoking multiple routines in an update library of routines; in response to the update application invoking a first routine from the update library, sending, over a network to each of the plurality of printing devices, a plurality of instructions and a different version of the virtual machine, wherein each of the plurality of printing devices is capable of generating a printed version of an electronic document reflected in electronic print data, wherein each of the plurality of printing devices, in response to receiving the plurality of instructions and the different version:
uninstalls the current version of the virtual machine,
installs the different version of the virtual machine, and
performs a reboot operation.
9 . The machine-readable storage medium of claim 8 , wherein the instructions include instructions which, when executed by the one or more processors, further cause the one or more processors to perform the step of validating, in response to the update application invoking the first routine and before sending the plurality of instructions, the different version of the virtual machine to determine whether the different version of the virtual machine is packaged according to a particular specification.
10 . The machine-readable storage medium of claim 8 , wherein:
the instructions include instructions which, when executed by the one or more processors, further cause the one or more processors to perform the step of sending, in response to the update application invoking a second routine from the update library, over the network to each printing device of a second plurality of printing devices, a second plurality of instructions and a software application; and said each printing device, of the second plurality, installs the software application in response to receiving the second plurality of instructions.
11 . The machine-readable storage medium of claim 10 , wherein the instructions include instructions which, when executed by the one or more processors, further cause the one or more processors to perform the steps of, in response the update application invoking the second routine:
for each printing device of the second plurality of printing devices, determining, based on the type of the software application, whether said each printing device requires a reboot operation to be performed after the software application is installed; for each printing device of the second plurality that requires the reboot operation to be performed, generating a boot script; and for each printing device of the second plurality, generating a zip file that includes the software application, wherein the zip file for a printing device of the second plurality that requires the reboot operation to be performed also includes the boot script; wherein sending the second plurality of instructions and the software application includes sending the zip file to said each printing device of the second plurality.
12 . The machine-readable storage medium of claim 8 , wherein the instructions include instructions which, when executed by the one or more processors, further cause the one or more processors to perform the steps of:
in response to the update application invoking a second routine, retrieving device information from each printing device of a second plurality of printing devices, wherein:
the second routine is to install a different version of a currently-installed software application on each printing device of the second plurality, and
the device information indicates one or more of the following of said each printing device of the second plurality: device type, device model, the currently-installed version of the software application, or the currently-installed version of the virtual machine; and
for each printing device of the second plurality:
determining, based on the device information, whether the different version is newer relative to the currently-installed version of the software application on said each printing device;
in response to determining that the different version is newer, determining whether an update of the currently-installed virtual machine is available;
in response to determining that an update of the currently-installed virtual machine is available, sending, to said each printing device, a second plurality of instructions to update the currently-installed version of the virtual machine; and
in response to determining that the different version is newer, sending to said each printing device, a third plurality of instructions to install the different version of the software application.
13 . The machine-readable storage medium of claim 8 , wherein:
a first instruction of the plurality of instructions is an instruction to lock a central panel of said each printing device before said each printing device uninstalls the current version; said each printing device locks the central panel in response to processing the first instruction; a second instruction of the plurality of instructions is an instruction to unlock the central panel after said each printing device performs the reboot operation; and said each printing device unlocks the central panel in response to processing the second instruction.
14 . The machine-readable storage medium of claim 8 , wherein:
a first instruction of the plurality of instructions is a request for version information of the current version of the virtual machine of said each printing device; in response to processing the first instruction, said each printing device provides the version information to the client device; the instructions include instructions which, when executed by the one or more processors, further cause the one or more processors to perform the steps of:
in response to receiving the version information from said each printing device, determining whether the different version is compatible with the current version of the virtual machine;
in response to determining that the different version is compatible with the current version of the virtual machine of said each printing device, creating a boot script and sending the boot script to said each printing device.
15 . A method for updating a current version of a virtual machine on a plurality of printing devices, wherein one or more applications execute on the virtual machine, the method comprising:
an update application invoking multiple routines in an update library of routines; in response to the update application invoking a first routine from the update library, sending, over a network to each of the plurality of printing devices, a plurality of instructions and a different version of the virtual machine, wherein each of the plurality of printing devices is capable of generating a printed version of an electronic document reflected in electronic print data, wherein each of the plurality of printing devices, in response to receiving the plurality of instructions and the different version:
uninstalls the current version of the virtual machine,
installs the different version of the virtual machine, and
performs a reboot operation.
16 . The method of claim 15 , further comprising validating, in response to the update application invoking the first routine and before sending the plurality of instructions, the different version of the virtual machine to determine whether the different version of the virtual machine is packaged according to a particular specification.
17 . The method of claim 15 , wherein:
the method further comprising sending, in response to the update application invoking a second routine from the update library, over the network to each printing device of a second plurality of printing devices, a second plurality of instructions and a software application; and said each printing device, of the second plurality, installs the software application in response to receiving the second plurality of instructions.
18 . The method of claim 17 , further comprising, in response the update application invoking the second routine:
for each printing device of the second plurality of printing devices, determining, based on the type of the software application, whether said each printing device requires a reboot operation to be performed after the software application is installed; for each printing device of the second plurality that requires the reboot operation to be performed, generating a boot script; and for each printing device of the second plurality, generating a zip file that includes the software application, wherein the zip file for a printing device of the second plurality that requires the reboot operation to be performed also includes the boot script; wherein sending the second plurality of instructions and the software application includes sending the zip file to said each printing device of the second plurality.
19 . The method of claim 15 , further comprising:
in response to the update application invoking a second routine, retrieving device information from each printing device of a second plurality of printing devices, wherein:
the second routine is to install a different version of a currently-installed software application on each printing device of the second plurality, and
the device information indicates one or more of the following of said each printing device of the second plurality: device type, device model, the currently-installed version of the software application, or the currently-installed version of the virtual machine; and
for each printing device of the second plurality:
determining, based on the device information, whether the different version is newer relative to the currently-installed version of the software application on said each printing device;
in response to determining that the different version is newer, determining whether an update of the currently-installed virtual machine is available;
in response to determining that an update of the currently-installed virtual machine is available, sending, to said each printing device, a second plurality of instructions to update the currently-installed version of the virtual machine; and
in response to determining that the different version is newer, sending to said each printing device, a third plurality of instructions to install the different version of the software application.
20 . The method of claim 15 , wherein:
a first instruction of the plurality of instructions is an instruction to lock a central panel of said each printing device before said each printing device uninstalls the current version; said each printing device locks the central panel in response to processing the first instruction; a second instruction of the plurality of instructions is an instruction to unlock the central panel after said each printing device performs the reboot operation; and said each printing device unlocks the central panel in response to processing the second instruction.
21 . The method of claim 15 , wherein:
a first instruction of the plurality of instructions is a request for version information of the current version of the virtual machine of said each printing device; in response to processing the first instruction, said each printing device provides the version information to the client device; the method further comprising:
in response to receiving the version information from said each printing device, determining whether the different version is compatible with the current version of the virtual machine;
in response to determining that the different version is compatible with the current version of the virtual machine of said each printing device, creating a boot script and sending the boot script to said each printing device.Join the waitlist — get patent alerts
Track US2010058321A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.