Abstract:
Systems and methods directed towards improving reliability for wireless networks. Selective polling techniques are utilized to selectively poll stations within a wireless network in order to ensure that a station failing to properly transmit data is given an opportunity to rectify the transmission failure. The selective polling techniques can be applied to any polling-based system, thus maintaining backwards compatibility with legacy systems.

Description:
BACKGROUND 
       [0001]    1. Technical Field 
         [0002]    This invention is generally directed to wireless communication, and more specifically, for improving polling-based communication systems by use of selective polling. 
         [0003]    2. Background Art 
         [0004]    Wireless systems, such as those compliant with the IEEE802.11 MAC protocol, typically have two functions for controlling channel access. One is the Distributed Coordination Function (DCF) based on algorithms such as the Carrier Sense Multiple Access with Collision Avoidance algorithm (CSMA/CA). The other is the Point Coordination Function (PCF). The DCF and PCF utilize various kinds of gaps between sequential transmission signals in order to avoid collisions for channel access. Transmission signals (packets) are organized into “frames,” and gaps between two adjacent frames are called IFS (inter frame spacing). Known examples of inter frame spacing include the Short Inter Frame Space (SIFS), the Priority Inter Frame Space (PIFS), and the Distributed Inter Frame Space (DIFS). 
         [0005]      FIG. 1  illustrates conventional examples of a time-slotted channel hopping allocation process involving SIFS, PIFS and DIFS, respectively. In  FIG. 1 , SIFS is the shortest time slot and the PIFS is the second shortest time slot. The transmission after the shorter IFS has the highest priority. Thus, SIFS is normally used in connection with burst transmissions and response access, such as the ACK (acknowledge) signal. PIFS is used for priority access, such as use in connection with a beacon signal. 
         [0006]    DIFS is used in connection with the DCF function, which is based on the CSMA/CA. A station (STA) obtains channel access based upon monitoring of the available communication media for an idle condition. The STA also is provided with a random backoff time before it starts sending a packet, in order to avoid conflicting with a packet transmitted by a higher priority STA. 
         [0007]    In the PCF function, the Access Point (AP) obtains channel access after it monitors the available communications media for an idle condition based upon the PIFS. As PIFS is shorter than DIFS, the AP may have a higher priority than other STAs. Once the AP obtains channel access, the AP can give STAs a chance to transmit without contention by polling. For example, the AP can send a polling packet, or a Coordination Function Poll (CF-Poll) to a STA and the STA receiving the CF-Poll can transmit data to the AP after the SIFS. This arrangement provides a centralized mechanism that allows the AP to control STAs and provide high efficiency channel access. 
         [0008]    The IEEE802.11e standard also provides a MAC extension of an existing IEEE802.11a/b/g MAC through two new mechanisms: Enhanced DCF channel access (EDCA) and Hybrid Coordination Function (HCF) Controlled Channel Access (HCCA). The EDCA extends the legacy DCF function to provide a service differentiation and prioritization mechanism. This mechanism is still based on CSMA/CA, but also introduces Arbitration IFS (AIFS) to make several levels of priority. 
         [0009]    Although the EDCA function may provide a parameterized Quality of Service (QoS), it cannot provide adequate deterministic latency as long as it is based on CSMA/CA. Further, the reference scheduler design of the HCCA is not sufficient to ensure deterministic latency because it is not taking packet errors into account. For example, if a STA fails to transmit data to the AP, the STA would have to wait for the next polling packet, which comes with the next SI. 
       SUMMARY OF THE INVENTION 
     Technical Problem 
       [0010]    Given the foregoing background, there is a need for new systems and methods that will substantially obviate the aforementioned problems associated with conventional techniques for wireless systems. Specifically, there is a need to provide for adequate deterministic latency for control applications that may require better than 10 −9  packet loss rate within 10-ms delivery latency. Additionally, the systems and methods would need to address the following requirements: 
         [0011]    Traffic model: There is a need to handle periodic uplink packet transmissions in addition to conventional random bidirectional transmissions. In many applications, the amount of data per packet is relatively small. 
         [0012]    Coexistence with legacy WiFi devices: There is a need for ensuring backward compatibility with legacy WiFi devices. 
       Solution to the Problem 
       [0013]    The inventive methodology is directed to methods and systems that substantially obviate one or more of the above and other problems associated with the known conventional techniques for wireless systems. 
         [0014]    Aspects of the present invention may include an access point with a wireless transceiver for polling a plurality of stations controlled by the access point. The wireless transceiver may poll the stations according to a schedule with an exhaustive polling phrase, a CSMA phase and a selective polling phase. During the exhaustive polling phase, the access point may poll each of the plurality of stations. If the access point fails to correctly receive data from a station during the exhaustive polling phase, a selective polling phase may be utilized, after the exhaustive polling phase and before the CSMA phase, for selectively polling the failed station. 
         [0015]    Aspects of the present invention may also include a method, which involves utilizing a wireless transceiver to poll each station controlled by an access point. The polling may be conducted according to a schedule with an exhaustive polling phrase, a CSMA phase and a selective polling phase. During the exhaustive polling phase, the access point may poll each of the stations. If the access point fails to correctly receive data from a station during the exhaustive polling phase, a selective polling phase may be utilized after the exhaustive polling phase and before the CSMA phase for selectively polling the failed station. 
         [0016]    Aspects of the present invention may further include a system involving a plurality of terminal nodes; and an access point polling the plurality of terminal nodes. The polling may be conducted according to a schedule with an exhaustive polling phrase, a CSMA phase and a selective polling phase. During the exhaustive polling phase, the access point may poll each of the plurality of terminal nodes. If the access point fails to correctly receive data from a terminal node during the exhaustive polling phase, a selective polling phase may be utilized after the exhaustive polling phase and before the CSMA phase for selectively polling the failed terminal node. 
         [0017]    Additional aspects related to the invention will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention. Aspects of the invention may be realized and attained by means of the elements and combinations of various elements and aspects particularly pointed out in the following detailed description and the appended claims. 
         [0018]    It is to be understood that both the foregoing and the following descriptions are exemplary and explanatory only and are not intended to limit the claimed invention or application thereof in any manner whatsoever. 
       Advantageous Effects of the Invention 
       [0019]    The present invention attempts to improve on conventional techniques by providing a QoS guarantee which satisfies the above-mentioned requirements. By providing the selective polling techniques according to embodiments of the present invention, deterministic latency and reliability may thereby be improved with a low packet error rate, which is important in wireless systems requiring high reliability (e.g. process automation, factory automation, building automation, video surveillance etc.), while maintaining backwards compatibility with legacy IEEE802.11 MAC systems. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0020]    The accompanying drawings, which are incorporated in and constitute a part of this specification exemplify the embodiments of the present invention and, together with the description, serve to explain and illustrate principles of the inventive technique. Specifically: 
           [0021]      FIG. 1  illustrates examples of time-slotted channel hopping allocation according to the conventional art. 
           [0022]      FIG. 2  illustrates an exemplary wireless network. 
           [0023]      FIG. 3  illustrates an exemplary reference HCCA scheduler protocol. 
           [0024]      FIG. 4  illustrates an exemplary polling scheduler design according to embodiments of the invention. 
           [0025]      FIG. 5  illustrates an exemplary HCCA scheduler design according to embodiments of the invention. 
           [0026]      FIG. 6  illustrates an exemplary time diagram when the access point fails to correctly receive a packet due to bit error, according to embodiments of the invention. 
           [0027]      FIG. 7  illustrates an exemplary time diagram when the access point fails to detect a packet from the QSTA according to embodiments of the invention. 
           [0028]      FIG. 8  illustrates an exemplary flowchart of the access point, according to embodiments of the invention. 
           [0029]      FIG. 9  illustrates an exemplary flowchart of the polling phase according to embodiments of the invention. 
           [0030]      FIG. 10  illustrates an exemplary flowchart of a Quality of Service aware station (QSTA), according to embodiments of the invention. 
           [0031]      FIG. 11  illustrates an exemplary block diagram of the access point, according to embodiments of the invention. 
           [0032]      FIG. 12  illustrates an exemplary time diagram of a scheduler for bi-directional transmission, according to embodiments of the invention. 
           [0033]      FIG. 13  illustrates an exemplary polling scheduler protocol with a consolidated CF-poll, according to embodiments of the invention. 
           [0034]      FIG. 14  illustrates an exemplary superframe structure of a TDMA system, according to the conventional art. 
           [0035]      FIG. 15  illustrates an exemplary superframe structure and scheduling example with a shared slot in a TDMA system, according to embodiments of the invention. 
       
    
    
     DESCRIPTION OF EMBODIMENTS 
       [0036]    In the following detailed description of exemplary embodiments, reference will be made to the accompanying drawings, in which identical functional elements are designated with like numerals. The aforementioned accompanying drawings show by way of illustration, and not by way of limitation, specific embodiments and implementations consistent with principles of the present invention. These implementations are described in sufficient detail to enable those skilled in the art to practice the invention and it is to be understood that other implementations may be utilized and that structural changes and/or substitutions of various elements may be made without departing from the scope and spirit of present invention. The following detailed description is, therefore, not to be construed in a limited sense. Additionally, the various embodiments of the invention as described may be implemented in the form of a software running on a general purpose computer and executed by one or more processors, in the form of a specialized hardware, or combination of software and hardware. 
       A. Basic Concept of the Proposed Polling Schedulers 
       [0037]    HCCA is a polling-based mechanism in which a Hybrid Coordinator (HC) in conjunction with the AP gives transmission opportunities (TXOPs) to STAs. This mechanism improves over the PCF of legacy IEEE 802.11e MAC systems. 
         [0038]    According to the concept of transmission opportunities (TXOP) based on the IEEE802.11e standard, once a STA obtains channel access, the STA can send one or more frames within TXOP. During TXOP, acknowledgement (ACK) may be transmitted after each frame, or block-ACK may be transmitted after the last frame. 
         [0039]    The IEEE802.11e standard also provides a reference scheduler design to complement the HCCA scheme, as shown in  FIG. 2  and  FIG. 3 . 
         [0040]      FIG. 2  illustrates a wireless network architecture with a single AP  200  and several non-AP STAs  201 . A STA that has streams admitted by the admission controller in the AP  200  is called a Quality of Service aware Station (QSTA)  202 . One or more QSTA&#39;s  202  may be present in the network. 
         [0041]      FIG. 3  shows an exemplary reference scheduler protocol and schedule for the network architecture of  FIG. 2 . The scheduler determines a Scheduled Service Interval (SI)  300 , which is the time interval used by the AP to periodically poll each non-AP STA (QSTA) that has one or more streams admitted by the admission controller in the AP. Any QSTA is able to get a TXOP within a SI. This phase of the polling phase is called a CAP (controlled access period)  301 . A CSMA phase (CP)  302  based on the EDCA mechanism follows the CAP. 
         [0042]    The basic embodiments of the present invention provide MAC and scheduler designs that ensure a QoS guarantee that satisfies the aforementioned requirements. 
         [0043]    In various embodiments of the invention that are described subsequently, a scheduled service interval (SI), which is the time interval used by the access point (AP) to periodically poll each non-AP STA (station), is divided into three periods: an exhaustive polling phase, a selective polling phase and a CSMA phase. 
         [0044]    In the exhaustive polling phase, the AP polls all STAs which require QoS transmissions. Each STA transmits its data after it receives the transmitted polling packet itself. 
         [0045]    In the selective polling phase, the AP polls all STAs from which the AP failed to receive data in the exhaustive polling phase. The AP continues to poll the STAs until the AP successfully received data from all of the STAs. 
         [0046]    The CSMA phase is a period for communications from legacy devices, based on the CSMA (carrier sense multiple access) mechanism. Other streams are communicated in this period. Also, the STAs may communicate some configuration packets with the AP in this period. 
         [0047]    The length of the SI is determined in advance, but the length of the three periods depends upon the results of transmissions in the exhaustive polling phase. 
         [0048]      FIG. 4  illustrates an exemplary scheduler protocol for polling-based channel access according to embodiments of the invention. The scheduler divides the S 1400  into three periods: an exhaustive polling phase (CAP)  401 , a selective polling phase  402  and CSMA phase (CP)  403 . 
         [0049]    In the exhaustive polling phase  401 , the AP polls all QSTAs, which means non-AP STAs that have one or more streams admitted by the admission controller in the AP. Each polled QSTA transmits its data after it receives the polling packet. In the selective polling phase  402 , the AP polls the QSTAs that failed to provide a transmission in the exhaustive polling phase. The AP continues to poll the QSTAs until the AP successfully receives data from all of the QSTAs. 
         [0050]    The CSMA phase  403  is for communications of legacy devices based on the CSMA (carrier sense multiple access) mechanism. Stations other than the QSTAs communicate in this period. Also, all STAs may communicate some configuration packets with the AP in this period. 
         [0051]    In the example of  FIG. 4 , QSTA 2   404  fails to transmit the data in the exhaustive polling phase. Therefore, the AP polls QSTA 2  again  405  in the selective polling phase after the AP finishes polling all the QSTAs. If the AP successfully receives data from QSTA 2 , as the last QSTA to transmit data, the AP ends the selective polling phase, which is denoted by a CF-end packet  406 . 
         [0052]      FIG. 5  illustrates an exemplary HCCA scheduler protocol according to another exemplary embodiment of the invention. There, the AP sends a CF-poll (Contention Free-Poll) packet  504  as polling to each of the QSTAs. Once a QSTA receives the CF-poll, the selected QSTA can get channel access during TXOP  505 , which is included in the CF-poll packet. Within the S 1500 , at the end of the polling phase  501 , a selective polling  502  of the type previously described will begin and is concluded by a CF-end packet  506  that also marks the beginning of the CSMA phase (CP)  503 . 
         [0053]    At the end of the exhaustive phase, if the AP has not received all data from the QSTAs, the AP sends new NAV (Network Allocation Vector) to an expected duration of the selective polling phase by using a CF-poll packet. The NAV shows period in which the channel will be occupied, other STAs, which received the packets with the NAV and did not selected to transmit the data, cannot transmit packets for the duration which is specified by the NAV. The CP period  503  that occurs after the selective polling phase  502  is used for EDCA-based channel access  507 . 
       B. Example Implementations of Embodiments 
       [0054]    Several exemplary implementations of embodiments of the invention are explained below. The implementations are not limited to the systems based on the IEEE802.11e standard and can be applied for all polling-based systems. 
       First Embodiment 
     CF-Poll with ACK 
       [0055]      FIG. 6  illustrates an exemplary time diagram of the first embodiment. Specifically,  FIG. 6  shows the time diagram in a case that the AP fails to correctly receive a packet due to bit error from QSTA 2  in the exhaustive polling phase. 
         [0056]    In this embodiment, the AP sends a CF-poll with ACK, which is for the previous QSTA data transmission. In the exhaustive polling phase, the AP sends a CF-poll to the QSTA 1  and sends a CF Poll with an ACK  600  to the QSTA 2 . Also, the AP sends a CF-poll to the QSTA 3  with a Negative Acknowledgement (NACK)  601  to the QSTA 2  as the AP fails to correctly receive the data  602  from QSTA 2 . After the AP receives the data  605  from QSTA 3 , the AP resends a CF-poll to the QSTA 2  to get the data  603  from QSTA 2 . Finally, once the AP successfully receives the data  603  from the QSTA 2 , the AP ends the CAP  604 , which is the polling-based channel access period. 
         [0057]      FIG. 7  illustrates an exemplary a time diagram of the first embodiment in the case that the AP cannot detect the packet from QSTA 2 . This situation occurs when the CF-poll doesn&#39;t reach the QSTA, or the AP misses the packet from QSTA 2 , resulting in a packet loss  700 . In this case, since the AP cannot receive any packet within PIFS after the AP finishes sending CF-poll, the AP sends the next CF-poll to get the data from QSTA 3 . After the AP receives the data from QSTA 3 , the AP resends data  701  on the basis of a CF-poll to the QSTA 2  in order to get all of the data from QSTA 2 . Finally, once the AP successfully receives the data  701  from the QSTA 2 , the AP ends the CAP  604 , which is the polling-based channel access period. 
         [0058]    The AP may set the NAV (Network Allocation Vector)  702  in the CF-poll packet to the duration of the exhaustive phase  703 . Other STAs, which receive the packets with the NAV, cannot transmit packets for the duration which is specified by the NAV. At the end of the exhaustive phase, if the AP has not received all data from the QSTAs, the AP may extend the NAV  704  to an expected duration of the following selective polling phase by using a CF-poll packet. If the AP has not received all the data at the end of the duration specified by the NAV, the AP may extend the NAV to the duration of the following selective polling phase again. The AP can reset the NAV by using the CF-end packet  604 . 
         [0059]    Each CF-poll packet can convey the NAV information. Therefore, the NAV can be extended by each CF-poll packet by calculating how long it takes to finish all transmissions for data not yet successfully received by the AP. 
         [0060]      FIG. 8  illustrates an exemplary flowchart of the AP&#39;s behavior according to exemplary embodiments of the invention. The AP determines the next schedule before each S 1800 . According to the determined schedule, the AP controls channel accesses, both exhaustive and selective, in the polling phase  801 . Then the conventional CSMA-based channel access period  802  follows and, upon completion, returns to the schedule update step. 
         [0061]      FIG. 9  illustrates an exemplary flowchart of the polling phase in  FIG. 8  according to embodiments of the invention. First of all, the AP sends a CF-poll to the first QSTA which is listed in the determined schedule  900 . After that, the AP waits for coming packet for PIFS  901 . If a packet is not received within PIFS (N), the AP re-registers the QSTA  902  into the schedule and the AP again sends a CF-poll to the next QSTA  900 . If a packet is received (Y), the AP checks if the packet is a valid data transmitted from the QSTA to the AP  903 . If it&#39;s not a valid packet (N), the AP re-registers the QSTA  902  into the schedule and the AP again sends a CF-poll to the next QSTA  900 . If the packet is a valid packet (Y), the AP deletes the QSTA from the schedule  904  and then the AP checks to see if there is a next STA in the schedule  905 . If there is a next STA, the AP sends a CF-poll to the next QSTA if any  906 . The CF-poll can include ACK to the current QSTA. If no STA in the list exists (N), the AP may broadcast a CF-end to notify that the polling phase is ended  907 . 
         [0062]      FIG. 10  illustrates an exemplary flowchart of the QSTA&#39;s behavior according to embodiments of the invention. A QSTA, which has a data stream for transmission to the AP, prepares a data packet for the next transmission  1000 . The QSTA waits for the CF-poll  1001 , which is transmitted to the QSTA, and upon receipt checks whether a valid CF poll has been sent to itself  1002 . If a next valid packet is not received (N), the process returns to waiting for a next packet  1001 . If the QSTA receives a correct CF-poll (Y), the QSTA sends the data packet  1003  and waits for the next packet  1004 . A check is made as to whether the ACK has been received  1005 . If a packet including ACK to the QSTA is received (Y), the QSTA goes to the preparation for the next data transmission  1000 . If ACK is not received and then the next CF-poll to the QSTA is received, the QSTA retransmits the same data  1006 . The timeout mechanism or no limited re-transmission mechanism may be applied appropriately in this example if necessary. 
         [0063]      FIG. 11  illustrates an exemplary block diagram of an AP structure to implement embodiments of the invention. The AP includes a wireless transceiver  1100 , a MAC processor  1101  and an application processor  1102 . The wireless transceiver may have multiple antennas  1103  to perform MIMO techniques or diversity techniques. The MAC processor  1101  controls channel access, which may be provided through the EDCA or HCCA mechanisms. The application processor  1102  treats other upper layer control. That includes a scheduler in which the proposed techniques can be implemented. Also, the application processor  1102  may include a admission controller, which grants data streams transmitted in the polling phase. 
       Second Embodiment 
     Bidirectional Communication 
       [0064]      FIG. 12  illustrates an exemplary time diagram of the proposed scheduler in a bi-directional transmission situation, according to the second embodiment of the invention. 
         [0065]    If the AP has data streams to some QSTAs, the AP may include the data into CF-poll packets as shown in  FIG. 12 . The QSTA, which receives the CF-poll with the data, may send a data packet with ACK  1200  to the received data. If either of data to the QSTA and data to the AP is lost during the exhaustive phase  1201 , the AP can resend the CF-poll with the data to the QSTA in the selective phase  1202  until all data are successfully received by the AP and the QSTA. 
       Third Embodiment 
     Consolidated Polling Packet 
       [0066]      FIG. 13  illustrates the protocol for an embodiment of the invention utilizing a consolidated CF-poll. According to this embodiment, all CF-polls are consolidated into one CF-poll. The consolidated CF-poll  1300  specifies the granted data streams which can be transmitted in the exhaustive polling phase and the order of transmission. Each QSTA (QSTA 1 -QSTA 3 ) transmits data according to the order specified by the CF-poll  1301 . After the exhaustive polling phase, the AP sends the next consolidated CF-poll  1302 , which specifies the granted data stream(s) that the AP did not receive in the exhaustive polling phase, for example, TXOP 2   1303 . The AP continues to send consolidated CF-polls until all the granted data streams are successfully received within the SI, and ends the polling phase with a CF-end  1304 . Subsequently, the CSMA phase  1305  is conducted. 
       Fourth Embodiment 
     Shared Slots in TDMA (Time Division Multiple Access) 
       [0067]    The previously described embodiments of the invention may also be applied to TDMA (time division multiple access) systems by utilizing a shared slot concept.  FIG. 14  illustrates a typical TDMA system according to the conventional art. Typical TDMA systems allocate one slot per STA, as shown in  FIG. 14 . The TDMA system of  FIG. 14  consists of 6 STAs and the superframe used in the TDMA system consists of 6 time slots those are allocated to each STA. 
         [0068]    With a shared slot concept according to an embodiment of the invention, a time slot is shared by several STAs as shown in  FIG. 15 . The superframe of this example contains two time slots and one polling slot. One time slot is shared with QSTA 1 , QSTA 2  and QSTA 3  and the other time slot is shared with QSTA 4 , QSTA 5  and QSTA 6 . In the exhaustive polling phase  1500 , the AP polls all the STAs that share a time slot. After the exhaustive polling phase, in the selective polling phase  1501 , the AP polls the STAs that failed to transmit in the exhaustive polling phase (e,g., QSTA 1 , QSTA 3 , QSTA 5 ). If all the QSTAs successfully transmit, the rest of the time slots are used for free access during the free access phase  1502 . 
         [0069]    This concept enables high efficient communication, even in poor radio environments. Typical TDMA systems must reserve extra time slots to ensure reliable transmissions in adverse radio environments, and this practice decreases the communication efficiency of the system. The embodiments of the invention regarding the shared time slot help to address this issue. 
         [0070]    Finally, some portions of the detailed description are presented in terms of algorithms and symbolic representations of operations within a computer. These algorithmic descriptions and symbolic representations are the means used by those skilled in the data processing arts to most effectively convey the essence of their innovations to others skilled in the art. An algorithm is a series of defined steps leading to a desired end state or result. In the present invention, the steps carried out require physical manipulations of tangible quantities for achieving a tangible result. 
         [0071]    Unless specifically stated otherwise, as apparent from the discussion, it is appreciated that throughout the description, discussions utilizing terms such as “processing,” “computing,” “calculating,” “determining,” “displaying,” or the like, can include the actions and processes of a computer system or other information processing device that manipulates and transforms data represented as physical (electronic) quantities within the computer system&#39;s registers and memories into other data similarly represented as physical quantities within the computer system&#39;s memories or registers or other information storage, transmission or display devices. 
         [0072]    The present invention also relates to an apparatus for performing the operations herein. This apparatus may be specially constructed for the required purposes, or it may include one or more general-purpose computers selectively activated or reconfigured by one or more computer programs. Such computer programs may be stored in a computer-readable storage medium, such as, but not limited to optical disks, magnetic disks, read-only memories, random access memories, solid state devices and drives, or any other types of media suitable for storing electronic information. The algorithms and displays presented herein are not inherently related to any particular computer or other apparatus. 
         [0073]    Various general-purpose systems may be used with programs and modules in accordance with the teachings herein, or it may prove convenient to construct a more specialized apparatus to perform desired method steps. In addition, the present invention is not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the invention as described herein. The instructions of the programming language(s) may be executed by one or more processing devices, e.g., central processing units (CPUs), processors, or controllers. 
         [0074]    As is known in the art, the operations described above can be performed by hardware, software, or some combination of software and hardware. Various aspects of embodiments of the invention may be implemented using circuits and logic devices (hardware), while other aspects may be implemented using instructions stored on a machine-readable medium (software), which if executed by a processor, would cause the processor to perform a method to carry out embodiments of the invention. Furthermore, some embodiments of the invention may be performed solely in hardware, whereas other embodiments may be performed solely in software. Moreover, the various functions described can be performed in a single unit, or can be spread across a number of components in any number of ways. When performed by software, the methods may be executed by a processor, such as a general purpose computer, based on instructions stored on a computer-readable medium. If desired, the instructions can be stored on the medium in a compressed and/or encrypted format. 
         [0075]    Moreover, other implementations of the invention will be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed herein. Various aspects and/or components of the described embodiments may be used singly or in any combination in a communication system. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the invention being indicated by the following claims.