Method and system for buffer storing bandwidth data from an input device

An efficient buffering mechanism for access and retrieval of stored high bandwidth data and sufficient storage is disclosed. In a typical operating system, a channel containing only a limited buffer between the input devices and the running applications is provided by the operating system. This inve...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: MICHAEL N. GRAY, JOHN M. ZETTS, ALAN R. TANNENBAUM
Format: Patent
Sprache:eng
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:An efficient buffering mechanism for access and retrieval of stored high bandwidth data and sufficient storage is disclosed. In a typical operating system, a channel containing only a limited buffer between the input devices and the running applications is provided by the operating system. This invention provides a parallel channel of a higher bandwidth with a far superior buffering capability that complements that of the operating system. When an input event from an input device with a high bandwidth is received by the system, messages are sent to both the operating system channel and the high bandwidth channel in a compatible format for each channel. The message sent to the operating system channel generally contains only limited data which may have to be translated from the actual input data to be acceptable to the operating system. The message sent to the high bandwidth channel contains the full spectrum of data generated by the input device. The buffer in the operating system channel also has the property of discarding data if the application does not retrieve them quickly enough during periods of high CPU utilization. The buffer in the high bandwidth channel keeps all data for up to 1000 input events, or whatever is deemed sufficient for the computer system, regardless of CPU usage. In response to the interception of a translated event in the operating system queue for one of the applications in the system, the method of the present invention will check to see if there are any events in the high bandwidth buffer. If there are, the system dequeues all the events to send them to the intended application. Various flags are set if task preemption is detected by the system upon examination of the events in the high bandwidth queue. Further, certain events may be sent asynchronously to the high bandwidth channel alone from various input devices; the system is prompted by a false "mouse" message in the operating system queue to cause the system to examine the high bandwidth buffer for the true input event.