This application relates generally to distributing software to networked devices. The application relates more particularly to peer device secure deployment, validation and selective installation of software, such as software specifying device configurations or software updates.
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 are complex devices that require regular maintenance and configuration. It is costly and time consuming to service or configure a large number of MFPs, one at a time.
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.
As noted above, it is costly and time consuming to configure or maintain MFPs individually. Modern MFPs are run by integrated computer systems, referred to as controllers. MFPs are typically connected to a network to allow for shared use, such as networked printing and email communication. Remote configuration or updating of MFPs may be done via a network connection. However, each device is still individually contacted and updated or configured.
MFPs include user interfaces, such as touchscreens for user operation and control. A typical user interface is set by a manufacturer and not subject to user modification. More recent advances allow end users to generate customized device interfaces that may be specific to their needs, such as by providing access to frequently needed functions for easy location and selection. Different business types may have different basic device needs. MFPs in a hospital may require ready access to electronic health records, insurance forms, prescription forms, patient questionnaires, and the like. MFPs in hospitals may also require enhanced security features, such as encryption or disabling or limiting information reproduction or transfer to maintain patient confidentiality. MFPs in law office may require ready access to legal forms, and be configured to generate bound material, such as printouts of deposition transcripts. A company may also wish to configure a user interface to incorporate a company logo, such as in a user interface background.
When a specific business, or business location, wishes to have a uniform, customized interface on its many MFPs, it can be extremely time consuming and costly to supply software to update, customize or configure them individually. Software comprising a portable configuration file allows for creation of a customized interface by uploading it into all devices. However, certain devices may be from a different manufacturer, different model or different firmware version rendering them incompatible with a distributed software/configuration file. In such instances, installation of software or a configuration file on incompatible devices can damage the devices or render some or all features unusable. Also, attempted installation of corrupt software places all devices at risk. Also, interfaces that are customized for a particular business should be installed only on its MFPs.
Example embodiments herein provide a secure, peer-based software distribution with automated verification, compatibility testing and installation. Software, such as device software or configuration information, is stored and distributed as a block in a blockchain that is distributed among networked MFPs.
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.
MFPs 420 and 424 are in Company Building A 428, so both are targeted to deploy single package 404. However, MFP 420 has an incompatible firmware version precluding deployment. Company building B 432 includes MFPs 436, 440 and 444. In Building B, deployment of single package 404 is via internal distribution via server 448. Single package 404 is not deployed to MFP 436 as it too has an incompatible firmware version. Once a single package 404 has been deployed in a blockchain block, it is added to the blockchain only at such point that integrity of the associated block has been verified by any suitable distributed verification protocol. Once deployment is completed, installation can be automatically commenced and completed, or completed upon an execution command issued by administrator 452 via workstation 456.
Next, a determination is made as to whether the software is compatible with the device at block 640. If not, the process ends at block 628. If so, a determination is made at block 644 as to whether the software is compatible with a location of a device or ownership or control of the device. If not, the process ends at block 628. If so, the software is set for processing at block 648. If the software is determined to be an interface configuration at block 652, the interface is configured at block 656 and the process ends at block 628. If it is not an interface configuration, a test is made as to whether it is a device software update at block 660. If so, a software update is made at block 664 of device software or firmware, and the process ends at block 628. If not, other software may suitably be processed at block 668, such as changing device settings, updating data, or the like, and the process ends at block 628.
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 is a continuation of U.S. patent application Ser. No. 16/527,869 filed on Jul. 31, 2019, which claims the benefit of U.S. Provisional Application No. 62/712,616 filed Jul. 31, 2018, the disclosures of which are hereby incorporated by reference herein in their entirety and made part of the present U.S. utility patent application for all purposes.
Number | Date | Country | |
---|---|---|---|
62712616 | Jul 2018 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 16527869 | Jul 2019 | US |
Child | 17475596 | US |