(57)【特許請求の範囲】
【請求項１】
複数のハードウェア・モジュールを有し、前記複数のハードウェア・モジュールを制御する無線通信ソフトウェアを外部よりダウンロードして無線機機能を実現するソフトウェア無線機であって、
前記無線通信ソフトウェアをインストールするフレームワークソフトウェアと、
ＯＳに直接管理されるよう配置され、ユーザインタフェースサービスおよび前記フレームワークソフトウェアを管理するインタフェースサービスソフトウェアと、
を備え、
前記フレームワークソフトウェアは、ユーザインタフェースソフトウェア、ドメイン管理ソフトウェア、ハードウェア管理ソフトウェアおよびハードウェア制御ソフトウェアを有し、
前記インタフェースサービスソフトウェアは、前記ユーザインタフェースソフトウェアおよび前記ドメイン管理ソフトウェアに対し死活監視要求をし、前記ユーザインタフェースソフトウェアまたは前記ドメイン管理ソフトウェアから応答がないときは異常と判断するソフトウェア無線機。
【請求項２】
請求項１のソフトウェア無線機において、
前記インタフェースサービスソフトウェアは、前記ユーザインタフェースソフトウェアに異常がある場合、前記ドメイン管理ソフトウェアおよびハードウェア管理ソフトウェアを停止し、前記ユーザインタフェースソフトウェア、前記ドメイン管理ソフトウェアおよび前記ハードウェア管理ソフトウェアを再起動し、前記無線通信ソフトウェアに対して前記フレームワークソフトウェアの再起動を通知し、
前記ユーザインタフェースソフトウェアは、前記無線通信ソフトウェアからのソフトウェア情報通知に基づいて前記ドメイン管理ソフトウェアにソフトウェア情報を登録するソフトウェア無線機。
【請求項３】
請求項１のソフトウェア無線機において、
電源投入時の起動シーケンスでは、
前記インタフェースサービスソフトウェアは、前記ユーザインタフェースソフトウェア、前記ドメイン管理ソフトウェア、前記ハードウェア管理ソフトウェアおよび前記ハードウェア制御ソフトウェアを経由して前記無線通信ソフトウェアを起動し、
前記ＯＳは前記インタフェースサービスソフトウェアにシステムパラメータを設定し、
前記インタフェースサービスソフトウェアは前記無線通信ソフトウェアに自己診断を指示し、前記自己診断の診断結果に問題がある場合、前記システムパラメータを保持すると共に、前記ユーザインタフェースソフトウェアに対して前記無線通信ソフトウェアの終了を指示するソフトウェア無線機。
【請求項４】
請求項３のソフトウェア無線機において、
前記自己診断の診断結果に問題がある場合、前記インタフェースサービスソフトウェアは、前記ユーザインタフェースソフトウェア、前記ドメイン管理ソフトウェア、前記ハードウェア管理ソフトウェアおよび前記ハードウェア制御ソフトウェアを経由して前記無線通信ソフトウェアとは別の無線通信ソフトウェアを起動し、
前記ＯＳは前記インタフェースサービスソフトウェアにシステムパラメータを設定し、
前記インタフェースサービスソフトウェアは前記別の無線通信ソフトウェアに自己診断を指示し、前記別の無線通信ソフトウェアの自己診断の診断結果に問題がない場合、前記システムパラメータを前記別の無線通信ソフトウェアに設定するソフトウェア無線機。
【請求項５】
請求項３のソフトウェア無線機において、
前記無線通信ソフトウェアの起動に応答して、前記無線通信ソフトウェアは無線通信ソフトウェア情報を前記ドメイン管理ソフトウェアに伝え、
前記ドメイン管理ソフトウェアは前記無線通信ソフトウェアの初期化および設定処理を行い、前記無線通信ソフトウェアのソフトウェアプログラム同士のＣＯＲＢＡの通信接続処理を行い、前記無線通信ソフトウェアに運用開始を指示するソフトウェア無線機。
【請求項６】
請求項３のソフトウェア無線機において、
前記ユーザインタフェースソフトウェアに対して前記無線通信ソフトウェアの終了指示に従い、前記ユーザインタフェースソフトウェアは前記ドメイン管理ソフトウェアに前記無線通信ソフトウェアの終了を指示し、
前記ドメイン管理ソフトウェアは前記無線通信ソフトウェアに運用停止を指示し、ＣＯＲＢＡ通信接続を切断し、ソフトウェアオブジェクトを解放し、前記無線通信ソフトウェアを終了させるソフトウェア無線機。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示はソフトウェア無線機に関し、無線通信ソフトウェア等の故障を検出するソフトウェア無線機に適用可能である。
【背景技術】
【０００２】
近年の情報システムの拡大および複雑化に伴って、システムの開発コストを最小化し、かつ運用後の保守を容易にするために、システムの機能分割と分散配置、コンポーネント化と再利用、標準技術の採用と相互運用性等の実現が望まれている。【０００３】
このために分散オブジェクト技術が採用されており、例えば、ＣＯＲＢＡ（Common Object Request Broker Architecture）は、分散オブジェクト技術の標準技術として広く利用されている。ＣＯＲＢＡは、分散環境でクライアントがサーバのオブジェクトにアクセスするためのソフトウェアバスを提供する標準技術であって、ＯＭＧ（Object Management Group）という標準化団体が標準化した仕様である。ＣＯＲＢＡでは、ＯＳ（Operating System）に依存しないインタフェースを定義する言語であるＩＤＬ（Interface Definition Language）を用いてインタフェースを定義し、このインタフェースで表されたメソッドをコールすることで、他モジュールのソフトウェアの機能を実行できるようになっている。物理的な接続は、ＩＰ（Internet Protocol）／ＩＩＯＰ（Internet Inter-ORB Protocol）通信が対応した接続媒体を通じて行う。【０００４】
一方、ソフトウェア無線機は、ソフトウェアプログラムによって無線機の実行プログラムを切り替えることにより、無線機における同一のハードウェアリソースで複数の無線方式に対応できる無線機である。ソフトウェア無線機においては、ネットワークから所望の機能を定義したファイルをダウンロードすることによって、ソフトウェア無線機内のモジュールの構成を変更し、複数の無線通信方式を実現するようになっている。ソフトウェア無線機においても分散オブジェクト技術を利用して複数のソフトウェアプログラムを部品（コンポーネント）として組み合わせて無線機機能を実現するものが開発されている。【０００５】
無線機機能は、変復調方式、周波数等及びその用途に適合した機能を実現するソフトウェアプログラムをダウンロードすることによって実現する。ＣＯＲＢＡのような分散オブジェクト技術を利用すれば、変復調を行うモデム部や、セキュリティ部、通信方式部（プロトコル部）、制御部等のソフトウェアプログラム（無線通信ソフトウェア）がシステム上に分散されて配置されていても、相互接続を行うことができ、全体としてソフトウェア無線機システムを実現することができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１６−１０３２１７号公報
【特許文献２】特開２００６−３０９４１３号公報
【特許文献３】特開平８−２３４９６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
無線通信ソフトウェアの起動には、ドメイン管理ソフトウェア等の環境ソフトウェアとの間で、ＳＣＡ（Software Communication Architecture）で規定された（以下、単に「規定の」という。）インタフェースおよび通信手順を用いることとされている。しかし、起動完了後のソフトウェア故障検出や故障時の動作については、規定されていない。また、無線通信ソフトウェアプログラムをインストールするためのソフトウェアプログラム（以下、フレームワークソフトウェアという。)の復旧については、明確な定義や方法はなく、フレームワークソフトウェアは異常発生した場合にはその復旧ができない状態である。  
本開示の課題は、フレームワークソフトウェアの故障を検出するソフトウェア無線機を提供することにある。
【課題を解決するための手段】
【０００８】
本開示のうち、代表的なものの概要を簡単に説明すれば、下記のとおりである。
すなわち、ソフトウェア無線機は、複数のハードウェア・モジュールを有し、前記複数のハードウェア・モジュールを制御する無線通信ソフトウェアを外部よりダウンロードして無線機機能を実現する。ソフトウェア無線機は、前記無線通信ソフトウェアをインストールするフレームワークソフトウェアと、前記ＯＳに直接管理されるよう配置され、ユーザインタフェースサービスおよび前記フレームワークソフトウェアを管理するインタフェースサービスソフトウェアと、を備える。前記フレームワークソフトウェアは、ユーザインタフェースソフトウェア、ドメイン管理ソフトウェア、ハードウェア管理ソフトウェアおよびハードウェア制御ソフトウェアを有し、前記インタフェースサービスソフトウェアは、前記ユーザインタフェースソフトウェアおよび前記ドメイン管理ソフトウェアに対し死活監視要求をし、前記ユーザインタフェースソフトウェアまたは前記ドメイン管理ソフトウェアから応答がないときは異常と判断する。
【発明の効果】
【０００９】
上記ソフトウェア無線機によれば、フレームワークソフトウェアの故障を検出することができる。
【図面の簡単な説明】
【００１０】
【図１】ソフトウェア無線機を説明する図である。
【図２】第一実施形態のソフトウェア無線機のソフトウェア構造を示す図である。
【図３】図２のソフトウェア無線機の起動シーケンスを示す図である。
【図４】図２のソフトウェア無線機の終了シーケンスを示す図である。
【図５】図２のソフトウェア無線機の故障検出シーケンスを示す図である。
【図６】図２のソフトウェア無線機の復旧のシーケンスを示す図である。
【図７】第二実施形態のソフトウェア無線機のソフトウェア構造を示す図である。
【図８Ａ】図７のソフトウェア無線機の起動シーケンスを示す図である。
【図８Ｂ】図７のソフトウェア無線機の起動シーケンスを示す図である。
【図８Ｃ】図７のソフトウェア無線機の起動シーケンスを示す図である。
【図９】図７のソフトウェア無線機のフレームワークソフトウェアの故障検出および復旧シーケンスを示す図である。
【発明を実施するための形態】
【００１１】
以下、実施形態について、図面を用いて説明する。ただし、以下の説明において、同一構成要素には同一符号を付し繰り返しの説明を省略することがある。
【００１２】
ソフトウェア無線技術とは、ハードウェアそのものには変更を加えることなく、制御ソフトウェアを変更することによって無線通信方式を切り替えることが可能な無線通信技術である。図１にソフトウェア無線機１００の概要を示す。ソフトウェア無線機１００のハードウェア・モジュールとしては、アンテナ１０１、高周波部１０２、Ａ／Ｄ・Ｄ／Ａ部１０３、デジタル信号処理部１０４、制御部１０５を含む。アンテナ１０１は無線周波数信号の送受信を行う。高周波部１０２は、アンテナ１０１で受信した無線周波数帯の受信信号を低周波数帯の受信信号に変換する、または低周波数帯の送信信号を無線周波数帯の送信信号に変換する。Ａ／Ｄ・Ｄ／Ａ部１０３は、受信したアナログ信号をデジタル信号に変換する、または送信するデジタル信号をアナログ信号に変換する。デジタル信号処理部１０４は、送信信号の符号化、受信信号の復号化等の処理を行う。制御部１０５は、例えばソフトウェアプログラム（後述する図２、７に示される各ソフトウェアプログラム）を格納するメモリとそのメモリに格納されたソフトウェアプログラムを実行するＣＰＵとを備え、ネットワーク１０６を介して制御端末１０７からの制御を受けるとともに、ソフトウェア無線機のハードウェア・モジュールの制御を行う。
【００１３】
＜第一実施形態＞
図２に第一実施形態のソフトウェア無線機のソフトウェア構造を示す。  
ハードウェア・モジュール２２０〜２２２はそれぞれ図１の高周波部１０２、Ａ／Ｄ・Ｄ／Ａ部１０３、デジタル信号処理部１０４に相当する。ハードウェアデバイスドライバー２１０〜２１２はそれぞれ、これらのハードウェア・モジュール２２０〜２２２を駆動する。これらは所定のＯＳ（Operating System）２０９上で動作するが、ＣＯＲＢＡミドルウェア２０８により、アプリケーションとＯＳ・ハードウェアとが分離可能とされている。ソフトウェア無線機１００に電源投入されると、まずＯＳ２０９、ハードウェアデバイスドライバー２１０〜２１２、ＣＯＲＢＡミドルウェア２０８が起動される。続いて、フレームワークソフトウェア２１５が起動される。フレームワークソフトウェア２１５はソフトウェア無線機１００が動作するために、常時起動されている必要のあるソフトウェアプログラムであり、ユーザインタフェースソフトウェア２０１、ドメイン管理ソフトウェア２０２、ハードウェア管理ソフトウェア２０４、ハードウェア制御ソフトウェア２０５〜２０７が含まれている。ハードウェア制御ソフトウェア２０５〜２０７もそれぞれハードウェアデバイスドライバー２１０〜２１２に対応して設けられ、これらを制御する上位のソフトウェアプログラムである。
【００１４】
ソフトウェア無線機１００の特徴として、フィルタ、変復調、等化、同期機能などの無線機能をプログラブル化し、ソフトウェアプログラムの書き換えにより無線パラメータである変調方式、送受信周波数、帯域幅、伝送速度などのシステム固有の無線機能を変更可能としている。これら書き換えられるソフトウェアプログラムが、無線通信ソフトウェア２０３である。このため、無線通信ソフトウェア２０３は電源投入時でも起動可能だが、その多くはユーザインタフェースソフトウェア２０１からの指示に基づいて起動する。
【００１５】
ユーザインタフェースソフトウェア２０１はドメイン管理ソフトウェア２０２と接続・通信し、無線通信ソフトウェア２０３のインストールおよびアンインストールを指示する。また、ユーザインタフェースソフトウェア２０１は無線通信ソフトウェア２０３と接続・通信し、パラメータの設定および取得を行う。ドメイン管理ソフトウェア２０２はユーザインタフェースソフトウェア２０１の他、ハードウェア管理ソフトウェア２０４と接続し、無線通信ソフトウェア２０３のインストールおよびアンインストール動作を行う。また、ドメイン管理ソフトウェア２０２は無線通信ソフトウェア２０３と接続・通信し、初期パラメータの設定および取得並びにソフトウェア間の接続を行う。
【００１６】
ハードウェア管理ソフトウェア２０４はハードウェア制御ソフトウェア２０５，２０６，２０７と接続し、無線通信ソフトウェア２０３のインストールおよびアンインストール動作を行う。ハードウェア制御ソフトウェア２０５，２０６，２０７は、無線通信ソフトウェア２０３と接続し、プログラム実行および終了を知らせる。また、ハードウェア制御ソフトウェア２０５，２０６，２０７はハードウェアデバイスドライバー２１０，２１１，２１２と接続する。
【００１７】
図３に図２のソフトウェア無線機の起動シーケンスを示す。  
ソフトウェア無線機１００が電源投入される（ステップＳ３１）と、まずＯＳ２０９、ハードウェアデバイスドライバー２１０，２１１，２１２、ＣＯＲＢＡミドルウェア２０８が起動される。続いて、ＯＳ２０９はユーザインタフェースソフトウェア２０１、ドメイン管理ソフトウェア２０２およびハードウェア管理ソフトウェア２０４を起動する（ステップＳ３１ａ〜Ｓ３１ｃ）。この際、ユーザインタフェースソフトウェア２０１、ドメイン管理ソフトウェア２０２およびハードウェア管理ソフトウェア２０４はそれぞれ起動した旨の確認応答をＯＳ２０９に行う（ステップＳ３１ｅ〜Ｓ３１ｇ）。ハードウェア管理ソフトウェア２０４はハードウェア制御ソフトウェア２０５，２０６，２０７を起動し（ステップＳ３１ｄ）、ハードウェア制御ソフトウェア２０５，２０６，２０７は起動した旨の確認応答をハードウェア管理ソフトウェア２０４に行う（ステップＳ３１ｈ）。また、ハードウェア管理ソフトウェア２０４はＯＳ２０９にハードウェア制御ソフトウェア２０５，２０６，２０７が起動した旨の確認応答を行う（ステップＳ３１ｉ）。これらにより、ユーザインタフェースソフトウェア２０１、ドメイン管理ソフトウェア２０２、ハードウェア管理ソフトウェア２０４およびハードウェア制御ソフトウェア２０５，２０６，２０７はフレームワークソフトウェア２１５として起動される。
【００１８】
ユーザが無線通信ソフトウェア起動指示をユーザインタフェースソフトウェア２０１に与える（ステップＳ３２）と、ユーザインタフェースソフトウェア２０１はドメイン管理ソフトウェア２０２に規定のインタフェースで、起動する無線通信ソフトウェア２０３を指示する（ステップＳ３２ａ）。ドメイン管理ソフトウェア２０２は、ハードウェア管理ソフトウェア２０４を介して、ハードウェア制御ソフトウェア２０５，２０６，２０７に無線通信ソフトウェア２０３の起動を指示する（ステップＳ３２ｂ，Ｓ３２ｃ）。ハードウェア制御ソフトウェア２０５，２０６，２０７は無線通信ソフトウェア２０３を起動する（ステップＳ３２ｄ）。無線通信ソフトウェア２０３は起動した旨の確認応答をハードウェア制御ソフトウェア２０５，２０６，２０７およびハードウェア管理ソフトウェア２０４を介して、ドメイン管理ソフトウェア２０２に行う（ステップＳ３２ｅ〜Ｓ３２ｇ）。無線通信ソフトウェア２０３はドメイン管理ソフトウェア２０２に無線通信ソフトウェア情報を伝える（ステップＳ３３）。無線通信ソフトウェア２０３の起動時に無線通信ソフトウェア２０３はＣＯＲＢＡサーバントとして動作する。以降は、ドメイン管理ソフトウェア２０２が無線通信ソフトウェア２０３とＣＯＲＢＡ通信を利用して、初期化や設定処理を実行する（ステップＳ３４ａ）。無線通信ソフトウェア２０３は初期化や設定処理が行われた旨の確認応答を行う（ステップＳ３４ｂ）。その後、無線通信ソフトウェア２０３のソフトウェアプログラム同士のＣＯＲＢＡの通信接続処理を行い（ステップＳ３５ａ）、無線通信ソフトウェア２０３がその確認応答を行う（ステップＳ３５ｂ）。その後、無線通信ソフトウェア２０３とユーザインタフェースソフトウェア２０１間の接続を行って、ドメイン管理ソフトウェア２０２は無線通信ソフトウェア２０３に運用開始指示し（ステップＳ３６ａ）、無線通信ソフトウェア２０３はドメイン管理ソフトウェア２０２に確認応答を行い（ステップＳ３６ｂ）、システム運用可能とする。ドメイン管理ソフトウェア２０２は、無線通信ソフトウェア情報をユーザインタフェースソフトウェア２０１に伝えて（ステップＳ３７）、ユーザインタフェースソフトウェア２０１は運用可能表示等を行う（ステップＳ３８）。
【００１９】
ユーザがシステムパラメータ設定等の指示をユーザインタフェースソフトウェア２０１に与える（ステップＳ３９）と、ユーザインタフェースソフトウェア２０１は無線通信ソフトウェア２０３にシステムパラメータ設定等を行う（ステップＳ３９ａ）。無線通信ソフトウェア２０３はユーザインタフェースソフトウェア２０１にシステムパラメータ設定等がされた旨の確認応答を行う（ステップＳ３９ｂ）。ここで、ユーザインタフェースソフトウェア２０１はシステムパラメータを保持し（ステップＳ３９ｃ）、システムパラメータ設定の確認応答等を行う（ステップＳ３９ｄ）。
【００２０】
図４に図２のソフトウェア無線機の終了シーケンスを示す。  
終了シーケンスでは、ユーザが無線通信ソフトウェア終了指示をユーザインタフェースソフトウェア２０１に与える（ステップＳ４１）と、ユーザインタフェースソフトウェア２０１はドメイン管理ソフトウェア２０２に対して、無線通信ソフトウェア２０３の終了を指示する（ステップＳ４１ａ）。ドメイン管理ソフトウェア２０２は、無線通信ソフトウェア２０３に対して、運用停止を指示し（ステップＳ４２ａ）、ソフトウェア間のＣＯＲＢＡ通信接続を切断し（ステップＳ４３）、ソフトウェアオブジェクト（リソース）の解放を行い（ステップＳ４４）、無線通信ソフトウェア２０３を終了させる（ステップＳ４５）。その際、無線通信ソフトウェア２０３はドメイン管理ソフトウェア２０２に確認応答する（ステップＳ４２ｂ，Ｓ４３ｂ，Ｓ４４ｂ，Ｓ４５ｂ）。この場合、ハードウェア制御ソフトウェア２０５，２０６，２０７を初めとしたフレームワークソフトウェア２１５は終了せず、そのまま起動状態を維持する。
【００２１】
ドメイン管理ソフトウェア２０２は無線通信ソフトウェア２０３から終了応答を受け取ると、ユーザインタフェースソフトウェア２０１に無線通信ソフトウェア終了を伝え（ステップＳ４６）、ユーザインタフェースソフトウェア２０１は運用不可表示等を行う（ステップＳ４７）。
【００２２】
次に、故障判断について説明する。図５に図２のソフトウェア無線機の故障判断シーケンスを示す。故障判断はユーザインタフェースソフトウェア２０１で実施する。実施は以下の二つである。
【００２３】
まず、一つ目として、無線通信ソフトウェア２０３の死活監視を規定のインタフェースによるステータス取得コマンドにて実施する。ユーザインタフェースソフトウェア２０１はステータス取得コマンド（死活監視要求）を無線通信ソフトウェア２０３に行い（ステップＳ５１ａ）、死活監視要求への応答がある場合（ステップＳ５１ｂ）、正常と判断し、死活監視要求への応答がなかった場合または通信異常だった場合（ステップＳ５１ｃ）に故障（異常）と判断する。
【００２４】
二つ目として、ドメイン管理ソフトウェア２０２を呼び出し、ハードウェア管理ソフトウェア２０４を経由して、ハードウェア制御ソフトウェア２０５，２０６，２０７に対して規定のインタフェースを利用して死活監視する。ユーザインタフェースソフトウェア２０１は死活監視要求をハードウェア制御ソフトウェア２０５，２０６，２０７に行い（ステップＳ５２ａ〜Ｓ５２ｃ）、ハードウェア制御ソフトウェア２０５，２０６，２０７はハードウェア管理ソフトウェア２０４およびドメイン管理ソフトウェア２０２を経由して、ユーザインタフェースソフトウェア２０１に確認応答を行う（ステップＳ５２ｄ，Ｓ５２ｅ）。ハードウェア管理ソフトウェア２０４が規定のインタフェースでの通信異常を検出した場合（ステップＳ５２ｇ）に、ドメイン管理ソフトウェア２０２に死活監視のＮＧ（ハードウェア制御ソフトウェア２０５，２０６，２０７の異常）を通知し（ステップＳ５２ｈ）、ドメイン管理ソフトウェア２０２は異常通知をＯＳ２０９に発行し（ステップＳ５３ａ）、ユーザインタフェースソフトウェア２０１が異常通知をＯＳ２０９から受信する形で判断する（ステップＳ５３ｂ）。
【００２５】
この二つにおいて、ユーザインタフェースソフトウェア２０１はソフトウェアプログラムの故障（メモリアクセス違反やハードウェアエラー等の故障）を検出した後、無線通信ソフトウェア２０３を再起動し、復旧させる。図６に図２のソフトウェア無線機の復旧のシーケンスを示す。
【００２６】
故障を検出したユーザインタフェースソフトウェア２０１は無線通信ソフトウェア２０３を終了させて起動させる（再起動させる）。この流れは図４の終了シーケンスおよび図３の起動シーケンスと同様である。
【００２７】
ただし、この時、ハードウェア制御ソフトウェア２０５，２０６，２０７のいずれかの異常通知を受信していた場合は該当するハードウェア制御ソフトウェア２０５，２０６，２０７を再起動した後に、無線通信ソフトウェア２０３を再起動し、保持していたパラメータを再度無線通信ソフトウェア２０３に設定する。この復旧の流れについて図６を用いて説明する。
【００２８】
ユーザインタフェースソフトウェア２０１は、ドメイン管理ソフトウェア２０２およびハードウェア管理ソフトウェア２０４を経由して、ハードウェア制御ソフトウェア２０５，２０６，２０７のうち異常通知を受信したハードウェア制御ソフトウェアを再起動する（ステップＳ６１ａ，Ｓ６１ｂ，Ｓ６１ｃ）。その後、ハードウェア管理ソフトウェア２０４はＯＳ２０９にハードウェア制御ソフトウェアの再起動を通知する（ステップＳ６２ａ）。ＯＳ２０９はユーザインタフェースソフトウェア２０１にハードウェア制御ソフトウェアの再起動を通知する（ステップＳ６２ｂ）。
【００２９】
次に、ユーザインタフェースソフトウェア２０１は無線通信ソフトウェア２０３を終了シーケンス（図４の終了シーケンスのステップＳ４１ａ以降）を実施して終了させる（ステップＳ６３）。その後、ユーザインタフェースソフトウェア２０１は無線通信ソフトウェア２０３を起動シーケンス（図３の起動シーケンスのステップＳ３２ａ〜Ｓ３８）を実施して起動させるステップＳ６４）。
【００３０】
次に、ユーザインタフェースソフトウェア２０１は、図３の起動シーケンスのステップＳ３９ｃで保持していたシステムパラメータを無線通信ソフトウェア２０３に設定し（ステップＳ６５ａ）、無線通信ソフトウェア２０３はユーザインタフェースソフトウェア２０１に確認応答する（ステップＳ６５ｂ）。
【００３１】
これにより、システムを全て再起動することなくシステムを運用状態に戻すことを可能となる。
【００３２】
なお、無線通信ソフトウェアに異常を検知した場合のソフトウェア復旧のシーケンスは、図６の復旧のシーケンスのうちステップＳ６３，Ｓ６４，Ｓ６５ａ，６５ｂが行われる。
【００３３】
本実施形態では、（Ａ）ユーザインタフェースソフトウェアで、無線通信ソフトウェアおよびハードウェア制御ソフトウェアの故障を検出する。また、（Ｂ）無線通信ソフトウェアの正常設定値を保持する。また、（Ｃ）故障したソフトウェアが利用されている無線通信ソフトウェアまたはハードウェア制御ソフトウェアを特定し、無線通信ソフトウェアの終了を行う。また、（Ｄ）上記（Ｃ）で終了した無線通信ソフトウェアおよびハードウェア制御ソフトウェアを起動する。さらに、（Ｅ）上記（Ｄ）で起動した無線通信ソフトウェアに該当する上記（Ｂ）で保持した設定値を再設定する。
【００３４】
本実施形態によれば、無線通信ソフトウェアおよびハードウェア制御ソフトウェアの故障をいち早く検出することができる。また、故障を検出した際は、自動復旧を行った上で、故障発生前の設定値を再設定することによって、即座に故障前の正常状態にソフトウェア無線機のシステムを戻すことができる。これにより、ソフトウェア無線機のシステム運用停止時間を最小限にすることで、信頼性を向上させることができる。
【００３５】
＜第二実施形態＞
図７に第二実施形態のソフトウェア無線機のソフトウェア構造を示す。  
第二実施形態のソフトウェア無線機はインタフェースサービスソフトウェアが第一実施形態のソフトウェア無線機に追加されている。インタフェースサービスソフトウェア２０Ａはユーザインタフェースソフトウェア２０１とシステム外との仲立ちに配置され、ユーザインタフェースサービスの管理を行う。なお、インタフェースサービスソフトウェア２０ＡはＯＳ２０９に直接管理されるよう配置され、ユーザインタフェースサービスやドメイン管理ソフトウェア２０２等のフレームワークソフトウェア２１５はこのインタフェースサービスソフトウェア２０Ａで管理される。
【００３６】
第一実施形態では、無線通信ソフトウェア２０３はユーザインタフェースソフトウェア２０１からの指示に基づいて起動するが、第二実施形態ではインタフェースサービスソフトウェア２０Ａからの指示に基づいて起動する。
【００３７】
インタフェースサービスソフトウェア２０Ａはユーザインタフェースソフトウェア２０１と接続・通信し、パラメータ設定、無線通信ソフトウェア２０３のインストールおよびアンインストールを指示する。また、インタフェースサービスソフトウェア２０Ａはドメイン管理ソフトウェア２０２と接続・通信し、死活監視する。
【００３８】
インタフェースサービスソフトウェア２０Ａはフレームワークソフトウェア２１５の起動を行い、ユーザインタフェースソフトウェア２０１およびドメイン管理ソフトウェア２０２等のフレームワークソフトウェア２１５の実行状態を管理する。また、無線通信ソフトウェア２０３の起動後には自己診断を実施し、診断結果に問題あった場合は適合する別の無線通信ソフトウェア２０３を起動する。これにより、ユーザからの指示をまたずにシステム上動作可能な無線通信ソフトウェア２０３を配置し、サービスの稼働時間を確保することができる。また、この際、インタフェースサービスソフトウェア２０Ａは無線通信ソフトウェア２０３と直接接続し、システムパラメータのやりとりが行える形を取る。
【００３９】
図８Ａ〜８Ｃに図７のソフトウェア無線機の起動シーケンスを示す。  
ソフトウェア無線機１００が電源投入される（ステップＳ１１）と、まずＯＳ２０９、ハードウェアデバイスドライバー２１０，２１１，２１２、ＣＯＲＢＡミドルウェア２０８が起動される。続いて、ＯＳ２０９はインタフェースサービスソフトウェア２０Ａを起動し、インタフェースサービスソフトウェア２０Ａはユーザインタフェースソフトウェア２０１、ドメイン管理ソフトウェア２０２およびハードウェア管理ソフトウェア２０４を起動する（ステップＳ１１ａ〜Ｓ１１ｃ）。この際、ユーザインタフェースソフトウェア２０１、ドメイン管理ソフトウェア２０２およびハードウェア管理ソフトウェア２０４はそれぞれ起動した旨の確認応答をインタフェースサービスソフトウェア２０Ａに行う（ステップＳ１１ｅ〜Ｓ１１ｇ）。ハードウェア管理ソフトウェア２０４はハードウェア制御ソフトウェア２０５，２０６，２０７を起動し（ステップＳ１１ｄ）、ハードウェア制御ソフトウェア２０５，２０６，２０７は起動した旨の確認応答をハードウェア管理ソフトウェア２０４に行う（ステップＳ１１ｈ）。また、ハードウェア管理ソフトウェア２０４はインタフェースサービスソフトウェア２０Ａにハードウェア制御ソフトウェア２０５，２０６，２０７が起動した旨の確認応答を行う（ステップＳ１１ｉ）。これらにより、ユーザインタフェースソフトウェア２０１、ドメイン管理ソフトウェア２０２、ハードウェア管理ソフトウェア２０４およびハードウェア制御ソフトウェア２０５，２０６，２０７はフレームワークソフトウェア２１５として起動される。
【００４０】
ユーザがインタフェースサービスソフトウェア２０Ａを介して無線通信ソフトウェア起動指示をユーザインタフェースソフトウェア２０１に与える（ステップＳ１２）と、ユーザインタフェースソフトウェア２０１はドメイン管理ソフトウェア２０２に規定のインタフェースで、起動する無線通信ソフトウェア（Ａ）２０３Ａを指示する（ステップＳ１２ａ）。ドメイン管理ソフトウェア２０２は、ハードウェア管理ソフトウェア２０４を介して、ハードウェア制御ソフトウェア２０５，２０６，２０７に無線通信ソフトウェア（Ａ）２０３Ａの起動を指示する（ステップＳ１２ｂ，Ｓ１２ｃ）。ハードウェア制御ソフトウェア２０５，２０６，２０７は無線通信ソフトウェア（Ａ）２０３Ａを起動する（ステップＳ１２ｄ）。無線通信ソフトウェア（Ａ）２０３Ａは起動した旨の確認応答をハードウェア制御ソフトウェア２０５，２０６，２０７およびハードウェア管理ソフトウェア２０４を介して、ドメイン管理ソフトウェア２０２に行う（ステップＳ１２ｅ〜Ｓ１２ｇ）。無線通信ソフトウェア（Ａ）２０３Ａはドメイン管理ソフトウェア２０２に無線通信ソフトウェア情報を伝える（ステップＳ１３）。無線通信ソフトウェア（Ａ）２０３Ａの起動時に無線通信ソフトウェア（Ａ）２０３ＡはＣＯＲＢＡサーバントとして動作する。以降は、ドメイン管理ソフトウェア２０２が無線通信ソフトウェア（Ａ）２０３ＡとＣＯＲＢＡ通信を利用して、初期化や設定処理を実行する（ステップＳ１４ａ）。無線通信ソフトウェア（Ａ）２０３Ａは初期化や設定処理が行われた旨の確認応答を行う（ステップＳ１４ｂ）。その後、無線通信ソフトウェア（Ａ）２０３Ａのソフトウェアプログラム同士のＣＯＲＢＡの通信接続処理を行い（ステップＳ１５ａ）、無線通信ソフトウェア（Ａ）２０３Ａがその確認応答を行う（ステップＳ１５ｂ）。その後、無線通信ソフトウェア（Ａ）２０３Ａとユーザインタフェースソフトウェア２０１間の接続を行って、ドメイン管理ソフトウェア２０２は無線通信ソフトウェア（Ａ）２０３Ａに運用開始指示し（ステップＳ１６ａ）、無線通信ソフトウェア２０３はドメイン管理ソフトウェア２０２に確認応答を行い（ステップＳ１６ｂ）、システム運用可能とする。ドメイン管理ソフトウェア２０２は、無線通信ソフトウェア情報をユーザインタフェースソフトウェア２０１に伝えて（ステップＳ１７）、ユーザインタフェースソフトウェア２０１は無線通信ソフトウェア情報および運用可能表示等をインタフェースサービスソフトウェア２０Ａに伝える（ステップＳ１８）。
【００４１】
ＯＳ２０９がシステムパラメータ設定等の指示をインタフェースサービスソフトウェア２０Ａに与える（ステップＳ１９）と、インタフェースサービスソフトウェア２０Ａはシステムパラメータを保持すると共に、ユーザインタフェースソフトウェア２０１を介して無線通信ソフトウェア（Ａ）２０３Ａに自己診断を指示する（ステップＳ２０ａ，Ｓ２０ｂ）。無線通信ソフトウェア（Ａ）２０３Ａは、自己診断の診断結果に問題ある場合、ユーザインタフェースソフトウェア２０１を介して自己診断の診断結果に問題がある旨（自己診断ＮＧ）をインタフェースサービスソフトウェア２０Ａに伝える（ステップＳ２０ｃ，Ｓ２０ｄ）。
【００４２】
次に、図８Ｂに示すように、インタフェースサービスソフトウェア２０Ａが無線通信ソフトウェア（Ａ）２０３Ａの終了指示をユーザインタフェースソフトウェア２０１に与える（ステップＳ２１）と、ユーザインタフェースソフトウェア２０１はドメイン管理ソフトウェア２０２に対して、無線通信ソフトウェア（Ａ）２０３Ａの終了を指示する（ステップＳ２１ａ）。ドメイン管理ソフトウェア２０２は、無線通信ソフトウェア（Ａ）２０３Ａに対して、運用停止を指示し（ステップＳ２２ａ）、ソフトウェア間のＣＯＲＢＡ通信接続を切断し（ステップＳ２３ａ）、ソフトウェアオブジェクト（リソース）の解放を行い（ステップＳ２４ａ）、無線通信ソフトウェア（Ａ）２０３Ａを終了させる（ステップＳ２５ａ）。その際、無線通信ソフトウェア（Ａ）２０３Ａはドメイン管理ソフトウェア２０２に確認応答する（ステップＳ２２ｂ，Ｓ２３ｂ，Ｓ２４ｂ，Ｓ２５ｂ）。この場合、ハードウェア制御ソフトウェア２０５，２０６，２０７を初めとしたフレームワークソフトウェア２１５は終了せず、そのまま起動状態を維持する。
【００４３】
ドメイン管理ソフトウェア２０２は無線通信ソフトウェア（Ａ）２０３Ａから終了応答を受け取ると、ユーザインタフェースソフトウェア２０１を介してインタフェースサービスソフトウェア２０Ａに無線通信ソフトウェア（Ａ）２０３Ａの終了を伝える（ステップＳ２６ａ，２６ｂ）。
【００４４】
次に、図８Ｃに示すように、インタフェースサービスソフトウェア２０Ａは無線通信ソフトウェア（Ｂ）２０３Ｂの起動指示をユーザインタフェースソフトウェア２０１に与える（ステップＳ７１）。以降、図３ＡのステップＳ３２ａ〜Ｓ３６ａと同様の無線通信ソフトウェア起動シーケンス（ステップＳ７２）を行う。無線通信ソフトウェア（Ｂ）２０３Ｂはドメイン管理ソフトウェア２０２に確認応答を行い（ステップＳ７３）、システム運用可能とする。ドメイン管理ソフトウェア２０２は、無線通信ソフトウェア情報をユーザインタフェースソフトウェア２０１に伝えて（ステップＳ７４）、ユーザインタフェースソフトウェア２０１は無線通信ソフトウェア情報および運用可能表示等をインタフェースサービスソフトウェア２０Ａに伝える（ステップＳ７５）。
【００４５】
インタフェースサービスソフトウェア２０Ａはユーザインタフェースソフトウェア２０１を介して無線通信ソフトウェア（Ｂ）２０３Ｂに自己診断を指示する（ステップＳ７６ａ，Ｓ７６ｂ）。無線通信ソフトウェア（Ｂ）２０３Ｂは、自己診断の診断結果に問題がない場合、ユーザインタフェースソフトウェア２０１を介して自己診断の診断結果に問題がない旨（自己診断ＯＫ）をインタフェースサービスソフトウェア２０Ａに伝える（ステップＳ７６ｃ，Ｓ７６ｄ）。
【００４６】
インタフェースサービスソフトウェア２０Ａはユーザインタフェースソフトウェア２０１を介して無線通信ソフトウェア（Ｂ）２０３ＢにステップＳ３９で保持したシステムパラメータの設定等を行う（ステップＳ７７ａ，Ｓ７７ｂ）。
【００４７】
第一実施形態ではユーザインタフェースソフトウェア２０１およびドメイン管理ソフトウェア２０２を監視できないが、第二実施形態ではインタフェースサービスソフトウェア２０Ａはユーザインタフェースソフトウェア２０１およびドメイン管理ソフトウェア２０２を監視することができる。
【００４８】
図９に図７のソフトウェア無線機のフレームワークソフトウェアの故障検出および復旧シーケンスを示す。  
インタフェースサービスソフトウェア２０Ａはフレームワークソフトウェア２１５の実行状態を管理し、死活監視の情報を自身が実行したソフトウェアに対して定期的に実行する（ステップＳ８１ａ，Ｓ８１ｂ，Ｓ８２ａ，Ｓ８２ｂ）。その結果、例えばユーザインタフェースソフトウェア２０１がメモリアクセス違反やハードウェアエラー等の故障と判断できた場合は、インタフェースサービスソフトウェア２０Ａは自身を除く故障ソフトウェアと接続するフレームワークソフトウェア（ドメイン管理ソフトウェア２０２およびハードウェア管理ソフトウェア２０４）を一度実行停止（ソフトウェア停止）する（ステップＳ８３，Ｓ８４）。その後、インタフェースサービスソフトウェア２０Ａはユーザインタフェースソフトウェア２０１、ドメイン管理ソフトウェア２０２およびハードウェア管理ソフトウェア２０４の再起動を指示し（ステップＳ８５ａ，Ｓ８６ａ，Ｓ８７ａ）、ユーザインタフェースソフトウェア２０１、ドメイン管理ソフトウェア２０２およびハードウェア管理ソフトウェア２０４は起動した旨を応答する（ステップＳ８５ｂ，Ｓ８６ｂ，Ｓ８７ｂ）。
【００４９】
この時、無線通信ソフトウェア２０３が故障していなかった場合は、無線通信ソフトウェア２０３との接続から、インタフェースサービスソフトウェア２０Ａはフレームワークソフトウェアが再起動した旨を無線通信ソフトウェア２０３に対して送信する（ステップＳ８８ａ）。再起動した旨を受信した無線通信ソフトウェア２０３はインタフェースサービスソフトウェア２０Ａに対して、自身が運用可能状態であることを通知（運用中通知）する（ステップＳ８８ｂ）。
【００５０】
また、無線通信ソフトウェア２０３はユーザインタフェースソフトウェア２０１に対してソフトウェア情報を通知する（ステップＳ８９ａ）。ユーザインタフェースソフトウェア２０１はドメイン管理ソフトウェア２０２に対してソフトウェア情報を登録することで（ステップＳ８９ｂ）、ドメイン管理ソフトウェア２０２はソフトウェア情報を把握して、故障前または正常起動と同等の情報を確保する。
【００５１】
無線通信ソフトウェア２０３およびハードウェア制御ソフトウェア２０５，２０６，２０７の故障の検出および復旧は第一実施形態と同様に行うことができる。
【００５２】
本実施形態では、（Ａ）インタフェースサービスソフトウェア２０Ａはフレームワークソフトウェアと接続を行う。（Ｂ）起動中の無線通信ソフトウェアの情報を診断する。無線通信ソフトウェアの正常設定値を保持する。（Ｃ）故障したフレームワークソフトウェアを特定し、フレームワークソフトウェアを終了する。（Ｄ）上記（Ｃ）で終了したフレームワークソフトウェア及び接続するフレームワークソフトウェアを再起動する。（Ｅ）上記（Ｄ）の再起動において上記（Ｂ）で保持した設定値を再設定する。（Ｆ）外部インタフェースとの接続を切断し、ソフトウェア無線システム全体の初期化を行う。
【００５３】
本実施形態によれば、フレームワークソフトウェアの故障をいち早く検出することができる。また、故障を検出した際は、自動復旧を行った上で、故障発生前の設定値を再設定することによって、即座に故障前の正常状態にソフトウェア無線機のシステムを戻すことができる。これにより、ソフトウェア無線機のシステム運用停止時間を最小限にすることで、信頼性を向上させることができる。
【００５４】
以上、本発明者によってなされた発明を実施形態に基づき具体的に説明したが、本発明は、上記実施形態に限定されるものではなく、種々変更可能であることはいうまでもない。
【符号の説明】
【００５５】
１００：ソフトウェア無線機、１０１：アンテナ、１０２：高周波部、１０３：Ａ／Ｄ・Ｄ／Ａ部、１０４：デジタル信号処理部、１０５：制御部、１０６：ネットワーク、１０７：制御端末、２０１：ユーザインタフェースソフトウェア、２０２：ドメイン管理ソフトウェア、２０３：無線通信ソフトウェア、２０４：ハードウェア管理ソフトウェア、２０５〜２０７：ハードウェア制御ソフトウェア、２０８：ＣＯＲＢＡ、２０９：ＯＳ、２０Ａ：インタフェースサービスソフトウェア、２１５：フレームワークソフトウェア。
【図１】
0006980929.tif 000002
【図２】
0006980929.tif 000003
【図３】
0006980929.tif 000004
【図４】
0006980929.tif 000005
【図５】
0006980929.tif 000006
【図６】
0006980929.tif 000007
【図７】
0006980929.tif 000008
【図８Ａ】
0006980929.tif 000009
【図８Ｂ】
0006980929.tif 000010
【図８Ｃ】
0006980929.tif 000011
【図９】
0006980929.tif 000012