Embodiments are generally related to multi-function devices such as, printers, scanners, photocopy machines, and the like. Embodiments are also related to diagnostic systems and techniques. Embodiments are additionally related to the classification of device data.
Diagnostic techniques are generally employed to repair problems in complex devices such as, for example, an MFD (Multi-Function Device). Such diagnostic techniques can also be employed to identify and distinguish the cause of failure in a machine component from a failure symptom, as well as to predict the occurrence of a particular failure type from precursors.
An MFD is a rendering device or office machine, which incorporates the functionality of multiple devices in one apparatus or system, so as to have a smaller footprint in a home or small business setting, or to provide centralized document management/distribution/production in the context of, for example, a large-office setting. A typical MFP can provide a combination of some or all of the following capabilities: printer, scanner, photocopier, fax machine, e-mail capability, and so forth.
Problems that can be encountered with a fleet of MFDs before an MFD product is launched are often easily observable, repeatable, and diagnosable by an engineering team. Such problems can be repaired utilizing built-in diagnosis tools such as, for example, fault codes, electronic documents, and knowledge base documentation provided in association with the MFDs. Problems with indirect causes are more difficult to diagnose and repair.
Problems that occur with MFD products can sometimes be repaired based on a conversation with the customer as the first level of support. Conversations between customers and a servicing enterprise are often time consuming and costly for both the customer and the enterprise. Additionally, “help-desk” calls can be annoying for customers because much time is spent gathering preliminary information regarding the product before the essence of the problem is addressed.
Conventional diagnosis systems for identifying difficult problems involve the provision of device data (e.g., fault codes, status codes, usage counters and sensor readings) to a remote server in the form of an error report to figure out the problems remotely. The server couples the device data and the customer call, analyzes the transmitted data and provides a single response back to the user. Such prior art techniques for the classification of the device data with respect to a service action have succeeded with only a small fraction of the calls as the device data is noisy and uncertain.
Based on the foregoing, it is believed that a need exists for an improved remote diagnostic system and method. A need also exists for an improved classification technique for classifying a set of device data in accordance with a problem type, as described in greater detailed herein.
The following summary is provided to facilitate an understanding of some of the innovative features unique to the disclosed embodiments and is not intended to be a full description. A full appreciation of the various aspects of the embodiments disclosed herein can be gained by taking the entire specification, claims, drawings, and abstract as a whole.
It is, therefore, one aspect of the disclosed embodiments to provide for an improved method and system for configuring a multi-function device (MFD), such as a printer, scanner, photocopy machine, fax machine, etc., or a combination thereof.
It is another aspect of the disclosed embodiments to provide for an improved remote diagnostic system and method.
It is a further aspect of the disclosed embodiments to provide for an improved classification method and system for classifying a set of device data in accordance with a problem type.
The aforementioned aspects and other objectives and advantages can now be achieved as described herein. A remote diagnostic system and method based on the use of a device data classification algorithm is disclosed. Device diagnostic data with respect to a device can be acquired. A conditional probability look up table can be constructed with respect to each fault code associated with the diagnostic data by employing and processing instructions associated with a classification module. A score function can then be created by summing the conditional probabilities. An occurrence of the fault code can be then mapped to a service call category with a numerically highest score function.
The conditional probability can change with respect to the number of fault occurrences in a time window before the service call. The fault occurrence data in association with the number of time stamps and device identifiers can be stored in a data warehouse or database or other appropriate computer memory. The occurrence of fault code can be matched with a solution set by a support server. The solutions with respect to such problems can be automatically dispatched to a customer via a communications link (e.g., Internet).
The device diagnostic data can include for example, fault codes, status codes, usage counters, sensor readings and so forth. The device can be coupled to a computer having a Web browser for connecting to the Internet or another appropriate computer network. A rules engine associated with the support server analyzes the diagnostic data in order to determine a cause of the problem or problems. The suggested solution set can be determined from information contained in a database of solutions based on the diagnostic data and the fault code. The suggested solution can be shared with a customer, for example, via a welcome center agent and/or a service technician (via a PDA (Personal Digital Assistant)) depending on the severity of the problem.
The support server implementing the rules engine enables the support center to possess the latest diagnostics utilities as well as the latest solutions to the problems. The communications link enables a large number of users to communicate quickly and efficiently with the support server.
The accompanying figures, in which like reference numerals refer to identical or functionally-similar elements throughout the separate views and which are incorporated in and form a part of the specification, further illustrate the present invention and, together with the detailed description of the invention, serve to explain the principles of the present invention.
The particular values and configurations discussed in these non-limiting examples can be varied and are cited merely to illustrate at least one embodiment and are not intended to limit the scope thereof.
Referring to
Note that as utilized herein, the term multi-function device (including the acronym MFD) can refer to an apparatus or system such as a printer, scanner, fax machine, copy machine, etc., and/or a combination thereof. Preferably, MFD 140 is capable of multiple rendering functions such as printing, copying, scanning, faxing, etc. In some embodiments, MFD 140 can be implemented with a single rendering function such as printing. In other embodiments, MFD 140 can be configured to provide multiple rendering functions, such as scanning, faxing, printing and copying.
A non-limiting example of an MFD that can be utilized as MFD 140 is disclosed in U.S. Pat. No. 7,525,676, entitled “System and Method for Controlling Access to Programming Options of a Multifunction Device,” which issued on Apr. 28, 2009 to Robert J. Pesar. U.S. Pat. No. 7,525,676, which is incorporated herein by reference in its entirety, is assigned to the Xerox Corporation of Norwalk, Conn. Another non-limiting example of an MFD that can be utilized as MFD 140 is disclosed in U.S. Pat. No. 7,474,428, entitled “Multifunction Device System Using Tags Containing Output Information,” which issued on Jan. 6, 2009 to Morris-Jones, et al. U.S. Pat. No. 7,474,428, which is incorporated herein by reference in its entirety, is also assigned to the Xerox Corporation of Norwalk, Conn. An additional example of an MFD that can be utilized as MFD 140 is disclosed in U.S. Pat. No. 5,920,405, entitled “Multifunction Device With Printer Facsimile Contention Selection,” which issued on Jul. 6, 1999 to McIntyre, at al. U.S. Pat. No. 5,920,405, which is incorporated herein by reference in its entirety, is also assigned to the Xerox Corporation of Norwalk, Conn.
Network 135 can employ any network topology, transmission medium, or network protocol. Network 135 can include connections, such as wire, wireless communications links, or fiber optic cables. The MFD 140 includes a user interface 145, such as a panel menu. The panel menu can be employed to select features and enter other data in the MFD 140. Such interfaces can include, for example, touch screens having touch activated keys for navigating through an option menu or the like.
A MFD driver program can be installed on the data-processing apparatus 110 and can reside on the host device's hard drive 150. The MFD driver program can be activated through an application interface so that a user can generate a print job with the MFD driver for processing by the MFD 140. The data-processing apparatus 110 also includes a GUI 125 for communicating MFD features for processing, for example, a print job to a user and accepting the user's selection of available MFD features. The user interface 125 displays information and receives data through device display and/or the keyboard/mouse combination. The interface 125, also serves to display results, whereupon the user can supply additional inputs or terminate a given session. The data-processing apparatus 110 can be, for example, any computing device capable of being integrated within a network, such as a PDA, personal computer, cellular telephone, point-of-sale terminal, server, etc.
Note that the user interface as utilized herein generally refers to a type of environment that represents programs, files, options and so forth by means of graphically displayed icons, menus, and dialog boxes on a screen. The input device of the multi-function device 140 includes can be a local user interface, such as a touch-screen display or separate keypad and display or a memory fob or the like as discussed above. Alternatively or additionally, the input device can be a wireless port that receives a wireless signal containing constraint data from a portable device. The wireless signal can be an infrared or electromagnetic signal. A system administrator can input constraint data through the local user interface by manipulating the touch screen, keypad, or communicating via wireless messages through the wireless port. The administrator's portable device that communicates wirelessly can be a personal digital assistant (PDA), or the like, as noted above.
The following description is presented with respect to embodiments of the present invention, which can be embodied in the context of a data-processing apparatus 110 and MFD 140 depicted in
Note that the embodiments discussed herein generally relate to a multi-function device. It can be appreciated, however, that such embodiments can be implemented in the context of other systems and devices. The discussion of multi-function device, as utilized herein, is presented for general illustrative purposes only. The MFD can be, for example, an office machine, which incorporates the functionality of multiple devices in one, so as to provide centralized document management, document distribution and production in a large-office setting and the like. The typical MFD can act as a combination of a printer, scanner, photocopier, fax and e-mail. While a single multi-function device 140, are shown by way of example, it is to be appreciated that any number of rendering devices can be linked to the network, such as two, four, six or more rendering devices. In general, the multi-function device 140 can be employed to perform a rendering output function (e.g., printing, scanning, copying, faxing, etc) within a networked environment.
The printer driver associated with the MFD 140 can communicate through a web browser 210 located on the data-processing apparatus 110 to communicate the back end server 230 via the Internet 220. Alternatively, the printer driver can include the web browser 210 to communicate the back end server 230 via the Internet 220. The back end server 230 further includes a diagnostic server 240, a support server 250 and a data warehouse 290. The data warehouse 290 can be implemented as a computer memory component. Data warehouse 290 is analogous to the database 185 depicted in
Note that the Web browser 210 can be implemented as a software application for retrieving, presenting, and traversing information resources on the World Wide Web. An information resource can be identified by a Uniform Resource Identifier (URI) and may be a web page, image, video, or other piece of content. Hyperlinks present in resources enable users to easily navigate their browsers to related resources. Although browsers such as Web browser 210 are primarily intended to access the World Wide Web, they can also be used to access information provided by Web servers in private networks or files in file systems. Examples of Web browsers include, but are not limited to, for example, Internet Explorer, Mozilla Firefox, Google Chrome, Apple Safari, and Opera for Windows and Apple Safari, Mozilla Firefox and Opera for Macintosh, and so forth.
The user can transmit a request for support to the back end server 230 when a user encounters problem with respect to the MFD 140. Diagnostic data 310 associated with the MFD 140 can be sent to the back end server 230. Diagnostic data 310 can include machine identity, location, fault codes, usage history, and other important data that can be useful to those skilled in the art for diagnosing the MFD 140. The diagnostic data 310 can be transmitted as an electronic document via the network 220 to the remote back end server 230 to provide support for the MFD 140 and to customers.
The diagnostic server 240 further includes a classification module 260 that can be adapted for classifying the device diagnostic data 310 according to a problem type and extracting one or more fault code. Note that as utilized herein, the term “module” may refer to a physical hardware component and/or to a software module. In the computer programming arts, such a software “module” can be implemented as a collection of routines and data structures that performs particular tasks or implements a particular abstract data type. Modules of this type are generally composed of two parts. First, a software module may list the constants, data types, variable, routines, and so forth that can be accessed by other modules or routines. Second, a software module can be configured as an implementation, which can be private (i.e., accessible only to the module), and which contains the source code that actually implements the routines or subroutines upon which the module is based. Such a module can thus include instructions, which are stored in a computer memory and then retrieved and executed by, for example, a data-processing system such as, for example the system 100 shown in
Therefore, when referring to a “module” herein, the inventors are generally referring to such software modules or implementations thereof. The methodology described herein can be implemented as a series of such modules or as a single software module. Such modules can be utilized separately or together to form a program product that can be implemented through signal-bearing media, including transmission media and recordable media. The present invention is capable of being distributed as a program product in a variety of forms, which apply equally regardless of the particular type of signal-bearing media utilized to carry out the distribution.
Examples of signal-bearing media can include, for example, recordable-type media, such as floppy disks, hard disk drives, CD ROMs, CD-Rs, etc., and transmission media, such as digital and/or analog communications links. Examples of transmission media can also include devices such as modems, which permit information to be transmitted over standard telephone lines and/or the more advanced digital communications lines.
The classification module can be adapted to construct a conditional probability look up table 270 for each fault code and to create a score function by summing the conditional probabilities for mapping the occurrence of fault code to a service call category. The conditional probability can change with the number of fault occurrence in a time window before the call. The fault occurrence data in association with a number of time stamps and device identifiers can be stored in a data warehouse 290. A rules engine 280 associated with the support server 250 provides mechanism to tie the information received from a user 340 to the appropriate self-support solution 320. The function of the rules engine 280 is to interface with the support server 250 to deliver the solution 320 to the user 340 via the browser 210. The rules that the rules engine 280 relies on can be stored in the data warehouse 290. These rules can be stored in the data warehouse 290 for easy addition, modification, and maintenance.
Table. 1 illustrates a conditional probability look-up table to calculate the conditional probability for a Nuvera fault code: PEM-10-1400 appearing at least two times in four hours prior to the call. For example, consider there are a total 146 calls of all types containing PEM-10-1400 at least two times. The call possess ˜80% chance of being classified as a fuser subsystem problem by the CSE if the PEM 10-1400 is observed twice in four hours.
The conditional probability can be calculated as shown in equation (1), as follows:
Where “I { }” represents an indicator function and the value is 1 if the statement in the curly brackets is true, otherwise 0. The score function for mapping the customer call to a call type category can be created. The score function for the call type category k, is the summation of all the conditional probability of classifying to call type k, provided the occurrence of fault code j in the customer call. The score function for mapping a customer call T to subsystem k can be expressed by the following equation (2):
S(subsystem k)=Σ(j=1)′M ΞZP(Subsystem k−|Fault Code j=X(T·j) (2)
In equation (2) above, the parameter X (T, j) represents the count of the fault code j with respect to the customer call T. Note that Table. 2 illustrates the score functions calculated for a customer call associated with 11 different fault codes (Nuvera EA field service calls data) and the “subsystem location” can be considered as the call type. However, other possible markers such as, for example, problem code (discrete), call without parts (discrete), broken call (discrete), call duration (continuous) can also be considered. The row under name count represents the count of each fault code and from the third row to the ninth row, the conditional probabilities are presented. The score functions for each subsystem are listed in the last column under name score from third row to the ninth row.
The service call can be mapped to the subsystem with the numerically highest score which can be obtained by the equation (3), as follows:
The classification algorithm correctly maps the call to the finishing subsystem in Table. 2. The fault codes are specific to finishers, and other codes can be neglected or de-prioritized when making recommendations on how to solve the customer's problem. Further, a confusion matrix for an exemplary training set is illustrated in Table. 3. The rows can be observed by a CSE and columns can be predicted by the classification module 260 using the fault code data. The calls on the diagonal of the matrix can be properly classified.
The rules engine 280 associated with the support server 250 analyses the printer diagnostic data 310 in order to determine a cause for the problem. The suggested solution set 320 can be typically determined from the database 290 of solutions based on the printer diagnostic data 310 and the fault code. The suggested solution 320 can be sent to the customer 340 for example, via a welcome center agent or a service technician (PDA) 330 depending on the severity of the problem. The centralized support server 250 implementing the rules engine 280 enables the support center to have the latest diagnostics utilities as well as the latest solutions to problems. The communications link 220 enables a large number of users to communicate quickly and efficiently with the support server 250.
The device diagnostic data with respect to a device can be obtained, as indicated at block 410. The conditional probability look up table 270 can be constructed for each fault code associated with the diagnostic data, as illustrated at block 420. The score function can be created by summing the conditional probabilities, as indicated at block 430. The occurrence of the fault code can be mapped to the service call category with numerically highest score function, as illustrated at block 440. The fault occurrence data in association with a number of time stamps and device identifiers can be stored in the data warehouse 290, as depicted at block 450. The occurrence of fault code can be matched with a solution set by the support server 250, as illustrated at block 460. The solutions with respect to such problems can be automatically dispatched to a customer via a communications link, as indicated at block 470.
While the present invention has been particularly shown and described with reference to a preferred embodiment, it will be understood by those skilled in the art that various changes in form and detail can be made therein without departing from the spirit and scope of the invention. Furthermore, as used in the specification and the appended claims, the term “computer” or “system” or “computer system” or “computing device” includes any data processing system or apparatus including, but not limited to, personal computers, servers, workstations, network computers, main frame computers, routers, switches, a Personal Digital Assistants (PDA), cellular telephones, a Smartphone, and/or any other system capable of processing, transmitting, receiving, capturing and/or storing data. Thus, the data-processing apparatus 110 depicted in
Based on the foregoing, it can be appreciated that in an embodiment, a method is disclosed herein which includes classifying device diagnostic data with respect to a device in accordance with a problem type in order to thereafter extract at least one fault code based on a classification algorithm associated with a diagnostic server, by executing a program instruction in a data-processing system; and matching an occurrence of the fault code(s) with respect to a solution set by a decision support server in order to thereafter automatically dispatch the solution set to a customer via a communications link, by executing a program instruction in a data-processing system.
In another embodiment of such a method, a step can be implemented for constructing a conditional look up table including a conditional probability for the fault code(s), by executing a program instruction in a data-processing system; and creating a score function by summing the conditional probability associated with the fault code(s) in order to thereafter map the occurrence of the fault code(s) to a service call category with a numerically highest score function, by executing a program instruction in a data-processing system.
In yet another embodiment of such a method, an operation can be implemented for storing in a memory, the fault code(s) in association with a plurality of time stamps and device identifiers, by executing a program instruction in a data-processing system. In still another embodiment of such a method, the aforementioned memory can be, for example, a database, a data warehouse, and so forth. In some embodiments of such a method, the aforementioned device may constitute an MFD.
In other embodiments of such a method, an operation can be implemented for transmitting the diagnostic data to the diagnostic server via the communications link, by executing a program instruction in a data-processing system. In yet other embodiments of such a method, the aforementioned communications link can be, for example, the Internet or another appropriate communications/computer network, including wireless communications networks. In still other embodiments of such a method, an operation can be implemented for sharing the solution set with the customer via a welcome center agent, by executing a program instruction in a data-processing system. In another embodiment of such a method, an operation can be implemented for sharing the solution set with the customer via a service technician, by executing a program instruction in a data-processing system.
In can be further appreciated based on the foregoing that another embodiment is directed toward a system that includes at least a processor, a data bus coupled to the processor, and a computer-usable medium embodying computer code, the computer-usable medium being coupled to the data bus. In such a system the program code includes instructions executable by the processor and configured for classifying device diagnostic data with respect to a device in accordance with a problem type in order to thereafter extract the fault code based on a classification algorithm associated with a diagnostic server; and matching an occurrence of the fault code with respect to a solution set by a decision support server in order to thereafter automatically dispatch the solution set to a customer via a communications link.
In another embodiment of such a system, such instructions are further configured for storing in a memory, the fault code(s) in association with one or more time stamps and device identifiers. In another embodiment of such a system, such instructions can be configured for constructing a conditional look up table including a conditional probability for the fault code(s), and for creating a score function by summing the conditional probability associated with the fault code in order to thereafter map the occurrence of the fault code to a service call category with a numerically highest score function.
In still another embodiment of such a system instructions can be further configured for storing in a memory, the fault code in association with a plurality of time stamps and device identifiers. In the disclosed system, the aforementioned memory can be, for example, a database, a data warehouse, etc. Additionally, the aforementioned device can be, for example, an MFD. In other embodiments of such a system, the instructions can be configured for transmitting the diagnostic data to the diagnostic server via the communications link (e.g., Internet, computer network, Intranet, wireless communications network, etc). In other embodiment of such a system, the instructions can be configured for sharing the solution set to the customer via a welcome center agent and/or a service technician.
It will be appreciated that variations of the above-disclosed and other features and functions, or alternatives thereof, can be desirably combined into many other different systems or applications. Also that various presently unforeseen or unanticipated alternatives, modifications, variations or improvements therein can be subsequently made by those skilled in the art which are also intended to be encompassed by the following claims.
Number | Name | Date | Kind |
---|---|---|---|
5920405 | McIntyre et al. | Jul 1999 | A |
5923834 | Thieret et al. | Jul 1999 | A |
6154736 | Chickering et al. | Nov 2000 | A |
6246485 | Brown et al. | Jun 2001 | B1 |
6510431 | Eichstaedt et al. | Jan 2003 | B1 |
6519552 | Sampath et al. | Feb 2003 | B1 |
6718315 | Meek et al. | Apr 2004 | B1 |
6782495 | Bernklau-Halvor | Aug 2004 | B2 |
6879973 | Skaanning et al. | Apr 2005 | B2 |
6892317 | Sampath et al. | May 2005 | B1 |
7158958 | Przytula et al. | Jan 2007 | B2 |
7356430 | Miguelanez et al. | Apr 2008 | B2 |
7406271 | Robinson | Jul 2008 | B2 |
7474428 | Morris-Jones et al. | Jan 2009 | B2 |
7525676 | Pesar | Apr 2009 | B2 |
7536595 | Hiltunen et al. | May 2009 | B1 |
7567946 | Andreoli et al. | Jul 2009 | B2 |
7730363 | Takezawa et al. | Jun 2010 | B2 |
7983490 | Minter | Jul 2011 | B1 |
8037001 | Starr | Oct 2011 | B2 |
8069370 | Li et al. | Nov 2011 | B1 |
8214317 | Aguilar et al. | Jul 2012 | B2 |
20030110412 | Neville | Jun 2003 | A1 |
20030110413 | Bernklau-Halvor | Jun 2003 | A1 |
20050043922 | Weidl et al. | Feb 2005 | A1 |
20050144532 | Dombrowa et al. | Jun 2005 | A1 |
20060206445 | Andreoli et al. | Sep 2006 | A1 |
20060248178 | Thieret | Nov 2006 | A1 |
20070074076 | Imai et al. | Mar 2007 | A1 |
20070220365 | Castellani et al. | Sep 2007 | A1 |
20070268509 | Andreoli et al. | Nov 2007 | A1 |
20070294090 | Thieret et al. | Dec 2007 | A1 |
20080002995 | Kamisuwa et al. | Jan 2008 | A1 |
20080059840 | Takezawa et al. | Mar 2008 | A1 |
20080300879 | Bouchard et al. | Dec 2008 | A1 |
20090070279 | Rajabally | Mar 2009 | A1 |
20090094091 | Thieret et al. | Apr 2009 | A1 |
20090199045 | Kasubuchi et al. | Aug 2009 | A1 |
20090216698 | Bouchard et al. | Aug 2009 | A1 |
20090216700 | Bouchard et al. | Aug 2009 | A1 |
20090271433 | Perronnin et al. | Oct 2009 | A1 |
20090307612 | Singh et al. | Dec 2009 | A1 |
20100011255 | de Kleer et al. | Jan 2010 | A1 |
20100014756 | Kato et al. | Jan 2010 | A1 |
20100057649 | Lee et al. | Mar 2010 | A1 |
20100058112 | Kim et al. | Mar 2010 | A1 |
20100153332 | Rollins et al. | Jun 2010 | A1 |
20100228423 | Howell et al. | Sep 2010 | A1 |
20100318855 | Beg et al. | Dec 2010 | A1 |
20110153540 | Beg et al. | Jun 2011 | A1 |
Number | Date | Country | |
---|---|---|---|
20110185220 A1 | Jul 2011 | US |