JP2014137709A - 計算機システム - Google Patents

計算機システム Download PDF

Info

Publication number
JP2014137709A
JP2014137709A JP2013005828A JP2013005828A JP2014137709A JP 2014137709 A JP2014137709 A JP 2014137709A JP 2013005828 A JP2013005828 A JP 2013005828A JP 2013005828 A JP2013005828 A JP 2013005828A JP 2014137709 A JP2014137709 A JP 2014137709A
Authority
JP
Japan
Prior art keywords
data
filter
type
management unit
unit
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.)
Granted
Application number
JP2013005828A
Other languages
English (en)
Other versions
JP5982683B2 (ja
Inventor
Mikio Kataoka
幹雄 片岡
Akihiko Yoshino
明彦 芳野
Kazuaki Ihori
和明 井堀
Yuichi Nakamura
雄一 中村
Mitsuhiro Katsuta
光弘 勝田
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.)
Hitachi Solutions Ltd
Original Assignee
Hitachi Solutions 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 Hitachi Solutions Ltd filed Critical Hitachi Solutions Ltd
Priority to JP2013005828A priority Critical patent/JP5982683B2/ja
Priority to US14/132,085 priority patent/US9380108B2/en
Priority to CN201310712395.3A priority patent/CN103944830A/zh
Publication of JP2014137709A publication Critical patent/JP2014137709A/ja
Application granted granted Critical
Publication of JP5982683B2 publication Critical patent/JP5982683B2/ja
Expired - Fee Related 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • 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/10Protocols in which an application is distributed across nodes in the network
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1029Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
    • 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/59Providing operational support to end devices by off-loading in the network or by emulation, e.g. when they are unavailable

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】複数の業種のデータが混在した水平統合型のデータ収集システムにおいて、センサから送信されるデータ量の変化に応じて、データ収集サーバの負荷を低減する。
【解決手段】複数のセンサ、複数のサーバ、及びデータ収集サーバを備える計算機システムであって、データ収集サーバは、計算機システムにおける負荷を監視する負荷監視部と、負荷の監視結果に基づいて、複数のサーバにおけるデータの転送処理の内容を決定し、前記決定されたデータの転送処理の内容を送信する管理部とを有し、管理部は、複数のサーバに適用する転送処理の種別を決定し、転送処理の種別に基づいて、データ収集サーバに転送されるデータのうち、当該転送処理が適用されるデータのリストである処理対象データリストを生成し、決定された転送処理の種別、及び生成された処理対象データリストに基づいて、複数のサーバに適用する転送処理の内容を決定する。
【選択図】図1

Description

