JP7155584B2 - 情報処理装置、情報処理方法及び情報処理プログラム - Google Patents

情報処理装置、情報処理方法及び情報処理プログラム Download PDF

Info

Publication number
JP7155584B2
JP7155584B2 JP2018070193A JP2018070193A JP7155584B2 JP 7155584 B2 JP7155584 B2 JP 7155584B2 JP 2018070193 A JP2018070193 A JP 2018070193A JP 2018070193 A JP2018070193 A JP 2018070193A JP 7155584 B2 JP7155584 B2 JP 7155584B2
Authority
JP
Japan
Prior art keywords
memory
application
services
applications
capacity
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.)
Active
Application number
JP2018070193A
Other languages
English (en)
Other versions
JP2019179525A (ja
Inventor
憲彦 首藤
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.)
Ricoh Co Ltd
Original Assignee
Ricoh 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2018070193A priority Critical patent/JP7155584B2/ja
Priority to US16/243,395 priority patent/US20190303206A1/en
Publication of JP2019179525A publication Critical patent/JP2019179525A/ja
Application granted granted Critical
Publication of JP7155584B2 publication Critical patent/JP7155584B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory

Description

本発明は、情報処理装置、情報処理方法及び情報処理プログラムに関する。
機器の主制御を行う一般的なオペレーティングシステム(OS)には、メモリを有効に活用するため、メモリの残量を管理するメモリ管理機能が設けられている。OSは、アプリケーションプログラム(アプリ)又はサービス等により、メモリの残量が少なくなった際に、メモリ管理機能により、OSに不要なアプリ及びサービスのプロセスを終了し、メモリの容量を確保するようになっている。
また、特許文献1(特開2008-186167号公報)には、新たなアプリケーションの実行に必要なメモリ容量が揮発性メモリに残っていないと判定した場合に、不揮発性メモリ内の終了禁止アプリケーション情報を参照し、終了禁止アプリケーション以外の実行中或いは中断中のアプリケーションを終了させる電子機器が開示されている。これにより、複数のアプリケーションの実行中において、新たなアプリケーションをユーザの手を煩わせずに好適に実行可能となっている。
しかし、従来は、OSに必要なアプリ及びサービス以外は強制的にプロセス終了するため、システムに必要なアプリ及びサービスまでプロセス終了され、システム動作に支障を来す問題があった。
本発明は、上述の課題に鑑みてなされたものであり、メモリの残量が少なくなった際に、OS及びシステム動作に支障を来すことなく、メモリの容量を確保可能な情報処理装置、情報処理方法及び情報処理プログラムの提供を目的とする。
上述した課題を解決し、目的を達成するために、本発明は、メモリに対する使用要求があった際に、メモリの容量の残量を検出する残量検出部と、メモリを占有しているアプリケーションプログラム又はサービスを検出する占有アプリ検出部と、残量検出部により、使用要求によりメモリが使用されることで、メモリの残量が所定以下となることが検出された場合に、オペレーションシステム又は情報処理装置が適用されるシステムにより、プロセス終了が禁止されるアプリケーションプログラム又はサービスが記憶されたプロセス終了禁止記憶部を参照し、メモリに記憶されているアプリケーションプログラム又はサービスのうち、プロセス終了禁止記憶部に記憶されていないアプリケーションプログラム又はサービスをプロセス終了することで、メモリ上に使用要求に対応する容量を確保する容量確保部とを有する。プロセス終了禁止記憶部に記憶されているアプリケーションプログラム又はサービスには、システムとして必要となるシステムアプリ、フォアグランドアプリ、特殊アプリ、バックグランドアプリの順に高い優先度が付されている。また、容量確保部は、優先度が低い順に、アプリケーションプログラム又はサービスをプロセス終了させて、メモリ上に使用要求に対応する容量を確保する。
本発明によれば、メモリの残量が少なくなった際に、OS及びシステム動作に支障を来すことなく、メモリの容量を確保できるという効果を奏する。
図1は、実施の形態のMFPのハードウェア構成図である。 図2は、実施の形態の操作端末の機能ブロック図である。 図3は、実施の形態のMFPのホワイトリストに対する登録動作を説明するための図である。 図4は、実施の形態のMFPのメモリ管理機能を説明するためのフローチャートである。 図5は、実施の形態のMFPにおいて、ホワイトリストに認証アプリを設定する動作の流れを示すフローチャートである。 図6は、実施の形態のMFPにおける、OSの起動を含むシステム起動時の動作を説明するためのフローチャートである。 図7は、実施の形態のMFPにおける、優先度リストの作成動作の流れを示すフローチャートである。
以下、情報処理装置、情報処理方法及び情報処理プログラムの適用例となる複合機(MFP:Multifunction Peripheral)の説明をする。より詳細には、複合機に接続された操作端末が情報処理装置に相当する。ただし、情報処理装置は、アプリケーションがインストール可能な装置であれば、これに限定されない。例えば、複合機の本体部、パーソナルコンピュータ、スマートデバイス、電子黒板、プロジェクタなどであっても良い。
(MFPのハードウェア構成)
図1は、実施の形態のMFPのハードウェア構成図である。この図1に示すように、実施の形態のMFPは、操作端末10と本体部15を有する。
(操作端末のハードウェア構成)
操作端末10は、CPU(Central Processing Unit)1、ROM(Read Only Memory)2、RAM(Random Access Memory)3、HDD(Hard Disk Drive)4、ネットワーク通信部5、近距離無線通信部6、USBインタフェース部(USBI/F)7、操作部8、及び、接続インタフェース部(接続I/F)9を有している。
ROM2には、操作端末10の全体の制御を行うプログラムであるOS(Operating System)が記憶されている。HDD4には、RAM3等のメモリ残量が減少した際に、不要なアプリケーションプログラム(アプリ)又はサービスをプロセス終了して記憶領域を確保する容量確保アプリ11が記憶されている。なお、HDD4に代えてフラッシュメモリを用いても良い。CPU1は、この容量確保アプリ11をRAM3に展開して実行する。詳しくは、後述する。なお、RAM3は、メモリの一例である。また、「サービス」は、情報、又は、所定の機能を提供するプログラムである。
また、HDD4には、各アプリ及びサービスに対してそれぞれ付加された優先度を示す優先度リスト12、起動している場合にプロセス終了させないアプリ及びサービスが記憶されたホワイトリスト13、及び、OSに必要なアプリ及びサービスが登録されたリストであるOS優先度リストが記憶されている。なお、詳しくは後述するが、優先度リスト12は、予めHDD4に記憶されているリストではなく、ホワイトリスト13及びOS優先度リスト14に基づいて作成されるリストである。
操作部8は、表示部上にタッチセンサが設けられた、いわゆるタッチパネルとなっており、ユーザの接触操作に基づいて、CPU1に印刷の実行命令又はスキャンの実行命令等を出力する。操作部8は、例えばタッチパネル機能が設けられた有機EL表示装置で構成してもよい。また、これに加えて又はこれに代えて、ハードウェアキー等の操作部やランプ等の表示部を設けてもよい。
また、操作端末10は、本体部15に対して装着及び取り外しが可能となっている。操作端末10は、本体部15に装着されている場合、有線通信により本体部15との間で通信を行い、本体部15から取り外されている場合、無線通信により本体部15との間で通信を行う。また、操作端末10の動作を制御するOSは、例えばAndroid(登録商標)であり、本体部15の動作を制御するOSは、例えばLinux(登録商標)である等のように、操作端末10及び本体部15は、それぞれ異なるOSで動作するようになっている。
なお、以下、操作端末10のOSが、操作端末10にインストールされた容量確保アプリ11に基づいて動作することで、操作端末10において動作中の不要なアプリ等をプロセス終了させて、操作端末10が有するRAM3の容量を確保する例を説明する。しかし、操作端末10のOSが、操作端末10にインストールされた容量確保アプリ11に基づいて動作することで、本体部15において動作中の不要なアプリ等をプロセス終了させて、本体部15が有するRAM36の容量を確保しても良い。また、操作端末10は、スマートデバイス又はタブレット端末等の携帯端末でもよい。
また、本体部15のOSが、本体部15にインストールされた容量確保アプリに基づいて動作することで、操作端末10において動作中の不要なアプリ等をプロセス終了させて、操作端末10が有するRAM3の容量を確保する構成であっても良い。また、容量確保アプリ11が有する後述する機能の全て又は一部を、操作端末10のOSが有していても良い。また、容量確保アプリ11は、メモリ容量の確保以外にも所定の機能を有するアプリケーションであっても良い。いずれの場合も容量確保動作は同様の動作となる。
(本体部のハードウェア構成)
本体部15は、図1に示すように、CPU31、接続インタフェース部(接続I/F)32、スキャナエンジン33、プリンタエンジン34、ROM35、RAM36及びHDD37を有する。操作端末10は、本体部15に対して通信可能に設けられており、例えば有線通信によって接続されるが、これに限定されず、無線通信で接続されても良い。
(操作端末の機能構成)
実施の形態のMFPの操作端末10の場合、CPU1は、容量確保アプリ11を実行することで、図2に示すようにメモリ確保要求取得部21、判断部22、不要アプリ選定部23、OS要否判定部24及びホワイトリスト対象判断部25として機能する。判断部22は、残量検出部の一例であり、例えばRAM3の記憶領域の残量を検出し、RAM3に、アプリケーション等から要求されたメモリ残量が存在するか否かを判断する。
メモリ確保要求取得部21は、新たに起動したアプリケーション等からの、メモリの確保要求を取得する。なお、メモリ確保要求取得部21は起動済みのアプリケーション等が処理を実行する場合などに、起動済みアプリケーションからメモリの確保要求を取得してもよい。不要アプリ選定部23は、RAM3又はHDD4に記憶されている優先度リスト12に基づいて、現在、RAM3に展開されているアプリ又はサービスのうち、不要なアプリ又はサービスを選定する。OS要否判定部24は、現在、RAM3に展開されているアプリ又はサービスのうち、OSにとって不要なアプリ又はサービスを判定する。ホワイトリスト対象判断部25は、不要と判定されたアプリ又はサービスのうち、プロセス終了が禁止又は制限されているアプリ又はサービスを検出する。なお、不要アプリ選定部23は、占有アプリ検出部及び容量確保部の一例である。
なお、この例では、メモリ確保要求取得部21~ホワイトリスト対象判断部25をソフトウェアで実現することとしたが、これらのうち、一部又は全部を、IC(Integrated Circuit)等のハードウェアで実現してもよい。
また、容量確保アプリ11は、インストール可能な形式または実行可能な形式のファイルでCD-ROM、フレキシブルディスク(FD)などのコンピュータ装置で読み取り可能な記録媒体に記録して提供してもよい。また、CD-R、DVD(Digital Versatile Disk)、ブルーレイディスク(登録商標)、半導体メモリなどのコンピュータ装置で読み取り可能な記録媒体に記録して提供してもよい。また、インターネット等のネットワーク経由でインストールするかたちで提供してもよいし、機器内のROM等に予め組み込んで提供してもよい。
(メモリの領域確保動作の概要)
この実施の形態のMFPの場合、CPU1は容量確保アプリ11を実行することで、RAM2の残容量が所定以下となった際に、不要なアプリ及びサービスをプロセス終了して容量を確保する(メモリ管理機能)。不要なアプリ及びサービスは、ホワイトリスト13及びOS優先度リスト14に登録されていないアプリ及びサービスから決定する。ホワイトリスト13には、MFPの製造者側が予めアプリ及びサービスを登録するか、又は、ユーザ設定により登録する。
例えば、図3に示す認証機能26の場合、第1の認証アプリ28及び第2の認証アプリ29のうち、利用する認証アプリがユーザ設定で決まるため、MFPの製造者側では、ホワイトリスト13に予め登録することが困難となる。このため、使用する認証アプリがユーザにより選択された際に、認証管理アプリ27が、ユーザに選択された方の認証アプリを特定するための情報(特定情報)である、例えばアプリ名等をHDD4等の記憶部に登録する。OSは、RAM3の記憶領域が所定以下に減少した際に、HDD4に登録されているアプリ名等の特定情報を読み出し、プロセス終了を禁止するアプリ及びサーピスとしてホワイトリスト13に登録する。
なお、アプリ及びサービスをホワイトリスト13へ登録するタイミングはこれに限定されず、任意のタイミングで実行することができる。例えば、認証管理アプリ27がユーザに選択されたタイミングで、選択された認証管理アプリ27をホワイトリスト13へ登録することができる。
ここで、OSにとっては不要となることからOS優先度リスト14に登録されないアプリ又はサービスであっても、MFPのシステムとしては必要なアプリ及びサービス、つまりホワイトリスト13に登録されるアプリ及びサービスとして、「コントローラ制御を行うアプリ」、「認証制御を行うアプリ」、「SDK(Software Development Kit)」及び「リアルタイム性を必要とするサービス」等が存在する。
「コントローラ制御を行うアプリ」は、MFPの本体部15側の制御を行うアプリである。操作端末10と本体部15との通信を実施して、通信が切れると、操作端末10のCPU1と本体部15のCPU31との間で制御の状態が合わなくなり、エラーが発生する。このため、「コントローラ制御を行うアプリ」は、プロセス終了を禁止する必要がある。
「認証制御を行うアプリ」は、ユーザ認証時にログイン性能が求められるアプリである。「SDK」は、サードベンダへ公開しているSDKの対応として、即時応答動作する必要があるサービスである。「リアルタイム性を必要とするサービス」は、エラー表示等、ユーザへの通知が遅れることでユーザ操作に悪影響があるサービスである。
(メモリ管理機能)
CPU1は、容量確保アプリを実行することで、図4のフローチャートを用いて説明するメモリ管理機能を実現する。なお、メモリ管理を実行する前(システム起動時)に、予めアプリ毎の優先度が設定される。これは、後述する。
まず、ステップS1では、メモリ確保要求取得部21が、RAM2の容量確保要求を取得する。一例ではあるが、「RAM2の容量確保」は、例えば新たにアプリが起動すると、このアプリ側からCPU1に対してRAM2の容量確保の要求が行われる。また、起動済みのアプリが所定の機能を実行するために、更なる容量の確保を要求する際に、RAM2の容量確保の要求が行われる。
次に、ステップS2では、判断部22が、RAM3の記憶領域の残量を検出し、RAM3の記憶領域が枯渇するか否かを判断する。アプリ等から要求されたデータ量分の残量がRAM3に存在する場合(ステップS2:No)、要求のあったアプリのデータをRAM3に展開できるため、そのまま図4のフローチャートの処理を終了する。
これに対して、判断部22は、アプリ等から要求されたデータ量分の残量がRAM3に存在しない場合、又は、アプリのデータをRAM3上に展開した際にRAM3の残量が所定以下の残量となる場合(ステップS2:Yes)、要求のあったアプリのデータをRAM3上に展開困難となる。このため、不要アプリ選定部23は、ステップS3において、現在起動しているアプリ及びサービスのうち、不要となるアプリ及びサービスを、アプリ又はサービスの優先度に基づいて選定する。
より詳しくは、不要アプリ選定部23が、後述する優先度リスト12を参照することにより、プロセス終了させるアプリ及びサービスを選定する(ステップS3)。不要アプリ選定部23は、優先度リスト12に設定されたアプリ及びサービスの内、最も優先度の低いアプリ及びサービスをプロセス終了させる(ステップS4)。以下の表1に優先度リスト12の一例を示す。
Figure 0007155584000001
この表1の例の場合、「-1」の優先度が一番高い優先度を示し、「4」の優先度が一番低い優先度を示している。この表1の例の場合、不要アプリ選定部23は、最も優先度の低いアプリであるバックグランドアプリ(以前に動作していたアプリ)をプロセス終了させる。なお、「4」の優先度が設定されているアプリ又はサービスをプロセス終了させた場合でも、なおもRAM3の容量が枯渇する場合、不要アプリ選定部23は、「3」の優先度3が設定されているアプリ又はサービスを削除する。
表1には、優先度毎にメモリ残量が保持されており、所定のメモリ残量を下回った場合にのみ対応する優先度のアプリ又はサービスを終了することができることを示している。例えば、メモリ残量が250MBを下回った場合は、「4」の優先度のアプリ又はサービスを終了することができる。不要アプリ選択部23は、メモリ残量が250MB以上になるまで「4」の優先度のアプリ又はサービスを選定して終了させる。ただし、「4」の優先度のアプリ又はサービスを全て終了させてもなおメモリ残量が250MBを下回る場合であっても「3」、「2」、「1」、「0」、「-1」の優先度のアプリ又はサービスは終了させない。
また、メモリ残容量が200MBを下回った場合、「4」及び「3」の優先度のアプリ又はサービスを終了する。不要アプリ選択部23は、メモリ残量が200MB以上になるまで、優先度に応じて「4」及び「3」の優先度のアプリ又はサービスを選定して終了させる。ただし、「4」及び「3」の優先度のアプリ又はサービスを全て終了させてもなおメモリ残量が200MBを下回る場合であっても「2」、「1」、「0」、「-1」の優先度のアプリ又はサービスは終了させない。つまり、メモリ残量が表1に記載された値を下回った場合にのみ、該値に対応する優先度が設定されたアプリ又はサービスを終了することが許可される。なお、「-1」の優先度のアプリ又はサービスは、メモリ残量が所定値を下回った場合であっても終了対象として選定されることはない。
(ホワイトリストに対する登録動作)
次に、実施の形態のMFPは、RAM3の記憶領域が枯渇する場合でも、プロセス終了を禁止するアプリ又はサービスが登録されたホワイトリスト13を有している。図5は、このホワイトリスト13に、認証アプリを設定する動作の流れを示すフローチャートである。
まず、ステップS21では、ユーザが操作部8を操作することで、所望の認証機能を設定する。より詳細には、USB(Universal Serial Bus)認証又はBluetooth(登録商標)認証(USBキーやBluetooth(登録商標)キーなどの認証情報を記憶したUSB/Bluetooth(登録商標)デバイスをMFPに接続することで、MFPを使用可能とする認証)など、複数の認証方法のうち利用する認証方法を設定する。なお、認証方法としては、この他、識別情報(ID)又はパスワードを手動入力することによる認証方法、IDカードを用いた認証方法、カメラを用いた顔認証方法、指紋認証などであっても良い。
次に、ステップS22では、CPU1は、認証機能に応じて設定アプリを判断し、OSに対して認証アプリを設定する。すなわち、CPU1は、ステップS21で設定された認証方法に基づいて、この認証方法を実行するアプリを特定する。
次に、ステップS23では、CPU1が、OSに設定したアプリをホワイトリスト13に設定する。なお、複数のホワイトリスト13に対し、それぞれの優先度のアプリ及びサービスを登録しても良い。例えば、最上位の優先度のホワイトリスト、2番目に高い優先度のホワイトリスト、の2つのホワイトリストを設けることができる。また、最上位のホワイトリストに登録されたアプリ及びサービスは、不要アプリ選定部23によるプロセス終了を禁止してもよい。また、2番目に高い優先度のホワイトリストに登録されたアプリ及びサービスは、表1に示す「特殊アプリ」と同等のアプリ優先度として取り扱ってもよい。この場合、2番目に高い優先度のホワイトリストに登録されたアプリ及びサービスも、不要アプリ選定部23によりプロセス終了され難くすることができる。
(プロセス終了対象の選定動作)
次に、表1を用いてプロセス終了対象の選定動作を説明する。なお、表1において、「-1」の優先度が最も高い優先度であり、「4」の優先度が最も低い優先度であることとして説明を進める。しかし、他の優先度の設定でも良い。
優先度は、アプリ及びサービス毎に付加されており、不要アプリ選定部23は、優先度に応じてプロセス終了の対象となるアプリ及びサービスを選定する。アプリ及びサービスは、優先度が低い順にプロセス終了の対象とされ、優先度が高いアプリ及びサービスは、プロセス終了されにくくなっている。また、最高位の優先度である「-1」の優先度のアプリ及びサービスは、プロセス終了が禁止されている。つまり、「-1」の優先度のアプリ/サービスは、RAM3の残量が枯渇した場合でも、プロセス終了されることはない。一方、「0」~「4」の優先度となっているアプリ/サービスは、RAM3の残量が枯渇する場合には、優先度に応じてプロセス終了される。
優先度は、例えばシステムアプリ等、OS又はMFPのシステムとして必要となるアプリ及びサービスに対して「-1」の優先度が付される。フォアグランドアプリ又は特殊アプリに対しては、高めの優先度が付加され、プロセス終了されにくくなっている。バックグランドアプリに対しては、プロセス情報(起動順序又はメモリ使用量等)に応じて、付加される優先度が変更される。すなわち、バックグランドアプリがユーザによって選択された場合又は新たに起動された場合、バックグランドアプリはフォアグランドアプリとなる。この場合、フォアグランドアプリ用の優先度が付加される。また、フォアグランドアプリに移行後に、新たに他のアプリが起動した場合は、フォアグランドアプリからバックグランドアプリへ移行し、再度、バックグランドアプリ用の優先度が付加される。
次に、MFPのシステムに必要なアプリ及びサービスを、「-1」の優先度に設定することでプロセス終了させないようすることができる。また、MFPのシステムに必要なアプリ及びサービスを、「1」の優先度に設定することでプロセス終了されにくいようにすることもできる。このような優先度は、アプリ又はサービスの特性に基づき決定されて付加される。例えば、他のデバイスと接続する機能又は認証機能等の機能がプロセス終了した場合に、システムとして成立しないアプリ及びサービスに対しては「-1」の優先度が付加され、プロセス終了が禁止される。また、リアルタイム性等のように、機能がプロセス終了した場合に、ユーザへの悪影響があるアプリ及びサービスに対しては、「1」の優先度が付加され、プロセス終了されにくいようにする。
(システム起動時の動作)
次に、MFPのOSの起動を含むシステム起動時の動作を、図6のフローチャートを用いて説明する。起動時となると、CPU1は、HDD4からOS優先度リスト14及びホワイトリスト13を取得する(ステップS31)。OS優先度リスト14は、以下の表2に示すように、OSに必要なアプリ及びサービスが登録されたリストである。
Figure 0007155584000002
この表2の例の場合、OSに必要なアプリ又はサービスとして、アプリA,アプリB及びサービスAがOS優先度リスト14に登録されている例である。このOS優先度リスト14に登録されたアプリ/サービスは、プロセス終了が禁止される(プロセス終了されない)。つまり、OS優先度リスト14は、優先度リスト12において、「-1」の優先度が設定されるアプリ又はサービスが登録されているリストである。
また、以下の表3に、ホワイトリスト13の一例を示す。
Figure 0007155584000003
この表3の例は、第2のホワイトリストの優先度よりも第1のホワイトリストの優先度の方が高く、第1のホワイトリストには、アプリC,アプリD及びサービスBが登録されており、第2のホワイトリストには、アプリE及びアプリCが登録されている例である。第1のホワイトリストに登録されたアプリC,アプリD及びサービスBは、プロセス終了されないアプリ又はサービスである。つまり、優先度リスト12において「-1」の優先度が設定されたアプリ又はサービスである。第2のホワイトリストに登録されたアプリ又はサービスは、プロセス終了されにくいアプリ又はサービスである。つまり、優先度リスト12において、「1」の優先度に設定されたアプリ又はサービスである。ホワイトリスト13は、このように優先度毎に複数設けてもよい。
次に、CPU1は、RAM2にOS優先度リスト14及びホワイトリスト13を展開して、優先度リスト12を作成する(ステップS32)。この優先度リスト12の作成動作は、図7のフローチャートを用いて後述する。
優先度リスト12は、例えば以下の表4に示すように、アプリ及びサービス毎に優先度を設定したリストであるが、表1に示したように優先度毎にアプリ及びサービスを登録したリストであっても良い。
Figure 0007155584000004
ここで、優先度リスト12は、CPU1及びOSが参照可能に保持することができる。例えば、優先度リスト12は、RAM2に展開される。また、一例であるが、CPU1は、OS優先度リスト14に登録されているアプリ又はサービスの優先度を例えば「-1」とし、ホワイトリスト13に登録されているアプリ又はサービスの優先度を例えば「-1(又は1)」に設定する。また、作成した優先度リスト12は、所定のタイミングでHDD4に記憶することで次にシステムを起動したときにHDD4に記憶された優先度リスト12を読み出して使用しても良いし、システムを起動する度に優先度リスト12を作成しても良い。
なお、CPU1は、システム起動後にも優先度リスト12を更新する。つまり、システム起動後に、ユーザの操作などによってアプリが起動した場合、又はシステムによってアプリ/サービスが自動的に起動した場合に、アプリと優先度を優先度リスト12に追加して更新する。また、ユーザの操作などによって、アプリがフォアグラウンド又はバックグラウンドへ移行した場合に、該アプリの優先度を変更するように更新する。
(優先度リストの作成動作)
次に、図7のフローチャートを用いて、優先度リスト12の作成動作を説明する。CPU1は、図6のフローチャートのステップS31で取得したOS優先度リスト14に基づいてOSに必要なアプリ又はサービスかを判断し(ステップS41)、OSに必要なアプリ又はサービスの場合(ステップS41:Yes)、優先度を変更する(ステップS43)。
また、CPU1は、図6のフローチャートのステップS31で取得したホワイトリスト13に基づいて、システムに必要なアプリ及びサービスかを判断し(ステップS42)、システムに必要なアプリ及びサービスの場合(ステップS42:Yes)、優先度を変更する(ステップS43)。これにより、ホワイトリスト13には、OSにとっては不要であっても、システムとしては必要なアプリ及びサービスが保持される。
なお、CPU1は、OS優先度リスト14又はホワイトリスト13に登録されていないアプリ/サービスの場合には、優先度は変更しない。この場合、CPU1は、アプリ又はサービスの動作する環境がフォアグラウンドかバックグラウンドかによって優先度を設定する。
(実施の形態の効果)
以上の説明から明らかなように、実施の形態のMFPは、OS及びシステムに必要なアプリ及びサービスを登録することで、OS又はシステムに必要なアプリ又はサービスがプロセス終了される不都合を防止できる。このため、RAM3(メモリ)の残量が少なくなった際に、MFPのOS又はシステムに必要なアプリ又はサービスがプロセス終了されることで、システムに支障を来す不都合を防止したうえで、RAM3(メモリ)の容量を確保できる。
最後に、上述の実施の形態は、一例として提示したものであり、本発明の範囲を限定することは意図していない。この新規な実施の形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことも可能である。このような実施の形態及び実施の形態の変形は、発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
1 CPU
2 ROM
3 RAM
4 HDD
10 操作端末
11 容量確保アプリ
12 優先度リスト
13 ホワイトリスト
14 OS優先度リスト
15 本体部
21 メモリ確保要求取得部
22 判断部
23 不要アプリ選定部
24 OS要否判定部
25 ホワイトリスト対象判断部
26 認証機能
27 認証管理アプリ
28 第1の認証アプリ
29 第2の認証アプリ
特開2008-186167号公報

