(57)【要約】【課題】特許文献１の装置を含め、一般的な通信装置の製造者は、再現試験を行うときに、障害が発生した環境を十分に整えることができないという課題があった。【解決手段】装置は、通信により入力されるデータに対応する格納データを格納するメモリと、前記通信に係る障害を検出する検出部と、前記格納データを順次、前記メモリに格納するとともに、前記検出部が前記障害を検出したときには前記格納を停止する格納部と、を備える。【選択図】      図９
2017163329.tif 000002
【特許請求の範囲】
【請求項１】
通信により入力されるデータに対応する格納データを格納するメモリと、
前記通信に係る障害を検出する検出部と、
前記格納データを順次、前記メモリに格納するとともに、前記検出部が前記障害を検出したときには前記格納を停止する格納部と、
を備えることを特徴とする装置。
【請求項２】
前記格納部は、入力される前記データを破棄することにより前記格納を停止する、
ことを特徴とする請求項１に記載の装置。
【請求項３】
前記格納部は、前記通信装置の前記入力に係る機能を停止することにより前記格納を停止する、
ことを特徴とする請求項１に記載の装置。
【請求項４】
所定のタイミングになると、前記メモリに記憶されている前記データに対応するデータを出力する送信部を備え、
前記送信部は、前記検出部が前記障害を検出したとき、前記出力を停止する、
ことを特徴とする請求項１乃至３のいずれか１項に記載の装置。
【請求項５】
通信により入力されるデータに対応するデータを順次、メモリに格納する格納ステップと、
前記通信に係る障害が検出されたときには、前記格納を停止する停止ステップと、
を有することを特徴とする保存方法。
【請求項６】
前記停止ステップにおいては、入力される前記データを破棄することにより前記格納を停止する、
ことを特徴とする請求項５に記載の保存方法。
【請求項７】
通信装置における方法であって、
前記停止ステップにおいては、前記通信装置の前記入力に係る機能を停止することにより前記格納を停止する、
ことを特徴とする請求項５に記載の保存方法。
【請求項８】
所定のタイミングになると、前記メモリに記憶されている前記データに対応するデータを出力する送信ステップを有し、
前記送信ステップにおいては、前記停止ステップにおいて前記障害が検出されたときに前記出力を停止する、
ことを特徴とする請求項５乃至７のいずれか１項に記載の保存方法。
【請求項９】
メモリを備えた通信装置に実装されたプロセッサに、
通信により入力されるデータに対応するデータを順次、前記メモリに格納する格納処理と、
前記通信に係る障害を検出する検出処理と、
前記検出処理が前記障害を検出したときには、前記格納処理を停止する格納停止処理と、
を行わせるためのプログラム。
【請求項１０】
入力される前記データを破棄することにより前記格納処理を停止する前記格納停止処理を、前記プロセッサに行わせるための請求項９に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、装置、保存方法及びプログラムに関し、特に、データを保存する装置、保存方法及びプログラムに関する。
【背景技術】
【０００２】
一般的に、データを保存する装置が知られている。データを保存する装置は、以下の特許文献１に開示されている。図１は、特許文献１の装置の構成図である。
【０００３】
特許文献１の装置は、楽曲データをＭＤ（Ｍｉｎｉ  Ｄｉｓｃ）に記録する装置である。その為に、特許文献１の装置は、図１に示されるように、メイン処理部と、ＭＤレコーダと、を備える。ＭＤレコーダには、ＭＤ（Ｍｉｎｉ  Ｄｉｓｃ）が装填されている。
【０００４】
特許文献１のメイン処理部は、楽曲データを購入するための操作が行われると、ダウンロード要求コマンドをＭＤレコーダに送信する。ＭＤレコーダは、ダウンロード要求コマンドを受信すると、装填されたＭＤを測定対象としてエラーレートを計測し、計測したエラーレートをメイン処理部に返信する。特許文献１のメイン処理部は、返信されたエラーレートが所定値よりも小さいとき、ＭＤにデータ記録が可能と推定し、楽曲データをＭＤレコーダにダウンロードする。ＭＤレコーダは、ダウンロードされた楽曲データをＭＤに記録する。一方、特許文献１のメイン処理部は、返信されたエラーレートが所定値以上のときには、ＭＤに記録エラーが発生すると推定し、ＭＤをイジェクトするようＭＤレコーダに指示する。ＭＤレコーダは、ＭＤをイジェクトする。
【０００５】
上述の構成や動作の通り、特許文献１の装置は、記録エラー発生の可能性のあるＭＤをイジェクトし、楽曲データが記録できていないＭＤが生成されるのを未然に防ぐことができる。特許文献１の装置は、図１に示されるように、通信網と接続され、通信を行うので、通信装置でもある。
【０００６】
通信装置は、一般的にパケットの送受信を行う。通信装置は、パケットを受信したときには、受信したパケットを一旦、装置内のバッファに保存することが一般的である。受信したパケットを装置内で確実に処理する為である。通信装置は、新しく受信したパケットをバッファに保存する際には、最も古いパケットに上書きして保存する。
【０００７】
ところで、通信装置の製造者は、通信装置に通信障害が発生したとき、その原因調査を行う。原因調査の際、通信装置の製造者は、障害が発生した環境をできる限り整え、障害を再現させる再現試験を行う。再現試験により障害が再現できれば、通信装置のどこが原因箇所なのか、短期間に絞り込むことが可能となるからである。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００３−３３１５３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかし、一般的な通信装置の製造者（特許文献１の装置の製造者も含む）は、再現試験を行うときに、障害が発生した環境を十分に整えることができないという課題があった。
【００１０】
なぜなら、通信装置が、新しく受信したパケットでバッファを上書きしてしまい、障害発生時のパケットをバッファ内に保存しないからである。通信装置が障害発生時のパケットを保存しないので、通信装置の製造者は、障害発生時のパケットを取得できない。その結果、通信装置の製造者は、再現試験を行うときに、障害発生時のパケットを再現試験に用いることができず、障害が発生した環境を十分に整えることができなかった。
【００１１】
また、通信装置の製造者は、障害が発生した環境を十分に整えることができない為に、再現試験を実施しても障害を再現させることができず、被疑箇所を絞り込むのに多くの時間がかかる虞があった。
【００１２】
本発明は、上記課題を解決する装置、保存方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記目的を達成するために、本発明の装置は、通信により入力されるデータに対応する格納データを格納するメモリと、前記通信に係る障害を検出する検出部と、前記格納データを順次、前記メモリに格納するとともに、前記検出部が前記障害を検出したときには前記格納を停止する格納部と、を備える。
【００１４】
上記目的を達成するために、本発明の保存方法は、通信により入力されるデータに対応するデータを順次、メモリに格納する格納ステップと、前記通信に係る障害が検出されたときには、前記格納を停止する停止ステップと、を有する。
【００１５】
上記目的を達成するために、本発明のプログラムは、メモリを備えた通信装置に実装されたプロセッサに、通信により入力されるデータに対応するデータを順次、前記メモリに格納する格納処理と、前記通信に係る障害を検出する検出処理と、前記検出処理が前記障害を検出したときには、前記格納処理を停止する格納停止処理と、を行わせるためのプログラムである。
【発明の効果】
【００１６】
本発明によれば、通信装置の製造者は、再現試験を行うときに、障害が発生した環境を十分に整えることができる。
【図面の簡単な説明】
【００１７】
【図１】特許文献１の装置の構成図である。
【図２】本発明の第１の実施の形態における通信装置の構成例を示す図である。
【図３】本発明の第１の実施の形態における通信装置内のデータや信号の流れ（障害が発生する前の流れ）を示す図である。
【図４】本発明の第１の実施の形態における通信装置内のデータや信号の流れ（障害が発生したときの流れ）を示す図である。
【図５】本発明の第１の実施の形態における通信装置の集積回路の構成例を示す図である。
【図６】本発明の第１の実施の形態における通信装置の動作を説明する為の図である。
【図７】本発明の第１の実施の形態における通信装置の動作（障害が発生したときに実施する動作）を説明する為の図である。
【図８】本発明の第２の実施の形態における通信装置の構成例を示す図である。
【図９】本発明の第３の実施の形態における装置の構成例を示す図である。
【発明を実施するための形態】
【００１８】
次に本発明の実施形態について、図面を参照して詳細に説明する。
【００１９】
≪第１の実施の形態≫
[概要]
本実施形態の通信装置は、パケットを受信する毎に、受信したパケットを装置内のバッファに格納する。本実施形態の通信装置は、自装置において障害を検出した時、以降は、受信するパケットを破棄し、バッファへの格納は行わない。これにより、通信装置は、バッファにパケットを新たに格納しないようにし、バッファ内に障害発生時のパケットを保存する。
【００２０】
通信装置が障害発生時のパケットを保存するので、通信装置の製造者は、障害発生時のパケットを取得できる。その結果、通信装置の製造者は、再現試験を行うときに、障害発生時のパケットを用いることができ、障害が発生した環境を十分に整えることができる。
【００２１】
以下に、本発明の第１の実施の形態における通信装置の構成や機能、動作について説明する。
【００２２】
［構成の説明］
まず、本発明の第１の実施の形態における通信装置の構成と機能について説明する。図２は、本発明の第１の実施の形態における通信装置の構成例を示す図である。
【００２３】
（１）本発明の第１の実施の形態における通信装置の構成
本実施形態の通信装置は、図２に示されるように、集積回路１、２、３と、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）４と、ＣＦ（Ｃｏｍｐａｃｔ  Ｆｌａｓｈ（登録商標））５と、を備える。
【００２４】
集積回路１、２、３は、各々、内部メモリ１０、２０、３０を備える。また、集積回路１は、外部メモリ１１及び外部メモリ１２を備え、集積回路２、３は、各々、外部メモリ２１、３１を備える。集積回路１は、図示していないが、外部の通信装置と接続する為、一般的な入出力ポートを備える。
【００２５】
集積回路１、２、３は、各々、データ線と制御線の２種類の回線を介して接続される。集積回路１、２、３は、ＣＰＵバスを介してＣＰＵ４やＣＦ５と接続される。集積回路１は、入出力ポートを介して、外部の通信装置と接続される。
【００２６】
（２）集積回路１、２、３の機能
図３、図４は、本発明の第１の実施の形態における通信装置内のデータや信号の流れを示す図である。図３は障害が発生する前の通信装置内のデータや信号の流れを、図４は、障害が発生したときの通信装置内のデータや信号の流れを示している。
【００２７】
以下、図３、図４を用いて、集積回路１、２、３の機能について説明する。集積回路１、２、３は、同じ機能を備えるので、代表して集積回路１の機能について説明を行う。但し、一部の機能については、その後の説明が分かりやすくなるよう、集積回路２、３の機能についても説明している。
【００２８】
（２−１）パケット送信の許可を与える機能
まず、図３に示されるように、集積回路１は、起動すると、接続する集積回路２、３に対し、送信の許可を与えるイネーブル信号を出力する。集積回路２、３も、起動すると、集積回路１にイネーブル信号を出力する。
【００２９】
（２−２）パケット送信の許可が与えられたことを把握する機能
集積回路１は、図示していないが、２つのレジスタ（以下、「レジスタＡ」、「レジスタＢ」という）を備える。集積回路１は、集積回路２からイネーブル信号を受信すると、レジスタＡに値１を設定する。集積回路１は、集積回路３からイネーブル信号を受信すると、レジスタＢに値１を設定する。
【００３０】
集積回路２、３も、レジスタを備え、接続する集積回路１からイネーブル信号を受信すると、レジスタに値１を設定する。集積回路２、３のレジスタは、集積回路１のレジスタと区別する為、以下、「レジスタＣ」というものとする。値１は、接続する集積回路から送信許可が与えられたことを示す値である。レジスタＡ、Ｂ、Ｃの初期値は０である。
【００３１】
（２−３）パケット格納機能
集積回路１は、外部の通信装置と通信を行う。通信により、集積回路１は、図３に示されるように、外部の通信装置からパケットを受信する。集積回路１は、受信したパケットを内部メモリ１０に格納する。内部メモリ１０はバッファである。集積回路１は、パケットを内部メモリ１０に格納する際、新しく受信したパケットを、最も古いパケットに上書きして格納する。内部メモリ１０は、新しく受信したパケットで更新される。
【００３２】
集積回路１は、図３に示されるように、集積回路２、３からもパケットを受信する。集積回路１は、集積回路２からパケットを受信したとき、受信したパケットを外部メモリ１１に格納し、集積回路３からパケットを受信したとき、受信したパケットを外部メモリ１２に格納する。外部メモリ１１、１２は、受信したパケットを一旦蓄えるバッファである。集積回路１は、パケットを外部メモリ１１、１２に格納する際、新しく受信したパケットを、最も古いパケットに上書きして格納する。外部メモリ１１、１２は、新しく受信したパケットで更新される。
【００３３】
上述の「（２−３）パケット格納機能」は、他の集積回路１の機能とは独立して動作する。
【００３４】
（２−４）パケット送信機能
集積回路１は、所定のタイミングになると、レジスタＡの値が１か否か、すなわち、集積回路２から送信許可が与えられているか否かを判別する。所定のタイミングは、一定間隔毎のタイミングであり、通信装置の製造者によって、集積回路１に設定される。本実施形態の通信装置の製造者は、一定間隔のタイミングであれば、どのようなタイミングでも集積回路１に設定してよい。
【００３５】
集積回路１は、レジスタＡの値が１の場合、すなわち、集積回路２から送信許可が与えられている場合に、内部メモリ１０に格納されているパケットを集積回路２に送信する。
集積回路１は、レジスタＡの値が１でないときには、パケットを集積回路２に送信しない。
【００３６】
さらに、集積回路１は、レジスタＢの値が１か否か、すなわち、集積回路３から送信許可が与えられているか否かを判別する。集積回路１は、レジスタＢの値が１の場合、すなわち、集積回路３から送信許可が与えられている場合に、内部メモリ１０に格納されているパケットを集積回路３に送信する。集積回路１は、レジスタＢの値が１でないときには、パケットを集積回路３に送信しない。
【００３７】
さらに、集積回路１は、レジスタＢの値が１か否かを判別した後、外部メモリ１１、１２にパケットが格納されると、格納されたパケットを、入出力ポートを介して外部の通信装置に送信する。
【００３８】
上述の「（２−４）パケット送信機能」は、他の集積回路１の機能とは独立して動作する。
【００３９】
（２−５）障害検出機能
集積回路１は、外部の通信装置との通信に係る障害を検出する。
【００４０】
例えば、集積回路１は、以下の「（２−５−１）装置の故障を検出する機能」に示されるように、外部の通信装置との通信に係る機能部の故障（具体的には、入出ポートの故障）を検出してもよい。
【００４１】
また、集積回路１は、以下の「（２−５−２）メモリの故障を検出する機能」に示されるように、内部メモリ１０の故障を検出してもよい。内部メモリ１０は、外部の通信装置との通信により受信したパケットを格納するメモリであり、外部の通信装置との通信に係る機能部である。
【００４２】
さらに、集積回路１は、以下の「（２−５−３）パケットが壊れる障害を検出する機能」に示されるように、外部の通信装置から受信したパケットが通信装置１内で壊れる障害を検出してもよい。
【００４３】
（２−５−１）装置の故障を検出する機能（障害検出機能の一例）
集積回路１は、入出力ポートの故障を検出してもよい。その場合、集積回路１は、一般的なポート監視機能を備え、一定時間毎にＩＣＭＰ（Ｉｎｔｅｒｎｅｔ  Ｃｏｎｔｒｏｌ  Ｍｅｓｓａｇｅ  Ｐｒｏｔｏｃｏｌ）のエコーリクエストを入出力ポートに送信する。集積回路１は、エコーリクエストの送信後、エコーリクエストに対するエコー応答が入出力ポートから帰ってくるのを待つ。集積回路１は、送信後、所定時間以内にエコー応答が帰ってこないときに、障害（入出力ポートの故障）を検出したとみなし、障害検出を示す電気信号をＣＰＵ４に出力する。
【００４４】
上述の所定時間は、本実施形態の通信装置の製造者によって集積回路１に設定される。本実施形態の通信装置の製造者は、エコーリクエストの送信後、エコー応答が返ってくるまでの時間を実測し、実測した時間よりも十分に長い時間を所定時間として集積回路１に設定する。また、上述の一定時間は、どのような時間であってもよい。
【００４５】
（２−５−２）メモリ故障を検出する機能（障害検出機能の一例）
集積回路１は、内部メモリ１０の故障を検出してもよい。その場合、集積回路１は、受信したパケットを内部メモリ１０に格納するとき、一度、内部メモリ１０に所定の値（例えば、０ｘ５５５５）を書き込み、書き込んだ値（０ｘ５５５５）が読み出せるか否かを判別する。集積回路１は、書き込んだ値（０ｘ５５５５）が読み出せる場合に、受信したパケットを格納する。集積回路１は、書き込んだ値（０ｘ５５５５）が読み出せない場合には、障害（メモリ故障）を検出したとみなし、障害検出を示す電気信号をＣＰＵ４に出力する。
【００４６】
（２−５−３）パケットが壊れる障害を検出する機能（障害検出機能の一例）
集積回路１は、自装置内でパケットが壊れる障害を検出してもよい。
【００４７】
その場合、集積回路１は、レジスタを２つ備える。２つのレジスタは、以下、「障害検出レジスタＡ」と「障害検出レジスタＢ」という。障害検出レジスタＡ、Ｂの初期値は０である。集積回路１は、パケットを受信すると、内部メモリ１０に格納する前に、受信したパケットに含まれるチェックサムを計算し、計算値が正常値か否かを判別する。正常値は、予め集積回路１の製造者によって集積回路１に設定される。集積回路１は、計算値が正常値でないときに、障害検出レジスタＡに１を書き込む。集積回路１は、計算値が正常値であるときには、障害検出レジスタＡに０を書き込む。
【００４８】
また、集積回路１は、パケットを送信するにあたり、外部メモリ１１、１２からパケットを取得したとき、取得したパケットに含まれるチェックサムを計算し、計算値が正常値か否かを判別する。正常値は、予め集積回路１の製造者によって集積回路１に設定される。集積回路１は、計算値が正常値でないときに、障害検出レジスタＢに１を書き込む。集積回路１は、計算値が正常値であるときには、障害検出レジスタＢに０を書き込む。
【００４９】
集積回路１は、障害検出レジスタＡが０（すなわち、受信時のパケットは正常）であるのに、障害検出レジスタＢが１（すなわち、送信時のパケットは正常でない）ときには、障害検出を示す電気信号をＣＰＵ４に出力する。自装置内にてパケットが壊れる障害が発生しているからである。
【００５０】
なお、集積回路１は、障害検出機能であれば、上述の（２−５−１）〜（２−５−３）に示した機能に限らず、どのような機能でも備えてよい。
【００５１】
（２−６）パケット格納停止機能
集積回路１は、障害を検出し、障害発生を示す信号がＣＰＵ４から入力されると、図４に示されるように、以降は、受信するパケットを破棄する。これにより、集積回路１は、内部メモリ１０に新たにパケットを格納することを停止する。内部メモリ１０は、新たに受信したパケットで更新されないので、障害発生時のパケットを保存する。
【００５２】
さらに、集積回路１は、障害発生を示す信号がＣＰＵ４から入力された後、図４に示されるように、接続する集積回路２、３に対し、送信を許可しないディセーブル信号を出力する。ディセーブル信号を受信した集積回路２、３は、自身に備わるレジスタＣの値を０とし、集積回路１へのパケットの送信を停止する。
【００５３】
集積回路１は、集積回路２、３からパケットを受信しなくなる。その結果、集積回路１は、外部メモリ１１、１２に新たにパケットを格納せず、障害発生時のパケットを保存する。
【００５４】
（２−７）パケットをＣＦ５に出力する機能
集積回路１は、パケット転送を指示する信号がＣＰＵ４から入力されると、内部メモリ１０や外部メモリ１１、１２に記憶する障害発生時のパケットをＣＦ５に保存する。このとき、集積回路１は、障害発生時のパケットを、ＤＭＡ転送により内部メモリ１０や外部メモリ１１、１２からＣＦ５に転送して保存する。ＤＭＡは、Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓの略称である。
【００５５】
（３）集積回路１、２、３の構成
（３−１）集積回路１、２、３の機能部
図５は、集積回路１、２、３の構成例を説明する為の図である。
【００５６】
上述の（２−１）〜（２−７）の機能を実現する為、集積回路１、２、３は、図５に示されるように、格納プロセッサと、送信プロセッサと、信号処理回路を備える。
【００５７】
格納プロセッサは、上述の「（２−３）パケット格納機能」、「（２−６）パケット格納停止機能」、及び「（２−５−２）メモリ故障を検出する機能」を実現する為のプロセッサである。また、送信プロセッサは、上述の「（２−４）パケット送信機能」を実現する為のプロセッサである。信号処理回路は、上述の（２−１）、（２−２）、（２−５−１）、及び（２−７）で説明した機能を実現する為のプロセッサである。各プロセッサや信号処理回路の機能は、後述の［動作の説明］で詳細に説明する。
【００５８】
（３−２）集積回路１、２、３の機能部の接続
集積回路１の格納プロセッサ、送信プロセッサ、及び信号処理回路は、内部メモリ１０や外部メモリ１１、１２と接続される。図５では、格納プロセッサと送信プロセッサが内部メモリ１０に接続される様子を示しているが、実際には、外部メモリ１１、１２とも接続される。同様に、集積回路２の各プロセッサと信号処理回路は、内部メモリ２０及び外部メモリ２１と接続される。集積回路３の各プロセッサと信号処理回路は、内部メモリ３０及び外部メモリ３１と接続される。
【００５９】
集積回路１の各プロセッサと信号処理回路は、図５に示されるように、入出力ポートと接続される。集積回路１の送信プロセッサは、図５に示されるように、集積回路２、３の格納プロセッサと送信プロセッサと接続される。
【００６０】
また、集積回路１の信号処理回路は、図示していないが、対向する集積回路２、３の信号処理回路と信号線を介して接続される。集積回路１、２、３の各プロセッサと信号処理回路は、ＣＰＵバスを介してＣＰＵ４と接続される。
【００６１】
（３−３）パケットの受信間隔を計測する機能
上述の集積回路１の格納プロセッサは、外部の通信装置から受信するパケットの受信間隔を計測する機能を備えてもよい。具体的には、集積回路１の格納プロセッサは、パケットの先頭を受信した時から、次にパケットの先頭を受信するまでの時間を計測する機能を備えてもよい。その場合、集積回路１の格納プロセッサは、一般的なプリアンブル検出回路と、クロック生成回路と、カウンタと、レジスタと、を備える。パケットの先頭には、一般的に、同期信号であるプリアンブルが付与されている。上述のプリアンブル検出回路は、プリアンブルを検出することで、パケットの先頭を検出したとみなし、先頭検出を示す信号を格納プロセッサに出力する。
【００６２】
クロック生成回路は、格納プロセッサが時間を計測できるよう、クロック信号を生成し、生成したクロック信号を周期的に集積回路１の格納プロセッサに出力する回路である。集積回路１の格納プロセッサには、クロック信号が繰り返し入力される。
【００６３】
集積回路１の格納プロセッサは、以下の（ｉ）〜（ｉｖ）を順に実施することで、パケットの受信間隔を計測する機能を実現することが可能となる。
【００６４】
（ｉ）まず、集積回路１の格納プロセッサは、パケットを受信したとき、カウンタの値を０にリセットし、クロック信号が入力される毎にカウンタをインクリメントしていく。具体的には、集積回路１の格納プロセッサは、プリアンブル検出回路から先頭検出を示す信号が入力された時、カウンタの値を０にリセットし、クロック信号が入力される毎にカウンタをインクリメントしていく。次のパケットを受信するまで時間をカウントする為である。
【００６５】
（ｉｉ）集積回路１の格納プロセッサは、次のパケットを受信したとき、カウンタのインクリメントを停止する。具体的には、集積回路１の格納プロセッサは、プリアンブル検出回路から再度、先頭検出を示す信号が入力された時、カウンタのインクリメントを停止する。
【００６６】
（ｉｉｉ）集積回路１の格納プロセッサは、停止したカウンタの値と、クロック信号の入力周期と、の乗算値を算出し、算出した乗算値を内部メモリ１０に記憶する。
【００６７】
上述の乗算値は、パケットの受信間隔を示す。集積回路１の格納プロセッサは、乗算値を内部メモリ１０に記憶するとき、パケットを格納する領域とは別の領域に記憶する。上述の「クロック信号の入力周期」は、本実施形態の通信装置の製造者によって集積回路１の格納プロセッサに設定される。本実施形態の通信装置の製造者は、クロック信号の入力周期を実測の上、格納プロセッサに設定する。
【００６８】
（ｉｖ）（ｉｉｉ）の後、集積回路１の格納プロセッサは、パケットを受信すると、再度、上述の（ｉ）〜（ｉｉｉ）を再度実施する。集積回路１の格納プロセッサは、パケットの受信間隔を内部メモリ１０に記憶していく。
【００６９】
（４）ＣＰＵ４の機能
ＣＰＵ４は、障害検出を示す信号が入力されると、障害発生を示す信号を、接続する集積回路１、２、３に出力する。ＣＰＵ４は、障害発生を示す信号を出力後、パケット転送を指示する信号も集積回路１、２、３に出力する。
【００７０】
（５）ＣＦ５について
ＣＦ５は、一般的なコンパクトフラッシュ（登録商標）である。
【００７１】
（６）各機能部の実現手段について
集積回路１、２、３は、ＲＡＭ等のメモリと、一般的な入出力ポートと、一般的なプロセッサと、レジスタと、一般的なレジスタ制御回路と、一般的な信号生成回路と、一般的なＤＭＡコントローラと、を用いて実現することができる。ＲＡＭは、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙの略称である。
【００７２】
上述の一般的なレジスタ制御回路、信号生成回路、及びＤＭＡコントローラは、信号処理回路を実現する為の回路である。レジスタ制御回路は、レジスタに値を書き込む為に信号処理回路に備わる回路であり、レジスタＡ、Ｂと接続される。レジスタＡ、Ｂは、上述の（２−２）で説明したレジスタである。また、上述の（３−２）で説明した通り、信号処理回路には信号線が接続されるが、該信号線は信号処理回路内においてレジスタ制御回路に接続される。
【００７３】
信号生成回路は、イネーブル信号やディセーブル信号を生成する一般的な信号生成回路であり、ＣＰＵ４及び、生成した信号の送信先である集積回路と接続される。ＤＭＡコントローラは、ＤＭＡ転送を行う為に信号処理回路に備わる回路であり、ＣＰＵ４、集積回路内の各メモリ、及びＣＦ５と接続される。
【００７４】
さらに、集積回路１、２、３は、メモリ等に加えて、一般的なプリアンブル検出回路と、クロック生成回路と、カウンタと、を用いて実現されてもよい。上述のプリアンブル検出回路、クロック生成回路、及びカウンタは、上述の「（３−３）パケットの受信間隔を計測する機能」の機能を実現する為の回路であり、格納プロセッサに接続される。
【００７５】
ＣＰＵ４は、一般的なＣＰＵ等の演算処理装置と、ＲＡＭ等のメモリと、を用いて実現することができる。ＣＦ５は、一般的なコンパクトフラッシュを用いて実現することができる。
【００７６】
［動作の説明］
図６、図７は、本発明の第１の実施の形態における通信装置の動作を説明する
為の図である。図６は、本実施形態の通信装置の基本動作を示し、図７は、障害が発生したときに本実施形態の通信装置が追加で実施する動作を示している。
【００７７】
図６、図７を用いて、本実施形態の通信装置の動作を以下に説明する。
【００７８】
（１）障害発生前の通信装置の動作（概要）
始めに、障害が発生する前の動作の概要について説明を行う。本実施形態の通信装置は、障害が発生する前、以下の通りに動作している。
【００７９】
（１−１）送信許可動作
まず、集積回路１、２、３は、起動すると、図３に示されるように、互いに、送信の許可を与えるイネーブル信号を出力する。イネーブル信号が入力された集積回路１、２、３は、パケットを送信できるようになる。
【００８０】
（１−２）通信動作
集積回路１は、外部の通信装置と通信を行い、外部の通信装置からパケットを受信する。
【００８１】
集積回路１は、外部の通信装置からパケットを受信すると、受信したパケットを内部メモリ１０に格納する。
【００８２】
次に、集積回路１は、所定のタイミングになると、内部メモリ１０からパケットを取得して集積回路２、３に送信する。
【００８３】
上述の所定のタイミングは、一定間隔のタイミングであり、本実施形態の通信装置の製造者によって集積回路１に設定される。本実施形態の通信装置の製造者は、一定間隔のタイミングであれば、任意のタイミングを所定のタイミングとして集積回路１に設定してよい。
【００８４】
集積回路２、３は、各々、集積回路１から受信したパケットを内部メモリ２０、３０に格納する。
【００８５】
次に、集積回路２、３は、所定のタイミングになると、内部メモリ２０、３０からパケットを取得し、所定の処理を実施した上で、集積回路１に送信する。
【００８６】
上述の所定のタイミングは、一定間隔のタイミングであり、本実施形態の通信装置の製造者によって集積回路２、３に設定される。所定の処理は、パケットを暗号化する処理であってもよい。その場合、集積回路２、３は、各々、暗号化したパケットを集積回路１に送信する。
【００８７】
次に、集積回路１は、集積回路２からパケットを受信すると、受信したパケットを外部メモリ１１に格納する。同様に、集積回路１は、集積回路３からパケットを受信すると、受信したパケットを外部メモリ１２に格納する。
【００８８】
次に、集積回路１は、外部メモリ１１、１２に格納されるパケットを外部の通信装置に送信する。
【００８９】
（１−３）動作の詳細
上述の「（１−１）送信許可動作」と「（１−２）通信動作」の動作は、具体的には、以下の「（２）障害が発生する前の通信装置の動作（詳細）」の通りの動作である。障害が発生する前の、本実施形態の通信装置における動作の詳細を説明する。
【００９０】
（２）障害が発生する前の通信装置の動作（詳細）
（２−１）送信許可動作
まず、集積回路１は、起動すると、図３に示されるように、接続する集積回路２、３に対し、送信の許可を与えるイネーブル信号を出力する。イネーブル信号の出力は、集積回路１の信号処理回路が行う。同様に、集積回路２、３は、起動すると、接続する集積回路１に送信の許可を与えるイネーブル信号を出力する。イネーブル信号の出力は、集積回路２、３の信号処理回路が行う。
【００９１】
集積回路１の信号処理回路から出力されたイネーブル信号は、集積回路２、３の信号処理回路に入力される。集積回路２、３の信号処理回路から出力されたイネーブル信号は、集積回路１の信号処理回路に入力される。
【００９２】
集積回路１の信号処理回路は、集積回路２の信号処理回路からイネーブル信号が入力されると、自身に備わるレジスタＡに値１を設定し、集積回路３の信号処理回路からイネーブル信号が入力されると、自身に備わるレジスタＢに値１を設定する。一方、集積回路２、３の信号処理回路は、各々、集積回路１の信号処理回路からイネーブル信号が入力されると、自身に備わるレジスタＣに値１を設定する。
【００９３】
（２−２）集積回路１の動作（その１）
次に、集積回路１は、外部の通信装置と通信を行い、外部の通信装置からパケットを受信したとする。集積回路１の格納プロセッサが、入出力ポートを介して外部の通信装置からのパケットを受信する。
【００９４】
集積回路１の格納プロセッサは、外部の通信装置から受信したパケットを、図６に示されるように、一旦、内部メモリ１０に格納する（Ｓ１）。
【００９５】
一方、集積回路１では、独立して送信プロセッサが動作している。
【００９６】
集積回路１の送信プロセッサは、所定のタイミングになったとき、レジスタＡの値が１か否か、すなわち、集積回路２から送信許可が与えられているか否かを判別する（Ｓ２）。
【００９７】
上述の所定のタイミングは、一定間隔のタイミングであり、本実施形態の通信装置の製造者によって集積回路１の送信プロセッサに設定される。本実施形態の通信装置の製造者は、一定間隔のタイミングであれば、任意のタイミングを所定のタイミングとして集積回路１に設定してよい。
【００９８】
次に、集積回路１の送信プロセッサは、レジスタＡの値が１の場合、すなわち、集積回路２から送信許可が与えられている場合（Ｓ２でＹｅｓの場合）には、内部メモリ１０に格納されているパケットを所定数、集積回路２に送信する（Ｓ３）。
【００９９】
所定数は、本実施形態の通信装置の製造者によって送信プロセッサに設定される。
【０１００】
集積回路１の送信プロセッサは、上述のＳ２の処理で、レジスタＡの値が１でない場合、すなわち、集積回路２から送信許可が与えられていない場合（Ｓ２でＮｏの場合）には、内部メモリ１０に格納されているパケットを集積回路２に送信しない。
【０１０１】
ここでは、レジスタＡの値が１なので、集積回路１の送信プロセッサは、内部メモリ１０に格納されているパケットを集積回路２に送信したものとして説明を続ける。
【０１０２】
次に、Ｓ３の後、集積回路１の送信プロセッサは、レジスタＢの値が１か否か、すなわち、集積回路３から送信許可が与えられているか否かを判別する（Ｓ４）。
【０１０３】
次に、集積回路１の送信プロセッサは、レジスタＢの値が１の場合、すなわち、集積回路３から送信許可が与えられている場合（Ｓ４でＹｅｓの場合）には、内部メモリ１０に格納されているパケットを所定数、集積回路３に送信する（Ｓ５）。
【０１０４】
集積回路１の送信プロセッサは、上述のＳ４の処理で、レジスタＢの値が１でない場合、すなわち、集積回路３から送信許可が与えられていない場合（Ｓ４でＮｏの場合）には、内部メモリ１０に格納されているパケットを集積回路３に送信しない。
【０１０５】
ここでは、レジスタＢの値が１なので、集積回路１の送信プロセッサは、内部メモリ１０に格納されているパケットを集積回路３に送信したものとして説明を続ける。
【０１０６】
（２−３）集積回路２、３における動作
次に、集積回路２、３の格納プロセッサは、集積回路１から送信されたパケットを受信すると、各々、受信したパケットを一旦、内部メモリ２０、３０に格納する（Ｓ６）。
【０１０７】
次に、集積回路２、３の送信プロセッサは、所定のタイミングになると、各々、レジスタＣの値が１か否か、すなわち、集積回路１から送信許可が与えられているか否かを判別する（Ｓ７）。
【０１０８】
Ｓ７における所定のタイミングは、一定間隔のタイミングであり、本実施形態の通信装置の製造者によって集積回路２、３の送信プロセッサに設定される。本実施形態の通信装置の製造者は、一定間隔のタイミングであれば、任意のタイミングを所定のタイミングとして集積回路１に設定してよい。
【０１０９】
次に、集積回路２、３の送信プロセッサは、レジスタＣの値が１の場合、すなわち、集積回路１から送信許可が与えられている場合（Ｓ７でＹｅｓの場合）には、各々、内部メモリ２０、３０に格納されているパケットを取得する（Ｓ８）。
【０１１０】
次に、集積回路２、３の送信プロセッサは、各々、取得したパケットを集積回路１に送信する（Ｓ９）。このとき、送信プロセッサは、取得したパケットに対して暗号化を行い、暗号化したパケットを集積回路１に送信してもよい。
【０１１１】
集積回路２、３の送信プロセッサは、上述のＳ７の処理で、レジスタＣの値が１でない場合、すなわち、集積回路１から送信許可が与えられていない場合（Ｓ７でＮｏの場合）には、内部メモリ２０、３０に格納されているパケットを集積回路１に送信しない。
【０１１２】
ここでは、レジスタＣの値が１なので、集積回路２、３の送信プロセッサは、各々、内部メモリ２０、３０に格納されているパケットを集積回路１に送信したものとして説明を続ける。
【０１１３】
集積回路２、３の送信プロセッサは、Ｓ９の後、処理を終了し、次の所定のタイミングを待つ。
【０１１４】
（２−４）集積回路１の動作（その２）
集積回路１の送信プロセッサは、集積回路２、３各々からパケットを受信する。
【０１１５】
集積回路１の送信プロセッサは、集積回路２から受信したパケットを一旦、外部メモリ１１に格納し、集積回路３から受信したパケットを一旦、外部メモリ１２に格納する（Ｓ１０）。
【０１１６】
次に、集積回路１の送信プロセッサは、外部メモリ１１、１２に格納されているパケットを全て外部の通信装置に送信する（Ｓ１１）。このとき、集積回路１の格納プロセッサは、外部メモリ１１、１２に格納されるパケットを、パケットに含まれるシーケンス番号順に送信してもよい。
【０１１７】
（３）障害発生したときの通信装置の動作（概要）
次に、本実施形態の通信装置内で障害が発生したとする。例えば、本実施形態の通信装置内でパケットが壊れるという障害が発生したとする。本実施形態の通信装置から壊れたパケットが外部の通信装置に送信され、正しく通信ができない。
【０１１８】
（３−１）障害の検出
そのとき、集積回路１の信号処理回路は、「（２−５−１）装置の故障を検出する機能」に示した機能を備えており、障害を検出する。
【０１１９】
集積回路１の信号処理回路は、障害を検出すると、図７に示されるように、障害検出を示す信号をＣＰＵ４に出力する（Ｓ２０）。
【０１２０】
次に、ＣＰＵ４は、障害検出を示す信号が入力されると、集積回路１の格納プロセッサと、集積回路１、２、３の信号処理回路と、に対し、障害発生を示す信号を出力する（Ｓ２１）。
【０１２１】
（３−２）障害発生時の集積回路１の動作
次に、集積回路１の格納プロセッサは、障害発生を示す信号がＣＰＵ４から入力されると、外部の通信装置からパケットを受信しても、内部メモリ１０に格納せず、破棄する（Ｓ２２）。
【０１２２】
Ｓ２２の処理により、集積回路１は、内部メモリ１０に新たにパケットを格納しないようにし、障害発生時のパケットを保存する。Ｓ２２の処理は、内部メモリ１０へのパケットの格納を停止する処理である。
【０１２３】
一方、集積回路１の信号処理回路は、障害発生を示す信号がＣＰＵ４から入力されると、ディセーブル信号を集積回路２、３に出力する（Ｓ２３）。図４には、ディセーブル信号が集積回路２、３に出力される様子が示されている。
【０１２４】
次に、集積回路２、３は、ディセーブル信号が入力されると、集積回路１へのパケットの送信を停止する（Ｓ２４）。
【０１２５】
Ｓ２４の処理については、集積回路２、３の送信プロセッサと信号処理回路によって実現される。Ｓ２４の処理の詳細な動作は、後述の「（４−１）Ｓ２４の処理の詳細」で説明するが、集積回路２、３が集積回路１へのパケットの送信を停止するので、集積回路１は、パケットを受信せず、外部メモリ１１、１２にパケットを新たに格納しなくなる。その結果、集積回路１は、外部メモリ１１、１２に障害発生時のパケットを保存する。Ｓ２３、Ｓ２４の処理は、外部メモリ１１、１２へのパケットの格納を停止する処理である。
【０１２６】
（３−３）障害発生時の集積回路２、３の動作
一方、集積回路２、３の信号処理回路にも、上述のＳ２１の処理によって、ＣＰＵ４から障害発生を示す信号が入力される。
【０１２７】
集積回路２、３の信号処理回路は、Ｓ２１の処理によって、ＣＰＵ４から障害発生を示す信号が入力されると、図７に示されるように、各々、集積回路１に対してディセーブル信号を出力する（Ｓ２５）。図４に、ディセーブル信号が集積回路１に出力される様子が示されている。
【０１２８】
次に、集積回路１は、ディセーブル信号が入力されると、図７に示されるように、集積回路２、３へのパケットの送信を停止する（Ｓ２６）。
【０１２９】
Ｓ２６の処理は、集積回路１の送信プロセッサと信号処理回路によって実現される。Ｓ２６の処理の詳細な動作は、後述の「（４−２）Ｓ２６の処理の詳細」で説明するが、集積回路１が集積回路２、３へのパケットの送信を停止する為、集積回路２、３は、パケットを受信せず、内部メモリ２０、３０にパケットを新たに格納しなくなる。その結果、集積回路２、３は、内部メモリ２０、３０に障害発生時のパケットを保存する。Ｓ２５、Ｓ２６の処理は、内部メモリ２０、３０へのパケットの格納を停止する処理である。
【０１３０】
（３−４）障害時のパケットをＣＦ５に保存する動作
次に、ＣＰＵ４は、Ｓ２１の後、所定時間経過すると、パケット転送を指示する信号を、集積回路１、２、３の信号処理回路に送信する（Ｓ２７）。
【０１３１】
所定時間は、Ｓ２１の後、Ｓ２２〜Ｓ２４及びＳ２５〜Ｓ２６が完了するまでの時間（以下、「完了時間」という）であり、本実施形態の通信装置の製造者によってＣＰＵ４に設定される。本実施形態の通信装置の製造者は、完了時間を実測し、実測した時間よりも十分に長い時間を所定時間としてＣＰＵ４に設定する。ＣＰＵ４は、障害発生時のパケットが各メモリに保存されるのを待って、パケット転送を指示する信号を集積回路１、２、３の信号処理回路に送信する。
【０１３２】
次に、集積回路１、２、３の信号処理回路は、パケット転送を指示する信号が入力されると、各々、内部メモリ１０、２０、３０及び外部メモリ１１、１２から障害発生時のパケットを取得し、取得した障害発生時のパケットをＣＦ５に保存する（Ｓ２８）。このとき、集積回路１、２、３の信号処理回路は、ＤＭＡ転送により、障害発生時のパケットを内部メモリ１０、２０、３０及び外部メモリ１１、１２からＣＦ５に転送して保存してもよい。
【０１３３】
（３−５）パケットが保存されたＣＦ５について
通信装置の製造者は、障害発生時のパケットをＣＦ５から取得できる。その為、通信装置の製造者は、再現試験を行うとき、障害発生時のパケットを用いることができる。
【０１３４】
（４）Ｓ２４、Ｓ２６の処理の詳細
（４−１）Ｓ２４の処理の詳細
上述のＳ２４の処理（ディセーブル信号が入力された集積回路２、３が、集積回路１へのパケット送信を停止する処理）は、具体的には、以下の通りの処理である。
【０１３５】
まず、集積回路２、３の信号処理回路は、Ｓ２３によって集積回路１の信号処理回路からディセーブル信号が入力されると、各々、自身に備わるレジスタＣに値０を設定する。値０は、集積回路１から送信許可が与えられていないことを示す値である。
【０１３６】
ここで、集積回路２、３の送信プロセッサは、集積回路２、３内で独立して動作している。
【０１３７】
集積回路２、３の送信プロセッサは、図６に示されるように、所定のタイミングになると、Ｓ７の処理、すなわち、レジスタＣの値が１か否かを判別する処理を行う（Ｓ７）。
【０１３８】
所定のタイミングは、上述の「（２−３）集積回路２、３における動作」で説明した通り、一定間隔毎のタイミングである。
【０１３９】
集積回路２、３の送信プロセッサは、レジスタＣの値が１でない場合、すなわち、集積回路１から送信許可が与えられていない場合（Ｓ７でＮｏの場合）には、内部メモリ２０、３０に格納されているパケットを集積回路１に送信しない。その結果、集積回路２、３は、集積回路１へのパケットの送信を停止する。
【０１４０】
（４−２）Ｓ２６の処理の詳細
次に、上述のＳ２６の処理（ディセーブル信号が入力された集積回路１が、集積回路２、３へのパケット送信を停止する処理）は、具体的には、以下の通りの処理である。
【０１４１】
まず、集積回路１の信号処理回路は、Ｓ２５によって集積回路２の信号処理回路からディセーブル信号が入力されると、自身に備わるレジスタＡに値０を設定する。また、集積回路１は、Ｓ２５によって集積回路３からディセーブル信号が入力されると、自身に備わるレジスタＢに値０を設定する。
【０１４２】
ここで、集積回路１の送信プロセッサは、集積回路１内で独立して動作している。
【０１４３】
集積回路１の送信プロセッサは、図６に示されるように、所定のタイミングになると、Ｓ２の処理、すなわち、レジスタＡの値が１か否かを判別する処理を行う（Ｓ２）。所定のタイミングは、上述の「（２−２）集積回路１の動作」で説明した通り、一定間隔のタイミングである。
【０１４４】
集積回路１の送信プロセッサは、Ｓ２の判別で、レジスタＡの値が１でない場合、すなわち、集積回路２から送信許可が与えられていない場合（Ｓ２でＮｏの場合）には、内部メモリ１０に格納されているパケットを集積回路２に送信しない。集積回路１は、集積回路２へのパケットの送信を停止する。
【０１４５】
次に、集積回路１の送信プロセッサは、Ｓ４の処理を行う。具体的には、集積回路１の送信プロセッサは、レジスタＢの値が１か否か、すなわち、集積回路３から送信許可が与えられているか否かを判別する（Ｓ４）。
【０１４６】
集積回路１の送信プロセッサは、上述のＳ４の処理で、レジスタＢの値が１でない場合、すなわち、集積回路３から送信許可が与えられていない場合（Ｓ４でＮｏの場合）には、内部メモリ１０に格納されているパケットを集積回路３に送信しない。その結果、集積回路１は、集積回路３へのパケットの送信を停止する。
【０１４７】
（５）動作まとめ
本実施形態の通信装置は、障害発生時、上述のＳ２０〜Ｓ２４を実施することで、受信するパケットを破棄し、内部メモリ１０へのパケットの格納を停止する。これにより、本実施形態の通信装置は、内部メモリ１０に障害発生時のパケットを保存する。
【０１４８】
さらに、本実施形態の通信装置は、障害発生時、Ｓ２５〜Ｓ２６を実施することで、内部メモリ２０、３０や外部メモリ１１、１２へのパケットの格納を停止する。これにより、本実施形態の通信装置は、内部メモリ２０、３０や外部メモリ１１、１２に障害発生時のパケットを保存する。
【０１４９】
本実施形態の通信装置は、ＣＰＵ４からのパケット転送指示により、ＣＦ５に障害発生時のパケットを保存する。その為、通信装置の製造者は、ＣＦ５から障害発生時のパケットを取得できる。その結果、通信装置の製造者は、再現試験を行うとき、障害発生時のパケットを用いることができ、障害が発生した環境を十分整えることができる。
【０１５０】
（６）バリエーション動作
（６−１）保存動作のバリエーション
上記では、集積回路１、２、３は、障害発生時のパケットをＣＦ５に保存した。集積回路１、２、３は、障害発生時のパケットだけでなく、他のデータをＣＦ５に保存してもよい。
【０１５１】
例えば、集積回路１、２、３は、上述の「（３−３）パケットの受信間隔を計測する機能」を備え、受信するパケットの時間間隔を計測する場合、計測した時間間隔を示す値も、障害発生時のパケットと共に、ＣＦ５に保存してもよい。
【０１５２】
さらに、集積回路１、２、３は、製造者によって情報が設定される場合、設定された情報もＣＦ５に保存してもよい。
【０１５３】
（６−２）パケットの送信動作のバリエーション
上記では、集積回路１の送信プロセッサは、内部メモリ１０から取得したパケットをそのまま集積回路２、３に送信した。集積回路１の送信プロセッサは、内部メモリ１０から取得したパケットに対し、何らかの処理を行ってから集積回路２、３に送信してもよい。
【０１５４】
例えば、集積回路１の送信プロセッサは、内部メモリ１０から取得したパケットの優先度の判別を行い、優先度の高いパケットを集積回路２に、優先度の低いパケットを集積回路３に送信してもよい。具体的には、集積回路１の送信プロセッサは、内部メモリ１０から取得したパケットのＴｙｐｅ  ｏｆ  Ｓｅｒｖｉｃｅ値が所定値よりも大きいか否かを判別してもよい。Ｔｙｐｅ  ｏｆ  Ｓｅｒｖｉｃｅ値は、パケットの優先度を示す値である。その場合、集積回路１の送信プロセッサは、Ｔｙｐｅ  ｏｆ  Ｓｅｒｖｉｃｅ値が所定値よりも大きければ、優先度の高いパケットと判別し、内部メモリ１０から取得したパケットを集積回路２に送信する。集積回路１の送信プロセッサは、Ｔｙｐｅ  ｏｆ  Ｓｅｒｖｉｃｅ値が所定値以下であれば、優先度の低いパケットと判別し、内部メモリ１０から取得したパケットを集積回路３に送信する。所定値は、本実施形態の通信装置の製造者によって集積回路１の送信プロセッサに設定される。
【０１５５】
（６−３）パケットの受信動作のバリエーション
上記では、集積回路２、３の格納プロセッサが、集積回路１から受信したパケットを、そのまま内部メモリ２０、３０に格納する場合について説明した。集積回路２、３の格納プロセッサは、集積回路１から受信したパケットに対し、何らかの処理を行ってから内部メモリ２０、３０に格納してもよい。
【０１５６】
例えば、集積回路２、３の格納プロセッサは、受信したパケットのＩＰアドレスがプライベートＩＰアドレスか否かを判別し、プライベートＩＰアドレスであった場合には、該ＩＰアドレスをグローバルＩＰアドレスに付け替えてから内部メモリ２０、３０に格納してもよい。その場合、集積回路２、３の格納プロセッサには、本実施形態の通信装置の製造者によって、プライベートＩＰアドレスとグローバルＩＰアドレスが対応づけて設定される。ＩＰは、Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌの略称である。
【０１５７】
また、集積回路２、３の送信プロセッサは、Ｓ８の処理で、内部メモリ２０、３０から取得したパケットに対して暗号化を行ったが、他の処理を行ってもよい。集積回路２、３の送信プロセッサがパケットに対して行う処理は、暗号化に限定しない。
【０１５８】
（６−４）パケットの送信を停止する動作のバリエーション
上記では、集積回路１、２、３の信号処理回路は、接続される集積回路からパケットが送信されないよう、ディセーブル信号を出力した。
【０１５９】
集積回路１、２、３の信号処理回路は、一般的なバックプレシャー機能を備えた回路と同様、周知のジャム信号を、接続される集積回路の送信プロセッサに出力してもよい。その場合、集積回路１、２、３の信号処理回路は、接続される集積回路の送信プロセッサと制御線を介して接続される。ジャム信号を受信した集積回路１、２、３の送信プロセッサは、送信を停止する。
【０１６０】
（６−５）パケットの保存先について
上記では、集積回路１、２、３の信号処理回路は、障害発生時のパケットをＣＦ５に保存するものとしたが、保存先はＣＦ５に限らない。集積回路１、２、３の信号処理回路は、障害発生時のパケットを、接続される外部メモリ１１、１２、２１、３１に保存してもよい。
【０１６１】
また、上記では、集積回路１の格納プロセッサは、外部の通信装置から受信したパケットを内部メモリ１０に格納したが、内部メモリ１０ではなく、外部メモリ１１、１２に格納してもよい。その場合、集積回路１の格納プロセッサは、集積回路２０、３０から受信したパケットを、外部メモリ１１、１２ではなく、内部メモリ１０に格納する。
【０１６２】
同様に、集積回路２、３の格納プロセッサは、受信したパケットを内部メモリ２０、３０ではなく、外部メモリ２１、３１に格納してもよい。
【０１６３】
（６−６）障害の検出について
上記では、集積回路１が、上述の「（２−５−１）装置の故障を検出する機能」に示した障害検出機能を備える場合について説明した。集積回路１は、上述の「（２−５−２）メモリ故障を検出する機能」や「（２−５−３）パケットが壊れる障害を検出する機能」に示した障害検出機能を備えてもよい。
【０１６４】
具体的には、集積回路１の格納プロセッサが、上述の「（２−５−２）メモリ故障を検出する機能」に示した障害検出機能を備えてもよい。集積回路１の格納プロセッサは、該障害検出機能により障害を検出すると、障害検出を示す信号をＣＰＵ４に出力する。
【０１６５】
また、集積回路１の格納プロセッサと送信プロセッサが、上述の「（２−５−３）パケットが壊れる障害を検出する機能」に示した障害検出機能を備えてもよい。集積回路１の格納プロセッサが障害検出レジスタＡに０又は１を書き込む処理を行い、集積回路１の送信プロセッサが障害検出レジスタＢに０又は１を書き込む処理を行う。集積回路１の送信プロセッサは、障害検出レジスタＡが０であるのに、障害検出レジスタＢが１であるときに、障害検出を示す電気信号をＣＰＵ４に出力する。
【０１６６】
集積回路１の各機能部は、外部の通信装置との通信に係る障害を検出する障害検出機能であれば、いかなる機能も備えることができる。集積回路１の各機能部は、障害検出機能によって障害が検出されたときには、障害検出を示す電気信号をＣＰＵ４に出力する。
【０１６７】
また、集積回路２、３の各機能部も、障害検出機能を備えてもよい。集積回路２、３は、障害検出機能によって障害が検出されたときには、障害検出を示す電気信号をＣＰＵ４に出力する。
【０１６８】
（６−８）本実施形態の通信装置の構成について
本実施形態の通信装置は、冗長化構成を備えてもよい。具体的には、本実施形態の通信装置は、図２に示すＣＰＵ４と集積回路１、２、３（以下、「最小構成」という）を運用系として１つ備え、上述の最小構成を予備系として複数備えてもよい。
【０１６９】
また、上述の最小構成はプリント基板に実装されて、本実施形態の通信装置に備えられてもよい。
【０１７０】
［効果の説明］
本実施形態によれば、通信装置の製造者は、再現試験を行うときに、障害が発生した環境を十分に整えることができる。
【０１７１】
なぜならば、本実施形態の通信装置は、障害発生時、障害を検出すると、各メモリへのパケットの格納を停止し、障害発生時のパケットをバッファ内に保存するからである。
【０１７２】
通信装置が障害発生時のパケットを保存するので、通信装置の製造者は、障害発生時のパケットを取得することができる。その結果、通信装置の製造者は、再現試験を行うとき、障害発生時のパケットを用いることができ、障害が発生した環境を十分に整えることができる。
【０１７３】
≪第２の実施の形態≫
次に、本発明の第２の実施の形態について説明する。
【０１７４】
第１の実施形態の通信装置は、受信したパケットを破棄することで、障害発生時のパケットを内部メモリ１０に保存していた。第２の実施形態の通信装置は、パケットを受信する機能そのものを停止することで、障害発生時のパケットを内部メモリ１０に保存する。第２の実施形態の通信装置は、パケットの破棄を行わない分、第１の実施形態の通信装置よりも消費電力を少なくすることができる。
【０１７５】
以下に、第２の実施の形態の通信装置の構成と動作について説明する。図８は、本発明の第２の実施の形態におけるシステムの構成例を示す図である。
【０１７６】
［構成の説明］
（１）第２の実施形態の通信装置の構成
第２の実施形態の通信装置は、図８に示されるように、集積回路１の代わりに、集積回路６を備える。集積回路６は、図示していないが、集積回路１と同様に格納プロセッサを備える。
【０１７７】
（２）集積回路６の機能
集積回路６は、起動後、格納プロセッサに電力を供給する。集積回路６は、障害発生を示す信号がＣＰＵ４から入力されると、格納プロセッサへの電力の供給を停止する。格納プロセッサが停止すると、集積回路６は、パケットを受信しなくなる。
【０１７８】
上述した以外の構成や機能は、第１の実施の形態における通信装置と同じであるので、同一の符号を付して説明を省略する。
【０１７９】
[動作の説明]
本実施形態の通信装置の動作について説明する。
【０１８０】
まず、集積回路６は、起動後、格納プロセッサに電力を供給する。
【０１８１】
集積回路６の格納プロセッサは、電力が供給されると起動し、集積回路１の格納プロセッサと同様に、上述のＳ１の処理を行い、外部の通信装置から受信したパケットを内部メモリ１０に保存する。
【０１８２】
次に、集積回路６は、障害発生を示す信号がＣＰＵ４から入力されると、Ｓ２２の代わりに、格納プロセッサへの電力の供給を停止する処理を行う。
【０１８３】
電力の供給が停止された格納プロセッサは、パケットの受信を停止し、内部メモリ１０に新たにパケットを格納しなくなる。
【０１８４】
その結果、本実施形態の通信装置は、障害発生時のパケットを内部メモリ１０に保存することができる。格納プロセッサへの電力の供給を停止する処理は、内部メモリ１０へのパケットの格納を停止する処理である。集積回路６は、パケットの格納を停止する処理であれば、Ｓ２２の処理に代わって、どのような処理でも行うことができる。
【０１８５】
［効果の説明］
本実施形態によれば、通信装置の製造者は、第１の実施形態の通信装置の製造者と同様に、再現試験を行うときに、障害が発生した環境を十分に整えることができる。なぜならば、本実施形態の通信装置は、第１の実施形態の通信装置と同様に、障害発生時のパケットをバッファ内に保存するからである。
【０１８６】
さらに、本実施形態の通信装置は、障害発生時、第１の実施形態の通信装置よりも消費電力量を少なくすることができる。なぜなら、本実施形態の通信装置は、格納プロセッサを停止することによりパケットの受信機能を停止し、パケットの破棄を実施することなく、障害発生時のパケットをバッファに保存するからである。本実施形態の通信装置は、パケットの破棄を実施しない分、消費電力を少なくすることができる。
【０１８７】
≪第３の実施の形態≫
図９は、本発明の第３の実施の形態における装置の構成例を示す図である。以下に、第３の実施の形態の装置の構成と動作について説明する。
【０１８８】
［構成の説明］
（１）第３の実施形態の装置１００の構成
第３の実施形態の装置１００は、図９に示されるように、メモリ１０１と、格納部１０２と、検出部１０２と、格納部１０３と、を備える。
【０１８９】
第３の実施形態の装置１００は、図９に示されるように、接続される装置１１０と通信を行ってもよい。
【０１９０】
（１）第３の実施形態の装置１００の構成
メモリ１０１は、通信により入力されるデータに対応する格納データを格納するメモリである。
【０１９１】
検出部１０２は、通信に係る障害を検出する。
【０１９２】
格納部１０３は、通信により入力されるデータに対応する格納データを順次、メモリ１０１に格納する。格納部１０３は、入力されるデータを、そのまま格納データとしてメモリ１０１に格納してもよいし、入力されるデータに所定の処理を行い、所定の処理を行ったデータを格納データとしてメモリ１０１に格納してもよい。
【０１９３】
格納部１０３は、検出部１０２が障害を検出したときには、メモリ１０１への格納データの格納を停止する。
【０１９４】
上述のデータはパケットであってもよい。格納部１０３は、第１の実施形態では、集積回路１の格納プロセッサや送信プロセッサに相当する機能部であり、検出部１０２は、第１の実施形態では、障害検出を行う集積回路１の格納プロセッサや送信プロセッサに相当する機能部である。
【０１９５】
[動作の説明]
次に、本実施形態の装置１００の動作を説明する。
【０１９６】
まず、本実施形態の装置１００は、接続する装置１１０と通信を行っているとする。本実施形態の装置１００は、通信により装置１１０からデータが次々と入力される。
【０１９７】
格納部１０３は、通信により入力されるデータに対応する格納データを順次、メモリ１０１に格納する。格納部１０３は、入力されるデータを、そのまま格納データとしてメモリ１０１に格納してもよいし、入力されるデータに所定の処理を行い、所定の処理を行ったデータを格納データとしてメモリ１０１に格納してもよい。
【０１９８】
次に、装置１１０との通信に係る障害が本実施形態の装置１００に発生したとする。
【０１９９】
検出部１０２は、装置１１０との通信に係る障害を検出する。
【０２００】
格納部１０３は、検出部１０２が障害を検出したときには、メモリ１０１への格納データの格納を停止する。
【０２０１】
格納部１０３は、入力されるデータを破棄することで、メモリ１０１への格納データの格納を停止してもよいし、自身に備わる格納データの格納に係る機能を停止することで、メモリ１０１への格納データの格納を停止してもよい。
【０２０２】
メモリ１０１には、新たにデータが格納されないので、障害が発生した時のデータが保存される。
【０２０３】
［効果の説明］
まず、本実施形態によれば、装置１００の製造者は、再現試験を行うときに、障害が発生した環境を十分に整えることができる。
【０２０４】
なぜならば、本実施形態の装置１００が、障害発生時、メモリ１０１へのデータの格納を停止し、障害発生時のデータを保存するからである。本実施形態の装置１００が障害発生時のデータを保存するので、本実施形態の通信装置１００の製造者は、障害発生時のデータを取得することができる。その結果、本実施形態の装置１００の製造者は、再現試験を行うとき、障害発生時のデータを用いることができ、障害が発生した環境を十分に整えることができる。
【０２０５】
なお、上述した実施の形態は、その形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々変更可能である。また、図３、４の矢印の向きは、一例を示すものであり、各集積回路間の信号の向きを限定するものではない。
【０２０６】
さらに、上記の各実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
（付記１）
通信により入力されるデータに対応する格納データを格納するメモリと、
前記通信に係る障害を検出する検出部と、
前記格納データを順次、前記メモリに格納するとともに、前記検出部が前記障害を検出したときには前記格納を停止する格納部と、
を備えることを特徴とする装置。
（付記２）
前記格納部は、入力される前記データを破棄することにより前記格納を停止する、
ことを特徴とする付記１に記載の装置。
（付記３）
前記格納部は、前記通信装置の前記入力に係る機能を停止することにより前記格納を停止する、
ことを特徴とする付記１に記載の装置。
（付記４）
所定のタイミングになると、前記メモリに記憶されている前記データに対応するデータを出力する送信部を備え、
前記送信部は、前記検出部が前記障害を検出したとき、前記出力を停止する、
ことを特徴とする付記１乃至３のいずれか１項に記載の装置。
（付記５）
通信により入力されるデータに対応するデータを順次、メモリに格納する格納ステップと、
前記通信に係る障害が検出されたときには、前記格納を停止する停止ステップと、
を有することを特徴とする保存方法。
（付記６）
前記停止ステップにおいては、入力される前記データを破棄することにより前記格納を停止する、
ことを特徴とする付記５に記載の保存方法。
（付記７）
通信装置における方法であって、
前記停止ステップにおいては、前記通信装置の前記入力に係る機能を停止することにより前記格納を停止する、
ことを特徴とする付記５に記載の保存方法。
（付記８）
所定のタイミングになると、前記メモリに記憶されている前記データに対応するデータを出力する送信ステップを有し、
前記送信ステップにおいては、前記停止ステップにおいて前記障害が検出されたときに前記出力を停止する、
ことを特徴とする付記５乃至７のいずれか１項に記載の保存方法。
（付記９）
メモリを備えた通信装置に実装されたプロセッサに、
通信により入力されるデータに対応するデータを順次、前記メモリに格納する格納処理と、
前記通信に係る障害を検出する検出処理と、
前記検出処理が前記障害を検出したときには、前記格納処理を停止する格納停止処理と、
を行わせるためのプログラム。
（付記１０）
入力される前記データを破棄することにより前記格納処理を停止する前記格納停止処理を、前記プロセッサに行わせるための付記９に記載のプログラム。
（付記１１）
前記通信装置の前記入力に係る機能を停止することにより前記格納処理を停止する前記格納停止処理を、前記プロセッサに行わせるための付記９に記載のプログラム。
（付記１２）
所定のタイミングになると、前記メモリに格納されている前記データに対応するデータを出力する送信処理を、前記プロセッサに行わせるための付記９乃至１１のいずれか１項に記載のプログラム。
（付記１３）
前記検出処理が前記障害を検出したときに、前記送信処理を停止する送信停止処理を、前記プロセッサに行わせるための付記１２に記載のプログラム。
【符号の説明】
【０２０７】
１、２、３、６    集積回路
４    ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）
５    ＣＦ（Ｃｏｍｐａｃｔ  Ｆｌａｓｈ）
１０、２０、３０    内部メモリ
１１、１２、２１、３１    外部メモリ
１００    装置
１０１    メモリ
１０２    検出部
１０３    格納部
１１０    装置
【図１】
2017163329.tif 000003
【図２】
2017163329.tif 000004
【図３】
2017163329.tif 000005
【図４】
2017163329.tif 000006
【図５】
2017163329.tif 000007
【図６】
2017163329.tif 000008
【図７】
2017163329.tif 000009
【図８】
2017163329.tif 000010
【図９】
2017163329.tif 000011