(57)【要約】【課題】アプリＩＤの自動割り付けが可能で、アプリＩＤやアプリケーション毎の情報を電源ＯＦＦ／ＯＮ後にも継続的に利用できるようにする。【解決手段】複合機１００は、新規アプリ１１７から登録通知を受け取ると、ＳＣＳ１２２が不揮発メモリであるフラッシュメモリ１０４内の対応テーブルを参照してアプリケーション名称を検索し、今までにその名称のアプリケーションが起動されたか否かを判定し、過去に起動履歴が残っていれば前回使用したアプリＩＤを採番すると共に、前回使用したサイズのフラッシュメモリ１０４の記憶領域を割り付ける。一度も起動されたことのないアプリの場合は、フラッシュメモリ１０４の検索テーブルを参照し、空きアプリＩＤを検索して採番する。そのアプリＩＤとアプリケーション名称とは、フラッシュメモリ１０４の対応テーブルに保存する。【選択図】　　　図１
2004038777.tif 000002
【特許請求の範囲】
【請求項１】
画像形成処理で使用されるハードウェア資源と、画像形成処理にかかるユーザサービスにそれぞれ固有の処理を行うアプリケーションのプロセスと、前記アプリケーションと前記ハードウェア資源との間に介在し、前記ユーザサービスを提供する際に、アプリケーションの少なくとも２つが共通的に必要とする前記ハードウェア資源の獲得要求、管理、実行制御並びに画像形成処理を行うコントロールサービスのプロセスとを備えた画像形成装置であって、
前記アプリケーションの初回起動時に、各アプリケーションのＩＤ番号を動的に割り付ける割付制御手段と、
前記割付制御手段によって割り付けられたアプリケーションのＩＤ番号をアプリケーション名称に対応して記憶する記憶手段と、
を備え、前記割付制御手段は、前記アプリケーションの２回目以降の起動時に、前記記憶手段に記憶されているアプリケーション名称に対応したＩＤ番号を割り付けることを特徴とする画像形成装置。
【請求項２】
前記記憶手段は、不揮発メモリで構成されていることを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記割付制御手段は、さらに前記アプリケーションが起動時に使用する前記記憶手段の記憶領域をアプリケーションに応じたサイズに割り付けることを特徴とする請求項１または２に記載の画像形成装置。
【請求項４】
前記割付制御手段は、前記記憶手段の記憶領域を割り付ける際に、さらに記憶領域の割り付け有効期限を指示可能とすると共に、指示した有効期限の到来時に割り付けた記憶領域を抹消することを特徴とする請求項３に記載の画像形成装置。
【請求項５】
前記割付制御手段は、さらにアプリケーション毎に割り付けられた前記記憶手段の記憶領域を効率的な配置に割り付けし直すことを特徴とする請求項１〜４のいずれか一つに記載の画像形成装置。
【請求項６】
前記割付制御手段は、前記記憶手段の記憶領域の割り付け処理と抹消処理の少なくとも一方をアプリケーションの起動時に行うことを特徴とする請求項４または５に記載の画像形成装置。
【請求項７】
画像形成処理で使用されるハードウェア資源と、画像形成処理にかかるユーザサービスにそれぞれ固有の処理を行うアプリケーションのプロセスと、前記アプリケーションと前記ハードウェア資源との間に介在し、前記ユーザサービスを提供する際に、アプリケーションの少なくとも２つが共通的に必要とする前記ハードウェア資源の獲得要求、管理、実行制御並びに画像形成処理を行うコントロールサービスのプロセスとを備えた画像形成装置上で、前記アプリケーションを識別するためのＩＤ番号を割り付けるアプリケーションＩＤ割付方法であって、
前記アプリケーションの初回起動時に、各アプリケーションのＩＤ番号を動的に割り付ける割付ステップと、
割り付けられたアプリケーションのＩＤ番号をアプリケーション名称に対応させて記憶部に記憶する記憶ステップと、
前記アプリケーションの２回目以降の起動時に、前記記憶部に記憶されているアプリケーション名称に対応したＩＤ番号を割り付ける再起動時割付ステップと、
を含むことを特徴とするアプリケーションＩＤ割付方法。
【請求項８】
前記記憶ステップは、割り付けられたアプリケーションのＩＤ番号をアプリケーション名称に対応させて不揮発メモリに記憶させることを特徴とする請求項７に記載のアプリケーションＩＤ割付方法。
【請求項９】
前記割付ステップは、さらに前記アプリケーション起動時に使用する前記記憶部の記憶領域をアプリケーションに応じたサイズに割り付ける記憶領域割付ステップを含むことを特徴とする請求項７または８に記載のアプリケーションＩＤ割付方法。
【請求項１０】
前記割付ステップは、前記記憶部の記憶領域を割り付ける際に、さらに割り付け有効期限を指示可能とし、指示した有効期限の到来時に割り付けた記憶領域を抹消する有効期限指示ステップを含むことを特徴とする請求項９に記載のアプリケーションＩＤ割付方法。
【請求項１１】
前記割付ステップは、さらにアプリケーション毎に割り付けられた前記記憶部の記憶領域を効率的な配置に割り付けし直す再配置ステップを含むことを特徴とする請求項７〜１０のいずれか一つに記載のアプリケーションＩＤ割付方法。
【請求項１２】
前記割付ステップは、前記記憶部の記憶領域の割り付け処理と抹消処理の少なくとも一方をアプリケーションの起動時に行うことを特徴とする請求項１０または１１に記載のアプリケーションＩＤ割付方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、コピー、プリンタ、スキャナおよびファクシミリなどの画像形成処理にかかるユーザサービスを提供する画像形成装置に搭載される各アプリケーション（以下、アプリともいう）を識別するためのＩＤ番号を割り付けてアプリケーション間の調停を行う画像形成装置およびアプリケーションＩＤ割付方法に関するものである。
【０００２】
【従来の技術】
近年では、プリンタ、コピー、ファクシミリ、スキャナなどの各装置の機能を１つの筐体内に収納した画像形成装置（以下、「複合機」という。）が知られている。この複合機は、１つの筐体内に表示部、印刷部および撮像部などを設けるとともに、プリンタ、コピーおよびファクシミリ装置にそれぞれ対応する３種類のソフトウェアを設け、これらのソフトウェアを切り替えることによって、当該装置をプリンタ、コピー、スキャナまたはファクシミリ装置として動作させるものである。
【０００３】
このような従来の複合機では、プリンタ、コピー、ファクシミリ、スキャナなどの各機能単位でアプリケーションプログラムが起動され、ハードウェア資源にアクセスする機能を持ち合わせており、複合機にアプリを搭載する場合、アプリ登録処理を行う必要があった。アプリ登録処理とは、これから搭載するアプリから複合機へアプリ登録要求メッセージが送信されると、ＲＡＭなどに生成されたアプリ登録テーブルに当該アプリの識別情報（ＩＤ番号）であるアプリＩＤを記録することにより行われる。このアプリＩＤは、各アプリに固有のものであり、複数のアプリが搭載される複合機において、アプリ間を調停するためアプリＩＤを使って各アプリを識別する必要がある。
【０００４】
このため、従来の複合機では、搭載されるアプリを予め想定し、このアプリにはこのアプリＩＤというようにアプリＩＤを固定的に割り付けていた。また、他の従来の複合機では、アプリＩＤを固定せずに、アプリを起動する度にアプリＩＤの割り付けをし直す動的な割り付けを行うものもあった。
【０００５】
この種の発明に関連する従来技術としては、例えば、特開平１０−１９８６２６号公報に記載の「構成情報管理装置および方法」などがある。
【０００６】
【発明が解決しようとする課題】
ところで、このような従来の複合機では、プリンタ、コピー、スキャナおよびファクシミリ装置に対応するソフトウェアをそれぞれ別個に設けていたため、各ソフトウェアの開発に多大の時間を要する。このため、出願人は、表示部、印刷部および撮像部などの画像形成処理で使用されるハードウェア資源を有し、プリンタ、コピーまたはファクシミリなどの各ユーザサービスにそれぞれ固有の処理を行うアプリケーションを複数搭載し、これらのアプリケーションとハードウェア資源との間に介在して、ユーザサービスを提供する際に、アプリケーションの少なくとも２つが共通的に必要とするハードウェア資源の管理、実行制御並びに画像形成処理を行う各種コントロールサービスからなるプラットホームを備えた画像形成装置（複合機）を発明した。
【０００７】
このような新規な複合機では、アプリケーションとコントロールサービスとを別個に設けているため、複合機の出荷後にユーザもしくは第三者であるサードベンダが新規なアプリケーションを開発して複合機に搭載することが可能となり、これによって多種多様な機能を提供することが可能となる。しかし、アプリケーションのアプリＩＤを固定的に割り付けていた従来の複合機にあっては、どのような新規アプリが搭載されるかを予め想定することができないため、アプリＩＤの自動割り付けができないという問題があった。
【０００８】
また、従来の複合機では、アプリＩＤを固定せずに、アプリＩＤを動的に割り付けるものがあった。この場合、新規アプリであってもアプリＩＤを自動割り付けすることが可能となるが、割り付けられるアプリＩＤがその都度変わる可能性がある上、アプリＩＤと共にアプリケーション毎に保持しておきたい情報（メモリの領域情報や管理情報等）をＲＡＭなどの一時的な記憶領域に記憶させると、電源を落とし（ＯＦＦ）、再度電源が入れられた場合（ＯＮ）、メモリ内容が全て消去されてしまうため、アプリケーション毎に保持しておきたい情報を電源ＯＦＦ／ＯＮ後に継続的に利用することができないという問題があった。
【０００９】
さらに、上記した特開平１０−１９８６２６号の公報例にあっては、コンポーネントの構成情報や共有する機器資源の分配情報をコンポーネントとは独立して一元管理するものであるため、従来の複合機と比べて構成が複雑化し、その分コストがかかるという問題があった。
【００１０】
この発明は上記に鑑みてなされたもので、複数のアプリケーション間を調停するためのアプリＩＤの割り付けを新規アプリが追加された場合でも自動割り付けが可能であると共に、割り付けられたアプリＩＤやアプリケーション毎に保持しておきたい情報などを電源ＯＦＦ／ＯＮ後にも継続的に利用することができ、これらを簡易な構成で低コストに実現することが可能な画像形成装置およびアプリケーションＩＤ割付方法を得ることを目的とする。
【００１１】
【課題を解決するための手段】
上記目的を達成するため、請求項１にかかる発明は、画像形成処理で使用されるハードウェア資源と、画像形成処理にかかるユーザサービスにそれぞれ固有の処理を行うアプリケーションのプロセスと、前記アプリケーションと前記ハードウェア資源との間に介在し、前記ユーザサービスを提供する際に、アプリケーションの少なくとも２つが共通的に必要とする前記ハードウェア資源の獲得要求、管理、実行制御並びに画像形成処理を行うコントロールサービスのプロセスとを備えた画像形成装置であって、前記アプリケーションの初回起動時に、各アプリケーションのＩＤ番号を動的に割り付ける割付制御手段と、前記割付制御手段によって割り付けられたアプリケーションのＩＤ番号をアプリケーション名称に対応して記憶する記憶手段と、を備え、前記割付制御手段は、前記アプリケーションの２回目以降の起動時に、前記記憶手段に記憶されているアプリケーション名称に対応したＩＤ番号を割り付けることを特徴とする。
【００１２】
この請求項１にかかる発明によれば、割付制御手段によりアプリケーションの初回起動時に各アプリケーションのＩＤ番号を動的に割り付けるようにしたため、サードベンダなどが供給する新規アプリを追加した場合でもアプリＩＤの自動割り付けが可能となる。そして、割り付けられたアプリケーションのＩＤ番号をアプリケーション名称に対応して記憶手段に記憶し、アプリケーションの２回目以降の起動時には、割付制御手段が記憶手段に記憶されているアプリケーション名称に対応したＩＤ番号を割り付けるため、電源ＯＦＦ／ＯＮ後にも同じアプリＩＤを継続的に利用することができる。
【００１３】
また、請求項２にかかる発明は、請求項１に記載の画像形成装置において、前記記憶手段は、不揮発メモリで構成されていることを特徴とする。
【００１４】
この請求項２にかかる発明によれば、記憶手段を不揮発メモリで構成したため、不揮発メモリに記憶されたアプリＩＤなどのデータは、装置電源がＯＦＦ／ＯＮされてもバックアップ電源等を用いずにデータが保持できるので、一旦割り付けられたアプリＩＤなどのデータを装置電源のＯＦＦ／ＯＮに関わらず継続的に利用することができ、装置構成も簡単で低コスト化することができる。
【００１５】
また、請求項３にかかる発明は、請求項１または２に記載の画像形成装置において、前記割付制御手段は、さらに前記アプリケーションが起動時に使用する前記記憶手段の記憶領域をアプリケーションに応じたサイズに割り付けることを特徴とする。
【００１６】
この請求項３にかかる発明によれば、割付制御手段は、さらにアプリケーション起動時に使用する記憶手段の記憶領域をアプリケーションに応じたサイズに割り付けるようにしたため、各アプリケーションに応じた必要なサイズの記憶領域を予め確保することが可能となり、アプリケーション起動中にメモリ不足が発生するのを防止することができる。
【００１７】
また、請求項４にかかる発明は、請求項３に記載の画像形成装置において、前記割付制御手段は、前記記憶手段の記憶領域を割り付ける際に、さらに記憶領域の割り付け有効期限を指示可能とすると共に、指示した有効期限の到来時に割り付けた記憶領域を抹消することを特徴とする。
【００１８】
この請求項４にかかる発明によれば、割付制御手段は、記憶手段の記憶領域を割り付ける際に、さらに記憶領域の割り付け有効期限を指示すると共に、その有効期限の到来時に割り付けた記憶領域を抹消するようにしたため、一旦記憶領域が割り付けされてもこれに固定されず、割り付け時に有効期限を指示するだけで割り付け期間を限定することができ、有効期限が切れると割り付けられた記憶領域を解放して割り付け前の状態に戻るので、ほとんど起動しないアプリケーションに記憶領域が割り付けられても一定期間後に解消され、限られた記憶領域を有効利用することができる。
【００１９】
また、請求項５にかかる発明は、請求項１〜４のいずれか一つに記載の画像形成装置において、前記割付制御手段は、さらにアプリケーション毎に割り付けられた前記記憶手段の記憶領域を効率的な配置に割り付けし直すことを特徴とする。
【００２０】
この請求項５にかかる発明によれば、割付制御手段は、さらにアプリケーション毎に割り付けられた記憶手段の記憶領域を効率的な配置に割り付けし直すようにしたため、記憶領域の割り付けや解放が繰り返し行われた場合に、記憶領域に無駄な隙間が発生するのを防止し、実質的な記憶容量の減少を防いで、記憶領域をより効率的に使用することができる。
【００２１】
また、請求項６にかかる発明は、請求項４または５に記載の画像形成装置において、前記割付制御手段は、前記記憶手段の記憶領域の割り付け処理と抹消処理の少なくとも一方をアプリケーションの起動時に行うことを特徴とする。
【００２２】
この請求項６にかかる発明によれば、割付制御手段は、記憶手段の記憶領域の割り付け処理と抹消処理の少なくとも一方をアプリケーションの起動時に行うようにしたため、アプリケーションの起動時に使用する記憶領域を確保したり、無駄な記憶領域を抹消することで他のアプリケーションの記憶領域を確保し易くすることができる。
【００２３】
また、請求項７にかかる発明は、画像形成処理で使用されるハードウェア資源と、画像形成処理にかかるユーザサービスにそれぞれ固有の処理を行うアプリケーションのプロセスと、前記アプリケーションと前記ハードウェア資源との間に介在し、前記ユーザサービスを提供する際に、アプリケーションの少なくとも２つが共通的に必要とする前記ハードウェア資源の獲得要求、管理、実行制御並びに画像形成処理を行うコントロールサービスのプロセスとを備えた画像形成装置上で、前記アプリケーションを識別するためのＩＤ番号を割り付けるアプリケーションＩＤ割付方法であって、前記アプリケーションの初回起動時に、各アプリケーションのＩＤ番号を動的に割り付ける割付ステップと、割り付けられたアプリケーションのＩＤ番号をアプリケーション名称に対応させて記憶部に記憶する記憶ステップと、前記アプリケーションの２回目以降の起動時に、前記記憶部に記憶されているアプリケーション名称に対応したＩＤ番号を割り付ける再起動時割付ステップと、を含むことを特徴とする。
【００２４】
この請求項７にかかる発明によれば、割付ステップによりアプリケーションの初回起動時に各アプリケーションのＩＤ番号を動的に割り付けるようにしたため、サードベンダなどが供給する新規アプリを追加した場合でもアプリＩＤの自動割り付けが可能となる。そして、記憶ステップにより割り付けられたアプリケーションのＩＤ番号をアプリケーション名称に対応させて記憶部に記憶させ、再起動時割付ステップによりアプリケーションの２回目以降の起動時に、記憶部に記憶されているアプリケーション名称に対応したＩＤ番号を割り付けるようにしたため、電源ＯＦＦ／ＯＮ後であっても同じアプリＩＤを継続的に利用することができる。
【００２５】
また、請求項８にかかる発明は、請求項７に記載のアプリケーションＩＤ割付方法において、前記記憶ステップは、割り付けられたアプリケーションのＩＤ番号をアプリケーション名称に対応させて不揮発メモリに記憶させることを特徴とする。
【００２６】
この請求項８にかかる発明によれば、記憶ステップでは、割り付けられたアプリケーションのＩＤ番号をアプリケーション名称に対応させて不揮発メモリに記憶するようにしたため、装置電源をＯＦＦ／ＯＮしても不揮発メモリに記憶されたアプリＩＤなどのデータは、バックアップ電源等を用いることなくデータを保持することができるので、一旦割り付けられたアプリＩＤなどのデータを装置電源のＯＦＦ／ＯＮに関わらず継続的に利用することができ、装置構成が簡単になって、低コスト化することができる。
【００２７】
また、請求項９にかかる発明は、請求項７または８に記載のアプリケーションＩＤ割付方法において、前記割付ステップは、さらに前記アプリケーション起動時に使用する前記記憶部の記憶領域をアプリケーションに応じたサイズに割り付ける記憶領域割付ステップを含むことを特徴とする。
【００２８】
この請求項９にかかる発明によれば、割付ステップは、さらにアプリケーション起動時に使用する記憶部の記憶領域をアプリケーションに応じたサイズに割り付ける記憶領域割付ステップを含んでいるため、各アプリケーションに応じた必要なサイズの記憶領域を予め確保することが可能となり、アプリケーション起動中にメモリ不足が発生するのを防止することができる。
【００２９】
また、請求項１０にかかる発明は、請求項９に記載のアプリケーションＩＤ割付方法において、前記割付ステップは、前記記憶部の記憶領域を割り付ける際に、さらに割り付け有効期限を指示可能とし、指示した有効期限の到来時に割り付けた記憶領域を抹消する有効期限指示ステップを含むことを特徴とする。
【００３０】
この請求項１０にかかる発明によれば、割付ステップは、記憶部の記憶領域を割り付ける際に、さらに割り付け有効期限を指示可能として、その指示した有効期限の到来時に割り付けた記憶領域を抹消する有効期限指示ステップを含んでいるため、一旦記憶領域が割り付けされてもこれに固定されず、割り付け時に有効期限を指示するだけで割り付け期間を限定することができ、有効期限が切れると割り付けられた記憶領域を解放して割り付け前の状態に戻るので、ほとんど起動しないアプリケーションに記憶領域が割り付けられても一定期間が経過すると解消され、限られた記憶領域を有効利用することができる。
【００３１】
また、請求項１１にかかる発明は、請求項７〜１０のいずれか一つに記載のアプリケーションＩＤ割付方法において、前記割付ステップは、さらにアプリケーション毎に割り付けられた前記記憶部の記憶領域を効率的な配置に割り付けし直す再配置ステップを含むことを特徴とする。
【００３２】
この請求項１１にかかる発明によれば、割付ステップは、さらにアプリケーション毎に割り付けられた記憶部の記憶領域を効率的な配置に割り付けし直す再配置ステップを含んでいるため、記憶領域の割り付けや解放が繰り返し行われた場合に、記憶領域に無駄な隙間が発生するのを防止し、実質的な記憶容量の減少を防いで、記憶領域をより効率的に使用することができる。
【００３３】
また、請求項１２にかかる発明は、請求項１０または１１に記載のアプリケーションＩＤ割付方法において、前記割付ステップは、前記記憶部の記憶領域の割り付け処理と抹消処理の少なくとも一方をアプリケーションの起動時に行うことを特徴とする。
【００３４】
この請求項１２にかかる発明によれば、割付ステップは、記憶部の記憶領域の割り付け処理と抹消処理の少なくとも一方をアプリケーションの起動時に行うようにしたため、アプリケーションの起動時に使用する記憶領域を確保したり、無駄な記憶領域を抹消することで他のアプリケーションの記憶領域を確保し易くすることができる。
【００３５】
【発明の実施の形態】
以下に添付図面を参照して、この発明にかかる画像形成装置およびアプリケーションＩＤ割付方法の好適な実施の形態を詳細に説明する。
【００３６】
（実施の形態１）
図１は、この発明の実施の形態１である画像形成装置（以下、「複合機」という）の構成を示すブロック図である。図１に示すように、複合機１００は、白黒ラインプリンタ（Ｂ＆Ｗ　ＬＰ）１０１と、カラーラインプリンタ（Ｃｏｌｏｒ　ＬＰ）１０２と、スキャナ、ファクシミリ、ハードディスク、メモリ、ネットワークインタフェースなどのハードウェアリソース１０３と、割り付けられたアプリＩＤを記憶したりアプリケーションの起動時などにワークエリアとして使用される記憶部あるいは記憶手段としての不揮発メモリから成るフラッシュメモリ１０４とを有するとともに、プラットホーム１２０とアプリケーション１３０から構成されるソフトウェア群１１０とを備えている。
【００３７】
プラットホーム１２０は、アプリケーションからの処理要求を解釈してハードウェア資源の獲得要求を発生させるコントロールサービスと、一または複数のハードウェア資源の管理を行い、コントロールサービスからの獲得要求を調停するシステムリソースマネージャ（ＳＲＭ）１２３と、汎用ＯＳ１２１とを有する。
【００３８】
コントロールサービスは、複数のサービスモジュールから形成され、割付制御手段としてのＳＣＳ（システムコントロールサービス）１２２と、ＥＣＳ（エンジンコントロールサービス）１２４と、ＭＣＳ（メモリコントロールサービス）１２５と、ＯＣＳ（オペレーションパネルコントロールサービス）１２６と、ＦＣＳ（ファックスコントロールサービス）１２７と、ＮＣＳ（ネットワークコントロールサービス）１２８とから構成される。なお、このプラットホーム１２０は、予め定義された関数により前記アプリケーション１３０から処理要求を受信可能とするアプリケーションプログラムインタフェース（ＡＰＩ）を有している。
【００３９】
汎用ＯＳ１２１は、ＵＮＩＸ（登録商標）などの汎用オペレーティングシステムであり、プラットホーム１２０並びにアプリケーション１３０の各ソフトウェアをそれぞれプロセスとして並列実行する。
【００４０】
ＳＲＭ１２３のプロセスは、ＳＣＳ１２２とともにシステムの制御およびリソースの管理を行うものである。ＳＲＭ１２３のプロセスは、スキャナ部やプリンタ部などのエンジン、メモリ、ＨＤＤファイル、ホストＩ／Ｏ（セントロＩ／Ｆ、ネットワークＩ／Ｆ、ＩＥＥＥ１３９４　Ｉ／Ｆ、ＲＳ２３２Ｃ　Ｉ／Ｆなど）のハードウェア資源を利用する上位層からの要求にしたがって調停を行い、実行制御する。
【００４１】
具体的には、このＳＲＭ１２３は、要求されたハードウェア資源が利用可能であるか（他の要求により利用されていないかどうか）を判断し、利用可能であれば要求されたハードウェア資源が利用可能である旨を上位層に伝える。また、ＳＲＭ１２３は、上位層からの要求に対してハードウェア資源の利用スケジューリングを行い、要求内容（例えば、プリンタエンジンにより紙搬送と作像動作、メモリ確保、ファイル生成など）を直接実施している。
【００４２】
ＳＣＳ１２２のプロセスは、アプリ管理、操作部制御、システム画面表示、ＬＥＤ表示、リソース管理、割り込みアプリ制御などを行う。このＳＣＳ１２２は、本発明の特徴的な構成要素であり、アプリケーションの起動時などにアプリＩＤを動的に割り付けたり、その割り付けたアプリＩＤをアプリケーション名称に対応させてフラッシュメモリ１０４に記憶させたり、アプリケーションの２回目以降の起動時には、フラッシュメモリ１０４に記憶されたアプリケーション名称に対応するアプリＩＤを割り付けたりする。また、ＳＣＳ１２２は、アプリケーションが起動時に使用するフラッシュメモリ１０４の記憶領域をアプリケーションの仕様に応じて必要十分なサイズで割り付けたり、フラッシュメモリ１０４の記憶領域を割り付ける際に、有効期限を指示し、その指示した有効期限が切れると割り付けた領域を抹消したりする。さらに、ＳＣＳ１２２は、アプリケーション毎に割り付けられたフラッシュメモリ１０４の記憶領域を効率的な配置となるように、割り付けし直すこともする。このように、本発明のＳＣＳ１２２は、割付制御手段として複合機１００に搭載されるアプリケーションの起動時などにフラッシュメモリ１０４を利用してアプリＩＤや記憶領域の割り付け処理を行う点に特徴がある。
【００４３】
ＥＣＳ１２４のプロセスは、白黒ラインプリンタ（Ｂ＆Ｗ　ＬＰ）１０１、カラーラインプリンタ（Ｃｏｌｏｒ　ＬＰ）１０２、スキャナ、ファクシミリなどからなるハードウェアリソース１０３のエンジンの制御を行う。
【００４４】
ＭＣＳ１２５のプロセスは、画像メモリの取得および解放、ハードディスク装置（ＨＤＤ）の利用、画像データの圧縮および伸張などを行う。
【００４５】
ＦＣＳ１２７のプロセスは、システムコントローラの各アプリ層からＰＳＴＮ／ＩＳＤＮ網を利用したファクシミリ送受信、ＢＫＭ（バックアップＳＲＡＭ）で管理されている各種ファクシミリデータの登録／引用、ファクシミリ読取、ファクシミリ受信印刷、融合送受信を行うためのＡＰＩを提供する。
【００４６】
ＮＣＳ１２８のプロセスは、ネットワークＩ／Ｏを必要とするアプリケーションに対して共通に利用できるサービスを提供するためのプロセスであり、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分けたり、アプリケーションからデータをネットワーク側に送信する際の仲介を行う。具体的には、ｆｔｐｄ、ｈｔｔｐｄ、ｌｐｄ、ｓｎｍｐｄ、ｔｅｌｎｅｔｄ、ｓｍｔｐｄなどのサーバデーモンや、同プロトコルのクライアント機能などを有している。
【００４７】
ＯＣＳ１２６のプロセスは、オペレータ（ユーザ）と本体制御間の情報伝達手段となるオペレーションパネル（操作パネル）の制御を行う。ＯＣＳ１２６は、オペレーションパネルからキー押下をキーイベントとして取得し、取得したキーに対応したキーイベント関数をＳＣＳ１２２に送信するＯＣＳプロセスの部分と、アプリケーション１３０またはコントロールサービスからの要求によりオペレーションパネルに各種画面を描画出力する描画関数やその他オペレーションパネルに対する制御を行う関数などが予め登録されたＯＣＳライブラリの部分とから構成される。このＯＣＳライブラリは、アプリケーション１３０およびコントロールサービスの各モジュールにリンクされて実装されている。なお、ＯＣＳ１２６のすべてをプロセスとして動作させるように構成しても良く、あるいはＯＣＳ１２６のすべてをＯＣＳライブラリとして構成しても良い。
【００４８】
アプリケーション１３０は、ページ記述言語（ＰＤＬ）、ＰＣＬおよびポストスクリプト（ＰＳ）を有するプリンタ用のアプリケーションであるプリンタアプリ１１１と、コピー用アプリケーションであるコピーアプリ１１２と、ファクシミリ用アプリケーションであるファックスアプリ１１３と、スキャナ用アプリケーションであるスキャナアプリ１１４と、ネットワークファイル用アプリケーションであるネットファイルアプリ１１５と、工程検査用アプリケーションである工程検査アプリ１１６と、サードベンダが新規なアプリケーションを開発して搭載する新規アプリ１１７とを有している。これらの各アプリは、その起動時にＳＣＳ１２２に対して自プロセスのプロセスＩＤとともにアプリ登録要求メッセージを送信し、このアプリ登録要求メッセージを受信したＳＣＳ１２２がフラッシュメモリ１０４などに生成されたアプリ登録テーブルに当該アプリの識別情報であるアプリＩＤを記録することにより、起動したアプリに対する登録が行われるようになっている。
【００４９】
アプリケーション１３０の各プロセス、コントロールサービスの各プロセスは、関数呼び出しとその戻り値送信およびメッセージの送受信によってプロセス間通信を行いながら、コピー、プリンタ、スキャナ、ファクシミリなどの画像形成処理にかかるユーザサービスを実現している。
【００５０】
このように、実施の形態１にかかる複合機１００には、複数のアプリケーション１３０および複数のコントロールサービスが存在し、いずれもプロセスとして動作している。そして、コントロールサービスがアプリケーション１３０に対し共通サービスを提供しており、このため、これらの多数のプロセスが並列動作、およびスレッドの並列動作を行って互いにプロセス間通信を行って協調動作をしながら、コピー、プリンタ、スキャナ、ファクシミリなどの画像形成処理にかかるユーザサービスを提供するようになっている。また、複合機１００には、サードベンダなどの第三者がコントロールサービス層の上のアプリケーション層に新規アプリ１１７を開発して搭載することが可能となっている。図１では、この新規アプリ１１７を搭載した例を示している。
【００５１】
なお、実施の形態１にかかる複合機１００の各アプリケーション１３０は、アプリケーションごとに追加または削除することが可能である。
【００５２】
図２は、実施の形態１のアプリ起動時において割り付け済みのアプリＩＤか否かを検索するための検索テーブルの一例を示した図である。図２に示す検索テーブルは、図１のフラッシュメモリ１０４内に形成され、右欄には割り付け可能なアプリＩＤ（１〜１００）がそれぞれ記載されていて、これに対応した左欄には当該アプリＩＤが割り付け済みか否かを示す割り付け済みフラグが入力できるようになっている。ＳＣＳ１２２は、アプリＩＤの割り付けを行うと、図２の検索テーブルのアプリＩＤのフラグを「０」→「１」とし、割り付けを解消した場合はアプリＩＤのフラグを「１」→「０」とする。従って、この検索テーブルを照合することによって、割り付け済みのアプリＩＤか否かを明確に判断することができるので、アプリＩＤを動的に割り付けることが可能となる。
【００５３】
また、ここでは図示していないが、フラッシュメモリ１０４は、割り付けられたアプリＩＤに対応するアプリケーション名称を格納する対応テーブルも持っている。この対応テーブルとは、アプリケーションの２回目以降の起動時に参照することにより、初回起動時と同じアプリＩＤを割り付けできるようにするものである。さらに、この対応テーブルのアプリケーション名称と対応させて、アプリケーションが起動時に必要とする記憶領域サイズを格納しておけば、アプリケーションの仕様に応じた適切な記憶領域サイズを割り付けることも可能となる。
【００５４】
図３は、図１のＳＣＳ１２２が各アプリの初回起動時にアプリＩＤを割り付ける状態を説明する図であり、図４は、２回目以降の起動時にＳＣＳ１２２がフラッシュメモリの対応テーブルを参照してアプリＩＤを割り付ける状態を説明する図である。図３では、ファックスアプリ１１３、コピーアプリ１１２、プリンタアプリ１１１、および、新規アプリ１１７の順で初回起動を行っているため、図２の検索テーブルのアプリＩＤの１、２、３、４の順でアプリＩＤが割り付けられている。そして、このように割り付けられたアプリＩＤは、不図示の対応テーブルにアプリケーション名称と対応して登録される。また、図４では、コピーアプリ１１２と新規アプリ１１７が２回目以降に起動された場合を示しており、ＳＣＳ１２２がフラッシュメモリ１０４の対応テーブルを参照することにより、初回起動時に割り付けたのと同じアプリＩＤをコピーアプリ１１２（ＩＤ＝２）と新規アプリ１１７（ＩＤ＝４）にそれぞれ割り付けることができる。さらに、上記した対応テーブルに、各アプリケーションの仕様に応じた記憶領域のサイズデータを登録しておけば、２回目以降の起動時にもアプリケーションに応じた記憶領域サイズの割り付けを行うことができる。
【００５５】
次に、このように構成された複合機１００におけるアプリＩＤなどの割付方法について説明する。図５は、実施の形態１の動作を説明するフローチャートである。
【００５６】
図５において、複合機１００は、アプリケーションからの登録通知を受け取ると（ステップＳ２）。ＳＣＳ１２２は、不揮発メモリであるフラッシュメモリ１０４内の対応テーブルを参照してアプリケーション名称を検索し（ステップＳ４）、今までにその名称のアプリケーションが起動されたことがあるかどうかを判定して（ステップＳ６）、過去の起動履歴が残っていれば（ＹＥＳ）へ進み、前回使用したアプリＩＤを採番すると共に、前回使用したサイズのフラッシュメモリ１０４の記憶領域を割り付けるようにする（ステップＳ８）。
【００５７】
また、ステップＳ６において、今まで一度も起動されたことのないアプリケーションの場合は（ＮＯ）へ進み、図２の検索テーブルを参照して、割り付けられていない（フラグの立っていない）空きアプリＩＤを上から順に検索する（ステップＳ１２）。そして、最初に見つかった空きアプリＩＤを採番し（ステップＳ１４）、次回の起動のためにアプリケーション名称と採番したアプリＩＤとの組み合わせをフラッシュメモリ１０４の対応テーブルに保存する（ステップＳ１６）。さらに、記憶領域サイズの指示があった場合は、その指示されたフラッシュメモリ１０４の領域サイズを割り付け（ステップＳ１８）、その領域サイズをフラッシュメモリ１０４の対応テーブルに登録しておく。
【００５８】
そして、上記ステップＳ８およびステップＳ１８のそれぞれの処理が終了した場合は、採番したアプリＩＤと割り付けたフラッシュメモリ１０４の記憶領域とをアプリケーションに通知する（ステップＳ１０）。
【００５９】
このように、実施の形態１にかかる複合機１００では、搭載される複数のアプリケーションに対して不揮発メモリであるフラッシュメモリ１０４の検索テーブルを参照することにより、アプリＩＤを動的に割り付けることができる。そして、その割り付け結果をフラッシュメモリ１０４の対応テーブルにアプリケーション名称と対応させて登録するため、２回目以降にアプリケーションが起動される間に装置電源のＯＦＦ／ＯＮがあっても不揮発メモリであることから記憶が保持され、初回起動時と同じアプリＩＤを割り付けることができる。また、アプリＩＤだけでなく、アプリケーションが起動時に必要とするフラッシュメモリ１０４の記憶領域サイズを指示しておけば、このサイズデータも保持することができるので、固定的な割り付けの場合と同様の機能を提供することができる。すなわち、新規アプリが追加された場合であっても、アプリケーション間を調停するモジュールを変更する必要がなくなる。その上、実施の形態１では、アプリＩＤを動的に割り付けていることから、新規アプリを搭載する場合でも空きアプリＩＤがあれば自動割り付けすることができる利点がある。
【００６０】
なお、実施の形態１では、未使用のアプリＩＤを検索する際に、検索テーブルを生成し、これを参照することによって行っているが、必ずしもこれに限定されず、装置電源のＯＦＦ／ＯＮに影響を受けずに記憶内容が保持可能で、検索が容易に行えるものであればいかなるものでも良い。
【００６１】
（実施の形態２）
実施の形態２における特徴は、不揮発メモリであるフラッシュメモリ１０４の領域サイズを割り付ける際に、その領域の割り付け有効期限が指示できるようにした点にある。
【００６２】
図６は、実施の形態２の動作を説明するフローチャートであり、図６のＡとＢの間は、図５のフローチャートと同様の処理が行われるため、重複説明を省略する。図１に示すＳＣＳ１２２は、アプリケーションが起動時に使用するフラッシュメモリ１０４の記憶領域サイズを割り付ける際に、その有効期限を同時に指示することができる。これにより、指示された有効期限データは、上述したフラッシュメモリ１０４の対応テーブルにアプリケーション名称と対応させて登録することができる。ＳＣＳ１２２は、フラッシュメモリ１０４の対応テーブルに有効期限が登録されている場合、その有効期限が切れているか否かを常時監視し、フラッシュメモリ１０４の中で有効期限切れの記憶領域があると、その部分の記憶領域を解放することによって（ステップＳ２２）、他のアプリケーションが利用可能な記憶領域を増やすことができる。このようにして解放された領域を使えば、新たなアプリケーションのアプリＩＤや記憶領域の割り付けを行うことができる（図５のフローチャートを参照）。
【００６３】
このように、実施の形態２にかかる複合機１００では、上記の実施の形態１の効果に加えて、フラッシュメモリ１０４上で有効期限付きの記憶領域を指定することにより、有効期限が切れた時点でその部分の記憶領域が解放されるので、例えば、短期間しか使わないアプリケーションの場合、有効期限が切れるとそのアプリケーションに割り付けられた記憶領域を再利用することが可能となり、システムに搭載される限られたサイズのフラッシュメモリ１０４の記憶領域をより有効に活用することができる。
【００６４】
なお、実施の形態２では、アプリケーションが起動される度に有効期限切れのフラッシュメモリ１０４の記憶領域の解放処理を行っているが、必ずしもアプリケーション起動毎に記憶領域の解放処理チェックを行う必要はなく、例えば、システム起動時に一度だけ行ってもよく、また、アプリケーションに記憶領域を割り付けようとして、記憶領域が不足した場合に初めて実行しても勿論良い。
【００６５】
（実施の形態３）
実施の形態３の特徴は、上記実施の形態２で設定される有効期限付きのフラッシュメモリ１０４の記憶領域が有効期限切れとなった場合にその領域を解放し、解放した記憶領域がある場合は、記憶領域を効率的に再配置し直すようにする点にある。
【００６６】
図７は、実施の形態３の動作を説明するフローチャートであり、図７のＡとＢの間は、図５と同じ処理が行われるため、重複説明を省略する。図１に示すＳＣＳ１２２は、アプリケーションが起動時に使用するフラッシュメモリ１０４の記憶領域サイズを割り付ける際に、有効期限を指示することが可能であり、指示した有効期限が切れた記憶領域がある場合は、その記憶領域を解放する（ステップＳ３２）。ステップＳ３４では、実際に解放された記憶領域があるか否かを判断し、解放された記憶領域がある場合は、フラッシュメモリ１０４の記憶領域全体の領域配置が効率的になるように割り付けし直す（ステップＳ３６）。
【００６７】
すなわち、上記した実施の形態２のように、割り付けられたアプリケーションの記憶領域に有効期限を指示すると、有効期限が切れた後に領域が解放されるので、解放された領域に新たなアプリケーションの記憶領域を割り付けることが可能となる。ところが、このような領域の解放と割り付けを長期間繰り返していると、割り付けられた領域間に隙間が発生するようになり、トータルで使用できる記憶領域サイズが減少するという新たな課題が生じることがわかってきた。このため、実施の形態３では、既に割り付けられている記憶領域サイズとその中のデータを変えることなく、記憶領域の配置のみを割り付けし直すことによって、領域間に生じていた無駄な隙間を無くすようにするものである。その際、フラッシュメモリ１０４の各記憶領域内のデータは、個別にコピーして他のメモリ（ＲＡＭやＨＤＤ）へ一旦待避させておき、フラッシュメモリ１０４の記憶領域を割り付けし直した後、待避させておいたデータを対応する記憶領域へコピー（あるいは、移動）させる。
【００６８】
また、ステップＳ３４において、解放した記憶領域が無い場合は、ステップＳ３６をスキップする。これ以降の登録処理は、上記実施の形態１の図５のフローチャートと同じである。
【００６９】
このように、実施の形態３にかかる複合機１００では、上記の実施の形態２の効果に加えて、フラッシュメモリ１０４上で有効期限切れの記憶領域を解放して、その記憶領域が再利用できるようになった場合に、記憶領域間で隙間ができないように割り付けし直すことにより、フラッシュメモリ１０４の記憶領域の効率的な使用が可能となる。
【００７０】
なお、実施の形態３では、記憶領域の再配置を行う場合として、有効期限切れによって解放された記憶領域が生じた時としたが、必ずしもこれに限定されず、定期的に再配置を行ったり、十分な記憶領域が確保できなくなった場合に記憶領域を再配置しても良く、またその際、再配置処理を自動的に行うようにしても良い。
【００７１】
また、上記実施の形態１〜３では、不揮発メモリの一例としてフラッシュメモリ１０４を用いて実施したが、これに限るものではなく、装置電源のＯＦＦ／ＯＮに影響されることなく記憶内容が保持できるものであれば何でも良い。
【００７２】
【発明の効果】
以上説明したように、請求項１にかかる発明によれば、割付制御手段によりアプリケーションの初回起動時に各アプリケーションのＩＤ番号を動的に割り付けるようにしたので、サードベンダなどが供給する新規アプリを追加した場合でもアプリＩＤの自動割り付けが可能となる。そして、割り付けられたアプリケーションのＩＤ番号をアプリケーション名称に対応して記憶手段に記憶し、アプリケーションの２回目以降の起動時には、割付制御手段が記憶手段に記憶されているアプリケーション名称に対応したＩＤ番号を割り付けるので、電源ＯＦＦ／ＯＮ後にも同じアプリＩＤを継続的に利用することができる。
【００７３】
また、請求項２にかかる発明によれば、記憶手段を不揮発メモリで構成したので、不揮発メモリに記憶されたアプリＩＤなどのデータは、装置電源がＯＦＦ／ＯＮされてもバックアップ電源等を用いずにデータを保持することができ、一旦割り付けられたアプリＩＤなどのデータを装置電源のＯＦＦ／ＯＮに関わらず継続的に利用することが可能となり、装置構成も簡単で低コスト化することができる。
【００７４】
また、請求項３にかかる発明によれば、割付制御手段は、さらにアプリケーション起動時に使用する記憶手段の記憶領域をアプリケーションに応じたサイズに割り付けるようにしたので、各アプリケーションに応じた必要なサイズの記憶領域を予め確保することが可能となり、アプリケーション起動中にメモリ不足が発生するのを防止することができる。
【００７５】
また、請求項４にかかる発明によれば、割付制御手段は、記憶手段の記憶領域を割り付ける際に、さらに記憶領域の割り付け有効期限を指示すると共に、その有効期限の到来時に割り付けた記憶領域を抹消するようにしたので、一旦記憶領域が割り付けされてもこれに固定されず、割り付け時に有効期限を指示するだけで割り付け期間を限定することができ、有効期限が切れると割り付けられた記憶領域を解放して割り付け前の状態に戻るので、ほとんど起動しないアプリケーションに記憶領域が割り付けられても一定期間後に解消され、限られた記憶領域を有効利用することができる。
【００７６】
また、請求項５にかかる発明によれば、割付制御手段は、さらにアプリケーション毎に割り付けられた記憶手段の記憶領域を効率的な配置に割り付けし直すようにしたので、記憶領域の割り付けや解放が繰り返し行われた場合に、記憶領域に無駄な隙間が発生するのを防止し、実質的な記憶容量の減少を防いで、記憶領域をより効率的に使用することができる。
【００７７】
また、請求項６にかかる発明によれば、割付制御手段は、記憶手段の記憶領域の割り付け処理と抹消処理の少なくとも一方をアプリケーションの起動時に行うようにしたので、アプリケーションの起動時に使用する記憶領域を確保したり、無駄な記憶領域を抹消することで他のアプリケーションの記憶領域を確保し易くすることができる。
【００７８】
また、請求項７にかかる発明によれば、割付ステップによりアプリケーションの初回起動時に各アプリケーションのＩＤ番号を動的に割り付けるようにしたので、サードベンダなどが供給する新規アプリを追加した場合でもアプリＩＤの自動割り付けが可能となる。そして、記憶ステップにより割り付けられたアプリケーションのＩＤ番号をアプリケーション名称に対応させて記憶部に記憶させ、再起動時割付ステップによりアプリケーションの２回目以降の起動時に、記憶部に記憶されているアプリケーション名称に対応したＩＤ番号を割り付けるようにしたので、電源ＯＦＦ／ＯＮ後であっても同じアプリＩＤを継続的に利用することができる。
【００７９】
また、請求項８にかかる発明によれば、記憶ステップでは、割り付けられたアプリケーションのＩＤ番号をアプリケーション名称に対応させて不揮発メモリに記憶するようにしたので、装置電源をＯＦＦ／ＯＮしても不揮発メモリに記憶されたアプリＩＤなどのデータは、バックアップ電源等を用いることなくデータを保持できるようになり、一旦割り付けられたアプリＩＤなどのデータを装置電源のＯＦＦ／ＯＮに関わらず継続的に利用することが可能となり、装置構成が簡単になって、低コスト化することができる。
【００８０】
また、請求項９にかかる発明によれば、割付ステップは、さらにアプリケーション起動時に使用する記憶部の記憶領域をアプリケーションに応じたサイズに割り付ける記憶領域割付ステップを含んでいるので、各アプリケーションに応じた必要なサイズの記憶領域を予め確保することが可能となり、アプリケーション起動中にメモリ不足が発生するのを防止することができる。
【００８１】
また、請求項１０にかかる発明によれば、割付ステップは、記憶部の記憶領域を割り付ける際に、さらに割り付け有効期限を指示可能として、その指示した有効期限の到来時に割り付けた記憶領域を抹消する有効期限指示ステップを含んでいるので、一旦記憶領域が割り付けされてもこれに固定されず、割り付け時に有効期限を指示するだけで割り付け期間を限定することができ、有効期限が切れると割り付けられた記憶領域を解放して割り付け前の状態に戻るので、ほとんど起動しないアプリケーションに記憶領域が割り付けられても一定期間が経過すると解消され、限られた記憶領域を有効利用することができる。
【００８２】
また、請求項１１にかかる発明によれば、割付ステップは、さらにアプリケーション毎に割り付けられた記憶部の記憶領域を効率的な配置に割り付けし直す再配置ステップを含んでいるので、記憶領域の割り付けや解放が繰り返し行われた場合に、記憶領域に無駄な隙間が発生するのを防止し、実質的な記憶容量の減少を防いで、記憶領域をより効率的に使用することができる。
【００８３】
また、請求項１２にかかる発明によれば、割付ステップは、記憶部の記憶領域の割り付け処理と抹消処理の少なくとも一方をアプリケーションの起動時に行うようにしたので、アプリケーションの起動時に使用する記憶領域を確保したり、無駄な記憶領域を抹消することで他のアプリケーションの記憶領域を確保し易くすることができる。
【図面の簡単な説明】
【図１】この発明の実施の形態１である画像形成装置の構成を示すブロック図である。
【図２】実施の形態１のアプリ起動時において割り付け済みのアプリＩＤか否かを検索するための検索テーブルの一例を示した図である。
【図３】図１のＳＣＳが各アプリの初回起動時にアプリＩＤを割り付ける状態を説明する図である。
【図４】２回目以降の起動時にＳＣＳがフラッシュメモリの対応テーブルを参照してアプリＩＤを割り付ける状態を説明する図である。
【図５】実施の形態１の動作を説明するフローチャートである。
【図６】実施の形態２の動作を説明するフローチャートである。
【図７】実施の形態３の動作を説明するフローチャートである。
【符号の説明】
１００　複合機
１０１　白黒ラインプリンタ
１０２　カラーラインプリンタ
１０３　ハードウェアリソース
１０４　フラッシュメモリ
１１０　ソフトウェア群
１１１　プリンタアプリ
１１２　コピーアプリ
１１３　ファックスアプリ
１１４　スキャナアプリ
１１５　ネットファイルアプリ
１１６　工程検査アプリ
１１７　新規アプリ
１２０　プラットホーム
１２１　汎用ＯＳ
１２２　ＳＣＳ
１２３　ＳＲＭ
１２４　ＥＣＳ
１２５　ＭＣＳ
１２６　ＯＣＳ
１２７　ＦＣＳ
１２８　ＮＣＳ
１３０　アプリケーション
【図１】
2004038777.tif 000003
【図２】
2004038777.tif 000004
【図３】
2004038777.tif 000005
【図４】
2004038777.tif 000006
【図５】
2004038777.tif 000007
【図６】
2004038777.tif 000008
【図７】
2004038777.tif 000009