Claims (4)

  1. メモリに対する使用要求があった際に、前記メモリの容量の残量を検出する残量検出部と、
    前記メモリを占有しているアプリケーションプログラム又はサービスを検出する占有アプリ検出部と、
    前記残量検出部により、前記使用要求により前記メモリが使用されることで、前記メモリの残量が所定以下となることが検出された場合に、オペレーションシステム又は情報処理装置が適用されるシステムにより、プロセス終了が禁止されるアプリケーションプログラム又はサービスが記憶されたプロセス終了禁止記憶部を参照し、前記メモリに記憶されているアプリケーションプログラム又はサービスのうち、前記プロセス終了禁止記憶部に記憶されていないアプリケーションプログラム又はサービスをプロセス終了することで、メモリ上に前記使用要求に対応する容量を確保する容量確保部と、を有し、
    前記プロセス終了禁止記憶部に記憶されている前記アプリケーションプログラム又は前記サービスには、前記システムとして必要となるシステムアプリ、フォアグランドアプリ、特殊アプリ、バックグランドアプリの順に高い優先度が付されており、
    前記容量確保部は、前記優先度が低い順に、前記アプリケーションプログラム又は前記サービスをプロセス終了させて、前記メモリ上に前記使用要求に対応する容量を確保する、情報処理装置。
  2. 前記プロセス終了禁止記憶部に対しては、任意のアプリケーションプログラム又はサービスを記憶可能であること
    を特徴とする請求項1に記載の情報処理装置。
  3. 残量検出部が、メモリに対する使用要求があった際に、前記メモリの容量の残量を検出する残量検出ステップと、
    占有アプリ検出部が、前記メモリを占有しているアプリケーションプログラム又はサービスを検出する占有アプリ検出ステップと、
    前記残量検出部により、前記使用要求により前記メモリが使用されることで、前記メモリの残量が所定以下となることが検出された場合に、容量確保部が、オペレーションシステム又は情報処理装置が適用されるシステムにより、プロセス終了が禁止されるアプリケーションプログラム又はサービスが記憶されたプロセス終了禁止記憶部を参照し、前記メモリに記憶されているアプリケーションプログラム又はサービスのうち、前記プロセス終了禁止記憶部に記憶されていないアプリケーションプログラム又はサービスをプロセス終了することで、メモリ上に前記使用要求に対応する容量を確保する容量確保ステップと、を有し、
    前記プロセス終了禁止記憶部に記憶されている前記アプリケーションプログラム又は前記サービスには、前記システムとして必要となるシステムアプリ、フォアグランドアプリ、特殊アプリ、バックグランドアプリの順に高い優先度が付されており、
    前記容量確保ステップは、前記優先度が低い順に、前記アプリケーションプログラム又は前記サービスをプロセス終了させて、前記メモリ上に前記使用要求に対応する容量を確保する、情報処理方法。
  4. コンピュータを、
    メモリに対する使用要求があった際に、前記メモリの容量の残量を検出する残量検出部と、
    前記メモリを占有しているアプリケーションプログラム又はサービスを検出する占有アプリ検出部と、
    前記残量検出部により、前記使用要求により前記メモリが使用されることで、前記メモリの残量が所定以下となることが検出された場合に、オペレーションシステム又は情報処理装置が適用されるシステムにより、プロセス終了が禁止されるアプリケーションプログラム又はサービスが記憶されたプロセス終了禁止記憶部を参照し、前記メモリに記憶されているアプリケーションプログラム又はサービスのうち、前記プロセス終了禁止記憶部に記憶されていないアプリケーションプログラム又はサービスをプロセス終了することで、メモリ上に前記使用要求に対応する容量を確保する容量確保部として機能させ、
    前記プロセス終了禁止記憶部に記憶されている前記アプリケーションプログラム又は前記サービスには、前記システムとして必要となるシステムアプリ、フォアグランドアプリ、特殊アプリ、バックグランドアプリの順に高い優先度が付されており、
    前記容量確保部は、前記優先度が低い順に、前記アプリケーションプログラム又は前記サービスをプロセス終了させて、前記メモリ上に前記使用要求に対応する容量を確保する、情報処理プログラム。
