US20010007140A1 - Operating system-independent computing system user feedback mechanism - Google Patents

Operating system-independent computing system user feedback mechanism Download PDF

Info

Publication number
US20010007140A1
US20010007140A1 US09/771,866 US77186601A US2001007140A1 US 20010007140 A1 US20010007140 A1 US 20010007140A1 US 77186601 A US77186601 A US 77186601A US 2001007140 A1 US2001007140 A1 US 2001007140A1
Authority
US
United States
Prior art keywords
computing system
operating
user feedback
feedback mechanism
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US09/771,866
Inventor
John Landry
Valiuddin Ali
Ajay Chaturvedi
Brooks Rorke
Stacy Wolff
Kevin Massaro
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Original Assignee
Compaq Information Technologies Group LP
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Assigned to COMPAQ COMPUTER CORPORATION reassignment COMPAQ COMPUTER CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ALI, VALIUDDIN Y., MASSARO, KEVIN L., LANDRY, JOHN A., WOLFF, STACY L., RORKE, BROOKS A., CHATURVEDI, AJAY
Application filed by Compaq Information Technologies Group LP filed Critical Compaq Information Technologies Group LP
Priority to US09/771,866 priority Critical patent/US20010007140A1/en
Publication of US20010007140A1 publication Critical patent/US20010007140A1/en
Assigned to COMPAQ INFORMATION TECHNOLOGIES GROUP, L.P. reassignment COMPAQ INFORMATION TECHNOLOGIES GROUP, L.P. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: COMPAQ COMPUTER CORPORATION
Assigned to HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P. reassignment HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: COMPAQ INFORMATION TECHNOLOGIES GROUP, L.P.
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/324Display of status information
    • G06F11/327Alarm or error message display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/324Display of status information
    • G06F11/328Computer systems status display

