This application relates generally to maintenance of a fleet of multifunction peripherals. The application relates particularly to distribution of software or configuration updates with the assistance of multifunction peripherals determined to be primary devices on a customer 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.
Businesses often have a fleet of MFPs which is maintained internally or via an agreement with a servicing company, such as an MFP device distributor. MFP maintenance entails installation of new software, which may comprise new firmware. MFP maintenance may also include device configuration or reconfiguration.
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.
MFP fleet maintenance may be accomplished by network distribution of software or device configurations. It is very time consuming to maintain devices by servicing individual machines.
MFP maintenance, such as that noted above, can be assisted by network device monitoring and configuring. An example is provided with Toshiba TEC's e-Bridge Cloud Connect system (eCC). ECC is implemented as a web-based device management system that facilitates real-time monitoring of technical alerts and warnings, remote device configuration and software changes, and accumulation of service data for problem diagnosis and problem resolution.
By way of particular example, Toshiba TEC MFP devices are configurable via an eCC web interface. Device configuration with eCC can be completed by setting device policies. Policies are used to create a near infinite number of attributes to monitor and configure a MFP or fleet of MFPs. Policies are organized into categories, and templates are provided to make the configuration of a policy fairly intuitive. Policy categories for eCC include settings for:
Systems such as eCC allow one to manually configure a policy to pull a firmware package from a local shared storage. However, it is manual, requiring a service technician to coordinate with a customer to store the firmware package and then configure a policy properly with information about the local storage.
Example policy updates may include code value pairs for machine configurations and firmware. In the case of firmware, packages being downloaded are large, often exceeding 1 GB is size. Downloads of this size place a burden on the customer's local network bandwidth, are slow to download, and many times result in update failure. This burden and failure condition is exacerbated in cases where a single customer has multiple devices being updated. Each machine is individually trying to download the firmware file, competing for bandwidth with all the other machines and resources on the network.
In example embodiments described herein, machines within the same customer network environment and providing an automated and dynamic update instruction to reduce Internet bandwidth usage. This is accomplished by systematically grouping machines by customer, parsing IP addresses information, and assigning scores to devices to determine order and roles of machines being updated. Update instruction packages are automatically configured to allow the high scoring machines, designated as primary machines, a first attempt at downloading updates. These machines will update package downloads first, and if successful, make the update available to the secondary devices. The primary machines report back to a cloud-based server of a download status. The server then automatically reconfigures update instructions for the other machines to signal an update is available and point to a machine that has already downloaded the update. Remaining machines on the same customer network will attempt to pull the update from a shared storage location on the primary device. Status of updates is be communicated back to the cloud server. If failures occur, the cloud server will automatically update the instructions by assigning a new primary device and reinitiating the process.
Data hosted in a cloud service is used to group machines based on customer information, such as a customer account number. The system checks IP address information of the grouped machines to create a network topology for the customer for analysis. The system further analyzes historical device update records. Using this data, the cloud server will assign scores to determine primary and secondary roles to each of the devices in the group.
When a new policy is applied to devices within a customer group, the cloud server uses primary and secondary role information to configure instruction packages to minimize download bandwidth usage. Machines in the field are given update instructions that will minimize download bandwidth usage while maintaining or increasing update success rates. These instructions inform connecting devices the order for downloading updates, the download location, the timing of downloads, and other data. Error conditions and networking failures are detected and handled. Thus, if an initial primary device update fails, additional attempts will be made and also failover to designate a new primary device. Similarly, if a primary device update fails a new server can be designated to retrieve the update.
When an update or configuration is desired, server 112 examines the network of the associated customer. In the illustrated example, server 112 analyzes IP addresses in customer network 104, suitably by parsing, in conjunction with stored information which provides an understanding of a topology of customer network 104 and its associated devices. From such information, server 112 assigns a score to each device. One or more high scoring devices are designated as primary devices. Lower scoring devices are designate as secondary devices. In the illustrated example, MFPs 116 are designated as primary devices and MFPs 120 are designated as secondary devices.
Server 112 then prepares two update policies, one for primary devices and one for secondary devices. The policies direct devices to commence a designated update operation. The policies are distributed to correspondingly designated devices via network cloud 108. Upon receiving their update policy, primary devices 116 are directed to download and install an update packet, suitably retrieved from cloud server 124. In the illustrated example primary devices download update package 128 and install it, suitably reporting successful or unsuccessful installation back to cloud server 124. If an installation is unsuccessful, cloud server can resend a packet or direct a packet from an alternative server. While two servers, server 112 and cloud sever 124 are used in the illustrated example, it is to be appreciated that all operations may be consolidated in a single server, or deployed on additional servers. As detailed further below, MFPs themselves are intelligent devices that can also function as a server.
Once an update package has been successfully obtained and installed by primary devices, it is made available to secondary devices, such as secondary devices 120 of customer network 104. Secondary devices 120 are directed by their update policy to retrieve their update packet 128″ from a device designated as primary, as with primary devices 116. As with primary devices, secondary devices install the update packet and report a successful or unsuccessful installation. Unsuccessful installations are suitably provided with a new update packet which may come from the same primary device, an alternative primary device or directly from cloud server 124.
Turning now to
Processor 202 is also in data communication with input/output interface 222, suitably comprising a user touchscreen. While touchscreens are discussed in example embodiments herein, it is to be appreciated that any suitable user interface, such as keyboards, switches, displays, trackballs or mice may be used.
Processor 202 is also in data communication with a storage interface 208 for reading or writing to a 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 additional interfaces, such as Bluetooth interface 226 and NFC interface 228.
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 interface or physical network connection 220, or to a wireless data connection via wireless network interface 218. Example wireless network interfaces include optical, 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 can also be in data communication with any suitable user input/output (I/O) network interface 222 which provides data communication for interfacing with user peripherals, such as displays, keyboards, mice, track balls, touch screens, or the like. Processor 202 can also be in communication with hardware monitor 221, such as a page counter, temperature sensor, toner or ink level sensor, paper level sensor, or the like.
Also in data communication with data bus 212 is a document processor interface 222 suitable for data communication with the document rendering system 250, including MFP functional units. In the illustrated example, these units include a copy engine comprising copy hardware 240, a scan engine comprise of scan hardware 242, a print engine comprised of print hardware 244 and a fax engine comprised of fax hardware 246 which together comprise document rendering system 250. It will be understood that functional units are suitably comprised of intelligent units, including any suitable hardware or software platform.
Turning now to
Update instructions are created at block 520, with a primary update instruction for designated primary devices and with a secondary update instruction for designated secondary devices. An update policy is applied to a set of devices at block 524. Devices check for updates and download instructions at block 528. Primary device(s) download update packages and make them available to other devices at block 532. Secondary devices then get the update package from a primary device at block 534. Devices issue a status report, such as successful or unsuccessful package installation, at block 538. Instructions are evaluated and modified, if needed, at block 542. Modified instructions are communicated to block 520 for use in a subsequent update process.
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.