JP2011081488A - Information processing apparatus and information processing program - Google Patents

Information processing apparatus and information processing program Download PDF

Info

Publication number
JP2011081488A
JP2011081488A JP2009231463A JP2009231463A JP2011081488A JP 2011081488 A JP2011081488 A JP 2011081488A JP 2009231463 A JP2009231463 A JP 2009231463A JP 2009231463 A JP2009231463 A JP 2009231463A JP 2011081488 A JP2011081488 A JP 2011081488A
Authority
JP
Japan
Prior art keywords
information processing
bundle
operating system
list
notification
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.)
Granted
Application number
JP2009231463A
Other languages
Japanese (ja)
Other versions
JP5421715B2 (en
Inventor
Hideyuki Ietaka
秀行 家高
Hideyuki Okaniwa
秀幸 岡庭
Kazuo Ninokata
一生 二ノ方
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 Corp
Nippon Telegraph and Telephone East Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Nippon Telegraph and Telephone East Corp
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 Corp, Nippon Telegraph and Telephone East Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2009231463A priority Critical patent/JP5421715B2/en
Publication of JP2011081488A publication Critical patent/JP2011081488A/en
Application granted granted Critical
Publication of JP5421715B2 publication Critical patent/JP5421715B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To improve the stability of equipment by reducing the load of an OS (Operating System) in the equipment on which a plurality of software components operate. <P>SOLUTION: A management bundle 2 having an OS dependence code 24 accepts registration of application bundles 3A and 3B to be registered to the list of a storage part 22, and notifies, when notified of a change of state of a network interface from an OS 11, the application bundles 3A and 3B registered in the list. Thus, communication is minimized between the OS 11 and the bundle, thereby reducing the load of the OS 11, and improving the stability of an information processing apparatus 1. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明は、仮想マシン上で動作するソフトウェアコンポーネントを管理し、機器の安定性を向上させる技術に関する。   The present invention relates to a technique for managing software components operating on a virtual machine and improving the stability of the device.

Java(登録商標)言語に基づいたオープンなソフトウェア部品化技術としてOSGi(Open Services Gateway initiative)フレームワークが知られている。OSGiフレームワークは、ソフトウェアコンポーネントの動的追加、削除、あるいは実行を管理する枠組みである。例えばホームゲートウェイなどの機器にOSGiフレームワークを実装することで、機能変更や機能追加をネットワークを介して容易に行うことが可能となる。OSGiフレームワークを実装した装置として特許文献1に記載のものが知られている。   An OSGi (Open Services Gateway Initiative) framework is known as an open software componentization technology based on the Java (registered trademark) language. The OSGi framework is a framework for managing the dynamic addition, deletion, or execution of software components. For example, by installing the OSGi framework on a device such as a home gateway, it is possible to easily change functions or add functions via a network. A device described in Patent Document 1 is known as a device on which the OSGi framework is mounted.

図4は、OSGiフレームワークを実装した機器の実行環境の構成を示すブロック図である。同図に示すように、OSGiフレームワークを実装した機器は、ハードウェア資源を扱うためのインタフェースを提供するOS(Operating System)、Java(登録商標)バイトコードをOS上で動作可能なネイティブコードに変換して実行する仮想マシン(Java(登録商標) Virtual Machine:JVM)を備え、JVM上にOSGiフレームワークを構築している。OSGiフレームワーク上で動作するソフトウェアコンポーネントをバンドルと呼ぶ。OSGiフレームワークを実装した機器は、バンドルをインストールして実行することで様々なサービスを提供することができる。   FIG. 4 is a block diagram illustrating a configuration of an execution environment of a device in which the OSGi framework is implemented. As shown in the figure, an OSGi framework-implemented device is an OS (Operating System) that provides an interface for handling hardware resources, and Java (registered trademark) bytecode is converted into native code that can operate on the OS. A virtual machine (Java (registered trademark) Virtual Machine: JVM) that executes after conversion is provided, and an OSGi framework is constructed on the JVM. A software component that operates on the OSGi framework is called a bundle. A device in which the OSGi framework is mounted can provide various services by installing and executing a bundle.

図5にOSGiフレームワークを実装したホームゲートウェイの例を示す。同図に示すホームゲートウェイ100は、ユーザ宅内に配置したカメラ220A,220B,220Cを制御し、テレビ210などに画像を転送するカメラ制御バンドル110と、エアコン230、HDDレコーダ240、および冷蔵庫250などの家電を携帯電話310などにより外出先から制御する家電制御バンドル120をインストールして実行している。カメラ制御バンドル110と家電制御バンドル120は共にOSGiフレームワーク上で動作するソフトウェアコンポーネントである。カメラ制御バンドル110は、LAN側インタフェース130のIPアドレスをバインドしてテレビ210から要求を受け付けて、カメラ220A,220B,220Cを制御する。家電制御バンドル120は、ネットワーク300に接続されたWAN側インタフェース140のIPアドレスをバインドして外出先からの要求を受け付けて、LAN側インタフェース130に接続された各種家電を制御する。   FIG. 5 shows an example of a home gateway implemented with the OSGi framework. A home gateway 100 shown in the figure controls a camera 220A, 220B, 220C arranged in a user's home and transfers an image to a television 210 or the like, an air conditioner 230, an HDD recorder 240, a refrigerator 250, and the like. A home appliance control bundle 120 for controlling home appliances from the outside by using a mobile phone 310 or the like is installed and executed. Both the camera control bundle 110 and the home appliance control bundle 120 are software components that operate on the OSGi framework. The camera control bundle 110 binds the IP address of the LAN side interface 130, receives a request from the television 210, and controls the cameras 220A, 220B, and 220C. The home appliance control bundle 120 binds the IP address of the WAN side interface 140 connected to the network 300 and accepts a request from an outside place, and controls various home appliances connected to the LAN side interface 130.

このように、図5に示すカメラ制御バンドル110や家電制御バンドル120はIPアドレスをバインドして要求を受け付けている。このため、ネットワークインタフェースのIPアドレスが変更された場合、そのIPアドレスをバインドしたバンドルは要求を受け付けることができなくなる。そこで、図4に示すように、各バンドルはOS上で動作可能なネイティブコードで実装したOS依存コードを有して、ネットワークインタフェースのIPアドレスの変更などハードウェア資源の状態変化を検知していた。   As described above, the camera control bundle 110 and the home appliance control bundle 120 shown in FIG. 5 accept requests by binding IP addresses. For this reason, when the IP address of the network interface is changed, the bundle bound with the IP address cannot accept the request. Therefore, as shown in FIG. 4, each bundle has OS-dependent code implemented with native code operable on the OS, and detects changes in the state of hardware resources such as a change in the IP address of the network interface. .

特開2009−200803号公報JP 2009-200803 A

しかしながら、ホームゲートウェイなどの機器に搭載されるCPUは、パーソナルコンピュータに搭載されるCPUと比べて低スペックであるため、各バンドルが個別にOSに対してダイレクトにアクセスすることにより、OSの負荷が増大して安定性が悪くなるという問題がある。例えば、ホームゲートウェイのネットワークが切断されたことを、OSが各バンドルに対して通知する場合には、通知の対象となるバンドルの数だけ通知する必要がある。バンドル数が多くなると、その分OSとバンドルとの通信(正常時の処理/エラー時の処理等)が増えるためOSが不安定になりがちである。   However, since the CPU mounted on a device such as a home gateway has a lower specification than the CPU mounted on the personal computer, each bundle individually accesses the OS directly, thereby reducing the load on the OS. There is a problem that the stability increases due to the increase. For example, when the OS notifies each bundle that the network of the home gateway has been disconnected, it is necessary to notify the number of bundles to be notified. If the number of bundles increases, the communication between the OS and the bundle (processing at the normal time / processing at the time of error, etc.) increases accordingly, and the OS tends to become unstable.

特許文献1では、バンドルは、複数のバンドルより共通的に利用される各種の機能を実現するネイティブコードサービスを用いてOS依存の機能を利用しているが、ネイティブコードサービスはOS上で直接動作するものであり、ネイティブコードサービスを利用するバンドル数が増えるとOSの動作が不安定になることが想定される。   In Patent Document 1, a bundle uses an OS-dependent function using a native code service that implements various functions commonly used by a plurality of bundles, but the native code service operates directly on the OS. As the number of bundles using the native code service increases, it is assumed that the operation of the OS becomes unstable.

本発明は、上記に鑑みてなされたものであり、複数のソフトウェアコンポーネントが動作する機器においてOSの負荷を軽減し、機器の安定性を向上させることを目的とする。   The present invention has been made in view of the above, and an object of the present invention is to reduce the load on the OS and improve the stability of a device in a device on which a plurality of software components operate.

第1の本発明に係る情報処理装置は、ハードウェア資源を扱うためのインタフェースを提供するオペレーティングシステムと、オペレーティングシステム上で動作し、中間コードをオペレーティングシステム上で動作可能なネイティブコードに変換して実行する仮想マシンと、仮想マシン上で動作する第1、第2のバンドルと、を有し、第1のバンドルは、第2のバンドルに当該第1のバンドルの登録を依頼する登録依頼手段と、第2のバンドルからの通知を受信する通知受信手段と、を有し、第2のバンドルは、第1のバンドルからの登録依頼を受信して当該第1のバンドルをリストに登録する登録手段と、オペレーティングシステムが提供するインタフェースを用いてハードウェア資源の状態変化を検知する検知手段と、検知手段がハードウェア資源の状態変化を検知したときに、リストを参照し、当該リストに登録された第1のバンドルに対して通知を送信する通知手段と、を有することを特徴とする。   An information processing apparatus according to a first aspect of the present invention is an operating system that provides an interface for handling hardware resources, and that operates on the operating system and converts intermediate code into native code operable on the operating system. A registration request means for requesting the second bundle to register the first bundle, the virtual machine to be executed, and first and second bundles operating on the virtual machine. And a notification receiving unit that receives a notification from the second bundle, and the second bundle receives a registration request from the first bundle and registers the first bundle in the list. Detection means for detecting a change in the state of the hardware resource using an interface provided by the operating system, and the detection means When detecting a change in the state of wear resources, with reference to the list, and having a notification unit that transmits a notification to the first bundle registered in the list, the.

第2の本発明に係る情報処理プログラムは、ハードウェア資源を扱うためのインタフェースを提供するオペレーティングシステムと、オペレーティングシステム上で動作し、中間コードをオペレーティングシステム上で動作可能なネイティブコードに変換して実行する仮想マシンとを備えた情報処理装置の仮想マシン上で動作する情報処理プログラムであって、仮想マシン上で動作する別の情報処理プログラムからの登録依頼を受信して当該別の情報処理プログラムをリストに登録する処理と、オペレーティングシステムが提供するインタフェースを用いてハードウェア資源の状態変化を検知する処理と、ハードウェア資源の状態変化を検知したときに、リストを参照し、当該リストに登録された別の情報処理プログラムに対して通知を送信する処理と、を情報処理装置に実行させることを特徴とする。   An information processing program according to a second aspect of the present invention is an operating system that provides an interface for handling hardware resources, and operates on the operating system, and converts intermediate code into native code that can operate on the operating system. An information processing program that operates on a virtual machine of an information processing apparatus having a virtual machine to be executed, and that receives the registration request from another information processing program that operates on the virtual machine and receives the other information processing program To the list, to detect a change in the state of the hardware resource using the interface provided by the operating system, and when the change in the state of the hardware resource is detected, refer to the list and register to the list Notification to another information processing program Wherein the executing process and that, the information processing apparatus.

第3の本発明に係る情報処理プログラムは、ハードウェア資源を扱うためのインタフェースを提供するオペレーティングシステムと、オペレーティングシステム上で動作し、中間コードをオペレーティングシステム上で動作可能なネイティブコードに変換して実行する仮想マシンとを備えた情報処理装置の仮想マシン上で動作する情報処理プログラムであって、ハードウェア資源の状態変化を検知して通知する別の情報処理プログラムに登録を依頼する処理と、別の情報処理プログラムからの通知を受信する処理と、を情報処理装置に実行させることを特徴とする。   An information processing program according to a third aspect of the present invention is an operating system that provides an interface for handling hardware resources, an operating system that operates on the operating system, and converts intermediate code into native code that can operate on the operating system. An information processing program that operates on a virtual machine of an information processing apparatus including a virtual machine to be executed, and that requests registration to another information processing program that detects and notifies a change in the state of a hardware resource; And processing for receiving a notification from another information processing program.

本発明によれば、複数のソフトウェアコンポーネントが動作する機器においてOSの負荷を軽減し、機器の安定性を向上させることができる。   According to the present invention, it is possible to reduce the OS load and improve the stability of a device in a device on which a plurality of software components operate.

本実施の形態における情報処理装置の実行環境の構成を示すブロック図である。It is a block diagram which shows the structure of the execution environment of the information processing apparatus in this Embodiment. 上記情報処理装置の管理バンドルがアプリケーションバンドルを登録する処理の流れを示すフローチャートである。It is a flowchart which shows the flow of a process in which the management bundle of the said information processing apparatus registers an application bundle. 上記情報処理装置の管理バンドルがアプリケーションバンドルに通知する処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the process which the management bundle of the said information processing apparatus notifies to an application bundle. 従来のOSGiフレームワークを実装した機器の実行環境の構成を示すブロック図である。It is a block diagram which shows the structure of the execution environment of the apparatus which mounted the conventional OSGi framework. OSGiフレームワークを実装したホームゲートウェイの動作の例を示す概略図である。It is the schematic which shows the example of operation | movement of the home gateway which mounted OSGi framework.

以下、本発明の実施の形態について図面を用いて説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

図1は、本実施の形態におけるOSGiフレームワークを実装した情報処理装置の実行環境の構成を示すブロック図である。同図に示す情報処理装置1は、OS11、JVM12、およびOSGiフレームワーク13を備え、OSGiフレームワーク13上では、管理バンドル2と複数のアプリケーションバンドル3A,3Bが動作する。情報処理装置1は、演算処理装置、記憶装置、メモリ等を備えたコンピュータにより構成し、図1に示す実行環境を機能させるプログラムは、情報処理装置1が備えた記憶装置に記憶されている。このプログラムを演算処理装置に実行させることにより各部の処理が行われる。管理バンドル2とアプリケーションバンドル3A,3Bは、OSGiフレームワーク13上で動作するソフトウェアコンポーネントであり、このソフトウェアコンポーネントは、磁気ディスク、光ディスク、半導体メモリ等の記録媒体に記録することも、ネットワークを通して提供することも可能である。   FIG. 1 is a block diagram illustrating a configuration of an execution environment of an information processing apparatus in which the OSGi framework according to the present embodiment is implemented. The information processing apparatus 1 illustrated in FIG. 1 includes an OS 11, a JVM 12, and an OSGi framework 13, and a management bundle 2 and a plurality of application bundles 3 </ b> A and 3 </ b> B operate on the OSGi framework 13. The information processing device 1 is configured by a computer including an arithmetic processing device, a storage device, a memory, and the like, and a program that causes the execution environment illustrated in FIG. 1 to function is stored in the storage device provided in the information processing device 1. Each unit is processed by causing the arithmetic processing unit to execute this program. The management bundle 2 and the application bundles 3A and 3B are software components that operate on the OSGi framework 13, and this software component also provides recording on a recording medium such as a magnetic disk, an optical disk, and a semiconductor memory through a network. It is also possible.

OS11は、入出力機能、メモリの管理、タスクのスケジューリング、およびネットワークインタフェースなどのハードウェア資源を扱うためのインタフェースを提供する。代表的なものとしてLinux(登録商標)、VxWorks(登録商標)などがある。   The OS 11 provides an interface for handling hardware resources such as an input / output function, memory management, task scheduling, and a network interface. Typical examples include Linux (registered trademark) and VxWorks (registered trademark).

JVM12は、Java(登録商標)バイトコードをOS11上で動作可能なネイティブコードに変換して実行する仮想マシンであり、OS11によって起動される。Java(登録商標)バイトコードは、特定のハードウェア環境に依存しない中間コードである。   The JVM 12 is a virtual machine that executes a Java (registered trademark) bytecode by converting it into a native code operable on the OS 11, and is activated by the OS 11. Java (registered trademark) bytecode is intermediate code that does not depend on a specific hardware environment.

OSGiフレームワーク13は、JVM12上に構築され、バンドルと呼ばれるソフトウェアコンポーネントを動作させる。図1に示す実施例では、管理バンドル2と複数のアプリケーションバンドル3A,3Bが動作している。   The OSGi framework 13 is built on the JVM 12 and operates software components called bundles. In the embodiment shown in FIG. 1, a management bundle 2 and a plurality of application bundles 3A and 3B are operating.

管理バンドル2は、アプリケーションバンドル3A,3Bからの登録依頼を受け付ける登録部21、通知を送信すべきアプリケーションバンドル3A,3Bのリストを保持する保持部22、リストに登録されたアプリケーションバンドル3A,3Bへ通知する通知部23、およびOS11が提供するインタフェースを用いてハードウェア資源の状態変化を検知するOS依存コード24を備える。本実施例における管理バンドル2は、ハードウェア資源の状態変化としてネットワークインタフェースの状態変化を検知するものであって、ネットワークインタフェースの状態に変化があった場合に、アプリケーションバンドル3A,3Bに対して通知する。ネットワークインタフェースの状態変化としては、例えば、ネットワークに接続した、ネットワークから切断された、あるいは、ネットワークインタフェースに割り当てられたIPアドレスが変更されたなどがある。アプリケーションバンドル3A,3Bに対する通知は、Java(登録商標) API(Application Program Interface)でコールバックすることにより行う。   The management bundle 2 is sent to a registration unit 21 that receives registration requests from the application bundles 3A and 3B, a holding unit 22 that holds a list of application bundles 3A and 3B to which a notification is to be transmitted, and application bundles 3A and 3B registered in the list. A notification unit 23 for notification and an OS-dependent code 24 for detecting a change in the state of hardware resources using an interface provided by the OS 11 are provided. The management bundle 2 in this embodiment detects a change in the state of the network interface as a change in the state of the hardware resource, and notifies the application bundles 3A and 3B when the state of the network interface changes. To do. Examples of the state change of the network interface include connection to the network, disconnection from the network, or change of the IP address assigned to the network interface. Notification to the application bundles 3A and 3B is performed by calling back with a Java (registered trademark) API (Application Program Interface).

アプリケーションバンドル3A,3Bは、登録依頼部31A,31Bおよび通知受信部32A,32Bを備える。アプリケーションバンドル3A,3Bは、ダイレクトにOS11にアクセスせずに、登録依頼部31A,31Bによりアプリケーションバンドル3A,3B自身を管理バンドル2に登録しておき、通知受信部32A,32Bにより所定のハードウェア資源の状態変化の通知を受け付ける。これにより、アプリケーションバンドル3A,3Bは、ハードウェア資源の状態変化を検知するためのOS上で動作可能なネイティブコードを実装する必要がなくなる。   The application bundles 3A and 3B include registration request units 31A and 31B and notification reception units 32A and 32B. The application bundles 3A and 3B do not directly access the OS 11, but register the application bundles 3A and 3B themselves in the management bundle 2 by the registration requesting units 31A and 31B, and the predetermined hardware by the notification receiving units 32A and 32B. Accept notifications of resource state changes. This eliminates the need for the application bundles 3A and 3B to implement native code operable on the OS for detecting changes in the state of hardware resources.

次に、管理バンドル2がアプリケーションバンドル3A,3Bをリストに登録する処理について説明する。   Next, a process in which the management bundle 2 registers the application bundles 3A and 3B in the list will be described.

図2は、管理バンドル2による登録処理の流れを示すフローチャートである。まず、アプリケーションバンドル3A,3Bの登録依頼部31A,31Bが管理バンドル2に対して登録を依頼すると、管理バンドル2の登録部21がその依頼を受け付ける(ステップS11)。アプリケーションバンドル3A,3Bが登録を依頼するときには、状態の変化を監視するネットワークインタフェースやセッションを指定してもよい。例えば、アプリケーションバンドル3A,3BがWAN側のネットワークインタフェースのあるセッションに割り当てられたIPアドレスをバインドして外部からのアクセスを受け付ける場合、そのセッションの通信状態に変更があった場合に通知されるように指定する。   FIG. 2 is a flowchart showing the flow of registration processing by the management bundle 2. First, when the registration request units 31A and 31B of the application bundles 3A and 3B request registration to the management bundle 2, the registration unit 21 of the management bundle 2 accepts the request (step S11). When the application bundles 3A and 3B request registration, a network interface or session for monitoring a change in state may be designated. For example, when the application bundles 3A and 3B bind an IP address assigned to a session having a network interface on the WAN side and accept access from the outside, a notification is given when the communication state of the session is changed. Is specified.

依頼を受信した管理バンドル2は、依頼したアプリケーションバンドル3A,3Bを保持部22が保持するリストに登録する(ステップS12)。リストは、通知するアプリケーションバンドル3A,3Bだけでなく、監視対象のセッション等の情報を対応付けて保持してもよい。   The management bundle 2 that has received the request registers the requested application bundles 3A and 3B in the list held by the holding unit 22 (step S12). The list may hold not only the application bundles 3A and 3B to be notified but also information such as monitoring target sessions in association with each other.

次に、管理バンドル2がアプリケーションバンドル3A,3Bに通知する処理について説明する。   Next, a process in which the management bundle 2 notifies the application bundles 3A and 3B will be described.

図3は、管理バンドル2による通知処理の流れを示すフローチャートである。   FIG. 3 is a flowchart showing the flow of notification processing by the management bundle 2.

OS依存コード24は、ネットワークインタフェースを監視し、例えば、IPアドレスの変更などのネットワークインタフェースの状態変化を検知する(ステップS21)。   The OS dependent code 24 monitors the network interface and detects a change in the state of the network interface, such as a change in the IP address, for example (step S21).

ネットワークインタフェースの状態変化を検知すると、通知部23は、保持部22からリストを読み出し、リストに登録されたアプリケーションバンドル3A,3Bに通知する(ステップS22)。通知部23がアプリケーションバンドル3A,3Bに通知する内容は、例えば、ネットワークインタフェースの種別(LAN側、WAN側)、セッション識別子、接続状態(接続された、切断された)、IPアドレスなどがある。   When detecting a change in the state of the network interface, the notification unit 23 reads the list from the holding unit 22 and notifies the application bundles 3A and 3B registered in the list (step S22). The contents notified by the notification unit 23 to the application bundles 3A and 3B include, for example, the type of network interface (LAN side, WAN side), session identifier, connection state (connected or disconnected), IP address, and the like.

通知を受けたアプリケーションバンドル3A,3Bは、新しいIPアドレスをバインドするなど、各アプリケーションバンドル3A,3Bで必要な処理を行う。   The application bundles 3A and 3B that have received the notification perform processing necessary for each of the application bundles 3A and 3B, such as binding a new IP address.

本実施例では、ネットワークインタフェースを監視する管理バンドル2に関して説明したが、これに限るものではなく、例えば、情報処理装置1の設定、あるいは、情報処理装置1に接続された外部機器の状態など、JVM12が提供する機能だけでは検知することができない、OS11に依存したハードウェア資源の状態を監視する管理バンドルであってもよい。OSGiフレームワーク13上で動作する管理バンドルは1つに限らず、別々のハードウェア資源の状態を監視する複数の管理バンドルが動作するものでもよい。   In the present embodiment, the management bundle 2 that monitors the network interface has been described. However, the present invention is not limited to this. For example, the setting of the information processing apparatus 1 or the state of an external device connected to the information processing apparatus 1 It may be a management bundle that monitors the state of hardware resources depending on the OS 11 and cannot be detected only by the function provided by the JVM 12. The number of management bundles that operate on the OSGi framework 13 is not limited to one, and a plurality of management bundles that monitor the status of different hardware resources may operate.

以上説明したように、本実施の形態によれば、OS依存コード24を有する管理バンドル2が、アプリケーションバンドル3A,3Bの登録を受け付けて保持部22のリストに登録し、OS11からネットワークインタフェースの状態変化の通知を受信したときに、リストに登録されたアプリケーションバンドル3A,3Bに通知することにより、OS11とバンドル間の通信を最小限に抑えることができるので、OS11の負荷を軽減し、情報処理装置1の安定性を向上させることができる。   As described above, according to the present embodiment, the management bundle 2 having the OS-dependent code 24 receives registration of the application bundles 3A and 3B and registers it in the list of the holding unit 22, and the network interface state from the OS 11 When the notification of the change is received, the communication between the OS 11 and the bundle can be minimized by notifying the application bundles 3A and 3B registered in the list. The stability of the device 1 can be improved.

また、アプリケーションバンドル3A,3Bは、OS依存コード24を実装する必要がなくなるので、異なるOSに対する実装が不要となる。一般に、OSに依存する実装はJava(登録商標)プログラミングより難易度が高いので、OS依存コードが不要となることにより、アプリケーションバンドル3A,3Bの開発が容易となる。情報処理装置1の製造者が管理バンドル2を提供することで、サードパーティによるアプリケーションバンドル3A,3Bの開発が容易となり、様々なサービスを情報処理装置1に導入することが可能となる。   Further, since the application bundles 3A and 3B do not need to mount the OS dependent code 24, it is not necessary to mount different OSs. In general, the OS-dependent implementation is more difficult than Java (registered trademark) programming, so that the OS-dependent code is not required, and the development of the application bundles 3A and 3B is facilitated. By providing the management bundle 2 by the manufacturer of the information processing apparatus 1, it becomes easy to develop application bundles 3 </ b> A and 3 </ b> B by a third party, and various services can be introduced into the information processing apparatus 1.

さらに、アプリケーションバンドル3A,3Bだけでなく、OS依存コード24を有する管理バンドル2もOSGiフレームワーク13上で動作させることにより、管理バンドル2をOSGiフレームワーク13の枠組みで動的に管理することができる。   Furthermore, not only the application bundles 3A and 3B but also the management bundle 2 having the OS-dependent code 24 is operated on the OSGi framework 13, so that the management bundle 2 can be dynamically managed by the framework of the OSGi framework 13. it can.

1…情報処理装置
11…OS
12…JVM
13…OSGiフレームワーク
2…管理バンドル
21…登録部
22…保持部
23…通知部
24…OS依存コード
3A,3B…アプリケーションバンドル
31A,31B…登録依頼部
32A,32B…通知受信部
100…ホームゲートウェイ
110…カメラ制御バンドル
120…家電制御バンドル
130…LAN側インタフェース
140…WAN側インタフェース
210…テレビ
220A,220B,220C…カメラ
230…エアコン
240…HDDレコーダ
250…冷蔵庫
300…ネットワーク
310…携帯電話
1 ... Information processing device 11 ... OS
12 ... JVM
DESCRIPTION OF SYMBOLS 13 ... OSGi framework 2 ... Management bundle 21 ... Registration part 22 ... Holding part 23 ... Notification part 24 ... OS dependence code 3A, 3B ... Application bundle 31A, 31B ... Registration request part 32A, 32B ... Notification receiving part 100 ... Home gateway DESCRIPTION OF SYMBOLS 110 ... Camera control bundle 120 ... Home appliance control bundle 130 ... LAN side interface 140 ... WAN side interface 210 ... Television 220A, 220B, 220C ... Camera 230 ... Air conditioner 240 ... HDD recorder 250 ... Refrigerator 300 ... Network 310 ... Mobile phone

Claims (3)

ハードウェア資源を扱うためのインタフェースを提供するオペレーティングシステムと、
前記オペレーティングシステム上で動作し、中間コードを前記オペレーティングシステム上で動作可能なネイティブコードに変換して実行する仮想マシンと、
前記仮想マシン上で動作する第1、第2のバンドルと、を有し、
前記第1のバンドルは、
前記第2のバンドルに当該第1のバンドルの登録を依頼する登録依頼手段と、
前記第2のバンドルからの通知を受信する通知受信手段と、を有し、
前記第2のバンドルは、
前記第1のバンドルからの登録依頼を受信して当該第1のバンドルをリストに登録する登録手段と、
前記オペレーティングシステムが提供するインタフェースを用いてハードウェア資源の状態変化を検知する検知手段と、
前記検知手段が前記ハードウェア資源の状態変化を検知したときに、前記リストを参照し、当該リストに登録された前記第1のバンドルに対して通知を送信する通知手段と、を有する
ことを特徴とする情報処理装置。
An operating system that provides an interface for handling hardware resources;
A virtual machine that runs on the operating system, converts intermediate code into native code that can run on the operating system, and
And first and second bundles operating on the virtual machine,
The first bundle is
Registration request means for requesting the second bundle to register the first bundle;
Notification receiving means for receiving a notification from the second bundle,
The second bundle is
Registration means for receiving a registration request from the first bundle and registering the first bundle in a list;
Detecting means for detecting a change in the state of hardware resources using an interface provided by the operating system;
And a notification unit that refers to the list and transmits a notification to the first bundle registered in the list when the detection unit detects a change in the state of the hardware resource. Information processing apparatus.
ハードウェア資源を扱うためのインタフェースを提供するオペレーティングシステムと、前記オペレーティングシステム上で動作し、中間コードを前記オペレーティングシステム上で動作可能なネイティブコードに変換して実行する仮想マシンとを備えた情報処理装置の前記仮想マシン上で動作する情報処理プログラムであって、
前記仮想マシン上で動作する別の情報処理プログラムからの登録依頼を受信して当該別の情報処理プログラムをリストに登録する処理と、
前記オペレーティングシステムが提供するインタフェースを用いてハードウェア資源の状態変化を検知する処理と、
前記ハードウェア資源の状態変化を検知したときに、前記リストを参照し、当該リストに登録された前記別の情報処理プログラムに対して通知を送信する処理と、
を前記情報処理装置に実行させることを特徴とする情報処理プログラム。
Information processing comprising: an operating system that provides an interface for handling hardware resources; and a virtual machine that runs on the operating system and converts intermediate code into native code that can run on the operating system An information processing program that operates on the virtual machine of an apparatus,
Processing for receiving a registration request from another information processing program operating on the virtual machine and registering the other information processing program in a list;
Processing for detecting a change in the state of hardware resources using an interface provided by the operating system;
When detecting a change in the state of the hardware resource, a process of referring to the list and transmitting a notification to the another information processing program registered in the list;
An information processing program for causing the information processing apparatus to execute.
ハードウェア資源を扱うためのインタフェースを提供するオペレーティングシステムと、前記オペレーティングシステム上で動作し、中間コードを前記オペレーティングシステム上で動作可能なネイティブコードに変換して実行する仮想マシンとを備えた情報処理装置の前記仮想マシン上で動作する情報処理プログラムであって、
ハードウェア資源の状態変化を検知して通知する別の情報処理プログラムに登録を依頼する処理と、
前記別の情報処理プログラムからの通知を受信する処理と、
を前記情報処理装置に実行させることを特徴とする情報処理プログラム。
Information processing comprising: an operating system that provides an interface for handling hardware resources; and a virtual machine that runs on the operating system and converts intermediate code into native code that can run on the operating system An information processing program that operates on the virtual machine of an apparatus,
Processing to request registration to another information processing program that detects and notifies a change in the state of the hardware resource;
Processing for receiving a notification from the another information processing program;
An information processing program for causing the information processing apparatus to execute.
JP2009231463A 2009-10-05 2009-10-05 Information processing apparatus and information processing program Active JP5421715B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009231463A JP5421715B2 (en) 2009-10-05 2009-10-05 Information processing apparatus and information processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009231463A JP5421715B2 (en) 2009-10-05 2009-10-05 Information processing apparatus and information processing program

Publications (2)

Publication Number Publication Date
JP2011081488A true JP2011081488A (en) 2011-04-21
JP5421715B2 JP5421715B2 (en) 2014-02-19

Family

ID=44075499

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009231463A Active JP5421715B2 (en) 2009-10-05 2009-10-05 Information processing apparatus and information processing program

Country Status (1)

Country Link
JP (1) JP5421715B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014232442A (en) * 2013-05-29 2014-12-11 西日本電信電話株式会社 Web server system, web server cooperation method and program

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008501202A (en) * 2004-05-24 2008-01-17 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Device abstraction layer for local networking systems

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008501202A (en) * 2004-05-24 2008-01-17 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Device abstraction layer for local networking systems

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6013043269; 松下温: 分散協調メディアシリーズ7 ワイヤレスLANアーキテクチャ 初版, 19960605, p.133-136, 共立出版株式会社 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014232442A (en) * 2013-05-29 2014-12-11 西日本電信電話株式会社 Web server system, web server cooperation method and program

Also Published As

Publication number Publication date
JP5421715B2 (en) 2014-02-19

Similar Documents

Publication Publication Date Title
US20220030095A1 (en) Methods and apparatus for sharing and arbitration of host stack information with user space communication stacks
US8589885B2 (en) Debugger launch and attach on compute clusters
JP4681968B2 (en) Service request apparatus, service request method, service request program, and recording medium
US20140344786A1 (en) Application testing using sandboxes
US8010973B2 (en) Class loader for managing a network
EP2216718A1 (en) Virtual machine address management
KR101544210B1 (en) Method and system for notifying error information in a network
JP2005084891A (en) Digital apparatus, digital apparatus remote operation device, server computer, digital apparatus network system
WO2008110111A1 (en) Method and device to call dynamic library and dynamic library server and master program implementing device
JP2005535949A (en) Computing service grid
KR20160136489A (en) Method for Resource Management base of Virtualization for cloud service
JP5757325B2 (en) Virtual desktop system, network processing apparatus, management method, and management program
JPWO2009104400A1 (en) Information processing apparatus, information processing system, setting program transmission method, and server setting program
JP4410608B2 (en) Web service providing method
JP2017033331A (en) Proxy response program, proxy response device, and proxy response method
JP2005196772A (en) Apparatus and method for sharing service on network
JPWO2009122526A1 (en) Thin client implementation method, client terminal and server therefor
US20090300478A1 (en) Image forming apparatus, information processing method and program
JP5421715B2 (en) Information processing apparatus and information processing program
US8112766B2 (en) Multi-threaded device and facility manager
JP2011191942A (en) Processing method and apparatus
JP2010146246A (en) Framework computer program for multi-agent system, network system and inter-agent communication method
JP5691248B2 (en) Task takeover program, processing device, and computer system
JP2006065871A (en) Household electric appliance network system
JP2006127399A (en) Application platform provision system, method, and program for it

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120605

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130828

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130903

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131029

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131122

R150 Certificate of patent or registration of utility model

Ref document number: 5421715

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250