# Patent

## Title
Techniques for management of shared resources in wireless multi-communication devices

## Abstract

An embodiment of the present invention provides an apparatus, comprising a network adapter configured for wireless communication using more than one technology, and wherein the network adapter is configured to share a plurality of shared hardware components by limiting access to the air to one comm only at given time by designating one comm that owns the shared hardware components as a primary comm and all other comms are secondary comms, wherein the primary comm allows the secondary comms to use the shared hardware components when it is in an idle-state but when the primary comm returns from the idle state, it claims ownership of the shared resources and the secondary comms release the shared resources.

## Background
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-Idle 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  ̃150 us 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.

## Claims

1. An apparatus, comprising:
a network adapter configured for wireless communication using at least a primary wireless technology and a secondary wireless technology; and
wherein said network adapter is configured to share a plurality of shared hardware components by limiting access to a wireless medium to a first wireless technology only at given time by designating the first wireless technology that owns the shared hardware components as the primary wireless technology and all other wireless technologies are the secondary wireless technologies, wherein said primary wireless technology allows said secondary wireless technologies to use said shared hardware components when the primary wireless technology is in an idle-state but when said primary wireless technology returns from said idle state, the primary wireless technology claims ownership of said shared resources and said secondary wireless technologies release said shared resources, wherein the secondary wireless technologies are arranged to scan for available networks operating using the secondary wireless technologies during the idle state of the primary wireless technology,
wherein said primary wireless technology includes a WiMAX wireless technology and said secondary wireless technology includes a WiFi wireless technology, and
wherein said WiFi wireless technology uses WiMAX idle time for said WiFi wireless technology to scan for available networks, and thereafter provide an application layer with the available scan list and allows applications to apply a WiFi profile to thereby create a WiFi connection without causing said WiMAX wireless technology to break a connection thereof.

2. The apparatus of claim 1, wherein said idle-state is a state where a wireless technology does not need the shared resources in order to maintain its association.

3. The apparatus of claim 1, wherein when said WiMAX wireless technology is associated during its idle-state, before going to idle said WiMAX wireless technology sends a message “WiMAX=INACTIVE, priority=idle” to said WiFi wireless technology.

4. The apparatus of claim 1, wherein when said WiFi wireless technology is unassociated and the WiFi wireless technology decides that the WiFi wireless technology wants to scan for available WiFi networks, the WiFi wireless technology sends a request to an associated WiFi driver which maintains an internal un-associated scan schedule and said WiFi wireless technology wakes up for said scan request and indicates priority of unassociated scan, according to the scan request type.

5. The apparatus of claim 4, wherein said network adapter performs priority resolution and checks whether each is entitled for radio ownership and after said WiFi wireless technology has started scanning, the WiFi wireless technology may be interrupted by a WiMAX listen action when the WiFi wireless technology wakes up as part of the WiMAX idle associated state.

6. An method, comprising:
configuring a network adapter for wireless communication using at least a primary wireless technology and a secondary wireless technology; and
configuring said network adapter to share a plurality of shared hardware components by limiting access to a wireless medium to one wireless technology only at given time by designating one wireless technology that owns the shared hardware components as the a primary wireless technology and all other wireless technologies are the secondary wireless technologies, wherein said primary wireless technology allows said secondary wireless technologies to use said shared hardware components when the primary wireless technology is in an idle-state but when said primary wireless technology returns from said idle state, the primary wireless technology claims ownership of said shared resources and said secondary wireless technologies release said shared resources, wherein the secondary wireless technologies are arranged to scan for available networks operating using the secondary wireless technologies during the idle state of the primary wireless technology,
wherein said primary wireless technology includes a WiMAX wireless technology and said secondary wireless technology includes a WiFi wireless technology, and
wherein said WiFi wireless technology uses WiMAX idle time for said WiFi wireless technology to scan for available networks, and thereafter provide an application layer with the available scan list and allows applications to apply a WiFi profile to thereby create a WiFi connection without causing said WiMAX wireless technology to break a connection thereof.

7. The method of claim 6, wherein said idle-state is a state where a wireless technology does not need the shared resources in order to maintain its association.

8. The method of claim 6, further comprising associating said WiMAX wireless technology during its idle-state and before going to idle said WiMAX wireless technology sending a message “WiMAX=INACTIVE, priority=idle” to said WiFi wireless technology.

9. The method of claim 6, wherein when said WiFi wireless technology is unassociated and the WiFi wireless technology decides that the WiFi wireless technology wants to scan for available WiFi networks, the WiFi wireless technology sends a request to an associated WiFi driver which maintains an internal un-associated scan schedule and said WiFi wireless technology wakes up for said scan request and indicates priority of unassociated scan, according to the scan request type.

10. The method of claim 9, further comprising performing priority resolution and checking whether each is entitled for radio ownership by said network adapter and after said WiFi wireless technology has started scanning, the WiFi wireless technology may be interrupted by a WiMAX listen action when the WiFi wireless technology wakes up as part of the WiMAX idle associated state.

11. An article comprising a storage medium having stored thereon instructions, that, when executed by a computing platform, results in configuring a network adapter for wireless communication using at least a primary wireless technology and a secondary wireless technology; and
configuring said network adapter to share a plurality of shared hardware components by limiting access to a wireless medium to one wireless technology only at given time by designating one wireless technology that owns the shared hardware components as the a primary wireless technology and all other wireless technologies are the secondary wireless technologies, wherein said primary wireless technology allows said secondary wireless technologies to use said shared hardware components when the primary wireless technology is in an idle-state but when said primary wireless technology returns from said idle state, the primary wireless technology claims ownership of said shared resources and said secondary wireless technologies release said shared resources, wherein the secondary wireless technologies are arranged to scan for available networks operating using the secondary wireless technologies during the idle state of the primary wireless technology,
wherein said primary wireless technology includes a WiMAX wireless technology and said secondary wireless technology includes a WiFi wireless technology, and
wherein said WiFi wireless technology uses WiMAX idle time for said WiFi wireless technology to scan for available networks, and thereafter provide an application layer with the available scan list and allows applications to apply a WiFi profile to thereby create a WiFi connection without causing said WiMAX wireless technology to break a connection thereof.

12. The article of claim 11, wherein said idle-state is a state where a wireless technology does not need the shared resources in order to maintain its association.

13. The article of claim 11, comprising further instructions that when executed further comprise associating said WiMAX wireless technology during its idle-state and before going to idle said WiMAX wireless technology sending a message “WiMAX=INACTIVE, priority=idle” to said WiFi wireless technology.

14. The article of claim 11, wherein when said WiFi wireless technology is unassociated and the WiFi wireless technology decides that the WiFi wireless technology wants to scan for available WiFi networks, the WiFi wireless technology sends a request to an associated WiFi driver which maintains an internal un-associated scan schedule and said WiFi wireless technology wakes up for said scan request and indicates priority of unassociated scan, according to the scan request type.

15. The article of claim 14, comprising further instructions that when executed further comprise performing priority resolution and checking whether each is entitled for radio ownership by said network adapter and after said WiFi wireless technology has started scanning, the WiFi wireless technology may be interrupted by a WiMAX listen action when the WiMAX wireless technology wakes up as part of the WiMAX idle associated state.