(57)【要約】【課題】  システム運用を行っている環境のままでプログラムデータの書き込み速度を調整でき、高速に、かつ、正確にプログラムの書き換えを可能にする。【解決手段】  本発明のオンラインアップグレード装置は、プログラムデータを取得し出力するインタフェース手段と、前記インタフェース手段から、前記プログラムデータを入力し、判定基準に基づいて、前記プログラムデータが正しい場合に、前記プログラムデータを出力する制御手段と、前記プログラムデータを書き込み可能なメモリと、前記制御手段から入力した前記プログラムデータを、前記メモリに書き込む書き込み手段と、を包含し、前記インタフェース手段と前記制御手段が、前記プログラムデータを運用するシステムで利用される通常のシステムバスで接続される。【選択図】      図１
2015060289.tif 000002
【特許請求の範囲】
【請求項１】
プログラムデータを取得し出力するインタフェース手段と、
前記インタフェース手段から、前記プログラムデータを入力し、判定基準に基づいて、前記プログラムデータが正しい場合に、前記プログラムデータを出力する制御手段と、
前記プログラムデータを書き込み可能なメモリと、
前記制御手段から入力した前記プログラムデータを、前記メモリに書き込む書き込み手段と、を包含し、
前記インタフェース手段と前記制御手段が、前記プログラムデータを運用するシステムで利用される通常のシステムバスで接続される、オンラインアップグレード装置。
【請求項２】
前記判定基準が、ＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）を用いた誤り検出である、請求項１に記載のオンラインアップグレード装置。
【請求項３】
請求項１または２に記載のオンラインアップグレード装置と、
前記オンラインアップグレード装置の前記通常のシステムバスに前記プログラムデータを出力するホスト装置と、を包含する、オンラインアップグレードシステム。
【請求項４】
前記インタフェース手段が、ＣＰＵバスを介して、前記ホスト装置から前記プログラムデータを取得する、請求項３に記載のオンラインアップグレードシステム。
【請求項５】
プログラムデータを運用するシステムで利用される通常のシステムバスを介して、制御部が前記プログラムデータを入力し、判定基準に基づいて、前記プログラムデータが正しい場合に、前記プログラムデータを出力し、
前記プログラムデータを、前記プログラムデータを書き込み可能なメモリに書き込む、アップグレード方法。
【請求項６】
前記判定基準が、ＣＲＣを用いた誤り検出である、請求項５に記載のアップグレード方法。
【請求項７】
前記プログラムデータを運用するシステムで利用される通常のシステムバスを介して、ホスト装置から前記プログラムデータを取得し、前記制御部に出力する、請求項５または６に記載のアップグレード方法。
【請求項８】
プログラムデータを運用するシステムで利用される通常のシステムバスを介して前記プログラムデータを入力し、判定基準に基づいて、前記プログラムデータが正しい場合に、前記プログラムデータを出力する処理と、
前記プログラムデータを、前記プログラムデータを書き込み可能なメモリに書き込む処理と、をコンピュータに実行させるプログラム。
【請求項９】
前記判定基準が、ＣＲＣを用いた誤り検出である、請求項８に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オンラインアップグレード装置、アップグレード方法及び、プログラム、に関する。
【背景技術】
【０００２】
特許文献１には、プログラマブルデバイス書き換え装置が、電力線を介してプログラムの書き換え情報を受信することによって、プログラマブルデバイスの書き換え専用ポートを不要とする技術が開示されている。
【０００３】
特許文献２には、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）内に格納されたプログラムに対して、プログラム書き換え専用の端子が無い場合でも、プログラムの書き換えが可能な、プログラム制御機器についての技術が開示されている。
【０００４】
特許文献３には、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）の稼働中の機能の変更についての技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−１７５９９１号公報
【特許文献２】特開２０００−３４７８４５号公報
【特許文献３】特開２００２−３０５４３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
プログラマブルロジックのプログラムデータを更新（アップグレード）する際に、これまでは、プログラム書き込み専用端子を用いる必要があるか、もしくは、専用端子を用いない場合はデータの不正チェックが不十分であるか、のいずれかであった。
【０００７】
さらに、特許文献１は、専用端子を使用していないが、電力線をプログラムデータの送信に利用する際に、プログラムデータを電力線から分離する回路が必要である。したがって、システム運用を行っている環境のままでプログラムデータの書き込みができない。
【０００８】
特許文献２は、専用端子を使用していないが、一旦、仮の場所にデータを格納する必要があり、リアルタイムでデータの書き込みを行うことはできない。このため、高速なプログラムデータの書き換えに課題がある。
【０００９】
特許文献３は、稼働中のＦＰＧＡの回路を変更することは可能であるが、高速なプログラムデータの書き換えに関しては、言及されていない。
【００１０】
本発明の目的は、システム運用を行っている環境のままでプログラムデータの書き込み速度を設定でき、高速に、かつ、正確にプログラムの書き換えを可能にすることである。
【課題を解決するための手段】
【００１１】
本発明のオンラインアップグレード装置は、プログラムデータを取得し出力するインタフェース手段と、前記インタフェース手段から、前記プログラムデータを入力し、判定基準に基づいて、前記プログラムデータが正しい場合に、前記プログラムデータを出力する制御手段と、前記プログラムデータを書き込み可能なメモリと、前記制御手段から入力した前記プログラムデータを、前記メモリに書き込む書き込み手段と、を包含し、前記インタフェース手段と前記制御手段が、前記プログラムデータを運用するシステムで利用される通常のシステムバスで接続される。
【００１２】
本発明のアップグレード方法は、プログラムデータを運用するシステムで利用される通常のシステムバスを介して前記プログラムデータを入力し、判定基準に基づいて、前記プログラムデータが正しい場合に、前記プログラムデータを出力し、前記プログラムデータを、前記プログラムデータを書き込み可能なメモリに書き込む、ことを特徴とする。
【００１３】
本発明のプログラムは、プログラムデータを運用するシステムで利用される通常のシステムバスを介して前記プログラムデータを入力し、判定基準に基づいて、前記プログラムデータが正しい場合に、前記プログラムデータを出力する処理と、前記プログラムデータを、前記プログラムデータを書き込み可能なメモリに書き込む処理と、をコンピュータに実行させる。
【発明の効果】
【００１４】
本発明は、システム運用を行っている環境のままで、高速に、かつ、正確にプログラムの書き換えが可能である。
【図面の簡単な説明】
【００１５】
【図１】図１は、本発明による第一の実施形態に係るオンラインアップグレードシステムの構成を示すブロック図である。
【図２】図２は、オンラインアップグレードシステムにおける、プログラムデータの経路の一例を示す概念図である。
【図３】図３は、オンラインアップグレード装置の動作を示すフローチャートである。
【発明を実施するための形態】
【００１６】
次に、発明を実施するための第一の形態について、図面を参照して詳細に説明する。
【００１７】
図１は、本発明による第一の実施形態に係るオンラインアップグレードシステム２０の構成を示すブロック図である。
【００１８】
オンラインアップグレードシステム２０は、オンラインアップグレード装置１０、及び、ホスト装置２１を包含する。
【００１９】
オンラインアップグレード装置１０は、インタフェース部１１、制御部１２、書き込み部１３、及び、メモリ１４を包含する。オンラインアップグレード装置１０は、ホスト装置２１から供給されるプログラムデータのアップグレード（更新）を可能にする装置である。
【００２０】
インタフェース部１１は、ホスト装置２１からプログラムデータを取得し、制御部１２に出力する。制御部１２は、インタフェース部１１から、プログラムデータを入力し、判定基準に基づいて、プログラムデータが正しいか否かを判定する。正しい場合に、制御部１２は、そのプログラムデータを書き込み部１３に出力する。書き込み部１３は、制御部１２から入力したプログラムデータを、メモリ１４に書き込む。メモリ１４は、プログラムデータを書き込み可能で、プログラムデータを格納する。
【００２１】
ホスト装置２１は、プログラムデータを入力するための端末であり、データをインタフェース部１１に出力する。
【００２２】
ここで、インタフェース部１１、制御部１２、書き込み部１３は、論理回路等のハードウェアで構成される。メモリ１４は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、不揮発性メモリ等である。ホスト装置２１は、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等のホスト端末である。
【００２３】
また、インタフェース部１１、制御部１２、書き込み部１３は、コンピュータであるオンラインアップグレード装置１０のプロセッサが、図示されないメモリ上のプログラムを実行することで実現されても良い。
【００２４】
なお、ホスト装置２１からインタフェース部１１までの経路、及び、インタフェース部１１から制御部１２までの経路は、プログラムデータを運用するシステム（オンラインアップグレードシステム２０）で利用される通常のシステムバス（例えば、ＣＰＵバス）で構成される。
【００２５】
図２は、オンラインアップグレードシステム２０における、プログラムデータの経路の一例を示す概念図である。
【００２６】
また、図２は、プログラムデータ書き込み専用端子３３を用いた場合のデータの経路（構成）、及び、本発明の実施形態におけるデータの経路（構成）を対比して説明している。図中の黒い太線が本発明の実施形態におけるデータの経路を示す。
【００２７】
図２の各構成要素は、図１の各構成要素に対応する。すなわち、ＣＰＵバスインタフェース３２０は、インタフェース部１１に、ＣＰＵ３２１は、制御部１２に、また、メモリコントローラ３２２は、書き込み部１３に、各々、対応する。
【００２８】
まず、プログラムデータ書き込み専用端子３３を用いた構成の場合には、プログラムデータ書き込み専用端子３３からプログラムデータを取り込み、伝送モジュール用プログラマブルロジック３２内のプログラムデータ書き込みインタフェース３２３にデータを送信する。また、伝送モジュール用プログラマブルロジック３２では、プログラムデータ書き込みインタフェース３２３から伝送モジュール制御用ＣＰＵ３２１にプログラムデータを送信する。さらに、伝送モジュール制御用ＣＰＵ３２１は、メモリコントローラ３２２にプログラムデータを送信する。そして、メモリコントローラ３２２が、メモリ１４にプログラムデータを書き込む。
【００２９】
この構成では、プログラムデータの書き込みの速度は、プログラムデータ書き込みインタフェース３２３で設定する部分のみ調整が可能であったため、高速化に限界があった。
【００３０】
これに対して、本発明の実施形態では、まず、伝送モジュール３０は、ホスト装置２１に接続された共用のＣＰＵバス端子３１から、プログラムデータを入力する。次に、伝送モジュール用プログラマブルロジック３２内のＣＰＵバスインタフェース３２０は、プログラムデータを受信し、さらに、ＣＰＵ３２１を介してメモリコントローラ３２２にプログラムデータを送信する。その後、前述の場合と同様に、メモリコントローラ３２２がメモリ１５にプログラムデータを書き込む。
【００３１】
この構成では、ホスト装置２１とインタフェース部１１（ＣＰＵバスインタフェース３２０）の間、及び、インタフェース部１１（ＣＰＵバスインタフェース３２０）と制御部１３（ＣＰＵ３２１）の間に、システムで利用される通常のシステムバスを用いることにより、システムのデータ転送性能に応じてプログラムデータの送信速度を設定することが可能である。
【００３２】
本発明の実施形態では、例えば、ＣＰＵバスを経路にしているので、プログラムデータの転送速度は、システムのＣＰＵバス速度に依存し、ＣＰＵバスにおける性能を設定するためのプロトコルや周波数の調整により高速化が可能である。
【００３３】
また、本発明の実施形態は、システム運用で使用している通常の経路を流用して、プログラムデータを書き込む経路とすることで、システム運用している環境のままでプログラムデータの書き換えが可能となる。
【００３４】
例えば、プログラムデータ書き込み専用端子３３を用いた場合には、端子に対する専用線を接続する等により、装置からケーブルやモジュールを取り外す作業が必要な場合があった。
【００３５】
これに対し、本発明の実施形態では、ホスト装置２１との通常のデータ転送における共用の端子を使用するため、上記の専用線を接続する等の作業が不要になり、システムを運用している現地に運用担当者が常駐していないようなケースでも、最新のプログラムデータへの更新が可能になる、という利点がある。
【００３６】
なお、本オンラインアップグレードシステム２０は、例えば、光伝送システム（装置）を対象とする、としてもよい。
【００３７】
例えば、ＷＤＭ（Ｗａｖｅｌｅｎｇｔｈ  Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅｘｉｎｇ）伝送等を行う光伝送装置では、伝送モジュール３０（プログラマブルロジックで構成）を実装した基板が数十枚搭載されており、基板１枚につき数本の光ファイバーケーブルが接続されている場合がある。つまり、装置全体では、数百本の光ファイバーケーブルが接続されていることになる。伝送モジュール３０の仕様変更や不具合により、プログラマブルロジックの変更が必要となった場合、プログラムデータ書き込み専用端子３３に専用線を接続する等のために、数百本の光ファイバーケーブルと数十枚の伝送モジュール３０（基板）を光伝送装置から取り外す必要がある。これは、膨大な工数や経費を必要とするだけでなく、長時間のシステム停止を余儀なくし、ユーザに多大な迷惑を掛けることになる。
【００３８】
本発明の実施形態により、光伝送装置に搭載されたままの状態で、伝送モジュール３０上のハードウェア（プログラマブルロジック）の書き換えを実現し、工数や経費の削減、短時間でのシステム復旧が可能になる。
【００３９】
図３は、オンラインアップグレード装置１０の動作を示すフローチャートである。
【００４０】
まず、インタフェース部１１は、ホスト装置２１からプログラムデータを受信する（Ｓ０１）。また、インタフェース部１１は、制御部１２に、プログラムデータを送信する（Ｓ０２）。
【００４１】
次に、制御部１２は、インタフェース部１１からプログラムデータを受信する（Ｓ０３）。そして、制御部１２は、判定基準を用いて、プログラムデータの正当性のチェックを行う（Ｓ０４）。
【００４２】
ここで、判定基準は、予め設定した、プログラムデータの正誤を判定する基準であり、例えば、ＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）を用いた誤り検出の場合には、対象のデータが正しい場合のＣＲＣチェック計算の結果、等である。
【００４３】
また、プログラムデータの正当性のチェックでは、上記の判定基準と実際のデータのＣＲＣチェック計算の結果の値が合致しているかを確認する。
【００４４】
なお、ＣＲＣチェック計算の値は、例えば、各データに付加されたＣＲＣチェック領域の各数値に対して、指定した除数で除算した余りの値、等とする。ＣＲＣチェック計算の詳細については、広く一般に使用されている技術のため、本発明の実施形態での詳細な説明は省略する。
【００４５】
次に、（Ｓ０４）の結果、正しいプログラムデータであった場合（Ｓ０５でＹｅｓ）、制御部１２は、そのプログラムデータを書き込み部１３に出力する（Ｓ０６）。また、書き込み部１３は、メモリ１４に、プログラムデータを書き込む（Ｓ０７）。
【００４６】
本実施形態に係るオンラインアップグレードシステム２０は、以下に記載するような効果を奏する。
【００４７】
システム運用を行っている環境のままで、高速に、かつ正確にプログラムの書き換えが可能である。
【００４８】
その理由は、通常のデータ送信経路を用いてプログラムデータを送信し、プログラムデータを書き込む際に、データの正当性をチェックするからである。
【００４９】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【００５０】
１０    オンラインアップグレード装置
１１    インタフェース部
１２    制御部
１３    書き込み部
１４    メモリ
２０    オンラインアップグレードシステム
２１    ホスト装置
３０    伝送モジュール
３１    ＣＰＵバス端子
３２    伝送モジュール用プログラマブルロジック
３２１    ＣＰＵ
３２２    メモリコントローラ
３２３    プログラムデータ書き込みインタフェース
３３    プログラムデータ書き込み専用端子
【図１】
2015060289.tif 000003
【図２】
2015060289.tif 000004
【図３】
2015060289.tif 000005