JP5628129B2 - Gateway management method, gateway management device, and gateway device - Google Patents
Gateway management method, gateway management device, and gateway device Download PDFInfo
- Publication number
- JP5628129B2 JP5628129B2 JP2011219884A JP2011219884A JP5628129B2 JP 5628129 B2 JP5628129 B2 JP 5628129B2 JP 2011219884 A JP2011219884 A JP 2011219884A JP 2011219884 A JP2011219884 A JP 2011219884A JP 5628129 B2 JP5628129 B2 JP 5628129B2
- Authority
- JP
- Japan
- Prior art keywords
- application
- gateway
- resource
- management
- service
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Description
本発明は、ゲートウェイ管理方法、ゲートウェイ管理装置、およびゲートウェイ装置に関し、特に、サービス事業者の要求に応じてサービス事業者の作成するアプリケーションのリソース上限設定に必要な情報を、サービス事業者へ提供可能なゲートウェイ管理方法、ゲートウェイ管理装置、およびゲートウェイ装置に関する。 The present invention relates to a gateway management method, a gateway management device, and a gateway device, and in particular, can provide information necessary for setting a resource upper limit of an application created by a service provider to a service provider in response to a request from the service provider. The present invention relates to a gateway management method, a gateway management device, and a gateway device.
従来、ADSL(Asymmetric Digital Subscriber Line)、CATV(Community Antenna TeleVision)、FTTH(Fiber To The Home)といったWAN(Wide Area Network)とホームネットワークなどのLAN(Local Area Network)を接続するゲートウェイ装置は、音声(IP(Internet Protocol)電話など)、映像(放送、VoD((Video on Demand)など)、データ通信(インターネット接続など)といったいわゆるトリプルプレイサービスを提供してきた。 Conventionally, a gateway device connecting a WAN (Wide Area Network) such as ADSL (Asymmetric Digital Subscriber Line), CATV (Community Antenna TeleVision), and FTTH (Fiber To The Home) and a LAN (Local Area Network) such as a home network, So-called triple play services such as IP (Internet Protocol) telephone, video (broadcasting, VoD (Video on Demand), etc.), data communication (Internet connection, etc.) have been provided.
近年では、前記トリプルプレイサービスに加え、ホームネットワークに接続する様々な機器を制御するアプリケーションのインストールおよび管理を行うことにより、機能を動的に拡張できる手段が提案されている(例えば、特許文献1参照)。 In recent years, in addition to the triple play service, means for dynamically expanding functions by installing and managing applications that control various devices connected to a home network has been proposed (for example, Patent Document 1). reference).
特許文献1におけるホームネットワークシステムは、各種ホームネットワークミドルウェアを統合支援するOSGi(Open Services Gateway Initiative)フレームワークを搭載したゲートウェイ装置などのアプリケーションサーバを導入し、種々のデバイスへアクセスするためのミドルウェアサービスをバンドル機能として提供することにより、ミドルウェアに制約されないホームネットワークシステムを実現する。
The home network system in
しかしながら、特許文献1に記載のOSGiフレームワークには様々なソフトウェア部品(OSGiバンドルと呼ぶ)を単一のソフトウェアプロセス上で動作するフレームワーク上で動作させることから、個別のOSGiバンドルがどの程度のCPU、メモリなどのリソースを消費するかを詳細に知ることができないという問題がある。
However, in the OSGi framework described in
この問題に対し、個別のバンドルのリソース消費量を複数のゲートウェイでの平均消費量として求める手段(例えば、特許文献2参照)や、サービス事業者ごとに別々のOSGiフレームワークのソフトウェアプロセスを生成し、サービス事業者ごとに使用メモリ(Java(登録商標)のヒープメモリ)にあらかじめ決めておいた上限値を設定することで円滑なサービス運用を実現する手段(例えば、特許文献3参照)が開示されている。 To solve this problem, a means for obtaining the resource consumption of individual bundles as an average consumption at a plurality of gateways (see, for example, Patent Document 2) or a software process of a separate OSGi framework for each service provider is generated. A means for realizing smooth service operation by setting a predetermined upper limit value in a memory used for each service provider (a Java (registered trademark) heap memory) is disclosed (for example, see Patent Document 3). ing.
特許文献2は、複数のゲートウェイがもつリソースの消費量についての解析結果を得る管理システムの動作方法であって、前記ゲートウェイのそれぞれから、該ゲートウェイで検出された消費量を示す消費量情報と、検出のときに当該ゲートウェイで実行されていたプログラムを示す実行プログラムリストとを取得し、平均消費量を含むレコードを作成する管理システムの動作方法が開示されている。
特許文献3には、サービス事業者ごとに利用可能なメモリの上限を管理し、アプリケーション起動時にJava(登録商標)の起動オプションにてヒープの上限値に設定することで設定値以上のメモリを該アプリケーションが利用できないようにする方法が開示されている。 In Patent Document 3, the upper limit of the memory that can be used for each service provider is managed, and when the application is started, the upper limit value of the heap is set by the start option of Java (registered trademark). A method for making an application unavailable is disclosed.
前記特許文献2、特許文献3に示される方法には次のような問題がある。まず、特許文献2に示される方法では、複数のプログラムが消費するリソースと実行プログラムリストを複数のゲートウェイ装置から収集することで各々のプログラムが消費するリソースの平均消費量を求める方法が開示されているが、あくまでも平均消費量であり、各々のゲートウェイ装置において、各々のプログラムが、実際にどのようにリソースを消費したのかを示す消費リソース量の実測値を得る方法については言及がない。すなわち、消費リソース量の実測値を基にして、厳密なリソース管理を行う方法については開示されていない。
The methods disclosed in
また、特許文献3に示される方法では、アプリケーションの利用可能なメモリの上限について、どのように決定をするかについての言及がない。すなわち、サービス事業者とゲートウェイ装置やOSGiフレームワークなどのアプリケーション基盤を提供するプラットフォーム事業者との責任分界点を考えると、サービス事業者が提供するアプリケーションの利用可能なメモリの上限については、サービス事業者が自ら必要なメモリ使用量を上限値としてプラットフォーム事業者に申告、設定することが自然であると考えられる。しかし、例えば、サービス事業者がゲートウェイ装置の実機を持たずゲートウェイ装置のエミュレータを用いてアプリケーション開発を行うような場合には必要なメモリ上限について精度の高い申告、設定を行うことが困難となる可能性がある。 Further, in the method disclosed in Patent Document 3, there is no mention of how to determine the upper limit of the memory that can be used by the application. In other words, considering the demarcation points between service providers and platform providers that provide application platforms such as gateway devices and OSGi frameworks, the upper limit of available memory for applications provided by service providers It is considered natural for a user to declare and set the maximum amount of memory required by the user to the platform operator. However, for example, when a service provider does not have an actual gateway device and develops an application using an emulator of the gateway device, it may be difficult to accurately declare and set the required memory upper limit. There is sex.
本発明は、前記の課題を解決するための発明であって、サービス事業者の要求に応じて、ゲートウェイ装置からサービス事業者の作成するアプリケーションソフトウェアの実行に必要なリソース実測値を収集し、該リソース実測値をサービス事業者へ提供可能とする、ゲートウェイ管理方法、ゲートウェイ管理装置、およびゲートウェイ装置を提供することを目的とする。 The present invention is an invention for solving the above-described problem, and collects actual resource measurement values necessary for executing application software created by a service provider from a gateway device in response to a request from the service provider, It is an object of the present invention to provide a gateway management method, a gateway management device, and a gateway device that can provide actual measured values of resources to a service provider.
前記目的を達成するため、本発明のゲートウェイ管理方法は、サービス事業者がゲートウェイ装置に対して提供するアプリケーションソフトウェアであるアプリケーションを管理するとともに、ゲートウェイ装置においてアプリケーションを実行した際に必要となるリソース実測値をサービス事業者に通知するゲートウェイ管理装置のゲートウェイ管理方法であって、ゲートウェイ管理装置は、サービス事業者がサービス事業者サーバから提供した各アプリケーションを、該サービス事業者と関連付けて管理するアプリケーション管理情報(例えば、サービス管理テーブル2000)を有するとともに、各アプリケーションが実行されたゲートウェイ装置の機器数と、各アプリケーションが実行された際に必要なリソース実測値とが関連付けられた実測リソース集計管理情報(例えば、実測リソース情報集計管理テーブル2200)を有する記憶部(例えば、サービス管理DB110)を備え、ゲートウェイ管理装置は、各ゲートウェイ装置から、導入済みの各アプリケーションが実行された際に必要となったリソース実測値を受信し、該受信したリソース実測値に基づき実測リソース集計管理情報を更新し(例えば、ステップS2504)、アプリケーション管理情報に登録されているアプリケーションの機器数が所定値に達しているか判定し、所定値に達したアプリケーションについてアプリケーション管理情報に登録されているサービス事業者に、リソース実測値を通知する(例えば、ステップS2508)ことを特徴とする。 In order to achieve the above object, the gateway management method of the present invention manages an application, which is application software provided to a gateway device by a service provider, and measures resources required when the application is executed in the gateway device. A gateway management method for a gateway management apparatus for notifying a service provider of a value, wherein the gateway management apparatus manages each application provided by a service provider from a service provider server in association with the service provider. It has information (for example, service management table 2000), and associates the number of devices of the gateway device in which each application is executed with the actual measured resource value required when each application is executed. Storage unit (for example, service management DB 110) having the measured resource total management information (for example, actual resource information total management table 2200), and the gateway management apparatus executes each installed application from each gateway apparatus. The actual measured resource value required at the time is received, the actual measured resource aggregation management information is updated based on the received actual resource value (for example, step S2504), and the number of application devices registered in the application management information is updated. It is determined whether or not a predetermined value has been reached, and an actual resource value is notified to the service provider registered in the application management information for the application that has reached the predetermined value (for example, step S2508).
本発明によれば、サービス事業者の要求に応じて、ゲートウェイ装置からサービス事業者の作成するアプリケーションソフトウェアの実行に必要なリソース実測値を収集し、該リソース実測値をサービス事業者へ提供可能とすることができる。 According to the present invention, in response to a request from a service provider, it is possible to collect actual measured values necessary for executing application software created by the service provider from the gateway device and to provide the actual measured values to the service provider. can do.
本発明の実施形態について、図面を参照して詳細に説明する。
図1は、本実施形態における機能構成およびネットワーク構成の一例を示す図である。ゲートウェイ管理システムは、ゲートウェイ管理装置100、複数の利用者宅50内のゲートウェイ装置200、複数のサービス事業者サーバ40とを含んで構成されている。利用者宅50内において、ゲートウェイ装置200は、利用者宅内ネットワーク230を介して複数の宅内機器240に接続されている。
Embodiments of the present invention will be described in detail with reference to the drawings.
FIG. 1 is a diagram illustrating an example of a functional configuration and a network configuration in the present embodiment. The gateway management system includes a
ゲートウェイ管理装置100、サービス事業者サーバ40、およびゲートウェイ装置200は、フレッツ(登録商標)などの閉域網、または、インターネットからなる外部ネットワーク30と接続しており、所定の手順に従って情報のやり取りを行うことができる。
The
ゲートウェイ装置200と宅内機器240は、利用者宅50内に設置され、有線または無線から構成される利用者宅内ネットワーク230と接続しており、所定の手順に従って情報のやり取りを行うことができる。
The
ゲートウェイ装置200は、外部ネットワーク30と利用者宅内ネットワーク230の両方と接続しており、利用者宅50に設置された機器にとって、外部ネットワーク30に接続された機器と情報のやり取りをするためのゲートウェイとしての機能を有する。
The
ゲートウェイ管理装置100は、処理部として、サービス事業者サーバ40から依頼を受けてゲートウェイ管理装置100への新規サービスの登録処理S2300(図23参照)を行うアプリケーション登録管理部101と、ゲートウェイ装置200へ新規サービス導入処理S600(図6参照)、ゲートウェイ装置200から受信した実測リソース量集計処理S2500(図25参照)などを行うアプリケーション配布管理部102と、DB管理部103とを有する。なお、DBはData Baseの略である。
As a processing unit, the
また、ゲートウェイ管理装置100は、サービス管理DB110を有し、サービス管理DB110には、サービス管理テーブル2000(アプリケーション管理情報)(図20参照)、実測リソース情報集計管理テーブル2200(実測リソース集計管理情報)(図22参照)、必要リソーステーブル500(リソース管理情報)(図5参照)、依存関係テーブル800(図8参照)が格納されている。
The
ゲートウェイ装置200は、処理部として、サービスアプリケーション211を実行するアプリケーション実行部210、サービスアプリケーション211の状況を管理するアプリケーション管理部220とを有している。
The
アプリケーション管理部220は、サービスアプリケーション起動処理S700(図7参照)、サービスアプリケーション起動処理S1400(図14参照)、メモリ使用量監視処理S1500(図15参照)、メモリ使用量監視処理S1600(図16参照)、異常通知処理S1800(図18参照)、異常通知処理S1900(図19参照)、実測リソース量計測処理S2400(図24参照)などの処理を行う機能を有している。
The
また、ゲートウェイ装置200は、ゲートウェイ管理DB250を有し、ゲートウェイ管理DB250には、実測リソース情報テーブル2100(実測リソース装置情報)(図21参照)、全体利用可能リソーステーブル300(図3参照)、利用可能リソーステーブル400(図4参照)、導入サービスアプリケーション依存関係管理テーブル900(図9参照)、およびプロセスID管理テーブル1000(図10参照)が格納されている。
The
図2は、ゲートウェイ管理装置100およびゲートウェイ装置200のハードウェア構成の一例を示す図である。ゲートウェイ管理装置100は、EPROM11、CPU12、メインメモリ13、バス14、不揮発性記憶装置15、周辺制御装置16、ネットワークI/F17を有している。EPROM11、CPU12、メインメモリ13、周辺制御装置16はバス14と接続し、不揮発性記憶装置15、ネットワークI/F17は周辺制御装置16を介してバス14と接続しており、所定の手順に従って情報のやり取りを行うことができる。なお、EPROMはErasable Programmable Read Only Memoryの略であり、CPUはCentral Processing Unitの略であり、I/FはInterfaceの略である。
FIG. 2 is a diagram illustrating an example of a hardware configuration of the
ゲートウェイ装置200は、EPROM21、CPU22、メインメモリ23、バス24、不揮発性記憶装置25、周辺制御装置26、ネットワークI/F27、ネットワークI/F28を有している。EPROM21、CPU22、メインメモリ23、周辺制御装置26はバス24と接続し、ネットワークI/F27、ネットワークI/F28、不揮発性記憶装置25は周辺制御装置26を介してバス24と接続しており、所定の手順に従って情報のやり取りを行うことができる。
The
ゲートウェイ管理装置100において、EPROM11にはブートプログラムが格納されている。また、不揮発性記憶装置15には各種プログラムが記憶されている。ゲートウェイ管理装置100が起動するとEPROM11に格納されたブートプログラムによって不揮発性記憶装置15から各種プログラムがメインメモリ13へと読み出される。CPU12はメインメモリ13に読み出された各種プログラムを実行することにより、ネットワークI/F17への信号の送受信を行う。
In the
ネットワークI/F17は外部ネットワーク30と接続しており、外部ネットワーク30に接続する機器との間で情報のやり取りを行うことができる。ネットワークI/F17はネットワークカードなどにより実現することができる。
The network I /
不揮発性記憶装置15には、前述のようにCPU12がメインメモリ13に読み出して実行するための各種プログラムが記憶されており、フラッシュメモリやHDD(ハードディスクドライブ)により実現することができる。
As described above, the
ゲートウェイ装置200において、EPROM21にはブートプログラムが格納されている。また、不揮発性記憶装置25には各種プログラムが記憶されている。ゲートウェイ装置200が起動するとEPROM21に格納されたブートプログラムによって不揮発性記憶装置25から各種プログラムがメインメモリ23へと読み出される。CPU22はメインメモリ23に読み出された各種プログラムを実行することにより、ネットワークI/F27やネットワークI/F28への信号の送受信を行う。
In the
ネットワークI/F27は、外部ネットワーク30と接続しており、外部ネットワーク30に接続する機器との間で情報のやり取りを行うことができる。ネットワークI/F27はネットワークカードなどにより実現することができる。
The network I /
ネットワークI/F28は、利用者宅50内のネットワーク230と接続しており、利用者宅内ネットワーク230に接続する機器との間で情報のやり取りを行うことができる。ネットワークI/F28はネットワークカードなどにより実現することができる。
The network I /
不揮発性記憶装置25には、前述のようにCPU22がメインメモリ23に読み出して実行するための各種プログラムが記憶されており、フラッシュメモリやHDD(ハードディスクドライブ)により実現することができる。図示しないが、サービス事業者サーバ40のハードウェア構成は、通常のPC(Personal Computer)と同様である。
As described above, the
次に、本実施形態において、ゲートウェイ管理装置100、ゲートウェイ装置200が扱う各テーブルについて説明する。
Next, in the present embodiment, each table handled by the
図3は、ゲートウェイ装置200の全体利用可能リソーステーブル300を示す図である。全体利用可能リソーステーブル300は、アプリケーションサービス全体が利用可能なリソース量を示すテーブルである。全体利用可能リソーステーブル300には、全体利用可能CPU使用率301、全体利用可能メモリ量302といった項目がある。具体的には、行303には、全体利用可能CPU使用率は50%であり、全体利用可能メモリ量は30MBであることがわかる。
FIG. 3 is a diagram showing the entire available resource table 300 of the
図4は、ゲートウェイ装置200の利用可能リソーステーブル400を示す図である。利用可能リソーステーブル400は、個別のアプリケーションサービスが利用可能なリソースを管理するテーブルである。利用可能リソーステーブル400には、ID401、利用可能ヒープメモリ量402、利用可能メモリ量403、利用可能CPU使用率404といった項目がある。具体的には、行405のIDが「000」の場合、利用可能ヒープメモリ量は6MB、利用可能メモリ量15MB、利用可能CPU使用率は20%である。行406のIDが「003」の場合、利用可能ヒープメモリ量は3MB、利用可能メモリ量6MB、利用可能CPU使用率は10%である。
FIG. 4 is a diagram showing an available resource table 400 of the
図5は、ゲートウェイ管理装置100の必要リソーステーブル500を示す図である。必要リソーステーブル500は、ゲートウェイ管理装置100が管理する個別のアプリケーションサービスが利用可能なリソースを管理するテーブルである。必要リソーステーブル500には、ID401、必要ヒープメモリ量502、必要メモリ量503、必要CPU使用率504といった項目がある。具体的には、複数のサービス事業者サーバ40が提供しているサービスアプリケーション211の必要リソースとして、行506のIDが「001」の場合、必要ヒープメモリ量は1MB、必要メモリ量は2MB、必要CPU使用率は10%である。また、行507のIDが「002」の場合は、必要ヒープメモリ量は4MB、必要メモリ量は10MB、必要CPU使用率は30%である。
FIG. 5 is a diagram showing the necessary resource table 500 of the
さらに、行505のIDが「000」は図4で示した行405の「000」に対応し、行508のIDが「003」は図4で示した行406の「003」に対応し、および行509のIDが「010」は図4に示した行407の「010」に対応している。
Furthermore, the ID “000” in the
図8は、ゲートウェイ管理装置100の依存関係テーブル800を示す図である。依存関係テーブル800は、サービスアプリケーション間の依存関係を管理するテーブルである。依存関係テーブル800には、ID401、Import-Package802、Export-Package803といった項目がある。
FIG. 8 is a diagram illustrating the dependency relationship table 800 of the
Import-Package802は、ID401に指定されているバンドルの利用に必要なパッケージ、言い換えると、このバンドルが依存しているパッケージを示す。行804の例ではImport-Packageがorg.osgi.frameworkとしており、org.osgi.frameworkというパッケージに依存することを意味する。Export-Package803は、他のバンドルに公開されるパッケージを示す。行804では、Export-Packageがorg.osgi.service.httpとしており、org.osgi.service.httpというパッケージをバンドル外に公開している。逆にExport-Package803に宣言されていないパッケージは、他のバンドルからアクセスができないことを意味する。
Import-
図9は、ゲートウェイ装置200の導入サービスアプリケーション依存関係管理テーブル900を示す図である。導入サービスアプリケーション依存関係管理テーブル900は、ゲートウェイ装置200に導入したサービスアプリケーション間の依存関係を管理するテーブルである。導入サービスアプリケーション依存関係管理テーブル900には、ID401、Import-Package902、Export-Package903といった項目がある。
FIG. 9 is a diagram showing an introduction service application dependency management table 900 of the
図10は、ゲートウェイ装置200のプロセスID管理テーブル1000を示す図である。プロセスID管理テーブル1000は、サービスアプリケーション211に対応するプロセスIDを管理するテーブルである。プロセスID管理テーブル1000には、ID401、プロセスID1002といった項目がある。
FIG. 10 is a diagram showing a process ID management table 1000 of the
図20は、ゲートウェイ管理装置100のサービス管理テーブル2000を示す図である。サービス管理テーブル2000(アプリケーション管理情報)は、サービス名と、サービス事業者名およびサービスIDとの対応を管理するテーブルである。サービス管理テーブル2000には、サービス名2001、サービス事業者名2002、ID401といった項目がある。具体的には、サービス名が「home control」は、「家操作(株)」のサービス事業者が提供しているサービスであり、サービス名が「healthcare」は、「(株)健康No.1」のサービス事業者が提供しているサービスである。
FIG. 20 is a diagram showing the service management table 2000 of the
図21は、ゲートウェイ装置200の実測リソース情報テーブル2100を示す図である。実測リソース情報テーブル2100(実測リソース装置情報)は、ID401に対応する実測リソース情報を管理するテーブルである。実測リソース情報テーブル2100には、ID401、実測ヒープメモリ量2101、実測メモリ量2102、実測CPU使用率2103、稼働時間2104といった項目がある。
FIG. 21 is a diagram showing an actually measured resource information table 2100 of the
図22は、ゲートウェイ管理装置100の実測リソース情報集計管理テーブル2200を示す図である。実測リソース情報集計管理テーブル2200(実測リソース集計管理情報)は、ID401に対応する調査機器数の実測リソース情報集計管理テーブルである。実測リソース情報集計管理テーブル2200には、ID401、調査機器数2201、実測ヒープメモリ量最大値2202、実測ヒープメモリ量平均値2203、実測メモリ量最大値2204、実測メモリ量平均値2205、実測CPU使用率最大値2206、実測CPU使用率平均値2207といった項目がある。具体的には、行2208を参照すると、IDが「010」の場合、調査機器数は15であり、各リソースの最大値および平均値が集計されている。例えば、実測ヒープメモリ量の最大値は0.5MBであり、実測ヒープメモリ量の平均値は0.35MBである。このことから、図20、図22を参照すると、IDが「010」のサービス名が「home comtrol」を運用する際の、精度の高い各リソースの最大値および平均値を得ることができる。
FIG. 22 is a diagram showing an actually measured resource information aggregation management table 2200 of the
次に本実施形態の各装置の処理部の動作について、適宜図1を参照して説明する。
ゲートウェイ管理装置100は、様々なサービス事業者サーバ40を保持するサービス事業者が提供するサービスアプリケーションを、ゲートウェイ装置200へ外部ネットワーク30を介して配布するサービスサービスアプリケーション配布基盤としての機能を有している。サービス事業者サーバ40を保持するサービス事業者は、作成したサービスアプリケーション211の配布をゲートウェイ管理装置100へ委託することにより、サービスアプリケーション配布サーバなどを自身で設置すること、アプリケーション実行部210を備えたゲートウェイ装置200などを自ら利用者へ配布することの必要がなくなり、コストを抑えてサービス提供を行うことが可能となる。
Next, the operation of the processing unit of each apparatus according to the present embodiment will be described with reference to FIG.
The
ゲートウェイ装置200は、様々なサービスアプリケーション211を実行するアプリケーション実行部210を備える。アプリケーション実行部210は、例えば、OSGi(登録商標)フレームワークのようなアプリケーション実行基盤を用いて実現することができ、ゲートウェイ管理装置100が配布するサービスアプリケーション211を実行することにより、様々な宅内機器240を、利用者宅内ネットワーク230を介して制御可能とするなど、ゲートウェイ装置200の機能を柔軟に拡張することを可能とする。
The
アプリケーション実行部210としてOSGiフレームワークを用いる場合、通常OSGiフレームワークは、単一のフレームワーク上で複数のサービスアプリケーション211を実行することが可能であるが、本実施形態では、サービスアプリケーション211のそれぞれが、利用するゲートウェイ装置200のCPU処理時間(CPU使用率)や利用メモリ量といったリソースを詳細に制御するために、サービスアプリケーション211ごとに別個にアプリケーション実行部210を起動することを想定する。
When the OSGi framework is used as the
OSGiフレームワークのようなアプリケーション実行基盤は、様々なサービスアプリケーション211間でお互いの機能を適切に呼び合うことを可能とする。例えば、OSGiサービスプラットフォーム仕様が標準で規定するHTTPサービスはWEBサーバおよびサーブレットコンテナの機能を有し、サーブレットとして実装された他のサービスアプリケーション211は、HTTPサービスが提供するサーブレットコンテナ機能に自身を登録することにより、サービスアプリケーション211を提供するサービス事業者は、簡単にWEBサーバおよびサーブレットコンテナの機能を利用することができる。
An application execution platform such as the OSGi framework allows
アプリケーション実行部210をサービスアプリケーション211ごとに起動した場合、通常前記のようなサービスアプリケーション211間の連携機能は使用できなくなってしまうが、OSGiサービスプラットフォーム仕様R4.2にはHTTPサービスと同様の標準サービスとしてリモートサービスの仕様が追加されている。リモートサービスはOSGiの核となるサービスのImport/Export機能を異なるJava(登録商標)VM上で動作するOSGiフレームワークと共有することを可能とする。
When the
本実施形態においては、特にことわりのない限り、アプリケーション実行部210はOSGiフレームワークを用いて実現され、アプリケーション実行部210は、様々なサービスアプリケーション211ごとにアプリケーション管理部220によって異なるJavaVM(異なるソフトウェアプロセス)上で実行され、起動した複数のアプリケーション実行部210間はOSGiサービスプラットフォームの標準サービスである、リモートサービスを用いて互いに連携可能であることを想定する。
In the present embodiment, unless otherwise specified, the
また、本実施形態においては、サービスアプリケーション211は、1つまたは複数のプログラム(ソフトウェア部品、OSGiバンドルと言う)からなる。本実施形態においては、1つのアプリケーション実行部210では、1つのサービスアプリケーション211が動作することを想定する。ただし、1つのアプリケーション実行部210で複数のサービスアプリケーション211を実行することも可能である。例えば、サービスアプリケーション211の提供事業者ごとに同一のアプリケーション実行部を利用するということも可能である。
In the present embodiment, the
本実施形態において、CPU使用率、メモリ使用量といったリソースの管理を行うことができるのはアプリケーション実行部210ごとである。例えば、前記のように、サービスアプリケーション211の提供事業者ごとに同一のアプリケーション実行部210を利用する場合、利用可能なリソース量を超過した場合には該サービスアプリケーション提供事業者の提供するサービスアプリケーション211のいずれかに問題があるであろう、ということまで分かる。
In the present embodiment, resources such as CPU usage rate and memory usage can be managed for each
1つのアプリケーション実行部210で複数のサービスアプリケーション211を実行すると、ゲートウェイ装置全体におけるアプリケーション実行部210を実現するプログラム(JavaVMやOSGiフレームワークなど)の実行数が減少し、その分機器全体でのメモリ使用量などを節約することができるという効果があるが、本実施形態では説明を簡便にするために1つのアプリケーション実行部では1つのサービスアプリが動作することを想定する。
When a plurality of
また、本実施形態におけるゲートウェイ装置200は、アプリケーション実行部210の実行されるソフトウェアプロセスそれぞれのCPU使用率、メモリ使用量、Javaのヒープメモリ使用量の上限値を適切に制御可能な構成を想定する。
In addition, the
例えば、ゲートウェイ装置200のOS(基本ソフト)がLinux(登録商標)である場合、ソフトウェアプロセスのCPU使用率はCABI(CPU Accounting and Blocking Interface)のようなCPUリソースマネジメントシステムを用いて制御が可能である。CABIはある周期におけるCPU使用時間の上限値を設定することが可能で、例えば、あるソフトウェアプロセスに対し、周期が100ms、CPU使用時間の上限値が30msといったCABIのAO(アカウンティングオブジェクト)を設定した場合、100msの間に30msの時間においてCPUを利用すると、30ms後のCPUの利用をブロックされ、CPUリソースが他のプロセスへと開放される。本実施形態においては、特にことわりのない限り、ゲートウェイ装置200のOSはLinuxであり、CPUリソースマネジメントにはCABIを用いることを想定するが、例えばその他のリアルタイムOSなどにおいても同様の仕組みを用いて実現が可能な場合がある。
For example, when the OS (basic software) of the
また、例えば、ゲートウェイ装置200のOS(基本ソフト)がLinuxである場合、ソフトウェアプロセスのメモリ使用量はCABI−DMEL(Common resource management Accounting and Blocking Interfaces - Dependable Memory management system for Embedded Linux)のようなメモリリソースマネジメントシステムを用いて制御が可能である。CABI−DMELはあるソフトウェアプロセスに対する物理メモリの割り当ての上限制限をすることが可能であり、上限値以上のメモリを確保しようとした場合にメモリ割り当てをブロックすることができる。本実施形態においては、特にことわりのない限り、ゲートウェイ装置200のOSはLinuxであり、メモリリソースマネジメントにはCABI−DMELを用いることを想定するが、例えばその他のOSなどにおいても同様の仕組みを用いて実現が可能な場合がある。
For example, when the OS (basic software) of the
また、本実施形態ではアプリケーション実行部210は、OSGiフレームワークを用いて実現されることを想定するが、OSGiフレームワークはJavaVM(Java Virtual Machine)を用いて起動される。JavaVMは実行するプログラムの利用可能なヒープメモリの上限を指定することが可能であり、設定した上限値以上のヒープメモリの利用をブロックすることができる。
In the present embodiment, it is assumed that the
図13は、本実施形態における機能構成の一例を示す図である。図13は、アプリケーション実行部210を実現するプログラムとしてJavaVM、OSGiフレームワーク(OSGi Framework)、OSGiの標準サービスであるリモートサービスバンドルを用いた場合のゲートウェイ装置200の機能構成図である。
FIG. 13 is a diagram illustrating an example of a functional configuration according to the present embodiment. FIG. 13 is a functional configuration diagram of the
サービスアプリケーション211を実行するごとにJavaVMとOSGiフレームワークが起動し、各OSGiフレームワーク上でリモートサービスバンドルが動作し、それぞれのアプリケーション実行部210a,210b,210cのOSGiフレームワーク上において各サービスアプリケーション211が動作している。
Each time the
OSGiは通常、同一のJavaVM上で動作するOSGiフレームワーク上で動作するプログラム(バンドル)間においてお互いの機能(サービス)を呼び合うことができるが、リモートサービスを用いると異なるJavaVM上で動作するOSGiフレームワーク間で機能(サービス)の情報をやり取りすることができ、リモートサービスが導入されたOSGiフレームワーク上で実行されるサービスアプリケーション211は異なるアプリケーション実行部で動作するサービスアプリケーション211の機能(サービス)を利用することが可能となる。また、各アプリケーション実行部210a,210b,210cの起動処理などの管理はアプリケーション管理部220が行う。
OSGi can normally call each other's functions (services) between programs (bundles) running on the OSGi framework running on the same JavaVM, but OSGi running on different JavaVMs using remote services. Functions (services) of the
図23は、アプリケーション登録管理部101によるゲートウェイ管理装置100への新規サービス登録処理S2300の処理フローを示す図である。図23は、ゲートウェイ管理装置100のアプリケーション登録管理部101が、サービス事業者のサービス事業者サーバ40から受信する情報を基にゲートウェイ管理装置100へ新規サービスを登録する手順を示すフローチャートである。
FIG. 23 is a diagram showing a processing flow of new service registration processing S2300 to the
ステップS2301は、ゲートウェイ管理装置100のアプリケーション登録管理部101が、サービス事業者のサービス事業者サーバ40から新規登録するサービスに関する情報、すなわち、サービス事業者名、サービスアプリケーションのプログラム、サービス名、必要ヒープメモリ量、必要メモリ量、必要CPU使用率、実測リソース計測の有無に関する情報を受信する処理である。
In step S2301, information on a service newly registered from the
ステップS2302は、アプリケーション登録管理部101が、該サービスアプリケーションのIDを新規に決定する処理である。IDはこれまでにサービス管理テーブル2000(図20参照)に記載のサービス名に対応するIDとして登録されていない値を選択する。
Step S2302 is processing in which the application
ステップS2303は、アプリケーション登録管理部101が、サービス管理テーブル2000にサービス名、サービス事業者名、ステップS2302で決定したIDを追記する処理である。
In step S2303, the application
ステップS2304は、アプリケーション登録管理部101が、必要リソーステーブル500(図5参照)にID、必要ヒープメモリ量、必要メモリ量、必要CPU使用率を追記する処理である。
In step S2304, the application
サービス事業者から受信した情報に実測リソース計測指定があれば(ステップS2305,Yes)、ステップS2306の処理に進む、実測リソース計測指定がなければ(ステップS2305,No)、処理を終了する。 If the measured resource measurement designation is included in the information received from the service provider (step S2305, Yes), the process proceeds to step S2306. If there is no measured resource measurement designation (step S2305, No), the process is terminated.
ステップS2306は、アプリケーション登録管理部101が、実測リソース情報集計管理テーブル2200(図22参照)に新規のレコードを作成し、IDを追記し、該当する調査機器数に初期値である0を設定する処理である。
In step S2306, the application
図6は、アプリケーション配布管理部102によるゲートウェイ装置200への新規サービス導入処理S600の処理フローを示す図である。図6は、ユーザが選択したサービスがゲートウェイ管理装置100を介してゲートウェイ装置200に導入されるまでの手順を示したフローチャートである。以下、図6の説明は、特に言及のない限りアプリケーション配布管理部102の処理であり、ステップS609〜ステップS611は、ゲートウェイ装置200の処理である。
FIG. 6 is a diagram illustrating a process flow of the new service introduction process S600 to the
サービス利用者は、宅内機器240のひとつであるPCからゲートウェイ装置200にアクセスすると、サービスアプリケーション管理画面が表示される。サービスアプリケーション管理画面には、現在すでに導入されているサービスアプリケーションの一覧、かつ、まだ導入されていないサービスアプリケーションの一覧などが表示される。サービスアプリケーションの一覧には、有料であるか無料であるか、有料である場合にも無料のトライアル期間があるか否か、サービス内容がどのようなものであるか否かなどが表示される。サービス利用者は、導入を希望するサービスアプリケーション、例えば、3ヶ月無料のサービスとしてサービス名が「healthcare」(図20参照)を選択する。
When the service user accesses the
ステップS601は、アプリケーション配布管理部102が、サービス利用者によって新規導入を希望されたサービスアプリケーションのID(A)を取得する処理である。 Step S601 is processing in which the application distribution management unit 102 acquires the ID (A) of a service application that is desired to be newly installed by the service user.
ステップS602は、アプリケーション配布管理部102が、ゲートウェイ装置200から全体利用可能リソーステーブル300(図3参照)に記載の情報(全体利用可能CPU使用率および全体利用可能メモリ量)(B)、および利用可能リソーステーブル400(図4参照)に記載のIDの一覧(C)を取得する処理である。
In step S602, the application distribution management unit 102 uses the information (the total available CPU usage rate and the total available memory amount) (B) described in the total available resource table 300 (see FIG. 3) from the
ステップS603は、アプリケーション配布管理部102が、サービスアプリケーションを新規導入するにあたって、アプリケーションの依存関係を確認し、ユーザが新規導入を希望するアプリケーション以外に導入が必要なアプリケーションのIDを抽出する処理である、すなわち、新規導入を希望するサービスアプリケーションのID(A)、すでにゲートウェイ装置200に導入済みのサービスアプリケーションのID一覧(C)、依存関係テーブル800に記載の情報(D)を用いて、Aのサービスアプリケーションを導入する際に追加で必要なサービスアプリケーションがないかを確認し、もしあれば、新規導入希望サービスアプリケーションのID(A)と該追加で必要なサービスサービスアプリケーションのIDを合わせて、ゲートウェイ装置200へ導入するサービスアプリケーションのID一覧(E)を抽出する処理である。
Step S603 is a process in which the application distribution management unit 102 checks the application dependency when a service application is newly installed, and extracts the ID of an application that needs to be installed in addition to the application that the user desires to newly install. That is, using the ID (A) of the service application desired to be newly installed, the ID list (C) of the service application already installed in the
ステップS604は、アプリケーション配布管理部102が、新規導入希望サービスアプリケーションをゲートウェイ装置200へ導入する場合に必要となるリソースの合計を算出する処理である、すなわち、必要リソーステーブル500を参照し、ゲートウェイ装置200に導入済みのID一覧(C)に対する必要メモリ量、必要CPU使用率の合計(F)、および新規導入希望のID一覧(E)に対する必要メモリ量、必要CPU使用率の合計(G)を算出する処理である。
Step S604 is processing in which the application distribution management unit 102 calculates the total number of resources required when introducing the new installation desired service application into the
ステップS605は、アプリケーション配布管理部102が、新規導入希望サービスアプリケーションを導入した場合の必要リソース量の合計と、ゲートウェイ装置200で利用可能な総リソース量(B)を比較する処理である、すなわち、新規導入希望サービスアプリケーション導入後に必要となるメモリ量およびCPU使用率の合計(F+G)と、全体利用可能リソース量(B)を比較する処理である。
Step S605 is a process in which the application distribution management unit 102 compares the total amount of required resources when a new installation desired service application is installed with the total amount of resources (B) that can be used in the
ステップS606は、アプリケーション配布管理部102が、ステップS605の比較の結果、新規導入希望サービスアプリケーションを導入した場合の必要リソース量がゲートウェイ装置200で利用可能な総リソース量の範囲内であるかどうかを確認する処理である、すなわち、メモリ量、CPU使用率それぞれについてF+G<Bが成立かどうか調べる処理である。メモリ量、CPU使用率それぞれについてF+G<Bが成立であれば(ステップS606,Yes)、ステップS607へ進む。メモリ量、CPU使用率それぞれについてF+G<Bが成立でなければ(ステップS606,No)、ステップS612へ進む。
In step S606, as a result of the comparison in step S605, the application distribution management unit 102 determines whether or not the required resource amount when the newly installed desired service application is within the range of the total resource amount usable in the
ステップS607は、アプリケーション配布管理部102が、ゲートウェイ装置200を介してサービス利用者に、新規導入を希望したサービスアプリケーションを導入可能であることを提示する処理である。
Step S607 is a process in which the application distribution management unit 102 presents to the service user via the
ステップS608は、アプリケーション配布管理部102が、ゲートウェイ装置200へ新規導入サービスアプリケーションおよび関連情報を送信する処理である、すなわち、ゲートウェイ装置200へ新規導入サービスアプリケーション、該サービスアプリケーション各々の必要メモリ量、必要CPU使用率といった必要リソース情報(H)、該サービスアプリケーション各々の依存関係に関する情報(I)、および実測リソース情報集計管理テーブル2200(図22参照)を参照し、該新規導入サービスアプリケーションのIDが含まれていれば該IDが実測リソース情報収集要である旨(J)を送信する処理である。
Step S608 is processing in which the application distribution management unit 102 transmits a newly installed service application and related information to the
ステップS609は、ゲートウェイ装置200のアプリケーション管理部220における処理である。ゲートウェイ装置200が、Hの情報を利用可能リソーステーブル400に、Iの情報を導入サービスアプリケーション依存関係管理テーブル900に追記する処理である。
Step S609 is processing in the
ステップS610は、ゲートウェイ装置200のアプリケーション管理部220における処理である。ゲートウェイ装置200が、実測リソース情報収集要である旨(J)の情報が存在する場合に、実測リソース情報テーブル2100に新規のレコードを作成し、該当IDを追記し、稼働時間を初期値である0に設定する処理である。
Step S610 is processing in the
ステップS611は、ゲートウェイ装置200のアプリケーション管理部220における処理である。ゲートウェイ装置200が、該サービスアプリケーションを起動する処理である。そして、ステップS611の処理後、一連の処理は終了する。
Step S611 is processing in the
ステップS612は、ゲートウェイ装置200を介してサービス利用者に、新規導入を希望したサービスアプリケーションの導入が不可であることを提示する処理である。そして、ステップS612の処理後、一連の処理は終了する。
Step S612 is a process of presenting to the service user via the
図6におけるステップS604において、メモリ使用量として必要メモリ量を用いたが、必要リソーステーブル500(図5参照)に必要メモリ量の記載がなく、必要ヒープメモリ量のみが記載されている場合などはメモリ使用量として必要ヒープメモリ量を用いてもよい。また、必要ヒープメモリ量はJavaVM自身が利用するメモリ量などを含まないが、JavaVMが利用するであろうメモリ量をある程度見込んで、それをメモリ使用量として利用してもよい。例えば、必要ヒープメモリ量と同量のメモリをJavaVMが利用するとして、必要ヒープメモリ量の2倍を必要メモリ量とする、などとしてもよい。 In step S604 in FIG. 6, the required memory amount is used as the memory usage amount, but there is no description of the required memory amount in the required resource table 500 (see FIG. 5), and only the required heap memory amount is described. The necessary heap memory amount may be used as the memory usage amount. Further, the necessary heap memory amount does not include the memory amount used by JavaVM itself, but may be used as the memory usage amount with some expectation of the memory amount that JavaVM will use. For example, assuming that JavaVM uses the same amount of memory as the required heap memory amount, the required memory amount may be twice the required heap memory amount.
図11は、新規導入希望サービスを導入可能である画面表示の一例を示す図である。図11は、図6におけるステップS607において、ゲートウェイ管理装置100がゲートウェイ装置200を介してサービス利用者に提示する情報の画面イメージの一例である。具体的には、画面には、「選択したサービスを実行するのに十分なリソース量があることを確認しました。選択したサービスをゲートウェイ装置に導入します。」が表示される。
FIG. 11 is a diagram illustrating an example of a screen display on which a new introduction desired service can be introduced. FIG. 11 is an example of a screen image of information that the
図12は、新規導入希望サービスを導入不可である画面表示の一例を示す図である。図6におけるステップS612において、ゲートウェイ管理装置100がサービス利用者に提示する情報の画面イメージの一例である。具体的には、画面には、「選択したサービスを実行するのに十分なリソース量があることを確認できませんでした。選択したサービスをゲートウェイ装置に導入できません。不要なサービスを停止するなどして再度サービス導入処理を行ってください。」が表示される。
FIG. 12 is a diagram illustrating an example of a screen display in which a new introduction desired service cannot be introduced. FIG. 6 is an example of a screen image of information presented to the service user by the
図17は、図6に示した新規サービス導入処理を示す処理フローに対応するシーケンスを示す図である。ステップS1701は、サービス利用者のPCを利用してゲートウェイ装置200を介してゲートウェイ管理装置100に接続し、新規導入を希望するサービスアプリケーションを選択する処理である。ステップS1702は、ゲートウェイ管理装置100が該サービスアプリケーションのID(A)を得る処理であり、ステップS601に対応する。
FIG. 17 is a diagram showing a sequence corresponding to the processing flow showing the new service introduction processing shown in FIG. Step S1701 is a process of selecting a service application desired to be newly installed by connecting to the
ステップS1703は、ゲートウェイ管理装置100が、ゲートウェイ装置200に、全体利用可能リソース情報テーブルに記載の情報(B)および利用可能リソーステーブルに記載のIDの一覧(C)の送信を要求する処理である。
Step S1703 is processing in which the
ステップS1704は、ゲートウェイ装置200が、ゲートウェイ管理装置100に、全体利用可能リソース情報テーブルに記載の情報(B)および利用可能リソーステーブルに記載のIDの一覧(C)を送信する処理であり、ステップS602に対応する。
Step S1704 is processing in which the
ステップS1705は、ゲートウェイ管理装置100が、AのIDとCのIDの一覧と依存関係テーブルに記載の情報(D)を用いてゲートウェイ装置200に導入するサービスアプリケーションのIDの一覧(E)を抽出する処理であり、ステップS603に対応する。
In step S1705, the
ステップS1706は、ゲートウェイ管理装置100が、必要リソーステーブルに記載の必要メモリ量、必要CPU使用率のそれぞれについて、CのID一覧に対応する必要メモリ量、必要CPU使用率それぞれの合計(F)と、EのID一覧に対応する必要メモリ量、必要CPU使用率それぞれの合計(G)を抽出する処理であり、ステップS604に対応する。
In step S1706, the
ステップS1707は、ゲートウェイ管理装置100が、新規サービス導入した場合にゲートウェイ装置200のメモリ量、CPU使用率それぞれについて全体利用可能リソース量を超えないことを確認、すなわち、必要メモリ量、必要CPU使用率それぞれについて、Fの値とGの値の和がBにおける全体利用可能メモリ量、全体利用可能CPU使用率の値を超えないかどうかを確認する処理であり、ステップS605,S606に対応する。
Step S1707 confirms that the
ステップS1708は、ゲートウェイ管理装置100が、ゲートウェイ装置200を介してサービス利用者に、新規導入を希望したサービスアプリケーションを導入可能である事を提示する処理であり、ステップS607に対応する。
Step S1708 is processing in which the
ステップS1709は、ゲートウェイ管理装置100が、ゲートウェイ装置200へ、該新規導入サービスアプリケーションおよび必要リソーステーブル500の情報のうち該サービスアプリケーションのIDに対応する情報(H)、依存関係テーブル800の情報のうち該サービスアプリケーションのIDに対応する情報(I)、および実測リソース情報集計管理テーブル2200(図22参照)を参照し、該新規導入サービスアプリケーションのIDが含まれていれば該IDが実測リソース情報収集要である旨(J)を送信する処理であり、ステップS608に対応する。
In step S1709, the
ステップS1710は、ゲートウェイ装置200が、Hの情報を利用可能リソーステーブル400に、Iの情報を導入サービスアプリケーション依存関係管理テーブル900に追記する処理であり、ステップS609に対応する。
Step S1710 is a process in which the
ステップS1711は、ゲートウェイ装置200が、実測リソース情報収集要である旨(J)の情報が存在する場合に、該当IDを実測リソース情報テーブル2100に追記し、稼働時間を初期値である0に設定し、該サービスアプリケーションを起動する処理であり、ステップS610に対応する。
In step S 1711, when there is information indicating that the
図7は、アプリケーション管理部220によるサービスアプリケーション起動処理S700の処理フローを示す図である。
FIG. 7 is a diagram showing a processing flow of service application activation processing S700 by the
ステップS701は、アプリケーション管理部220が、利用可能リソーステーブル400(図4参照)から、起動するサービスアプリケーション211のIDに対応する利用可能ヒープメモリ量、利用可能メモリ量、利用可能CPU使用率を取得する処理である。
In step S701, the
ステップS702は、アプリケーション管理部220が、CABIのAPI(Application Program Interface)を用いて、該利用可能CPU使用率の値に関するアカウンティングオブジェクトを生成する処理である。
In step S702, the
ステップS703は、アプリケーション管理部220が、CABI−DMELのAPIを用いて、該利用可能メモリ量の値に関するアカウンティングオブジェクトを生成する処理である。
In step S703, the
ステップS704は、アプリケーション管理部220が、JavaVMの起動オプションの最大ヒープ量に該利用可能ヒープメモリ量を設定してOSGiフレームワーク(アプリケーション実行部210)を起動し、該OSGiフレームワークに該サービスアプリケーション211をインストールおよび実行する処理である。
In step S704, the
ステップS705は、アプリケーション管理部220が、該サービスアプリケーション211を実行したソフトウェアプロセスのプロセスIDを調査、取得し、該プロセスIDをCABIおよびCABI−DMELのアカウンティングオブジェクトにバインドする処理である。
In step S705, the
ステップS706は、アプリケーション管理部220が、該サービスアプリケーション211のIDおよび該プロセスIDをプロセスID管理テーブル1000(図10参照)に記憶する処理である。
Step S706 is processing in which the
ここで、CABI、CABI−DMELの動作について簡単に説明する。CABIは周期とCPU使用時間をパラメータにアカウンティングオブジェクトを作成し、そのアカウンティングオブジェクトに制御したいプロセスをバインドする。例えば、利用可能CPU使用率が20%の場合、周期100ms、CPU使用時間20msなどと記述する。 Here, operations of CABI and CABI-DMEL will be briefly described. CABI creates an accounting object using the period and CPU usage time as parameters, and binds the process to be controlled to the accounting object. For example, when the available CPU usage rate is 20%, a period of 100 ms and a CPU usage time of 20 ms are described.
通常Linuxのような非リアルタイムOSにおいては、CPUに余力がある場合、優先度の低いプロセスであっても多くのCPU資源(利用時間)を割り当てる。CABIを用いると、CPUに余力があった場合でもアカウンティングオブジェクトに設定した時間分のCPU資源を消費したら該プロセスはタスクを開放し、それ以上CPU資源を利用しない。CABIを用いた場合において、設定する周期とCPU使用時間は利用可能な最大値である。設定した時間分のCPUを使用していなくとも、より優先度の高いプロセスから割り込みが発生した場合などは利用時間に達しなくともCPU資源を解放する。 Normally, in a non-real-time OS such as Linux, if the CPU has a surplus capacity, a large amount of CPU resources (usage time) are allocated even for a process with a low priority. When CABI is used, even if the CPU has spare capacity, if the CPU resource for the time set in the accounting object is consumed, the process releases the task and does not use the CPU resource any more. In the case of using CABI, the set cycle and CPU usage time are the maximum available values. Even if the CPU for the set time is not used, if an interrupt is generated from a process with a higher priority, CPU resources are released even if the usage time is not reached.
CABI−DMELはアカウンティングオブジェクトに利用可能なメモリ量を設定する。制御したいプロセスをアカウンティングオブジェクトにバインドすると、CABI−DMELは該プロセスのメモリの確保/開放を監視し、設定したメモリ量を超えるメモリの確保を行おうとするとそれを拒否する。その場合、制御対象のプロセスではメモリ確保に失敗したことになり、場合によってはプロセスそのものが異常終了するような場合もある。CABIやCABI−DMELを用いた場合のログなどはシステムログなどに記録可能であり、アプリケーション管理部から参照可能である。 CABI-DMEL sets the amount of memory available for accounting objects. When a process to be controlled is bound to an accounting object, CABI-DMEL monitors the memory allocation / release of the process, and rejects any attempt to allocate a memory exceeding the set amount of memory. In this case, the process to be controlled has failed to secure the memory, and in some cases, the process itself may end abnormally. Logs and the like when CABI or CABI-DMEL is used can be recorded in a system log or the like and can be referred to from the application management unit.
図6、図7のように新規サービス導入処理、サービス起動処理を行うことで、ゲートウェイ装置200上で動作するサービスアプリケーション211の使用リソースを適切に制御し、サービスアプリケーション211の必要リソース量を確実に確保することが可能となる。
By performing new service introduction processing and service activation processing as shown in FIG. 6 and FIG. 7, resources used by the
図6の処理において、サービスアプリケーション211の配布可否はゲートウェイ管理装置100にて判断している(例えば、ステップS606)が、これはゲートウェイ装置200で行ってもよい。
In the process of FIG. 6, whether or not the
図7のステップS704の処理において起動されたサービスアプリケーション211の動作ログなどをゲートウェイ管理装置100またはサービス事業者サーバ40(サービス提供事業者サーバ)へ送信することにより、保守管理に役立てることが可能である。例えば、設定した上限値を超えてリソースを利用しようとしたサービスアプリケーション211が存在した場合、そのログをサービス事業者サーバへ送信することによりソフトウェアの品質改良などに役立てることが可能である。
By transmitting the operation log of the
図24および図25は、ゲートウェイ装置200に導入したサービスアプリケーション211を動作した際に実際どの程度のリソース量を使用したか(実測リソース量)を調査する処理である。
24 and 25 are processes for investigating how much resource amount is actually used (actual resource amount) when the
図24は、ゲートウェイ装置200における実測リソース量計測処理S2400の処理フローを示す図である。実測リソース量計測処理S2400は、ゲートウェイ装置200のアプリケーション管理部220によってゲートウェイ装置200の起動時に開始され、ゲートウェイ装置200の起動中常にループ処理を行う。図24に記載の処理の主体は全てアプリケーション管理部220である。
FIG. 24 is a diagram illustrating a process flow of the actually measured resource amount measurement process S2400 in the
ステップS2401は、アプリケーション管理部220が、実測リソース情報テーブル2100(図21参照)から記載のIDを全て取得する処理である。
Step S2401 is processing in which the
ステップS2402は、アプリケーション管理部220が、プロセスID管理テーブル1000(図10参照)を参照し、ステップS2401で取得した各IDに対応するプロセスIDを取得する処理である。
Step S2402 is processing in which the
ステップS2403は、アプリケーション管理部220が、各プロセスIDに対応するプロセスのヒープメモリ量、メモリ量、CPU使用率を取得する処理である。OSの機能、JavaVMの機能などを呼び出して実現することが可能である。
Step S2403 is processing in which the
ステップS2404は、アプリケーション管理部220が、今回のループで取得したリソース量がこれまでに取得したリソース量と比べて大きい(最大値をとる)かどうかを確認し、大きい場合は今回ループで取得したリソース量を実測リソース情報テーブル2100に記載する処理である、すなわち、実測リソース情報テーブル2100の各IDに対応する実測ヒープメモリ量、実測メモリ量、実測CPU使用率に対し、今回ループで計測したヒープメモリ量、メモリ量、CPU使用率が大きければ実測リソース情報テーブル2100の各値を更新する、また、更新の有無にかかわらず、実測リソース情報テーブル2100の稼働時間の値にシステムであらかじめ決める当該ループ処理の停止時間(スリープ時間、例えば10秒、1分、1時間などを設定する)を加える処理である。
In step S2404, the
ステップS2405は、アプリケーション管理部220が、十分な期間実測リソース情報を収集した後に、当該情報をゲートウェイ管理装置へ送信する処理である、すなわち、実測リソース情報テーブル2100の各IDに対し、稼働時間があらかじめシステムで決める実測リソース計測時間(例えば1日間、1週間などを設定する)を超えていれば該ID行の情報(ID、実測ヒープメモリ量、実測メモリ量、実測CPU使用率)をゲートウェイ管理装置へ送信し、該ID行を削除する処理である。
Step S2405 is a process in which the
ステップS2406は、アプリケーション管理部220が、あらかじめ決める停止時間(ステップS2404にて参照した停止時間のこと)スリープする処理である。そして、ステップS2401に戻る。
Step S2406 is processing in which the
図25は、ゲートウェイ管理装置100における実測リソース量集計処理S2500の処理フローを示す図である。適宜図1を参照して説明する。ゲートウェイ管理装置100は、複数のゲートウェイ装置200から実測リソース量を受信し集計する。図25に記載の処理の主体は全てアプリケーション配布管理部102である。
FIG. 25 is a diagram showing a process flow of the measured resource amount totaling process S2500 in the
アプリケーション配布管理部102は、サービス事業者の指定により実測リソース情報収集要とされたサービスアプリケーションの実測リソース情報を、該サービスアプリケーションを配布した多くのゲートウェイ装置200から収集し、その最大値および平均値を算出して実測リソース情報集計管理テーブル2200(図22参照)に記載する。また、アプリケーション配布管理部102は、十分な台数のゲートウェイ装置200から実測リソース情報を収集すると、その結果を、該当サービスアプリケーションを提供するサービス事業者へ送信する。
The application distribution management unit 102 collects the measured resource information of the service application that is required to collect the measured resource information according to the designation of the service provider from the
ステップS2501は、アプリケーション配布管理部102が、図24のステップS2405の処理によって送られた実測リソース情報を受信する処理であり、ステップS2502は、受信した実測リソース情報に記載のIDを読みだす処理である。 Step S2501 is a process in which the application distribution management unit 102 receives the actually measured resource information sent by the process in step S2405 of FIG. 24, and step S2502 is a process of reading the ID described in the received actually measured resource information. is there.
ステップS2503は、アプリケーション配布管理部102が、実測リソース情報集計管理テーブル2200(図22参照)の各リソースの最大値を更新する処理、すなわち、受信した実測リソース情報と、実測リソース情報集計管理テーブル2200の該当ID行を比較し、受信した実測リソース情報の実測ヒープメモリ量、実測メモリ量、実測CPU使用率が、実測リソース情報集計管理テーブル2200に記載の実測ヒープメモリ量最大値、実測メモリ量最大値、実測CPU使用率最大値より大きければ、各最大値を更新する処理である。 In step S2503, the application distribution management unit 102 updates the maximum value of each resource in the actual resource information aggregation management table 2200 (see FIG. 22), that is, the received actual resource information and the actual resource information aggregation management table 2200. And the measured heap memory amount, the measured memory amount, and the measured CPU usage rate of the received measured resource information are the maximum measured heap memory amount and the maximum measured memory amount described in the measured resource information aggregation management table 2200. If the value is larger than the actual measured CPU usage rate maximum value, each maximum value is updated.
ステップS2504は、アプリケーション配布管理部102が、実測リソース情報集計管理テーブル2200(図22参照)の各リソースの平均値を更新する処理である、すなわち、受信した実測リソース情報を基に実測リソース情報集計管理テーブル2200の該当ID行の各リソースの平均値を再計算する処理である。例えば、IDが「010」のサービスアプリケーションの実測メモリ量平均値については、以下のような計算式で算出することができる。 Step S2504 is processing in which the application distribution management unit 102 updates the average value of each resource in the actually measured resource information totaling management table 2200 (see FIG. 22). That is, the actual resource information is totaled based on the received actual resource information. This is a process of recalculating the average value of each resource in the ID row of the management table 2200. For example, the measured memory average value of the service application whose ID is “010” can be calculated by the following calculation formula.
((テーブル2200の調査機器数×テーブル2200の実測メモリ量平均値)+受信した実測リソース情報の実測メモリ量)/(テーブル2200の調査機器数+1)
なお、前記計算式中のテーブル名称は、略記している。
((Number of surveyed devices in table 2200 × average value of actually measured memory in table 2200) + actually measured memory in received resource information) / (number of surveyed devices in table 2200 + 1)
The table names in the calculation formula are abbreviated.
実測ヒープメモリ量、実測CPU使用率についても同様の手順で算出することができる。 The measured heap memory amount and the measured CPU usage rate can be calculated in the same procedure.
ステップS2505は、アプリケーション配布管理部102が、実測リソース情報集計管理テーブル2200の該当ID行の調査機器数を+1(今回受信した機器分追加)する処理である。 Step S2505 is processing in which the application distribution management unit 102 increments the number of investigation devices in the corresponding ID row of the actually measured resource information total management table 2200 by 1 (adds the device received this time).
ステップS2506は、アプリケーション配布管理部102が、該当IDのサービスアプリケーションに関して十分な量の実測リソース情報を集計できたかどうかを確認する処理である、すなわち、実測リソース情報集計管理テーブル2200の該当ID行の調査機器数があらかじめシステムで決める一定数(例えば10、100、1000など)に到達していれば(ステップS2506,Yes)、ステップS2507へと進み、該当ID行の実測リソース情報集計値をサービス事業者へ送信する。調査機器数があらかじめシステムで決める一定数に到達していなければ(ステップS2506,No)、処理を終了する。 Step S2506 is processing in which the application distribution management unit 102 confirms whether or not a sufficient amount of actually measured resource information can be aggregated for the service application with the relevant ID, that is, in the relevant ID row of the actually measured resource information summary management table 2200. If the number of survey devices has reached a certain number (for example, 10, 100, 1000, etc.) determined in advance by the system (step S2506, Yes), the process proceeds to step S2507, and the measured resource information aggregate value of the corresponding ID row is set as the service business. Send to the person. If the number of investigation devices has not reached the predetermined number determined in advance by the system (step S2506, No), the process is terminated.
ステップS2507は、アプリケーション配布管理部102が、実測リソース情報集計値を送信するサービス事業者に関する情報を取得する処理である、すなわち、サービス管理テーブル2000から該IDに対応するサービス名とサービス事業者名を読みだす処理である。 Step S2507 is processing in which the application distribution management unit 102 acquires information about the service provider that transmits the measured resource information aggregate value, that is, the service name and service provider name corresponding to the ID from the service management table 2000. Is the process of reading out.
ステップS2508は、アプリケーション配布管理部102が、該当サービス事業者に該サービス名のサービスアプリケーションの実測リソース集計情報として実測リソース情報集計管理テーブル2200に記載の情報を送信する処理である。 In step S2508, the application distribution management unit 102 transmits information described in the measured resource information total management table 2200 to the corresponding service provider as the measured resource total information of the service application with the service name.
図25において、ゲートウェイ管理装置100のアプリケーション配布管理部102は、調査機器数が一定数に達するとサービス事業者に実測リソース集計情報を送信するが、アプリケーション配布管理部102がサービス事業者に実測リソース集計情報を送信するタイミングは、例えば、システムであらかじめ決める一定期間(例えば1週間、1カ月など)経過後、サービス事業者からゲートウェイ管理装置に問い合わせがあった際、などでもよい。その場合、実測リソース情報集計管理テーブル2200の項目や処理などが適宜変更となる。
In FIG. 25, the application distribution management unit 102 of the
図14、図15、図16は、CABIおよびCABI−DMELが利用できない環境における、サービスアプリケーションの起動処理、メモリ使用量監視処理、およびCPU使用率監視処理を示す図である。 FIGS. 14, 15, and 16 are diagrams showing service application activation processing, memory usage monitoring processing, and CPU usage monitoring processing in an environment where CABI and CABI-DMEL cannot be used.
図14は、CABIおよびCABI−DMELが利用できない環境における、サービスアプリケーション起動処理S1400の処理フローを示す図である。 FIG. 14 is a diagram showing a processing flow of service application activation processing S1400 in an environment where CABI and CABI-DMEL cannot be used.
ステップS1401は、アプリケーション管理部220が、利用可能リソーステーブル400(図4参照)から、起動するサービスアプリケーションのIDに対応する利用可能ヒープメモリ量を取得する処理である。
Step S1401 is a process in which the
ステップS1402は、アプリケーション管理部220が、JavaVMの起動オプションの最大ヒープ量に該利用可能ヒープメモリ量を設定してOSGiフレームワーク(アプリケーション実行部)を起動し、該OSGiフレームワークに該サービスアプリケーションをインストールおよび実行する処理である。
In step S1402, the
ステップS1403は、アプリケーション管理部220が、該サービスアプリケーションを実行したソフトウェアプロセスのプロセスIDを調査、取得する。該サービスアプリケーションのIDおよび該プロセスIDをプロセスID管理テーブル1000(図10参照)に記憶する処理である。
In step S1403, the
図15は、CABIおよびCABI−DMELが利用できない環境における、メモリ使用量監視処理S1500の処理フローを示す図である。 FIG. 15 is a diagram showing a processing flow of the memory usage monitoring process S1500 in an environment where CABI and CABI-DMEL cannot be used.
ステップS1501は、アプリケーション管理部220が、プロセスID管理テーブル1000(図10参照)に定期監視を終えていないサービスアプリケーションIDが存在かどうか調べる処理である。プロセスID管理テーブル1000に定期監視を終えていないサービスアプリケーションIDが存在であれば(ステップS1501,Yes)、ステップS1502へ進む。あるいは、プロセスID管理テーブルに定期監視を終えていないサービスアプリケーションIDが存在でなければ(ステップS1501,No)、ステップS1508へ進む。
Step S1501 is processing in which the
ステップS1502は、アプリケーション管理部220が、プロセスID管理テーブル1000から定期監視を終えていないサービスアプリケーションのID、および該サービスアプリケーションIDに対応するプロセスIDを取得する処理である。
Step S1502 is a process in which the
ステップS1503は、アプリケーション管理部220が、該プロセスIDに対応するプロセスのメモリ使用量を取得する処理である。
Step S1503 is processing in which the
ステップS1504は、アプリケーション管理部220が、メモリ使用量が該サービスアプリケーションIDに対応する利用可能メモリ量を超過しているかどうか調べる処理である。メモリ使用量が該サービスアプリケーションIDに対応する利用可能メモリ量を超過している場合(ステップS1504,Yes)、ステップS1505へ進む。メモリ使用量が該サービスアプリケーションIDに対応する利用可能メモリ量を超過していない場合(ステップS1504,No)、ステップS1508へ進む。
Step S1504 is a process in which the
ステップS1505は、アプリケーション管理部220が、該サービスアプリケーションIDに対応するサービスアプリケーションを強制終了する処理である。
Step S1505 is processing in which the
ステップS1506は、アプリケーション管理部220が、利用可能リソーステーブル400(図4参照)、導入サービスアプリケーション依存関係管理テーブル900(図9参照)、プロセスID管理テーブル1000(図10参照)から該サービスアプリケーションIDに対応する項目を削除する処理である。
In step S1506, the
ステップS1507は、アプリケーション管理部220が、該サービスアプリケーションを利用可能メモリ使用量超過で強制終了した事をシステムログなどに記録する処理である。そして、ステップS1508は、アプリケーション管理部220が、一定時間停止する処理である。その後、ステップS1501に戻る。
In step S1507, the
図16は、CABIおよびCABI−DMELが利用できない環境における、CPU使用率監視処理S1600を示す図である。 FIG. 16 is a diagram showing CPU usage rate monitoring processing S1600 in an environment where CABI and CABI-DMEL cannot be used.
ステップS1601は、アプリケーション管理部220が、ゲートウェイ装置200のCPUのロードアベレージを取得する処理である。なお、ロードアベレージとは、実行待ちプロセス数の平均数を表す値であり、負荷平均のことを意味する。通常、サーバ負荷の指標として使われる。この値が大きければ負荷が大きく、小さければ負荷が小さい。
Step S1601 is processing in which the
ステップS1602は、アプリケーション管理部220が、ロードアベレージ>1かどうか調べる処理である。ロードアベレージ>1であれば(ステップS1602,Yes)、ステップS1603へ進む。ロードアベレージ>1でなければ(ステップS1602,No)、ステップS1609へ進む。
Step S1602 is a process in which the
ステップS1603は、アプリケーション管理部220が、プロセスID管理テーブル1000(図10参照)に定期監視を終えていないサービスアプリケーションIDが存在かどうか調べる処理である。プロセスID管理テーブル1000に定期監視を終えていないサービスアプリケーションIDが存在であれば(ステップS1603,Yes)、ステップS1604へ進む。あるいは、プロセスID管理テーブル1000に定期監視を終えていないサービスアプリケーションIDが存在でなければ(ステップS1603,No)、ステップS1609へ進む。
Step S1603 is processing in which the
ステップS1604は、アプリケーション管理部220が、プロセスID管理テーブル1000から定期監視を終えていないサービスアプリケーションのID、および該サービスアプリケーションIDに対応するプロセスIDを取得する処理である。
In step S1604, the
ステップS1605は、アプリケーション管理部220が、該プロセスIDに対応するプロセスのCPU使用率を取得する処理である。
Step S1605 is processing in which the
ステップS1606は、アプリケーション管理部220が、CPU使用率が該サービスアプリケーションIDに対応する利用可能CPU使用率を超過しているかどうか調べる処理である。CPU使用率が該サービスアプリケーションIDに対応する利用可能CPU使用率を超過している場合(ステップS1606,Yes)、ステップS1607へ進む。CPU使用率が該サービスアプリケーションIDに対応する利用可能CPU使用率を超過していない場合(ステップS1606,No)、ステップS1609へ進む。
In step S1606, the
ステップS1607は、アプリケーション管理部220が、該プロセスIDに対応するプロセスのスレッド優先度を下げるする処理である。ステップS1608は、アプリケーション管理部220が、該サービスアプリケーションが利用可能CPU使用率を超過した事をシステムログなどに記録する処理である。ステップS1609は一定時間停止する処理である。その後、ステップS1601に戻る。
Step S1607 is processing in which the
図18は、アプリケーション管理部220の異常通知処理S1800の処理フローを示す図である。図18は、サービスアプリケーション211が利用可能リソース量を超過した際に、ゲートウェイ管理装置100に異常を通知する手順を示す。
FIG. 18 is a diagram illustrating a processing flow of the abnormality notification processing S1800 of the
ステップS1801は、アプリケーション管理部220が、システムログなどから、サービスアプリケーション211が利用可能リソース量を超過したかどうかに関する情報を取得する処理である。
Step S1801 is processing in which the
ステップS1802は、アプリケーション管理部220が、利用可能リソース量を超過したサービスアプリケーション有りかどうか調べる処理である。利用可能リソース量を超過したサービスアプリケーションが有りであれば(ステップS1802,Yes)、ステップS1803へ進む。利用可能リソース量を超過したサービスアプリケーションが有りでなければ(ステップS1802,No)、ステップS1804へ進む。
Step S1802 is processing in which the
ステップS1803は、アプリケーション管理部220が、該サービスアプリケーションのIDと利用可能リソース量を超過したかどうかに関する情報をゲートウェイ管理装置100に送信する処理である。
Step S1803 is processing in which the
ステップS1804は、アプリケーション管理部220が、一定時間、異常通知処理S1800を停止する処理である。その後、ステップS1801に戻る。
Step S1804 is processing in which the
図19は、アプリケーション管理部220の異常通知処理S1900の処理フローを示す図である。図19は、図18の他の処理フローであり、サービスアプリケーションが利用可能リソース量を超過した際に、ゲートウェイ管理装置100に異常を通知する手順を示す。
FIG. 19 is a diagram illustrating a processing flow of the abnormality notification processing S1900 of the
ステップS1901は、アプリケーション管理部220が、システムログなどから、サービスアプリケーションが利用可能リソース量を超過したかどうかに関する情報を取得する処理である。
Step S1901 is processing in which the
ステップS1902は、アプリケーション管理部220が、利用可能リソース量を超過したサービスアプリケーション有かどうか調べる処理である。利用可能リソース量を超過したサービスアプリケーションが有りであれば(ステップS1902,Yes)、ステップS1903へ進む。利用可能リソース量を超過したサービスアプリケーションが有りでなければ(ステップS1902,No)、ステップS1905へ進む。
Step S1902 is processing in which the
ステップS1903は、アプリケーション管理部220が、導入サービスアプリケーション依存関係管理テーブル900(図9参照)を参照し、該サービスアプリケーションのIDに対応するImport−Packageに記載の情報に対するExport−Packageに記載しているサービスアプリケーションのIDの一覧(J)を取得する処理である。
In step S1903, the
ステップS1904は、アプリケーション管理部220が、該サービスアプリケーションのIDと、利用可能リソース量を超過したかどうかに関する情報と、Jの情報をゲートウェイ管理装置に送信する処理である。
Step S1904 is processing in which the
ステップS1905は、アプリケーション管理部220が、一定時間、異常通知処理S1900を停止する処理である。その後、ステップS1901に戻る。
Step S1905 is processing in which the
本実施形態において、アプリケーションサービス実行基盤を備えたゲートウェイ装置200に対し、サービス事業者の開発するアプリケーションサービス実行ソフトウェア(アプリケーションソフトウェア)を配布するゲートウェイ管理装置100は、アプリケーションサービス実行ソフトウェア各々が利用可能なゲートウェイ装置200のリソース量を管理するテーブルを備え、ゲートウェイ装置200に新規のソフトウェアを配布する際に、ゲートウェイ装置200の、アプリケーションサービス実行ソフトウェアが利用可能なリソース量の合計と、既にゲートウェイ装置200に導入済みのソフトウェアの利用可能なリソース量の合計を取得し、導入済みのソフトウェアの利用可能なリソース量の合計と新規ソフトウェアの利用可能なリソース量との合計と、アプリケーションサービス実行ソフトウェアが利用可能なリソース量の合計を比較し、導入済みのソフトウェアの利用可能なリソース量の合計と新規ソフトウェアの利用可能なリソース量との合計が、アプリケーションサービス実行ソフトウェアが利用可能なリソース量の合計を超えない場合に、新規ソフトウェアの配布を許可する。ゲートウェイ管理装置100は、サービス事業者の要求にしたがって、ゲートウェイ装置200からアプリケーション実行ソフトウェアの実測リソース量を収集し、収集した実測リソース量に関する情報をサービス事業者へ提供することができる。
In this embodiment, the
また、実施形態においては、ゲートウェイ管理装置100が配布するアプリケーションサービス実行ソフトウェアを実行するゲートウェイ装置200であって、処理部と、メモリを含む記憶部とを備え、記憶部は、アプリケーションサービス実行ソフトウェアを利用可能なリソース量の合計と、既に導入済みのソフトウェアを利用可能なリソース量の合計を保持し、ゲートウェイ管理装置100に新規のソフトウェアを要求する際、処理部は、保持するアプリケーションサービス実行ソフトウェアが利用可能なリソース量の合計と、既に導入済みのソフトウェアの利用可能リソース量の合計をゲートウェイ管理装置100に送信する。ゲートウェイ装置200は、ゲートウェイ管理装置100の要求にしたがって、アプリケーション実行ソフトウェアの実測リソース量を計測し、計測した実測リソース量をゲートウェイ管理装置100に送信することができる。
In the embodiment, the
さらに、アプリケーションサービス実行基盤を有するゲートウェイ装置200に対しアプリケーションサービス実行ソフトウェアを配布するゲートウェイ管理装置100を備えたゲートウェイ管理システムは、アプリケーションサービス実行ソフトウェア各々が利用可能なゲートウェイ装置200のリソース量を管理し、ゲートウェイ管理装置100は、ゲートウェイ装置200に新規のソフトウェアを配布する際に、ゲートウェイ装置200から、アプリケーションサービス実行ソフトウェアが利用可能なリソース量の合計と、ゲートウェイ装置200に既に導入済みのソフトウェアの利用可能リソース量の合計を取得し、既に導入済みのソフトウェアの利用可能リソース量の合計と新規ソフトウェアの利用可能リソース量との合計と、アプリケーションサービス実行ソフトウェアが利用可能なリソース量の合計とを比較し、既に導入済みのソフトウェアの利用可能リソース量の合計と新規ソフトウェアの利用可能リソース量との合計が、アプリケーションサービス実行ソフトウェアが利用可能なリソース量の合計を超えない場合に、新規ソフトウェアの配布を許可する。ゲートウェイ管理システムは、サービス事業者の要求にしたがって、ゲートウェイ装置200からアプリケーション実行ソフトウェアの実測リソース量を収集し、収集した実測リソース量に関する情報をサービス事業者へ提供することができる。
Furthermore, the gateway management system including the
本実施形態によれば、ゲートウェイ管理装置100は、サービス事業者が提供した各アプリケーションを管理するサービス管理テーブル2000、各アプリケーションが実行されたゲートウェイ装置200の機器数と、各アプリケーションが実行された際に必要なリソース実測値とが関連付けられた実測リソース情報集計管理テーブル2200を有する記憶部を備え、各ゲートウェイ装置200から、導入済みの各アプリケーションが実行された際に必要となったリソース実測値を受信した場合、該受信したリソース実測値に基づき実測リソース情報集計管理テーブル2200を更新し、機器数が所定値に達した場合、サービス管理テーブル2000に登録されているサービス事業者に、リソース実測値を通知することができる。
According to the present embodiment, the
以上述べたように、本実施形態におけるゲートウェイ管理装置100は、サービス事業者の要請にしたがってサービスアプリケーション211をゲートウェイ装置100に配布した後に、該ゲートウェイ装置200上でサービスアプリケーションを実行した結果、どの程度のリソース量(ヒープメモリ量、メモリ量、CPU使用率)を使用したかを多くのゲートウェイ装置200から収集、集計した情報をサービス事業者へ提供することを実現する。
As described above, the
前述のような仕組みを搭載することでサービス事業者は、サービスアプリケーションの開発を、実機を用いずエミュレータなどを用いて行うような場合においても、実測リソース集計情報を得ることが可能となり、サービス事業者がゲートウェイ管理装置に登録する必要リソース量を高い精度で見積もることが可能となる。 By installing the above-mentioned mechanism, service providers can obtain measured resource aggregation information even when developing service applications using emulators, etc., without using actual devices. It is possible to estimate with a high accuracy the amount of necessary resources that a person registers in the gateway management apparatus.
例えば、サービス事業者が設定する必要リソース量に応じて、ゲートウェイ管理装置100がサービス事業者に課金を行うようなシステムの場合、サービス事業者はサービスアプリケーションが安定的に動作する範囲内においてできるだけ必要リソース量を小さくしたいと考えるが、本実施形態の仕組みを用いる事で必要リソース量をより小さく設定することが可能となると考えられる。
For example, in a system in which the
例えば、サービス事業者が新規サービスを開始する際に、最初はベータテストとして実測リソース量収集要として、必要リソース量はある程度余裕のある大き目の値を設定してゲートウェイ管理装置に登録し、実測リソース集計情報を得て、その結果を基に正式版を、最小限の必要リソース量の設定で登録するというような運用が可能となる。 For example, when a service provider starts a new service, first it is necessary to collect the measured resource amount as a beta test, and the required resource amount is set to a large value with some margin and registered in the gateway management device. It is possible to operate such as obtaining aggregate information and registering the official version with the minimum required resource amount setting based on the result.
11,21 EPROM
12,22 CPU
13,23 メインメモリ
14,24 バス
15,25 不揮発性記憶装置
16,26 周辺制御装置
17,27,28 ネットワークI/F
30 外部ネットワーク
40 サービス事業者サーバ
50 利用者宅
100 ゲートウェイ管理装置
101 アプリケーション登録管理部
102 アプリケーション配布管理部
103 DB管理部
110 サービス管理DB
200 ゲートウェイ装置
210 アプリケーション実行部
211 サービスアプリケーション
220 アプリケーション管理部
230 利用者宅内ネットワーク
240 宅内機器
250 ゲートウェイ管理DB
300 全体利用可能リソーステーブル
400 利用可能リソーステーブル
500 必要リソーステーブル(リソース管理情報)
800 依存関係テーブル
900 導入サービスアプリケーション依存関係管理テーブル
1000 プロセスID管理テーブル
2000 サービス管理テーブル(アプリケーション管理情報)
2100 実測リソース情報テーブル(実測リソース装置情報)
2200 実測リソース情報集計管理テーブル(実測リソース集計管理情報)
11, 21 EPROM
12,22 CPU
13, 23
DESCRIPTION OF
DESCRIPTION OF
300 Total available resource table 400 Available resource table 500 Required resource table (resource management information)
800 Dependency table 900 Introduction service application dependency management table 1000 Process ID management table 2000 Service management table (application management information)
2100 Actual resource information table (actual resource device information)
2200 Actual resource information aggregation management table (actual resource aggregation management information)
Claims (14)
前記ゲートウェイ管理装置は、
前記サービス事業者がサービス事業者サーバから提供した各アプリケーションを、該サービス事業者と関連付けて管理するアプリケーション管理情報を有するとともに、各アプリケーションが実行されたゲートウェイ装置の機器数と、各アプリケーションが実行された際に必要なリソース実測値とが関連付けられた実測リソース集計管理情報を有する記憶部を備え、
前記ゲートウェイ管理装置は、
前記各ゲートウェイ装置から、導入済みの各アプリケーションが実行された際に必要となったリソース実測値を受信し、該受信したリソース実測値に基づき前記実測リソース集計管理情報を更新し、
前記アプリケーション管理情報に登録されているアプリケーションの機器数が所定値に達しているかを判定し、前記所定値に達したアプリケーションについて前記アプリケーション管理情報に登録されているサービス事業者に、前記リソース実測値を通知する
ことを特徴とするゲートウェイ管理方法。 The gateway of the gateway management apparatus that manages the application, which is application software provided to the gateway device by the service provider, and notifies the service provider of the actual measured resource value required when the application is executed in the gateway device A management method,
The gateway management device
The service provider has application management information for managing each application provided from the service provider server in association with the service provider, and the number of gateway devices on which each application is executed and each application is executed. A storage unit having actual resource total management information associated with actual required resource values when
The gateway management device
From each of the gateway devices, receive the resource actual measurement value required when each installed application is executed, update the actual resource aggregation management information based on the received resource actual value,
It is determined whether the number of devices of the application registered in the application management information has reached a predetermined value, and the service provider registered in the application management information for the application that has reached the predetermined value The gateway management method characterized by notifying.
前記記憶部に、前記各アプリケーションが利用可能な前記ゲートウェイ装置のリソース
値を管理するリソース管理情報が記憶されており、
前記ゲートウェイ管理装置は、前記サービス事業者からアプリケーションの配布依頼を受けた場合、前記配布依頼を受けたアプリケーションと、前記サービス事業者が設定したリソース値とを関連付けて、前記リソース管理情報に登録するとともに、
前記実測リソース集計管理情報に新規のレコードを作成し、前記配布依頼を受けたアプリケーションに対する機器数を初期設定する
ことを特徴とする請求項1に記載のゲートウェイ管理方法。 The gateway management device further includes:
Resource management information for managing resource values of the gateway device that can be used by each application is stored in the storage unit,
When the gateway management apparatus receives an application distribution request from the service provider, the gateway management apparatus associates the application that has received the distribution request with a resource value set by the service provider, and registers it in the resource management information. With
The gateway management method according to claim 1, wherein a new record is created in the measured resource total management information, and the number of devices for the application that has received the distribution request is initialized.
前記ゲートウェイ装置に新規のアプリケーションを配布する際に、
前記ゲートウェイ装置のアプリケーションが利用可能なリソース値の合計と、既に前記ゲートウェイ装置に導入済みのアプリケーションの利用可能なリソース値の合計とを取得し、
前記導入済みのアプリケーションの利用可能なリソース値の合計と前記新規のアプリケーションの利用可能なリソース値との合計と、前記ゲートウェイ装置のアプリケーションが利用可能なリソース値の合計を比較し、
前記導入済みのアプリケーションの利用可能なリソース値の合計と前記新規のアプリケーションの利用可能なリソース値との合計が、前記ゲートウェイ装置のアプリケーションが利用可能なリソース量の合計を超えない場合に、前記新規のアプリケーションの配布を許可する
ことを特徴とする請求項1または請求項2に記載のゲートウェイ管理方法。 The gateway management device
When distributing a new application to the gateway device,
Obtaining a total of resource values available for applications of the gateway device and a total of available resource values of applications already installed in the gateway device;
Comparing the sum of the available resource values of the installed application and the available resource value of the new application with the sum of the resource values available to the application of the gateway device;
The total of the available resource values of the installed application and the available resource value of the new application does not exceed the total amount of resources available to the application of the gateway device. The gateway management method according to claim 1, wherein distribution of the application is permitted.
前記ゲートウェイ装置に配布する新規のアプリケーションが、前記実測リソース集計管理情報にレコードが作成されているアプリケーションである場合、
前記ゲートウェイ装置に対し、前記新規のアプリケーションが前記ゲートウェイ装置において実行する際のリソース実測値を収集する旨を通知する
ことを特徴とする請求項2に記載のゲートウェイ管理方法。 The gateway management device
When the new application distributed to the gateway device is an application in which a record is created in the measured resource aggregation management information,
The gateway management method according to claim 2, wherein the gateway device is notified that resource actual measurement values are collected when the new application is executed in the gateway device.
ことを特徴とする請求項2に記載のゲートウェイ管理方法。 The gateway management method according to claim 2, wherein the resource value is at least one of a CPU usage rate of the gateway device and a memory usage amount of the gateway device.
ことを特徴とする請求項1に記載のゲートウェイ管理方法。 The gateway management method according to claim 1, wherein the gateway device is an execution environment configured by an operation system, a Java VM, and an OSGi.
前記サービス事業者がサービス事業者サーバから提供した各アプリケーションを、該サービス事業者と関連付けて管理するアプリケーション管理情報を有するとともに、各アプリケーションが実行されたゲートウェイ装置の機器数と、各アプリケーションが実行された際に必要なリソース実測値とが関連付けられた実測リソース集計管理情報を記憶する記憶部と、
前記各ゲートウェイ装置から、導入済みの各アプリケーションが実行された際に必要となったリソース実測値を受信し、該受信したリソース実測値に基づき前記実測リソース集計管理情報を更新し、前記アプリケーション管理情報に登録されているアプリケーションの機器数が所定値に達しているかを判定し、前記所定値に達したアプリケーションについて前記アプリケーション管理情報に登録されているサービス事業者に、前記リソース実測値を通知するアプリケーション配布管理部とを有する
ことを特徴とするゲートウェイ管理装置。 A gateway management device that manages an application that is application software provided to a gateway device by a service provider,
The service provider has application management information for managing each application provided from the service provider server in association with the service provider, and the number of gateway devices on which each application is executed and each application is executed. A storage unit for storing measured resource total management information associated with actual measured values required when
Received from each gateway device is a resource actual measurement value required when each installed application is executed, updates the actual resource aggregation management information based on the received resource actual value, and the application management information An application that determines whether the number of devices registered in the application reaches a predetermined value and notifies the service provider registered in the application management information of the resource measured value for the application that has reached the predetermined value A gateway management device comprising a distribution management unit.
前記記憶部に、前記各アプリケーションが利用可能な前記ゲートウェイ装置のリソース
値を管理するリソース管理情報が記憶されており、
前記ゲートウェイ管理装置は、さらに、
前記サービス事業者からアプリケーションの配布依頼を受けた場合、前記配布依頼を受けたアプリケーションと、前記サービス事業者が設定したリソース値とを関連付けて、前記リソース管理情報に登録するとともに、前記実測リソース集計管理情報に新規のレコードを作成し、前記配布依頼を受けたアプリケーションに対する機器数を初期設定するアプリケーション登録管理部を有する
ことを特徴とする請求項7に記載のゲートウェイ管理装置。 The gateway management device
Resource management information for managing resource values of the gateway device that can be used by each application is stored in the storage unit,
The gateway management device further includes:
When receiving an application distribution request from the service provider, the application received the distribution request is associated with the resource value set by the service provider and registered in the resource management information, and the measured resource aggregation The gateway management apparatus according to claim 7, further comprising an application registration management unit that creates a new record in management information and initially sets the number of devices for the application that has received the distribution request.
前記ゲートウェイ装置に新規のアプリケーションを配布する際に、
前記ゲートウェイ装置のアプリケーションが利用可能なリソース値の合計と、既に前記ゲートウェイ装置に導入済みのアプリケーションの利用可能なリソース値の合計とを取得し、
前記導入済みのアプリケーションの利用可能なリソース値の合計と前記新規のアプリケーションの利用可能なリソース値との合計と、前記ゲートウェイ装置のアプリケーションが利用可能なリソース値の合計を比較し、
前記導入済みのアプリケーションの利用可能なリソース値の合計と前記新規アプリケーションの利用可能なリソース値との合計が、前記ゲートウェイ装置のアプリケーションが利用可能なリソース量の合計を超えない場合に、前記新規のアプリケーションの配布を許可する
ことを特徴とする請求項7または請求項8に記載のゲートウェイ管理装置。 The application distribution management unit
When distributing a new application to the gateway device,
Obtaining a total of resource values available for applications of the gateway device and a total of available resource values of applications already installed in the gateway device;
Comparing the sum of the available resource values of the installed application and the available resource value of the new application with the sum of the resource values available to the application of the gateway device;
When the total of the available resource values of the installed application and the available resource value of the new application does not exceed the total amount of resources available to the application of the gateway device, the new resource value The gateway management apparatus according to claim 7 or 8, wherein distribution of an application is permitted.
前記ゲートウェイ装置に配布する新規のアプリケーションが、前記実測リソース集計管理情報にレコードが作成されているアプリケーションである場合、
前記ゲートウェイ装置に対し、前記新規アプリケーションが前記ゲートウェイ装置において実行する際のリソース実測値を収集する旨を通知する
ことを特徴とする請求項8に記載のゲートウェイ管理装置。 The application distribution management unit
When the new application distributed to the gateway device is an application in which a record is created in the measured resource aggregation management information,
The gateway management apparatus according to claim 8, wherein the gateway apparatus notifies the gateway apparatus that resource actual measurement values are collected when the new application is executed in the gateway apparatus.
ことを特徴とする請求項8に記載のゲートウェイ管理装置。 The gateway management device according to claim 8, wherein the resource value is at least one of a CPU usage rate of the gateway device and a memory usage amount of the gateway device .
ことを特徴とする請求項7に記載のゲートウェイ管理装置。 The gateway management apparatus according to claim 7, wherein the gateway apparatus is an execution environment configured by an operation system, a Java VM, and an OSGi.
前記ゲートウェイ装置は、
各アプリケーションが実行された際に、アプリケーション毎に必要なリソース実測値と稼動時間とを関連付けて実測リソース装置情報として記憶する記憶部を備え、
前記ゲートウェイ装置は、
所定期間ごとに導入済みの各アプリケーションが実行された際に、アプリケーション毎に必要となったリソースを計測し、該計測したリソース実測値が前記実測リソース情報に登録済みのリソース実測値より大きければ、前記実測リソース情報のリソース実測値を更新し、
前記稼動時間が所定の時間を超えた場合、前記実測リソース情報のリソース実測値を前記ゲートウェイ管理装置に送信する
ことを特徴とするゲートウェイ装置。 A gateway device that executes an application that is application software distributed by the gateway management device,
The gateway device is
When each application is executed, it includes a storage unit that stores the actual measured resource value and the operation time necessary for each application in association with each other, and stores the actual measured resource device information.
The gateway device is
When deployed for each application is performed for every predetermined period, the resource was measured it becomes necessary for each application, if the resource measured value the measurement is greater than the registered resource measured value to the actual resource information, Update the resource actual measurement value of the actual resource information,
When the operating time exceeds a predetermined time, a resource measured value of the measured resource information is transmitted to the gateway management device.
前記ゲートウェイ管理装置から新規に配布されたアプリケーションが、該ゲートウェイ装置において実行する際のリソース実測値を収集する旨の通知を受けると、
前記実測リソース装置情報に新規のレコードを作成し、前記新規に配布されたアプリケーションの稼動時間を初期設定する
ことを特徴とする請求項13に記載のゲートウェイ装置。 The gateway device is
When the application newly distributed from the gateway management device receives a notification that it collects resource actual measurement values when executed in the gateway device,
The gateway apparatus according to claim 13, wherein a new record is created in the actually measured resource apparatus information, and an operation time of the newly distributed application is initialized.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2011219884A JP5628129B2 (en) | 2011-10-04 | 2011-10-04 | Gateway management method, gateway management device, and gateway device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2011219884A JP5628129B2 (en) | 2011-10-04 | 2011-10-04 | Gateway management method, gateway management device, and gateway device |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2013080368A JP2013080368A (en) | 2013-05-02 |
| JP5628129B2 true JP5628129B2 (en) | 2014-11-19 |
Family
ID=48526692
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2011219884A Expired - Fee Related JP5628129B2 (en) | 2011-10-04 | 2011-10-04 | Gateway management method, gateway management device, and gateway device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP5628129B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2020140636A (en) * | 2019-03-01 | 2020-09-03 | 株式会社デンソー | Application server device and electronic control device |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4449238B2 (en) * | 2001-03-22 | 2010-04-14 | 三菱電機株式会社 | Home gateway device |
| JP4785620B2 (en) * | 2006-05-25 | 2011-10-05 | 日本電信電話株式会社 | Operation method of management system for managing gateway |
| JP4709066B2 (en) * | 2006-05-25 | 2011-06-22 | 日本電信電話株式会社 | Gateway management method |
| TWI352931B (en) * | 2007-06-20 | 2011-11-21 | Ind Tech Res Inst | Resource management device and method |
| KR101283864B1 (en) * | 2008-10-27 | 2013-07-08 | 가부시키가이샤 히타치세이사쿠쇼 | Resource management method and building-in device |
| US8528039B2 (en) * | 2009-11-04 | 2013-09-03 | Verizon Patent And Licensing Inc. | System for and method of set-top box memory monitoring |
-
2011
- 2011-10-04 JP JP2011219884A patent/JP5628129B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2013080368A (en) | 2013-05-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20140068212A1 (en) | Device backups and updates in view of data usage statistics | |
| CN102316157B (en) | The cloud computing structure carried out by manager | |
| US10243824B2 (en) | On-device attribution of network data usage | |
| US8504443B2 (en) | Methods and systems for pricing software infrastructure for a cloud computing environment | |
| US20140122695A1 (en) | Dynamic resource allocation for network content delivery | |
| US20110041126A1 (en) | Managing workloads in a virtual computing environment | |
| US20110078411A1 (en) | Dynamically modifying program execution capacity | |
| US20090300423A1 (en) | Systems and methods for software test management in cloud-based network | |
| CN108182140A (en) | Determine the performance capability with monitoring computer resource service | |
| US12160793B2 (en) | Network service construction system and network service construction method | |
| CN106055412A (en) | Methods and systems for dynamically managing requests for computing capacity | |
| US20230034901A1 (en) | Resource pool management system, resource pool management method and program | |
| CN103905260A (en) | Terminal device network traffic monitoring method and device | |
| CN109976919A (en) | A kind of transmission method and device of message request | |
| JP7151705B2 (en) | Radio resource management method, management device, and radio communication system | |
| CN110245020B (en) | Mobile phone content forensics method and system based on multiple forensics devices | |
| JP5628129B2 (en) | Gateway management method, gateway management device, and gateway device | |
| CN114845257B (en) | Multi-dimensional billing method, device and storage medium based on embedded script | |
| US8140552B2 (en) | Method and apparatus for optimizing lead time for service provisioning | |
| CN107608688A (en) | Terminal device timesharing upgrade method and computer-readable recording medium | |
| CN103327097A (en) | Method for advertising through smart phones | |
| JP6915345B2 (en) | Cloud management equipment, cloud management methods, and programs | |
| KR101943398B1 (en) | Remote meter reading modem combining rf communication and mobile communication network technology | |
| CN102833252A (en) | Management apparatus and system of game server | |
| KR102357120B1 (en) | Smartmeter installed middleware platform for function extension, smartmeter application management system and method using the same |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20131108 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140624 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140701 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140818 |
|
| 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: 20140902 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20141001 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 5628129 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| LAPS | Cancellation because of no payment of annual fees |