(57)【特許請求の範囲】
【請求項１】
第１のプログラムのインストールの終了に際して、プログラムの累積インストール回数を表す第１フィールド，第１のプログラムの格納アドレスを表す第１アドレスフィールド及び第１フィールドと同じ値を表す第２フィールドを、夫々に順次的にアドレスを割り当てて第１の記憶領域に記憶し、
第２のプログラムのインストールの開始に際して、所定値を表す第３フィールドを第２の記憶領域に記憶し、第２のプログラムを第１のプログラムとは異なる記憶領域にインストールし、
第２のプログラムのインストールの終了に際して、プログラムの累積インストール回数を表す第３フィールド，第２のプログラムの格納アドレスを表す第２アドレスフィールド及び第３フィールドと同じ値を表す第４フィールドを、夫々に順次的にアドレスを割り当てて第２の記憶領域に記憶し、
プログラムの実行に際して第１及び第２の記憶領域から第１フィールド，第２フィールド，第３フィールド及び第４フィールドの値を読み出し、
読み出した第１フィールド及び第２フィールドの値の一致並びに第３フィールド及び第４フィールドの値の一致を判別し、
後者不一致で前者一致のときは前記第１アドレスフィールドを選択し、選択した第１アドレスフィールドに表された格納アドレスから前記第１のプログラムを読み出して実行し、
後者一致で前者不一致のときは前記第２アドレスフィールドを選択し、選択した第２アドレスフィールドに表された格納アドレスから前記第２のプログラムを読み出して実行し、
前者及び後者が共に一致のときは、前記第１のプログラム又は前記第２のプログラムのうち指定されたほうのプログラムを、前記第１アドレスフィールド又は前記第２のアドレスフィールドに表された格納アドレスから読み出して実行することを特徴とするプログラム管理方法。
【請求項２】
第１の動作環境の設定の終了に際して、動作環境の累積設定回数を表す第１フィールド，第１の動作環境の格納アドレスを表す第１アドレスフィールド及び第１フィールドと同じ値を表す第２フィールドを、夫々に順次的にアドレスを割り当てて第１の記憶領域に記憶し、
第２の動作環境の設定の開始に際して、所定値を表す第３フィールドを第２の記憶領域に記憶し、
第２の動作環境を第１の動作環境とは異なる記憶領域に設定し、第２の動作環境の設定の終了に際して、動作環境の累積設定回数を表す第３フィールド，第２の動作環境の格納アドレスを表す第２アドレスフィールド及び第３フィールドと同じ値を表す第４フィールドを、夫々に順次的にアドレスを割り当てて第２の記憶領域に記憶し、
プログラムの実行に際して第１及び第２の記憶領域から第１フィールド，第２フィールド，第３フィールド及び第４フィールドの値を読み出し、
読み出した第１フィールド及び第２フィールドの値の一致並びに第３フィールド及び第４フィールドの値の一致を判別し、
後者不一致で前者一致のときは前記第１アドレスフィールドを選択し、選択した第１アドレスフィールドに表された格納アドレスから前記第１の動作環境を読み出し、該動作環境に基づき前記プログラムを実行し、
後者一致で前者不一致のときは前記第２アドレスフィールドを選択し、選択した第２アドレスフィールドに表された格納アドレスから前記第２の動作環境を読み出し、該動作環境に基づき前記プログラムを実行し、
前者及び後者が共に一致のときは、第１フィールドの値が第３フィールドの値よりも大きい場合には前記第１アドレスフィールドを選択し、選択した第１アドレスフィールドに表された格納アドレスから前記第１の動作環境を読み出し、該動作環境に基づき前記プログラムを実行する一方、第３フィールドの値が第１フィールドの値よりも大きい場合には前記第２アドレスフィールドを選択し、選択した第２アドレスフィールドに表された格納アドレスから前記第２の動作環境を読み出し、該動作環境に基づき前記プログラムを実行することを特徴とするプログラム管理方法。
【請求項３】
第１及び第２のプログラムをインストールするプログラム記憶領域と、
第１のプログラムのインストール後のプログラムの累積インストール回数を表す第１フィールド，第１のプログラムの格納アドレスを表す第１アドレスフィールド及び第１フィールドと同じ値を表す第２フィールドを記憶する第１の記憶領域と、
第２のプログラムのインストール後のプログラムの累積インストール回数を表す第３フィールド，第２のプログラムの格納アドレスを表す第２アドレスフィールド及び第３フィールドと同じ値を表す第４フィールドを記憶する第２の記憶領域と、
プログラムの実行に際して第１及び第２の記憶領域から第１フィールド，第２フィールド，第３フィールド及び第４フィールドの値を読み出す手段と、
読み出した第１フィールド及び第２フィールドの値の一致並びに第３フィールド及び第４フィールドの値の一致を判別する手段と、
後者不一致で前者一致のときは前記第１アドレスフィールドを選択し、選択した第１アドレスフィールドに表された格納アドレスから前記第１のプログラムを読み出して実行し、また、後者一致で前者不一致のときは前記第２アドレスフィールドを選択し、選択した第２アドレスフィールドに表された格納アドレスから前記第２のプログラムを読み出して実行し、そして、前者及び後者が共に一致のときは、前記第１のプログラム又は前記第２のプログラムのうち指定されたほうのプログラムを、前記第１アドレスフィールド又は前記第２のアドレスフィールドに表された格納アドレスから読み出して実行する手段と
を備えることを特徴とするプログラム管理装置。
【請求項４】
第１の動作環境及び第２の動作環境を設定する動作環境記憶領域と、
第１の動作環境の設定後の累積設定回数を表す第１フィールド，第１の動作環境の格納アドレスを表す第１アドレスフィールド及び第１フィールドと同じ値を表す第２フィールドを記憶する第１の記憶領域と、
第２の動作環境の設定後の累積設定回数を表す第３フィールド，第２の動作環境の格納アドレスを表す第２アドレスフィールド及び第３フィールドと同じ値を表す第４フィールドを記憶する第２の記憶領域と、
プログラムの実行に際して第１及び第２の記憶領域から第１フィールド，第２フィールド，第３フィールド及び第４フィールドの値を読み出す手段と、
読み出した第１フィールド及び第２フィールドの値の一致並びに第３フィールド及び第４フィールドの値の一致を判別する手段と、
後者不一致で前者一致のときは前記第１アドレスフィールドを選択し、選択した第１アドレスフィールドに表された格納アドレスから前記第１の動作環境を読み出し、該動作環境に基づき前記プログラムを実行し、後者一致で前者不一致のときは前記第２アドレスフィールドを選択し、選択した第２アドレスフィールドに表された格納アドレスから前記第２の動作環境を読み出し、該動作環境に基づき前記プログラムを実行し、前者及び後者が共に一致のときは、第１フィールドの値が第３フィールドの値よりも大きい場合には前記第１アドレスフィールドを選択し、選択した第１アドレスフィールドに表された格納アドレスから前記第１の動作環境を読み出し、該動作環境に基づき前記プログラムを実行する一方、第３フィールドの値が第１フィールドの値よりも大きい場合には前記第２アドレスフィールドを選択し、選択した第２アドレスフィールドに表された格納アドレスから前記第２の動作環境を読み出し、該動作環境に基づき前記プログラムを実行する手段と
を備えることを特徴とするプログラム管理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、現行のシステム制御プログラムと取り替えるべき新規なシステム制御プログラムのインストールに失敗した後に、システム制御プログラムの実行指令を受けたとき、現行のシステム制御プログラムを起動することができるプログラム管理方法及びその装置に関する。
また、現行の動作環境と取り替えるべき新規な動作環境の設定に失敗した後に、システム制御プログラムの実行指令を受けたとき、現行の動作環境に基づきシステム制御プログラムを起動することができるプログラム管理方法及びその装置に関する。
【０００２】
【従来の技術】
プロセッサ及び記憶回路を備え、該プロセッサにおいて実行されるシステム制御プログラム（以下、システムプログラムという）によってその動作を制御すべくなした印刷装置がある。前記システムプログラムは、記憶回路の規定の記憶領域に記憶させるべく定められており、印刷装置の起動時に、前記記憶領域から読み出されて実行される。
従って、現在運用しているシステムプログラムの機能向上等のために、新規なシステムプログラムをインストールする場合、現行のシステムプログラムの記憶領域に新規なシステムプログラムを上書きすることになる。
【０００３】
【発明が解決しようとする課題】
ところで、新規なシステムプログラムを現行のシステムプログラムの記憶領域に上書きしている最中に、印刷装置の電源切断等の事故が生じた場合、通常運用の手順によって印刷装置を起動することができなくなってしまうことがある。このような場合、ユーザはその復旧のために多くの手間及び時間を消費することを余儀なくされる。
【０００４】
このようなシステムプログラムの取り替えの際に生じた事故からの復旧に関し、特開平７−２８６３２  号公報において、オペレーティングシステムの入れ替えの際の異常が検出された場合に自動的に旧来のオペレーティングシステムに復旧するオペレーティングシステムの自動入れ替え方法が提案されている。
この方法は、新規なオペレーティングシステムを旧来のオペレーティングシステムとは別の記憶領域にインストールすることによって、旧来のオペレーティングシステムを保存しておき、新規なオペレーティングシステムの自己動作の確認を行って、異常が認められたときに旧来のオペレーティングシステムを読み出して実行する。
ところが、この方法において行われる自己動作の確認とは、新規にインストールしたオペレーティングシステム自身に動作上の欠陥が存在するか否かを確認するものであって、そのインストール手順が正常に行われたことを確認するものではなかった。従って、前述の如き問題を解決することはできない。
【０００５】
また、ネットワークに接続して使用する装置においては、ネットワークのシステム構成の変更に伴う動作環境の再設定の最中に、ネットワークのシステムダウン等の事故が生じたとき、正常にネットワークに接続することができなくなってしまう。このような場合、ユーザはその復旧のために特殊な設定操作を行わなければならず、煩わしい。
【０００６】
本発明は斯かる事情に鑑みてなされたものであって、新規なシステムプログラムを現行のシステムプログラムとは異なる記憶領域にインストールして、新規なシステムプログラムのインストールを失敗したことに起因するシステムプログラムの実行不良が生じた場合に、現行のシステムプログラムを読み出して実行させることができるプログラム管理方法及びその実施に使用する装置の提供を目的とする。
また、システムプログラムの新規な動作環境を現行の動作環境とは異なる記憶領域に設定して、新規な動作環境の設定に失敗したことに起因するシステムプログラムの起動不良が生じた場合に、現行の動作環境を読み出し、該動作環境に基づきシステムプログラムを実行させることができるプログラム管理方法及びその実施に使用する装置の提供を他の目的とする。
【０００７】
【課題を解決するための手段】
第１発明に係るプログラム管理方法は、第１のプログラムのインストールの終了に際して、プログラムの累積インストール回数を表す第１フィールド，第１のプログラムの格納アドレスを表す第１アドレスフィールド及び第１フィールドと同じ値を表す第２フィールドを、夫々に順次的にアドレスを割り当てて第１の記憶領域に記憶し、第２のプログラムのインストールの開始に際して、所定値を表す第３フィールドを第２の記憶領域に記憶し、第２のプログラムを第１のプログラムとは異なる記憶領域にインストールし、第２のプログラムのインストールの終了に際して、プログラムの累積インストール回数を表す第３フィールド，第２のプログラムの格納アドレスを表す第２アドレスフィールド及び第３フィールドと同じ値を表す第４フィールドを、夫々に順次的にアドレスを割り当てて第２の記憶領域に記憶し、プログラムの実行に際して第１及び第２の記憶領域から第１フィールド，第２フィールド，第３フィールド及び第４フィールドの値を読み出し、読み出した第１フィールド及び第２フィールドの値の一致並びに第３フィールド及び第４フィールドの値の一致を判別し、後者不一致で前者一致のときは前記第１アドレスフィールドを選択し、選択した第１アドレスフィールドに表された格納アドレスから前記第１のプログラムを読み出して実行し、後者一致で前者不一致のときは前記第２アドレスフィールドを選択し、選択した第２アドレスフィールドに表された格納アドレスから前記第２のプログラムを読み出して実行し、前者及び後者が共に一致のときは、前記第１のプログラム又は前記第２のプログラムのうち指定されたほうのプログラムを、前記第１アドレスフィールド又は前記第２のアドレスフィールドに表された格納アドレスから読み出して実行することを特徴とする。
【０００８】
第２発明に係るプログラム管理方法は、第１の動作環境の設定の終了に際して、動作環境の累積設定回数を表す第１フィールド，第１の動作環境の格納アドレスを表す第１アドレスフィールド及び第１フィールドと同じ値を表す第２フィールドを、夫々に順次的にアドレスを割り当てて第１の記憶領域に記憶し、第２の動作環境の設定の開始に際して、所定値を表す第３フィールドを第２の記憶領域に記憶し、第２の動作環境を第１の動作環境とは異なる記憶領域に設定し、第２の動作環境の設定の終了に際して、動作環境の累積設定回数を表す第３フィールド，第２の動作環境の格納アドレスを表す第２アドレスフィールド及び第３フィールドと同じ値を表す第４フィールドを、夫々に順次的にアドレスを割り当てて第２の記憶領域に記憶し、プログラムの実行に際して第１及び第２の記憶領域から第１フィールド，第２フィールド，第３フィールド及び第４フィールドの値を読み出し、読み出した第１フィールド及び第２フィールドの値の一致並びに第３フィールド及び第４フィールドの値の一致を判別し、後者不一致で前者一致のときは前記第１アドレスフィールドを選択し、選択した第１アドレスフィールドに表された格納アドレスから前記第１の動作環境を読み出し、該動作環境に基づき前記プログラムを実行し、後者一致で前者不一致のときは前記第２アドレスフィールドを選択し、選択した第２アドレスフィールドに表された格納アドレスから前記第２の動作環境を読み出し、該動作環境に基づき前記プログラムを実行し、前者及び後者が共に一致のときは、第１フィールドの値が第３フィールドの値よりも大きい場合には前記第１アドレスフィールドを選択し、選択した第１アドレスフィールドに表された格納アドレスから前記第１の動作環境を読み出し、該動作環境に基づき前記プログラムを実行する一方、第３フィールドの値が第１フィールドの値よりも大きい場合には前記第２アドレスフィールドを選択し、選択した第２アドレスフィールドに表された格納アドレスから前記第２の動作環境を読み出し、該動作環境に基づき前記プログラムを実行することを特徴とする。
【０００９】
第３発明に係るプログラム管理装置は、第１及び第２のプログラムをインストールするプログラム記憶領域と、第１のプログラムのインストール後のプログラムの累積インストール回数を表す第１フィールド，第１のプログラムの格納アドレスを表す第１アドレスフィールド及び第１フィールドと同じ値を表す第２フィールドを記憶する第１の記憶領域と、第２のプログラムのインストール後のプログラムの累積インストール回数を表す第３フィールド，第２のプログラムの格納アドレスを表す第２アドレスフィールド及び第３フィールドと同じ値を表す第４フィールドを記憶する第２の記憶領域と、プログラムの実行に際して第１及び第２の記憶領域から第１フィールド，第２フィールド，第３フィールド及び第４フィールドの値を読み出す手段と、読み出した第１フィールド及び第２フィールドの値の一致並びに第３フィールド及び第４フィールドの値の一致を判別する手段と、後者不一致で前者一致のときは前記第１アドレスフィールドを選択し、選択した第１アドレスフィールドに表された格納アドレスから前記第１のプログラムを読み出して実行し、また、後者一致で前者不一致のときは前記第２アドレスフィールドを選択し、選択した第２アドレスフィールドに表された格納アドレスから前記第２のプログラムを読み出して実行し、そして、前者及び後者が共に一致のときは、前記第１のプログラム又は前記第２のプログラムのうち指定されたほうのプログラムを、前記第１アドレスフィールド又は前記第２のアドレスフィールドに表された格納アドレスから読み出して実行する手段とを備えることを特徴とする。
【００１０】
第４発明に係るプログラム管理装置は、第１の動作環境及び第２の動作環境を設定する動作環境記憶領域と、第１の動作環境の設定後の累積設定回数を表す第１フィールド，第１の動作環境の格納アドレスを表す第１アドレスフィールド及び第１フィールドと同じ値を表す第２フィールドを記憶する第１の記憶領域と、第２の動作環境の設定後の累積設定回数を表す第３フィールド，第２の動作環境の格納アドレスを表す第２アドレスフィールド及び第３フィールドと同じ値を表す第４フィールドを記憶する第２の記憶領域と、プログラムの実行に際して第１及び第２の記憶領域から第１フィールド，第２フィールド，第３フィールド及び第４フィールドの値を読み出す手段と、読み出した第１フィールド及び第２フィールドの値の一致並びに第３フィールド及び第４フィールドの値の一致を判別する手段と、後者不一致で前者一致のときは前記第１アドレスフィールドを選択し、選択した第１アドレスフィールドに表された格納アドレスから前記第１の動作環境を読み出し、該動作環境に基づき前記プログラムを実行し、後者一致で前者不一致のときは前記第２アドレスフィールドを選択し、選択した第２アドレスフィールドに表された格納アドレスから前記第２の動作環境を読み出し、該動作環境に基づき前記プログラムを実行し、前者及び後者が共に一致のときは、第１フィールドの値が第３フィールドの値よりも大きい場合には前記第１アドレスフィールドを選択し、選択した第１アドレスフィールドに表された格納アドレスから前記第１の動作環境を読み出し、該動作環境に基づき前記プログラムを実行する一方、第３フィールドの値が第１フィールドの値よりも大きい場合には前記第２アドレスフィールドを選択し、選択した第２アドレスフィールドに表された格納アドレスから前記第２の動作環境を読み出し、該動作環境に基づき前記プログラムを実行する手段とを備えることを特徴とする。
【００１１】
本発明に係るプログラム管理装置はプロセッサ及び記憶回路を備え、該プロセッサにおいて実行されるシステムプログラムによってその動作を制御すべくなしてある。
第１発明のプログラム管理方法及び第３発明のプログラム管理装置は、システムプログラムのインストールの進捗状況に応じて記憶させたフィールドの値に基づきインストールの成功可否を判別する。
【００１２】
具体的には、記憶回路に記憶された第１フィールド，第２フィールド，第３フィールド及び第４フィールドの値には累積インストール回数を表すべくなしてある。例えば工場出荷時には既に第１のプログラム、即ち現行のシステムプログラムがインストールされており、前記第１フィールド及び第２フィールドにはプログラムの累積インストール回数として１が設定されているものとする。また、第３フィールド及び第４フィールドには例えば、夫々０及び１を設定することにより、第２のプログラムのインストールを行っていないことを表しておく。
【００１３】
この場合において、第２のプログラム、即ち新規なシステムプログラムのインストールの開始時に第３フィールドの値と第４フィールドの値とが一致しないように第３フィールドの値を所定値（例えば０）を設定して記憶させ、インストールの終了時に第３フィールド及び第４フィールドに累積インストール回数（この場合、２）を設定して記憶させる。インストールの最中に電源切断等の事故が発生したとき、第３フィールドの値と第４フィールドの値が一致しなくなるので、システムプログラムの実行に際してこれらが一致するか否かを判別することによって、システムプログラムのインストールの成功可否を判別することができる。
【００１４】
また、第２発明のプログラム管理方法及び第４発明のプログラム管理装置は、前述の如きインストールの成功可否を判別する原理に基づいて、プログラムの動作環境の設定の成功可否を判別する。
【００１５】
【発明の実施の形態】
図１は本発明のプログラム管理装置の構成を示すブロック図である。図において、１はプログラム管理装置である印刷装置であって、システムプログラムに基づき印刷装置１を駆動するＭＰＵ  ２，データを受信する受信回路３，受信データがシステムプログラムであるか否かを解析する解析処理部４，インストール手順を制御するインストール処理部５，ワークメモリ６及び記憶回路７を備える。ワークメモリ６は、実行すべきＩＰＬ  プログラム及びシステムプログラム並びにプログラム管理テーブル等を必要に応じて記憶する。また記憶回路７は書換え可能な不揮発性メモリを用いてなり、現行のシステムプログラム及び新規なシステムプログラム並びにそれらを選択して実行するためのプログラム管理テーブル等を記憶する。更にまた印刷装置１は、インストールすべきシステムプログラムの送信及び動作環境の設定入力を行うためのコンピュータ８と接続してある。
【００１６】
図２は記憶回路７の記憶内容の一例を示す説明図である。図に示すように、記憶回路７にはシステムプログラムを読み出して起動させるＩＰＬ  プログラムを記憶するＩＰＬ  プログラム領域，現行のシステムプログラム又は新規なシステムプログラムを記憶するシステムプログラム領域Ａ，システムプログラム領域Ｂ及び工場出荷時にインストールしておくシステムプログラムを記憶するシステムプログラム領域Ｃ並びに各システムプログラムと対応付けたプログラム管理テーブルを記憶するプログラム管理テーブル領域Ａ，プログラム管理テーブル領域Ｂ及びプログラム管理テーブル領域Ｃを設けてある。工場出荷時には、システムプログラム領域Ａ又はＢのいずれかとシステムプログラム領域Ｃにシステムプログラムをインストールしてあって、対応するプログラム管理テーブルにその情報を表しておく。
また、各システムプログラムに適合する印刷装置の動作環境を表すセットアップデータ、具体的にはＩＰアドレス，ネットアドレス，デフォルトゲートウェイ等の情報を記憶するセットアップデータ領域Ａ，セットアップデータ領域Ｂ及びセットアップデータ領域Ｃ並びに各セットアップデータと対応付けたセットアップ管理テーブルを記憶するセットアップ管理テーブル領域Ａ，セットアップ管理テーブル領域Ｂ及びセットアップ管理テーブル領域Ｃを設けてある。
【００１７】
プログラム管理テーブルは先頭から順に、システムプログラムの累積インストール回数を表す先頭フィールド（前述の第１／第３フィールド），プログラム管理テーブルを識別するためのテーブル番号，起動すべきシステムプログラムを表す起動システムＩＤ，現行または新規なシステムプログラムのインストール先アドレスを表すアドレスＡおよびアドレスＢ，工場出荷時のシステムプログラムのインストール先アドレスを表すアドレスＣ及び前記先頭フィールドと同じく累積インストール回数を表す末尾フィールド（前述の第２／第４フィールド）からなる。起動システムＩＤは、前記アドレスＡ又はアドレスＢのいずれかと対応させてある。
【００１８】
セットアップ管理テーブルは先頭から順に、セットアップデータの累積設定回数を表す先頭フィールド，セットアップ管理テーブルを識別するためのテーブル番号，参照すべきセットアップデータを表す参照セットアップＩＤ，セットアップデータの更新履歴を表すセットアップデータ版数，  現行または新規なセットアップデータの格納アドレスを表すセットアップアドレスＡおよびセットアップアドレスＢ及び前記先頭フィールドと同じく累積設定回数を表す末尾フィールドからなる。参照セットアップＩＤは、前記セットアップアドレスのいずれかと対応させてある。
【００１９】
システムプログラム領域には先頭から順に、データ種別を表すＥＣ名，システムプログラムの版数，オフセット，システムプログラムのサイズを表すプログラムレングス，対応するセットアップデータを表すセットアップデータ版数，システムプログラム及びチェックサムを格納する。
システムプログラム領域Ａ及びシステムプログラム領域Ｂには、新規なシステムプログラムが交互に記憶される。また同様に、セットアップデータ領域Ａ及びセットアップデータ領域Ｂには、新規なシステムプログラムに適合するセットアップデータが交互に記憶される。
【００２０】
新規なシステムプログラムのインストールの開始時において、その対応するプログラム管理テーブルの先頭フィールドに所定値を設定して記憶するために、現在実行しているシステムプログラム（以下、システムａという）の実行に使用したプログラム管理テーブル（以下、テーブルａという）を使用する。具体的には、テーブルａの先頭フィールドの値をリセット（０に）したテーブル（以下、テーブルｂという）を新規なプログラム管理テーブルとして記憶装置のテーブルａとは異なるプログラム管理テーブル領域に記憶させる。そして新規なシステムプログラムを記憶装置のシステムａとは異なるシステムプログラム領域にインストールし、インストール終了時にテーブルａの先頭フィールド及び末尾フィールドの値に夫々１を加えたテーブルを新規なプログラム管理テーブルとしてテーブルｂの記憶領域に上書きして記憶させる。
【００２１】
印刷装置１はその電源を投入されると、記憶回路７に記憶されたＩＰＬ  プログラムを読み出してワークメモリ６へ書き込み、それを実行する。ＩＰＬ  プログラムの処理手順において、プログラム管理テーブル領域Ａ及びプログラム管理テーブル領域Ｂに記憶してあるプログラム管理テーブルを夫々読み出してその対応するシステムプログラムのインストールが正常終了したか否かを判別し、またユーザからの指令に基づき参照すべきプログラム管理テーブルを選択する。そして、選択したプログラム管理テーブルの内容に基づいて起動すべきシステムプログラムを選択し、また参照すべきセットアップテーブルを選択して実行する。
【００２２】
図３及び図４は本発明のプログラム管理装置においてシステムを起動する処理手順を示すフローチャートである。
ボタンの押下等によりユーザから与えられる、実行すべきシステムプログラムの指定を取り込む（Ｓ１）。次に、記憶回路７からプログラム管理テーブルＡ及びプログラム管理テーブルＢを読み出す（Ｓ２）。読み出したプログラム管理テーブルがインストールの正常な終了を表すか否かを判定し、その判定結果に応じて実行するシステムプログラムを選択して起動する（Ｓ３）。
【００２３】
プログラム管理テーブルＡ及びプログラム管理テーブルＢが共にインストールの正常終了を表すと判別したとき、Ｓ１において取り込んだ指定が旧来の、即ち新規なシステムプログラムのインストール前は現行のシステムプログラムの実行を表すか否かを判別する（Ｓ４）。旧来のシステムプログラムの実行を表すと判別したとき、先頭フィールドが小さい方のプログラム管理テーブルを選択し（Ｓ５）、他方のプログラム管理テーブルの先頭フィールドをリセットして、これを前記プログラム管理テーブルの記憶領域に上書きする（Ｓ６）。以降、後述するＳ１５へ処理を移す。
【００２４】
Ｓ４において、旧来のシステムプログラムの実行が指定されていないと判別したとき、先頭フィールドが大きいほうのプログラム管理テーブルを選択する（Ｓ７）。そして、Ｓ１において取り込んだ指定がデフォルトシステムプログラム（工場出荷時にインストールしてあるシステムプログラム）の起動を表すか否かを判別する（Ｓ８）。以降、後述するＳ１５へ処理を移す。デフォルトシステムプログラムの起動を表すと判別したとき、選択したプログラム管理テーブルの起動システムＩＤをリセット、即ちデフォルトシステムプログラムを指すようにする（Ｓ９）。以降、後述するＳ１５へ処理を移す。
【００２５】
プログラム管理テーブルＡ及びプログラム管理テーブルＢのいずれか一方がインストールの異常終了を表すと判別したとき、正常終了を表すプログラム管理テーブルを選択する（Ｓ１０）  。そしてＳ１において取り込んだ指定が存在するか否かを判別する（Ｓ１１）  。以降、後述するＳ１５へ処理を移す。存在すると判別したとき、その指定がどのシステムプログラムの実行を表すかに関係なく、選択したプログラム管理テーブルの起動システムＩＤをリセット、即ちデフォルトシステムプログラムを指すようにする（Ｓ１２）  。これは、他のプログラム管理テーブルが使用不可能であるからである。以降、後述するＳ１５へ処理を移す。
【００２６】
プログラム管理テーブルＡ及びプログラム管理テーブルＢのいずれもインストールの異常終了を表すと判別したとき、プログラム管理テーブル領域Ｃから初期状態のプログラム管理テーブルを読み出して、これを選択する（Ｓ１３）  。そしてこのプログラム管理テーブルの先頭フィールド及び末尾フィールドの値に１を加えて記憶回路７のプログラム管理テーブル領域Ａ（又はプログラム管理テーブル領域Ｂ）に記憶させる（Ｓ１４）  。
そして、選択したプログラム管理テーブルをワークメモリ６の規定の記憶領域に書き込み（Ｓ１５）  、このプログラム管理テーブルに基づき実行すべきシステムプログラムを選択する（Ｓ１６）  。続いてセットアップデータを決定し（Ｓ１７）  、システムプログラムを実行する（Ｓ１８）  。
【００２７】
図５及び図６はＳ１７におけるセットアップデータを決定する処理手順を示すフローチャートである。記憶回路７からセットアップ管理テーブルＡ及びセットアップ管理テーブルＢを読み出す（Ｓ２１）  。読み出したセットアップ管理テーブルがセットアップの正常な終了を表すか否かを判定し、その判定結果に応じて参照するセットアップデータを選択する（Ｓ２２）  。
セットアップ管理テーブルＡ及びセットアップ管理テーブルＢが共にセットアップの正常終了を表すと判別したとき、先頭フィールドが大きいほうのセットアップ管理テーブルを選択する（Ｓ２３）  。以降、後述するＳ２７へ処理を移す。セットアップ管理テーブルＡ及びセットアップ管理テーブルＢのいずれか一方がセットアップの異常終了を表すと判別したとき、正常終了を表すセットアップ管理テーブルを選択する（Ｓ２４）  。以降、後述するＳ２７へ処理を移す。
【００２８】
セットアップ管理テーブルＡ及びセットアップ管理テーブルＢのいずれもセットアップの異常終了を表すと判別したとき、セットアップ管理テーブル領域Ｃから初期状態のセットアップ管理テーブルを読み出して、これを選択する（Ｓ２５）  。そしてこのセットアップ管理テーブルの先頭フィールド及び末尾フィールドの値に１を加えて記憶回路７のセットアップ管理テーブル領域Ａ（又はセットアップ管理テーブル領域Ｂ）に記憶させる（Ｓ２６）  。
選択したセットアップ管理テーブル及びＳ１６において選択したシステムプログラムの互いのセットアップデータ版数が一致するか否かを判別する（Ｓ２７）  。一致しないと判別したとき、前記セットアップ管理テーブルの参照セットアップＩＤをリセットして（Ｓ２８）  、これをワークメモリ６の規定の記憶の記憶領域に書き込み（Ｓ２９）  、呼び出し元へ処理を戻す。Ｓ２７においてセットアップデータ版数が一致するときは、そのセットアップ管理テーブルを使用して良いので、その内容を変更せずにＳ２９へ処理を移す。
【００２９】
なお、前述の実施の形態において印刷装置を例に詳述したが、本発明をファクシミリ装置又は画像処理装置等に実施することが可能であることは言うまでもない。
【００３０】
【発明の効果】
以上の如き第１発明のプログラム管理方法及び第３発明のプログラム管理装置による場合は、プログラムの実行指令を受けた場合に、第１フィールド及び第２フィールドの値の一致並びに第３フィールド及び第４フィールドの値の一致を判別することで、そのインストールが失敗したか否かを検知して、この検知結果に応じたプログラムを読み出して実行することができる。従って、ユーザはその復旧のために手間及び時間の消費を強いられることから解放される。
【００３１】
また、第２発明のプログラム管理方法及び第４発明のプログラム管理装置による場合は、第２の動作環境に基づくプログラムの実行指定を受けた場合に、第１フィールド及び第２フィールドの値の一致並びに第３フィールド及び第４フィールドの値の一致を判別することで、そのインストールが失敗したか否かを検知して、この検知結果に応じた動作環境を読み出し、該動作環境に基づいてプログラムを実行することができる。従って、ユーザはその復旧のために特殊な設定操作を強いられることから解放される。
【図面の簡単な説明】
【図１】本発明のプログラム管理装置の構成を示すブロック図である。
【図２】記憶回路の記憶内容の一例を示す説明図である。
【図３】本発明のプログラム管理装置においてシステムを起動する処理手順を示すフローチャートである。
【図４】本発明のプログラム管理装置においてシステムを起動する処理手順を示すフローチャートである。
【図５】セットアップデータを決定する処理手順を示すフローチャートである。
【図６】セットアップデータを決定する処理手順を示すフローチャートである。
【符号の説明】
１  印刷装置
２  ＭＰＵ
３  受信回路
４  解析処理部
５  インストール処理部
６  ワークメモリ
７  記憶回路
８  コンピュータ
【図１】
0003634948.tif 000002
【図２】
0003634948.tif 000003
【図３】
0003634948.tif 000004
【図４】
0003634948.tif 000005
【図５】
0003634948.tif 000006
【図６】
0003634948.tif 000007