1. Field
The disclosed aspects relate generally to communications between devices and specifically to methods and systems for enhancing device performance through TCP flow control based on device-centric characteristics.
2. Background
Advances in technology have resulted in smaller and more powerful personal computing devices. For example, there currently exist a variety of portable personal computing devices, including wireless computing devices, such as portable wireless telephones, personal digital assistants (PDAs) and paging devices that are each small, lightweight, and can be easily carried by users. More specifically, the portable wireless telephones, for example, further include cellular telephones that communicate voice and data packets over wireless networks. Further, many such cellular telephones are being manufactured with relatively large increases in computing capabilities, and as such, are becoming tantamount to small personal computers and hand-held PDAs.
Still further, devices may be configured to run multiple applications, each of which may seek to access content from a network resulting in large variability in bandwidth usage. Even when a user is running multiple applications in which each individual application uses less than the total available bandwidth, the sum of all the applications may use more than the available bandwidth. This results in poor performance for all the applications. Without due care a network bottleneck can degrade one application where it becomes impossible for the user to interact with the application. Currently, cellular networks use large network buffers to deal with the variability of bandwidth of a link which may result due to wireless channel quality and congestion. This variability implies changing bandwidth delay product (BDP) and the need for large buffers to fully utilize the link.
However, fully utilized links create a problem for interactive applications because of the presence of large buffers in the network. For example, if a background task begins to download an album from the network this activity can affect interactive applications with end to end latency requirements. In other words, a large network buffer size increases latency for packets from interactive applications. Not allowing the network buffer to build up is an inefficient use of the network link and can harm the performance of tasks like downloading large content.
Thus, improved apparatus and methods for enhancing user device performance through flow control may be desired.