A method of troubleshooting an application related to industrial devices and a system thereof
An AI-driven system for industrial device applications automatically detects error patterns and provides recovery strategies, addressing inefficiencies in manual troubleshooting methods by enhancing efficiency and reducing downtime.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- ABB (SCHWEIZ) AG
- Filing Date
- 2024-12-23
- Publication Date
- 2026-07-02
AI Technical Summary
Existing methods for troubleshooting industrial device applications require manual intervention and lack efficiency and reliability, leading to increased downtime and productivity loss due to extensive troubleshooting.
A method and system utilizing Artificial Intelligence (AI) models to detect error patterns, determine contexts and domains, and provide recovery strategies based on prestored error patterns, reducing the need for human intervention and improving troubleshooting efficiency.
The AI-based system automatically identifies error patterns and provides recovery strategies, minimizing downtime and enhancing productivity by providing swift and accurate error resolution without human expertise.
Smart Images

Figure IB2024063128_02072026_PF_FP_ABST
Abstract
Description
P240131W001A METHOD OF TROUBLESHOOTING AN APPLICATION RELATED TO INDUSTRIAL DEVICES AND A SYSTEM THEREOFTECHNICAL FIELD
[0001] The present disclosure relates to troubleshooting. More particularly, the present disclosure relates to a method and a system troubleshooting an application related to industrial devices.BACKGROUND
[0002] Generally, during execution of any application on a device within an industrial environment, errors are encountered. These errors can lead to disruptions in operations within the industrial environment. Therefore, troubleshooting the application is essential. Troubleshooting the application refers to a systematic approach to solving an error. The goal of troubleshooting is to determine a reason for the errors and explain how to resolve the problem.
[0003] The information disclosed in this background of the disclosure section is only for enhancement of understanding of the general background of the invention and should not be taken as an acknowledgement or any form of suggestion that this information forms the prior art already known to a person skilled in the art.SUMMARY
[0004] The foregoing summary is illustrative only and is not intended to be in any way limiting. In addition to the illustrative aspects, embodiments, and features described above, further aspects, embodiments, and features will become apparent by reference to the drawings and the following detailed description.
[0005] In an embodiment, a method of troubleshooting an application related to industrial devices is disclosed. The method includes receiving, by a processor, data associated with an error when executing an application on a user device. The method includes determining, by the processor, an error pattern from the received data, using an Artificial Intelligence (Al) model, based on a plurality of prestored error patterns. The method includes determining, by the processor, a contextP240131W001and a domain of the error based on the error pattern, using the Al model. The method includes identifying, by the processor, at least one prestored error from the plurality of prestored error patterns associated with the determined context and domain of the error. The at least one prestored error pattern has a corresponding recovery strategy. The method includes comparing, by the processor, the error pattern with the at least one prestored error pattern to obtain a corresponding correlation value, using the Al model. The method includes identifying, by the processor, a prestored error pattern from the at least one error pattern associated with a maximum correlation value. The method includes providing, by the processor, a recovery strategy corresponding to the identified prestored error pattern to the user device, for troubleshooting the application.
[0006] In an embodiment, a system for troubleshooting an application related to industrial devices is disclosed. The system includes a memory that stores processor-executable instructions. The system includes a processor configured to execute the processor-executable instructions stored in the memory and thereby configured to receive data associated with an error when executing an application on a user device. The processor is configured to determine an error pattern from the received data, using an Artificial Intelligence (Al) model, based on a plurality of prestored error patterns. The processor is configured to determine a context and a domain of the error based on the error pattern, using the Al model. The processor is configured to identify at least one prestored error from the plurality of prestored error patterns associated with the determined context and domain of the error, wherein the at least one prestored error pattern has a corresponding recovery strategy. The processor is configured to compare the error pattern with the at least one prestored error pattern to obtain a corresponding correlation value, using the Al model. The processor is configured to identify a prestored error pattern from the at least one error pattern associated with a maximum correlation value. The processor is configured to provide a recovery strategy corresponding to the identified prestored error pattern to the user device, for troubleshooting the application.BRIEF DESCRIPTION OF THE DRAWINGS
[0007] The accompanying drawings, which are incorporated in and constitute a part of this disclosure, illustrate exemplary embodiments and, together with the description, serve to explain the disclosed principles. The same numbers are used throughout the figures to reference featuresP240131W001and components. Some embodiments of at least one of device and methods in accordance with embodiments of the present subject matter are now described, by way of example only, and with reference to the accompanying figures, in which:
[0008] Fig. 1 illustrates an exemplary environment in which some embodiments of the present disclosure may be practiced;
[0009] Fig. 2 illustrates a system for troubleshooting an application related to industrial devices, in accordance with an embodiment of the present disclosure;
[0010] Fig. 3A illustrates an exemplary block diagram depicting troubleshooting an application related to industrial devices, in accordance with an embodiment of the present disclosure;
[0011] Fig. 3B illustrates an exemplary block diagram illustrating training of an Artificial Intelligence (Al) model, in accordance with an embodiment of the present disclosure;
[0012] Fig. 4 illustrates a flow chart of a method of troubleshooting an application related to industrial devices, in accordance with an embodiment of the present disclosure; and
[0013] Fig. 5 illustrates a block diagram of an exemplary computer system, for implementing embodiments consistent with the present disclosure.
[0014] The figures depict embodiments of the disclosure for purposes of illustration only. One skilled in the art will readily recognize from the following description that alternative embodiments of the structures and methods illustrated herein may be employed without departing from the principles of the disclosure described herein.DETAILED DESCRIPTION
[0015] In the present document, the word "exemplary" is used herein to mean "serving as an example, instance, or illustration." Any embodiment or implementation of the present subjectP240131W001mater described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other embodiments.
[0016] While the disclosure is susceptible to various modifications and alternative forms, specific embodiments thereof have been shown by way of example in the drawings and will be described in detail below. It should be understood, however, that it is not intended to limit the disclosure to the particular forms disclosed, but on the contrary, the disclosure is to cover all modifications, equivalents, and alternative falling within the spirit and the scope of the disclosure.
[0017] The terms “comprises”, “comprising”, or any other variations thereof, are intended to cover a non-exclusive inclusion, such that a setup, device, or method that comprises a list of components or steps does not include only those components or steps but may include other components or steps not expressly listed or inherent to such setup or device or method. In other words, one or more elements in a device or system or apparatus proceeded by “comprises... a” does not, without more constraints, preclude the existence of other elements or additional elements in the device, system, or apparatus.
[0018] Disclosed herein is a method and a system for troubleshooting an application related to industrial devices. Existing methods of troubleshooting require manual intervention or in some cases, the application is closed even when the error detected is a previously resolved error. The existing methods lack the efficiency and reliability required for swift application recovery, leading to increased downtime, productivity loss, and a need for extensive troubleshooting.
[0019] Therefore, to solve the above problem, the present disclosure discloses a method and a system for troubleshooting the application related to industrial devices. The present disclosure facilitates detection of an error, determination of an error pattern based on the error and providing a recovery strategy based on the error patern. Particularly, the recovery strategies are determined by Artificial Intelligence (Al) models that are trained to intelligently determine the error paterns and provide a recovery strategy.P240131W001
[0020] In the following detailed description of the embodiments of the disclosure, reference is made to the accompanying drawings that form a part hereof, and in which are shown by way of illustration specific embodiments in which the disclosure may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the disclosure, and it is to be understood that other embodiments may be utilized and that changes may be made without departing from the scope of the present disclosure. The following description is, therefore, not to be taken in a limiting sense.
[0021] Various embodiments of the present disclosure are hereinafter explained with reference to Figs. 1-5.
[0022] Fig. 1 illustrates an exemplary environment in which some embodiments of the present disclosure may be practiced. As shown, the environment 100 includes a system 102 connected through a communication network 105 to a user device 104. The system 102 may include an Input / Output (I / O) interface 108, a memory 110 and a processor 112, as shown in Fig. 1. In an embodiment, the embodiments of the system 102 may be associated with a troubleshooting application which may be implemented on the user device 104.
[0023] The user device 104 may be any device associated with industrial devices such as, but not limited to, a Distributed Control System (DCS), edge devices, Supervisory Control And Data Acquisition (SCADA), Programmable Logic Controllers (PLC), manufacturing operation management, shopfloor applications such as Manufacturing Execution System (MES), Laboratory Information Management System (LIMS), Internet of Things (loT) gateway or any spatial computing device capable of executing the application. The user device 104 may work on multiple platforms and / or Operating Systems (OS) to perform one or more operations in the industrial environment. For example, the industrial environment may be a manufacturing plant, and the one or more operations may be manufacturing operations. In this example, the application is executed on the user device 104 to facilitate manufacturing operations. However, one or more errors may occur during execution of the application which leads to disruption in the manufacturing operation. The one or more errors may include, but are not limited to, configuration error, runtime error and application error. The one or more errors results in increased downtime, productivity loss, and aP240131W001need for extensive troubleshooting. In an embodiment, the system 102 is deployed in the industrial environment to provide recovery strategy to the user device 104 for troubleshooting the application i.e., error resolution.
[0024] In an embodiment, the user device 104 may establish connection with the system 102 via a communication network 106. It is understood that the user device 104 may be in operative communication with the communication network 106, such as the Internet, enabled by a network provider, also known as an Internet Service Provider (ISP). The user device 104 may be connected to the communication network 106 using a wireless network. Some non-limiting examples of wireless networks may include the Wireless LAN (WLAN), cellular networks, Bluetooth or ZigBee networks, and the like.
[0025] Various embodiments of the present disclosure disclose a method performed by the system 102 for troubleshooting the application executed on the user device 104. The system 102 determines a type of error that occurred and provides a recovery strategy for the error, to the user device 104. The operations performed by the system 102 are explained in detail with reference to Fig.2.
[0026] Fig. 2 illustrates a system 102 for troubleshooting an application related to industrial devices, in accordance with an embodiment of the present disclosure. As already explained, the system 102 may establish a connection with the user device 104 for transmitting the recovery strategy.
[0027] The term “recovery strategy” used herein refers to steps or resolution provided by the system 102 to the user device 104 to resolve the errors encountered while executing the application. In an embodiment, the recovery strategy may be implemented automatically to resolve the errors. In another embodiment, a user associated with the user device 104 may use the steps in the recovery strategy to resolve the error, and the like.
[0028] In an embodiment, the system 102 may be deployed within the industrial environment. In another embodiment, the system 102 may be deployed at a different location and the user deviceP240131W001104 may access the system 102, when the error is detected during execution of the application on the user device 104. In yet another embodiment, the system 102 may be deployed within the user device 104, the user device 104 may be operatively coupled to the system 102, and the like. In an embodiment, the system 102 may receive the error as an input, when the application is executed on the user device 104. The one or more errors may include, but are not limited to, configuration error, runtime error and application error. In an embodiment, the system 102 may be connected to the user device 104 using a wired network, a wireless network, or a combination of wired and wireless networks. Some non-limiting examples of the wired networks may include the Ethernet, the Local Area Network (LAN), a fiber-optic network, and the like. Some non-limiting examples of the wireless networks may include the Wireless LAN (WLAN), cellular networks, Bluetooth or ZigBee networks, and the like. An example of the communication network is the Internet.
[0029] In an embodiment, the system 102 comprises the processor 112, the memory 110, the input / output interface 108 and a communication interface 212. It shall be noted that, in some embodiments, the system 102 may include more or fewer components than those depicted herein. The various components of the system 102 may be implemented using hardware, software, firmware, or any combinations thereof. Lurther, the various components of the system 102 may be operably coupled with each other. More specifically, various components of the system 102 may be capable of communicating with each other using communication channel media (such as buses, interconnects, etc.).
[0030] In one embodiment, the processor 112 may be embodied as a multi-core processor, a single core processor, or a combination of one or more multi-core processors and one or more single core processors. Lor example, the processor 112 may be embodied as one or more of various processing devices, such as a coprocessor, a microprocessor, a controller, a digital signal processor (DSP), a processing circuitry with or without an accompanying DSP, or various other processing devices including, a microcontroller unit (MCU), a hardware accelerator, a special-purpose computer chip, or the like. In an embodiment, the processor 112 may be configured to detect the error when executing the application on the user device 104.P240131W001
[0031] In one embodiment, the memory 110 is capable of storing machine executable instructions, referred to herein as instructions 202. In an embodiment, the processor 112 is embodied as an executor of software instructions. As such, the processor 112 is capable of executing the instructions 202 stored in the memory 110 to perform one or more operations described herein.
[0032] The memory 110 can be any type of storage accessible to the processor 112 to perform respective functionalities. For example, the memory 110 may include one or more volatile or nonvolatile memories, or a combination thereof. For example, the memory 110 may be embodied as semiconductor memories, such as flash memory, mask ROM, PROM (programmable ROM), EPROM (erasable PROM), RAM (random access memory), etc. and the like. Further, the memory 110 is also capable of storing an Al model 204, prestored error patterns 206, recovery strategy 208, and the like.
[0033] The term “Al model(s)” used herein refers to a model that has been trained on a set of data to recognize certain patterns and / or make certain decisions without further human intervention. The Al models apply different techniques to relevant data inputs to achieve tasks and / or output they have been trained for. The “Al model(s)” may be a continuous learning model in some embodiments. In an embodiment, the Al model is trained based on domain knowledge. Embodiments of the present disclosure are explained with regards to a trained Large Language Model (LLM) but is not limited thereto. For example, the Al models such as reinforcement learning, generative Al, Large Language Models (LLMs), individually or in combination may be used.
[0034] The processor 112 receives data associated with an error when executing the application on the user device 104. The processor 112 in conjunction with the Al model 204, determines an error pattern from the received data. The Al model 204 may access prestored error patterns 206 to determine the error pattern. For example, the data associated with the error may include data logs received while executing the application. The error logs may comprise a plurality of flags and a corresponding timestamp. The Al model 204 is trained to identify different patterns in the flags and the corresponding timestamp based on the prestored error patterns 206 i.e., the Al model 204 identifies similar flags at the corresponding timestamp based on the prestored error patterns. TheP240131W001processor 112 in conjunction with the Al model 204 determines a context and a domain of the error based on the error pattern. For example, consider an ABC application being executed on the user device 104 and an error is detected due to unavailability of a port. The error pattern identified by the Al model 204 is similar to the prestored error pattern associated with unavailability of a resource. The Al model 204 determines that the context of the error is unavailability of the resource, and the domain is the ABC application.
[0035] The processor 112 in conjunction with the Al model 204 identifies at least one prestored error pattern from the plurality of prestored error patterns 206 associated with the determined context and domain. For example, consider there are 100 error patterns in the prestored error patterns 206, out of which ten error patterns are identified to be associated with the ABC application and the error is due to unavailability of the resource. The Al model 204 identifies the ten prestored error patterns.
[0036] The processor 112 in conjunction with the Al model 204 compares the determined error pattern with the at least one prestored error pattern 206 to obtain a corresponding correlation value. The correlation value is defined as a degree of similarity between the error pattern and the prestored error pattern 206. In an embodiment, the greater the correlation value, the more similar the error patterns. The Al model 204 only compares the determined error pattern with the at least one prestored error pattern associated with the context and domain. Therefore, the Al model 204 reduces the time consumed in comparing the determined error pattern with all the prestored error patterns 206. For example, consider an error occurred while executing an application related to the DCS. The error is due to unavailability of a pre-requisite, the Al model 204 determines that the context of the error is “missing pre-requisite” and the domain is the domain is DCS application. In this example, the Al model 204 may identify 10 error patterns based on the context and the domain of the determined error pattern. The Al model 204 compares each of the 10 error patterns with the determined error pattern instead of 100 error patterns. Each of the prestored error patterns 206 has a corresponding recovery strategy 208. Then, the processor 112 in conjugation with the Al model 204 identifies a prestored error pattern from the at least one error pattern with a maximum correlation value.P240131W001
[0037] The processor 112, in conjunction with the Al model 204 provides a recovery strategy corresponding to the identified error pattern. In an embodiment, each of the at least one prestored error pattern 206 has a corresponding recovery strategy 208. The recovery strategy 208 is based on, but not limited to, historical data, historical errors, Research and Development (R& D) projects and product documentation.
[0038] In an embodiment, the Al model 204 uses reinforcement learning to improve the efficiency of providing the recovery strategy 208. The Al model 204 receives feedback from the user device 104 from the I / O communication interface 108, based on the recovery strategy 208 provided and the effectiveness of the recovery strategy 208. The Al model 204 may determine a different recovery strategy based on the feedback.
[0039] In an example, consider an Industry 4.0 application, the industry 4.0 application is deployed to manage and optimize all aspects of manufacturing processes and supply chain. The industry 4.0 application may be hosted on cloud or on premise (edge application). The industry 4.0 application is integrated to one of an industrial Level 2 application such as, an 800xA Discrete Control System (DCS). In this example, the integration between the industry 4.0 application and the DCS application 800xA requires configuration on both sides of the application and multiple services running on both the environment (i.e., the industry 4.0 application and the DCS application 800xA) to work. Consider, the user receives an error “DCS data not available in the Edge Application.” In this case, the error may be due to, but not limited to, some services on the edge application, some services of the DCS Application, network error, and the like. The Al model 204 receives data associated with the error i.e., application logs from the edge device (i.e., the user device 104). The Al model 204 in conjunction with the processor 112 scans the latest application logs to read the error from a central Log Database (DB). The Al model 204 uses a specific search pattern for specific flags and / or combination of flags from a timestamp. In this example, consider the specific flags, for example, status set to: “false.” The Al model 204 identifies the flag and the attributes associated with the flag (for example, “800xA Alarm Publisher, online: false”) to determine the error pattern based on the occurrence of “false”. The Al model 204 determines the context and the domain of the error. In this example, the context of the error may be due disconnection of the network, and the domain of the error is industry 4.0 application integrated to 800xADCS. The AlP240131W001model 204 determines at least one prestored error pattern from the plurality of prestored error patterns 206. In this example, consider the plurality of prestored error patterns 206 comprises 100 prestored error patterns, and 5 of the plurality of prestored error patterns 206 is associated with a network error while executing Industry 4.0 application. The Al model 204 identifies the 5 prestored error patterns. The Al model 204 compares the determined error pattern for the error with the 5 prestored error patterns to determine the correlation value. In this example, if the 3rdprestored error pattern is associated with the error due to disconnection of network while executing the industrial 4.0 application, the 3rdprestored error pattern is identified to be with maximum correlation value. For instance, the recovery strategy associated with the 3rdprestored error pattern may be “the issue is due to network disconnection, please check the network setting on the 800xA node”. The processor 112 in conjunction with the Al model 204 provides the recovery strategy to the user device 104.
[0040] In another example, consider a configuration error has occurred while setting up the 800xA environment for a DCS. In this example, consider the error is due to unavailability of some prerequisites when deploying the 800xA environment, i.e., the error is a configuration error. The Al model 204 determines the error pattern to identify the unavailable pre-requisites. In this case, consider a port needed to deploy 800xA environment is being used by another application. The Al model 204 identifies that the error is due to unavailability of the port i.e., the context and domain of the error. The Al model 204 determines at least one prestored error pattern from the plurality of error patterns 206, based on the domain and the context. In this example, consider 7 prestored error patterns are associated with unavailability of pre-requisites while executing the application for 800xA environment set up. The Al model 204 correlates the determined error pattern of the error with the 7 identified prestored error patterns. The Al model 204 on comparing determines the correlation between the error pattern and each of the 7 prestored error patterns. For instance, the correlation value of each of the prestored error patterns with the error pattern may be: 0.3, 0.56, 0.7, 0.25, 0.98, 0.85 and 0.17. Then, based on the correlation values, the Al model 204 determines that the 5thprestored error pattern from the 7 prestored error pattern has the maximum correlation value. Therefore, the recovery strategy associated with the 5thprestored error pattern may be used to resolve the current error. In this example, the 5thprestored error pattern may be associated with unavailability of a port while deploying the 800xA environment (Refer Fig. 3A). The recoveryP240131W001strategy may be “Unable to deploy as the port 6 is in use, deploy using port 5”. The processor 112 in conjunction with the Al model 204 may automatically deploy the recovery strategy, send the steps to deploy the recovery strategy to a user associated with the user device 104, request permission from the user to deploy the recovery strategy, and the like. In another example, the prerequisite may be unavailability of python script. The processor 112 in conjunction with the Al model 204 may retrieve the recovery strategy comprising the python script and deploy it in the user device 104. In yet another example, consider that the error is due to pre-requisites not enabled before deployment. In this example, consider that the pre-requisite is user rights assignment “Impersonate a client after authentication” to enable the log over feature. In this example, the prerequisite has to be enabled manually. The processor 112 in conjunction with the Al model 204 sends a recovery strategy stating ““the user is unable to use the log over feature of 800xA plant explorer as user rights assignment “Impersonate a client after authentication” is not enabled”. The user can manually enable user rights assignment to use the log over feature of the 800xA plant explorer.
[0041] In an embodiment, the I / O interface 108 may include mechanisms configured to receive inputs from and provide outputs to an operator of the user device 104. To enable reception of inputs and provide outputs from the system 102, the I / O interface 108 may include at least one input interface and / or at least one output interface. Some examples of the input interface may include, but are not limited to, a keyboard, a mouse, a joystick, a keypad, a touch screen, soft keys, a microphone, and the like. Examples of the output interface may include, but are not limited to, a display such as a light emitting diode display, a thin-film transistor (TFT) display, a liquid crystal display, an active-matrix organic light-emitting diode (AMOLED) display, a microphone, a speaker, a ringer, and the like.
[0042] In an embodiment, the communication interface 212 may include mechanisms configured to communicate with other entities in the environment 100, for example, the user device 104. In an embodiment, the system 102 may initiate establishing a connection with the user device 104 via the communication interface 212. The processor 112 is configured to receive data associated with the error when executing the application from the user device 104. The processor 112 providesP240131W001the recovery strategy to overcome the error to the user device 104 via the communication interface 212.
[0043] In an embodiment, the plurality of prestored error patterns 206 and their corresponding recovery strategy may be stored in a database 210. The system 102 is depicted to be in operative communication with the database 210. In one embodiment, the database 210 is configured to store prestored error patterns 206 and their corresponding recovery strategy 208 over a period of time.
[0044] The database 210 may include multiple storage units such as hard disks and / or solid-state disks in a redundant array of inexpensive disks (RAID) configuration. In some embodiments, the database 210 may include a storage area network (SAN) and / or a network attached storage (NAS) system. In one embodiment, the database 210 may correspond to a distributed storage system, wherein individual databases are configured to store custom information, such as one or more gap requirements, temporary UE capability configurations and the like.
[0045] In some embodiments, the database 210 is integrated within the system 102. For example, the system 102 may include one or more hard disk drives like database 210. In other embodiments, the database 210 is external to the system 102 and may be accessed by the system 102 using a storage interface (not shown in Fig. 2). The storage interface is any component capable of providing the processor 112 with access to the database 210. The storage interface may include, for example, an Advanced Technology Attachment (ATA) adapter, a Serial ATA (SATA) adapter, a Small Computer System Interface (SCSI) adapter, a RAID controller, a SAN adapter, a network adapter, and / or any component providing the processor 112 with access to the database 210.
[0046] Fig. 3B illustrates an exemplary block diagram 300 illustrating training of the Al model 204, in accordance with an embodiment of the present disclosure.
[0047] Fig. 3B discloses the training of the Al model 204 to receive data associated with the error and provide a recovery strategy to resolve the error. The Al model 204 is trained using large data comprising, but not limited to, service logs 302, historical data 304 and domain knowledge 306. In an embodiment, the large data may comprise third-party data, customer specific data and theP240131W001like. The service logs 302 comprise data accumulated during troubleshooting i.e., previously monitored error patterns and their corresponding recovery strategy. The historical data 304 comprises previously occurred errors, reason for the errors, and the like. The domain knowledge 306 comprises data related to specific applications i.e., data related to errors occurred while executing a particular application relating to a specific industrial device. Training the Al model 204 with service logs 302 ensures that the Al model 204 can recognize error patterns from received data associated with the error. The Al model 204 is trained with the historical data 304 to recognize the type of errors and the context of the errors. The Al model 204 is trained with the domain knowledge 306 to identify the domain of the error. In another example, consider the error data comprises error message “400 - Bad Request, Deployment Failed”. The Al model 204 fetches the service logs 302 of the respective application and determines the error pattern associated with the detected error. In this example, consider the error is due to unavailability of a port. The Al model 204 identifies that the application is unable to be deployed as the port is in use and therefore, a different port should be suggested. The Al model 204 in conjunction with the processor 112 determines the ports that may be used to execute the application and provides it to the user device 104 for resolving the error.
[0048] Fig. 4 illustrates a flow chart of method 400 of troubleshooting the application, in accordance with an embodiment of the present disclosure.
[0049] At step 402, the method 400 includes receiving data associated with the error when executing the application on the user device 104. The processor 112 may receive the data associated with the error from the user device 104 deployed in the industrial environment to perform one or more operations. For example, the industrial environment may be a manufacturing plant, and the one or more operations may be manufacturing operations. In this example, the application is executed on the user device 104 to perform manufacturing operations. In an embodiment, processor 112 may receive the data associated with the error from, but not limited to, a processor within the system 102, from a server, and the like.
[0050] At step 404, the method 400 includes determining the error pattern from the received data. The processor 112 in conjunction with the Al model 204 may perform this method. For example,P240131W001the data associated with the error may include data logs received while executing the application. Consider, the error logs may comprise a plurality of flags and a corresponding timestamp. The Al model 204 may identify the patterns in the flags and the corresponding timestamp based on the prestored error patterns 206 i.e., the Al model 204 identifies similar flags at the corresponding timestamp based on the prestored error patterns.
[0051] At step 406, the method 400 includes determining the context and the domain of the error based on the error pattern. The processor 112 in conjunction with the Al model 204 determines the context and the domain of the error. The Al model 204 is trained using service logs 302, historical data 304 and domain knowledge 306. The Al model 204 based on prestored error patterns 206, determines the context and the domain of the error.
[0052] At step 408, the method 400 includes identifying at least one prestored error from the plurality of prestored error patterns 206 associated with the determined context and domain of the error. The processor 112 in conjunction with the Al model 204 performs this step. For example, consider there are 100 prestored error patterns in the plurality of prestored error patterns 206. There may be 10 prestored error patterns related to the determined domain and context. The Al model 204 identifies these 10 prestored error patterns from the 100 error patterns from the plurality of prestored error patterns 206.
[0053] At step 410, the method 400 includes comparing the error pattern with the at least one prestored error pattern to obtain a corresponding correlation value. The processor 112 in conjunction with the Al model 204 compares the determined error pattern to the at least one prestored error pattern to obtain a corresponding correlation value. The Al model 204 compares the error pattern only with the prestored error pattern related to the determined context and domain, thereby decreasing the computation time required to compare the error pattern with each of the plurality of error patterns 206. The correlation as used herein may be a function that defines a relation in patterns of the plurality of prestored error patterns 206 and the error pattern, and the like. For example, the correlation value is the degree of similarity between the error pattern and the prestored error pattern 206. In an embodiment, consider there is no relationship between theP240131W001plurality of prestored error patterns 206 i.e., there is no similarity between the two, in such a case the function that the error pattern is independent of the prestored error patten is the correlation.
[0054] At step 412, the method 400 includes identifying a prestored error pattern from the at least one error pattern associated with a maximum correlation value. The processor 112 in conjunction with the Al model 204 determines the correlation value by comparing the error pattern with the at least one prestored error pattern 206. For example, consider the error patterns are ABC... DE... FG, LMN... OP.. QR. The Al model 204 has identified ABC... DE... QG from the prestored error pattern 206. The correlation value of ABC... DE... FG may be 9.8 and that of LMN... OP.. QR, may be 6.9. Therefore, error is considered to be closer to the error ABC... DE... FG.
[0055] At step 414, the method 400 includes providing a recovery strategy 208 corresponding to the identified prestored error pattern to the user device 104, for troubleshooting the application. For example, consider the Al model 204 identifies the prestored error pattern ABC... DE... QG from the plurality of prestored error patterns 204. The Al model 204 determines a corresponding recovery strategy for the identified ABC... DE... QG error pattern from the recovery strategy 208 stored in the memory 110. The recovery strategy may be steps for the user to perform to resolve the error, a package for the user device 104 to execute to resolve the error, and the like. In an embodiment, the processor 112 transmits a permission request to the user device 104 for applying the recovery strategy. The processor 112 may execute the recovery strategy for troubleshooting the application on receiving the permission from the user device 104. In another embodiment, the processor 112 may automatically execute the recovery strategy on the user device 104 without seeking permission.
[0056] In an embodiment, the system 102 integrates reinforcement learning based on user feedback. The system 102 receives the feedback with respect to the recovery strategy, from the user device 104. The user feedback may be related to the accuracy of the recovery strategy, the ability of the recovery strategy to resolve the error, and the like. The processor 112, in conjunction with the Al model 204, may update the recovery strategy based on the feedback. In an embodiment, the recover strategy may be given a ranking based on the user feedback.P240131W001
[0057] The disclosed method 400 with reference to Fig. 4, may be implemented using software including computer-executable instructions stored on one or more computer-readable media (e.g., non-transitory computer-readable media, such as one or more optical media discs, volatile memory components (e.g., DRAM or SRAM), or non-volatile memory or storage components (e.g., hard drives or solid-state non-volatile memory components, such as Flash memory components) and executed on a computer (e.g., any suitable computer, such as a laptop computer, net book, Web book, tablet computing device, smart phone, or other mobile computing device). Such software may be executed, for example, on a single local computer.
[0058] The sequence of operations of the method 400 need not necessarily be executed in the same order as they are presented. Further, one or more operations may be grouped together and performed in form of a single step, or one operation may have several sub-steps that may be performed in parallel or in sequential manner.
[0059] Fig.5 illustrates a block diagram of an exemplary computer system 500, for implementing embodiments consistent with the present disclosure. The computer system 500 may be, without limitation to, the system 102 and the user device 104. The computer system 500 may include a central processing unit (“CPU” or “processor”) 501. The processor 501 may include at least one data processor for executing processes. The processor 501 may include specialized processing units such as integrated system (bus) controllers, memory management control units, floating point units, graphics processing units, digital signal processing units, etc.
[0060] The processor 501 may be disposed in communication with one or more input / output (I / O) devices 508 and 509 via I / O interface 505. The I / O interface 505 may employ communication protocols / methods such as, without limitation, audio, analog, digital, monaural, RCA, stereo, IEEE-1394, serial bus, universal serial bus (USB), infrared, PS / 2, BNC, coaxial, component, composite, digital visual interface (DVI), high-definition multimedia interface (HDMI), RF antennas, S-Video, VGA, IEEE 902.n / b / g / n / x, Bluetooth, cellular (e.g., code-division multiple access (CDMA), high-speed packet access (HSPA+), global system for mobile communications (GSM), long-term evolution (LTE), WiMAX, or the like), etc.P240131W001
[0061] Using the I / O interface 507, the computer system 500 may communicate with one or more I / O devices 508 and 509. For example, the input devices 508 may be an antenna, keyboard, mouse, joystick, (infrared) remote control, camera, card reader, fax machine, dongle, biometric reader, microphone, touch screen, touchpad, trackball, stylus, scanner, storage device, transceiver, video device / source, etc. The output devices 509 may be a printer, fax machine, video display (e.g., cathode ray tube (CRT), liquid crystal display (LCD), light-emitting diode (LED), plasma, Plasma display panel (PDP), Organic light-emitting diode display (OLED) or the like), audio speaker, etc. In an embodiment, the I / O interface 507 may be connected to the user device 104 to receive data associated with the error and provide recovery strategy to the user device 104.
[0062] In some embodiments, the processor 501 may be disposed in communication with external elements such as external computer systems, servers, network elements. The network interface 510 may employ connection protocols including, without limitation, direct connect, Ethernet (e.g., twisted pair 10 / 100 / 1000 Base T), transmission control protocol / internet protocol (TCP / IP), token ring, IEEE 802.11a / b / g / n / x, etc.
[0063] In some embodiments, the processor 501 may be disposed in communication with a memory 503 (e.g., RAM, ROM, etc.) via a storage interface 502. The storage interface 502 may connect to memory 503 including, without limitation, memory drives, removable disc drives, etc., employing connection protocols such as, serial advanced technology attachment (SATA), Integrated Drive Electronics (IDE), IEEE-1394, Universal Serial Bus (USB), fibre channel, Small Computer Systems Interface (SCSI), etc. The memory drives may further include a drum, magnetic disc drive, magneto-optical drive, optical drive, Redundant Array of Independent Discs (RAID), solid-state memory devices, solid-state drives, etc.
[0064] The memory 503 may store a collection of program or database components, including, without limitation, user interface 504, an operating system 505, a web browser 506 etc. In some embodiments, computer system 500 may store user / application data, such as, the data, variables, records, etc., as described in this disclosure. Such databases may be implemented as fault-tolerant, relational, scalable, secure databases such as Oracle ® or Sybase®.P240131W001
[0065] The operating system 505 may facilitate resource management and operation of the computer system 500. Examples of operating systems include, without limitation, APPLE MACINTOSH® OS X, UNIX®, UNIX-like system distributions (E G, BERKELEY SOFTWARE DISTRIBUTION™ (BSD), FREEBSD™, NETBSD™, OPENBSD™, etc), LINUX DISTRIBUTIONS™ (E G, RED HAT™, UBUNTU™, KUBUNTU™, etc ), IBM™ OS / 2, MICROSOFT™ WINDOWS™ (XP™, VISTA™ / 7 / 8, 10 etc ), APPLE® IOS™, GOOGLE® ANDROID™, BLACKBERRY® OS, or the like.
[0066] In some embodiments, the computer system 500 may implement the web browser 506 stored program components. The web browser 506 may be a hypertext viewing application, such as MICROSOFT® INTERNET EXPLORER®, GOOGLE™ CHROME™, MOZILLA® FIREFOX®, APPLE® SAFARI®, etc. Secure web browsing may be provided using Secure Hypertext Transport Protocol (HTTPS), Secure Sockets Layer (SSL), Transport Layer Security (TLS), etc. Web browsers 506 may utilize facilities such as AJAX, DHTML, ADOBE® FLASH®, JAVASCRIPT®, JAVA®, Application Programming Interfaces (APIs), etc. In some embodiments, the computer system 500 may implement a mail server stored program component. The mail server may be an Internet mail server such as Microsoft Exchange, or the like. The mail server may utilize facilities such as Active Server Pages (ASP), ACTIVEX®, ANSI® C++ / C#, MICROSOFT®,. NET, CGI SCRIPTS, JAVA®, JAVASCRIPT®, PERL®, PHP, PYTHON®, WEBOBJECTS®, etc. The mail server may utilize communication protocols such as Internet Message Access Protocol (IMAP), Messaging Application Programming Interface (MAPI), MICROSOFT® exchange, Post Office Protocol (POP), Simple Mail Transfer Protocol (SMTP), or the like. In some embodiments, the computer system 500 may implement a mail client stored program component. The mail client may be a mail viewing application, such as APPLE® MAIL, MICROSOFT® ENTOURAGE®, MICROSOFT® OUTLOOK®, MOZILLA® THUNDERBIRD®, etc.
[0067] The present disclosure provides a method and system for troubleshooting an application related to industrial devices. The present disclosure identifies error while executing the application and automatically provides a recovery strategy corresponding to the error. The present disclosure provides a method and system that can provide the recovery strategies automatically without any human intervention. Therefore, reducing human errors and improving runtime as the errors areP240131W001detected automatically and solutions are provided immediately. The system is robust and reduces time in determining recovery strategies. Thereby making the system efficient and less timeconsuming. Further, some errors are complex and determining the reason for the error and finding a corresponding recovery strategy may be a complex process and an expert intervention may be necessary. The present disclosure can resolve complex errors without any expert intervention.
[0068] The described operations may be implemented as a method, system or article of manufacture using standard programming and / or engineering techniques to produce software, firmware, hardware, or any combination thereof. The described operations may be implemented as code maintained in a “non-transitory computer readable medium,” where a processor may read and execute the code from the computer readable medium. The processor is at least one of a microprocessor and a processor capable of processing and executing the queries. A non-transitory computer readable medium may include media such as magnetic storage medium (e.g., hard disk drives, floppy disks, tape, etc.), optical storage (CD-ROMs, DVDs, optical disks, etc.), volatile and non-volatile memory devices (e g., EEPROMs, ROMs, PROMs, RAMs, DRAMs, SRAMs, Flash Memory, firmware, programmable logic, etc.), etc. Further, non-transitory computer-readable media may include all computer-readable media except for a transitory. The code implementing the described operations may further be implemented in hardware logic (e.g., an integrated circuit chip, Programmable Gate Array (PGA), Application Specific Integrated Circuit (ASIC), etc.).
[0069] The illustrated steps are set out to explain the exemplary embodiments shown, and it should be anticipated that ongoing technological development will change the manner in which particular functions are performed. These examples are presented herein for purposes of illustration, and not limitation. Further, the boundaries of the functional building blocks have been arbitrarily defined herein for the convenience of the description. Alternative boundaries can be defined so long as the specified functions and relationships thereof are appropriately performed. Alternatives (including equivalents, extensions, variations, deviations, etc., of those described herein) will be apparent to persons skilled in the relevant art(s) based on the teachings contained herein. Such alternatives fall within the scope and spirit of the disclosed embodiments. Also, the words "comprising," "having," "containing," and "including," and other similar forms are intended to be equivalent in meaningP240131W001and be open ended in that an item or items following any one of these words is not meant to be an exhaustive listing of such item or items or meant to be limited to only the listed item or items. It must also be noted that as used herein, the singular forms “a,” “an,” and “the” include plural references unless the context clearly dictates otherwise.
[0070] Furthermore, one or more computer-readable storage media may be utilized in implementing embodiments consistent with the present disclosure. A computer readable storage medium refers to any type of physical memory on which information or data readable by a processor may be stored. Thus, a computer readable storage medium may store instructions for execution by one or more processors, including instructions for causing the processor(s) to perform steps or stages consistent with the embodiments described herein. The term “computer readable medium” should be understood to include tangible items and exclude carrier waves and transient signals, i.e., are non- transitory. Examples include random access memory (RAM), read-only memory (ROM), volatile memory, non-volatile memory, hard drives, CD ROMs, DVDs, flash drives, disks, and any other known physical storage media.
[0071] Finally, the language used in the specification has been principally selected for readability and instructional purposes, and it may not have been selected to delineate or circumscribe the inventive subject matter. Accordingly, the disclosure of the embodiments of the disclosure is intended to be illustrative, but not limiting, of the scope of the disclosure.
[0072] With respect to the use of substantially any plural and / or singular terms herein, those having skill in the art can translate from the plural to the singular and / or from the singular to the plural as is appropriate to the context and / or application. The various singular / plural permutations may be expressly set forth herein for sake of clarity.Referral Number Description102 One or more sources104 System106 Communication network108 Input / Output interfaceP240131W001112 Processor110 Memory202 Instructions204 AI model206 Prestored error patterns 208 Recover strategy210 Database212 Communication interface 302 Service logs304 Historical data306 Domain knowledge 500 Computer System501 Processor502 Storage Interface503 Memory504 User interface505 Operating system506 Web browser507 I / O interface508 Input devices509 Output devices
Claims
1. P240131W001We claim:
1. A method of troubleshooting an application related to industrial devices, comprising:receiving, by a processor (112), data associated with an error when executing an application on a user device (104);determining, by the processor (112), an error pattern from the received data, using an Artificial Intelligence (Al) model (204), based on a plurality of prestored error patterns;determining, by the processor (112), a context and a domain of the error based on the error pattern, using an Artificial Intelligence (Al) model;identifying, by the processor (112), at least one prestored error from the plurality of prestored error patterns associated with the determined context and domain of the error, wherein the at least one prestored error pattern has a corresponding recovery strategy; comparing, by the processor (112), the error pattern with the at least one prestored error pattern to obtain a corresponding correlation value, using the AI model (204);identifying, by the processor (112), a prestored error pattern from the at least one error pattern associated with a maximum correlation value; andproviding, by the processor (112), a recovery strategy corresponding to the identified prestored error pattern to the user device (104), for troubleshooting the application.
2. The method as claimed in claim 1, wherein providing the recovery strategy comprises:transmitting, by the processor (112), a permission request to the user device (104) for applying the recovery strategy; andexecuting, by the processor (112), the recovery strategy for troubleshooting the application, on receiving the permission.
3. The method as claimed in claim 2, further comprising:receiving, by the processor (112), a feedback with respect to the recovery strategy, from the user device (104);updating, by the processor (112), the recovery strategy based on the feedback.P240131W0014. The method as claimed in claim 1, wherein the error is one of: a deployment error, a runtime error, an application error, and a configuration error.
5. The method as claimed in claim 1, further comprising:automatically executing, by the processor (112), the recovery strategy for troubleshooting the application.
6. A system (102) for troubleshooting an application, comprises:a memory (110) configured to store instructions; anda processor (112) configured to execute the instructions stored in the memory (110) and thereby configured to:receive data associated with an error when executing an application on a user device (104);determine an error pattern from the received data, using an Artificial Intelligence (AI) model (204), based on a plurality of prestored error patterns;determine a context and a domain of the error based on the error pattern, using the AI model (204);identify at least one prestored error from the plurality of prestored error patterns associated with the determined context and domain of the error, wherein the at least one prestored error pattern has a corresponding recovery strategy; compare the error pattern with the at least one prestored error pattern to obtain a corresponding correlation value, using the AI model (204);identify a prestored error pattern from the at least one error pattern associated with a maximum correlation value; andprovide a recovery strategy corresponding to the identified prestored error pattern to the user device (104), for troubleshooting the application.
7. The system (102) as claimed in claim 6, wherein to provide the recovery strategy, the processor (112) is configured to:transmit a permission request to the user device (104) for applying the recovery strategy; andP240131W001execute the recovery strategy for troubleshooting the application, on receiving the permission.
8. The system (102) as claimed in claim 7, wherein the processor (112) is configured to:receive a feedback with respect to the recovery strategy, from the user device ( 104); update the recovery strategy based on the feedback.
9. The system (102) as claimed in claim 6, wherein the error is one of: an application error and a configuration error.
10. The system (102) as claimed in claim 6, the processor (112) is configured to:automatically execute the recovery strategy for troubleshooting the application.