(57)【特許請求の範囲】
【請求項１】
画像処理装置であって、
外部端末と通信処理するための処理プログラムを含むファームウェアを格納するための第１の記憶部と、
第３の記憶部と、
処理プログラム中の一部のプログラムの変更プログラムが当該画像処理装置に供給されるか否かを判断するための判断部と、
前記画像処理装置を制御するための制御部と、を備え、
前記変更プログラムは、前記一部のプログラムが変更されたものであり、
前記制御部は、
前記処理プログラムを含む前記ファームウェアを前記第１の記憶部から前記第３の記憶部に読出し、読出された前記第３の記憶部の当該ファームウェアを実行中に前記外部端末から前記通信処理の開始要求を受信したとき、前記処理プログラムの実行を開始し、当該通信処理の終了要求を受信したとき当該処理プログラムの実行を終了するプログラム実行部と、
前記処理プログラムの実行中に前記変更プログラムが供給されると判断された場合に、供給される当該変更プログラムを第２の記憶部に格納し、その後、当該処理プログラムの実行が終了したとき、前記第１の記憶部の前記処理プログラムを前記第２の記憶部の前記変更プログラムを用いて書換える書換部と、
前記第２の記憶部の前記変更プログラムが格納されたアドレスと、前記プログラム実行部により読出された前記処理プログラム中の前記一部のプログラムの前記第３の記憶部におけるアドレスとを関連付けるための関連付け部とを、含み、
前記プログラム実行部は、
前記処理プログラム中の前記一部のプログラムを実行するときは、当該一部のプログラムに代えて、当該一部のプログラムが読出されている前記第３の記憶部のアドレスに関連付けられた前記第２の記憶部のアドレスに格納されている前記変更プログラムを実行する、画像処理装置。
【請求項２】
前記変更プログラムは、当該変更プログラムを配信するサーバから供給される、請求項１に記載の画像処理装置。
【請求項３】
前記外部端末は、前記サーバと通信可能であり、
前記変更プログラムは、前記サーバから前記外部端末を経由して供給される、請求項２に記載の画像処理装置。
【請求項４】
前記制御部は、さらに、
前記ファームウェアの更新が計画された時期を示す時期情報を取得し、取得された前記時期情報が最近を示すときは、前記サーバから、前記外部端末を経由した、前記変更プログラムの当該画像処理装置への供給を禁止するように構成される、請求項３に記載の画像処理装置。
【請求項５】
画像処理装置であって、
外部端末と通信処理するための処理プログラムを含むファームウェアを格納するための第１の記憶部と、
処理プログラム中の一部のプログラムの変更プログラムが、サーバから前記外部端末を経由して当該画像処理装置に供給されるか否かを判断するための判断部と、
前記画像処理装置を制御するための制御部と、を備え、
前記変更プログラムは、前記一部のプログラムが変更されたものであり、
前記制御部は、
前記第１の記憶部の前記ファームウェアを実行中に前記外部端末から前記通信処理の開始要求を受信したとき、前記処理プログラムの実行を開始し、当該通信処理の終了要求を受信したとき当該処理プログラムの実行を終了するプログラム実行部を含み、
前記制御部は、
前記処理プログラムの実行中に前記変更プログラムが供給されると判断された場合に、供給される当該変更プログラムを第２の記憶部に格納し、その後、当該処理プログラムの実行が終了したとき、前記第１の記憶部の前記処理プログラムを前記第２の記憶部の前記変更プログラムを用いて書換えるよう構成され、
前記ファームウェアの更新が計画された時期を示す時期情報を取得し、取得された前記時期情報が最近を示すときは、前記サーバから、前記外部端末を経由した、前記変更プログラムの当該画像処理装置への供給を禁止するように構成される、画像処理装置。
【請求項６】
前記第１の記憶部および前記第２の記憶部とは異なる第３の記憶部を、さらに備え、
前記プログラム実行部は、
前記処理プログラムを含む前記ファームウェアを前記第１の記憶部から前記第３の記憶部に読出し、読出された当該ファームウェアを実行し、
前記制御部は、
前記第２の記憶部の前記一部の変更プログラムが格納されたアドレスと、前記プログラム実行部により読出された前記処理プログラム中の当該一部のプログラムの前記第３の記憶部におけるアドレスとを関連付けるための関連付け部を、さらに含み、
前記プログラム実行部は、
前記処理プログラム中の前記一部のプログラムを実行するときは、当該一部のプログラムに代えて、当該一部のプログラムが読出されている前記第３の記憶部のアドレスに関連付けられた前記第２の記憶部のアドレスに格納されている前記変更されたプログラムを実行する、請求項５に記載の画像処理装置。
【請求項７】
前記第２の記憶部は、前記画像処理装置に着脱自在であって前記変更プログラムを格納可能な記憶デバイスを含み、
前記画像処理装置は、装着される前記記憶デバイスから当該変更プログラムが供給されて、
前記制御部は、さらに、
前記処理プログラムの実行中に前記記憶デバイスの装着が検出された場合に、当該処理プログラムの実行が終了したとき、前記第１の記憶部の前記処理プログラムを前記記憶デバイスの前記変更プログラムを用いて書換えるよう構成される、請求項１または５に記載の画像処理装置。
【請求項８】
画像処理装置において実施される方法であって、
前記画像処理装置は、
外部端末と通信処理するための処理プログラムを含むファームウェアを格納するための第１の記憶部と、第３の記憶部とを備え、
前記方法は、
前記処理プログラムを含む前記ファームウェアを前記第１の記憶部から前記第３の記憶部に読出すステップと、
前記第３の記憶部の前記ファームウェアを実行中に前記外部端末から前記通信処理の開始要求を受信したとき、前記処理プログラムの実行を開始し、当該通信処理の終了要求を受信したとき当該処理プログラムの実行を終了するステップと、
前記処理プログラムの実行中に、前記処理プログラム中の一部のプログラムの変更プログラムが供給されるとき、当該変更プログラムを第２の記憶部に格納するステップと、を備え、前記変更プログラムは、前記一部のプログラムが変更されたものであり、
前記方法は、さらに、
前記第２の記憶部の前記変更プログラムが格納されたアドレスと、前記読出すステップにおいて読出された前記処理プログラム中の前記一部のプログラムの前記第３の記憶部におけるアドレスとを関連付けるステップと、
前記処理プログラム中の前記一部のプログラムを実行するときは、当該一部のプログラムに代えて、当該一部のプログラムが読出されている前記第３の記憶部のアドレスに関連付けられた前記第２の記憶部のアドレスに格納されている前記変更プログラムを実行するステップと、
前記処理プログラムの実行が終了したとき、前記第１の記憶部の前記処理プログラムを前記第２の記憶部の前記変更プログラムを用いて書換えるステップと、を備える、方法。
【請求項９】
画像処理装置において実施される方法であって、
前記画像処理装置は、
外部端末と通信処理するための処理プログラムを含むファームウェアを格納するための第１の記憶部と、前記第１の記憶部とは異なる第２の記憶部とを備え、
前記方法は、
前記第１の記憶部の前記ファームウェアを実行中に前記外部端末から前記通信処理の開始要求を受信したとき、前記処理プログラムの実行を開始し、当該通信処理の終了要求を受信したとき当該処理プログラムの実行を終了するステップと、
前記処理プログラムの実行中に、前記処理プログラム中の一部のプログラムの変更プログラムが、サーバから前記外部端末を経由して前記画像処理装置に供給されるとき、当該変更プログラムを前記第２の記憶部に格納するステップと、を備え、前記変更プログラムは、前記一部のプログラムが変更されたものであり、
前記方法は、さらに、
前記ファームウェアの更新が計画された時期を示す時期情報を取得し、取得された前記時期情報が最近を示すときは、前記サーバから、前記外部端末を経由した、前記変更プログラムの当該画像処理装置への供給を禁止するステップと、
前記処理プログラムの実行が終了したとき、前記第１の記憶部の前記処理プログラムを前記第２の記憶部の前記変更プログラムを用いて書換えるステップと、を備える、方法。
【請求項１０】
請求項８または９に記載の方法を前記画像処理装置のコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は画像処理装置、方法およびプログラムに関し、特に、ファームウェアの更新機能を有する画像処理装置、当該機能のための方法およびプログラムに関する。
【背景技術】
【０００２】
オフィスなどで利用される画像処理装置（たとえば、コピー機、プリンター、これらの複合機であるＭＦＰ（Multi-Function  Peripherals）等）は、ユーザのコンピュータとイントラネット等を介して通信する。ユーザのコンピュータは一般的にＷｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ（以下、単にＷｅｂと略す）ブラウザを有し、画像処理装置はコンピュータのＷｅｂブラウザに対応したＷｅｂページを作成するアプリケーションプログラムにより実現されるＷｅｂページ作成部を備えている。これにより、コンピュータのＷｅｂブラウザから各種情報（例えば、画像処理装置の状態を示す情報等）の問合せを受信した場合に、Ｗｅｂページ作成部は問合せに基づくＷｅｂページを作成し、作成されたＷｅｂページをコンピュータに送信する。コンピュータのＷｅｂブラウザはＷｅｂページを受信し、受信されたＷｅｂページに基づく画像をディスプレイに表示する。
【０００３】
上記のコンピュータのＷｅｂブラウザは新しい機能が追加されることにより更新されることがある。その場合には、画像処理装置のＷｅｂページ作成部は、更新後のＷｅｂブラウザに対応した新しいＷｅｂページを作成することができるように更新される必要がある。
【０００４】
ここで、Ｗｅｂページ作成部のアプリケーションプログラムは、一般的に、画像処理装置のファームウェアに含まれているために、Ｗｅｂページ作成部を更新する場合には、ファームウェアを更新する必要がある。しかし、ファームウェア更新中は、ユーザは画像処理装置を利用することができない。その理由は、画像処理装置は更新後のファームウェアをＲＡＭ（Random  Access  Memory）へ再展開する必要があり、その再展開のために、実行中のアプリケーションプログラムを停止する必要があるためである。
【０００５】
この課題の回避策として、アプリケーションプログラム（モジュール）の変動部分をＨＤＤ（Hard  Disc Drive）に、固定部分をＲＯＭにそれぞれ分けて格納することで、ファームウェアの更新なしに、ＨＤＤの変動部分のみをＷｅｂブラウザからアプリケーションストアにアクセスして、更新することが可能である。
【０００６】
しかし、ＲＯＭに比較しＨＤＤはアクセス速度が低速であるため、ＭＦＰ起動時にＨＤＤからＲＡＭへの変動部分の展開に時間がかかり、またＨＤＤ初期化待ちも発生するため、アプリケーションプログラムの起動が遅くなる。その間、ユーザはアプリケーションプログラムを使用することができない。このような場合に、ユーザが外部端末を操作してＭＦＰにリモートでアクセスしているときは、ＭＦＰからは当該ＭＦＰの状態が外部端末に通知されない。そのために、当該起動遅れに起因した待ち時間においてユーザはストレスを感じることになる。
【０００７】
また、ＭＦＰ起動中は、アプリケーションプログラムの変動部分をＲＯＭからＲＡＭへ展開することができない。そのため、変動部分はＨＤＤに格納しておき、ユーザの外部端末のＷｅｂブラウザからのリクエストがあった後、ＭＦＰはＨＤＤから変動部分を読出し、読出された変動部分に基づきＷｅｂブラウザにレスポンスを送信する。Ｗｅｂブラウザは、受信したレスポンスに基づきレンダリングを実施してＷｅｂページの画面を表示する。したがって、ＨＤＤのアクセスに時間がかかるために、リクエストから画面表示までのパフォーマンスが低下する。また、ユーザの外部端末とＭＦＰはネットワークを経由して通信するため、リクエスト/レスポンスごとにネットワーク通信が発生し、通信時間の分だけ待ち時間がさらに長くなる。その結果、ユーザは上記に述べたストレスをさらに感じることになる。
【０００８】
このようなユーザへの利便性の低下を回避するために、例えば特許文献１（特開２０１４−２２９１４０号公報）は、言語ファイルをファームウェアのアップデートなしに置き換える方法を提案する。また、例えば特許文献２（特開２００７−３１０７８３号公報）の装置は、装置の非作動状態が選択されている場合に、ファームウェアデータを自動的に更新する方法を提案する。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０１４−２２９１４０号公報
【特許文献２】特開２００７−３１０７８３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかし、特許文献１（特開２０１４−２２９１４０号公報）による語ファイルの置き換えは手動で実現されているため不便である。また、特許文献２（特開２００７−３１０７８３号公報）によるファームウェアデータの更新は、装置を非作動状態（節電モード、スリープモード）に設定する操作を必要とするために、利便性に優れない。また、装置の非作動状態でファームウェアデータの更新が完了するまで、ユーザは新たなファームウェアデータを利用することができず、利便性に優れない。
【００１１】
本発明はこのような問題に鑑みてなされたものであって、外部端末との通信処理プログラムを含むファームウェアの更新を利便性よく実現する画像処理装置、方法およびプログラムを提供することを目的としている。
【課題を解決するための手段】
【００１２】
上記目的を達成するために、本発明のある局面に従うと、画像処理装置は、外部端末と通信処理するための処理プログラムを含むファームウェアを格納するための第１の記憶部と、第３の記憶部と、処理プログラム中の一部のプログラムの変更プログラムが当該画像処理装置に供給されるか否かを判断するための判断部と、画像処理装置を制御するための制御部と、を備え、変更プログラムは、一部のプログラムが変更されたものであり、制御部は、処理プログラムを含むファームウェアを第１の記憶部から第３の記憶部に読出し、読出された第３の記憶部の当該ファームウェアを実行中に外部端末から通信処理の開始要求を受信したとき、処理プログラムの実行を開始し、当該通信処理の終了要求を受信したとき当該処理プログラムの実行を終了するプログラム実行部と、処理プログラムの実行中に変更プログラムが画像処理装置に供給される場合に、供給される当該変更プログラムを第２の記憶部に格納し、その後、当該処理プログラムの実行が終了したとき、第１の記憶部の処理プログラムを第２の記憶部の変更プログラムを用いて書換える書換部と、第２の記憶部の変更プログラムが格納されたアドレスと、プログラム実行部により読出された処理プログラム中の一部のプログラムの第３の記憶部におけるアドレスとを関連付けるための関連付け部とを、含み、プログラム実行部は、処理プログラム中の一部のプログラムを実行するときは、当該一部のプログラムに代えて、当該一部のプログラムが読出されている第３の記憶部のアドレスに関連付けられた第２の記憶部のアドレスに格納されている変更プログラムを実行する。
【００１５】
好ましくは、上記の変更プログラムは、当該変更プログラムを配信するサーバから供給される。
【００１６】
好ましくは、上記の外部端末は、サーバと通信可能であり、変更プログラムは、サーバから外部端末を経由して供給される。
【００１７】
好ましくは、制御部は、さらに、ファームウェアの更新が計画された時期を示す時期情報を取得し、取得された時期情報が最近を示すときは、サーバから、外部端末を経由した、変更プログラムの当該画像処理装置への供給を禁止するように構成される。
【００１８】
本開示の他の局面に従うと、画像処理装置は、外部端末と通信処理するための処理プログラムを含むファームウェアを格納するための第１の記憶部と、処理プログラム中の一部のプログラムの変更プログラムが、サーバから外部端末を経由して当該画像処理装置に供給されるか否かを判断するための判断部と、画像処理装置を制御するための制御部と、を備え、変更プログラムは、一部のプログラムが変更されたものであり、制御部は、第１の記憶部のファームウェアを実行中に外部端末から通信処理の開始要求を受信したとき、処理プログラムの実行を開始し、当該通信処理の終了要求を受信したとき当該処理プログラムの実行を終了するプログラム実行部を含み、制御部は、処理プログラムの実行中に変更プログラムが供給されると判断された場合に、供給される当該変更プログラムを第２の記憶部に格納し、その後、当該処理プログラムの実行が終了したとき、第１の記憶部の処理プログラムを前記第２の記憶部の前記変更プログラムを用いて書換えるよう構成され、ファームウェアの更新が計画された時期を示す時期情報を取得し、取得された時期情報が最近を示すときは、サーバから、外部端末を経由した、変更プログラムの当該画像処理装置への供給を禁止するように構成される。
好ましくは、第１の記憶部および前記第２の記憶部とは異なる第３の記憶部を、さらに備え、プログラム実行部は、処理プログラムを含むファームウェアを第１の記憶部から第３の記憶部に読出し、読出された当該ファームウェアを実行し、制御部は、第２の記憶部の一部の変更プログラムが格納されたアドレスと、プログラム実行部により読出された処理プログラム中の当該一部のプログラムの第３の記憶部におけるアドレスとを関連付けるための関連付け部を、さらに含み、プログラム実行部は、処理プログラム中の一部のプログラムを実行するときは、当該一部のプログラムに代えて、当該一部のプログラムが読出されている第３の記憶部のアドレスに関連付けられた第２の記憶部のアドレスに格納されている変更されたプログラムを実行する。
好ましくは、第２の記憶部は、画像処理装置に着脱自在であって変更プログラムを格納可能な記憶デバイスを含み、画像処理装置は、装着される記憶デバイスから当該変更プログラムが供給されて、制御部は、さらに、処理プログラムの実行中に記憶デバイスの装着が検出された場合に、当該処理プログラムの実行が終了したとき、第１の記憶部の処理プログラムを記憶デバイスの変更プログラムを用いて書換えるよう構成される。
【００１９】
この発明の他の局面では、画像処理装置において実施される方法が提供される。画像処理装置は、外部端末と通信処理するための処理プログラムを含むファームウェアを格納するための第１の記憶部と、第３の記憶を備え、方法は、処理プログラムを含むファームウェアを第１の記憶部から第３の記憶部に読出すステップと、第３の記憶部のファームウェアを実行中に外部端末から通信処理の開始要求を受信したとき、処理プログラムの実行を開始し、当該通信処理の終了要求を受信したとき当該処理プログラムの実行を終了するステップと、処理プログラムの実行中に、処理プログラム中の一部のプログラムの変更プログラムが供給されるとき、当該変更プログラムを第２の記憶部に格納するステップと、を備え、変更プログラムは、一部のプログラムが変更されたものであり、方法は、さらに、第２の記憶部の変更プログラムが格納されたアドレスと、読出すステップにおいて読出された処理プログラム中の一部のプログラムの第３の記憶部におけるアドレスとを関連付けるステップと、処理プログラム中の一部のプログラムを実行するときは、当該一部のプログラムに代えて、当該一部のプログラムが読出されている第３の記憶部のアドレスに関連付けられた第２の記憶部のアドレスに格納されている変更プログラムを実行するステップと、処理プログラムの実行が終了したとき、第１の記憶部の処理プログラムを第２の記憶部の変更プログラムを用いて書換えるステップと、を備える。
この発明のさらに他の局面では、画像処理装置において実施される方法が提供される。画像処理装置は、外部端末と通信処理するための処理プログラムを含むファームウェアを格納するための第１の記憶部と、第１の記憶部とは異なる第２の記憶部とを備え、方法は、第１の記憶部のファームウェアを実行中に外部端末から通信処理の開始要求を受信したとき、処理プログラムの実行を開始し、当該通信処理の終了要求を受信したとき当該処理プログラムの実行を終了するステップと、処理プログラムの実行中に、処理プログラム中の一部のプログラムの変更プログラムが、サーバから外部端末を経由して画像処理装置に供給されるとき、当該変更プログラムを第２の記憶部に格納するステップと、を備え、変更プログラムは、一部のプログラムが変更されたものであり、方法は、さらに、ファームウェアの更新が計画された時期を示す時期情報を取得し、取得された時期情報が最近を示すときは、サーバから、外部端末を経由した、変更プログラムの当該画像処理装置への供給を禁止するステップと、処理プログラムの実行が終了したとき、第１の記憶部の処理プログラムを第２の記憶部の変更プログラムを用いて書換えるステップと、を備える。
【００２０】
この発明のさらに他の局面では、上記の方法を画像処理装置のコンピュータに実行させるためのプログラムが提供される。
【発明の効果】
【００２１】
この発明によると、外部端末との通信処理プログラムを含むファームウェアの更新を利便性よく実施することができる。
【図面の簡単な説明】
【００２２】
【図１】実施の形態１にかかる画像処理システムの構成の具体例を示す図である。
【図２】実施の形態１にかかるＭＦＰのハードウェア構成の具体例を示す図である。
【図３】実施の形態１にかかる携帯端末のハードウェア構成の具体例を示す図である。
【図４】実施の形態１にかかるサーバのハードウェア構成の具体例を示す図である。
【図５】実施の形態１にかかるＭＦＰの機能構成を概略的に示す図である。
【図６】実施の形態１にかかる処理のフローチャートである。
【発明を実施するための形態】
【００２３】
以下に、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。
【００２４】
［技術思想］
本実施の形態にかかる技術思想は以下の通りである。画像処理装置は、外部端末と通信処理するための処理プログラムを含むファームウェアを第１の記憶部に格納する。画像処理装置は、この処理プログラム中の少なくとも一部のプログラムであって変更されたプログラム（変更プログラム）が当該画像処理装置に供給されるか否かを判断する。画像処理装置は、第１の記憶部のファームウェアを実行中に外部端末から通信処理の開始要求（通信セッションの開始要求、例えばログイン）を受信したとき、ファームウェア中の処理プログラムの実行を開始し、その後、当該通信処理の終了要求（通信セッション終了要求、例えばログアウト）を受信したとき当該処理プログラムの実行を終了する。
【００２５】
画像処理装置は、上述した処理プログラムの実行中に上記の変更プログラムの当該装置への供給がされると判断された場合に、供給される当該変更プログラムを一旦、第２の記憶部に格納する。その後、当該処理プログラムの実行が終了したときは、第１の記憶部の処理プログラムを第２の記憶部の変更プログラムを用いて書換える。
【００２６】
したがって、上記に述べた画像処理装置によれば、ファームウェア中の処理プログラムは、外部端末との通信処理を終了したとき自動的に変更後プログラムにより書換えることができる。したがった、次の画像処理装置の起動時は、書換え完了後の処理プログラムを含んだ第１の記憶部のファームウェアのみを起動させることでよい。つまり、起動時に第２の記憶部をアクセスする必要はなくなり、ユーザの起動待ち時間を短くすることができる。また、この処理プログラムの書換えには、画像処理装置を特別な作動状態（節電モード、スリープモード）に設定するためのユーザ操作は必要とされない。したがって、利便性よく処理プログラムおよびそれを含むファームウェアの書換えが可能となる。
【００２７】
［実施の形態１］
＜システム構成＞
図１は、実施の形態１にかかる画像処理システムの構成の具体例を示す図である。図１を参照して、画像処理システム１Ａは、複数の、画像処理装置としてのＭＦＰ（Multi-Function  Peripheral）１００Ａ，１００Ｂ，…１００Ｎと、携帯端末２００と、サーバ３００とを含む。なお、ＭＦＰ１００Ａ，１００Ｂ，…１００Ｎを代表させてＭＦＰ１００と称する。
【００２８】
画像処理装置は、ＭＦＰに限定されず、少なくとも１以上の画像処理機能を有する装置であれば、プリンターやファクシミリ送受信機やコピー機などのその他の装置であってもよい。ＭＦＰ１００は、これら機能を複合的に備えた画像処理装置である。
【００２９】
携帯端末２００は、画像処理装置が通信する外部端末の一例である。ここでは、外部端末として携帯端末２００を例示したが、携帯型に限定されず、少なくとも指示入力機能と、表示機能と、通信機能と含む機能を有する情報処理端末であれば、据え置き型の端末であってもよい。サーバ３００は、一般的なコンピュータに相当する。
【００３０】
ＭＦＰ１００と、携帯端末２００と、サーバ３００とは、インターネットを含む通信ネットワーク２を介して相互に通信可能である。ＭＦＰ１００と携帯端末２００との通信は企業内のイントラネットを利用することも可能である。通信ネットワーク２およびイントラネットは、有線および無線の各種の通信回線を含む。
【００３１】
＜ＭＦＰの構成＞
図２は、実施の形態１にかかるＭＦＰ１００のハードウェア構成の具体例を示す図である。図２を参照して、ＭＦＰ１００は、ＭＦＰ全体を制御するための制御部に相当するＣＰＵ（Central  Processing  Unit）１０と、ＣＰＵ１０で実行されるプログラムおよびデータを記憶するためのＲＯＭ（Read  Only  Memory）１１と、ＣＰＵ１０でプログラムを実行する際の作業領域として機能するためのＲＡＭ（Random  Access  Memory）１２とを備える。さらに、ＭＦＰ１００は、図示しない原稿台に載置された原稿を光学的に読み取って画像データを得るための画像読取装置１５と、画像データを印刷用紙上に固定するための印刷装置１４と、情報を表示するとともに当該ＭＦＰ１００に対する操作入力を受け付けるためのタッチパネルを含んだ操作パネル１３、ファクシミリ装置１６と、外部端末（携帯端末２００，サーバ３００）との通信の制御するためのネットワークコントローラ１７と、記憶装置１８と、センサ１９とを含む。記憶装置１８は、ハードディスク記憶装置を有する。センサ１９は、たとえば、トナー量残量を検出するためのセンサや、各部のジャム（紙詰まり）、動作異常等を検出するためのセンサ、コピー量，スキャン量，プリント量などをカウントするためのカウンタが含まれる。
【００３２】
＜携帯端末の構成＞
図３は、実施の形態１にかかる携帯端末２００のハードウェア構成の具体例を示す図である。図３を参照して、携帯端末２００は、全体を制御するためのＣＰＵ２０と、ＣＰＵ２０で実行されるプログラムおよびデータを記憶するためのＲＯＭ２１と、ＣＰＵ２０でプログラムを実行する際の作業領域として機能するためのＲＡＭ２２と、情報を表示したり当該携帯端末２００に対する操作入力を受け付けたりするためのタッチパネルを含んだ操作パネル２５と、通信を制御するためのコントローラ２７と、プログラムおよびデータを記憶するためメモリ２８とを含む。
【００３３】
＜サーバの構成＞
図４は、実施の形態１にかかるサーバ３００のハードウェア構成の具体例を示す図である。図４を参照して、サーバ３００は、全体を制御するためのＣＰＵ３０と、ＣＰＵ３０で実行されるプログラムおよびデータを記憶するためのＲＯＭ３１と、ＣＰＵ３０でプログラムを実行する際の作業領域として機能するためのＲＡＭ３２と、入力装置３３と、情報を表示するためのディスプレイ３４と、通信ネットワーク２を介した通信を制御するためのネットワークコントローラ３７と、ハードディスク記憶装置などのメモリ３８とを含む。
【００３４】
＜機能構成＞
図５は、実施の形態１にかかるＭＦＰの機能構成を概略的に示す図である。図５には、ＲＯＭ１１のファームウェアを書換えるためのＣＰＵ１０が有する機能が、周辺装置と関連付けて示されている。携帯端末２００は、通信ネットワーク２を介してサーバ３００およびＭＦＰ１００からＷｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ（以下、単にＷｅｂと略す）ページを受信する。Ｗｅｂページは、画像を表示するための情報であって例えばＨＴＭＬ（HyperText  Markup  Language）に従い記述された情報である。携帯端末２００のＷｅｂブラウザ３ａは、受信したＷｅｂページに基づくレンダリングにより画像データを生成し、生成された画像データに基づき操作パネル２５のディスプレイを駆動する。これにより、ディスプレイにＷｅｂページの画像が表示される。
【００３５】
ＭＦＰ１００のＲＯＭ２１には、装置内の各ハードウェアを制御するためのプログラムおよびデータを含むファームウェア１１ａが格納される。ＣＰＵ１０は、ファームウェア１１ａをＲＯＭ１１からＲＡＭ１２に読出し、読出されたファームウェア１１ａを実行する実行部４１と、要求受信部４２と、アドレスの関連付けを実施する関連付け部４５と、後述する新プログラム１８ａがＭＦＰ１００に供給されるか否かを判断するための判断部４６を含む。実行部４１は、携帯端末１００のＷｅｂブラウザ３ａとＭＦＰ１００のＷｅｂサーバとの通信処理のためのプログラムを実行するプログラム実行部４３、およびＲＯＭ１１の旧プログラム２１ａを記憶装置１８の新プログラム１８ａを用いて、例えば上書きにより書換える書換部４４を含む。
【００３６】
ＲＯＭ１１は、第１の記憶部の一実施例に相当し、記憶装置１８は第２の記憶部の一実施例に相当し、ＲＡＭ１２は第３の記憶部の一実施例に相当する。なお、第１〜第３の記憶部は、別個の記憶装置に設けたが、これに限定されない。例えば、ＲＯＭ１１の別領域に第１の記憶部と第３の記憶部とを設けるようにしてもよい。
【００３７】
ファームウェア１１ａは、旧プログラム２１ａを含む。旧プログラム２１ａは、実行ファイルとデータとからなるプログラムであって、Ｗｅｂページを生成するＷｅｂページ生成部とＷｅｂサーバの両方の機能を有する。Ｗｅｂページ生成部は、センサ１９の出力に基づき、ＭＦＰ１００の状態を表す情報を取得し、取得された情報からＷｅｂページを生成する。Ｗｅｂサーバは、携帯端末２００を含む外部端末との間でネットワークコントローラ１７を使用してＨＴＴＰ（Hypertext  Transfer  Protocol）に従う通信を行う。旧プログラム２１ａは、携帯端末２００と通信処理するための処理プログラムの一実施例である。
【００３８】
記憶装置１８には、旧プログラム２１ａがバージョンアップ等によって変更されたプログラムである新プログラム１８ａが格納される。ここでは、新プログラム１８ａは、旧プログラム２１ａの全体を変更したものとして示すが、新プログラム１８ａは、旧プログラム２１ａ中の少なくとも一部のプログラムであって、当該一部のプログラムが変更されたものであってもよい。
【００３９】
図５のＣＰＵ１０が有する各部の機能は、ＲＯＭ１１に格納されたプログラムに相当する。ＣＰＵ１０は、これらプログラムをＲＯＭ１１から読出して、読出されたプログラムを実行することにより各部の機能が実現される。
【００４０】
要求受信部４２は、ネットワークコントローラ１７を介して、携帯端末２００を含む外部端末から各種の要求を受信する。実行部４１は、ＲＯＭ１１のファームウェア１１ａをＲＡＭ１２に読出し、ＲＡＭ１２において読出された当該ファームウェア１１ａの各種プログラムを実行する。
【００４１】
ここでは、要求受信部４２が受信する要求は、Ｗｅｂサーバとの通信セッションの開始を要求するログイン要求と、当該通信セッションの終了を要求するログアウト要求と、Ｗｅｂページ中のデータの取得要求とを含む。ログイン要求は、通信処理のための処理プログラム（旧プログラム２１ａまたは新プログラム１８ａに相当）の実行の開始要求に相当し、ログアウト要求は当該処理プログラムの実行の終了要求に相当する。Ｗｅｂページ中のデータの取得要求は、当該データのＵＲＬ（Uniform  Resource  Locator）を含む。
【００４２】
実行部４１によるファームウェア１１ａの実行中に上記の開始要求が受信されたときは、プログラム実行部４３は、ＲＡＭ１２に読出された旧プログラム２１ａに代えて、新プログラム１８ａを記憶装置１８から読出して、読出された新プログラム１８ａの実行を開始する。書換部４４は、プログラム実行部４３による新プログラム１８ａの実行時に要求受信部４２により終了要求が受信されたときは、記憶装置１８から新プログラム１８ａを読出し、読出された新プログラム１８ａを用いて、ＲＯＭ１１の旧プログラム２１ａを書換える。
【００４３】
図６は、実施の形態１にかかるＲＯＭ１１の旧プログラム２１ａの書換え処理のフローチャートである。図６の処理フローチャートは、予めプログラムとしてＲＯＭ１１に格納されている。ＣＰＵ１０が、当該プログラムをＲＯＭ１１から読出し、実行することにより図６の処理が実現される。
【００４４】
ここでは、ＲＯＭ１１には、旧プログラム２１ａを含むファームウェア１１ａが格納されているとする。また、携帯端末２００またはサーバ３００が、新プログラム１８ａをＭＦＰ１００に供給する。この供給のために、携帯端末２００またはサーバ３００は、送信（または供給）の要求をＭＦＰ１００に送信する。当該要求に対する応答（Acknowledgement）がＭＦＰ１００から受信されたとき、携帯端末２００またはサーバ３００は、ＭＦＰ１００に新プログラム１８ａを送信（アップロードまたはダウンロード）する。これにより、ＭＦＰ１００には新プログラム１８ａが供給される。
【００４５】
図６を参照して、まず、ＭＦＰ１００を起動後、ＣＰＵ１０はファームウェア１１ａを実行する。ファームウェア１１ａの実行中において、判断部４６は、携帯端末２００またはサーバ３００から新プログラム１８ａの送信要求を受信するか否かに基づき、ＭＦＰ１００に新プログラム１８ａが供給されるか否かを判断する（ステップＳ１）。新プログラム１８ａの供給はないと判断される間は（ステップＳ１でＮＯ）、以降のプログラム書換えのための処理は実施されず、ステップＳ１の処理が繰返される。
【００４６】
判断部４６が、新プログラム１８ａの供給が有ると判断したとき（ステップＳ１でＹＥＳ）、ＣＰＵ１０は、携帯端末２００がＷｅｂサーバにログイン中であるか否かを判断する（ステップＳ３）。すなわち、要求受信部４２によりログイン要求が受信されて旧プログラム２１ａがＲＯＭ１１からＲＡＭ１２に読出されて実行中であるか否かを判断する。
【００４７】
ログイン中であり旧プログラム２１ａが実行中と判断されると（ステップＳ３でＹＥＳ）、処理は後述するステップＳ５に移行する。一方、ログイン中ではなく旧プログラム２１ａは実行中ではないと判断されると（ステップＳ３でＮＯ）、ＣＰＵ１０は、ステップＳ１で受信された送信要求に対する応答（Acknowledgement）を送信し、当該応答によって、携帯端末２００またはサーバ３００から送信された新プログラム１８ａを受信する。
【００４８】
書換部４４は受信される新プログラム１８ａを、ＲＯＭ１１の旧プログラム２１ａに上書きして、当該旧プログラム２１ａを新プログラム１８ａに書換える（ステップＳ１１）。その後、処理は終了する。
【００４９】
一方、ログイン中であると判断されたときは（ステップＳ３でＹＥＳ）、ＣＰＵ１０は、上記の応答（Acknowledgement）によって携帯端末２００またはサーバ３００から送信された新プログラム１８ａを受信し、受信される新プログラム１８ａを記憶装置１８の予め定められたアドレスの領域に格納する（ステップＳ５）。
【００５０】
新プログラム１８ａが記憶装置１８の予め定められた領域に格納されると、実行部４１のプログラム実行部４３は、ＲＡＭ１２に読出されている旧プログラム２１ａに代えて、新プログラム１８ａを記憶装置１８からＲＡＭ１２に読出し、読出された新プログラム１８ａを実行する（ステップＳ７）。
【００５１】
ここで、ステップＳ７における、旧プログラム２１ａに代わって新プログラム１８ａを実行するための関連付け部４５の処理について説明する。関連付け部４５は、新プログラム１８ａが記憶装置１８の予め定められた領域に格納されたとき、プログラム実行部４３によってＲＯＭ１１からＲＡＭ１２に読出されている旧プログラム２１ａのＲＡＭ１２におけるアドレスを、プログラム実行部４３から取得する。関連付け部４５は、取得されたアドレスを、記憶装置１８の新プログラム１８ａが格納されている予め定められた領域のアドレスと関連付けて、関連付け情報をＲＡＭ１２に格納する。この関連付けは、例えば、記憶装置１８の仮想アドレスとＲＡＭ１２の物理アドレスへの変換テーブルを参照することにより実施される。なお、変換テーブルはＯＳ（Operating  System）により作成される情報であり、周知の技術を適用することができるので、詳細な説明は繰返さない。
【００５２】
プログラム実行部４３は、旧プログラム２１ａのプログラムコードを実行する場合には、当該プログラムコードのアドレス（実行時アドレスともいう）を、関連付け部４５による関連付け情報に基づき、記憶装置１８のアドレスに変換する。プログラム実行部４３は、当該変換により得られた記憶装置１８のアドレスの領域から、新プログラム１８ａのプログラムコードを読出し、読出されるプログラムコードを実行する。これにより、旧プログラム２１ａに代えて新プログラム１８ａを実行することができる。
【００５３】
このように、ファームウェア１１ａに含まれるＷｅｂサーバおよびＷｅｂページ作成部のためのプログラムコードの参照（読出）先を、旧プログラム２１ａから記憶装置１８の新プログラム１８ａに切替えることで、新プログラム１８ａによるＷｅｂページを生成し、携帯端末２００に送信することが可能となる。携帯端末２００のＷｅｂブラウザ３ａは、新プログラム１８ａによるＷｅｂページを受信し、受信されたＷｅｂページに基づく画像を表示することが可能となる。
【００５４】
ＣＰＵ１０は、携帯端末２００がＷｅｂサーバからログアウトしたか否かを判断する（ステップＳ９）。すなわち、要求受信部４２によりログアウト要求が受信されているか否かを判断する。
【００５５】
ログアウトしていない（すなわち、ログイン中である）と判断されると（ステップＳ９でＮＯ）、ステップＳ７に戻り、以降の処理が同様に実施される。
【００５６】
一方、ログアウトしたと判断されると（ステップＳ９でＹＥＳ）、書換部４４は、携帯端末２００またはサーバ３００から受信し記憶装置１８に格納された新プログラム１８ａを、記憶装置１８から読出し、読出された新プログラム１８ａをＲＯＭ２１の旧プログラム２１ａに、例えば上書きする（ステップＳ１１）。これより、ＲＯＭ１１の旧プログラム２１ａを新プログラム１８ａに書換えることができる。その後、処理は終了する。
【００５７】
実施の形態１によれば、ログアウトしたと判断されて携帯端末２００との通信処理が終了したとき、ＲＯＭ１１の旧プログラム２１ａが、新プログラム１８ａに書換えられる。旧プログラム２１ａはファームウェア１１ａの一部のプログラムであるから、ファームウェア１１ａ全体の書換えに要する時間（例えば１０分）に比べて、短時間（例えば、１０秒程度）で実施でき、ユーザに及ぼされる書換えの待ちの影響を少なくできる。
【００５８】
また、上記のプログラムの書換えは、携帯端末２００のＷｅｂブラウザ３ａがＭＦＰ１００のＷｅｂサーバからログアウト（通信処理が終了）すれば自動的に開始されるので、書換えのための特別なユーザ操作を必要としない。
【００５９】
また、書換え後のＭＦＰ１００の起動時には、ＲＯＭ１１の新プログラム１８ａを含むファームウェア１１ａが起動される。すなわち起動時に、ＲＯＭ１１のみをアクセスし、他の記憶デバイス（記憶装置１８等）をアクセスする必要は無いので、ＭＦＰ１００を速やかに起動させることができる。
【００６０】
次に、実施の形態１の各変形例を説明する。
［変形例１］
変形例１では、実施の形態１で述べた新プログラム１８ａは、例えばファイル形式でサーバ３００からの配信により供給される。具体的には、Ｗｅｂサーバが、更新命令コード群（例えば、JavaScript（登録商標））を携帯端末２００のＷｅｂブラウザ３ａに送信する。Ｗｅｂブラウザ３ａは、受信した更新命令コード群に従って、サーバ３００から新プログラム１８ａを格納したファイルを受信し、受信されたファイル（新プログラム１８ａ）を、ＭＦＰ１００にアップロードする。
【００６１】
［変形例２］
変形例２では、上記に述べた携帯端末２００のＷｅｂブラウザ３ａのアップロードにより新プログラム１８ａの書換えが実施される場合には、ＭＦＰ１００は、ファームウェア１１ａの更新が計画されている時期を示す時期情報を参照する。具体的には、ＣＰＵ１０は、この時期情報を通信ネットワーク２を介して受信し、または操作パネル１３からのユーザ操作により取得する。そして、取得された時期情報をタイマ（図示しない）の計時する現在時間と比較し、その比較結果に基づき、当該時期情報が最近（例えば、近日中）に計画されていることを示すと判断したときは、サーバ３００から、携帯端末２００を経由した、新プログラム１８ａのＭＦＰ１００への供給を禁止するように構成される。
【００６２】
例えば、ＣＰＵ１０は、上記の肯定応答（Acknowledgement）に代えて、ＮＡＣＫ（Negative Acknowledgement）を携帯端末２００に送信することにより、携帯端末２００からＭＦＰ１００への新プログラム１８ａの供給を禁止することができる。
【００６３】
これにより、近日中にファームウェア１１ａの更新が計画されている場合には、旧プログラム２１ａを新プログラム１８ａにより書換える処理を繰り延べることができる。
【００６４】
［変形例３］
変形例３は、上記の実施の形態１の変形例を示す。新プログラム１８ａを格納する記憶装置１８として、ＵＳＢ（Universal  Serial  Bus）メモリ等のＭＦＰ１００に着脱自在の記憶デバイスを使うことができる。ＣＰＵ１０は、当該記憶デバイスがＭＦＰ１００に装着されたことを検出したとき、図６のステップＳ３以降の処理を開始する。この場合には、実施の形態１と２で説明した記憶装置１８の新プログラム１８ａに代えて、ＭＦＰ１００に装着された記憶デバイスの新プログラム１８ａが参照されるとともに、旧プログラム２１ａの書換えは、装着された記憶デバイスから読出された新プログラム１８ａが用いられる。
【００６５】
［変形例４］
変形例４は、上記の実施の形態１の変形例を示す。ＭＦＰ１００に新プログラム１８ａを供給する他の方法として、次の方法をとるようにしてもよい。つまり、ＭＦＰ１００は通信ネットワーク２を介してサーバ３００と通信する場合には、ＭＦＰ１００はサーバ３００から新プログラム１８ａのダウンロードを行う。また、携帯端末２００が通信ネットワーク２のインターネットに接続している場合は、Ｗｅｂブラウザ３ａがサーバ３００から新プログラム１８ａを受信し、受信した新プログラム１８ａをＭＦＰ１００にアップロードする。ユーザは、いずれの方法（ダウンロードまたはアップロード）をとるかを、操作パネル１３の操作により、選択的に指定することができる。
【００６６】
［変形例５］
上記の旧プログラム２１ａの書換えは、ログアウトしたときに実施したが、Ｗｅｂブラウザ３ａとＭＦＰ１００のＷｅｂサーバによる通信処理が実施されない、すなわち旧プログラム２１ａが起動（実行）されない時期であればよく、ログアウト時に限定されない。
【００６７】
［実施の形態２］
実施の形態２では、上述の動作をＭＦＰ１００に実行させるためのプログラムが提供される。このようなプログラムは、ＭＦＰ１００のコンピュータに付属するフレキシブルディスク、ＣＤ−ＲＯＭ（Compact  Disk-Read  Only  Memory）、ＲＯＭ、ＲＡＭおよびメモリカードなどのコンピュータ読み取り可能な記録媒体にて記録させて、プログラム製品として提供することもできる。あるいは、コンピュータに内蔵するハードディスクなどの記録媒体にて記録させて、プログラムを提供することもできる。また、ネットワークを介したダウンロードによって、プログラムを提供することもできる。
【００６８】
なお、プログラムは、コンピュータのＯＳの一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して処理を実行させるものであってもよい。その場合、プログラム自体には上記モジュールが含まれずＯＳと協働して処理が実行される。このようなモジュールを含まないプログラムも、実施の形態２のプログラムに含まれ得る。
【００６９】
また、実施の形態２にかかるプログラムは他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には上記他のプログラムに含まれるモジュールが含まれず、他のプログラムと協働して処理が実行される。このような他のプログラムに組込まれたプログラムも、本実施の形態２にかかるプログラムに含まれ得る。
【００７０】
提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストールされて実行される。なお、プログラム製品は、プログラム自体と、プログラムが記録された記録媒体とを含む。
【００７１】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００７２】
１Ａ  画像処理システム、２  通信ネットワーク、３ａ  Ｗｅｂブラウザ、１８  記憶装置、１８ａ  新プログラム、２１ａ  旧プログラム、１９  センサ、２１  ファームウェア、４１  実行部、４２  要求受信部、４３  プログラム実行部、４４  書換部、４５  関連付け部、４６  判断部、２００  携帯端末、３００  サーバ。
【図１】
0006274174.tif 000002
【図２】
0006274174.tif 000003
【図３】
0006274174.tif 000004
【図４】
0006274174.tif 000005
【図５】
0006274174.tif 000006
【図６】
0006274174.tif 000007