JP2018070193A 2018-03-30 2018-03-30 情報処理装置、情報処理方法及び情報処理プログラム Active JP7155584B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018070193A JP7155584B2 (ja) 2018-03-30 2018-03-30 情報処理装置、情報処理方法及び情報処理プログラム
US16/243,395 US20190303206A1 (en) 2018-03-30 2019-01-09 Information processing apparatus, information processing method, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018070193A JP7155584B2 (ja) 2018-03-30 2018-03-30 情報処理装置、情報処理方法及び情報処理プログラム

Publications (2)

Publication Number Publication Date
JP2019179525A JP2019179525A (ja) 2019-10-17
JP7155584B2 true JP7155584B2 (ja) 2022-10-19

Family

ID=68054414

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018070193A Active JP7155584B2 (ja) 2018-03-30 2018-03-30 情報処理装置、情報処理方法及び情報処理プログラム

Country Status (2)

Country Link
US (1) US20190303206A1 (ja)
JP (1) JP7155584B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113326106A (zh) * 2020-02-28 2021-08-31 华为技术有限公司 一种应用管理方法及装置
KR20220102056A (ko) * 2021-01-12 2022-07-19 삼성전자주식회사 메모리를 관리하는 전자 장치와 이의 동작 방법
WO2024029717A1 (ko) * 2022-08-05 2024-02-08 삼성전자주식회사 프로세스 관리 장치 및 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012127596A1 (ja) 2011-03-19 2012-09-27 富士通株式会社 端末装置、プロセス管理方法、およびプロセス管理プログラム
JP2015165361A (ja) 2014-03-03 2015-09-17 日本電気株式会社 仮想計算機管理装置、仮想計算機管理方法、及び仮想計算機管理プログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8959515B2 (en) * 2006-01-18 2015-02-17 International Business Machines Corporation Task scheduling policy for limited memory systems
CN102436457B (zh) * 2011-02-18 2014-04-16 奇智软件(北京)有限公司 一种分配浏览器进程的方法及其设备
US9934066B2 (en) * 2014-06-01 2018-04-03 Apple Inc. Priority-based managing and suspension of window processes in a browser application
US10101910B1 (en) * 2015-09-15 2018-10-16 Amazon Technologies, Inc. Adaptive maximum limit for out-of-memory-protected web browser processes on systems using a low memory manager

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012127596A1 (ja) 2011-03-19 2012-09-27 富士通株式会社 端末装置、プロセス管理方法、およびプロセス管理プログラム
JP2015165361A (ja) 2014-03-03 2015-09-17 日本電気株式会社 仮想計算機管理装置、仮想計算機管理方法、及び仮想計算機管理プログラム

