JP4696151B2 - 情報処理装置およびメモリ管理方法 - Google Patents

情報処理装置およびメモリ管理方法 Download PDF

Info

Publication number
JP4696151B2
JP4696151B2 JP2008273452A JP2008273452A JP4696151B2 JP 4696151 B2 JP4696151 B2 JP 4696151B2 JP 2008273452 A JP2008273452 A JP 2008273452A JP 2008273452 A JP2008273452 A JP 2008273452A JP 4696151 B2 JP4696151 B2 JP 4696151B2
Authority
JP
Japan
Prior art keywords
application
memory
memory area
program
java
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
JP2008273452A
Other languages
English (en)
Other versions
JP2010102513A (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.)
NTT Docomo Inc
Original Assignee
NTT Docomo Inc
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 NTT Docomo Inc filed Critical NTT Docomo Inc
Priority to JP2008273452A priority Critical patent/JP4696151B2/ja
Priority to US12/582,884 priority patent/US8234708B2/en
Priority to CN200910205396.2A priority patent/CN101727342B/zh
Priority to EP09173932A priority patent/EP2180404A3/en
Publication of JP2010102513A publication Critical patent/JP2010102513A/ja
Application granted granted Critical
Publication of JP4696151B2 publication Critical patent/JP4696151B2/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/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

本発明は、アプリケーションを実行する情報処理装置およびそのアプリケーションのためのメモリ管理方法に関する。
一般にアプリケーションが起動する場合、メモリ管理部がアプリケーションを展開するためのメモリ領域をメモリ上に確保することが行われている。例えば、特許文献1に記載されている技術においては、メモリ確保部は、アプリケーションからメモリの確保要求を受けると、メモリの要求量確保可能かチェックし、可能であれば確保する処理が記載されている。
特開2006−107197号公報
上述背景技術に記載の発明においては、一つのアプリケーションが起動した場合を想定しているが、実際には、2種類のアプリケーションを同時に実行しようとする場合が考えられる。すなわち、アプリケーションAが起動する場合には、その実行環境であるネイティブソフトAがメモリ上にロードされる。そして、アプリケーションAからの要求によりネイティブソフトBがメモリ上にロードされる。ネイティブソフトBは、ネイティブソフトAが確保しているメモリ領域とは別のメモリ領域を確保するのが一般的である。
しかしながら、メモリの残容量が少ない場合、ネイティブソフトBのための記憶容量を確保することができずアプリケーションBが起動することができない場合があり得る。また、別の方法として、アプリケーションBを起動するために、アプリケーションAを終了させることにより、アプリケーションBのためのメモリ領域を開放する必要があった。
したがって、メモリ容量によっては、2種類のアプリケーションを同時に起動いさせることができず、大変使い勝手の悪いものであった。
そこで、上述の課題を解決するために、本発明は、2種類のアプリケーションを同時に起動するためのメモリ管理処理を実行することができる情報処理装置およびメモリ管理方法を提供することを目的とする。
上述の課題を解決するために、本発明の情報処理装置は、Java実行環境、および当該Java実行環境上で動作するJavaアプリケーションを用いて第1の機能を実行する第1のプログラムと、前記Javaアプリケーション実行中に起動されるアプリケーション、および前記アプリケーション上で動作するとともに、前記Javaアプリケーションに関連して動作するデータを用いて第2の機能を実行する第2のプログラムと、前記第1のプログラムおよび前記第2のプログラムの動作を実行するためのメモリ領域を有するメモリと、前記第1のプログラムまたは前記第2のプログラムが動作するための所定のメモリ領域を前記メモリから確保するメモリ管理手段と、を備え、前記メモリ管理手段は、前記Java実行環境の起動のための第1のメモリ領域を前記メモリに確保し、前記Java実行環境は、前記第1のメモリ領域を利用して、前記Javaアプリケーションを実行し、前記Javaアプリケーションが前記データを起動させると、前記メモリ管理手段は、前記第1のメモリ領域内において前記アプリケーションが動作するためのメモリ領域であって、前記Javaアプリケーションに応じて予め定められたメモリ領域を第2のメモリ領域として確保し、前記Java実行環境は、前記第2のメモリ領域を用いて前記アプリケーションを起動し、前記アプリケーションは、前記第2のメモリ領域を用いて前記データを起動し、前記メモリ管理手段は、前記データの起動に際して、前記第2のメモリ領域が、前記データの起動のための領域に、当該起動に必要な容量の領域を有しているか否かを判断し、起動に必要な容量の領域を有していないと判断した場合には、前記第1のメモリ領域内において、さらに前記第2の領域を増やすようにメモリ領域の確保処理を行うよう構成されている。
また、本発明のメモリ管理方法は、Java実行環境、および当該Java実行環境上で動作するJavaアプリケーションを用いて第1の機能を実行する第1のプログラムおよび前記Javaアプリケーション実行中に起動されるアプリケーション、および前記アプリケーション上で動作するとともに、前記Javaアプリケーションに関連して動作するデータを用いて第2の機能を実行する第2のプログラムの動作を実行するためのメモリ領域を有するメモリ、ならびに前記第1のプログラムおよび前記第2のプログラムが実行するためのメモリ領域を前記メモリから確保するメモリ管理手段を備える情報処理装置のメモリ管理方法において、前記メモリ管理手段が、前記Java実行環境の起動のための第1のメモリ領域を前記メモリに確保するステップと、前記Java実行環境は、前記第1のメモリ領域を利用して、前記Javaアプリケーションを実行するステップと、前記Javaアプリケーションが前記アプリケーションを起動させると、前記メモリ管理手段が、前記第1のメモリ領域内において前記アプリケーションが動作するためのメモリ領域であって、前記Javaアプリケーションに応じて予め定められたメモリ領域を第2のメモリ領域として確保するステップと、前記Java実行環境は、前記第2のメモリ領域を用いて前記アプリケーションを起動するステップと、前記アプリケーションは、前記第2のメモリ領域を用いて前記データを起動するステップと、前記メモリ管理手段は、前記データの起動に際して、前記第2のメモリ領域が、前記データの起動のための領域に、当該起動に必要な容量の領域を有しているか否かを判断し、起動に必要な容量の領域を有していないと判断した場合には、前記第1のメモリ領域内において、さらに前記第2の領域を増やすようにメモリ領域の確保処理を行うステップとを備えることを特徴とする構成を備えている。
この発明によれば、第1のプログラムが動作処理中に、第2のプログラムを起動すると、第2のプログラムのためのメモリ領域を、第1のプログラムのためのメモリ領域から確保することができる。これにより、第1のプログラム、第2のプログラムなどの複数のアプリケーションが起動しようとした場合において、メモリの空き領域が不足していることによりアプリケーションの起動ができないといったことを防止することができ、確実な第2のプログラムの起動を実現することができる。
また、本発明の情報処理装置は、前記第1のプログラムが動作終了すると、前記第2のプログラムの動作を終了させるアプリケーション管理手段をさらに備えることが好ましい。
この発明によれば、第1のプログラムが動作終了すると、第2のプログラムの動作を終了させることができ、メモリ領域を第2のプログラム106のために占有させることがなく、メモリの使用効率を高めることができる。
また、本発明の情報処理装置は、前記第2のプログラムが動作する際には、前記第1のプログラムのセキュリティポリシーを満たしているか否かを判断するセキュリティポリシー判断手段と、を備え、前記セキュリティポリシー判断手段による判断結果にしたがって、セキュリティポリシーを満たしていないと判断された場合には、前記第2のプログラムは、その処理を停止することが好ましい。
この発明によれば、判断結果にしたがって、第2のプログラムがセキュリティポリシーを満たしていないと判断された場合には、第2のプログラムは、その処理を停止することができる。よって、セキュリティポリシーを満たしていないアプリケーションの起動を防止することができる。特に、アプリケーション101の指示によりアプリケーション106が起動する際には、アプリケーション106は、アプリケーション101のセキュリティポリシーを満たして動作することが要求される。この発明によれば、第1のプログラムのセキュリティポリシーに反した第2のプログラムの実行を未然に防ぐことができる。
本発明は、複数のアプリケーションが起動しようとした場合において、メモリの空き領域が不足していることによりいずれかのアプリケーションが起動できないといったことを防止することができ、確実なアプリケーションの起動を実現することができる。また、セキュリティポリシーの異なる複数のアプリケーションを1つのセキュリティポリシーに従って動作することができる。
添付図面を参照しながら本発明の実施形態を説明する。可能な場合には、同一の部分には同一の符号を付して、重複する説明を省略する。
図1は、本実施形態の移動機100の機能構成を示すブロック図である。図1に示されるように、移動機100は、アプリケーション101(アプリケーションA)、ネイティブソフト102(ネイティブソフトA:動作プログラム103、メモリ管理プログラム104、セキュリティポリシー管理プログラム105(セキュリティポリシー判断手段)を含む)、アプリケーション106(アプリケーションB)、ネイティブソフト107(ネイティブソフトB(アプリケーション管理手段):動作プログラム108、メモリ管理プログラム109を含む)、メモリ管理部110(メモリ管理手段)、システムメモリ111を含んで構成されている。以降必要に応じて、これらアプリケーション101、ネイティブソフト102を合わせて第1のプログラム、アプリケーション106およびネイティブソフト107を合わせて第2のプログラムと称する。このように構成されている移動機100は図2に示されるハードウェア構成により実現される。
図2は、移動機100のハードウェア構成図である。図1に示される移動機100は、物理的には、図2に示すように、CPU11、主記憶装置であるRAM12及びROM13、入力デバイスであるキーボード及びマウス等の入力装置14、ディスプレイ等の出力装置15、ネットワークカード等のデータ送受信デバイスである通信モジュール16、ハードディスク等の補助記憶装置17などを含むコンピュータシステムとして構成されている。図1において説明した各機能は、図2に示すCPU11、RAM12等のハードウェア上に所定のコンピュータソフトウェアを読み込ませることにより、CPU11の制御のもとで入力装置14、出力装置15、通信モジュール16を動作させるとともに、RAM12や補助記憶装置17におけるデータの読み出し及び書き込みを行うことで実現される。以下、図1に示す機能ブロックに基づいて、各機能ブロックを説明する。
アプリケーション101は、所定の機能を実行するためのアプリケーションであって、例えば、Java環境で実行されるJavaアプリケーションである。なお、このアプリケーション101は、アプリケーション106などのアプリケーション101により実行されるアプリケーションにおいて必要とされるメモリ領域を初期値として保持している。なお、アプリケーション101とアプリケーション106とは同じソフトウエア会社が作成していることを前提としており、アプリケーション101に必要とするメモリ領域を保持しておくことに意義がある。例えば、上述したとおり、アプリケーション101は、ゲームアプリケーションであり、アプリケーション106は、そのゲーム上で動作するフラッシュデータである場合に、ゲームアプリケーション側にフラッシュデータが必要とするメモリ領域を保持しておくことで、確実なフラッシュデータの動作を実行できる。
そして、後述するメモリ管理プログラム104およびメモリ管理部110は、このアプリケーション101に保持されている初期値(メモリ領域)を用いてシステムメモリ111内においてメモリ領域を確保することができる。
ネイティブソフト102は、アプリケーション101を実行させるための実行環境を提供するプラットフォーム(アプリケーションまたはプログラミング言語)であって、例えば、Java実行環境である。このネイティブソフト102は、動作プログラム103、メモリ管理プログラム104、セキュリティポリシー管理プログラム105を備えている。以下、さらに説明する。
動作プログラム103は、アプリケーション101を動作させるためのプログラムである。
メモリ管理プログラム104は、アプリケーション101のメモリ管理を行う部分であり、具体的には、アプリケーション101が使用しているシステムメモリ111のメモリ領域を管理するプログラムである。すなわち、メモリ管理プログラム104は、アプリケーション101の使用領域の不足を判断し、不足していると判断する場合には、メモリ管理部110に対して、システムメモリ111においてネイティブソフト102のために確保されているメモリ領域から不足分を充当するために新たなメモリ領域を確保するように指示するものである。
セキュリティポリシー管理プログラム105は、ネイティブソフト102のセキュリティポリシーを管理するプログラムであって、具体的には、通信が発生した場合のアクセス許可となるあて先を記憶し、アクセスの可否を判断し、また、ネイティブソフト102がアクセス可能な音楽などを再生する際における音量を記憶しておき、音量を必要以上に大きくしないようにする部分である。
アプリケーション106は、所定の機能を実行するためのアプリケーションであって、例えばアドビ社製のフラッシュプレイヤーにより処理されるデータである。本実施形態では、このデータは、スクリプトで記載され、処理されるものであることからアプリケーションと称している。
ネイティブソフト107は、アプリケーション106を実行させるための実行環境を提供するためのアプリケーションであって、例えば、アドビ社製のフラッシュプレイヤーである。
動作プログラム108は、アプリケーション106(データ)を動作実行させるためのプログラムである。
メモリ管理プログラム109は、アプリケーション106のメモリの使用領域の不足を判断するものであり、不足していると判断されると、メモリ管理プログラム104(メモリ管理部110)に対してシステムメモリ111から必要なメモリ領域を確保するよう指示を出力する部分である。
メモリ管理部110は、ネイティブソフト102からの指示によりネイティブソフト102、ネイティブソフト107、アプリケーション101およびアプリケーション106が動作するためのメモリ領域を、システムメモリ111上に確保する処理を行う部分である。さらに詳しくは、メモリ管理部110は、ネイティブソフト102およびアプリケーション101のためのメモリ領域を確保する処理を行うとともに、ネイティブソフト102からアプリケーション106のためのメモリ領域を確保するよう指示を受けると、すでに確保したアプリケーション101のためのメモリ領域からネイティブソフト107およびアプリケーション106のためのメモリ領域を抽出して確保する処理を行う。
図3に、メモリ管理部110においてメモリ領域の管理のための説明図を示す。図3に示すとおり、このメモリ管理部110は、ネイティブソフト102、ネイティブソフト107、アプリケーション101およびアプリケーション106のために確保している確保領域を特定可能に記憶することによって管理している。図3の例では、ネイティブソフトAであるネイティブソフト102の確保領域は、0000−3000であり、アプリケーション101の確保領域は、0500−1FFFとして管理されている。また、ネイティブソフトBであるネイティブソフト107の確保領域は、2000−3000として管理され、そのネイティブソフト107の実行環境下で実行されるアプリケーション106の確保領域は2500−2AAAで管理されている。
システムメモリ111は、アプリケーション101およびアプリケーション106が動作するためのメモリ領域を有するメモリである。
つぎに、このように構成された移動機100の動作について説明する。図4は、移動機100の動作を示すフローチャートである。
まず、ネイティブソフト102(ネイティブソフトA)およびアプリケーション101(アプリケーションA)を起動するためのシステムメモリ111におけるメモリ領域を確保するよう、例えばアプリケーションの管理を行うOS(Operating System)によりメモリ管理部110に依頼が行われる(S101)。確保されるメモリ領域はネイティブソフトに応じて定められている。
そして、メモリ管理部110によりシステムメモリ111において所定のメモリ領域が確保され(S102)、ネイティブソフト102により、確保したメモリ領域を使用してアプリケーション101が実行される(S103)。
つぎに、アプリケーション101が動作実行中において、そのアプリケーション101の処理によりアプリケーション106を起動させるか否かが、アプリケーション101により判断される(S104)。ここで、アプリケーション106を実行させないと判断されると、アプリケーション101のみが動作実行することになる(S105)。
S104において、アプリケーション101(アプリケーションA)がアプリケーション106(アプリケーションB)を起動させたと判断されると、ネイティブソフト102により、アプリケーション101に応じて予め指定されたメモリ領域、すなわち、アプリケーション101に保持されている初期値として保持されているメモリ領域をシステムメモリ111内に確保するよう、メモリ管理部110に指示が出力される(S106)。そして、メモリ管理部110によりネイティブソフト102に割り当てたメモリ領域から、ネイティブソフト107(ネイティブソフトB)が使用することができるメモリ領域が確保される(S107)。
ネイティブソフト102により、割り当てられたメモリ領域が使用され、ネイティブソフト107が起動され(S108)、確保したメモリ領域を利用してネイティブソフト107によりアプリケーション106の実行が開始される(S109)。
ここでアプリケーション106が実行に必要とするメモリ領域が足りているか否かが、メモリ管理プログラム109により判断される(S110)。
ここでメモリ領域が足りていないと判断されると、ネイティブソフト107により、追加のメモリ領域を確保するようネイティブソフト102に指示が出力される(S111)。そして、ネイティブソフト102によりネイティブソフト107のためのメモリ領域をシステムメモリ111内に確保するように、メモリ管理部110に指示が出力される(S112)。メモリ管理部110では、ネイティブソフト102のために割り当てられたメモリ領域からネイティブソフト107が使用することができるメモリ領域がシステムメモリ111から確保される(S113)。アプリケーション106を実行することができるメモリ領域を確保することができるまでこれらS110からS112が繰り返し行われる。
また、S110において、アプリケーション106を実行するためのメモリ領域が足りていると(S110:YES)、ネイティブソフト107によりアプリケーション106が実行される(S114)。なお、ここではアプリケーション106の実行に際して、セキュリティポリシーのチェックが行われる。この詳細処理については後述する。
つぎに、アプリケーション106が実行処理されると、アプリケーション106の実行状態が判断される(S115)。ここでアプリケーション106が終了であると、ネイティブソフト107により判断されると、ネイティブソフト107から、そのネイティブソフト107のために確保したメモリ領域を開放するよう、ネイティブソフト102に指示が出力される(S116)。
その指示を受けると、ネイティブソフト102では、メモリ管理部110にメモリ領域の開放処理が指示され(S117)、そしてメモリ管理部110によりメモリ領域の開放処理が行われる(S118)。
また、S115において、アプリケーション106の実行が終了していないと、ネイティブソフト107により判断されると(S104:NO)、アプリケーション101の実行が終了しているか否かがネイティブソフト102により判断される(S119)。ここで、アプリケーション101の実行が終了していないと判断されると、S110にもどり、アプリケーション106の実行を継続するとともに、アプリケーション106のメモリ領域の不足、またはアプリケーション106の動作が終了しているかが継続して判断されることになる。
S119において、アプリケーション101の実行が終了すると、ネイティブソフト102からの指示に基づいて、メモリ管理部110により、アプリケーション106のためのメモリ領域の開放処理が行われると、アプリケーション101のためのメモリ領域の開放処理が行われる。具体的には、ネイティブソフト102により、メモリ管理部110に対してメモリ領域の開放処理の指示が出力される(S123)。そして、メモリ管理部110により、アプリケーション101のためのメモリ領域の解消処理が行われる(S124)。
このような処理により、システムメモリ111におけるアプリケーション101のためのメモリ領域からアプリケーション106のためのメモリ領域の確保処理が行われ、システムメモリ111を効率的に使用することができる。
つぎに、S114における詳細処理について説明する。図5は、S114におけるアプリケーション106を実行する際においてネイティブソフト102のセキュリティポリシーに合致した処理を行うときのフローチャートである。
まず、ネイティブソフト107において、アプリケーション106で実行される関数またはコマンドを解釈する(S201)。ここで解釈された関数またはコマンドに基づいてネイティブソフト102で処理させるものであったと、ネイティブソフト107において判断される場合には、ネイティブソフト107によりネイティブソフト102に当該関数またはコマンドに基づいた処理の依頼が行われる(S202)。
処理の依頼を受けたネイティブソフト102において、アプリケーション101を実行する際のセキュリティポリシー、すなわち予め定められたセキュリティポリシーを満たしているか否かが判断される(S203)。ここで、セキュリティポリシーを満たしていると判断されると、ネイティブソフト102により関数またはコマンドで指定された処理が実行される(S204)。ここでは、ネイティブソフト102において処理を実行するもののほか、アプリケーション101に処理内容を通知し、アプリケーション101に処理を実行させることも含む。そして、ネイティブソフト102により処理結果がネイティブソフト107に通知される(S205)。
また、S203において、ネイティブソフト102によりセキュリティポリシーがあっていないと判断されると(S203:NO)、ネイティブソフト107に対して、ネイティブソフト102によりエラー通知がなされる(S206)。
このような処理により、セキュリティポリシーのチェックが行われ、セキュリティポリシーに反した処理がなされることがなくなる。
つぎに、システムメモリ111においてメモリ領域の確保の具体例について説明する。図6は、システムメモリ111におけるメモリ領域の確保の状態遷移を示した模式図である。
図6(a)では、システムメモリ111においてネイティブソフト102のためのメモリ領域が確保され、そのメモリ領域からさらにアプリケーション101のためのメモリ領域が確保されている様子が示されている。その後、図6(b)においては、アプリケーション106が起動されると、ネイティブソフト102によりアプリケーション101のためのメモリ領域が開放されるとともに、アプリケーション106のためのメモリ領域が確保される。そして、図6(c)で示されるように、アプリケーション106が終了すると、そのメモリ領域が開放され、またアプリケーション101のためのメモリ領域が確保される。
つぎに、アプリケーション106の実行の度合いが、アプリケーション101より大きい場合のメモリ領域確保について説明する。図6(d)に示されるように、ネイティブソフト102のメモリ領域において、アプリケーション101のメモリ領域を少なめに確保しておき(例えば、確保した全メモリ領域のうち1/3をアプリケーション101のためのメモリ領域とするなど)、ネイティブソフト107のためのメモリ領域を確実に確保しようとしてもよい。このように、アプリケーション101のためのメモリ領域を少なめに確保しておくことで、ネイティブソフト107のためのメモリ領域を確実に確保し、アプリケーション106の確実な実行を可能とするものである。なお、ネイティブソフト107のために確保されたメモリ領域から、アプリケーション106のためのメモリ領域が確保されることになる。
図6(e)に示されるように、ネイティブソフト107が起動されると、ネイティブソフト102のために確保されたメモリ領域から、ネイティブソフト107のためにより多くのメモリ領域を確保することができる。そして、そのネイティブソフト107のためのメモリ領域からアプリケーション106のためのメモリ領域が確保される。
そして、図6(f)に示されるように、アプリケーション106が終了すると、アプリケーション106のためのメモリ領域およびネイティブソフト107のためのメモリ領域が開放され、開放された後には、アプリケーション101のためのメモリ領域を確保することができる。
逆に、アプリケーション101とアプリケーション106との実行度合いが同等であり、そのつどメモリ領域の使用率が変わる場合には、図6(g)に示されるように、予め定められた少量のメモリ領域をアプリケーション101のために使用させる。そして、図6(h)に示されるように、ネイティブソフト107のためのメモリ領域を、ネイティブソフト102のためのメモリ領域から確保しておくことで、アプリケーション101とアプリケーション106とはバランスよくメモリ領域を確保することができる。このように小領域のメモリ領域を確保しておくことで、アプリケーションの起動および終了のたびに、そのメモリ領域の確保および開放を、小領域単位で行うことができ、図6(i)に示されるように、使用状況に応じてメモリ領域の確保を行うことができる。
つぎに、このように構成された移動機100の作用効果について説明する。移動機100は、Java実行環境を提供するプログラムであるネイティブソフト102およびJavaで構成されたアプリケーション(ゲームアプリケーションなどのJavaアプリケーション)から構成される第1のプログラムと、フラッシュなどを再生するフラッシュプレイヤーなどである第2のプログラムと、を備えている。また、これら第1のプログラム、第2のプログラムを実行するためのメモリ領域を備えるシステムメモリ111を備えている。なお、本実施形態では、第1のプログラム、第2のプログラムは、それぞれネイティブソフトおよびアプリケーションを含んだものとして説明したが、その構成に限るものではなく、一のプログラム(アプリケーションまたはネイティブソフト)が他方のプログラム(アプリケーションまたはネイティブソフト)のためのメモリ領域を確保するような構成であればよく、少なくともプログラムにはネイティブソフトを含んだものとしていれば良い。
そして、アプリケーション101の起動指示がユーザから受けると、ネイティブソフト102(Java実行環境)のためのメモリ領域を、メモリ管理部110がシステムメモリ111から確保し、ネイティブソフト102は、確保したメモリ領域を用いてアプリケーション101を起動させる。
一方、アプリケーション101が実行中に、当該アプリケーション101がアプリケーション106を起動させる処理が行われると、ネイティブソフト102は、アプリケーション101に応じて定められたメモリ領域を、メモリ管理部110に確保させ、メモリ管理部110は、指定されたメモリ領域を確保する。そして、確保されたメモリ領域を用いてネイティブソフト107は、アプリケーション106を起動させる。
このような構成により、アプリケーション106およびネイティブソフト107が起動しようとした場合において、システムメモリ111における空き領域が不足していることにより起動ができないといったことを防止することができ、確実なアプリケーション106の起動を実現することができる。
また、本実施形態の移動機100において、アプリケーション101が動作終了すると、そのネイティブソフト102は、アプリケーション106およびネイティブソフト107の動作を終了させる。これにより、システムメモリ111におけるメモリ領域をアプリケーション106、ネイティブソフト107のために占有させることがなく、メモリの使用効率を高めることができる。
また、本実施形態の移動機100において、アプリケーション101およびネイティブソフト102が動作する際には、アプリケーション101およびネイティブソフト102のセキュリティポリシーを満たしているか否かをセキュリティポリシー管理プログラム105が判断し、アプリケーション106およびネイティブソフト107が動作する際には、アプリケーション101の両方のセキュリティポリシーを満たしているか否かを、セキュリティポリシー管理プログラム105判断する。そして、この判断結果にしたがって、セキュリティポリシーを満たしていないと判断された場合には、ネイティブソフト102は、それらアプリケーション101および106の起動を中止する。
これにより、セキュリティポリシーを満たしていないアプリケーションの起動を防止することができる。特に、本実施形態のように、アプリケーション101の指示によりアプリケーション106が起動する際には、アプリケーション106は、アプリケーション101のセキュリティポリシーを満たして動作することが要求される。本実施形態では、セキュリティポリシーに反したアプリケーションの実行を未然に防ぐことができる。
本実施形態の移動機100の機能構成を示すブロック図である。 移動機100のハードウェア構成図である。 メモリ管理部110におけるメモリ領域の管理のための説明図である。 移動機100の動作を示すフローチャートである。 セキュリティポリシーに合致したアプリケーションの起動処理を行うときの移動機100の動作を示すフローチャートである。 システムメモリ111におけるメモリ領域の確保の状態遷移を示した模式図である。
符号の説明
100…移動機、101…アプリケーション、102…ネイティブソフト、103…動作プログラム、104…メモリ管理プログラム、105…セキュリティポリシー管理プログラム、106…アプリケーション、107…ネイティブソフト、108…動作プログラム、109…メモリ管理プログラム、110…メモリ管理部、111…システムメモリ。

Claims (4)

  1. Java実行環境、および当該Java実行環境上で動作するJavaアプリケーションを用いて第1の機能を実行する第1のプログラムと、
    前記Javaアプリケーション実行中に起動されるアプリケーション、および前記アプリケーション上で動作するとともに、前記Javaアプリケーションに関連して動作するデータを用いて第2の機能を実行する第2のプログラムと、
    前記第1のプログラムおよび前記第2のプログラムの動作を実行するためのメモリ領域を有するメモリと、
    前記第1のプログラムまたは前記第2のプログラムが動作するための所定のメモリ領域を前記メモリから確保するメモリ管理手段と、
    を備え、
    前記メモリ管理手段は、前記Java実行環境の起動のための第1のメモリ領域を前記メモリに確保し、
    前記Java実行環境は、前記第1のメモリ領域を利用して、前記Javaアプリケーションを実行し、
    前記Javaアプリケーションが前記データを起動させると、前記メモリ管理手段は、前記第1のメモリ領域内において前記アプリケーションが動作するためのメモリ領域であって、前記Javaアプリケーションに応じて予め定められたメモリ領域を第2のメモリ領域として確保し、
    前記Java実行環境は、前記第2のメモリ領域を用いて前記アプリケーションを起動し、
    前記アプリケーションは、前記第2のメモリ領域を用いて前記データを起動し、
    前記メモリ管理手段は、前記データの起動に際して、前記第2のメモリ領域が、前記データの起動のための領域に、当該起動に必要な容量の領域を有しているか否かを判断し、起動に必要な容量の領域を有していないと判断した場合には、前記第1のメモリ領域内において、さらに前記第2の領域を増やすようにメモリ領域の確保処理を行うことを特徴とする情報処理装置。
  2. 前記第1のプログラムが動作終了すると、前記第2のプログラムの動作を終了させるアプリケーション管理手段をさらに備えることを特徴とする請求項1に記載の情報処理装置。
  3. 前記第2のプログラムが動作する際には、前記第1のプログラムのセキュリティポリシーを満たしているか否かを判断するセキュリティポリシー判断手段と、を備え、
    前記セキュリティポリシー判断手段による判断結果にしたがって、セキュリティポリシーを満たしていないと判断された場合には、前記第2のプログラムは、その処理を停止することを特徴とする請求項1または2に記載の情報処理装置。
  4. Java実行環境、および当該Java実行環境上で動作するJavaアプリケーションを用いて第1の機能を実行する第1のプログラムおよび前記Javaアプリケーション実行中に起動されるアプリケーション、および前記アプリケーション上で動作するとともに、前記Javaアプリケーションに関連して動作するデータを用いて第2の機能を実行する第2のプログラムの動作を実行するためのメモリ領域を有するメモリ、ならびに前記第1のプログラムおよび前記第2のプログラムが実行するためのメモリ領域を前記メモリから確保するメモリ管理手段を備える情報処理装置のメモリ管理方法において、
    前記メモリ管理手段が、前記Java実行環境の起動のための第1のメモリ領域を前記メモリに確保するステップと、
    前記Java実行環境は、前記第1のメモリ領域を利用して、前記Javaアプリケーションを実行するステップと、
    前記Javaアプリケーションが前記アプリケーションを起動させると、前記メモリ管理手段が、前記第1のメモリ領域内において前記アプリケーションが動作するためのメモリ領域であって、前記Javaアプリケーションに応じて予め定められたメモリ領域を第2のメモリ領域として確保するステップと、
    前記Java実行環境は、前記第2のメモリ領域を用いて前記アプリケーションを起動するステップと、
    前記アプリケーションは、前記第2のメモリ領域を用いて前記データを起動するステップと、
    前記メモリ管理手段は、前記データの起動に際して、前記第2のメモリ領域が、前記データの起動のための領域に、当該起動に必要な容量の領域を有しているか否かを判断し、起動に必要な容量の領域を有していないと判断した場合には、前記第1のメモリ領域内において、さらに前記第2の領域を増やすようにメモリ領域の確保処理を行うステップと、を備えることを特徴とするメモリ管理方法。
JP2008273452A 2008-10-23 2008-10-23 情報処理装置およびメモリ管理方法 Active JP4696151B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2008273452A JP4696151B2 (ja) 2008-10-23 2008-10-23 情報処理装置およびメモリ管理方法
US12/582,884 US8234708B2 (en) 2008-10-23 2009-10-21 Information processing device and memory management method
CN200910205396.2A CN101727342B (zh) 2008-10-23 2009-10-23 信息处理装置以及内存管理方法
EP09173932A EP2180404A3 (en) 2008-10-23 2009-10-23 Information processing device and memory management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008273452A JP4696151B2 (ja) 2008-10-23 2008-10-23 情報処理装置およびメモリ管理方法

Publications (2)

Publication Number Publication Date
JP2010102513A JP2010102513A (ja) 2010-05-06
JP4696151B2 true JP4696151B2 (ja) 2011-06-08

Family

ID=41664574

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008273452A Active JP4696151B2 (ja) 2008-10-23 2008-10-23 情報処理装置およびメモリ管理方法

Country Status (4)

Country Link
US (1) US8234708B2 (ja)
EP (1) EP2180404A3 (ja)
JP (1) JP4696151B2 (ja)
CN (1) CN101727342B (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130103759A1 (en) * 2011-10-21 2013-04-25 Nokia Corporation Method and apparatus for providing data sharing schemes to provision device services
US9171178B1 (en) * 2012-05-14 2015-10-27 Symantec Corporation Systems and methods for optimizing security controls for virtual data centers
CN103024538A (zh) * 2012-11-12 2013-04-03 北京奇虎科技有限公司 内存管理方法及系统
CN103631591B (zh) * 2013-11-29 2016-08-17 中国航空无线电电子研究所 符合民用飞机不同软件等级要求的软件运行控制系统与方法
JP6464630B2 (ja) * 2014-09-22 2019-02-06 富士ゼロックス株式会社 情報処理装置
US9531757B2 (en) * 2015-01-20 2016-12-27 Cisco Technology, Inc. Management of security policies across multiple security products
US9401933B1 (en) 2015-01-20 2016-07-26 Cisco Technology, Inc. Classification of security policies across multiple security products
US9906520B2 (en) 2015-12-02 2018-02-27 International Business Machines Corporation Multi-user authentication

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6359628A (ja) * 1986-08-29 1988-03-15 Fujitsu Ltd 動的領域の獲得方式
JPH0784883A (ja) * 1993-09-17 1995-03-31 Hitachi Ltd 仮想計算機システムのアドレス変換バッファパージ方法
JPH07225694A (ja) * 1994-02-09 1995-08-22 Hitachi Ltd 仮想計算機システム
JPH08305589A (ja) * 1995-05-09 1996-11-22 Fuji Xerox Co Ltd 画像処理装置
JP2000099342A (ja) * 1998-07-28 2000-04-07 Sharp Corp 効率的なメモリ利用が可能なコンピュ―タシステム
JP2004127280A (ja) * 2002-09-13 2004-04-22 Ricoh Co Ltd 画像形成装置およびアプリ起動制御方法
JP2004304725A (ja) * 2003-04-01 2004-10-28 Sharp Corp 携帯電話機
JP2005010838A (ja) * 2003-06-16 2005-01-13 Tsubakimoto Chain Co 情報処理方法、情報処理装置、及びコンピュータプログラム
JP2005284906A (ja) * 2004-03-30 2005-10-13 Kyocera Corp 携帯電話端末装置及びプログラム管理方法並びにそのコンピュータプログラム

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4811216A (en) * 1986-12-22 1989-03-07 American Telephone And Telegraph Company Multiprocessor memory management method
US5974549A (en) * 1997-03-27 1999-10-26 Soliton Ltd. Security monitor
US6938254B1 (en) * 1997-05-06 2005-08-30 Microsoft Corporation Controlling memory usage in systems having limited physical memory
US6735770B1 (en) * 1998-04-27 2004-05-11 Sun Microsystems, Inc. Method and apparatus for high performance access to data in a message store
US7039801B2 (en) * 2000-06-30 2006-05-02 Microsoft Corporation System and method for integrating secure and non-secure software objects
US6625709B2 (en) * 2000-10-30 2003-09-23 Microsoft Corporation Fair share dynamic resource allocation scheme with a safety buffer
US7051340B2 (en) * 2001-11-29 2006-05-23 Hewlett-Packard Development Company, L.P. System and method for isolating applications from each other
WO2004063893A2 (en) * 2003-01-13 2004-07-29 Christopher Spooner System and method for spatial organization
CN1300698C (zh) * 2003-01-17 2007-02-14 华为技术有限公司 一种嵌入式系统覆盖率统计方法
CN1271524C (zh) * 2003-03-19 2006-08-23 华为技术有限公司 一种静态内存管理方法
US7757291B2 (en) * 2003-09-15 2010-07-13 Trigence Corp. Malware containment by application encapsulation
WO2005059750A1 (en) * 2003-12-16 2005-06-30 Real Enterprise Solutions Development B.V. Memory management in a computer system using different swapping criteria
US7484247B2 (en) * 2004-08-07 2009-01-27 Allen F Rozman System and method for protecting a computer system from malicious software
JP2006107197A (ja) 2004-10-06 2006-04-20 Nec Corp メモリ制御方法およびプログラムならびに端末装置
EP1815334A1 (en) 2004-11-11 2007-08-08 Koninklijke Philips Electronics N.V. System as well as method for managing memory space
JP4968770B2 (ja) 2006-06-30 2012-07-04 日本化薬株式会社 エポキシ樹脂、エポキシ樹脂組成物及びその硬化物
US8407704B2 (en) * 2006-09-26 2013-03-26 International Business Machines Corporation Multi-level memory architecture using data structures for storing access rights and performing address translation
US7721064B1 (en) * 2007-07-02 2010-05-18 Oracle America, Inc. Memory allocation in memory constrained devices

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6359628A (ja) * 1986-08-29 1988-03-15 Fujitsu Ltd 動的領域の獲得方式
JPH0784883A (ja) * 1993-09-17 1995-03-31 Hitachi Ltd 仮想計算機システムのアドレス変換バッファパージ方法
JPH07225694A (ja) * 1994-02-09 1995-08-22 Hitachi Ltd 仮想計算機システム
JPH08305589A (ja) * 1995-05-09 1996-11-22 Fuji Xerox Co Ltd 画像処理装置
JP2000099342A (ja) * 1998-07-28 2000-04-07 Sharp Corp 効率的なメモリ利用が可能なコンピュ―タシステム
JP2004127280A (ja) * 2002-09-13 2004-04-22 Ricoh Co Ltd 画像形成装置およびアプリ起動制御方法
JP2004304725A (ja) * 2003-04-01 2004-10-28 Sharp Corp 携帯電話機
JP2005010838A (ja) * 2003-06-16 2005-01-13 Tsubakimoto Chain Co 情報処理方法、情報処理装置、及びコンピュータプログラム
JP2005284906A (ja) * 2004-03-30 2005-10-13 Kyocera Corp 携帯電話端末装置及びプログラム管理方法並びにそのコンピュータプログラム

Also Published As

Publication number Publication date
EP2180404A3 (en) 2012-08-08
US20100107216A1 (en) 2010-04-29
EP2180404A2 (en) 2010-04-28
CN101727342A (zh) 2010-06-09
US8234708B2 (en) 2012-07-31
CN101727342B (zh) 2013-01-09
JP2010102513A (ja) 2010-05-06

Similar Documents

Publication Publication Date Title
JP4696151B2 (ja) 情報処理装置およびメモリ管理方法
US8909913B2 (en) Method for integrating heterogeneous operating systems based on the same system kernel using a shared information area accessible to multiple operating systems
US10394580B2 (en) Dynamic addition and removal of operating system components
TWI539280B (zh) 用於分析未經特定設計以提供記憶體分配資訊之應用程式及擷取記憶體分配資訊的方法、及其電腦系統和電腦可讀儲存媒體
KR101489158B1 (ko) 마스터 부트 레코드가 저장되어 있는 저장매체, 이를포함하는 컴퓨터 시스템 및 그 부팅방법
US8918776B2 (en) Self-adapting software system
KR20110030447A (ko) 가상 머신 및 애플리케이션 수명들의 동기화
KR20130127445A (ko) 어플리케이션 수명 관리
JP2007026094A (ja) 実行装置およびアプリケーションプログラム
JP2010108295A (ja) 移動機及びアプリケーションの切替方法
KR101478619B1 (ko) 가상화 기술을 이용한 데이터 입출력 방법 및 장치
US9286083B2 (en) Satisfying missing dependencies on a running system
CN110737453A (zh) 安全芯片的升级方法、装置及安全芯片
CN113010265A (zh) Pod的调度方法、调度器、存储插件及系统
JP2018517210A (ja) クラウドコンピューティング環境においてクラウドホストを削除する方法、装置、サーバ及び記憶媒体
US20190213016A1 (en) Extensible input stack for processing input device data
US9766948B2 (en) Selecting processor micro-threading mode
WO2019139738A1 (en) Extensible input stack for processing input device data
JP2009266027A (ja) 情報処理装置および制御方法
US20090313429A1 (en) Disk-based operating environment management system and method thereof
JP6166758B2 (ja) 情報処理システム、情報処理方法、および情報処理プログラム
JP2006338311A (ja) 複数のアプリケーションを搭載したデバイスを処理するコンピュータシステム、デバイスおよびコンピュータプログラム
KR102381185B1 (ko) 쿠버네티스에서 저지연 서비스용 전담코어 설정 방법
CN114281517A (zh) 内存资源管理方法、装置、计算机设备和存储介质
CN117501244A (zh) 审计模式下的循环影子堆栈

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100723

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100803

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101004

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110111

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110228

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140304

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4696151

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250