JP2013257798A - データ収集システムおよびデータ収集方法 - Google Patents

データ収集システムおよびデータ収集方法 Download PDF

Info

Publication number
JP2013257798A
JP2013257798A JP2012134434A JP2012134434A JP2013257798A JP 2013257798 A JP2013257798 A JP 2013257798A JP 2012134434 A JP2012134434 A JP 2012134434A JP 2012134434 A JP2012134434 A JP 2012134434A JP 2013257798 A JP2013257798 A JP 2013257798A
Authority
JP
Japan
Prior art keywords
data
identifier
distributed storage
storage device
relay device
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.)
Pending
Application number
JP2012134434A
Other languages
English (en)
Inventor
Masaru Kobayashi
大 小林
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2012134434A priority Critical patent/JP2013257798A/ja
Publication of JP2013257798A publication Critical patent/JP2013257798A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】データ収集システムにおいて、多数の端末から収集したデータをストレージ装置が速やかに格納できるようにすること。
【解決手段】データ収集システムは、1または2以上の端末から送出された複数のデータを中継する中継装置と、複数のデータを蓄積する複数のストレージノードを有する分散ストレージ装置と、を備え、中継装置は、複数のデータのそれぞれに付与すべき識別子を分散ストレージ装置から取得するとともに、取得した複数の識別子と複数のデータを含む結合データを生成して分散ストレージ装置に送出し、分散ストレージ装置は、中継装置からの問い合わせに応じて識別子を中継装置に回答するとともに、中継装置から受信した結合データに含まれる複数のデータを、複数の識別子に従って複数のストレージノードに分散して格納する。
【選択図】図1

Description

本発明は、データ収集システムおよびデータ収集方法に関し、特に、センサ端末、ユーザ端末などの端末から収集したデータを分散ストレージ装置に格納するデータ収集システムおよびデータ収集方法に関する。
センサ端末、ユーザ端末などの地理的に離れた複数の端末から時々刻々と発生するデータを収集し、インターネットなどの広域ネットワークを通じてデータセンターに転送し、データセンター内のストレージ装置に格納するとともに、格納したデータを処理するデータ収集システムが知られている。
センサ端末から収集されるデータとして、GPS(Global Positioning System)を用いた位置情報、温度計による温度情報、加速度センサによる加速度や速度、スマートメータによる電力消費量などの少数の数値データや、マイクによって録音された音声情報、カメラによって撮影された静止画、動画像ストリームなどの複雑なバイナリデータなどが考えられる。一方、ユーザ端末から収集されるデータとして、マイクロブログサービス(micro-blogging service)への投稿データ、電話の呼情報のログデータなどが考えられる。
インターネットを介して接続された計算機リソースを利用してデータを処理するクラウドコンピューティングの普及に伴い、上記のデータはインターネット、公衆無線網などを通じて、地理的に離れたデータセンターに集約されるようになってきている。収集されたデータをデータセンターのシステムに送信するためには、データセンターのシステムの入り口に設けられたゲートウェイサーバ(またはアプリケーションサーバ)に対してデータを送信する必要がある。以下では、データセンターの入り口に設けられたゲートウェイサーバ(またはアプリケーションサーバ)を、「ストレージクライアント」と呼ぶ。
スマートフォンのように、センサを備えた端末自身が公衆無線網、インターネットなどの通信プロトコルを処理できる場合、端末自身がストレージクライアントに対してデータを送信することができる。例えば、非特許文献1には、AndroidスマートフォンがBluetooth(登録商標)と呼ばれる無線接続方式によってセンサ情報を集約し、インターネットを経由してシステムの管理サーバへ送信する技術が記載されている。
一方、センサ端末においては、コストや消費電力を削減する目的で、ハードウェアリソースが制約されている場合がある。この場合、センサ端末自身は公衆網にはアクセスすることができず、センサ端末とストレージクライアントとを仲介する中継装置が必要となる。なお、中継装置は、1台のセンサ端末に対して1つ設ける必要はなく、複数台のセンサ端末を収容するようにしてもよい。また、センサ端末とデータセンターのストレージクライアントとの間に、多段の中継装置が介在するようにしてもよい。
例えば、非特許文献2には、スマートメータと呼ばれるセンサ端末と中継装置との間をZigBeeと呼ばれる無線規格で接続するとともに、中継装置と公益事業会社(Utility Company)との間を公衆無線網であるCellular上に暗号回線(VPN:Virtual Private Network)を作成して接続することで、センサデータをデータセンターに送信する技術が記載されている。
また、非特許文献1には、端末と管理サーバとの間に、基地局、ゲートウェイ、ルータなどの複数の中継器が介在する技術が記載されている。
中継装置は、通信方式を変換する以外に、センサのデータを中継装置内の記憶領域(バッファ)に一時的に保持するバッファリングを行う場合がある。例えば、公衆通信網の最低送信可能量が決まっている場合、データ転送の効率を上げるために、中継装置によるバッファリングが行われる。また、公衆通信網のデータ到達可能性が低い場合には、データの喪失を回避するために、データセンター側で確実にデータが受領されたことを確かめるまで、中継装置がバッファリングを行うこともある。
データセンター内のネットワークに到達した収集データは、ストレージクライアントによって受け取られ、加工されるとともに、ストレージ装置に格納することで永続化され、分析などの用途に供される。ここでは、「データの永続化」とは、データが消えることなく存続するように保持することをいう。永続化の例として、システムにおいて規定された冗長性を満たすだけの複製、符号などを不揮発性記憶媒体に格納することが挙げられる。
ストレージ装置は、データを保持するとともに、保持するデータを提供するシステムである。具体的には、ストレージ装置は、データの一部に対するCREATE(INSERT), READ, WRITE(UPDATE), DELETEなどの基本機能(アクセス)を提供する。また、ストレージ装置は、権限管理、データ構造化整理などの多様な機能を提供することもある。
分散ストレージ装置は、ネットワークを介して接続された多数の計算機を有し、これらの計算機のハードディスクドライブ(HDD:Hard Disk Drive)、メモリ等を用いてストレージ装置を実現する。分散ストレージ装置では、いずれの計算機にデータを配置し、いずれの計算機によってデータを処理するのかを、ソフトウェアまたは特別なハードウェアによって決定する。また、分散ストレージ装置の動作を動的に変更することにより、システム内のリソース使用量を調整するとともに、ストレージクライアントおよび利用者に対する性能を向上させる。
分散ストレージ装置においては、データは複数のストレージノードに分散して格納されている。したがって、ストレージクライアントがデータにアクセスする場合には、データを保持しているストレージノードを把握する必要がある。また、アクセス対象のデータを保持するストレージノードが複数存在する場合には、ストレージクライアントは、いずれのストレージノードにアクセスすべきかを把握する必要がある。
格納されるデータは、ある意味的な単位でアクセスされる。例えば、関係データベースでは、データはレコードまたはタプルと呼ばれる単位で書き込まれる。また、ファイルシステムでは、データはブロックの集合として書き込まれる。さらに、キーバリューストアでは、データはオブジェクトとして書き込まれる。こうして書き込まれたデータは、その単位ごとにユーザ計算機により読み込まれる。以下では、このデータ単位を「データオブジェクト」と呼ぶ。
センサから取得したデータを格納する際、例えば、1つのセンサ当り1つのオブジェクトを割り当て、その中身に時々刻々と取得したデータを更新(update)していく方法が考えられる。また、1回のセンシングデータごとに新しくオブジェクトを作成し、挿入(insert)する方法が考えられる。さらに、テーブルなどのより大きなデータ単位を用意し、テーブル内にタプルとしてデータを挿入する方法が考えられる。
データオブジェクトを保持しているストレージノードをストレージクライアントが把握する方式として、データオブジェクトの位置情報を管理する1または2以上の計算機から成るメタサーバを設ける方式(以下「メタサーバ方式」という。)が知られている。
非特許文献3に記載されたGoogle File Systemと呼ばれる分散ストレージ装置では、メタサーバはデータチャンクの位置を一元管理する。
データオブジェクトを保持しているストレージノードをストレージクライアントが把握するための他の方式として、分散関数(例えば、ハッシュ関数)を用いてデータオブジェクトの格納ノードを求める方式(分散関数方式)が知られている。分散関数方式においては、すべてのストレージクライアントが、分散関数、および、システムに参加しているストレージノードのリスト(ノードリスト)を共有する。また、格納データは固定長または任意長のデータ断片(Value、バリュー)に分割され、各Valueにはこれを一意に特定するための識別子(Key、キー)が付与されている。ストレージクライアントは、データにアクセスする場合には、分散関数にキーを入力として与え、分散関数の出力値とノードリストに基づいて、データを格納しているストレージノードを算術的に求める。
例えば、非特許文献4に記載された技術によると、ストレージクライアントは、ハッシュ関数を複数回適用することで、システム中のデータオブジェクトを格納しているストレージノードを発見することができる。
分散関数方式によると、集中アクセスされるメタサーバを経由することなく、各ストレージクライアントはストレージノードにアクセスすることができるため、メタサーバが性能上のボトルネックになることがない。例えば、特許文献2には、乱数関数を用いてデータの配置を決定する技術が記載されている。
また、ストレージ装置とサーバ以外に、これらの間にキューを設け、ストレージ装置やデータ処理システムでの処理が終わる前にデータの永続性を確保する技術が知られている。例えば、非特許文献5には、クライアント(証券会社参加者)からのデータ(注文)をデータ処理システム(トレーディングサーバ)で処理する前に、キュー(注文管理サーバ)でデータがシステムで受け取られたことを保証し、データを処理する前にクライアントにレスポンスを返す技術が記載されている。
さらに、特許文献1には、多数の小サイズのユーザ利用データを格納するときに必要とされる時間が長いという問題、および、データ転送元のユーザ計算端末上の転送済データを高速に削除できないという問題に対処するために、多数の小サイズデータをまとめて送信する技術が記載されている。
以下では、一例として、端末はデータセンター外に存在し、データ格納システムはデータセンター内に存在する場合について説明する。ただし、端末およびデータ格納システムは、いずれもデータセンターの外部に存在していてもよいし、いずれもデータセンターの内部に存在していてもよい。なお、以下では、センサ端末、ユーザ端末などの情報源となる端末を、単に「端末」という。
特開2011−048427号公報 国際公開第2012/023384号
加藤大智、他3名、「高齢者を見守るリモート監視システムの提案と実装」、情報処理学会第73回全国大会講演論文集,pp.22,Mar.2011. "ConnectPort(R) X2 for Smart Energy, ZigBee Smart Energy enabled IP gateway, "[online]、[平成24年5月29日検索]、インターネット〈URL: http://www.digi.com/products/wireless-routers-gateways/gateways/connectportx2#overview> S. Ghemawat, et al., "The Google File System," SIGOPS Oper. Syst. Rev. 37, 5 (October 2003), pp. 29-43. Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan, "Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications," ACM SIGCOMM Computer Communication, Review 31(4), pp.149-160, ACM Press, 2001. 平田 剛、他1名、「高速応答を支えるデータ同期、可用性は3重化で保証する、東京証券取引所(技術編)」、[online]、[平成24年5月29日検索]、インターネット〈URL: http://itpro.nikkeibp.co.jp/article/COLUMN/20110114/356097/>
以下の分析は、本発明者によってなされたものである。
上述のデータ収集システムを安価に構成するには、多数の端末から時々刻々と送信されるデータを、データセンター側で速やかに永続化する技術が必要とされる。特に、多数の端末からのデータを少ない計算機で処理できれば、データセンター内のシステム構築コストおよび運用コストを低く抑えることができる。また、データセンター側で高速にデータを永続化できれば、中継装置に搭載すべきバッファの容量を小さくすることができ、データセンター外のシステム構築コストおよび運用コストも低く抑えることができる。
ストレージクライアントは、データセンター外から送信されてきた端末ごとのデータを分散ストレージ装置に格納する。ストレージクライアントが端末ごとのネットワークセッションを維持する負荷や、ストレージクライアントがデータ毎のネットワークプロトコルを変換する負荷は、端末の数が増大するに従って大きくなる。したがって、端末の数が増大すると、より多くの台数のストレージクライアントが必要とされる。また、各端末による1回のデータ送出の都度、分散ストレージ装置上のオブジェクトに対するネットワーク上のやり取りが発生すると、アクセス時間および永続化に要する時間が増大する。
そこで、端末の数が増大した場合には、中継装置が複数のデータを予め大きなデータ構造にパッキングしてからストレージクライアントに送信する方法が考えられる。中継装置が複数の端末からのデータまたは1つの端末からの複数のデータをまとめて1つのデータ構造にパッキングすることにより、ストレージクライアントにおけるネットワークセッションの維持に必要な資源を、端末の個数ではなく中継装置の個数のオーダにまで削減することができる。
また、ストレージクライアントがセンサデータを格納する際、特許文献2に記載された技術のように、複数のデータをまとめてストレージノードに送信することで、前述のネットワーク上のやり取りに起因するアクセス時間の長大化を防ぐことができる。
しかし、上述の関連技術のように、データセンターの内外においてそれぞれ異なる方式に基づいて複数のデータをまとめた場合、ストレージクライアントは、データセンター外の方式に基づいてまとめられたデータを、データセンター内の方式に適合するように変換しなければならず、ストレージクライアントの負荷が増大し、収集したデータを速やかに格納して永続化することが困難となる。
そこで、データ収集システムにおいて、多数の端末から収集したデータをストレージ装置が速やかに格納できるようにすることが課題となる。本発明の目的は、かかる課題を解決するデータ収集システムおよびデータ収集方法を提供することにある。
本発明の第1の視点に係るデータ収集システムは、
1または2以上の端末から送出された複数のデータを中継する中継装置と、
前記複数のデータを蓄積する複数のストレージノードを有する分散ストレージ装置と、を備え、
前記中継装置は、前記複数のデータのそれぞれに付与すべき識別子を前記分散ストレージ装置から取得するとともに、取得した複数の識別子と前記複数のデータを含む結合データを生成して前記分散ストレージ装置に送出し、
前記分散ストレージ装置は、前記中継装置からの問い合わせに応じて前記識別子を前記中継装置に回答するとともに、前記中継装置から受信した前記結合データに含まれる前記複数のデータを、前記複数の識別子に従って前記複数のストレージノードに分散して格納する。
本発明の第2の視点に係るデータ収集方法は、
1または2以上の端末から送出された複数のデータを中継する中継装置と、
前記複数のデータを蓄積する複数のストレージノードを有する分散ストレージ装置と、を備えたデータ収集システムによるデータ収集方法であって、
前記中継装置が、前記複数のデータのそれぞれに付与すべき識別子を前記分散ストレージ装置に問い合わせる工程と、
前記分散ストレージ装置が、前記中継装置からの問い合わせに応じて前記識別子を前記中継装置に回答する工程と、
前記中継装置が、取得した複数の識別子と前記複数のデータを含む結合データを生成して前記分散ストレージ装置に送出する工程と、
前記分散ストレージ装置が、前記中継装置から受信した前記結合データに含まれる前記複数のデータを、前記複数の識別子に従って前記複数のストレージノードに分散して格納する工程と、を含む。
本発明に係るデータ収集システムおよびデータ収集方法によると、多数の端末から収集したデータをストレージ装置が速やかに格納することが可能となる。
本発明に係るデータ収集システムの構成を一例として示す図である。 第1の実施形態に係るデータ収集システムの構成を一例として示すブロック図である。 第2の実施形態に係るデータ収集システムの構成を一例として示すブロック図である。 第3の実施形態に係るデータ収集システムの構成を一例として示すブロック図である。 実施例のデータ収集システムの構成を一例として示すブロック図である。 実施例のデータ収集システムにおける分散ストレージ装置の構成を一例として示すブロック図である。 実施例のデータ収集システムにおける分散ストレージ装置の構成を一例として示すブロック図である。 実施例におけるデータ収集システムにおける端末の構成を一例として示すブロック図である。 実施例のデータ収集システムにおける中継装置に設けられた識別子DBの構成を一例として示す図である。 実施例のデータ収集システムにおける結合データのフォーマットを一例として示す図である。
はじめに、一実施形態の概要について説明する。なお、この概要に付記する図面参照符号は、専ら理解を助けるための例示であり、本発明を図示の態様に限定することを意図するものではない。
図1は、本発明に係るデータ収集システムの構成を一例として示すブロック図である。図1を参照すると、データ収集システムは、中継装置(2)および分散ストレージ装置(3)を備える。中継装置(2)は、1または2以上の端末(1)から送出された複数のデータを中継する。分散ストレージ装置(3)は、複数のデータを蓄積する複数のストレージノード(30)を有する。
中継装置(2)は、複数のデータのそれぞれに付与すべき識別子を分散ストレージ装置(3)から取得するとともに、取得した複数の識別子と複数のデータを含む結合データを生成して分散ストレージ装置(3)に送出する。分散ストレージ装置(3)は、中継装置(2)からの問い合わせに応じて識別子を中継装置(2)に回答するとともに、中継装置(2)から受信した結合データに含まれる複数のデータを、複数の識別子に従って複数のストレージノード(30)に分散して格納する。ここで、複数のデータは、互いに異なる複数の端末(1)から送出されたデータであってもよい。
また、中継装置(2)は、複数のデータのそれぞれを送出した端末(1)を分散ストレージ装置(3)に通知し、分散ストレージ装置(3)は、複数のデータのそれぞれを送出した端末(1)を表す識別子を、複数のデータのそれぞれに付与すべき識別子としてもよい。さらに、分散ストレージ装置(3)は、同一の端末(1)が送出したデータを複数のストレージノード(30)のうちの同一のストレージノードに格納してもよい。
また、分散ストレージ装置(3)は、複数のデータのそれぞれを送出した端末(1)および中継装置(2)を表す識別子を、複数のデータのそれぞれに付与すべき識別子としてもよい。さらに、分散ストレージ装置(3)は、同一の中継装置(2)が送出したデータを複数のストレージノード(30)のうちの同一のストレージノードに格納するようにしてもよい。
かかるデータ収集システムによると、端末(1)に近い下流側に設けられた中継装置(2)において、1または2以上の端末(1)から収集した複数のデータを結合して単一のデータとすることで、収集したデータを分散ストレージ装置(3)に対して効率よく送信することができる。また、分散ストレージ装置(3)が中継装置(2)から受信した結合データに含まれるデータに対して、分散ストレージ装置(3)自身が決定した識別子が中継装置(2)によって付与されている。したがって、分散ストレージ装置(3)は、結合データを受信すると、結合データに含まれる識別子に基づいて、結合データに含まれるデータをストレージノード(30)に速やかに格納することができる。よって、かかるデータ収集システムによると、多数の端末(1)から収集したデータをストレージ装置(3)が速やかに格納し、永続化することが可能となる。
また、中継装置(2)は、結合データに含まれる複数のデータをバッファ(図1において非図示)に一時的に蓄積し、分散ストレージ装置(3)から結合データを受信した旨の通知を受けると、バッファに蓄積された前記複数のデータを削除するようにしてもよい。
かかるデータ収集システムによると、端末(1)から収集したデータが分散ストレージ装置(3)に格納され、永続化される前に消失するリスクを軽減すると同時に、中継装置(2)においてデータをバッファリングするためのバッファの容量を小さくすることができる。
なお、本発明において、下記の形態が可能である。
[形態1]
前記第1の視点に係るデータ収集システムのとおりである。
[形態2]
前記複数のデータは、互いに異なる複数の端末から送出されたデータであってもよい。
[形態3]
前記中継装置は、前記複数のデータのそれぞれを送出した端末を前記分散ストレージ装置に通知し、
前記分散ストレージ装置は、前記複数のデータのそれぞれを送出した端末を表す識別子を、前記複数のデータのそれぞれに付与すべき識別子としてもよい。
[形態4]
前記分散ストレージ装置は、同一の端末が送出したデータを前記複数のストレージノードのうちの同一のストレージノードに格納してもよい。
[形態5]
前記分散ストレージ装置は、前記複数のデータのそれぞれを送出した端末および前記中継装置を表す識別子を、前記複数のデータのそれぞれに付与すべき識別子としてもよい。
[形態6]
前記分散ストレージ装置は、同一の中継装置が送出したデータを前記複数のストレージノードのうちの同一のストレージノードに格納してもよい。
[形態7]
前記中継装置は、前記結合データに含まれる前記複数のデータをバッファに一時的に蓄積し、
前記分散ストレージ装置から前記結合データを受信した旨の通知を受けると、前記バッファに蓄積された前記複数のデータを削除してもよい。
[形態8]
前記第2の視点に係るデータ収集方法のとおりである。
[形態9]
前記データ収集方法において、前記複数のデータは、互いに異なる複数の端末から送出されたデータであってもよい。
[形態10]
前記データ収集方法は、
前記中継装置が、前記複数のデータのそれぞれを送出した端末を前記分散ストレージ装置に通知する工程と、
前記分散ストレージ装置が、前記複数のデータのそれぞれを送出した端末を表す識別子を、前記複数のデータのそれぞれに付与すべき識別子とする工程と、を含んでもよい。
[形態11]
前記データ収集方法において、前記分散ストレージ装置が、同一の端末が送出したデータを前記複数のストレージノードのうちの同一のストレージノードに格納してもよい。
[形態12]
前記データ収集方法において、前記分散ストレージ装置が、前記複数のデータのそれぞれを送出した端末および前記中継装置を表す識別子を、前記複数のデータのそれぞれに付与すべき識別子としてもよい。
[形態13]
前記データ収集方法において、前記分散ストレージ装置が、同一の中継装置が送出したデータを前記複数のストレージノードのうちの同一のストレージノードに格納してもよい。
[形態14]
前記データ収集方法は、
前記中継装置が、前記結合データに含まれる前記複数のデータをバッファに一時的に蓄積する工程と、
前記分散ストレージ装置から前記結合データを受信した旨の通知を受けると、前記バッファに蓄積された前記複数のデータを削除する工程と、を含んでもよい。
(実施形態1)
第1の実施形態に係るデータ収集システムについて、図面を参照して説明する。図2は、本実施形態に係るデータ収集システムの構成を一例として示すブロック図である。図2を参照すると、データ収集システムは、端末1から取得したデータを中継する中継装置2と、データを格納する分散ストレージ装置3を備える。
中継装置2は、データ受信部21、識別子付与部25、識別子DB22、識別子結合部23、および、データ結合・送信部24を備える。また、分散ストレージ装置3は、ストレージクライアント39および分散データ記憶部33を備える。ストレージクライアント39は、記憶資源管理部32および結合データ受信部31を備える。さらに、記憶資源管理部32は、識別子取得部35およびデータ配置管理部34を備える。また、分散データ記憶部33は、図1に示すように、複数のストレージノード30を備える。
データ受信部21は、1つ以上の端末1からデータを取得する。識別子付与部25は、端末1から取得したデータに付与するための識別子を分散ストレージ装置3の識別子取得部35から取得する。識別子DB22は、識別子付与部25が取得した識別子を保持する。識別子結合部23は、端末1から取得したデータに対して、識別子付与部25が取得した識別子を付与する。データ結合・送信部24は、識別子を付与された1つ以上のデータを結合してより大きなデータにパックし、分散ストレージ装置3のもつ結合データ受信部31へ送信する。
結合データ受信部31は、中継装置2のデータ結合・送信部24から送出された結合データを取得する。データ配置管理部34は、データを格納すべきストレージノード決定と、データを保持するストレージノードの検索を行う。データ配置管理部34は、一例として、データ識別子に基づいて、データを格納すべき1つ以上のストレージノードを決定し、分散データ記憶部33にデータを格納する。識別子取得部35は、識別子付与部25からの依頼に基づいて、端末1から取得したデータに識別子を付与する。
識別子取得部35は、上記の識別子として、システム内で端末1を識別可能な識別子を生成してもよい。また、識別子取得部35は、上記の識別子として、分散ストレージ装置3に格納するデータの識別子を生成してもよい。このとき、当該識別子を持つ一連のデータ構造の更新情報として、データを分散ストレージ装置3に格納するようにしてもよい。さらに、識別子取得部35は、上記の識別子として、システム内で中継装置2および端末1を識別可能な識別子を生成してもよい。
また、記憶資源管理部32は、オブジェクト識別子と1つ以上の格納ストレージノードの対情報を、データ配置情報として記録するとともに、データ配置に利用するメタサーバ形式であってもよい。このとき、識別子付与部25は、少なくとも新たに依頼する端末1の個数を識別子依頼として識別子取得部35に送信する。また、識別子取得部35は、依頼された個数の識別子をオブジェクト識別子として、1つ以上の格納ストレージを表す情報とともにメタサーバに記録する。識別子取得部35は、当該オブジェクト識別子を上記の識別子とする。データ配置管理部34は、結合データに付与されているオブジェクト識別子に応じて、データを格納するストレージノード30を決定する。なお、識別子取得部35は、識別子を生成する際、1つの結合データに含まれる複数のデータが1つのストレージノード30に格納されるように、予めオブジェクト識別子と格納ストレージノードの対を決定してもよい。
データ配置管理部34は、オブジェクト識別子を所定の1つ以上の関数に入力し、関数と同数の格納ストレージノードを表す情報を得ることで、データを格納するストレージノード30を決定する分散関数形式のデータ配置方式であってもよい。このとき、識別子付与部25は、少なくとも新たに依頼する端末の個数を識別子依頼として送信する。記憶資源管理部32は、依頼された個数の識別子をオブジェクト識別子として返却する。記憶資源管理部32は、結合データに付与されている識別子をオブジェクト識別子として、データを格納するストレージノード30を決定する。なお、識別子取得部35は、識別子を生成する際、1つの結合データに含まれる複数のデータが1つのストレージノード30に格納されるように、オブジェクト識別子を決定してもよい。
さらに、識別子取得部35によって生成される識別子は、中継装置2を表す情報と中継装置2内で端末1を表す情報の少なくとも2つに分けることができるようにし、記憶資源管理部32が、識別子のうちの中継装置2を表す情報の一部を利用してストレージノードを決定する関数を利用するようにしてもよい。
本実施形態のデータ収集システムにおいて、中継装置2は、1または2以上の端末1から取得した複数のデータのそれぞれに対して、分散ストレージ装置3によって決定された識別子を付与するとともに、識別子付与後の複数のデータを結合して1つの結合データにまとめた後、分散ストレージ装置3に送出する。また、分散ストレージ装置3は、結合データに含まれるデータを結合データに付与された識別子に応じて複数のストレージノードに格納する。したがって、本実施形態のデータ収集システムによると、分散ストレージ装置3は、多数の端末1から収集したデータを速やかに永続化することが可能となる。
(実施形態2)
第2の実施形態に係る分散ストレージ装置について、図面を参照して説明する。図3は、本実施形態に係る分散ストレージ装置3の構成を一例として示すブロック図である。図3を参照すると、本実施形態のデータ収集システムにおいては、中継装置2は、さらに、バッファ26および送信済みデータ削除部27を備える。これらの各部は、中継装置2に設けられたハードウェアによって実現してもよいし、中継装置2のコンピュータ資源を用いてソフトウェアを実行することで実現してもよい。
バッファ26は、送信データを一時的に格納する。本実施形態の結合データ受信部31は、第1の実施形態における結合データ受信部31の機能を有するとともに、分散データ記憶部33によるデータの永続化が完了した後、当該データを送信した中継装置2の送信済みデータ削除部27に対して、受信確認を送信する。送信済みデータ削除部27は、受信確認を受け取ると、バッファ26に蓄積された送信済みデータを削除する。
本実施形態のデータ収集システムにおいても、分散ストレージ装置3の記憶資源管理部32は、同一の中継装置2から依頼されて生成した識別子が付与されたデータが同一のストレージノードにより高い確率で格納されるようにしてもよい。
本実施形態のデータ収集システムにおいて、端末1によって生成されたデータは、次のようにして永続化される。
端末1によって生成されたデータは、バッファ26に一時的に格納される。なお、識別子が付与されたデータをバッファ26に格納してもよい。一方、バッファ26からデータを取り出す際に、データに識別子を付与してもよい。
データ結合・送信部24は、所定のデータ送信タイミングに従って、バッファ26に格納されたデータを送信する。データ送信タイミングを、一定時間毎としてもよい。また、データ送信タイミングを、バッファ26のメモリが所定の割合だけ使用されたタイミングとしてもよい。さらに、データ送信タイミングを、以前の通信が終了した時点としてもよい。また、データ送信タイミングを、中継装置2に設けられたデータ送信ボタン(非図示)がユーザによって押下されたタイミングとしてもよい。ただし、データ送信タイミングは、これらに限定されない。
データ結合・送信部24は、バッファ26中の全部または一部のデータを結合して結合データを生成し、生成した結合データを結合データ受信部31または上流の中継装置(図3において非図示)に送信する。この時点では、バッファ26中のデータを削除することなく保持する。
分散データ記憶部33でデータが永続化されると、分散ストレージ装置3の結合データ受信部31は、中継装置2に受信確認を返却する。中継装置2の送信済みデータ削除部27は、受信確認を受け取ると、当該受信確認に対応する送信済みのデータをバッファ26から削除する。
本実施形態に係るデータ収集システムによると、ネットワーク障害や分散ストレージ装置における永続化以前の障害に起因するデータ喪失の確率を低く抑えるとともに、バッファ26のメモリ容量を少なく抑えることができる。なぜなら、結合データごとに受信確認を行うことで、中継装置2と分散ストレージ装置3のネットワーク上の応答回数を削減しつつ、バッファ26に蓄積された不要なデータを素早く削除することができるからである。
(実施形態3)
第3の実施形態に係るデータ収集システムについて、図面を参照して説明する。図4は、本実施形態に係るデータ収集システムの構成を一例として示すブロック図である。図4を参照すると、データ収集システムは、さらに、上流結合装置4を備える。また、上流結合装置4は、上流結合部41を有する。
上流結合部41は、1または2以上の中継装置2から送信された複数の結合データをさらに結合して、上流結合データを生成する。また、上流結合部41は、生成した上流結合データを分散ストレージ装置3の結合データ受信部31に送信する。
本実施形態に係るデータ収集システムによると、中継装置2から送出された複数の結合データや複数の中継装置2のそれぞれから送出された結合データを、1つの上流結合データにまとめることで、ストレージクライアント39がデータを受信する負荷を第1の実施形態と比較してさらに軽減することができる。
上記実施形態に係るデータ収集システムについて、実施例に基づいて説明する。図5は、本実施例におけるデータ収集システムの構成を示すブロック図である。
図5を参照すると、データ収集システムは、端末1、中継装置2、データ受信サーバ7、および、ストレージノード30を備える。なお、データ収集システムは、端末1、中継装置2、データ受信サーバ7、および、ストレージノード30を、それぞれ複数備えていてもよい。データ受信サーバ7は、データ受信プロセス71およびストレージクライアント39を有する。分散ストレージ装置3は、ストレージクライアント39およびストレージノード30を備える。
図5においては、中継装置2が接続された外部ネットワーク5と、ストレージノード30が接続された内部ネットワーク6とを分けて記載している。ただし、これらのネットワークは、単一のネットワークであってもよい。
図6は、本実施例における分散ストレージ装置3の構成、特に、データの格納およびアクセスに関する構成を示すブロック図である。図6を参照すると、分散ストレージ装置3は、内部ネットワーク6に接続されたストレージクライアント39と、複数のストレージノード30と、配置方式伝達手段(非図示)とを備える。図6においては、一例として、3台のストレージノード30を記載したが、ストレージノードの台数はこれに限定されない。
ストレージノード30は、それぞれ、データ送受信部36およびデータ格納部37を備える。一方、ストレージクライアント39は、データ送受信部75およびデータ送受信ノード決定部74を備える。
図7は、図6に示したストレージノード30に相当するデータ処理計算機130の構成を一例として示すブロック図である。図7を参照すると、ストレージクライアント39に相当するサーバ計算機139は、内部ネットワーク6を介して、データ処理計算機130に接続されている。
データ処理計算機130は、それぞれ、CPU(Central Processing Unit)131、データ記憶装置132、および、データ転送装置133を備える。CPU131は、ソフトウェアとともに、本実施例のストレージノード30の機能を実現する。
データ記憶装置132は、例えば、HDD、フラッシュメモリ、DRAM(Dynamic Random Access Memory)、STT−RAM(Spin Torque Transfer RAM)、MRAM(Magnetoresistive Random Access Memory)、FeRAM(Ferroelectric Random Access Memory)、PRAM(Phase change RAM)、RAID(Redundant Array of Inexpensive Disks)コントローラやSSD(Solid State Drive)コントローラなどに接続された記憶装置、磁気テープのようにデータを記録可能な物理媒体、または、ノードの外部に設置された媒体にデータを記録する制御装置である。
内部ネットワーク6およびデータ転送装置133は、例えば、Ethernet(登録商標)、Fibre ChannelやFCoE(Fibre Channel over Ethernet(登録商標))、InfiniBand、QsNet、Myrinet、Ethernet、PCI Express、Thunderbolt、または、これらを利用するTCP/IP(Transmission Control Protocol/Internet Protocol)、RDMA(Remote Direct Memory Access)などの上位プロトコルにより実現することができる。ただし、内部ネットワーク6およびデータ転送装置133の実現方法は、これらに限定されない。
格納データは、固定長または意味的に区切られたデータ断片(以下「オブジェクト」という。)の集合として、ストレージノード30のそれぞれのデータ格納部37に格納される。各オブジェクトには、一意の識別子(キー)が与えられている。ストレージクライアント39は、キーを指定することで所望のデータを取得する。また、各オブジェクトの複製は、複数のストレージノード30に格納され得る。
また、各オブジェクトの代わりに、または、各オブジェクトとともに、オブジェクトに基づいて計算された冗長符号情報が他のストレージノード30に格納されるようにしてもよい。冗長符号情報は、ストレージノード30の故障などによりデータの一部がアクセスできない状態になったときに、データの消失を防ぐために用いられる。
オブジェクトの例として、例えば、ブロックストレージのブロックまたはセクタ、ファイルシステムのファイル、ファイルと関連するメタデータの集合、関係データベースのタプルまたはテーブル、オブジェクトデータベースのデータ、Key-Valueデータ格納システムのValue、XML(Extensible Markup Language)文書のタグで囲まれた内容、RDF(Resource Description Framework)文書のリソース、Google App Engineのデータエンティティ、Microsoft Windows(登録商標) Azureキューのメッセージ、Cassandra等のWide Column StoreのColumn、JSON(JavaScript(登録商標) Object Notation)、BSON(Binary JSON)で記載されたドキュメント等が挙げられる。
対応するキーの例として、ブロック番号、論理ボリューム識別子とブロック番号の組、セクタ番号、ファイル名、メタデータプロパティ名、ファイル名とメタデータプロパティ名の組、タプルの主キー値、テーブル名、テーブル名と主キー値の組、オブジェクト名、オブジェクトID、タグ名、リソース名などが挙げられる。
なお、本実施例におけるオブジェクトおよびキーは、これらに限定されない。
ストレージクライアント39のデータ送受信部75は、ストレージノード30を特定する識別子(以下「ノード識別子」という。)と、データキーから当該データを保持するストレージノードを特定し、データオブジェクトを送信または受信する。
配置方式として、例えば、メタサーバ形式が考えられる。このとき、配置方式伝達手段はメタサーバに相当し、メタサーバが保持する情報の一部を各ストレージノード30の配置方式の部分情報とする。また、メタサーバが保持する情報は、データオブジェクト毎の識別子と、そのオブジェクトが格納されているストレージノード30の識別子の組とする。
図8は、本実施例における端末1の構成を一例として示すブロック図である。端末1は、外界またはコンピュータ上の何らかの事象(イベント)を観測し、中継装置2で解釈可能なデータに変換する。
図8(a)は、端末1の一形態を示す。図8(a)を参照すると、端末1は、センサ11および制御コンピュータ12を有する。センサ11は、外界で生じた物理現象に基づく観測データを電気信号に変換する。制御コンピュータ12は、当該電気信号をデジタル化し、デジタルデータに変換する。さらに、制御コンピュータ12は、デジタルデータをインターコネクト8の形式に変換する。インターコネクト8は、制御コンピュータ12と中継装置2を接続する。
センサ11の例として、外界の音声を音声情報に変換するマイクロフォン、衛星の電波や近隣の基地局の電波の強度および方向に基づいてセンサ11の位置情報を取得する位置情報センサ、外界の温度を温度情報に変換する温度計、外界の明るさを照度情報に変換する照度計などが挙げられる。ただし、本実施例におけるセンサ11は、これらに限定されない。
インターコネクト8は、制御コンピュータ12で得られたデジタルデータおよびアナログデータを中継装置2に送信する通信手段である。インターコネクト8として、例えば、ZigBee、IEEE802.11、Bluetoothなどの無線通信形式がある。また、インターコネクト8として、USB(Universal Serial Bus)、Ethernet、HDMI(High-Definition Multimedia Interface)、コンポジット映像信号、CAN(Controller Area Network)などの有線通信形式がある。さらに、インターコネクト8として、例えば、赤外線通信、可視光通信などの光通信がある。ただし、インターコネクト8は、これらに限定されない。
図8(b)は、端末1の他の形態を示す。図8(b)を参照すると、端末1はユーザ入力装置13およびアプリケーションソフトウェア14を備える。ユーザ入力装置13は、ユーザが入力した文字、声などを、コンピュータ上のデータとして扱える形式(デジタルデータ)に変換する。端末1では、アプリケーションソフトウェア14が動作しており、ユーザ入力装置13から得たデータを必要に応じて加工した後、インターコネクト8に送信する。
例えば、文字入力を受け付けるユーザ入力装置13と、マイクロブログサービスへつぶやきデータを送信するアプリケーションソフトウェア14とによって、ユーザのつぶやき情報をデータとして送信するようにしてもよい。また、ユーザ入力装置13が端末1に設けられたカメラであり、アプリケーションソフトウェア14がカメラで撮影された写真データを変換・加工・送信するアプリケーションである場合には、アプリケーションソフトウェア14がユーザによって撮影されたデータを送信するようにしてもよい。
端末1は、データを連続して送信するようにしてもよい。また、端末1は、一定時間間隔でセンサ11からデータを取得して、送信するようにしてもよい。また、端末1は、センサ11のデータを制御コンピュータ12で監視し、何らかの変化が検知された場合にデータを送信するようにしてもよい。さらに、制御コンピュータ12は、バッファメモリを備え、センサ11からのデータは逐次バッファメモリに追記され、端末1は、バッファメモリ内のデータ量が所定の量に達した場合に、データを送信するようにしてもよい。また、端末1は、ユーザがボタンを操作する都度、データを送信するようにしてもよい。また、これらの組み合わせによって、データが送信されるようにしてもよい。ただし、データが送信されるタイミングは、これらに限定されない。
中継装置2は、インターコネクト8の形式で通信を行い、接続されている1つ以上の端末1からデータを受け取る。中継装置2は、図7のブロック図に示したデータ処理計算機130と同様の構成を有する計算機であってもよい。図2に示したデータ受信部21、識別子付与部25、識別子DB22、識別子結合部23、および、データ結合・送信部24は、それぞれ、計算機上で動作するソフトウェア、または、計算機に設けられたハードウェアによって実現される。
図2を参照すると、識別子DB22は、接続された端末1ごとにその送信データに付与すべき識別子を表すデータを保持する。識別子付与部25は、分散ストレージ装置3の識別子取得部35に識別子依頼を送出し、識別子取得部35によって生成された識別子を受け取る。識別子DB22は、識別子付与部25が受け取った識別子を保持する。
データ受信部21は、端末1から送信されたデータを受け付ける。データ受信部21が受け付けたデータは、識別子結合部23、データ結合・送信部24および識別子DB22を利用して結合データに変換され、分散ストレージ装置3のストレージクライアント39に設けられた結合データ受信部31に送信される。
中継装置2は、データを端末1から取得し、分散ストレージ装置3の入り口に相当するストレージクライアント39に送信する。ストレージクライアント39は、受信したデータを複数のストレージノードを有する分散データ記憶部33に格納する。
本実施例のデータ収集システムにおいて、端末1(または、端末1から取得したデータ)に対する識別子の付与は、次のようにして行われる。
中継装置2は、分散ストレージ装置3に識別子依頼を送信する。分散ストレージ装置3は、端末1に対応する識別子を生成する。分散ストレージ装置3は、識別子が付与されたデータの格納リクエストが到来した際に、効率よくデータを格納できるように、識別子を生成することが好ましい。そこで、分散ストレージ装置3は、自身に設けられた記憶資源管理部32の情報を用いて、識別子を生成するようにしてもよい。
また、分散ストレージ装置3は、同一の中継装置2からの依頼に対しては、同一の識別子を付与するようにしてもよい。このとき、同一の中継装置2から到来するデータは、同一の識別子が付与されているため、記憶資源管理部32は、例えば、所定のストレージノード30にデータが記憶されるようにしたり、1つのCPUの近くに配置されたストレージノード30(例えば、メモリ)にデータを配置したりして、効率の良い制御を実現することができる。
また、分散ストレージ装置3は、データ配置管理部34が保持するデータ識別子を識別子として付与してもよい。分散ストレージ装置3は、データにはデータ識別子が付与される。データ識別子の一部を含む識別子を用いることで、分散ストレージ装置3によるデータ分散がデータ識別子の一部を用いて行われる方式の場合、分散ストレージ装置3は端末1のデータを効率良く扱うことができる。
また、データ識別子の一部を識別子とする他の方法として、次の方法が考えられる。分散ストレージ装置3がメタサーバ形式である場合には、分散ストレージ装置3は、データ識別子と当該識別子が付与されたデータが格納されるストレージノード30とを、識別子の付与時に決定してもよい。分散ストレージ装置3は、同一の中継装置2に収容された端末1からのデータが、分散ストレージ装置3のリソース利用効率が良いストレージノード30に格納されるように、予めストレージノード30を決定し、当該識別子と格納ストレージノードの組を表す情報を分散ストレージ装置3のデータ配置管理において利用する。このとき、分散ストレージ装置3のリソース利用効率が良く、性能の高いデータ収集システムを実現することができる。
リソース利用効率が良い場合として、例えば、同一のストレージノード30に格納することが考えられる。また、並列に動作する複数のストレージノード30に分散して格納することが考えられる。さらに、中継装置2に地理的に近いストレージノード30に格納することが考えられる。ただし、ストレージノード30の決定方式は、これらに限定されない。
また、データ識別子の一部を識別子とするさらに他の方法として、次の方法が考えられる。分散ストレージ装置3が分散関数形式のデータ配置を行う場合には、分散ストレージ装置3は、データ識別子と当該識別子が付与されたデータが格納されるストレージノード30とを、識別子の付与時に決定してもよい。分散ストレージ装置3は、同一の中継装置2に収容された端末1からのデータが、分散ストレージ装置3のリソース利用効率が良いストレージノード30に格納されるように、予めストレージノード30を決定し、当該格納ストレージノード30に格納されるようなデータ識別子を計算によって求めて、データに付与する識別子とする。このとき、分散ストレージ装置3のリソース利用効率が良く、性能の高いデータ収集システムを実現することができる。
例えば、データ識別子をデータ構造1とデータ構造2の少なくとも2つのデータ構造から合成されるデータ構造とし、分散関数形式でストレージノード30を決定する際、データ構造1の情報を用いるようにしてもよい。すなわち、xを引数とする分散関数h(x)を用いて、h(“データ構造1”)の値に応じてストレージノード30を決定する。分散ストレージ装置3は、同一の中継装置2に収容された端末1に対しては同一のデータ構造1の情報を持ち、異なるデータ構造2の情報を持つデータ識別子を生成する。このとき、同一の中継装置2に収容された端末1から生成されるデータは、同一のストレージノード30に格納される。
中継装置2による識別子の取得および格納は、端末1が新たに中継装置2に接続された後、データが送信される前に行うようにしてもよい。また、中継装置2は、端末1が接続される前に投機的に識別子を付与して識別子DB22に格納しておいて、端末1が接続された後、分散ストレージ装置3は、予め付与されている識別子を割り当てるようにしてもよい。
分散ストレージ装置3によって付与された識別子は、中継装置2の識別子DB22に格納される。図9は、識別子DB22の一例を示す。図9を参照すると、識別子DB22は、中継装置2内で端末1を一意に示す情報と、付与された識別子との組を有する。識別子DB22によると、端末1を一意に示す情報に基づいて、識別子を取得することができる。なお、性能や格納効率の観点から、識別子を別のデータに変換して保持し、必要に応じて識別子を組み立てるようにしてもよい。
本実施例のデータ収集システムにおいて、端末1から生成されたデータは次のように永続化される。
1つ以上の端末1から時々刻々と発生したデータは識別子結合部23により識別子が付与される。次に、データ結合・送信部24は、複数のデータを含むより大きなサイズの結合データとして分散ストレージ装置に送信する。
図10は、識別子が付与された結合データを示す。図10(a)は、採取データごとに対応する識別子を並べた結合データの例を示す。識別子のフォーマットにデータ分割点情報を含めるようにするか、または、各項目を固定長とすることで、結合データからデータを抽出することが可能となる。なお、図10(a)に示すように、結合データに対して、データ、識別子の順序で格納する代わりに、識別子、データの順序で格納してもよい。
図10(b)を参照すると、結合データに対して、まず、識別子を並べて、次に、採取データを並べるようにしてもよい。図10(c)を参照すると、結合データに対して、データおよび識別子以外に、データの切れ目を表すデリミタのような情報を挿入してもよい。図10(d)を参照すると、結合データに対して、データおよび識別子以外に、結合データ自体を示すヘッダやフッタなどの情報を挿入してもよい。ヘッダやフッタの中には、結合データの長さや、中継装置2を表す情報を含めてもよい。図10(e)を参照すると、結合データに含まれる、複数の端末1からのデータの個数は端末ごとに異なっていてもよい。また、同一の端末1からのデータが複数含まれるときには、重複する識別子を割愛してもよい。また、結合データは、図10(a)ないし(e)の方式の組合せであってもよい。ただし、データ結合方式は、これらに限定されない。
結合データは、分散ストレージ装置3に送信される。なお、第3の実施形態(図4)のように、結合データは、上流結合装置4へ送信され、複数の中継装置2から送信された複数の結合データが上流中継装置4の上流結合部41で再度結合さるようにしてもよい。
分散ストレージ装置3のストレージクライアント39に設けられた結合データ受信部31は、中継装置2から送出された結合データを受信する。結合データ受信部31は、必要に応じて結合データを分解し、分散データ記憶部33に格納する。分散データ記憶部33への格納方法として、結合データ受信部31が結合データを分解し、個別のデータとして、分散ストレージ装置3のオブジェクトへ追記するようにしてもよい。
また、分散データ記憶部33への格納方法として、次のようにしてよい。識別子取得部35は、結合データ受信部31で受け取った1つの中継装置2から得られた結合データを、同一のストレージノード30に登録してもよいことを予め把握している。そこで、分散データ記憶部33は、データ配置管理部34から該当結合データ内の個々のデータを格納すべきストレージノード30を決定し、そのストレージノード30へデータを格納する。ストレージノード30では、受け取ったデータを記憶装置により永続化する前後に当該結合データを分解し、今後データを利用する別のプロセスが格納データを探し出せるような処理を行う。かかる処理として、例えば、索引構造のアップデート、メタデータの更新などがあるが、これらに限定されない。
本実施例に係るデータ収集システムによると、多数の端末1から時々刻々と生成される大量のデータを高速に永続化することが可能となる。
第1の理由は、本実施例によると、データセンター内で複数の計算機をまとめる分散ストレージ装置3のデータ配置管理機構の情報をもとに、データセンター外の端末1に近い中継装置2の段階で多数の端末1のデータを結合することで、端末1の数の多さに起因する性能減退要因を回避することができるからである。
例えば、中継装置2と分散ストレージ装置3の間がTCPにより接続されている場合、TCPのセッション数が増大すると、セッション情報および取りまとめるスレッド数の増大により、システムのスループットが著しく減少する。本実施例では、細かいデータを個別に送出する代わりに、結合してから送出することで、かかる性能減退要因を回避することができる。
第2の理由は、本実施例では、分散ストレージ装置3のデータ配置機構の情報に基づいて結合データが生成されるからである。このとき、ストレージノードにおけるデータオブジェクト数の多さに起因する性能減退要因も回避できるため、データを高速に永続化することができる。
本実施例では、複数のデータが、分散ストレージ装置3のリソースを効率よく利用するための情報が、端末1に近い中継装置2の段階で識別子として付与されて、結合データに含まれている。したがって、分散ストレージ装置3のリソースを効率良く利用することが可能となる。リソースを効率良く利用することで、より高速なリソースによるサービスの提供や、適切な負荷分散が行われ、システムの応答の高速化が可能となる。
第3の理由は、中継装置2がデータの結合を行っているからである。中継装置2および分散ストレージ装置3のそれぞれが個別にデータの結合を行った場合、分散ストレージ装置3のストレージクライアント39に到達した結合データ内のデータは、分散ストレージ装置3のリソースを効率良く扱えるとは限らない。また、ストレージクライアント39は、データ転送に適した結合データから、データ格納に適した結合データへと変換を行う必要がある。本実施例では、中継装置2が端末1からデータを取得した際、分散ストレージ装置3から取得した識別子を付与することによって、分散ストレージ3のリソースを効率良く扱うことのできる結合データを作成できる。したがって、ストレージクライアント39の負荷が減り、分散ストレージ装置3のリソースを効率良く利用することができる。このとき、多数の端末1から生起するデータを高速かつ少ないリソースで永続化することが可能となる。
本発明に係るデータ収集システムは、例えば、携帯電話、スマートフォンなどのセンサ情報を格納・処理するシステム、コンピュータシステムのログ情報を格納・処理するシステム、スマートグリッド、デジタルグリッドなどの電力発電・利用情報を格納・処理するシステム、高度道路交通システム(ITS:Intelligent Transport Systems)のように車のセンサ、カーナビなどの情報を格納・処理するシステム、自動販売機などの機械の購買情報、動作情報などを逐次ネットワークで収集するM2M(Machine To Machine)システムに対して適用することができる。
なお、上記の特許文献等の先行技術文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素(各請求項の各要素、各実施形態の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
1 端末
2 中継装置
3 分散ストレージ装置
4 上流結合装置
5 外部ネットワーク
6 内部ネットワーク
7 データ受信サーバ
8 インターコネクト
11 センサ
12 制御コンピュータ
13 ユーザ入力装置
14 アプリケーションソフトウェア
21 データ受信部
22 識別子DB
23 識別子結合部
24 データ結合・送信部
25 識別子付与部
26 バッファ
27 送信済みデータ削除部
30 ストレージノード
31 結合データ受信部
32 記憶資源管理部
33 分散データ記憶部
34 データ配置管理部
35 識別子取得部
36 データ送受信部
37 データ格納部
39 ストレージクライアント
41 上流結合部
71 データ受信プロセス
74 データ送受信ノード決定部
75 データ送受信部
130 データ処理計算機
131 CPU
132 データ記憶装置
133 データ転送装置
139 サーバ計算機

Claims (10)

  1. 1または2以上の端末から送出された複数のデータを中継する中継装置と、
    前記複数のデータを蓄積する複数のストレージノードを有する分散ストレージ装置と、を備え、
    前記中継装置は、前記複数のデータのそれぞれに付与すべき識別子を前記分散ストレージ装置から取得するとともに、取得した複数の識別子と前記複数のデータを含む結合データを生成して前記分散ストレージ装置に送出し、
    前記分散ストレージ装置は、前記中継装置からの問い合わせに応じて前記識別子を前記中継装置に回答するとともに、前記中継装置から受信した前記結合データに含まれる前記複数のデータを、前記複数の識別子に従って前記複数のストレージノードに分散して格納する、データ収集システム。
  2. 前記複数のデータは、互いに異なる複数の端末から送出されたデータである、請求項1に記載のデータ収集システム。
  3. 前記中継装置は、前記複数のデータのそれぞれを送出した端末を前記分散ストレージ装置に通知し、
    前記分散ストレージ装置は、前記複数のデータのそれぞれを送出した端末を表す識別子を、前記複数のデータのそれぞれに付与すべき識別子とする、請求項1または2に記載のデータ収集システム。
  4. 前記分散ストレージ装置は、同一の端末が送出したデータを前記複数のストレージノードのうちの同一のストレージノードに格納する、請求項3に記載のデータ収集システム。
  5. 前記分散ストレージ装置は、前記複数のデータのそれぞれを送出した端末および前記中継装置を表す識別子を、前記複数のデータのそれぞれに付与すべき識別子とする、請求項1または2に記載のデータ収集システム。
  6. 前記分散ストレージ装置は、同一の中継装置が送出したデータを前記複数のストレージノードのうちの同一のストレージノードに格納する、請求項5に記載のデータ収集システム。
  7. 前記中継装置は、前記結合データに含まれる前記複数のデータをバッファに一時的に蓄積し、
    前記分散ストレージ装置から前記結合データを受信した旨の通知を受けると、前記バッファに蓄積された前記複数のデータを削除する、請求項1ないし6のいずれか1項に記載のデータ収集システム。
  8. 1または2以上の端末から送出された複数のデータを中継する中継装置と、
    前記複数のデータを蓄積する複数のストレージノードを有する分散ストレージ装置と、を備えたデータ収集システムによるデータ収集方法であって、
    前記中継装置が、前記複数のデータのそれぞれに付与すべき識別子を前記分散ストレージ装置に問い合わせる工程と、
    前記分散ストレージ装置が、前記中継装置からの問い合わせに応じて前記識別子を前記中継装置に回答する工程と、
    前記中継装置が、取得した複数の識別子と前記複数のデータを含む結合データを生成して前記分散ストレージ装置に送出する工程と、
    前記分散ストレージ装置が、前記中継装置から受信した前記結合データに含まれる前記複数のデータを、前記複数の識別子に従って前記複数のストレージノードに分散して格納する工程と、を含む、データ収集方法。
  9. 前記複数のデータは、互いに異なる複数の端末から送出されたデータである、請求項9に記載のデータ収集方法。
  10. 前記中継装置が、前記複数のデータのそれぞれを送出した端末を前記分散ストレージ装置に通知する工程と、
    前記分散ストレージ装置が、前記複数のデータのそれぞれを送出した端末を表す識別子を、前記複数のデータのそれぞれに付与すべき識別子とする工程と、を含む、請求項8または9に記載のデータ収集方法。
JP2012134434A 2012-06-14 2012-06-14 データ収集システムおよびデータ収集方法 Pending JP2013257798A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012134434A JP2013257798A (ja) 2012-06-14 2012-06-14 データ収集システムおよびデータ収集方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012134434A JP2013257798A (ja) 2012-06-14 2012-06-14 データ収集システムおよびデータ収集方法

Publications (1)

Publication Number Publication Date
JP2013257798A true JP2013257798A (ja) 2013-12-26

Family

ID=49954166

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012134434A Pending JP2013257798A (ja) 2012-06-14 2012-06-14 データ収集システムおよびデータ収集方法

Country Status (1)

Country Link
JP (1) JP2013257798A (ja)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150109511A (ko) * 2014-03-19 2015-10-02 동아대학교 산학협력단 효율적인 데이터 수집을 위한 미들웨어 장치 그리고 미들웨어 장치의 효율적인 데이터 수집 방법
WO2016110936A1 (ja) * 2015-01-05 2016-07-14 株式会社日立製作所 計算機システム、及び、データ管理方法
KR20160123748A (ko) * 2015-04-17 2016-10-26 한국전자통신연구원 분산 파일 시스템에서의 파일 복제 제어 장치 및 방법
JP2017033428A (ja) * 2015-08-05 2017-02-09 東日本旅客鉄道株式会社 改札情報収集システムおよび中継装置
WO2017150621A1 (ja) * 2016-03-02 2017-09-08 日本電気株式会社 ネットワークシステム、端末、センサーデータの収集方法及びプログラム
JP6272429B1 (ja) * 2016-09-29 2018-01-31 三菱電機株式会社 データ収集システム、収集装置、情報収集プログラム、サーバ装置およびサーバプログラム
JP2018042168A (ja) * 2016-09-09 2018-03-15 株式会社日立製作所 データダイオードシステム及びデータダイオードシステムにおけるデータ送信方法
JP2019061574A (ja) * 2017-09-27 2019-04-18 東芝情報システム株式会社 ファイル管理システム及びファイル管理用プログラム
WO2019234783A1 (ja) * 2018-06-04 2019-12-12 日本電気株式会社 情報共有装置、情報共有方法および記録媒体
JP2019213004A (ja) * 2018-06-01 2019-12-12 富士ゼロックス株式会社 データ中継装置およびプログラム
KR20200099268A (ko) * 2019-02-14 2020-08-24 (주)헤르메시스 데이터 공유를 위한 위성 데이터 서비스 시스템
WO2022190681A1 (ja) * 2021-03-09 2022-09-15 富士フイルム株式会社 ストレージシステム、データ処理方法、及びデータ処理プログラム

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150109511A (ko) * 2014-03-19 2015-10-02 동아대학교 산학협력단 효율적인 데이터 수집을 위한 미들웨어 장치 그리고 미들웨어 장치의 효율적인 데이터 수집 방법
KR101602645B1 (ko) 2014-03-19 2016-03-14 동아대학교 산학협력단 효율적인 데이터 수집을 위한 미들웨어 장치 그리고 미들웨어 장치의 효율적인 데이터 수집 방법
WO2016110936A1 (ja) * 2015-01-05 2016-07-14 株式会社日立製作所 計算機システム、及び、データ管理方法
US10489353B2 (en) 2015-01-05 2019-11-26 Hitachi, Ltd. Computer system and data management method
KR20160123748A (ko) * 2015-04-17 2016-10-26 한국전자통신연구원 분산 파일 시스템에서의 파일 복제 제어 장치 및 방법
KR102377726B1 (ko) 2015-04-17 2022-03-24 한국전자통신연구원 분산 파일 시스템에서의 파일 복제 제어 장치 및 방법
JP2017033428A (ja) * 2015-08-05 2017-02-09 東日本旅客鉄道株式会社 改札情報収集システムおよび中継装置
JPWO2017150621A1 (ja) * 2016-03-02 2018-12-20 日本電気株式会社 ネットワークシステム、端末、センサーデータの収集方法及びプログラム
WO2017150621A1 (ja) * 2016-03-02 2017-09-08 日本電気株式会社 ネットワークシステム、端末、センサーデータの収集方法及びプログラム
US11438417B2 (en) 2016-03-02 2022-09-06 Nec Corporation Network system, terminal, sensor data collection method, and program
JP2018042168A (ja) * 2016-09-09 2018-03-15 株式会社日立製作所 データダイオードシステム及びデータダイオードシステムにおけるデータ送信方法
GB2566904A (en) * 2016-09-09 2019-03-27 Hitachi Ltd Data diode system and data transmission method in data diode system
WO2018047410A1 (ja) * 2016-09-09 2018-03-15 株式会社日立製作所 データダイオードシステム及びデータダイオードシステムにおけるデータ送信方法
JP2018055457A (ja) * 2016-09-29 2018-04-05 三菱電機株式会社 データ収集システム、収集装置、情報収集プログラム、サーバ装置およびサーバプログラム
JP6272429B1 (ja) * 2016-09-29 2018-01-31 三菱電機株式会社 データ収集システム、収集装置、情報収集プログラム、サーバ装置およびサーバプログラム
JP2019061574A (ja) * 2017-09-27 2019-04-18 東芝情報システム株式会社 ファイル管理システム及びファイル管理用プログラム
JP2019213004A (ja) * 2018-06-01 2019-12-12 富士ゼロックス株式会社 データ中継装置およびプログラム
JP7102952B2 (ja) 2018-06-01 2022-07-20 富士フイルムビジネスイノベーション株式会社 データ中継装置およびプログラム
WO2019234783A1 (ja) * 2018-06-04 2019-12-12 日本電気株式会社 情報共有装置、情報共有方法および記録媒体
US11395096B2 (en) 2018-06-04 2022-07-19 Nec Corporation Information sharing device, information sharing method, and recording medium
KR102229214B1 (ko) 2019-02-14 2021-03-18 (주)헤르메시스 데이터 공유를 위한 위성 데이터 서비스 시스템
KR20200099268A (ko) * 2019-02-14 2020-08-24 (주)헤르메시스 데이터 공유를 위한 위성 데이터 서비스 시스템
WO2022190681A1 (ja) * 2021-03-09 2022-09-15 富士フイルム株式会社 ストレージシステム、データ処理方法、及びデータ処理プログラム

Similar Documents

Publication Publication Date Title
JP2013257798A (ja) データ収集システムおよびデータ収集方法
US10270726B2 (en) Selective distribution of messages in a scalable, real-time messaging system
US20150215405A1 (en) Methods of managing and storing distributed files based on information-centric network
US10375166B2 (en) Caching device and method thereof for integration with a cloud storage system
JP6236435B2 (ja) 非同期データ・ディクショナリを使用した、マルチテナント共有インフラストラクチャにおけるストリームベースのデータ重複排除
US8732258B2 (en) Method and system for transporting telemetry data across a network
JP6601784B2 (ja) 情報指向ネットワークにおいてコンテキスト認識型コンテンツ要求をサポートするための方法、ネットワークコンポーネント、およびプログラム
US10581804B2 (en) End-to-end caching of secure content via trusted elements
CN102089754B (zh) 广告转发存储和检索网络
JP5847185B2 (ja) コンテンツ中心のネットワーク環境でグループ変更に関する情報を用いるコンテンツ共有方法及び装置
US10447623B2 (en) Data storage systems and methods using a real-time messaging system
JPWO2006123747A1 (ja) 分散型マルチメディアサーバシステムおよびマルチメディア情報配信方法ならびにそのプログラムおよび記録媒体
US20180343217A1 (en) Providing video to subscribers of a messaging system
JP2016525256A (ja) 冗長データアクセスを提供するための方法および装置
KR20170016281A (ko) 콘텐트 중심 네트워크 스택들에서의 상태 전달
CN110798495B (zh) 用于在集群架构模式下端到端的消息推送的方法和服务器
JP2014531072A (ja) 多数のデバイスへのイベントの配信
CN105074688A (zh) 使用对等节点图的基于流的数据去重复
US20160357875A1 (en) Techniques for promoting and viewing social content written by nearby people
US10051071B2 (en) Method and system for collecting historical network information in a content centric network
CN117278628A (zh) 数据传输方法、装置、系统、计算机设备和存储介质
Lee et al. Addressing IoT storage constraints: A hybrid architecture for decentralized data storage and centralized management
WO2012046585A1 (ja) 分散ストレージシステム、その制御方法、およびプログラム
US8370446B2 (en) Advertisement forwarding storage and retrieval network
CN116781764A (zh) 长连接的任务执行方法、装置及相关设备