Developing an IT Help Desk Troubleshooter Expert System for diagnosing and solving IT Problems

— IT help Desk has been incorporated in many organizations to provide technical support for their employees and/or customers. In this paper, an IT help desk troubleshooter expert system has been developed based on the knowledge that has been captured from the network engineer (i.e. the expert) from Al Khawarizmi International College-UAE. Three main problems have been taken in consideration in building the system: printers’ problems, Hardware/Software problems and Internet connection problems. The expert system has been developed using CLIPS. An interactive user interface has been added to the system to facilitate the interaction between the user and the system using Java. CommonKADS methodology has been used in this work to effectively design and analyze the system. The developed system achieves 81.8% accuracy as comparing to the human expert. The developed expert system can be used by any technician who may not have adequate knowledge about the domain problems.


INTRODUCTION
IT Help Desk has been engaged in many corporations, universities, institutions and many other organizations to provide the technical support to their employees, students.Support may include but it's not limited to: Networking, operating system, printers' configurations, internet connection, computers' security and any other hardware/software problems.In order to provide such support, the IT help desk agent should have adequate knowledge about how to diagnose certain problems and how to resolve them.Now what about if the expert agent will be retired?Or is going to shift to another organization?Where his/her knowledge will go?
In this paper, we developed a knowledge-based expert system called "IT help desk troubleshooter".The developed system has been built based on the knowledge that has been captured from the network engineer at Al Khawarizmi International College.In order to answer the above questions, building such expert system could be utilized by any novice technician to diagnose certain problems and resolve them.The developed system has been implemented using a rule-based expert system building tool called "CLIPS".74 rules have been embodied in this system in order to cover all the captured problems along with their solutions.An interactive, flexible user-interface has been added to the system using Java in order to make it easy for the user to interact with the system.In this paper, the expert system follows CommonKADS methodology as one of the knowledge Engineering methodologies in order to effectively design and analyse the system.[Abraham et al., 1991] developed a help desk expert system (Expertech) at the University of Pittsburgh for a small computer services company.The aim of Expertech (a rule-based system) is to assist the help desk operator as well as to speed up the services to the end users for diagnosing 7 frequently occurred problems in the telecommunication's network.Knowledge acquired through verbalized explanation from the help desk expert, learning from the expert while he/she trying to solve the problem and through reading some documentation.The system has been evaluated through both quantitative and qualitative approaches and was able to provide the solution for 66 out of 147 cases which is (44.8%).[Gonzalez et al., 2001] described a knowledge management system (KMS) for a centric call-center and how it varies from the typical agent centric callcenter in order to improve the work performance.The system works as an intermediate between the agent call-center and various knowledge resources, this will allow the agent call-center to access multiple knowledge resources.The system succeeded to prove that a lower skill job technician can resolve the problem than with the call-center support agent.Another gain from this study is that the system achieved high performance where the agent callcenter can leverage the organization's knowledge as well as to solve the problem faster as than without the system.[Delic & Hoellmer 2000] provided a study of the relationship between knowledge based system (KBS) and help desk.The KBS provides different knowledge types include the problems of software, hardware, and an environment.The KBS has an ability to enhance the problem solving by answering a given number of questions to reach to the solution.Some advantages were emerged while using KBS as a relationship with helpdesk such as: when the analyst uses KBS, the time consumes to solve the problem is less, and the analyst became allowable to solve different kinds of problems.Moreover, the study indicated some disadvantages for the same usage of the relationship such as: maintain a KBS and increase its knowledge source is expensive as well as its initial cost is high.[Chan et al., 2000] presented the system of case based help desk (CBHD) to provide a support to the call center and customer service which represents diagnosing the problem and finding the suitable solution in minimal time by using the case based reasoning (CBR) method.CBHD system provides an advantage of providing an assistant to the call center since it's an automatic decision system, has the facility of diagnosing the problem and find/suggest an appropriate solution that match the problem in shortest time period.By comparing the developed system with the above related systems, our system has diagnosed some problems that have not diagnosed in the related systems.Moreover, our system is followed the CommonKADS methodology that was not explicitly utilized in the previous work.The developed expert system achieved about 81.8% accuracy as comparing with the above systems.An interactive, flexible userinterface has been added to our system using Java in order to make it easier for the user to interact with the system where no user-interface has been provided in the previous work.

Task Definition
Working in an environment that depends on the usage of computers can be considered as a sensitive work place.The reason that if any problem faced by the computers might affect the efficiency, quality, and the time consuming to finish the concern job.Before start thinking to provide a help for others in solving problems of their computers, a decision should be taken to decide which kind of technique needed to facilitate the process of finding a proper solution to specific problem, this is what is known as a Help Desk job.A help desk is a sector of technical support that provides solutions to the computers' problems faced by users in an organization or any environment based on computers, this support requires an experienced technician group and most organizations relay on it to ensure quick and efficient solutions.A technician is a member of the help desk group who faced the problem first and then try to find a suitable solution as a first level, if he/she fails then he/she will start looking for other member of the group who has more experience in the field for solving complicated problem, this can be considered as a second level of solving the problem.To be more specific, as an instance, we can considered that a group of technicians work in one organization as help desk to solve the problems faced by their employees, the problem can be delivered by call or email, this can be considered as a ticket order, where a clarification of the problem declared and specified, this is level 1 support.In case no solution found by level 1, the ticket order will be moved to the second level support for other technician with more experience to solve the problem or find the solution online.This kind of procedures needs more effective and technical way to receive and find the solution.Our expert system simulated these procedures of delivering the problem and getting the solution after analysing famous problems faced by most of the users in the work media (e.g.Al Khawarizmi International College).The expert in this field feed our system with adequate knowledge to solve particular problems which replaces a technician solution effectively.

