[go: up one dir, main page]

JP2014115758A - Information processing device and information processing program - Google Patents

Information processing device and information processing program Download PDF

Info

Publication number
JP2014115758A
JP2014115758A JP2012268006A JP2012268006A JP2014115758A JP 2014115758 A JP2014115758 A JP 2014115758A JP 2012268006 A JP2012268006 A JP 2012268006A JP 2012268006 A JP2012268006 A JP 2012268006A JP 2014115758 A JP2014115758 A JP 2014115758A
Authority
JP
Japan
Prior art keywords
function
bundle
software
software module
unit
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
JP2012268006A
Other languages
Japanese (ja)
Other versions
JP5919179B2 (en
Inventor
Masaru Ando
大 安藤
Takakuni Nishida
享邦 西田
Keiichi Koike
恵一 小池
Atsushi Sato
敦 佐藤
Yukihisa Katayama
幸久 片山
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.)
NTT Inc
Original Assignee
Nippon Telegraph and Telephone 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 filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2012268006A priority Critical patent/JP5919179B2/en
Publication of JP2014115758A publication Critical patent/JP2014115758A/en
Application granted granted Critical
Publication of JP5919179B2 publication Critical patent/JP5919179B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】ソフトウェアモジュールであるバンドルが複数動作する装置において、特定の処理を実行するハードウェア機能の処理能力の低下を抑制する。
【解決手段】バンドル管理テーブル13にHW機能17の利用の有無を登録しておき、バンドル管理手段12が新たなバンドルをバンドル管理テーブルに登録する際に、HW機能を利用するバンドルの総数とHW機能を利用可能なバンドルの最大数とを比較し、HW機能を利用するバンドルの総数がHW機能を利用可能なバンドルの最大数に達していない場合は、そのバンドルをHW機能利用可として登録し、達している場合は、そのバンドルをHW機能利用不可として登録する。これにより、多数のバンドルがHW機能17の利用を所望しても、HW機能17を利用できるバンドルの数を抑制し、HW機能17の利用の切り替えや競合によるオーバヘッドの増加を防ぐことが可能となる。
【選択図】図1
In a device in which a plurality of bundles that are software modules operate, a decrease in processing capability of a hardware function that executes a specific process is suppressed.
Whether or not the HW function 17 is used is registered in the bundle management table 13, and when the bundle management means 12 registers a new bundle in the bundle management table, the total number of bundles using the HW function and the HW When the total number of bundles that use the HW function does not reach the maximum number of bundles that can use the HW function, the bundle is registered as being able to use the HW function. , The bundle is registered as HW function unavailable. Thereby, even if many bundles desire to use the HW function 17, it is possible to suppress the number of bundles that can use the HW function 17 and prevent an increase in overhead due to switching of use of the HW function 17 or competition. Become.
[Selection] Figure 1

Description

本発明は、ソフトウェアプラットフォーム上で動作するソフトウェアモジュールのハードウェア機能の利用を制御する技術に関する。   The present invention relates to a technique for controlling use of hardware functions of software modules operating on a software platform.

ユーザ宅内のローカルネットワークを外部のネットワークに接続するGW(ゲートウェイ)装置は、バンドルと呼ばれるソフトウェアモジュールをダウンロードしてインストールすることにより、容易に機能拡張を図ることができる(非特許文献1参照)。   A GW (gateway) device that connects a local network in a user's home to an external network can easily expand functions by downloading and installing a software module called a bundle (see Non-Patent Document 1).

JavaVM(Virtual Machine)上にOSGiフレームワークを構成し、OSGi用にバンドルを作成することで、GW装置のハードウェアやOSの違いを吸収し、共通のバンドルを異なるGW装置において使用することができる(非特許文献2参照)。   By configuring the OSGi framework on JavaVM (Virtual Machine) and creating a bundle for OSGi, it is possible to absorb differences in hardware and OS of the GW device and use a common bundle in different GW devices. (Refer nonpatent literature 2).

一方、GW装置に採用されているハードウェアには、特定の機能をハードウェア処理することが可能なアプリケーションプロセッサも出始めている(非特許文献3参照)。このようなハードウェア機能を使用することで、特定の処理について、CPUでソフトウェア処理を行う場合よりも高速化を図ることが可能となる。   On the other hand, application processors capable of performing hardware processing of specific functions have begun to appear as hardware adopted in GW devices (see Non-Patent Document 3). By using such a hardware function, it is possible to increase the speed of specific processing as compared with the case where software processing is performed by the CPU.

しかしながら、JavaVMやOSGiには特定の機能を実行する専用のハードウェア機能を用いるための共通的なIFが提供されていないため、どのGW装置でも動作するようにソフトウェア処理を用いる共通のバンドルでは、ハードウェア機能を利用できず、当該機能の処理性能を上げることができない(図7(a))。また、ハードウェア機能を利用する場合には、Nativeコードに対応したバンドルを別途作成する必要があり、バンドルの流通性が悪くなってしまう(図7(b))。   However, JavaVM and OSGi do not provide a common IF for using a dedicated hardware function for executing a specific function. Therefore, in a common bundle using software processing so that any GW device can operate, The hardware function cannot be used, and the processing performance of the function cannot be improved (FIG. 7A). In addition, when using the hardware function, it is necessary to separately create a bundle corresponding to the Native code, and the distribution of the bundle is deteriorated (FIG. 7B).

そのため、GW装置内のJavaVM等のソフトウェアプラットフォームに対して、ハードウェア機能とソフトウェア機能に関する共通IF(インタフェース)を提供することにより、同一のバンドルを用いて、GW装置のハード構成(ハードウェア機能の有無)に応じて、当該機能に関して、ハードウェア機能とソフトウェア機能を適切に実行させる方式が検討され始めている。例えば、図8に示すように、ハードウェア機能が無い場合にはソフトウェア機能が用いられ、ハードウェア機能が有る場合にはハードウェア機能が用いられるような共通IFを提供する。   Therefore, by providing a common IF (interface) related to hardware functions and software functions to a software platform such as JavaVM in the GW apparatus, the hardware configuration of the GW apparatus (the hardware function Depending on the presence / absence), a method for appropriately executing the hardware function and the software function with respect to the function is being studied. For example, as shown in FIG. 8, a common IF is provided in which a software function is used when there is no hardware function, and a hardware function is used when there is a hardware function.

