METHOD AND TERMINAL DEVICE FOR EXECUTING RADIO APPLICATION
20170273068 · 2017-09-21
Assignee
Inventors
- Seung Won Choi (Seoul, KR)
- Dong Hyun Kuem (Gyeonggi-do, KR)
- Yong Jin (Seoul, KR)
- Kyung Hoon Kim (Seoul, KR)
Cpc classification
H04B1/0003
ELECTRICITY
H04B1/0032
ELECTRICITY
H04B1/0014
ELECTRICITY
H04B1/0025
ELECTRICITY
H04L27/0002
ELECTRICITY
H04W88/06
ELECTRICITY
H04B1/001
ELECTRICITY
International classification
H04W4/00
ELECTRICITY
Abstract
A method and terminal device for executing a radio application is disclosed. The method for executing a radio application is a method for executing a radio application independent of a modem in a terminal device, comprising the steps of: communicating with each other using a reconfigurable radio frequency interface (RRFI) by a unified radio application (URA), which operates on a radio computer of the terminal device, and a radio frequency (RF) transceiver, which operates in a radio platform on the radio computer; and supporting, by the RRFI, at least one service among a spectrum control service, a power control service, an antenna management service, a transmission/reception chain control service, and a radio virtual machine protection service.
Claims
1. A method for executing a radio application independent of a modem, performed in a terminal device, the method comprising: communicating with each other using a reconfigurable radio frequency interface (RRFI) by a unified radio application (URA), which operates on a radio computer of the terminal device, and a radio frequency (RF) transceiver, which operates in a radio platform on the radio computer; and supporting, by the RRFI, at least one service among a spectrum control service, a power control service, an antenna management service, a transmission/reception chain control service, and a radio virtual machine (RVM) protection service.
2. The method according to claim 1, wherein the at least one service supported by the RRFI is different according to a reconfiguration class of the terminal device.
3. The method according to claim 1, wherein the RRFI is used in parallel with or complementarily to other radio frequency interface defining physical interconnections between a baseband processing part and a RF integrated circuit of the terminal device.
4. The method according to claim 1, wherein the RRFI provides a first interface for configuration of the RF transceiver, and the first interface allows at least one of the URA and the RF transceiver to change control information and data between the URA and the RF transceiver according to a radio spectrum environment.
5. The method according to claim 4, wherein the RRFI provides a seventh interface for unified representation of control information, and the seventh interface allows control information through a RF front-end connected to the RF transceiver to be represented in a unified format for handling of the RF front-end.
6. The method according to claim 4, wherein the RRFI provides an eighth interface for unified representation of a data payload, and the eighth interface allows the data payload passing through a RF front-end connected to the RF transceiver to be represented in a unified format for data handling of the RF front-end.
7. The method according to claim 4, wherein the RRFI provides a ninth interface for selection of a RF protection class which is introduced for tradeoffs between an effort for certification or re-certification and flexibility of a RF front-end connected to the RF transceiver, and the flexibility of the RF front-end includes band selection, bandwidth selection, limitation on out-of-band (OOB) emission, or a combination of them.
8. The method according to claim 1, wherein the RRFI provides a second interface for extension of a multi-antenna system, and the second interface allows the URA to select a number of physical input antennas or physical output antennas according to radio environments.
9. The method according to claim 1, wherein the RRFI provides a third interface for capability of multiple frequency bands, and the third interface supports a plurality of radio applications using different frequency bands.
10. The method according to claim 1, wherein the RRFI provides a fourth interface for reconfiguration of the RF transceiver, and the fourth interface allows the RF transceiver to manage at least one output signal or received signal from at least one radio application or to the URA.
11. The method according to claim 1, wherein the RRFI provides a fifth interface for interworking of radio resources, and the fifth interface supports a plurality of radio applications to share the radio resources.
12. The method according to claim 1, wherein the RRFI provides a sixth interface for testing radio equipment, the sixth interface supports a test mode having a capability of testing a RF path without emission of radio waves, and the test mode includes a loop-back mode in which a transmission chain connected to the RF transceiver is connected to a reception chain.
13. The method according to claim 1, wherein the RRFI is based on an extension of classes of the radio computer, the classes of the radio computer include RCMeasurements class, RCConfiguration class and subclasses thereof, Channel class and subclasses thereof, and RCCapabilities class.
14. The method according to claim 13, wherein the RRFI connects a RVM software component and a baseband implementation integrated circuit of a baseband processing part of the terminal device with a chain of the RF transceiver or a RF front-end.
15. A terminal device for executing a radio application independent of a modem, comprising: a unified radio application (URA) operating in a radio computer of the terminal device; a radio frequency (RF) transceiver operating in a radio platform of the radio computer; and a reconfigurable radio frequency interface (RRFI) connecting the URA and the RF transceiver, and supporting at least one service among a spectrum control service, a power control service, an antenna management service, a transmission/reception chain control service, and a radio virtual machine (RVM) protection service.
16. The terminal device according to claim 15, wherein the at least one service supported by the RRFI is different according to a reconfiguration class of the terminal device.
17. The terminal device according to claim 15, wherein the RRFI is used in parallel with or complementarily to other radio frequency interface defining physical interconnections between a baseband processing part and a RF integrated circuit of the terminal device.
18. The terminal device according to claim 17, further comprising the baseband processing part including a RVM software component selecting a radio frequency and a RVM protection class, and a baseband implementation integrated circuit, and a RF front-end chain or a RF transceiver chain connected with the baseband processing part via a digital interface, wherein the RVM software component and the baseband implementation integrated circuit communicate with the RF front-end chain or the RF transceiver chain via the RRFI.
19. The terminal device according to claim 15, wherein the spectrum control service includes configuration of a center frequency, configuration of a bandwidth, and configuration of a sampling rate.
20. The terminal device according to claim 15, wherein the RRFI includes a first interface for the spectrum control service, the URA transmits, via the first interface, to the RF transceiver a message for requesting configuration of a center frequency, a bandwidth, or a sampling rate, and the RF transceiver transmits, via the first interface, to the URA a message for confirming the configuration of the center frequency, the bandwidth, or the sampling rate, or indicating a failure of the configuration of the center frequency, the bandwidth, or the sampling rate.
Description
DESCRIPTION OF DRAWINGS
[0035]
[0036]
[0037]
[0038]
[0039]
[0040]
[0041]
[0042]
[0043]
[0044]
[0045]
[0046]
[0047]
[0048]
[0049]
[0050]
[0051]
[0052]
BEST MODE
[0053] The present invention may be variously modified and may include various embodiments. However, particular embodiments are exemplarily illustrated in the drawings and will be described in detail. However, it should be understood that the particular embodiments are not intended to limit the present disclosure to specific forms, but rather the present disclosure is meant to cover all modification, similarities, and alternatives which are included in the spirit and scope of the present disclosure. Like reference numerals refer to like elements throughout the description of the drawings.
[0054] Relational terms such as first, second, A, B, and the like may be used for describing various elements, but the elements should not be limited by the terms. The terms are used solely for distinguishing one element from another. For instance, without departing the scope of the present disclosure, a first element may be named as a second element, and similarly, a second element may be named as a first element. The term “and/or” encompasses both combinations of the plurality of related items disclosed and any item from among the plurality of related items disclosed.
[0055] It will be understood that when an element is referred to as being “connected” or “coupled” to another element, it can be directly connected or coupled to the other element or intervening elements may be present. In contrast, when an element is referred to as being “directly connected” or “directly coupled” to another element, there are no intervening elements present.
[0056] The terminology used herein is not for delimiting the present invention but for describing the specific embodiments. The terms of a singular form may include plural forms unless otherwise specified. It will be further understood that the terms “comprises,” “comprising,” “includes” and/or “including,” when used herein, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
[0057] Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the relevant art and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein.
[0058] Terminologies used for explaining the present invention are defined as follows. Other terminologies except the following terminologies will be defined in the corresponding part of the present specification. [0059] Radio Application (RA): an application which provides a radio communication environment independent on specific hardware configurations and user applications. The radio application may be executed on a radio processor. Alternatively, the radio application may be configured to comprise a part which is executed on a radio processor and a part which is executed on an application processor, and to operate on the two processors. The radio application may comprise a radio controller and function blocks. The function blocks may include standard function blocks and user defined function blocks. [0060] Radio Application Package (RAP): As a distribution form of a radio application, a RAP may include a radio controller and function blocks which are components of the radio application, and also include pipeline configuration metadata. In addition, the radio application package may further include a radio library. [0061] Standard Function Block (SFB): It is a standardized function block each of which has a standardized function and a standardized function name used for calling the function. In case that radio platform chip vendors develop the standard function blocks, the standard function blocks may be a set of function blocks implemented by the vendors, and may be provided with a driver used for driving the blocks. The standard function blocks may be implemented by using a dedicated hardware accelerator, or implemented as executable codes to be executed on a radio processor core. If the standard function blocks are implemented as executable codes to be executed on a radio processor core, a set of the standard function blocks may be referred to as a radio library. Each of the standard function blocks has standardized name and feature for its function, and may be defined by using a standard baseband Application Programming Interface (API) header. [0062] User-Defined Function Block (UDFB): It is a function block which can be provided by radio application providers. A UDF may have a function which is not provided as a standard function block or a function which is customized from an existing standard function block. It may be implemented to be executed on a radio processor core. The user-defined function blocks may be provided in forms of executable codes, source codes, or intermediate representation (IR) codes. [0063] User Defined Function Block (UDFB) set: A set of user-defined function blocks which are provided by radio application providers. [0064] Radio Hardware Abstract Layer (HAL): It is a layer abstracting various kinds of hardware in aspect of an operating system (OS). Since standardized abstract interfaces of accelerator are independent on hardware, HAL enables OS to access all types of hardware. A role of HAL is similar to a role of driver. However, HAL is included in OS differently from drivers which may change according to hardware changes. [0065] Radio Platform Driver: It is software needed for OS to recognize hardware. This is software matching OS instructions which are independent on hardware with hardware-instructions, and may act as a usual hardware driver. [0066] Radio Platform: It may be a part of mobile device hardware related to RF functions, such as fixed and/or programmable hardware accelerator, RF transceiver, and antenna. That is, the radio platform may be a part of hardware which can generate or receive RF signals. Basically, the radio platform may be heterogeneous hardware including different processing elements such as fixed accelerators (for example, application-specific integrated circuit (ASIC)) or reconfigurable accelerators (for example, FPGA). [0067] Radio Computer: It may be a combination of a radio processor (RP) and a radio platform in a reconfigurable mobile device. In a mobile device, individual radio application may be designed as software elements executable on a radio processor which can be considered as a general-purpose computing element.
[0068] Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. In describing the invention, to facilitate the entire understanding of the invention, like numbers refer to like elements throughout the description of the figures, and a repetitive description on the same element is not provided.
[0069]
[0070] Referring to
[0071] The various radio access technologies may include Long Term Evolution (LTE). Wideband Code Division Multiple Access (WCDMA), Worldwide Interoperability for Microwave Access (WiMax), Global System for Mobile Communications (GSM), Radio-Frequency Identification (RFID), and so on. The user may freely select a radio application to be used situationally among a plurality of radio applications which have been downloaded and installed in the terminal.
[0072] Composition and Software Architecture of a Radio Application
[0073]
[0074] Referring to
[0075]
[0076] A non-real time OS such as Andriod OS of Google, iOS of Apple, etc. may operate on the AP, and a real time OS (hereinafter, referred to as a ‘radio OS’) may operate on the RP. Hereinafter, for clear discrimination, the non-real time OS operating on the AP layer may be referred to as ‘OS’, and the real time OS operating on the RP layer may be referred to as ‘radio OS’.
[0077] Hereinafter, the AP layer, the RP layer, and components constituting the RCF will be described in detail.
[0078] Application Processor Layer
[0079] The AP layer comprises, as shown in
[0080] Drivers may drive hardware devices on a given OS. The hardware devices may include a camera, a speaker, etc.
[0081] OS may be a non-real time OS such as Android and iOS operating in general mobile devices. If the RCF is configured to operate on the AP and the RP both, an AP layer part of the RCF may exist on the OS.
[0082] The CSL may provide at least some of the following three services to the RCF.
[0083] The first service is related to an administrative. It may be a service related to installation/uninstallation of radio applications, creating/deleting instance of radio applications, and acquisition of a list of radio applications in each status (installed, instanced, activated).
[0084] The second service is related to connection control. It may be a service related to activation/deactivation of radio applications, creation of data flow, creation of network allocation, and acquisition of a list of radio applications in each status (installed, instanced, activated).
[0085] The third service is related to data flow. That is, this service is a service related to sending/receiving user data.
[0086] As an example of CSL configurations for providing at least some of the above-described three services, the CSL may be configured to comprise an administrator application, a mobility policy manager application, a networking stack, and a monitor application. The networking stack may comprise a protocol stack operating in the CSL.
[0087] Meanwhile, the CSL may comprise only some of the above-described components, and may further comprise additional components as well as the above-described components. Also, one or more components among the above components may be integrated into a single component existing within the CSL. Also, the above-described components are only examples of components which the CSL can comprise in order to support services which should be performed by the CSL. That is, the CSL may be defined based on functions performed by it. The above-described exemplary composition of components does not restrict composition of the CSL.
[0088] In the configuration in which the RCF operates on both the AP and the RP, radio applications, which become targets of distribution, installation, and execution of the terminal device according to the present embodiment, may respectively comprise AP layer parts and RP layer parts. A radio controller (RC) which is the AP layer part of each radio application may be configured to transmit context information to the monitor application of the CSL, transmit data to the networking stack of the CSL, and receive data from the networking stack.
[0089] Radio Processor Layer
[0090] The RP layer may comprise, as shown in
[0091] A radio OS 121 is a real time operation system. If the RCF is configured to operate on both of the AP and the RP, a RP layer part of the RCF may exist on the radio OS.
[0092] Radio platform drivers may be components demanded for the radio OS to recognize a hardware radio platform similarly to usual hardware drivers.
[0093] If the RCF operates only on the RP (refer to
[0094] Radio controllers (RCs) of respective radio applications may be configured to transmit context information to the monitor application of the CSL, transmit data to the networking stack of the CSL, and receive data from the networking stack.
[0095] The above-described RP may constitute a radio computer together with the radio platform or the radio platform hardware. Here, the radio platform hardware may be configured as programmable hardware of the RP and baseband accelerators. The baseband accelerators prepared for the standard function block(s) may usually be provided in form of application-specific integrated circuit (ASIC). Also, the radio platform may include at least one RF transceiver and at least one antenna.
[0096] A multi-radio interface (MURI) is used as an interface between the above-described CSL and the RCF, and a unified radio application interface (URAI) is used as an interface between the radio application and the RCF. Also, a reconfigurable radio frequency interface (RRFI) is used as an interface between a radio application and the RF transceiver.
[0097] A radio application is an application enabling communications of a mobile terminal, and may be distributed in form of a radio application package (RAP). The RAP may comprise components such as function blocks (FBs), pipeline configuration metadata, radio controller code (RC code), and radio library.
[0098] The radio library may be distributed in form of executable codes as included in a RAP, in a case that the standard function blocks (SFB) are distributed as executable codes. The RAP may be downloaded onto the OS of the AP layer, and the user-defined function block codes and the radio library may be loaded from the AP to the RP by referring to the pipeline configuration metadata, and finally loaded to the radio OS on the RP layer.
[0099] Radio Control Framework
[0100] The radio control framework (RCF) is a component for providing operation environment of radio applications.
[0101] If the RCF is configured to operate on both the AP and the RP, components of the RCF may be classified into two groups. That is, one group operates on the AP, and other group operates on the RP. Which components of the RCF operate on the RP (i.e. in real-time) and which components of the RCF operate on the RP (i.e. in non-real-time) may be determined differently by each vendor.
[0102] Basically, the RCF may include at least some of the following 5 components for managing radio applications.
[0103] However, the RCF may comprise only some of the following 5 components, and may further comprise additional components as well as the following 5 components. Also, one or more components among the following components may be integrated into a single component existing within the RCF.
[0104] The function and role of the RCF may be defined based on functions performed by the components which will be described. The following exemplary components do not restrict composition of the RCF. That is, the RCF may have various configurations for performing at least some of functions of the following components.
[0105] 1) Configuration Manager (CM): Installation/uninstallation and creating/deleting instance of RAs for a multi radio terminal apparatus as well as access management of radio parameters for RAs.
[0106] 2) Radio Connection Manager (RCM): Activation/deactivation of RAs according to user requests, and overall management of user data flows, which can also be switched from one RA to another.
[0107] 3) Flow Controller (FC): Sending and receiving of user data packets and controlling the flow of signaling packets.
[0108] 4) Multiradio Controller (MRC): Scheduling the requests for radio resources issued by concurrently executing RAs and detecting and managing the interoperability problems among the concurrently executing RAs.
[0109] 5) Resource Manager (RM): Managing multi-radio resources to share them among simultaneously active RAs, and to guarantee their real-time requirements.
[0110] Software Architecture of RRFI
[0111]
[0112] Referring to
[0113] In order to run multiple URAs, the reconfigurable terminal device (hereinafter, referred to simply as ‘terminal device’) may include the CSL, RCF, radio platform and 4 sets of interfaces for their interconnection.
[0114] The four interfaces related to the reconfigurable terminal device according to an embodiment of the present invention may include a Multi Radio Interface (MURI) which is an interface between respective components of the CSL and RCF, a Reconfigurable Radio Frequency Interface (RRFI) which is an interface between a URA and a RF transceiver, a Unified Radio Application Interface (URAI) which is an interface between an URA and respective components of the RCF, and a Radio Programming Interface (RPI) which is an interface allowing an independent and uniform production of RAs.
[0115] The RRFI is an interface defined between a URA and a RF transceiver, that is, an interface between a URA and radio spectrums.
[0116]
[0117] As shown in
[0118] The spectrum control services may be used to set up spectrum-related parameters of a RF transceiver system. Various radio applications may have their unique spectrum parameters. The spectrum-related parameters may include center frequency, bandwidth, sampling rate, handover parameter configuration and so on.
[0119] For the spectrum control services, the RRFI may provide a first interface. In this case, the URA may transmit, through the first interface, to the RF transceiver a message requesting to configure the center frequency, bandwidth, or sampling rate. Also, the RF transceiver may transmit, through the first interface, to the URA a message for confirming configuration of the center frequency, bandwidth, or sampling rate, or a message for indicating a failure of the configuration of the center frequency, bandwidth, or sampling rate.
[0120] The power control services may be used to set up power-related parameters of a RF transceiver system. For example, the power-related parameters may include maximum Tx power level, Tx power per antenna, receive sensitivity level, Tx/Rx gain, Rx gain, Monitoring of Tx power level and so on. Also, the power control services may support setting of specific power schemes. Here, the specific power schemes may include day, night, event, power saving, etc.
[0121] For the power control services, the RRFI may provide a second interface. In this case, the URA may transmit, through the second interface, to the RF transceiver a message requesting to configure the maximum Tx power level, Tx power per antenna, or Rx chain gain, or to measure Tx power level of an activated radio application. Also, the RF transceiver may transmit, through the second interface, to the URA a message for confirming configuration of the maximum Tx power level, Tx power per antenna, or Rx chain gain, or a message for indicating a failure of the configuration of the maximum Tx power level, Tx power per antenna, or Rx chain gain. Also, the second interface is used for the RF transceiver to transmit to the URA information related to the measurement of Tx power level of the activated radio application.
[0122] The antenna management services may be used to provide services related to antenna port selection of a RF transceiver system, and services related to RF radiation patterns. For example, antenna radiation pattern, antenna gain, antenna direction, sector configuration (e.g., 3×1, 1×1, etc.), physical antenna type (e.g., multi-pad, MIMO, SIMO, MISO, SISO, etc.), etc. may be factors to be considered in the antenna management services.
[0123] For the antenna management services, the RRFI may provide a third interface. In this case, the URA may transmit, through the third interface, to the RF transceiver a message for indicating selection of Tx antenna port or Rx antenna port. Also, the RF transceiver may transmit, through the third interface, to the URA a message for confirming the selection of Tx antenna port or Rx antenna port, or a message for indicating a failure of the selection of Tx antenna port or Rx antenna port.
[0124] The Tx/Rx chain control services may be used to provide parameters related to real-time control of the RF transceiver chain. For example, the parameters to be controlled using the Tx/Rx chain control services may include Tx start/stop time, Rx start/stop time, update of Tx/Rx chain parameters and so on. Also, the Tx/Rx chain control services may be used to transfer baseband signals generated by the URA to the RF transceiver, and control variable spectrum-related setting values and/or variable power-related setting values in real-time during actual communications.
[0125] For the Tx/Rx chain control services, the RRFI may provide a fourth interface. In this case, the URA may transmit, through the fourth interface, to the RF transceiver a message requesting to configure the Tx start time, Tx stop time. Rx start time, or Rx stop time, or a message to update the Tx/Rx chain parameters. Also, the RF transceiver may transmit, through the fourth interface, to the URA a message for confirming the configuration of the Tx start time, Tx stop time, Rx start time, or Rx stop time, or the update of the Tx/Rx chain parameters, or a message for indicating a failure of the configuration of the Tx start time, Tx stop time, Rx start time, or Rx stop time, or the update of the Tx/Rx chain parameters.
[0126] The RVM protection services may provide a service used for the RF transceiver system to select a RVM protection class. For example, parameters to be controlled using the RVM protection services may include selection and/or request of RVM RF protection class, RF Front-end indication of input data signals modification, etc. The RVM protection services will be described in further detail.
[0127] RVM Protection Services
[0128] Interfaces or messages related to services in the RVM protection services of the RRFI may be described as follows. As a part of RRFI features, the RVM protection services may include services such as selection of RF protection class, request of RF protection class status, request for change of RF protection classes, RF front-end indication of modification of input data signals, RF front-end emergency switch off, and information on cross radio access technology interference.
[0129] Selection of RF protection class: In the context of software reconfiguration, the RF front-end typically allows the selection of RF protection classes. The suitable protection class is typically provided with the software component and influences the level of required re-certification (leading to the final declaration of conformity) of the concerned terminal device. The selection request for a specific RF Protection class is typically followed by an acknowledgement message (ACK) issued by the RF Front-End in case of successful operation, in case of unsuccessful operation a NACK (not acknowledgement) message is issued. In case that the RF front-end is not providing support for a specific requested protection class then the next higher protection class is selected which comprises the requested protection features plus possibly further ones. This is followed by the issuance of an ACKM (acknowledgement with modification) message. Possibly, details on the modified protection class selection may be given when a protection is requested. If the request for a protection class specifically indicates that no higher class may be selected (the more restrictive protection mechanisms may prevent the software components from operating correctly), then the next lower class is selected in case that the specific requested protection class is not available. This, however, possibly requires a more detailed re-certification process (declaration of conformity) since the lower protection class may lead to a less protected front-end and thus poses a higher risk to other users.
[0130] Request of RF protection class status: other components such as baseband and/or AP components may request information on the RF protection class status. Then, the RF front-end may provide information on which protection class mechanisms are activated, e.g. additional filters for limiting out-of-band (OOB) emissions and/or spurious emissions, limitation of maximum output power levels, etc.
[0131] Request of change of RF protection class: RF protection may be changed depending on the currently active Radio Access Technologies, e.g. when hard-wired WiFi is used no RF Protection Classes are required or they are deactivated. On the other hand, when a software-modified LTE is used, a specific RF protection class may be required. (for example, in order to reduce the required level of re-certification.) The change of the protection class may occur based on a specific external trigger to the RF front-end. For example, the RF-front end may be programmed such that RF protection classes are (re-)configured (into activated state or inactivated state) temporarily or conditionally as required, typically depending the input waveform-radio access technology (RAT) data.
[0132] RF front-end indication of modification of input data signals: in case that the RF front-end protection mechanisms selected by one of the upper processes need to alter the request for data transmission such as reduction of output power levels, cutting of out-band signal components, etc., a corresponding information to the outputs of the RF front-end may be provided as a message. This may be typically processed by the baseband and/or AP.
[0133] RF front-end emergency switch off: in case that the RF front-end protection mechanisms detect massive violations of the emission limitations (e.g., massive OOB/spurious emissions, etc.), the RF front-end may decide to switch off the concerned transmission. Meanwhile, other (simultaneous) transmissions may still continue to operate in case they meet the limitations).
[0134] Information on cross-RAT interference: when multiple RATs are transmitted or received simultaneously, it is possible that the various RATs interfere with each other. If such interferences are detected in the RF front-end, the RF front-end may provide corresponding information to the URA, radio OS. RCF, or radio computer via the RRFI.
[0135] Class Definitions for Interface Each interface class related to RRFI may be defined using the template presented in the following tables 1 to 3, and the UML diagram of
TABLE-US-00001 TABLE 1 Class SpectrumControlServices This class describes interfaces supporting Spectrum Control Services OPERATIONS setTxCenterFrequency Return type: Value type: BOOLEAN public This operation is needed for setting center frequency of Tx chain. setTxBandwidth Return type: Value type: BOOLEAN public This operation is needed for setting bandwidth of Tx chain. setTxSamplingRate Return type: Value type: BOOLEAN public This operation is needed for setting sampling rate of Tx chain. setRxCenterFrequency Return type: Value type: BOOLEAN public This operation is needed for setting center frequency of Rx chain. setRxBandwidth Return type: Value type: BOOLEAN public This operation is needed for setting bandwidth of Rx chain. setRxSamplingRate Return type: Value type: BOOLEAN public This operation is needed for setting sampling rate of Rx chain. getTxChainParameters Return type: Value type: TxChainParameters public This operation is needed for getting parameters of Tx chain. getRxChainParameters Return type: Value type: RxChainParameters public This operation is needed for getting parameters of Rx chain.
TABLE-US-00002 TABLE 2 Class RFFrontEndProtectionClassConfiguration (or short name IRRF_Config) This class describes interfaces for configuration of a RF protection class OPERATIONS SelectRFProtectionClass Return type: Value Ack Type type: (typically public ACK, NACK, ACKM) This operation is related to the selection of an RF protection class. RequestConditionalChangeOfProtectionClass Return type: Value AckType type: (typically public ACK, NACK, ACKM) This operation is related to the (temporary/ conditional) change of an RF protection class
TABLE-US-00003 TABLE 3 Class RFFrontEndProtectionClassInformationService (or short name IRRF_IS) This class describes interfaces supporting RF protection classes and related other components requesting RF protection related information OPERATIONS RequestStatusRFProtectionClass Return type: Value type: ProtectionStatusType public This operation is related to requesting/delivering information on the current status RF protection class (i.e., which protection mechanisms are currently activated for which configuration (e.g., for which RAT type), etc.). RequestInformationOnDataModificationByRF Return type: Value type: Protection RFProtectionInformationType public This operation is related to requesting/delivering information on how a RF protection class has modified incoming data prior to transmission in order to meet protection requirements RequestInformationOnCrossRATInterference- Return type: Value type: ByRFProtection RFProtectionInformationType public This operation is related to requesting/delivering information on how (how much) there is interference among (simultaneously transmitted/received) RATs due to operations of the currently active RF protection class. ProvideInformationOnEmergencySwitchByRF Return type: Value type: Protection ProtectionStatusType public This operation is related to requesting/delivering information on an eventual emergency switch off of the RF front-end due to massive violation of protection requirements
[0136] At least one service of the above-described RRFI may be implemented in a terminal device according to a mobile device reconfiguration class (MDRC) of the terminal device. The reconfigurable terminal device may support RRFI services according to its MDRC as shown in the below table 4. In case that the reconfigurable terminal device supports multiple MDRCs, the corresponding reconfigurable terminal device may support all the services related to MDRC as defined in the below table 4.
[0137] Here, an URA may be defined as a part of a RP in a radio computer, which can generate baseband signals to be transmitted, and decode received baseband signals.
[0138] Also, a transceiver system with at least one transceiver chain and at least one antenna may be defined as a part of a radio platform in a radio computer, which can convert baseband signals into radio signals, and convert radio signals into baseband signals.
[0139] Also, a class may be a type of a template defining variables in a specific type of an object and methods for them. Therefore, the object may have actual values instead of the variables as an instance defined by the class. The class, as a concept defining object-oriented programming, may have a sub-class inheriting all or part of the characteristics of the class. In this case, the class may become a super class for each sub-class. The sub-class may define its own methods and variables, and a structure between the class and the sub-class may be defined as a class hierarchy. The methods may mean codes for performing specific operations similarly to functions, subroutines, routines, and procedures.
TABLE-US-00004 TABLE 4 Tx/Rx Mobile Device Spectrum Power Antenna Chain RVM Reconfigu- Control Control Management Control Protection ration Class services services services services services MDRC-0 No No No No No MDRC-1 Yes Yes No No Yes MDRC-2, Yes Yes Yes Yes Yes MDRC-5 MDRC-3, Yes Yes Yes Yes Yes MDRC-6 MDRC-4, Yes Yes Yes Yes Yes MDRC-7
[0140] In the table 4, MDRC-0 may denote a class of a mobile device which cannot be reconfigured, MDRC-1 may denote a class of a mobile device with fixed hardware which cannot share resources, MDRC-2 and MDRC-5 may denote classes of mobile devices having predefined fixed resources, MDRC-3 and MDRC-6 may denote classes of mobile devices having static resource conditions, and MDRC-4 and MDRC-7 may denote classes of mobile devices having dynamic resource conditions. Also, the MDRC-2, MDRC-3, and MDRC-4 may denote classes of mobile devices which can implement RRFI, etc. by downloading platform-specific executable codes, and the MDRC-5, MDRC-6, and MDRC-7 may denote classes of mobile devices which can implement RRFI, etc. by downloading platform-independent source codes.
[0141] Re-referring to
[0142] More specifically, the URA may be defined as a part of a RP in a radio computer.
[0143] The RF transceiver may comprise at least one RF transceiver chain and at least one antenna. The RF transceiver may be a part of a radio platform in a radio computer. The radio platform may convert baseband signals into radio signals in the Tx mode, and convert radio signals into baseband signals in the Rx mode.
[0144] The RF interfaces may define physical interconnections between a baseband (e.g. modem) and a radio frequency integrated circuit (RFIC). For example, a wireless mobile RFIC may interwork with a baseband IC interface of the mobile device. The RF interface may be a complementary interface used in parallel with the RRFI.
[0145] The above-described entities, components, or units of the radio computer may be mapped to system requirements for the RF transceiver of the mobile device (i.e. the terminal device according to an embodiment of the present invention). The system requirements may include signals or messages related to configuration requests, commands, or requests enabling the RF transceiver to select RF configuration parameters.
[0146] The system requirements may include a first system requirement (R-FUNC-RFT-01) related to RF configuration, a second system requirement (R-FUNC-RFT-02) related to extendibility for multiple antenna system, a third system requirement (R-FUNC-RFT-03) related to capability of multiple frequency bands, a fourth system requirement (R-FUNC-RFT-04) related to reconfiguration of the RF transceiver, a fifth system requirement (R-FUNC-RFT-05) related to interoperability of radio resources, a sixth system requirement (R-FUNC-RFT-06) related to testability if radio equipment, a seventh system requirement (R-FUNC-RFT-07) related to unified representation of control information, an eighth system requirement (R-FUNC-RFT-08) related to unified representation of data payload, and a ninth system requirement (R-FUNC-RFT-09) related to selection of RF protection class.
[0147] The below table 5 shows an example of mapping of URA, RF transceiver, and RRFI, which are the above-described entities, components, or units of the radio computer, to system requirements. In the table 5, brief comments on functions of mapped system requirements are provided.
TABLE-US-00005 TABLE 5 Entity/Component/ System Unit Requirements Comments Unified Radio R-FUNC-RFT-02 Radio Application selects a Applications suitable number of antenna inputs/outputs. R-FUNC-RFT-05 Radio resources are shared between multiple Radio Applications RF Transceiver R-FUNC-RFT-03 The reconfigurable mobile device supports multiple Radio Applications using distinct frequency bands. R-FUNC-RFT-04 RF transceiver manages input/output signals from/to one or several Radio Applications. R-FUNC-RFT-06 RF transceiver support a loop-back test mode Reconfigurable R-FUNC-RFT-01, The RRFI provides a RF Interface R-FUNC-RFT-07, suitable interface for R-FUNC-RFT-08 RF transceiver configuration. R-FUNC-RFT-09 The RRFI supports a suitable selection of an RF protection class.
[0148] Interface Definition
[0149]
[0150] Referring to
[0151] Also, the terminal device may comprise analog-digital converter and digital-analog converter between the RF front-end chain or the RF transceiver chain and the baseband processing part. Here, the analog-digital converter and digital-analog converter may be implemented based on conventional interface standards such as DigiRF, etc. which are not specified by the RRFI. The conventional interface standard may be referred to as ‘other RF interfaces’. However, the RF front-end chain, RF transceiver chain, software component of the RVM, and the baseband implement integrated circuit may be interconnected to each other via RRFI according to the present invention.
[0152] Information Model for Radio Commuter
[0153]
[0154] As illustrated in
[0155] RadioComputer class: This class describes all resources and interfaces related to hardware and software of a reconfigurable mobile device. For example, the RadioComputer class may include computational/spectral resource usage, collection of context information, channel measurement results, etc. The RadioComputer class may be associated with User class via IRRFI class.
[0156] RCCapabilities class: This class contains information about capabilities of the radio computer, including hardware, software, transmission and measurement capabilities such supported RATs and maximum transmission power. Each instance of RadioComputer class shall have only one instance of RCCapabilities class as a member.
[0157] Channel class: This class contains one radio channel that may or may not be used by an active radio link. Each instance of RadioComputer class can have zero, one or several instances of Channel class as members.
[0158] ChannelProfile class: This class contains general information about the radio channel such as channel ID, center frequency, bandwidth, and used radio interface. Each instance of Channel class shall have only one instance of Channel Profile class as a member.
[0159] ChannelMeasurements class: This class contains current measurements (instantaneous measurement data and performance statistics derived from this data) and the applied measurement configuration related to this radio channel such as interference and load measurements. Each instance of Channel class shall have only one instance of ChannelMeasurements class as a member.
[0160] RCConfiguration class: This class contains information about the current configuration of the radio Computer. Each instance of RadioComputer class shall have only one instance of RCConfiguration class as a member.
[0161] Link class: This class contains information about one active URA and the corresponding connection between the Reconfigurable mobile device and the Radio Access Network (RAN). Each instance of RCConfiguration class has zero, one or several instances of Link class as members. Each instance of Link class is associated with one instance of Channel class.
[0162] LinkProfile class: This class contains general information about this active connection, for example, link Identification (ID), serving cell ID, channel used, etc. Each instance of Link class shall have only one instance of LinkProfile class as a member.
[0163] LinkMeasurements class: This class contains current measurements (instantaneous measurement data and performance statistics derived from this data) related to this active connection, such as Block Error Rate (BLER), power, and Signal to Interference plus Noise Ratio (SINR) measurements. Each instance of Link class shall have only one instance of LinkMeasurements class as a member.
[0164] RFConfiguration class: This class contains information about the configuration of the RF transceiver. Each instance of Link class shall have only one instance of RFConfiguration class as a member.
[0165] TxPath class: This class contains information about one transmit path. Each instance of RFConfiguration class has zero or one instance of TxPath class as a member.
[0166] RxPath class: This class contains information about one receive path. Each instance of RFConfiguration class shall have only one instance of RxPath class as a member.
[0167] Antenna class: This class contains information about antenna selection. Each instance of Link class shall have at least one instance of Antenna class as a member. The antenna class may have AntennaProfile class and AntennaMeasurements class as its lower classes.
[0168] AntennaProfile class: This class contains general information about this antenna, such as antenna ID. Each instance of Antenna class shall have only one instance of AntennaProfile class as a member.
[0169] AntennaMeasurements class: This class contains information about current measurements related to an antenna, such as gain measurements (instantaneous measurement data and performance statistics derived from this data). Each instance of Antenna class shall have only one instance of AntennaMeasurements class as a member.
[0170] RCMeasurements class: This class contains current measurements (instantaneous measurement data and performance statistics derived from this data) related to reconfigurable mobile device such as battery capacity, user mobility, mobile device location determination, and connection history information. Each instance of RadioComputer class shall have only one instance of RCMeasurements class as a member.
[0171] Class Definitions for Information Model
[0172] The above-described classes of radio computer may be defined by using the UML diagram of
TABLE-US-00006 TABLE 6 Class RadioComputer This class contains all URA related information about resources and interactions related to hardware and software of a reconfigurable MD. DERIVED FROM ATTRIBUTES CONTAINED IN CONTAINS RCCapabilities, RCConfiguration, RCMeasurements, Channel, RFConfiguration SUPPORTED EVENTS
TABLE-US-00007 TABLE 7 Class RCCapabilities This class contains information about Radio Computer capabilities including hardware, software, transmission and measurement capabilities. DERIVED FROM ATTRIBUTES listOfSupportedOptions Value type: Possible Default RCOptionsList access: value: Read-Write Not specified This attribute describes a list of supported options. listOfSupportedRadioInterfaces Value type: Possible Default RadioInterfacesList access: value: Read-Write Not specified This attribute describes radio interfaces supported by this Radio Computer. listOfSupportedChannels Value type: Possible Default ChannelIDsList access: value: Read-Write Not specified This attributes describes frequency channels supported by this Radio Computer. hardwareProfile Value type: Possible Default HardwareInfo access: value: Read-Write Not specified This attributes describes hardware capabilities of this Radio Computer. softwareProfile Value type: Possible Default SoftwareInfo access: value: Read-Write Not specified This attributes describes software capabilities of this Radio Computer. CONTAINED IN RadioComputer CONTAINS SUPPORTED EVENTS
TABLE-US-00008 TABLE 8 Class Channel This class describes one frequency channel that may or may not have active connections on it. DERIVED FROM ATTRIBUTES CONTAINED IN RadioComputer CONTAINS ChannelProfile, ChannelMeasurements SUPPORTED EVENTS
TABLE-US-00009 TABLE 9 Class ChannelProfile This class contains general information about this frequency channel. DERIVED FROM ATTRIBUTES channelID Value type: Possible Default value: NameType access: Not specified Read This attribute describes ID of channel. channelFrequencyRange Value type: Possible Default value: FrequencyRange access: Not specified Read This attribute describes a value of channel frequency range. radioInterface Value type: Possible Default value: Radiolnterface access: Not specified Read This attribute describes a radio interface. cellID Value type: Possible Default value: NameType access: Not specified Read This attribute describes ID of connected cell. CONTAINED IN Channel CONTAINS SUPPORTED EVENTS
TABLE-US-00010 TABLE 10 Class ChannelMeasurements This class contains current measurements related to this frequency channel. DERIVED FROM ATTRIBUTES listOfChannelMeasurements Value type: Possible Default ChannelMeasurementsList access: value: Read Not specified This attribute describes a list of channel measurements. appliedMeasurementsConfiguration Value type: Possible Default ConfigurationMeasurements access: value: Read Not specified This attribute describes configuration option of the MD, e.g. which Antenna(s) have been used, which RF front-end(s) have been used, etc. CONTAINED IN Channel CONTAINS SUPPORTED EVENTS
TABLE-US-00011 TABLE 11 Class RCConfiguration This class contains information about the current configuration of Radio Computer. DERIVED FROM ATTRIBUTES CONTAINED IN RadioComputer CONTAINS Link [*] SUPPORTED EVENTS
TABLE-US-00012 TABLE 12 Class Link This class contains information about one active Radio Application and corresponding connection between Reconfigurable Radio terminal and RANs. DERIVED FROM ATTRIBUTES CONTAINED IN RCConfiguration CONTAINS LinkProfile, LinkMeasurements, RFConfiguration[*], Antenna[*] SUPPORTED EVENTS
TABLE-US-00013 TABLE 13 Class LinkProfile This class contains general information about this active connection. DERIVED FROM ATTRIBUTES linkID Value type: Possible access: Default value: NameType Read Not specified This attribute describes ID of link about activated connection. cellID Value type: Possible access: Default value: NameType Read-Write Not specified This attribute describes ID connected cell. associatedChannelID Value type: Possible access: Default value: OptionalObjectName Read-Add-Remove Not specified This attribute describes ID of associated channel. linkDirection Value type: Possible access: Default value: Direction Read Not specified This attribute describes a direction of link. carrierFrequency Value type: Possible access: Default value: Frequency Range Read-Write Not specified This attribute describes a value of carrier frequency. nominalRFPower Value type: Possible access: Default value: AnaloguePower Read Not specified This attribute describes a value of nominal power. samplingRate Value type: Possible access: Default value: SamplingRate Read-Write Not specified This attribute describes a value of sampling rate. bandwidth Value type: Possible access: Default value: Bandwidth Read-Write Not specified This attribute describes a value of bandwidth. CONTAINED IN Link CONTAINS SUPPORTED EVENTS
TABLE-US-00014 TABLE 14 Class LinkMeasurements This class contains current measurements related to this active connection. DERIVED FROM ATTRIBUTES receiveBLER Value type: Possible access: Default value: RxBLER Read-Write Not specified This attribute describes a value of BLER for received data. transmitPower Value type: Possible access: Default value: TxPower Read-Write Not specified This attribute describes a power of transmit signal. receiveSINR Value type: Possible access: Default value: RxSINR Read-Write Not specified This attribute describes a value of SINR for received data. transmittedBits Value type: Possible access: Default value: TxBits Read-Write Not specified This attribute describes transmitted bits. CONTAINED IN Link CONTAINS SUPPORTED EVENTS
TABLE-US-00015 TABLE 15 Class RFConfiguration This class contains information about the configuration of RF transceiver. DERIVED FROM ATTRIBUTES CONTAINED IN Link CONTAINS TxPath[1], RxPath[1] SUPPORTED EVENTS
TABLE-US-00016 TABLE 16 Class TxPath This class describes one transmit path. DERIVED FROM DERIVED FROM ATTRIBUTES txStartTime Value type: Possible access: Default value: TxStartTime Read-Write Not specified This attribute defines the time when the transceiver start transmission. txStopTime Value type: Possible access: Default value: TxStopTime Read-Write Not specified This attribute defines the time when the transceiver stop transmission. CONTAINED IN RFConfiguration CONTAINS SUPPORTED EVENTS
TABLE-US-00017 TABLE 17 Class RxPath This class describes one receive path. DERIVED FROM DERIVED FROM ATTRIBUTES rxStartTime Value type: Possible Default RxStartTime access: value: Read- Not Write specified This attribute defines the time when the transceiver start reception. rxStopTime Value type: Possible Default RxStopTime access: value: Read- Not Write specified This attribute defines the time when the transceiver stop receptioin. CONTAINED IN RFConfiguration CONTAINS SUPPORTED EVENTS
TABLE-US-00018 TABLE 18 Class Antenna This class contains information about antenna selection. DERIVED FROM ATTRIBUTES CONTAINED IN Link CONTAINS AntennaProfile, AntennaMeasurements SUPPORTED EVENTS
TABLE-US-00019 TABLE 19 Class AntennaProfile This class contains general information about this antenna. DERIVED FROM ATTRIBUTES antennaID Value type: Possible access: Default value: NameType Read Not specified This attribute describes ID of antenna. CONTAINED IN Antenna CONTAINS SUPPORTED EVENTS
TABLE-US-00020 TABLE 20 Class AntennaMeasurements This class contains current measurements related to this antenna DERIVED FROM ATTRIBUTES antennaGain Value type: Possible access: Default value: Gain Read Not specified This attribute describes a value of antenna gain CONTAINED IN Antenna CONTAINS SUPPORTED EVENTS
TABLE-US-00021 TABLE 21 Class RCMeasurements This class contains current measurements related to Reconfigurable Radio terminal. DERIVED FROM ATTRIBUTES listOfActiveMeasurements Value type: Possible access: Default value: ActiveMeasurementsList Read-Add- Not specified Remove This attribute describes a list of active measurements. CONTAINED IN RadioComputer CONTAINS SUPPORTED EVENTS
[0173] Software Architecture Reference Points
[0174] Hereinafter, procedures of interfacing between a RCF and a RA for embodying installation/uninstallation, creating/deleting of instances, and operations of the unified radio application will be explained as examples.
[0175]
[0176] In
[0177] Each solid line CF1, CF2, CF3, CF4, CF5, CTRL1, CTRL2, DCTRL1, DCTRL2, DCTRL3, or CII, between two blocks, denotes a reference point defined between the two blocks through which direct interactions between the two blocks are performed. Meanwhile, each dotted line between two blocks denotes that interactions between the two blocks are performed through radio OS based on commands issued by a corresponding block. As will be explained later, blocks in RCF (i.e. CM, RCM, MRC, and RM) issue the command for the interaction to take place at the unified radio application through the radio OS.
[0178] The definition of each reference point is based on the three kinds of interfaces—MURI which are interfaces between components of communication services layer and those of RCF, URAI which are interfaces between URA and component of RCF, and Reconfigurable Radio Frequency Interfaces (RRFI) which are interfaces between URA and Radio Frequency (RF) part. In addition to the MURI, URAI, and RRFI, interfaces between components of RCF have also been defined as reference points. In the present embodiment, the reference points may be classified according to procedures of their functions, such that the classification of each of the reference points becomes coincident with each of the procedures which will be described later.
[0179] Reference Point 1: Interfaces for Installation/Uninstallation and Creating/Deleting Instance of RA
[0180]
[0181] Referring to
[0182] CF2a is an interface between the MPM 742 and the CM 731, which is for MPM 742 to request the CM 731 to perform creating instance or deleting instance of RA or for the MPM 742 to receive response of the request from the CM 731.
[0183] CF4 is an interface between the CM 731 and the MRC 734, which is for the CM 731 to request the MRC 734 to send parameters related to radio resources to the CM 731, or for the CM 731 to receive response of the request (i.e. the parameters related to radio resources) from the MRC 734 during the procedure of creating instance of RA.
[0184] CF5 is an interface between the CM 731 and the RM 735, which is for the CM 731 to request the RM 735 to send parameters related to computational resources to the CM 731, or for the CM 731 to receive response of the request (i.e. the parameters related to computational resources) from the RM 735 during the procedure of creating instance of RA.
[0185] Reference Point 2: Interfaces for List Checking of Radio Applications
[0186]
[0187] Referring to
[0188] Reference Point CF2b is an interface between the MPM 742 and the CM 731, which is for the MPM 742 to request the CM 731 to send the RA list to the MPM 742, or for the MPM 742 to receive response of the request (i.e. the RA list) from the CM 731.
[0189] Reference Point 3: Interfaces for Activation/Deactivation of Radio Application
[0190]
[0191] Referring to
[0192] Reference Point 4: Interfaces for Transferring Context Information
[0193]
[0194] Referring to
[0195] The context information is generated from corresponding function block(s) of RA(s) and transferred to the RC 721. There should be interfaces between RC within a radio application and each of corresponding function blocks. This means that baseband interface (BBI) for transferring context information between the RC and each of the corresponding function blocks should be defined.
[0196] Reference Point 5: Interfaces for Creating Data Flow and Sending/Receiving User Data
[0197]
[0198] Referring to
[0199] Reference Point CTRL2 is an interface between the RCM 732 and the FC 733, which is for the RCM 732 to request the FC 733 to form data flow, or for the RCM 732 to receive response of the request from the FC 733.
[0200] Reference Point DCTRL1 is an interface between the FC 733 and the networking stack 743, which is for the FC 733 to receive/transfer user data from/to the networking stack 743 for the procedure of sending/receiving data. It also includes an acknowledgement of transmit user data from the FC 733 to the networking stack 743 upon completion of sending data. It also includes an acknowledgement of transmit user data from the FC 733 to the networking stack 743 upon completion of sending data.
[0201] Reference Point DCTRL2 is an interface between the FC 733 and the RA 720, which is for the FC 733 to transfer the transmit user data to the RA 720 and to request the RA 720 to transfer the information of transmit user data such as throughput, data bandwidth, etc. to the FC 733. DCTRL2 interface is also used for the FC 733 to receive response of the request from the RA 720. In the case of the procedure of receiving data, DCTRL2 interface is used to transfer the receive user data from the RA 720 to the FC 733.
[0202] Reference Point DCTRL3 is an interface between the RA 720 and the RF transceiver (XCVR) with antenna(s), which is for the RA 720 to receive-transfer receive/transmit user data from/to the RF XCVR with antenna.
[0203] Software Architecture of Radio Processor Layer
[0204] Hereinafter, provided are further detail explanations operational structures of radio applications within the RP layer.
[0205] If a RAP is downloaded, user-defined function block code and radio library which should operate on the RP layer are installed so that they can be accessed in the RP layer.
[0206] Hereinafter, codes for configuring components which should be executed on the RP layer, including the above-described user-defined function block code, may be referred to as configuration code (or, ‘configcodes’). Configcodes may include only user-defined function block code, or may include radio library as well as the user-defined function block code. Configcodes may be in form of executable codes or Intermediate Representation (IR).
[0207] Also, hereinafter, a real radio platform is defined as a target radio platform, and a concept of a shadow radio platform is defined as a virtual entity having hardware abstraction on the target radio platform. That is, a shadow radio platform may mean a virtual radio platform into which developers of radio applications virtualize an operation environment of radio applications. For example, a shadow radio platform may be equal to or different from a target radio platform. If the Shadow radio platform is different from the target radio platform, the shadow radio platform may be understood as an abstract device independent of hardware. That is, the shadow radio platform may be a radio virtual machine (RVM).
[0208] If the shadow radio platform is different from the target radio platform so that the shadow radio platform becomes RVM, the RVM performs virtualization functions for helping the above-described configcodes to operate on the actual target radio platform. The implementation may include the Back-end Compiler which might provide Just-in-Time (JIT) or Ahead-of-Time (AOT) method for compilation of configcodes into executable codes of the target radio platform.
[0209]
[0210] The radio computer provides a mobile device with communication capabilities, and the software architecture for the radio computer may be configured to comprise the following components. [0211] Radio OS [0212] The RP layer part of RCF [0213] Implementation of RVM when the shadow radio platform is RVM. [0214] Native implementation of radio library (Radio Lib) when the shadow radio platform is RVM. [0215] Configuration codes (configcodes) of radio applications—configcodes may be provided in form of executable codes of the target radio platform or platform-independent intermediate representation.
[0216] The configcodes are interpreted by RVM when the shadow radio platform is equal to RVM, or are equal to executable codes when RVM is equal to the target radio platform.
[0217] The RCF and its interfaces such as MURI and URAI have been already explained.
[0218] The shadow radio platform can be either RVM or a target radio platform. If the Shadow radio platform is equal to the target radio platform, then front-end compiler will generate executable code for the target radio platform and configcodes is equivalent to the executable code for that radio platform.
[0219] The RVM is an abstract machine which is capable of executing configcodes. It is independent of the hardware. The configcodes are executed on a target platform through a specific RVM. Thus, RVM includes a back-end compiler which might provide Just-in-Time (JIT) or Ahead-of-Time (AOT) method for compilation of configcodes into executable codes.
[0220] Operational Structure of Unified Radio Applications
[0221] Operational structure of unified radio applications 125 and 450 may be represented considering two different cases. One case is when RA configcodes are executable on a target radio platform (illustrated in
[0222]
[0223] Referring to
[0224] Meanwhile, user-defined function blocks needed for execution of a given radio application are included in the configcodes of the radio application, and should be back-end compiled by RVM shown in
[0225] The radio library (i.e. native implementation), which can be implemented without hardware accelerator(s), are necessary for enhancing speed of the standard function blocks and for generating other standard function blocks by combining accelerator(s) and program codes.
[0226] For both a case when the radio application configcodes are executable codes and a case when the radio application configcodes are intermediate representation, the standard function blocks are supported by dedicated hardware logic accelerator(s) through the radio hardware abstract layer (HAL) shown in
[0227] The standard function blocks may be function blocks which are commonly used by various radio applications, for example, a Fast Fourier Transform (FFT) block. Also, the standard function blocks may be function blocks which should be efficiently implemented using a special purpose accelerator in a given radio platform, for example, a turbo coder block.
[0228]
[0229] Referring to
[0237] On the other hand, the above described UDFB set 451 may include all user defined function blocks which are used by given radio application(s). It is important that any standard function block can be modified and/or extended by replacing it with a proper standard function block which is a modified and/or extended version of the standard function block to be replaced. Therefore, some user-defined function blocks can be good candidates for standard function block extension, which means they might be added as standard function blocks later. In that case, after addition, they will be defined as the normal standard function blocks.
[0238] Also, since the user-defined function block Set (UDFB set) is to be provided by radio application provider, i.e. 3rd party, instead of radio platform vendor, in order for radio control framework to be able to perform basic controls of every UDFB's event and/or command, a standard set of control interfaces such as “start”, “stop”, “pause”, “get_port” and “initialize” may have to be specified for the corresponding user-defined function blocks. For this purpose, an ETSI RRS may specify a standard set of control interfaces for each user-defined function block to be implemented properly via the standard set of control interfaces. Specification of the standard control interfaces for user-defined function blocks may be given in the document of Protocol/Interface technical specification (TS). The radio platform 123 shown in
[0239]
[0240] In an embodiment, illustrated are implementations of function blocks on a given radio platform which consists of core(s) and various kinds of peripheral devices.
[0241] Referring to
[0242] Consequently, the execution codes required on a radio processor consists of the following two parts. One part is execution codes for standard function blocks executed on programmable core(s) and the other part is radio HAL codes for standard function blocks implemented on dedicated accelerators.
[0243] This can be summarized as follows. {C: execution code required on RP for SFB implementation}={A: execution codes for SFBs implemented on programmable cores}+{B: Radio HAL codes for SFBs implemented on accelerators}. That is. C=A+B where A and B may be determined by each vendor.
[0244] This may also mean that {SFBs} is a union of {SFBs implemented on core processor} and {SFBs implemented on dedicated hardware accelerators}, and an intersection of {SFBs implemented on core processor} and {SFBs implemented on dedicated hardware accelerators} is an empty set.
[0245] Meanwhile. UDFB, as mentioned earlier, should be written with standard interfaces. As shown in
[0246] The reason why we classify standard interfaces into two groups, i.e. the one corresponding to SFB(s) implemented on core processor and the other corresponding to SFB(s) implemented on dedicated hardware accelerator, is that each category has its own pros and cons. The latter, since it is implemented on dedicated hardware logic, is advantageous for power consumption, speed-up operation, and, probably, cost-effectiveness. On the contrary, the former, since it is implemented on microprocessor, is advantageous mainly for flexibility. It is expected that the dedicated hardware accelerator(s) will be used relatively more widely at the beginning stage until programmable devices become competitive to dedicated hardware devices in performance. As semiconductor technology evolves more and more, the core-dependent SFB will gradually become more and more dominant compared to the core-and-peripheral-dependent SFB in a long term standpoint and be implemented via Instruction Set Architecture (ISA)-level acceleration.
[0247] The granularity of the standard function blocks shown in the present specification are just for the purpose of explanation, and the standard function block interfaces may be defined in other documents, as mentioned earlier.
[0248] Composition of Radio Application Package (RAP)
[0249] Hereinafter, composition of a radio application package (RAP) for distribution of a radio application according to the present invention will be explained in detail.
[0250]
[0251] Referring to
[0252] The radio controller codes 512 may be determined to be included in the RAP in executable code form of either the RP or the AP according to the above-described software architecture environment. That is, if the RCF is divided into the AP layer part and the RP layer part, the radio controller codes may be configured as codes executable on the AP. Otherwise, if the RCF is executed only on the RP, the radio controller codes may be configured as codes executable on the RP. Meanwhile, the user-defined function block codes 511 are codes which always operate on the RP, and so the RAP may include the user-defined function block codes in executable code form of the radio processor, in source code form, or in IR form.
[0253] A pipeline means a combination of radio controller, user-defined function blocks, and standard function blocks for implementing transmission or reception functions of the RA and their relations, and may be defined based on the pipeline configuration metadata.
[0254] Also, if the standard function block codes are configured as codes executable on cores of the RP, the RAP 510 may be configure to further comprise radio library 514 in executable code form (executable code of the radio processor cores) as explained earlier.
[0255] The RAP 510 may be downloaded from a server 530 onto the OS of the AP layer, and the user-defined function block codes 512 and the radio library 514 may be loaded from the AP to the RP by referring to the pipeline configuration metadata, and finally loaded to the radio OS on the RP layer.
[0256] The above-described methods according to embodiments of the present invention may be implemented as program instructions executable by a variety of computers and recorded on a computer readable medium. The computer readable medium may include a program instruction, a data file, a data structure, or a combination thereof. The program instructions recorded on the computer readable medium may be designed and configured specifically for the present disclosure or can be publicly known and available to those who are skilled in the field of computer software.
[0257] Examples of the computer readable medium may include a hardware device such as ROM, RAM, and flash memory, which are specifically configured to store and execute the program instructions. Examples of the program instructions include machine codes made by, for example, a compiler, as well as high-level language codes executable by a computer, using an interpreter. The above exemplary hardware device can be configured to operate as at least one software module in order to perform the operation of the present invention, and vice versa.
[0258] While embodiments of the present disclosure and their advantages have been described in detail above, it should be understood that various changes, substitutions and alterations may be made herein without departing from the scope of the disclosure.