TECHNIQUES FOR MANAGEMENT OF SHARED RESOURCES IN WIRELESS
MULTI-COMMUNICATION DEVICES
BACKGROUND
As wireless communication technology evolves and improves, different wireless communication technologies must coexist in a given platform. As different wireless communication technologies may have benefits and superior performance in a particular usage scenario, it is advantageous to enable multiple wireless communication technologies to be used for a particular device. Further, different wireless comms (also referred to herein as wireless communications) might share some of the hardware components on the device (such radio, antennas etc). Sharing hardware components might limit the usage of the device in a way that at a given time only one of the wireless comms can use the hardware to transmit or receive.
Thus, it would be advantageous to improve the ability for wireless devices and apparatus to share hardware components when multiple communication technologies coexist.
BRIEF DESCRIPTION OF THE DRAWINGS
The subject matter regarded as the invention is particularly pointed out and distinctly claimed in the concluding portion of the specification. The invention, however, both as to organization and method of operation, together with objects, features, and advantages thereof, may best be understood by reference to the following detailed description when read with the accompanying drawings in which:
FIG. 1 illustrates an example of a WiFi-WiMAX combo device with distributed management utility of an embodiment of the present invention;
FIG. 2 shows a typical WiFi scan while WiMAX is idle; and FIG. 3 depicts an example of the implementation of a WiFi scan while WiMAX is idle of an embodiment of the present invention.
It will be appreciated that for simplicity and clarity of illustration, elements illustrated in the figures have not necessarily been drawn to scale. For example, the dimensions of some of the elements are exaggerated relative to other elements for clarity. Further, where considered appropriate, reference numerals have been repeated among the figures to indicate corresponding or analogous elements.
DETAILED DESCRIPTION
In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the invention. However, it will be understood by those skilled in the art that the present invention may be practiced without these specific details. In other instances, well-known methods, procedures, components and circuits have not been described in detail so as not to obscure the present invention.
Embodiments of the invention may be used in a variety of applications. Some embodiments of the invention may be used in conjunction with various devices and systems, for example, a transmitter, a receiver, a transceiver, a transmitter-receiver, a wireless communication station, a wireless communication device, a wireless Access Point (AP), a modem, a wireless modem, a Personal Computer (PC), a desktop computer, a mobile computer, a laptop computer, a notebook computer, a tablet computer, a server computer, a handheld computer, a handheld device, a Personal Digital Assistant (PDA) device or a handheld PDA device. Although embodiments of the invention are not limited in this regard, discussions utilizing terms such as, for example, "processing," "computing," "calculating," "determining," "establishing", "analyzing", "checking", or the like, may refer to operation(s) and/or process(es) of a computer, a computing platform, a computing system, or other electronic computing device, that manipulate and/or transform data represented as physical (e.g., electronic) quantities within the computer's registers and/or memories into other data similarly represented as physical quantities within the computer's registers and/or memories or other information storage medium that may store instructions to perform operations and/or processes.
Although embodiments of the invention are not limited in this regard, the terms "plurality" and "a plurality" as used herein may include, for example, "multiple" or "two or more". The terms "plurality" or "a plurality" may be used throughout the specification to describe two or more components, devices, elements, units, parameters, or the like. For example, "a plurality of stations" may include two or more stations.
A wireless multicomm device as described herein may be a network adapter that combines more then one wireless technology (each wireless technology may be referred as a "comm"). The different wireless comms might share some of the hardware components on the device (such radio, antennas etc) - it is understood that this list is not exhaustive of
the hardware components that may be shared. Sharing hardware components might limit the usage of the device in a way that at a given time only one of the wireless comms can use the hardware to transmit or receive.
As used herein, in an embodiment of the present invention, the term "multicomm device" also may provide a wireless-multicomm device with shared hardware (HW) that limits the access to the air to one comm only at a given time.
Looking now at FIG. 1, shown generally as 100, is an example of WiFi-WiMAX combo device with a distributed management utility. Software (SW) stack 105 may be interfaced with network interface controller (NIC) 110 via USB or PCI-E bus. The NIC may be in communication with antenna switch 160, antenna 1 165, antenna 2 170 and antenna 3 175.
SW stack 105 may include WiFi application 115 in communication with WiFi driver 130 and WiMAX application 120 in communication with WiMAX driver 135 via OS - network TCP/IP stack 125. A NIC of an embodiment of the present invention may include WiFi-M 140 in communication with WiFi driver 130 via PCI-E and further in communication with WiFi-R 150 on said NIC. WiFi-M 140 may further be in communication with WiMax-M via UART (it is understood that the present invention is not limited in this respect) which may be in communication with WiMAX driver 135 via USB. WiMAX-M 145 on NIC 110 may also be in communication with WiMAX-R 155 with antenna control existing therebetween, which may be in direct communication with antenna switch 160 - again, it is understood that the present invention is not limited to this architecture.
Turning now to 200 of FIG. 2 is a depiction of a typical WiFi scan 220 while WiMAX is idle 210. Embodiments of the present invention provide a method to manage the shared resources on multicomm device. The method may include:
1. The comm that owns the shared resources is defined as primary comm (comm-1). The primary comm allow other comms (secondary comms) to use these resources when it is in an Idle-State 210. As used herein, but not limited in this respect, Idle is a state where the associated comm does not need the shared resources in order to maintain its association. It may be, but is not limited to, a state that is defined by a wireless standard such as WiMAX-IdIe 210, or WiFi Power Save 215 and 225. In FIG. 2,
WiMAX unassociated is shown at 207, WiFi unassociated is shown at 230. Further, WiMAX inactive is shown at 245, WiFi active is depicted at 235 and WiFi inactive at 240.
2. The secondary comms may use the shared resources, for example scanning 220 while idle, calibration while idle etc. 3. When the primary comm owner returns from Idle to active state (for example it needs the resources to maintain its association) it claims ownership of the resources. The secondary comms release the shared resources which at 205 depicts RF switch = WiFi.
Turning now to FIG. 3, generally depicted as 300, is an example of an implementation of a WiFi scan 370 while WiMAX idle 315 of an embodiment of the present invention.
The "Scan while idle" flow is intended for the WiFi to take advantage of the WiMAX idle time, for the WiFi to scan for available networks. From that scan, provide the application layer with the available scan list, allow the application to apply a WiFi profile and then from that create a WiFi connection (note that this will cause the WiMAX to break its connection). An embodiment of the present invention may provide the following flow:
1. WiMAX- idle associated 315. WiMAX before going to idle - switched radio to WiFi 310 and sends message "WiMAX=INACTIVE, priority =idle" to WiFi. WiMAX active is shown at 335 with Switch radio to WiFi at 310 with message to WiFi of "WiMAX = Inactive Priority = associated idle" at 340. Wake up scan is shown at 365.
2. WiFi is unassociated (also idle) 380. WiFi CM decides that it wants to scan for available WiFi networks and sends request to WiFi driver. The driver also maintains an internal un-associated scan schedule. The WiFi driver sends scan request, WiFi = active, Priority = unassociated scan" sent at 345 to comm.
3. Driver distinguishes between manual scan, and background scan. The Driver indicates scan priority in the scan request command sent to the comm.
4. Comm wakes up 320 for the scan request and indicates priority of unassociated scan according to the scan request type. Comm shall request the RF with {priority, active} tuple.
5. Comm performs priority resolution, and checks whether it is entitled to the radio ownership 365:
a. If the radio is owned by the WiFi, then the WiFi immediately starts scanning procedure. b. If the radio is owned by WiMAX, and the WiMAX priority is higher then the WiFi, then the WiFi shall refrain from starting the scanning procedure, and shall indicate a scan abort indication to the Driver 385: "WiFi = inactive, Priority = unassociated idle" 355. Switch radio is shown at 325 and receive/transmit at 330. c. If the radio is owned by WiMAX, and the WiMAX priority is lower then the WiFi priority, then the WiFi shall wait for the WiMAX priority resolution to complete, and for the WiMAX to release the radio 350. Note that the WiFi shall have a timeout of a few hundreds of msec for the WiMAX to release the RF.
6. After WiFi has started the scanning it may be interrupted by the WiMAX listen action when it wakes up as part of the WiMAX idle associated state. a. The WiMAX shall send a {priority, active} tuple, and shall perform priority resolution. The WiFi shall also perform priority resolution after the coexistence database was updated with the WiMAX tuple. Note that the WiMAX shall need to wakeup ~150us prior to the actual planned wakeup time, in order to perform the priority resolution, and allow WiFi to abort the scanning operation. b. If the priority resolution indicates, WiFi needs to maintain ownership over the radio, the WiMAX shall abort its wakeup 320 procedure. c. If the priority resolution indicates WiMAX, the WiFi shall abort its scanning procedure 385, and indicate to the Driver scan aborted indication remain idle as shown at 375. Note that the next scan request from the driver shall resume from the last channel the WiFi has completed scanning successfully.
Implementing the algorithm of embodiments of the present invention will allow a user to detect wireless networks on one wireless comm, while associated to different wireless network via other comm, without breaking its association. For example if she is connected to WiMAX network and comes to office, this method will allow the multicomm device to scan the WiFi office network, w/o disassociating WiMAX, and only if such a network is found, offer the user to switch to WiFi. In contrast, multicomm devices that do not implement the present invention, will force the user to disconnect from the associated network if he/she wants to search for other networks on the other comm.
While certain features of the invention have been illustrated and described herein, many modifications, substitutions, changes, and equivalents will now occur to those skilled in the art. It is, therefore, to be understood that the appended claims are intended to cover all such modifications and changes as fall within the true spirit of the invention.