大村弘之編著、「やさしいホームICT」、社団法人電気通信協会、平成23年11月、pp.83-85Edited by Hiroyuki Omura, “Easy Home ICT”, Telecommunications Association, November 2011, pp.83-85 大村弘之編著、「やさしいホームICT」、社団法人電気通信協会、平成23年11月、pp.90-93Edited by Hiroyuki Omura, “Easy Home ICT”, Telecommunications Association, November 2011, pp.90-93 西田享邦、小池恵一、「サービス品質を確かな通信で支える端末向けネットワーク処理技術」、NTT技術ジャーナル、平成22年12月、第22巻、第12号、pp.28-31Yoshida Nishida, Keiichi Koike, “Network Processing Technology for Terminals that Supports Service Quality with Reliable Communication”, NTT Technical Journal, December 2010, Vol. 22, No. 12, pp.28-31

しかしながら、GW装置は、宅内に設置する装置であり、さほど高性能な部品により構成されていない。またハードウェア機能の部品も同じ機能に関して1個しか実装されていないケースが多い。そのため、GW装置にインストールされるバンドルの数が増え、複数のバンドルが同時に同じハードウェア機能を利用しようとした場合には、複数のバンドルの処理を並行して行うため、ハードウェア機能は一定時間毎に処理をバンドル単位で切り替える必要がある。バンドル毎の処理の切り替えにより発生する割り込み処理等がオーバーヘッドとなり、ハードウェア機能の処理性能が全体的に低下してしまうことが懸念される。   However, the GW apparatus is an apparatus installed in a home and is not configured with high performance parts. In many cases, only one hardware function component is mounted for the same function. Therefore, when the number of bundles installed in the GW device increases and multiple bundles try to use the same hardware function at the same time, the processing of multiple bundles is performed in parallel. It is necessary to switch the processing for each bundle every time. There is a concern that the interrupt processing generated by switching the processing for each bundle becomes an overhead, and the processing performance of the hardware function is deteriorated as a whole.

本発明は、上記に鑑みてなされたものであり、ソフトウェアモジュールであるバンドルが複数動作する装置において、特定の処理を実行するハードウェア機能の処理能力の低下を抑制することを目的とする。   The present invention has been made in view of the above, and an object of the present invention is to suppress a decrease in processing capability of a hardware function that executes a specific process in an apparatus in which a plurality of bundles that are software modules operate.

第1の本発明に係る情報処理装置は、ソフトウェアプラットフォーム上で動作する複数のソフトウェアモジュールそれぞれについてハードウェア機能の利用可否を決定する情報処理装置であって、特定の機能に特化した処理を行うハードウェア機能手段と、前記ハードウェア機能手段による特定の機能をソフトウェアで処理するソフトウェア機能手段と、前記ハードウェア機能手段および前記ソフトウェア機能手段を利用するためのインタフェースを前記ソフトウェアモジュールに対して提供する共通インタフェースと、前記ハードウェア機能手段の利用が競合する場合あるいは競合が予想される場合に、所与の条件に合致した前記ソフトウェアモジュールには前記ソフトウェア機能手段を利用させる選択手段と、を有することを特徴とする。   An information processing apparatus according to a first aspect of the present invention is an information processing apparatus that determines whether or not to use a hardware function for each of a plurality of software modules operating on a software platform, and performs processing specialized for a specific function Hardware function means, software function means for processing a specific function by the hardware function means by software, and an interface for using the hardware function means and the software function means are provided to the software module. A common interface; and a selection unit that causes the software module that meets a given condition to use the software function unit when the use of the hardware function unit competes or when a conflict is expected. Characterized by

上記情報処理装置において、前記複数のソフトウェアモジュール毎に、前記ハードウェア機能手段の利用の有無を登録したソフトウェアモジュール管理テーブルと、新たなソフトウェアモジュールを前記ソフトウェアプラットフォームに登録する際に、前記ソフトウェアモジュール管理テーブルに登録された前記ハードウェア機能手段を利用する前記ソフトウェアモジュールの総数と予め定めた最大数とを比較し、前記総数が前記最大数に達していない場合は、当該ソフトウェアモジュールを前記ハードウェア機能手段を利用するソフトウェアモジュールとして前記ソフトウェアモジュール管理テーブルに登録し、前記総数が前記最大数に達している場合は、当該ソフトウェアモジュールを前記ハードウェア機能手段を利用しないソフトウェアモジュールとして前記ソフトウェアモジュール管理テーブルに登録するソフトウェアモジュール管理手段と、をさらに有し、前記選択手段は、前記ソフトウェアモジュール管理テーブルに登録された情報に基づいて前記ソフトウェア機能手段を利用させるか否かを決定することを特徴とする。   In the information processing apparatus, the software module management table in which the presence / absence of use of the hardware function unit is registered for each of the plurality of software modules, and the software module management when registering a new software module in the software platform. The total number of the software modules that use the hardware function means registered in the table is compared with a predetermined maximum number. If the total number does not reach the maximum number, the software module is When the software module management table is registered in the software module management table as a software module that uses the means, and the total number reaches the maximum number, the software module that does not use the hardware function means is used. Software module management means for registering in the software module management table as a module, and the selection means determines whether to use the software function means based on information registered in the software module management table. It is characterized by determining.

