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

Information processing apparatus and information processing program Download PDF

Info

Publication number
JP5421715B2
JP5421715B2 JP2009231463A JP2009231463A JP5421715B2 JP 5421715 B2 JP5421715 B2 JP 5421715B2 JP 2009231463 A JP2009231463 A JP 2009231463A JP 2009231463 A JP2009231463 A JP 2009231463A JP 5421715 B2 JP5421715 B2 JP 5421715B2
Authority
JP
Japan
Prior art keywords
information processing
operating system
bundle
network interface
processing program
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
JP2009231463A
Other languages
Japanese (ja)
Other versions
JP2011081488A (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
Original Assignee
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 East Corp filed Critical Nippon Telegraph and Telephone East 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

Landscapes

  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)
  • Small-Scale Networks (AREA)

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 virtual machine to be executed, and first and second bundles operating on the virtual machine, the first bundle having access means for accepting external access via a network interface managed by the operating system; has a registration request means for requesting the registration of the first bundle in the second bundle receives a notification from the second bundle, the notification receiving means for corresponding access unit to changing network interfaces, the The second bundle receives a registration request from the first bundle. Registration means for registering the first bundle to the list, a detection means for detecting a state change of the network interface using the interface provided by the operating system, when the detecting means detects the state change of the network interface And a notification unit that refers to the list and transmits a notification to the first bundle registered in the list.

第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, The process of registering the network interface , the process of detecting the change in the state of the network interface managed by the operating system using the interface provided by the operating system , and the list when the change in the state of the network interface is detected Squirrel A process of transmitting a notification to another information processing program is registered, the characterized in that to be executed by 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 having a virtual machine to execute, and that accepts external access via a network interface managed by the operating system a process of requesting the registration to another information processing program to be notified detects, receives a notification from another information processing program, the process of accepting the access and processing to respond to changes in the network interface, to an information processing apparatus Characterized in that to the row.

本発明によれば、複数のソフトウェアコンポーネントが動作する機器において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 the present embodiment detects a network interface state change as a hardware resource state change, and notifies the application bundles 3A and 3B when the network interface state 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
Access means for accepting external access via a network interface managed by the operating system;
Registration request means for requesting the second bundle to register the first bundle;
Receiving a notification from the second bundle, and a notification receiving means for causing the access means to respond to a change in the network interface ,
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 state of the network interface using an interface provided by the operating system;
And a notification means for referring to the list and transmitting a notification to the first bundle registered in the list when the detection means detects a change in the state of the network interface. 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;
A process for detecting a change in a state of a network interface managed by the operating system using an interface provided by the operating system ;
When detecting a change in the state of the network interface , a process of referring to the list and transmitting a notification to the other 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 for accepting external access via a network interface managed by the operating system;
Processing to request registration to another information processing program that detects and notifies a change in the state of the network interface ;
A process of receiving a notification from the another information processing program, and a process of accepting the access corresponding to a change in the network interface ;
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 JP2011081488A (en) 2011-04-21
JP5421715B2 true 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)

Families Citing this family (1)

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

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0411528D0 (en) * 2004-05-24 2004-06-23 Koninkl Philips Electronics Nv Device abstraction layer for local networking system

Also Published As

Publication number Publication date
JP2011081488A (en) 2011-04-21

Similar Documents

Publication Publication Date Title
US8010973B2 (en) Class loader for managing a network
US20140344786A1 (en) Application testing using sandboxes
JP4681968B2 (en) Service request apparatus, service request method, service request program, and recording medium
US20080140857A1 (en) Service-oriented architecture and methods for direct invocation of services utilizing a service requestor invocation framework
KR20090003224A (en) Network interface routing using computational context
JP2005084891A (en) Digital apparatus, digital apparatus remote operation device, server computer, digital apparatus network system
JP2005535949A (en) Computing service grid
JPWO2009104400A1 (en) Information processing apparatus, information processing system, setting program transmission method, and server setting program
WO2008110111A1 (en) Method and device to call dynamic library and dynamic library server and master program implementing device
JP2015007996A (en) Remote technique support providing method and remote technical support providing apparatus using configurable executable application
JP5757325B2 (en) Virtual desktop system, network processing apparatus, management method, and management program
JP2008059483A (en) Communication system, control method thereof, and communication apparatus
JP4410608B2 (en) Web service providing method
KR100567825B1 (en) Apparatus and method for sharing services on network
US7996524B2 (en) Controlling external communication of embedded device using proxy server
JPWO2009122526A1 (en) Thin client implementation method, client terminal and server therefor
US20090300478A1 (en) Image forming apparatus, information processing method and program
KR100777426B1 (en) Application joint service system, Client process module for application joint service providers, and Client process module for application joint service users
JP5421715B2 (en) Information processing apparatus and information processing program
JP2014010703A (en) System that supports cooperation of information processing systems, device, and cooperation method
US8112766B2 (en) Multi-threaded device and facility manager
US7860987B2 (en) Apparatus for providing service in response to user request and method therefor
JP5478554B2 (en) Gateway apparatus and communication method
JP2000259417A (en) Device and method for data processing and program providing medium
US20050132084A1 (en) Method and apparatus for providing server local SMBIOS table through out-of-band communication

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