(57)【要約】【課題】  複数のオブジェクトの組合せにより構築されるアプリケーションを切替えて再構築する場合に、オブジェクトを再利用する。【解決手段】  ソフトウェア無線機３は、変更されるべきアプリケーションを構築するための領域Ａのコンポーネント情報のＩＤと、現在構築されているアプリケーションを構築するための領域Ｂのコンポーネント情報のＩＤとを比較する。ＩＤが一致する場合には、ソフトウェア無線機３は、領域Ａの配列要素のコンポーネント情報を領域Ｂの要素にコピーし、領域Ｃに挿入する。ＩＤが一致しない場合には、ソフトウェア無線機３は、領域ＤからＩＤが一致するコンポーネント情報を格納する要素を検索し、領域Ｃに挿入する。ソフトウェア無線機３は、領域Ｃの各要素を、領域Ｂに挿入し、変更されるべきアプリケーションの再構築を完了する。【選択図】          図７
2006309533.tif 000002
【特許請求の範囲】
【請求項１】
所定の記憶手段に記憶された複数のオブジェクトを組合せてアプリケーションを構築する分散処理プログラムであって、
アプリケーションを切替える場合に、前記複数のオブジェクトそれぞれが再利用可能であるか否かを判定するステップと、
切替えられるべきアプリケーションに対して、前記記憶手段が記憶していないオブジェクトが必要である場合に、前記記憶手段に必要なオブジェクトを補充するステップと、
再利用可能であると判定したオブジェクトの組合わせ、または、再利用可能であると判定したオブジェクトおよび補充したオブジェクトの組合わせによって、切替えられるべきアプリケーションを構築するステップと
をコンピュータに実行させる分散処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションを複数のオブジェクトの組合せにより構築する分散処理プログラムに関する。
【背景技術】
【０００２】
複数のオブジェクト間で通信を行うことによりアプリケーションを構築し、オブジェクトの組合わせを変更することによって、アプリケーションを切り替える分散処理プログラムが知られている。
例えば、特許文献１は、複数のオブジェクト間で通信を行うことによりソフトウェア無線機を構成し、ユーザが指定した無線方式の名前に応じてオブジェクトの接続を変更する分散処理プログラムを開示する。
しかしながら、上記従来例においては、運用中の無線方式を実現するオブジェクト群と、新たに切り替えられる無線方式を実現するオブジェクト群とが同一であっても、オブジェクト群を再利用することができないために、全く異なるオブジェクト群を起動して無線方式を変更する場合と同様の手順によらなければ、無線方式を変更することができず、アプリケーションの切り替え時間を短縮することができないという問題があった。
【０００３】
【特許文献１】特開２００５−３９５５７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明は、上述した背景からなされたものであり、複数のオブジェクトの組合せにより構築されるアプリケーションを切替えて再構築する場合に、オブジェクトを再利用することができる分散処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
［分散処理プログラム］
上記目的を達成するために、本発明に係る分散処理プログラムは、所定の記憶手段に記憶された複数のオブジェクトを組合せてアプリケーションを構築する分散処理プログラムであって、アプリケーションを切替える場合に、前記複数のオブジェクトそれぞれが再利用可能であるか否かを判定するステップと、切替えられるべきアプリケーションに対して、前記記憶手段が記憶していないオブジェクトが必要である場合に、前記記憶手段に必要なオブジェクトを補充するステップと、再利用可能であると判定したオブジェクトの組合わせ、または、再利用可能であると判定したオブジェクトおよび補充したオブジェクトの組合わせによって、切替えられるべきアプリケーションを構築するステップとをコンピュータに実行させる。
【発明の効果】
【０００６】
本発明に係る分散処理プログラムは、複数のオブジェクトの組合せにより構築されるアプリケーションを切替えて再構築する場合に、オブジェクトを再利用することができる。
【発明を実施するための最良の形態】
【０００７】
［本発明の背景］
まず、本発明の理解を助けるために、実施形態の説明に先立ち、その背景を説明する。
分散処理プログラムにより構成されるソフトウェア無線機は、例えば無線方式ごとに異なる複数のソフトウェアの組合わせを切り替えてアプリケーションを構築することにより、無線方式を切り替えて無線通信を行うことができるようにされている。
しかしながら、ソフトウェア無線機を多数の無線方式に対応させるために、無線方式ごとに異なる多数のソフトウェアの全てをソフトウェア無線機内に保持させると、ソフトウェア無線機に過剰な容量のメモリが必要になるので、ハードウェアを有効に利用することができなくなってしまう。
【０００８】
ソフトウェア無線機を多数の無線方式に対応させる場合には、無線方式ごとに異なる多数のソフトウェアの全てをサーバが記憶し、クライアントとなるソフトウェア無線機が新たに切り替えられる無線方式に必要なソフトウェア群を選択してサーバから取得し、取得したソフトウェア群から無線方式に対応したアプリケーションを構築するように制御することにより、ソフトウェア無線機のハードウェアを有効に利用することができる。
このように、クライアントのアプリケーションを切り替える場合には、クライアントが運用中のソフトウェア群を終了させて削除し、新たに切り替えられるアプリケーションを構築するソフトウェア群をクライアントがサーバから取得して起動し、切り替えられるアプリケーションを構築する方法が採られることが多い。
【０００９】
しかしながら、クライアントが運用中のソフトウェア群を終了させて削除し、新たに切り替えられるアプリケーションを構築する場合、クライアントが運用中のアプリケーションを構築するソフトウェア群と、新たに切り替えれらるアプリケーションを構築するソフトウェア群とが同一であっても、ソフトウェア群を再利用することができないために、全く異なるソフトウェア群を起動してアプリケーションを切り替える場合と同じ手順でアプリケーションを切り替えることになる。
【００１０】
本発明は、このような背景からなされ、クライアントがハードウェアを効率的に利用しつつ、ソフトウェアの再利用を可能にすることにより、アプリケーションの切り替え時間を短縮することができるようにされている。
【００１１】
［実施形態］
以下、本発明の実施形態を説明する。
【００１２】
［システム構成］
図１は、本発明に係る分散処理プログラムを実行する分散システム１の構成を例示する図である。
図１に示すように、分散システム１は、通信サーバ２、ソフトウェア無線機３、および、通信制御部１０が有線または無線のＬＡＮ等のネットワーク１２を介して接続された構成を採る。
通信サーバ２は、複数の無線方式に対応する無線機をソフトウェアにより構成するための複数のコンポーネント（オブジェクトを含むソフトウェアコンポーネント）およびパラメータを記憶し、通信制御部１０またはソフトウェア無線機３の要求に応じてコンポーネントおよびパラメータ（動作モード等）をソフトウェア無線機３に対して出力（提供）する。
【００１３】
通信制御部１０は、例えばパーソナルコンピュータであり、キーボードなどの入力装置１００および表示装置１０２などを含み、ユーザ（システム管理者）が入力装置１００を操作することにより、ネットワーク１２を介してソフトウェア無線機３を制御することができるようにされている。
例えば通信制御部１０は、ユーザの操作に応じて、所定の無線方式の通信アプリケーションを構築すべき通信諸元設定指示（パラメータを含む）をソフトウェア無線機３に対して出力することにより、ソフトウェア無線機３を所定の無線方式の無線機に設定する。
【００１４】
［ソフトウェア無線機３］
図２は、図１に示したソフトウェア無線機３の構成を例示する図である。
ソフトウェア無線機３は、通信サーバ２のクライアントであり、ＲＦ部３０およびベースバンド部３２を有し、通信サーバ２から取得するオブジェクトの組合わせを切り替えることにより、複数の無線方式に対応する無線機を構成する。
ＲＦ部３０は、アンテナ３００およびＲＦ部本体３０２から構成される。
ＲＦ部本体３０２は、アンテナ３００を介して所定の無線方式の信号を受信し、ベースバンド部３２に対して出力するとともに、アンテナ３００を介してベースバンド部３２から入力される信号を所定の無線方式で送信する。
【００１５】
ベースバンド部３２は、例えばコンパクトＰＣＩ（CompactPCI）などのバス３２０を介して接続されるコーデック部３３０、モデム部３４０および制御部３５０を有する。
コーデック部３３０は、メモリ３３２およびＡ／Ｄ・Ｄ／Ａ変換部３３４を含み、ＲＦ部本体３０２から入力される信号をデコードし、モデム部３４０に対して出力するとともに、モデム部３４０から入力される信号をエンコードし、ＲＦ部本体３０２に対して出力する。
モデム部３４０は、メモリ３４２を含み、コーデック部３３０から入力される信号を復調し、制御部３５０に対して出力するとともに、制御部３５０から入力される信号を変調し、コーデック部３３０に対して出力する。
【００１６】
制御部３５０は、メモリ３５２、ＣＰＵ３５４およびＬＡＮインターフェイス（Ｉ／Ｆ）３５６を含み、ベースバンド部３２を構成する各部を制御するとともに、ＬＡＮインターフェイス３５６によりネットワーク１２を介して通信制御部１０および通信サーバ２に接続可能になっている。
また、制御部３５０は、モデム部３４０から入力される信号を図示しないユーザインターフェイス、またはネットワーク１２を介して通信制御部１０に対して出力し、ユーザインターフェイスまたは通信制御部１０から入力される信号をモデム部３４０に対して出力し、通信サーバ２から提供されるコンポーネントおよびパラメータ（動作モード等）をコーデック部３３０およびモデム部３４０に対して出力する。
【００１７】
［分散処理プログラム４］
図３は、ベースバンド部３２が実行する分散処理プログラム４の構成を示す模式図である。
なお、図３において、図２に示したソフトウェア無線機３と実質的に同じものには、同じ符号が付してある。
分散処理プログラム４は、コーデック部３３０のメモリ３３２、モデム部３４０のメモリ３４２および制御部３５０のメモリ３５２に記憶されるソフトウェアがコンパクトＰＣＩ（CompactPCI）などのバス３２０内のソフトウェアバスとなるＯＲＢ（Object Request Broker）を介して接続されることによりＣＯＲＢＡ（Common Object Request Broker Architecture）を構成し、所定の無線方式の通信アプリケーションを構築する。
ベースバンド部３２において、ＣＯＲＢＡを構成するＣＯＲＢＡアプリケーションは、上述したコンポーネント（オブジェクトを含むソフトウェアコンポーネント）であり、スケルトンがスタブにより利用されるようになっている。
【００１８】
メモリ３３２は、コーデック部３３０が所定の無線方式に対応したエンコードおよびデコードを行うためのソフトウェアであるコーデック部ＣＯＲＢＡアプリケーション４０を記憶する。
メモリ３４２は、モデム部３４０が所定の無線方式に対応した変調および復調を行うためのソフトウェアであるモデム部ＣＯＲＢＡアプリケーション４２を記憶する。
【００１９】
メモリ３５２は、ＣＯＲＢＡアプリケーションであるＨＣＩ（Host Controller Interface）４４、アプリケーションファクトリ４６、アプリケーションインターフェイス４８およびＸＭＬファイル５０を記憶する。
ＨＣＩ４４は、ネットワーク１２およびＬＡＮインターフェイス３５６を介して、所定の無線方式を設定するために通信制御部１０が出力した通信諸元設定指示を受け入れ、所定の無線方式の通信アプリケーションを構築すべき通信諸元設定指示をアプリケーションファクトリ４６に対して出力する。
【００２０】
アプリケーションファクトリ４６は、制御部３５０に実装されるミドルウェアを構成するフレームワークの１つであり、通信諸元設定指示をＨＣＩ４４から受け入れると、通信諸元設定指示に応じて複数の無線方式の通信アプリケーションを構築するために必要な組み立て情報を記述したＸＭＬファイル５０を参照し、コーデック部ＣＯＲＢＡアプリケーション４０およびモデム部ＣＯＲＢＡアプリケーション４２に対して、初期化処理指示、接続確立処理指示、コンフィグレーション処理指示および終了処理指示等を行うことにより、所定の無線方式の通信アプリケーションを組み立てる（生成、接続の確立および削除を行う）。
また、アプリケーションファクトリ４６は、所定の無線方式の通信アプリケーションを組み立て完了後に、アプリケーションインターフェイス４８を生成する。
【００２１】
アプリケーションインターフェイス４８は、通信アプリケーションを構築するＣＯＲＢＡアプリケーションの集合を表すＣＯＲＢＡアプリケーションであり、アプリケーションファクトリ４６以外のソフトウェアが通信アプリケーションを構成するコーデック部ＣＯＲＢＡアプリケーション４０およびモデム部ＣＯＲＢＡアプリケーション４２に対して行うアクセスを代行する。
【００２２】
［アプリケーションファクトリ４６］
図４は、制御部３５０のメモリ３５２に記憶されるアプリケーションファクトリ４６の概要を示す概念図である。
図４に示すように、アプリケーションファクトリ４６は、例えば４チャンネル分（１ｃｈ〜４ｃｈ）の通信アプリケーションを表す配列４６０を有し、最大４チャンネル分の通信アプリケーション構成を管理可能にされている。
配列４６０の各要素には、通信アプリケーションに関する情報を保持する構造体であるアプリケーション情報管理構造体４６２−１〜４６２−４を指すポインタがそれぞれ格納されている。
【００２３】
アプリケーション情報管理構造体４６２−１〜４６２−４は、それぞれ第１の先頭要素ポインタａ、第１の最後尾要素ポインタｂ、第２の先頭要素ポインタｃおよび第２の最後尾要素ポインタｄを含み、複数のコンポーネント情報管理構造体４６４および複数のコネクション情報管理構造体４６６に対して後述するリンクリストを作成することによりアプリケーションの構造を管理する。
コンポーネント情報管理構造体４６４それぞれは、固有のＩＤを有するコンポーネント情報を格納可能にされており、格納したコンポーネント情報の次に接続されるべきコンポーネント情報を格納する他のコンポーネント情報管理構造体４６４（次要素）を指す次要素ポインタｅを有する。
コネクション情報管理構造体４６６それぞれは、コネクション情報を格納可能にされており、格納したコネクション情報の次に接続されるべきコネクション情報を格納する他のコネクション情報管理構造体４６６（次要素）を指す次要素ポインタｆを有する。
【００２４】
第１の先頭要素ポインタａは、アプリケーションの先頭に配置されるべきコンポーネントに関するコンポーネント情報を格納するコンポーネント情報管理構造体４６４（先頭要素）を指すポインタである。
第１の最後尾要素ポインタｂは、アプリケーションの最後尾に配置されるべきコンポーネントに関するコンポーネント情報を格納するコンポーネント情報管理構造体４６４（最後尾要素）を指すポインタである。
【００２５】
このように、第１の先頭要素ポインタａにより先頭要素であるコンポーネント情報管理構造体４６４を指し、コンポーネント情報管理構造体４６４から次要素ポインタｅにより順次に次要素を指し、第１の最後尾要素ポインタｂにより最後尾要素とされたコンポーネント情報管理構造体４６４を指すようにポインタが設定されることにより、複数のコンポーネント情報を１本に接続したリンクリストが形成され、コンポーネントが管理される。
なお、最後尾要素のコンポーネント情報管理構造体４６４は、次要素ポインタｅの値が’ｎｕｌｌ’とされ、次に接続されるコンポーネント情報管理構造体４６４がないことを示す。
【００２６】
また、第２の先頭要素ポインタｃは、アプリケーションの先頭のコネクションに関するコネクション情報を格納するコネクション情報管理構造体４６６（先頭要素）を指すポインタである。
第２の最後尾要素ポインタｄは、アプリケーションの最後尾のコネクションに関するコネクション情報を格納するコネクション情報管理構造体４６６（最後尾要素）を指すポインタである。
【００２７】
このように、第２の先頭要素ポインタｃにより先頭要素であるコネクション情報管理構造体４６６を指し、コネクション情報管理構造体４６６から次要素ポインタｆにより順次に次要素を指し、第２の最後尾要素ポインタｄにより最後尾要素とされたコネクション情報管理構造体４６６を指すようにポインタが設定されることにより、複数のコネクション情報を１本に接続したリンクリストが形成され、コネクションが管理される。
なお、最後尾要素のコネクション情報管理構造体４６６は、次要素ポインタｆの値が’ｎｕｌｌ’とされ、次に接続されるコネクション情報管理構造体４６６がないことを示す。
【００２８】
図５は、アプリケーションファクトリ４６とアプリケーションインターフェイス４８との関係の詳細を示す図である。
図５に示すように、アプリケーションファクトリ４６は、各チャンネルのアプリケーションインターフェイス４８の管理構造体ポインタｇがアプリケーションファクトリ４６内に保持されるアプリケーション情報管理構造体４６２−１〜４６２−４のアドレスをそれぞれ指すように、アプリケーションインターフェイス４８を生成する。
【００２９】
つまり、アプリケーションファクトリ４６およびアプリケーションインターフェイス４８は、アプリケーションファクトリ４６が保持するコンポーネント情報およびコネクション情報を共有して利用することができる。
また、アプリケーションインターフェイス４８は、コンポーネント情報およびコネクション情報の実体を保持していないので、アプリケーションインターフェイス４８が削除されても、コンポーネント情報およびコネクション情報は、アプリケーションファクトリ４６に保持されるので、再利用可能である。
【００３０】
図６は、メモリ３５２内のアプリケーションファクトリ４６に形成され、コンポーネント情報を保持する配列および構造体を示す図である。
メモリ３５２内のアプリケーションファクトリ４６には、ｎｃｈ用（例えばｎは１〜４のいずれか）のアプリケーションを管理するために、領域Ａ〜領域Ｅが形成されている。
【００３１】
領域Ａは、ＸＭＬファイル５０から取得した変更されるべきアプリケーションを構築するコンポーネントに関するコンポーネント情報を格納するコンポーネント情報格納領域４７０の配列である。
領域Ｂには、アプリケーション情報管理構造体４６２−ｎによって指されたコンポーネント情報管理構造体４６４により、現在構築されているアプリケーションを構築するコンポーネント情報が格納される。
なお、請求項における記憶手段は、チャンネルごとの領域Ｂのコンポーネント情報管理構造体４６４に格納されたコンポーネント情報に対応するコンポーネントを記憶するソフトウェア無線機３内のメモリを示す。
領域Ｃには、コンポーネント管理構造体一時格納用４７２によって指されたコンポーネント情報管理構造体４６４により、コンポーネント情報が一時的に格納される。
領域Ｄには、コンポーネント管理構造体保存用４７４によって指されたコンポーネント情報管理構造体４６４により、保存されるコンポーネント情報が格納される。
領域Ｅには、コンポーネント管理構造体未割り当て用４７６によって指された未割り当てのコンポーネント情報管理構造体４６４が保持される。
【００３２】
このように、アプリケーションファクトリ４６は、領域Ａ〜領域Ｅを用いてコンポーネント情報を管理するようにされている。
また、アプリケーションファクトリ４６は、コネクション情報についてもコンポーネント情報と同様に、領域Ａ〜領域Ｅを用いて管理するようにされている。
【００３３】
［全体動作］
次に、ソフトウェア無線機３がアプリケーションを切替える場合に、分散処理プログラム４によりコンポーネントの再構築を行う処理について説明する。
図７は、ソフトウェア無線機３がアプリケーションを切替える場合に、分散処理プログラム４によりコンポーネントの再構築を行う処理（Ｓ１０）を示すフローチャートである。
図８〜図１２は、図７に示した処理（Ｓ１０）におけるアプリケーションファクトリ４６の領域Ａ〜領域Ｅの状態を示す概念図である。
図７に示すように、ステップ１００（Ｓ１００）において、ソフトウェア無線機３は、分散処理プログラム４により、第１のループを開始する。
第１のループは、変数ｘの値が１で始まり、１ずつ増加して領域Ａのコンポーネント情報格納領域４７０（要素）数になるまで、後述するＳ１２０までの処理を繰り返す。
【００３４】
ステップ１０２（Ｓ１０２）において、ソフトウェア無線機３は、第２のループを開始する。
第２のループは、変数ｙの値が１で始まり、１ずつ増加して領域Ｂのコンポーネント情報管理構造体４６４（要素）数になるまで、後述するＳ１１８までの処理を繰り返す。
【００３５】
ステップ１０４（Ｓ１０４）において、ソフトウェア無線機３は、コンポーネント情報格納領域４７０である領域Ａの配列要素のコンポーネント情報が有するＩＤと、領域Ｂのアプリケーション情報管理構造体４６２−ｎによるコンポーネント情報管理構造体４６４に格納されたコンポーネント情報のＩＤとを比較する。
【００３６】
ステップ１０６（Ｓ１０６）において、ソフトウェア無線機３は、領域Ａの配列要素のコンポーネント情報が有するＩＤと、領域Ｂのコンポーネント情報管理構造体４６４に格納されたコンポーネント情報のＩＤとが一致するか否かを判定し、一致する場合にはＳ１０８の処理に進み、一致しない場合にはＳ１１０の処理に進む。
【００３７】
ステップ１０８（Ｓ１０８）において、ソフトウェア無線機３は、領域Ａの要素のコンポーネント情報を、ＩＤが一致するコンポーネント情報を格納する領域Ｂのコンポーネント情報管理構造体４６４（要素）にコピーし、コンポーネント情報をコピーされた領域Ｂの要素を領域Ｃのコンポーネント管理構造体一時格納用４７２によるリンクリストに挿入する。
例えば、図８に示すように、領域ＡのＩＤ＝１〜３であるコンポーネント情報は、領域ＢのＩＤ＝１〜３であるコンポーネント情報とＩＤが一致しているので、領域ＢのＩＤ＝１〜３であるコンポーネント情報を格納するコンポーネント情報管理構造体４６４に領域Ａのコンポーネント情報をコピーし、コンポーネント情報をコピーされた領域Ｂの要素を領域Ｃのリンクリストに挿入する。
【００３８】
ステップ１１０（Ｓ１１０）において、ソフトウェア無線機３は、領域Ａの要素のコンポーネント情報が有するＩＤに対し、領域Ｄのコンポーネント管理構造体保存用４７４によるリンクリスト内でＩＤが一致するコンポーネント情報を格納するコンポーネント情報管理構造体４６４（要素）を検索する。
【００３９】
ステップ１１２（Ｓ１１２）において、ソフトウェア無線機３は、領域Ａの配列要素のコンポーネント情報が有するＩＤと、領域Ｄのコンポーネント情報管理構造体４６４に格納されたコンポーネント情報のＩＤとが一致するか否かを判定し、一致する場合にはＳ１１４の処理に進み、一致しない場合にはＳ１１６の処理に進む。
【００４０】
ステップ１１４（Ｓ１１４）において、ソフトウェア無線機３は、領域Ａの要素のコンポーネント情報を、ＩＤが一致するコンポーネント情報を格納する領域Ｄのコンポーネント情報管理構造体４６４にコピーし、コンポーネント情報をコピーされた領域Ｄの要素を領域Ｃのコンポーネント管理構造体一時格納用４７２によるリンクリストに挿入する。
例えば、図９に示すように、領域ＡのＩＤ＝６であるコンポーネント情報は、領域ＤのＩＤ＝６であるコンポーネント情報とＩＤが一致しているので、領域ＤのＩＤ＝６であるコンポーネント情報を格納するコンポーネント情報管理構造体４６４に領域Ａのコンポーネント情報をコピーし、コンポーネント情報をコピーされた領域Ｄの要素を領域Ｃのリンクリストに挿入する。
【００４１】
ステップ１１６（Ｓ１１６）において、ソフトウェア無線機３は、領域Ｅのコンポーネント管理構造体未割り当て用４７６によるリンクリストの先頭からコンポーネント情報管理構造体４６４（要素）を取り出し、取り出した要素に領域Ａの要素のコンポーネント情報をコピーし、コンポーネント情報をコピーされた領域Ｅの要素を領域Ｃのリンクリストに挿入する。
例えば、図１０に示すように、ソフトウェア無線機３は、領域Ｅのコンポーネント管理構造体未割り当て用４７６による未割り当てのコンポーネント情報管理構造体４６４に対し、領域Ｂ、ＤにＩＤが一致するコンポーネント情報が格納されていない領域ＡのＩＤ＝７のコンポーネント情報をコピーし、ＩＤ＝７のコンポーネント情報をコピーされた領域Ｅの要素を領域Ｃのリンクリストに挿入する。
つまり、ＸＭＬファイル５０から取得した変更されるべきアプリケーションを構築するコンポーネントに関するコンポーネント情報が領域Ｃのリンクリストに補充される。
【００４２】
ステップ１１８（Ｓ１１８）において、ソフトウェア無線機３は、Ｓ１０２に示した条件が満たされた場合に、第２のループを終了する。
【００４３】
ステップ１２０（Ｓ１２０）において、ソフトウェア無線機３は、Ｓ１００に示した条件が満たされた場合に、第１のループを終了する。
【００４４】
ステップ１２２（Ｓ１２２）において、ソフトウェア無線機３は、領域Ｂに残ったリンクリストの要素を領域Ｄのリンクリストに挿入することにより退避させる。
例えば、図１１に示すように、ＩＤ＝４，５であるコンポーネント情報は、変更されるべきアプリケーションを構築するために利用されないので、以後のアプリケーションの構築に再利用するために、領域Ｄのリンクリストに挿入することにより退避させる。
【００４５】
ステップ１２４（Ｓ１２４）において、ソフトウェア無線機３は、領域Ｃのコンポーネント管理構造体一時格納用４７２によるリンクリストの各要素を、領域Ｂのアプリケーション情報管理構造体４６２−ｎによるリンクリストに挿入することにより、変更されるべきアプリケーションの再構築を完了する。
例えば、図１２に示すように、領域Ｃのコンポーネント管理構造体一時格納用４７２によるＩＤ＝１，２，３，６，７であるコンポーネント情報を格納するコンポーネント情報管理構造体４６４を、領域Ｂのアプリケーション情報管理構造体４６２−ｎによるリンクリストに挿入することにより、変更されるべきアプリケーションの再構築を完了する。
【００４６】
このように、ソフトウェア無線機３は、通信アプリケーションを構築するコンポーネントの数が増減する場合、または、コンポーネントの切り替え（入れ替えを含む）が発生する場合、制御部３５０の制御により、すでに起動されているコンポーネントを再利用して通信アプリケーションを構築することができる。
すなわち、通信アプリケーションを切替える場合に、すでに起動されているコンポーネントを再利用することにより、再利用可能なコンポーネントを新たに起動することなく、通信アプリケーションを構築することができ、切り替え時間を短縮することができる。
【図面の簡単な説明】
【００４７】
【図１】本発明に係る分散処理プログラムを実行する分散システムの構成を例示する図である。
【図２】図１に示したソフトウェア無線機の構成を例示する図である。
【図３】ベースバンド部が実行する分散処理プログラムの構成を示す模式図である。
【図４】制御部のメモリに記憶されるアプリケーションファクトリの概要を示す概念図である。
【図５】アプリケーションファクトリとアプリケーションインターフェイスとの関係の詳細を示す図である。
【図６】メモリ内のアプリケーションファクトリに形成され、コンポーネント情報を保持する配列および構造体を示す図である。
【図７】ソフトウェア無線機がアプリケーションを切替える場合に、分散処理プログラムによりコンポーネントの再構築を行う処理（Ｓ１０）を示すフローチャートである。
【図８】図７に示したＳ１０におけるアプリケーションファクトリの領域Ａ、Ｂ、Ｃの状態を示す概念図である。
【図９】図７に示したＳ１０におけるアプリケーションファクトリの領域Ａ、Ｄ、Ｃの状態を示す概念図である。
【図１０】図７に示したＳ１０におけるアプリケーションファクトリの領域Ａ、Ｅ、Ｃの状態を示す概念図である。
【図１１】図７に示したＳ１０におけるアプリケーションファクトリの領域Ｂ、Ｄの状態を示す概念図である。
【図１２】図７に示したＳ１０におけるアプリケーションファクトリの領域Ｃ、Ｂの状態を示す概念図である。
【符号の説明】
【００４８】
１・・・分散システム
１０・・・通信制御部
１００・・・入力装置
１０２・・・表示装置
１２・・・ネットワーク
２・・・通信サーバ
３・・・ソフトウェア無線機
３０・・・ＲＦ部
３００・・・アンテナ
３０２・・・ＲＦ部本体
３２・・・コントロールユニット
３２０・・・バス
３３０・・・コーデック部
３３２・・・メモリ
３３４・・・Ａ／Ｄ・Ｄ／Ａ変換部
３４０・・・モデム部
３４２・・・メモリ
３５０・・・制御部
３５２・・・メモリ
３５４・・・ＣＰＵ
３５６・・・ＬＡＮインターフェイス
４・・・分散処理プログラム
４０・・・コーデック部ＣＯＲＢＡアプリケーション
４２・・・モデム部ＣＯＲＢＡアプリケーション
４４・・・ＨＣＩ
４６・・・アプリケーションファクトリ
４６０・・・配列
４６２−１〜４６２−４・・・アプリケーション情報管理構造体
４６４・・・コンポーネント情報管理構造体
４６６・・・コネクション情報管理構造体
４７０・・・コンポーネント情報格納領域
４７２・・・コンポーネント管理構造体一時格納用
４７４・・・コンポーネント管理構造体保存用
４７６・・・コンポーネント管理構造体未割り当て用
４８・・・アプリケーションインターフェイス
５０・・・ＸＭＬファイル
【図１】
2006309533.tif 000003
【図２】
2006309533.tif 000004
【図３】
2006309533.tif 000005
【図４】
2006309533.tif 000006
【図５】
2006309533.tif 000007
【図６】
2006309533.tif 000008
【図７】
2006309533.tif 000009
【図８】
2006309533.tif 000010
【図９】
2006309533.tif 000011
【図１０】
2006309533.tif 000012
【図１１】
2006309533.tif 000013
【図１２】
2006309533.tif 000014