Systems and Methods for Wireless Communications

Abstract
A method to improve TCP throughput by separating TCP acknowledgment flow from TCP normal data flow in a wireless communications environment. This method creates dedicated signaling air interface link and signaling A10 link for TCP acknowledgment flow and assigns a higher priority value to TOS field of IP packets encapsulating TCP acknowledgments than those encapsulating TCP normal data.
Description

BRIEF DESCRIPTION OF THE DRAWINGS

The disclosed inventions will he described with reference to the accompanying drawings, which show important sample embodiments of the invention and which are incorporated in the specification hereof by reference, wherein:



FIG. 1A shows an example of forward flow routing, according to disclosed innovations, to expedite acknowledgement packets.



FIG. 1B shows an example of reverse flow routing, according to disclosed innovations, to expedite acknowledgement packets.



FIG. 1C illustrates an example of a network which is advantageously modified to include one or more of the inventions disclosed herein, and thereby improve TCP throughput.



FIG. 2A shows how a sample embodiment works in support of a FTP download application.



FIG. 2B shows how a sample embodiment works in support of a FTP download application.



FIG. 3A shows how the conventional handling of forward flows would differ from that of FIG. 1A, and FIG. 3B shows how the conventional handling of reverse flows would differ from that of FIG. 1B.



FIG. 4 shows the conventional cdma2000 HRPD Air Interface Protocol Layering Architecture.



FIG. 5(
a) shows a conventional TCP/IP Protocol Architecture.



FIG. 5(
b) shows conventional header structure of IPv4 Packet.



FIG. 5(
c) shows conventional TOS Field and specified values.



FIG. 5(
d) shows a conventional header structure of IPv6 Packet.



FIG. 5(
e) shows how segments of an application message are conventionally encapsulated info a TCP segment, and then info an IP packet.



FIG. 6 shows the conventional relationship of TCP window size (buffer) and delay.





DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The numerous innovative teachings of the present application will be described with particular reference to presently preferred embodiments (by way of example, and not of limitation).



FIG. 1C illustrates an example of a network which is advantageously modified to include one or more of the inventions disclosed herein, and thereby improve TCP throughput. Access Terminal (AT) 110 is e.g. an advanced cellphone, which interfaces to Radio Access Network (RAN) 120. AT can also be referred by other names, such as mobile unit, mobile station or user equipment, etc, and can also be PDA or PC equipped with wireless communications capabilities, and RAN can also be named, for example, Access Network (AN) or Base Station (BS), etc. Packet Service Data Node (PDSN) 130 (or Packet Data Node or Data Network Node, etc) provides an interface to the Internet. RAN 120 provides an interface to the PDSN 130 via the RAN-to-PDSN interface 140 (also known as the R-P or A10/A11 interface). (IS-2001 defines the R-P interface as two separate interfaces: the A10 interface, which carries user data, and the A11 interface, which carries signaling data.) The techniques discussed below provide more efficient handling of TCP activity from the AT 110, through RAN 120 and PDSN 130 (in this example), to the Internet.


A general conceptual overview will be given first, referencing FIGS. 1A and 1B, followed by a more detailed review which references FIGS. 2A and 2B.


Conceptual Overview



FIG. 1A shows how forward flows are handled in a sample embodiment discussed above. Actions taken in a fixed access network (AN) or RAN 150 are shown on the left side, and actions taken in a mobile access terminal AT 110 are shown on the right.


Initially the PDSN 130 classifies incoming packets. The PDSN normally sees IP packets rather than TCP segments, even though it could check TCP segment headers for ACK field value. Therefore, the PDSN 130 can only check the TOS field of IPv4 packets (or the Traffic Class field for IPv6 packets). For reference, FIG. 5(b) shows the header format of an IPv4 packet, FIG. 5(c) shows the TOS (Type of Service) field format and its specified values (in IPv4), and FIG. 5(d) shows the header format of IPv6 Packet.


TWO separate A10 links are set up between AN 150 and PDSN 130: A10a for packets which have a lower priority setting on their TOS field and carries TCP segments without acknowledgment bits set, and A10b for packets which have a higher priority setting on their TOS field and carries TCP segments with acknowledgement bits set. And between AN 150 and AT 110 separate reservations (labeled as 0xaa and 0xbb in this example) are assigned to connect these two links. Two different link flows correspondingly occur (labeled as 0xuu and 0xvv in this example), and these drive two different Radio Link Protocol (RLP) instances uu and vv. These different link flows carry different parameters down to the Media Access Control (MAC) layer, and hence the radio transmission at the physical layer (PHY) is controlled so that the ACK channel has higher priority.


Thus when the TCP entity of the application (or applications) 160 receives the TCP segments, the TCP segments with acknowledgement bits set have been expedited, completely invisibly to the application.


Reservations are identified by an 8-bit ReservationLabel. The reservation 0xaa represents TCP data flow and the reservation 0xbb TCP acknowledgment flow. Link flows represent RLP flows across air interface. They are identified by Link Flow ID. Link Flow 0xuu carries reservation 0xaa and Link Flow 0xvv carries reservation 0xbb.



FIG. 1B is a similarly conceptual representation of the handling of reverse flows. Here an additional choice exists: in one option the application 160 can be updated to an application 160′ which assigns separate reservations to packets which do or do not contain acknowledgement data, and then the flows on the separate reservations are treated differently just as in FIG. 1A. In another option an additional software layer can be added to classify the packets sent by a conventional application 160, and assign them to the appropriate reservations.



FIG. 3A shows how the conventional handling of forward flows would differ from that of FIG. 1A. Note that the data and acknowledgement flows are NOT separated, so both flows are treated the same. The conventional PDSN 130′ still has a packet filter, but the conventional AN 150′ does not implement the logic to request separate A10/reservation/flow links for TCP data v. acknowledgment flows. The structure in the conventional AT 110′ is similarly simplified. FIG. 3B similarly shows how the conventional handling of reverse flows would differ from that of FIG. 1B. Here the output from a conventional application 160 does not have to be split, and only one flow path is needed.


Greater Detail Regarding Implementation


The preferred embodiment will now be described in greater detail, with reference to FIGS. 2A and 2B. This sample embodiment takes advantage of the support of multi links offered in CDMA2000 1xEVDO Rev. A.


Setup: Based on the delay and bandwidth requirements requested by the upper applications, the sample embodiment attempts to establish multiple air interface links and A10 links, using different parameters in the forward and reverse links to meet the upper layer's QoS requests.


In this sample embodiment, the AT 110 uses ReservationKKQoSRequestRev and ReservationKKQoSRequestFwd signaling messages, with ProfileID set to signaling type QOS, to request an air interface link dedicated for TCP acknowledgment flow.


When AN 150 receives the requests, it checks the ProfileID. If ProfileID is of signaling type and this is the first signaling carrier request from this AT 110, AN 150 sets up an air interface dedicated for the TCP acknowledgment flow for this AT. Otherwise, the TCP acknowledgment flow will be transmitted on an existing air interface. Similarly, the A10 signaling links between AN 150 and PDSN 130 corresponding to the air interface links are also established.


The forward air interface carrier for signaling is of delay sensitive type with a priority higher than the forward air interface carrier for normal data transmission. For the reverse air interface carriers, the one for signaling uses low delay MAC parameter, and the one for data defaults MAC parameter to be high capacity (or best effort); consequently, the reverse MAC channel with low delay parameter setting has a higher priority than the MAC channel with high capacity parameter setting.


Both ends of TCP connection will have to assign higher priority to TCP acknowledgments. The TOS (Type of Service) field of IP packets that encapsulates TCP acknowledgments will be assigned a value of higher priority than those IP packets containing normal TCP data. This TOS value must match that contained in the packet filter component of TFT (Traffic Flow Templates) that is reported by AT 110 to PDSN 130. When PDSN 130 receives an TCP segment from FTP server 240, it determines which A10 link to transmit such a segment on, based on the IP addresses, TCP ports and TOS value matching those stored in PDSN's TFT packet filter component.



FIGS. 2A and 2B are time diagrams showing an FTP application that is used to illustrate the sample embodiment. Step a (250) uses standard procedures to establish the main air interface link between AT 110 and AN 150, and the main A10 link between AN 150 and PDSN 130. This step includes establishment of PPP between AT 110 and PDSN 130, details of which shall have no impact on the sample embodiment and should be obvious to any one skilled in the art.


Steps (b)-(h) (260) handle FTP download, which is mainly composed of data flow in the forward direction. In step b (261), the application initiates FTP download. FTP service is normally considered background service, and therefore, its data transmission is carried from FTP Server 240 to AT 110 without special QoS guarantee. In step c (262), AT 110 requests establishment of dedicated auxiliary reverse links by issuing ReservationKKQoSRequestRev using signaling type ProfileID to notify the QoS requirements on those links. Optionally, step c can also be postponed to when the AT 110 is required to send back TCP acknowledgment for the first TCP segment carrying FTP data in order in step f (265). In step d (263), both forward and reverse auxiliary air interface links for signaling between AT 110 and AN 150 are established and reservation flows are made and activated in the sample embodiment. Again, standard procedures are used and should be obvious to any one skilled in the art. However, a different sample embodiment can also choose to establish only reverse auxiliary air interface link for signaling and reservation flow, leaving the forward auxiliary air interface link and reservation flow for the future when the need arises. In step e (264), a auxiliary A10 signaling link is created between AN 150 and PDSN 130. In step f (265), FTP download starts and FTP data is arriving over main links to AT 110. In step g (266), whenever TCP receiver at AT 110 has TCP acknowledgment to send back, it encapsulates this TCP acknowledgment to an IP packet with its TOS set to higher priority. Finally, in step h (267), the TCP acknowledgment is sent back to FTP server 240 via auxiliary signaling links. Steps (f) 265, (g) 266 and (h) 267 will be repeated in any order as the transmission requires.


Steps (i)-(q) 270 handle FTP upload which is mainly composed of data flow in the reverse direction. In step i (271) application initiates FTP upload. Again, FTP service is normally considered background service, and therefore, its data transmission is carried from AT 110 to FTP Server 240 without special QoS guarantee. FTP data can be carried over main links. In step j (272), AT 110 requests establishment of auxiliary forward signaling links by issuing ReservationKKQoSRequestFwd using signaling type ProfileID to notify the QoS requirements on those links. In step k (273), AN 150 checks to see if auxiliary air interface signaling link exists. If it is, then no need to create new one, otherwise it follows steps similar to steps (d) 263 and (e) 264 to establish auxiliary air interface link and A10 link for signaling. The Traffic Flow Templates (TFT) may include packet filter(s) that identify the IP flow(s) as indicated by the AT 110. The TFTs are used to map forward traffic to the main or the auxiliary service instances and to indicate if a specific flow treatment (e.g. Header Compression technique) should be applied for the forward packet that matches the packet filter. In step l (274), AT 110 uses RESV message to pass TFT (Traffic Flow Templates) to PDSN 130 such that the TOS (Type of Services) used by Packet Filter corresponding to TCP acknowledgment flow will match TOS field set by FTP server 240 on the IP packets encapsulating TCP acknowledgments. In step m (275), FTP upload starts and FTP data is arriving over main links to FTP Server 240. In step n (276), whenever TCP receiver at FTP Server 240 has TCP acknowledgment to send back, it encapsulates this TCP acknowledgment to an IP packet with its TOS set to higher priority. In step o (277), the TCP acknowledgment is sent back to PDSN 130. In step p (278), PDSN 130 selects, based on TFT, the corresponding A10 signaling link to forward TCP acknowledgment received. Finally in step q (279), TCP acknowledgment is forwarded on the selected auxiliary signaling links. Steps (in) 275 to (q) 279 will be repeated in any order as the transmission requires.


Modifications and Variations


As will be recognized by those skilled in the art, the innovative concepts described in the present application can be modified and varied over a tremendous range of applications, and accordingly the scope of patented subject matter is not limited by any of the specific exemplary teachings given.


For example, instead of allocating two A10 links, another embodiment can let TCP data and acknowledgment flows share the same A10 link.