本発明は、複数の端末から送信される様々な情報を収集するデータ収集システムに関する。
近年、取引に伴う受発注、売上データ、商品情報、及び顧客情報など、企業における様々なデータのデジタル化が進展している。また、センサデバイス、スマートフォン等の様々なデジタル端末の普及及び利用に伴い、世界中に存在するデータ量は、テラバイトからペタバイト、さらに大容量へと大規模化が進んでいる。
大量、かつ、構造化されていないデータ群は「ビッグデータ」と呼ばれ、先進的な技術を用いて、ビッグデータを収集し、分析し、また、活用することが、今後の社会及びビジネスにおいて期待されている。
昨今の変化の著しい市場環境では、多量のデータを蓄積することが課題となる。ここで大量のデータを収集するためのキーワードとして、M2Mが挙げられる。
M2Mとは、Machine to Machineの略語であり、人間の手を介さずに、機械と機械との間でネットワークを介して相互に情報交換を行う仕組みを意味する。M2Mの利用によって、効率に大量のデータを自動的に収集することができると期待される。
従来のM2Mを用いたデータ収集システムは、業種毎にそれぞれ個別に実現される垂直統合型のシステムであり、収集されるデータ規模が大きなシステム以外では構築コストの問題もあり実現困難であった。また、業種毎の要件に合わせてシステムが実装されているために、他の異なる業種への適用には大きな変更が発生するという問題もある。
今後、多種多様な業種を含めたデータ収集システムの実現が必要となる。つまり、業種に捉われない汎用的、かつ、複数業種のデータをまとめて収集可能とする水平統合型のデータ収集システムの実現が求められる。
また、データ収集システムに接続されるセンサデバイスから収集されるデータ量は、リアルタイムな情報収集の要求などによって莫大なものとなっていくと予測され、多量のデータを効率的に収集するシステムの実現が求められる。
本技術分野の背景技術として、例えば、特許文献1がある。特許文献1には、「センサや制御装置といった様々な機器からのデータを、ネットワークにそのまま流通させると、中央部のネットワークが混雑するという課題に対し、端末装置(105〜110)と処理サーバ(101)の間に設けられるノード(141〜142)において、端末装置から処理サーバへのパケットを当該ノードが処理するか否かを判定する。処理すると判定した場合、当該ノードは、処理サーバの処理を代行することで、ネットワーク中央部の負荷を低減できる。」ことが記載されている。
国際公開第2011/099320号
水平統合型のデータ収集システムを実現するためには、データ収集サーバにおける、複数のセンサから送信される莫大なデータの収集という問題を解決する必要がある。
業種毎に送信されるデータ量が異なるため、データ収集システムとして、収集されるデータ量に偏りが発生する。収集されるデータ量の偏り、すなわち、データ量の最大値にあわせてシステムを構築することは、コスト的に非常に困難なものであるため、一定時間内で収集されるデータ量の平滑化が必要となる。
特許文献1では、ノードが端末装置から受信した情報を処理することによって、処理サーバの負荷の低減を実現している。特許文献1に記載の技術では、個々の業種において発生するデータ量の低減等には適している。また、垂直統合型のデータ収集システムでは、端末装置から送信されるデータ量の変化が事前に予測容易なため、当該データ量の変化に応じて予めデータの平滑化処理を実行することによって、収集されるデータ量の平準化も可能である。
しかし、水平統合型データ収集システムでは、複数の業種からデータが送信されるため、受信するデータ量の変化の予測が非常に困難である。したがって、様々なセンサから送信されるデータ量の変化に応じて、データ収集システム、特にデータ収集サーバの負荷を低減するシステムの実現が課題となる。
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、所定のデータ種別のデータを送信する複数のセンサ、前記複数のセンサから送信されるデータを転送する複数のサーバ、及び、前記複数のサーバから転送されたデータを受信し、受信したデータを蓄積するデータ収集サーバを備える計算機システムであって、前記複数のサーバの各々は、第1のプロセッサ、前記第1のプロセッサに接続される第1のメモリ、及び前記第1のプロセッサに接続される第1のネットワークインタフェースを有し、前記データ収集サーバは、第2のプロセッサ、前記第2のプロセッサに接続される第2のメモリ、及び前記第2のプロセッサに接続される第2のネットワークインタフェースを有し、前記データ収集サーバは、前記計算機システムにおける負荷を監視する負荷監視部と、前記負荷の監視結果に基づいて、前記複数のサーバにおけるデータの転送処理の内容を決定し、前記決定されたデータの転送処理の内容を送信する管理部と、を有し、前記管理部は、前記複数のサーバに適用する転送処理の種別を決定し、前記決定された転送処理の種別に基づいて、前記データ収集サーバに転送されるデータのうち、当該転送処理が適用されるデータのリストである処理対象データリストを生成し、前記決定された転送処理の種別、及び前記生成された処理対象データリストに基づいて、前記複数のサーバに適用する転送処理の内容を決定することを特徴とする。
前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
本発明によれば、計算機システムの負荷に応じて、動的にデータ収集サーバに対するデータの転送処理を制御することによって、データ収集サーバの負荷を低減し、計算機システムにおけるデータ収集効率を向上させることが可能となる。
本発明の実施例1におけるデータ収集システムの構成例を示す説明図である。 本発明の実施例1のサーバのハードウェア構成を示すブロック図である。 本発明の実施例1のデータ収集サーバが保持するデータ管理テーブルの一例を示す説明図である。 本発明の実施例1のデータ収集サーバが保持するフィルタ状態管理テーブルの一例を示す説明図である。 本発明の実施例1のフィルタ状態管理テーブルに含まれるフィルタ条件の一例を示す説明図である。 本発明の実施例1のデータ収集サーバが保持するデータ受信状態テーブルの一例を示す説明図である。 本発明の実施例1のデータ収集サーバが保持する負荷監視テーブルの一例を示す説明図である。 本発明の実施例1のデータ収集サーバが保持するアルゴリズム選択テーブル114の一例を示す説明図である。 本発明の実施例1のフィルタ管理部が実行するアルゴリズム選択処理の一例を説明するフローチャートである。 本発明の実施例1のフィルタ管理部がデータ量削減のアルゴリズムにしたがって実行するフィルタ制御処理の一例を説明するフローチャートである。 本発明の実施例1のフィルタ管理部がデータ数削減のアルゴリズムにしたがって実行するフィルタ制御処理の一例を説明するフローチャートである。 本発明の実施例1のフィルタ管理部がデータ集約のアルゴリズムにしたがって実行するフィルタ制御処理の一例を説明するフローチャートである。 本発明の実施例1の中間サーバが保持するデータ振分けテーブルの一例を示す説明図である。 本発明の実施例1の中間サーバが保持する基本フィルタテーブルの一例を示す説明図である。 本発明の実施例1の中間サーバのデータ振分け部が実行するデータ振分け処理の一例を説明するフローチャートである。 本発明の実施例1の中間サーバの基本データフィルタ部が実行するフィルタ処理の一例を説明するフローチャートである。 本発明の実施例1のデータ収集システムにおけるデータ数集約のアルゴリズムにしたがって実行されるフィルタ制御の流れを説明するシーケンス図である。 本発明の実施例2におけるデータ収集システムの構成例を示す説明図である。 本発明の実施例2のデータ収集サーバが保持するリソース管理テーブルの一例を示す説明図である。 本発明の実施例2のフィルタ管理部がデータ集約のアルゴリズムにしたがって実行するフィルタ制御処理の一例を説明するフローチャートである。 本発明の実施例2のステップS2002において実行される処理の詳細を説明するフローチャートである。
以下、実施例を図面を用いて説明する。
まず、水平統合型のデータ収集システムの課題について説明する。
一般的に、データ収集サーバにデータを送信するセンサは、時間帯によって収集されるデータのデータ数又はデータ量がほとんどない変化しない静的センサと、時間帯によって収集されるデータのデータ数又はデータ量が変化する動的センサとに分けられる。
静的センサから送信されるデータは、電力利用量、温度、及び湿度情報等の一定の時間間隔で送信されるデータであり、送信されるデータ数又はデータ量も一日を通して一定となる。一方、動的センサから送信されるデータは、人又はモノの移動に伴って送信される位置情報等であり、送信されるデータ数又はデータ量も一日のうちで変化する。
異なる業種のデータを扱う場合、水平統合型のデータ収集システムでは、複数の業種のデータを処理する必要がある。一方、複数の業種のデータの処理量が平滑化可能な組合せである場合、単位時間あたりのデータ処理数又はデータ処理量は一定となる。しかし、複数の業種のデータの処理量が平準化できない組合せでは、データ収集サーバの負荷が増大する。
また、動的センサを含むようなデータ収集システムでは、センサから送信されるデータのデータ数又はデータ量が変動するため予測することができない。
そこで、本発明では以下で説明するような構成及び処理によって、データ収集サーバの負荷を平滑化し、かつ、動的なデータ数又はデータ量の変化に対応可能なデータ収集システムを実現する。
実施例1では、データ収集システムにおいて、センサから送信されるデータのデータ量又はデータ数の増大に伴って、中間サーバに対してフィルタの設定を行い、データ収集サーバに送信するデータ量を削減することによって、データ収集サーバの負荷を低減する。ここで、フィルタの設定とは、所定のデータにフィルタ処理が実行されるように設定することを意味する。
図1は、本発明の実施例1におけるデータ収集システムの構成例を示す説明図である。
本実施例におけるデータ収集システムは、データ収集サーバ100、複数の中間サーバ120、及び複数のセンサ130から構成される。
データ収集サーバ100は、WAN(Wide Area Network)、又はLAN(Local Area Network)等のネットワークを介して、複数の中間サーバ120と接続される。なお、データ収集サーバ100は、複数の中間サーバ120と直接接続されてもよい。また、各中間サーバ120は、ネットワーク140を介して、各センサ130と接続される。
なお、ネットワーク140は、LAN、PLC等の有線ネットワーク、WiFi、Zigbee(Zigbeeは登録商標)等の無線ネットワーク、移動体通信事業者のモバイルネットワーク等が考えられる。
データ収集サーバ100は、センサ130から送信されるデータを収集し、また、各中間サーバ120のフィルタ機能を管理する計算機である。ここで、データ収集サーバ100のソフトウェア構成に関して説明する。
データ収集サーバ100は、機能ブロックとして、データ受信部101、データ処理部102、中間サーバ管理部103、データ管理部104、DBデータ送信部105、負荷監視部106、フィルタ管理部107、DBデータ受信部108、及びデータベース109を備える。図1では、各機能ブロック間の実線はデータの入出力を示し、また、点線は指示の入出力を示す。
また、データ収集サーバ100は、データテーブルとして、データ管理テーブル110、フィルタ状態管理テーブル111、データ受信状態テーブル112、負荷監視テーブル113、及びアルゴリズム選択テーブル114を保持する。
データ受信部101は、中間サーバ120からデータを受信する。
データ処理部102は、データベース109に依存しない所定のデータ形式に受信したデータを変換する。例えば、データ処理部102は、受信したデータの中身から一部のデータを取り出す処理、又は受信したデータをある特定の方式に従って変換する処理を実行する。なお、データ処理部102は、受信した全てのデータに対して変換処理を実行してもよいし、受信したデータのうち温度、湿度、及び電力等のデータ種別に応じて、それぞれ異なる変換処理を実行してもよい。
中間サーバ管理部103は、中間サーバ120に設定された基本フィルタテーブル128を管理する。
データ管理部104は、センサ130から送信されたデータを管理する。具体的には、データ管理部104は、データ管理テーブル110に従って、中間サーバ120毎のデータ破棄に関する設定、中間サーバ120から送信されるデータに対する許容遅延時間等を管理する。
負荷監視部106は、データ収集システムの負荷を監視する。本実施例では、負荷監視部106は、周期的に、データ収集システムの負荷を監視し、監視結果を負荷監視テーブル113に反映する。
フィルタ管理部107は、データ収集システムの負荷に応じて、中間サーバ120に設定するフィルタの処理内容(フィルタ条件)を決定し、決定されたフィルタの処理内容(フィルタ条件)を中間サーバ120に反映する。
DBデータ送信部105は、データベース109にデータを送信する。DBデータ受信部108は、DBデータ送信部105から受信したデータをデータベース109に格納する。図1では、DBデータ送信部105及びDBデータ受信部108は、それぞれ一つであるが、複数あってもよい。この場合、データベース109の仕様に応じて、DBデータ送信部105及びDBデータ受信部108が選択される。
データベース109は、センサ130から送信されたデータを格納する。データベース109の構成は格納されるデータに応じてどのような構成であってもよい。
データ管理テーブル110は、センサ130から送信されるデータを管理するための情報を格納し、データ管理部104によって更新される。データ管理テーブル110の詳細については、図3を用いて後述する。
フィルタ状態管理テーブル111は、各中間サーバ120において設定されるフィルタ状態を管理するための情報を格納し、中間サーバ管理部103によって更新される。フィルタ状態管理テーブル111の詳細については、図4及び図5を用いて後述する。
データ受信状態テーブル112は、データ収集サーバ100が受信したデータに関する情報を格納し、データ管理部104によって更新される。データ受信状態テーブル112の詳細については、図6を用いて後述する。
負荷監視テーブル113は、データ収集システムにおける各種負荷を管理するための情報を格納し、負荷監視部106によって更新される。負荷監視テーブル113の詳細については、図7を用いて後述する。
アルゴリズム選択テーブル114は、負荷低減を実現するために、各中間サーバ120のフィルタ機能部に適用されるアルゴリズムの情報を格納し、フィルタ管理部107によって更新される。アルゴリズム選択テーブル114の詳細については、図8を用いて後述する。
中間サーバ120は、センサ130から送信されるデータに対して所定の処理を実行し、処理後のデータをデータ収集サーバ100に送信する計算機である。ここで、中間サーバ120のソフトウェア構成に関して説明する。
中間サーバ120は、機能ブロックとして、データ送信部121、データ振分け部1222、センサデータ受信部123、基本データフィルタ部124、複数の拡張フィルタ部125、及びフィルタ制御部126を備える。
また、中間サーバ120は、データテーブルとして、データ振分けテーブル127、及び基本フィルタテーブル128を保持する。
センサデータ受信部123は、センサ130から送信されるデータを受信する。センサデータ受信部123は、センサ130が利用する通信プロトコルに応じて、データを受信することができる。センサデータ受信部123は、センサ130から受信したデータをデータ振分け部122に送信する。
データ振分け部122は、受信したデータがフィルタ処理の対象であるか否かを判定し、フィルタ処理の対象である場合には、受信したデータに対応したフィルタ機能部に当該データを転送する。また、データ振分け部122は、フィルタ処理の対象でない場合には、データ送信部121に、受信したデータをそのまま転送する。
データ送信部121は、データ収集サーバ100に、センサ130から受信したデータを送信する。データ送信部121が利用する送信プロトコルとしてはHTTP等が用いられる。また、データ送信部121は、独自のプロトコルを実装し、当該プロトコルを用いて、データ収集サーバ100に、受信したデータを転送してもよい。
次に、フィルタ機能部について説明する。中間サーバ120は、フィルタ機能部として、基本データフィルタ部124及び拡張フィルタ部125を備える。
基本データフィルタ部124は、一般的なフィルタ処理を実行する。具体的には、基本データフィルタ部124は、データ種別毎の受信個数、及び受信データ量等に基づいて、予め定められた条件を満足するまでデータを保持し、その後、データ送信部121を介してデータ収集サーバ100に、保持したデータをまとめて送信する。
なお、基本データフィルタ部124は、タイマを用いて一定期間データを蓄積し、その後、データ収集サーバ100に、一定期間内に蓄積されたデータをまとめて送信してもよい。さらに、基本データフィルタ部124は、データをまとめて送信する場合、当該データのうちの一部を破棄した後、残りのデータを送信してもよい。
拡張フィルタ部125は、基本データフィルタ部124のフィルタ処理とは異なるデータ処理が必要な場合に用いられるフィルタ機能部である。拡張フィルタ部125は、例えば、以下のような処理を実行する。
拡張フィルタ部125は、複数個の数値データを受信し、受信した複数個の数値データの平均値を算出し、算出された平均値をデータとしてデータ収集サーバ100に送信する。また、拡張フィルタ部125は、データ収集サーバ100側の処理を高速化するために、受信したデータの事前処理を実行した後、データ収集サーバ100に処理されたデータを送信する。
なお、本発明は、基本データフィルタ部124及び拡張フィルタ部125が実行する処理に限定されない。
フィルタ制御部126は、中間サーバ120におけるフィルタの設定を制御する。具体的には、フィルタ制御部126は、データ収集サーバ100からの指示に従って、基本データフィルタ部124等に対するフィルタ条件の設定を変更する。
データ振分けテーブル127は、センサ130から受信したデータを各フィルタ機能部に振り分けるための情報を格納し、データ振分け部122によって参照される。
基本フィルタテーブル128は、基本データフィルタ部124が実行するフィルタ処理に用いられるフィルタ条件等の情報を格納し、基本データフィルタ部124によって参照される。
センサ130は、データ収集サーバ100に、様々なデータを送信する端末である。センサ130は、例えば、プロセッサ、メモリ、及びネットワークインタフェースを備える。
<サーバのハードウェア構成>
図2は、本発明の実施例1のサーバのハードウェア構成を示すブロック図である。図2では、データ収集サーバ100及び中間サーバ120のハードウェア構成を示す。
サーバ200は、プロセッサ201、メモリ202、及びネットワークインタフェース203を備える。
プロセッサ201は、メモリ202に格納されるプログラムを実行する。プロセッサ201が、メモリ202に格納されるプログラムを実行することによって、データ収集サーバ100又は中間サーバ120が有する機能を実現することができる。
ネットワークインタフェース203は、ネットワークを介して他の装置と接続する。
メモリ202は、プロセッサ201によって実行されるプログラム及び当該プログラムの実行に必要な情報を格納する。
データ収集サーバ100のメモリ202には、データ受信部101、データ処理部102、中間サーバ管理部103、データ管理部104、DBデータ送信部105、負荷監視部106、フィルタ管理部107、及びDBデータ受信部108を実現するプログラムが格納される。また、データ収集サーバ100のメモリ202には、データ管理テーブル110、フィルタ状態管理テーブル111、データ受信状態テーブル112、負荷監視テーブル113、及びアルゴリズム選択テーブル114が格納される。
一方、中間サーバ120のメモリ202には、データ送信部121、データ振分け部1222、センサデータ受信部123、基本データフィルタ部124、複数の拡張フィルタ部125、及びフィルタ制御部126を実現するプログラムが格納される。また、中間サーバ120のメモリ202には、データ振分けテーブル127、及び基本フィルタテーブル128が格納される。
<データ収集サーバの説明>
まず、図3から図8を用いて、データ収集サーバ100が保持するテーブルについて説明する。
図3は、本発明の実施例1のデータ収集サーバ100が保持するデータ管理テーブル110の一例を示す説明図である。
データ管理テーブル110は、データ識別子301、データ破棄可否302、優先度303、及び許容遅延時間304を含む。
データ識別子301は、センサ130から送信されるデータを識別するための識別子を格納するフィールドである。データの識別子としては、センサ130毎に予め付与された文字列、センサ130の種別毎に予め付与された文字列、データの送信先URIを表す文字列、又はデータの送信先URIを表す文字列の一部分等が考えられる。
データ破棄可否302は、中間サーバ120において、受信したデータの破棄を許可するか否かを示す情報を格納するフィールドである。データ破棄可否302に格納される情報としては、YES/NO、可/否、及びTRUE/FALSE等の文字列、又は、1/0の数値等の2値情報が考えられる。
優先度303は、センサ130から送信されるデータの重要性を示す情報を格納するフィールドである。優先度303には、数値等が格納される。優先度303は、例えば、中間サーバ120が、センサ130から送信されるデータに対してフィルタ処理を実行するか否かを判定する順番を決定する場合に用いられる。
本実施例では、重要性の高いデータには、優先度303には小さな値が格納される。例えば、最も重要性が高いデータの優先度303には「1」が格納されることとなる。
許容遅延時間304は、中間サーバ120において、受信したデータの待合せ許容時間を格納するフィールドである。許容遅延時間304には、「200ミリ秒」等の数値が格納される。許容遅延時間304は、例えば、受信したデータが中間サーバ120に一時蓄積し、その後まとめて送信するフィルタ処理において、フィルタ処理の対象のデータにリアルタイム性が要求される場合に用いられる。具体的には、中間サーバ120は、許容遅延時間304に格納される数値を超過した場合には、フィルタ条件が満たされていなくても、データ収集サーバ100にデータを送信する。
図4は、本発明の実施例1のデータ収集サーバ100が保持するフィルタ状態管理テーブル111の一例を示す説明図である。図5は、本発明の実施例1のフィルタ状態管理テーブル111に含まれるフィルタ条件404の一例を示す説明図である。
フィルタ状態管理テーブル111は、データ識別子401、及びフィルタ状態402を含む。
データ識別子401は、センサ130から送信されるデータを識別するための識別子を格納するフィールドであり、データ識別子301と同一のものである。
フィルタ状態402は、センサ130から送信されるデータに対するフィルタの設定状態を示す情報を格納するフィールドである。フィルタ状態402は、フィルタ有無403及びフィルタ条件404の二つのフィールドから構成される。
フィルタ有無403は、センサ130から送信されるデータに対してフィルタが設定されているか否かを示す情報を格納するフィールドである。フィルタ有無403に格納される情報としては、例えば、YES/NO、可/否、TRUE/FALSEと等の文字列、又は1/0の数値等の2値情報が考えられる。受信したデータに対したフィルタが設定されている場合、フィルタ有無403には、YES、可、若しくはTRUE等の文字列、又は1が格納される。
フィルタ条件404は、センサ130から送信されるデータにフィルタが設定されている場合、設定されているフィルタの処理内容を格納するフィールドである。ここで、図5を用いて、フィルタ条件404の詳細について説明する。
フィルタ条件404は、フィルタ種別501、フィルタしきい値502、データ破棄率503、及び許容遅延時間504から構成される。
フィルタ種別501は、フィルタ処理の実行時に用いられる値を格納するフィールドである。フィルタ種別501に格納される値としては、例えば、データ個数、データ量等の種別を表す識別子が考えられる。
フィルタしきい値502は、フィルタ処理におけるしきい値を格納するフィールドである。
例えば、フィルタ種別501に「データ個数」が格納される場合、以下のようなフィルタ処理が実行される。中間サーバ120は、データ識別子401と一致する識別子のデータがフィルタしきい値502の値の個数だけ蓄積された場合、データ収集サーバ100に蓄積されたデータを送信する。
また、フィルタ種別501に「データ量」が格納される場合、以下のようなフィルタ処理が実行される。中間サーバ120は、データ識別子401と一致する識別子のデータがフィルタしきい値502の値のデータ量分だけ蓄積された場合、データ収集サーバ100に蓄積されたデータを送信する。
データ破棄率503は、フィルタ条件が満たされ、蓄積されたデータのうち、実際にデータ収集サーバ100に送信するデータの割合を示す数値を格納するフィールドである。
許容遅延時間504は、センサ130から送信されるデータを蓄積する場合に、中間サーバ120が蓄積可能な許容時間を格納するフィールドである。許容遅延時間504は、許容遅延時間304に格納される数値以下の値が格納される。許容遅延時間504に基づいて、中間サーバ120がデータを蓄積し、一定間隔毎に蓄積されたデータをまとめてデータ収集サーバ100に送信するフィルタ処理が実現できる。
なお、前述したフィルタ条件404は一例であって、本発明は、フィルタ条件404に限定されない。
図6は、本発明の実施例1のデータ収集サーバ100が保持するデータ受信状態テーブル112の一例を示す説明図である。
データ受信状態テーブル112は、データ識別子601、受信数602、受信量603、過去受信数604、及び過去受信量606を含む。
データ識別子601は、センサ130から送信されるデータを識別するための識別子を格納するフィールドであり、データ識別子301と同一のものである。
受信数602は、現時点から一定の時間間隔さかのぼった期間において受信したデータの個数を格納するフィールドである。現時点とは、受信したデータのタイムスタンプのうち、最新のタイムスタンプを表す。また、一定の時間間隔は、予め設定された間隔であるものとする。例えば、最新のタイムスタンプが「2012/12/01 12:00:00」で、一定の時間間隔が1分の場合、受信数602には、「2012/12/01 11:59:00」から「2012/12/01 11:59:59」までの間に受信したデータの個数が格納される。
受信量603は、現時点から一定期間さかのぼった時間間隔において受信したデータのデータ量を格納するフィールドである。
過去受信数604は、現時点までに、一定の時間間隔において受信したデータの個数を格納するフィールドである。例えば、一定の時間間隔が1分の場合、過去受信数604には、過去に受信したデータの個数を統計処理することによって算出された、1分間あたりの平均データ数が格納される。
過去受信量605は、現時点までに、一定の時間間隔において受信したデータのデータ量を格納するフィールドである。
前述したように、受信数602及び受信量603は、現在の受信状態を示す情報であり、過去受信数604及び過去受信量605は、過去の受信状態を示す情報である。したがって、データ受信状態テーブル112は、突発的にデータ数、又はデータ量が増加したデータを検索する場合に用いられる。また、データ数、又はデータ量の増加量が多い順に、データにフィルタを設定する場合にも用いられる。
図6に示すデータ受信状態テーブル112は一例であって、その他の情報が格納されてもよい。例えば、データ受信状態テーブル112には、現時点までに受信したデータの個数の最大値及びその時刻、又はデータ量の最大値及びその時刻の組合せが格納されてもよい。
図7は、本発明の実施例1のデータ収集サーバ100が保持する負荷監視テーブル113の一例を示す説明図である。
負荷監視テーブル113は、負荷要素701、現在値702、及びしきい値703を含む。
負荷要素701は、データ収集システムの性能に影響を与える要素を格納するフィールドである。本実施例では、データ収集サーバ100と中間サーバ120とを接続するネットワークの帯域利用量、データ収集サーバ100におけるCPU使用率、データ収集サーバ100が受信したパケット数、データベース109において処理されるセッション数、データベース109に蓄積されるデータ量等が負荷要素として挙げられる。
現在値702は、現在のデータ収集システムにおける負荷要素701に対応する値を格納するフィールドである。現在値702に格納される値は、負荷監視部106によって周期的に更新される。
しきい値703は、データ収集システムにおける負荷要素701に設定されたしきい値を格納するフィールドである。
現在値702の値がしきい値703の値より大きくなった場合に、中間サーバ120にフィルタを設定する処理等のトリガとして用いられる。
図8は、本発明の実施例1のデータ収集サーバ100が保持するアルゴリズム選択テーブル114の一例を示す説明図である。
アルゴリズム選択テーブル114は、負荷要素801及びフィルタ制御アルゴリズム802を含む。
負荷要素801は、データ収集システムの性能に影響を与える要素を格納するフィールドであり、負荷要素701と同一のものである。
フィルタ制御アルゴリズム802は、各負荷要素801に対して適用されるアルゴリズムの識別情報を格納するフィールドである。ここで、アルゴリズムは、データ収集システムの負荷を低減するためのフィルタ処理のアルゴリズムであり、設定されるフィルタの種別を表すものである。
図8では、アルゴリズムの一例として、データ量削減、データ数削減、及びデータ数集約を示している。
データ量削減のアルゴリズムは、中間サーバ120から送信されるデータのデータ量を削減するためのフィルタを設定するアルゴリズムである。
データ数削減のアルゴリズムは、中間サーバ120から送信されるデータの個数を削減するためのフィルタを設定するアルゴリズムである。
また、データ集約のアルゴリズムは、複数のデータを一つのデータに集約して、集約されたデータをデータ収集サーバ100に送信するためのフィルタを設定するアルゴリズムである。データ集約のアルゴリズムは、中間サーバ120から送信されるデータの個数の削減を目的としてフィルタの設定に用いられるものである。
なお、本発明は、使用されるアルゴリズムに限定されない。例えば、図8に示したアルゴリズム以外にも、中間サーバ120から送信されるデータのデータ量の削減するために、中間サーバ120から送信されるデータを圧縮し、データ収集サーバ100に圧縮されたデータを送信するアルゴリズム等が用いられてもよい。
次に、図9から図12を用いて、データ収集サーバ100が実行する処理について説明する。
図9は、本発明の実施例1のフィルタ管理部107が実行するアルゴリズム選択処理の一例を説明するフローチャートである。
アルゴリズム選択処理は、負荷監視部106が周期的にデータ収集システムの負荷を監視し、データ収集システムの負荷が増大した場合に実行される。具体的には、負荷監視部106は、負荷監視テーブル113の所定の負荷要素701の現在値702の値が、しきい値703の値より大きくなった場合、データ収集システムの負荷が増大したと判定し、フィルタ管理部107を呼び出す。このとき、負荷監視部106は、対応する負荷要素701を含む負荷情報をフィルタ管理部107に送信する。
まず、フィルタ管理部107は、負荷監視部106から、負荷情報を受信する(ステップS901)。
フィルタ管理部107は、負荷情報及びアルゴリズム選択テーブル114に基づいて、センサ130から送信されるデータに適用するフィルタ制御アルゴリズムを選択する(ステップS902)。具体的には、以下のような処理が実行される。
フィルタ管理部107は、負荷情報から負荷要素701を取得する。フィルタ管理部107は、アルゴリズム選択テーブル114を参照し、負荷要素801が取得された負荷要素701と一致するエントリを検索する。フィルタ管理部107は、検索されたエントリのフィルタ制御アルゴリズム802を、センサ130から送信されるデータに適用するフィルタ制御アルゴリズムとして選択する。
次に、フィルタ管理部107は、選択されたフィルタ制御アルゴリズムに対応するフィルタ対象データリストを生成する(ステップS903)。ここで、フィルタ対象データリストの生成方法としては、以下のようなものが考えられる。
選択されたフィルタ制御アルゴリズムがデータ数削減のアルゴリズム、又はデータ量削減のアルゴリズムである場合、フィルタ管理部107は、データ管理テーブル110のデータ破棄可否302を参照して、データの破棄が許可されているデータのエントリを抽出し、抽出されたエントリをリスト化する方法が考えられる。このとき、フィルタ管理部107は、優先度303又は許容遅延時間304に基づいて、フィルタ対象データリストのエントリを並び替えてもよい。
これによって、破棄が可能なデータ種別のデータに対してフィルタ処理が実行される。すなわち、当該データ種別のデータが破棄される。
選択されたフィルタ制御アルゴリズムがデータ数集約のアルゴリズムである場合、フィルタ管理部107は、データ受信状態テーブル112の受信数602及び過去受信数604を参照し、受信データ数の増加幅が大きい順にデータ受信状態テーブル112のエントリを抽出し、抽出されたエントリをリスト化する方法が考えられる。このとき、フィルタ管理部107は、優先度303又は許容遅延時間304に基づいて、フィルタ対象データリストのエントリを並び替えてもよい。
この場合、フィルタ処理データリストの上のエントリから順に処理することによって、受信データ数が急激に増加したデータ種別のデータから優先的にフィルタ処理が実行される。すなわち、当該データ種別のデータから優先的に集約される。
さらに、フィルタ管理部107は、優先度303の値が大きい順に、すなわち、重要性の低い順に、データ受信状態テーブル112のエントリを抽出し、抽出されたエントリをリスト化してもよい。また、フィルタ管理部107は、許容遅延時間304が大きい順にデータ受信状態テーブル112のエントリを抽出し、抽出されたエントリをリスト化されてもよい。
この場合、フィルタ処理データリストの上のエントリから順に処理することによって、重要性の低いデータ種別のデータから優先的にフィルタ処理を実行される。例えば、重要性の低いデータ種別のデータを優先的に破棄し、又は、集約することが可能となる。
次に、フィルタ管理部107は、生成されたフィルタ対象データリスト及び選択されたフィルタ制御アルゴリズムに基づいて、フィルタ制御処理を実行する(ステップS904)。すなわち、フィルタ対象データリストに含まれるデータに対して、フィルタ制御アルゴリズムに対応するフィルタが設定される。フィルタ制御処理については、図10から図12を用いて後述する。
以上で説明したように、本発明では、データ収集システムの負荷に応じて、センサ130から送信されるデータに対して設定されるフィルタを動的に設定することができる。これによって、データ収集システムの負荷の適切な低減が可能となる。
また、データ収集システムの負荷に応じて、フィルタを設定するデータを特定するため、センサ130から送信されるデータの安全性、信頼性等を確保しつつ、データ収集システムの負荷の低減が可能となる。
図10は、本発明の実施例1のフィルタ管理部107がデータ量削減のアルゴリズムにしたがって実行するフィルタ制御処理の一例を説明するフローチャートである。
フィルタ管理部107は、負荷監視テーブル113を参照して、データ収集システムにおいて削減すべきデータ量を算出する(ステップS1001)。
具体的には、フィルタ管理部107は、現在値702としきい値703との差を算出する。例えば、ネットワークの帯域利用量が負荷要素である場合、負荷監視テーブル113のネットワークの帯域利用量に対応するエントリの現在値702からしきい値703を減算することによって、データ収集システムにおいて削減すべきデータ量が算出される。
以下の説明では、ステップS1001において算出された値を必須削減データ量とも記載する。
フィルタ管理部107は、必須削減データ量、及びフィルタ対象データリストに基づいて、データ毎の目標削減データ量を算出する(ステップS1002)。このとき、フィルタ管理部107は、削減予定データ量を「0」に初期化する。
ここで、目標削減データ量の決定方法としては、以下のような方法が考えられる。一つの方法としては、フィルタ管理部107は、算出された必須削減データ量を、フィルタ対象データリストに含まれるデータ種別の数(エントリの数)で除算することによって目標削減データ量を算出する。また、他の方法としては、フィルタ管理部107は、算出された必須削減データ量を、フィルタ対象データリストに含まれるデータ種別の数(エントリの数)で除算し、当該値に定数を乗算することによって目標削減データ量を算出する。
前述した決定方法では、全てのデータ種別のデータ量が均等に削減されるフィルタ制御が可能となる。一方、各データ種別の優先度に基づいて、目標削減データ量が決定されてもよい。例えば、フィルタ管理部107は、優先度303の値に基づいて、データ種別毎の削減データ量の比率を算出し、算出された比率及び必須削減データ量に基づいて、目標削減データ量を算出する。例えば、優先度303の値の逆数を削減データ量の比率として用いることが考えられる。
次に、フィルタ管理部107は、フィルタ対象データリストから処理対象のデータを選択する(ステップS1003)。
ここで、処理対象のデータの選択方法としては、以下のような方法が考えられる。一つの方法としては、フィルタ管理部107は、データ管理テーブル110の優先度303を参照して、優先度303の値が低い順に、フィルタ対象データリストに含まれるデータを選択する。また、他の方法としては、フィルタ管理部107は、データ受信状態テーブル112の受信量603と過去受信量605との差を算出し、受信データ量の増加幅が大きい順、すなわち算出された差が大きい順に、フィルタ対象データリストに含まれるデータを選択する。
予め、優先度303の値が低い順、又は受信データ量の増加幅の順に、フィルタ対象データリストのエントリが並び替えられている場合には、フィルタ管理部107は、フィルタ対象データリストの上のエントリから順に選択する。
フィルタ管理部107は、フィルタ対象データリストから選択可能なデータが存在するか否かを判定する(ステップS1004)。すなわち、フィルタ対象データリストの全てのデータに対して処理が実行されたか否かが判定される。
フィルタ対象データリストから選択可能なデータが存在しないと判定された場合、フィルタ管理部107は、異常状態が発生したものとしてオペレータに警告メッセージを送信し(ステップS1010)、処理を終了する。これは、必須削減データ量分のデータ量を削減できず、データ収集システムの負荷を低減できない状態であるためである。
フィルタ対象データリストから選択可能なデータが存在すると判定された場合、フィルタ管理部107は、データ受信状態テーブル112に基づいて、選択されたデータにおけるデータ破棄率を算出する(ステップS1005)。具体的には、以下のような処理が実行される。
フィルタ管理部107は、データ受信状態テーブル112を参照し、データ識別子601が選択されたデータの識別子と一致するエントリを検索する。フィルタ管理部107は、検索されたエントリの受信量603から過去受信量605を減算することによって、削減可能なデータ量を算出する。フィルタ管理部107は、削減可能なデータ量が目標削減データ量より大きいか否かを判定する。
削減可能なデータ量が目標削減データ量より大きいと判定された場合、フィルタ管理部107は、目標削減データ量を、選択されたデータの削減量として決定する。一方、削減可能なデータ量が目標削減データ量以下であると判定された場合、フィルタ管理部107は、削減可能なデータ量を、選択されたデータの削減量として決定する。
フィルタ管理部107は、選択されたデータの削減量を受信量603で除算することによって、データ破棄率を算出する。
ここで、選択されたエントリの受信量603が「400」、過去受信量605が「200」、目標削減データ量が「100」である場合、例えば、以下のような処理が実行される。削減可能なデータ量は「200」であり、目標削減データ量より大きいため、フィルタ管理部107は、目標削減データ量を、選択されたデータの削減量として決定する。また、フィルタ管理部107は、目標削減データ量の「100」を受信量603の「400」で除算することによって、データ破棄率を「25パーセント」と決定する。
フィルタ管理部107は、選択されたデータの識別子、フィルタ種別、フィルタのしきい値、許容遅延時間、及び算出されたデータ破棄率を含むフィルタ条件設定指示を各中間サーバ120に送信する(ステップS1006)。
なお、フィルタ種別には負荷要素701に関連する情報が用いられる。例えば、負荷要素がネットワークの帯域利用量である場合、フィルタ種別は「データ量」となる。
また、フィルタのしきい値には任意の値が設定される。例えば、中間サーバ120にデータを蓄積する必要がないフィルタの場合「0」が設定され、また、蓄積されたデータ量が1000MBとなった場合に100MB分のデータを破棄するフィルタの場合「100/1000」が設定される。
また、許容遅延時間にはデータ管理テーブル110の許容遅延時間304が設定される。
これによって、中間サーバ120は、フィルタ条件設定指示にしたがって、選択されたデータに対するフィルタを設定する。具体的には、フィルタ制御部126が、基本フィルタテーブル128に、受信したフィルタ条件設定指示に含まれる値を格納する。また、フィルタ制御部126は、データ振分けテーブル127に新たなエントリを追加し、データ識別子1301に選択されたデータの識別子を格納し、振分け先1302に「基本フィルタ」を格納する。
次に、フィルタ管理部107は、選択されたデータに対して設定されたフィルタによって削減されるデータ量、すなわち、選択されたデータの削減量を削減予定データ量に加算する(ステップS1007)。また、フィルタ管理部107は、フィルタ状態管理テーブル111を更新する(ステップS1008)。
具体的には、フィルタ管理部107は、フィルタ状態管理テーブル111を参照して、選択されたデータに対応するエントリを検索する。フィルタ管理部107は、検索されたエントリのフィルタ有無403にフィルタが設定されている旨を示す情報を格納する。また、フィルタ管理部107は、フィルタ条件設定指示に含まれる各値を、検索されたエントリのフィルタ条件404に格納する。
フィルタ管理部107は、削減予定データ量が必須削減データ量より大きいか否かを判定する(ステップS1009)。
削減予定データ量が必須削減データ量以下であると判定された場合、フィルタ管理部107は、ステップ1003に戻り同様の処理を実行する。
削減予定データ量が必須削減データ量より大きいと判定された場合、フィルタ管理部107は、データ収集システムの負荷を低減できるため、処理を終了する。
図11は、本発明の実施例1のフィルタ管理部107がデータ数削減のアルゴリズムにしたがって実行するフィルタ制御処理の一例を説明するフローチャートである。
フィルタ管理部107は、負荷監視テーブル113を参照して、データ収集システムにおいて削除すべきデータ数を算出する(ステップS1101)。
具体的には、フィルタ管理部107は、現在値702としきい値703との差を算出する。例えば、サーバの受信パケット数が負荷要素である場合、負荷監視テーブル113のサーバの受信パケット数に対応するエントリの現在値702からしきい値703を減算することによって、削減すべきデータ数が算出される。
以下の説明では、ステップS1101において算出された値を必須削減データ数とも記載する。
フィルタ管理部107は、必須削減データ数、及びフィルタ対象データリストに基づいて、データ毎の目標削減データ数を算出する(ステップS1102)。このとき、フィルタ管理部107は、削除予定データ数を「0」に初期化する。
ここで、目標削減データ数の決定方法としては、以下のような方法が考えられる。一つの方法としては、フィルタ管理部107は、算出された必須削減データ数を、フィルタ対象データリストに含まれるデータ種別の数(エントリの数)で除算することによって目標削減データ数を算出する。また、他の方法としては、フィルタ管理部107は、算出された必須削減データ数を、フィルタ対象データリストに含まれるデータ種別の数(エントリの数)で除算し、当該値に定数を乗算することによって目標削減データ数を算出する。
前述した決定方法では、全てのデータ種別のデータ数が均等に削減されるフィルタ制御が可能となる。一方、各データ種別の優先度に基づいて、目標削減データ数が決定されてもよい。例えば、フィルタ管理部107は、優先度303の値に基づいて、データ種別毎の削減データ数の比率を算出し、算出された比率及び必須削減データ数に基づいて、目標削減データ数を算出する。例えば、優先度303の値の逆数を削減データ数の比率として用いることが考えられる。
次に、フィルタ管理部107は、フィルタ対象データリストから、処理対象のデータを選択する(ステップS1103)。
ここで、処理対象のデータの選択方法としては、以下のような方法が考えられる。一つの方法としては、フィルタ管理部107は、データ管理テーブル110の優先度303を参考して、優先度303の値の低い順に、フィルタ対象データリストに含まれるデータを選択する。また、他の方法としては、フィルタ管理部107は、データ受信状態テーブル112の受信数602と過去受信数604との差を算出し、受信データ数の増加幅が大きい順、すなわち算出された差が大きい順に、フィルタ対象データリストに含まれるデータを選択する。
予め、優先度303の値が低い順、又は受信データ数の増加幅の順に、フィルタ対象データリストのエントリが並び替えられている場合には、フィルタ管理部107は、フィルタ対象データリストの上のエントリから順に選択する。
フィルタ管理部107は、フィルタ対象データリストから選択可能なデータが存在するか否かを判定する(ステップS1104)。すなわち、フィルタ対象データリストの全てのデータに対して処理が実行されたか否かが判定される。
フィルタ対象データリストから選択可能なデータが存在しないと判定された場合、フィルタ管理部107は、異常状態が発生したものとしてオペレータに警告メッセージを送信し(ステップS1110)、処理を終了する。これは、必須削減データ数分のデータ数を削除できず、データ収集システムの負荷を低減できない状態であるためである。
フィルタ対象データリストから選択可能なデータが存在すると判定された場合、フィルタ管理部107は、データ受信状態テーブル112に基づいて、選択されたデータにおけるデータ破棄率を算出する(ステップS1105)。具体的には、以下のような処理が実行される。
フィルタ管理部107は、データ受信状態テーブル112を参照し、データ識別子601が選択されたデータの識別子と一致するエントリを検索する。フィルタ管理部107は、検索されたエントリの受信数602から過去受信数604を減算することによって、削減可能なデータ数を算出する。フィルタ管理部107は、削減可能なデータ数が目標削減データ数より大きいか否かを判定する。
削減可能なデータ数が目標削減データ数より大きいと判定された場合、フィルタ管理部107は、目標削減データ数を、選択されたデータの削減数として決定する。一方、削減可能なデータ数が目標削減データ数以下であると判定された場合、フィルタ管理部107は、削減可能なデータ数を、選択されたデータの削減数として決定する。
フィルタ管理部107は、選択されたデータの削減数を受信数602で除算することによって、データ破棄率を算出する。
ここで、選択されたエントリの受信数602が「100」、過去受信数604が「50」、目標削減データ数が「100」である場合、例えば、以下のような処理が実行される。削減可能なデータ数は「50」であり、目標削減データ数より小さいため、フィルタ管理部107は、削減可能なデータ数を、選択されたデータの削減数として決定する。また、フィルタ管理部107は、削減可能なデータ数の「50」を受信数602の「100」で除算することによって、データ破棄率を「50パーセント」と決定する。
フィルタ管理部107は、選択されたデータの識別子、フィルタ種別、フィルタのしきい値、及び算出されたデータ破棄率を含むフィルタ条件設定指示を各中間サーバ120に送信する(ステップS1106)。
なお、フィルタ種別には負荷要素701に関連する情報が用いられる。例えば、負荷要素がサーバの受信パケット数である場合、フィルタ種別は「データ数」となる。
また、フィルタのしきい値には任意の値が設定される。例えば、中間サーバ120にデータを蓄積する必要がないフィルタの場合「0」が設定され、また、蓄積されたデータ数が5個となった場合に1個のデータを破棄するフィルタの場合「1/5」が設定される。
また、許容遅延時間にはデータ管理テーブル110の許容遅延時間304が設定される。
これによって、中間サーバ120は、フィルタ条件設定指示にしたがって、選択されたデータに対するフィルタを設定する。具体的には、フィルタ制御部126が、基本フィルタテーブル128に、受信したフィルタ条件設定指示に含まれる値を格納する。また、フィルタ制御部126は、データ振分けテーブル127に新たなエントリを追加し、データ識別子1301に選択されたデータの識別子を格納し、振分け先1302に「基本フィルタ」を格納する。
フィルタ管理部107は、選択されたデータに対して設定されたフィルタによって削減されるデータ数を、すなわち、選択されたデータの削減数を削減予定データ数に加算する(ステップS1107)。また、フィルタ管理部107は、フィルタ状態管理テーブル111を更新する(ステップS1108)。
具体的には、フィルタ管理部107は、フィルタ状態管理テーブル111を参照して、選択されたデータに対応するエントリを検索する。フィルタ管理部107は、検索されたエントリのフィルタ有無403にフィルタが設定されている旨を示す情報を格納する。また、フィルタ管理部107は、フィルタ条件設定指示に含まれる各値を、検索されたエントリのフィルタ条件404に格納する。
フィルタ管理部107は、削減予定データ数が必須削減データ数より大きいか否かを判定する(ステップS1109)。
削減予定データ数が必須削減データ数以下であると判定された場合、フィルタ管理部107は、ステップS1103に戻り同様の処理を実行する。
削減予定データ数が必須削減データ数より大きいと判定された場合、フィルタ管理部107は、データ収集システムの負荷を低減できるため、処理を終了する。
図12は、本発明の実施例1のフィルタ管理部107がデータ集約のアルゴリズムにしたがって実行するフィルタ制御処理の一例を説明するフローチャートである。
フィルタ管理部107は、負荷監視テーブル113を参照して、削減すべきデータ数を算出する(ステップS1201)。
具体的には、フィルタ管理部107は、現在値702としきい値703との差を算出する。例えば、データベースの処理セッション数が負荷要素である場合、負荷監視テーブル113のデータベースの処理セッション数に対応するエントリの現在値702からしきい値703を減算することによって、削除すべきデータ数が算出される。
以下の説明では、ステップS1201において算出された値を必須削減データ数と記載する。
フィルタ管理部107は、算出された必須削減データ数、及びフィルタ対象データリストに基づいて、データ毎の目標集約データ数を算出する(ステップS1202)。このとき、フィルタ管理部107は、削減予定データ数を「0」に初期化する。
ここで、目標削減データ数の決定方法としては、以下のような方法が考えられる。一つの方法としては、フィルタ管理部107は、算出された必須削減データ数を、フィルタ対象データリストに含まれるデータ種別の数(エントリの数)で除算することによって目標削減データ数を算出する。また、他の方法としては、フィルタ管理部107は、算出された必須削減データ数を、フィルタ対象データリストに含まれるデータ種別の数(エントリの数)で除算し、当該値に定数を乗算することによって目標削減データ数を算出する。
次に、フィルタ管理部107は、フィルタ対象データリストから処理対象のデータを選択する(ステップS1203)。
データ集約のアルゴリズムにおけるフィルタ対象データリストは、受信データ数の増加幅が大きい順にエントリが並び替えられているため、フィルタ管理部107は、上のエントリから順に選択する。
フィルタ管理部107は、フィルタ対象データリストから選択可能なデータが存在するか否かを判定する(ステップS1204)。すなわち、フィルタ対象データリストの全てのデータに対して処理が実行されたか否かが判定される。
フィルタ対象データリストから選択可能データが存在しないと判定された場合、フィルタ管理部107は、異常状態が発生したものとしてオペレータに警告メッセージを送信し(ステップS1210)、処理を終了する。これは、必須削減データ数分のデータ数を削減できず、データ収集システムの負荷を低減できない状態であるためである。
フィルタ対象データリストから選択可能なデータが存在すると判定された場合、フィルタ管理部107は、データ受信状態テーブル112に基づいて、選択されたデータにおけるデータ集約数を算出する(ステップS1205)。具体的には、以下のような処理が実行される。
フィルタ管理部107は、データ受信状態テーブル112を参照し、データ識別子601が選択されたデータの識別子と一致するエントリを検索する。フィルタ管理部107は、検索されたエントリの受信数602から過去受信数604を減算することによって、削減可能なデータ数を算出する。フィルタ管理部107は、削減可能なデータ数が目標削減データ数より大きいか否かを判定する。
削減可能なデータ数が目標削減データ数より大きいと判定された場合、フィルタ管理部107は、目標削減データ数を、選択されたデータの削減数として決定する。一方、削減可能なデータ数が目標削減データ数以下であると判定された場合、フィルタ管理部107は、削減可能なデータ数を、選択されたデータの削減数として決定する。
フィルタ管理部107は、受信数602から選択されたデータの削減数を減算することによって、受信予定数を算出する。さらに、フィルタ管理部107は、受信数602を算出された受信予定数で除算することによってデータ集約数を算出する。
ここで、検索されたエントリの受信数602が「400」、過去受信数604が「400」、目標削減データ数が「200」である場合、例えば、以下のような処理が実行される。削減可能なデータ数は「300」であり、目標削減データ数より大きいため、フィルタ管理部107は、目標削減データ数を、選択されたデータの削減数として決定する。また、フィルタ管理部107は、受信数602の「400」から選択されたデータの削減数の「200」を減算することによって受信予定数として「200」を算出する。さらに、フィルタ管理部107は、受信数602の「400」を受信予定数の「200」で除算することによって、データ集約数を「2」と決定する。
次に、フィルタ管理部107は、選択されたデータの識別子、フィルタ種別、許容遅延時間、及び算出されたデータ集約数を含むフィルタ条件設定指示を各中間サーバ120に送信する(ステップS1206)。
なお、フィルタ種別には負荷要素701に関連する情報が用いられる。例えば、負荷要素がデータベースの処理セッション数である場合、フィルタ種別は「セッション数」となる。許容遅延時間にはデータ管理テーブル110の許容遅延時間304が設定される。また、決定されたデータ集約数はフィルタのしきい値に対応する。
これによって、中間サーバ120は、フィルタ条件設定指示にしたがって、選択されたデータに対するフィルタを設定する。具体的には、フィルタ制御部126が、基本フィルタテーブル128に、受信したフィルタ条件設定指示に含まれる値を格納する。また、フィルタ制御部126は、データ振分けテーブル127に新たなエントリを追加し、データ識別子1301に選択されたデータの識別子を格納し、振分け先1302に「基本フィルタ」を格納する。
フィルタ管理部107は、選択されたデータに対して設定されたフィルタによって削減されるデータ数、すなわち、選択されたデータの削減数を削減予定データ数に加算する(ステップS1207)。また、フィルタ管理部107は、フィルタ状態管理テーブル111を更新する(ステップS1208)。
具体的には、フィルタ管理部107は、フィルタ状態管理テーブル111を参照して、選択されたデータに対応するエントリを検索する。フィルタ管理部107は、検索されたエントリのフィルタ有無403にフィルタが設定されている旨を示す情報を格納する。また、フィルタ管理部107は、フィルタ条件設定指示に含まれる各値を、検索されたエントリのフィルタ条件404に格納する。
フィルタ管理部107は、削減予定データ数が必須削減データ数より大きいか否かを判定する(ステップS1209)。
削減予定データ数が必須削減データ数以下であると判定された場合、フィルタ管理部107は、ステップS1203に戻り同様の処理を実行する。
削減予定データ数が必須削減データ数より大きいと判定された場合、フィルタ管理部107は、データ収集システムの負荷を低減できるため、処理を終了する。
<中間サーバの説明>
まず、図13及び図14を用いて、中間サーバ120が保持するテーブルについて説明する。
図13は、本発明の実施例1の中間サーバ120が保持するデータ振分けテーブル127の一例を示す説明図である。
データ振分けテーブル127は、データ識別子1301、及び振分け先1302を含む。
データ識別子1301は、センサ130から送信されるデータを識別するための識別子を格納するフィールドであり、データ識別子301と同一のものである。振分け先1302は、データ識別子1301に対応するデータが転送されるフィルタ機能部の識別子を格納するフィールドである。
データ振分け部122は、センサ130からデータを受信した場合に、データ振分けテーブル127を参照して、受信したデータの識別子を検索キーとして一致するエントリを検索し、検索されたエントリの振分け先1302に対応するフィルタ機能部に受信したデータを転送する。
図14は、本発明の実施例1の中間サーバ120が保持する基本フィルタテーブル128の一例を示す説明図である。
基本フィルタテーブル128は、データ識別子1401、及びフィルタ条件1402を含む。
データ識別子1401は、センサ130から送信されるデータを識別するための識別子を格納するフィールドであり、データ識別子301と同一のものである。フィルタ条件1402は、フィルタの処理内容を格納するフィールドであり、フィルタ条件404と同一のものである。フィルタ条件1402には、フィルタ条件設定指示に含まれる各値が格納される。
なお、本実施例では、データ振分けテーブル127、及び基本フィルタテーブル128を別々のテーブルとして管理しているが、一つのテーブルにまとめて管理してもよい。この場合、中間サーバ120は、データ識別子、振り分け先、及びフィルタ条件を含むテーブルを保持する。
図15は、本発明の実施例1の中間サーバ120のデータ振分け部122が実行するデータ振分け処理の一例を説明するフローチャートである。
データ振分け部122は、センサデータ受信部123からデータを受信し(ステップS1501)、受信したデータからデータ識別子を取得する(ステップS1502)。
データ振分け部122は、データ振分けテーブル127を参照して、取得されたデータ識別子を検索キーとして、当該データ識別子と一致するエントリを検索する(ステップS1503)。データ振分け部122は、検索結果に基づいて、取得されたデータ識別子と一致するエントリがあるか否かを判定する(ステップS1504)。取得されたデータ識別子と一致するエントリがある場合、当該データに対するフィルタが設定されていることを示す。
取得されたデータ識別子と一致するエントリがあると判定された場合、データ振分け部122は、検索されたエントリの振分け先1302に対応するフィルタ機能部に当該データを転送し(ステップS1505)、処理を終了する。
取得されたデータ識別子と一致するエントリがないと判定された場合、データ振分け部122は、データ収集サーバ100に当該データをそのまま送信するために、データ送信部121に当該データを転送し(ステップS1506)、処理を終了する。
図16は、本発明の実施例1の中間サーバ120の基本データフィルタ部124が実行するフィルタ処理の一例を説明するフローチャートである。
基本データフィルタ部124は、データ振分け部122からデータを受信し(ステップS1601)、受信したデータからデータ識別子を取得する(ステップS1602)。
基本データフィルタ部124は、基本フィルタテーブル128を参照して、取得されたデータ識別子を検索キーとして、当該データ識別子と一致するエントリを検索する(ステップS1603)。
基本データフィルタ部124は、受信したデータを一時的に保持するデータ用キューに、受信したデータを追加する(ステップS1604)。本実施例では、データの種別毎にデータ用キューがあるものとする。この場合、基本データフィルタ部124は、データ識別子に対応するデータ用キューに受信したデータを格納する。
基本データフィルタ部124は、受信したデータのフィルタ条件を確認し(ステップS1605)、データ用キューの状態がフィルタ条件を満たすか否かを判定する(ステップS1606)。
具体的には、基本データフィルタ部124は、ステップS1603において検索されたエントリのフィルタ条件1402を確認する。基本データフィルタ部124は、データ用キューにおけるデータの蓄積状態に基づいて、当該データ用キューの状態がフィルタ条件1402を満たすか否かを判定する。
データ用キューの状態がフィルタ条件を満たさないと判定された場合、基本データフィルタ部124は、処理を終了する。
データ用キューの状態がフィルタ条件と満たすと判定された場合、基本データフィルタ部124は、フィルタ条件1402に格納されたデータ破棄率に基づいて、データ収集サーバ100に送信するデータを選択する(ステップS1607)。
具体的には、基本データフィルタ部124は、フィルタ条件1402に格納されるデータ破棄率にしたがって、データ用キューに格納されるデータから所定数のデータ又は所定量のデータを破棄する。データ用キューに格納されるデータがデータ収集サーバ100に送信されるデータとなる。
基本データフィルタ部124は、データ用キューに格納される複数のデータを一つのデータに集約して、集約されたデータをデータ収集サーバ100に転送し(ステップS1608)、処理を終了する。
以下、本発明の具体例を説明する。
図17は、本発明の実施例1のデータ収集システムにおけるデータ数集約のアルゴリズムにしたがって実行されるフィルタ制御の流れを説明するシーケンス図である。
以下の説明では、データ収集サーバ100は、センサA(130−1)からデータ識別子301が「A」であるデータを受信しているものとする。また、データ管理テーブル110は図2示すようなものになっており、また、アルゴリズム選択テーブル114は図8に示すようなものとする。
ステップS1701の状態では、データ収集サーバ100は、センサA(130−1)からしきい値の範囲内のデータを受信している。
ステップS1702の状態では、受信データ数が増加し、データ受信状態テーブル112は図6に示すような状態になっているものとする。また、負荷監視テーブル113は図7に示すような状態になっているものとする。
このとき、負荷要素701がサーバの受信パケット数に対応するエントリの現在値702の値が「1200」であり、しきい値703の値の「900」を超過している。したがって、ステップS1703において、負荷監視部106は、サーバの受信パケット数がしきい値703を超過していることを検出し、フィルタ管理部107を呼び出す。このとき、フィルタ管理部107には、負荷情報が送信される(ステップS901)。
ステップS1704において、フィルタ管理部107は、サーバの受信パケット数を検索キーとして、アルゴリズム選択テーブル114から適用するフィルタ制御アルゴリズムを選択する(ステップS902)。ここでは、データ数集約のアルゴリズムが選択される。
フィルタ管理部107は、優先度303の低いものから順にデータ受信状態テーブル112のエントリを並び替えることによってフィルタ対象データリストを生成する(ステップS903)。
図6に示すデータ管理テーブル110では、データ識別子301が「A」のデータはデータ識別子301が「B」のデータより優先度が低い、すなわち、優先度303の値が大きいため、フィルタ対象データリストの先頭エントリはデータ識別子301が「A」のデータのエントリとなる。
フィルタ管理部107は、フィルタ対象データリストを用いて、データ数集約のアルゴリズムにしたがったフィルタ制御処理を実行する(ステップ904)。具体的には、図12に示すようなフィルタ制御処理が実行される。
データ数集約のアルゴリズムでは、フィルタ管理部107は、サーバの受信パケット数の現在値702からしきい値703の差を減算することによって、必須削減データ数を「200」として算出する(ステップS1201)。また、目標削減データ量は「100」と算出される(ステップS1202)。
データ識別子が「A」のデータについては、削減可能なデータ数が「200」であるため、目標削減データ数より大きい。したがって、フィルタ管理部107は、受信予定数を「50」と算出し、さらに、受信数602の「250」を受信予定数の「50」で除算することによって、データ集約数を「5」と決定する(ステップS1205)。
ステップS1705において、フィルタ管理部107は、中間サーバ120にフィルタ条件設定指示を送信し、また、フィルタ状態管理テーブル1208を更新する。このとき、フィルタ状態管理テーブル111は、図4及び図5に示すように更新される(ステップ1208)。
中間サーバ120のフィルタ制御部126は、フィルタ条件設定指示を受信し、基本フィルタテーブル128に新たなエントリを生成する。フィルタ制御部126は、生成されたエントリのデータ識別子1401が「A」を格納し、フィルタ条件1402に図5に示すようなフィルタ条件の値を格納する。
データ識別子Aに対してフィルタが設定されたため、中間サーバ120は、センサA(130−1)から受信したデータ識別子が「A」のデータがデータ用キューに五つ蓄積された時に、当該五つのデータを一つのデータに集約し、集約されたデータをデータ収集サーバ100に送信する。
したがって、ステップS1706のように、データ収集サーバ100に送信されるデータ数が削減される。本具体例では、データ識別子が「A」のデータのみを受信しているため、この時点でデータ収集システムの負荷の低減が実現される。なお、複数のデータ種別のデータの場合も同様の処理が実行されることとなる。
以上、実施例1によれば、データ収集システムの負荷の増加に応じて、データ収集サーバ100に送信されるデータのデータ量又はデータ数を削減することによって、データ収集サーバ100の負荷を低減することが可能となる。
実施例1では、全ての中間サーバ120に対して、データの種別毎のフィルタが設定されていたが、実施例2では、中間サーバ120毎の負荷の状態に応じて、フィルタを設定する中間サーバ120が選択される点が異なる。
以下、実施例1との差異を中心に説明する。
図18は、本発明の実施例2におけるデータ収集システムの構成例を示す説明図である。
図18に示す各機能ブロックのうち、図1に示す実施例1のデータ収集システムの構成例と同一の符号を付与したものに関しては、同一の機能を有するものであるため、説明は省略する。
図18に示すように、本実施例では、中間サーバ120が新たに負荷監視部1810を備え、また、データ収集サーバ100が新たにリソース管理テーブル1800を備える。
負荷監視部1810は、周期的に、中間サーバ120の負荷、すなわち、リソース使用状態を監視し、データ収集サーバ100に、監視結果であるリソース使用状態を含む情報を送信する。
リソース管理テーブル1800は、各中間サーバ120のリソース使用状態に関する情報を格納する。データ収集サーバ100の負荷監視部106は、各中間サーバ120から監視結果を受信するたびに、リソース管理テーブル1800を更新する。
本実施例では、データ収集サーバ100は、中間サーバ120毎にフィルタ状態管理テーブル111を保持する。これは、中間サーバ120のそれぞれに設定されるフィルタが異なるためである。また、データ収集サーバ100は、中間サーバ120毎にデータ受信状態テーブル112を保持する。
実施例2のデータ収集サーバ100、及び中間サーバ120のハードウェア構成は実施例1と同一であるため説明を省略する。また、実施例2のデータ収集サーバ100、及び中間サーバ120が保持するテーブルは、実施例1と同一のものであるため説明を省略する。
図19は、本発明の実施例2のデータ収集サーバ100が保持するリソース管理テーブル1800の一例を示す説明図である。
リソース管理テーブル1800は、中間サーバ識別子1901、リソース1902、現在値1903、及び上限値1904を含む。
中間サーバ識別子1901は、中間サーバ120を識別するための識別子を格納するフィールドである。
リソース1902は、中間サーバ120が備えるリソースを識別するための情報を格納するフィールドである。中間サーバ120が備えるリソースの情報としては、ネットワークの帯域利用率、パケット処理量、CPU使用率、及びディスク容量等が考えられる。
現在値1903は、現在の中間サーバ120におけるリソース1902に対応する値を格納するフィールドである。現在値1903に格納される値は、負荷監視部1801によって周期的に更新される。
上限値1904は、中間サーバ120におけるリソース1902に対して設定された上限値を格納するフィールドである。
実施例2における処理は、負荷削減アルゴリズムにおける処理が実施例1と異なる。その他の処理は実施例1と同一の処理が実行される。
図20は、本発明の実施例2のフィルタ管理部107がデータ集約のアルゴリズムにしたがって実行するフィルタ制御処理の一例を説明するフローチャートである。
実施例2のフィルタ制御処理は実施例1と同様の処理が実行され、図12と同一の符号が付与された処理ステップは実施例1と同一であるため説明は省略する。
実施例2では、データ集約数が決定された後、リソースに余裕のある中間サーバ120に対してフィルタ条件設定指示が送信される点が実施例1と異なる。以下、実施例1のフィルタ制御処理との差異について説明する。
データ集約数の決定後(ステップS1205)、フィルタ管理部107は、選択されたデータを送信する中間サーバ120のリストを取得する(ステップS2001)。具体的には、以下のような処理が実行される。
フィルタ管理部107は、選択されたデータの識別子を検索キーとして、一つのデータ受信状態テーブル112を参照する。さらに、フィルタ管理部107は、データ識別子601が選択されたデータの識別子と一致するエントリが含まれるか否かを判定する。
データ識別子601が選択されたデータの識別子と一致するエントリが含まれていないと判定された場合、フィルタ管理部107は、次のデータ受信状態テーブル112に対して同一検索処理を繰り返し実行する。
一方、データ識別子601が選択されたデータの識別子と一致するエントリが含まれていると判定された場合、フィルタ管理部107は、データ受信状態テーブル112に対応する中間サーバ120をリストに追加する。その後、フィルタ管理部107は、次のデータ受信状態テーブル112に対して同一の検索処理を繰り返し実行する。
次に、フィルタ管理部107は、リソース管理テーブル1800、及び取得された中間サーバ120のリストに基づいて、リソースに余裕がある中間サーバ120に対してフィルタ条件設定指示を送信する(ステップS2002)。ステップS2002の具体的な処理については、図21を用いて後述する。
次に、フィルタ管理部107は、中間サーバ120にフィルタ条件設定指示を送信することによって削減されるデータの削減数を削減予定データ数に加算する(ステップS2003)。
図21は、本発明の実施例2のステップS2002において実行される処理の詳細を説明するフローチャートである。
フィルタ管理部107は、取得された中間サーバ120のリストから、一つの中間サーバ120を選択する(ステップS2101)。ここでは、リストの上のエントリから順に選択されるものとする。なお、中間サーバ120毎に重要度等の選択指標を設定しておき、当該選択指標に基づいて、リストから中間サーバ120が選択されてもよい。
フィルタ管理部107は、中間サーバ120のリストから選択可能な中間サーバ120が存在するか否かを判定する(ステップS2102)。
中間サーバ120のリストから選択可能な中間サーバ120が存在しないと判定された場合、フィルタ管理部107は、フィルタ条件設定指示を送信する対象の中間サーバ120が存在していないため、処理を終了する。
中間サーバ120のリストから選択可能な中間サーバ120が存在すると判定された場合、フィルタ管理部107は、リソース管理テーブル1800の選択された中間サーバ120に対応するエントリを参照する(ステップS2103)。
フィルタ管理部107は、選択された中間サーバ120のリソースに余裕があるか否かを判定する(ステップS2104)。
例えば、フィルタ管理部107は、CPU使用率の現在値1903及び上限値1904を参照し、新たにフィルタが設定された場合におけるCPU使用率を算出し、算出されたCPU使用率が上限値1904の値より小さい場合に、選択さえた中間サーバ120のリソースに余裕があると判定する。なお、新たにフィルタが設定された場合の、CPU利用率の上昇値は、フィルタ毎に予め定められた定数を用いること等が考えられる。
また、前述した判定処理では、着目するリソース1902がCPU利用率であったが、フィルタが設定された場合における中間サーバ120のメモリ使用量又はストレージ使用容量等を指標としてもよい。この場合、中間サーバ120のメモリ使用量又はストレージ使用容量が上限値1904の値より小さい場合、選択された中間サーバ120のリソースに余裕があると判定される。
選択された中間サーバ120のリソースに余裕があると判定された場合、フィルタ管理部107は、選択された中間サーバ120にフィルタが設定された場合の、選択されたデータの削減数を算出し、算出されたデータの削減数を削除予定データ数に加算する(ステップS2105)。また、フィルタ管理部107は、フィルタ状態管理テーブル111を更新する(ステップS2106)。
具体的には、フィルタ管理部107は、選択されたフィルタ状態管理テーブル111を検索する。フィルタ管理部107は、検索されたフィルタ状態管理テーブル111を参照して、選択されたデータに対応するエントリを検索する。フィルタ管理部107は、検索されたエントリのフィルタ有無403にフィルタが設定されている旨を示す情報を格納する。また、フィルタ管理部107は、フィルタ条件設定指示に含まれる各値を、検索されたエントリのフィルタ条件404に格納する。
選択された中間サーバ120のリソースに余裕がないと判定された場合、フィルタ管理部107は、ステップS2101に戻り同様の処理を実行する。
以上、実施例2によれば、各中間サーバ120の負荷を考慮して、フィルタを設定することが可能となるため、より効率的なデータ収集システムの負荷分散が実現可能となる。
なお、本実施例で例示した種々のソフトウェアは、電磁的、電子的及び光学式等の種々の記録媒体(例えば、非一時的な記憶媒体)に格納可能であり、インターネット等の通信網を通じて、コンピュータにダウンロード可能である。本実施例では、ソフトウェアによる制御を用いた例について説明したが、その一部をハードウェアによって実現することも可能である。
以上、本発明を添付の図面を参照して詳細に説明したが、本発明はこのような具体的構成に限定されるものではなく、添付した請求の範囲の趣旨内における様々な変更及び同等の構成を含むものである。
100 データ収集サーバ
101 データ受信部
102 データ処理部
103 中間サーバ管理部
104 データ管理部
105 DBデータ送信部
106 負荷監視部
107 フィルタ管理部
108 DBデータ受信部
109 データベース
110 データ管理テーブル
111 フィルタ状態管理テーブル
112 データ受信状態テーブル
113 負荷監視テーブル
114 アルゴリズム選択テーブル
120 中間サーバ
121 データ送信部
122 データ振分け部
123 センサデータ受信部
124 基本データフィルタ部
125 拡張フィルタ部
126 フィルタ制御部
127 データ振分けテーブル
128 基本フィルタテーブル
130 センサ
140 ネットワーク
1800 リソース管理テーブル
1810 負荷監視部

