JP6464630B2 - Information processing device - Google Patents
Information processing device Download PDFInfo
- Publication number
- JP6464630B2 JP6464630B2 JP2014192433A JP2014192433A JP6464630B2 JP 6464630 B2 JP6464630 B2 JP 6464630B2 JP 2014192433 A JP2014192433 A JP 2014192433A JP 2014192433 A JP2014192433 A JP 2014192433A JP 6464630 B2 JP6464630 B2 JP 6464630B2
- Authority
- JP
- Japan
- Prior art keywords
- application
- memory
- control unit
- access method
- access
- 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
Links
Images
Landscapes
- Memory System (AREA)
- Stored Programmes (AREA)
Description
本発明は、情報処理装置に関する。 The present invention relates to an information processing apparatus.
特許文献1には、機器にインストール可能な第一のプログラムの種別の組み合わせに応じて、当該組み合わせに係るメモリ消費量を含む情報を記憶した共存条件記憶手段と、インストール対象とされた第一のプログラムの種別とプログラムのインストール先の機器に関する機器情報とを受信するインストール情報受信手段と、インストール対象の第一のプログラムの種別と、機器情報に含まれている、機器にインストールされている第一のプログラムの種別とに係る第一の組み合わせに対応するメモリ消費量を共存条件記憶手段を用いて判定し、判定されたメモリ消費量と機器情報に含まれているインストール先の機器のメモリ容量を示す情報とを比較して、インストールの当否を判定する当否判定手段とを有する情報処理装置が記載されている。
According to
機器にアプリケーションプログラム(以下では簡単に「アプリケーション」ともいう)をインストールする際に、インストールされるアプリケーションのメモリ使用量とインストール先のメモリ容量情報とを比較してインストールの可否判定を有する構成では、インストールしたアプリケーションを起動しようとしても、メモリ不足によりそのアプリケーションが実行されないという事態が発生しやすかった。
本発明は、情報処理装置において複数のアプリケーションを動作させる場合に、メモリ不足によってアプリケーションが実行されないという事態の発生を抑制することを目的とする。
When installing an application program (hereinafter, also simply referred to as “application”) on a device, the memory usage amount of the installed application and the memory capacity information of the installation destination are compared to determine whether or not to install, When trying to start an installed application, it was easy for the application to not be executed due to insufficient memory.
An object of the present invention is to suppress occurrence of a situation in which an application is not executed due to a memory shortage when a plurality of applications are operated in an information processing apparatus.
上述した課題を解決するため、本発明の請求項1に係る情報処理装置は、アプリケーションプログラムを実行するアプリケーション実行手段と、前記アプリケーション実行手段が第1アプリケーションを実行している場合に、当該第1アプリケーションによって使用されるメモリと、前記アプリケーション実行手段が前記第1アプリケーションと異なる第2アプリケーションを実行している場合において当該第2アプリケーションが前記メモリへアクセスしようとするときは、前記第1アプリケーションによる当該メモリへのアクセスの状況に応じて当該メモリへのアクセスの排他制御を行う制御手段と、前記メモリにアクセスするための参照を有するアクセスメソッドを生成する生成手段と、前記生成されたアクセスメソッドを前記第2アプリケーションに引き渡す引渡手段とを有し、前記制御手段は、前記第2アプリケーションが前記アクセスメソッドを用いて前記メモリへアクセスする場合、前記第1アプリケーションによる当該メモリへのアクセスの状況に応じて前記メモリへのアクセスの排他制御を行うことを特徴とする。
In order to solve the above-described problem, an information processing apparatus according to
本発明の請求項2に係る情報処理装置は、請求項1に記載の構成において、前記生成手段は、前記第2アプリケーションが予め定められたインターフェースを実装している場合、前記アクセスメソッドを生成することを特徴とする。 An information processing apparatus according to a second aspect of the present invention is the information processing apparatus according to the first aspect , wherein the generation unit generates the access method when the second application implements a predetermined interface. It is characterized by that.
本発明の請求項3に係る情報処理装置は、請求項1または2に記載の構成において、前記制御手段は、前記第2アプリケーションが前記メモリへの参照を行ったタイミングで、前記排他制御を行うことを特徴とする。 An information processing apparatus according to a third aspect of the present invention is the information processing apparatus according to the first or second aspect , wherein the control means performs the exclusive control at a timing when the second application makes a reference to the memory. It is characterized by that.
本発明の請求項4に係る情報処理装置は、請求項1ないし3のいずれか1項に記載の構成において、前記生成手段は、前記第2アプリケーションが起動されたタイミングで前記アクセスメソッドを生成することを特徴とする。
The information processing apparatus according to claim 4 of the present invention, in the structure according to any one of
本発明の請求項5に係る情報処理装置は、請求項1ないし4のいずれか1項に記載の構成において、前記生成手段は、前記メモリの容量および前記第2アプリケーションが使用するメモリ量の少なくともいずれか一方が予め定められた条件を満たす場合、前記メモリのうち前記第1アプリケーションが使用する領域と異なる領域を、生成するアクセスメソッドに割り当てることを特徴とする。
The information processing apparatus according to claim 5 of the present invention, in the structure according to any one of
本発明の請求項6に係る情報処理装置は、請求項1ないし5のいずれか1項に記載の構成において、前記制御手段は、前記アプリケーション実行手段が前記第1アプリケーションおよび前記第2アプリケーションのうち1のアプリケーションを実行している場合において他のアプリケーションが当該メモリへアクセスしようとするときは、当該他のアプリケーションによる当該メモリへのアクセス処理が完了するまで当該1のアプリケーションの実行を待機させることを特徴とする。 An information processing apparatus according to a sixth aspect of the present invention is the information processing apparatus according to any one of the first to fifth aspects, wherein the control means is configured such that the application execution means includes the first application and the second application. When another application tries to access the memory in the case where one application is being executed, execution of the first application is waited until the access process to the memory by the other application is completed. Features.
本発明の請求項7に係る情報処理装置は、請求項1ないし6のいずれか1項に記載の構成において、前記制御手段は、前記第2アプリケーションにより実行される処理の属性が予め定められた条件を満たす場合において前記第1アプリケーションが前記メモリにアクセスしているときは、当該第1アプリケーションを一時停止し、当該第2アプリケーションの実行を優先させることを特徴とする。 An information processing apparatus according to a seventh aspect of the present invention is the information processing apparatus according to any one of the first to sixth aspects, wherein the control means has predetermined attributes of processing executed by the second application When the condition is satisfied, when the first application is accessing the memory, the first application is temporarily stopped and the execution of the second application is prioritized.
本発明の請求項8に係る情報処理装置は、請求項1ないし7のいずれか1項に記載の構成において、前記制御手段は、前記第2アプリケーションが使用するメモリ量が予め定められた条件を満たす場合、前記メモリの一部を当該第2アプリケーションに割り当て、当該メモリの他の領域を前記第1アプリケーションが使用するように制御することを特徴とする。 An information processing apparatus according to an eighth aspect of the present invention is the information processing apparatus according to any one of the first to seventh aspects, wherein the control means satisfies a condition in which a memory amount used by the second application is predetermined. If it is satisfied, a part of the memory is allocated to the second application, and another area of the memory is controlled to be used by the first application.
請求項1に係る発明によれば、情報処理装置において複数のアプリケーションを動作させる場合に、メモリ不足によってアプリケーションが実行されないという事態の発生を抑制することができるとともに、アプリケーションによるメモリへの不正なアクセスを防止することができる。
請求項2に係る発明によれば、第1アプリケーションと第2アプリケーションとでメモリを共用するかを判定することができる。
請求項3に係る発明によれば、メモリへの参照がなされたタイミングで排他制御処理が行われない場合と比べて、情報処理装置における処理全体のスループットを向上させることができる。
請求項4に係る発明によれば、第2アプリケーションに係る処理が処理の途中で中断してしまうことが防止される。
請求項5に係る発明によれば、第1アプリケーションが使用する領域と異なる領域が生成されるアクセスメソッドに割り当てられない場合と比べて、情報処理装置における処理全体のスループットを向上させることができる。
請求項6および7に係る発明によれば、一のアプリケーションがメモリにアクセスする場合に他のアプリケーションに影響を及ぼすことを防止することができる。
請求項8に係る発明によれば、第1アプリケーションが使用する領域と異なる領域が生成されるアクセスメソッドに割り当てられない場合と比べて、情報処理装置における処理全体のスループットを向上させることができる。
According to the first aspect of the present invention, when a plurality of applications are operated in the information processing apparatus, it is possible to suppress the occurrence of a situation in which the application is not executed due to a memory shortage, and unauthorized access to the memory by the application Can be prevented.
According to the invention which concerns on Claim 2 , it can be determined whether a 1st application and a 2nd application share a memory.
According to the third aspect of the present invention, it is possible to improve the throughput of the entire processing in the information processing apparatus as compared with the case where the exclusive control processing is not performed at the timing when the memory is referred to.
According to the invention of claim 4 , it is possible to prevent the processing relating to the second application from being interrupted during the processing.
According to the fifth aspect of the present invention, it is possible to improve the throughput of the entire processing in the information processing apparatus as compared with a case where the area is different from the area used by the first application and is not assigned to an access method.
According to the inventions according to claims 6 and 7 , when one application accesses the memory, it is possible to prevent other applications from being affected.
According to the eighth aspect of the present invention, it is possible to improve the throughput of the entire processing in the information processing apparatus as compared with a case where the area is different from the area used by the first application and is not assigned to an access method.
1.構成
図1は、本実施形態に係るシステム1の構成を示す模式図である。システム1は、サービス提供装置10と、画像形成装置20とを備える。サービス提供装置10は、アプリケーション(アプリケーションプログラムのこと)を提供する装置である。ここでいうアプリケーションとは、サービス提供装置10がユーザに提供するサービス及び機能を実現するためのSWモジュールのことをいう。サービス及び機能は、1つのアプリケーションによって実現されてもよいし、複数のアプリケーションの組み合わせによって実現されてもよい。アプリケーションには、例えば、スキャンなどの装置固有の機能を実現するSWモジュールの他、機能を追加するためにあとからインストールされるプラグインなどが含まれる。
1. Configuration FIG. 1 is a schematic diagram showing a configuration of a
画像形成装置20は、例えば電子写真方式のプリンタである。画像形成装置20は、スキャナ機能の他、コピー機能、プリント機能、ファクシミリ機能などの複数の機能を有していてもよい。通信回線2は、例えばインターネットや移動体通信網、電話回線などを含む。画像形成装置20は通信回線2を介してサービス提供装置10と通信する。
The
図2は、画像形成装置20の機能構成を示す図である。画像形成装置20は、アプリケーション実行手段21と、記憶手段22と、制御手段23と、生成手段24と、引渡手段25とを有する。アプリケーション実行手段21は、アプリケーションプログラムを実行する。記憶手段22は、アプリケーション実行手段21が第1アプリケーションを実行している場合に、当該第1アプリケーションによって使用される。制御手段23は、アプリケーション実行手段21が第1アプリケーションと異なる第2アプリケーションを実行している場合において第2アプリケーションが記憶手段22へアクセスしようとするときは、第1アプリケーションによる記憶手段22へのアクセスの状況に応じて記憶手段22へのアクセスの排他制御を行う。
FIG. 2 is a diagram illustrating a functional configuration of the
生成手段24は、記憶手段22にアクセスするための参照を含むクラスのアクセスメソッドを生成する。アクセスメソッドとは、優先度に基づく順序制御処理などを含んだセマフォ取得関数のようなものであり、例えば一般的な関数やインスタンスが提供する関数であるインスタンスメソッドなどがある。引渡手段25は、生成手段24により生成されたアクセスメソッドを第2アプリケーションに引き渡す。この場合、制御手段23は、第2アプリケーションがアクセスメソッドを用いてメモリへアクセスする場合、第1アプリケーションによるメモリへのアクセスの状況に応じてメモリへのアクセスの排他制御を行う。メモリへのアクセスとは、具体的には、アプリケーションがアクセスメソッドをコールすることをいう。
The
図3は、画像形成装置20のハードウェア構成を例示する図である。画像形成装置20は、CPU(Central Processing Unit)201と、ROM(Read Only Memory)202と、RAM(Random Access Memory)203と、ストレージ204と、画像読取部205と、UI(User Interface)部206と、画像形成部207と、通信IF208とを備えている。CPU201は、画像形成装置20の各部を制御する制御装置(プロセッサ)である。ROM202は、プログラムおよびデータを記憶する不揮発性の記憶装置である。RAM203は、CPU201がプログラムを実行する際の作業領域として機能する揮発性の主記憶装置である。ストレージ204は、プログラムおよびデータを記憶する不揮発性の補助記憶装置である。画像読取部205は、例えばCCD(Charge Coupled Devices)方式を用いて、原稿に描かれた画像を読み取る画像読取処理を行う。画像読取部205は、用紙などの媒体に形成された画像を光学的に読み取って、読み取った画像を表す画像データをCPU201に供給する。UI部206は、例えばタッチスクリーンとキーとを備えている。UI部206は、画像形成装置20を操作するために用いられる。画像形成部207は、画像データに応じた画像を用紙などの媒体に形成する。通信IF208は、ネットワーク2を介した通信を行うためのインターフェースであり、この例では特に、サービス提供装置10と通信を行うためのインターフェースである。
FIG. 3 is a diagram illustrating a hardware configuration of the
この例で、ストレージ204(またはROM202)に記憶されているプログラムをCPU201が実行することにより、図2に示される機能が実装される。プログラムを実行しているCPU201は、アプリケーション実行手段21、制御手段23、生成手段24および引渡手段25の一例である。RAM203は記憶手段22の一例である。
In this example, when the
なお、サービス提供装置10のハードウェア構成についての詳細な説明は省く。サービス提供装置10は、CPU、ROM、RAM、ストレージ、通信IFを有するコンピュータ装置である。
A detailed description of the hardware configuration of the
図4は、画像形成装置20のメモリの共用に係る機能構成の一例を示す図である。この実施形態では、単一のメモリ空間が複数のアプリケーションによって共用される。図において、既存機能254は、画像形成装置20上で動作するアプリケーション(第1アプリケーションの一例)である。この例で、既存機能254は、画像形成装置20の工場出荷の際にプリインストールされている標準アプリケーションである。標準アプリケーションは、例えば画像読取部205を制御して原稿などの媒体を読み取った画像を表す画像データを生成するアプリケーションであってもよい。アプリケーション252は、画像形成装置20上で動作するアプリケーション(第2アプリケーションの一例)である。この例で、アプリケーション252は、画像形成装置20の工場出荷の際にプリインストールされている標準アプリケーションではなく、工場出荷後に画像形成装置20にインストールされたアプリケーションである。アプリケーション252は、例えばスキャン画像に対する白紙除去処理などのカスタマイズ処理を行うためのプラグインであってもよい。アプリケーション252を実現するアプリケーションプログラムはサービス提供装置10からダウンロードされてもよい。
FIG. 4 is a diagram illustrating an example of a functional configuration related to sharing of the memory of the
アプリケーション管理フレームワーク251は、画像形成装置20上で動作するアプリケーション252を管理する。なお、図4に示す例では、ひとつのアプリケーション252が図示されているが、画像形成装置20に複数のアプリケーション252がインストールされていてもよい。また、図4に示す例では、ひとつの既存機能254が図示されているが、画像形成装置20に複数の既存機能254がプリインストールされていてもよい。制御部256は、アプリケーション管理フレームワーク251および既存機能254を制御する機能を有する。
The
メモリ255は既存機能254によって使用される。この実施形態では、既存機能254とアプリケーション252とがメモリ255を共用する。この場合、画像形成装置20にプリインストールされている既存機能254はメモリ255に直接アクセスする構成となっている。一方、後からインストールされるアプリケーション252はメモリ255に直接アクセスできない構成となっている。すなわち、アプリケーション252はメモリ255に直接アクセスしないように予め設計されている。なお、仮にアプリケーション252が悪意をもって設計されることによりメモリ255に直接アクセスする機能を有していたとしても、制御部256およびアプリケーション管理フレームワーク251の少なくともいずれか一方が、不正なアクセスの試みを検知して回避する構成となっている。この実施形態では、アプリケーション252がメモリ255にアクセスするために、アプリケーション管理フレームワーク251が、アプリケーション252が使用できるメモリアクセスメソッド253を生成する。メモリアクセスメソッド253は、メモリ255にアクセスするための参照を有するアクセスメソッドである。アプリケーション252はメモリアクセスメソッド253を通じて既存機能向けメモリ255にアクセスする。これにより、アプリケーション252と既存機能254との間でメモリ255が共有される。
メモリアクセスメソッド253の使用方法としては、例えば、アプリケーション252が、アプリケーション管理フレームワーク251が提供するライブラリを参照する際にメモリアクセスメソッド253を引数として指定してもよい。また、他の例として、アプリケーション252が、メモリアクセスメソッド253からメモリ255のアドレスとサイズの情報を取得してそれをワークメモリとして使用してもよい。
As a method of using the
メモリアクセスメソッド253の生成はアプリケーション管理フレームワーク251が行う。これは、アプリケーション管理フレームワーク251が、メモリアクセスメソッド253を介してアクセスされるメモリ255を把握しているためである。よって、アプリケーション252が独自にメモリアクセスメソッドを生成しても、そのメモリアクセスメソッドの参照先は有効なものとはなりえない。よって、アプリケーション252が独自に生成したメモリアクセスメソッドを使った場合、アプリケーション管理フレームワーク251がそれを検知し、メモリ255へのアクセスが行われないように制御する。
The
図5の(a)はアプリケーション252のプロパティファイルの一例を示す図である。図5の(b)はメモリアクセスメソッド253の生成処理を説明するための図である。メモリアクセスメソッド253は、メモリアクセスメソッド253を取得するためのI/F258を通じて、アプリケーション管理フレームワーク251からアプリケーション252に渡される。メモリアクセスメソッド253を取得したいアプリケーション252は、I/F258を実装している必要がある(I/F258で規定されたメソッドをアプリケーション252が提供する)。アプリケーション管理フレームワーク251は、I/F258が実装されているか否かをチェックし、実装されている場合はそのメソッドをコールする。
FIG. 5A is a diagram illustrating an example of a property file of the
この実施形態では、I/F258が実装されているかどうかは、アプリケーションのプロパティファイル内に記述されている。アプリケーション管理フレームワーク251は、アプリケーション252を起動する際、プロパティファイルからアプリケーション252がメモリ255を使用するか否かを判断する。図5の(a)の例で、アプリケーション管理フレームワーク251は、プロパティファイルで“jp.co.xxx.MemoryAcquire”の実装が宣言されていれば、アプリケーション252はメモリ255を使用すると判断する。一方、アプリケーション管理フレームワーク251は、プロパティファイルで“jp.co.xxx.MemoryAcquire”の実装が宣言されていない場合はメモリ255を使用しない、と判断する。
In this embodiment, whether or not the I /
制御部256は、アプリケーション管理フレームワーク251経由でアプリケーション252がI/F258を実装しているか否かの問い合わせを行い、実装している(すなわちアプリケーション252がメモリ255を使用する)と判定された場合、既存機能254によるメモリ255へのアクセスとアプリケーション252によるメモリ255へのアクセスとが競合しないように排他制御を行う。この実施形態では、制御部256は、シーケンシャル起動(先に起動された機能の処理の終了を待って、次の機能の処理を行う)、割り込み起動(先に起動されている処理に割り込んで処理を行う)、などの排他制御を行う。制御部256が行う制御動作について図面を参照しつつ以下に説明する。制御部256とアプリケーション管理フレームワーク251は、例えばOS(Operating System)上で動作するファームウェアである。なお、アプリケーション管理フレームワーク251が制御部256に含まれていてもよい。
The
2.動作
2−1.動作例1
図6は、制御部256が行うアプリケーション252の初期化処理を示す図である。図6に示す動作において、制御部256は、アプリケーション管理フレームワーク251経由でアプリケーション252にメモリアクセスメソッド253を引き渡す。図6に示すフローは、画像形成装置20のユーザがUI部206を操作するなどしてアプリケーション252が起動されることをトリガとして開始される。
2. Operation 2-1. Operation example 1
FIG. 6 is a diagram illustrating an initialization process of the
ステップS101において、制御部256は、アプリケーション252がI/F258を実装しているかを判定する。この例で、アプリケーション252がI/F258を実装しているかどうかの判断は、アプリケーション処理単位で行われる初期化処理において行われる。アプリケーション252がI/F258を実装していると判定された場合、制御部256は、ステップS102の処理に進む。一方、アプリケーション252がI/F258を実装していないと判定された場合、制御部256は、ステップS102およびステップS103の処理をスキップし、ステップS104の処理に進む。
In step S101, the
ステップS102において、制御部256は、メモリアクセスメソッド253を生成する。ステップS103において、制御部256は、アプリケーションのI/F258をコールする。すなわち、制御部256は、ステップS102で生成したメモリアクセスメソッドをアプリケーション252に引き渡す。ステップS104において、制御部256は、アプリケーション252の初期化処理を終了する。
In step S102, the
図7は、アプリケーション252の実行処理の流れを示すフローチャートである。図7に示すフローは、図6のステップS104に示す処理が完了したことをトリガとして開始される。図7に示す例は、アプリケーション252の実行と既存機能254の実行とが重なった場合に、シーケンシャル起動を行う場合の処理フローである。
FIG. 7 is a flowchart showing a flow of execution processing of the
ステップS201において、制御部256は、アプリケーション252にメモリアクセスメソッド253を引き渡しているかを判定する。メモリアクセスメソッドを引き渡していると判定された場合は、制御部256は、ステップS202の処理に進む。一方、メモリアクセスメソッドを引き渡していないと判定された場合は、制御部256は、ステップS202およびステップS203の処理をスキップし、ステップS204の処理に進む。
In step S <b> 201, the
ステップS202において、制御部256は、アプリケーション252とメモリ255を共用する既存機能254が動作中であるかを判定する。動作中であると判定された場合、制御部256はステップS203の処理に進む。一方、動作中でないと判定された場合、制御部256は、ステップS203の処理をスキップし、ステップS204の処理に進む。
In step S202, the
ステップS203において、制御部256は、既存機能254の処理が終了するまで待機する。既存機能254の処理が終了した場合、制御部256は、ステップS204の処理に進む。
In step S203, the
ステップS204において、制御部256は、アプリケーション252の実行を開始する。ステップS205において、制御部256は、アプリケーション252の実行が終了したことを検知すると、後処理などの予め定められた処理を実行することによって、アプリケーション252の実行を終了する。
In step S <b> 204, the
図8は、既存機能254の実行処理の流れを示すフローチャートである。制御部256は、既存機能254の実行を開始する場合に、図8に示す処理を実行する。図6および図7のフローと、図8のフローとは独立しており、図6および図7のフローと並列して図8のフローが行われる場合もある。また、図6および図7のフローに先立って、図8のフローが行われる場合もある。
FIG. 8 is a flowchart showing a flow of execution processing of the existing
ステップS301において、制御部256は、既存機能254がメモリ255を使用するかを判定する。例えばユーザによって指示された処理の内容によっては、既存機能254によって実行される処理がメモリ255を使用しない処理である場合もある。例えば、ユーザ毎の設定情報の変更処理などの場合、メモリ255が用いられることなく既存機能254が実行される場合もある。制御部256は、実行すべき処理の内容に応じてメモリ255が使用されるか否かを判定してもよい。既存機能254がメモリ255を使用すると判定された場合、制御部256はステップS302の処理に進む。一方、既存機能254がメモリ255を使用しないと判定された場合、制御部256はステップS302およびステップS303の処理をスキップし、ステップS304の処理に進む。
In step S301, the
ステップS302において、制御部256は、メモリ255を共有するアプリケーション252が動作中であるかを判定する。メモリ255を共有するアプリケーション252が動作中であると判定された場合、制御部256は、ステップS303の処理に進む。一方、メモリ255を共有するアプリケーション252が動作していないと判定された場合、制御部256は、ステップS303の処理をスキップし、ステップS304の処理に進む。
In step S302, the
ステップS303において、制御部256は、アプリケーション252の処理が終了するまで待機する。アプリケーション252の処理が終了すると、制御部256は、ステップS304の処理に進む。
In step S303, the
ステップS304において、制御部256は、既存機能254の実行を開始する。ステップS305において、制御部256は、既存機能254の実行が終了したことを検知すると、予め定められた後処理などを実行することによって既存機能254を終了する。
In step S304, the
上述したようにこの実施形態では、メモリアクセスメソッド253をI/F258を通じてアプリケーション252に引き渡し、アプリケーション252がメモリアクセスメソッド253を用いてメモリ255にアクセスする。このようにアプリケーション252にメモリアクセスメソッド253を引き渡す理由は、アプリケーション252がメモリ255に不正にアクセスすることを防ぐためである。ここで、メモリアクセスメソッド253の生成(その際有効な参照先のセットも含む)をアプリケーション252が行い、メモリ255の使用の有無はプロパティファイルにフラグの形で宣言させる場合について、本実施形態と比較しつつ説明する。
As described above, in this embodiment, the
図17は、メモリアクセスメソッド253をアプリケーション252が生成する場合の構成の一例を示す図である。図示のように、メモリ255の使用の宣言をアプリケーション252が正しく宣言していない場合(メモリを使用するにも関わらず使用しないと宣言している場合、など)、既存機能254とアプリケーション252とでメモリ255の競合が発生し、既存機能254およびアプリケーション252が正しく処理を行うことができない。このように、アプリケーション252の自己申告に基づいたメモリ255のアクセス管理では、それが正しく動作するかは申告の真偽に依存せざるを得ない。そのため、この場合、既存機能254に影響を及ぼさないことを保証できない。
FIG. 17 is a diagram illustrating an example of a configuration when the
それに対しこの実施形態では、メモリアクセスメソッド253とI/F258とを用いているため、プロパティファイルから得られるメモリ使用とアプリケーション252の実際のメモリ使用とが乖離することがない。
On the other hand, in this embodiment, since the
また、画像形成装置におけるメモリの空き容量は、有効化しているオプションや画像形成装置に保存しているデータ量(ユーザ情報、保存文書)に依存するため、変動する。そのため、従来の画像形成装置においては、制御部がアプリケーションをインストールする際にメモリ不足と判断してインストールを拒否しても、その後の画像形成装置に対する操作によりインストール可能な状態となる場合がある。逆にインストールされるタイミングにおいてメモリがあってインストールしても、その後メモリ不足となって結局アプリケーションが使用できなくなる可能性もある。結果、アプリケーションがユーザの期待通りに動作しない(インストールできない、インストールしても動作しない)ことが起きてしまう。 Further, the free space of the memory in the image forming apparatus varies because it depends on the options that are enabled and the amount of data (user information, stored documents) stored in the image forming apparatus. For this reason, in the conventional image forming apparatus, even when the control unit determines that the memory is insufficient when installing the application and rejects the installation, it may be in a state where it can be installed by subsequent operation on the image forming apparatus. On the other hand, even if there is memory at the time of installation, there is a possibility that the application becomes unusable after all due to insufficient memory. As a result, the application does not operate as expected by the user (cannot be installed, but does not operate even if installed).
一方、画像形成装置の既存機能に割り当てられたメモリ領域は、その機能が動作することを保証する量が確保されるためサイズが大きい場合が多い。特に画像処理機能で使用するメモリ量は、例えば、扱うデータの最大値、最悪値をベースにした場合、比較的大きなメモリ量となっている。この実施形態では、上述したように、そういった既存機能254向けのメモリ255のメモリ領域をアプリケーション252と共有するため、メモリ量が節約される。また、アプリケーション252のために充分なメモリ量を確保することにもつながる。
On the other hand, the memory area allocated to the existing function of the image forming apparatus often has a large size because an amount for guaranteeing that the function operates is secured. In particular, the amount of memory used in the image processing function is a relatively large amount of memory, for example, based on the maximum value and the worst value of data to be handled. In this embodiment, since the memory area of the
以上説明したようにこの実施形態では、既存機能254と後から追加されるアプリケーション252とで、既存機能254に予め割り当てられたメモリ255を共用する。これにより、メモリ不足によってアプリケーション252が実行されないという事態の発生が抑制される。また、メモリアクセスメソッド253が生成されることにより、アプリケーション252が不正にメモリ255にアクセスすることが防止される。
As described above, in this embodiment, the
また、上述の動作例では、既存機能254とアプリケーション252の動作が重なった場合は、それらをシーケンシャルに処理するため、メモリ領域を共有しても誤動作の懸念がない。また、アプリケーション252の動作は既存機能254側で制御することができないため、本来アクセスしてはならない既存のメモリ領域にもアクセスを試みる場合がある。結果、既存機能254に影響を及ぼす可能性がある。これに対し本実施形態によれば、アプリケーション管理フレームワーク251および/または制御部256が、許可されていない既存メモリ領域のアクセスが行われないように制御するため、既存機能254への影響はない。
Further, in the above-described operation example, when the existing
2−2.動作例2
次に、この実施形態の他の動作例を説明する。アプリケーション252の実行と既存機能254の実行とは、それぞれの用途によって割り込みがなされたり、どちらかの処理を優先したりすることが想定される。例えば、既存機能254の用途がバックグラウンド処理(例えば、スキャンされた画像データを他の装置に転送する処理、など)であり、アプリケーション252の用途がユーザ操作に関わる処理(例えば、画像処理を伴ったユーザ認証処理)である場合、アプリケーション252の実行を優先することが期待される。逆に、既存機能254が時間課金に関わる処理(例えば、ファクシミリ送信処理、など)であり、アプリケーション252がバックグラウンド処理(例えば、プリントデータのカスタマイズ処理、など)であれば、既存機能を優先すべき場合もある。このように、画像形成装置20が行う処理には、ファクシミリ送信処理であれば課金などに影響する回線接続時間というハードウェア制約(ハードウェアに基づく制約)がある。また、スキャナや用紙へ転写する部分が共用である点(複数人で使うため処理を早くこなしたい)も、ハードウェア制約となる。このように、画像形成装置20が行う処理には一般的な情報処理装置(例えばパソコン)にはないハードウェア制約があるため、処理の用途に応じた優先度が必要となる。この動作例では、制御部256が、アプリケーション252の用途と既存機能254の用途に従って制御を行う。
2-2. Operation example 2
Next, another operation example of this embodiment will be described. It is assumed that the execution of the
図9は、この動作例における制御部256が行うアプリケーション252の実行処理の流れを示すフローチャートである。ステップS401において、制御部256は、アプリケーション252にメモリアクセスメソッド253を引き渡しているかを判定する。アプリケーション252にメモリアクセスメソッド253を引き渡していると判定された場合、制御部256はステップS402の処理に進む。一方、メモリアクセスメソッド253を引き渡していないと判定された場合、制御部256はステップS412の処理に進む。
FIG. 9 is a flowchart showing a flow of execution processing of the
ステップS402において、制御部256は、メモリ255を共有する既存機能254が動作中であるかを判定する。メモリ255を共有する既存機能254が動作していると判定された場合、制御部256はステップS403の処理に進む。一方、メモリ255を共有する既存機能254が動作していないと判定された場合、制御部256はステップS412の処理に進む。
In step S <b> 402, the
ステップS403において、制御部256は、アプリケーション252の用途を取得する。用途の取得は、アプリケーション252が実装するI/F(メモリ取得I/Fとは別)を制御部256がコールすることにより行われてもよい。また、制御部256は、既存機能の用途を取得する。この用途の取得は、既存機能254が実装するI/Fを制御部256がコールすることにより行われてもよい。
In step S <b> 403, the
ステップS405において、制御部256は、アプリケーション252の優先度と既存機能254の優先度とを比較し、アプリケーションの優先度のほうが高いかを判定する。この判定は、例えば、用途と優先度との対応関係を記憶するテーブルを制御部256が参照して、アプリケーション252と既存機能254とのそれぞれの用途に対応する優先度を比較することによって行われてもよい。アプリケーション252の優先度が高いと判定された場合、制御部256はステップS406の処理に進む。一方、既存機能254の優先度が高いと判定された場合、制御部256はステップS411の処理に進む。
In step S405, the
ステップS406において、制御部256は既存機能の実行を一次停止する。ステップS407において、制御部256はアプリケーション252の実行を開始する。ステップ408において、制御部256はアプリケーション252の実行が完了すると、後処理を行い、アプリケーション252の処理を終了する。ステップS409において、制御部256は既存機能処理を再開する。ステップS410において、制御部256は既存機能254の実行が完了すると、後処理を行うなどして既存機能254の実行を終了する。
In step S406, the
ステップS411において、制御部256は既存機能254の処理が完了するまで待機する。既存機能254の処理が完了すると、制御部256はステップS412の処理に進む。ステップS412において、制御部256はアプリケーション252の処理を開始する。ステップS413において、制御部256はアプリケーション252の処理を終了する。
In step S411, the
2−3.動作例3
上述の動作例1では、アプリケーション252の処理を開始するタイミングで、制御部256が、メモリ255へのアプリケーション252によるアクセスの有無を確認して制御を行った。一方、アプリケーション252がメモリ255を実際に使用するタイミングまで既存機能の処理を停止させないようにしてもよい。この場合の動作例を図面を参照しつつ説明する。
2-3. Operation example 3
In the operation example 1 described above, the
図10は、この動作例におけるアプリケーション252の実行処理の流れを示すフローチャートである。図10に示す処理は、アプリケーション252がメモリアクセスメソッド253を経由してメモリ255にアクセスすることを契機として開始される。アプリケーション252がメモリ255にアクセスするときはメモリアクセスメソッド253を経由してなされるため、アプリケーション252によるメモリ255へのアクセスはアプリケーション管理フレームワーク251および制御部256により把握される。
FIG. 10 is a flowchart showing a flow of execution processing of the
ステップS501において、制御部256は、アプリケーション252によるメモリアクセスメソッド253を介したメモリ255へのアクセスを検知する。ステップS502において、制御部256は、メモリ255を共有する既存機能254が動作中であるかを判定する。メモリ255を共有する既存機能254が動作中であると判定された場合、制御部256はステップS503の処理に進む。一方、メモリ255を共有する既存機能254が動作中でないと判定された場合、制御部256はステップS503の処理をスキップし、ステップS505の処理に進む。
In step S <b> 501, the
ステップS503において、制御部256は既存機能254の処理の終了を待機する。既存機能254の処理が終了すると、制御部256はステップS504の処理に進む。ステップS504において、制御部256はアプリケーション252の処理を再開する。
In step S503, the
ステップS505において、制御部256はアプリケーション252の処理を継続する。ステップS506において、制御部256はアプリケーション252の処理を終了する。
In step S505, the
図11は、動作例1と動作例3のメモリアクセス制御に関するタイミングチャートである。図11の(a)は動作例1におけるタイミングチャートを示し、(b)は動作例3のタイミングチャートを示す。(b)に示す例では、アプリケーション252と既存機能254とが並列で実行される時間があるため、(a)と比較して処理全体のスループットが高いといえる。
FIG. 11 is a timing chart regarding memory access control in the first and third operation examples. FIG. 11A shows a timing chart in the first operation example, and FIG. 11B shows a timing chart in the third operation example. In the example shown in (b), since there is time for the
2−4.動作例4
次いで、この実施形態の他の動作例を説明する。この動作例では、アプリケーション252が使用するメモリ量に応じてメモリ255へのアクセス制御の内容が切り替えられる。具体的には、アプリケーション252が使用するメモリ量が少なければ、メモリ255を複数の領域に分け、既存機能254とアプリケーション252とが並列に動作することを許可したり、または一時的に別メモリを用意する、などの制御が行われる。
2-4. Operation example 4
Next, another operation example of this embodiment will be described. In this operation example, the content of access control to the
この動作例では、アプリケーション252が使用するメモリ量は、メモリアクセスメソッド253を通じてアプリケーション252が宣言する。この場合、アプリケーション252が使用するメモリ量が記述されたプロパティファイルをアプリケーション管理フレームワーク251または制御部256が参照することによって、アプリケーション252によって使用されるメモリ量が特定されてもよい。アプリケーション管理フレームワーク251と制御部256は、アプリケーション252が使用するメモリ量を把握し、メモリ255へのアクセス制御を行う。具体的には、制御部256は、アプリケーション252が使用するメモリ量が予め定められた条件を満たす場合(アプリケーション252が使用するメモリ量が少ない場合)、メモリ255を複数の領域に区分する。すなわち、制御部256は、メモリ255を既存機能254が用いる領域とアプリケーション252が用いる領域とに分け、既存機能254とアプリケーション252とを並列に動作させる。一方、制御部256は、アプリケーション252が使用するメモリ量が予め定められた条件を満たさない場合(アプリケーション252が使用するメモリ量が多い場合)、メモリ255とは異なるメモリをアプリケーション252に割り当てる制御を行う。
In this operation example, the amount of memory used by the
この動作例では、アプリケーション252と既存機能254とを並列して動作させるため、既存機能254はアプリケーション252によって処理が一時停止させられたりすることがない。
In this operation example, since the
2−5.動作例5
上述の動作例1ないし4では、アプリケーション252が実装するI/F258を通じてメモリアクセスメソッド253をアプリケーション252に引き渡した。それに対しこの動作例では、メモリアクセスメソッド取得用のAPIをアプリケーション管理フレームワーク251が提供し、このAPIをアプリケーション252にコールしてもらうことでメモリアクセスメソッド253をアプリケーション252に引き渡す。
2-5. Operation example 5
In the above operation examples 1 to 4, the
図12は、この動作例において画像形成装置20が行うアプリケーション252の初期化処理およびアプリケーション252の実行処理の流れを示すフローチャートである。この例では、アプリケーション252がメモリアクセスメソッド253をメモリ取得APIのコールで取得する。アプリケーション252が取得したメモリアクセスメソッド253経由でメモリ255にアクセスするタイミングで、制御部256によってメモリ255に対するアクセス制御が行われる。ステップS600において、制御部256は、アプリケーション252の初期化処理を開始する。ステップS601において、制御部256は、アプリケーション252の初期化処理を終了する。すなわち、この動作例では、アプリケーション252の初期化処理においてメモリアクセスメソッド253の生成および引き渡しは行われない。そのため、この動作例では、アプリケーション252がメモリ255を使用するかどうかはアプリケーション252の初期化のタイミングでは把握されない。
FIG. 12 is a flowchart showing the flow of the initialization process of the
ステップS602において、アプリケーション252の実行処理が開始される。ステップS603において、メモリアクセスメソッド取得APIがアプリケーション252によりコールされる。ステップS604において、制御部256は、メモリアクセスメソッド253を生成し、生成したメモリアクセスメソッド253をアプリケーション252へ引き渡す。
In step S602, execution processing of the
ステップS605において、アプリケーション252がメモリ255へのアクセスを開始する。ステップS606において、制御部256は、メモリ255を共有する既存機能254が動作しているかを判定する。メモリ255を共有する既存機能が動作していると判定された場合、制御部256はステップS607の処理に進む。一方、メモリ255を共有する既存機能が動作していないと判定された場合、制御部256はステップS609の処理に進む。
In step S <b> 605, the
ステップS607において、制御部256は、既存機能254の処理が終了するまで待機する。既存機能254の処理が終了すると、制御部256はステップS608の処理に進む。ステップS608において、制御部256は、アプリケーション252の処理を再開する。
In step S607, the
ステップS609において、制御部256は、アプリケーション252の処理を継続する。ステップS610において、制御部256はアプリケーション252の処理を終了する。
In step S609, the
3.変形例
上述した実施形態は、本発明の一例である。これらの実施形態は、以下のように変形してもよい。また、以下の変形例は、互いに組み合わせてもよい。
3. Modified Embodiment The above-described embodiment is an example of the present invention. These embodiments may be modified as follows. The following modifications may be combined with each other.
3−1.変形例1
上述の実施形態に係る動作例1では、図7および図8に例示したように、制御部256は、メモリ255を先に使用している機能を優先する制御を行った。また、動作例2では、制御部256は、アプリケーション252の優先度および既存機能254の優先度に応じた排他制御を行った。制御部256が行う排他制御の態様は上述したものに限られない。例えば、制御部256は、後から起動された機能を先に処理するように制御してもよい。また、他の例として、例えば、制御部256は、後から起動した機能を中止する制御を行ってもよく、また、先に起動している機能を中止する制御を行ってもよい。また、制御部256は、メモリのアクセスに係る競合が発生した旨をユーザに通知し、どの機能を一次停止(または停止)するかをユーザに選択させてもよい。
3-1.
In the operation example 1 according to the above-described embodiment, as illustrated in FIGS. 7 and 8, the
また、排他制御の他の例として、例えば、制御部256が、予め定められた単位(例えば、ページ単位)で機能を切り替えて並行して処理を進める制御を行ってもよい。また、制御部256が、複数の優先度のレベル(高/中/低、など)に応じて処理する機能を切り替えてもよい。なお、2つの機能が同時に起動されたときに、上記のようにいずれかの機能を優先する制御を行ってもよい。
As another example of exclusive control, for example, the
3−2.変形例2
上述の実施形態に係る動作例1において、メモリ255へのアクセス競合が発生した場合、制御部256がユーザにその旨を通知する制御を行ってもよい。具体的には、例えば、図7のステップS203において、既存機能の処理の終了を待機している間に、アプリケーション252の処理を一次停止している旨を示す画面をUI部206に表示してもよい。
3-2. Modification 2
In the operation example 1 according to the above-described embodiment, when access contention to the
図13は、UI部206に表示される画面の一例を示す図である。図13の(a)に示されるように、UI部206には、「処理101」の実行が一時停止中である旨を示す画面が表示される。この例では、ユーザは図13の(a)に示される画面を確認することにより、どの処理が一時停止されているかを把握する。図13の(a)に示す画面において、ユーザが詳細ボタンB1を押下する操作を行うと、制御部256は、操作された内容に応じて図13の(b)に示される画面を表示する。図13の(b)に示す例では、一時停止中の処理について、「必要なリソースを待っています」といったメッセージがUI部206に表示される。
FIG. 13 is a diagram illustrating an example of a screen displayed on the
3−3.変形例3
上述の実施形態では、既存機能254とアプリケーション252とのメモリ255へのアクセス競合が発生する場合を説明した。上述の実施形態において、既存機能254を、工場出荷の際にプリインストールされている標準アプリケーションによって実現される機能、と定義してもよい。この場合、上記実施形態に係るメモリ共有は、複数のアプリケーション間で行われる。
3-3. Modification 3
In the above-described embodiment, a case has been described where contention for access to the
図14は、この変形例に係る機能構成の一例を示す図である。図14に示す例では、複数のアプリケーション252B、254Bのそれぞれについて、アプリケーション管理フレームワーク251がメモリアクセスメソッド253B、253Cを生成する。
FIG. 14 is a diagram illustrating an example of a functional configuration according to this modification. In the example illustrated in FIG. 14, the
3−4.変形例4
上述の実施形態において、ひとつのアプリケーションがひとつのプロセスを実行してもよく、また、複数のアプリケーションがひとつのプロセスを実行してもよい。
3-4. Modification 4
In the above-described embodiment, one application may execute one process, and a plurality of applications may execute one process.
図15は、変形例4に係る機能構成の一例を示す図である。図15の(a)は複数のアプリケーションがそれぞれ一のプロセスを実行する場合の機能構成の一例を示す図である。この例で、アプリケーション管理フレームワーク251はプロセス257毎(すなわちアプリケーション252毎)にメモリアクセスメソッド253を生成する。一方、図15の(b)は複数のアプリケーションが全体で一のプロセスを実行する場合の機能構成の一例を示す図である。この例で、アプリケーション管理フレームワーク251はアプリケーション252毎にメモリアクセスメソッド253を生成する。図15の(c)は一のアプリケーションによって実行される一のプロセスと、複数のアプリケーションによって実行される一のプロセスとでメモリ255を共有する場合のメモリアクセスに係る機能構成の一例を示す図である。この例で、アプリケーション管理フレームワーク251はアプリケーション252毎にメモリアクセスメソッド253を生成する。
FIG. 15 is a diagram illustrating an example of a functional configuration according to Modification 4. FIG. 15A is a diagram illustrating an example of a functional configuration when a plurality of applications each execute one process. In this example, the
図15に示す例においても、複数のプロセス257でメモリ255を共有するため、プロセスが使用するメモリ量を抑えられる。
Also in the example shown in FIG. 15, since the
なお、図15に示す例では、アプリケーション管理フレームワーク251が、アプリケーション252毎にメモリアクセスメソッド253を生成した。メモリアクセスメソッド253はアプリケーション252毎に生成されるに限られない。メモリアクセスメソッド253は、プロセス257毎に生成されてもよい。この場合、複数のアプリケーション252によって一のメモリアクセスメソッド253が共有されてもよい。
In the example illustrated in FIG. 15, the
3−5.変形例5
画像形成装置20などの情報処理装置において使用可能なメモリ量は、その装置のハードウェア構成や搭載される機能によって異なる。制御部256が、使用可能なメモリ量に応じて、メモリ255を複数のアプリケーション252間で共有するか否かを判定してもよい。この場合、メモリ255のメモリ量が予め定められた閾値以上である場合、複数のアプリケーション間でメモリ255を共有しないと判定してもよい。
3-5. Modification 5
The amount of memory that can be used in an information processing apparatus such as the
図16は、メモリ255が共有されない場合の機能構成の一例を示す図である。図示のように、メモリ255のメモリ量が充分であると判定された場合、制御部256は、アプリケーション252毎にメモリ領域255aを確保する。なお、メモリ255を複数のアプリケーションで共有するか否かの切り替えは、アプリケーション管理フレームワーク251が行ってもよい。
FIG. 16 is a diagram illustrating an example of a functional configuration when the
3−6.変形例6
上述の実施形態において、メモリ255は全ての領域が複数のアプリケーションによって共有されてもよく、また、メモリ255の一部の領域が共有されてもよい。
3-6. Modification 6
In the above-described embodiment, the entire area of the
3−7.変形例7
上述の実施形態に係るシステム1は、サービス提供装置10と、画像形成装置20とを備えていた。サービス提供装置10および画像形成装置20の台数はシステム1で示した台数に限られない。例えば、複数のサービス提供装置を備える構成であってもよい。
3-7. Modification 7
The
3−8.変形例8
実施形態では、画像形成装置20の工場出荷の際にプリインストールされている標準アプリケーションが第1アプリケーションとして用いられたが、これに限らず、プラグインが第1アプリケーションとして用いられてもよい。また、実施形態ではプラグインが第2アプリケーションとして用いられたが、こちらも反対に、標準アプリケーションが第2アプリケーションとして用いられてもよい。
3-8.
In the embodiment, the standard application preinstalled when the
3−9.変形例9
画像形成装置20は、電子写真方式以外の方式で画像を形成するプリンタであってもよい。また、画像形成装置20は、白黒の画像を形成するものであってもよいし、カラーの画像を形成するものであってもよい。
3-9. Modification 9
The
3−10.変形例10
上述した実施形態において、画像形成装置20のCPU201により実行されるプログラムは、インターネットなどの通信回線を介してダウンロードされてもよい。また、このプログラムは、磁気記録媒体(磁気テープ、磁気ディスクなど)、光記録媒体(光ディスクなど)、光磁気記録媒体、半導体メモリなどの、コンピュータが読取可能な記録媒体に記録した状態で提供されてもよい。
3-10.
In the above-described embodiment, the program executed by the
1…システム、2…ネットワーク、10…サービス提供装置、20…画像形成装置、21…アプリケーション実行手段、22…メモリ、23…制御手段、24…生成手段、25…引渡手段
DESCRIPTION OF
Claims (8)
前記アプリケーション実行手段が第1アプリケーションを実行している場合に、当該第1アプリケーションによって使用されるメモリと、
前記アプリケーション実行手段が前記第1アプリケーションと異なる第2アプリケーションを実行している場合において当該第2アプリケーションが前記メモリへアクセスしようとするときは、前記第1アプリケーションによる当該メモリへのアクセスの状況に応じて当該メモリへのアクセスの排他制御を行う制御手段と、
前記メモリにアクセスするための参照を有するアクセスメソッドを生成する生成手段と、
前記生成されたアクセスメソッドを前記第2アプリケーションに引き渡す引渡手段と
を有し、
前記制御手段は、前記第2アプリケーションが前記アクセスメソッドを用いて前記メモリへアクセスする場合、前記第1アプリケーションによる当該メモリへのアクセスの状況に応じて前記メモリへのアクセスの排他制御を行う
情報処理装置。 An application execution means for executing the application program;
A memory used by the first application when the application execution means is executing the first application;
When the second application tries to access the memory when the application execution unit is executing a second application different from the first application, it depends on the state of access to the memory by the first application. Control means for performing exclusive control of access to the memory ,
Generating means for generating an access method having a reference for accessing the memory;
Delivery means for delivering the generated access method to the second application;
Have
When the second application accesses the memory using the access method, the control means performs an exclusive control of access to the memory according to a state of access to the memory by the first application. apparatus.
請求項1に記載の情報処理装置。 The generating means, when the second application implements a predetermined interface, the information processing apparatus according to claim 1 to generate the access method.
請求項1または2に記載の情報処理装置。 Wherein, in the second timing an application makes reference to the memory, the information processing apparatus according to claim 1 or 2 performs the exclusive control.
請求項1ないし3のいずれか1項に記載の情報処理装置。 The information processing apparatus according to any one of claims 1 to 3 , wherein the generation unit generates the access method at a timing when the second application is activated.
請求項1ないし4のいずれか1項に記載の情報処理装置。 The generation unit may select an area of the memory that is different from the area used by the first application when at least one of the capacity of the memory and the amount of memory used by the second application satisfies a predetermined condition. the information processing apparatus according to any one of claims 1 to 4 assigned to the generated access method.
請求項1ないし5のいずれか1項に記載の情報処理装置。 When the application execution unit is executing one application of the first application and the second application and the other application tries to access the memory, the control unit performs the operation according to the other application. the information processing apparatus according to any one of to access processing to the memory claims 1 to wait for execution of the one application to complete 5.
請求項1ないし6のいずれか1項に記載の情報処理装置。 When the first application is accessing the memory when the attribute of the process executed by the second application satisfies a predetermined condition, the control unit temporarily stops the first application, The information processing apparatus according to any one of claims 1 to 6 , wherein execution of the second application is prioritized.
請求項1ないし7のいずれか1項に記載の情報処理装置。 When at least one of the capacity of the memory and the amount of memory used by the second application satisfies a predetermined condition, the control unit allocates a part of the memory to the second application, The information processing apparatus according to any one of claims 1 to 7 , wherein the first application is controlled to use another area.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014192433A JP6464630B2 (en) | 2014-09-22 | 2014-09-22 | Information processing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014192433A JP6464630B2 (en) | 2014-09-22 | 2014-09-22 | Information processing device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016062536A JP2016062536A (en) | 2016-04-25 |
JP6464630B2 true JP6464630B2 (en) | 2019-02-06 |
Family
ID=55796124
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014192433A Expired - Fee Related JP6464630B2 (en) | 2014-09-22 | 2014-09-22 | Information processing device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6464630B2 (en) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09190375A (en) * | 1996-01-09 | 1997-07-22 | Toshiba Corp | Shared memory management method |
JP2006107197A (en) * | 2004-10-06 | 2006-04-20 | Nec Corp | Memory control method and program and terminal equipment |
JP4696151B2 (en) * | 2008-10-23 | 2011-06-08 | 株式会社エヌ・ティ・ティ・ドコモ | Information processing apparatus and memory management method |
-
2014
- 2014-09-22 JP JP2014192433A patent/JP6464630B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2016062536A (en) | 2016-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102123217B (en) | Image forming apparatus and function adding method | |
US20150116760A1 (en) | Image forming device operating with other image forming device, image forming system including the image forming device, mobile device to use the image forming device and method of controlling the image forming device | |
US20150134892A1 (en) | Information processing apparatus, method of controlling the same, and storage medium | |
US10069993B2 (en) | Resource management apparatus, resource management method and image forming apparatus | |
US9167116B2 (en) | Image forming apparatus for controlling an image forming job input in an offline state and controlling method thereof | |
US10394507B2 (en) | Control method for communication terminal and storage medium | |
JP6464630B2 (en) | Information processing device | |
US9317239B2 (en) | Image processing apparatus, server, and image processing system | |
US8891103B2 (en) | Image forming apparatus which controls the number of jobs that can be executed simultaneously | |
US11093104B2 (en) | Icon display control apparatus that prevents messy display of icons, method of controlling same, and storage medium | |
US10764463B2 (en) | Image forming apparatus, control method therefor, and storage medium for sending notification of an input operation to at least a user interface | |
US10602011B2 (en) | Image forming apparatus, information processing method, and program | |
JP2014075768A (en) | Information processing apparatus, application program introduction device, and program | |
JP7103167B2 (en) | Image processing equipment | |
US20200092427A1 (en) | Method for installing application by image formation device, and image formation device using same method | |
JP5986132B2 (en) | Electronic device and memory management method | |
JP2017159518A (en) | Image formation apparatus and program | |
US11272070B2 (en) | Electronic apparatus and recording medium | |
JP2013061750A (en) | Image forming device and job control program | |
JP7230375B2 (en) | Information processing device and program | |
JP7230357B2 (en) | Image processing device, information processing device, information processing system, and program | |
JP6478058B2 (en) | Pull print system | |
JP6481666B2 (en) | Image processing device | |
JP6478057B2 (en) | Pull print system | |
JP2023170564A (en) | Information processing apparatus, image formation apparatus, information processing method, and information processing program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170831 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180522 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180619 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180816 |
|
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: 20181211 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20181224 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6464630 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |