(58)【調査した分野】(Int.Cl.,DB名)
前記無線アプリケーションパッケージは、前記標準機能ブロックコードが前記端末の無線プロセッサ上で動作可能な実行コードとして提供される場合、前記実行コードで構成された無線ライブラリをさらに含むことを特徴とする、請求項2に記載の無線アプリケーション配布方法。
前記ユーザ定義機能ブロックコードは、前記端末の無線プロセッサによって実行される実行コード形態、前記端末の無線プロセッサによって実行される実行コードにコンパイル可能なソースコード形態及び中間表現(IR:Intermediate Representation)形態のうち少なくとも1つであることを特徴とする、請求項2に記載の無線アプリケーション配布方法。
前記ユーザ定義機能ブロックコードがソースコード形態または中間表現形態の場合、暗号化されて前記無線アプリケーションパッケージに含まれることを特徴とする、請求項4に記載の無線アプリケーション配布方法。
前記無線コントローラーコードは、前記端末のアプリケーションプロセッサまたは無線プロセッサによって実行される実行コード形態であり、前記無線アプリケーションの状況情報(context information)をユーザアプリケーションに提供するか、または前記端末のアプリケーションプロセッサまたは無線プロセッサに存在する通信サービス階層のネットワーキングスタックとデータを送受信することを特徴とする、請求項1に記載の無線アプリケーション配布方法。
前記無線アプリケーションパッケージは、前記標準機能ブロックコードが前記端末の無線プロセッサのコア上で動作可能な実行コードとして提供される場合、前記実行コードで構成された無線ライブラリをさらに含むことを特徴とする、請求項9に記載の無線アプリケーション設置方法。
前記ユーザ定義機能ブロックコードは、前記端末の無線プロセッサによって実行される実行コード形態、前記端末の無線プロセッサによって実行される実行コードにコンパイル可能なソースコード形態及び中間表現(IR:Intermediate Representation)形態のうち少なくとも1つであることを特徴とする、請求項9に記載の無線アプリケーション設置方法。
前記ユーザ定義機能ブロックコードがソースコード形態または中間表現形態の場合、前記ユーザ定義機能ブロックコードは、前記端末のアプリケーションプロセッサまたは無線プロセッサによって実行されるコンパイラーによってコンパイルされることを特徴とする、請求項11に記載の無線アプリケーション設置方法。
前記ユーザ定義機能ブロックコードがソースコード形態または中間表現形態の場合、暗号化されて前記無線アプリケーションパッケージに含まれることを特徴とする、請求項11に記載の無線アプリケーション設置方法。
前記無線コントローラーコードは、前記端末のアプリケーションプロセッサまたは無線プロセッサによって実行される実行コード形態であり、前記無線アプリケーションの状況情報(context information)をユーザアプリケーションに提供するか、または前記端末のアプリケーションプロセッサまたは無線プロセッサに存在する通信サービス階層のネットワーキングスタックとデータを送受信することを特徴とする、請求項8に記載の無線アプリケーション設置方法。
前記設置する段階は、前記パイプライン構成メタデータを参照して、前記無線コントローラーコード及び前記機能ブロックコードを前記端末のアプリケーションプロセッサ及び無線プロセッサのうち少なくとも1つがアクセス可能な格納装置に設置するように構成されることを特徴とする、請求項8に記載の無線アプリケーション設置方法。
アプリケーションプロセッサと無線プロセッサを具備した端末で、機能ブロックコード及び無線コントローラーコードで構成された無線アプリケーションの実行方法であって、
前記無線アプリケーションに対する実行命令を受信する段階と、
前記無線アプリケーションのパイプライン構成メタデータを参照して、前記無線コントローラーコードと前記機能ブロックコードを保存部からローディングする段階とを含み、
前記無線コントローラーコードは、前記アプリケーションプロセッサまたは、前記無線プロセッサによって実行され、前記ユーザ定義機能ブロックは、前記無線プロセッサによって実行され、
前記機能ブロックコード、無線コントローラーコード及びパイプライン構成メタデータは、無線アプリケーションパッケージに含まれて前記端末に配布されることを特徴とする無線アプリケーション実行方法。
前記アプリケーションプロセッサと前記無線プロセッサのうち少なくとも1つで実行される無線コントロールフレームワークが前記無線コントローラーコード及び前記機能ブロックコードに動作環境を提供することを特徴とする、請求項16に記載の無線アプリケーションの実行方法。
前記無線コントロールフレームワークが前記アプリケーションプロセッサと前記無線プロセッサで動作する場合、前記無線コントロールフレームワークは、前記アプリケーションプロセッサ上で実行される実行部分と前記無線プロセッサ上で実行される実行部分とで分離構成されることを特徴とする、請求項18に記載の無線アプリケーションの実行方法。
前記無線コントロールフレームワークが前記アプリケーションプロセッサと前記無線プロセッサで動作する場合、前記無線コントローラーコードは、前記アプリケーションプロセッサ上で動作することを特徴とする、請求項18に記載の無線アプリケーションの実行方法。
前記無線コントロールフレームワークが前記無線プロセッサでのみ動作する場合、前記無線コントローラーコードは、前記無線プロセッサ上で動作することを特徴とする、請求項18に記載の無線アプリケーションの実行方法。
【発明の概要】
【発明が解決しようとする課題】
【0005】
前述したような問題点を解決するために、本発明の目的は、ハードウェアとユーザアプリケーションに非依存的に動作するソフトウェア定義無線アプリケーションの配布方法を提供する。
【0006】
前述したような問題点を解決するために、本発明の他の目的は、ハードウェアとユーザアプリケーションに非依存的に動作するソフトウェア定義無線アプリケーションの設置方法を提供する。
【0007】
前述したような問題点を解決するために、本発明のさらに他の目的は、ハードウェアとユーザアプリケーションに非依存的に動作するソフトウェア定義無線アプリケーションの実行方法を提供する。
【課題を解決するための手段】
【0008】
前記目的を達成するために、本発明は、無線アプリケーションを端末に設置するための無線アプリケーションパッケージを利用した無線アプリケーションの配布方法であって、無線アプリケーションパッケージを生成する段階と、無線アプリケーションパッケージをサーバーにアップロードする段階とを含み、前記無線アプリケーションパッケージは、無線コントローラーコード、機能ブロックコード及びパイプライン構成メタデータを含むことを特徴とする無線アプリケーション配布方法を提供する。
【0009】
ここで、前記機能ブロックコードは、前記端末の無線プロセッサに含まれた専用のハードウェア加速器を利用して実現された機能ブロックを呼び出すコードであってもよく、前記端末の無線プロセッサのコア上で動作する実行コードである標準機能ブロックコードおよび前記標準機能ブロックコードとして提供されなくてもよく、前記標準機能ブロックコードが提供する機能をカスタマイズしたユーザ定義機能ブロックコードを含んでもよい。
【0010】
この際、前記無線アプリケーションパッケージは、前記標準機能ブロックコードが前記端末の無線プロセッサ上で動作可能な実行コードとして提供される場合、前記実行コードで構成された無線ライブラリをさらに含むことができる。
【0011】
この際、前記ユーザ定義機能ブロックコードは、前記端末の無線プロセッサによって実行される実行コード形態、前記端末の無線プロセッサによって実行される実行コードにコンパイル可能なソースコード形態及び中間表現(IR:Intermediate Representation)形態のうち少なくとも1つであってもよい。この際、前記ユーザ定義機能ブロックコードがソースコード形態または中間表現形態の場合、暗号化され、前記無線アプリケーションパッケージに含まれてもよい。
【0012】
この際、前記パイプライン構成メタデータは、前記無線アプリケーションのデータ送信または受信機能のための前記無線コントローラーコード、前記ユーザ定義機能ブロック、標準機能ブロックの連結関係を定義することができる。
【0013】
ここで、前記無線コントローラーコードは、前記端末のアプリケーションプロセッサまたは無線プロセッサによって実行される実行コード形態であり、前記無線アプリケーションの状況情報(context information)をユーザアプリケーションに提供するか、または、前記端末のアプリケーションプロセッサまたは無線プロセッサに存在する通信サービス階層のネットワーキングスタックとデータを送受信するように構成されてもよい。
【0014】
前記他の目的を達成するために、本発明は、無線アプリケーションパッケージを利用してユーザ端末に無線アプリケーションを設置する方法であって、無線アプリケーションパッケージをサーバーからダウンロードする段階と、前記無線アプリケーションパッケージに含まれた無線アプリケーションを前記ユーザ端末に設置する段階とを含み、前記無線アプリケーションパッケージは、無線コントローラーコード、機能ブロックコード及びパイプライン構成メタデータを含むことを特徴とする無線アプリケーション設置方法を提供する。
【0015】
ここで、前記機能ブロックコードは、前記端末の無線プロセッサに含まれた専用のハードウェア加速器を利用して実現された機能ブロックを呼び出すコードであってもよく、前記端末の無線プロセッサのコア上で動作する実行コードである標準機能ブロックコードおよび前記標準機能ブロックコードとして提供されなくてもよく、前記標準機能ブロックコードが提供する機能をカスタマイズしたユーザ定義機能ブロックコードを含んでもよい。
【0016】
この際、前記無線アプリケーションパッケージは、前記標準機能ブロックコードが前記端末の無線プロセッサのコア上で動作可能な実行コードとして提供される場合、前記実行コードで構成された無線ライブラリをさらに含むことができる。
【0017】
ここで、前記ユーザ定義機能ブロックコードは、前記端末の無線プロセッサによって実行される実行コード形態、前記端末の無線プロセッサによって実行される実行コードにコンパイル可能なソースコード形態及び中間表現(IR:Intermediate Representation)形態のうち少なくとも1つであってよい。前記ユーザ定義機能ブロックコードがソースコード形態または中間表現形態の場合、前記ユーザ定義機能ブロックコードは、前記端末のアプリケーションプロセッサまたは無線プロセッサによって実行されるコンパイラーによってコンパイルされてもよい。前記ユーザ定義機能ブロックコードがソースコード形態または中間表現形態の場合、暗号化され、前記無線アプリケーションパッケージに含まれてもよい。
【0018】
ここで、前記無線コントローラーコードは、前記端末のアプリケーションプロセッサまたは無線プロセッサによって実行される実行コード形態であり、前記無線アプリケーションの状況情報(context information)をユーザアプリケーションに提供するか、または、前記端末のアプリケーションプロセッサまたは無線プロセッサに存在する通信サービス階層のネットワーキングスタックとデータを送受信するように構成されてもよい。
【0019】
ここで、前記設置する段階は、前記パイプライン構成メタデータを参照して、前記無線コントローラーコード及び前記機能ブロックコードを前記端末のアプリケーションプロセッサ及び無線プロセッサのうち少なくとも1つがアクセス可能な格納装置に設置するように構成されてもよい。
【0020】
前記さらに他の目的を達成するために本発明は、アプリケーションプロセッサと無線プロセッサを具備した端末において、機能ブロックコード及び無線コントローラーコードで構成された無線アプリケーションの実行方法であって、前記無線アプリケーションに対する実行命令を受信する段階と、前記無線アプリケーションのパイプライン構成メタデータを参照して、前記無線コントローラーコードと前記機能ブロックコードとを格納部からローディングする段階とを含み、前記無線コントローラーコードは、前記アプリケーションプロセッサまたは前記無線プロセッサによって実行され、前記ユーザ定義機能ブロックは、前記無線プロセッサによって実行されることを特徴とする無線アプリケーション実行方法を提供する。
【0021】
ここで、前記機能ブロックコードは、前記端末の無線プロセッサに含まれた専用のハードウェア加速器を利用して実現された機能ブロックを呼び出すコードであってもよく、前記端末の無線プロセッサのコア上で動作する実行コードである標準機能ブロックコードおよび前記標準機能ブロックコードとして提供されないかまたは前記標準機能ブロックコードが提供する機能をカスタマイズしたユーザ定義機能ブロックコードを含んでもよい。
【0022】
ここで、前記アプリケーションプロセッサと前記無線プロセッサのうち少なくとも1つで実行される無線コントロールフレームワークが前記無線コントローラーコード及び前記機能ブロックコードに動作環境を提供することができる。
【0023】
この際、前記無線コントロールフレームワークが前記アプリケーションプロセッサと前記無線プロセッサで動作する場合、前記無線コントロールフレームワークは、前記アプリケーションプロセッサ上で実行される実行部分と前記無線プロセッサ上で実行される実行部分とに分離して構成されてもよい。この際、前記無線コントロールフレームワークが前記アプリケーションプロセッサと前記無線プロセッサで動作する場合、前記無線コントローラーコードは、前記アプリケーションプロセッサ上で動作するように構成されてもよい。
【0024】
ここで、前記無線コントロールフレームワークが前記無線プロセッサでのみ動作する場合、前記無線コントローラーコードは、前記無線プロセッサ上で動作するように構成されてもよい。
【0025】
ここで、前記無線コントロールフレームワークは、前記端末に対する前記無線アプリケーションのインストール/アンインストール及びインスタンス(instance)生成/削除を行い、前記無線アプリケーションの無線パラメータを管理する設定マネージャー(CM:Configuration Manager)、前記無線アプリケーションの活性化/非活性化及び無線アプリケーション間のユーザデータフロースイッチを管理する無線連結マネージャー(RCM:Radio Connection Manager)、ユーザデータパケットの送受信及びフローを制御するフローコントローラー(FC:Flow Controller)、無線アプリケーションからのスペクトル資源に対する要請をスケジューリングするマルチ無線コントローラー(MRC:Multi-Radio Controller)及び無線アプリケーションの間に無線資源の共有させるリソースマネージャー(RM:Resource Manager)のうち少なくとも1つを含むことができる。
【発明の効果】
【0026】
前述したような本発明によるソフトウェア定義無線端末装置を利用すれば、標準ベースバンドAPIを利用して互いに異なる構造のモデムチップを有する端末機で同一の無線アプリケーションを実行することができる。また、最適のデジタル信号処理実行のために無線デジタル通信に必要な様々なデジタル信号処理アルゴリズムを標準ベースバンドAPIで提供することによって、モデムハードウェア製作社は、標準ベースバンドAPIに含まれた各ブロックの複雑度または電力消費によってハードウェアまたはソフトウェア的実現を選択することができ、無線アプリケーション製作社は、標準ベースバンドAPIを利用してモデムチップに独立的な無線アプリケーションを製作することができる。また、標準ベースバンドAPIに含まれない機能を実現するために、ユーザ定義形態のブロックを提供することによって、標準ベースバンドAPIの多様な拡張を可能にする。
【発明を実施するための形態】
【0028】
本発明は、多様な変更を行うことができ、様々な実施例を有することができるところで、特定の実施例を図面に示し詳細に説明する。しかし、これは、本発明を特定の実施形態に限定しようとするものではなく、本発明の思想及び技術範囲に含まれるすべての変更、均等物ないし代替物を含むものと理解しなければならない。各図面を説明するに際して、類似の参照符号を類似の構成要素について使用した。
【0029】
第1、第2、A、Bなどの用語は、多様な構成要素を説明するのに使用されてもよいが、前記構成要素は、前記用語によって限定されるべきではない。前記用語は、1つの構成要素を他の構成要素から区別する目的でのみ使用される。例えば、本発明の権利範囲を逸脱することなく、第1構成要素は、第2構成要素として命名されることができ、同様に、第2構成要素も第1構成要素として命名されることができる。及び/またはという用語は、複数の関連された記載された項目の組み合わせまたは複数の関連された記載された項目のうちいずれかの項目を含む。
【0030】
任意の構成要素が他の構成要素に“連結されて”いるか、“接続されて”いると言及されたときには、他の構成要素に直接的に連結されているか、または接続されていることもできるが、中間に他の構成要素が存在することもできると理解しなければならない。一方、任意の構成要素が他の構成要素に“直接連結されて”いるか、“直接接続されて”いると言及されたときには、中間に他の構成要素が存在しないものと理解しなければならない。
【0031】
本出願で使用された用語は、ただ特定の実施例を説明するために使用されたものであって、本発明を限定しようとする意図ではない。単数の表現は、文脈上、明白に異なって意味しない限り、複数の表現を含む。本出願で、“含む”または“有する”などの用語は、明細書上に記載された特徴、数字、段階、動作、構成要素、部品またはこれらを組み合わせたものが存在することを指定しようとするものであって、1つまたはそれ以上の他の特徴や数字、段階、動作、構成要素、部品またはこれらを組み合わせたものの存在または付加可能性をあらかじめ排除しないものと理解しなければならない。
【0032】
異なって定義しない限り、技術的や科学的な用語を含んでここで使用されるすべての用語は、本発明の属する技術分野における通常の知識を有する者によって一般的に理解されるものと同一の意味を有している。一般的に使用される辞書に定義されているもののような用語は、関連技術の文脈上有する意味と一致する意味を有するものと解釈しなければならないし、本出願で明白に定義しない限り、理想的または過度に形式的な意味として解釈しない。
【0033】
以下、本発明による好ましい実施例を添付の図面を参照して詳細に説明する。本発明を説明するに際して、全体的な理解を容易にするために図面上の同一の構成要素については、同一の参照符号を使用し、同一の構成要素について重複された説明を省略する。
【0034】
本発明を説明するために全般的に使用される用語に関する簡略な定義を整理する。下記の用語以外の用語については、本明細書内の適切な部分で定義を提供する。
【0035】
−無線アプリケーション(RA:Radio Application):本発明による配布、設置、動作フレームワークの対象となる、具体的なハードウェア構成及びユーザアプリケーションに非依存的な無線通信環境を提供するためのアプリケーションである。無線アプリケーションは、無線プロセッサ上で動作するか、無線プロセッサ実行部分とアプリケーションプロセッサ実行部分とで構成され、2つのプロセッサ上で動作するように構成されることができる。無線アプリケーションは、無線コントローラー及び機能ブロックで構成される。機能ブロックには、標準機能ブロックとユーザ定義機能ブロックがある。
【0036】
−無線アプリケーションパッケージ(RAP:Radio Application Package):無線アプリケーションの配布形態として、無線アプリケーションの構成要素である無線コントローラー、機能ブロックとともにパイプライン構成メタデータを含む。また、無線アプリケーションパッケージは、追加的に無線ライブラリ(Radio Library)を含むことができる。
【0037】
−標準機能ブロック(SBF:Standard Function Block):標準機能ブロックは、各ブロックの機能と、当該ブロックを実行するための関数の名前が標準化された標準的機能ブロックである。標準機能ブロックは、無線プラットホームチップベンダーが標準機能ブロックを製作する場合、ハードウェア製造社が実現した標準機能ブロックの集合体になり、ドライバーとともに提供されることができる。無線プロセッサのコアで動作する実行コードで実現される場合、無線ライブラリ(Radio Library)と指称することもできる。標準機能ブロックは、専用のハードウェア加速器を利用して実現されるか、または無線プロセッサのコアで動作する実行コードで実現されることができる。標準機能ブロックは、各関数の名前と機能が標準化されており、標準ベースベンドAPIヘッダー(standard baseband API header)ファイルによって定義されることができる。
【0038】
−ユーザ定義機能ブロック(UDF:User Defined Function Block):標準機能ブロックとして提供されないか、または標準機能ブロックで存在する機能をさらにカスタマイズ(customizing)する必要性がある場合、無線アプリケーション提供者によって提供されることができる機能ブロックであって、無線プロセッサのコアで実行されるように実現されることができる。ユーザ定義機能ブロックは、実行コード、ソースコード、中間表現形態のコードとして提供されることができる。
【0039】
−ユーザ定義機能ブロック(User Defined Function Block、UDFB)集合:無線アプリケーション提供者が提供したユーザ定義機能ブロックの集合体である。
【0040】
<無線アプリケーションの構成及びソフトウェアアーキテクチャー>
図1及び
図2は、本発明による無線アプリケーションが動作するソフトウェアアーキテクチャー環境を説明するためのブロック図である。
【0041】
図1及び
図2を参照すれば、本発明による無線ソフトウェアアーキテクチャーは、アプリケーションプロセッサ(AP:Application Processor)上で動作するアプリケーションプロセッサ階層110と無線プロセッサ(RP:Radio Processor;BP(Baseband Processor)とも言う)上で動作する無線プロセッサ階層120とで構成されることができる。
【0042】
図1は、後述する無線コントロールフレームワーク(RCF;Radio Control Framework)がアプリケーションプロセッサ実行部分と無線プロセッサ実行部分とに分離し、2つのプロセッサ上で動作するソフトウェアアーキテクチャー環境を例示したものであり、
図2は、後述する無線コントロールフレームワークが無線プロセッサ上で動作するソフトウェアアーキテクチャー環境を例示したものである。
【0043】
アプリケーションプロセッサ上には、グーグル(Google:登録商標)のアンドロイド(Android:登録商標)OSとアップル(Apple:登録商標)のiOS(登録商標)のような非リアルタイム(non-realtime)オペレーティングシステム(Operating Systems、OS)が動作し、無線プロセッサ上には、以下で無線OSと指称されるリアルタイムオペレーティングシステム((Realtime OS)が動作する。以下では、明確な区別のために、アプリケーションプロセッサ階層で動作する非リアルタイムオペレーティングシステムを「オペレーティングシステム(OS)」、無線プロセッサ階層で動作するリアルタイムオペレーティングシステムは、「リアルタイムオペレーティングシステム(Radio OS)」に区分して名称する。
【0044】
以下は、アプリケーションプロセッサ階層、無線プロセッサ階層及び無線コントロールフレームワークを構成する構成要素に関する詳細である。
【0045】
(1)アプリケーションプロセッサ階層
アプリケーションプロセッサ階層は、
図1及び
図2に示されたように、次の構成要素を含む。
【0046】
−ドライバー(driver)111、211は、与えられたオペレーティングシステム上でハードウェアデバイス(カメラ、スピーカーなど)を駆動する。
【0047】
−オペレーティングシステム112、212は、アンドロイド、iOSのように通常的なモバイルデバイスで動作する非−リアルタイムオペレーティングシステム(non-realtime OS)を意味する。
【0048】
無線コントロールフレームワークがアプリケーションプロセッサと無線プロセッサで動作する構成(すなわち、
図1で例示される構成)なら、オペレーティングシステム上に無線コントロールフレームワークのアプリケーションプロセッサ階層実行部分114が存在してもよい。もし、無線コントロールフレームワークが無線プロセッサのみで動作する構成(すなわち、
図2で例示される構成)なら、アプリケーションプロセッサ階層には、無線コントロールフレームワークが存在しない。
【0049】
無線コントロールフレームワークがアプリケーションプロセッサと無線プロセッサで動作する構成(
図2)で、アプリケーションプロセッサのオペレーティングシステム上に通信サービス階層(Communication service Layer)113が存在してもよい。
【0050】
通信サービス階層は、後述する3種サービスのうち少なくとも一部を無線コントロールフレームワークに提供する階層である。
【0051】
第一のサービスは、administrativeに関連したサービスであって、無線アプリケーションのインストール/アンインストール、インスタンス(instance)の生成/削除、そして、各ステータス(status:インストール、instance、活動)の無線アプリケーションのリスト獲得に関連したサービスである。
【0052】
第二のサービスは、接続制御に関連したサービスであって、無線アプリケーションを実行/非実行、データフロー生成、ネットワーク割り当て生成、そして各ステータス(インストール、instance、活動)の無線アプリケーションのリスト獲得に係わるサービスである。
【0053】
最後に、第三のサービスは、データフローに関連したサービスであって、ユーザデータを送受信するのに関連したサービスである。
【0054】
前述した3つのサービスのうち少なくとも一部のサービスを提供するための通信サービス階層構成の1つの例として、通信サービス階層は、管理者(administrator)アプリケーション、移動性政策(mobility policy)マネージャーアプリケーション、ネットワーキングスタック(networking stack)(通信サービス階層で動作するプロトコルスタック(protocolstack))及びモニターアプリケーションのうち少なくとも一部を含んで構成されてもよい。
【0055】
しかし、通信サービス階層は、前述した構成要素のうち一部だけを含んでもよく、前述した構成要素以外の追加的な構成要素を含んでもよい。または、通信サービス階層内には、少なくとも2つ以上の前述した構成要素の機能が統合された構成要素で構成されてもよい。また、前述した構成要素は、通信サービス階層が行わなければならないサービスを支援するために通信サービス階層が備えなければならない構成要素の一例に過ぎないものである。すなわち、通信サービス階層は、通信サービス階層が行う役目によって定義され、前述した構成要素の例示によって通信サービス階層の構成が限定されるものではない。
【0056】
無線コントロールフレームワークがアプリケーションプロセッサと無線プロセッサで動作する構成(
図1)で、本発明の配布、設置及び動作方法の対象となる無線アプリケーション131、134、137は、それぞれアプリケーションプロセッサ階層実行部分132、135、138と無線プロセッサ階層実行部分133、136、139とで構成されてもよい。無線アプリケーションのアプリケーションプロセッサ階層実行部分である無線コントローラー(RC:Radio Controller)は、通信サービス階層(communicationservice layer)のモニターに状況情報(context information)を送るか、または通信サービス階層のネットワーキングスタックとデータを交換する役目を行うように構成されてもよい。
【0057】
(2)無線プロセッサ階層
無線プロセッサ階層は、
図1及び
図2に示されたように次の構成要素を含む。
【0058】
−無線OS 121、221は、リアルタイムオペレーティングシステムである。
無線コントロールフレームワークがアプリケーションプロセッサと無線プロセッサで動作する構成(すなわち、
図1で例示される構成)なら、無線OS上には、無線コントロールフレームワークの無線プロセッサ実行部分124が存在することができる。もし、無線コントロールフレームワークが無線プロセッサのみで動作する構成(すなわち、
図2で例示される構成)なら、アプリケーションプロセッサ階層には、無線コントロールフレームワークが存在せず、無線プロセッサ階層のみに無線コントロールフレームワーク230が存在する。
【0059】
−無線コントロールフレームワークが無線プロセッサのみで動作する構成(すなわち、
図2で例示される構成)なら、無線OS 221上に通信サービス階層(Communication service Layer)222が存在する。
【0060】
図2に例示された通信サービス階層222の役目及び構成例は、
図1で例示された通信サービス階層113の役目及び構成例と同一のなで説明を省略する。
【0061】
−無線プラットホームドライバー(Radio Platform Driver)122、223は、一般的なハードウェアドライバーのようにハードウェア無線プラットホームを認識するために無線OSによって要求される構成要素である。
【0062】
−無線プラットホームハードウェア(Radio Platform Hardware)123、224は、一般的に無線プロセッサのコアとベースバンド加速器とで構成されることができる。標準機能ブロックのために用意するベースバンド加速器は、しばしばASIC(Application-Specific Integrated Circuit)の形態で提供される。
【0063】
−無線コントロールフレームワークが無線プロセッサでのみ動作する構成(すなわち、
図2で例示される構成)なら、本発明の配布、設置及び動作方法の対象となる無線アプリケーション231、234、237は、無線プロセッサ階層で動作する。
【0064】
それぞれの無線アプリケーションの無線コントローラー(RC:Radio Controller)132、135、138は、通信サービス階層(communicationservicelayer)のモニターに状況情報(context information)を送るか、または通信サービス階層のネットワーキングスタックとデータを交換する役目を果たす。
【0065】
マルチ無線インターフェース(Multi Radio Interface、MURI)は、前記通信サービス階層とコントロールフレームワークとの間のインターフェースであり、統合無線アプリケーションインターフェース(Unified Radio Application Interface、URAI)は、無線アプリケーションとコントロールフレームワークとの間のインターフェースである。
【0066】
無線アプリケーションは、モバイル端末の通信を可能にするアプリケーションであって、無線アプリケーションパッケージ(RAP:Radio Application Package)形態で配布することができる。無線アプリケーションパッケージの構成要素は、次の通りである。
【0067】
1)ユーザ定義機能ブロック(User defined Function Block、UDFB)
2)パイプライン構成メタデータ(Metadata)
3)無線コントローラーコード(RC code)
4)無線ライブラリ(Radio Library):無線ライブラリは、標準機能ブロックが実行コード形態で配布される場合に、無線アプリケーションパッケージに実行コード形態で一緒に含まれて配布される。
【0068】
無線アプリケーションパッケージは、アプリケーションプロセッサ階層のOSにダウンロードされ、ユーザ定義機能ブロックコードと無線ライブラリは、パイプライン構成メタデータを参照してアプリケーションプロセッサから無線プロセッサにローディングされる過程を経て無線プロセッサ階層の無線OSにローディングされてもよい。
【0069】
(3)無線コントロールフレームワーク
無線コントロールフレームワーク(RCF:Radio Control Framework)130、230は、無線アプリケーションの動作環境を提供する構成要素である。
【0070】
無線コントロールフレームワークがアプリケーションプロセッサと無線プロセッサで動作する構成(すなわち、
図1で例示される構成)なら、無線コントロールフレームワークは、2つのグループ114、124に分けられる。すなわち、1つのグループは、アプリケーションプロセッサ上で動作し、他の1つのグループは、無線プロセッサ上で動作する。無線コントロールフレームワークのどんな構成要素がリアルタイムで動作(無線プロセッサ上で動作)とどんな構成要素が非−リアルタイムで動作(アプリケーションプロセッサ上で動作)するかは、それぞれのベンダーによって異なるように決定されることができる。
【0071】
無線コントロールフレームワークが無線プロセッサでのみ動作する構成(すなわち、
図2で例示される構成)なら、無線コントロールフレームワークは、無線プロセッサ実行部分とアプリケーション実行部分との区分なく無線プロセッサ階層でのみ存在する。
【0072】
無線コントロールフレームワーク(Radio Control Framework、RCF)は、基本的に次の5つの構成要素の少なくとも一部を含み、無線アプリケーションを管理するように構成されでもよい。
【0073】
しかし、無線コントロールフレームワークは、後述する5つの構成要素のうち一部だけを含んでもよく、5つの構成要素以外の構成要素をさらに含んでもよい。または、無線コントロールフレームワークは、少なくとも2つ以上の後述する構成要素の機能が統合された構成要素で構成されてもよい。
【0074】
無線コントロールフレームワークの機能及び役目は、後述する構成要素が行う機能によって定義され、後述する例示的構成要素によって無線コントロールフレームワークの構成が限定されるものではない。すなわち、無線コントロールフレームワークは、後述する構成要素の機能のうち少なくとも一部を行うための多様な構成を有することができる。
【0075】
1)設定マネージャー(CM:Configuration Manager):マルチ無線端末装置に対する無線アプリケーションのインストール/アンインストール、インスタンスの生成/削除と無線アプリケーションの無線パラメータに対するアクセス管理。
【0076】
2)無線連結マネージャー(RCM:Radio Connection Manager):ユーザ要求に応じた無線アプリケーションの活性化/非活性化及び1つの無線アプリケーションから他の無線アプリケーションにスイッチングされることができるユーザデータフローの全体的な管理。
【0077】
3)フローコントローラー(FC:Flow Controller):ユーザデータパッケージの送信と受信及びフロー制御。
【0078】
4)マルチ無線コントローラー(MRC:Multiradio Controller):無線アプリケーション間の相互運用性問題をあらかじめ感知するために、同時に実行される無線アプリケーションから提起される無線資源(radio resources)に対する要求をスケジューリングする。
【0079】
5)リソースマネージャー(RM:Resource Manager):リアルタイム要求事項を充足させると同時に、活性化された無線アプリケーション間にマルチ無線資源を共有するためのマルチ無線資源の管理。
【0080】
<本発明による無線アプリケーションの配布、設置及び動作方法>
図3〜
図5は、本発明による無線アプリケーションの配布から実行までの過程を示す概念図である。
【0081】
本発明の無線アプリケーションに含まれるユーザ定義機能ブロックコード(user-defined function block code)は、ソースコード(sourcecode)形態、実行コード(executable code)形態(すなわち、object code)及び中間表現(IR:IntermediateRepresentation)形態のうち少なくとも1つの方法で提供されることができ(2つの以上の形態が混合して提供されてもよい)、その提供形態によって
図3〜
図5のうち少なくとも1つに示す配布、設置及び動作方法が選択されることができる。
【0082】
例えば、
図3は、ユーザ定義機能ブロックコードがソースコードの形態として配布されて実行される過程を示し、
図4は、ユーザ定義機能ブロックコードが標準機能ブロックコード(無線ライブラリ)とともに実行コードの形態として配布され実行される過程を示し、
図5は、ユーザ定義機能ブロックコードが中間表現形態として配布され実行される過程を示す。
【0083】
以下ではまず、本発明による無線アプリケーションの配布のための無線アプリケーションパッケージ(RAP:Radio Application Package)の構成について詳述する。
【0084】
図6は、本発明による無線アプリケーションパッケージの構成例を説明するためのブロック図である。
【0085】
前述したように、本発明の一実施例による無線アプリケーションは、機能ブロックと無線コントローラーとで構成することができ、無線アプリケーションパッケージ510は、これらのためのユーザ定義機能ブロックコード511、無線ライブラリと無線コントローラーコード512を含んで構成されてもよい。したがって、無線アプリケーションの配布のための無線アプリケーションパッケージは、ユーザ定義機能ブロックコード511及び無線コントローラーコード512を基本的に含み、パイプライン構成メタデータ(pipeline configuration meta-data)513をさらに含んで構成することができる。
【0086】
無線コントローラーコードは、
図1及び
図2を通じて前述したソフトウェアアーキテクチャー環境によって無線プロセッサとアプリケーションプロセッサのうちいずれかのプロセッサの実行コードの形態で無線アプリケーションパッケージに含まれるかが決定される。すなわち、無線コントロールフレームワークがアプリケーションプロセッサ実行部分と無線プロセッサ実行部分とに分離した場合は、無線コントローラーコードは、アプリケーションプロセッサで実行されるコードで構成されてもよく、無線コントロールフレームワークが無線プロセッサのみで実行される場合には、無線コントローラーコードは、無線プロセッサに実行されるコードで構成されてもよい。一方、ユーザ定義機能ブロックコードは、前述したように、いずれの場合でも、無線プロセッサで実行されるコードとして無線プロセッサで実行可能な実行コード、ソースコード、中間表現形態のコードとして無線アプリケーションパッケージに含まれてもよい。
【0087】
パイプライン(pipeline)とは、無線アプリケーションの送信または受信機能を実現するための無線アプリケーションの無線コントローラー、ユーザ定義機能ブロック及び標準機能ブロックの組合とその連結関係を意味するものであって、パイプライン構成メタデータによって定義されてもよい。
【0088】
また、標準機能ブロックコードが無線プロセッサのコアで実行可能な実行コード形態で構成されたら、アプリケーションパッケージ510は、実行コード形態(無線プロセッサのコアが実行可能な実行コード)の無線ライブラリ514をさらに含んで構成されてもよいことは、前述した通りである。
【0089】
無線アプリケーションパッケージ510は、サーバー530からアプリケーションプロセッサ階層のOSにダウンロードされ、ユーザ定義機能ブロックコード511と無線ライブラリ514は、パイプライン構成メタデータ513を参照してアプリケーションプロセッサから無線プロセッサにローディングされる過程を経て無線プロセッサ階層の無線OSにローディングされてもよい。
【0090】
図3〜
図5を参照すれば、本発明による無線アプリケーションの配布から実行までの過程はデザイン及び配布段階、設置段階及び実行段階を含む3段階で構成されてもよい。
【0091】
(1)デザイン/配布段階(design/distribution time)
デザイン/配布段階(
図3の210、
図4の310、
図5の410)は、無線アプリケーションを製作し配布する段階であって、無線アプリケーションの供給者は、無線アプリケーションを実現するための無線コントローラーコード(Radio Controller Code)212とユーザ定義機能ブロックコード(User-definedfunction code)213を含む無線アプリケーションパッケージ(Radio ApplicationPackage)220を生成する。この際、無線コントローラーコードとユーザ定義機能ブロックコードは、標準ベースバンドインターフェースを定義した標準ベースバンドAPIヘッダー(standard baseband interface header)214を利用して標準機能ブロックを呼び出すように作成することができる。一方、無線コントローラーコードは、コンパイラー215を経て実行コードの形態で無線アプリケーションパッケージ220に含まれる。
【0092】
図4の場合、ユーザ定義機能ブロックコード314もまた、コンパイラー316−1、…、316−3を経て実行コードの形態で無線アプリケーションパッケージ317−1、…、317−3に含まれ、
図5の場合、ユーザ定義機能ブロックコード413がフロントエンド(front-end)コンパイラー416によって中間表現形態でコンパイルされ、無線アプリケーションパッケージ420に含まれる。
【0093】
また、
図3の場合のように、ユーザ定義機能ブロックコードがソースコードの形態で配布される場合、選択的な(optional)構成要素である暗号化器(encryptor)216による暗号化過程を経て暗号化されたソースコードとして配布されてもよい。このようにユーザ定義機能ブロックコードがソースコード形態で配布されれば、ユーザ定義機能ブロックコードが実行される端末でコンパイルされるようにして、ユーザ定義機能ブロックコードの装置独立性を向上することができる。
【0094】
一方、
図4に示されたように、ユーザ定義機能ブロックコードが端末ですぐ実行可能になるように実行コードの形態で配布される場合、ユーザ定義機能ブロックコード314を複数のコンパイラー316−1、…、316−3のうち端末の実行環境に符合するコンパイラーでコンパイルし、実行コード形態でアプリケーションパッケージに含ませることができる。また、無線プロセッサのコアで動作する標準機能ブロックの集合である無線ライブラリ(radio library)313も、端末の実行環境に符合するコンパイラーによってコンパイルされ、実行コード形態でアプリケーションパッケージ317−1、…、317−3に含まれてもよい。
【0095】
このように生成された無線アプリケーションパッケージは、配布サーバー(例えば、無線アプリストア)280、380、480にアップロードされ、当該無線アプリケーションを実現しようとする端末からダウンロードされてもよい。
【0096】
図7は、本発明による無線アプリケーションがオンラインストアで配布される例を示す概念図である。
【0097】
図7を参照すれば、ユーザは、端末装置610を利用してオンラインアプリストア620に接続し、アプリストアが提供する多様な無線通信方式を支援する無線アプリケーションのリストから所望の無線アプリケーションを選択し、当該無線アプリケーションの無線アプリケーションパッケージをダウンロードすることができる。
【0098】
多様な無線方式は、LTE(登録商標:Longterm Evolution)、WCDMA(登録商標:Wideband CodeDivision Multiple Access)、WiMAX(登録商標:WorldwideInteroperability for MicrowaveAccess)、GSM(登録商標:GlobalSystem for Mobile Communications)、RFID(Radio-FrequencyIdentification)などを含むことができる。ユーザは、自分の端末に複数の無線アプリケーションをダウンロードして設置し、状況に応じて必要な無線アプリケーションを自由に行うことができる。
【0099】
(2)設置段階(install time)
設置段階(
図3の230、
図4の330、
図5の430)は、アプリケーションパッケージをダウンロードして端末に設置する段階である。この際、アプリケーションパッケージに含まれたユーザ定義機能ブロックコード、無線コントローラーコード及びパイプライン構成メタデータがアプリケーションプロセッサ階層または無線プロセッサ階層に設置されてもよい。すなわち、無線コントローラーコードは、アプリケーションプロセッサ階層または無線プロセッサ階層に設置され、ユーザ定義機能ブロックコードは、無線プロセッサ階層に設置されてもよい。標準機能ブロックコードが無線プロセッサの実行コード形態なら、アプリケーションパッケージに、前記実行コードが含まれた無線ライブラリがさらに含まれてもよいことは前述した通りである。
【0100】
この際、
図3に示されたように、ユーザ定義機能ブロックコードがソースコード形態なら、コンパイラー(RPコンパイラー)235を経て端末で実行可能なユーザ定義機能ブロックが生成することができる。コンパイラー235は、アプリケーションプロセッサまたは無線プロセッサ上で実行されてもよい。すなわち、コンパイラー235は、ソースコード形態のユーザ定義機能ブロックコードを無線プロセッサの実行コードにコンパイルする役目を果たし、無線プロセッサまたはアプリケーションプロセッサで実行されてもよい。
【0101】
もしユーザ定義機能ブロックコードが暗号化されていれば、選択的(optional)構成要素である復号化器(decryptor;236)によってソースコードが復号化された後にコンパイルされてもよい。
【0102】
図8は、本発明の一実施例によるソースコード形態のユーザ定義機能ブロックコードの配布及び設置過程を説明するブロック図である。
【0103】
図8を参照すれば、無線アプリケーションの製作時に作成されるユーザ定義機能ブロックコード711は、高級言語、例えばC/C++で作成されてもよい。ユーザ定義機能ブロックコード711は、選択的に暗号化器714によって暗号化されたソースコード715に変更されてもよい。
【0104】
このように暗号化されたソースコード715は、無線アプリケーションパッケージに含まれ、各端末に配布することができる。この際、端末での設置過程で復号化器731〜735及びコンパイラー741〜745によって端末に内蔵された無線プロセッサで作動可能な機械語(Machine Code)751〜755に変換することができる。コンパイラー741〜745は、各端末に設置されたモデムハードウェアに最適化された機械語を生成しなければならないので、モデムハードウェアに依存的な部分である。無線プロセッサ製造社では、自分の無線プロセッサに最適化されたコンパイラーを製作し、自分の無線プロセッサに内蔵するか、または自分の無線プロセッサを使用した端末機会社に提供することができる。無線プロセッサに最適化されたコンパイラーは、無線プロセッサまたはアプリケーションプロセッサ上で実行されるように実現することができる。
【0105】
一方、ユーザ定義機能ブロックコードが端末に合わせてコンパイルされて配布された実行コード形態なら、
図4に示されたように設置段階でコンパイル過程を経る必要はない。
【0106】
図9は、本発明の一実施例によるソースコード形態のユーザ定義機能ブロックコードの配布及び設置過程の他の例を説明するブロック図である。
【0107】
図9を参照すれば、無線アプリケーションの製作時に作成されるユーザ定義機能ブロックコード811は、C/C++のような高級言語で作成することができ、対象無線プロセッサに適したデザイン/配布段階でコンパイラー841〜845を通じて実行可能な形態であるマシンコード851〜855に変換することができる。このようなマシンコード851〜855は、それぞれ別途の無線アプリケーションパッケージに含まれて無線アプリケーションサーバーに格納され、端末機は、自分の無線プロセッサ861で動作可能な無線アプリケーション851をダウンロードすることができる。したがって、モデムハードウェア製造社は、自分のモデムに最適化されたコンパイラー941〜945を製作し、無線アプリケーション製作者に提供することができる。
【0108】
図3〜
図5を参照すれば、無線アプリケーションの設置過程は、アプリケーションプロセッサまたは無線プロセッサにおいて行うことができる。すなわち
図3〜
図5に表したコンパイラーと保存部は、アプリケーションプロセッサと無線プロセッサのうち少なくとも1つのプロセッサ階層に存在してもよく、または、2つのプロセッサ階層皆に存在してもよい。
【0109】
(3)実行段階(run time)
実行段階(
図3の250、
図4の350、
図5の450)は、設置された無線アプリケーションが実際端末で動作する段階であって、無線信号処理をするための無線アプリケーションの対応する構成要素がアプリケーションプロセッサまたは無線プロセッサにローディングされ、実際的な無線通信を行う段階である。
【0110】
例えば、端末機に設置された無線アプリケーションの実行命令を受信する場合、ローダー(loader)251、261、351、361、451、461は、パイプライン構成メタデータ231、331、431を参照してアプリケーション実行に必要な機能ブロックが何であるかを判断することができる。これに基づいて無線コントローラーとユーザ定義機能ブロック(user defined function block)は、端末機の格納装置 241、341、441でローディングされる。また、ローダーは、無線コントローラーコードをアプリケーションプロセッサ階層または無線プロセッサ階層にロードし(無線コントロールフレームワークの動作階層によって無線コントローラーコードがどのプロセッサ階層にロードされるかが決定されることは、前述した通りである)、パイプライン構成メタデータを参照してユーザ定義機能ブロックと標準機能ブロックを無線プロセッサ階層にローディングする。
【0111】
標準機能ブロックPOOL242、342、442は、標準機能ブロックの集合で無線プロセッサ階層またはアプリケーションプロセッサ階層に存在する。標準機能ブロックPOOLには、専用のハードウェアを利用して実現された標準機能ブロックと無線プロセッサのコアで実行される標準機能ブロックが存在することができる。標準機能ブロックPOOLは、設置段階でインストーラーがパイプライン構成メタデータを参照して無線アプリケーションを設置する過程で、当該無線アプリケーションが使用する標準機能ブロックを選択して格納装置に設置するために使用されることができる。
【0112】
図10は、本発明の一実施例による標準ベースバンドインターフェースの例を示す概念図である。
【0113】
図10を参照すれば、標準ベースバンドインターフェースは、モデム内部のベースバンド領域で必要なデジタル信号処理アルゴリズムを標準化したAPIであって、標準インターフェース910〜950と「変換」標準インターフェースに属する標準機能ブロック911−914が例示されている。
【0114】
例えば、標準インターフェース類型として変換910、チャネルコーディング920、ネットワークマッパー930、インターリビング940、ソースコーディング950が含まれることができる。また、変換910に対する標準機能ブロックでスプレディング911、デスプレディング912、スクランブリング913、デスクランブリング914、高速フーリエ変換(FFT:Fast Fourier Transform)915、逆高速フーリエ変換(IFFT:InverseFast Fourier Transform)916が定義されることができる。
【0115】
標準機能ブロックであるフーリエ変換915を通じて入出力されるデータと属性、メンバー関数などが定義されることができる。また、同じ類型の機能ブロックには、共通的な属性を付与して、無線アプリケーションのオブジェクト志向設計が可能である。
【0116】
一方、本発明の実施例は、前述した標準ベースバンドインターフェースを高級言語で作成した標準インターフェースAPIヘッダーを利用する。したがって、無線アプリケーション製作者は、標準インターフェースAPIヘッダーを参照して、無線アプリケーションを製作することができる。
【0117】
<無線アプリケーション配布方法に対する実施例>
以下、本発明の一実施例によるソフトウェア定義無線端末装置のための無線アプリケーションの配布方法をより詳細に説明する。
【0118】
図11は、本発明の一実施例による無線アプリケーションの配布過程を説明するためのフローチャートである。
【0119】
図11を参照すると、本発明の一実施例による無線アプリケーションの配布過程は、ユーザ定義機能ブロックコード暗号化段階S1001、アプリケーションパッケージ生成段階S1010、アプリケーションパッケージ配布段階S1020を含んで構成されてもよい。
【0120】
また、アプリケーションパッケージ生成段階S1010は、ユーザ定義機能ブロックコード生成及びコンパイル段階、無線コントローラーコード生成及びコンパイル段階、パイプライン構成メタデータ生成段階及びパッケージ生成段階を含んで構成されてもよい。
【0121】
前述したように、本発明の一実施例による無線アプリケーションは、ユーザ定義機能ブロックコード、無線コントローラーコード、パイプライン構成メタデータで構成されたアプリケーションパッケージの形態で配布される。ユーザ定義機能ブロックコードが実行コード形態で構成されるなら、アプリケーションパッケージは、実行コード形態の無線ライブラリをさらに含んで構成されてもよいことは、前述した通りである。
【0122】
以下、本発明の一実施例による無線アプリケーションの配布過程の各段階についてより詳細に説明する。
【0123】
ユーザ定義機能ブロックコード暗号化段階S1001は、アプリケーションパッケージに含まれるユーザ定義機能ブロックコードを暗号化する段階である。ユーザ定義機能ブロックコードは、無線アプリケーション製作者の選択によってソースコード形態、中間形態、実行コードの形態に配布されてもよい。ユーザ定義機能ブロックコードがソースコードの形態に配布される場合、様々な端末機でコンパイル可能になるように標準言語を使用して作成されなければならない。一方、一般ソースコード形態で配布される場合、ソースコードがそのまま露出するので、暗号化して配布することによって、ソースコードの外部露出を防ぐことができる。
【0124】
アプリケーションパッケージ生成段階S1010は、ソフトウェア定義無線端末で行われる無線アプリケーションを生成する段階である。アプリケーションパッケージは、
図5に示されたように、ユーザ定義機能ブロックコード511、無線コントローラーコード512、パイプライン構成メタデータ513で構成されることができ、ユーザ定義機能ブロックコードが実行コード形態の場合、アプリケーションパッケージは、無線ライブラリ514をさらに含んで構成されてもよい。
【0125】
ユーザ定義機能ブロックコード511は、実行しようとする無線アプリケーションを実現するために必要な機能ブロックを定義するコードであり、無線コントローラーコード512は、前述した無線コントローラーの機能を行うように作成されたコードである。また、ユーザ定義機能ブロックコードで定義する機能ブロックは、標準ベースバンドAPIヘッダー520に定義された標準機能ブロックに実現されないベースバンドデジタル信号処理における処理実現と関連してもよい。
【0126】
一方、ユーザ定義機能ブロックコード511は、アプリケーションパッケージ500が設置された端末装置の無線プロセッサで直接実行可能なコード、実行のためのコンパイルを要するソースコード(source code)、中間表現コードまたは実行コードのうちいずれか1つの形態で構成されてもよい。
【0127】
したがって、ユーザ定義機能ブロックコード511が実行コードの形態なら多様な端末に適用可能になるように、様々なコンパイラーによってコンパイルされたものであってもよい。
【0128】
無線コントローラーコード512には、アプリケーション階層のモニターに状況情報(context information)を伝達し、アプリケーション階層のネットワーキングスタックとデータを交換するためのコードが含まれることができる。無線コントローラーコード512は、アプリケーションプロセッサまたは無線プロセッサで実行可能な形態でコンパイラーによってコンパイルされたコードであることができる。
【0129】
一方、パイプライン構成メタデータ513は、当該無線アプリケーションを実現するために必要な機能ブロック及び機能ブロック間の連結を定義することができ、標準ベースバンドAPIヘッダー520に含まれた標準機能ブロックとユーザ定義機能ブロックコード511で定義する機能ブロック間の連結及び各機能ブロックが有する属性の初期値に対する記述を含むことができる。
【0130】
このように生成されたユーザ定義機能ブロックコード511、無線コントローラーコード512及びパイプライン構成メタデータ513は、サーバーにアップロードされ、当該無線アプリケーションを必要とする端末にダウンロードされて設置され得るようにアプリケーションパッケージ500の形態で生成される。
【0131】
アプリケーションパッケージ配布段階S1020は、上記のように生成されたアプリケーションパッケージ500を無線アプリケーション配布サーバーにアップロードし、当該無線アプリケーションを必要とするソフトウェア定義無線端末でダウンローディングできるようにする。
【0132】
<無線アプリケーション設置方法に対する実施例>
以下、本発明の一実施例による無線アプリケーションの設置過程について説明する。
【0133】
図12は、本発明の一実施例による無線アプリケーションの設置過程を説明するためのフローチャートである。
【0134】
図12を参照すると、本発明の一実施例による無線アプリケーションの設置過程は、アプリケーションパッケージのダウンローディング段階S1110及びアプリケーションパッケージ設置段階S1120を含んで構成することができる。
【0135】
以下、
図12を参照して本発明の一実施例による無線アプリケーションの設置過程の各段階についてより詳細に説明する。
【0136】
アプリケーションパッケージダウンローディング段階S1110は、ソフトウェア定義無線端末で行われる無線アプリケーションを配布サーバーからダウンローディングする段階であって、
図4に示されたように、ユーザ定義機能ブロックコード511、無線コントローラーコード512、パイプライン構成メタデータ513で構成されたアプリケーションパッケージ500を配布サーバーからソフトウェア定義無線端末にダウンロードすることができる。この際、アプリケーションパッケージは、ユーザ定義機能ブロックコードが実行コード形態の場合、実行コードにコンパイルされた無線ライブラリを含んで構成されてもよいことは、前述した通りである。
【0137】
アプリケーションパッケージ設置段階S1120は、配布サーバーからダウンローディングしたアプリケーションパッケージを端末で実行できる形態で設置する段階であって、ユーザ定義機能ブロックコードコンパイル段階S1121、保存部に設置する段階S1125、ユーザ定義機能ブロックローディング段階S1127を含んで構成されてもよい。
【0138】
ユーザ定義機能ブロックコードコンパイル段階S1121は、ダウンロードされたアプリケーションパッケージ500に含まれたユーザ定義機能ブロックコード511が端末の無線プロセッサのコアで直接実行可能なコードではなく、ソースコードまたは中間表現コードの場合、端末の無線プロセッサのコアで実行可能なコードの形態でコンパイルし、ユーザ定義機能ブロックを生成する段階である。
【0139】
また、もしユーザ定義機能ブロックコードが暗号化されていたら、復号化しコンパイルすることができる(図示せず)。
【0140】
また、保存部に設置する段階S1125は、ダウンされたアプリケーションパッケージ500に含まれたパイプライン構成メタデータ513、ユーザ定義機能ブロックコード511に含まれたユーザ定義機能ブロック、無線コントローラーコード512及びあらかじめ定義された標準ベースバンドインターフェースに基づいて作成された標準的な命令語が明示された標準機能ブロックを、パイプライン構成メタデータ513を参照して端末の保存部に設置する段階である。
【0141】
ユーザ定義機能ブロックローディング段階S1127は、ダウンしたアプリケーションパッケージ500のユーザ定義機能ブロックコード511に含まれたユーザ定義機能ブロックを無線プロセッサ階層に直接ローディングする段階である。この際、ユーザ定義機能ブロックコード511が無線プロセッサで直接実行可能なコードの形態で作成されていたら、ユーザ定義機能ブロックコードコンパイル段階S1121を経ず、ユーザ定義機能ブロックコード511に含まれたユーザ定義機能ブロックを無線プロセッサ階層に直接ローディングすることができる。
【0142】
上記では、本発明の好ましい実施例を参照して説明したが、当該技術分野における熟練された当業者は、下記の特許請求の範囲に記載された本発明の思想及び領域を逸脱しない範囲内で本発明を多様に修正及び変更できることを理解することができる。