WIRELESS CHANNEL ALLOCATION IN A BASE STATION PROCESSOR

Abstract: A system and method are provided for allocating wireless channels in a base station processor to messages sent between a subscriber and the base station processor in a wireless network. A latency period is determined corresponding to a return message to be received from a responsive node in response to an outgoing message sent from a sender via the base station processor. A latency manager in the base station processor computes the latency period and stores the latency period in an allocation table. A scheduler schedules a channel, in advance of the receipt of the return message, to be available at the end of the latency period indicated in the allocation table. At approximately the end of the latency period, the return message is received and the scheduler allocates a channel as defined in the allocation table. The scheduled channel is used to transmit the message to or from the corresponding subscriber.

Description: WIRELESS CHANNEL ALLOCATION IN A BASE STATION PROCESSOR BACKGROUND OF THE INVENTION Wireless network infrastructure equipment is increasingly being used to allow computing devices to communicate over a wireless medium to a wired network such as the Internet. In a wireless data network, a plurality of local computing devices, such as PCs, are supported via wireless subscriber access units. A subscriber access unit provides a wireless radio link to a base station processor. The base station processor is also connected to an Internet gateway that provides a connection to a wired network. Similar to a cellular telephone network, the base station processor allocates a plurality of wireless channels on a demand basis for providing message transmission to and from the subscriber units. The wireless channels are allocated to messages sent and received from the subscriber unit on behalf of the local computing device. In a typical base station processor, the wireless channels are a scarce resource which are shared by the subscriber units. Messages are often queued pending availability of a channel. Further, wired networks typically employs techniques to detect the speed with which a recipient is processing messages. These techniques reduce congestion by avoiding overburdening a recipient through reducing the rate at which messages are sent, and consequentially reducing throughput. Such techniques can interpret the queuing of messages at the base station processor as congestion in the wired network, and accordingly, reduce throughput. In particular, the protocols employed in the wired network do not lend themselves well to efficient communication over wireless connections. In a TCP/IP network, for example, congestion control techniques such as slow start, congestion avoidance, fast retransmit, and fast recovery are employed. In accordance with the slow start technique, as defined in Internet RFC 2581, an acknowledgment message (ack) is expected as a return message to each message sent. The number of bytes, or messages, sent is gradually increased as the acks are received in a timely manner. If the ack is not received in a timely manner, additional messages will be sent less frequently, reducing throughput. The queuing of messages at the base station processor, however, is not indicative of congestion at the base station processor. Rather, the queuing is indicative of the propagation delay inherent in wireless networks. This propagation delay is interpreted, however, as congestion by the wired line protocols such as TCP/IP. It would be beneficial therefore, to provide a method and apparatus which can anticipate the arrival of the return message, and schedule a channel to be available to transmit the message via the base station processor so that throughput in the wireless network is not reduced by the wired network protocol congestion control features such as slow start. SUMMARY OF THE INVENTION A system and method are provided for allocating wireless channels in a wireless communication system to support the transmission of messages between a subscriber and a base station processor. A latency period is determined corresponding to the timing of a return message expected fro a responsive node in response to an outgoing message sent from a sender via the base station processor. A latency manager in the base station processor computes the latency period and stores the latency period in an allocation table. A scheduler schedules a channel, in advance of the receipt of the return message, to be available at the end of the latency period indicated in the allocation table. At approximately the end of the latency period, the return message is received and the scheduler allocates a channel as defined in the allocation table. The scheduled channel is used to transmit the return message to or from the corresponding subscriber. The latency manager computes the latency period using a variety of transmission parameters defined in the wired line network protocol. For example, in a TCP/IP network, the transmission parameters used to compute the latency period can include window size, space available in the window, average message size, number of outstanding acks, message type, number of messages received in the session, number of outstanding acks, maximum number of outstanding acks, and other transmission parameters. BRIEF DESCRIPTION OF THE DRAWINGS The foregoing and other objects, features and advantages of the invention will be apparent from the following more particular description of preferred embodiments of the invention, as illustrated in the accompanying drawings in which like reference characters refer to the same parts throughout the different views. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating the principles of the invention. Fig. 1 is a block diagram of a communications system suitable for performing wireless channel allocation as defined herein; Fig. 2 shows a base station processor in communication with a plurality of subscriber access units; Fig. 3a shows message transmission in the system of Fig. 2; Fig. 3b shows a channel allocation table corresponding to the messages of Fig. 3a; Fig. 4 shows a flowchart of channel allocation as defined herein; Fig. 5 a shows a web page fetch using the system of Fig. 1; Fig. 5b shows the allocation table corresponding to the messages of Fig. 5a; Fig. 5c shows a timing chart corresponding to the allocation table of Fig. 5b; and Fig. 6 shows a subscriber profile table for channel allocation as defined herein. DETAILED DESCRIPTION OF THE INVENTION Fig. 1 is a block diagram of a communication system 10 operable for channel allocation in a wireless network as defined herein. The communication system includes a local computing device such as a PC 12, a subscriber access unit 14, a 5 base station processor 16, and an Internet gateway 18. The PC 12 is in com iunication with the subscriber 14 via a wired connection 20. The subscriber 14 is in communication with a base station processor 16 via a wireless connection 26. The base station processor is in communication with a Internet gateway 18 via wired link 24. The Internet gateway 18 is adapted for communication via a public access 10 network such as the Internet. The PC 12 may therefore be provided access to the network server 18, which may be any remote entity located on the Internet or other network, through a combination of the wired 20,24 and wireless connection 26 provided. The wired connection 20, 24 is typically supported by a protocol such as TCP/IP or UDP. The 15 wireless connection is supported by protocols such as the protocol described in pending U.S. Patent Application entitled "Dynamic Frame Size Settings for Multichannel Transmission," published as PCT application No. WO 99/44341, September 2, 1999. Typically, the PC 12 provides an Internet Protocol (IP) packet to the subscriber 14 over the wired connection 20, which may for example be an . 20. Ethernet type connection. The subscriber 14 removes the framing of the IP packet and transfers the data in the IP packet to the base station processorl6 over the wireless connection 26 in accordance with a wireless link protocol. The base station processor 16 extracts the wireless connection frames and forwards them, in IP packet form, over the wireline connection 24 to the Internet gateway 18. The 25 subscriber 14 and the base station processor 16 are therefore considered as "endpoints" of the wireless connection 20. Referring to Fig. 2, the base station processor 16 is shown in more detail. The base station processor 16 is in communication with a plurality of subscribers - 14a-14d. Additional subscriber units 14(x) can be provided. The subscribers 30 communicate with the base station processor via wireless channels 22a-22j shown. Additional channels 22(x) can be added. As indicated above, the channels 22 are used to transmit messages to and from the subscribers 14. A scheduler 28 allocates the channels 22 on a demand basis, and assigns available channels to messages transmitted between the subscribers 14 and the base station processor 16. The channels 22 are unidirectional between the subscribers 14 and the switch 16, however multiple channels may be allocated to messages originating from or destined to a particular subscriber 14. In the example shown, channel 22a is allocated to transmit a message from the base station processor 16 to the subscriber 14b. Channel 22b is allocated to receive a message at the base station processor 16 from the subscriber 14c, while channel 22c is allocated to send a message to the subscriber 14c. Channels 22d and 22e are allocated to transmit a message to the subscriber 14d, and channel 22f is allocated to receive a message from the subscriber 14d. Typically, as indicated above, the scheduler 28 is rapidly allocating channels to the subscribers to accommodate channel requests for messages to be sent to and received from the subscribers 14. Two dedicated channels, common to all subscribers 14, are employed to initiate message traffic on a channel. A common access channel 30 is used by a subscriber 14 to request a channel from the base station processor 16. A common paging channel 32 is used to notify a subscriber 14 that it is being allocated a channel. The messages are then forwarded by the subscribers 14 to the PC 12 or to the base station processorl6, depending on direction. The base station processor 16 also includes a latency manager 34, for determimng latency delays, and an allocation table, 36 both described further below. In a typical message transmission, as indicated above, a number of latency delays occur between the message sender and the receiver, or responsive node. For example, a wireless propagation delay occurs in transmitting a message from the base station processor 16 to the subscriber 14 (Fig. 1). A network propagation delay occurs as a message is transmitted over the Internet or other public access network. Other latency delays are present as will be described further below. It is common in a protocol such as TCP/IP to expect a return message, typically an ack, in response to a message sent to a responsive node. In accordance with the invention as defined herein, the latency manager is included in the base station processor to compute the latency delay and schedule a channel accordingly. Channel allocation refers to messages sent from a sender in either direction; the return message will be sent back to the sender by the node receiving the message. Therefore, a channel allocation for a return message will be predictively scheduled when a message is sent to or from the subscribers 14. Referring to Figs. 3 a and 3b, there is shown a more detailed design of the base station processor 16, including the latency manager 34, allocation table 36, and scheduler 28. The latency manager 34 is a process that computes the latency delay associated with the return message sent by a responsive node 40. The allocation table 36 is a memory structure that stores an entry 38 a, 38b for each channel allocation 22b, 22c, and associated latency times T 0 and T 0 + T L . A scheduler 28 is a process that reads the allocation table 36 and latency information to determine allocation of channels to expected messages. hi a typical message transmission, the PC 12 sends a connection request message to a responsive node 40, as indicated by arrow 42. The message 42 is sent at time T 0 Accordingly, an entry 38a is written in the allocation table 36 to allocated channel 22b with subscriber 14c at time T 0 . As the message 42 is received through channel 22b, the latency manager 34 examines the message. The latency manager 34 determines that the type of the message is a TCP/IP connection request, and that therefore that an ack can be expected as the return message. The latency manager 34 determines the latency period that will elapse before receipt of the return message at the base station processor 1 . For example, the latency manager 34 determines that an ISP (Internet Service Provider) delay 44 will occur between the Internet gateway 18 and the Internet 50, as indicated by ATI ; In addition, a network propagation delay 46 will occur as the message 42 is transmitted over the Internet 50 as indicated by ΔT 2 ; and then a responsive node delay 48 will occur as the responsive node 40 processes the messages and sends the return message, as indicated by ΔT 3 . The latency period T L 52 is therefore computed by the latency manager to be T L = ΔT + ΔT 2 + ΔT 3 . The latency manager then writes entry 38b into the allocation table 36 to indicate that following the latency period, a return message 54 can be expected .from responsive node 40 to the subscriber 14c. Accordingly, channel 22c is allocated at time T 0 + T L for subscriber 14c. The return message 54 is sent by the responsive node 40, and received by the base station processor 16 at time T 0 + T L . hi accordance with the allocation table 36, the scheduler 28 allocates channel 22c is to transmit the return message 54 to the subscriber 14c. In alternate embodiments, the channels are scheduled as a general pool in the allocation table and are not allocated to a specific subscriber until the return message is actually received. In the example above, the latency manager 34 computes the latency period T L 52 based on the type of the message and the corresponding return message expected. Many protocols, including the TCP/IP protocol, specify not only the return message, but other transmission parameters as well. The manner of determining the latency delay therefore depends upon a number of factors depending upon the protocol in use. In a TCP/IP protocol, such factors may include transmission parameters such as window size, space available in the window, average message size, number of outstanding acks, message type, number of messages received in the session, number of outstanding acks, maximum number of outstanding acks, and other transmission parameters. For example, TCP/IP employs a sliding window performance enhancing feature, as defined in Internet RFC 1323. Such features may be employed in conjunction with the transmission parameters to improve performance through a base station processor as defined herein. A TCP/TP network may operate in accordance with the sliding window protocol in an effort to provide reliable stream delivery while maximizing bandwidth. Under this protocol, both endpoints of a TCP/IP connection negotiate an acceptable window size. The window size designates a maximum number of bytes which may be transmitted by a sending unit before receiving an acknowledgment from the receiving unit. Generally, the window is referred to in terms of maximum number of unacknowledged packets. Once the sending unit receives an acknowledgment for the first packet in the window, it "slides" the window along and sends the next packet. In the message 42 sent in the example of Fig. 3 a, the latency manager examines the TCP/IP packet in a non-destructive manner to determine the type of the message. Other aspects of the TCP/IP packet, enumerated above, could also be examined to obtain transmission parameters, and employ these parameters in determining the latency period 52 associated with the return message, hi the examples following in Figs. 4 and 5a-5c, the latency manager 34 further includes a subscriber profile table 56 for storing transmission parameters corresponding to each of the subscribers 14. Referring to the flowchart depicted in Fig. 4 together with the system diagram of Fig. 3 a, a message is received at the base station processor 16, as shown in step 100. The latency manager 34 examines the TCP/IP packet information, as described at step 102. A lookup is performed in the subscriber profile table to find the entry .corresponding to the subscriber, as depicted at step 104. The corresponding transmission parameters are retrieved, as shown at step 106. The transmission parameters are updated to reflect the TCP/IP packet information examined at step 102, as described at step 108. A determination is made to indicate whether a return message is expected to complement the message, as depicted at step 110. If no return message is. expected, the message is sent, as shown at step 120, and control reverts to step 100 until the next message is received, as described at step 122. If a return message is expected, the latency manager 34 computes the latency period 52 using the transmission parameters of the subscriber updated in step 108, as depicted at step 112. A new entry corresponding to the computed latency period 52 is stored in the allocation table 36, as shown at step 114. The message is then sent to the responsive node 40, as depicted in step 116. Control reverts to step 118 until the next message is received. hi Figs 5a-5c, another embodiment of the message transmission sequence of Fig. 3b is shown in more detail. A connection request 42 is sent by the PC 12 at time T 0 . The latency manager 34 examines the packet information and determines the subscriber 14d. The latency manager looks up the transmission parameters of subscriber 14d in the subscriber profile table 56, and updates the parameters accordingly to correspond to the new packet information. The latency manager 34 determines that a connection acknowledgment message 54 is expected as the return message. The latency manager 34 computes the latency delays ΔT l5 ΔT 2 , and ΔT 3 as a result of the updated transmission parameters, and computes the latency period T A as the result T A = ΔT J + ΔT 2 + ΔT 3 The latency manager 34 stores entry 58 in the allocation table 36 to inform the scheduler to allocate channel 22d for subscriber 14d at time T A , as indicated by timing chart 86 entry 68. The responsive node 40 then sends the return message 54. The base station processor 16 receives the return message 54, and the latency manager 34 examines the packet information. The latency manager looks up the transmission parameters of subscriber 14d in the subscriber profile table 56, and updates the entry accordingly. The latency manager 34 determines that the type of the return message is a connection response acknowledgment, and that a request message is likely to be sent from the PC as a return message. As the message is sent to the subscriber 14d, the latency period is computed as follows. The wireless propagation time AT 4 is indicative of the latency associated with transmission over the wireless connection 26 between the base station processor 16 and the subscriber 14d. The subscriber response time ΔT 5 is indicative of the latency associated with transmission over the wired line 20 between the subscriber 14d and the PC 12. Accordingly, the latency manager 34 uses the subscriber profile table to compute the latency period ΔT B from ΔT 4 + ΔT 5 . A corresponding entry 60 is written in the allocation table 36 to inform the scheduler to allocate channel 22f for subscriber 14d at time T B , as indicated by timing chart 86 entry 70. The PC 12 sends an HTTP get message 78 after receiving the ack 54. The corresponding transmission parameters are looked up in the subscriber profile table 56, and updated accordingly to correspond to the message 78. As a result of the updated transmission parameters, the latency manager 78 determines that an HTTP get ack 80 and an HTTP data message 82 are likely to be sent as return messages at the same time. Accordingly, the latency manager computes the latency period T c from T c = ΔT, + ΔT 2 + ΔT 3 , and writes two entries to the allocation table 36. Entry 62 allocates channel 22d, and entry 64 allocates channel 22e, for subscriber 14d at time T c , as indicated by timing chart 86 entries 72 and 74. As the HTTP data message is received at the switch 16, the latency manager 34 determines that an HTTP data ack 84 is the return message, and writes entry 66 to allocate channel 22f at T D = ΔT 4 + ΔT 5 , as shown by timing chart 86 entry 76. An example of the subscriber profile table 56 is shown in Fig. 6. Each entry 86 is adapted to store transmission parameters 88 corresponding to the messages received by a particular subscriber 14. Such parameters include window size, space available in the window, average message size, number of outstanding acks, message type, number of messages received in the session, number of outstanding acks, and maximum number of outstanding acks. Other parameters can be specified as defined in the TCP/IP protocol or other protocol as employed by the base station processor. Those skilled in the art should readily appreciate that the programs defining the operations and methods defined herein are deliverable to the base station processor in many forms, including but not limited to a) information permanently stored on non-writeable storage media such as ROM devices, b) information alterable stored on writeable storage media such as floppy disks, magnetic tapes, CDs, RAM devices, and other magnetic and optical media, or c) information conveyed to a computer through communication media, for example using baseband signaling or broadband signaling techniques, as in an electronic networks such as the Internet or telephone modem lines. The operations and methods may be implemented in a software executable out of a memory by a processor. Alternatively, the operations and methods may be embodied in whole or in part using hardware components, such as Application Specific Integrated Circuits (ASICs), state machines, controllers or other hardware components or devices, or a combination of hardware and software components. While this invention has been particularly shown and described with references to preferred embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the scope of the invention encompassed by the appended claims. Accordingly, the present invention is not intended to be limited except by the following claims.

