(57)【要約】【課題】複数のソフトウェアコンポーネントを、１つのデバイスにより一元的に制御して、各ソフトウェアコンポーネントの処理を効率よく行う無線装置を提供する。【解決手段】本発明に係る無線装置は、全体として無線通信処理を行うように、複数のソフトウェアコンポーネントに対する複数の制御命令を出力する制御命令出力手段と、前記複数のソフトウェアコンポーネントそれぞれに対応する複数の制御命令受入手段であって、この複数の制御命令受入手段のうち、前記制御命令出力手段により出力された制御命令により制御されるソフトウェアコンポーネントに対応する制御命令受入手段が、この制御命令を受け入れる複数の制御命令受入手段と、前記複数の制御命令受入手段から、すべての制御命令を受け入れて、受け入れた制御命令に応じて、複数のソフトウェアコンポーネントを制御する１つの制御手段とを有する。【選択図】図２
2011086140.tif 000002
【特許請求の範囲】
【請求項１】
全体として無線通信処理を行うように、複数のソフトウェアコンポーネントに対する複数の制御命令を出力する制御命令出力手段と、
前記複数のソフトウェアコンポーネントそれぞれに対応する複数の制御命令受入手段であって、この複数の制御命令受入手段のうち、前記制御命令出力手段により出力された制御命令により制御されるソフトウェアコンポーネントに対応する制御命令受入手段が、この制御命令を受け入れる複数の制御命令受入手段と、
前記複数の制御命令受入手段から、すべての制御命令を受け入れて、受け入れた制御命令に応じて、複数のソフトウェアコンポーネントを制御する１つの制御手段と
を有する無線装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェア無線装置に関する。
【背景技術】
【０００２】
例えば、特許文献１は、ＣＯＲＢＡ対応のソフトウェア無線機がＣＯＲＢＡ未対応のハードウェアデバイスを利用できるようなＣＯＲＢＡ対応ソフトウェアを実現するソフトウェア無線機を開示する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−３３４７３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、上述のような背景からなされたものであり、複数のソフトウェアコンポーネントを、１つのデバイスにより一元的に制御して、各ソフトウェアコンポーネントの処理を効率よく行うことができるよう改良された無線装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、本発明に係る無線装置（１）は、全体として無線通信処理を行うように、複数のソフトウェアコンポーネント（２２２）に対する複数の制御命令を出力する制御命令出力手段（２６２）と、前記複数のソフトウェアコンポーネントそれぞれに対応する複数の制御命令受入手段（２２４）であって、この複数の制御命令受入手段のうち、前記制御命令出力手段により出力された制御命令により制御されるソフトウェアコンポーネントに対応する制御命令受入手段が、この制御命令を受け入れる複数の制御命令受入手段と、前記複数の制御命令受入手段から、すべての制御命令を受け入れて、受け入れた制御命令に応じて、複数のソフトウェアコンポーネントを制御する１つの制御手段（２２６）とを有する。
なお、ここで付された符号は、本願発明の理解を助けることを意図するものであり、本願発明の技術的範囲を限定することを意図するものではない。
【発明の効果】
【０００６】
本発明に係る無線装置によれば、複数のソフトウェアコンポーネントを、１つのデバイスにより一元的に制御して、各ソフトウェアコンポーネントの処理を効率よく行うことができる。
【図面の簡単な説明】
【０００７】
【図１】本発明に係るソフトウェア無線装置の構成を例示する図である。
【図２】図１に示したソフトウェア無線装置において動作する制御処理プログラムの構成を例示する図である。
【図３】図１に示したソフトウェア無線装置の全体動作例を示すシーケンス図である。
【発明を実施するための形態】
【０００８】
［本発明の背景］
本発明の理解を助けるために、まず、本発明がなされるに至った背景を説明する。
例えば、無線装置は、ソフトウェア実行環境を備えた複数の演算処理装置と、ＣＯＲＢＡ（Common Object Request Broker Architecture）対応の複数のソフトウェアコンポーネントとを有し、無線通信処理の内容に応じて、複数のソフトウェアコンポーネントの中から必要なソフトウェアコンポーネントを、演算処理装置上の適切なソフトウェア実行環境に配置して実行するように構成される。
また、上述の無線装置は、各ソフトウェアコンポーネントに対応する論理デバイスを有する。
論理デバイスは、対応するソフトウェアコンポーネントを、適切な実行環境に配置して、起動（つまり、プロセスとして実行）させたり、ＤＳＰ（Digital Signal Processor）などのＣＯＲＢＡ非対応のハードウェアデバイスにアクセスしたりするためのインタフェースを提供するデバイスインタフェースである。
また、論理デバイスは、必要に応じて、対応するソフトウェアコンポーネントによる処理を終了させて、実行環境への当該ソフトウェアコンポーネントの配置を解除する。
【０００９】
つまり、上述の無線装置が有する論理デバイスは、各ソフトウェアコンポーネントに対する起動、終了処理などを行うように実装される。
そのため、各ソフトウェアコンポーネントに対する起動、終了などの処理が、同じような内容を示す場合でも、各ソフトウェアコンポーネントに対応する論理デバイスすべてを同じように実装する必要があり、各ソフトウェアコンポーネントに対する処理が非効率的になる場合がある。
本発明に係る無線装置は、このような背景からなされたものであり、複数のソフトウェアコンポーネントを、１つのデバイスにより一元的に制御して、各ソフトウェアコンポーネントに対する処理を効率よく行うことができるよう工夫されている。
【００１０】
［無線装置１］
図１は、本発明に係る無線装置１の構成を例示する図である。
図１に示すように、無線装置１は、ＲＦ部１０２と、ＲＦ部１０２に接続されたアンテナ１００と、ＣｏｍｐａｃｔＰＣＩ(Peripheral Component Interconnect)などのバス１０４を介して接続されたモデム部２２、コーデック部２４および制御部２６から構成される。
また、図１に示すように、モデム部２２は、メモリ２２０およびＣＰＵ１０８を含み、コーデック部２４は、メモリ２４０、ＣＰＵ１０８、および、ネットワーク接続を行うためのＬＡＮインタフェース（ＩＦ）１１０を含み、制御部２６は、メモリ２６０、ＣＰＵ１０８およびＬＡＮ−ＩＦ１１０を含む。
無線装置１は、制御部２６により、モデム部２２およびコーデック部２４を制御して、必要な処理を行い、ＲＦ部１０２およびアンテナ１００を介して、予め定められた無線方式の信号を送受信して、無線通信処理を行う。
なお、以下の各図において、実質的に同じ構成部分には、同じ符号が付される。
【００１１】
［制御処理プログラム２０］
以下、無線装置１（図１）において動作する制御処理プログラム２０を説明する。
図２は、無線装置１のモデム部２２、コーデック部２４および制御部２６で実行される制御処理プログラム２０の構成を例示する図である。
図２に示すように、制御処理プログラム２０は、モデム部のメモリ２２０およびコーデック部のメモリ２４０に記憶されるソフトウェアコンポーネント２２２−１〜２２２−ｎ（ｎ≧１；ｎは常に同じ数を示すとは限らない）、論理デバイス２２４−１〜２２４−ｎ、汎用論理デバイス２２６、コネクション２２８−１〜２２８−ｎと、制御部のメモリ２６０に記憶される制御コンポーネント２６２およびドメインプロファイル２６４とから構成される。
【００１２】
ソフトウェアコンポーネント２２２−１〜２２２−ｎ、論理デバイス２２４−１〜２２４−ｎ、および、制御コンポーネント２６２は、バス１０４（図１）内のソフトウェアバスであるＯＲＢ（Object Request Broker）２００を介して接続され、ＣＯＲＢＡを構成する。
なお、以下、ソフトウェアコンポーネント２２２−１〜２２２−ｎ、論理デバイス２２４−１〜２２４−ｎ、および、汎用論理デバイス２２６を、「ＣＯＲＢＡアプリケーション」と総称することがある。
【００１３】
各ＣＯＲＢＡアプリケーションは、モデム部のメモリ２２０、コーデック部のメモリ２４０、および、制御部のメモリ２６０に記憶されて無線装置１（図１）に供給され、必要に応じて、無線装置１にインストールされたＯＳ（図示せず）上で、無線装置１のハードウェア資源を、具体的に利用して実行される。
ＣＯＲＢＡを構成する各ＣＯＲＢＡアプリケーションは、スケルトンおよびスタブ（図示せず）を介してＯＲＢ２００と通信することにより、必要な処理を行う。  
なお、以下、ソフトウェアコンポーネント２２２−１〜２２２−ｎなど、複数ある構成部分のいずれかを示すときは、単に、ソフトウェアコンポーネント２２２と記載することがある。
【００１４】
制御コンポーネント２６２は、ＯＲＢ２００を介して、無線通信処理を行うための制御命令を、論理デバイス２２４に対して出力する。
制御命令は、例えば、無線通信処理の内容に応じて、ソフトウェアコンポーネント２２２を選択して起動させることや、起動させたソフトウェアコンポーネント２２２を終了させることを示す。
また、制御コンポーネント２６２は、後述するドメインプロファイル２６４に記述された情報に基づいて、論理デバイス２２４と汎用論理デバイス２２６との間に、コネクション２２８を追加する。
【００１５】
ドメインプロファイル２６４には、無線通信処理を行うために必要な情報が、予め定められた形式（例えば、ＸＭＬ（eXtensible Markup Language）形式）で記述される。
例えば、ドメインプロファイル２６４には、どの論理デバイス２２４と、汎用論理デバイス２２６との間にコネクション２２８を追加するかを示すコネクション情報が記述される。
ソフトウェアコンポーネント２２２は、後述する汎用論理デバイス２２６からの制御に応じて、様々な処理を実行する。
【００１６】
論理デバイス２２４は、ＯＲＢ２００を介して、制御コンポーネント２６２から入力された、複数のソフトウェアコンポーネント２２２のうちのいずれかに対する制御命令を受け入れる。
例えば、論理デバイス２２４−１は、ソフトウェアコンポーネント２２２−１に対する制御命令を受け入れ、論理デバイス２２４−２は、ソフトウェアコンポーネント２２２−２に対する制御命令を受け入れ、論理デバイス２２４−ｎは、ソフトウェアコンポーネント２２２−ｎに対する制御命令を受け入れる。
また、論理デバイス２２４は、受け入れた制御命令に応じて、対応するソフトウェアコンポーネント２２２を処理するよう指示する処理命令を、コネクション２２８を介して、汎用論理デバイス２２６に対して出力する。
【００１７】
汎用論理デバイス２２６は、論理デバイス２２４から、コネクション２２８を介して入力された処理命令を受け入れると、処理命令に基づいて、処理命令が示すソフトウェアコンポーネント２２２を制御する。
具体的には、例えば、受け入れた処理命令が、ソフトウェアコンポーネント２２２−１の起動を示すときは、汎用論理デバイス２２６は、ソフトウェアコンポーネント２２２−１を起動させる。
コネクション２２８は、ドメインプロファイル２６４に記述された情報に基づいて、制御コンポーネント２６２により、論理デバイス２２４と汎用論理デバイス２２６との間に追加される。
【００１８】
また、論理デバイス２２４と汎用論理デバイス２２６との間にコネクション２２８が追加されているときは、コネクション２２８は、当該論理デバイス２２４から入力された処理命令を、汎用論理デバイス２２６に対して出力する。
つまり、コネクション２２８は、各論理デバイス２２４が、対応するソフトウェアコンポーネント２２２に対して行う制御処理を、汎用論理デバイス２２６により一元的に行うことができるように、各論理デバイス２２４と、汎用論理デバイス２２６とを接続する。
【００１９】
［無線装置１の全体動作例］
図３は、無線装置１の全体動作例を示すシーケンス図である。
以下、図３を参照して、無線装置１（図１）の全体動作例を説明する。
なお、説明の明確化・具体化のために、本動作例においては、図３に示すように、論理デバイス２２４と、ソフトウェアコンポーネント２２２が３つずつ存在し、論理デバイス２２４−１は、ソフトウェアコンポーネント２２２−１に対応し、論理デバイス２２４−２は、ソフトウェアコンポーネント２２２−２に対応し、論理デバイス２２４−３は、ソフトウェアコンポーネント２２２−３に対応する場合を具体例として説明するが、これに限定されるものではない。
【００２０】
ステップ３００（Ｓ３００）において、制御コンポーネント２６２（図２）は、論理デバイス２２４−１〜２２４−３それぞれと、汎用論理デバイス２２６との間にコネクション２２８を追加する。
ステップ３０２（Ｓ３０２）において、制御コンポーネント２６２は、論理デバイス２２４−１に対して、ソフトウェアコンポーネント２２２−１に対する制御命令を出力する。
ステップ３０４（Ｓ３０４）において、論理デバイス２２４−１は、Ｓ３０２において、制御コンポーネント２６２から入力された制御命令に基づく処理命令を、汎用論理デバイス２２６に対して出力する。
【００２１】
ステップ３０６（Ｓ３０６）において、汎用論理デバイス２２６は、Ｓ３０４において、論理デバイス２２４−１から入力された処理命令に基づいて、ソフトウェアコンポーネント２２２−１を制御する。
ステップ３０８（Ｓ３０８）において、ソフトウェアコンポーネント２２２−１は、Ｓ３０６における汎用論理デバイス２２６からの制御に応じて、必要な処理を実行する。
【００２２】
ステップ３１０（Ｓ３１０）において、制御コンポーネント２６２は、論理デバイス２２４−２に対して、ソフトウェアコンポーネント２２２−２に対する制御命令を出力する。
ステップ３１２（Ｓ３１２）において、論理デバイス２２４−２は、Ｓ３１０において、制御コンポーネント２６２から入力された制御命令に基づく処理命令を、汎用論理デバイス２２６に対して出力する。
ステップ３１４（Ｓ３１４）において、汎用論理デバイス２２６は、Ｓ３１２において、論理デバイス２２４−２から入力された処理命令に基づいて、ソフトウェアコンポーネント２２２−２を制御する。
ステップ３１６（Ｓ３１６）において、ソフトウェアコンポーネント２２２−２は、Ｓ３１４おける汎用論理デバイス２２６からの制御に応じて、必要な処理を実行する。
【００２３】
ステップ３１８（Ｓ３１８）において、制御コンポーネント２６２は、論理デバイス２２４−３に対して、ソフトウェアコンポーネント２２２−３に対する制御命令を出力する。
ステップ３２０（Ｓ３２０）において、論理デバイス２２４−３は、Ｓ３１８において、制御コンポーネント２６２から入力された制御命令に基づく処理命令を、汎用論理デバイス２２６に対して出力する。
ステップ３２２（Ｓ３２２）において、汎用論理デバイス２２６は、Ｓ３２０において、論理デバイス２２４−３から入力された処理命令に基づいて、ソフトウェアコンポーネント２２２−３を制御する。
ステップ３２４（Ｓ３２４）において、ソフトウェアコンポーネント２２２−３は、Ｓ３２２おける汎用論理デバイス２２６からの制御に応じて、必要な処理を実行する。
【００２４】
なお、図３に示す全体動作例においては、ソフトウェアコンポーネント２２２−１、ソフトウェアコンポーネント２２２−２、および、ソフトウェアコンポーネント２２２−３の順に、処理が実行される場合を具体例として説明したが、この処理順序に限定されるものではない。
また、例えば、Ｓ３０８における処理の実行が、Ｓ３１０における制御命令の出力よりも先に行われている場合を具体例として説明したが、この順序に限定されるものではない。
【００２５】
［無線装置１の特徴］
以下、無線装置１（図１）の特徴を説明する。
以上説明したように、無線装置１において、制御コンポーネント２６２（図２）は、各ソフトウェアコンポーネント２２２に対する制御命令を、それぞれのソフトウェアコンポーネントに対応する各論理デバイス２２４に対して出力しているが、図３に示すように、各論理デバイス２２４は、対応するソフトウェアコンポーネント２２２に対する処理を、汎用論理デバイス２２６に委譲する。
つまり、各ソフトウェアコンポーネント２２２に対する制御処理は、汎用論理デバイス２２６により一元的に行われるので、必要な各制御処理は、各論理デバイス２２４すべてに実装する必要がなく、汎用論理デバイス２２６にのみ実装すればよい。
したがって、本発明に係る無線装置１によれば、複数のソフトウェアコンポーネントを、１つのデバイスにより一元的に制御して、各ソフトウェアコンポーネントの処理を効率よく行うことができる。
【符号の説明】
【００２６】
１・・・無線装置，１００・・・アンテナ，１０２・・・ＲＦ部，１０４・・・バス，１０８・・・ＣＰＵ，１１０・・・ＬＡＮ−ＩＦ，２２・・・モデム部，２２０・・・メモリ，２４・・・コーデック部，２４０・・・メモリ，２６・・・制御部，２６０・・・メモリ，２０・・・制御処理プログラム，２００・・・ＯＲＢ，２２２・・・ソフトウェアコンポーネント，２２４・・・論理デバイス，２２６・・・汎用論理デバイス，２２８・・・コネクション，２６２・・・制御コンポーネント，２６４・・・ドメインプロファイル
【図１】
2011086140.tif 000003
【図２】
2011086140.tif 000004
【図３】
2011086140.tif 000005