Claims (7)

  1. 所定のデータ種別のデータを送信する複数のセンサ、前記複数のセンサから送信されるデータを転送する複数のサーバ、及び、前記複数のサーバから転送されたデータを受信し、受信したデータを蓄積するデータ収集サーバを備える計算機システムであって、
    前記複数のサーバの各々は、第1のプロセッサ、前記第1のプロセッサに接続される第1のメモリ、及び前記第1のプロセッサに接続される第1のネットワークインタフェースを有し、
    前記データ収集サーバは、第2のプロセッサ、前記第2のプロセッサに接続される第2のメモリ、及び前記第2のプロセッサに接続される第2のネットワークインタフェースを有し、
    前記データ収集サーバは、
    前記計算機システムにおける負荷を監視する負荷監視部と、
    前記負荷の監視結果に基づいて、前記複数のサーバにおけるデータの転送処理の内容を決定し、前記決定されたデータの転送処理の内容を送信する管理部と、を有し、
    前記管理部は、
    前記複数のサーバに適用する転送処理の種別を決定し、
    前記決定された転送処理の種別に基づいて、前記データ収集サーバに転送されるデータのうち、当該転送処理が適用されるデータのリストである処理対象データリストを生成し、
    前記決定された転送処理の種別、及び前記生成された処理対象データリストに基づいて、前記複数のサーバに適用する転送処理の内容を決定することを特徴とする計算機システム。
  2. 請求項1に記載の計算機システムであって、
    前記複数のサーバの各々は、
    前記複数のセンサから送信されるデータの中から、前記データ収集サーバに転送するデータを取得するためのフィルタ処理を実行する複数のフィルタ部と、
    前記複数のフィルタ部によって実行される前記フィルタ処理を制御するフィルタ制御部と、
    前記複数のセンサから送信されるデータのデータ種別に基づいて、前記複数のフィルタ部の中から、当該データを処理するフィルタ部を選択するフィルタ振分け部と、
    前記複数のセンサから送信されるデータのデータ種別、フィルタ部の識別情報、及び前記フィルタ処理の種別が対応づけられたフィルタ管理情報と、を有し、
    前記データ収集サーバは、前記計算機システムの負荷の種別毎に、前記複数のサーバにおいて適用される前記フィルタ処理の種別を管理するアルゴリズム選択情報を有し、
    前記管理部は、
    前記負荷の監視結果及び前記アルゴリズム選択情報に基づいて、前記複数のサーバに適用するフィルタ処理の種別を決定し、
    前記決定されたフィルタ処理の種別に基づいて、前記データ収集サーバが蓄積するデータのうち、前記決定されたフィルタ処理の種別に対応するフィルタ処理が適用されるデータを抽出することによって前記処理対象データリストを生成し、
    前記決定されたフィルタ処理の種別、及び前記生成された処理対象データリストに基づいて、前記複数のサーバに適用するフィルタ処理の内容を決定し、
    前記複数のサーバに、前記決定されたフィルタ処理の内容を含む設定指示を送信し、
    前記フィルタ制御部は、受信した前記設定指示に基づいて、前記フィルタ管理情報を更新し、
    前記フィルタ振分け部は、前記複数のセンサから送信されるデータを受信した場合に、前記フィルタ管理情報に基づいて、前記受信したデータを所定の前記フィルタ部に送信し、
    前記複数のフィルタ部の各々は、前記フィルタ管理情報に基づいて、前記受信したデータに対してフィルタ処理を実行することを特徴とする計算機システム。
  3. 請求項2に記載の計算機システムであって、
    前記管理部は、
    前記フィルタ処理の内容を決定する場合に、前記負荷の監視結果に基づいて、前記計算機システムにおけるデータ削減量又はデータ削減数である第1のデータ削減目標値を算出し、
    前記複数のセンサから送信されるデータのデータ種別毎のデータ削減量又はデータ削減数である第2のデータ削減目標値を算出し、
    前記生成された処理対象リスト、前記算出された第1のデータ削減目標値、及び前記算出された第2のデータ削減目標値に基づいて、前記生成された処理対象データリストに含まれるデータ種別毎の削減値を決定することを特徴とする計算機システム。
  4. 請求項3に記載の計算機システムであって、
    前記管理部は、前記複数のセンサから送信されるデータの種別、及び当該データの種別に対応するデータの破棄が可能か否かを示す情報が対応づけられたエントリを含むデータ管理情報を保持し、
    前記フィルタ処理が適用されるデータの処理対象リストを生成する場合に、前記データ管理情報を参照し、
    前記データ管理情報から、データの破棄が許可されたデータのエントリを抽出し、前記抽出されたエントリをリスト化することによって前記処理対象データリストを生成することを特徴とする計算機システム。
  5. 請求項3に記載の計算機システムであって、
    前記管理部は、前記複数のセンサから送信されるデータのデータ種別、当該データ種別に対応するデータの現在の受信数又は受信量を表す第1の受信値、及び当該データの種別に対応するデータの過去の受信数の平均値又は受信量の平均値である第2の受信値が対応づけられたエントリを含むデータ受信状態情報を保持し、
    前記フィルタ処理が適用されるデータの処理対象リストを生成する場合に、前記データ受信状態情報を参照し、
    所定の時間間隔における受信数又は受信量の増加幅が大きいデータのデータ種別の順に、前記データ受信状態情報に含まれる前記エントリを抽出し、前記抽出されたエントリをリスト化することによって前記処理対象データリストを生成することを特徴とする計算機システム。
  6. 請求項3に記載の計算機システムであって、
    前記管理部は、前記複数のセンサから送信されるデータの種別、前記複数のセンサから送信されるデータの種別に対応するデータの重要性を示す優先度、及び前記複数のサーバにおいて当該データ種別のデータを一時的に蓄積可能な時間である許容遅延時間が対応づけられエントリを含むデータ管理情報を保持し、
    前記管理部は、前記データの重要性の高い順、又は前記許容遅延時間が長い順に、前記データ管理情報に含まれるエントリを抽出し、前記抽出されたエントリをリスト化することによって前記処理対象データリストを生成することを特徴とする計算機システム。
  7. 請求項2に記載の計算機システムであって、
    前記データ収集サーバは、前記複数のサーバの各々の計算機リソースの負荷を監視するリソース管理情報を保持し、
    前記複数のサーバ毎に、前記複数のセンサから送信されるデータの種別、当該データの種別に対応するデータの現在の受信数、及び当該データの種別に対応するデータの過去の受信数の平均値が対応づけられたエントリを含むデータ受信状態情報を保持し、
    前記管理部は、
    前記データ受信状態情報を参照して、前記処理対象データリストに含まれるエントリに対応するデータを転送するサーバを特定し、
    前記リソース管理情報を参照して、前記特定されたサーバの中から、前記計算機リソースの負荷が小さいサーバを選択し、
    前記選択されたサーバに前記設定指示を送信することを特徴とする計算機システム。
JP2013005828A 2013-01-17 2013-01-17 計算機システム Expired - Fee Related JP5982683B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2013005828A JP5982683B2 (ja) 2013-01-17 2013-01-17 計算機システム
US14/132,085 US9380108B2 (en) 2013-01-17 2013-12-18 Computer system
CN201310712395.3A CN103944830A (zh) 2013-01-17 2013-12-20 计算机系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013005828A JP5982683B2 (ja) 2013-01-17 2013-01-17 計算機システム

Publications (2)

Publication Number Publication Date
JP2014137709A true JP2014137709A (ja) 2014-07-28
JP5982683B2 JP5982683B2 (ja) 2016-08-31

Family

ID=51166099

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013005828A Expired - Fee Related JP5982683B2 (ja) 2013-01-17 2013-01-17 計算機システム

Country Status (3)

Country Link
US (1) US9380108B2 (ja)
JP (1) JP5982683B2 (ja)
CN (1) CN103944830A (ja)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016136813A1 (ja) * 2015-02-27 2016-09-01 日本電気株式会社 通信装置、末端装置、中央サーバ装置、情報処理システム、電文処理方法及び電文生成方法
WO2016208354A1 (ja) * 2015-06-24 2016-12-29 日本電気株式会社 情報処理装置、情報処理システム、情報処理方法、および情報処理プログラム
JP2017146679A (ja) * 2016-02-15 2017-08-24 エヌ・ティ・ティ・コミュニケーションズ株式会社 リスト作成装置、処理装置、リソース情報取得システム、分散処理システム、リスト作成方法及び分散処理方法
WO2017141339A1 (ja) * 2016-02-15 2017-08-24 富士通株式会社 処理制御プログラム、処理制御方法、情報処理装置、および通信装置
JP2017162045A (ja) * 2016-03-08 2017-09-14 日本電気株式会社 センサーデータ処理装置、センサーデータ処理システム、センサーデータ処理方法、及び、センサーデータ処理プログラム
KR20180017198A (ko) * 2015-07-15 2018-02-20 지티이 코포레이션 데이터 처리 방법, 장치, 시스템, 프로그램 및 컴퓨터 판독가능한 기록매체
JP2018509716A (ja) * 2015-03-17 2018-04-05 華為技術有限公司Huawei Technologies Co.,Ltd. ビッグデータアプリケーションのためのマルチ・マルチ次元コンピュータアーキテクチャ
JP2018132971A (ja) * 2017-02-16 2018-08-23 日本電気株式会社 データベース書込制御装置
JP2018157455A (ja) * 2017-03-21 2018-10-04 株式会社リコー 仲介装置、情報処理システム、プログラム及びデータ構造
WO2018216139A1 (ja) * 2017-05-24 2018-11-29 三菱電機株式会社 データ処理システム、データ処理装置およびデータ処理プログラム
WO2020045318A1 (ja) * 2018-08-31 2020-03-05 株式会社デンソー 車両側装置、サーバ、方法および記憶媒体
JP2020038362A (ja) * 2018-08-31 2020-03-12 株式会社デンソー 車両側装置、サーバ、方法および記憶媒体
WO2020070861A1 (ja) * 2018-10-04 2020-04-09 株式会社アプトポッド 伝送システム、伝送装置、及びプログラム

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9973569B2 (en) * 2014-02-21 2018-05-15 Cellos Software Ltd. System, method and computing apparatus to manage process in cloud infrastructure
US20160358201A1 (en) * 2015-06-08 2016-12-08 Mastercard International Incorporated Method and system for automated settlement of transaction account rebates
US11210308B2 (en) * 2016-05-13 2021-12-28 Ayla Networks, Inc. Metadata tables for time-series data management
JP6568662B2 (ja) * 2016-10-24 2019-08-28 株式会社 アプトポッド データ収集システム、データ収集方法、クライアント装置、サーバー装置及びプログラム
JP6880896B2 (ja) * 2017-03-24 2021-06-02 富士フイルムビジネスイノベーション株式会社 画像形成装置、情報処理システム、および、プログラム
JP2019047158A (ja) * 2017-08-29 2019-03-22 沖電気工業株式会社 データ収集装置、データ収集方法、データ収集プログラム及びデータ収集システム
US10983987B2 (en) * 2018-01-05 2021-04-20 Telenav, Inc. Navigation system with update mechanism and method of operation thereof
JP6699676B2 (ja) * 2018-01-25 2020-05-27 トヨタ自動車株式会社 サーバ装置、情報収集システム、およびプログラム
JP7156206B2 (ja) 2018-08-31 2022-10-19 株式会社デンソー 地図システム、車両側装置、およびプログラム
CN109828988A (zh) * 2019-01-25 2019-05-31 重庆科技学院 一种大数据统计方法及用于大数据统计的系统
CN114788320A (zh) * 2020-08-10 2022-07-22 Oppo广东移动通信有限公司 无线通信方法、终端设备和服务器

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008042458A (ja) * 2006-08-04 2008-02-21 Hitachi Ltd センサネットワークシステム及びセンサネットワークのデータ処理方法
US20120191637A1 (en) * 2011-01-21 2012-07-26 Oki Electric Industry Co., Ltd. Context-awareness system and method of forming event data
JP2012220961A (ja) * 2011-04-04 2012-11-12 Hitachi Ltd ネットワークシステム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7395122B2 (en) * 2001-07-13 2008-07-01 Siemens Aktiengesellschaft Data capture for electronically delivered automation services
JP2005038246A (ja) 2003-07-16 2005-02-10 Matsushita Electric Works Ltd 設備監視制御装置、設備監視制御システム、設備監視制御方法及び設備監視制御用プログラム
US8027349B2 (en) * 2003-09-25 2011-09-27 Roy-G-Biv Corporation Database event driven motion systems
US8266697B2 (en) * 2006-03-04 2012-09-11 21St Century Technologies, Inc. Enabling network intrusion detection by representing network activity in graphical form utilizing distributed data sensors to detect and transmit activity data
JP4542071B2 (ja) 2006-08-28 2010-09-08 株式会社日立製作所 遠隔監視システム、遠隔監視装置及び遠隔監視方法
US7565220B2 (en) * 2006-09-28 2009-07-21 Lam Research Corporation Targeted data collection architecture
US7974937B2 (en) * 2007-05-17 2011-07-05 Rockwell Automation Technologies, Inc. Adaptive embedded historians with aggregator component
JP4932634B2 (ja) 2007-08-07 2012-05-16 株式会社日立製作所 広域データ連携システム
JP5430411B2 (ja) 2010-01-06 2014-02-26 株式会社Kddi研究所 データ収集サーバ
EP2536074A4 (en) 2010-02-12 2014-01-08 Hitachi Ltd INFORMATION PROCESSING DEVICE AND METHOD FOR PROCESSING INFORMATION ON THE INFORMATION PROCESSING DEVICE
US9477936B2 (en) * 2012-02-09 2016-10-25 Rockwell Automation Technologies, Inc. Cloud-based operator interface for industrial automation
CN104521182B (zh) * 2012-08-08 2016-08-24 英派尔科技开发有限公司 用于云监视的实时压缩数据收集方法及数据中心
US8595317B1 (en) * 2012-09-14 2013-11-26 Geofeedr, Inc. System and method for generating, accessing, and updating geofeeds
US9043421B1 (en) * 2013-03-15 2015-05-26 Amazon Technologies, Inc. Monitoring and sharing data among server groups

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008042458A (ja) * 2006-08-04 2008-02-21 Hitachi Ltd センサネットワークシステム及びセンサネットワークのデータ処理方法
US20120191637A1 (en) * 2011-01-21 2012-07-26 Oki Electric Industry Co., Ltd. Context-awareness system and method of forming event data
JP2012155357A (ja) * 2011-01-21 2012-08-16 Oki Electric Ind Co Ltd コンテキストアウェアシステム及びイベントデータ生成方法
JP2012220961A (ja) * 2011-04-04 2012-11-12 Hitachi Ltd ネットワークシステム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6016020605; 'センサネットワークのイベント処理の分散配備' 電子情報通信学会2011円通信ソサイエテイ大会 予稿集 , 20110830, S-19,S-20 *

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016163087A (ja) * 2015-02-27 2016-09-05 日本電気株式会社 通信装置、末端装置、中央サーバ装置、情報処理システム、電文処理方法及び電文生成方法
US10742547B2 (en) 2015-02-27 2020-08-11 Nec Corporation Communication device, terminal device, central server device, information processing system, telegram processing method and telegram generation method
WO2016136813A1 (ja) * 2015-02-27 2016-09-01 日本電気株式会社 通信装置、末端装置、中央サーバ装置、情報処理システム、電文処理方法及び電文生成方法
JP2018509716A (ja) * 2015-03-17 2018-04-05 華為技術有限公司Huawei Technologies Co.,Ltd. ビッグデータアプリケーションのためのマルチ・マルチ次元コンピュータアーキテクチャ
WO2016208354A1 (ja) * 2015-06-24 2016-12-29 日本電気株式会社 情報処理装置、情報処理システム、情報処理方法、および情報処理プログラム
US10652317B2 (en) 2015-06-24 2020-05-12 Nec Corporation Load distribution device, load distribution system, load distribution method, and non-transitory computer-readable storage medium
JPWO2016208354A1 (ja) * 2015-06-24 2018-04-19 日本電気株式会社 情報処理装置、情報処理システム、情報処理方法、および情報処理プログラム
KR20180017198A (ko) * 2015-07-15 2018-02-20 지티이 코포레이션 데이터 처리 방법, 장치, 시스템, 프로그램 및 컴퓨터 판독가능한 기록매체
JP2018524733A (ja) * 2015-07-15 2018-08-30 ゼットティーイー コーポレイション データ処理方法、装置及びシステム、プログラムならびに記録媒体
KR102125219B1 (ko) 2015-07-15 2020-06-23 지티이 코포레이션 데이터 처리 방법, 장치, 시스템, 프로그램 및 컴퓨터 판독가능한 기록매체
WO2017141339A1 (ja) * 2016-02-15 2017-08-24 富士通株式会社 処理制御プログラム、処理制御方法、情報処理装置、および通信装置
JPWO2017141339A1 (ja) * 2016-02-15 2018-09-20 富士通株式会社 処理制御プログラム、処理制御方法、情報処理装置、および通信装置
JP2017146679A (ja) * 2016-02-15 2017-08-24 エヌ・ティ・ティ・コミュニケーションズ株式会社 リスト作成装置、処理装置、リソース情報取得システム、分散処理システム、リスト作成方法及び分散処理方法
JP2017162045A (ja) * 2016-03-08 2017-09-14 日本電気株式会社 センサーデータ処理装置、センサーデータ処理システム、センサーデータ処理方法、及び、センサーデータ処理プログラム
JP2018132971A (ja) * 2017-02-16 2018-08-23 日本電気株式会社 データベース書込制御装置
JP2018157455A (ja) * 2017-03-21 2018-10-04 株式会社リコー 仲介装置、情報処理システム、プログラム及びデータ構造
JP6996097B2 (ja) 2017-03-21 2022-01-17 株式会社リコー 仲介装置、情報処理システム及びプログラム
JPWO2018216139A1 (ja) * 2017-05-24 2019-11-07 三菱電機株式会社 データ処理システム、データ処理装置およびデータ処理プログラム
WO2018216139A1 (ja) * 2017-05-24 2018-11-29 三菱電機株式会社 データ処理システム、データ処理装置およびデータ処理プログラム
US11124046B2 (en) 2017-05-24 2021-09-21 Mitsubishi Electric Corporation System for adjusting secured computer resources to handle data transmission from appliances mounted in a vehicle
JP2020038362A (ja) * 2018-08-31 2020-03-12 株式会社デンソー 車両側装置、サーバ、方法および記憶媒体
WO2020045318A1 (ja) * 2018-08-31 2020-03-05 株式会社デンソー 車両側装置、サーバ、方法および記憶媒体
JP7147712B2 (ja) 2018-08-31 2022-10-05 株式会社デンソー 車両側装置、方法および記憶媒体
WO2020070861A1 (ja) * 2018-10-04 2020-04-09 株式会社アプトポッド 伝送システム、伝送装置、及びプログラム