上記情報処理装置において、前記複数のソフトウェアモジュール毎に、優先度と前記ハードウェア機能手段の実行状態を登録した優先度管理テーブルをさらに有し、前記選択手段は、優先度の低いソフトウェアモジュールが前記特定の機能を実行する場合は、前記特定の機能について1単位の実行毎により優先度の高いソフトウェアモジュールの実行状態を調べて、より優先度の高いソフトウェアモジュールが実行されている場合は、前記優先度の低いソフトウェアモジュールに前記ソフトウェア機能手段を利用させることを特徴とする。   In the information processing apparatus, the information processing apparatus further includes a priority management table in which a priority level and an execution state of the hardware function unit are registered for each of the plurality of software modules. When executing a specific function, the execution state of the software module having a higher priority is checked for each execution of the specific function, and if a software module with a higher priority is being executed, the priority is It is characterized in that the software function means is used by a software module with a low degree.

第2の本発明に係る情報処理プログラムは、上記情報処理装置の前記ハードウェア機能手段以外の各部としてコンピュータを動作させることを特徴とする。   An information processing program according to a second aspect of the present invention causes a computer to operate as each unit other than the hardware function unit of the information processing apparatus.

本発明によれば、ソフトウェアモジュールであるバンドルが複数動作する装置において、特定の処理を実行するハードウェア機能の処理能力の低下を抑制することができる。   ADVANTAGE OF THE INVENTION According to this invention, the fall of the processing capability of the hardware function which performs a specific process in the apparatus with which the bundle which is a software module operate | moves can be suppressed.

第1の実施の形態における情報処理装置の構成を示す機能ブロック図である。It is a functional block diagram which shows the structure of the information processing apparatus in 1st Embodiment. バンドル管理テーブルの例を示す図である。It is a figure which shows the example of a bundle management table. バンドルをバンドル管理テーブルに登録する処理の流れを示すフローチャートである。It is a flowchart which shows the flow of a process which registers a bundle into a bundle management table. 優先度管理テーブルの例を示す図である。It is a figure which shows the example of a priority management table. バンドル間でHW機能の利用を切り替える処理の流れを示すシーケンス図である。It is a sequence diagram which shows the flow of the process which switches utilization of a HW function between bundles. バンドル間でHW機能の利用を切り替えるときに処理されるデータを説明する図である。It is a figure explaining the data processed when switching utilization of a HW function between bundles. 従来の共通IFが無いGW装置の構成を示す図である。It is a figure which shows the structure of the GW apparatus without the conventional common IF. 従来の共通IFを備えたGW装置の構成を示す図である。It is a figure which shows the structure of the GW apparatus provided with the conventional common IF.

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

[第1の実施の形態]
図1は、第1の実施の形態における情報処理装置の構成を示す機能ブロック図である。図1に示す情報処理装置1は、ソフトウェアプラットフォーム11、バンドル管理部12、バンドル管理テーブル13、共通IF(インタフェース)14、HW(ハードウェア)機能チェック部15、CPU16、およびHW機能17を備える。情報処理装置1は、例えば、宅内に設置されるゲートウェイ装置であり、宅内のローカルネットワークを外部のネットワークに接続する。情報処理装置1は、バンドルと呼ばれるソフトウェアモジュールをダウンロードしてインストールすることで機能を拡張する。なお、情報処理装置1を演算処理装置、記憶装置等を備えたコンピュータにより構成して、各部の処理がプログラムによって実行されるものとしてもよい。このプログラムは情報処理装置1が備える記憶装置に記憶されており、磁気ディスク、光ディスク、半導体メモリ等の記録媒体に記録することも、ネットワークを通して提供することも可能である。
[First Embodiment]
FIG. 1 is a functional block diagram illustrating the configuration of the information processing apparatus according to the first embodiment. The information processing apparatus 1 illustrated in FIG. 1 includes a software platform 11, a bundle management unit 12, a bundle management table 13, a common IF (interface) 14, an HW (hardware) function check unit 15, a CPU 16, and an HW function 17. The information processing device 1 is, for example, a gateway device installed in a home, and connects the home local network to an external network. The information processing apparatus 1 expands the function by downloading and installing a software module called a bundle. Note that the information processing apparatus 1 may be configured by a computer including an arithmetic processing device, a storage device, and the like, and the processing of each unit may be executed by a program. This program is stored in a storage device included in the information processing apparatus 1, and can be recorded on a recording medium such as a magnetic disk, an optical disk, or a semiconductor memory, or provided through a network.

ソフトウェアプラットフォーム11は、JavaVMとJavaVM上で動作するバンドルの実行環境であるOSGiで構成され、バンドル2A,2B,2Cを動作させる。   The software platform 11 includes Java VM and OSGi, which is a bundle execution environment that operates on the Java VM, and operates the bundles 2A, 2B, and 2C.

バンドル管理部12は、インストールされたバンドル2A,2B,2Cの名称及びHW機能利用の有無をバンドル管理テーブル13に登録し、インストールされたバンドルの数、HW機能を利用するバンドルの総数、およびHW機能を利用可能なバンドルの最大数を管理する。情報処理装置1が複数のHW機能を備える場合は、各HW機能について、HW機能を利用するバンドルの総数、HW機能を利用可能なバンドルの最大数を管理する。   The bundle management unit 12 registers the names of the installed bundles 2A, 2B, and 2C and whether or not the HW function is used in the bundle management table 13, and the number of installed bundles, the total number of bundles that use the HW function, and the HW Manage the maximum number of bundles available for functionality. When the information processing apparatus 1 includes a plurality of HW functions, the total number of bundles that use the HW function and the maximum number of bundles that can use the HW function are managed for each HW function.

バンドル管理テーブル13は、バンドルの名称とHW機能利用の有無(可否)を関連付けて格納する。図2に、バンドル管理テーブル13で管理するテーブルの例を示す。同図に示す例では、情報処理装置1は2つのHW機能を備え、2つのバンドルがインストールされている。いずれのバンドルもHW(1)の機能を利用し、HW(2)の機能は利用しない。HW(1)の機能を利用するバンドルの数は2、HW(2)の機能を利用するバンドルの数は0である。なお、バンドルの名称の代わりにバンドルを一意に識別する識別子を用いてもよい。   The bundle management table 13 stores the name of the bundle and whether or not the HW function is used (whether or not) is associated. FIG. 2 shows an example of a table managed by the bundle management table 13. In the example shown in the figure, the information processing apparatus 1 has two HW functions, and two bundles are installed. Any bundle uses the function of HW (1) and does not use the function of HW (2). The number of bundles using the function of HW (1) is 2, and the number of bundles using the function of HW (2) is 0. An identifier that uniquely identifies the bundle may be used instead of the bundle name.

共通IF14は、HW機能17を利用するためのインタフェースを提供する。バンドル2A,2B,2Cは、情報処理装置1専用に作成されたソフトウェアモジュールではなく、共通IFを備えた他の装置上でも動作するように作成されている。例えば、他の装置がHW機能17を備えていない場合は、共通IFがHW機能17の機能をソフトウェアにより処理することで、同じバンドル2A,2B,2Cを実行可能とする。   The common IF 14 provides an interface for using the HW function 17. The bundles 2A, 2B, and 2C are not software modules created exclusively for the information processing apparatus 1, but are created so as to operate on other apparatuses having a common IF. For example, when the other device does not include the HW function 17, the common IF processes the function of the HW function 17 by software so that the same bundles 2A, 2B, and 2C can be executed.

本実施の形態における共通IF14は、HW機能実行部141、SW機能実行部142、およびSW/HW機能切替部143を備える。HW機能実行部141は、HW機能17を利用して処理を行う。SW機能実行部142は、CPU16を利用してソフトウェアによりHW機能17と同等の機能を実行する。所定の処理をHW機能17で処理するか、CPU16で処理するかの選択は、HW機能17の利用が競合する場合あるいは競合が予想される場合に、バンドル2A,2B,2Cが共通IF14の提供する関数を呼び出すときにパラメータで指定する。本実施の形態では、HW機能実行部141とSW機能実行部142の関係性として、SW機能実行部142の提供する関数セットをHW機能実行部141の提供する関数セットのサブセットとする。   The common IF 14 in the present embodiment includes an HW function execution unit 141, an SW function execution unit 142, and an SW / HW function switching unit 143. The HW function execution unit 141 performs processing using the HW function 17. The SW function execution unit 142 uses the CPU 16 to execute a function equivalent to the HW function 17 by software. The selection of whether the predetermined processing is performed by the HW function 17 or the CPU 16 is performed when the bundles 2A, 2B, and 2C provide the common IF 14 when the use of the HW function 17 competes or when a competition is expected. Specified by a parameter when calling the function. In the present embodiment, as a relationship between the HW function execution unit 141 and the SW function execution unit 142, the function set provided by the SW function execution unit 142 is a subset of the function set provided by the HW function execution unit 141.

SW/HW機能切替部143は、HW機能チェック部15がHW機能17の異常を検知した場合、あるいはHW機能実行部141によりHW機能17を利用した際の返値にエラー値が返ってきた場合、SW機能実行部142に切り替えて処理を継続する。   When the HW function check unit 15 detects an abnormality in the HW function 17 or when the HW function execution unit 141 uses the HW function 17, the SW / HW function switching unit 143 returns an error value. Then, the processing is continued by switching to the SW function execution unit 142.

HW機能チェック部15は、HW機能17の異常を検知する。   The HW function check unit 15 detects an abnormality of the HW function 17.

CPU16は、中央演算装置であり、ソフトウェアに従って処理を行う。   The CPU 16 is a central processing unit and performs processing according to software.

HW機能17は、特定の機能に特化したハードウェアであり、HW機能17を利用するためのドライバを介して共通IF14から命令を受け付けて処理を行って結果を返す。HW機能17による特定の機能としては、例えば、暗号化機能などがある。   The HW function 17 is hardware specialized for a specific function, receives an instruction from the common IF 14 via a driver for using the HW function 17, performs processing, and returns a result. Specific functions of the HW function 17 include, for example, an encryption function.

次に、バンドルをバンドル管理テーブルに登録する処理の流れについて説明する。   Next, the flow of processing for registering a bundle in the bundle management table will be described.

図3は、バンドル管理部12がバンドルをバンドル管理テーブルに登録する処理の流れを示すフローチャートである。   FIG. 3 is a flowchart showing a flow of processing in which the bundle management unit 12 registers a bundle in the bundle management table.

バンドル管理部12は、ネットワーク等を介してバンドルを取得してインストールした後(ステップS101)、バンドル管理テーブル13を参照してHW機能を利用するバンドルの総数を取得する(ステップS102)。図2に示したバンドル管理テーブルの例では、HW(1)を利用するバンドルの総数は2であり、HW(2)を利用するバンドルの総数は0である。   The bundle management unit 12 acquires and installs a bundle via a network or the like (step S101), and then refers to the bundle management table 13 to acquire the total number of bundles using the HW function (step S102). In the example of the bundle management table shown in FIG. 2, the total number of bundles using HW (1) is 2, and the total number of bundles using HW (2) is 0.

そして、HW機能を利用するバンドルの総数と予め設定されたHW機能を利用可能なバンドルの最大数とを比較する(ステップS103)。複数のHW機能を有する場合は、HW機能それぞれについてHW機能を利用するバンドルの総数とHW機能を利用可能なバンドルの最大数を比較する。   Then, the total number of bundles that use the HW function is compared with the preset maximum number of bundles that can use the HW function (step S103). In the case of having a plurality of HW functions, the total number of bundles that use the HW function is compared with the maximum number of bundles that can use the HW function for each HW function.

