JP6834740B2 - 送信プログラム、送信方法および情報処理装置 - Google Patents

送信プログラム、送信方法および情報処理装置 Download PDF

Info

Publication number
JP6834740B2
JP6834740B2 JP2017082934A JP2017082934A JP6834740B2 JP 6834740 B2 JP6834740 B2 JP 6834740B2 JP 2017082934 A JP2017082934 A JP 2017082934A JP 2017082934 A JP2017082934 A JP 2017082934A JP 6834740 B2 JP6834740 B2 JP 6834740B2
Authority
JP
Japan
Prior art keywords
data
sensor
unit
identification information
transmitted
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
JP2017082934A
Other languages
English (en)
Other versions
JP2018182639A (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 JP2017082934A priority Critical patent/JP6834740B2/ja
Priority to US15/953,566 priority patent/US10567513B2/en
Publication of JP2018182639A publication Critical patent/JP2018182639A/ja
Application granted granted Critical
Publication of JP6834740B2 publication Critical patent/JP6834740B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/06Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services
    • H04W4/08User group management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/38Services specially adapted for particular environments, situations or purposes for collecting sensor information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/70Services for machine-to-machine communication [M2M] or machine type communication [MTC]

Description

本発明は、送信プログラム、送信方法および情報処理装置に関する。
Internet Of Things(IoT)では、温度、湿度、圧力といったセンサのデータをサーバが受け、サーバがインターネットなどのネットワークを通じてクラウドに送信する。
特開2014−078134号公報 特開2002−368623号公報 特表2016−521402号公報 特開2012−221368号公報
しかし、サーバが、数十台〜数百台のセンサから得られる大量なデータをクラウドに送信する場合、ネットワークに掛かる負荷が大きくなる。
そこで、ネットワークに掛かる負荷を軽減する次のような手法が考えられる。例えば、サーバは、クラウドへ送信済みのデータに対して一意のID(Identifier)を対応付けて記憶する。サーバは、センサから新たにデータを受け付けた場合、受け付けたデータを記憶したデータと順に比較する。同じデータが記憶されている場合、サーバは、IDをクラウドへ送信する。一方、同じデータが記憶されていない場合、サーバは、IDとデータをクラウドへ送信する。
しかしながら、受け付けたセンサのデータを、全てのセンサの送信済みデータと比較した場合、受け付けたデータを送信するか否かの判定負荷が大きくなる。
一つの側面では、受け付けたデータを送信するか否かの判定負荷を軽減できる送信プログラム、送信方法および情報処理装置を提供することにある。
一つの態様では、送信プログラムは、センサにより検出されたデータと、該センサを識別する識別情報とを受け付ける処理をコンピュータに実行させる。送信プログラムは、センサ群を識別する識別情報を、該センサ群に含まれるセンサに対応付けて記憶する第1記憶部を参照して、受け付けた識別情報に対応付けられたセンサ群を特定する処理をコンピュータに実行させる。送信プログラムは、センサ群に含まれるセンサにより検出された送信済みのデータを、該センサ群に対応付けて記憶する第2記憶部を参照して、特定したセンサ群に対応付けられた送信済みのデータを取得する処理をコンピュータに実行させる。送信プログラムは、取得した送信済みのデータに、受け付けたデータが含まれるか否かを判定する処理をコンピュータに実行させる。送信プログラムは、受け付けたデータが含まれる場合、送信済みのデータの識別情報を、該データに対応付けて記憶する第3記憶部を参照して、該送信済みのデータに対応付けられた識別情報を取得する処理をコンピュータに実行させる。送信プログラムは、受け付けたデータを送信せずに、取得した識別情報を送信する処理をコンピュータに実行させる。
一つの側面として、受け付けたデータを送信するか否かの判定負荷を軽減できる。
図1は、実施例1のシステムの構成の一例を示す図である。 図2は、実施例1の管理サーバの構成を示すブロック図である。 図3は、実施例1のグループデータの一例を示す図である。 図4は、実施例1のキャッシュメモリのデータ構成を説明する図である。 図5は、キャッシュメモリからのデータの読み出しを説明する図である。 図6は、センサからデータを収集する流れを説明する図である。 図7は、実施例1の送信処理の一例を示すフローチャートである。 図8は、実施例2の管理サーバの構成を示すブロック図である。 図9は、実施例2の送信処理の一例を示すフローチャートである。 図10は、送信プログラムを実行するコンピュータの一例を示す図である。
以下、図面に基づいて、本願の開示する送信プログラム、送信方法および情報処理装置の実施例を詳細に説明する。なお、本実施例により、開示技術が限定されるものではない。また、以下の実施例は、矛盾しない範囲で適宜組みあわせてもよい。
[システム全体の説明]
最初に、センサからのデータを収集するシステムの概略的な構成を説明する。図1は、実施例1のシステムの構成の一例を示す図である。システム10は、センサ20と、ゲートウェイ30と、管理サーバ40と、クラウドサーバ50とを有する。
センサ20、ゲートウェイ30および管理サーバ40は、状態の検出を行う現地側に設けられている。ゲートウェイ30および管理サーバ40は、ネットワークN1を通じて相互に通信可能に接続されている。かかるネットワークN1には、有線または無線を問わず、LAN(Local Area Network)などの任意の種類の通信網を採用できる。
クラウドサーバ50は、クラウド側に設けられている。管理サーバ40およびクラウドサーバ50は、ネットワークN2を通じて相互に通信可能に接続されている。かかるネットワークN2には、有線または無線を問わず、インターネット(Internet)を始め、LANやVPN(Virtual Private Network)などの任意の種類の通信網を採用できる。
センサ20は、状態の検出を行う検出対象に設けられたセンサ機器である。IoTでは、様々な検出対象にセンサ20が設けられ、センサ20により、検出対象の状態の検出が行われる。図1の例では、センサ20を3つ図示したが、センサ20は任意の数とすることができる。本実施例では、様々な場所にセンサ20を設け、センサ20により、状態として温度、圧力を検出する場合を例に説明する。なお、検出する状態は、温度、圧力に限定されるものではない。
センサ20は、状態を検出する検出部と、例えば、Bluetooth(登録商標)、ZigBee(登録商標)などの近距離無線通信が可能な無線通信部と、検出部および無線通信部に電力を供給するボタン電池などの電源部とを有する。各センサ20には、それぞれを識別する識別情報として、一意のセンサIDが定められている。センサ20は、検出対象の状態を検出部により検出し、検出した状態を示す状態情報とセンサIDとを含んだデータを無線通信部から無線通信により周期的に送信する。例えば、センサ20は、温度および圧力を周期的に検出し、検出した温度、圧力それぞれの検出値を示す検出データとセンサIDとを含んだセンサデータを無線通信により送信する。
センサ20から送信されたセンサデータは、不図示の無線アクセスポイントを介してゲートウェイ30へ送信される。ゲートウェイ30は、受信したセンサデータを管理サーバ40へ送信する。なお、ゲートウェイ30が、無線アクセスポイントを兼ねてもよい。また、図1の例では、ゲートウェイ30を1つ図示したが、ゲートウェイ30も任意の数とすることができる。例えば、ゲートウェイ30は、所定数のセンサ20ごと、あるいは、センサ20が配置される所定のエリアごとに複数設けられてもよい。
管理サーバ40は、ゲートウェイ30から受信したセンサデータを管理する現地側の情報処理装置の一例である。管理サーバ40は、ゲートウェイ30から受信したセンサデータに対して後述する各種の処理を行い、各種のデータをクラウドサーバ50へ送信する。管理サーバ40は、例えば、据置型や可搬型のパーソナルコンピュータを用いることができる。また、管理サーバ40は、可搬型の端末としては、上記の可搬型のパーソナルコンピュータの他にも、例えば、タブレット端末を採用することもできる。
クラウドサーバ50は、各センサ20のセンサデータを収集し、分析するクラウド側の情報処理装置の一例である。クラウドサーバ50は、管理サーバ40から受信したデータを記憶し、検出対象の状態の変化の検知など各種の処理を行う。クラウドサーバ50は、例えば、据置型のサーバコンピュータを用いることができる。なお、クラウドサーバ50は、SaaS(Software as a Service)やPaaS(Platform as a Service)等のクラウドコンピューティング技術を適用したものである。
次に、管理サーバ40の構成について説明する。図2は、実施例1の管理サーバの構成を示すブロック図である。図2に示すように、管理サーバ40は、通信部110と、記憶部120と、制御部130とを有する。なお、管理サーバ40は、図2に示す機能部以外にも既知のコンピュータが有する各種の機能部、例えば各種の入力デバイスや音声出力デバイス、表示部等の機能部を有することとしてもかまわない。
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。通信部110は、ネットワークN1、N2を介して他の情報処理装置と有線または無線で接続され、他の情報処理装置との間で情報の通信を司る通信インタフェースである。例えば、通信部110は、センサ20で検出されたセンサデータをゲートウェイ30から受信する。また、通信部110は、制御部130からの制御に応じて各種のデータをクラウドサーバ50へ送信する。
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、ハードディスクや光ディスク等の記憶装置によって実現される。記憶部120は、グループデータ121を有する。また、記憶部120は、制御部130での処理に用いる情報を記憶する。
グループデータ121は、センサ20をセンサ群としてグループに分けたセンサグループに関する情報を記憶する。
ここで、IoTでは、様々な検出対象にセンサ20が設けられ、様々な状態が検出される。また、様々なメーカがセンサ20を販売している。このため、センサ20から収集されるセンサデータには、データの形式や、検出データに含まれる検出値の範囲に様々なものがある。本実施例では、データの形式および検出値の範囲ごとに、センサ20をセンサグループに分けている。グループデータ121には、センサ20と該センサ20が属するセンサグループとが対応付けて記憶されている。
図3は、実施例1のグループデータの一例を示す図である。図3に示すように、グループデータ121は、「センサID」、「センサグループ」といった項目を有する。
「センサID」は、センサグループを対応付けるセンサ20のセンサIDである。「センサグループ」は、センサ20に対応付けるセンサグループの情報である。図3の例では、センサIDが「1」のセンサ20は、センサグループが「A」であることを示す。
図2に戻る。制御部130は、管理サーバ40を制御するデバイスである。制御部130としては、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等の電子回路や、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等の集積回路を採用できる。制御部130は、各種の処理手順を規定したプログラムや制御データを格納するためのキャッシュメモリ140等の内部メモリを有し、RAMや内部メモリを作業領域として種々の処理を実行する。
制御部130は、各種のプログラムが動作することにより各種の処理部として機能する。例えば、制御部130は、送信済みデータ管理部131と、受付部132と、登録部133と、特定部134と、第1取得部135と、判定部136と、第2取得部137と、送信部138とを有する。制御部130は、各種の処理部により以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部130の内部構成は、図1に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
送信済みデータ管理部131は、クラウドサーバ50へ送信済みのデータをキャッシュメモリ140に保存、管理する。ここで、キャッシュメモリ140は、記憶容量が限られており、全ての送信済みデータを保存することはできない。そこで、送信済みデータ管理部131は、頻繁に使用されるデータがキャッシュメモリ140上に残るように管理する。例えば、送信済みデータ管理部131は、LRU(Least Recently Used)方式により最大で所定個の送信済みデータがキャッシュメモリ140に記憶されるように管理する。例えば、送信済みデータ管理部131は、データをリスト構造で管理し、データが使用されたらリストの先頭に移動する。また、送信済みデータ管理部131は、該当データが見つからない場合はリストの末尾のデータを削除し、新しいデータをリストの先頭に挿入する。
図4は、実施例1のキャッシュメモリのデータ構成を説明する図である。送信済みデータは、リスト構造で記憶されている。図4の例では、「{32C,61.2P}」等が送信済みデータに該当する。「32C」は、検出された温度が32[℃]であることを示す。「61.2P」は、検出された圧力が61.2[Pa]であることを示す。また、各送信済みデータには、センサグループと、データを識別するデータIDと対応付けて記憶されている。図4の例では、「A group_id AAAA1」が、対応づけて記憶されたセンサグループと、データを識別するデータIDに該当する。「A group」は、センサグループが「A」であることを示している。「id AAAA1」は、データIDが「AAAA1」であることを示している。
図2に戻る。受付部132は、各種のデータを受け付ける。例えば、受付部132は、通信部110により受信されたセンサデータを受け付ける。
登録部133は、センサ20に対応付けるセンサグループをグループデータ121に登録する。例えば、登録部133は、受付部132により受け付けたセンサデータを参照し、データの形式およびセンサデータに含まれる検出値の範囲ごとに、該センサ20に対応付けるセンサグループをグループデータ121に登録する。例えば、登録部133は、受信されたセンサ20のセンサデータを解析し、送信元のセンサ20のセンサIDを特定する。また、登録部133は、例えば、「,」、「{」、「}」などのセンサデータ内に含まれる所定の区切り文字を検索し、センサデータに含まれる区切り文字で区切られた項目を特定する。登録部133は、項目の数が同じデータを、データの形式が同じものとして、データの形式ごとに、センサ20をセンサグループに分類する。また、登録部133は、項目の値の範囲ごとに、センサ20をセンサグループにさらに分類する。登録部133は、分類したセンサグループごとに、センサグループの識別情報を定め、センサグループの識別情報とセンサグループに属するセンサ20のセンサIDをグループデータ121に登録する。なお、登録部133は、センサ20ごとに、該センサ20から受信した所定数のセンサデータを解析して項目ごとに平均値を求め、平均値の範囲ごとに、センサ20をセンサグループに分類してもよい。また、登録部133は、センサ20ごとに、該センサ20から受信した所定数のセンサデータを解析して項目ごとに検出値が範囲に含まれる頻度を求め、最も頻度の多い範囲のセンサグループに分類してもよい。また、登録部133は、センサ20のセンサIDや、センサ20のMACアドレス、センサ20の種類、状態等に基づいて、センサ20をセンサグループに分類してもよい。
登録部133は、各センサ20から最初に受信したセンサデータを解析して、センサ20にセンサグループを対応付けし、グループデータ121へ登録してもよい。また、登録部133は、センサ20ごとに、該センサ20から受信した所定数のセンサデータを解析し、センサ20をセンサグループに分類してもよい。また、登録部133は、一定時間ごと(例えば、6時間ごと)のタイミングなど所定のタイミングで、グループデータ121に記憶されたセンサ20に対応付けるセンサグループを更新してもよい。また、登録部133は、クラウドサーバ50など外部の装置から対応付けするセンサ20とセンサグループの情報を受信し、受信した情報に基づいて、センサ20とセンサグループを対応付けしてグループデータ121に登録してもよい。
特定部134は、受付部132により受け付けたセンサデータの送信元のセンサ20が属するセンサグループを特定する。例えば、特定部134は、グループデータ121を参照し、センサデータに含まれるセンサIDに対応付けられたセンサグループを特定する。また、特定部134は、センサデータに一意のデータIDを付与する。
第1取得部135は、キャッシュメモリ140を参照し、特定部134により特定したセンサグループに対応付けられた送信済みデータを取得する。例えば、第1取得部135は、特定部134により特定したセンサグループに対応付けられた送信済みデータをキャッシュメモリ140から順に読み出す。
図5は、キャッシュメモリからのデータの読み出しを説明する図である。第1取得部135は、センサグループに対応付けられた送信済みデータを上から順に検索する。第1取得部135は、検索の結果、次に該当するデータが無ければ、Nullとする。例えば、第1取得部135は、センサグループ「A」の送信済みデータを読み出す場合、図5に示すように、1行目、3行目、4行目のデータを順に読み出す。また、第1取得部135は、センサグループ「B」の送信済みデータを読み出す場合、図5に示すように、2行目、5行目のデータを順に読み出す。
判定部136は、第1取得部135により取得した送信済みデータに、受付部132により受け付けたセンサデータの検出データが含まれるか否かを判定する。例えば、判定部136は、第1取得部135により順に読み出された送信済みデータを検出データと比較し、検出データと項目の値が全て一致する送信済みデータがあるか否か判定する。
第2取得部137は、判定部136による判定の結果、取得した送信済みデータに検出データが含まれる場合、キャッシュメモリ140を参照して、送信済みデータに対応付けられたデータIDを取得する。例えば、第2取得部137は、読み出した送信済みデータに、検出データと項目の値が全て一致する送信済みデータがある場合、項目の値が全て一致した送信済みデータのデータIDを取得する。
送信部138は、判定部136による判定の結果、取得した送信済みデータに検出データが含まれる場合、検出データを送信せずに、第2取得部137により取得したデータIDをクラウドサーバ50へ送信する。例えば、送信部138は、検出データと項目の値が全て一致する送信済みデータがある場合、全て一致する送信済みデータのデータIDをクラウドサーバ50へ送信する。
一方、送信部138は、判定部136による判定の結果、取得した送信済みデータに検出データが含まれない場合、検出データに対して全てのセンサグループで一意となるデータIDを対応付け、検出データとデータIDをクラウドサーバ50へ送信する。例えば、送信部138は、項目の値が全て一致する送信済みデータがない場合、検出データに対して一意のデータIDを付与する。そして、送信部138は、付与したデータIDと検出データとを対応付けてクラウドサーバ50へ送信する。
送信済みデータ管理部131は、キャッシュメモリ140を更新する。例えば、送信済みデータ管理部131は、送信した検出データを送信済みのデータとして、特定したセンサグループ、データIDを対応付けてキャッシュメモリ140に登録する。また、送信済みデータ管理部131は、登録の結果、キャッシュメモリ140に記憶された登録済みの送信済みのデータが所定数を超える場合、受け付けたデータが含まれると最も過去に判定された送信済みのデータをキャッシュメモリ140から削除する。例えば、送信済みデータ管理部131は、検出データと項目の値が全て一致する送信済みデータがある場合、一致した送信済みデータのレコードをキャッシュメモリ140に記憶された送信済みデータのリストの先頭に移動する。また、送信済みデータ管理部131は、検出データと項目の値が全て一致する送信済みデータがない場合、キャッシュメモリ140に記憶された送信済みデータのリストの末尾のレコードを削除する。送信済みデータ管理部131は、検出データをセンサグループ、データIDと対応付けてリストの先頭に挿入する。
ここで、図6を用いてセンサ20からデータを収集する流れを説明する。図6は、センサからデータを収集する流れを説明する図である。
センサ20は、それぞれ温度および圧力を周期的に検出し、検出した温度、圧力それぞれの検出値を示す検出データとセンサIDとを含んだセンサデータを無線通信によりゲートウェイ30へ送信する。図6の例では、センサID「1」のセンサ20が「1,{32C,61.2P}」のセンサデータをゲートウェイ30へ送信している。センサデータの「1」は、送信元のセンサ20のセンサIDである。センサデータの「{32C,61.2P}」は、検出データである。「32C」は、検出された温度が32[℃]であることを示す。「61.2P」は、検出された圧力が61.2[Pa]であることを示す。
ゲートウェイ30は、受信したセンサデータを管理サーバ40へ送信する。
管理サーバ40では、受付部132が、センサデータを受け付ける。特定部134は、グループデータ121を参照し、センサデータに含まれるセンサIDに対応付けられたセンサグループを特定する。図6の例では、センサID「1」は、センサグループが「A」と特定される。
第1取得部135は、キャッシュメモリ140を参照し、特定したセンサグループに対応付けられた送信済みデータを取得する。図6の例では、第1取得部135は、センサグループが「A」の送信済みデータをキャッシュメモリ140から順に読み出す。図6の例では、「A group_id AAAA1:{32C,61.2P}」との送信済みデータが読み出される。
判定部136は、取得した送信済みデータに、受け付けたセンサデータの検出データが含まれるか否かを判定する。例えば、判定部136は、読み出された送信済みデータを検出データと比較し、検出データと項目の値が全て一致する送信済みデータがあるか否か判定する。図6の例では、検出データと、読み出した送信済みデータとで項目の値が全て一致する。
第2取得部137は、判定の結果、取得した送信済みデータに検出データが含まれる場合、送信済みデータに対応付けられたデータIDを取得する。図6の例では、第2取得部137は、送信済みデータに対応付けられたデータID「AAAA1」を取得する。
送信部138は、判定の結果、取得した送信済みデータに検出データが含まれる場合、検出データを送信せずに、第2取得部137により取得したデータIDをクラウドサーバ50へ送信する。図6の例では、送信部138は、データID「AAAA1」をクラウドサーバ50へ送信する。
クラウドサーバ50は、受信済みのデータとデータIDを記憶している。例えば、データID「AAAA1」に対応付けて「{32C,61.2P}」が記憶されている。クラウドサーバ50では、データIDを受信すると、受信したデータIDに対応するデータを特定する。例えば、クラウドサーバ50は、受信したデータID「AAAA1」に対応付するデータを「{32C,61.2P}」と特定する。クラウドサーバ50は、特定したデータをデータベースに登録する。これにより、図6の例では、データベースに「{32C,61.2P}」とのデータが登録される。
送信済みデータ管理部131は、キャッシュメモリ140を更新する。例えば、送信済みデータ管理部131は、一致した送信済みデータのレコードをキャッシュメモリ140に記憶された送信済みデータのリストの先頭に移動する。なお、図6の例では、「A group_ID AAAA1:{32C,61.2P}」が既にリストの先頭であるため、移動は行われない。
このように、管理サーバ40は、センサ20から新たにセンサデータを受け付けた場合、センサデータの送信元のセンサ20と同じセンサグループに属するセンサ20の送信済みデータと順に比較する。そして、同じデータが記憶されている場合、管理サーバ40は、データIDをクラウドサーバ50へ送信する。一方、同じデータが記憶されていない場合、管理サーバ40は、データIDと検出データをクラウドサーバ50へ送信する。このように、管理サーバ40は、センサグループ内の送信済みデータと比較することで、比較する送信済みデータの数を減らすことができ、受け付けたデータを送信するか否かの判定負荷を軽減できる。
次に、実施例1の管理サーバ40が実行する送信処理の流れについて説明する。図7は、実施例1の送信処理の一例を示すフローチャートである。送信処理は、所定のタイミング、例えば、センサデータを通信部110で受信したタイミングで実行される。
受付部132は、受信したセンサデータを受け付ける(ステップS10)。特定部134は、グループデータ121を参照し、センサデータに含まれるセンサIDに対応付けられたセンサグループを特定する(ステップS11)。第1取得部135は、キャッシュメモリ140を参照し、特定したセンサグループに対応付けられた送信済みデータを取得する(ステップS12)。
判定部136は、取得した送信済みデータに、受け付けたセンサデータの検出データが含まれるか否かを判定する(ステップS13)。判定の結果、取得した送信済みデータに検出データが含まれる場合(ステップS13:Yes)、第2取得部137は、送信済みデータに対応付けられたデータIDを取得する(ステップS14)。送信部138は、第2取得部137により取得したデータIDをクラウドサーバ50へ送信する(ステップS15)。
一方、判定の結果、取得した送信済みデータに検出データが含まれない場合(ステップS13:No)、送信部138は、検出データに対して全てのセンサグループで一意となるデータIDを対応付ける。そして、送信部138は、検出データとデータIDをクラウドサーバ50へ送信する(ステップS16)。
送信済みデータ管理部131は、キャッシュメモリ140を更新し(ステップS17)、処理を終了する。例えば、送信済みデータ管理部131は、送信した検出データを送信済みのデータとして、特定したセンサグループ、データIDを対応付けてキャッシュメモリ140に登録する。また、送信済みデータ管理部131は、登録の結果、キャッシュメモリ140に記憶された登録済みの送信済みのデータが所定数を超える場合、受け付けたデータが含まれると最も過去に判定された送信済みのデータをキャッシュメモリ140から削除する。
このように、管理サーバ40は、センサ20により検出された検出データと、該センサを識別するセンサIDとを受け付ける。管理サーバ40は、センサグループを識別する識別情報を、該センサグループに含まれるセンサに対応付けて記憶する記憶部120のグループデータ121を参照して、受け付けたセンサIDに対応付けられたセンサグループを特定する。管理サーバ40は、センサグループに含まれるセンサ20により検出された送信済みデータを、該センサグループに対応付けて記憶するキャッシュメモリ140を参照して、特定したセンサグループに対応付けられた送信済みデータを取得する。管理サーバ40は、取得した送信済みデータに、受け付けた検出データが含まれるか否かの判定を行う。管理サーバ40は、受け付けた検出データが含まれる場合、送信済みデータのデータIDを、該送信済みデータに対応付けて記憶するキャッシュメモリ140を参照して、該送信済みデータに対応付けられたデータIDを取得する。管理サーバ40は、受け付けた検出データを送信せずに、取得したデータIDを送信する。その結果、管理サーバ40は、受け付けたデータを送信するか否かの判定負荷を軽減できる。
また、管理サーバ40は、データの形式が同じセンサ20に対して、同一のセンサグループを識別する識別情報を対応付けて記憶部120のグループデータ121に登録する。これにより、管理サーバ40では、データの形式が同じセンサグループごとに、送信済みデータが管理される。その結果、管理サーバ40では、判定の際に、受け付けた検出データに対してデータの形式が同じ送信済みデータと判定を行うことになり、判定の検索範囲を狭めることができるため、検索性能を向上させることができる。
また、管理サーバ40は、検出データに含まれる検出値の範囲毎に、該範囲に検出値が入ると予測されるセンサ20に対して、同一のセンサグループを識別する識別情報を対応付けて記憶部120のグループデータ121に登録する。これにより、管理サーバ40では、検出値の範囲が同様のセンサグループごとに、送信済みデータが管理される。その結果、管理サーバ40では、判定の際に、受け付けた検出データに対して検出値の範囲が同様の送信済みデータと判定を行うことになり、判定の検索範囲を狭めることができるため、検索性能を向上させることができる。
また、管理サーバ40は、受け付けた検出データが含まれない場合、該検出データに対して全てのセンサグループで一意となるセンサIDを付与し、該検出データと該センサIDを送信する。管理サーバ40は、送信した検出データを送信済みデータとして、特定したセンサグループとセンサIDとを対応付けてキャッシュメモリ140に登録する。管理サーバ40は、登録済みの送信済みデータが所定数を超える場合、検出データが含まれると最も過去に判定された送信済みデータを削除する。その結果、管理サーバ40では、キャッシュメモリ140に検出データに出現する頻度の高い送信済みデータを保持させることができ、受け付けたデータを送信するか否かを効率良く判定できる。
次に、上記実施例2ついて説明する。図8は、実施例2の管理サーバの構成を示すブロック図である。図8に示す管理サーバ40は、実施例1の管理サーバ40と一部が同一であるため、同一の構成には同一符号を付すことで、その重複する構成および動作の説明については省略する。
実施例2の管理サーバ40の制御部130は、さらに、修正部139を有する。
修正部139は、受付部132により受け付けたセンサデータの検出データを、センサグループに対応する所定の精度のデータに修正する。
ここで、IoTでは、様々なメーカから販売されたセンサ20からデータが収集される場合がある。そして、センサ20は、メーカや機種によって、状態の検出精度がことなり、センサデータに含まれる検出値の精度も異なる場合がある。例えば、温度を検出する場合、センサ20には、温度の検出値を32℃と整数で記録するものや、温度の検出値を32.1℃と少数点1位まで記録するものがある。
そこで、修正部139は、検出データを、センサグループに対応する所定の精度のデータに修正する。センサグループごとの検出値の精度は、予め設定されていてもよい。また、センサグループごとの検出値の精度は、クラウドサーバ50など外部の装置から受付けてもよい。例えば、登録部133は、クラウドサーバ50など外部の装置からセンサグループごとの検出値の精度を受付け、受けた検出値の精度をグループデータ121に登録してもよい。また、登録部133は、センサグループごとに、センサグループに属するセンサ20から受信したセンサデータの検出データについて検出値の精度を求め、最も精度の低い検出値の精度をグループデータ121に登録してもよい。
例えば、修正部139は、グループデータ121に基づき、検出データを、センサグループに対応するセンサ20のうち、最も低い精度のデータに修正する。同じセンサグループに温度の検出値を32.1℃とするセンサ20と、温度の検出値を32℃とするセンサ20とがある場合、修正部139は、温度の検出値の32.1℃の小数点1位を四捨五入または切り捨てして、整数の32℃に修正する。
判定部136は、送信済みのデータに、精度を修正した検出データが含まれるか否かの判定を行う。また、送信部138は、判定部136による判定の結果、取得した送信済みデータに、精度を修正した検出データが含まれない場合、精度を修正した検出データに対して全てのセンサグループで一意となるデータIDを対応付ける。そして、送信部138は、精度を修正した検出データとデータIDをクラウドサーバ50へ送信する。また、送信済みデータ管理部131は、精度を修正した検出データを送信済みのデータとして、特定したセンサグループ、データIDを対応付けてキャッシュメモリ140に登録する。
これにより、管理サーバ40は、センサグループごとに、検出データの検出値の精度を揃えることができるため、判定の際に、キャッシュメモリ140に記憶される送信済みのデータとのヒット率を向上させることができる。このように、管理サーバ40は、送信済みのデータとのヒット率が向上するで、クラウドサーバ50へデータIDのみを送信するケースが増加するため、ネットワークN2に掛かる負荷を軽減できる。
次に、実施例2の管理サーバ40が実行する送信処理の流れについて説明する。図9は、実施例2の送信処理の一例を示すフローチャートである。以下の説明では、ステップS10、S11、S12、S14、S15の処理は、実施例1と同様であるので、その説明を省略する。
修正部139は、受け付けたセンサデータの検出データを、センサグループに対応する所定の精度のデータに修正する(ステップS20)。
判定部136は、取得した送信済みデータに、精度を修正した検出データが含まれるか否かを判定する(ステップS13)。判定の結果、取得した送信済みデータに、精度を修正した検出データが含まれない場合(ステップS13:No)、送信部138は、精度を修正した検出データに対して全てのセンサグループで一意となるデータIDを対応付ける。そして、送信部138は、精度を修正した検出データとデータIDをクラウドサーバ50へ送信する(ステップS16)。
送信済みデータ管理部131は、精度を修正した検出データを送信済みのデータとして、特定したセンサグループ、データIDを対応付けてキャッシュメモリ140に登録する(ステップS17)。
このように、管理サーバ40は、受け付けたセンサデータの検出データを、特定したセンサグループに対応する所定の精度のデータに修正する。管理サーバ40は、取得した送信済みデータに、修正した検出データが含まれるか否かの判定を行う。その結果、管理サーバ40は、送信済みのデータとのヒット率を向上させることができるため、ネットワークN2に掛かる負荷を軽減できる。
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。
例えば、上記各実施例では、センサグループおよびデータIDを送信済みのデータに対応付けてキャッシュメモリ140に記憶する場合を説明したが、これに限定されない。例えば、センサグループとデータIDとをそれぞれ別に送信済みのデータに対応付けてキャッシュメモリ140または記憶部120に記憶させてもよい。
例えば、上記各実施例では、受け付けたセンサデータの検出データが送信済みデータに含まれる場合、検出データを送信せずに、送信済みデータのデータIDを送信する場合を説明したが、これに限定されない。例えば、受け付けたセンサデータに含まれるセンサIDをデータIDと共に送信してもよい。
また、図示した各部の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、受付部132、登録部133、特定部134、第1取得部135、判定部136、第2取得部137、送信部138および修正部139を適宜統合してもよい。また、図示した各処理は、上記の順番に限定されるものでなく、処理内容を矛盾させない範囲において、同時に実施してもよく、順序を入れ替えて実施してもよい。
さらに、各装置で行われる各種処理機能は、CPU(またはMPU、MCU(Micro Controller Unit)等のマイクロ・コンピュータ)上で、その全部または任意の一部を実行するようにしてもよい。また、各種処理機能は、CPU(またはMPU、MCU等のマイクロ・コンピュータ)で解析実行されるプログラム上、またはワイヤードロジックによるハードウェア上で、その全部または任意の一部を実行するようにしてもよいことは言うまでもない。
ところで、上記の実施例で説明した各種の処理は、予め用意されたプログラムをコンピュータで実行することで実現できる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図10は、送信プログラムを実行するコンピュータの一例を示す図である。
図10に示すように、コンピュータ200は、各種演算処理を実行するCPU201と、データ入力を受け付ける入力装置202と、モニタ203とを有する。また、コンピュータ200は、記憶媒体からプログラム等を読み取る媒体読取装置204と、各種装置と接続するためのインタフェース装置205と、他の情報処理装置等と有線または無線により接続するための通信装置206とを有する。また、コンピュータ200は、各種情報を一時記憶するRAM207と、ハードディスク装置208とを有する。また、各装置201〜208は、バス209に接続される。
ハードディスク装置208には、受付部132、登録部133、特定部134、第1取得部135、判定部136、第2取得部137、送信部138および修正部139の各処理部と同様の機能を有する送信プログラムが記憶される。また、ハードディスク装置208には、グループデータ121、および、送信プログラムを実現するための各種データが記憶される。入力装置202は、例えば、コンピュータ200の管理者から操作情報等の各種情報の入力を受け付ける。モニタ203は、例えば、コンピュータ200の管理者に対して表示画面等の各種画面を表示する。インタフェース装置205は、例えば印刷装置等が接続される。通信装置206は、例えば、図2に示した通信部110と同様の機能を有し図示しないネットワークと接続され、図示しない他の情報処理装置と各種情報をやりとりする。
CPU201は、ハードディスク装置208に記憶された各プログラムを読み出して、RAM207に展開して実行することで、各種の処理を行う。また、これらのプログラムは、コンピュータ200を受付部132、登録部133、特定部134、第1取得部135、判定部136、第2取得部137、送信部138および修正部139として機能させることができる。
なお、上記の送信プログラムは、必ずしもハードディスク装置208に記憶されている必要はない。例えば、コンピュータ200が読み取り可能な記憶媒体に記憶されたプログラムを、コンピュータ200が読み出して実行するようにしてもよい。コンピュータ200が読み取り可能な記憶媒体は、例えば、CD−ROMやDVDディスク、USB(Universal Serial Bus)メモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ、ハードディスクドライブ等が対応する。また、公衆回線、インターネット、LAN等に接続された装置にこの送信プログラムを記憶させておき、コンピュータ200がこれらから送信プログラムを読み出して実行するようにしてもよい。
10 システム
20 センサ
30 ゲートウェイ
40 管理サーバ
50 クラウドサーバ
110 通信部
120 記憶部
121 グループデータ
130 制御部
131 送信済みデータ管理部
132 受付部
133 登録部
134 特定部
135 第1取得部
136 判定部
137 第2取得部
138 送信部
139 修正部
140 キャッシュメモリ

Claims (7)

  1. センサにより検出されたデータと、該センサを識別する識別情報とを受け付け、
    センサ群を識別する識別情報を、該センサ群に含まれるセンサに対応付けて記憶する第1記憶部を参照して、受け付けた前記識別情報に対応付けられたセンサ群を特定し、
    センサ群に含まれるセンサにより検出された送信済みのデータを、該センサ群に対応付けて記憶する第2記憶部を参照して、特定した前記センサ群に対応付けられた送信済みのデータを取得し、
    取得した前記送信済みのデータに、受け付けた前記データが含まれるか否かの判定を行い、
    受け付けた前記データが含まれる場合、送信済みのデータの識別情報を、該データに対応付けて記憶する第3記憶部を参照して、該送信済みのデータに対応付けられた識別情報を取得し、
    受け付けた前記データを送信せずに、取得した前記識別情報を送信する、
    処理をコンピュータに実行させることを特徴とする送信プログラム。
  2. データの形式が同じセンサに対して、同一のセンサ群を識別する識別情報を対応付けて前記第1記憶部に登録する、
    処理をコンピュータにさらに実行させることを特徴とする請求項1に記載の送信プログラム。
  3. データに含まれる検出値の範囲毎に、該範囲に検出値が入ると予測されるセンサに対して、同一のセンサ群を識別する識別情報を対応付けて前記第1記憶部に登録する、
    処理をコンピュータにさらに実行させることを特徴とする請求項1または2に記載の送信プログラム。
  4. 受け付けた前記データを、特定した前記センサ群に対応する所定の精度のデータに修正する処理をコンピュータにさらに実行させ、
    前記判定する処理は、取得した前記送信済みのデータに、修正した前記データが含まれるか否かの判定を行う、
    ことを特徴とする請求項1から3の何れか1つに記載の送信プログラム。
  5. 受け付けた前記データが含まれない場合、該データに対して全てのセンサ群で一意となる識別情報を付与し、該データと該識別情報を送信し、
    送信したデータを送信済みのデータとして、特定したセンサ群に対応付けて前記第2記憶部に登録すると共に、該送信済みのデータを付与した識別情報と対応付けて前記第3記憶部に登録し、登録済みの送信済みのデータが所定数を超える場合、受け付けたデータが含まれると最も過去に判定された送信済みのデータを削除する、
    処理をコンピュータにさらに実行させることを特徴とする請求項1から4の何れか1つに記載の送信プログラム。
  6. センサにより検出されたデータと、該センサを識別する識別情報とを受け付け、
    センサ群を識別する識別情報を、該センサ群に含まれるセンサに対応付けて記憶する第1記憶部を参照して、受け付けた前記識別情報に対応付けられたセンサ群を特定し、
    センサ群に含まれるセンサにより検出された送信済みのデータを、該センサ群に対応付けて記憶する第2記憶部を参照して、特定した前記センサ群に対応付けられた送信済みのデータを取得し、
    取得した前記送信済みのデータに、受け付けた前記データが含まれるか否かの判定を行い、
    受け付けた前記データが含まれる場合、送信済みのデータの識別情報を、該データに対応付けて記憶する第3記憶部を参照して、該送信済みのデータに対応付けられた識別情報を取得し、
    受け付けた前記データを送信せずに、取得した前記識別情報を送信する、
    処理をコンピュータが実行することを特徴とする送信方法。
  7. センサにより検出されたデータと、該センサを識別する識別情報とを受け付ける受付部と、
    センサ群を識別する識別情報を、該センサ群に含まれるセンサに対応付けて記憶する第1記憶部を参照して、前記受付部により受け付けた前記識別情報に対応付けられたセンサ群を特定する特定部と、
    センサ群に含まれるセンサにより検出された送信済みのデータを、該センサ群に対応付けて記憶する第2記憶部を参照して、前記特定部により特定した前記センサ群に対応付けられた送信済みのデータを取得する第1取得部と、
    前記第1取得部により取得した前記送信済みのデータに、前記受付部により受け付けた前記データが含まれるか否かを判定する判定部と、
    前記判定部による判定の結果、受け付けた前記データが含まれる場合、送信済みのデータの識別情報を、該データに対応付けて記憶する第3記憶部を参照して、該送信済みのデータに対応付けられた識別情報を取得する第2取得部と、
    前記受付部により受け付けた前記データを送信せずに、前記第2取得部により取得した前記識別情報を送信する送信部と、
    を有することを特徴とする情報処理装置。
JP2017082934A 2017-04-19 2017-04-19 送信プログラム、送信方法および情報処理装置 Active JP6834740B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017082934A JP6834740B2 (ja) 2017-04-19 2017-04-19 送信プログラム、送信方法および情報処理装置
US15/953,566 US10567513B2 (en) 2017-04-19 2018-04-16 Transmission control method and transmission control apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017082934A JP6834740B2 (ja) 2017-04-19 2017-04-19 送信プログラム、送信方法および情報処理装置

Publications (2)

Publication Number Publication Date
JP2018182639A JP2018182639A (ja) 2018-11-15
JP6834740B2 true JP6834740B2 (ja) 2021-02-24

Family

ID=63854864

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017082934A Active JP6834740B2 (ja) 2017-04-19 2017-04-19 送信プログラム、送信方法および情報処理装置

Country Status (2)

Country Link
US (1) US10567513B2 (ja)
JP (1) JP6834740B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102304309B1 (ko) * 2017-02-02 2021-09-23 삼성전자주식회사 전자 장치에게 센싱 데이터를 제공하는 시스템 및 방법

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3363434B2 (ja) * 2000-07-21 2003-01-08 住友ゴム工業株式会社 不整地走行用の空気入りタイヤ
JP2002368623A (ja) 2001-06-05 2002-12-20 Nec Corp 低速回線を使用したデータ転送システム及びその転送方法
JP4596943B2 (ja) * 2005-03-24 2010-12-15 株式会社日立製作所 センサネットワークシステム、データの転送方法及びプログラム
JP5583476B2 (ja) * 2010-05-21 2014-09-03 株式会社日立製作所 ノード装置、ノードシステム、および情報処理方法
JP2012221368A (ja) 2011-04-12 2012-11-12 Canon Inc キャッシュシステムおよびクライアント装置
US9693244B2 (en) * 2011-05-25 2017-06-27 Nec Corporation Sensor and receiving device in sensor system
JP2014078134A (ja) 2012-10-10 2014-05-01 Nippon Telegr & Teleph Corp <Ntt> センサ情報高速データ処理システム及びセンサ情報高速処理・表示システム
US9288611B2 (en) * 2012-12-06 2016-03-15 At&T Intellectual Property I, L.P. Collecting and analyzing data in a distributed sensor network
EP2966631B1 (en) * 2013-03-07 2020-02-12 Fujitsu Limited Data collection method, system and data collection program
JP6021088B2 (ja) 2013-03-29 2016-11-02 パナソニックIpマネジメント株式会社 負荷制御方法、負荷制御装置、及び、電気負荷装置
SG11201508013YA (en) 2013-03-29 2015-10-29 Cumulus Systems Inc Organizing and fast searching of data
JP2015026196A (ja) * 2013-07-25 2015-02-05 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 移動体からのデータを集約し、フィルタリング処理する方法、並びに、そのコンピュータ及びコンピュータ・プログラム
JP6277856B2 (ja) * 2014-05-16 2018-02-14 住友電気工業株式会社 管理装置、管理システム、管理方法および管理プログラム
US10158576B2 (en) * 2015-02-26 2018-12-18 Rf Digital Corporation Radio frequency module
JP2017011509A (ja) * 2015-06-23 2017-01-12 大日本印刷株式会社 データ収集装置、データ収集システム、データ管理システム、データ収集装置用プログラム

Also Published As

Publication number Publication date
US20180309830A1 (en) 2018-10-25
US10567513B2 (en) 2020-02-18
JP2018182639A (ja) 2018-11-15

Similar Documents

Publication Publication Date Title
US10164847B2 (en) Data transfer monitor system, data transfer monitor method and base system
WO2019136955A1 (zh) 基于画像技术的网络异常检测方法、装置、设备及介质
CN111831548B (zh) 一种依赖关系拓扑图的绘制方法和装置
JP2012222580A5 (ja) 管理装置、管理方法、プログラムおよび記録媒体
CN110928739B (zh) 一种进程监控方法、装置以及计算设备
US11475323B2 (en) Systems and methods for crowdsourcing device recognition
CN107666515B (zh) 图像处理方法和装置、计算机设备、计算机可读存储介质
CN114595124B (zh) 时序异常检测模型评估方法、相关装置及存储介质
JP6834740B2 (ja) 送信プログラム、送信方法および情報処理装置
US10909081B2 (en) Apparatus for managing sensory data based on cloud and method of managing sensory data based on cloud
US10432731B2 (en) Electronic device and method of controlling sensors connected through network
EP3822763A1 (en) Data reading method, device, system, and distributed system
CN109429229B (zh) 获取网络接入信息的方法、装置及计算机可读存储介质
EP2928158A1 (en) Distribution apparatus and distribution method
WO2018225314A1 (ja) データベース管理システムおよびデータベース管理方法
CN113485934A (zh) 分布式指标数据采集方法、电子设备及存储介质
JP6503984B2 (ja) 発信機検出システム、サーバ、発信機検出方法、及びプログラム
JP6155861B2 (ja) データ管理方法、データ管理プログラム、データ管理システム及びデータ管理装置
CN114155977A (zh) 一种临床研究项目的数据处理方法和装置
EP3637691A1 (en) Gateway device and information processing method thereof
EP3177044A2 (en) Information querying method based on user location, device to device relay gateway system and controller
JP2016162418A (ja) 検索制御プログラム、検索制御方法および検索制御装置
JP4999880B2 (ja) コントローラー及びそれを備えたネットワークシステム
CN115565215B (zh) 一种人脸识别算法切换方法、装置及存储介质
CN114328130B (zh) 服务器监控方法、系统、设备及计算机可读存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201127

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210118

R150 Certificate of patent or registration of utility model

Ref document number: 6834740

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150