図面 (/)

技術 サービス制御装置、サービス制御方法及びプログラム

出願人 日本電気株式会社
発明者 西原康介
出願日 2016年6月10日 (5年2ヶ月経過) 出願番号 2017-523118
公開日 2018年4月5日 (3年4ヶ月経過) 公開番号 WO2016-199432
状態 特許登録済
技術分野 マルチプログラミング
主要キーワード 検出種 センシングデバイス 入力種別 マスクROM フューチャ センシングデータ 入力変換 リソース制限
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2018年4月5日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (11)

課題・解決手段

提供するサービスレスポンス時間の短縮、処理時間やリソース消費の節約を行うことができるサービス制御装置サービス制御方法及びプログラムを提供する。サービス制御装置は、外部要求又は機能要素の実行結果を受け取り、機能要素の組合せの計画を保持する制御リスト101を参照し、次に実行する機能要素を指示する制御部102と、制御部102から指示された機能要素を実行する実行部103と、機能要素の実行状況監視し記録する監視記録部105と、記録された機能要素の実行状況に基づいて機能要素の活性度を計算し、活性度に基づいて制御リスト101を更新する活性度計算部106とを有している。

概要

背景

実世界の情報を集め埋もれた価値を見出すことや、環境や個人に応じたサービスを提供するなどの、ビッグデータ活用IoT(Internet of Things)の取り組みが注目を集めている。実際の環境から広く情報を集めるためには、センシングデバイスを備えたエッジノードの機能が重要になる。このようなエッジノードでは、単一の情報収集機能だけではなく、複数の情報収集機能を持つことや、エッジノード側で高度な情報処理を行う必要がある。

しかし、一般的にエッジノードではリソースに制限があることが多い。エッジノードが備える電池容量や計算能力データ転送能力は、クラウドに比べ低く、従来クラウド側で行っていた情報処理をそのままエッジノードで行うことは難しい。このため、処理の一部を省略することや、別ノードオフロードすることにより、リソース制限のあるエッジノードで高度情報処理を行う工夫がなされている。例えば、サービスを複数のサービス機能要素の組合せで実現し、その機能要素の配置や組合せを選択することなどである。特許文献1には、複数のノードに処理機能を配置してサービスを行う手法が開示されている。また、特許文献2には、処理機能の一部を別ノードにオフロードする手法が開示されている。

概要

提供するサービスのレスポンス時間の短縮、処理時間やリソース消費の節約を行うことができるサービス制御装置サービス制御方法及びプログラムを提供する。サービス制御装置は、外部要求又は機能要素の実行結果を受け取り、機能要素の組合せの計画を保持する制御リスト101を参照し、次に実行する機能要素を指示する制御部102と、制御部102から指示された機能要素を実行する実行部103と、機能要素の実行状況監視し記録する監視記録部105と、記録された機能要素の実行状況に基づいて機能要素の活性度を計算し、活性度に基づいて制御リスト101を更新する活性度計算部106とを有している。

目的

実世界の情報を集め埋もれた価値を見出すことや、環境や個人に応じたサービスを提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

(分野番号表示ON)※整理標準化データをもとに当社作成

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

外部要求又は機能要素の実行結果を受け取り、機能要素の組合せの計画を保持する制御リストを参照し、次に実行する機能要素を指示する制御手段と、前記制御手段から指示された機能要素を実行する実行手段と、機能要素の実行状況監視し記録する監視記録手段と、記録された前記機能要素の実行状況に基づいて機能要素の活性度を計算し、前記活性度に基づいて前記制御リストを更新する活性度計算手段とを有するサービス制御装置

請求項2

前記活性度計算手段は、前記記録された前記機能要素の実行状況を用いて、特定の機能要素の実行頻度を前記活性度として計算し、前記活性度と機能要素の実行時間とを用いて、前記機能要素の組合せの計画の平均実行時間を計算し、前記制御リストの更新により前記平均実行時間が短くなる場合に前記制御リストを更新する、請求項1に記載のサービス制御装置。

請求項3

次に実行する機能要素の指示を別ノードへ送信する通信手段をさらに有し、前記活性度計算手段は、前記活性度と前記通信手段による通信時間を含めた前記機能要素の実行時間とを用いて、前記機能要素の組合せの計画の平均実行時間を計算する、請求項2に記載のサービス制御装置。

請求項4

前記活性度計算手段は、前記活性度と前記通信手段による通信にかかる消費電力と機能要素の実行にかかる消費電力とを用いて、前記機能要素の組合せの計画の平均消費電力を計算し、前記制御リストの更新により、前記平均消費電力が小さくなること、及び前記平均実行時間が短くなることの少なくとも一方を満たす場合に、前記制御リストを更新する、請求項3に記載のサービス制御装置。

請求項5

入力変換手段をさらに有し、前記入力変換手段は、前記外部要求又は前記機能要素の実行結果の入力から始まる2以上の機能要素の組合せのうち、始めの入力と前記2以上の機能要素の組合せの最後の機能要素への入力の関係を学習し、前記始めの入力が前記最後の機能要素に直接入力される場合に、前記関係を用いて前記始めの入力を対応する前記最後の機能要素への入力に変換する、請求項1乃至4のいずれかに記載のサービス制御装置。

請求項6

外部要求又は機能要素の実行結果に対し、機能要素の組合せの計画を保持する制御リストを参照して、次に実行する機能要素を決定し、決定した前記次に実行する機能要素を実行し、機能要素の実行状況を監視して記録し、記録された前記機能要素の実行状況に基づいて機能要素の活性度を計算し、前記活性度に基づいて前記制御リストを更新するサービス制御方法

請求項7

前記記録された前記機能要素の実行状況を用いて、特定の機能要素の実行頻度を前記活性度として計算し、前記活性度と機能要素の実行時間とを用いて、前記機能要素の組合せの計画の平均実行時間を計算し、前記制御リストの更新により前記平均実行時間が短くなる場合に前記制御リストを更新する、請求項6に記載のサービス制御方法。

請求項8

次に実行する機能要素の指示を別ノードへ送信し、前記活性度と前記送信による通信時間を含めた前記機能要素の実行時間とを用いて、前記機能要素の組合せの計画の平均実行時間を計算する、請求項7に記載のサービス制御方法。

請求項9

前記外部要求又は前記機能要素の実行結果の入力から始まる2以上の機能要素の組合せのうち、始めの入力と前記2以上の機能要素の組合せの最後の機能要素への入力の関係を学習し、前記始めの入力が前記最後の機能要素に直接入力される場合に、前記関係を用いて前記始めの入力を対応する前記最後の機能要素への入力に変換する、請求項6乃至8のいずれかに記載のサービス制御方法。

請求項10

外部要求又は機能要素の実行結果に対し、機能要素の組合せの計画を保持する制御リストを参照して、次に実行する機能要素を決定し、決定した前記次に実行する機能要素を実行し、機能要素の実行状況を監視して記録し、記録された前記機能要素の実行状況に基づいて機能要素の活性度を計算し、前記活性度に基づいて前記制御リストを更新することをコンピュータに実行させるプログラムを格納する記録媒体

技術分野

0001

本発明は、サービス制御装置サービス制御方法及び記録媒体に関する。

背景技術

0002

実世界の情報を集め埋もれた価値を見出すことや、環境や個人に応じたサービスを提供するなどの、ビッグデータ活用IoT(Internet of Things)の取り組みが注目を集めている。実際の環境から広く情報を集めるためには、センシングデバイスを備えたエッジノードの機能が重要になる。このようなエッジノードでは、単一の情報収集機能だけではなく、複数の情報収集機能を持つことや、エッジノード側で高度な情報処理を行う必要がある。

0003

しかし、一般的にエッジノードではリソースに制限があることが多い。エッジノードが備える電池容量や計算能力データ転送能力は、クラウドに比べ低く、従来クラウド側で行っていた情報処理をそのままエッジノードで行うことは難しい。このため、処理の一部を省略することや、別ノードオフロードすることにより、リソース制限のあるエッジノードで高度情報処理を行う工夫がなされている。例えば、サービスを複数のサービス機能要素の組合せで実現し、その機能要素の配置や組合せを選択することなどである。特許文献1には、複数のノードに処理機能を配置してサービスを行う手法が開示されている。また、特許文献2には、処理機能の一部を別ノードにオフロードする手法が開示されている。

先行技術

0004

特開2006−171921号公報
特表2002−517855号公報
特開2010−268346号公報
特開平07−295917号公報

発明が解決しようとする課題

0005

フィールド展開された複数のエッジノードでは、それぞれに機能要素の最適な組み合わせが異なることが考えられる。しかしながら、特許文献1及び2においては、各ノードの環境に適した機能要素の必要性度合いを考慮していなかった。このため、各ノードの環境によっては、提供するサービスのレスポンス時間が長く、処理時間やリソース消費が大きいという問題点があった。

0006

本発明は、このような問題点を解決するためになされたものであり、提供するサービスのレスポンス時間の短縮、処理時間やリソース消費の節約を行うことができるサービス制御装置、サービス制御方法及び記録媒体を提供することを目的とする。

課題を解決するための手段

0007

本発明にかかるサービス制御装置は、外部要求又は機能要素の実行結果を受け取り、機能要素の組合せの計画を保持する制御リストを参照し、次に実行する機能要素を指示する制御手段と、前記制御手段から指示された機能要素を実行する実行手段と、機能要素の実行状況監視し記録する監視記録手段と、記録された前記機能要素の実行状況に基づいて機能要素の活性度を計算し、前記活性度に基づいて前記制御リストを更新する活性度計算手段とを有するものである。

0008

他方、本発明にかかるサービス制御方法は、外部要求又は機能要素の実行結果に対し、機能要素の組合せの計画を保持する制御リストを参照して、次に実行する機能要素を決定し、決定した前記次に実行する機能要素を実行し、機能要素の実行状況を監視して記録し、記録された前記機能要素の実行状況に基づいて機能要素の活性度を計算し、前記活性度に基づいて前記制御リストを更新するものである。

発明の効果

0009

本発明により、提供するサービスのレスポンス時間の短縮、処理時間やリソース消費の節約を行うことができるサービス制御装置、サービス制御方法及び記録媒体を提供することができる。

図面の簡単な説明

0010

本発明の実施の形態1にかかるサービス制御装置の構成を示すブロック図である。
本発明の実施の形態1にかかる制御リストが保持する機能要素の組合せの計画の例を示す図である。
本発明の実施の形態1にかかる計画1及び2の平均実行時間の比較の例を示すグラフである。
本発明の実施の形態1にかかるサービス制御装置の処理を示すフローチャートである。
本発明の実施の形態2にかかるサービス制御装置の構成を示すブロック図である。
本発明の実施の形態2にかかる制御リストが保持する機能要素の組合せの計画の例を示す図である。
本発明の実施の形態2にかかるサービス制御装置の処理を示すフローチャートである。
一般的なコンピュータハードウェア構成例を示すブロック図である。
本発明の実施の形態にかかる制御リストが保持する機能要素の組合せの計画の例を示す図である。
本発明の実施の形態にかかる制御リストが保持する機能要素の組合せの計画の例を示す図である。

実施例

0011

実施の形態1
まず、図1を用いて本発明の実施の形態1にかかるサービス制御装置100の構成について説明する。サービス制御装置100は、例えば、エッジノード内にあるセンシングデバイスを備えた装置である。サービス制御装置100は、制御リスト101、制御部102、実行部103、機能要素群104、監視記録部105、活性度計算部106を備えている。

0012

制御リスト101は、機能要素の組合せの計画を保持している。制御リスト101が保持する機能要素の組合せの計画については後に詳述する。

0013

制御部102は、外部要求や実行部103による機能要素の実行結果を受け取る。ここで、外部要求とは、外部からの機能要素の実行要求、又は外部からの複数の機能要素からなるサービスの実行要求である。また、外部要求は、サービス制御装置100を有するノード内で発生する外部要求、及び別ノードで発生する外部要求を含む。また、受け取った外部要求や実行部103による機能要素の実行結果を、制御部102への入力信号と呼ぶ。また、制御部102は、制御リスト101を参照し、制御部102への入力信号に対して次に実行する機能要素を決定する。制御部102が次に実行する機能要素を決定する手法については後に詳述する。さらに、制御部102は、次に実行する機能要素の指示を実行部103へ供給する。

0014

実行部103は、次に実行する機能要素の指示を制御部102から受け取る。機能要素群104は、複数の機能要素を保持している。実行部103は、次に実行する機能要素の指示に基づいて、機能要素群104から次に実行する機能要素を選択する。また、実行部103は、選択した機能要素を実行する。さらに、実行部103は、機能要素の実行結果を制御部102へ出力する。

0015

監視記録部105は、実行部103による機能要素の実行状況を監視して記録する。例えば、機能要素の実行状況は、機能要素の実行結果、機能要素の実行時間、特定の機能要素を実行したか否かの情報などである。なお、機能要素の実行結果と、特定の機能要素を実行したか否かの情報は、機能要素の活性度として、例えば特定の機能要素の実行頻度を計算するために必要な情報であり、少なくともいずれか一方を監視して記録すればよい。
また、監視記録部105は、記録した機能要素の実行状況を活性度計算部106へ出力する。

0016

特定の機能要素を実行したか否かの情報を監視して記録することについて説明する。監視記録部105は、制御部102が外部要求又は機能要素の実行結果を受け取ることにより始まる複数の機能要素の組合せのうち、特定の機能要素を実行したか否かを監視する。
また、監視記録部105は、特定の機能要素を実行したか否かを外部要求に対応付けて記録する。また、監視記録部105は、特定の機能要素を実行したか否かを、特定の機能要素より前に実行した機能要素に対応づけて記録してもよい。いずれにしても、1度の外部要求に対して、特定の機能要素を実行したのか、実行しなかったのかが判別可能な情報を、特定の機能要素を実行したか否かの情報として記録する。なお、監視記録部105は、制御部102が外部要求を受け取ったこと、又は特定の機能要素より前に実行される機能要素が実行されたことについて、制御部102と実行部103のどちらを監視することにより検知してもよい。