Algorithm Definition
In this study, an IT troubleshooter rule-based expert system has been developed.The developed system is going to provide the user with recommended solution that corresponds to the problem encountered.Three main problems' categories have been taken in consideration in the development of this system as: 1) Printers' problems, 2) PC hardware/Software problems 3) Internet connection problems; with further details in each of them.PC hardware/Software problems consist of 5 sub-problems as follows: a) Black screen b) Computer booting c) System unit works d) Sudden windows restarting e) System halt.Internet connection problems involved two subproblems: a) cable-connection, b) wirelessconnection.The pseudo-code in (Fig. 1) illustrates the algorithm for the printers' problem which is a part of the developed expert system.

Fig. 1: A pseudo-code description of the printers' problem.
Let's suppose the user is suffering from problem in his/her printer, he/she is going to refer to the expert system in order to get the solution.Once the system is launched, a menu will be displayed to the user containing the three categories/problems and then the user is going to select the suitable category where his /her problem belongs to.Since the problem belongs to the first category (which is Printers' problems), the user will select choice #1 and the first question arises from the system will be "Is the Printer's cable connected?"if the answer is no, the solution will be provided immediately {Connect your printer's cable}.If the answer is yes the system is going to ask another question "Is the Printer's Driver Installed?" if the answer is no, the solution will be provided {Install your printer's driver}.If the answer is yes, the system keeps asking further questions until it find the solution.

Knowledge Acquisition
Knowledge utilized in this system has been acquired through the Network Engineer (i.e. the expert) at Al Khawarizmi International College.About 4 sessions of discussion have been resulted in identifying and illustrating the most commonly occurred problems that he faced during his 10 years of experience in the college.The network engineer illustrates the problems via following two techniques: learning by observing (i.e.acquiring the knowledge while he is illustrating the problems-solutions), learning by doing (i.e.acquiring the knowledge through allowing us on practicing on resolving the problems).(Fig. 2) shows the system knowledge hierarchy that clarifies the complete picture about the acquired knowledge.

Methodology
The system has been implemented using a rule-based expert system building tool called "CLIPS".In this work, the developed system has been built based on the decision-tree below (Figures 3, 4 and 5) which has been created based on the knowledge acquired.Figures (3, 4  and 5) demonstrate the decision tree where all the rules are explicitly shown.Notice that the circles (A, B and C) indicate continuous decisions among the three parts of the decision tree and have been used due to the paper limit's size.

Fig. 5: The system's decision tree (part-3).
In this study, we follow a CommonKADS methodology as one of the (Knowledge Engineering methodologies) that has mainly used in the development of Knowledge-based systems (KBS) and has been used to analyse and design the developed expert system.(Fig. 6) illustrates the CommonKADS model used in this system.Concept includes both knowledge model (describes the knowledge involved) and communication model (involved agents' communication transactions).Context includes organization model (discover common problems within the organization and resolve them), task model (task performance within an organization) and agent model (task operator).[Schreiber et al., 2000]

User Interface
The user interface has been designed and developed using JAVA NetBeans Ver.7.0 where the user is able to select different categories of the problems in an efficient and flexible interaction.The Main Menu of the expert system consists of three main buttons that corresponds to each of the three different problems, once the user select one of them; he/she will be asked a series of questions to diagnose the problem in order to obtain the solution.Moreover, the user interface has been connected to the CLIPS program to display the questions that will lead to the solution of the concern problem; this can be done successively by answering sequence of questions to reach to the solution.

Results and Discussion
The system has been tested using eleven devices; nine of them have successfully resolved the problem within the experiment while the other two have been failed.The developed expert system has achieved 81.8% as accuracy as comparing to the human expert knowledge (Fig. 7).

Fig. 7: Comparison Chart
Ten test cases approved that the system shorten the proposed real-time to solve the problem as a comparison with the time it takes by human expert.Instead of asking for help from a technician and wasting time taken to solve the problem, the end user can discover and solve the problem by him/her as well as the system help the technician to discover the short way to find the solution rather than trying some other useless solutions.The help desk expert system using CLIPS shorten the time and the speed to repair and find the solution.Furthermore, as an optimal system, the system replaces the experiences given by the human expert (network engineer) as it uses its own knowledge-base and conditions to find the solution using CLIPS.

Future Work
The developed system focused on certain number of problems based on the knowledge acquired where these problems have been frequently occurred in almost many organizations.Further contribution could be done where the system could be expanded by adding other problems along with their solutions (such as networking and communication) in order to meet all the problems that this system can't.

Conclusion
The developed expert system has been developed based on the Knowledge acquired from Network Engineer of Al Khawarizmi International College who supported us with the most frequently occurred problems in the college along with their solutions.The network engineer illustrates the problems through following two techniques: learning by observing (i.e.acquiring the knowledge while he is illustrating the problemssolutions), learning by doing (i.e.acquiring the knowledge through allowing us on practicing on resolving the problems).The developed expert system took three major domains of diagnosing and resolving the problems such as: printers' problems, hardware/software problems, and Internet connection problems.The developed expert system has been evaluated through testing it for diagnosing eleven computers' problems; where nine of them have been resolved.The developed system achieves 81.8% accuracy as comparing to the human expert.The expert system has been developed using CLIPS.An interactive user interface has been added to the system to facilitate the interaction between the user and the system using Java.CommonKADS methodology has been used in this work to effectively design and analyze the system.The developed expert system can be used by any technician who may not have adequate knowledge about the domain problems.

Fig. 6 :
Fig. 6: CommonKADS model.[Schreiber et al., 2000] This model consists of three main categories: Artefact, Concept and Context.Artefact includes the design model that describes the system structure.