System and method for efficiently managing data transports -> Monitor Keywords
Fresh Patents
Monitor Patents Patent Organizer File a Provisional Patent Browse Inventors Browse Industry Browse Agents Browse Locations
site info Site News  |  monitor Monitor Keywords  |  monitor archive Monitor Archive  |  organizer Organizer  |  account info Account Info  |  
06/29/06 - USPTO Class 709 |  45 views | #20060143294 | Prev - Next | About this Page  709 rss/xml feed  monitor keywords

System and method for efficiently managing data transports

USPTO Application #: 20060143294
Title: System and method for efficiently managing data transports
Abstract: A system is described for allocating bandwidth comprising: a transport layer to support a first socket connection for a first application and a second socket connection for a second application; and a socket prioritization module to allocate relatively more bandwidth to the first socket connection relative to the second socket connection, wherein allocation of bandwidth is based on one or more characteristics of the first application and/or the second application. (end of abstract)



Agent: Thomas C. Webster Blakely, Sokoloff, Taylor & Zafman LLP - Los Angeles, CA, US
Inventor: Jeffrey Bush
USPTO Applicaton #: 20060143294 - Class: 709226000 (USPTO)

Related Patent Categories: Electrical Computers And Digital Processing Systems: Multicomputer Data Transferring, Computer Network Managing, Network Resource Allocating

System and method for efficiently managing data transports description/claims


The Patent Description & Claims data below is from USPTO Patent Application 20060143294, System and method for efficiently managing data transports.

Brief Patent Description - Full Patent Description - Patent Application Claims
  monitor keywords



BACKGROUND

[0001] 1. Field of the Invention

[0002] This invention relates generally to the field of data processing systems. More particularly, the invention relates to a system and method for prioritizing data transports on a data processing device.

[0003] 2. Description of the Related Art

[0004] A typical layered network architecture is illustrated in FIG. 1. Each layer within the architecture performs a specific function to reliably transmit data from a source node 195 (e.g., a client computer) to a destination node 196 (e.g., a network server). For example, when an application 190 has data to transmit to another application 191, the data is processed, in succession by a transport layer 180, a network layer 170 and a data-link layer 160 before being transmitted over the actual physical connection 165 between the two nodes. At the receiving node 196, the data is then processed in reverse order, by the data-link layer 161, the network payer 171, and the transport layer 185 before being handed off to the receiving application 191.

[0005] The descriptions below assume that the reader has at least a basic understanding of the functions of each of the network layers. For those interested, a detailed description of the network layers defined by the ISO Open Systems Interconnection model can be found in DILIP C. NAIK, INTERNET STANDARDS AND PROTOCOLS (1998) (see, e.g., Chapter 1, pages 3-11).

[0006] The well known TCP/IP protocol ("Transmission Control Protocol/Internet Protocol") operates at the transport and network layers, respectively. The TCP transport layer is responsible for ensuring that all data associated with a particular data transmission arrives reliably and in the correct order at its destination. Specifically, in order to ensure reliable data transmission, a virtual connection 187 (also referred to herein as a "socket connection") is established between a TCP socket 182 opened at the destination transport layer 185 and a TCP socket 181 opened at the source transport layer 180.

[0007] The TCP sockets 181, 182 perform flow control to ensure that the data transmitted form the source node is provided to the receiving node at an acceptable data rate. Specifically, a "window" is established defining the amount of outstanding data a source node 195 can send before it receives an acknowledgment back from the receiving node 196 (i.e., indicating that it has successfully received all or a portion of the data).

[0008] For example if a pair of nodes 195, 196 are initially communicating over TCP connection that has a TCP window size of 64 KB (kilobytes), the transmitting socket 181 can only send 64 KB of data and then it must stop and wait for an acknowledgment from the receiving socket 182 that some or all of the data has been received. If the receiving socket 182 acknowledges that all of the data has been received then the transmitting socket 181 is free to transmit another 64 KB. If, however, the transmitting socket 181 receives an acknowledgment from the receiver that it only received the first 32 KB (which could happen, for example, if the second 32 KB was still in transit or was lost), then the transmitting socket 181 will only send another 32 KB, since it cannot have more than 64 KB of unacknowledged data outstanding (i.e., the second 32 KB of data plus the third).

[0009] Thus, the TCP window throttles the transmission speed based on how quickly the receiving application can process it. The TCP window is typically defined by a 16-bit TCP header field. As such, the largest window that can be used for a standard TCP connection is 2.sup.16 KB (64 KB).

[0010] A client may concurrently have several different socket connections open with a server or client, or with several different servers/clients. Each socket connection may not be utilized in the same manner, however. For example, the user may be interactively browsing web pages via one socket connection while receiving an automated software upgrade or e-mail message over another socket connection. This may result in a degradation of the interactive user experience, particularly on networks which allocate a relatively small amount of bandwidth per device (e.g., wireless networks such as Cellular Digital Packet Data and ARDIS networks). Under these circumstances, it would be useful to have the ability to prioritize the socket connections such that the interactive connections are provided with a relatively larger amount of bandwidth than the non-interactive connections.

SUMMARY

[0011] A system is described for allocating bandwidth comprising: a transport layer to support a first socket connection for a first application and a second socket connection for a second application; and a socket prioritization module to allocate relatively more bandwidth to the first socket connection relative to the second socket connection, wherein allocation of bandwidth is based on one or more characteristics of the first application and/or the second application.

BRIEF DESCRIPTION OF THE DRAWINGS

[0012] A better understanding of the present invention can be obtained from the following detailed description in conjunction with the following drawings, in which:

[0013] FIG. 1 illustrates an exemplary network architecture with a plurality of network layers.

[0014] FIG. 2 illustrates an exemplary data processing device communicating with an exemplary data service.

[0015] FIG. 3 illustrates one embodiment of a system for prioritizing socket connections.

[0016] FIG. 4a illustrates one embodiment of a method for allocating bandwidth for new background sockets.

[0017] FIG. 4b illustrates one embodiment of a method for allocating bandwidth for new foreground sockets.

[0018] FIG. 4c illustrates one embodiment of a method for allocating bandwidth based on relative socket priority.

[0019] FIG. 5 illustrates a technique for allocating bandwidth to a socket by setting and resetting transport window size.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

[0020] Described below is a system and method for processing code words. Throughout the description, for the purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It will be apparent, however, to one skilled in the art that the present invention may be practiced without some of these specific details. In other instances, well-known structures and devices are shown in block diagram form to avoid obscuring the underlying principles of the present invention.

Continue reading about System and method for efficiently managing data transports...
Full patent description for System and method for efficiently managing data transports

Brief Patent Description - Full Patent Description - Patent Application Claims

Click on the above for other options relating to this System and method for efficiently managing data transports patent application.
###
monitor keywords

How KEYWORD MONITOR works... a FREE service from FreshPatents
1. Sign up (takes 30 seconds). 2. Fill in the keywords to be monitored.
3. Each week you receive an email with patent applications related to your keywords.  
Start now! - Receive info on patent apps like System and method for efficiently managing data transports or other areas of interest.
###


Previous Patent Application:
Location-based network access
Next Patent Application:
Automatic detection and testing of new networking connections
Industry Class:
Electrical computers and digital processing systems: multicomputer data transferring or plural processor synchronization

###

FreshPatents.com Support
Thank you for viewing the System and method for efficiently managing data transports patent info.
IP-related news and info


Results in 0.93662 seconds


Other interesting Feshpatents.com categories:
Novartis , Pfizer , Philips , Polaroid , Procter & Gamble , 174
filepatents (1K)

* Protect your Inventions
* US Patent Office filing
patentexpress PATENT INFO