0017

活性度計算部106は、機能要素の実行状況を監視記録部105から受け取る。また、活性度計算部106は、機能要素の実行状況に基づいて、機能要素の活性度を計算する。
活性度計算部106は、機能要素の活性度として、例えば、特定の機能要素の実行頻度を算出する。

0018

ここで、特定の機能要素を実行したか否かの情報に基づいて、特定の機能要素の実行頻度を算出することについて説明する。監視記録部105は、1度の外部要求に対して、特定の機能要素を実行したのか、実行しなかったのかが判別可能な情報を、特定の機能要素を実行したか否かの情報として記録している。活性度計算部106は、この情報を受け取り、各外部要求に対して、特定の機能要素を実行したのか、実行しなかったのかを判別する。そして、活性度計算部106は、外部要求の回数と特定の機能要素を実行した回数とから特定の機能要素の実行頻度を算出する。なお、外部要求の回数と特定の機能要素を実行した回数とを監視記録部105が記録し、活性度計算部106は、この情報を受け取り、特定の機能要素の実行頻度を算出するようにしてもよい。

0019

また、活性度計算部106は、算出した機能要素の活性度に基づいて、制御リスト101を更新するか否かを決定する。制御リスト101を更新するか否かの決定は、例えば、機能要素の活性度が所定の閾値を超えるか否かの判定により行うようにしてもよい。また、例えば、機能要素の活性度と機能要素の実行時間を用いて、機能要素の組合せの計画の平均実行時間を計算し、制御リスト101の更新により平均実行時間が短くなるか否かを判定することにより行ってもよい。

0020

さらに、活性度計算部106は、制御リスト101を更新すると決定した場合、制御リスト101の更新を実行する。つまり、制御リスト101が保持する機能要素の組合せの計画を変更する。活性度計算部106の処理については後に詳述する。

0021

図1の実施の形態1にかかるサービス制御装置100では、機能要素の実行状況に基づいて、機能要素の活性度を計算し、活性度に基づいて制御リスト101を更新することにより、サービス制御装置100を有するノードが配置された環境に適した機能要素の組合せを実現することができ、提供するサービスのレスポンス時間の短縮、処理時間やリソース消費の節約を行うことができる。

0022

続いて、図2を用いて、本発明の実施の形態1にかかる制御リスト101が保持する機能要素の組合せの計画について説明する。制御リスト101は、外部要求や機能要素の実行結果に対し、どの機能要素を実行するかを示す機能要素の組合せの計画を保持する。例えば、制御リスト101は、機能要素a,b,cを図2実線の矢印で示すように直列に配置した計画を保持する。この計画を、計画1と呼ぶ。計画1では、機能要素aが実行されると次に機能要素bが実行されることが決められている。また、機能要素bからは、Yes/Noの判断が出力され、Yesの場合は次に機能要素cが実行され、Noの場合は機能要素cが実行されずに終了することが決められている。

0023

図2の計画1を実行する場合の動作について説明する。制御部102は、外部要求として、外部からの機能要素aの実行要求、又は外部からの機能要素a,b,cからなるサービスの実行要求を受け取った場合、制御リスト101を参照し、次に実行する機能要素を機能要素aに決定する。また、制御部102は、機能要素aの実行結果を受け取った場合、制御リスト101を参照し、次に実行する機能要素を機能要素bに決定する。また、制御部102は、機能要素bからYesの結果を受け取った場合、制御リスト101を参照し、次に実行する機能要素を機能要素cに決定する。

0024

活性度計算部106は、制御リスト101を更新することができる。例えば、図2点線の矢印で示すように機能要素bを実行せずにスキップし、機能要素aの次に機能要素cを実行する計画に変更することができる。この変更後の計画を、計画2と呼ぶ。

0025

図2の計画2を実行する場合の動作について説明する。制御部102は、外部要求として、外部からの機能要素aの実行要求、又は外部からの機能要素a,b,cからなるサービスの実行要求を受け取った場合、制御リスト101を参照し、次に実行する機能要素を機能要素aに決定する。また、制御部102は、機能要素aの実行結果を受け取った場合、制御リスト101を参照し、次に実行する機能要素を機能要素cに決定する。

0026

ここで、計画1から計画2へ変更するか否かの判定手法について説明する。活性度計算部106は、計画の変更を、機能要素cの活性度に基づいて行う。活性度計算部106は、機能要素cの活性度として、例えば機能要素cの実行頻度を計算する。そして、活性度計算部106は、機能要素cの実行頻度に基づいて、計画1から計画2へ変更するか否かの判定を行う。具体的には、活性度計算部106は、機能要素cの実行頻度と、機能要素b及びcの実行時間とを用いて、計画1の平均実行時間と、xの確率で計画2を実行する平均実行時間を計算する。ここで、xの確率は、機能要素cの実行頻度とする。また、機能要素bがYesを出力すると次に機能要素cが実行されるため、xの確率は、機能要素bがYesを出力する確率とも言える。また、xの確率で計画2を実行する平均実行時間は、1-xの確率で計画1を実行し、xの確率で計画2を実行する場合の平均実行時間とする。そして、xの確率で計画2を実行する平均実行時間が、計画1の平均実行時間より短くなる場合に、計画1から計画2へ変更する。

0027

ここで、xの確率として機能要素bがYesを出力する確率を用いる場合の計算手法を説明する。監視記録部105は、実行部103による機能要素bの実行結果として、機能要素bの出力がYesであったか、Noであったかを監視する。また、監視記録部105は、1度の外部要求に対して、機能要素bの出力がYesであったか、Noであったかが判別可能な情報を記録する。活性度計算部106は、この情報を受け取り、各外部要求に対して、機能要素bの出力がYesであったか、Noであったかを判別する。そして、活性度計算部106は、外部要求の回数と機能要素bの出力がYesであった回数とから機能要素bがYesを出力する確率を算出する。なお、外部要求の回数と機能要素bの出力がYesであった回数とを監視記録部105が記録し、活性度計算部106は、この情報を受け取り、機能要素bがYesを出力する確率を算出するようにしてもよい。

0028

続いて、図3を用いて、計画の平均実行時間について説明する。図3の実線は、xと計画1の平均実行時間との関係を示す。また、図3の点線は、xとxの確率で計画2を実行する平均実行時間との関係を示す。ここで、説明のため、機能要素b及びcの実行時間をそれぞれT_b=10s、T_c=20sとする。また、機能要素bは当該ノードが配置されている環境に応じYes/Noを出力することとする。

0029

xが0に近い、つまり機能要素bがNoを出力する確率が高い場合は、計画1の平均実行時間はT_bに近いが、Yesの確率が高くなる(xが1に近づく)と計画1の平均実行時間は増加する。図3に示す例の場合、xが1/2を超えると、xの確率で計画2を実行する平均実行時間が、計画1の平均実行時間より短くなる。計画1の平均実行時間をT1、xの確率で計画2を実行する平均実行時間をT2とすると、T1とT2は以下の式で算出することができる。

0030

