JP2005182484A - 通信装置およびプログラム更新方法 - Google Patents

通信装置およびプログラム更新方法 Download PDF

Info

Publication number
JP2005182484A
JP2005182484A JP2003422822A JP2003422822A JP2005182484A JP 2005182484 A JP2005182484 A JP 2005182484A JP 2003422822 A JP2003422822 A JP 2003422822A JP 2003422822 A JP2003422822 A JP 2003422822A JP 2005182484 A JP2005182484 A JP 2005182484A
Authority
JP
Japan
Prior art keywords
program
control unit
control
management unit
program management
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2003422822A
Other languages
English (en)
Inventor
Hidenori Hishimoto
英則 菱本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
MX Mobiling Ltd
Original Assignee
NEC Corp
MX Mobiling Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp, MX Mobiling Ltd filed Critical NEC Corp
Priority to JP2003422822A priority Critical patent/JP2005182484A/ja
Publication of JP2005182484A publication Critical patent/JP2005182484A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】 容易かつ高い信頼性でプログラムの更新が可能なプログラム更新方法および通信装置を提供する。
【解決手段】 プログラム管理部10は、制御部20の制御プログラムを更新するとき、汎用プロトコルを用いて、更新用の制御プログラムをネットワーク40を介して制御部20に送る。制御部20は、制御プログラムを、ネットワーク40を介して受信して格納用メモリ22に格納する。そして、制御部20は、格納用メモリ22から動作用メモリ23に制御プログラムを展開して実行する。プログラム管理部10と制御部20の間で汎用プロトコルで定期的に通信を行うことにより、プログラム管理部10は制御部20の正常性を確認し、制御部20は、プログラム管理部10のIPアドレス解決およびプログラム管理部10との間のコネクション確立を行う。
【選択図】 図1

Description

