Wimax communication through wi-fi emulation
Claim Score by NHIP
Abstract
A computer system with a software framework for supporting Wi-Fi communications that is used for WiMAX communications in a user friendly way. A Wi-Fi emulation component presents a driver interface to the framework that allows Wi-Fi user interfaces and control functions to operate with a WiMAX network card. Functions of the WiMAX card not supported through the framework may be translated within the emulation component to command objects that are passed by the framework to extensibility components. The extensibility components may be supplied in association with the network interface card. The emulation component also presents an interface to a driver for a WiMAX network interface card in a form that may interface directly with the framework, if the framework is modified to support WiMAX communications.

Term
Projected expiry 13 February 2028.
- Priority and filed
- Published
- Today
- Projected expiry
20 claims: 3 independent, 17 dependent
- 1A computer storage media having a plurality of computer-executable components that, when executed on a computer, comprise:a framework for interfacing to a driver for a wireless network card operating according to a first wireless technology;a driver for controlling a wireless network card operating according to a second wireless technology;and an interface between the framework and the driver for controlling a wireless network card operating according to a second wireless technology, the interface for converting status and command information between a format used by the framework for the first wireless technology and a format used by the wireless network card operating according to the second wireless technology.
- 10A kit comprising:a wireless network interface card adapted for communication according to the WiMAX protocol;computer storage media encoded with computer executable components comprising: a driver adapted to interface to the network interface card, the driver having an NDIS interface;an extensibility component adapted to perform at least one function associated with wireless communication using the WiMAX protocol that is not performed by a standard Wi-Fi network interface;and an emulator component, adapted to translate between command objects processed by a Wi-Fi network interface and command objects processed by the driver and to format command objects from the driver for execution by the extensibility component.
- 14Broadest claimClaim Score 69, broad(NHIP)A method of operating a computer having a framework for supporting communication according to a first wireless technology according to a second wireless technology, the method comprising:receiving a first command object in a format for execution by a network interface operating according to a first wireless technology;mapping the first command object to a second command object;and applying the second command object to a wireless network interface operating according a second wireless technology.
Independent claims3
129 paragraphs in 4 sections, as filed
BACKGROUND
p-0002Wireless communication provides significant flexibility to computer users. By communicating wirelessly, computer users may simply create a network or may have network connectivity as they move their computers from place to place. As a result, the number of computers with hardware to support wireless communication has significantly increased. In many instances, the hardware supports communication according to the Wi-Fi standard.
p-0003Many computers are configured with a software framework that supports Wi-Fi communication. The framework provides user interfaces and performs other functions associated with controlling or providing status associated with Wi-Fi communications. For example, the framework may collect information about Wi-Fi networks operating in the vicinity of the computer and present a user interface that allows a user to select a network to which the computer will connect.
p-0004Protocols for wireless communications, other than Wi-Fi, are known. One example of such a protocol is WiMAX, and wireless network cards that allow computers to communicate according to the WiMAX standard are commercially available. Driver software, which controls a network card, may be supplied with these cards. However, many computers do not contain software designed to interface with WiMAX drivers. Rather, software within the computer interacts with the driver software associated with these cards as if it were driver software for a traditional Ethernet network interface card. Thus, even a computer not specifically constructed to support WiMAX communication can communicate according to this standard.
SUMMARY OF INVENTION
p-0005To improve a user experience associated with use of a new wireless technology, particularly on a computer containing software not specifically configured to support the new wireless technology, an emulator is provided so that components of the computer designed to support communication using a first wireless technology may be used with a second wireless technology. As a result, user interfaces, and other components that generate or receive status or control information associated with the first wireless technology may perform comparable functions when the second wireless technology is in use.
p-0006Operation of the emulator may be different for different commands. Some commands that either control or request status from a network card may be compatible with network cards operating according to either the first or second wireless technologies. The emulator may transfer these commands without significant change. In other instances, wireless network cards operating according to both the first and second wireless technologies may perform analogous functions but perform the function in response to commands of different formats. In these instances, the emulator may map a command and/or parameters associated with a command from a form suitable for one of the wireless technologies to a form suitable for the other. In yet other circumstances, wireless communication according to the second technology may involve functions not supported by the framework. Such functions may be supported by extensibility components and the emulator may identify and route commands to the extensibility components.
p-0007The foregoing is a non-limiting summary of the invention, which is defined by the attached claims.
BRIEF DESCRIPTION OF DRAWINGS
p-0008The accompanying drawings are not intended to be drawn to scale. In the drawings, each identical or nearly identical component that is illustrated in various figures is represented by a like numeral. For purposes of clarity, not every component may be labeled in every drawing. In the drawings:
p-0009<figref idrefs="DRAWINGS">FIG. 1</figref> is a sketch of an operating environment containing a computer according to an embodiment of the invention;
p-0010<figref idrefs="DRAWINGS">FIG. 2</figref> is a block diagram showing selected components of a computer according to an embodiment of the invention;
p-0011<figref idrefs="DRAWINGS">FIG. 3</figref> is a flow chart of a process performed in an emulator component according to an embodiment of the invention;
p-0012<figref idrefs="DRAWINGS">FIG. 4</figref> is a sketch of data structures that may be used by an emulator component when performing a mapping according to embodiments of the invention;
p-0013<figref idrefs="DRAWINGS">FIG. 5</figref> is a sketch of a user interface according to embodiments of the invention;
p-0014<figref idrefs="DRAWINGS">FIGS. 6A</figref> . . . <b>6</b>E are sketches of user interfaces according to embodiments of the invention; and
p-0015<figref idrefs="DRAWINGS">FIG. 7</figref> is a sketch of a kit containing a network interface card and software components according to an embodiment of the invention.
DETAILED DESCRIPTION
p-0016The inventors have appreciated that an experience for a user of a computer communicating according to a wireless technology could be improved when the computer is not designed to support communication according to that wireless technology. By adapting a framework developed for a first wireless technology for use in support of a second wireless technology, status and control information presented to the user will be more meaningful than in accordance with the prior art in which unsupported wireless network types were emulated as basic wired networks.
p-0017With this framework, tools or services that provide a desirable user experience for wireless communication may be made available to the user, even though not specifically developed for the second wireless technology. In addition, by using extensibility features of the framework, functions associated with the second wireless technology for which there is no analog in the tools and services of the framework can be implemented through extensibility components.
p-0018For example, a wireless networking service that reports network location that was developed for the first wireless technology may function as intended even if the computer is connected to a network implemented with the second wireless technology. Similarly, wireless security components developed for the first wireless technology may be used for communication in accordance with the second wireless technology. Though, if the second wireless technology uses a security protocol not supported by the framework, operation according to that security protocol may be provided through an extensibility component.
p-0019As another example, network information for wireless networks according to either the first or second wireless technology may be presented in a consistent fashion. Networks communicating according to both the first and second wireless technologies may appear in a single list of available wireless networks. User interface components, such as those that report to the user that a wireless network is available or in range may also be used. As a further example, tools that provide statistics or other information meaningful for wireless communication may also be available for communications according to the second wireless technology.
p-0020As a specific example, such a framework could be used to allow a computer containing tools and services designed to support Wi-Fi communications to support WiMAX communications.
p-0021In some embodiments, an Independent Hardware Vendor (IHV) may provide a wireless network card, including driver software, that supports communication in accordance with the second protocol. To enable the IHV to provide functionality in addition to that provided in an operating system to support communication according to the first wireless protocol, the IHV or an Independent Software Vendor (ISV) may provide an extensibility component that can be accessed through an extensibility point of the framework. Through this extensibility point, a driver for the wireless network card may interact with additional software components provided separate from the framework to provide functions in connection with communications using the second wireless technology.
p-0022<figref idrefs="DRAWINGS">FIG. 1</figref> illustrates an environment in which a computer configured according to embodiments of the invention may be used. In the example of <figref idrefs="DRAWINGS">FIG. 1</figref>, a user <b>112</b> of computer <b>110</b> may wish to use computer <b>110</b> to access one or more devices over a network. In the example illustrated, user <b>112</b> may access server <b>150</b>, which is connected to network <b>120</b>. Server <b>150</b> may represent any type of computing equipment that user <b>112</b> may wish to access, such as a file server or a web server. Likewise, network <b>120</b> may be any suitable network that may connect computer <b>110</b> with server <b>150</b> or any other suitable device.
p-0023In the embodiment illustrated, computer <b>110</b> may be connected to network <b>120</b> through a wired connection <b>124</b>. Such a connection may be made using a network interface card within computer <b>110</b> that is configured to receive a cable connected to a router (not shown) or other access control device associated with network <b>120</b>. Communications over wired connection <b>124</b> may be in accordance with the Ethernet protocol or any other suitable protocol.
p-0024Alternatively or additionally, computer <b>110</b> may be configured with a wireless network interface card, allowing computer <b>110</b> to access a network, such as network <b>120</b>, using a wireless technology. In the example illustrated, wireless access to network <b>120</b> is provided through access point <b>122</b>. To establish a wireless connection, access point <b>122</b> communicates according to the same wireless technology as the wireless network interface card installed within computer <b>110</b>.
p-0025In this example, access point <b>122</b> may communicate according to the WiMAX standard. Likewise, a network interface card within computer <b>110</b> may configured to communicate according to WiMAX. However, in the embodiment illustrated computer <b>110</b> has an operating system that does not contain components constructed to support WiMAX communication. Rather, computer <b>110</b> includes a framework to support Wi-Fi wireless communications.
p-0026In accordance with the prior art, computer <b>110</b> could be configured to emulate wireless communications using components used for basic wired communication over wired connection <b>124</b>. However, a more desirable user experience may be provided to user <b>112</b> by configuring computer <b>110</b> to implement a wireless connection to access point <b>122</b> using the framework provided within the operating system of computer <b>110</b> for Wi-Fi communication.
p-0027<figref idrefs="DRAWINGS">FIG. 2</figref> illustrates components of computer <b>110</b>, which may contain a Wi-Fi framework that is used to support communications according to the WiMAX standard. The architecture illustrated in <figref idrefs="DRAWINGS">FIG. 2</figref> is segmented into a hardware mode <b>210</b>, a kernel mode <b>230</b> and a user mode <b>260</b>. In the example illustrated, components within hardware mode <b>210</b> are implemented as hardware components. Components within kernel mode <b>230</b> are software components implemented as part of an operating system for a computer. Components within user mode <b>260</b> are also software components that may be provided as part of the operating system. However, the software components within user mode <b>260</b> interface with the underlying hardware of a computer through components in kernel mode <b>230</b>.
p-0028<figref idrefs="DRAWINGS">FIG. 2</figref> provides an example embodiment only. It is not necessary that software components be separated into a kernel mode and a user mode as illustrated. Further, it is not necessary that components illustrated as being implemented in software be implemented in software or only in software. Some or all of the components could be implemented as programmable logic devices or other suitable hardware components. Similarly, some or all or the functions of components illustrated as being implemented in hardware could alternatively be implemented in software. For example, some or all of the functions performed by WiMAX card <b>212</b> or Wi-Fi card <b>214</b> could be implemented as part of a software defined radio.
p-0029Regardless of a specific implementation of the components, <figref idrefs="DRAWINGS">FIG. 2</figref> illustrates that an architecture developed to support communications according to a first wireless technology, such as Wi-Fi, may also be used to support communications according to a second wireless technology, such as WiMAX.
p-0030<figref idrefs="DRAWINGS">FIG. 2</figref> shows Wi-Fi card <b>214</b>, which sends and receives radio signals according to the Wi-Fi standard. Wi-Fi card <b>214</b> may be a printed circuit board containing a radio and other circuitry that plugs into a bus (not shown) within computer <b>110</b>. However, a “card” could be implemented in any suitable way. For example, the radio and other components could be mounted on a mother board or other assembly within computer <b>110</b>. Further, Wi-Fi card <b>214</b> could be implemented by configuring a software defined radio or other configurable component to transmit and/or receive radio frequency signals according to the Wi-Fi standard. Accordingly, the specific implementation of Wi-Fi card <b>214</b> is not a limitation of the invention.
p-0031Regardless of how Wi-Fi card <b>214</b> is implemented, an interface to Wi-Fi card <b>214</b> is provided by Wi-Fi miniport driver <b>236</b>. Wi-Fi miniport driver <b>236</b> may be a software component implemented as is known in the art. Driver <b>236</b> may receive commands specifying either the configuration or operations to be performed by Wi-Fi card <b>214</b>. In response, Wi-Fi miniport driver <b>236</b> will generate the appropriate control signals to the underlying hardware of Wi-Fi card <b>214</b>. Wi-Fi miniport driver <b>236</b> also may receive status information from Wi-Fi card <b>214</b>. The status information may relate to Wi-Fi card <b>214</b> or operating conditions experienced by Wi-Fi card <b>214</b>. Additionally, Wi-Fi miniport driver <b>236</b> may receive data for transmission. In response, Wi-Fi miniport driver <b>236</b> will provide the data to Wi-Fi card <b>214</b> in a format for transmission according to the Wi-Fi standard. Conversely, Wi-Fi miniport driver <b>236</b> may obtain from Wi-Fi card <b>214</b> data that has been received wirelessly.
p-0032Wi-Fi miniport driver <b>236</b> contains an interface or interfaces through which commands and status information as well as data for transmission or reception may be passed. The interface allows Wi-Fi miniport driver <b>236</b> to interact with other components in computer <b>110</b>. In the embodiment illustrated, Wi-Fi miniport driver <b>236</b> includes a standardized driver interface. As a specific example, Wi-Fi miniport driver <b>236</b> may be configured to communicate according to the NDIS standard, illustrated in <figref idrefs="DRAWINGS">FIG. 2</figref> by NDIS component <b>242</b>. The NDIS standard allows command and status information to be exchanged as objects, referred to as OIDs. Each OID may be associated with a command that specifies a function or a type of status information. An OID may have an identifier, identifying the specific function or type of status information being conveyed by the OID, and may include one or more parameters relating to a function or a specific type of status associated with the OID. However, the specific form of interface supported by Wi-Fi miniport driver <b>236</b> is not critical to the invention and any suitable interface may be used.
p-0033In the example of <figref idrefs="DRAWINGS">FIG. 2</figref>, Wi-Fi miniport driver <b>236</b> interfaces with other software components within computer <b>110</b> through a Wi-Fi filter driver <b>238</b>. Filter driver <b>238</b> also includes a standard interface, such as an NDIS interface, to allow it to easily interface with other components in computer <b>110</b>. In this example, filter driver <b>238</b> may perform networking functions associated with the control of a network interface that are not unique to a specific Wi-Fi card, such as card <b>214</b>. By implementing some functions in filter driver <b>238</b>, the same software component may be used for different network interface cards and the functionality that needs to be implemented by a driver associated with a specific network interface card is reduced. Specifically, in the example of <figref idrefs="DRAWINGS">FIG. 2</figref>, Wi-Fi miniport driver <b>236</b> does not need to implement any of the functions already implemented in filter driver <b>238</b>. However, <figref idrefs="DRAWINGS">FIG. 2</figref> is only an example embodiment, and the driver functions implemented in computer <b>110</b> may be partitioned between components in any suitable way.
p-0034Regardless of the specific partitioning of the driver or drivers for Wi-Fi card <b>214</b>, the NDIS interface associated with the drivers allows other components, such as TCP/IP stack <b>240</b>, to interface with the drivers for sending or receiving commands and status information and data received or to be transmitted wirelessly. TCP/IP stack <b>240</b> may be a component as is known in the art or may be implemented in any suitable way. In this example, TCP/IP stack <b>240</b> provides an interface to application components (not shown) for network communications. As an example, a driver associated with Wi-Fi card <b>214</b> may provide to TCP/IP stack <b>240</b> data received wirelessly by Wi-Fi card <b>214</b>. TCP/IP stack <b>240</b> may then route this data to an appropriate application component operating within computer <b>110</b>. It should be appreciated that <figref idrefs="DRAWINGS">FIG. 2</figref> illustrates an example embodiment only. It is not necessary that computer <b>110</b> communicate using a TCP/IP protocol, and any suitable protocol or protocols may be employed, and computer <b>110</b> may contain different or additional stacks.
p-0035Computer <b>110</b> may contain other components to perform control or status functions related to Wi-Fi communications. One such component is auto-configuration service <b>262</b>. Auto-configuration service <b>262</b> provides a mechanism by which a network interface card and associated driver may be configured for wireless communication and status information may be routed to other components as is known in the art. In this example, auto-configuration service <b>262</b> may be implemented as a software component supporting client/server interfaces with other software components. However, the specific form in which auto-configuration service <b>262</b> interfaces with other components is not critical to the invention and any suitable types of interface may be used.
p-0036In the example illustrated, auto-configuration service <b>262</b> includes a Wireless Local Area Network (WLAN) auto-configuration service module <b>264</b>. WLAN auto-configuration service module <b>264</b> may contain code that performs functions of auto-configuration service <b>262</b> that are not unique to Wi-Fi communications. In the example illustrated, functions unique to Wi-Fi may be implemented in native Wi-Fi module <b>266</b>, and other functions may be performed within WLAN auto-configuration service module <b>262</b>. Partitioning functionality between WLAN auto-configuration service module <b>264</b> and native Wi-Fi module <b>266</b> allows auto-configuration service <b>262</b> to be configured specifically for Wi-Fi communications. However, any suitable partitioning of functions may be used.
p-0037Auto-configuration service <b>262</b> may obtain from other components information for configuring Wi-Fi card <b>214</b> and its associated drivers. Some of the information used by auto-configuration service <b>262</b> may come from profile store <b>270</b>. Profile store <b>270</b> may contain information, or “profiles,” relating to wireless networks to which computer <b>110</b> may connect. Auto-configuration service <b>262</b> may write information into profile store defining an appropriate configuration of Wi-Fi card <b>214</b> and its associated drivers upon making connection to a network. Subsequently, auto-configuration service <b>262</b> may retrieve this information and use it to reconfigure Wi-Fi card <b>214</b> and its associated drivers to reconnect to that network. In addition, user supplied information, including user preferences about networks to which computer <b>110</b> is permitted to connect, an order of preference of networks to which computer <b>110</b> should attempt to connect or other information may also be written to profile store and later used in operation of auto-configuration service <b>262</b>.
p-0038Profile store <b>270</b> may be implemented in any suitable way, including as a file or other data structure written to a disk or other non-volatile storage medium within computer <b>110</b>.
p-0039Auto-configuration service <b>262</b> may also store information into logs <b>272</b>. Logs <b>272</b> also may be implemented as files or other data structures written to a disk or other suitable storage medium associated with computer <b>110</b>. The information written to logs <b>272</b> may define events associated with wireless communications. This information may later be used by other tools or components that analyze events associate with wireless communications, such as diagnostic applications that help a user resolve problems with wireless communications.
p-0040Other information used by auto-configuration service <b>262</b> may be obtained from other program components through WLAN APIs <b>274</b>. WLAN APIs <b>274</b> may be implemented using conventional software technology for providing interfaces between components. However, the structure of APIs <b>274</b> is not critical to the invention and WLAN APIs <b>274</b> may be implemented in any suitable way.
p-0041Information passed through WLAN APIs <b>274</b> may be generated based on user input received by user interface components <b>276</b>. Conversely, status information obtained by auto-configuration service <b>262</b> may be passed through WLAN APIs <b>274</b> to user interface components <b>276</b> for display to a user. Each of the user interface components may be implemented with computer executable instructions that provide information to a user and receive commands from a user through one or more input/output devices. Such information may be presented graphically on a computer screen, though any suitable form of user input/output device may be used.
p-0042Any suitable number and type of user interface components may be provided. In the example illustrated in <figref idrefs="DRAWINGS">FIG. 2</figref>, user interface components <b>278</b><sub>1 </sub>. . . <b>278</b><sub>3 </sub>are illustrated as providing user interfaces associated with Wi-Fi wireless network connections. For example, user interface component <b>278</b><sub>1 </sub>may receive user input relating to a preferred wireless network or networks. Component <b>278</b><sub>1 </sub>may also present information about available wireless networks to a user. That information may be formatted in accordance with the defined user preferences. For example, interface component <b>278</b><sub>1 </sub>could present to a user a list of available wireless networks ordered in accordance with a defined user preference.
p-0043Other components within user interface components <b>276</b> may provide user interfaces to support other functions. For example, interface component <b>278</b><sub>3 </sub>may provide an interface through which a user may view all available networks and choose which ones to connect to (and subsequently disconnect from).
p-0044User interface component <b>278</b><sub>2 </sub>may likewise provide an interface through which a user may configure parameters of a wireless network or obtain status information. In this example, user interface component <b>278</b><sub>2 </sub>may provide a wider range of information about a wireless network than interface component <b>278</b><sub>3</sub>. Likewise, component <b>278</b><sub>2 </sub>may provide a wider range of choices for parameters that may be configured by a user. Such an interface may be tailored for an “advanced user.” However, the specific function of each of the interface components is not critical to the invention, and the functions supported through the interfaces collectively defined by user interface components <b>276</b> may be allocated to specific user interface components in any suitable way.
p-0045WLAN APIs <b>274</b> may also support exchanges of information between auto-configuration service <b>262</b> and other types of components. In the example of <figref idrefs="DRAWINGS">FIG. 2</figref>, a net shell component <b>280</b> is provided. Such a shell component may support execution of one or more other components. In this example, a WLAN configuration component <b>282</b> may execute within net shell <b>280</b>. WLAN configuration component <b>282</b> may be a software component containing computer executable instructions that at suitable times trigger actions that generate commands to Wi-Fi card <b>214</b> and associated drivers to configure computer <b>110</b> for wireless communications.
p-0046Computer <b>110</b> may additionally contain other tools or services for use in connection with wireless communication that ultimately involves transmission or reception of radio frequency signals at Wi-Fi card <b>214</b>. As a further example, computer <b>110</b> may contain a network location awareness component <b>284</b>. Such a component may, in response to a request from other software components, provide information defining the characteristics of a network to which computer <b>110</b> is connected. Network location awareness component <b>284</b> may be implemented as is known in the art or in any other suitable way. To facilitate providing information when computer <b>110</b> is connected to a Wi-Fi network, Wi-Fi plug-in <b>286</b> may execute within network location awareness component <b>284</b>. Wi-Fi plug-in <b>286</b> may contain computer executable instructions that obtain status information from any one or more of the components illustrated in <figref idrefs="DRAWINGS">FIG. 2</figref> so that characteristics of a Wi-Fi network may be determined.
p-0047Other components within computer <b>110</b> may likewise interact to support Wi-Fi communications. For example, <figref idrefs="DRAWINGS">FIG. 2</figref> illustrates a group policy component <b>288</b>. Group policy component <b>288</b> may be implemented as is known in the art or in any other suitable way. Group policy component <b>288</b> may perform one or more functions associated with managing computer <b>110</b> according to a group policy specified by a network administrator of a managed domain to which computer <b>110</b> may be domain joined. Such a component may be used by computers within enterprises, such as computers connected to a wide area network managed by a single company. Group policy component <b>288</b> may retrieve policy information from a server or other suitable source that may be used in configuring computer <b>110</b> for Wi-Fi communications. For example, the group policy information may specify networks to which computer <b>110</b> is allowed to connect or, conversely, networks to which computer <b>110</b> should not connect. Similarly, policy information obtained by group policy component <b>288</b> may specify levels of security or other parameters associated with wireless communications. However, the specific type of group policy information obtained by group policy component <b>288</b> and the manner in which it is used is not critical to the invention.
p-0048<figref idrefs="DRAWINGS">FIG. 2</figref> illustrates other components that may also interface with auto-configuration service <b>262</b>. For example, <figref idrefs="DRAWINGS">FIG. 2</figref> illustrates an NDIS co-installer <b>244</b>. NDIS co-installer <b>244</b> may contain computer executable instructions that are used during installation of an NDIS driver, such as Wi-Fi miniport driver <b>236</b>. NDIS co-installer <b>244</b> may be implemented as is known in the art or in any other suitable way.
p-0049Other functions of auto-configuration service <b>262</b> are also illustrated in <figref idrefs="DRAWINGS">FIG. 2</figref>. For example, auto-configuration service <b>262</b> contains a security module <b>268</b>. During the operation of a wireless computer connected to a wireless network, one or more security related operations may be performed. As an example, a client computer connecting to an access point may be required to authenticate itself to the access point. Authentication may entail sending and receiving a series of messages according to a specific security protocol. Because security protocols may change from time to time and different security protocols may be used by different networks, the components within computer <b>110</b> that implement the security related functions may be implemented modularly. In this example, security module <b>268</b> provides an interface to other security related components that are constructed to control exchanges of messages according to a specific protocol. Security module <b>268</b> may, at appropriate times, access other components to determine an appropriate message to send according to a specific security protocol or validate that a message received was in compliance with the security protocol.
p-0050In the example of <figref idrefs="DRAWINGS">FIG. 2</figref>, computer <b>110</b> is configured for operation according to an 802.1x security protocol. Accordingly, security module <b>268</b> interfaces with 802.1x module <b>294</b>. 802.1x module <b>294</b> may be implemented as is known in the art or in any other suitable way. Such a module may generate or validate, in response to requests from security module <b>268</b>, messages according to the 802.1x security protocol.
p-0051In some instances, security functions to be performed by a wireless computer may incorporate elements of an extensible protocol, referred to as EAP. Accordingly, computer <b>110</b> may include an EAP host <b>296</b>. EAP host <b>296</b> may support one or more EAP modules, illustrated as modules <b>298</b><sub>1</sub>, <b>298</b><sub>2 </sub>and <b>298</b><sub>3</sub>. Each of the EAP modules may support one or more security related functions. By providing EAP host <b>296</b>, specific modules may be added or removed from computer <b>110</b> to support any suitable security functions, even if not implemented according to a defined standard. 802.1x module <b>294</b> may interface with EAP host <b>296</b> to access any of the installed EAP modules, thereby extending security functions performed by 802.1x module <b>294</b>.
p-0052<figref idrefs="DRAWINGS">FIG. 2</figref> illustrates that a range of tools and services that are provided within computer <b>110</b> to support Wi-Fi communications. Because Wi-Fi communications are widely available, the tools and services described in connection with <figref idrefs="DRAWINGS">FIG. 2</figref> may be incorporated as part of an operating system of computer <b>110</b>. If a user wishes to add a WiMAX network interface to computer <b>110</b>, similar tools and services could be added to support WiMAX communications. However, the inventors have appreciated that such tools and services are not generally available. Consequently, if a WiMAX card is added to a current computer, the software in the computer may treat the WiMAX network connection that may be established using a WiMAX card as a basic, wired network. Tools and services provided for a connection to a basic, wired network would be available to control or obtain status information relating to the WiMAX network.
p-0053However, the inventors have appreciated that interfacing to a WiMAX network as if it were a basic, wired network does not provide aspects of a user experience that many users would like. Interfacing to a network in this fashion may in some instances be confusing to the user. Specifically, the inventors have recognized that many user interaction components that users have come to expect in connection with Wi-Fi networks are unavailable with or do not operate as expected WiMAX networks. As a result, the user experience of the WiMAX network is degraded.
p-0054<figref idrefs="DRAWINGS">FIG. 2</figref> illustrates an approach by which a WiMAX network interface may be readily integrated into computer <b>110</b>. The approach illustrated in <figref idrefs="DRAWINGS">FIG. 2</figref> allows many wireless tools and services to be available for use with WiMAX networks so that computer <b>110</b> can provide a desired user experience without requiring extensive components constructed specifically for the WiMAX network.
p-0055As shown, WiMAX card <b>212</b> may be added in hardware mode <b>210</b>. A WiMAX miniport driver <b>232</b> may be provide for WiMAX card <b>212</b>. WiMAX miniport driver <b>232</b> may be specifically configured to interface with hardware components on WiMAX card <b>212</b>. As with Wi-Fi miniport driver <b>236</b>, WiMAX driver <b>232</b> may apply commands or obtain status information from WiMAX card <b>212</b>.
p-0056Like Wi-Fi miniport driver <b>235</b>, WiMAX miniport driver <b>232</b> may be implemented with a standard interface to allow it to interface with components of computer <b>110</b>. In the example illustrated, WiMAX driver <b>232</b> is implemented with an NDIS interface. Such an interface may be similar to the NDIS interface supported by Wi-Fi miniport driver <b>236</b>. However, the specific OIDs that may be passed through the NDIS interface of WiMAX miniport driver <b>232</b> may be different, in at least some respects, than the OIDs passed through the NDIS interface of Wi-Fi miniport driver <b>236</b>. The different OIDs may reflect differences in the functionality supported by WiMAX card <b>212</b> as opposed to the functionality supported by Wi-Fi card <b>214</b>.
p-0057In the embodiment illustrated, computer <b>110</b> does not contain tools or services to generate OIDs specific to WiMAX card <b>212</b>. Rather, a Wi-Fi emulator <b>234</b> is installed between WiMAX miniport driver <b>232</b> and native Wi-Fi filter driver <b>238</b>. Wi-Fi emulator converts between OIDs generated for Wi-Fi and those usable for WiMAX.
p-0058Wi-Fi emulator <b>234</b> may be constructed to be readily incorporated into an existing Wi-Fi framework. It provides, at one end, an interface of the same form presented by Wi-Fi miniport driver <b>236</b> so that it may easily interface to filter driver <b>238</b>. At the other end, Wi-Fi emulator <b>234</b> presents an interface in the form supported by WiMAX miniport driver <b>232</b>. In the example illustrated, both drivers support the same form of interface, accordingly, both interfaces provided by Wi-Fi emulator <b>234</b> are of the same form. In the specific example of <figref idrefs="DRAWINGS">FIG. 2</figref>, Wi-Fi emulator provides an NDIS interface to both native Wi-Fi filter driver <b>238</b> and WiMAX miniport driver <b>232</b>.
p-0059In between the two interfaces, Wi-Fi emulator <b>234</b> translates command or status objects provided by native Wi-Fi filter driver <b>238</b> into a format that is meaningful to WiMAX miniport driver <b>232</b>. Conversely, Wi-Fi emulator <b>234</b> converts command or status objects generated by WiMAX miniport driver <b>232</b> into a format that is meaningful to native Wi-Fi filter driver <b>238</b>. Wi-Fi emulator <b>234</b> may make such translations based on a mapping of command objects supported by Wi-Fi miniport driver <b>236</b> to those supported WiMAX miniport driver <b>232</b>.
p-0060In this way, tools and services provided to support Wi-Fi networks may operate in connection with a WiMAX network. For example, a WiMAX network may appear on a list of available wireless networks presented by user interface component <b>278</b><sub>1 </sub>because, through the use of Wi-Fi emulator <b>234</b>, a WiMAX interface will respond appropriately to a request for status information even though the request was generated by a component of the Wi-Fi framework. A user could access such a user interface to specify a preference for a WiMAX network, in the same way that the user could specify a preference for a Wi-Fi network.
p-0061In the same way, network location awareness component <b>284</b>, based on information provided by Wi-Fi emulator <b>234</b>, provide information in a form that indicates that computer <b>110</b> is connected to a wireless network and may also provide information that identifies the network type. Similarly, group policy information may be specified for WiMAX networks. Other functions implemented for Wi-Fi networks may similarly be implemented based on interactions through Wi-Fi emulator <b>234</b>.
p-0062However, it is possible that some functions that may be desirable to perform in connection with operation of a WiMAX network cannot be performed by components of a Wi-Fi framework. In this scenario, extensible features of the Wi-Fi framework may be used to implement those functions. The extensibility features allow third party supplied software components to be integrated into the framework. The extensibility components may be provided by an Independent Hardware Vendor (IHV) supplying WiMAX card <b>212</b> or an Independent Software Vendor (ISV) supplying software independent of an operating system on computer <b>110</b> that supplies the Wi-Fi framework illustrated in <figref idrefs="DRAWINGS">FIG. 2</figref>.
p-0063In the example embodiment of <figref idrefs="DRAWINGS">FIG. 2</figref>, WLAN APIs <b>274</b> provide a defined interface for components of the Wi-Fi framework to interact with auto-configuration service <b>262</b>. Extensibility components may similarly be constructed to interface through WLAN APIs <b>274</b>. As a specific example, user interface component <b>278</b><sub>4 </sub>may be added to support user interactions relating to WiMAX communications that have no analogy in Wi-Fi communications. As a specific example, user interface component <b>278</b><sub>4 </sub>may provide a user interface that allows a user to configure features on WiMAX card <b>212</b> that do not exist on Wi-Fi card <b>214</b>.
p-0064Commands and other information may be exchanged between user interface component <b>278</b><sub>4 </sub>and WiMAX miniport driver <b>232</b> in any suitable way. In the example illustrated, user interface component <b>278</b><sub>4</sub>, in response to user input, generates one or more commands containing identifiers unique to WiMAX communication. These commands may be passed through WLAN APIs <b>274</b>, auto-configuration service <b>262</b> and Wi-Fi filter driver <b>238</b> to Wi-Fi emulator <b>234</b>. Wi-Fi emulator <b>234</b> may be constructed to recognize the OIDs generated by the Wi-Fi filter driver on behalf of the user interface component <b>278</b><sub>4 </sub>as OIDs unique to WiMAX communication and pass those OIDs to WiMAX miniport driver <b>232</b> without modification. Because the OIDs are in form meaningful for WiMAX communication, WiMAX miniport driver <b>232</b> may be programmed to appropriately respond to those OIDs.
p-0065In reverse, WiMAX miniport driver <b>232</b> may generate notifications associated with functions performed by extensibility components, such as user interface component <b>278</b><sub>4</sub>. Wi-Fi emulator <b>234</b> may pass those notifications on without modification. Such notifications may pass through Wi-Fi filter driver <b>238</b>, auto-configuration service <b>262</b> and WLAN APIs <b>274</b> to user interface component <b>278</b><sub>4</sub>, where they may be appropriately processed. In this way, extensibility components may be added to the Wi-Fi framework of computer <b>110</b> to support any desired function that is not otherwise supported in the framework.
p-0066The types of components added as extensibility components need not be limited to user interface components. <figref idrefs="DRAWINGS">FIG. 2</figref> illustrates that service DLL <b>290</b> may also be added to the framework to provide a service not otherwise supported by the Wi-Fi framework including interfacing to other components. In this example, service DLL <b>290</b> may be implemented as a dynamically linked library (DLL), as is known in the art. However, any suitable implementation may be used for extensibility components. In this example, service DLL <b>290</b> interfaces with the Wi-Fi framework through WLAN APIs <b>274</b>. In the same way that user interface component <b>278</b><sub>4 </sub>may generate commands unique to WiMAX communication, service DLL <b>290</b> may similarly generate commands. Likewise, WiMAX miniport driver <b>232</b> may generate notifications associated with functions provided by service DLL <b>290</b>.
p-0067<figref idrefs="DRAWINGS">FIG. 2</figref> illustrates that extensibility components are not limited to interfacing with the Wi-Fi framework of computer <b>110</b> through WLAN APIs <b>274</b>. In addition to interfacing through WLAN APIs <b>274</b>, service DLL <b>290</b> may interface directly with Wi-Fi filter driver <b>238</b>. Regardless of the specific mechanism by which extensibility components interface with the Wi-Fi framework, such an interface may be used to exchange commands or other information between extensibility components and WiMAX miniport driver <b>232</b>.
p-0068In the example illustrated, DLL <b>290</b> provides a mechanism to interface with other extensibility components. In this example, service DLL <b>290</b> is shown interfacing with PKMv2 security provider component <b>292</b>. Because WiMAX communications use PKMv2 security rather than 802.1x, PKMv2 security provider component <b>292</b> is added to perform functions similar to those performed by 802.1x component <b>294</b>, but using a different security protocol which is appropriate for WiMAX communication. As with component <b>294</b>, component <b>292</b> may interface with EAP host <b>296</b>. However, the specific EAP modules, such as modules <b>298</b><sub>1</sub>, <b>298</b><sub>2 </sub>and <b>298</b><sub>3</sub>, may be selected specifically for use by PKMv2 security provider component <b>292</b>.
p-0069Though not expressly shown, other components may interface through service DLL <b>290</b>, allowing computer <b>110</b> to be configured for WiMAX communication or communication using any other wireless technology.
p-0070<figref idrefs="DRAWINGS">FIG. 3</figref> illustrates a process by which Wi-Fi emulator <b>234</b> may operate to translate OIDs according to an embodiment of the invention. The process of <figref idrefs="DRAWINGS">FIG. 3</figref> begins at block <b>310</b> where Wi-Fi emulator <b>234</b> receives an OID. The OID may be received by Wi-Fi emulator <b>234</b> through an NDIS interface or in any other suitable way.
p-0071The process proceeds to decision block <b>312</b>. At decision block <b>312</b>, the process branches depending on whether the received OID is associated with a function supported by WiMAX miniport driver <b>232</b> and/or WiMAX card <b>212</b>. If the function is not supported, Wi-Fi emulator <b>234</b> may be unable to generate commands for the WiMAX network interface, provided by WiMAX miniport driver <b>232</b> and WiMAX card <b>212</b>, to perform the function. Accordingly, the process may branch to block <b>314</b>, where the OID is either ignored or fails. Depending on the interface standards used to communicate with Wi-Fi emulator <b>234</b>, Wi-Fi emulator <b>234</b> may generate a response indicating that the command associated with the received OID fails. Though, in other embodiments or for other OIDs, if the interface does not support such a response, Wi-Fi emulator <b>234</b> may simply ignore the received OID and the process may end.
p-0072Conversely, if the received OID can be associated with a supported function, the process may branch from decision block <b>312</b> to decision block <b>316</b>. At decision block <b>316</b> the process may again branch depending on whether the OID is directly supported by WiMAX miniport driver <b>232</b> or requires translation. If no translation is required, the process branches from decision block <b>316</b> to block <b>330</b>, where the OID is provided to WiMAX miniport driver <b>232</b>. WiMAX miniport driver <b>232</b> may thereafter respond appropriately to the OID.
p-0073Conversely, the process of <figref idrefs="DRAWINGS">FIG. 3</figref> may branch from decision block <b>316</b> to block <b>320</b> when translation is required. Translation could involve changing type information associated with the OID, as is illustrated by processing at block <b>320</b>. Alternatively or additionally, translation may involve mapping parameters, as is illustrated by processing at block <b>322</b>. Following the mapping, the OID will be in a form that it can be processing by WiMAX miniport driver <b>232</b>. Accordingly, the process proceeds to block <b>330</b> where the mapped OID is provided to WiMAX miniport <b>232</b>.
p-0074The mapping performed at blocks <b>320</b> and <b>322</b> may be performed in any suitable way. In accordance with one example embodiment, the mapping may be performed by maintaining tables of analogous functions. The tables may map OIDs that specify functions in connection with Wi-Fi communication to OIDs that specify analogous functions in connection with WiMAX communications. <figref idrefs="DRAWINGS">FIG. 4</figref> provides an example of such mapping tables. <figref idrefs="DRAWINGS">FIG. 4</figref> illustrates a data structure that may be used in mapping Wi-Fi OIDs to WiMAX OIDs. The same or similar data structure may be used in the reverse operation of mapping WiMAX notifications to Wi-Fi notifications.
p-0075In the example of <figref idrefs="DRAWINGS">FIG. 4</figref>, a table <b>411</b> of Wi-Fi OIDS is stored in computer readable media <b>410</b>. Any suitable computer readable media may be used to store table <b>410</b>. In an example embodiment, table <b>411</b> may be provided in conjunction with Wi-Fi emulator <b>234</b> (<figref idrefs="DRAWINGS">FIG. 2</figref>). In that scenario, computer readable media <b>410</b> may be a compute readable media storing computer executable instructions that implement Wi-Fi emulator <b>234</b>. However, any suitable computer readable media may be used to store table <b>411</b>.
p-0076The specific implementation of a data structure used in mapping OIDs is not critical to the invention. However, in the example embodiment of <figref idrefs="DRAWINGS">FIG. 4</figref>, each OID is represented by a row in a table. Table <b>411</b> contains multiple rows, each corresponding to an OID that a Wi-Fi framework may recognize. Each row contains one or more fields containing information that collectively define an OID. In this simple example of <figref idrefs="DRAWINGS">FIG. 4</figref>, two fields in each row are illustrated, one containing information identifying an OID type and another providing information specifying a parameter for the OID. For OIDs that do not have parameters, the second field may be omitted or blank. Alternatively, for OIDs that contain multiple parameters, more than one parameter field may be present.
p-0077In the simple example of <figref idrefs="DRAWINGS">FIG. 4</figref>, table <b>411</b> is shown to contain six rows, representing six different OIDs. A wireless technology framework may recognize more than six types of commands and status messages. Examples of commands processed by a wireless network interface that are not shown in <figref idrefs="DRAWINGS">FIG. 4</figref> include commands to connect to a network, disconnect from a network, scan for available networks, enumerate available networks or provide statistics of a network connection. Accordingly, embodiments of the invention are likely to process more than six OIDs. Six OIDs are shown for simplicity, but any suitable number may be used.
p-0078In the example shown, the first row of table <b>411</b> contains fields <b>412</b>A and <b>414</b>A<sub>1</sub>. Field <b>412</b>A contains a value representing an OID type. Each OID will have a different type, allowing components processing the OID to associate a specific function or type of status information with the OID. The type may be represented in any suitable way, including as a text string, a binary value or other unique identifier. The identified parameters may be values provided to a driver in connection with the OID or returned by the driver after processing the OID.
p-0079For example, the first row illustrated in table <b>411</b> contains information in field <b>412</b>A identifying the OID as a command to get a network identification. When such an OID is applied to a Wi-Fi driver, the driver returns the network SSID, as indicated in field <b>414</b>A<sub>1</sub>. Similarly, field <b>412</b>B identifies an OID commanding the driver to initialize a network interface card. In response, the driver returns a value representing a mode in which the network interface card is operating, as represented by the value in field <b>414</b>B<sub>1</sub>.
p-0080The third row contains OIDs for which the associated parameters are provided to the driver. For example, field <b>412</b>C contains a value indicating that the OID represented by that row is a command to set the transmit power level used by the network interface card. The associated parameter in field <b>414</b>C<sub>1 </sub>identifies the level at which the power should be set. Similarly, field <b>412</b>D identifies the OID represented by that row as a command to the network interface card to set a network type.
p-0081The associated parameter in field <b>414</b>D<sub>1 </sub>identifies the type of network for which the network interface card is to be set. In this example, the type is “ad hoc” indicating that the network interface card should be set for communicating with an ad hoc network. The OIDs represented in the last two rows of table <b>411</b> similarly contain parameters provided to the driver for the network interface card for use in carrying out a specified command. In this example, field <b>412</b>E identifies a command to set the data rate used by the network interface card and the associated parameter in field <b>414</b>E<sub>1 </sub>indicates the rate that the card should be configured to use for communication. Similarly, field <b>412</b>F identifies a command for the driver to enable authentication. The associated parameter in field <b>414</b>F<sub>1 </sub>identifies an algorithm to be used in performing that authentication.
p-0082Table <b>451</b> provides information on WiMAX OIDs. Table <b>451</b> is here shown implemented in computer readable media <b>450</b>. Computer readable media <b>450</b> may be the same structure as computer readable media <b>410</b> or may be implemented in any other suitable way.
p-0083Table <b>451</b>, like table <b>411</b>, contains multiple rows, each providing information about an OID. Correspondence between rows in table <b>451</b> and rows in table <b>411</b> is one mechanism by which a mapping between Wi-Fi OIDs and WiMAX OIDs may be specified. For example, the OID defined in the first row of table <b>411</b> may map to the OID defined in the first row of table <b>451</b>, and vice versa. The OID defined in the second row of table <b>411</b> may map to the OID defined in the second row of table <b>451</b> and vice versa. The correspondence may continue for each of the other rows in the tables.
p-0084Any suitable form of mapping may be defined between each Wi-Fi OID and each WiMAX OID. The mapping may be one-to-one, one-to-many, many-to-one or for some OIDS, there may be no associated OID specified in the mapping. In addition, any or all of the elements of an OID may be the same or different than elements of an associated OID. For example, a WiMAX OID may have the same OID type identifier as an associated Wi-Fi OID. Though, in other instances, an OID may be mapped to an associated OID with a different OID type identifier. Similarly, each OID may be mapped to an associated OID with the same number and type of parameters. Though, in some instances, an OID will be mapped to an associated OID with a different number or type of parameters.
p-0085In the example of <figref idrefs="DRAWINGS">FIG. 4</figref>, an OID defining a “get network ID” command, as indicated by the value in field <b>412</b>A, may map to an OID with a similar OID type identifier, as indicated by the value in field <b>452</b>A. However, the parameter values may different based on different functionality supported by a Wi-Fi network card and a WiMAX network card. This difference is revealed by differences in the values of fields <b>414</b>A<sub>1 </sub>and <b>454</b>A<sub>1</sub>. Field <b>414</b>A<sub>1 </sub>reveals that when a get network ID command is performed by a driver for a Wi-Fi card, a value for the network SSID is returned. In contrast, a WiMAX network is not identified by an SSID. Accordingly, when a “get network ID” command is executed by a WiMAX driver, the driver may return an NSP ID, as indicated by the value in field <b>454</b>A<sub>1</sub>, which is used to identify WiMAX networks. Accordingly, based on the mapping indicated in <figref idrefs="DRAWINGS">FIG. 4</figref>, a value that is a suitable representation of a network name is returned in response to a get network ID command, regardless of whether that command is provided to a Wi-Fi driver or to a WiMAX driver through a Wi-Fi emulator.
p-0086Though, the mapping indicated in <figref idrefs="DRAWINGS">FIG. 4</figref> is only one example of a possible mapping. In some embodiments, a “friendly name” used to identify a WiMAX network may be a more meaningful identifier of a network and, when used by a Wi-Fi framework in place of an SSID may achieve a result that is more meaningful to a user. Accordingly, an alternative mapping may associate a WiMAX command that returns a friendly network name with the Wi-Fi command for “get network ID.”
p-0087The second row in table <b>411</b> contains a value in field <b>412</b>B indicating an “initialize network interface” command. In table <b>411</b>, that command is associated with a parameter with a value in field <b>414</b>B<sub>1 </sub>that indicates an operating mode for which the network interface card should be configured when initialized. That command may be mapped to a WiMAX “initialize network interface card” command, as indicated by field <b>452</b>B. In this example, the WiMAX network interface card supports only one mode of operation, the extensible mode. Accordingly, table <b>451</b> indicates that the “initialize network interface card” command in table <b>411</b> is mapped to an “initialize network interface card” command in table <b>451</b> in which the parameter is set to extensible mode, as indicated by the value in <b>454</b>B<sub>1</sub>. In this case, a Wi-Fi OID maps to a WiMAX OID of the same type but with different parameters.
p-0088The command defined in the third row of table <b>411</b> provides an example of a Wi-Fi command that may be mapped to a WiMAX command with the same OID type identifier and parameters. In this case, the values in fields <b>452</b>C and <b>454</b>C<sub>1 </sub>may be the same as the values fields <b>412</b>C and <b>414</b>C<sub>1</sub>.
p-0089The fourth row of tables <b>411</b> and <b>451</b> indicate a scenario in which there is no corresponding WiMAX command for a Wi-Fi command. In this case, the value in field <b>412</b>D indicates a “set network type” command. The value in field <b>414</b>D<sub>1 </sub>is a parameter for that command, indicating that the network interface card should be set to “ad hoc mode.” As indicated in row <b>460</b> of table <b>451</b>, the WiMAX network interface card cannot perform a corresponding function because it does not support ad hoc networks. Accordingly, the value in field <b>460</b> indicates that if such a command is provided to emulator <b>234</b>, it will return a value indicating that the command failed. A similar result may occur for any combination of OID type identifiers and parameters that may be processed by a Wi-Fi driver that cannot processed by a WiMAX driver.
p-0090The final two rows of table <b>411</b> provide further examples of mappings for scenarios in which similar, though not identical, functions are available in both Wi-Fi and WiMAX network interface cards. Field <b>412</b>E indicates a “set data rate” command. That command includes a value, as indicated by field <b>414</b>E<sub>1</sub>, identifying the rate for which the network interface card should be set. A WiMAX network card does not set its data rate in response to a value provided. Rather, it selects a maximum operating rate based on sensed channel conditions. Accordingly, a “set data rate” command, when applied to a WiMAX interface card, may have a different function than when applied to a Wi-Fi card. Here, as illustrated by the value in field <b>454</b>E<sub>1</sub>, if a “set data rate” command is received by Wi-Fi emulator <b>234</b> it will, rather than attempting to set the data rate used by WiMAX card <b>212</b>, return as a parameter the maximum rate supported by the WiMAX card based on current channel conditions.
p-0091Similarly, the last row of table <b>411</b> indicates a command that does not map directly to a corresponding command for a WiMAX card. In this example, field <b>412</b>F contains a value identifying an “enable authentication” command. An associated parameter, as indicated by the value in field <b>414</b>F<sub>1</sub>, identifies an algorithm to be used in performing authentication functions. Such information may be used by a Wi-Fi network interface, which can support multiple authentication algorithms. In contrast, the associated command, as indicated by the value in field <b>452</b>F of table <b>451</b>, does not include a parameter specifying one of many possible algorithms. As indicated by the value in field <b>454</b>F<sub>1</sub>, a WiMAX card may support only authentication according to PKMv2. Accordingly, Wi-Fi emulator <b>234</b> may convert any command indicating that authentication is to be enabled into a command indicating that authentication according to PKMv2 should be enabled.
p-0092<figref idrefs="DRAWINGS">FIG. 4</figref> illustrates some of the mappings that are possible to enable a WiMAX network interface to be used with a framework initially developed for Wi-Fi communications. <figref idrefs="DRAWINGS">FIG. 5</figref> illustrates a consequence of making these mappings. <figref idrefs="DRAWINGS">FIG. 5</figref> illustrates a user interface <b>510</b> that may be presented by one of the user interface components <b>276</b>. The form of graphical user interface <b>510</b> is defined to present information relating a Wi-Fi network. However, because the commands used to obtain the information presented through graphical user interface <b>510</b> may be mapped to corresponding commands that may be executed by a WiMAX network interface, graphical user interface <b>510</b> may also present information relating to a WiMAX network.
p-0093Many of the elements of graphical user interface <b>510</b>, which were defined to present information relating to a Wi-Fi network, have direct correspondence to information available for a WiMAX network. For example, fields <b>512</b>, <b>514</b>, <b>516</b>, <b>520</b>, <b>522</b> and <b>524</b> may all present types of information that can be obtained from either a Wi-Fi network interface or a WiMAX network interface. For example, the information presented in field <b>524</b> defines a signal quality. A user interface component rendering graphical user interface <b>510</b>, in order to present information in field <b>524</b> about a network, may issue a command to the network interface to provide status information relating to signal quality. The information returned in response to such a command may be of the same type for either a Wi-Fi or WiMAX network. Accordingly, the same type of information may be presented in field <b>524</b> regardless of whether the information is obtained from a Wi-Fi network interface or a WiMAX network interface.
p-0094However, the value in field <b>518</b> indicates a scenario in which a mapping performed by Wi-Fi emulator <b>234</b> provides a different type of information that is nonetheless meaningful in the context displayed. Specifically, field <b>518</b> is labeled in user interface <b>510</b> to be providing information on a network SSID. As described above in connection with <figref idrefs="DRAWINGS">FIG. 4</figref>, a WiMAX network does not have an SSID. However, Wi-Fi emulator <b>232</b> may be configured to cause WiMAX miniport driver <b>232</b> to return a friendly name for a network in response to a command to provide an SSID. Accordingly, the user interface component rendering user interface <b>510</b>, when requesting an SSID for a WiMAX network interface receives instead the networks friendly name. In this example, the friendly name of the WiMAX network is “Sprint WiMAX,” which appears in field <b>518</b>. Though this information on a WiMAX network is not the same as the information that may be displayed for a Wi-Fi network, it is nonetheless meaningful to a user.
p-0095In the same way, commands that may be issued by a component rendering user interface <b>510</b> to obtain activity information for a Wi-Fi network may, when presented to a WiMAX network interface, cause the network interface to return information defining activity levels that may be presented in area <b>530</b>. Thus, despite the fact that user interface <b>510</b> was initially defined in conjunction with a Wi-Fi network, it may be used in conjunction with a WiMAX network to provide activity information in field <b>530</b>.
p-0096A similar result occurs when controls associated with user interface <b>510</b> are selected by a user. For example, when a user selects control <b>526</b>, the component rendering user interface <b>510</b> may issue one or more commands requesting details on the connection maintained by a WiMAX network interface. The details presented may correspond directly to the details that would be presented for a Wi-Fi network, such as the values in fields <b>512</b>, <b>514</b>, <b>516</b>, <b>520</b>, <b>522</b> and <b>524</b>. Alternatively, related values may be presented instead, as is the case with field <b>518</b>. As a further alternative, though not illustrated in user interface <b>510</b>, if user interface <b>510</b> is configured to present information on a Wi-Fi network connection for which there is no analogy in a WiMAX connection, the field may be left blank or otherwise include some indication that such information is unavailable. Similar results may occur if a user accesses control <b>528</b>, requesting information on wireless properties.
p-0097In a similar fashion, commands that may be issued when a user selects a control from control area <b>540</b>, even though initially defined to be applied to a Wi-Fi network interface, may nonetheless cause their intended function when applied to a WiMAX network interface through a Wi-Fi emulator, such as the emulator <b>234</b> illustrated in <figref idrefs="DRAWINGS">FIG. 2</figref>. In this way, software implementing a specific tool, originally developed for Wi-Fi, provides an intuitive user experience when used in connection with a WiMAX network. Thus, <figref idrefs="DRAWINGS">FIG. 5</figref> provides an example of how mapping Wi-Fi commands to WiMAX commands allows a framework initially defined for a Wi-Fi network to be used with a WiMAX network interface.
p-0098<figref idrefs="DRAWINGS">FIG. 6A</figref> illustrates a further result that may be achieved in some embodiments of the invention. <figref idrefs="DRAWINGS">FIG. 6A</figref> illustrates a user interface <b>610</b> that has been defined for use in conjunction with a Wi-Fi framework but can concurrently provide information about both Wi-Fi and WiMAX networks in an integrated fashion. In this example, user interface <b>610</b> provides panels through which a user may obtain information about each network to which computer <b>110</b> is connection and provide commands for controlling those networks. User interface <b>610</b> contains panels <b>620</b> and <b>630</b>, each providing information about one network. In this example, panel <b>620</b> provides information about a WiMAX network, and panel <b>630</b> provides information about a Wi-Fi network. Though different types of network are in use, because user interface <b>610</b> is presented by a single framework, both types of networks may appear in the same user interface.
p-0099In this example, fields <b>622</b> and <b>632</b> provide the name and network type. As described above in connection with <figref idrefs="DRAWINGS">FIG. 4</figref>, a mapping may be supported such that a request for a network name may return a friendly name for a WiMAX network or an SSID when applied to a Wi-Fi network interface. Accordingly, field <b>622</b> shows the friendly name of the WiMAX network described in panel <b>620</b>. Field <b>632</b> contains the SSID of the Wi-Fi network described in panel <b>630</b>.
p-0100Additionally, each of fields <b>622</b> and <b>632</b> contains an indication of the network type of the described network. As described above in connection with <figref idrefs="DRAWINGS">FIG. 2</figref>, such information may be obtained by network location awareness component <b>284</b>. Even though network location component <b>286</b> was initially constructed to obtain information on a Wi-Fi network, because of the mapping performed by Wi-Fi emulator <b>234</b>, any commands issued by Wi-Fi plug-in <b>286</b> will return meaningful information even if applied to a WiMAX network interface. Accordingly, the format of information presented in panel <b>620</b> for a WiMAX network may be the same as the format of information presented in panel <b>630</b> for Wi-Fi network.
p-0101Controls in panel <b>630</b> that may be used to control a Wi-Fi network may similarly perform an intended result when used in panel <b>620</b> to control a WiMAX network. For example, controls <b>624</b> and <b>634</b>, when activated, may cause the same result of disconnecting the computer from the network.
p-0102<figref idrefs="DRAWINGS">FIG. 6B</figref> illustrates a further scenario in which a framework developed for a Wi-Fi network may be used in connection with a WiMAX network. In this example, a user interface <b>640</b> is presented. User interface <b>640</b> includes a task tray <b>642</b>. In a computer configured to support Wi-Fi communications, task tray <b>642</b> may contain information identifying a Wi-Fi network to which the computer is connected. Though the components that render interface <b>640</b> were initially configured to present information about Wi-Fi networks, those same components may function when a WiMAX network connection is established using the framework as illustrated in <figref idrefs="DRAWINGS">FIG. 2</figref>. Specifically, the display field <b>644</b> may contain the name returned when the components rendering interface <b>640</b> issued commands to request a network name. Similarly, the information in <b>646</b> may be generated with information returned by the WiMAX network interface in response to a command, even initially formatted for a Wi-Fi network interface, requesting status information relating to signal quality. Because, as a result of Wi-Fi emulator <b>234</b>, such commands cause an appropriate response when applied to a WiMAX network interface, the same components used to render an interface <b>640</b> for a Wi-Fi network may be used to display corresponding information about a WiMAX network.
p-0103<figref idrefs="DRAWINGS">FIG. 6C</figref> illustrates a further user interface <b>650</b> initially defined for use in connection with Wi-Fi networks that may integrate information about WiMAX networks when a WiMAX network interface card is connected to the system according to embodiments of the invention. In this example, user interface <b>650</b> contains panels <b>652</b><sub>1</sub>, <b>652</b><sub>2 </sub>and <b>652</b><sub>3</sub>, each providing information about a specific network connection. In this example, details of only panel <b>652</b><sub>1 </sub>are shown. Each of the other panels may present the same type of information about other networks to which connections have been made. Though, for different types, different network types of information may be presented.
p-0104In this example, the network defined in panel <b>652</b><sub>1 </sub>is a WiMAX network. Accordingly, though the information presented in panel <b>652</b><sub>1 </sub>was obtained in response to commands initially defined for use in connection with Wi-Fi networks, execution of those commands results in meaningful information about a WiMAX network being displayed.
p-0105For example, each of fields <b>654</b>, <b>656</b>, <b>658</b> and <b>670</b> may present information obtained from a WiMAX network interface in response to commands initially defined for use in connection with a Wi-Fi network interface.
p-0106<figref idrefs="DRAWINGS">FIG. 6D</figref> illustrates a further user interface <b>680</b> through which a user may specify one or more actions to be taken with respect to a WiMAX network. In this example, user interface <b>680</b> presents a list of available wireless networks. In a computing device with an architecture as illustrated in <figref idrefs="DRAWINGS">FIG. 2</figref>, the list of networks may be obtained by media manager <b>278</b><sub>3 </sub>(<figref idrefs="DRAWINGS">FIG. 2</figref>). User interface <b>680</b> may present a list <b>682</b> of available networks in conjunction with controls that allow actions to be taken with respect to those networks. In this example, item <b>684</b> in list <b>682</b> describes a WiMAX network. Accordingly, controls associated with user interface <b>680</b> may allow a user to take actions such as display all WiMAX networks, rescan for all visible WiMAX networks, connect to a WiMAX network or disconnect from a WiMAX network to which the computing device is connected.
p-0107In the state illustrated in <figref idrefs="DRAWINGS">FIG. 6D</figref>, list item <b>684</b> represents a WiMAX network for which a connection is established. In this state, control <b>686</b> indicates that, when the control is activated by a user the computing device should disconnect from that network. Other controls may be included to perform other desired functions. Alternatively or additionally, the function of control <b>686</b> may change depending on the state of a network connection or user input such that selecting control <b>686</b> may trigger operations relating to WiMAX networks appropriate in other context. Regardless of the specific operation, the operation may be executed by supplying commands to the WiMAX network interface card.
p-0108<figref idrefs="DRAWINGS">FIG. 6E</figref> illustrates a further user interface <b>690</b> that may present information concerning a WiMAX network. User interface <b>690</b> may, for example, be rendered on a display screen by IHV user interface component <b>278</b><sub>4 </sub>(<figref idrefs="DRAWINGS">FIG. 2</figref>). Accordingly, user interface <b>690</b> may present information concerning WiMAX card <b>212</b> or allow a user to set preferences for operation of WiMAX card <b>212</b>. With the architecture of <figref idrefs="DRAWINGS">FIG. 2</figref>, such a user interface may be readily integrated into a computing system.
p-0109The specific status information presented through user interface <b>690</b> is not critical to the invention and a manufacturer of a WiMAX card <b>212</b> or other party providing software for WiMAX card <b>212</b> may elect to present any one or more types of status information that WiMAX card <b>212</b> is capable of supplying. In the example of <figref idrefs="DRAWINGS">FIG. 6E</figref>, status information <b>692</b> relates to a connection being maintained by WiMAX card <b>212</b>.
p-0110In the example of <figref idrefs="DRAWINGS">FIG. 6E</figref>, user interface <b>690</b> includes preference setting controls <b>694</b>. When a user activates one or more of the preference setting controls <b>694</b>, IHV user interface component <b>278</b><sub>4 </sub>may provide information based on the control activated, to WiMAX card <b>212</b>, causing WiMAX card <b>212</b> to be configured in accordance with the user settings. The specific parameters for which settings may be provided through user interface <b>690</b> is not critical to the invention, allowing an independent hardware vendor or other party preparing software for WiMAX card <b>212</b> to obtain user input setting any suitable parameter of WiMAX card <b>212</b>.
p-0111As illustrated by the foregoing examples, a computer initially configured with a Wi-Fi framework may be adapted for WiMAX communications. Such an adaptation may be performed by adding a WiMAX network interface card and a relatively small number of software components that interface with a framework for Wi-Fi communication. The hardware and software components used to adapt a Wi-Fi capable computer for WiMAX communications, in some embodiments, may be sold as a kit. <figref idrefs="DRAWINGS">FIG. 7</figref> illustrates such a kit <b>710</b>.
p-0112Kit <b>710</b> here contains WiMAX network interface card <b>720</b> that may be installed in a computer in the same fashion that a Wi-Fi network interface card is installed. As is known in the art, a network interface card may be installed in a bus slot in computer <b>110</b>. Though, any suitable method of installing a network interface card may be used.
p-0113In conjunction with the network interface card, a computer readable media, such a disk <b>730</b> may be provided. In the embodiment illustrated, the network interface card and the computer-readable medium are packaged together. It is not necessary that the components be simultaneously delivered to a user and other embodiments are possible.
p-0114The computer readable media may contain computer executable components such as components <b>732</b> and <b>734</b>. These components may include a WiMAX miniport driver and a Wi-Fi emulator. In addition, the components may include one or more extensibility components, such as user interface component <b>278</b><sub>4</sub>, service DLL <b>290</b>, PKMv2 security provider component <b>292</b> or one or more EAP function modules, such as <b>298</b><sub>1 </sub>. . . <b>298</b><sub>3</sub>. In this way, components to reconfigure a computer for WiMAX communication may be readily provided. In addition, the same kit may be used to install WiMAX capabilities in a computer containing a framework for WiMAX communications. To use the kit in conjunction with such a computer, WiMAX network interface card <b>720</b> may be installed in conjunction with WiMAX miniport driver <b>232</b>. Wi-Fi emulator <b>234</b> and any extensibility components for which comparable functionality is provided by the WiMAX framework need not be installed in this scenario.
p-0115The foregoing examples describe reconfiguration of a computer, initially configured for Wi-Fi communication, to communicate according to the WiMAX standard. However, the invention is not limited to use in conjunction with these wireless technologies. A computer configured for Wi-Fi communications may be reconfigured for communications in conjunction with any other suitable wireless technology. Similarly, the existing framework need not be limited to frameworks supporting Wi-Fi communication. A computer configured with any extensible wireless framework may be adapted for communication according to any other wireless technology as described above.
p-0116Having thus described several aspects of at least one embodiment of this invention, it is to be appreciated that various alterations, modifications, and improvements will readily occur to those skilled in the art.
p-0117Such alterations, modifications, and improvements are intended to be part of this disclosure, and are intended to be within the spirit and scope of the invention. Accordingly, the foregoing description and drawings are by way of example only.
p-0118The above-described embodiments of the present invention can be implemented in any of numerous ways. For example, the embodiments may be implemented using hardware, software or a combination thereof. When implemented in software, the software code can be executed on any suitable processor or collection of processors, whether provided in a single computer or distributed among multiple computers.
p-0119Further, it should be appreciated that a computer may be embodied in any of a number of forms, such as a rack-mounted computer, a desktop computer, a laptop computer, or a tablet computer. Additionally, a computer may be embedded in a device not generally regarded as a computer but with suitable processing capabilities, including a Personal Digital Assistant (PDA), a smart phone or any other suitable portable or fixed electronic device.
p-0120Also, a computer may have one or more input and output devices. These devices can be used, among other things, to present a user interface. Examples of output devices that can be used to provide a user interface include printers or display screens for visual presentation of output and speakers or other sound generating devices for audible presentation of output. Examples of input devices that can be used for a user interface include keyboards, and pointing devices, such as mice, touch pads, and digitizing tablets. As another example, a computer may receive input information through speech recognition or in other audible format.
p-0121Such computers may be interconnected by one or more networks in any suitable form, including as a local area network or a wide area network, such as an enterprise network or the Internet. Such networks may be based on any suitable technology and may operate according to any suitable protocol and may include wireless networks, wired networks or fiber optic networks.
p-0122Also, the various methods or processes outlined herein may be coded as software that is executable on one or more processors that employ any one of a variety of operating systems or platforms. Additionally, such software may be written using any of a number of suitable programming languages and/or programming or scripting tools, and also may be compiled as executable machine language code or intermediate code that is executed on a framework or virtual machine.
p-0123In this respect, the invention may be embodied as a computer readable medium (or multiple computer readable media) (e.g., a computer memory, one or more floppy discs, compact discs, optical discs, magnetic tapes, flash memories, circuit configurations in Field Programmable Gate Arrays or other semiconductor devices, or other tangible computer storage medium) encoded with one or more programs that, when executed on one or more computers or other processors, perform methods that implement the various embodiments of the invention discussed above. The computer readable medium or media can be transportable, such that the program or programs stored thereon can be loaded onto one or more different computers or other processors to implement various aspects of the present invention as discussed above.
p-0124The terms “program” or “software” are used herein in a generic sense to refer to any type of computer code or set of computer-executable instructions that can be employed to program a computer or other processor to implement various aspects of the present invention as discussed above. Additionally, it should be appreciated that according to one aspect of this embodiment, one or more computer programs that when executed perform methods of the present invention need not reside on a single computer or processor, but may be distributed in a modular fashion amongst a number of different computers or processors to implement various aspects of the present invention.
p-0125Computer-executable instructions may be in many forms, such as program modules, executed by one or more computers or other devices. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. Typically the functionality of the program modules may be combined or distributed as desired in various embodiments.
p-0126Also, data structures may be stored in computer-readable media in any suitable form. For simplicity of illustration, data structures may be shown to have fields that are related through location in the data structure. Such relationships may likewise be achieved by assigning storage for the fields with locations in a computer-readable medium that conveys relationship between the fields. However, any suitable mechanism may be used to establish a relationship between information in fields of a data structure, including through the use of pointers, tags or other mechanisms that establish relationship between data elements.
p-0127Various aspects of the present invention may be used alone, in combination, or in a variety of arrangements not specifically discussed in the embodiments described in the foregoing and is therefore not limited in its application to the details and arrangement of components set forth in the foregoing description or illustrated in the drawings. For example, aspects described in one embodiment may be combined in any manner with aspects described in other embodiments.
p-0128Also, the invention may be embodied as a method, of which an example has been provided. The acts performed as part of the method may be ordered in any suitable way. Accordingly, embodiments may be constructed in which acts are performed in an order different than illustrated, which may include performing some acts simultaneously, even though shown as sequential acts in illustrative embodiments.
p-0129Use of ordinal terms such as “first,” “second,” “third,” etc., in the claims to modify a claim element does not by itself connote any priority, precedence, or order of one claim element over another or the temporal order in which acts of a method are performed, but are used merely as labels to distinguish one claim element having a certain name from another element having a same name (but for use of the ordinal term) to distinguish the claim elements.
p-0130Also, the phraseology and terminology used herein is for the purpose of description and should not be regarded as limiting. The use of “including,” “comprising,” or “having,” “containing,” “involving,” and variations thereof herein, is meant to encompass the items listed thereafter and equivalents thereof as well as additional items.
Contents4
10 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US2010325714A1 | Cited by | United States of America | Pre-grant |
| US8627189B2 | Cited by | United States of America | Applicant |
| US8650630B2 | Cited by | United States of America | Search report |
| US8929933B2 | Cited by | United States of America | Applicant |
| US8150675B1 | Cited by | United States of America | Search report |
| US8547862B2 | Cited by | United States of America | Search report |
| US9843469B2 | Cited by | United States of America | Applicant |
| US9130711B2 | Cited by | United States of America | Applicant |
| US9918313B2 | Cited by | United States of America | Applicant |
| US2011035522A1 | Cited by | United States of America | Pre-grant |
| US9860725B1 | Cited by | United States of America | Search report |
| US8665819B2 | Cited by | United States of America | Search report |
| US9413689B1 | Cited by | United States of America | Search report |
| US9753884B2 | Cited by | United States of America | Applicant |
| US2011317632A1 | Cited by | United States of America | Pre-grant |
| US2012239820A1 | Cited by | United States of America | Pre-grant |
| US2010071051A1 | Cited by | United States of America | Pre-grant |
| US8565811B2 | Cited by | United States of America | Applicant |
| CN113835783A | Cited by | China | Search report |
| US8521897B2 | Cited by | United States of America | Search report |
| US2002078365A1 | Cites | United States of America | Pre-grant |
| US2003114153A1 | Cites | United States of America | Pre-grant |
| US2003165130A1 | Cites | United States of America | Pre-grant |
| US2004078597A1 | Cites | United States of America | Pre-grant |
| US2004103278A1 | Cites | United States of America | Pre-grant |
| US2004185845A1 | Cites | United States of America | Pre-grant |
| US2004240412A1 | Cites | United States of America | Pre-grant |
| US2005010293A1 | Cites | United States of America | Pre-grant |
| US2005010755A1 | Cites | United States of America | Pre-grant |
| US2005021781A1 | Cites | United States of America | Pre-grant |
| US2005048320A1 | Cites | United States of America | Pre-grant |
| US2005071476A1 | Cites | United States of America | Pre-grant |
| US2006062225A1 | Cites | United States of America | Pre-grant |
| US2006215556A1 | Cites | United States of America | Pre-grant |
| US2007152076A1 | Cites | United States of America | Pre-grant |
| US2008285504A1 | Cites | United States of America | Pre-grant |
| US5446736A | Cites | United States of America | Pre-grant |
| US5627829A | Cites | United States of America | Pre-grant |
| US6295645B1 | Cites | United States of America | Pre-grant |
| US6400729B1 | Cites | United States of America | Pre-grant |
| US6567814B1 | Cites | United States of America | Pre-grant |
| US7426550B2 | Cites | United States of America | Pre-grant |
1 member in 1 office
Priority claims2
| Document | Office | Kind | Date |
|---|---|---|---|
| 3034608 | United States of America | A | |
| US20080030346 | – | – | – |
Members1
| Document | Office | Kind | |
|---|---|---|---|
| US2009204725A1 | United States of America | A1 |
59 transactions on the USPTO file
Abandoned after 3 non-final rejections, 2 final rejections and 1 RCE.
- Non-final rejections
- 3
- Final rejections
- 2
- RCEs
- 1
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Email NotificationEML_NTR | EML_NTR | |
| Mail Abandonment for Failure to Respond to Office ActionAbandonedMABN2 | MABN2 | |
| Aband. for Failure to Respond to O. A.AbandonedABN2 | ABN2 | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Final Rejection (PTOL - 326)Final rejectionMCTFR | MCTFR | |
| Final RejectionFinal rejectionCTFR | CTFR | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Reference capture on IDSRCAP | RCAP | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Response after Non-Final ActionA... | A... | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Correspondence Address ChangeC.ADB | C.ADB | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Disposal for a RCE / CPA / R129AbandonedABN9 | ABN9 | |
| Request for Continued Examination (RCE)RCEX | RCEX | |
| Workflow - Request for RCE - BeginBRCE | BRCE | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Final Rejection (PTOL - 326)Final rejectionMCTFR | MCTFR | |
| Final RejectionFinal rejectionCTFR | CTFR | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Response after Non-Final ActionA... | A... | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| PG-Pub Issue NotificationPG-ISSUE | PG-ISSUE | |
| IFW TSS Processing by Tech Center CompleteTSSCOMP | TSSCOMP | |
| Application Dispatched from OIPEOIPE | OIPE | |
| Sent to Classification ContractorPGPC | PGPC | |
| Filing ReceiptFLRCPT.O | FLRCPT.O | |
| Application Is Now CompleteCOMP | COMP | |
| Cleared by OIPE CSRL194 | L194 | |
| IFW Scan & PACR Auto Security ReviewSCAN | SCAN | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Electronic Information Disclosure StatementEIDS. | EIDS. | |
| New or Additional Drawing FiledC614 | C614 | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Initial Exam Team nnIEXX | IEXX |
3 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| AssignmentAS | AS | |
| Information on status: application discontinuationABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTIONSTCB | STCB | |
| AssignmentAS | AS |
Numbers
- Publication, DOCDB
- 2009204725
- Publication, EPODOC
- US2009204725
- Application
- 12030346
- Application, DOCDB
- 3034608
- Application, EPODOC
- US20080030346
Titles
- English
- WIMAX COMMUNICATION THROUGH WI-FI EMULATION
Classification
- CPC, 3
- H04W4/18
- H04W88/06
- H04W92/00
- IPC, 2
- G06F15 16
- G06F9 44
- USPC, 2
- 709246000
- 719321000