T1=(1-x)*T_b+x*(T_b+ T_c)=T_c*x+T_b
T2=(1-x)(T_c*x+T_b)+x*T_c=-T_c*x^2+(-T_b+2T_c)*x+T_b

0031

上記の式において、T1>T2が満たされるのは、
x>1-T_b/T_c
の場合である。つまり、xが1-T_b/T_cという閾値を超えた場合に、xの確率で計画2を実行する平均実行時間が、計画1の平均実行時間より短くなる。よって、本例の場合、活性度計算部106は、xが1-T_b/T_cという閾値を超えた場合に、計画1から計画2へ変更する。これにより、平均実行時間を削減することができる。

0032

続いて、図4のフローチャートを用いて、本発明の実施の形態1にかかるサービス制御装置の処理について説明する。まず、外部要求として、外部からの機能要素の実行要求、又は外部からの複数の機能要素からなるサービスの実行要求が発生する(S101)。外部要求は、サービス制御装置100の外部からの要求であればどのような要求でもよい。
例えば、外部要求は、サービス制御装置100を有するノード内で発生する外部要求であってもよいし、別ノードで発生する外部要求であってもよい。また、外部要求として、サービス制御装置100を有するノードを起動した場合の初期設定による機能要素が要求されてもよい。

0033

次に、制御部102は、外部要求又は機能要素の実行結果を受け取る(S102)。S102では、S101に続いて行われる場合は、外部要求を受け取る。また、S102では、機能要素の実行後に行われる場合は、機能要素の実行結果を受け取る。

0034

次に、制御部102は、制御リスト101を参照し、次の機能要素を実行するか否かを判定する(S103)。S103により、次の機能要素を実行しないと判定された場合は、外部要求により始まる複数の機能要素からなるサービスの実行を終了する(S104)。ここで、次の機能要素を実行しないと判定される例としては、図2における機能要素cの実行結果を受け取った場合や、機能要素bの実行結果がNoであった場合などである。

0035

S103により、次の機能要素を実行すると判定された場合、実行部103は、次の機能要素を実行する(S105)。実行部103による機能要素の実行は、次に実行する機能要素の指示を制御部102から受け取ることにより行われる。また、次に実行する機能要素の指示は、制御部102が制御リスト101を参照して次に実行する機能要素を決定して行う。さらに、実行部103は、機能要素の実行結果を制御部102へ出力する。

0036

次に、監視記録部105は、実行部103による機能要素の実行状況を監視して記録する(S106)。ここで、機能要素の実行状況は、機能要素の実行結果、機能要素の実行時間、特定の機能要素を実行したか否かの情報などである。なお、機能要素の実行結果と、特定の機能要素を実行したか否かの情報は、機能要素の活性度として、例えば機能要素cの実行頻度を計算するために必要な情報であり、少なくともいずれか一方を監視して記録すればよい。

0037

次に、活性度計算部106は、機能要素の実行状況に基づく活性度を計算するか否かを判定する(S107)。活性度は、1つの機能要素を実行する毎に計算してもよいが、一定数の機能要素を実行する毎、又は一定時間毎に計算してもよい。

0038

S107により、活性度を計算すると判定された場合、活性度計算部106は、機能要素の実行状況に基づいて、機能要素の活性度を計算する(S108)。例えば、機能要素の活性度として、機能要素cの実行頻度を計算する。また、S107により、活性度を計算しないと判定された場合、S102に戻り、制御部102は、S105にて実行部103から出力された機能要素の実行結果に基づく処理を行う。

0039

S108の後、活性度計算部106は、機能要素の活性度に基づいて、制御リスト101が保持する機能要素の組合せの計画を変更するか否かを判定する(S109)。例えば、機能要素cの実行頻度と機能要素の実行時間とを用いて、制御リスト101が保持する機能要素の組合せの計画の平均実行時間を計算する。そして、計画を変更することにより平均実行時間が短くなる場合に、計画を変更すると判定する。

0040

S109により、機能要素の組合せの計画を変更すると判定された場合、活性度計算部106は、制御リスト101が保持する機能要素の組合せの計画を変更する(S110)。また、S109により、機能要素の組合せの計画を変更しないと判定された場合、S102に戻り、制御部102は、S105にて実行部103から出力された機能要素の実行結果に基づく処理を行う。

0041

S110の後、S102に戻り、制御部102は、S105にて実行部103から出力された機能要素の実行結果に基づく処理を行う。

0042

続いて、実施の形態1の具体例について説明する。この具体例は、本実施の形態にかかるサービス制御装置を、スマートフォンなどのモバイルデバイスが有するようにし、人物動物などの移動体の検出を行うものである。なお、本実施の形態にかかるサービス制御装置を有するモバイルデバイスは、フューチャフォン(例えば、折り畳み式の携帯電話端末)タブレットPC(Personal Computer)、ノートPCなどであっても良い。また、本実施の形態にかかるサービス制御装置を、モバイルデバイス以外が有するようにすることも可能である。例えば、本実施の形態にかかるサービス制御装置を、IoTデバイスや、基地局、アクセスポイントが有するようにしてもよい。

0043

機能要素aは、モバイルデバイスが備える赤外線センサ振動センサなどの低消費電力センサモジュールにより、簡易に移動体を感知する処理を行う。この処理は、処理時間は短いものの検知精度も悪い。機能要素bは、加速度センサなどのセンシングデータを基に特徴量を抽出し対象物の検出を行う。この処理は、処理時間や検知精度は中程度である。機能要素cは、カメラ画像から対象物の検出を行う。この処理は、電力消費も多く処理時間も長いが、検知精度は高い。

0044

ここで、機能要素bにより、特徴量を抽出し対象物が検出できた場合の出力をYesとし、検出できない場合の出力をNoとする。例えば、外乱が多い環境では、機能要素bの出力はNoとなる。機能要素bの出力がYesの場合は機能要素cを実行し、機能要素bの出力がNoの場合は機能要素cを実行せずに終了する。また、機能要素bがYesを出力する確率が、閾値より高い場合には、機能要素bを実行せずにスキップし、機能要素aの次に機能要素cを実行するように機能要素の組合せの計画を変更する。なお、例えば、機能要素bがYesを出力する確率と比較する閾値は、計画の平均実行時間を用いて算出される。

0045

この具体例では、外乱が多い環境では、不必要に高負荷の機能要素cを動作させることがないため、平均的なリソース消費を抑えることができる。また、外乱が少なく常に機能要素bがYesを出力する場合には、機能要素bを実行しないよう計画を変更するため、機能要素bの処理時間を省くことができる。

0046

以上、説明したように、本発明の実施の形態1にかかるサービス制御装置100では、機能要素の実行状況に基づいて、機能要素の活性度を計算し、活性度に基づいて制御リスト101を更新することにより、サービス制御装置100を有するノードが配置された環境に適した機能要素の組合せを実現することができ、提供するサービスのレスポンス時間の短縮、処理時間やリソース消費の節約を行うことができる。

0047

また、機能要素の活性度と機能要素の実行時間を用いて、機能要素の組合せの計画の平均実行時間を計算し、制御リスト101の更新により平均実行時間が短くなる場合に制御リスト101を更新することにより、計画の平均実行時間が削減できる。

0048

実施の形態2
続いて、図5を用いて本発明の実施の形態2にかかるサービス制御装置200の構成について説明する。サービス制御装置200は、制御リスト201、制御部202、実行部203、機能要素群204、監視記録部205、活性度計算部206、通信部207、入力変換部208を備えている。

0049

制御リスト201は、機能要素の組合せの計画を保持している。また、制御リスト201は、入力変換部208による入力の変換が必要か否かの情報も保持している。また、制御リスト201は、機能要素を自ノードで実行するか否かの情報も保持している。制御リスト201が保持する機能要素の組合せの計画については後に詳述する。

0050

制御部202は、外部要求や実行部203による機能要素の実行結果を受け取る。ここで、外部要求は、サービス制御装置200を有するノード内で発生する外部要求、及び通信部207から受け取る外部要求を含む。また、外部要求は、外部からの機能要素の実行要求でもよいし、外部からの複数の機能要素からなるサービスの実行要求でもよい。また、受け取った外部要求や実行部203による機能要素の実行結果を、制御部202への入力信号と呼ぶ。

0051

また、制御部202は、制御リスト201を参照し、制御部202への入力信号に対して次に実行する機能要素を決定する。また、制御部202は、制御リスト201を参照し、次に実行する機能要素への入力について、入力の変換が必要か否かを判定する。入力の変換については後に詳述する。そして、制御部202は、次に実行する機能要素の指示と、制御部202への入力信号と、入力の変換が必要か否かの指示を、入力変換部208へ供給する。

0052

また、制御部202は、制御リスト201を参照し、次の機能要素が別ノードで実行されるか否かも判定する。また、制御部202は、次の機能要素が別ノードで実行されると判定した場合、当該機能要素の実行を要求する外部要求を生成する。そして、生成した外部要求と、次の機能要素を実行するノードを示す情報とを、通信部207へ供給する。

0053

入力変換部208は、次に実行する機能要素の指示と、制御部202への入力信号と、入力の変換が必要か否かの指示を、制御部202から受け取る。また、入力変換部208は、入力の変換が必要ない場合、制御部202への入力信号の関係を学習する。入力信号の関係を学習については後に詳述する。

0054

また、入力変換部208は、入力の変換が必要な場合、過去の学習から得られた制御部202への入力信号の関係を用いて、受け取った制御部202への入力信号を、次に実行する機能要素への入力信号に変換する。

0055

そして、入力変換部208は、次に実行する機能要素の指示を実行部203へ供給する。また、入力変換部208は、入力の変換を行った場合、次に実行する機能要素の指示とともに、次に実行する機能要素への入力信号を実行部203へ供給する。

0056

実行部203は、次に実行する機能要素の指示を入力変換部208から受け取る。機能要素群204は、複数の機能要素を保持している。実行部203は、次に実行する機能要素の指示に基づいて、機能要素群204から次に実行する機能要素を選択する。また、実行部203は、選択した機能要素を実行する。また、実行部203は、次に実行する機能要素への入力信号を入力変換部208から受け取った場合、当該入力信号を用いて、選択した機能要素を実行する。さらに、実行部203は、機能要素の実行結果を制御部202へ出力する。

0057

通信部207は、別ノードで発生する外部要求を受信する。そして、通信部207は、受信した外部要求を制御部202へ出力する。また、通信部207は、制御部202で生成された外部要求と、次の機能要素を実行するノードを示す情報とを受け取る。そして、通信部207は、制御部202から受け取った外部要求を、次の機能要素を実行するノードへ送信する。

0058

監視記録部205は、実行部203による機能要素の実行状況に加え、通信部207による通信にかかる時間、実行部203による機能要素の実行及び通信部207による通信にかかる消費電力を、監視して記録する。そして、監視記録部205は、記録した機能要素の実行状況と、通信にかかる時間と、機能要素の実行及び通信にかかる消費電力とを、活性度計算部206へ出力する。

0059

活性度計算部206は、機能要素の実行状況と、通信にかかる時間と、機能要素の実行及び通信にかかる消費電力とを、監視記録部205から受け取る。また、活性度計算部206は、機能要素の実行状況に基づいて、機能要素の活性度を計算する。活性度計算部206は、機能要素の活性度として、例えば、特定の機能要素の実行頻度を算出する。実行頻度の算出手法については、実施の形態1と同様である。

0060

また、活性度計算部206は、算出した機能要素の活性度に基づいて、制御リスト201を更新するか否かを決定する。制御リスト201を更新するか否かの決定は、例えば、機能要素の活性度と通信時間を含む機能要素の実行時間を用いて、機能要素の組合せの計画の平均実行時間を計算し、制御リスト201の更新により平均実行時間が短くなるか否かを判定することにより行ってもよい。また、機能要素の活性度と機能要素の実行及び通信にかかる消費電力を用いて、機能要素の組合せの計画の平均消費電力を計算し、制御リスト201の更新により平均消費電力が小さくなるか否かを判定することにより行ってもよい。また、平均実行時間が短くなり、且つ平均消費電力が小さくなる場合に、制御リスト201を更新すると決定してもよい。

0061

さらに、活性度計算部206は、制御リスト201を更新すると決定した場合、制御リスト201の更新を実行する。つまり、制御リスト201が保持する機能要素の組合せの計画を変更する。活性度計算部206の処理については後に詳述する。

0062

続いて、図6を用いて、本発明の実施の形態2にかかる制御リスト201が保持する機能要素の組合せの計画について説明する。制御リスト201は、外部要求や機能要素の実行結果に対し、どの機能要素を実行するかを示す機能要素の組合せの計画を保持する。例えば、制御リスト201は、機能要素a,b,c’を図6の実線の矢印で示すように直列に配置した計画を保持する。この計画を、計画3と呼ぶ。計画3では、機能要素c’が自ノードで実行されるか別ノードで実行されるかについて決められている。それ以外は、計画3は実施の形態1の計画1と同じである。ここで、別ノードは、機能要素a,bが実行されるエッジノードとは別のエッジノードやサーバなどである。

0063

また、活性度計算部206は、制御リスト201を更新することができる。例えば、図6の点線の矢印で示すように機能要素aの出力を、入力変換209を介して機能要素c’へ入力する計画に変更することができる。この変更後の計画を、計画4と呼ぶ。

0064

続いて、図6を用いて、制御リスト201が保持する入力の変換が必要か否かの情報について説明する。機能要素の出力が、入力変換209を介さずに次の機能要素へ入力される場合、入力の変換は必要ない。つまり、計画3における実線の矢印は、入力変換209を介さずに次の機能要素へ入力されるため、入力の変換は必要ない。また、機能要素の出力が、入力変換209を介して次の機能要素へ入力される場合、入力の変換は必要である。つまり、計画4における機能要素aの出力は、入力変換209を介して機能要素c’へ入力されるため、入力の変換が必要である。

0065

続いて、図6の計画3を実行する場合の動作について説明する。制御部202は、外部要求として、外部からの機能要素aの実行要求、又は外部からの機能要素a,b,c’からなるサービスの実行要求を受け取った場合、制御リスト201を参照し、次に実行する機能要素を機能要素aに決定する。そして、制御部202は、次に実行する機能要素aの指示と、入力の変換が必要ないことを示す指示を、入力変換部208へ供給する。また、制御部202は、機能要素aの実行結果を受け取った場合、制御リスト201を参照し、次に実行する機能要素を機能要素bに決定する。そして、制御部202は、次に実行する機能要素bの指示と、機能要素aの実行結果と、入力の変換が必要ないことを示す指示を、入力変換部208へ供給する。また、制御部202は、機能要素bからYesの結果を受け取った場合、制御リスト201を参照し、次に実行する機能要素を機能要素c’に決定する。また、制御部202は、制御リスト201を参照し、機能要素c’が別ノードで実行されるか否かを判定する。そして、制御部202は、機能要素c’が別ノードで実行されると判定した場合、機能要素c’の実行を要求する外部要求を生成する。そして、生成した外部要求と、機能要素c’を実行するノードを示す情報とを、通信部207へ供給する。また、制御部202は、機能要素c’が別ノードではなく、自ノードで実行されると判定した場合、次に実行する機能要素c’の指示と、機能要素bの実行結果と、入力の変換が必要ないことを示す指示を、入力変換部208へ供給する。

0066

続いて、図6の計画4を実行する場合の動作について説明する。制御部202は、外部要求として、外部からの機能要素aの実行要求、又は外部からの機能要素a,b,c’からなるサービスの実行要求を受け取った場合、制御リスト201を参照し、次に実行する機能要素を機能要素aに決定する。そして、制御部202は、次に実行する機能要素aの指示と、入力の変換が必要ないことを示す指示を、入力変換部208へ供給する。また、制御部202は、機能要素aの実行結果を受け取った場合、制御リスト201を参照し、次に実行する機能要素を機能要素c’に決定する。また、制御部202は、制御リスト201を参照し、機能要素c’が別ノードで実行されるか否かを判定する。そして、制御部202は、機能要素c’が別ノードで実行されると判定した場合、機能要素c’の実行を要求する外部要求を生成する。そして、生成した外部要求と、機能要素c’を実行するノードを示す情報とを、通信部207へ供給する。また、制御部202は、機能要素c’が自ノードで実行されると判定した場合、次に実行する機能要素c’の指示と、機能要素aの実行結果と、入力の変換が必要であることを示す指示を、入力変換部208へ供給する。なお、図6の計画3及び4において、制御部202は、通信部207から機能要素c’の外部要求を受け取った場合、制御リスト201を参照し、次に実行する機能要素を機能要素c’に決定する。また、この場合、機能要素c’が自ノードで実行されると判定する。

0067

続いて、図6を用いて、制御部202への入力信号の関係の学習について説明する。この学習は、入力の変換が必要ない場合に行うものである。また、学習した情報は、後に入力変換を行う際に使用される。例えば、機能要素の実行結果の入力から始まる2以上の機能要素の組合せのうち、始めの機能要素の実行結果の入力と最後の機能要素への入力の関係を学習する。具体的には、機能要素aの実行結果が制御部202へ入力され、その後、機能要素bの実行結果が制御部202へ入力される場合、入力変換部208には、機能要素aの実行結果及び入力の変換が必要ないことを示す指示が供給され、その後、機能要素bの実行結果及び入力の変換が必要ないことを示す指示が供給される。入力変換部208は、この供給された情報から機能要素aの実行結果と機能要素bの実行結果との関係を学習する。

0068

続いて、図6を用いて、入力の変換について説明する。この入力変換は、機能要素c’への入力、つまり実線の矢印における機能要素bの出力と、点線の矢印における入力変換209の出力とを、同様の内容とするために行うものである。このために、上述の学習した関係を使用して入力変換を行う。例えば、機能要素の実行結果の入力から始まる2以上の機能要素の組合せのうち、始めの機能要素の実行結果の入力が最後の機能要素に直接入力される場合に、過去に学習した関係を用いて、始めの機能要素の実行結果の入力を対応する最後の機能要素への入力に変換する。具体的には、入力変換部208は、過去に学習した機能要素aの実行結果と機能要素bの実行結果との関係を使用して、機能要素aの実行結果を機能要素bの実行結果へ変換する。そして、変換後の機能要素bの実行結果を機能要素c’の入力信号とする。

0069

ここで、計画3から計画4へ変更するか否かの判定手法について説明する。活性度計算部206は、計画の変更を、機能要素c’の活性度に基づいて行う。活性度計算部206は、機能要素c’の活性度として、例えば機能要素c’の実行頻度を計算する。そして、活性度計算部206は、機能要素c’の実行頻度に基づいて、計画3から計画4へ変更するか否かの判定を行う。具体的には、機能要素c’が自ノードで実行される場合、活性度計算部206は、機能要素c’の実行頻度と、機能要素b及びc’の実行時間とを用いて、計画3の平均実行時間と、xの確率で計画4を実行する平均実行時間を計算する。ここで、xの確率は、機能要素c’の実行頻度とする。また、機能要素bがYesを出力すると次に機能要素c’が実行されるため、xの確率は、機能要素bがYesを出力する確率とも言える。また、xの確率で計画4を実行する平均実行時間は、1-xの確率で計画3を実行し、xの確率で計画4を実行する場合の平均実行時間とする。そして、xの確率で計画4を実行する平均実行時間が、計画3の平均実行時間より短くなる場合に、計画3から計画4へ変更する。
なお、機能要素c’が自ノードで実行される場合における計画の平均実行時間は、実施の形態1と同様に算出することができる。

0070

また、機能要素c’が別ノードで実行される場合、活性度計算部206は、機能要素c’の実行頻度と、機能要素bの実行時間と、通信時間を含めた機能要素c’の実行時間とを用いて、計画3の平均実行時間と、xの確率で計画4を実行する平均実行時間を計算する。
また、機能要素c’が別ノードで実行される場合、活性度計算部206は、機能要素c’の実行頻度と、機能要素bの実行に必要な電力と、機能要素c’の通信にかかる消費電力とを用いて、計画3の平均消費電力と、xの確率で計画4を実行する平均消費電力を計算する。そして、xの確率で計画4を実行する平均実行時間が、計画3の平均実行時間より短くなり、且つ、xの確率で計画4を実行する平均消費電力が、計画3の平均消費電力より小さくなる場合に、計画3から計画4へ変更する。また、平均実行時間の条件と平均消費電力の条件のいずれか一方を満たした場合に、計画3から計画4へ変更するようにしてもよい。

0071

図6の機能要素c’が別ノードで実行される場合における平均実行時間及び平均消費電力について説明する。計画3の平均実行時間をT3、xの確率で計画4を実行する平均実行時間をT4、計画3の平均消費電力をP3、xの確率で計画4を実行する平均消費電力をP4、機能要素bの実行時間をT_b、通信時間を含めた機能要素c’の実行時間をT_c’、機能要素bの実行にかかる消費電力をP_b、機能要素c’の通信にかかる消費電力をP_c’、とすると、T3、T4、P3、P4はそれぞれ以下の式で算出することができる。

0072

T3=(1-x)*T_b+x*(T_b+ T_c’)=T_c’*x+T_b
T4=(1-x)(T_c’*x+T_b)+x*T_c’=-T_c’*x^2+(-T_b+2T_c’)*x+T_b
P3=(1-x)*P_b+x*(P_b+ P_c’)=P_c’*x+P_b
P4=(1-x)(P_c’*x+P_b)+x*P_c’=-P_c’*x^2+(-P_b+2P_c’)*x+P_b

0073

上記の式において、T3>T4が満たされるのは、
x>1-T_b/T_c’
の場合である。つまり、xが1-T_b/T_c’という閾値を超えた場合に、xの確率で計画4を実行する平均実行時間が、計画3の平均実行時間より短くなる。

0074

また、上記の式において、P3>P4が満たされるのは、
x>1-P_b/P_c’
の場合である。つまり、xが1-P_b/P_c’という閾値を超えた場合に、xの確率で計画4を実行する平均消費電力が、計画3の平均消費電力より小さくなる。

0075

よって、本例の場合、活性度計算部206は、xが1-T_b/T_c’という閾値を超えること、及び、xが1-Pb/P_c’という閾値を超えることの両方、又はいずれか一方が満たされた場合に、計画3から計画4へ変更する。これにより、平均実行時間及び平均消費電力の少なくともいずれか一方を削減することができる。

0076

続いて、図7のフローチャートを用いて、本発明の実施の形態2にかかるサービス制御装置の処理について説明する。まず、外部要求として、外部からの機能要素の実行要求、又は外部からの複数の機能要素からなるサービスの実行要求が発生する(S201)。

0077

次に、制御部202は、外部要求又は機能要素の実行結果を受け取る(S202)。S202では、S201に続いて行われる場合は、外部要求を受け取る。また、S202では、機能要素の実行後に行われる場合は、機能要素の実行結果を受け取る。

0078

次に、制御部202は、制御リスト201を参照し、次の機能要素を自ノードで実行するか否かを判定する(S203)。S203により、次の機能要素を自ノードで実行しないと判定された場合、次の機能要素を別ノードで実行するか否かを判定する(S204)。S204により、次の機能要素を別ノードでも実行しないと判定された場合、外部要求により始まる複数の機能要素からなるサービスの実行を終了する(S205)。ここで、次の機能要素を別ノードでも実行しないと判定される例としては、図6における機能要素c’の実行結果を受け取った場合や、機能要素bの実行結果がNoであった場合などである。

0079

S204により、次の機能要素を別ノードで実行すると判定された場合、外部要求を生成し、通信部207により、生成した外部要求を別ノードへ送信する(S206)。ここで、次の機能要素を別ノードで実行すると判定される例としては、図6において、次の機能要素が機能要素c’であり、機能要素c’が別ノードで実行されると決められている場合などである。

0080

S203により、次の機能要素を自ノードで実行すると判定された場合、制御部202は、制御リスト201を参照し、次の機能要素への入力の変換が必要か否かを判定する(S207)。S207により、入力の変換が必要と判定された場合、入力変換部208は、入力の変換を実行する(S208)。また、S207により、入力の変換が必要ないと判定された場合、入力変換部208は、制御部202への入力信号の関係の学習を行う(S209)。

0081

S208又はS209の後、実行部203は、次の機能要素を実行する(S210)。
実行部203による機能要素の実行は、次に実行する機能要素の指示を入力変換部208から受け取ることにより行われる。また、次に実行する機能要素の指示は、制御部202が制御リスト201を参照して次に実行する機能要素を決定して行う。また、入力変換部208により入力の変換が行われた場合、実行部203は、入力変換部208から受け取った、次に実行する機能要素への入力信号を用いて機能要素の実行を行う。さらに、実行部203は、機能要素の実行結果を制御部202へ出力する。

0082

次に、監視記録部205は、実行部203による機能要素の実行状況と、通信部207による通信にかかる時間と、実行部203による機能要素の実行及び通信部207による通信にかかる消費電力とを、監視して記録する(S211)。S211では、S210に続いて行われる場合は、実行部203による機能要素の実行状況と、実行部203による機能要素の実行にかかる消費電力とを、監視して記録する。また、S211では、S206に続いて行われる場合は、通信部207による通信にかかる時間と、通信部207による通信にかかる消費電力とを、監視して記録する。

0083

次に、活性度計算部206は、機能要素の実行状況に基づく活性度を計算するか否かを判定する(S212)。活性度は、1つの機能要素を実行する毎に計算してもよいが、一定数の機能要素を実行する毎、又は一定時間毎に計算してもよい。

0084

S212により、活性度を計算すると判定された場合、活性度計算部206は、機能要素の実行状況に基づいて、機能要素の活性度を計算する(S213)。例えば、機能要素の活性度として、機能要素c’の実行頻度を計算する。また、S212により、活性度を計算しないと判定された場合、S202に戻り、制御部202は、S210にて実行部203から出力された機能要素の実行結果に基づく処理を行う。

0085

S213の後、活性度計算部206は、機能要素の活性度に基づいて、制御リスト201が保持する機能要素の組合せの計画を変更するか否かを判定する(S214)。例えば、機能要素c’が別ノードで実行される場合、機能要素c’の実行頻度と、機能要素bの実行時間と、通信時間を含めた機能要素c’の実行時間とを用いて、制御リスト201が保持する機能要素の組合せの計画の平均実行時間を計算する。そして、計画を変更することにより平均実行時間が短くなる場合に、計画を変更すると判定する。また、機能要素c’が別ノードで実行される場合、機能要素c’の実行頻度と、機能要素bの実行に必要な電力と、機能要素c’の通信にかかる消費電力とを用いて、制御リスト201が保持する機能要素の組合せの計画の平均消費電力を計算し、計画を変更することにより平均消費電力が小さくなる場合に、計画を変更すると判定してもよい。さらに、計画を変更することにより、平均実行時間が短くなり、且つ平均消費電力が小さくなる場合に、計画を変更すると判定してもよい。

0086

S214により、機能要素の組合せの計画を変更すると判定された場合、活性度計算部206は、制御リスト201が保持する機能要素の組合せの計画を変更する(S215)。また、S214により、機能要素の組合せの計画を変更しないと判定された場合、S202に戻り、制御部202は、S210にて実行部203から出力された機能要素の実行結果に基づく処理を行う。

0087

S215の後、S202に戻り、制御部202は、S210にて実行部203から出力された機能要素の実行結果に基づく処理を行う。

0088

なお、上述の例では、通信部207にて生成した外部要求を送信することを例示して示したが、これに限らず、通信部207は、生成した外部要求とともに入力変換部208により変換した入力信号を送信してもよい。

0089

続いて、実施の形態2の具体例について説明する。この具体例は、本実施の形態にかかるサービス制御装置200を、例えば、センサノードなどのIoTデバイスが有するようにして動物の検出を行うものである。機能要素aは、実施の形態1の具体例と同様、赤外線センサや振動センサ等で低負荷、低精度の検出を行う。機能要素bは、加速度センサ等で中程度の負荷、精度で検出を行う。また、機能要素bは、検出対象種別まで判別し出力するものとする。機能要素c’は、入力種別特化した画像を用いた検出である。

0090

ここで、機能要素bにより、検出対象の種別が判別できた場合の出力をYesとし、種別が判別できない場合の出力をNoとする。機能要素bの出力がYesの場合は機能要素c’を実行し、機能要素bの出力がNoの場合は機能要素c’を実行せずに終了する。また、機能要素bがYesを出力する確率が、閾値より高い場合には、機能要素bを実行せずにスキップし、機能要素aの次に機能要素c’を実行するように機能要素の組合せの計画を変更する。なお、機能要素bがYesを出力する確率と比較する閾値は、計画の平均実行時間を用いて算出されるものとする。

0091

IoTデバイスが備える入力変換部は、機能要素aの次に機能要素bを実行する場合、機能要素aの検出結果と、機能要素bにより判別した種別との関係を学習する。また、入力変換部は、機能要素aの次に機能要素c’を実行する場合、過去の学習から得られた関係を用いて、機能要素aの検出結果を、学習に基づく種別へ変換する。そして、変換後の学習に基づく種別を機能要素c’へ入力する。

0092

この具体例では、実環境において、常に、機能要素bにより検出対象の種別が判別できる場合、つまり常に機能要素bがYesを出力する場合に、機能要素bを実行しないよう計画を変更するため、機能要素bの処理時間を省くことができる。また、機能要素bを実行しない場合であっても、機能要素aの検出結果を、学習に基づく種別へ変換して機能要素c’へ入力するため、機能要素bを実行する場合と同様の正しい結果を得ることができる。

0093

また、機能要素bにより、判別した検出対象の種別が特定の種別であった場合の出力をYesとし、それ以外の出力をNoとすることもできる。この場合、入力変換部は、機能要素aの次に機能要素c’を実行する場合、過去の学習から得られた関係を用いて、機能要素aの検出結果を、学習に基づく特定の種別へ変換する。そして、変換後の特定の種別を機能要素c’へ入力する。これは、実環境において、特定の種別のみの出没がある場合に効果的である。

0094

また、機能要素c’は、サーバ等の別ノードで実行されるものとすることができる。この場合、機能要素bがYesを出力する確率と比較する閾値を、計画の平均消費電力を用いて算出してもよい。また、機能要素bは、検出種別を特定した後、種別に特化した画像圧縮まで行い圧縮データを出力してもよい。この場合、IoTデバイスが備える入力変換部が圧縮データに変換し出力してもよい。一般的にノード間の転送データ量は小さい方がよく、検出種別まで特定し種別に特化したデータ圧縮を行うことにより、データ量が削減できる可能性がある。

0095

以上、説明したように、本発明の実施の形態2にかかるサービス制御装置では、機能要素の実行状況に基づいて、機能要素の活性度を計算し、活性度に基づいて制御リスト201を更新することにより、サービス制御装置200を有するノードが配置された環境に適した機能要素の組合せを実現することができ、提供するサービスのレスポンス時間の短縮、処理時間やリソース消費の節約を行うことができる。

0096

また、機能要素の活性度と機能要素の実行時間を用いて、機能要素の組合せの計画の平均実行時間を計算し、制御リスト201の更新により平均実行時間が短くなる場合に制御リスト201を更新することにより、計画の平均実行時間が削減できる。

0097

また、ある機能要素をスキップする計画を実行する際、入力変換を行うことにより、ある機能要素をスキップすると正しい結果が得られないことがあるサービスであっても、機能要素をスキップしない場合と同様の正しい結果を得ることができる。

0098

さらに、通信時間を含めた機能要素の実行時間や通信にかかる消費電力等を用いて計画を変更するか否かを判定することにより、別ノードへ機能要素の実行を指示する計画についても適切に計画の変更を行うことができる。

0099

なお、上述の各実施の形態における、制御リスト101、201、制御部102、202、実行部103、203、機能要素群104、204、監視記録部105、205、活性度計算部106、206、通信部207、入力変換部208は、IC(IntegratedCircuit)などのハードウェア若しくはソフトウェア、又はその両方を併用して構成される。例えば、サービス制御装置100、200は、一般的なコンピュータを用いて構成される。
図8は、一般的なコンピュータ300のハードウェア構成例を示す。

0100

コンピュータ300は、バス304を介して接続された、プロセッサ301、インターフェース302、メインメモリ303を備える。

0101

プロセッサ301は、メインメモリ303に格納されたプログラムを実行する。また、プロセッサ301は、インターフェース302を介して、各種情報入出力する。インターフェース302は、データ入出力手段によりデータのやり取りに使われる。メインメモリ303は、プロセッサ301によって実行されるプログラムを記憶する。記憶されているプログラムには、各機能部の処理を実行するために、プロセッサ301に処理させるための命令群が記載されている。サービス制御装置100、200の各機能部は、各機能部の処理のためのプログラムがプロセッサ301で実行されることにより実現することができる。例えば、制御リスト101、201、機能要素群104、204は、メインメモリ303により実現される。また、制御部102、202、実行部103、203、監視記録部105、205、活性度計算部106、206、通信部207、入力変換部208は、各機能部の処理のためのプログラムがプロセッサ301で実行されることにより実現することができる。

0102

このプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク磁気テープハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、半導体メモリ(例えば、マスクROMPROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。

0103

なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、活性度の高い機能要素を優先的に実行するように計画を変更してもよい。

0104

また、実施の形態では、3つの機能要素からなる組合せの計画について説明したが、2つ以上の機能要素からなる組合せの計画であれば機能要素の数はいくつでもよい。例えば2つの機能要素d,eからなる組合せの計画の例を図9に示す。実線の矢印で示す計画では、外部要求があると機能要素dが実行され、機能要素dからは、Yes/Noの判断が出力され、Yesの場合は次に機能要素eが実行され、Noの場合は機能要素eが実行されずに終了する。
また、点線の矢印で示す計画では、外部要求があると機能要素dが実行されずにスキップされ、機能要素eが直接実行される。また、2つの機能要素d,e’からなる組合せの計画の例を図10に示す。この場合、点線の矢印で示す計画では、入力変換210を介して入力変換が行われる。入力変換は、過去の学習から得られた関係を用いて、外部要求の入力を機能要素dの出力に変換することにより行われる。つまり、外部要求の入力が機能要素e’の入力に変換される。

0105

以上、上述した実施形態を模範的な例として本発明を説明した。しかしながら、本発明は、上述した実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。

0106

この出願は、2015年6月11日に出願された日本出願特願2015−118197を基礎とする優先権を主張し、その開示の全てをここに取り込む。

0107

100、200サービス制御装置
101、201制御リスト
102、202 制御部
103、203 実行部
105、205監視記録部
106、206活性度計算部
207通信部
208入力変換部

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

該当するデータがありません

関連する公募課題

該当するデータがありません

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

該当するデータがありません

この 技術と関連する公募課題

該当するデータがありません

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