Also Published As

Publication number Publication date
CN103944830A (zh) 2014-07-23
US20140201332A1 (en) 2014-07-17
US9380108B2 (en) 2016-06-28
JP5982683B2 (ja) 2016-08-31

Similar Documents

Publication Publication Date Title
JP5982683B2 (ja) 計算機システム
JP6563936B2 (ja) クラウドに基づく仮想オーケストレーターのための方法、システム、およびコンピュータ読取可能な媒体
JP6559670B2 (ja) ネットワーク機能仮想化情報コンセントレータのための方法、システム、およびコンピュータ読取可能媒体
US9191325B2 (en) Method and system for processing network traffic flow data
US20150120959A1 (en) Method and system for monitoring and analysis of network traffic flows
WO2022100318A1 (zh) 雾节点调度方法、装置、计算机设备和存储介质
CN103942210A (zh) 海量日志信息的处理方法、装置与系统
CN103780675B (zh) 一种云盘文件同步方法和装置
CN103179217A (zh) 一种用于web应用服务器群组的负载均衡方法和装置
JP2005004676A (ja) 適応型分散処理システム
WO2020015578A1 (zh) 一种调度缓存节点的方法、装置、系统、介质及设备
JP4839585B2 (ja) 資源情報収集配信方法およびシステム
CN106712972B (zh) 一种计费规则的更新方法、装置与系统
US20050172303A1 (en) Execution multiplicity control system, and method and program for controlling the same
CN110519317B (zh) 一种数据传输方法以及设备
TW201703470A (zh) 控制裝置、訊務控制方法及記錄電腦程式之記錄媒體
KR101736382B1 (ko) 이엠에스 서버 및 이의 로그 데이터 관리 방법
JP6163474B2 (ja) ストレージ管理装置、ストレージ管理システム、制御方法及びプログラム
CN106341474B (zh) 一种基于icn与sdn网络的资料管控中心及其内容管理方法
EP3015991A1 (en) Push-type information transmission device, push-type information transmission method, and program
JP5140692B2 (ja) ポーリング伝送システム、ポーリング伝送方法、および、ポーリング伝送プログラム
KR101537723B1 (ko) 영상 분석 필터의 우선 순위를 이용하는 영상 분석 시스템 및 영상 분석 방법
KR101908313B1 (ko) 대용량 데이터 운용 시스템 및 방법과, 이를 지원하는 장치
CN117857465B (zh) 数据处理方法、装置、设备及存储介质、程序产品
JP6868536B2 (ja) データ収集装置およびデータ収集システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150507

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160527

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160607

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160615

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160711

R150 Certificate of patent or registration of utility model

Ref document number: 5982683

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees