(57)【要約】【課題】複数のユーザから共同利用されるデータストアシステムを管理する運用管理者は、当該システムを共同利用する複数のユーザが管理対象となるため、ユーザ個別の特性の理解が低くなる。【解決手段】データストアシステムが、複数のユーザにそれぞれ対応した複数の地域を構成する複数のセグメントに存在する複数のセンサの各々について、当該センサの測定値に関して所定の条件が満たされる都度に、当該センサのセンサデータセットの書込み要求を受信するようになっている。データストアシステムは、いずれかのセンサのセンサデータセットの書込み要求を受信した場合、複数のユーザにそれぞれ対応した複数のボリュームのうち、当該センサが存在するセグメントを含んだ地域に対応するユーザに対応したボリュームに対する、当該センサデータセットの書込み要求を発行する。データストアシステムは、複数のボリュームの各々について、当該ボリュームに対応したユーザに関する地域を構成するセグメント毎に書込み頻度を監視する。【選択図】  図１
2019191894.tif 000002
【特許請求の範囲】
【請求項１】
複数のユーザにそれぞれ対応した複数の地域に関わる複数のセグメントに存在する複数のセンサの各々について、当該センサの測定値に関して所定の条件が満たされる都度に、当該センサのセンサデータセットの書込み要求を受信するようになっており、いずれかのセンサのセンサデータセットの書込み要求を受信した場合、前記複数のユーザにそれぞれ対応した複数のボリュームのうち、当該センサが存在するセグメントが関わる地域に対応するユーザに対応したボリュームに対する、当該センサデータセットの書込み要求を発行するデータセットアクセス部と、
前記複数のボリュームの各々は、同一のストレージシステムに存在する１以上のストレージノードであるスケールアウト型のストレージノード群に基づいており、
前記複数のボリュームの各々において、当該ボリュームに格納されている各センサデータセットに、当該センサデータセットに関して、当該センサデータセットに対応したセンサの測定位置と測定日時とが関連付けられており、
前記複数のボリュームの各々について、当該ボリュームに対応したユーザに関する地域を構成するセグメント毎に書込み頻度を監視する監視部と
を備えるデータストアシステム。
【請求項２】
書込み頻度に関する条件が満たされたセグメントである対象セグメントが関わる地域に対応したユーザに対する条件該当通知を発行するユーザサービス部、
を更に備える請求項１に記載のデータストアシステム。
【請求項３】
前記対象セグメントが関わる地域のプロパティと、前記対象セグメントが関わる地域に対応したユーザについてのボリュームである対象ボリュームの基になっているストレージノードの数とに基づいて、当該対象ボリュームの基となるストレージノードのスケールを決定し、決定したスケールに従うスケーリングの実行要求を前記ストレージシステムに発行するスケーリング部、
を更に備える請求項２に記載のデータストアシステム。
【請求項４】
前記ユーザサービス部は、前記対象ボリュームについてスケールが決定された場合、前記対象ボリュームに対応したユーザに対するスケーリング通知を発行し、
前記スケーリング部は、前記スケーリング通知に対して取消しを受け付けた場合、前記決定したスケールに従うスケーリングの取消しの要求を前記ストレージシステムに発行する、
請求項３に記載のデータストアシステム。
【請求項５】
前記複数のボリュームの各々について、当該ボリュームに対応したユーザに関する地域を構成するセグメント毎に、短期の書込み頻度と長期の書込み頻度とがあり、
前記条件は、前記短期の書込み頻度と前記長期の書込み頻度との差が既定値以上であることであり、
前記決定されたスケールに従うスケーリングは、
前記短期の書込み頻度が前記長期の書込み頻度よりも高く、且つ、前記対象ボリュームに対応したユーザから高頻度の通知が望まれている場合、スケールアウトであり、
前記短期の書込み頻度が前記長期の書込み頻度よりも低く、且つ、前記対象ボリュームに対応したユーザから低頻度の通知が望まれている場合、スケールインである、
請求項４に記載のデータストアシステム。
【請求項６】
前記複数のボリュームの各々について、当該ボリュームに対応したユーザに関する地域に関わるセグメント毎に、短期の書込み頻度と長期の書込み頻度とがあり、
前記条件は、前記短期の書込み頻度と前記長期の書込み頻度との差が既定値以上であり、
前記決定されたスケールは、
前記短期の書込み頻度が前記長期の書込み頻度よりも高い場合、スケールアウトであり、
前記短期の書込み頻度が前記長期の書込み頻度よりも低い場合、スケールインである、
請求項３に記載のデータストアシステム。
【請求項７】
前記複数のボリュームの各々について、当該ボリュームに対応したユーザに関する地域に関わるセグメント毎に、短期の書込み頻度と長期の書込み頻度とがあり、
前記条件は、短期の書込み頻度と長期の書込み頻度との差が既定値以上である、
請求項２に記載のデータストアシステム。
【請求項８】
複数のユーザにそれぞれ対応した複数の地域に関わる複数のセグメントに存在する複数のセンサの各々について、当該センサの測定値に関して所定の条件が満たされる都度に、当該センサのセンサデータセットの書込み要求を受信するようになっており、いずれかのセンサのセンサデータセットの書込み要求を受信した場合、前記複数のユーザにそれぞれ対応した複数のボリュームのうち、当該センサが存在するセグメントが関わる地域に対応するユーザに対応したボリュームに対する、当該センサデータセットの書込み要求を発行し、
前記複数のボリュームの各々は、同一のストレージシステムに存在する１以上のストレージノードであるスケールアウト型のストレージノード群に基づいており、
前記複数のボリュームの各々において、当該ボリュームに格納されている各センサデータセットに、当該センサデータセットに関して、当該センサデータセットに対応したセンサの測定位置と測定日時とが関連付けられており、
前記複数のボリュームの各々について、当該ボリュームに対応したユーザに関する地域を構成するセグメント毎に書込み頻度を監視する、
データストア管理方法。
【請求項９】
複数のユーザにそれぞれ対応した複数の地域に関わる複数のセグメントに存在する複数のセンサの各々について、当該センサの測定値に関して所定の条件が満たされる都度に、当該センサのセンサデータセットの書込み要求を受信するようになっており、いずれかのセンサのセンサデータセットの書込み要求を受信した場合、前記複数のユーザにそれぞれ対応した複数のボリュームのうち、当該センサが存在するセグメントが関わる地域に対応するユーザに対応したボリュームに対する、当該センサデータセットの書込み要求を発行し、
前記複数のボリュームの各々は、同一のストレージシステムに存在する１以上のストレージノードであるスケールアウト型のストレージノード群に基づいており、
前記複数のボリュームの各々において、当該ボリュームに格納されている各センサデータセットに、当該センサデータセットに関して、当該センサデータセットに対応したセンサの測定位置と測定日時とが関連付けられており、
前記複数のボリュームの各々について、当該ボリュームに対応したユーザに関する地域を構成するセグメント毎に書込み頻度を監視する、
ことを計算機に実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して、データストアに関するものである。
【背景技術】
【０００２】
データストアに関して、例えば、仮想化されたITシステムを利用することが考えられる。特許文献１は、「仮想計算機を設定可能な１つ以上の計算機と、仮想ストレージを設定可能な１つ以上のストレージ装置と、前記計算機と前記ストレージとを接続して仮想SANを設定可能なファイバチャネルスイッチ装置と、仮想ネットワークを設定可能なネットワークを介して、前記計算機、前記ストレージ装置及び前記ファイバチャネルスイッチと接続される管理計算機とを備えるシステムにおいて、管理計算機が、仮想リソースの構成管理情報と、物理リソースの構成管理情報を有し、指定された時間における仮想リソース及び物理リソースの動作を検索し、検索結果をチェックリストとして動的に出力する。」を開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開2011-081579号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
昨今、増加し続けている社会インフラ（上下水道、ガス、電気、など）において、老朽化した配管の交換や事故も増加してきていると考えている。今後、この社会インフラの運用保守も含め、TCO（Total Cost of Ownership）の増加を抑えるためのIoT（Internet of things）システムやIoTサービスが、求められてくる。特に、複数の自治体やライフライン企業から共同利用されるIoTサービスにおいては、サービスの利用状況から、利用者にとって価値のある情報のフィードバックなど、付加価値への期待も高くなってくると考えている。自治体やライフライン企業は、ユーザの一例である。
【０００５】
この背景のもと、各市町村が管轄する水道管に設置され、その状態を測定するセンサ（センサデバイス）は、任意にグルーピングされ、無線もしくは有線で、センサ通信ネットワークに、接続される。それらグループごとに、さらに、公衆網（インターネット）へと接続される。
【０００６】
センサからのセンサデータセット（例えば、測定日時と測定値とを含んだデータセット）は、インターネットを介して、データストアシステムの一例であるデータレイクサービスシステム（例えば、柔軟なスケーラビリティのあるストレージシステムを含んだシステム）に、格納される。
【０００７】
共同利用でなく、独占利用のIoTシステムの場合、データレイクサービスストレージシステムは、データ量やスループットの増減に応じて、リソースの無駄遣いや、サービスの滞りを防げるように、スケールアウトやスケールインといったスケーリングが可能である。ただし、広域災害などの発生で、データ量の急な増加に対しては、経験的な知識基づき、予めデータ量のピークを見積り、余裕をもったスケールで、運用を行っている。また、既知のバッチ処理に関しては、ITリソース（例えば、計算機リソースやストレージリソース）の不足が起きないように、予めスケジュールを組み実行している。
【０００８】
今後、社会インフラのTCO増加軽減のため、IoTシステムを共同利用するIoTサービスの利用が求められてくると考えられる。
【０００９】
このようなサービス実現において、IoTシステムとしてのデータレイクサービスシステムを管理する運用管理者は、当該システムを共同利用する複数のユーザが管理対象となるため、ユーザ（例えば顧客）個別の特性の理解が低くなる。この課題を解決する一つの方法として、ユーザ毎に時系列のセンサデータセットを分析するといった方法が考えられる。しかし、センサデータセットのデータフォーマットは、ユーザによって異なっていることがあるため、ユーザ毎に、データフォーマットを管理し、且つ、そのデータフォーマットに沿ってセンサデータセットを分析することが必要になり、負担が大きいと考えられる。
【００１０】
このような課題は、複数のユーザから共同利用される他のデータストアシステムについてもあり得る。
【課題を解決するための手段】
【００１１】
データストアシステムが、複数のユーザにそれぞれ対応した複数の地域に関わる複数のセグメントに存在する複数のセンサの各々について、当該センサの測定値に関して所定の条件が満たされる都度に、当該センサのセンサデータセットの書込み要求を受信するようになっている。データストアシステムは、いずれかのセンサのセンサデータセットの書込み要求を受信した場合、複数のユーザにそれぞれ対応した複数のボリュームのうち、当該センサが存在するセグメントが関わる地域に対応するユーザに対応したボリュームに対する、当該センサデータセットの書込み要求を発行する。複数のボリュームの各々は、１以上のストレージノードであるスケールアウト型のストレージノード群に基づいている。複数のボリュームにそれぞれ対応した複数のストレージノード群は、同一のストレージシステムに存在する複数のストレージノードである。複数のボリュームの各々において、当該ボリュームに格納されている各センサデータセットに、当該センサデータセットが存在するセグメントの地理的な位置と、当該センサデータセットに関する時間とが関連付けられる。データストアシステムは、複数のボリュームの各々について、当該ボリュームに対応したユーザに関する地域を構成するセグメント毎に書込み頻度を監視する。
【発明の効果】
【００１２】
本発明によると、単一ユーザ専属ではなく、ユーザ個別の特性を理解しない運用管理者でも、書込み頻度の変化と当該変化の生じたセグメントの位置とを基に、異常のような特定イベントが発生している地域を特定可能である。
【図面の簡単な説明】
【００１３】
【図１】図１は、本発明の一実施例に係るデータレイクサービスシステムを含んだシステム全体の構成図。
【図２】図２は、データレイクシステムのデータ構成の一例を示す図。
【図３】図３は、センサ設置位置と地域の対応関係の一例を示す図。
【図４】図４は、管理DBにおける管理テーブルの構成を示す図。
【図５】図５は、管理DBにおける管理テーブルの構成を示す図。
【図６】図６は、センサの内部構成図。
【図７】図７は、リダイレクトサーバの内部構成図。
【図８】図８は、アプリケーションサーバの内部構成図。
【図９】図９は、ユーザ端末の内部構成図。
【図１０】図１０は、セットアップ画面の一例を示す図。
【図１１】図１１は、管理ノードの内部構成図。
【図１２】図１２は、ストレージノードの内部構成図。
【図１３】図１３は、センサ転送プログラムの動作フロー図。
【図１４】図１４は、ユーザ端末プログラムの動作フロー図。
【図１５】図１５は、ユーザサービスプログラムの動作フロー図。
【図１６】図１６は、監視プログラムの動作フロー図。
【図１７】図１７は、ファイルアクセスプログラムの動作フロー図。
【発明を実施するための形態】
【００１４】
以下の説明では、「インターフェース部」は、１個以上のインターフェースで良い。当該１個以上のインターフェースは、１個以上の同種の通信インターフェースデバイス（例えば１個以上のＮＩＣ（Network Interface Card））であっても良いし２個以上の異種の通信インターフェースデバイス（例えばＮＩＣとＨＢＡ（Host Bus Adapter））であっても良い。
【００１５】
また、以下の説明では、「メモリ部」は、１個以上のメモリであり、典型的には主記憶デバイスで良い。メモリ部における少なくとも１つのメモリは、揮発性メモリであっても良いし不揮発性メモリであっても良い。
【００１６】
また、以下の説明では、「ＰＤＥＶ部」は、１個以上のＰＤＥＶであり、典型的には補助記憶デバイスで良い。「ＰＤＥＶ」は、物理的な記憶デバイス（Physical storage DEVice）を意味し、典型的には、不揮発性の記憶デバイス、例えばＨＤＤ（Hard Disk Drive）又はＳＳＤ（Solid State Drive）である。つまり、ＰＤＥＶ部は、記憶デバイス部の一例である。
【００１７】
また、以下の説明では、「記憶部」は、メモリ部及びＰＤＥＶ部のうちの少なくとも１つ（典型的には少なくともメモリ部）である。
【００１８】
また、以下の説明では、「プロセッサ部」は、１個以上のプロセッサである。少なくとも１つのプロセッサは、典型的には、ＣＰＵ（Central Processing Unit）のようなマイクロプロセッサであるが、ＧＰＵ（Graphics Processing Unit）のような他種のプロセッサでも良い。少なくとも１つのプロセッサは、シングルコアでも良いしマルチコアでも良い。少なくとも１つのプロセッサは、処理の一部又は全部を行うハードウェア回路（例えばＦＰＧＡ（Field-Programmable Gate Array）又はＡＳＩＣ（Application Specific Integrated Circuit））といった広義のプロセッサでも良い。
【００１９】
また、以下の説明では、「ｘｘｘテーブル」といった表現にて、入力に対して出力が得られる情報を説明することがあるが、この種の情報は、どのような構造のデータでも良いし、入力に対する出力を発生するニューラルネットワークのような学習モデルでも良い。従って、「ｘｘｘテーブル」を「ｘｘｘ情報」と言うことができる。また、以下の説明において、各テーブルの構成は一例であり、１つのテーブルは、２個以上のテーブルに分割されても良いし、２個以上のテーブルの全部又は一部が１つのテーブルであっても良い。
【００２０】
また、以下の説明では、「プログラム」を主語として処理を説明する場合があるが、プログラムは、プロセッサ部によって実行されることで、定められた処理を、適宜に記憶部及び／又はインターフェース部等を用いながら行うため、処理の主語が、プロセッサ部（或いは、そのプロセッサ部を有するコントローラのようなデバイス）とされても良い。プログラムは、プログラムソースから計算機のような装置にインストールされても良い。プログラムソースは、例えば、プログラム配布サーバ又は計算機が読み取り可能な（例えば非一時的な）記録媒体であっても良い。また、以下の説明において、２個以上のプログラムが１つのプログラムとして実現されても良いし、１つのプログラムが２個以上のプログラムとして実現されても良い。
【００２１】
また、以下の説明では、「ｋｋｋ部」（インターフェース部、記憶部及びプロセッサ部を除く）の表現にて機能を説明することがあるが、機能は、１個以上のコンピュータプログラムがプロセッサ部によって実行されることで実現されても良いし、１個以上のハードウェア回路によって実現されても良い。各機能の説明は一例であり、複数の機能が１つの機能にまとめられたり、１つの機能が複数の機能に分割されたりしても良い。
【００２２】
また、以下の説明では、「ストレージシステム」は、複数のストレージノードを含んだシステムである。当該複数のストレージノードから、複数のユーザに対応した複数のボリュームの基になる複数のストレージノード群が構築されて良い。ボリュームとストレージノード群の関係は、１：１、１：多、多：１、多：多のいずれでも良い。ストレージノード群は、典型的には、スケールアウト型のストレージシステム、或いは、分散ストレージシステムと呼ばれて良い。「ストレージノード」は、ストレージシステムのメンバとしての装置であり、汎用計算機でも良いし、専用計算機（例えば、複数個のＰＤＥＶを有するいわゆるディスクアレイ装置のようなストレージ装置）でも良い。ストレージノード群は、冗長構成グループを有して良い。冗長構成は、Erasure Coding、ＲＡＩＮ（Redundant Array of Independent Nodes）及びノード間ミラーリングのように複数のストレージノードでの構成でも良いし、ＰＤＥＶ部の少なくとも一部としての１以上のＲＡＩＤ（Redundant Array of Independent (or Inexpensive) Disks）グループのように単一の計算機（例えばストレージノード）での構成でも良い。
【００２３】
また、以下の説明では、「データセット」とは、アプリケーションプログラムのようなプログラムから見た１つの論理的な電子データの塊であり、例えば、レコード、ファイル、キーバリューペア及びタプルのうちのいずれでも良い。
【００２４】
また、以下の説明では、同種の要素を区別しないで説明する場合には、参照符号のうちの共通部分を使用し、同種の要素を区別して説明する場合に、参照符号を使用することがある。例えば、ストレージノードを特に区別しないで説明する場合には、「ストレージノード１４」と記載し、個々のノードを区別して説明する場合には、「ストレージノード１４ａ」、「ストレージノード１４ｂ」のように記載することがある。
【００２５】
以下、本発明の一実施例を、図面を参照し、説明する。なお、以下の説明で言う「セグメント」は、例えば、geometric segmentで良い。
【００２６】
以下、各要素の構成並びに、動作フローを用いて詳細を説明する。
【００２７】
なお、以下の説明では、ボリューム１０３を実現するストレージノード群（例えば分散ファイルストレージシステム）（例えば、後述のデータアクセスプログラム１４１０、ノード増設プログラム１４１１、ノード減設プログラム１４１２）自身の動作並びに仕様に関しては、例えば、Cephのような既知の技術に従って良い。
【００２８】
図１は、本発明の一実施例に係るデータレイクサービスシステムを含んだシステム全体の構成図である。
【００２９】
複数のセグメントから構成される複数の地域に複数のセンサ２０１が配置される。
【００３０】
ユーザ毎に、当該ユーザに関する地域に配置されている１以上のセンサ２０１の各々からのセンサデータセット（例えば、当該センサ２０１の測定値と測定日時とを含んだデータセット）を収集し分析や可視化の処理が実行されるユーザアプリケーションシステム１０１が設けられる。ユーザアプリケーションシステム１０１のうちの少なくとも一部が、複数のユーザに共通でも良い。
【００３１】
ユーザアプリケーションシステム１０１からのセンサデータセットを保存し、ユーザアプリケーションシステム１０１からの要求されるデータを提供するデータレイクサービスシステム１０２が備えられる。データレイクシステム１０２が、管理ノード１３と、１以上のストレージノード１４とを含む。データレイクシステム１０２のうちの少なくとも管理ノード１３が、データストアシステムの一例である。
【００３２】
各センサ２０１とユーザアプリケーションシステム１０１との間に、センサデータセットを仲介するセンサネットワーク２がある。また、ユーザアプリケーションシステム１０１とデータレイクサービスシステム１０２との間に、データ通信を仲介するデータレイクネットワーク１がある。センサネットワーク２は、無線方式（WiFi（登録商標）、LPWA（Low Power Wide Area）、Bluetooth（登録商標）、etc.）のネットワークと、有線方式のネットワークのどちらでも良い。データレイクネットワーク１は、インターネット、LAN（Local Area Network）、WAN（Wide Area Network）など、データ通信を提供できる通信ネットワークであれば良い。
【００３３】
図示の模式的な地理１００は、複数のセンサ２０１が現実の複数の地域を含んだ複数の地帯に設定されていることを、説明を簡便化する表記である。例として、日本の大陸の境界線を併記している。例えば、或るセンサ２０１は、九州北西に設置されていることがわかる。
【００３４】
ユーザアプリケーションシステム１０１は、リダイレクトサーバ９、アプリケーションサーバ１０、及び、ユーザ端末１１を含む。
【００３５】
リダイレクトサーバ９は、センサネットワーク２を介して、各センサ２０１からセンサデータセットを収集し、データレイクサービスシステム１０２のボリューム１０３へ、収集したセンサデータセットを送信（格納）する。
【００３６】
アプリケーションサーバ１０は、データレイクネットワーク１を介して、データレイクサービスシステム１０２のボリューム１０３が保持するセンサデータセットを取得して、分析もしくは、可視化する処理を実行する。
【００３７】
ユーザ端末１１は、アプリケーションサーバ１０の実行した可視化処理の結果の表示と、データレイクサービスシステム１０２の設定操作を行う。
【００３８】
データレイクサービスシステム１０２は、上述したように、データを保持する１以上のストレージノード１４と、それらを管理する管理ノード１３とを有する。ストレージノード１４は、ＰＤＥＶ部１５を有する。管理ノード１３は、後述の複数の管理テーブルを保持する管理ＤＢ（データベース）４を有する。
【００３９】
分散ファイルストレージシステムとしてのストレージノード群（１以上のストレージノード１４）が、ボリューム１０３として、ユーザアプリケーションシステム１０１から使用される。また、スケールアウトが行われる場合、矢印１０５に示すように、保持しているデータは維持しつつ、一部の新たなストレージノード１４ｄが、ボリューム１０３Ａを提供するメンバとして増設され、結果として、ボリューム１０３Ａ（ストレージノード１４ａ〜１４ｃに基づくボリューム）がボリューム１０３Ｂに拡張される。拡張後のボリューム１０３Ｂが、ユーザアプリケーションシステム１０１から使用される。また、逆に、矢印１０６に示すように、スケールインが行われた場合、保持しているデータは維持しつつ、ボリューム１０３Ｂを提供するメンバから一部のストレージノード１４ｄが減設されて、結果として、ボリューム１０３Ｂがボリューム１０３Ａに縮小される。縮小後のボリューム１０３Ａが、ユーザアプリケーションシステム１０１から使用される。ただし、分散ファイルストレージシステムによってデータセットが多重化されるので、一般的に、ストレージノード１４の台数は、多重度より多い台数が使用される。
【００４０】
以上で、本実施例のシステムの全体構成を説明した。
【００４１】
図２は、データレイクサービスシステム１０２が有するボリューム１０３のデータ構成の一例を示している。
【００４２】
このデータ構成は、データレイクサービスシステム１０２に対してアクセスを行うデータレイクアクセスプログラム９１３及び１０１１（図７及び図８）に把握される。
【００４３】
ボリューム１０３が保持するセンサデータセットは、本実施例では、ファイルである。ボリューム１０３では、データ構成は、ネームスペースのように、フォルダ（ディレクトリ）やファイルのようなノードと、ノード間のエッジとを含んだ木構造（階層構造）である。ファイルは、階層化されたフォルダのうち、当該ファイルに関連付けられている測定日時と測定位置にフォルダに格納される。
【００４４】
図２の例によれば、ボリューム１０３の先頭のフォルダ“root”２１４に、測定日時で分類する１以上のフォルダ“Daytime”２１３が属する。各フォルダ“Daytime”２１３には、測定位置で分類する１以上のフォルダ“Segment”２１２が属する。フォルダ“Segment”２１２に、１以上のファイル２１１が格納される。具体的には、図２のデータ構成によれば、或るファイル２１１の格納先フォルダは、当該或るファイル２１１に関連付いている測定日時が属するフォルダ“Daytime”２１３に属する複数のフォルダ“Segment”２１２のうちの、当該或るファイル２１１に関連付いている測定位置が属するセグメント（地区）２０２に対応したフォルダ“Segment”２１２である。
【００４５】
なお、フォルダ“Segment”２１２は、例えば、測定位置の緯度と経度から計算式で求まる情報で定義されても良い。また、地域を特定する地名に相当する情報を使用することもできる。
【００４６】
また、フォルダ“Daytime”２１１とフォルダ“Segment”２１２の上下関係は、逆にしても良いが、センサの寿命の問題などで、ファイル（センサデータセット）が継続的に保持されなくなった場合、ファイルを特定する過程において、フォルダ日時が上位であれば、先に絞り込みが行われ、無駄な選定処理の発生を防げる。性能要件がない場合、フォルダ“Daytime”２１１とフォルダ“Segment”２１２のどちらが上位でも差し支えない。
【００４７】
また、図２は、本実施例で行われる処理の一例の流れの概要も示す。或るセンサ２０１からのデータセットが、リダイレクトサーバ９経由で、ファイル２１１として、当該或るセンサ２０１が配置されている地域に対応したユーザに関するボリューム１０３に、アップロード（送信）される（Ｓ１））。当該ファイル２１１のアップロード先は、当該或るセンサ２０１に関する測定日時及び測定位置に対応したフォルダ“Segment”２１２である。当該アップロードに伴い、アップロード先のフォルダ“Segment”２１２に対応したセグメント２０２についての書込み頻度が、当該セグメント２０２を含む地域に対応したユーザに関する通知条件を満たす場合、当該セグメント２０２を、管理ノード１３が検出する（Ｓ２）。管理ノード１３は、必要に応じて、当該検出されたセグメント２０２を含んだ地域に対応したユーザのアプリケーションサーバ１０に、通知メッセージを送信し（Ｓ３）、且つ、当該アップロード先のボリューム１０３のスケールリングを、ストレージシステム（例えば、ボリューム１０３の基である少なくとも１つのストレージノード１４）へ要求する（Ｓ４）。なお、アプリケーションサーバ１０は、ユーザ端末１１からの表示操作に際して、取消しの要求を受け付けると、管理ノード１３に、上記のスケーリング（スケールアウトもしくはスケールイン）の取消しの要求を送信する。管理ノード１３は、その取消しの要求に応答して、Ｓ４で要求したスケーリングの取消しを、ストレージシステムに要求する。
【００４８】
以上で、ボリューム１０３に対するファイル（センサデータセット）の置き方について説明した。
【００４９】
図３は、センサ２０１の設置位置と、セグメント２０２と、地名で代表される地域３０３との対応関係の一例を示している。
【００５０】
本実施例では、複数のユーザに使用される多数のセンサ２０１が広範囲に設置される。さらに、各センサ２０１は、或るユーザの所有物であっても良いし、それに代えて、第三者が、地域横断的に提供するセンサであっても良い。或るユーザが或る地域３０３についてのセンサデータセットを使用する際、当該地域３０３に属するセンサ２０１に絞り込んだセンサデータセットにアクセスする必要がある。
【００５１】
図３によれば、緯度と経度から定義される二次元平面を基に、模式的に、地域３０３とセグメント２０２の関連付けが行われる。例えば、地域３０３を内包する矩形範囲３０２（破線枠の範囲）に対して、その矩形範囲３０２に重なる（例えばその矩形範囲３０２（又は地域３０３）を構成する）１以上のセグメント２０２が定義される。従って、地域３０３に関わるセグメント２０２は、矩形範囲３０２に重なる全ての又は一部のセグメント２０２（例えば、地域３０３との重複部分の面積がセグメント２０２の面積の所定割合以上であるセグメント２０２）である。セグメント２０２と地域３０３の対応関係は、１：１、１：多、多：１及び多：多のいずれでも良い。セグメント２０２は、上述のフォルダ“Segment”２１２に対応付くので、当該セグメント２０２に対応するフォルダ“Segment”２１２から、当該セグメント２０２に設置されているセンサ２０１のセンサデータセットを取り出すことができる。
【００５２】
また、緯度と経度で表現される２次元位置座標系上のセンサ２０１の位置（測定位置）が、複数の位置座標（頂点）で指定される折れ線として表現される地域３０３に包含されているか否かの判定の方法としては、OpenGLのセレクション機能に従う方法のような既知の方法を採用できる。
【００５３】
図４及び図５は、管理ＤＢ４に含まれる管理テーブルの構成を示す。
【００５４】
地域プロパティ管理テーブル４０１は、地域プロパティに関する情報を保持する。例えば、地域プロパティ管理テーブル４０１は、カラム「地域ＩＤ」、「地域境界調整」及び「地域面積」を有する。つまり、地域プロパティ管理テーブル４０１は、地域毎に、地域ＩＤを格納し、且つ、地域境界調整及び地域面積といった地域プロパティを示す情報を保持する。
【００５５】
カラム「地域ＩＤ」は、地名に対応する重複のない地域ＩＤを保持する。例えば、地域ＩＤとして、日本の国土地理院が公開する地図データで使用されている識別番号が使用されても良い。
【００５６】
カラム「地域境界調整」は、地域の境界線を定義する境界線情報として、境界線を折れ線表現した場合の頂点の数と座標のリストとを保持する。境界線情報は、日本の国土地理院が公開する地図データで使用されている座標情報等を含んで良い。
【００５７】
カラム「地域面積」は、地域の面積を保持する。この地域の面積は、例えば、数１のような式を用いて、地域の頂点座標を基に求めても良い。
【数１】
2019191894.tif 000003
【００５８】
図４の地域関連管理テーブル４０２は、地域プロパティに属する情報以外の、地域に関する情報を保持する。例えば、地域関連管理テーブル４０２は、カラム「地域ＩＤ」、「地域名」及び「ユーザＩＤ」を有する。つまり、地域関連管理テーブル４０２は、地域毎に、地域ＩＤを格納し、且つ、地域名及びユーザＩＤといった情報を保持する。
【００５９】
カラム「地域ＩＤ」は、前述の地域ＩＤを保持する。カラム「地域名」は、地域の地名を示す情報を保持する。カラム「ユーザＩＤ」は、地域を扱うユーザのユーザＩＤを保持する。
【００６０】
図５のユーザ管理テーブル５０１は、ユーザに関する情報を保持する。例えば、ユーザ管理テーブル５０１は、カラム「ユーザＩＤ」、「ユーザ名」及び「通知条件」を有する。つまり、ユーザ管理テーブル５０１は、ユーザ（例えば、データレイクサービスを利用する顧客）毎に、ユーザＩＤ、ユーザ名及び通知条件といった情報を保持する。
【００６１】
カラム「ユーザＩＤ」は、ユーザＩＤを保持する。カラム「ユーザ名」は、ユーザの名称を保持する。カラム「通知条件」は、ユーザの入力した通知条件を保持する。通知条件の詳細は後述する。
【００６２】
統計管理テーブル５０２は、各セグメントについて書込み頻度の統計情報を保持する。例えば、統計管理テーブル５０２は、カラム「セグメントＩＤ」、「フォルダパス」、「長期の書込み頻度」及び「短期の書込み頻度」を有する。つまり、統計管理テーブル５０２は、セグメント毎に、地域ＩＤを格納し、且つ、地域名及びユーザＩＤといった情報を保持する。
【００６３】
カラム「セグメントＩＤ」は、セグメントのＩＤを保持する。セグメントＩＤは、例えば、数２のような式を用いて、センサの測定位置（例えば、緯度と経度）を基に、決定されても良い。これにより、セグメントのＩＤから、センサデータセットを送ってきたセンサの設置位置（測定位置）の範囲が計算できる。
【数２】
2019191894.tif 000004
【００６４】
カラム「フォルダパス」は、対応するフォルダ“Segment”へのパスのパス名を保持する。
【００６５】
カラム「長期の書込み頻度」は、比較的長い期間での書込み頻度である長期の書込み頻度（例えば、対応するフォルダ“Segment”に対する書き込みが発生した１週間当たりの移動平均を１日当たりにした値のような平均書込み頻度）を保持する。カラム「長期の書込み頻度」は、比較的短い期間での書込み頻度である短期の書込み頻度（例えば、対応するフォルダ“Segment”に対する書き込みが発生した１日当たりの移動平均値のような平均書込み頻度）を保持する。「比較的長い期間」と「比較的短い期間」の各々の期間は、一方が他方よりも長い又は短いといった期間である。
【００６６】
以上、管理ＤＢ４が有する管理テーブルを説明した。
【００６７】
図６は、センサ２０１の内部構成を示す。
【００６８】
センサ２０１は、１以上のセンサモジュール８０６を含んだデバイスである。例えば、センサ２０１は、マイクロコントローラ８０２、センサネットワークインターフェース８０３、メモリ８０４、リアルタイムクロックモジュール８０５、１以上のセンサモジュール８０６、及び、それら要素間のデータ通信を仲介するデータパス８０１を有する。
【００６９】
センサネットワークインターフェース８０３は、インターフェース部の一例であり、例えば、イーサネットプロトコル（イーサネットは登録商標）又はLPWAを介してデータ送受を行うためのNIC（Network Interface Card）モジュールである。センサネットワークインターフェース８０３経由で、センサネットワーク２へ接続することができる。
【００７０】
メモリ８０４は、記憶部（例えばメモリ部)の一例である。なお、メモリ８０４は、このセンサ２０１の動作のための１以上のプログラム（マイクロコントローラ８０２（プロセッサ部の一例）によって実行される１以上のプログラム）として、例えば、センサ測定プログラム８１０と、センサ転送プログラム８１１とを格納する。さらに、メモリ８０４は、データ保持領域として、センサバッファ８１２を有する。また、メモリ８０４は、センサ位置情報８１３を格納する。センサ位置情報８１３は、センサ２０１の設置位置を示す位置情報（例えば緯度及び軽度）である。センサ２０１の設置作業時に、センサ２０１の設置位置を示すセンサ位置情報８１３が記録される。センサ位置情報８１３が、センサ２０１からのセンサデータセットに関連付けられている。また、センサ２０１が、GPS（Global Positioning System）装置のような位置検出機能を有する場合、当該機能により検出された位置を示す情報がセンサ位置情報８１３として記録されても良い。なお、個々のプログラムの説明は、後述する。
【００７１】
リアルタイムクロックモジュール８０５は、現在日時を出力する時計モジュールで良い。
【００７２】
１以上のセンサモジュール８０６の各々は、用途に応じて採用されたセンサモジュールで良い。例えば、センサモジュール８０６ａは、振動値を測定するモジュールで良く、センサモジュール８０６ｂは、加速度を測定するモジュールで良い。
【００７３】
図７は、リダイレクトサーバ９の内部構成を示す。
【００７４】
リダイレクトサーバ９は、ＭＰＵ９０２、メモリ９０３、ネットワークインターフェース９０４、及び、それら要素間のデータ通信を仲介するデータパス９０１を有する。
【００７５】
ＭＰＵ９０２は、プロセッサ部の一例であり、マイクロプロセッサである。メモリ９０３は、記憶部（例えばメモリ部）の一例である。メモリ９０３は、リダイレクトサーバ９の動作のための１以上のプログラム（ＭＰＵ９０２に実行される１以上のプログラム）として、データ変換プログラム９１１と、データ記録プログラム９１２と、データレイクアクセスプログラム９１３とを格納する。また、メモリ９０３は、データ保持領域として、検出データバッファ９１４を有する。なお、個々のプログラムの説明は、後述する。
【００７６】
ネットワークインターフェース９０４は、インターフェース部の一例であり、例えば、イーサネットプロトコルを扱えるNICモジュールである。これにより、センサネットワーク２と、データレイクネットワーク１とに接続できる。
【００７７】
図８は、アプリケーションサーバ１０の内部構成を示す。
【００７８】
アプリケーションサーバ１０は、ＭＰＵ１００２、メモリ１００３、ネットワークインターフェース１００４、及び、それら要素間のデータ通信を仲介するデータパス１００１を有する。
【００７９】
ＭＰＵ１００２は、プロセッサ部の一例であり、マイクロプロセッサである。メモリ１００３は、記憶部（例えばメモリ部）の一例である。メモリ１００３は、アプリケーションサーバ１０の動作のための１以上のプログラム（ＭＰＵ１００２に実行される１以上のプログラム）として、センサプログラム１０１０と、データレイクアクセスプログラム１０１１と、ユーザプログラム１０１２とを格納する。また、メモリ１００３は、データ保持領域として、監視データバッファ１０１３を有する。なお、個々のプログラムの説明は、後述する。
【００８０】
ネットワークインターフェース１００４は、インターフェース部の一例であり、イーサネットプロトコルを扱えるNICモジュールである。これにより、データレイクネットワーク１に接続できる。
【００８１】
図９は、ユーザ端末１１の内部構成を示す。
【００８２】
ユーザ端末１１は、ＭＰＵ１１０２、ユーザインターフェース１１０３、メモリ１１０４、ネットワークインターフェース１１０５、及び、それら要素間のデータ通信を仲介するデータパス１１０１を有する。
【００８３】
ＭＰＵ１１０２は、プロセッサ部の一例であり、マイクロプロセッサである。
【００８４】
ユーザインターフェース１１０３は、表示デバイス１２への表示データ（表示用情報）と、入力デバイス１１０６からの入力データを、それぞれとデータ送受するためのインタフェースモジュールである。入力デバイス１１０６は、キーボードやポインティングデバイスで良い。表示デバイス１２と入力デバイス１１０６が一体となったタッチパネルディスプレイデバイスが採用されても良い。
【００８５】
メモリ１１０４は、記憶部（例えばメモリ部）の一例である。メモリ１１０４は、ユーザ端末１１の動作のための１以上のプログラム（ＭＰＵ１１０２に実行される１以上のプログラム）として、ユーザ端末プログラム１１１１を格納する。なお、個々のプログラムの説明は、後述する。
【００８６】
ネットワークインターフェース１１０５は、インターフェース部の一例であり、イーサネットプロトコルを扱えるNICモジュールである。これにより、データレイクネットワーク１に接続できる。
【００８７】
図１０は、ユーザ端末１１の表示デバイス１２に表示されるセットアップ画面の一例を示す。
【００８８】
セットアップ画面１２０１は、データレイクサービスシステム１０２における管理ノード１３からの通知を表示するユーザインターフェース画面（例えばGUI（Graphical User Interface））である。セットアップ画面１２０１は、ユーザ名１２０２、ユーザＩＤ１２０３、通知条件ＵＩ（User Interface）１２０４、通知メッセージ１２０６、ボタン「Cancel」１２０７、ボタン「OK」１２０８、及び、ボタン「Exit」１２０９を表示する。セットアップ画面１２０１の表示は、管理ノード１３からアプリケーションサーバ１０経由して受信した表示データに従う内容であり、ユーザプログラム１０１２（図８）及びユーザ端末プログラム１１１１（図９）により制御される。表示データは、通知の表示用のデータを含む。
【００８９】
図１０の例では、通知条件ＵＩ１２０４及び通知メッセージ１２０６は、異常発生等の特定のイベントが検出された地域毎に表示される。通知メッセージ１２０６は、通知条件が満たされたときに発行された通知の内容を示すメッセージである。通知条件ＵＩ１２０４は、当該通知に関わる地域についての現在の通知条件を表示するＵＩである。当該ＵＩ１２０４に関して所定の操作がされると、通知条件の指定のためのＵＩ（例えばプルダウンメニュー）１２０５が表示される。なお、通知条件として、例えば、“高頻度”や“低頻度”がある。ボタン「Cancel」１２０７は、通知の内容に示される動作の取消しを要求するためのボタンである。当該動作としては、ユーザに対応したボリューム１０３に関してのスケーリング（スケールアウト又はスケールイン）がある。なお、通知メッセージ１２０６が、取消し可能な動作に関する通知を含まない場合、ボタン「Cancel」１２０７は、非表示（又は無効）とされる。
【００９０】
ボタン「OK」１２０８は、指定した通知条件をデータレイクサービスシステム１０２へ送信するためのボタンである。ボタン「Exit」１２０９は、ユーザ端末プログラム１１１１を終了させるためのボタンである。
【００９１】
図１１は、管理ノード１３の内部構成を示す。
【００９２】
管理ノード１３は、ＭＰＵ１３０２、メモリ１３０３、ネットワークインターフェース１３０４、及び、それら要素間のデータ通信を仲介するデータパス１３０１を有する。
【００９３】
ＭＰＵ１３０２は、プロセッサ部の一例であり、マイクロプロセッサである。
【００９４】
メモリ１３０３は、記憶部（例えばメモリ部）の一例である。メモリ１３０３は、管理ノード１３の動作のための１以上のプログラム（ＭＰＵ１３０２に実行される１以上のプログラム）として、ユーザサービスプログラム１３１０と、監視プログラム１３１１と、ファイルアクセスプログラム１３１２と、スケーリングプログラム１３１３とを格納する。ユーザサービスプログラム１３１０、監視プログラム１３１１、ファイルアクセスプログラム１３１２、及び、スケーリングプログラム１３１３がＭＰＵ１３０２に実行されることで、ユーザサービス部、監視部、ファイルアクセス部、及び、スケーリング部といった機能が実現される。なお、個々のプログラムの説明は、後述する。
【００９５】
管理ＤＢ４は、メモリ１３０３（又は図示しないＰＤＥＶ部）に格納される。管理ＤＢ４に含まれる管理テーブルの詳細は、図４と図５を参照して、説明済みである。
【００９６】
ネットワークインターフェース１３０４は、インターフェース部の一例であり、イーサネットプロトコルを扱えるNICモジュールである。これにより、データレイクネットワーク１に接続できる。
【００９７】
図１２は、ストレージノード１４の内部構成を示す。
【００９８】
ストレージノード１４は、ＭＰＵ１４０２、メモリ１４０３、ＰＤＥＶ部１５、ネットワークインターフェース１４０５、及び、それら要素間のデータ通信を仲介するデータパス１４０１を有する。
【００９９】
ＭＰＵ１４０２は、プロセッサ部の一例であり、マイクロプロセッサである。
【０１００】
メモリ１４０３（メモリ部の一例）及びＰＤＥＶ部１５は、記憶部の一例である。メモリ１４０３は、ストレージノード１４の動作のための１以上のプログラム（ＭＰＵ１４０２に実行される１以上のプログラム）として、データアクセスプログラム１４１０と、ノード増設プログラム１４１１と、ノード減設プログラム１４１２とを格納する。なお、個々のプログラムの説明は、後述する。ＰＤＥＶ部１５は、センサデータセット（ファイル）を保持するための１以上のＰＤＥＶである。
【０１０１】
ネットワークインターフェース１４０５は、インターフェース部の一例であり、イーサネットプロトコルを扱えるNICモジュールである。これにより、データレイクネットワーク１に接続できる。
【０１０２】
以上で、システム構成、並びに、各装置の内部構成を説明した。以下、各プログラムの動作を、説明する。
【０１０３】
まず、センサ２０１における各プログラムの動作を説明する。
【０１０４】
センサ測定プログラム８１０は、１以上のセンサモジュール８０６から、測定値を取得し、リアルタイムクロックモジュール８０５から測定日時（現在日時）を取得し、測定値及び測定日時を含んだセンサデータセットをセンサバッファ８１２に保存する。
【０１０５】
図１３は、センサ転送プログラム８１１の動作フローを示す。
【０１０６】
Ｓ１６０１では、センサ転送プログラム８１１は、センサバッファ８１２に保存されているセンサデータ量（センサデータセットの総量）の変化量を算出する。
【０１０７】
Ｓ１６０２では、センサ転送プログラム８１１は、算出された変化量が、既定の条件を満たすが判定する。Ｓ１６０２の判定結果が真であれば（Ｓ１６０２：ＹＥＳ）、Ｓ１６０４が実行され、そうでなければ（Ｓ１６０２：ＮＯ）、Ｓ１６０３が実行される。「既定の条件」とは、例えば、変化量が既定値以上で良い。
【０１０８】
Ｓ１６０３では、センサ転送プログラム８１１は、リアルタイムクロックモジュール８０５から現在日時を取得し、取得した現在日時が既定の定期報告日時か判定する。Ｓ１６０３の判定結果が真であれば（Ｓ１６０３：ＹＥＳ）、Ｓ１６０４が実行され、そうでなければ（Ｓ１６０３：ＮＯ）、動作が終了する。
【０１０９】
Ｓ１６０４では、センサ転送プログラム８１１は、センサネットワークインターフェース８０３を介して、リダイレクトサーバ９へ、センサバッファ８１２が保持するセンサデータセット（例えば、測定値、測定日時、測定位置（センサ位置情報８１３が示す位置）を含んだデータセット）を、送信する。
【０１１０】
次に、リダイレクトサーバ９における各プログラムの動作を説明する。
【０１１１】
データ変換プログラム９１１は、センサネットワークインターフェース１１０５を介して、センサ２０１から、センサデータセットを受信する。データ変換プログラム９１１は、受信したセンサデータセットから、既定の検出計算を行い、測定値（例えば検出計算後の値）、検出日時（例えば測定日時）、及び測定位置等を含んだセンサデータセットとしての検出結果を、検出データバッファ９１４に保存する。なお、この検出計算は、センサ２０１から送られてくるデータセット中の測定値をユーザの仕様に変換する計算で良い。例えば、検出計算として、フーリエ変換計算によるスペクトラムデータへの変換、数値の大小比較による状態値への変換、複数のセンサの測定値の相関を取る計算等が採用されて良い。
【０１１２】
データ記録プログラム９１２は、検出データバッファ９１４が保持する検出結果（測定日時、測定位置、検出計算後の値などを含んだセンサデータセット）を、データレイクアクセスプログラム９１３経由で、データレイクサービスシステム１０２のボリューム１０３に記録する。
【０１１３】
データレイクアクセスプログラム９１３は、データ記録プログラム９１２から受け取ったセンサデータセットを、管理ノード１３のファイルアクセスプログラム１３１２を介して、既定のパス構造で、ボリューム１０３に保存する。この既定のパス構造は、図２で説明済みである。
【０１１４】
次に、アプリケーションサーバ１０の各プログラムの動作を説明する。
【０１１５】
センサプログラム１０１０は、データレイクアクセスプログラム１０１１を介して、データレイクサービスシステム１０２のボリューム１０３から、現在日時から過去既定時間の範囲の測定日時で、既定の地域の測定結果としてのセンサデータセット（ファイル）を取得し、取得したセンサデータセットを監視データバッファ１０１３へ保存する。
【０１１６】
データレイクアクセスプログラム１０１１は、センサプログラム１０１０から受け取ったセンサデータセット中の測定日時と測定位置を基に、ボリューム１０３から、当てはまるセンサデータセット（例えば、当該測定日時と測定位置とに対応したフォルダ内のデータセット）を取得し、取得したセンサデータセットを監視データバッファ１０１３に保存する。
【０１１７】
ユーザプログラム１０１２は、ユーザ端末１１から、接続要求があれば、監視データバッファ１０１３が保持するセンサデータセットの少なくとも一部を、ユーザ端末１１へ返す。
【０１１８】
次に、ユーザ端末１１の各プログラムの動作を説明する。
【０１１９】
図１４は、ユーザ端末プログラム１１１１の動作フローを示す。
【０１２０】
Ｓ２３０１では、ユーザ端末プログラム１１１１は、入力デバイス１１０６による操作者からの入力操作で、接続先を取得し、取得した接続先に接続要求を送信する。ここで、本実施例での接続先候補として、アプリケーションサーバ１０と管理ノード１３の２つがあるが、管理ノード１３との接続を主に説明する。
【０１２１】
Ｓ２３０２では、ユーザ端末プログラム１１１１は、接続先（管理ノード１３）から送られてくる表示データを、表示デバイス１２に表示する。
【０１２２】
Ｓ２３０３では、ユーザ端末プログラム１１１１は、入力デバイス１１０６による操作者の入力操作の内容を、接続先（管理ノード１３）に送信する。
【０１２３】
Ｓ２３０４では、ユーザ端末プログラム１１１１は、ボタン「Exit」１２０９が選択されたかの判定を行う。選択されたならば（Ｓ２３０４：ＹＥＳ）、処理が終了し、そうでなければ（Ｓ２３０４：ＮＯ）、処理がＳ２３０２に戻る。
【０１２４】
次に、管理ノード１３の各プログラムを説明する。
【０１２５】
図１５は、ユーザサービスプログラム１３１０の動作フローを示す。
【０１２６】
Ｓ２４０１では、ユーザサービスプログラム１３１０は、ユーザ端末１１から接続要求があれば、セットアップ画面１２０１の表示データを送信する。
【０１２７】
Ｓ２４０２では、ユーザサービスプログラム１３１０は、ユーザ端末１１からの操作内容が終了かを判定する。終了であれば（Ｓ２４０２：ＹＥＳ）、処理が終了し、そうでなければ（Ｓ２４０２：ＮＯ）、処理がＳ２４０３に進む。
【０１２８】
Ｓ２４０３では、ユーザサービスプログラム１３１０は、ユーザ端末１１からの操作内容がボタン「Cancel」１２０７の選択（押下）かを判定する。そうであれば（Ｓ２４０３：ＹＥＳ）、処理がＳ２４０６に進み、そうでなければ（Ｓ２４０３：ＮＯ）、処理がＳ２４０４に進む。
【０１２９】
Ｓ２４０６では、ユーザサービスプログラム１３１０は、管理ノード１３で実行されているスケーリング（スケールアウトもしくはスケールイン）の取消し要求を管理ノード１３に送信する。取消し要求は、スケーリングを止めて、ボリューム１０３の基になるストレージノード１４の台数を元に戻す要求に相当する。
【０１３０】
Ｓ２４０４では、ユーザサービスプログラム１３１０は、ユーザ端末１１から、ユーザ管理テーブル５０１のレコードデータを受信して、当該レコードデータに従うレコードを、管理ＤＢ４におけるユーザ管理テーブル５０１へ登録する。
【０１３１】
Ｓ２４０５では、ユーザサービスプログラム１３１０は、上記登録したレコードに従いセットアップ画面１２０１の表示内容を変更する更新後の表示データを、ユーザ端末１１へ送信する。
【０１３２】
図１６は、監視プログラム１３１１の動作フローを示す。
【０１３３】
Ｓ２５０１では、監視プログラム１３１１は、アクセス対象のファイルパス（ファイルアクセスプログラム１３１２からの引数としてのファイルパス）に関して、当該ファイルパスに従うアクセス先のセグメント（アクセス先のフォルダに対応したセグメント）についての長期の書込み頻度（ＦＬ）と短期の書込み頻度（ＦＳ）との差（絶対値）が既定値（Ｔｈ１）以上かの判定を行う。当該セグメントについての長期の書込み頻度と短期の書込み頻度は、統計管理テーブル５０２から特定される。既定値以上であれば（Ｓ２５０１：ＹＥＳ）、処理がＳ２５０２に進み、そうでなければ（Ｓ２５０１：ＮＯ）、処理が終了する。
【０１３４】
Ｓ２５０２では、監視プログラム１３１１は、上記ファイルパスを基に、アクセス先のセグメントに対応したセグメントＩＤを統計管理テーブル５０２から抽出し、当該セグメントＩＤに対応した地域ＩＤについて、地域プロパティ管理テーブル４０１から、対象地域の緯度と経度の範囲を求める。監視プログラム１３１１は、地域プロパティ管理テーブル４０１から、上記の緯度と経度の範囲を持つ地域の地域面積を求める。監視プログラム１３１１は、地域関連管理テーブル４０２及びユーザ管理テーブル５０１から、上記の地域ＩＤに対応したユーザＩＤと通知条件を特定する。
【０１３５】
Ｓ２５０３では、監視プログラム１３１１は、Ｓ２５０２で特定した通知条件に従う通知（通知メッセージ１２０６）を含む表示データを生成する。
【０１３６】
Ｓ２５０４では、監視プログラム１３１１は、短期の書込み頻度が、長期の書込み頻度を上回まっているかを判定する。そうであれば（Ｓ２５０４：ＹＥＳ）、処理がＳ２５０５に進み、そうでなければ（Ｓ２５０４：ＮＯ）、処理がＳ２５０７に進む。
【０１３７】
Ｓ２５０５では、監視プログラム１３１１は、Ｓ２５０２で特定された通知条件が“高頻度”か判定する。そうであれば（Ｓ２５０５：ＹＥＳ）、処理がＳ２５０６に進み、そうでなければ（Ｓ２５０５：ＮＯ）、処理が終了する。
【０１３８】
Ｓ２５０６では、監視プログラム１３１１は、Ｓ２５０２で特定した地域面積と、２つの書込み頻度（ＦＬとＦＳ）と、Ｓ２５０２で特定したユーザに対応のボリューム１０３の基になっている現在のストレージノード数とを引数に持つ既定のスケール評価式に従い、増設するストレージノード数（或いは、増設後のストレージノード数）を算出し、管理ノード１３へ、当該算出したストレージノード数に従うスケールアウト要求を送信する。
【０１３９】
Ｓ２５０７では、監視プログラム１３１１は、Ｓ２５０２で特定された通知条件が“低頻度”か判定する。そうであれば（Ｓ２５０７：ＹＥＳ）、処理がＳ２５０８に進み、そうでなければ（Ｓ２５０７：ＮＯ）、処理が終了する。
【０１４０】
Ｓ２５０８では、監視プログラム１３１１は、Ｓ２５０２で特定した地域面積と、２つの書込み頻度（ＦＬとＦＳ）と、Ｓ２５０２で特定したユーザに対応のボリューム１０３の基になっている現在のストレージノード数とを引数に持つ既定のスケール評価式に従い、減設するストレージノード数（或いは、減設後のストレージノード数）を算出し、管理ノード１３へ、当該算出したストレージノード数に従うスケールイン要求を送信する。
【０１４１】
なお、上記の既定のスケール評価式として、例えば、下記数３を採用することができる。これにより、ユーザに対応した地域の面積に応じたスケールアウトとスケールインの規模を推定することができる。
【数３】
2019191894.tif 000005
【０１４２】
図１７は、ファイルアクセスプログラム１３１２の動作フローを示す。
【０１４３】
Ｓ２６０１では、ファイルアクセスプログラム１３１２は、データレイクネットワーク１からの要求が、書込み要求かを判定する。そうであれば（Ｓ２６０１：ＹＥＳ）、処理がＳ２６０２に進み、そうでなければ（Ｓ２６０１：ＮＯ）、処理がＳ２６０５に進む。
【０１４４】
Ｓ２６０２では、ファイルアクセスプログラム１３１２は、書込み要求を基に、その要求から特定されるファイルパスに従うファイル書込み要求をボリューム１０３に対して送信する。
【０１４５】
Ｓ２６０３では、ファイルアクセスプログラム１３１２は、統計管理テーブル５０２の長期の書込み頻度と短期の書込み頻度（Ｓ２６０２でのファイルパスに従うフォルダ（セグメント）に対応する２つの書込み頻度）を更新する。データレイクネットワーク１からの書込み頻度（書込み要求の受信頻度）は、センサ２０１において異常発生等の特定イベントが生じた場合に増え、セグメント毎に、長期の書込み頻度と短期の書込み頻度が管理される。
【０１４６】
Ｓ２６０４では、ファイルアクセスプログラム１３１２は、Ｓ２６０２でのファイルパスと、Ｓ２６０３での更新後の２つの書込み頻度を引数に、監視プログラム１３１１を呼び出す。
【０１４７】
Ｓ２６０５では、ファイルアクセスプログラム１３１２は、データレイクネットワーク１からの要求が、読出し要求かを判定する。そうであれば（Ｓ２６０５：ＹＥＳ）、処理がＳ２６０６に進み、そうでなければ（Ｓ２６０５：ＮＯ）、処理が終了する。なお、図１７が示す動作フローは、データレイクネットワーク１からの要求として書込み要求と読出し要求の２つを例に取っているが、それらの要求以外の要求もあれば、Ｓ２６０５：ＮＯの後は、当該要求の処理が行われて良い。
【０１４８】
Ｓ２６０６では、ファイルアクセスプログラム１３１２は、読出し要求を基に、その要求から特定されるファイルパスに従うファイル読出し要求をボリューム１０３に対して送信し、そのファイル読出し要求に応答して読み出されたファイルを、要求元へ送信する。
【０１４９】
スケーリングプログラム１３１３は、スケールアウトの場合、使用されていないストレージノード１４へ、ボリューム１０３への加入の要求を送信する。スケーリングプログラム１３１３は、スケールインの場合、ボリューム１０３から脱退させるストレージノード１４が保持するデータを他の使用中のストレージノード１４へ転送し、脱退させるストレージノード１４へ、脱退要求を送信する。
【０１５０】
次に、ストレージノード１４の各プログラムの動作を説明する。
【０１５１】
データアクセスプログラム１４１０は、管理ノード１３からの要求が、データ書込み（ファイル書込み要求）であれば、管理ノードからのデータ（ファイルを構成するデータ）を、ＰＤＥＶ部１５（又はキャッシュメモリ）へ書き込む。データアクセスプログラム１４１０は、管理ノード１３からの要求が、データ読出し（ファイル読出し要求）であれば、ＰＤＥＶ部１５（又はキャッシュメモリ）から、データを読出し、管理ノード１３へ返送する。
【０１５２】
ノード増設プログラム１４１１では、増設対象のストレージノード１４に関して、使用中状態とし、且つ、管理ノード１３からのデータ送受動作の許可を設定する。
【０１５３】
ノード減設プログラム１４１２は、減設対象のストレージノード１４に関して、空き状態とし、且つ、管理ノード１３からのデータ送受動作の禁止を設定する。
【０１５４】
以上で、本実施例に係るシステムの構成と動作の概要を説明した。
【０１５５】
本実施例に係るシステムは、社会インフラ管理と、それを実現するITシステムに適用できる。特に、社会インフラの監視データ（センサーデータ）を保持するデータレイクを提供するITシステムの共同利用に適用できる。
【０１５６】
以上、一実施例を説明したが、これらは本発明の説明のための例示であって、本発明の範囲をこの実施例にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実行することが可能である。例えば、いずれかのストレージノード１４が管理ノード１３としても機能して良い。また、例えば、セットアップ画面１２０１は、通知条件の設定と、通知とを兼ねた画面（例えば、通知の際に通知条件の設定を可能とした画面）であるが、通知条件設定用の画面と、通知用の画面とが異なっていても良い。
【０１５７】
なお、上述の説明を、例えば下記のように総括できる。下記総括は、上述の説明に無い事項を含んでいても良い。
【０１５８】
管理ノード１３が、データセットアクセス部（例えばファイルアクセス部）と、監視部とを有する。
【０１５９】
データセットアクセス部は、複数のユーザにそれぞれ対応した複数の地域３０３に関わる複数のセグメント２０２に存在する複数のセンサ２０１の各々について、当該センサ２０１の測定値に関して所定の条件が満たされる都度に、当該センサ２０１のセンサデータセットの書込み要求を受信するようになっている。ここで言う「所定の条件」とは、例えば、単位時間当たりのセンサデータセット増加量でも良いし、単位時間当たりの測定値変動量でも良い。各センサ２０１（又はリダイレクトサーバ９のような中継器）が、当該センサ２０１の測定に関して異常発生等の特定イベントが生じた場合にセンサデータセットの書込み要求を管理ノード１３に発行するようになっている。データセットアクセス部は、いずれかのセンサ２０１のセンサデータセットの書込み要求を受信した場合、複数のユーザにそれぞれ対応した複数のボリューム１０３のうち、当該センサ２０１が存在するセグメント２０２が関わる地域３０３に対応するユーザに対応したボリューム１０３に対する、当該センサデータセットの書込み要求を発行する。なお、複数のボリューム１０３の各々は、同一のストレージシステムに存在する１以上のストレージノード１４であるスケールアウト型のストレージノード群に基づいている。複数のボリューム１０３の各々において、当該ボリューム１０３に格納されている各センサデータセット（例えばファイル）に、当該センサデータセットに関して、当該センサデータセットに対応したセンサ２０１の測定位置と測定日時とが関連付けられている（例えば、当該センサデータセットは、当該測定位置と測定日時に対応したフォルダ（格納領域の一例）に格納されるようになっている）。
【０１６０】
監視部は、複数のボリューム１０３の各々について、当該ボリュームに対応したユーザに関する地域３０３を構成するセグメント２０２毎に書込み頻度を監視する。
【０１６１】
これにより、センサデータセットの書込み頻度の変化により、異常発生等の特定イベントが発している地域３０３の特定が、センサデータセットそれ自体を分析すること無しに、可能である。
【０１６２】
なお、管理ＤＢ４が、地域３０３とセグメント２０２との対応関係を示す管理テーブルを含んで良い。
【０１６３】
管理ノード１３が、更に、書込み頻度に関する条件が満たされたセグメント２０２である対象セグメント２０２が関わる地域３０３に対応したユーザに対する条件該当通知を発行するユーザサービス部を備える。「条件該当通知」は、書込み頻度に関する条件が満たされたことの通知であり、例えば、通知メッセージ１２０６である。
【０１６４】
システムが共同利用されると、センサデータセットの書込みに関して条件が満たされても、いずれのユーザを通知先とするかの特定が難しいケースがあり得る。例えば、ユーザとは独立な第三者が設置し運営する大量のセンサを、TCO削減の目的で利用されることを想定すると、いずれのセンサに関しての通知をいずれのユーザが必要としているかの特定が容易ではないと考えられる。上述のユーザサービス部によれば、異常発生等の特定イベントが発していると特定された地域３０３を管轄するユーザが特定され、当該ユーザに、通知がされる。
【０１６５】
管理ノード１３が、更に、スケーリング部を備える。スケーリング部は、対象セグメント（書込み頻度に関する条件が満たされたセグメント）２０２が関わる地域３０３のプロパティ（例えば、地域面積や地域人口のような地域の規模に関する値）と、対象セグメント２０２が関わる地域３０３に対応したユーザについてのボリューム１０３である対象ボリューム１０３の基になっているストレージノード１４の数とに基づいて、当該対象ボリューム１０３の基となるストレージノードのスケール（例えばストレージノード数）を決定し、決定したスケールに従うスケーリングの実行要求をストレージシステムに発行する。
【０１６６】
これにより、複数のユーザに共同利用されるシステムの運用管理者が、地域３０３に関する知識がなくても、ボリューム１０３のスケールを、当該地域３０３に応じたスケールにすることが、可能である。
【０１６７】
ユーザサービス部は、対象ボリューム１０３についてスケールが決定された場合、対象ボリューム１０３に対応したユーザに対するスケーリング通知を発行する。スケーリング通知の発行とは、例えば、上述の通知メッセージ１２０６が、スケーリングの実施がされていることを示す通知を含むことと、当該通知メッセージ１２０６に対してボタン「Cancel」１２０７が有効とされることであって良い。スケーリング部は、スケーリング通知に対して取消しを受け付けた場合、決定したスケールに従うスケーリングの取消しの要求をストレージシステムに発行する。ストレージシステムは、当該取消しの要求に応答して、ボリューム１０３の基になるストレージノード群の構成を基に戻す。
【０１６８】
これにより、広域災害などでスケールアウトがなされるといった正常なケース（例えば、広域災害が生じると多くのセンサ２０１に関するセンサデータセットの書込み頻度が増加しそれに伴い記憶容量を増やすためのスケールアウトが行われるケース）と異なるケースでのスケーリング（例えば、センサ２０１のエラーなどによる誤動作が原因で増えた又は減った書込み頻度に応じたスケーリング）の取消ができるようになる。なお、上述の実施例では、少なくともスケールアウトに関しては、広域災害等が原因で急激にセンサデータセットの書込み頻度が増えても対処できるよう、ユーザからのスケーリング指示を受け付けること無しにスケーリングが開始されるが、センサ２０１の誤作動等が原因でそのようなスケーリングが生じても、取消しが可能である。
【０１６９】
複数のボリューム１０３の各々について、当該ボリュームに対応したユーザに関する地域３０３を構成するセグメント２０２毎に、短期の書込み頻度と長期の書込み頻度とがある。書込み頻度に関する上述の条件は、短期の書込み頻度と長期の書込み頻度との差（例えば絶対値）が既定値以上であることである。決定されたスケールに従うスケーリングは、下記である。
・短期の書込み頻度が長期の書込み頻度よりも高く、且つ、対象ボリューム１０３に対応したユーザから高頻度の通知が望まれている場合（通知条件が“高頻度”の場合）、スケールアウト。
・短期の書込み頻度が長期の書込み頻度よりも低く、且つ、対象ボリューム１０３に対応したユーザから低頻度の通知が望まれている場合（通知条件が“低頻度”の場合）、スケールイン。
【０１７０】
これにより、短期の書込み頻度と長期の書込み頻度との差が既定値以上である場合における短期の書込み頻度と長期の書込み頻度との関係に応じて、各ユーザに、当該ユーザの希望する通知頻度に応じた頻度での通知をできることが期待できる。
【０１７１】
なお、各ユーザに関して希望される通知条件が無くても、短期の書込み頻度と長期の書込み頻度との差が既定値以上である場合における短期の書込み頻度と長期の書込み頻度との関係に応じて、ユーザへの通知が可能である。また、短期の書込み頻度と長期の書込み頻度との関係に関わらず短期の書込み頻度と長期の書込み頻度との差が既定値以上の場合に、ユーザへの通知が行われても良い。
【符号の説明】
【０１７２】
１０２：データレイクサービスシステム
【図１】
2019191894.tif 000006
【図２】
2019191894.tif 000007
【図３】
2019191894.tif 000008
【図４】
2019191894.tif 000009
【図５】
2019191894.tif 000010
【図６】
2019191894.tif 000011
【図７】
2019191894.tif 000012
【図８】
2019191894.tif 000013
【図９】
2019191894.tif 000014
【図１０】
2019191894.tif 000015
【図１１】
2019191894.tif 000016
【図１２】
2019191894.tif 000017
【図１３】
2019191894.tif 000018
【図１４】
2019191894.tif 000019
【図１５】
2019191894.tif 000020
【図１６】
2019191894.tif 000021
【図１７】
2019191894.tif 000022