以下、本発明の実施の形態について説明するに先立ち、画像形成システムの全体構成を示すブロック図である図1に基づいて、画像形成システムの全体構成を説明する。
画像形成システムは、ユーザー側システム1と、サービス側システム2と、これらユーザー側システム1とサービス側システム2との情報を画像形成装置10との情報を授受するために接続されるネットワークであるインターネット3と、により構成される。
ユーザー側システム1には、画像形成装置10と、画像形成装置10が接続されるユーザー側のネットワークであるローカルエリアネットワーク4(以下、LAN4ともいう)によって、相互間に情報の授受が可能となっている。そして、このLAN4は、インターネット3とは異なるユーザーネットワークであるが、インターネット3とを接続されている。この接続を行うために、通過する情報を制限するファイアウォール5を用いて、インターネット3からの不正進入を阻止するようにしている。
画像形成装置10は、記録材上に画像を形成する装置であり、LAN4、ファイアウォール5を介して、インターネット3に接続される。この画像形成装置10は、画像形成部11と、第1記憶部12と、制御部13と、通信部14と、ID記憶部15と、を有している。
画像形成部11は、記録材上に画像形成を行うものであり、種々の画像形成エンジンを用いることができ、例えば、インクジェット方式や電子写真方式などのエンジンを用いることができるが、これらは公知であるので、ここではその説明を省略する。なお、この画像形成部11として、記録材上に画像形成をおこなう画像形成部本体のみならず、原稿の画像データを読み取る画像読み取り部や、原稿を読み取るために原稿を自動搬送する自動原稿搬送部や、画像形成された記録紙の後処理(ソーティングやステープルなど)を行う後処理部を備えていてもよい。なお、自動原稿搬送部や後処理装置は、画像形成部11のオプションとして、ユーザーの希望により付加することが可能になっている。
第1記憶部12は、各種プログラムを記憶した書き換え可能な記憶部、例えば、フラッシュメモリなどである。この第1記憶部12に記憶されているプログラムとしては、画像形成部11の制御を行うプログラム、例えば、画像形成部本体、画像読み取り部、後処理装置のシーケンス制御を行うためのプログラムや、読み取った画像情報を処理する画像処理プログラムや、画像書き込み処理を行う画像書き込みプログラムや、通信部14を制御するためのプログラムや、図示しない画像形成装置10の状態や設定の表示を行う表示部や画像形成条件の設定を行う設定部(操作部)を制御するためのプログラムなどがある。そして、第1記憶部12は、書き換え可能であるため、第1記憶部12に記憶されているプログラムは、それぞれ書換プログラムに書き換えることができる。この書き換えには、所定のプログラムに基づいて、画像形成装置10自身が行うものであり、この所定のプログラムは、第1記憶部12内に記憶されている。
制御部13は、第1記憶部に記憶された各種プログラムに基づいて画像形成装置10を制御する制御部である。また、通信部14は、LAN4内における情報の授受や、LAN4、ファイアウォール5を介して、インターネット3への情報の授受の通信を司るものである。ID記憶部15は、各種のID情報を記憶する記憶部である。このID記憶部15に記憶されているID情報としては、第1記憶部に記憶されている各種プログラム情報(プログラムが作成された日付情報、プログラムが記憶された日付情報、プログラムのバージョン情報、プログラムの種類、プログラムの経歴情報、画像形成装置10の機種を特定する画像形成装置機種情報などがある)、画像形成装置10を一意的に特定するための画像形成装置のID情報(シリアル番号)と、本画像形成装置10を管理するサービス側システム2内におけるホスト20の情報、ホスト20との通信を行うに際して行う認証するためのパスワードなどがある。
もちろん、画像形成装置10にオプションとして付加される各種機器(たとえば、自動原稿搬送部や後処理部など)を一意的に特定するためのシリアル番号も記憶できるようになっている。
LAN4は、ユーザー側で敷設されている情報通信網であり、このLAN4に画像形成装置10のみならず、他の画像形成装置や、画像形成装置10で画像を形成するために画像データを送信するパーソナルコンピュータなどが接続されている。そして、このLAN4には、インターネット3とを接続するとともに、通過する情報を制限するファイアウォール5が接続されている。
サービス側システム2には、管理装置であるホスト20と、ホスト20が接続されるサービス側のネットワークであるローカルエリアネットワーク6(以下、LAN6ともいう)と、このLAN6とインターネット3とを接続するとともに、通過する情報を制限するファイアウォール7と、を有している。このサービス側システム2は、本実施の形態では、画像形成装置10の第1記憶部12に記憶されているプログラムの書換プログラムを管理するプログラム管理システムでもある。
ホスト20は、画像形成装置10(その他複数の画像形成装置)を管理する管理装置であり、LAN4、ファイアウォール5を介して、インターネット3に接続される。より詳細には、このホスト20は、このホスト20が管理する画像形成装置の状態を把握する。本実施の形態では、画像形成装置のプログラムの状態(バージョン等)を管理することにより、画像形成装置の状態を把握する。このホスト20は、表示部21、管理記憶部22と、制御部23と、通信部24と、ID記憶部25と、を有している。
表示部21は、画像形成装置の状態を把握するために、画像形成装置の状態が表示される表示部である。すなわち、サービス側のサービスマンが、その表示をみて、どの画像形成装置が、どのバージョンのプログラムを入れているかを把握できるものである。もちろん、後述するように、画像形成装置がプログラムを更新するに際しては、その設定等を行う際にも、この表示部21が利用され、図示しない操作部からその設定が行われる。
管理記憶部22は、画像形成装置の各種プログラムのバージョンアップ版や、バグ修正を施した書換プログラムを記憶した記憶部、例えば、フラッシュメモリなどである。この管理記憶部22に記憶されている書換プログラムとしては、第1記憶部12で記憶されている上述した各種プログラムの書換プログラムであり、サービス側が適宜、記憶させるものである。
制御部23は、ホスト20を制御する制御部である。また、通信部24は、LAN6内における情報の授受や、LAN6、ファイアウォール7を介して、インターネット3への情報の授受の通信を司るものである。ID記憶部25は、各種のID情報を記憶する記憶部である。このID記憶部15に記憶されているID情報としては、ホスト20の情報(ホスト20を一意的に特定するためのシリアル番号など)、画像形成装10との通信を行うに際して行う認証するためのパスワード、本ホスト20が管理する画像形成装置のシリアル番号のみならず、管理記憶部22に記憶されている書換プログラム情報(プログラムが作成された日付情報、プログラムが記憶された日付情報、プログラムのバージョン情報、プログラムの経歴情報、書換対象となる画像形成装置の機種を特定する画像形成装置機種情報などがある)などがある。
LAN6は、サービス側で敷設されている情報通信網であり、このLAN6にホスト20のみならず、他のホストなどが接続されている。そして、このLAN6は、インターネット3とは異なるサービスネットワークであるが、インターネット3と接続されている。この接続を行うために、通過する情報を制限するファイアウォール7を用いて、インターネット3からの不正進入を阻止するようにしている。
以上のように構成された画像形成システムにおいて、画像形成装置10の第1記憶部12に記憶されている各種プログラムの書き換えの手順を、以下に説明する。なお、以下の説明の手順に先立ち、ホスト側システム2においては、書換プログラムが管理記憶部22に、また、この書換プログラムの情報がID記憶部25に、既に記憶されている。
(実施の形態1:参考例1)
まず、ファイアウォール5による通過する情報を厳しく制限している場合における書換手順について、書換手順を示すフロー図である図2に基づきながら説明する。この実施の形態においては、画像形成装置10自らが、ホスト20にアクセスして、書換プログラムを取得するものである。
まず、画像形成装置10は、書換プログラム取得時期か、及び、取得可能状態かを判断する。ここで、取得時期とは、予め設定された日時(時刻)に達したか(所定の時刻を過ぎたか)否か(あるいは、予め定められた所定の枚数の画像形成を行った否か)の判断であり、言いかえれば、定期的に、ホストにアクセスして、後述するように自身の書換プログラムがあるか否かの確認を定期的に行うものである。また、取得可能状態であるかの判断は、例えば、取得するには通信部14を使用するために、この通信部14が空いている状態(他の動作を行っていない状態)か否か(空いていれば、取得可能状態である)、また、ダウンロードするに際しては、制御部13であるCPUの作業領域として使用するメモリを使用するので、このメモリが空いているか否か、また、ダウンロードには、制御部13に非常に負荷をかけるために、画像形成装置10が画像形成中でないか否か(画像形成中でなければ、取得可能状態である)などを判断する。
そして、書換プログラム取得時期であり、かつ、取得可能状態であれば、画像形成装置は、ID記憶部15に記憶されている画像形成装置10のID情報(シリアル番号)やパスワードを、ID記憶部15に記憶されている画像形成装置10を管理するホスト20の情報に基づいて送信先を設定して、LAN4、ファイアウォール5、インターネット3、ファイアウォール7、LAN6を介して、ホスト20へと送信する。ホスト20は、画像形成装置10から送信されたID情報を受信すると、正常に受信したことを示す正常受信信号(ACK)を画像形成装置10に返信する。もちろん、画像形成装置10においては、ACKを受け取らなければ、送信に失敗したものとして、再度、情報を送信する(この送信の失敗は、以下のいずれの情報の送信の場合にも適用されており、以下においては説明を省略する)。
ホスト20では、画像形成装置から受け取った画像形成装置10のID情報とパスワードとがあっているか、あるいは、自身が管理する画像形成装置であるか否かなど、送信されたデータ確認をID記憶部25に記憶されている情報から判断する。そして、データ確認が終了し、その確認結果を、ID送信に対する返信として、画像形成装置10へと返信する。画像形成装置10では、この確認結果を受け取ると、正常に受信した場合はACKをホスト20へ返す。
続いて、画像形成装置10は、ホスト20に対して、ホスト20の管理記憶部22に記憶されている書換プログラムの情報を、送信するよう要求する書換プログラム情報要求を、送信する。ホスト20は、この書換プログラム情報要求を受け取ると、正常に受信した場合はACKを画像形成装置10へ返す。そして、この要求に対する応答としてホスト20は、現時点で、管理記憶部22に記憶されている書換プログラムの情報(すなわち、ID記憶部25に記憶されている書換プログラムの情報)を、書換プログラム情報回答として、画像形成装置10へと返信する。画像形成装置10では、この書換プログラム情報回答を受け取ると、正常に受信した場合はACKをホスト20へ返す。
そして、画像形成装置10は、受け取った書換プログラムの情報と、ID記憶部15に記憶されている自身のプログラム情報とから、自身のプログラムのバージョンアップ版やバグ修正版が、ホスト20にあるか否か、すなわち、書換プログラムのダウンロードをする必要があるか否かを判断する。この判断には、(現時点における)自らのプログラムに対応づけられたプログラム情報(作成された日付情報、記憶された日付情報、バージョン情報、経歴情報、画像形成装置機種情報など)と、書換プログラムに対応付けられた書換プログラム情報(作成された日付情報、記憶された日付情報、バージョン情報、経歴情報、画像形成装置機種情報など)とに基づいて、書換プログラムが、自らのプログラムより新しい否かによって判断する。
そして、ダウンロードをする必要があると画像形成装置10が判断すると、まず、書換プログラムを選択(プログラムとしては、上述したように複数のものがあるため、書き換える必要のあるプログラムは1つとは限らないため)する。選択すると、画像形成装置10は、選択した書換プログラムを送信するよう要求する書換プログラム要求を、ホスト20へと送信する。ホスト20は、この書換プログラム要求を受け取ると、正常に受信した場合はACKを画像形成装置10へ返す。そして、ホスト20は、書換プログラム要求に対する応答として、まず、書換プログラムのデータ量(データレングス)などの書換プログラムデータ情報1を、書換プログラムIDとともに、画像形成装置10へと返信する。画像形成装置10では、この書換プログラムデータ情報1を受け取ると、正常に受信した場合はACKをホスト20へ返す。なお、データ量(1つの書換プログラム全体の量)が、画像形成装置10側で受け取り可能サイズを超えている場合は、NACK(拒否)情報を返し、通信を終了、又は、次の書換プログラムの取得をおこなう。ホスト20は、ACKを受け取ると、引き続き、書換プログラム要求に対する応答として、転送ブロック情報や圧縮情報などの送信方法に関する情報である書換プログラムデータ情報2を、書換プログラムIDとともに、画像形成装置10へと返信する。画像形成装置10では、この書換プログラムデータ情報1を受け取ると、正常に受信した場合はACKをホスト20へ返す。
ホスト20は、このACKを受け取ると、書換プログラム要求に対する応答として、実際に、書換プログラムを画像形成装置10へと返信する。このとき、書換プログラムデータ情報2に示される送信方法で、すなわち、ブロック単位毎に返信するために、受け取った画像形成装置10では、メモリに蓄積するとともに、複数のブロックの結合や、圧縮の解凍など、受信したデータのデータ受信処理を行う。勿論、画像形成装置は、書換プログラムを受信すると、受信する毎に、正常に受信した場合はACKをホスト20へ返し、このACKをホスト20が受け取ると、次のブロックを送る。
このように、画像形成装置10においては、この書換プログラムの受信と、データ受信処理とが、書換プログラムデータ情報1に示されたデータ量に相当するデータを処理するまで繰り返される(図においては、繰り返し1)。そして、ホスト20では、最終のブロックの返信が終わると、最終データ通知を画像形成装置10へと返信する。画像形成装置は、最終データ通知を受信すると、正常に受信した場合はACKをホスト20へ返す。
ACKをホスト20へ返した画像形成装置10は、書換プログラム取得終了判断を行う。すなわち、他の書換プログラムをダウンロードする必要があるか否かの判断を行い、ダウンロードする必要がれば、書換プログラム選択に戻り、ダウンロードする必要がないまで、図における繰り返し2を繰り返す。
一方、書換プログラム取得終了と判断すると、画像形成装置10は、通信終了通知を、ホスト20へと送信する。この信号を受けてホスト20は、画像形成装置10との回線を切断する。
通信終了通知をホスト20へ送信した画像形成装置10は、ダウンロード(送信元の要求に応じて送信(返信)されることである)した書換プログラムが、本当に書き換えてよい書換プログラムか否か、さらには、ダウンロードした書換プログラムが正確にダウンロードされたか否かを、書換プログラム情報や書換プログラムデータ情報1に基づいて行う。
その後、画像形成装置10は、プログラム書き換え可能状態の判断を行う。この判断は、プログラムの書き換えを行うに際しては、書き換え対象となっているプログラムが使用されているか否か(使用されていなければ書き換え可能状態である)を最低に判断を行い、より安全に書き換えを行うには、書き換えには制御部13であるCPUの作業領域として使用するメモリを使用するので、このメモリが空いているか否か(空いていれば書き換え可能状態である)、また、画像形成装置10が画像形成中でないか否か(画像形成中でなければ、書き換え可能状態である)などを判断する。そして、書き換え可能状態であると判断されると、所定のプログラムに基づいて、画像形成装置10自身が、書換プログラムに書き換える。
(実施の形態2:参考例2)
次に、実施の形態2について、書換手順を示すフロー図である図3に基づきながら説明する。上述した実施の形態1においては、画像形成装置10自らが、ホスト20にアクセスして、書換プログラムを取得するものであったが、本実施の形態2においては、ホスト20側から画像形成装置10に対して、書換プログラムへの書換を指示するものである。なお、以下において、上述の実施の形態と同様である手順については、その記載を省略することもある。
まず、ホスト20は、管理記憶部22に書換プログラムが記憶されると、該書換プログラムの対象となる画像形成装置(ここでは、画像形成装置10)に対して、ダウンロードするように指示(ダウンロード指示)を出す。このとき、このダウンロード指示には、対象となる画像形成装置10のID情報、パスワード、ホスト20の情報があわせて送信される。画像形成装置10では、このダウンロード指示を受け取ると、正常に受信した場合はACKをホスト20へ返す。
そして、画像形成装置10は、送信されてきた、パスワード、ホスト20の情報から、画像形成装置10を管理するホスト20か否か、あるいは、画像形成装置10のID情報から対象機種として合っているか否かなどを、ID記憶部15に記憶されている情報と照らし合わせながら判断してデータ確認を行う。さらに、画像形成装置10は、書換プログラム取得可能状態か否か判断する。そして、これらの確認・判断の結果は、ホスト20へと送信される。ホスト20では、この確認・判断の結果を受け取ると、正常に受信した場合はACKを画像形成装置10へ返す。
ホスト20は、受け取った確認・判断の結果から、対象機種として適合し、書換可能状態であれば、画像形成装置10に対して、第1記憶部12に記憶されているプログラム(現在のプログラム)の情報を、ホスト20へ送信するようプログラム情報要求を、送信する。画像形成装置10では、このプログラム情報要求を受け取ると、正常に受信した場合はACKをホスト20へ返す。そして、画像形成装置10は、プログラムの情報として、ID記憶部15に記憶されている各種プログラム情報を、プログラム情報回答として、ホスト20へ送信する。ホスト20では、このプログラム情報回答を受け取ると、正常に受信した場合はACKを画像形成装置10へ返す。
ホスト20は、画像形成装置10から送信されてきたプログラム情報と、ID記憶部25に記憶されている書換プログラム情報とから、画像形成装置10に対して、書換プログラムを送信する必要があるか否か(すなわち、画像形成装置10がプログラムを書き換える必要があるか否か)判断を行う。送信する必要があると画像形成装置10が判断すると、まず、書換プログラムを選択する。そして、ホスト20は、まず、書換プログラムのデータ量などの書換プログラムデータ情報1を、書換プログラムIDとともに、画像形成装置10へと送信する。画像形成装置10では、この書換プログラムデータ情報1を受け取ると、正常に受信した場合はACKをホスト20へ返す。ホスト20は、ACKを受け取ると、引き続き、転送ブロック情報や圧縮情報などの送信方法に関する情報である書換プログラムデータ情報2を、書換プログラムIDとともに、画像形成装置10へと送信する。画像形成装置10では、この書換プログラムデータ情報1を受け取ると、正常に受信した場合はACKをホスト20へ返す。
ホスト20は、このACKを受け取ると、実際に、書換プログラムを画像形成装置10へと送信する。このとき、書換プログラムデータ情報2に示される送信方法で送信するために、受け取った画像形成装置10では、データ受信処理を行う。勿論、画像形成装置10は、書換プログラムを受信すると、受信する毎に、正常に受信した場合はACKをホスト20へ返し、このACKをホスト20が受け取ると、次のブロックを送る。
このように、画像形成装置10においては、この書換プログラムの受信と、データ受信処理とが、書換プログラムデータ情報1に示されたデータ量に相当するデータを処理するまで繰り返される(図においては、繰り返し1)。そして、ホスト20では、最終のブロックの送信が終わると、最終データ通知を画像形成装置10へと送信する。画像形成装置は、最終データ通知を受信すると、正常に受信した場合はACKをホスト20へ返す。
ACKを受信したホスト20は、書換プログラム送信終了判断を行う。送信する必要がれば、書換プログラム選択に戻り、送信する必要がなくなるまで、図における繰り返し2を繰り返す。一方、書換プログラム送信終了と判断すると、ホスト20は、通信終了通知を、画像形成装置10へと送信する。この信号を受けて画像形成装置10は、ホスト20との回線を切断する。
通信終了通知を受信した画像形成装置10は、取得した書換プログラムが正確にダウンロードされたか否かを、書換プログラム情報や書換プログラムデータ情報1に基づいて行う。その後、画像形成装置10は、プログラム書き換え可能状態の判断を行う。そして、書き換え可能状態であると判断されると、所定のプログラムに基づいて、画像形成装置10自身が、書換プログラムに書き換える。
なお、本実施の形態2では、ホスト20からの指示指導型、すなわち、情報の発信は基本的に、ホスト20側であり、送信すべき書換プログラムの選択などもホスト20側で行うようにしているが、実施の形態1のように、ホスト20からのダウンロード指示以降(具体的に言えば、図4におけるプログラム情報要求を画像形成装置10側から、書換プログラム情報要求として、これ以降)を画像形成装置10の主導型としてもよい。この場合の、書換手順を図4に示す。なお、この図4に基づいた説明は、上述した実施の形態1及び実施の形態2と重複するので、ここでは割愛する。
(実施の形態3)
上述した実施の形態2では、ダウンロード指示は、インターネット3を介して、ホスト20から画像形成装置10へと送信されているために、ファイアウォール5により通過する情報の制限が厳しいところにおいては、このようなダウンロード指示すら通過することが困難となる。そこで、本実施の形態のように構成すれば、この問題は解決することができる。
以下、実施の形態3について説明する。図5は、画像形成システムの全体構成を示すブロック図であり、図6は、ダウンロード指示の手順を示すフロー図である。また、図7は、指示を受けた以降の書換手順を示すフロー図である。
なお、図5は、基本的には図1におけるブロック図とは同様(同じ機能・部には同じ符号を付与)であり、異なる点についてのみ以下に説明し、その他の点は、図1と同じであるので、説明を省略する。
図5において、画像形成装置10にモデム16が、ホストにモデム26が付加された点で、図1と異なる。これらモデム16,26は、公衆回線である電話回線網(インターネット3とは異なるネットワーク)に接続され、デジタル信号とアナログ信号との変換を行うものである。すなわち、画像形成装置10とホスト20とが、PtoPで接続される状態となることが可能となる。なお、これらモデム16,26は、それぞれ、画像形成装置10、ホスト20に直接設けられることが好ましいが、それぞれのLAN内にモデムを設け、画像形成装置10とホスト20とが、直接、通信可能な状態となればよい。
次に、本実施の形態3の書換手順について、書換手順の一部をであるダウンロード指示の手順を示すフロー図である図6基づいて、ダウンロード指示の与え方について説明する。
まず、ホスト20は、管理記憶部22に書換プログラムが記憶されると、該書換プログラムの対象となる画像形成装置(ここでは、画像形成装置10)に対して、モデム26を使って、電話回線網で、ホスト20から発呼して通信を開始する(電話をかける)。そして、受けた画像形成装置10では、接続情報として、通信の形態の確認を行うために接続情報をホスト20へと返す。なお、これら電話回線接続指示及び接続情報は、電話回線を使った通信におけるネゴシエーションに相当するものである。
ネゴシエーションが終了すると、ホスト20は、画像形成装置10に対して、ダウンロードするように指示(ダウンロード指示)を出す。このとき、このダウンロード指示には、対象となる画像形成装置10のID情報、パスワード、ホスト20の情報があわせて送信される。画像形成装置10では、このダウンロード指示を受け取ると、正常に受信した場合は受信確認(上述した実施の形態でいえばACK)をホスト20へ返す。これをホスト20が受けると、電話回線を切断する。
その後の書換手順は、図7に基づきながら説明する。なお、この説明においても、上述した実施の形態1と同様なものに対しては、説明を省略することがある。
上述したように、モデム26,16を介して、電話回線にて、ホスト20からダウンロード指示を受けた画像形成装置10は、電話回線切断後、まず、書換プログラム取得可能状態かを判断する。そして、取得可能状態であれば、画像形成装置は、ホスト20へ、ID記憶部15に記憶されている画像形成装置10のID情報(シリアル番号)やパスワードを、送信する。ホスト20は、画像形成装置10から送信されたID情報を正常に受信すると、ACKを画像形成装置10に返信する。
ホスト20では、画像形成装置から受け取った画像形成装置10のID情報とパスワードとがあっているか、あるいは、自身が管理する画像形成装置であるか否かなど、送信されたデータ確認を、ID記憶部25に記憶されている情報から判断する。そして、データ確認が終了し、その確認結果を、画像形成装置10へと返信する。画像形成装置10では、この確認結果を受け取ると、正常に受信した場合はACKをホスト20へ返す。
続いて、画像形成装置10は、ホスト20に対して、書換プログラム情報要求を、送信する。ホスト20は、この書換プログラム情報要求を受け取ると、正常に受信した場合はACKを画像形成装置10へ返す。そして、ホスト20は、現時点で、管理記憶部22に記憶されている書換プログラムの情報を、書換プログラム情報回答として、画像形成装置10へと返信する。画像形成装置10では、この書換プログラム情報回答を受け取ると、正常に受信した場合はACKをホスト20へ返す。
そして、画像形成装置10は、受け取った書換プログラムの情報と、ID記憶部15に記憶されている自身のプログラム情報とから、自身のプログラムの書換プログラムがホスト20にあるか否か、すなわち、ダウンロードをする必要があるか否かを判断する。ダウンロードをする必要があると画像形成装置10が判断すると、まず、書換プログラムを選択する。選択すると、画像形成装置10は、選択した書換プログラムを送信するよう要求する書換プログラム要求を、ホスト20へと送信する。ホスト20は、この書換プログラム要求を受け取ると、正常に受信した場合はACKを画像形成装置10へ返す。そして、ホスト20は、書換プログラム要求に対する応答として、まず、書換プログラムデータ情報1を、書換プログラムIDとともに、画像形成装置10へと返信する。画像形成装置10では、この書換プログラムデータ情報1を受け取ると、正常に受信した場合はACKをホスト20へ返す。ホスト20は、ACKを受け取ると、引き続き、書換プログラム要求に対する応答として、書換プログラムデータ情報2を、書換プログラムIDとともに、画像形成装置10へと返信する。画像形成装置10では、この書換プログラムデータ情報1を受け取ると、正常に受信した場合はACKをホスト20へ返す。
ホスト20は、このACKを受け取ると、実際に、書換プログラムを画像形成装置10へと送信する。このとき、書換プログラムデータ情報2に示される送信方法で送信するために、受け取った画像形成装置10では、データ受信処理を行う。勿論、画像形成装置10は、書換プログラムを受信すると、受信する毎に、正常に受信した場合はACKをホスト20へ返し、このACKをホスト20が受け取ると、次のブロックを送る。
このように、画像形成装置10においては、この書換プログラムの受信と、データ受信処理とが、書換プログラムデータ情報1に示されたデータ量に相当するデータを処理するまで繰り返される(図7においては、繰り返し1)。
そして、ホスト20では、最終のブロックの返信が終わると、最終データ通知を画像形成装置10へと返信する。画像形成装置は、最終データ通知を受信すると、正常に受信した場合はACKをホスト20へ返す。ACKをホスト20へ返した画像形成装置10は、書換プログラム取得終了判断を行い、ダウンロードする必要がれば、書換プログラム選択に戻り、ダウンロードする必要がなくなるまで、図における繰り返し2を繰り返す。
一方、書換プログラム取得終了と判断すると、画像形成装置10は、通信終了通知を、ホスト20へと送信する。この信号を受けてホスト20は、画像形成装置10との回線を切断する。
通信終了通知をホスト20へ送信した画像形成装置10は、ダウンロードした書換プログラムが、本当に書き換えてよい書換プログラムか否か、さらには、ダウンロードした書換プログラムが正確にダウンロードされたか否かを、書換プログラム情報や書換プログラムデータ情報1に基づいて行う。その後、画像形成装置10は、プログラム書き換え可能状態の判断を行う。そして、書き換え可能状態であると判断されると、所定のプログラムに基づいて、画像形成装置10自身が、書換プログラムに書き換える。
(実施の形態4:参考例3)
上述した実施の形態1においては、画像形成装置10が直接ホスト20にアクセスする例であったが、画像形成装置10自身が直接ホスト20にアクセスして書換プログラムをダウンロードせずに、間接的に、書換プログラムをダウンロードしてもよい。本実施の形態4では、画像形成装置10自身が、間接的に、書換プログラムをダウンロードする例について説明する。
図8は、画像形成システムの全体構成を示すブロック図である。また、図9、図10は、書換手順を示すフロー図である。なお、図8は、基本的には図1におけるブロック図とは同様(同じ機能・部には同じ符号を付与)であり、異なる点についてのみ以下に説明し、その他の点は、図1と同じであるので、説明を省略する(同じ符号であっても、以下に説明する点は異なる)。
この画像形成システムには、図1のユーザー側システム1に、サブホスト80が付加されたものである。サブホスト80は、LAN4に接続されている(詳細には、LAN4から見て、ファイアウォール5より内側に接続されている)画像形成装置10(その他複数の画像形成装置)を管理する管理装置であるとともに、LAN4、ファイアウォール5、インターネット3を介して、ホスト20から、管理している画像形成装置の書換プログラムを取得し記憶するものである。より詳細には、このサブホスト80は、このサブホスト80が管理する画像形成装置の状態を把握する、本実施の形態では、画像形成装置のプログラムの状態(バージョン等)を管理することにより、画像形成装置の状態を把握するとともに、自身が管理している画像形成装置の書換プログラムを、ホスト20から取得し、記憶する。このサブホスト80は、表示部81、第2記憶部82と、制御部83と、通信部84と、ID記憶部85と、を有している。
表示部81は、画像形成装置の状態を把握するために、画像形成装置の状態が表示される表示部である。すなわち、その表示をみて、どの画像形成装置が、どのバージョンのプログラムを入れているかを把握できるものである。また、この表示部81は、ホスト20から取得する書換プログラムも表示できる。
第2記憶部82は、ホスト20からダウンロードした、サブホスト80が管理する画像形成装置の各種プログラムのバージョンアップ版や、バグ修正を施した書換プログラムを記憶した記憶部、例えば、フラッシュメモリなどである。制御部83は、サブホスト80を制御する制御部である。また、通信部84は、LAN4内における情報の授受や、LAN4、ファイアウォール5を介して、インターネット3への情報の授受の通信を司るものである。
ID記憶部85は、各種のID情報を記憶する記憶部である。このID記憶部85に記憶されているID情報としては、サブホスト80の情報(サブホスト80を一意的に特定するためのシリアル番号など)、画像形成装置10との通信を行うに際して行う認証するためのパスワード、ホスト20との通信を行うに際して行う認証するためのパスワード、本サブホスト80が管理する画像形成装置のシリアル番号のみならず、サブホスト80が管理する画像形成装置の第1記憶部12に記憶されている各種プログラム情報、第2記憶部82に記憶されている書換プログラム情報(プログラムが作成された日付情報、プログラムが記憶された日付情報、プログラムのバージョン情報、プログラムの経歴情報、書換対象となる画像形成装置の機種を特定する画像形成装置機種情報などがある)などがある。
なお、このサブホスト80を設けたことに伴い、画像形成装置10のID記憶部15に記憶されるID情報としては、各種プログラム情報、画像形成装置10を一意的に特定するための画像形成装置のID情報(シリアル番号)、と、本画像形成装置10を管理するサブホスト80の情報、サブホスト80との通信を行うに際して行う認証するためのパスワードなどがある。同様に、ホスト20のID記憶部25に記憶されるID情報としては、ホスト20の情報、サブホスト80との通信を行うに際して行う認証するためのパスワード、本ホスト20が管理するサブホスト80の情報(シリアル番号)、管理記憶部22に記憶されている書換プログラム情報などがある。
次に、本実施の形態4における書換手順について説明する。まず、ホスト20からサブホスト80へ書換プログラムをダウンロードする手順について図9について説明する。
まず、サブホスト80は、書換プログラム取得可能状態かを判断する。ここで、取得可能状態であるかの判断は、例えば、取得するには通信部84を使用するために、この通信部84が空いている状態(他の動作を行っていない状態)か否か(空いていれば、取得可能状態である)、また、ダウンロードするに際しては、制御部83であるCPUの作業領域として使用するメモリを使用するので、このメモリが空いているか否かなどを判断する。
そして、書換プログラム取得可能状態であれば、サブホスト80は、ID記憶部85に記憶されているサブホスト80のID情報(シリアル番号)やパスワードを、ID記憶部85に記憶されているサブホスト80を管理するホスト20の情報に基づいて送信先を設定して、LAN4、ファイアウォール5、インターネット3、ファイアウォール7、LAN6を介して、ホスト20へと送信する。ホスト20は、サブホスト80から送信されたID情報を受信すると、正常に受信したことを示すACKをサブホスト80に返信する。
ホスト20では、サブホスト80から受け取ったサブホスト80のID情報とパスワードとがあっているか、あるいは、自身が管理するサブホストであるか否かなど、送信されたデータ確認を、ID記憶部25に記憶されている情報から判断する。そして、データ確認が終了し、その確認結果を、ID送信に対する返信として、サブホスト80へと返信する。サブホスト80では、この確認結果を受け取ると、正常に受信した場合はACKをホスト20へ返す。
続いて、サブホスト80は、ホスト20に対して、ホスト20の管理記憶部22に記憶されている書換プログラムの情報を、送信するよう要求する書換プログラム情報要求を、送信する。ホスト20は、この書換プログラム情報要求を受け取ると、正常に受信した場合はACKをサブホスト80へ返す。そして、この要求に対する応答としてホスト20は、現時点で、管理記憶部22に記憶されている書換プログラムの情報(すなわち、ID記憶部25に記憶されている書換プログラムの情報)を、書換プログラム情報回答として、画像形成装置10へと返信する。サブホスト80では、この書換プログラム情報回答を受け取ると、正常に受信した場合はACKをホスト20へ返す。
そして、サブホスト80は、受け取った書換プログラムの情報と、ID記憶部85に記憶されている自身で管理する画像形成装置のプログラム情報とから、プログラムのバージョンアップ版やバグ修正版などの書換プログラムが、ホスト20にあるか否か、すなわち、書換プログラムのダウンロードをする必要があるか否かを判断する。この判断には、(現時点における)プログラムに対応づけられたプログラム情報(作成された日付情報、記憶された日付情報、バージョン情報、経歴情報、画像形成装置機種情報など)と、書換プログラムに対応付けられた書換プログラム情報(作成された日付情報、記憶された日付情報、バージョン情報、経歴情報、画像形成装置機種情報など)とに基づいて、書換プログラムが、プログラムより新しい否かによって判断する。
そして、ダウンロードをする必要があるとサブホスト80が判断すると、まず、書換プログラムを選択(プログラムとしては、上述したように複数のものがあるとともに、複数の画像形成装置を管理するため、書き換える必要のあるプログラムは1つとは限らないため)する。選択すると、サブホスト80は、選択した書換プログラムを送信するよう要求する書換プログラム要求を、ホスト20へと送信する。ホスト20は、この書換プログラム要求を受け取ると、正常に受信した場合はACKをサブホスト80へ返す。そして、ホスト20は、書換プログラム要求に対する応答として、まず、書換プログラムのデータ量(データレングス)などの書換プログラムデータ情報1を、書換プログラムIDとともに、サブホスト80へと返信する。サブホスト80では、この書換プログラムデータ情報1を受け取ると、正常に受信した場合はACKをホスト20へ返す。ホスト20は、ACKを受け取ると、引き続き、書換プログラム要求に対する応答として、転送ブロック情報や圧縮情報などの送信方法に関する情報である書換プログラムデータ情報2を、書換プログラムIDとともに、サブホスト80へと返信する。サブホスト80では、この書換プログラムデータ情報1を受け取ると、正常に受信した場合はACKをホスト20へ返す。
ホスト20は、このACKを受け取ると、書換プログラム要求に対する応答として、実際に、書換プログラムをサブホスト80へと返信する。このとき、書換プログラムデータ情報2に示される送信方法で、すなわち、ブロック単位毎に返信するために、受け取ったサブホスト80では、メモリに蓄積するとともに、複数のブロックの結合や、圧縮の解凍など、受信したデータのデータ受信処理を行う。勿論、サブホスト80は、書換プログラムを受信すると、受信する毎に、正常に受信した場合はACKをホスト20へ返し、このACKをホスト20が受け取ると、次のブロックを送る。
このように、サブホスト80においては、この書換プログラムの受信と、データ受信処理とが、書換プログラムデータ情報1に示されたデータ量に相当するデータを処理するまで繰り返される(図においては、繰り返し1)。そして、ホスト20では、最終のブロックの返信が終わると、最終データ通知をサブホスト80へと返信する。サブホスト80は、最終データ通知を受信すると、正常に受信した場合はACKをホスト20へ返す。
ACKをホスト20へ返したサブホスト80は、書換プログラム取得終了判断を行う。すなわち、他の書換プログラムをダウンロードする必要があるか否かの判断を行い、ダウンロードする必要がれば、書換プログラム選択に戻り、ダウンロードする必要がなくなるまで、図における繰り返し2を繰り返す。
一方、書換プログラム取得終了と判断すると、サブホスト80は、通信終了通知を、ホスト20へと送信する。この信号を受けてホスト20は、サブホスト80との回線を切断する。
このようにして、サブホスト80の第2記憶部82には、サブホスト80が管理する画像形成装置の書換プログラムが記憶されることになる。なお、ホスト20からサブホスト80へは、実施の形態1のように、書換プログラム取得時期かを判断して、図で示すような取得手順をスタートしてもよく、また、実施の形態2や3のように、ダウンロード指示がホスト20からサブホスト80へと送信されたことを、図で示すような取得手順のスタートとしてもよい。
次いで、画像形成装置10が、サブホスト80の第2記憶部82に記憶された書換プログラムを、ダウンロードし、プログラムを書き換える手順について、図10に基づきながら説明する。
まず、画像形成装置10は、書換プログラム取得可能状態かを判断する。なお、実施の形態1のように、書換プログラム取得時期かも判断してもよい。そして、書換プログラム取得可能状態であれば、画像形成装置10は、ID記憶部15に記憶されている画像形成装置10のID情報(シリアル番号)やパスワードを、LAN4を介して、サブホスト80へと送信する。サブホスト80は、画像形成装置10から送信されたID情報を受信すると、正常に受信したことを示すACKを画像形成装置10に返信する。
サブホスト80では、画像形成装置10から受け取った画像形成装置10のID情報とパスワードとがあっているか、あるいは、自身が管理する画像形成装置であるか否かなど、送信されたデータ確認を、ID記憶部85に記憶されている情報から判断する。そして、データ確認が終了し、その確認結果を、ID送信に対する返信として、画像形成装置10へと返信する。画像形成装置10では、この確認結果を受け取ると、正常に受信した場合はACKをサブホスト80へ返す。
続いて、画像形成装置10は、サブホスト80に対して、サブホスト80の第2記憶部82に記憶されている書換プログラムの情報を、送信するよう要求する書換プログラム情報要求を、送信する。サブホスト80は、この書換プログラム情報要求を受け取ると、正常に受信した場合はACKを画像形成装置10へ返す。そして、この要求に対する応答としてサブホスト80は、現時点で、第2記憶部82に記憶されている書換プログラムの情報(すなわち、ID記憶部85に記憶されている書換プログラムの情報)を、書換プログラム情報回答として、画像形成装置10へと返信する。画像形成装置10では、この書換プログラム情報回答を受け取ると、正常に受信した場合はACKをサブホスト80へ返す。
そして、画像形成装置10は、受け取った書換プログラムの情報と、ID記憶部15に記憶されている自身で管理する画像形成装置のプログラム情報とから、プログラムのバージョンアップ版やバグ修正版などの書換プログラムが、サブホスト80にあるか否か、すなわち、書換プログラムのダウンロードをする必要があるか否かを判断する。そして、ダウンロードをする必要があると画像形成装置10が判断すると、まず、書換プログラムを選択する。選択すると、画像形成装置10は、選択した書換プログラムを送信するよう要求する書換プログラム要求を、サブホスト80へと送信する。サブホスト80は、この書換プログラム要求を受け取ると、正常に受信した場合はACKを画像形成装置10へ返す。そして、サブホスト80は、書換プログラム要求に対する応答として、まず、書換プログラムのデータ量(データレングス)などの書換プログラムデータ情報1を、書換プログラムIDとともに、画像形成装置10へと返信する。画像形成装置10では、この書換プログラムデータ情報1を受け取ると、正常に受信した場合はACKをサブホスト80へ返す。
サブホスト80は、ACKを受け取ると、引き続き、書換プログラム要求に対する応答として、転送ブロック情報や圧縮情報などの送信方法に関する情報である書換プログラムデータ情報2を、書換プログラムIDとともに、画像形成装置10へと返信する。画像形成装置10では、この書換プログラムデータ情報1を受け取ると、正常に受信した場合はACKをサブホスト80へ返す。
サブホスト80は、このACKを受け取ると、書換プログラム要求に対する応答として、実際に、書換プログラムを画像形成装置10へと返信する。このとき、書換プログラムデータ情報2に示される送信方法で、すなわち、ブロック単位毎に返信するために、受け取った画像形成装置10では、メモリに蓄積するとともに、複数のブロックの結合や、圧縮の解凍など、受信したデータのデータ受信処理を行う。勿論、画像形成装置10は、書換プログラムを受信すると、受信する毎に、正常に受信した場合はACKをサブホスト80へ返し、このACKをサブホスト80が受け取ると、次のブロックを送る。
このように、画像形成装置10においては、この書換プログラムの受信と、データ受信処理とが、書換プログラムデータ情報1に示されたデータ量に相当するデータを処理するまで繰り返される(図においては、繰り返し1)。そして、サブホスト80では、最終のブロックの返信が終わると、最終データ通知を画像形成装置10へと返信する。画像形成装置10は、最終データ通知を受信すると、正常に受信した場合はACKをサブホスト80へ返す。
ACKをサブホスト80へ返した画像形成装置10は、書換プログラム取得終了判断を行う。すなわち、他の書換プログラムをダウンロードする必要があるか否かの判断を行い、ダウンロードする必要がれば、書換プログラム選択に戻り、ダウンロードする必要がなくなるまで、図における繰り返し2を繰り返す。
一方、書換プログラム取得終了と判断すると、サブホスト80は、通信終了通知を、サブホスト80へと送信する。この信号を受けてサブホスト80は、画像形成装置10との回線を切断する。このようにして、画像形成装置10の第2記憶部82には、画像形成装置10が管理する画像形成装置の書換プログラムがダウンロードされて記憶されることになる。
通信終了通知をサブホスト80へ送信した画像形成装置10は、ダウンロードした書換プログラムが、本当に書き換えてよい書換プログラムか否か、さらには、ダウンロードした書換プログラムが正確にダウンロードされたか否かを、書換プログラム情報や書換プログラムデータ情報1に基づいて行う。
その後、画像形成装置10は、プログラム書き換え可能状態の判断を行う。この判断は、プログラムの書き換えを行うに際しては、書き換え対象となっているプログラムが使用されているか否かを最低に判断を行い、より安全に書き換えを行うには、書き換えには制御部13であるCPUの作業領域として使用するメモリを使用するので、このメモリが空いているか否か、また、画像形成装置10が画像形成中でないか否かなどを判断する。そして、書き換え可能状態であると判断されると、所定のプログラムに基づいて、画像形成装置10自身が、書換プログラムに書き換える。
ところで、サブホスト80と画像形成装置10間の情報の授受は、ファイアウォール5内のLAN4上での情報の授受であるため、ファイアウォール5による通過する情報の制限を受けない。そのために、このLAN4内では、互いの情報の授受をある程度自由度がます。したがって、画像形成装置10が、サブホスト80から書換プログラムを取得するためには、図11に示すような方法であっても、ユーザー側としては、ファイアウォール5によるセキュリティー機能を低下させることなく(制限をゆるめることなく)対応することもできる。なお、図11による書換プログラムの取得の手順は、上述した実施の形態2とほぼ同じ(ホスト20がサブホスト80に代わる)であり、その説明は省略する。
なお、この実施の形態では、サブホスト80は、インターネット3を介してホストから情報を取得するようにしているが、FD、MD、CD、DVDなどのリムーバルストレージ(記録媒体)を経由して、ホスト20の情報を、取得するようにしてもよい。
以上の実施の形態では、ホスト20は、書換プログラムデータ情報1と書換プログラムデータ情報2とを分けて、画像形成装置10へと送信したが、分けずに送信してもよい。
また、以上の実施の形態において、書換プログラムに書き換えが終了すると、画像形成装置10は、画像形成装置10のID情報と、書き換えたプログラム情報(書換プログラム情報)をホスト20へ送信することが好ましく、この送信された情報に基づいて、ホスト20では、表示部21に、画像形成装置10の書き換えが終了したことが表示され、画像形成装置10のプログラムの状態を把握することより可能となる。勿論、画像形成装置10がダウンロードしたか否かなどもホスト20側で知ることができ、これらもあわせて表示部21に表示するようにすることがより好ましい。
以上説明したように、プログラムを記憶した書き換え可能な第1記憶部12を有し、このプログラムに基づいて動作し、記録材上に画像形成を行う画像形成装置10と、画像形成装置10の書換プログラムを記憶した管理記憶部22を有したサービス側システム2と、画像形成装置10とサービス側システム2とを接続するインターネット3と、を有した画像形成システムにおいて、画像形成装置10が、インターネット3を介して、サービス側システム2にアクセスして、管理記憶部22に記憶された書換プログラムを取得し、第1記憶部12に記憶されているプログラムを書換プログラムに書き換えるように構成したので、サービスマンが画像形成装置の設置個所に出向くことなく、画像形成装置のプログラムを、遠隔にて、書換プログラム書き換え、時間、費用の低減を図り、より細かな画像形成装置の管理を行い得る。また、常に最新のプログラムを使用できるようになるため、ユーザーの利便性があがる。
また、以上の実施の形態においては、画像形成装置10は、書換プログラムをダウンロードする前に、管理記憶部22に記憶された書換プログラムが第1記憶部12に記憶されたプログラムを書き換えるべき書換プログラムであると判断した場合に書換プログラムを取得するようにしており、インターネット3やLAN4のトランザクション(情報伝達密度)が過大になることを防止でき好ましいが、管理記憶部22に記憶されている書換プログラムを画像形成装置10(あるいは、サブホスト80)にダウンロードし、この取得した書換プログラムが第1記憶部12に記憶されたプログラムを書き換えるべき書換プログラムであるか否か判断した上で、書き換えるべき書換プログラムと判断した場合に第1記憶部12に記憶されているプログラムを書換プログラムに書き換えるように構成してもよい。
また、以上の実施の形態では、プログラム及び書換プログラムは、それぞれに、作成された日付情報、記憶された日付情報、バージョン情報、経歴情報、画像形成装置機種情報が(このうち少なくとも1つであってもよい)、対応付けられており、この情報に基づいて、書換プログラムが第1記憶部12に記憶されたプログラムを書き換えるべき書換プログラムであるか否か判断するので、バージョンアップなど、最新のプログラムに更新することができ、或いは、特別に作成したプログラム(特注プログラム)などにも容易に対応することができる。
また、実施の形態2,3で述べたように、画像形成装置10は、サービス側システム2から送信されるダウンロード指示に基づいて、サービス側システム2にアクセスして、管理記憶部22に記憶された書換プログラムを取得し、第1記憶部12に記憶されているプログラムを書換プログラムに書き換えるので、最適なタイミングで、書換プログラムを取得し、書き換えることができる。
特に、実施の形態3で述べたように、書換プログラムが伝達されるネットワーク(インターネット3)とは異なるネットワーク(電話回線網)でダウンロード指示が伝達されるので、タイミングはより正確となる。
また、実施の形態4で述べたように、画像形成システムとして、プログラムを記憶する第2記憶部82を有したサブホストを設け、サブホスト80は、一般ネットワーク(インターネット3)を介して、サービス側システム2にアクセスして、管理記憶部22に記憶された書換プログラムを取得して、第2記憶部82に記憶し、画像形成装置10は、ユーザーネットワーク(LAN4)を介して、第2記憶部82に記憶された書換プログラムを取得して、第1記憶部12に記憶されているプログラムを書換プログラムに書き換えることにより、LAN4内に存在する複数の画像形成装置、例えば、同じ機種が複数ある場合に、インターネット3を介して取得する書換プログラムは、1つで済み、時間の短縮などを図ることができばかりでなく、サブホスト80により、LAN4内の画像形成装置の一元管理をユーザー自体で可能とすることができる。
また、以上説明した実施の形態においては、画像形成装置10が画像形成しているときは、書換プログラムの取得を禁止しているので、使用されている画像形成装置10に過度な負担をかけることがない。また、画像形成装置10が画像形成しているときは、記憶した書換プログラムをプログラムと書き換えることを禁止しているので、プログラムの実行中に、該プログラムの書き換えに伴うトラブルを排除することができる。
また、以上の説明において、取得(受信)した書換プログラム(書き換える前のプログラム)を記憶する記憶部と、プログラムが記憶された第1記憶部12とは別体であることが好ましいが、同じハード(HDD,フラッシュメモリ、不揮発メモリ)内で領域を分けていてもよい。
また、以上の説明においては、種々の例について述べたが、いずれにしろ、画像形成装置からホスト(あるいは、画像形成装置からサブホスト、又は、サブホストからホスト)にアクセスする場合も、ホストから画像形成装置(あるいは、サブホストから画像形成装置、または、ホストからサブホスト)にアクセスする場合も、書き換えるべきプログラムであるか否かの判断は、画像形成装置側で判断しても、ホスト(あるいはサブホスト)側で判断してもよい。