Real-time communications for speeding up packet transmission

Electrical computers and digital data processing systems: input/ – Interrupt processing – Interrupt prioritizing

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C710S048000

Reexamination Certificate

active

06738849

ABSTRACT:

The present invention relates to novel methods and apparatus for increasing the speed of data transfer between computers.
GLOSSARY
API—Application Programming Interface
CONFIGMG—Configuration Manager
CPU—Central Processing Unit
DSL—Digital Subscriber Line
Event Signal—Interrupt
Granularity—A period of time within which events can be processed. When interrupts can be processed by a handler within 0.000001 seconds, the term “microsecond granularity” is applicable.
Handler—Software that takes control over interrupt and processor exceptions. Technically referenced to as an interrupt service routine (ISR). Interrupts controlled by handlers can be classified into 3 categories: 1—Hardware interrupts (caused by external hardware); 2—software interrupts (caused by executing an TNT instruction); ; 3—Processor exception (generated by a processor when it detects certain programming errors).
I/O—Input/Output
Interrupt Latency—The time it takes to service an interrupt
IRQ—Interrupt Request
LAN—Local Area Network
Pipeline—A buffer or cache where data is staged for transfer. The pipeline acts as an extension of typically one megabyte to the FIFO buffer. The additional memory is taken from RAM.
PIT—Programmable Interrupt Timer
UART—Universal Asynchronous Receiver Transmitter
UIOH—UART Input Output Handler
VxD—Virtual Device Driver
VBD—Virtual Bandwidth Driver
VCD—Virtual Communications Device
VCOMM—Virtual Communications Manager
VMM—Virtual Machine Manager
VPICD—Virtual Programmable Interrupt Controller Device Driver
VTD—Virtual Timer Device Driver
BACKGROUND OF THE INVENTION
Recent years have seen substantial advancement in regard to the transmission speeds of modems and network cards. However, such increases in transmission speeds have not always been accompanied by corresponding increases in actual communication speeds between computers. As an example, even though modems purportedly having transmission speeds of 56 kbps are available, Microsoft has issued technical reports warning Windows users that communication speeds exceeding 19200 bps may cause loss of data and degrade multi-tasking operations.
In trying to understand why the actual speed of data throughput often does not match the transmission speed of the method and medium connecting computers, i.e., the pipeline, it is important to realize that data must be transferred to and from the pipeline at least as fast as data is transferred over the pipeline in order to maximize throughput. Throughput is often limited by the speed at which such data transfers can be accomplished within a computer. With transmission speeds equal to or greater than 9600 bps, data appears at the end of the pipeline at intervals of less than 1 millisecond. Although the use of buffers can decrease the instantaneous speed at which data in the pipeline needs to be processed, the average response time of a system must be less than 1 millisecond if continuous high speed data transmission is to be supported. Obtaining such a quick average response time is difficult to accomplish, particularly when using a multi-tasking operating system such as Microsoft Windows.
At least part of the difficulty in achieving fast response times is related to the manner in which communications are typically handled. In many systems, I/O devices generate event signals/interrupts when data is sent or received. When such an interrupt occurs, execution of routines for transferring data to or from the I/O device takes place. However, it is not uncommon for the interrupt latency (i.e., the time required for control to be switched between the current process and the interrupt handler) of a computer running Microsoft Windows to exceed 300 milliseconds. Attempts to increase data transmission speed by using buffers to store data that is to be transferred have been made. However, as data transfer must still be accomplished after control is switched, such systems clearly cannot provide the sub-microsecond response times required if buffers are not in use; and they often cannot respond quickly enough even when buffers are in use.
In short, a major bottleneck in transferring data between computers is attributable to the limitations on throughput imposed by the computer software/hardware. Maximum throughput can be attained only if the (typically) serial port is operated at saturation. Without port saturation, data cannot be moved in or out fast enough to sustain maximum bandwidth data transfer rates.
Whether or not they have been previously recognized, slowdowns in data communications related to the speed at which data can be transferred to and from a communications pipeline have existed and continue to exist. Thus, there is a continuing need for improved methods and devices allowing maximum throughput of data through transmission channels to be achieved.
SUMMARY OF THE INVENTION
There has now been invented and disclosed herein a novel approach to data transmission which provides significantly higher transmission speeds than do current approaches to this problem. An implementation of this new and novel technology is identified in this document as a Virtual Bandwidth Driver (VBD). The VBD is premised on the finding that, with a faster clock interrupt frequency and higher priority for communication controllers, a computer system's communication resource management can sustain the maximum throughput of data staged in a buffer memory, i.e., pipeline, with minimum multi-tasking degradation, regardless of protocol, media, or connection type. Increased transmission speed is also obtained by transferring data to and from the pipeline in blocks of (typically) 4096 bits rather than employing the conventional one bit at a time approach. This (1) reduces herky jerky effects in video and distortion in audio; (2) improves multitasking; (3) increases communication throughput; and (4) facilitates lossless data transmission.
VBD functionality is embedded in a computer system's operating environment by adding software that controls system clock interrupt frequency and interrupt processing, data pipelining, and communication resources. As a result, VBD so manages interrupt latency as to provide granularity in the microsecond range required for high speed data transmission.
In reaching this goal, VBD takes advantage of the fact that the speed of data transmission between computer systems can be increased by utilizing the highest priority interrupts assigned to non-communication devices to control communications. In particular, timer interrupts, which have the highest priority, are used to poll communication buffers to determine whether data needs to be sent or received with such polling replacing the use of data transfer interrupts typically associated with communication devices.
Also, VBD is capable of recognizing that an interrupt which affects the rate of data transfer is not operating at its highest frequency. In this instance VBD so increases that frequency as to speed up data transfer while maintaining “normal operation” of the involved system. For example, in one embodiment of the invention, an I/O handler which polls one or more I/O devices such as Universal Asynchronous Receiver-Transmitters (“UARTS”) used with serial ports is mapped to the interrupt of a programmable interrupt timer (“PIT”) such as the system clock after increasing the frequency at which the PIT/clock generates interrupts.
This results in the lower priority I/O device interrupts being replaced with the I/O device being serviced at the frequency with which the system clock can generate interrupts.
Conventionally, moderate increases in system clock frequency are employed to facilitate communication throughput. In contrast, in implementing the present invention, the clock frequency is increased to a multiple of the base frequency as required by a desired communication speed, thereby sustaining the maximum obtainable bandwidth.
Still another advantage of VBD is that Windows (as one operating system example) is more stable when VBD has been implemented. Specifically, when serial communications devices are used at the maximum UART speed of

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Real-time communications for speeding up packet transmission does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Real-time communications for speeding up packet transmission, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Real-time communications for speeding up packet transmission will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3221267

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.