HW機能を利用するバンドルの総数が予め設定されたバンドルの最大数に達している場合(ステップS103のYes)、インストールされたバンドルをHW機能を利用しないバンドルとし(ステップS104)、HW機能を利用するバンドルの総数が予め設定されたバンドルの最大数に達していない場合(ステップS103のNo)、インストールされたバンドルをHW機能を利用するバンドルとする(ステップS105)。   When the total number of bundles using the HW function reaches the preset maximum number of bundles (Yes in step S103), the installed bundle is set as a bundle not using the HW function (step S104), and the HW function is used. If the total number of bundles to be reached has not reached the preset maximum number of bundles (No in step S103), the installed bundle is set as a bundle using the HW function (step S105).

バンドル管理部12は、インストールされたバンドルの名称とHW機能の利用可否をバンドル管理テーブル13に登録する(ステップS106)。本実施の形態では、HW機能利用不可の場合は「0」、HW機能利用可の場合は「1」を登録し、HW機能を利用するバンドルの総数を更新する。   The bundle management unit 12 registers the name of the installed bundle and the availability of the HW function in the bundle management table 13 (step S106). In this embodiment, “0” is registered when the HW function cannot be used, and “1” is registered when the HW function is available, and the total number of bundles that use the HW function is updated.

そして、バンドル管理部12は、インストールされたバンドルを起動し、起動したバンドルの内部変数にHW機能の利用可否を登録する(ステップS107)。   Then, the bundle management unit 12 activates the installed bundle and registers the availability of the HW function in the internal variable of the activated bundle (step S107).

以上の処理により起動したバンドルは、HW機能17の機能を使用するとき、HW機能の利用可否が登録された内部変数をパラメータに設定して共通IF14の提供する関数を呼び出す。具体的には、HW機能17を利用する場合、つまり内部変数にHW機能利用可が登録されている場合は、関数の引数として指定する<bypass>パラメータ値を「0」とし、CPU16によるソフトウェアで処理する場合、つまり内部変数にHW機能利用不可が登録されている場合は、<bypass>パラメータ値を「1」とする。   When the bundle activated by the above processing uses the function of the HW function 17, the internal variable in which the availability of the HW function is registered is set as a parameter and a function provided by the common IF 14 is called. Specifically, when the HW function 17 is used, that is, when the availability of the HW function is registered in the internal variable, the <bypass> parameter value specified as the function argument is set to “0”, and the software by the CPU 16 is used. In the case of processing, that is, when HW function unusable is registered in the internal variable, the <bypass> parameter value is set to “1”.

なお、HW機能を利用可能なバンドルの最大数は、管理者が情報処理装置1の設定画面から手動で設定する方法や、情報処理装置1の出荷時に予め設定しておく方法がある。   Note that the maximum number of bundles that can use the HW function is manually set from the setting screen of the information processing apparatus 1 by the administrator, or set in advance when the information processing apparatus 1 is shipped.

バンドルをアンインストールする際には、バンドル管理テーブル13から該当する欄を削除し、HW機能を利用するバンドルの総数を更新する。このとき、削除したバンドルがHW機能を利用するものであり、他の動作中のバンドルにHW機能が利用不可が設定されたものがある場合、そのバンドルが再起動されると、図3のステップS102からの処理が行われ、HW機能を利用するバンドルの総数がHW機能を利用可能なバンドルの最大数に達していないときは、そのバンドルについてHW機能が利用可能として登録される。   When uninstalling a bundle, the corresponding column is deleted from the bundle management table 13, and the total number of bundles using the HW function is updated. At this time, if the deleted bundle uses the HW function and there is a bundle in which the HW function cannot be used among other operating bundles, when the bundle is restarted, the steps in FIG. 3 are performed. When the processing from S102 is performed and the total number of bundles using the HW function has not reached the maximum number of bundles that can use the HW function, the HW function is registered as available for the bundle.

以上説明したように、本実施の形態によれば、バンドル管理テーブル13にバンドル2A,2B,2CそれぞれについてHW機能17の利用の有無を登録しておき、バンドル管理部12が新たなバンドルをバンドル管理テーブルに登録する際に、HW機能を利用するバンドルの総数とHW機能を利用可能なバンドルの最大数とを比較し、HW機能を利用するバンドルの総数がHW機能を利用可能なバンドルの最大数に達していない場合は、そのバンドルをHW機能利用可として登録し、達している場合は、そのバンドルをHW機能利用不可として登録することにより、多数のバンドルがHW機能17の利用を所望しても、HW機能17を利用できるバンドルの数を抑制し、HW機能17の利用の切り替えや競合によるオーバヘッドの増加を防ぐことが可能となる。   As described above, according to the present embodiment, whether or not the HW function 17 is used is registered in the bundle management table 13 for each of the bundles 2A, 2B, and 2C, and the bundle management unit 12 bundles a new bundle. When registering in the management table, the total number of bundles that use the HW function is compared with the maximum number of bundles that can use the HW function, and the total number of bundles that use the HW function is the maximum number of bundles that can use the HW function. If the number has not reached the number, the bundle is registered as being able to use the HW function, and if it has been reached, the bundle is registered as being unable to use the HW function, so that many bundles desire to use the HW function 17. However, the number of bundles that can use the HW function 17 is suppressed, and an increase in overhead due to switching of use of the HW function 17 or competition is prevented. It becomes possible.

[第2の実施の形態]
第2の実施の形態では、バンドル2A,2B,2C毎に予め設定された優先度に基づいてHW機能17の利用を切り替える。第2の実施の形態における情報処理装置の構成は、バンドル管理部12、バンドル管理テーブル13の代わりに優先度管理部、優先度管理テーブルを備える点で相違する以外は、第1の実施の形態とほぼ同様である。
[Second Embodiment]
In the second embodiment, the use of the HW function 17 is switched based on the priority set in advance for each of the bundles 2A, 2B, and 2C. The configuration of the information processing apparatus according to the second embodiment is different from that of the first embodiment except that the configuration includes a priority management unit and a priority management table instead of the bundle management unit 12 and the bundle management table 13. Is almost the same.

