JP2015523750A - ソフトウェア定義無線アプリケーションの動作方法 - Google Patents
ソフトウェア定義無線アプリケーションの動作方法 Download PDFInfo
- Publication number
- JP2015523750A JP2015523750A JP2015505644A JP2015505644A JP2015523750A JP 2015523750 A JP2015523750 A JP 2015523750A JP 2015505644 A JP2015505644 A JP 2015505644A JP 2015505644 A JP2015505644 A JP 2015505644A JP 2015523750 A JP2015523750 A JP 2015523750A
- Authority
- JP
- Japan
- Prior art keywords
- wireless
- application
- radio
- wireless application
- processor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 claims description 60
- 230000004913 activation Effects 0.000 claims description 22
- 230000009849 deactivation Effects 0.000 claims description 19
- 238000011017 operating method Methods 0.000 claims description 6
- 238000001228 spectrum Methods 0.000 claims description 4
- 230000006870 function Effects 0.000 description 94
- 238000010586 diagram Methods 0.000 description 34
- 238000004891 communication Methods 0.000 description 33
- 230000005540 biological transmission Effects 0.000 description 20
- 230000011664 signaling Effects 0.000 description 20
- 238000009434 installation Methods 0.000 description 16
- 238000012217 deletion Methods 0.000 description 10
- 230000037430 deletion Effects 0.000 description 10
- 230000006855 networking Effects 0.000 description 10
- 230000004044 response Effects 0.000 description 9
- 239000000470 constituent Substances 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
- H04B1/0003—Software-defined radio [SDR] systems, i.e. systems wherein components typically implemented in hardware, e.g. filters or modulators/demodulators, are implented using software, e.g. by involving an AD or DA conversion stage such that at least part of the signal processing is performed in the digital domain
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/0816—Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Mobile Radio Communication Systems (AREA)
- Transceivers (AREA)
- Telephone Function (AREA)
Abstract
ソフトウェア定義無線端末機のための統合無線アプリケーションの動作構造が開示される。本発明による統合無線アプリケーションの動作構造は、無線アプリケーションの設定コード(configcode)が実行可能コードで構成されているか、または中間表現(IR)コードで実現されているかによって、2つに分類することができる。本発明による統合無線アプリケーションの動作構造を利用すれば、すべての無線プラットホーム上で動作することができる無線アプリケーションの開発及び配布が可能である。【選択図】図2
Description
本発明は、ソフトウェア定義無線(SDR:Software-definedRadio)端末機のための無線アプリケーションの動作構造に関し、より詳細には、ハードウェアに対する独立性(hardware-independency)を有しながら、多様な無線プラットホーム(radioplatform)に対応して開発できる統合無線アプリケーション(UnifiedRadio Application)の動作構造に関する。
本発明の技術分野は、ソフトウェア定義無線(SoftwareDefined Radio)、デジタル無線通信、ベースバンドプロセッサ、アプリケーションプロセッサ、アプリケーションストア、LTE(登録商標)、WiMAX(登録商標)及び無線アプリケーションである。
本発明は、LTE、WiMAX、無線マイク、ウォーキートーキーのように、多様な無線アプリケーションをアプリケーションストアからダウンロードして携帯電話に設置することによって、携帯電話をLTE端末機またはWiMAX端末機に変更するか、または無線マイク、ウォーキートーキーなどに利用されることができる。したがって、本発明は、LTE、WCDMA(登録商標)、Wi−Fi(登録商標)のように多様な無線接続が必要なスマートホンに適用されることができる。
ソフトウェア定義無線(SoftwareDefined Radio、SDR)技術と関連してSCA(SoftwareCommunication Architecture)という事実上の標準技術が存在する。これは、SDRのために必要なフレームワーク、ミドルウェア、リアルタイムオーペレーティングシステムと関連した規約をまとめたものであって、SDRシステム間のインターフェース互換を保障する。SCAの核心は、フレームワーク規約であるコアフレームワークであって、これは、無線アプリケーションを構成する各部分をコンポネント化ができるようにし、このコンポネントの再使用や組み合わせで、新しい無線アプリケーションが開発できるようにしたものである。
SCAの場合、端末機にあらかじめ設けられたブロックに限って再組合が可能であるが、特定の無線アプリケーションにおける使用のためのユーザ定義(UserDefined)形態のブロックをハードウェア構成が互いに異なるSCA互換端末機では設定することができない。したがって、単一の実行ファイルを以てすべてのSCA互換端末機において使用することは不可能である。これは、すべてのSCA互換端末機に搭載されたハードウェアの仕様によって最適化された実行ファイルを個別的に作成して配布しなければならないことを意味する。これは、非常に多い時間と費用をもたらし、無線アプリケーションの商業的利用を非常に難しくする。また、無線アプリケーションの実現のためのベースバンドAPI(ApplicationProgramming Interface)を提供しないため、選択的ハードウェア加速機能の活用を困難にした。
前述のような問題点を解決するための本発明の目的は、多様な無線プラットホームに対応して自由に開発することができ、配布及び設定されて動作できる統合無線アプリケーション(UnifiedRadio Application)の動作構造を提供することにある。
前記目的を達成するための本発明の一態様は、無線プロセッサを備えた端末の無線プロセッサ階層において無線アプリケーションが動作する方法であって、前記無線アプリケーションが目的とするシャドー(shadow)無線プラットホームと前記端末の実際の無線プラットホームの同一可否を判断する段階と、前記無線アプリケーションが目的とするシャドー無線プラットホームと前記端末の実際の無線プラットホームが同一の場合、前記無線アプリケーションの構成コード(configcode)を前記無線プロセッサにおいて実行する段階とを含むことを特徴とする無線アプリケーション動作方法を提供する。
ここで、前記構成コードは、前記無線アプリケーションのユーザ定義機能ブロックを構成するユーザ定義機能ブロックコードと、前記無線アプリケーションが利用する標準機能ブロックを構成する無線ライブラリとを、前記実際無線プラットホームで実行可能な実行コード形態で含んで構成することができる。この際、前記標準機能ブロックの少なくとも一部は、前記無線アプリケーションが前記無線プロセッサ階層の無線HAL(HardwareAbstraction Layer)階層により実行させる専用ハードウェアロジッグで実現することができる。
ここで、前記無線アプリケーション動作方法は、前記無線アプリケーションの構成コードを含む無線アプリケーションパッケージをサーバーからダウンロードする段階をさらに含むことができる。
ここで、前記無線アプリケーションは、前記端末の無線プロセッサ及びアプリケーションプロセッサのうち少なくとも1つにおいて動作し、前記無線アプリケーションに動作環境を提供する無線コントロールフレームワークと連動するように構成することができる。この際、前記無線コントロールフレームワークは、前記無線アプリケーションのインストール/アンインストール及びインスタンス(instance)の生成/削除を行い、無線パラメータを管理する設定マネージャー(CM:ConfigurationManager)、前記無線アプリケーションの活性化/非活性化及び無線アプリケーション間のユーザデータのフロースイッチを管理する無線連結マネージャー(RCM:RadioConnection Manager)、ユーザデータパケットの送受信及びフローを制御するフローコントローラー(FC:FlowController)、無線アプリケーションからのスペクトル資源に対する要請をスケジューリングするマルチ無線コントローラー(MRC:Multi-RadioController)及び無線アプリケーション間に無線資源を共有させるリソースマネージャー(RM:ResourceManager)のうち少なくとも1つを含むことができる。
前記目的を達成するための本発明の他の態様は、無線プロセッサを備えた端末の無線プロセッサ階層において無線アプリケーションが動作する方法であって、前記無線アプリケーションが目的とするシャドー(shadow)無線プラットホームと前記端末の実際の無線プラットホームの同一可否を判断する段階と、前記無線アプリケーションが目的とするシャドー無線プラットホームが前記端末の実際の無線プラットホームと異なる場合、前記無線アプリケーションの構成コード(configcode)を無線仮想マシンにてコンパイルし、前記無線プロセッサにおいて実行する段階とを含むことを特徴とする無線アプリケーション動作方法を提供する。
ここで、前記構成コードは、前記無線アプリケーションのユーザ定義機能ブロックを構成するユーザ定義機能ブロックコードを、前記実際の無線プラットホームで実行できる実行コードに変換可能な中間表現(IR:IntermediateRepresentation)形態で含むことができる。
ここで、前記無線仮想マシンは、前記構成コードを前記実際の無線プラットホームの実行コードにコンパイルするJIT(just-in-time)コンパイラーを含むことができる。
ここで、前記無線仮想マシンは、前記構成コードを前記実際の無線プラットホームの実行コードにコンパイルするAOT(ahead-of-time)コンパイラーを含むことができる。
ここで、前記端末は、前記無線プロセッサ階層内に標準機能ブロックのネイティブ実現(nativeimplementation)を設けることができる。
ここで、前記端末は、前記無線アプリケーションが前記無線プロセッサ階層の無線ハードウエア抽象化レイヤー(HAL:HardwareAbstraction Layer)により実行する専用のハードウェアロジッグで実現された標準機能ブロックを備えることができる。
ここで、前記無線アプリケーション動作方法は、前記無線アプリケーションの構成コードを含む無線アプリケーションパッケージをサーバーからダウンロードする段階をさらに含むことができる。
ここで、前記無線アプリケーションは、前記端末の無線プロセッサ及びアプリケーションプロセッサのうち少なくとも1つにおいて動作し、前記無線アプリケーションに動作環境を提供する無線コントロールフレームワークと連動することができる。この際、前記無線コントロールフレームワークは、前記無線アプリケーションのインストール/アンインストール及びインスタンス(instance)の生成/削除を行い、無線パラメータを管理する設定マネージャー(CM:ConfigurationManager)、前記無線アプリケーションの活性化/非活性化及び無線アプリケーション間のユーザデータフロースイッチを管理する無線連結マネージャー(RCM:RadioConnection Manager)、ユーザデータパケットの送受信及びフローを制御するフローコントローラー(FC:FlowController)、無線アプリケーションからのスペクトル資源に対する要請をスケジューリングするマルチ無線コントローラー(MRC:Multi-RadioController)及び無線アプリケーション間に無線資源を共有させるリソースマネージャー(RM:ResourceManager)のうち少なくとも1つを含むことができる。
本発明による統合無線アプリケーションの動作構造を利用すれば、多様な無線プラットホーム上で行うことができる、無線アプリケーションの開発及び配布が可能である。したがって、無線アプリケーションの商業的取引という新しいビジネスモデルの創出ができる。
また、移動通信事業者の観点からは、必要に応じて自分のネットワーク加入者が使用している多様な無線プラットホームを備えた端末機を所望の通信ネットワーク規格に転換することが可能になるので、柔軟性あるネットワークオーペレーティングが可能になる。
また、ユーザの観点からは、新しい通信ネットワークに転換が必要な場合に、新しい端末を購入する必要がなく、無線アプリケーションパッケージをダウンロードされて無線アプリケーションを自分の端末機に設置することだけで、新しい通信ネットワークを使用することが可能になる。
本発明は、多様な変更を行うことができ、様々な実施例を有することができるところ、特定の実施例を図面に例示し、詳細に説明する。しかし、これは、本発明を特定の実施形態に限定しようとするものではなく、本発明の思想及び技術範囲に含まれるすべての変更、均等物ないし代替物を含むものと理解しなければならない。各図面を説明するに際して、類似の参照符号を類似の構成要素について使用した。
第1、第2、A、Bなどの用語は、多様な構成要素を説明するのに使用されることができるが、前記構成要素は、前記用語に限定されるわけではない。前記用語は、1つの構成要素を他の構成要素から区別する目的でのみ使用される。例えば、本発明の権利範囲を逸脱することなく、第1構成要素は、第2構成要素として命名されることができ、同様に、第2構成要素も第1構成要素として命名されることができる。及び/またはという用語は、複数の関連された記載された項目の組み合わせまたは複数の関連された記載された項目のうちいずれかの項目を含む。
任意の構成要素が他の構成要素に「連結されて」いるか、「接続されて」いると言及されたときには、他の構成要素に直接的に連結されているか、または接続されることもできるが、中間に他の構成要素が存在することもできると理解しなければならない。一方、任意の構成要素が他の構成要素に「直接連結されて」いるか、「直接接続されて」いると言及されたときには、間に他の構成要素が存在しないものと理解しなければならない。
本出願で使用された用語は、単に特定の実施例を説明するために使用されたものであって、本発明を限定しようとする意図ではない。単数の表現は、文脈上、明白に異なる定義がない限り、複数の表現を含む。本出願で、「含む」または「有する」などの用語は、明細書上に記載された特徴、数字、段階、動作、構成要素、部品またはこれらを組み合わせたものが存在することを指定しようとするものであって、1つまたはそれ以上の他の特徴や数字、段階、動作、構成要素、部品またはこれらを組み合わせたものの存在または付加可能性をあらかじめ排除しないものと理解しなければならない。
異なって定義しない限り、技術的や科学的な用語を含んでここで使用されるすべての用語は、本発明の属する技術分野における通常の知識を有する者によって一般的に理解されるものと同一の意味を有している。一般的に使用される辞書に定義されているもののような用語は、関連技術の文脈上有する意味と一致する意味を有するものと解釈しなければならなく、本出願で明白に定義しない限り、理想的または過度に形式的な意味として解釈しない。
以下、本発明による好ましい実施例を添付の図面を参照して詳細に説明する。本発明を説明するに際して、全体的な理解を容易にするために図面上の同一の構成要素については、同一の参照符号を使用し、同一の構成要素について重複された説明を省略する。
本発明を説明するために全般的に使用される用語に関する簡略な定義を整理する。下記用語以外の用語については、本明細書内の適切な部分で定義を提供する。
−無線アプリケーション(RA:Radio Application):本発明による配布、設定、動作フレームワークの対象となる、具体的なハードウェア構成及びユーザアプリケーションに非依存的な無線通信環境を提供するためのアプリケーションである。無線アプリケーションは、無線プロセッサ上で動作するか、または無線プロセッサ実行部分とアプリケーションプロセッサ実行部分とで構成され、2つのプロセッサ上で動作するように構成されてもよい。無線アプリケーションは、無線コントローラー及び機能ブロックで構成される。機能ブロックには、標準機能ブロックとユーザ定義機能ブロックがある。
−無線アプリケーションパッケージ(RAP:Radio Application Package):無線アプリケーションの配布形態として、無線アプリケーションの構成要素である無線コントローラー、機能ブロックとともにパイプライン構成メタデータを含む。また、無線アプリケーションパッケージは、さらに無線ライブラリ(Radio Library)を含むことができる。
−標準機能ブロック(SBF:Standard Function Block):標準機能ブロックは、各ブロックの機能と、当該ブロックを実行するための関数の名前が標準化された標準的機能ブロックである。標準機能ブロックは、無線プラットホームのチップベンダーが標準機能ブロックを製作する場合、ハードウェア製造社が実現した標準機能ブロックの集合体になり、ドライバーとともに提供されることができる。標準機能ブロックは、専用のハードウェア加速器を利用して実現されるか、無線プロセッサのコアで動作する実行コードで実現できる。無線プロセッサのコアで動作する実行コードで実現される場合、無線ライブラリ(Radio Library)と指称することもできる。標準機能ブロックは、各関数の名前と機能が標準化されており、標準ベースベンドAPIヘッダー(standard baseband API header)ファイルによって定義されることができる。
−ユーザ定義機能ブロック(UDF:User Defined Function Block):標準機能ブロックとして提供されないか、または標準機能ブロックで存在する機能をさらにカスタマイズ(customizing)する必要性がある場合、無線アプリケーション提供者によって提供されることができる機能ブロックであって、無線プロセッサのコアで実行されるように実現されることができる。ユーザ定義機能ブロックは、実行コード、ソースコード、中間表現形態のコードとして提供されることができる。
−ユーザ定義機能ブロック(User Defined Function Block、UDFB)集合:無線アプリケーション提供者が提供したユーザ定義機能ブロックの集合体である。
−無線HAL(HardwareAbstract Layer):OSの観点から様々な種類のHWを抽象化する階層である。標準化された抽象化加速器インターフェースは、ハードウェアに対して独立的であるが、HALによりすべてのハードウェアにOSがアクセスできるようになる。ドライバーの役割と類似しているが、ハードウェアが変更により変わるドライバーとは異なり、HALはOSに含まれている。
−無線プラットホームドライバー(RadioPlatform Driver):OSがハードウェアを認識するために必要なソフトウェアである。ハードウェアに独立的なOSのコマンドとしてハードウェアのコマンドシステムを互いにマッチングさせるためのソフトウェアであり、一般的なハードウェアドライバーの役目をする。
図1は、本発明の実施例による統合無線アプリケーションの動作構造の一部を構成するモノリシック(Monolithic)カーナルとマイクロ(micro)カーナルを対比して示すブロック図である。
図1の(a)を参照すると、モノリシックカーナルは、1つのカーナルに必要なすべての機能が統合されているものであって、同じメモリ空間内に必要な機能がすべて存在しているため、モノリシックカーナルは、関数呼び出し(Function call)方式を以てカーナルにおいて提供する機能でアクセス可能である。したがって、実現が簡便で、システム資源を効率的に利用可能な長所があるが、実現されたカーナルを多様なハードウェア環境や異なる他のシステムでポーティング(porting)しにくいという短所がある。そして機能が拡張される場合、カーナルの大きさが大きくなり、管理が非常に難しくなることがある。
図1の(b)を参照すると、Microカーナルは、必要な機能を小さいサーバーモジュールに分けて設計し、これらサーバーを管理できる最小限の機能のみをカーナルの核心部分として実現する方式であって、ハードウェア環境によって機能の拡張と機能再構成が容易であり、他のシステムでの再使用が容易であるという長所がある一方、サービスを使用する過程で複数回のメッセージ伝送とコンテキストスイッチング(contextswitching)が発生するので、実用的な面では速度が遅いという短所がある。
<無線アプリケーションの構成及びソフトウェアアーキテクチャ>
図2及び図3は、本発明による無線アプリケーションが動作するソフトウェアアーキテクチャ環境を説明するためのブロック図である。
図2及び図3は、本発明による無線アプリケーションが動作するソフトウェアアーキテクチャ環境を説明するためのブロック図である。
図2及び図3を参照すれば、本発明による無線ソフトウェアアーキテクチャは、アプリケーションプロセッサ(AP:ApplicationProcessor)上で動作するアプリケーションプロセッサ階層110と無線プロセッサ(RP:Radio Processor;BP(Baseband Processor)と言うこともある)上で動作する無線プロセッサ階層120とで構成することができる。
図2は、後述する無線コントロールフレームワーク(RCF;RadioControl Framework)がアプリケーションプロセッサ実行部分と無線プロセッサ実行部分とに分離され、2つのプロセッサ上で動作するソフトウェアアーキテクチャ環境を例示したものであり、図3は、後述する無線コントロールフレームワークが無線プロセッサ上で動作するソフトウェアアーキテクチャ環境を例示したものである。
アプリケーションプロセッサ上には、グーグル(Google:登録商標)のアンドロイド(Android:登録商標)OSとアップル(Apple:登録商標)のiOS(登録商標)のような非リアルタイム(non-realtime)オーペレーティングシステム(OS)が動作し、無線プロセッサ上には、以下で無線OSと称されるリアルタイムオーペレーティングシステム(Realtime OS)が動作する。以下では、明確な区別のために、アプリケーションプロセッサ階層で動作する非リアルタイムオーペレーティングシステムを「オーペレーティングシステム(OS)」、無線プロセッサ階層で動作するリアルタイムオーペレーティングシステムは「無線オーペレーティングシステム(Radio OS)」に区分して称することにする。
以下は、アプリケーションプロセッサ階層、無線プロセッサ階層及び無線コントロールフレームワークを構成する構成要素に対する詳細である。
(1)アプリケーションプロセッサ階層
アプリケーションプロセッサ階層は、図2及び図3に示されたように、次の構成要素を含む。
アプリケーションプロセッサ階層は、図2及び図3に示されたように、次の構成要素を含む。
−ドライバー(driver)111、211は、与えられたオーペレーティングシステム上でハードウェアデバイス(カメラ、スピーカーなど)を駆動する。
−オーペレーティングシステム112、212は、アンドロイド、iOSのように、通常のモバイルデバイスで動作する非リアルタイムオーペレーティングシステム(non-realtime OS)を意味する。
無線コントロールフレームワークがアプリケーションプロセッサと無線プロセッサで動作する構成(すなわち、図2に例示の構成)なら、オーペレーティングシステム上に無線コントロールフレームワークのアプリケーションプロセッサ階層実行部分114が存在してもよい。もし、無線コントロールフレームワークが無線プロセッサでのみ動作する構成(すなわち、図3に例示の構成)なら、アプリケーションプロセッサ階層には、無線コントロールフレームワークが存在しない。
無線コントロールフレームワークがアプリケーションプロセッサと無線プロセッサで動作する構成(図2)において、アプリケーションプロセッサのオーペレーティングシステム上に通信サービス階層(Communicationservice Layer)113が存在してもよい。
通信サービス階層は、後述する3つのサービスのうち少なくとも一部を無線コントロールフレームワークに提供する階層である。
第一のサービスは、管理(administrative)に関連したサービスであって、無線アプリケーションのインストール/アンインストール、インスタンスの生成/削除、そして各ステータス(status:インストール、インスタンス、活動)の無線アプリケーションのリスト獲得に関するサービスである。
第二のサービスは、接続制御に関連したサービスであって、無線アプリケーションを実行/非実行、データフロー生成、ネットワーク割り当て生成、そして各ステータス(インストール、インスタンス、活動)の無線アプリケーションのリスト獲得に関するサービスである。
最後に、第三のサービスは、データフローに関するサービスであって、ユーザデータを送受信することに関するサービスである。
前述した3つのサービスのうち少なくとも一部のサービスを提供するための通信サービス階層構成の1つの例として、通信サービス階層は、管理者(administrator)アプリケーション、移動性政策(mobility policy)マネージャー(MPM)アプリケーション、ネットワーキングスタック(networking stack)(通信サービス階層で動作するプロトコルスタック(protocolstack))及びモニター(monitor)アプリケーションのうち少なくとも一部を含んで構成することができる。
しかし、通信サービス階層は、前述した構成要素のうち一部だけを含んでもよく、前述した構成要素以外の追加の構成要素を含んでもよい。または、通信サービス階層内には、少なくとも2つ以上の前述した構成要素の機能が統合された構成要素で構成されてもよい。また、前述した構成要素は、通信サービス階層が行わなければならないサービスを支援するために通信サービス階層が備えるべき構成要素の一例に過ぎないものである。すなわち、通信サービス階層は、通信サービス階層が行う役目によって定義され、前述した構成要素の例示によって通信サービス階層の構成が限定されるものではない。
無線コントロールフレームワークがアプリケーションプロセッサと無線プロセッサで動作する構成(図2)において、本発明の配布、設置及び動作方法の対象となる無線アプリケーション131、134、137は、それぞれアプリケーションプロセッサ階層実行部分132、135、138と無線プロセッサ階層実行部分133、136、139とで構成することができる。無線アプリケーションのアプリケーションプロセッサ階層実行部分である無線コントローラー(RC:Radio Controller)は、通信サービス階層(communicationservice layer)のモニターに状況情報(context information)を伝送したり、通信サービス階層のネットワーキングスタックとデータのやり取りをする役目を行うように構成されてもよい。
(2)無線プロセッサ階層
無線プロセッサ階層は、図2及び図3に示すように次の構成要素を含む。
無線プロセッサ階層は、図2及び図3に示すように次の構成要素を含む。
−無線OS121、221は、リアルタイムオーペレーティングシステムである。
無線コントロールフレームワークがアプリケーションプロセッサと無線プロセッサで動作する構成(すなわち、図2に例示の構成)なら、無線OS上には、無線コントロールフレームワークの無線プロセッサ実行部分124が存在してもよい。もし、無線コントロールフレームワークが無線プロセッサでのみ動作する構成(すなわち、図3に例示の構成)なら、アプリケーションプロセッサ階層には、無線コントロールフレームワークが存在せず、無線プロセッサ階層にのみ無線コントロールフレームワーク230が存在する。
無線コントロールフレームワークがアプリケーションプロセッサと無線プロセッサで動作する構成(すなわち、図2に例示の構成)なら、無線OS上には、無線コントロールフレームワークの無線プロセッサ実行部分124が存在してもよい。もし、無線コントロールフレームワークが無線プロセッサでのみ動作する構成(すなわち、図3に例示の構成)なら、アプリケーションプロセッサ階層には、無線コントロールフレームワークが存在せず、無線プロセッサ階層にのみ無線コントロールフレームワーク230が存在する。
−無線コントロールフレームワークが無線プロセッサでのみ動作する構成(すなわち、図3に例示の構成)なら、前記図2の場合とは異なり、無線OS221上に通信サービス階層(Communication service Layer)222が存在する。
図3に例示された通信サービス階層222の役目及び構成例は、図2で例示された通信サービス階層113の役目及び構成例と同一のなで説明を省略する。
−無線プラットホームドライバー(Radio Platform Driver)122、223は、一般的なハードウェアドライバーのようにハードウェア無線プラットホームを認識するために無線OSによって要求される構成要素である。
−無線プラットホームハードウェア(Radio Platform Hardware)123、224は、一般的に無線プロセッサのコアとベースバンド加速器とで構成することができる。標準機能ブロックのために用意するベースバンド加速器は、しばしばASIC(Application-Specific Integrated Circuit)の形態で提供される。
−無線コントロールフレームワークが無線プロセッサのみで動作する構成(すなわち、図3に例示の構成)なら、本発明の配布、設置及び動作方法の対象となる無線アプリケーション231、234、237は、無線プロセッサ階層で動作する。
それぞれの無線アプリケーションの無線コントローラー(RC:Radio Controller)132、135、138は、通信サービス階層(communicationservicelayer)のモニターに状況情報(context information)を伝送したり、または通信サービス階層のネットワーキングスタックとデータのやり取りをする役目を果たす。
マルチ無線インターフェース(MUltiRadio Interface、MURI)は、前記通信サービス階層とコントロールフレームワーク間のインターフェースであり、統合無線アプリケーションインターフェース(Unified Radio Application Interface、URAI)は、無線アプリケーションとコントロールフレームワーク間のインターフェースである。
無線アプリケーションは、モバイル端末の通信を可能にするアプリケーションであって、無線アプリケーションパッケージ(RAP:Radio Application Package)の形態で配布されてもよい。無線アプリケーションパッケージの構成要素は、次の通りである。
1)ユーザ定義機能ブロック(User defined Function Block、UDFB)
2)パイプライン構成メタデータ(Metadata)
3)無線コントローラーコード(RC code)
4)無線ライブラリ(Radio Library)−無線ライブラリは、標準機能ブロックが実行コード形態で配布される場合に、無線アプリケーションパッケージに実行コード形態で一緒に含まれて配布される。
2)パイプライン構成メタデータ(Metadata)
3)無線コントローラーコード(RC code)
4)無線ライブラリ(Radio Library)−無線ライブラリは、標準機能ブロックが実行コード形態で配布される場合に、無線アプリケーションパッケージに実行コード形態で一緒に含まれて配布される。
無線アプリケーションパッケージは、アプリケーションプロセッサ階層のOSにダウンロードされ、ユーザ定義機能ブロックコードと無線ライブラリは、パイプライン構成メタデータを参照してアプリケーションプロセッサから無線プロセッサにローディングされる過程を経て無線プロセッサ階層の無線OSにローディングできる。
(3)無線コントロールフレームワーク
無線コントロールフレームワーク(RCF:Radio Control Framework)130、230は、無線アプリケーションの動作環境を提供する構成要素である。
無線コントロールフレームワーク(RCF:Radio Control Framework)130、230は、無線アプリケーションの動作環境を提供する構成要素である。
無線コントロールフレームワークがアプリケーションプロセッサと無線プロセッサで動作する構成(すなわち、図2に例示の構成)なら、無線コントロールフレームワークは、2つのグループ114、124に分けられる。すなわち、1つのグループは、アプリケーションプロセッサ上で動作し、他の1つのグループは、無線プロセッサ上で動作する。無線コントロールフレームワークのどんな構成要素がリアルタイムで動作(無線プロセッサ上で動作)しどんな構成要素が非リアルタイムで動作(アプリケーションプロセッサ上で動作)するかは、それぞれのベンダーによって異なるように決定することができる。
無線コントロールフレームワークが無線プロセッサでのみ動作する構成(すなわち、図3に例示の構成)なら、無線コントロールフレームワークは、無線プロセッサ実行部分とアプリケーション実行部分の区分することなく無線プロセッサ階層でのみ存在する。
無線コントロールフレームワーク(Radio Control Framework、RCF)は、基本的に次の5つの構成要素の少なくとも一部を含み、無線アプリケーションを管理するように構成されてもよい。
しかし、無線コントロールフレームワークは、後述する5つの構成要素のうち一部だけを含んでもよく、5つの構成要素以外の構成要素をさらに含んでもよい。または、無線コントロールフレームワークは、少なくとも2つ以上の後述する構成要素の機能が統合された構成要素で構成されてもよい。
無線コントロールフレームワークの機能及び役目は、後述する構成要素が行う機能によって定義され、後述する例示的構成要素によって無線コントロールフレームワークの構成が限定されるものではない。すなわち、無線コントロールフレームワークは、後述する構成要素の機能のうち少なくとも一部を行うための多様な構成を有することができる。
1)設定マネージャー(CM:Configuration Manager):マルチ無線端末装置に対する無線アプリケーションのインストール/アンインストール、インスタンス(instance)の生成/削除と無線アプリケーションの無線パラメータに対するアクセス管理。
2)無線連結マネージャー(RCM:Radio Connection Manager):ユーザ要求による無線アプリケーションの活性化/非活性化及び1つの無線アプリケーションから他の無線アプリケーションにスイッチングできるユーザデータフローの全体的な管理。
3)フローコントローラー(FC:Flow Controller):ユーザデータパケットの送信と受信及びフローの制御。
4)マルチ無線コントローラー(MRC:Multiradio Controller):無線アプリケーション間の相互オペレーティング問題をあらかじめ感知するために、同時に実行される無線アプリケーションから提起される無線資源(radio resources)に対する要求をスケジューリングする。
5)リソースマネージャー(RM:Resource Manager):リアルタイム要求事項を充足させると同時に、活性化された無線アプリケーション間にマルチ無線資源を共有するためのマルチ無線資源の管理。
<無線プロセッサ階層のソフトウェアアーキテクチャ>
以上で、本発明が目的とする無線アプリケーションの全般的なソフトウェアアーキテクチャと動作環境を説明した。以下では、前述した無線アプリケーションの無線プロセッサ階層内での動作構造についてより詳細な説明をする。
以上で、本発明が目的とする無線アプリケーションの全般的なソフトウェアアーキテクチャと動作環境を説明した。以下では、前述した無線アプリケーションの無線プロセッサ階層内での動作構造についてより詳細な説明をする。
無線アプリケーションパッケージがダウンロードされると、無線プロセッサ階層で動作するべきユーザ定義機能ブロックコードと無線ライブラリは、無線プロセッサ階層でアクセスできるように設置される。
以下では、無線プロセッサ階層で動作するべき要素を構成するためのコードを、前述したユーザ定義機能ブロックコードを含んで構成コード(configurationcode;または、「configcode」と略称)と定義する。「configcode」は、状況に応じてユーザ定義機能ブロックコードのみを含むか、またはユーザ定義機能ブロックコードとともに無線ライブラリを含むことができる。「configcode」は、実行コード(executablecode)または中間表現(IR:IntermediateRepresentation)形態を取ることができる。
また、以下では、実際無線プラットホームをターゲット無線プラットホームとして定義し、ターゲット無線プラットホームに対するハードウェア抽象性を有する仮想的媒介体としてシャドー無線プラットホーム(ShadowRadio Platform)という概念を定義する。シャドー無線プラットホームとは、無線アプリケーションの開発者が無線アプリケーションの動作環境で仮想した無線プラットホームを意味するものであってもよい。例えば、無線アプリケーションのシャドー無線プラットホームは、ターゲット無線プラットホームと同一であってもよく、ターゲット無線プラットホームと異なっていてもよい。シャドー無線プラットホームがターゲット無線プラットホームと異なっている場合、実際ターゲット無線プラットホームに対応する概念として、シャドー無線プラットホームはハードウェア独立的な仮想的な装置と理解できるので、シャドー無線プラットホームは、無線仮想マシン(RVM:RadioVirtual Machine)となり得る。
シャドー無線プラットホームがターゲット無線プラットホームと異なっていて、シャドー無線プラットホームが無線仮想マシンになる場合、無線仮想マシンは、前述したconfigcodeが実際ターゲット無線プラットホームで動作できるようにする仮想化機能を行うことになり、実現上では、前記configcodeをターゲット無線プラットホームの実行コードにコンパイルするJIT(just-in-time)またはAOT(ahead-of-time)方法を提供するバック−エンド(back-end)コンパイラーであってもよい。
図4は、本発明による無線アプリケーションの無線プロセッサ階層ソフトウェアアーキテクチャを説明するための概念図である。
無線プロセッサは、モバイルデバイスに通信能力(communicationcapabilities)を提供し、図4に例示の無線プロセッサ階層のためのソフトウェアアーキテクチャは、次の構成要素を含んで構成されてもよい。
1)無線OS
2)無線コントロールフレームワークの無線プロセッサ実行部分(無線コントロールフレームワークが無線プロセッサ実行部分とアプリケーション実行部分とに分離して構成された場合)、無線コントロールフレームワーク全体(無線コントロールフレームワークが無線プロセッサでのみ動作する場合)
3)無線コントロールフレームワークが無線プロセッサでのみ動作する場合、通信サービス階層(便宜上、図4では通信サービス階層が無線プロセッサ上で動作するものと図示されたが、無線コントロールフレームワークが無線プロセッサとアプリケーションプロセッサの両方で動作する場合、通信サービス階層はアプリケーションプロセッサ上で動作する)
4)シャドー無線プラットホーム(ShadowRadio Platform)が無線仮想マシン(RVM;RadioVirtual Machine)の場合、無線仮想マシンの実現(implementation)
5)シャドー無線プラットホームが無線仮想マシンの場合、無線ライブラリ(RadioLib)のネイティブ実現(nativeimplementation)
6)無線アプリケーション(RA)の構成コード(configurationcode;configcodes)−構成コードは、ターゲット無線プラットホームの実行コードあるいはプラットホーム独立的な中間表現(IR:intermediateRepresentation)形態で提供されてもよい。
シャドー無線プラットホームが無線仮想マシンの場合、configcodeは、無線仮想マシンによって解釈(interpreted)され、シャドー無線プラットホームがターゲット無線プラットホームの場合、configcodeは、当該ターゲット無線プラットホームで直接実行できる実行可能コードに該当する。
RCFとそのインターフェースであるMURI(MUltiRadioInterface)及びURAI(UnifiedRadio Application Interfaces)は、前述した通りである。
シャドー無線プラットホームは、無線仮想マシンまたはターゲット無線プラットホームであってもよい。
もし、シャドー無線プラットホームがターゲット無線プラットホームと同一であれば、フロント−エンドコンパイラー(Front-EndCompiler)がターゲットプラットホームのための実行可能コードを生成し、configcodesは、そのような特定プラットホームのための実行可能コードと同等である。
無線仮想マシンは、configcodesを実行することができる抽象化マシンであり、どんなハードウェアに対しても独立的である。configcodeは、特定の無線仮想マシンを通じてターゲットプラットホーム上で実行される。したがって、無線仮想マシンは、configcodesを実行コードにコンパイルするためのJIT(just-in-time)またはAOT(ahead-of-time)方法を提供するバック−エンド(back-end)コンパイラーを含む。
無線ライブラリは、演算基盤(computationalbasis)を表現する機能ブロックで構成される。無線アプリケーションは、このような相互連結された機能ブロックの集合として表現されてもよい。無線ライブラリの機能ブロックは、正規化された言語(normativelanguage)で表現される。無線ライブラリのネイティブ実現は、ターゲットプラットホームのためのライブラリの機能ブロックの実行可能コードを提供する。無線ライブラリは拡張可能である。
<統合無線アプリケーションの動作構造>
統合無線アプリケーションの動作構造は、2つの異なる場合で表現されてもよい。第一は、無線アプリケーションconfigcodesがターゲットプラットホーム上で実行可能なコードの場合(図5を通じて例示)であり、第二は、無線アプリケーションconfigcodesが与えられたモバイルデバイスでバック−エンドコンパイルされる中間表現(IR:IntermediateRepresentation)コードの場合(図6を通じて例示)である。
統合無線アプリケーションの動作構造は、2つの異なる場合で表現されてもよい。第一は、無線アプリケーションconfigcodesがターゲットプラットホーム上で実行可能なコードの場合(図5を通じて例示)であり、第二は、無線アプリケーションconfigcodesが与えられたモバイルデバイスでバック−エンドコンパイルされる中間表現(IR:IntermediateRepresentation)コードの場合(図6を通じて例示)である。
図5は、本発明による統合無線アプリケーションの動作構造の一例を説明するための階層構造図であり、図6は、本発明による統合無線アプリケーションの動作構造の他の例を説明するための階層構造図である。
図5を参照すれば、与えられた無線アプリケーションを行うために必要な無線ライブラリとユーザ定義機能ブロック(UDFB;UserDefined Function Block)が既に無線アプリケーションの実行可能configcodesに含まれている。
一方、図6を参照すると、与えられた無線アプリケーションを行うために必要なユーザ機能ブロックが、無線アプリケーションのconfigcodesに含まれていて、図4に示された無線仮想マシンによってバック−エンドコンパイルされなければならない。この場合には、無線アプリケーションconfigcodesに無線ライブラリが含まれることができないので、無線ライブラリのネイティブ実現が与えられたモバイルデバイス内に別途用意しなければならない。一般的に無線ライブラリのネイティブ実現は、コアチップベンダーによって提供され、無線ライブラリは、コアプロセッサ上で実現される標準機能ブロック(SFB:StandardFunction Block)を含むからである。
基本的に、図5及び図6に示される専用のハードウェア加速器を使用せずに実現できる無線ライブラリ(ネイティブ実現)は、標準機能ブロックの速度向上と加速器とプログラムコードを結合し、他の標準機能ブロックを生成するために必要である。
無線アプリケーションconfigcodesが実行可能コードであるかまたは中間表現コードであるかいずれの場合にも、標準機能ブロックは、図5及び図6の両方に示される無線ハードウェア抽象化階層(HAL)を介して専用のハードウェアロジッグ加速器によって支援される。これは、専用のハードウェアロジッグによって実現された標準機能ブロックが与えられた無線アプリケーションコードによって呼び出される度に、無線アプリケーションconfigcodesが実行可能コードであるか、または中間表現コードであるかに関わらず、無線HALを経て対応する専用のハードウェアロジッグ加速器上で直接実現されなければならないことを意味する。後述するように、無線HALは、また、ユーザ定義機能ブロックライブラリのために用意したインターフェースのためのハードウェア抽象化を含む。
標準機能ブロックは、様々な無線アプリケーションで共通的に使用される機能ブロック(例えば、FFT(FastFourier Transform))及び/または与えられた無線プラットホームで特殊目的の加速器を使用して非常に効率的に実現されなければならないいかなる機能ブロック(例えば、ターボコーダー)になってもよい。
一方、図6に示された「ユーザ機能ブロック集合(UDFB set)」は、与えられた無線アプリケーションによって使用されるすべてのユーザ機能ブロックを含む。いかなる標準機能ブロックであっても、それを適切な標準機能ブロック、すなわち代替される標準機能ブロックの修正及び/または拡張されたバージョンに代替することによって修正及び/または拡張可能であるという点が重要である。したがって、あるユーザ機能ブロックは、標準機能ブロックの拡張のために良い候補になることができ、それらが以後、標準機能ブロックとして追加されてもよいことを意味する。このような場合に、ユーザ機能ブロックが標準機能ブロックとして追加された後には、正規標準機能ブロックとして規定される。「ユーザ機能ブロック集合(UDFB set)」は、無線プラットホームベンダーの代わりに、無線アプリケーションの提供者(すなわち3rdparty)によって提供されることができるので、無線コントロールフレームワークがすべてのユーザ機能ブロックのイベント及び/またはコマンドの基本的な制御を行うことができるようにするために、「start」、「stop」、「pause」、「getport」及び「initialize」のような制御インターフェースの標準集合が対応するユーザ機能ブロックのために規定されなければならない。このような目的で、ETSI RRSは、実現される各ユーザ機能ブロックの制御インターフェース標準集合を制御インターフェースの標準集合を通じて適切に規定する。ユーザ機能ブロックに対する制御インターフェースの標準集合規定は、Protocol/Interface TS文書として与えられる。図5及び図6に示される無線プラットホームは、一般的に各機能ブロックを実現するためにコアと専用ハードウェア加速器を含んでいる。
図6に示されるように、統合無線アプリケーションの動作構造は、次の構成要素を含む。
−無線アプリケーションは、標準機能ブロックとユーザ定義機能ブロックを、与えられた無線アプリケーションパッケージ(RAP;RadioApplication Package)のメタデータの内容に対応して含む。BBIは、対応する機能ブロックの名称を特定することによって、各機能ブロック自体を表現する。また、BBIは、前述したように対応する機能ブロックと連関されたインターフェースの明細を行う。
−無線ライブラリ(ネイティブ実現)は、専用のハードウェアロジッグを利用して実現される標準機能ブロックが無線HALによって支援される反面、コアプロセッサ上で実行される標準機能ブロックのConfigcodesを含む。
−「ユーザ機能ブロック集合」は、一般的に無線アプリケーションプロバイダー(provider)によって提供され、与えられた無線アプリケーションパッケージで使用されるすべてのユーザ機能ブロックを含む。ユーザ機能ブロックは、無線アプリケーションパッケージにメタデータ(metadata)及び無線コントローラーコードとともに含まれる。一般的に、ユーザ機能ブロックは、標準機能ブロックの修正及び/または拡張バージョンであるから、ユーザ機能ブロックは、標準機能ブロックライブラリに対して依存性を有してもよい。
−無線HALは、無線プラットホームを抽象化する。無線HALは、専用のハードウェア加速器を利用して実現される標準機能ブロックが対応する専用ハードウェア加速器上で直接実行され得るようにする点に注意しなければならない。
−無線プラットホームドライバーは、無線OSが無線プラットホームを認識するようにする。
−無線プラットホームは、一般的にコアと専用のハードウェア加速器をすべて含んで構成されることができる。
図7は、本発明による無線プラットホームの機能ブロックライブラリ実現を説明するための概念図である。図7を参照すれば、コア及び多様な種類の周辺デバイスで構成された、与えられた無線プラットホームの機能ブロックの実現が例示される。
図7で例示された実施例で、コアプロセッサ上に実現された標準機能ブロックの数字はMであり、専用のハードウェアロジッグ加速器上に実現された標準機能ブロックの数字はNである。前述したように、専用ハードウェアロジッグ加速器を利用して実現される標準機能ブロック(例えば、FFT、turbodecoder、MIMO decoderなど)は、対応する専用ハードウェアロジッグ加速器上で高い性能と低電力消耗のために直接的に実行されることができる。このような標準機能ブロックは、専用加速器上での実行のために無線HALによって支援される。これは、専用加速器上で実行される各標準機能ブロックが無線アプリケーションで呼び出されるとき、対応する専用加速器から無線HALを経て直接的に実行されることを意味する。同様に、例えばbit-reverse、multiply及びaccumulationなどのようなコアプロセッサ上で実行される各標準機能ブロックは、無線アプリケーションで呼び出されるとき、与えられたコア(例えば、ARMwithNeon)上で行われる。
結果的に、無線プロセッサ上で必要な実行コードは、次の2つの部分で構成される。1つの部分は、プログラマブルコア上で行われる標準機能ブロックの実行コードであり、他の部分は、専用加速器上で行われる標準機能ブロックのための無線HALコードである。
これは、次のように要約することができる。{C:標準機能ブロックの実現のために必要な無線プロセッサ上の実行コード}={A:プログラマブルコア上で行われる標準機能ブロックのための実行コード}+{B:加速器上で行われる標準機能ブロックのための無線HALコード}。すなわち、C=A+Bであり、AとBの分割は、各ベンダーによって決定することができる。
これは、また、次を暗示する。{標準機能ブロック}={コアプロセッサ上で実現される標準機能ブロック}と{専用ハードウェア加速器上で実現される標準機能ブロック}の和集合であり、{コアプロセッサ上で実現される標準機能ブロック}と{専用ハードウェア加速器上で実現される標準機能ブロック}の共通部分は積集合になる。
一方、前述したように、ユーザ定義機能ブロックは、標準インターフェースを利用して記述されなければならない。図7に示されるように、ユーザ定義機能ブロックの標準インターフェースは、コアプロセッサ上に実現される標準機能ブロック及び専用ハードウェア加速器上で実現される標準機能ブロックのうち一方または両方と関連されなければならなさに注目しなければならない。
標準インターフェースを2つのグループ、すなわち、コアプロセッサ上で行われる標準機能ブロックに対応するグループと、専用ハードウェア加速器上で行われる標準機能ブロックに対応するグループとに分類した理由は、各カテゴリーがそれなりの長所と短所を有しているからである。後者は、一般的に専用のハードウェアロジッグで実現されるので、電力消耗、速度が必要な動作及び費用の効率性において有利である。一方、前者は、一般的にマイクロプロセッサー上で行われるので、柔軟性(flexibility)において有利である。性能の観点から、プログラマブルデバイスが専用のハードウェアデバイスに比べて競争力を有するまでは、初期段階で専用のハードウェア加速器が相対的により広範に使用されることが予想される。長期的な観点から、半導体技術が次第にさらに進化するほど、コア依存的な(core-dependent)標準機能ブロックの方が、コア及び周辺機器依存的な(core andperipheral dependent)標準機能ブロックに比べて次第により優勢になり、命令セットアーキテクチャ(ISA:InstructionSet Architecture)レベルの加速機能で実現されることができる。
本明細書で例示された標準機能ブロックの粒度(granularity)は、説明の目的で例示されたものに過ぎず、前述したように、標準機能ブロックインターフェースは、別途のドキュメントとして定義される。
<ソフトウェアアーキテクチャレファレンスポイント(referencepoints)>
以下の説明は、統合無線アプリケーションのインストール/アンインストール、インスタンスの生成及び削除、動作を実現するための無線コントロールフレームワークと無線アプリケーションの間のインタペーシング手続とインターフェースの例示である。
以下の説明は、統合無線アプリケーションのインストール/アンインストール、インスタンスの生成及び削除、動作を実現するための無線コントロールフレームワークと無線アプリケーションの間のインタペーシング手続とインターフェースの例示である。
図8は、モバイルデバイスのためのレファレンスポイントの全体アーキテクチャを示す図である。
図8において、2つのブロック間の実線は、2つブロックの間に定義されたレファレンスポイントであって、直接の相互作用によって行われるレファレンスポイントを意味する。一方、2つのブロック間の点線(dottedline)は、対応するブロックによって発行されたコマンドに基づいて無線OSを介した相互作用によって行われるレファレンスポイントを意味する。後述するように、RCFのブロック(例えば、CM、RCM、MRC及びRM)は、無線OSによってURAにおいて相互作用が行われるようにするコマンドを発行する。
各レファレンスポイントの定義は、3種類のインターフェース、すなわち、無線コントロールフレームワークのコンポネントと通信サービス階層(communicationservice layer)のコンポネントの間のインターフェースであるMURI(MultipleRadio Interfaces)、ユニバーサル無線アプリケーション(URA:UniversalRadio Application)と無線コントロールフレームワークのコンポネントの間のインターフェースであるURAI(UnifiedRadio Applications Interfaces)及びユニバーサル無線アプリケーションとRF部分とのインターフェースであるRRFI(ReconfigurableRadioFrequency Interfaces)に基づく。MURI、URAI及びRRFIに属するインターフェースに追加して、RCFのコンポネント間のインターフェースも、レファレンスポイントとして定義される。このドキュメントで、レファレンスポイントは、それぞれのレファレンスポイントに対する分類が後述する動作手続(procedure)と対応するようにそれぞれの機能の手続によって分類される。
1)ReferencePoint 1:無線アプリケーションのインストール(install)/アンインストール(uninstall)及びインスタンス(instance)生成(creating)/削除(deleting)のためのインターフェース
図9は、無線アプリケーションのインストール/アンインストール及びインスタンス(instance)生成/削除のためのレファレンスポイントの例示である。
図9を参照すれば、CF1aは、管理者(administrator)が無線アプリケーション(RA:Radio Application)のインストール、アンインストールをCM(ConfigurationManager)に指示したり、管理者(administrator)が要請に対する応答をCMから受信したりするための、管理者(administrator)とCMの間のインターフェースである。
CF2aは、MPMがCMに、無線アプリケーションのインスタンスを生成または削除することを要請するか、またはMPMがCMから、要請に対する応答を受信するための、MPMとCMの間のインターフェースである。
CF4は、無線アプリケーションインスタンスの生成手続中、無線資源と関連したパラメータをMRCが伝送することをCMが要請するか、またはCMが前記要請(すなわち、無線資源と関連したパラメータ)に対する応答を受信するための、CMとMRC間のインターフェースである。
CF5は、RAインスタンスの生成手続中にCMがRMに対して、演算資源(computationalresources)と関連したパラメータを伝送することを要請するか、またはCMが前記要請(すなわち、演算資源と関連したパラメータ)に対する応答を受信するための、CMとRMの間のインターフェースである。
2)ReferencePoint2:無線アプリケーションのリストチェッキングのためのインターフェース
図10は、無線アプリケーションのリストを得るためのレファレンスポイントの例示である。
図10を参照すれば、CF1bは、管理者(administrator)がCMに、無線アプリケーションリストを管理者(administrator)に伝送することを要請するか、または管理者(administrator)が要請に対する応答(すなわち、無線アプリケーションリスト)をCMから受信するための、管理者(administrator)とCM間のインターフェースである。
CF2bは、MPM(Mobility Policy Manager)がCMに、無線アプリケーションリストをMPMに伝送することを要請するか、またはMPMが要請に対するCMからの応答(すなわち、無線アプリケーションリスト)を受信するための、MPMとCMの間のインターフェースである。
3)ReferencePoint 3:無線アプリケーションの活性化/非活性化のためのインターフェース
図11は、無線アプリケーションの活性化/非活性化のためのレファレンスポイントの例示である。
図11を参照すれば、CTRL1aは、MPMがRCM(Radio Connection Manager)に、RAの活性化/非活性化を行うように要請するか、またはMPMがRCMから、要請に対する応答を受信するための、MPMとRCM間のインターフェースである。
4)ReferencePoint 4:状況情報(contextinformation)伝達のためのインターフェース
図12は、状況情報の伝達のためのレファレンスポイントの例示である。
図12を参照すれば、CIIは、モニター(monitor)が無線アプリケーションのRCに、状況情報をモニターに伝送することを要請するか、またはモニターが前記要請(すなわち、状況情報)を前記無線アプリケーションのRCから受信するための、モニターと無線アプリケーションRC間のインターフェースである。
図12を参照すれば、CIIは、モニター(monitor)が無線アプリケーションのRCに、状況情報をモニターに伝送することを要請するか、またはモニターが前記要請(すなわち、状況情報)を前記無線アプリケーションのRCから受信するための、モニターと無線アプリケーションRC間のインターフェースである。
状況情報は、無線アプリケーションの対応する機能ブロックにおいて生成され、無線アプリケーションのRCに伝達される。RA内部のRCと対応する機能ブロックそれぞれの間には、インターフェースが存在しなければならない。これは、特に状況情報をRCとそれぞれの対応する機能ブロック間に伝達するためのBBIが定義されなければならないことを意味する。
5)ReferencePoint 5:データフロー生成及びユーザデータの送受信のためのインターフェース
図13は、データフロー生成とユーザデータの送受信のためのレファレンスポイントの例示である。
図13を参照すれば、CTRL1bは、MPMがRCMに、peer装置(equipment)とのデータフローまたはネットワーク連結(association)を形成することを要請するか、またはMPMがRCMから、要請に対する応答を受信するための、MPMとRCM間のインターフェースである。
CTRL2は、RCMがFC(Flow Controller)に、データフローを形成するように要請するか、またはRCMがFCから、要請に対する応答を受信するための、RCMとFC間のインターフェースである。
DCTRL1は、FCがデータの送受信手続のためにネットワーキングスタックから(またはネットワーキングスタックに)、ユーザデータを受信するかまたは伝達するための、FCとネットワーキングスタック間のインターフェースである。DCTRL1は、また、FCからネットワーキングスタックへの送信ユーザデータ(transmituser data)に対してデータ伝送完了に対する確認(acknowledgment)を含む。
DCTRL2は、FCがユーザデータをRAに伝達するか、またはスループット(throughput)、データ帯域幅などのような送信ユーザデータの情報をRAに伝達することを要請するための、FCとRA間のインターフェースである。DCTRL2は、また、FCがRAから、要請に対する応答を受信するために利用される。データ受信の場合に、DTRCL2インターフェースは、RAからFCに受信ユーザデータ(receiveuser data)を伝達するために使用される。
DCTRL3は、RAが、アンテナを備えたRFトランシーバ(transceiver;XCVR)から、またはアンテナを備えたRFトランシーバに、受信/送信ユーザデータを受信または伝達するための、RAとRFトランシーバ間のインターフェースである。
動作手続(procedure)
1)無線アプリケーションのインストール/アンインストール及びインスタンス生成/削除のための手続
1)無線アプリケーションのインストール/アンインストール及びインスタンス生成/削除のための手続
図14は、無線アプリケーションのインストール/アンインストールと関連したシグナリングダイヤグラムである。
図14を参照すれば、無線アプリケーションのインストール手続は、次の通りである。
管理者(administrator)は、無線アプリストアに無線アプリケーションパッケージ(RAP)識別子(ID)を含むDownloadRAPreq信号を伝送する。
管理者(administrator)は、無線アプリストアから無線アプリケーションパッケージと無線アプリケーションパッケージのIDを含むDownloadRAPCnf信号を受信する。
管理者(administrator)は、無線アプリケーションのインストールを要請するために無線アプリケーションパッケージIDを含むInstallRAPReq信号をCMに伝送する。
CMは、まず、RAコードの互換性(compatibility)、認証(authentication)などを検証するためにRAコードを検証する手続を行う。
CMは、ファイル管理者が無線アプリケーションの設置を行うように無線アプリケーションパッケージIDを含むInstallRAReq信号を伝送する。
ファイル管理者は、無線アプリケーションのインストールを行い、無線アプリケーションのIDを含むInstallRACnf信号をCMに伝送し、CMは、無線アプリケーションのIDを含むInstallRACnf信号を管理者(administrator)に伝達する。
ダウンロードされた無線アプリケーションが中間表現(IR)コードの場合に、CMは、無線アプリケーションのインストールに先立って無線アプリケーションパッケージIDを含むCompileReq信号をバック−エンドコンパイラーに伝送する。バック−エンドコンパイルが完了すれば、バック−エンドコンパイラーは、無線アプリケーションパッケージIDを含むCompileCnf信号をCMに伝達し、CMは、バック−エンドコンパイルされた無線アプリケーションの使用可能性(usability)を検証する手続を行う。
インストールが失敗した場合、CMは、無線アプリケーションのインストール失敗理由を無線アプリケーションパッケージIDと失敗理由を含むInstallRAPFailCnf信号を利用して管理者(administrator)に報告する。
図14を参照すると、無線アプリケーションのアンインストール手続は、次の通りである。
管理者(administrator)は、アンインストールされる無線アプリケーションのIDを含むUninstallRAReq信号をCMに伝送する。
CMは、無線アプリケーションのIDを含むUninstallRAReq信号をファイル管理者に伝送する。
ファイル管理者は、無線アプリケーションのアンインストールを行い、アンインストール完了の確認として無線アプリケーションIDを含むUninstallRACnf信号をCMに伝達する。
CMは、管理者(administrator)に無線アプリケーションIDを含むUninstallRACnf信号を伝送する。
図15は、無線アプリケーションインスタンスの生成と削除シグナリングダイヤグラムである。
図15を参照すると、無線アプリケーションインスタンスの生成手続は、次の通りである。
設置された無線アプリケーションのインスタンス生成のために、MPMは、CMにインスタンスが生成されなければならない無線アプリケーションのIDを含むInstatiateRAReq信号を伝達する。
CMは、無線アプリケーションの活性化(activation)のために必要なパラメータ(例えば、FEC(ForwardError Correction)パラメータ、MIMOパラメータ、帯域幅など)を得るために、無線アプリケーションのIDを含むRMParemeterReq信号とMRCParameterReq信号とをRMとMRCに伝送する。
CMは、無線アプリケーションのIDと演算資源パラメータとを含むRMParameterCnf信号をRMから受信する。
CMは、無線アプリケーションIDと無線資源パラメータとを含むMRCParameterCnf信号をMRCから受信する。
無線アプリケーションの活性化のために必要なパラメータを受信完了すれば、CMは、無線アプリケーションIDとパラメータとを、無線アプリケーションのインストールを行うために無線OSに伝送する。
インスタンス生成が完了すれば、CMは、無線アプリケーションIDを含むInstatiateRACnf信号をMPMに伝送する。
CMが無線アプリケーションの活性化のために必要なパラメータをRM及び/またはMRCから得るのに失敗すれば、RM及び/またはMRCは、パラメータの伝達失敗をRMParameterFailCnf信号及び/またはMRCParameterFailCnf信号をそれぞれ利用してCMに報告する。
無線アプリケーションインスタンス生成が失敗すれば(すなわち、CMがRMParameterFailCnf信号及び/またはMRCParameterFailCnf信号を受信すれば)、CMは、MPMにInstantiateRAFailCnf信号を利用してインスタンス生成失敗を報告する。
図15を参照すれば、無線アプリケーションのインスタンス削除手続は、次の通りである。
MPMは、インスタンスが削除されるべき無線アプリケーションのIDを、DeInstantiateRAReq信号を利用してCMに伝送する。
CMが無線OSに無線アプリケーションインスタンス削除を行うことを要請すれば、無線OSは、指定された無線アプリケーションのインスタンスを削除する。
インスタンス削除が完了すれば、CMは、DeInstantiateRACnf信号を利用して無線アプリケーションインスタンスの削除をMPMに確認する。
2)無線アプリケーションのリストチェッキング手続
図16は、無線アプリケーションリスティングチェッキング手続を示すシグナリングダイヤグラムである。
図16を参照すると、設置された/インスタンスされた/活性化されたRAのリストをチェックする手続は、次の通りである。
管理者(administrator)またはMPMは、RAのリストを得るために、CMにListRAReq信号を伝送する。
CMは、RAリスト情報を、RAList信号を利用して管理者(administrator)またはMPMに伝達する。
3)無線アプリケーションの活性化/非活性化のための手続
図17は、無線アプリケーション活性化手続のシグナリングダイヤグラムである。
図17を参照すると、無線アプリケーションの活性化手続は、次の通りである。
図17を参照すると、無線アプリケーションの活性化手続は、次の通りである。
MPMは、無線アプリケーションの活性化要請のために無線アプリケーションのIDを含むActivateReq信号をRCMに伝送する。
RCMが無線アプリケーション活性化の実行を要請すると、無線OSは、指定された無線アプリケーションを活性化する。
無線OSが無線アプリケーションの活性化を完了した後、RCMは、MPMにActivateCnf信号を伝送することによって、無線アプリケーション活性化の完了を確認する。
もし、無線アプリケーション活性化が失敗すれば、RCMは、失敗されたRAのIDと失敗原因をActivateFailCnf信号に含ませて伝送することによって、MPMにRA活性化の失敗を報告する。
図18は、無線アプリケーション非活性化手続のシグナリングダイヤグラムである。
図18を参照すると、無線アプリケーションの非活性化手続は、次の通りである。
図18を参照すると、無線アプリケーションの非活性化手続は、次の通りである。
図18を参照すると、ハード非活性化(harddeactivation)の場合には、MPMは、無線アプリケーションのIDを含むHardDeactivateReq信号を指定された無線アプリケーションのハード非活性化を要請するためにRCMに伝送する。
RCMが無線OSに無線アプリケーションのハード非活性化を要請すると、無線OSは、指定された無線アプリケーションを非活性化する。
無線OSが無線アプリケーションのハード非活性化を完了すれば、RCMは、HardDeactivateCnf信号をMPMに伝送することによって無線アプリケーションのハード非活性化完了を確認する。
一方、ソフト非活性化(softdeactivation)の場合には、MPMは、指定された無線アプリケーションのソフト非活性化を要請するために、無線アプリケーションのIDを含むSoftDeactivateReq信号をRCMに伝送する。
RCMが無線OSに無線アプリケーションのソフト非活性化を要請すると、無線OSは指定された無線アプリケーションを非活性化する。
無線OSが無線アプリケーションのソフト非活性化を完了すれば、RCMは、SoftDeactivateCnf信号をMPMに伝送することによって、無線アプリケーションのソフト非活性化完了を確認する。
4)状況情報(contextinformation)伝達のための手続
図19は、状況情報伝達のためのシグナリングダイヤグラムである。
図19を参照すると、無線アプリケーションがモニターまたはベースバンドパラメータ集成ユニット(BasebandParameter Aggregation Unit;BPAユニット)に状況情報を伝送する手続は、次の通りである。
図19を参照すると、無線アプリケーションがモニターまたはベースバンドパラメータ集成ユニット(BasebandParameter Aggregation Unit;BPAユニット)に状況情報を伝送する手続は、次の通りである。
モニターは、無線アプリケーションのIDを含むContextInformationReq信号を無線アプリケーションのRCに伝達する。
無線アプリケーションのRCは、無線アプリケーション内部の対応する機能ブロックから生成された状況情報と無線アプリケーションIDを含むContextInformation信号をモニターに伝送する。
BPAユニットが使用される場合なら、無線アプリケーションのRCは、状況情報と無線アプリケーションIDとを含むContextInformation信号をBPAユニットに伝送する。BPAユニットは、伝送される状況情報が占める帯域幅を最小化するために状況情報を集成し圧縮する。状況情報の集成及び圧縮手続が完了すると、BPAユニットは、無線アプリケーションのIDと集成されたメトリック(metric)を、無線アプリケーションのIDを含むAggregatedMetric信号を利用してモニターに伝送する。
状況情報生成失敗の場合に、無線アプリケーションのRCは、無線アプリケーションIDと失敗原因を含むContextInformationFailCnf信号をモニターに伝送する。
5)データフロー生成及びユーザデータ送受信のための手続
図20は、ネットワーク連結(networkassociation)生成手続のシグナリングダイヤグラムである。
図20を参照すると、ネットワーク連結生成手続は、次の通りである。
MPMは、無線アプリケーションIDとpeer装置IDとを含むAssociateReq信号をRCMに伝達する。Peer装置は、WLAN AP(WirelessLocal Area Network access point)、セルラーネットワークのIPアクセスノード(GGSN(GatewayGGSN Support Node)など)、ブルートゥースヘッドセット、デジタル無線/TV放送ステーション、GPS衛星などであってよい。
MPMは、無線アプリケーションIDとpeer装置IDとを含むAssociateReq信号をRCMに伝達する。Peer装置は、WLAN AP(WirelessLocal Area Network access point)、セルラーネットワークのIPアクセスノード(GGSN(GatewayGGSN Support Node)など)、ブルートゥースヘッドセット、デジタル無線/TV放送ステーション、GPS衛星などであってよい。
RCMが無線OSにネットワーク連結生成を要請すると、無線OSは、RCMからのAssociateReq信号を無線アプリケーションに伝達する。無線アプリケーションは、対応するピア装置のIDをNetAssociateReq信号によりピア装置に伝達する
ネットワーク連結生成が完了すれば、ピア装置は、NetAssociateCnf信号を無線アプリケーションに伝送する。無線OSは、AssociateCnf信号をRCMに伝達し、RCMは、AssociateCnf信号をMPMに伝達する。
ネットワーク連結生成が失敗すれば、ピア装置は、NetAssociateFailCnf信号を無線アプリケーションに伝送する。無線OSは、AssociateFailCnf信号をRCMに伝送し、RCMは、AssociateFailCnf信号をMPMに伝達する。
図21は、論理的無線リンク(logicalradio link)連結(association)手続のシグナリングダイヤグラムである。
図21を参照すると、論理的無線リンク連結生成手続は、次の通りである。
MPMは、他のMD(MobileDevice)と論理的無線リンクを連結するために活性化されたRAのIDとピア装置IDとユーザIDとを含むCreateDataFlowReq信号をRCMに伝達する。
RCMは、データフローの生成を無線OSにピア装置ID、活性化されたRAのID、ユーザID及び他のモバイル装置のユーザIDを含むCreateDataFlowReq信号を利用して要請する。無線アプリケーションは、対応するユーザユーザID、他のモバイル装置のユーザID及びピア装置IDを、LogicalRadioLinkReq信号を利用してピア装置に伝達する。
ピア装置からユーザIDと他のモバイル装置ユーザIDを含むLogicalRadioLinkReq信号を受信すれば、ネットワークは、ピア装置にLogical linkIDを含むLogicalRadioLinkCnf信号を伝達する。
ピア装置からLogical link IDを含むLogicalRadioLinkCnf信号が無線アプリケーションに伝達されると、無線OSは、ネットワーク連結ID、無線アプリケーションID及びlogical linkIDを含むCreateDataFlowCnf信号をRCMに伝達する。
データフローの設定のために、RCMは、ネットワーク連結IDと無線アプリケーションIDを含むCreateFlowReq信号をFCに伝送する。データフロー生成後に、FCは、ネットワーク連結ID、無線アプリケーションID及び生成されたデータフローIDを含むCreateFlowCnf信号をRCMに伝達する。
RCMは、ネットワーク連結ID、無線アプリケーションID及びデータフローIDを含むCreateDataFlowCnf信号をMPMに伝送する。
無線アプリケーションがピア装置からLogicalRadioLinkRej信号を受信すると、無線OSは、ネットワーク連結ID及び失敗原因を含むCreateDataFlowFailCnf信号をRCMに伝送する。RCMは、データフロー生成失敗を確認するためにCreateDataFlowFailCnf信号をMPMに伝達する。
図22は、データ送信手続のシグナリングダイヤグラムである。
図22を参照すると、データ送信手続は次の通りである。
ネットワーキングスタックは、ユーザデータを伝送するためにデータフローIDとユーザデータを含むDataTransferReq信号をFCに伝達する。
図22を参照すると、データ送信手続は次の通りである。
ネットワーキングスタックは、ユーザデータを伝送するためにデータフローIDとユーザデータを含むDataTransferReq信号をFCに伝達する。
FCは、無線アプリケーションに送信するユーザデータに関する情報−スループット、データ帯域幅など−を要請するためにRAEnvironmentReq信号を伝達する。
無線アプリケーションは、RAEnvironmentCnf信号を利用して環境情報をFCに伝達する。
データフローIDを含むRAEnvironmentCnf信号を受信すると、FCは、データフローIDとユーザデータを含むUserData信号を無線アプリケーションに伝達する。
無線アプリケーションは、TransmitData信号を利用してデータフローIDを含むユーザデータをRF XCVRに伝送する。
データ伝送が完了すると、無線アプリケーションは、DataCnf信号をFCに伝送することによってユーザデータ伝送完了を確認する。
DataCnf信号を受信すると、FCは、データフローIDを含むDataTransferCnf信号をネットワーキングスタックに伝送する。
データ送信失敗の場合に、無線アプリケーションは、FCにデータフローIDを含むDataFailCnf信号を伝送することによってデータ送信の失敗を報告する。
DataFailCnf信号を受信すると、FCは、データフローIDを含むDataTransferFailCnf信号をネットワーキングスタックに伝達する。
DataFailCnf信号を受信すると、FCは、データフローIDを含むDataTransferFailCnf信号をネットワーキングスタックに伝達する。
図23は、データ受信手続のシグナリングダイヤグラムである。
図23を参照すると、データ受信手続は次の通りである。
アンテナを備えたRFトランシーバ(RF XCVR)は、受信データ(ReceiveData)を利用してデータフローIDを含む受信されたユーザデータを、無線アプリケーションに伝達する。
図23を参照すると、データ受信手続は次の通りである。
アンテナを備えたRFトランシーバ(RF XCVR)は、受信データ(ReceiveData)を利用してデータフローIDを含む受信されたユーザデータを、無線アプリケーションに伝達する。
無線アプリケーションは、RFトランシーバから受信したデータをデコーディングした後に、データフローIDとユーザデータを含むUserData信号をFCに伝達する。
FCは、データフローIDと無線アプリケーションから受信したユーザデータを含むDataInd信号をネットワーキングスタックに伝達する。
上記では、本発明の好ましい実施例を参照して説明したが、当該技術分野における熟練された当業者は、下記の特許請求の範囲に記載された本発明の思想及び領域を逸脱しない範囲内で本発明を多様に修正及び変更できることを理解することができる。
Claims (15)
- 無線プロセッサを備えた端末の無線プロセッサ階層で無線アプリケーションが動作する方法であって、
前記無線アプリケーションが目的とするシャドー(shadow)無線プラットホームと前記端末の実際無線プラットホームとの同一可否を判断する段階と、
前記無線アプリケーションが目的とするシャドー無線プラットホームと前記端末の実際無線プラットホームが同一の場合、前記無線アプリケーションの構成コード(configcode)を前記無線プロセッサで実行する段階とを含むことを特徴とする、無線アプリケーション動作方法。 - 前記構成コードは、前記無線アプリケーションのユーザ定義機能ブロックを構成するユーザ定義機能ブロックコードと、前記無線アプリケーションが利用する標準機能ブロックを構成する無線ライブラリとを、前記実際無線プラットホームで実行可能な実行コード形態で含むことを特徴とする、請求項1に記載の無線アプリケーション動作方法。
- 前記標準機能ブロックの少なくとも一部は、前記無線アプリケーションが前記無線プロセッサ階層の無線HAL(HardwareAbstraction Layer)階層を以て実行させる専用のハードウェアロジッグで実現されることを特徴とする、請求項2に記載の無線アプリケーション動作方法。
- 前記無線アプリケーションの構成コードを含む無線アプリケーションパッケージをサーバーからダウンロードする段階をさらに含むことを特徴とする、請求項1に記載の無線アプリケーション動作方法。
- 前記無線アプリケーションは、前記端末の無線プロセッサ及びアプリケーションプロセッサのうち少なくとも1つにおいて動作し、前記無線アプリケーションに動作環境を提供する無線コントロールフレームワークと連動することを特徴とする、請求項1に記載の無線アプリケーション動作方法。
- 前記無線コントロールフレームワークは、
前記無線アプリケーションのインストール/アンインストール及びインスタンス(instance)生成/削除を行い、無線パラメータを管理する設定マネージャー(CM:ConfigurationManager)と、
前記無線アプリケーションの活性化/非活性化及び無線アプリケーション間のユーザデータフロースイッチを管理する無線連結マネージャー(RCM:RadioConnection Manager)と、
ユーザデータパッケージの送受信及びフローを制御するフローコントローラー(FC:FlowController)と、
無線アプリケーションからのスペクトル資源に対する要請をスケジューリングするマルチ無線コントローラー(MRC:Multi-RadioController)と、
無線アプリケーションの間に無線資源を共有させるリソースマネージャー(RM:ResourceManager)のうち少なくとも1つを含むことを特徴とする、請求項5に記載の無線アプリケーション動作方法。 - 無線プロセッサを備えた端末の無線プロセッサ階層で無線アプリケーションが動作する方法であって、
前記無線アプリケーションが目的とするシャドー(shadow)無線プラットホームと前記端末の実際無線プラットホームとの同一可否を判断する段階と、
前記無線アプリケーションが目的とするシャドー無線プラットホームが前記端末の実際無線プラットホームと異なっている場合、前記無線アプリケーションの構成コード(configcode)を無線仮想マシンでコンパイルし、前記無線プロセッサで実行する段階とを含むことを特徴とする、無線アプリケーション動作方法。 - 前記構成コードは、前記無線アプリケーションのユーザ定義機能ブロックを構成するユーザ定義機能ブロックコードを、前記実際無線プラットホームで実行可能な実行コードに変換可能な中間表現(IR:IntermediateRepresentation)形態で含むことを特徴とする、請求項7に記載の無線アプリケーション動作方法。
- 前記無線仮想マシンは、前記構成コードを前記実際無線プラットホームの実行コードにコンパイルするJIT(just-in-time)コンパイラーを含むことを特徴とする、請求項7に記載の無線アプリケーション動作方法。
- 前記無線仮想マシンは、前記構成コードを前記実際無線プラットホームの実行コードにコンパイルするAOT(ahead-of-time)コンパイラーを含むことを特徴とする、請求項7に記載の無線アプリケーション動作方法。
- 前記端末は、前記無線プロセッサ階層内に標準機能ブロックのネイティブ実現(nativeimplementation)を備えたことを特徴とする、請求項7に記載の無線アプリケーション動作方法。
- 前記端末は、前記無線アプリケーションが前記無線プロセッサ階層の無線HAL(HardwareAbstraction Layer)階層を以て実行させる専用のハードウェアロジッグで実現された標準機能ブロックを備えることを特徴とする、請求項7に記載の無線アプリケーション動作方法。
- 前記無線アプリケーションの構成コードを含む無線アプリケーションパッケージをサーバーからダウンロードする段階をさらに含むことを特徴とする、請求項7に記載の無線アプリケーション動作方法。
- 前記無線アプリケーションは、前記端末の無線プロセッサ及びアプリケーションプロセッサのうち少なくとも1つにおいて動作し、前記無線アプリケーションに動作環境を提供する無線コントロールフレームワークと連動することを特徴とする、請求項7に記載の無線アプリケーション動作方法。
- 前記無線コントロールフレームワークは、
前記無線アプリケーションのインストール/アンインストール及びインスタンス(instance)生成/削除を行い、無線パラメータを管理する設定マネージャー(CM:ConfigurationManager)と、
前記無線アプリケーションの活性化/非活性化及び無線アプリケーション間のユーザデータフロースイッチを管理する無線連結マネージャー(RCM:RadioConnection Manager)と、
ユーザデータパッケージの送受信及びフローを制御するフローコントローラー(FC:FlowController)と、
無線アプリケーションからのスペクトル資源に対する要請をスケジューリングするマルチ無線コントローラー(MRC:Multi-RadioController)と、
無線アプリケーションの間に無線資源を共有させるリソースマネージャー(RM:ResourceManager)のうち少なくとも1つを含むことを特徴とする、請求項14に記載の無線アプリケーション動作方法。
Applications Claiming Priority (17)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20120038062 | 2012-04-12 | ||
KR20120038045 | 2012-04-12 | ||
KR10-2012-0038062 | 2012-04-12 | ||
KR10-2012-0038045 | 2012-04-12 | ||
KR10-2012-0063560 | 2012-06-14 | ||
KR20120063560 | 2012-06-14 | ||
KR10-2012-0089785 | 2012-08-17 | ||
KR20120089785 | 2012-08-17 | ||
KR10-2012-0090453 | 2012-08-20 | ||
KR20120090453 | 2012-08-20 | ||
KR10-2012-0109783 | 2012-10-04 | ||
KR20120109783 | 2012-10-04 | ||
KR20120119188 | 2012-10-25 | ||
KR10-2012-0119188 | 2012-10-25 | ||
KR20120141470 | 2012-12-06 | ||
KR10-2012-0141470 | 2012-12-06 | ||
PCT/KR2013/003075 WO2013154380A1 (ko) | 2012-04-12 | 2013-04-12 | 소프트웨어 정의 라디오 어플리케이션의 동작 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015523750A true JP2015523750A (ja) | 2015-08-13 |
Family
ID=49327878
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015505644A Pending JP2015523750A (ja) | 2012-04-12 | 2013-04-12 | ソフトウェア定義無線アプリケーションの動作方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9612816B2 (ja) |
EP (1) | EP2838209A4 (ja) |
JP (1) | JP2015523750A (ja) |
KR (1) | KR102024533B1 (ja) |
CN (1) | CN104247290A (ja) |
WO (1) | WO2013154380A1 (ja) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9354910B2 (en) * | 2013-12-23 | 2016-05-31 | Intel Corporation | Method for certification of reconfigurable radio equipment when reconfiguration software developed by third party |
CN105227337B (zh) * | 2014-06-23 | 2019-08-23 | 中兴通讯股份有限公司 | 一种多模网管配置模型升级方法及装置 |
KR102292057B1 (ko) * | 2014-08-20 | 2021-08-20 | 한양대학교 산학협력단 | 라디오 어플리케이션을 실행하는 방법 및 단말 장치 |
WO2016028086A1 (ko) * | 2014-08-20 | 2016-02-25 | 한양대학교 산학협력단 | 라디오 어플리케이션을 실행하는 방법 및 단말 장치 |
WO2016171477A1 (ko) * | 2015-04-23 | 2016-10-27 | 한양대학교 산학협력단 | 통합 라디오 어플리케이션의 관리 방법 및 이를 이용하는 재구성 가능한 모바일 장치 |
US20170191833A1 (en) * | 2015-12-31 | 2017-07-06 | Fogo Digital Inc. | Orienteering Tool Integrated with Flashlight |
WO2017138784A1 (ko) * | 2016-02-12 | 2017-08-17 | 한양대학교 산학협력단 | 라디오 어플리케이션을 실행하는 방법 및 단말 장치 |
CN107566953A (zh) * | 2016-12-12 | 2018-01-09 | 北京数科技有限公司 | 双麦克风的切换方法及装置 |
EP3612931B1 (en) | 2017-04-17 | 2024-06-05 | Deepsig Inc. | Placement and scheduling of radio signal processing dataflow operations |
US10412736B2 (en) * | 2017-05-08 | 2019-09-10 | T-Mobile Usa, Inc. | Internet of things (IoT) device firewalling |
US10445119B2 (en) * | 2017-06-30 | 2019-10-15 | Intel Corporation | Software reconfigurable mobile devices and methods |
CN112204518A (zh) * | 2017-07-21 | 2021-01-08 | 苹果公司 | 用于软件重新配置的多无线电接口 |
US10536859B2 (en) | 2017-08-15 | 2020-01-14 | Charter Communications Operating, Llc | Methods and apparatus for dynamic control and utilization of quasi-licensed wireless spectrum |
US10340976B2 (en) | 2017-10-16 | 2019-07-02 | Charter Communications Operating, Llc | Methods and apparatus for coordinated utilization of quasi-licensed wireless spectrum |
US10492204B2 (en) | 2017-11-15 | 2019-11-26 | Charter Communications Operating, Llc | Methods and apparatus for utilization of quasi-licensed wireless spectrum for IoT (Internet-of-Things) services |
US10966073B2 (en) | 2017-11-22 | 2021-03-30 | Charter Communications Operating, Llc | Apparatus and methods for premises device existence and capability determination |
US10405192B2 (en) | 2018-01-15 | 2019-09-03 | Charter Communications Operating, Llc | Methods and apparatus for allocation and reconciliation of quasi-licensed wireless spectrum across multiple entities |
US11716558B2 (en) | 2018-04-16 | 2023-08-01 | Charter Communications Operating, Llc | Apparatus and methods for integrated high-capacity data and wireless network services |
US11432284B2 (en) | 2018-05-22 | 2022-08-30 | Charter Communications Operating, Llc | Methods and apparatus for intra-cell and inter-frequency mobility optimization and mitigation of session disruption in a quasi-licensed wireless system |
US11129213B2 (en) | 2018-10-12 | 2021-09-21 | Charter Communications Operating, Llc | Apparatus and methods for cell identification in wireless networks |
US11129171B2 (en) | 2019-02-27 | 2021-09-21 | Charter Communications Operating, Llc | Methods and apparatus for wireless signal maximization and management in a quasi-licensed wireless system |
US10911941B2 (en) | 2019-03-08 | 2021-02-02 | Industry-University Cooperation Foundation Hanyang University | Reconfigurable radio equipment having multiple radio computers, and operation method for the same |
WO2021054703A1 (ko) * | 2019-09-16 | 2021-03-25 | 한양대학교 산학협력단 | 복수의 라디오 컴퓨터를 가진 재구성 가능한 라디오 장치에서 통합 라디오 어플리케이션의 분산 설치 방법 |
US11026205B2 (en) | 2019-10-23 | 2021-06-01 | Charter Communications Operating, Llc | Methods and apparatus for device registration in a quasi-licensed wireless system |
US11470687B2 (en) | 2020-01-21 | 2022-10-11 | Charter Communications Operating, Llc | Multi-mode wireless apparatus and methods of operation |
CN113806106B (zh) * | 2021-08-13 | 2023-09-15 | 中国航空无线电电子研究所 | 面向VxWorks实时进程的通信系统 |
US11582098B1 (en) * | 2021-11-09 | 2023-02-14 | At&T Intellectual Property I, L.P. | Mechanized modify/add/create/delete for network configuration |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003520551A (ja) * | 2000-01-24 | 2003-07-02 | レイディオスケープ リミテッド | デジタル無線基地局 |
JP2007508728A (ja) * | 2003-10-10 | 2007-04-05 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | 拡張性のある移動体端末のプラットフォームのための方法及びシステム |
JP2009087358A (ja) * | 2001-12-05 | 2009-04-23 | Microsoft Corp | コンフィギュレーションマネージャのロールバック機能とセキュリティ機能を使用してモバイルコンピューティングデバイスにソフトウェアをインストールする方法、システム、コンピュータプログラム |
WO2012037825A1 (zh) * | 2010-09-21 | 2012-03-29 | 中兴通讯股份有限公司 | 反向测试覆盖的方法及系统 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100696944B1 (ko) * | 2005-03-30 | 2007-03-20 | 전자부품연구원 | 하이브리드 소프트웨어-정의 라디오 |
TW200742462A (en) * | 2006-04-21 | 2007-11-01 | Univ Nat Tsing Hua | Method for reconfiguring mobility platform and device using the same |
KR20070115522A (ko) | 2006-06-02 | 2007-12-06 | 삼성전자주식회사 | 이동 통신 시스템에서의 모뎀 및 이를 위한 인터페이스방법 |
US8645973B2 (en) * | 2006-09-22 | 2014-02-04 | Oracle International Corporation | Mobile applications |
KR100960123B1 (ko) | 2007-12-17 | 2010-05-27 | 한국전자통신연구원 | 미들웨어의 테스트 컴포넌트 운용방법 및 그 장치 |
US8103213B2 (en) * | 2008-09-03 | 2012-01-24 | Nokia Corporation | Software-defined radio configuration |
US9155103B2 (en) * | 2009-06-01 | 2015-10-06 | Qualcomm Incorporated | Coexistence manager for controlling operation of multiple radios |
EP2362550B1 (en) * | 2010-02-18 | 2012-08-29 | Imec | Digital front-end circuit and method for using the same |
WO2012142172A2 (en) * | 2011-04-12 | 2012-10-18 | Public Wireless, Inc. | Common radio element application manager architecture for wireless picocells |
-
2013
- 2013-04-12 CN CN201380019559.2A patent/CN104247290A/zh active Pending
- 2013-04-12 JP JP2015505644A patent/JP2015523750A/ja active Pending
- 2013-04-12 EP EP13776240.7A patent/EP2838209A4/en not_active Withdrawn
- 2013-04-12 KR KR1020130040199A patent/KR102024533B1/ko active IP Right Grant
- 2013-04-12 WO PCT/KR2013/003075 patent/WO2013154380A1/ko active Application Filing
- 2013-04-12 US US14/391,873 patent/US9612816B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003520551A (ja) * | 2000-01-24 | 2003-07-02 | レイディオスケープ リミテッド | デジタル無線基地局 |
JP2009087358A (ja) * | 2001-12-05 | 2009-04-23 | Microsoft Corp | コンフィギュレーションマネージャのロールバック機能とセキュリティ機能を使用してモバイルコンピューティングデバイスにソフトウェアをインストールする方法、システム、コンピュータプログラム |
JP2007508728A (ja) * | 2003-10-10 | 2007-04-05 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | 拡張性のある移動体端末のプラットフォームのための方法及びシステム |
WO2012037825A1 (zh) * | 2010-09-21 | 2012-03-29 | 中兴通讯股份有限公司 | 反向测试覆盖的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2013154380A1 (ko) | 2013-10-17 |
EP2838209A4 (en) | 2015-12-09 |
CN104247290A (zh) | 2014-12-24 |
US20150326434A1 (en) | 2015-11-12 |
KR20130116039A (ko) | 2013-10-22 |
EP2838209A1 (en) | 2015-02-18 |
US9612816B2 (en) | 2017-04-04 |
KR102024533B1 (ko) | 2019-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102024533B1 (ko) | 소프트웨어 정의 라디오 어플리케이션의 동작 방법 | |
KR101701037B1 (ko) | 소프트웨어 정의 라디오 어플리케이션의 배포, 설치 및 실행 방법 | |
KR102292057B1 (ko) | 라디오 어플리케이션을 실행하는 방법 및 단말 장치 | |
KR20170040972A (ko) | 라디오 어플리케이션을 실행하는 방법 및 단말 장치 | |
JP5977438B2 (ja) | ソフトウェア定義無線アプリケーションの配布、設置及び実行方法 | |
US20160198018A1 (en) | Mobile device for executing radio application | |
KR101796794B1 (ko) | 소프트웨어 정의 라디오 단말 장치 및 라디오 어플리케이션의 배포 및 설치 방법 | |
AU2010244906B2 (en) | Method and System for Provisioning Terminal Parameters and Terminal Management Apparatus | |
US20190007811A1 (en) | Reconfigurable mobile device using unified radio application interface, and operation method thereof | |
US10911941B2 (en) | Reconfigurable radio equipment having multiple radio computers, and operation method for the same | |
KR101945941B1 (ko) | 라디오 어플리케이션을 실행하는 방법 및 단말 장치 | |
Jin et al. | The ETSI standard architecture, related interfaces, and reconfiguration process for reconfigurable mobile devices | |
KR20210032294A (ko) | 복수의 라디오 컴퓨터들을 구비한 재구성 가능한 라디오 장치에서 기능 블록들 간의 통신 방법 | |
KR101836509B1 (ko) | 소프트웨어 정의 라디오 단말 장치 및 라디오 어플리케이션의 배포 및 설치 방법 | |
KR20210032295A (ko) | 복수의 라디오 컴퓨터들을 구비한 재구성 가능한 라디오 장치에서 라디오 어플리케이션을 구성하는 기능 블록들의 동적 재구성 방법 | |
KR102673243B1 (ko) | 복수의 라디오 컴퓨터를 구비한 재구성 가능한 라디오 장치 및 이를 위한 동작 방법 | |
KR20200107754A (ko) | 복수의 라디오 컴퓨터를 구비한 재구성 가능한 라디오 장치 및 이를 위한 동작 방법 | |
KR20210032293A (ko) | 복수의 라디오 컴퓨터를 가진 재구성 가능한 라디오 장치에서 통합 라디오 어플리케이션의 분산 설치 방법 | |
Ahn et al. | Data plane framework for software-defined radio access network based on ETSI-standard mobile device architecture | |
KR20190056889A (ko) | 라디오 가상 머신을 적용한 네트워크 기능 가상화 | |
KR20190056883A (ko) | 라디오 가상 머신 적용 다중모드 기지국 플랫폼 | |
Globa et al. | Algorithms of Mobile Network Development Using Software-Defined Radio Technology | |
Demestichas et al. | Reconfigurability | |
Kim et al. | Implementation of component based wireless communication protocol for SDR AT |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20151216 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160209 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160425 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20161004 |