JP2008059482A - Information processor and processing method - Google Patents
Information processor and processing method Download PDFInfo
- Publication number
- JP2008059482A JP2008059482A JP2006238167A JP2006238167A JP2008059482A JP 2008059482 A JP2008059482 A JP 2008059482A JP 2006238167 A JP2006238167 A JP 2006238167A JP 2006238167 A JP2006238167 A JP 2006238167A JP 2008059482 A JP2008059482 A JP 2008059482A
- Authority
- JP
- Japan
- Prior art keywords
- software module
- bundle
- attribute
- system library
- application
- 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.)
- Withdrawn
Links
Images
Abstract
Description
本発明は、ソフトウェアの管理技術に関するものである。 The present invention relates to software management technology.
マイクロコンピュータを組み込んで機器制御を行う、所謂組み込み機器において、マイクロコンピュータ上で実行されるプログラムはROMなどに書き込まれている。そのため、このプログラムは書き換えられないことが多かった。しかし、プログラムにバグがあった場合にはこのプログラムは変更できないので、バグを抱えたまま稼動しつづけなければならない場合も多く見られた。 In a so-called embedded device in which device control is performed by incorporating a microcomputer, a program executed on the microcomputer is written in a ROM or the like. For this reason, this program was often not rewritten. However, this program cannot be changed if there are bugs in the program, so there were many cases where it was necessary to keep running with bugs.
そのため、書き換え可能なフラッシュROMなどにプログラムを格納し、プログラムの書き換えに対応している機器が出てきている。しかしこの場合もプログラム全体を変更することが多く、パーソナルコンピュータのように一部を変更したり、新たな機能を追加したりするといったことが気軽に行えるようにはなっていなかった。 For this reason, there are devices that store programs in a rewritable flash ROM or the like and support program rewriting. However, in this case as well, the entire program is often changed, and it has not been possible to easily change a part or add a new function like a personal computer.
記憶容量や処理能力に乏しい組み込み機器においても、パーソナルコンピュータのようにプログラムの更新や新機能の追加を気軽に行い、組み込み機器でも変化の激しい業務処理に対応しうるものでなければならないようになってきている。 Even in embedded devices with limited storage capacity and processing capacity, it is necessary to easily update programs and add new functions like in a personal computer, and even embedded devices must be able to handle rapidly changing business processes. It is coming.
そのための技術として、Java(登録商標)(Java(登録商標)はプログラミング言語を含むソフトウェア技術であり、米国Sun Microsystems Inc.の登録商標である)の持つプログラムの可搬性を利用して、拡張可能なアプリケーションを提供する技術が提案されている(例えば、特許文献1、非特許文献1を参照)。 As a technology for that purpose, Java (registered trademark) (Java (registered trademark) is a software technology including a programming language, and is a registered trademark of Sun Microsystems Inc., USA) can be expanded using the portability of the program. Have been proposed (see, for example, Patent Document 1 and Non-Patent Document 1).
係る技術によれば、一つのアプリケーションの上で実行されるため、アプリケーション単位で機能拡張するのに比べてハードウェア資源の要求量が少なくて済む。 According to such a technique, since it is executed on one application, the required amount of hardware resources can be reduced as compared with the case where the function is expanded in units of applications.
非特許文献1に開示されているOSGi Service Platform(以下OSGiと略)は、アプリケーションに追加されるソフトウェアモジュールをバンドルと呼び、バンドルのインストール/起動/終了/更新/アンインストールといったソフトウェアモジュールのライフサイクルを管理する仕様を定義している。 In OSGi Service Platform (hereinafter abbreviated as OSGi) disclosed in Non-Patent Document 1, a software module added to an application is called a bundle, and the life cycle of the software module such as install / start / end / update / uninstall the bundle Defines the specifications for managing
また、OSGiでは、アプリケーションが停止したときの各バンドルの実行状況が記憶され、アプリケーションの再起動時に各バンドルの状態が停止時の状態に戻される機能も備えている。
従来技術では、後からインストール/更新できるソフトウェアモジュールによって、他のソフトウェアモジュールに対して新たな機能の提供や、改善された機能の更新などが柔軟に行えるようになっている。しかしながら、この仕組みの恩恵に浴するのは、アプリケーション上で稼動するソフトウェアモジュールのみである。 In the prior art, software modules that can be installed / updated later can flexibly provide new functions or update improved functions to other software modules. However, only software modules that run on the application benefit from this mechanism.
例えば、OSGiではアプリケーションの基幹部分をプラットフォームと呼んでいるが、このプラットフォームでは、取り外し可能なソフトウェア・モジュールであるバンドルの提供している機能を使うことができない。 For example, in OSGi, the basic part of the application is called a platform, but on this platform, the functions provided by the bundle, which is a removable software module, cannot be used.
プラットフォーム自身が使うライブラリなどのソフトウェアモジュールを更新しようとすると、プラットフォームが持つバンドルのライフサイクル管理機構を使えずに、全く別の機構を用意する必要がある。 When trying to update software modules such as libraries used by the platform itself, it is necessary to prepare a completely different mechanism without using the life cycle management mechanism of the bundle that the platform has.
OSGiはJava(登録商標)の利用が前提になっているため、プラットフォームの使用するライブラリを変更しようとすると以下のような手順をプラットフォームとは異なるソフトウェアとして実行する必要がある。 Since OSGi is premised on the use of Java (registered trademark), it is necessary to execute the following procedure as software different from the platform when attempting to change the library used by the platform.
(1) ftpなどのファイル転送手段を使って、ライブラリを追加/更新する。更新するためには現在使用中のライブラリファイルのファイル名と異なる名前でインストールする必要がある。 (1) Add / update libraries using file transfer means such as ftp. In order to update, it is necessary to install with a name different from the name of the library file currently in use.
(2) Java(登録商標)のクラスをロードするクラスローダがクラスを探索する順序を規定するクラスパスを新しいライブラリを探索するように構成し直す。 (2) The class loader that defines the order in which a class loader that loads a Java (registered trademark) class is searched for is reconfigured to search for a new library.
(3) (2)で作成したクラスパスを使用してプラットフォームを再起動する。 (3) Restart the platform using the classpath created in (2).
このように、バンドルのライフサイクルと異なる手順で管理しなければならず、システム全体の管理が煩雑なものになると言う問題点が存在する。 As described above, there is a problem that the management of the entire system becomes complicated because it must be managed by a procedure different from the life cycle of the bundle.
本発明は以上の問題に鑑みてなされたものであり、システムライブラリとして使用したいバンドルを、実際にシステムライブラリとして使用する為の技術を提供することを目的とする。 The present invention has been made in view of the above problems, and an object thereof is to provide a technique for actually using a bundle desired to be used as a system library as a system library.
本発明の目的を達成するために、例えば、本発明の情報処理装置は以下の構成を備える。 In order to achieve the object of the present invention, for example, an information processing apparatus of the present invention comprises the following arrangement.
即ち、複数のソフトウェアモジュールを管理するソフトウェアモジュール管理機能を有するアプリケーションを備える情報処理装置であって、
前記ソフトウェアモジュール管理機能を用いて、インストールされたソフトウェアモジュールを実行するときに必要となる属性を、ソフトウェアモジュールを起動する際に参照する参照手段を備え、
前記属性として、管理対象となるソフトウェアモジュールをアプリケーション自身に利用可能とするシステムライブラリ化属性を持ち、
ソフトウェアモジュールが起動されるときに前記参照手段が前記システムライブラリ化属性を参照することで、前記ソフトウェアモジュール管理機能により、対象となるソフトウェアモジュールを前記アプリケーションで使用可能とする
ことを特徴とする。
That is, an information processing apparatus including an application having a software module management function for managing a plurality of software modules,
Using the software module management function, comprising a reference means for referring to attributes required when executing the installed software module when starting the software module,
As the attribute, it has a system library attribute that makes the software module to be managed available to the application itself,
When the software module is activated, the reference means refers to the system library attribute so that the target software module can be used in the application by the software module management function.
本発明の目的を達成するために、例えば、本発明の情報処理方法は以下の構成を備える。 In order to achieve the object of the present invention, for example, an information processing method of the present invention comprises the following arrangement.
即ち、複数のソフトウェアモジュールを管理するソフトウェアモジュール管理機能を有するアプリケーションを備える情報処理装置が行う情報処理方法であって、
前記ソフトウェアモジュール管理機能を用いて、インストールされたソフトウェアモジュールを実行するときに必要となる属性を、ソフトウェアモジュールを起動する際に参照する参照工程を備え、
前記属性として、管理対象となるソフトウェアモジュールをアプリケーション自身に利用可能とするシステムライブラリ化属性を持ち、
ソフトウェアモジュールが起動されるときに前記参照工程で前記システムライブラリ化属性を参照することで、前記ソフトウェアモジュール管理機能により、対象となるソフトウェアモジュールを前記アプリケーションで使用可能とする
ことを特徴とする。
That is, an information processing method performed by an information processing apparatus including an application having a software module management function for managing a plurality of software modules,
Using the software module management function, comprising a reference step of referring to attributes required when executing the installed software module when starting the software module,
As the attribute, it has a system library attribute that makes the software module to be managed available to the application itself,
By referring to the system library attribute in the reference step when the software module is activated, the software module management function enables the target software module to be used in the application.
本発明の構成によれば、システムライブラリとして使用したいバンドルを、実際にシステムライブラリとして使用することができる。 According to the configuration of the present invention, a bundle desired to be used as a system library can actually be used as a system library.
以下添付図面を参照して、本発明をその好適な実施形態に従って詳細に説明する。 Hereinafter, the present invention will be described in detail according to preferred embodiments with reference to the accompanying drawings.
図1は、本実施形態に係る情報処理に適用可能なコンピュータのハードウェア構成を示すブロック図である。 FIG. 1 is a block diagram showing a hardware configuration of a computer applicable to information processing according to this embodiment.
制御部1010はCPUやMPU等により構成されており、RAM1020に格納されているプログラムやデータを用いて、本コンピュータ全体の制御を行うと共に、本コンピュータが行う後述の各処理を実行する。
The
RAM1020は、ハードディスク1030からロードされたプログラムやデータを一時的に記憶するためのエリアを有すると共に、制御部1010が各種の処理を実行する際に用いるワークエリアも有する。即ち、RAM1020は各種のエリアを適宜提供することができる。
The
ハードディスク1030には、OS(オペレーティングシステム)や後述する各種のソフトウェア、データなどが保存されている。これらのソフトウェアやデータは制御部1010による制御に従って適宜RAM1020にロードされる。そして制御部1010はこのロードされたソフトウェアやデータを用いて後述する各処理を実行する。
The
入力部1040はキーボードやマウスなどにより構成されており、本コンピュータの操作者が操作することで、各種の指示を制御部1010に対して入力することができる。
The
表示部1050はCRTや液晶画面等により構成されており、制御部1010による処理結果を画像や文字などでもって表示することができる。
The
ネットワーク部1060は、LANやインターネット等のネットワークに本コンピュータを接続するためのものであり、本コンピュータはこのネットワーク部1060を介してネットワークに接続されている各装置とのデータ通信を行うことができる。
The
1070は上述の各部を繋ぐバスである。
図2は、ハードディスク1030に保存されているソフトウェアの階層構造を示す図である。同図において2010は、ソフトウェアやハードウェア資源を管理するオペレーティングシステム(OS)である。2020は、ソフトウェアモジュールを拡張することができるJava(登録商標)言語で記述されたアプリケーションであるOSGi Service Platformの仕様を実装したプラットフォームである。2030は、プラットフォーム2020を実行するためのJava(登録商標) VM(Java(登録商標)言語を解釈・実行する仮想マシン)である。2040は、プラットフォーム2020上で実行可能なJava(登録商標)言語で記述されたソフトウェアモジュール(以下、バンドルと呼称する)の集合である。2050は、Java(登録商標) VM 2030上でプラットフォーム2020を実行するために必要なシステムライブラリである。
FIG. 2 is a diagram illustrating a hierarchical structure of software stored in the
図4は、バンドルのファイルが暗号化されていない状態におけるこのファイルの構成例を示す図である。 FIG. 4 is a diagram illustrating a configuration example of the file in a state where the bundle file is not encrypted.
4010はバンドルのファイル本体である。このファイル4010は、Java(登録商標)言語のJarファイル形式になっている。JarファイルはZIP形式のアーカイブファイルであり、複数のファイルエントリ4020により構成されている。
各ファイルエントリ4020は、ファイルエントリの始まりを示すマジックナンバー4030と、ファイルエントリのサイズ4040と、ファイル名のサイズ4050と、ファイル名4060と、ファイルコンテンツ4070により構成されている。なお、同図では説明を簡単にするために、ZIPファイルの仕様を簡略化している。
Each
Jarファイルの各種属性はマニフェストと呼ばれるファイルエントリ内に格納されている。マニフェストのファイル名は"META-INF/MANIFEST.MF"であり、マニフェスト内には属性の名前とその値のペアとして属性値が記述される。 Various attributes of a Jar file are stored in a file entry called a manifest. The manifest file name is “META-INF / MANIFEST.MF”, and the attribute value is described as a pair of the attribute name and its value in the manifest.
先ず、バンドルをハードディスク1030にインストールする場合に、制御部1010が行う処理について、同処理のフローチャートを示す図3を用いて以下説明する。なお、同図のフローチャートに従った処理を制御部1010に実行させるためのプログラムやデータはハードディスク1030に保存されている。このプログラムやデータは制御部1010による制御に従って適宜RAM1020にロードされる。そして制御部1010がこのロードされたプログラムやデータを用いて処理を実行することで、本コンピュータは以下説明する各処理を実行することになる。
First, processing performed by the
先ず、ステップS3010では、インストールするように指定されたバンドルファイルの格納場所と同じ場所からインストールされたバンドルファイルが既に存在しているか否かをチェックする。バンドルの格納場所は、例えば、ネットワーク上における外部装置内である。この場合、ネットワーク部1060を介してバンドルをハードディスク1030にインストールすることになる。
First, in step S3010, it is checked whether or not a bundle file installed from the same location as the storage location of the bundle file designated to be installed already exists. The bundle storage location is, for example, in an external device on the network. In this case, the bundle is installed in the
このチェックの結果、存在している場合には本処理を終了する。一方、存在していない場合には処理をステップS3020に進める。 If it exists as a result of this check, this processing is terminated. On the other hand, if it does not exist, the process proceeds to step S3020.
ステップS3020では、プラットフォームにインストールされた暗号化されているバンドルファイル4010を復号する。復号に用いる暗号キーは、秘密鍵としてプラットフォームが管理しているものである。
In step S3020, the
次にステップS3030では、ステップS3020で復号したプラットフォーム4010をハードディスク1030内に保存する。より詳しくは、ハードディスク1030内に設けられた「バンドル管理を行うためにバンドルを格納しておくディレクトリ」に格納する。
In step S3030, the
次にステップS3040では、インストールしたバンドルをプラットフォーム上において管理するためのバンドル管理オブジェクトを生成する。図5は、バンドル管理オブジェクトの構成例を示す図である。 In step S3040, a bundle management object for managing the installed bundle on the platform is generated. FIG. 5 is a diagram illustrating a configuration example of a bundle management object.
同図において5010は、インストールしたバンドルに固有のバンドル識別子であり、それぞれのバンドルで異なる。5020はバンドルがどこからインストールされたのかを示すURLによって指定されるバンドルロケーション情報である。5030はバンドルの実行状態を示すステータスである。5040はバンドルの属性を示す属性リストである。
In the figure,
係るバンドル管理オブジェクトは、インストールするバンドル毎に作成されるものである。 Such a bundle management object is created for each bundle to be installed.
図3に戻って、次にステップS3050では、ステップS3040で生成したバンドル管理オブジェクト中の属性リスト5040に、バンドルファイル4010内のマニフェストに記述されていた属性を、属性名をキーとして検索できるように全て登録しているハッシュテーブルインスタンスとして設定する。このときバンドルのマニフェストにシステムライブラリ化することを示すSystemLibrary属性が設定されていれば属性リスト5040にこの属性が設定される。そして、バンドル管理オブジェクトのステータス5030に、バンドルがインストールされている状態であることを示すINSTALLED状態値を設定する。
Returning to FIG. 3, in step S3050, the
以上説明した処理でもって、バンドルをインストールすることができる。 With the process described above, the bundle can be installed.
次に、このようにしてインストールしたバンドルを起動する場合に、制御部1010が行う処理について、同処理のフローチャートを示す図6を用いて以下説明する。なお、同図のフローチャートに従った処理を制御部1010に実行させるためのプログラムやデータはハードディスク1030に保存されている。このプログラムやデータは制御部1010による制御に従って適宜RAM1020にロードされる。そして制御部1010がこのロードされたプログラムやデータを用いて処理を実行することで、本コンピュータは以下説明する各処理を実行することになる。
Next, processing performed by the
先ずステップS6010では、起動指定されたバンドルに対応するバンドル管理オブジェクトのステータス5030を参照する。そして、このステータス5030がACTIVEであるか否かをチェックする。このチェックの結果、ACTIVEである場合には、このバンドルは既に実行されているので本処理を終了する。一方、ACTIVEではない場合には、処理をステップS6020に進める。
First, in step S6010, the
ステップS6020では、ステップS6010で参照したバンドル管理オブジェクトの属性リスト5040を参照する。そして、この属性リスト5040にSystemLibrary属性が設定されているか否かをチェックする。属性リスト5040はハッシュテーブルとして構成されているため、SystemLibrary属性の名前をキーとして指定することでSystemLibrary属性値を得る。そして、SystemLibrary属性が設定されている場合には処理をステップS6040に進めるし、設定されていない場合には処理をステップS6030に進める。
In step S6020, the bundle management
ステップS6030では、起動しようとしているバンドルは通常のプラットフォーム2020上のバンドルであるため、プラットフォーム2020上のバンドルとしての起動処理を行う。起動処理が終了すると、このバンドルのバンドル管理オブジェクトのステータス5030に実行中であることを示すACTIVE状態値を設定する。
In step S6030, since the bundle to be activated is a bundle on the
一方、ステップS6040では、起動しようとしているバンドルのファイルを上記ステップS3030で保存した際のパスを取得し、この取得したパスを後述するサブクラスパス管理テーブルの末尾に登録する。 On the other hand, in step S6040, the path when the bundle file to be activated is stored in step S3030 is acquired, and the acquired path is registered at the end of a subclass path management table described later.
図7Aは、サブクラスパス管理テーブルの構成例を示すと共に、このサブクラスパス管理テーブルへのパスの登録処理を説明する図である。同図において、7010はサブクラスパス管理テーブルである。7020はサブクラスパス管理テーブル7010を永続的に記憶しておくためにハードディスク1030内に保存されているサブクラスパス記憶ファイルである。また同図左側に示す如く、サブクラスパス管理テーブル7010に登録されている最後のエントリの位置は、lastポインタが指し示している。
FIG. 7A is a diagram illustrating a configuration example of a subclass path management table and explaining a process of registering a path in the subclass path management table. In the figure,
ここで、ステップS6040においてパスをこのサブクラスパス管理テーブル7010に登録する場合には先ず、このlastポインタの位置を1つ後方にずらす。同図の中央にはこの状態を示している。次に、現在lastポインタが指し示している位置に、起動しようとしているバンドルのファイルを上記ステップS3030で保存した際のパスを登録する。同図右側にはこの状態を示している。 Here, when a path is registered in the subclass path management table 7010 in step S6040, first, the position of the last pointer is shifted backward by one. This state is shown in the center of the figure. Next, the path when the file of the bundle to be activated is stored in step S3030 is registered at the position indicated by the last pointer. This state is shown on the right side of the figure.
そして最後に、このサブクラスパス管理テーブル7010に登録されている内容をクラスパス形式の文字列に変換し、サブクラスパス記憶ファイル7020に格納する。もちろん、このサブクラスパス記憶ファイル7020は、ハードディスク1030内に保存されているものである。そして、バンドル管理オブジェクトのステータス5030に実行中であることを示すACTIVE状態値を設定する。
Finally, the contents registered in the subclass path management table 7010 are converted into a character string in the class path format and stored in the sub class
以上説明した処理でもって、バンドルを起動することができる。 With the process described above, the bundle can be activated.
次に、実行中のバンドルを停止させるために、制御部1010が行う処理について、同処理のフローチャートを示す図8を用いて以下説明する。なお、同図のフローチャートに従った処理を制御部1010に実行させるためのプログラムやデータはハードディスク1030に保存されている。このプログラムやデータは制御部1010による制御に従って適宜RAM1020にロードされる。そして制御部1010がこのロードされたプログラムやデータを用いて処理を実行することで、本コンピュータは以下説明する各処理を実行することになる。
Next, processing performed by the
先ずステップS8010では、停止対象のバンドルのバンドル管理オブジェクトのステータス5030を参照する。そしてこのステータス5030がACTIVEであるか否かをチェックする。このチェックの結果、このステータス5030がACTIVEではない場合には、既に停止しているものとして本処理を終了する。一方、このステータス5030がACTIVEである場合には、処理をステップS8020に進める。
First, in step S8010, the
ステップS8020では、停止対象であるバンドルのバンドル管理オブジェクトの属性リスト5040にSystemLibrary属性が設定されているか否かをチェックする。このチェックの結果、SystemLibrary属性が設定されている場合には処理をステップS8040に進める。一方、設定されていない場合には、処理をステップS8030に進める。
In step S8020, it is checked whether the SystemLibrary attribute is set in the
ステップS8030では、停止対象であるバンドルは通常のバンドルであるため、通常の停止処理を行う。停止処理が終了すると、このバンドル管理オブジェクトのステータス5030に停止中であることを示すINSTALLED状態値を設定する。そして本処理を終了する。
In step S8030, since the bundle to be stopped is a normal bundle, normal stop processing is performed. When the stop process ends, an INSTALLED state value indicating that the bundle management object is stopped is set in the
一方、ステップS8040では、停止対象のバンドルがインストールされたパスをサブクラスパス管理テーブル7010から削除する。 On the other hand, in step S8040, the path where the bundle to be stopped is installed is deleted from the subclass path management table 7010.
図7Bは、サブクラスパス管理テーブルの構成例を示すと共に、このサブクラスパス管理テーブルからパスを削除する処理について説明する図である。 FIG. 7B is a diagram illustrating a configuration example of the subclass path management table and explaining processing for deleting a path from the subclass path management table.
先ず、同図左側に示す如く、サブクラスパス管理テーブル7010に登録しているパスの中から、停止対象となっているバンドルのパスを検索する。ここでは検索する対象として「BundleB.jar」を例に取り説明する。「BundleB.jar」を検索すると、このエントリをサブクラスパス管理テーブル7010から削除する。同図中央は、この削除を行った後のサブクラスパス管理テーブル7010を示している。 First, as shown on the left side of the figure, the bundle path to be stopped is searched from the paths registered in the subclass path management table 7010. Here, “BundleB.jar” will be described as an example of a search target. When searching for “BundleB.jar”, this entry is deleted from the subclass path management table 7010. The center of the figure shows the subclass path management table 7010 after this deletion.
そして同図右側に示す如く、削除したエントリ以降のパスの格納位置を1つずつ前方にずらすと共に、lastポインタの位置を1つ前に移動させる。 Then, as shown on the right side of the figure, the storage positions of the paths after the deleted entry are shifted forward one by one, and the position of the last pointer is moved forward by one.
そして最後に、このサブクラスパス管理テーブル7010に登録されている内容をクラスパス形式の文字列に変換し、サブクラスパス記憶ファイル7020に格納する。そして、バンドル管理オブジェクトのステータス5030に停止中であることを示すINSTALLED状態値を設定する。
Finally, the contents registered in the subclass path management table 7010 are converted into a character string in the class path format and stored in the sub class
以上説明した処理でもって、実行中のバンドルを停止させることができる。 With the processing described above, the bundle being executed can be stopped.
次に、上記一連の処理後、本コンピュータを再起動させる場合に、制御部1010が行う処理について説明する。
Next, processing performed by the
通常のJava(登録商標)プログラムを実行するJava(登録商標) VM 2030は、そのプログラムが使用するライブラリをクラスパスと呼ばれるファイルパス情報として設定してからそのプログラムを起動する。このクラスパスは、Java(登録商標) VM 2030を起動する起動コマンドjavaのコマンドパラメータとして与えられる。
The Java (registered trademark)
以下にjavaコマンドのコマンドラインの例を示す。これは、初期クラスパスをa.jar; b.jar; c.jarとし、x.y.zクラスをメインクラスとして起動する際のものである。 Here is an example command line for the java command: This is when starting with the initial class path as a.jar; b.jar; c.jar and the x.y.z class as the main class.
java −classpath a.jar;b.jar;c.jar x.y.z
通常、クラスを検索する際に、このコマンドパラメータとして指定されたクラスパスによって追加されたライブラリは、本コンピュータに必要なシステムライブラリの次に検索される。
java −classpath a.jar; b.jar; c.jar xyz
Normally, when searching for a class, the library added by the class path specified as the command parameter is searched next to the system library necessary for the computer.
図7Cは、本コンピュータを再起動する際の処理の流れを模式的に示した図である。 FIG. 7C is a diagram schematically showing the flow of processing when the computer is restarted.
バンドルの起動/終了時に設定/変更されたサブクラスパス記憶ファイル7020からライブラリのファイルパスを取得し、システムライブラリとコマンドパラメータで指定されたクラスパスの間に挿入する。係る処理により、システムライブラリ群7030を構築する。
The library file path is acquired from the subclass
そして、このようにして生成したシステムライブラリ群7030を本コンピュータのクラスをロードするシステムクラスローダ7040の構築時に与え、バンドルのファイルをシステムクラスのサーチパスに加える。
Then, the
即ち、プラットフォーム上で実行可能な言語でもって記述されたソフトウェアモジュール群のうち、ライブラリ化するソフトウェアモジュールについてはその記憶場所を示すパスをリストに登録する。そして、この登録処理後に本コンピュータを起動する場合には、このリストに登録されたパスを起動コマンドのコマンドパラメータとして与えてから、この起動コマンドを用いて本コンピュータを起動する。 That is, among software module groups described in a language that can be executed on the platform, a path indicating the storage location is registered in the list for a software module to be made into a library. When the computer is started after the registration process, the path registered in the list is given as a command parameter of the start command, and the computer is started using the start command.
以上説明した処理でもって、本コンピュータを再起動させることができる。 The computer can be restarted by the processing described above.
OSGiでは、プラットフォームをシャットダウンするときの各バンドルの状態を記憶しておき、再度プラットフォームが起動されたときに記憶されていた状態に戻す仕様になっている。例えば、プラットフォームのシャットダウン時に起動されていたバンドルはプラットフォームの立ち上げ時に自動的に起動される。この起動の手順は上述したバンドルの起動手順と全く同じため、サブクラスパス管理テーブル7010は空の状態で初期化しておけば、バンドルの起動処理によって自動的に再構築される。 OSGi is designed to store the state of each bundle when the platform is shut down and to return to the state stored when the platform is started again. For example, a bundle that was activated when the platform was shut down is automatically activated when the platform is started. Since this activation procedure is exactly the same as the above-described bundle activation procedure, if the subclass path management table 7010 is initialized in an empty state, it is automatically reconstructed by the bundle activation process.
以上の説明により、本実施形態によれば、システムライブラリとして使用したいバンドルのファイルを、実際にシステムライブラリとして使用することができるようになる。 As described above, according to the present embodiment, a bundle file to be used as a system library can be actually used as a system library.
また通常、プラットフォームを構成するクラスは、コマンドパラメータとして指定されるクラスパス上に指定されるライブラリに格納されることが多い。例えば、プラットフォームを構成するクラス群の一部のクラスを入れ替えてバージョンアップを図りたいと言うときを考えてみる。この場合、入れ替えるクラスからなるバンドルのファイルを生成し、SystemLibrary属性を設定して通常のバンドルと全く同じようにインストールして起動さえしておけば、次に起動した時には、バージョンアップしたクラスが使用可能になっている。 In general, the classes constituting the platform are often stored in a library designated on a class path designated as a command parameter. For example, suppose that you want to upgrade a version by replacing some of the classes that make up the platform. In this case, if you create a bundle file consisting of the classes to be replaced, set the SystemLibrary attribute, install and start it just like a normal bundle, the upgraded class will be used the next time it starts It is possible.
<その他の実施形態>
また、本発明の目的は、以下のようにすることによって達成されることはいうまでもない。即ち、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行する。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
<Other embodiments>
Needless to say, the object of the present invention can be achieved as follows. That is, a recording medium (or storage medium) that records a program code of software that implements the functions of the above-described embodiments is supplied to a system or apparatus. Then, the computer (or CPU or MPU) of the system or apparatus reads and executes the program code stored in the recording medium. In this case, the program code itself read from the recording medium realizes the functions of the above-described embodiment, and the recording medium on which the program code is recorded constitutes the present invention.
また、コンピュータが読み出したプログラムコードを実行することにより、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行う。その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。 Further, by executing the program code read by the computer, an operating system (OS) or the like running on the computer performs part or all of the actual processing based on the instruction of the program code. Needless to say, the process includes the case where the functions of the above-described embodiments are realized.
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれたとする。その後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。 Furthermore, it is assumed that the program code read from the recording medium is written in a memory provided in a function expansion card inserted into the computer or a function expansion unit connected to the computer. After that, based on the instruction of the program code, the CPU included in the function expansion card or function expansion unit performs part or all of the actual processing, and the function of the above-described embodiment is realized by the processing. Needless to say.
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。 When the present invention is applied to the recording medium, program code corresponding to the flowchart described above is stored in the recording medium.
Claims (5)
前記ソフトウェアモジュール管理機能を用いて、インストールされたソフトウェアモジュールを実行するときに必要となる属性を、ソフトウェアモジュールを起動する際に参照する参照手段を備え、
前記属性として、管理対象となるソフトウェアモジュールをアプリケーション自身に利用可能とするシステムライブラリ化属性を持ち、
ソフトウェアモジュールが起動されるときに前記参照手段が前記システムライブラリ化属性を参照することで、前記ソフトウェアモジュール管理機能により、対象となるソフトウェアモジュールを前記アプリケーションで使用可能とする
ことを特徴とする情報処理装置。 An information processing apparatus including an application having a software module management function for managing a plurality of software modules,
Using the software module management function, comprising a reference means for referring to attributes required when executing the installed software module when starting the software module,
As the attribute, it has a system library attribute that makes the software module to be managed available to the application itself,
When the software module is activated, the reference means refers to the system library attribute, so that the software module management function enables the target software module to be used in the application. apparatus.
前記ソフトウェアモジュール管理機能を用いて、インストールされたソフトウェアモジュールを実行するときに必要となる属性を、ソフトウェアモジュールを起動する際に参照する参照工程を備え、
前記属性として、管理対象となるソフトウェアモジュールをアプリケーション自身に利用可能とするシステムライブラリ化属性を持ち、
ソフトウェアモジュールが起動されるときに前記参照工程で前記システムライブラリ化属性を参照することで、前記ソフトウェアモジュール管理機能により、対象となるソフトウェアモジュールを前記アプリケーションで使用可能とする
ことを特徴とする情報処理方法。 An information processing method performed by an information processing apparatus including an application having a software module management function for managing a plurality of software modules,
Using the software module management function, comprising a reference step of referring to attributes required when executing the installed software module when starting the software module,
As the attribute, it has a system library attribute that makes the software module to be managed available to the application itself,
By referring to the system library attribute in the reference step when the software module is activated, the software module management function enables the target software module to be used in the application. Method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006238167A JP2008059482A (en) | 2006-09-01 | 2006-09-01 | Information processor and processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006238167A JP2008059482A (en) | 2006-09-01 | 2006-09-01 | Information processor and processing method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008059482A true JP2008059482A (en) | 2008-03-13 |
Family
ID=39242104
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006238167A Withdrawn JP2008059482A (en) | 2006-09-01 | 2006-09-01 | Information processor and processing method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008059482A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009294773A (en) * | 2008-06-03 | 2009-12-17 | Ricoh Co Ltd | Information processor, information processing method, information processing program and recording medium |
JP2010066903A (en) * | 2008-09-09 | 2010-03-25 | Ricoh Co Ltd | Information processor, program registration/start method and registration/start program |
WO2010052979A1 (en) * | 2008-11-05 | 2010-05-14 | ソニー株式会社 | Information processing device, information processing method, and program |
-
2006
- 2006-09-01 JP JP2006238167A patent/JP2008059482A/en not_active Withdrawn
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009294773A (en) * | 2008-06-03 | 2009-12-17 | Ricoh Co Ltd | Information processor, information processing method, information processing program and recording medium |
JP2010066903A (en) * | 2008-09-09 | 2010-03-25 | Ricoh Co Ltd | Information processor, program registration/start method and registration/start program |
WO2010052979A1 (en) * | 2008-11-05 | 2010-05-14 | ソニー株式会社 | Information processing device, information processing method, and program |
JP2010113474A (en) * | 2008-11-05 | 2010-05-20 | Sony Corp | Information processing device, information processing method, and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9773017B2 (en) | Method of configuring a virtual application | |
US7210131B2 (en) | Method and system for migrating computer state | |
US8418169B2 (en) | Management method for managing software module and information processor | |
US20110145807A1 (en) | Method and device for updating a computer application | |
JPH10283189A (en) | Built-in executable application, computer readable storage medium, preparation method for built-in executable application and preparation system therefor | |
US8112745B2 (en) | Apparatus and method for capabilities verification and restriction of managed applications in an execution environment | |
JP2007206965A (en) | Information processor and method for executing object-oriented program in the same device and its program | |
JP2014515858A (en) | Method and apparatus for recombining executing instructions | |
JP2001356912A (en) | Install/update/uninstall system of software | |
TW201721412A (en) | Selecting and loading firmware volumes | |
RU2554851C2 (en) | Capturing and loading operating system states | |
JP2006065462A (en) | Software system, software stopping method, program, and storage medium | |
JP2008059482A (en) | Information processor and processing method | |
KR102067974B1 (en) | Image forming apparatus and method for deleting application | |
WO2017036197A1 (en) | Method and device for managing network element model | |
JP2017126293A (en) | Information processing apparatus and resource management method | |
US9940334B2 (en) | Image forming apparatus and control method thereof | |
JP2009266149A (en) | Job management program and job management apparatus | |
JP2016051395A (en) | Image forming apparatus and resource management method | |
CN112486511A (en) | Method for generating operating system installation mirror image through web | |
CN107153554B (en) | Information processing apparatus and library management method | |
US20090044195A1 (en) | method for performing tasks based on differences in machine state | |
US20230099057A1 (en) | Techniques for managing software applications | |
Waldén | Customizing BIOS/UEFI From OS Using EFI Variables | |
JP2004362331A (en) | Information processor and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20091110 |