Patent ID: 8107939

Claim:
A computing device comprising: at least one antenna; a plurality of hardware components, coupled to the at least one antenna, adapted to generate signals to transmit through the at least one antenna or process signals received through the at least one antenna, the operation of each of at least a portion of the plurality of hardware components being configurable in response to a control input; and computer-readable media to store computer executable instructions comprising computer executable modules as computer-executable instructions, the computer-executable modules comprising: a data generating or consuming module to generate data for inclusion in the signals to transmit or to operate on data extracted from the signals received through the at least one antenna; and software defined radio modules, comprising: a plurality of data processing modules, the plurality of data processing modules collectively configured to process data exchanged between the hardware components and the data generating or consuming module, at least a portion of the data processing modules being configurable in response to control inputs; and a plurality of control modules, the plurality of control modules collectively for receiving an input defining a function of a radio, and for generating control signals to the control inputs of the portion of the data processing modules and the control inputs of the portion of the plurality of hardware components, and for preferentially configuring the computing device to perform the function in the portion of the plurality of hardware components, wherein at least one of the plurality of control modules comprises an offload engine module, the offload engine module configured to determine whether the portion of the plurality of hardware components is capable of implementing a function of a wireless technology, and the preferentially configuring comprises: if the portion of the plurality of hardware components is capable of implementing the function, generating control signals to the portion of the plurality of hardware components to implement the function, and if the portion of the plurality of hardware components is not capable of implementing the function, generating control signals to software components to implement the function in the software components.