For another example, an embodiment can let TCP data flow share default reservation of best effort QoS with other data flows, instead of allocating dedicated reservation.


Yet for another example, an embodiment can let plural TCP acknowledgment flows share a common reservation, instead of allocating a separate one for each TCP acknowledgment flow.


Further it is also envisioned that an embodiment that without the flexibility to allocate different transport carriers for TCP Data flow and TCP Acknowledgment flow can implement different outgoing buffers for them in a way such that the buffer containing TCP Acknowledgments will have a higher priority to be transmitted.


None of the description in the present application should be read as implying that any particular element, step, or function is an essential element which must be included in the claim scope: THE SCOPE OF PATENTED SUBJECT MATTER IS DEFINED ONLY BY THE ALLOWED CLAIMS. Moreover, none of these claims are intended to invoke paragraph, six of 35 USC section 112 unless the exact words “means for” are followed by a participle.


The claims as filed are intended to be as comprehensive as possible, and NO subject matter is intentionally relinquished, dedicated, or abandoned.

Claims
  • 1. A method for wireless communication, comprising: creating at least two flow paths for reverse flow between an internet-connected station and a mobile station; andwhen an internet protocol packet is received, assigning the packet to one or another of said flow paths in dependence on whether control bits indicate the presence of transmission-control-protocol-related acknowledgement bits in the packet;wherein the different flow paths have different priority assignments.
  • 2. The method of claim 1, wherein said packet contains type of service bits which are used to indicate whether a packet contains transmission-control-protocol-related acknowledgement bits.
  • 3. The method of claim 1, wherein one said flow path is delay-sensitive, and another said flow path is best effort.
  • 4. The method of claim 1, wherein said flow path is carried in a reservation with priority set relative to said flow path priority.
  • 5. The method of claim 4, wherein said reservation is carried in a link flow with priority set relative to said reservation priority.
  • 6. The method of claim 1, wherein said flow path is checked for existence before creation and if said flow path is already in existence, no new flow path will be created.
  • 7. A method for wireless communication, comprising: creating at least two flow paths for forward flow between an internet-connected station and a mobile station; andwhen an internet protocol packet is received, assigning the packet to one or another of said flow paths in dependence on whether control bits indicate the presence of transmission-control-protocol-related acknowledgement bits in the packet;wherein the different flow paths have different priority assignments.
  • 8. The method of claim 7, wherein type of service bits in an IP packet are used to indicate whether a packet contains transmission-control-protocol-related acknowledgement bits.
  • 9. The method of claim 7, wherein said flow path is carried in a reservation with priority set relative to said flow path priority.
  • 10. The method of claim 9, wherein said reservation is carried in a link flow with priority set relative to said reservation priority.
  • 11. The method of claim 7, wherein a packet filter in said internet-connected station classified IP packets from Internet into said flows.
  • 12. The method of claim 11, wherein said internet-connected station selects one said flow to transmit an IP packet from Internet based on information contained in said IP packet header and Traffic Flow Template settings of said packet filter.
  • 13. The method of claim 7, wherein said flow path is checked for existence before creation and if said flow path is already in existence, no new flow path will be created.
  • 14. A method for wireless communication, comprising: at a first station, passing the packets toward a physical layer through different procedures accordingly, andaccordingly transmitting the packets through an air interface to a second station; andat said second station, identifying whether packets generated for transmittal contain acknowledgement bits,passing the packets toward a physical layer through different procedures accordingly, andaccordingly transmitting the packets through an air interface to said first station differently.
  • 15. The method of claim 14, wherein said first station is an Access Network Node, and said second station is a mobile Access Terminal.
  • 16. The method of claim 14, wherein said identifying step at said second station uses Type of Service information.
  • 17. The method of claim 14, wherein said transmitting action at said second station uses delay-sensitive and best effort transmission selectively.
  • 18. The method of claim 14, wherein said transmitting action uses reservation with selective priority.
  • 19. The method of claim 14, wherein said transmitting action uses link flow with selective priority
  • 20-49. (canceled)
Priority Claims (1)
Number Date Country Kind
200610147196.2 Oct 2006 CN national