Definitions

  • the present invention generally relates to operating condition user feedback for computing systems, and more particularly to an operating system-independent user feedback mechanism of a computing system.
  • Audio alerts are perceived by users as annoying. Many users therefore lower the volume of their computer systems, defeating the purpose of the audio alerts.
  • LEDs are perceived by users as confusing, particularly where flashing patterns of the LEDs signify different operating conditions of the computer system. Even when users somewhat understand an operating condition conveyed by the monitor, audio alerts or LEDs, most users are fearful of touching and inadvertently “crashing” or depowering their computer systems, thereby risking a loss of data.
  • the operating system, monitor, audio alerts and LEDs alike have provided little, if any, feedback to users during critical times for a computer system such as system initialization or power-up, for example. Users tend to ignore or overlook any system information which is quickly flashed on the monitor during power-up. Users also have difficulty detecting when a computer system is in fact connected to the Internet. In the case of a user who frequently moves his or her desktop computer, such a user may be forced to check one or more cable connections if the computer does not power-up after the computer is relocated. Users thus are typically not well informed of the operating conditions or events of computer systems, if at all, and must resort to contacting the computer manufacturer, contacting the Internet service provider, examining the user's manual or examining the computer itself when a perceived problem develops.
  • a computing system employs a user feedback mechanism to monitor a plurality of operating conditions of the computing system and to alert a user to the plurality of operating conditions independently of an operating system of the computing system.
  • the user feedback mechanism includes a display panel to display a plurality of operating condition messages to the user and includes a controller to monitor a plurality of operating condition signals. Further, the user feedback mechanism is independently powered and further includes a safety button to signal a power supply to power off the computing system independently of the operating system. Examples of operating conditions include a connection state of the computing system to the Internet and a connection state of a peripheral device to the computing system.
  • operating conditions that the user feedback mechanism displays to the user independently of the operating system include a new e-mail notification message, a new Internet message or atomic time from a network server coupled to the computing system.
  • An operating condition message is cleared from the display panel when the operating condition is cured.
  • FIG. 1 is a block diagram of an exemplary software architecture of a computing system with an operating system-independent user feedback module
  • FIG. 2 is a block diagram of an exemplary hardware architecture of the computing system with an operating system-independent user feedback mechanism
  • FIGS. 3A and 3B show a flow chart illustrating exemplary operation of the operating system-independent user feedback module of FIG. 1 and the operating system-independent user feedback mechanism of FIG. 2;
  • FIG. 4 is a flow chart illustrating exemplary processing of the safety button of the operating system-independent user feedback mechanism of FIG. 2;
  • FIG. 5 is a block diagram of an exemplary architecture of the operating system-independent user feedback module of FIG. 1;
  • FIG. 6 is a block diagram illustrating exemplary application-level interfacing and system-level interfacing for the operating system-independent user feedback mechanism of FIG. 2.
  • FIG. 1 shows exemplary computing system software CS including an operating system 100 , system BIOS (Basic Input Output System) 102 , an operating system-independent user feedback or interface module 106 and an LCD (liquid crystal display) interface driver 118 .
  • the operating system 100 is a typical operating system including a system registry 126 , a clock 120 , an Internet manager 124 and a task scheduler 122 .
  • the operating system 100 is coupled to both system BIOS 102 and the user feedback module 106 .
  • the user feedback module 106 includes an operating system interface 110 coupled to the operating system 100 , a BIOS interface 112 coupled to the system BIOS 102 and an ACPI (Advanced Configuration and Power Interface) interface 114 to interface with ACPI logic.
  • the LCD interface driver 118 is also coupled to the user feedback module 106 .
  • the user feedback module 106 , the LCD interface driver 118 and the system BIOS 102 in combination provide software control of an operating system-independent user feedback or digital dashboard mechanism 200 such as shown in FIG. 2.
  • the term “computing system” as used herein refers to any system with a superset or subset of processing or Internet functions of a computer system, including but not limited to Internet appliances and information appliances.
  • exemplary computing system hardware CH including the user feedback mechanism 200 is shown.
  • the user feedback mechanism 200 is employed to monitor operating conditions (including fault conditions) of a computing system and to alert a user to the operating conditions independently of the operating system 100 .
  • the concept of “monitoring” operating conditions should be construed to encompass detecting data and processing the data to a more meaningful form to determine an operating condition.
  • An operating condition generally refers to any event or condition related to the operation of the computing system, including but not limited to fault conditions of the computing system.
  • fault condition should be construed to encompass any system condition that may negatively impact a user's experience with the computing system.
  • the operating system-independent user feedback mechanism 200 includes a mini display or LCD 204 , an interface controller 202 , a message indicator 208 , and a safety button 206 .
  • the interface controller 202 is shown coupled to the mini LCD 204 , the message indicator 208 , and the safety button 206 .
  • a user is alerted of operating conditions of the computing system by the mini LCD 204 displaying operating condition messages.
  • the mini LCD 204 receives an operating condition signal from the interface controller 202 and then displays a corresponding operating condition message.
  • a variety of operating condition signals and operating condition messages may be supported by the user feedback mechanism 200 .
  • the mini LCD 204 may also display instructions to a user for the user to cure the particular operating condition.
  • the mini display 204 may be implemented with display technologies other than LCD.
  • the message indicator 208 which for example may be implemented as one or more light-emitting diodes (LEDs), is used to indicate messages to a user such as an email message or an Internet message.
  • the term “Internet message” refers to any non-email message communicated over the Internet, such as messages unique to a particular Internet service provider.
  • the safety button 206 is used to signal a power supply 214 to power off the computing system if the computing system is not already powered off by the operating system 100 . Processing of the safety button 206 is described in more detail below in connection with FIG. 4.
  • the interface controller 202 is further coupled to ACPI logic 210 .
  • the ACPI logic 210 which is shown including an ACPI timer 212 , is coupled to the power supply 214 .
  • the use of the ACPI timer 212 is described below in connection with FIG. 4.
  • the arrowed line from the power supply 214 to the user feedback mechanism 200 represents that the user feedback mechanism 200 is powered independently of the rest of the computing system.
  • the mini LCD 204 is lit.
  • the user feedback mechanism 200 is preferably left on or powered at all times. The user feedback mechanism 200 thus operates even when the computing system is off or asleep.
  • the main processor 216 is a typical microprocessor for running an operating system and other software.
  • the monitor 220 , the keyboard 222 , the mouse 223 and the peripheral device 224 represent peripheral devices which may generate operating conditions to be detected and then displayed to a user. For example, if the monitor 220 is disconnected, a message (e.g., text and/or icon) indicating the monitor 220 is disconnected may be displayed on the mini LCD 204 .
  • the user feedback mechanism 200 monitors each level of connection and removal of peripheral devices of the computing system.
  • the monitor 220 , the keyboard 222 and the mouse 223 are treated as primary devices of the computing system. As such, the states of these devices are checked during system initialization as described in more detail below.
  • the operating condition is an Internet connection state of the computing system.
  • the operating condition is the keyboard connection state of the computing system.
  • the operating condition is the monitor connection state of the computing system.
  • the operating condition is the connection state of a peripheral device in the computing system.
  • the operating condition is a lock-up of the operating system 100 .
  • the operating condition is an email notification.
  • the operating condition is an Internet message.
  • the operating condition is the atomic time.
  • the computing system may detect atomic time from a network server during an Internet connection.
  • a default mode of the user feedback mechanism 200 is a clock mode in which atomic time is displayed on the mini LCD 204 .
  • the clock mode of the user feedback mechanism 200 runs independently of the operating system 100 and provides a more accurate clock. Even if a user does not initiate connection to the Internet every day, the user feedback mechanism 200 automatically connects to the Internet each day to ensure the accuracy of its clock.
  • This automatic Internet connection feature may be configured by a user to force an Internet connection as many times a day as desired and at whatever times are desired.
  • the operating condition is the power state (i.e., sleep mode) of the computing system. It should be understood that the operating conditions shown in steps 302 - 318 are illustrative and not exhaustive. As one example, an operating condition which may be detected using a watermark setting is whether a hard disk drive of the computing system is almost full. As another example, it may be detected whether the hard disk is about to crash. An operating condition may be detected by a notification or alert. Alternatively, at a desired time, the process may poll or query for an operating condition.
  • step 320 the operating condition is communicated to the mini LCD 204 . Communication of an operating condition to the mini LCD 204 is described below in connection with FIG. 6. As represented by the step 328 , a detected operating condition may be read by an application or the operating system 100 .
  • control proceeds to step 324 where an operating condition message corresponding to the operating condition is displayed by the mini LCD 204 . From step 324 , control proceeds to step 325 where an operating condition display complete signal is generated by the interface controller 202 . Control next proceeds to step 326 where an instruction to cure the operating condition is displayed by the mini LCD 204 . Next, in step 330 , it is then determined if the operating condition is cured. If the operating condition is not cured, then control remains in step 330 . In this way, the instruction to cure the operating condition remains displayed until the operating condition is cured by the user. If it is determined in step 330 that the operating condition is cured, then control proceeds to step 332 where the instruction is cleared from the mini LCD 204 .
  • step 326 of displaying an instruction to cure a operating condition is optional.
  • the operating condition message itself implies what a user needs to do to cure an operating condition, it may be desirable to not display an instruction to inform the user how to cure the operating condition. In other words, there may be some cases where once a user is informed of the operating condition, it is self-explanatory how to cure the operating condition.
  • Steps 334 - 340 are presented to illustrate situations where steps in addition to message display are performed by the user feedback mechanism 200 after detecting certain operating conditions. If an Internet message or an email notification is detected in step 334 , control proceeds to step 336 where the message indicator 208 is set. For example, if two email notifications were detected, then the message indicator 208 is set to periodically blink twice. If an Internet message or email notification is not detected in step 334 , then control proceeds directly to step 338 . In step 338 , it is determined if atomic time is detected. If not, control proceeds to step 342 indicating the operating condition feedback process is complete.
  • step 338 If atomic time is detected in step 338 , then control proceeds to step 340 where the clock 120 of the operating system 100 and a clock of the user feedback mechanism 200 are both updated with the atomic time. By updating the clock of the user feedback mechanism 200 , the mini LCD 204 displays atomic time. From step 340 , the process is completed in step 342 .
  • step 400 it is determined if a press or actuation of the safety button 206 by a user is detected. If a press or actuation is not detected, then control remains in step 400 . If a press or actuation is detected, then control proceeds to step 402 where the ACPI timer 212 is started. Next, in step 404 a shutdown of the operating system 100 is initiated. Control then proceeds to step 406 where it is determined if the ACPI timer 212 has expired. If the ACPI timer 212 has not expired, then control remains in step 406 .
  • step 408 it is determined if the operating system 100 is shutdown. Detection of a hang up by the operating system 100 is described in a commonly-assigned U.S. patent application, entitled “OPERATING SYSTEM HANG DETECTION AND CORRECTION,” previously incorporated herein. If the operating system 100 is shutdown, then control proceeds to step 412 where processing of the safety button 206 is complete. If the operating system 100 is not shutdown, then control proceeds to step 412 where the ACPI logic 210 is reset signaling the power supply 214 to turn off. At this point, the computing system can be considered as in a “safe mode.” From step 410 , control proceeds to step 412 where the processing of the safety button 206 is complete.
  • This process provides a way to ensure that the operating system 100 is shutdown.
  • a user can be ensured that the computing system is in a depowered state. With this assurance, a user can then be more comfortable opening or moving the computing system.
  • the use of the safe mode can prevent a user from accidentally powering off the computing system with files open in the operating system 100 .
  • the user feedback module 106 includes an operating system interface 110 , the BIOS interface 112 and the ACPI interface 114 .
  • the user feedback module 106 may further include client software components such as a device monitor 500 , an Internet monitor 502 , an atomic time monitor 504 , an email monitor 506 and an Internet message monitor 508 .
  • the device monitor 500 is used to detect the connection or other state of peripheral devices. For example, if the peripheral device is a CD-ROM drive, it can be detected whether the drive contains an audio CD, a data CD, or a DVD CD.
  • the device monitor 500 uses the WM_DEVICECHANGE signal provided by the operating system 100 to detect device states. If the device is a printer, then the device monitor 500 uses the WM_SPOOLERSTATUS signal provided by the operating system 100 to detect if a print job is started or finished.
  • APIs application programming interfaces
  • a variety of standard APIs may be employed to retrieve potentially useful information for a user from an operating system. In the past, such information has not been retrieved, processed and displayed to the user.
  • the Internet monitor 502 is used to detect if the computing system is connected to the Internet.
  • the Internet monitor 502 registers with the operating system 100 to receive messages regarding Remote Access Services (RAS).
  • RAS Remote Access Services
  • the Internet monitor 502 is informed by a notification or message when an Internet connection is made or disconnected.
  • the atomic time monitor 504 is used to detect atomic time from a server or network computer coupled to the computing system during an Internet connection.
  • the email monitor 506 is used to detect email notifications for the computing system.
  • the Internet message monitor 508 is used to detect Internet messages for the computing system.
  • the monitors 500 - 508 correspond to steps 302 - 308 and 312 - 316 of FIG. 3A.
  • the monitors 500 - 506 are described in more detail in the commonly-assigned U.S. patent application, entitled “DIGITAL FEEDBACK DISPLAY PANEL AND SUPPORTING SOFTWARE FOR A COMPUTER USER,” previously incorporated herein.
  • Application-level interfacing relates to an application 602 or 604 communicating with the mini LCD 204 .
  • System-level interfacing relates to a client 612 communicating with the mini LCD 204 .
  • An LCD interface 600 is shown coupled to the application 602 , the application 604 and an LCD interface driver 118 .
  • communication to the mini LCD 204 in the form of system-level interfacing overrides communication to the mini LCD 204 in the form of application-level interfacing.
  • the application 602 or 604 may for example be a debug application to track the operating conditions detected by the user feedback mechanism 200 .
  • the LCD interface 600 is a component object model (COM)-based interface called by the application 602 or 604 for communication with the mini LCD 204 .
  • COM component object model
  • the techniques for a COM interface to communicate with an application are well known in the art.
  • COM is a well known paradigm for interaction among software components.
  • the LCD interface 600 is used to provide the applications 602 and 604 an application-level logical interface to the mini LCD 204 of the user feedback mechanism 200 .
  • the application 604 through the LCD interface 600 can provide operating conditions to the user feedback mechanism 200 and can also specially configure display by the mini LCD 204 for the particular application 604 .
  • the LCD interface 600 is specially configured to encapsulate functionality for the application 602 or 604 to communicate with the mini LCD 204 of the user feedback mechanism 200 .
  • the LCD interface 600 is basically an open mechanism for any application 602 or 604 known by or registered with the operating system 100 to communicate with the mini LCD 204 .
  • the LCD interface 600 may also be used by the application 602 or 604 to read information from the mini LCD 204 .
  • the application 602 or 604 can be written in any computer language (e.g., Java, C++ or HTML).
  • the table below shows a variety of interface methods for the LCD interface 600 . Beside the name of each interface method shown, a general description of the interface method is provided. Interface Method Name Interface Method Description SetClock This method updates the time of the internal clock of the mini LCD and the system clock of the operating system. SetClockEX This method updates the date and time of the internal clock of the mini LCD and the system clock of the operating system. SetLEDState This method is used to set an LED for the feedback mechanism to an on, off or blinking state. The supported LEDs are a sleep LED, an Internet detect LED, a power LED, a message LED and a backlight LED. DisplayText This method is used to control parameters for displaying text on the mini LCD.
  • SimplyDisplayText This method is used to display text on the mini LCD with default text display parameters.
  • SimplyScrollText This method is used to scroll text on the mini LCD with default scrolling parameters.
  • GetLCDLongProperties This method is used to fetch the properties of the mini LCD.
  • ClearText This method clears the text display area of the mini LCD and displays the clock if no pending text is waiting to be displayed.
  • DisplayIcon This method is used to control parameters for displaying icons on the mini LCD.
  • SimplyDisplayIcon This method is used to display icons on the mini LCD with default icon display parameters.
  • BlinkIcon This method is used to control blinking of icons on the mini LCD.
  • DisplayIconEX This method is used to display icons on the mini LCD with blinking and timeout control.
  • ClearIcon This method is used to clear an icon from the mini LCD.
  • LoadIcon This method downloads an icon with its icon handle to the mini LCD.
  • LoadIconFromBitmap This method downloads an icon from a bitmap to the mini LCD.
  • LoadIconFromByteArray This method downloads an icon from a one- dimensional array to the mini LCD.
  • LoadIconFromPicture This method extracts icon data from an OLE picture object for the mini LCD.
  • LoadFont This method extracts font data from an OLE font object for the mini LCD.
  • LoadFontFrom downloads a font from a byte ByteArray array to the mini LCD.
  • PlaySound This method plays sound for the feedback mechanism with default sound parameters.
  • PlaySoundEX This method controls parameters for playing sound for the feedback mechanism.
  • a variety of application-specific messages may be displayed by the mini LCD 204 .
  • the mini LCD 204 may be used to indicate that Microsoft Word® is launching or to indicate that Microsoft Word® is terminating.
  • the application 602 or 604 can be scheduled for launching by the operating system 100 and can be self-terminated when not needed.
  • the application 604 is a paging application, then the application 604 can signal the mini LCD 204 to display “paging mom” when the application 604 is being used to page the mother of the user.
  • application 602 is shown coupled to the operating system 100 to represent that an application may leverage the resources of the operating system 100 .
  • An application may also leverage the resources of another application.
  • a variety of applications or clients may communicate with the user feedback mechanism 200 . As such, the applications and clients disclosed herein are illustrative and not exhaustive. With the exception of reference numerals in the description of FIG. 6, applications and clients are used herein interchangeably.
  • the client 612 communicates with the mini LCD 204 through the LCD interface driver 118 or the system BIOS 102 .
  • the LCD interface driver 118 is coupled to the LCD interface 600 and to input/output (I/O) logic 608 .
  • the LCD interface driver 118 is configured as an RS-232 or other serial port driver.
  • the driver 118 includes entry points typical of a Windows driver model (WDM)/NT driver as well as driver entry points specialized for the user feedback mechanism 200 .
  • WDM Windows driver model
  • NT driver entry points specialized for the user feedback mechanism 200 .
  • the table below shows a variety of driver entry points used in connection with the user feedback mechanism 200 .
  • CPQLCD_DriverEntry This routine ensures that the driver is loaded when the mini LCD is found. It also registers the rest of the entry points of the driver with the operating system and makes them visible to the operating system.
  • CPQLCD_Dispatch This routine services the calls from applications/clients and services IOCTLs which are supported by the driver.
  • CPQLCD_StartIo This routine is used to interface with a physical device.
  • CPQLCD_Unload This routine disconnects and un-registers from all the interrupts that it services once it has unloaded.
  • CPQLCD_AddDevice This routine adds a device object when a new device (such as the mini LCD) is detected.
  • CPQLCD_RemoveDevice This routine removes a device.
  • CPQLCD_Create This routine creates a handle to call into the driver.
  • CPQLCD_Close This routine closes a handle for a specific client and deletes the resources allocated by that client.
  • CPQLCD_Write This routine handles write requests for the driver.
  • CPQLCD_Read This routine handles read requests for the driver.
  • CPQLCD_ConnectInterrupt This routine registers the driver with the operating system for servicing specific interrupts from the mini LCD.
  • CPQLCD_InterruptServiceRoutine This routine saves data necessary for servicing an interrupt after an interrupt arrives and then dismisses the interrupt.
  • CPQLCD_DpcRoutine This routine generates deferred procedure calls queued by the interrupt service routine from any interrupt-related processing.
  • CPQLCD_Is_LCD_Present This routine is used to determine if the mini LCD exists.
  • CPQLCD ⁇ Set_Baud_Rate This routine is used to set the baud rate of the mini LCD.
  • CPQLCD_SendCmdTo_LCD This routine is used to send a command to the mini LCD.
  • GetRegistryDword This routine is used to read a DWORD.
  • GetNextIconLocation This routine routines the next available free icon location for the mini LCD.
  • CleanUpClientIcons This routine is used to clean up or clear icons for a particular client or application.
  • ClearIconLocation This routine allows a client or application to selectively call and remove icons.
  • SendAByte This routine is used to send a byte to a particular port.
  • SetBaudRate This routine is used to set the baud rate for a port.
  • EnableIRQTriggering This routine is used to enable interrupt request triggering.
  • ResetIRQTriggering This routine is used to reset interrupt request triggering.
  • ReadStatusPort This routine is used to read a status port.
  • ReceiveByte This routine is used to read a byte from a port.
  • SendByteWhenReady This routine is used to send a byte when a port is ready.
  • CompleteIRP This routine is used to complete an IRP.
  • StartPacket This routine is used to queue an IRP.
  • the IRP may be a time command, text command or LED command.
  • APP CommandComplete This routine is used to track the last command that was set for the mini LCD.
  • APPTextCmdFinish This routine is used to ensure that a command for the mini LCD is completed.
  • SendTextCommands This routine is used to send a text command to the mini LCD.
  • ControlLED This routine is used to turn on or turn off an LED of the user feedback mechanism.
  • ResetLCD This routine is used to reset the mini LCD.
  • IOCTLs (name and description) supported by the driver 118 are shown in the table below: IOCTL Name IOCTL Description CPQLCD_GET_CLIENT_ID This IOCTL is used to fetch a unique identifier for a client/application. The identifier may be used to keep track of any icons downloaded by that client/application. CPQLCD_CLIENT_CLEAN_UP This IOCTL is used when a client/application no longer needs the services of the mini LCD and the driver. CPQLCD_GET_DRIVER_INFO This IOCTL is used to obtain the name and version number for the driver. CPQLCD_CLEAR_ICON_BMP This IOCTL is used for clearing specific bitmaps no longer needed by the client.
  • CPQLCD_DEF_ICON_BMP This IOCTL defines and downloads a bitmap and returns an identification number for the icon to uniquely identify that icon.
  • CPQLCD_DISPLAY_ICON This IOCTL displays an icon identified by the icon identification number.
  • CPQLCD_DEFINE_FONT This IOCTL defines a bitmap for a specific character.
  • CPQLCD_DISPLAY_TEXT This IOCTL is used to display text for a specified time on the mini LCD.
  • CPQLCD_CONTROL_LED This IOCTL is used to control the state of the LEDs of the user feedback mechanism.
  • CPQLCD_SET_CLOCK This IOCTL is used to set the clock of the user feedback mechanism to a desired time.
  • CPQLCD_QUERY_REVISION This IOCTL is used to obtain a revision number of the mini LCD for identification purposes.
  • the driver 118 can be used to dynamically download text or an icon for an application or client.
  • the driver 118 is a Plug‘n’Play driver.
  • One potential use of the CPQLCD_DEFINE_TEXT IOCTL is to define a new font for text during the clock mode of the user feedback mechanism 200 .
  • the driver entry points and IOCTLs disclosed herein are illustrative and not exhaustive.
  • the LCD interface 600 enables an application or client component to drive the mini LCD 204 such that an application or client component is not required to communicate directly with the LCD interface driver 118 .
  • the LCD interface 600 uses the driver entry points to shield individual applications from having to talk to the LCD interface driver 118 directly.
  • the input/output logic 608 includes ACPI logic 210 and a universal asynchronous receiver/transmitter (UART) 606 .
  • the ACPI logic 210 is coupled to the system BIOS 102 and to the power supply 214 .
  • system level interfacing by the client 612 with the mini LCD 204 may be handled through the system BIOS 102 .
  • Handshaking and other communication between the LCD interface driver and system BIOS is described in a commonly-assigned U.S. patent application, entitled “OPERATING SYSTEM HANG DETECTION AND CORRECTION,” previously incorporated herein.
  • System BIOS 102 and the LCD interface driver 118 are independent of the operating system 100 in a different sense.
  • System BIOS 102 is independent of the operating system 100 in the sense that device states of the primary devices are detected during system initialization (e.g., POST) of the computing system by bypassing the operating system 100 .
  • the LCD interface driver 118 and the application 602 or 604 are independent of the operating system 100 in the sense that the manner for the application 602 or 604 and the LCD interface driver 118 to drive the mini LCD 204 is not limited to a particular operating system. The resources or mechanisms of any given operating system may be used in driving the mini LCD 204 .
  • UART-to-UART communication is accomplished through the interface controller 202 between the UART 606 of the I/O logic 608 and a UART 610 of the mini LCD 204 .
  • functionality for communicating an operating condition to the mini LCD 204 may be encapsulated in the client 612 or the application 602 or 604 . In an alternative embodiment, such functionality may to some extent be integrated into the operating system 100 itself, although potentially sacrificing some independence from the operating system 100 .
  • the interface controller 202 is a microcontroller in the 80C52 family. For sake of clarity, certain well known components (e.g., memory, latch and other logic) used by a display controller in communicating with a display are not shown.
  • a computing system provides a user feedback or digital dashboard mechanism to monitor and alert a user of operating conditions independently of an operating system.
  • An application or client monitors operating conditions and talks to a display panel through a display interface. In this way, the application or client may talk to the display panel in connection with any operating system.
  • system BIOS is available for the client to use to talk to the display panel independently of both the display interface and the operating system.
  • One advantage of the user feedback mechanism is that potentially useful information known by the operating system is actually retrieved, processed and displayed to a user in a comprehensible and user friendly fashion.
  • a further advantage of the user feedback mechanism is that information which is not specifically known by the operating system can be monitored and displayed to a user.
  • the user feedback mechanism provides a comprehensible way to alert a user to useful information which in the past has not been generated or communicated to the user.
  • the user feedback mechanism By displaying information on the mini display of the user feedback mechanism, useful or valuable feedback as to the condition of the computing system may be provided to a user even while a monitor is off or a screen saver is on. In other words, information which cannot be presented on the main display can be presented on the mini display of the user feedback mechanism. Since the user feedback mechanism operates independently of an operating system, a user can be presented with useful feedback information during system initialization when the operating system is unavailable. Because of its independence from the operating system, the user feedback mechanism is a guaranteed, failsafe interface to a computing system that users can depend upon for valuable operational and fault tolerant information.