図4に、優先度管理テーブルで管理するテーブルの例を示す。優先度管理テーブルは、各バンドルについて優先度(priority)と実行状態(execute)を格納している。本実施の形態では、普通の優先度を「0」、高い優先度を「1」とし、実行中を「1」、停止中を「0」とする。優先度はバンドルがインストールされたときに優先度管理テーブルに登録される。また、インストール後に、管理者が手動で優先度管理テーブルの優先度を設定してもよい。バンドルがアンインストールされた場合には、優先度管理テーブルから該当する欄を削除して更新する。なお、本実施の形態では優先度を「普通」、「高い」の2値としたが、3つ以上の優先度を用いてもよい。   FIG. 4 shows an example of a table managed by the priority management table. The priority management table stores a priority (priority) and an execution state (execute) for each bundle. In the present embodiment, the normal priority is “0”, the high priority is “1”, the execution is “1”, and the stop is “0”. The priority is registered in the priority management table when the bundle is installed. Further, after installation, the administrator may manually set the priority of the priority management table. When the bundle is uninstalled, the corresponding column is deleted from the priority management table and updated. In this embodiment, the priority is set to two values, “normal” and “high”, but three or more priorities may be used.

実行状態は、バンドルの実行時に優先度管理部に対して実行を登録するとき、およびバンドルの停止時に優先度管理部に対して停止を登録するときに更新される。   The execution state is updated when the execution is registered with the priority management unit when the bundle is executed, and when the stop is registered with the priority management unit when the bundle is stopped.

次に、HW機能17の利用を切り替える処理の流れについて説明する。   Next, the flow of processing for switching the use of the HW function 17 will be described.

図5は、バンドル間でHW機能17の利用を切り替える処理の流れを示すシーケンス図である。図5では、HW機能17を利用する優先度が普通のバンドルAが実行中に、優先度の高いバンドルBが実行を開始したときの処理の流れを示している。   FIG. 5 is a sequence diagram showing a flow of processing for switching use of the HW function 17 between bundles. FIG. 5 shows a process flow when the bundle A having a high priority using the HW function 17 is executing and the bundle B having a high priority starts executing.

優先度の高いHW機能17を利用するバンドルBが実行を開始すると(ステップS201)、優先度管理部に実行開始を登録する(ステップS202)。   When the bundle B using the HW function 17 having a high priority starts execution (step S201), the execution start is registered in the priority management unit (step S202).

優先度管理部は、バンドルBから実行開始の登録を受け付けると、優先度管理テーブルのバンドルBの実行状態を実行中に設定する(ステップS203)。   Upon receipt of execution start registration from bundle B, the priority management unit sets the execution state of bundle B in the priority management table to being executed (step S203).

バンドルAがHW機能17を利用する関数を呼び出すとき(ステップS204)、優先度管理部にHW機能17が利用できるか否かを問い合わせる(ステップS205)。このとき、優先度の高いバンドルBが実行中であるので、優先度管理部は、その旨をバンドルAに通知する(ステップS206)。   When the bundle A calls a function that uses the HW function 17 (step S204), the priority management unit is inquired whether the HW function 17 can be used (step S205). At this time, since the bundle B with high priority is being executed, the priority management unit notifies the bundle A to that effect (step S206).

バンドルAは、優先度管理部から優先度の高いバンドルBが実行中であることの通知を受けると、HW機能17を使わずに、CPU16によるSW処理を1単位分のデータについて行う(ステップS207)。具体的には、バンドルAは、<bypass>パラメータ値に「1」を設定して共通IF14の提供する関数を呼び出す。このとき、1単位分のデータについてSW処理を行うように関数を呼び出す。例えば暗号化処理を行う場合は1データブロック長を処理するようにパラメータを指定して関数を呼び出す。   When the bundle A is notified from the priority management unit that the bundle B having a higher priority is being executed, the SW 16 by the CPU 16 is performed on the data for one unit without using the HW function 17 (step S207). ). Specifically, the bundle A sets “1” to the <bypass> parameter value and calls a function provided by the common IF 14. At this time, a function is called to perform SW processing for one unit of data. For example, when performing encryption processing, a function is called by specifying a parameter so as to process one data block length.

バンドルBは実行が終了すると(ステップS208)、優先度管理部に実行終了を登録する(ステップS209)。   When execution of the bundle B ends (step S208), the execution end is registered in the priority management unit (step S209).

優先度管理部は、バンドルBから実行終了の登録を受け付けると、優先度管理テーブルのバンドルBの実行状態を停止中に設定する(ステップS210)。   When the priority management unit accepts registration of execution end from bundle B, it sets the execution state of bundle B in the priority management table to stop (step S210).

そして、バンドルAは1単位分の処理が終わると、続く1単位分の処理を行う前に、優先度管理部にHW機能17が利用できるか否かを問い合わせる(ステップS211)。このとき、優先度の高いバンドルは停止中であるので、優先度管理部は、その旨をバンドルAに通知する(ステップS212)。   When the processing for one unit is completed, the bundle A inquires of the priority management unit whether the HW function 17 can be used before performing the subsequent processing for one unit (step S211). At this time, since the bundle with high priority is stopped, the priority management unit notifies the bundle A to that effect (step S212).

バンドルAは、優先度管理部から優先度の高いバンドルは停止中であることの通知を受けると、HW機能17を利用したHW処理を1単位分のデータについて行う(ステップS207)。具体的には、バンドルAは、<bypass>パラメータ値に「0」を設定して共通IF14の提供する関数を呼び出す。   When the bundle A receives notification from the priority management unit that the bundle with high priority is stopped, the bundle A performs the HW process using the HW function 17 on the data for one unit (step S207). More specifically, the bundle A sets a <bypass> parameter value to “0” and calls a function provided by the common IF 14.

このように、バンドルAは、HW機能17で処理できる最小単位分のデータを処理する毎に、優先度管理部にバンドルAより優先度の高いバンドルが実行中であるか否かを問い合わせ、優先度の高いバンドルが実行中である場合は、CPU16を用いたSW処理を行い、優先度の高いバンドルが停止中である場合は、HW機能17を用いたHW処理を行う。   In this way, every time the bundle A processes the minimum unit of data that can be processed by the HW function 17, the priority management unit inquires whether a bundle having a higher priority than the bundle A is being executed, When a bundle having a high degree is being executed, SW processing using the CPU 16 is performed, and when a bundle having a high priority is being stopped, HW processing using the HW function 17 is performed.

図6に、バンドルA,Bによるデータ処理の様子を示す。図6に示す例では、バンドルBの優先度はバンドルAの優先度よりも高く、バンドルAの実行中にバンドルBが実行を開始、終了するときに、CPU16とHW機能17のどちらを用いて1単位毎のデータが処理されるのかを示している。図6中の四角の一つ一つがデータ1単位毎の処理を示しており、四角の中に斜線のある処理はHW機能17が実行し、白抜きの四角の処理はCPU16が実行する。   FIG. 6 shows a state of data processing by the bundles A and B. In the example shown in FIG. 6, the priority of the bundle B is higher than the priority of the bundle A, and when the bundle B starts and ends during execution of the bundle A, the CPU 16 or the HW function 17 is used. It shows whether data for each unit is processed. Each of the squares in FIG. 6 represents processing for each unit of data. Processing with hatched lines in the squares is executed by the HW function 17, and processing of white squares is executed by the CPU 16.

バンドルAのみが実行中は、HW機能17で処理され、バンドルBが実行を開始したときに、バンドルBのデータはHW機能17で処理され、バンドルAのデータはCPU16で処理される。その後、バンドルBが停止したときに、バンドルAのデータは再びHW機能17で処理される。   While only the bundle A is being executed, the data is processed by the HW function 17. When the bundle B starts executing, the data of the bundle B is processed by the HW function 17 and the data of the bundle A is processed by the CPU 16. Thereafter, when the bundle B is stopped, the data of the bundle A is processed again by the HW function 17.

以上説明したように、本実施の形態によれば、バンドル2A,2B,2C毎に予め設定された優先度を優先度管理テーブルで管理し、優先度が普通のバンドルがHW機能17を利用する場合は、1単位の実行毎により優先度の高いバンドルの実行状態を調べて、より優先度の高いバンドルが実行されている場合は、ソフトウェアによりHW機能17の特定の機能を処理することにより、HW機能17を利用するバンドルの競合を無くして、優先度が普通のバンドルがHW機能17を占有することによる装置全体の性能低下を防ぐことができる。   As described above, according to the present embodiment, the priority set in advance for each of the bundles 2A, 2B, and 2C is managed by the priority management table, and the bundle with the normal priority uses the HW function 17. In this case, the execution state of the bundle with higher priority is checked every execution of one unit, and when the bundle with higher priority is executed, by processing a specific function of the HW function 17 by software, It is possible to eliminate the contention of bundles using the HW function 17 and to prevent the overall apparatus from degrading performance due to the normal priority bundle occupying the HW function 17.

1…情報処理装置
11…ソフトウェアプラットフォーム
12…バンドル管理部
13…バンドル管理テーブル
14…共通IF
141…HW機能実行部
142…SW機能実行部
143…SW/HW機能切替部
15…HW機能チェック部
16…CPU
17…HW機能
2A,2B,2C…バンドル
DESCRIPTION OF SYMBOLS 1 ... Information processing apparatus 11 ... Software platform 12 ... Bundle management part 13 ... Bundle management table 14 ... Common IF
141 ... HW function execution unit 142 ... SW function execution unit 143 ... SW / HW function switching unit 15 ... HW function check unit 16 ... CPU
17 ... HW function 2A, 2B, 2C ... Bundle

Claims (4)

