(57)【要約】【課題】複数の接続方式に対応する。【解決手段】本発明に係る分散処理プログラムは、複数のＣＯＲＢＡコンポーネントを接続する分散処理プログラムであって、ＣＯＲＢＡコンポーネント間の接続に使用される方式の種別が、基本接続方式、インターフェースを介する接続方式、ＣＯＲＢＡサービスを使用する接続方式およびＣＯＲＢＡ非対応のデバイスに対する接続方式のいずれであるかを判断するステップと、判断された接続方式の種別に応じた処理を行うステップとをコンピュータに実行させる。【選択図】図４
2009223732.tif 000002
【特許請求の範囲】
【請求項１】
複数のＣＯＲＢＡ（Ｃｏｍｍｏｎ Ｏｂｊｅｃｔ Ｒｅｑｕｅｓｔ Ｂｒｏｋｅｒ Ａｒｃｈｉｔｅｃｔｕｒｅ）コンポーネントを接続する分散処理プログラムであって、
前記ＣＯＲＢＡコンポーネント間の接続に使用される接続方式の種別を判断するステップと、
前記判断された接続方式の種別に応じた処理を行うステップ
をコンピュータに実行させる分散処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のＣＯＲＢＡ（Common Object Request Broker Architecture）コンポーネントを接続する分散処理プログラムに関する。
【背景技術】
【０００２】
ＯＭＧ（Object Management Group）によって標準化されている分散処理技術であるＣＯＲＢＡにおいて、アプリケーションファクトリが、分散コンポーネントを配置し、分散コンポーネント間のコネクションを確立し、分散コンポーネントのコンフィグレーションを行うことが知られている。
たとえば、特許文献１は、アプリケーションファクトリを介して、分散コンポーネントで実行されるアプリケーションを組み合わせる分散処理プログラムを開示する。
しかしながら、ＣＯＲＢＡにおいて、分散コンポーネントを接続するための接続方式は、ＳＣＡ（Software Communication Architecture）によって多数定義されているが、アプリケーションファクトリは、そのすべてには対応していない。
以下に説明する分散処理プログラムは、このような観点から改良されている。
【特許文献１】特開２００６−３０９５３３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
本発明は、ＣＯＲＢＡにおいて、分散コンポーネントを接続する複数の接続方式に対応することができるよう改良された分散処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００４】
上記目的を達成するために、本発明に係る第１のプログラムは、複数のＣＯＲＢＡ（Common Object Request Broker Architecture）コンポーネントを接続する分散処理プログラムであって、前記ＣＯＲＢＡコンポーネント間の接続に使用される接続方式の種別を判断するステップと、前記判断された接続方式の種別に応じた処理を行うステップとをコンピュータに実行させる。
【発明の効果】
【０００５】
本発明に係る分散処理プログラムを作成する方法によれば、ＣＯＲＢＡにおいて、分散コンポーネントを接続する複数の接続方式に対応することができる。
【発明を実施するための最良の形態】
【０００６】
[分散処理システム１]
以下、本発明の実施形態を説明する。
図１は、本願に係る分散処理プログラムが実行される分散処理システム１の構成を例示する図である。
図１に示すように、分散処理システム１は、制御装置１０およびソフトウエア無線装置２−１〜２−ｎがＷＡＮ，ＬＡＮなどのネットワーク１２を介して接続されて構成される。
【０００７】
ただし、ｎは１以上の整数であって、ｎが常に同じ数を示すとは限らない。
以下の各図において、実質的に同じ構成部分には、同じ符号が付される。
以下、「ソフトウエア無線装置２−１〜２−ｎ」など、複数存在しうる構成部分のいずれかが、特定されずに示されるときには、単に「ソフトウエア無線装置２」などと略記されることがある。
【０００８】
制御装置１０は、たとえばパーソナルコンピュータであり、キーボードなどの入力装置およびディスプレイなどの出力装置などを含み、ユーザが入力装置を操作することにより、ソフトウエア無線装置を制御することができる。
たとえば、制御装置１０は、ユーザの操作に応じて、ソフトウエア無線装置２に対して、ソフトウエア無線装置２で実行されるソフトウエアコンポーネント間の接続を開始させる。
分散処理システム１においては、このような構成により、制御装置１０が、ネットワークを介してソフトウエア無線装置２を制御する。
【０００９】
[ソフトウエア無線装置２]
図２は、図１に示したソフトウエア無線装置２のハードウエア構成を例示する図である。
図２に示すように、ソフトウエア無線装置２は、ＲＦ部２０およびベースバンド部２２から構成され、図１のネットワーク１２を介して図１の制御装置１０から受信した制御信号または入出力装置２４０から受け取った制御信号に基づき、ソフトウエア無線装置２に記憶されるソフトウエアコンポーネントを接続する。
なお、このとき、同一のソフトウエア無線装置２に記憶されるソフトウエアコンポーネントが接続されてもかまわないし、異なるソフトウエア無線装置２に記憶されるソフトウエアコンポーネントが接続されてもかまわない。
たとえば、ソフトウエア無線装置２−ｐ（ｐ≧１）に記憶されるソフトウエアコンポーネントｉ（ｉ≧１）およびｊ（ｊ≧１，ｉ≠ｊ）が接続されてもかまわないし、ソフトウエア無線装置２−ｐに記憶されるソフトウエアコンポーネントｉと、ソフトウエア無線装置２−ｑ（ｑ≧１，ｐ≠ｑ）に記憶されるソフトウエアコンポーネントｊとが接続されてもかまわない。
【００１０】
さらに、ＲＦ部２０は、アンテナ２００およびＲＦ部本体２０２から構成される。
ＲＦ部本体２０２は、アンテナ２００を介して無線信号を受信し、ベースバンド部２２に対して出力するとともに、アンテナ２００を介してベースバンド部２２から入力される信号を送信する。
ベースバンド部２２は、たとえば、コンパクトＰＣＩ（ＣｏｍｐａｃｔＰＣＩ）などのバス２４２を介して接続されるコーデック部２２０、モデム部２２６および制御部２３２を有する。
コーデック部２２０は、アナログ−デジタル（Ａ−Ｄ）・デジタル−アナログ（Ｄ−Ａ）変換部２２２およびメモリ２２４を含み、ＲＦ部本体２０２から入力される信号をデコードし、モデム部２２６に対して出力するとともに、モデム部２２６から入力される信号をエンコードし、ＲＦ部２０２本体に対して出力する。
モデム部２２６は、ＤＳＰ（Digital Signal Processor）２２８およびメモリ２３０を含み、コーデック部２２０から入力される信号を復調し、制御部２３２に対して出力するとともに、制御部２３２から入力される信号を変調し、コーデック部２２０に対して出力する。
なお、ＤＳＰ２２８の代わりに、ＧＰＰ（General Purpose Processor）、ＦＧＰＡ（Field Programmable Gate Array）など、ソフトウエア無線装置２に適したデバイスが、適宜、用いられる。
制御部２３２は、ＬＡＮインターフェース（Ｉ−Ｆ）２３４、ＣＰＵ２３６およびメモリ２３８を含み、ベースバンド部２２を構成する各部を制御するとともに、ＬＡＮインターフェース２３４によりネットワーク１２を介して制御装置に接続可能になっている。
なお、入出力装置２４０は、たとえば、キーボードおよびディスプレイなどであり、ユーザからの操作を受け付けるとともに、ＣＰＵ２３６からの出力を表示する。
【００１１】
[分散処理プログラム３]
以下、分散処理システム１のソフトウエア無線装置２において動作するソフトウエアを説明する。
図３は、図２のベースバンド部２２において実行される分散処理プログラム３の構成を示す図である。
なお、図３において、図２に示したソフトウエア無線装置２の構成要素と実質的に同じものには、同じ符号が付されている。
図３に示されるように、分散処理プログラム３は、コーデック部アプリケーション３０、Logical Device３２、アダプタコンポーネント３４、制御部アプリケーション３６、ＨＣＩ３８、アプリケーションファクトリ４０およびドメインプロファイル４２から構成される。
このような構成により、分散処理プログラム３は、ＯＳ（図示せず）上で、メモリ２２４、メモリ２３０およびメモリ２３８に記憶されるソフトウエアをバス２４２内のソフトウエアバスであるＯＲＢ（Object Request Broker）を介して接続し、ＣＯＲＢＡを構成する。
なお、ＣＯＲＢＡを構成するソフトウエアコンポーネントは、互いにソフトウエアコンポーネントのポートを指定して接続することによって、ＯＲＢ、スケルトンおよびスタブを介することを意識せず接続できる。
【００１２】
ベースバンド部２２において、ＣＯＲＢＡを構成するＣＯＲＢＡアプリケーションは、オブジェクトを含むソフトウエアコンポーネントをインスタンス化した実行形式のプログラムを意味し、スケルトンおよびスタブを介してＯＲＢと通信することができる。
メモリ２２４は、コーデック部２２０がエンコードおよびデコードを行うためのソフトウエアであるコーデック部ＣＯＲＢＡアプリケーション３０を記憶する。
【００１３】
メモリ２３０は、Logical Device３２、アダプタコンポーネント３４およびモデム部ＣＯＲＢＡアプリケーション３６を記憶する。
Logical Device３２は、たとえば、ＤＳＰ、ＧＰＰ、ＦＧＰＡなどのＣＯＲＢＡ非対応のデバイスに対して設けられるＣＯＲＢＡアプリケーションである。
アダプタコンポーネント３４は、アプリケーションファクトリ４０によって、Logical Device３２に対してロードされ、Logical Device３２は、ロードされたアダプタコンポーネント３４を介して、他のＣＯＲＢＡアプリケーションに接続する。
モデム部ＣＯＲＢＡアプリケーション３６は、モデム部２２６が信号の変復調を行うためのソフトウエアである。
メモリ２３８は、ＨＣＩ（Host Controller Interface）３８、アプリケーションファクトリ４０およびドメインプロファイル４２を記憶する。
【００１４】
ＨＣＩ３８は、ＬＡＮインターフェース２３４を介した図１の制御装置１０からの接続開始指示または入出力装置２４０からの接続開始指示を受け取り、受け取った指示信号をアプリケーションファクトリ４０に出力するＣＯＲＢＡアプリケーションである。
アプリケーションファクトリ４０は、制御部２３２に実装されるミドルウエアを構成するフレームワークの１つであり、接続開始指示をＨＣＩ３８から受け取ると、ドメインプロファイル４２を読み出し、読み出した内容に基づいて、ベースバンド部２２に記憶されたソフトウエアコンポーネントを接続する。
ドメインプロファイル４２には、コンポーネントの組み立て方法についての情報であるＳＡＤ（Software Assembly Descriptor）や、コンポーネントがサポートするポートおよびインターフェースなどのコンポーネント特性についての情報であるＳＣＤ（Software Component Descriptor）などが含まれる。
なお、ドメインプロファイル４２は、ＸＭＬ（eXtensible Markup Language）形式で記述される。
【００１５】
[アプリケーションファクトリ４０の処理]
図４は、図３に示したアプリケーションファクトリ４０の処理を示すフローチャートである。
以下、図４を参照して、アプリケーションファクトリ４０の処理をさらに説明する。
ここでは、説明の具体化および明確化のために、アプリケーションファクトリ４０が、以下に示す６種類の接続方式に対応する場合を具体例とする。
図１の制御装置１０から接続開始指示を受け取ることによってアプリケーションファクトリ４０の処理が開始すると、図４に示すように、ステップ４００（Ｓ４００）において、アプリケーションファクトリ４０は、図３のドメインプロファイル４２を読み出す。
【００１６】
ステップ４０２（Ｓ４０２）において、アプリケーションファクトリ４０は、読み出したドメインプロファイル４２を解析し、接続方式の種別を判断する。
たとえば、アプリケーションファクトリ４０は、ＸＭＬパーサ（図示せず）を用いて、ドメインプロファイルのＳＡＤなどに含まれるタグを解析する。
【００１７】
ステップ４０２（Ｓ４０２）において、ＳＣＡで定義された接続方式のうち、最も基本的な接続方式（以下、基本接続方式）を用いることが判断されたとき、アプリケーションファクトリ４０は、ステップ４０４（Ｓ４０４）の処理を行う。
図５Ａは、ステップ４０２（Ｓ４０２，図４）において基本接続方式を用いることが判断されたドメインプロファイル４２のうち、コネクション情報を例示する図である。
図５Ａに示されるタグおよびタグの意味は、以下の表のように対応する。
なお、図５Ａの「＜！−−」開始タグおよび「−−＞」終了タグに示されるように、ドメインプロファイル４２には、コメントを記載することができる（後述する図５Ｂ〜５Ｇについても同様）。
【００１８】
【表１】
2009223732.tif 000003
【００１９】
ステップ４０２（Ｓ４０２）においてSupportedInterface接続方式を用いることが判断されたとき、アプリケーションファクトリ４０は、ステップ４０６（Ｓ４０６）の処理を行う。
図５Ｂは、ステップ４０２（Ｓ４０２，図４）においてSupportedInterface接続方式を用いることが判断されたドメインプロファイル４２のうち、コネクション情報を例示する図である。
図５Ｂに示されるタグおよびタグの意味は、以下の表のように対応する。
【００２０】
【表２】
2009223732.tif 000004
【００２１】
図５Ｃは、ステップ４０２（Ｓ４０２，図４）においてSupportedInterface接続方式を用いることが判断されたドメインプロファイル４２のうち、ＳＣＤを例示する図である。
図５Ｃに示される「＜interface＞」タグの記載は、接続先コンポーネントが、「IDL:CF/Resource:1.0」インターフェースおよび「IDL:TestIdl/ModulatedData:1.0」インターフェースをサポートすることを示す。
【００２２】
ステップ４０２（Ｓ４０２）においてfindby（ネーミングサービス）接続方式を用いることが判断されたとき、アプリケーションファクトリ４０は、ステップ４０８（Ｓ４０８）の処理を行う。
図５Ｄは、ステップ４０２（Ｓ４０２，図４）においてfindby（ネーミングサービス）接続方式を用いることが判断されたドメインプロファイル４２のうち、コネクション情報を例示する図である。
図５Ｄに示されるタグおよびタグの意味は、以下の表のように対応する。
【００２３】
【表３】
2009223732.tif 000005
【００２４】
ステップ４０２（Ｓ４０２）においてfindby（ドメインファインダ）接続方式を用いることが判断されたとき、アプリケーションファクトリ４０は、ステップ４１０（Ｓ４１０）の処理を行う。
図５Ｅは、ステップ４０２（Ｓ４０２，図４）においてfindby（ドメインファインダ）接続方式を用いることが判断されたドメインプロファイル４２のうち、コネクション情報を例示する図である。
図５Ｅに示されるタグおよびタグの意味は、以下の表のように対応する。
【００２５】
【表４】
2009223732.tif 000006
【００２６】
ステップ４０２（Ｓ４０２）においてＤＴＬＴＣＲ（Device That Loaded This Component Ref）接続方式を用いることが判断されたとき、アプリケーションファクトリ４０は、ステップ４１２（Ｓ４１２）の処理を行う。
図５Ｆは、ステップ４０２（Ｓ４０２，図４）においてＤＴＬＴＣＲ接続方式を用いることが判断されたドメインプロファイル４２のうち、コネクション情報を例示する図である。
図５Ｆに示されるタグおよびタグの意味は、以下の表のように対応する。
【００２７】
【表５】
2009223732.tif 000007
【００２８】
ステップ４０２（Ｓ４０２）においてＤＵＢＴＣＲ（Device Used By This Component Ref）接続方式を用いることが判断されたとき、アプリケーションファクトリ４０は、ステップ４１４（Ｓ４１４）の処理を行う。
図５Ｇは、ステップ４０２（Ｓ４０２，図４）においてＤＵＢＴＣＲ接続方式を用いることが判断されたドメインプロファイル４２のうち、コネクション情報を例示する図である。
図５Ｇに示されるタグおよびタグの意味は、以下の表のように対応する。
【００２９】
【表６】
2009223732.tif 000008
【００３０】
[基本接続方式による接続処理]
図６は、図４に示した基本接続方式による接続処理（Ｓ４０４）を示すフローチャートである。
以下、図６を参照して、基本接続方式による接続処理（Ｓ４０４）をさらに説明する。
図６に示すように、ステップ４１６（Ｓ４１６）において、図３に示したアプリケーションファクトリ４０は、ドメインプロファイル４２から、図５Ａに例示したコンポーネント間の接続に関するコネクション情報を読み出す。
ステップ４１８（Ｓ４１８）において、アプリケーションファクトリ４０は、読み出したコネクション情報から、どの接続元コンポーネントが、どのポートを使用して、どの接続先コンポーネントのどのポートに対して接続するかというコネクションモデルを判断する。
たとえば、図５Ａに例示したコネクション情報からは、コンポーネントＡがoutPortポートを使用して、コンポーネントＢのinPortポートに対して、「connection between component_A and component_B」として識別される接続を行うことが判断される。
【００３１】
ステップ４２０（Ｓ４２０）において、アプリケーションファクトリ４０は、ステップ４１８（Ｓ４１８）で判断された接続元コンポーネントに対して、接続元ポートの名称を引数とするgetPortメソッドを呼び出す。
getPortメソッドを呼び出された接続元コンポーネントは、アプリケーションファクトリ４０が引数として指定した接続元ポートが有効であるか否かを判断する。
接続元コンポーネントは、アプリケーションファクトリ４０が指定した接続元ポートが有効であると判断するとき、アプリケーションファクトリ４０に対し、接続元コンポーネントのオブジェクトリファレンスを返す。
オブジェクトリファレンスは、ＣＯＲＢＡ環境でコンポーネントを一意に特定して、そのコンポーネントに接続するために必要なすべての情報を含む。
たとえば、オブジェクトリファレンスは、接続先ＣＯＲＢＡコンポーネントの型情報、使用プロトコル、接続先ＣＯＲＢＡコンポーネントが記憶されるソフトウエア無線装置２（図１，２）の位置情報およびソフトウエア無線装置２内の接続先ＣＯＲＢＡコンポーネントの位置情報などを含む。
一方、これ以外のとき、接続元コンポーネントは、アプリケーションファクトリ４０に対し、エラーメッセージを返す。
【００３２】
ステップ４２２（Ｓ４２２）において、アプリケーションファクトリ４０は、ステップ４２０（Ｓ４２０）における返り値が、接続元コンポーネントのオブジェクトリファレンスおよびエラーメッセージのいずれであるかを判断する。
アプリケーションファクトリ４０は、返り値が接続元コンポーネントのオブジェクトリファレンスであることを判断するとき、ステップ４２４（Ｓ４２４）の処理を行う。
一方、アプリケーションファクトリは、返り値がエラーメッセージであることを判断するとき、接続処理を終了する。
なお、このとき、アプリケーションファクトリ４０は、エラーメッセージを図１の制御装置１０または図２の入出力装置２４０に送信して、接続処理を終了してもかまわない（以下、他ステップで返り値がエラーメッセージであると判断されたときにおいて同様）。
【００３３】
ステップ４２４（Ｓ４２４）において、アプリケーションファクトリ４０は、ステップ４２０（Ｓ４２０）の処理と同様、ステップ４１８（Ｓ４１８）で判断された接続先コンポーネントに対して、接続先ポートの名称を引数とするgetPortメソッドを呼び出す。
getPortメソッドを呼び出された接続先コンポーネントは、アプリケーションファクトリ４０が引数として指定した接続先ポートが有効であるか否かを判断し、アプリケーションファクトリ４０に対して、接続先コンポーネントのオブジェクトリファレンスおよびエラーメッセージのいずれかを返す。
【００３４】
ステップ４２６（Ｓ４２６）において、アプリケーションファクトリ４０は、ステップ４２４（Ｓ４２４）における返り値が、接続先コンポーネントのオブジェクトリファレンスおよびエラーメッセージのいずれであるかを判断する。
アプリケーションファクトリ４０が、返り値が接続先コンポーネントのオブジェクトリファレンスであることを判断するとき、ステップ４２８（Ｓ４２８）の処理を行う。
一方、アプリケーションファクトリは、返り値がエラーメッセージであることを判断するとき、接続処理を終了する。
【００３５】
ステップ４２８（Ｓ４２８）において、アプリケーションファクトリ４０は、接続元コンポーネントに対して、ステップ４１８（Ｓ４１８）で判断されたコネクション識別子およびステップ４２４（Ｓ４２４）で返された接続先コンポーネントのオブジェクトリファレンスを引数とするconnectPortメソッドを呼び出す。
connectPortメソッドを呼び出された接続元コンポーネントは、アプリケーションファクトリ４０が引数として指定したコネクション識別子が有効であるか否かを判断する。
接続元コンポーネントは、アプリケーションファクトリ４０が指定したコネクション識別子が有効であると判断するとき、接続先コンポーネントのオブジェクトリファレンスを保持する。
さらに、接続元コンポーネントは、保持した接続先コンポーネントのオブジェクトリファレンスを用いて、接続先コンポーネントに接続する。
一方、これ以外のとき、接続元コンポーネントは、アプリケーションファクトリ４０に対し、エラーメッセージを返す。
【００３６】
[SupportedInterface接続方式による接続処理]
図７は、図４に示したSupportedInterface接続方式による接続処理（Ｓ４０６）を示すフローチャートである。
以下、図７を参照して、SupportedInterface接続方式による接続処理（Ｓ４０６）をさらに説明する。
図７に示すように、ステップ４３０（Ｓ４３０）において、図３に示したアプリケーションファクトリ４０は、ドメインプロファイル４２から、図５Ｂに例示したコネクション情報を読み出す。
ステップ４３２（Ｓ４３２）において、アプリケーションファクトリ４０は、読み出したコネクション情報から、コネクションモデルを判断する。
たとえば、図５Ｂに例示したコネクション情報からは、コンポーネントＡがcontrolPortポートを使用して、「IDL:CF/Resource:1.0」インターフェースを介して、コンポーネントＢに対して、「connection between component_A and component_B 2」として識別される接続を行うことが判断される。
【００３７】
ステップ４３４，４３６（Ｓ４３４，４３６）において、アプリケーションファクトリ４０は、ステップ４２０，４２２（Ｓ４２０，４２２；図６）と同様の処理を行い、接続元コンポーネントから、接続元コンポーネントのオブジェクトリファレンスおよびエラーメッセージのいずれかを返される。
アプリケーションファクトリ４０は、接続元コンポーネントからの返り値がオブジェクトリファレンスであることを判断するとき、ステップ４３８（Ｓ４３８）の処理を行う。
【００３８】
ステップ４３８（Ｓ４３８）において、アプリケーションファクトリ４０は、ドメインプロファイル４２から、図５Ｃに例示したＳＣＤを読み出す。
ステップ４４０（Ｓ４４０）において、アプリケーションファクトリ４０は、読み出したＳＣＤから、接続先コンポーネントがサポートするインターフェースを判断する。
たとえば、図５Ｃに例示したＳＣＤからは、接続先コンポーネントが、「IDL:CF/Resource:1.0」インターフェースおよび「IDL:TestIdl/ModulatedData:1.0」インターフェースをサポートすることが判断される。
【００３９】
ステップ４４２（Ｓ４４２）において、アプリケーションファクトリ４０は、ステップ４４０（Ｓ４４０）でサポートされると判断されたインターフェースが、ステップ４３２（Ｓ４３２）で判断されたインターフェースを含むか否かを判断することによって、コネクション情報に記載されたインターフェースが接続先コンポーネントでサポートされるか否かを判断する。
アプリケーションファクトリ４０は、ステップ４３２（Ｓ４３２）のインターフェースが接続先コンポーネントでサポートされると判断するとき、ステップ４４４（Ｓ４４４）の処理を行う。
一方、これ以外のとき、アプリケーションファクトリ４０は、接続処理を終了する。
ステップ４４４〜４４８（Ｓ４４４〜４４８）において、アプリケーションファクトリ４０は、ステップ４２４〜４２８（Ｓ４２４〜４２８，図６）と同様の処理を行う。
【００４０】
[findby（ネーミングサービス）接続方式による接続処理]
図８は、図４に示したfindby（ネーミングサービス）接続方式による接続処理（Ｓ４０８）を示すフローチャートである。
以下、図８を参照して、findby（ネーミングサービス）接続方式による接続処理（Ｓ４０８）をさらに説明する。
図８に示すように、ステップ４５０（Ｓ４５０）において、図３に示したアプリケーションファクトリ４０は、ドメインプロファイル４２から、図５Ｄに例示したコネクション情報を読み出す。
ステップ４５２（Ｓ４５２）において、アプリケーションファクトリ４０は、読み出したコネクション情報から、コネクションモデルを判断する。
たとえば、図５Ｄに例示したコネクション情報からは、コンポーネントＡがlogPortポートを使用して、「/HiKE/Service/Log」という名前でネーミングサービスに登録され、オブジェクトリファレンスが管理されているコンポーネントに対し、「connection between component_A and LogService」として識別される接続を行うことが判断される。
【００４１】
ステップ４５４，４５６（Ｓ４５４，４５６）において、アプリケーションファクトリ４０は、ステップ４２０，４２２（Ｓ４２０，４２２；図６）と同様の処理を行い、接続元コンポーネントから、接続元コンポーネントのオブジェクトリファレンスおよびエラーメッセージのいずれかを返される。
アプリケーションファクトリ４０は、接続元コンポーネントからの返り値がオブジェクトリファレンスであることを判断するとき、ステップ４５８（Ｓ４５８）の処理を行う。
【００４２】
ステップ４５８（Ｓ４５８）において、アプリケーションファクトリ４０は、ステップ４５２（Ｓ４５２）で判断されたネーミングサービス登録名をキーにして、ネーミングサービスから接続先コンポーネントのオブジェクトリファレンスを検索する。
ステップ４６０（Ｓ４６０）において、アプリケーションファクトリ４０は、接続先コンポーネントに対して、ステップ４５０（Ｓ４５０）で判断されたコネクション識別子およびステップ４５８（Ｓ４５８）で検索された接続先コンポーネントのオブジェクトリファレンスを引数とするconnectPortメソッドを呼び出し、ステップ４２８（Ｓ４２８，図６）と同様の処理を行う。
【００４３】
[findby（ドメインファインダ）接続方式による接続処理]
図９は、図４に示したfindby（ドメインファインダ）接続方式による接続処理（Ｓ４１０）を示すフローチャートである。
以下、図９を参照して、findby（ドメインファインダ）接続方式による接続処理（Ｓ４１０）をさらに説明する。
図９に示すように、ステップ４６２（Ｓ４６２）において、図３に示したアプリケーションファクトリ４０は、ドメインプロファイル４２から、図５Ｅに例示したコネクション情報を読み出す。
ステップ４６４（Ｓ４６４）において、アプリケーションファクトリ４０は、読み出したコネクション情報から、コネクションモデルを判断する。
たとえば、図５Ｅに例示したコネクション情報からは、コンポーネントＡがlogPortポートを使用して、「HiKE_Errorlog」という名前でドメインマネージャに登録され、オブジェクトリファレンスが管理されているコンポーネントに対し、「connection between component_A and LogService」として識別される接続を行うことが判断される。
【００４４】
ステップ４６６，４６８（Ｓ４６６，４６８）において、アプリケーションファクトリ４０は、ステップ４２０，４２２（Ｓ４２０，４２２；図６）と同様の処理を行い、接続元コンポーネントから、接続元コンポーネントのオブジェクトリファレンスおよびエラーメッセージのいずれかを返される。
アプリケーションファクトリ４０は、接続元コンポーネントからの返り値がオブジェクトリファレンスであることを判断するとき、ステップ４７０（Ｓ４７０）の処理を行う。
【００４５】
ステップ４７０（Ｓ４７０）において、アプリケーションファクトリ４０は、ステップ４６４（Ｓ４６４）で判断されたドメインマネージャ登録名をキーにして、ドメインマネージャに対して、接続先コンポーネントのオブジェクトリファレンスを問い合わせる。
ステップ４７２（Ｓ４７２）において、アプリケーションファクトリ４０は、接続元コンポーネントに対して、ステップ４６４（Ｓ４６４）で判断されたコネクション識別子およびステップ４７０（Ｓ４７０）で検索された接続先コンポーネントのオブジェクトリファレンスを引数とするconnectPortメソッドを呼び出し、ステップ４２８（Ｓ４２８，図６）と同様の処理を行う。
【００４６】
[ＤＴＬＴＣＲ接続方式による接続処理]
図１０は、図４に示したＤＴＬＴＣＲ接続方式による接続処理（Ｓ４１２）を示すフローチャートである。
以下、図１０を参照して、ＤＴＬＴＣＲ接続方式による接続処理（Ｓ４１２）をさらに説明する。
図１０に示すように、ステップ４７４（Ｓ４７４）において、図３に示したアプリケーションファクトリ４０は、ドメインプロファイル４２から、図５Ｆに例示したコネクション情報を読み出す。
ステップ４７６（Ｓ４７６）において、アプリケーションファクトリ４０は、読み出したコネクション情報から、コネクションモデルを判断する。
たとえば、図５Ｆに例示したコネクション情報からは、アダプタコンポーネントＡがportCポートを使用して、Logical DeviceＢのportAに対し、「connection between component_A and device_B」として識別される接続を行うことが判断される。
【００４７】
ステップ４７８，４８０（Ｓ４７８，４８０）において、アプリケーションファクトリ４０は、ステップ４２０，４２２（Ｓ４２０，４２２；図６）と同様の処理を行い、接続元アダプタコンポーネントから、接続元コンポーネントのオブジェクトリファレンスおよびエラーメッセージのいずれかを返される。
アプリケーションファクトリ４０は、接続元アダプタコンポーネントからの返り値がオブジェクトリファレンスであることを判断するとき、ステップ４８２（Ｓ４８２）の処理を行う。
ステップ４８２（Ｓ４８２）において、アプリケーションファクトリ４０は、接続元アダプタコンポーネントに対して、ステップ４７６（Ｓ４７６）で判断されたコネクション識別子と、接続先アダプタコンポーネントのロードによってあらかじめ取得した接続先コンポーネントのオブジェクトリファレンスとを引数とするconnectPortメソッドを呼び出し、ステップ４２８（Ｓ４２８，図６）と同様の処理を行う。
【００４８】
[ＤＵＢＴＣＲ接続方式による接続処理]
図１１は、図４に示したＤＵＢＴＣＲ接続方式による接続処理（Ｓ４１４）を示すフローチャートである。
以下、図１１を参照して、ＤＵＢＴＣＲ接続方式による接続処理（Ｓ４１４）をさらに説明する。
図１１に示すように、ステップ４８６（Ｓ４８６）において、図３に示したアプリケーションファクトリ４０は、ドメインプロファイル４２から、図５Ｇに例示したコネクション情報を読み出す。
ステップ４８８（Ｓ４８８）において、アプリケーションファクトリ４０は、読み出したコネクション情報から、コネクションモデルを判断する。
たとえば、図５Ｇに例示したコネクション情報からは、Logical DeviceがportBポートを使用して、アダプタコンポーネントのportＤポートに対し、「DCE:0f1b259d-bfdc-4b95-a8cf-a30fb4e40ae2」として識別される接続を行うことが判断される。
【００４９】
ステップ４９０，４９２（Ｓ４９０，４９２）において、アプリケーションファクトリ４０は、ステップ４２０，４２２（Ｓ４２０，４２２；図６）と同様の処理を行い、接続先コンポーネントから、接続先コンポーネントのオブジェクトリファレンスおよびエラーメッセージのいずれかを返される。
アプリケーションファクトリ４０は、接続先コンポーネントからの返り値がオブジェクトリファレンスであることを判断するとき、ステップ４９４（Ｓ４９４）の処理を行う。
ステップ４９４（Ｓ４９４）において、アプリケーションファクトリ４０は、接続元コンポーネントに対して、ステップ４８８（Ｓ４８８）で判断されたコネクション識別子およびあらかじめ取得した接続先コンポーネントのオブジェクトリファレンスを引数とするconnectPortメソッドを呼び出し、ステップ４２８（Ｓ４２８，図６）と同様の処理を行う。
【００５０】
[全体動作]
以下、図１に示した分散処理システム１の全体的な動作を説明する。
分散処理システム１において、ソフトウエア無線装置２−ｐ（ｐ≧１）は、ユーザの指示にともない、図３の分散処理プログラム３を実行することによって、ソフトウエア無線装置２−ｐで動作するコンポーネントｉ（ｉ≧１；接続元コンポーネント）を、ソフトウエア無線装置２−ｐで動作するコンポーネントｊ（ｊ≧１，ｉ≠ｊ；接続先コンポーネント）に接続させる。
分散処理プログラム３が実行されると、ソフトウエア無線装置２−ｐで動作するアプリケーションファクトリ４０−ｐは、適切な接続方式を判断するとともに、接続先コンポーネントｊに接続するための情報を取得し、判断した接続方式および取得した接続先コンポーネントｊの接続情報を用いて、コンポーネントｉをコンポーネントｊに接続する。
なお、コンポーネントｊは、ソフトウエア無線装置２−ｑ（ｑ≧１，ｐ≠ｑ）で動作してもかまわない。
【００５１】
以上説明したように、本発明に係る分散処理プログラム３においては、分散コンポーネントを接続する接続方式を判断し、その接続方式に応じた処理を行うようアプリケーションファクトリを動作させることによって、複数の接続方式に対応することができる。
【図面の簡単な説明】
【００５２】
【図１】図１は、本願に係る分散処理プログラムを実行する分散処理システムの構成を例示する図である。
【図２】図２は、図１に示したソフトウエア無線装置の構成を例示する図である。
【図３】図３は、図２のベースバンド部が実行する分散処理プログラムの構成を示す図である。
【図４】図４は、図３に示したアプリケーションファクトリの処理を示すフローチャートである。
【図５Ａ】図５Ａは、ステップ４０２（Ｓ４０２，図４）において基本接続方式を用いることが判断されたドメインプロファイルのうち、コネクション情報を例示する図である。
【図５Ｂ】図５Ｂは、ステップ４０２（Ｓ４０２，図４）においてSupportedInterface接続方式を用いることが判断されたドメインプロファイルのうち、コネクション情報を例示する図である。
【図５Ｃ】図５Ｃは、ステップ４０２（Ｓ４０２，図４）においてSupportedInterface接続方式を用いることが判断されたドメインプロファイルのうち、ＳＣＤを例示する図である。
【図５Ｄ】図５Ｄは、ステップ４０２（Ｓ４０２，図４）においてfindby（ネーミングサービス）接続方式を用いることが判断されたドメインプロファイルのうち、コネクション情報を例示する図である。
【図５Ｅ】図５Ｅは、ステップ４０２（Ｓ４０２，図４）においてfindby（ドメインファインダ）接続方式を用いることが判断されたドメインプロファイルのうち、コネクション情報を例示する図である。
【図５Ｆ】図５Ｆは、ステップ４０２（Ｓ４０２，図４）においてＤＴＬＴＣＲ接続方式を用いることが判断されたドメインプロファイルのうち、コネクション情報を例示する図である。
【図５Ｇ】図５Ｇは、ステップ４０２（Ｓ４０２，図４）においてＤＵＢＴＣＲ接続方式を用いることが判断されたドメインプロファイルのうち、コネクション情報を例示する図である。
【図６】図６は、図４に示した基本接続方式による接続処理（Ｓ４０４）を示すフローチャートである。
【図７】図７は、図４に示したSupportedInterface接続方式による接続処理（Ｓ４０６）を示すフローチャートである。
【図８】図８は、図４に示したfindby（ネーミングサービス）接続方式による接続処理（Ｓ４０８）を示すフローチャートである。
【図９】図９は、図４に示したfindby（ドメインファインダ）接続方式による接続処理（Ｓ４１０）を示すフローチャートである。
【図１０】図１０は、図４に示したＤＴＬＴＣＲ接続方式による接続処理（Ｓ４１２）を示すフローチャートである。
【図１１】図１１は、図４に示したＤＵＢＴＣＲ接続方式による接続処理（Ｓ４１４）を示すフローチャートである。
【符号の説明】
【００５３】
１・・・分散処理システム
１０・・・制御装置
１２・・・ネットワーク
２・・・ソフトウエア無線装置
２０・・・ＲＦ部
２００・・・アンテナ
２０２・・・ＲＦ部本体
２２・・・ベースバンド部
２２０・・・コーデック部
２２２・・・Ａ−Ｄ・Ｄ−Ａ変換部
２２４・・・メモリ
２２６・・・モデム部
２２８・・・ＤＳＰ
２３０・・・メモリ
２３２・・・制御部
２３４・・・ＬＡＮインターフェース
２３６・・・ＣＰＵ
２３８・・・メモリ
２４０・・・入出力装置
２４２・・・バス
３・・・分散処理プログラム
３０・・・コーデック部ＣＯＲＢＡアプリケーション
３２・・・Logical Device
３４・・・アダプタコンポーネント
３６・・・モデム部ＣＯＲＢＡアプリケーション
３８・・・ＨＣＩ
４０・・・アプリケーションファクトリ
４２・・・ドメインプロファイル
【図１】
2009223732.tif 000009
【図２】
2009223732.tif 000010
【図３】
2009223732.tif 000011
【図４】
2009223732.tif 000012
【図５Ａ】
2009223732.tif 000013
【図５Ｂ】
2009223732.tif 000014
【図５Ｃ】
2009223732.tif 000015
【図５Ｄ】
2009223732.tif 000016
【図５Ｅ】
2009223732.tif 000017
【図５Ｆ】
2009223732.tif 000018
【図５Ｇ】
2009223732.tif 000019
【図６】
2009223732.tif 000020
【図７】
2009223732.tif 000021
【図８】
2009223732.tif 000022
【図９】
2009223732.tif 000023
【図１０】
2009223732.tif 000024
【図１１】
2009223732.tif 000025