Abstract

A computing system employs a user feedback mechanism to monitor operating conditions of the computing system and to alert a user to the operating conditions independently of an operating system of the computing system. The user feedback mechanism includes a display panel to display operating condition messages to the user and includes a controller to monitor operating condition signals. Some examples of operating conditions include a connection state of the computing system to the Internet, a connection state of a peripheral device to the computing system, a new e-mail notification message, a new Internet message and atomic time from a network server coupled to the computing system. The user feedback mechanism may include a safety button to signal a power supply to power off the computing system independently of the operating system.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • This application is a continuation-in-part of U.S. patent application Ser. No. 09/478,153, entitled “DIGITAL FEEDBACK DISPLAY PANEL AND SUPPORTING SOFTWARE FOR A COMPUTER USER,” filed Jan. 5, 2000, which is incorporated herein by reference in its entirety for all purposes. [0001]
  • BACKGROUND OF THE INVENTION
  • 1. Field of the Invention [0002]
  • The present invention generally relates to operating condition user feedback for computing systems, and more particularly to an operating system-independent user feedback mechanism of a computing system. [0003]
  • 2. Description of the Related Art [0004]
  • User feedback with respect to operating conditions or states of a computer system has typically been provided by a monitor, audio alerts, light emitting diodes (LEDs) or directly by an operating system of the computer system. Each of these forms of user feedback in effect depends upon operating system control. Where an operating condition relates to an error with the operating system itself, the operating system cannot detect such an error. A lock-up of the operating system is therefore particularly difficult for a user to detect. One drawback of relying upon the operating system and the monitor to provide user feedback is that neither the operating system nor the monitor are available at all times. A computer system is typically configured to enter a low power or sleep mode after a certain period of idle time where neither the monitor nor the operating system are available. Because of the unavailability of the monitor and the operating system in a low power mode, certain operating conditions are not communicated to a user. For example, a user cannot determine when a new e-mail is available during a low power mode. Even a feature such as a digital clock has depended upon the monitor being fully awake and upon the operating system. [0005]
  • Many computer users tend to be frustrated with user feedback in the form of audio alerts and LEDs. Audio alerts are perceived by users as annoying. Many users therefore lower the volume of their computer systems, defeating the purpose of the audio alerts. LEDs (including the hard disk drive LED of a computer system) are perceived by users as confusing, particularly where flashing patterns of the LEDs signify different operating conditions of the computer system. Even when users somewhat understand an operating condition conveyed by the monitor, audio alerts or LEDs, most users are fearful of touching and inadvertently “crashing” or depowering their computer systems, thereby risking a loss of data. [0006]
  • The operating system, monitor, audio alerts and LEDs alike have provided little, if any, feedback to users during critical times for a computer system such as system initialization or power-up, for example. Users tend to ignore or overlook any system information which is quickly flashed on the monitor during power-up. Users also have difficulty detecting when a computer system is in fact connected to the Internet. In the case of a user who frequently moves his or her desktop computer, such a user may be forced to check one or more cable connections if the computer does not power-up after the computer is relocated. Users thus are typically not well informed of the operating conditions or events of computer systems, if at all, and must resort to contacting the computer manufacturer, contacting the Internet service provider, examining the user's manual or examining the computer itself when a perceived problem develops. [0007]
  • SUMMARY OF THE INVENTION
  • Briefly, a computing system employs a user feedback mechanism to monitor a plurality of operating conditions of the computing system and to alert a user to the plurality of operating conditions independently of an operating system of the computing system. The user feedback mechanism includes a display panel to display a plurality of operating condition messages to the user and includes a controller to monitor a plurality of operating condition signals. Further, the user feedback mechanism is independently powered and further includes a safety button to signal a power supply to power off the computing system independently of the operating system. Examples of operating conditions include a connection state of the computing system to the Internet and a connection state of a peripheral device to the computing system. Other examples of operating conditions that the user feedback mechanism displays to the user independently of the operating system include a new e-mail notification message, a new Internet message or atomic time from a network server coupled to the computing system. An operating condition message is cleared from the display panel when the operating condition is cured. [0008]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • A better understanding of the present invention can be obtained when the following detailed description of the preferred embodiment is considered in conjunction with the following drawings, in which: [0009]
  • FIG. 1 is a block diagram of an exemplary software architecture of a computing system with an operating system-independent user feedback module; [0010]
  • FIG. 2 is a block diagram of an exemplary hardware architecture of the computing system with an operating system-independent user feedback mechanism; [0011]
  • FIGS. 3A and 3B show a flow chart illustrating exemplary operation of the operating system-independent user feedback module of FIG. 1 and the operating system-independent user feedback mechanism of FIG. 2; [0012]
  • FIG. 4 is a flow chart illustrating exemplary processing of the safety button of the operating system-independent user feedback mechanism of FIG. 2; [0013]
  • FIG. 5 is a block diagram of an exemplary architecture of the operating system-independent user feedback module of FIG. 1; and [0014]
  • FIG. 6 is a block diagram illustrating exemplary application-level interfacing and system-level interfacing for the operating system-independent user feedback mechanism of FIG. 2. [0015]
  • DETAILED DESCRIPTION OF PREFERRED EMBODIMENT
  • The following commonly-assigned patent application is incorporated herein by reference in its entirety for all purposes: [0016]
  • U.S. patent application, Ser. No. 09/557,700, entitled “OPERATING SYSTEM HANG DETECTION AND CORRECTION,” filed Apr. 25, 2000 by Craig L. Chaiken and Stan Stanart. [0017]
  • Turning now to the drawings, FIG. 1 shows exemplary computing system software CS including an [0018] operating system 100, system BIOS (Basic Input Output System) 102, an operating system-independent user feedback or interface module 106 and an LCD (liquid crystal display) interface driver 118. The operating system 100 is a typical operating system including a system registry 126, a clock 120, an Internet manager 124 and a task scheduler 122. The operating system 100 is coupled to both system BIOS 102 and the user feedback module 106. The user feedback module 106 includes an operating system interface 110 coupled to the operating system 100, a BIOS interface 112 coupled to the system BIOS 102 and an ACPI (Advanced Configuration and Power Interface) interface 114 to interface with ACPI logic. The LCD interface driver 118 is also coupled to the user feedback module 106. The user feedback module 106, the LCD interface driver 118 and the system BIOS 102 in combination provide software control of an operating system-independent user feedback or digital dashboard mechanism 200 such as shown in FIG. 2. The term “computing system” as used herein refers to any system with a superset or subset of processing or Internet functions of a computer system, including but not limited to Internet appliances and information appliances.
  • Referring to FIG. 2, exemplary computing system hardware CH including the [0019] user feedback mechanism 200 is shown. The user feedback mechanism 200 is employed to monitor operating conditions (including fault conditions) of a computing system and to alert a user to the operating conditions independently of the operating system 100. The concept of “monitoring” operating conditions should be construed to encompass detecting data and processing the data to a more meaningful form to determine an operating condition. An operating condition generally refers to any event or condition related to the operation of the computing system, including but not limited to fault conditions of the computing system. The term “fault condition” should be construed to encompass any system condition that may negatively impact a user's experience with the computing system. The operating system-independent user feedback mechanism 200 includes a mini display or LCD 204, an interface controller 202, a message indicator 208, and a safety button 206. The interface controller 202 is shown coupled to the mini LCD 204, the message indicator 208, and the safety button 206. A user is alerted of operating conditions of the computing system by the mini LCD 204 displaying operating condition messages. The mini LCD 204 receives an operating condition signal from the interface controller 202 and then displays a corresponding operating condition message. A variety of operating condition signals and operating condition messages may be supported by the user feedback mechanism 200. In addition to displaying operating condition messages, the mini LCD 204 may also display instructions to a user for the user to cure the particular operating condition. It should be understood that the mini display 204 may be implemented with display technologies other than LCD. The message indicator 208, which for example may be implemented as one or more light-emitting diodes (LEDs), is used to indicate messages to a user such as an email message or an Internet message. The term “Internet message” refers to any non-email message communicated over the Internet, such as messages unique to a particular Internet service provider. The safety button 206 is used to signal a power supply 214 to power off the computing system if the computing system is not already powered off by the operating system 100. Processing of the safety button 206 is described in more detail below in connection with FIG. 4.
  • The [0020] interface controller 202 is further coupled to ACPI logic 210. The ACPI logic 210, which is shown including an ACPI timer 212, is coupled to the power supply 214. The use of the ACPI timer 212 is described below in connection with FIG. 4. The arrowed line from the power supply 214 to the user feedback mechanism 200 represents that the user feedback mechanism 200 is powered independently of the rest of the computing system. When the user feedback mechanism 200 is powered (i.e., when the user feedback mechanism power cable is plugged in), the mini LCD 204 is lit. Unlike the computing system itself, the user feedback mechanism 200 is preferably left on or powered at all times. The user feedback mechanism 200 thus operates even when the computing system is off or asleep. Other illustrated hardware of the computing system includes a main processor 216, a monitor 220, a keyboard 222, a mouse 223 and a peripheral device 224. The main processor 216 is a typical microprocessor for running an operating system and other software. The monitor 220, the keyboard 222, the mouse 223 and the peripheral device 224 represent peripheral devices which may generate operating conditions to be detected and then displayed to a user. For example, if the monitor 220 is disconnected, a message (e.g., text and/or icon) indicating the monitor 220 is disconnected may be displayed on the mini LCD 204. In a disclosed embodiment, the user feedback mechanism 200 monitors each level of connection and removal of peripheral devices of the computing system. The monitor 220, the keyboard 222 and the mouse 223 are treated as primary devices of the computing system. As such, the states of these devices are checked during system initialization as described in more detail below.
  • Referring to FIGS. [0021] 3A-3B, an exemplary operating system-independent operating condition feedback process using the user feedback mechanism 200 is shown. The process begins at any of the steps 302-318 which represent detection of a variety of operating conditions. In step 302, the operating condition is an Internet connection state of the computing system. In step 304, the operating condition is the keyboard connection state of the computing system. In step 306, the operating condition is the monitor connection state of the computing system. In step 308, the operating condition is the connection state of a peripheral device in the computing system. In step 310, the operating condition is a lock-up of the operating system 100. In step 312, the operating condition is an email notification. In step 314, the operating condition is an Internet message. In step 316, the operating condition is the atomic time. The computing system may detect atomic time from a network server during an Internet connection. In a disclosed embodiment, a default mode of the user feedback mechanism 200 is a clock mode in which atomic time is displayed on the mini LCD 204. Compared to a typical operating system-based clock of a computer system, the clock mode of the user feedback mechanism 200 runs independently of the operating system 100 and provides a more accurate clock. Even if a user does not initiate connection to the Internet every day, the user feedback mechanism 200 automatically connects to the Internet each day to ensure the accuracy of its clock. This automatic Internet connection feature may be configured by a user to force an Internet connection as many times a day as desired and at whatever times are desired. Since an OS-based clock is at times not visible on a monitor, users have typically relied upon clocks external to their computer systems. A user, however, can view the clock of the user feedback mechanism 200 at any time. In step 318, the operating condition is the power state (i.e., sleep mode) of the computing system. It should be understood that the operating conditions shown in steps 302-318 are illustrative and not exhaustive. As one example, an operating condition which may be detected using a watermark setting is whether a hard disk drive of the computing system is almost full. As another example, it may be detected whether the hard disk is about to crash. An operating condition may be detected by a notification or alert. Alternatively, at a desired time, the process may poll or query for an operating condition. For each of steps 302-318, control proceeds next to step 320. In step 320, the operating condition is communicated to the mini LCD 204. Communication of an operating condition to the mini LCD 204 is described below in connection with FIG. 6. As represented by the step 328, a detected operating condition may be read by an application or the operating system 100.
  • Next, control proceeds to step [0022] 324 where an operating condition message corresponding to the operating condition is displayed by the mini LCD 204. From step 324, control proceeds to step 325 where an operating condition display complete signal is generated by the interface controller 202. Control next proceeds to step 326 where an instruction to cure the operating condition is displayed by the mini LCD 204. Next, in step 330, it is then determined if the operating condition is cured. If the operating condition is not cured, then control remains in step 330. In this way, the instruction to cure the operating condition remains displayed until the operating condition is cured by the user. If it is determined in step 330 that the operating condition is cured, then control proceeds to step 332 where the instruction is cleared from the mini LCD 204. It should be understood that step 326 of displaying an instruction to cure a operating condition is optional. For example, if the operating condition message itself implies what a user needs to do to cure an operating condition, it may be desirable to not display an instruction to inform the user how to cure the operating condition. In other words, there may be some cases where once a user is informed of the operating condition, it is self-explanatory how to cure the operating condition.
  • Steps [0023] 334-340 are presented to illustrate situations where steps in addition to message display are performed by the user feedback mechanism 200 after detecting certain operating conditions. If an Internet message or an email notification is detected in step 334, control proceeds to step 336 where the message indicator 208 is set. For example, if two email notifications were detected, then the message indicator 208 is set to periodically blink twice. If an Internet message or email notification is not detected in step 334, then control proceeds directly to step 338. In step 338, it is determined if atomic time is detected. If not, control proceeds to step 342 indicating the operating condition feedback process is complete. If atomic time is detected in step 338, then control proceeds to step 340 where the clock 120 of the operating system 100 and a clock of the user feedback mechanism 200 are both updated with the atomic time. By updating the clock of the user feedback mechanism 200, the mini LCD 204 displays atomic time. From step 340, the process is completed in step 342.
  • Referring to FIG. 4, processing of the safety button [0024] 206 (FIG. 2) is shown. The process begins in step 400 where it is determined if a press or actuation of the safety button 206 by a user is detected. If a press or actuation is not detected, then control remains in step 400. If a press or actuation is detected, then control proceeds to step 402 where the ACPI timer 212 is started. Next, in step 404 a shutdown of the operating system 100 is initiated. Control then proceeds to step 406 where it is determined if the ACPI timer 212 has expired. If the ACPI timer 212 has not expired, then control remains in step 406. If the ACPI timer 212 has expired, then control proceeds to step 408 where it is determined if the operating system 100 is shutdown. Detection of a hang up by the operating system 100 is described in a commonly-assigned U.S. patent application, entitled “OPERATING SYSTEM HANG DETECTION AND CORRECTION,” previously incorporated herein. If the operating system 100 is shutdown, then control proceeds to step 412 where processing of the safety button 206 is complete. If the operating system 100 is not shutdown, then control proceeds to step 412 where the ACPI logic 210 is reset signaling the power supply 214 to turn off. At this point, the computing system can be considered as in a “safe mode.” From step 410, control proceeds to step 412 where the processing of the safety button 206 is complete. This process provides a way to ensure that the operating system 100 is shutdown. By using the safety button 206, a user can be ensured that the computing system is in a depowered state. With this assurance, a user can then be more comfortable opening or moving the computing system. The use of the safe mode can prevent a user from accidentally powering off the computing system with files open in the operating system 100.
  • Referring to FIG. 5, exemplary software components which may be included in the [0025] user feedback module 106 of FIG. 1 is shown. As previously shown in FIG. 1, the user feedback module 106 includes an operating system interface 110, the BIOS interface 112 and the ACPI interface 114. The user feedback module 106 may further include client software components such as a device monitor 500, an Internet monitor 502, an atomic time monitor 504, an email monitor 506 and an Internet message monitor 508. The device monitor 500 is used to detect the connection or other state of peripheral devices. For example, if the peripheral device is a CD-ROM drive, it can be detected whether the drive contains an audio CD, a data CD, or a DVD CD. In a disclosed embodiment, the device monitor 500 uses the WM_DEVICECHANGE signal provided by the operating system 100 to detect device states. If the device is a printer, then the device monitor 500 uses the WM_SPOOLERSTATUS signal provided by the operating system 100 to detect if a print job is started or finished. Those skilled in the art are familiar with calling application programming interfaces (APIs) into an operating system to retrieve desired information known by the operating system. A variety of standard APIs may be employed to retrieve potentially useful information for a user from an operating system. In the past, such information has not been retrieved, processed and displayed to the user.
  • The Internet monitor [0026] 502 is used to detect if the computing system is connected to the Internet. In a disclosed embodiment, the Internet monitor 502 registers with the operating system 100 to receive messages regarding Remote Access Services (RAS). The Internet monitor 502 is informed by a notification or message when an Internet connection is made or disconnected. The atomic time monitor 504 is used to detect atomic time from a server or network computer coupled to the computing system during an Internet connection. The email monitor 506 is used to detect email notifications for the computing system. The Internet message monitor 508 is used to detect Internet messages for the computing system. The monitors 500-508 correspond to steps 302-308 and 312-316 of FIG. 3A. The monitors 500-506 are described in more detail in the commonly-assigned U.S. patent application, entitled “DIGITAL FEEDBACK DISPLAY PANEL AND SUPPORTING SOFTWARE FOR A COMPUTER USER,” previously incorporated herein.
  • Referring to FIG. 6, exemplary application-level interfacing and system-level interfacing for the [0027] user feedback mechanism 200 is shown. Application-level interfacing relates to an application 602 or 604 communicating with the mini LCD 204. System-level interfacing relates to a client 612 communicating with the mini LCD 204. An LCD interface 600 is shown coupled to the application 602, the application 604 and an LCD interface driver 118. In a disclosed embodiment, communication to the mini LCD 204 in the form of system-level interfacing overrides communication to the mini LCD 204 in the form of application-level interfacing. The application 602 or 604 may for example be a debug application to track the operating conditions detected by the user feedback mechanism 200. In a disclosed embodiment, the LCD interface 600 is a component object model (COM)-based interface called by the application 602 or 604 for communication with the mini LCD 204. The techniques for a COM interface to communicate with an application are well known in the art. COM is a well known paradigm for interaction among software components. The LCD interface 600 is used to provide the applications 602 and 604 an application-level logical interface to the mini LCD 204 of the user feedback mechanism 200. For example, the application 604 through the LCD interface 600 can provide operating conditions to the user feedback mechanism 200 and can also specially configure display by the mini LCD 204 for the particular application 604. The LCD interface 600 is specially configured to encapsulate functionality for the application 602 or 604 to communicate with the mini LCD 204 of the user feedback mechanism 200. The LCD interface 600 is basically an open mechanism for any application 602 or 604 known by or registered with the operating system 100 to communicate with the mini LCD 204. The LCD interface 600 may also be used by the application 602 or 604 to read information from the mini LCD 204. The application 602 or 604 can be written in any computer language (e.g., Java, C++ or HTML).
  • The table below shows a variety of interface methods for the [0028] LCD interface 600. Beside the name of each interface method shown, a general description of the interface method is provided.
    Interface Method Name Interface Method Description
    SetClock This method updates the time of the internal
    clock of the mini LCD and the system clock
    of the operating system.
    SetClockEX This method updates the date and time of the
    internal clock of the mini LCD and the
    system clock of the operating system.
    SetLEDState This method is used to set an LED for the
    feedback mechanism to an on, off or blinking
    state. The supported LEDs are a sleep LED,
    an Internet detect LED, a power LED, a
    message LED and a backlight LED.
    DisplayText This method is used to control parameters for
    displaying text on the mini LCD.
    SimplyDisplayText This method is used to display text on the
    mini LCD with default text display
    parameters.
    SimplyScrollText This method is used to scroll text on the mini
    LCD with default scrolling parameters.
    GetLCDLongProperties This method is used to fetch the properties of
    the mini LCD.
    ClearText This method clears the text display area of the
    mini LCD and displays the clock if no
    pending text is waiting to be displayed.
    DisplayIcon This method is used to control parameters for
    displaying icons on the mini LCD.
    SimplyDisplayIcon This method is used to display icons on the
    mini LCD with default icon display
    parameters.
    BlinkIcon This method is used to control blinking of
    icons on the mini LCD.
    DisplayIconEX This method is used to display icons on the
    mini LCD with blinking and timeout control.
    ClearIcon This method is used to clear an icon from the
    mini LCD.
    LoadIcon This method downloads an icon with its icon
    handle to the mini LCD.
    LoadIconFromBitmap This method downloads an icon from a
    bitmap to the mini LCD.
    LoadIconFromByteArray This method downloads an icon from a one-
    dimensional array to the mini LCD.
    LoadIconFromPicture This method extracts icon data from an OLE
    picture object for the mini LCD.
    LoadFont This method extracts font data from an OLE
    font object for the mini LCD.
    LoadFontFrom This method downloads a font from a byte
    ByteArray array to the mini LCD.
    PlaySound This method plays sound for the feedback
    mechanism with default sound parameters.
    PlaySoundEX This method controls parameters for playing
    sound for the feedback mechanism.
  • It should be understood that the COM interface methods disclosed herein are illustrative and not exhaustive. [0029]
  • A variety of application-specific messages may be displayed by the [0030] mini LCD 204. If the application for example is Microsoft Word®, then the mini LCD 204 may be used to indicate that Microsoft Word® is launching or to indicate that Microsoft Word® is terminating. The application 602 or 604 can be scheduled for launching by the operating system 100 and can be self-terminated when not needed. As another example, if the application 604 is a paging application, then the application 604 can signal the mini LCD 204 to display “paging mom” when the application 604 is being used to page the mother of the user. Five other examples of applications that may communicate with the user feedback mechanism 200 include a calculator application, a calendar application, an alarm application, a voice mail application, and a web-based diagnostic application for the computing system manufacturer to remotely reply to service requests from the user or remotely download code updates to the user. Unlike application 604, application 602 is shown coupled to the operating system 100 to represent that an application may leverage the resources of the operating system 100. An application may also leverage the resources of another application. It should be understood that a variety of applications or clients may communicate with the user feedback mechanism 200. As such, the applications and clients disclosed herein are illustrative and not exhaustive. With the exception of reference numerals in the description of FIG. 6, applications and clients are used herein interchangeably. The client 612, such as one represented by any of monitors 500-508 in FIG. 6, communicates with the mini LCD 204 through the LCD interface driver 118 or the system BIOS 102. The LCD interface driver 118 is coupled to the LCD interface 600 and to input/output (I/O) logic 608. In a disclosed embodiment, the LCD interface driver 118 is configured as an RS-232 or other serial port driver. In addition, in a disclosed embodiment, the driver 118 includes entry points typical of a Windows driver model (WDM)/NT driver as well as driver entry points specialized for the user feedback mechanism 200. The table below shows a variety of driver entry points used in connection with the user feedback mechanism 200. Beside the name of each driver entry point shown, a description of the driver entry point is provided.
    Driver Entry Point Name Driver Entry Point Description
    CPQLCD_DriverEntry This routine ensures that the driver is loaded
    when the mini LCD is found. It also registers
    the rest of the entry points of the driver with
    the operating system and makes them visible
    to the operating system.
    CPQLCD_Dispatch This routine services the calls from
    applications/clients and services IOCTLs
    which are supported by the driver.
    CPQLCD_StartIo This routine is used to interface with a
    physical device.
    CPQLCD_Unload This routine disconnects and un-registers
    from all the interrupts that it services once it
    has unloaded.
    CPQLCD_AddDevice This routine adds a device object when a new
    device (such as the mini LCD) is detected.
    CPQLCD_RemoveDevice This routine removes a device.
    CPQLCD_Create This routine creates a handle to call into the
    driver.
    CPQLCD_Close This routine closes a handle for a specific
    client and deletes the resources allocated by
    that client.
    CPQLCD_Write This routine handles write requests for the
    driver.
    CPQLCD_Read This routine handles read requests for the
    driver.
    CPQLCD_ConnectInterrupt This routine registers the driver with the
    operating system for servicing specific
    interrupts from the mini LCD.
    CPQLCD_InterruptServiceRoutine This routine saves data necessary for
    servicing an interrupt after an interrupt
    arrives and then dismisses the interrupt.
    CPQLCD_DpcRoutine This routine generates deferred procedure
    calls queued by the interrupt service routine
    from any interrupt-related processing.
    CPQLCD_Is_LCD_Present This routine is used to determine if the mini
    LCD exists.
    CPQLCDSet_Baud_Rate This routine is used to set the baud rate of the
    mini LCD.
    CPQLCD_SendCmdTo_LCD This routine is used to send a command to the
    mini LCD.
    GetRegistryDword This routine is used to read a DWORD.
    GetNextIconLocation This routine routines the next available free
    icon location for the mini LCD.
    CleanUpClientIcons This routine is used to clean up or clear icons
    for a particular client or application.
    ClearIconLocation This routine allows a client or application to
    selectively call and remove icons.
    SendAByte This routine is used to send a byte to a
    particular port.
    SetBaudRate This routine is used to set the baud rate for a
    port.
    EnableIRQTriggering This routine is used to enable interrupt
    request triggering.
    ResetIRQTriggering This routine is used to reset interrupt request
    triggering.
    ReadStatusPort This routine is used to read a status port.
    ReceiveByte This routine is used to read a byte from a
    port.
    SendByteWhenReady This routine is used to send a byte when a
    port is ready.
    CompleteIRP This routine is used to complete an IRP.
    StartPacket This routine is used to queue an IRP. For
    example, the IRP may be a time command,
    text command or LED command.
    APP CommandComplete This routine is used to track the last command
    that was set for the mini LCD.
    APPTextCmdFinish This routine is used to ensure that a command
    for the mini LCD is completed.
    SendTextCommands This routine is used to send a text command
    to the mini LCD.
    ControlLED This routine is used to turn on or turn off an
    LED of the user feedback mechanism.
    ResetLCD This routine is used to reset the mini LCD.
    The IOCTLs (name and description) supported by the driver 118 are shown in the
    table below:
    IOCTL Name IOCTL Description
    CPQLCD_GET_CLIENT_ID This IOCTL is used to fetch a unique
    identifier for a client/application. The
    identifier may be used to keep track of any
    icons downloaded by that client/application.
    CPQLCD_CLIENT_CLEAN_UP This IOCTL is used when a client/application
    no longer needs the services of the mini LCD
    and the driver.
    CPQLCD_GET_DRIVER_INFO This IOCTL is used to obtain the name and
    version number for the driver.
    CPQLCD_CLEAR_ICON_BMP This IOCTL is used for clearing specific
    bitmaps no longer needed by the client.
    CPQLCD_DEF_ICON_BMP This IOCTL defines and downloads a bitmap
    and returns an identification number for the
    icon to uniquely identify that icon.
    CPQLCD_DISPLAY_ICON This IOCTL displays an icon identified by
    the icon identification number.
    CPQLCD_DEFINE_FONT This IOCTL defines a bitmap for a specific
    character.
    CPQLCD_DISPLAY_TEXT This IOCTL is used to display text for a
    specified time on the mini LCD.
    CPQLCD_CONTROL_LED This IOCTL is used to control the state of the
    LEDs of the user feedback mechanism.
    CPQLCD_SET_CLOCK This IOCTL is used to set the clock of the
    user feedback mechanism to a desired time.
    CPQLCD_QUERY_REVISION This IOCTL is used to obtain a revision
    number of the mini LCD for identification
    purposes.
  • As shown by some of the IOCTLs above, the [0031] driver 118 can be used to dynamically download text or an icon for an application or client. In a disclosed embodiment, the driver 118 is a Plug‘n’Play driver. One potential use of the CPQLCD_DEFINE_TEXT IOCTL is to define a new font for text during the clock mode of the user feedback mechanism 200. It should be understood that the driver entry points and IOCTLs disclosed herein are illustrative and not exhaustive. It is noted that the LCD interface 600 enables an application or client component to drive the mini LCD 204 such that an application or client component is not required to communicate directly with the LCD interface driver 118. The LCD interface 600 uses the driver entry points to shield individual applications from having to talk to the LCD interface driver 118 directly.
  • The input/[0032] output logic 608 includes ACPI logic 210 and a universal asynchronous receiver/transmitter (UART) 606. The ACPI logic 210 is coupled to the system BIOS 102 and to the power supply 214. Independent of both the operating system 100 and the LCD interface driver 118, system level interfacing by the client 612 with the mini LCD 204 may be handled through the system BIOS 102. Handshaking and other communication between the LCD interface driver and system BIOS is described in a commonly-assigned U.S. patent application, entitled “OPERATING SYSTEM HANG DETECTION AND CORRECTION,” previously incorporated herein. System BIOS 102 and the LCD interface driver 118 are independent of the operating system 100 in a different sense. System BIOS 102 is independent of the operating system 100 in the sense that device states of the primary devices are detected during system initialization (e.g., POST) of the computing system by bypassing the operating system 100. The LCD interface driver 118 and the application 602 or 604 are independent of the operating system 100 in the sense that the manner for the application 602 or 604 and the LCD interface driver 118 to drive the mini LCD 204 is not limited to a particular operating system. The resources or mechanisms of any given operating system may be used in driving the mini LCD 204.
  • UART-to-UART communication is accomplished through the [0033] interface controller 202 between the UART 606 of the I/O logic 608 and a UART 610 of the mini LCD 204. It should be understood that functionality for communicating an operating condition to the mini LCD 204 may be encapsulated in the client 612 or the application 602 or 604. In an alternative embodiment, such functionality may to some extent be integrated into the operating system 100 itself, although potentially sacrificing some independence from the operating system 100. In a disclosed embodiment, the interface controller 202 is a microcontroller in the 80C52 family. For sake of clarity, certain well known components (e.g., memory, latch and other logic) used by a display controller in communicating with a display are not shown.
  • Thus, a computing system provides a user feedback or digital dashboard mechanism to monitor and alert a user of operating conditions independently of an operating system. An application or client monitors operating conditions and talks to a display panel through a display interface. In this way, the application or client may talk to the display panel in connection with any operating system. During system initialization of the computing system, system BIOS is available for the client to use to talk to the display panel independently of both the display interface and the operating system. [0034]
  • One advantage of the user feedback mechanism is that potentially useful information known by the operating system is actually retrieved, processed and displayed to a user in a comprehensible and user friendly fashion. A further advantage of the user feedback mechanism is that information which is not specifically known by the operating system can be monitored and displayed to a user. The user feedback mechanism provides a comprehensible way to alert a user to useful information which in the past has not been generated or communicated to the user. [0035]
  • By displaying information on the mini display of the user feedback mechanism, useful or valuable feedback as to the condition of the computing system may be provided to a user even while a monitor is off or a screen saver is on. In other words, information which cannot be presented on the main display can be presented on the mini display of the user feedback mechanism. Since the user feedback mechanism operates independently of an operating system, a user can be presented with useful feedback information during system initialization when the operating system is unavailable. Because of its independence from the operating system, the user feedback mechanism is a guaranteed, failsafe interface to a computing system that users can depend upon for valuable operational and fault tolerant information. [0036]
  • The foregoing disclosure and description of various embodiments are illustrative and explanatory thereof, and various changes in the software components, operating system, applications, clients, notification messages, fault conditions, operating events, signals, icons, text messages, network protocols, order of steps and the like, as well as in the details of the illustrated hardware and software and construction and method of operation may be made without departing from the spirit of the invention. [0037]

