US 7142508 System and method for controlling data transfer rates on a network

ABSTRACT – Data transfer rates on a network are controlled in conjunction with TCP/IP protocols by limiting the available space in a receive buffer located on the receiver. Limits are generated by either moderating the rate that data is removed from the receive buffer or changing the receive buffer’s size. Transfer rates are reduced to decrease the impact large transfers have on other network traffic and to reduce the total number of lost data packets. Reduced rates and priorities can be managed by scheduling systems.

FIELD OF THE INVENTION

The invention relates to network communications and more specifically to the management of data transfer rates under TCP/IP protocols.

BACKGROUND OF THE INVENTION

As illustrated in prior art FIG. 1, a computer network, generally designated 100, includes a plurality of receivers 110, each connected through communications channels 115 to a network 120. Network 120 is also connected through communications channels 115 to a sender 130 and an intermediary 140. Intermediary 140 serves as a transmission node or cache system between various parts of network 120, sender 130, or receivers 110. In some cases, receiver 110and sender 130 are a network client and network server respectively.

Communications between the elements of computer network 100 are typically managed using a layered series of software and hardware systems. Prior art FIG. 2illustrates some of the various layers involved when computer network 100includes the World Wide Web. A top layer includes FTP/HTTP 210 (File Transfer Protocol and Hypertext Transfer Protocol). These standard components serve as the interface between lower levels of the communication system and application programs such as browsers. FTP/HTTP 210 operates above a TCP (Transmission Control Protocol) 220 layer that facilitates the delivery and reception of data packets to and from devices in computer network 100. IP (Internet Protocol) 230layer, data link 240 layer, and physical network 250 perform well known standard operations enabling the transfer of data.

TCP 220 includes software running on both sender and receiver 110 devices. TCP 220 hides the details pertaining to the network and its characteristics from FTP/HTTP 210 and communicates with FTP/HTTP 210 through a simple TCP application programming interface (API). TCP 220 has three roles: (a) it prevents congestion at the receiver, (b) it prevents congestion in the network along the path used from source to destination, and (c) it guarantees a reliable data transfer.

At sender 130, buffers in TCP 220 receive data to be transferred from applications at FTP/HTTP 210. These buffers are referred to as the “TCP Send Buffers.” Likewise, at receiver 110, there are “TCP Receive Buffers” associated with each sender 130, from which applications on receiver 110 read data transferred over network 120. A pair of send and receive buffers exists for each TCP connection. Data are written to and read from the send and receive buffers in blocks of various sizes.

FIG. 3 illustrates a prior art receive buffer 310 associated with TCP 220 on a receiver 110. Receive buffer 310 contains data 320 and has a limited available space of a size, known as the receive window Wr 330, where additional data could be stored. TCP 220 uses an explicit feedback mechanism to prevent congestion at receiver 110 and overflow of receive buffer 310. Receiver 110 declares the size (number of bytes) of receive window Wr 330 in each acknowledgement sent back to sender 130. Sender 130 never allows the amount of outstanding data transmitted and not yet acknowledged to exceed Wr 330.

To prevent congestion along a communications path, TCP 220 follows a congestion control algorithm that limits the amount of outstanding data. The congestion control algorithm contends with the fact that no information is available regarding the available bandwidth of the path from sender 130 to receiver 110. The congestion control algorithm starts by allowing a small amount of outstanding data and then increases the amount of outstanding data allowed as acknowledgements are received from receiver 110. The amount of outstanding data allowed by the congestion control algorithm is referred to as the congestion window (Wc). The actual amount of data that can be sent is the send window (Ws), which is equal to the minimum of Wr 330 and Wc.

To illustrate the dynamics of the congestion window Wc, one may momentarily assume that there is an abundance of data to send and that receive window Wr 330 is very large, and therefore does not place any limitation on the size of the send window Ws. The congestion control algorithm starts with a small congestion window (Wc) equal to the maximum size of a single TCP segment. The first transmission includes only one TCP segment, carrying at most an amount of data equal to the maximum segment size (MSS). When an acknowledgement of the first segment is returned from receiver 110, the congestion window Wc is increased by another MSS to two times MSS. Since, for this illustration, Wr 330 is assumed to be very large, the send window Ws also becomes two times MSS. The maximum amount of data that can be sent in the next transmission (Ws) is now two times MSS. When two segments are sent, each is acknowledged independently by receiver 110 and as each acknowledgement is received the congestion window Wc is increased by MSS. After both acknowledgements are received from a two-segment transmission, Wc (and Ws) will equal four times MSS. By increasing the size of the congestion window by one MSS for each acknowledgement received, the number of segments in each transmission doubles as each previous transmission is fully acknowledged. This increase continues until the congestion window Wc reaches a certain value called the “threshold.” Beyond the threshold, the congestion window Wc is incremented by only one MSS for each set of transmissions. This phase of the congestion control algorithm is referred to as the congestion avoidance phase. The congestion window Wc keeps increasing, albeit at a smaller (linear) rate instead of an exponential rate, until the size of the congestion window Wc reaches a preset maximum. This maximum is a predetermined system parameter. Since the congestion window Wc increases over time, the likelihood of congestion and, therefore, loss of a packet on the network also increases over time. If a TCP segment is lost in the network, the lack of acknowledgement from receiver 110 within a timeout period triggers the retransmission of the lost segment and all segments following it and also resets the size of congestion window Wc (and Ws) to MSS. The process described above is then repeated. TCP 220, therefore, does not maintain a constant transmission rate, but rather transmits data using a congestion window that increases according to first an exponential rule and then a linear rule until a transmission loss occurs and Wc is reset.

FIG. 4 is a prior art illustration of congestion window Wc size as a function of time. During an initial phase 410 the congestion window Wc increases exponentially, from an initial size of one MSS, until it reaches a threshold (Thr 430). Wc then increases linearly during a second phase 440, until at time 450 a segment (data packet) is lost at which time Wc is reset to one MSS and the process is repeated. Time 450 can occur at any point in each cycle. Wc will stop increasing if a maximum size (max 480) is reached before a data segment is lost. The loss of data segments is dependent on the bandwidth of network 120 and the constantly variable traffic it supports. The value of max 480 is a system parameter associated with elements on network 120. After a packet is lost, a new threshold (ThrB 420) is set as a function of the largest window size reached on the previous cycle. The cycles are repeated until all data transmission is completed or a timeout occurs.

When Wr 330 is finite the send window, Ws, is determined by Wr 330 if Wr 330 is less than Wc. Ws is always the minimum of the current value of Wc and the most recently declared value of Wr 330.

A method of controlling the rate of data transfer is to limit the rate at which the application at sender 130 writes data to the send buffer. This is accomplished by limiting the size and frequency of data blocks written to the send buffer. Writing blocks of small size and high frequency can represent a high overhead at sender 130. Since sender 130 is typically a server serving a large number of clients, the preference of sender 130 is to use large blocks, and to control the rate by controlling the frequency of writes. However, writing large size blocks gives TCP 220 an opportunity to send large batches. Large batches generate traffic of a bursting nature and thus are more likely than traffic of a steady nature to cause congestion in network 120.

The prior art systems described above have a number of disadvantages. The variable send window Ws implies that an optimal transmission rate is never maintained. The average transmission rate also varies as a function of total traffic on the network. This variability makes scheduling of large data transfers difficult and allows large transfers to have a significant impact on other data. To be practical any solutions to these problems must be made utilizing the current standardized protocols.

Two prior art methods of regulating transfer rates involve intercepting the acknowledgement sent from receiver 110 to sender 130. In the first method the acknowledgement is delayed for a period of time and in the second the value of Wr reported within the acknowledgement is modified by inserting a new value. Both of these approaches have significant disadvantages, including the necessity of intercepting packets in the network.

Further information about TCP/IP and the state of the art in data transfer methods is found in the following references:

Packer, Robert L., “Method for Explicit Data Rate Control in a Packet Communication Environment Without Data Rate Supervision”, U.S. Pat. No. 6,038,216.

SUMMARY OF THE INVENTION

The invention includes methods of regulating the rate of transmission on a computer network employing TCP. The methods involve moderating the amount of available space in a receive buffer by either reducing the rate at which data is removed from the receive buffer or changing the size of the receive buffer. By moderating the available space in the receive buffer, the size of data blocks sent by a sender is controlled and the average transmission rate is regulated.

Embodiments of the system for regulating an average rate of transmission on a computer network include a rate control software module, running on the receiver, that monitors the actual transmission rate, the number of lost packets, and the size of the receiver’s receive window (Wr). In an embodiment of the invention the rate control module regulates the rate at which data is removed from the receive buffer. In another embodiment the rate control module adjusts the size of the receive buffer. In both of these embodiments, the rate control module moderates the size of the receiver’s receive window, which controls the rate at which the sender transmits data.

The rate control module optionally operates in response to a priority or schedule associated with a data transmission. For example, the receiver attempts to achieve a transmission rate that is determined by a priority assigned to the data. Computer code operating on either the sender or the receiver optionally manages a schedule for a plurality of transmissions.

The invention allows the transfer of large data files in the “background” with controlled effects on other network traffic.

Related Posts

US 5555478 Fiber optic information transmission system ABSTRACT – A unique fiber optic network with shunting routing devices strategically placed on the fiber optic matrix. These shunting devices divert the packeted information through the network to the intended subscriber. Emergency back-up and alternative routes are provided for in the system. TECHNICAL FIELD OF THE INVENTION A fiber optic information transmission system. BACKGROUND OF THE INVENTION Information transmission currently includes the transmission of voice and video signals, as well as other digital information to and from home/offices. Home/offices are usually described as subscribers to the transmission system. Traditional methods of information transmission include the use of central office switching, local loops, cable and cable farms, and dedicated wire pair transmission. Digital transmission of information and the use of fiber optic networks are also known in the art. The use of these new technologies in handling transmission of information, however, has yet to…

US 7580349 Content-aware dynamic network resource allocation ABSTRACT – Network resources allocated for particular application traffic are aware of the characteristics of L4+ content to be transmitted. One embodiment of the invention realizes network resource allocation in terms of three intelligent modules, gateway, provisioning and classification. A gateway module exerts network control functions in response to application requests for network resources. The network control functions include traffic path setup, bandwidth allocation and so on. Characteristics of the content are also specified in the received application network resource requests. Under request of the gateway module, a provisioning module allocates network resources such as bandwidth in optical networks and edge devices as well. An optical network resource allocation leads to a provisioning optical route. Under request of the gateway module, a classification module differentiates applications traffic according to content specifications, and thus creates and applies content-aware rule data for edge devices to forward…

US 7260621 Object-oriented network management interface ABSTRACT – A system and method is provided for using an object-oriented interface for network management. An example system and method receives a management information base (MIB) including information related to one or more aspects of a network device, extracts a subset of information from the MIB describing at least one aspect of the network device, and generates a set of object-oriented classes and object-oriented methods corresponding to the subset of information in the MIB. In addition, this system and method interfaces with network management information on a network device, by providing a management information base (MIB) including information related to one or more aspects of a network device, and using a set of object-oriented classes and object-oriented methods that corresponds to the MIB and information related to one or more aspects of the network device. TECHNICAL FIELD This invention generally relates to using…

US 20100220616 Optimizing network connections ABSTRACT – Embodiments of the invention provide methods and systems for optimizing network connections by a computing device. One or more network connections between a source and a destination may be monitored for one or more values of one or more connection parameters. Thereafter, one or more values of the connection parameters of the monitored network connections may be analyzed to select one or more combinations of the values. Further, the selected combinations of the values of the connection parameters may be stored. Subsequently, one or more monitored network connections may be established based on the stored values of the combinations. FIELD OF THE INVENTION The invention relates to network connections and more specifically the invention relates to optimization of network connections. BACKGROUND OF THE INVENTION Various users across the globe communicate or perform various activities on computer and device networks. Moreover, the users interact with…

US 8929517 Systems and methods for visual presentation and selection of IVR menu ABSTRACT – Embodiments of the invention provide a system for generating an Interactive Voice Response (IVR) database, the system comprising a processor and a memory coupled to the processor. The memory comprising a list of telephone numbers associated with one or more destinations implementing IVR menus, wherein the one or more destinations are grouped based on a plurality of categories of the IVR menus. Further the memory includes instructions executable by said processor for automatically communicating with the one of more destinations, and receiving at least one customization record from said at least one destination to store in the IVR database. FIELD OF THE INVENTION The invention relates to Interactive Voice Response (IVR) system and more specifically the invention relates to visual selection of IVR option from a caller device. BACKGROUND OF THE INVENTION Interactive Voice Response (IVR)…

US 20080040630 Time-Value Curves to Provide Dynamic QoS for Time Sensitive File Transfers ABSTRACT – A method and apparatus has been shown and described which allows Quality of Service to be controlled at a temporal granularity. Time-value curves, generated for each task, ensure that mission resources are utilized in a manner which optimizes mission performance. It should be noted, however, that although the present invention has shown and described the use of time-value curves as applied to mission workflow tasks, the present invention is not limited to this application; rather, it can be readily appreciated by one of skill in the art that time-value curves may be used to optimize the delivery of any resource to any consumer by taking into account the dynamic environment of the consumer and resource FIELD OF THE INVENTION This invention relates generally to resource management and more particularly to a method and apparatus for generating…

US 5276785 Moving viewpoint with respect to a target in a three-dimensional workspace ABSTRACT – Images are presented on a display to produce the perception of viewpoint motion in a three-dimensional workspace. The user can indicate a point of interest (POI) or other region on a surface in an image and request viewpoint motion. In response, another image is presented from a viewpoint that is displaced as requested. The user can request viewpoint motion radially toward or away from the POI, and can also request viewpoint motion laterally toward a normal of the surface at the POI. Radial and lateral viewpoint motion can be combined. The orientation of the viewpoint can be shifted during lateral motion to keep the POI in the field of view, and can also be shifted to bring the POI toward the center of the field of view. In a sequence of steps of viewpoint motion, the…

US 7734748 Method and apparatus for intelligent management of a network element ABSTRACT – A network element (NE) includes an intelligent interface (II) with its own operating environment rendering it active during the NE boot process, and with separate intelligence allowing it to take actions on the NE prior to, during, and after the boot process. The combination of independent operation and increased intelligence provides enhanced management opportunities to enable the NE to be controlled throughout the boot process and after completion of the boot process. For example, files may be uploaded to the NE before or during the boot process to restart the NE from a new software image. The II allows this downloading process to occur in parallel on multiple NEs from a centralized storage resource. Diagnostic checks may be run on the NE, and files, and MIB information, and other data may be transmitted from the II to…

US 5864682 Method and apparatus for frame accurate access of digital audio-visual information ABSTRACT – A method and apparatus for use in a digital video delivery system is provided. A digital representation of an audio-visual work, such as an MPEG file, is parsed to produce a tag file. The tag file includes information about each of the frames in the audio-visual work. During the performance of the audio-visual work, data from the digital representation is sent from a video pump to a decoder. Seek operations are performed by causing the video pump to stop transmitting data from the current position in the digital representation, and to start transmitting data from a new position in the digital representation. The information in the tag file is inspected to determine the new position from which to start transmitting data. To ensure that the data stream transmitted by the video pump maintains compliance with the…

EP 1905211 Technique for authenticating network users ABSTRACT – A technique for authenticating network users is disclosed. In one particular exemplary embodiment, the technique may be realized as a method for authenticating network users. The method may comprise receiving, from a client device, a request for connection to a network. The method may also comprise evaluating a security context associated with the requested connection. The method may further comprise assigning the client device one or more access privileges based at least in part on the evaluation of the security context. FIELD OF THE DISCLOSURE The present disclosure relates generally to network security and, more particularly, to a technique for authenticating network users. BACKGROUND OF THE DISCLOSURE To prevent unauthorized access, it is often necessary for a network to authenticate its users to ensure that each user is who he or she claims to be. Conventional user authentication methods typically involve a…

