The presently disclosed subject matter relates generally to computer diagnostics. Particularly, the presently disclosed subject matter relates to systems and methods of presenting diagnostic information of an electronic device at diagnostic equipment.
Many electronic devices include systems and subcomponents that monitor system health. These systems and subcomponents can generate related information and store the information in memory. This information may be stored as diagnostic information, because it may be accessed by and helpful to a technician or other personnel for diagnosis of errors or other problems of the electronic device. Example diagnostic information includes log data, last-known metrics, and currently-relevant fault conditions.
A server residing at a data center is type of electronic device that can have a diagnostic subcomponent or module that monitors system health of the server. In the instance of an error, failure, or other problem with the server, a technician may be notified or the problem and then go to the server to determine the source of the problem. The technician often carries diagnostic equipment that connects to the server for retrieval of diagnostic information. The diagnostic information and/or analysis information may then be presented to the technician. Based on this information, the technician may then determine how to correct the server problem. The server problem may be corrected by, for example, reconfiguring the server, replacing a component of the server, or repairing a component of the server.
In some instances, a technician may be unable to use his or her diagnostic equipment to retrieve diagnostic information from a server. For example, a diagnostic subcomponent or module may experience power loss such that it cannot communicate the diagnostic information to the diagnostic equipment. This scenario can encumber the technician and reduce his or her ability to repair the server. Accordingly, there is a need for improved systems and techniques for technicians to diagnose problems with electronic devices, particularly servers.
The presently disclosed subject matter provides systems and methods of presenting diagnostic information of an electronic device at diagnostic equipment. According to an aspect, a system includes an input/output interface configured to communicatively connect to diagnostic equipment and configured to receive electrical power from the diagnostic equipment. Further, the system includes a diagnostic module configured to store diagnostic information of an electronic device. Further, the diagnostic module is configured to determine that the diagnostic equipment is connected to the input/output interface. The diagnostic module is also configured to determine that electrical power is not available from a power supply of the electronic device. Further, the diagnostic module is configured to receive the electrical power from the diagnostic equipment and use the electrical power from the diagnostic equipment to communicate the stored diagnostic information to the diagnostic equipment in response to the diagnostic equipment being connected to the input/output interface and the electrical power not being available from the power supply of the electronic device.
Having thus described the presently disclosed subject matter in general terms, reference will now be made to the accompanying Drawings, which are not necessarily drawn to scale, and wherein:
The following detailed description is made with reference to the figures. Exemplary embodiments are described to illustrate the disclosure, not to limit its scope, which is defined by the claims. Those of ordinary skill in the art will recognize a number of equivalent variations in the description that follows.
Articles “a” and “an” are used herein to refer to one or to more than one (i.e. at least one) of the grammatical object of the article. By way of example, “an element” means at least one element and can include more than one element.
“About” is used to provide flexibility to a numerical endpoint by providing that a given value may be “slightly above” or “slightly below” the endpoint without affecting the desired result.
The use herein of the terms “including,” “comprising,” or “having,” and variations thereof is meant to encompass the elements listed thereafter and equivalents thereof as well as additional elements. Embodiments recited as “including,” “comprising,” or “having” certain elements are also contemplated as “consisting essentially of” and “consisting” of those certain elements.
Recitation of ranges of values herein are merely intended to serve as a shorthand method of referring individually to each separate value falling within the range, unless otherwise indicated herein, and each separate value is incorporated into the specification as if it were individually recited herein. For example, if a range is stated as between 1%-50%, it is intended that values such as between 2%-40%, 10%-30%, or 1%-3%, etc. are expressly enumerated in this specification. These are only examples of what is specifically intended, and all possible combinations of numerical values between and including the lowest value and the highest value enumerated are to be considered to be expressly stated in this disclosure.
Unless otherwise defined, all technical terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure belongs.
As referred to herein, the term “electronic device” should be broadly construed. It can include any type of device including hardware, software, firmware, the like, and combinations thereof. An electronic device may include one or more processors and memory or other suitable non-transitory, computer readable storage medium having computer readable program code for implementing methods in accordance with embodiments of the present disclosure. An electronic device may be a computer, such as server. In other examples, a computing device can be any type of conventional computer such as a laptop computer or a tablet computer.
As used herein, the term “memory” is generally a storage device of a computing device. Examples include, but are not limited to, read-only memory (ROM) and random access memory (RAM).
As referred to herein, a user interface is generally a system by which users interact with a computing device. A user interface can include an input for allowing users to manipulate a computing device, and can include an output for allowing the system to present information and/or data, indicate the effects of the user's manipulation, etc. An example of a user interface on a computing device (e.g., a mobile device) includes a graphical user interface (GUI) that allows users to interact with programs in more ways than typing. A GUI typically can offer display objects, and visual indicators, as opposed to text-based interfaces, typed command labels or text navigation to represent information and actions available to a user. For example, an interface can be a display window or display object, which is selectable by a user of a mobile device for interaction. A user interface can include an input for allowing users to manipulate a computing device, and can include an output for allowing the computing device to present information and/or data, indicate the effects of the user's manipulation, etc. An example of a user interface on a computing device includes a graphical user interface (GUI) that allows users to interact with programs or applications in more ways than typing. A GUI typically can offer display objects, and visual indicators, as opposed to text-based interfaces, typed command labels or text navigation to represent information and actions available to a user. For example, a user interface can be a display window or display object, which is selectable by a user of a computing device for interaction. The display object can be displayed on a display screen of a computing device and can be selected by and interacted with by a user using the user interface. In an example, the display of the computing device can be a touch screen, which can display the display icon. The user can depress the area of the display screen where the display icon is displayed for selecting the display icon. In another example, the user can use any other suitable user interface of a computing device, such as a keypad, to select the display icon or display object. For example, the user can use a track ball or arrow keys for moving a cursor to highlight and select the display object.
Diagnostic equipment 102 may interface with the electronic device 104 via input/output (I/O) interfaces 112 and 114. I/O interfaces 112 and 114 may be a part of and integrated into electronic device 104 and diagnostic equipment 102, respectively. A cable 116 may operatively connect the I/O interfaces 112 and 114 for carrying data signals (represented by double arrow 118) between diagnostic equipment 102 and the electronic device 104. The cable 116 may also carry electrical power (represented by arrow 120) from the diagnostic equipment 102 to the electronic device 104. Further, the cable 116 may be manually connected to the I/O interfaces 112 and 114 as shown in
In operation when the cable 116 operatively connects I/O interfaces 112 and 114, diagnostic information 108 may be communicated via the cable 116 to the diagnostic equipment 102. Particularly, I/O interfaces 112 and 114 may operate together to communicate data signals 118 carrying the diagnostic information 108 to a diagnostic module 122, where the diagnostic information 108 is processed, analyzed, and presented to a technician or other operator via a user interface 124 of the diagnostic equipment 102. The diagnostic module 122 may include hardware, software, firmware, or combinations thereof for implementing the functionality described herein. For example, the diagnostic module 122 may include memory 128 and one or more processors 130.
In accordance with embodiments, diagnostic equipment 102 may include a power supply 126 (e.g., a battery) operable to deliver power to the electronic device 104 via the cable 116 and I/O interfaces 112 and 114. Power may be delivered to the electronic device 104 to power the diagnostic module 106 such that diagnostic information 108 can be communicated to the diagnostic module 122 of the diagnostic equipment 102. This may be needed, for example, in the instance that the electronic device 104 does not have sufficient power to retrieve the diagnostic information from memory 110 and/or to communicate the diagnostic information 108 to the diagnostic equipment 102. In the instance that there is sufficient power at the electronic module 104, a power supply 128 of the electronic device 104, for example, may provide power to retrieve the diagnostic information from memory 110 and/or to communicate the diagnostic information 108 to the diagnostic equipment 102. The power supply 128 may be a battery of the electronic device 104 or it may be power supplied by an external source, such as an electrical outlet.
The method of
With continuing reference to
At step 208 of
At step 210 of
Subsequent to steps 208 and 210, the diagnostic equipment has received the stored diagnostic information. Following steps 208 and 210, the method includes presenting 212, at the diagnostic equipment, the diagnostic information. Continuing the aforementioned example, the diagnostic module 122 may control the user interface 124 to present the diagnostic information. The diagnostic information may be presented, for example, by a visual and/or audio technique. For example, the user interface 124 may include a display for displaying the diagnostic information as text and/or graphically. After receiving the diagnostic information, the diagnostic equipment 102 may request additional information and/or provide additional instructions to the diagnostic module 106. The presented information may be condition information for the electronic device 104 based on the diagnostic information. Example condition information may indicate a failed CPU, memory component, or the like. Further, an operator may physically disconnect the diagnostic equipment 102 from the electronic device 104 such as, for example, by disconnecting the cable from one or both of the I/O interface 112 and 114.
Laptop computer 302 may interface with the server 304 via I/O interfaces 112 and 114. The cable 116 may operatively connect the I/O interfaces 112 and 114 for carrying data signals 118 between the laptop computer 302 and the server 304. The cable 116 may also carry electrical power 120 from the laptop computer 302 to the server 304.
In operation when the cable 116 operatively connects I/O interfaces 112 and 114, diagnostic information 108 may be communicated via the cable 116 to the laptop computer 302. The diagnostic module 222 may process, analyze and present the diagnostic information 108 to a technician or other operator via the user interface 124.
The laptop computer 302 includes a battery 306 operable to provide power to the server 304 via the cable 116 and I/O interfaces 112 and 114. Power may be delivered to the server 304 to power the diagnostic module 106 such that diagnostic information 108 can be communicated to the diagnostic module 122 of the laptop computer 302. This may be needed, for example, in the instance that the server 304 does not have sufficient power to retrieve the diagnostic information 108 from memory 110 and/or to communicate the diagnostic information 108 to the laptop computer 302. In the instance that there is sufficient power at the server 304, the power supply 128 of the server 304, for example, may provide power to retrieve the diagnostic information 108 from memory 110 and/or to communicate the diagnostic information 108 to the laptop computer 302. It is noted that in this example, the diagnostic module 106 may be an onboard management device of the server 302.
In accordance with embodiments, a technician may manually connect the laptop computer 302 to the server 304 via the cable 116 and I/O interfaces 112 and 114 in order to retrieve diagnostic information 108 from the server 304. This connection of the laptop computer 302 and the server 304 may initiate a boot kernel 308 for enabling the laptop computer 302 to access the diagnostic information 108 stored in the server 304. In an example, the boot kernel 308 may provide read only functionality such that the laptop computer 302 may only read the diagnostic information 108 from memory 110 of the server 304. The kernel 308 may operate on the processor(s) 111. Power for operating the kernel 308 to retrieve the diagnostic information 108 and to communicate the diagnostic information 108 may be provided by the battery 306 of the laptop computer 302. The power supplied by the battery 306 may be 5 Volts.
The method of
With continuing reference to
At step 406 of
At step 408 of
Subsequent to step 408, the method includes reading 410, by command of the kernel, the diagnostic data. Continuing the aforementioned example, by command of the kernel 308 the diagnostic data 108 may be read from memory 108. For example, event log data 310 may be read from memory 110.
The method of
Subsequent to steps 406 and 412, the diagnostic equipment has received the stored diagnostic information. Following steps 406 and 412, the method includes presenting 414, at the computer, the diagnostic information. Continuing the aforementioned example, the diagnostic module 122 may control the user interface 124 to present the diagnostic information. For example, a display may be controlled to display the diagnostic information as text and/or graphically. After receiving the diagnostic information, the laptop computer 302 may request additional information and/or provide additional instructions to the diagnostic module 106. Further, the technician may physically disconnect the laptop computer 302 from the server 304 by disconnecting the cable from one or both of the I/O interface 112 and 114.
In accordance with embodiments, a power level supplied by an electronic device may be greater than a power level supplied by diagnostic equipment. For example, the power supply 128 of the server 304 may be operable to provide 12 Volts of power, while the laptop computer 302 can provide 5 Volts. In some instances, the power supply 128 of the server 304 may only supply 5 Volts or lower in the case of failure or other problem. The diagnostic module 106 may be configured to use implement the kernel 308 with both read/write functionality in the case of the electrical power supplied by the power supply of the electronic device being above a predetermined level.
Referring to
The method of
It is noted that a full kernel can allow for a user to make changes to settings such as the server boot order, out-of-band network configuration, power and performance settings, and the like. These settings may be stored on a non-volatile EEPROM device connected to the diagnostic module 106.
The method of
In accordance with embodiments, a user interface of an electronic device may be configured to present diagnostic information to a user (e.g., a technician). A diagnostic module may control the user interface to present (e.g., display) diagnostic information stored in its memory. For example, the diagnostic module 106 shown in
In accordance with embodiments, diagnostic equipment may be configured to display an image representing an electronic device and an overlay of condition information via an augmented reality technique.
Referring to
The method of
The method of
As described herein, an image representing the electronic device along with an overlay of condition information may be presented via an augmented reality technique. As an example,
As described herein, diagnostic equipment, such as diagnostic equipment 102 shown in
The present subject matter may be a system, a method, and/or a computer program product. The computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present subject matter.
The computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer readable storage medium includes the following: a portable computer diskette, a hard disk, a RAM, a ROM, an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.
Computer readable program instructions described herein can be downloaded to respective computing/processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and/or a wireless network, or Near Field Communication. The network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers. A network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing/processing device.
Computer readable program instructions for carrying out operations of the present subject matter may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++, Javascript or the like, and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The computer readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present subject matter.
Aspects of the present subject matter are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the subject matter. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer readable program instructions.
These computer readable program instructions may be provided to a processor of a computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function/act specified in the flowchart and/or block diagram block or blocks.
The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present subject matter. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts or carry out combinations of special purpose hardware and computer instructions.
While the embodiments have been described in connection with the various embodiments of the various figures, it is to be understood that other similar embodiments may be used, or modifications and additions may be made to the described embodiment for performing the same function without deviating therefrom. Therefore, the disclosed embodiments should not be limited to any single embodiment, but rather should be construed in breadth and scope in accordance with the appended claims.
Number | Name | Date | Kind |
---|---|---|---|
7865781 | Fox et al. | Jan 2011 | B2 |
8069374 | Panigrahy et al. | Nov 2011 | B2 |
9398848 | Hansen | Jul 2016 | B2 |
20040199282 | Cabezas et al. | Oct 2004 | A1 |
20110241833 | Martin | Oct 2011 | A1 |
20170012448 | Miller | Jan 2017 | A1 |
20170169401 | Beane | Jun 2017 | A1 |
Number | Date | Country | |
---|---|---|---|
20210141680 A1 | May 2021 | US |