JP6809455B2 - サービス制御装置、サービス制御方法及びプログラム - Google Patents

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

Info

Publication number
JP6809455B2
JP6809455B2 JP2017523118A JP2017523118A JP6809455B2 JP 6809455 B2 JP6809455 B2 JP 6809455B2 JP 2017523118 A JP2017523118 A JP 2017523118A JP 2017523118 A JP2017523118 A JP 2017523118A JP 6809455 B2 JP6809455 B2 JP 6809455B2
Authority
JP
Japan
Prior art keywords
functional element
execution
functional
plan
activity
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017523118A
Other languages
English (en)
Other versions
JPWO2016199432A1 (ja
Inventor
康介 西原
康介 西原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of JPWO2016199432A1 publication Critical patent/JPWO2016199432A1/ja
Application granted granted Critical
Publication of JP6809455B2 publication Critical patent/JP6809455B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/041Function-oriented details
    • G05B19/0415Function-oriented details adapting phase duration according to measured parameters
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23287Executing sequential program concurrently with state machine instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/509Offload

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • General Engineering & Computer Science (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、サービス制御装置、サービス制御方法及びプログラムに関する。
実世界の情報を集め埋もれた価値を見出すことや、環境や個人に応じたサービスを提供するなどの、ビッグデータ活用やIoT(Internet of Things)の取り組みが注目を集めている。実際の環境から広く情報を集めるためには、センシングデバイスを備えたエッジノードの機能が重要になる。このようなエッジノードでは、単一の情報収集機能だけではなく、複数の情報収集機能を持つことや、エッジノード側で高度な情報処理を行う必要がある。
しかし、一般的にエッジノードではリソースに制限があることが多い。エッジノードが備える電池容量や計算能力、データ転送能力は、クラウドに比べ低く、従来クラウド側で行っていた情報処理をそのままエッジノードで行うことは難しい。このため、処理の一部を省略することや、別ノードにオフロードすることにより、リソース制限のあるエッジノードで高度情報処理を行う工夫がなされている。例えば、サービスを複数のサービス機能要素の組合せで実現し、その機能要素の配置や組合せを選択することなどである。特許文献1には、複数のノードに処理機能を配置してサービスを行う手法が開示されている。また、特許文献2には、処理機能の一部を別ノードにオフロードする手法が開示されている。
特開2006−171921号公報 特表2002−517855号公報 特開2010−268346号公報 特開平07−295917号公報
フィールドに展開された複数のエッジノードでは、それぞれに機能要素の最適な組み合わせが異なることが考えられる。しかしながら、特許文献1及び2においては、各ノードの環境に適した機能要素の必要性度合いを考慮していなかった。このため、各ノードの環境によっては、提供するサービスのレスポンス時間が長く、処理時間やリソース消費が大きいという問題点があった。
本発明は、このような問題点を解決するためになされたものであり、提供するサービスのレスポンス時間の短縮、処理時間やリソース消費の節約を行うことができるサービス制御装置、サービス制御方法及び記録媒体を提供することを目的とする。
本発明にかかるサービス制御装置は、外部要求又は機能要素の実行結果を受け取り、機能要素の組合せの計画を保持する制御リストを参照し、次に実行する機能要素を指示する制御手段と、前記制御手段から指示された機能要素を実行する実行手段と、機能要素の実行状況を監視し記録する監視記録手段と、記録された前記機能要素の実行状況に基づいて機能要素の活性度を計算し、前記活性度に基づいて前記制御リストを更新する活性度計算手段とを有するものである。
他方、本発明にかかるサービス制御方法は、外部要求又は機能要素の実行結果に対し、機能要素の組合せの計画を保持する制御リストを参照して、次に実行する機能要素を決定し、決定した前記次に実行する機能要素を実行し、機能要素の実行状況を監視して記録し、記録された前記機能要素の実行状況に基づいて機能要素の活性度を計算し、前記活性度に基づいて前記制御リストを更新するものである。
本発明により、提供するサービスのレスポンス時間の短縮、処理時間やリソース消費の節約を行うことができるサービス制御装置、サービス制御方法及び記録媒体を提供することができる。
本発明の実施の形態1にかかるサービス制御装置の構成を示すブロック図である。 本発明の実施の形態1にかかる制御リストが保持する機能要素の組合せの計画の例を示す図である。 本発明の実施の形態1にかかる計画1及び2の平均実行時間の比較の例を示すグラフである。 本発明の実施の形態1にかかるサービス制御装置の処理を示すフローチャートである。 本発明の実施の形態2にかかるサービス制御装置の構成を示すブロック図である。 本発明の実施の形態2にかかる制御リストが保持する機能要素の組合せの計画の例を示す図である。 本発明の実施の形態2にかかるサービス制御装置の処理を示すフローチャートである。 一般的なコンピュータのハードウェア構成例を示すブロック図である。 本発明の実施の形態にかかる制御リストが保持する機能要素の組合せの計画の例を示す図である。 本発明の実施の形態にかかる制御リストが保持する機能要素の組合せの計画の例を示す図である。
実施の形態1
まず、図1を用いて本発明の実施の形態1にかかるサービス制御装置100の構成について説明する。サービス制御装置100は、例えば、エッジノード内にあるセンシングデバイスを備えた装置である。サービス制御装置100は、制御リスト101、制御部102、実行部103、機能要素群104、監視記録部105、活性度計算部106を備えている。
制御リスト101は、機能要素の組合せの計画を保持している。制御リスト101が保持する機能要素の組合せの計画については後に詳述する。
制御部102は、外部要求や実行部103による機能要素の実行結果を受け取る。ここで、外部要求とは、外部からの機能要素の実行要求、又は外部からの複数の機能要素からなるサービスの実行要求である。また、外部要求は、サービス制御装置100を有するノード内で発生する外部要求、及び別ノードで発生する外部要求を含む。また、受け取った外部要求や実行部103による機能要素の実行結果を、制御部102への入力信号と呼ぶ。また、制御部102は、制御リスト101を参照し、制御部102への入力信号に対して次に実行する機能要素を決定する。制御部102が次に実行する機能要素を決定する手法については後に詳述する。さらに、制御部102は、次に実行する機能要素の指示を実行部103へ供給する。
実行部103は、次に実行する機能要素の指示を制御部102から受け取る。機能要素群104は、複数の機能要素を保持している。実行部103は、次に実行する機能要素の指示に基づいて、機能要素群104から次に実行する機能要素を選択する。また、実行部103は、選択した機能要素を実行する。さらに、実行部103は、機能要素の実行結果を制御部102へ出力する。
監視記録部105は、実行部103による機能要素の実行状況を監視して記録する。例えば、機能要素の実行状況は、機能要素の実行結果、機能要素の実行時間、特定の機能要素を実行したか否かの情報などである。なお、機能要素の実行結果と、特定の機能要素を実行したか否かの情報は、機能要素の活性度として、例えば特定の機能要素の実行頻度を計算するために必要な情報であり、少なくともいずれか一方を監視して記録すればよい。
また、監視記録部105は、記録した機能要素の実行状況を活性度計算部106へ出力する。
特定の機能要素を実行したか否かの情報を監視して記録することについて説明する。監視記録部105は、制御部102が外部要求又は機能要素の実行結果を受け取ることにより始まる複数の機能要素の組合せのうち、特定の機能要素を実行したか否かを監視する。
また、監視記録部105は、特定の機能要素を実行したか否かを外部要求に対応付けて記録する。また、監視記録部105は、特定の機能要素を実行したか否かを、特定の機能要素より前に実行した機能要素に対応づけて記録してもよい。いずれにしても、1度の外部要求に対して、特定の機能要素を実行したのか、実行しなかったのかが判別可能な情報を、特定の機能要素を実行したか否かの情報として記録する。なお、監視記録部105は、制御部102が外部要求を受け取ったこと、又は特定の機能要素より前に実行される機能要素が実行されたことについて、制御部102と実行部103のどちらを監視することにより検知してもよい。
活性度計算部106は、機能要素の実行状況を監視記録部105から受け取る。また、活性度計算部106は、機能要素の実行状況に基づいて、機能要素の活性度を計算する。
活性度計算部106は、機能要素の活性度として、例えば、特定の機能要素の実行頻度を算出する。
ここで、特定の機能要素を実行したか否かの情報に基づいて、特定の機能要素の実行頻度を算出することについて説明する。監視記録部105は、1度の外部要求に対して、特定の機能要素を実行したのか、実行しなかったのかが判別可能な情報を、特定の機能要素を実行したか否かの情報として記録している。活性度計算部106は、この情報を受け取り、各外部要求に対して、特定の機能要素を実行したのか、実行しなかったのかを判別する。そして、活性度計算部106は、外部要求の回数と特定の機能要素を実行した回数とから特定の機能要素の実行頻度を算出する。なお、外部要求の回数と特定の機能要素を実行した回数とを監視記録部105が記録し、活性度計算部106は、この情報を受け取り、特定の機能要素の実行頻度を算出するようにしてもよい。
また、活性度計算部106は、算出した機能要素の活性度に基づいて、制御リスト101を更新するか否かを決定する。制御リスト101を更新するか否かの決定は、例えば、機能要素の活性度が所定の閾値を超えるか否かの判定により行うようにしてもよい。また、例えば、機能要素の活性度と機能要素の実行時間を用いて、機能要素の組合せの計画の平均実行時間を計算し、制御リスト101の更新により平均実行時間が短くなるか否かを判定することにより行ってもよい。
さらに、活性度計算部106は、制御リスト101を更新すると決定した場合、制御リスト101の更新を実行する。つまり、制御リスト101が保持する機能要素の組合せの計画を変更する。活性度計算部106の処理については後に詳述する。
図1の実施の形態1にかかるサービス制御装置100では、機能要素の実行状況に基づいて、機能要素の活性度を計算し、活性度に基づいて制御リスト101を更新することにより、サービス制御装置100を有するノードが配置された環境に適した機能要素の組合せを実現することができ、提供するサービスのレスポンス時間の短縮、処理時間やリソース消費の節約を行うことができる。
続いて、図2を用いて、本発明の実施の形態1にかかる制御リスト101が保持する機能要素の組合せの計画について説明する。制御リスト101は、外部要求や機能要素の実行結果に対し、どの機能要素を実行するかを示す機能要素の組合せの計画を保持する。例えば、制御リスト101は、機能要素a,b,cを図2の実線の矢印で示すように直列に配置した計画を保持する。この計画を、計画1と呼ぶ。計画1では、機能要素aが実行されると次に機能要素bが実行されることが決められている。また、機能要素bからは、Yes/Noの判断が出力され、Yesの場合は次に機能要素cが実行され、Noの場合は機能要素cが実行されずに終了することが決められている。
図2の計画1を実行する場合の動作について説明する。制御部102は、外部要求として、外部からの機能要素aの実行要求、又は外部からの機能要素a,b,cからなるサービスの実行要求を受け取った場合、制御リスト101を参照し、次に実行する機能要素を機能要素aに決定する。また、制御部102は、機能要素aの実行結果を受け取った場合、制御リスト101を参照し、次に実行する機能要素を機能要素bに決定する。また、制御部102は、機能要素bからYesの結果を受け取った場合、制御リスト101を参照し、次に実行する機能要素を機能要素cに決定する。
活性度計算部106は、制御リスト101を更新することができる。例えば、図2の点線の矢印で示すように機能要素bを実行せずにスキップし、機能要素aの次に機能要素cを実行する計画に変更することができる。この変更後の計画を、計画2と呼ぶ。
図2の計画2を実行する場合の動作について説明する。制御部102は、外部要求として、外部からの機能要素aの実行要求、又は外部からの機能要素a,b,cからなるサービスの実行要求を受け取った場合、制御リスト101を参照し、次に実行する機能要素を機能要素aに決定する。また、制御部102は、機能要素aの実行結果を受け取った場合、制御リスト101を参照し、次に実行する機能要素を機能要素cに決定する。
ここで、計画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へ変更する。
ここで、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を出力する確率を算出するようにしてもよい。
続いて、図3を用いて、計画の平均実行時間について説明する。図3の実線は、xと計画1の平均実行時間との関係を示す。また、図3の点線は、xとxの確率で計画2を実行する平均実行時間との関係を示す。ここで、説明のため、機能要素b及びcの実行時間をそれぞれT_b=10s、T_c=20sとする。また、機能要素bは当該ノードが配置されている環境に応じYes/Noを出力することとする。
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は以下の式で算出することができる。
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
上記の式において、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へ変更する。これにより、平均実行時間を削減することができる。
続いて、図4のフローチャートを用いて、本発明の実施の形態1にかかるサービス制御装置の処理について説明する。まず、外部要求として、外部からの機能要素の実行要求、又は外部からの複数の機能要素からなるサービスの実行要求が発生する(S101)。外部要求は、サービス制御装置100の外部からの要求であればどのような要求でもよい。
例えば、外部要求は、サービス制御装置100を有するノード内で発生する外部要求であってもよいし、別ノードで発生する外部要求であってもよい。また、外部要求として、サービス制御装置100を有するノードを起動した場合の初期設定による機能要素が要求されてもよい。
次に、制御部102は、外部要求又は機能要素の実行結果を受け取る(S102)。S102では、S101に続いて行われる場合は、外部要求を受け取る。また、S102では、機能要素の実行後に行われる場合は、機能要素の実行結果を受け取る。
次に、制御部102は、制御リスト101を参照し、次の機能要素を実行するか否かを判定する(S103)。S103により、次の機能要素を実行しないと判定された場合は、外部要求により始まる複数の機能要素からなるサービスの実行を終了する(S104)。ここで、次の機能要素を実行しないと判定される例としては、図2における機能要素cの実行結果を受け取った場合や、機能要素bの実行結果がNoであった場合などである。
S103により、次の機能要素を実行すると判定された場合、実行部103は、次の機能要素を実行する(S105)。実行部103による機能要素の実行は、次に実行する機能要素の指示を制御部102から受け取ることにより行われる。また、次に実行する機能要素の指示は、制御部102が制御リスト101を参照して次に実行する機能要素を決定して行う。さらに、実行部103は、機能要素の実行結果を制御部102へ出力する。
次に、監視記録部105は、実行部103による機能要素の実行状況を監視して記録する(S106)。ここで、機能要素の実行状況は、機能要素の実行結果、機能要素の実行時間、特定の機能要素を実行したか否かの情報などである。なお、機能要素の実行結果と、特定の機能要素を実行したか否かの情報は、機能要素の活性度として、例えば機能要素cの実行頻度を計算するために必要な情報であり、少なくともいずれか一方を監視して記録すればよい。
次に、活性度計算部106は、機能要素の実行状況に基づく活性度を計算するか否かを判定する(S107)。活性度は、1つの機能要素を実行する毎に計算してもよいが、一定数の機能要素を実行する毎、又は一定時間毎に計算してもよい。
S107により、活性度を計算すると判定された場合、活性度計算部106は、機能要素の実行状況に基づいて、機能要素の活性度を計算する(S108)。例えば、機能要素の活性度として、機能要素cの実行頻度を計算する。また、S107により、活性度を計算しないと判定された場合、S102に戻り、制御部102は、S105にて実行部103から出力された機能要素の実行結果に基づく処理を行う。
S108の後、活性度計算部106は、機能要素の活性度に基づいて、制御リスト101が保持する機能要素の組合せの計画を変更するか否かを判定する(S109)。例えば、機能要素cの実行頻度と機能要素の実行時間とを用いて、制御リスト101が保持する機能要素の組合せの計画の平均実行時間を計算する。そして、計画を変更することにより平均実行時間が短くなる場合に、計画を変更すると判定する。
S109により、機能要素の組合せの計画を変更すると判定された場合、活性度計算部106は、制御リスト101が保持する機能要素の組合せの計画を変更する(S110)。また、S109により、機能要素の組合せの計画を変更しないと判定された場合、S102に戻り、制御部102は、S105にて実行部103から出力された機能要素の実行結果に基づく処理を行う。
S110の後、S102に戻り、制御部102は、S105にて実行部103から出力された機能要素の実行結果に基づく処理を行う。
続いて、実施の形態1の具体例について説明する。この具体例は、本実施の形態にかかるサービス制御装置を、スマートフォンなどのモバイルデバイスが有するようにし、人物や動物などの移動体の検出を行うものである。なお、本実施の形態にかかるサービス制御装置を有するモバイルデバイスは、フューチャーフォン(例えば、折り畳み式の携帯電話端末) タブレットPC(Personal Computer)、ノートPCなどであっても良い。また、本実施の形態にかかるサービス制御装置を、モバイルデバイス以外が有するようにすることも可能である。例えば、本実施の形態にかかるサービス制御装置を、IoTデバイスや、基地局、アクセスポイントが有するようにしてもよい。
機能要素aは、モバイルデバイスが備える赤外線センサや振動センサなどの低消費電力のセンサモジュールにより、簡易に移動体を感知する処理を行う。この処理は、処理時間は短いものの検知精度も悪い。機能要素bは、加速度センサなどのセンシングデータを基に特徴量を抽出し対象物の検出を行う。この処理は、処理時間や検知精度は中程度である。機能要素cは、カメラ画像から対象物の検出を行う。この処理は、電力消費も多く処理時間も長いが、検知精度は高い。
ここで、機能要素bにより、特徴量を抽出し対象物が検出できた場合の出力をYesとし、検出できない場合の出力をNoとする。例えば、外乱が多い環境では、機能要素bの出力はNoとなる。機能要素bの出力がYesの場合は機能要素cを実行し、機能要素bの出力がNoの場合は機能要素cを実行せずに終了する。また、機能要素bがYesを出力する確率が、閾値より高い場合には、機能要素bを実行せずにスキップし、機能要素aの次に機能要素cを実行するように機能要素の組合せの計画を変更する。なお、例えば、機能要素bがYesを出力する確率と比較する閾値は、計画の平均実行時間を用いて算出される。
この具体例では、外乱が多い環境では、不必要に高負荷の機能要素cを動作させることがないため、平均的なリソース消費を抑えることができる。また、外乱が少なく常に機能要素bがYesを出力する場合には、機能要素bを実行しないよう計画を変更するため、機能要素bの処理時間を省くことができる。
以上、説明したように、本発明の実施の形態1にかかるサービス制御装置100では、機能要素の実行状況に基づいて、機能要素の活性度を計算し、活性度に基づいて制御リスト101を更新することにより、サービス制御装置100を有するノードが配置された環境に適した機能要素の組合せを実現することができ、提供するサービスのレスポンス時間の短縮、処理時間やリソース消費の節約を行うことができる。
また、機能要素の活性度と機能要素の実行時間を用いて、機能要素の組合せの計画の平均実行時間を計算し、制御リスト101の更新により平均実行時間が短くなる場合に制御リスト101を更新することにより、計画の平均実行時間が削減できる。
実施の形態2
続いて、図5を用いて本発明の実施の形態2にかかるサービス制御装置200の構成について説明する。サービス制御装置200は、制御リスト201、制御部202、実行部203、機能要素群204、監視記録部205、活性度計算部206、通信部207、入力変換部208を備えている。
制御リスト201は、機能要素の組合せの計画を保持している。また、制御リスト201は、入力変換部208による入力の変換が必要か否かの情報も保持している。また、制御リスト201は、機能要素を自ノードで実行するか否かの情報も保持している。制御リスト201が保持する機能要素の組合せの計画については後に詳述する。
制御部202は、外部要求や実行部203による機能要素の実行結果を受け取る。ここで、外部要求は、サービス制御装置200を有するノード内で発生する外部要求、及び通信部207から受け取る外部要求を含む。また、外部要求は、外部からの機能要素の実行要求でもよいし、外部からの複数の機能要素からなるサービスの実行要求でもよい。また、受け取った外部要求や実行部203による機能要素の実行結果を、制御部202への入力信号と呼ぶ。
また、制御部202は、制御リスト201を参照し、制御部202への入力信号に対して次に実行する機能要素を決定する。また、制御部202は、制御リスト201を参照し、次に実行する機能要素への入力について、入力の変換が必要か否かを判定する。入力の変換については後に詳述する。そして、制御部202は、次に実行する機能要素の指示と、制御部202への入力信号と、入力の変換が必要か否かの指示を、入力変換部208へ供給する。
また、制御部202は、制御リスト201を参照し、次の機能要素が別ノードで実行されるか否かも判定する。また、制御部202は、次の機能要素が別ノードで実行されると判定した場合、当該機能要素の実行を要求する外部要求を生成する。そして、生成した外部要求と、次の機能要素を実行するノードを示す情報とを、通信部207へ供給する。
入力変換部208は、次に実行する機能要素の指示と、制御部202への入力信号と、入力の変換が必要か否かの指示を、制御部202から受け取る。また、入力変換部208は、入力の変換が必要ない場合、制御部202への入力信号の関係を学習する。入力信号の関係学習については後に詳述する。

また、入力変換部208は、入力の変換が必要な場合、過去の学習から得られた制御部202への入力信号の関係を用いて、受け取った制御部202への入力信号を、次に実行する機能要素への入力信号に変換する。
そして、入力変換部208は、次に実行する機能要素の指示を実行部203へ供給する。また、入力変換部208は、入力の変換を行った場合、次に実行する機能要素の指示とともに、次に実行する機能要素への入力信号を実行部203へ供給する。
実行部203は、次に実行する機能要素の指示を入力変換部208から受け取る。機能要素群204は、複数の機能要素を保持している。実行部203は、次に実行する機能要素の指示に基づいて、機能要素群204から次に実行する機能要素を選択する。また、実行部203は、選択した機能要素を実行する。また、実行部203は、次に実行する機能要素への入力信号を入力変換部208から受け取った場合、当該入力信号を用いて、選択した機能要素を実行する。さらに、実行部203は、機能要素の実行結果を制御部202へ出力する。
通信部207は、別ノードで発生する外部要求を受信する。そして、通信部207は、受信した外部要求を制御部202へ出力する。また、通信部207は、制御部202で生成された外部要求と、次の機能要素を実行するノードを示す情報とを受け取る。そして、通信部207は、制御部202から受け取った外部要求を、次の機能要素を実行するノードへ送信する。
監視記録部205は、実行部203による機能要素の実行状況に加え、通信部207による通信にかかる時間、実行部203による機能要素の実行及び通信部207による通信にかかる消費電力を、監視して記録する。そして、監視記録部205は、記録した機能要素の実行状況と、通信にかかる時間と、機能要素の実行及び通信にかかる消費電力とを、活性度計算部206へ出力する。
活性度計算部206は、機能要素の実行状況と、通信にかかる時間と、機能要素の実行及び通信にかかる消費電力とを、監視記録部205から受け取る。また、活性度計算部206は、機能要素の実行状況に基づいて、機能要素の活性度を計算する。活性度計算部206は、機能要素の活性度として、例えば、特定の機能要素の実行頻度を算出する。実行頻度の算出手法については、実施の形態1と同様である。
また、活性度計算部206は、算出した機能要素の活性度に基づいて、制御リスト201を更新するか否かを決定する。制御リスト201を更新するか否かの決定は、例えば、機能要素の活性度と通信時間を含む機能要素の実行時間を用いて、機能要素の組合せの計画の平均実行時間を計算し、制御リスト201の更新により平均実行時間が短くなるか否かを判定することにより行ってもよい。また、機能要素の活性度と機能要素の実行及び通信にかかる消費電力を用いて、機能要素の組合せの計画の平均消費電力を計算し、制御リスト201の更新により平均消費電力が小さくなるか否かを判定することにより行ってもよい。また、平均実行時間が短くなり、且つ平均消費電力が小さくなる場合に、制御リスト201を更新すると決定してもよい。
さらに、活性度計算部206は、制御リスト201を更新すると決定した場合、制御リスト201の更新を実行する。つまり、制御リスト201が保持する機能要素の組合せの計画を変更する。活性度計算部206の処理については後に詳述する。
続いて、図6を用いて、本発明の実施の形態2にかかる制御リスト201が保持する機能要素の組合せの計画について説明する。制御リスト201は、外部要求や機能要素の実行結果に対し、どの機能要素を実行するかを示す機能要素の組合せの計画を保持する。例えば、制御リスト201は、機能要素a,b,c’を図6の実線の矢印で示すように直列に配置した計画を保持する。この計画を、計画3と呼ぶ。計画3では、機能要素c’が自ノードで実行されるか別ノードで実行されるかについて決められている。それ以外は、計画3は実施の形態1の計画1と同じである。ここで、別ノードは、機能要素a,bが実行されるエッジノードとは別のエッジノードやサーバなどである。
また、活性度計算部206は、制御リスト201を更新することができる。例えば、図6の点線の矢印で示すように機能要素aの出力を、入力変換209を介して機能要素c’へ入力する計画に変更することができる。この変更後の計画を、計画4と呼ぶ。
続いて、図6を用いて、制御リスト201が保持する入力の変換が必要か否かの情報について説明する。機能要素の出力が、入力変換209を介さずに次の機能要素へ入力される場合、入力の変換は必要ない。つまり、計画3における実線の矢印は、入力変換209を介さずに次の機能要素へ入力されるため、入力の変換は必要ない。また、機能要素の出力が、入力変換209を介して次の機能要素へ入力される場合、入力の変換は必要である。つまり、計画4における機能要素aの出力は、入力変換209を介して機能要素c’へ入力されるため、入力の変換が必要である。
続いて、図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へ供給する。
続いて、図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’が自ノードで実行されると判定する。
続いて、図6を用いて、制御部202への入力信号の関係の学習について説明する。この学習は、入力の変換が必要ない場合に行うものである。また、学習した情報は、後に入力変換を行う際に使用される。例えば、機能要素の実行結果の入力から始まる2以上の機能要素の組合せのうち、始めの機能要素の実行結果の入力と最後の機能要素への入力の関係を学習する。具体的には、機能要素aの実行結果が制御部202へ入力され、その後、機能要素bの実行結果が制御部202へ入力される場合、入力変換部208には、機能要素aの実行結果及び入力の変換が必要ないことを示す指示が供給され、その後、機能要素bの実行結果及び入力の変換が必要ないことを示す指示が供給される。入力変換部208は、この供給された情報から機能要素aの実行結果と機能要素bの実行結果との関係を学習する。
続いて、図6を用いて、入力の変換について説明する。この入力変換は、機能要素c’への入力、つまり実線の矢印における機能要素bの出力と、点線の矢印における入力変換209の出力とを、同様の内容とするために行うものである。このために、上述の学習した関係を使用して入力変換を行う。例えば、機能要素の実行結果の入力から始まる2以上の機能要素の組合せのうち、始めの機能要素の実行結果の入力が最後の機能要素に直接入力される場合に、過去に学習した関係を用いて、始めの機能要素の実行結果の入力を対応する最後の機能要素への入力に変換する。具体的には、入力変換部208は、過去に学習した機能要素aの実行結果と機能要素bの実行結果との関係を使用して、機能要素aの実行結果を機能要素bの実行結果へ変換する。そして、変換後の機能要素bの実行結果を機能要素c’の入力信号とする。
ここで、計画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と同様に算出することができる。
また、機能要素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へ変更するようにしてもよい。
図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はそれぞれ以下の式で算出することができる。
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
上記の式において、T3>T4が満たされるのは、
x>1-T_b/T_c’
の場合である。つまり、xが1-T_b/T_c’という閾値を超えた場合に、xの確率で計画4を実行する平均実行時間が、計画3の平均実行時間より短くなる。
また、上記の式において、P3>P4が満たされるのは、
x>1-P_b/P_c’
の場合である。つまり、xが1-P_b/P_c’という閾値を超えた場合に、xの確率で計画4を実行する平均消費電力が、計画3の平均消費電力より小さくなる。
よって、本例の場合、活性度計算部206は、xが1-T_b/T_c’という閾値を超えること、及び、xが1-Pb/P_c’という閾値を超えることの両方、又はいずれか一方が満たされた場合に、計画3から計画4へ変更する。これにより、平均実行時間及び平均消費電力の少なくともいずれか一方を削減することができる。
続いて、図7のフローチャートを用いて、本発明の実施の形態2にかかるサービス制御装置の処理について説明する。まず、外部要求として、外部からの機能要素の実行要求、又は外部からの複数の機能要素からなるサービスの実行要求が発生する(S201)。
次に、制御部202は、外部要求又は機能要素の実行結果を受け取る(S202)。S202では、S201に続いて行われる場合は、外部要求を受け取る。また、S202では、機能要素の実行後に行われる場合は、機能要素の実行結果を受け取る。
次に、制御部202は、制御リスト201を参照し、次の機能要素を自ノードで実行するか否かを判定する(S203)。S203により、次の機能要素を自ノードで実行しないと判定された場合、次の機能要素を別ノードで実行するか否かを判定する(S204)。S204により、次の機能要素を別ノードでも実行しないと判定された場合、外部要求により始まる複数の機能要素からなるサービスの実行を終了する(S205)。ここで、次の機能要素を別ノードでも実行しないと判定される例としては、図6における機能要素c’の実行結果を受け取った場合や、機能要素bの実行結果がNoであった場合などである。
S204により、次の機能要素を別ノードで実行すると判定された場合、外部要求を生成し、通信部207により、生成した外部要求を別ノードへ送信する(S206)。ここで、次の機能要素を別ノードで実行すると判定される例としては、図6において、次の機能要素が機能要素c’であり、機能要素c’が別ノードで実行されると決められている場合などである。
S203により、次の機能要素を自ノードで実行すると判定された場合、制御部202は、制御リスト201を参照し、次の機能要素への入力の変換が必要か否かを判定する(S207)。S207により、入力の変換が必要と判定された場合、入力変換部208は、入力の変換を実行する(S208)。また、S207により、入力の変換が必要ないと判定された場合、入力変換部208は、制御部202への入力信号の関係の学習を行う(S209)。
S208又はS209の後、実行部203は、次の機能要素を実行する(S210)。
実行部203による機能要素の実行は、次に実行する機能要素の指示を入力変換部208から受け取ることにより行われる。また、次に実行する機能要素の指示は、制御部202が制御リスト201を参照して次に実行する機能要素を決定して行う。また、入力変換部208により入力の変換が行われた場合、実行部203は、入力変換部208から受け取った、次に実行する機能要素への入力信号を用いて機能要素の実行を行う。さらに、実行部203は、機能要素の実行結果を制御部202へ出力する。
次に、監視記録部205は、実行部203による機能要素の実行状況と、通信部207による通信にかかる時間と、実行部203による機能要素の実行及び通信部207による通信にかかる消費電力とを、監視して記録する(S211)。S211では、S210に続いて行われる場合は、実行部203による機能要素の実行状況と、実行部203による機能要素の実行にかかる消費電力とを、監視して記録する。また、S211では、S206に続いて行われる場合は、通信部207による通信にかかる時間と、通信部207による通信にかかる消費電力とを、監視して記録する。
次に、活性度計算部206は、機能要素の実行状況に基づく活性度を計算するか否かを判定する(S212)。活性度は、1つの機能要素を実行する毎に計算してもよいが、一定数の機能要素を実行する毎、又は一定時間毎に計算してもよい。
S212により、活性度を計算すると判定された場合、活性度計算部206は、機能要素の実行状況に基づいて、機能要素の活性度を計算する(S213)。例えば、機能要素の活性度として、機能要素c’の実行頻度を計算する。また、S212により、活性度を計算しないと判定された場合、S202に戻り、制御部202は、S210にて実行部203から出力された機能要素の実行結果に基づく処理を行う。
S213の後、活性度計算部206は、機能要素の活性度に基づいて、制御リスト201が保持する機能要素の組合せの計画を変更するか否かを判定する(S214)。例えば、機能要素c’が別ノードで実行される場合、機能要素c’の実行頻度と、機能要素bの実行時間と、通信時間を含めた機能要素c’の実行時間とを用いて、制御リスト201が保持する機能要素の組合せの計画の平均実行時間を計算する。そして、計画を変更することにより平均実行時間が短くなる場合に、計画を変更すると判定する。また、機能要素c’が別ノードで実行される場合、機能要素c’の実行頻度と、機能要素bの実行に必要な電力と、機能要素c’の通信にかかる消費電力とを用いて、制御リスト201が保持する機能要素の組合せの計画の平均消費電力を計算し、計画を変更することにより平均消費電力が小さくなる場合に、計画を変更すると判定してもよい。さらに、計画を変更することにより、平均実行時間が短くなり、且つ平均消費電力が小さくなる場合に、計画を変更すると判定してもよい。
S214により、機能要素の組合せの計画を変更すると判定された場合、活性度計算部206は、制御リスト201が保持する機能要素の組合せの計画を変更する(S215)。また、S214により、機能要素の組合せの計画を変更しないと判定された場合、S202に戻り、制御部202は、S210にて実行部203から出力された機能要素の実行結果に基づく処理を行う。
S215の後、S202に戻り、制御部202は、S210にて実行部203から出力された機能要素の実行結果に基づく処理を行う。
なお、上述の例では、通信部207にて生成した外部要求を送信することを例示して示したが、これに限らず、通信部207は、生成した外部要求とともに入力変換部208により変換した入力信号を送信してもよい。
続いて、実施の形態2の具体例について説明する。この具体例は、本実施の形態にかかるサービス制御装置200を、例えば、センサノードなどのIoTデバイスが有するようにして動物の検出を行うものである。機能要素aは、実施の形態1の具体例と同様、赤外線センサや振動センサ等で低負荷、低精度の検出を行う。機能要素bは、加速度センサ等で中程度の負荷、精度で検出を行う。また、機能要素bは、検出対象の種別まで判別し出力するものとする。機能要素c’は、入力種別に特化した画像を用いた検出である。
ここで、機能要素bにより、検出対象の種別が判別できた場合の出力をYesとし、種別が判別できない場合の出力をNoとする。機能要素bの出力がYesの場合は機能要素c’を実行し、機能要素bの出力がNoの場合は機能要素c’を実行せずに終了する。また、機能要素bがYesを出力する確率が、閾値より高い場合には、機能要素bを実行せずにスキップし、機能要素aの次に機能要素c’を実行するように機能要素の組合せの計画を変更する。なお、機能要素bがYesを出力する確率と比較する閾値は、計画の平均実行時間を用いて算出されるものとする。
IoTデバイスが備える入力変換部は、機能要素aの次に機能要素bを実行する場合、機能要素aの検出結果と、機能要素bにより判別した種別との関係を学習する。また、入力変換部は、機能要素aの次に機能要素c’を実行する場合、過去の学習から得られた関係を用いて、機能要素aの検出結果を、学習に基づく種別へ変換する。そして、変換後の学習に基づく種別を機能要素c’へ入力する。
この具体例では、実環境において、常に、機能要素bにより検出対象の種別が判別できる場合、つまり常に機能要素bがYesを出力する場合に、機能要素bを実行しないよう計画を変更するため、機能要素bの処理時間を省くことができる。また、機能要素bを実行しない場合であっても、機能要素aの検出結果を、学習に基づく種別へ変換して機能要素c’へ入力するため、機能要素bを実行する場合と同様の正しい結果を得ることができる。
また、機能要素bにより、判別した検出対象の種別が特定の種別であった場合の出力をYesとし、それ以外の出力をNoとすることもできる。この場合、入力変換部は、機能要素aの次に機能要素c’を実行する場合、過去の学習から得られた関係を用いて、機能要素aの検出結果を、学習に基づく特定の種別へ変換する。そして、変換後の特定の種別を機能要素c’へ入力する。これは、実環境において、特定の種別のみの出没がある場合に効果的である。
また、機能要素c’は、サーバ等の別ノードで実行されるものとすることができる。この場合、機能要素bがYesを出力する確率と比較する閾値を、計画の平均消費電力を用いて算出してもよい。また、機能要素bは、検出種別を特定した後、種別に特化した画像圧縮まで行い圧縮データを出力してもよい。この場合、IoTデバイスが備える入力変換部が圧縮データに変換し出力してもよい。一般的にノード間の転送データ量は小さい方がよく、検出種別まで特定し種別に特化したデータ圧縮を行うことにより、データ量が削減できる可能性がある。
以上、説明したように、本発明の実施の形態2にかかるサービス制御装置では、機能要素の実行状況に基づいて、機能要素の活性度を計算し、活性度に基づいて制御リスト201を更新することにより、サービス制御装置200を有するノードが配置された環境に適した機能要素の組合せを実現することができ、提供するサービスのレスポンス時間の短縮、処理時間やリソース消費の節約を行うことができる。
また、機能要素の活性度と機能要素の実行時間を用いて、機能要素の組合せの計画の平均実行時間を計算し、制御リスト201の更新により平均実行時間が短くなる場合に制御リスト201を更新することにより、計画の平均実行時間が削減できる。
また、ある機能要素をスキップする計画を実行する際、入力変換を行うことにより、ある機能要素をスキップすると正しい結果が得られないことがあるサービスであっても、機能要素をスキップしない場合と同様の正しい結果を得ることができる。
さらに、通信時間を含めた機能要素の実行時間や通信にかかる消費電力等を用いて計画を変更するか否かを判定することにより、別ノードへ機能要素の実行を指示する計画についても適切に計画の変更を行うことができる。
なお、上述の各実施の形態における、制御リスト101、201、制御部102、202、実行部103、203、機能要素群104、204、監視記録部105、205、活性度計算部106、206、通信部207、入力変換部208は、IC(Integrated Circuit)などのハードウェア若しくはソフトウェア、又はその両方を併用して構成される。例えば、サービス制御装置100、200は、一般的なコンピュータを用いて構成される。
図8は、一般的なコンピュータ300のハードウェア構成例を示す。
コンピュータ300は、バス304を介して接続された、プロセッサ301、インターフェース302、メインメモリ303を備える。
プロセッサ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で実行されることにより実現することができる。
このプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、活性度の高い機能要素を優先的に実行するように計画を変更してもよい。
また、実施の形態では、3つの機能要素からなる組合せの計画について説明したが、2つ以上の機能要素からなる組合せの計画であれば機能要素の数はいくつでもよい。例えば2つの機能要素d,eからなる組合せの計画の例を図9に示す。実線の矢印で示す計画では、外部要求があると機能要素dが実行され、機能要素dからは、Yes/Noの判断が出力され、Yesの場合は次に機能要素eが実行され、Noの場合は機能要素eが実行されずに終了する。
また、点線の矢印で示す計画では、外部要求があると機能要素dが実行されずにスキップされ、機能要素eが直接実行される。また、2つの機能要素d,e’からなる組合せの計画の例を図10に示す。この場合、点線の矢印で示す計画では、入力変換210を介して入力変換が行われる。入力変換は、過去の学習から得られた関係を用いて、外部要求の入力を機能要素dの出力に変換することにより行われる。つまり、外部要求の入力が機能要素e’の入力に変換される。
以上、上述した実施形態を模範的な例として本発明を説明した。しかしながら、本発明は、上述した実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
この出願は、2015年6月11日に出願された日本出願特願2015−118197を基礎とする優先権を主張し、その開示の全てをここに取り込む。
100、200 サービス制御装置
101、201 制御リスト
102、202 制御部
103、203 実行部
105、205 監視記録部
106、206 活性度計算部
207 通信部
208 入力変換部

Claims (10)

  1. 外部要求又は機能要素の実行結果を受け取り、機能要素の組合せの計画を保持する制御リストを参照し、次に実行する機能要素を指示する制御手段と、
    前記制御手段から指示された機能要素を実行する実行手段と、
    機能要素の実行状況を監視し記録する監視記録手段と、
    記録された前記機能要素の実行状況に基づいて機能要素の活性度を計算し、前記活性度に基づいて前記制御リストを更新する活性度計算手段と
    を有するサービス制御装置。
  2. 前記活性度計算手段は、前記記録された前記機能要素の実行状況を用いて、特定の機能要素の実行頻度を前記活性度として計算し、前記活性度と機能要素の実行時間とを用いて、前記機能要素の組合せの計画の平均実行時間を計算し、前記制御リストの更新により前記平均実行時間が短くなる場合に前記制御リストを更新する、請求項1に記載のサービス制御装置。
  3. 次に実行する機能要素の指示を別ノードへ送信する通信手段をさらに有し、
    前記活性度計算手段は、前記活性度と前記通信手段による通信時間を含めた前記機能要素の実行時間とを用いて、前記機能要素の組合せの計画の平均実行時間を計算する、請求項2に記載のサービス制御装置。
  4. 次に実行する機能要素の指示を別ノードへ送信する通信手段をさらに有し、
    前記活性度計算手段は、前記活性度と前記通信手段による通信にかかる消費電力と機能要素の実行にかかる消費電力とを用いて、前記機能要素の組合せの計画の平均消費電力を計算し、前記制御リストの更新により、前記平均消費電力が小さくなる場合に、前記制御リストを更新する、請求項に記載のサービス制御装置。
  5. 入力変換手段をさらに有し、
    前記入力変換手段は、前記外部要求又は前記機能要素の実行結果の入力から始まる2以上の機能要素の組合せのうち、始めの入力と前記2以上の機能要素の組合せの最後の機能要素への入力の関係を学習し、前記始めの入力が前記最後の機能要素に直接入力される場合に、前記関係を用いて前記始めの入力を対応する前記最後の機能要素への入力に変換する、請求項1乃至4のいずれかに記載のサービス制御装置。
  6. コンピュータが、
    外部要求又は機能要素の実行結果に対し、機能要素の組合せの計画を保持する制御リストを参照して、次に実行する機能要素を決定し、
    決定した前記次に実行する機能要素を実行し、
    機能要素の実行状況を監視して記録し、
    記録された前記機能要素の実行状況に基づいて機能要素の活性度を計算し、
    前記活性度に基づいて前記制御リストを更新する
    サービス制御方法。
  7. 前記コンピュータが、
    前記記録された前記機能要素の実行状況を用いて、特定の機能要素の実行頻度を前記活性度として計算し、
    前記活性度と機能要素の実行時間とを用いて、前記機能要素の組合せの計画の平均実行時間を計算し、
    前記制御リストの更新により前記平均実行時間が短くなる場合に前記制御リストを更新する、請求項6に記載のサービス制御方法。
  8. 前記コンピュータが、
    次に実行する機能要素の指示を別ノードへ送信し、
    前記活性度と前記送信による通信時間を含めた前記機能要素の実行時間とを用いて、前記機能要素の組合せの計画の平均実行時間を計算する、請求項7に記載のサービス制御方法。
  9. 前記コンピュータが、
    前記外部要求又は前記機能要素の実行結果の入力から始まる2以上の機能要素の組合せのうち、始めの入力と前記2以上の機能要素の組合せの最後の機能要素への入力の関係を学習し、
    前記始めの入力が前記最後の機能要素に直接入力される場合に、前記関係を用いて前記始めの入力を対応する前記最後の機能要素への入力に変換する、請求項6乃至8のいずれかに記載のサービス制御方法。
  10. 外部要求又は機能要素の実行結果に対し、機能要素の組合せの計画を保持する制御リス
    トを参照して、次に実行する機能要素を決定し、
    決定した前記次に実行する機能要素を実行し、
    機能要素の実行状況を監視して記録し、
    記録された前記機能要素の実行状況に基づいて機能要素の活性度を計算し、
    前記活性度に基づいて前記制御リストを更新する
    ことをコンピュータに実行させるプログラム。
JP2017523118A 2015-06-11 2016-06-10 サービス制御装置、サービス制御方法及びプログラム Active JP6809455B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2015118197 2015-06-11
JP2015118197 2015-06-11
PCT/JP2016/002815 WO2016199432A1 (ja) 2015-06-11 2016-06-10 サービス制御装置、サービス制御方法及び記録媒体

Publications (2)

Publication Number Publication Date
JPWO2016199432A1 JPWO2016199432A1 (ja) 2018-04-05
JP6809455B2 true JP6809455B2 (ja) 2021-01-06

Family

ID=57503331

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017523118A Active JP6809455B2 (ja) 2015-06-11 2016-06-10 サービス制御装置、サービス制御方法及びプログラム

Country Status (3)

Country Link
US (1) US20180164765A1 (ja)
JP (1) JP6809455B2 (ja)
WO (1) WO2016199432A1 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ITMI20071016A1 (it) * 2007-05-19 2008-11-20 Videotec Spa Metodo e sistema per sorvegliare un ambiente
JP5644758B2 (ja) * 2009-02-24 2014-12-24 日本電気株式会社 演算資源割当装置、演算資源割当システム、それらの演算資源割当方法及びプログラム
JP2012159913A (ja) * 2011-01-31 2012-08-23 Seiko Epson Corp 信号処理を行うための方法及びコンピューターシステム

Also Published As

Publication number Publication date
JPWO2016199432A1 (ja) 2018-04-05
WO2016199432A1 (ja) 2016-12-15
US20180164765A1 (en) 2018-06-14

Similar Documents

Publication Publication Date Title
KR102470712B1 (ko) 피처 엔지니어링 오케스트레이션 방법 및 장치
Gupta et al. Cluster head selection using modified ACO
Al-Turjman Impact of user's habits on smartphones' sensors: An overview
CN109313841B (zh) 用于在传感器网络中实现自适应聚类的方法和***
EP2842297A1 (en) Method, apparatus, and computer program product for scheduling file uploads
US10958716B2 (en) Distributed process management system, distributed process management method for suppressing number of messages between computers, and information processing apparatus
JP2014164568A (ja) 端末装置、分散処理方法、分散処理プログラムおよび分散処理システム
Patil et al. A two-queue model for optimising the value of information in energy-harvesting sensor networks
JP2018174448A (ja) 通信装置、データ取得システム、データ取得制御方法
JP6809455B2 (ja) サービス制御装置、サービス制御方法及びプログラム
US9716928B2 (en) Communications apparatus, system, and communications method
CN111278085A (zh) 用于获取目标网络的方法及装置
Ho et al. Mobile intercloud system and objects transfer mechanism
JPWO2010110216A1 (ja) 移動体端末、サーバ、移動体端末の接続制御方法及び接続制御プログラム
CN110955320B (zh) 一种机架功耗管理设备、***和方法
US20150137995A1 (en) Communication apparatus, system, and communication method
JP4603393B2 (ja) 位置情報管理装置、位置情報管理方法、位置情報管理プログラム、及びコンピュータに読み取り可能な記録媒体
CN109995855A (zh) 一种数据获取方法、装置及终端
US10917772B2 (en) Information processing apparatus and non-transitory computer readable medium
CN111602409B (zh) 元数据生成装置、元数据生成方法和存储介质
CN108282760B (zh) 一种基于用户移动特征规律的d2d设备发现方法及装置
CN111602410B (zh) 适合性判定装置、适合性判定方法和存储介质
TW201927036A (zh) 用於無線感測網路之任務排程的方法
JP6648152B2 (ja) 情報共有支援サーバ、情報共有支援システム及び情報共有支援方法
JP6766434B2 (ja) デバイス選択方法、デバイス選択プログラム及びデバイス選択装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171120

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190515

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200623

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200730

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201123

R150 Certificate of patent or registration of utility model

Ref document number: 6809455

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150