This application relates generally to deploying software and applications onto multifunction peripherals. The application relates more particularly to discovering compatible multifunction peripherals and automatically deploying software and applications across a network.
Document processing devices include printers, copiers, scanners and e-mail gateways. More recently, devices employing two or more of these functions are found in office environments. These devices are referred to as multifunction peripherals (MFPs) or multifunction devices (MFDs). As used herein, MFPs are understood to comprise printers, alone or in combination with other of the afore-noted functions. It is further understood that any suitable document processing device can be used.
MFPs can have different versions of hardware, firmware, and software that may or may not be compatible with newer software and applications. When new software becomes available, system administrators may need to look up the internet protocol (IP) address of each MFP on the network and then manually check to determine if the MFP is capable of supporting the new software prior to installing it. When there are multiple MFPs on the network that may need to be updated with the new software, it can be time consuming for a system administrator to have to manually check versions for compatibility and update each MFP individually.
Various embodiments will become better understood with regard to the following description, appended claims and accompanying drawings wherein:
The systems and methods disclosed herein are described in detail by way of examples and with reference to the figures. It will be appreciated that modifications to disclosed and described examples, arrangements, configurations, components, elements, apparatuses, devices, methods, systems, etc. can suitably be made and may be desired for a specific application. In this disclosure, any identification of specific techniques, arrangements, etc. are either related to a specific example presented or are merely a general description of such a technique, arrangement, etc. Identifications of specific details or examples are not intended to be, and should not be, construed as mandatory or limiting unless specifically designated as such.
When new software becomes available for an MFP, for example a new application that provides new features, system administrators may need to perform certain steps to install the new software on each MFP. The system administrators may need to determine the internet protocol (IP) addresses of MFPs. This information may be stored by a system administrator in a spreadsheet, however if the information is not kept current then some MFPs may not receive the updated software. Additionally, the MFPs may be located in different physical locations and different IP subnets which can make it difficult or time consuming for the system administrators to check each MFP to ensure that the new software is available to users. After determining the IP addresses of each of the MFPs, system administrators may need to manually check each MFP to ensure that the new software can be run with the current software, firmware, and hardware versions on each of the MFPs. For MFPs that can execute the new software, the system administrators typically remotely load the new software onto each of the MFPs. It can be costly and time consuming for system administrators to track and find the IP addresses of all of the MFPs and then manually validate each MFP against the software and hardware requirements of the new software before deployment.
A smart application deployment system and method helps system administrators to quickly discover MFPs that meet the software and hardware requirements of new software and applications and software in a specified network environment and then remotely install new software and applications in a timely manner. The disclosed smart application deployment system and method facilitates one-click, bulk deployment of new software and applications substantially simultaneously. Throughout this disclosure, the terms software, software update, and applications are intended to be non-limiting examples and should be interpreted broadly to encompass any type of digital data capable of providing or enabling features on MFPs and can include executable files, configuration files, graphics, and so forth.
In accordance with the subject application,
Turning now to
Processor 202 is also in data communication with a storage interface 208 for reading or writing data with storage 216, suitably comprised of a hard disk, optical disk, solid-state disk, cloud-based storage, or any other suitable data storage as will be appreciated by one of ordinary skill in the art.
Processor 202 is also in data communication with a network interface 210 which provides an interface to a network interface controller (NIC) 214, which in turn provides a data path to any suitable wired or physical network connection 220, or to a wireless data connection via a wireless network interface, such as WiFi 218. Example wireless connections include cellular, Wi-Fi, wireless universal serial bus (wireless USB), satellite, and the like. Example wired interfaces include Ethernet, USB, IEEE 1394 (FireWire), Lightning, telephone line, or the like. Processor 202 is also in data communication with a hardware monitor 221, suitably amassing state data from subassemblies, sensors, digital thermometers, or the like, and suitably including digital state date including device codes, such as device error codes. Processor 202 can also be in data communication a document processor interface 222, with BLUETOOTH interface 226 and NFC interface 228 via data path 212.
Processor 202 can also be in data communication with any suitable user input/output (I/O) interface (not shown) which provides data communication with user peripherals, such as displays, keyboards, mice, track balls, touch screens, or the like.
Document processor interface 222 is suitable for data communication with MFP functional units 250. In the illustrate example, these units include a copy engine, suitably comprised of copy hardware 240, a scan engine, suitably comprised of scan hardware 242, a print engine, suitably comprised of print hardware 244 and a fax engine, suitably comprised of fax hardware 246. These subsystems together comprise MFP functional hardware 250. It will be understood that functional units are suitably comprised of intelligent units, including any suitable hardware or software platform.
Turning now to
Processor 304 is also in data communication with a storage interface 306 for reading or writing to a data storage system 308, suitably comprised of a hard disk, optical disk, solid-state disk, or any other suitable data storage as will be appreciated by one of ordinary skill in the art.
Processor 304 is also in data communication with a network interface controller (NIC) 330, which provides a data path to any suitable network or device connection, such as a suitable wireless data connection via wireless network interface 338. A suitable data connection to an MFP or server is via a data network, such as a local area network (LAN), a wide arear network (WAN), which may comprise the Internet, or any suitable combination thereof. A digital data connection is also suitably directly with an MFP or server, such as via BLUETOOTH, optical data transfer, Wi-Fi direct, or the like.
Processor 304 is also in data communication with a user input/output (I/O) interface 340 which provides data communication with user peripherals, such as touch screen display 344 via display generator 346, as well as keyboards, mice, track balls, touch screens, or the like. Processor 304 is also in data communication with Bluetooth interface 350 and NFC interface 354. It will be understood that functional units are suitably comprised of intelligent units, including any suitable hardware or software platform.
Turning next to
Once discovery and deployment operations are initiated, for example by a system administrator or by a timer, an MFP discovery module 420 performs queries on each of the IP addresses in the IP ranges or IP subnets that were configured by the system administrator. For example, the MFP discovery module 420 can send an SNMP Get call to retrieve software, firmware and/or hardware information from each IP address in the specified networks. If the MFP discovery module 420 does not receive a successful response, such as if the MFP discovery module 420 does not receive any response or receives a response that indicates that the IP address is not associated with an MFP, then the MFP discovery module 420 will continue to scan the other IP address in the specified IP address ranges or subnets. If an IP address is associated with an MFP 450, then the MFP discovery module 420 receives a successful response that includes the requested data about the MFP 450. An MFP validation module 430 can compare the received response or responses with predefined criteria to determine if the MFP 450 has suitable software, firmware, and hardware to execute the new application or software. If the MFP 450 is compatible with the new application or software, then an application deployment module 440 can install the new application or software on the MFP 450 at a suitable time. The application deployment module 440 can be configured by the system administrator via the user interface module 410 to deploy the new application or software immediately, or wait until a designated time to perform the installation, such as after business hours.
Turning next to
At block 510, if discovery scanning for compatible MFPs is set to commence then processing continues to block 512, otherwise processing returns to block 504 until the designated time for discovery scanning is initiated by the system administrator or a suitable timer for performing the discovery scanning triggers the scanning.
At block 512, the IP ranges set by the system administrator are scanned for MFPs. For example, the system can initiate an SNMP Get query (or call) to each IP address in the IP range or IP subnet. If a successful response from an MFP is received at block 514, then a check is made to determine if the MFP is compatible with the new software or application at block 516. If the MFP is compatible, then a check is made whether to install the software or wait until a more suitable time at block 518. For example, if the MFP is in the middle of an operation or is currently in use, then processing returns to continue scanning MFPs until a more suitable time. In another example, the installation can be scheduled for after business hours to minimize the possibility of service interruptions to users. If any of the checks for block 514, 516, or 518 are unsuccessful, then processing returns to block 512 to continue scanning for compatible MFPs.
Once the new application or software is ready to be installed on one or more MFPs at block 518, processing continues to block 520 where the new application or software is installed on the MFP or blocks of MFPs. If necessary, MFPs can be restarted to finish the installation process. Processing then continues to block 522.
At block 522, a check is made to determine if the new application or software has finished being installed on compatible MFPs and if scanning for compatible MFPs has finished. If so, then processing terminates at end block 524, otherwise processing returns to block 512 to continue scanning the MFPs and installing the new application or software.
While certain embodiments have been described, these embodiments have been presented by way of example only, and are not intended to limit the scope of the inventions. Indeed, the novel embodiments described herein may be embodied in a variety of other forms; furthermore, various omissions, substitutions and changes in the form of the embodiments described herein may be made without departing from the spirit of the inventions. The accompanying claims and their equivalents are intended to cover such forms or modifications as would fall within the spirit and scope of the inventions.
This application claims the benefit of U.S. Provisional Application No. 62/712,589 filed Jul. 31, 2018, which is incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
62712589 | Jul 2018 | US |