(57)【要約】【課題】データ全体の品質を保ちつつ、送信データ量を削減できる送信制御装置、送信制御方法及び送信制御プログラムを提供する。【解決手段】送信制御装置１は、データを取得する取得部１１と、データに対して、ハッシュ値を算出する算出部１２と、ハッシュ値とブルームフィルタとを照合し、データを送信するか否かを判定する判定部１３と、判定結果に基づいて、データを送信する送信部１４と、データを送信した場合、同一データの送信を抑制するようにブルームフィルタを更新する更新部１５と、所定期間毎に、ブルームフィルタの少なくとも一部をリセットするリセット部１６と、を備える。【選択図】図１
2019004341.tif 000002
【特許請求の範囲】
【請求項１】
データを取得する取得部と、
前記データに対して、ハッシュ値を算出する算出部と、
前記ハッシュ値とブルームフィルタとを照合し、前記データを送信するか否かを判定する判定部と、
前記判定部による判定結果に基づいて、前記データを送信する送信部と、
前記データを送信した場合、同一データの送信を抑制するように前記ブルームフィルタを更新する更新部と、
所定期間毎に、前記ブルームフィルタの少なくとも一部をリセットするリセット部と、を備える送信制御装置。
【請求項２】
複数の装置間で前記ブルームフィルタの情報を交換し、統合した情報で前記ブルームフィルタを更新する統合部を備える請求項１に記載の送信制御装置。
【請求項３】
前記リセット部は、所定期間毎に置き換える新たなブルームフィルタを、過去の複数のブルームフィルタを用いた論理演算により生成する請求項１又は請求項２に記載の送信制御装置。
【請求項４】
前記リセット部は、前記複数のブルームフィルタのＡＮＤ演算により、前記新たなブルームフィルタを生成する請求項３に記載の送信制御装置。
【請求項５】
前記更新部は、前記ブルームフィルタに、同一データの送信回数を記録し、
前記判定部は、前記送信回数が閾値を超えるデータを送信しないと判定する請求項１又は請求項２に記載の送信制御装置。
【請求項６】
前記リセット部は、所定期間毎に置き換える新たなブルームフィルタに記録する各送信回数を、過去の複数のブルームフィルタに記録された各送信回数を足し合わせた後、所定数で割った値とする請求項５に記載の送信制御装置。
【請求項７】
データを取得する取得ステップと、
前記データに対して、ハッシュ値を算出する算出ステップと、
前記ハッシュ値とブルームフィルタとを照合し、前記データを送信するか否かを判定する判定ステップと、
前記判定ステップにおける判定結果に基づいて、前記データを送信する送信ステップと、
前記データを送信した場合、同一データの送信を抑制するように前記ブルームフィルタを更新する更新ステップと、
所定期間毎に、前記ブルームフィルタの少なくとも一部をリセットするリセットステップと、をコンピュータが実行する送信制御方法。
【請求項８】
データを取得する取得ステップと、
前記データに対して、ハッシュ値を算出する算出ステップと、
前記ハッシュ値とブルームフィルタとを照合し、前記データを送信するか否かを判定する判定ステップと、
前記判定ステップにおける判定結果に基づいて、前記データを送信する送信ステップと、
前記データを送信した場合、同一データの送信を抑制するように前記ブルームフィルタを更新する更新ステップと、
所定期間毎に、前記ブルームフィルタの少なくとも一部をリセットするリセットステップと、をコンピュータに実行させるための送信制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、送信データをフィルタリングする装置、方法及びプログラムに関する。
【背景技術】
【０００２】
従来、ＩｏＴ（Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇｓ）の普及により、各種センサデバイスがネットワークに接続され、様々なアプリケーションに利用されるようになっている。
例えば、非特許文献１には、ＩｏＴデバイスからのデータ収集の仕様が規定されている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】ＥＵ  ＦＰ７  ｐｒｏｊｅｃｔ，  ｉＣｏｒｅ，  Ｄ２．２  Ｓｅｃｕｒｉｔｙ  ｒｅｑｕｉｒｅｍｅｎｔｓ  ｆｏｒ  ｔｈｅ  ｉＣｏｒｅ  ｃｏｇｎｉｔｉｖｅ  ｍａｎａｇｅｍｅｎｔ  ａｎｄ  ｃｏｎｔｒｏｌ  ｆｒａｍｅｗｏｒｋ，  ＷＰ２  Ｃｏｇｎｉｔｉｖｅ  ｍａｎａｇｅｍｅｎｔ  ａｎｄ  ｃｏｎｔｒｏｌ  ｆｒａｍｅｗｏｒｋ  ｆｏｒ  ＩｏＴ，  Ｖｅｒｓｉｏｎ  １．０，  ３１  Ｍａｙ  ２０１２
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、温度、圧力等の環境条件を監視するスマートセンサ、及び個人の健康状態を測定するウェアラブルデバイス等のＩｏＴデバイスは、それぞれが周期的に大量のデータを生成し、ネットワークへ送出する。
しかしながら、気温又は気圧等の変化の少ないデータを測定するセンサデバイス等、ＩｏＴデバイスの種類によっては、同一のデータが大量に生成される場合も多い。この場合、同一のデータによりネットワークの通信帯域が圧迫されていた。
【０００５】
本発明は、データ全体の品質を保ちつつ、送信データ量を削減できる送信制御装置、送信制御方法及び送信制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明に係る送信制御装置は、データを取得する取得部と、前記データに対して、ハッシュ値を算出する算出部と、前記ハッシュ値とブルームフィルタとを照合し、前記データを送信するか否かを判定する判定部と、前記判定部による判定結果に基づいて、前記データを送信する送信部と、前記データを送信した場合、同一データの送信を抑制するように前記ブルームフィルタを更新する更新部と、所定期間毎に、前記ブルームフィルタの少なくとも一部をリセットするリセット部と、を備える。
【０００７】
前記送信制御装置は、複数の装置間で前記ブルームフィルタの情報を交換し、統合した情報で前記ブルームフィルタを更新する統合部を備えてもよい。
【０００８】
前記リセット部は、所定期間毎に置き換える新たなブルームフィルタを、過去の複数のブルームフィルタを用いた論理演算により生成してもよい。
【０００９】
前記リセット部は、前記複数のブルームフィルタのＡＮＤ演算により、前記新たなブルームフィルタを生成してもよい。
【００１０】
前記更新部は、前記ブルームフィルタに、同一データの送信回数を記録し、前記判定部は、前記送信回数が閾値を超えるデータを送信しないと判定してもよい。
【００１１】
前記リセット部は、所定期間毎に置き換える新たなブルームフィルタに記録する各送信回数を、過去の複数のブルームフィルタに記録された各送信回数を足し合わせた後、所定数で割った値としてもよい。
【００１２】
本発明に係る送信制御方法は、データを取得する取得ステップと、前記データに対して、ハッシュ値を算出する算出ステップと、前記ハッシュ値とブルームフィルタとを照合し、前記データを送信するか否かを判定する判定ステップと、前記判定ステップにおける判定結果に基づいて、前記データを送信する送信ステップと、前記データを送信した場合、同一データの送信を抑制するように前記ブルームフィルタを更新する更新ステップと、所定期間毎に、前記ブルームフィルタの少なくとも一部をリセットするリセットステップと、をコンピュータが実行する。
【００１３】
本発明に係る送信制御プログラムは、データを取得する取得ステップと、前記データに対して、ハッシュ値を算出する算出ステップと、前記ハッシュ値とブルームフィルタとを照合し、前記データを送信するか否かを判定する判定ステップと、前記判定ステップにおける判定結果に基づいて、前記データを送信する送信ステップと、前記データを送信した場合、同一データの送信を抑制するように前記ブルームフィルタを更新する更新ステップと、所定期間毎に、前記ブルームフィルタの少なくとも一部をリセットするリセットステップと、をコンピュータに実行させるためのものである。
【発明の効果】
【００１４】
本発明によれば、ＩｏＴデバイスから提供するデータ全体の品質を保ちつつ、送信データ量を削減できる。
【図面の簡単な説明】
【００１５】
【図１】実施形態に係る送信制御装置の機能構成を示すブロック図である。
【図２】実施形態に係るブルームフィルタの概要を示す図である。
【図３】実施形態に係るブルームフィルタのリセット方法を例示する図である。
【図４】実施形態に係る送信制御方法を示すフローチャートである。
【発明を実施するための形態】
【００１６】
以下、本発明の実施形態の一例について説明する。
図１は、本実施形態に係る送信制御装置１の機能構成を示すブロック図である。
送信制御装置１は、制御部１０及び記憶部２０の他、入出力及び通信インタフェース等を備えた情報処理装置（コンピュータ）である。制御部１０は、記憶部２０に記憶された所定のソフトウェア（送信制御プログラム）を読み込み実行することにより、後述の各部として機能する。
これにより、送信制御装置１は、ＩｏＴプラットフォームの管理コスト削減のために、センサ等のＩｏＴデバイスから送出されるデータを、ブルームフィルタを用いてフィルタリングし、必要なデータのみをＩｏＴプラットフォームへと送信する。
【００１７】
制御部１０は、取得部１１と、算出部１２と、判定部１３と、送信部１４と、更新部１５と、リセット部１６と、統合部１７とを備える。
記憶部２０は、送信制御プログラムの他、過去に送信したデータを記録しておくメモリ領域としてのブルームフィルタ等を記憶する。
【００１８】
図２は、本実施形態に係るブルームフィルタの概要を示す図である。
ブルームフィルタでは、フィルタリング対象のデータに対して、１又は複数のハッシュ値が計算され、これらのハッシュ値それぞれに対応するビット位置に１が立てられる。
この例では、ｘ，ｙ，ｚに対して、それぞれ３種類の関数によりハッシュ値が計算され、これらのハッシュ値に対応する計７箇所のビットに１が立っている。
このように、記憶部２０は、ブルームフィルタにより、過去に送信したデータを、データサイズを圧縮して記録する。
【００１９】
あるデータについて、フィルタを通過させるか破棄するかを判断する場合、ハッシュ値に対応するビットの値が参照される。すなわち、計算したハッシュ値に対応する全てのビットが１である場合、このデータは破棄され、いずれかのビットが０であれば、フィルタを通過する。
例えば、データｗに対して計算された３つのハッシュ値に対応するビットのうち、１つが０のため、データｗはフィルタを通過する。
【００２０】
また、ブルームフィルタを拡張したカウンタブルブルームフィルタは、各ビット位置のカウント値をさらに保持し、各データに対するビットに１を立てる際に、対応するカウント値も更新（＋１）される。
これにより、どのデータがどの程度送信されたのかが記録される。
【００２１】
取得部１１は、ＩｏＴデバイスからＩｏＴプラットフォームへ送信するためのデータを取得する。
算出部１２は、取得したデータに対して、１又は複数のハッシュ関数を用いて、ハッシュ値を算出する。
【００２２】
判定部１３は、ハッシュ値とブルームフィルタとを照合し、取得したデータを送信するか否かを判定する。
また、カウンタブルブルームフィルタを用いている場合、判定部１３は、送信回数を示すカウント値が閾値を超えるデータを送信しないと判定する。
送信部１４は、判定部１３による判定結果に基づいて、データを外部へ送信する。
【００２３】
更新部１５は、ブルームフィルタを通過しデータを送信した場合、同一データの送信を抑制するため、前述のようにブルームフィルタのビットを更新する。
さらに、カウンタブルブルームフィルタを用いている場合、更新部１５は、同一データの送信回数を示すカウント値を更新する。
【００２４】
リセット部１６は、所定期間、例えば一定の時間又は更新回数毎に、ブルームフィルタの少なくとも一部をリセットする。
リセットの方法としては、全てのビット、又はランダムに選択されたビットが０に更新されてもよいし、例えば、以下の方法によりブルームフィルタが更新されてもよい。
【００２５】
図３は、本実施形態に係るブルームフィルタのリセット方法を例示する図である。
リセット部１６は、所定期間毎に使用するブルームフィルタを置き換える。このとき、リセット部１６は、新たに置き換えるブルームフィルタを、過去に使用した複数のブルームフィルタを用いた論理演算により生成する。
【００２６】
例えば、リセット部１６は、２個以上の所定数のブルームフィルタのＡＮＤ演算により、新たなブルームフィルタを生成する。これにより、複数のブルームフィルタに渡って連続して同一のデータが送信された場合には、新たなブルームフィルタでも対応するビットが１となるが、その他のビットは０に更新されるため、データがフィルタを通過しやすくなる。
【００２７】
なお、ＡＮＤ演算の入力とする過去のブルームフィルタの数を増やすほど、リセット時にビットは１になり難く、送信が抑制されるデータ数がより緩やかに増加していく。リセットのアルゴリズムは、ＩｏＴプラットフォームの運用状況及びデータの種類等に応じて適宜設定されてよい。
【００２８】
また、カウンタブルブルームフィルタを用いる場合、リセット部１６は、所定期間毎に置き換える新たなフィルタに記録する各カウント値を、過去の複数のブルームフィルタに記録された各カウント値を足し合わせた後、所定数で割った値とする。これにより、送信回数が平均化、あるいは、より小さい値に更新される。
【００２９】
統合部１７は、近隣に設置された同種のデータを提供する複数の送信制御装置１の間で、ブルームフィルタの情報を交換し、統合した情報で自身のブルームフィルタを更新する。具体的には、統合部１７は、例えばビット毎のＯＲ演算によって、他の送信制御装置１から既に送信されたデータも記録することで、重複したデータ送信を抑制する。
【００３０】
図４は、本実施形態に係る送信制御方法を示すフローチャートである。
ステップＳ１において、取得部１１は、ＩｏＴデバイスから送信対象のデータを取得する。
ステップＳ２において、算出部１２は、取得されたデータについて、ハッシュ関数を用い、ブルームフィルタと照合するためのハッシュ値を計算する。
【００３１】
ステップＳ３において、判定部１３は、ステップＳ２で計算したハッシュ値を、現在のブルームフィルタと照合し、データを送信するか否かを判定する。この判定がＹＥＳの場合、処理はステップＳ４に移り、判定がＮＯの場合、処理はステップＳ６に移る。
【００３２】
ステップＳ４において、送信部１４は、既に送信されたデータとは異なるとステップＳ３で判定されたデータを、ＩｏＴプラットフォームへ向けて送信する。
ステップＳ５において、更新部１５は、送信したデータに関して、ブルームフィルタの対応するビットを更新する。
【００３３】
ステップＳ６において、リセット部１６は、ブルームフィルタを新しく置き換えるための一定期間が経過したか否かを判定する。この判定がＹＥＳの場合、処理はステップＳ７に移り、判定がＮＯの場合、処理は、ステップＳ８に移る。
【００３４】
ステップＳ７において、リセット部１６は、前述した所定のアルゴリズムによって新たなブルームフィルタに置き換える。
【００３５】
ステップＳ８において、制御部１０は、指示入力等に基づき処理を終了するか否かを判定する。この判定がＹＥＳの場合、処理は終了し、判定がＮＯの場合、処理はステップＳ１に戻る。
【００３６】
なお、ＩｏＴプラットフォーム側では、送信制御装置１を介してＩｏＴデバイスからデータが送信されて来ない場合には、例えば、直前のデータと同一にしたり、平均値で置き換えたり等、データ補完を行ってデータの欠損を防いでもよい。
【００３７】
本実施形態によれば、送信制御装置１は、ブルームフィルタを用いて過去に送信したデータを記録しておき、同一データを送信しないようにフィルタリングすることで、ＩｏＴデバイスから提供するデータ全体の品質を保ちつつ、送信データ量を削減できる。この結果、ＩｏＴプラットフォームにおけるデータの管理及び運用コストが削減される。
さらに、送信制御装置１は、所定期間毎にブルームフィルタをリセットすることにより、過剰なフィルタリングを抑制し、適度なデータ提供を実現できる。
【００３８】
送信制御装置１は、近隣の同種のデータを提供する装置とブルームフィルタの情報を交換し、統合した情報でブルームフィルタを更新する。これにより、送信制御装置１は、複数のＩｏＴデバイスが設けられた環境において、重複したデータ送信を抑制でき、データ送信量を適切に削減できる。
【００３９】
送信制御装置１は、ブルームフィルタを所定期間毎に置き換えることでリセットしつつも、新たなブルームフィルタでは、前回までの複数のブルームフィルタの情報をＡＮＤ演算等により引き継ぐ。これにより、送信が抑制されるデータが緩やかに増加していく。
【００４０】
送信制御装置１は、カウンタブルブルームフィルタを用い、送信回数が閾値を超えるデータを破棄することにより、送信頻度に応じてデータをフィルタリングできる。
また、送信制御装置１は、カウンタブルブルームフィルタをリセットする際には、前回までの複数のブルームフィルタに記録された送信回数を足し合わせた後、所定の数で割った値を用いる。これにより、送信制御装置１は、カウンタブルブルームフィルタに記録された送信回数を適度に更新できる。
【００４１】
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、本実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本実施形態に記載されたものに限定されるものではない。
【００４２】
送信制御装置１による送信制御方法は、ソフトウェアにより実現される。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、情報処理装置（コンピュータ）にインストールされる。また、これらのプログラムは、ＣＤ−ＲＯＭのようなリムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。さらに、これらのプログラムは、ダウンロードされることなくネットワークを介したＷｅｂサービスとしてユーザのコンピュータに提供されてもよい。
【符号の説明】
【００４３】
１  送信制御装置
１０  制御部
１１  取得部
１２  算出部
１３  判定部
１４  送信部
１５  更新部
１６  リセット部
１７  統合部
２０  記憶部
【図１】
2019004341.tif 000003
【図２】
2019004341.tif 000004
【図３】
2019004341.tif 000005
【図４】
2019004341.tif 000006