JP6673096B2 - デバイス選択方法、デバイス選択プログラム及びデバイス選択装置 - Google Patents

デバイス選択方法、デバイス選択プログラム及びデバイス選択装置 Download PDF

Info

Publication number
JP6673096B2
JP6673096B2 JP2016159731A JP2016159731A JP6673096B2 JP 6673096 B2 JP6673096 B2 JP 6673096B2 JP 2016159731 A JP2016159731 A JP 2016159731A JP 2016159731 A JP2016159731 A JP 2016159731A JP 6673096 B2 JP6673096 B2 JP 6673096B2
Authority
JP
Japan
Prior art keywords
service
duration
battery
iot
user device
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
JP2016159731A
Other languages
English (en)
Other versions
JP2018029248A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2016159731A priority Critical patent/JP6673096B2/ja
Priority to US15/650,578 priority patent/US10327167B2/en
Publication of JP2018029248A publication Critical patent/JP2018029248A/ja
Application granted granted Critical
Publication of JP6673096B2 publication Critical patent/JP6673096B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/08Testing, supervising or monitoring using real traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0261Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level
    • H04W52/0274Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level by switching on or off the equipment or parts thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/10Scheduling measurement reports ; Arrangements for measurement reports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0225Power saving arrangements in terminal devices using monitoring of external events, e.g. the presence of a signal
    • H04W52/0235Power saving arrangements in terminal devices using monitoring of external events, e.g. the presence of a signal where the received signal is a power saving command
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0261Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/18Service support devices; Network management devices
    • H04W88/182Network node acting on behalf of an other network entity, e.g. proxy
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Telephonic Communication Services (AREA)

Description

