(57)【要約】【課題】ファイルを受信する機能を備えた売上データ処理装置において、ホスト装置から送信された更新ファイルに基づいて自動的にプログラムの更新が行えるようにする。【解決手段】本発明に係るＥＣＲのＣＰＵは、通信部を介してＰＣから送信されたファイルが受信されると、受信されたファイルがＩＰＬファイルであるか否かを判断する。受信されたファイルがＩＰＬファイルである場合、ＣＰＵは、受信されたＩＰＬファイルがＲＯＭに記憶されているプログラムを更新するＩＰＬファイルとして予め定められた要件を満たすか否かを判断する。受信されたＩＰＬファイルが予め定められた要件を満たす場合、ＣＰＵは、受信されたＩＰＬファイルに基づいてＲＯＭに記憶されているプログラムを更新する。【選択図】図７
2010079340.tif 000002
【特許請求の範囲】
【請求項１】
ホスト装置から送信されたファイルを受信する受信手段を備えた売上データ処理装置であって、
プログラムを記憶する記憶手段と、
前記受信手段により受信されたファイルが前記記憶手段に記憶されたプログラムを更新するための更新ファイルであるか否かを判断する第１の判断手段と、
前記第１の判断手段により前記受信されたファイルが前記更新ファイルであると判断された場合に、前記受信された更新ファイルが予め定められた要件を満たすか否かを判断する第２の判断手段と、
前記第２の判断手段により前記受信された更新ファイルが予め定められた要件を満たすと判断された場合に、前記受信された更新ファイルに基づいて前記記憶手段に記憶されたプログラムを更新する更新手段と、
を備える売上データ処理装置。
【請求項２】
前記予め定められた要件は、前記受信された更新ファイルのヘッダが予め定められた記述であることを含む請求項１に記載の売上データ処理装置。
【請求項３】
前記予め定められた要件は、前記受信された更新ファイルの仕向けが前記記憶手段に記憶されているプログラムの仕向けと同じであることを含む請求項１に記載の売上データ処理装置。
【請求項４】
前記予め定められた要件は、前記受信された更新ファイルのバージョンが前記記憶手段に記憶されているプログラムのバージョンより大きいバージョンであることを含む請求項１に記載の売上データ処理装置。
【請求項５】
前記予め定められた要件は、前記受信された更新ファイルの管理番号が前記記憶手段に記憶されているプログラムの管理番号より大きい管理番号であることを含む請求項１に記載の売上データ処理装置。
【請求項６】
前記予め定められた要件は、前記受信された更新ファイルに格納されているチェックサムと前記受信された更新ファイルのデータから算出したチェックサムが同じであることを含む請求項１に記載の売上データ処理装置。
【請求項７】
前記プログラムの更新前に、前記受信された更新ファイルを外部記憶手段に書き込む書き込み手段と、
前記更新手段による更新が中断された場合に、前記外部記憶手段に書き込まれた更新ファイルに基づいて前記記憶手段に記憶されたプログラムを更新する再更新手段と、
を備える請求項１〜６の何れか一項に記載の売上データ処理装置。
【請求項８】
商品の売上情報を含むデータを記憶する第２の記憶手段と、
前記プログラムの更新時に前記第２の記憶手段に記憶されているデータのバックアップデータを外部記憶手段に書き込む書き込み手段と、
前記プログラムの更新後、前記外部記憶手段に書き込まれているバックアップデータが前記プログラムの更新時に前記第２の記憶手段に記憶されていたデータのバックアップデータであるか否かを確認する確認手段と、
前記確認手段により前記外部記憶手段に書き込まれているバックアップデータが前記プログラムの更新時に前記第２の記憶手段に記憶されていたデータのバックアップデータであると確認された場合に、前記外部記憶手段に書き込まれているバックアップデータに基づいて前記第２の記憶手段に記憶されていたデータを復元する復元手段と、
を備える請求項１〜６の何れか一項に記載の売上データ処理装置。
【請求項９】
ホスト装置から送信されたファイルを受信する受信手段を備えた売上データ処理装置に用いられるコンピュータを、
プログラムを記憶する記憶手段、
前記受信手段により受信されたファイルが前記記憶手段に記憶されたプログラムを更新するための更新ファイルであるか否かを判断する第１の判断手段、
前記第１の判断手段により前記受信されたファイルが前記更新ファイルであると判断された場合に、前記受信された更新ファイルが予め定められた要件を満たすか否かを判断する第２の判断手段、
前記第２の判断手段により前記受信された更新ファイルが予め定められた要件を満たすと判断された場合に、前記受信された更新ファイルに基づいて前記記憶手段に記憶されたプログラムを更新する更新手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、売上データ処理装置及びプログラムに関する。
【背景技術】
【０００２】
従来、プログラム（ソフトウエア）を用いて動作する機器のプログラム更新に関する各種技術が知られている。
【０００３】
例えば、特許文献１には、ユーザにより選択されたバージョンに応じて電子装置のソフトウエアを更新する技術が記載されている。また、特許文献２には、サーバに対してバージョンアップデータの要求がなされたときに要求されたバージョンアップデータを最新の状態にして配信する技術が記載されている。
【特許文献１】特開２００７−１６４７６３号公報
【特許文献２】特許第３９８５７３７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、従来、ＥＣＲ（Electronic Cash Resister）等の売上データ処理装置のプログラム更新は、オペレータの手動操作により行われていた。その際、オペレータは更新するプログラムを入れたＣＦ（Compact Flash）カード等の外部記録媒体を売上データ処理装置に接続し、プログラムを更新する操作をする必要があった。
【０００５】
一方、プログラムを管理するサーバを設置し、売上データ処理装置のプログラムを自動的に更新する技術も提案されている。このようなサーバを用いたシステムでは、売上データ処理装置からサーバにアクセスして更新プログラムを取得している。しかし、この場合、サーバが必要となり、更にサーバやサーバと売上データ処理装置間の回線を常に稼動状態にしていなければならないとう問題があった。また、売上データ処理装置からサーバにアクセスしたタイミングでしかプログラムの更新ができないという問題があった。
【０００６】
本発明の課題は、ファイルを受信する機能を備えた売上データ処理装置において、ホスト装置から送信された更新ファイルに基づいて自動的にプログラムの更新が行えるようにすることである。
【課題を解決するための手段】
【０００７】
上記課題を解決するため、請求項１に記載の発明は、
ホスト装置から送信されたファイルを受信する受信手段を備えた売上データ処理装置であって、
プログラムを記憶する記憶手段と、
前記受信手段により受信されたファイルが前記記憶手段に記憶されたプログラムを更新するための更新ファイルであるか否かを判断する第１の判断手段と、
前記第１の判断手段により前記受信されたファイルが前記更新ファイルであると判断された場合に、前記受信された更新ファイルが予め定められた要件を満たすか否かを判断する第２の判断手段と、
前記第２の判断手段により前記受信された更新ファイルが予め定められた要件を満たすと判断された場合に、前記受信された更新ファイルに基づいて前記記憶手段に記憶されたプログラムを更新する更新手段と、
を備える。
【０００８】
請求項２に記載の発明は、請求項１に記載の発明において、
前記予め定められた要件は、前記受信された更新ファイルのヘッダが予め定められた記述であることを含む。
【０００９】
請求項３に記載の発明は、請求項１に記載の発明において、
前記予め定められた要件は、前記受信された更新ファイルの仕向けが前記記憶手段に記憶されているプログラムの仕向けと同じであることを含む。
【００１０】
請求項４に記載の発明は、請求項１に記載の発明において、
前記予め定められた要件は、前記受信された更新ファイルのバージョンが前記記憶手段に記憶されているプログラムのバージョンより大きいバージョンであることを含む。
【００１１】
請求項５に記載の発明は、請求項１に記載の発明において、
前記予め定められた要件は、前記受信された更新ファイルの管理番号が前記記憶手段に記憶されているプログラムの管理番号より大きい管理番号であることを含む。
【００１２】
請求項６に記載の発明は、請求項１に記載の発明において、
前記予め定められた要件は、前記受信された更新ファイルに格納されているチェックサムと前記受信された更新ファイルのデータから算出したチェックサムが同じであることを含む。
【００１３】
請求項７に記載の発明は、請求項１〜６の何れか一項に記載の発明において、
前記プログラムの更新前に、前記受信された更新ファイルを外部記憶手段に書き込む書き込み手段と、
前記更新手段による更新が中断された場合に、前記外部記憶手段に書き込まれた更新ファイルに基づいて前記記憶手段に記憶されたプログラムを更新する再更新手段と、
を備える。
【００１４】
請求項８に記載の発明は、請求項１〜６の何れか一項に記載の発明において、
商品の売上情報を含むデータを記憶する第２の記憶手段と、
前記プログラムの更新時に前記第２の記憶手段に記憶されているデータのバックアップデータを外部記憶手段に書き込む書き込み手段と、
前記プログラムの更新後、前記外部記憶手段に書き込まれているバックアップデータが前記プログラムの更新時に前記第２の記憶手段に記憶されていたデータのバックアップデータであるか否かを確認する確認手段と、
前記確認手段により前記外部記憶手段に書き込まれているバックアップデータが前記プログラムの更新時に前記第２の記憶手段に記憶されていたデータのバックアップデータであると確認された場合に、前記外部記憶手段に書き込まれているバックアップデータに基づいて前記第２の記憶手段に記憶されていたデータを復元する復元手段と、
を備える。
【００１５】
請求項９に記載の発明のプログラムは、
ホスト装置から送信されたファイルを受信する受信手段を備えた売上データ処理装置に用いられるコンピュータを、
プログラムを記憶する記憶手段、
前記受信手段により受信されたファイルが前記記憶手段に記憶されたプログラムを更新するための更新ファイルであるか否かを判断する第１の判断手段、
前記第１の判断手段により前記受信されたファイルが前記更新ファイルであると判断された場合に、前記受信された更新ファイルが予め定められた要件を満たすか否かを判断する第２の判断手段、
前記第２の判断手段により前記受信された更新ファイルが予め定められた要件を満たすと判断された場合に、前記受信された更新ファイルに基づいて前記記憶手段に記憶されたプログラムを更新する更新手段、
として機能させる。
【発明の効果】
【００１６】
本発明によれば、ファイルを受信する機能を備えた売上データ処理装置において、ホスト装置から送信された更新ファイルに基づいて自動的にプログラムの更新が行えるようになる。
【発明を実施するための最良の形態】
【００１７】
以下、図を参照して本発明の実施形態について詳細に説明する。
まず、構成を説明する。
【００１８】
（プログラム管理システム１００の構成）
図１に、本発明の実施形態に係るプログラム管理システム１００の全体構成例を示す。図１に示すように、プログラム管理システム１００は、売上データ処理装置としてのＥＣＲ１と、ホスト装置としてのＰＣ（Personal Computer）２がＬＡＮ（Local Network System）、ＷＡＮ（Wide Area Network）、インターネット等の通信ネットワークＮを介してデータ送受信可能に接続されて構成されている。なお、各装置の台数は、特に限定されない。
また、この実施形態で、売上データ処理装置とは、ＥＣＲ（Electronic Cash Resister）に限定されるものではなく、金銭登録機、電子式キャッシュレジスタ等を含むものである。
【００１９】
（ＥＣＲ１の構成）
ＥＣＲ１は、オペレータの操作に基づいて商品取引の登録処理、点検処理、精算処理、各種設定処理等を行う。
【００２０】
図２に、ＥＣＲ１の要部構成例を示す。
図２に示すように、ＥＣＲ１は、ＣＰＵ（Central Processing Unit）１０、ＲＯＭ（Read Only Memory）１１、ＲＡＭ（Random Access Memory）１２、入力装置１３、表示装置１４、印字装置１５、通信部１６、ファイル受信メモリ１７、外部記録媒体接続部１８、計時部１９等を備えて構成され、各部はバス１０１により接続されている。
【００２１】
ＣＰＵ１０は、ＲＯＭ１１に記憶されているプログラム１１０等を読み出し、ＲＡＭ１２のワークエリアに展開し、該プログラムに従って各部を制御する。例えば、ＣＰＵ１０は、ＲＯＭ１１に記憶されているプログラム１１０に従って、後述するＥＣＲ制御処理を始めとする各種処理を実行する。
【００２２】
記憶手段としてのＲＯＭ１１は、ＥＥＰＲＯＭ（Electrically Erasable and Programmable Read Only Memory）、フラッシュメモリ等の不揮発メモリ等により構成される。ＲＯＭ１１は、ＣＰＵ１０で実行されるプログラム１１０、更新時エラー処理プログラム１１１、ＥＣＲ１の機器名称１１２等を記憶する。プログラム１１０は、ＥＣＲ１を動作させるためのプログラムであり、後述するＥＣＲ制御処理を実行するためのプログラムを含む。更新時エラー処理プログラム１１１は、プログラム１１０の更新が失敗した場合に再更新を行うためのプログラムである。プログラム１１０及び更新時エラー処理プログラム１１１は、コンピュータ読み取り可能なプログラムコードの形態でＲＯＭ１１に格納される。ＣＰＵ１０は、当該プログラムコードに従った動作を逐次実行する。
【００２３】
第２の記憶手段としてのＲＡＭ１２は、ＣＰＵ１０によりＲＯＭ１１から読み出されたプログラム等を格納する。
図３に、ＲＡＭ１２のデータ格納例を示す。図３に示すように、ＲＡＭ１２は、システムエリア１２０、ワークエリア１２１、ファイル格納エリア１２２、データ格納エリア１２３、バックアップ用データ格納エリア１２４等を有している。
システムエリア１２０は、ＥＣＲ１におけるシステムの動作状態を示すデータ等を格納する。例えば、システムエリア１２０は、プログラム１１０の更新状態を示す更新フラグを格納する。更新フラグ「０１」は、プログラム１１０の更新中であることを示す。更新フラグ「１１」は、プログラム１１０の更新が完了していることを示す。
ワークエリア１２１は、ＣＰＵ１０により読み出されたプログラムやプログラムの実行に必要なデータを一時的に格納する。
ファイル格納エリア１２２は、商品別に売上データを格納するＰＬＵ（Price Look Up）ファイル、商品の部門別に売上データを格納する部門ファイル、売上合計等を格納する固定合計器ファイル等の売上ファイルを格納する。これらの売上ファイルは、設定データ（キャラクタ等）、合計器データ（個数、金額等）、ワークデータ等を含んで構成される。
データ格納エリア１２３は、起動コード、ＩＰアドレス、ターミナルＮＯ．、ターミナル名等のユーザ設定データや、ＰＣ２から受信されたファイルがＩＰＬ（Initial Program Loader）ファイルであるか否かを判断するための基準を示すデータ等を格納する。ここで、ＩＰＬファイルとは、ＥＣＲ１内のプログラム１１０を更新するための更新ファイルである。
バックアップ用データ格納エリア１２４は、プログラム１１０の更新時に作成されるバックアップデータであるＤＡＴＡ−１、ＤＡＴＡ−２、ＤＡＴＡ−３等を格納する。
【００２４】
入力装置１３は、電源キー、テンキー／ファンクションキー及びクラークキー等を備えたレジ用のキーボードを含む構成とし、各キー操作に応じた操作信号をＣＰＵ１０に出力する。ここで、ファンクションキーには、プログラム１１０の更新途中でエラーとなった場合等にオペレータがプログラム１１０の再更新を指示するための再更新キーが含まれる。
【００２５】
表示装置１４は、ＬＣＤ（Liquid Crystal Display）や有機ＥＬ(Electro-Luminescence)ディスプレイ等により構成され、ＣＰＵ１０から入力される表示信号の指示に従って、各種画面を表示する。
【００２６】
印字装置１５は、例えば、サーマルプリンタ(感熱式プリンタ)であり、レシート用、ジャーナル用のロール紙(感熱紙)を有し、ＣＰＵ１０から入力される指示信号に従って、各ロール紙に対して金額等のデータをプリントアウトする。
【００２７】
通信部１６は、ＬＡＮ（Local Area Network）アダプタ、ルータ等により構成され、通信ネットワークＮを介してＰＣ２とデータ送受信を行う。
【００２８】
ファイル受信メモリ１７は、ＰＣ２から送信されたファイルを格納するためのメモリである。
【００２９】
外部記録媒体接続部１８は、ＣＦカード、ＳＤカード（Secure Digital Card）等の外部記録媒体１８ａを接続可能であり、ＣＰＵ１０から入力される指示信号に従って外部記録媒体１８ａからのデータの読み込み、外部記録媒体１８ａへのデータの書き込みを行う。
【００３０】
計時部１９は、ＲＴＣ（Real Time Clock）等により構成され、現在時刻及び現在日付を計時してＣＰＵ１０に出力する。
【００３１】
（ＰＣ２の構成）
ＰＣ２は、ＦＴＰプロトコル（File Transfer Protocol）に基づいて、ＥＣＲ１に対し、ＥＣＲ１内のプログラム１１０を更新するためのＩＰＬファイルを送信したり、ＰＬＵファイル等の売上ファイルに設定するための商品名、単価等が格納されたファイルを送信したりする。なお、売上ファイルに設定するための商品名、単価等が格納されたファイルを以下一般ファイルと呼ぶ。
【００３２】
図４に、ＰＣ２の要部構成例を示す。図４に示すように、ＰＣ２は、ＣＰＵ２０、記憶部２１、ＲＡＭ２２、入力装置２３、表示装置２４、通信部２５、外部記録媒体接続部２６等を備えて構成され、各部はバス２７を介して接続されている。
【００３３】
ＣＰＵ２０は、記憶部２１に記憶されているプログラムを読み出し、ＲＡＭ２２のワークエリアに展開し、該プログラムに従って各部を制御する。例えば、ＣＰＵ２０は、記憶部２１に記憶されているプログラムに従って、後述するＩＰＬファイル送信処理を実行する。
【００３４】
記憶部２１は、ＨＤＤ（Hard Disc Drive）、半導体の不揮発性メモリ等により構成される。記憶部２１は、ＣＰＵ２０で実行される各種処理プログラム、これらのプログラムの実行に必要なデータ等を記憶する。
【００３５】
ＲＡＭ２２は、ＣＰＵ２０により記憶部２１から読み出された各種プログラム、入力若しくは出力データ、及びパラメータ等を一時的に格納する。
【００３６】
入力装置２３は、カーソルキー、数字入力キー、及び各種機能キー等を備えたキーボードと、マウス等のポインティングデバイスを備えて構成され、キーボードに対するキー操作やマウス操作により入力された指示信号をＣＰＵ２０に出力する。
【００３７】
表示装置２４は、ＬＣＤやＣＲＴ(Cathode Ray Tube)や有機ＥＬディスプレイ等により構成され、ＣＰＵ２０から入力される表示信号の指示に従って、各種画面を表示する。
【００３８】
通信部２５は、ＬＡＮアダプタやルータ等により構成され、通信ネットワークＮを介してＥＣＲ１とデータ送受信を行う。
【００３９】
外部記録媒体接続部２６は、ＣＦカード、ＳＤカード等の外部記録媒体２６ａを接続可能であり、ＣＰＵ２０から入力される指示信号に従って外部記録媒体２６ａからのデータの読み込み、外部記録媒体２６ａへのデータの書き込みを行う。
【００４０】
（ＰＣ２の動作）
次に、プログラム管理システム１００の各装置における動作について説明する。
まず、ＰＣ２における動作について説明する。
図５に、入力装置２３からの指示に応じてＣＰＵ２０により実行されるＩＰＬファイル送信処理を示す。このＩＰＬファイル送信処理は、入力装置２３によりＩＰＬファイルの送信が指示された際にＣＰＵ２０と記憶部２１に記憶されているプログラムとの協働により実行される。
【００４１】
まず、通信部２５を介して、ＦＴＰプロトコルに基づいてＥＣＲ１に接続される（ステップＳ１）。
【００４２】
ＩＰＬファイルが記憶された外部記録媒体２６ａが外部記録媒体接続部２６に接続されると、外部記録媒体２６ａに記憶されているＩＰＬファイルが外部記録媒体接続部２６により読み込まれ、ＲＡＭ２２に記憶される（ステップＳ２）。
【００４３】
図６に、ＩＰＬファイルのファイル構造を示す。図６に示すように、ＩＰＬファイルは、ファイル属性、ヘッダ、版記号、ＩＰＬデータ、チェックサムにより構成されている。
ファイル属性は、ファイル名、ファイルサイズ、書き込み禁止フラグ、ファイル作成日等の情報である。
ヘッダは、このＩＰＬファイルによるプログラム更新対象となるＥＣＲ１の機器名称を示す情報である。
版記号は、このＩＰＬファイルの仕向け−バージョン、及び管理番号を示す情報である。
ＩＰＬデータは、ＥＣＲ１のプログラム１１０を更新するための実データである。
チェックサムは、このＩＰＬファイルの全データを所定のアルゴリズムにより演算した演算結果である。
【００４４】
次いで、読み込まれたＩＰＬファイルに問題がないか確認が行われる（ステップＳ３）。ステップＳ３では、例えば、読み込まれたＩＰＬファイルのファイル属性のファイル名、ファイルサイズ、書き込み禁止フラグ、ファイル作成日の各項目の内容が予め定められた判断基準を満たすか否か、ＩＰＬファイルの全データから算出したチェックサムがＩＰＬファイル自体に格納されているチェックサムと一致するか等が確認される。なお、ファイル属性の各項目の判断基準は、図８における判断基準と同様であるので詳細は後述する。ファイル属性の各項目の内容が全て予め定められた判断基準を満たし、チェックサムが一致する場合、読み込まれたＩＰＬファイルに問題がないと判断される。
【００４５】
ステップＳ４における確認の結果、読み込まれたＩＰＬファイルに問題がないと判断されると（ステップＳ４；ＮＯ）、通信部２５を介して、ＦＴＰプロトコルによりＩＰＬファイルがＥＣＲ１に送信され（ステップＳ５）、ＩＰＬファイル送信処理は終了する。
【００４６】
一方、ステップＳ４における確認の結果、ＩＰＬファイルに問題があると判断されると（ステップＳ４；ＹＥＳ）、表示装置２４にＩＰＬファイルに問題があることを示すエラーメッセージが表示され（ステップＳ６）、ＩＰＬファイル送信処理は終了する。
【００４７】
（ＥＣＲ１の動作）
次に、ＥＣＲ１における動作について説明する。
図７に、ＥＣＲ１の電源投入時にＣＰＵ１０により実行されるＥＣＲ制御処理のフローを示す。このＥＣＲ制御処理は、ＣＰＵ１０とプログラム１１０との協働により実行される。
【００４８】
まず、通信部１６を介してＰＣ２からのファイルが受信されたか否かが判断される（ステップＳ１１）。ここで、プログラム１１０にはＦＴＰプロトコルに基づくファイルの送受信を行うためのプログラムが含まれており、ＥＣＲ１では、ＦＴＰプロトコルによりＰＣ２から送信されたファイルを受信することが可能である。受信されたファイルは、ファイル受信メモリ１７に格納される。
【００４９】
通信部１６を介してファイルが受信されていないと判断されると（ステップＳ１１；ＮＯ）、入力装置１３においてキー入力が行われたか否かが判断され、キー入力が行われたと判断されると（ステップＳ１２；ＹＥＳ）、キー入力に応じた処理が実行され（ステップＳ１３）、処理はステップＳ１１に戻る。
入力装置１３においてキー入力が行われていないと判断されると（ステップＳ１２；ＮＯ）、処理はステップＳ１１に戻る。
【００５０】
ステップＳ１１において、通信部１６を介してファイルが受信されたと判断されると（ステップＳ１１；ＹＥＳ）、受信されたファイルがＩＰＬファイルであるか否かが判断される（ステップＳ１４）。
【００５１】
ここで、図８を参照して図７のステップＳ１４における判断処理について説明する。このステップＳ１４における判断処理により、第１の判断手段が実現される。
まず、変数Ｐに、受信ファイルのファイル名称が格納され、変数Ｓに受信ファイル名の拡張子が格納される（ステップＳ１０１）。なお、ＰＣ２から送信されるファイルには、全てＩＰＬファイルと同様に、ファイル属性（ファイル名、ファイルサイズ、ファイル作成日、書き込み禁止フラグ）が格納されている。
【００５２】
次いで、変数Ｐに格納されたファイル名称が予め定められた形式のファイル名称であり、かつ、変数Ｐに格納された拡張子が“ＩＰＬ”であるか否かが判断される（ステップＳ１０２）。ここで、ＩＰＬファイルのファイル名称は、更新対象となるＥＣＲ１の機器名称が付与されている。ＥＣＲ１の機器名称は、例えば、上位Ｎ桁に予め定められた文字等が含まれている、桁数が決まっている等の予め定められた形式を有している。また、ＩＰＬファイルの拡張子は“ＩＰＬ”である。そこで、ステップＳ１０２においては、受信ファイルのファイル名称及び拡張子に基づき受信ファイルがＩＰＬファイルであるか否かを判断する。
【００５３】
ステップＳ１０２において、変数Ｐに格納されているファイル名称が予め定められた形式ではないか又は変数Ｐに格納されている拡張子が“ＩＰＬ”ではないと判断されると（ステップＳ１０２；ＮＯ）、受信ファイルはＩＰＬファイルではないと判断される。
ステップＳ１０２において、変数Ｐに格納されているファイル名称が予め定められた形式であり、かつ、変数Ｐに格納されている拡張子が“ＩＰＬ”であると判断されると（ステップＳ１０２；ＹＥＳ）、受信ファイルのファイルサイズが一定値の範囲であるか否かが判断される（ステップＳ１０３）。
ここで、ＩＰＬファイルは、プログラム１１０を更新するためのファイルであり、ある一定値の範囲のファイルサイズで送信されてくる。そこで、ステップＳ１０３においては、受信ファイルのファイルサイズに基づき受信ファイルがＩＰＬファイルであるか否かを判断する。
【００５４】
ステップＳ１０３において、受信ファイルのファイルサイズが一定値の範囲ではないと判断されると（ステップ１０３；ＮＯ）、受信ファイルはＩＰＬファイルではないと判断される。
ステップＳ１０３において、受信ファイルのファイルサイズが一定値の範囲内であると判断されると（ステップＳ１０３；ＹＥＳ）、受信ファイルの作成日が予め定められた基準日以降であるか否かが判断される（ステップＳ１０４）。
ここで、予め定められた基準日は、例えば、ＩＰＬファイルのファイル形式が規定された日付等であり、それより前に作成されたファイルはＩＰＬファイルではないと判断することができる。そこで、ステップＳ１０４においては、受信ファイルのファイル作成日に基づき受信ファイルがＩＰＬファイルであるか否かを判断する。
【００５５】
ステップＳ１０４において、受信ファイルの作成日が予め定められた基準日より前であると判断されると（ステップ１０４；ＮＯ）、受信ファイルはＩＰＬファイルではないと判断される。
ステップＳ１０４において、受信ファイルの作成日が予め定められた基準日以降であると判断されると（ステップＳ１０４；ＹＥＳ）、受信ファイルが書き込み禁止になっているか、即ち、書き込み禁止フラグにＯＮが設定されているか否かが判断される（ステップＳ１０５）。
ここで、ＩＰＬファイルは、途中で書き換えられてはならないファイルであるため、作成時に書き込み禁止フラグがＯＮに設定されている。
【００５６】
ステップＳ１０５において、受信ファイルが書き込み禁止になっていないと判断されると（ステップ１０５；ＮＯ）、受信ファイルはＩＰＬファイルではないと判断される。
ステップＳ１０５において、受信ファイルが書き込み禁止になっていると判断されると（ステップＳ１０５；ＹＥＳ）、受信ファイルはＩＰＬファイルであると判断される。
【００５７】
図７に戻り、図８に示す判断処理の結果、受信ファイルがＩＰＬファイルではないと判断されると（ステップＳ１４；ＮＯ）、一般ファイル受信処理が実行され（ステップＳ１５）、処理はステップＳ１１に戻る。一般ファイル受信処理では、例えば、受信ファイルから商品名、単価等が取得され、ＲＡＭ１２のファイル格納エリア１２２のＰＬＵファイル、部門ファイル等に書き込まれる。
【００５８】
図８に示す判断の結果、受信ファイルがＩＰＬファイルであると判断されると（ステップＳ１４；ＹＥＳ）、通信部１６を介して、ＰＣ２より送信されてくるＩＰＬファイルの続きのデータが受信される（ステップＳ１６）。ＩＰＬファイルの全てのデータの受信が終了すると（ステップＳ１７；ＹＥＳ）、受信されたＩＰＬファイルが予め定められた要件を満たすか否かが判断される（ステップＳ１８）。予め定められた要件とは、具体的には、ＲＯＭ１１に現在記憶されているプログラム１１０の更新に用いるファイルとしての要件である。
【００５９】
ここで、図９を参照してステップＳ１８における判断処理について説明する。このステップＳ１８における判断処理により、第２の判断手段が実現される。
【００６０】
まず、受信ファイルのヘッダが変数Ｈに格納される（ステップＳ２０１）。
次いで、変数ＨがＲＯＭ１１に記憶されている機器名称１１２に一致しているか否かが判断され、一致していないと判断されると（ステップＳ２０２；ＮＯ）、受信されたＩＰＬファイルが予め定められた要件を満たさないと判断される。
【００６１】
変数ＨがＲＯＭ１１に記憶されている機器名称１１２に一致していると判断されると（ステップＳ２０２；ＹＥＳ）、受信されたＩＰＬファイルの版記号が変数Ｖｎｅｗに格納される（ステップＳ２０３）。また、現在ＲＯＭ１１に記憶されているプログラム１１０の版記号が変数Ｖｎｏｗに格納される（ステップＳ２０４）。上述のように、版記号は、仕向け、バージョン、管理番号を含む。現在のプログラム１１０の版記号は、プログラム１１０内に記述されている。
【００６２】
次いで、Ｖｎｅｗに含まれる仕向けとＶｎｏｗに含まれる仕向けが比較され、同じであるか否かが判断される（ステップＳ２０５）。Ｖｎｅｗに含まれる仕向けとＶｎｏｗに含まれる仕向けが同じではないと判断されると（ステップＳ２０５；ＮＯ）、受信されたＩＰＬファイルが予め定められた要件を満たさないと判断される。
【００６３】
Ｖｎｅｗに含まれる仕向けとＶｎｏｗに含まれる仕向けが同じであると判断されると（ステップＳ２０５；ＹＥＳ）、Ｖｎｅｗに含まれるバージョンとＶｎｏｗに含まれるバージョンが比較され、Ｖｎｅｗのバージョン＞Ｖｎｏｗのバージョンであるか否かが判断される（ステップＳ２０６）。Ｖｎｅｗのバージョン＞Ｖｎｏｗのバージョンではないと判断されると（ステップＳ２０６；ＮＯ）、受信されたＩＰＬファイルが予め定められた要件を満たさないと判断される。
【００６４】
Ｖｎｅｗのバージョン＞Ｖｎｏｗのバージョンであると判断されると（ステップＳ２０６；ＹＥＳ）、Ｖｎｅｗの管理番号＞Ｖｎｏｗの管理番号であるか否かが判断される（ステップＳ２０７）。Ｖｎｅｗの管理番号＞Ｖｎｏｗの管理番号ではないと判断されると（ステップＳ２０７；ＮＯ）、受信されたＩＰＬファイルが予め定められた要件を満たさないと判断される。
【００６５】
Ｖｎｅｗの管理番号＞Ｖｎｏｗの管理番号であると判断されると（ステップＳ２０７；ＹＥＳ）、受信されたＩＰＬファイルの全データから所定のアルゴリズムを用いてチェックサムが算出される（ステップＳ２０８）。次いで、算出されたチェックサムがＩＰＬファイル内のチェックサムと一致するか否かが判断され、一致しないと判断されると（ステップＳ２０９；ＮＯ）、受信されたＩＰＬファイルが予め定められた要件を満たさないと判断される。算出されたチェックサムがＩＰＬファイル内のチェックサムと一致すると判断されると（ステップＳ２０９；ＹＥＳ）、受信されたＩＰＬファイルが予め定められた要件を満たすと判断される。
【００６６】
図７に戻り、図９に示す判断処理の結果、受信されたＩＰＬファイルが予め定められた要件を満たさないと判断されると（ステップＳ１８；ＮＯ）、処理はステップＳ１１に戻る。
【００６７】
図９に示す判断処理の結果、受信されたＩＰＬファイルが予め定められた要件を満たすと判断されると（ステップＳ１８；ＹＥＳ）、受信されたＩＰＬファイルに基づいてＲＯＭ１１に記憶されているプログラム１１０が更新される（ステップＳ１９）。
【００６８】
ステップＳ１９では、図１０に示す以下の処理が実行される。
まず、ＲＡＭ１２のシステムエリア１２０にプログラム１１０の更新中であることを示す更新フラグ「０１」が設定される（ステップＳ３００）。次いで、ＥＣＲ１内のデータがバックアップ用フォーマットに変換される（ステップＳ３０１）。
【００６９】
図１１に、図１０のステップＳ３０１において実行される処理の詳細フローを示す。
まず、ＲＡＭ１２におけるファイル格納エリア１２２内のファイルの設定データ、合計器データ、ワークデータがゼロ圧縮され、一つのデータ「ＤＡＴＡ−１」としてまとめられ、ＲＡＭ１２のバックアップ用データ格納エリア１２４に格納される（ステップＳ３００１）。
【００７０】
次いで、ＲＡＭ１２に記憶されている起動コード、ＩＰアドレス、ターミナルＮＯ.、ターミナル名が一つのデータ「ＤＡＴＡ−２」としてまとめられ、ＲＡＭ１２のバックアップ用データ格納エリア１２４に格納される（ステップＳ３００２）。
【００７１】
次いで、計時部１９から現在の日付・時刻が取得され、ＲＯＭ１１に記憶されている機器名称１１２とともに一つのデータ「ＤＡＴＡ−３」としてまとめられ、ＲＡＭ１２のバックアップ用データ格納エリア１２４に格納される（ステップＳ３００３）。そして、処理は図１０のステップＳ３０２に移行する。
【００７２】
図１０のステップＳ３０２においては、バックアップ用フォーマットのデータ（バックアップデータ）が外部記録媒体接続部１８を介して外部記録媒体１８ａに書き込まれる（ステップＳ３０２）。
【００７３】
図１２に、図１０のステップＳ３０２において実行される処理の詳細フローを示す。
まず、ＲＡＭ１２のバックアップ用データ格納エリア１２４に格納されている「ＤＡＴＡ−１」に予め定められたファイル名（ここでは、「ＦＩＬＥ＊＊．ＤＡＴ」）が付与され、外部記録媒体接続部１８を介して外部記録媒体１８ａに書き込まれる（ステップＳ３０１１）。
【００７４】
次いで、ＲＡＭ１２のバックアップ用データ格納エリア１２４に格納されている「ＤＡＴＡ−２」に予め定められたファイル名（ここでは、「ＥＣＲＣＯＤＥ．ＤＡＴ」）が付与され、外部記録媒体接続部１８を介して外部記録媒体１８ａに書き込まれる（ステップＳ３０１２）。
【００７５】
次いで、ＲＡＭ１２のバックアップ用データ格納エリア１２４に格納されている「ＤＡＴＡ−３」に予め定められたファイル名（ここでは、「ＥＣＲＩＮＦ．ＤＡＴ」）が付与され、外部記録媒体接続部１８を介して外部記録媒体１８ａに書き込まれる（ステップＳ３０１３）。そして、処理は図１０のステップＳ３０３に移行する。
【００７６】
図１０のステップＳ３０３においては、受信されたＩＰＬファイルが外部記録媒体接続部１８を介して外部記録媒体１８ａに書き込まれる（ステップＳ３０３）。
外部記録媒体１８ａへのバックアップデータ及び受信されたＩＰＬファイルの書き込みが終了すると、受信されたＩＰＬファイルでＲＯＭ１１に記憶されているプログラム１１０が上書き更新され（ステップＳ３０４）、新しく上書きされたプログラム１１０が起動される（ステップＳ３０５）。
【００７７】
図１３に、図１０のステップＳ３０５において実行される処理の詳細フローを示す。
まず、外部記録媒体１８ａの「ＥＣＲＣＯＤＥ．ＤＡＴ」が外部記録媒体接続部１８を介して読み込まれ、起動コード、ＩＰアドレス、ターミナルＮＯ．、ターミナル名が取得される（ステップＳ３０２１）。
【００７８】
次いで、取得された起動コードでＩＮＩＴ起動が行われる（ステップＳ３０２２）。具体的には、ＲＡＭ１２内のシステムエリア１２０以外の領域のデータが初期化された後、上書きされたプログラム１１０がＲＡＭ１２のワークエリア１２１に読み出され、起動コードにより規定される設定（例えば、日本語で起動、英語で起動等）に基づいて起動される。プログラム１１０の起動時には、システムエリア１２０が参照される。ここで、システムエリア１２０に更新フラグ「０１」が設定されている場合には、プログラム１１０の更新処理中であると判断され、図１０のステップＳ３０６以降の処理を続行するための処理が実行される。
【００７９】
図１０のステップＳ３０６においては、外部記録媒体１８ａに記憶されているバックアップデータの確認が行われる。
【００８０】
図１４に、図１０のステップＳ３０６において実行される処理の詳細フローを示す。このステップＳ３０６における処理により、確認手段が実現される。
まず、外部記録媒体１８ａの「ＥＣＲＩＮＦ．ＤＡＴ」が外部記録媒体接続部１８を介して読み込まれ、日付・時刻、機器名称が取得される（ステップＳ３０３１）。
【００８１】
次いで、計時部１９から現在の日付・時刻が取得され、ステップＳ３０３１で取得された日付・時刻が現在から所定時間（例えば、１時間）以内であるか否かが判断される（ステップＳ３０３２）。ステップＳ３０３１で取得された日付・時刻が現在から所定時間以内の日付・時刻であると判断されると（ステップ３０３２；ＹＥＳ）、ステップＳ３０３１で取得された機器名称がＲＯＭ１１の機器名称１１２に一致するか否かが判断される（ステップＳ３０３３）。機器名称が一致すると判断されると（ステップＳ３０３３；ＹＥＳ）、処理は図１０のステップＳ３０７に移行する。
【００８２】
一方、外部記録媒体１８ａの「ＥＣＲＩＮＦ．ＤＡＴ」から取得された日付・時刻が現在から所定時間以内の日付・時刻ではないと判断された場合（ステップＳ３０３２；ＹＥＳ）、又は取得された機器名称がＲＯＭ１１に記憶されている機器名称１１２と一致しない場合（ステップＳ３０３３；ＮＯ）、表示装置１４に起動失敗時のエラーメッセージが表示され、動作が停止される（ステップＳ３０３４）。起動失敗時のエラーメッセージには、「バックアップデータを確認し、再更新キーを押してください」等の再更新を促すメッセージが表示される。
【００８３】
ここで、図１４のステップＳ３０３１で読み込まれた外部記録媒体１８ａの「ＥＣＲＩＮＦ．ＤＡＴ」が図１０のステップＳ３０２でバックアップされた「ＥＣＲＩＮＦ．ＤＡＴ」と同じであれば、ステップＳ３０３２の判断の時点において、上記読み込まれた「ＥＣＲＩＮＦ．ＤＡＴ」から取得された日付・時刻が現在から所定時間以内の日付・時刻のはずである。また、読み込まれた機器名称もＲＯＭ１１の機器名称１１２と一致するはずである。しかし、バックアップ後に外部記録媒体接続部１８に装着されている外部記録媒体１８ａが入れ替えられた等の異常があった場合、ステップＳ３０３２又はステップＳ３０３３の基準は満たさなくなる。そこで、ステップＳ３０３２及びステップＳ３０３３の判断によって、外部記録媒体接続部１８に現在装着されている外部記録媒体１８ａに記憶されているデータがステップＳ３０２でバックアップされたバックアップデータであるか否かを確認している。
【００８４】
図１０のステップＳ３０７においては、外部記録媒体１８ａからバックアップデータが復元される（ステップＳ３０７）。
【００８５】
図１５に、図１０のステップＳ３０７において実行される処理の詳細フローを示す。このステップＳ３０７における処理により、復元手段が実現される。
まず、外部記録媒体接続部１８を介して外部記録媒体１８ａから「ＦＩＬＥ＊＊．ＤＡＴ」が読み込まれ、ＲＡＭ１２のバックアップ用データ格納エリア１２４にＤＡＴＡ−１として格納される（ステップＳ３０４１）。
【００８６】
次いで、ＤＡＴＡ−１のデータ（ゼロ圧縮されているデータ）が解凍され、ファイル格納エリア１２２にＰＬＵファイル、部門ファイル、固定合計器等のファイルとして書き込まれる（ステップＳ３０４２）。
【００８７】
次いで、外部記録媒体１８ａから外部記録媒体接続部１８を介して「ＥＣＲＣＯＤＥ．ＤＡＴ」が読み込まれ、ＲＡＭ１２のバックアップ用データ格納エリア１２４にＤＡＴＡ−２として格納される（ステップＳ３０４３）。
【００８８】
次いで、ＤＡＴＡ−２の起動コード、ＩＰアドレス、ターミナルＮＯ．、ターミナル名がそれぞれデータ格納エリア１２３に書き込まれ（ステップＳ３０４４）、処理は図１０のステップＳ３０８に移行する。
【００８９】
図１０のステップＳ３０８においては、ＲＡＭ１２のシステムエリア１２０にプログラム１１０の更新が終了したことを示す更新フラグ「１１」が設定される（ステップＳ３０８）。
以上で図７のステップＳ１９における一連の更新処理は終了し、処理は図７のステップＳ１１に戻る。ＥＣＲ１の電源が遮断されるまでステップＳ１１〜Ｓ１９の処理が繰り返し実行される。
【００９０】
次に、プログラム１１０の上書き中に停電や電源断が発生した場合や、図１４に示すバックアップデータの確認処理が異常終了した場合等の更新時エラーの発生時に、プログラム１１０の再更新を実行するための更新時エラー処理について説明する。
【００９１】
図１６に、入力装置１３の再更新キーが押下された際にＣＰＵ１０により実行される更新時エラー処理のフローを示す。この更新時エラー処理は、ＣＰＵ１０と更新時エラー処理プログラム１１１との協働により実行される。この更新時エラー処理の実行により再更新手段が実現される。
【００９２】
まず、プログラム１１０の更新途中であるか否かが判断され、更新途中ではないと判断されると（ステップＴ１；ＮＯ）、当該更新時エラー処理は終了する。ステップＴ１における更新途中であるか否かの判断は、ＲＯＭ１１に記憶されているプログラム１１０に含まれるチェックサムに基づいて行われる。プログラム１１０には、ＩＰＬファイルのファイル属性、ヘッダ、版記号、ＩＰＬデータ、チェックサムが含まれている。即ち、プログラム１１０にはチェックサムが含まれる。更新途中であれば、プログラム１１０に含まれるチェックサムとプログラム１１０のデータから算出したチェックサムは一致しなくなる。そこで、ステップＴ１においてはプログラム１１０のデータからチェックサムが算出され、この算出されたチェックサムとプログラム１１０に含まれるチェックサムとの比較結果に基づいて更新途中であるか否かが判断される。
【００９３】
プログラム１１０の更新途中であると判断されると（ステップＴ１；ＹＥＳ）、外部記録媒体接続部１８を介して外部記録媒体１８ａからＩＰＬファイルが読み込まれ（ステップＴ２）、読み込まれたＩＰＬファイルによりＲＯＭ１１のプログラム１１０が上書き更新される（ステップＴ３）。そして、新しく上書きされたプログラム１１０が起動される（ステップＴ４）。
ステップＴ４において実行される処理の詳細は、図１３を用いて説明したものと同様であるので説明を援用する。
【００９４】
次いで、外部記録媒体接続部１８を介して、外部記録媒体１８ａに記憶されているバックアップデータの確認が行われる（ステップＴ５）。ステップＴ５において実行される処理の詳細は、図１４を用いて説明したものと同様であるので説明を援用する。
【００９５】
次いで、外部記録媒体接続部１８を介して、外部記録媒体１８ａからバックアップデータが復元される（ステップＴ６）。ステップＴ６において実行される処理の詳細は、図１５を用いて説明したものと同様であるので説明を援用する。
そして、ＲＡＭ１２のシステムエリア１２０にプログラム１１０の更新が終了したことを示す更新フラグ「１１」が設定され（ステップＴ７）、更新時エラー処理は終了する。
【００９６】
以上説明したように、本実施の形態におけるＥＣＲ１によれば、ＣＰＵ１０は、通信部１６を介してＰＣ２からのファイルが受信されると、受信されたファイルがＩＰＬファイルであるか否かを判断する。受信されたファイルがＩＰＬファイルである場合、ＣＰＵ１０は、受信されたＩＰＬファイルがＲＯＭ１１に記憶されているプログラム１１０を更新するＩＰＬファイルとして予め定められた要件を満たすか否かを判断する。受信されたＩＰＬファイルが予め定められた要件を満たす場合、ＣＰＵ１０は、受信されたＩＰＬファイルに基づいてＲＯＭ１１に記憶されているプログラム１１０を更新する。
【００９７】
従って、オペレータによる操作やＩＰＬファイルの内容の確認を必要とせずに、ＰＣ２から送信されたＩＰＬファイルを受信し、受信したＩＰＬファイルに基づいてＲＯＭ１１に記憶されているプログラム１１０を自動的に更新することが可能となる。また、ＥＣＲ１では、受信されたファイルがＩＰＬファイルであるか否かを判断できるので、特別な環境を必要とせず、従来から売上ファイルの設定データに関するファイルを受信する際に使用されているファイル転送機能を利用して、ＰＣ２からＩＰＬファイルを送信しプログラムを更新させることが可能となる。
【００９８】
また、受信されたファイルがＩＰＬファイルである場合、ＣＰＵ１０は、ＩＰＬファイルのヘッダが予め定められた記述であることを含む予め定められた要件を満たすか否かを判断し、予め定められた要件を満たすと判断した場合にＲＯＭ１１のプログラム１１０を更新する。従って、プログラム１１０の更新に適合しないヘッダをもつＩＰＬファイルにより誤って更新が行われることを防止することができる。
【００９９】
また、受信されたファイルがＩＰＬファイルである場合、ＣＰＵ１０は、ＩＰＬファイルの仕向けが現在ＲＯＭ１１に記憶されているプログラム１１０の仕向けと一致すること、を含む予め定められた要件を満たすか否かを判断し、予め定められた要件を満たすと判断した場合にＲＯＭ１１のプログラム１１０を更新する。従って、プログラム１１０の更新に適合しない仕向けのＩＰＬファイルにより誤って更新が行われることを防止することができる。
【０１００】
また、受信されたファイルがＩＰＬファイルである場合、ＣＰＵ１０は、ＩＰＬファイルのバージョンが現在ＲＯＭ１１に記憶されているプログラム１１０のバージョンより大きいバージョンであること、を含む予め定められた要件を満たすか否かを判断し、予め定められた要件を満たすと判断した場合にＲＯＭ１１のプログラム１１０を更新する。従って、プログラム１１０より低いバージョンのＩＰＬファイルにより誤って更新が行われることを防止することができる。
【０１０１】
また、受信されたファイルがＩＰＬファイルである場合、ＣＰＵ１０は、ＩＰＬファイルの管理番号が現在ＲＯＭ１１に記憶されているプログラム１１０の管理番号より大きい管理番号であること、を含む予め定められた要件を満たすか否かを判断し、予め定められた要件を満たすと判断した場合にＲＯＭ１１のプログラム１１０を更新する。従って、プログラム１１０より小さい管理番号のＩＰＬファイルにより誤って更新が行われることを防止することができる。
【０１０２】
また、受信されたファイルがＩＰＬファイルである場合、ＣＰＵ１０は、ＩＰＬファイルに格納されているチェックサムがＩＰＬファイルのデータから算出したチェックサムと一致すること、を含む予め定められた要件を満たすか否かを判断し、予め定められた要件を満たすと判断した場合にＲＯＭ１１のプログラム１１０を更新する。従って、データが書き換えられた可能性のあるＩＰＬファイルにより誤って更新が行われることを防止することができる。
【０１０３】
また、プログラム１１０の更新前に、外部記録媒体１８ａに受信したＩＰＬファイルを書き込んでおき、更新が中断された場合に、外部記録媒体１８ａに記憶されたＩＰＬファイルに基づいてプログラム１１０を更新することができるので、万一更新が中断された場合にも最後までプログラム１１０の更新を完了させることが可能となる。
【０１０４】
また、ＲＡＭ１２に記憶されているＰＬＵファイル等の売上ファイルのデータはプログラムの更新時に外部記録媒体１８ａにバックアップされ、プログラムの更新後に、外部記録媒体１８ａに記憶されているデータが更新前にＲＡＭ１２に記憶されていたデータであるか確認の上、復元が行われる。従って、誤ったデータがＲＡＭ１２に書き込まれることを防止することができる。
【０１０５】
なお、上記実施形態における記述内容は、本発明に係るプログラム管理システム１００の好適な一例であり、これに限定されるものではない。
例えば、ＩＰＬファイルであるか否かの判断基準、プログラム１１０の更新に用いるＩＰＬファイルとしての要件は、上記実施形態で示したものに限定されず、例えば、他の判断基準や要件を追加してもよい。
【０１０６】
その他、プログラム管理システム１００を構成する各装置の細部構成及び細部動作に関しても、発明の趣旨を逸脱することのない範囲で適宜変更可能である。
【図面の簡単な説明】
【０１０７】
【図１】本発明の実施形態におけるプログラム管理システムの全体構成例を示す図である。
【図２】図１のＥＣＲの機能的構成を示すブロック図である。
【図３】図２のＲＡＭの構成例を示す図である。
【図４】図１のＰＣの機能的構成を示すブロック図である。
【図５】図４のＣＰＵにより実行されるＩＰＬファイル送信処理を示すフローチャートである。
【図６】ＩＰＬファイルのファイル構造を示す図である。
【図７】図２のＣＰＵにより実行されるＥＣＲ制御処理を示すフローチャートである。
【図８】図８のステップＳ１４の判断処理を示すフローチャートである。
【図９】図８のステップＳ１８の判断処理を示すフローチャートである。
【図１０】図８のステップＳ１９の処理を示すフローチャートである。
【図１１】図１０のステップＳ３０１の処理を示すフローチャートである。
【図１２】図１０のステップＳ３０２の処理を示すフローチャートである。
【図１３】図１０のステップＳ３０５の処理を示すフローチャートである。
【図１４】図１０のステップＳ３０６の処理を示すフローチャートである。
【図１５】図１０のステップＳ３０７の処理を示すフローチャートである。
【図１６】図２のＣＰＵにより実行される更新時エラー処理を示すフローチャートである。
【符号の説明】
【０１０８】
１  ＥＣＲ
１０  ＣＰＵ
１１  ＲＯＭ
１１０  プログラム
１１１  更新時エラー処理プログラム
１１２  機器名称
１２  ＲＡＭ
１２０  システムエリア
１２１  ワークエリア
１２２  ファイル格納エリア
１２３  データ格納エリア
１２４  バックアップ用データ格納エリア
１３  入力装置
１４  表示装置
１５  印字装置
１６  通信部
１７  ファイル受信メモリ
１８  外部記録媒体接続部
１９  計時部
１０１  バス
２  ＰＣ
２０  ＣＰＵ
２１  記憶部
２２  ＲＡＭ
２３  入力装置
２４  表示装置
２５  通信部
２６  外部記録媒体接続部
２７  バス
【図１】
2010079340.tif 000003
【図２】
2010079340.tif 000004
【図３】
2010079340.tif 000005
【図４】
2010079340.tif 000006
【図５】
2010079340.tif 000007
【図６】
2010079340.tif 000008
【図７】
2010079340.tif 000009
【図８】
2010079340.tif 000010
【図９】
2010079340.tif 000011
【図１０】
2010079340.tif 000012
【図１１】
2010079340.tif 000013
【図１２】
2010079340.tif 000014
【図１３】
2010079340.tif 000015
【図１４】
2010079340.tif 000016
【図１５】
2010079340.tif 000017
【図１６】
2010079340.tif 000018