Claims (27)

We claim:
1. A computing system, comprising:
an operating system;
main processor to run the operating system; and
a user feedback mechanism to monitor a plurality of operating conditions of the computing system and to alert a user of the computing system to the plurality of operating conditions independently of the operating system.
2. The computing system of
claim 1
, the user feedback mechanism comprising:
a display panel to display a plurality of operating condition messages to alert the user to the plurality of operating conditions independently of the operating system.
3. The computing system of
claim 2
, the user feedback mechanism further comprising:
a controller coupled to the display panel to monitor a plurality of operating condition signals corresponding to the plurality of operating conditions and to communicate the plurality of operating conditions to the display panel independently of the operating system.
4. The computing system of
claim 3
, the user feedback mechanism further comprising:
a display panel interface driver to pass the plurality of operating conditions to the controller.
5. The computing system of
claim 2
, the user feedback mechanism further comprising:
a display panel interface coupled to the display panel for an application to communicate with the display panel.
6. The computing system of
claim 2
, wherein the display panel displays a plurality of instructions to the user for the user to cure the plurality of operating conditions.
7. The computing system of
claim 1
, wherein the user feedback mechanism monitors an operating condition of the plurality of operating conditions after system initialization by processing data from the operating system into a more meaningful form.
8. The computing system of
claim 1
, the user feedback mechanism comprising:
system BIOS to monitor the plurality of operating conditions during system initialization of the computing system by bypassing the operating system.
9. The computing system of
claim 8
, wherein the plurality of operating conditions comprises a plurality of primary device states for a plurality of primary devices of the computing system.
10. The computing system of
claim 1
, the user feedback mechanism comprising:
a safety button configured to signal a power supply to power off the computing system if the computing system is not powered off by the operating system.
11. The computing system of
claim 1
, the user feedback mechanism comprising:
a plurality of fault tolerant client software components to monitor the plurality of operating conditions after system initialization of the computing system.
12. A method of operating condition user feedback for a computing system, comprising the steps of:
monitoring an operating condition of the computing system; and
displaying an operating condition message corresponding to the operating condition on a display panel of a user feedback mechanism of the computing system to alert a user to the operating condition independently of an operating system of the computing system.
13. The method of
claim 12
, further comprising the step of:
clearing the operating condition message from the display panel if the operating condition is cured.
14. The method of
claim 12
, further comprising the step of:
signaling a power supply of the computing system to power off the computer system independently of the operating system.
15. The method of
claim 12
, the monitoring step comprising the step of:
monitoring a connection state of the computing system to the Internet.
16. The method of
claim 12
, the monitoring step comprising the step of:
monitoring a state of a peripheral device of the computing system.
17. The method of
claim 12
, the monitoring step comprising the step of:
monitoring an e-mail notification message to the computing system.
18. The method of
claim 12
, the monitoring step comprising the step of:
monitoring atomic time from a network serer coupled to the computing system.
19. The method of
claim 12
, wherein the monitoring step is performed by an application after system initialization of the computing system.
20. The method of
claim 12
, wherein the monitoring step is performed by system BIOS during system initialization of the computing system.
21. A computing system adapted for operating condition user feedback, comprising:
an operating system;
a means for monitoring a plurality of operating conditions of the computing system; and
a means for alerting a user of the computing system to the plurality of operating conditions independently of the operating system.
22. The computing system of
claim 21
, the means for alerting comprising:
a means for displaying a plurality of operating condition messages corresponding to the plurality of operating conditions.
23. The computing system of
claim 22
, further comprising:
a means for clearing the plurality of displayed operating condition messages if the plurality of operating conditions have been cured.
24. The computing system of
claim 21
, further comprising:
a power supply; and
a means for signaling the power supply to power off the computing system independently of the operating system.
25. The computing system of
claim 21
, wherein the plurality of operating conditions are readable by an application.
26. The computing system of
claim 21
, wherein the means for monitoring comprises an application after system initialization of the computing system.
27. The computing system of
claim 21
, wherein the means for monitoring comprises system BIOS during system initialization of the computer system.
US09/771,866 2000-01-05 2001-01-29 Operating system-independent computing system user feedback mechanism Abandoned US20010007140A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US09/771,866 US20010007140A1 (en) 2000-01-05 2001-01-29 Operating system-independent computing system user feedback mechanism

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/478,153 US6720983B1 (en) 2000-01-05 2000-01-05 Digital feedback display panel for communicating computer status information
US09/771,866 US20010007140A1 (en) 2000-01-05 2001-01-29 Operating system-independent computing system user feedback mechanism

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US09/478,153 Continuation US6720983B1 (en) 2000-01-05 2000-01-05 Digital feedback display panel for communicating computer status information

Publications (1)

Publication Number Publication Date
US20010007140A1 true US20010007140A1 (en) 2001-07-05

Family

ID=23898757

Family Applications (2)

Application Number Title Priority Date Filing Date
US09/478,153 Expired - Lifetime US6720983B1 (en) 2000-01-05 2000-01-05 Digital feedback display panel for communicating computer status information
US09/771,866 Abandoned US20010007140A1 (en) 2000-01-05 2001-01-29 Operating system-independent computing system user feedback mechanism

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US09/478,153 Expired - Lifetime US6720983B1 (en) 2000-01-05 2000-01-05 Digital feedback display panel for communicating computer status information

Country Status (1)

Country Link
US (2) US6720983B1 (en)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030051191A1 (en) * 2001-09-10 2003-03-13 Edgar Circenis Problem detector and method
US20030125908A1 (en) * 2001-12-28 2003-07-03 Wynn Allen Chester Performing diagnostic tests of computer devices while operating system is running
US20030202001A1 (en) * 2002-04-26 2003-10-30 Fuji Xerox Co., Ltd. Information processing apparatus
US20050185167A1 (en) * 2004-02-25 2005-08-25 Canon Kabushiki Kaisha Positioning system, exposure apparatus using the same, and device manufacturing method
EP1603037A2 (en) * 2004-05-03 2005-12-07 Microsoft Corporation Processing information received at an auxiliary computing device
US20070061477A1 (en) * 2005-09-09 2007-03-15 Microsoft Corporation Plug And Play Device Redirection For Remote Systems
US7511682B2 (en) 2004-05-03 2009-03-31 Microsoft Corporation Context-aware auxiliary display platform and applications
US7577771B2 (en) 2004-05-03 2009-08-18 Microsoft Corporation Caching data for offline display and navigation of auxiliary information
US7660914B2 (en) 2004-05-03 2010-02-09 Microsoft Corporation Auxiliary display system architecture
WO2015027856A1 (en) * 2013-08-27 2015-03-05 腾讯科技(深圳)有限公司 Information feedback method, apparatus, and terminal
US20150370682A1 (en) * 2014-06-24 2015-12-24 Vmware, Inc. Data-agnostic adjustment of hard thresholds based on user feedback
US20170142048A1 (en) * 2015-02-09 2017-05-18 Airwatch Llc Enhanced e-mail delivery to mobile devices
US9858126B2 (en) 2010-12-16 2018-01-02 Microsoft Technology Licensing, Llc Device redirection for remote systems

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6811516B1 (en) * 1999-10-29 2004-11-02 Brian M. Dugan Methods and apparatus for monitoring and encouraging health and fitness
US20020160883A1 (en) 2001-03-08 2002-10-31 Dugan Brian M. System and method for improving fitness equipment and exercise
US20070111858A1 (en) * 2001-03-08 2007-05-17 Dugan Brian M Systems and methods for using a video game to achieve an exercise objective
US8939831B2 (en) 2001-03-08 2015-01-27 Brian M. Dugan Systems and methods for improving fitness equipment and exercise
TW200530891A (en) * 2004-03-03 2005-09-16 Wistron Corp Display device
JP4537147B2 (en) * 2004-08-06 2010-09-01 富士通株式会社 Terminal device, message display method, and message display program
US11826652B2 (en) 2006-01-04 2023-11-28 Dugan Health, Llc Systems and methods for improving fitness equipment and exercise
US8172882B2 (en) * 2006-06-14 2012-05-08 Spartek Medical, Inc. Implant system and method to treat degenerative disorders of the spine
US8781568B2 (en) * 2006-06-23 2014-07-15 Brian M. Dugan Systems and methods for heart rate monitoring, data transmission, and use
US8430770B2 (en) * 2006-10-07 2013-04-30 Brian M. Dugan Systems and methods for measuring and/or analyzing swing information
US8337335B2 (en) * 2006-10-07 2012-12-25 Dugan Brian M Systems and methods for measuring and/or analyzing swing information
US20080244437A1 (en) * 2007-03-29 2008-10-02 Fischer Gregory T Quick Glance Maintenance Interface for an Analytical Device
US20090063978A1 (en) * 2007-09-05 2009-03-05 Sony Corporation Network status icon in navigable toolbar
US20090158216A1 (en) * 2007-12-14 2009-06-18 Sony Corporation Method and system for setting up a computer system at startup
US20090270743A1 (en) * 2008-04-17 2009-10-29 Dugan Brian M Systems and methods for providing authenticated biofeedback information to a mobile device and for using such information
US8976007B2 (en) 2008-08-09 2015-03-10 Brian M. Dugan Systems and methods for providing biofeedback information to a cellular telephone and for using such information
KR20100015246A (en) * 2008-08-04 2010-02-12 삼성전자주식회사 Storage device with display unit, method of displaying an information
US8454437B2 (en) 2009-07-17 2013-06-04 Brian M. Dugan Systems and methods for portable exergaming
US8433798B2 (en) * 2009-06-16 2013-04-30 Microsoft Corporation Altering software behavior based on internet connectivity
US9533228B2 (en) 2011-03-28 2017-01-03 Brian M. Dugan Systems and methods for fitness and video games
US20120253489A1 (en) 2011-03-28 2012-10-04 Dugan Brian M Systems and methods for fitness and video games
US9610506B2 (en) 2011-03-28 2017-04-04 Brian M. Dugan Systems and methods for fitness and video games
US8947226B2 (en) 2011-06-03 2015-02-03 Brian M. Dugan Bands for measuring biometric information
RU2646351C2 (en) * 2014-03-27 2018-03-02 Общество С Ограниченной Ответственностью "Яндекс" Method for transmitting a notification of an unread e-mail message (options) to the user and an electronic device used therefor
DE102014113828A1 (en) * 2014-09-24 2016-03-24 Fujitsu Technology Solutions Intellectual Property Gmbh Computer monitor and computer system

Citations (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4497021A (en) * 1981-06-26 1985-01-29 Sony Corporation Microcomputer system operating in multiple modes
US4858152A (en) * 1987-01-23 1989-08-15 International Business Machines Corp. Operator access to monitoring applications
US5049873A (en) * 1988-01-29 1991-09-17 Network Equipment Technologies, Inc. Communications network state and topology monitor
US5050104A (en) * 1988-04-18 1991-09-17 International Business Machines Corporation Method for notifying a terminal user of an asynchronous event occurrence
US5237653A (en) * 1986-06-05 1993-08-17 Hitachi, Ltd. Multiwindow control method and apparatus for work station having multiwindow function
US5261044A (en) * 1990-09-17 1993-11-09 Cabletron Systems, Inc. Network management system using multifunction icons for information display
US5301348A (en) * 1989-03-20 1994-04-05 International Business Machines Corporation Dynamic progress marking icon
US5333256A (en) * 1989-05-15 1994-07-26 International Business Machines Corporation Methods of monitoring the status of an application program
US5371447A (en) * 1993-03-18 1994-12-06 Boss; Daniel V. Repositioning system
US5375199A (en) * 1991-06-04 1994-12-20 Digital Equipment Corporation System monitoring method and device including a graphical user interface to view and manipulate system information
US5471399A (en) * 1991-08-28 1995-11-28 Hitachi, Ltd. Network management system and network status display method
US5588105A (en) * 1992-11-16 1996-12-24 Apple Computer, Inc. Status bar for application windows
US5617526A (en) * 1994-12-13 1997-04-01 Microsoft Corporation Operating system provided notification area for displaying visual notifications from application programs
US5745115A (en) * 1996-01-16 1998-04-28 International Business Machines Corporation Graphical user interface having a shared menu bar for opened applications
US5810680A (en) * 1996-07-17 1998-09-22 Lawrence P. Lobb Computer aided game apparatus
US5825357A (en) * 1993-12-13 1998-10-20 Microsoft Corporation Continuously accessible computer system interface
US5900026A (en) * 1996-05-21 1999-05-04 Samsung Electronics Co., Ltd. Method and apparatus for setting a computer coupled to a network into a power saving mode
US5949974A (en) * 1996-07-23 1999-09-07 Ewing; Carrell W. System for reading the status and for controlling the power supplies of appliances connected to computer networks
US5953010A (en) * 1997-08-01 1999-09-14 Sun Microsystems, Inc. User-friendly iconic message display indicating progress and status of loading and running system program in electronic digital computer
US5984502A (en) * 1996-06-14 1999-11-16 The Foxboro Company Keypad annunciator graphical user interface
US6295423B1 (en) * 1999-10-01 2001-09-25 Hewlett-Packard Company Methods and systems for monitoring consumable item lifetimes for peripheral units
US6298308B1 (en) * 1999-05-20 2001-10-02 Reid Asset Management Company Diagnostic network with automated proactive local experts
US6304244B1 (en) * 1998-04-24 2001-10-16 International Business Machines Corporation Method and system for dynamically selecting video controllers present within a computer system
US6374079B1 (en) * 2000-01-04 2002-04-16 Pni Corporation Modular RF communication module for automated home and vehicle systems
US20020085835A1 (en) * 2000-12-29 2002-07-04 Zhang Tim L. Portable computer system with an operating system-independent digital data player
US20020124198A1 (en) * 2000-12-29 2002-09-05 David Bormann Computer peripheral device that remains operable when central processor operations are suspended
US6587966B1 (en) * 2000-04-25 2003-07-01 Hewlett-Packard Development Company, L.P. Operating system hang detection and correction

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5613135A (en) * 1992-09-17 1997-03-18 Kabushiki Kaisha Toshiba Portable computer having dedicated register group and peripheral controller bus between system bus and peripheral controller
US5646535A (en) * 1995-01-17 1997-07-08 Elonex Ip Hudings, Ltd. Diagnostic display using front panel LEDS
US5691742A (en) * 1995-05-24 1997-11-25 Dell U.S.A., L.P. Software battery gauge for portable computers
US5809449A (en) * 1996-10-30 1998-09-15 Hewlett-Packard Company Indicator of battery current for portable devices
US6014141A (en) * 1997-03-25 2000-01-11 Micron Electronics, Inc. Method and apparatus for selectively displaying a parameter in a separate status panel
US6121967A (en) * 1998-05-04 2000-09-19 Apple Computer, Inc. Method and apparatus for controlling media bays in a computer system
US6311283B1 (en) * 1998-09-17 2001-10-30 Apple Computer, Inc. Need based synchronization of computer system time clock to reduce loading on network server
US6272628B1 (en) * 1998-12-14 2001-08-07 International Business Machines Corporation Boot code verification and recovery

Patent Citations (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4497021A (en) * 1981-06-26 1985-01-29 Sony Corporation Microcomputer system operating in multiple modes
US5237653A (en) * 1986-06-05 1993-08-17 Hitachi, Ltd. Multiwindow control method and apparatus for work station having multiwindow function
US4858152A (en) * 1987-01-23 1989-08-15 International Business Machines Corp. Operator access to monitoring applications
US5049873A (en) * 1988-01-29 1991-09-17 Network Equipment Technologies, Inc. Communications network state and topology monitor
US5050104A (en) * 1988-04-18 1991-09-17 International Business Machines Corporation Method for notifying a terminal user of an asynchronous event occurrence
US5301348A (en) * 1989-03-20 1994-04-05 International Business Machines Corporation Dynamic progress marking icon
US5333256A (en) * 1989-05-15 1994-07-26 International Business Machines Corporation Methods of monitoring the status of an application program
US5261044A (en) * 1990-09-17 1993-11-09 Cabletron Systems, Inc. Network management system using multifunction icons for information display
US5375199A (en) * 1991-06-04 1994-12-20 Digital Equipment Corporation System monitoring method and device including a graphical user interface to view and manipulate system information
US5471399A (en) * 1991-08-28 1995-11-28 Hitachi, Ltd. Network management system and network status display method
US5588105A (en) * 1992-11-16 1996-12-24 Apple Computer, Inc. Status bar for application windows
US5371447A (en) * 1993-03-18 1994-12-06 Boss; Daniel V. Repositioning system
US5825357A (en) * 1993-12-13 1998-10-20 Microsoft Corporation Continuously accessible computer system interface
US5617526A (en) * 1994-12-13 1997-04-01 Microsoft Corporation Operating system provided notification area for displaying visual notifications from application programs
US5745115A (en) * 1996-01-16 1998-04-28 International Business Machines Corporation Graphical user interface having a shared menu bar for opened applications
US5900026A (en) * 1996-05-21 1999-05-04 Samsung Electronics Co., Ltd. Method and apparatus for setting a computer coupled to a network into a power saving mode
US5984502A (en) * 1996-06-14 1999-11-16 The Foxboro Company Keypad annunciator graphical user interface
US5810680A (en) * 1996-07-17 1998-09-22 Lawrence P. Lobb Computer aided game apparatus
US5949974A (en) * 1996-07-23 1999-09-07 Ewing; Carrell W. System for reading the status and for controlling the power supplies of appliances connected to computer networks
US5953010A (en) * 1997-08-01 1999-09-14 Sun Microsystems, Inc. User-friendly iconic message display indicating progress and status of loading and running system program in electronic digital computer
US6304244B1 (en) * 1998-04-24 2001-10-16 International Business Machines Corporation Method and system for dynamically selecting video controllers present within a computer system
US6298308B1 (en) * 1999-05-20 2001-10-02 Reid Asset Management Company Diagnostic network with automated proactive local experts
US6295423B1 (en) * 1999-10-01 2001-09-25 Hewlett-Packard Company Methods and systems for monitoring consumable item lifetimes for peripheral units
US6374079B1 (en) * 2000-01-04 2002-04-16 Pni Corporation Modular RF communication module for automated home and vehicle systems
US6587966B1 (en) * 2000-04-25 2003-07-01 Hewlett-Packard Development Company, L.P. Operating system hang detection and correction
US20020085835A1 (en) * 2000-12-29 2002-07-04 Zhang Tim L. Portable computer system with an operating system-independent digital data player
US20020124198A1 (en) * 2000-12-29 2002-09-05 David Bormann Computer peripheral device that remains operable when central processor operations are suspended

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030051191A1 (en) * 2001-09-10 2003-03-13 Edgar Circenis Problem detector and method
US6845474B2 (en) * 2001-09-10 2005-01-18 Hewlett-Packard Development Company, L.P. Problem detector and method
US20030125908A1 (en) * 2001-12-28 2003-07-03 Wynn Allen Chester Performing diagnostic tests of computer devices while operating system is running
US6654707B2 (en) * 2001-12-28 2003-11-25 Dell Products L.P. Performing diagnostic tests of computer devices while operating system is running
US20030202001A1 (en) * 2002-04-26 2003-10-30 Fuji Xerox Co., Ltd. Information processing apparatus
US20050185167A1 (en) * 2004-02-25 2005-08-25 Canon Kabushiki Kaisha Positioning system, exposure apparatus using the same, and device manufacturing method
US7660914B2 (en) 2004-05-03 2010-02-09 Microsoft Corporation Auxiliary display system architecture
US8188936B2 (en) 2004-05-03 2012-05-29 Microsoft Corporation Context aware auxiliary display platform and applications
EP1603037A3 (en) * 2004-05-03 2006-08-16 Microsoft Corporation Processing information received at an auxiliary computing device
US7511682B2 (en) 2004-05-03 2009-03-31 Microsoft Corporation Context-aware auxiliary display platform and applications
US7558884B2 (en) 2004-05-03 2009-07-07 Microsoft Corporation Processing information received at an auxiliary computing device
US7577771B2 (en) 2004-05-03 2009-08-18 Microsoft Corporation Caching data for offline display and navigation of auxiliary information
EP1603037A2 (en) * 2004-05-03 2005-12-07 Microsoft Corporation Processing information received at an auxiliary computing device
AU2005201790B2 (en) * 2004-05-03 2010-05-20 Microsoft Corporation Processing information received at an auxiliary computing device
US8918530B2 (en) * 2005-09-09 2014-12-23 Microsoft Corporation Plug and play device redirection for remote systems
US20110035758A1 (en) * 2005-09-09 2011-02-10 Microsoft Corporation Plug and play device redirection for remote systems
US8892758B2 (en) * 2005-09-09 2014-11-18 Microsoft Corporation Plug and play device redirection for remote systems
US20070061477A1 (en) * 2005-09-09 2007-03-15 Microsoft Corporation Plug And Play Device Redirection For Remote Systems
US9858126B2 (en) 2010-12-16 2018-01-02 Microsoft Technology Licensing, Llc Device redirection for remote systems
US10331501B2 (en) 2010-12-16 2019-06-25 Microsoft Technology Licensing, Llc USB device redirection for remote systems
WO2015027856A1 (en) * 2013-08-27 2015-03-05 腾讯科技(深圳)有限公司 Information feedback method, apparatus, and terminal
US20150370682A1 (en) * 2014-06-24 2015-12-24 Vmware, Inc. Data-agnostic adjustment of hard thresholds based on user feedback
US9632905B2 (en) * 2014-06-24 2017-04-25 Vmware, Inc. Data-agnostic adjustment of hard thresholds based on user feedback
US20170255537A1 (en) * 2014-06-24 2017-09-07 Vmware, Inc. Data-agnostic adjustment of hard thresholds based on user feedback
US10467119B2 (en) * 2014-06-24 2019-11-05 Vmware, Inc. Data-agnostic adjustment of hard thresholds based on user feedback
US20170142048A1 (en) * 2015-02-09 2017-05-18 Airwatch Llc Enhanced e-mail delivery to mobile devices
US10454867B2 (en) * 2015-02-09 2019-10-22 Airwatch Llc Enhanced e-mail delivery to mobile devices

Also Published As

Publication number Publication date
US6720983B1 (en) 2004-04-13

Similar Documents

Publication Publication Date Title
US20010007140A1 (en) Operating system-independent computing system user feedback mechanism
US6128745A (en) Power management inactivity monitoring using software threads
US5999730A (en) Generation of firmware code using a graphic representation
JP4156663B2 (en) Method and apparatus for monitoring and controlling a program in a network
US7562362B1 (en) User control of task priority
US6594774B1 (en) Method and apparatus for monitoring computer system objects to improve system reliability
US7716651B2 (en) System and method for a context-awareness platform
US6105142A (en) Intelligent power management interface for computer system hardware
US6243774B1 (en) Apparatus program product and method of managing computer resources supporting concurrent maintenance operations
US20030191730A1 (en) Unobtrusive rule-based computer usage enhancement system
US8037480B1 (en) System and method for creating thread-level message hooks
US20020007387A1 (en) Dynamically variable idle time thread scheduling
US8909909B2 (en) Apparatus and method of accessing a computer pre-boot routine before activation of a computer keyboard
US20070074219A1 (en) Dynamically Variable Idle Time Thread Scheduling
US20080235527A1 (en) Operation of computer display using auxiliary display controller
EP0813707A1 (en) A computer system with unattended on-demand availability
US7089450B2 (en) Apparatus and method for process recovery in an embedded processor system
US6934955B2 (en) Event notification within a local system
US6366297B1 (en) System and method for displaying modem information on a graphical user interface display
US6335741B1 (en) Apparatus and method for user indication of model state in a model view controller
US20090019388A1 (en) Anti-virus usage model at an exterior panel of a computer
US20030028680A1 (en) Application manager for a content delivery system
US7032211B1 (en) Method for managing user scripts utilizing a component object model object (COM)
EP1338947A1 (en) A power state sub-system and a method of changing the power state of a selected computer system
JP5218394B2 (en) Grid processing control device

Legal Events

Date Code Title Description
AS Assignment

Owner name: COMPAQ COMPUTER CORPORATION, TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:LANDRY, JOHN A.;ALI, VALIUDDIN Y.;CHATURVEDI, AJAY;AND OTHERS;REEL/FRAME:011490/0743;SIGNING DATES FROM 20001206 TO 20010117

AS Assignment

Owner name: COMPAQ INFORMATION TECHNOLOGIES GROUP, L.P., TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:COMPAQ COMPUTER CORPORATION;REEL/FRAME:016306/0921

Effective date: 20010531

AS Assignment

Owner name: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P., TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:COMPAQ INFORMATION TECHNOLOGIES GROUP, L.P.;REEL/FRAME:016313/0854

Effective date: 20021001

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION