The present invention relates generally to monitoring computer systems remotely. More particularly, the present invention relates to monitoring computer systems remotely by receiving data regarding the computer systems via mobile devices and responding to the received data via the wireless devices.
System administrators, project managers, and other interested individuals have a need to stay abreast of computer and application availability. When a server hosting a business-critical software application crashes, these individuals may be responsible for troubleshooting the problems and/or handling the fallout. Short of having someone standing next to a key server twenty-four hours a day, it may be important for these individuals to be kept abreast of network, computer, and application problems, even when they are away from the systems.
Current software products enable interested individuals to learn about, track, and follow up on hardware and software problems. These problems may be noted in log files, which keep a running list of problems. Problems may also be noted in a trouble ticket system, which may track reports of issues from other individuals. These software products may enable users to query and review lists of issues for a single piece of software, a piece of hardware, or a large collection of hardware and software. Such information may be solicited and provided to users via a web browser software application on a network-connected computer. However, existing solutions may not provide requested content in a format suitable for use with a wireless device, such as a phone or personal digital assistant. Having such information available in a format suited for wireless devices might enable individuals to retrieve up-to-the-minute information about software and hardware of interest, regardless of their location.
It should be appreciated that this Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
Methods according to embodiments of the invention are for responding to a request for status information about monitored computer systems. The request is received from a wireless device, and the information is retrieved. Once it is determined that the source of the request is a wireless device, the information may be specially formatted for display, such as minimizing the display for the smaller screen of the wireless device.
Systems according to embodiments of the invention are for providing information about monitored computer systems. A system may include a processor, network interface, and memory, the memory storing instructions. The instructions include receiving a request from a remote wireless device for information about monitored computer systems, retrieving the requested information, formatting a response to the request, and sending the response to the remote wireless device.
Other apparatuses, methods, and/or computer program products according to embodiments will be or become apparent to one with skill in the art upon review of the following drawings and Detailed Description. It is intended that all such additional systems, methods, and/or computer program products be included within this description, be within the scope of the present invention, and be protected by the accompanying claims.
Embodiments of the present invention provide methods and systems for monitoring computer systems using wireless devices. In the following detailed description, references are made to the accompanying drawings that form a part hereof, and which are shown, by way of illustration, using specific embodiments or examples. Referring now to the drawings, in which like numerals represent like elements through the several figures, aspects of the apparatus and methods provided herein will be described.
Generally, program modules include routines, programs, components, data structures, and other types of structures that perform particular tasks or implement particular abstract data types. Moreover, those skilled in the art will appreciate that the invention may be practiced with other computer system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, mainframe computers, and other computer systems having at least one processor and a memory for storing program modules. The invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.
Referring now to
The server 110 may include a computer processor in communication with computer storage (e.g., random access memory (RAM) and/or a magnetic storage device such as a hard drive), as well as a network interface for communication with other hardware, including wireless devices 104, 105, 106 and computer systems 116, 118. A network interface may take the form of, for example, an Ethernet network interface controller (NIC) or a wireless interface. The server 110 is operative to store and execute a web server application 112. The web server application 112 executes website program code and may receive and respond to requests from the wireless devices 104, 105, 106 for content supplied by data monitoring and logging software 114, such as BMC® Performance Manager, stored on the server 110. It should be appreciated that the data monitoring and logging software 114 may be stored on the server 110 or another server computer in communication with the server 110 storing the web server application 112. The data monitoring and logging software 114 may monitor the computer systems 116, 118 and collect data related to the computer systems 116, 118 and software and hardware applications executing thereon. Once the data is collected, the data monitoring and logging software 114 compiles the data into event logs which can be accessed by the wireless devices 104, 105, 106 via the web server application 112 over the cellular network 102 and the network 108.
The wireless devices 104, 105, 106 each include a browser application for accessing data through the network 108. In an embodiment of the present invention, the wireless devices 104, 105, 106 may include cellular telephones, personal digital assistants (PDA), and hand-held computing devices, such as a BLACKBERRY device from Research In Motion, Limited of Ontario, Canada. When a request for information provided by the data monitoring and logging software 114 is received at one of the wireless devices 104, 105, 106, a browser of the wireless device may retrieve and view content provided by the server 110. The requested content presented to the requesting wireless device by the web server application 112 may be associated with a display size, screen controls, and a memory size adjusted for viewing, controlling, and storing on the wireless device 104, 105, 106. The web server application 112 provides secure transmission of the requested content in a format viewable, controllable, and storable by a wireless device. Thus, status regarding a computer system such as computer system 116, may be received and responded to while away from the computer systems 116, 118.
The web server application 112 may determine a type of browser associated with a wireless device 104, 105, 106 making a content request. This information may be embedded in the content request itself, in a separate communication sent before, concurrently with, or after the content request. For example, user agent information embedded in an Hypertext Transfer Protocol (HTTP) request may include information about the type of requesting wireless device 104, 105, 106 and a browser version. Using information about the requesting wireless device 104, 105, 106, the web server application 112 may select from among multiple pages (e.g., a separate version of a web page stored for each type of browser application), or it may dynamically modify the content of the web page to customize the display formatting for each type of browser. The web server application 112 may further select or modify the content language depending on the browser. For example, the web server application 112 may format content selecting between Wireless Markup Language (WML), Extensible Hypertext Markup Language (XHTML), or normal Hypertext Markup Language (HTML) depending on the browser type. In addition, content may be formatted by utilizing different format styles or style sheets for each type of browser, such as using separate cascading style sheets (CSS) files.
Additionally, the web server application 112 may work in concert with a second application, such as the data monitoring and logging software 114. Upon receiving a content request from one of the wireless devices 104, 105, 106, the web server application 112 may dynamically request content from the second application. The response received from the second application may be dynamically reformatted in order to produce content viewable on the requesting wireless device 104, 105, 106.
Turning now to
Once selected, the user retrieves the start page 206 over the communications network 102, via the network 108, and ultimately from web server application 112 on server 110. When the request to retrieve the start page 206 is received at the web server application 112, the web server application 112 may extract browser and/or device information from the request. Web server application 112 may extract or derive other information about the wireless device 106 therefrom, including maximum available bandwidth, screen resolution, and other browser/device specific information. Knowing screen resolution (the number of pixels on the screen), the web server application 112 may format the response appropriately, so as to maximize the utility and/or aesthetics of the information. For example, a link 208 to “Monitoring Configuration & Policy Changes” from the list of links 204 has been shortened in order for the information to fit horizontally on the screen. Additional steps may be taken in order to format the content for the wireless device 106. For example, a font type, a font size or a font format may be adjusted, text may be replaced with ellipses, and/or graphics may be replaced or removed. Likewise the entire layout of a web page may be completely modified to enable the information to be properly viewed on the wireless device 106. For example, content being primarily horizontal in format (e.g., table with one row and multiple columns), may be reformatted to be primarily vertical (e.g., table with one column and multiple rows).
If a user selects one of the links on the start page 206, the wireless device 106 will send another request for information to the server 110.
The formats controlling the display of the criteria page 306 on the wireless device 104 were modified by the web server application 112 based on the browser and/or device information of the wireless device 104 associated with the request. The display on the device 104 is narrower than a normal web browser on a personal computer, narrower even than the displays of the other two wireless devices 105, 106. Subsequently, the size or appearance of fonts or controls may be modified at the web server application 112 so as to fit the display associated with the wireless device 104. Also, text may be abbreviated and/or otherwise changed so as to fit in the space available. Further format modifications are possible such as, but not limited to, placing selection pull-downs below their respective labels rather than adjacent to them as shown on the criteria page 306. Once one or more criteria, if any, have been selected, and the page submitted as a new request to web server application 112, the results of the request may be displayed, such as shown in
Results shown on the results page 406 may be enabled to include additional information about the results. For example, items relevant to an exception, issue, or ticket listed in the results may include links to enable the retrieval of additional information. For example, an IP Address associated with the first result on the results page 406 may include a link 402 as shown. If a user selects the link 402, the device 105 may send a second request to the server 110 for information about the status of associated computer hardware and software systems. Other exceptions or tickets associated with the particular IP Address may be returned as a new results page 406. Alternatively, contact or other information associated with the associated machine may be presented as a new page. Contact information may include a phone number, email address, or other means for communicating with an entity that maintains responsibility for the machine. Once contacted, this person or organization may then be able to troubleshoot or repair the issue if it is ongoing.
Although not shown, results page 406 may present options for repairing or otherwise handling an exception. For example, one additional link may include “Restart Affected Application.” When clicking on such a link or command, the affected application or hardware on the computer system 116, 118 may be restarted or otherwise reset. The link or command may directly request that the affected application or hardware be restarted, for example, causing the operating system on the affected device to restart the application and/or restart the hardware itself. Likewise, other links may include, “Notify Relevant Vendor.” Such a link may enable a notification of the failure or exception to be passed on to a vendor or other responsible party. Such a notification may be an automated email or SMS message sent to the appropriate individuals. Alternatively, the link may register information about the exception with a log on a remote server which then passes information about the exception to the appropriate individuals as needed. Additional links may enable the use of remote desktop capabilities, similar to collaboration products provided by Citrix Systems, Inc. of Fort Lauderdale, Fla., enabling a user of wireless device 105 to view and manipulate a virtual desktop or interface of an affected piece of hardware or software on computer systems 116, 118. Additional commands or links enabling repair or notification may be included with results page 406.
As above, although not shown, message 506 may include additional links providing access to specific functions (e.g., restarting an application or server) or specialized software (e.g., virtual network computing (VNC)) enabling a user of wireless device 105 to repair or otherwise manipulate affected hardware or software on the computer systems 116, 118.
At 601, web server application 112 receives a request for information about monitored computer systems 116, 118. Such a request may be in the form of an HTTP request, and may include information about the requesting device and/or application. At 602, the requested information is retrieved by web server application 112. Here, the information may be in any format. For example, the requested information may be in the form of log files, query results, formatted web pages, text files, or any other electronic format. At 603, the web server application 112 determines information about the requesting device and/or application. This determination may be derived from the request itself, from a separate communication provided before, concurrently with, or after the request, or from other stored information about the requesting device (e.g., a database table of IP Addresses cross-referenced to device types). If, at 604, the device is not a wireless device, then the requested information at 605 may be formatted normally by web server application 112, as for a conventional web browser on a personal computer. If the device is wireless, then at 606, web server application 112 formats the requested information specially for the diminutive aspects of the wireless device.
Specialized formatting performed by web server application 112 may include removing images, abbreviating text, removing extraneous information, resizing text and/or controls, reorienting a page layout, and other steps required to enable display of the requested information. In addition, specialized formatting performed by web server application 112 may be achieved by referencing a style sheet unique to the device and/or browser. Specialized formatting performed by web server application 112 may also be achieved by providing pre-formatted pages of information previously prepared (e.g., static web pages unique to the device). Specialized formatting performed by web server application 112 may take into account the specific model of wireless devices 104, 105, 106 and browser versions, or alternatively, a single specialized format may be utilized for all requesting devices, one which minimizes the size of text and the size of any transmission, for example. At 607, the formatted information is supplied by web server application 112 in response to the initial request.
It will be appreciated that embodiments of the present invention provide methods, systems, and apparatuses for monitoring computer hardware and software systems remotely by receiving data regarding problems and events via a wireless device and responding to the received data via the wireless device. Although the invention has been described in language specific to computer structural features, methodological acts, and by computer readable media, it is to be understood that the invention is not necessarily limited to the specific structures, acts, or media described. Therefore, the specific structural features, acts, and mediums are disclosed as exemplary embodiments implementing the invention.
The various embodiments described above are provided by way of illustration only and should not be construed to limit the invention. Those skilled in the art will readily recognize various modifications and changes that may be made to the present invention without following the example embodiments and applications illustrated and described herein, and without departing from the true spirit and scope of the present invention.
This application is a continuation of and claims the benefit of U.S. patent application Ser. No. 13/690,610, filed Nov. 30, 2012, which is a continuation of and claims the benefit of U.S. patent application Ser. No. 13/307,390, filed Nov. 30, 2011, and issued as U.S. Pat. No. 8,355,707 on Jan. 15, 2013, which is a continuation of and claims the benefit of U.S. patent application Ser. No. 11/535,722, filed Sep. 27, 2006, and issued as U.S. Pat. No. 8,090,361 on Jan. 3, 2012, which claims the benefit of U.S. Provisional Application No. 60/808,748, filed on May 26, 2006, each of which is incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
60808748 | May 2006 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 13690610 | Nov 2012 | US |
Child | 14287145 | US | |
Parent | 13307390 | Nov 2011 | US |
Child | 13690610 | US | |
Parent | 11535722 | Sep 2006 | US |
Child | 13307390 | US |