(57)【要約】【課題】センサデータに関する処理の品質の大きな劣化を回避しつつセンサデータのトラヒック量を削減すること。【解決手段】転送装置は、センサデバイスからデータを受信する受信部と、サーバ装置へ転送されるデータ量を削減するための複数の変換方法の中から、受信されたデータに適用する変換方法を選択する選択部と、前記受信されたデータに対して、前記選択部によって選択された変換方法を適用する変換部と、変換後のデータを前記サーバ装置へ送信する送信部と、過去に選択された変換方法が適用された際のデータの転送に利用されるネットワークの負荷状況、又は当該変換方法が適用された際の前記サーバ装置による前記データの分析精度の履歴に基づいて、前記変換方法と前記負荷状況又は前記分析精度との関係を推定する第１の推定部とを有し、前記選択部は、前記関係に基づいて、前記受信されたデータに適用する変換方法を選択する。【選択図】図３
2018186391.tif 000002
【特許請求の範囲】
【請求項１】
転送装置であって、
センサデバイスからデータを受信する受信部と、
サーバ装置へ転送されるデータ量を削減するための複数の変換方法の中から、受信されたデータに適用する変換方法を選択する選択部と、
前記受信されたデータに対して、前記選択部によって選択された変換方法を適用する変換部と、
変換後のデータを前記サーバ装置へ送信する送信部と、
過去に選択された変換方法が適用された際のデータの転送に利用されるネットワークの負荷状況、又は当該変換方法が適用された際の前記サーバ装置による前記データの分析精度の履歴に基づいて、前記変換方法と前記負荷状況又は前記分析精度との関係を推定する第１の推定部とを有し、
前記選択部は、前記関係に基づいて、前記受信されたデータに適用する変換方法を選択する、
ことを特徴とする転送装置。
【請求項２】
前記選択部は、前記負荷状況又は前記分析精度の目標値を前記関係に当てはめて、前記受信されたデータに適用する変換方法を選択する、
ことを特徴とする請求項１記載の転送装置。
【請求項３】
前記変換方法ごとに前記データの削減率又は圧縮率が予め設定され、
前記第１の推定部は、過去に選択された変換方法ごとの、当該変換方法が適用された際のデータの転送に利用されるネットワークの負荷状況、又は当該変換方法が適用された際の前記サーバ装置による前記データの分析精度の履歴に基づいて、削減率又は圧縮率と前記負荷状況又は前記分析精度との関係を推定し、
前記選択部は、前記負荷状況の目標値を前記関係に当てはめた場合に得られる削減率又は圧縮率以下で最大の削減率又は圧縮率に対応する第１の変換方法、又は前記第１の変換方法と、前記分析精度の目標値を前記関係に当てはめた場合に得られる削減率又は圧縮率以上で最小の削減率又は圧縮率に対応する第２の変換方法とのうち、削減率又は圧縮率が小さい方の変換方法を選択する、
ことを特徴とする請求項２記載の転送装置。
【請求項４】
転送装置であって、
センサデバイスからデータを受信する受信部と、
サーバ装置へ転送されるデータ量を削減するための複数の変換方法の中から、受信されたデータに適用する変換方法を選択する選択部と、
前記受信されたデータに対して、前記選択部によって選択された変換方法を適用する変換部と、
変換後のデータを前記サーバ装置へ送信する送信部と、
当該転送装置から前記サーバ装置への可用帯域を推定する第２の推定部とを有し、
前記選択部は、前記可用帯域と、前記センサデバイスから受信されるデータの量又は前記データの属性とに基づいて、使用する帯域を決定し、前記使用する帯域を超えないように、前記変換方法を選択する、
ことを特徴とする転送装置。
【請求項５】
転送装置が、
センサデバイスからデータを受信する受信手順と、
サーバ装置へ転送されるデータ量を削減するための複数の変換方法の中から、受信されたデータに適用する変換方法を選択する選択手順と、
前記受信されたデータに対して、前記選択手順によって選択された変換方法を適用する変換手順と、
変換後のデータを前記サーバ装置へ送信する送信手順と、
過去に選択された変換方法が適用された際のデータの転送に利用されるネットワークの負荷状況、又は当該変換方法が適用された際の前記サーバ装置による前記データの分析精度の履歴に基づいて、前記変換方法と前記負荷状況又は前記分析精度との関係を推定する第１の推定手順とを実行し、
前記選択手順は、前記関係に基づいて、前記受信されたデータに適用する変換方法を選択する、
ことを特徴とする転送方法。
【請求項６】
転送装置が、
センサデバイスからデータを受信する受信手順と、
サーバ装置へ転送されるデータ量を削減するための複数の変換方法の中から、受信されたデータに適用する変換方法を選択する選択手順と、
前記受信されたデータに対して、前記選択手順によって選択された変換方法を適用する変換手順と、
変換後のデータを前記サーバ装置へ送信する送信手順と、
当該転送装置から前記サーバ装置への可用帯域を推定する第２の推定手順とを実行し、
前記選択手順は、前記可用帯域と、前記センサデバイスから受信されるデータの量又は前記データの属性とに基づいて、使用する帯域を決定し、前記使用する帯域を超えないように、前記変換方法を選択する、
ことを特徴とする転送方法。
【請求項７】
請求項１乃至４いずれか一項記載の各部としてコンピュータを機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、転送装置、転送方法及びプログラムに関する。
【背景技術】
【０００２】
ＩｏＴ（Internet of Things）においては、身の回りのあらゆるモノに組み込まれたセンサがネットワークを通じて繋がり、様々なアプリケーションを実現することが想定されている。例えば、非特許文献１においては、ＩｏＴにおけるアプリケーションとして宅内ロボット、生活介護、工業利用、物流等を挙げた上で、それらがほんの一例であり、さらに多様なアプリケーションの実現が見込まれることを示唆している。ＩｏＴでは、センサから送られたデータをネットワークを通じて収集し、さらにデータの分析を行い、そこから意味のある情報を抽出することで、様々なアプリケーションの実現を可能とする（非特許文献２）。
【０００３】
しかし、あらゆるモノにセンサが組み込まれることにより、収集されるセンサデータ量も膨大となるため、ネットワークへの負荷が問題となる。そのような問題に対し、非特許文献３では、クラウドと連携することで、転送する必要のないデータをエッジノードでトリミングするような方式を提案しているが、具体的にどのような基準でトリミングを行うかについてまでは議論されていない。
【０００４】
また、非特許文献４では、アプリケーションの要求に応じてエッジノードでデータのフィルタリング及び情報の抽出を行うことでトラヒック量やサーバ負荷を低減させる手法を提案し、非特許文献５では、圧縮センシングを用いることでトラヒック量を削減させる手法を提案している。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Atzori, Luigi, Antonio Iera, and Giacomo Morabito. "The internet of things: A survey," Computer networks 54.15 (2010): 2787-2805.
【非特許文献２】Charith Perera, Arkady Zaslavsky, Peter Christen, and Dimitrios Georgakopoulos. "Context aware computing for the internet of things: A survey," Communications Surveys & Tutorials, IEEE, Vol. 16, No. 1, pp. 414-454, 2014.
【非特許文献３】Aazam, Mohammad, and Eui-Nam Huh. "Fog computing and smart gateway based communication for cloud of things." Future Internet of Things and Cloud (FiCloud), 2014 International Conference on. IEEE, 2014.
【非特許文献４】Pohan Peng and Fuchun Joseph Lin, "Improving Fast Velocity and Large Volume Data Processing in IoT/M2M Platforms," IEEE World Forum on Internet of Things 2016.
【非特許文献５】Amarlingam Madapu, P Rajalakshmi, Durga Prasad K v v, Pradeep Mishra, "Compressed Sensing for Different Sensors: A Real Scenario for WSN and IoT," IEEE World Forum on Internet of Things 2016.
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記のように、ＩｏＴにおけるデータ量削減に対する研究は行われているが、エッジノードにおいてセンサデータにどのような処理を行うかは、ネットワークの負荷状況やサーバにおけるデータ分析の精度目標に応じて決定されるのが望ましい。特に、サーバにおいて少ない入力データで高精度な分析を行える場合、精度目標に応じたデータ処理をエッジノードで行うことで大幅にトラヒック量を削減することが期待される。また、センサデータの処理においては、データ自身の重要度についても考慮することがより望ましいと考えられる。
【０００７】
本発明は、上記の点に鑑みてなされたものであって、センサデータに関する処理の品質の大きな劣化を回避しつつセンサデータのトラヒック量を削減することを目的とする。
【課題を解決するための手段】
【０００８】
そこで上記課題を解決するため、転送装置は、センサデバイスからデータを受信する受信部と、サーバ装置へ転送されるデータ量を削減するための複数の変換方法の中から、受信されたデータに適用する変換方法を選択する選択部と、前記受信されたデータに対して、前記選択部によって選択された変換方法を適用する変換部と、変換後のデータを前記サーバ装置へ送信する送信部と、過去に選択された変換方法が適用された際のデータの転送に利用されるネットワークの負荷状況、又は当該変換方法が適用された際の前記サーバ装置による前記データの分析精度の履歴に基づいて、前記変換方法と前記負荷状況又は前記分析精度との関係を推定する第１の推定部とを有し、前記選択部は、前記関係に基づいて、前記受信されたデータに適用する変換方法を選択する。
【発明の効果】
【０００９】
センサデータに関する処理の品質の大きな劣化を回避しつつセンサデータのトラヒック量を削減することができる。
【図面の簡単な説明】
【００１０】
【図１】第１の実施の形態におけるネットワーク構成例を示す図である。
【図２】第１の実施の形態におけるエッジノードＮｅのハードウェア構成例を示す図である。
【図３】エッジノードＮｅの機能構成例を示す図である。
【図４】第２の実施の形態においてエッジノードＮｅが実行する処理手順の一例を説明するためのフローチャートである。
【図５】第２の実施の形態におけるサンプリングレートの計算方法の一例を示す図である。
【図６】第３の実施の形態においてエッジノードＮｅが実行する処理手順の一例を説明するためのフローチャートである。
【図７】第４の実施の形態におけるフィルタリングのポリシーの選択方法の一例を示す図である。
【図８】第８の実施の形態における重要度の計算処理の処理手順の一例を説明するためのフローチャートである。
【図９】シミュレーションの内容を説明するための図である。
【図１０】シミュレーションを行った際のサンプリングレートｐと分析精度との関係を表す図である。
【図１１】シミュレーションを行った際の入力データの有効な要素数と許容誤差内の要素数との関係を表す図である。
【発明を実施するための形態】
【００１１】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、第１の実施の形態におけるネットワーク構成例を示す図である。図１に示されるように、第１の実施の形態では、ネットワークの境界に位置し、センサデバイスｄを収容する（センサデバイスｄからのセンサデータを受信する）エッジノードＮｅ＿１〜２（以下、それぞれを区別しない場合「エッジノードＮｅ」という。）と、ネットワークの内部に位置するコアノードＮｃ＿１〜５（以下、それぞれを区別しない場合「コアノードＮｃ」という。）と、ネットワークの内部にあってパケット転送以外の処理（データ分析等）を行うサーバノードＮｓから構成されるようなネットワークを想定する。
【００１２】
センサデバイスｄからのセンサデータは、エッジノードＮｅへと送られ、エッジノードＮｅからコアノードＮｃを経由してサーバノードＮｓへと送られる。なお、図１では、センサデバイスｄからのセンサデータが無線によってエッジノードＮｅへ送信される例が示されているが、センサデバイスｄとエッジノードＮｅとは、有線のネットワークによって接続されてもよい。
【００１３】
サーバノードＮｓは、送られたデータの分析を行い、分析から得られた情報を用いてアプリケーションが提供する。エッジノードＮｅは、ネットワーク内のトラヒック量削減を目的として、サーバノードＮｓへと送信するセンサデータに対して、サンプリング、フィルタリング、又は圧縮などのデータ変換を実施する。データ変換の際には、ネットワーク内部の状態やアプリケーション要求を考慮するため、サーバノードＮｓ及びコアノードＮｃは、自身及びセンサデータの転送に利用される各リンクの負荷状況を周期的にエッジノードＮｅへとフィードバックする。また、サーバノードＮｓは、エッジノードＮｅから送られてきたセンサデータで分析を行った際の分析精度を周期的にエッジノードＮｅへとフィードバックする。エッジノードＮｅは、フィードバックされたネットワーク負荷状況及び分析精度に基づいて、センサデータに対して適用する変換方法を動的に変更する。
【００１４】
図２は、第１の実施の形態におけるエッジノードＮｅのハードウェア構成例を示す図である。図２のエッジノードＮｅは、それぞれバスＢで相互に接続されている補助記憶装置１０１、メモリ装置１０２、ＣＰＵ１０３、及びインタフェース装置１０４等を有する。
【００１５】
エッジノードＮｅでの処理を実現するプログラムは、補助記憶装置１０１にインストールされている。補助記憶装置１０１は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【００１６】
メモリ装置１０２は、プログラムの起動指示があった場合に、補助記憶装置１０１からプログラムを読み出して格納する。ＣＰＵ１０３は、メモリ装置１０２に格納されたプログラムに従ってエッジノードＮｅに係る機能を実行する。インタフェース装置１０４は、ネットワークに接続するためのインタフェースとして用いられる。
【００１７】
図３は、エッジノードＮｅの機能構成例を示す図である。第１の実施の形態では、発明の全体像について述べ、より具体的な内容については第２の実施の形態以降において述べる。
【００１８】
図３において、エッジノードＮｅは、データ収集部１１、データ変換部１２、データ送信部１３及び変換ポリシー決定部１４等を有する。変換ポリシー決定部１４は、入力部１４１、モデル推定部１４２、演算部１４３、出力部１４４、データ重要度計算部１４５、ＮＷ状態推定部１４６及び情報記憶部１４７等を含む。データ収集部１１、データ変換部１２、データ送信部１３、入力部１４１、モデル推定部１４２、演算部１４３、出力部１４４、データ重要度計算部１４５及びＮＷ状態推定部１４６は、エッジノードＮｅにインストールされた１以上のプログラムが、ＣＰＵ１０３に実行させる処理により実現される。情報記憶部１４７は、例えば、補助記憶装置１０１又はメモリ装置１０２等を用いて実現可能である。
【００１９】
データ収集部１１は、センサデバイスから送信されるセンサデバイスを受信（収集）する。データ変換部１２は、センサデータのデータ量を削減するための変換処理を実行する。データ送信部１３は、データ変換部１２によってデータ量が削減されたセンサデータを、サーバノードＮｓ宛てに送信（転送）する。
【００２０】
入力部１４１には、サーバノードＮｓやコアノードＮｃからネットワークの負荷状況、サーバノードＮｓに送られたデータを用いた分析精度が定期的（周期的）に送られてくる。負荷状況の具体例としては、コアノードＮｃ及びサーバノードＮｓのそれぞれのノードのＣＰＵ使用率や、各リンクのスループット、ＲＴＴ（Round Trip Time）等が考えられる。分析精度の具体例としては、推定標準偏差等が考えられる。収集された負荷状況及び分析精度は、エッジノードＮｅにおける現在のデータ変換ポリシーに関連付けられて情報記憶部１４７に記憶される。データ変換ポリシー（データ変換方法）の具体例としては、サンプリングレート、フィルタリングポリシー、圧縮アルゴリズム等が考えられる。
【００２１】
モデル推定部１４２は、情報記憶部１４７に記憶された過去の負荷状況、分析精度、及びデータ変換ポリシーの組み合わせを用いて、データ変換ポリシーと負荷状況の関係、及びデータ変換ポリシーと分析精度の関係モデルを推定する。推定の方法としては、回帰分析等が考えられる。推定された関係モデルは情報記憶部１４７に記憶される。
【００２２】
演算部１４３は、推定された関係モデル等に基づいて、データ変換ポリシーを動的に変更する。変更方法については、第２の実施の形態以降で具体的に述べる。変更されたデータ変換ポリシーは情報記憶部１４７に記憶された後、出力部１４４からデータ変換部１２へ出力される。データ変換部１２は、当データ変換ポリシーに対応した変換処理を実行する。
【００２３】
次に、第２の実施の形態について説明する。第２の実施の形態では第１の実施の形態と異なる点について説明する。第２の実施の形態において特に言及されない点については、第１の実施の形態と同様でもよい。
【００２４】
第２の実施の形態では、エッジノードＮｅでのデータ変換としてサンプリングを用いる。ここで、サンプリングレートｐは、以下のように動的に変更される。
【００２５】
エッジノードＮｅのＮＷ状態推定部１４６は、コアノードＮｃ及びサーバノードＮｓから周期的にフィードバックされる負荷状況（例えば、スループット）に基づいて、サーバノードＮｓまでのボトルネックリンクにおける使用率ρを当該周期ごとに計算する。フィードバックされる周期は、エッジノードＮｅにおいてサンプリングレートが変更される周期（以下、「変更周期」という。）と同じか、変更周期よりも短い周期でもよい。
【００２６】
エッジノードＮｅは、過去Ｎ個の使用率をρ＿ｉ（ｉ＝１，...，Ｎ）とし、さらにその時のサンプリングレートｐをｐ＿ｉ（ｉ＝１，...，Ｎ）として、（ｐ＿ｉ，ρ＿ｉ）の過去Ｎ個の組を記憶しておく。そのデータに基づいて、エッジノードＮｅは、ｐとρの関係式ｐ＝ｆ（ρ）を、回帰分析等を用いて推定する。また、サーバノードＮｓからフィードバックされた分析精度ｅについても同様に、過去Ｎ個の情報を用いてｐとｅの関係式ｐ＝ｇ（ｅ）を推定する。
【００２７】
関係式が推定されたら、エッジノードＮｅは、予め定められたボトルネックリンクにおけるリンク使用率の目標値ρ＊に基づいて、次の変更周期でのサンプリングレートｐ'を、ｐ'＝ｆ（ρ＊）と定める。又は、サーバノードＮｓにおける分析精度の目標値ｅ＊も予め定められて、ｐ'＝ｍｉｎ（ｆ（ρ＊），ｇ（ｅ＊））としてサンプリングレートｐ'が定められてもよい。これは、より小さいサンプリングレートで目標の精度を達成できる場合には、そのサンプリングレートを採用してトラヒック量の削減を行うためである。
【００２８】
図４は、第２の実施の形態においてエッジノードＮｅが実行する処理手順の一例を説明するためのフローチャートである。
【００２９】
入力部１４１には、サーバノードＮｓやコアノードＮｃから、ネットワークの負荷状況、及びサーバノードＮｓに送られたセンサデータを用いた分析精度ｅが変更周期ごとに送られてくる（Ｓ１０１）。
【００３０】
続いて、ＮＷ状態推定部１４６は、負荷状況（例えば、スループット）に基づいて、サーバノードＮｓまでのボトルネックリンクにおける使用率ρを計算する（Ｓ１０２）。ボトルネックリンクの使用率ρとしては、例えば、エッジノードＮｅから送信され各リンクを通過したデータ量（ｂｐｓ）を、当該各リンクの最大転送能力（ｂｐｓ）で除した値の中で、最も高い値が採用される。
【００３１】
分析精度ｅについては、例えば、センサデータが気温データのように実数を取る値であるとした場合に、最後の（直前の）変更周期において送られた全データの標準偏差として与えることができる。センサデータが非数値データの場合は、分析の目的に応じて精度を考えることができる。例えば、センサデータが画像や動画であり、センサ周辺の車の台数を推定するのが目的である場合、周期内に送られた各データを用いて推定された車の台数の標準偏差を分析精度ｅとすることができる。
【００３２】
続いて、入力部１４１は、使用率ρ及び分析精度ｅを、情報記憶部１４７に記憶されている、現在のエッジノードＮｅでのセンサデータに対するサンプリングレートｐに関連付けて情報記憶部１４７に記憶する（Ｓ１０３）。ステップＳ１０１及びＳ１０３は、予め定められた定数Ｎ個以上のｐ、ρ、ｅの組が情報記憶部１４７に記憶されるまで続けて実行される（Ｓ１０４）。
【００３３】
Ｎ個以上のｐ、ρ、ｅの組が情報記憶部１４７に新たに記憶されると（Ｓ１０４でＹｅｓ）、モデル推定部１４２は、直近のＮ個のρ、ｅとｐの組（ρ＿ｉ，ｐ＿ｉ）及び（ｅ＿ｉ，ｐ＿ｉ）（ｉ＝１，...，Ｎ）を用いて、ρとｐの関係モデルｐ＝ｆ（ρ）及びｅとｐの関係モデルｐ＝ｇ（ｅ）を推定し（Ｓ１０５）、当該関係モデルを情報記憶部１４７に記憶する（Ｓ１０６）。推定の方法としては、例えば、回帰分析等の方法が考えられる。本来、ρ及びｅは、ｐに応じて変化する数値であるが、ここではｐを制御するのが目的であるため、ｐをρ及びｅで表現した逆関数を求めていることになる。
【００３４】
なお、図４に基づく制御がネットワークで行われる初期には、ρ、ｅ及びｐに関するデータ（履歴）が無いため、シミュレーション等で求めたｆ、ｇを初期モデルとして保存しておき、ある程度データが収集されたら、ｆ、ｇを実データに合わせて更新していくようにしてもよい。
【００３５】
続いて、演算部１４３は、予め定められ、情報記憶部１４７に記憶されている、ボトルネックリンクの使用率の目標値ρ＊及び分析精度ｅの目標値ｅ＊と、ステップＳ１０５において推定された関係モデルとを用いて、次の変更周期におけるサンプリングレートｐ'を、図５に示されるように、ｐ'＝ｆ（ρ＊）又はｐ'＝ｍｉｎ（ｆ（ρ＊），ｇ（ｅ＊））として計算する（Ｓ１０７）。計算されたサンプリングレートｐ'は、情報記憶部１４７に記憶される。
【００３６】
前者（ｐ'＝ｆ（ρ＊））は、リンクの使用率のみを考慮した決定法である。後者（ｐ'＝ｍｉｎ（ｆ（ρ＊），ｇ（ｅ＊）））は、前者よりも小さいサンプリングレートで所望の分析精度を満足できる場合には、そのサンプリングレートを採用する事を示しており、より少ない情報量で精度を向上させるような分析をサーバノードＮｓ側で実施することで、トラヒック削減の効果を向上させることができる。
【００３７】
続いて、出力部１４４は、サンプリングレートｐ'を、データ変換部１２へと送る（Ｓ１０８）。データ変換部１２は、サンプリングレートｐ'に基づいてサンプリングを行う。
【００３８】
次に、第３の実施の形態について説明する。第３の実施の形態では第１の実施の形態と異なる点について説明する。第３の実施の形態において特に言及されない点については、第１の実施の形態と同様でもよい。
【００３９】
第３の実施の形態では、エッジノードＮｅでのデータ変換としてサンプリングを用いる。エッジノードＮｅは、エッジノードＮｅからサーバノードＮｓまでの可用帯域Ｂ［ｂｐｓ］を推定する。エッジノードＮｅは、Ｂの範囲内において、実際に用いる帯域Ｂ＿ｉ［ｂｐｓ］を、エッジノードＮｅ＿ｉ（末尾のｉは、エッジノードＮｅの識別子）におけるデータの重要度ｗ＿ｉに応じた値として定める。データの重要度は、エッジノードＮｅ＿ｉで収集されたセンサデータのデータ量に応じて決定される。エッジノードＮｅでは、Ｂ＿ｉを超えないようにセンサデータのサンプリングを行う。エッジノードＮｅ＿ｉにおいてセンサデータが収集される周期をＴとし、Ｔの期間において、エッジノードＮｅ＿ｉが収容する各センサデバイスからのセンサデータのデータ量の合計をＡ＿ｉ［ｂｉｔ］とすると、データ量がＢ＿ｉを超えないようにするためのサンプリングレートｐ＿ｉは、ｐ＿ｉ＝ｍｉｎ｛Ｂ＿ｉ×Ｔ／Ａ＿ｉ，１．０｝と表される。ここで、ｐ＿ｉ＝１．０となるのは、センサデータをサンプリングせずに全てサーバノードＮｓに送信してもＢ＿ｉを超えない事を意味している。
【００４０】
図６は、第３の実施の形態においてエッジノードＮｅが実行する処理手順の一例を説明するためのフローチャートである。図６の処理手順を実行するエッジノードＮｅをエッジノードＮｅ＿ｉとする。図６の処理手順は、変更周期ごとに実行される。
【００４１】
ステップＳ２０１において、データ収集部１１から入力部１４１に対して、周期Ｔ［ｓ］においてエッジノードＮｅ＿ｉに送られてきたセンサデータの合計サイズＡ＿ｉ［ｂｉｔ］、周期Ｔ［ｓ］、及び過去にそのエッジノードＮｅで収集されたデータの量Ｍ＿ｉ［ｂｉｔ］が入力される。Ｍ＿ｉの計算方法は、アプリケーションに応じて様々な方法が考えられる。例えば、１時間毎の交通量をセンサデータから求めたい場合、データの重要度に関係するのは高々直近１時間に得られたデータ量であるため、過去１時間に収集された全データ量をＭ＿ｉとして計算する方法などが考えられる。なお、周期Ｔは、変更周期と同じ周期であってもよいし、異なる周期であってもよい。
【００４２】
続いて、ＮＷ状態推定部１４６は、エッジノードＮｅ＿ｉからサーバノードＮｓまでの可用帯域Ｂ［ｂｐｓ］を推定する（Ｓ２０２）。例えば、テストパケットをエッジノードＮｅ＿ｉからサーバノードＮｓへ送信するのに要した時間を用いて可用帯域Ｂ［ｂｐｓ］が推定されてもよい。
【００４３】
続いて、データ重要度計算部１４５は、Ｍ＿ｉに応じて決まるデータの重要度ｗ＿ｉを計算する（Ｓ２０３）。ｗ＿ｉを決めるモデルは、データ量が少ないほどこれまでに得られている情報が少ないため重要度が高く、データ量が多いほど重要度が低くなるように、ｗ＿ｉがＭ＿ｉに反比例するようなモデル等が考えられる。なお、データの重要度を考慮せず全てのデータを等価に扱いたい場合には、ｗ＿ｉ＝１  ｆｏｒ  ａｌｌ  ｉ（すなわち、全てのエッジノードＮｅ＿ｉについてｗ＿ｉ＝１）とすればよい。
【００４４】
続いて、演算部１４３は、可用帯域Ｂのうち実際に用いる帯域Ｂ＿ｉを、エッジノードＮｅ＿ｉにおけるデータの重要度ｗ＿ｉを考慮して計算する（Ｓ２０４）。Ｂ＿ｉの決め方としては、例えば、重要度ｗ＿ｉが低いデータほど使える帯域を小さくするために、Ｂ＿ｉ＝ｗ＿ｉＢとするような方法などが考えられる。
【００４５】
続いて、演算部１４３は、Ｂ＿ｉを超えないようなサンプリングレートｐ＿ｉを計算する（Ｓ２０５）。周期Ｔにおいて送られてくるセンサデータの合計サイズがＡ＿ｉ［ｂｉｔ］である場合、そのセンサデータの全てをサーバノードＮｓに送信するのに必要な帯域は、Ａ＿ｉ／Ｔ［ｂｐｓ］と計算される。Ｂ＿ｉを超えないようにセンサデータをサンプリングすることを考えると、サンプリングレートｐ＿ｉは、ｐ＿ｉ＝ｍｉｎ｛Ｂ＿ｉ×Ｔ／Ａ＿ｉ，１．０｝として計算される。ｐ＿ｉが１となるのは、全てのセンサデータを送信しても可用帯域Ｂを超えない場合である。
【００４６】
続いて、出力部１４４は、計算されたｐ＿ｉを、エッジノードＮｅ＿ｉのデータ変換部１２へと送る（Ｓ２０６）。データ変換部１２は、当該ｐ＿ｉに基づいて、サンプリングを行う。
【００４７】
次に、第４の実施の形態について説明する。第４の実施の形態では第２の実施の形態と異なる点について説明する。第４の実施の形態において特に言及されない点については、第２の実施の形態と同様でもよい。
【００４８】
第４の実施の形態では、エッジノードＮｅでのデータ変換としてフィルタリングを用いる。エッジノードＮｅは、センサデータのサイズや属性に応じたフィルタリングポリシーを複数用意し、それぞれのフィルタリングポリシーを用いた際のデータの削減率ｑについても予め与えられているとする。削減率とは、削減される割合をいう。例えば、削減率９０％は、元のデータ量の１０％に削減されることをいう。
【００４９】
フィルタリングのポリシーとしては、データのサイズや属性に応じた様々な方法が考えられる。例えば、予め定めた閾値サイズ以下のセンサデータをサーバノードＮｓへ送る方法や、センサデータの属性（ｅ．ｇ．画像ｏｒ動画、公式のセンサデータｏｒクラウドソーシングによるデータ）が予め定めたポリシーに当てはまる場合に、センサデータをサーバノードＮｓへ送る方法などが考えられる。ここでは、複数のフィルタリングポリシーＦ＿１，Ｆ＿２，...，Ｆ＿Ｌ（Ｌ：全ポリシー数）をエッジノードＮｅが選択できるとし、さらに各ポリシーを用いた際のデータ量の削減率の期待値ｑ＿１，ｑ＿２，...，ｑ＿Ｌについては予め計算され、情報記憶部１４７に記憶されているとする。
【００５０】
第４の実施の形態における処理手順の基本的な流れは、第２の実施の形態（図４）と同様である。
【００５１】
但し、ステップＳ１０３において、入力部１４１は、使用率ρ及び分析精度ｅを、情報記憶部１４７に記憶されている、現在のエッジノードＮｅでのセンサデータに対するフィルタリングポリシーの削減率の期待値ｑに関連付けて情報記憶部１４７に記憶する。ステップＳ１０１及びＳ１０３は、予め定められた定数Ｎ個のｑ、ρ、ｅの組が情報記憶部１４７に新たに記憶されるまで続けて実行される（Ｓ１０４）。
【００５２】
また、ステップＳ１０５において、モデル推定部１４２は、第２の実施の形態と同様に、過去に各フィルタリングポリシーを用いた際のデータ量の削減率の期待値ｑとρ、ｅとの組に基づいて、ｑとρの関係モデルｑ＝ｆ（ρ）と、ｑとｅの関係モデル７ｑ＝ｇ（ｅ）を推定する。なお、ｑとフィルタリングポリシーとは１対１に対応する。したがって、これらの関係モデルは、フィルタリングポリシーとρ又はｅとの関係モデルであるともいえる。
【００５３】
また、ステップＳ１０７において、演算部１４３は、次の変更周期で用いるフィルタリングポリシーとして、図７に示されるように、ｑ'≦ｆ（ρ＊）を満足しつつｑ'を最大にするようなポリシーを選択する。これは、ネットワーク負荷に関する制約を満足しつつ、出来るだけ多くの情報をサーバノードＮｓに送るためである。
【００５４】
或いは、ｑ'≦ｆ（ρ＊）を満足しつつｑ'を最大にするようなポリシーを用いた時のｑをｑ＿ａとし、ｑ'≧ｇ（ｅ＊）を満足しつつｑ'を最小にするようなポリシーを用いた時のｑをｑ＿ｂとして、ｍｉｎ（ｑ＿ａ，ｑ＿ｂ）に対応するポリシーが選択されてもよい。これは、分析精度を満足するのに必要な情報がｑ＿ａより少ない場合は、ｑ＿ｂに対応するポリシー採用することでよりトラヒック量を削減するためであり、より少ない情報量で精度を向上させるような分析をサーバ側で実施することで、ｇ（ｅ＊）が小さくなり、トラヒック削減の効果を向上させることができる。
【００５５】
また、ステップＳ１０８において、出力部１４４は、選択されたフィルタリングポリシーをデータ変換部１２へ出力する。データ変換部１２は、当該フィルタリングポリシーに基づいてフィルタリングを行う。
【００５６】
次に、第５の実施の形態について説明する。第５の実施の形態では第３の実施の形態と異なる点について説明する。第５の実施の形態において特に言及されない点については、第３の実施の形態と同様でもよい。
【００５７】
第５の実施の形態では、エッジノードＮｅでのデータ変換としてフィルタリングを用いる。
【００５８】
第５の実施の形態における処理手順の基本的な流れは、第３の実施の形態（図６）と同様である。
【００５９】
但し、ステップＳ２０５において、演算部１４３は、入力部１４１より入力された、エッジノードＮｅ＿ｉに送られてくるセンサデータの合計サイズＡ＿ｉ［ｂｉｔ］及び周期Ｔ［ｓ］を用いて、フィルタリングポリシーとして、ｑ'≦ｍｉｎ｛Ｂ＿ｉ×Ｔ／Ａ＿ｉ，１．０｝を満足しつつｑ'を最大にするようなフィルタリングポリシーを選択する。
【００６０】
また、ステップ２０６において、出力部１４４は、選択されたフィルタリングポリシーをデータ変換部１２へ出力する。
【００６１】
次に、第６の実施の形態について説明する。第６の実施の形態では第４の実施の形態と異なる点について説明する。第６の実施の形態において特に言及されない点については、第４の実施の形態と同様でもよい。
【００６２】
第６の実施の形態では、エッジノードＮｅでのデータ変換として圧縮を用いる。圧縮の方法としては、様々なコーデック技術や圧縮センシング（非特許文献４参照）等が考えられる。また、単純な圧縮以外にも、アプリケーションに応じた分析をエッジノードＮｅ側で行って、データ量を圧縮する方法も考えられる。例えば、カメラから収集した画像をセンサデータとして車の交通量の分析を行う場合、エッジノードＮｅ側で画像内の車の台数を分析し、台数のみの情報に圧縮する方法も考えられる。ここでは、複数の圧縮アルゴリズムＤ＿１，Ｄ＿２，...，Ｄ＿Ｌ（Ｌ：全アルゴリズム数）をエッジノードＮｅは選択できるとし、更に、各圧縮アルゴリズムを用いた際のデータ量の圧縮率ｒ＿１，ｒ＿２，...，ｒ＿Ｌについては予め計算され、情報記憶部１４７に記憶されている。圧縮率とは、圧縮される割合をいい、圧縮率９０％とは、元のデータ量が１０％に削減されることをいう。
【００６３】
第６の実施の形態における処理手順の基本的な流れは、第４の実施の形態（図４）と同様である。
【００６４】
但し、ステップＳ１０３において、入力部１４１は、使用率ρ及び分析精度ｅを、情報記憶部１４７に記憶されている、現在のエッジノードＮｅでのセンサデータに対する圧縮アルゴリズムの圧縮率の期待値ｒに関連付けて情報記憶部１４７に記憶する。ステップＳ１０１及びＳ１０３は、予め定められた定数Ｎ個以上のｒ、ρ、ｅの組が情報記憶部１４７に新たに記憶されるまで続けて実行される（Ｓ１０４）。
【００６５】
また、ステップＳ１０５において、モデル推定部１４２は、第４の実施の形態と同様に、過去に各圧縮アルゴリズムを用いた際のデータ量の削減率の期待値ｒとρ、ｅとの組に基づいて、ｒとρの関係モデルｒ＝ｆ（ρ）と、ｒとｅの関係モデルｒ＝ｇ（ｅ）を推定する。
【００６６】
また、ステップＳ１０７において、演算部１４３は、次の変更周期で用いる圧縮アルゴリズムとして、ｒ'≦ｆ（ρ＊）を満足しつつｒ'を最大にするような圧縮アルゴリズムを選択する。これは、ネットワーク負荷に関する制約を満足しつつ出来るだけ多くの情報をサーバノードＮｓに送るためである。
【００６７】
或いは、ｒ'≦ｆ（ρ＊）を満足しつつｒ'を最大にするような圧縮アルゴリズムを用いた時のｒをｒ＿ａとし、ｒ'≧ｇ（ｅ＊）を満足しつつｒ'を最小にするような圧縮アルゴリズムを用いた時のｒをｒ＿ｂとして、ｍｉｎ（ｒ＿ａ，ｒ＿ｂ）に対応する圧縮アルゴリズムが選択されてもよい。これは、分析精度を満足するのに必要な情報がｒ＿ａより少ない場合は、ｒ＿ｂに対応する圧縮アルゴリズムを採用することでよりトラヒック量を削減するためであり、より少ない情報量で精度を向上させるような分析をサーバ側で実施することで、ｇ（ｅ＊）が小さくなり、トラヒック削減の効果を向上させることができる。
【００６８】
また、ステップＳ１０８において、出力部１４４は、選択された圧縮アルゴリズムをデータ変換部１２へ出力する。データ変換部１２は、当該圧縮アルゴリズムに基づいて圧縮を行う。
【００６９】
次に、第７の実施の形態について説明する。第７の実施の形態では第３の実施の形態と異なる点について説明する。第７の実施の形態において特に言及されない点については、第３の実施の形態と同様でもよい。
【００７０】
第７の実施の形態では、エッジノードＮｅでのデータ変換として圧縮を用いる。
【００７１】
第７の実施の形態における処理手順の基本的な流れは、第３の実施の形態（図６）と同様である。
【００７２】
但し、ステップＳ２０５において、演算部１４３は、入力部１４１より入力された、エッジノードＮｅ＿ｉに送られてくるセンサデータの合計サイズＡ＿ｉ［ｂｉｔ］及び周期Ｔ［ｓ］を用いて、圧縮アルゴリズムとして、ｒ'≦ｍｉｎ｛Ｂ＿ｉ×Ｔ／Ａ＿ｉ，１．０｝を満足しつつｒ'を最大にするようなアルゴリズムを選択する。
【００７３】
また、ステップ２０６において、出力部１４４は、選択された圧縮アルゴリズムをデータ変換部１２へ出力する。
【００７４】
次に、第８の実施の形態について説明する。第８の実施の形態では、第３、第５又は第７の実施の形態と異なる点について説明する。第８の実施の形態において特に言及されない点については、第３、第５又は第７の実施の形態と同様でもよい。
【００７５】
第８の実施の形態では、第３の実施の形態、第５の実施の形態及び第７の実施の形態におけるデータの重要度を、データ量ではなくセンサデータの属性に応じて与える。具体的には、図６のステップＳ２０３において、図８に示した処理が実行される。
【００７６】
図８は、第８の実施の形態における重要度の計算処理の処理手順の一例を説明するためのフローチャートである。
【００７７】
ステップＳ３０１において、入力部１４１は、データ収集部１１によって収集（受信）されたセンサデータを入力する。
【００７８】
続いて、データ重要度計算部１４５は、当該センサデータの重要度を計算する（Ｓ３０２）。具体的には、センサデータの属性Ｃ＿ｋとその属性に係るセンサデータの重要度ｗ＿ｋの組｛（Ｃ＿１，ｗ＿１），（Ｃ＿２，ｗ＿２），...，（Ｃ＿Ｋ，ｗ＿Ｋ）｝（Ｋ：全属性数）が予め情報記憶部１４７に記憶されている。データ重要度計算部１４５は、入力されたセンサデータの属性ｋに対応する重要度ｗ＿ｋを選択する。センサデータの属性に応じた重要度としては、例えば、センサデータの種別に応じて、情報の多いデータ種別ほど重要度を高くする（ｅ．ｇ．｛Ｃ＿１＝数値データ，ｗ＿１＝０．３｝，｛Ｃ＿２＝画像データ，ｗ＿２＝０．５｝，｛Ｃ＿３＝動画データ，ｗ＿ｅ＝０．８｝）といった方法や、センサデータの送信元のセンサデバイスｄに応じて重要度を与える（ｅ．ｇ．｛Ｃ＿１＝クラウドソーシング，ｗ＿１＝０．３｝，｛Ｃ＿２＝高価センサ，ｗ＿２＝０．８｝）といった方法が考えられる。
【００７９】
なお、第８の実施の形態において、同じエッジノードＮｅに収容される各センサデバイスｄは、共通の属性のセンサデータを送信することとする。
【００８０】
上述したように、上記各実施の形態によれば、ＩｏＴ等における膨大なセンサデータを削減する際に、ネットワークの負荷状況やアプリケーションの要求（使用率ρの目標値や分析精度ｅの目標値）、データ自身の重要度を考慮した上で削減を行うことで、アプリケーションの品質を大きく損なうこと無くトラヒック量を削減することができる。
【００８１】
続いて、第２の実施の形態に基づくエッジノードにおけるセンサデータのサンプリングレートの決定についての検証結果について説明する。
【００８２】
ここでは、ネットワークの負荷状況については考慮しない（すなわち、ρ＊＝∞である）とし、分析精度ｅの目標値ｅ＊に応じてサンプリングレートが決定されるとする。
【００８３】
センサデータとしては、車載カメラからの画像を想定し、サーバノードにおける分析では、画像解析により車両数を計算し、交通量マップを作成するようなアプリケーションについて考える。
【００８４】
検証には、「http://www.crawdad.org/」から入手した、サンフランシスコ・ベイエリアのタクシーログデータ５３６台分を用いた。ログデータにはログ時刻、緯度、経度が記録されている。検証に際してログデータは扱いやすいようにデータ整形を施した。すなわち、ログ時刻を１分単位でそろえ（例えば、１分未満は切り捨て）、新たな座標（ログ時刻１分単位でそろえた後のログデータの緯度及び経度）を線形補間により生成した。さらに、各ログデータに対して、直前の時刻の座標（緯度、経度）と比較することにより走行・停止の状態を付加した。上記のような整形後のログデータのうち、２００８年５月１８日から５月２２日の５日分、緯度［３７．７６，３４．８０］、経度［−１４４．４５，−１４４．４１］の範囲のログデータを用いた。
【００８５】
シミュレーションでは、図９に示されるように、全車両５３６台の１０％にあたる５３台の車両が車載カメラを搭載していると仮定し、前述範囲（緯度［３７．７６，３４．８０］、経度［−１４４．４５，−１４４．４１］）を１度ずつ１６区画に分割した各区画をエッジサーバが１台ずつ担当することとした。
【００８６】
センサ車両ＩＤと時刻（全６０分）の表を作成し、ある時刻において車載カメラが搭載されたセンサ車両が停止・走行していることを０・１で表す。すなわち、０は停止を示し、１は走行を示す。表は各区画について１時間ごとに作成され、１つの表が特定の区画・時間の交通量に対応することになる。なお、センサ車両は、走行中には常に画像を撮影し、停止中には画像を撮影しない。したがって、表中の１は、センサ車両が画像を撮影したことを意味し、該当時刻におけるセンサ車両の座標に着目することで、画像内に存在しているはずの車両数を算出する。具体的には、該当時刻の非センサ車両のログデータを参照し、センサ車両の一定範囲内に存在する走行中の非センサ車両とセンサ車両自身をカウントした。同じ表中の（つまり同じ区画に存在する）他のセンサ車両についても同様に重複を許さずカウントし、カウント結果を集計することで、該当時刻・区画における交通量とした。さらに、これを６０分ごとに合算し、その区画でのある１時間の交通量とし、これを交通量の基本単位として扱った。
【００８７】
エッジノードによるサンプリングについては、以下のようにシミュレーションに反映した。前述の表から一定の割合ｐで１をランダムに抽出し、抽出した１に該当するセンサ車両・時刻について前述の処理により交通量を算出した。
【００８８】
エッジノードがサンプリングを行う場合、全ての画像がサーバノード側には送られないため、サーバノードは、欠損のあるデータを入力とし、真の交通量を推定する必要がある。ここでは、ニューラルネットワークによる推定を行った結果を示す。
【００８９】
図１０は、シミュレーションを行った際のサンプリングレートｐと分析精度との関係を表す図である。図１０において、横軸がエッジノードにおけるサンプリングレートｐを表し、縦軸が精度を表す。評価は、ニューラルネットワークの学習エポック数毎に行っている。エッジノードは、精度の目標値に応じてサンプリングレートｐを制御することで、所望のアプリケーション品質を満足しつつトラヒック量を削減することが可能となる。例えば、精度の目標値が０．９である場合、図１０の精度の評価結果から、ｐ＝０．２５でエポック数２００の学習を行えば、精度目標値０．９を達成できるため、エッジノードにおいてサンプリングレートを０．２５に設定することで、所望の品質を満足しつつトラヒック量を四分の一に削減することが可能となる。
【００９０】
また、第２の実施の形態と第８の実施の形態とを組み合わせた例として、サンプリングしたデータの重要度を高くすることで、重要な情報を低遅延で取得する例について示す。ここでは、上述と同様にスマートカーがモバイルセンサとして近隣の車両数を観測して交通データとして送信し、収集した交通データから地点ごと及び時間ごとの混雑度マップをナレッジとして提供する、というシナリオを想定した。
【００９１】
上述のサンフランシスコベイエリアのタクシー５３６台のログデータを用い、機械学習として欠損値補完による推定手法であるＩＡＬＭ（Inexact Augmented Lagrange Multipliers[Lin at el., 2010]）を用いた。このときの行列の要素は、地点ごと時間ごとの車両数である。また、推定された数値が真の数値に対し１０未満の誤差であれば代替可能とした。
【００９２】
図１１は、シミュレーションを行った際の入力データの有効な要素数と許容誤差内の要素数との関係を表す図である。図１１の結果から、有効な要素数の割合（地点×時間分の車両数の行列のうち、欠損値でないものの割合）が６０％の場合でも、許容誤差内で推定できた要素数（地点×時間分の車両数の行列のうち、推定による欠損値補完をおこなった上での、欠損値でないものの割合）が８０％となることが分かった。特筆すべきは、これら６０％の要素が、たった１０台程度のタクシーの送信データから得られたものであるとうことである。つまり、５３６台のデータのうち、高々２％のデータでカバー率８０％の混雑度マップを生成可能であった。ここで、データを生成する車両をデータの属性とみなし、この２％のデータを生成している車両のデータに対する重要度ｗを高く設定し、遅延の少ないネットワークリソースを割り当てることで、重要なナレッジ（＝混雑度マップ）を低遅延で取得できようになる。
【００９３】
なお、上記各実施の形態において、エッジノードＮｅは、転送装置の一例である。サーバノードＮｓは、サーバ装置の一例である。データ収集部１１は、受信部の一例である。演算部１４３は、選択部の一例である。データ変換部１２は、変換部の一例である。データ送信部１３は、送信部の一例である。モデル推定部１４２は、第１の推定部の一例である。ＮＷ状態推定部１４６は、第２の推定部の一例である。
【００９４】
以上、本発明の実施の形態について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００９５】
１１          データ収集部
１２          データ変換部
１３          データ送信部
１４          変換ポリシー決定部
１０１        補助記憶装置
１０２        メモリ装置
１０３        ＣＰＵ
１０４        インタフェース装置
１４１        入力部
１４２        モデル推定部
１４３        演算部
１４４        出力部
１４５        データ重要度計算部
１４６        ＮＷ状態推定部
１４７        情報記憶部
Ｂ            バス
Ｎｃ          コアノード
Ｎｅ          エッジノード
Ｎｓ          サーバノード
ｄ            センサデバイス
【図１】
2018186391.tif 000003
【図２】
2018186391.tif 000004
【図３】
2018186391.tif 000005
【図４】
2018186391.tif 000006
【図５】
2018186391.tif 000007
【図６】
2018186391.tif 000008
【図７】
2018186391.tif 000009
【図８】
2018186391.tif 000010
【図９】
2018186391.tif 000011
【図１０】
2018186391.tif 000012
【図１１】
2018186391.tif 000013