The present invention is related to the fields of data processing and autonomic computing, and more particularly, to techniques for indicating the status of information technology (IT) resources by using customizable sets of question-and-answer elements that arc particularly suited for non-technical users.
Within many of the myriad of IT environments that have developed in recent years there has been an ever-increasing demand for efficiency, optimization, virtualization, and return on investment. As a result, the internal complexity and interdependency of many IT environments has increased greatly.
Greater internal complexity and interdependency of an IT environment can make it extremely difficult for line-of-business (LoB) managers, service desk operators, application developers, and other IT professionals to readily determine, particularly in non-technical terms, the state or operating condition of an IT asset or series of related assets. It is thus often difficult for such professionals to isolate problems and render effective assistance to clients, especially in situations in which speed and reliability are paramount. Conventional software solutions typically offer a user a sub-optimal choice among a generalized dashboard interface with some limited drill-down capabilities, very specific tools that tend to overwhelm all but the most technically savvy user, or management platforms that merely correlate events based on monitoring.
As a result, there is a need for more efficient and effective systems for indicating the status of IT resources and assets through the use of a question-and-answer approach, which ensures an intuitive and user-friendly experience for users.
The present invention is directed to systems and methods for providing and developing IT status information for a variety of assets contained within a particular system. A tool utilizing the following question-and-answer approach can be represented in simple “human” terms and can provide value, easy setup, and customization.
One embodiment of the invention is a system for providing and developing information technology status information for various assets. The system can comprise one or more electronic data processors configured to process, display, and manage data. The system can further include a module configured to execute on the one or more electronic data processors. The module can be configured to enable a user to pose one or more questions pertaining to the status of a particular asset in the system. Additionally, the module can be configured to parse the one or more questions pertaining to the status of a particular asset. The module can be further configured to select and conduct one or more tests to determine an answer to the one or more questions posed. Moreover, the module can be configured to generate and display to the user the answer to the one or more questions.
Another embodiment of the invention is a computer-based method for providing and developing information technology status information for various assets in a system. The method can include enabling a user to pose one or more questions pertaining to the status of a particular asset in the system. Additionally, the method can include parsing the one or more questions pertaining to the status of a particular asset. The method can also include selecting and conducting one or more tests to determine an answer to the one or more questions posed. Furthermore, the method can include generating and displaying to the user the answer to the one or more questions.
Yet another embodiment of the invention is a computer-readable storage medium that contains computer-readable code, which when loaded on a computers causes the computer to perform the following steps: enabling a user to pose one or more questions pertaining to the status of a particular asset in the system; parsing the one or more questions pertaining to the status of a particular asset; selecting and conducting one or more tests to determine an answer to the one or more questions posed; and, generating and displaying to the user the answer to the one or more questions.
There are shown in the drawings, embodiments which are presently preferred. It is expressly noted, however, that the invention is not limited to the precise arrangements and instrumentalities shown.
Referring initially to
The system 100 further includes a module 104, which, can be implemented as computer-readable code configured to execute on the one or more electronic data processors 102. The module 104 can also be communicatively linked to the one or more optional databases 106a-c. Alternatively, the module 104 can be implemented in hardwired, dedicated circuitry for performing the operative functions described herein. In yet another embodiment, however, the module 104 can be implemented in a combination of hardwired circuitry and computer-readable code.
Operatively, the module 104 can be configured to enable a user to pose one or more questions as inputs 108 pertaining to a status of a particular asset in the system. For example, a user may ask “Are the printers online?” or “Is web server A operational?” to find out the status of the printers and server in the system. The module 104 can be additionally configured to parse the one or more questions pertaining to the status of a particular asset. The module 104 can also be configured to select and conduct one or more tests to determine an answer to the one or more questions posed. In trying to answer “Is web server A operational?,” the module 104 can conduct a test that pings web server A by using Internet Control Message Protocol (ICMP) packets. Furthermore, the module 104 can be configured to generate and display to the user the answer 110 to the one or more questions.
In a particular embodiment of the system 100, the one or more questions can comprise a sequence of sub-questions, which collectively pertain to the status of the particular asset and are utilized in determining the answer to the one or more questions. For example, the question “Is web server A operational?” could really involve asking sub-questions such as “Can I ping web server A?” and “Can I perform an HTTP GET of various objects?” when trying to determine whether or not web server A is operational.
Additionally, the one or more tests can comprise a sequences of sub-tests, wherein the sub-tests are conducted to generate answers to the sub-questions. Using the previous example, a ping test (ICMP) can be used to determine the sub-question pertaining to whether or not one can ping web server A. Furthermore, the answer to the one or more questions and the answers to the sub-questions can include confidence levels. The confidence level can indicate the likelihood that the one or more tests and the one or more sub-tests answer the one or more questions. As an example, the confidence level can be expressed as a percentage, wherein the percentage indicates the level of confidence the particular test provides in answering a particular question posed.
The one or more tests and sub-tests can include, but are not limited to, one or more tests such as pinging a system (ICMP), forward and reverse resolution of a domain name system, URL web requests, web services requests, calling remote programs, logging of results, reporting on logged tests, reporting on an individual test, providing alert messages, providing supporting information, indicating confidence levels, and pre-checking before any checks are performed.
Referring now also to
According to another embodiment of the system 100, the module 104 can be configured to present the user with one or more of a list of status messages, one or more tests and corresponding answers, sub-tests and corresponding answers, and recommendations to conduct more tests. As an example, a user can pose the question “Is web server A operational?” and have the system 100 run a series of tests to answer the question. The system 100 could run a predefined test that checks to see whether the network is operational. However, the predefined test may end up returning a confidence level of only 10%. As a second test, the system 100 could run another test which pings web server A that returns a higher confidence level of 40%. This in and of itself might not be a complete test as the confidence level is probably too low to be useful to a user. At this point the system 100 could recommend that the user conduct a series of other tests, which, if conducted, could raise the confidence level.
Referring now also to
According to yet another embodiment, the module 104 can be configured to enable the user to interact with the one or more questions, one or more tests, sub-questions, and sub-tests through one or more among a graphical user interface application, graphical tools, a web-page application, a 3d simulation, aggregated mash-ups in a dashboard utility, and a portal setup. Referring now also to
Referring now also to
In another embodiment, the module 104 can be configured to perform one or more additional tests based upon a schedule. The module 104 can be also configured to provide an audio signal representative of an answer to the one or more questions. Referring now also to
Additionally, the dashboard 600 can perform one or more tests according to a schedule and provide an audio signal indicative of an answer to a question posed. For example, if a user would like to conduct the same set of tests every five minutes, the module 104 can automatically conduct the same tests every five minutes without the user having to keep selecting the tests. After conducting the tests, the dashboard 600 can inform the user of the answer to the one or more questions through the use of voice response or through the display screen 604. The dashboard 600 can also indicate the last time a particular test was conducted.
In yet another embodiment, the module 104 can be configured to cache and store the generated answer to the one or more questions. Also, the cached and stored answer can be transmitted to the one or more optional databases 106a-e for storage. The cached and stored answer can be retrieved by a subsequent user without having to conduct an additional test in the system 100. Referring now also to
Referring now to
The one or more questions can comprise a sequence of sub-questions, which collectively pertain to the status of the particular asset and are utilized in determining the answer to the one or more questions. Additionally, the one or more tests can comprise a sequences of sub-tests, wherein the sub-tests are conducted to generate answers to the sub-questions. Furthermore, the answer to the one or more questions and the answers to the sub-questions can include confidence levels. The confidence level can indicate the likelihood that the one or more tests and the one or more sub-tests answer the one or more questions. The one or more tests and sub-tests can include, but are not limited to, one or more tests such as pinging a system, forward and reverse resolution of a domain name system, URL web requests, web services requests, calling remote programs, logging of results, reporting on logged tests, reporting on an individual test, providing alert messages, providing supporting information, indicating confidence levels, and pre-checking before any checks are performed.
According one embodiment, the method 800 can further include, at the generating and displaying step 810, presenting the user with one or more of a list of status messages, one or more tests and corresponding answers, sub-tests and corresponding answers, confidence levels, and recommendations to conduct more tests. In another embodiment, the method 800 can include enabling the user to interact with the one or more questions, one or more tests, sub-questions, and sub-tests through one or more among a graphical user interface application, graphical tools, a web-based application, a 3d simulation, aggregated mash-ups in a dashboard utility, and a portal setup.
In yet another embodiment, the method 800 can include caching and storing the generated answer to the one or more questions. The cached and stored answer can be retrieved by a subsequent user without having to conduct an additional test in the system. The method 800 can also include performing one or more additional tests based upon a schedule. According to another embodiment, the method 800 can further include providing an audio signal representative of an answer to the one or more questions.
The invention, as already mentioned, can be realized in hardware, software or a combination of hardware and software. The invention can be realized in a centralized fashion in one computer system, or in a distributed fashion where different elements are spread across several interconnected computer systems. Any type of computer system or other apparatus adapted for carrying out the methods described herein is appropriate. A typical combination of hardware and software can be a general purpose computer system with a computer program that, when being loaded and executed, controls the computer system such that it carries out the methods described herein.
The invention, as already mentioned, can be embedded in a computer program product, such as magnetic tape, an optically readable disk, or other computer-readable medium for storing electronic data. The computer program product can comprise computer-readable code, defining a computer program, which when loaded in a computer or computer system causes the computer or computer system to carry out the different methods described herein. Computer program in the present context means any expression, in any language, code or notation, of a set of instructions intended to cause a system having an information processing capability to perform a particular function either directly or after either or both of the following: a) conversion to another language, code or notation; b) reproduction in a different material form.
The preceding description of preferred embodiments of the invention have been presented for the purposes of illustration. The description provided is not intended to limit the invention to the particular forms disclosed or described. Modifications and variations will be readily apparent from the preceding description. As a result, it is intended that the scope of the invention not be limited by the detailed description provided herein.