20170322687 Systems and methods for electronic communications ABSTRACT – Embodiments of the invention provide a system for enhancing user interaction with objects connected to a network. The system includes a processor, a display screen, a memory coupled to the processor. The memory comprises a database including a list of two or more objects and instructions executable by the processor to display a menu. The menu is associated with at least two independent objects. And the two independent objects are produced by two independent vendors. FIELD OF THE INVENTION The present invention is related to electronic communications in a network and more specifically to systems and method for accessing and controlling one or more objects (physical or virtual) such as remote devices and services from a remote location by a user. BACKGROUND OF THE INVENTION Electronic devices are frequently used in day to day life. The electronic devices may include television,…

US 7725584 Using multiple communication channels to synchronize a mobile terminal based on data type ABSTRACT-The present invention may be regarded as a method of operating a mobile terminal during a synchronization session. A plurality of data types, including a first data type and a second data type, are identified to synchronize with the mobile terminal. A rule base is applied to assign the first data type to a first communication channel and the second data type to a second communication channel. Synchronization data of the first data type is exchanged over the first communication channel, and synchronization data of the second data type is exchanged over the second communication channel. FIELD OF THE INVENTION The present invention relates to mobile terminals. More particularly, the present invention relates to using multiple communication channels to synchronize a mobile terminal based on data type. BACKGROUND OF THE INVENTION Mobile terminals, such as…

US 9660655 Ultra low phase noise frequency synthesizer ABSTRACT -A system for providing ultra low phase noise frequency synthesizers using Fractional-N PLL (Phase Lock Loop), Sampling Reference PLL and DDS (Direct Digital Synthesizer). Modern day advanced communication systems comprise frequency synthesizers that provide a frequency output signal to other parts of the transmitter and receiver so as to enable the system to operate at the set frequency band. The performance of the frequency synthesizer determines the performance of the communication link. Current days advanced communication systems comprises single loop Frequency synthesizers which are not completely able to provide lower phase deviations for errors (For 256 QAM the practical phase deviation for no errors is 0.4-0.5°) which would enable users to receive high data rate. This proposed system overcomes deficiencies of current generation state of the art communication systems by providing much lower level of phase deviation error which would result…

US 7940652 Pseudowire protection using a standby pseudowire ABSTRACT – Providing protection to network traffic includes sending a Pseudowire protection configuration parameter for configuring a standby Pseudowire between a source node and a destination node, receiving a Pseudowire configuration acknowledgement indicating whether the Pseudowire protection configuration parameter has been accepted by the destination node, and in the event that the Pseudowire protection configuration parameter has been accepted by the destination node, using the standby Pseudowire, wherein the standby Pseudowire is configured based at least in part on the Pseudowire protection configuration parameter. BACKGROUND OF THE INVENTION In recent years, many networking and telecommunications carriers have deployed Pseudowires to carry Layer-2 (also known as the data link layer of the Open Systems Interconnection (OSI) Reference Model) traffic. A Pseudowire (PW) refers to an emulation of a native service over a network. Examples of the native service include Asynchronous Transfer Mode (ATM), Frame…

US 7039033 System, device and computer readable medium for providing a managed wireless network using short-range radio signals ABSTRACT – A system, a wireless hand-held device, and software component for accessing information responsive to short-range radio signals is provided. The system includes a wireless gateway device coupled to a network, such as a cellular network. The wireless gateway device includes a network manager software component for accessing information from the network responsive to a first short-range radio signal. The network may be a corporate, private or public network, such as the Internet. A first wireless device is coupled to the wireless gateway device. The first wireless device provides the first short-range radio signal. In an embodiment of the present invention, the first wireless device is a cellular telephone, personal digital assistant or thin terminal having a Bluetooth™ processor and transmitter. In an embodiment of the present invention, the network manager…

07 May 2001

Search

Contact

Network Communications Expert

A scientist, a technologist and an educator with over 30 years of experience; co-authored over 25 scientific publications, journal articles, and peer-reviewed papers; named inventor of over 120 issued and filed patents. Expert in telecommunications, network communications, Internet protocols, and mobile wireless.