JP4021289B2 - 画像形成装置、記憶領域確保方法 - Google Patents

画像形成装置、記憶領域確保方法 Download PDF

Info

Publication number
JP4021289B2
JP4021289B2 JP2002275974A JP2002275974A JP4021289B2 JP 4021289 B2 JP4021289 B2 JP 4021289B2 JP 2002275974 A JP2002275974 A JP 2002275974A JP 2002275974 A JP2002275974 A JP 2002275974A JP 4021289 B2 JP4021289 B2 JP 4021289B2
Authority
JP
Japan
Prior art keywords
storage area
application
program
image forming
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2002275974A
Other languages
English (en)
Other versions
JP2004110731A (ja
Inventor
勝彦 佐々木
悟 杉下
良一 加藤
良彦 阿部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2002275974A priority Critical patent/JP4021289B2/ja
Publication of JP2004110731A publication Critical patent/JP2004110731A/ja
Application granted granted Critical
Publication of JP4021289B2 publication Critical patent/JP4021289B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Memory System (AREA)
  • Stored Programmes (AREA)
  • Facsimiles In General (AREA)
  • Record Information Processing For Printing (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、画像形成装置、記憶領域確保方法に関する。
【0002】
【従来の技術】
近年、プリンタ、コピー、ファクシミリおよびスキャナなどの各装置の機能を1つの筐体内に収納した画像形成装置(以下、融合機という)が知られるようになった。この融合機は、1つの筐体内に表示部、印刷部および撮像部などを設けると共に、プリンタ、コピー、ファクシミリおよびスキャナにそれぞれ対応する4種類のアプリケーションを設け、そのアプリケーションを切り替えることより、プリンタ、コピー、ファクシミリおよびスキャナとして動作させるものである。
【0003】
このような融合機には、プログラムが展開されたり、画像データが展開されたりするメモリが備えられている。そして、このメモリは、コストなどを抑えるために、なるべく必要最小限の記憶容量で搭載されるのが一般的である。
【0004】
また、メモリは、アプリケーションなどが処理を実行する際に確保したり、解放を行うことにより使用される。この確保や解放における記憶領域(以下、メモリ領域と記す)の管理は、オペレーティングシステム(以下、OSと記す)が行なっている。
【0005】
このように、従来は、必要最小限の記憶容量で、OSが管理しているメモリを使用していた。
【0006】
【発明が解決しようとする課題】
しかしながら、一般的に、メモリが多く確保可能であれば、より多くの処理を実行することが可能となる。特に、融合機において扱うデータは、比較的大きなデータである画像データであり、さらに融合機のプログラムを更新するために、ネットワークを介してダウンロードするプログラムなどの大きなデータもある。
【0007】
また、OSが提供するシステムコールは、メモリに関して基本的な処理を行うともに、OSの中核部分が提供するため、OS以外のソフトウェアであるアプリケーションやモジュールなどの応用ソフトウェアが独自に管理を行うには限界がある。
【0008】
本発明はこのような問題点に鑑み、応用ソフトウェアが管理を行うメモリ領域に、より多くのメモリ領域を確保する画像形成装置、記憶領域確保方法を提供することを目的とする。
【0009】
【課題を解決するための手段】
上記課題を解決するために、本発明は、画像形成処理で使用されるハードウェア資源と、画像形成に係る処理をプログラムに基づき実行するプロセスと、前記プログラムの実行および前記ハードウェア資源を管理するオペレーティングシステムとを有する画像形成装置において、前記プログラムの更新プログラムのダウンロードに応じ、前記オペレーティングシステムの管理外にある記憶領域において前記プロセスに割り当てられた記憶領域を解放する記憶領域解放手段と、ダウンロードされた前記更新プログラムを前記記憶領域解放手段によって解放された記憶領域に展開するデータ展開手段とを有し、前記記憶領域解放手段は、他のプロセスからの実行要求を拒絶するように処理の実行が制限された状態へ移行可能な前記プロセスについて前記状態へ移行させた後、当該プロセスに割り当てられた記憶領域を解放することを特徴とする
【0010】
また、上記課題を解決するために、本発明は、画像形成処理で使用されるハードウェア資源と、画像形成に係る処理をプログラムに基づき実行するプロセスと、前記プログラムの実行および前記ハードウェア資源を管理するオペレーティングシステムとを有する画像形成装置の記憶領域確保方法であって、前記プログラムの更新プログラムのダウンロードに応じ、前記オペレーティングシステムの管理外にある記憶領域において前記プロセスに割り当てられた記憶領域を解放する記憶領域解放段階と、ダウンロードされた前記更新プログラムを前記記憶領域解放段階において解放された記憶領域に展開するデータ展開段階とを有し、前記記憶領域解放段階は、他のプロセスからの実行要求を拒絶するように処理の実行が制限された状態へ移行可能な前記プロセスについて前記状態へ移行させた後、当該プロセスに割り当てられた記憶領域を解放することを特徴とする。
【0013】
以上のように、本発明によれば、応用ソフトウェアが管理を行うメモリ領域に、より多くのメモリ領域を確保する画像形成装置、記憶領域確保方法が得られる。
【0014】
【発明の実施の形態】
以下、本発明の実施の形態について図面に基づいて説明する。
【0015】
図1は、本発明による融合機の一実施例の構成図を示す。融合機1は、ソフトウェア群2と、融合機起動部3と、ハードウェア資源4とを含むように構成される。
【0016】
融合機起動部3は融合機1の電源投入時に最初に実行され、アプリケーション層5およびプラットフォーム6を起動する。例えば融合機起動部3は、アプリケーション層5およびプラットフォーム6のプログラムをハードディスク装置(以下、HDDという)などから読み出し、読み出した各プログラムをメモリ領域に転送して起動する。ハードウェア資源4は、白黒レーザプリンタ(B&W LP)11と、カラーレーザプリンタ(Color LP)12と、スキャナやファクシミリなどのハードウェアリソース13とを含む。
【0017】
また、ソフトウェア群2は、UNIX(登録商標)などのオペレーティングシステム(以下、OSという)上に起動されているアプリケーション層5とプラットフォーム6とを含む。アプリケーション層5は、プリンタ、コピー、ファックス、スキャナおよびネットファイルなどの画像形成にかかるユーザサービスにそれぞれ固有の処理を行うプログラムを含む。
【0018】
アプリケーション層5は、プリンタ用のアプリケーションであるプリンタアプリ21と、コピー用アプリケーションであるコピーアプリ22と、ファックス用アプリケーションであるファックスアプリ23と、スキャナ用アプリケーションであるスキャナアプリ24と、ネットワークを用いて文書のサービスを行うネットファイルアプリ25を含む。
【0019】
また、プラットフォーム6は、アプリケーション層5からの処理要求を解釈してハードウェア資源4の獲得要求を発生するコントロールサービス層9と、1つ以上のハードウェア資源4の管理を行ってコントロールサービス層9からの獲得要求を調停するシステムリソースマネージャ(以下、SRMという)39と、SRM39からの獲得要求に応じてハードウェア資源4の管理を行うハンドラ層10とを含む。
【0020】
コントロールサービス層9は、ネットワークコントロールサービス(以下、NCSという)31、デリバリーコントロールサービス(以下、DCSという)32、オペレーションパネルコントロールサービス(以下、OCSという)33、ファックスコントロールサービス(以下、FCSという)34、エンジンコントロールサービス(以下、ECSという)35、メモリコントロールサービス(以下、MCSという)36、ユーザインフォメーションコントロールサービス(以下、UCSという)37、システムコントロールサービス(以下、SCSという)38、リモートサービス(以下、RSという)42、オンデマンドアップデートサービス(以下、OUSという)33など、一つ以上のサービスモジュールを含むように構成されている。
【0021】
なお、プラットフォーム6は予め定義されている関数により、アプリケーション層5からの処理要求を受信可能とするAPI53を有するように構成されている。OSは、アプリケーション層5およびプラットフォーム6の各ソフトウェアをプロセスとして並列実行する。
【0022】
NCS31のプロセスは、ネットワークI/Oを必要とするアプリケーションに対して共通に利用できるサービスを提供するものであり、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分けたり、各アプリケーションからのデータをネットワーク側に送信する際の仲介を行う。
【0023】
例えばNCS31は、ネットワークを介して接続されるネットワーク機器とのデータ通信をhttpd(HyperText Transfer Protocol Daemon)により、HTTP(HyperText Transfer Protocol)で制御する。
【0024】
また、NCS31は、更新プログラムをネットワークからダウンロードするためにも用いられる。
【0025】
DCS32のプロセスは、蓄積文書の配信などの制御を行う。OCS33のプロセスは、オペレータと本体制御との間の情報伝達手段となるオペレーションパネルの制御を行う。また、このオペレーションパネルは、オペレータが融合機1を操作するための入力手段でもある。FCS34のプロセスは、アプリケーション層5からPSTNまたはISDN網を利用したファックス送受信、バックアップ用のメモリで管理されている各種ファックスデータの登録/引用、ファックス読み取り、ファックス受信印刷などを行うためのAPIを提供する。
【0026】
ECS35のプロセスは、白黒レーザプリンタ11、カラーレーザプリンタ12、ハードウェアリソース13などのエンジン部の制御を行う。MCS36のプロセスは、メモリの取得および解放、HDDの利用などのメモリ制御を行う。UCS37のプロセスは、ユーザ情報の管理を行うものである。RS42のプロセスは、リモートサービスの制御を行うものである。OUS33のプロセスは、ダウンロードした更新プログラムをメモリに展開するなど、ダウンロードに関する種々の処理を行うものである。
【0027】
SCS38のプロセスは、アプリケーション管理、操作部制御、システム画面表示、LED表示、ハードウェア資源管理、割り込みアプリケーション制御などの処理を行う。
【0028】
SRM39のプロセスは、SCS38と共にシステムの制御およびハードウェア資源4の管理を行うものである。例えばSRM39のプロセスは、白黒レーザプリンタ11やカラーレーザプリンタ12などのハードウェア資源4を利用する上位層からの獲得要求に従って調停を行い、実行制御する。
【0029】
具体的に、SRM39のプロセスは獲得要求されたハードウェア資源4が利用可能であるか(他の獲得要求により利用されていないかどうか)を判定し、利用可能であれば獲得要求されたハードウェア資源4が利用可能である旨を上位層に通知する。また、SRM39のプロセスは上位層からの獲得要求に対してハードウェア資源4を利用するためのスケジューリングを行い、要求内容(例えば、プリンタエンジンによる紙搬送と作像動作、メモリ確保、ファイル生成など)を直接実施している。
【0030】
また、ハンドラ層10は後述するファックスコントロールユニット(以下、FCUという)の管理を行うファックスコントロールユニットハンドラ(以下、FCUHという)40と、プロセスに対するメモリの割り振り及びプロセスに割り振ったメモリの管理を行う記憶領域管理手段であるイメージメモリハンドラ(以下、IMHという)41とを含む。SRM39およびFCUH40は、予め定義されている関数によりハードウェア資源4に対する処理要求を送信可能とするエンジンI/F54を利用して、ハードウェア資源4に対する処理要求を行う。
【0031】
融合機1は、各アプリケーションで共通的に必要な処理をプラットフォーム6で一元的に処理することができる。次に、融合機1のハードウェア構成について説明する。
【0032】
図2は、本発明による融合機1の一実施例のハードウェア構成図を示す。融合機1は、コントローラ60と、オペレーションパネル70と、FCU80と、USBデバイス90と、IEEE1394デバイス100と、エンジン部110とを含む。
【0033】
また、コントローラ60は、CPU61と、システムメモリ(MEM−P)62と、ノースブリッジ(以下、NBという)63と、サウスブリッジ(以下、SBという)64と、ASIC66と、ローカルメモリ(MEM−C)67と、HDD68と、フラッシュメモリ69とを含む。
【0034】
オペレーションパネル70は、コントローラ60のASIC66に接続されている。また、FCU80、USBデバイス90、IEEE1394デバイス100およびエンジン部120は、コントローラ60のASIC66にPCIバスで接続されている。
【0035】
コントローラ60は、ASIC66にローカルメモリ67、HDD68などが接続されると共に、CPU61とASIC66とがCPUチップセットのNB63を介して接続されている。このように、NB63を介してCPU61とASIC66とを接続すれば、CPU61のインタフェースが公開されていない場合に対応できる。
【0036】
フラッシュメモリ69には、上記アプリケーションや、モジュールを実行させるプログラムが格納されており、ダウンロードした更新プログラムはこのフラッシュメモリ64に格納される。
【0037】
なお、ASIC66とNB63とはPCIバスを介して接続されているのでなく、AGP(Accelerated Graphics Port)65を介して接続されている。このように、図1のアプリケーション層5やプラットフォーム6を形成する一つ以上のプロセスを実行制御するため、ASIC66とNB63とを低速のPCIバスでなくAGP65を介して接続し、パフォーマンスの低下を防いでいる。
【0038】
CPU61は、融合機1の全体制御を行うものである。CPU61は、NCS31、DCS32、OCS33、FCS34、ECS35、MCS36、UCS37、SCS38、SRM39、FCUH40、RS42、OUS43およびIMH41をOS上にそれぞれプロセスとして起動して実行させると共に、アプリケーション層5を形成するプリンタアプリ21、コピーアプリ22、ファックスアプリ23、スキャナアプリ24を起動して実行させる。
【0039】
NB63は、CPU61、システムメモリ62、SB64およびASIC66を接続するためのブリッジである。システムメモリ62は、融合機1の描画用メモリなどとして用いるメモリである。SB64は、NB63とROM、PCIバス、周辺デバイスとを接続するためのブリッジである。また、ローカルメモリ67はコピー用画像バッファ、符号バッファとして用いるメモリである。
【0040】
ASIC66は、画像処理用のハードウェア要素を有する画像処理用途向けのICである。HDD68は、画像データの蓄積、文書データの蓄積、プログラムの蓄積、フォントデータの蓄積、フォームの蓄積などを行うためのストレージである。また、オペレーションパネル70は、オペレータからの入力操作を受け付けると共に、オペレータに向けた表示を行う操作部である。
【0041】
次に、メモリ領域を確保する処理を説明するために、融合機1のプログラムを更新する際に行われる更新プログラムをダウンロードする処理を例にして説明するが、その説明に先立ち、以下の説明で用いられるプロセスやアプリケーションなどの説明をしておく。
【0042】
本実施の形態においては、アプリケーション、モジュール、プロセスという表現が用いられている。このうちのプロセスは、一般的に実行中のプログラムを表すため、アプリケーションやモジュールはプロセスに含まれる。したがって、いずれの表現の場合も本質的な差はないが、本実施の形態では、説明内容に応じて適宜使い分ける。また、プロセス(アプリケーション、モジュール)を消滅することは、プロセスに割り当てられたメモリ領域を解放することを意味する。
【0043】
また、プロセスに割り当てられたメモリ領域には、プロセスが実行するプログラムと、プロセスが一時的に使用する情報など、プロセスが処理を実行するために必要な情報が展開される。
【0044】
また、本実施の形態において、ダウンロードして取得したプログラムを更新プログラムとしているが、この更新プログラムは、融合機1が有する従来からのプログラム全体を更新するプログラムだけではなく、従来のプログラムとマージするプログラムや従来のプログラムの一部を更新する差分プログラムを含む。
【0045】
以下、更新プログラムをダウンロードする処理の概要を説明する。
【0046】
融合機1は、例えば融合機1の開発元などが提供するサーバからプログラムの更新を開始する通知を受けると、プロセスに割り当てられたメモリ領域を解放することにより更新プログラムを展開するためのメモリ領域を確保し、そのメモリ領域に更新プログラムを展開するという処理を行う。そこでまず、メモリ領域についての説明をする。
【0047】
メモリ領域は、どの領域を何のプロセスに割り当てるのかが予め定められている。そのため、通常はメモリマップを用いてメモリ領域の内容が示される。
【0048】
このメモリマップを用いてメモリ領域について説明する。図3には、揮発性の記憶装置であるシステムメモリ62のメモリマップ71と、メモリマップ71に示されている共有メモリを拡大したメモリマップ72が示されている。また、メモリ領域VM75は、OSが管理するメモリ領域である。
【0049】
このようにOSの管理外にあるメモリ領域を用いることにより、融合機1を開発する側では、融合機1の仕様や特性に合わせたメモリ管理を行えるばかりではなく、メモリリークなどの不具合の発生原因を抑制することが可能となる。
【0050】
メモリマップ71では、共有メモリ、プリンタエミュレーション作業用メモリ、ページメモリ、印字データ用、その他、というようにメモリ領域が区分けされている。
【0051】
このうち、共有メモリは、実行しているプログラムが展開されるとともに、実行中のプログラムであるプロセスが処理を行うために使用するメモリである。図3に示されているメモリマップ72は、プログラムが展開する前の状態を示しているため、全て空き領域となっている。
【0052】
この状態から、プロセスが起動することによって図4のメモリマップ73に示されるように、それぞれのプロセスに割り当てられた共有メモリ内のメモリ領域を使用する。図5は、このときのプロセス稼動状況を示す図である。図5に示されるプロセスの稼動状況は、全てのプロセスが通常の処理を行なっている状況である。
【0053】
そこで、例えば、図6に示されるように、各アプリケーションや、サービス層モジュールの一部のプロセスに割り当てられたメモリ領域を解放させたとする。これにより、図7のメモリマップ74に示されるように、解放しなかったサービス層モジュールに割り当てられているメモリ領域以外は、全て空き領域となる。
【0054】
このようにすることにより、応用ソフトウェアが管理を行うメモリ領域に、より多くのメモリ領域を確保することが可能となる。
【0055】
そして、得られた空き領域は、ダウンロードした更新プログラムを展開するメモリ領域として用いられる。また、ダウンロードした更新プログラムは、新たなプログラムとしてフラッシュメモリ69に格納される。
【0056】
なお、図6において、NCS31とSCS38は、オフラインとなっているが、オフライン状態とは、プロセスが、処理の実行を制限された状態であることを示す。具体的には、エンジン状態通知や、異常発生の通知などを受信することは可能であるが、対外的なイベントに対する実行動作を禁止した状態である。そのため、図6に示されるように、処理の実行を制限されたプロセスは、他のプロセスからの実行要求を拒絶するようになっている。
【0057】
次に、プロセスの消滅について、SCS38とアプリケーションを例にして説明する。SCS38のプロセスと、アプリケーションを構成するプロセスは、図8に示されるように、起動時に互いにエラーハンドラを登録する。このエラーハンドラは、この場合、互いの存在を確認するものである。したがって、図9に示されるように、アプリケーションのプロセスが消滅すると、SCS38のエラーハンドラが、アプリケーションのプロセスが消滅したことを認識し、エラーが発生することになる。
【0058】
そこで、SCS38は、エラーを回避するため、図10に示されるように、予めアプリエラーハンドラを停止してからアプリケーションのプロセスを消滅する。このようにすることで、SCS38は、アプリケーションのプロセスが消滅しても、アプリエラーハンドラは停止しているため、エラーの発生を回避することができる。なお、図中に示される「KILL」は、プロセスを消滅させるコマンドを意味する。
【0059】
以上説明したダウンロードに関する処理の詳細を、シーケンス図とフローチャートを用いて説明する。
【0060】
図11は、融合機1が2つのアプリケーション(アプリA81、アプリB82)を消滅して更新プログラムをダウンロードし、フラッシュメモリ69に格納されたプログラムを更新する処理を示すシーケンス図である。この処理は、NCS31、データ展開手段に対応するOUS43、記憶領域解放手段とオフラン手段と再起動手段に対応するSCS38、エンジンファーム55により行われる。
【0061】
以下、シーケンス図の説明をする。ステップS101で、NCS31は、プログラム更新開始通知をネットワークから受信し、ステップS102で、OUS43に、プログラムの更新開始を示すプログラム更新開始通知を行う。プログラム更新開始を通知されたOUS43は、ステップS103で、SCS38にアプリオフライン要求を通知する。このアプリオフライン要求とは、アプリケーションを上述したオフライン状態にさせる要求である。なお、このシーケンス図でのオフライン要求は、オフライン状態にしたのちに、さらにアプリケーションを消滅させる要求も含んでいる。
【0062】
また、このアプリオフライン要求は、SCS38を介してアプリケーションに通知されるが、この要求を通知されたアプリケーションは、アプリケーションとしての動作を行なっていない限り、オフライン状態に移行しならなければならない。
【0063】
この「アプリケーションとしての動作」を具体的にコピーアプリ22を例にして説明すると、「アプリケーションとしての動作」とは、コピーアプリ22において、例えばコピーの処理を実行する動作をいう。
【0064】
したがって、コピーアプリ22がコピーアプリケーションとしての動作であるコピーの処理を実行していない限り、オフライン状態で動作しならなければならない。
【0065】
また、オフライン状態で動作しているプロセスは、対外的なイベントに対する実行動作の禁止という処理の実行の制限を解除されることにより、制限されていた処理を実行することが可能となる。したがって、アプリケーションは、オフライン状態で動作している際にも、他のアプリケーションなどから通知された内容は保持しておき、処理の実行の制限を解除されたときに、保持していた内容に基づき処理を再開することが可能となっている。
【0066】
シーケンス図の説明に戻り、アプリオフライン要求をOUS43から通知されたSCS38は、アプリA81と、アプリB82にステップS104とステップS105でアプリオフライン移行要求を通知する。
【0067】
アプリオフライン移行要求を通知されたアプリA81、アプリB82は、それぞれオフライン状態に移行することが可能である場合、SCS38に対し、アプリオフライン応答(OK)を通知する。このシーケンス図の場合、アプリA81、アプリB82ともにオフライン状態に移行することが可能であるため、アプリA81、アプリB82は、ステップS106、ステップS107で、それぞれアプリオフライン応答(OK)をSCS38に通知している。
【0068】
アプリオフライン応答(OK)を通知されたSCS38は、アプリA81、アプリB82の消滅を実行する。
【0069】
アプリケーションの消滅を実行したSCS38は、アプリケーションの消滅が完了したことを、ステップS108で、アプリオフライン確定(プロセスKILL完了)としてOUS43に通知する。アプリオフライン確定を通知されたOUS43は、更新プログラムをダウンロードし、アプリケーションの消滅により得られたメモリ領域に更新プログラムを展開する。
【0070】
次に、OUS43は、ステップS109で、プログラム更新開始要求であるリモートROM更新開始要求をSCS38に通知する。リモートROM更新開始要求を通知されたSCS38は、キーイベントのマスクを行う。このキーイベントのマスクとは、オペレーションパネル70に表示されるキーが押下されたことにより発生するイベントを受け付けないようにする処理である。
【0071】
次に、SCS38は、プログラムの更新処理を行うために、ステップS110で、ダウンロードした更新プログラムをエンジンファーム55に送信する。エンジンファーム55は、プログラムの更新を行い、その結果をステップS111でSCS38に通知する。
【0072】
SCS38は、プログラムを更新した結果が通知されると、ステップS112で、エンジンファーム55に対し、リブート準備要求を行う。そして、ステップS113で、エンジンファーム55からリブート準備完了を通知されると、SCS38は、強制リブートを行い、プログラム更新処理を終了する。
【0073】
以上のように、SCS38は、プロセスに割り当てられたメモリ領域を解放し、OUS43は、プログラムを更新する更新プログラムを、NCS31を用いてダウンロードし、SCS38により解放されたメモリ領域に展開する。
【0074】
次に、OUS43と、SCS38の処理の詳細を、フローチャートを用いて説明する。
【0075】
最初に、OUS43の処理について、図12のフローチャートを用いて説明する。ステップS201で、OUS43は、NCS31からプログラム更新開始を通知される。次のステップS202で、OUS43は、受信したプログラム更新開始通知自体が正常なデータであるかどうかをチェックするためのSUM値のチェックを実行し、プログラム更新開始通知が正常データでない場合は、ステップS203で、プログラムの更新処理を終了する。
【0076】
ステップS202で、プログラム更新開始通知が正常なデータであると判定された場合、OUS43は、ステップS204で、SCS38にアプリケーションをオフライン状態にさせ、消滅させるためのアプリオフライン要求を通知する。アプリオフライン要求の応答であるアプリオフライン確定をステップS205で受信すると、OUS43は、ステップS206で、アプリオフラインが実行完了したかどうか判断する。このステップS206の処理は、アプリオフラインが確定しなかったことを通知された場合に、ステップS203で、プログラムの更新処理を終了するための処理である。
【0077】
ステップS206で、OUS43は、アプリオフラインの実行が完了したと判断すると、ステップS207で、アプリケーションを消滅することにより確保されたメモリ領域に、更新プログラムを展開することが可能かどうか判断する。
【0078】
更新プログラムを展開することが不可能な場合、OUS43は、ステップS209で、確保されたメモリ領域を、プログラムの更新を実行しない状態に設定する。そして、OUS43は、ステップS210でSCS38にプログラム更新開始要求であるリモートROM更新開始要求を通知し、処理を終了する。なお、この場合、メモリ領域がプログラムの更新を実行しない状態に設定されているため、プログラムの更新処理は実行されない。
【0079】
ステップS207で、OUS43は、更新プログラムを展開することが可能であると判断すると、ステップS208で、更新プログラムをメモリ領域に展開する。そして、OUS43は、ステップS210でSCS38にプログラム更新開始要求であるリモートROM更新開始要求を通知し、処理を終了する。
【0080】
次に、SCS38の処理について、図13のフローチャートを用いて説明する。ステップS301で、SCS38は、OUS43からのアプリオフライン要求を受信する。アプリオフライン要求を通知されたSCS38は、ステップS302で、各アプリケーションにアプリオフライン移行要求を通知する。
【0081】
次のステップS303で、SCS38は、全てのアプリケーションからの応答が、アプリオフライン応答(OK)ではなかった場合、ステップS304で、各アプリケーションに、アプリオフライン解除を通知する。これにより、アプリケーションは、制限されていた処理の実行が可能となる。次に、SCS38は、ステップS305でアプリケーションがオフラインに移行しなかったことをOUS43に通知し、処理を終了する。
【0082】
ステップS303で、全てのアプリケーションからの応答が、アプリオフライン応答(OK)である場合、SCS38は、ステップS306で、アプリケーションを消滅させる。そして、ステップS307で、SCS38は、OUS43にアプリオフライン確定を通知する。
【0083】
次に、SCS38は、OUS43からステップS308で、プログラム更新開始要求であるリモートROM更新開始要求を受信すると、ステップS309で、オペレーションパネル70上のキー・タッチパネル操作イベントをマスクしてキーイベントのマスクを行う。
【0084】
このように、プログラムを更新する際に、オペレーションパネル70を無効化することにより、更新処理を迅速に行うことができるとともに、制限されていない機能は実行することができるため、例えば重要な機能をプログラム更新中にもかかわらず実行することができる。
【0085】
次に、SCS38は、ステップS310で、プログラム更新処理を実行し、融合機1を再起動させるためにステップS311でリブートを実行し処理を終了する。
【0086】
次に、上記ステップS306のプロセスを消滅する処理の詳細を図14のフローチャートを用いて説明する。ステップS401で、SCS38は、OSの中核部分であるカーネルに用意されたプロセス消滅エラー検知処理をマスクする。そして、SCS38は、ステップS402でプロセス間通信のエラー処理を停止する。そして、ステップS403で、SCS38は、アプリケーションのプロセスを消滅する。次に、SCS38は、ステップS404でSCS38が記憶しているアプリケーションの登録情報を抹消し処理を終了する。
【0087】
次に、上記処理とは別に、OUS43がダウンロードする更新プログラムのサイズに応じてアプリケーションを消滅する処理について、シーケンス図とフローチャートを用いて説明する。
【0088】
図15は、ダウンロードする更新プログラムのサイズに応じてアプリケーションを消滅する処理を示すシーケンス図である。
【0089】
ステップS501で、NCS31は、プログラム更新開始通知をネットワークから受信し、ステップS502で、OUS43にプログラムの更新開始を示すプログラム更新開始通知を行う。プログラム更新開始を通知されたOUS43は、ステップS503で、SCS38にアプリオフライン要求を通知する。
【0090】
アプリオフライン要求をOUS43から通知されたSCS38は、アプリA81と、アプリB82にステップS504とステップS505でアプリオフライン移行要求を通知する。
【0091】
アプリオフライン移行要求を通知されたアプリA81、アプリB82は、それぞれオフライン状態になることが可能である場合、SCS38に対し、アプリオフライン応答(OK)を通知する。このシーケンス図の場合、アプリA81、アプリB82ともにオフライン状態になることが可能であるため、アプリA81、アプリB82は、ステップS506、ステップS507で、それぞれアプリオフライン応答(OK)をSCS38に対し通知している。
【0092】
アプリオフライン応答(OK)を通知されたSCS38は、ステップS508で、OUS43にアプリケーションがオフライン状態になったことを示すアプリオフライン確定を通知する。
【0093】
アプリケーションのオフライン確定を通知されたOUS43は、ステップS509でSCS38に処理の実行を制限されたアプリケーションが使用するメモリ領域を解放させるためにメモリ解放要求を通知する。なお、このメモリ解放要求で解放要求されているメモリ領域とは、アプリケーションが画像情報の一時的な記憶や、現在の動作に関する情報の記憶をする際に使用するメモリ領域であり、プロセスに割り当てられたメモリ領域の一部である。
【0094】
メモリ解放要求を通知されたSCS38は、アプリA81と、アプリB82に対し、ステップS510とステップS511でメモリ解放要求を通知する。メモリ解放要求を通知されたアプリA81、アプリB82は、それぞれメモリ領域を解放し、ステップS512、ステップS513で、SCS38に対してメモリ解放完了応答を通知する。
【0095】
メモリ解放完了応答を通知されたSCS38は、ステップS514でOUS43にメモリの解放が完了したことを示すメモリ解放完了応答を通知する。
【0096】
メモリ解放完了応答を通知されたOUS43は、メモリの空きをチェックするメモリサイズチェックを行う。そして、この時点では、ダウンロードする更新プログラムを展開する分のメモリの空きがまだ得られていないので、OUS43は、ステップS515で、SCS38に対し、アプリケーションを構成するプロセスを消滅させるプロセスKILL要求を通知する。
【0097】
プロセスKILL要求を通知されたSCS38は、まずアプリB82を消滅する。そして、ステップS516で、SCS38は、OUS43に対し、プロセスKILL完了応答を行う。
【0098】
そこで再びOUS43は、メモリサイズのチェックを行う。しかし、ダウンロードする更新プログラムを展開する分のメモリの空きがまだ得られていないので、OUS43は、ステップS517で、SCS38に再びプロセスKILL要求を通知する。
【0099】
再びプロセスKILL要求を通知されたSCS38は、アプリA81を消滅する。そして、ステップS518で、SCS38は、OUS43にプロセスKILL完了応答を通知する。
【0100】
プロセスKILL完了応答を通知されたOUS43は、メモリサイズのチェックを行う。アプリA81の消滅により、ダウンロードする更新プログラムを展開する分のメモリの空きが得られたので、OUS43は、更新プログラムをダウンロードし、展開する。
【0101】
そして、OUS43は、ステップS519で、リモートROM更新開始要求をSCS38に通知する。リモートROM更新開始要求を通知されたSCS38は、キーイベントのマスクを行う。
【0102】
次に、SCS38は、プログラムの更新処理を行うために、ステップS520で、ダウンロードされた更新プログラムをエンジンファーム55に送信する。エンジンファーム55は、プログラムの更新を行い、その結果をステップS521でSCS38に通知する。
【0103】
SCS38は、プログラムを更新した結果が通知されると、ステップS522で、エンジンファーム55に対し、リブート準備要求を行う。そして、ステップS523で、エンジンファーム55からリブート準備完了を通知されると、SCS38は、強制リブートを行い、プログラム更新処理は終了する。
【0104】
このように、SCSはダウンロードする更新プログラムのサイズに応じて、プロセスに割り当てられたメモリ領域を解放する。
【0105】
次に、OUS43、SCS38の処理の詳細を、フローチャートを用いて説明する。
【0106】
最初に、OUS43の処理について、図16のフローチャートを用いて説明する。ステップS601で、OUS43は、NCS31からプログラム更新開始を通知される。次のステップS602で、OUS43は、受信したプログラム更新開始通知自体が正常なデータであるかどうかをチェックするためのSUM値のチェックを実行し、プログラム更新開始通知が正常データでない場合は、ステップS603で、プログラムの更新処理を終了する。
【0107】
ステップS602で、プログラム更新開始通知が正常なデータであると判定された場合、OUS43は、ステップS604で、SCS38にアプリオフライン要求を通知する。ステップS605で、OUS43は、アプリオフライン要求の応答であるアプリオフライン確定を受信すると、ステップS606で、アプリオフラインが実行完了したかどうか判断する。
【0108】
ステップS606で、OUS43が、アプリオフラインが確定しなかったと判断した場合、ステップS603で、プログラムの更新処理を終了する。
【0109】
ステップS606で、OUS43が、アプリオフラインの実行が完了したと判断した場合、ステップS607で、SCS38にメモリ解放要求を通知する。そして、ステップS608で、OUS43は、SCS38からメモリ解放完了を受信するとステップS609で、更新プログラムの展開に必要なメモリ領域が確保できたかどうか判断する。
【0110】
OUS43が、メモリ領域が確保できなかったと判断した場合、OUS43は、ステップS610で、予め定められた規定の優先順にプロセスを消滅することが可能かどうか判断する。
ここで、規定の優先順について説明する。まず、プロセスを消滅することは、上述したように、そのプロセスが割り当てられているメモリ領域を解放することである。
【0111】
そこで、まず、アプリケーションなどに割り当てられているメモリ領域であるが、メモリマップ73(図4参照)に示したように、それぞれのアプリケーションや、モジュールには、メモリ上に領域が割り当てられている。その割り当てられたメモリ領域は、さらに2つの領域で構成される。これらのメモリ領域を本実施の形態では、1つを固定エリアとし、もう一つを上述した変動エリアとする。このうち、固定エリアとは、エンジン部110(図2参照)の状態通知を記憶しておくなど、各アプリケーションがジョブを実行するしないにかかわらず必要とする情報を記憶しておくエリアである。これらの情報のうち、例えばエンジン部110の状態が記憶されていない場合、オフライン状態が解除されて再びプロセスが処理を実行した際に、実際のエンジン部110の状態が把握できていないため、異常動作の原因となる可能性がある。
【0112】
以上説明した固定エリアを表すメモリマップを、図19を用いて説明する。図19には、固定エリアを表すメモリマップ76が示されており、それぞれのアプリケーションに割り当てられたメモリ領域と、そのサイズが示されている。
【0113】
図19において、例えば、コピーアプリケーション用の固定エリアは、共有メモリ内の先頭に位置し、そのサイズは、5MB(Mega Byte)である。他のアプリケーションも同様に、割り当てられた位置と、そのサイズが示されている。
【0114】
また、空き領域77a、77b、77c、77d、77eは、各アプリケーションの変動エリアであり、このメモリマップ76では、既に解放されているため空き領域となっている。
【0115】
このように割り当てられたメモリ領域と、プロセスの優先度により、消滅するプロセスの順番を予め定めておく。その順番とは、図17に示されるように、例えば融合機1におけるプロセスの優先度に応じて定めておいた「デフォルト」の順番か、プロセスに割り当てられたメモリ領域のサイズである「メモリサイズ」の大きい順番か、「共有メモリ」(図4参照)におけるプロセスに割り当てられたメモリ領域の先頭アドレスの小さい順番などで定まる優先順である。
【0116】
「デフォルト」の順番とは、ここでは、融合機1において、使用頻度が多く優先度が高いアプリケーションほど最後に消滅させる順番である。
【0117】
「メモリサイズ」の順番とは、割り当てられたメモリ領域のサイズに応じて定められる順番である。メモリマップ76に示されるように、具体的に各アプリケーションが割り当てられたメモリ領域のサイズは、コピーアプリ22用の固定エリアが5MBであり、プリンタアプリ21用の固定エリアが3.5MBであり、FAXアプリ23用の固定エリアが4.5MBであり、スキャナアプリ24用の固定エリアが3MBであり、ネットファイルアプリ25用の固定エリアが4MBとなっている。したがって、割り当てられたメモリ領域のサイズの大きい順に解放する場合、「メモリサイズ」の順番は、図17に示される順番となる。
【0118】
また、「共有メモリ」の順番は、上述したように、メモリ領域の先頭アドレスの小さい順番など、プロセスに割り当てられた記憶領域の位置に応じて定まる。したがって、メモリマップ76においては、メモリマップ76の上に表示されているメモリ領域の先頭アドレスほど小さくなるため、図17に示される順番となる。
【0119】
上記説明したいずれか順番でプロセスを消滅することが可能であれば、OUS43は、ステップS611で、SCS38に対し、プロセスKILL要求を通知する。そして、OUS43は、ステップS612で、SCS38からプロセスKILL完了を受信すると、再びステップS609の判断を行う。
【0120】
ステップS610の処理に戻り、OUS43が、規定の優先順でプロセスを消滅することが不可能であると判断した場合、ステップS615で、OUS43はリブートを実行するかどうか判断する。このステップ615の処理は、1回でもアプリケーションを消滅させたかどうかにより、リブートを実行するかどうか判断する処理である。
【0121】
OUS43が、1回もアプリケーションを消滅していなければ、ステップS617で、OUS43は、SCS38にアプリオフライン解除を通知し、処理を終了する。これにより、アプリケーションは、制限されていた処理の実行が可能な状態に復帰する。
【0122】
OUS43が、1回以上アプリケーションを消滅していれば、ステップS616で、OUS43は、SCS38にリブート要求を通知し、処理を終了する。
【0123】
ステップS609の処理に戻り、OUS43が更新プログラムの展開に必要なメモリ領域が確保できた場合、OUS43は、ステップS613で更新プログラムをメモリ領域に展開する。そして、OUS43は、ステップS614でSCS38にリモートROM更新開始要求を通知し、処理を終了する。
【0124】
次に、SCS38の処理について、図18のフローチャートを用いて説明する。ステップS701で、SCS38は、OUS43からアプリオフライン要求を通知される。アプリオフライン要求を通知されたSCS38は、ステップS702で、各アプリケーションにアプリオフライン移行を要求する。
【0125】
次のステップS703で、SCS38は、全てのアプリケーションからの応答が、アプリオフライン応答(OK)ではなかった場合、ステップS704で、各アプリケーションに、アプリオフライン解除を通知する。そして、SCS38は、ステップS705で、OUS43にアプリケーションがオフラインに移行しなかったことを通知し、処理を終了する。
【0126】
ステップS703で、全てのアプリケーションからの応答が、アプリオフライン応答(OK)である場合、SCS38は、ステップS706で、OUS43に対し、アプリオフライン確定を通知する。
【0127】
次に、SCS38は、ステップS707で、OUS43からメモリ解放要求を通知されると、ステップS708でアプリケーションにメモリの解放処理を実行させ、ステップS709でOUS43にメモリ解放完了を通知する。
【0128】
SCS38は、OUS43にメモリ解放完了を通知すると、OUS43の要求により処理が分岐する。まず、SCS38がOUS43からプロセスKILL要求を通知された場合、SCS38は、ステップS710からステップS711に分岐し、アプリケーションを消滅する。そして、SCS38はステップS712でOUS43にプロセスKILL完了を通知し、再びステップS710の処理を行う。
【0129】
ステップS710で、SCS38がプロセスKILL要求を通知されなかった場合、SCS38は、ステップS710からステップS713に分岐し、OUS43からリモートROM更新開始要求を通知されたかどうか判断する。
【0130】
ステップS713でSCS38がリモートROM更新開始要求を通知された場合、SCS38は、ステップS714で、キー・タッチパネル操作イベントをマスクしてキーイベントのマスクを行う。そして、SCS38は、ステップS715プログラム更新処理を実行する。また、次のステップS716で、ダウンロードの実行を開始したことやプログラムの更新状況などを、RS42(図1参照)からネットワークを通してサービスセンタなどに通知し、ステップS717でリブートを行い処理を終了する。なお、サービスセンタとは、例えば融合機1の保守や点検を行うために製造元に備えられたサーバや、更新プログラムの配布元に備えられたサーバなどである。また、各アプリケーションやモジュールの状態情報をサービスセンタに送信してもよいし、サービスセンタではそのログを記録しておいてもよい。
【0131】
ステップS713で、SCS38がリモートROM更新開始要求を受信しなかった場合、SCS38は、ステップS718で、OUS43からリブート要求を受信したかどうか判断する。
【0132】
OUS43からの通知がリブート要求ではない場合、SCS38は、再びステップS710の処理を行う。OUS43からの通知がリブート要求の場合、SCS38は、ステップS719でダウンロードの実行が失敗し、リブート処理を行うことをRS42からネットワークを通してサービスセンタなどに通知し、ステップS717でリブートを行い、処理を終了する。
【0133】
次に、IMH41が、アプリケーションが使用する変動エリアを解放する処理を説明する。
【0134】
まず、図20のシーケンス図を用いて、IMH41が、アプリケーションが使用する変動エリアを解放する処理を説明する。
【0135】
図20に示されるシーケンス図は、図15のシーケンス図において、IMH41の処理により変わる部分であるステップS509からステップS514までの間の処理を示したものである。
【0136】
ステップS509は、図15と同様に、OUS43が、SCS38にメモリ解放要求を通知する。メモリ解放要求を通知されたSCS38は、図15と異なり、IMH41にステップS1でメモリ解放要求を通知する。メモリ解放要求を通知されたIMH41は、各アプリケーションの変動エリアを解放し、ステップS2でSCS38に、メモリ解放完了応答を通知する。IMH41からメモリ解放完了応答を通知されたSCS38は、図15と同様に、ステップS514で、OUS43に、メモリ解放完了応答を通知する。
【0137】
次に、この処理を行うIMH41のフローチャートを図21を用いて説明する。
【0138】
ステップS801で、アプリケーションが起動し、ステップS802で、アプリケーションが固定エリア用のメモリを確保する。そのとき、IMH41は、ステップS803で、記憶領域情報である固定エリア情報を保持する。
【0139】
次に、アプリケーションがステップS804で変動エリア用のメモリを確保すると、IMH41は、ステップS805で、記憶領域情報である変動エリア情報を保持する。
【0140】
このように、変動エリアと固定エリアからなる記憶領域情報は、図22に示される構造となっている。この図26において、例えば、アプリA81の固定エリアの記憶領域情報は、固定エリア先頭アドレス0x100000と、固定エリア末尾アドレス0x1FFFFFと、変動エリア先頭アドレス0x200000と、固定エリア末尾アドレス0x24FFFFの4つの情報からなる。他のアプリケーションも同様である。なお、上記アドレスは、16進表示となっている。また、固定エリアと変動エリアが連続する場合、変動エリア末尾アドレスは特に必要ない。さらに、各アプリケーションに割り当てられた領域が連続する場合、固定エリア末尾アドレスは特に必要ない。
【0141】
このようにIMH41は、上記記憶領域情報を保持しておくことによって、保持した記憶領域情報に基づき、アプリケーションが使用するメモリ領域を解放することができる。
【0142】
フローチャートの説明に戻り、IMH41は、ステップS806で、SCS38からのメモリ解放要求を受信すると、ステップS807で、IMH41は、各アプリケーションの変動エリアを解放する。そして、ステップS808で、IMH41は、SCS38にメモリ解放完了応答を通知する。
【0143】
このように、変動エリアを解放した状態で、IMH41が、ステップS809で、SCS38から、オンライン解除を受信すると、IMH41は、ステップS810で、各アプリケーションの変動エリア情報を再び保持する。
【0144】
【発明の効果】
以上説明したように、本発明によれば、応用ソフトウェアが管理を行うメモリ領域に、より多くのメモリ領域を確保する画像形成装置、記憶領域確保方法が得られる。
【図面の簡単な説明】
【図1】本発明による融合機の一実施例の構成図である。
【図2】本発明による融合機の一実施例のハードウェア構成図である。
【図3】メモリマップを示す図である。
【図4】共有メモリのメモリマップを示す図である。
【図5】プロセス稼動状況を示す図である。
【図6】プロセス消滅状況を示す図である。
【図7】メモリマップを示す図である。
【図8】エラーハンドラの登録の様子を示す図である。
【図9】プロセスの消滅によるエラーを示す図である。
【図10】エラーを回避した様子を示す図である。
【図11】プログラムを更新する処理を示すシーケンス図である。
【図12】OUSの処理を示すフローチャートである。
【図13】SCSの処理を示すフローチャートである。
【図14】プロセスの消滅の処理を示すフローチャートである。
【図15】プログラムを更新する処理を示すシーケンス図である。
【図16】OUSの処理を示すフローチャートである。
【図17】消滅順番を示す図である。
【図18】SCSの処理を示すフローチャートである。
【図19】固定エリアを表すメモリマップを示す図である。
【図20】IMHの処理を示すシーケンス図である。
【図21】IMHの処理を示すフローチャートである。
【図22】記憶領域情報を示す図である。
【符号の説明】
1…融合機
2…ソフトウェア群
3…融合機起動部
4…ハードウェア資源
5…アプリケーション層
6…プラットフォーム
9…コントロールサービス層
10…ハンドラ層
11…白黒レーザプリンタ(B&W LP)
12…カラーレーザプリンタ(Color LP)
13…ハードウェアリソース
21…プリンタアプリ
22…コピーアプリ
23…ファックスアプリ
24…スキャナアプリ
25…ネットファイルアプリ
31…ネットワークコントロールサービス(NCS)
32…デリバリーコントロールサービス(DCS)
33…オペレーションパネルコントロールサービス(OCS)
34…ファックスコントロールサービス(FCS)
35…エンジンコントロールサービス(ECS)
36…メモリコントロールサービス(MCS)
37…ユーザインフォメーションコントロールサービス(UCS)
38…システムコントロールサービス(SCS)
39…システムリソースマネージャ(SRM)
40…ファックスコントロールユニットハンドラ(FCUH)
41…イメージメモリハンドラ(IMH)
42…リモートサービス(RS)
43…オンデマンドアップデートサービス(OUS)
53…アプリケーションプログラムインターフェース(API)
54…エンジンI/F
55…エンジンファーム
60…コントローラ
61…CPU
62…システムメモリ(MEM−P)
63…ノースブリッジ(NB)
64…サウスブリッジ(SB)
65…AGP(Accelerated Graphics Port)
66…ASIC
67…ローカルメモリ(MEM−C)
68…ハードディスク装置(HDD)
69…フラッシュメモリ
70…オペレーションパネル
71、72、73、74、76…メモリマップ
75…VM
80…ファックスコントロールユニット(FCU)
81…アプリA
82…アプリB
90…USBデバイス
100…IEEE1394デバイス
110…エンジン部

Claims (11)

  1. 画像形成処理で使用されるハードウェア資源と、画像形成に係る処理をプログラムに基づき実行するプロセスと、前記プログラムの実行および前記ハードウェア資源を管理するオペレーティングシステムとを有する画像形成装置において、
    前記プログラムの更新プログラムのダウンロードに応じ、前記オペレーティングシステムの管理外にある記憶領域において前記プロセスに割り当てられた記憶領域を解放する記憶領域解放手段と、
    ダウンロードされた前記更新プログラムを前記記憶領域解放手段によって解放された記憶領域に展開するデータ展開手段とを有し、
    前記記憶領域解放手段は、他のプロセスからの実行要求を拒絶するように処理の実行が制限された状態へ移行可能な前記プロセスについて前記状態へ移行させた後、当該プロセスに割り当てられた記憶領域を解放することを特徴とする画像形成装置。
  2. 前記記憶領域解放手段は、前記データ展開手段が使用する記憶領域のサイズに応じて、前記プロセスに割り当てられた記憶領域を解放することを特徴とする請求項2に記載の画像形成装置。
  3. 前記記憶領域解放手段は、予め定められた順番で前記プロセスに割り当てられた記憶領域を解放することを特徴とする請求項1またはに記載の画像形成装置。
  4. 前記順番は、前記プロセスの優先度に応じて定まることを特徴とする請求項に記載の画像形成装置。
  5. 前記順番は、前記プロセスに割り当てられた記憶領域のサイズに応じて定まることを特徴とする請求項に記載の画像形成装置。
  6. 前記順番は、前記プロセスに割り当てられた記憶領域の位置に応じて定まることを特徴とする請求項に記載の画像形成装置。
  7. 前記記憶領域解放手段は、前記プロセスが一時的に使用する情報が展開される領域を解放させた後、前記更新プログラムを展開する分の空きが前記オペレーティングシステムの管理外にある記憶領域に得られないときに、前記プロセスを消滅させることを特徴とする請求項2乃至6いずれか一項記載の画像形成装置。
  8. 前記データ展開手段が前記記憶領域の使用を終了すると、前記画像形成装置を再起動する再起動手段をさらに有することを特徴とする請求項に記載の画像形成装置。
  9. 前記記憶領域は、揮発性記憶装置に設けられることを特徴とする請求項1に記載の画像形成装置。
  10. 処理の実行を制限された前記プロセスは、制限が解除されることにより、制限されていた処理の実行が可能となることを特徴とする請求項に記載の画像形成装置。
  11. 画像形成処理で使用されるハードウェア資源と、画像形成に係る処理をプログラムに基づき実行するプロセスと、前記プログラムの実行および前記ハードウェア資源を管理するオペレーティングシステムとを有する画像形成装置の記憶領域確保方法であって、
    前記プログラムの更新プログラムのダウンロードに応じ、前記オペレーティングシステムの管理外にある記憶領域において前記プロセスに割り当てられた記憶領域を解放する記憶領域解放段階と、
    ダウンロードされた前記更新プログラムを前記記憶領域解放段階において解放された記憶領域に展開するデータ展開段階とを有し、
    前記記憶領域解放段階は、他のプロセスからの実行要求を拒絶するように処理の実行が制限された状態へ移行可能な前記プロセスについて前記状態へ移行させた後、当該プロセスに割り当てられた記憶領域を解放することを特徴とする記憶領域確保方法。
JP2002275974A 2002-09-20 2002-09-20 画像形成装置、記憶領域確保方法 Expired - Fee Related JP4021289B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002275974A JP4021289B2 (ja) 2002-09-20 2002-09-20 画像形成装置、記憶領域確保方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002275974A JP4021289B2 (ja) 2002-09-20 2002-09-20 画像形成装置、記憶領域確保方法

Publications (2)

Publication Number Publication Date
JP2004110731A JP2004110731A (ja) 2004-04-08
JP4021289B2 true JP4021289B2 (ja) 2007-12-12

Family

ID=32272006

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002275974A Expired - Fee Related JP4021289B2 (ja) 2002-09-20 2002-09-20 画像形成装置、記憶領域確保方法

Country Status (1)

Country Link
JP (1) JP4021289B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8631413B2 (en) 2007-01-26 2014-01-14 Kyocera Corporation Determining the termination priority of applications based on capability of applications to retain operation state information
JP2008186044A (ja) * 2007-01-26 2008-08-14 Kyocera Corp 電子機器及び電子機器における制御方法
JP2008310695A (ja) * 2007-06-15 2008-12-25 Ntt Docomo Inc 移動通信端末
JP4886718B2 (ja) * 2008-03-04 2012-02-29 株式会社リコー 画像処理装置、プログラム、および画像処理方法

Also Published As

Publication number Publication date
JP2004110731A (ja) 2004-04-08

Similar Documents

Publication Publication Date Title
JP5112787B2 (ja) 情報処理装置、プログラム更新方法及びプログラム
JP4128516B2 (ja) 画像形成装置、プログラム更新方法
JP2006099747A (ja) 情報処理装置及びその制御方法、プログラム
JP2009187377A (ja) 画像形成装置、画像形成装置の遠隔更新検証方法及びプログラム
JP2004114674A (ja) 画像形成装置、記憶領域確保方法
JP4834970B2 (ja) 情報処理装置及びこれを用いた情報処理システム
JP2013165343A (ja) 画像形成装置、画像形成方法及びプログラム
JP2011159232A (ja) 画像処理装置、消耗品発注方法、及び消耗品発注プログラム
EP1542125B1 (en) Information processing apparatus, program recovery method, and recording medium storing a program for program recovery
JP4021289B2 (ja) 画像形成装置、記憶領域確保方法
JP4791915B2 (ja) 画像処理装置、画像処理方法及び画像処理プログラム
JP4695348B2 (ja) カード型メモリ、画像形成装置、画像形成装置起動方法
JP4001531B2 (ja) 画像形成装置
JP6961412B2 (ja) 画像形成装置、画像形成装置の制御方法、およびプログラム
JP2006099187A (ja) 情報処理装置
JP2007295371A (ja) 画像形成装置及びコンピュータプログラム
JP4246560B2 (ja) 情報処理装置、情報処理方法、プログラム、及び記録媒体
JP4237511B2 (ja) 画像形成装置、プログラム更新方法
JP2008152793A (ja) 画像形成装置、プログラム更新方法
JP2005269439A (ja) 画像形成装置、情報処理方法、情報処理プログラム、及び記録媒体
JP2004299388A (ja) 画像形成装置、外部アプリケーション動作方法
JP5494772B2 (ja) 機器、プログラム更新方法、プログラム、及びプログラム更新システム
JP4485749B2 (ja) 画像形成装置
JP2018142132A (ja) 電子機器及び起動シーケンス生成プログラム
JP7196556B2 (ja) 画像形成装置、情報処理装置及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041006

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070308

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070828

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070926

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101005

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111005

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121005

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131005

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees