JP2023159710A - Information processing device, installation method, and program - Google Patents

Information processing device, installation method, and program Download PDF

Info

Publication number
JP2023159710A
JP2023159710A JP2022069595A JP2022069595A JP2023159710A JP 2023159710 A JP2023159710 A JP 2023159710A JP 2022069595 A JP2022069595 A JP 2022069595A JP 2022069595 A JP2022069595 A JP 2022069595A JP 2023159710 A JP2023159710 A JP 2023159710A
Authority
JP
Japan
Prior art keywords
application
library
information processing
installation
specific library
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.)
Pending
Application number
JP2022069595A
Other languages
Japanese (ja)
Inventor
学海 畑農
Gakukai Hatano
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.)
Canon Inc
Original Assignee
Canon 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 Canon Inc filed Critical Canon Inc
Priority to JP2022069595A priority Critical patent/JP2023159710A/en
Publication of JP2023159710A publication Critical patent/JP2023159710A/en
Pending legal-status Critical Current

Links

Images

Abstract

To eliminate a failure that occurs when a library is called by an application with a different authority due to fixation of operation of the library by the authority of an application that was called during initialization.SOLUTION: A method of installing an application by an information processing device, includes: determining whether or not an application being installed is calling a specific library; installing the application if the specific library is being called, further copying the specific library to a location dependent on the application, and installing the same; and making settings so that the application preferentially calls the specific library from the installed location.SELECTED DRAWING: Figure 1A

Description

本発明は、組込システムにおいて、拡張のためのアプリケーションをインストールし実行することを可能とするような、情報処理装置とインストール方法およびプログラムに関する。 The present invention relates to an information processing device, an installation method, and a program that enable an embedded system to install and execute an application for expansion.

従来、一つまたは複数のアプリケーションをインストールし実行することを可能とするアプリケーションプラットフォームにおいては、以下のようなものがある。すなわち、インストール媒体にインストール対象であるアプリケーションの実行に必要なライブラリを同梱しておく。インストール先であるシステムに置かれているライブラリと同じ呼び出し規則を備えた第二のライブラリがアプリケーションに適合しないバージョンである場合には、以下の処理を行う。すなわち、同梱されているライブラリをアプリケーションのインストール先に追加で展開し、アプリケーションの動作構成設定ファイルを書き換える。これによりアプリケーションが追加展開された同梱されているライブラリを利用するように設定する。結果としてアプリケーションプラットフォームがアプリケーションを実行する際に、追加展開された同梱されているライブラリを使用することで、アプリケーションの動作に支障がないようにすることができる(例えば、特許文献1参照。) Conventionally, there are the following application platforms that allow one or more applications to be installed and executed. That is, the installation medium includes the libraries necessary for executing the application to be installed. If the second library, which has the same calling convention as the library located on the installed system, is a version that is incompatible with the application, perform the following processing. That is, the included library is additionally expanded to the application installation destination, and the application's operational configuration setting file is rewritten. This will configure the application to use the additionally expanded bundled library. As a result, when the application platform executes the application, by using the additionally expanded bundled library, it is possible to ensure that there is no problem in the operation of the application (see, for example, Patent Document 1).

特許第3613079号公報Patent No. 3613079

このような組込システム向けアプリケーションプラットフォームにおいて、標準ランタイムが備えるライブラリのなかに、呼び出された呼び出し元が持つ権限に基づき動作を決定するものがある。そのようなライブラリのなかには、一度動作を決定すると以後権限を確認せずに動作を実行し続けようとするものが存在する。 In such application platforms for embedded systems, some libraries included in the standard runtime determine operations based on the privileges of the called caller. Among such libraries, there are those that once decide on an action, they continue to execute the action without checking permissions.

このとき、第一のアプリケーションが権限を持っているとしたらライブラリをプラットフォームの稼働開始後最初に呼び出したときに、ライブラリは権限がある前提で動作を決定する。しかるのちに、権限を持っていない第二のアプリケーションがライブラリを呼び出したとすると、ライブラリは第二のアプリケーションの権限を以て動作するため動作を実行することができず動作に支障をきたす。しかし順序が逆であれば問題なく動作することができる。このようなケースではライブラリの動作は最初に呼び出したアプリケーションが持つ権限によって決定される。もしもどのアプリケーションが先に呼び出すかが不定である場合にはプラットフォーム全体の動作に不具合が出たり出なかったりし、不安定になるという課題が存在する。 At this time, if the first application has authority, when the library is called for the first time after the platform starts operating, the library determines its operation on the assumption that it has authority. If a second application that does not have the authority subsequently calls the library, the library operates with the authority of the second application and cannot execute the operation, causing a problem in operation. However, if the order is reversed, it can work without problems. In such cases, the library's behavior is determined by the privileges of the application that originally called it. If it is not clear which application will be called first, the entire platform may malfunction or not, resulting in instability.

特許文献1の技術を用いていても、ライブラリにこのような課題があることを知らないまま開発され、インストール媒体にパッケージングされたアプリケーションでは、この課題を回避することができない。 Even if the technology of Patent Document 1 is used, this problem cannot be avoided in an application that is developed without knowing that the library has such a problem and is packaged in an installation medium.

本発明は上記従来例に鑑みて成されたもので、インストール時の権限に応じて動作するライブラリを、相異なる権限を有するアプリケーションから呼び出しても適切に動作させることを目的とする。 The present invention has been made in view of the above conventional example, and it is an object of the present invention to allow a library that operates depending on the authority at the time of installation to operate appropriately even if it is called from an application having different authority.

上記目的を達成するために本発明は以下の構成を有する、すなわち本発明の一側面によれば、インストール対象のアプリケーションが特定のライブラリを呼び出しているか判定する判定手段と、
前記特定のライブラリが呼びされている場合には、前記アプリケーションをインストールし、さらに前記特定のライブラリを前記アプリケーションに応じた場所に複製してインストールするインストール手段と、
前記アプリケーションが、前記特定のライブラリを前記インストール手段によりインストールされた場所から優先的に呼び出すよう設定する設定手段と、
を有する
ことを特徴とする情報処理装置が提供される。
In order to achieve the above object, the present invention has the following configuration, namely, according to one aspect of the present invention, a determining means for determining whether an application to be installed calls a specific library;
an installation unit that installs the application when the specific library is called, and further copies and installs the specific library in a location corresponding to the application;
a setting means for setting the application to preferentially call the specific library from a location where it was installed by the installation means;
An information processing device is provided that is characterized by having the following.

本発明によれば、インストール時の権限に応じて動作するライブラリを、相異なる権限を有するアプリケーションから呼び出しても適切に動作させることが可能となる。それによりシステムの安定性が向上し、利用者の利便性が向上するという効果が得られる。 According to the present invention, a library that operates according to the authority at the time of installation can be operated appropriately even if it is called from an application having different authority. This has the effect of improving system stability and improving user convenience.

本発明のアプリケーションプラットフォーム(105)の構成を示す図である。1 is a diagram showing the configuration of an application platform (105) of the present invention. 本発明のアプリケーションプラットフォーム(105)の構成を示す図である。1 is a diagram showing the configuration of an application platform (105) of the present invention. 本発明のアプリケーションプラットフォーム(105)の構成を示す図である。1 is a diagram showing the configuration of an application platform (105) of the present invention. 本発明のインストーラ(107)の動作を表すフローチャートである。It is a flowchart showing the operation of the installer (107) of the present invention. 本発明のアプリケーションプラットフォーム(105)の第二の実施例のディレクトリ構成を示す図である。It is a diagram showing the directory structure of a second embodiment of the application platform (105) of the present invention. 本発明のアプリケーションプラットフォーム(105)の第二の実施例のインストーラ(107)の動作を表すフローチャートである。It is a flowchart representing the operation of the installer (107) of the second embodiment of the application platform (105) of the present invention. 本発明のアプリケーションプラットフォーム(105)の第二の実施例のインストーラ(107)の動作を表すフローチャートである。It is a flowchart representing the operation of the installer (107) of the second embodiment of the application platform (105) of the present invention. 本発明のアプリケーションプラットフォーム(105)の第三の実施例のインストーラ(107)の動作を表すフローチャートである。It is a flowchart representing the operation of the installer (107) of the third embodiment of the application platform (105) of the present invention. 本発明のアプリケーションプラットフォーム(105)の第三の実施例のインストーラ(107)の動作を表すフローチャートである。It is a flowchart representing the operation of the installer (107) of the third embodiment of the application platform (105) of the present invention.

以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。 Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. Note that the following embodiments do not limit the claimed invention. Although a plurality of features are described in the embodiments, not all of these features are essential to the invention, and the plurality of features may be arbitrarily combined. Furthermore, in the accompanying drawings, the same or similar components are designated by the same reference numerals, and redundant description will be omitted.

[第一の実施形態]
●画像形成装置の構成
図1A-図1Cは本発明を実施するための第一の実施形態に関する構成を示した図である。図1Aは第一の実施形態における画像形成装置100、コントローラ101およびそのコントローラ上で動作するソフトウェアモジュールの構成を表したブロック図である。画像形成装置100では本第一の実施形態のアプリケーションプラットフォーム105が動作する。コントローラ101は画像形成装置100の動作を制御する。なお画像形成装置100を、その情報処理機能に着目して情報処理装置と呼ぶことがある。
[First embodiment]
●Configuration of Image Forming Apparatus FIGS. 1A to 1C are diagrams showing the configuration of a first embodiment for implementing the present invention. FIG. 1A is a block diagram showing the configuration of an image forming apparatus 100, a controller 101, and a software module operating on the controller in the first embodiment. The application platform 105 of the first embodiment operates in the image forming apparatus 100. A controller 101 controls the operation of the image forming apparatus 100. Note that the image forming apparatus 100 is sometimes referred to as an information processing apparatus, focusing on its information processing function.

図1Bは画像形成装置100のコントローラ101のハードウェア構成を模式的に表した図である。中央処理装置(Central Processing Unit、以下CPU)120は、RAM122等のメモリに格納されたプログラムグラムを実行し、同じくRAM122に格納されたデータを処理する。RAM122はランダム読み書き可能メモリ(Random Access Memory)であり、例えばプログラムやデータを格納する。ROM123は読み出し専用メモリ(Read Only Memory)であり、例えばプログラムやデータを格納する。ROM123は不揮発性のメモリであるが、CPU120により書き換え可能であってもよい。ネットワークインターフェース(インターフェースを以下I/Fと略す)124は、各構成要素を相互に接続するシステムバス121とネットワークとを接続する。ストレージI/F125はシステムバス121とストレージデバイス126とを接続する。ストレージデバイス126は二次記憶を保持する。エンジンI/F127はシステムバス121と画像形成装置100の画像形成のためのエンジン128とを接続するためのエンジンI/Fである。エンジン128は画像形成装置100に備わった画像形成のためのエンジンである。エンジン128の記録方式は例えばインクジェット方式や電子写真方式であるが他の方式であってもよい。 FIG. 1B is a diagram schematically showing the hardware configuration of the controller 101 of the image forming apparatus 100. A central processing unit (Central Processing Unit, hereinafter referred to as CPU) 120 executes a program stored in a memory such as a RAM 122 and processes data also stored in the RAM 122. The RAM 122 is a random access memory and stores, for example, programs and data. The ROM 123 is a read-only memory and stores, for example, programs and data. Although the ROM 123 is a nonvolatile memory, it may be rewritable by the CPU 120. A network interface (hereinafter abbreviated as I/F) 124 connects the system bus 121, which interconnects each component, to a network. Storage I/F 125 connects system bus 121 and storage device 126. Storage device 126 maintains secondary storage. The engine I/F 127 is an engine I/F for connecting the system bus 121 and the image forming engine 128 of the image forming apparatus 100. The engine 128 is an image forming engine provided in the image forming apparatus 100. The recording method of the engine 128 is, for example, an inkjet method or an electrophotographic method, but other methods may be used.

●コントローラのソフトウェア
図1Aに戻ってコントローラ101のソフトウェア構成について説明する。オペレーティングシステム102はコントローラ101のCPU120により実行される情報処理機能を実現するソフトウェアの基盤となるオペレーティングシステムである。ファイルシステム103は、オペレーティングシステム102がCPU120およびストレージI/F125を介してストレージデバイス126の上に構築するファイルシステムである。標準ランタイム104はアプリケーションプラットフォーム105がアプリケーション161,162およびインストーラ107を稼働させる時に使用する標準ランタイムである。標準ランタイムはアプリケーション161,162およびインストーラ107を実行するために標準的に実装されたソフトウェアモジュールであり、標準ランタイムエンジンあるいは標準ランタイムモジュールなどと呼ぶこともある。アプリケーションプラットフォーム105は、アプリケーションがその上にインストールされて実行されるプラットフォームである。具体的には例えばJAVA(登録商標)などがある。標準ライブラリ106は標準ランタイム104に含まれる一つまたは複数のソフトウェアライブラリである。
●Controller Software Returning to FIG. 1A, the software configuration of the controller 101 will be explained. The operating system 102 is an operating system that is the basis of software that implements information processing functions executed by the CPU 120 of the controller 101. The file system 103 is a file system that the operating system 102 constructs on the storage device 126 via the CPU 120 and storage I/F 125. Standard runtime 104 is a standard runtime used by application platform 105 to run applications 161, 162 and installer 107. The standard runtime is a software module that is installed in a standard manner to execute the applications 161, 162 and the installer 107, and is sometimes called a standard runtime engine, standard runtime module, or the like. Application platform 105 is a platform on which applications are installed and run. Specifically, for example, there is JAVA (registered trademark). Standard library 106 is one or more software libraries included in standard runtime 104.

アプリケーション161はアプリケーションプラットフォーム105にインストールされて動作する第一のアプリケーションプログラムである。アプリケーション162は同様の第二のアプリケーションプログラムである。アプリケーションプラットフォーム105には第一のアプリケーション161および第二のアプリケーション162に代表される1つ又は複数のアプリケーションをインストールすることが可能である。なお本実施形態ではアプリケーションについて記載するときに、アプリケーション161からの一連の番号を振るとともに、代表して「16n」の番号表記を用いる。インストーラ107はアプリケーションプラットフォーム105に対してアプリケーション16nをインストールするためのインストーラである。 Application 161 is a first application program installed and operated on application platform 105. Application 162 is a similar second application program. One or more applications represented by a first application 161 and a second application 162 can be installed on the application platform 105. In this embodiment, when describing the applications, a series of numbers starting from the application 161 are assigned, and the number notation "16n" is used as a representative number. The installer 107 is an installer for installing the application 16n on the application platform 105.

●ファイルシステム
図1Cは本実施形態のファイルシステム103上でアプリケーションプラットフォーム105およびアプリケーション16nを構成するファイルの配置について模式的に図示したものである。
●File System FIG. 1C schematically illustrates the arrangement of files constituting the application platform 105 and the application 16n on the file system 103 of this embodiment.

ルート150はファイルシステムのルートである。標準ランタイムパッケージ群151はディレクトリに置かれた標準ランタイムのパッケージ群である。ライブラリ標準パッケージ152は標準ランタイムパッケージ群151に含まれている第一のライブラリの標準パッケージである。第一のライブラリは図中ではライブラリAに相当する。ライブラリ標準パッケージ153は同様に標準ランタイムのパッケージ群151に含まれている第二のライブラリの標準パッケージである。第二のライブラリは図中ではライブラリBに相当する。標準ランタイムパッケージ群格納ディレクトリ154は標準ランタイムパッケージ群151を格納するためのディレクトリである。キャッシュディレクトリ155は、アプリケーション16nをインストールするためのアプリケーションインストールディレクトリ17nを保持するサブディレクトリである。待避ディレクトリ156は、標準ランタイムのパッケージ群151に含まれている第二のライブラリ標準パッケージ153のコピーを待避しておくためのディレクトリである。待避パッケージ157は標準ランタイムパッケージ群151に含まれている第二のライブラリ標準パッケージ153のコピーである。 Root 150 is the root of the file system. The standard runtime package group 151 is a standard runtime package group placed in a directory. The library standard package 152 is a first library standard package included in the standard runtime package group 151. The first library corresponds to library A in the figure. The library standard package 153 is also a second library standard package included in the standard runtime package group 151. The second library corresponds to library B in the figure. The standard runtime package group storage directory 154 is a directory for storing the standard runtime package group 151. The cache directory 155 is a subdirectory that holds an application installation directory 17n for installing the application 16n. The save directory 156 is a directory for saving a copy of the second library standard package 153 included in the standard runtime package group 151. The save package 157 is a copy of the second library standard package 153 included in the standard runtime package group 151.

インストールディレクトリ17nはアプリケーション16nをインストールする場合にアプリケーション16nのファイルを展開する先のディレクトリである。アプリケーション本体ファイル18n-1はアプリケーション16nの本体の格納されたファイルである。アプリケーション用ライブラリパッケージ18n-2はアプリケーション16nのインストール時にアプリケーション16nに同梱されていたライブラリパッケージである。インストーラ107がアプリケーション16nのインストール時にアプリケーション用ライブラリパッケージ18n-2をインストールディレクトリ17nに展開する。場合により、アプリケーション用ライブラリパッケージ18n-2は標準ランタイムパッケージ群151に含まれる第一のライブラリ標準パッケージ152の異なるバージョンであることがありうる。アプリケーション用ライブラリパッケージ18n-3はアプリケーション16nが利用する第二のライブラリの退避パッケージ157をインストーラ107がコピーしたものである。 The installation directory 17n is a directory into which files of the application 16n are expanded when installing the application 16n. The application body file 18n-1 is a file in which the body of the application 16n is stored. The application library package 18n-2 is a library package that was included with the application 16n when the application 16n was installed. The installer 107 expands the application library package 18n-2 into the installation directory 17n when installing the application 16n. In some cases, the application library package 18n-2 may be a different version of the first library standard package 152 included in the standard runtime package group 151. The application library package 18n-3 is a copy of the second library save package 157 used by the application 16n by the installer 107.

構成設定ファイル19nはアプリケーション16nの識別子、バージョン番号やライブラリの参照に関する記述などを記載するファイルである。一例として、アプリケーションプラットフォーム105は、構成設定ファイル19nにアプリケーション16nに関する記載がある場合には、以下のように動作する。すなわち、アプリケーション16nが第一のライブラリに関して標準ランタイムパッケージ群151に含まれる第一のライブラリ標準パッケージ152を読み取らないという動作をする。その代りとしてインストーラ107によって展開された同梱されていたアプリケーション用ライブラリパッケージ18n-2を読み取って利用する。しかし、ここに記載がないライブラリについては標準ランタイムパッケージ群151にライブラリが存在すればそちらを利用する。 The configuration file 19n is a file that describes the identifier of the application 16n, a version number, a description regarding library reference, and the like. As an example, if the configuration file 19n includes a description regarding the application 16n, the application platform 105 operates as follows. That is, the application 16n does not read the first library standard package 152 included in the standard runtime package group 151 regarding the first library. Instead, the included application library package 18n-2 expanded by the installer 107 is read and used. However, for libraries that are not described here, if they exist in the standard runtime package group 151, they will be used.

●インストーラによる処理手順
図2は第一の実施形態のインストーラ107の動作について模式的に表したフローチャートである。フローチャートに書かれている処理は、コントローラ101のRAM122、ROM123、ストレージデバイス126などに記憶されたプログラムを、CPU120によって実行することで実現される。ステップS201から処理を開始する。説明においてはインストーラ107を主体しているが、ハードウェア上の主体はCPU120である。
●Processing procedure by installer FIG. 2 is a flowchart schematically showing the operation of the installer 107 of the first embodiment. The processes described in the flowchart are realized by the CPU 120 executing programs stored in the RAM 122, ROM 123, storage device 126, etc. of the controller 101. The process starts from step S201. In the description, the installer 107 is the main component, but the main component in terms of hardware is the CPU 120.

ステップS202にてまず、インストーラ107はインストール対象となるアプリケーション(対象アプリケーションと呼ぶ)16nのライセンス処理を行う。ここではアプリケーション16nのインストールパッケージが正しくライセンスを付与されていることを確認する。ライセンスの付与方式についてはここでは詳しく論じない。 In step S202, the installer 107 first performs licensing processing for the application (referred to as target application) 16n to be installed. Here, it is confirmed that the installation package of the application 16n is correctly licensed. The licensing method will not be discussed in detail here.

ライセンスの処理が完了したら(たとえばライセンスの付与が確認できたなら)、インストーラ107の処理は続いてステップS203へ進む。ステップS203ではインストーラ107はアプリケーション16nのインストールパッケージから必要なファイルを抽出してインストールディレクトリ17nに展開する。たとえば、インストールパッケージに同梱されているライブラリパッケージが存在するとしたらそれらもこのステップにて展開される。そのようにして展開されたファイルがアプリケーション用ライブラリパッケージ18n-2である。 When the license processing is completed (for example, if the granting of the license has been confirmed), the process of the installer 107 continues to proceed to step S203. In step S203, the installer 107 extracts necessary files from the installation package of the application 16n and expands them into the installation directory 17n. For example, if there are library packages included with the installation package, they will also be expanded in this step. The file expanded in this way is the application library package 18n-2.

ステップS204ではアプリケーション16nが第二のライブラリ153を呼び出しているかどうかを判定する。呼び出している場合には処理はステップS205へ進む。呼び出していない場合にはステップS209へ進む。ステップS205ではアプリケーションのインストールディレクトリにすでに第二のライブラリの標準パッケージ153と同じAPIを提供するパッケージが展開されているかどうかを判定する。ライブラリのローカルパッケージ(すなわちアプリケーション用ライブラリパッケージ)18n-2が存在していない場合には処理はステップS206へ進む。存在している場合には処理はそのままステップS207へ進む。 In step S204, it is determined whether the application 16n calls the second library 153. If it has been called, the process advances to step S205. If it has not been called, the process advances to step S209. In step S205, it is determined whether a package that provides the same API as the standard package 153 of the second library has already been expanded in the application installation directory. If the library local package (ie, application library package) 18n-2 does not exist, the process advances to step S206. If it exists, the process directly advances to step S207.

ステップS206では、インストーラ107は退避ディレクトリ156に置かれている第二のライブラリの待避パッケージ157をアプリケーション16nのインストールディレクトリ17nにコピーする。そして処理はステップS208へ進む。 In step S206, the installer 107 copies the second library save package 157 placed in the save directory 156 to the installation directory 17n of the application 16n. The process then advances to step S208.

ステップS207へ処理が進んだ場合、次にインストーラ107はアプリケーション16nの構成設定ファイル19nに以下の設定があるかどうかを検知する。すなわち、アプリケーション16nの実行時に第二のライブラリの標準パッケージ153よりもインストールディレクトリ17nに置かれたパッケージ18n-3を優先して読み込むための設定である(この設定をローカル優先設定とも呼ぶ)。これがある場合には処理はそのままステップS209へ進み、ない場合にはステップS208へ進む。 When the process proceeds to step S207, the installer 107 next detects whether the configuration setting file 19n of the application 16n has the following settings. That is, this is a setting for loading the package 18n-3 placed in the installation directory 17n with priority over the standard package 153 of the second library when the application 16n is executed (this setting is also called local priority setting). If this exists, the process proceeds directly to step S209; otherwise, the process proceeds to step S208.

ステップS208ではインストーラ107はローカル優先設定をアプリケーション16nの構成設定ファイル19nに追記する。このローカル優先設定を追記すると、後刻アプリケーションプラットフォーム105がアプリケーション16nを起動する際に、第二のライブラリとしてアプリケーション16n専用のアプリケーション用ライブラリパッケージ18n-3を読み込むようになる。設定の追記が終わると処理はステップS209へ進む。
ステップS209にてアプリケーション16nのインストールは完了する。このステップでは特に何もしないが、完了を示す情報を特定の記憶領域に設定してもよい。
In step S208, the installer 107 adds the local priority setting to the configuration setting file 19n of the application 16n. If this local priority setting is added, when the application platform 105 starts the application 16n later, the application library package 18n-3 dedicated to the application 16n will be read as the second library. When the additional setting is completed, the process advances to step S209.
Installation of the application 16n is completed in step S209. Although nothing special is done in this step, information indicating completion may be set in a specific storage area.

続く処理ステップS210にてインストーラ107はまた次の対象アプリケーション16nのインストールを実行する必要があるかを判定する。必要がある場合には処理はステップS202へ戻って次のアプリケーション16nを新たな対象アプリケーションとして同じ処理を実行する。必要がない場合には処理はステップS211へ進んでインストーラ107の処理が終了する。 In the following processing step S210, the installer 107 also determines whether it is necessary to install the next target application 16n. If necessary, the process returns to step S202 to execute the same process using the next application 16n as a new target application. If it is not necessary, the process advances to step S211 and the process of the installer 107 ends.

ここまで見てきたように本実施形態では、第二のライブラリ(ライブラリB)を呼び出すことが判明しているアプリケーション16nすべてに対して、対象アプリケーションごとに対応した場所へと第二のライブラリをインストールする。その場所は本実施形態ではアプリケーションのディレクトリである。そしてその第二のライブラリを読み出すための設定、すなわちローカル優先設定が行われる。これにより、それらのアプリケーション16nはそれぞれがそれぞれのインストールディレクトリ17nのパッケージ18n-3から第二のライブラリを読み込み動作する。そのため、それぞれのアプリケーションは、同じ第二のライブラリながら、互いに異なる実体を呼び出して動作する。それにより、第二のライブラリのそれぞれの複製の初期化時(あるいはインストール時)に、複製ごとにそれぞれ設定が行われて、その設定が固定される。そのため、ひとつの実体を複数のアプリケーションで共有していた場合に起こりうる問題が回避される。その問題とは以下のようなものである。すなわち、異なるアプリケーション16nが異なる権限を持っている場合に、第二のライブラリの実体が同一であると、その実体が初期化されたときに、そのライブラリとともにインストールされたアプリケーションの権限に応じて動作が固定される。その結果、呼び出したアプリケーション16nによっては権限の違いにより固定された動作を実行することができず障害が起こる、という問題である。本実施形態によれば、これら第二のライブラリ153がアプリケーション16nごとに実体を持つため、そのような問題を引き起こさずに済むことになる。 As we have seen so far, in this embodiment, for all applications 16n that are known to call the second library (library B), the second library is installed in a location corresponding to each target application. do. In this embodiment, the location is the application directory. Then, settings for reading the second library, that is, local priority settings are performed. As a result, each of these applications 16n reads the second library from the package 18n-3 in the respective installation directory 17n and operates. Therefore, each application operates by calling different entities from the same second library. As a result, when each copy of the second library is initialized (or installed), settings are made for each copy, and the settings are fixed. This avoids problems that can occur when a single entity is shared by multiple applications. The problem is as follows. In other words, if different applications 16n have different permissions, and the entities of the second library are the same, when the entities are initialized, they will operate according to the permissions of the applications installed with that library. is fixed. As a result, depending on the called application 16n, a fixed operation cannot be executed due to the difference in authority, resulting in a problem. According to the present embodiment, these second libraries 153 have an entity for each application 16n, so such problems do not occur.

これを具体例で説明すると、たとえばJAVA(登録商標)のImageIOパッケージが第二のライブラリパッケージに相当する。ImageIOパッケージは、例えばOSGiでは、起動後に最初に呼び出されたときに、/tmpへの書き込み権限が最初に呼び出したアプリケーションに応じたものとなる。最初に呼び出したアプリケーションが、/tmpへの書き込み権限を持つと、それ以降、ImageIOパッケージは/tmpにファイルを作り、そこにデータを退避しながら処理を進める。これに対して最初に呼び出したアプリケーションが/tmpへの書き込み権限を持たないと、それ以降、ImageIOパッケージは/tmpにアクセスすることなくメモリ上でデータを処理する。前者の場合、/tmpへの書き込み権限を持たないアプリケーションがImageIOを呼び出すとセキュリティ例外が発生してエラーとなり得た。 To explain this using a specific example, for example, the ImageIO package of JAVA (registered trademark) corresponds to the second library package. For example, in OSGi, when the ImageIO package is called for the first time after startup, the permission to write to /tmp is determined according to the first called application. When the first application that is called has permission to write to /tmp, the ImageIO package creates a file in /tmp and continues processing while saving data there. On the other hand, if the application that is first called does not have permission to write to /tmp, the ImageIO package thereafter processes data in memory without accessing /tmp. In the former case, if an application that does not have permission to write to /tmp calls ImageIO, a security exception may occur, resulting in an error.

本実施形態では、ImageIOパッケージを呼び出すアプリケーションをインストールする際には、ImageIOパッケージを複製してそれぞれのアプリケーションごとにインストールする。こうすることで、それぞれのImageIOパッケージの複製は、それを呼び出すアプリケーションごとにインストールされる。これによりアプリケーションの権限とライブラリの権限との不一致が生ずることがなく、その不一致に起因する不具合、たとえばエラーの発生を防止できる。 In this embodiment, when installing an application that calls an ImageIO package, the ImageIO package is copied and installed for each application. This way, a copy of each ImageIO package is installed for each application that calls it. This prevents a mismatch between the application's authority and the library's authority, and prevents problems such as errors caused by the mismatch.

なお本実施形態ではアプリケーションに付与された権限が許容されるか否かを示す二値の場合としているが、より多くの段階や組合せを値とする権限であってもよい。 Note that in this embodiment, the authority given to the application is a binary value indicating whether or not it is permitted, but the authority may have more levels or combinations as values.

[第二の実施形態]
次に本発明の第二の実施形態について図を交えて説明を加える。第二の実施形態におけるソフトウェアモジュールの構成は図1Aに示したものと同様である。また第二の実施形態における画像形成装置100のコントローラ101のハードウェア構成は図1Bに表したものと同様である。
[Second embodiment]
Next, a second embodiment of the present invention will be described with reference to figures. The configuration of the software module in the second embodiment is similar to that shown in FIG. 1A. Further, the hardware configuration of the controller 101 of the image forming apparatus 100 in the second embodiment is the same as that shown in FIG. 1B.

図3は本実施形態のファイルシステム103上でアプリケーションプラットフォーム105およびアプリケーション16nを構成するファイルの配置について模式的に図示したものである。これは実施形態1の図1Cに代わるものである。要素150から157まで、および要素17n、18n-1、18n-2、19nについては図1Cに示したものと同様であるため説明を省略する。 FIG. 3 schematically shows the arrangement of files constituting the application platform 105 and the application 16n on the file system 103 of this embodiment. This is an alternative to FIG. 1C of the first embodiment. Elements 150 to 157 and elements 17n, 18n-1, 18n-2, and 19n are the same as those shown in FIG. 1C, so their explanations will be omitted.

インストールディレクトリ373はアプリケーション3がインストールされるディレクトリである。なお、本実施形態ではアプリケーション用ライブラリパッケージ182-3にあたるライブラリBのパッケージは図1Cのアプリケーション用ライブラリパッケージ182-3の位置には存在しない。 The installation directory 373 is a directory in which the application 3 is installed. Note that in this embodiment, the library B package corresponding to the application library package 182-3 does not exist at the location of the application library package 182-3 in FIG. 1C.

第一のディレクトリ301はライブラリBが配置されたディレクトリである。追加されたライブラリBの第一のパッケージ302は、ライブラリBの配置された第一のディレクトリ301上に置かれたライブラリBの第一のパッケージである。第二のディレクトリ303はライブラリBが配置されたディレクトリである。追加されたライブラリBの第二のパッケージ304は、ライブラリBの配置された第二のディレクトリ303上に置かれたライブラリBの第二のパッケージである。インストールディレクトリ373はアプリケーション3がインストールされるディレクトリである。アプリケーション3の本体ファイル383-1はインストールディレクトリ373に配置される。アプリケーション3の構成設定ファイル393もインストールディレクトリ373に配置される。 A first directory 301 is a directory in which library B is located. The added first package 302 of library B is the first package of library B placed on the first directory 301 where library B is placed. The second directory 303 is the directory where library B is located. The added second package 304 of library B is the second package of library B placed on the second directory 303 in which library B is placed. The installation directory 373 is a directory in which the application 3 is installed. The main file 383-1 of the application 3 is placed in the installation directory 373. The configuration file 393 of the application 3 is also placed in the installation directory 373.

以下では、アプリケーション2はライブラリBを参照しており、かつ特定の権限を持っている。ライブラリBは、その初期化時において、その特定の権限を参照して初期化以降の動作を決定する。その特定の権限とはたとえば特定のディレクトリにアクセスする権限であり、その権限を有するアプリケーション2により初期化が行われたライブラリBは、その特定のディレクトリにアクセスできることを前提として初期化以降の動作を決定する。またアプリケーション3は同様にライブラリBを参照しており、上述した特定の権限を持っていない。その権限を有していないアプリケーション3により初期化が行われたライブラリBは、その特定のディレクトリにアクセスできないことを前提として初期化以降の動作を決定する。ここではアプリケーション2とアプリケーション3のみを図示しているが、権限を持っているアプリケーションも持っていないアプリケーションもさらに複数存在していてもよい。 In the following, application 2 references library B and has specific authority. At the time of initialization, library B refers to its specific authority and determines its subsequent operations. The specific authority is, for example, the authority to access a specific directory, and library B, which was initialized by application 2 that has that authority, performs operations after initialization on the premise that it can access that specific directory. decide. Furthermore, application 3 similarly references library B and does not have the above-mentioned specific authority. Library B, which has been initialized by application 3 that does not have that authority, determines its operations after initialization on the premise that the specific directory cannot be accessed. Although only application 2 and application 3 are illustrated here, there may be a plurality of applications that have authority and applications that do not have authority.

図4A-図4Bは本発明の第二の実施例のインストーラ107の動作について模式的に表したフローチャートである。フローチャートに書かれている処理は、コントローラ101のRAM122、ROM123、ストレージデバイス126などに記憶されたプログラムをCPU120によって実行することで実現される。これは第1実施形態の図2と同様である。ステップS401から処理を開始する。 4A and 4B are flowcharts schematically showing the operation of the installer 107 according to the second embodiment of the present invention. The processes described in the flowchart are realized by the CPU 120 executing programs stored in the RAM 122, ROM 123, storage device 126, etc. of the controller 101. This is similar to FIG. 2 of the first embodiment. The process starts from step S401.

ステップS402にてまずインストーラ107はインストール対象となるアプリケーション16nのライセンス処理を行う。これはステップS202と同様である。ライセンスの処理が完了したらインストーラ107の処理は続いてステップS403へ進む。ステップS403ではインストーラ107はアプリケーション16nのインストールパッケージから必要なファイルがあれば抽出してインストールディレクトリ17nもしくは37nに展開する。 In step S402, the installer 107 first performs licensing processing for the application 16n to be installed. This is similar to step S202. When the license processing is completed, the process of the installer 107 continues to proceed to step S403. In step S403, the installer 107 extracts any necessary files from the installation package of the application 16n and expands them to the installation directory 17n or 37n.

ステップS404ではアプリケーション16nが第二のライブラリ153を呼び出しているかどうかを判定する。呼び出している場合には処理はステップS405へ進み、呼び出していない場合には処理はステップS419へ進む。 In step S404, it is determined whether the application 16n calls the second library 153. If it has been called, the process advances to step S405; if it has not been called, the process advances to step S419.

ステップS405ではアプリケーションのインストールディレクトリ17nもしくは37nにすでに第二のライブラリの標準パッケージ153と同じAPIを提供するパッケージ(ローカルパッケージ)が展開されているか判定する。インストールディレクトリに第二のライブラリのローカルパッケージが存在してない場合には処理はステップS406へ進む。 In step S405, it is determined whether a package (local package) that provides the same API as the standard package 153 of the second library has already been expanded in the application installation directory 17n or 37n. If the local package of the second library does not exist in the installation directory, the process advances to step S406.

ステップS406ではインストーラ107はアプリケーションが、第二のライブラリの初期化時にその動作を決定するときに参照される権限を持っているかどうかを判定する。権限を持っている場合には処理はステップS407へ進み、持っていない場合には処理はステップS412へ進む。 In step S406, the installer 107 determines whether the application has the authority to be referenced when determining the operation of the second library during initialization. If the user has the authority, the process proceeds to step S407; if the user does not have the authority, the process proceeds to step S412.

ステップS407に進むとインストーラ107は権限を持っているアプリケーション向けに、第二のライブラリのパッケージを配置するための第一のディレクトリ301が存在するかを判定する。存在していれば処理はステップS408へ進む。存在しない場合には処理はステップS409へ進む。 Proceeding to step S407, the installer 107 determines whether the first directory 301 for placing the second library package exists for the application for which it has authority. If it exists, the process advances to step S408. If it does not exist, the process advances to step S409.

ステップS408ではインストーラ107は第一のディレクトリ301に、権限を持っているアプリケーション向けの第二のライブラリのパッケージ302が置かれているかどうかを判定する。置かれていなければ処理はステップS410へ進む。すでにパッケージ302が存在していれば処理はステップS411へ進む。 In step S408, the installer 107 determines whether a second library package 302 for an application that has authority is placed in the first directory 301. If it has not been placed, the process advances to step S410. If the package 302 already exists, the process advances to step S411.

ステップS409へ処理が進んだ場合、まず第二のライブラリのパッケージ302を配置するためのディレクトリ301を新規に作成する。権限を持っているアプリケーションから第二のライブラリを利用する場合には、このディレクトリ301に置かれた第二のライブラリが使用される。そして処理はステップS410へ進む。 When the process proceeds to step S409, first, a new directory 301 is created in which to place the package 302 of the second library. When using the second library from an application that has authority, the second library placed in this directory 301 is used. The process then proceeds to step S410.

ステップS410へ処理が進むと次に、インストーラ107は第二のライブラリの待避パッケージ157を第一のディレクトリ301へコピーする。そして処理はステップS411へ進む。なお、ここで、権限を持っているアプリケーション16nのインストールディレクトリが図3におけるインストールディレクトリ172であるものとして話をすすめる。 When the process advances to step S410, the installer 107 copies the second library's save package 157 to the first directory 301. The process then advances to step S411. Here, the discussion will proceed assuming that the installation directory of the application 16n that has authority is the installation directory 172 in FIG. 3.

ステップS411へ進むとインストーラ107はアプリケーション16nの構成設定ファイル192に、権限を持ったアプリケーション向けの第二のライブラリのパッケージ302を優先して読み出すための設定を追記する。そして処理はステップS419へ進む。 Proceeding to step S411, the installer 107 adds a setting for preferentially reading out the second library package 302 for the authorized application to the configuration setting file 192 of the application 16n. The process then advances to step S419.

ステップS406にてアプリケーション16nが権限を持っていないと判定された場合には処理はステップS412へ進む。 If it is determined in step S406 that the application 16n does not have authority, the process advances to step S412.

ステップS412に進むとインストーラ107は権限を持たないアプリケーション向けに第二のライブラリのパッケージを配置するための第二のディレクトリ303が存在するかを判定する。存在していれば処理はステップS413へ進む。存在しない場合には処理はステップS414へ進む。 Proceeding to step S412, the installer 107 determines whether a second directory 303 exists for arranging a second library package for applications without authority. If it exists, the process advances to step S413. If it does not exist, the process advances to step S414.

ステップS413ではインストーラ107は第二のディレクトリ303に、権限を持たないアプリケーション向けの第二のライブラリのパッケージ304が置かれているかどうかを判定する。置かれていなければ処理はステップS415へ進む。すでにパッケージ302が存在していれば処理はステップS416へ進む。 In step S413, the installer 107 determines whether a second library package 304 for applications without authority is placed in the second directory 303. If it has not been placed, the process advances to step S415. If the package 302 already exists, the process advances to step S416.

ステップS414へ処理が進んだ場合、まず第二のライブラリのパッケージ304を配置するためのディレクトリ303を新規に作成する。権限を持っていないアプリケーションから第二のライブラリを利用する場合には、このディレクトリ303に置かれた第二のライブラリが使用される。そして処理はステップS415へ進む。 When the process advances to step S414, first a new directory 303 is created in which to place the package 304 of the second library. When using the second library from an application that does not have authority, the second library placed in this directory 303 is used. The process then advances to step S415.

ステップS415へ処理が進むと次に、インストーラ107は第二のライブラリの待避パッケージ157を第一のディレクトリ303へコピーする。そして処理はステップS416へ進む。なお、ここで、権限を持たないアプリケーション16nのインストールディレクトリが図3におけるディレクトリ373であるものとして話をすすめる。 When the process advances to step S415, the installer 107 copies the save package 157 of the second library to the first directory 303. The process then advances to step S416. Here, the discussion will proceed assuming that the installation directory of the application 16n without authority is the directory 373 in FIG. 3.

ステップS416へ進むとインストーラ107はアプリケーション16nの構成設定ファイル372に、権限を持ったアプリケーション向けの第二のライブラリのパッケージ304を優先して読み出すための設定を追記する。そして処理はステップS419へ進む。 Proceeding to step S416, the installer 107 adds a setting for preferentially reading out the second library package 304 for the authorized application to the configuration setting file 372 of the application 16n. The process then advances to step S419.

ステップS405にてインストールディレクトリ17nもしくは37nに第二のライブラリのパッケージが展開されていた場合にはインストーラ107は次に、ステップS417へ進む。 If the second library package has been expanded in the installation directory 17n or 37n in step S405, the installer 107 then proceeds to step S417.

ステップS417にてインストーラ107はアプリケーションの構成設定ファイル19nもしくは39nにインストールディレクトリ17nもしくは37nに置かれたパッケージを優先して読み出す設定が書かれているかを判定する。書かれている場合には処理はステップS419へ進む。書かれていない場合にはステップS418へ進む。 In step S417, the installer 107 determines whether a setting is written in the configuration setting file 19n or 39n of the application to give priority to reading packages placed in the installation directory 17n or 37n. If it has been written, the process advances to step S419. If it has not been written, the process advances to step S418.

ステップS418ではインストールディレクトリ17nもしくは37nに置かれたパッケージを優先して読み出すための設定をアプリケーションの構成設定ファイル19nもしくは39nに追加し、ステップS419へ進む。ステップS419にてアプリケーションインストール処理を完了させる。そして処理はステップS420へ進む。 In step S418, settings for preferentially reading packages placed in the installation directory 17n or 37n are added to the application configuration file 19n or 39n, and the process advances to step S419. The application installation process is completed in step S419. The process then proceeds to step S420.

ステップS420にてインストーラ107は次のアプリケーション16nのインストール処理を実行する必要があるかを判定する。必要がある場合にはステップS402へ戻って次のアプリケーションを新たな対象アプリケーションとして処理を続行する。必要ない場合にはステップS421へ進んで処理全体を完了する。 In step S420, the installer 107 determines whether it is necessary to install the next application 16n. If necessary, the process returns to step S402 to continue processing with the next application as a new target application. If it is not necessary, the process advances to step S421 and the entire process is completed.

ここまで見てきたように本実施形態では、第二のライブラリを呼び出すことが判明しているアプリケーション16nに対して以下の設定を行うことができる。すなわち、権限を持っているアプリケーションと持っていないアプリケーションとで異なる第二のライブラリのパッケージ302および304を、それぞれの権限ごとに対応した場所へとインストールする。その場所は本実施形態ではアプリケーションの権限ごとに予め定められたディレクトリである。そしてその第二のライブラリを呼び出すよう設定を行うことにより、第二のライブラリは権限を持っているアプリケーション用に初期化されたものと持たないもの用に分離される。そしてそれぞれが別々に初期化されて動作する。すなわち、アプリケーションは、その動作時に、当該アプリケーションが初期化した第二のライブラリの複製を利用する。そのため、それぞれの動作が権限のあるなしに従って固定されたとしても、常に同じ権限を持つアプリケーションからしか呼ばれないため権限により不具合を生じることがない。さらに、第一の実施形態ではアプリケーション16nごとにそのインストールディレクトリ17nまたは37n上に第二のライブラリのパッケージ18n-3が置かれそれを利用する。この場合、第二のライブラリを利用するアプリケーションの数だけパッケージが開かれて動作することになるため、アプリケーションの数が増加すると、有限の資源であるファイルディスクリプタを大量に消費する恐れがある。しかしながら第二の実施形態によれば、開かれるパッケージは権限を持っているアプリケーション用と持たないアプリケーション用だけになるため、第一実施形態の効果に加えて、ファイルディスクリプタの消費を抑えることができるという利点がある。 As seen so far, in this embodiment, the following settings can be made for the application 16n that is known to call the second library. That is, packages 302 and 304 of the second library, which are different for applications that have authority and applications that do not have authority, are installed in locations corresponding to each authority. In this embodiment, the location is a directory determined in advance for each application authority. By configuring the second library to be called, the second library is separated into those that are initialized for applications that have permissions and those that do not. Each of them is initialized and operated separately. That is, when an application operates, it uses a copy of the second library initialized by the application. Therefore, even if each operation is fixed depending on whether the user has authority or not, problems will not occur due to authority because the application is always called only by applications that have the same authority. Furthermore, in the first embodiment, a second library package 18n-3 is placed on the installation directory 17n or 37n for each application 16n and used. In this case, a package is opened and operated by the number of applications that use the second library, so as the number of applications increases, there is a risk that a large amount of file descriptors, which are a finite resource, will be consumed. However, according to the second embodiment, the packages that are opened are only for applications that have permissions and applications that do not have permissions, so in addition to the effects of the first embodiment, file descriptor consumption can be suppressed. There is an advantage.

なお本実施形態ではアプリケーションに付与された権限が許容されるか否かを示す二値の場合としているが、より多くの段階や組合せを値とする権限であってもよい。その場合本実施形態では、第二のライブラリを、その値に応じた数だけ複製し、それぞれの複製についてそれぞれの権限が付与されたアプリケーションにより初期化しておく。これによって、第二のライブラリのそれぞれの複製は、権限の値ごとに初期化され、整合する権限を有するアプリケーションによって呼び出されることになる。 Note that in this embodiment, the authority given to the application is a binary value indicating whether or not it is permitted, but the authority may have more levels or combinations as values. In this case, in this embodiment, the second library is copied a number of times according to the value, and each copy is initialized by an application to which respective permissions are granted. This causes each copy of the second library to be initialized with each permission value and called by an application with matching permissions.

[第三の実施形態]
次に本発明の第三の実施形態について図を交えて説明を加える。本実施形態におけるソフトウェアモジュールの構成は図1Aと同様である。本実施形態における画像形成装置100のコントローラ101のハードウェア構成は図1Bと同様である。本実施形態のファイルシステム103上でアプリケーションプラットフォーム105およびアプリケーション16nを構成するファイルの配置については図3と同様である。
[Third embodiment]
Next, a third embodiment of the present invention will be described with reference to figures. The configuration of the software module in this embodiment is the same as that in FIG. 1A. The hardware configuration of the controller 101 of the image forming apparatus 100 in this embodiment is the same as that shown in FIG. 1B. The arrangement of files constituting the application platform 105 and the application 16n on the file system 103 of this embodiment is the same as that in FIG. 3.

図5A-図5Bは本実施形態のインストーラ107の動作について模式的に表したフローチャートである。フローチャートに書かれている処理は、コントローラ101のRAM122、ROM123、ストレージデバイス126などに記憶されたプログラムをCPU120によって実行することで実現される。ステップS501から処理を開始する。 5A and 5B are flowcharts schematically showing the operation of the installer 107 of this embodiment. The processes described in the flowchart are realized by the CPU 120 executing programs stored in the RAM 122, ROM 123, storage device 126, etc. of the controller 101. The process starts from step S501.

ステップS502にてまずインストーラ107はインストール対象となるアプリケーション16nのライセンス処理を行う。ライセンスの処理が完了したらインストーラ107の処理は続いてステップS503へ進む。ステップS503ではインストーラ107はアプリケーション16nのインストールパッケージから必要なファイルがあれば抽出してインストールディレクトリ17nもしくは37nに展開する。 In step S502, the installer 107 first performs licensing processing for the application 16n to be installed. When the license processing is completed, the process of the installer 107 continues to proceed to step S503. In step S503, the installer 107 extracts any necessary files from the installation package of the application 16n and expands them to the installation directory 17n or 37n.

ステップS504ではアプリケーション16nが第二のライブラリ153を呼び出しているかどうかを判定する。呼び出している場合には処理はステップS505へ進み、呼び出していない場合には処理はステップS521へ進む。 In step S504, it is determined whether the application 16n calls the second library 153. If it has been called, the process advances to step S505; if it has not been called, the process advances to step S521.

ステップS505へ進むと、インストーラ107はアプリケーションが特定の権限を持っているかどうかを判定する。第二のライブラリは、その初期化時においてその権限を参照して初期化以降の動作を決定する。これは第二の実施形態と同様である。権限を持っている場合には処理はステップS506へ進み、持っていない場合には処理はステップS513へ進む。 Proceeding to step S505, the installer 107 determines whether the application has specific authority. The second library refers to its authority at the time of its initialization and determines its operations after initialization. This is similar to the second embodiment. If the user has the authority, the process proceeds to step S506; if the user does not have the authority, the process proceeds to step S513.

ステップS506では、インストーラ107は、その権限を持っているアプリケーション向けに第二のライブラリのパッケージを配置するための第一のディレクトリ301が存在するかを判定する。存在していれば処理はステップS507へ進む。存在していなければステップS508へ進む。 In step S506, the installer 107 determines whether the first directory 301 exists in which to place the second library package for the application that has the authority. If it exists, the process advances to step S507. If it does not exist, the process advances to step S508.

ステップS507ではインストーラ107は、第一のディレクトリ301に、権限を持っているアプリケーション向けに第二のディレクトリのライブラリのパッケージ302が置かれているかどうかを判定する。置かれていなければ処理はステップS509に進み、置かれていればステップS510へ進む。 In step S507, the installer 107 determines whether the library package 302 in the second directory is placed in the first directory 301 for applications that have authority. If it has not been placed, the process proceeds to step S509; if it has been placed, the process proceeds to step S510.

ステップS508ではインストーラ107は権限を持っているアプリケーショ向けの第二のライブラリのパッケージを配置するためのディレクトリ301を新規に作成する。作成が完了したら処理はステップS509に進む。 In step S508, the installer 107 creates a new directory 301 in which to place the second library package for the application that has authority. When the creation is completed, the process advances to step S509.

ステップS509では第二のライブラリの待避パッケージ157を、ディレクトリ301へコピーする。ディレクトリ301は、権限を持っているアプリケーションが使用するパッケージ302を配置するためのディレクトリである。コピーが完了したら処理はステップS510へ進む。 In step S509, the save package 157 of the second library is copied to the directory 301. A directory 301 is a directory in which a package 302 used by an application having authority is placed. When the copying is completed, the process advances to step S510.

ステップS510では、アプリケーションの構成設定ファイル19nまたは39nに、アプリケーションのインストール先のディレクトリ17nまたは37nに置かれたパッケージを優先して読み出すための設定が書かれているかをチェックする。書かれている場合には処理はステップS511へ進む。書かれていなければ処理はステップS512へ進む。 In step S510, a check is made to see if the configuration setting file 19n or 39n of the application contains a setting for preferentially reading a package placed in the directory 17n or 37n where the application is installed. If it has been written, the process advances to step S511. If it has not been written, the process advances to step S512.

ステップS511ではインストーラ107は構成設定ファイル19nまたは39nから優先して読み出すための設定を削除する。この場合、ステップS512で、アプリケーションが第二のライブラリを優先的に呼び出すための設定をし直すことになる。 In step S511, the installer 107 deletes the setting for preferentially reading from the configuration setting file 19n or 39n. In this case, in step S512, the settings for the application to preferentially call the second library are reset.

ステップS512にてインストーラ107は構成設定ファイル19nまたは39nに、権限を持つアプリケーション向けに、第二のライブラリのパッケージ302が置かれたディレクトリ301から優先して読み出すための設定を追加する。そして処理はステップS520へ進む。 In step S512, the installer 107 adds to the configuration setting file 19n or 39n a setting for preferentially reading from the directory 301 in which the second library package 302 is placed, for an application having authority. The process then proceeds to step S520.

ステップS505にてアプリケーション16nが権限を持っていない場合には処理はステップS513へ進む。ステップS513では、インストーラ107は、権限を持たないアプリケーション向けに第二のライブラリのパッケージを配置するための第二のディレクトリ303が存在するかを判定する。存在していれば処理はステップS514へ進む。存在していなければステップS515へ進む。 If the application 16n does not have authority in step S505, the process advances to step S513. In step S513, the installer 107 determines whether a second directory 303 exists for arranging a package of the second library for applications without authority. If it exists, the process advances to step S514. If it does not exist, the process advances to step S515.

ステップS514ではインストーラ107は、第二のディレクトリ303に、権限を持たないアプリケーション向けに第二のライブラリのパッケージ303が置かれているかどうかを判定する。置かれていなければ処理はステップS516に進み、置かれていればステップS517へ進む。 In step S514, the installer 107 determines whether a second library package 303 for applications without authority is placed in the second directory 303. If it has not been placed, the process proceeds to step S516; if it has been placed, the process proceeds to step S517.

ステップS515ではインストーラ107は権限を持たないアプリケーショ向けの第二のライブラリのパッケージを配置するためのディレクトリ303を新規に作成する。作成が完了したら処理はステップS516に進む。ステップS516では第二のライブラリの待避パッケージ157を、ディレクトリ303へコピーする。コピーが完了したら処理はステップS517へ進む。 In step S515, the installer 107 creates a new directory 303 in which to place the second library package for applications without authority. When the creation is completed, the process advances to step S516. In step S516, the save package 157 of the second library is copied to the directory 303. When the copying is completed, the process advances to step S517.

ステップS517では、アプリケーションの構成設定ファイル19nまたは39nに、アプリケーションのインストール先のディレクトリ17nまたは37nに置かれたパッケージを優先して読み出すための設定が書かれているかをチェックする。書かれている場合には処理はステップS518へ進む。書かれていなければ処理はステップS519へ進む。 In step S517, it is checked whether the configuration setting file 19n or 39n of the application contains a setting for preferentially reading the package placed in the directory 17n or 37n where the application is installed. If it has been written, the process advances to step S518. If it has not been written, the process advances to step S519.

ステップS518ではインストーラ107は構成設定ファイル19nまたは39nから優先して読み出すための設定を削除する。 In step S518, the installer 107 deletes the setting for preferentially reading from the configuration setting file 19n or 39n.

ステップS519にてインストーラ107は構成設定ファイル19nまたは39nに、権限を持つアプリケーション向けに、第二のライブラリのパッケージ304が置かれたディレクトリ301から優先して読み出すための設定を追加する。そして処理はステップS520へ進む。ステップS520にてアプリケーションインストール処理を完了させる。そして処理はステップS521へ進む。 In step S519, the installer 107 adds, to the configuration setting file 19n or 39n, a setting for preferentially reading from the directory 301 in which the second library package 304 is placed, for an application having authority. The process then proceeds to step S520. The application installation process is completed in step S520. The process then proceeds to step S521.

ステップS521にてインストーラ107は次のアプリケーション16nのインストール処理を実行する必要があるかを判定する。必要がある場合にはステップS502へ戻って次のアプリケーションを新たな対象アプリケーションとして処理を続行する。必要ない場合にはステップS522へ進んで処理全体を完了する。 In step S521, the installer 107 determines whether it is necessary to install the next application 16n. If necessary, the process returns to step S502 to continue processing with the next application as a new target application. If it is not necessary, the process advances to step S522 and the entire process is completed.

ここまで見てきたように本実施形態では、第二のライブラリを呼び出すことが判明しているアプリケーション16nに対して以下の設定を行うことができる。すなわち、権限を持っている場合と持っていない場合で異なるパッケージ302および304を呼び出すよう設定を行うことにより、第二のライブラリは権限を持っているアプリケーション用と持たないアプリケーション用に分離される。そしてそれぞれが別々に初期化されて動作する。それぞれの動作が権限のあるなしに従って固定されたとしても、常に同じ権限を持つアプリケーションからしか呼ばれないため権限により不具合を生じることがない。 As seen so far, in this embodiment, the following settings can be made for the application 16n that is known to call the second library. That is, by setting different packages 302 and 304 to be called depending on whether the user has the authority or not, the second library is separated for applications that have the authority and applications that do not have the authority. Each of them is initialized and operated separately. Even if each operation is fixed depending on whether it has authority or not, it will always be called only by applications with the same authority, so problems will not occur due to authority.

さらに、第二の実施形態では、アプリケーション16nのインストールディレクトリ17nまたは37n上に第二のライブラリのパッケージ18n-3が置かれ、アプリケーション16nがそれを利用するケースがある。このようなアプリケーション16nが一定数存在するとそれらはローカルのパッケージを開いて呼び出すため、その数だけ有限な資源であるファイルディスクリプタを消費するという問題がある。そのような場合でも、本実施形態によれば、アプリケーションごとのローカルのパッケージを呼び出す設定はキャンセルされ、共通のディレクトリ301および303に置かれたものを利用するようになる。このため、第二のライブラリを利用するアプリケーションの数が増加してもファイルディスクリプタの消費はつねに最低限で済むという利点がある。 Furthermore, in the second embodiment, there is a case where the second library package 18n-3 is placed on the installation directory 17n or 37n of the application 16n, and the application 16n uses it. When there is a certain number of such applications 16n, they open and call local packages, which causes a problem in that they consume file descriptors, which are finite resources, by the number of applications 16n. Even in such a case, according to the present embodiment, the setting for calling a local package for each application is canceled, and those placed in the common directories 301 and 303 are used. Therefore, even if the number of applications that use the second library increases, there is an advantage that the consumption of file descriptors is always kept to a minimum.

なお本実施形態でも第二実施形態と同様により、アプリケーションの権限が二値ではなく、多くの段階や組合せを値とする多値の権限であってもよい。その場合本実施形態では、第二のライブラリを、その値に応じた数だけ複製し、それぞれの複製についてそれぞれの権限が付与されたアプリケーションにより初期化しておく。これによって、第二のライブラリのそれぞれの複製は、権限の値ごとに初期化され、整合する権限を有するアプリケーションによって呼び出されることになる。 Note that in this embodiment, as in the second embodiment, the authority of the application is not binary, but may be multi-valued authority having many levels or combinations as values. In this case, in this embodiment, the second library is copied a number of times according to the value, and each copy is initialized by an application to which respective permissions are granted. This causes each copy of the second library to be initialized with each permission value and called by an application with matching permissions.

●実施形態のまとめ
上記実施形態は以下のような項目にまとめられる。
(項目1)
インストール対象のアプリケーションが特定のライブラリを呼び出しているか判定する判定手段と、
前記特定のライブラリが呼びされている場合には、前記アプリケーションをインストールし、さらに前記特定のライブラリを前記アプリケーションに応じた場所に複製してインストールするインストール手段と、
前記アプリケーションが、前記特定のライブラリを前記インストール手段によりインストールされた場所から優先的に呼び出すよう設定する設定手段と、
を有する
ことを特徴とする情報処理装置。
(項目2)
項目1に記載の情報処理装置であって、
前記アプリケーションに応じた場所とは、前記アプリケーションと同じディレクトリである
ことを特徴とする情報処理装置。
(項目3)
項目1に記載の情報処理装置であって、
前記インストール手段は、前記特定のライブラリを、前記アプリケーションに応じた場所として、前記アプリケーションに付与された権限に対応する場所に複製してインストールする
ことを特徴とする情報処理装置。
(項目4)
項目3に記載の情報処理装置であって、
前記設定手段は、前記アプリケーションが、当該アプリケーションと同じディレクトリにインストールされている前記特定のライブラリを呼び出すよう設定されている場合には、前記アプリケーションが、前記特定のライブラリを前記アプリケーションに付与された権限に対応する場所から優先的に呼び出すよう設定し直す
ことを特徴とする情報処理装置。
(項目5)
項目3に記載の情報処理装置であって、
前記権限は特定の資源へアクセスする権限を含む
ことを特徴とする情報処理装置。
(項目6)
項目1乃至5のいずれか一項に記載の情報処理装置であって、
前記特定のライブラリは、その動作が、前記インストール手段によりインストールされた際に前記アプリケーションに付与された権限に応じて決定されるライブラリである
ことを特徴とする情報処理装置。
(項目7)
項目1乃至5のいずれか一項に記載の情報処理装置であって、
前記特定のライブラリを複製するための元となる前記特定のライブラリを格納する格納手段を更に有し、
前記インストール手段は、前記格納手段から前記特定のライブラリを読み出して複製する
ことを特徴とする情報処理装置。
(項目8)
項目1乃至5のいずれか一項に記載の情報処理装置であって、
前記特定のライブラリではないライブラリは予め定めた場所にインストールされる
ことを特徴とする情報処理装置。
(項目9)
情報処理装置によるアプリケーションのインストール方法であって、前記情報処理装置は、判定手段とインストール手段と設定手段とを有し、
前記判定手段が、インストール対象のアプリケーションが特定のライブラリを呼び出しているか判定し、
前記インストール手段が、前記特定のライブラリが呼びされている場合には、前記アプリケーションをインストールし、さらに前記特定のライブラリを前記アプリケーションに応じた場所に複製してインストールし、
前記設定手段が、前記アプリケーションが、前記特定のライブラリを前記インストール手段によりインストールされた場所から優先的に呼び出すよう設定する
ことを特徴とするインストール方法。
(項目10)
項目9に記載のインストール方法であって、
前記アプリケーションに応じた場所とは、前記アプリケーションと同じディレクトリである
ことを特徴とするインストール方法。
(項目11)
項目9に記載のインストール方法であって、
前記インストール手段は、前記特定のライブラリを、前記アプリケーションに応じた場所として、前記アプリケーションに付与された権限に対応する場所に複製してインストールする
ことを特徴とするインストール方法。
(項目12)
項目11に記載のインストール方法であって、
前記設定手段は、前記アプリケーションが、当該アプリケーションと同じディレクトリにインストールされている前記特定のライブラリを呼び出すよう設定されている場合には、前記アプリケーションが、前記特定のライブラリを前記アプリケーションに付与された権限に対応する場所から優先的に呼び出すよう設定し直す
ことを特徴とするインストール方法。
(項目13)
項目1乃至8のいずれか一項に記載の情報処理装置としてコンピュータを機能させるためのプログラム。
●Summary of the embodiments The above embodiments can be summarized into the following items.
(Item 1)
a determining means for determining whether an application to be installed calls a specific library;
an installation unit that installs the application when the specific library is called, and further copies and installs the specific library in a location corresponding to the application;
a setting means for setting the application to preferentially call the specific library from a location where it was installed by the installation means;
An information processing device comprising:
(Item 2)
The information processing device according to item 1,
An information processing device characterized in that the location corresponding to the application is the same directory as the application.
(Item 3)
The information processing device according to item 1,
The information processing apparatus is characterized in that the installation means copies and installs the specific library in a location corresponding to the authority granted to the application, as a location corresponding to the application.
(Item 4)
The information processing device according to item 3,
When the application is set to call the specific library that is installed in the same directory as the application, the setting means allows the application to access the specific library with the authority granted to the application. An information processing device characterized in that the information processing device is configured to reset the setting to preferentially call from a location corresponding to the location.
(Item 5)
The information processing device according to item 3,
An information processing device characterized in that the authority includes an authority to access a specific resource.
(Item 6)
The information processing device according to any one of items 1 to 5,
The information processing apparatus is characterized in that the specific library is a library whose operation is determined according to authority granted to the application when it is installed by the installation means.
(Item 7)
The information processing device according to any one of items 1 to 5,
further comprising storage means for storing the specific library as a source for copying the specific library;
The information processing apparatus is characterized in that the installation means reads the specific library from the storage means and copies it.
(Item 8)
The information processing device according to any one of items 1 to 5,
An information processing apparatus characterized in that a library other than the specific library is installed at a predetermined location.
(Item 9)
A method for installing an application by an information processing device, the information processing device having a determination means, an installation means, and a setting means,
The determining means determines whether the application to be installed calls a specific library,
The installation means installs the application when the specific library is called, and further copies and installs the specific library in a location corresponding to the application,
The installation method is characterized in that the setting means sets the application to preferentially call the specific library from a location where it is installed by the installation means.
(Item 10)
The installation method described in item 9,
The installation method is characterized in that the location depending on the application is the same directory as the application.
(Item 11)
The installation method described in item 9,
The installation method is characterized in that the installation means copies and installs the specific library in a location corresponding to the authority granted to the application, as a location corresponding to the application.
(Item 12)
The installation method described in item 11,
When the application is set to call the specific library that is installed in the same directory as the application, the setting means allows the application to access the specific library with the authority granted to the application. An installation method characterized by reconfiguring settings to preferentially call from a location corresponding to .
(Item 13)
A program for causing a computer to function as the information processing device according to any one of items 1 to 8.

[その他の実施例]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
[Other Examples]
The present invention provides a system or device with a program that implements one or more of the functions of the embodiments described above via a network or a storage medium, and one or more processors in the computer of the system or device reads and executes the program. This can also be achieved by processing. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.

発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。 The invention is not limited to the embodiments described above, and various changes and modifications can be made without departing from the spirit and scope of the invention. Therefore, the following claims are hereby appended to disclose the scope of the invention.

