MULTIPLE WIRELESS COMMUNICATION PROTOCOL METHODS AND APPARATUSES INCLUDING QUALITY OF SERVICE CONSIDERATIONS

Abstract: A multi-protocol wireless apparatus is provided with at least one wireless transceiver to transmit and receive signals in accordance with a first and a second protocol to and from first and second network devices of a first and a second wireless network communicatively coupled to the apparatus. The apparatus is further provided with at least one controller manager to operate the at least one wireless transceiver to perform the transmits and receives in accordance with the first and second protocols in a coordinated manner, taking into consideration quality of service criteria to be achieved for the respective protocols.

Description: Multiple Wireless Communication Protocol Methods and Apparatuses Including Quality of Service Considerations Related Application This application is a continuation-in-part application of U.S. patent application number 09/439,946, filed on November 12, 2000, entitled Multiple Wireless Communication Protocol Methods and Apparatuses, which itself is a continuation-in-part application of (a) U.S. patent application number 09/408,725, filed on September 29, 1999, entitled "A Wireless Apparatus Having Multiple Coordinated Transceivers For Multiple Wireless Communication Protocols", and (b) U.S. patent application number 09/436,458, filed November 8, 1999, entitled "A Wireless Apparatus Having A Transceiver Equipped To Support Multiple Wireless Communication Protocols". BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to the field of wireless communication. More specifically, the present invention relates to the problem of concurrent wireless communication with multiple communication partners of different wireless communication protocols. 2. Background Information Advances in microprocessor and communication technology have led to the increase in popularity of wireless communication. Once confined to the privileged, wireless voice communication have become affordable and available to the masses. Today, various efforts are under way to apply wireless communication to replace attachment cables used for attaching peripheral devices, such as printers, scanners and the like, as well as networking cables used for connecting clients, servers and the like. A leading candidate to accomplish the former is commonly known to those skilled in the art as the Bluetooth technology or Bluetooth protocol. Examples of technology to accomplish the later include the different variants of the IEEE 802.11 Standard published by the Institute of Electrical and Electronic Engineers, 802.11 (Frequency Hoping, Direct Sequence), 802.11a, 802.1b, as well as Home RF, also known as Shared Wireless Access Protocol (SWAP) to those skilled in the art. A need has emerged in a number of applications that it is desirable for a device to be able to operate "concurrently" in multiple wireless protocols. One such applications is having a notebook computer being able to communicate with peripheral devices such as a phone, a printer, a scanner and the like, in accordance with the Bluetooth protocol; and with other computing devices, such as other peer computers or servers, communication devices, such as modems or adapters, and networking devices, such as gateways, routers, switches and the like, in accordance with one of the 802.11 protocols or Home RF. However, the need cannot be met by simply providing the device with multiple transmitters, one for each protocol. The reason is because if multiple ones of these transmitters were to transmit at the same time. The transmitters are going to interfere with each other, resulting in corruption and/or loss of data, as well as degradation in performance. As will be described in more detail below, the present invention substantially address this need in a very efficient and low cost manner. This and other advantages of the present invention will be readily apparent from the description to follow. SUMMARY OF THE INVENTION A multi-protocol wireless apparatus is provided with at least one wireless transceiver to transmit and receive signals in accordance with a first and a second protocol to and from first and second network devices of a first and a second wireless network communicatively coupled to the apparatus. The apparatus is further provided with at least one controller manager to operate the at least one wireless transceiver to perform the transmits and receives in accordance with the first and second protocols in a coordinated manner, taking into consideration quality of service criteria to be achieved for the respective protocols. In one embodiment, the at least one controller manager is equipped with logic to determine message types of first messages to be transmitted to a selected one or selected ones of the first network devices in accordance with the first protocol, and to give priority to the first messages over second messages to be transmitted to a selected one or selected ones of the second network devices in accordance with the second protocol, if message types of the first messages are determined of a multi-media type. In another embodiment, the at least one controller manager is equipped with logic to maintain a quality metric reflective of frequency of error for each voice stream, and to make its priority determination for messages competing to be transmitted to the first and second network devices in accordance with the first and second protocols in view of the quality metric maintained for each voice stream. BRIEF DESCRIPTION OF DRAWINGS The present invention will be described by way of exemplary embodiments, but not limitations, illustrated in the accompanying drawings in which like references denote similar elements, and in which: Figure 1 illustrates an overview of the wireless device of the present invention, in accordance with one embodiment; Figure 2 illustrates a period of operation of the wireless devices of Fig. 1 , in accordance with one embodiment; Figure 3 illustrates the wireless device of Fig. 1 in further detail, in accordance with one implementation; Figure 4 illustrates the operational states and flow of the state machine of Fig. 3 in further detail, in accordance with one implementation; Figure 5 illustrates the wireless device of Fig. 1 in further detail, in accordance with another implementation; Figure 6 illustrates the operational states and flow of the state machine of Fig. 5 in further detail, in accordance with one implementation; Figure 7 illustrates the wireless device of Fig. 1 in further detail, in accordance with yet another implementation; Figures 8a-8b illustrate a period of operation of the wireless devices of Fig. 1 , in accordance with each of two alternate embodiments; Figures 9a-9b illustrate the architecture and operational flow of the wireless device 100 of Fig. 1 for practicing a selected one of the methods of operation of Fig. 8a-8b, in accordance with one embodiment; Figure 10 illustrates a period of operation of the wireless devices of Fig. 1 , in accordance with another embodiment; Figures 11a-11b illustrate the architecture and operational flow of the wireless device 100 of Fig. 1 for practicing the method of operation of Fig. 11 , in accordance with one embodiment; Figure 12 illustrates the concept of notch filtering, Figure 13 illustrates an overview of the wireless device of the present invention, in accordance with another embodiment; and Figure 14 illustrates the essential operations of the operation flow of the controller managers in taking into consideration the quality of service criteria to be achieved for the respective protocols when controlling the transceivers to operate in a coordinated manner. DETAILED DESCRIPTION OF THE INVENTION In the following description, various aspects of the present invention will be described. However, it will be apparent to those skilled in the art that the present invention may be practiced with only some or all aspects of the present invention. For purposes of explanation, specific numbers, materials and configurations are set forth in order to provide a thorough understanding of the present invention. However, it will also be apparent to one skilled in the art that the present invention may be practiced without the specific details. In other instances, well known features are omitted or simplified in order not to obscure the present invention. Parts of the description will be presented using software terminology commonly employed by those skilled in the art to convey the substance of their work to others skilled in the art. As well understood by those skilled in the art, these software quantities take the form of electrical, magnetic, or optical signals capable of being stored, transferred, combined, and otherwise manipulated through mechanical and electrical components of a digital system; and the term digital system includes general purpose as well as special purpose processors, systems, and the like, that are standalone, adjunct or embedded. Various operations will be described as multiple discrete steps performed in turn in a manner that is most helpful in understanding the present invention, however, the order of description should not be construed as to imply that these operations are necessarily order dependent, in particular, the order the steps are presented. Furthermore, the phrase "in one embodiment" will be used repeatedly, however the phrase does not necessarily refer to the same embodiment, although it may. Referring now to Figure 1 , wherein an overview of the present invention, in accordance with one embodiment, is shown. As illustrated, wireless device 100 is provided with wireless transceivers 102a and 102b to transmit and receive signals wirelessly in accordance with a first and a second wireless communication protocol, to enable device 100 to be communicatively coupled to devices 104a and devices 104b of wireless networks 108a and 108b respectively. Wireless device 100 further includes controller managers 106a and 106b to control the operation of wireless transceivers 102a and 102b respectively. As will be described in more detail below, controller managers 106a and 106b control transmits and receives by wireless transceivers 102a and 102b, in a coordinated manner, in accordance with the present invention, to allow wireless device 100 to operate with devices 104a and devices 104b of wireless network 108a and 108b in accordance with the respective wireless communication protocols at the same time. In one embodiment, controller managers 106a and 106b control transmits and receives by wireless transceivers 102a and 102b (hereinafter, simply transceivers), in a coordinated manner. More specifically, in this embodiment, controller managers 106a and 106b control transceivers 102a and 102b to alternate between transmits by one of the two transceivers and receives by both of the two transceivers. Figure 2 illustrates a period of operation in accordance with this embodiment. As shown, in time period T1 , for duration t1 , control manager 106a controls transceiver 102a to perform transmit of signals to devices 104a of wireless network 108a (hereinafter, simply network) in accordance with the first wireless communication protocol (hereinafter, simply protocol), while control manager 106b controls transceiver 102b to neither perform transmit nor receive of signals to and from devices 104b of network 108b. In time period T3, for duration t3, the reverse is performed. Control manager 106b controls transceiver 102b to perform transmit of signals to devices 104b of network 108b in accordance with the second protocol, while control manager 106a controls transceiver 102a to neither perform transmit nor receive of signals to and from devices 104a of network 108a. In time periods T2 and T4, for duration t2 and t4 respectively, control managers 106a and 106b control both transceivers 102a and 102b to perform receive of signals from devices 104a and 104b of network 108a and 108b in accordance with the respective protocols respectively. Since all wireless protocols operate on either a carrier sense or contention free protocol, devices 104a are able to receive in time period T1 , and transmit when there are packets to transmit, but otherwise receive, in time periods T2-T4. Likewise, devices 104b are able to receive in time period T3, and transmit when there are packets to transmit, but otherwise receive, in time periods T1-T2 and T4. Accordingly, wireless device 100 is able to operate with devices 104a and 104b of networks 108a and 108b in two wireless protocols at the same time. Note that time periods T1-T4 may or may not be equal in duration. That is, numerically t1-t4 may or may not be equal. As will be described in more detail below, in different variants of this embodiment, duration t1-t4 of time periods T1- T4 are dynamically and adaptively set. In particular, in some variants, duration t1- t4 of time periods T1-T4 are adaptively set based at least in part of transmit and receive workloads of networks 108a and 108b. Referring back to Fig. 1 , except for the teachings of the present invention incorporated in wireless device 100 to effectuate the above described coordinated manner of operation of transceivers 102a and 102b, transceivers 102a and 102b as well as controller managers 106a and 106b are otherwise intended to represent a broad range of these elements known in the art. Accordingly, except for the teachings of the present invention, which will be further described below, transceivers 102a and 102b and controller managers 106a and 106b will not be otherwise further described. Wireless device 100 is intended to represent a wide range of devices that can benefit from having the ability to wirelessly operate with other wireless devices in two or more wireless communication protocols at the same time. Examples of device 100 include but not limited to computers of various form factors, such as desktop, notebook, palm size and so forth, controller devices (i.e. master devices) to manage and control the operation of networks 108a and 108b, and gateway devices to facilitate communication between devices 104a and devices 104b. Likewise, devices 104a and 104b are intended to represent a broad range of devices that can benefit from being able to communicate wirelessly. Examples of devices 104a include but not limited to phones, video cameras, speakers, modems, printers and scanners equipped to wireless communicate in accordance with the Bluetooth protocol. Examples of devices 104b include clients and servers, as well as gateways, modems, hubs, routers, and switches equipped to wireless communicate in accordance with a selected variant of the IEEE 802.11 protocols or Home RF. For ease of understanding, only two groups of devices 104a and 104b, communicating in accordance with the first and second wireless communication protocols are shown in Fig. 1. However, from the description to follow, it will be readily apparent to those skilled in the art, the present invention may be practiced with more than two transceivers (as long as the transceivers are likewise coordinated). Referring now to Figures 3 and 4, wherein a block diagram and a state diagram illustrating wireless device 100 of Fig. 1 in further detail, in accordance with one embodiment, are shown. As illustrated, each controller manager 106a/106b of wireless device 100 is endowed with a state machine 300a/300b to complementarily assist the controller manager 106a/106b to control its transceiver 102a/102b in the above described coordinated manner. More specifically, each state machine 300a/300b, in addition to idle state 410, has four operating states 412-418 (TX, RX1 , NOP, and RX2) to output a signal 304a/304b denoting a selected one of a transmit (TX) operation, a receive (RX) operation and no-op (NOP) for its controller manager 106a/106b. Upon power-on or reset, each state machine 300a/300b either transitions from idle state 410 to TX state 412 or NOP state 416, depending on the state of configuration (config) signal 302a/302b. One state machine, e.g. 300a, is configured to transition from idle state 410 to TX state 412, while the other state machine, e.g. 300b, is configured to transition from idle state 410 to TX state 412. Config signal 302a/302b may be set e.g. via a jumper or other equivalent means, as well as through software. While in TX state 412, state machine 300a/300b remains in the state for duration ts1 , outputting signal 304a/304b denoting TX operation for its controller manager 1026a/106b. In one embodiment, where t1 and t3 may take on different values, one state machine, e.g. 300a, is configured with ts1 set to t1 , while the other state machine, e.g. 300b, is configured with ts1 set to t3. Ts1 may be selectively set in any one of a number of techniques known in the art, e.g. through separate registers or multiplexing circuitry. Upon expiration of ts1 , state machine 300a/300b transitions from TX state 412 to RX1 state 414. While in RX1 state 414, state machine 300a/300b remains in the state for duration ts2, outputting signal 304a/304b denoting RX operation for its controller manager 106a/106b. In one embodiment, where t2 and t4 may take on different values, one state machine, e.g. 300a, is configured with ts2 set to t2, while the other state machine, e.g. 300b, is configured with ts2 set to t4. Ts2 may likewise be selectively set in any one of a number of techniques known in the art. Upon expiration of ts2, state machine 300a/300b transitions from RX1 state 414 to NOP state 416. While in NOP state 416, state machine 300a/300b remains in the state for duration ts3, outputting signal 304a/304b denoting NOP for its controller manager 106a/106b. In one embodiment, where t1 and t3 may take on different values, one state machine, e.g. 300a, is configured with ts3 set to t3, while the other state machine, e.g. 300b, is configured with ts3 set to t1. Ts3 may likewise be selectively set in any one of a number of techniques known in the art. Upon expiration of ts3, state machine 300a/300b transitions from NOP state 416 to RX2 state 418. While in RX2 state 418, state machine 300a/300b remains in the state for duration ts4, outputting signal 304a/304b denoting RX operation for its controller manager 106a/106b. In one embodiment, where t2 and t4 may take on different values, one state machine, e.g. 300a, is configured with ts4 set to t4, while the other state machine, e.g. 300b, is configured with ts4 set to t2. Ts4 may likewise be selectively set in any one of a number of techniques known in the art. Upon expiration of ts4, state machine 300a/300b transitions from RX2 state 418 to TX state 412. From TX state 412, state machine 300a/300b continues operation as described earlier. Referring now to Figures 5 and 6, wherein a block diagram and a state diagram illustrating wireless device 100 of Fig. 1 in further detail, in accordance with another embodiment, are shown. As illustrated, for this embodiment, instead of having each controller manager 106a/106b of wireless device 100 be endowed with a state machine to complementarily assist the controller manager 106a/106b to control its transceiver 102a/102b in the above described coordinated manner, wireless device 100 is endowed with a single state machine 500 to assist both controller managers 106a and 106b. Similarly, state machine 500, in addition to idle state 610, has four operating states 612-618 (S1 - S4) to output a pair of signals 504a-504b denoting a selected combination of operations, TX with NOP, both RX, and NOP with TX for controller managers 106a and 106b. Upon power-on or reset, state machine 500 transitions from idle state 610 to S1 state 612. While in S1 state 612, state machine 500 remains in the state for duration tsl , outputting signal 504a-504b denoting TX and NOP for controller managers 106a and 106b. Ts1 is set to t1. Upon expiration of tsl , state machine 500 transitions from S1 state 612 to S2 state 614. While in S2 state 614, state machine 500 remains in the state for duration ts2, outputting signal 504a-504b denoting RX for both controller managers 106a and 106b. Ts2 is set to t2. Upon expiration of ts2, state machine 500 transitions from S2 state 614 to S3 state 616. While in S3 state 616, state machine 500 remains in the state for duration ts3, outputting signal 504a-504b denoting NOP and TX for controller managers 106a and 106b. Ts3 is set to t3. Upon expiration of ts3, state machine 500 transitions from S3 state 616 to S4 state 618. While in S4 state 618, state machine 500 remains in the state for duration ts4, outputting signal 504a-504b denoting RX for both controller managers 106a and 106b. Ts4 is set to t4. Upon expiration of ts4, state machine 500 transitions from S4 state 618 to S1 state 612. From S1 state 612, state machine 500 continues operation as described earlier. Referring now to Figure 7, wherein a block diagram illustrating wireless device 100 of Fig. 1 in further detail, in accordance with yet another embodiment, is shown. As illustrated, for this embodiment, in addition to having wireless device 100 be endowed with a single state machine 700 to assist both controller managers 106a and 106b as described earlier (with signals 708a-708a denoting TX-NOP, RX-RX or NOP-TX), wireless device 100 is further endowed with register 702, time sharing manager 704, and workload monitor 706 operatively coupled to each other and state machine 700 as shown. Register 702 stores t1-t4 for state machine 700. Time sharing manager 704 dynamically adjusts t1-t4 to enable state machine 700 be able to adaptively assist controller managers 106a and 106b in controlling transceivers 102a and 102b. For the illustrated embodiment, time sharing manager 704 dynamically adjusts t1-t4 based at least in part on transmit and receive workloads of networks 108a and 108b. Transmit and receive workloads are monitored by workload monitor 706 and provided to time sharing manager 704. Register 702 may be constituted with any storage circuitry known in the art. Time sharing manager 704 and workload monitor 706 may be implemented with any combinatorial logic or in software. Referring now to Figures 8a-8b, wherein a period of operation for the wireless devices of Fig. 1 in accordance with each of two alternate embodiments are shown. In each of these two alternate embodiments, first protocol of wireless devices 104a of network 108a is assumed to be a frequency hopping protocol as shown, i.e. wireless devices 104a hop from frequency to frequency in accordance with a pseudo random pattern to transmit signals. For ease of understanding, second protocol of wireless devices 104b of network 108b is assumed to be a constant frequency protocol (although in alternate embodiments, it may also be a frequency hopping protocol). In any event, to illustrate the present invention, at least one of the frequencies of the first protocol is the same frequency of the second protocol. Thus, if some of devices 104a and 104b are located sufficiently close to each other, and when one of devices 104a selects the same frequency for transmission, interference (or collision) between these devices will occur, resulting in one or more transmission failures. For the illustrated example, frequency interference (or collision) is shown to occur at the 7 th and 14 th hop (f 7 and f 14 ). That is, in accordance with the pseudo random pattern, in each of these two hops, devices 104a transmit in the same frequency employed by devices 104b. An example of a frequency hopping protocol is the Bluetooth protocol, and an example of a protocol having an interfering frequency with Bluetooth is the 802.11 protocol. [Note that the example interference at the 7 th and 14 th hop is not intended to suggest that the interference occurs at every 7 th hop. The interference pattern is dictated by the intersection of the pseudo random pattern followed by the frequency hopping devices 104a and the frequency employed by devices 104b.] To further improve the operating efficiencies of both network, instead of just letting the interfering devices 104a and 104b resolve each of the frequency interference, after it occurred, through conventional collision detection, back off and retry approaches, wireless device 100 coordinates the operation of devices 104a and 104b to proactively reduce actual occurrence of interference. More specifically, for the illustrated embodiments, either devices 104a or devices 104b are selected to be the "dominant" devices. The non-selected devices are considered to be the dominated devices. The dominated devices are notified, from time to time, to suspend operation to pro-actively avoid interference with the dominant devices, allowing the dominant devices to continue to operate without interference. As result, the time consuming collision detection, back off and retries are substantially reduced, and experience has shown that the overall operating efficiencies of both networks improve, the dominated network as well as the dominant network. Fig. 8a illustrates a period of operation when devices 104a, the frequency hopping devices, are selected to be the dominant devices, while Fig. 8b illustrates a period of operation when devices 104b are selected to be the dominant devices. That is, under Fig. 8a, devices 104b, upon informed, will temporarily suspend operation to proactively avoid interference, whereas under Fig. 8b, devices 104a, upon informed, will temporarily suspend operation to proactively avoid interference. Under either one of these embodiments, wireless device 100 basically operates as earlier described. Except wireless device 100 assumes the additional responsibilities of determining the pseudo random frequency hopping pattern of devices 104a (in one embodiment, including the interfering frequency), selecting either devices 104a or 104b to be the dominated devices, predicting the occurrence of interference, and preemptively notifying the dominated devices to suspend operation to avoid interference (in one embodiment, conditionally suspending operation). Referring now to Figs. 9a-9b, wherein the architecture and operational flow of wireless device 100 having these added responsibilities are shown. As illustrated in Fig. 9a, wireless device 100 is basically the embodiment earlier described referencing Fig. 7, except wireless device 100 is further provided with network management application (or network manager) 904 to proactively managing network devices 104a and 104b to reduce actual occurrence of interference. Network manager 904 also subsumes the earlier described responsibilities of time sharing manager 704, i.e. monitoring the workloads of the two protocols, and adaptively setting the values of t1-t4 for time period T1-T4. Operationally, as illustrated in Fig. 9b, upon initialization, network manager 904 monitors the operation of devices 104a and 104b for an observation period, and determines the pseudo random frequency hopping pattern followed by devices 104a (and in one embodiment, the interfering frequency with devices 104b), 912. This may be accomplished using any one of a number of techniques known in the art. Next, network manager 904 selects either devices 104a or devices 104b to be the dominant devices, 914. In one embodiment, network manager 904 makes the selection in accordance with configuration information programmed in configuration register 902. In alternate embodiments, other configuration registers, or other techniques known in the art, such as jumpers, may also be employed to assist network manager 904 in making the selection. Then, on an on going basis, network manager 904, predicts when interference will occur, using the determined pseudo random pattern and interference frequency, 916. Whenever, an interference is to occur, network manager 904 preemptively notifies the dominated devices to suspend operation accordingly, thereby allowing the dominant devices to operate without interference, 918. [In one embodiment, if the dominated devices are devices 104a, the notification includes the interfering frequency, and the suspension is conditional, only if the predicted frequency is indeed the interfering frequency.] The process continues, as long as there are wireless devices of both types 104a and 104b operating. In one embodiment, network manager 904 repeats the calibration periodically. In yet another embodiment, network manager 904 monitors actual interference between devices 104a and 104b, and tracks the mean time between interference. Network manager 904 repeats the calibration, whenever the tracked mean time between interference drops below certain given performance level. Note that in embodiments where the number of devices 104a and 104b present in networks 108a and 108b are relatively small, including in particular, the simplest case where there is only one device 104a and one device 104b in networks 108a and 108 respectively, network manager 904 may make the selection of the dominated devices in a dynamic and individualized manner, when an interference is predicted to occur. That is, different device or devices 104a and 104b are dynamically and individually selected for different predictions of interference. Such dynamic, individualized manner of selection may also be made in view of the workloads of the two protocols. As those skilled in the art would appreciate, the above described improved manner of operation (including the embodiment, where suspension is to be conditionally made by devices 104a) may be practiced with minimal or no change to devices 104,a and 104a, as virtually all network devices are capable of temporarily suspending operation responsive to a request. As to the embodiment where suspension is to be conditionally made by devices 104a, the conditional performance may be effectuated through addition of simple frequency testing combinatorial logic. Additionally, in yet other embodiments, upon selecting the dominated devices at 914, wireless device 100 notifies devices 104a and 104b of their respective roles, i.e. whether they are the dominating devices or dominated devices. Further, at least the dominated devices are also provided with a collision map, for the dominated devices to self determine whether interference is to occur. In other words, operation 916 is distributed to the dominated devices, and operation 918 is eliminated. Referring now to Figure 10, wherein a period of operation for the wireless devices of Fig. 1 in accordance with another embodiment is shown. Again, first protocol of wireless devices 104a of network 108a is assumed to be a frequency hopping protocol, and second protocol of wireless devices 104b of network 108b is assumed to be a constant frequency protocol (although it may also be a frequency hopping protocol). Nevertheless, for illustrative purpose, it is suffice that at least one of the frequencies of the first protocol of wireless devices 104a conflicts with the frequency of the second protocol of wireless devices 104b as shown, and earlier described. Thus, in like manner, if some of devices 104a and 104b are located sufficiently close to each other, and devices 104a select to transmit in the same frequency, interference (or collision) will occur, resulting in one or more transmission failures. To further improve the operating efficiencies of both network, instead of just letting the interfering devices 104a and 104b resolve each of the frequency interference, after it occurred, through conventional collision detection, back off and retry approaches, wireless device 100 coordinates the operation of devices 104a and 104b to proactively reduce actual occurrence of interference. More specifically, under this embodiment, devices 104a and 104b are correspondingly notified of the filtering to be employed to correspondingly cancel the respective interfering signals, and when to apply the filtering. As will be described in more detail below, in one embodiment, the filtering to be employed is a notch filter inversely formed in accordance with the other devices' signal. As a result, the time consuming collision detection, back off and retries are also substantially reduced, and experience has shown that the overall operating efficiencies of both networks also improve. As illustrated in Fig. 10, at each predicted occurrence of interference, both devices 104a and 104b apply the corresponding required filtering to correspondingly cancel the respective interfering signals. As before, the basic operations of wireless device 100 remain substantially unchanged, except, wireless device 100 assumes the additional responsibilities of determining the pseudo random frequency hopping pattern of devices 104a, the interfering frequency, the corresponding filtering to be employed to cancel the respective interfering signals, and preemptively notifying devices 104a and 104b of the determined filtering as well as when to apply them. Referring now to Figs. 11a-11b, wherein the architecture and operational flow of wireless device 100 having these added responsibilities are shown. As illustrated in Fig. 11a, wireless device 100 is basically the embodiment earlier described referencing Fig. 9a. That is, wireless device 100 is also additionally provided with network manager 1104, except the additional responsibilities assumed by network manager 1104 to proactively reduce interference are slightly different. As illustrated in Fig. 11b, upon initialization, network manager 1104 monitors the operation of devices 104a and 104b for an observation period, and determines the pseudo random frequency hopping pattern followed by devices 104a, and the interfering frequency with devices 104b, 1112. This again may be accomplished using any one of a number of techniques known in the art. Next, network manager 1104 determines the corresponding filtering to be employed by devices 104a and 104b to correspondingly cancel their respective interfering signals of "the other devices", and provides the determined information to devices 104a and 104b, 1114. In one embodiment, as alluded to earlier, the corresponding filtering to be employed are notched filters inversely constructed in accordance with the other devices' signals (see Fig. 12). That is, devices 104a are to apply a notch filter, inversely formed in accordance with transmit signals of devices 104b, whereas, devices 104b are to apply a notch filter, inversely formed in accordance with transmit signals of devices 104a. [Notch filters in general are known in the art, and will not be further described.] Then, on an on going basis, network manager 1104, predicts when interference will occur, using the determined pseudo random pattern and interference frequency, 1116. Whenever, an interference is to occur, network manager 1104 preemptively notifies devices 104a and 104b to correspondingly apply their corresponding filtering, thereby allowing both devices 104a and 104b to operate without interference, 1118. The process continues, as long as there are wireless devices of both types 104a and 104b operating. [Likewise, the application of filtering by devices 104a may also be conditionally performed, only if the frequency is indeed the same as the interfering frequency.] As before, in one embodiment, network manager 1104 repeats the calibration periodically. In yet another embodiment, network manager 1104 monitors actual interference between devices 104a and 104b, and tracks the mean time between interference. Network manager 1104 repeats the calibration, whenever the tracked mean time between interference drops below certain given performance level. As those skill in the art will appreciate, the immediately described improved manner of operation may also be practiced with minimal change to devices 104a and 104a, by equipping both types of network devices with the ability to responsively apply notch filtering. [Likewise, devices 104a may be additionally provided with simple combinatorial logic to effectuate the conditional application of notch filtering.] Similar to the embodiments described with references to Figs. 8a-8b and 9a-9b, in yet other embodiments, in addition to notifying the devices of the required filtering at 1114, wireless device 100 provides the devices with a collision map, such that the devices can self determine whether interference is to occur, and the appropriate filtering to be applied. In other words, operation 1116 is distributed to the devices, and operation 1118 is eliminated. Referring now to back to Figure 1 , where the overview of wireless device 100 of the present invention is illustrated. In this embodiment, controller managers 106 in operating wireless device 100 additionally take into consideration quality of service criteria to be achieved for the respective protocol. In one embodiment, the at least one controller manager is equipped with logic to determine message types of first messages to be transmitted to a selected one or selected ones of the first network devices in accordance with the first protocol, and to give priority to the first messages over second messages to be transmitted to a selected one or selected ones of the second network devices in accordance with the second protocol, if message types of the first messages are determined of a multi-media type. In another embodiment, the at least one controller manager is equipped with logic to maintain a quality metric reflective of frequency of error for each voice stream, and to make its priority determination for messages competing to be transmitted to the first and second network devices in accordance with the first and second protocols in view of the quality metric maintained for each voice stream. Fig. 14 illustrates the essential operations of the operation flow of controller managers 106 for such embodiment, for taking into consideration quality of service criteria through quality metrics reflective of the frequency of error for each voice stream. As illustrated, at instantiation of each voice stream (or other data streams having like kind of "not to exceed" error rate threshold requirements), 1402, the controller managers establish and initialize a message transmitted counter for the voice stream being instantiated. Thereafter, for each message to be transmitted, the controller managers determine if the message is for a voice stream, 1404. If not, the message is handled in any one of a number of application dependent manner 1405. The exact manner is not relevant to the practice of the present invention. If it is message for a voice stream, the controller managers further determines if the message is in competition for priority with another message to be transmitted in accordance with the other protocol, 1406. If not, the message is transmitted, 1408. If the message is in competition for priority with another message to be transmitted in accordance with the other protocol, the controller managers further determine if at least m messages have been successfully transmitted consecutively for the voice stream, 1410. M is greater than 1/e, where e is an error percentage rate not to be exceeded. If not more than m messages have been successfully transmitted consecutively for the voice stream, priority is given to the message for the voice stream, and the message is transmitted, 1408. Upon transmission of a message for a voice stream, the controller managers increment the message transmitted counter corresponding to the voice stream, 1412. On the other hand, if at least m messages have been successfully transmitted consecutively for the voice stream, priority is given to the other message, allowing the message for the voice stream to be dropped, 1414. Upon dropping a message for a voice stream, the controller managers reset the message transmitted counter for the voice stream, 1416. In an alternate embodiment, operation 1410 is not merely performed with respect to a single successful consecutive transmission threshold. Instead, a more sophisticated approach involving the message type of the priority competing message and multiple successful consecutive transmission thresholds is employed. More specifically, the controller managers would determine if the priority competing message is of a first message type or a second message type. If it is of the first message type, than priority is given to the message of the voice stream unless at least ml messages for the voice stream have been successfully transmitted consecutively for the voice stream. If at least ml messages for the voice stream have been successfully transmitted consecutively for the voice stream, priority is given for the other message of the first message type. M1 is a first multiplier of 1/e1, where e1 is as earlier defined. However, if it is of the second message type, than priority is given to the message of the voice stream unless at least m2 messages for the voice stream have been successfully transmitted consecutively for the voice stream. If at least m2 messages for the voice stream have been successfully transmitted consecutively for the voice stream, priority is given for the other message of the second message type. M2 is a second multiplier of 1/e2, and greater than ml. In one embodiment, the first message type is "acknowledgement" message type, and the second message type is a data message type. In alternate embodiment, the present invention may also be practiced with more than two message categorizations and corresponding quality thresholds. Thus, it can be seen by employing increasing number of message categorizations and corresponding quality thresholds, transmits and receives of the respective protocols can be controlled with increased granularity. Referring now to Figure 13, wherein an overview of the present invention, in accordance with another embodiment, is shown. Similar to the embodiment of Fig. 1 , wireless device 100 is communicatively coupled to devices 104a and devices 104b of wireless networks 108a and 108b respectively. Wireless device 100 performs transmits and receives of the two protocols, in a coordinated manner, to allow wireless device 100 to operate with devices 104a and devices 104b of wireless network 108a and 108b in accordance with the respective protocols at the same time. However, unlike all the earlier described embodiments, wireless device 100 is provided with a single wireless transceiver 1302, which includes joint signal transmit/receive section 1303, and a number of transmit and receive signals up/down conversion sections 1205 sharing joint signal transmit/receive section 1303. Wireless device 100 further includes controller/signal processing (C/SP) section 1306 to process data for transmission by wireless transceiver 1302, to process signals received by wireless transceiver 1302, and to control the data/signal processing operations as well as the operation of wireless transceiver 1302. The constitution and operations of wireless device 100 is the subject of the second parent application, number 09/436,458, which is hereby fully incorporated by reference. Additionally, in some embodiments, wireless device 100 is endowed with a network manager equipped with the capabilities earlier described referencing Figs. 8a-8b and 9a-9b. In other embodiments, wireless device 100 is endowed with a network manager equipped with the capabilities earlier described referencing Figs. 10 and 11a-11b. In yet other embodiments, wireless device 100 is endowed with the capabilities earlier described referencing Figs. 15. In one words, the capabilities and methods of operations described referencing Figs 8a-8b and 9a-9b, Figs. 10 and 11a-11b, and Fig. 15, may be practiced with the multiple protocol wireless apparatus of the first parent application, number 09/408,725, or the multiple protocol wireless apparatus of the second parent application. Thus, a wireless device equipped to substantially operate currently with multiple wireless communication protocols, and various associated methods of operations, including taking into consideration quality of service, have been described. While the present invention has been described in terms of the above illustrated embodiments, those skilled in the art will recognize that the invention is not limited to the embodiments described. The present invention can be practiced with modification and alteration within the spirit and scope of the appended claims. The description is thus to be regarded as illustrative instead of restrictive on the present invention.