本発明は、デバイス選択方法、デバイス選択プログラム及びデバイス選択装置に関する。
スマートフォン、タブレット端末、ウェアラブルコンピュータ等のデバイスの多様化に伴って様々なIoT(Internet of Things)サービスが実現されている。このようなIoT(Internet of Things)サービスには、一例として、デバイスに搭載されたカメラやマイクなどによりセンシングされたメディアデータが活用される。例えば、メディアデータを通じて現場にいる作業員の会話や活動を記録したり、メディアデータから識別された現場の作業員の位置や状態を管理したりといったIoTサービスがある。
特開2015−156662号公報 特開2003−274049号公報 特表2011−517389号公報
しかしながら、上記のデバイスは、バッテリにより駆動するので、デバイスが動作できる時間には限りがある。それ故、デバイスのバッテリ切れによりIoTサービスが中断されてしまう場合がある。
1つの側面では、本発明は、IoTサービスが中断されるのを抑制できるデバイス選択方法、デバイス選択プログラム及びデバイス選択装置を提供することを目的とする。
一態様では、第1のデバイスからサービスの開始要求を受け付ける処理と、前記第1のデバイスの位置情報を取得する処理と、エリアごとに前記サービスの提供が継続された継続時間の履歴が記憶されている記憶部を参照して、前記位置情報が属するエリアに対応する継続時間の履歴から前記サービスの継続時間を推定する処理と、前記開始要求の受付時における第1のデバイスのバッテリ残量と前記第1のデバイスのバッテリ消費率とから、前記第1のデバイスのバッテリ持続時間を推定する処理と、前記サービスの継続時間と前記バッテリ持続時間に基づいて、前記第1のデバイスまたは前記位置情報が属するエリアに設置された第2のデバイスを選択する処理と、前記第1のデバイスまたは前記第2のデバイスのうち選択されたデバイスに前記サービスに用いるメディアデータのセンシングを実行させる処理と、をコンピュータが実行する。
IoTサービスが中断されるのを抑制できる。
図1は、実施例1に係るIoTシステムの構成例を示す図である。 図2は、実施例1に係るサーバ装置の機能的構成を示すブロック図である。 図3は、サービス利用履歴データの一例を示す図である。 図4は、バッテリデータの一例を示す図である。 図5は、デバイスデータの一例を示す図である。 図6は、デバイス使用履歴データの一例を示す図である。 図7は、データ遷移の一例を示す図である。 図8は、データ遷移の一例を示す図である。 図9は、データ遷移の一例を示す図である。 図10は、データ遷移の一例を示す図である。 図11は、データ遷移の一例を示す図である。 図12は、データ遷移の一例を示す図である。 図13は、実施例1に係るデバイス選択処理の手順を示すフローチャートである。 図14は、実施例1に係る履歴更新処理の手順を示すフローチャートである。 図15は、実施例1及び実施例2に係るデバイス選択プログラムを実行するコンピュータのハードウェア構成例を示す図である。
以下に添付図面を参照して本願に係るデバイス選択方法、デバイス選択プログラム及びデバイス選択装置について説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
[IoTシステム]
図1は、実施例1に係るIoTシステムの構成例を示す図である。図1に示すIoTシステム1は、ユーザデバイス30又は代行デバイス50A〜50Cの中から、IoTサービスに用いるメディアデータのセンシングを実施させるIoTデバイスを選択するデバイス選択サービスを提供するものである。
図1に示すように、IoTシステム1には、サーバ装置10と、ユーザデバイス30と、代行デバイス50A〜50Cとが含まれる。図1には、1つのユーザデバイス30と、3つの代行デバイス50A〜50Cとを例示したが、任意の数のユーザデバイス及び代行デバイスがサーバ装置10に収容されることとしてもかまわない。以下では、代行デバイス50A〜50Cを総称する場合に「代行デバイス50」と記載する場合がある。
サーバ装置10と、ユーザデバイス30及び代行デバイス50との間は、ネットワークNWを介して接続される。このネットワークNWは、有線または無線を問わず、任意の通信網により構築することができる。さらに、ネットワークNWの一部には、有線または無線の通信網が混在してもよい。例えば、ネットワークNWには、ユーザデバイス30を収容するセルに対応する最寄りの基地局やアクセスポイント等の中継装置が含まれてもかまわない。
サーバ装置10は、ユーザデバイス30に上記のデバイス選択サービスを提供するコンピュータである。
一実施形態として、サーバ装置10は、パッケージソフトウェア又はオンラインソフトウェアとして、上記のデバイス選択サービスを実現するデバイス選択プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、サーバ装置10は、上記のデバイス選択サービスを提供するWebサーバとして実装することとしてもよいし、アウトソーシングによって上記のデバイス選択サービスを提供するクラウドとして実装することとしてもかまわない。
ユーザデバイス30は、ユーザにより携帯されるIoTデバイスである。
一実施形態として、ユーザデバイス30には、スマートフォン、携帯電話機やPHS(Personal Handyphone System)などの移動体通信端末のみならず、タブレット端末やスレート端末などを採用することができる。このようにハンドヘルド型の携帯端末装置に限定されず、ユーザデバイス30には、ヘッドマウントディスプレイ、スマートグラスやスマートウォッチなどのウェアラブルデバイスの他、あらゆるIoTデバイスを採用することができる。
ユーザデバイス30は、ユーザデバイス30に搭載されるセンサを用いて、音声や映像などのメディアデータをセンシングすることができる。例えば、音声のセンシングには、ユーザデバイス30に搭載されたマイクロフォンを用いることができる。このマイクロフォンは、特定の方向への指向性を有するものであってもよいし、無指向性のものであってもかまわない。また、映像のセンシングには、ユーザデバイス30に搭載されたカメラを用いることができる。このカメラによって撮像される映像は、静止画であってもよいし、動画であってもよい。
代行デバイス50は、ユーザデバイス30によるメディアデータのセンシングを代行するIoTデバイスである。
一実施形態として、代行デバイス50には、据置き型または設置型のデバイスを採用することができる。例えば、入退室管理、監視や認証などの実現する観点から、区画や施設などの環境にマイク付きのカメラが設けられる場合がある。このようなマイク付きのカメラは、ユーザデバイス30で実施されるメディアデータのセンシングをサーバ装置10からの指示にしたがって代行することができる。この他、マイクロフォンがマイク端子を介して接続された据置き型またはノート型のコンピュータ、例えばパーソナルコンピュータを代行デバイス50として実装することもできる。さらに、ゲートウェイ装置などの中継装置においてもUSB(Universal Serial Bus)端子を介して各種のデバイスを接続できるものが多いので、これを代行デバイス50として実装することもできる。この他、案内、広告、クーポンの発行等を目的に施設内にディスプレイ装置が配設されることがある。このディスプレイ装置に対する操作に視線認識、音声認識やジェスチャ認識などの技術が用いられる場合もある。この場合、ディスプレイ装置にはカメラやマイクが付設または内蔵されるので、このようなディスプレイ装置も代行デバイス50として実装することができる。このように、代行デバイス50には、商用電源等の外部電源に接続されたデバイスを採用できる。なお、ここでは、説明の便宜上、あくまで一例として、代行デバイス50が据置き型または設置型のデバイスである場合を例示するが、後述の通り、他のユーザにより携帯されるユーザデバイスを代行デバイス50とすることも付言しておく。
ここで、本実施例に係るサーバ装置10は、上記のデバイス選択サービスの一環として、ユーザデバイス30のバッテリ持続時間がサービス継続時間よりも長いか否かによってIoTサービスに用いるメディアデータをユーザデバイス30または代行デバイス50のいずれにセンシングさせるのかを選択する。
すなわち、上記のユーザデバイス30は、必ずしも外部電源に接続された状態で稼働できるとは限らず、バッテリから供給される電力により稼働する。このような状況の下、マイクやカメラが連続して駆動されると、バッテリの消費が激しくなる。この結果、IoTサービスが終了する前にユーザデバイス30のバッテリ残量がなくなってしまう事態も起こりうる。
このようなバッテリ切れによりIoTサービスの中断を抑制することを一側面として、サーバ装置10は、メディアデータのセンシングをユーザデバイス30の周囲に存在する代行デバイス50に代行させる。例えば、図1には、一例として、3つの代行デバイス50A、50B及び50CがサービスエリアE1、E2およびE3に設置されている。このように、代行デバイス50A、50B及び50Cの3つの他のデバイスにユーザデバイス30におけるメディアデータのセンシングを代行させうる状況にある。例えば、図1に示すように、ユーザデバイス30がサービスエリアE2に位置する場合、代行デバイス50Bにユーザデバイス30におけるメディアデータのセンシングを代行させることができる。
ところが、代行デバイス50によりセンシングが代行される場合、ユーザデバイス30によりセンシングが行われる場合よりも、センシングにより得られるメディアデータの品質が低くなる傾向になる。この一因として、代行デバイス50は、ユーザによって携帯されるものではなく、特定の場所に設置されるものであるので、ユーザからの距離がユーザデバイス30よりも長いことが挙げられる。このため、メディアデータに目的以外の映像や音声、例えば周辺の映像や音声が含まれる結果、IoTサービスの品質が低下する場合がある。
このことから、本実施例に係るサーバ装置10は、ユーザデバイス30がIoTサービスが終了するまでにバッテリ切れを起こさない場合に絞ってメディアデータのセンシングをユーザデバイス30に実施させる。それ故、代行デバイス50によりセンシングされる場合に比べて高品質なメディアデータをIoTサービスに用いることができる。さらに、バッテリ切れによってセンシングの主体がユーザデバイス30から代行デバイス50へ切り替わることも抑制できる。この結果、IoTサービスが開始されてから終了するまで一連のメディアデータを得ることができ、メディアデータに映像のコマ落ちや音切れなどが発生するのも抑制できる。
したがって、本実施例に係るサーバ装置10によれば、IoTサービスが中断されるのを抑制できる。これに加えて、代行デバイス50に比べて高品質なメディアデータのセンシングを期待できるユーザデバイス30を可及的に選択できると共に、メディアデータに映像のコマ落ちや音切れなどが発生するのも抑制できる。
[サーバ装置10の構成]
図2は、実施例1に係るサーバ装置10の機能的構成を示すブロック図である。図2に示すように、サーバ装置10は、通信I/F(InterFace)部11と、記憶部13と、制御部15とを有する。なお、図2には、データの授受の関係を表す実線が示されているが、図2には、説明の便宜上、最小限の部分について示されているに過ぎない。すなわち、各処理部に関するデータの入出力は、図示の例に限定されず、図示以外のデータの入出力、例えば処理部及び処理部の間、処理部及びデータの間、並びに、処理部及び外部装置の間のデータの入出力が行われることとしてもかまわない。
通信I/F部11は、他の装置、例えばユーザデバイス30や代行デバイス50との間で通信制御を行うインタフェースである。
一実施形態として、通信I/F部11には、LAN(Local Area Network)カードなどのネットワークインタフェースカードを採用できる。例えば、通信I/F部11は、ユーザデバイス30からIoTサービスの開始要求または終了要求を受信したり、ユーザデバイス30または代行デバイス50によりセンシングされたメディアデータを受信したりする。また、通信I/F部11は、メディアデータのセンシング指示をユーザデバイス30または代行デバイス50へ送信する。
記憶部13は、制御部15で実行されるOS(Operating System)を始め、上記のデバイス選択サービスを実現するアプリケーションプログラムなどの各種プログラムに用いられるデータを記憶する記憶デバイスである。
一実施形態として、記憶部13は、サーバ装置10における補助記憶装置として実装することができる。例えば、記憶部13には、HDD(Hard Disk Drive)、光ディスクやSSD(Solid State Drive)などを採用できる。なお、記憶部13は、必ずしも補助記憶装置として実装されずともよく、サーバ装置10における主記憶装置として実装することもできる。この場合、記憶部13には、各種の半導体メモリ素子、例えばRAM(Random Access Memory)やフラッシュメモリを採用できる。
記憶部13は、制御部15で実行されるプログラムに用いられるデータの一例として、サービス利用履歴データ13aと、バッテリデータ13bと、デバイスデータ13cと、デバイス使用履歴データ13dとを記憶する。これらのデータ以外にも、次のような電子データを記憶することもできる。例えば、ユーザデバイス30または代行デバイス50によりセンシングされたメディアデータの他、各種のIoTサービスに関する定義、例えばIoTサービスに用いるメディアデータの種類(音声、映像、音声+映像など)やIoTサービスの適用期間などの情報も併せて記憶することもできる。
サービス利用履歴データ13aは、IoTサービスが利用された履歴に関するデータである。ここで言う「IoTサービス」は、一例として、ユーザデバイス30のユーザ、ひいてはそのユーザが所属する事業者等の組織をサービス加入者とし、上記のデバイス選択サービスの提供者をサービス提供者として実施される。ここでは、IoTサービスおよびデバイス選択サービスを提供する主体が同一である場合を例示したが、必ずしも同一でなくともよい。IoTサービスの一例として、点検作業支援サービスや会議支援サービスなどが挙げられる。例えば、点検作業支援サービスとは、点検作業員が装着するスマートグラスやヘッドマウントディスプレイ等のユーザデバイスにより撮像される映像を遠隔の作業支援者が使用する端末装置上にライブ映像として表示したり、ログとして保存したりするサービスを指す。また、会議支援サービスとは、スマートフォン等のユーザデバイスにより会議の様子が撮像された映像を保存したり、会議の音声を保存したり、音声から認識されたテキストを議事録として保存したりするサービスを指す。いずれのサービスにおいても、代行デバイス50には、メディアデータをセンシングできる任意のIoTデバイスを用いることができる。なお、IoTサービスには、上記の例の他にも、ユーザデバイス30や代行デバイス50などのIoTデバイスによりセンシングされたメディアデータを用いるサービス全般をその範疇に含めることができる。
一実施形態として、サービス利用履歴データ13aには、サービスID(IDentification)、サービスエリア、開始時刻および継続時間などの項目を含むデータを採用できる。ここで言う「サービスID」とは、IoTサービスを識別する情報を指す。また、「サービスエリア」とは、IoTサービスが実施される領域を指し、一例として、代行デバイス50が存在する位置を基準に定義することができる。例を挙げれば、代行デバイス50の位置を中心とし、中心から所定の距離、例えば10m以内の領域をサービスエリアとして定義したり、これを重心として定める多角形状の領域をサービスエリアとして定義したりすることができる。また、「開始時刻」とは、IoTサービスが開始された時刻を指す。また、「継続時間」とは、IoTサービスが開始されてから終了されるまでの期間を指し、ここで言う継続時間は履歴であるので実測値が保存される。
図3は、サービス利用履歴データ13aの一例を示す図である。図3には、一例として、3件の履歴に関するエントリが抜粋して示されている。図3に示すエントリのうち上から1番目のエントリと上から3番目のエントリは、いずれもサービスID「0001」で識別されるIoTサービスに関する履歴である一方で、上から2番目のエントリは、サービスID「0002」で識別されるIoTサービスに関する履歴である。例えば、上から1番目のエントリによれば、サービスID「0001」で識別されるIoTサービスがサービスエリア「E2」で12月11日の9時から2時間30分間にわたって実施されたことを意味する。これに対し、上から3番目のエントリによれば、サービスID「0001」で識別されるIoTサービスがサービスエリア「E2」で12月13日の9時30分から2時間にわたって実施されたことを意味する。
バッテリデータ13bは、バッテリに関するデータである。
一実施形態として、バッテリデータ13bには、デバイスID、残量、時刻およびタイミングなどの項目を含むデータを採用できる。ここで言う「デバイスID」とは、IoTデバイスを識別する情報を指し、バッテリにより駆動するユーザデバイス30の識別情報が保存される。このデバイスIDには、任意の体系の識別子を採用できる。例えば、IoTシステム1によって採番されるIDを用いることもできれば、各IoTデバイスが持つ個体の識別番号、例えば製造番号などをデバイスIDとして用いることもできる。また、「残量」とは、IoTデバイスのバッテリ残量を指す。また、「時刻」とは、バッテリ残量が測定された時刻を指す。また、「タイミング」とは、バッテリ残量が測定された時機を指し、例えば、IoTサービスの「開始」または「終了」に分類される。
図4は、バッテリデータ13bの一例を示す図である。図4には、上述の通り、デバイスID、残量、時刻およびタイミングなどの項目が含まれるが、この段階ではエントリが存在しない状態が例示されている。
デバイスデータ13cは、IoTデバイスに関するデータである。
一実施形態として、デバイスデータ13cには、デバイスID、種別、サービスエリア及び特性などの項目を含むデータを採用できる。ここで言う「種別」とは、IoTデバイスの分類を指し、一例として、IoTデバイスがユーザデバイス30または代行デバイス50のいずれかに該当するのかが保存される。例えば、IoTデバイスがユーザデバイス30である場合、種別のフィールドには「人」が登録される一方で、IoTデバイスが代行デバイス50である場合、種別のフィールドには「場」が登録される。また、「特性」とは、IoTデバイスの特性を指し、一例として、IoTデバイスによりセンシングされるメディアデータの品質のレベルが保存される。
図5は、デバイスデータ13cの一例を示す図である。図5には、説明の便宜上、3つのIoTデバイスに関するエントリが抜粋して例示されているが、実装時には、上記のデバイス選択サービスに加入するユーザに所有権または使用権があるユーザデバイス30、及び、各サービスエリアに存在する代行デバイス50に関するエントリが登録される。図5に示すエントリのうち上から1番目のエントリは、デバイスID「user30」で識別されるIoTデバイスがユーザデバイス30であり、このユーザデバイス30が高品質のメディアデータをセンシングできることを意味する。また、上から2番目のエントリは、デバイスID「agent50A」で識別されるIoTデバイスがサービスエリア「E1」にある代行デバイス50Aであり、この代行デバイス50Aが高品質のメディアデータをセンシングできることを意味する。さらに、上から3番目のエントリは、デバイスID「agent50B」で識別されるIoTデバイスがサービスエリア「E2」にある代行デバイス50Bであり、この代行デバイス50Bでは低品質のメディアデータしかセンシングできないことを意味する。
なお、図5には、上から1番目のエントリ、すなわちユーザデバイス30のエントリに含まれるサービスエリアのフィールドをブランクとする場合を例示したが、ユーザデバイス30から収集される位置情報を現在地として登録することもできる。また、デバイスデータ13cには、IoTデバイスが有するセンシング能力を識別できる情報がさらに含まれることとしてもかまわない。すなわち、IoTサービスの中には、映像を使用するもの、音声を使用するもの、さらには、映像+音声を使用するものも存在する。このため、ユーザデバイス30からリクエストを受け付けたIoTサービスに用いられるメディアデータの条件、すなわち映像、音声または映像+音声といった条件を満たすIoTデバイスをサーバ装置10が識別するために、IoTデバイスが有するセンシング能力を識別できる情報をデバイスデータ13cに含めることもできる。
デバイス使用履歴データ13dは、IoTデバイスが使用された履歴に関するデータである。
一実施形態として、デバイス使用履歴データ13dには、サービスID、デバイスID、開始時刻および消費率などの項目を含むデータを採用できる。ここで言う「開始時刻」とは、IoTサービスに用いるメディアデータのセンシングが開始される時刻を指す。また、「消費率」とは、IoTデバイスのバッテリ消費率を指し、外部電源に接続されないユーザデバイス30を対象としてその値が保存される。
図6は、デバイス使用履歴データ13dの一例を示す図である。図6には、一例として、図3に示した3件のIoTサービスで用いられたIoTデバイスの履歴に対応する。図6に示すエントリのうち上から1番目のエントリは、サービスID「0001」で識別されるIoTサービスがデバイスID「agent50B」で識別されるIoTデバイスにより12月13日の9時30分に開始されたことを意味する。このエントリでは、消費率のフィールドがブランクとされている。これは、デバイスID「agent50B」で識別されるIoTデバイスが代行デバイス50であることを意味する。また、上から2番目のエントリは、サービスID「0002」で識別されるIoTサービスがデバイスID「agent50A」で識別されるIoTデバイスにより12月12日の10時に開始されたことを意味する。このエントリでも、消費率のフィールドがブランクとされているので、デバイスID「agent50A」で識別されるIoTデバイスも代行デバイス50であることを意味する。さらに、上から3番目のエントリは、サービスID「0001」で識別されるIoTサービスがデバイスID「user30」で識別されるIoTデバイスにより12月11日の9時に開始されたことを意味する。このエントリでは、消費率のフィールドに20%/hの値が格納されている。これは、デバイスID「user30」で識別されるIoTデバイスがユーザデバイス30であり、サービスID「0001」で識別されるIoTサービスに使用したことで、1時間あたり20%のバッテリを消費したことを意味する。
なお、図3〜図6には、サービス利用履歴データ13a、バッテリデータ13b、デバイスデータ13c及びデバイス使用履歴データ13dの各データがテーブル形式で記憶部13に格納される場合を例示したが、これに限定されない。例えば、各データは、XML(Extensible Markup Language)などのマークアップ言語によりタグ形式で記述されるデータであってもよいし、CSV(Comma-Separated Values)などのようにカンマや改行により記述されるデータであってもかまわない。
制御部15は、各種のプログラムや制御データを格納する内部メモリを有し、これらによって各種の処理を実行するものである。
一実施形態として、制御部15は、中央処理装置、いわゆるCPU(Central Processing Unit)として実装される。なお、制御部15は、必ずしも中央処理装置として実装されずともよく、MPU(Micro Processing Unit)として実装されることとしてもよい。また、制御部15は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などのハードワイヤードロジックによっても実現できる。
制御部15は、図示しない主記憶装置として実装されるDRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)などのRAMのワークエリア上に、上記のデバイス選択プログラムをプロセスとして展開することにより、下記の処理部を仮想的に実現する。
例えば、制御部15は、図2に示すように、第1の取得部15aと、第1の推定部15bと、第2の推定部15cと、選択部15dと、第2の取得部15eとを有する。
第1の取得部15a及び第2の取得部15eは、いずれもユーザデバイス30から各種の情報を取得する処理部であるが、ユーザデバイス30から情報が取得されるタイミングが異なる。すなわち、第1の取得部15aは、ユーザデバイス30からIoTサービスの開始が要求された段階で情報の取得を行う一方で、第2の取得部15eは、ユーザデバイス30からIoTサービスの終了が要求された段階で情報の取得を行う。なお、第2の取得部15eの説明は、IoTサービスが実施される時系列にしたがって選択部15dの説明の後に行うこととする。
一実施形態として、第1の取得部15aは、ユーザデバイス30からIoTサービスの開始要求を受け付けた場合に動作を開始する。このIoTサービスの開始要求は、ユーザが提供を希望するIoTサービスをサーバ装置10に識別させるために、一例として、IoTサービスの指定、例えばサービスIDやサービス名などの指定と共に受け付けられる。
このようにIoTサービスの開始要求が受け付けられた場合、第1の取得部15aは、制御部15が実行するOS等により管理されるタイムスタンプからIoTサービスの開始要求が受け付けられた時刻を開始時刻として取得する。続いて、第1の取得部15aは、ユーザデバイス30から位置情報を取得する。例えば、第1の取得部15aは、ユーザデバイス30の位置情報として、ユーザデバイス30に搭載されたGPS(Global Positioning System)が測定する緯度および経度を取得することができる。この他、第1の取得部15aは、ユーザデバイス30からユーザデバイス30が収容されるセルの基地局、例えばアクセスポイントなどの位置情報を取得することもできる。このアクセスポイントの位置情報は、そのままユーザデバイス30の位置情報として用いることもできるし、ユーザデバイス30の受信電波強度等から割り出されるユーザデバイス30及びアクセスポイント間の距離を用いてユーザデバイス30の位置情報を求めることもできる。
続いて、第1の取得部15aは、記憶部13に記憶されたデバイスデータ13cに含まれる代行デバイス50のサービスエリアのうち、ユーザデバイス30の位置情報が含まれるサービスエリアを識別する。例えば、第1の取得部15aは、代行デバイス50のサービスエリアごとに当該サービスエリアとして定義された領域にユーザデバイス30の位置情報が含まれるか否かを判定する。この結果、ユーザデバイス30の位置情報が含まれるサービスエリアが存在する場合、当該サービスエリアに対応付けられた代行デバイス50がセンシングデバイスの選択肢として抽出される。なお、ユーザデバイス30の位置情報が含まれるサービスエリアが存在しない場合、ユーザデバイス30の代わりにメディアデータのセンシングを実施できる代行デバイス50がユーザデバイス30の周辺に存在しないことが判明する。この場合、後述の選択部15dによりユーザデバイス30がメディアデータのセンシングを実施するセンシングデバイスとして選択される。
そして、第1の取得部15aは、記憶部13に記憶されたサービス利用履歴データ13aに新規のエントリを作成した上で、当該エントリにサービスID、サービスエリア及び開始時刻を対応付けて登録する。例えば、第1の取得部15aは、サービスIDのフィールドには、IoTサービスの開始要求と共に受け付けたサービスIDを登録し、サービスエリアのフィールドには、ユーザデバイス30の位置情報が含まれるサービスエリアを登録し、開始時刻のフィールドには、IoTサービスの開始要求を受け付けた時刻を開始時刻として登録する。
その後、第1の取得部15aは、ユーザデバイス30からバッテリ残量を取得する。例えば、第1の取得部15aは、ユーザデバイス30上で動作するOSまたはバッテリドライバにより提供されるAPI(Application Programming Interface)にしたがってバッテリ残量を取得することができる。その上で、第1の取得部15aは、記憶部13に記憶されたバッテリデータ13bに新規のエントリを作成した上で、当該エントリにデバイスID、残量、時刻及びタイミングを対応付けて登録する。例えば、第1の取得部15aは、デバイスIDのフィールドには、IoTサービスの開始要求を行うユーザデバイス30のデバイスIDを登録し、残量のフィールドには、ユーザデバイス30から取得されたバッテリ残量を登録し、時刻のフィールドには、IoTサービスの開始要求を受け付けた時刻を開始時刻として登録し、タイミングのフィールドには、IoTサービスの開始要求が受け付けられた局面であるので開始を登録する。
第1の推定部15bは、IoTサービスの継続時間を推定する処理部である。以下では、IoTサービスの継続時間のことを「サービス継続時間」と記載する場合がある。
一実施形態として、第1の推定部15bは、記憶部13に記憶されたサービス利用履歴データ13aのエントリのうち、IoTサービスの開始要求と共に受け付けたサービスIDと一致し、かつユーザデバイス30の位置情報が含まれるサービスエリアと一致するエントリを抽出する。このとき、サービス利用履歴データ13aから複数のエントリが抽出された場合、第1の推定部15bは、各エントリに含まれる継続時間に所定の統計処理を行うことにより、継続時間の代表値を算出する。例えば、第1の推定部15bは、各エントリに含まれる継続時間を平均することにより、継続時間の推定値を算出する。この結果として算出された継続時間の推定値がサービス継続時間として以降の処理で用いられる。このようにサービスID及びサービスエリアが共通するエントリを抽出するのは、開始が要求されたIoTサービスと同一のIoTサービスが同一のサービスエリアで実施された履歴をサービス継続時間の推定に用いるためであり、これによって、今回のIoTサービスが実施される場合にも履歴の継続時間と同等の継続時間が再現される可能性を期待できるからである。
なお、ここでは、一例として、サービスID及びサービスエリアの一致を条件にしてエントリを抽出する場合を例示したが、エントリの抽出条件は必ずしもAND条件でなくともよく、OR条件とすることもできる。例えば、サービスIDが一致するエントリを抽出することとしてもよいし、サービスエリアが一致するエントリを抽出することとしてもよいし、サービスID及びサービスエリアのうち少なくとも1つが一致するエントリを抽出することとしてもかまわない。この他、上記のエントリの抽出条件に更なる条件を加重することもできる。例えば、サービスIDとサービスエリアが共通しても、ユーザによってサービス継続時間に個人差が生じることもある。このことから、サービス利用履歴データ13aのフィールドにユーザの識別情報、例えばユーザIDを追加し、ユーザIDがさらに共通するエントリを抽出することとしてもよい。また、ユーザにより使用されるIoTデバイスによってサービス継続時間に差が生じることもある。このことから、サービス利用履歴データ13aのエントリにIoTサービスに使用されたIoTデバイスの識別情報、すなわちデバイスIDを追加し、デバイスIDがさらに共通するエントリを抽出することとしてもかまわない。
第2の推定部15cは、IoTデバイスのバッテリ持続時間を推定する処理部である。
一実施形態として、第2の推定部15cは、記憶部13に記憶されたデバイス使用履歴データ13dのエントリのうち、IoTサービスの開始要求と共に受け付けたサービスIDと一致し、かつIoTサービスの開始を要求するユーザデバイス30が持つデバイスIDと一致するエントリを抽出する。このとき、サービスID及びデバイスIDが一致するエントリの抽出に成功した場合、第2の推定部15cは、下記の分岐aの通り、バッテリ持続時間の推定を行う。また、サービスID及びデバイスIDが一致するエントリの抽出に失敗した場合、開始要求が行われたIoTサービスが開始要求元のユーザデバイス30を用いて実施された履歴がないことが判明する。この場合、第2の推定部15cは、エントリの抽出条件を緩め、デバイス使用履歴データ13dのエントリのうちIoTサービスの開始を要求するユーザデバイス30が持つデバイスIDと一致するエントリを抽出する。そして、デバイスIDが一致するエントリの抽出に成功した場合、第2の推定部15cは、下記の分岐bの通り、バッテリ持続時間の推定を行う。一方、デバイスIDが一致するエントリの抽出に失敗した場合、開始要求元のユーザデバイス30を用いてIoTサービスが実施された履歴がないことが判明する。この場合、第2の推定部15cは、下記の分岐cの通り、バッテリ持続時間の推定を行う。
(イ)分岐a
第2の推定部15cは、サービスID及びデバイスIDが一致するエントリが複数であるか否かを判定する。このとき、サービスID及びデバイスIDが一致するエントリが複数である場合、第2の推定部15cは、各エントリに含まれるバッテリ消費率に所定の統計処理を行うことにより、バッテリ消費率の代表値を算出する。例えば、第2の推定部15cは、各エントリに含まれるバッテリ消費率を平均する計算を行うことにより、バッテリ消費率の平均値を算出する。一方、サービスID及びデバイスIDが一致するエントリが1つである場合、当該エントリのバッテリ消費率がそのまま代表値として用いられる。このようにして算出されたバッテリ消費率の代表値を用いて、第2の推定部15cは、IoTサービスの開始を要求するユーザデバイス30のバッテリ持続時間を推定する。例えば、第2の推定部15cは、当該ユーザデバイス30のバッテリ残量をバッテリ消費率の平均値で除算する計算を行うことにより、バッテリ持続時間の推定値を算出する。このようにサービスID及びデバイスIDが共通するエントリを抽出するのは、開始が要求されたIoTサービスと同一のIoTサービスで同一のIoTデバイスが用いられた履歴のバッテリ消費率をバッテリ持続時間の推定に用いるためであり、これによって、今回のIoTサービスが実施される場合にも履歴のバッテリ消費率と同等のバッテリ消費率が再現される可能性を期待できるからである。
(ロ)分岐b
第2の推定部15cは、デバイスIDが一致するエントリが複数であるか否かを判定する。このとき、デバイスIDが一致するエントリが複数である場合、第2の推定部15cは、各エントリに含まれるバッテリ消費率に所定の統計処理を行うことにより、バッテリ消費率の代表値を算出する。例えば、第2の推定部15cは、各エントリに含まれるバッテリ消費率を平均する計算を行うことにより、バッテリ消費率の平均値を算出する。一方、デバイスIDが一致するエントリが1つである場合、当該エントリのバッテリ消費率がそのまま代表値として用いられる。このようにして算出されたバッテリ消費率の代表値を用いて、第2の推定部15cは、IoTサービスの開始を要求するユーザデバイス30のバッテリ持続時間を推定する。例えば、第2の推定部15cは、当該ユーザデバイス30のバッテリ残量をバッテリ消費率の平均値で除算する計算を行うことにより、バッテリ持続時間の推定値を算出する。このようにデバイスIDが共通するエントリを抽出するのは、開始が要求されたIoTサービスとは異なるIoTサービスの履歴であっても同一のIoTデバイスが用いられた履歴をバッテリ持続時間の推定に用いることで、今回のIoTサービスが実施される場合にも一定の再現性を期待できるからである。
(ハ)分岐c
第2の推定部15cは、予め定められたバッテリ消費率の設定値を用いて、IoTサービスの開始を要求するユーザデバイス30のバッテリ持続時間を推定する。例えば、ユーザデバイス30の製品名ごとに当該製品のカタログスペックとして公表されたバッテリ消費率が対応付けられたカタログデータを参照して、第2の推定部15cは、IoTサービスの開始を要求するユーザデバイス30に対応するバッテリ消費率の設定値を呼び出すことができる。
なお、ここでは、一例として、サービスID及びデバイスIDの一致を条件にしてエントリを抽出する場合を例示したが、エントリの抽出条件は必ずしもAND条件でなくともよく、OR条件とすることもできる。例えば、サービスIDが一致するエントリを抽出することとしてもよいし、デバイスIDが一致するエントリを抽出することとしてもよいし、サービスID及びデバイスIDのうち少なくとも1つが一致するエントリを抽出することとしてもかまわない。この他、上記のエントリの抽出条件に更なる条件を加重することもできる。例えば、特定の場所において、無線ネットワークの電波が弱く、通信を用いるサービス利用にかかる消費電力が大きくなるなど、デバイスIDとサービスIDが共通しても、場所によってバッテリ消費率が異なる場合がある。このことから、デバイス使用履歴データ13dのエントリにサービスエリアのフィールドを追加し、サービスエリアがさらに共通するエントリを抽出することとしてもかまわない。また、デバイスを使用するユーザの使い方によってバッテリ消費率が異なる場合がある。このことから、デバイス使用履歴データ13dのエントリにユーザIDのフィールドを追加し、ユーザIDがさらに共通するエントリを抽出することとしてもかまわない。
選択部15dは、ユーザデバイス30及び代行デバイス50のうちいずれかのデバイスをセンシングデバイスとして選択する処理部である。
一実施形態として、選択部15dは、第2の推定部15cにより推定されたバッテリ持続時間と、第1の推定部15bにより推定されたサービス継続時間との大小関係を比較する。すなわち、選択部15dは、バッテリ持続時間がサービス継続時間よりも長いか否か、すなわちバッテリ持続時間>サービス継続時間であるか否かを判定する。ここで、バッテリ持続時間がサービス継続時間よりも長い場合、すなわちバッテリ持続時間>サービス継続時間である場合、ユーザデバイス30にメディアデータをセンシングさせたとしてもバッテリ切れによりIoTサービスが中断される可能性が低いと判断できる。この場合、選択部15dは、ユーザデバイス30をセンシングデバイスとして選択する。一方、バッテリ持続時間がサービス継続時間よりも長くない場合、すなわちバッテリ持続時間≦サービス継続時間である場合、バッテリ切れによりIoTサービスが中断される可能性が高いと判断できる。この場合、選択部15dは、ユーザデバイス30の位置情報が含まれるサービスエリアに対応付けられた代行デバイス50をセンシングデバイスとして選択する。
このようにセンシングデバイスが選択された後、選択部15dは、記憶部13に記憶されたデバイス使用履歴データ13dに新規のエントリを作成した上で、当該エントリにサービスID、デバイスIDおよび開始時刻を対応付けて登録する。例えば、選択部15dは、サービスIDのフィールドには、IoTサービスの開始要求と共に受け付けたサービスIDを登録し、デバイスIDのフィールドには、センシングデバイスとして選択されたIoTデバイスが持つデバイスIDを登録し、開始時刻のフィールドには、IoTサービスの開始要求を受け付けた時刻を開始時刻として登録する。この段階では、一時間断面のバッテリ残量しか明らかでないので、消費率のフィールドはブランクのままとされる。
その後、選択部15dは、メディアデータのセンシング及び伝送をセンシングデバイスに指示する。その後、センシングデバイスから伝送される音声または映像のストリームデータを復号化し、復号化されたメディアデータが所定の出力先、例えばIoTサービスに対応するアプリケーションプログラムに出力されることになる。これによって、IoTサービスに対応するアプリケーションプログラムにより、メディアデータを用いてIoTサービスが提供されることになる。
なお、代行デバイス50が複数存在する場合、その中から1つを選択する。この択一の選択基準は特定の基準に限定されないが、一例として、複数の代行デバイス50のうちデバイスデータ13cの特性のフィールドに格納された品質が最高である代行デバイス50を選択することができる。
第2の取得部15eは、ユーザデバイス30から各種の情報を取得する処理部である。
一実施形態として、第2の取得部15eは、選択部15dによりセンシングデバイスが選択された場合、当該センシングデバイスの選択により提供が開始されたIoTサービスの開始要求を行ったユーザデバイス30から終了要求を受け付けるのを待機する。そして、第2の取得部15eは、当該ユーザデバイス30からIoTサービスの終了要求を受け付けた場合に動作を開始する。
このようにIoTサービスの終了要求が受け付けられた場合、第2の取得部15eは、選択部15dにより選択されたセンシングデバイスにメディアデータのセンシング及び伝送の終了を指示する。これによって、IoTサービスの提供が終了されることになる。続いて、第2の取得部15eは、制御部15が実行するOS等により管理されるタイムスタンプからIoTサービスの終了要求が受け付けられた時刻を終了時刻として取得する。そして、第2の取得部15eは、記憶部13に記憶されたサービス利用履歴データ13aのエントリのうち、IoTサービスの終了要求と共に受け付けたサービスIDと一致し、IoTサービスの開始時に識別されたサービスエリアと一致し、かつ継続時間のフィールドがブランクであるエントリを抽出する。ここでは、あくまで一例として、IoTサービスの開始時に識別されたサービスエリアを用いることとしたが、終了時にユーザデバイス30の位置情報を取得して当該位置情報が属するサービスエリアを改めて識別することとしてもかまわない。その後、第2の取得部15eは、先に抽出されたエントリに含まれる開始時刻と、先に取得された終了時刻とを比較する。例えば、第2の取得部15eは、終了時刻から開始時刻を減算する計算、すなわち終了時刻−開始時刻を行うことにより、当該終了要求が受け付けられたIoTサービスの継続時間を算出する。その上で、第2の取得部15eは、記憶部13に記憶されたサービス利用履歴データ13aのエントリが持つ継続時間のフィールドに先に算出された継続時間を登録する。なお、ここでは、開始時刻と終了時刻の差分から継続時間を算出する場合を例示したが、開始時刻からの時間経過を計測することにより、継続時間を導出することとしてもかまわない。
続いて、第2の取得部15eは、記憶部13に記憶されたデバイスデータ13cのエントリのうち、選択部15dにより選択されたセンシングデバイスが持つデバイスIDを持つエントリを抽出する。そして、第2の取得部15eは、先に抽出されたエントリに含まれる種別のフィールドが「人」であるか否か、すなわちセンシングデバイスがユーザデバイス30であるか否かを判定する。なお、センシングデバイスがユーザデバイス30でない場合、すなわちセンシングデバイスが代行デバイス50である場合、代行デバイス50は外部電源に接続されているので、必ずしもバッテリ消費率を算出せずともかまわない。
一方、センシングデバイスがユーザデバイス30である場合、ユーザデバイス30のバッテリ消費率を履歴として残すために次のような処理が実行される。すなわち、第2の取得部15eは、記憶部13に記憶されたデバイス使用履歴データ13dのエントリのうち、終了要求が行われたIoTサービスのサービスID及び選択部15dにより選択されたセンシングデバイスが持つデバイスIDのペアを含み、かつ当該IoTサービスの開始時刻と一致するエントリを抽出する。続いて、第2の取得部15eは、記憶部13に記憶されたバッテリデータ13bに新規のエントリを作成した上でIoTサービスの終了要求を行うユーザデバイス30から取得されたバッテリ残量を登録する。例えば、第2の取得部15eは、デバイスIDのフィールドには、IoTサービスの終了要求を行うユーザデバイス30のデバイスIDを登録し、残量のフィールドには、ユーザデバイス30から取得されたバッテリ残量を登録し、タイミングのフィールドには、IoTサービスの終了要求が受け付けられた局面であるので終了を登録する。
その上で、第2の取得部15eは、バッテリデータ13bのエントリのうち、選択部15dにより選択されたセンシングデバイスが持つデバイスIDと一致し、かつタイミングのフィールドが開始で当該IoTサービスの開始時刻と一致するエントリを抽出する。その後、第2の取得部15eは、先に登録したバッテリ残量と抽出されたエントリに含まれるバッテリ残量の差分を求め、これと先に求められた継続時間からバッテリ消費率を算出する。例えば、第2の取得部15eは、IoTサービスの開始時に登録されたバッテリ残量から終了時に登録されたバッテリ残量が減算されたバッテリ消費量を先に求められた継続時間で除算する計算、すなわち(開始時のバッテリ残量−終了時のバッテリ残量)/継続時間の計算を行う。これによって、バッテリ消費率が求まる。その後、第2の取得部15eは、記憶部13に記憶されたデバイス使用履歴データ13dのエントリのうち、終了要求が行われたIoTサービスのサービスID及び選択部15dにより選択されたセンシングデバイスが持つデバイスIDのペアを含み、かつ消費率のフィールドがブランクであるエントリに先に算出されたバッテリ消費率を登録する。
[サービス開始時のデータ遷移]
次に、図7〜図10を用いて、IoTサービスの開始要求時にセンシングデバイスの選択に用いるデータ遷移について説明する。図7〜図10は、データ遷移の一例を示す図である。図7〜図10には、IoTサービスの開始要求を受け付けた時点のサービス利用履歴データ13a、バッテリデータ13b、デバイスデータ13c及びデバイス使用履歴データ13dが図3〜図6に示したデータの状態に対応するとしたとき、そこからの遷移が示されている。
例えば、デバイスID「user30」で識別されるユーザデバイス30からサービスID「0001」で識別されるIoTサービスの開始要求を受け付けた場合、ユーザデバイス30から位置情報およびバッテリ残量が取得される。この結果、図3に示したサービス利用履歴データ13a及び図4に示したバッテリデータ13bが図7に示すサービス利用履歴データ13a及びバッテリデータ13bへ遷移する。
すなわち、ユーザデバイス30の位置情報が属するサービスエリアが「E2」と識別された段階で、図7に示すように、サービス利用履歴データ13aには新規のエントリが作成される。このようにして新規に作成されたエントリのうち、サービスIDのフィールドには、IoTサービスの開始要求と共に受け付けたサービスID「0001」が登録される。さらに、サービスエリアのフィールドには、ユーザデバイス30の位置情報から識別されたサービスエリア「E2」が登録される。さらに、開始時刻のフィールドには、IoTサービスの開始要求を受け付けた時刻「12月14日 10時00分」が開始時刻として登録される。
また、ユーザデバイス30のバッテリ残量「80%」が取得された段階で、図7に示すように、バッテリデータ13bには新規のエントリ13b1が作成される。このようにして新規に作成されたエントリ13b1のうち、デバイスIDのフィールドには、IoTサービスの開始要求を行うユーザデバイス30のデバイスID「user30」が登録される。さらに、残量のフィールドには、ユーザデバイス30から取得されたバッテリ残量「80%」を登録し、時刻のフィールドには、IoTサービスの開始要求を受け付けた時刻「12月14日 10時00分」が開始時刻として登録される。さらに、タイミングのフィールドには、IoTサービスの開始要求が受け付けられた局面であるので「開始」が登録される。
その後、サービス継続時間が推定される段階では、サービス利用履歴データ13aのエントリのうち図8に太線の矩形で囲って示された2つのエントリが参照される。すなわち、IoTサービスの開始要求と共に受け付けたサービスID「0001」を含み、かつユーザデバイス30の位置情報が含まれるサービスエリア「E2」を含む2つのエントリ、すなわち上から1番目のエントリ13a1と上から3番目のエントリ13a3が参照される。その後、上から1番目のエントリ13a1の継続時間「2時間30分」と上から3番目のエントリ13a3の継続時間「2時間」との平均、すなわち「(2時間30分+2時間)/2」を計算することにより、サービス継続時間が「2時間15分」と推定される。
また、ユーザデバイス30のバッテリ持続時間が推定される段階では、デバイス使用履歴データ13dのエントリのうち図9に太線の矩形で囲って示されたエントリが参照される。すなわち、IoTサービスの開始要求と共に受け付けたサービスID「0001」を含み、かつIoTサービスの開始を要求するユーザデバイス30が持つデバイスID「user30」を含むエントリ、すなわち上から3番目のエントリ13d3が抽出される。その後、デバイスID「user30」で識別されるユーザデバイス30のバッテリ残量「80%」を上から3番目のエントリ13d3のバッテリ消費率「20%/h」で除算する計算、すなわち「80%÷(20%/h)」を計算することにより、バッテリ持続時間が「4時間」と推定される。
このようにサービス継続時間及びバッテリ持続時間が推定された上で、図10に示すように、サービス継続時間及びバッテリ持続時間の大小関係が比較される。本例では、バッテリ持続時間「4時間」>サービス継続時間「2時間15分」であるので、ユーザデバイス30にメディアデータをセンシングさせたとしてもバッテリ切れによりIoTサービスが中断される可能性が低いと判断できる。この場合、ユーザデバイス30がセンシングデバイスとして選択される。その後、図10に示すように、デバイス使用履歴データ13dには新規のエントリが作成される。このようにして新規に作成されたエントリのうち、サービスIDのフィールドには、IoTサービスの開始要求と共に受け付けたサービスID「0001」が登録される。さらに、デバイスIDのフィールドには、センシングデバイスとして選択されたIoTデバイスが持つデバイスID「user30」が登録される。さらに、開始時刻のフィールドには、IoTサービスの開始要求を受け付けた時刻「12月14日 10時00分」が開始時刻として登録される。
なお、本例では、バッテリ持続時間>サービス継続時間である場合を例示したが、次のようなケースではバッテリ持続時間≦サービス継続時間となり、代行デバイス50がセンシングデバイスとして選択される。
例えば、ユーザデバイス30のバッテリ消費率が大きくなるほどバッテリ持続時間が短くなり、代行デバイス50が選択される可能性が高まる。例を挙げれば、バッテリ消費率が40%/hまで上がると、バッテリ持続時間は「80%÷(40%/h)」の計算により2時間となる。この場合、バッテリ持続時間「2時間」<サービス継続時間「2時間15分」となるので、サービスエリア「E2」に対応付けられた代行デバイス50B、すなわちデバイスID「agent50B」がセンシングデバイスとして選択される。また、ユーザデバイス30のバッテリ残量が小さいほどバッテリ持続時間が短くなり、代行デバイス50が選択される可能性が高まる。例を挙げれば、バッテリ残量が35%であるとした場合、バッテリ持続時間は「35%÷(20%/h)」の計算により1時間45分となる。この場合、バッテリ持続時間「1時間45分」<サービス継続時間「2時間15分」となるので、サービスエリア「E2」に対応付けられた代行デバイス50Bがセンシングデバイスとして選択される。
また、サービス継続時間が長くなるほど、代行デバイス50が選択される可能性が高まる。例えば、サービス継続時間が4時間を超えると、バッテリ持続時間よりも長くなるので、サービスエリア「E2」に対応付けられた代行デバイス50Bがセンシングデバイスとして選択されることになる。
[サービス終了時のデータ遷移]
次に、図11及び図12を用いて、IoTサービスの終了要求時におけるデータ遷移について説明する。図11及び図12は、データ遷移の一例を示す図である。図11及び図12には、IoTサービスの終了要求を受け付けた時点のサービス利用履歴データ13a、バッテリデータ13b、デバイスデータ13c及びデバイス使用履歴データ13dが図10に示したデータの状態に対応するとしたとき、そこからの遷移が示されている。
例えば、デバイスID「user30」で識別されるユーザデバイス30からサービスID「0001」で識別されるIoTサービスの終了要求を受け付けた場合、当該IoTサービスの開始時刻と終了時刻との差から継続時間が算出される。このとき、IoTサービスの終了要求を受け付けた時刻が12時00分であったとしたとき、図11に示す通り、継続時間は、終了時刻−開始時刻、すなわち「12時00分−10時00分」の計算により、2時間と算出される。このように算出された継続時間「2時間」がサービス利用履歴データ13aのエントリに追記される。
また、デバイスID「user30」で識別されるユーザデバイス30がセンシングデバイスとして選択されていたので、当該IoTサービスにおけるバッテリ消費率も算出される。すなわち、図12に示すように、バッテリデータ13bに新規のエントリを作成した上で、IoTサービスの終了要求を行うユーザデバイス30から取得されたバッテリ残量「35%」が登録される。そして、IoTサービスの開始時のバッテリ残量「80%」からIoTサービスの終了時のバッテリ残量「35%」を減算する計算、すなわち「80%−35%」の計算により、バッテリ消費量が45%と算出される。このようにして算出されたバッテリ消費量「45%」を先に求められた継続時間「2時間」で除算する計算、すなわち「45%÷2h」の計算を行う。これによって、バッテリ消費率が22.5%/hと求まる。その上で、バッテリ消費率「22.5%/h」がデバイス使用履歴データ13dのエントリに追記される。
[処理の流れ]
次に、本実施例に係るサーバ装置10の処理の流れについて説明する。なお、ここでは、IoTサービスの開始時に行われる(1)デバイス選択処理を説明した後に、IoTサービスの終了時に行われる(2)履歴更新処理を説明することとする。
(1)デバイス選択処理
図13は、実施例1に係るデバイス選択処理の手順を示すフローチャートである。この処理は、一例として、ユーザデバイス30からIoTサービスの開始要求を受け付けた場合に開始される。
図13に示すように、第1の取得部15aは、制御部15が実行するOS等により管理されるタイムスタンプからIoTサービスの開始要求が受け付けられた時刻を開始時刻として取得する(ステップS101)。
そして、第1の取得部15aは、ユーザデバイス30から位置情報を取得する(ステップS102)。続いて、第1の取得部15aは、記憶部13に記憶されたデバイスデータ13cに含まれる代行デバイス50のサービスエリアのうち、ステップS102で取得されたユーザデバイス30の位置情報が含まれるサービスエリアを識別する(ステップS103)。
その後、第1の取得部15aは、バッテリデータ13bに作成された新規のエントリに、IoTサービスの開始要求を行うユーザデバイス30のデバイスID、ユーザデバイス30から取得されたバッテリ残量、IoTサービスの開始要求を受け付けた開始時刻およびユーザデバイス30でバッテリ残量が測定されたタイミングである開始を対応付けて登録する(ステップS104)。
そして、ユーザデバイス30の位置情報が含まれるサービスエリアが存在する場合(ステップS105Yes)、次のような処理を実行する。すなわち、第1の取得部15aは、サービス利用履歴データ13aに作成された新規のエントリに、IoTサービスの開始要求と共に受け付けたサービスID、ステップS103で識別されたサービスエリア及びIoTサービスの開始要求を受け付けた開始時刻を対応付けて登録する(ステップS106)。
続いて、第1の推定部15bは、サービス利用履歴データ13aのエントリのうち、IoTサービスの開始要求と共に受け付けたサービスIDと一致し、かつステップS103で識別されたサービスエリアと一致するエントリを抽出する(ステップS107)。その上で、第1の推定部15bは、ステップS107で抽出されたエントリに含まれる継続時間を平均することにより、サービス継続時間を推定する(ステップS108)。
また、第2の推定部15cは、デバイス使用履歴データ13dのエントリのうち、IoTサービスの開始要求と共に受け付けたサービスIDと一致し、かつIoTサービスの開始を要求するユーザデバイス30が持つデバイスIDと一致するエントリを抽出する(ステップS109)。
その上で、第2の推定部15cは、ステップS109で抽出されたエントリに含まれるバッテリ消費率が平均されたバッテリ消費率の平均値でステップS104で登録されたユーザデバイス30のバッテリ残量を除算することにより、バッテリ持続時間を推定する(ステップS110)。
そして、選択部15dは、バッテリ持続時間がサービス継続時間よりも長いか否か、すなわちバッテリ持続時間>サービス継続時間であるか否かを判定する(ステップS111)。
ここで、バッテリ持続時間がサービス継続時間よりも長い場合、すなわちバッテリ持続時間>サービス継続時間である場合(ステップS111Yes)、ユーザデバイス30にメディアデータをセンシングさせたとしてもバッテリ切れによりIoTサービスが中断される可能性が低いと判断できる。この場合、選択部15dは、ユーザデバイス30をセンシングデバイスとして選択する(ステップS112)。なお、ユーザデバイス30の位置情報が含まれるサービスエリアが存在しない場合(ステップS105No)にも、ユーザデバイス30がセンシングデバイスとして選択される(ステップS112)。
一方、バッテリ持続時間がサービス継続時間よりも長くない場合、すなわちバッテリ持続時間≦サービス継続時間である場合(ステップS111No)、バッテリ切れによりIoTサービスが中断される可能性が高いと判断できる。この場合、選択部15dは、ユーザデバイス30の位置情報が含まれるサービスエリアに対応付けられた代行デバイス50をセンシングデバイスとして選択する(ステップS113)。
上記のステップS112又は上記のステップS113によりセンシングデバイスが選択された後、選択部15dは、次のような処理を実行する。すなわち、選択部15dは、デバイス使用履歴データ13dに作成された新規のエントリにIoTサービスの開始要求と共に受け付けたサービスID、ステップS112又はステップS113で選択されたセンシングデバイスが持つデバイスID及びIoTサービスの開始要求を受け付けた開始時刻を対応付けて登録する(ステップS114)。
その後、選択部15dは、メディアデータのセンシング及び伝送をセンシングデバイスに指示することにより、IoTサービスの提供を開始し(ステップS115)、処理を終了する。
(2)履歴更新処理
図14は、実施例1に係る履歴更新処理の手順を示すフローチャートである。この処理は、一例として、提供が開始されたIoTサービスの開始要求を行ったユーザデバイス30から終了要求を受け付けた場合に開始される。
図14に示すように、第2の取得部15eは、図13に示したステップS111又はステップS112で選択されたセンシングデバイスにメディアデータのセンシング及び伝送の終了を指示することにより、IoTサービスの提供を終了する(ステップS301)。
続いて、第2の取得部15eは、制御部15が実行するOS等により管理されるタイムスタンプからIoTサービスの終了要求が受け付けられた時刻を終了時刻として取得する(ステップS302)。
そして、第2の取得部15eは、ステップS302で取得された終了時刻からステップS104でサービス利用履歴データ13aのエントリに登録された開始時刻を減算する計算、すなわち終了時刻−開始時刻を行うことにより、当該終了要求が受け付けられたIoTサービスの継続時間を算出する(ステップS303)。
その上で、第2の取得部15eは、記憶部13に記憶されたサービス利用履歴データ13aのエントリのうち、IoTサービスの終了要求と共に受け付けたサービスIDと一致し、IoTサービスの開始時に識別されたサービスエリアと一致し、かつ継続時間のフィールドがブランクであるエントリに、ステップS303で算出された継続時間を登録する(ステップS304)。
続いて、第2の取得部15eは、デバイスデータ13cのエントリのうち、ステップS111又はステップS112で選択されたセンシングデバイスが持つデバイスIDを持つエントリを抽出する(ステップS305)。そして、第2の取得部15eは、ステップS305で抽出されたエントリに含まれる種別のフィールドが「人」であるか否か、すなわちセンシングデバイスがユーザデバイス30であるか否かを判定する(ステップS306)。
このとき、センシングデバイスがユーザデバイス30である場合(ステップS306Yes)、第2の取得部15eは、次のような処理を実行する。すなわち、第2の取得部15eは、デバイス使用履歴データ13dのエントリのうち、終了要求が行われたIoTサービスのサービスID及びステップS111又はステップS112で選択されたセンシングデバイスが持つデバイスIDのペアを含み、かつ当該IoTサービスの開始時刻と一致するエントリを抽出する(ステップS307)。
続いて、第2の取得部15eは、ユーザデバイス30により測定されたバッテリ残量を取得した上で、バッテリデータ13bに作成された新規のエントリに、IoTサービスの終了要求を行うユーザデバイス30のデバイスID、ユーザデバイス30から終了要求時に取得されたバッテリ残量及びユーザデバイス30でバッテリ残量が測定されたタイミングである終了を対応付けて登録する(ステップS308)。
そして、第2の取得部15eは、ステップS105でIoTサービスの開始時に登録されたバッテリ残量からステップS308でIoTサービスの終了時に登録されたバッテリ残量が減算されたバッテリ消費量をステップS303で算出された継続時間で除算することにより、バッテリ消費率を算出する(ステップS309)。
その上で、第2の取得部15eは、デバイス使用履歴データ13dのエントリのうち、終了要求が行われたIoTサービスのサービスID及びステップS111又はステップS112で選択されたセンシングデバイスが持つデバイスIDのペアを含み、かつ消費率のフィールドがブランクであるエントリにステップS309で算出されたバッテリ消費率を登録し(ステップS310)、処理を終了する。
なお、センシングデバイスがユーザデバイス30でない場合、すなわちセンシングデバイスが代行デバイス50である場合(ステップS306No)、代行デバイス50は外部電源に接続されているので、必ずしもバッテリ消費率を算出せずともかまわない。この場合、そのまま処理が終了される。
[効果の一側面]
上述してきたように、本実施例に係るサーバ装置10は、ユーザデバイス30のバッテリ持続時間がサービス継続時間よりも長いか否かによってIoTサービスに用いるメディアデータをユーザデバイス30または代行デバイス50のいずれにセンシングさせるのかを選択する。
したがって、本実施例に係るサーバ装置10によれば、バッテリ切れによりIoTサービスが中断されるのを抑制できる。さらに、IoTサービスの提供中にユーザデバイス30のバッテリ切れが起こらない限り、ユーザデバイス30の選択が優先されるので、代行デバイス50によりセンシングされる場合に比べて高品質なメディアデータをIoTサービスに用いることができる。さらに、バッテリ切れによってセンシングの主体がユーザデバイス30から代行デバイス50へ切り替わることも抑制できる。それ故、IoTサービスが開始されてから終了するまで一連のメディアデータを得ることができ、メディアデータに映像のコマ落ちや音切れなどが発生するのも抑制できる。
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
[ユーザデバイス30の選択肢]
上記の実施例1では、1人のユーザにより携帯されるユーザデバイス30が1つである場合を例示したが、ユーザにより携帯されるユーザデバイス30は複数であってもかまわない。例えば、1人のユーザがヘッドマウントディスプレイ及びスマートウォッチを装着すると共にスマートフォンを携帯する状況も存在しうる。このような状況に対応するために、デバイスデータ13cに所有者のフィールドを追加し、当該フィールドにIoTデバイスの所有者のユーザIDを登録しておく。その上で、IoTサービスの開始要求を行うデバイスIDに対応付けられたユーザIDと一致するエントリをデバイスデータ13cから抽出することにより、当該ユーザIDが付与されたユーザにより携帯されるユーザデバイス30のデバイスIDの一覧を作成できる。この場合、一覧に含まれるユーザデバイス30ごとにバッテリ持続時間を算出する。その上で、ユーザデバイス30ごとに算出されたバッテリ持続時間のうち最大のバッテリ持続時間がサービス継続時間を超える場合、当該最大のバッテリ持続時間が算出されたデバイスIDを持つユーザデバイス30をセンシングデバイスとして選択する。これによって、1人のユーザにより複数のユーザデバイス30が携帯される場合でもセンシングデバイスを適切に選択できる。
[サービス継続時間の推定方法の応用例]
上記の実施例1では、上記のステップS106で抽出されたエントリの継続時間を平均することによりサービス継続時間を算出する場合を例示したが、平均以外の統計処理を行うことによりサービス継続時間を推定することもできる。例えば、上記のステップS106で抽出されたエントリの継続時間のうち最頻値や中央値をサービス継続時間として推定することもできる。この他、上記のステップS106で抽出されたエントリの継続時間のうち最大値をサービス継続時間として推定することもできる。これによって、履歴から推定するサービス継続時間が過小評価されるのを抑制できる結果、サービス継続時間の見積もりの甘さによりユーザデバイス30のバッテリ切れが生じるのを抑制できる。
[バッテリ持続時間の推定方法の応用例]
上記の実施例1では、上記のステップS108で抽出されたエントリのバッテリ消費率を平均することによりバッテリ持続時間を算出する場合を例示したが、平均以外の統計処理を行うことによりバッテリ持続時間を推定することもできる。例えば、上記のステップS108で抽出されたエントリのバッテリ消費率のうち最頻値や中央値をサービス継続時間として推定することもできる。この他、上記のステップS108で抽出されたエントリのバッテリ消費率のうち最大値を用いてバッテリ持続時間として推定することもできる。これによって、履歴から推定するバッテリ持続時間が過大評価されるのを抑制できる結果、バッテリ持続時間の見積もりの甘さによりユーザデバイス30のバッテリ切れが生じるのを抑制できる。
[再推定1]
上記の実施例1では、バッテリ持続時間の推定がIoTサービスの開始要求を受け付けた段階に絞って行われる場合を例示したが、ユーザデバイス30がセンシングデバイスとして選択された後も、改めてバッテリ持続時間を推定することもできる。例えば、サーバ装置10は、IoTサービスが開始された後、所定の周期、例えば10分間が経過する度にバッテリ持続時間を再推定することもできる。より具体的には、第1の取得部15aは、上記の周期が経過する度にユーザデバイス30からバッテリ残量を取得する。そして、第2の推定部15cは、IoTサービスの開始後に取得されたバッテリ残量と上記のステップS105で開始要求の受付時に取得されたバッテリ残量との差分をIoTサービスの開始時刻からの経過時間で除算することにより、バッテリ持続時間を再推定する。このように過去の履歴から見積もられるバッテリ消費率の代わりにIoTサービスの提供が開始されてから実際に消費されたバッテリ消費量の実測値からバッテリ持続時間を再推定する。その上で、選択部15dは、再推定されたバッテリ持続時間が開始要求の受付時に推定されたサービス継続時間よりも長いか否かを判定する。このとき、バッテリ持続時間がサービス継続時間よりも長い場合、センシングデバイスをユーザデバイス30のままとし、バッテリ持続時間がサービス継続時間以下である場合、センシングデバイスをユーザデバイス30から代行デバイス50へ切り替える。これによって、IoTサービスが開始されてからの経過時間が長くなるほどバッテリ持続時間の推定を正確に行うことができる結果、開始要求の受付時のバッテリ持続時間の推定に誤差がある場合でもユーザデバイス30がバッテリ切れを起こす前にセンシングデバイスを代行デバイス50に切り替えることができる。
[再推定2]
上記の実施例1では、サービス継続時間の推定がIoTサービスの開始要求を受け付けた段階に絞って行われる場合を例示したが、ユーザデバイス30がセンシングデバイスとして選択された後も、改めてサービス継続時間を推定することもできる。例えば、サーバ装置10は、IoTサービスが開始された後、所定の周期、例えば10分間が経過する度にサービス継続時間を再推定することもできる。より具体的には、第1の推定部15bは、上記の周期が経過する度に、上記のステップS106で抽出されたエントリのうちIoTサービスが開始されてからの経過時間よりも長い継続時間を持つエントリを再抽出する。その上で、第1の推定部15bは、再抽出されたエントリの継続時間を用いて、サービス継続時間を再推定する。これによって、IoTサービスが開始されてからの経過時間よりも短い継続時間を持つ履歴をサービス継続時間の推定から除外して再推定を行うことができる。その上で、選択部15dは、開始要求の受付時に推定されたバッテリ持続時間が再推定のサービス継続時間よりも長いか否かを判定する。このとき、バッテリ持続時間がサービス継続時間よりも長い場合、センシングデバイスをユーザデバイス30のままとし、バッテリ持続時間がサービス継続時間以下である場合、センシングデバイスをユーザデバイス30から代行デバイス50へ切り替える。なお、本項で説明する「再推定2」は、前項で説明した「再推定1」と組み合わせて実施することもできる。すなわち、再推定されたバッテリ持続時間と、再推定されたサービス継続時間との比較により、センシングデバイスを選択することもできる。
[再推定のタイミング]
上記の「再推定1」及び上記の「再推定2」では、サービス継続時間やバッテリ持続時間の再推定が一定の周期で繰り返し実行される場合を例示したが、上記のステップS107で開始要求の受付時に推定されたサービス継続時間が経過した後に始めて再推定が実行されることとしてもよい。これによって、再推定にかかる処理負荷を軽減できる。
[選択中のユーザデバイス30の継続使用]
また、途中でセンシングデバイスを切り替えるとサービス品質が低下するので、選択中のユーザデバイス30を継続して使用するとバッテリ切れを起こすと判断した場合にのみ、選択中のユーザデバイス30以外のユーザデバイス30のバッテリ持続時間を再推定し、センシングデバイスを再選択することもできる。具体的には、バッテリ持続時間の推定を、全てのユーザデバイス30ではなく、選択中のユーザデバイス30についてのみ実施し、再推定したサービス継続時間と選択中のユーザデバイス30のバッテリ持続時間を比較する。選択中のユーザデバイス30のバッテリ持続時間がサービス継続時間より長い場合は、選択中のユーザデバイス30をそのまま継続して再選択する。一方、選択中のユーザデバイス30のバッテリ持続時間がサービス継続時間より短い場合は、選択中のユーザデバイス30を継続して選択するとバッテリ切れを起こすと判断する。この判断の後、選択中のユーザデバイス30以外のユーザデバイス30について、バッテリ持続時間の再推定を実施してセンシングデバイスの再選択を実施する。これにより、選択中のユーザデバイス30がバッテリ切れを起こさない限り、選択中のユーザデバイス30を継続して使用することで、不必要なデバイス切替および切替に伴うサービス品質の低下を抑制できると共に、他のユーザデバイス30のバッテリ持続時間の再推定やセンシングデバイスの再選択を実施しないことで、これらにかかる処理負荷を低減できる。
[センシングデバイスの切替えタイミング]
一定間隔で映像を撮像して伝送するサービスなど、センシングデバイスからの映像や音声をリアルタイムで伝送せずともよいIoTサービスであれば、映像や音声を伝送せずともよい期間にセンシングデバイスを切り替えてもサービス品質は低下しない。そこで、IoTサービス毎にセンシングデバイスの切替可能タイミング、あるいは切替不能タイミングを管理しておき、選択中のセンシングデバイスとは異なるIoTデバイスを再選択した場合には、上記の切替可能タイミング、あるいは上記の切替不能タイミング以外でセンシングデバイスを切り替える。なお、切替可能タイミング、切替不能タイミングは、例えば、定期的な時刻(毎時30分など)やサービス開始からの経過時間(10分間隔)などIoTサービスの開始とともに静的に決まるタイミングでもよいし、音声が5分間ない状態など動的に決まるタイミングでもよい。これにより、センシングデバイスの切替によるサービス品質の低下を抑制できる。
[バッテリ残量の確保]
上記の実施例1では、ユーザデバイス30のバッテリ残量を、当該ユーザデバイス30をIoTサービスに使用した際の過去のバッテリ消費率で除算したものをバッテリ持続時間として推定する場合を例示した。つまり、バッテリ持続時間は、当該ユーザデバイス30をIoTサービスにのみ使用する場合の想定で推定されている。ところが、ユーザは、ユーザデバイス30をIoTサービスに使用するためだけではなく、電子メールを作成したり、スケジュールを管理したり、あるいは他のサービスや作業を行ったりするためにも使用する。そのため、ユーザデバイス30を使用してバッテリ残量が減りすぎると、これら別の目的のための使用ができなくなる。
そこで、上記のステップS109でバッテリ持続時間を推定する場合に、上記のステップS105で取得されるユーザデバイス30のバッテリ残量ではなく、IoTサービスの利用後、別の目的のために残すマージンが減じられたバッテリ残量を、使用可能なバッテリ残量としてバッテリ持続時間の推定に用いる。別の目的のために残すバッテリ残量の決定方法はここでは限定しないが、一定量でもよいし、ユーザやユーザデバイス30によって決定してもよいし、ユーザの当日の作業予定から算出してもよい。これにより、バッテリ残量を全てサービスに使用することを抑制し、IoTサービスの利用後もユーザデバイス30を使用できる。
[デバイス選択の条件緩和]
上記の実施例1では、サービス継続時間とバッテリ持続時間を比較してセンシングデバイスを選択する場合を例示したが、ユーザデバイス30の位置情報がサービスエリア外であり、かつ全てのユーザデバイス30のバッテリ持続時間がサービス継続時間より短い場合、選択可能なセンシングデバイスが存在せず、IoTサービスを提供できない事態に陥る。そこで、複数のユーザデバイス30を選択し、順に選択することでこれを解決することもできる。具体的には、開始要求の受付時に、サービス継続時間とバッテリ持続時間を比較し、バッテリ持続時間がサービス継続時間より短い場合には、複数のユーザデバイス30のバッテリ持続時間を合算する。このように合算されたバッテリ持続時間がサービス継続時間より長い場合には、上記複数のユーザデバイス30を順に選択し、IoTサービスに使用する。全てのユーザデバイス30のバッテリ持続時間を合算してもサービス継続時間より短い場合、全てのユーザデバイス30を順に使用してもIoTサービスの利用中にバッテリ切れを起こすので、代行デバイス50を選択する(ユーザデバイス30の位置情報がサービスエリア外である場合はIoTサービスは利用できない)。なお、IoTサービスに使用する複数のユーザデバイス30の選択方法は特に限定しないが、例えばユーザデバイス30のバッテリ持続時間が長いものから合算すればよい。これによって、バッテリ切れを起こさない単体のユーザデバイス30が存在しない場合であっても、IoTサービスを利用できる。
[複数サービスの対応]
上記の実施例1では、1つのIoTサービスが開始および終了する場合の処理について説明したが、多様なIoTサービスが存在する環境では、複数のIoTサービスが同時に利用されることもある。そこで、提供中の第1のサービスに加え、第1のサービスとは異なる第2のサービスを開始する時には、使用可能なデバイスのバッテリ残量と、ユーザデバイス30が第1および第2のサービスのセンシングデバイスとして併用された際の過去のバッテリ消費率に基づいて、バッテリ持続時間を推定する。具体的には、デバイス使用履歴データ13dには、対象デバイスを使用して利用した全てのIoTサービスのサービスID、デバイスID、開始時刻、バッテリ消費率のレコードが含まれる。すなわち、利用した複数のIoTサービスとデバイスの組合せ毎に、バッテリ消費率が保持される。
また、開始要求の受付時の処理として、第2の推定部15cは、全てのユーザデバイス30ごとに、以下に説明する処理を行う。これを具体的に説明すると、デバイス使用履歴データ13dを参照して、デバイスIDがユーザデバイス30のデバイスIDと同一であり、かつバッテリ消費率が空欄であるエントリを抽出する。以下、これをエントリCと記載する。このエントリCは、ユーザデバイス30をセンシングデバイスとして選択中であるIoTサービスの組合せを表し、よってユーザデバイス30に対して最大1つしか見つからない。
エントリCの抽出に成功した場合、デバイス使用履歴データ13dを再び参照して、サービスIDが、エントリCのサービスIDにIoTサービスの開始が要求されたサービスIDを加えたもので、さらにデバイスIDがユーザデバイス30のデバイスIDと同一であるエントリを抽出する。以下、これをエントリDと記載する。エントリDは、開始要求されたIoTサービスにユーザデバイス30を使用した場合に同時利用となるサービスの組合せに、ユーザデバイス30を使用した過去の履歴である。
エントリDが1つ以上見つかった場合、エントリDのバッテリ消費率の平均を求め、ユーザデバイス30のバッテリ残量を除算することにより、そのユーザデバイス30のバッテリ持続時間を推定する。これは、同じサービスの組合せに同じデバイスを使用した際のバッテリ消費率は類似する可能性が高い想定に基づく。
エントリDが1つも見つからない場合、すなわち同時利用となるサービスの組合せにユーザデバイス30を使用したことがない場合、ユーザデバイス30の現在のバッテリ消費率を、上記のステップS309の処理と同様の手順で求める。また、開始要求されたサービスにユーザデバイス30を使用した場合のバッテリ消費率を、上記のステップS109の処理と同様の手順で求める。このようにして求めた2つのバッテリ消費率を合算したものを、使用中のサービスと開始要求されたサービスを同時利用した際のバッテリ消費率として、ユーザデバイス30のバッテリ持続時間を推定する。
一方、エントリCが見つからない場合、ユーザデバイス30は現在どのサービスにも使用されていないため、開始要求されたサービスにユーザデバイス30を使用した場合のバッテリ持続時間を、上記のステップS109の処理と同様の手順で求める。
また、選択部15dは、センシングデバイスを選択した後、デバイス使用履歴データ13dに記録する際には、サービスIDに、ユーザデバイス30を使用中のサービスIDと、開始要求されたサービスIDを全て記録する。同時に、上記のエントリCに対して、上記のステップS309の処理と同様の手順でセンシングデバイスの現在のバッテリ消費率を計算して記録する。エントリCがない場合は、ユーザデバイス30はどのサービスにも使用されていなかったため、特に何もせずともかまわない。なお、IoTサービスの終了時は、上記の実施例1と同じである。以上の処理によって、単一のユーザデバイス30を併用して、複数のIoTサービスを利用できる。
ここで、複数のIoTサービスに対して、それぞれ異なるユーザデバイス30を使用すると、それぞれのユーザデバイス30の使用に電力を消費してしまう。そこで使用中のユーザデバイス30を同時利用できる場合には、優先的に選択する。具体的には、バッテリ持続時間の推定を、全てのユーザデバイス30ではなく、いずれかのサービスに使用中のユーザデバイス30についてのみ実施し、選択部15dの処理において、使用中のユーザデバイス30を継続して使用するとバッテリ切れを起こすと判断した場合にのみ、未使用のユーザデバイス30について、バッテリ持続時間の推定を実施する。これによって、使用するデバイス数を削減し、複数のIoTサービスを効率よく利用できる。
また、上記の処理において、他のIoTサービスでは未使用のユーザデバイス30を、開始要求されたIoTサービスに使用する場合には、他のユーザデバイス30を使用する他のIoTサービスについて、使用を開始するユーザデバイス30で同時利用できるか判定し、同時利用可能であればセンシングデバイスに切り替える。判定は、開始要求されたIoTサービスを開始した後、他のユーザデバイス30を使用する他のIoTサービスについて、上記のバッテリ持続時間の推定を実施し、同時利用できるかを判定すればよい。これによって、使用するデバイス数を削減し、複数のIoTサービスを効率よく利用できる。
ただしこのとき、センシングデバイスを切り替えるとサービス品質が低下してしまう。そこで、第1のサービスについて、使用中のユーザデバイス30を継続して使用するか、開始要求された第2のサービスに使用したユーザデバイス30に切り替えるかを、第1のサービスと第2のサービスのサービス継続時間に基づいて判断する。例えば、第1のサービスのサービス継続時間のうち、すでに半分以上が経過していればそのまま継続して使用してもよいし、第2のサービスのサービス継続時間が第1のサービスのサービス継続時間の残りより長い場合に、残りの時間全てを切替後のユーザデバイス30で使用できるため切り替えてもよい。
[デバイス選択プログラム]
また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図15を用いて、上記の実施例と同様の機能を有するデバイス選択プログラムを実行するコンピュータの一例について説明する。
図15は、実施例1及び実施例2に係るデバイス選択プログラムを実行するコンピュータのハードウェア構成例を示す図である。図15に示すように、コンピュータ100は、操作部110aと、スピーカ110bと、カメラ110cと、ディスプレイ120と、通信部130とを有する。さらに、このコンピュータ100は、CPU150と、ROM160と、HDD170と、RAM180とを有する。これら110〜180の各部はバス140を介して接続される。
HDD170には、図15に示すように、上記の実施例1で示した第1の取得部15a、第1の推定部15b、第2の推定部15c、選択部15d及び第2の取得部15eと同様の機能を発揮するデバイス選択プログラム170aが記憶される。このデバイス選択プログラム170aは、図2に示した第1の取得部15a、第1の推定部15b、第2の推定部15c、選択部15d及び第2の取得部15eの各構成要素と同様、統合又は分離してもかまわない。すなわち、HDD170には、必ずしも上記の実施例1で示した全てのデータが格納されずともよく、処理に用いるデータがHDD170に格納されればよい。
このような環境の下、CPU150は、HDD170からデバイス選択プログラム170aを読み出した上でRAM180へ展開する。この結果、デバイス選択プログラム170aは、図15に示すように、デバイス選択プロセス180aとして機能する。このデバイス選択プロセス180aは、RAM180が有する記憶領域のうちデバイス選択プロセス180aに割り当てられた領域にHDD170から読み出した各種データを展開し、この展開した各種データを用いて各種の処理を実行する。例えば、デバイス選択プロセス180aが実行する処理の一例として、図13〜図14に示す処理などが含まれる。なお、CPU150では、必ずしも上記の実施例1で示した全ての処理部が動作せずともよく、実行対象とする処理に対応する処理部が仮想的に実現されればよい。
なお、上記のデバイス選択プログラム170aは、必ずしも最初からHDD170やROM160に記憶されておらずともかまわない。例えば、コンピュータ100に挿入されるフレキシブルディスク、いわゆるFD、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」にデバイス選択プログラム170aを記憶させる。そして、コンピュータ100がこれらの可搬用の物理媒体からデバイス選択プログラム170aを取得して実行するようにしてもよい。また、公衆回線、インターネット、LAN、WANなどを介してコンピュータ100に接続される他のコンピュータまたはサーバ装置などにデバイス選択プログラム170aを記憶させておき、コンピュータ100がこれらからデバイス選択プログラム170aを取得して実行するようにしてもよい。
1 IoTシステム
10 サーバ装置
11 通信I/F部
13 記憶部
13a サービス利用履歴データ
13b バッテリデータ
13c デバイスデータ
13d デバイス使用履歴データ
15 制御部
15a 第1の取得部
15b 第1の推定部
15c 第2の推定部
15d 選択部
15e 第2の取得部
30 ユーザデバイス
50A,50B,50C 代行デバイス

Claims (9)

  1. 第1のデバイスからサービスの開始要求を受け付ける処理と、
    前記第1のデバイスの位置情報を取得する処理と、
    エリアごとに前記サービスの提供が継続された継続時間の履歴が記憶されている記憶部を参照して、前記位置情報が属するエリアに対応する継続時間の履歴から前記サービスの継続時間を推定する処理と、
    前記開始要求の受付時における第1のデバイスのバッテリ残量と前記第1のデバイスのバッテリ消費率とから、前記第1のデバイスのバッテリ持続時間を推定する処理と、
    前記サービスの継続時間と前記バッテリ持続時間に基づいて、前記第1のデバイスまたは前記位置情報が属するエリアに設置された第2のデバイスを選択する処理と、
    前記第1のデバイスまたは前記第2のデバイスのうち選択されたデバイスに前記サービスに用いるメディアデータのセンシングを実行させる処理と、
    をコンピュータが実行することを特徴とするデバイス選択方法。
  2. 前記選択する処理は、前記バッテリ持続時間が前記サービスの継続時間よりも長い場合に前記第1のデバイスを選択し、前記バッテリ持続時間が前記サービスの継続時間よりも長くない場合に前記第2のデバイスを選択することを特徴とする請求項1に記載のデバイス選択方法。
  3. 前記推定する処理は、前記位置情報が属するエリアに対応する継続時間の履歴のうち前記サービスが開始されてからの経過時間よりも短い継続時間の履歴を除外して前記サービスの継続時間を再推定することを特徴とする請求項1または2に記載のデバイス選択方法。
  4. 前記推定する処理は、前記サービスが開始されてからの経過時間が前記サービスの継続時間よりも大きい場合、前記サービスの継続時間の再推定を行うことを特徴とする請求項3に記載のデバイス選択方法。
  5. 前記推定する処理は、前記開始要求の受付時における第1のデバイスのバッテリ残量および前記サービスの開始後に取得された第1のデバイスのバッテリ残量の差分と、前記サービスが開始されてからの経過時間とから求まる第1のデバイスのバッテリ消費率を用いて、前記第1のデバイスのバッテリ持続時間を再推定することを特徴とする請求項1〜4のいずれか1つに記載のデバイス選択方法。
  6. 前記推定する処理は、前記位置情報が属するエリアに対応する継続時間の履歴のうち最大の継続時間を前記サービスの継続時間として推定することを特徴とする請求項1〜5のいずれか1つに記載のデバイス選択方法。
  7. 前記推定する処理は、前記第1のデバイスのバッテリ消費率の履歴のうち最大のバッテリ消費率を用いて、前記第1のデバイスのバッテリ持続時間を推定することを特徴とする請求項1〜6のいずれか1つに記載のデバイス選択方法。
  8. 第1のデバイスからサービスの開始要求を受け付ける処理と、
    前記第1のデバイスの位置情報を取得する処理と、
    エリアごとに前記サービスの提供が継続された継続時間の履歴が記憶されている記憶部を参照して、前記位置情報が属するエリアに対応する継続時間の履歴から前記サービスの継続時間を推定する処理と、
    前記開始要求の受付時における第1のデバイスのバッテリ残量と前記第1のデバイスのバッテリ消費率とから、前記第1のデバイスのバッテリ持続時間を推定する処理と、
    前記サービスの継続時間と前記バッテリ持続時間に基づいて、前記第1のデバイスまたは前記位置情報が属するエリアに設置された第2のデバイスを選択する処理と、
    前記第1のデバイスまたは前記第2のデバイスのうち選択されたデバイスに前記サービスに用いるメディアデータのセンシングを実行させる処理と、
    をコンピュータに実行させることを特徴とするデバイス選択プログラム。
  9. 第1のデバイスからサービスの開始要求を受け付ける受付部と、
    前記第1のデバイスの位置情報を取得する取得部と、
    エリアごとに前記サービスの提供が継続された継続時間の履歴が記憶されている記憶部を参照して、前記位置情報が属するエリアに対応する継続時間の履歴から前記サービスの継続時間を推定する第1の推定部と、
    前記開始要求の受付時における第1のデバイスのバッテリ残量と前記第1のデバイスのバッテリ消費率とから、前記第1のデバイスのバッテリ持続時間を推定する第2の推定部と、
    前記サービスの継続時間と前記バッテリ持続時間に基づいて、前記第1のデバイスまたは前記位置情報が属するエリアに設置された第2のデバイスを選択する選択部と、
    前記第1のデバイスまたは前記第2のデバイスのうち選択されたデバイスに前記サービスに用いるメディアデータのセンシングを実行させる制御部と、
    を有することを特徴とするデバイス選択装置。
JP2016159731A 2016-08-16 2016-08-16 デバイス選択方法、デバイス選択プログラム及びデバイス選択装置 Active JP6673096B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016159731A JP6673096B2 (ja) 2016-08-16 2016-08-16 デバイス選択方法、デバイス選択プログラム及びデバイス選択装置
US15/650,578 US10327167B2 (en) 2016-08-16 2017-07-14 Device selection method and device selection apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016159731A JP6673096B2 (ja) 2016-08-16 2016-08-16 デバイス選択方法、デバイス選択プログラム及びデバイス選択装置

Publications (2)

Publication Number Publication Date
JP2018029248A JP2018029248A (ja) 2018-02-22
JP6673096B2 true JP6673096B2 (ja) 2020-03-25

Family

ID=61190871

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016159731A Active JP6673096B2 (ja) 2016-08-16 2016-08-16 デバイス選択方法、デバイス選択プログラム及びデバイス選択装置

Country Status (2)

Country Link
US (1) US10327167B2 (ja)
JP (1) JP6673096B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11647090B2 (en) * 2018-01-15 2023-05-09 Korea Advanced Institute Of Science And Technology Spatio-cohesive service discovery and dynamic service handover for distributed IoT environments

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003274049A (ja) * 2002-03-19 2003-09-26 Fuji Photo Film Co Ltd 通信装置
US8478360B2 (en) * 2008-03-03 2013-07-02 Qualcomm Incorporated Facilitating power conservation in wireless client terminals
JP5099777B2 (ja) * 2008-09-09 2012-12-19 公立大学法人会津大学 センサ装置、センシング情報収集システム、センシング機能代替方法およびセンシング機能代替プログラム
US8543659B2 (en) * 2010-03-02 2013-09-24 Qualcomm Incorporated Apparatus and method for user equipment battery information reporting
KR102166781B1 (ko) * 2014-02-22 2020-10-16 삼성전자주식회사 요청 정보에 따른 장치 제어 방법 및 이를 지원하는 장치
KR102016644B1 (ko) * 2014-02-23 2019-08-30 삼성전자주식회사 전자 장치의 기능 및 리소스 운용 방법
WO2016137295A1 (en) * 2015-02-27 2016-09-01 Samsung Electronics Co., Ltd. Electronic device and application control method thereof

Also Published As

Publication number Publication date
US20180054748A1 (en) 2018-02-22
US10327167B2 (en) 2019-06-18
JP2018029248A (ja) 2018-02-22

Similar Documents

Publication Publication Date Title
JP6740251B2 (ja) 利用可能なネットワークの品質に基づいたネットワーク間の切替え
JP6196307B2 (ja) データ使用統計を考慮したデバイスのバックアップおよび更新
RU2538343C2 (ru) Сервер и способ работы с сервером, энергонезависимый машиночитаемый носитель данных, мобильный клиентский терминал и способ работы с терминалом
EP3502889A1 (en) Method and device for preloading application, storage medium, and terminal device
US8417239B1 (en) Wireless device coverage mapping
JP6955092B2 (ja) 端末の電力消費を低減するための方法、および端末
CN110831038B (zh) 网络切片资源调度方法及装置
EP3133502A1 (en) Terminal device, cloud device, method for driving terminal device, method for cooperatively processing data and computer readable recording medium
CN107943570B (zh) 应用管理方法、装置、存储介质及电子设备
JP7272694B2 (ja) 端末の電力消費を低減するための方法、および端末
CN108197958B (zh) 统计线下黄牛的方法、装置及存储介质
JP6673096B2 (ja) デバイス選択方法、デバイス選択プログラム及びデバイス選択装置
US20200037107A1 (en) Information processing device, terminal device, information processing method, and storage medium having program stored therein
JP2015115983A (ja) 電力管理システム、電力管理装置、電力管理方法、および電力管理プログラム
JP6140660B2 (ja) 端末装置、位置取得方法、及び、位置取得制御用プログラム
JP6698720B2 (ja) 通信制御プログラム、通信制御装置、通信制御方法、管理サーバ、管理方法及び管理プログラム
JP6494476B2 (ja) 情報処理装置
CN106663270B (zh) 广告招标装置和广告平台装置
JP6766434B2 (ja) デバイス選択方法、デバイス選択プログラム及びデバイス選択装置
JP2014171032A (ja) サーバー装置、通信システム、方法及びプログラム
JP6750526B2 (ja) 通信装置及び通信方法
US20230269652A1 (en) Control of communication handovers based on criticality of running software programs
JP2017175637A (ja) 装置、位置取得方法、及び、位置取得制御用プログラム
JP2015095678A (ja) 通信先切替装置、通信先切替方法、及び通信先切替プログラム
US9736750B2 (en) Radio communication system and communication control method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190513

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200217

R150 Certificate of patent or registration of utility model

Ref document number: 6673096

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150