本発明は、移動通信システムに用いられる基地局装置に関し、特に、基地局装置における制御プログラムの更新に関する。
移動通信システムにおける基地局装置は、通常、ソフトウェアまたはファームウェアによって動作する。そのために制御部にはプログラムが格納されたROMが実装されている。ROMとしては、電源が供給されていない状態でもデータを保持することのできる不揮発性のフラッシュメモリが用いられるのが一般的である。基地局装置は、このプログラムを更新することにより機能を向上し、また改善することができる。
従来の基地局装置におけるプログラム更新方法として、制御部のROMを新たなプログラムを格納したものに交換する方法がある。しかし、この方法では、保守者がシステム全体を一旦停止し、手作業でROMを交換しなければならず、作業が煩雑で時間のかかるものであった。
また、従来の他のプログラム更新方法として、予め更新用のプログラムを記録しておいた端末装置から基地局装置にロードする方法があった。しかし、基地局装置の架内において制御部が現用予備の冗長構成を有する場合、端末装置から予備系制御部のメモリおよび現用系制御部のメモリに制御プログラムを書き込む必要があった。
現用系制御部と予備系制御部のそれぞれに専用の信号線から直接にデータを書き込むこととすると、通常、現用系と予備系の切り替えを行って予備系の制御部にプログラムを書き込むこととなるので、系を切り替えるためのスイッチ等のツールが必要となり構成が複雑になるという問題点があった。
それに対して従来のさらに他のプログラム更新方法として、基地局装置に、制御部とは別にプログラム管理部を設けておき、プログラム管理部から制御部にプログラムをダウンロードする方法があった(例えば、特許文献1参照)。この方法によれば、プログラム管理部に更新用プログラムを入力するだけで各制御部のプログラムを更新することができる。
特開2002−123398号公報
プログラム管理部から制御部にプログラムをダウンロードする従来の方法では、現用系制御部および予備系制御部のどちらにもプログラムを書き込める必要がある。そのために、現用系制御部と予備系制御部を相互に接続し、通常の処理に用いられる架内共通バスを用いるのが好ましいが、そうすると架内共通バスに高負荷がかかってしまい、通常の処理に遅延が生じるというような問題点があった。
また、通常の処理とは別個の伝送路を制御部とプログラム管理部の間に設け、それを用いることも考えられるが、その場合、開発コストや機器コストを考慮すれば、一般的には比較的簡易なプロトコルでプログラムのダウンロードを行うこととなるので、データ転送の信頼性は高くなく、エラーが発生する可能性があった。
本発明の目的は、容易かつ高い信頼性でプログラムの更新が可能なプログラム更新方法および通信装置を提供することである。
上記目的を達成するために、本発明の通信装置は、制御プログラムで動作することにより所望の機能を実現する通信装置であって、
汎用プロトコルにより通信可能にネットワークに接続されており、前記制御プログラムを、前記ネットワークを介して更新可能に格納用メモリに格納しており、前記格納用メモリから動作用メモリに前記制御プログラムを展開して実行する制御部と、
前記ネットワークに接続されており、前記制御部の前記制御プログラムを更新するとき、前記汎用プロトコルを用いて、更新用の制御プログラムを前記ネットワークを介して前記制御部に送るプログラム管理部とを有している。
本発明によれば、装置内での信号の送受信には通常用いられることのない汎用プロトコルを用いて、プログラム管理部から制御部へ制御プログラムを送るので、信頼性の高い通信手段を容易に得ることができる。
また、前記ネットワークはIPネットワークであり、前記プログラム管理部と前記制御部の間で前記汎用プロトコルの1つであるUDPで定期的に通信を行うことにより、
前記プログラム管理部は前記制御部の正常性を確認し、
前記制御部は、前記プログラム管理部のIPアドレス解決および前記プログラム管理部との間のコネクション確立を行うこととしてもよい。
したがって、一般にはFTPのような汎用プロトコルでサーバからクライアントにファイルを転送する場合、クライアントがファイルを正常に受信できる状態か否かサーバは知ることができず、またIPアドレス解決もできないので、制御プログラムの更新のように確実なファイルの送達を要する部分に適用することができなかったが、本発明によれば、プログラム管理部から制御部へのUDPによる定期的なヘルスチェックにより、制御部の正常性確認、およびIPアドレス解決を行なうことができるので、確実なファイルの送達が可能である。また、何らかの要因でネットワークに障害が発生してコネクションが一旦切断されても、ネットワークが復旧すれば、UDPによる定期的な通信により、コネクションを早期に再確立することができる。
また、前記プログラム管理部は、前記制御部との間のコネクションが確立されると、前記制御部との間で前記汎用プロトコルの1つであるTCPで通信を行なうことにより、前記制御部で運用されている制御プログラムのバージョンの情報を取得し、該バージョンが、自身の管理している、前記制御部で運用されるべき制御プログラムのバージョンと一致しなければ、自身の管理しているバージョンの制御プログラムを、前記汎用的なプロトコルの1つであるFTPを用いて前記制御部に送ることとしてもよい。
また、前記制御部は、前記プログラム管理部から受けた前記制御プログラムを前記格納用メモリに格納した後に、自身をリセットすることにより、前記プログラム管理部から受けた新たな前記制御プログラムで起動し直すこととしてもよい。
また、前記制御部は現用系と予備系の少なくとも2つがあり、
前記プログラム管理部は、現用系の前記制御部の前記制御プログラムを更新するとき、前記制御部に系切り替えを指示し、現用系の前記制御部が予備系となった後にリセットを指示することとしてもよい。
したがって、現用系の制御部と予備系の制御部からなる冗長構成の場合において、プログラム管理部は、現用系の制御部の制御プログラムを更新するとき、系切り替えにより現用系を予備系にしてからリセットするので、システムの運用を継続しながら制御プログラムの更新をすることができる。
また、前記プログラム管理部および前記制御部は、前記汎用プロトコルで所定の相手とのみ通信を行なうために、予め定められたポートだけを開いて相互に通信することとしてもよい。
したがって、プログラム管理部と制御部間に汎用プロトコルを用いているが、各部は相互の通信に必要なポートだけを開き、他のポートを開かないので、悪意者による侵入などの攻撃を防止することができる。
また、移動通信システムにおいて基地局装置として機能することとしてもよい。
本発明のプログラム更新方法は、制御部で用いられる制御プログラムをプログラム管理部で管理する通信装置において、前記制御部で用いられる前記制御プログラムを更新するためのプログラム更新方法であって、
前記プログラム管理部が、ネットワークを介して通信可能に接続された前記制御部に対して、汎用プロトコルで更新用の制御プログラムを送るステップと、
前記制御部が、前記プログラム管理部から前記ネットワークを介して受信した前記更新用の制御プログラムを格納用メモリに格納するステップと、
前記制御部が、前記格納用メモリから動作用メモリに前記制御プログラムを展開して実行するステップとを有している。
本発明によれば、通常、装置間の信号の送受信に用いられ、装置内での信号の送受信には用いられることのない汎用プロトコルを用いて、プログラム管理部から制御部へ制御プログラムを送るので、信頼性の高い通信手段を容易に得ることができ、また通常の処理に与える影響を低減することができる。
また、一般にはFTPでサーバからクライアントにファイルを転送する場合、クライアントがファイルを正常に受信できる状態か否かサーバは知ることができず、またIPアドレス解決もできないので、制御プログラムの更新のように確実なファイルの送達を要する部分に適用することができなかったが、本発明によれば、プログラム管理部から制御部へのUDPによる定期的なヘルスチェックにより、制御部の正常性確認、およびIPアドレス解決を行なうことができるので、確実なファイルの送達が可能である。また、何らかの要因でネットワークに障害が発生してコネクションが一旦切断されても、ネットワークが復旧すれば、UDPによる定期的な通信により、コネクションを早期に再確立することができる。
また、現用系の制御部と予備系の制御部からなる冗長構成の場合において、プログラム管理部は、現用系の制御部の制御プログラムを更新するとき、系切り替えにより現用系を予備系にしてからリセットするので、システムの運用を継続しながら制御プログラムの更新をすることができる。
また、プログラム管理部と制御部間に汎用プロトコルを用いているが、各部は相互の通信に必要なポートだけを開き、他のポートを開かないので、悪意者による侵入などの攻撃を防止することができる。
本発明の一実施形態について図面を参照して詳細に説明する。
図1は、本発明の一実施形態による基地局装置の構成を示すブロック図である。図1を参照すると、基地局装置1は、プログラム管理部10および制御部201〜20nを有している。プログラム管理部10および制御部201〜20nは全てスイッチングハブ30によるネットワーク40で接続されている。
プログラム管理部10は制御部201〜20nで用いられるプログラム(以下、制御プログラムと称す)を管理しており、必要に応じて新たな制御プログラムを各制御部201〜20nにダウンロードし、更新する。プログラム管理部10は冗長構成をとってもよいが、図1には冗長のない構成が例示されている。
制御部201〜20nは、制御プログラムを実行することにより、基地局装置の様々な機能を実現する。制御部201〜20nもまた冗長構成をとってもよく、全現用、現用/予備、N+1など様々な冗長構成をとることができる。どのような冗長構成を採用するかは、システム規模、各部の故障率、装置に要求される信頼性などから決定すればよい。
ここで、全現用構成とは、全ての制御部201〜20nが現用系として負荷分散して動作する構成である。現用/予備構成とは、制御部が1対1の対をなし、常にいずれか一方の制御部(現用系)が正常に運用されており、他方はその予備(予備系)として確保される構成である。現用系の制御部が正常な運用を続けられなくなると、予備系がそれに代わって動作する。N+1構成とは、負荷分散して正常運用するN個の制御部に対して1つの制御部が予備として備えられており、N個の制御部のうちいずれかが正常運用できなくなると、予備の制御部がそれに代わって動作する構成である。
また、制御部201〜20nは、基地局装置の有する各機能を分担することにより、全体として基地局装置の機能を実現することとしてもよい。
スイッチングハブ30は、MACアドレスによるスイッチング機能を有する一般的なスイッチングハブである。スイッチングハブ30は、各ポートに接続された機器(ここでは、プログラム管理部10および制御部201〜20n)の物理アドレス( HYPERLINK "http://yougo.ascii24.com/gh/06/000651.html" MACアドレス)を学習し、通信に必要なポート同士をスイッチング機能により直結してデータをやり取りできるようにする。これにより伝送路の帯域を有効に活用し、スループットを上げることができる。
ネットワーク40は、IPv4またはIPv6を前提としたIPネットワークであり、グローバルネットワークまたはプライベートネットワークのいずれであってもよい。
プログラム管理部10および制御部201〜20nの各々は相互に通信するために、ネットワーク40内でユニークにIPアドレスを付与されている。例えば、プライベートネットワークの場合、IPアドレスは“192.168.x.x”(xは0〜255の任意の数)のようになる。
このIPアドレスは、基地局装置1におけるプログラム管理部10および制御部201〜20nの実装位置で固定的に決まるように基地局装置1を構成してもよい。あるいは、プログラム管理部10および制御部201〜20nにDIPスイッチを備えておき、その切り替えにより各部のIPアドレスを設定する構成としてもよい。ただし、DIPスイッチでIPアドレスを設定する構成を採用する場合、各部のIPアドレスがネットワーク40上でユニークになるように保守者が管理する必要がある。
ネットワーク40において、プログラム管理部10がサーバ、制御部201〜20nがクライアントとして機能し、UDP(ユーザデータグラムプロトコル:User Datagram Protocol)、TCP(トランスミッションコントロールプロトコル:Transmission Control Protocol)、FTP(ファイルトランスファープロトコル:File Transfer Protocol)などの汎用プロトコルで相互に通信可能である。
プログラム管理部10は、CPU11、FROM12、プログラム動作用メモリ13、ワークエリア14、およびマスタプログラム格納メモリ15を有している。
CPU11は、FROM12に格納されているプログラム管理部10用のプログラム(以下、管理プログラムと称す)をプログラム動作用メモリ13に展開し、それをワークエリア14を利用して実行することにより、プログラム管理部10の機能を実現する。例えば、CPU11は、マスタプログラム格納メモリ15に格納されている制御プログラムを各制御部211〜21nにダウンロードすることができる。
FROM12は、管理プログラム格納用のROMであり、一例として不揮発性のフラッシュメモリである。
プログラム動作用メモリ13は、管理プログラムを展開するための、高速での読み書きが可能なメモリであり、一例としてSDRAM(Synchronous DRAM)である。
ワークエリア14は、CPU11が管理プログラムを実行するときに演算やデータ処理などに一時的に使用する領域であり、高速での読み書きが可能なメモリで構成されている。ワークエリア14には、管理プログラムを一時的に記録するプログラムエリアと、CPU11が動作するときに必要な管理情報を一時的に記録する管理エリアとがある。
マスタプログラム格納メモリ15は、管理プログラムおよび制御プログラムのマスタを格納しておく外部記憶メモリであり、例えばCompact Flash(以下、CFと称す)やPCカード(PCMCIAカード)などである。この制御プログラムは、CPU11により取り出され、制御部201〜20nにダウンロードされる。マスタプログラム格納メモリ15に格納されているプログラムは、ネットワーク40を介して不図示のPersonal Computer(PC)から書き換え可能である。
制御部201〜20nは全て同じ構成であり、CPU211〜21n、FROM221〜22n、プログラム動作用メモリ231〜23n、およびワークメモリ241〜24nをそれぞれ有している。
CPU211は、FROM221に格納されている制御プログラムをプログラム動作用メモリ231に展開し、それをワークエリア241を利用して実行することにより、制御部201の機能を実現する。例えば、CPU211は、プログラム管理部10からのダウンロードにより取得した制御プログラムをFROM221に格納することができる。なお、CPU212〜21nはCPU211と同じ構成である。
FROM221は、制御プログラム格納するためのROMであり、一例としてフラッシュメモリである。プログラム管理部10からダウンロードされた制御プログラムは、このFROM221に格納される。なお、FROM222〜22nはFROM221と同じ構成である。
プログラム動作用メモリ231は、制御プログラムを展開するための、高速での読み書きが可能なメモリであり、一例としてSDRAMである。なお、プログラム動作用メモリ232〜23nはプログラム動作用メモリ231と同じ構成である。
ワークエリア241は、CPU211が制御プログラムを実行するときの演算やデータ処理などに一時的に使用する領域であり、高速での読み書きが可能なメモリで構成されている。ワークエリア241には、制御プログラムを一時的に記録するプログラムエリアと、CPU211が動作するときに必要な管理情報を一時的に記録する管理エリアとがある。なお、ワークエリア242〜24nはワークエリア241と同じ構成である。
図2は、制御部のソフトウェア構成を示す図である。図2には制御部20のソフトウェア構成を示しているが、プログラム管理部10のソフトウェア構成もこれと同様である。図2を参照すると、ハードウェア50の上にデバイスドライバ51およびIPL52が示され、その上にRTOS53、さらにその上に制御プログラム54が示されている。
IPL(Initial Program Loader)52は、制御部20に対するリセットまたは電源投入後、最初に動作するプログラムであり、FROM22内に格納されている。IPL52は、ハードウェア50を初期化し、各メモリの正常性を確認した後、FROM22に格納されたRTOS53および制御プログラム54をプログラム動作用メモリ23に展開する処理を有している。
デバイスドライバ51は、RTOS53からのアクセスに従って、ネットワークデバイス、シリアルポート、ファイルシステム等のデバイス(ハードウェア50)を制御するプログラムである。RTOS(Real Time Operating System)53は、タスク制御、タスク間通信、ネットワーク機能、ファイルシステム機能等を提供するオペレーションシステムである。制御プログラム54は、RTOS53上で動作する複数のアプリケーションプログラムからなり、それらプログラムが独立かつ/または協働することにより、制御部20の各機能を実現する。各プログラムの処理を実行することによりCPU21の行う仕事の単位がタスクと呼ばれる。複数のプログラムが同時に動作し、複数のタスクが同時に存在することをマルチタスクと呼ぶ。
図3は、制御プログラムが動作を開始するまでの各ソフトウェアの動作を示すフローチャートである。なお、ここでは、制御部20は1つのカードで構成されているものとする。プログラム管理部も図3に示す動作と同様の初期動作を行う。
図3に示すように、制御部20に対してカードリセットが行なわれた、または制御部20に電源が投入されたとする(ステップ101)。リセットまたは電源投入後、まず、CPU21はIPL52を起動する(ステップ102)。IPL52はFROM22上で動作する。
IPL52を実行することにより、CPU21は、ハードウェアを初期化し、各メモリの正常性を確認し、RTOS53および制御プログラム54をFROM22から取り出す(ステップ103)。ハードウェア初期化処理としては、CPU21および周辺デバイス(不図示)を初期化し、IPアドレスを設定する。
次に、IPL52の処理によりCPU21は、RTOS53および制御プログラム54を、高速での読み書きが可能なSDRAMからなるプログラム動作用メモリ23上に展開する(ステップ104)。そして、IPL52の最後の処理によりCPU21はRTOS53にジャンプし、通常の動作に移行する(ステップ105)。RTOS53上では制御プログラム54が動作する(ステップ106)。
以上のようにして、プログラム管理部10の管理プログラム、制御部201〜20nの制御プログラムが動作を開始する。動作を開始した管理プログラムおよび制御プログラムは、例えばマルチタスクで様々な処理を行う。例えば複数の制御部201〜20nが負荷分散して動作するものとすれば、どのタスクの処理をどの制御部が受け持つかは、各制御部の負荷の状況に応じて決まる。図4は、基地局装置がマルチタスクで動作する様子を例示した図である。図4の例では、アイドルタスク61、ヘルスチェックタスク62、バージョン情報タスク63、ダウンロードタスク64、機能タスク65〜67が存在している。アイドルタスク61は、最も優先度の低いタスクであり、優先度の高い他のタスクが動作中で無いときに動作する。
ヘルスチェックタスク62、バージョン情報タスク63、ダウンロードタスク64は、本発明に特有の動作を行なうタスク群である。
ヘルスチェックタスク62は、定期的なヘルスチェック動作として、プログラム管理部10から各制御部201〜20nのCPU211〜21nの正常性確認、各制御部201〜20nからプログラム管理部10のIPアドレス解決、および制御部201〜20nとプログラム管理部10の間のコネクション確立を行う。
バージョン情報タスク63は、ヘルスチェックタスク62によるコネクション確立が発生すると、各制御部201〜20nで用いられている制御プログラムのバージョン情報を確認する。
ダウンロードタスク64は、プログラム管理部10にてマスタとして管理されている制御プログラムのバージョンと、各制御部201〜20nで運用されている制御プログラムのバージョンとを比較し、不一致であれば、プログラム管理部10から制御プログラムをダウンロードする。
機能タスク65〜67は、無線基地局としての機能を実現するタスクであり、システムの規模に応じて複数存在する。
図5は、プログラム管理部におけるヘルスチェックタスクによる動作を示すフローチャートである。図5を参照すると、プログラム管理部10のCPU11は、まず、各制御部201〜20nからヘルスチェック応答を受信するためのポートを開く(ステップ201)。次に、コネクションレス型プロトコルであるUDPによりヘルスチェック要求メッセージM1を各制御部201〜20nに送る(ステッップ202)。その送り先は、各制御部201〜20nがヘルスチェック要求メッセージの受信用に開いているポートである。
制御部201〜20nは、正常に動作していれば、ヘルスチェック要求メッセージM1に対してヘルスチェック応答メッセージM2を返送するので、プログラム管理部10は、そのヘルスチェック応答メッセージM2を受ける(ステップ203)。一定時間内にヘルスチェック応答メッセージM2が返送されてくれば、その制御部20は正常に動作していると判断できる。
そして、次に、プログラム管理部10は、ヘルスチェック応答メッセージM2に示された内容で各種情報を更新し(ステップ204)、ステップ201に戻る。プログラム管理部10は、以上の動作を例えば1秒周期で繰り返すことにより、各制御部201〜20nの正常性を確認する。
図6は、制御部におけるヘルスチェックタスクによる動作を示すフローチャートである。図6を参照すると、制御部20のCPU21は、まず、プログラム管理部10からのヘルスチェック要求メッセージM1を受信するためのポートを開く(ステップ301)。次に、制御部20は、プログラム管理部10からヘルスチェック要求メッセージM1を受信する(ステップ302)と、それに従って各種情報を更新する(ステップ303)。
次に、制御部20は、プログラム管理部10との間でコネクションが確立されているか否か判定する(ステップ304)。基地局装置1が継続して正常に動作していれば、通常、コネクションは確立されている状態である。これに対して、基地局装置1を再開した直後や、制御部20を後実装したとき、ネットワーク40の異常によりコネクションが切断されたときには、コネクションが確立されていないことが考えられる。ここで、後実装とは、基地局装置1の運用中に、カード交換により制御部20が実装されたときや、単体の制御部20にリセットがされたときの状態を指す。
コネクションが確立されていなければ、制御部20は、プログラム管理部10との間でコネクションを確立する(ステップ305)。コネクションを確立するには、制御部20がプログラム管理部10のIPアドレスを取得する、すなわちIPアドレス解決をする必要があるが、例えば、プログラム管理部10から受信したヘルスチェック要求メッセージM1に含まれていた送信元IPアドレスを用いればよい。あるいは、ヘルスチェック要求メッセージM1で通知される各種情報にプログラム管理部10のIPアドレスを含めることとし、それを用いてもよい。コネクションが確立されれば、コネクション型プロトコルであるTCPおよびFTPによる通信が可能となる。
ステップ304の判定でコネクションが確立されていたとき、またはステップ305の処理によりコネクションが確立されたとき、制御部20は、プログラム管理部10にヘルスチェック応答メッセージM2を送り(ステップ306)、ステップ302の処理に戻る。
ヘルスチェック用のポート番号は、プログラム管理部10に共通で、ヘルスチェック応答メッセージM2受信用に1つ定義し、制御部201〜20nに、ヘルスチェック要求メッセージM1受信用に1つ定義すればよい。これより、プログラム管理部10は、自身の送信したヘルスチェック要求メッセージM1を受信することが無い。また、制御部20は、自身が送信したヘルスチェック応答メッセージM2、および他の制御部20が送信したヘルスチェック応答メッセージM2を受信することが無い。
これに対して、コネクション型のTCPやFTPで通信を行う場合、プログラム管理部10および各制御部201〜20nが、自身にユニークに割り当てられたポートを開くことにより、各部が自身宛てのメッセージだけを確実に受信し、他宛てのメッセージを受信しないようにする。このように、ネットワーク40内において、定義された特定番号のポートだけを開き、その他の番号のポートを閉じておくことは、他ネットワークから侵入を試みる者の攻撃に対する防衛策の1つとなり、基地局装置1の各機能部が正常に動作することを確保できる。
図7は、プログラム管理部におけるバージョン情報タスクによる動作を示すフローチャートである。図7を参照すると、プログラム管理部10のCPU11は、まずコネクション型プロトコルによる通信を行なうためのポートを開く(ステップ401)。ここで開くポートは、自身宛てのメッセージを受信するためのものである。
次に、いずれかの制御部20との間でコネクションの確立が起こると(ステップ402)、プログラム管理部10は、その制御部20を確認する(ステップ403)。コネクションの確立は、図6に示したヘルスチェックタスクのステップ305によって起こる。
次に、プログラム管理部10は、コネクション確立が起こった制御部20に対して、TCPによりバージョン情報取得要求メッセージM3を送る(ステップ404)。このとき宛先として指定するポート番号は、制御部20がコネクション型プロトコルによる通信のために開いているポートの番号である。制御部20は、コネクション型プロトコルによる通信のためのポートを開いているので、プログラム管理部10は、そのポート番号に宛ててTCPによりバージョン情報取得要求メッセージM3送る。
バージョン情報取得要求メッセージM3を受信した制御部20はバージョン情報取得応答メッセージM4を返送するので、プログラム管理部10は、ステップ401にて開いておいたポートで、TCPによるバージョン情報取得応答メッセージM4を受信する(ステップ405)。バージョン情報取得応答メッセージM4には、その制御部20で運用されている制御プログラムのバージョン情報が含まれている。プログラム管理部10は、制御部20からのバージュン情報取得応答メッセージM4に含まれているバージョン情報を取得する(ステップ406)。
次に、プログラム管理部10は、マスタプログラム格納メモリ15に格納されている、その制御部20用のマスタの制御プログラムのバージョン情報を取得する(ステップ407)。そして、プログラム管理部10は、ステップ406で取得したバージョン情報と、ステップ407で取得したバージョン情報とが一致しているか否か判定する(ステップ408)。
バージョンが一致していれば、プログラム管理部10は、ステップ402に戻り、次にコネクション確立が発生するのを待つ。バージョンが一致していなければ、プログラム管理部10は、その制御部20に対するマスタの制御プログラムのダウンロードを実施する(ステップ409)。なお、実際のダウンロードの処理はダウンロードタスクにより行われる。
図8は、制御部におけるバージョン情報タスクによる動作を示すフローチャートである。図8を参照すると、制御部20のCPU21は、まずコネクション型プロトコルによる通信を行なうためのポートを開く(ステップ501)。ここで開くポートは、自身宛てのメッセージを受信するためのものである。
ここではプログラム管理部10との間でコネクションが確立していないので、制御部20は、図6に示したヘルスチェックタスクのステップ305によりコネクションを確立し、コネクション型プロトコルであるTCP、FTPのメッセージが受信されるのを待つ(ステップ502)。次に、制御部20は、プログラム管理部10からTCPによるバージョン情報取得要求メッセージM3を受信するので(ステップ503)、自身で運用されている制御プログラムのバージョン情報を取得する(ステップ504)。
次に、制御部20は、自身で運用されている制御プログラムのバージョン情報を含むバージョン情報取得応答メッセージM4をTCPによりプログラム管理部10に送る(ステップ505)
図9は、プログラム管理部におけるダウンロードタスクによる動作を示すフローチャートである。図9を参照すると、プログラム管理部10のCPU11は、まず、コネクション型プロトコルによる通信を行なうためのポートを開く(ステップ601)。ここで開くのは自身宛てのメッセージを受信するためのものである。
次に、図7のステップ409の処理によりダウンロードが発生したことを検出すると(ステップ602)、ダウンロードタスクが起動し、プログラム管理部10は、ダウンロード情報転送メッセージM5をTCPによりダウンロード対象の制御部20に送信する(ステップ603)。ダウンロード情報転送メッセージM5には、ダウンロードする制御プログラムのファイル名、バージョン情報、マスタプログラム格納メモリ15上での制御プログラムのディレクトリ構成などを含んでいる。
その制御部20からダウンロード開始報告メッセージM6を受信すると(ステップ604)、プログラム管理部10はFTPで制御プログラムのダウンロードを実施する(ステップ605)。このとき、制御部20は、ダウンロードした制御プログラムをワークエリア24に一時的に格納する。
ダウンロードが終了し、制御プログラムを取得した制御部20からダウンロード終了報告メッセージM7を受信すると(ステップ606)、制御部20に、新たにダウンロードしたバージョンの制御プログラムへの更新を要求するための更新要求メッセージM8を送る(ステップ607)。
ダウンロードした制御プログラムをワークエリア24からFROM22に書き換えた制御部20から更新応答メッセージM9を受信すると(ステップ608)、プログラム管理部10は、その制御部20を新たな制御プログラムで動作させるための処理を行う。
制御部20が上述した現用/予備またはN+1のような冗長構成を有し、かつシステムが運用中の状態では、システムの運用を継続しながら新たな制御プログラムによる動作に切り替えるために、リセットは予備系の制御部20に対して行うことが好ましい。以下に示すステップ609〜611はそのための処理であり、全現用構成の制御部20の場合、または運用開始前の基地局装置1の制御部20の場合、即座にリセットを行なうのでステップ609〜611の処理は不要である。
プログラム管理部10は、制御プログラムの運用を切り替えようとする制御部20に系切り替えが必要か否か判定する(ステップ609)。対象の制御部20が現用系であれば系切り替えが必要であり、予備系であれば不要である。
系切り替えの必要があれば、プログラム管理部10は制御部20に系切替要求メッセージM10を送る(ステップ610)。系切り替えを行なった制御部20から系切替応答メッセージM11を受信すると、プログラム管理部10は、リセット要求メッセージM12を制御部20に送る(ステップ612)。制御部20からリセット応答メッセージM13を受信すると、プログラム管理部10は一連の処理を完了し、ステップ602に移行し(ステップ613)、ダウンロードの発生を待つ。
図10は、制御部におけるダウンロードタスクによる動作を示すフローチャートである。図10を参照すると、制御部20のCPU21は、まず、コネクション型プロトコルによる通信を行なうためのポートを開く(701)ここで開くのは自身宛てのメッセージを受信するためのものである。
次に、制御部20は、ダウンロード情報転送メッセージM5をプログラム管理部10から受信すると(ステップ702)、そのメッセージからダウンロードする制御プログラムに関する各種情報を取得する(ステップ703)。この各種情報には、ダウンロード対象の制御プログラムのファイル名、バージョン情報、マスタプログラム格納メモリ15にある制御プログラムのディレクトリ構成などが含まれている。
そして、制御部20は、ダウンロード開始報告メッセージM6をプログラム管理部10に送り(ステップ704)、FTPでダウンロードを開始する(ステップ705)。ダウンロードされた制御プログラムは、一時的にワークエリア24に格納される。ダウンロードが終了すると、制御部20は、ダウンロード終了報告メッセージM7をプログラム管理部10に送る(ステップ706)。
次に、制御部20は、プログラム管理部10から更新要求メッセージM8を受信すると(ステップ707)、ワークエリア24の制御プログラムをFROM22に書き換え(ステップ708)、更新応答メッセージM9をプログラム管理部10に送る(ステップ709)。
システムが運用中で、制御部20が冗長構成を有しており、かつ自身が現用系であれば、制御部20は、プログラム管理部10から系切替要求メッセージM10を受信することとなるので(ステップ710)、系切り替えを行って予備系となり(ステップ711)、系切替応答メッセージM11をプログラム管理部10に送る(ステップ712)。
次に、制御部20は、プログラム管理部10からリセット要求メッセージM12を受信するので(ステップ713)、リセット応答メッセージM13を送信した後に自身をリセットし(ステップ715)、新たな制御プログラムで再起動する。
以上説明した本実施形態の基地局装置1によれば、通常では装置間の信号の送受信に用いられ、装置内の信号の送受信に通常用いられることのないUDP、TCP、FTPのような汎用プロトコルを用いて、プログラム管理部10から制御部20へ制御プログラムを送るので、信頼性の高い通信手段を容易に得ることができ、また通常の処理に与える影響を低減することができる。
また、一般にはFTPでサーバからクライアントにファイルを転送する場合、クライアントがファイルを正常に受信できる状態か否かサーバは知ることができず、またIPアドレス解決もできないので、基地局装置の制御プログラムの更新のように確実なファイルの送達を要する部分に適用することができなかったが、本実施形態によれば、プログラム管理部10から制御部20へのUDPによる定期的なヘルスチェックにより、制御部20の正常性確認およびIPアドレス解決を行なうことができるので、確実なファイルの送達が可能である。
また、何らかの要因でネットワーク40に障害が発生してコネクションが一旦切断されても、ネットワーク40が復旧すれば、UDPによる定期的な通信により、コネクションを早期に再確立することができる。
また、基地局装置1が現用系の制御部20と予備系の制御部20からなる冗長構成をとる場合において、プログラム管理部10は、現用系の制御部20の制御プログラムを更新するとき、系切り替えにより現用系を予備系にしてからリセットするので、システムの運用を継続しながら制御プログラムの更新をすることができる。
また、プログラム管理部10と制御部20間に汎用的なUDP、TCP、FTPを用いているが、各部は相互の通信に必要なポートだけを開き、他のポートを開かないので、悪意者による侵入などの攻撃を防止することができる。
なお、本実施形態では、移動通信システムの基地局装置を例示したが、本発明はそれに限定されるものではなく、更新可能な制御プログラムで動作する制御部を有する装置であれば広く適用可能である。
本発明の一実施形態による基地局装置の構成を示すブロック図である。 制御部のソフトウェア構成を示す図である。 制御プログラムが動作を開始するまでの各ソフトウェアの動作を示すフローチャートである。 基地局装置がマルチタスクで動作する様子を例示した図である。 プログラム管理部におけるヘルスチェックタスクによる動作を示すフローチャートである。 制御部におけるヘルスチェックタスクによる動作を示すフローチャートである。 プログラム管理部におけるバージョン情報タスクによる動作を示すフローチャートである。 制御部におけるバージョン情報タスクによる動作を示すフローチャートである。 プログラム管理部におけるダウンロードタスクによる動作を示すフローチャートである。 制御部におけるダウンロードタスクによる動作を示すフローチャートである。
符号の説明
1 基地局装置
10 プログラム管理部
11 CPU
12 FROM
13 プログラム動作用メモリ
14 ワークエリア
15 マスタプログラム格納メモリ
201〜20n 制御部
211〜21n CPU
221〜22n FROM
231〜23n プログラム動作用メモリ
241〜24n ワークメモリ
30 スイッチングハブ
40 ネットワーク
50 ハードウェア
51 デバイスドライバ
52 IPL
53 RTOS
54 制御プログラム
61 アイドルタスク
62 ヘルスチェックタスク
63 バージョン情報タスク
64 ダウンロードタスク
65〜67 機能タスク
101〜106、201〜204、301〜306、401〜409、501〜505、601〜613、701〜715 ステップ
M1〜M13 メッセージ

Claims (8)

  1. 制御プログラムで動作することにより所望の機能を実現する通信装置であって、
    汎用プロトコルにより通信可能にネットワークに接続されており、前記制御プログラムを、前記ネットワークを介して更新可能に格納用メモリに格納しており、前記格納用メモリから動作用メモリに前記制御プログラムを展開して実行する制御部と、
    前記ネットワークに接続されており、前記制御部の前記制御プログラムを更新するとき、前記汎用プロトコルを用いて、更新用の制御プログラムを前記ネットワークを介して前記制御部に送るプログラム管理部とを有する通信装置。
  2. 前記ネットワークはIPネットワークであり、前記プログラム管理部と前記制御部の間で前記汎用プロトコルの1つであるUDPで定期的に通信を行うことにより、
    前記プログラム管理部は前記制御部の正常性を確認し、
    前記制御部は、前記プログラム管理部のIPアドレス解決および前記プログラム管理部との間のコネクション確立を行う、請求項1記載の通信装置。
  3. 前記プログラム管理部は、前記制御部との間のコネクションが確立されると、前記制御部との間で前記汎用プロトコルの1つであるTCPで通信を行なうことにより、前記制御部で運用されている制御プログラムのバージョンの情報を取得し、該バージョンが、自身の管理している、前記制御部で運用されるべき制御プログラムのバージョンと一致しなければ、自身の管理しているバージョンの制御プログラムを、前記汎用的なプロトコルの1つであるFTPを用いて前記制御部に送る、請求項1または2記載の通信装置。
  4. 前記制御部は、前記プログラム管理部から受けた前記制御プログラムを前記格納用メモリに格納した後に、自身をリセットすることにより、前記プログラム管理部から受けた新たな前記制御プログラムで起動し直す、請求項1〜3のいずれか1項に記載の通信装置。
  5. 前記制御部は現用系と予備系の少なくとも2つがあり、
    前記プログラム管理部は、現用系の前記制御部の前記制御プログラムを更新するとき、前記制御部に系切り替えを指示し、現用系の前記制御部が予備系となった後にリセットを指示する、請求項1〜4のいずれか1項に記載の通信装置。
  6. 前記プログラム管理部および前記制御部は、前記汎用プロトコルで所定の相手とのみ通信を行なうために、予め定められたポートだけを開いて相互に通信する、請求項1〜5のいずれか1項に記載の通信装置。
  7. 移動通信システムにおいて基地局装置として機能する、請求項1〜6のいずれか1項に記載の通信装置。
  8. 制御部で用いられる制御プログラムをプログラム管理部で管理する通信装置において、前記制御部で用いられる前記制御プログラムを更新するためのプログラム更新方法であって、
    前記プログラム管理部が、ネットワークを介して通信可能に接続された前記制御部に対して、汎用プロトコルで更新用の制御プログラムを送るステップと、
    前記制御部が、前記プログラム管理部から前記ネットワークを介して受信した前記更新用の制御プログラムを格納用メモリに格納するステップと、
    前記制御部が、前記格納用メモリから動作用メモリに前記制御プログラムを展開して実行するステップとを有するプログラム更新方法。
JP2003422822A 2003-12-19 2003-12-19 通信装置およびプログラム更新方法 Pending JP2005182484A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003422822A JP2005182484A (ja) 2003-12-19 2003-12-19 通信装置およびプログラム更新方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003422822A JP2005182484A (ja) 2003-12-19 2003-12-19 通信装置およびプログラム更新方法

Publications (1)

Publication Number Publication Date
JP2005182484A true JP2005182484A (ja) 2005-07-07

Family

ID=34783570

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003422822A Pending JP2005182484A (ja) 2003-12-19 2003-12-19 通信装置およびプログラム更新方法

Country Status (1)

Country Link
JP (1) JP2005182484A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007249748A (ja) * 2006-03-17 2007-09-27 Fujitsu Access Ltd バージョン管理機能を有するネットワーク機器
JP2009252009A (ja) * 2008-04-08 2009-10-29 Nec Corp コンピュータ管理システム、コンピュータシステムの管理方法、及びコンピュータシステムの管理プログラム
JP2012141878A (ja) * 2011-01-05 2012-07-26 Mitsubishi Electric Corp ソフトウェア管理装置および電力系統監視制御システム
JP2018074195A (ja) * 2016-10-24 2018-05-10 アイホン株式会社 インターホンシステム
JP2019067167A (ja) * 2017-10-02 2019-04-25 三菱電機株式会社 プラント機器監視制御装置のファイル更新システム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007249748A (ja) * 2006-03-17 2007-09-27 Fujitsu Access Ltd バージョン管理機能を有するネットワーク機器
JP2009252009A (ja) * 2008-04-08 2009-10-29 Nec Corp コンピュータ管理システム、コンピュータシステムの管理方法、及びコンピュータシステムの管理プログラム
JP2012141878A (ja) * 2011-01-05 2012-07-26 Mitsubishi Electric Corp ソフトウェア管理装置および電力系統監視制御システム
JP2018074195A (ja) * 2016-10-24 2018-05-10 アイホン株式会社 インターホンシステム
JP2019067167A (ja) * 2017-10-02 2019-04-25 三菱電機株式会社 プラント機器監視制御装置のファイル更新システム

Similar Documents

Publication Publication Date Title
US7395342B2 (en) Pre-execution environment compliant dynamic host configuration protocol relay agent
JP4411222B2 (ja) ネットワーク、ネットワーク端末装置及びそれらに用いるipアドレス管理方法並びにそのプログラム
US7280559B2 (en) Distributed application layer protocol converter for communications network
US7975030B2 (en) Remote configuration of devices using a secure connection
KR101114644B1 (ko) 방법, 물품 및 시스템
US20060288104A1 (en) Information processing system
US7577996B1 (en) Apparatus, method and system for improving network security
JP2005182484A (ja) 通信装置およびプログラム更新方法
JP6988973B2 (ja) Opc uaを用いたシステム処理、opc uaを用いた通信方法、及び負荷分散装置
CN100386726C (zh) 远程操控更新计算机平台系统程序的方法及系统
CN109560954B (zh) 设备配置方法及装置
EP1700433A1 (en) Method of automatically transferring router functionality
KR100456978B1 (ko) 에이전트의 파일 다운로드 방법
US11516079B1 (en) Network initialization communication storage system
KR100566226B1 (ko) 에스엔엠피를 이용한 네트워크 장비의 시스템코드 다운로드방법
CN116302618B (zh) 一种会话信息处理方法及装置
JP4909947B2 (ja) ネットワーク接続設定プログラム、ネットワーク接続システム、ネットワーク接続設定方法、及び、情報端末
WO2022254517A1 (ja) 通信システム及び通信制御方法
KR20030037917A (ko) 티에프티피 파일 다운로드 방법
JP4380443B2 (ja) 通信装置及びその制御方法
CN114443061A (zh) 一种嵌入式设备的程序烧写方法、装置、存储介质及终端
KR20060019146A (ko) 네트워크 카드의 펌웨어 업그레이드 방법 및 장치
CN115632945A (zh) 一种版本同步方法、装置、设备及介质
KR20040050151A (ko) 교환기 시스템에서의 시각 동기화 방법
JP2003348156A (ja) ネットワーク管理方法

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060224

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20060411

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061114

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090313

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090317

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090708