Claims: CLAIMS What is claimed is: 1. An apparatus comprising: at least one wireless transceiver to transmit and receive signals in accordance with a first and a second protocol to and from first and second network devices of a first and a second wireless network communicatively coupled to the apparatus; and at least one controller manager coupled to said at least one wireless transceiver to operate said at least one wireless transceiver to perform said transmits and receives in accordance with said first and second protocols in a coordinated manner, taking into consideration quality of service criteria to be achieved for the respective protocols. 2. The apparatus of claim 1, wherein said at least one controller manager is equipped with logic to determine message types of first messages to be transmitted to a selected one or selected ones of said first network devices in accordance with said first protocol, and to give priority to said first messages over second messages to be transmitted to a selected one or selected ones of said second network devices in accordance with said second protocol, if message types of said first messages are determined of a multi-media type. 3. The apparatus of claim 1, wherein said at least one controller manager is equipped with logic to maintain a quality metric reflective of frequency of error for each voice stream, and to make its priority determination for messages competing to be transmitted to said first and second network devices in accordance with said first and second protocols in view of said quality metric maintained for each voice stream. 4. The apparatus of claim 3, wherein said at least one controller manager is equipped with logic to increment a message transmitted counter corresponding to a voice stream whenever a message is transmitted for the voice stream, and not dropping a message of the voice stream until at least m messages have been successfully transmitted consecutively for the voice stream, where m is greater than 1/e, and e is an error percentage rate not to be exceeded. 5. The apparatus of claim 4, wherein said at least one controller manager is further equipped with logic to reset a message transmitted counter corresponding to a voice stream when a message of the voice stream is dropped after at least m messages have been successfully transmitted consecutively for the voice stream. 6. The apparatus of claim 3, wherein said at least one controller manager is equipped with logic to increment a message transmitted counter corresponding to a voice stream whenever a message is transmitted for the voice stream in accordance with said first protocol, and not dropping a message of the voice stream in favor of a message of a first message type to be transmitted in accordance with said second protocol until at least ml messages have been successfully transmitted consecutively for the voice stream, where ml is greater than a first multiple of 1/e, and e is an error percentage rate not to be exceeded. 7. The apparatus of claim 6, wherein said message of the first message type to be transmitted in accordance with said second protocol is an acknowledgement message. 8. The apparatus of claim 6, wherein said logic further not dropping a message of the voice stream in favor of a message of a second message type to be transmitted in accordance with said second protocol until at least m2 messages have been successfully transmitted consecutively for the voice stream, where m2 is greater than a second multiple of 1/e, which is greater than ml. 9. The apparatus of claim 8, wherein said message of the second message type to be transmitted in accordance with said second protocol is a data message. 10. The apparatus of claim 8, wherein said at least one controller manager is further equipped with logic to reset a message transmitted counter corresponding to a voice stream when a message of the voice stream is dropped after at least m1/m2 messages have been successfully transmitted consecutively for the voice stream. 11. The apparatus of claim 1, wherein the first and the second protocol are two protocols selected from a group consisting of Bluetooth, 802.11 frequency hopping, 802.11 direct sequence, 802.11a, 802.11b, and Home RF. 12. The apparatus of claim 1 , wherein the apparatus is a computer having a form factor selected from a group consisting of a desktop type, a notebook type and a palm sized type. 13. In an apparatus having at least one wireless transceiver and at least one controller manager; a method of operation comprising: controlling said at least one wireless transceiver to transmit and receive signals in accordance with a first protocol to and from first network devices of a first wireless network; and controlling said at least one wireless transceiver to transmit and receive signals in accordance with a second protocol to and from second network devices of a second wireless network; wherein both of said controlling are performed in a coordinated manner, including taking into consideration quality of service criteria to be achieved for the respective protocols. 14. The method of claim 13, said taking into consideration quality of service criteria to be achieved for the respective protocols comprises determining message types of first messages to be transmitted to a selected one or selected ones of said first network devices in accordance with said first protocol, and giving priority to said first messages over second messages to be transmitted to a selected one or selected ones of said second network devices in accordance with said second protocol, if message types of said first messages are determined of a multi-media type. 15. The method of claim 13, wherein said taking into consideration quality of service criteria to be achieved for the respective protocols comprises maintaining a quality metric reflective of frequency of error for each voice stream, and making priority determination for messages competing to be transmitted to said first and second network devices in accordance with said first and second protocols in view of said quality metric maintained for each voice stream. 16. The method of claim 15, wherein said taking into consideration quality of service criteria to be achieved for the respective protocols comprises incrementing a message transmitted counter corresponding to a voice stream whenever a message is transmitted for the voice stream, and not dropping a message of the voice stream until at least m messages have been successfully transmitted consecutively for the voice stream, where m is greater than 1/e, and e is an error percentage rate not to be exceeded. 17. The method of claim 16, wherein said taking into consideration quality of service criteria to be achieved for the respective protocols comprises resetting a message transmitted counter corresponding to a voice stream when a message of the voice stream is dropped after at least m messages have been successfully transmitted consecutively for the voice stream. 18. The method of claim 15, wherein said taking into consideration quality of service criteria to be achieved for the respective protocols comprises incrementing a message transmitted counter corresponding to a voice stream whenever a message is transmitted for the voice stream in accordance with said first protocol, and not dropping a message of the voice stream in favor of a message of a first message type to be transmitted in accordance with said second protocol until at least ml messages have been successfully transmitted consecutively for the voice stream, where ml is greater than a first multiple of 1/e, and e is an error percentage rate not to be exceeded. 19. The method of claim 18, wherein said message of the first message type to be transmitted in accordance with said second protocol is an acknowledgement message. 20. The method of claim 18, wherein said taking into consideration quality of service criteria to be achieved for the respective protocols further comprises not dropping a message of the voice stream in favor of a message of a second message type to be transmitted in accordance with said second protocol until at least m2 messages have been successfully transmitted consecutively for the voice stream, where m2 is greater than a second multiple of 1/e, which is greater than ml. 21. The method of claim 20, wherein said message of the second message type to be transmitted in accordance with said second protocol is a data message. 22. The method of claim 20, wherein said taking into consideration quality of service criteria to be achieved for the respective protocols further comprises resetting a message transmitted counter corresponding to a voice stream when a message of the voice stream is dropped after at least m1/m2 messages have been successfully transmitted consecutively for the voice stream. 23. A collection of networked apparatuses comprising: a first plurality of apparatuses wirelessly networked together, with each apparatus being equipped to communicate wirelessly in accordance with a first protocol; a second plurality of apparatuses wirelessly networked together, with each apparatus being equipped to communicate wirelessly in accordance with a second protocol; and a multi-protocol apparatus equipped to communicate wirelessly with said first and second plurality of apparatuses in accordance with said first and second protocols respectively, in a coordinated manner, including having been equipped to take into consideration quality of service criteria to be achieved for the respective protocols.. 24. The apparatuses of claim 23, wherein said multi-protocol apparatus is equipped with logic to determine message types of first messages to be transmitted to a selected one or selected ones of said first network devices in accordance with said first protocol, and to give priority to said first messages over second messages to be transmitted to a selected one or selected ones of said second network devices in accordance with said second protocol, if message types of said first messages are determined of a multi-media type. 25. The apparatuses of claim 23, wherein said multi-protocol apparatus is equipped with logic to maintain a quality metric reflective of frequency of error for each voice stream, and to make its priority determination for messages competing to be transmitted to said first and second network devices in accordance with said first and second protocols in view of said quality metric maintained for each voice stream. 26. The apparatuses of claim 25, wherein said multi-protocol apparatus is equipped with logic to increment a message transmitted counter corresponding to a voice stream whenever a message is transmitted for the voice stream, and not dropping a message of the voice stream until at least m messages have been successfully transmitted consecutively for the voice stream, where m is greater than 1/e, and e is an error percentage rate not to be exceeded. 27. The apparatuses of claim 26, wherein said multi-protocol apparatus is further equipped with logic to reset a message transmitted counter corresponding to a voice stream when a message of the voice stream is dropped after at least m messages have been successfully transmitted consecutively for the voice stream. 28. The apparatuses of claim 25, wherein said multi-protocol apparatus is equipped with logic to increment a message transmitted counter corresponding to a voice stream whenever a message is transmitted for the voice stream in accordance with said first protocol, and not dropping a message of the voice stream in favor of a message of a first message type to be transmitted in accordance with said second protocol until at least ml messages have been successfully transmitted consecutively for the voice stream, where ml is greater than a first multiple of 1/e, and e is an error percentage rate not to be exceeded. 29. The apparatuses of claim 28, wherein said message of the first message type to be transmitted in accordance with said second protocol is an acknowledgement message. 30. The apparatuses of claim 28, wherein said logic further not dropping a message of the voice stream in favor of a message of a second message type to be transmitted in accordance with said second protocol until at least m2 messages have been successfully transmitted consecutively for the voice stream, where m2 is greater than a second multiple of 1/e, which is greater than ml. 31. The apparatuses of claim 30, wherein said message of the second message type to be transmitted in accordance with said second protocol is a data message. 32. The apparatuses of claim 30, wherein said multi-protocol apparatus is further equipped with logic to reset a message transmitted counter corresponding to a voice stream when a message of the voice stream is dropped after at least m1/m2 messages have been successfully transmitted consecutively for the voice stream.

Inventors: NEVO RON, ZHAO XUDONG, NEVO, RON, ZHAO, XUDONG
Applicants: MOBILIAN CORP, NEVO RON, ZHAO XUDONG, MOBILIAN CORPORATION, NEVO, RON, ZHAO, XUDONG
Application year: 2000
Main classification: H04L12
IPC codes: H04J13, H04L12, H04L29, H04W28, H04W48, H04W76, H04W80, H04W88