Also Published As

Publication number Publication date
JP2019179525A (ja) 2019-10-17
US20190303206A1 (en) 2019-10-03

Similar Documents

Publication Publication Date Title
JP7155584B2 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
JP5294892B2 (ja) 画像形成装置、装置、制御方法、及びプログラム
US9854122B2 (en) Image forming apparatus, data management method, and storage medium
US10437531B2 (en) Control method of information processing device controlling first application program, second application program, and third application program
WO2007020735A1 (ja) 競合解決装置
JP5948855B2 (ja) 機器、プログラム管理方法、プログラム管理プログラム、及び記録媒体
US20150381834A1 (en) Image forming apparatus, method for controlling image forming apparatus, and program
JP5589574B2 (ja) 機器制御装置、機器制御プログラム、記憶媒体、及び機器制御システム
JP6488799B2 (ja) 機器、情報処理システム、情報処理方法及び情報処理プログラム
JP4661574B2 (ja) 組込機器、電子機器、組込機器の制御方法、制御プログラムおよび記録媒体
US9767399B2 (en) Management apparatus which controls limit value of storage volume of setting data according to type of setting data, control method for controlling management apparatus, storage medium storing program, and system
US10764463B2 (en) Image forming apparatus, control method therefor, and storage medium for sending notification of an input operation to at least a user interface
US10438021B2 (en) Device and control method
JP6044248B2 (ja) 情報処理装置、応用プログラム導入装置およびプログラム
US11330129B2 (en) Image forming system, image forming apparatus, and storing medium storing application control program
JP5316130B2 (ja) 情報処理装置、情報処理方法および情報処理プログラム
JP7282507B2 (ja) 情報処理装置、サーバ装置、制御方法、制御プログラム
US10963197B2 (en) Image processing apparatus that installs application modules, control method therefor, and storage medium
JP6702681B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP5884878B2 (ja) 装置、機能利用制御システム、機能利用制御方法、プログラム、及びそのプログラムを記録した記録媒体
JP2017167781A (ja) 情報処理装置及び情報処理方法
JP6930339B2 (ja) プログラムおよび印刷システム
JP2006344022A (ja) 機器及びプログラム起動方法
JP6877876B2 (ja) 印刷装置及びその制御方法、並びにプログラム
US10394506B2 (en) Information processing apparatus, system, control method, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210208

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220331

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220510

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220708

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: 20220906

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220919

R151 Written notification of patent or utility model registration

Ref document number: 7155584

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151