1. Field of the Invention
This invention generally relates to digital document processing and, more particularly, to an improved system and method for validating the characteristics of a network-connected device.
2. Description of the Related Art
Network scanning applications, such as Sharp's SharpDesk, typically broadcast specific messages over the network from a network client, such as a personal computer, in order to find standalone scanners, or devices such as multifunctional peripherals (MFPs). These MFP devices may include scanners, copiers, printer-enabled copiers, fax, and email capabilities. Generally, the technique of broadcasting a signal over a network to identify networked devices is referred to in the art as “discovery.”
Scanners, such as those found on MFPs, have various configurations and capabilities. These qualities, of course, change as more modern MFPs replace or accompany older models. Thus, a discovery tool might identify a large number of MFPs on a network, but over time, only a subset of the available MFPs possess characteristics that are of interest to a network scanning application. In order to eliminate MFP's whose scanners do not meet certain requirements, the network scanning application sends an additional message to the MFPs, after discovery, requesting more information about the MFP's scanner. Based on the response to the requested information, a decision is rendered concerning the compatibility of the MFP's scanner and the network scanning application. This screening process is typically referred to as “validation”.
The MFP detection and validation processes occur continuously, in order to automatically determine if any new or upgraded devices are added to the network. The process determines if these new/upgraded devices are compatible with the needs of the network client. The client requirements can be added as an element to the network scanning software. In some situations, it is critical that the same MFP is still online, so validation of that MFP is repeated. For example, to determine if a particular MFP has been disconnected, broken, or has been assigned a new address. Since validation is performed very frequently, the efficiency of the validation process is critical to the overall performance of the network scanning system. Typically, a list of validators is embedded in the network scanning application. The application runs through the list of validators for each MFP, until the validator matching the MFP is found.
Different models of the MFPs have different “criteria” that are considered for validation purposes. Thus, network scanning applications typically have multiple validators to validate the various MFP models. In the simplest case, each MFP has a different validator. However, a common validator may be shared by a subset of MFPs. For example, all the MFPs made by a particular manufacturer may share a common validator. Validators are applied in a specific predetermined order for each of the MFPs discovered in the network. Based on the result of the specific validation, an MFP is either “accepted” or “rejected”.
For example, the network client requires an MFP with a duplex (2-sided) scanning capacity. In a simple case, each MFP in the system may have a different validator. Since one particular MFP is associated with the last validator on the list, the entire list of validators must be checked, before that MFP can finally be validated. Thus, the validation process is not particularly efficient. The validation state of MFPs can be saved as a fixed value to increase efficient. However, as mentioned above, the state or validity of an MFP is subject to change.
The validation redundancy inherent in conventional validation approaches has several shortcomings that load network traffic each time a validation process is executed by the client's network scanning application. The conventional validation approaches are also time consuming from the perspective of the network client user.
It would be advantageous if the validator of a network-connected device could be checked more efficiently.
This application describes a method for increasing the efficiency of an MFP validation process by learning from previous validation cycles. In one aspect of the invention, a “learning” or validation table is created that encompasses prior histories of the validation process. The validation table is subsequently used during the validation process to eliminate the validation redundancies associated with conventional method and, therefore, reduces network traffic and time required for validation.
Accordingly, a method is provided for validating network-connected devices. The method comprises: discovering network-connected devices; providing a list of validation queries associated with validation criteria; after discovery, sending validation queries from the list, in a predetermined order, to each discovered device; ceasing to send validation queries to a discovered device, once a validation query has been successfully acknowledged; generating a validation table cross-referencing validation criteria to discovered devices; and confirming validation criteria associated with the discovered devices in response to using the validation table.
More specifically, generating the validation table includes cross-referencing failed validation queries with each discovered device. Then, confirming validation criteria associated with the discovered devices in response to using the validation table includes ceasing to send failed validation queries. Further, the failed validation queries are cross-referenced to device information, such as make or model number. Then, the correct validator can be assigned to any new device entering the network, once its device information has been determined.
Additional details of the above-described method and a system for validating network-connected devices are provided below.
The network scanning application 108 also includes a list 116 of validation queries (validators) associated with validation criteria. In some aspects of the system, the list 116 can be updated by looking in a window registry. In this manner, new validators can be added as new devices are introduced to market. The confirmation routine 114 sends validation queries from the list 116 to each discovered device after discovery. Shown are connected devices 120, 122, and 124. In one aspect the devices 120, 122, and 124 are MFPs. The confirmation routine 114 ceases to send validation queries to a discovered device, once a validation query has been successfully acknowledged. More specifically, the validation table routine 112 cross-references failed validation queries with each discovered device 120, 122, and 124. Note, the invention is not limited to use with any particular number of networked devices.
The confirmation routine 114 sends validation queries from the list to a particular device in a predetermined order. Typically, a device is selected. Then, each validator from the list is checked against the selected device, until a validator succeeds. For example, if device 120 is being validated, the confirmation routine checks the validators in the order dictated by the list; V1, followed by V2, followed by V3, and so on. After every device has been checked against the first validator, the next validator is selected and the process repeated.
Some examples of validation queries that may be sent request information such as device manufacturer, device model, and device capabilities, such as scanning, printing, and printing capabilities to name a few examples. For example, the network client may require an MFP that has an 11 by 17 inch paper tray.
Alternately, the device information can be cross-referenced to failed validation queries. Then, the confirmation routine automatically cross-references failed validation queries with devices sharing the same device information. Thus, the initial validation query need only be performed a single time for a particular device, even if the network adds more devices with the same model number, see the explanation of
As shown in
In another aspect, the confirmation routine eliminates a first discovered device from the confirmation procedure if the validation table shows only failed validation queries for the first device. In this manner, the system ceases to validate devices that are not considered desirable with respect to the client's requirements. In a different aspect, the confirmation routine may repeat the initial validation routine for the first device, prior to eliminating the device, to determine if the device has been reconfigured with a different validator.
Network scanning applications detect devices such as MFPs connected to the network. The discovery list of devices is usually large and diverse. Network scanning applications, such as Sharp's SharpDesk, use multiple validators to filter-out the “undesired” MFPs from the discovered list, based upon the characteristics of the MFP. Such characteristics may include the MFP's model, make, and capability. The validators are applied in a specific predetermined order to each of the discovered MFPs. The purpose of the validators is to acquire more information about MFPs on the network, so that MFPs that do not have certain characteristics can be eliminated from consideration.
Whereas validation processes are proven effective in screening unwanted MFPs, these processes increase network traffic and are time consuming. The problems conventionally associated with validation processes are exacerbated in network environments where MFPs are updated, or new ones added, as the validation process occurs on a continuous basis.
Initially, all the available validators are attempted in a predetermined order. Once the order is defined, the validation process tries each validator sequentially, as specified by the predetermined order, until one of the validators successfully validates an MFP.
This system improves the efficiency of the validation process by learning from the previous validation results and building a “learning table”, referred to herein as a validation table. Prior to executing a validation process, the validation table is accessed. The table has entries for unsuccessful validators, defined by characteristics such as model number, against each MFP. Therefore, when a particular MFP is to be validated, that failed validators can be skipped, thereby reducing the network traffic and time.
If a validator fails to validate an MFP in the initial validation process, the validator (i.e., model information of the MFP) is stored in the validation table. In this example it can be generalized that a particular validator that will not work with certain models of MFPs. If additional MFPs with that same model number (validator) are added to the network, it is not necessary to perform an initial validation procedure on the added MFPs, as their failed validators associated with this model MFP are already know. Thus, the initial validation procedure can skipped, improving network efficiency.
Using the network scanning application, the discovery process returns the list of devices that respond to SNMP broadcast messages. To each of the discovered devices, multiple validators are applied in the predetermined order to filter out the undesirable MFPs from the discovered list. During the validation process, the results of the validation are stored in a persistent way, as a file or in system registry.
The steps of the validation method are outlined below:
1) A network client detects responding devices using a network discovery process.
2) The model information of the responding devices is queried through SNMP message. In this example, the model numbers are referenced against validators. The devices with no model information are not valid MFPs, and need to be validated.
3) The network scanning application has finite number of validators and order of the validators is predetermined for efficiency.
4) For each of the MFPs discovered, each of the validators is applied in sequence. If a validator fails to validate a MFP, then the model/make of that MFP is stored in a persistent way for later retrieval. This validator will be skipped if the same model of MFP is encountered in subsequent validation.
5) If all the validators fail to validate a MFP, then that MFP is recognized as “decoy”. If a MFP of the same model is encountered again, all validators can be skipped.
6) Each time a new model of the MFP is validated, the validation is updated. This learning process continues automatically.
1. Skip validating with validator V1 for all models of MFP M1.
2. Skip validating with validator V2 for all models of MFP M3 and M4.
3. Skip validating with validator V3 for all models of MFP M2.
The validation table records the failure experience of validators with some MFP's model numbers. The purpose of the validation table is to learn, so as to avoid the same validation failure repeatedly. This permits some unnecessary validation queries to be skipped with respect to each particular model of MFP (since they will not succeed anyway), improving the network performance.
The following table is built from earlier validation experiences. It cross references each validator to the MFP models that do not respond to that particular validator.
If MFP model number uuu is being validated, validator V1 is initially attempted. If V1 is successful, then the validation process is finished. If V1 is unsuccessful, validators V2, V3, and V4 can be skipped, as they are known to fail for the uuu model number. So, validator V5 is attempted. Note, after learning that V1 fails with respect to model number uuu, that information can be added to the validation table. The next time that a uuu model number is validated, the V1 validator can be skipped.
Alternately, the validation table may cross-reference validators to device information or device capabilities, as follows:
In this implementation, the validation table is static and fixed at design time. Basically, the validator knows what it should look for in the MFP responses. There is no particular need for this table to be built in run time. Generally, the validation table is constructed in run time based on validation experience. It's almost impossible to predict the response of all future models of MFPs with a particular validator at design time.
Step 702 provides a list of validation queries (VQs) associated with validation criteria. For example, the validation query may concern an MFP's ability to perform duplex scanning. As noted above, the list is updateable, Step 704 discovers network-connected devices, such as MFPs. In some aspects, Step 705 collects device information, after discovery, in an initial validation query. For example, a device's model number may be collected. In one aspect, the initial validation queries can be sent in a simple network management protocol (SNMP) message.
Step 706 sends validation queries from the list to each discovered device after discovery. Typically, the validation queries are sent from the list to a particular device in a predetermined order. Step 708 ceases to send validation queries to a discovered device, once a validation query has been successfully acknowledged. In one aspect, Step 709 cross-references device information to failed validation queries. Step 710 generates a validation table cross-referencing validation criteria to discovered devices. More specifically, Step 710 cross-references failed validation queries with each discovered device. In one aspect, Step 710 automatically cross-references failed validation queries with devices sharing the same device information. Thus, a particular model number may become associated with a particular validator (validation query).
Step 712 confirms validation criteria associated with the discovered devices in response to using the validation table. More specifically, Step 712 confirms validation criteria associated with the discovered devices by ceasing to send failed validation queries. Alternately stated, Step 712 confirms validation criteria by sending a single validation query to each discovered device.
In another aspect, Step 714 saves the validation table. In Step 716, following a subsequent discovery of network-connected devices, uses the saved validation table discovered device information, such as model number. That is, the device information is not recollected after the subsequent discovery.
In a different aspect, confirming validation criteria associated with the discovered devices in response to using the validation table (Step 712) includes eliminating a first discovered device from the confirmation procedure if the table shows only failed validation queries for the first device. In another aspect, sending validation queries from the list, after discovery, to each discovered device (Step 706) includes sending queries such as device manufacturer, device model, or device capabilities.
A system and method for validating network-connected devices has been presented. Although examples have been given using the invention in the context of network-connected MFP's, it should be understood that the invention is not limited to any particular kind of device function. Other variations and embodiments of the invention may be recognized by those skilled in the art.