(57)【要約】【課題】複数備えた予備ファイルの内容が全て破壊される事態を抑制でき、ファイル異常による装置運用停止状態の発生を抑制できる無線基地局装置を提供する。【解決手段】読み書きが可能であって無線基地局装置の動作に必要な第１のデータを記憶する第１の記憶部と、第１の記憶部のデータを読み込みながら動作するＣＰＵと、データの読み出しが可能かつ書き込みが不可能であって、第１のデータと同一内容の第２のデータを記憶する第２の記憶部とを備える無線基地局装置を、無線基地局装置の起動時において、第１の記憶部の整合性検査を行い、第１のデータが正常である場合は、該第１のデータを読み込みながら動作し、前記整合性検査を行った第１のデータが異常である場合は、第２の記憶部の整合性検査を行い、第２のデータが正常である場合は、該第２のデータを第１の記憶部に展開し読み込みながら動作するように構成する。【選択図】  図１
2012212415.tif 000002
【特許請求の範囲】
【請求項１】
データの読み出し及び書き込みが可能であって、無線基地局装置の動作に必要な第１のデータを記憶する第１の記憶部と、
前記第１の記憶部と接続され、前記第１の記憶部のデータを読み込みながら動作するＣＰＵと、
前記ＣＰＵと接続され、データの読み出し及び書き込みが可能であって、前記第１のデータと同一内容の第２のデータを記憶する第２の記憶部と、
前記ＣＰＵと接続され、データの読み出し及び書き込みが可能であって、前記第１のデータと同一内容の第３のデータを記憶する第３の記憶部と、
前記ＣＰＵと接続され、データの読み出しが可能かつ書き込みが不可能であって、前記第１のデータと同一内容の第４のデータを記憶する第４の記憶部とを備え、
前記ＣＰＵは、無線基地局装置の起動時において、前記第１の記憶部の第１のデータの整合性検査を行い、該第１のデータが正常である場合は、該第１のデータを読み込みながら動作し、前記整合性検査を行った第１のデータが異常である場合は、前記第２の記憶部の第２のデータの整合性検査を行い、該第２のデータが正常である場合は、該第２のデータを前記第１の記憶部に展開し、該第１の記憶部に展開した第２のデータを読み込みながら動作し、前記整合性検査を行った第２のデータが異常である場合は、前記第３の記憶部の第３のデータの整合性検査を行い、該第３のデータが正常である場合は、該第３のデータを前記第１の記憶部に展開し、該第１の記憶部に展開した第３のデータを読み込みながら動作し、前記整合性検査を行った第３のデータが異常である場合は、前記第４の記憶部の第４のデータの整合性検査を行い、該第４のデータが正常である場合は、該第４のデータを前記第１の記憶部に展開し、該第１の記憶部に展開した第４のデータを読み込みながら動作することを特徴とする無線基地局装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無線基地局装置等の電子装置に関し、例えば、携帯電話用無線基地局装置のように、無線基地局装置の機能を実行する実行プログラム等のソフトウェアファイルを、装置に内蔵するフラッシュＲＯＭ（ＦＬＡＳＨ‐ＲＯＭ：Read Only Memory）等のメモリに搭載する無線基地局装置に関するものである。
【背景技術】
【０００２】
無線基地局装置、例えば携帯電話用無線基地局装置においては、無線基地局装置の機能を実行する実行プログラム等の各種ソフトウェアファイルを、フラッシュＲＯＭに格納している。例えば、停電や電源切断等により、フラッシュＲＯＭの記憶内容が破壊されることが起こると、ソフトウェアファイルの内容が誤った内容である異常状態になり、無線基地局装置の機能が正常に働かなくなって、装置運用停止状態になる。
そのため、従来は、ファイルをその世代により制御するファイル管理を行うか、または、同一内容のファイルを２重に備える２重系制御によるファイル管理を行うようにしている。
【０００３】
下記の特許文献１には、フラッシュＲＯＭに、運用面／予備面の運用プログラムを記憶する無線基地局装置が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４-２８０３４０公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述したような従来のファイル管理においては、２重に備えたファイルの内容が両方とも破壊されたり、何らかの要因により消滅した場合は、復旧手段がないという課題があった。
本発明は、このような従来の課題を解決するために為されたもので、複数備えた予備ファイルの内容が全て破壊や消滅する事態を抑制でき、ファイル異常による装置運用停止状態の発生を抑制できる無線基地局装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するための、本願発明の代表的な構成は、次のとおりである。すなわち、
データの読み出し及び書き込みが可能であって、無線基地局装置の動作に必要な第１のデータを記憶する第１の記憶部と、
前記第１の記憶部と接続され、前記第１の記憶部のデータを読み込みながら動作するＣＰＵと、
前記ＣＰＵと接続され、データの読み出し及び書き込みが可能であって、前記第１のデータと同一内容の第２のデータを記憶する第２の記憶部と、
前記ＣＰＵと接続され、データの読み出し及び書き込みが可能であって、前記第１のデータと同一内容の第３のデータを記憶する第３の記憶部と、
前記ＣＰＵと接続され、データの読み出しが可能かつ書き込みが不可能であって、前記第１のデータと同一内容の第４のデータを記憶する第４の記憶部とを備え、
前記ＣＰＵは、無線基地局装置の起動時において、前記第１の記憶部の第１のデータの整合性検査を行い、該第１のデータが正常である場合は、該第１のデータを読み込みながら動作し、前記整合性検査を行った第１のデータが異常である場合は、前記第２の記憶部の第２のデータの整合性検査を行い、該第２のデータが正常である場合は、該第２のデータを前記第１の記憶部に展開し、該第１の記憶部に展開した第２のデータを読み込みながら動作し、前記整合性検査を行った第２のデータが異常である場合は、前記第３の記憶部の第３のデータの整合性検査を行い、該第３のデータが正常である場合は、該第３のデータを前記第１の記憶部に展開し、該第１の記憶部に展開した第３のデータを読み込みながら動作し、前記整合性検査を行った第３のデータが異常である場合は、前記第４の記憶部の第４のデータの整合性検査を行い、該第４のデータが正常である場合は、該第４のデータを前記第１の記憶部に展開し、該第１の記憶部に展開した第４のデータを読み込みながら動作することを特徴とする無線基地局装置。
【発明の効果】
【０００７】
本願発明によれば、複数備えた予備ファイルの内容が全て破壊や消滅する事態を抑制でき、ファイル異常による装置運用停止状態の発生を抑制できる。
【図面の簡単な説明】
【０００８】
【図１】本発明の第１実施形態に係る無線基地局装置のハードウェア構成の概要を示す図である。
【図２】本発明の第１実施形態に係る装置起動時の動作を示す図である。
【図３】本発明の第１実施形態に係る定時照合時の動作を示す図である。
【図４】本発明の第２実施形態に係るファイル受信装置とファイル送信装置のハードウェア構成の概要を示す図である。
【図５】本発明の第２実施形態に係るファイルフォーマットの構成例を示す図である。
【図６】本発明の第２実施形態に係るファイル更新シーケンスを示す図である。
【図７】本発明の第２実施形態に係る更新ファイル受信前のバージョンチェックテーブルとファイルバージョンテーブルを示す図である。
【図８】本発明の第２実施形態に係る更新後のバージョンチェックテーブルとファイルバージョンテーブルを示す図である。
【発明を実施するための形態】
【０００９】
（第１実施形態）
本発明の第１実施形態の無線基地局装置について、図１を参照しながら説明する。図１は、本発明の実施形態に係る無線基地局装置のハードウェア構成の概要を示した一例を表す図である。
本実施形態の無線基地局装置は、無線基地局周辺設備（以下ＲＲＨ：Remote Radio Head）であり、この無線基地局装置のソフトウェアプログラムやＦＧＰＡ（Field Programmable Gate Array）やＤＳＰ（Digital Signal Processor）のファームウェアプログラムや無線基地局装置で使用するパラメータ等が、フラッシュＲＯＭに格納されている。
【００１０】
図１に示すように、無線基地局装置は、第１記憶部１１と、第２記憶部１２と、第３記憶部１３と、第４記憶部１４と、ＣＰＵ（Central Processing Unit）２１とを備える。ＣＰＵ２１と、第１記憶部１１、第２記憶部１２、第３記憶部１３、第４記憶部１４とは、バス２２で接続されている。
【００１１】
第１記憶部１１は、ＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）で構成され、ファイルエリア名称が「ＳＤ」であり、記憶容量が７ＭＢ（メガバイト）で、データの読み出し及び書き込みが可能である。第１記憶部１１には、ＣＰＵ２１が動作する動作プログラムを含むファイルで構成される第１データが格納されており、ＣＰＵ２１は、第１記憶部１１に記憶されているデータを読み込みながら動作するようになっている。
【００１２】
第２記憶部１２は、フラッシュＲＯＭで構成され、ファイルエリア名称が「Ｎ」であり、記憶容量が７ＭＢ（メガバイト）で、データの読み出し及び書き込みが可能である。第２記憶部１２には、第１記憶部１１の第１データと同一内容の第２データが記憶されている。
【００１３】
第３記憶部１３は、フラッシュＲＯＭで構成され、ファイルエリア名称が「Ｅ」であり、記憶容量が７ＭＢ（メガバイト）で、データの読み出し及び書き込みが可能である。第３記憶部１３には、第１記憶部１１の第１データと同一内容の第３データが記憶されている。
【００１４】
第４記憶部１４は、フラッシュＲＯＭで構成され、ファイルエリア名称が「Ｓａｆｅ」であり、記憶容量が７ＭＢ（メガバイト）で、データの読み出しは可能であるが、運用中における書き込みは不可能である。第４記憶部１４には、第１記憶部１１の第１データと同一内容の第４データが記憶されている。
第４記憶部１４のデータは、無線基地局装置が運用に入る前の段階で、例えば工場からの出荷時等のタイミングで書き込まれ、無線基地局装置が運用に入った後は、書き換えができないようになっている。これは、装置運用中において、装置の動作プログラムが予期しない異常動作を行って、第４記憶部１４に不正データの書き込みをすることがないようにするためである。
【００１５】
次に、無線基地局装置の電源を投入し、装置を起動するときの動作を、図２を用いて説明する。図２は、本実施形態に係る装置起動時の動作を示す図である。
図２に示すように、まず、ＣＰＵ２１は、第１記憶部１１の第１データを取得して、第１データが正しいか否かを検査する整合性検査を行う（Ｓ２１）。この整合性検査は、例えばサムチェックにより行われる。整合性検査を行った第１データが正常であった場合は、ＣＰＵ２１は、該第１のデータを読み込みながら動作する（Ｓ２６）。
【００１６】
整合性検査を行った第１のデータが異常であった場合は、ＣＰＵ２１は、第２記憶部１２の第２データを取得して、第２データの整合性検査をサムチェック等により行う（Ｓ２２）。第２データが正常であった場合は、ＣＰＵ２１は、該第２のデータを第１記憶部１１に複製して展開し（Ｓ２５）、該展開した第１記憶部１１のデータを読み込みながら動作する（Ｓ２６）。
【００１７】
Ｓ２２で整合性検査を行った第２のデータが異常であった場合は、ＣＰＵ２１は、第３記憶部１３の第３データを取得して、第３データの整合性検査をサムチェック等により行う（Ｓ２３）。第３データが正常であった場合は、ＣＰＵ２１は、該第３のデータを第１記憶部１１に複製して展開し（Ｓ２５）、該展開した第１記憶部１１のデータを読み込みながら動作する（Ｓ２６）。
【００１８】
Ｓ２３で整合性検査を行った第３のデータが異常であった場合は、ＣＰＵ２１は、第４記憶部１４の第４データを取得して、第４データの整合性検査をサムチェック等により行う（Ｓ２４）。第４データが正常であった場合は、ＣＰＵ２１は、該第４のデータを第１記憶部１１に複製して展開し（Ｓ２５）、該展開した第１記憶部１１のデータを読み込みながら動作する（Ｓ２６）。
【００１９】
次に、無線基地局装置の定時照合時の動作を、図３を用いて説明する。図３は、本実施形態に係る定時照合時の動作を示す図である。ここで定時照合とは、無線基地局装置内で自立的に定めた時刻や、上位の管理装置から指示された時刻に、フラッシュＲＯＭ内のデータの整合性を検査することをいう。
【００２０】
図３に示すように、まず、ＣＰＵ２１は、第１記憶部１１の第１データを取得して、サムチェック等により第１データの整合性検査を行い（Ｓ３１）、次に、第２記憶部１２の第２データを取得して、サムチェック等により第２データの整合性検査を行い、次に、第３記憶部１３の第３データを取得して、サムチェック等により第３データの整合性検査を行う。
【００２１】
整合性検査を行った第１記憶部１１の第１データが異常であった場合は、ＣＰＵ２１は、第２記憶部１２の第２データと第３記憶部１３の第３データのうち、いずれか正常な状態であるデータで、第１記憶部１１の第１データを書き換えて更新する（Ｓ３５）。
【００２２】
また、整合性検査を行った第２記憶部１２の第２データが異常であった場合は、ＣＰＵ２１は、第１記憶部１１の第１データと第３記憶部１３の第３データのうち、いずれか正常な状態であるデータで、第２記憶部１２の第２データを書き換えて更新する（Ｓ３２）。
【００２３】
また、整合性検査を行った第３記憶部１３の第３データが異常であった場合は、ＣＰＵ２１は、第１記憶部１１の第１データと第２記憶部１２の第２データのうち、いずれか正常な状態であるデータで、第３記憶部１３の第３データを書き換えて更新する（Ｓ３３）。
【００２４】
また、定時照合時の場合は、ＣＰＵ２１は、第４記憶部１４の第４データの整合性検査を行わない。この理由は、第４記憶部１４は書き込み（Ｓ３４）が不可能なように設定されているので、装置運用中において、装置の動作プログラムが予期しない異常動作を行って、第４記憶部１４に不正データの書き込みをすることがなく、異常データとなる可能性が低いためである。
【００２５】
前記実施形態によれば、ＣＰＵ２１が動作プログラム等を読み込みながら動作する第１記憶部と同一内容のデータを保存する第４記憶部１４を、装置運用中の書き込みが不可能なように設定しているので、装置の動作プログラムが予期しない異常動作を行って第４記憶部１４に不正データの書き込みをすることがなく、第４記憶部１４が異常データとなる可能性を低くすることができる。これにより、第１記憶部のデータが壊れたときに復旧できる可能性を大きくすることができる。
【００２６】
（第２実施形態）
次に、本発明の第２実施形態について説明する。
無線基地局装置やその周辺装置は、複数のプログラムファイルやパラメータファイルを利用して動作するため、通常、ファイルにバージョンを付与し、正常動作するファイルバージョンの組合せを管理している。しかし、バージョンが管理されていても、プログラムファイルの更新をオペレータが行う場合において、人為的なミスによって、誤ったバージョンのファイルを組み合わせてファイル更新してしまう可能性があり、システムの運用で誤動作する恐れがある。
【００２７】
第２実施形態においては、例えば、無線基地局装置やその周辺装置において、ソフトウェアの各種ファイルのバージョンを自動チェックすることにより誤更新防止を行い、不適切なバージョンの組合せにより装置運用停止状態が発生することを防止するものである。
本発明の第２実施形態のファイル更新技術について、図４ないし図８を参照しながら説明する。図４は、本発明の第２実施形態に係るファイル受信装置（装置Ｒ）とファイル送信装置（装置Ｓ）のハードウェア構成の概要を示す図である。
【００２８】
装置Ｒは、複数のファイルを有し、該ファイルが更新される装置であり、例えば第１実施形態の無線基地局装置である。装置Ｒは、図４に示すように、揮発性メモリである第１記憶部１１（ＳＤＲＡＭ）と、不揮発性メモリである第２記憶部１２（フラッシュＲＯＭ）と、ＣＰＵ２１とを備え、さらに、ＦＰＧＡ２３と、送受信部２４とを備える。ＣＰＵ２１と、第１記憶部１１、第２記憶部１２、ＦＰＧＡ２３、送受信部２４は、例えばバス２２で接続されている。第１実施形態と同じものについては、同符号を付し説明を省略する。
送受信部２４は、装置Ｓと各種データを送受信するためのもので、Etherケーブル等の通信路３０を介して、装置Ｓからファイルデータを受信する。
【００２９】
第２記憶部１２には、例えばバージョン１１のプログラムファイルＡ（プログラムファイルＡ１１）を、保持し記憶している。このように、バージョンｎのファイルＭをファイルＭｎと称すことがある。また、バージョン１１のプログラムファイルＢ（プログラムファイルＢ１１）、バージョン１１のプログラムファイルＣ（プログラムファイルＣ１１）、バージョン１１のパラメータファイルａ（パラメータファイルａ１１）、バージョン１１のパラメータファイルｂ（パラメータファイルｂ１１）、バージョン１１のパラメータファイルｃ（パラメータファイルｃ１１）を、保持し記憶している。これらのバージョンが、ファイルごとに異なっていてもよいことは勿論である。
【００３０】
装置ＲのＣＰＵ２１は、第２記憶部１２（フラッシュＲＯＭ）に格納されているプログラムファイルおよびパラメータファイルを、装置起動時に第１記憶部１１（ＳＤＲＡＭ）へ展開し、ＣＰＵ２１、ＦＰＧＡ２３がプログラムを実行し、必要に応じてパラメータファイルの値を参照/更新する。
【００３１】
装置Ｓは、ファイル更新を実施(更新ファイルを送信)する装置であり、例えばＰＣ（パーソナルコンピュータ）で構成される。
装置Ｓは、メモリ４２（ＳＤＲＡＭ）と、記憶部４３（フラッシュＲＯＭ）と、ＣＰＵ４１と、送受信部４４とを備える。ＣＰＵ４１と、メモリ４２、記憶部４３、送受信部４４は、例えばバス４５で接続されている。
送受信部４４は、装置Ｒと各種データを送受信するためのもので、通信路３０を介して、装置Ｒへファイルデータを送信する。
【００３２】
記憶部４３には、更新用のファイル、例えば、プログラムファイルＡ１２（バージョン１２のプログラムファイルＡ）、プログラムファイルＢ１２、プログラムファイルＣ１２、パラメータファイルａ１２、パラメータファイルｂ１２、パラメータファイルｃ１２を、保持し記憶している。
【００３３】
次に、第２実施形態に係るファイルフォーマットの構成例を説明する。図５は、本発明の第２実施形態に係るプログラムファイルおよびパラメータファイルのフォーマットの構成例を示す図である。これらのプログラムファイルおよびパラメータファイルは、装置Ｒの第２記憶部１２（フラッシュＲＯＭ）や、装置Ｓの記憶部４３に記憶されているものである。
図５に示すように、各ファイルのヘッダ部には、当該ファイルの種別を表すファイル種別５１と、当該ファイルのバージョンを表すファイルバージョン５２が記憶されている。図５の例では、先頭のファイル種別５１はＡ、そのファイル種別Ａのファイルバージョン５２は１１である。
【００３４】
その次に、当該バージョンのファイル（プログラムファイルＡ１１）が他のファイルのどのバージョンと対応可能か、つまり、当該ファイルＡ１１と組み合わせて動作させたときに正常動作する他のファイルのバージョンがどの範囲にあるかを示す、対応バージョン５３が記憶されている。
図５の例では、ファイル種別Ａ、つまり自ファイルの下限バージョン５４と上限バージョン５５（図５の対応Ａバージョン）、ファイル種別Ｂの下限バージョンと上限バージョン（対応Ｂバージョン）、ファイル種別Ｃの下限バージョンと上限バージョン（対応Ｃバージョン）、ファイル種別ａの下限バージョンと上限バージョン（対応ａバージョン）、ファイル種別ｂの下限バージョンと上限バージョン（対応ｂバージョン）、ファイル種別ｃの下限バージョンと上限バージョン（対応ｃバージョン）が記憶されている。
ここで、下限バージョンは最も古いバージョンを、上限バージョンは最も新しいバージョンを表す。
【００３５】
例えば、プログラムファイルＡ１１の対応Ｂバージョン、すなわち、ファイル種別Ｂの下限バージョンが１で上限バージョンが１５の場合は、当該プログラムファイルＡ１１は、バージョンが１〜１５のプログラムファイルＢと組み合わせて動作させたときに正常動作することを意味する。
なお、自ファイルの対応バージョン（図５の例では対応Ａバージョン）の下限バージョンには最小値（例えば０:ゼロ）を、上限バージョンには最大値（例えば２５５）を設定するが、この自ファイルの対応バージョン（図５の例では対応Ａバージョン）は、必ずしも必要ではなく省略することもできる。
【００３６】
同様にして、図５には記載を省略しているが、プログラムファイルＢ１１が他のファイルのどのバージョンと対応可能か、つまり、当該ファイルと組み合わせて動作させたときに正常動作する他のファイルのバージョンがどの範囲にあるかを示す、対応バージョン（対応Ａ〜Ｃ,ａ〜ｃバージョン）が記憶されている。
以下同様にして、図５には記載を省略しているが、プログラムファイルＣ１１が他のファイルのどのバージョンと対応可能かを示す対応バージョン（対応Ａ〜Ｃ,ａ〜ｃバージョン）、パラメータファイルａ１１が他のファイルのどのバージョンと対応可能かを示す対応バージョン（対応Ａ〜Ｃ,ａ〜ｃバージョン）、パラメータファイルｂ１１が他のファイルのどのバージョンと対応可能かを示す対応バージョン（対応Ａ〜Ｃ,ａ〜ｃバージョン）、パラメータファイルｃ１１が他のファイルのどのバージョンと対応可能かを示す対応バージョン（対応Ａ〜Ｃ,ａ〜ｃバージョン）が記憶されている。
さらに続いて、各プログラムファイルや各パラメータファイルの内容が記憶されている。
【００３７】
次に、第２実施形態に係るファイル更新シーケンスを、図６ないし図８を用いて説明する。図６は、第２実施形態に係るファイル更新シーケンスを示す図である。図７は、第２実施形態において、ファイル更新開始要求を受信した装置Ｒが第１記憶部１１（ＳＤＲＡＭ）上に展開したバージョンチェックテーブルとファイルバージョンテーブルを示す図である。図８は、第２実施形態において、受信した更新ファイルにより、図７のバージョンチェックテーブルとファイルバージョンテーブルが更新された状態を示す図である。
【００３８】
まず、装置Ｓ（例えばパソコン）内に更新しようとする内容の更新ファイルを準備し、装置Ｓの送受信部４４からから装置Ｒの送受信部２４へ、通信路３０を介してファイル更新開始要求を送信する（図６のステップＳ１）。
ファイル更新開始要求を受信した装置Ｒは、第１記憶部１１（ＳＤＲＡＭ）上に、図７に示すファイルバージョンテーブル７２およびバージョンチェックテーブル７１を展開する（ステップＳ２）。詳しくは、装置Ｒの第２記憶部１２（フラッシュＲＯＭ）から、各ファイル種別(Ａ〜Ｃ、ａ〜ｃ)のヘッダ部を読み出し、各ファイル種別のファイルバージョン値（例えば各ファイル種別Ａ〜Ｃ、ａ〜ｃのＶｅｒ．１１）をファイルバージョンテーブル７２に設定し（図７参照）、各ファイル種別の対応バージョンの下限バージョンと上限バージョンを、バージョンチェックテーブル７１に設定する。
【００３９】
例えば、図７のバージョンチェックテーブル７１に示すように、ファイル種別Ａについては、対応Ａバージョンの下限バージョン０と上限バージョン２５５、対応Ｂバージョンの下限バージョン１と上限バージョン１１、対応Ｃバージョンの下限バージョン３と上限バージョン１１、対応ａバージョンの下限バージョン１０と上限バージョン１１、対応ｂバージョンの下限バージョン１１と上限バージョン１１、対応ｃバージョンの下限バージョン９と上限バージョン１１を設定する。
同様に、ファイル種別Ｂ〜Ｃ、ａ〜ｃについても、それぞれ、対応Ａバージョン〜対応ｃバージョンの下限バージョンと上限バージョンを設定する。
【００４０】
このようにして、ファイルバージョンテーブル７２とバージョンチェックテーブル７１の全項目に対して設定完了後、装置Ｒは、装置Ｓへファイル更新開始応答を送信する（ステップＳ３）。
ファイル更新開始応答を受信した装置Ｓは、記憶部４３から更新ファイルを読み出し、装置Ｓの送受信部４４から装置Ｒの送受信部２４へ、通信路３０を介して、更新ファイルを順次送信する、具体的にはまず、プログラムファイルＡ１２（ファイル種別ＡのＶｅｒ．１２）を送信する（ステップＳ４）。
このとき送信するプログラムファイルＡ１２には、ファイル種別（Ａ）、ファイルバージョン（Ｖｅｒ．１２）、プログラムファイルＡ１２に対応可能な他のファイルのバージョンを示す対応バージョン（対応Ａバージョン〜対応ｃバージョン）、ファイル内容（プログラム内容）が含まれている。
【００４１】
更新ファイルＡ１２を受信した装置Ｒは、該更新ファイルＡ１２を第１記憶部１１（ＳＤＲＡＭ）上に保持する（ステップＳ５）。該保持した更新ファイルＡ１２のヘッダ部を読み出し、ファイル種別を調べ、ファイル種別(この場合はＡ)に対応するファイルバージョンテーブル７２に該受信ファイルのバージョン（Ｖｅｒ．１２）を設定し更新する（図８参照）。また、バージョンチェックテーブル７１のファイル種別Ａに関する対応Ａバージョン〜対応ｃバージョンの下限バージョンおよび上限バージョンに、受信したプログラムファイルＡ１２に含まれる対応Ａバージョン〜対応ｃバージョンの上下限バージョンを設定し更新する（ステップＳ６）。
【００４２】
図８の例では、ファイル種別Ａについては、対応Ａバージョンの下限バージョン０と上限バージョン２５５、対応Ｂバージョンの下限バージョン１０と上限バージョン１２、対応Ｃバージョンの下限バージョン１０と上限バージョン１２、対応ａバージョンの下限バージョン１１と上限バージョン１２、対応ｂバージョンの下限バージョン１１と上限バージョン１２、対応ｃバージョンの下限バージョン１１と上限バージョン１２が設定される。
装置Ｒは、以上説明したファイルバージョンテーブル７２とバージョンチェックテーブル７１の設定完了後、装置Ｓに対して受信完了通知を送信する（ステップＳ７）。
【００４３】
受信完了通知を受信した装置Ｓは、記憶部４３から次の更新ファイルＢ１２（ファイル種別ＢのＶｅｒ．１２）を読み出し、装置Ｓの送受信部４４から装置Ｒの送受信部２４へ、通信路３０を介して、更新ファイルＢ１２を送信する。
更新ファイルＢ１２を受信した装置Ｒは、前述した更新ファイルＡ１２と同様に、更新ファイルＢ１２を第１記憶部１１（ＳＤＲＡＭ）上に保持し、ファイルバージョンテーブル７２とバージョンチェックテーブル７１の値を更新する。更新後、装置Ｓに対して受信完了通知を送信する。
【００４４】
受信完了通知を受信した装置Ｓは、同様の更新ファイル送信動作を繰り返した後、最後の更新ファイルｃ１２（ファイル種別ｃのＶｅｒ．１２）を、記憶部４３から読み出し、装置Ｓの送受信部４４から装置Ｒの送受信部２４へ、通信路３０を介して送信する（ステップＳ８）。
更新ファイルｃ１２を受信した装置Ｒは、更新ファイルｃ１２を第１記憶部１１（ＳＤＲＡＭ）上に保持し（ステップＳ９）、ファイルバージョンテーブル７２とバージョンチェックテーブル７１の値を更新する（ステップＳ１０）。更新後、装置Ｓに対して受信完了通知を送信する（ステップＳ１１）。
【００４５】
最後の更新ファイルｃ１２に対する受信完了通知を受信した装置Ｓは、ファイル更新終了要求を装置Ｒへ送信する（ステップＳ１２）、つまり、更新ファイルを全て(任意の数)送信した後、ファイル更新終了要求を送信する。
【００４６】
装置Ｒは、ファイル更新終了要求を受信することにより、装置Ｓからの更新ファイルが全て送信されたことを認識し、バージョンチェックテーブル７１のファイル種別Ａ〜Ｃ、ａ〜ｃの順にバージョンチェック処理を行う（ステップＳ１３）。バージョンチェック処理の詳細は後述する。
装置Ｒは、バージョンチェックがＯＫであった場合は（ステップＳ１４でＯＫ）、揮発性メモリである第１記憶部１１（ＳＤＲＡＭ）上に保持していた更新ファイルを、不揮発性メモリである第２記憶部１２（フラッシュＲＯＭ）へ格納して保存し（ステップＳ１５）、ファイル更新終了応答（ＯＫ）を装置Ｓへ送信して（ステップＳ１６）、ファイル更新処理を終了する。
【００４７】
装置Ｒは、バージョンチェックがＮＧ（No  Good）であった場合は（ステップＳ１４でＮＧ）、揮発性メモリである第１記憶部１１（ＳＤＲＡＭ）上に保持していた更新ファイルを破棄し（ステップＳ１７）、ファイル更新終了応答（ＮＧ）を装置Ｓへ送信して（ステップＳ１８）、ファイル更新処理を終了する。
【００４８】
次に、第２実施形態に係るバージョンチェック方法を、図８を用いて説明する。図８は、装置Ｒの第１記憶部１１（ＳＤＲＡＭ）上において、ファイルバージョンテーブル７２が、装置Ｓから送信された更新ファイル（Ａ〜Ｃ、ａ〜ｃ）に含まれるファイルバージョン情報により更新され、バージョンチェックテーブル７１が、装置Ｓから送信された更新ファイルに含まれる対応バージョン情報により更新された状態を示す図である。
この例では、装置Ｒの有する全てのファイル種別（Ａ〜Ｃ、ａ〜ｃ）に対し、それぞれ更新ファイルが送信されるので、該送信された全てのファイル種別について、対応バージョンのチェックを行う。
【００４９】
まず、装置ＲのＣＰＵ２１は、ファイルバージョンテーブル７２の種別Ａのファイルバージョンが、バージョンチェックテーブル７１のファイル種別Ａに関する対応Ａバージョンの下限バージョンと上限バージョンの範囲内（上下限バージョンどちらかに一致する場合も含む）にあるか否かチェック（図８のステップＳ７１）し、条件を満たす場合はＯＫ、満たさない場合はＮＧとする。
図８の例では、ファイルバージョンテーブル７２の種別Ａのファイルバージョンが１２であり、バージョンチェックテーブル７１のファイル種別Ａに関する対応Ａバージョンの下限バージョンが０で上限バージョンが２５５なので、ＯＫとする。
【００５０】
ステップＳ７１でＯＫの場合は、次に、ファイルバージョンテーブル７２の種別Ｂのファイルバージョンが、バージョンチェックテーブル７１のファイル種別Ａに関する対応Ｂバージョンの下限バージョンと上限バージョンの範囲内にあるか否かチェック（ステップＳ７２）し、条件を満たす場合はＯＫ、満たさない場合はＮＧとする。
【００５１】
以降、同様にして、ファイルバージョンテーブル７２に示されるファイル種別Ａ〜Ｃ、ａ〜ｃの更新後のバージョンが、それぞれ、バージョンチェックテーブル７１のファイル種別Ａに関する対応バージョンを満足するか否かについて、対応cバージョンまでチェックを行う。
このようにして、バージョンチェックテーブル７１のファイル種別Ａに関する対応バージョンのチェックが完了した後、次に、バージョンチェックテーブル７１のファイル種別Ｂに関する対応バージョンのチェックを行い（ステップＳ８１）、順次、バージョンチェックテーブル７１のファイル種別ｃに関する対応バージョンのチェックまで行う（ステップＳ８９）。
【００５２】
これらのチェック途中でＮＧがあった場合は、装置Ｓから受信して装置Ｒの第１記憶部１１（ＳＤＲＡＭ）上に保持していた更新ファイル(プログラムファイルＡ１２〜Ｃ１２およびパラメータファイルa１２〜c１２)、ファイルバージョンテーブル７２およびバージョンチェックテーブル７１を全て破棄して、装置Ｓに対して前述のファイル更新終了応答(処理結果:ＮＧ)を送信し、ファイル更新処理を終了する。
【００５３】
これらのチェックが全てＯＫの場合は、第１記憶部１１（ＳＤＲＡＭ）上に保持していた更新ファイル(プログラムファイルＡ１２〜Ｃ１２およびパラメータファイルa１２〜c１２)を、全て不揮発性の第２記憶部１２（フラッシュＲＯＭ）に書き込む。
第２記憶部１２への書込み完了後、第１記憶部１１（ＳＤＲＡＭ）上の更新ファイル全てと、ファイルバージョンテーブル７２およびバージョンチェックテーブル７１を全て破棄して、装置Ｓに対してファイル更新終了応答(処理結果：ＯＫ)を送信し、ファイル更新処理を終了する。
【００５４】
以上の図８の説明では、装置Ｓから全てのファイル種別（Ａ〜Ｃ、ａ〜ｃ）に対し、それぞれ更新ファイルが送信される場合について述べたが、例えば、装置Ｓからファイル種別Ｂに対してのみ、更新ファイルが送信されることも可能である。この場合は、送信されたファイル種別Ｂについてのみ、対応バージョンのチェックを行う。
具体的には、装置ＲのＣＰＵ２１は、ファイルバージョンテーブル７２の種別Ａのファイルバージョン（１２）が、バージョンチェックテーブル７１のファイル種別Ｂに関する対応Ａバージョンの下限バージョン（１０）と上限バージョン（１２）の範囲内にあるか否かチェックする（ステップＳ８１）。
【００５５】
次に、ファイルバージョンテーブル７２の種別Ｂのファイルバージョン（１２）が、バージョンチェックテーブル７１のファイル種別Ｂに関する対応Ｂバージョンの下限バージョン（０）と上限バージョン（２５５）の範囲内にあるか否かチェックする。
次に、ファイルバージョンテーブル７２の種別Ｃのファイルバージョン（１２）が、バージョンチェックテーブル７１のファイル種別Ｂに関する対応Ｃバージョンの下限バージョン（１０）と上限バージョン（１２）の範囲内にあるか否かチェックする。
【００５６】
次に、ファイルバージョンテーブル７２の種別ａのファイルバージョン（１２）が、バージョンチェックテーブル７１のファイル種別Ｂに関する対応ａバージョンの下限バージョン（１１）と上限バージョン（１２）の範囲内にあるか否かチェックする。
次に、ファイルバージョンテーブル７２の種別ｂのファイルバージョン（１２）が、バージョンチェックテーブル７１のファイル種別Ｂに関する対応ｂバージョンの下限バージョン（１１）と上限バージョン（１２）の範囲内にあるか否かチェックする。
次に、ファイルバージョンテーブル７２の種別ｃのファイルバージョン（１２）が、バージョンチェックテーブル７１のファイル種別Ｂに関する対応ｃバージョンの下限バージョン（１１）と上限バージョン（１２）の範囲内にあるか否かチェックする。
【００５７】
これらのチェックが全てＯＫの場合は、前述したように、第１記憶部１１（ＳＤＲＡＭ）上に保持していた更新ファイル(プログラムファイルＢ１２)を、不揮発性の第２記憶部１２（フラッシュＲＯＭ）に書き込み、装置Ｓに対してファイル更新終了応答(処理結果：ＯＫ)を送信し、ファイル更新処理を終了する。いずれかＮＧの場合は、前述したように、装置Ｓに対してファイル更新終了応答(処理結果：ＮＧ)を送信し、ファイル更新処理を終了する。
【００５８】
以上説明した第２実施形態によれば、誤った組み合わせのプログラムやパラメータを装置に格納することを防止し、装置の誤動作を防ぐことが可能となる。
【００５９】
なお、本発明は、前記各実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々に変更が可能であることはいうまでもない。
例えば、上述の第１実施形態では、ＣＰＵ２１がプログラム等を読み込みながら動作する記憶部である第１記憶部１１をＳＤＲＡＭで構成し、第１記憶部１１の第１データと同一内容のデータを保存する第２記憶部１２、第３記憶部１３、第４記憶部１４をフラッシュＲＯＭで構成したが、これに限られるものではない。
また、上述の第１実施形態において、第１記憶部１１の第１データと同一内容のデータを保存する記憶部を、読み書き可能な第２記憶部１２と、書き込み不可能、又は条件付での書き込み可能な第４記憶部１４のみから構成することもでき、あるいは、書き込み不可能、又は条件付での書き込み可能な第４記憶部１４のみから構成することもできる。つまり、第４記憶部１４のデータは、無線基地局装置が運用に入る前の段階で、例えば工場からの出荷時等のタイミングで書き込まれる。無線基地局装置が運用に入った後は、第４記憶部１４のデータを第１記憶部１１（ＳＤＲＡＭ）の任意のエリアへコピーし、運用状態中に第４記憶部１４との照合を行い、データの整合性を保つメカニズムを備える。そして、定時照合時の場合に、ＣＰＵ２１は、第４記憶部１４の第４データの整合性検査を行うように構成してもよい。第４記憶部１４のデータは、工場出荷時のみ書き込まれるユニークなデータであり、上記の通り、第４記憶部１４のデータを第１記憶部１１の任意のエリアへコピーし照合を行い、第４記憶部１４のデータを独自で整合性を保つようにする。第１記憶部１１と第４記憶部１４を各々独立した照合を行うようにすることによって、第１記憶部１１及び第２記憶部１２、第３記憶部１３が異常状態となった場合でも、第４記憶部１４のデータで復旧できる可能性を大きくすることができる。
また、本発明に係る技術は、無線基地局装置に限られず、ソフトウェアファイルを有する電子装置に適用可能である。
また、本発明は、本発明に係る処理を実行する装置としてだけでなく、方法やシステムとして、或いは、このような方法やシステムを実現するためのプログラムや当該プログラムを記録する記録媒体などとして把握することができる。
【００６０】
本明細書の記載事項には、少なくとも次の発明が含まれる。
第１の発明は、
データの読み出し及び書き込みが可能であって、無線基地局装置の動作に必要な第１のデータを記憶する第１の記憶部と、
前記第１の記憶部と接続され、前記第１の記憶部のデータを読み込みながら動作するＣＰＵと、
前記ＣＰＵと接続され、データの読み出し及び書き込みが可能であって、前記第１のデータと同一内容の第２のデータを記憶する第２の記憶部と、
前記ＣＰＵと接続され、データの読み出し及び書き込みが可能であって、前記第１のデータと同一内容の第３のデータを記憶する第３の記憶部と、
前記ＣＰＵと接続され、データの読み出しが可能かつ書き込みが不可能であって、前記第１のデータと同一内容の第４のデータを記憶する第４の記憶部とを備え、
前記ＣＰＵは、無線基地局装置の起動時において、前記第１の記憶部の第１のデータの整合性検査を行い、該第１のデータが正常である場合は、該第１のデータを読み込みながら動作し、前記整合性検査を行った第１のデータが異常である場合は、前記第２の記憶部の第２のデータの整合性検査を行い、該第２のデータが正常である場合は、該第２のデータを前記第１の記憶部に展開し、該第１の記憶部に展開した第２のデータを読み込みながら動作し、前記整合性検査を行った第２のデータが異常である場合は、前記第３の記憶部の第３のデータの整合性検査を行い、該第３のデータが正常である場合は、該第３のデータを前記第１の記憶部に展開し、該第１の記憶部に展開した第３のデータを読み込みながら動作し、前記整合性検査を行った第３のデータが異常である場合は、前記第４の記憶部の第４のデータの整合性検査を行い、該第４のデータが正常である場合は、該第４のデータを前記第１の記憶部に展開し、該第１の記憶部に展開した第４のデータを読み込みながら動作することを特徴とする無線基地局装置。
【００６１】
第２の発明は、
データの読み出し及び書き込みが可能であって、無線基地局装置の動作に必要な第１のデータを記憶する第１の記憶部と、
前記第１の記憶部と接続され、前記第１の記憶部のデータを読み込みながら動作するＣＰＵと、
前記ＣＰＵと接続され、データの読み出し及び書き込みが可能であって、前記第１のデータと同一内容の第２のデータを記憶する第２の記憶部と、
前記ＣＰＵと接続され、データの読み出しが可能かつ書き込みが不可能であって、前記第１のデータと同一内容の第３のデータを記憶する第３の記憶部とを備え、
前記ＣＰＵは、無線基地局装置の起動時において、前記第１の記憶部の第１のデータの整合性検査を行い、該第１のデータが正常である場合は、該第１のデータを読み込みながら動作し、前記整合性検査を行った第１のデータが異常である場合は、前記第２の記憶部の第２のデータの整合性検査を行い、該第２のデータが正常である場合は、該第２のデータを前記第１の記憶部に展開し、該第１の記憶部に展開した第２のデータを読み込みながら動作し、前記整合性検査を行った第２のデータが異常である場合は、前記第３の記憶部の第３のデータの整合性検査を行い、該第３のデータが正常である場合は、該第３のデータを前記第１の記憶部に展開し、該第１の記憶部に展開した第３のデータを読み込みながら動作することを特徴とする無線基地局装置。
【００６２】
第３の発明は、
データの読み出し及び書き込みが可能であって、無線基地局装置の動作に必要な第１のデータを記憶する第１の記憶部と、
前記第１の記憶部と接続され、前記第１の記憶部のデータを読み込みながら動作するＣＰＵと、
前記ＣＰＵと接続され、データの読み出しが可能かつ書き込みが不可能であって、前記第１のデータと同一内容の第２のデータを記憶する第２の記憶部とを備え、
前記ＣＰＵは、無線基地局装置の起動時において、前記第１の記憶部の第１のデータの整合性検査を行い、該第１のデータが正常である場合は、該第１のデータを読み込みながら動作し、前記整合性検査を行った第１のデータが異常である場合は、前記第２の記憶部の第２のデータの整合性検査を行い、該第２のデータが正常である場合は、該第２のデータを前記第１の記憶部に展開し、該第１の記憶部に展開した第２のデータを読み込みながら動作することを特徴とする無線基地局装置。
【００６３】
第４の発明は、
バージョンを有する更新ファイルを受信し、該更新ファイルを複数組み合わせて動作する電子装置であって、
前記電子装置の有する複数のファイルについて、それぞれ、ファイル種別と対応させてバージョン情報を記憶するファイルバージョンテーブルと、
該ファイルバージョンテーブルに記憶したバージョン情報を有するファイルに対して、該バージョン情報のファイルと組み合わせて動作可能な他のファイルのバージョン情報である対応バージョン情報を記憶するバージョンチェックテーブルとを備え、
更新ファイルのバージョン情報と、該更新ファイルの対応バージョン情報とを受信すると、前記受信した更新ファイルのバージョン情報で前記ファイルバージョンテーブルを更新するとともに前記受信した更新ファイルの対応可能バージョン情報で前記バージョンチェックテーブルを更新し、前記更新後におけるファイルバージョンテーブルの全てのファイルのバージョン情報が、前記更新後のバージョンチェックテーブルにおける前記受信した更新ファイルの対応バージョン情報の範囲内にあるか否かをチェックすることを特徴とする電子装置。
【符号の説明】
【００６４】
１１…第１記憶部、１２…第２記憶部、１３…第３記憶部、１４…第４記憶部、２１…ＣＰＵ、２２…バス、２３…ＦＰＧＡ、２４…送受信部、３０…通信路、４１…ＣＰＵ、４２…メモリ、４３…記憶部、４４…送受信部、４５…バス、７１…バージョンチェックテーブル、７２…ファイルバージョンテーブル。
【図１】
2012212415.tif 000003
【図２】
2012212415.tif 000004
【図３】
2012212415.tif 000005
【図４】
2012212415.tif 000006
【図５】
2012212415.tif 000007
【図６】
2012212415.tif 000008
【図７】
2012212415.tif 000009
【図８】
2012212415.tif 000010