[go: up one dir, main page]

JP5613091B2 - Device driver startup monitoring program, electronic equipment - Google Patents

Device driver startup monitoring program, electronic equipment Download PDF

Info

Publication number
JP5613091B2
JP5613091B2 JP2011068097A JP2011068097A JP5613091B2 JP 5613091 B2 JP5613091 B2 JP 5613091B2 JP 2011068097 A JP2011068097 A JP 2011068097A JP 2011068097 A JP2011068097 A JP 2011068097A JP 5613091 B2 JP5613091 B2 JP 5613091B2
Authority
JP
Japan
Prior art keywords
device driver
osgi
electronic device
monitoring program
driver
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2011068097A
Other languages
Japanese (ja)
Other versions
JP2012203679A (en
Inventor
村松 健太郎
健太郎 村松
直樹 村山
直樹 村山
桃子 矢部
桃子 矢部
暢大 高木
暢大 高木
俊紀 門田
俊紀 門田
田中 逸清
逸清 田中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone East Corp
EXA CO Ltd
Original Assignee
Nippon Telegraph and Telephone East Corp
EXA CO Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone East Corp, EXA CO Ltd filed Critical Nippon Telegraph and Telephone East Corp
Priority to JP2011068097A priority Critical patent/JP5613091B2/en
Publication of JP2012203679A publication Critical patent/JP2012203679A/en
Application granted granted Critical
Publication of JP5613091B2 publication Critical patent/JP5613091B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明は、OSGiプラットフォーム上のバンドルとして構成されているデバイスドライバを備えた電子機器に関するものである。   The present invention relates to an electronic device including a device driver configured as a bundle on an OSGi platform.

コンピュータや組込機器などの電子機器に外部デバイスを接続したとき、その外部デバイスを電子機器のOS(オペレーティングシステム)に認識させるためには、デバイスドライバと呼ばれるプログラムモジュールが必要になる。このデバイスドライバをJava(登録商標)言語によって実装する手法として、下記非特許文献1に記載されているものがある。   When an external device is connected to an electronic device such as a computer or an embedded device, a program module called a device driver is required in order for the external device to be recognized by the OS (operating system) of the electronic device. As a method for mounting this device driver in the Java (registered trademark) language, there is one described in Non-Patent Document 1 below.

また、Javaで実装されたモジュールをプラグインモジュール化する技術として、下記非特許文献2に記載されているOSGi(登録商標)プラットフォームがある。OSGiプラットフォームとは、JavaプログラムをPluginモジュールとして動的にアプリケーションへ追加できるようにする、サービスプラットフォームである。OSGiプラットフォーム本体は、常時起動しているスタンドアロンJavaアプリケーションとして実装されている。OSGiの配下でプラグインモジュール化されているJavaモジュールは、バンドルと呼ばれる。 Further, as a technology for converting a module mounted in Java into a plug-in module, there is an OSGi (registered trademark) platform described in Non-Patent Document 2 below. The OSGi platform is a service platform that allows a Java program to be dynamically added to an application as a Plugin module. The OSGi platform main body is implemented as a stand-alone Java application that is always activated. Java modules that are plug-in modules under OSGi are called bundles.

Javaによって実装されたデバイスドライバも、OSGi配下のバンドルとしてプラグインモジュール化することができる。   A device driver implemented by Java can also be made into a plug-in module as a bundle under OSGi.

JSR80 API Specification、URL:http://javax-usb.org/jsr80.pdf(2011年2月21日取得)JSR80 API Specification, URL: http://javax-usb.org/jsr80.pdf (acquired on February 21, 2011) OSGi Service Platform Release 4、URL:http://www.osgi.org/Release4/HomePage(2011年2月21日取得)OSGi Service Platform Release 4, URL: http://www.osgi.org/Release4/HomePage (acquired on February 21, 2011)

OSGiのバンドルは、OSGi配下で個別に起動され、起動完了するまでは外部から利用することができない。そのため、Javaによって実装されたデバイスドライバを、OSGi配下のバンドルとしてプラグインモジュール化した場合、全てのデバイスドライバが起動し終えるまでは、Javaによって実装されたデバイスドライバを利用することができない。   The OSGi bundle is individually activated under OSGi and cannot be used from the outside until the activation is completed. Therefore, when a device driver mounted by Java is converted into a plug-in module as a bundle under OSGi, the device driver mounted by Java cannot be used until all device drivers have been activated.

また、デバイスドライバがOSGiバンドルとして実装されている場合、電子機器に外部デバイスが接続され、これに適したデバイスドライバを当該電子機器のOSが選択しようとしたときに、デバイスドライバではないものも含めた個々のOSGiバンドルが起動完了しているか否かを、OSからは知ることができない。そのため、Javaで実装されたデバイスドライバをOSが検索しようとしたとき、全てのデバイスドライバを検索し尽くしたのか、それとも起動はしていないが外部デバイスに適したデバイスドライバが未だ残っているのかを判断することができない。   In addition, when the device driver is implemented as an OSGi bundle, when an external device is connected to the electronic device and the OS of the electronic device tries to select a device driver suitable for the external device, the device driver is also included. It is impossible for the OS to know whether or not each OSGi bundle has been activated. Therefore, when the OS tries to search for device drivers installed in Java, whether all device drivers have been searched, or whether a device driver suitable for an external device has not been started, but still remains. I can't judge.

本発明は、上記のような課題を解決するためになされたものであり、OSGiのバンドルとして実装された全てのデバイスドライバをOSが確実に利用できるようにすることができる技術を提供することを目的とする。   The present invention has been made in order to solve the above-described problems, and provides a technique capable of ensuring that the OS can use all device drivers implemented as OSGi bundles. Objective.

本発明に係るデバイスドライバ起動監視プログラムは、自身もOSGiバンドルとして構成されており、OSGiバンドルとして構成されたデバイスドライバがOSGi配下で全て起動し終えるまで待機し、起動し終えるとその旨を電子機器のOSに通知する。   The device driver activation monitoring program according to the present invention is also configured as an OSGi bundle, and waits until all of the device drivers configured as an OSGi bundle have been activated under OSGi, and when the activation is completed, the electronic device To the OS.

本発明に係るデバイスドライバ起動監視プログラムによれば、電子機器のOSは、OSGiバンドルとして構成されたデバイスドライバがOSGi配下で全て起動したことを知ることができる。これにより、OSは全てのデバイスドライバを確実に検索することができるので、有用なデバイスドライバが利用されないままになるような状況を回避することができる。   According to the device driver activation monitoring program according to the present invention, the OS of the electronic device can know that all device drivers configured as OSGi bundles have been activated under OSGi. As a result, the OS can reliably search for all device drivers, so that a situation in which a useful device driver remains unused can be avoided.

実施形態1に係る電子機器100の機能ブロック図である。1 is a functional block diagram of an electronic device 100 according to Embodiment 1. FIG. 電子機器100が起動するときの処理手順を示す図である。It is a figure which shows the process sequence when the electronic device 100 starts. 電子機器100に外部デバイス200が接続されたときの動作手順を示す図である。FIG. 6 is a diagram showing an operation procedure when an external device 200 is connected to the electronic apparatus 100.

<実施の形態1>
図1は、本発明の実施形態1に係る電子機器100の機能ブロック図である。電子機器100は、組込ソフトウェアを実行する組込機器であり、CPU(Central Processing Unit)110、OS120、JavaVM(Virtual Machine)130、ネイティブデバイスドライバ140を備える。
<Embodiment 1>
FIG. 1 is a functional block diagram of an electronic device 100 according to Embodiment 1 of the present invention. The electronic device 100 is an embedded device that executes embedded software, and includes a CPU (Central Processing Unit) 110, an OS 120, a Java VM (Virtual Machine) 130, and a native device driver 140.

CPU110は、OS120とJavaVM130を実行する演算装置である。以下では記載の都合上、OS120などのプログラムを動作主体として説明する場合があるが、実際にこれらプログラムを実行するのはCPU110であることを付言しておく。   The CPU 110 is an arithmetic device that executes the OS 120 and the Java VM 130. In the following, for convenience of description, a program such as the OS 120 may be described as an operation subject, but it is added that the CPU 110 actually executes these programs.

OS120は電子機器100のOSであり、デバイスドライバ選択プログラム121を内部モジュールとして備える。デバイスドライバ選択プログラム121の動作については後述する。JavaVM130は、Java言語で実装されたソフトウェアを実行するJava仮想マシンである。ネイティブデバイスドライバ140は、バイナリコードによって実装されたデバイスドライバである。   The OS 120 is an OS of the electronic device 100 and includes a device driver selection program 121 as an internal module. The operation of the device driver selection program 121 will be described later. The Java VM 130 is a Java virtual machine that executes software implemented in the Java language. The native device driver 140 is a device driver implemented by binary code.

電子機器100は、OS120が起動するとき、OSGiプラットフォーム131を自動的に起動するように設定されている。JavaVM130は、その設定にしたがってOSGiプラットフォーム131を実行する。OSGiプラットフォーム131は、Javaスタンドアロンアプリケーションとして実装されている。以後JavaVM130は、OS120がシャットダウンされるまで、OSGiプラットフォーム131を実行し続ける。   The electronic device 100 is set to automatically start the OSGi platform 131 when the OS 120 is started. The Java VM 130 executes the OSGi platform 131 according to the setting. The OSGi platform 131 is implemented as a Java stand-alone application. Thereafter, the Java VM 130 continues to execute the OSGi platform 131 until the OS 120 is shut down.

OSGiプラットフォーム131の配下には、OSGiバンドルとして実装されたバイトコードデバイスドライバ132が配置されている。OSGiプラットフォーム131は、バイトコードデバイスドライバ132をプラグイン形式で任意にロードし、またはアンロードすることができる。   Under the OSGi platform 131, a bytecode device driver 132 implemented as an OSGi bundle is arranged. The OSGi platform 131 can arbitrarily load or unload the bytecode device driver 132 in a plug-in format.

バイトコードデバイスドライバ132とネイティブデバイスドライバ140は、それぞれ複数種類設けてもよい。   A plurality of types of byte code device drivers 132 and native device drivers 140 may be provided.

OSGiプラットフォーム131の配下には、バイトコードデバイスドライバ132の他に、デバイスドライバ起動監視プログラム133が配置されている。デバイスドライバ起動監視プログラム133も、OSGiバンドルとして実装されている。デバイスドライバ起動監視プログラム133の動作については後述する。   In addition to the bytecode device driver 132, a device driver activation monitoring program 133 is arranged under the OSGi platform 131. The device driver activation monitoring program 133 is also implemented as an OSGi bundle. The operation of the device driver activation monitoring program 133 will be described later.

図2は、電子機器100が起動するときの処理手順を示す図である。記載の都合上、構成要素の符号は省略した。以下、図2の各ステップについて説明する。   FIG. 2 is a diagram illustrating a processing procedure when the electronic device 100 is activated. For convenience of description, the reference numerals of the constituent elements are omitted. Hereinafter, each step of FIG. 2 will be described.

(図2:ステップ(1))
電子機器100の電源がONするなどして電子機器100が起動すると、CPU110はOS120を起動する。
(Figure 2: Step (1))
When the electronic device 100 is activated, for example, when the electronic device 100 is turned on, the CPU 110 activates the OS 120.

(図2:ステップ(2))
OS120は、起動するときにOSGiプラットフォーム131を自動起動するように設定されている。OS120は、その設定にしたがって、JavaVM130を介してOSGiプラットフォーム131を起動する。
(Figure 2: Step (2))
The OS 120 is set to automatically start the OSGi platform 131 when it is started. The OS 120 activates the OSGi platform 131 via the Java VM 130 according to the setting.

(図2:ステップ(3))
OSGiプラットフォーム131は、配下のOSGiバンドルを順次起動する。ここではバイトコードデバイスドライバ132とデバイスドライバ起動監視プログラム133を起動する。
(Figure 2: Step (3))
The OSGi platform 131 sequentially activates subordinate OSGi bundles. Here, the bytecode device driver 132 and the device driver activation monitoring program 133 are activated.

(図2:ステップ(3):補足)
OSGiの仕様によれば、各OSGiバンドルのサービスリスナーを登録しておくことにより、デバイスドライバ起動監視プログラム133は、各OSGiバンドルが起動または終了しているか否かを把握することができる。あるいは、デバイスドライバ起動監視プログラム133が起動した後、デバイスドライバ起動監視プログラム133から各バイトコードデバイスドライバ132に対して、起動完了しているか否かを問い合わせるようにしてもよい。
(Figure 2: Step (3): Supplement)
According to the OSGi specification, by registering the service listener of each OSGi bundle, the device driver activation monitoring program 133 can grasp whether each OSGi bundle is activated or terminated. Alternatively, after the device driver activation monitoring program 133 is activated, the device driver activation monitoring program 133 may inquire each byte code device driver 132 as to whether or not activation has been completed.

(図2:ステップ(4))
デバイスドライバ起動監視プログラム133は、全てのバイトコードデバイスドライバ132が起動完了すると、その旨をOS120に通知する。
(Figure 2: Step (4))
The device driver activation monitoring program 133 notifies the OS 120 when all the byte code device drivers 132 have been activated.

(図2:ステップ(4):補足その1)
本ステップにおける上記通知を実装する1手法としては、例えばOS120がJavaVM130を介してOSGiプラットフォーム131を起動するとき、本ステップにおける通知先として、コールバック関数の関数ポインタをOSGiプラットフォーム131に通知しておくことが考えられる。OSGiプラットフォーム131は、デバイスドライバ起動監視プログラム133を起動するとき、その関数ポインタをデバイスドライバ起動監視プログラム133に引き渡す。デバイスドライバ起動監視プログラム133は、本ステップにおいてそのコールバック関数を呼び出す。このコールバック関数は、OS120が備える関数でもよいし、デバイスドライバ選択プログラム121が備える関数でもよい。
(Figure 2: Step (4): Supplement 1)
As one method for implementing the above notification in this step, for example, when the OS 120 starts the OSGi platform 131 via the Java VM 130, the function pointer of the callback function is notified to the OSGi platform 131 as the notification destination in this step. It is possible. When the OSGi platform 131 activates the device driver activation monitoring program 133, the OSGi platform 131 passes the function pointer to the device driver activation monitoring program 133. The device driver activation monitoring program 133 calls the callback function in this step. This callback function may be a function provided in the OS 120 or a function provided in the device driver selection program 121.

(図2:ステップ(4):補足その2)
デバイスドライバ起動監視プログラム133は、バイトコードデバイスドライバ132が全て起動した時点で本ステップを実行すればよく、バイトコードデバイスドライバ132でないOSGiバンドルが起動完了するまで待機する必要はない。
(Figure 2: Step (4): Supplement 2)
The device driver activation monitoring program 133 may execute this step when all the bytecode device drivers 132 are activated, and does not need to wait until the OSGi bundle that is not the bytecode device driver 132 is activated.

図3は、電子機器100に外部デバイス200が接続されたときの動作手順を示す図である。記載の都合上、構成要素の符号は省略した。以下、図3の各ステップについて説明する。   FIG. 3 is a diagram illustrating an operation procedure when the external device 200 is connected to the electronic apparatus 100. For convenience of description, the reference numerals of the constituent elements are omitted. Hereinafter, each step of FIG. 3 will be described.

(図3:ステップ(1))
電子機器100の接続ポートに外部デバイス200が接続されると、CPU110はその旨を検出する。
(Figure 3: Step (1))
When the external device 200 is connected to the connection port of the electronic device 100, the CPU 110 detects that fact.

(図3:ステップ(2))
CPU110は、OS120に対し、外部デバイス200に適したデバイスドライバを選択するように指示する。OS120は、その指示にしたがって、デバイスドライバ選択プログラム121を起動する。
(Figure 3: Step (2))
The CPU 110 instructs the OS 120 to select a device driver suitable for the external device 200. The OS 120 starts the device driver selection program 121 according to the instruction.

(図3:ステップ(3))
デバイスドライバ選択プログラム121は、ネイティブデバイスドライバ140のなかに、外部デバイス200に適したデバイスドライバが存在するか否かを検索する。該当するデバイスドライバが存在すれば、そのデバイスドライバをOS120に提供し、OS120はそのデバイスドライバを用いて外部デバイス200を認識する。該当するデバイスドライバが存在しない場合は、ステップ(4)に進む。
(Figure 3: Step (3))
The device driver selection program 121 searches for a device driver suitable for the external device 200 in the native device driver 140. If the corresponding device driver exists, the device driver is provided to the OS 120, and the OS 120 recognizes the external device 200 using the device driver. If no corresponding device driver exists, the process proceeds to step (4).

(図3:ステップ(4))
デバイスドライバ選択プログラム121は、バイトコードデバイスドライバ132のなかに、外部デバイス200に適したデバイスドライバが存在するか否かを検索するように、JavaVM130を介してOSGiプラットフォーム131へ依頼する。OSGiプラットフォーム131(またはその配下の適当なOSGiバンドル)は、バイトコードデバイスドライバ132のなかから該当するデバイスドライバを検索する。該当するデバイスドライバが存在すれば、そのデバイスドライバをOS120に提供し、OS120はそのデバイスドライバを用いて外部デバイス200を認識する。該当するデバイスドライバが存在しない場合は、適当なデバイスドライバが存在しない旨をOS120に回答する。
(Figure 3: Step (4))
The device driver selection program 121 requests the OSGi platform 131 via the Java VM 130 to search the bytecode device driver 132 for a device driver suitable for the external device 200. The OSGi platform 131 (or an appropriate OSGi bundle under the OSGi platform) searches the byte code device driver 132 for a corresponding device driver. If the corresponding device driver exists, the device driver is provided to the OS 120, and the OS 120 recognizes the external device 200 using the device driver. If the corresponding device driver does not exist, the OS 120 is answered that there is no appropriate device driver.

(図3:ステップ(4):補足)
本ステップの時点において、OS120が図2のステップ(4)の通知を未だ受け取っていない場合は、バイトコードデバイスドライバ132が起動完了していないため、デバイスドライバ選択プログラム121は同通知を受け取るまで待機するようにしてもよい。これにより、デバイスドライバ選択プログラム121は、OSGiプラットフォーム131の配下にある全てのバイトコードデバイスドライバ132が利用可能な状態になるまで待機することになるので、全てのバイトコードデバイスドライバ132を確実に検索することができる。バイトコードデバイスドライバ132を検索する必要があまりない場合などには、待機せず本ステップを終了するようにしてもよい。
(Figure 3: Step (4): Supplement)
If the OS 120 has not yet received the notification of step (4) in FIG. 2 at the time of this step, since the bytecode device driver 132 has not been started, the device driver selection program 121 waits until receiving this notification. You may make it do. As a result, the device driver selection program 121 waits until all the bytecode device drivers 132 under the OSGi platform 131 become available, so that all the bytecode device drivers 132 are surely searched. can do. If there is not much need to search for the bytecode device driver 132, this step may be terminated without waiting.

以上、電子機器100に外部デバイス200が接続されたときの動作手順を説明した。なお、デバイスドライバ選択プログラム121は、OS120配下のプログラムモジュールとして実装してもよいし、OS120の一部として実装してもよい。   The operation procedure when the external device 200 is connected to the electronic apparatus 100 has been described above. Note that the device driver selection program 121 may be implemented as a program module under the OS 120 or as a part of the OS 120.

<実施の形態1:まとめ>
以上のように、本実施形態1に係るデバイスドライバ起動監視プログラム133は、OSGiバンドルとして実装されている全てのバイトコードデバイスドライバ132がOSGiプラットフォーム131の配下で起動し終えると、その旨をOS120に通知する。これにより、OS120は、全てのバイトコードデバイスドライバ132を確実に利用することができる。
<Embodiment 1: Summary>
As described above, the device driver activation monitoring program 133 according to the first embodiment informs the OS 120 when all the bytecode device drivers 132 implemented as the OSGi bundle have been activated under the OSGi platform 131. Notice. As a result, the OS 120 can reliably use all the bytecode device drivers 132.

また、本実施形態1に係る電子機器100において、デバイスドライバ選択プログラム121は、外部デバイス200に適したデバイスドライバを検索するとき、全てのバイトコードデバイスドライバ132がOSGiプラットフォーム131の配下で起動し終えた旨の通知を受け取っていない場合は、同通知を受け取るまで待機する。これにより、上記効果を確実に発揮することができる。   In the electronic device 100 according to the first embodiment, when the device driver selection program 121 searches for a device driver suitable for the external device 200, all the bytecode device drivers 132 have been started up under the OSGi platform 131. If no notification has been received, the system waits until the notification is received. Thereby, the said effect can be exhibited reliably.

<実施の形態2>
Javaバイトコードによって実装されているデバイスドライバは、物理層の制御に関してはより下層のデバイスドライバに委譲するのが通常である。したがって、実施形態1において、バイトコードデバイスドライバ132は、電子機器100および外部デバイス200の物理信号を制御するレイヤーよりも上位のデバイスドライバとして実装されていることが望ましい。ネイティブデバイスドライバ140もバイトコードデバイスドライバ132と同じレイヤーのデバイスドライバであるため、同様である。
<Embodiment 2>
The device driver implemented by the Java bytecode is usually delegated to a lower-layer device driver for physical layer control. Therefore, in the first embodiment, the bytecode device driver 132 is preferably mounted as a device driver higher than the layer that controls the physical signals of the electronic device 100 and the external device 200. Since the native device driver 140 is a device driver in the same layer as the bytecode device driver 132, the same applies.

例えば、外部デバイス200としてUSB規格に準拠したデバイスを想定する。USB規格では、(広義の)デバイスドライバのレイヤーとして、バスドライバ、コアドライバ、(狭義の)デバイスドライバが規定されている。バイトコードデバイスドライバ132とネイティブデバイスドライバ140は、USB規格における(狭義の)デバイスドライバとして実装されていることが望ましい。   For example, a device conforming to the USB standard is assumed as the external device 200. In the USB standard, a bus driver, a core driver, and a device driver (in a narrow sense) are defined as layers of a device driver (in a broad sense). The bytecode device driver 132 and the native device driver 140 are preferably implemented as (narrowly defined) device drivers in the USB standard.

100:電子機器、110:CPU、120:OS、121:デバイスドライバ選択プログラム、130:JavaVM、131:OSGiプラットフォーム、132:バイトコードデバイスドライバ、133:デバイスドライバ起動監視プログラム、140:ネイティブデバイスドライバ、200:外部デバイス。   100: Electronic device, 110: CPU, 120: OS, 121: Device driver selection program, 130: JavaVM, 131: OSGi platform, 132: Byte code device driver, 133: Device driver activation monitoring program, 140: Native device driver, 200: External device.

Claims (6)

OSGiのバンドルとして構成された電子機器のデバイスドライバが前記OSGiの配下で起動したことを前記電子機器のOSに通知する処理を、前記電子機器が備える演算装置に実行させる、デバイスドライバ起動監視プログラムであって、前記演算装置に、
前記OSGiのバンドルとして構成された全ての前記デバイスドライバが前記OSGiの配下で起動するまで待機するステップ、
全ての前記デバイスドライバが前記OSGiの配下で起動すると、その旨を前記電子機器のOSに通知するステップ、
を実行させ、
前記デバイスドライバ起動監視プログラムは、前記デバイスドライバ以外の前記OSGiのバンドルとして構成されている
ことを特徴とするデバイスドライバ起動監視プログラム。
A device driver activation monitoring program for causing an arithmetic unit included in the electronic device to execute processing for notifying the OS of the electronic device that a device driver of the electronic device configured as an OSGi bundle has been activated under the OSGi In the arithmetic unit,
Waiting until all the device drivers configured as OSGi bundles are started under the OSGi;
When all the device drivers are started under the control of the OSGi, notifying the OS of the electronic device to that effect;
And execute
The device driver activation monitoring program is configured as a bundle of the OSGi other than the device driver.
請求項1記載のデバイスドライバ起動監視プログラムと、
OSGiプラットフォームを実行するJavaVMと、
前記デバイスドライバ起動監視プログラムと前記JavaVMを配下に有するOSと、
前記デバイスドライバ起動監視プログラム、前記JavaVM、および前記OSを実行する演算装置と、
を備えたことを特徴とする電子機器。
A device driver activation monitoring program according to claim 1;
JavaVM running the OSGi platform;
An OS having the device driver activation monitoring program and the JavaVM under control;
An arithmetic device that executes the device driver activation monitoring program, the JavaVM, and the OS;
An electronic device characterized by comprising:
バイナリコードで実装されたネイティブデバイスドライバと、
前記電子機器に外部デバイスが接続されたとき、前記外部デバイスを前記電子機器のOSに認識させるためのデバイスドライバを選択する処理を、前記演算装置に実行させるデバイスドライバ選択プログラムと、
を備え、
前記デバイスドライバ選択プログラムは、前記演算装置に、
前記外部デバイスに適合する前記ネイティブデバイスドライバを検索するネイティブ検索ステップ、
前記ネイティブ検索ステップにおいて前記外部デバイスに適合するデバイスドライバが見つからず、かつ前記デバイスドライバ起動監視プログラムから前記OSに対して前記通知が既に届いている場合、前記OSGiのバンドルとして構成されたデバイスドライバのなかから前記外部デバイスに適合するデバイスドライバを検索するステップ、
前記ネイティブ検索ステップにおいて前記外部デバイスに適合するデバイスドライバが見つからず、かつ前記デバイスドライバ起動監視プログラムから前記OSに対して前記通知が届いていない場合、前記通知を待機するステップ、
を実行させることを特徴とする請求項2記載の電子機器。
A native device driver implemented in binary code,
A device driver selection program for causing the arithmetic unit to execute a process of selecting a device driver for causing the OS of the electronic device to recognize the external device when an external device is connected to the electronic device;
With
The device driver selection program is stored in the arithmetic device.
A native search step of searching for the native device driver that matches the external device;
If a device driver that matches the external device is not found in the native search step and the notification has already arrived from the device driver activation monitoring program to the OS, a device driver configured as a bundle of the OSGi Searching for a device driver suitable for the external device,
A step of waiting for the notification when a device driver suitable for the external device is not found in the native search step and the notification is not received from the device driver activation monitoring program to the OS;
The electronic device according to claim 2, wherein the electronic device is executed.
前記OSは、前記演算装置に、
前記JavaVMが前記OSGiプラットフォームの配下で前記デバイスドライバ起動監視プログラムを起動するとき、前記OSまたは前記デバイスドライバ選択プログラムが有する関数の関数ポインタをコールバック先として登録する処理を実行させる
ことを特徴とする請求項3記載の電子機器。
The OS is connected to the arithmetic unit.
When the Java VM activates the device driver activation monitoring program under the OSGi platform, a process of registering a function pointer of a function included in the OS or the device driver selection program as a callback destination is executed. The electronic device according to claim 3.
前記ネイティブデバイスドライバと前記OSGiのバンドルとして構成されたデバイスドライバは、前記電子機器上の物理信号を制御するレイヤーよりも上位のレイヤーのデバイスドライバとして記述されている
ことを特徴とする請求項3または4記載の電子機器。
The native device driver and the device driver configured as the OSGi bundles, claim 3, characterized in that it is described as a device driver for the upper layer than the layer for controlling the physical signals on the electronic device or 4. The electronic device according to 4 .
前記ネイティブデバイスドライバと前記OSGiのバンドルとして構成されたデバイスドライバは、USB規格におけるデバイスドライバレイヤーのデバイスドライバとして記述されている
ことを特徴とする請求項から5のいずれか1項記載の電子機器。
The electronic device according to any one of claims 3 to 5, wherein the device driver configured as a bundle of the native device driver and the OSGi is described as a device driver of a device driver layer in the USB standard. .
JP2011068097A 2011-03-25 2011-03-25 Device driver startup monitoring program, electronic equipment Active JP5613091B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011068097A JP5613091B2 (en) 2011-03-25 2011-03-25 Device driver startup monitoring program, electronic equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011068097A JP5613091B2 (en) 2011-03-25 2011-03-25 Device driver startup monitoring program, electronic equipment

Publications (2)

Publication Number Publication Date
JP2012203679A JP2012203679A (en) 2012-10-22
JP5613091B2 true JP5613091B2 (en) 2014-10-22

Family

ID=47184621

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011068097A Active JP5613091B2 (en) 2011-03-25 2011-03-25 Device driver startup monitoring program, electronic equipment

Country Status (1)

Country Link
JP (1) JP5613091B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105247618B (en) * 2014-04-30 2017-12-15 华为技术有限公司 A kind of hard disk performs the method and device of application code

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4945316B2 (en) * 2007-05-23 2012-06-06 株式会社東芝 Information processing apparatus and error detection method
JP5294892B2 (en) * 2009-01-14 2013-09-18 キヤノン株式会社 Image forming apparatus, apparatus, control method, and program
JP2011048503A (en) * 2009-08-25 2011-03-10 Kyocera Mita Corp Image forming device

Also Published As

Publication number Publication date
JP2012203679A (en) 2012-10-22

Similar Documents

Publication Publication Date Title
US9594586B2 (en) Scale-out method and system
CN102822802B (en) multi-core processor system and control method
KR20130069555A (en) Virtual application extension points
JP2010219725A (en) Network device and method of releasing external storage device on network
KR20070058995A (en) A processor device comprising a dedicated signal processor core capable of dynamically scheduling a task and a method of controlling the task
US9516094B2 (en) Event-responsive download of portions of streamed applications
JP2012079130A (en) Debug support program, debug support device and debug support method
CN116034574A (en) Vehicle service control method and device, vehicle, equipment and storage medium
CN103793248B (en) Method and device for upgrading application program
JP2013519168A5 (en)
JP2012078893A (en) Computer system and management computer
CN108108203B (en) Method, device and system for installation package download and installation process
JP5613091B2 (en) Device driver startup monitoring program, electronic equipment
JP2013246817A (en) Remote card content management using synchronous server-side scripting
WO2011110097A1 (en) Method and device for software downloading
CN103530155A (en) Method and device for installing application program
JP5382624B2 (en) Multiprocessor control device, method and program thereof
CN102902564B (en) Method and the device of patch are installed
JP5613090B2 (en) Device driver selection program, electronic equipment
JP2005348401A5 (en)
CN103984567B (en) The modular method and apparatus of open platform
JP5534801B2 (en) Software defined radio
JP2009087279A (en) Drawing processor
US20150067014A1 (en) Computer system and control method of computer system
US9418038B2 (en) Method and system for accessing data

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131003

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140530

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140603

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140715

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140812

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140905

R150 Certificate of patent or registration of utility model

Ref document number: 5613091

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250