JP2004038777A - Image forming apparatus and application id allocating method - Google Patents
Image forming apparatus and application id allocating method Download PDFInfo
- Publication number
- JP2004038777A JP2004038777A JP2002197613A JP2002197613A JP2004038777A JP 2004038777 A JP2004038777 A JP 2004038777A JP 2002197613 A JP2002197613 A JP 2002197613A JP 2002197613 A JP2002197613 A JP 2002197613A JP 2004038777 A JP2004038777 A JP 2004038777A
- Authority
- JP
- Japan
- Prior art keywords
- application
- storage area
- allocating
- image forming
- storage
- 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.)
- Granted
Links
Images
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
- Stored Programmes (AREA)
Abstract
Description
【0001】
【発明の属する技術分野】
この発明は、コピー、プリンタ、スキャナおよびファクシミリなどの画像形成処理にかかるユーザサービスを提供する画像形成装置に搭載される各アプリケーション(以下、アプリともいう)を識別するためのID番号を割り付けてアプリケーション間の調停を行う画像形成装置およびアプリケーションID割付方法に関するものである。
【0002】
【従来の技術】
近年では、プリンタ、コピー、ファクシミリ、スキャナなどの各装置の機能を1つの筐体内に収納した画像形成装置(以下、「複合機」という。)が知られている。この複合機は、1つの筐体内に表示部、印刷部および撮像部などを設けるとともに、プリンタ、コピーおよびファクシミリ装置にそれぞれ対応する3種類のソフトウェアを設け、これらのソフトウェアを切り替えることによって、当該装置をプリンタ、コピー、スキャナまたはファクシミリ装置として動作させるものである。
【0003】
このような従来の複合機では、プリンタ、コピー、ファクシミリ、スキャナなどの各機能単位でアプリケーションプログラムが起動され、ハードウェア資源にアクセスする機能を持ち合わせており、複合機にアプリを搭載する場合、アプリ登録処理を行う必要があった。アプリ登録処理とは、これから搭載するアプリから複合機へアプリ登録要求メッセージが送信されると、RAMなどに生成されたアプリ登録テーブルに当該アプリの識別情報(ID番号)であるアプリIDを記録することにより行われる。このアプリIDは、各アプリに固有のものであり、複数のアプリが搭載される複合機において、アプリ間を調停するためアプリIDを使って各アプリを識別する必要がある。
【0004】
このため、従来の複合機では、搭載されるアプリを予め想定し、このアプリにはこのアプリIDというようにアプリIDを固定的に割り付けていた。また、他の従来の複合機では、アプリIDを固定せずに、アプリを起動する度にアプリIDの割り付けをし直す動的な割り付けを行うものもあった。
【0005】
この種の発明に関連する従来技術としては、例えば、特開平10−198626号公報に記載の「構成情報管理装置および方法」などがある。
【0006】
【発明が解決しようとする課題】
ところで、このような従来の複合機では、プリンタ、コピー、スキャナおよびファクシミリ装置に対応するソフトウェアをそれぞれ別個に設けていたため、各ソフトウェアの開発に多大の時間を要する。このため、出願人は、表示部、印刷部および撮像部などの画像形成処理で使用されるハードウェア資源を有し、プリンタ、コピーまたはファクシミリなどの各ユーザサービスにそれぞれ固有の処理を行うアプリケーションを複数搭載し、これらのアプリケーションとハードウェア資源との間に介在して、ユーザサービスを提供する際に、アプリケーションの少なくとも2つが共通的に必要とするハードウェア資源の管理、実行制御並びに画像形成処理を行う各種コントロールサービスからなるプラットホームを備えた画像形成装置(複合機)を発明した。
【0007】
このような新規な複合機では、アプリケーションとコントロールサービスとを別個に設けているため、複合機の出荷後にユーザもしくは第三者であるサードベンダが新規なアプリケーションを開発して複合機に搭載することが可能となり、これによって多種多様な機能を提供することが可能となる。しかし、アプリケーションのアプリIDを固定的に割り付けていた従来の複合機にあっては、どのような新規アプリが搭載されるかを予め想定することができないため、アプリIDの自動割り付けができないという問題があった。
【0008】
また、従来の複合機では、アプリIDを固定せずに、アプリIDを動的に割り付けるものがあった。この場合、新規アプリであってもアプリIDを自動割り付けすることが可能となるが、割り付けられるアプリIDがその都度変わる可能性がある上、アプリIDと共にアプリケーション毎に保持しておきたい情報(メモリの領域情報や管理情報等)をRAMなどの一時的な記憶領域に記憶させると、電源を落とし(OFF)、再度電源が入れられた場合(ON)、メモリ内容が全て消去されてしまうため、アプリケーション毎に保持しておきたい情報を電源OFF/ON後に継続的に利用することができないという問題があった。
【0009】
さらに、上記した特開平10−198626号の公報例にあっては、コンポーネントの構成情報や共有する機器資源の分配情報をコンポーネントとは独立して一元管理するものであるため、従来の複合機と比べて構成が複雑化し、その分コストがかかるという問題があった。
【0010】
この発明は上記に鑑みてなされたもので、複数のアプリケーション間を調停するためのアプリIDの割り付けを新規アプリが追加された場合でも自動割り付けが可能であると共に、割り付けられたアプリIDやアプリケーション毎に保持しておきたい情報などを電源OFF/ON後にも継続的に利用することができ、これらを簡易な構成で低コストに実現することが可能な画像形成装置およびアプリケーションID割付方法を得ることを目的とする。
【0011】
【課題を解決するための手段】
上記目的を達成するため、請求項1にかかる発明は、画像形成処理で使用されるハードウェア資源と、画像形成処理にかかるユーザサービスにそれぞれ固有の処理を行うアプリケーションのプロセスと、前記アプリケーションと前記ハードウェア資源との間に介在し、前記ユーザサービスを提供する際に、アプリケーションの少なくとも2つが共通的に必要とする前記ハードウェア資源の獲得要求、管理、実行制御並びに画像形成処理を行うコントロールサービスのプロセスとを備えた画像形成装置であって、前記アプリケーションの初回起動時に、各アプリケーションのID番号を動的に割り付ける割付制御手段と、前記割付制御手段によって割り付けられたアプリケーションのID番号をアプリケーション名称に対応して記憶する記憶手段と、を備え、前記割付制御手段は、前記アプリケーションの2回目以降の起動時に、前記記憶手段に記憶されているアプリケーション名称に対応したID番号を割り付けることを特徴とする。
【0012】
この請求項1にかかる発明によれば、割付制御手段によりアプリケーションの初回起動時に各アプリケーションのID番号を動的に割り付けるようにしたため、サードベンダなどが供給する新規アプリを追加した場合でもアプリIDの自動割り付けが可能となる。そして、割り付けられたアプリケーションのID番号をアプリケーション名称に対応して記憶手段に記憶し、アプリケーションの2回目以降の起動時には、割付制御手段が記憶手段に記憶されているアプリケーション名称に対応したID番号を割り付けるため、電源OFF/ON後にも同じアプリIDを継続的に利用することができる。
【0013】
また、請求項2にかかる発明は、請求項1に記載の画像形成装置において、前記記憶手段は、不揮発メモリで構成されていることを特徴とする。
【0014】
この請求項2にかかる発明によれば、記憶手段を不揮発メモリで構成したため、不揮発メモリに記憶されたアプリIDなどのデータは、装置電源がOFF/ONされてもバックアップ電源等を用いずにデータが保持できるので、一旦割り付けられたアプリIDなどのデータを装置電源のOFF/ONに関わらず継続的に利用することができ、装置構成も簡単で低コスト化することができる。
【0015】
また、請求項3にかかる発明は、請求項1または2に記載の画像形成装置において、前記割付制御手段は、さらに前記アプリケーションが起動時に使用する前記記憶手段の記憶領域をアプリケーションに応じたサイズに割り付けることを特徴とする。
【0016】
この請求項3にかかる発明によれば、割付制御手段は、さらにアプリケーション起動時に使用する記憶手段の記憶領域をアプリケーションに応じたサイズに割り付けるようにしたため、各アプリケーションに応じた必要なサイズの記憶領域を予め確保することが可能となり、アプリケーション起動中にメモリ不足が発生するのを防止することができる。
【0017】
また、請求項4にかかる発明は、請求項3に記載の画像形成装置において、前記割付制御手段は、前記記憶手段の記憶領域を割り付ける際に、さらに記憶領域の割り付け有効期限を指示可能とすると共に、指示した有効期限の到来時に割り付けた記憶領域を抹消することを特徴とする。
【0018】
この請求項4にかかる発明によれば、割付制御手段は、記憶手段の記憶領域を割り付ける際に、さらに記憶領域の割り付け有効期限を指示すると共に、その有効期限の到来時に割り付けた記憶領域を抹消するようにしたため、一旦記憶領域が割り付けされてもこれに固定されず、割り付け時に有効期限を指示するだけで割り付け期間を限定することができ、有効期限が切れると割り付けられた記憶領域を解放して割り付け前の状態に戻るので、ほとんど起動しないアプリケーションに記憶領域が割り付けられても一定期間後に解消され、限られた記憶領域を有効利用することができる。
【0019】
また、請求項5にかかる発明は、請求項1〜4のいずれか一つに記載の画像形成装置において、前記割付制御手段は、さらにアプリケーション毎に割り付けられた前記記憶手段の記憶領域を効率的な配置に割り付けし直すことを特徴とする。
【0020】
この請求項5にかかる発明によれば、割付制御手段は、さらにアプリケーション毎に割り付けられた記憶手段の記憶領域を効率的な配置に割り付けし直すようにしたため、記憶領域の割り付けや解放が繰り返し行われた場合に、記憶領域に無駄な隙間が発生するのを防止し、実質的な記憶容量の減少を防いで、記憶領域をより効率的に使用することができる。
【0021】
また、請求項6にかかる発明は、請求項4または5に記載の画像形成装置において、前記割付制御手段は、前記記憶手段の記憶領域の割り付け処理と抹消処理の少なくとも一方をアプリケーションの起動時に行うことを特徴とする。
【0022】
この請求項6にかかる発明によれば、割付制御手段は、記憶手段の記憶領域の割り付け処理と抹消処理の少なくとも一方をアプリケーションの起動時に行うようにしたため、アプリケーションの起動時に使用する記憶領域を確保したり、無駄な記憶領域を抹消することで他のアプリケーションの記憶領域を確保し易くすることができる。
【0023】
また、請求項7にかかる発明は、画像形成処理で使用されるハードウェア資源と、画像形成処理にかかるユーザサービスにそれぞれ固有の処理を行うアプリケーションのプロセスと、前記アプリケーションと前記ハードウェア資源との間に介在し、前記ユーザサービスを提供する際に、アプリケーションの少なくとも2つが共通的に必要とする前記ハードウェア資源の獲得要求、管理、実行制御並びに画像形成処理を行うコントロールサービスのプロセスとを備えた画像形成装置上で、前記アプリケーションを識別するためのID番号を割り付けるアプリケーションID割付方法であって、前記アプリケーションの初回起動時に、各アプリケーションのID番号を動的に割り付ける割付ステップと、割り付けられたアプリケーションのID番号をアプリケーション名称に対応させて記憶部に記憶する記憶ステップと、前記アプリケーションの2回目以降の起動時に、前記記憶部に記憶されているアプリケーション名称に対応したID番号を割り付ける再起動時割付ステップと、を含むことを特徴とする。
【0024】
この請求項7にかかる発明によれば、割付ステップによりアプリケーションの初回起動時に各アプリケーションのID番号を動的に割り付けるようにしたため、サードベンダなどが供給する新規アプリを追加した場合でもアプリIDの自動割り付けが可能となる。そして、記憶ステップにより割り付けられたアプリケーションのID番号をアプリケーション名称に対応させて記憶部に記憶させ、再起動時割付ステップによりアプリケーションの2回目以降の起動時に、記憶部に記憶されているアプリケーション名称に対応したID番号を割り付けるようにしたため、電源OFF/ON後であっても同じアプリIDを継続的に利用することができる。
【0025】
また、請求項8にかかる発明は、請求項7に記載のアプリケーションID割付方法において、前記記憶ステップは、割り付けられたアプリケーションのID番号をアプリケーション名称に対応させて不揮発メモリに記憶させることを特徴とする。
【0026】
この請求項8にかかる発明によれば、記憶ステップでは、割り付けられたアプリケーションのID番号をアプリケーション名称に対応させて不揮発メモリに記憶するようにしたため、装置電源をOFF/ONしても不揮発メモリに記憶されたアプリIDなどのデータは、バックアップ電源等を用いることなくデータを保持することができるので、一旦割り付けられたアプリIDなどのデータを装置電源のOFF/ONに関わらず継続的に利用することができ、装置構成が簡単になって、低コスト化することができる。
【0027】
また、請求項9にかかる発明は、請求項7または8に記載のアプリケーションID割付方法において、前記割付ステップは、さらに前記アプリケーション起動時に使用する前記記憶部の記憶領域をアプリケーションに応じたサイズに割り付ける記憶領域割付ステップを含むことを特徴とする。
【0028】
この請求項9にかかる発明によれば、割付ステップは、さらにアプリケーション起動時に使用する記憶部の記憶領域をアプリケーションに応じたサイズに割り付ける記憶領域割付ステップを含んでいるため、各アプリケーションに応じた必要なサイズの記憶領域を予め確保することが可能となり、アプリケーション起動中にメモリ不足が発生するのを防止することができる。
【0029】
また、請求項10にかかる発明は、請求項9に記載のアプリケーションID割付方法において、前記割付ステップは、前記記憶部の記憶領域を割り付ける際に、さらに割り付け有効期限を指示可能とし、指示した有効期限の到来時に割り付けた記憶領域を抹消する有効期限指示ステップを含むことを特徴とする。
【0030】
この請求項10にかかる発明によれば、割付ステップは、記憶部の記憶領域を割り付ける際に、さらに割り付け有効期限を指示可能として、その指示した有効期限の到来時に割り付けた記憶領域を抹消する有効期限指示ステップを含んでいるため、一旦記憶領域が割り付けされてもこれに固定されず、割り付け時に有効期限を指示するだけで割り付け期間を限定することができ、有効期限が切れると割り付けられた記憶領域を解放して割り付け前の状態に戻るので、ほとんど起動しないアプリケーションに記憶領域が割り付けられても一定期間が経過すると解消され、限られた記憶領域を有効利用することができる。
【0031】
また、請求項11にかかる発明は、請求項7〜10のいずれか一つに記載のアプリケーションID割付方法において、前記割付ステップは、さらにアプリケーション毎に割り付けられた前記記憶部の記憶領域を効率的な配置に割り付けし直す再配置ステップを含むことを特徴とする。
【0032】
この請求項11にかかる発明によれば、割付ステップは、さらにアプリケーション毎に割り付けられた記憶部の記憶領域を効率的な配置に割り付けし直す再配置ステップを含んでいるため、記憶領域の割り付けや解放が繰り返し行われた場合に、記憶領域に無駄な隙間が発生するのを防止し、実質的な記憶容量の減少を防いで、記憶領域をより効率的に使用することができる。
【0033】
また、請求項12にかかる発明は、請求項10または11に記載のアプリケーションID割付方法において、前記割付ステップは、前記記憶部の記憶領域の割り付け処理と抹消処理の少なくとも一方をアプリケーションの起動時に行うことを特徴とする。
【0034】
この請求項12にかかる発明によれば、割付ステップは、記憶部の記憶領域の割り付け処理と抹消処理の少なくとも一方をアプリケーションの起動時に行うようにしたため、アプリケーションの起動時に使用する記憶領域を確保したり、無駄な記憶領域を抹消することで他のアプリケーションの記憶領域を確保し易くすることができる。
【0035】
【発明の実施の形態】
以下に添付図面を参照して、この発明にかかる画像形成装置およびアプリケーションID割付方法の好適な実施の形態を詳細に説明する。
【0036】
(実施の形態1)
図1は、この発明の実施の形態1である画像形成装置(以下、「複合機」という)の構成を示すブロック図である。図1に示すように、複合機100は、白黒ラインプリンタ(B&W LP)101と、カラーラインプリンタ(Color LP)102と、スキャナ、ファクシミリ、ハードディスク、メモリ、ネットワークインタフェースなどのハードウェアリソース103と、割り付けられたアプリIDを記憶したりアプリケーションの起動時などにワークエリアとして使用される記憶部あるいは記憶手段としての不揮発メモリから成るフラッシュメモリ104とを有するとともに、プラットホーム120とアプリケーション130から構成されるソフトウェア群110とを備えている。
【0037】
プラットホーム120は、アプリケーションからの処理要求を解釈してハードウェア資源の獲得要求を発生させるコントロールサービスと、一または複数のハードウェア資源の管理を行い、コントロールサービスからの獲得要求を調停するシステムリソースマネージャ(SRM)123と、汎用OS121とを有する。
【0038】
コントロールサービスは、複数のサービスモジュールから形成され、割付制御手段としてのSCS(システムコントロールサービス)122と、ECS(エンジンコントロールサービス)124と、MCS(メモリコントロールサービス)125と、OCS(オペレーションパネルコントロールサービス)126と、FCS(ファックスコントロールサービス)127と、NCS(ネットワークコントロールサービス)128とから構成される。なお、このプラットホーム120は、予め定義された関数により前記アプリケーション130から処理要求を受信可能とするアプリケーションプログラムインタフェース(API)を有している。
【0039】
汎用OS121は、UNIX(登録商標)などの汎用オペレーティングシステムであり、プラットホーム120並びにアプリケーション130の各ソフトウェアをそれぞれプロセスとして並列実行する。
【0040】
SRM123のプロセスは、SCS122とともにシステムの制御およびリソースの管理を行うものである。SRM123のプロセスは、スキャナ部やプリンタ部などのエンジン、メモリ、HDDファイル、ホストI/O(セントロI/F、ネットワークI/F、IEEE1394 I/F、RS232C I/Fなど)のハードウェア資源を利用する上位層からの要求にしたがって調停を行い、実行制御する。
【0041】
具体的には、このSRM123は、要求されたハードウェア資源が利用可能であるか(他の要求により利用されていないかどうか)を判断し、利用可能であれば要求されたハードウェア資源が利用可能である旨を上位層に伝える。また、SRM123は、上位層からの要求に対してハードウェア資源の利用スケジューリングを行い、要求内容(例えば、プリンタエンジンにより紙搬送と作像動作、メモリ確保、ファイル生成など)を直接実施している。
【0042】
SCS122のプロセスは、アプリ管理、操作部制御、システム画面表示、LED表示、リソース管理、割り込みアプリ制御などを行う。このSCS122は、本発明の特徴的な構成要素であり、アプリケーションの起動時などにアプリIDを動的に割り付けたり、その割り付けたアプリIDをアプリケーション名称に対応させてフラッシュメモリ104に記憶させたり、アプリケーションの2回目以降の起動時には、フラッシュメモリ104に記憶されたアプリケーション名称に対応するアプリIDを割り付けたりする。また、SCS122は、アプリケーションが起動時に使用するフラッシュメモリ104の記憶領域をアプリケーションの仕様に応じて必要十分なサイズで割り付けたり、フラッシュメモリ104の記憶領域を割り付ける際に、有効期限を指示し、その指示した有効期限が切れると割り付けた領域を抹消したりする。さらに、SCS122は、アプリケーション毎に割り付けられたフラッシュメモリ104の記憶領域を効率的な配置となるように、割り付けし直すこともする。このように、本発明のSCS122は、割付制御手段として複合機100に搭載されるアプリケーションの起動時などにフラッシュメモリ104を利用してアプリIDや記憶領域の割り付け処理を行う点に特徴がある。
【0043】
ECS124のプロセスは、白黒ラインプリンタ(B&W LP)101、カラーラインプリンタ(Color LP)102、スキャナ、ファクシミリなどからなるハードウェアリソース103のエンジンの制御を行う。
【0044】
MCS125のプロセスは、画像メモリの取得および解放、ハードディスク装置(HDD)の利用、画像データの圧縮および伸張などを行う。
【0045】
FCS127のプロセスは、システムコントローラの各アプリ層からPSTN/ISDN網を利用したファクシミリ送受信、BKM(バックアップSRAM)で管理されている各種ファクシミリデータの登録/引用、ファクシミリ読取、ファクシミリ受信印刷、融合送受信を行うためのAPIを提供する。
【0046】
NCS128のプロセスは、ネットワークI/Oを必要とするアプリケーションに対して共通に利用できるサービスを提供するためのプロセスであり、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分けたり、アプリケーションからデータをネットワーク側に送信する際の仲介を行う。具体的には、ftpd、httpd、lpd、snmpd、telnetd、smtpdなどのサーバデーモンや、同プロトコルのクライアント機能などを有している。
【0047】
OCS126のプロセスは、オペレータ(ユーザ)と本体制御間の情報伝達手段となるオペレーションパネル(操作パネル)の制御を行う。OCS126は、オペレーションパネルからキー押下をキーイベントとして取得し、取得したキーに対応したキーイベント関数をSCS122に送信するOCSプロセスの部分と、アプリケーション130またはコントロールサービスからの要求によりオペレーションパネルに各種画面を描画出力する描画関数やその他オペレーションパネルに対する制御を行う関数などが予め登録されたOCSライブラリの部分とから構成される。このOCSライブラリは、アプリケーション130およびコントロールサービスの各モジュールにリンクされて実装されている。なお、OCS126のすべてをプロセスとして動作させるように構成しても良く、あるいはOCS126のすべてをOCSライブラリとして構成しても良い。
【0048】
アプリケーション130は、ページ記述言語(PDL)、PCLおよびポストスクリプト(PS)を有するプリンタ用のアプリケーションであるプリンタアプリ111と、コピー用アプリケーションであるコピーアプリ112と、ファクシミリ用アプリケーションであるファックスアプリ113と、スキャナ用アプリケーションであるスキャナアプリ114と、ネットワークファイル用アプリケーションであるネットファイルアプリ115と、工程検査用アプリケーションである工程検査アプリ116と、サードベンダが新規なアプリケーションを開発して搭載する新規アプリ117とを有している。これらの各アプリは、その起動時にSCS122に対して自プロセスのプロセスIDとともにアプリ登録要求メッセージを送信し、このアプリ登録要求メッセージを受信したSCS122がフラッシュメモリ104などに生成されたアプリ登録テーブルに当該アプリの識別情報であるアプリIDを記録することにより、起動したアプリに対する登録が行われるようになっている。
【0049】
アプリケーション130の各プロセス、コントロールサービスの各プロセスは、関数呼び出しとその戻り値送信およびメッセージの送受信によってプロセス間通信を行いながら、コピー、プリンタ、スキャナ、ファクシミリなどの画像形成処理にかかるユーザサービスを実現している。
【0050】
このように、実施の形態1にかかる複合機100には、複数のアプリケーション130および複数のコントロールサービスが存在し、いずれもプロセスとして動作している。そして、コントロールサービスがアプリケーション130に対し共通サービスを提供しており、このため、これらの多数のプロセスが並列動作、およびスレッドの並列動作を行って互いにプロセス間通信を行って協調動作をしながら、コピー、プリンタ、スキャナ、ファクシミリなどの画像形成処理にかかるユーザサービスを提供するようになっている。また、複合機100には、サードベンダなどの第三者がコントロールサービス層の上のアプリケーション層に新規アプリ117を開発して搭載することが可能となっている。図1では、この新規アプリ117を搭載した例を示している。
【0051】
なお、実施の形態1にかかる複合機100の各アプリケーション130は、アプリケーションごとに追加または削除することが可能である。
【0052】
図2は、実施の形態1のアプリ起動時において割り付け済みのアプリIDか否かを検索するための検索テーブルの一例を示した図である。図2に示す検索テーブルは、図1のフラッシュメモリ104内に形成され、右欄には割り付け可能なアプリID(1〜100)がそれぞれ記載されていて、これに対応した左欄には当該アプリIDが割り付け済みか否かを示す割り付け済みフラグが入力できるようになっている。SCS122は、アプリIDの割り付けを行うと、図2の検索テーブルのアプリIDのフラグを「0」→「1」とし、割り付けを解消した場合はアプリIDのフラグを「1」→「0」とする。従って、この検索テーブルを照合することによって、割り付け済みのアプリIDか否かを明確に判断することができるので、アプリIDを動的に割り付けることが可能となる。
【0053】
また、ここでは図示していないが、フラッシュメモリ104は、割り付けられたアプリIDに対応するアプリケーション名称を格納する対応テーブルも持っている。この対応テーブルとは、アプリケーションの2回目以降の起動時に参照することにより、初回起動時と同じアプリIDを割り付けできるようにするものである。さらに、この対応テーブルのアプリケーション名称と対応させて、アプリケーションが起動時に必要とする記憶領域サイズを格納しておけば、アプリケーションの仕様に応じた適切な記憶領域サイズを割り付けることも可能となる。
【0054】
図3は、図1のSCS122が各アプリの初回起動時にアプリIDを割り付ける状態を説明する図であり、図4は、2回目以降の起動時にSCS122がフラッシュメモリの対応テーブルを参照してアプリIDを割り付ける状態を説明する図である。図3では、ファックスアプリ113、コピーアプリ112、プリンタアプリ111、および、新規アプリ117の順で初回起動を行っているため、図2の検索テーブルのアプリIDの1、2、3、4の順でアプリIDが割り付けられている。そして、このように割り付けられたアプリIDは、不図示の対応テーブルにアプリケーション名称と対応して登録される。また、図4では、コピーアプリ112と新規アプリ117が2回目以降に起動された場合を示しており、SCS122がフラッシュメモリ104の対応テーブルを参照することにより、初回起動時に割り付けたのと同じアプリIDをコピーアプリ112(ID=2)と新規アプリ117(ID=4)にそれぞれ割り付けることができる。さらに、上記した対応テーブルに、各アプリケーションの仕様に応じた記憶領域のサイズデータを登録しておけば、2回目以降の起動時にもアプリケーションに応じた記憶領域サイズの割り付けを行うことができる。
【0055】
次に、このように構成された複合機100におけるアプリIDなどの割付方法について説明する。図5は、実施の形態1の動作を説明するフローチャートである。
【0056】
図5において、複合機100は、アプリケーションからの登録通知を受け取ると(ステップS2)。SCS122は、不揮発メモリであるフラッシュメモリ104内の対応テーブルを参照してアプリケーション名称を検索し(ステップS4)、今までにその名称のアプリケーションが起動されたことがあるかどうかを判定して(ステップS6)、過去の起動履歴が残っていれば(YES)へ進み、前回使用したアプリIDを採番すると共に、前回使用したサイズのフラッシュメモリ104の記憶領域を割り付けるようにする(ステップS8)。
【0057】
また、ステップS6において、今まで一度も起動されたことのないアプリケーションの場合は(NO)へ進み、図2の検索テーブルを参照して、割り付けられていない(フラグの立っていない)空きアプリIDを上から順に検索する(ステップS12)。そして、最初に見つかった空きアプリIDを採番し(ステップS14)、次回の起動のためにアプリケーション名称と採番したアプリIDとの組み合わせをフラッシュメモリ104の対応テーブルに保存する(ステップS16)。さらに、記憶領域サイズの指示があった場合は、その指示されたフラッシュメモリ104の領域サイズを割り付け(ステップS18)、その領域サイズをフラッシュメモリ104の対応テーブルに登録しておく。
【0058】
そして、上記ステップS8およびステップS18のそれぞれの処理が終了した場合は、採番したアプリIDと割り付けたフラッシュメモリ104の記憶領域とをアプリケーションに通知する(ステップS10)。
【0059】
このように、実施の形態1にかかる複合機100では、搭載される複数のアプリケーションに対して不揮発メモリであるフラッシュメモリ104の検索テーブルを参照することにより、アプリIDを動的に割り付けることができる。そして、その割り付け結果をフラッシュメモリ104の対応テーブルにアプリケーション名称と対応させて登録するため、2回目以降にアプリケーションが起動される間に装置電源のOFF/ONがあっても不揮発メモリであることから記憶が保持され、初回起動時と同じアプリIDを割り付けることができる。また、アプリIDだけでなく、アプリケーションが起動時に必要とするフラッシュメモリ104の記憶領域サイズを指示しておけば、このサイズデータも保持することができるので、固定的な割り付けの場合と同様の機能を提供することができる。すなわち、新規アプリが追加された場合であっても、アプリケーション間を調停するモジュールを変更する必要がなくなる。その上、実施の形態1では、アプリIDを動的に割り付けていることから、新規アプリを搭載する場合でも空きアプリIDがあれば自動割り付けすることができる利点がある。
【0060】
なお、実施の形態1では、未使用のアプリIDを検索する際に、検索テーブルを生成し、これを参照することによって行っているが、必ずしもこれに限定されず、装置電源のOFF/ONに影響を受けずに記憶内容が保持可能で、検索が容易に行えるものであればいかなるものでも良い。
【0061】
(実施の形態2)
実施の形態2における特徴は、不揮発メモリであるフラッシュメモリ104の領域サイズを割り付ける際に、その領域の割り付け有効期限が指示できるようにした点にある。
【0062】
図6は、実施の形態2の動作を説明するフローチャートであり、図6のAとBの間は、図5のフローチャートと同様の処理が行われるため、重複説明を省略する。図1に示すSCS122は、アプリケーションが起動時に使用するフラッシュメモリ104の記憶領域サイズを割り付ける際に、その有効期限を同時に指示することができる。これにより、指示された有効期限データは、上述したフラッシュメモリ104の対応テーブルにアプリケーション名称と対応させて登録することができる。SCS122は、フラッシュメモリ104の対応テーブルに有効期限が登録されている場合、その有効期限が切れているか否かを常時監視し、フラッシュメモリ104の中で有効期限切れの記憶領域があると、その部分の記憶領域を解放することによって(ステップS22)、他のアプリケーションが利用可能な記憶領域を増やすことができる。このようにして解放された領域を使えば、新たなアプリケーションのアプリIDや記憶領域の割り付けを行うことができる(図5のフローチャートを参照)。
【0063】
このように、実施の形態2にかかる複合機100では、上記の実施の形態1の効果に加えて、フラッシュメモリ104上で有効期限付きの記憶領域を指定することにより、有効期限が切れた時点でその部分の記憶領域が解放されるので、例えば、短期間しか使わないアプリケーションの場合、有効期限が切れるとそのアプリケーションに割り付けられた記憶領域を再利用することが可能となり、システムに搭載される限られたサイズのフラッシュメモリ104の記憶領域をより有効に活用することができる。
【0064】
なお、実施の形態2では、アプリケーションが起動される度に有効期限切れのフラッシュメモリ104の記憶領域の解放処理を行っているが、必ずしもアプリケーション起動毎に記憶領域の解放処理チェックを行う必要はなく、例えば、システム起動時に一度だけ行ってもよく、また、アプリケーションに記憶領域を割り付けようとして、記憶領域が不足した場合に初めて実行しても勿論良い。
【0065】
(実施の形態3)
実施の形態3の特徴は、上記実施の形態2で設定される有効期限付きのフラッシュメモリ104の記憶領域が有効期限切れとなった場合にその領域を解放し、解放した記憶領域がある場合は、記憶領域を効率的に再配置し直すようにする点にある。
【0066】
図7は、実施の形態3の動作を説明するフローチャートであり、図7のAとBの間は、図5と同じ処理が行われるため、重複説明を省略する。図1に示すSCS122は、アプリケーションが起動時に使用するフラッシュメモリ104の記憶領域サイズを割り付ける際に、有効期限を指示することが可能であり、指示した有効期限が切れた記憶領域がある場合は、その記憶領域を解放する(ステップS32)。ステップS34では、実際に解放された記憶領域があるか否かを判断し、解放された記憶領域がある場合は、フラッシュメモリ104の記憶領域全体の領域配置が効率的になるように割り付けし直す(ステップS36)。
【0067】
すなわち、上記した実施の形態2のように、割り付けられたアプリケーションの記憶領域に有効期限を指示すると、有効期限が切れた後に領域が解放されるので、解放された領域に新たなアプリケーションの記憶領域を割り付けることが可能となる。ところが、このような領域の解放と割り付けを長期間繰り返していると、割り付けられた領域間に隙間が発生するようになり、トータルで使用できる記憶領域サイズが減少するという新たな課題が生じることがわかってきた。このため、実施の形態3では、既に割り付けられている記憶領域サイズとその中のデータを変えることなく、記憶領域の配置のみを割り付けし直すことによって、領域間に生じていた無駄な隙間を無くすようにするものである。その際、フラッシュメモリ104の各記憶領域内のデータは、個別にコピーして他のメモリ(RAMやHDD)へ一旦待避させておき、フラッシュメモリ104の記憶領域を割り付けし直した後、待避させておいたデータを対応する記憶領域へコピー(あるいは、移動)させる。
【0068】
また、ステップS34において、解放した記憶領域が無い場合は、ステップS36をスキップする。これ以降の登録処理は、上記実施の形態1の図5のフローチャートと同じである。
【0069】
このように、実施の形態3にかかる複合機100では、上記の実施の形態2の効果に加えて、フラッシュメモリ104上で有効期限切れの記憶領域を解放して、その記憶領域が再利用できるようになった場合に、記憶領域間で隙間ができないように割り付けし直すことにより、フラッシュメモリ104の記憶領域の効率的な使用が可能となる。
【0070】
なお、実施の形態3では、記憶領域の再配置を行う場合として、有効期限切れによって解放された記憶領域が生じた時としたが、必ずしもこれに限定されず、定期的に再配置を行ったり、十分な記憶領域が確保できなくなった場合に記憶領域を再配置しても良く、またその際、再配置処理を自動的に行うようにしても良い。
【0071】
また、上記実施の形態1〜3では、不揮発メモリの一例としてフラッシュメモリ104を用いて実施したが、これに限るものではなく、装置電源のOFF/ONに影響されることなく記憶内容が保持できるものであれば何でも良い。
【0072】
【発明の効果】
以上説明したように、請求項1にかかる発明によれば、割付制御手段によりアプリケーションの初回起動時に各アプリケーションのID番号を動的に割り付けるようにしたので、サードベンダなどが供給する新規アプリを追加した場合でもアプリIDの自動割り付けが可能となる。そして、割り付けられたアプリケーションのID番号をアプリケーション名称に対応して記憶手段に記憶し、アプリケーションの2回目以降の起動時には、割付制御手段が記憶手段に記憶されているアプリケーション名称に対応したID番号を割り付けるので、電源OFF/ON後にも同じアプリIDを継続的に利用することができる。
【0073】
また、請求項2にかかる発明によれば、記憶手段を不揮発メモリで構成したので、不揮発メモリに記憶されたアプリIDなどのデータは、装置電源がOFF/ONされてもバックアップ電源等を用いずにデータを保持することができ、一旦割り付けられたアプリIDなどのデータを装置電源のOFF/ONに関わらず継続的に利用することが可能となり、装置構成も簡単で低コスト化することができる。
【0074】
また、請求項3にかかる発明によれば、割付制御手段は、さらにアプリケーション起動時に使用する記憶手段の記憶領域をアプリケーションに応じたサイズに割り付けるようにしたので、各アプリケーションに応じた必要なサイズの記憶領域を予め確保することが可能となり、アプリケーション起動中にメモリ不足が発生するのを防止することができる。
【0075】
また、請求項4にかかる発明によれば、割付制御手段は、記憶手段の記憶領域を割り付ける際に、さらに記憶領域の割り付け有効期限を指示すると共に、その有効期限の到来時に割り付けた記憶領域を抹消するようにしたので、一旦記憶領域が割り付けされてもこれに固定されず、割り付け時に有効期限を指示するだけで割り付け期間を限定することができ、有効期限が切れると割り付けられた記憶領域を解放して割り付け前の状態に戻るので、ほとんど起動しないアプリケーションに記憶領域が割り付けられても一定期間後に解消され、限られた記憶領域を有効利用することができる。
【0076】
また、請求項5にかかる発明によれば、割付制御手段は、さらにアプリケーション毎に割り付けられた記憶手段の記憶領域を効率的な配置に割り付けし直すようにしたので、記憶領域の割り付けや解放が繰り返し行われた場合に、記憶領域に無駄な隙間が発生するのを防止し、実質的な記憶容量の減少を防いで、記憶領域をより効率的に使用することができる。
【0077】
また、請求項6にかかる発明によれば、割付制御手段は、記憶手段の記憶領域の割り付け処理と抹消処理の少なくとも一方をアプリケーションの起動時に行うようにしたので、アプリケーションの起動時に使用する記憶領域を確保したり、無駄な記憶領域を抹消することで他のアプリケーションの記憶領域を確保し易くすることができる。
【0078】
また、請求項7にかかる発明によれば、割付ステップによりアプリケーションの初回起動時に各アプリケーションのID番号を動的に割り付けるようにしたので、サードベンダなどが供給する新規アプリを追加した場合でもアプリIDの自動割り付けが可能となる。そして、記憶ステップにより割り付けられたアプリケーションのID番号をアプリケーション名称に対応させて記憶部に記憶させ、再起動時割付ステップによりアプリケーションの2回目以降の起動時に、記憶部に記憶されているアプリケーション名称に対応したID番号を割り付けるようにしたので、電源OFF/ON後であっても同じアプリIDを継続的に利用することができる。
【0079】
また、請求項8にかかる発明によれば、記憶ステップでは、割り付けられたアプリケーションのID番号をアプリケーション名称に対応させて不揮発メモリに記憶するようにしたので、装置電源をOFF/ONしても不揮発メモリに記憶されたアプリIDなどのデータは、バックアップ電源等を用いることなくデータを保持できるようになり、一旦割り付けられたアプリIDなどのデータを装置電源のOFF/ONに関わらず継続的に利用することが可能となり、装置構成が簡単になって、低コスト化することができる。
【0080】
また、請求項9にかかる発明によれば、割付ステップは、さらにアプリケーション起動時に使用する記憶部の記憶領域をアプリケーションに応じたサイズに割り付ける記憶領域割付ステップを含んでいるので、各アプリケーションに応じた必要なサイズの記憶領域を予め確保することが可能となり、アプリケーション起動中にメモリ不足が発生するのを防止することができる。
【0081】
また、請求項10にかかる発明によれば、割付ステップは、記憶部の記憶領域を割り付ける際に、さらに割り付け有効期限を指示可能として、その指示した有効期限の到来時に割り付けた記憶領域を抹消する有効期限指示ステップを含んでいるので、一旦記憶領域が割り付けされてもこれに固定されず、割り付け時に有効期限を指示するだけで割り付け期間を限定することができ、有効期限が切れると割り付けられた記憶領域を解放して割り付け前の状態に戻るので、ほとんど起動しないアプリケーションに記憶領域が割り付けられても一定期間が経過すると解消され、限られた記憶領域を有効利用することができる。
【0082】
また、請求項11にかかる発明によれば、割付ステップは、さらにアプリケーション毎に割り付けられた記憶部の記憶領域を効率的な配置に割り付けし直す再配置ステップを含んでいるので、記憶領域の割り付けや解放が繰り返し行われた場合に、記憶領域に無駄な隙間が発生するのを防止し、実質的な記憶容量の減少を防いで、記憶領域をより効率的に使用することができる。
【0083】
また、請求項12にかかる発明によれば、割付ステップは、記憶部の記憶領域の割り付け処理と抹消処理の少なくとも一方をアプリケーションの起動時に行うようにしたので、アプリケーションの起動時に使用する記憶領域を確保したり、無駄な記憶領域を抹消することで他のアプリケーションの記憶領域を確保し易くすることができる。
【図面の簡単な説明】
【図1】この発明の実施の形態1である画像形成装置の構成を示すブロック図である。
【図2】実施の形態1のアプリ起動時において割り付け済みのアプリIDか否かを検索するための検索テーブルの一例を示した図である。
【図3】図1のSCSが各アプリの初回起動時にアプリIDを割り付ける状態を説明する図である。
【図4】2回目以降の起動時にSCSがフラッシュメモリの対応テーブルを参照してアプリIDを割り付ける状態を説明する図である。
【図5】実施の形態1の動作を説明するフローチャートである。
【図6】実施の形態2の動作を説明するフローチャートである。
【図7】実施の形態3の動作を説明するフローチャートである。
【符号の説明】
100 複合機
101 白黒ラインプリンタ
102 カラーラインプリンタ
103 ハードウェアリソース
104 フラッシュメモリ
110 ソフトウェア群
111 プリンタアプリ
112 コピーアプリ
113 ファックスアプリ
114 スキャナアプリ
115 ネットファイルアプリ
116 工程検査アプリ
117 新規アプリ
120 プラットホーム
121 汎用OS
122 SCS
123 SRM
124 ECS
125 MCS
126 OCS
127 FCS
128 NCS
130 アプリケーション[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention assigns an ID number for identifying each application (hereinafter, also referred to as an application) mounted on an image forming apparatus that provides a user service related to image forming processing such as a copy, a printer, a scanner, and a facsimile. The present invention relates to an image forming apparatus that performs arbitration between applications and an application ID allocation method.
[0002]
[Prior art]
2. Description of the Related Art In recent years, an image forming apparatus (hereinafter, referred to as a “multifunction peripheral”) in which functions of respective apparatuses such as a printer, a copier, a facsimile, and a scanner are housed in one housing has been known. This multifunction peripheral includes a display unit, a printing unit, an imaging unit, and the like in a single housing, and three types of software corresponding to a printer, a copying machine, and a facsimile machine, respectively. Is operated as a printer, copier, scanner or facsimile machine.
[0003]
In such a conventional multifunction peripheral, an application program is started for each functional unit such as a printer, a copier, a facsimile, and a scanner, and has a function of accessing hardware resources. Registration processing had to be performed. The application registration process is to record an application ID, which is identification information (ID number) of the application, in an application registration table generated in a RAM or the like when an application registration request message is transmitted from the application to be installed to the MFP. It is done by doing. This application ID is unique to each application, and in a multi-function device equipped with a plurality of applications, it is necessary to identify each application using the application ID in order to arbitrate between the applications.
[0004]
For this reason, in the conventional multifunction peripheral, an application to be mounted is assumed in advance, and an application ID such as the application ID is fixedly assigned to this application. Further, in other conventional multifunction peripherals, there has been a case in which the application ID is not assigned but is dynamically assigned each time the application is started.
[0005]
As a prior art related to this kind of invention, there is, for example, "Configuration Information Management Apparatus and Method" described in JP-A-10-198626.
[0006]
[Problems to be solved by the invention]
By the way, in such a conventional multifunction peripheral, software corresponding to a printer, a copier, a scanner, and a facsimile machine is separately provided, so that it takes a lot of time to develop each software. For this reason, the applicant has an application that has hardware resources used in image forming processing such as a display unit, a printing unit, and an imaging unit and performs processing specific to each user service such as a printer, a copy or a facsimile. When providing a user service by interposing between a plurality of applications and hardware resources, management, execution control, and image forming processing of hardware resources required by at least two of the applications in common Invented an image forming apparatus (multifunction peripheral) equipped with a platform composed of various control services for performing the following.
[0007]
In such a new MFP, the application and the control service are provided separately. Therefore, after the MFP is shipped, the user or a third-party third party must develop a new application and install it in the MFP. It is possible to provide a wide variety of functions. However, in a conventional multifunction peripheral in which the application ID of an application is fixedly assigned, it is not possible to assume in advance what kind of new application is to be installed, so that the automatic assignment of the application ID cannot be performed. was there.
[0008]
Also, in some conventional multifunction peripherals, an application ID is dynamically assigned without fixing the application ID. In this case, it is possible to automatically assign an application ID even for a new application. However, the assigned application ID may change each time, and information (memory, When the power is turned off (OFF) and the power is turned on again (ON), all of the memory contents are erased. There is a problem that information that is desired to be retained for each application cannot be continuously used after the power is turned off / on.
[0009]
Further, in the above-mentioned Japanese Patent Application Laid-Open No. 10-198626, since the configuration information of components and the distribution information of shared device resources are unifiedly managed independently of the components, the conventional multifunction peripherals are There is a problem that the configuration is complicated and the cost is increased accordingly.
[0010]
The present invention has been made in view of the above, and it is possible to automatically assign an application ID for arbitrating between a plurality of applications even when a new application is added. An image forming apparatus and an application ID assigning method capable of continuously using information desired to be stored in a computer even after the power is turned off and on, and realizing the information with a simple configuration at a low cost. With the goal.
[0011]
[Means for Solving the Problems]
In order to achieve the above object, the invention according to
[0012]
According to the first aspect of the present invention, the assignment control means dynamically assigns the ID number of each application when the application is first started. Therefore, even when a new application supplied by a third vendor or the like is added, the application ID of the application is not changed. Automatic assignment becomes possible. Then, the ID number of the assigned application is stored in the storage unit corresponding to the application name, and at the time of starting the application for the second time or later, the allocation control unit sets the ID number corresponding to the application name stored in the storage unit. Because of the assignment, the same application ID can be continuously used even after the power is turned off / on.
[0013]
According to a second aspect of the present invention, in the image forming apparatus according to the first aspect, the storage unit includes a nonvolatile memory.
[0014]
According to the second aspect of the present invention, since the storage means is constituted by a non-volatile memory, data such as an application ID stored in the non-volatile memory can be stored without using a backup power supply even when the apparatus power is turned off / on. Can be continuously used regardless of whether the power of the apparatus is OFF or ON, and the apparatus configuration can be simplified and the cost can be reduced.
[0015]
According to a third aspect of the present invention, in the image forming apparatus according to the first or second aspect, the allocation control unit further sets a storage area of the storage unit used by the application at the time of startup to a size corresponding to the application. It is characterized by allocation.
[0016]
According to the third aspect of the present invention, the allocation control means further allocates the storage area of the storage means used when the application is started to a size corresponding to the application, so that the storage area of a required size corresponding to each application is provided. Can be secured in advance, and it is possible to prevent a memory shortage from occurring during application startup.
[0017]
According to a fourth aspect of the present invention, in the image forming apparatus according to the third aspect, the allocation control means can further designate an expiration date of the storage area when allocating the storage area of the storage means. In addition, the storage area allocated at the expiration of the designated expiration date is deleted.
[0018]
According to the fourth aspect of the invention, when allocating the storage area of the storage means, the allocation control means further instructs the expiration date of the storage area, and deletes the allocated storage area when the expiration date comes. Once the storage area is allocated, it is not fixed to this once, and the allocation period can be limited only by indicating the expiration date at the time of allocation, and the allocated storage area is released when the expiration date expires. Since the storage state is returned to the state before the allocation, even if the storage area is allocated to the application that is hardly started, it is resolved after a certain period, and the limited storage area can be used effectively.
[0019]
Further, according to a fifth aspect of the present invention, in the image forming apparatus according to any one of the first to fourth aspects, the allocation control unit further efficiently saves a storage area of the storage unit allocated for each application. It is characterized by being re-assigned to a different arrangement.
[0020]
According to the fifth aspect of the present invention, the allocation control means reallocates the storage areas of the storage means allocated for each application to an efficient arrangement, so that the allocation and release of the storage areas are repeatedly performed. In such a case, it is possible to prevent a useless space from being generated in the storage area, prevent a substantial decrease in storage capacity, and use the storage area more efficiently.
[0021]
According to a sixth aspect of the present invention, in the image forming apparatus according to the fourth or fifth aspect, the allocation control unit performs at least one of a process of allocating a storage area of the storage unit and a process of erasing at the time of starting an application. It is characterized by the following.
[0022]
According to the invention according to claim 6, the allocation control means performs at least one of the processing of allocating the storage area of the storage means and the processing of erasing at the time of starting the application, so that the storage area to be used at the time of starting the application is secured. Or deleting unnecessary storage areas makes it easier to secure storage areas for other applications.
[0023]
According to a seventh aspect of the present invention, there is provided an image forming apparatus comprising: a hardware resource used in an image forming process; an application process for performing a process specific to a user service related to the image forming process; And a control service process for performing acquisition control, management, execution control, and image forming processing of the hardware resources required by at least two of the applications in common when providing the user service. A method of allocating an ID number for identifying the application on the image forming apparatus, comprising: an allocating step of dynamically allocating an ID number of each application when the application is started up for the first time; Application ID number A storage step of storing the application name in the storage unit in association with the application name, and a restart-time allocation step of allocating an ID number corresponding to the application name stored in the storage unit when the application is started for the second time or later, It is characterized by including.
[0024]
According to the invention of claim 7, since the ID number of each application is dynamically allocated at the time of the first activation of the application by the allocation step, even if a new application supplied by a third vendor or the like is added, the application ID is automatically allocated. Assignment becomes possible. Then, the ID number of the application allocated in the storage step is stored in the storage unit in association with the application name, and in the restart-time allocation step, the application name stored in the storage unit is stored when the application is started for the second time or later. Since the corresponding ID number is assigned, the same application ID can be continuously used even after the power is turned off / on.
[0025]
The invention according to claim 8 is the application ID assigning method according to claim 7, wherein the storing step stores the assigned application ID number in a nonvolatile memory in association with an application name. I do.
[0026]
According to this invention, in the storing step, the assigned application ID number is stored in the non-volatile memory in association with the application name. Since the stored data such as the application ID can be held without using a backup power supply or the like, the once-assigned data such as the application ID is continuously used regardless of whether the power of the apparatus is OFF or ON. Therefore, the apparatus configuration can be simplified and the cost can be reduced.
[0027]
According to a ninth aspect of the present invention, in the application ID allocating method according to the seventh or eighth aspect, the allocating step further allocates a storage area of the storage unit used at the time of starting the application to a size corresponding to an application. It is characterized by including a storage area allocating step.
[0028]
According to the ninth aspect of the present invention, since the allocating step further includes a storage area allocating step of allocating a storage area of the storage unit used at the time of starting the application to a size corresponding to the application, the allocation step is performed according to each application. It is possible to secure a storage area of an appropriate size in advance, and it is possible to prevent a memory shortage from occurring during application startup.
[0029]
According to a tenth aspect of the present invention, in the application ID allocating method according to the ninth aspect, in the allocating step, when allocating a storage area of the storage unit, the allocation validity period can be further specified, and the specified validity period can be specified. It is characterized by including an expiration date instructing step of erasing the storage area allocated at the expiration of the expiration date.
[0030]
According to the tenth aspect of the present invention, in the allocating step, at the time of allocating the storage area of the storage unit, the allocation expiration date can be further designated, and the validity of deleting the allocated storage area when the designated expiration date comes is reached. Once the storage area is allocated, it is not fixed to this, because it includes the expiration instruction step. The allocation period can be limited only by indicating the expiration date at the time of allocation, and the storage allocated when the expiration date expires Since the area is released and returns to the state before the allocation, even if the storage area is allocated to the application that is hardly started, it is resolved after a certain period of time, and the limited storage area can be used effectively.
[0031]
According to an eleventh aspect of the present invention, in the application ID allocating method according to any one of the seventh to tenth aspects, the allocating step further efficiently allocates a storage area of the storage unit allocated to each application. And a rearrangement step of rearranging the arrangement to a proper arrangement.
[0032]
According to the eleventh aspect of the present invention, the allocating step further includes a relocation step of reallocating the storage area of the storage unit allocated for each application to an efficient allocation. When release is repeatedly performed, it is possible to prevent a useless gap from being generated in the storage area, prevent a substantial decrease in storage capacity, and use the storage area more efficiently.
[0033]
According to a twelfth aspect of the present invention, in the application ID allocating method according to the tenth or eleventh aspect, the allocating step performs at least one of a process of allocating a storage area of the storage unit and a process of erasing at the time of starting an application. It is characterized by the following.
[0034]
According to the twelfth aspect of the present invention, in the allocating step, at least one of the processing of allocating the storage area of the storage unit and the processing of erasing is performed at the time of starting the application. In addition, by deleting useless storage areas, it is possible to easily secure storage areas for other applications.
[0035]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, preferred embodiments of an image forming apparatus and an application ID allocating method according to the present invention will be described in detail with reference to the accompanying drawings.
[0036]
(Embodiment 1)
FIG. 1 is a block diagram illustrating a configuration of an image forming apparatus (hereinafter, referred to as a “multifunction peripheral”) according to a first embodiment of the present invention. As shown in FIG. 1, the multifunction peripheral 100 includes a monochrome line printer (B & W LP) 101, a color line printer (Color LP) 102, and
[0037]
The
[0038]
The control service is formed from a plurality of service modules, and includes SCS (system control service) 122, ECS (engine control service) 124, MCS (memory control service) 125, and OCS (operation panel control service) as allocation control means. ) 126, FCS (fax control service) 127, and NCS (network control service) 128. The
[0039]
The general-
[0040]
The process of the
[0041]
Specifically, the
[0042]
The process of the
[0043]
The process of the
[0044]
The process of the
[0045]
The process of the
[0046]
The process of the
[0047]
The process of the
[0048]
The application 130 includes a
[0049]
Each process of the application 130 and each process of the control service realize user services related to image forming processing such as copy, printer, scanner, and facsimile while performing inter-process communication by transmitting a function call, transmitting a return value thereof, and transmitting and receiving a message. are doing.
[0050]
As described above, in the multifunction peripheral 100 according to the first embodiment, there are a plurality of applications 130 and a plurality of control services, all of which operate as processes. The control service provides a common service to the application 130. For this reason, many of these processes perform parallel operation and thread parallel operation, perform inter-process communication with each other, and perform cooperative operation. User services related to image forming processes such as copying, printing, scanning, and facsimile are provided. In addition, the
[0051]
Each application 130 of the multifunction peripheral 100 according to the first embodiment can be added or deleted for each application.
[0052]
FIG. 2 is a diagram illustrating an example of a search table for searching whether or not an application ID has been assigned at the time of starting the application according to the first embodiment. The search table shown in FIG. 2 is formed in the
[0053]
Although not shown here, the
[0054]
FIG. 3 is a diagram illustrating a state in which the
[0055]
Next, a method of assigning an application ID and the like in the
[0056]
In FIG. 5, when the
[0057]
In step S6, if the application has never been started, the process proceeds to (NO), and referring to the search table in FIG. 2, an unassigned (not flagged) free application ID is referred to. Are searched in order from the top (step S12). Then, a free application ID found first is numbered (step S14), and a combination of the application name and the numbered application ID is stored in the correspondence table of the
[0058]
Then, when the processing in each of steps S8 and S18 ends, the application is notified of the numbered application ID and the allocated storage area of the flash memory 104 (step S10).
[0059]
As described above, in the multifunction peripheral 100 according to the first embodiment, an application ID can be dynamically allocated to a plurality of applications to be mounted by referring to the search table in the
[0060]
In the first embodiment, when an unused application ID is searched, a search table is generated and referred to. However, the search table is not necessarily limited to the search table. Any device can be used as long as the stored contents can be retained without being affected and the search can be easily performed.
[0061]
(Embodiment 2)
The feature of the second embodiment is that when allocating the area size of the
[0062]
FIG. 6 is a flowchart for explaining the operation of the second embodiment. Since the same processing as that of the flowchart of FIG. 5 is performed between A and B in FIG. 6, a duplicate description will be omitted. The
[0063]
As described above, in the multifunction peripheral 100 according to the second embodiment, in addition to the effects of the first embodiment, by specifying a storage area with an expiration date on the
[0064]
In the second embodiment, the release processing of the storage area of the expired
[0065]
(Embodiment 3)
The feature of the third embodiment is that the storage area of the
[0066]
FIG. 7 is a flowchart for explaining the operation of the third embodiment. The same processing as in FIG. 5 is performed between A and B in FIG. The
[0067]
That is, as in the above-described second embodiment, when the expiration date is specified in the storage area of the allocated application, the area is released after the expiration date, so that the storage area of the new application is stored in the released area. Can be assigned. However, if such release and allocation of the area are repeated for a long time, a gap occurs between the allocated areas, and a new problem that the total available storage area size decreases may occur. I understand. For this reason, in the third embodiment, useless gaps generated between the areas are eliminated by reallocating only the arrangement of the storage areas without changing the already allocated storage area size and the data therein. Is to do so. At this time, the data in each storage area of the
[0068]
If there is no released storage area in step S34, step S36 is skipped. Subsequent registration processing is the same as the flowchart in FIG. 5 of the first embodiment.
[0069]
As described above, in the multifunction peripheral 100 according to the third embodiment, in addition to the effect of the second embodiment, the expired storage area on the
[0070]
In the third embodiment, the storage area is rearranged when a storage area released due to expiration expires. However, the present invention is not limited to this. When a sufficient storage area cannot be secured, the storage area may be relocated. At that time, the relocation processing may be automatically performed.
[0071]
In the first to third embodiments, the
[0072]
【The invention's effect】
As described above, according to the first aspect of the present invention, the ID number of each application is dynamically allocated at the time of the first activation of the application by the allocation control means, so that a new application supplied by a third vendor or the like is added. In this case, the application ID can be automatically assigned. Then, the ID number of the assigned application is stored in the storage unit corresponding to the application name, and at the time of starting the application for the second time or later, the allocation control unit sets the ID number corresponding to the application name stored in the storage unit. Since the assignment is performed, the same application ID can be continuously used even after the power is turned off / on.
[0073]
According to the second aspect of the present invention, since the storage means is constituted by a nonvolatile memory, data such as an application ID stored in the nonvolatile memory does not use a backup power supply or the like even when the apparatus power is turned off / on. Data, such as the application ID once assigned, can be used continuously regardless of whether the power of the apparatus is OFF or ON, and the apparatus configuration can be simplified and the cost can be reduced. .
[0074]
According to the third aspect of the present invention, the allocation control means further allocates the storage area of the storage means used at the time of starting the application to a size corresponding to the application. It is possible to secure a storage area in advance, and it is possible to prevent shortage of memory during application startup.
[0075]
Also, according to the invention according to
[0076]
According to the fifth aspect of the present invention, the allocation control means reallocates the storage area of the storage means allocated for each application to an efficient arrangement. When the repetition is performed, it is possible to prevent a useless space from being generated in the storage area, prevent a substantial decrease in storage capacity, and use the storage area more efficiently.
[0077]
According to the invention according to claim 6, the allocation control means performs at least one of the processing of allocating the storage area of the storage means and the processing of erasing the storage area when the application is started. Or by erasing useless storage areas, it is possible to easily secure storage areas for other applications.
[0078]
Further, according to the invention according to claim 7, since the ID number of each application is dynamically allocated at the time of the first activation of the application in the allocation step, even if a new application supplied by a third vendor or the like is added, the application ID is determined. Can be automatically assigned. Then, the ID number of the application allocated in the storage step is stored in the storage unit in association with the application name, and in the restart-time allocation step, the application name stored in the storage unit is stored when the application is started for the second time or later. Since the corresponding ID number is assigned, the same application ID can be continuously used even after the power is turned off / on.
[0079]
According to the eighth aspect of the present invention, in the storing step, the assigned application ID number is stored in the nonvolatile memory in association with the application name. The data such as the application ID stored in the memory can be retained without using a backup power supply or the like, and the data such as the application ID once allocated is continuously used regardless of whether the power supply of the device is OFF or ON. This makes it possible to simplify the device configuration and reduce the cost.
[0080]
According to the ninth aspect of the present invention, the allocating step further includes a storage area allocating step of allocating a storage area of the storage unit used at the time of starting the application to a size corresponding to the application. It is possible to secure a storage area of a required size in advance, and it is possible to prevent a memory shortage during application startup.
[0081]
According to the tenth aspect of the present invention, in the allocating step, when allocating the storage area of the storage unit, the allocation expiration date can be further specified, and the allocated storage area is deleted when the specified expiration date comes. Since it includes an expiration date instruction step, once the storage area is allocated, it is not fixed to this, but it is possible to limit the allocation period only by instructing the expiration date at the time of allocation, and it is allocated when the expiration date expires Since the storage area is released to return to the state before the allocation, even if the storage area is allocated to an application that is hardly started, the storage area is resolved after a certain period of time, and the limited storage area can be used effectively.
[0082]
According to the eleventh aspect of the present invention, the allocating step further includes a reallocation step of reallocating the storage area of the storage unit allocated for each application to an efficient allocation. In the case where the storage area is repeatedly released, the occurrence of useless gaps in the storage area is prevented, the substantial reduction in storage capacity is prevented, and the storage area can be used more efficiently.
[0083]
According to the twelfth aspect of the present invention, in the allocating step, at least one of the processing of allocating the storage area of the storage unit and the processing of erasing is performed at the time of starting the application. By securing or erasing useless storage areas, it is possible to easily secure storage areas for other applications.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a configuration of an image forming apparatus according to a first embodiment of the present invention;
FIG. 2 is a diagram illustrating an example of a search table for searching for an assigned application ID at the time of starting the application according to the first embodiment;
FIG. 3 is a diagram illustrating a state in which the SCS of FIG. 1 assigns an application ID when each application is activated for the first time.
FIG. 4 is a diagram illustrating a state in which the SCS refers to a correspondence table in the flash memory and assigns an application ID at the time of the second or subsequent startup.
FIG. 5 is a flowchart illustrating the operation of the first embodiment.
FIG. 6 is a flowchart illustrating the operation of the second embodiment.
FIG. 7 is a flowchart illustrating the operation of the third embodiment.
[Explanation of symbols]
100 MFP
101 black and white line printer
102 color line printer
103 Hardware resources
104 flash memory
110 software group
111 Printer App
112 Copy app
113 Fax App
114 Scanner App
115 Net File App
116 Process inspection application
117 New Apps
120 platform
121 General-purpose OS
122 SCS
123 SRM
124 ECS
125 MCS
126 OCS
127 FCS
128 NCS
130 Application
Claims (12)
前記アプリケーションの初回起動時に、各アプリケーションのID番号を動的に割り付ける割付制御手段と、
前記割付制御手段によって割り付けられたアプリケーションのID番号をアプリケーション名称に対応して記憶する記憶手段と、
を備え、前記割付制御手段は、前記アプリケーションの2回目以降の起動時に、前記記憶手段に記憶されているアプリケーション名称に対応したID番号を割り付けることを特徴とする画像形成装置。The hardware resources used in the image forming process, the process of the application that performs processing specific to the user service related to the image forming process, and the user service provided between the application and the hardware resource A request for acquiring the hardware resources required by at least two of the applications in common, management, execution control, and a control service process for performing image forming processing.
Assignment control means for dynamically assigning an ID number of each application when the application is first started;
Storage means for storing the ID number of the application allocated by the allocation control means in association with the application name;
Wherein the allocation control means allocates an ID number corresponding to an application name stored in the storage means when the application is started for the second time or later.
前記アプリケーションの初回起動時に、各アプリケーションのID番号を動的に割り付ける割付ステップと、
割り付けられたアプリケーションのID番号をアプリケーション名称に対応させて記憶部に記憶する記憶ステップと、
前記アプリケーションの2回目以降の起動時に、前記記憶部に記憶されているアプリケーション名称に対応したID番号を割り付ける再起動時割付ステップと、
を含むことを特徴とするアプリケーションID割付方法。The hardware resources used in the image forming process, the process of the application that performs processing specific to the user service related to the image forming process, and the user service provided between the application and the hardware resource In this case, the application is executed on an image forming apparatus including a control service process for performing acquisition, management, execution control, and image formation of the hardware resources required by at least two of the applications in common. An application ID assignment method for assigning an ID number for identification,
An assignment step of dynamically assigning an ID number of each application when the application is first started;
A storage step of storing the assigned application ID number in the storage unit in association with the application name;
A restart-time allocating step of allocating an ID number corresponding to an application name stored in the storage unit at the time of starting the application for the second or subsequent time;
A method of assigning an application ID, comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002197613A JP4011423B2 (en) | 2002-07-05 | 2002-07-05 | Image forming apparatus and application ID assigning method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002197613A JP4011423B2 (en) | 2002-07-05 | 2002-07-05 | Image forming apparatus and application ID assigning method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004038777A true JP2004038777A (en) | 2004-02-05 |
JP4011423B2 JP4011423B2 (en) | 2007-11-21 |
Family
ID=31705337
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002197613A Expired - Fee Related JP4011423B2 (en) | 2002-07-05 | 2002-07-05 | Image forming apparatus and application ID assigning method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4011423B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006236245A (en) * | 2005-02-28 | 2006-09-07 | Toshiba Corp | Arithmetic processing unit |
-
2002
- 2002-07-05 JP JP2002197613A patent/JP4011423B2/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006236245A (en) * | 2005-02-28 | 2006-09-07 | Toshiba Corp | Arithmetic processing unit |
JP4557748B2 (en) * | 2005-02-28 | 2010-10-06 | 株式会社東芝 | Arithmetic processing unit |
Also Published As
Publication number | Publication date |
---|---|
JP4011423B2 (en) | 2007-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7209249B2 (en) | Method of and apparatus for image formation, and computer product | |
US7958140B2 (en) | Method of controlling user information and information processing apparatus | |
JP2004297792A (en) | Image forming apparatus and function key assignment method | |
US8314962B2 (en) | Image forming apparatus that discriminates an operation of a service requested and constructs a job corresponding to the operation by selecting a job scenario prepared in advance | |
JP4373742B2 (en) | Image forming apparatus and application activation restriction method | |
JP2004005612A (en) | System and method for obtaining resource information | |
JP2006203655A (en) | Method for setting image forming apparatus and image forming apparatus | |
JP2004030601A (en) | Device and method of making application start judgment by resource information | |
JP2011103664A (en) | Image forming device | |
JP4504447B2 (en) | Image forming apparatus, application activation determination method, program, and recording medium | |
JP4394740B2 (en) | Image forming apparatus, method, and program | |
JP4394387B2 (en) | Image processing apparatus and memory disk management method | |
JP4011423B2 (en) | Image forming apparatus and application ID assigning method | |
JP2004129246A (en) | Image forming apparatus and application information acquisition method | |
JP4157376B2 (en) | Information processing apparatus, image forming apparatus, control method, and program | |
JP4136397B2 (en) | Image forming apparatus and memory management method | |
JP4676977B2 (en) | Image forming apparatus, application information acquisition method, and program | |
JP2004164582A (en) | Information processing apparatus and program generation method | |
JP2003330735A (en) | Image forming apparatus and shared memory mediating method | |
JP4677054B2 (en) | Image forming apparatus, program, recording medium, and method | |
JP2007305143A (en) | Information processor and information processing method | |
JP2006005963A (en) | Information processor and information processing method | |
JP2005064688A (en) | Storage and image forming device | |
JP3792191B2 (en) | Digital multifunction device | |
JP5348082B2 (en) | Image forming apparatus, function key assigning method, program, and recording medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041006 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070402 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070612 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070810 |
|
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: 20070904 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070905 |
|
R150 | Certificate of patent (=grant) or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100914 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110914 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120914 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130914 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |