説明

無線装置

【課題】無線装置において、ソフトウェアコンポーネントを実行可能な環境を、適切に選択する。
【解決手段】本発明に係る無線装置は、それぞれソフトウェアコンポーネントを実行して、全体として無線通信処理を行う複数のソフトウェア実行手段と、前記ソフトウェアコンポーネントの実行のために要求される環境を示す1つ以上の実行環境情報を記憶する記憶手段と、前記記憶手段から読み出したすべての実行環境情報に基づいて、前記ソフトウェアコンポーネントが、前記複数のソフトウェア実行手段のいずれかにおいて実行可能であるか否かを判定する判定手段と、前記判定ステップの結果に基づいて、前記ソフトウェアコンポーネントを実行する前記ソフトウェア実行手段を選択する選択手段とを有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ソフトウェア無線装置に関する。
【背景技術】
【0002】
例えば、特許文献1は、複数のモジュールからなるドメイン内で動作するソフトウェアプログラムの動作状況を管理するドメイン管理インタフェースを有するソフトウェア無線機を開示する。
【特許文献1】特開2007−148844号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
本発明は、上述のような背景からなされたものであり、ソフトウェアコンポーネントを、より適切に動作させることができるよう改良された無線装置を提供することを目的とする。
【課題を解決するための手段】
【0004】
上記目的を達成するために、本発明に係る無線装置(1)は、それぞれソフトウェアコンポーネント(222)を実行して、全体として無線通信処理を行う複数のソフトウェア実行手段(224)と、前記ソフトウェアコンポーネントの実行のために要求される環境を示す1つ以上の実行環境情報(264)を記憶する記憶手段(260)と、前記記憶手段から読み出したすべての実行環境情報に基づいて、前記ソフトウェアコンポーネントが、前記複数のソフトウェア実行手段のいずれかにおいて実行可能であるか否かを判定する判定手段(262)と、前記判定ステップの結果に基づいて、前記ソフトウェアコンポーネントを実行する前記ソフトウェア実行手段を選択する選択手段(262)とを有する。
なお、ここで付された符号は、本願発明の理解を助けることを意図するものであり、本願発明の技術的範囲を限定することを意図するものではない。
【0005】
また、本発明に係るソフトウェア実行手段の選択配置方法は、ソフトウェア無線装置において、ソフトウェアコンポーネントの実行のために要求される環境を示す1つ以上の実行環境情報を所定のファイルから読み出し、読み出した前記実行環境情報に基づいて、前記ソフトウェアコンポーネントの実行に適したソフトウェア実行手段が存在するか否かを判定し、前記ソフトウェアコンポーネントの実行に適した前記ソフトウェア実行手段が存在するときは、前記適切なソフトウェア実行手段を選択して、前記ソフトウェアコンポーネントを前記選択したソフトウェア実行手段に配置し、それ以外のときは、選択配置処理を終了させる。
【発明の効果】
【0006】
本発明に係る無線装置によれば、ソフトウェアコンポーネントを、より適切に動作させることができる。
【発明を実施するための最良の形態】
【0007】
[本発明の背景]
本発明の理解を助けるために、まず、本発明がなされるに至った背景を説明する。
複数のソフトウェアコンポーネントを有し、無線通信処理の内容に応じて、複数のソフトウェアコンポーネントの中から必要なソフトウェアコンポーネントを選択し、組み合わせて実行し、無線通信処理を行うように構成された無線装置がある。
ソフトウェアコンポーネントを実行するためには、ソフトウェアコンポーネントが要求する実行環境を備えたハードウェア(以下、「ソフトウェアコンポーネントに対応するハードウェア」と記述する)を選択する必要がある。
上述の無線装置は、一般にOSやプロセッサの種類など、各ソフトウェアコンポーネントを実行するために必要な環境を示す情報(以下、「実行環境情報」と記述する)に基づいて、各ソフトウェアコンポーネントに対応するハードウェアを選択する。
【0008】
また、一般的に、実行環境情報は、1つのソフトウェアコンポーネントについて、複数定義されうる。
しかしながら、無線装置において、複数の実行環境情報に基づいて、適切なハードウェアを選択することができず、実際にはソフトウェアコンポーネントに対応するハードウェアが存在するにもかかわらず、ソフトウェアコンポーネントを実行できないと判断される可能性がある。
本発明に係る無線装置は、以上に説明した背景によりなされたものであり、複数の実行環境情報に基づいて、ソフトウェアコンポーネントを、より適切に動作させることができるよう改良されている。
【0009】
[無線装置1]
以下、本発明の実施形態として、無線装置1を説明する。
図1(A)は、本発明に係る無線装置1のハードウェア構成を例示する図である。
図1(A)に示すように、無線装置1は、RF部102と、RF部102に接続されたアンテナ100と、CompactPCI(Peripheral Component Interconnect)などのバス104を介して接続されたモデム部22、コーデック部24および制御部26から構成される。
なお、 以下の各図において、実質的に同じ構成部分には、同じ符号が付される。
【0010】
モデム部22、コーデック部24および制御部26は、それぞれ、メモリ106よびCPU108などを含む。
なお、これらの構成部分においては、CPU108とともに、あるいは、CPUの代わりに、DSP(Digital Signal Processor)が用いられてもよい。
RF部102は、アンテナ100を介して所定の無線方式の信号を受信し、モデム部22に対して出力する。
【0011】
また、RF部102は、モデム部22から入力される信号を、アンテナ100を介して所定の無線方式で送信する。
モデム部22は、RF部102から入力された信号を復調し、コーデック部24に対して出力する。
また、モデム部22は、コーデック部24から入力された信号を変調し、RF部102に対して出力する。
【0012】
コーデック部24は、モデム部22から入力される信号をデコードし、制御部26に対して出力する。
また、コーデック部24は、制御部26から入力される信号をエンコードし、モデム部22に対して出力する。
また、コーデック部24は、LANインタフェース(IF)110を含み、ネットワーク100に接続されている。
【0013】
制御部26は、モデム部22およびコーデック部24などの無線装置1の各部の制御を行う。
また、制御部26は、LAN―IF110を含み、ネットワーク100に接続されている。
また、制御部26は、外部への入出力インタフェース(I/O―IF)112を含む。
【0014】
[無線通信処理プログラム20]
以下、無線装置(図1(A))において動作する無線通信処理プログラムを説明する。
図1(B)は、図1(A)のモデム部22、コーデック部24および制御部26で実行される無線通信処理プログラム20の構成を示す図である。
図1(B)に示すように、無線通信処理プログラム20は、モデム部のメモリ220およびコーデック部のメモリ240に記憶される複数のソフトウェアコンポーネント222およびGPPDevice224と、制御部のメモリ260に記憶されるアプリケーションファクトリ262およびドメインプロファイル264から構成される。
ソフトウェアコンポーネント222、GPPDevice224、アプリケーションファクトリ262は、バス104内のソフトウェアバスであるORB(Object Request Broker)を介して接続され、CORBA(Common Object Request Broker Architecture)を構成する。
【0015】
CORBAを構成するソフトウェアコンポーネントは、スケルトンおよびスタブを介してORBと通信することにより、無線通信処理を行う。
なお、以下、「ソフトウェアコンポーネント222」など、複数存在し得る構成部分について、それぞれを特定して示すときは、「ソフトウェアコンポーネント222−1,222−2,・・・,222−n」などと記述されることがある。
ただし、nは1以上の整数であって、nが常に同じ数を示すとは限らない。
【0016】
ソフトウェアコンポーネント222は、後述するアプリケーションファクトリ262によって、無線通信処理の内容に応じて1つ以上選択され、モデム部22のメモリ220およびコーデック部24のメモリ240にロードされ、ハードウェア資源(デバイス)を具体的に利用して実行される。
GPPDevice224は、デバイスインタフェースであって、例えば、DSP、シリアルデバイス、オーディオデバイスなどのCORBA非対応のハードウェアデバイスにアクセス可能とする論理デバイスである。
また、GPPDevice224は、後述するアプリケーションファクトリ262からの問い合わせを受け取り、アプリケーションファクトリ262に対して、問い合わせ結果を出力する。
【0017】
また、GPPDevice224は、後述するアプリケーションファクトリ262から、ソフトウェアコンポーネント222の配置、実行指示を受け取り、ソフトウェアコンポーネント222を、GPPDevice224と接続するハードウェアデバイスのメモリ上にロードし、実行する。
アプリケーションファクトリ262は、制御ソフトウェアであって、I/O―IF112(図1(A))を介して、外部から無線通信処理の実行要求を受け取る。
実行要求を受け取ると、アプリケーションファクトリ262は、要求された無線通信処理に必要な1つ以上のソフトウェアコンポーネント222を選択する。
なお、以下、「要求された無線通信処理に必要なソフトウェアコンポーネント222」を、「実行対象ソフトウェアコンポーネント222」と記述する。
【0018】
アプリケーションファクトリ262は、GPPDevice224に対して、
各実行対象ソフトウェアコンポーネント222に対応するドメインプロファイル264(図2を参照して後述)から読み出した情報を渡して、実行対象ソフトウェアコンポーネント222をそれぞれ実行可能か否かの問い合わせを行う。
また、アプリケーションファクトリ262は、GPPDevice224からの問い合わせ結果に基づいて、実行対象ソフトウェアコンポーネント222を配置、実行指示を行うGPPDevice224を選択する。
また、アプリケーションファクトリ262は、選択したGPPDevice224に対して、実行対象ソフトウェアコンポーネント222の配置、実行指示を行う。
【0019】
図2は、ドメインプロファイル264の1つであるSPD(Software Package Descriptor)例示する図である。
ドメインプロファイル264には、無線通信処理を行うために必要な情報がXML(eXtensible Markup Language)形式で記述されている。
例えば、図2に示したドメインプロファイル264には、1つのソフトウェアコンポーネント222に対応する実行環境情報が記述されている。
【0020】
例えば、1つの実行環境情報は、図2で示された「<implementation>」タグから「</implementation>」タグ内に定義される。
具体的には、例えば、図2で示された「<os>」タグの属性「name」の値に対応する、ソフトウェアコンポーネント222を実行可能なOSの名称や、「<processor>」タグの属性「name」の値に対応する、ソフトウェアコンポーネント222を実行可能なCPUの名称が定義される。
また、図2に示すように、1つのソフトウェアコンポーネント222に対して、複数の「<implementation>」タグを定義することができる、つまり、複数の実行環境情報を定義することができる。
図2に示されるタグ、属性または子要素、およびその意味は、以下の表に示す通りである。
【0021】
【表1】

