This aspect relates to communications system and, more particularly, to methods and apparatus for supporting quality of service differentiation between traffic flows in a communication system
The
The intermediate network node 110 in the network 101 provides interconnectivity to network nodes that are external from the perspective of the network 101 via network link 111. Network link 111 is connected to another intermediate network node 112, which provides further connectivity to a plurality of access points 140, 140′, 140″ via network links 141, 141′, 141″, respectively.
Each access point 140, 140′, 140″ is depicted as providing connectivity to a plurality of N access terminals (144, 146), (144′, 146″), (144″, 146″), respectively, via corresponding access links (145, 147), (145′, 147′), (145″, 147″), respectively. In the exemplary communication system 100, each access point 140, 140′, 140″ is depicted as using wireless technology, e.g., wireless access links, to provide access. A radio coverage area, e.g., communications cell, 148, 148′, 148″ of each access point 140, 140′, 140″, respectively, is illustrated as a circle surrounding the corresponding access point.
The exemplary communication system 100 is subsequently used as a basis for the description of various embodiments. Alternative embodiments of the aspect include various network topologies, where the number and type of nodes (including network nodes, access points, access terminals, as well as various control, support, and server nodes), the number and type of links, and the interconnectivity between various nodes may differ from that of the exemplary communication system 100 depicted in
The wireless communication interface module 230 provides a mechanism by which the internal components of the access terminal 200 can send and receive signals to/from external devices and network nodes, e.g., access points. The wireless communication interface module 230 includes, e.g., a receiver module 232 with a corresponding receiving antenna 236 and a transmitter module 234 with a corresponding transmitting antenna 238 used for coupling the access terminal 200 to other network nodes, e.g., via wireless communications channels.
The exemplary access terminal 200 also includes a user input device 242, e.g., keypad, and a user output device 244, e.g., display, which are coupled to bus 206 via the user input/output interface 240. Thus, user input/output devices 242, 244 can exchange information, signals and data with other components of the access terminal 200 via user input/output interface 240 and bus 206. The user input/output interface 240 and associated devices 242, 244 provide a mechanism by which a user can operate the access terminal 200 to accomplish various tasks. In particular, the user input device 242 and user output device 244 provide the functionality that allows a user to control the access terminal 200 and applications, e.g., modules, programs, routines and/or functions, that execute in the memory 210 of the access terminal 200.
The processor 204 under control of various modules, e.g., routines, included in memory 210 controls operation of the access terminal 200 to perform various signaling and processing. The modules included in memory 210 are executed on startup or as called by other modules. Modules may exchange data, information, and signals when executed. Modules may also share data and information when executed. In the
The control signaling module 212 controls processing relating to receiving and sending signals, e.g., messages, for controlling operation and/or configuration of various aspects of the access terminal 200 including, e.g., the traffic control module 250 as well as the configuration information 251 and the various additional modules included therein 252 ,253 ,254, 255, 256, 257, 258, and 259. In some embodiments of the, the control signaling module 212 includes state information, e.g., parameters, status and/or other information, relating to operation of the access terminal 200 and/or one or more signaling protocols supported by the control signaling module 212. In particular, the control signaling module 212 may include configuration information, e.g., access terminal identification information and/or parameter settings, and operational information, e.g., information about current processing state, status of pending message transactions, etc.
The application module 214 controls processing and communications relating to one or more applications supported by the access terminal 200. In some embodiments of the aspect, application module 214 processing includes tasks relating to input/output of information via the user input/output interfaces 240, manipulation of information associated with an application, and/or receiving or sending signals, e.g., messages, associated with an application. In some embodiments, the application module 214 includes state information, e.g., parameters, status and/or other information, relating to operation of one or more applications supported by the application module 214. In particular, the application module 214 may include configuration information, e.g., user identification information and/or parameter settings, and operational information, e.g., information about current processing state, status of pending responses, etc. Applications supported by the application module 214 include, e.g., Voice over IP (VoIP), web browsing, streaming audio/video, instant messaging, file sharing, gaming, etc.
The database module 215 holds the information about the processes according to an aspect of some embodiments. For example, the database module 215 is used to storing the designated transmit process, an event look-up table, process registration information, a temporary holding place for envelopes, parameter valued, etc.
The traffic control module 250 controls processing relating to receiving and sending data information, e.g., messages, packets, and/or frames, via the wireless communication interface module 230. The exemplary traffic control module includes configuration information 251 as well as various additional modules 252, 253, 254, 255, 256, 257, 258, and 259 that control various aspects of quality of service for packets and/or traffic flows, e.g., associated sequences of packets. In some embodiments, the traffic control module 250 includes state information, e.g., parameters, status and/or other information, relating to operation of the access terminal 200, the traffic control module 250, and/or one or more of the various additional modules included therein 252, 253, 254, 255, 256, 257, 258, and 259. The configuration information 251, e.g., parameter settings, determines, affects and/or prescribes operation of the traffic control module 250 and/or the various additional modules included therein 252, 253, 254, 255, 256, 257, 258, and 259. The various additional modules are included, in some embodiments, to perform particular functions and operations as needed to support specific aspects of traffic control. In various embodiments, modules may be omitted and/or combined as needed depending on the functional requirements of traffic control. A description of each additional module included in the exemplary traffic control module 250 follows.
The admission control module 252 maintains information relating to resource utilization/availability and determines if sufficient resources are available to support the quality of service requirements of particular traffic flows. Resource availability information maintained by the admission control module 252 includes, e.g., packet and/or frame queuing capacity, scheduling capacity, as well as processing and memory capacity needed to support one or more traffic flows. The control signaling module 212, application module 214, and/or other modules included in the access terminal 200 may, and in some embodiments do, query the admission control module 252 to determine if sufficient resources are available to support a new or modified traffic flow, where the admission control determination is a function of the quality of service requirements of the particular traffic flow and/or the available resources. The configuration information 251 may, and in some embodiments does, include configuration information, e.g., parameters settings, that affect the operation of the admission control module 252, e.g., an admission control threshold value that indicates the percentage of resource that may be allocated prior to rejecting additional requests.
The uplink scheduler module 253 controls processing relating to transmission scheduling, e.g., order and/or timing, and allocation of transmission resources, e.g., information coding rate, transmission time slots, and/or transmission power, for data information, e.g., messages, packets, and/or frames, to be sent via the wireless interface module 230, e.g., from the access terminal 200 to an access point. The uplink scheduler module 253 may, and in some embodiments does, schedule transmissions and allocate transmission resources as a function of the quality of service requirements and/or constraints associated with one or more traffic flows. The configuration information 251 may, and in some embodiments does, include configuration information, e.g., parameters settings, that affect the operation of the uplink scheduler module 253, e.g., a priority, rate bound, latency bound, and/or sharing weight associated with one or more traffic flows. In some embodiments of the aspect, scheduling and/or resource allocation operations performed by the uplink scheduler module 253 are additionally a function of channel conditions and other factors, e.g., power budget.
The uplink PHY/MAC module 254 controls physical (PHY) layer and Media Access Control (MAC) layer processing relating to sending data information, e.g., messages, packets, and/or frames, via the wireless communication interface module 230, e.g., from the access terminal 200 to an access point. In some embodiments of the aspect, operation of the uplink PHY/MAC module 254 includes both sending and receiving control information, e.g., signals or messages, to coordinate sending of data information, e.g., messages, packets, or frames. The configuration information 251 may, and in some embodiments does, include configuration information, e.g., parameters settings, that affect the operation of the uplink PHY/MAC module 254, e.g., a frequency, band, channel, spreading code or hoping code to be used for transmissions, an identifier associated with the access terminal 200, a request dictionary prescribing use of an assignment request channel, etc.
The uplink Logical Link Control (ARQ) module 255 controls Logical Link Control (LLC) layer processing relating to sending data information, e.g., messages, packets, and/or frames, via the wireless communication interface module 230, e.g., from the access terminal 200 to an access point. The uplink LLC (ARQ) module 255 includes processing associated with Automatic Repeat Request (ARQ) capabilities, e.g., retransmission of lost packets or frames. In some embodiments of the aspect, the uplink LLC (ARQ) module 255 further includes processing relating to the addition of an LLC header and/or trailer to higher layer messages, e.g., packets, to provide additional functionality, e.g., multi-protocol multiplexing/demultiplexing via a type field or error detection via a checksum field. The uplink LLC (ARQ) module 255 may also, and in some embodiments does, perform fragmentation of higher layer messages, e.g., packets, into multiple sub-portions, e.g., frames to be sent by the uplink PHY/MAC module 254. The configuration information 251 may, and in some embodiments does, include configuration information, e.g., parameters settings, that affect the operation of the uplink LLC (ARQ) module 255, e.g., an ARQ window size, maximum number of retransmissions, a discard timer, etc.
The uplink queue management module 256 maintains information and controls processing relating to storage of data information, e.g., messages, packets, and/or frames, to be sent via the wireless communication interface module 230, e.g., from the access terminal 200 to an access point. The uplink queue management module 256 may, and in some embodiments does, control storage of data information awaiting transmission and maintain state information regarding data information awaiting transmission on a per traffic flow basis, e.g., packets associated with each traffic flow may be stored in separate queues. In some embodiments of the aspect, the uplink queue management module 256 supports a variety of queue management techniques and/or capabilities, e.g., head drop, tail drop, as well as various Active Queue Management (AQM) mechanisms such as Random Early Detection (RED). The configuration information 251 may, and in some embodiments does, include configuration information, e.g., parameters settings, that affect the operation of the uplink queue management module 256, e.g., a queue limit, drop strategy, and/or AQM thresholds associated with one or more traffic flows.
The uplink classifier module 257 controls processing relating to identification of data information, e.g., messages, packets, and/or frames, as belonging to particular traffic flows prior to being sent via the wireless communication interface module 230, e.g., from the access terminal 200 to an access point. In some embodiments of the aspect, messages, packets, and/or frames to be sent via the wireless communication interface module 230 are classified as belonging to one of a variety of traffic flows by the uplink classifier module 257 based on inspection of one or more header and/or payload fields. The results of classification by the uplink classifier module 257 may, and in some embodiments do, affect the treatment of the classified data information, e.g., messages, packets, and/or frames, by the uplink queue management module 256 and other modules 253, 254, 255, e.g., the results may determine a particular queue the message, packet, and/or frame will be associated with for storage and further affect subsequent processing such as scheduling. The configuration information 251 may, and in some embodiments does, include configuration information, e.g., parameters settings, that affect the operation of the uplink classifier module 257, e.g., a set of one or more classifier filter rules that prescribe criteria used to associate data information, e.g., messages, packets, and/or frames, as belonging to one or more traffic flows.
The downlink PHY/MAC module 258 controls PHY layer and MAC layer processing relating to receiving data information, e.g., packets and/or frames, via the wireless communication interface module 230, e.g., from an access point to the access terminal 200. In some embodiments of the aspect, operation of the downlink PHY/MAC module 258 includes both sending and receiving control information, e.g., signals or messages, to coordinate receiving of data information, e.g., messages, packets, or frames. The configuration information 251 may, and in some embodiments does, include configuration information, e.g., parameters settings, that affect the operation of the downlink PHY/MAC module 258, e.g., a frequency, band, channel, spreading code or hoping code to be used for reception, an identifier associated with the access terminal 200, etc.
The downlink LLC (ARQ) module 259 controls LLC layer processing relating to receiving data information, e.g., packets and/or frames, via the wireless communication interface module 230, e.g., from an access point to the access terminal 200. The downlink LLC (ARQ) module 259 includes processing associated with ARQ capabilities, e.g., retransmission of lost packets or frames. In some embodiments of the aspect, the downlink LLC (ARQ) module 259 further includes processing relating to an LLC header and/or trailer that encapsulates higher layer messages, e.g., packets, which provides additional functionality, e.g., multi-protocol multiplexing/demultiplexing via a type field or error detection via a checksum field. The downlink LLC (ARQ) module 259 may also, and in some embodiments does, perform reassembly of frames received by the downlink PHY/MAC module 258 into higher layer messages, e.g., packets. The configuration information 251 may, and in some embodiments does, include configuration information, e.g., parameters settings, that affect the operation of the downlink LLC (ARQ) module 259, e.g., an ARQ window size, maximum number of retransmissions, a discard timer, etc.
The external interface module 250 controls the data received and transmitted to one or more external devices (external nodes). The external interface module 250 comprises a receiver module 252 for receiving information from an external device. The receiver module interface may be an antenna, a USB slot, Ethernet slot, etc. In aspect, the receiver module may also comprise a set of RX modules (RX processor, Demodulator, decryptor, etc.) for receiving a wireless signal, data packets and messages over the air. The external interfaces module 250, further comprises an transmitter module 254. In an aspect, the transmitter module 254 comprises a set of TX modules (TX processor, Modulator, encryptor, etc.) for transmitting a wireless signal, data packets and message over the air. In an aspect, the USB slot, Ethernet slot, etc. may be used to wirelessly communicate with the external devices.
The network/internetwork interface module 320 provides a mechanism by which the internal components of the access point 300 can send and receive signals to/from external devices and network nodes. The network/internetwork interface module 320 includes, a receiver module 322 and a transmitter module 324 used for coupling the node 300 to other network nodes, e.g., via copper wires or fiber optic lines. The wireless communication interface module 330 also provides a mechanism by which the internal components of the access point 300 can send and receive signals to/from external devices and network nodes, e.g., access terminals. The wireless communication interface module 330 includes, e.g., a receiver module 332 with a corresponding receiving antenna 336 and a transmitter module 334 with a corresponding transmitting antenna 338. The wireless communication interface module 330 is used for coupling the access point 300 to other nodes, e.g., via wireless communication channels.
The processor 304 under control of various modules, e.g., routines, included in memory 310 controls operation of the access point 300 to perform various signaling and processing. The modules included in memory 310 are executed on startup or as called by other modules. Modules may exchange data, information, and signals when executed. Modules may also share data and information when executed. In the
The control signaling module 312 controls processing relating to receiving and sending signals, e.g., messages, for controlling operation and/or configuration of various aspects of the access point 300 including, e.g., the traffic control module 350 as well as the configuration information 351 and the various additional modules included therein 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, and 363. In some embodiments of the aspect, the control signaling module 312 includes state information, e.g., parameters, status and/or other information, relating to operation of the access point 300 and/or one or more signaling protocols supported by the control signaling module 312. In particular, the control signaling module 312 may include configuration information, e.g., access point identification information and/or parameter settings, and operational information, e.g., information about current processing state, status of pending message transactions, etc.
The traffic control module 350 controls processing relating to receiving and sending data information, e.g., messages, packets, and/or frames, via the wireless communication interface module 330. The exemplary traffic control module includes configuration information 351 as well as various additional modules 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, and 363 that control various aspects of quality of service for packets and/or traffic flows, e.g., associated sequences of packets. In some embodiments of the aspect, the traffic control module 350 includes state information, e.g., parameters, status and/or other information, relating to operation of the access point 300, the traffic control module 350, and/or one or more of the various additional modules included therein 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, and 363. The configuration information 351, e.g., parameter settings, determines, affects and/or prescribes operation of the traffic control module 350 and/or the various additional modules included therein 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, and 363. The various additional modules are included, in some embodiments, to perform particular functions and operations as needed to support specific aspects of traffic control. In various embodiments of the aspect, modules may be omitted and/or combined as needed depending on the functional requirements of traffic control. A description of each additional module included in the exemplary traffic control module 350 follows.
The admission control module 352 maintains information relating to resource utilization/availability and determines if sufficient resources are available to support the quality of service requirements of particular traffic flows. Resource availability information maintained by the admission control module 352 includes, e.g., packet and/or frame queuing capacity, scheduling capacity, as well as processing and memory capacity needed to support one or more traffic flows. The control signaling module 312 and/or other modules included in the access point 300 may, and in some embodiments do, query the admission control module 352 to determine if sufficient resources are available to support a new or modified traffic flow, where the admission control determination is a function of the quality of service requirements of the particular traffic flow and/or the available resources. The configuration information 351 may, and in some embodiments does, include configuration information, e.g., parameters settings, that affect the operation of the admission control module 352, e.g., an admission control threshold value that indicates the percentage of resource that may be allocated prior to rejecting additional requests.
The uplink scheduler module 353 controls processing relating to transmission scheduling, e.g., order and/or timing, and allocation of transmission resources, e.g., information coding rate, transmission time slots, and/or transmission power, for data information, e.g., messages, packets, and/or frames, to be sent from one or more access terminals to the access point via the wireless interface module 330. The uplink scheduler module 353 may, and in some embodiments does, schedule transmissions and allocate transmission resources as a function of the quality of service requirements and/or constraints associated with one or more traffic flows and/or one or more access terminals. The configuration information 351 may, and in some embodiments does, include configuration information, e.g., parameters settings, that affect the operation of the uplink scheduler module 353, e.g., a priority, rate bound, latency bound, and/or sharing weight associated with one or more traffic flows and/or access terminals. In some embodiments of the aspect, scheduling and/or resource allocation operations performed by the uplink scheduler module 353 are additionally a function of channel conditions and other factors, e.g., power budget.
The downlink scheduler module 354 controls processing relating to transmission scheduling, e.g., order and/or timing, and allocation of transmission resources, e.g., information coding rate, transmission time slots, and/or transmission power, for data information, e.g., messages, packets, and/or frames, to be sent from the access point 300 to one or more access terminals via the wireless interface module 330. The downlink scheduler module 354 may, and in some embodiments does, schedule transmissions and allocate transmission resources as a function of the quality of service requirements and/or constraints associated with one or more traffic flows and/or one or more access terminals. The configuration information 351 may, and in some embodiments does, include configuration information, e.g., parameters settings, that affect the operation of the downlink scheduler module 354, e.g., a priority, rate bound, latency bound, and/or sharing weight associated with one or more traffic flows and/or access terminals. In some embodiments of the aspect, scheduling and/or resource allocation operations performed by the downlink scheduler module 354 are additionally a function of channel conditions and other factors, e.g., power budget.
The uplink traffic conditioner module 355 controls processing relating to traffic conditioning, e.g., metering, marking, policing, etc., for data information, e.g., messages, packets, and/or frames, received via the wireless interface module 330, e.g., from an access terminal to the access point 300. The uplink traffic conditioner module 355 may, and in some embodiments does, condition traffic, e.g., meter, mark and/or police, as a function of the quality of service requirements and/or constraints associated with one or more traffic flows and/or one or more access terminals. The configuration information 351 may, and in some embodiments does, include configuration information, e.g., parameters settings, that affect the operation of the uplink traffic conditioner module 355, e.g., a rate bound, and/or marking value associated with one or more traffic flows and/or access terminals.
The uplink classifier module 356 controls processing relating to identification of data information, e.g., messages, packets, and/or frames, received via the wireless interface module 330, e.g., from an access terminal to the access point 300, as belonging to particular traffic flows prior to being processed by uplink traffic conditioner module 355. In some embodiments of the aspect, messages, packets, and/or frames received via the wireless communication interface module 330 are classified as belonging to one of a variety of traffic flows by the uplink classifier module 356 based on inspection of one or more header and/or payload fields. The results of classification by the uplink classifier module 356 may, and in some embodiments do, affect the treatment of the classified data information, e.g., messages, packets, and/or frames, by the uplink traffic conditioner module 355, e.g., the results may determine a particular data structure or state machine the message, packet, and/or frame will be associated with and further affect subsequent processing such as metering, marking, and/or policing. The configuration information 351 may, and in some embodiments does, include configuration information, e.g., parameters settings, that affect the operation of the uplink classifier module 356, e.g., a set of one or more classifier filter rules that prescribe criteria used to associate data information, e.g., messages, packets, and/or frames, as belonging to one or more traffic flows.
The uplink LLC (ARQ) module 357 controls LLC layer processing relating to receiving data information, e.g., packets and/or frames, via the wireless communication interface module 330, e.g., from an access terminal to the access point 300. The uplink LLC (ARQ) module 357 includes processing associated with ARQ capabilities, e.g., retransmission of lost packets or frames. In some embodiments of the aspect, the uplink LLC (ARQ) module 357 further includes processing relating to an LLC header and/or trailer that encapsulates higher layer messages, e.g., packets, which provides additional functionality, e.g., multi-protocol multiplexing/demultiplexing via a type field or error detection via a checksum field. The uplink LLC (ARQ) module 357 may also, and in some embodiments does, perform reassembly of frames received by the uplink PHY/MAC module 358 into higher layer messages, e.g., packets. The configuration information 251 may, and in some embodiments does, include configuration information, e.g., parameters settings, that affect the operation of the uplink LLC (ARQ) module 357, e.g., an ARQ window size, maximum number of retransmissions, a discard timer, etc.
The uplink PHY/MAC module 358 controls PHY layer and MAC layer processing relating to receiving data information, e.g., packets and/or frames, via the wireless communication interface module 330, e.g., from an access terminal to the access point 300. In some embodiments of the aspect, operation of the uplink PHY/MAC module 358 includes both sending and receiving control information, e.g., signals or messages, to coordinate receiving of data information, e.g., messages, packets, or frames. The configuration information 351 may, and in some embodiments does, include configuration information, e.g., parameters settings, that affect the operation of the uplink PHY/MAC module 358, e.g., a frequency, band, channel, spreading code or hoping code to be used for reception, an identifier associated with the access point 300, etc.
The downlink classifier module 359 controls processing relating to identification of data information, e.g., messages, packets, and/or frames, as belonging to particular traffic flows prior to being sent via the wireless communication interface module 330, e.g., from the access point 300 to an access terminal. In some embodiments of the aspect, messages, packets, and/or frames to be sent via the wireless communication interface module 330 are classified as belonging to one of a variety of traffic flows by the downlink classifier module 359 based on inspection of one or more header and/or payload fields. The results of classification by the downlink classifier module 359 may, and in some embodiments do, affect the treatment of the classified data information, e.g., messages, packets, and/or frames, by the downlink queue management module 361 and other modules 360, 362, 363, e.g., the results may determine a particular queue the message, packet, and/or frame will be associated with for storage and further affect subsequent processing such as scheduling. The configuration information 351 may, and in some embodiments does, include configuration information, e.g., parameters settings, that affect the operation of the downlink classifier module 359, e.g., a set of one or more classifier filter rules that prescribe criteria used to associate data information, e.g., messages, packets, and/or frames, as belonging to one or more traffic flows.
The downlink traffic conditioner module 360 controls processing relating to traffic conditioning, e.g., metering, marking, policing, etc., for data information, e.g., messages, packets, and/or frames, to be sent via the wireless interface module 330, e.g., from the access point 300 to an access terminal. The downlink traffic conditioner module 360 may, and in some embodiments does, condition traffic, e.g., meter, mark and/or police, as a function of the quality of service requirements and/or constraints associated with one or more traffic flows and/or one or more access terminals. The configuration information 351 may, and in some embodiments does, include configuration information, e.g., parameters settings, that affect the operation of the downlink traffic conditioner module 360, e.g., a rate bound, and/or marking value associated with one or more traffic flows and/or access terminals.
The downlink queue management module 361 maintains information and controls processing relating to storage of data information, e.g., messages, packets, and/or frames, to be sent via the wireless communication interface module 330, e.g., from the access point 300 to an access terminal. The downlink queue management module 361 may, and in some embodiments does, control storage of data information awaiting transmission and maintain state information regarding data information awaiting transmission on a per traffic flow basis, e.g., packets associated with each traffic flow may be stored in separate queues. In some embodiments of the aspect, the downlink queue management 361 module supports a variety of queue management techniques and/or capabilities, e.g., head drop, tail drop, as well as various AQM mechanisms such as RED. The configuration information 351 may, and in some embodiments does, include configuration information, e.g., parameters settings, that affect the operation of the downlink queue management module 361, e.g., a queue limit, drop strategy, and/or AQM thresholds associated with one or more traffic flows.
The downlink LLC (ARQ) module 362 controls LLC layer processing relating to sending data information, e.g., messages, packets, and/or frames, via the wireless communication interface module 330, e.g., from the access point 300 to an access terminal. The downlink LLC (ARQ) module 362 includes processing associated with ARQ capabilities, e.g., retransmission of lost packets or frames. In some embodiments of the aspect, the downlink LLC (ARQ) module 362 further includes processing relating to the addition of an LLC header and/or trailer to higher layer messages, e.g., packets, to provide additional functionality, e.g., multi-protocol multiplexing/demultiplexing via a type field or error detection via a checksum field. The downlink LLC (ARQ) module 362 may also, and in some embodiments does, perform fragmentation of higher layer messages, e.g., packets, into multiple sub-portions, e.g., frames to be sent by the downlink PHY/MAC module 363. The configuration information 351 may, and in some embodiments does, include configuration information, e.g., parameters settings, that affect the operation of the downlink LLC (ARQ) module 362, e.g., an ARQ window size, maximum number of retransmissions, a discard timer, etc.
The downlink PHY/MAC module 363 controls PHY layer and MAC layer processing relating to sending data information, e.g., messages, packets, and/or frames, via the wireless communication interface module 330, e.g., from the access point 300 to an access terminal. In some embodiments of the aspect, operation of the downlink PHY/MAC module 363 includes both sending and receiving control information, e.g., signals or messages, to coordinate sending of data information, e.g., messages, packets, or frames. The configuration information 351 may, and in some embodiments does, include configuration information, e.g., parameters settings, that affect the operation of the downlink PHY/MAC module 363, e.g., a frequency, band, channel, spreading code or hoping code to be used for transmissions, an identifier associated with the access point 300, etc.
Referring now to
System 400 includes a wireless terminal 402, which can be, for example, an integrated chip within a mobile handset, a secure digital (SD) card, a device that is physically coupled to a computer (e.g., laptop, desktop, . . . ), such as a card that can be inserted into a PCMCIA slot, or any other suitable device that can aid in wireless communications. Wireless terminal 402 can be tasked to establish a wireless link with a base station 404, thereby enabling data to be transferred between wireless terminal 402 and base station and/or a host device 406 and base station 404. Host device 406 can be a device that hosts wireless terminal 402, such as a personal digital assistant, a mobile telephone, a computer, or any other suitable host device. Host 406 can include, for example, an IP stack, enabling host 406 to run applications over IP.
Base station 404 is communicatively coupled to home agent 408, which can be employed in connection with mobility management. In other words, home agent 408 allows host 406 and terminal 402 to change geographic location within a wireless network without losing an ability to receive and transmit data. Wireless terminal 402 and base station 404 can undertake messaging to establish a physical layer connection therebetween, and authentication and authorization can also be undertaken to discern what services a subscriber is authorized to access. In accordance with authorization and authentication, a connect response message can be provided from base station 404 to wireless terminal 402, wherein such message can include data that can be utilized to identify base station 404 on the network.
Wireless terminal 402 can then provide a message, for instance, that accords to MMP, wherein such message indicates that an initial registration of an IP address is desired. As stated above, utilizing MMP reduces an amount of data that is transmitted over an OTA link, which typically is a link that is associated with constrained resources. Upon receiving the initial registration message, base station 404 can request an initial IP address and other suitable configuration information from home agent 408, wherein such request can conform to MIP, for example. Home agent 408 can then provide a response that includes a home address to base station 404, wherein the home address can be an IP address that is to be assigned to host device 406.
Wireless terminal 402 can thereafter inform host device 406 that a link is prepared over a wireless terminal interface (WTI), but host device 406 can be unaware that an IP address has been assigned by home agent 408. Host device 406 can be triggered to run the Dynamic Host Configuration Protocol (DHCP) and generate a DHCP discover message and relay it over the link. Base station 404 can be configured to operate as a DHCP server, and can respond to such request to host device 406 (again by way of DHCP). Host device 406 can thereafter provide a request for an IP address to base station 404, and base station 404 can provide host device 406 with the requested IP address and other suitable configuration information.
In an aspect, the sync portion 506 comprises one or more objects (for example sync portion A 509 and sync portion B 511). Depending on the number of different selected times required for synchronization, the number of objects attached to the Req message 500 will vary. Each object comprises a time value and one or more index values. As an example,
In an aspect, the extension portion comprises one or more extensions. Depending upon the number of parameter that need time synchronization, the number of extensions attached to the Req message 500 will vary. As an example, the extension portion 508 comprises extension 520, extension 522, extension 526, extension 528 and extension 530, wherein each extension is indexed (having a index value based on location of the extension in extension portion) and may comprise one or more fields providing parameter information.
In an aspect, the sync portion 626 comprises one or more objects (for example sync portion A 610 and sync portion B 612). Depending on the number of different selected times required for synchronization or the number time sync responses require to be supplied, the number of objects attached to the Resp message 600 will vary. Each object comprises a time value and one or more index values. As an example,
In an aspect, the extension portion comprises one or more extensions. Depending upon the number of parameter that need time synchronization, the number of extension attached to the Resp message 600 will vary. As an example, the extension portion 628 comprises extension 614, extension 620 and extension 622, wherein each extension is indexed and may comprise one or more fields providing parameter information. In another aspect, instead of using sync portion C 630 for providing a rejection to time synchronization request, a rejection extension 636 may be used for the rejected parameter.
In another aspect, the sync portion C 630 may be attached sync portion 506 of Req message 500 and extension 636 may be attached to extension portion 508 or message 500.
Upon receiving the message signal 706, by the processor of Node B 704, the processor of Node B 704 will process the message signal 706. The processor will deconstruct and extract information from the request message signal 706. After deconstructing and extracting the information from the message signal 706, the Resp message 500 is generated and transmitted to device (for example Node A 702) that sent the message signal 706. The processor for Node B 704 will construct a response message signal 708 using various known techniques and transmit the response message signal 708 to Node A 702.
In an aspect, processor for Node A 702 and processor for Node B 704 are configured to construct and deconstruct message signals to add or extract the Req message 500 or Resp message 500, respectively. In another aspect, processor for Node A 702 and processor for Node B 704 are configured to construct and deconstruct message signals to add or extract the Req message 500 having the sync portion C and/or extension 636.
For example, the processor is configured to use sync portion A to request a time of activation for parameter x and parameter z at time Time1. The processor will attach an extension for parameter x 526 to the extension portion 508 and will set the index value 512 to represent the location of extension 526 in the extension portion. Also, processor will attach an extension for parameter z 530 to the extension portion 508 and will set the index value 516 to represent the location of extension 530 in the extension portion. Also, processor will attach an extension for parameter w 522 to the extension portion 508 and will set the index value 515 to represent the location of extension 522 in the extension portion. For parameters v and y, since time is not selected, the processor will not attach any objects to sync portion, but instead will attach extension for parameter y 528 and extension for parameter v 520 to the extension portion 508. Upon setting up the Req message, the processor is configured to transmit the message to a node (for example, base station) and await a reply message that matches the transaction id of this message.
At block 806, the processor attaches the necessary extensions to the extension portion 508. If block 806 is executed, then an extension for each parameter is attached to the extension portion 508 of Req message 500. For example, extension 522 for parameter w, extension 526 for parameter x and extension 530 for parameter z are attached. The index values 512, 516, and 515 are set based on location of extension associated with parameters x, z and w, respectively. In addition, an extension is added for each parameter, wherein no pre-selected time of activation is designated, but the time of activation will be supplied by another node. For example, extensions 520 and 528 are added for parameters v and y, respectively. The index value for extensions 520 and 528 are stored in memory and is associated with the transaction ID of the transmitted message. The processor completes the construction of the request message and transmits the request message. After the transmission of the request message, the processor awaits for a reply before using the parameters.
Referring back to block 906, in an aspect, if the requested time of activation is accepted, then no sync portion is generated. This will reduce the processing overhead and allow the requesting node (i.e. Node A) to conclude requested time of activation was accepted. In another aspect, the processor will generate sync portion comprising a response value 632 and index value 634, and provide an ACK value for response value 632 and index value based on the location of extension associated with, for example, parameter x in the extension portion of the received message.
At block 910, the processor determines if time needs to be generated. If there are any extensions attached to the extension portion 628 that are not associated with a sync portion (for example, extension 528 for parameter y), the processor needs to generate a time of activation and provide that time to requesting node (i.e. Node A). If determined that there is at least one extension that require the processor to generate a time (i.e. Time4), then at block 913, the processor attempts to generate a time value. At block 914, determine if the processor was able to generate a time value. If the time value and the parameter value are accepted, then the processor stores in memory an indication that an ACK will be provided. If is ACK is to be provided, then at block 916, the processor provides an ACK by generating a sync portion, for example sync portion B 612 and set the time value 616 to the generated time (i.e. Time4) and attaching the sync portion B 612 to the Resp message 600. The index value for will be set to index value of the parameter's (for example, parameter y) location in extension portion of the Req message 500. However, if the processor was not able to generate a time value or accept a parameter value, then at block 918 the processor must reject (i.e provide a NACK) the request. If request is rejected, the processor generates a sync portion or an extension and provides an indication (for example, adding a sync portion and setting the response value to NACK and index value to the location of the extension associated with parameter in extension portion 508 of the Req message 500) that the request was rejected. In another aspect, the processor may generate an extension and indicated within the extension that requested time value was rejected.
In an aspect of a communication system, Node B (i.e. base station) is configured to negotiate new parameters with Node A (i.e. mobile station) using the Resp message 600.
At block 956, the processor attaches the necessary extensions to the extension portion 626. If block 856 is executed, then an extension for each parameter is attached to the extension portion 628 of Resp message 500. For example, extension 620 for parameter b and extension 622 for parameter c are attached. The index values 606 and 608 are set based on location of extension associated with parameters x, z and w, respectively. In addition, additional extensions may be added for each parameter, wherein no pre-selected time of activation is designated, but the time of activation will be supplied by another node. The processor completes the construction of the response message and transmits the response message to requesting node (i.e. Node A). After the transmission of the response message, the processor awaits for a reply, if any new parameters were added.
Referring back to block 1006, if determined that there are no sync portions that require new parameter negotiations, then at block 1010, the processor determines if a NACK is received in the sync portion 626 of the Resp message 600. If no NACK is received, then processor assumes that all the time synchronization requests were accepted. Otherwise, at block 1012 the processor processes the NACK response.
In another aspect, the processor checks all the sync portions (for example, 610, 612, and 630) of sync portion 626 to determine the appropriate actions. For example, the processor may evaluate each sync portions of sync portion of 626 to determine if the ACK, NACK or new requests are received.
Referring to
Messages described in the present patent application are stored in the memory of the nodes which generate and/or receive said messages in addition to the nodes through which said messages are communicated. Accordingly, in addition to being directed to methods and apparatus for generating, transmitting and using novel messages, the aspects are also directed to machine readable media, e.g., memory, which stores one or more of the novel messages of the type described and shown in the text and figures of the present application.
In various embodiments, nodes described herein are implemented using one or more modules to perform the steps corresponding to one or more methods of the aspect, for example, signal processing, message generation and/or transmission steps. Thus, in some embodiments various features of the are implemented using modules. Such modules may be implemented using software, hardware or a combination of software and hardware. Many of the above described methods or method steps can be implemented using machine executable instructions, such as software, included in a machine readable medium such as a memory device, e.g., RAM, floppy disk, etc. to control a machine, e.g., general purpose computer with or without additional hardware, to implement all or portions of the above described methods, e.g., in one or more nodes. Accordingly, among other things, the aspect is directed to a machine-readable medium including machine executable instructions for causing a machine, e.g., processor 304 and associated hardware, to perform one or more of the steps of the above-described method(s).
Numerous additional variations on the methods and apparatus of the aspects described above will be apparent to those skilled in the art in view of the above description of the aspect. Such variations are to be considered within the scope of the aspect. The methods and apparatus of the aspects may be, and in various embodiments are, used with OFDM, CDMA, TDMA or various other types of communications techniques which may be used to provide wireless communications links between access nodes and mobile nodes. In some embodiments the access nodes are implemented as base stations which establish communications links with mobile nodes using OFDM, CDMA and/or TDMA. In various embodiments the mobile nodes are implemented as notebook computers, PDAs, or other portable devices including receiver/transmitter circuits and logic and/or routines, for implementing the methods of the aspects described above.