This application relates generally to a system and method for determining object identifier (OID) information for a management information base (MIB) of a multifunction peripheral (MFP) using the simple network management protocol (SNMP). The application relates more particularly to analyzing changes in OID information queried from third party MFPs to predict the type of data stored in OID fields when the MIB of the MFP is not known.
Document processing devices include printers, copiers, scanners, fax machines, 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.
Given the expense in obtaining and maintain MFPs, MFPs are frequently shared by users and monitored by technicians via a data network. MFPs can be monitored using the Simple Network Management Protocol (SNMP). Each brand or model of MFP monitored via SNMP includes a management information base (MIB) with multiple Object Identifiers (OIDs) that define each kind of data on the MFP that can be monitored. Example OIDs can include data such a counters, paper usage, color printing, toner levels and so forth.
Generally, the MIB for a particular type of MFP must be known in advance, for example by referring to a specification provided by the MFP manufacturer. Monitoring third party MFPs via SNMP without a specification or the MIB can be performed, but reliably determining information such as specific counter information from the MFP generally requires knowing which OID in the MIB is associated with the desired information.
In accordance with an example embodiment of the subject application, a system includes a database, a machine learning system, and a device controller, for example a device controller of a document processing system or multifunction peripheral. The device controller is configured to walk the MIB of a document processing system to obtain SNMP data having a number of unidentified OIDs. The device controller stores the SNMP data to a database. The SNMP data can be retrieved from the database, and data associated with OIDs can be extracted, formatted into a format suitable for a machine learning system, and stored in the database. The machine learning system can be configured to predict one or several possible OID types for one or more of the unidentified OIDs. Example OID types can include, but are not limited to, a count of printed pages such as black and white, color, or total pages, an indication of a paper level in a paper tray, for example empty or paper present, a toner level, and an error indication among other OID types. The machine learning system can predict OID type based on data associated with the OID or changes in the data associated with an OID, such as changing page counts. The machine learning system can generate the training data by walking the MIB of one or several document processing system having known MIBs and OIDs. A user interface on one or the system components or on a separate system can display predicted OID types for an unknown OID, receive a user selection of one of the OID types via an input, and save the predicted OID type to a database. The predicted OID type can be used to update the training data to improve future predictions by the machine learning system.
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.
Referring now to
In the system 100, the DCA 102 walks the MIB of the MFP 110, and stores retrieved MIB and OID data in cloud storage 104. As the MFP 110 is used, the DCA 102 receives additional OID data from the MFP 110. The data in one or more of the OIDs will change as the MFP 110 is used. For example, for an OID associated with the number of pages printed by the MFP, data associated with the OID will include a number that increments as the MFP 110 is used. The machine learning system 106 can monitor changes in the OID data and use models to predictively determine which OIDs are associated with certain kinds of data, such as counters, page counts, paper and toner levels, and so forth. The machine learning system 106 can store predictions in the cloud storage 104, and the predictions can be curated by technicians. Once the identity of an OID is determined, for example by prediction and curation, the stored date for the OID can be associated with the corresponding counter, page count, paper levels, and so forth and used to manage the MFP 110.
Turning now to
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 218 or to a wireless data connection via wireless network interface 220. Example wireless connections include cellular, Wi-Fi, BLUETOOTH, NFC, 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) interface 219 which provides data communication with user peripherals, such as displays, keyboards, mice, track balls, touchscreens, or the like. Also in data communication with data bus 212 is a document processor interface 222 suitable for data communication with MFP functional units 250. In the illustrate example, these units include copy hardware 240, scan hardware 242, print hardware 244 and fax hardware 246 which 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 316 for reading or writing to a data storage system 318, 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 wired or physical network connection via physical network interface 334, or to any suitable wireless data connection via wireless network interface 338, such as one or more of the networks detailed above.
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 display 344, as well as keyboard 350, mouse 360 or any other interface, such as track balls, touchscreens, or the like. It will be understood that functional units are suitably comprised of intelligent units, including any suitable hardware or software platform.
Referring now to
Referring now to
At step 520, data is collected from an MFP 502 by a DCA service agent 504. For example, the MFP 502 can report data to the DCA service agent 504, or the DCA service agent 504 can perform a MIB walk of the MFP 502 to obtain the data. The DCA service agent 504 parses the SNMP data at step 522 and sends the parsed SNMP data to the DCA worker agent 506. A DCA worker agent 506 receives the parsed SNMP data and registers the SNMP data at step 524 in an SQL database. The DCA worker agent 506 stores the SNMP data as Guest SNMP data at step 526 in a Guest SNMP Device Container 508. In step 528, the DCA worker agent 506 accesses the Guest SNMP Device Container 508, receives a CSV data file of the data, and stores the CSV data file in a Parsed CSV Container 510.
In step 530, the machine learning system 516 retrieves the CSV data file from the Parsed CSV Container 510, performs machine learning tests, and stores a test result in a Machine Learning Test Result Container 512. In step 532, the DCA worker agent 506 interprets the stored test result from the Machine Learning Test Result Container 512 and stores the machine learned data to the SQL Database 506. In step 534, the DCA service agent 504 can fetch and display the machine learned data from the SQL Database 506. In step 536, the DCA worker agent 504 can send machine learned data to an auditor 518 for validation, and the DCA worker agent 504 can update the SQL database 506 based on the validation selection from the auditor 518.
Initially training the machine learning system 616 can be accomplished using the same operations 500. The DCA service agent 504 performs a MIB walk of an MFP 502 with known OID field types. The machine learning system 616 learns the patterns and trends of the known OID field types. For example, counters increase predictably as toner levels correspondingly decrease at a somewhat different rate. Sums of various counters have a direct correlation, for example the total page count is the sum of color page count and black-at-white page count. Similarly, total pages count is the sum of paper counters for each size of paper. Counters can have identifiable ranges. Some counters define slopes and can remain constant over long periods of use. Field descriptions can often be found in neighboring OID trees to facilitate machine learning identification.
When trained, the machine learning system 616 can match the data retrieved from MIB walks of new MFPs with previously learned OID field types. The machine learning system 616 can determine the most probable OID field type or OID field types that best match the data. High probability matches can be stored and displayed to a user auditor 518. The user auditor 518 can confirm results that appear to be correctly identified, or can deny results that are false positives or are incorrectly predicted. The feedback from the user auditor 518 is saved to the SQL database 506 and can be applied to OIDs of similar models in future testing.
Referring to
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.