Claims: CLATMS What is claimed is: 1. A method of allocating wireless channels in a wireless data communications system comprising: providing a plurality of channels adapted to transmit messages through a base station processor; receiving a first message from a sender at said base station processor; determining a type descriptive of said first message; computing a latency period associated with a return message corresponding to said type; and scheduling one of said channels adapted to transmit said return message to be allocated at a time that depends upon said latency period. 2. The method of Claim 1 further comprising: receiving said return message from a responsive node; and transmitting said return message to said sender via said allocated channel. 3. The method of Claim 1 wherein computing said latency period further comprises: determining an ISP delay; determining a network propagation delay; determining a responsive node delay; and aggregating said network propagation delay, said ISP delay, and said server response delay in computing said latency period. 4. The method of Claim 1 wherein computing said latency period further comprises: determining a wireless propagation delay; determining a subscriber response delay; and aggregating said wireless propagation delay and said subscriber response delay. 5. The method of Claim 1 wherein said sender is a Internet gateway and said scheduled channel is further operable to receive said return message from said subscriber. 6. The method of Claim 5 wherein said hitemet gateway is adapted to communicate via a public access network. 7. The method of Claim 1 wherein said sender is a subscriber and said scheduled channel is fixrther operable to transmit said return message to said subscriber. 8. The method of Claim 7 wherein said subscriber is operable to communicate with a personal computing device. 9. The method of Claim 1 wherein said plurality of channels support communication via an RF medium. 10. The method of Claim 1 wherein said scheduling further comprises: reading said latency period from an allocation table adapted to designate said channels at a predetermined time, and allocating one of said channels to said return message after said latency period expires. 11. The method of Claim 10 wherein computing said latency period further comprises: invoking a latency manager in communication with said allocation table and operable to compute said latency period; and storing an entry in said allocation table indicative of said latency period. 12. The method of Claim 1 wherein computing said latency period further comprises determining a TCP/IP window size. 13. The method of Claim 12 wherein said window size is indicative of a number of expected return messages. 14. The method of Claim 2 wherein computing a latency period further comprises referencing a subscriber profile table adapted to store transmission parameters corresponding to each of said subscribers. 15. The method of Claim 14 wherein referencing further comprises : determining a subscriber corresponding to said return message; indexing in said subscriber profile table to find a subscriber entry corresponding to said subscriber corresponding to said return message; referencing at least one of said transmission parameters corresponding to said subscriber; and computing said latency period as a result of said transmission parameters. 16. The method of Claim 15 wherein each of said subscriber entries further comprises at least one transmission parameter indicative of said return messages corresponding to said subscriber. 17. The method of Claim 16 wherein transmitting said return message is followed by updating said subscriber profile table to correspond to said return message. 18. The method of Claim 17 wherein said transmission parameters include parameters selected from the group consisting of window size, space available in the window, average message size, number of outstanding acks, message type, number of messages received in the session, number of outstanding acks, and maximum number of outstanding acks. 19. A method of allocating channels in a base station processor comprising: providing a base station processor having a plurality of wireless channels adapted to transmit messages; receiving a first message at said base station processor; determining a type descriptive of said message; computing a latency period associated with a return message from a responsive node corresponding to said type; scheduling a return channel from said plurality of wireless channels adapted to transmit said return message to be allocated following said latency period; allocating said return channel to said return message after said latency period expires; receiving said return message from a responsive node; and transmitting said return message to said sender via said return channel. 20. A wireless data communication system comprising: a base station processor; a plurality of channels adapted to transmit wireless messages; a scheduler operable to allocate said channels to said wireless messages at a predetermined time; an allocation table adapted to store said predetermined time; and a latency manager operable to determine a latency period and further operable to store said predetermined time in said allocation table based on said latency period. 21. The wireless data communication system of Claim 20 wherein said latency manager determines said predetermined time based on a return message. 22. The wireless data communication system of Claim 21 wherein said return message is sent in response to a first message sent from said base station processor. 23. The wireless data communication system of Claim 22 wherein said first message has a type indicative of said latency period. 24. The wireless data communication system of Claim 23 wherein said latency manager is further operable to compute said latency period in response to said type. 25. The wireless data communication system of Claim 20 wherein said base station processor is operable to communicate with a plurality of subscribers via said plurality of channels. 26. The wireless data communication system of Claim 25 wherem said channels are operable to send said return message to at least one of said subscribers. 27. The wireless data communication system of Claim 25 wherein said channels are operable to receive said return message from at least one of said subscribers. 28. The wireless data communication system of Claim 20 wherein said latency manager is further operable to compute said latency period as a result of a network propagation delay, an ISP forward delay, and a responsive node delay. 29. The wireless data communication system of Claim 20 wherein said latency manager is further operable to compute said latency period as a result of a wireless propagation delay and a subscriber response delay. 30. The wireless data commumcation system of Claim 20 wherein said latency manager further includes a subscriber profile table and said latency manager is further operable to compute said latency period based on said subscriber profile table. 31. The wireless data communication system of Claim 30 wherein said subscriber profile table is adapted to store entries corresponding to at least one of said subscribers. 32. The wireless data communication system of Claim 31 wherein said entries include transmission parameters corresponding to said subscribers. 33. The wireless data communication system of Claim 32 wherein said transmission parameters include parameters selected from the group consisting of window size, space available in the window, average message size, number of outstanding acks, message type, number of messages received in the session, number of outstanding acks, and maximum number of outstanding acks. 34. The wireless data commumcation system of Claim 20 wherein said channels are operable to communicate in a wireless protocol. 35. The wireless data communication system of Claim 20 wherein said channels are operable to communicate via an RF medium. 36. The wireless data commumcation system of Claim 20 further comprising a wired line router, wherein said wired line router is operable to communicate with a remote computing device. 37. The wireless data communication system of Claim 36 wherein said remote computing device is a network sever unit adapted to communicate via a public access network. 38. The wireless data communication system of Claim 37 wherein said public access network is the Internet. 39. The wireless data communication system of Claim 21 wherein said return message conforms to a protocol. 40. The' wireless data communication system of Claim 39 wherein said protocol is TCP/IP. 41. The wireless data communication system of Claim 40 wherein said return message is an ack. 42. A system for managing wireless channel allocation comprising: a base station processor having a plurality of channels operable to transmit a plurality of wireless messages; at least one subscriber operable for communication with said base station processor via said channels; an allocation table adapted to store a preditermined time inductive of which of said channels to assign at said predetermined time; a latency manager operable to compute a latency period and further operable to store said predetermined time based on said latency period; a scheduler in communication with said allocation table and operable to assign said channels to said wireless messages; wherein said scheduler allocates said channels to said wireless messages according to said predetermined time in said allocation table.

Inventors: FARLEY KEVIN L, PROCTOR JAMES A JR, FARLEY, KEVIN, L., PROCTOR, JAMES, A., JR.
Applicants: TANTIVY COMM INC, TANTIVY COMMUNICATIONS, INC.
Application year: 2001
Main classification: H04Q7
IPC codes: H04W72