100 画像形成装置、101 コントローラ、102 オペレーティングシステム、103 ファイルシステム、104 標準ランタイム、105 アプリケーションプラットフォーム、106 標準ライブラリ、107 インストーラ 100 image forming apparatus, 101 controller, 102 operating system, 103 file system, 104 standard runtime, 105 application platform, 106 standard library, 107 installer

Claims (13)

インストール対象のアプリケーションが特定のライブラリを呼び出しているか判定する判定手段と、
前記特定のライブラリが呼びされている場合には、前記アプリケーションをインストールし、さらに前記特定のライブラリを前記アプリケーションに応じた場所に複製してインストールするインストール手段と、
前記アプリケーションが、前記特定のライブラリを前記インストール手段によりインストールされた場所から優先的に呼び出すよう設定する設定手段と、
を有する
ことを特徴とする情報処理装置。
a determining means for determining whether an application to be installed calls a specific library;
an installation unit that installs the application when the specific library is called, and further copies and installs the specific library in a location corresponding to the application;
a setting means for setting the application to preferentially call the specific library from a location where it was installed by the installation means;
An information processing device comprising:
請求項1に記載の情報処理装置であって、
前記アプリケーションに応じた場所とは、前記アプリケーションと同じディレクトリである
ことを特徴とする情報処理装置。
The information processing device according to claim 1,
An information processing device characterized in that the location corresponding to the application is the same directory as the application.
請求項1に記載の情報処理装置であって、
前記インストール手段は、前記特定のライブラリを、前記アプリケーションに応じた場所として、前記アプリケーションに付与された権限に対応する場所に複製してインストールする
ことを特徴とする情報処理装置。
The information processing device according to claim 1,
The information processing apparatus is characterized in that the installation means copies and installs the specific library in a location corresponding to the authority granted to the application, as a location corresponding to the application.
請求項3に記載の情報処理装置であって、
前記設定手段は、前記アプリケーションが、当該アプリケーションと同じディレクトリにインストールされている前記特定のライブラリを呼び出すよう設定されている場合には、前記アプリケーションが、前記特定のライブラリを前記アプリケーションに付与された権限に対応する場所から優先的に呼び出すよう設定し直す
ことを特徴とする情報処理装置。
The information processing device according to claim 3,
When the application is set to call the specific library that is installed in the same directory as the application, the setting means allows the application to access the specific library with the authority granted to the application. An information processing device characterized in that the information processing device is configured to reset the setting to preferentially call from a location corresponding to the location.
請求項3に記載の情報処理装置であって、
前記権限は特定の資源へアクセスする権限を含む
ことを特徴とする情報処理装置。
The information processing device according to claim 3,
An information processing device characterized in that the authority includes an authority to access a specific resource.
請求項1乃至5のいずれか一項に記載の情報処理装置であって、
前記特定のライブラリは、その動作が、前記インストール手段によりインストールされた際に前記アプリケーションに付与された権限に応じて決定されるライブラリである
ことを特徴とする情報処理装置。
The information processing device according to any one of claims 1 to 5,
The information processing apparatus is characterized in that the specific library is a library whose operation is determined according to authority granted to the application when it is installed by the installation means.
請求項1乃至5のいずれか一項に記載の情報処理装置であって、
前記特定のライブラリを複製するための元となる前記特定のライブラリを格納する格納手段を更に有し、
前記インストール手段は、前記格納手段から前記特定のライブラリを読み出して複製する
ことを特徴とする情報処理装置。
The information processing device according to any one of claims 1 to 5,
further comprising storage means for storing the specific library as a source for copying the specific library;
The information processing apparatus is characterized in that the installation means reads the specific library from the storage means and copies it.
請求項1乃至5のいずれか一項に記載の情報処理装置であって、
前記特定のライブラリではないライブラリは予め定めた場所にインストールされる
ことを特徴とする情報処理装置。
The information processing device according to any one of claims 1 to 5,
An information processing apparatus characterized in that a library other than the specific library is installed at a predetermined location.
情報処理装置によるアプリケーションのインストール方法であって、前記情報処理装置は、判定手段とインストール手段と設定手段とを有し、
前記判定手段が、インストール対象のアプリケーションが特定のライブラリを呼び出しているか判定し、
前記インストール手段が、前記特定のライブラリが呼びされている場合には、前記アプリケーションをインストールし、さらに前記特定のライブラリを前記アプリケーションに応じた場所に複製してインストールし、
前記設定手段が、前記アプリケーションが、前記特定のライブラリを前記インストール手段によりインストールされた場所から優先的に呼び出すよう設定する
ことを特徴とするインストール方法。
A method for installing an application by an information processing device, the information processing device having a determination means, an installation means, and a setting means,
The determining means determines whether the application to be installed calls a specific library,
The installation means installs the application when the specific library is called, and further copies and installs the specific library in a location corresponding to the application,
The installation method is characterized in that the setting means sets the application to preferentially call the specific library from a location where it is installed by the installation means.
請求項9に記載のインストール方法であって、
前記アプリケーションに応じた場所とは、前記アプリケーションと同じディレクトリである
ことを特徴とするインストール方法。
The installation method according to claim 9,
The installation method is characterized in that the location depending on the application is the same directory as the application.
請求項9に記載のインストール方法であって、
前記インストール手段は、前記特定のライブラリを、前記アプリケーションに応じた場所として、前記アプリケーションに付与された権限に対応する場所に複製してインストールする
ことを特徴とするインストール方法。
The installation method according to claim 9,
The installation method is characterized in that the installation means copies and installs the specific library in a location corresponding to the authority granted to the application, as a location corresponding to the application.
請求項11に記載のインストール方法であって、
前記設定手段は、前記アプリケーションが、当該アプリケーションと同じディレクトリにインストールされている前記特定のライブラリを呼び出すよう設定されている場合には、前記アプリケーションが、前記特定のライブラリを前記アプリケーションに付与された権限に対応する場所から優先的に呼び出すよう設定し直す
ことを特徴とするインストール方法。
The installation method according to claim 11,
When the application is set to call the specific library that is installed in the same directory as the application, the setting means allows the application to access the specific library with the authority granted to the application. An installation method characterized by reconfiguring settings to preferentially call from a location corresponding to .
インストール対象のアプリケーションが特定のライブラリを呼び出しているか判定する判定手段と、
前記特定のライブラリが呼びされている場合には、前記アプリケーションをインストールし、さらに前記特定のライブラリを前記アプリケーションに応じた場所に複製してインストールするインストール手段と、
前記アプリケーションが、前記特定のライブラリを前記インストール手段によりインストールされた場所から優先的に呼び出すよう設定する設定手段と、
してコンピュータを機能させるためのプログラム。
a determining means for determining whether an application to be installed calls a specific library;
an installation unit that installs the application when the specific library is called, and further copies and installs the specific library in a location corresponding to the application;
a setting means for setting the application to preferentially call the specific library from a location where it was installed by the installation means;
A program that allows a computer to function.
JP2022069595A 2022-04-20 2022-04-20 Information processing device, installation method, and program Pending JP2023159710A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022069595A JP2023159710A (en) 2022-04-20 2022-04-20 Information processing device, installation method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022069595A JP2023159710A (en) 2022-04-20 2022-04-20 Information processing device, installation method, and program

Publications (1)

Publication Number Publication Date
JP2023159710A true JP2023159710A (en) 2023-11-01

Family

ID=88514780

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022069595A Pending JP2023159710A (en) 2022-04-20 2022-04-20 Information processing device, installation method, and program

Country Status (1)

Country Link
JP (1) JP2023159710A (en)

Similar Documents

Publication Publication Date Title
US8074231B2 (en) Configuration of isolated extensions and device drivers
JP3593241B2 (en) How to restart the computer
EP2557498B1 (en) Updating method and computer system for hypervisor components
JP4916576B2 (en) Multi-operating system (OS) booting apparatus, multi-OS booting program, recording medium, and multi-OS booting method
JP5225003B2 (en) MEMORY PROTECTION METHOD, INFORMATION PROCESSING DEVICE, MEMORY PROTECTION PROGRAM, AND RECORDING MEDIUM CONTAINING MEMORY PROTECTION PROGRAM
US9298472B2 (en) High-speed restart method, information processing device, and program
CN109710317B (en) System starting method and device, electronic equipment and storage medium
JP5582971B2 (en) Memory protection method and information processing apparatus
JP2009522676A (en) Method, system, and computer-readable medium for sharing files between different virtual machine images
JP2009157542A (en) Information processing apparatus and method of updating stack pointer
JP2016091460A (en) Information processor and library loading method, and computer program
JP5511874B2 (en) Systems and methods implemented in security services
EP2953023B1 (en) Information processing apparatus, application management method, and program
CN112219202A (en) Memory allocation for guest operating systems
JP2023159710A (en) Information processing device, installation method, and program
US20210216659A1 (en) Protecting device and protecting method
CN115495158A (en) Dynamic construction method of system service in microkernel operating system
US9940334B2 (en) Image forming apparatus and control method thereof
CN114969720A (en) Installation method and device of android application, storage medium and computer equipment
CN111949301B (en) Application program hot update method, device and computer readable storage medium
US10606748B2 (en) Apparatus and method for garbage collection on socket objects
JP2017073036A (en) Information processing device and control method thereof
JP4918276B2 (en) Information processing apparatus and information processing method
JP2005157502A (en) Information processor and information processing method and computer program
JP6204555B1 (en) Method, system firmware, and computer for protecting variables stored in non-volatile memory