US20010007140A1 - Operating system-independent computing system user feedback mechanism - Google Patents
Operating system-independent computing system user feedback mechanism Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/32—Monitoring with visual or acoustical indication of the functioning of the machine
- G06F11/324—Display of status information
- G06F11/327—Alarm or error message display
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/32—Monitoring with visual or acoustical indication of the functioning of the machine
- G06F11/324—Display of status information
- G06F11/328—Computer 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
Description
- 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.
- 1. Field of the Invention
- 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.
- 2. Description of the Related Art
- 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.
- 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.
- 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.
- 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.
- 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:
- 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; and
- 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.
- The following commonly-assigned patent application is incorporated herein by reference in its entirety for all purposes:
- 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.
- Turning now to the drawings, 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 orinterface module 106 and an LCD (liquid crystal display)interface driver 118. Theoperating system 100 is a typical operating system including asystem registry 126, aclock 120, anInternet manager 124 and atask scheduler 122. Theoperating system 100 is coupled to bothsystem BIOS 102 and theuser feedback module 106. Theuser feedback module 106 includes anoperating system interface 110 coupled to theoperating system 100, aBIOS interface 112 coupled to thesystem BIOS 102 and an ACPI (Advanced Configuration and Power Interface)interface 114 to interface with ACPI logic. TheLCD interface driver 118 is also coupled to theuser feedback module 106. Theuser feedback module 106, theLCD interface driver 118 and thesystem BIOS 102 in combination provide software control of an operating system-independent user feedback ordigital 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
user feedback mechanism 200 is shown. Theuser 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 theoperating 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-independentuser feedback mechanism 200 includes a mini display orLCD 204, aninterface controller 202, amessage indicator 208, and asafety button 206. Theinterface controller 202 is shown coupled to themini LCD 204, themessage indicator 208, and thesafety button 206. A user is alerted of operating conditions of the computing system by themini LCD 204 displaying operating condition messages. Themini LCD 204 receives an operating condition signal from theinterface controller 202 and then displays a corresponding operating condition message. A variety of operating condition signals and operating condition messages may be supported by theuser feedback mechanism 200. In addition to displaying operating condition messages, themini LCD 204 may also display instructions to a user for the user to cure the particular operating condition. It should be understood that themini display 204 may be implemented with display technologies other than LCD. Themessage 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. Thesafety button 206 is used to signal apower supply 214 to power off the computing system if the computing system is not already powered off by theoperating system 100. Processing of thesafety button 206 is described in more detail below in connection with FIG. 4. - The
interface controller 202 is further coupled toACPI logic 210. TheACPI logic 210, which is shown including an ACPI timer 212, is coupled to thepower supply 214. The use of the ACPI timer 212 is described below in connection with FIG. 4. The arrowed line from thepower supply 214 to theuser feedback mechanism 200 represents that theuser feedback mechanism 200 is powered independently of the rest of the computing system. When theuser feedback mechanism 200 is powered (i.e., when the user feedback mechanism power cable is plugged in), themini LCD 204 is lit. Unlike the computing system itself, theuser feedback mechanism 200 is preferably left on or powered at all times. Theuser feedback mechanism 200 thus operates even when the computing system is off or asleep. Other illustrated hardware of the computing system includes amain processor 216, amonitor 220, akeyboard 222, amouse 223 and aperipheral device 224. Themain processor 216 is a typical microprocessor for running an operating system and other software. Themonitor 220, thekeyboard 222, themouse 223 and theperipheral device 224 represent peripheral devices which may generate operating conditions to be detected and then displayed to a user. For example, if themonitor 220 is disconnected, a message (e.g., text and/or icon) indicating themonitor 220 is disconnected may be displayed on themini LCD 204. In a disclosed embodiment, theuser feedback mechanism 200 monitors each level of connection and removal of peripheral devices of the computing system. Themonitor 220, thekeyboard 222 and themouse 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.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. Instep 302, the operating condition is an Internet connection state of the computing system. Instep 304, the operating condition is the keyboard connection state of the computing system. Instep 306, the operating condition is the monitor connection state of the computing system. Instep 308, the operating condition is the connection state of a peripheral device in the computing system. Instep 310, the operating condition is a lock-up of theoperating system 100. Instep 312, the operating condition is an email notification. Instep 314, the operating condition is an Internet message. Instep 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 theuser feedback mechanism 200 is a clock mode in which atomic time is displayed on themini LCD 204. Compared to a typical operating system-based clock of a computer system, the clock mode of theuser feedback mechanism 200 runs independently of theoperating system 100 and provides a more accurate clock. Even if a user does not initiate connection to the Internet every day, theuser 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 theuser feedback mechanism 200 at any time. Instep 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. Instep 320, the operating condition is communicated to themini LCD 204. Communication of an operating condition to themini LCD 204 is described below in connection with FIG. 6. As represented by thestep 328, a detected operating condition may be read by an application or theoperating system 100. - Next, control proceeds to step324 where an operating condition message corresponding to the operating condition is displayed by the
mini LCD 204. Fromstep 324, control proceeds to step 325 where an operating condition display complete signal is generated by theinterface controller 202. Control next proceeds to step 326 where an instruction to cure the operating condition is displayed by themini LCD 204. Next, instep 330, it is then determined if the operating condition is cured. If the operating condition is not cured, then control remains instep 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 instep 330 that the operating condition is cured, then control proceeds to step 332 where the instruction is cleared from themini LCD 204. It should be understood thatstep 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. - Steps334-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 instep 334, control proceeds to step 336 where themessage indicator 208 is set. For example, if two email notifications were detected, then themessage indicator 208 is set to periodically blink twice. If an Internet message or email notification is not detected instep 334, then control proceeds directly to step 338. Instep 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 instep 338, then control proceeds to step 340 where theclock 120 of theoperating system 100 and a clock of theuser feedback mechanism 200 are both updated with the atomic time. By updating the clock of theuser feedback mechanism 200, themini LCD 204 displays atomic time. Fromstep 340, the process is completed instep 342. - Referring to FIG. 4, processing of the safety button206 (FIG. 2) is shown. The process begins in
step 400 where it is determined if a press or actuation of thesafety button 206 by a user is detected. If a press or actuation is not detected, then control remains instep 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 theoperating 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 instep 406. If the ACPI timer 212 has expired, then control proceeds to step 408 where it is determined if theoperating system 100 is shutdown. Detection of a hang up by theoperating system 100 is described in a commonly-assigned U.S. patent application, entitled “OPERATING SYSTEM HANG DETECTION AND CORRECTION,” previously incorporated herein. If theoperating system 100 is shutdown, then control proceeds to step 412 where processing of thesafety button 206 is complete. If theoperating system 100 is not shutdown, then control proceeds to step 412 where theACPI logic 210 is reset signaling thepower supply 214 to turn off. At this point, the computing system can be considered as in a “safe mode.” Fromstep 410, control proceeds to step 412 where the processing of thesafety button 206 is complete. This process provides a way to ensure that theoperating system 100 is shutdown. By using thesafety 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 theoperating system 100. - Referring to FIG. 5, exemplary software components which may be included in the
user feedback module 106 of FIG. 1 is shown. As previously shown in FIG. 1, theuser feedback module 106 includes anoperating system interface 110, theBIOS interface 112 and theACPI interface 114. Theuser feedback module 106 may further include client software components such as adevice monitor 500, anInternet monitor 502, anatomic time monitor 504, anemail 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 theoperating system 100 to detect device states. If the device is a printer, then the device monitor 500 uses the WM_SPOOLERSTATUS signal provided by theoperating 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 monitor502 is used to detect if the computing system is connected to the Internet. In a disclosed embodiment, the
Internet monitor 502 registers with theoperating 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. Theemail 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
user feedback mechanism 200 is shown. Application-level interfacing relates to anapplication mini LCD 204. System-level interfacing relates to aclient 612 communicating with themini LCD 204. AnLCD interface 600 is shown coupled to theapplication 602, theapplication 604 and anLCD interface driver 118. In a disclosed embodiment, communication to themini LCD 204 in the form of system-level interfacing overrides communication to themini LCD 204 in the form of application-level interfacing. Theapplication user feedback mechanism 200. In a disclosed embodiment, theLCD interface 600 is a component object model (COM)-based interface called by theapplication 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. TheLCD interface 600 is used to provide theapplications mini LCD 204 of theuser feedback mechanism 200. For example, theapplication 604 through theLCD interface 600 can provide operating conditions to theuser feedback mechanism 200 and can also specially configure display by themini LCD 204 for theparticular application 604. TheLCD interface 600 is specially configured to encapsulate functionality for theapplication mini LCD 204 of theuser feedback mechanism 200. TheLCD interface 600 is basically an open mechanism for anyapplication operating system 100 to communicate with themini LCD 204. TheLCD interface 600 may also be used by theapplication mini LCD 204. Theapplication - 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 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.
- A variety of application-specific messages may be displayed by the
mini LCD 204. If the application for example is Microsoft Word®, then themini LCD 204 may be used to indicate that Microsoft Word® is launching or to indicate that Microsoft Word® is terminating. Theapplication operating system 100 and can be self-terminated when not needed. As another example, if theapplication 604 is a paging application, then theapplication 604 can signal themini LCD 204 to display “paging mom” when theapplication 604 is being used to page the mother of the user. Five other examples of applications that may communicate with theuser 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. Unlikeapplication 604,application 602 is shown coupled to theoperating system 100 to represent that an application may leverage the resources of theoperating 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 theuser 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. Theclient 612, such as one represented by any of monitors 500-508 in FIG. 6, communicates with themini LCD 204 through theLCD interface driver 118 or thesystem BIOS 102. TheLCD interface driver 118 is coupled to theLCD interface 600 and to input/output (I/O)logic 608. In a disclosed embodiment, theLCD interface driver 118 is configured as an RS-232 or other serial port driver. In addition, in a disclosed embodiment, thedriver 118 includes entry points typical of a Windows driver model (WDM)/NT driver as well as driver entry points specialized for theuser feedback mechanism 200. The table below shows a variety of driver entry points used in connection with theuser 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. 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. 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 thetable 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
driver 118 can be used to dynamically download text or an icon for an application or client. In a disclosed embodiment, thedriver 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 theuser 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 theLCD interface 600 enables an application or client component to drive themini LCD 204 such that an application or client component is not required to communicate directly with theLCD interface driver 118. TheLCD interface 600 uses the driver entry points to shield individual applications from having to talk to theLCD interface driver 118 directly. - The input/
output logic 608 includesACPI logic 210 and a universal asynchronous receiver/transmitter (UART) 606. TheACPI logic 210 is coupled to thesystem BIOS 102 and to thepower supply 214. Independent of both theoperating system 100 and theLCD interface driver 118, system level interfacing by theclient 612 with themini LCD 204 may be handled through thesystem 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 theLCD interface driver 118 are independent of theoperating system 100 in a different sense.System BIOS 102 is independent of theoperating 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 theoperating system 100. TheLCD interface driver 118 and theapplication operating system 100 in the sense that the manner for theapplication LCD interface driver 118 to drive themini LCD 204 is not limited to a particular operating system. The resources or mechanisms of any given operating system may be used in driving themini LCD 204. - UART-to-UART communication is accomplished through the
interface controller 202 between theUART 606 of the I/O logic 608 and aUART 610 of themini LCD 204. It should be understood that functionality for communicating an operating condition to themini LCD 204 may be encapsulated in theclient 612 or theapplication operating system 100 itself, although potentially sacrificing some independence from theoperating system 100. In a disclosed embodiment, theinterface 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.
- 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.
- 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.
- 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.
Claims (27)
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)
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)
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)
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)
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 |
-
2000
- 2000-01-05 US US09/478,153 patent/US6720983B1/en not_active Expired - Lifetime
-
2001
- 2001-01-29 US US09/771,866 patent/US20010007140A1/en not_active Abandoned
Patent Citations (27)
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)
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 |