(57)【特許請求の範囲】
【請求項１】
管理対象装置と、複数の履歴管理装置と、複数の履歴記憶装置とを有し、
上記管理対象装置は、本体データ記憶部と、リンク記憶部と、リンク送信部と、本体データ受信部とを有し、
それぞれの履歴管理装置は、リンク受信部と、リンク検索部と、履歴データ取得部と、本体データ送信部とを有し、
それぞれの履歴記憶装置は、履歴データ記憶部と、履歴リンク記憶部とを有し、
上記管理対象装置の本体データ記憶部は、一つの本体データを記憶し、
上記管理対象装置のリンク記憶部は、一以上のリンクデータを記憶し、それぞれのリンクデータは、上記本体データ記憶部が記憶したことのある本体データを識別するデータであり、
上記管理対象装置のリンク送信部は、上記リンク記憶部が記憶した一以上のリンクデータを、いずれかの履歴管理装置に対して送信し、
上記履歴記憶装置の履歴データ記憶部は、一以上の履歴データを記憶し、それぞれの履歴データは、管理対象装置が記憶したことのある本体データであり、
上記履歴記憶装置の履歴リンク記憶部は、一以上の履歴リンクデータを記憶し、それぞれの履歴リンクデータは、上記履歴データ記憶部が記憶した履歴データを識別するデータであり、
上記履歴管理装置のリンク受信部は、上記管理対象装置が送信した一以上のリンクデータを受信し、
上記履歴管理装置のリンク検索部は、上記複数の履歴記憶装置のうち、アクセス可能な一以上の履歴記憶装置の履歴リンク記憶部が記憶した一以上の履歴リンクデータのなかに一致するものがあるリンクデータを、上記リンク受信部が受信した一以上のリンクデータのなかから抽出し、
上記履歴管理装置の履歴データ取得部は、上記リンク検索部が抽出したリンクデータのなかから選択した一つのリンクデータによって識別される履歴データを、上記リンクデータと一致する履歴リンクデータを記憶した履歴記憶装置の履歴データ記憶部から取得し、
上記履歴管理装置の本体データ送信部は、上記履歴データ取得部が取得した履歴データを、本体データとして上記管理対象装置に対して送信し、
上記管理対象装置の本体データ受信部は、上記履歴管理装置が送信した本体データを受信し、
上記管理対象装置の本体データ記憶部は、上記本体データ受信部が受信した本体データを記憶する
ことを特徴とする履歴管理システム。
【請求項２】
上記管理対象装置は、更に、リンク受信部を有し、
それぞれの履歴管理装置は、更に、本体データ生成部と、リンク生成部と、リンク送信部とを有し、
上記履歴管理装置の本体データ生成部は、本体データを生成し、上記複数の履歴記憶装置のうち、アクセス可能な一以上の履歴記憶装置の履歴データ記憶部に、生成した本体データを、履歴データとして蓄積して記憶させ、
上記履歴管理装置のリンク生成部は、上記本体データ生成部が生成した本体データを識別するリンクデータを生成し、上記複数の履歴記憶装置のうち、アクセス可能な一以上の履歴記憶装置の履歴リンク記憶部に、生成したリンクデータを、履歴リンクデータとして蓄積して記憶させ、
上記履歴管理装置の本体データ送信部は、上記本体データ生成部が生成した本体データを、上記管理対象装置に対して送信し、
上記履歴管理装置のリンク送信部は、上記リンク生成部が生成したリンクデータを、上記管理対象装置に対して送信し、
上記管理対象装置のリンク受信部は、上記履歴管理装置が送信したリンクデータを受信し、
上記管理対象装置のリンク記憶部は、上記リンク受信部が受信したリンクデータを蓄積して記憶する
ことを特徴とする請求項１に記載の履歴管理システム。
【請求項３】
上記管理対象装置は、更に、本体データ送信部を有し、
それぞれの履歴管理装置は、更に、本体データ受信部を有し、
上記管理対象装置の本体データ送信部は、上記本体データ記憶部が記憶した本体データを、上記履歴管理装置に対して送信し、
上記管理対象装置のリンク送信部は、上記リンク記憶部が記憶した一以上のリンクデータのうち、上記本体データ記憶部が記憶した本体データを識別するリンクデータを、上記履歴管理装置に対して送信し、
上記履歴管理装置の本体データ受信部は、上記管理対象装置が送信した本体データを受信し、上記複数の履歴記憶装置のうち、アクセス可能な一以上の履歴記憶装置の履歴データ記憶部に、受信した本体データを、履歴データとして蓄積して記憶させ、
上記履歴管理装置のリンク受信部は、アクセス可能な一以上の履歴記憶装置の履歴データ記憶部に、受信したリンクデータを、履歴リンクデータとして蓄積して記憶させる
ことを特徴とする請求項１または請求項２に記載の履歴管理システム。
【請求項４】
上記リンクデータは、上記リンクデータによって識別される履歴データを記憶した一以上の履歴記憶装置のうちのいずれかを識別する記憶識別データを含み、
上記履歴管理装置のリンク検索部は、上記履歴管理装置の処理装置を用いて、上記履歴管理装置のリンク取得部が取得したリンクデータに含まれる記憶識別データによって識別される履歴記憶装置にアクセス可能である場合に、上記記憶識別データによって識別される履歴記憶装置の履歴リンク記憶部を最初に検索することを特徴とする請求項１乃至請求項３のいずれかに記載の履歴管理システム。
【請求項５】
上記履歴管理装置は、更に、リンク選択部を有し、
上記履歴管理装置のリンク選択部は、上記リンク検索部が抽出した一以上のリンクデータに関する情報を表示し、表示した情報に基づいて上記一以上のリンクデータのなかから利用者が選択した一つのリンクデータを入力し、
上記履歴管理装置の履歴データ取得部は、上記リンク選択部が入力した一つのリンクデータによって識別される履歴データを取得する
ことを特徴とする請求項１乃至請求項４のいずれかに記載の履歴管理システム。
【請求項６】
上記履歴管理装置のリンク選択部は、上記リンク受信部が受信した一以上のリンクデータのうち、上記リンク検索部が抽出したリンクデータ以外のリンクデータについて、上記リンクデータが選択不可能であることを表わす情報を表示する
ことを特徴とする請求項５に記載の履歴管理システム。
【請求項７】
上記リンクデータは、上記リンクデータによって識別される本体データが生成された時刻と、上記本体データを上記本体データ記憶部が記憶した時刻との少なくともいずれかを含み、
上記履歴管理装置のリンク選択部は、上記リンクデータに含まれる時刻を表わす情報を表示する
ことを特徴とする請求項６に記載の履歴管理システム。
【請求項８】
上記リンクデータは、上記履歴データの同一性を保証する同一性保証データを含み、
上記履歴管理装置の履歴データ取得部は、取得した履歴データに基づいて同一性保証データを生成し、生成した同一性保証データと、上記リンクデータに含まれる同一性保証データとを比較して、履歴データの同一性を検証する
ことを特徴とする請求項１乃至請求項７のいずれかに記載の履歴管理システム。
【請求項９】
上記管理対象装置のリンク記憶部は、上記管理対象装置の記憶装置を用いて、所定の数のリンクデータを記憶し、記憶したリンクデータの数が上記所定の数に達した場合に、新たなリンクデータを、一番古いリンクデータに上書きして記憶することを特徴とする請求項１乃至請求項８のいずれかに記載の履歴管理システム。
【請求項１０】
請求項１乃至請求項９のいずれかに記載の履歴管理装置としてコンピュータを機能させることを特徴とするコンピュータプログラム。
【請求項１１】
管理対象装置と、複数の履歴管理装置と、複数の履歴記憶装置とを有する履歴管理システムが、履歴を管理する履歴管理方法において、
上記管理対象装置が、一つの本体データを記憶し、
上記管理対象装置が、一以上のリンクデータを記憶し、それぞれのリンクデータは、上記管理対象装置が記憶したことのある本体データを識別するデータであり、
それぞれの履歴記憶装置が、一以上の履歴データを記憶し、それぞれの履歴データは、上記管理対象装置が記憶したことのある本体データであり、
それぞれの履歴記憶装置が、一以上の履歴リンクデータを記憶し、それぞれの履歴リンクデータは、上記履歴記憶装置が記憶した履歴データを識別するデータであり、
上記管理対象装置が、上記管理対象装置が記憶した一以上のリンクデータを、いずれかの履歴管理装置に対して送信し、
上記履歴管理装置が、上記管理対象装置が送信した一以上のリンクデータを受信し、
上記履歴管理装置が、上記複数の履歴記憶装置のうち、アクセス可能な一以上の履歴記憶装置が記憶した一以上の履歴リンクデータのなかに一致するものがあるリンクデータを、上記履歴管理装置が受信した一以上のリンクデータのなかから抽出し、
上記履歴管理装置が、上記管理対象装置が抽出したリンクデータのなかから選択した一つのリンクデータによって識別される履歴データを、上記リンクデータと一致する履歴リンクデータを記憶した履歴記憶装置から取得し、
上記履歴管理装置が、上記履歴管理装置が取得した履歴データを、本体データとして、上記管理対象装置に対して送信し、
上記管理対象装置が、上記履歴管理装置が送信した本体データを受信し、
上記管理対象装置が、上記管理対象装置が受信した本体データを記憶する
ことを特徴とする履歴管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、制御機器など記憶容量の少ない装置が記憶したデータの履歴を管理する履歴管理システムに関する。
【背景技術】
【０００２】
一般的に、制御機器などの装置は、記憶容量が限られていて、処理に必要なデータのバックアップを取っておけるほどの記憶容量を有さない。このため、処理に必要なデータを書き換える場合、新たなデータを古いデータに上書きするので、制御機器などの装置が記憶したデータを古いデータに復旧することが簡単にはできない。
一般的に、制御機器などの装置が記憶したデータを書き換える場合、制御機器などの装置に、データ書換のための周辺機器などの装置を接続し、接続した周辺機器などの装置を介して、データを書き換える。
【特許文献１】特開２００２−３５１５０４号公報
【特許文献２】特開２００４−２８７６４８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
周辺機器などの装置を介して、制御機器などの装置が記憶したデータを書き換える場合、古いデータを周辺機器側に保存しておくことにより、制御機器などの装置が記憶したデータを古いデータに復旧することができる。
しかし、制御機器などの装置が複数あり、周辺機器などの装置も複数ある場合、古いデータを保存した周辺機器などの装置を、制御機器などの装置と接続しなければ、古いデータを復旧できないので、制御機器と周辺機器との対応関係が固定されてしまうという制約が生じ、システム運用の柔軟性が損なわれる。
この発明は、例えば、上記のような課題を解決するためになされたものであり、システム運用の柔軟性を損なうことなく、制御機器などの装置が記憶したデータを、容易に過去の時点の状態に戻すことができるようにすることを目的とする。
【課題を解決するための手段】
【０００４】
この発明にかかる履歴管理システムは、
管理対象装置と、履歴管理装置と、履歴記憶装置とを有し、
上記管理対象装置は、データを記憶する記憶装置と、本体データ記憶部と、リンク記憶部とを有し、
上記履歴管理装置は、データを処理する処理装置と、履歴データ取得部とを有し、
上記履歴記憶装置は、データを記憶する記憶装置と、履歴データ記憶部とを有し、
上記管理対象装置の本体データ記憶部は、上記管理対象装置の記憶装置を用いて、本体データを記憶し、
上記履歴記憶装置の履歴データ記憶部は、上記履歴記憶装置の記憶装置を用いて、上記管理対象装置の本体データ記憶部が記憶したことのある本体データを、履歴データとして記憶し、
上記管理対象装置のリンク記憶部は、上記管理対象装置の記憶装置を用いて、上記履歴記憶装置の履歴データ記憶部が記憶した履歴データを識別するリンクデータを記憶し、
上記履歴管理装置の履歴データ取得部は、上記履歴管理装置の処理装置を用いて、上記管理対象装置のリンク記憶部が記憶したリンクデータによって識別される履歴データを、上記履歴記憶装置の履歴データ記憶部から取得し、取得した履歴データを本体データとして、上記管理対象装置の本体データ記憶部に記憶させることを特徴とする。
【発明の効果】
【０００５】
この発明にかかる履歴管理システムによれば、管理対象装置のリンク記憶部が記憶したリンクデータに基づいて、履歴データ記憶部が記憶した履歴データを、履歴管理装置の履歴データ取得部が取得し、管理対象装置の本体データ記憶部に記憶させるので、管理対象装置の記憶装置が、過去の本体データを記憶しておけるほどの記憶容量を有していなくても、管理対象装置の本体データ記憶部が記憶した本体データを、容易に過去の状態に復旧させることができる。
また、本体データよりもリンクデータが小さく、管理対象装置の記憶装置が、複数のリンクデータを記憶することができるので、管理対象装置の本体データ記憶部が記憶した本体データを、過去の複数の時点から選択した時点における状態に復旧させることができる。
更に、リンクデータを管理対象装置のリンク記憶部２２６が記憶しているので、履歴管理装置と管理対象装置との組み合わせを固定する必要がなく、管理対象装置の現地調整や保守管理を容易に行うことができる。
【発明を実施するための最良の形態】
【０００６】
実施の形態１．
実施の形態１について、図１〜図７を用いて説明する。
【０００７】
図１は、この実施の形態における履歴管理システム８００の全体構成の一例を示すシステム構成図である。
履歴管理システム８００は、制御機器２００、周辺機器１００、履歴記憶装置３００を有する。
制御機器２００（管理対象装置）は、工業用ロボットや制御バルブなどの制御対象装置８１０を制御して、ＦＡ（ファクトリー・オートメーション）やＰＡ（プロセス・オートメーション）を実現する装置（組込みコントローラ機器）である。制御機器２００は、内部に記憶したプログラムやパラメータなどのデータ（以下「本体データ」と呼ぶ。）に基づいて、制御対象装置８１０を制御する。
周辺機器１００（履歴管理装置）は、制御機器２００の現地調整や保守管理の必要が生じた場合に、制御機器２００と接続して、制御機器２００の本体データを読み出したり、制御機器２００に本体データを書き込んだりする。
履歴記憶装置３００は、周辺機器１００が制御機器２００に書き込んだり、制御機器２００から読み出したりした本体データを、あとで制御機器２００の状態を元に戻したいときのために記憶する。
【０００８】
この図に示すように、通常、制御機器２００は複数あり、必要に応じて、複数の周辺機器１００のいずれかと接続する。制御機器２００と接続する周辺機器１００は、常に同じとは限らない。
また、履歴記憶装置３００には、特定の周辺機器１００に付属していて、その周辺機器１００からしかアクセスできないものもあれば、ネットワーク８２０を介して周辺機器１００に接続していて、複数の周辺機器１００からアクセスできるものもある。また、周辺機器１００のなかには、ネットワーク８２０に接続する機能を有さず（あるいは、一時的な不具合によりネットワーク８２０に接続できず）、ネットワーク８２０に接続した履歴記憶装置３００にアクセスできないものもある。
【０００９】
図２は、この実施の形態における周辺機器１００、制御機器２００、履歴記憶装置３００の外観の一例を示す図である。
周辺機器１００、制御機器２００、履歴記憶装置３００は、システムユニット９１０、ＣＲＴ（Ｃａｔｈｏｄｅ・Ｒａｙ・Ｔｕｂｅ）やＬＣＤ（液晶）の表示画面を有する表示装置９０１、キーボード９０２（Ｋｅｙ・Ｂｏａｒｄ：Ｋ／Ｂ）、マウス９０３、ＦＤＤ９０４（Ｆｌｅｘｉｂｌｅ・Ｄｉｓｋ・Ｄｒｉｖｅ）、コンパクトディスク装置９０５（ＣＤＤ）、プリンタ装置９０６、スキャナ装置９０７などのハードウェア資源を備え、これらはケーブルや信号線で接続されている。
システムユニット９１０は、コンピュータであり、ファクシミリ機９３２、電話器９３１とケーブルで接続され、また、ローカルエリアネットワーク９４２（ＬＡＮ）、ゲートウェイ９４１を介してインターネット９４０に接続されている。
【００１０】
図３は、この実施の形態における周辺機器１００、制御機器２００、履歴記憶装置３００のハードウェア資源の一例を示す図である。
周辺機器１００、制御機器２００、履歴記憶装置３００は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ・Ｐｒｏｃｅｓｓｉｎｇ・Ｕｎｉｔ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。ＣＰＵ９１１は、バス９１２を介してＲＯＭ９１３、ＲＡＭ９１４、通信装置９１５、表示装置９０１、キーボード９０２、マウス９０３、ＦＤＤ９０４、ＣＤＤ９０５、プリンタ装置９０６、スキャナ装置９０７、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置９２０の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、ＦＤＤ９０４、ＣＤＤ９０５、磁気ディスク装置９２０の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。
なお、制御機器２００は、通常、記憶容量の小さい不揮発性メモリなどの記憶装置しか有さない。
通信装置９１５、キーボード９０２、スキャナ装置９０７、ＦＤＤ９０４などは、入力部、入力装置の一例である。
また、通信装置９１５、表示装置９０１、プリンタ装置９０６などは、出力部、出力装置の一例である。
【００１１】
通信装置９１５は、ファクシミリ機９３２、電話器９３１、ＬＡＮ９４２等に接続されている。通信装置９１５は、ＬＡＮ９４２に限らず、インターネット９４０、ＩＳＤＮ等のＷＡＮ（ワイドエリアネットワーク）などに接続されていても構わない。インターネット９４０或いはＩＳＤＮ等のＷＡＮに接続されている場合、ゲートウェイ９４１は不用となる。
磁気ディスク装置９２０には、オペレーティングシステム９２１（ＯＳ）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。プログラム群９２３のプログラムは、ＣＰＵ９１１、オペレーティングシステム９２１、ウィンドウシステム９２２により実行される。
【００１２】
上記プログラム群９２３には、以下に述べる実施の形態の説明において「〜部」として説明する機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。
ファイル群９２４には、以下に述べる実施の形態の説明において、「〜の判定結果」、「〜の計算結果」、「〜の処理結果」として説明する情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリになどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのＣＰＵの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、以下に述べる実施の形態の説明において説明するフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、ＲＡＭ９１４のメモリ、ＦＤＤ９０４のフレキシブルディスク、ＣＤＤ９０５のコンパクトディスク、磁気ディスク装置９２０の磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ（Ｄｉｇｉｔａｌ・Ｖｅｒｓａｔｉｌｅ・Ｄｉｓｋ）等の記録媒体に記録される。また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【００１３】
また、以下に述べる実施の形態の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。すなわち、プログラムは、以下に述べる「〜部」としてコンピュータを機能させるものである。あるいは、以下に述べる「〜部」の手順や方法をコンピュータに実行させるものである。
【００１４】
図４は、この実施の形態における制御機器２００の機能ブロックの構成の一例を示すブロック構成図である。
制御機器２００は、本体データ記憶部２１１、対象制御部２１２、書込要求受信部２２１、本体データ受信部２２２、本体データ更新部２２３、リンク受信部２２４、リンク更新部２２５、リンク記憶部２２６、リンク読出要求受信部２３１、リンク読出部２３２、リンク送信部２３３、データ読出要求受信部２４１、本体データ読出部２４２、本体データ送信部２４３を有する。
【００１５】
本体データ記憶部２１１は、不揮発性メモリ（記憶装置）を用いて、制御機器２００が制御対象装置８１０を制御するために必要な制御プログラムや、制御パラメータなどの本体データを記憶する。
対象制御部２１２は、ＣＰＵ９１１（処理装置）を用いて、本体データ記憶部２１１が記憶した本体データに基づいて、制御対象装置８１０を制御する。
【００１６】
書込要求受信部２２１は、通信装置９１５（受信装置）を用いて、周辺機器１００から、本体データの書込みを要求することを表わすメッセージ（以下「書込要求」と呼ぶ。）を受信する。
本体データ受信部２２２は、通信装置９１５を用いて、書込要求受信部２２１が書込要求を受信した場合に、書込要求に続いて周辺機器１００から送信される本体データを受信する。
リンク受信部２２４は、通信装置９１５を用いて、書込要求受信部２２１が書込み要求を受信した場合に、本体データに続いて周辺機器１００から送信されるリンクデータを受信する。リンクデータとは、本体データを一意に識別するためのデータであり、例えば、リンクデータを識別する識別番号、周辺機器１００の識別番号（ＵＵＩＤ（Ｕｎｉｖｅｒｓａｌｌｙ  Ｕｎｉｑｕｅ  Ｉｄｅｎｔｉｆｉｅｒ）など）、周辺機器１００内で一意に本体データを特定するためのデータＩＤ、本体データが制御機器２００に書き込まれた時刻を表わす時刻情報などを含む。
【００１７】
本体データ更新部２２３は、ＣＰＵ９１１を用いて、本体データ受信部２２２が受信した本体データを、本体データ記憶部２１１に記憶させる。制御機器２００の記憶装置は、
本体データを複数記憶できるほどの記憶容量を持たない。このため、本体データ更新部２２３が本体データ記憶部２１１に本体データを記憶させると、本体データ記憶部２１１は、古い本体データに上書きして、新しい本体データを記憶する。
【００１８】
リンク記憶部２２６は、不揮発性メモリを用いて、リンクデータを記憶する。
リンク更新部２２５は、ＣＰＵ９１１を用いて、リンク受信部２２４が受信したリンクデータを、リンク記憶部２２６に記憶させる。リンクデータは、本体データと比較して小さいので、制御機器２００の記憶装置は、リンクデータを複数記憶できる。このため、リンク更新部２２５がリンク記憶部２２６にリンクデータを記憶させると、リンク記憶部２２６は、古いリンクデータに追加して、新しいリンクデータを記憶する。制御機器２００の記憶装置が記憶できるリンクデータの数に、リンク記憶部２２６が記憶しているリンクデータの数が達した場合、リンク記憶部２２６は、記憶しているリンクデータのうち、一番古いリンクデータに上書きして、新しいリンクデータを記憶する。すなわち、リンク記憶部２２６は、リングバッファ形式で、複数のリンクデータを記憶する。
これにより、リンク記憶部２２６は、本体データ記憶部２１１が現在記憶している本体データを識別するリンクデータだけでなく、過去に本体データ記憶部２１１が記憶していた本体データを識別するリンクデータも記憶している。
【００１９】
リンク読出要求受信部２３１は、通信装置９１５を用いて、周辺機器１００から、リンクデータの読出しを要求するメッセージ（以下「リンク読出要求」と呼ぶ。）を受信する。
リンク読出部２３２は、ＣＰＵ９１１を用いて、リンク読出要求受信部２３１がリンク読出し要求を受信した場合に、リンク記憶部２２６が記憶した複数のリンクデータをすべて読み出す。
リンク送信部２３３は、通信装置９１５（送信装置）を用いて、リンク読出部２３２が読み出した複数のリンクデータを、周辺機器１００に対して送信する。
【００２０】
データ読出要求受信部２４１は、通信装置９１５を用いて、周辺機器１００から、本体データの読出しを要求するメッセージ（以下「データ読出要求」と呼ぶ。）を受信する。
本体データ読出部２４２は、ＣＰＵ９１１を用いて、データ読出要求受信部２４１がデータ読出要求を受信した場合に、本体データ記憶部２１１が記憶した本体データを読み出す。
本体データ送信部２４３は、通信装置９１５を用いて、本体データ送信部２４３が読み出した本体データを、周辺機器１００に対して送信する。
また、リンク読出部２３２は、ＣＰＵ９１１を用いて、リンク記憶部２２６が記憶した複数のリンクデータのなかから、本体データ読出部２４２が読み出した本体データを識別するリンクデータ（すなわち、一番新しいリンクデータ）を読み出す。
リンク送信部２３３は、通信装置９１５を用いて、リンク読出部２３２が読み出した一番新しいリンクデータを、周辺機器１００に対して送信する。
【００２１】
図５は、この実施の形態における周辺機器１００及び履歴記憶装置３００の機能ブロックの構成の一例を示すブロック構成図である。
周辺機器１００は、処理選択部１９０、本体データ生成部１１１、リンク生成部１１２、書込要求送信部１２１、本体データ送信部１２２、リンク送信部１２３、リンク読出要求送信部１３１、リンク受信部１３２、データ読出要求送信部１４１、本体データ受信部１４２、リンク検索部１５１、リンク選択部１５２、履歴データ取得部１５３を有する。
履歴記憶装置３００は、履歴データ記憶部３１０、履歴リンク記憶部３２０を有する。
【００２２】
処理選択部１９０は、表示装置９０１を用いて、周辺機器１００が実行する処理の選択画面を表示し、キーボード９０２（入力装置）を用いて、利用者がどの処理を選択したかを入力する。利用者が選択できる処理には、例えば、本体データの新規作成、編集、ダウンロード、バックアップ、復旧などがある。
【００２３】
本体データ生成部１１１は、ＣＰＵ９１１を用いて、本体データを生成する。例えば、処理選択部１９０が「本体データの新規作成」を入力した場合、本体データ生成部１１１は、表示装置９０１を用いて、本体データの編集画面を表示し、キーボード９０２を用いて、本体データを入力する。
リンク生成部１１２は、ＣＰＵ９１１を用いて、本体データ生成部１１１が生成した本体データを識別するリンクデータを生成する。
【００２４】
履歴データ記憶部３１０は、磁気ディスク装置９２０を用いて、本体データ生成部１１１が生成した本体データを、履歴データとして記憶する。
履歴リンク記憶部３２０は、磁気ディスク装置９２０を用いて、リンク生成部１１２が生成したリンクデータを、履歴データ記憶部３１０が記憶した履歴データと対応づけて記憶する。
履歴記憶装置３００の記憶装置は、大容量であり、多数の本体データ及びリンクデータを記憶できる。履歴データ記憶部３１０は、新たな履歴データを記憶する場合、古い履歴データに追加して、新たな履歴データを記憶する。履歴リンク記憶部３２０も同様に、古いリンクデータに追加して、新たなリンクデータを記憶する。なお、あまりにも古いデータを記憶していても仕方ないので、履歴データ記憶部３１０及び履歴リンク記憶部３２０は、所定の期間を過ぎた古い履歴データ及びリンクデータを削除してもよい。
【００２５】
なお、周辺機器１００からアクセスできる履歴記憶装置３００が複数ある場合、周辺機器１００からアクセスできるすべての履歴記憶装置３００が、本体データ及びリンクデータを記憶してもよいし、周辺機器１００からアクセスできる複数の履歴記憶装置３００のうちから選択した一つまたは複数の履歴記憶装置３００が、本体データ及びリンクデータを記憶してもよい。
【００２６】
書込要求送信部１２１は、通信装置９１５を用いて、本体データ生成部１１１が本体データを生成した場合に、制御機器２００に対して、書込要求を送信する。
本体データ送信部１２２は、通信装置９１５を用いて、制御機器２００に対して、書込要求送信部１２１が送信した書込要求に続けて、本体データ生成部１１１が生成した本体データを送信する。
リンク送信部１２３は、通信装置９１５を用いて、制御機器２００に対して、本体データ送信部１２２が送信した本体データに続けて、リンク生成部１１２が生成したリンクデータを送信する。
【００２７】
これにより、制御機器２００が記憶した本体データを更新することができる。
【００２８】
リンク読出要求送信部１３１は、例えば処理選択部１９０が「本体データの復旧」を入力した場合、通信装置９１５を用いて、制御機器２００に対して、リンク読出要求を送信する。
リンク受信部１３２（リンク取得部）は、通信装置９１５を用いて、リンク読出要求送信部１３１が送信したリンク読出要求に対する応答として制御機器２００が送信した複数のリンクデータを受信する。
リンク検索部１５１は、ＣＰＵ９１１を用いて、履歴リンク記憶部３２０が記憶したリンクデータを検索して、リンク受信部１３２が受信した複数のリンクデータのうち、同一のリンクデータを履歴リンク記憶部３２０が記憶しているものを抽出する。
【００２９】
なお、周辺機器１００からアクセスできる履歴記憶装置３００が複数ある場合、リンク検索部１５１は、ＣＰＵ９１１を用いて、周辺機器１００からアクセスできるすべての履歴記憶装置３００について、履歴リンク記憶部３２０を検索する。ただし、一部の履歴記憶装置３００を検索した結果、リンク受信部１３２が受信した複数のリンクデータすべてについて、同一のリンクデータを見つけた場合には、リンク検索部１５１は、残りの履歴記憶装置３００については検索しなくてもよい。また、リンク検索部１５１は、ＲＡＭ９１４を用いて、リンク受信部１３２が受信した複数のリンクデータそれぞれについて、同一のリンクデータを見つけた履歴記憶装置３００を表わすデータを記憶しておく。
【００３０】
リンク選択部１５２は、表示装置９０１を用いて、リンクデータの選択画面を表示し、キーボード９０２を用いて、リンク検索部１５１が抽出したリンクデータのなかから利用者がどのリンクデータを選択したかを入力する。
履歴データ取得部１５３は、ＣＰＵ９１１を用いて、履歴データ記憶部３１０が記憶した本体データを検索して、リンク選択部１５２が入力した利用者が選択したリンクデータによって識別される履歴データを取得する。
【００３１】
なお、周辺機器１００からアクセスできる履歴記憶装置３００が複数ある場合、履歴データ取得部１５３は、ＣＰＵ９１１を用いて、リンク検索部１５１が記憶したデータに基づいて、選択したリンクデータと同一のリンクデータをリンク検索部１５１が見つけた履歴記憶装置３００の履歴データ記憶部３１０から、履歴データを取得する。
【００３２】
履歴データ取得部１５３が履歴データを取得した場合、書込要求送信部１２１は、通信装置９１５を用いて、制御機器２００に対して、書込要求を送信する。本体データ送信部１２２は、通信装置９１５を用いて、制御機器２００に対して、履歴データ取得部１５３が取得した履歴データを、本体データとして送信する。リンク送信部１２３は、通信装置９１５を用いて、制御機器２００に対して、リンク選択部１５２が入力した利用者が選択したリンクデータを送信する。
【００３３】
これにより、制御機器２００が記憶した本体データを以前の状態に戻すことができる。
【００３４】
データ読出要求送信部１４１は、例えば処理選択部１９０が「本体データのバックアップ」や「本体データの編集」を入力した場合、通信装置９１５を用いて、制御機器２００に対して、データ読出要求を送信する。
本体データ受信部１４２（本体データ取得部）は、通信装置９１５を用いて、データ読出要求送信部１４１が送信したデータ読出要求に対する応答として制御機器２００が送信した本体データを受信する。
また、リンク受信部１３２は、通信装置９１５を用いて、データ読出要求送信部１４１が送信したデータ読出要求に対する応答として制御機器２００が送信したリンクデータを受信する。
履歴データ記憶部３１０は、磁気ディスク装置９２０を用いて、本体データ受信部１４２が受信した本体データを、履歴データとして記憶する。
履歴リンク記憶部３２０は、磁気ディスク装置９２０を用いて、リンク受信部１３２が受信したリンクデータを、履歴データ記憶部３１０が記憶した履歴データと対応づけて記憶する。
【００３５】
これにより、制御機器２００が現在記憶している本体データをバックアップすることができる。
【００３６】
処理選択部１９０が「本体データの編集」を入力した場合には、更に、本体データ生成部１１１が、表示装置９０１を用いて、本体データの編集画面を表示し、本体データ受信部１４２が受信した本体データを表示する。本体データ生成部１１１は、キーボード９０２を用いて、表示した本体データに対する利用者の修正を入力する。その後は、「本体データの新規作成」の場合と同様なので、説明を省略する。
【００３７】
図６は、この実施の形態における制御機器２００が、周辺機器１００からの指示にしたがって本体データなどを管理するデータ管理処理の流れの一例を示すフローチャート図である。
【００３８】
メッセージ受信工程Ｓ７１１において、書込要求受信部２２１は、通信装置９１５を用いて、周辺機器１００が送信した書込要求などのメッセージを受信する。
書込要求判定工程Ｓ７１２において、書込要求受信部２２１は、ＣＰＵ９１１を用いて、メッセージ受信工程Ｓ７１１で受信したメッセージが書込要求であるか否かを判定する。
受信したメッセージが書込要求であると判定した場合、本体データ受信工程Ｓ７１３へ進む。
受信したメッセージが書込要求以外のメッセージであると判定した場合、リンク読出要求判定工程Ｓ７２２へ進む。
【００３９】
本体データ受信工程Ｓ７１３において、本体データ受信部２２２は、通信装置９１５を用いて、周辺機器１００が書込要求に続けて送信したデータを受信する。本体データ受信部２２２は、ＣＰＵ９１１を用いて、受信したデータを本体データとして出力する。
リンク受信工程Ｓ７１４において、リンク受信部２２４は、通信装置９１５を用いて、周辺機器１００が本体データに続けて送信したデータを受信する。リンク受信部２２４は、ＣＰＵ９１１を用いて、受信したデータをリンクデータとして出力する。
本体データ更新工程Ｓ７１５において、本体データ更新部２２３は、ＣＰＵ９１１を用いて、本体データ受信工程Ｓ７１３で本体データ受信部２２２が出力した本体データを入力する。本体データ更新部２２３は、ＣＰＵ９１１を用いて、入力した本体データを、本体データ記憶部２１１に記憶させる。本体データ記憶部２１１は、不揮発性メモリを用いて、古い本体データに上書きして、新しい本体データを記憶する。
リンクデータ更新工程Ｓ７１６において、リンク更新部２２５は、ＣＰＵ９１１を用いて、リンク受信工程Ｓ７１４でリンク受信部２２４が出力したリンクデータを入力する。リンク更新部２２５は、ＣＰＵ９１１を用いて、入力したリンクデータを、リンク記憶部２２６に記憶させる。リンク記憶部２２６は、不揮発性メモリを用いて、古いリンクデータに追加して、新しいリンクデータを記憶する。
その後、データ管理処理を終了する。
【００４０】
リンク読出要求判定工程Ｓ７２２において、リンク読出要求受信部２３１は、ＣＰＵ９１１を用いて、メッセージ受信工程Ｓ７１１で書込要求受信部２２１が受信したメッセージが、リンク読出要求であるか否かを判定する。
受信したメッセージがリンク読出要求であると判定した場合、全リンク読出工程Ｓ７２３へ進む。
受信したメッセージがリンク読出要求以外のメッセージであると判定した場合、データ読出要求判定工程Ｓ７３２へ進む。
【００４１】
全リンク読出工程Ｓ７２３において、リンク読出部２３２は、ＣＰＵ９１１を用いて、リンク記憶部２２６が記憶したすべてのリンクデータを読み出す。リンク読出部２３２は、ＣＰＵ９１１を用いて、読み出した複数のリンクデータを出力する。
その後、リンクデータ送信工程Ｓ７３６へ進む。
【００４２】
データ読出要求判定工程Ｓ７３２において、データ読出要求受信部２４１は、ＣＰＵ９１１を用いて、メッセージ受信工程Ｓ７１１で書込要求受信部２２１が受信したメッセージが、データ読出要求であるか否かを判定する。
受信したメッセージがデータ読出要求であると判定した場合、本体データ読出工程Ｓ７３３へ進む。
受信したメッセージがデータ読出要求以外のメッセージであると判定した場合、データ管理処理を終了する。
【００４３】
本体データ読出工程Ｓ７３３において、本体データ読出部２４２は、ＣＰＵ９１１を用いて、本体データ記憶部２１１が記憶した本体データを読み出す。本体データ読出部２４２は、ＣＰＵ９１１を用いて、読み出した本体データを出力する。
リンクデータ読出工程Ｓ７３４において、リンク読出部２３２は、ＣＰＵ９１１を用いて、リンク記憶部２２６が記憶したリンクデータのなかから、本体データ読出工程Ｓ７３３で本体データ読出部２４２が読み出した本体データを識別する最新のリンクデータを読み出す。リンク読出部２３２は、ＣＰＵ９１１を用いて、読み出したリンクデータを出力する。
本体データ送信工程Ｓ７３５において、本体データ送信部２４３は、ＣＰＵ９１１を用いて、本体データ読出工程Ｓ７３３で本体データ読出部２４２が出力した本体データを入力する。本体データ送信部２４３は、通信装置９１５を用いて、周辺機器１００に対して、入力した本体データを送信する。
リンクデータ送信工程Ｓ７３６において、リンク送信部２３３は、ＣＰＵ９１１を用いて、全リンク読出工程Ｓ７２３あるいはリンクデータ読出工程Ｓ７３４でリンク読出部２３２が出力した一または複数のリンクデータを入力する。リンク送信部２３３は、通信装置９１５を用いて、周辺機器１００に対して、入力した一または複数のリンクデータを送信する。
その後、データ管理処理を終了する。
【００４４】
図７は、この実施の形態における周辺機器１００が、制御機器２００の本体データを管理する履歴管理処理の流れの一例を示すフローチャート図である。
【００４５】
処理選択工程Ｓ６１１において、処理選択部１９０は、表示装置９０１を用いて、処理選択画面を表示し、実行する処理を利用者に選択させる。処理選択部１９０は、キーボード９０２を用いて、利用者がどの処理を選択したかを入力する。処理選択部１９０は、利用者が選択した処理を判定する。
利用者が選択した処理が「バックアップ」または「編集」である場合、データ読出要求送信工程Ｓ６２１へ進む。
利用者が選択した処理が「新規作成」である場合、本体データ生成工程Ｓ６３１へ進む。
利用者が選択した処理が「復旧」である場合、リンク読出要求送信工程Ｓ６４１へ進む。
【００４６】
データ読出要求送信工程Ｓ６２１において、データ読出要求送信部１４１は、通信装置９１５を用いて、制御機器２００に対して、データ読出要求を送信する。
本体データ受信工程Ｓ６２２において、本体データ受信部１４２は、通信装置９１５を用いて、データ読出要求送信工程Ｓ６２１でデータ読出要求送信部１４１が送信したデータ読出要求に対する応答として制御機器２００が送信したデータを受信する。本体データ受信部１４２は、ＣＰＵ９１１を用いて、受信したデータを本体データとして出力する。
リンクデータ受信工程Ｓ６２３において、リンク受信部１３２は、通信装置９１５を用いて、本体データ受信工程Ｓ６２２で本体データ受信部１４２が受信した本体データに続けて制御機器２００が送信したデータを受信する。リンク受信部１３２は、ＣＰＵ９１１を用いて、受信したデータをリンクデータとして出力する。
履歴データ記憶工程Ｓ６２４において、履歴データ記憶部３１０は、ＣＰＵ９１１を用いて、本体データ受信工程Ｓ６２２で本体データ受信部１４２が出力した本体データを入力する。履歴データ記憶部３１０は、磁気ディスク装置９２０を用いて、入力した本体データを、古い履歴データに追加して記憶する。
リンクデータ記憶工程Ｓ６２５において、履歴リンク記憶部３２０は、ＣＰＵ９１１を用いて、リンクデータ受信工程Ｓ６２３でリンク受信部１３２が出力したリンクデータを入力する。履歴リンク記憶部３２０は、磁気ディスク装置９２０を用いて、入力したリンクデータを、履歴データ記憶工程Ｓ６２４で履歴データ記憶部３１０が記憶した本体データと対応づけ、古いリンクデータに追加して記憶する。
その後、処理選択工程Ｓ６１１で利用者が選択した処理が「バックアップ」なら、処理選択工程Ｓ６１１に戻る。処理選択工程Ｓ６１１で利用者が選択した処理が「編集」なら、本体データ生成工程Ｓ６３１へ進む。
【００４７】
本体データ生成工程Ｓ６３１において、本体データ生成部１１１は、表示装置９０１を用いて、本体データ編集画面を表示する。本体データ生成部１１１は、ＣＰＵ９１１を用いて、本体データ受信工程Ｓ６２２で本体データ受信部１４２が出力した本体データあるいは新規作成の雛形となる本体データあるいは空の本体データを入力する。本体データ生成部１１１は、表示装置９０１を用いて、入力した本体データを表示する。利用者は、キーボード９０２を操作して、表示された本体データを編集する。本体データ生成部１１１は、キーボード９０２を用いて、利用者の操作を入力し、編集が終了したら、ＣＰＵ９１１を用いて、利用者によって編集された本体データを出力する。
リンク生成工程Ｓ６３２において、リンク生成部１１２は、ＣＰＵ９１１を用いて、本体データ生成工程Ｓ６３１で本体データ生成部１１１が出力した本体データを識別するリンクデータを生成する。リンク生成部１１２は、ＣＰＵ９１１を用いて、生成したリンクデータを出力する。
生成データ記憶工程Ｓ６３３において、履歴データ記憶部３１０は、ＣＰＵ９１１を用いて、本体データ生成工程Ｓ６３１で本体データ生成部１１１が出力した本体データを入力する。履歴データ記憶部３１０は、磁気ディスク装置９２０を用いて、入力した本体データを、古い履歴データに追加して記憶する。
リンク記憶工程Ｓ６３４において、履歴リンク記憶部３２０は、ＣＰＵ９１１を用いて、リンク生成工程Ｓ６３２でリンク生成部１１２が出力したリンクデータを入力する。履歴リンク記憶部３２０は、磁気ディスク装置９２０を用いて、入力したリンクデータを、生成データ記憶工程Ｓ６３３で履歴データ記憶部３１０が記憶した本体データと対応づけ、古いリンクデータに追加して記憶する。
その後、書込要求送信工程Ｓ６５１へ進む。
【００４８】
リンク読出要求送信工程Ｓ６４１において、リンク読出要求送信部１３１は、通信装置９１５を用いて、制御機器２００に対して、リンク読出要求を送信する。
全リンク受信工程Ｓ６４２において、リンク受信部１３２は、通信装置９１５を用いて、リンク読出要求送信工程Ｓ６４１でリンク読出要求送信部１３１が送信したリンク読出要求に対する応答として制御機器２００が送信したデータを受信する。リンク受信部１３２は、ＣＰＵ９１１を用いて、受信したデータを、複数のリンクデータとして出力する。
【００４９】
リンク検索工程Ｓ６４３において、リンク検索部１５１は、ＣＰＵ９１１を用いて、全リンク受信工程Ｓ６４２でリンク受信部１３２が出力した複数のリンクデータを入力する。リンク検索部１５１は、ＣＰＵ９１１を用いて、履歴リンク記憶部３２０が記憶したリンクデータのなかから、入力した複数のリンクデータと一致するリンクデータを検索し、入力した複数のリンクデータを、履歴リンク記憶部３２０が記憶したリンクデータと一致するものと、一致しないものとに分類する。リンク検索部１５１は、ＣＰＵ９１１を用いて、分類結果を表わすデータを出力する。
入力したリンクデータと一致するリンクデータを履歴リンク記憶部３２０が記憶していない場合には、例えば、その時点で周辺機器１００からアクセスできない他の履歴記憶装置３００がリンクデータ（及びそれのリンクデータによって識別される履歴データ）を記憶している場合や、古いリンクデータとして履歴リンク記憶部３２０から既に削除されている場合などがある。
【００５０】
リンク選択工程Ｓ６４４において、リンク選択部１５２は、ＣＰＵ９１１を用いて、リンク検索工程Ｓ６４３でリンク検索部１５１が出力したデータを入力する。リンク選択部１５２は、表示装置９０１を用いて、リンク選択画面を表示して、利用者に復旧する本体データを選択させる。リンク選択部１５２が表示するリンク選択画面には、例えば、全リンク受信工程Ｓ６４２でリンク受信部１３２が受信したリンクデータすべてについての更新日時などの情報を表示し、そのうち、履歴リンク記憶部３２０が一致するリンクデータを記憶しているものだけを選択できるようにする。履歴リンク記憶部３２０が一致するリンクデータを記憶していないものは、例えば、少し暗く表示するなどして、選択できないことを利用者に認知させる。リンク選択部１５２は、キーボード９０２を用いて、利用者がどのデータを選択したかを入力する。リンク選択部１５２は、ＣＰＵ９１１を用いて、利用者が選択したリンクデータを出力する。
【００５１】
履歴データ取得工程Ｓ６４５において、履歴データ取得部１５３は、ＣＰＵ９１１を用いて、リンク選択工程Ｓ６４４でリンク選択部１５２が出力したリンクデータを入力する。履歴データ取得部１５３は、ＣＰＵ９１１を用いて、履歴データ記憶部３１０が記憶した履歴データのなかから、入力したリンクデータと対応づけれらている履歴データを取得する。履歴データ取得部１５３は、ＣＰＵ９１１を用いて、取得した履歴データを本体データとして出力する。
【００５２】
書込要求送信工程Ｓ６５１において、書込要求送信部１２１は、通信装置９１５を用いて、制御機器２００に対して、書込要求を送信する。
本体データ送信工程Ｓ６５２において、本体データ送信部１２２は、ＣＰＵ９１１を用いて、本体データ生成工程Ｓ６３１で本体データ生成部１１１が出力した本体データ、あるいは、履歴データ取得工程Ｓ６４５で履歴データ取得部１５３が出力した本体データを入力する。本体データ送信部１２２は、通信装置９１５を用いて、制御機器２００に対して、入力した本体データを送信する。
リンク送信工程Ｓ６５３において、リンク送信部１２３は、ＣＰＵ９１１を用いて、リンク生成工程Ｓ６３２でリンク生成部１１２が出力したリンクデータ、あるいは、リンク選択工程Ｓ６４４でリンク選択部１５２が出力したリンクデータを入力する。リンク送信部１２３は、通信装置９１５を用いて、制御機器２００に対して、入力したリンクデータを送信する。
その後、処理選択工程Ｓ６１１に戻る。
【００５３】
この実施の形態における履歴管理システム８００は、
管理対象装置（制御機器２００）と、履歴管理装置（周辺機器１００）と、履歴記憶装置３００とを有する。
上記管理対象装置（制御機器２００）は、データを記憶する記憶装置（不揮発性メモリ）と、本体データ記憶部２１１と、リンク記憶部２２６とを有する。
上記履歴管理装置（周辺機器１００）は、データを処理する処理装置（ＣＰＵ９１１）と、履歴データ取得部１５３とを有する。
上記履歴記憶装置３００は、データを記憶する記憶装置（磁気ディスク装置９２０）と、履歴データ記憶部３１０とを有する。
上記管理対象装置（制御機器２００）の本体データ記憶部２１１は、上記管理対象装置（制御機器２００）の記憶装置（不揮発性メモリ）を用いて、本体データを記憶する。
上記履歴記憶装置３００の履歴データ記憶部３１０は、上記履歴記憶装置３００の記憶装置（磁気ディスク装置９２０）を用いて、上記管理対象装置（制御機器２００）の本体データ記憶部２１１が記憶したことのある本体データを、履歴データとして記憶する。
上記管理対象装置（制御機器２００）のリンク記憶部２２６は、上記管理対象装置（制御機器２００）の記憶装置（不揮発性メモリ）を用いて、上記履歴記憶装置３００の履歴データ記憶部３１０が記憶した履歴データを識別するリンクデータを記憶する。
上記履歴管理装置（周辺機器１００）の履歴データ取得部１５３は、上記履歴管理装置（周辺機器１００）の処理装置（ＣＰＵ９１１）を用いて、上記管理対象装置（制御機器２００）のリンク記憶部２２６が記憶したリンクデータによって識別される履歴データを、上記履歴記憶装置３００の履歴データ記憶部３１０から取得し、取得した履歴データを本体データとして、上記管理対象装置（制御機器２００）の本体データ記憶部２１１に記憶させる。
【００５４】
この実施の形態における履歴管理システム８００によれば、管理対象装置（制御機器２００）のリンク記憶部２２６が記憶したリンクデータに基づいて、履歴データ記憶部３１０が記憶した履歴データを、履歴管理装置（周辺機器１００）の履歴データ取得部１５３が取得し、管理対象装置（制御機器２００）の本体データ記憶部２１１に記憶させるので、管理対象装置（制御機器２００）の記憶装置が、過去の本体データを記憶しておけるほどの記憶容量を有していなくても、管理対象装置（制御機器２００）の本体データ記憶部２１１が記憶した本体データを、容易に過去の状態に復旧させることができる。
また、本体データよりもリンクデータが小さく、管理対象装置（制御機器２００）の記憶装置が、複数のリンクデータを記憶することができるので、管理対象装置（制御機器２００）の本体データ記憶部２１１が記憶した本体データを、過去の複数の時点から選択した時点における状態に復旧させることができる。
更に、リンクデータを管理対象装置（制御機器２００）のリンク記憶部２２６が記憶しているので、履歴管理装置（周辺機器１００）と管理対象装置（制御機器２００）との組み合わせを固定する必要がなく、管理対象装置（制御機器２００）の現地調整や保守管理を容易に行うことができる。
【００５５】
履歴記憶装置３００が複数ある場合、管理対象装置（制御機器２００）がリンクデータを記憶していなければ、その管理対象装置に関する履歴データがどの履歴記憶装置３００に記憶されているかわからないので、すべての履歴記憶装置３００を検索しなければ、その管理対象装置に関するすべての履歴データを見つけたと断言することができない。
これに対し、この実施の形態における履歴管理システム８００によれば、管理対象装置がその管理対象装置に関するすべてのリンクデータを記憶しているので、履歴記憶装置３００を一つずつ検索し、すべてのリンクデータに対応する履歴データを見つけられれば、残りの履歴記憶装置３００を検索する必要はない。したがって、本体データを復旧する処理にかかる時間を短縮することができる。
また、検索できる履歴記憶装置３００の範囲が限られている場合、検索できる範囲では発見できない履歴データが、検索範囲外の履歴記憶装置３００に存在することを、利用者に通知できるので、周辺機器１００が発見できない履歴データによる復旧を利用者が望む場合、他の周辺機器１００を使うなどして、検索できる履歴記憶装置３００の範囲を変えれば、利用者が望む履歴データによる復旧をすることも可能となる。
【００５６】
この実施の形態における履歴管理装置（周辺機器１００）は、更に、本体データ生成部１１１と、リンク生成部１１２とを有する。
上記履歴管理装置（周辺機器１００）の本体データ生成部１１１は、上記履歴管理装置（周辺機器１００）の処理装置（ＣＰＵ９１１）を用いて、本体データを生成する。
上記履歴管理装置（周辺機器１００）のリンク生成部１１２は、上記履歴管理装置（周辺機器１００）の処理装置（ＣＰＵ９１１）を用いて、上記履歴管理装置（周辺機器１００）の本体データ生成部１１１が生成した本体データを識別するリンクデータを生成する。
上記管理対象装置（制御機器２００）の本体データ記憶部２１１は、上記管理対象装置（制御機器２００）の記憶装置（不揮発性メモリ）を用いて、上記履歴管理装置（周辺機器１００）の本体データ生成部１１１が生成した本体データを記憶する。
上記管理対象装置（制御機器２００）のリンク記憶部２２６は、上記管理対象装置（制御機器２００）の記憶装置（不揮発性メモリ）を用いて、上記履歴管理装置（周辺機器１００）のリンク生成部１１２が生成したリンクデータを記憶する。
上記履歴記憶装置３００の履歴データ記憶部３１０は、上記履歴記憶装置３００の記憶装置（磁気ディスク装置９２０）を用いて、上記履歴管理装置（周辺機器１００）の本体データ生成部１１１が生成した本体データを、履歴データとして記憶する。
【００５７】
この実施の形態における履歴管理システム８００によれば、履歴管理装置（周辺機器１００）の本体データ生成部１１１が生成した本体データを、管理対象装置（制御機器２００）の本体データ記憶部２１１と、履歴記憶装置３００の履歴データ記憶部３１０とが記憶するので、履歴記憶装置３００の履歴データ記憶部３１０は、管理対象装置（制御機器２００）の本体データ記憶部２１１が記憶したことのある本体データを履歴データとして記憶することができ、履歴管理装置（周辺機器１００）のリンク生成部１１２が生成した、本体データを識別するリンクデータを、管理対象装置（制御機器２００）のリンク記憶部２２６が記憶するので、管理対象装置（制御機器２００）のリンク記憶部２２６は、履歴記憶装置３００が記憶した履歴データを識別するリンクデータを記憶することができる。
【００５８】
この実施の形態における履歴管理装置（周辺機器１００）は、更に、本体データ取得部（本体データ受信部１４２）を有する。
上記履歴管理装置（周辺機器１００）の本体データ取得部（本体データ受信部１４２）は、上記履歴管理装置（周辺機器１００）の処理装置（ＣＰＵ９１１）を用いて、上記管理対象装置（制御機器２００）の本体データ記憶部２１１が記憶した本体データを取得する。
上記履歴記憶装置３００の履歴データ記憶部３１０は、上記履歴記憶装置３００の記憶装置（磁気ディスク装置９２０）を用いて、上記履歴管理装置（周辺機器１００）の本体データ取得部（本体データ受信部１４２）が取得した本体データを、履歴データとして記憶する。
【００５９】
この実施の形態における履歴管理システム８００によれば、管理対象装置（制御機器２００）の本体データ記憶部２１１が記憶した本体データを、履歴管理装置（周辺機器１００）の本体データ取得部（本体データ受信部１４２）が取得し、履歴記憶装置３００の履歴データ記憶部３１０が履歴データとして記憶するので、履歴記憶装置３００の履歴データ記憶部３１０は、管理対象装置（制御機器２００）の本体データ記憶部２１１が記憶したことのある本体データを、履歴データとして記憶することができる。
これにより、他の履歴管理装置（周辺機器１００）が生成した本体データである場合や、管理対象装置（制御機器２００）の内部で本体データを変更した場合など、管理対象装置（制御機器２００）の本体データ記憶部２１１が現在記憶している本体データを、周辺機器１００がアクセスできる履歴記憶装置３００が履歴データとして記憶していない場合であっても、管理対象装置（制御機器２００）の本体データ記憶部２１１が現在記憶している本体データを、履歴管理装置（周辺機器１００）の本体データ取得部（本体データ受信部１４２）が取得して、履歴記憶装置３００の履歴データ記憶部３１０が記憶することにより、あとで、管理対象装置（制御機器２００）の本体データ記憶部２１１が記憶した本体データを、現時点の状態に復旧することができる。
【００６０】
上記履歴管理装置は、更に、リンク取得部（リンク受信部１３２）と、リンク検索部１５１とを有する。
上記履歴記憶装置３００は、更に、履歴リンク記憶部３２０を有する。
上記履歴記憶装置３００の履歴データ記憶部３１０は、上記履歴記憶装置３００の記憶装置（磁気ディスク装置９２０）を用いて、上記履歴データを複数記憶する。
上記履歴記憶装置３００の履歴リンク記憶部３２０は、上記履歴記憶装置３００の記憶装置（磁気ディスク装置９２０）を用いて、上記履歴記憶装置３００の履歴データ記憶部３１０が記憶した複数の履歴データそれぞれを識別する複数のリンクデータを、上記複数の履歴データそれぞれと対応づけて記憶する。
上記履歴管理装置（周辺機器１００）のリンク取得部（リンク受信部１３２）は、上記履歴管理装置（周辺機器１００）の処理装置（ＣＰＵ９１１）を用いて、上記管理対象装置（制御機器２００）のリンク記憶部２２６が記憶したリンクデータを取得する。
上記履歴管理装置（周辺機器１００）のリンク検索部１５１は、上記履歴管理装置（周辺機器１００）の処理装置（ＣＰＵ９１１）を用いて、上記履歴記憶装置３００の履歴リンク記憶部３２０が記憶した複数のリンクデータのなかから、上記履歴管理装置（周辺機器１００）のリンク取得部（リンク受信部１３２）が取得したリンクデータと同一のリンクデータを検索する。
上記履歴管理装置（周辺機器１００）の履歴データ取得部１５３は、上記履歴管理装置（周辺機器１００）の処理装置（ＣＰＵ９１１）を用いて、上記履歴記憶装置３００の履歴データ記憶部３１０が記憶した複数の履歴データのなかから、上記履歴管理装置（周辺機器１００）のリンク検索部１５１が検索したリンクデータと対応づけられた履歴データを取得する。
【００６１】
この実施の形態における履歴管理システム８００によれば、管理対象装置（制御機器２００）のリンク記憶部２２６が記憶したリンクデータを、履歴管理装置（周辺機器１００）のリンク取得部（リンク受信部１３２）が取得し、履歴記憶装置３００の履歴リンク記憶部３２０が記憶したリンクデータのなかから、同一のリンクデータを検索し、対応する履歴データを履歴データ取得部１５３が取得するので、履歴記憶装置３００が他の制御機器２００についての履歴データ及びリンクデータを記憶している場合であっても、制御機器２００に関係のある履歴データを容易に取得することができる。
【００６２】
上記管理対象装置（制御機器２００）のリンク記憶部２２６は、上記管理対象装置（制御機器２００）の記憶装置（不揮発性メモリ）を用いて、複数のリンクデータを記憶する。
上記履歴管理装置（周辺機器１００）のリンク取得部（リンク受信部１３２）は、上記履歴管理装置（周辺機器１００）の処理装置（ＣＰＵ９１１）を用いて、上記管理対象装置（制御機器２００）のリンク記憶部２２６が記憶した複数のリンクデータを取得する。
上記履歴管理装置（周辺機器１００）のリンク選択部１５２は、上記履歴管理装置（周辺機器１００）の処理装置（ＣＰＵ９１１）を用いて、上記履歴管理装置（周辺機器１００）のリンク取得部（リンク受信部１３２）が取得した複数のリンクデータのなかから一つのリンクデータを選択する。
上記履歴管理装置（周辺機器１００）の履歴データ取得部１５３は、上記履歴管理装置（周辺機器１００）の処理装置（ＣＰＵ９１１）を用いて、上記履歴管理装置（周辺機器１００）のリンク選択部１５２が選択した一つのリンクデータによって識別される履歴データを、上記履歴記憶装置３００の履歴データ記憶部３１０から取得する。
【００６３】
この実施の形態における履歴管理システム８００によれば、管理対象装置（制御機器２００）のリンク記憶部２２６が記憶した複数のリンクデータを、リンク取得部（リンク受信部１３２）が取得し、リンク選択部１５２がそのなかから一つのリンクデータを選択し、対応する履歴データを履歴データ取得部１５３が取得するので、管理対象装置（制御機器２００）の本体データ記憶部２１１が記憶した本体データを、過去の複数の時点のなかから選択した一つの時点における状態に復旧することができる。
【００６４】
この実施の形態における履歴管理装置（周辺機器１００）は、更に、データを表示する表示装置９０１と、データを入力する入力装置（キーボード９０２）とを有する。
上記履歴管理装置（周辺機器１００）のリンク選択部１５２は、上記履歴管理装置（周辺機器１００）の表示装置９０１を用いて、上記履歴管理装置（周辺機器１００）のリンク取得部（リンク受信部１３２）が取得した複数のリンクデータを表わす情報を表示し、上記履歴管理装置（周辺機器１００）の入力装置（キーボード９０２）を用いて、表示した情報に基づいて利用者が選択した一つのリンクデータを表わす情報を入力し、入力した情報に基づいて、上記履歴管理装置（周辺機器１００）のリンク取得部（リンク受信部１３２）が取得した複数のリンクデータのなかから一つのリンクデータを選択する。
【００６５】
この実施の形態における履歴管理システム８００によれば、リンク選択部１５２が複数のリンクデータを表わす情報を表示し、表示された情報に基づいて利用者が選択したリンクデータを表わす情報を入力し、入力した情報に基づいて一つのリンクデータを選択するので、復旧する時点を利用者が選ぶことができる。
【００６６】
上記管理対象装置（制御機器２００）の本体データ記憶部２１１は、上記管理対象装置（制御機器２００）の記憶装置（不揮発性メモリ）を用いて、一つの本体データを記憶し、新たな本体データを、古い本体データに上書きして記憶する。
【００６７】
この実施の形態における履歴管理システム８００によれば、管理対象装置（制御機器２００）の記憶装置（不揮発性メモリ）の記憶容量が小さく、本体データを一つしか記憶できない場合であっても、管理対象装置（制御機器２００）の本体データ記憶部２１１が記憶した本体データを、容易に過去の状態に復旧させることができる。
【００６８】
上記管理対象装置（制御機器２００）のリンク記憶部２２６は、上記管理対象装置（制御機器２００）の記憶装置（不揮発性メモリ）を用いて、所定の数のリンクデータを記憶し、記憶したリンクデータの数が上記所定の数に達した場合に、新たなリンクデータを、一番古いリンクデータに上書きして記憶する。
【００６９】
この実施の形態における履歴管理システム８００によれば、管理対象装置（制御機器２００）のリンク記憶部２２６が、リングバッファ形式でリンクデータを記憶するので、管理対象装置（制御機器２００の記憶装置（不揮発性メモリ）の記憶容量が小さく、リンクデータを所定の数しか記憶できない場合であっても、管理対象装置（制御機器２００）の本体データ記憶部２１１が記憶した本体データを、過去の複数の時点から選択した時点における状態に復旧することができる。
【００７０】
この実施の形態における履歴管理装置（周辺機器１００）は、コンピュータを履歴管理装置（周辺機器１００）として機能させるプログラムを、コンピュータが実行することにより実現することができる。
【００７１】
この実施の形態における履歴管理装置（周辺機器１００）としてコンピュータを機能させるコンピュータプログラムによれば、管理対象装置（制御機器２００）の記憶装置が、過去の本体データを記憶しておけるほどの記憶容量を有していなくても、管理対象装置（制御機器２００）の本体データ記憶部２１１が記憶した本体データを、容易に過去の状態に復旧させることができる履歴管理システム８００を実現することができる。
【００７２】
この実施の形態における履歴管理システム８００が、履歴を管理する履歴管理方法は、以下の工程を有する。
上記管理対象装置（制御機器２００）が、本体データを記憶する。
上記履歴記憶装置３００が、上記管理対象装置（制御機器２００）が記憶したことのある本体データを、履歴データとして記憶する。
上記管理対象装置（制御機器２００）が、上記履歴記憶装置３００が記憶した履歴データを識別するリンクデータを記憶する。
上記履歴管理装置（周辺機器１００）が、上記管理対象装置（制御機器２００）が記憶したリンクデータによって識別される履歴データを、上記履歴記憶装置３００から取得し、上記管理対象装置（制御機器２００）に本体データとして記憶させる。
【００７３】
この実施の形態における履歴管理方法によれば、管理対象装置（制御機器２００）の記憶装置が、過去の本体データを記憶しておけるほどの記憶容量を有していなくても、管理対象装置（制御機器２００）の本体データ記憶部２１１が記憶した本体データを、容易に過去の状態に復旧させることができる。
【００７４】
以上説明した履歴管理システム８００は、制御機器２００（管理対象装置）と周辺機器（履歴管理装置及び履歴記憶装置３００）とが連携して、制御機器２００（管理対象装置）に対する履歴管理をする。
【００７５】
以上説明した履歴管理システム８００によれば、制御機器２００（管理対象装置）の過去のデータ（本体データ）を、制御機器２００（管理対象装置）と接続された周辺機器（履歴記憶装置３００）内に格納されている履歴データを使って復元することで、メモリ容量の少ない制御機器２００（管理対象装置）に対する履歴管理を、大容量メモリを持つ周辺機器（履歴記憶装置３００）との連携により実現することができる。
【００７６】
以上説明した履歴管理システム８００は、履歴管理の対象となっている制御機器２００（管理対象装置）と、制御機器２００と接続し連携して制御機器２００の履歴管理を行う周辺機器１００（履歴管理装置）と、周辺機器１００からアクセスでき制御機器２００の履歴データを保持している履歴データ格納部（履歴記憶装置３００）とを有する。
制御機器２００は、履歴管理対象となる制御機器であり、周辺機器１００からの要求（リンク読出要求）により履歴リンクデータ格納部（リンク記憶部２２６）から履歴リンクデータ（リンクデータ）を読み出して周辺機器１００側へ送出する履歴リンクデータ読み出し部（リンク読出部２３２、リンク送信部２３３）と、制御機器２００の現在の制御データ本体（本体データ）を保持しているデータ本体格納部（本体データ記憶部２１１）と、制御機器２００の過去の履歴データへのリンク情報（リンクデータ）を格納しておく履歴リンクデータ格納部（リンク記憶部２２６）と、周辺機器１００からの要求（書込要求）により送信された履歴リンクデータを履歴リンクデータ格納部（リンク記憶部２２６）へ書き込む履歴リンクデータ書き込み部（リンク更新部２２５）を有する。
周辺機器１００は、履歴管理対象としている制御機器２００から履歴リンクデータ（リンクデータ）を読み出す読み出し処理部（リンク受信部１３２）と、読み出された複数の履歴リンクデータを履歴データ本体へのリンク情報として解釈し、履歴データ検索部（リンク検索部１５１）へ履歴データへのリンク情報のリストを渡す復元処理部（リンク受信部１３２）と、周辺機器１００からアクセス可能な履歴データ格納部（履歴記憶装置３００）に履歴データ本体が存在するかどうかを確認する履歴データ検索部（リンク検索部１５１）と、履歴データ本体が存在する複数の履歴リンクデータの中から実際に復元する対象のデータを選択する復元データ選択部（リンク選択部１５２）とを有する。
更に、周辺機器１００は、制御機器２００へ書き込むためにデータ（本体データ）を作成・編集するデータ編集部（本体データ生成部１１１）と、周辺機器１００の機器固有のＩＤを取得する周辺機器ＩＤ取得部（リンク生成部１１２）と、周辺機器１００の時刻情報を取得できる時計部と、時計部が取得した時刻情報を元に周辺機器１００内で一意なデータＩＤを作成するデータＩＤ作成部（リンク生成部１１２）と、データ編集部（本体データ生成部１１１）から受け取るデータ本体と周辺機器ＩＤ取得部から受け取る周辺機器ＩＤとデータＩＤ作成部から受け取るデータＩＤと時計部から受け取る時刻情報となどから履歴データ本体と関連付けた履歴リンクデータ（リンクデータ）を作成する履歴データ作成部（リンク生成部１１２）と、履歴データ作成部（リンク生成部１１２）で作成された履歴データ本体（本体データ）と履歴リンクデータ（リンクデータ）とを、履歴管理対象である制御機器２００へ書き込む書き込み処理部（書込要求送信部１２１、本体データ送信部１２２、リンク送信部１２３）とを有する。
履歴データ格納部（履歴記憶装置３００）は、周辺機器１００内のハードディスク等のデータストレージ（記憶装置）、もしくは周辺機器１００からアクセスが可能なネットワーク８２０内の全てのデータストレージ（記憶装置）内にある、履歴管理対象である制御機器２００に関する履歴データを格納している。
【００７７】
制御機器２００のデータ本体格納部（本体データ記憶部２１１）は、制御機器２００が動作するためのデータ（本体データ）が格納される。
制御機器２００の履歴リンクデータ格納部（リンク記憶部２２６）には、制御機器２００に過去に格納されていたデータ本体（履歴データ）へのリンク情報（リンクデータ）がリングバッファの形式で格納されている。リンクデータは、リンクデータを識別する番号と、データ本体（履歴データ）が格納されている可能性のある周辺機器１００を特定するためのＩＤ（周辺機器ＵＵＩＤ）と、周辺機器１００内で一意にデータ本体（履歴データ）を特定するためのデータＩＤと、当該データが履歴管理対象である制御機器２００に書き込まれた時刻情報となどからなり、履歴リンクデータ格納部（リンク記憶部２２６）にはこれらのリンクデータが、例えば、制御機器２００内の時刻を基準に、制御機器２００が時計を持たない場合は各リンクデータの時刻を基準に時系列で複数格納されている。
制御機器２００の読み出し処理部（リンク読出部２３２、リンク送信部２３３、本体データ読出部２４２、本体データ送信部２４３）は、周辺機器１００の読み出し処理部（リンク読出要求送信部１３１、データ読出要求送信部１４１）より、データ本体（本体データ）もしくは履歴リンクデータ（リンクデータ）の読み出し要求（リンク読出要求、データ読出要求）が出されると、データ本体格納部（本体データ記憶部２１１）もしくは履歴リンクデータ格納部（リンク記憶部２２６）からデータ本体（本体データ）もしくは履歴リンクデータ（リンクデータ）を取り出し、周辺機器１００へ送出する。
制御機器２００の書き込み処理部（本体データ更新部２２３、リンク更新部２２５）は、周辺機器１００の書き込み処理部（書込要求送信部１２１、本体データ送信部１２２、リンク送信部１２３）より、データ本体（本体データ）もしくは履歴リンクデータ（リンクデータ）の書き込みが実行されると、データ本体格納部（本体データ記憶部２１１）もしくは履歴リンクデータ格納部（リンク記憶部２２６）に、データ本体（本体データ）もしくは履歴リンクデータ（リンクデータ）を渡す。
【００７８】
周辺機器１００の読み出し処理部（リンク受信部１３２、本体データ受信部１４２）は、制御機器２００から読み出したデータ本体（本体データ）を履歴データ格納部（履歴記憶装置３００）へ渡し、また、制御機器２００から読み出した履歴リンクデータ（リンクデータ）のリストを復元処理部へ渡す。前者は、制御機器２００内にあるデータ本体（本体データ）を、周辺機器１００によって編集あるいはバックアップをするタイミングと同期して実施され、将来の制御機器２００のデータ復元要求に備えて、読み出しを行ったその時点の制御機器２００内のデータ（本体データ）を、大容量である履歴データ格納部（履歴記憶装置３００）へ退避させておく意味を持つ。
周辺機器１００の復元処理部（リンク受信部１３２）は、対象制御機器２００の履歴復元機能実行時、読み出し処理部で読み出された履歴リンクデータのリストを受け取り、各々の履歴リンクデータの指し示すデータ本体が履歴データ格納部（履歴記憶装置３００）に存在するかどうかを確認するため履歴データ検索部（リンク検索部１５１）へリストを渡し、データ本体が見つからず復元が不可能な履歴（履歴データ格納部（履歴記憶装置３００）にデータ本体が存在しなかった履歴）についてはフラグを立てて、利用者に復元対象を選択させるため、復元データ選択部（リンク選択部１５２）へ履歴リンクデータのリストを渡す。利用者が復元対象データを特定すると、今度は該当データへのリンク情報のみを履歴データ検索部（履歴データ取得部１５３）へ渡して、履歴データ格納部（履歴記憶装置３００）からデータ本体（履歴データ）を読み出す。読み出されたデータ本体は、書き込み処理部（本体データ送信部１２２）へ渡されて、制御機器２００へ書き込まれる。
周辺機器１００の復元データ選択部（リンク選択部１５２）は、復元処理部（リンク検索部１５１）から渡された履歴リンクデータのリストのうち、フラグが立っている履歴（データ本体が見つからなかった履歴）はマスク等を施して選択できないようにして、利用者に復元対象履歴を選択させる。
周辺機器１００の履歴データ検索部（リンク検索部１５１、履歴データ取得部１５３）は、復元処理部（リンク受信部１３２）から渡された各履歴データへのリンク情報それぞれについて、履歴データ格納部（履歴記憶装置３００）にデータ本体が存在するかどうかを確認する。またデータ本体が存在するものについては、履歴データ格納部（履歴記憶装置３００）からデータ本体を取得する。
【００７９】
周辺機器１００のデータ編集部（本体データ生成部１１１）では、利用者が制御機器２００用のデータ本体を作成・編集を行い、制御機器２００へ書き込むタイミングで、編集したデータ本体を履歴リンクデータ作成部（リンク生成部１１２）と書き込み処理部（本体データ送信部１２２）へ渡す。
周辺機器１００の周辺機器ＩＤ取得部は、周辺機器１００を一意に特定できるＩＤ（ＭＡＣアドレスなど）を周辺機器１００のシステムより取得する。
周辺機器１００のデータＩＤ作成部は、時計部から時刻を受け取り、履歴リンクデータ作成部（リンク生成部１１２）からデータ本体を受け取り、その二つの情報から周辺機器１００内で一意であるデータＩＤを作成する。
周辺機器１００の時計部では、周辺機器１００の内部で保持している時刻情報（ミリ秒オーダ）を取得して、履歴リンクデータ作成部（リンク生成部１１２）と、データＩＤ作成部へ渡す。
周辺機器１００の履歴リンクデータ作成部（リンク生成部１１２）は、周辺機器ＩＤ取得部から得られた周辺機器ＩＤと、データＩＤ作成部から得られたデータＩＤと、時計部から得られた時刻情報の三つの情報から、データ本体を特定するための履歴リンクデータ（リンクデータ）を作成する。作成した履歴リンクデータは書き込み処理部（リンク送信部１２３）へ渡される。
周辺機器１００の書き込み処理部（書込要求送信部１２１、本体データ送信部１２２、リンク送信部１２３）は、データ本体を制御機器２００へ書き込む際と、制御機器２００のデータ本体を復元させる際に動作する。前者の場合は、履歴リンクデータ作成部（リンク生成部１１２）によって作成された履歴リンクデータ（リンクデータ）と、データ編集部（本体データ生成部１１１）によって編集されたデータ本体（本体データ）とをあわせて、制御機器２００へ書き込む。
【００８０】
以上説明した履歴管理システム８００によれば、制御機器２００（管理対象装置）が、制御に用いられるデータ（本体データ）を一組格納するのに必要なだけのメモリしか積んでいない場合であっても、現地調整フェーズや、保守フェーズの異常発生時において、例えば、一時間前のデータや一週間前のデータなど、制御機器２００（管理対象装置）内のデータ（本体データ）を、制御機器２００（管理対象装置）が過去に正常に動作していた時点のデータに、簡単に戻すことができる。
【００８１】
以上説明した履歴管理システム８００によれば、保護用データとして過去複数回分のバックアップデータ（履歴データ）を保持できるので、履歴管理として二世代以上前のデータ（本体データ）を復元することができる。
また、バックアップデータ（履歴データ）を保管する場所が、制御機器２００から独立した履歴記憶装置３００なので、過去何世代もの履歴データを保存しておくのに十分な記憶容量を容易に確保することができ、履歴データを保存するためのコストを抑えることができる。
【００８２】
以上説明した履歴管理システム８００によれば、履歴の情報のうち、復元すべきデータの本体である履歴データを、履歴データ格納側である履歴記憶装置３００が記憶し、履歴データへのリンク情報であるリンクデータを、復元対象である制御機器２００側が記憶しているので、復元対象である制御機器２００と履歴データ格納側である周辺機器とが一対一に対応した組合せである必要がなく、Ｎ対Ｍの組合せでよいので、制御機器２００と周辺機器との間の組合せに制約がなく、任意の周辺機器において履歴管理を実現できる。
【００８３】
以上説明した履歴管理システム８００において、データ本体（本体データ）を作成し、履歴管理対象となる制御機器２００へ書き込む際の動作は、以下の手順を有する。
まず、周辺機器１００を利用して、データ編集部（本体データ生成部１１１）にて利用者によってデータ本体（本体データ）が作成・編集され、制御機器２００への書き込み機能が実行（選択）される。
データ編集部（本体データ生成部１１１）は、データ本体を履歴リンクデータ作成部（リンク生成部１１２）と書き込み処理部（本体データ送信部１２２）へ送る。履歴リンクデータ作成部（リンク生成部１１２）では、データ本体をデータＩＤ作成部へ渡し、データＩＤ作成部では時計部から取得した現在時刻とデータ本体から、データＩＤを作成して、履歴リンクデータ作成部（リンク生成部１１２）へ渡す。
また、周辺機器ＩＤ取得部によって周辺機器ＩＤを取得しておく。履歴リンクデータ作成部（リンク生成部１１２）は、周辺機器ＩＤとデータＩＤと現在時刻情報の三つから、履歴リンクデータ（リンクデータ）を作成し、書き込み処理部（リンク送信部１２３）へ渡す。
書き込み処理部（書込要求送信部１２１、本体データ送信部１２２、リンク送信部１２３）では、データ編集部（本体データ生成部１１１）から渡されたデータ本体（本体データ）と、履歴リンクデータ作成部（リンク生成部１１２）から渡された履歴リンクデータ（リンクデータ）とを、履歴管理対象となっている制御機器２００へ書き込む。
更に、将来、制御機器２００において復元対象データとなる可能性があるため、制御機器２００へ書き込んだデータ（本体データ）を履歴データ格納部（履歴記憶装置３００）へも保存しておく。
制御機器２００の書き込み処理部（書込要求受信部２２１、本体データ受信部２２２、本体データ更新部２２３、リンク受信部２２４、リンク更新部２２５）では、周辺機器１００から書き込まれたデータ本体（本体データ）と履歴リンクデータ（リンクデータ）とを受け取り、データ本体は、データ本体格納部（本体データ記憶部２１１）へ上書きされ、履歴リンクデータは、履歴リンクデータ格納部（リンク記憶部２２６）へ追加される。
【００８４】
以上説明した履歴管理システム８００において、履歴管理対象となる制御機器２００からデータを読み出す際の動作は、以下の手順を有する。
まず、周辺機器１００を利用して、制御機器２００からの読み出し機能が実行（選択）される。
周辺機器１００の読み出し処理部（データ読出要求送信部１４１）は、制御機器２００の読み出し処理部（データ読出要求受信部２４１）に対して、データ本体（本体データ）の読出しを依頼する。制御機器２００の読み出し処理部（本体データ読出部２４２、本体データ送信部２４３）は、データ本体格納部（本体データ記憶部２１１）からデータ本体（本体データ）を取得し、周辺機器１００へ送出する。データ本体を受け取った周辺機器１００の読み出し処理部（本体データ受信部１４２）は、周辺機器１００のメモリ（記憶装置）に読み出したデータを展開するとともに、将来、制御機器２００において復元対象データとなる可能性があるため、制御機器２００から読み出したデータを履歴データ格納部（履歴記憶装置３００）へも保存しておく。
【００８５】
以上説明した履歴管理システム８００によれば、履歴管理対象の制御機器２００（管理対象装置）に履歴リンクデータ（リンクデータ）のみを格納しておき、履歴データ本体を周辺機器１００（履歴管理装置）からアクセス可能な履歴データ格納部（履歴記憶装置３００）へ保管しているため、メモリ容量の少ない制御機器２００についても複数世代の履歴管理が可能となる。
また、周辺機器１００側ではなく、対象制御機器２００内に履歴リンクデータを格納しているため、対象制御機器２００と履歴管理を行う周辺機器１００を一対一に決めておく必要はなく、任意の周辺機器１００を使用して、履歴管理を行うことが可能となる。
また、履歴管理対象の制御機器２００に対してデータ（本体データ）の書き込み時に、データ本体と共に履歴データへのリンク情報である履歴リンクデータを書き込むようにしているので、履歴復元時に、対象制御機器２００内の履歴リンクデータによって、復元したい履歴データ本体を特定することが出来る。
【００８６】
また、対象制御機器２００に対するデータの書き込み時、および対象制御機器２００からのデータの読み出し時のタイミングで、データ本体を周辺機器１００からアクセス可能な履歴データ格納部（履歴記憶装置３００）へ保存するようにしているので、対象制御機器２００内の履歴リンクデータに残っていて、周辺機器側（履歴記憶装置３００）にデータ本体が保存されておらずに復元不能となるケース、またはデータ本体が失われて復元不能となるケースを、減少させることができる。
また、履歴管理対象の制御機器２００の履歴データの復元時に、対象制御機器２００内の履歴リンクデータ各々について、周辺機器１００からアクセス可能な履歴データ格納部（履歴記憶装置３００）に、履歴データ本体が存在するかどうかをチェックしているので、復元が可能である履歴データを区別して利用者に提示し、その中から復元対象データを選択することができる。
【００８７】
実施の形態２．
実施の形態２について、図８を用いて説明する。
この実施の形態における履歴管理システム８００の全体構成、周辺機器１００、制御機器２００、履歴記憶装置３００の機能ブロックの構成は、実施の形態１で説明したものと同様なので、ここでは説明を省略する。
【００８８】
リンク生成部１１２は、リンクデータの生成にあたり、ＣＰＵ９１１を用いて、本体データ及びリンクデータを記憶させる履歴記憶装置３００を識別する識別データ（例えば、ＵＵＩＤ、ＩＰアドレス、ＭＡＣアドレスなど。以下「記憶識別データ」と呼ぶ。）を取得し、取得した識別データを含むリンクデータを生成する。なお、履歴記憶装置３００が特定の周辺機器１００以外からアクセスできない場合には、記憶識別データとして、履歴記憶装置３００を識別する識別データに代えて、履歴記憶装置３００にアクセスできる周辺機器１００を識別する識別データを用いてもよい。
リンク生成部１１２がリンクデータに含めた記憶識別データによって識別される履歴記憶装置３００において、履歴データ記憶部３１０が、磁気ディスク装置９２０を用いて、本体データ生成部１１１が生成した本体データを履歴データとして記憶し、履歴リンク記憶部３２０が、磁気ディスク装置９２０を用いて、リンク生成部１１２が生成したリンクデータを記憶する。
【００８９】
リンク生成部１１２が生成したリンクデータは、リンク送信部１２３が制御機器２００に対して送信し、リンク受信部２２４が受信して、リンク更新部２２５がリンク記憶部２２６に追加して記憶させる。
リンク読出要求受信部２３１がリンク読出要求を受信すると、リンク記憶部２２６が記憶したリンクデータをリンク読出部２３２が読み出して、リンク送信部２３３が周辺機器１００に対して送信し、リンク受信部１３２が受信する。
【００９０】
リンク検索部１５１は、ＣＰＵ９１１を用いて、リンク受信部１３２が受信した複数のリンクデータを入力する。リンク検索部１５１は、ＣＰＵ９１１を用いて、入力した複数のリンクデータそれぞれについて、リンクデータに含まれる記憶識別データを取得する。リンク検索部１５１は、ＣＰＵ９１１を用いて、取得した記憶識別データに基づいて、そのリンクデータ（及び対応する履歴データ）を記憶した履歴記憶装置３００を判別する。リンク検索部１５１は、ＣＰＵ９１１を用いて、判別した履歴記憶装置３００にアクセスできるか否かを判定する。
判別した履歴記憶装置３００にアクセスできると判定した場合、リンク検索部１５１は、ＣＰＵ９１１を用いて、判別した履歴記憶装置３００の履歴リンク記憶部３２０を検索して、同一のリンクデータを履歴リンク記憶部３２０が記憶しているか判定する。
判別した履歴記憶装置３００の履歴リンク記憶部３２０が同一のリンクデータを記憶していないと判定した場合、および、判別した履歴記憶装置３００にアクセスできないと判定した場合、判別した履歴記憶装置３００以外の履歴記憶装置３００に周辺機器１００がアクセスできるのであれば、リンク検索部１５１は、ＣＰＵ９１１を用いて、他の履歴記憶装置３００の履歴リンク記憶部３２０を検索して、同一のリンクデータを履歴リンク記憶部３２０が記憶しているか判定する。なお、判別した履歴記憶装置３００の履歴リンク記憶部３２０が同一のリンクデータを記憶していないと判定した場合、および、判別した履歴記憶装置３００にアクセスできないと判定した場合、リンク検索部１５１は、他の履歴記憶装置３００を検索せず、同一のリンクデータを記憶している履歴リンク記憶部３２０がないと判定してもよい。
【００９１】
図８は、この実施の形態における周辺機器１００が、制御機器２００の本体データを管理する履歴管理処理のうち、利用者が選択した処理が「復旧」である場合の処理の部分の流れの一例を示すフローチャート図である。
なお、実施の形態１で説明した履歴管理処理と共通する部分については、同一の符号を付し、ここでは説明を省略する。
【００９２】
リンク検索工程Ｓ６４３は、繰り返し開始工程Ｓ６４３ａ〜繰り返し終了工程Ｓ６４３ｅの処理を含む。
繰り返し開始工程Ｓ６４３ａにおいて、リンク検索部１５１は、ＣＰＵ９１１を用いて、全リンク受信工程Ｓ６４２でリンク受信部１３２が出力した複数のリンクデータを入力する。リンク検索部１５１は、入力した複数のリンクデータそれぞれについて、繰り返し終了工程Ｓ６４３ｅまでの処理を繰り返す。
履歴記憶装置判定工程Ｓ６４３ｂにおいて、リンク検索部１５１は、ＣＰＵ９１１を用いて、処理中のリンクデータに含まれる記憶識別データを取得する。リンク検索部１５１は、ＣＰＵ９１１を用いて、取得した記憶識別データに基づいて、記憶識別データによって識別される履歴記憶装置３００にアクセスできるか否かを判定する。
記憶識別データによって識別される履歴記憶装置３００にアクセスできると判定した場合、第一リンク検索工程Ｓ６４３ｃへ進む。
記憶識別データによって識別される履歴記憶装置３００にアクセスできないと判定した場合、第二リンク検索工程Ｓ６４３ｄへ進む。
【００９３】
第一リンク検索工程Ｓ６４３ｃにおいて、リンク検索部１５１は、ＣＰＵ９１１を用いて、履歴記憶装置判定工程Ｓ６４３ｂで取得した記憶識別データによって識別される履歴記憶装置３００の履歴リンク記憶部３２０を検索して、処理中のリンクデータと同一のリンクデータを履歴リンク記憶部３２０が記憶しているか判定する。
処理中のリンクデータと同一のリンクデータを履歴リンク記憶部３２０が記憶していると判定した場合、リンク検索部１５１は、ＲＡＭ９１４を用いて、履歴記憶装置判定工程Ｓ６４３ｂで取得した記憶識別データを、リンクデータを発見した履歴記憶装置３００を表わすデータとして記憶する。その後、繰り返し終了工程Ｓ６４３ｅへ進む。
処理中のリンクデータと同一のリンクデータを履歴リンク記憶部３２０が記憶していないと判定した場合、第二リンク検索工程Ｓ６４３ｄへ進む。
【００９４】
第二リンク検索工程Ｓ６４３ｄにおいて、リンク検索部１５１は、ＣＰＵ９１１を用いて、履歴記憶装置判定工程Ｓ６４３ｂで取得した記憶識別データによって識別される履歴記憶装置３００以外で、周辺機器１００からアクセスできる履歴記憶装置３００の履歴リンク記憶部３２０を検索して、処理中のリンクデータと同一のリンクデータを履歴リンク記憶部３２０が記憶しているか判定する。
処理中のリンクデータと同一のリンクデータを履歴リンク記憶部３２０が記憶していると判定した場合、リンク検索部１５１は、ＣＰＵ９１１を用いて、検索した履歴記憶装置３００を識別する識別データを取得し、ＲＡＭ９１４を用いて、取得した識別データを、リンクデータを発見した履歴記憶装置３００を表わすデータとして記憶する。
処理中のリンクデータと同一のリンクデータを履歴リンク記憶部３２０が記憶していないと判定した場合、周辺機器１００からアクセスできる履歴記憶装置３００が他にあれば、第二リンク検索工程Ｓ６４３ｄを繰り返す。周辺機器１００からアクセスできる履歴記憶装置３００が他にない場合、そのリンクデータと同一のリンクデータを記憶している履歴リンク記憶部３２０がないと判定し、ＲＡＭ９１４を用いて、判定結果を表わすデータを記憶する。
【００９５】
繰り返し終了工程Ｓ６４３ｅにおいて、リンク検索部１５１は、ＣＰＵ９１１を用いて、未処理のリンクデータがあるか否かを判定する。
未処理のリンクデータがあると判定した場合、次のリンクデータについて、履歴記憶装置判定工程Ｓ６４３ｂからの処理を繰り返す。
未処理のリンクデータがないと判定した場合、リンク検索部１５１は、ＣＰＵ９１１を用いて、第一リンク検索工程Ｓ６４３ｃ及び第二リンク検索工程Ｓ６４３ｄで記憶したデータに基づいて、入力した複数のリンクデータを分類し、分類結果を表わすデータを出力する。
【００９６】
この実施の形態における履歴管理システム８００は、複数の履歴記憶装置３００を有する。
上記管理対象装置（制御機器２００）のリンク記憶部２２６は、上記管理対象装置（制御機器２００）の記憶装置（不揮発性メモリ）を用いて、上記リンクデータによって識別される履歴データを記憶した履歴記憶装置３００を識別する記憶識別データを含むリンクデータを記憶する。
上記履歴管理装置（周辺機器１００）のリンク検索部１５１は、上記履歴管理装置（周辺機器１００）の処理装置（ＣＰＵ９１１）を用いて、上記履歴管理装置（周辺機器１００）のリンク取得部（リンク受信部１３２）が取得したリンクデータに含まれる記憶識別データに基づいて、記憶識別データによって識別される履歴記憶装置３００の履歴リンク記憶部３２０が記憶した複数のリンクデータのなかから、上記履歴管理装置（周辺機器１００）のリンク取得部（リンク受信部１３２）が取得したリンクデータと同一のリンクデータを検索する。
【００９７】
この実施の形態における履歴管理システム８００によれば、本体データ生成部１１１が生成した本体データ及びリンク生成部１１２が生成したリンクデータを記憶した履歴記憶装置３００を識別する記憶識別データを含むリンクデータを、リンク生成部１１２が生成し、リンクデータに含まれる記憶識別データに基づいて、リンク検索部１５１がリンクデータを検索するので、多数の履歴記憶装置３００がある場合であっても、ほとんどの場合、リンク検索部１５１が最初に検索した履歴記憶装置３００が、同一のリンクデータを記憶している。したがって、リンクデータの検索にかかる時間を短縮することができる。
【００９８】
以上説明した履歴管理システム８００において、履歴管理対象の制御機器２００内のデータを過去のデータに復元する際の動作は、以下の手順を有する。
まず、周辺機器１００を利用して、利用者によって制御機器２００内の過去のデータを復元する機能が実行（選択）される。
周辺機器１００の読み出し処理部（リンク読出要求送信部１３１）は、制御機器２００の読み出し処理部（リンク読出要求受信部２３１）に対して、履歴リンクデータの読み出しを依頼する。制御機器２００の読み出し処理部（リンク読出部２３２、リンク送信部２３３）は、履歴リンクデータ格納部（リンク記憶部２２６）から履歴リンクデータ（リンクデータ）のリストを取得し、周辺機器１００へ送出する。履歴リンクデータを受け取った周辺機器１００の読み出し処理部（リンク受信部１３２）は、復元処理部へ履歴リンクデータを渡す。
復元処理部では、受け取った履歴リンクデータのリストを履歴データ検索部（リンク検索部１５１）に渡す。履歴データ検索部（リンク検索部１５１）では、履歴リンクデータリストが示す各データ本体が、周辺機器１００からアクセス可能な範囲の履歴データ格納部（履歴記憶装置３００）に存在するかどうかをチェックする。
なお、この際、履歴データ検索部（リンク検索部１５１）では、まず履歴リンクデータ内の周辺機器ＩＤと自身の周辺機器ＩＤとが同一であるかどうか確認する。同一であれば自身が管理している履歴データ格納部（履歴記憶装置３００）から検索を開始する。履歴データ検索部（リンク検索部１５１）は、チェック完了後、リンクデータ毎のチェック結果を復元処理部へ返す。復元処理部（リンク選択部１５２）では、履歴リンクデータのうち、データ本体が存在しないものをマスク表示するなどして、利用者に復元対象の履歴を選択させる。利用者はリストの中から復元対象履歴データを選択する。
復元処理部（リンク選択部１５２）は、選択された対象データ本体を取得するため、履歴データ検索部（履歴データ取得部１５３）にデータ本体の取得を依頼する。履歴データ検索部（履歴データ取得部１５３）は、履歴データ格納部（履歴記憶装置３００）から対象データ本体（履歴データ）を取得して復元処理部へ返す。
復元処理部は、対象履歴データ本体と、対応する履歴リンクデータとを、書き込み処理部（本体データ送信部１２２、リンク送信部１２３）へ送る。書き込み処理部（本体データ送信部１２２、リンク送信部１２３）では、渡されたデータ本体（本体データ）と履歴リンクデータ（リンクデータ）を履歴管理対象となっている制御機器２００へ書き込む。
制御機器２００の書き込み処理部（本体データ受信部２２２、本体データ更新部２２３、リンク受信部２２４、リンク更新部２２５）では、周辺機器１００から書き込まれたデータ本体（本体データ）と履歴リンクデータ（リンクデータ）とを受け取り、データ本体（本体データ）は、データ本体格納部（本体データ記憶部２１１）へ上書きされ、履歴リンクデータ（リンクデータ）は、履歴リンクデータ格納部（リンク記憶部２２６）へ追加される。
【００９９】
なお、履歴管理システム８００において、履歴管理対象の制御機器２００内のデータを過去のデータに復元する際の動作は、以下の手順であってもよい。
まず、周辺機器１００を利用して、利用者によって制御機器２００内の過去のデータを復元する機能が実行（選択）される。
周辺機器１００の読み出し処理部（リンク読出要求送信部１３１）は、制御機器２００の読み出し処理部（リンク読出要求受信部２３１）に対して、履歴リンクデータの読み出しを依頼する。制御機器２００の読み出し処理部（リンク読出部２３２、リンク送信部２３３）は、履歴リンクデータ格納部（リンク記憶部２２６）から履歴リンクデータのリストを取得し、周辺機器１００へ送出する。履歴リンクデータを受け取った周辺機器１００の読み出し処理部（リンク受信部１３２）は、復元処理部（リンク選択部１５２）へ履歴リンクデータを渡す。
復元処理部（リンク選択部１５２）では、受け取った履歴リンクデータのリストを時刻情報と共に表示する。利用者はリストの中から復元対象履歴データを選択する。
復元処理部（リンク選択部１５２）は、選択された履歴リンクデータを、履歴データ検索部（履歴データ取得部１５３）に渡す。履歴データ検索部（履歴データ取得部１５３）では、選択された履歴リンクデータが示すデータ本体が、周辺機器１００からアクセス可能な範囲の履歴データ格納部（履歴記憶装置３００）に存在するかどうかをチェックし、存在していればデータ本体を、存在していなければチェック結果のみを復元処理部（リンク選択部１５２）へ返す。
なお、この際、履歴データ検索部（履歴データ取得部１５３）では、まず履歴リンクデータ内の周辺機器ＩＤと自身の周辺機器ＩＤとが同一であるかどうか確認する。同一であれば自身が管理している履歴データ格納部から検索を開始する。
復元処理部（リンク選択部１５２）では、データ本体が存在していなければ、利用者にその旨を通知し、再度復元対象履歴を選択させるか、もしくは復元処理を中断するか選択させる。
利用者が選択した履歴データ本体が存在していれば、復元処理部（履歴データ取得部１５３）は、対象履歴データ本体と、対応する履歴リンクデータとを、書き込み処理部（本体データ送信部１２２、リンク送信部１２３）へ送る。書き込み処理部（本体データ送信部１２２、リンク送信部１２３）では、渡されたデータ本体と履歴リンクデータとを、履歴管理対象となっている制御機器２００へ書き込む。
制御機器２００の書き込み処理部（本体データ受信部２２２、本体データ更新部２２３、リンク受信部２２４、リンク更新部２２５）では、周辺機器１００から書き込まれたデータ本体と履歴リンクデータとを受け取り、データ本体は、データ本体格納部（本体データ記憶部２１１）へ上書きされ、履歴リンクデータは、履歴リンクデータ格納部（リンク記憶部２２６）へ追加される。
【０１００】
以上説明した履歴管理システム８００によれば、履歴リンクデータ内の周辺機器ＩＤ（記憶識別データ）によって、履歴データ本体の一次検索範囲を、データ本体を制御機器２００に書き込んだ周辺機器１００や履歴記憶装置３００に狭めることで、データ本体を高速に検索することができる。
【０１０１】
実施の形態３．
実施の形態３について、説明する。
この実施の形態における履歴管理システム８００の全体構成、周辺機器１００、制御機器２００、履歴記憶装置３００の機能ブロックの構成は、実施の形態１で説明したものと同様なので、ここでは説明を省略する。
【０１０２】
周辺機器１００（履歴管理装置）は、更に、時計を有する。
リンク生成部１１２は、リンクデータの生成にあたり、時計を用いて、現在時刻（日付も含む）を取得する。リンク生成部１１２は、ＣＰＵ９１１を用いて、取得した現在時刻を表わす時刻情報を含むリンクデータを生成する。
【０１０３】
リンク生成部１１２が生成したリンクデータは、リンク送信部１２３が制御機器２００に対して送信し、リンク受信部２２４が受信して、リンク更新部２２５がリンク記憶部２２６に追加して記憶させる。
リンク読出要求受信部２３１がリンク読出要求を受信すると、リンク記憶部２２６が記憶したリンクデータをリンク読出部２３２が読み出して、リンク送信部２３３が周辺機器１００に対して送信し、リンク受信部１３２が受信して、リンク検索部１５１が存在を確認したのち、リンク選択部１５２が表示して、利用者に選択させる。
【０１０４】
このとき、リンク選択部１５２は、表示装置９０１を用いて、リンクデータに含まれる時刻情報に基づいて、リンク生成部１１２がリンクデータを生成した時刻（すなわち、本体データ記憶部２１１が本体データを記憶した時刻とほぼ等しい時刻）を表示する。このため、利用者は、そのリンクデータによって識別される履歴データが、いつの時点のデータであるかを知ることができ、復元するデータの選択が容易になる。
【０１０５】
なお、リンクデータに含まれる時刻情報は、上記以外に利用してもよい。
例えば、履歴データ記憶部３１０及び履歴リンク記憶部３２０が、古い履歴データ及びリンクデータを削除する際、ＣＰＵ９１１を用いて、リンクデータに含まれる時刻情報に基づいて、そのリンクデータが古いか否かを判定する。リンクデータが古いと判定した場合、履歴リンク記憶部３２０は、ＣＰＵ９１１を用いて、そのリンクデータを削除し、履歴データ記憶部３１０は、ＣＰＵ９１１を用いて、そのリンクデータに対応づけられた履歴データを削除する。
【０１０６】
この実施の形態における管理対象装置（制御機器２００）のリンク記憶部２２６は、上記管理対象装置（制御機器２００）の記憶装置（不揮発性メモリ）を用いて、上記本体データが生成された時刻と、上記本体データを上記本体データ記憶部２１１が記憶した時刻との少なくともいずれかを含む複数のリンクデータを記憶する。
上記履歴管理装置（周辺機器１００）のリンク選択部１５２は、上記履歴管理装置（周辺機器１００）の表示装置９０１を用いて、上記複数のリンクデータに含まれる時刻を表わす情報を表示する。
【０１０７】
この実施の形態における履歴管理システム８００によれば、本体データが生成された時刻あるいは本体データを本体データ記憶部２１１が記憶した時刻を表わす情報を、リンク選択部１５２が表示するので、利用者が、復元するデータを容易に選択できる。
【０１０８】
以上説明した履歴管理システム８００によれば、履歴リンクデータ内には対象制御機器２００へデータ本体が書き込まれた時刻情報が含まれているため、利用者にとって復元対象データを選択する場合に、復元候補のデータの特定が容易になる。
【０１０９】
実施の形態４．
実施の形態４について、説明する。
この実施の形態における履歴管理システム８００の全体構成、周辺機器１００、制御機器２００、履歴記憶装置３００の機能ブロックの構成は、実施の形態１で説明したものと同様なので、ここでは説明を省略する。
【０１１０】
制御機器２００は、更に、時計を有する。
リンク更新部２２５は、リンクデータの追加にあたり、時計を用いて、現在時刻（日付も含む）を取得する。リンク更新部２２５は、ＣＰＵ９１１を用いて、取得した現在時刻を表わす時刻情報を、リンク受信部２２４が受信したリンクデータに追加し、時刻情報を含むリンクデータを、リンク記憶部２２６に記憶させる。
【０１１１】
実施の形態２と同様、リンク選択部１５２は、表示装置９０１を用いて、リンクデータに含まれる時刻情報に基づいて、リンク更新部２２５がリンクデータを更新した時刻（すなわち、本体データ記憶部２１１が本体データを記憶した時刻とほぼ等しい時刻）を表示する。このため、利用者は、そのリンクデータによって識別される履歴データが、いつの時点のデータであるかを知ることができ、復元するデータの選択が容易になる。
【０１１２】
本体データ記憶部２１１が本体データを記憶した時刻の近似として、リンク更新部２２５がリンクデータを更新した時刻を用いるので、周辺機器１００と制御機器２００との間の通信に時間がかかる場合であっても、本体データ記憶部２１１が本体データを記憶した時刻に近い時刻を表わす時刻情報を、リンクデータに含めることができる。
また、複数の周辺機器１００が前後して制御機器２００に本体データを書き込んだ場合などにおいて、周辺機器１００の内部時計を基準とすると、複数の周辺機器１００の内部時計の間にずれがあり、制御機器２００に本体データが書き込まれた順序を正確に反映できない場合があるが、制御機器２００の内部時計を基準とすれば、制御機器２００の内部時計が正確でない場合であっても、少なくとも、制御機器２００に本体データが書き込まれた順序を正確に反映することができる。
【０１１３】
なお、リンク検索部１５１は、リンクデータの検索にあたり、ＣＰＵ９１１を用いて、履歴リンク記憶部３２０が記憶したリンクデータのなかから、時刻情報を除く部分が同一のリンクデータを検索する。
あるいは、本体データの書込みにあたり、リンク送信部２３３は、通信装置９１５を用いて、周辺機器１００に対して、リンク更新部２２５が時刻情報を追加したリンクデータを送信し、リンク受信部１３２が受信して、履歴リンク記憶部３２０は、磁気ディスク装置９２０を用いて、リンク生成部１１２が生成したリンクデータに代えて、リンク受信部１３２が受信したリンクデータを、本体データ生成部１１１が生成し履歴データ記憶部３１０が記憶した本体データと対応づけて記憶してもよい。その場合、リンク検索部１５１は、リンクデータの検索にあたり、ＣＰＵ９１１を用いて、履歴リンク記憶部３２０が記憶したリンクデータのなかから、時刻情報も含む全体が同一のリンクデータを検索する。
【０１１４】
以上説明した履歴管理システム８００において、書き込み処理部（リンク更新部２２５）は、周辺機器１００（履歴管理装置）から履歴リンクデータ（リンクデータ）が書き込まれる際に、制御機器２００（管理対象装置）内の時刻情報を取得し、履歴リンクデータの時刻情報を制御機器２００内の時刻情報に差替え、履歴リンクデータ格納部（リンク記憶部２２６）へ書き込む。
【０１１５】
以上説明した履歴管理システム８００によれば、大きく内部時計がずれている２つの周辺機器１００（履歴管理装置）から交互に制御機器２００へデータを書き込んだ場合でも、履歴データの時刻情報が前後することなく、対象となる制御機器２００内の時計によって時系列に並んで履歴が作成されるため、利用者を混乱させることがなく、復元作業を迅速に行うことができる。
【０１１６】
実施の形態５．
実施の形態５について、図９を用いて説明する。
この実施の形態における履歴管理システム８００の全体構成、周辺機器１００、制御機器２００、履歴記憶装置３００の機能ブロックの構成は、実施の形態１で説明したものと同様なので、ここでは説明を省略する。
【０１１７】
リンク生成部１１２は、リンクデータの生成にあたり、ＣＰＵ９１１を用いて、同一性保証データを生成し、生成した同一性保証データを含むリンクデータを生成する。
同一性保証データとは、本体データの内容に改変があるか否かを検証し、本体データの同一性を保証するためのデータであり、例えば、パリティビット、ＣＲＣ誤り検出コード、ハッシュ値などである。
【０１１８】
履歴データ取得部１５３は、履歴データを取得したのち、ＣＰＵ９１１を用いて、取得した履歴データに基づいて、同一性保証データを生成する。履歴データ取得部１５３は、ＣＰＵ９１１を用いて、生成した同一性保証データと、入力したリンクデータに含まれる同一性保証データとを比較して、履歴データに改変があるか否かを判定する。
履歴データに改変があると判定した場合、履歴データ取得部１５３は、表示装置９０１を用いて、履歴データに改変があることを表示し、利用者に注意喚起する。利用者は、改変がある履歴データで制御機器２００の本体データを復旧してもよいかを判断し、履歴データ取得部１５３は、キーボード９０２を用いて、利用者の判断結果を入力する。
入力した判断結果により利用者が復旧しないと判断した場合、履歴データ取得部１５３は、取得した履歴データを出力しない。
入力した判断結果により利用者が復旧してよいと判断した場合や、履歴データ取得部１５３が履歴データに改変がないと判定した場合、履歴データ取得部１５３は、ＣＰＵ９１１を用いて、取得した履歴データを本体データとして出力する。
【０１１９】
図９は、この実施の形態における周辺機器１００が、制御機器２００の本体データを管理する履歴管理処理のうち、利用者が選択した処理が「復旧」である場合の処理の部分の流れの一例を示すフローチャート図である。
なお、実施の形態１で説明した履歴管理処理と共通する部分については、同一の符号を付し、ここでは説明を省略する。
【０１２０】
同一性判定工程Ｓ６４６において、履歴データ取得部１５３は、ＣＰＵ９１１を用いて、履歴データ取得工程Ｓ６４５で取得した履歴データに基づいて、同一性判定データを生成する。履歴データ取得部１５３は、ＣＰＵ９１１を用いて、生成した同一性判定データと、履歴データ取得工程Ｓ６４５で入力したリンクデータに含まれる同一性判定データとを比較する。
両者の同一性判定データが一致した場合、改変なしと判断し、書込み要求送信工程Ｓ６５１へ進む。
両者の同一性判定データが一致しない場合、改変ありと判断し、復旧確認工程Ｓ６４７へ進む。
【０１２１】
復旧確認工程Ｓ６４７において、履歴データ取得部１５３は、表示装置９０１を用いて、履歴データに改変がある旨を表示し、キーボード９０２を用いて、改変された履歴データを用いて復旧してもよいかを入力する。
利用者が復旧することを選択した場合、書込要求送信工程Ｓ６５１へ進む。
利用者が復旧しないことを選択した場合、リンク選択工程Ｓ６４４に戻る。
【０１２２】
なお、リンク選択工程Ｓ６４４において、リンク選択部１５２は、表示装置９０１を用いて、履歴データに改変があり、利用者が復旧しないことを選択したものは、例えば、色を変えるなどして、履歴データに改変があることを利用者に認知させる。あるいは、リンク選択部１５２は、履歴データに改変があるものを選択できないようにしてもよい。
【０１２３】
この実施の形態における管理対象装置（制御機器２００）のリンク記憶部２２６は、上記管理対象装置（制御機器２００）の記憶装置（不揮発性メモリ）を用いて、上記履歴データの同一性を保証する同一性保証データを含むリンクデータを記憶する。
上記履歴管理装置（周辺機器１００）の履歴データ取得部１５３は、上記履歴管理装置（周辺機器１００）の処理装置（ＣＰＵ９１１）を用いて、上記管理対象装置（制御機器２００）のリンク記憶部２２６が記憶したリンクデータを取得し、取得したリンクデータによって識別される履歴データを、上記履歴記憶装置３００の履歴データ記憶部３１０から取得し、取得した履歴データに基づいて同一性保証データを生成し、生成した同一性保証データと、取得したリンクデータに含まれる同一性保証データとを比較して、履歴データの同一性を検証する。
【０１２４】
この実施の形態における履歴管理システム８００によれば、履歴データに基づいて生成した同一性保証データと、リンクデータに含まれる同一性保証データとを、履歴データ取得部１５３が比較して、履歴データの同一性を検証するので、改変された履歴データによる復旧を防ぐことができる。
【０１２５】
以上説明した履歴管理システム８００において、制御機器２００へデータを書き込むデータ書込み方法は、例えば、以下の工程を有する。
（ａ）データへのリンク情報（リンクデータ）を作成する工程。
（ｂ）データを作成した周辺機器１００を特定するＩＤをリンク情報に付属させる工程。
（ｃ）データの作成時刻情報をリンク情報に付属させる工程。
（ｄ）データの同一性保証コード（同一性保証データ）をリンク情報から作成する工程。
（ｅ）データ本体とリンク情報を制御機器２００へ書き込む工程。
（ｆ）データ本体を周辺機器１００の履歴データとして保存する工程。
（ｇ）リンク情報内の時刻情報を制御機器２００側の時刻情報で置き換える工程。
（ｈ）データへのリンク情報を更新する工程。
【０１２６】
以上説明した履歴管理システム８００において、制御機器２００からデータを読み出すデータ読出し方法は、例えば、以下の工程を有する。
（ａ）読み出したデータ本体を周辺機器１００の履歴データとして保存する工程。
【０１２７】
以上説明した履歴管理システム８００において、制御機器２００でのデータを復元するデータ復元方法は、例えば、以下の工程を有する。
（ａ）制御機器２００から周辺機器１００へ過去のデータへのリンク情報のリストを読み出す工程。
（ｂ）データへのリンク情報のリストを表示し、利用者が復元対象データを選択できるようにする工程。
（ｃ）選択された復元対象データを検索して周辺機器１００へ読み込む工程。
（ｄ）読み込まれた復元対象データを制御機器２００へ書き込む工程。
【０１２８】
以上説明した履歴管理システム８００は、履歴リンクデータ作成部（リンク生成部１１２）において、制御機器２００（管理対象装置）の履歴リンクデータ（リンクデータ）として、リンクデータを識別する番号と、データ本体が格納されている周辺機器１００（履歴管理装置）を特定するＩＤと、周辺機器１００内で一意にデータを特定するためのデータＩＤと、当該データが制御機器２００に書き込まれた時刻情報と、その時刻に制御機器２００に書き込まれたデータと復元時のリンク先データ本体が同一データであることを保証するコード（例えばパリティビットやＣＲＣ誤り検出コード）の作成を行う。
また、リンク生成部１１２は、データＩＤから、パリティビットやＣＲＣ誤り検出コードなどを用いて、同一性保証コードを作成してもよい。
また、履歴データ取得部１５３は、履歴データを取得した後、データ本体の同一性保証コードと、履歴リンクデータ内の同一性保証コードとを比較し、これらが異なっていた場合は、データが改変されている旨を利用者に通知して、復旧作業を続けるか、他のデータを選択するかを選択させる。
【０１２９】
以上説明した履歴管理システム８００によれば、リンク先データ（履歴データ）が意図的／非意図的に関わらず変更されていた場合でも、復元時に復元対象データ（履歴データ）の内容チェックが行われ、実際に過去制御機器２００に格納されていたデータ（本体データ）と同一かどうかがチェックされるため、誤ったデータに復元されることがなくなる。
【０１３０】
なお、リンク生成部１１２や履歴データ取得部１５３が同一性保証データを生成するもととなるデータは、本体データだけでなく、リンクデータ（の少なくとも一部）を含めたデータであってもよい。
ただし、実施の形態３で述べたように、制御機器２００がリンクデータに時刻情報を付加する場合、リンクデータに含まれる時刻情報は、同一性保証データを生成するもとなるデータから除外する。
なお、制御機器２００が時刻情報を付加したリンクデータを周辺機器１００に対して送信し、周辺機器１００が受信したリンクデータを履歴リンク記憶部３２０に記憶させる場合には、リンクデータに含まれる時刻情報を、同一性保証データを生成するもとなるデータに含めてもよい。
【図面の簡単な説明】
【０１３１】
【図１】実施の形態１における履歴管理システム８００の全体構成の一例を示すシステム構成図。
【図２】実施の形態１における周辺機器１００、制御機器２００、履歴記憶装置３００の外観の一例を示す図。
【図３】実施の形態１における周辺機器１００、制御機器２００、履歴記憶装置３００のハードウェア資源の一例を示す図。
【図４】実施の形態１における制御機器２００の機能ブロックの構成の一例を示すブロック構成図。
【図５】実施の形態１における周辺機器１００及び履歴記憶装置３００の機能ブロックの構成の一例を示すブロック構成図。
【図６】実施の形態１における制御機器２００が、周辺機器１００からの指示にしたがって本体データなどを管理するデータ管理処理の流れの一例を示すフローチャート図。
【図７】実施の形態１における周辺機器１００が、制御機器２００の本体データを管理する履歴管理処理の流れの一例を示すフローチャート図。
【図８】実施の形態２における周辺機器１００が、制御機器２００の本体データを管理する履歴管理処理のうち、利用者が選択した処理が「復旧」である場合の処理の部分の流れの一例を示すフローチャート図。
【図９】実施の形態５における周辺機器１００が、制御機器２００の本体データを管理する履歴管理処理のうち、利用者が選択した処理が「復旧」である場合の処理の部分の流れの一例を示すフローチャート図。
【符号の説明】
【０１３２】
１００  周辺機器、１１１  本体データ生成部、１１２  リンク生成部、１２１  書込要求送信部、１２２  本体データ送信部、１２３  リンク送信部、１３１  リンク読出要求送信部、１３２  リンク受信部、１４１  データ読出要求送信部、１４２  本体データ受信部、１５１  リンク検索部、１５２  リンク選択部、１５３  履歴データ取得部、１９０  処理選択部、２００  制御機器、２１１  本体データ記憶部、２１２  対象制御部、２２１  書込要求受信部、２２２  本体データ受信部、２２３  本体データ更新部、２２４  リンク受信部、２２５  リンク更新部、２２６  リンク記憶部、２３１  リンク読出要求受信部、２３２  リンク読出部、２３３  リンク送信部、２４１  データ読出要求受信部、２４２  本体データ読出部、２４３  本体データ送信部、３００  履歴記憶装置、３１０  履歴データ記憶部、３２０  履歴リンク記憶部、８００  履歴管理システム、８１０  制御対象装置、８２０  ネットワーク、９０１  表示装置、９０２  キーボード、９０３  マウス、９０４  ＦＤＤ、９０５  ＣＤＤ、９０６  プリンタ装置、９０７  スキャナ装置、９１０  システムユニット、９１１  ＣＰＵ、９１２  バス、９１３  ＲＯＭ、９１４  ＲＡＭ、９１５  通信装置、９２０  磁気ディスク装置、９２１  ＯＳ、９２２  ウィンドウシステム、９２３  プログラム群、９２４  ファイル群、９３１  電話器、９３２  ファクシミリ機、９４０  インターネット、９４１  ゲートウェイ、９４２  ＬＡＮ。
【図１】
0005219565.tif 000002
【図２】
0005219565.tif 000003
【図３】
0005219565.tif 000004
【図４】
0005219565.tif 000005
【図５】
0005219565.tif 000006
【図６】
0005219565.tif 000007
【図７】
0005219565.tif 000008
【図８】
0005219565.tif 000009
【図９】
0005219565.tif 000010