【0022】
[アプリケーションファクトリ30の処理]
以下、アプリケーションファクトリ30の処理をさらに説明する。
図3は、図1(B)に示したアプリケーションファクトリ30の処理を示すフローチャートである。
外部から無線通信処理の実行要求を受け取ることによって、アプリケーションファクトリ30の処理が開始する。
【0023】
処理が開始すると、図3に示すように、ステップ300(S300)おいて、アプリケーションファクトリ30は、実行対象ソフトウェアコンポーネント222に対応するドメインプロファイル264(図1(B))から、すべての実行環境情報(実行環境情報一覧)を取得する。
具体的には、例えば、アプリケーションファクトリ30は、XMLパーサ(図示せず)を用いてSPD(図2)に含まれるタグを解析して、複数の「<implementation>」タグから「</implementation>」タグ内に記述されたタグの属性の値を、それぞれ取得する。
ステップ302(S302)において、アプリケーションファクトリ30は、S300において取得した実行環境情報一覧のうちの1つを選択する。
【0024】
ステップ304(S304)において、アプリケーションファクトリ30は、モデム部メモリ220(図1(B))およびコーデック部メモリ240に記憶されたすべてのGPPDevice224(GPPDevice一覧)を取得する。
ステップ306(S306)において、アプリケーションファクトリ30は、S304において取得したGPPDevice一覧のうちの1つを選択する。
ステップ308(S308)において、アプリケーションファクトリ30は、S306において選択したGPPDevice224に対して、実行対象ソフトウェアコンポーネント222に対応するハードウェアデバイスに接続されているか否かを問い合わせる。
なお、以下、「実行対象ソフトウェアコンポーネント222に対応するハードウェアデバイスに接続されているGPPDevice224」を、「実行対象ソフトウェアコンポーネント222に対応するGPPDevice224」と記述する。
【0025】
具体的には、例えば、アプリケーションファクトリ30は、S302において選択した実行環境情報を引数として、GPPDevice224が実装する「allocateCapacity」というオペレーションをコールする。
allocateCpacityオペレーションは、GPPDevice224に接続するハードウェアデバイスが備える実行環境が、引数として受け取った実行環境を満たすか否かを判断し、満たすときは「TRUE」を、それ以外のときは「FALSE」を、それぞれ戻り値として返す。
ステップ310(S310)において、アプリケーションファクトリ30は、S308においてコールしたallocateCapacityオペレーションの戻り値を受け取り、戻り値がTRUEか否かを判断する。
【0026】
戻り値がTRUEであると判断するときは、S312の処理に進み、それ以外のときは、S314の処理に進む。
ステップ312(S312)において、アプリケーションファクトリ30は、S306において選択したGPPDevice224を、実行対象ソフトウェアコンポーネント222に対応するGPPDeviceとして決定し、処理を終了する。
ステップ314(S314)において、アプリケーションファクトリ30は、S304において取得したGPPDevice一覧の中に、S306において選択したGPPDevice以外のGPPDeviceが存在するか否かを判断する。
【0027】
存在すると判断するときは、S306の処理に進み、それ以外のときは、S316の処理に進む。
ステップ316(S316)において、アプリケーションファクトリ30は、S300において取得した実行環境情報一覧の中で、S302において選択した実行環境情報以外の実行環境情報が存在するか否かを判断する。
存在すると判断するときは、S302の処理に進み、それ以外のときは、S318の処理に進む。
ステップ318(S318)において、アプリケーションファクトリ30は、実行対象ソフトウェアコンポーネント222を実行可能な環境が、無線装置1(図1(A))に存在しないとして、エラー出力などを行う。
【0028】
[無線装置1の全体動作例]
以下、無線装置1(図1(A))の全体動作例を説明する。
図4は、無線装置1において、実行対象ソフトウェアコンポーネント222(図1(B))に対応するハードウェアデバイスの選択動作例を示す通信シーケンス図である。
図4において、アプリケーションファクトリ30が、3つのGPPDevice224−1〜224−3と通信を行う場合を具体例としているが、これは説明の明確化・具体化のためであり、本願発明の技術的範囲の限定を意図するものではない。
【0029】
アプリケーションファクトリ30は、実行対象ソフトウェアコンポーネント222に対応するm個の実行環境情報1〜m(ただし、mは1以上の整数)を取得し、図4に示すうように、ステップ308(S308)において、実行環境情報1に基づいて、GPPDevice224−1に対して問い合わせる。
GPPDevice224−1は、アプリケーションファクトリ30から、実行環境情報1を受け取り、実行環境情報1に基づいて、実行対象ソフトウェアコンポーネント222に対応するか否かを判断する。
GPPDevice224−1は、判断結果を、アプリケーションファクトリ30からの問い合わせ結果として、アプリケーションファクトリ30に対して送信する。
【0030】
アプリケーションファクトリ30は、GPPDevice224−1から、実行対象ソフトウェアコンポーネント222に対応しないとの問合せ結果を受け取ると、実行環境情報1に基づいて、GPPDevice224−2に対して問い合わせる。
GPPDevice224−2は、GPPDevice224−1と同様に、アプリケーションファクトリ30に対して、問い合わせ結果を送信する。
アプリケーションファクトリ30は、GPPDevice224−2から、実行対象ソフトウェアコンポーネント222に対応しないとの問合せ結果を受け取ると、実行環境情報1に基づいて、GPPDevice224−3に対して問い合わせる。
GPPDevice224−3は、GPPDevice224−1,224−2と同様に、アプリケーションファクトリ30に対して、問い合わせ結果を送信する。
【0031】
以下同様に、アプリケーションファクトリ30は、GPPDevice224−1〜224−3のいずれかから、実行対象ソフトウェアコンポーネント222に対応するとの問合せ結果を受け取るまで、実行環境情報2〜mに基づいて、GPPDevice224−1〜224−3に対しての問い合わせを繰り返す。
アプリケーションファクトリ30は、問い合わせ結果に基づいて選択したGPPDevice224を介して、実行対象ソフトウェアコンポーネント222をハードウェアデバイスのメモリ上にロードし、実行させる。
これにより、無線装置1は、外部からの要求に応じた無線通信処理を行う。
【図面の簡単な説明】
【0032】
【図1】図1(A)は、無線装置のハードウェア構成を例示する図であり、図1(B)は、図1(A)に示した無線装置において動作する無線通信処理プログラムの構成を例示する図である。
【図2】図2は、図1(B)に示したドメインプロファイルの1つであるSPDを例示する図である。
【図3】図3は、図1(B)に示したアプリケーションファクトリの処理を示すフローチャートである。
【図4】図4は、図1(B)に示したアプリケーションファクトリとGPPDevice間の動作例を示す通信シーケンス図である。
【符号の説明】
【0033】
1・・・無線装置,100・・・アンテナ,102・・・RF部,104・・・バス,106・・・メモリ,108・・・CPU,110・・・LAN−IF,112・・・I/O−IF,22・・・モデム部,24・・・コーデック部,26・・・制御部,20・・・無線通信処理プログラム,220・・・コーデック部メモリ,222・・・ソフトウェアコンポーネント,224・・・GPPDevice,240・・・モデム部メモリ,260・・・制御部メモリ,262・・・アプリケーションファクトリ,264・・・ドメインプロファイル

【特許請求の範囲】
【請求項1】
それぞれソフトウェアコンポーネントを実行して、全体として無線通信処理を行う複数のソフトウェア実行手段と、
前記ソフトウェアコンポーネントの実行のために要求される環境を示す1つ以上の実行環境情報を記憶する記憶手段と、
前記記憶手段から読み出したすべての実行環境情報に基づいて、前記ソフトウェアコンポーネントが、前記複数のソフトウェア実行手段のいずれかにおいて実行可能であるか否かを判定する判定手段と、
前記判定ステップの結果に基づいて、前記ソフトウェアコンポーネントを実行する前記ソフトウェア実行手段を選択する選択手段と
有する無線通信装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2010−141555(P2010−141555A)
【公開日】平成22年6月24日(2010.6.24)
【国際特許分類】
【出願番号】特願2008−315435(P2008−315435)
【出願日】平成20年12月11日(2008.12.11)
【出願人】(000001122)株式会社日立国際電気 (5,007)
【Fターム(参考)】