JP5823919B2 - Distributed execution system, method, apparatus, and program - Google Patents
Distributed execution system, method, apparatus, and program Download PDFInfo
- Publication number
- JP5823919B2 JP5823919B2 JP2012133573A JP2012133573A JP5823919B2 JP 5823919 B2 JP5823919 B2 JP 5823919B2 JP 2012133573 A JP2012133573 A JP 2012133573A JP 2012133573 A JP2012133573 A JP 2012133573A JP 5823919 B2 JP5823919 B2 JP 5823919B2
- Authority
- JP
- Japan
- Prior art keywords
- service gateway
- program module
- module
- computer
- program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Stored Programmes (AREA)
Description
本発明は、様々な機器をネットワークに接続するサービスゲートウェイ装置で実行されるプログラムモジュールを分散して実行する技術に関する。 The present invention relates to a technique for distributing and executing program modules executed by a service gateway apparatus that connects various devices to a network.
現在、大規模・中堅企業などでは、様々な機器を接続したICTサービスの導入が進んでいる。しかし、小規模オフィスや家庭などではコスト面等から大企業等に比べてICTサービスの導入が遅れている現状がある。小規模オフィスや家庭などへのICTサービス導入を促進するために、サービス提供者がサービスを普及させやすいプラットフォームを提供することが検討され、その一例として、ホームICT基盤の構築・提供が進んでいる。 Currently, ICT services that connect various devices are being introduced in large and medium-sized companies. However, in small offices and homes, the introduction of ICT services is delayed compared to large corporations because of cost. In order to promote the introduction of ICT services in small offices and homes, it is considered to provide a platform that allows service providers to easily disseminate services, and as an example, the construction and provision of a home ICT infrastructure is progressing. .
ホームICT基盤では、小規模オフィスや家庭など利用者宅内のネットワークと外部ネットワークを接続するために、利用者宅内にサービスゲートウェイ装置(SGW)を設置する。SGWは、ネットワークで接続した宅内の様々な機器を利用したサービス提供を可能とする。そのため、各種通信プロトコルに対応して機器の接続管理を行うだけでなく、プロトコル変換や機器から取得されるデータ自体を変換したり蓄積したりする機能が求められる。 In the home ICT platform, a service gateway device (SGW) is installed in a user's home in order to connect a network in the user's home such as a small office or home to an external network. The SGW enables service provision using various devices in the house connected by a network. For this reason, not only device connection management corresponding to various communication protocols but also functions for protocol conversion and for converting and accumulating data itself acquired from the device are required.
また、本発明に関連する別の背景技術として、複数の計算機を組み合わせて大量の計算処理をする負荷分散や分散コンピューティングがある。 As another background technology related to the present invention, there are load distribution and distributed computing in which a plurality of computers are combined to perform a large amount of calculation processing.
負荷分散は、例えば、Webサーバに多数のアクセスが集中した場合にでも処理ができるよう複数のWebサーバを用意し、各サーバの負荷が均等になるようにアクセスを分散する技術である。仮想的なサーバとして負荷分散装置がリクエストを受信した後、複数の実Webサーバにリクエストを分散して送信する。基本的に、複数の実サーバでは、同様な処理が行われ、あらかじめ決められた処理を、あらかじめ用意・インストールされたプログラムにより実行する(非特許文献1参照)。 The load distribution is a technique for preparing a plurality of Web servers so that processing can be performed even when a large number of accesses are concentrated on the Web server, and distributing the access so that the load on each server is equalized. After the load distribution apparatus receives a request as a virtual server, the request is distributed and transmitted to a plurality of real Web servers. Basically, similar processing is performed in a plurality of real servers, and predetermined processing is executed by a program prepared and installed in advance (see Non-Patent Document 1).
分散コンピューティングは、プログラムを並列化処理を行う単位(タスク)に分割し、ネットワーク接続された複数の計算機でタスクを並列で処理し、処理したデータを計算機間で送受信しあうことで処理を完了する。分散コンピューティングでは、あらかじめ、プログラムを並列処理可能なタスクに分割しておき、それぞれのタスクを複数の計算機に振り分ける処理が必要となる(非特許文献2参照)。 Distributed computing divides a program into parallel processing units (tasks), processes tasks in parallel on multiple networked computers, and completes the processing by sending and receiving processed data between computers To do. In distributed computing, it is necessary to divide a program into tasks that can be processed in parallel and distribute each task to a plurality of computers (see Non-Patent Document 2).
SGWは家庭内に設置されるなどのことから、ハイスペックの装置は設置できない、或いは、一度設置した装置をスペックの高い装置に置き換えることが容易ではない、という事情がある。サービスの提供においては、限られた計算リソースの中で、多種多様なプロトコルやデータを扱うソフトウェアを動作させる必要があるため、要求されるサービス性能を維持することが難しい、或いは、複数のサービスを同時に提供できないという課題があった。 Since the SGW is installed in a home, a high-spec device cannot be installed, or it is not easy to replace a once-installed device with a high-spec device. In providing services, it is necessary to operate software that handles a wide variety of protocols and data within limited computational resources, so it is difficult to maintain the required service performance, or multiple services There was a problem that it could not be provided at the same time.
上記の負荷分散の技術をSGWに適用するためには、負荷分散装置と複数台のSGWを用意する必要があるため、コストが非常に大きくなるという問題がある。さらに、SGWで行われているように、サービス毎にプログラムモジュールをダウンロードして複数のサービスを同時に実行するためには、複数台のSGWに複数のプログラムモジュールを用意する必要がある。多数のSGWでそれぞれ複数のモジュールをそのバージョンも含めて管理するのは、管理コストが大きくなり非効率である。 In order to apply the load distribution technique to the SGW, it is necessary to prepare a load distribution apparatus and a plurality of SGWs, which causes a problem that the cost becomes very high. Further, as in the SGW, in order to download a program module for each service and execute a plurality of services simultaneously, it is necessary to prepare a plurality of program modules in a plurality of SGWs. It is inefficient to manage a plurality of modules, including their versions, with a large number of SGWs because the management cost increases.
また、分散コンピューティングをSGWに適用するためには、並列処理可能なタスクに分割し、タスクを計算機に振り分ける処理を、個々のモジュールに対して行う必要が生じるため、サービス提供者にとって大きな負担となり、ひいてはサービス提供コストが増大するという課題があった。実際には、タスク分割が非効率になってしまうと、データ転送や同期処理など分散化に伴うオーバーヘッドの割合が大きくなってしまうため、効率的なタスク分割が困難であることが多い。 In addition, in order to apply distributed computing to SGW, it is necessary to divide the tasks into tasks that can be processed in parallel and distribute the tasks to computers. As a result, there is a problem that the cost of providing services increases. Actually, if task division becomes inefficient, the ratio of overhead due to decentralization such as data transfer and synchronization processing increases, so efficient task division is often difficult.
本発明は、上記に鑑みてなされたものであり、限られたスペックのサービスゲートウェイ装置を利用した場合でも様々なサービスを提供できる技術を提供することを目的とする。 The present invention has been made in view of the above, and an object of the present invention is to provide a technology capable of providing various services even when a service gateway device with limited specifications is used.
第1の本発明に係る分散実行システムは、サービスゲートウェイと当該サービスゲートウェイにネットワークを介して接続される計算機を備える分散実行システムであって、前記サービスゲートウェイは、プログラムモジュールを受信する受信手段と、受信したプログラムモジュールが当該サービスゲートウェイのハードウェア機能を利用する命令を使用しているか否かを解析してプログラムモジュールの特性として管理テーブルに登録する解析手段と、当該サービスゲートウェイがプログラムモジュールの実行を要求されたときに、前記管理テーブルに登録された前記プログラムモジュールの特性に基いて、当該プログラムモジュールを当該サービスゲートウェイで実行させるか、前記計算機で実行させるかを選択する選択手段と、前記選択手段が当該サービスゲートウェイで前記プログラムモジュールを実行すると選択した場合、前記プログラムモジュールを実行する実行手段と、前記選択手段が前記計算機で前記プログラムモジュールを実行させると選択した場合、前記プログラムモジュールを前記計算機へ送信する送信手段と、を有し、前記計算機は、前記サービスゲートウェイと同じ、プログラムモジュールを実行する実行手段と、前記プログラムモジュールを受信して前記実行手段で実行させる制御手段と、を有することを特徴とする。 A distributed execution system according to a first aspect of the present invention is a distributed execution system comprising a service gateway and a computer connected to the service gateway via a network, wherein the service gateway includes receiving means for receiving a program module; analysis means for receiving the program module registered in the management table as a characteristic of the program modules to analyze whether using instructions to use the hardware features of the service gateway, executing those the service gateway program modules when requested, said based on the characteristics of the management said program modules registered in the table, or to execute the program module in the service gateway, and selecting means for selecting whether to run on said computer, said election If the unit is selected to execute the program module in the service gateway, executing means for executing the program module, if the selection means has selected the executing said program module in the computer, said computer the program modules The computer has execution means for executing the program module, and control means for receiving the program module and causing the execution means to execute the same as the service gateway. It is characterized by.
上記分散実行システムにおいて、前記サービスゲートウェイは、当該サービスゲートウェイのリソース状況と前記計算機のリソース状況を管理するリソース管理手段を有し、前記選択手段は、前記リソース状況に基いて、当該プログラムモジュールを当該サービスゲートウェイで実行させるか、前記計算機で実行させるかを選択することを特徴とする。 In the distributed execution system, the service gateway includes a resource management unit that manages a resource status of the service gateway and a resource status of the computer, and the selection unit allocates the program module based on the resource status. It is characterized in that it is selected whether it is executed by a service gateway or by the computer.
第2の本発明に係るサービスゲートウェイは、ネットワークを介して接続される計算機にプログラムモジュールを送信して当該プログラムモジュールを実行させるサービスゲートウェイであって、プログラムモジュールを受信する受信手段と、受信したプログラムモジュールが当該サービスゲートウェイのハードウェア機能を利用する命令を使用しているか否かを解析してプログラムモジュールの特性として管理テーブルに登録する解析手段と、当該サービスゲートウェイがプログラムモジュールの実行を要求されたときに、前記管理テーブルに登録された前記プログラムモジュールの特性に基いて、当該プログラムモジュールを当該サービスゲートウェイで実行させるか、前記計算機で実行させるかを選択する選択手段と、前記選択手段が当該サービスゲートウェイで前記プログラムモジュールを実行すると選択した場合、前記プログラムモジュールを実行する実行手段と、前記選択手段が前記計算機で前記プログラムモジュールを実行させると選択した場合、前記プログラムモジュールを前記計算機へ送信する送信手段と、を有することを特徴とする。 A service gateway according to a second aspect of the present invention is a service gateway for transmitting a program module to a computer connected via a network and executing the program module, receiving means for receiving the program module, and received program analysis means for module registered in the management table as a characteristic of the program modules to analyze whether using instructions to use the hardware features of the service gateway, those the service gateway is requested to execute the program modules and when, on the basis of the characteristics of managed the program modules registered in the table, or to execute the program module in the service gateway, and selecting means for selecting whether to run on said computer, said selection means If you choose to execute the program module in the service gateway, executing means for executing the program module, if the selection means has selected the executing said program module in the computer, transmit the program module to the computer Transmitting means.
第3の本発明に係る分散実行方法は、サービスゲートウェイと当該サービスゲートウェイにネットワークを介して接続される計算機による分散実行方法であって、前記サービスゲートウェイによる、プログラムモジュールを受信するステップと、受信したプログラムモジュールが当該サービスゲートウェイのハードウェア機能を利用する命令を使用しているか否かを解析してプログラムモジュールの特性として管理テーブルに登録するステップと、当該サービスゲートウェイがプログラムモジュールの実行を要求されたときに、前記管理テーブルに登録された前記プログラムモジュールの特性に基いて、当該プログラムモジュールを当該サービスゲートウェイで実行させるか、前記計算機で実行させるかを選択するステップと、前記選択するステップで当該サービスゲートウェイで前記プログラムモジュールを実行すると選択した場合、前記プログラムモジュールを実行するステップと、前記選択するステップで前記計算機で前記プログラムモジュールを実行させると選択した場合、前記プログラムモジュールを前記計算機へ送信するステップと、を有し、前記計算機による、前記プログラムモジュールを受信するステップと、受信した前記プログラムモジュールを実行するステップと、を有することを特徴とする。 A distributed execution method according to a third aspect of the present invention is a distributed execution method by a service gateway and a computer connected to the service gateway via a network, the step of receiving a program module by the service gateway, comprising the steps of program module registered in the management table as a characteristic of the program modules to analyze whether using instructions to use the hardware features of the service gateway, those the service gateway is requested to execute the program modules when the, on the basis of the characteristics of the program modules registered in the management table, whether to execute the program module in the service gateway, and selecting whether to run on said computer, said selecting If you choose to execute the program module in the service gateway step, step a, if you choose to execute the program module in the computer in the step of selecting, the computer the program modules for executing the program module Transmitting the program module, and receiving the program module by the computer and executing the received program module.
第4の本発明に係る分散実行プログラムは、上記サービスゲートウェイとしてコンピュータを動作させることを特徴とする。 A distributed execution program according to a fourth aspect of the present invention operates a computer as the service gateway.
本発明によれば、限られたスペックのサービスゲートウェイ装置を利用した場合でも様々なサービスを提供できる技術を提供することができる。 According to the present invention, it is possible to provide a technology that can provide various services even when a service gateway device with limited specifications is used.
以下、本発明の実施の形態について図面を用いて説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
図1は、本実施の形態における分散実行システムの構成を示す全体構成図である。同図に示す分散実行システムは、機能モジュールを受信して実行するSGW1とSGW1から機能モジュールを受信して実行するパーソナルコンピュータ(PC)2とを備える。機能モジュールは、SGW1やPC2が備えるプログラム実行環境上で動作するプログラムモジュールである。 FIG. 1 is an overall configuration diagram showing the configuration of the distributed execution system in the present embodiment. The distributed execution system shown in the figure includes an SGW 1 that receives and executes a functional module, and a personal computer (PC) 2 that receives and executes the functional module from the SGW 1. The functional module is a program module that operates on a program execution environment included in the SGW 1 or the PC 2.
SGW1は、外部のネットワーク100及び家庭内のネットワークに接続される。家庭内のネットワークには、PC2、センサ5、および電話端末7などが接続される。SGW1は、機能モジュールを動作させて、例えば電話端末7をIP電話機としてネットワーク100に接続して電話サービスを可能にしたり、外部の電話端末からの問い合わせに応じてセンサ5の測定値を取得して送信するなどの機能を実行する。SGW1の負荷が高くて機能モジュールを動作させられない場合は、機能モジュールをPC2に送信してPC2上で機能モジュールを動作させる。
The SGW 1 is connected to an
SGW1は、GW機能部11、VM12、機能モジュール制御部13、およびリソース管理部14を備え、機能モジュール15A,15B,15Cを受信してVM12上で実行する。SGW1が備える各部は、演算処理装置、記憶装置等を備えたコンピュータにより構成して、各部の処理がプログラムによって実行されるものとしてもよい。このプログラムはSGW1が備える記憶装置に記憶されており、磁気ディスク、光ディスク、半導体メモリ等の記録媒体に記録することも、ネットワークを通して提供することも可能である。以下、SGW1の各部について説明する。
The SGW 1 includes a
GW機能部11は、外部からの着信を受ける、外部へ発信する、家庭内のネットワークとネットワーク100との間の通信を中継するなどのゲートウェイ機能を有する。また、実行を要求された機能モジュール15A,15B,15Cについて、SGW1とPC2のリソース状況、機能モジュール15A,15B,15Cの特性に基づき、実行可能な装置(SGW1自身かPC2か)を決定する。PC2で実行すると決定した場合は、実行を要求された機能モジュール15A,15B,15CをPC2に送信し、PC2上で動作させる。
The
VM12は、例えばJava(登録商標)VMなどのプログラム実行環境であり、機能モジュール15A,15B,15Cなどを実行する。
The VM 12 is a program execution environment such as a Java (registered trademark) VM, for example, and executes the
機能モジュール制御部13は、機能モジュール15A,15B,15Cのインストール、実行、削除などを行い、機能モジュール15A,15B,15Cの特性を記載した機能モジュール管理テーブルを有する。本実施の形態では、機能モジュール管理テーブルには、各機能モジュール15A,15B,15CがSGW1のハードウェアを利用する機能モジュールであるか否かが記載される。なお、機能モジュール管理テーブルに記載する機能モジュールの特性としては、例えば、PC2で機能モジュールを実行した場合のSGW1とPC2との間に要求する通信帯域、外部のネットワーク100に直結しているSGW1で処理することにより性能が確保されるか否か、などがある。
The function
リソース管理部14は、SGW1自身のリソース状況とPC2のリソース状況を管理する。PC2のリソース状況はPC2のリソース管理部23から送信される。本実施の形態では、リソース状況としてCPU使用率を用いる。なお、メモリ使用量、使用ネットワーク帯域、プロセス数などのリソース状況を用いてもよい。
The
PC2は、VM21、機能モジュール制御部22などのSGW1と同様のプログラム実行環境と、PC2自身のリソース状況を管理するリソース管理部23を備える。
The PC 2 includes a program execution environment similar to the SGW 1 such as the VM 21 and the functional
機能モジュール制御部22は、SGW1から受信した機能モジュールのインストール、実行、削除などを行う。
The functional
リソース管理部23は、リソース状況を管理するとともに、リソース状況をSGW1に送信する。
The
図2は、本実施の形態における別の分散実行システムの構成を示す全体構成図である。同図に示す分散実行システムは、PC2の代わりに機能サーバ3がSGW1から機能モジュールを受信して実行する。もちろん、PC2と機能サーバ3の両方を用いてもよい。
FIG. 2 is an overall configuration diagram showing the configuration of another distributed execution system in the present embodiment. In the distributed execution system shown in the figure, the function server 3 receives the function module from the SGW 1 and executes it instead of the
機能サーバ3は、SGW1とネットワーク100を介して接続される。機能サーバ3は、VM33、機能モジュール制御部34などのSGW1と同様のプログラム実行環境と、SGW管理部31、機能サーバ制御部32、およびリソース管理部35を備える。
The function server 3 is connected to the SGW 1 via the
SGW管理部31は、機能モジュールの実行を依頼したSGW1を認識・管理する。
The
機能サーバ制御部32は、機能モジュールの受信、SGW1との間の通信などの機能を有する。
The function
リソース管理部35は、リソース状況を管理するとともに、リソース状況をSGW1に送信する。
The
なお、PC2、機能サーバ3は、機能モジュールの実行環境だけでなく、ストレージ領域などもSGW1の機能として確保してもよい。
Note that the
また、図1,2では、PC2、機能サーバ3をそれぞれ1台づつ接続しているが、もちろん、複数台接続してもよいし、PC2と機能サーバ3の両方を接続してもよい。
1 and 2, the
[実施例]
次に、本実施の形態における分散実行システムの実施例について説明する。
[Example]
Next, an example of the distributed execution system in this embodiment will be described.
図3は、分散実行システムの一実施例の全体構成図である。同図に示すSGW1は、温度センサ5を接続し、外部からの問い合わせに応じて、温度センサ5の温度センサ情報(現在の温度情報)を音声に変換して返信する機能を有する。SGW1は、SGW1自身の負荷が高い場合、機能モジュールをクラウド上の機能サーバ3に送信して実行させる。
FIG. 3 is an overall configuration diagram of an embodiment of the distributed execution system. The SGW 1 shown in the figure has a function of connecting the
図3の実施例では、SGW1では、音声認識モジュール15A、音声合成モジュール15B、および暗号モジュール15Cを機能モジュールとして実行する。このうち、音声認識モジュール15A、音声合成モジュール15Bは、クラウド側のダウンロードサーバ4からダウンロードし、インストールされる。また、暗号モジュール15Cは、SGW1のハードウェアを利用してデータを暗号化する機能モジュールである。機能モジュール制御部13内の機能モジュール管理テーブルでは、音声認識モジュール15A、音声合成モジュール15Bは、SGW1のハードウェアを利用しない機能モジュールとして登録され、暗号モジュール15Cは、SGW1のハードウェアを利用する機能モジュールとして登録される。
In the embodiment of FIG. 3, the SGW 1 executes the
機能モジュール管理テーブルに機能モジュールの特性を登録する方法としては、機能モジュールをダウンロードした時に、その機能モジュールがSGW1のハードウェア機能を利用する命令を使用しているか否か解析し、その結果を登録する方法や、ダウンロードした機能モジュールをSGW1で初めて動作させたときにSGW1のハードウェアを利用する命令を使用しているか否かを解析し、その結果を登録する方法などがある。 As a method of registering the characteristics of the function module in the function module management table, when the function module is downloaded, it is analyzed whether or not the function module uses an instruction to use the hardware function of SGW1, and the result is registered. And a method of analyzing whether or not an instruction using the hardware of the SGW 1 is used when the downloaded functional module is operated for the first time on the SGW 1 and registering the result.
また、SGW1はセンサ情報取得部16を備え、センサ情報取得部16が温度センサ5から温度センサ情報を取得する
一方、機能サーバ3は、SGW1と同じプログラム実行環境であるVM33を備え、SGW1のハードウェアを利用しない音声認識モジュール15A、音声合成モジュール15Bを実行可能である。なお、図3では、機能サーバ3中に音声認識モジュール15A、音声合成モジュール15Bが記載されているが、SGW1から音声認識モジュール15A、音声合成モジュール15Bが送信されるまではインストールされない。また、機能サーバ3は、SGW1の暗号モジュール15Cで暗号化されたデータを復号する暗号モジュール36を備える。
The SGW 1 includes a sensor
以下、電話端末7A,7B間で通話中の状態でSGW1の負荷が高いときに、電話端末7CがSGW1に温度センサ情報を問い合せる場合のSGW1と機能サーバ3の動作について説明する。
Hereinafter, the operations of the SGW 1 and the function server 3 when the
まず、利用者は、電話端末7CからSGW1に発呼する。
First, the user calls SGW1 from the
SGW1が電話端末7Cから着信すると、GW機能部11が音声によるコマンド入力を要求する。
When the SGW 1 receives a call from the
利用者が、電話端末7Cを用いて音声入力により、温度センサ情報の取得を要求すると、GW機能部11は、入力された音声を解析するために、音声認識モジュール15Aを起動しようとする。
When the user requests acquisition of temperature sensor information by voice input using the
まず、GW機能部11は、機能モジュール制御部13に対し、音声認識モジュール15Aがハードウェアを利用する機能モジュールであるか否かを問い合わせる。機能モジュール制御部13は、機能モジュール管理テーブルを参照し、音声認識モジュール15Aがハードウェアを利用しない機能モジュールであることをGW機能部11に通知する。
First, the
続いて、GW機能部11は、音声認識モジュール15AをSGW1自身のVM12上で起動可能であるか否かを、リソース管理部14に問い合わせる。リソース管理部14は、SGW1のCPU使用率が所定の閾値を超えているので起動不可であると判断し、GW機能部11に通知する。
Subsequently, the
GW機能部11は、VM12上で音声認識モジュール15Aが起動できないので、機能サーバ3が利用可能か否かをリソース管理部14に問い合わせる。リソース管理部14は、機能サーバ3のCPU使用率を参照して利用可能であると判断し、GW機能部11に通知する。
Since the voice recognition module 15 </ b> A cannot be activated on the
GW機能部11は、機能サーバ3が利用可能である通知を受け、機能サーバ3に対して音声認識モジュール15Aの実行を依頼するとともに、音声認識モジュール15Aを送信する。
Upon receiving notification that the function server 3 is available, the
機能サーバ制御部32が音声認識モジュール15Aの実行の依頼と音声認識モジュール15Aを受信すると、SGW管理部31が依頼元のSGW1を認識・管理し、機能モジュール制御部34が受信した音声認識モジュール15AをVM33上に展開して起動する。
When the function
音声認識モジュール15Aが機能サーバ3で実行されると、GW機能部11は、電話端末7Cから受信した利用者の音声データを機能サーバ3に転送する。
When the voice recognition module 15 </ b> A is executed by the function server 3, the
機能サーバ3では、音声認識モジュール15Aが受信した音声データをテキストデータに変換し、機能サーバ制御部32が音声認識処理の終わったテキストデータをSGW1に返送する。また、機能モジュール制御部34は、音声認識モジュール15Aの処理終了をもって、音声認識モジュール15Aを終了させてVM33上から削除する。
In the function server 3, the voice data received by the
GW機能部11は、受信したテキストデータから利用者の要求が温度センサ情報の取得であることを認識し、センサ情報取得部16が温度センサ5に温度センサ情報を要求し、温度センサ情報を得る。
The
続いて、GW機能部11は、取得した温度センサ情報を音声に変換するために、音声合成モジュール15Bを起動しようとする。GW機能部11は、音声認識モジュール15Aについての処理と同様に、音声合成モジュール15Bがハードウェアを利用する機能モジュールであるか否かを機能モジュール制御部13に問い合わせ、SGW1で起動可能か、機能サーバ3が利用可能か否かをリソース管理部4に問い合わせて、機能サーバ3に対して音声合成モジュール15Bの実行を依頼するとともに、音声合成モジュール15Bを送信する。
Subsequently, the
機能サーバ制御部32が音声合成モジュール15Bの実行の依頼と音声合成モジュール15Bを受信すると、SGW管理部31が依頼元のSGW1を認識・管理し、機能モジュール制御部34が受信した音声合成モジュール15BをVM33上に展開して起動する。
When the function
音声合成モジュール15Bが機能サーバ3で実行されると、GW機能部11は、温度センサ情報を機能サーバ3に転送するが、このとき、GW機能部11は、セキュリティのため、温度センサ情報を暗号化した後に送信する。
When the
そこで、GW機能部11は、温度センサ情報を暗号化するために、暗号モジュール15Cを起動しようとする。
Therefore, the
GW機能部11は、機能モジュール制御部13に対し、暗号モジュール15Cがハードウェアを利用する機能モジュールであるか否かを問い合わせる。機能モジュール制御部13は、機能モジュール管理テーブルを参照し、暗号モジュール15Cがハードウェアを利用する機能モジュールであることをGW機能部11に通知する。
The
GW機能部11は、暗号モジュール15Cがハードウェアを利用する機能モジュールであるので、暗号モジュール15CをSGW1上で起動し、暗号モジュール15Cに温度センサ情報を送り、温度センサ情報を暗号化し、暗号化された温度センサ情報を機能サーバ3へ送信する。
Since the
機能サーバ3では、受信した暗号化された温度センサ情報を暗号モジュール36が復号し、音声合成モジュール15Bが温度センサ情報を音声データに変換した後、機能サーバ制御部32が音声データをSGW1に返送する。また、機能モジュール制御部34は、音声合成モジュール15Bの処理終了をもって、音声合成モジュール15Bを終了させてVM33上から削除する。
In the function server 3, the encrypted temperature sensor information received is decrypted by the
GW機能部11は、機能サーバ3から音声データを受信し、電話端末7Cに送信することで、利用者は、現在の温度情報を電話端末7Cから出力される音声で確認することができる。
The
なお、よく利用される機能モジュールについては、あらかじめ各装置に配備しておくことにより、機能モジュールの送受信は必ずしもその都度必要でなくなる。 It should be noted that frequently used function modules are arranged in advance in each device, so that transmission / reception of the function modules is not always necessary.
以上説明したように、本実施の形態によれば、PC2、機能サーバ3に機能モジュール15A,15B,15Cを実行するプログラム実行環境を用意し、実行を要求された機能モジュール15A,15B,15Cについて、SGW1、PC2、機能サーバ3のリソース状況、機能モジュール15A,15B,15Cの特性に基づき、実行可能装置を決定し、SGW1以外の装置で実行すると決定した場合は、実行を要求された機能モジュール15A,15B,15Cを送信して実行させることにより、SGW1の負荷が高い場合に、PC2や機能サーバ3に処理を行わせることができるので、SGW1自身のリソース(CPU、メモリ、記憶装置等)を拡張あるいはSGW1の置き換えをすることなく、PC2、機能サーバ3を用意するだけでSGW1の機能を拡張でき、様々なサービスが提供可能となる。
As described above, according to the present embodiment, the program execution environment for executing the
本実施の形態によれば、機能モジュール15A,15B,15Cの特性として、SGW1のハードウェアを利用する機能モジュールであるか否かを機能モジュール管理テーブルに記載することにより、実行を要求された機能モジュール15A,15B,15CがSGW1以外の装置で実行可能であるか否かを判断できる。
According to the present embodiment, the function requested to be executed is described as a characteristic of the
本実施の形態によれば、SGW1が自身のリソース状況とPC2や機能サーバ3のリソース状況を管理し、機能モジュール単位で実行する装置を決定することで、個々の機能モジュールを並列処理可能なタスクに分割する必要がなくなる。
According to the present embodiment, the SGW 1 manages the resource status of itself and the resource status of the
1…SGW
11…GW機能部
12…VM
13…機能モジュール制御部
14…リソース管理部
15A,15B,15C…機能モジュール
16…センサ情報取得部
2…PC
21…VM
22…機能モジュール制御部
23…リソース管理部
3…機能サーバ
31…SGW管理部
32…機能サーバ制御部
33…VM
34…機能モジュール制御部
35…リソース管理部
36…暗号モジュール
4…ダウンロードサーバ
5…センサ
7,7A,7B,7C…電話端末
100…ネットワーク
1 ... SGW
11 ... GW
DESCRIPTION OF
21 ... VM
DESCRIPTION OF
34 ... Functional
Claims (6)
前記サービスゲートウェイは、
プログラムモジュールを受信する受信手段と、
受信したプログラムモジュールが当該サービスゲートウェイのハードウェア機能を利用する命令を使用しているか否かを解析してプログラムモジュールの特性として管理テーブルに登録する解析手段と、
当該サービスゲートウェイがプログラムモジュールの実行を要求されたときに、前記管理テーブルに登録された前記プログラムモジュールの特性に基いて、当該プログラムモジュールを当該サービスゲートウェイで実行させるか、前記計算機で実行させるかを選択する選択手段と、
前記選択手段が当該サービスゲートウェイで前記プログラムモジュールを実行すると選択した場合、前記プログラムモジュールを実行する実行手段と、
前記選択手段が前記計算機で前記プログラムモジュールを実行させると選択した場合、前記プログラムモジュールを前記計算機へ送信する送信手段と、を有し、
前記計算機は、
前記サービスゲートウェイと同じ、プログラムモジュールを実行する実行手段と、
前記プログラムモジュールを受信して前記実行手段で実行させる制御手段と、を有すること
を特徴とする分散実行システム。 A distributed execution system comprising a service gateway and a computer connected to the service gateway via a network,
The service gateway is
Receiving means for receiving the program module;
Analyzing means for analyzing whether the received program module uses an instruction to use the hardware function of the service gateway and registering it in the management table as a characteristic of the program module;
When those the service gateway is requested to execute program modules or, on the basis of the characteristics of managed the program modules registered in the table, or to execute the program module in the service gateway, run on the said computer A selection means for selecting
An execution means for executing the program module when the selection means selects to execute the program module in the service gateway;
A transmission means for transmitting the program module to the computer when the selection means selects the computer to execute the program module;
The calculator is
Execution means for executing the same program module as the service gateway;
And a control unit that receives the program module and causes the execution unit to execute the program module.
前記選択手段は、前記リソース状況に基いて、当該プログラムモジュールを当該サービスゲートウェイで実行させるか、前記計算機で実行させるかを選択することを特徴とする請求項1記載の分散実行システム。 The service gateway has resource management means for managing the resource status of the service gateway and the resource status of the computer,
It said selecting means, wherein based on the resource status, distributed execution system according to claim 1, wherein the program modules or be executed in the service gateway, and selects whether to run on said computer.
プログラムモジュールを受信する受信手段と、
受信したプログラムモジュールが当該サービスゲートウェイのハードウェア機能を利用する命令を使用しているか否かを解析してプログラムモジュールの特性として管理テーブルに登録する解析手段と、
当該サービスゲートウェイがプログラムモジュールの実行を要求されたときに、前記管理テーブルに登録された前記プログラムモジュールの特性に基いて、当該プログラムモジュールを当該サービスゲートウェイで実行させるか、前記計算機で実行させるかを選択する選択手段と、
前記選択手段が当該サービスゲートウェイで前記プログラムモジュールを実行すると選択した場合、前記プログラムモジュールを実行する実行手段と、
前記選択手段が前記計算機で前記プログラムモジュールを実行させると選択した場合、前記プログラムモジュールを前記計算機へ送信する送信手段と、
を有することを特徴とするサービスゲートウェイ。 A service gateway that transmits a program module to a computer connected via a network and executes the program module,
Receiving means for receiving the program module;
Analyzing means for analyzing whether the received program module uses an instruction to use the hardware function of the service gateway and registering it in the management table as a characteristic of the program module;
When those the service gateway is requested to execute program modules or, on the basis of the characteristics of managed the program modules registered in the table, or to execute the program module in the service gateway, run on the said computer A selection means for selecting
An execution means for executing the program module when the selection means selects to execute the program module in the service gateway;
When the selection unit selects to execute the program module on the computer, a transmission unit that transmits the program module to the computer;
A service gateway characterized by comprising:
前記選択手段は、前記リソース状況に基いて、当該プログラムモジュールを当該サービスゲートウェイで実行させるか、前記計算機で実行させるかを選択することを特徴とする請求項3記載のサービスゲートウェイ。 Resource management means for managing the resource status of the service gateway and the resource status of the computer;
4. The service gateway according to claim 3 , wherein the selection unit selects whether to execute the program module on the service gateway or on the computer based on the resource status.
前記サービスゲートウェイによる、
プログラムモジュールを受信するステップと、
受信したプログラムモジュールが当該サービスゲートウェイのハードウェア機能を利用する命令を使用しているか否かを解析してプログラムモジュールの特性として管理テーブルに登録するステップと、
当該サービスゲートウェイがプログラムモジュールの実行を要求されたときに、前記管理テーブルに登録された前記プログラムモジュールの特性に基いて、当該プログラムモジュールを当該サービスゲートウェイで実行させるか、前記計算機で実行させるかを選択するステップと、
前記選択するステップで当該サービスゲートウェイで前記プログラムモジュールを実行すると選択した場合、前記プログラムモジュールを実行するステップと、
前記選択するステップで前記計算機で前記プログラムモジュールを実行させると選択した場合、前記プログラムモジュールを前記計算機へ送信するステップと、を有し、
前記計算機による、
前記プログラムモジュールを受信するステップと、
受信した前記プログラムモジュールを実行するステップと、を有すること
を特徴とする分散実行方法。 A distributed execution method by a computer connected to a service gateway and the service gateway via a network,
By the service gateway,
Receiving a program module;
Analyzing whether the received program module uses an instruction to use the hardware function of the service gateway and registering it as a characteristic of the program module in the management table;
When those the service gateway is requested to execute program modules or, on the basis of the characteristics of managed the program modules registered in the table, or to execute the program module in the service gateway, run on the said computer A step of selecting
When selecting to execute the program module in the service gateway in the selecting step, executing the program module;
And when the computer module is selected to be executed by the computer in the selecting step, the program module is transmitted to the computer.
According to the calculator,
Receiving the program module;
And a step of executing the received program module.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2012133573A JP5823919B2 (en) | 2012-06-13 | 2012-06-13 | Distributed execution system, method, apparatus, and program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2012133573A JP5823919B2 (en) | 2012-06-13 | 2012-06-13 | Distributed execution system, method, apparatus, and program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2013257750A JP2013257750A (en) | 2013-12-26 |
| JP5823919B2 true JP5823919B2 (en) | 2015-11-25 |
Family
ID=49954132
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2012133573A Expired - Fee Related JP5823919B2 (en) | 2012-06-13 | 2012-06-13 | Distributed execution system, method, apparatus, and program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP5823919B2 (en) |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3737560B2 (en) * | 1996-04-19 | 2006-01-18 | 松下電器産業株式会社 | Distributed processing method and system in network |
| JP2004287889A (en) * | 2003-03-24 | 2004-10-14 | Ntt Data Corp | Distributed processing system, distributed processing apparatus, method, and computer program |
| WO2010150704A1 (en) * | 2009-06-22 | 2010-12-29 | 日本電気株式会社 | Processing node selecting system, information processing node, processing method and program |
-
2012
- 2012-06-13 JP JP2012133573A patent/JP5823919B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2013257750A (en) | 2013-12-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN112424746B (en) | In-situ triggered functions as a service within a service mesh | |
| EP3798833A1 (en) | Methods, system, articles of manufacture, and apparatus to manage telemetry data in an edge environment | |
| CN109561171B (en) | Configuration method and device of virtual private cloud service | |
| Abolfazli et al. | An experimental analysis on cloud-based mobile augmentation in mobile cloud computing | |
| US9521053B1 (en) | Providing diagnostic metrics for virtual connections over physical connections into a provider network | |
| JP6539341B2 (en) | Providing router information according to the programmatic interface | |
| US9456017B2 (en) | System and method for a connector being able to adapt to newer features introduced to a messaging provider with only configuration changes | |
| JP2018506936A (en) | Method and system for an end-to-end solution for distributing content in a network | |
| CN103765858B (en) | For period that browses in communication network monitoring the method for user and server user | |
| Flores et al. | Towards mobile cloud applications: Offloading resource‐intensive tasks to hybrid clouds | |
| CN114416169B (en) | Data processing method, medium, device and computing equipment based on micro front end | |
| Kim et al. | Developing an On‐Demand Cloud‐Based Sensing‐as‐a‐Service System for Internet of Things | |
| CN106657180A (en) | Information transmission method and device for cloud services, terminal equipment, and system | |
| KR20160080487A (en) | Remote procedure calling method between different devices | |
| CN105591959A (en) | A system and method for load balancing using SSL session reuse | |
| US9288116B2 (en) | System and method for NAS server test load generation | |
| CN113778499B (en) | Method, apparatus, device and computer readable medium for publishing services | |
| CN111783044B (en) | A method and device for sharing login status | |
| JP5823919B2 (en) | Distributed execution system, method, apparatus, and program | |
| US10771283B2 (en) | Virtual cloud node | |
| US8538920B2 (en) | System and method for storage service | |
| CN116781764B (en) | Long-connection task execution methods, devices and related equipment | |
| CN104601707A (en) | Network disk data processing method and device | |
| CN115514771A (en) | Data transmission method and device, electronic equipment and computer readable storage medium | |
| JP6471459B2 (en) | COMMUNICATION DEVICE, LOG PROCESSING PROGRAM, COMMUNICATION SYSTEM, AND LOG PROCESSING METHOD |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140623 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150209 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150224 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150421 |
|
| 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: 20151006 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20151008 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 5823919 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| LAPS | Cancellation because of no payment of annual fees |