JP2016062536A - 情報処理装置 - Google Patents

情報処理装置 Download PDF

Info

Publication number
JP2016062536A
JP2016062536A JP2014192433A JP2014192433A JP2016062536A JP 2016062536 A JP2016062536 A JP 2016062536A JP 2014192433 A JP2014192433 A JP 2014192433A JP 2014192433 A JP2014192433 A JP 2014192433A JP 2016062536 A JP2016062536 A JP 2016062536A
Authority
JP
Japan
Prior art keywords
application
memory
control unit
access
access method
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
Application number
JP2014192433A
Other languages
English (en)
Other versions
JP6464630B2 (ja
Inventor
卓史 村上
Takuji Murakami
卓史 村上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2014192433A priority Critical patent/JP6464630B2/ja
Publication of JP2016062536A publication Critical patent/JP2016062536A/ja
Application granted granted Critical
Publication of JP6464630B2 publication Critical patent/JP6464630B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】情報処理装置において複数のアプリケーションを動作させる場合に、メモリ不足によってアプリケーションが実行されないという事態の発生を抑制すること。
【解決手段】画像形成装置20のアプリケーション実行手段21は、アプリケーションプログラムを実行する。記憶手段22は、アプリケーション実行手段21が第1アプリケーションを実行している場合に、当該第1アプリケーションによって使用される。制御手段23は、アプリケーション実行手段21が第1アプリケーションと異なる第2アプリケーションを実行している場合において第2アプリケーションが記憶手段22へアクセスしようとするときは、第1アプリケーションによる記憶手段22へのアクセスの状況に応じて記憶手段22へのアクセスの排他制御を行う。
【選択図】図2

Description

本発明は、情報処理装置に関する。
特許文献1には、機器にインストール可能な第一のプログラムの種別の組み合わせに応じて、当該組み合わせに係るメモリ消費量を含む情報を記憶した共存条件記憶手段と、インストール対象とされた第一のプログラムの種別とプログラムのインストール先の機器に関する機器情報とを受信するインストール情報受信手段と、インストール対象の第一のプログラムの種別と、機器情報に含まれている、機器にインストールされている第一のプログラムの種別とに係る第一の組み合わせに対応するメモリ消費量を共存条件記憶手段を用いて判定し、判定されたメモリ消費量と機器情報に含まれているインストール先の機器のメモリ容量を示す情報とを比較して、インストールの当否を判定する当否判定手段とを有する情報処理装置が記載されている。
特開2012−43168号公報
機器にアプリケーションプログラム(以下では簡単に「アプリケーション」ともいう)をインストールする際に、インストールされるアプリケーションのメモリ使用量とインストール先のメモリ容量情報とを比較してインストールの可否判定を有する構成では、インストールしたアプリケーションを起動しようとしても、メモリ不足によりそのアプリケーションが実行されないという事態が発生しやすかった。
本発明は、情報処理装置において複数のアプリケーションを動作させる場合に、メモリ不足によってアプリケーションが実行されないという事態の発生を抑制することを目的とする。
上述した課題を解決するため、本発明の請求項1に係る情報処理装置は、アプリケーションプログラムを実行するアプリケーション実行手段と、前記アプリケーション実行手段が第1アプリケーションを実行している場合に、当該第1アプリケーションによって使用されるメモリと、前記アプリケーション実行手段が前記第1アプリケーションと異なる第2アプリケーションを実行している場合において当該第2アプリケーションが前記メモリへアクセスしようとするときは、前記第1アプリケーションによる当該メモリへのアクセスの状況に応じて当該メモリへのアクセスの排他制御を行う制御手段とを有することを特徴とする。
本発明の請求項2に係る情報処理装置は、請求項1に記載の構成において、前記メモリにアクセスするための参照を有するアクセスメソッドを生成する生成手段と、前記生成されたアクセスメソッドを前記第2アプリケーションに引き渡す引渡手段とを更に有し、前記制御手段は、前記第2アプリケーションが前記アクセスメソッドを用いて前記メモリへアクセスする場合、前記第1アプリケーションによる当該メモリへのアクセスの状況に応じて前記メモリへのアクセスの排他制御を行うことを特徴とする。
本発明の請求項3に係る情報処理装置は、請求項2に記載の構成において、前記生成手段は、前記第2アプリケーションが予め定められたインターフェースを実装している場合、前記アクセスメソッドを生成することを特徴とする。
本発明の請求項4に係る情報処理装置は、請求項2または3に記載の構成において、前記制御手段は、前記第2アプリケーションが前記メモリへの参照を行ったタイミングで、前記排他制御を行うことを特徴とする。
本発明の請求項5に係る情報処理装置は、請求項2ないし4のいずれか1項に記載の構成において、前記生成手段は、前記第2アプリケーションが起動されたタイミングで前記アクセスメソッドを生成することを特徴とする。
本発明の請求項6に係る情報処理装置は、請求項2ないし5のいずれか1項に記載の構成において、前記生成手段は、前記メモリの容量および前記第2アプリケーションが使用するメモリ量の少なくともいずれか一方が予め定められた条件を満たす場合、前記メモリのうち前記第1アプリケーションが使用する領域と異なる領域を、生成するアクセスメソッドに割り当てることを特徴とする。
本発明の請求項7に係る情報処理装置は、請求項1ないし6のいずれか1項に記載の構成において、前記制御手段は、前記アプリケーション実行手段が前記第1アプリケーションおよび前記第2アプリケーションのうち1のアプリケーションを実行している場合において他のアプリケーションが当該メモリへアクセスしようとするときは、当該他のアプリケーションによる当該メモリへのアクセス処理が完了するまで当該1のアプリケーションの実行を待機させることを特徴とする。
本発明の請求項8に係る情報処理装置は、請求項1ないし7のいずれか1項に記載の構成において、前記制御手段は、前記第2アプリケーションにより実行される処理の属性が予め定められた条件を満たす場合において前記第1アプリケーションが前記メモリにアクセスしているときは、当該第1アプリケーションを一時停止し、当該第2アプリケーションの実行を優先させることを特徴とする。
本発明の請求項9に係る情報処理装置は、請求項1ないし8のいずれか1項に記載の構成において、前記制御手段は、前記第2アプリケーションが使用するメモリ量が予め定められた条件を満たす場合、前記メモリの一部を当該第2アプリケーションに割り当て、当該メモリの他の領域を前記第1アプリケーションが使用するように制御することを特徴とする。
請求項1に係る発明によれば、情報処理装置において複数のアプリケーションを動作させる場合に、メモリ不足によってアプリケーションが実行されないという事態の発生を抑制することができる。
請求項2に係る発明によれば、アプリケーションによるメモリへの不正なアクセスを防止することができる。
請求項3に係る発明によれば、第1アプリケーションと第2アプリケーションとでメモリを共用するかを判定することができる。
請求項4に係る発明によれば、メモリへの参照がなされたタイミングで排他制御処理が行われない場合と比べて、情報処理装置における処理全体のスループットを向上させることができる。
請求項5に係る発明によれば、第2アプリケーションに係る処理が処理の途中で中断してしまうことが防止される。
請求項6に係る発明によれば、第1アプリケーションが使用する領域と異なる領域が生成されるアクセスメソッドに割り当てられない場合と比べて、情報処理装置における処理全体のスループットを向上させることができる。
請求項7および8に係る発明によれば、一のアプリケーションがメモリにアクセスする場合に他のアプリケーションに影響を及ぼすことを防止することができる。
請求項9に係る発明によれば、第1アプリケーションが使用する領域と異なる領域が生成されるアクセスメソッドに割り当てられない場合と比べて、情報処理装置における処理全体のスループットを向上させることができる。
システム1の構成を示す模式図。 画像形成装置20の機能構成を示す図。 画像形成装置20のハードウェア構成を示す図。 画像形成装置20のメモリの共用に係る機能構成の一例を示す図。 アプリケーションのプロパティファイルの一例を示す図。 動作例1に係るアプリケーションの初期化処理の流れを示すフローチャート。 動作例1に係るアプリケーションの実行処理の流れを示すフローチャート。 動作例1に係る既存機能の実行処理の流れを示すフローチャート。 動作例2に係るアプリケーションの実行処理の流れを示すフローチャート。 動作例3に係るアプリケーションの実行処理の流れを示すフローチャート。 動作例3に係るメモリへのアクセス制御に関するタイミングチャート。 動作例4に係るアプリケーションの初期化処理および実行処理の流れを示すフローチャート。 変形例2に係るUI部206に表示される画面の一例を示す図。 変形例3に係る機能構成の一例を示す図。 変形例4に係る機能構成の一例を示す図。 変形例6に係る機能構成の一例を示す図。 メモリアクセスメソッドをアプリケーションが生成する場合の機能構成の一例を示す図。
1.構成
図1は、本実施形態に係るシステム1の構成を示す模式図である。システム1は、サービス提供装置10と、画像形成装置20とを備える。サービス提供装置10は、アプリケーション(アプリケーションプログラムのこと)を提供する装置である。ここでいうアプリケーションとは、サービス提供装置10がユーザに提供するサービス及び機能を実現するためのSWモジュールのことをいう。サービス及び機能は、1つのアプリケーションによって実現されてもよいし、複数のアプリケーションの組み合わせによって実現されてもよい。アプリケーションには、例えば、スキャンなどの装置固有の機能を実現するSWモジュールの他、機能を追加するためにあとからインストールされるプラグインなどが含まれる。
画像形成装置20は、例えば電子写真方式のプリンタである。画像形成装置20は、スキャナ機能の他、コピー機能、プリント機能、ファクシミリ機能などの複数の機能を有していてもよい。通信回線2は、例えばインターネットや移動体通信網、電話回線などを含む。画像形成装置20は通信回線2を介してサービス提供装置10と通信する。
図2は、画像形成装置20の機能構成を示す図である。画像形成装置20は、アプリケーション実行手段21と、記憶手段22と、制御手段23と、生成手段24と、引渡手段25とを有する。アプリケーション実行手段21は、アプリケーションプログラムを実行する。記憶手段22は、アプリケーション実行手段21が第1アプリケーションを実行している場合に、当該第1アプリケーションによって使用される。制御手段23は、アプリケーション実行手段21が第1アプリケーションと異なる第2アプリケーションを実行している場合において第2アプリケーションが記憶手段22へアクセスしようとするときは、第1アプリケーションによる記憶手段22へのアクセスの状況に応じて記憶手段22へのアクセスの排他制御を行う。
生成手段24は、記憶手段22にアクセスするための参照を含むクラスのアクセスメソッドを生成する。アクセスメソッドとは、優先度に基づく順序制御処理などを含んだセマフォ取得関数のようなものであり、例えば一般的な関数やインスタンスが提供する関数であるインスタンスメソッドなどがある。引渡手段25は、生成手段24により生成されたアクセスメソッドを第2アプリケーションに引き渡す。この場合、制御手段23は、第2アプリケーションがアクセスメソッドを用いてメモリへアクセスする場合、第1アプリケーションによるメモリへのアクセスの状況に応じてメモリへのアクセスの排他制御を行う。メモリへのアクセスとは、具体的には、アプリケーションがアクセスメソッドをコールすることをいう。
図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と通信を行うためのインターフェースである。
この例で、ストレージ204(またはROM202)に記憶されているプログラムをCPU201が実行することにより、図2に示される機能が実装される。プログラムを実行しているCPU201は、アプリケーション実行手段21、制御手段23、生成手段24および引渡手段25の一例である。RAM203は記憶手段22の一例である。
なお、サービス提供装置10のハードウェア構成についての詳細な説明は省く。サービス提供装置10は、CPU、ROM、RAM、ストレージ、通信IFを有するコンピュータ装置である。
図4は、画像形成装置20のメモリの共用に係る機能構成の一例を示す図である。この実施形態では、単一のメモリ空間が複数のアプリケーションによって共用される。図において、既存機能254は、画像形成装置20上で動作するアプリケーション(第1アプリケーションの一例)である。この例で、既存機能254は、画像形成装置20の工場出荷の際にプリインストールされている標準アプリケーションである。標準アプリケーションは、例えば画像読取部205を制御して原稿などの媒体を読み取った画像を表す画像データを生成するアプリケーションであってもよい。アプリケーション252は、画像形成装置20上で動作するアプリケーション(第2アプリケーションの一例)である。この例で、アプリケーション252は、画像形成装置20の工場出荷の際にプリインストールされている標準アプリケーションではなく、工場出荷後に画像形成装置20にインストールされたアプリケーションである。アプリケーション252は、例えばスキャン画像に対する白紙除去処理などのカスタマイズ処理を行うためのプラグインであってもよい。アプリケーション252を実現するアプリケーションプログラムはサービス提供装置10からダウンロードされてもよい。
アプリケーション管理フレームワーク251は、画像形成装置20上で動作するアプリケーション252を管理する。なお、図4に示す例では、ひとつのアプリケーション252が図示されているが、画像形成装置20に複数のアプリケーション252がインストールされていてもよい。また、図4に示す例では、ひとつの既存機能254が図示されているが、画像形成装置20に複数の既存機能254がプリインストールされていてもよい。制御部256は、アプリケーション管理フレームワーク251および既存機能254を制御する機能を有する。
メモリ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のアドレスとサイズの情報を取得してそれをワークメモリとして使用してもよい。
メモリアクセスメソッド253の生成はアプリケーション管理フレームワーク251が行う。これは、アプリケーション管理フレームワーク251が、メモリアクセスメソッド253を介してアクセスされるメモリ255を把握しているためである。よって、アプリケーション252が独自にメモリアクセスメソッドを生成しても、そのメモリアクセスメソッドの参照先は有効なものとはなりえない。よって、アプリケーション252が独自に生成したメモリアクセスメソッドを使った場合、アプリケーション管理フレームワーク251がそれを検知し、メモリ255へのアクセスが行われないように制御する。
図5の(a)はアプリケーション252のプロパティファイルの一例を示す図である。図5の(b)はメモリアクセスメソッド253の生成処理を説明するための図である。メモリアクセスメソッド253は、メモリアクセスメソッド253を取得するためのI/F258を通じて、アプリケーション管理フレームワーク251からアプリケーション252に渡される。メモリアクセスメソッド253を取得したいアプリケーション252は、I/F258を実装している必要がある(I/F258で規定されたメソッドをアプリケーション252が提供する)。アプリケーション管理フレームワーク251は、I/F258が実装されているか否かをチェックし、実装されている場合はそのメソッドをコールする。
この実施形態では、I/F258が実装されているかどうかは、アプリケーションのプロパティファイル内に記述されている。アプリケーション管理フレームワーク251は、アプリケーション252を起動する際、プロパティファイルからアプリケーション252がメモリ255を使用するか否かを判断する。図5の(a)の例で、アプリケーション管理フレームワーク251は、プロパティファイルで“jp.co.xxx.MemoryAcquire”の実装が宣言されていれば、アプリケーション252はメモリ255を使用すると判断する。一方、アプリケーション管理フレームワーク251は、プロパティファイルで“jp.co.xxx.MemoryAcquire”の実装が宣言されていない場合はメモリ255を使用しない、と判断する。
制御部256は、アプリケーション管理フレームワーク251経由でアプリケーション252がI/F258を実装しているか否かの問い合わせを行い、実装している(すなわちアプリケーション252がメモリ255を使用する)と判定された場合、既存機能254によるメモリ255へのアクセスとアプリケーション252によるメモリ255へのアクセスとが競合しないように排他制御を行う。この実施形態では、制御部256は、シーケンシャル起動(先に起動された機能の処理の終了を待って、次の機能の処理を行う)、割り込み起動(先に起動されている処理に割り込んで処理を行う)、などの排他制御を行う。制御部256が行う制御動作について図面を参照しつつ以下に説明する。制御部256とアプリケーション管理フレームワーク251は、例えばOS(Operating System)上で動作するファームウェアである。なお、アプリケーション管理フレームワーク251が制御部256に含まれていてもよい。
2.動作
2−1.動作例1
図6は、制御部256が行うアプリケーション252の初期化処理を示す図である。図6に示す動作において、制御部256は、アプリケーション管理フレームワーク251経由でアプリケーション252にメモリアクセスメソッド253を引き渡す。図6に示すフローは、画像形成装置20のユーザがUI部206を操作するなどしてアプリケーション252が起動されることをトリガとして開始される。
ステップS101において、制御部256は、アプリケーション252がI/F258を実装しているかを判定する。この例で、アプリケーション252がI/F258を実装しているかどうかの判断は、アプリケーション処理単位で行われる初期化処理において行われる。アプリケーション252がI/F258を実装していると判定された場合、制御部256は、ステップS102の処理に進む。一方、アプリケーション252がI/F258を実装していないと判定された場合、制御部256は、ステップS102およびステップS103の処理をスキップし、ステップS104の処理に進む。
ステップS102において、制御部256は、メモリアクセスメソッド253を生成する。ステップS103において、制御部256は、アプリケーションのI/F258をコールする。すなわち、制御部256は、ステップS102で生成したメモリアクセスメソッドをアプリケーション252に引き渡す。ステップS104において、制御部256は、アプリケーション252の初期化処理を終了する。
図7は、アプリケーション252の実行処理の流れを示すフローチャートである。図7に示すフローは、図6のステップS104に示す処理が完了したことをトリガとして開始される。図7に示す例は、アプリケーション252の実行と既存機能254の実行とが重なった場合に、シーケンシャル起動を行う場合の処理フローである。
ステップS201において、制御部256は、アプリケーション252にメモリアクセスメソッド253を引き渡しているかを判定する。メモリアクセスメソッドを引き渡していると判定された場合は、制御部256は、ステップS202の処理に進む。一方、メモリアクセスメソッドを引き渡していないと判定された場合は、制御部256は、ステップS202およびステップS203の処理をスキップし、ステップS204の処理に進む。
ステップS202において、制御部256は、アプリケーション252とメモリ255を共用する既存機能254が動作中であるかを判定する。動作中であると判定された場合、制御部256はステップS203の処理に進む。一方、動作中でないと判定された場合、制御部256は、ステップS203の処理をスキップし、ステップS204の処理に進む。
ステップS203において、制御部256は、既存機能254の処理が終了するまで待機する。既存機能254の処理が終了した場合、制御部256は、ステップS204の処理に進む。
ステップS204において、制御部256は、アプリケーション252の実行を開始する。ステップS205において、制御部256は、アプリケーション252の実行が終了したことを検知すると、後処理などの予め定められた処理を実行することによって、アプリケーション252の実行を終了する。
図8は、既存機能254の実行処理の流れを示すフローチャートである。制御部256は、既存機能254の実行を開始する場合に、図8に示す処理を実行する。図6および図7のフローと、図8のフローとは独立しており、図6および図7のフローと並列して図8のフローが行われる場合もある。また、図6および図7のフローに先立って、図8のフローが行われる場合もある。
ステップS301において、制御部256は、既存機能254がメモリ255を使用するかを判定する。例えばユーザによって指示された処理の内容によっては、既存機能254によって実行される処理がメモリ255を使用しない処理である場合もある。例えば、ユーザ毎の設定情報の変更処理などの場合、メモリ255が用いられることなく既存機能254が実行される場合もある。制御部256は、実行すべき処理の内容に応じてメモリ255が使用されるか否かを判定してもよい。既存機能254がメモリ255を使用すると判定された場合、制御部256はステップS302の処理に進む。一方、既存機能254がメモリ255を使用しないと判定された場合、制御部256はステップS302およびステップS303の処理をスキップし、ステップS304の処理に進む。
ステップS302において、制御部256は、メモリ255を共有するアプリケーション252が動作中であるかを判定する。メモリ255を共有するアプリケーション252が動作中であると判定された場合、制御部256は、ステップS303の処理に進む。一方、メモリ255を共有するアプリケーション252が動作していないと判定された場合、制御部256は、ステップS303の処理をスキップし、ステップS304の処理に進む。
ステップS303において、制御部256は、アプリケーション252の処理が終了するまで待機する。アプリケーション252の処理が終了すると、制御部256は、ステップS304の処理に進む。
ステップS304において、制御部256は、既存機能254の実行を開始する。ステップS305において、制御部256は、既存機能254の実行が終了したことを検知すると、予め定められた後処理などを実行することによって既存機能254を終了する。
上述したようにこの実施形態では、メモリアクセスメソッド253をI/F258を通じてアプリケーション252に引き渡し、アプリケーション252がメモリアクセスメソッド253を用いてメモリ255にアクセスする。このようにアプリケーション252にメモリアクセスメソッド253を引き渡す理由は、アプリケーション252がメモリ255に不正にアクセスすることを防ぐためである。ここで、メモリアクセスメソッド253の生成(その際有効な参照先のセットも含む)をアプリケーション252が行い、メモリ255の使用の有無はプロパティファイルにフラグの形で宣言させる場合について、本実施形態と比較しつつ説明する。
図17は、メモリアクセスメソッド253をアプリケーション252が生成する場合の構成の一例を示す図である。図示のように、メモリ255の使用の宣言をアプリケーション252が正しく宣言していない場合(メモリを使用するにも関わらず使用しないと宣言している場合、など)、既存機能254とアプリケーション252とでメモリ255の競合が発生し、既存機能254およびアプリケーション252が正しく処理を行うことができない。このように、アプリケーション252の自己申告に基づいたメモリ255のアクセス管理では、それが正しく動作するかは申告の真偽に依存せざるを得ない。そのため、この場合、既存機能254に影響を及ぼさないことを保証できない。
それに対しこの実施形態では、メモリアクセスメソッド253とI/F258とを用いているため、プロパティファイルから得られるメモリ使用とアプリケーション252の実際のメモリ使用とが乖離することがない。
また、画像形成装置におけるメモリの空き容量は、有効化しているオプションや画像形成装置に保存しているデータ量(ユーザ情報、保存文書)に依存するため、変動する。そのため、従来の画像形成装置においては、制御部がアプリケーションをインストールする際にメモリ不足と判断してインストールを拒否しても、その後の画像形成装置に対する操作によりインストール可能な状態となる場合がある。逆にインストールされるタイミングにおいてメモリがあってインストールしても、その後メモリ不足となって結局アプリケーションが使用できなくなる可能性もある。結果、アプリケーションがユーザの期待通りに動作しない(インストールできない、インストールしても動作しない)ことが起きてしまう。
一方、画像形成装置の既存機能に割り当てられたメモリ領域は、その機能が動作することを保証する量が確保されるためサイズが大きい場合が多い。特に画像処理機能で使用するメモリ量は、例えば、扱うデータの最大値、最悪値をベースにした場合、比較的大きなメモリ量となっている。この実施形態では、上述したように、そういった既存機能254向けのメモリ255のメモリ領域をアプリケーション252と共有するため、メモリ量が節約される。また、アプリケーション252のために充分なメモリ量を確保することにもつながる。
以上説明したようにこの実施形態では、既存機能254と後から追加されるアプリケーション252とで、既存機能254に予め割り当てられたメモリ255を共用する。これにより、メモリ不足によってアプリケーション252が実行されないという事態の発生が抑制される。また、メモリアクセスメソッド253が生成されることにより、アプリケーション252が不正にメモリ255にアクセスすることが防止される。
また、上述の動作例では、既存機能254とアプリケーション252の動作が重なった場合は、それらをシーケンシャルに処理するため、メモリ領域を共有しても誤動作の懸念がない。また、アプリケーション252の動作は既存機能254側で制御することができないため、本来アクセスしてはならない既存のメモリ領域にもアクセスを試みる場合がある。結果、既存機能254に影響を及ぼす可能性がある。これに対し本実施形態によれば、アプリケーション管理フレームワーク251および/または制御部256が、許可されていない既存メモリ領域のアクセスが行われないように制御するため、既存機能254への影響はない。
2−2.動作例2
次に、この実施形態の他の動作例を説明する。アプリケーション252の実行と既存機能254の実行とは、それぞれの用途によって割り込みがなされたり、どちらかの処理を優先したりすることが想定される。例えば、既存機能254の用途がバックグラウンド処理(例えば、スキャンされた画像データを他の装置に転送する処理、など)であり、アプリケーション252の用途がユーザ操作に関わる処理(例えば、画像処理を伴ったユーザ認証処理)である場合、アプリケーション252の実行を優先することが期待される。逆に、既存機能254が時間課金に関わる処理(例えば、ファクシミリ送信処理、など)であり、アプリケーション252がバックグラウンド処理(例えば、プリントデータのカスタマイズ処理、など)であれば、既存機能を優先すべき場合もある。このように、画像形成装置20が行う処理には、ファクシミリ送信処理であれば課金などに影響する回線接続時間というハードウェア制約(ハードウェアに基づく制約)がある。また、スキャナや用紙へ転写する部分が共用である点(複数人で使うため処理を早くこなしたい)も、ハードウェア制約となる。このように、画像形成装置20が行う処理には一般的な情報処理装置(例えばパソコン)にはないハードウェア制約があるため、処理の用途に応じた優先度が必要となる。この動作例では、制御部256が、アプリケーション252の用途と既存機能254の用途に従って制御を行う。
図9は、この動作例における制御部256が行うアプリケーション252の実行処理の流れを示すフローチャートである。ステップS401において、制御部256は、アプリケーション252にメモリアクセスメソッド253を引き渡しているかを判定する。アプリケーション252にメモリアクセスメソッド253を引き渡していると判定された場合、制御部256はステップS402の処理に進む。一方、メモリアクセスメソッド253を引き渡していないと判定された場合、制御部256はステップS412の処理に進む。
ステップS402において、制御部256は、メモリ255を共有する既存機能254が動作中であるかを判定する。メモリ255を共有する既存機能254が動作していると判定された場合、制御部256はステップS403の処理に進む。一方、メモリ255を共有する既存機能254が動作していないと判定された場合、制御部256はステップS412の処理に進む。
ステップS403において、制御部256は、アプリケーション252の用途を取得する。用途の取得は、アプリケーション252が実装するI/F(メモリ取得I/Fとは別)を制御部256がコールすることにより行われてもよい。また、制御部256は、既存機能の用途を取得する。この用途の取得は、既存機能254が実装するI/Fを制御部256がコールすることにより行われてもよい。
ステップS405において、制御部256は、アプリケーション252の優先度と既存機能254の優先度とを比較し、アプリケーションの優先度のほうが高いかを判定する。この判定は、例えば、用途と優先度との対応関係を記憶するテーブルを制御部256が参照して、アプリケーション252と既存機能254とのそれぞれの用途に対応する優先度を比較することによって行われてもよい。アプリケーション252の優先度が高いと判定された場合、制御部256はステップS406の処理に進む。一方、既存機能254の優先度が高いと判定された場合、制御部256はステップS411の処理に進む。
ステップS406において、制御部256は既存機能の実行を一次停止する。ステップS407において、制御部256はアプリケーション252の実行を開始する。ステップ408において、制御部256はアプリケーション252の実行が完了すると、後処理を行い、アプリケーション252の処理を終了する。ステップS409において、制御部256は既存機能処理を再開する。ステップS410において、制御部256は既存機能254の実行が完了すると、後処理を行うなどして既存機能254の実行を終了する。
ステップS411において、制御部256は既存機能254の処理が完了するまで待機する。既存機能254の処理が完了すると、制御部256はステップS412の処理に進む。ステップS412において、制御部256はアプリケーション252の処理を開始する。ステップS413において、制御部256はアプリケーション252の処理を終了する。
2−3.動作例3
上述の動作例1では、アプリケーション252の処理を開始するタイミングで、制御部256が、メモリ255へのアプリケーション252によるアクセスの有無を確認して制御を行った。一方、アプリケーション252がメモリ255を実際に使用するタイミングまで既存機能の処理を停止させないようにしてもよい。この場合の動作例を図面を参照しつつ説明する。
図10は、この動作例におけるアプリケーション252の実行処理の流れを示すフローチャートである。図10に示す処理は、アプリケーション252がメモリアクセスメソッド253を経由してメモリ255にアクセスすることを契機として開始される。アプリケーション252がメモリ255にアクセスするときはメモリアクセスメソッド253を経由してなされるため、アプリケーション252によるメモリ255へのアクセスはアプリケーション管理フレームワーク251および制御部256により把握される。
ステップS501において、制御部256は、アプリケーション252によるメモリアクセスメソッド253を介したメモリ255へのアクセスを検知する。ステップS502において、制御部256は、メモリ255を共有する既存機能254が動作中であるかを判定する。メモリ255を共有する既存機能254が動作中であると判定された場合、制御部256はステップS503の処理に進む。一方、メモリ255を共有する既存機能254が動作中でないと判定された場合、制御部256はステップS503の処理をスキップし、ステップS505の処理に進む。
ステップS503において、制御部256は既存機能254の処理の終了を待機する。既存機能254の処理が終了すると、制御部256はステップS504の処理に進む。ステップS504において、制御部256はアプリケーション252の処理を再開する。
ステップS505において、制御部256はアプリケーション252の処理を継続する。ステップS506において、制御部256はアプリケーション252の処理を終了する。
図11は、動作例1と動作例3のメモリアクセス制御に関するタイミングチャートである。図11の(a)は動作例1におけるタイミングチャートを示し、(b)は動作例3のタイミングチャートを示す。(b)に示す例では、アプリケーション252と既存機能254とが並列で実行される時間があるため、(a)と比較して処理全体のスループットが高いといえる。
2−4.動作例4
次いで、この実施形態の他の動作例を説明する。この動作例では、アプリケーション252が使用するメモリ量に応じてメモリ255へのアクセス制御の内容が切り替えられる。具体的には、アプリケーション252が使用するメモリ量が少なければ、メモリ255を複数の領域に分け、既存機能254とアプリケーション252とが並列に動作することを許可したり、または一時的に別メモリを用意する、などの制御が行われる。
この動作例では、アプリケーション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に割り当てる制御を行う。
この動作例では、アプリケーション252と既存機能254とを並列して動作させるため、既存機能254はアプリケーション252によって処理が一時停止させられたりすることがない。
2−5.動作例5
上述の動作例1ないし4では、アプリケーション252が実装するI/F258を通じてメモリアクセスメソッド253をアプリケーション252に引き渡した。それに対しこの動作例では、メモリアクセスメソッド取得用のAPIをアプリケーション管理フレームワーク251が提供し、このAPIをアプリケーション252にコールしてもらうことでメモリアクセスメソッド253をアプリケーション252に引き渡す。
図12は、この動作例において画像形成装置20が行うアプリケーション252の初期化処理およびアプリケーション252の実行処理の流れを示すフローチャートである。この例では、アプリケーション252がメモリアクセスメソッド253をメモリ取得APIのコールで取得する。アプリケーション252が取得したメモリアクセスメソッド253経由でメモリ255にアクセスするタイミングで、制御部256によってメモリ255に対するアクセス制御が行われる。ステップS600において、制御部256は、アプリケーション252の初期化処理を開始する。ステップS601において、制御部256は、アプリケーション252の初期化処理を終了する。すなわち、この動作例では、アプリケーション252の初期化処理においてメモリアクセスメソッド253の生成および引き渡しは行われない。そのため、この動作例では、アプリケーション252がメモリ255を使用するかどうかはアプリケーション252の初期化のタイミングでは把握されない。
ステップS602において、アプリケーション252の実行処理が開始される。ステップS603において、メモリアクセスメソッド取得APIがアプリケーション252によりコールされる。ステップS604において、制御部256は、メモリアクセスメソッド253を生成し、生成したメモリアクセスメソッド253をアプリケーション252へ引き渡す。
ステップS605において、アプリケーション252がメモリ255へのアクセスを開始する。ステップS606において、制御部256は、メモリ255を共有する既存機能254が動作しているかを判定する。メモリ255を共有する既存機能が動作していると判定された場合、制御部256はステップS607の処理に進む。一方、メモリ255を共有する既存機能が動作していないと判定された場合、制御部256はステップS609の処理に進む。
ステップS607において、制御部256は、既存機能254の処理が終了するまで待機する。既存機能254の処理が終了すると、制御部256はステップS608の処理に進む。ステップS608において、制御部256は、アプリケーション252の処理を再開する。
ステップS609において、制御部256は、アプリケーション252の処理を継続する。ステップS610において、制御部256はアプリケーション252の処理を終了する。
3.変形例
上述した実施形態は、本発明の一例である。これらの実施形態は、以下のように変形してもよい。また、以下の変形例は、互いに組み合わせてもよい。
3−1.変形例1
上述の実施形態に係る動作例1では、図7および図8に例示したように、制御部256は、メモリ255を先に使用している機能を優先する制御を行った。また、動作例2では、制御部256は、アプリケーション252の優先度および既存機能254の優先度に応じた排他制御を行った。制御部256が行う排他制御の態様は上述したものに限られない。例えば、制御部256は、後から起動された機能を先に処理するように制御してもよい。また、他の例として、例えば、制御部256は、後から起動した機能を中止する制御を行ってもよく、また、先に起動している機能を中止する制御を行ってもよい。また、制御部256は、メモリのアクセスに係る競合が発生した旨をユーザに通知し、どの機能を一次停止(または停止)するかをユーザに選択させてもよい。
また、排他制御の他の例として、例えば、制御部256が、予め定められた単位(例えば、ページ単位)で機能を切り替えて並行して処理を進める制御を行ってもよい。また、制御部256が、複数の優先度のレベル(高/中/低、など)に応じて処理する機能を切り替えてもよい。なお、2つの機能が同時に起動されたときに、上記のようにいずれかの機能を優先する制御を行ってもよい。
3−2.変形例2
上述の実施形態に係る動作例1において、メモリ255へのアクセス競合が発生した場合、制御部256がユーザにその旨を通知する制御を行ってもよい。具体的には、例えば、図7のステップS203において、既存機能の処理の終了を待機している間に、アプリケーション252の処理を一次停止している旨を示す画面をUI部206に表示してもよい。
図13は、UI部206に表示される画面の一例を示す図である。図13の(a)に示されるように、UI部206には、「処理101」の実行が一時停止中である旨を示す画面が表示される。この例では、ユーザは図13の(a)に示される画面を確認することにより、どの処理が一時停止されているかを把握する。図13の(a)に示す画面において、ユーザが詳細ボタンB1を押下する操作を行うと、制御部256は、操作された内容に応じて図13の(b)に示される画面を表示する。図13の(b)に示す例では、一時停止中の処理について、「必要なリソースを待っています」といったメッセージがUI部206に表示される。
3−3.変形例3
上述の実施形態では、既存機能254とアプリケーション252とのメモリ255へのアクセス競合が発生する場合を説明した。上述の実施形態において、既存機能254を、工場出荷の際にプリインストールされている標準アプリケーションによって実現される機能、と定義してもよい。この場合、上記実施形態に係るメモリ共有は、複数のアプリケーション間で行われる。
図14は、この変形例に係る機能構成の一例を示す図である。図14に示す例では、複数のアプリケーション252B、254Bのそれぞれについて、アプリケーション管理フレームワーク251がメモリアクセスメソッド253B、253Cを生成する。
3−4.変形例4
上述の実施形態において、ひとつのアプリケーションがひとつのプロセスを実行してもよく、また、複数のアプリケーションがひとつのプロセスを実行してもよい。
図15は、変形例4に係る機能構成の一例を示す図である。図15の(a)は複数のアプリケーションがそれぞれ一のプロセスを実行する場合の機能構成の一例を示す図である。この例で、アプリケーション管理フレームワーク251はプロセス257毎(すなわちアプリケーション252毎)にメモリアクセスメソッド253を生成する。一方、図15の(b)は複数のアプリケーションが全体で一のプロセスを実行する場合の機能構成の一例を示す図である。この例で、アプリケーション管理フレームワーク251はアプリケーション252毎にメモリアクセスメソッド253を生成する。図15の(c)は一のアプリケーションによって実行される一のプロセスと、複数のアプリケーションによって実行される一のプロセスとでメモリ255を共有する場合のメモリアクセスに係る機能構成の一例を示す図である。この例で、アプリケーション管理フレームワーク251はアプリケーション252毎にメモリアクセスメソッド253を生成する。
図15に示す例においても、複数のプロセス257でメモリ255を共有するため、プロセスが使用するメモリ量を抑えられる。
なお、図15に示す例では、アプリケーション管理フレームワーク251が、アプリケーション252毎にメモリアクセスメソッド253を生成した。メモリアクセスメソッド253はアプリケーション252毎に生成されるに限られない。メモリアクセスメソッド253は、プロセス257毎に生成されてもよい。この場合、複数のアプリケーション252によって一のメモリアクセスメソッド253が共有されてもよい。
3−5.変形例5
画像形成装置20などの情報処理装置において使用可能なメモリ量は、その装置のハードウェア構成や搭載される機能によって異なる。制御部256が、使用可能なメモリ量に応じて、メモリ255を複数のアプリケーション252間で共有するか否かを判定してもよい。この場合、メモリ255のメモリ量が予め定められた閾値以上である場合、複数のアプリケーション間でメモリ255を共有しないと判定してもよい。
図16は、メモリ255が共有されない場合の機能構成の一例を示す図である。図示のように、メモリ255のメモリ量が充分であると判定された場合、制御部256は、アプリケーション252毎にメモリ領域255aを確保する。なお、メモリ255を複数のアプリケーションで共有するか否かの切り替えは、アプリケーション管理フレームワーク251が行ってもよい。
3−6.変形例6
上述の実施形態において、メモリ255は全ての領域が複数のアプリケーションによって共有されてもよく、また、メモリ255の一部の領域が共有されてもよい。
3−7.変形例7
上述の実施形態に係るシステム1は、サービス提供装置10と、画像形成装置20とを備えていた。サービス提供装置10および画像形成装置20の台数はシステム1で示した台数に限られない。例えば、複数のサービス提供装置を備える構成であってもよい。
3−8.変形例8
実施形態では、画像形成装置20の工場出荷の際にプリインストールされている標準アプリケーションが第1アプリケーションとして用いられたが、これに限らず、プラグインが第1アプリケーションとして用いられてもよい。また、実施形態ではプラグインが第2アプリケーションとして用いられたが、こちらも反対に、標準アプリケーションが第2アプリケーションとして用いられてもよい。
3−9.変形例9
画像形成装置20は、電子写真方式以外の方式で画像を形成するプリンタであってもよい。また、画像形成装置20は、白黒の画像を形成するものであってもよいし、カラーの画像を形成するものであってもよい。
3−10.変形例10
上述した実施形態において、画像形成装置20のCPU201により実行されるプログラムは、インターネットなどの通信回線を介してダウンロードされてもよい。また、このプログラムは、磁気記録媒体(磁気テープ、磁気ディスクなど)、光記録媒体(光ディスクなど)、光磁気記録媒体、半導体メモリなどの、コンピュータが読取可能な記録媒体に記録した状態で提供されてもよい。
1…システム、2…ネットワーク、10…サービス提供装置、20…画像形成装置、21…アプリケーション実行手段、22…メモリ、23…制御手段、24…生成手段、25…引渡手段

Claims (9)

  1. アプリケーションプログラムを実行するアプリケーション実行手段と、
    前記アプリケーション実行手段が第1アプリケーションを実行している場合に、当該第1アプリケーションによって使用されるメモリと、
    前記アプリケーション実行手段が前記第1アプリケーションと異なる第2アプリケーションを実行している場合において当該第2アプリケーションが前記メモリへアクセスしようとするときは、前記第1アプリケーションによる当該メモリへのアクセスの状況に応じて当該メモリへのアクセスの排他制御を行う制御手段と
    を有する情報処理装置。
  2. 前記メモリにアクセスするための参照を有するアクセスメソッドを生成する生成手段と、
    前記生成されたアクセスメソッドを前記第2アプリケーションに引き渡す引渡手段と
    を更に有し、
    前記制御手段は、前記第2アプリケーションが前記アクセスメソッドを用いて前記メモリへアクセスする場合、前記第1アプリケーションによる当該メモリへのアクセスの状況に応じて前記メモリへのアクセスの排他制御を行う
    請求項1に記載の情報処理装置。
  3. 前記生成手段は、前記第2アプリケーションが予め定められたインターフェースを実装している場合、前記アクセスメソッドを生成する
    請求項2に記載の情報処理装置。
  4. 前記制御手段は、前記第2アプリケーションが前記メモリへの参照を行ったタイミングで、前記排他制御を行う
    請求項2または3に記載の情報処理装置。
  5. 前記生成手段は、前記第2アプリケーションが起動されたタイミングで前記アクセスメソッドを生成する
    請求項2ないし4のいずれか1項に記載の情報処理装置。
  6. 前記生成手段は、前記メモリの容量および前記第2アプリケーションが使用するメモリ量の少なくともいずれか一方が予め定められた条件を満たす場合、前記メモリのうち前記第1アプリケーションが使用する領域と異なる領域を、生成するアクセスメソッドに割り当てる
    請求項2ないし5のいずれか1項に記載の情報処理装置。
  7. 前記制御手段は、前記アプリケーション実行手段が前記第1アプリケーションおよび前記第2アプリケーションのうち1のアプリケーションを実行している場合において他のアプリケーションが当該メモリへアクセスしようとするときは、当該他のアプリケーションによる当該メモリへのアクセス処理が完了するまで当該1のアプリケーションの実行を待機させる
    請求項1ないし6のいずれか1項に記載の情報処理装置。
  8. 前記制御手段は、前記第2アプリケーションにより実行される処理の属性が予め定められた条件を満たす場合において前記第1アプリケーションが前記メモリにアクセスしているときは、当該第1アプリケーションを一時停止し、当該第2アプリケーションの実行を優先させる
    請求項1ないし7のいずれか1項に記載の情報処理装置。
  9. 前記制御手段は、前記メモリの容量および前記第2アプリケーションが使用するメモリ量の少なくともいずれか一方が予め定められた条件を満たす場合、前記メモリの一部を当該第2アプリケーションに割り当て、当該メモリの他の領域を前記第1アプリケーションが使用するように制御する
    請求項1ないし8のいずれか1項に記載の情報処理装置。
JP2014192433A 2014-09-22 2014-09-22 情報処理装置 Expired - Fee Related JP6464630B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014192433A JP6464630B2 (ja) 2014-09-22 2014-09-22 情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014192433A JP6464630B2 (ja) 2014-09-22 2014-09-22 情報処理装置

Publications (2)

Publication Number Publication Date
JP2016062536A true JP2016062536A (ja) 2016-04-25
JP6464630B2 JP6464630B2 (ja) 2019-02-06

Family

ID=55796124

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014192433A Expired - Fee Related JP6464630B2 (ja) 2014-09-22 2014-09-22 情報処理装置

Country Status (1)

Country Link
JP (1) JP6464630B2 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09190375A (ja) * 1996-01-09 1997-07-22 Toshiba Corp 共有メモリ管理方法
JP2006107197A (ja) * 2004-10-06 2006-04-20 Nec Corp メモリ制御方法およびプログラムならびに端末装置
JP2010102513A (ja) * 2008-10-23 2010-05-06 Ntt Docomo Inc 情報処理装置およびメモリ管理方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09190375A (ja) * 1996-01-09 1997-07-22 Toshiba Corp 共有メモリ管理方法
JP2006107197A (ja) * 2004-10-06 2006-04-20 Nec Corp メモリ制御方法およびプログラムならびに端末装置
JP2010102513A (ja) * 2008-10-23 2010-05-06 Ntt Docomo Inc 情報処理装置およびメモリ管理方法

Also Published As

Publication number Publication date
JP6464630B2 (ja) 2019-02-06

Similar Documents

Publication Publication Date Title
US9400693B2 (en) Controlling application programs based on memory usage of a process and right of application programs to use display unit
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
US10817232B2 (en) Image forming device that manages execution permission without increasing administrative workload required for remote operation
US9734547B2 (en) Information processing device for controlling an order of displaying images in a single layer and information processing method implementing the same
JP6464630B2 (ja) 情報処理装置
US8891103B2 (en) Image forming apparatus which controls the number of jobs that can be executed simultaneously
US9317239B2 (en) Image processing apparatus, server, and image processing system
US11093104B2 (en) Icon display control apparatus that prevents messy display of icons, method of controlling same, and storage medium
CN110290284B (zh) 显示输入装置、图像形成装置、画面显示方法
US10394507B2 (en) Control method for communication terminal and storage medium
US20180146111A1 (en) Image forming apparatus, control method therefor, and storage medium
CN108027752B (zh) 信息处理装置、用于信息处理装置的控制方法、和程序
US10949138B2 (en) Image processing apparatus resolving memory shortage
US10602011B2 (en) Image forming apparatus, information processing method, and program
US20200092427A1 (en) Method for installing application by image formation device, and image formation device using same method
JP2017215656A (ja) 電子機器および処理実行プログラム
JP5538334B2 (ja) 画像形成装置及びジョブ制御プログラム
JP2010198334A (ja) 画像処理装置、及び、プログラム
US10686727B2 (en) Operation device and method for managing use right of communication channel
JP5986132B2 (ja) 電子機器およびメモリー管理方法
JP7230357B2 (ja) 画像処理装置、情報処理装置、情報処理システム、及びプログラム
JP7230375B2 (ja) 情報処理装置およびプログラム
JP2023170564A (ja) 情報処理装置、画像形成装置、情報処理方法および情報処理プログラム
JP6528951B2 (ja) 電子機器および処理実行プログラム

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