(57)【特許請求の範囲】
【請求項１】
第１の稼働系フラッシュメモリ、第１の待機系フラッシュメモリ、第１の一時メモリ、第１のＲＡＭ、及び更新情報管理手段を含むシステム制御用の第１の演算手段と、それぞれが、第２の稼働系フラッシュメモリ、第２の待機系フラッシュメモリ、第２の一時メモリ、及び第２のＲＡＭを含む１つ以上の第２の演算手段とを有し、更新情報管理手段が、第１及び総ての第２の稼働系フラッシュメモリに記憶されているプログラムの更新情報を保持している通信装置が、他の通信装置からプログラムをダウンロードする方法において、
第１の演算手段が、前記他の通信装置から受信した、第１及び総ての第２の演算手段用のプログラムを１つのモジュールとした統合モジュールを第１の一時メモリに記憶する第１のステップと、
前記統合モジュールに含まれる第１の演算手段用プログラムの更新情報が、第１の稼働系フラッシュメモリに記憶されているプログラムの更新情報よりも新しい場合、第１の演算手段が、該第１の演算手段用プログラムを、第１の一時記憶メモリから第１の稼働系フラッシュメモリへ記憶する第２のステップと、
前記統合モジュールに含まれる第２の演算手段用プログラムの更新情報が、該第２の演算手段の第２の稼働系フラッシュメモリに記憶されているプログラムの更新情報よりも新しい場合、第１の演算手段が、該第２の演算手段用プログラムを、該第２の演算手段の第２の一時メモリへ送信する第３のステップと、
第２の演算手段が、該第２の演算手段の第２の一時メモリに記憶された第２の演算手段用プログラムを、該第２の演算手段の第２の稼働系フラッシュメモリに記憶する第４のステップと、
を備えており、
第１及び総ての第２の待機系フラッシュメモリは、確実に動作可能な当初バージョンのプログラムを記憶しており、
第１の演算手段は、各第２の稼働系フラッシュメモリに記憶されたプログラムの更新情報を周期的に収集し、更新情報管理手段が管理している更新情報と、収集した更新情報とが一致しない場合には、その履歴情報を記録するとともに、
ダウンロード完了後の経過時間が一定時間以内であれば、第１及び総ての第２の稼働系フラッシュメモリの情報を破棄して第１及び総ての第２の演算手段のリセットを実行し、リセット後、第１及び各第２の演算手段は、含んでいる第１又は第２の待機系フラッシュメモリのプログラムを、含んでいる第１又は第２のＲＡＭに記憶して実行し、
ダウンロード完了後の経過時間が一定時間を越えていれば、第１及び総ての第２の演算手段のリセットを実行し、リセット後、第１及び各第２の演算手段は、含んでいる第１又は第２の稼働系フラッシュメモリのプログラムを、含んでいる第１又は第２のＲＡＭに記憶して実行する、
ことを特徴とする方法。
【請求項２】
前記通信装置は無線基地局装置であり、前記他の通信装置は監視制御装置であり、第１の演算手段はシステム制御用演算手段であり、第２の演算手段は上り信号制御用演算手段と下り信号制御用演算手段であることを特徴とする請求項１に記載の方法。
【請求項３】
前記第１のステップ中に、
前記他の通信装置から中止指示を受信した場合、転送中のシーケンス異常によって前記統合モジュールの転送が失敗した場合、又は前記第１の演算手段のリセットによってダウンロードが失敗した場合、第１の演算手段は、受信した前記統合モジュールを破棄することを特徴とする請求項１又は２に記載の方法。
【請求項４】
前記第２のステップ中に、
メモリ異常によって第１の稼働系フラッシュメモリへの書込みが失敗した場合、第１及び総ての第２の稼働系フラッシュメモリに記憶されているプログラムを破棄し、
第１の演算手段のリセットによって第１の稼働系フラッシュメモリへの書込みが失敗した場合、第１及び総ての第２の稼働系フラッシュメモリに記憶されているプログラムを破棄し、第１の演算手段及び総ての第２の演算手段のリセットを実行することを特徴とする請求項１から３のいずれか１項に記載の方法。
【請求項５】
前記第３のステップ中に、
転送中のシーケンス異常によって第２の演算手段の第２の一時メモリへの書込みが失敗した場合、第１及び総ての第２の稼働系フラッシュメモリに記憶されているプログラムを破棄し、
第１の演算手段又は第２の演算手段のリセットによって第２の演算手段の第２の一時メモリへの書込みが失敗した場合、第１及び総ての第２の稼働系フラッシュメモリに記憶されているプログラムを破棄し、第１の演算手段及び総ての第２の演算手段のリセットを実行することを特徴とする請求項１から４のいずれか１項に記載の方法。
【請求項６】
前記第４のステップ中に、
メモリ異常によって第２の演算手段の第２の稼働系フラッシュメモリへの書込みが失敗した場合、第１及び総ての第２の稼働系フラッシュメモリに記憶されているプログラムを破棄し、
第１の演算手段又は第２の演算手段のリセットによって該第２の演算手段の第２の稼働系フラッシュメモリへの書込みが失敗した場合、第１及び総ての第２の稼働系フラッシュメモリに記憶されているプログラムを破棄し、第１の演算手段及び総ての第２の演算手段のリセットを実行することを特徴とする請求項１から５のいずれか１項に記載の方法。
【請求項７】
第４のステップの後に、第１から第４のステップを実行している間に、前記他の通信装置から中止指示を受信したか否かを判定する第５のステップを更に有し、
中止指示を受信していない場合、通信装置は自律的に再起動し、再起動後、第１及び各第２の演算手段は、含んでいる第１又は第２の稼働系フラッシュメモリに記憶されたプログラムを、含んでいる第１又は第２のＲＡＭに記憶して実行し、
中止指示を受信している場合、第１及び各第２の演算手段は、含んでいる第１又は第２のＲＡＭに現在記憶されているプログラムを実行し、通信装置に対する再起動が実施された後に、第１及び各第２の演算手段は、含んでいる第１又は第２の稼働系フラッシュメモリに記憶されたプログラムを、含んでいる第１又は第２のＲＡＭに記憶して実行することを特徴とする請求項１から６のいずれか１項に記載の方法。
【請求項８】
システム制御用の第１の演算手段と、１つ以上の第２の演算手段とを有し、
第１の演算手段は、第１の稼働系フラッシュメモリ、第１の待機系フラッシュメモリ、第１の一時メモリ、第１のＲＡＭ、更新情報管理手段、及びダウンロード管理手段を含み、
第２の演算手段は、それぞれ、第２の稼働系フラッシュメモリ、第２の待機系フラッシュメモリ、第２の一時メモリ、及び第２のＲＡＭを含み、
第１の待機系フラッシュメモリ及び第２の待機系フラッシュメモリは、確実に動作可能な当初バージョンのプログラムを記憶し、
第１の一時メモリは、他の通信装置から受信した、第１及び総ての第２の演算手段用のプログラムを１つのモジュールとした統合モジュールを記憶し、
更新情報管理手段は、第１及び総ての第２の稼働系フラッシュメモリに記憶されているプログラムの更新情報を保持し、
ダウンロード管理手段は、前記統合モジュールに含まれる第１の演算手段用プログラムの更新情報が、第１の稼働系フラッシュメモリに記憶されているプログラムの更新情報よりも新しいか否かを判断し、新しい場合には、該第１の演算手段用プログラムを、第１の一時メモリから第１の稼働系フラッシュメモリへ記憶させ、前記統合モジュールに含まれる第２の演算手段用プログラムの更新情報が、該第２の演算手段の第２の稼働系フラッシュメモリに記憶されているプログラムの更新情報よりも新しいか否かを判断し、新しい場合には、該第２の演算手段用プログラムを、該第２の演算手段の第２の一時メモリへ送信させ、
第２の演算手段は、該第２の演算手段の第２の一時メモリに記憶された第２の演算手段用プログラムを、該第２の演算手段の第２の稼働系フラッシュメモリに記憶し、
第１の演算手段は、各第２の稼働系フラッシュメモリに記憶されたプログラムの更新情報を周期的に収集し、更新情報管理手段が管理している更新情報と、収集した更新情報とが一致しない場合には、その履歴情報を記録するとともに、
ダウンロード完了後の経過時間が一定時間以内であれば、第１及び総ての第２の稼働系フラッシュメモリの情報を破棄して第１及び総ての第２の演算手段のリセットを実行し、リセット後、第１及び各第２の演算手段は、含んでいる第１又は第２の待機系フラッシュメモリのプログラムを、含んでいる第１又は第２のＲＡＭに記憶して実行し、
ダウンロード完了後の経過時間が一定時間を越えていれば、第１及び総ての第２の演算手段のリセットを実行し、リセット後、第１及び各第２の演算手段は、含んでいる第１又は第２の稼働系フラッシュメモリのプログラムを、含んでいる第１又は第２のＲＡＭに記憶して実行する、
ことを特徴とする通信装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プログラムをダウンロードする方法及び装置に関する。特に、遠隔地に設置された通信装置に対して、他の通信装置からファームウェアをダウンロードするものに関する。
【０００２】
【従来の技術】
複数のＣＰＵ（演算装置）を搭載した通信装置におけるファームウェアのダウンロードは、１つの統合モジュールにより実現するのではなく、ＣＰＵ毎に用意された統合モジュールにより個別に実施していた。
【０００３】
図７は、従来のシステム構成図である。
【０００４】
図７によれば、プログラムがダウンロードされる基地局装置１０は、複数のＣＰＵ、即ち、ＣＰＵ１（１０１）、ＣＰＵ２（１１１）及びＣＰＵ３（１２１）を搭載している。そのＣＰＵを搭載した基板にはコンソール端末等が接続されており、ＣＰＵ毎にそれぞれのプログラムをダウンロードするため、ＣＰＵ毎のプログラムファイルの相関関係について、作業者がそれぞれのバージョン情報を考慮する必要がある。
【０００５】
図７における基地局装置１０は、ＣＰＵ毎に２つのフラッシュメモリ（稼動系フラッシュメモリ（１０６、１１４、１２４）及び待機系フラッシュメモリ（１０７、１１５、１２５））で構成されている。その装置に対してファームウェアをダウンロードするために、新しくダウンロードするモジュールは一旦それぞれの制御部（１００、１１０、１２０）の一時メモリ（１０２、１１２、１２２）に格納された後、運用中のＣＰＵが参照した稼動系フラッシュメモリとは異なる待機系フラッシュメモリにローディングし、再起動を契機とした系切り替えにより新しいファームウェアをＲＡＭ（１０５、１１３、１２３）に展開し、起動するものであった。また、ダウンロード完了後、各ＣＰＵで使用しているファームウェアのフラッシュメモリの系切り替えが発生し、それまで運用していたファームウェアのバージョンがＣＰＵ間で異なった場合、すべてのＣＰＵで使用するファームウェアを待機系フラッシュメモリに切り替える、又は何もしないといった処置を実施していた。
【０００６】
【発明が解決しようとする課題】
しかしながら、複数のＣＰＵを搭載した通信装置において、ファームウェアのダウンロードを個別に実施することによってバージョンアップを実施するため、あるＣＰＵの統合モジュールについて誤ったものを選択した場合、ＣＰＵ間の相関関係に重大な影響を与える可能性があり、ダウンロード完了後、ユーザサービスが停止してしまう恐れがあった。
【０００７】
また、１つのＣＰＵについて２つのフラッシュメモリで構成されている場合、新しくダウンロードするモジュールは運用中のＣＰＵが参照したフラッシュメモリとは異なるフラッシュメモリにローディングを行い、再起動を契機とした系切り替えにより新しいファームウェアで起動する方法を行っていた。そのため、２つのフラッシュメモリのどちらもダウンロードにより更新されるため、ある統合モジュールにおいてダウンロード機能に関する内在的なバグがある場合は、当該モジュールをダウンロードした以降において、ダウンロード自体が実施できなくなる状態に陥る恐れがあった。
【０００８】
また、ダウンロード完了後、各ＣＰＵで使用しているファームウェアのフラッシュメモリの系切り替えが発生し、それまで運用していたファームウェアのバージョンがＣＰＵ間で異なった場合、すべてのＣＰＵで使用するメモリの系を待機系に切り替える、又は何もしないといった処置を実施していた。そのため、全ての系を待機系に切り替える対処では通常運用時においては、保守者の知らない間に運用状態が待機系に切り替わるといった問題が発生し、また何もしない対処では、ファームウェアのバージョンによってＣＰＵ間で相関関係がある場合は、運用へ重大な影響を及ぽすことも考えられる。
【０００９】
本発明は、複数ＣＰＵを搭載した通信装置において、ファームウェアのダウンロードを個別に実施するのではなく、１つのモジュールに統合して行うことで、ＣＰＵ間での相関関係を作業者が意識することなく実施でき、また、ダウンロードを行った新たなファームウェアに、ダウンロード機能に関する重大なバグが内在していた場合でも、ダウンロードにより更新されない記憶媒体を保持することにより、ダウンロード機能を担保することができ、また、ダウンロード後の運用時におけるファームウェアのバージョン管理及びバージョン不一致における問題を解決するための機能を備えたダウンロード方法及び装置を提供する。
【００１０】
【課題を解決するための手段】
本発明におけるプログラムをダウンロードする方法は、
第１の稼働系フラッシュメモリ、第１の待機系フラッシュメモリ、第１の一時メモリ、第１のＲＡＭ、及び更新情報管理手段を含むシステム制御用の第１の演算手段と、それぞれが、第２の稼働系フラッシュメモリ、第２の待機系フラッシュメモリ、第２の一時メモリ、及び第２のＲＡＭを含む１つ以上の第２の演算手段とを有し、更新情報管理手段が、第１及び総ての第２の稼働系フラッシュメモリに記憶されているプログラムの更新情報を保持している通信装置が、他の通信装置からプログラムをダウンロードする方法において、第１の演算手段が、前記他の通信装置から受信した、第１及び総ての第２の演算手段用のプログラムを１つのモジュールとした統合モジュールを第１の一時メモリに記憶する第１のステップと、前記統合モジュールに含まれる第１の演算手段用プログラムの更新情報が、第１の稼働系フラッシュメモリに記憶されているプログラムの更新情報よりも新しい場合、第１の演算手段が、該第１の演算手段用プログラムを、第１の一時記憶メモリから第１の稼働系フラッシュメモリへ記憶する第２のステップと、前記統合モジュールに含まれる第２の演算手段用プログラムの更新情報が、該第２の演算手段の第２の稼働系フラッシュメモリに記憶されているプログラムの更新情報よりも新しい場合、第１の演算手段が、該第２の演算手段用プログラムを、該第２の演算手段の第２の一時メモリへ送信する第３のステップと、第２の演算手段が、該第２の演算手段の第２の一時メモリに記憶された第２の演算手段用プログラムを、該第２の演算手段の第２の稼働系フラッシュメモリに記憶する第４のステップとを備えており、第１及び総ての第２の待機系フラッシュメモリは、確実に動作可能な当初バージョンのプログラムを記憶しており、第１の演算手段は、各第２の稼働系フラッシュメモリに記憶されたプログラムの更新情報を周期的に収集し、更新情報管理手段が管理している更新情報と、収集した更新情報とが一致しない場合には、その履歴情報を記録するとともに、ダウンロード完了後の経過時間が一定時間以内であれば、第１及び総ての第２の稼働系フラッシュメモリの情報を破棄して第１及び総ての第２の演算手段のリセットを実行し、リセット後、第１及び各第２の演算手段は、含んでいる第１又は第２の待機系フラッシュメモリのプログラムを、含んでいる第１又は第２のＲＡＭに記憶して実行し、ダウンロード完了後の経過時間が一定時間を越えていれば、第１及び総ての第２の演算手段のリセットを実行し、リセット後、第１及び各第２の演算手段は、含んでいる第１又は第２の稼働系フラッシュメモリのプログラムを、含んでいる第１又は第２のＲＡＭに記憶して実行することを特徴とする。
【００１１】
本発明の方法における他の実施形態によれば、
通信装置は無線基地局装置であり、他の通信装置は監視制御装置であり、第１の演算手段はシステム制御用演算手段であり、複数の第２の演算手段は上り信号制御用演算手段と下り信号制御用演算手段であることも好ましい。
【００１３】
更に、本発明の方法における他の実施形態によれば、
第１のステップ中に、他の通信装置から中止指示を受信した場合、転送中のシーケンス異常によって統合モジュールの転送が失敗した場合、又は第１の演算手段のリセットによってダウンロードが失敗した場合、第１の演算手段は、受信した統合モジュールを破棄することをも好ましい。
【００１４】
更に、本発明の方法における他の実施形態によれば、
第２のステップ中に、メモリ異常によって第１の稼働系フラッシュメモリへの書込みが失敗した場合、第１及び総ての第２の稼働系フラッシュメモリに記憶されているプログラムを破棄し、第１の演算手段のリセットによって第１の稼働系フラッシュメモリへの書込みが失敗した場合、第１及び総ての第２の稼働系フラッシュメモリに記憶されているプログラムを破棄し、第１の演算手段及び総ての第２の演算手段のリセットを実行することも好ましい。
【００１５】
更に、本発明の方法における他の実施形態によれば、
第３のステップ中に、転送中のシーケンス異常によって第２の演算手段の第２の一時メモリへの書込みが失敗した場合、第１及び総ての第２の稼働系フラッシュメモリに記憶されているプログラムを破棄し、第１の演算手段又は第２の演算手段のリセットによって第２の演算手段の第２の一時メモリへの書込みが失敗した場合、第１及び総ての第２の稼働系フラッシュメモリに記憶されているプログラムを破棄し、第１の演算手段及び総ての第２の演算手段のリセットを実行することも好ましい。
【００１６】
更に、本発明の方法における他の実施形態によれば、
第４のステップ中に、メモリ異常によって第２の演算手段の第２の稼働系フラッシュメモリへの書込みが失敗した場合、第１及び総ての第２の稼働系フラッシュメモリに記憶されているプログラムを破棄し、第１の演算手段又は第２の演算手段のリセットによって該第２の演算手段の第２の稼働系フラッシュメモリへの書込みが失敗した場合、第１及び総ての第２の稼働系フラッシュメモリに記憶されているプログラムを破棄し、第１の演算手段及び総ての第２の演算手段のリセットを実行することも好ましい。
【００１７】
更に、本発明の方法における他の実施形態によれば、
第４のステップの後に、第１から第４のステップを実行している間に、前記他の通信装置から中止指示を受信したか否かを判定する第５のステップを更に有し、中止指示を受信していない場合、通信装置は自律的に再起動し、再起動後、第１及び各第２の演算手段は、含んでいる第１又は第２の稼働系フラッシュメモリに記憶されたプログラムを、含んでいる第１又は第２のＲＡＭに記憶して実行し、中止指示を受信している場合、第１及び各第２の演算手段は、含んでいる第１又は第２のＲＡＭに現在記憶されているプログラムを実行し、通信装置に対する再起動が実施された後に、第１及び各第２の演算手段は、含んでいる第１又は第２の稼働系フラッシュメモリに記憶されたプログラムを、含んでいる第１又は第２のＲＡＭに記憶して実行することも好ましい。
【００１８】
本発明の通信装置は、
システム制御用の第１の演算手段と、１つ以上の第２の演算手段とを有し、第１の演算手段は、第１の稼働系フラッシュメモリ、第１の待機系フラッシュメモリ、第１の一時メモリ、第１のＲＡＭ、更新情報管理手段、及びダウンロード管理手段を含み、第２の演算手段は、それぞれ、第２の稼働系フラッシュメモリ、第２の待機系フラッシュメモリ、第２の一時メモリ、及び第２のＲＡＭを含み、第１の待機系フラッシュメモリ及び第２の待機系フラッシュメモリは、確実に動作可能な当初バージョンのプログラムを記憶し、第１の一時メモリは、他の通信装置から受信した、第１及び総ての第２の演算手段用のプログラムを１つのモジュールとした統合モジュールを記憶し、更新情報管理手段は、第１及び総ての第２の稼働系フラッシュメモリに記憶されているプログラムの更新情報を保持し、ダウンロード管理手段は、前記統合モジュールに含まれる第１の演算手段用プログラムの更新情報が、第１の稼働系フラッシュメモリに記憶されているプログラムの更新情報よりも新しいか否かを判断し、新しい場合には、該第１の演算手段用プログラムを、第１の一時メモリから第１の稼働系フラッシュメモリへ記憶させ、前記統合モジュールに含まれる第２の演算手段用プログラムの更新情報が、該第２の演算手段の第２の稼働系フラッシュメモリに記憶されているプログラムの更新情報よりも新しいか否かを判断し、新しい場合には、該第２の演算手段用プログラムを、該第２の演算手段の第２の一時メモリへ送信させ、第２の演算手段は、該第２の演算手段の第２の一時メモリに記憶された第２の演算手段用プログラムを、該第２の演算手段の第２の稼働系フラッシュメモリに記憶し、第１の演算手段は、各第２の稼働系フラッシュメモリに記憶されたプログラムの更新情報を周期的に収集し、更新情報管理手段が管理している更新情報と、収集した更新情報とが一致しない場合には、その履歴情報を記録するとともに、ダウンロード完了後の経過時間が一定時間以内であれば、第１及び総ての第２の稼働系フラッシュメモリの情報を破棄して第１及び総ての第２の演算手段のリセットを実行し、リセット後、第１及び各第２の演算手段は、含んでいる第１又は第２の待機系フラッシュメモリのプログラムを、含んでいる第１又は第２のＲＡＭに記憶して実行し、ダウンロード完了後の経過時間が一定時間を越えていれば、第１及び総ての第２の演算手段のリセットを実行し、リセット後、第１及び各第２の演算手段は、含んでいる第１又は第２の稼働系フラッシュメモリのプログラムを、含んでいる第１又は第２のＲＡＭに記憶して実行することを特徴とする。
【００１９】
【発明の実施の形態】
図１は、本発明におけるシステム構成図である。
【００２０】
図１によれば、監視制御装置３０は、遠隔ダウンロード用プログラム保管部３１から出力された統合モジュールを、ＦＴＰを用いて遠隔ダウンロード制御部３２によって送信する。統合モジュールＦ１００は、基地局装置１０のＣＰＵ毎のプログラムファイルを１つのモジュールとして統合したものである。その統合モジュールＦ１００は、監視制御情報転送網５０を介して、基地局装置１０で受信される。
【００２１】
基地局装置１０は、統合モジュールＦ１００を、システム制御部１００のシステム制御用ＣＰＵ１０１の一時メモリ１０２に格納する。一時メモリ１０２に格納された統合モジュールＦ１００は、システム制御用ＣＰＵ１０１、上り信号制御用ＣＰＵ１１１及び下り信号制御用ＣＰＵ１２１に実行させて通信処理を制御するために用いるＣＰＵ毎のファームウェアが１つに統合されたものである。システム制御用ＣＰＵ１０１は、ダウンロード全体を管理するメインＣＰＵである。バージョン管理部１０３は、現在運用しているＣＰＵ１０１のファームウェアのバージョンを管理している。ダウンロード管理部１０４は、他のＣＰＵ１１１及び１２１へ統合モジュールのファームウェアをローディングするか否かを制御する。特に、ＣＰＵ毎に実行されているファームウェアバージョンを管理しており、統合モジュールにおけるＣＰＵ毎のプログラムについて、同一バージョンであれば、システム制御部１００から当該ＣＰＵヘローディングせず、異なるバージョンであれば、当該ＣＰＵに対するプログラムをローディングする。
【００２２】
基地局装置１０は、複数個のＣＰＵ（ここでは３個）から構成されているが、それぞれのＣＰＵが実行時に使用するファームウェアを格納するために電気的に書込み可能なフラッシュメモリとＲＡＭとを個別に保持する。フラッシュメモリは２つあり、１つはダウンロードによるバージョンアップ時に書込み可能な領域である稼動系フラッシュメモリ１０６、１１４及び１２４であり、もう１つは書込み不可な領域である待機系フラッシュメモリ１０７、１１５及び１２５である。２つのフラッシュメモリのうち、どちらもダウンロードにより更新されると、ある統合モジュールにおいてダウンロード機能に関する内在的なバグがある場合は、当該モジュールをダウンロードした以降において、ダウンロード自体が実施できなくなる恐れがあるため、待機系フラッシュメモリ１０７、１１５、１２５は工場出荷時のデフォルト固定のままのバージョンとする。
【００２３】
図２は、本発明における統合モジュールのフレームフォーマットである。
【００２４】
図２によれば、統合モジュールは、図１におけるＣＰＵ毎のプログラム、即ち、システム制御用プログラム、上り信号制御用プログラム及び下り信号制御用プログラムそれぞれがヘッダ及びフッタによって区分されている。
【００２５】
図３は、本発明におけるダウンロード後の起動動作の説明図である。
【００２６】
図３によれば、ダウンロード完了後、基地局装置の各ＣＰＵとは独立したＢｏｏｔプログラムＰ１００が起動時に系を選択する。ダウンロードが成功した場合は、ＢｏｏｔプログラムＰ１００は稼動系を選択し、起動時に使用するプログラムファイルをＲＡＭに展開し、以後統合モジュールＲＡＭ上で動作する。ダウンロードが失敗した場合については、以下の実施の形態で説明する。
【００２７】
図４は、本発明におけるダウンロードのフローチャートである。
【００２８】
（Ｓ１０）基地局装置１０は、統合モジュールを、監視制御装置３０からＦＴＰを用いて受信し、ＣＰＵ１０１の一時メモリ１０２に、受信した統合モジュールが格納する。基地局装置１０は、これにより、システム状態をダウンロード状態に移行する。
（Ｓ２０）統合モジュールにおけるＣＰＵ１０１用プログラムの更新情報が、稼働系フラッシュメモリ１０６に記憶されているプログラムの更新情報よりも新しければ、そのＣＰＵ１０１用プログラムを稼働系フラッシュメモリ１０６へ記憶する。
（Ｓ３０）統合モジュールにおけるＣＰＵ１１１用プログラムの更新情報が、稼働系フラッシュメモリ１１４に記憶されているプログラムの更新情報よりも新しければ、そのＣＰＵ１１１用プログラムを一時メモリ１１２へ転送し記憶させる。
（Ｓ４０）一時メモリ１１２に記憶されたＣＰＵ１１１用プログラムを、稼働系フラッシュメモリ１１４へ記憶させる。
（Ｓ５０）統合モジュールにおけるＣＰＵ１２１用プログラムの更新情報が、稼働系フラッシュメモリ１２４に記憶されているプログラムの更新情報よりも新しければ、そのＣＰＵ１２１用プログラムを一時メモリ１２２へ転送し記憶させる。
（Ｓ６０）一時メモリ１２２に記憶されたＣＰＵ１２１用プログラムを、稼働系フラッシュメモリ１２４へ記憶させる。
【００２９】
図５ａ及びｂは、本発明におけるダウンロード失敗時のリカバリ動作のフローチャートである。
【００３０】
（Ｓ１０）監視制御装置３０からの統合モジュールの受信中に失敗した場合
この場合、取得した統合モジュールの破棄（Ｓ１１）を行い、元プログラムで動作（Ｓ１２）を継続する。各ＣＰＵの稼動系フラッシュメモリヘの書込みが完了するとシステム状態は運用状態に戻るが、ダウンロード失敗時においてサービス断を伴う系切り替えを安易に実施することなく、元プログラムでの動作を継続することにより回復措置を行う。
【００３１】
（Ｓ２０）システム制御用ＣＰＵ１０１の稼働系フラッシュメモリ１０６に書込み中に失敗した場合
この場合、監視制御装置３０からの中止指示において、中止してもダウンロードを継続するため（Ｓ２０）に戻って引き続きダウンロード処理を進める（Ｓ２１）。
また、メモリ不良等の書込み失敗による統合モジュール転送失敗において、総ての稼動系フラッシュメモリの情報を破棄（Ｓ２２）し、ＲＡＭ上の元プログラムで動作を継続するが、リセットを実施した場合は工場出荷時のファームウェアを格納している待機系フラッシュメモリで動作を行う（Ｓ２３）。
また、当該システム制御用ＣＰＵ１０１のリセットによるダウンロード失敗において、システム制御用ＣＰＵは待機系フラッシュメモリ上のファームウェアで起動し、その後全ＣＰＵの稼動系フラッシュメモリの情報を破棄し、更にリセット実施（Ｓ２４）により待機系フラッシュメモリで動作を継続（Ｓ２５）する。
【００３２】
（Ｓ３０、Ｓ５０）上り信号制御用ＣＰＵ１１１への転送中、及び、下り信号制御用ＣＰＵ１２１への転送中に失敗した場合
この場合、監視制御装置３０からの中止指示において、中止してもダウンロードを継続するためＳ３０及びＳ５０に戻って引き続きダウンロード処理を進める（Ｓ３１、Ｓ５１）。
また、転送中のシーケンス異常による統合モジュール転送失敗において、総ての稼動系フラッシュメモリ情報を破棄（Ｓ３２、Ｓ５２）し、ＲＡＭ上の元プログラムで動作を継続するが、リセットを実施した場合は待機系フラッシュメモリで動作を行う（Ｓ３３、Ｓ５３）。
また、当該上り信号制御用ＣＰＵ１１１、下り信号制御用ＣＰＵ１２１、又はシステム制御用ＣＰＵ１０１のリセットによるダウンロード失敗において、プログラム転送中のＣＰＵは待機系フラッシュメモリ上のファームウェアで起動し、その後全ＣＰＵの稼動系フラッシュメモリの情報を破棄し、更にリセット実施（Ｓ３４、Ｓ５４）により待機系フラッシュメモリで動作を継続（Ｓ３５、Ｓ５５）する。
【００３３】
（Ｓ４０、Ｓ６０）上り信号制御用ＣＰＵ１１１及び下り信号制御用ＣＰＵ１２１のフラッシュメモリに書込み中に失敗した場合
この場合、監視制御装置３０からの中止指示において、中止してもダウンロードを継続するため（Ｓ４０、Ｓ６０）に戻って引き続きダウンロード処理を進める（Ｓ４１、Ｓ６１）。
また、メモリ不良等の書込み失敗による統合モジュール転送失敗において、総ての稼動系フラッシュメモリ情報を破棄（Ｓ４２、Ｓ６２）し、ＲＡＭ上の元プログラムで動作を継続するが、リセットを実施した場合は待機系フラッシュメモリで動作を行う（Ｓ４３、Ｓ６３）。
また、当該上り信号制御用ＣＰＵ１１１、下り信号制御用ＣＰＵ１２１、又はシステム制御用ＣＰＵ１０１のリセットによるダウンロード失敗において、プログラム転送中のＣＰＵは待機系フラッシュメモリ上のファームウェアで起動し、その後全ＣＰＵの稼動系フラッシュメモリの情報を破棄し、更にリセット実施（Ｓ４４、Ｓ６４）により待機系フラッシュメモリで動作を継続（Ｓ４５、Ｓ６５）する。
また、下り信号制御用ＣＰＵ１２１の稼動系フラッシュメモリヘの書込みに成功した場合は、各ダウンロード状態（Ｓ２０〜Ｓ６０）において監視制御装置３０からの中止指示による失敗の有無（Ｓ７０）により、中止指示が無ければ自律による再起動後新バージョンで起動（Ｓ７１）し、中止指示が有れば再起動の実施（Ｓ８０）により新バージョンで起動（Ｓ８１）し、実施されなければ（Ｓ８０）元プログラムのままで動作を継続（Ｓ８２）する。
【００３４】
前述した回復措置のとおり、監視制御装置３０からの統合モジュール転送中のダウンロード失敗においては、元プログラムのままで動作し、システム制御用ＣＰＵ１０１、上り信号制御用ＣＰＵ１１１及び下り信号制御用ＣＰＵ１２１に統合モジュール転送中のシーケンス異常によるダウンロード失敗においては、元プログラムが展開されているＲＡＭで動作を継続し、系切り替えによる待機系での起動動作のためのリセットによるユーザサービスの停止を最小限に抑える措置を行うことを特徴とする。
【００３５】
図６は、本発明における各ＣＰＵのバージョン情報取得動作のフローチャートである。
【００３６】
基地局装置１０のシステム制御部１００のバージョン管理部１０３において、複数ＣＰＵのファームウェアのバージョンを管理している。バージョン情報は、待機系フラッシュメモリ１０７、１１５、１２５については出荷時に書込み、稼動系フラッシュメモリ１０６、１１４、１２４についてはダウンロード時に書き込む。運用中、各ＣＰＵに対してファームウェアのバージョンを周期的に問い合わせＳ７０、Ｓ８０、バージョン管理部１０３のバージョン情報と比較し、バージョン不一致が発生Ｓ９０した場合は、システム制御部１００において基地局装置１０の再起動を実施するが、その際ダウンロード完了からの経過時間Ｓ１００より、起動する系を選択することとする。バージョン不一致となる要因としては、あるＣＰＵが待機系の出荷時プログラムで起動した場合であり、具体的にはおかしなプログラムをダウンロードして暴走したため、連続的にＷＤＴリセットが発生した場合や、稼動系フラッシュメモリが正常に書き込めずチェックサム異常のため、ダウンロードによる再起動時に稼動系フラッシュメモリが異常となる場合、稼動系フラッシュメモリが何らかの異常により壊れてしまった場合が想定される。バージョン不一致による再起動後の起動する系の選択において、ダウンロード完了からのある一定時間以内においては、稼動系フラッシュメモリを破棄Ｓ１１０し、装置リセットＳ１２０により待機系で動作することとし、一定時間を越えた場合においては、稼動系フラッシュメモリの破棄は行わず、装置リセットＳ１２０により稼動系で起動することとする。これは、通常運用時において、保守者の知らない間に基地局装置のバージョンが切り替わってしまうことへの対処である。但し、稼動系の起動においてＷＤＴリセットを繰り返す、又はチェックサム異常となる場合は、待機系で起動することとする。
【００３７】
【発明の効果】
以上詳細に説明したように、本発明の方法及び装置によれば、複数ＣＰＵを搭載した通信装置について、ファームウェアのダウンロードを個別に実施するのではなく、１つのモジュールに統合して行うことで、ＣＰＵ間での相関関係を作業者が意識することなく実施できる。また、ダウンロードを行った新たなファームウェアに、ダウンロード機能に関する重大なバグが内在していた場合でも、ダウンロードにより更新されない記憶媒体を保持することにより、ダウンロード機能を担保することができる。更に、ダウンロード後の運用時におけるファームウェアのバージョン管理及びバージョン不一致における問題を解決するための機能を備えることができる。
【図面の簡単な説明】
【図１】本発明におけるシステム構成図である。
【図２】本発明における統合モジュールのフレームフォーマットである。
【図３】本発明におけるダウンロード後の起動動作の説明図である。
【図４】本発明におけるダウンロードのフローチャートである。
【図５ａ】本発明におけるダウンロード失敗時のリカバリ動作のフローチャートである。
【図５ｂ】本発明におけるダウンロード失敗時のリカバリ動作のフローチャートである。
【図６】本発明における各ＣＰＵのバージョン情報取得動作のフローチャートである。
【図７】従来のシステム構成図である。
【符号の説明】
１０  基地局装置
２０  加入者局装置
３０  監視制御装置
３１  遠隔ダウンロード用プログラム保管部
３２  遠隔ダウンロード制御部
５０  監視制御情報転送網
１００  システム制御部
１０１  システム制御用ＣＰＵ（ＣＰＵ１）
１０２  一時メモリ
１０３  バージョン管理部
１０４  ダウンロード管理部
１０５  ＲＡＭ
１０６  稼動系フラッシュメモリ
１０７  待機系フラッシュメモリ
１１０  上り信号制御部
１１１  上り信号制御用ＣＰＵ（ＣＰＵ２）
１１２  一時メモリ
１１３  ＲＡＭ
１１４  稼動系フラッシュメモリ
１１５  待機系フラッシュメモリ
１２０  下り信号制御部
１２１  下り信号制御用ＣＰＵ（ＣＰＵ３）
１２２  一時メモリ
１２３  ＲＡＭ
１２４  稼動系フラッシュメモリ
１２５  待機系フラッシュメモリ
Ｆ１００  統合モジュールのフレームフォーマット
Ｐ１００  Ｂｏｏｔプログラム
【図１】
0004029789.tif 000002
【図２】
0004029789.tif 000003
【図３】
0004029789.tif 000004
【図４】
0004029789.tif 000005
【図５ａ】
0004029789.tif 000006
【図５ｂ】
0004029789.tif 000007
【図６】
0004029789.tif 000008
【図７】
0004029789.tif 000009