(57)【要約】【課題】  本件開示の技術は、ネットワークの負荷を軽減して、履歴データを送信できる手段を提供する。【解決手段】  リングネットワーク上に配置された複数のノード装置と、ノード装置の一つに接続され、リングネットワークを監視する制御装置とを有する通信システムであって、複数のノード装置は、制御部、作成部及び転送部を備える。制御部は、ダウンロード用データを受信しダウンロードを行なう。作成部は、ダウンロードの完了を示す履歴データを、他のノード装置と共に共用される共用ファイルに追加する。転送部は、履歴データを追加した共用ファイルと、ダウンロード用データとを伝送方向の隣接するノード装置に転送する。制御装置と接続されたノード装置の制御部は、制御装置から受信するダウンロード用データをダウンロードし、リングネットワーク上の各ノード装置の履歴データを含む共用ファイルを隣接するノード装置から受信したときに共用ファイルを制御装置に送信する。【選択図】    図３
2014140099.tif 000002
【特許請求の範囲】
【請求項１】
リングネットワーク上に配置された複数のノード装置と、前記ノード装置の一つに接続され、前記リングネットワークを監視する制御装置とを有する通信システムであって、
複数の前記ノード装置は、
ダウンロード用データを受信して、前記ダウンロード用データのダウンロードを行なう制御部と、
前記ダウンロードの完了を示す履歴データを、前記リングネットワーク上に配置された他のノード装置と共に共用される共用ファイルに追加する作成部と、
前記履歴データを追加した前記共用ファイルと、前記ダウンロード用データとを前記リングネットワーク上において伝送方向の隣接するノード装置に転送する転送部と、を備え、
前記制御装置に接続された前記ノード装置の前記制御部は、前記制御装置から受信する前記ダウンロード用データをダウンロードし、前記リングネットワーク上の各ノード装置の前記履歴データを含む前記共用ファイルを、隣接するノード装置から受信したときに、受信した前記共用ファイルを前記制御装置に送信することを特徴とする通信システム。
【請求項２】
請求項１に記載の通信システムであって、
前記制御装置は、前記リングネットワーク上の前記各ノード装置の前記履歴データを含む前記共用ファイルを受信することにより、全ノード装置の前記ダウンロードの完了を判断することを特徴とする通信システム。
【請求項３】
請求項１又は請求項２に記載の通信システムであって、
前記履歴データはテーブル構造のデータであって、
前記ノード装置の前記作成部は、前記共用ファイルに前記テーブル構造のデータを追加することを特徴とする通信システム。
【請求項４】
リングネットワーク上に配置されたノード装置であって、
ダウンロード用データを受信して、前記ダウンロード用データのダウンロードを行なう制御部と、
前記ダウンロードの完了を示す履歴データを、前記リングネットワーク上に配置された他の前記ノード装置と共に共用される共用ファイルに追加する作成部と、
前記履歴データを追加した前記共用ファイルと、前記ダウンロード用データとを前記リングネットワーク上において伝送方向の隣接するノード装置に転送する転送部と、を備えることを特徴とするノード装置。
【請求項５】
請求項４に記載のノード装置であって、
前記リングネットワークを監視する制御装置と通信する通信インターフェースを備え、
前記制御部は、前記制御装置から受信する前記ダウンロード用データをダウンロードし、
前記転送部は、前記ダウンロード用データと前記履歴データを追加した共用ファイルとを前記リングネットワーク上において伝送方向の隣接するノード装置に転送し、
前記制御部は、前記リングネットワーク上の全ノード装置の前記履歴データを含む前記共用ファイルを、隣接するノード装置から受信したときに、受信した前記共用ファイルを前記通信インターフェースを介して前記制御装置に送信することを特徴とするノード装置。
【請求項６】
請求項４又は請求項５に記載のノード装置において、
前記リングネットワークは、第１リングを利用しているときに、前記第１リングの障害を検出する検出部と、
前記検出部が前記障害を検出した場合、前記第１リングから前記リングネットワークの第２リングに切り替える切替部と、をさらに備え、
前記転送部は、前記検出部が前記障害を検出した場合、前記第２リングを利用して、前記共用ファイルと前記ダウンロード用データとを、前記リングネットワーク上における前記伝送方向の逆方向に隣接するノード装置に転送することを特徴とするノード装置。
【請求項７】
請求項４から請求項６の何れか１項に記載のノード装置において、
前記制御装置に接続された前記ノード装置の前記制御部は、通信プロトコルに基づくダウンロード用のコマンドの前記制御装置からの受信に応答して、前記ダウンロード用データの前記ダウンロードを開始し、前記制御装置に未接続の前記ノード装置の前記制御部は、前記ダウンロード用データと前記共用ファイルを受信することにより、前記ダウンロード用データの前記ダウンロードを開始することを特徴とするノード装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システム及びノード装置に関する。
【背景技術】
【０００２】
従来、複数のノード装置がリング状に接続されたリングネットワークにおいて、例えば、ノード装置を新たにリングネットワークに追加した場合、追加したノード装置に所定のプログラムを自動的にダウンロードする方法が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−１３５２１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、リングネットワークを構築する複数のノード装置のうちの一つとサーバ装置とが接続された通信システムにおいて、サーバ装置の指示により、複数のノード装置に自動的にプログラム（例えば、ファームウェア）をダウンロードする場合には、以下の問題が生じる。
【０００５】
すなわち、上記の通信システムにおいて、サーバ装置が、例えばノード装置毎にダウンロードの完了を示す履歴データを受信していたのでは、ノード装置が増えるに従って、サーバ装置と接続されたノード装置間の監視制御用の回線の帯域容量が多くなる。しかし、監視制御用の回線の帯域容量は限られているため、ネットワークに負荷がかかるおそれが生じる。
【０００６】
そこで、本件開示の技術は、上記事情に鑑み、ネットワークの負荷を軽減して、履歴データを送信できる手段を提供することを目的とする。
【課題を解決するための手段】
【０００７】
一つの観点による通信システムは、リングネットワーク上に配置された複数のノード装置と、ノード装置の一つに接続され、リングネットワークを監視する制御装置とを有する通信システムである。複数のノード装置は、制御部と、作成部と、転送部とを備える。制御部は、ダウンロード用データを受信して、ダウンロード用データのダウンロードを行なう。作成部は、ダウンロードの完了を示す履歴データを、リングネットワーク上に配置された他のノード装置と共に共用される共用ファイルに追加する。転送部は、履歴データを追加した共用ファイルと、ダウンロード用データとをリングネットワーク上において伝送方向の隣接するノード装置に転送する。制御装置に接続されたノード装置の制御部は、制御装置から受信するダウンロード用データをダウンロードし、リングネットワーク上の各ノード装置の履歴データを含む共用ファイルを、隣接するノード装置から受信したときに、受信した共用ファイルを制御装置に送信する。
【０００８】
また、別の観点によるノード装置は、リングネットワーク上に配置されたノード装置である。ノード装置は、制御部と、作成部と、転送部とを備える。制御部は、ダウンロード用データを受信して、ダウンロード用データのダウンロードを行なう。作成部は、ダウンロードの完了を示す履歴データを、リングネットワーク上に配置された他のノード装置と共に共用される共用ファイルに追加する。転送部は、履歴データを追加した共用ファイルと、ダウンロード用データとをリングネットワーク上において伝送方向の隣接するノード装置に転送する。
【発明の効果】
【０００９】
本件開示の技術は、ネットワークの負荷を軽減して、履歴データを送信できる手段を提供できる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態における通信システムの一例を示す図である。
【図２】図１に示したサーバ装置の一例を示す図である。
【図３】図１に示したノード装置の一例を示す図である。
【図４】本実施形態におけるフレームの一例を示す図である。
【図５】図２に示したサーバ装置の動作の一例を示すフローチャートである。
【図６】図１に示した各ノード装置の動作の一例を示すフローチャートである。
【図７】本実施形態におけるファームウェアテーブルの作成処理及びフレームの転送処理の一例を説明する図である。
【図８】本実施形態における障害発生時の処理の一例を説明する図である。
【図９】変形例におけるパフォーマンスデータ用テーブルの一例を示す図である。
【図１０】変形例におけるパフォーマンスデータのファイルの一例を示す図である。
【発明を実施するための形態】
【００１１】
以下、図面に基づいて、本件に開示する実施形態について詳細に説明する。先ず、本実施形態における通信システム、サーバ装置及びノード装置の構成例について説明する。
【００１２】
図１は、本実施形態における通信システムの一例を示す図である。図１に示す通信システム１００は、データ通信を行なえる複数のノード装置１〜８がリング状に接続されたリングネットワークＲＮと、リングネットワークＲＮの外部に接続されたサーバ装置２０とを有する。サーバ装置２０は、リングネットワークＲＮの状態及びリングネットワークＲＮに接続されたノード装置１〜８を監視し制御する。
【００１３】
ここで、図１に示すリングネットワークＲＮは、現用回線用のリング状の光伝送路Ｒ１（第１リング）と予備回線用のリング状の光伝送路Ｒ２（第２リング）とを有しており、ノード装置１〜８が光伝送路Ｒ１、Ｒ２を介して距離を隔てて接続されている。光伝送路Ｒ１、Ｒ２は、例えば、光ファイバを用いている。
【００１４】
なお、図１において、説明の便宜上、光伝送路Ｒ１では、データは反時計回り（主系）に伝送され、光伝送路Ｒ２では、データは時計回り（従系）に伝送されることとする。
【００１５】
例えば、ノード装置１〜８は、共通のノード装置である。また、ノード装置１〜８は、例えば、光信号によりデータ通信を行なう光伝送装置である。なお、説明をわかりやすくするため、図１は、８台のノード装置１〜８を例示している。但し、ノード装置の台数は、リングネットワークＲＮの規模に応じて可変である。
【００１６】
本実施形態のリングネットワークＲＮは、例えば、光ファイバを用いた高速デジタル通信方式の一つであるＳＯＮＥＴ／ＳＤＨ（Synchronous Digital Hierarchy）方式を適用することができる。また、本実施形態のＳＯＮＥＴ／ＳＤＨ方式は、予備回線を冗長回線として確保し、現用回線に障害が発生した時に信号の伝送経路を現用回線から予備回線に切り替え、障害が復旧した時に予備回線から現用回線に戻すというＳＯＮＥＴ冗長機能を有している。なお、本実施形態のリングネットワークＲＮは、ＳＯＮＥＴ／ＳＤＨ方式に限られず、例えば、ＥＲＰ（Ethernet（登録商標） Ring Protection）技術を用いて障害検出処理を行なっても良い。ＥＲＰ技術は、リングネットワーク上で、Ｅｔｈｅｒｎｅｔの経路を制御するために、障害検出機能、回線切替えのための制御機能を具備する冗長化方式を提供する。
【００１７】
なお、通信システム１００において、ノード装置１とサーバ装置２０とは、光伝送路Ｒ３を介して、互いに接続されている。光伝送路Ｒ３は、光伝送路Ｒ１、Ｒ２と同様、光ファイバを用いている。また、ノード装置１は、サーバ装置２０とデータを直接通信するので、本実施形態では、他のノード装置２〜８と区別するため、説明の便宜上、ノード装置１は、マスタ装置と称されることがある。
【００１８】
図２は、図１に示したサーバ装置２０の一例を示す図である。サーバ装置２０は、制御装置（例えば、オペレータステーション（OPS：Operator Station）等の監視制御装置）の一例であって、図１に示す複数のノード装置１〜８がリング状に接続されたリングネットワークＲＮを監視制御する。ここで、サーバ装置２０は、例えば、ＦＴＰ（ファイル転送プロトコル：File Transfer Protocol）サーバであって、通信プロトコルの一種であるＦＴＰを使用して、ノード装置１との間でデータの送受信を行なう。
【００１９】
なお、通信プロトコルは、ＦＴＰに限定されない。サーバ装置２０は、例えば、ＦＴＰを暗号化した通信プロトコルの一つであるＳＦＴＰ（SSH File Transfer Protocol）といった、他の通信プロトコルを適用しても良い。
【００２０】
また、サーバ装置２０は、通信インターフェース部２１（以下「通信Ｉ／Ｆ（interface）部２１」と称する。）と、入出力インターフェース部２２（以下「入出力Ｉ／Ｆ部２２」と称する。）とを有する。さらに、サーバ装置２０は、ＲＡＭ（Random Access Memory）２３と、ＨＤＤ（Hard disk drive）装置２４と、ＣＰＵ（Central Processing Unit）２５と、バス２６とを有する。通信Ｉ／Ｆ部２１、入出力Ｉ／Ｆ部２２、ＲＡＭ２３、ＨＤＤ装置２４及びＣＰＵ２５は、バス２６を介して互いに接続されている。さらに、サーバ装置２０には、入出力Ｉ／Ｆ部２２を介して、表示モニタ２７と入力デバイス２８（例えばキーボード）とが接続されている。
【００２１】
通信Ｉ／Ｆ部２１は、光伝送路Ｒ３を介して、ノード装置１とデータ通信を行なうインターフェースを有する。入出力Ｉ／Ｆ部２２は、入力デバイス２８からの各種入力を受け付けるとともに、表示モニタ２７に例えば表示用のデータを出力する。入力デバイス２８は、例えば、サーバ装置２０の作業者からノード装置１〜８に組み込むためのファームウェア（ダウンロード用データの一例）のダウンロードの指示を受け付ける。表示モニタ２７は、表示用のデータとして、例えば、ノード装置１〜８におけるファームウェアのダウンロードが完了したことを示す結果を表示する。
【００２２】
ＲＡＭ２３は、例えば、ＣＰＵ２５で扱うデータを記録する。ＨＤＤ装置２４は、例えば、ノード装置１〜８に共通のファームウェアのファイル（以下「ファームウェアＦ」と称する。）を予め格納し、各種データを記録する。ここで、ファームウェアＦは、例えば、ファームウェアＦのファイル名を格納する領域と、ファイルサイズを格納する領域と、バージョン情報を格納する領域と、実際のプログラムを格納する領域とを含むデータ構造を有する。例えば、ファイル名は、「AAA2031.PGM」のように表され、ファイルサイズは、バイト数を示す数値（一例として12,913,257等）で表される。
【００２３】
ＣＰＵ２５は、サーバ装置２０の統括的な制御を行なうプロセッサである。ＣＰＵ２５は、ＨＤＤ装置２４に予め記録されたマルチタスクＯＳ（Operating System）のプログラムを実行することによりサーバ装置２０の各部を制御する。なお、ＣＰＵ２５は、サーバ装置２０の起動時にＨＤＤ装置２４からＲＡＭ２３にプログラムをコピーし、ＲＡＭ２３上のプログラムを実行しても良い。
【００２４】
また、サーバ装置２０のＨＤＤ装置２４は、サーバ装置２０を識別する識別データ及びノード装置１〜８を識別する識別データを予め格納する領域を有する。識別データは、例えば、ＩＰ（Internet Protocol）アドレスやＭＡＣ（Media Access Control address）アドレス）等の識別子である。
【００２５】
また、ＣＰＵ２５は、送信処理部２５ａと、受信処理部２５ｂとしても機能する。送信処理部２５ａは、ＨＤＤ装置２４に記録されているファームウェアＦをノード装置１に送信する処理を行なう。受信処理部２５ｂは、ノード装置１からダウンロードの完了の通知を受信する処理を行なう。送信処理部２５ａ及び受信処理部２５ｂは、ＣＰＵ２５により実行されるプログラムにより実現しても良く、ハードウェアにより実現しても良く、プログラムとハードウェアとの組み合わせにより実現しても良い。
【００２６】
図３は、図１に示したノード装置１〜８の一例を示す図である。なお、図１に示すノード装置１〜８は、共通のノード装置であるので、本実施形態は、ノード装置１を代表して説明する。ノード装置１は、通信インターフェース部１０（以下「通信Ｉ／Ｆ部１０」と称する。）と、メモリ１１と、ＣＰＵ１２と、メモリ１３と、バス１４とを有する。通信Ｉ／Ｆ部１０、メモリ１１、ＣＰＵ１２及びメモリ１３は、バス１４を介して、互いに接続されている。通信Ｉ／Ｆ部１０は、通信インターフェースの一例である。
【００２７】
通信Ｉ／Ｆ部１０は、光伝送路Ｒ１又はＲ２を介して、他のノード装置２〜８と通信するための通信インターフェースの回路を有する。また、ノード装置１の通信Ｉ／Ｆ部１０は、光伝送路Ｒ３を介して、サーバ装置２０と通信するための通信インターフェースの回路を有する。なお、他のノード装置２〜８の通信Ｉ／Ｆ部１０は、光伝送路Ｒ３に接続されないため、図３では、光伝送路Ｒ３を破線の矢印で示した。すなわち、他のノード装置２〜８の通信Ｉ／Ｆ部１０では、サーバ装置２０と通信するための通信インターフェースの回路の機能がマスクされている。
【００２８】
例えば、メモリ１１は、フラッシュメモリ等の書き換え可能な不揮発性メモリであり、ノード装置１の制御を行なうためのファームウェアＦが記録される格納領域１１ａを有する。また、メモリ１１は、サーバ装置２０を識別する識別データ及びノード装置１〜８を識別する識別データを格納する領域を有する。識別データは、予めメモリ１１に記録されている。
【００２９】
例えば、メモリ１３は、ＲＡＭであり、ＣＰＵ１２で扱うデータを記録する。また、メモリ１３は、ファームウェアＦのダウンロードの完了を示す履歴データが書き込まれるファームウェアテーブル３０（以下「ＦＷ（Firmware）テーブル３０」と称する。）の内容が一時的に格納される格納領域１３ａを有する。ＦＷテーブル３０は、ノード装置１〜８及びサーバ装置２０で共用される共用ファイルの一例である。図３では、ＦＷテーブル３０の一例が示されている。
【００３０】
格納領域１３ａは、図７に示すＦＷテーブル３０と同様に、履歴データを書き込むための領域が割り当てられている。履歴データは、一例として、一行のテーブル構造のデータであって、装置番号（装置Ｎｏ．）、識別データ、ファームウェアＦのファイル名、ファームウェアＦのファイルサイズとを含む。テーブル構造のデータにすることにより、履歴データは、複数の項目に基づいて、特定のノード装置へのファームウェアＦのダウンロードの完了を表わすことができる。ここで、装置番号は、各ノード装置に割り振られた装置番号である。例えば、ノード装置１〜８は、各々、装置番号１〜８に対応する。なお、図３の格納領域１３ａは、ファームウェアＦがノード装置１（装置Ｎｏ．＝１）にダウンロードされた後の状態を示している。ファームウェアＦが他のノード装置にダウンロードされた後の状態は、図７に示す。
【００３１】
なお、履歴データとして、装置番号、識別データ、ファームウェアＦのファイル名及びファイルサイズ等の項目を採用したが、これらの項目に限定されない。例えば、履歴データは、装置番号、識別データ及びダウンロード完了の有無を示すフラグ等の項目であっても良い。
【００３２】
ＣＰＵ１２は、ノード装置１の統括的な制御を行なうプロセッサである。また、ＣＰＵ１２は、制御部１２ａと、作成部１２ｂと、転送処理部１２ｃと、監視部１２ｄと、障害検出部１２ｅと、切替処理部１２ｆと、エラー通知部１２ｇとしても機能する。制御部１２ａ、作成部１２ｂ、転送処理部１２ｃ、監視部１２ｄ、障害検出部１２ｅ、切替処理部１２ｆ及びエラー通知部１２ｇは、ＣＰＵ１２により実行されるプログラムにより実現しても良く、ハードウェアにより実現しても良い。また、制御部１２ａ、作成部１２ｂ、転送処理部１２ｃ、監視部１２ｄ、障害検出部１２ｅ、切替処理部１２ｆ及びエラー通知部１２ｇは、プログラムとハードウェアとの組み合わせにより実現しても良い。なお、転送処理部１２ｃは、転送部の一例である。また、障害検出部１２ｅは、検出部の一例である。
【００３３】
制御部１２ａは、ノード装置１の統括的な制御を担う。制御部１２ａは、例えば、ファームウェアＦをダウンロードするコマンド（ＦＴＰに基づくコマンドの一例）を受信すると共に、通信Ｉ／Ｆ部１０を介して更新すべきファームウェアＦを受信し、受信したファームウェアＦを一旦、メモリ１３の格納領域１３ａとは異なる領域に書き込む。そして、制御部１２ａは、メモリ１３に書き込まれたファームウェアＦをメモリ１１の格納領域１１ａに転送することにより、ダウンロードを実行する。
【００３４】
また、制御部１２ａは、通信Ｉ／Ｆ部１０の通信インターフェースの回路を制御することで、ノード装置１によるデータの送受信を統括的に制御する処理を行なう。一例として、制御部１２ａは、光伝送路Ｒ３を介して、サーバ装置２０とデータの送受信を行ない、光伝送路Ｒ１、Ｒ２を介して、他のノード装置とデータの送受信を行なう。
【００３５】
また、作成部１２ｂは、制御部１２ａによるファームウェアＦのダウンロードが完了したことに基づいて、ダウンロードの履歴データを示すＦＷテーブル３０の履歴データを更新し、更新した履歴データを格納領域１３ａに書き込む。作成部１２ｂがＦＷテーブル３０の履歴データを更新する処理、及び更新した履歴データを格納領域１３ａに書き込む処理の詳細については、図７で説明する。
【００３６】
転送処理部１２ｃは、メモリ１１に書き込まれたファームウェアＦを読み出し、作成部１２ｂによりメモリ１３の格納領域１３ａに書き込まれた履歴データをＦＷテーブル３０として読み出す。そして、転送処理部１２ｃは、伝送方向（一例として図１に示す主系（反時計回り））の隣接するノード装置２に転送する。例えば、制御部１２ａは、ＦＷテーブル３０が転送された後、通信障害が検出されなければ、メモリ１３の格納領域１３ａに一時的に記録されている履歴データを削除する。
【００３７】
監視部１２ｄは、制御部１２ａによる格納領域１１ａへのファームウェアＦの書き込み量を監視し、書き込み量がファームウェアＦのファイルサイズに達したことに基づいて、制御部１２ａにダウンロードの完了を通知する。監視部１２ｄの動作については、図６を用いて説明する。
【００３８】
障害検出部１２ｅは、図１に示した現用回線用の光伝送路Ｒ１に発生した障害を検出する。切替処理部１２ｆは、光伝送路Ｒ１に障害が発生した時に、光伝送路Ｒ１から予備回線用の光伝送路Ｒ２に回線を切り替える処理を行なう。エラー通知部１２ｇは、障害検出部１２ｅによる障害の検出に基づいて、障害の発生をサーバ装置２０に通知するエラー通知の処理を行なう。なお、ノード装置２〜８のエラー通知部１２ｇは、送信元のノード装置へ送信失敗の通知と受信したＦＷテーブル３０を送信する指示を、制御部１２ａに出す。
【００３９】
障害検出部１２ｅ、切替処理部１２ｆ及びエラー通知部１２ｇの動作については、図６及び図８で説明する。
【００４０】
次に、本実施形態におけるノード装置１とサーバ装置２０間、及び隣接するノード装置間（例えば、ノード装置１、２の間）で伝送されるフレームについて説明する。なお、フレームは、本実施形態においてデータ通信に用いるデータの一形態である。
【００４１】
図４は、本実施形態におけるフレームの一例を示す図である。フレームは、例えば、イーサネットフレーム（イーサネットは、登録商標）であって、IEEE（The Institute of Electrical and Electronics Engineers, Inc.）802.3に準拠したものである。図４に示すフレームＡは、プリアンブル、ＳＦＤ（Start Frame Delimiter）、宛先アドレス、送信元アドレス、長さ／タイプ、データ及びＦＣＳ（Frame Check Sequence）を含む。ここで、長さ／タイプの領域には、例えばフレームＡに格納されるデータを識別するためのタイプ値が格納される。
【００４２】
本実施形態の通信システム１００は、未定義のタイプ値を利用して、新たなタイプ値を割り当てる。通信システム１００は、例えば、図３に示した格納領域１３ａに格納された履歴データをＦＷテーブル３０として送信する場合、未定義の第１のタイプ値（0x06AA）を割り当てる。この例では、タイプ値は、４桁の１６進数で表され、先頭の符号「0x」は、１６進数を示す。なお、先頭の符号「0x」は、「Ｏｘ」と表記されることがある。
【００４３】
また、通信システム１００は、ノード装置の負荷の指標を示すパフォーマンスデータ用のテーブルを送信する場合、未定義の第２のタイプ値（Ox06BB）を割り当てる。また、通信システム１００は、パフォーマンスデータを送信する場合、未定義の第３のタイプ値（0x06CC）を割り当てる。パフォーマンスデータについては、図１０で説明する。さらに、通信システム１００は、送信の失敗を示すデータを送信する場合、未定義の第４のタイプ値（0x06FF）を割り当てる。
【００４４】
なお、本実施形態では、説明の便宜上、フレームＡは、例えばフレームＡ１〜Ａ６の何れかに分類される。フレームＡ１は、ファームウェアＦをダウンロードするコマンドを送信する場合に用いられる。フレームＡ２は、ファームウェアＦを送信する場合に用いられる。フレームＡ３は、ＦＷテーブル３０を送信する場合に用いられる。フレームＡ４は、送信の失敗を示すデータを送信する場合に用いられる。フレームＡ５は、パフォーマンスデータ用のテーブルを送信する場合に用いられる。フレームＡ６は、図１０で説明するパフォーマンスデータを送信する場合に用いられる。
【００４５】
次に、通信システム１００の動作の一例について説明する。ここで、通信システム１００において、ノード装置１は、一例として、サーバ装置２０からＦＴＰに基づくコマンドにより、ファームウェアＦのダウンロードを実行する。続いて、通信システム１００において、他のノード装置２〜８は、順次、ファームウェアＦのダウンロードを実行していく。以下、詳細に説明する。
【００４６】
図５は、図２に示したサーバ装置２０の動作の一例を示すフローチャートである。図５に示す処理は、サーバ装置２０のＣＰＵ２５が、入力デバイス２８を介して、作業者からのノード装置１〜８へのファームウェアＦのダウンロードの指示を受け付けたときに開始される。すなわち、ＣＰＵ２５は、通信システム１００内のファームウェアＦの更新の指示に基づいて、図５に示すフローチャートの処理（以下「フローの処理」と称する。）を開始する。
【００４７】
ステップＳ１０１：ＣＰＵ２５の送信処理部２５ａは、先ず、通信Ｉ／Ｆ部２１を介して、ファームウェアＦをダウンロードするコマンドを、例えば、フレームＡによりノード装置１に送信する。
【００４８】
また、送信処理部２５ａは、ＨＤＤ装置２４からファームウェアＦを読み出して、読み出したファームウェアＦを複数のパケットに分割する。続いて、送信処理部２５ａは、通信Ｉ／Ｆ部２１を介して、分割した複数のパケットを個別に複数のフレームＡ２として、ノード装置１に送信する。なお、図６で説明するが、サーバ装置２０からファームウェアＦを受信したノード装置１は、隣接するノード装置２にファームウェアＦを転送し、ノード装置２〜８は、隣接するノード装置３〜８、１にファームウェアＦを順次転送する。
【００４９】
ステップＳ１０２：次に、ＣＰＵ２５は、マスタ装置であるノード装置１からのデータの受信を待つ。データの受信が無い場合（ステップＳ１０２：Ｎｏ）、ＣＰＵ２５は、ステップＳ１０２の処理を繰り返す。ＣＰＵ２５は、データを受信した場合（ステップＳ１０２：Ｙｅｓ）、ステップＳ１０３の処理に移行する。
【００５０】
ステップＳ１０３：ＣＰＵ２５の受信処理部２５ｂは、通信Ｉ／Ｆ部２１を介してノード装置１から送信されてきたデータを、ＲＡＭ２３に書き込む。なお、受信処理部２５ｂは、受信したデータをＨＤＤ装置２４に書き込んでも良い。そして、ＣＰＵ２５は、ステップＳ１０４の処理に移行する。
【００５１】
ステップＳ１０４：ＣＰＵ２５は、ノード装置１から受信したデータを解析し、例えばノード装置１〜８の履歴データを有するＦＷテーブル３０を含むフレームＡ３を受信したのであれば、ファームウェアＦのノード装置１〜８へのダウンロードの完了を認識する。又は、ＣＰＵ２５は、ノード装置１から受信したデータを解析し、例えば「送信失敗」を示すフレームＡ４を受信したのであれば、通信障害のエラーを認識する。そして、ＣＰＵ２５は、ステップＳ１０５の処理に移行する。
【００５２】
ステップＳ１０５：ＣＰＵ２５は、例えば、ノード装置１〜８でのファームウェアＦのノード装置１〜８へのダウンロードの完了を示す情報を、表示モニタ２７に表示させるために出力処理を行なう。又は、ＣＰＵ２５は、例えば、通信障害のエラーを示す情報を、表示モニタ２７に表示させるために出力処理を行なう。そして、ＣＰＵ２５は、図５に示すフローの処理を終了する。
【００５３】
図６は、図１に示した各ノード装置１〜８の動作の一例を示すフローチャートである。図６のフローチャートは、ノード装置１〜８に共通である。
【００５４】
ステップＳ２０１：各ノード装置１〜８の制御部１２ａは、リングネットワークＲＮ上で隣接するノード装置から送信されてくるデータの受信を待つ。なお、ノード装置１の制御部１２ａは、隣接するノード装置２又は８から送信されてくるデータと共に、サーバ装置２０から送信されてくるデータの受信を待つ。データの受信が無い場合（ステップＳ２０１：Ｎｏ）、制御部１２ａは、ステップＳ２０１の処理を繰り返す。制御部１２ａは、データの受信があった場合（ステップＳ２０１：Ｙｅｓ）、ステップＳ２０２の処理に移行する。
【００５５】
ステップＳ２０２：各ノード装置１〜８の制御部１２ａは、受信したデータの解析処理を行なう。なお、ノード装置１の制御部１２ａは、サーバ装置２０から受信したデータの解析処理も行なう。例えば、制御部１２ａは、受信したフレームが図４で説明したフレームＡ１〜Ａ６の何れに属するのか解析する。ＣＰＵ１２は、制御部１２ａによるフレームの解析後、ステップＳ２０３の処理に移行する。
【００５６】
なお、フローの処理には示していないが、制御部１２ａは、フレームＡ２を受信した場合、フレームＡ２に含まれるファームウェアＦのバージョン情報を読み出す。そして、例えば、同じバージョンのファームウェアＦが格納領域１１ａに既に格納されている場合には、制御部１２ａは、受信したファームウェアＦについて、更新すべきファームウェアではないと判断する。そして、制御部１２ａは、メモリ１３の格納領域１３ａとは異なる領域に書き込まれたファームウェアＦを削除する。この場合、制御部１２ａは、ファームウェアＦのダウンロードをする必要がないからである。そして、ＣＰＵ１２は、図６に示すフローの処理を終了する。
【００５７】
ステップＳ２０３：各ノード装置１〜８の制御部１２ａは、メモリ１１内に格納されている自身の識別データを参照して、受信したフレームＡ３内のＦＷテーブル３０内に自身の装置Ｎｏ.に対応する領域に識別データが格納されているか否かを判断する。自身の装置Ｎｏ.に対応する領域に識別データが格納されていない場合（ステップＳ２０３：Ｎｏ）、ＣＰＵ１２は、ステップＳ２０４の処理に移行する。例えば、ノード装置１がサーバ装置２０からファームウェアＦをダウンロードするコマンドを受け付けたとき（フレームＡ１）、ノード装置１の識別データは、まだ、格納領域１３ａに格納されていない。この場合、ＣＰＵ１２は、ステップＳ２０４の処理に移行する。
【００５８】
一方、格納領域１３ａにおいて、自身の装置Ｎｏ.に対応する領域に識別データが格納されている場合（ステップＳ２０３：Ｙｅｓ）、ＣＰＵ１２は、後述するステップＳ２１１の処理に移行する。
【００５９】
ステップＳ２０４：各ノード装置１〜８の制御部１２ａは、メモリ１１の格納領域１１ａに、受信したファームウェアＦを格納していく。ここで、監視部１２ｄは、制御部１２ａにより格納されるファームウェアＦを監視する。監視部１２ｄは、メモリ１３の格納領域１３ａから読み出されたファームウェアＦがバス１４を介して、メモリ１１の格納領域１１ａに書き込まれるのを監視する。この際、監視部１２ｄは、ダウンロードするに従って、格納領域１１ａ内で増加するファームウェアＦのファイルサイズが、制御部１２ａがフレームＡ２から読み出したファームウェアＦのファイルサイズに達した時に、ダウンロードの完了と判断する。ダウンロードが完了すると、ＣＰＵ１２は、ステップＳ２０５の処理に移行する。
【００６０】
ステップＳ２０５：各ノード装置１〜８の作成部１２ｂは、格納領域１３ａにおける自身の装置Ｎｏ.に対応する領域に、識別データと、ファームウェアＦのファイル名及びファイルサイズとを格納する。
【００６１】
そして、各ノード装置１〜８の作成部１２ｂは、格納領域１３ａに格納された識別データを、隣接するノード装置２〜８、１に転送するＦＷテーブル３０として読み出す。ＦＷテーブル３０が、隣接するノード装置２〜８、１に順次転送される動作は、図７で説明する。そして、ＣＰＵ１２は、作成部１２ｂによりＦＷテーブル３０が作成された後、ステップＳ２０６の処理に移行する。
【００６２】
ステップＳ２０６：各ノード装置１〜８の制御部１２ａは、ＦＷテーブル３０を送信する場合に用いられるフレームＡ３のデータ領域に、ＦＷテーブル３０のデータを格納する。そして、各ノード装置１〜８の制御部１２ａは、フレームＡ３の宛先アドレスの領域に、ＦＷテーブル３０に格納されたデータを次に転送するノード装置の識別データの値を格納する。また、制御部１２ａは、フレームＡ３の送信元アドレスの領域に自身の識別データの値を格納する。さらに、制御部１２ａは、フレームＡ３の長さ／タイプの領域に、ＦＷテーブル３０を送信することを示す第１のタイプ値（0x06AA）を格納する。なお、制御部１２ａは、プリアンブル、ＳＦＤ及びＦＣＳの値を、IEEE802.3の仕様に基づいて設定する。他のノード装置２〜８においても、プリアンブル、ＳＦＤ及びＦＣＳの設定値は、IEEE802.3の仕様に基づいて設定される。そして、ＣＰＵ１２は、ステップＳ２０７の処理に移行する。
【００６３】
ステップＳ２０７：各ノード装置１〜８の転送処理部１２ｃは、通信Ｉ／Ｆ部１０を介して、伝送方向に隣接する次のノード装置へ、ステップＳ２０６の処理で制御部１２ａが作成したフレームＡ３（ＦＷテーブル３０を含む）の転送処理を行なう。また、転送処理部１２ｃは、メモリ１１の格納領域１１ａからファームウェアＦを読み出して、読み出したファームウェアＦを複数のフレームＡ２に分割する。そして、転送処理部１２ｃは、分割された複数のフレームＡ２を、伝送方向の隣接する次のノード装置へ転送する。なお、フレームＡ２では、フレームＡ３と同様に、宛先アドレスの領域に、ファームウェアＦを次に転送するノード装置の識別データの値が格納され、送信元アドレスの領域に自身の識別データの値が格納される。そして、ＣＰＵ１２は、ステップＳ２０８の処理に移行する。
【００６４】
ステップＳ２０８：ノード装置１の障害検出部１２ｅは、障害（例えば、光伝送路Ｒ１上での通信障害）を検出する。障害が発生していない場合（ステップＳ２０８：Ｎｏ）、ＣＰＵ１２は、図６に示すフローの処理を終了する。一方、障害が発生した場合（ステップＳ２０８：Ｙｅｓ）、ＣＰＵ１２は、ステップＳ２０９の処理に移行する。
【００６５】
ステップＳ２０９：例えば、ノード装置３とノード装置４との間の光伝送路Ｒ１上での通信障害が発生した場合、ノード装置３の切替処理部１２ｆは、例えば、ＳＯＮＥＴ冗長機能に基づいて、光伝送路Ｒ１から光伝送路Ｒ２に切り替える処理を行なう。そして、ＣＰＵ１２は、ステップＳ２１０の処理に移行する。
【００６６】
ステップＳ２１０：ノード装置３のエラー通知部１２ｇは、障害検出部１２ｅが検出した通信障害のエラー通知の処理を行なう。そして、ＣＰＵ１２は、図６に示すフローの処理を一旦終了する。そして、ＣＰＵ１２は、図６に示すフローの処理を再度開始する。なお、ステップＳ２０９、ステップＳ２１０の詳細については、図８を用いて後述する。
【００６７】
ここで、ノード装置１〜８は、上述したステップＳ２０１〜Ｓ２０７、Ｓ２０８（Ｎｏ側）の処理を順次行なう。これにより、図１に示す通信システム１００は、ノード装置１からノード装置８に向けて、ファームウェアＦを順次ダウンロードさせていく。そして、ノード装置８の転送処理部１２ｃは、伝送方向に隣接するノード装置１へ、ノード装置１〜８の履歴データを有するＦＷテーブル３０を含むフレームＡ３と、ファームウェアＦを含む複数のフレームＡ２とを転送する。
【００６８】
ノード装置１の制御部１２ａは、ノード装置８から送信されてきたノード装置１〜８の履歴データを有するＦＷテーブル３０を含むフレームＡ３と、ファームウェアＦを含む複数のフレームＡ２とを受信する。ステップＳ２０２の解析処理において、ノード装置１の制御部１２ａは、ノード装置８から受信したＦＷテーブル３０のデータがノード装置１の識別データを含んでいることを認識する。このため、ステップＳ２０３において、ＣＰＵ１２は、ステップＳ２１１の処理に移行する。
【００６９】
なお、他のノード装置２〜８についても、隣接しているノード装置から受信したＦＷテーブル３０のデータに自身の識別データを含んでいる場合（例えば、伝送方向が逆向きになった場合等）ステップＳ２０３において、ＣＰＵ１２は、ステップＳ２１１の処理に移行する。
【００７０】
ステップＳ２１１：各ノード装置１〜８の制御部１２ａは、転送元のノード装置から受けたＦＷテーブル３０のデータに基づいて、サーバ装置２０へ送信処理を行なうか否かを判断する。
【００７１】
ここで、本実施形態において、ノード装置１〜８は、フレームＡ３にて転送されるＦＷテーブル３０をリングネットワークＲＮ上で共用して利用している。そのため、図６に示すフローの処理を実行した場合、ＦＷテーブル３０のデータ入力欄の最上段には、後述する図７（ａ）〜（ｄ）に示すように、最初にファームウェアＦのダウンロードを行なったノード装置１の履歴データが格納されている。各ノード装置１〜８の制御部１２ａは、ＦＷテーブル３０を含むフレームＡ３を受信した場合、ＦＷテーブル３０のデータ入力欄の最上段の識別データが、自装置の識別データと一致するかを判定する。そして、最上段の識別データと自装置の識別データが一致した場合、各ノード装置１〜８の制御部１２ａは、受信したＦＷテーブル３０を含むフレームＡ３をサーバ装置２０へ送信することを決定し、処理をステップＳ２１２に移行する。実際の動作では、ＦＷテーブル３０のデータ入力欄の最上段の識別データは、ノード装置１であるため、ステップＳ２１２、ステップＳ２１３の処理は、ノード装置１により行なわれる。ノード装置２〜８が、ステップＳ２１２、ステップＳ２１３の処理を行なうことはないため、ノード装置２〜８の制御部１２ａは、ステップＳ２１１において、ステップＳ２１４に移行する判定を行なう。
【００７２】
つまり、ノード装置１によるステップＳ２１２への移行の決定は、例えば、ＦＷテーブル３０を含むフレームＡ３がリングネットワークＲＮを反時計回りに一周してノード装置１に戻ってきたことを意味する。
【００７３】
ステップＳ２１２：ノード装置１の制御部１２ａは、ノード装置８から受信したファームウェアＦの削除処理を行なう。すなわち、ファームウェアＦが全てのノード装置１〜８の格納領域１１ａにダウンロードされたため、ノード装置１の制御部１２ａは、ノード装置８から受信し、メモリ１３に一時的に記憶されているファームウェアＦを削除する。そして、ＣＰＵ１２は、ステップＳ２１３の処理に移行する。
【００７４】
ステップＳ２１３：ノード装置１の制御部１２ａは、通信Ｉ／Ｆ部１０を介して、サーバ装置２０に向けてノード装置１〜８の履歴データを有するＦＷテーブル３０を含むフレームＡ３の送信処理を行なう。そして、ＣＰＵ１２は、図６に示すフローの処理を終了する。
【００７５】
なお、上述した図５のステップＳ１０２、Ｓ１０３に示したように、サーバ装置２０の受信処理部２５ｂは、ノード装置１〜８の履歴データを有するＦＷテーブル３０を含むフレームＡ３を受信し、受信処理を行なう。
【００７６】
ステップＳ２１４：転送処理部１２ｃは、例えば障害が検出されていない場合、伝送方向に隣接するノード装置へ、ＦＷテーブル３０を含むフレームＡ３と、ファームウェアＦを含む複数のフレームＡ２とを転送する。
【００７７】
以上より、各ノード装置１〜８の作成部１２ｂは、ダウンロードの完了を示す履歴データを、ＦＷテーブル３０に順次追加する。すなわち、各ノード装置１〜８の作成部１２ｂは、各ノード装置１〜８のダウンロードの完了を示す履歴データを一つのファイルに集約することができる。そして、各ノード装置１〜８の転送処理部１２ｃは、ファームウェアＦを含む複数のフレームＡ２とＦＷテーブル３０を含むフレームＡ３とを伝送方向の隣接するノード装置に転送する。
【００７８】
図７は、本実施形態におけるＦＷテーブル３０の作成処理及びフレームＡ３の転送処理の一例を説明する図である。図７は、各ノード装置１〜８がＦＷテーブル３０を含むフレームＡ３を転送する処理を例示している。
【００７９】
例えば、ノード装置１は、図６に示したステップＳ２０１によりサーバ装置２０からファームウェアＦ及びＦＷテーブル３０を受信した後、ＦＷテーブル３０に履歴データを追加する。そして、ＦＷテーブル３０は、図７（ａ）に示した状態になる。ノード装置２は、図６に示したステップＳ２０１によりノード装置１からファームウェアＦ及びＦＷテーブル３０を受信した後、ノード装置２の作成部１２ｂは、ＦＷテーブル３０に履歴データを追加する。そして、ＦＷテーブル３０は、図７（ｂ）に示した状態になる。ノード装置３は、図６に示したステップＳ２０１により、ノード装置２からファームウェアＦ及びＦＷテーブル３０を受信した後、ノード装置３の作成部１２ｂは、ＦＷテーブル３０に履歴データを追加する。そして、ＦＷテーブル３０は、図７（ｃ）に示した状態になる。ノード装置８は、図６に示したステップＳ２０１により、ノード装置７からファームウェアＦ及びＦＷテーブル３０を受信した後、ノード装置８の作成部１２ｂは、ＦＷテーブル３０に履歴データを追加する。そして、ＦＷテーブル３０は、図７（ｄ）に示した状態になる。すなわち、各ノード装置１〜８は、各ノード装置１〜８によるファームウェアＦのダウンロードを示す履歴データを、転送されてくるＦＷテーブル３０に順次蓄積することでＦＷテーブル３０を更新し、更新したＦＷテーブル３０を次のノード装置に転送する。そして、ＣＰＵ１２は、ステップＳ２０６の処理に移行する。
【００８０】
そして、ノード装置１〜８で、ファームウェアＦのダウンロードが完了すると、ノード装置１の制御部１２ａは、図７（ｄ）に示すＦＷテーブル３０を含むフレームＡ３をサーバ装置２０へ送信する。これにより、サーバ装置２０は、ノード装置１〜８からファームウェアＦのダウンロードの完了を示す履歴データを個別に受信せずに済む。つまり、ノード装置１の制御部１２ａは、監視制御用の回線の帯域容量を少なくし、フレームＡ３をサーバ装置２０へ効率良く送信することができる。
【００８１】
したがって、本件開示の技術は、ネットワークの負荷を軽減して、履歴データを送信できる手段を提供できる。
【００８２】
また、本件開示の技術では、サーバ装置２０を介して、例えば、作業者がファームウェアＦをダウンロードするコマンドでノード装置１〜８へのファームウェアＦのダウンロードを個別に行なうという操作をせずに済み、操作手順が削減するので、作業効率が向上する。
【００８３】
次に、障害（例えば通信障害）が発生した場合の処理について、詳細に説明する。
【００８４】
図８は、本実施形態における障害発生時の処理の一例を説明する図である。図８は、ノード装置３とノード装置４との間の光伝送路Ｒ１で通信障害が発生して、送信エラーになった場合について例示している。なお、図８において、×印は、通信障害を模式的に表わしている。この場合について、先ず、図６に示すフローの処理（ノード装置３におけるステップＳ２０７〜Ｓ２１０の処理）を用いて説明する。
【００８５】
すなわち、ノード装置３の転送処理部１２ｃは、ノード装置３からノード装置４に向けて、ファームウェアＦを含む複数のフレームＡ２とＦＷテーブル３０を送信する場合に用いられるフレームＡ３の転送処理を行なう（ステップＳ２０７）。そして、ノード装置３の障害検出部１２ｅは、上述した障害検出処理により、例えば、ノード装置３とノード装置４との間の光伝送路Ｒ１で通信障害を検出する（ステップＳ２０８：Ｙｅｓ）。これにより、ノード装置３の切替処理部１２ｆは、ＳＯＮＥＴ冗長機能に基づいて、通信に使用する伝送路を光伝送路Ｒ１から光伝送路Ｒ２に切り替える処理を行なう（ステップＳ２０９）。そして、ノード装置３のエラー通知部１２ｇは、障害検出部１２ｅが検出した通信障害のエラー通知の処理を行なう（ステップＳ２１０）。
【００８６】
ここで、ノード装置３の制御部１２ａは、送信元のノード装置へ送信失敗の通知と受信したＦＷテーブル３０を送信する指示をエラー通知部１２ｇから受け付けて、エラー通知用のフレームＡ４の作成処理を行なう。この際、ノード装置３の制御部１２ａは、ノード装置３の作成部１２ｂが作成したフレームＡ３の長さ／タイプの領域に第４のタイプ値（0x06FF）を格納する。これにより、ＦＷテーブル３０を送信する場合に用いられるフレームＡ３は、送信失敗を示す情報を含むフレームＡ４に置き換わる。この場合、フレームＡ４のデータ領域には、図７（ｃ）に示すＦＷテーブル３０が格納されている。そのため、ノード装置３の制御部１２ａは、ノード装置１〜３についてダウンロードが完了したと判断する。また、ノード装置３の制御部１２ａは、フレームＡ４のデータ領域に、障害検出部１２ｅが検出した通信障害の具体的な内容を書き込んでも良い。
【００８７】
そして、ノード装置３の制御部１２ａは、伝送方向を逆方向（従系の矢印で示す図８の時計回り）にするため、フレームＡ４の宛先アドレスの領域にノード装置２の識別データの値を格納する。また、ノード装置３の制御部１２ａは、フレームＡ４の送信元アドレスの領域にノード装置３の識別データの値を格納する。そして、ノード装置３の転送処理部１２ｃは、図８において伝送方向を時計回りにして、ファームウェアＦを含む複数のフレームＡ２と送信失敗を示す情報を含むフレームＡ４とをノード装置２へ転送する。そして、ＣＰＵ１２は、図６に示すフローの処理を終了する。
【００８８】
すると、ノード装置２は、再び、図６に示すフローの処理において、ステップＳ２０１、Ｓ２０２、Ｓ２０３、Ｓ２１１、Ｓ２１４の処理を順次行なう。すなわち、ノード装置２は、ファームウェアＦを含む複数のフレームＡ２と送信失敗を示す情報を含むフレームＡ４とをノード装置１へ転送する。
【００８９】
ノード装置１は、ノード装置２から転送されたファームウェアＦを含む複数のフレームＡ２及びフレームＡ４を受信する。そして、ノード装置１の制御部１２ａは、再び、図６に示すフローの処理において、ノード装置２から受信したフレームＡ４のデータを解析する（ステップＳ２０２）。この場合、ＦＷテーブル３０には、既にノード装置１の識別データが格納されているので（ステップＳ２０３：Ｙｅｓ）、ノード装置１のＣＰＵ１２は、ステップＳ２１１の処理に移行する。ステップＳ２１１の処理において、ノード装置１の制御部１２ａは、ＦＷテーブル３０のデータに基づいて、マスタ装置であると判断する。
【００９０】
ここで、ノード装置１の制御部１２ａは、サーバ装置２０へフレームＡ４を通知するか否か判断する。本実施形態では、例えば、ノード装置１は、通信障害が発生した場合であっても、光伝送路Ｒ１から光伝送路Ｒ２に切り替えて、ノード装置１〜８におけるダウンロードが完了した後に、サーバ装置２０にダウンロードの完了を示すフレームＡ３を送信するようにしても良い。この場合、ノード装置１のＣＰＵ１２は、ステップＳ２１４の処理に移行する。ノード装置１の制御部１２ａは、ノード装置２から受信したフレームＡ４の長さ／タイプの領域に第１のタイプ値（0x06AA）を格納する。これにより、送信失敗を示す情報を含むフレームＡ４は、ＦＷテーブル３０を送信する場合に用いられるフレームＡ３に再度置き換わる。
【００９１】
そして、ノード装置１の制御部１２ａは、フレームＡ３の宛先アドレスの領域にノード装置８の識別データの値を格納する。また、制御部１２ａは、フレームＡ３の送信元アドレスの領域にノード装置１の識別データの値を格納する。
【００９２】
続いて、ノード装置１の転送処理部１２ｃは、ファームウェアＦを含む複数のフレームＡ２とＦＷテーブル３０を送信する場合に用いられるフレームＡ３とを光伝送路Ｒ２を利用してノード装置８へ転送する。そして、ノード装置１のＣＰＵ１２は、図６に示すフローの処理を終了する。
【００９３】
すると、ノード装置８では、図６に示すフローの処理により、ノード装置８の制御部１２ａは、ノード装置１から転送された複数のフレームＡ２とフレームＡ３とを受信することで、ファームウェアＦのダウンロードを行なう。
【００９４】
また、ノード装置８と同様にして、ノード装置７、６、５及び４の制御部１２ａは、図６に示すフローの処理により、隣接するノード装置から転送された複数のフレームＡ２とフレームＡ３とを受信することで、ファームウェアＦのダウンロードを行なう。
【００９５】
なお、ノード装置３、２は、既に、ファームウェアＦのダウンロードを完了しているので、ファームウェアＦのダウンロードを実行せず、そのままファームウェアＦを含む複数のフレームＡ２を転送する。そして、ノード装置１の制御部１２ａは、ノード装置１〜８の履歴データを有するＦＷテーブル３０を含むフレームＡ３とファームウェアＦを含む複数のフレームＡ２とを受信する。続いて、ノード装置１は、再度、図６に示すフローの処理において、ステップＳ２０１、Ｓ２０２、Ｓ２０３、Ｓ２１１、Ｓ２１２、Ｓ２１３の処理を順次実行する。これにより、ノード装置１の制御部１２ａは、ノード装置１〜８の履歴データを有するＦＷテーブル３０を含むフレームＡ３をサーバ装置２０へ送信する。
【００９６】
以上、通信システム１００は、例えば通信障害が発生した場合、光伝送路Ｒ２を利用して、ファームウェアＦを含む複数のフレームＡ２とエラー通知用のフレームＡ４とを伝送方向を図８に示す従系（時計回り）にして、隣接するノード装置に転送するようにする。
【００９７】
そして、ノード装置１は、エラー通知用のフレームＡ４を、ＦＷテーブル３０を送信する場合に用いられるフレームＡ３に置き換えて、図８に示すリングネットワークＲＮ上を時計回りに転送する。これにより、通信システム１００は、通信障害が発生した場合であっても、ダウンロードが未完了のノード装置に対してもダウンロードを完了させることができる。そのため、サーバ装置２０の受信処理部２５ｂは、ノード装置１〜８の履歴データ（ファームウェアＦのノード装置１〜８へのダウンロードの完了を示す）を有するＦＷテーブル３０を含むフレームＡ３を受信するので、ノード装置１〜８からダウンロードの完了を示す履歴データを個別に受信せずに済む。したがって、本件開示の技術は、ネットワークの負荷を軽減して、履歴データを送信できる手段を提供できる。
【００９８】
なお、本実施形態における障害発生時の処理として、通信障害が発生し、エラー通知用のフレームＡ４をノード装置１が受信した場合、ノード装置１の制御部１２ａは、サーバ装置２０へエラー通知用のフレームＡ４を送信するようにしても良い。
【００９９】
また、上記の実施形態において、通信システム１００は、二重型リングネットワークを適用したが、障害対策を省略するのであれば、一重型リングネットワークに適用しても良い。一例として、図３において、上記の実施形態は、光伝送路Ｒ２を除いたリングネットワークを構築しても良い。この場合、図６に示すフローの処理は、ステップＳ２０７〜Ｓ２０９の処理をスキップするようにすれば良い。
【０１００】
［変形例］
次に、本実施形態の変形例について説明する。なお、変形例においても、通信システム１００、サーバ装置２０、ノード装置１〜８の構成は同様であるので、同じ構成要素については同じ符号を付けて説明する。上述した通信システム１００は、履歴データとして、ファームウェアＦのダウンロードの完了を示すデータを採用したが、例えば、ノード装置の負荷の指標を示すパフォーマンスデータを採用しても良い。
【０１０１】
従来、各ノード装置は、個別に、パフォーマンスデータをサーバ装置に送信するため、サーバ装置とノード装置とを結ぶ監視制御用の回線の帯域容量が、その分、多くなる。その結果、ネットワークに負荷がかかる。
【０１０２】
そこで、本実施形態の変形例は、上記事情に鑑み、ネットワークの負荷を軽減して、パフォーマンスデータをサーバ装置２０に送信できる手段を提供する。なお、本実施形態の変形例は、種別が異なる複数の共用ファイルを含むフレームをリングネットワークＲＮ上で周回させても良い。そして、本実施形態の変形例は、種別が異なる複数の共用ファイルのうちで選択した共用ファイルを含むフレームをサーバ装置２０へ送るようにしても良い。
【０１０３】
図９は、変形例におけるパフォーマンスデータ用テーブルの一例を示す図である。図９に示すパフォーマンスデータ用テーブル３１（以下「ＰＤ（Performance Data）テーブル３１」と称する。）は、パフォーマンスデータを収集したノード装置を識別する識別データがリスト化されたテーブルデータである。なお、ＰＤテーブル３１は、共用ファイルの一例である。
【０１０４】
図１０は、変形例におけるパフォーマンスデータのファイルの一例を示す図である。パフォーマンスデータのファイル３２（以下「ＰＤファイル３２」と称する。）は、共用ファイルの一例である。
【０１０５】
以下、通信システム１００に適用した変形例の動作について説明する。
【０１０６】
図１において、ノード装置１は、サーバ装置２０からパフォーマンスデータを収集するコマンドを受信し、受信したコマンドをノード装置２〜８にも転送する。各ノード装置１〜８の制御部１２ａは、コマンドに基づいて、予め定めた設定時間（以下「パフォーマンスデータの収集時間」と称する。）が経過する毎に、パフォーマンスデータを収集する。パフォーマンスデータとしては、例えば、各ノード装置１〜８の通信状態を示すデータである。
【０１０７】
ここで、先ず、リングネットワークＲＮ上でサーバ装置２０と接続しているノード装置１の作成部１２ｂは、パフォーマンスデータの収集時間が経過すると、先ず、ＰＤテーブル３１と、ＰＤファイル３２とを作成する。
【０１０８】
続いて、ノード装置１の制御部１２ａは、ＰＤテーブル３１を送信する場合に用いられるフレームＡ５のデータ領域にＰＤテーブル３１のデータを格納する。そして、制御部１２ａは、フレームＡ５の宛先アドレスの領域にノード装置２の識別データの値を格納する。また、制御部１２ａは、フレームＡ５の送信元アドレスにノード装置１の識別データの値を格納する。さらに、制御部１２ａは、フレームＡ５の長さ／タイプの領域に第２のタイプ値（0x06BB）を格納する。
【０１０９】
また、ノード装置１の制御部１２ａは、パフォーマンスデータを送信する場合に用いられるフレームＡ６のデータ領域にＰＤファイル３２のデータを格納し、フレームＡ６の長さ／タイプの領域に第３のタイプ値（0x06CC）を格納する。なお、フレームＡ６では、フレームＡ５と同様に、宛先アドレスの領域に、ＰＤファイル３２を次に転送するノード装置の識別データの値が格納され、送信元アドレスの領域に自身の識別データの値が格納される。その後、ノード装置１の転送処理部１２ｃは、ＰＤテーブル３１を含むフレームＡ５と、ＰＤファイル３２を含むフレームＡ６をノード装置２に転送する。したがって、ＰＤテーブル３１を含むフレームＡ５とＰＤファイル３２を含むフレームＡ６とは、順次、ノード装置２〜８へと、転送されていく。ここで、図９（ａ）は、ノード装置１の作成部１２ｂが作成したＰＤテーブル３１を示している。ノード装置２は、ノード装置１からフレームＡ５とフレームＡ６とを受信した後、ノード装置２の作成部１２ｂは、ＰＤテーブル３１に識別データを追加する。そして、ＰＤテーブル３１は、図９（ｂ）に示した状態になる。ノード装置３は、ノード装置２からフレームＡ５とフレームＡ６とを受信した後、ノード装置３の作成部１２ｂは、ＰＤテーブル３１に識別データを追加する。そして、ＰＤテーブル３１は、図９（ｃ）に示した状態になる。ノード装置８は、ノード装置７からフレームＡ５とフレームＡ６とを受信した後、ノード装置８の作成部１２ｂは、ＰＤテーブル３１に識別データを追加する。そして、ＰＤテーブル３１は、図９（ｄ）に示した状態になる。
【０１１０】
また、各ノード装置１〜８は、パフォーマンスデータを、ＰＤファイル３２に順次記録していく。図１０に示すＰＤファイル３２において、ノード装置１の識別データ（一例として、#192.168.11）以下が、ノード装置１のパフォーマンスデータである。ノード装置２の識別データ（一例として、#192.168.12）以下が、ノード装置２のパフォーマンスデータである。なお、図１０では、ノード装置３〜８のパフォーマンスデータを省略している。このようにして、各ノード装置１〜８の作成部１２ｂは、パフォーマンスデータをＰＤファイル３２に追加していく。そして、ノード装置１の制御部１２ａは、ＰＤテーブル３１を含むフレームＡ５及びＰＤファイル３２を含むフレームＡ６を受信する。ノード装置１の制御部１２ａは、図９（ｄ）に示すＰＤテーブル３１を参照し、ノード装置１〜８の識別データがＰＤテーブル３１にあるので、ＰＤテーブル３１を含むフレームＡ５が周回してきたと判断する。この場合、ノード装置１の制御部１２ａは、ＰＤテーブル３１を含むフレームＡ５をサーバ装置２０に送信しても良い。
【０１１１】
なお、変形例では、サーバ装置２０は、ＰＤファイル３２を解析すれば良いので、ノード装置１の制御部１２ａは、ＰＤテーブル３１を含むフレームＡ５をサーバ装置２０に送信せずに削除しても良い。そのため、変形例では、ノード装置１の制御部１２ａは、ＰＤテーブル３１を含むフレームＡ５を削除することとする。そして、ノード装置１の制御部１２ａは、ＰＤファイル３２を含むフレームＡ６をサーバ装置２０へ送信する。
【０１１２】
以上、要約すると、変形例における通信システム１００は、ＰＤテーブル３１を含むフレームＡ５と、ＰＤファイル３２を含むフレームＡ６を、伝送方向に隣接しているノード装置に転送させるようにする。そして、ノード装置１の制御部１２ａは、各ノード装置のパフォーマンスデータが集約されたＰＤファイル３２を含むフレームＡ６をサーバ装置２０へ送信する。これにより、ノード装置１の制御部１２ａは、監視制御用の回線の帯域容量を少なくし、各ノード装置のパフォーマンスデータが集約されたＰＤファイル３２を含むフレームＡ６を、効率良くサーバ装置２０へ送信することができる。
【０１１３】
したがって、変形例は、パフォーマンスデータをネットワークの負荷がかからずに送信できる。なお、変形例についても、上述したＳＯＮＥＴ冗長機能に基づいて、通信障害発生時の処理を行なっても良い。
【０１１４】
以上の詳細な説明により、実施形態の特徴点及び利点は明らかになるであろう。これは、特許請求の範囲がその精神及び権利範囲を逸脱しない範囲で前述のような実施形態の特徴点及び利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良及び変更に容易に想到できるはずである。したがって、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物及び均等物に拠ることも可能である。
【符号の説明】
【０１１５】
１〜８・・ノード装置；１２ａ・・制御部；１２ｂ・・作成部；１２ｃ・・転送処理部；１２ｅ・・障害検出部；１２ｆ・・切替処理部；２０・・サーバ装置；１００・・通信システム
【図１】
2014140099.tif 000003
【図２】
2014140099.tif 000004
【図３】
2014140099.tif 000005
【図４】
2014140099.tif 000006
【図５】
2014140099.tif 000007
【図６】
2014140099.tif 000008
【図７】
2014140099.tif 000009
【図８】
2014140099.tif 000010
【図９】
2014140099.tif 000011
【図１０】
2014140099.tif 000012