(57)【特許請求の範囲】
【請求項１】
少なくとも第１の領域と第２の領域とを含む記憶領域を有する情報処理装置であって、
前記第１の領域は所定の数のアプリケーションの実行に使用するデータを記憶可能であり、前記所定の数のアプリケーションのそれぞれのアプリケーションに対して、前記第１の領域において予め定められたサイズの領域を割り当てる割り当て手段と、
前記アプリケーションのインストールデータを、前記第２の領域に記憶させ、前記アプリケーションの実行に使用するメモリ量が、前記割り当て手段によって割り当てられた前記予め定められたサイズの領域以下の場合、前記アプリケーションの実行に使用するデータを、前記割り当て手段によって割り当てられた予め定められたサイズの領域に記憶させ、前記アプリケーションの実行に使用するメモリ量が、前記割り当て手段によって割り当てられた前記予め定められたサイズの領域を超える場合、前記アプリケーションの実行に使用するデータを、前記予め定められたサイズの領域と前記第２の領域に記憶させる記憶制御手段と、
を有する情報処理装置。
【請求項２】
前記割り当て手段は、前記第２の領域に、前記アプリケーションのインストールデータを記憶する領域を割り当てる請求項１記載の情報処理装置。
【請求項３】
アプリケーションの処理が実行される際に使用される、処理に係る領域が、前記第１の領域に確保できるか否かを判定し、前記第１の領域に確保できる場合は、前記第１の領域内の前記アプリケーションに対して割り当てた領域に前記処理に係る領域を確保し、前記第１の領域に確保できない場合は、前記第２の領域に前記処理に係る領域を確保する確保手段をさらに有する請求項１又は２記載の情報処理装置。
【請求項４】
前記アプリケーションがログインアプリケーションであり、前記処理に係る領域を前記第１の領域に確保できない場合、前記確保手段は、前記処理に係る領域を前記第２の領域に確保できるか否かを判定し、前記第２の領域に確保できる場合は、前記処理に係る領域を前記第２の領域に確保し、前記第２の領域に確保できない場合は、メモリに空き領域がないためログインデータの作成を失敗した旨を表示する請求項３記載の情報処理装置。
【請求項５】
前記確保手段は、アプリケーションがインストールされる際に、前記アプリケーションのインストールデータの記憶領域を前記第２の領域に確保できるか否かを判定し、前記第２の領域に確保できる場合は、前記第１の領域に、前記予め定められたサイズの領域を確保できるか否かを判定し、前記第１の領域に確保できる場合は、前記第２の領域に前記アプリケーションのインストールデータを記憶する領域を割り当て、前記領域に前記インストールデータを記憶し、前記第１の領域に前記アプリケーションの前記予め定められたサイズの領域を確保する請求項３又は４記載の情報処理装置。
【請求項６】
前記情報処理装置は、複合機であり、前記アプリケーションは前記複合機で動作する組み込み用アプリケーションである請求項１乃至５何れか１項記載の情報処理装置。
【請求項７】
前記第１の領域は、１つのアプリケーションの実行に使用可能なメモリ量は固定であり、前記第２の領域は、１つのアプリケーションの実行に使用可能なメモリ量は固定ではなく、前記第２の領域に記憶されている他のアプリケーションの実行のメモリ使用量に応じて、前記１つのアプリケーションの実行に使用可能なメモリ量が変わる請求項１乃至６何れか１項記載の情報処理装置。
【請求項８】
少なくとも第１の領域と第２の領域とを含む記憶領域を有する情報処理装置が実行する情報処理方法であって、
前記第１の領域は所定の数のアプリケーションの実行に使用するデータを記憶可能であり、前記所定の数のアプリケーションのそれぞれのアプリケーションに対して、前記第１の領域において予め定められたサイズの領域を割り当てる割り当てステップと、
前記アプリケーションのインストールデータを、前記第２の領域に記憶させ、前記アプリケーションの実行に使用するメモリ量が、前記割り当てステップで割り当てられた前記予め定められたサイズの領域以下の場合、前記アプリケーションの実行に使用するデータを、前記割り当てステップで割り当てられた予め定められたサイズの領域に記憶させ、前記アプリケーションの実行に使用するメモリ量が、前記割り当てステップで割り当てられた前記予め定められたサイズの領域を超える場合、前記アプリケーションの実行に使用するデータを、前記予め定められたサイズの領域と前記第２の領域に記憶させる記憶制御ステップと、
を含む情報処理方法。
【請求項９】
コンピュータを、請求項１乃至７何れか１項記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
組み込みプログラムとは別に、別プログラム（アプリケーションプログラム）をインストールし、様々なサービスを提供することができる情報処理装置がある。
このような情報処理装置では、複数のアプリケーションプログラムをインストールし、アプリケーションを動作させることが可能である。そして、それぞれのアプリケーションはインストール時及び動作時に情報処理装置が持つ記憶領域を使用する。
複数のアプリケーションは同時に動作する場合もあるため、情報処理装置の持つ記憶領域を適切に各アプリケーションに割り当てて動作させる必要がある。
そのために一つのアプリケーションが動作中に記憶領域を一定値以上使った場合、アプリケーションを適切に停止して、記憶領域を管理する方法等が提案されている（特許文献１）。
また複数のアプリケーションが１つの記憶装置を同時に使用する際に、それぞれのアプリケーションで使用できる最大のメモリ量を決めておき、それ以上記憶装置を使用できないように管理する、クオータのような管理方法も存在する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特願２０１１−４８８１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
情報処理装置の例としては、パーソナルコンピュータやスマートフォン等の機器が一般的である。しかし、最近ではもっと記憶領域の小さな情報処理装置、例えばコピー機等、にもアプリケーションをインストールしてサービスを提供するものも出てきている。
このような記憶領域の小さな情報処理装置で複数のアプリケーションをインストールして動作させる場合でも、複数のアプリケーションを同時に動作させる必要がある。
複数のアプリケーションを同時に動作させる場合、動作させるために必要な記憶領域が無くなったからといってアプリケーションの動作を停止させることはできない。また、記憶領域そのものが小さい情報処理装置の場合、各アプリケーションに必要な最大の記憶領域を予め確保すると、記憶領域が足りなくなる恐れがある。そのため、クオータのような管理方式では適切に管理できない。
本発明は、記憶領域の少ない情報処理装置であっても、同時に複数のアプリケーションを動作させることができるようにすることを目的とする。
【課題を解決するための手段】
【０００５】
そこで、本発明は、少なくとも第１の領域と第２の領域とを含む記憶領域を有する情報処理装置であって、前記第１の領域は所定の数のアプリケーションの実行に使用するデータを記憶可能であり、前記所定の数のアプリケーションのそれぞれのアプリケーションに対して、前記第１の領域において予め定められたサイズの領域を割り当てる割り当て手段と、前記アプリケーションのインストールデータを、前記第２の領域に記憶させ、前記アプリケーションの実行に使用するメモリ量が、前記割り当て手段によって割り当てられた前記予め定められたサイズの領域以下の場合、前記アプリケーションの実行に使用するデータを、前記割り当て手段によって割り当てられた予め定められたサイズの領域に記憶させ、前記アプリケーションの実行に使用するメモリ量が、前記割り当て手段によって割り当てられた前記予め定められたサイズの領域を超える場合、前記アプリケーションの実行に使用するデータを、前記予め定められたサイズの領域と前記第２の領域に記憶させる記憶制御手段と、を有する。
【発明の効果】
【０００６】
本発明によれば、記憶領域の少ない情報処理装置であっても、同時に複数のアプリケーションを動作させることができるようにすることができる。
【図面の簡単な説明】
【０００７】
【図１】複合機のハードウェア構成の一例を示す図である。
【図２】ＲＯＭにアプリケーションプログラムをインストールする例を示した図である。
【図３】アプリケーションプログラム領域を分割して管理する一例を示した図である。
【図４】アプリケーションをインストールする際の情報処理の一例を示したフローチャートである。
【図５】アプリケーションがストレージを獲得するときの情報処理の一例を示すフローチャートである。
【図６】操作部の画面表示の一例を示す図である。
【発明を実施するための形態】
【０００８】
以下、本発明の実施形態について図面に基づいて説明する。
【０００９】
情報処理装置の一例として、複合機を用いて説明を行う。この複合機の例を図１に示す。
複合機１００において、ＣＰＵ１０１は、システムの制御部であり、装置全体を制御する。ＲＯＭ１０２は、ｅＭＭＣ等のフラッシュメモリで構成されており、ＣＰＵ１０１の制御プログラムを格納するためのメモリである。ＲＯＭ１０２は、その他にも電源ＯＦＦ時に消えてはいけない設定値や画像データ等の格納も行う。また、アプリケーションプログラムデータもＲＯＭ１０２に格納される。このＲＯＭ１０２は、パーソナルコンピュータ等の機器で持っているメモリ容量よりもかなり少ない容量となっている。ＤＲＡＭ１０３は、プログラム制御変数等を格納するためのメモリである。また、ＤＲＡＭ１０３は、処理する画像データ等を一時的に保存できる揮発性メモリである。操作部１０４は、機器内の情報を表示するユーザとのインターフェイス部である。読み取り部１０５は、画像データを読み取り、バイナリデータに変換する装置である。複合機１００は、読み取り部１０５を用いて画像送信機能の原稿読み取りを行なう。記録部１０６は、画像データを記録紙に出力する装置である。画像処理部１０７は、画像送信機能で扱う画像データの符号化復号化処理を行う。通信部１０８は、機器と外部通信網とのインターフェイス部である。通信部１０８は、ネットワークへのインターフェイスであるネットワーク通信部を含む。それぞれの制御部はデータバス１１０を介して繋がっている。
ＣＰＵ１０１がＲＯＭ１０２等に記憶されているプログラムに基づき処理を実行することにより、後述する複合機１００の機能及び後述するフローチャートの処理が実現される。例えば、ＣＰＵ１０１がＲＯＭ１０２等に記憶されているアプリケーションプログラムに対応するインストールデータに基づき処理を実行することによりアプリケーションの機能が実現される。
【００１０】
このような複合機において、本体で動作するメインプログラムとは別にローダブルな別プログラムをインストールして実行するという例を基に説明する。
図２は、複合機内のＲＯＭ１０２にアプリケーションプログラムをインストールする例を示した図である。
ＲＯＭ１０２であるｅＭＭＣは用途により複数の領域に分かれており、その中には複合機本体を動作させるためのメインプログラム領域２１０や、受信した画像を保存しておく画像データ保存領域２１１等、複数の領域に分かれている。これらのうち、アプリケーションプログラムを動作させるためのアプリケーションプログラム領域２１２も領域としてＲＯＭ１０２に設定されている。アプリケーションプログラム領域２１２にアプリＡ２０１、アプリＢ２０２をインストールして動作させる場合を考える。
例としてアプリケーションプログラム領域２１２を１００ＭＢｙｔｅとする。
また、アプリＡ２０１をログインアプリ（アプリ本体データ量１ＭＢｙｔｅ）とし、ログインデータ（１件あたり５００ＫＢｙｔｅ）を最大１００名まで登録可能なアプリとする。ログインアプリはログインアプリケーションの略である。
次に、アプリＢ２０２をフォーム印刷アプリ（アプリ本体データ量２ＭＢｙｔｅ）とし、フォームを登録して印刷できる（画像データの最大は１枚当たり３ＭＢｙｔｅ）ものとし、最大１００枚まで登録可能なアプリとする。フォーム印刷アプリはフォーム印刷アプリケーションの略である。
【００１１】
クオータでの上限管理のように考えると、各アプリケーションプログラムで使用する最大のストレージ量を基に各アプリケーションに最大上限許可使用量が決定される。
アプリＡの場合は、本体１ＭＢｙｔｅ＋０．５ＭＢｙｔｅ×１００件＝５１ＭＢｙｔｅのストレージを最大で使用することになるため、最大上限許可使用量は５１ＭＢｙｔｅとなる。
アプリＢの場合は、本体２ＭＢｙｔｅ＋３ＭＢｙｔｅ×１００件＝３０２ＭＢｙｔｅ  のストレージを最大で使用することになるため、最大上限許可使用量は３０２ＭＢｙｔｅとなる。
この場合、アプリＡは１００Ｍｂｙｔｅのアプリケーションプログラム領域２１２にインストール可能となるが、アプリＢはインストールできないことになる。
本実施形態の処理は、このようなアプリケーションプログラム領域２１２が少ないアプリケーションの動作環境において、効率的にストレージを複数のアプリケーションに割り当て、適切に動作できるような環境を提供するものである。
そのために複合機１００は、アプリケーションプログラム領域２１２を分割して管理する。
【００１２】
その状態を説明したものが図３となる。
本実施形態では、ＣＰＵ１０１は、アプリケーションプログラム領域２１２を最小保証領域３０１と一般領域３０２との二つの領域に分割して管理する。
例としてアプリケーションプログラム領域２１２が１００Ｍｂｙｔｅの場合に、最小保証領域３０１を３０Ｍｂｙｔｅ、一般領域を７０Ｍｂｙｔｅの領域に分けて管理する場合で説明を行う。
このアプリケーションプログラム動作環境で最大でインストールできるアプリケーション数を１０本とする。この場合、ＣＰＵ１０１は、最小保証領域３０１は３０ＭＢｙｔｅなので、最小保証領域３０１から各アプリケーションプログラムにはそれぞれ３Ｍｂｙｔｅが与えられるようにする。
前述のアプリＡ２０１、アプリＢ２０２をこの環境にインストールした場合について説明する。アプリＡはアプリ本体データサイズが１Ｍｂｙｔｅのため、ＣＰＵ１０１は、一般領域３０２から１Ｍｂｙｔｅを取得し、ここにインストールする（インストールデータ３２０）。これと同時に、ＣＰＵ１０１は、最小保証領域３０１からアプリＡの専用領域として３Ｍｂｙｔｅを割り当てる（基本領域３１０）。この基本領域３１０はアプリＡが自由に使用して構わない領域となる。したがって、アプリＡで扱うログインデータのサイズが１件当たり０．５ＭＢｙｔｅであるため、アプリＡのログインアプリは、最低でも６件のデータを保持して使用することが可能となる。７件目以降のアドレスデータを作成したい場合、ＣＰＵ１０１は、一般領域３０２からストレージを取得して（追加領域３３０）、アプリＡを動作させる。
【００１３】
同様に、アプリＢはアプリ本体データサイズが２Ｍｂｙｔｅのため、ＣＰＵ１０１は、一般領域３０２から２Ｍｂｙｔｅを取得し、ここにインストールする（インストールデータ３２１）。これと同時に、ＣＰＵ１０１は、最小保証領域３０１からアプリＢの専用領域として３Ｍｂｙｔｅを割り当てる（基本領域３１１）。この基本領域３１１はアプリＢが自由に使用して構わない領域となる。したがって、アプリＢで扱う画像データのサイズが１件当たり３ＭＢｙｔｅであるため、アプリＢのフォーム印刷アプリは、最低でも１件のデータを保持して使用することが可能となる。２件目以降のアドレスデータを作成したい場合、ＣＰＵ１０１は、一般領域３０２からストレージを取得して（追加領域３３１）、アプリＢを動作させる。
このように、ＣＰＵ１０１は、各アプリケーションに最低限動作する同一のサイズの領域として専用領域を割り当て、それ以上にストレージが必要な場合は一般領域から取得するようにする。これにより、必要なストレージが大きなアプリケーションもインストールして動作させることが可能となる。
【００１４】
図４は、アプリケーションをインストールする際の情報処理の一例を示したフローチャートである。
アプリケーションを複合機１００にインストールする方法としては、ＣＤデバイスやＵＳＢメモリメディアからデータを取得する方法やネットワークからダウンロードしてデータを取得する方法がある。これらのような方法でインストールデータを取得し、複合機１００にアプリケーションをインストールするが、本実施形態の場合、インストール方法に関しては特に限定されない。複合機１００外からデータを取得し、アプリケーションのインストールが開始されると、ＣＰＵ１０１は、最初に一般領域３０２にアプリケーションプログラムの本体データをインストールために必要な領域を確保できるか判定する（Ｓ４０１、Ｓ４０２）。一般領域３０２から確保不可能だった場合（Ｓ４０２においてＮｏ）、つまり一般領域が既に他のアプリケーションプログラムによって使用されていた場合、ＣＰＵ１０１は、インストールは失敗したとして、図４に示す処理を終了する。ここで一般領域３０２から確保可能だった場合（Ｓ４０２においてＹｅｓ）、ＣＰＵ１０１は、次に最小保証領域３０１から基本領域分の領域を取得できるかどうか判定する（Ｓ４０３、Ｓ４０４）。最小保証領域３０１から確保不可能だった場合（Ｓ４０４においてＮｏ）、つまりアプリケーションプログラムのインストール数が制限いっぱいだった場合、ＣＰＵ１０１は、インストールは失敗したとして、図４に示す処理を終了する。ここで最小保証領域３０１から確保可能だった場合（Ｓ４０４においてＹｅｓ）、ＣＰＵ１０１は、まず、一般領域３０２にアプリケーションプログラムのインストールデータを記憶する（Ｓ４０５）。その後、ＣＰＵ１０１は、最小保証領域３０１から基本領域分のストレージを取得し、このアプリケーションプログラムの専用のストレージとして割り当てる（Ｓ４０６）。これでインストールの処理は完了となる。
【００１５】
次にインストール後のアプリケーションのストレージの取得方法に関して説明する。図５は、インストール後のアプリケーションがストレージを獲得するときの情報処理の一例を示すフローチャートである。一般的なアプリケーションが動作時にストレージを必要としたときの処理の一例を示すフローチャートであり、アプリケーションの種別は問わない。ここでは、一例として前述のアプリＡ２０１：ログインアプリ動作時にログイン用のデータ領域を確保するときの情報処理を図６の操作部１０４の画面表示を交えて説明する。
【００１６】
ログインアプリの設定メニューとして、図６（ａ）の画面６００が操作部１０４に表示されているとする。ユーザが新規でログインデータを作成する場合、ユーザ登録ボタン６０１を押下して作成の開始を指示する。このときにログインデータの格納領域が必要となる。ＣＰＵ１０１は、この領域をアプリケーションプログラム領域２１２から取得するための判定を行う（Ｓ５０１）。まず、ＣＰＵ１０１は、ログインデータの格納領域を、アプリＡ２０１に割り当てられた最小保証領域３０１から確保できるかどうかの判定を行う（Ｓ５０２）。最小保証領域３０１から確保可能な場合（Ｓ５０２においてＹｅｓ）、ＣＰＵ１０１は、最小保証領域３０１からログインデータの格納領域を取得する（Ｓ５０３）。この場合、操作部１０４の表示は図６（ｂ）の画面６１０のようにユーザの登録データ入力画面になり、ユーザは登録データをこの領域６１１において入力する。そしてユーザによってユーザ登録ボタン６１２が押下されると、ＣＰＵ１０１は、確保した領域内に登録されたログインデータを格納する（Ｓ５０４）。こうしてログインデータの作成作業は終了となる。最小保証領域３０１から確保できない場合（Ｓ５０２においてＮｏ）、次に、ＣＰＵ１０１は、一般領域３０２からログインデータの格納領域を確保可能かどうかの判定を行う（Ｓ５０５）。一般領域３０２から確保可能な場合（Ｓ５０５においてＹｅｓ）、ＣＰＵ１０１は、一般領域３０２からログインデータの格納領域を取得する（Ｓ５０６）。この場合も、操作部１０４の表示は画面６１０のようにユーザの登録データ入力画面になり、ユーザは登録データをこの領域６１１において入力する。そしてユーザによってユーザ登録ボタン６１２が押下されると、ＣＰＵ１０１は、確保した領域内に登録されたログインデータを格納する（Ｓ５０４）。こうしてログインデータの作成作業は終了となる。また、一般領域３０２からも領域が確保できなかった場合（Ｓ５０５においてＮｏ）、確保できる領域が無かったことになるため、ＣＰＵ１０１は、以下の処理を実行する。即ち、ＣＰＵ１０１は、メモリに空き領域がないためログインデータの作成を失敗したことを操作部１０４に図６（ｃ）の画面６２０を表示し（Ｓ５０７）、ログインデータの作成作業は失敗して終了する。ここで、ＣＰＵ１０１は、アプリケーションに応じてＳ５０７の処理を変更するようにしてもよい。
【００１７】
このように、少ないＲＯＭ（ｅＭＭＣ）で構成された複合機１００で、複数のアプリケーションを同時に動作させる場合に、各アプリケーションで必要な最大のストレージ量で管理しないようにする。アプリケーション用に割り当てられたＲＯＭ（ｅＭＭＣ）を最小保証領域と一般領域との２つに分けて、各アプリケーションに基本領域という一定量を専用で与えることで、最低限の動作を保証することが出来る。これにより、少ないＲＯＭ（ｅＭＭＣ）で構成された複合機１００でも複数のアプリケーションを適切に並行して動作させることが可能となる。
【００１８】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給する。そして、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読み出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００１９】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではない。
【００２０】
以上、上述した各実施形態の処理によれば、記憶領域の少ない複合機１００であっても、同時に複数のアプリケーションを動作させることができるようにすることができる。
【符号の説明】
【００２１】
１００  複合機
１０１  ＣＰＵ
１０２  ＲＯＭ
【図１】
0006702681.tif 000002
【図２】
0006702681.tif 000003
【図３】
0006702681.tif 000004
【図４】
0006702681.tif 000005
【図５】
0006702681.tif 000006
【図６】
0006702681.tif 000007