(57)【要約】【課題】ソフトウェアの動作に障害が生じたときに、現用の無線機から予備の無線機への切り替えを効率的に行って、通信不能状態を生じさせない。【解決手段】BackUp_System_Contは、全ての通信処理用ソフトウェアコンポーネントそれぞれのHeartBeat_Respに対して、定期的にポーリングをかけ、応答を要求する。BackUp_System_Contは、通常運用系のコンポーネントのいずれかからの応答が得られず、または、障害の発生が通知されると、通常運用系の通信手順を、バックアップ系の通信手順に継続して行わせ、通常運用系の動作を停止させ、バックアップ系に通信を行わせる。【選択図】図８
2010045497.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェアにより無線通信のための処理を行う第１の通信手段と、
ソフトウェアにより無線通信のための処理を行い、前記第１の無線通信手段の予備として用いられる無線通信を行う第２の通信手段と、
前記第１の通信手段のソフトウェアの動作が正常なときには、前記第１の通信手段を用いて無線通信を行い、これ以外のときには、前記第２の通信手段を用いて無線通信を行うように制御する通信制御手段と
を有するソフトウェア無線機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェア的に無線通信のための処理を行うソフトウェア無線機に関する。
【背景技術】
【０００２】
特許文献１，２は、ソフトウェア的に無線通信のための処理を行うソフトウェア無線機を開示する。
これらの内、特許文献１に開示されたソフトウェア無線機は、通常、ネットワークを介して接続された制御端末により制御され、ネットワークに障害が生じたときには、保守端末により制御され、障害が復旧したときには、制御端末の制御下に戻るように構成されている。
また、特許文献２に開示されたソフトウェア無線機は、ネットワークを介したソフトウェアの変更により、無線方式を変更可能に構成されている。
これらの特許文献に開示されたソフトウェア無線機は、ソフトウェアの動作に障害が生じたときに、現用の無線機から予備の無線機への切り替えを効率的に行い、通信不能状態が生じないように改良することが望まれる。
【特許文献１】特開２００８−１０４１４９号公報
【特許文献２】特開２００５−３９５５７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
本発明は、上述の背景からなされたものであって、ソフトウェアの動作に障害が生じたときに、現用の無線機から予備の無線機への切り替えを効率的に行うことができ、通信不能状態が生じさせないように改良されたソフトウェア無線機を提供することを目的とする。
【課題を解決するための手段】
【０００４】
上記目的を達成するために、本発明にかかるソフトウェア無線機は、ソフトウェアにより無線通信のための処理を行う第１の通信手段と、ソフトウェアにより無線通信のための処理を行い、前記第１の無線通信手段の予備として用いられる無線通信を行う第２の通信手段と、前記第１の通信手段のソフトウェアの動作が正常なときには、前記第１の通信手段を用いて無線通信を行い、これ以外のときには、前記第２の通信手段を用いて無線通信を行うように制御する通信制御手段とを有する。
【発明の効果】
【０００５】
本発明にかかるソフトウェア無線機によれば、ソフトウェアの動作に障害が生じたときに、現用の無線機から予備の無線機への切り替えを効率的に行うことができ、通信不能状態を生じさせない。
【発明を実施するための最良の形態】
【０００６】
[本願発明がなされるまでの経緯]
本願発明の実施形態の説明に先立ち、その理解を助けるために、本願発明がなされるに至った経緯を説明する。
様々な用途と様々なバンドに対応した無線システムを構築するために、ソフトウェア無線技術が使われている。
ソフトウェア無線機においては、無線通信を行うために必要な機能を細分化したハードウェアとソフトウェアとが。リソースとして扱われる。
リソースが、どのチャネルの情報を扱うようにするかは、統括コンピュータから受信される制御情報に従って制御され、無線通信の機能が実現される。
【０００７】
ソフトウェア無線機の分野には、ＳＣＡ(Software Communications Architecture)と呼ばれるというアーキテクチャが存在し、ＳＣＡにおいては、ミドルウェアのＣＯＲＢＡ(Common Object Request Broker Architecture)により、リソース間の通信が実現される。
このようなＣＯＲＢＡによるチャネルごとのリソース間通信は、ソフトウェアバスとも呼ばれる。
ソフトウェア無線技術によれば、複数の目的に利用可能なリソースを、ミドルウェアＣＯＲＢＡよって自由に配置することができる。
但し、ＳＣＡにおいては、リソース間通信がチャネルごとに行われる旨は決められてはおらず、通信のヘッダー部分削減のために、複数チャネルのデータをまとめた自作パケットを使用する方法も実例として存在する。
【０００８】
以上説明したソフトウェア無線機では、フェールセーフについて、ハードウェアのみならず、ソフトウェアがダウンした場合のことを考慮しなければならない。
つまり、ソフトウェア無線機においては、ソフトウェアが障害を起こした（ダウンした）ときのために、下記（１），（２）の事項が考慮されなければならない。
（１）障害発生時の通信不能を回避する必要がある；および
（２）通信手順に従った通信中の障害発生時には、障害発生前からの通信手順の継続、あるいは、通信手順の復帰が必要とされる。
【０００９】
通信のフェールセーフを実現するためには、以下のような方法が採られる。
上記「（１）障害発生時の通信不能の回避」のためには、通常使用される無線機に対して、予備の無線機を用意しておき、予備の無線機に対する設定を、常に、通常使用される無線機と同じに保っておく方法。
また、上記「（２）通信手順に従った通信中の障害発生」に対応するために、待機状態の無線機が、自動的に接続復帰を行うことにより、通信不能時間を減ずる。
【００１０】
上記２つの方法は、これまで、ハードウェア的な構成により実現され、でこのような仕組みがされていて、常に接続の復帰から始められてきたので、障害発生前の状態に戻すたに、の通信相手との間のネゴシエートのための時間が必要とされる。
また、さらに、障害発生前までに既に伝送されたテ一夕などの破棄が必要とされるので、伝送効率が下がってしまう。
【００１１】
一方、ソフトウェア無線機においては、ソフトウェア的な障害が発生しうるが、データ自体が破壊されるハードウェア的な障害からの復帰とは異なり、ソフトウェア的な障害の復旧のためには、ネゴシエートおよびデータの破棄は、原理的には必要とされない。
しかしながら、これまでは、ソフトウェア無線機のフェールセーフの実現のために、２台の無線機、あるいは２つの通信チャネルを使用可能な無線機の一方を待機系とするなどの方法が採られ、ソフトウェア的な障害も、ハードウェア的な障害と同じレベルの故障として対応されてきた。
本願発明にかかるソフトウェア無線機においては、以上説明したような事項が考慮され、ソフトウェア的な障害が発生したときでも、通信が続行されうるような工夫がなされている。
【００１２】
［実施形態の説明］
以下、本願発明の実施形態を説明する。
図１は、本願発明にかかるソフトウェア無線機１の構成を示す図である。
図１に示すように、ソフトウェア無線機１は、通常運用系ソフトウェア無線機１０、予備系ソフトウェア無線機１２、および、後述する通信処理用ソフトウェアコンポーネントから独立して実行されるハートビート＆バックアップ（Ｈ＆Ｂ）サービスソフトウェア１４から構成される。
通常運用系ソフトウェア無線機１０および予備系ソフトウェア無線機１２は、図１に点線で示すように、ＣＰＵ、ＤＳＰおよびメモリ（図示せず）などを含み、ソフトウェア的に通信処理を行う処理回路、無線通信のための高周波回路（ＲＦ）１００−１，１００−２、および、イーサネット（登録商標）を用いたＬＡＮなどとの間でデータの入出力を行うＥｔｈｅｒ＿ＩＦデバイス１０８などをハードウェアとして含む。
なお、以下、ＲＦ１００−１，１００−２など、複数ありうる構成部分のいずれかを、特定せずに示すときには、単にＲＦ１００などと記載することがある。
【００１３】
また、通常運用系ソフトウェア無線機１０および予備系ソフトウェア無線機１２は、図１に実線で示すように、ＣＯＲＢＡなどにより実現されるバックアップシステム（ＢＳ）専用ソフトウェアバス１１０およびデータ制御専用ソフトウェアバス１１２を介して接続されたモデムコンポーネント１０２−１，１０２−２、リンク＆ネットワーク（Ｌ＆Ｎ）コンポーネント１０４−１，１０４−２および入出力コンポーネント１０６を、通信処理用ソフトウェアコンポーネントとして含む。
なお、ソフトウェア無線機１のソフトウェア構成部分（ＢＳ専用ソフトウェアバス１１０、データ制御専用ソフトウェアバス１１２、Ｈ＆Ｂサービスソフトウェア、モデムコンポーネント１０２−１，１０２−２、Ｌ＆Ｎコンポーネント１０４−１，１０４−２および入出力コンポーネント１０６）は、ＣＤなどの記録媒体を介して、あるいは、ネットワークからソフトウェア無線機１に供給され、上記処理回路のメモリにロードされ、処理回路により実行されるＣＴＲＯＮなどのＯＳ（図示せず）上で、ソフトウェア無線機１のハードウェアを具体的に利用して実行される。
【００１４】
ソフトウェア無線機１において、通常運用系ソフトウェア無線機１０および予備系ソフトウェア無線機１２は、それぞれＲＦ１００を有する。
また、通常運用系ソフトウェア無線機１０および予備系ソフトウェア無線機１２は、Ｅｔｈｅｒ＿ＩＦデバイス１０８を、ソフトウェア的な処理により２重化して共有する。
データ制御専用ソフトウェアバス１１２は、通信用ソフトウェアコンポーネント間のデータの入出力および動作の制御のために用いられる。
ＢＳ専用ソフトウェアバス１１０は、Ｈ＆Ｂサービスソフトウェアと、通常運用系ソフトウェア無線機１０および予備系ソフトウェア無線機１２の全ての通信用ソフトウェアコンポーネントそれぞれとの間の通信のために用いられる。
【００１５】
Ｈ＆Ｂサービスソフトウェアは、通常運用系ソフトウェア無線機１０に障害が発生していない通常運用のときには、通常運用系ソフトウェア無線機１０を用いて通信を行い、予備系ソフトウェア無線機１２の各ソフトウェアコンポーネントを、起動状態だが無線通信の処理を行わず、処理したデータを他のソフトウェアコンポーネントに対して出力しない待機状態にするように、ソフトウェア無線機１の動作を制御する。
また、Ｈ＆Ｂサービスソフトウェアは、通常運用系ソフトウェア無線機１０に障害が発生したバックアップ運用のときには、通常運用系ソフトウェア無線機１０から予備系ソフトウェア無線機１２に通信用の無線機を切り替え、予備系ソフトウェア無線機１２を用いて通信を行うように、ソフトウェア無線機１の動作を制御する。
ソフトウェア無線機１は、これらの構成部分により、通信相手のソフトウェア無線機（図示せず）との間で、無線通信回線を介したデータの伝送を行う。
なお、以下、各図において、実質的に同じ構成部分および処理には、同じ符号が付される。
【００１６】
図２は、図１に示したソフトウェア無線機１が通常運用されているときのデータの流れを示す図であって、（Ａ）は、送信時のデータの流れを示し、（Ｂ）は、受信時のデータの流れを示す。
ソフトウェア無線機１が通常運用されているときには、図２（Ａ），（Ｂ）に示すように、通常運用系ソフトウェア無線機１０のソフトウェアコンポーネントが、データ制御専用ソフトウェアバス１１２を介してデータの入出力および動作の制御を行って、データの送信処理および受信処理の両方を行う。
このとき、予備系ソフトウェア無線機１２のソフトウェアコンポーネントは、上述のように、起動状態とされるが、入出力コンポーネント１０６から送信用のデータが入力されないので、送信処理を行わず、ＲＦ１００−２が受信したデータが入力されないので、受信処理も行わない。
【００１７】
通常運用されているソフトウェア無線機１において、通常運用系ソフトウェア無線機１０のモデムコンポーネント１０２−１は、ＲＦ１００−１およびＬ＆Ｎコンポーネント１０４−１との間のデータの入出力、および、無線通信のための変調処理および復調処理を行う。
さらに、Ｌ＆Ｎコンポーネント１０４は、データの伝送が、通信手順を含む通信方式により行われるときには、この通信手順を実現するための処理を行う。
入出力コンポーネント１０６は、Ｌ＆Ｎコンポーネント１０４およびＥｔｈｅｒ＿ＩＦデバイス１０８との間でデータの入出力を行う。
【００１８】
図３は、図１に示したＨ＆Ｂサービスソフトウェアと通信処理用ソフトウェアコンポーネントとの間のＢＳ専用ソフトウェアバス１１０を介した通信処理を示す図である。
Ｈ＆Ｂサービスソフトウェアは、ＢＳ専用ソフトウェアバス１１０を介して、通常運用系ソフトウェア無線機１０および予備系ソフトウェア無線機１２の全ての通信処理用ソフトウェアコンポーネントそれぞれに対して、例えば、１００ｍ秒ごとにポーリングを行い、通信処理用コンポーネントそれぞれからの応答を得て、これらそれぞれが正常に動作しているか否かを監視する（ハートビート処理；死活監視および異常情報）。
【００１９】
なお、ＢＳ専用ソフトウェアバス１１０とデータ制御専用ソフトウェアバス１１２とが別々に設けられている理由は、下記［理由１］，［理由２］として示す通りである。
［理由１］Ｈ＆Ｂサービスソフトウェアによる通常運用系ソフトウェア無線機１０およびおよび予備系ソフトウェア無線機１２に対する制御を、ＢＳ専用ソフトウェアバス１１０を介して行うことにより、通信処理および障害に起因するデータ制御専用ソフトウェアバス１１２の占有、あるいは、障害に起因するトラブルから、バックアップ運用のために必要とされる制御を保護する。
［理由２］Ｈ＆Ｂサービスソフトウェアを、ソフトウェア無線機１の開始後に、ソフトウェア無線機１に後付けできるようにする。
【００２０】
なお、ソフトウェア無線機１によるデータ伝送が、通信手順を有する通信方式により行われるときには、Ｈ＆Ｂサービスソフトウェアは、通常運用系ソフトウェア無線機１０と予備系ソフトウェア無線機１２との間で、通信手順のための処理を同期させることにより、通常運用系ソフトウェア無線機１０がダウンしたときに、予備系ソフトウェア無線機１２に、データ伝送を即時に継続して行わせることができる。
従って、ソフトウェア無線機１においては、通常運用系ソフトウェア無線機１０に障害が生じたときにでも、通信手順を、最初の接続手順からやり直す必要がないので、通常運用からバックアップ運用への切り替えの際のネゴシエーションが不要とされる。
また、ソフトウェア無線機１においては、データ自体が破壊されていないときには、障害発生以前に伝送されたデータの破棄も不要となる。
【００２１】
図４は、図１に示したＨ＆Ｂサービスソフトウェアによる通常運用系ソフトウェア無線機１０と予備系ソフトウェア無線機１２との間の通信手順の同期処理（Ｓ１０）を示すフローチャートである。
図４に示すように、通常運用系ソフトウェア無線機１０（図１）のＬ＆Ｎコンポーネント１０４−１と、予備系ソフトウェア無線機１２のＬ＆Ｎコンポーネント１０４−２との間で、状態変数による状態の通知が行われる。
さらに、Ｈ＆Ｂサービスソフトウェアは、以下に示すように、状態変数が示すいずれの通信手順から、通信処理を継続するかを適切に判断する。
【００２２】
ステップ１００（Ｓ１００）において、Ｈ＆Ｂサービスソフトウェアは、ソフトウェア無線機１をバックアップ運用に移行させ、予備系ソフトウェア無線機１２による通信を開始させる。
ステップ１０２（Ｓ１０２）において、Ｈ＆Ｂサービスソフトウェアは、ソフトウェア無線機１による通信が、回線接続後の状態であるか否かを判断する。
Ｈ＆Ｂサービスソフトウェアは、回線接続後のときにはＳ１０４の処理に進み、これ以外のときにはＳ１２０の処理に進む。
【００２３】
ステップ１０４（Ｓ１０４）において、Ｈ＆Ｂサービスソフトウェアは、ソフトウェア無線機１による通信がデータ伝送中であるか否かを判断する。
Ｈ＆Ｂサービスソフトウェアは、データ伝送中の時にはＳ１０６の処理に進み、これ以外のときにはＳ１０８の処理に進む。
ステップ１０６（Ｓ１０６）において、Ｈ＆Ｂサービスソフトウェアは、データ伝送の継続が可能であるか否かを判断する。
Ｈ＆Ｂサービスソフトウェアは、データ伝送の継続が可能なときにはＳ１０８の処理に進み、これ以外のときにはＳ１１０の処理に進む。
【００２４】
ステップ１０８（Ｓ１０８）において、Ｈ＆Ｂサービスソフトウェアは、通常運用からバックアップ運用に移行するようにソフトウェア無線機１を制御し、状態変数に従って予備系ソフトウェア無線機１２に通信処理を始めさせる。
ステップ１１０（Ｓ１１０）において、Ｈ＆Ｂサービスソフトウェアは、データがブロック単位で伝送されるか否かを判断する。
Ｈ＆Ｂサービスソフトウェアは、データがブロック単位で伝送されるときにはＳ１１６の処理に進み、これ以外のときにはＳ１１６の処理に進む。
ステップ１１２（Ｓ１１２）において、Ｈ＆Ｂサービスソフトウェアは、データのブロックを再送可能か否かを判断する。
Ｈ＆Ｂサービスソフトウェアは、データのブロックを再送可能なときにはＳ１１４の処理に進み、これ以外のときにはＳ１２６の処理に進む。
【００２５】
ステップ１１４（Ｓ１１４）において、Ｈ＆Ｂサービスソフトウェアは、再送可能なデータのブロックを送信する。
ステップ１１６（Ｓ１１６）において、Ｈ＆Ｂサービスソフトウェアは、データを最初から再送可能か否かを判断する。
Ｈ＆Ｂサービスソフトウェアは、データを最初から再送可能なときにはＳ１１８の処理に進み、これ以外のときにはＳ１２６の処理に進む。
ステップ１１８（Ｓ１１８）において、Ｈ＆Ｂサービスソフトウェアは、予備系ソフトウェア無線機１２を制御し、データを最初から再送させる。
【００２６】
ステップ１２０（Ｓ１２０）において、Ｈ＆Ｂサービスソフトウェアは、ソフトウェア無線機１が通信相手と回線接続されているか否かを判断する。
Ｈ＆Ｂサービスソフトウェアは、回線接続されているときにはＳ１２２の処理に進み、これ以外のときにはＳ１２８の処理に進む。
ステップ１２２（Ｓ１２２）において、Ｈ＆Ｂサービスソフトウェアは、回線接続の継続が可能か否かを判断する。
Ｈ＆Ｂサービスソフトウェアは、回線接続の継続が可能なときにはＳ１３０の処理に進み、回線接続の継続が不可能なときにはＳ１２４の処理に進み、これ以外のときにはＳ１２６の処理に進む。
【００２７】
ステップ１２４（Ｓ１２４）において、Ｈ＆Ｂサービスソフトウェアは、回線接続手続をやり直すことができるか否かを判断する。
Ｈ＆Ｂサービスソフトウェアは、回線接続手続のやり直しが可能なときにはＳ１３２の処理に進み、これ以外のときにはＳ１２６の処理に進む。
ステップ１２６（Ｓ１２６）において、Ｈ＆Ｂサービスソフトウェアは、ソフトウェア無線機１と通信相手の回線を切り（クリアし）、Ｓ１２８の処理に進む。
【００２８】
ステップ１２８（Ｓ１２８）において、ソフトウェア無線機１は、予備系ソフトウェア無線機１２を制御して、通信相手との回線接続処理を行わせる。
ステップ１３０（Ｓ１３０）において、Ｈ＆Ｂサービスソフトウェアは、予備系ソフトウェア無線機１２を制御して、回線接続を継続させる。
ステップ１３２（Ｓ１３２）において、Ｈ＆Ｂサービスソフトウェアは、予備系ソフトウェア無線機１２を制御し、ソフトウェア無線機１の通信相手との回線接続手順を行わせる。
【００２９】
図５は、バックアップシステムを統括するＨ＆ＢサービスソフトウェアのBackUp_System_Cntの構造を示す図である。
図５に示すように、バックアップシステムを統括するBackUp_System_Cntは、予備系ソフトウェア無線機１２の通信処理用ソフトウェアコンポーネントが継承するＣＯＲＢＡインタフェース(HeartBeat_Respなど)を実行することによって、通常運用とバックアップ運用とにおいて、通常運用系ソフトウェア無線機１０と予備系ソフトウェア無線機１２とを切り替えるソフトウェア構造を採る。
なお、以下の表１〜１６に、図５に示したＣＯＲＢＡインターフェースのメソッドと属性、および、これらが用いる例外と型定義の記述を示す。
【００３０】
【表１】
2010045497.tif 000003
【００３１】
【表２】
2010045497.tif 000004
【００３２】
【表３】
2010045497.tif 000005
【００３３】
【表４】
2010045497.tif 000006
【００３４】
【表５】
2010045497.tif 000007
【００３５】
【表６】
2010045497.tif 000008
【００３６】
【表７】
2010045497.tif 000009
【００３７】
【表８】
2010045497.tif 000010
【００３８】
【表９】
2010045497.tif 000011
【００３９】
【表１０】
2010045497.tif 000012
【００４０】
【表１１】
2010045497.tif 000013
【００４１】
【表１２】
2010045497.tif 000014
【００４２】
【表１３】
2010045497.tif 000015
【００４３】
【表１４】
2010045497.tif 000016
【００４４】
【表１５】
2010045497.tif 000017
【００４５】
【表１６】
2010045497.tif 000018
【００４６】
図６は、ソフトウェア無線機１の動作を示す図であって、（Ａ）は、通常運用における動作を示し、（Ｂ）は、障害発生時の動作を示し、（Ｃ）は、バックアップ運用における動作を示す。
通常運用のときには、ソフトウェア無線機１において、Ｈ＆ＢサービスソフトウェアのBuckUp_System_Cntは、図６（Ａ）に示すように、通常運用系ソフトウェア無線機１０および予備系ソフトウェア無線機１２の通信処理用ソフトウェアコンポーネントそれぞれをポーリングし、死活監視を行う。
【００４７】
通常運用系ソフトウェア無線機１０の通信処理用ソフトウェアコンポーネントのいずれかに障害が生じると、Ｈ＆Ｂサービスソフトウェアは、通常運用系ソフトウェア無線機１０の通信処理用ソフトウェアコンポーネントのポーリングに対する無応答、あるいは、通常運用系ソフトウェア無線機１０の通信処理用ソフトウェアコンポーネントによるＨ＆Ｂサービスソフトウェアへの障害の報告(SystemHealth_Ch9::BuckUp_System_Cntへのアクセス)が生じ、Ｈ＆Ｂサービスソフトウェアは、通常運用系ソフトウェア無線機１０における障害を検出する。
障害を検出すると、Ｈ＆ＢサービスソフトウェアのBuckUp_System_Cntは、図４に示した処理を行い、図６（Ｃ）に示すように、BuckUp_System_Cntによる通常運用系ソフトウェア無線機１０および予備系ソフトウェア無線機１２の通信処理用ソフトウェアコンポーネントに対する制御により、ソフトウェア無線機１をバックアップ運用状態に移行させる。
図６（Ｃ）に示したバックアップ運用状態においては、Ｈ＆Ｂサービスソフトウェアは、通常運用系ソフトウェア無線機１０を待機状態とし、ＲＦ１００−１による信号の送受信を停止させる。
さらに、Ｈ＆Ｂサービスソフトウェアは、ＲＦ１００−２による信号の送受信を開始させ、予備系ソフトウェア無線機１２を制御してデータ伝送を行わせる。
【００４８】
図７〜図９は、ソフトウェア無線機１の構成部分間におけるデータの流れを示す第１〜第３のシーケンス図であって、図７は、ソフトウェア無線機１の運用開始時のＣＯＲＢＡインターフェース間の呼び出し実行フロー（Ｓ２０）を示し、図８は、通常運用からバックアップ運用に移行する際のＣＯＲＢＡインターフェース間の呼び出し実行フロー（Ｓ２４）を示し、図９は、バックアップ運用から通常運用に戻る際のＣＯＲＢＡインターフェース間の呼び出し実行フロー（Ｓ２６）を示す。
まず、図７を参照して、ソフトウェア無線機１の運用開始時のＣＯＲＢＡインターフェース間の呼び出し実行処理を説明する。
図７に示すように、ステップ２００（Ｓ２００）において、アプリケーションファクトリ(Application Factory)は、ソフトウェア無線機１の各構成部分に対して、ＳＣＡあるいは独自の運用開始手段に従った指示を出し、Ｈ＆Ｂサービスソフトウェアおよび通信用ソフトウェアコンポーネントの交換、起動および動作パラメータの設定を行う。
【００４９】
ステップ２０２（Ｓ２０２）において、アプリケーションファクトリ(Application Factory)は、Ｈ＆ＢサービスソフトウェアのBackUp_System_Contに対して、通常運用またはバックアップ運用のためのオブジェクトの参照（リファレンス）を指示する。
ステップ２０４（Ｓ２０４）において、Ｈ＆ＢサービスソフトウェアのBackUp_System_Contは、通常運用系ソフトウェア無線機１０のモデムコンポーネント１０２−１に対して、通常運用のための処理を行うように指示(Direct_Role)し、モデムコンポーネント１０２−１は、この指示に従って処理を開始する。
ステップ２０６（Ｓ２０６）において、Ｈ＆ＢサービスソフトウェアのBackUp_System_Contは、予備系ソフトウェア無線機１２のモデムコンポーネント１０２−２に対して、バックアップ運用に備えた待機状態となるための処理を行うように指示し、モデムコンポーネント１０２−２は、この指示に従って処理を開始する。
【００５０】
ステップ２０８（Ｓ２０８）において、Ｈ＆ＢサービスソフトウェアのBackUp_System_Contは、通常運用系ソフトウェア無線機１０のＬ＆Ｎコンポーネント１０４−１に対して、予備系ソフトウェア無線機１２のＬ＆Ｎコンポーネント１０４−２に同期パラメータ（状態変数）の引き渡し(Sync_On；予備系ソフトウェア無線機１２のＬ＆Ｎコンポーネント１０４−２による通常運用系ソフトウェア無線機１０のＬ＆Ｎコンポーネント１０４−１のオブジェクトリファレンス)を開始させる。
ステップ２１０（Ｓ２１０）において、アプリケーションファクトリ(Application Factory)は、Ｈ＆ＢサービスソフトウェアのBackUp_System_Contに対して、通常運用系ソフトウェア無線機１０および予備系ソフトウェア無線機１２の全ての通信処理用ソフトウェアコンポーネントに対するポーリングおよび死活監視（全コンポーネントのオブジェクトリファレンス）を開始させる(Heart_Beat_On)。
【００５１】
ステップ２１２（Ｓ２１２）において、Ｈ＆ＢサービスソフトウェアのBackUp_System_Contは、通常運用系ソフトウェア無線機１０および予備系ソフトウェア無線機１２の全ての通信処理用ソフトウェアコンポーネントのHeart_Beat_Respに対してポーリングをかけ、応答を要求する(Replyをコールする)。
ステップ２１４（Ｓ２１４）において、Ｈ＆ＢサービスソフトウェアのBackUp_System_Contは、ＣＯＲＢＡイベントクラスを使用し、BackUpEventのオブジェクトを生成し、サービスチャネルとする。
【００５２】
ステップ２１６（Ｓ２１６）において、アプリケーションファクトリ(Application Factory)は、Ｈ＆ＢサービスソフトウェアのBackUp_System_Contに対して、ログの初期化(BackUp_Log_Init)を指示し、Ｈ＆ＢサービスソフトウェアのBackUp_System_Contは、ログを初期化する。
ステップ２１８（Ｓ２１８）において、アプリケーションファクトリ(Application Factory)は、通常運用系ソフトウェア無線機１０および予備系ソフトウェア無線機１２の全ての通信処理用ソフトウェアコンポーネントに対して、Ｓ２００の処理の続きを指示する。
通常運用系ソフトウェア無線機１０および予備系ソフトウェア無線機１２の全ての通信処理用ソフトウェアコンポーネントは、この指示に応じて、ソフトウェア無線機１の運用を開始する。
【００５３】
ステップ２２０（Ｓ２２０）以降において、通常運用系ソフトウェア無線機１０のＬ＆Ｎコンポーネント１０４−１は、同期パラメータに変更が生じるたびにSyncParameter_Setを実行し、予備系ソフトウェア無線機１２のＬ＆Ｎコンポーネント１０４−２に同期パラメータ（状態変数）を伝える。
また、Ｈ＆ＢサービスソフトウェアのBackUp_System_Contは、定期的に、通常運用系ソフトウェア無線機１０および予備系ソフトウェア無線機１２の全ての通信処理用ソフトウェアコンポーネントのHeart_Beat_Respに対してポーリングをかけ、応答を要求する（Ｓ２１２）。
【００５４】
次に、図８を参照して、通常運用からバックアップ運用に移行する際のＣＯＲＢＡインターフェース間の呼び出し実行処理を説明する。
図８に示すように、ステップ２４０（Ｓ２４０）において、Ｈ＆ＢサービスソフトウェアのBackUp_System_Contは、通常運用系ソフトウェア無線機１０および予備系ソフトウェア無線機１２の全ての通信処理用ソフトウェアコンポーネントそれぞれのHeartBeat_Respに対して、定期的にポーリングをかけ、応答を要求する(Replyをコールする)。
ステップ２４２（Ｓ２４２）において、Ｈ＆ＢサービスソフトウェアのBackUp_System_Contは、通常運用系ソフトウェア無線機１０の通信処理用ソフトウェアコンポーネントのいずれかからの応答が得られず、または、障害の発生(異常情報＝false)が返される。
【００５５】
ステップ２４４（Ｓ２４４）において、上位ソフトは、Ｈ＆ＢサービスソフトウェアのBackUp_System_Contに対して、バックアップ運用に移行することを指示する。
この指示に応じて、Ｈ＆ＢサービスソフトウェアのBackUp_System_Contは、ソフトウェア無線機１を、バックアップ運用に移行させるための処理を開始する。
【００５６】
ステップ２４６（Ｓ２４６）において、Ｈ＆ＢサービスソフトウェアのBackUp_System_Contは、予備系ソフトウェア無線機１２のＬ＆Ｎコンポーネント１０４−２のProtocol_Syncに対して、通信手順の同期した通信の引継ぎを指示する。
Ｌ＆Ｎコンポーネント１０４−１は、この指示に応じて、Ｌ＆Ｎコンポーネント１０４−２に対して、通信の引継ぎのための処理を開始する。
ステップ２４８（Ｓ２４８）において、Ｈ＆ＢサービスソフトウェアのBackUp_System_Contは、通常運用系ソフトウェア無線機１０のの入出力コンポーネント１０６−１に対して、予備系ソフトウェア無線機１２の入出力コンポーネント１０６−２に対してデータを出力するように指示する。
この指示に応じて、Ｌ＆Ｎコンポーネント１０４−１は、Ｌ＆Ｎコンポーネント１０４−２に対して、データを出力する。
【００５７】
ステップ２５０（Ｓ２５０）において、Ｈ＆ＢサービスソフトウェアのBackUp_System_Contは、通常運用系ソフトウェア無線機１０のＲＦ１００−１を制御して、通信相手との間の信号の送信および受信を停止させる。
ステップ２５２（Ｓ２５２）において、Ｈ＆ＢサービスソフトウェアのBackUp_System_Contは、予備系ソフトウェア無線機１２のモデムコンポーネント１０２−２、Ｌ＆Ｎコンポーネント１０４−２および入出力コンポーネント１０６に対して、バックアップ運用の開始を指示する(BackUpStart)。
この指示に応じて、予備系ソフトウェア無線機１２のこれらの通信処理用ソフトウェアコンポーネントは、バックアップ運用のための処理を開始する。
【００５８】
ステップ２５４（Ｓ２５４）において、Ｈ＆ＢサービスソフトウェアのBackUp_System_Contは、上位ソフトに対して、バックアップ運用の開始を示すメッセージを送る(BackUpEvent)。
ステップ２５６（Ｓ２５６）において、Ｈ＆ＢサービスソフトウェアのBackUp_System_Contは、ログにバックアップ開始を記録する(BackUp_Log_Write)。
以上の処理以降、ソフトウェア無線機１は、バックアップ運用の状態となる。
【００５９】
以下、図９を参照して、バックアップ運用から通常運用に戻る際のＣＯＲＢＡインターフェース間の呼び出し実行処理を説明する。
図９に示すように、ステップ２６０（Ｓ２６０）において、Ｈ＆ＢサービスソフトウェアのBackUp_System_Contは、定期的なＳ２４０（図８）の処理に応じて、通常運用系ソフトウェア無線機１０の全ての通信処理用ソフトウェアコンポーネントから、障害を生じていない旨の応答（異常情報＝true）を得る。
ステップ２６２（Ｓ２６２）において、上位ソフトは、Ｈ＆ＢサービスソフトウェアのBackUp_System_Contに対して、ソフトウェア無線機１を通常運用の状態に移行させることを指示する。
【００６０】
ステップ２６４（Ｓ２６４）において、Ｈ＆ＢサービスソフトウェアのBackUp_System_Contは、予備系ソフトウェア無線機１２のＬ＆Ｎコンポーネント１０４−２に対して、通常運用系ソフトウェア無線機１０のＬ＆Ｎコンポーネント１０４−２に、同期パラメータ（状態変数）の引継ぎを指示する。
ステップ２６６（Ｓ２６６）において、この指示に応じて、Ｌ＆Ｎコンポーネント１０４−２は、Ｌ＆Ｎコンポーネント１０４−１に対して、同期パラメータを出力し、引継ぎを行う。
ステップ２６８（Ｓ２６８）において、Ｈ＆ＢサービスソフトウェアのBackUp_System_Contは、通常運用系ソフトウェア無線機１０のＬ＆Ｎコンポーネント１０４−１に対して、通信手順の同期した通信の引継ぎを指示する。
この指示に応じて、Ｌ＆Ｎコンポーネント１０４−１は、通信を引き継ぐための処理を行う。
【００６１】
ステップ２７０（Ｓ２７０）において、Ｈ＆ＢサービスソフトウェアのBackUp_System_Contは、予備系ソフトウェア無線機１２の入出力コンポーネント１０６−２に対して、通常運用系ソフトウェア無線機１０の入出力コンポーネント１０６−１に、ソフトウェア無線機１の通信相手との通信により得られたデータを出力するように指示する。
ステップ２７２（Ｓ２７２）において、Ｈ＆ＢサービスソフトウェアのBackUp_System_Contは、予備系ソフトウェア無線機１２のＲＦ１００−２を制御して、通信相手との間のデータの送信および受信を停止させる。
ステップ２７４（Ｓ２７４）において、Ｈ＆ＢサービスソフトウェアのBackUp_System_Contは、通常運用系ソフトウェア無線機１０および予備系ソフトウェア無線機１２のモデムコンポーネント１０２−１，１０２−２、Ｌ＆Ｎコンポーネント１０４−１，１０４−２および入出力コンポーネント１０６−１および入出力コンポーネント１０６に対して、通常運用系ソフトウェア無線機１０が通信を行うように指示し(ReturnTo_Main)、予備系ソフトウェア無線機１２が予備状態に移行するように指示する(BackUpStop)。
通常運用系ソフトウェア無線機１０および予備系ソフトウェア無線機１２は、これらの指示に従って、それぞれ、通信を開始し、予備状態に移行する。
【００６２】
ステップ２７６（Ｓ２７６）において、Ｈ＆ＢサービスソフトウェアのBackUp_System_Contは、上位ソフトに対して、通常運用を開始した旨のメッセージ(BackUpEvent)を通知する。
ステップ２７８（Ｓ２７８）において、Ｈ＆ＢサービスソフトウェアのBackUp_System_Contは、ログに、通常運用復帰を記録する(BackUp_Log_Write)。
以上の処理以降、ソフトウェア無線機１は、通常運用状態に移行して通信を行う。
【００６３】
ソフトウェア無線機１は、以上説明したように構成されているので、以下に示す技術的長所（１）〜（４）を有する。
（１）通信方式に通信手順があるなしに関わらずフェールセーフを行える。
（２）通信方式に通信手順があるときであっても、ソフトウェアダウン時の通信断時間を従来より短くできる。
（３）通信方式に通信手順がある場合に、ソフトウェアダウンの際の通信断に起因するデータの損失を、従来より少なくできる。
（４）フレームワークであるので、バックアップ制御用のソフトウェア再利用性が高い。
【産業上の利用可能性】
【００６４】
本発明は，ソフトウェア無線機に利用可能である。
【図面の簡単な説明】
【００６５】
【図１】本願発明にかかるソフトウェア無線機の構成を示す図である。
【図２】図１に示したソフトウェア無線機が通常運用されているときのデータの流れを示す図であって、（Ａ）は、送信時のデータの流れを示し、（Ｂ）は、受信時のデータの流れを示す。
【図３】図１に示したハートビート＆バックアップサービスソフトウェアと通信処理用ソフトウェアコンポーネントとの間のＢＳ専用ソフトウェアバスを介した通信処理を示す図である。
【図４】図１に示したハートビート＆バックアップサービスソフトウェアによる通常運用系ソフトウェア無線機と予備系ソフトウェア無線機との間の通信手順の同期処理（Ｓ１０）を示すフローチャートである。
【図５】バックアップシステムを統括するハートビート＆バックアップサービスソフトウェアのBackUp_System_ContのBackUp_System_Cntの構造を示す図である。
【図６】ソフトウェア無線機１の動作を示す図であって、（Ａ）は、通常運用における動作を示し、（Ｂ）は、障害発生時の動作を示し、（Ｃ）は、バックアップ運用における動作を示す。
【図７】ソフトウェア無線機の構成部分間におけるデータの流れを示す第１のシーケンス図である。
【図８】ソフトウェア無線機の構成部分間におけるデータの流れを示す第２のシーケンス図である。
【図９】ソフトウェア無線機の構成部分間におけるデータの流れを示す第３のシーケンス図である。
【符号の説明】
【００６６】
１・・・ソフトウェア無線機，
１０・・・通常運用系ソフトウェア無線機，
１２・・・予備系ソフトウェア無線機，
１００・・・ＲＦ，
１０２・・・モデムコンポーネント，
１０４・・・リンク＆ネットワーク（Ｌ＆Ｎ）コンポーネント，
１０６・・・入出力コンポーネント，
１０８・・・Ｅｔｈｅｒ＿ＩＦデバイス，
１１０・・・バックアップシステム（ＢＳ）専用ソフトウェアバス，
１１２・・・データ制御専用ソフトウェアバス，
【図１】
2010045497.tif 000019
【図２】
2010045497.tif 000020
【図３】
2010045497.tif 000021
【図４】
2010045497.tif 000022
【図５】
2010045497.tif 000023
【図６】
2010045497.tif 000024
【図７】
2010045497.tif 000025
【図８】
2010045497.tif 000026
【図９】
2010045497.tif 000027