ソフトウェアプラットフォーム上で動作する複数のソフトウェアモジュールそれぞれについてハードウェア機能の利用可否を決定する情報処理装置であって、
特定の機能に特化した処理を行うハードウェア機能手段と、
前記ハードウェア機能手段による特定の機能をソフトウェアで処理するソフトウェア機能手段と、
前記ハードウェア機能手段および前記ソフトウェア機能手段を利用するためのインタフェースを前記ソフトウェアモジュールに対して提供する共通インタフェースと、
前記ハードウェア機能手段の利用が競合する場合あるいは競合が予想される場合に、所与の条件に合致した前記ソフトウェアモジュールには前記ソフトウェア機能手段を利用させる選択手段と、
を有することを特徴とする情報処理装置。
An information processing apparatus for determining whether or not to use a hardware function for each of a plurality of software modules operating on a software platform,
Hardware function means for performing processing specialized for a specific function;
Software function means for processing a specific function by the hardware function means by software;
A common interface for providing an interface for using the hardware function means and the software function means to the software module;
A selection unit that causes the software module that meets a given condition to use the software function unit when the use of the hardware function unit competes or when a conflict is expected;
An information processing apparatus comprising:
前記複数のソフトウェアモジュール毎に、前記ハードウェア機能手段の利用の有無を登録したソフトウェアモジュール管理テーブルと、
新たなソフトウェアモジュールを前記ソフトウェアプラットフォームに登録する際に、前記ソフトウェアモジュール管理テーブルに登録された前記ハードウェア機能手段を利用する前記ソフトウェアモジュールの総数と予め定めた最大数とを比較し、前記総数が前記最大数に達していない場合は、当該ソフトウェアモジュールを前記ハードウェア機能手段を利用するソフトウェアモジュールとして前記ソフトウェアモジュール管理テーブルに登録し、前記総数が前記最大数に達している場合は、当該ソフトウェアモジュールを前記ハードウェア機能手段を利用しないソフトウェアモジュールとして前記ソフトウェアモジュール管理テーブルに登録するソフトウェアモジュール管理手段と、をさらに有し、
前記選択手段は、前記ソフトウェアモジュール管理テーブルに登録された情報に基づいて前記ソフトウェア機能手段を利用させるか否かを決定することを特徴とする請求項1記載の情報処理装置。
For each of the plurality of software modules, a software module management table that registers whether or not the hardware function means is used,
When registering a new software module in the software platform, the total number of the software modules using the hardware function means registered in the software module management table is compared with a predetermined maximum number, and the total number is If the maximum number has not been reached, the software module is registered in the software module management table as a software module that uses the hardware function means, and if the total number has reached the maximum number, the software module Software module management means for registering in the software module management table as a software module that does not use the hardware function means,
The information processing apparatus according to claim 1, wherein the selection unit determines whether to use the software function unit based on information registered in the software module management table.
前記複数のソフトウェアモジュール毎に、優先度と前記ハードウェア機能手段の実行状態を登録した優先度管理テーブルをさらに有し、
前記選択手段は、優先度の低いソフトウェアモジュールが前記特定の機能を実行する場合は、前記特定の機能について1単位の実行毎により優先度の高いソフトウェアモジュールの実行状態を調べて、より優先度の高いソフトウェアモジュールが実行されている場合は、前記優先度の低いソフトウェアモジュールに前記ソフトウェア機能手段を利用させることを特徴とする請求項1記載の情報処理装置。
For each of the plurality of software modules, further includes a priority management table in which the priority and the execution state of the hardware function unit are registered,
When the low priority software module executes the specific function, the selection unit checks the execution state of the high priority software module for each unit of execution of the specific function, and selects a higher priority. The information processing apparatus according to claim 1, wherein when a high software module is being executed, the software module having the low priority is made to use the software function unit.
請求項1乃至3のいずれかに記載の情報処理装置の前記ハードウェア機能手段以外の各部としてコンピュータを動作させることを特徴とする情報処理プログラム。   An information processing program for causing a computer to operate as each unit other than the hardware function unit of the information processing apparatus according to claim 1.
JP2012268006A 2012-12-07 2012-12-07 Information processing apparatus and information processing program Expired - Fee Related JP5919179B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012268006A JP5919179B2 (en) 2012-12-07 2012-12-07 Information processing apparatus and information processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012268006A JP5919179B2 (en) 2012-12-07 2012-12-07 Information processing apparatus and information processing program

Publications (2)

Publication Number Publication Date
JP2014115758A true JP2014115758A (en) 2014-06-26
JP5919179B2 JP5919179B2 (en) 2016-05-18

Family

ID=51171709

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012268006A Expired - Fee Related JP5919179B2 (en) 2012-12-07 2012-12-07 Information processing apparatus and information processing program

Country Status (1)

Country Link
JP (1) JP5919179B2 (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 (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004178578A (en) * 2002-11-15 2004-06-24 Matsushita Electric Ind Co Ltd Conflict arbitration device, conflict arbitration method, and conflict arbitration program
JP2009037626A (en) * 2008-09-04 2009-02-19 Panasonic Corp compiler
JP2010181989A (en) * 2009-02-04 2010-08-19 Renesas Electronics Corp Data-processing device
WO2012082589A2 (en) * 2010-12-14 2012-06-21 Amazon Technologies, Inc. Load balancing between general purpose processors and graphics processors

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004178578A (en) * 2002-11-15 2004-06-24 Matsushita Electric Ind Co Ltd Conflict arbitration device, conflict arbitration method, and conflict arbitration program
JP2009037626A (en) * 2008-09-04 2009-02-19 Panasonic Corp compiler
JP2010181989A (en) * 2009-02-04 2010-08-19 Renesas Electronics Corp Data-processing device
WO2012082589A2 (en) * 2010-12-14 2012-06-21 Amazon Technologies, Inc. Load balancing between general purpose processors and graphics processors

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
JP5919179B2 (en) 2016-05-18

Similar Documents

Publication Publication Date Title
JP6058628B2 (en) Multi-node application deployment system
US20190188014A1 (en) Virtual appliances
EP3125468B1 (en) Cloud application processing method and application deployment method and relevant apparatus and system
US20160283217A1 (en) Preinstalled Application Management Method for Mobile Terminal and Mobile Terminal
JP5093259B2 (en) Communication path strengthening method between BIOS and BMC, apparatus and program thereof
CN105159760B (en) Cloud resource moving method and unified cross-platform cloud resource transfer ability open interface
CN104410672A (en) Method for upgrading network function virtualization application, method and device for forwarding service
CN103501308A (en) Distributed cloud application deployment systems and/or associated methods
WO2016010940A1 (en) Self-extending cloud
US9921882B2 (en) Information processing system, deployment method, processing device, and deployment device
CN109032751B (en) A virtual machine deployment method and OMM virtual machine
CN114115920A (en) Operating system deployment method, system, device, and computer-readable storage medium
CN110888834A (en) Method and system for dynamically reconstructing FPGA function in PCIE equipment
CN106325859B (en) Method and server for installing drivers
JP5919179B2 (en) Information processing apparatus and information processing program
CN111897543A (en) Software management method, device, management equipment and storage medium
CN108234174B (en) Method and device for managing virtual network functions
EP3002926A1 (en) Method for realizing smart home service, smart home terminal and service hotspots
CN110377298A (en) A kind of distributed type assemblies upgrade method and distributed type assemblies
KR101493828B1 (en) Method for virtual machine auto-configuration and method for providing virtual machine auto-configuration service
CN109284137B (en) A kind of hypervisor-based QNX operating system startup method and device
CN115835305B (en) UPF deployment method, device, equipment and medium
JP2014006641A (en) Event notification method, program, and device
CN118612214A (en) Method and device for fast switching user backup data without restarting
JP6781126B2 (en) Virtual machine setting input system, virtual machine setting input method, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150813

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150818

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151005

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160411

R150 Certificate of patent or registration of utility model

Ref document number: 5919179

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees