(57)【要約】【課題】複数の通信機器からデータを収集するシステムにおいて、異なるサービスによって生成されたデータを収集する技術を提供する。【解決手段】サーバは、複数の通信機器から受信する受信データを、予め定められたフォーマットに従いデータベースとして蓄積する。サーバは、各通信機器が利用するサービスを識別するためのサービス特定情報２６２Ａと、各通信機器から受信する受信データをデータベースのフォーマットに従って格納するための格納規則とを対応付けたフォーマットルール情報２６１を記憶する。サーバは、複数の通信機器から受信する受信データに基づき、各通信機器が利用するサービスを識別する情報を取得し、取得した情報に対応付けられたフォーマットルール情報２６１に従って、受信データの各部分をデータベースの各フィールドに格納してデータ格納テーブル２６２を更新する。【選択図】図６
2016212498.tif 000002
【特許請求の範囲】
【請求項１】
複数の通信機器からネットワークを介してデータを収集するサーバ装置であって、
前記複数の通信機器から受信する受信データを、予め定められたフォーマットに従いデータベースとして蓄積するための記憶部と、
前記サーバ装置の動作を制御するための制御部とを備え、
前記記憶部は、前記各通信機器が利用するサービスを識別するためのサービス識別情報と、各前記通信機器から受信する受信データを前記フォーマットに従って前記データベースに格納するための格納規則とを対応付けたフォーマットルール情報を記憶するように構成されており、
前記制御部は、
前記複数の通信機器から受信する受信データに基づき、各前記通信機器が利用するサービスのサービス識別情報を取得し、取得した前記サービス識別情報に対応付けられた前記フォーマットルール情報に従って、各前記通信機器から受信する受信データを前記データベースとして前記記憶部に蓄積させるデータ格納部と、
前記データベースに蓄積されるデータを外部の電子機器へ送信するデータ送信部とを含む、サーバ装置。
【請求項２】
前記サーバ装置は、前記複数の通信機器から、前記サービス識別情報を含む受信データを受信するよう構成されており、
前記制御部の前記データ格納部が前記サービス識別情報を取得することは、各前記通信機器から受信する受信データに含まれる前記サービス識別情報を抽出することを含む、請求項１に記載のサーバ装置。
【請求項３】
前記制御部の前記データ格納部が前記サービス識別情報を取得することは、各前記通信機器から、各前記通信機器のソフトウェアの実行環境を識別する情報を受信して、受信した前記実行環境を識別する情報により前記サービス識別情報を特定することを含む、請求項１に記載のサーバ装置。
【請求項４】
前記サーバ装置は、前記複数の通信機器から、各前記通信機器の位置情報を前記通信部により逐次受信するよう構成されており、
前記制御部の前記データ格納部は、各前記通信機器の位置情報と、時刻情報とを対応付けて、前記フォーマットに従って前記データベースとして前記記憶部に蓄積させるよう構成されており、
前記制御部の前記データ送信部は、任意の前記複数の通信機器の位置情報を前記データベースから読み出して、読み出した各通信機器の前記位置情報と、前記時刻情報とを時系列で対応付けた情報を前記外部の電子機器へ送信するよう構成されている、請求項１に記載のサーバ装置。
【請求項５】
前記複数の通信機器は、イベントに関する情報を、前記ネットワークを介して受信するよう構成されており、
前記サーバ装置の前記記憶部は、前記データベースとして、前記イベントが開催される会場、各前記会場で開催される１以上のイベント、各前記通信機器が参照している前記イベントを示す情報、および、各前記通信機器の位置情報とを対応付けた情報を前記フォーマットに従って記憶するよう構成されており、
前記制御部の前記データ送信部は、前記データベースに蓄積される情報に基づいて、前記通信機器に対し、各会場への移動を促す情報を送信するよう構成されている、請求項１に記載のサーバ装置。
【請求項６】
前記制御部の前記データ送信部が前記通信機器に対し各会場への移動を促す情報を送信することには、前記イベントを参照している前記通信機器の数が閾値を上回る場合に、各会場のうち、当該イベントが開催される会場外に位置する前記通信機器に対し、前記閾値を上回る前記イベントの情報を送信することを含む、請求項５に記載のサーバ装置。
【請求項７】
前記制御部の前記データ送信部は、前記イベントを参照している前記通信機器の数に基づいて、前記イベントが開催される会場への移動経路の混雑状況を推定する情報を前記外部の電子機器へ送信するよう構成されている、請求項５に記載のサーバ装置。
【請求項８】
データを収集するサーバ装置に対してネットワークを介してデータを送信する通信機器であって、
前記サーバ装置へ送信する送信対象のデータを記憶するように構成された記憶部と、
前記通信機器の動作を制御するための制御部とを備え、
前記制御部は、
前記通信機器が利用するサービスのサービス識別情報を前記送信対象のデータに含めて前記サーバ装置に対しデータを送信する送信処理部と、
前記サーバ装置から、前記サーバ装置にデータベースとして蓄積されるデータを受信する受信処理部と、
前記サーバ装置から受信したデータをユーザへ通知する通知制御部とを含む、通信機器。
【請求項９】
複数の通信機器からネットワークを介してデータを収集するシステムであって、
前記システムは、サーバ装置と、前記複数の通信機器とを含み、
前記サーバ装置は、
予め定められたフォーマットに従いデータベースとしてデータを蓄積するための記憶部と、
前記サーバ装置の動作を制御するための制御部とを備え、
前記記憶部は、サービスを識別するためのサービス識別情報と、前記サービスを実行する前記通信機器から受信されるデータを前記フォーマットに従って前記データベースに格納するための前記データの格納規則とを対応付けたフォーマットルール情報を記憶するように構成されており、
前記制御部は、
前記複数の通信機器から受信するデータに基づき、前記複数の通信機器が利用するサービスのサービス識別情報を取得し、取得した前記サービス識別情報に対応付けられた前記フォーマットルール情報に従って、前記複数の通信機器から受信するデータを前記データベースとして前記記憶部に蓄積させるデータ格納部と、
前記データベースに蓄積されるデータを外部の電子機器へ送信するデータ送信部とを含む、システム。
【請求項１０】
複数の通信機器からネットワークを介してデータをサーバ装置へ送信することによりデータを収集する方法であって、
前記サーバ装置は、予め定められたフォーマットに従いデータベースとしてデータを蓄積するための記憶部を含み、
前記記憶部は、サービスを識別するためのサービス識別情報と、前記サービスを実行する前記通信機器から受信されるデータを前記フォーマットに従って前記データベースに格納するための前記データの格納規則とを対応付けたフォーマットルール情報を記憶するように構成されており、
前記方法は、
前記サーバ装置が、前記複数の通信機器から受信するデータに基づき、前記複数の通信機器が利用するサービスのサービス識別情報を取得し、取得した前記サービス識別情報に対応付けられた前記フォーマットルール情報に従って、前記複数の通信機器から受信するデータを前記データベースとして前記記憶部に蓄積させるステップと、
前記サーバ装置が、前記データベースに蓄積されるデータを外部の電子機器へ送信するステップとを含む、方法。
【請求項１１】
複数の通信機器からネットワークを介してデータを収集するサーバ装置の動作を制御するためのプログラムであって、前記サーバ装置は、プロセッサと、前記複数の通信機器から受信する受信データを、予め定められたフォーマットに従いデータベースとして蓄積するためのメモリとを備え、
前記メモリは、前記各通信機器が利用するサービスを識別するためのサービス識別情報と、各前記通信機器から受信する受信データを前記フォーマットに従って前記データベースに格納するための格納規則とを対応付けたフォーマットルール情報を記憶するように構成されており、
前記プログラムは、前記プロセッサに、
前記複数の通信機器から受信する受信データに基づき、各前記通信機器が利用するサービスのサービス識別情報を取得し、取得した前記サービス識別情報に対応付けられた前記フォーマットルール情報に従って、各前記通信機器から受信する受信データを前記データベースとして前記記憶部に蓄積させるステップと、
前記データベースに蓄積されるデータを外部の電子機器へ送信するステップとを実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、様々な通信機器からデータを収集し、収集したデータを出力する技術に関する。
【背景技術】
【０００２】
従来、様々な機器で生成されるデータをサーバにデータベースとして蓄積することで、データの利用を容易にすることが行われている。例えば、各販売拠点の売上データをサーバに蓄積して、売上の傾向を分析する等である。
【０００３】
サーバでデータを管理する場合、各機器から送信されるデータを、一定のフォーマットに従ったテーブルに格納し、データベースとして管理することで、サーバに蓄積されたデータを利用しやすくすることができる。そのため、様々な機器から形式が異なるデータが送信される場合に、これら形式の差異をサーバ側で吸収して、一定のフォーマットに従ってデータベースにデータを蓄積する技術が検討されている。
【０００４】
例えば、特開平７−２１０７３２号公報（特許文献１）は、主局と複数の従局とが伝送ケーブルで接続され、主局が各従局から販売データを収集するシステムを記載している。従局は、自動販売機等の機器であり、各従局のメーカ別に異なる伝送フォーマットの販売データを生成する。特許文献１に記載された技術によると、異なる形式で蓄積された販売データ等のデータを収集するシステムを低コストに構築するために、従局から異なる伝送フォーマットでデータを送信し得る。具体的には、主局は、各従局の機器番号に対応したデータ変換モジュールを記憶している。主局は、各従局から送信されるデータの先頭位置に設けられている機器番号に応じて、各社別のデータ変換モジュールを呼び出すことにより、各従局から送信されるデータを所定のデータフォーマットに変換し、変換後のデータを販売データとして主局のメモリに記憶する。これにより、従局のメーカは、主局に送信すべき処理データを自由な形式で作ることができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平７−２１０７３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１の技術によると、主局と従局とが伝送ケーブルで接続され、主局が各従局を順次指定して販売データの伝送要求を送信する。こうすることで、主局は、当該従局から販売データを収集している。特許文献１の技術によると、主局がデータを収集する従局を管理しており、主局と従局とが同一の通信プロトコルに従って通信する場合には、主局が従局からデータを収集することができる。
【０００７】
しかし、近年、同一の通信プロトコルに従ってデータがサーバ装置に蓄積される場合のみならず、サーバ装置に対し、様々な通信機器からデータが入力され、入力データの形式が非定型的であることが増えてきている。例えば、ＬＴＥ（Long  Term  Evolution）、無線ＬＡＮ（Local  Area  Network）規格などの無線通信規格に対応した通信機器が増え、クラウドコンピューティングが普及するにつれて、大量のデータをクラウド上で管理し、各端末がクラウドサーバに蓄積されたデータを活用する機会も増えてきている。例えば、サーバ装置が、スマートフォンなどの多数の携帯端末からユーザの位置等の情報を収集し、各種センサ機器から、ある地点において人物が流入または流出する数を収集することがある。この場合に、スマートフォンが送信するデータのフォーマットと、センサ機器が送信するデータのフォーマットとが異なることがある。また、サーバ装置にアクセスする通信機器の数が不定であり、予め各通信機器の機器番号に応じてデータ変換モジュールを用意することが現実的に困難であることもある。このように各通信機器でデータを生成するアプリケーション（サービス）が異なり、そのため各通信機器からサーバ装置へ送信されるデータのフォーマットが異なる場合においても、各通信機器が生成する様々なデータを収集して解析可能とする技術が必要とされている。
【０００８】
本開示のある局面における目的は、複数の通信機器からネットワークを介してデータを収集する技術であって、異なるサービスによって生成されたデータを収集することを可能とする技術を提供することである。
【課題を解決するための手段】
【０００９】
一実施形態に従うと、複数の通信機器からネットワークを介してデータを収集するサーバ装置が提供される。サーバ装置は、複数の通信機器から受信する受信データを、予め定められたフォーマットに従いデータベースとして蓄積するための記憶部と、サーバ装置の動作を制御するための制御部とを備える。記憶部は、各通信機器が利用するサービスを識別するためのサービス識別情報と、各通信機器から受信する受信データをフォーマットに従ってデータベースに格納するための格納規則とを対応付けたフォーマットルール情報を記憶するように構成されている。制御部は、複数の通信機器から受信する受信データに基づき、各通信機器が利用するサービスのサービス識別情報を取得し、取得したサービス識別情報に対応付けられたフォーマットルール情報に従って、各通信機器から受信する受信データをデータベースとして記憶部に蓄積させるデータ格納部と、データベースに蓄積されるデータを外部の電子機器へ送信するデータ送信部とを含む。
【００１０】
別の実施形態に従うと、データを収集するサーバ装置に対してネットワークを介してデータを送信する通信機器が提供される。通信機器は、サーバ装置へ送信する送信対象のデータを記憶するように構成された記憶部と、通信機器の動作を制御するための制御部とを備える。制御部は、通信機器が利用するサービスのサービス識別情報を送信対象のデータに含めてサーバ装置に対しデータを送信する送信処理部と、サーバ装置から、サーバ装置にデータベースとして蓄積されるデータを受信する受信処理部と、サーバ装置から受信したデータをユーザへ通知する通知制御部とを含む。
【００１１】
別の実施形態に従うと、複数の通信機器からネットワークを介してデータを収集するシステムが提供される。システムは、サーバ装置と、複数の通信機器とを含む。サーバ装置は、予め定められたフォーマットに従いデータベースとしてデータを蓄積するための記憶部と、サーバ装置の動作を制御するための制御部とを備える。記憶部は、サービスを識別するためのサービス識別情報と、サービスを実行する通信機器から受信されるデータをフォーマットに従ってデータベースに格納するためのデータの格納規則とを対応付けたフォーマットルール情報を記憶するように構成されている。制御部は、複数の通信機器から受信するデータに基づき、複数の通信機器が利用するサービスのサービス識別情報を取得し、取得したサービス識別情報に対応付けられたフォーマットルール情報に従って、複数の通信機器から受信するデータをデータベースとして記憶部に蓄積させるデータ格納部と、データベースに蓄積されるデータを外部の電子機器へ送信するデータ送信部とを含む。
【００１２】
別の実施形態に従うと、複数の通信機器からネットワークを介してデータをサーバ装置へ送信することによりデータを収集する方法が提供される。サーバ装置は、予め定められたフォーマットに従いデータベースとしてデータを蓄積するための記憶部を含む。記憶部は、サービスを識別するためのサービス識別情報と、サービスを実行する通信機器から受信されるデータをフォーマットに従ってデータベースに格納するためのデータの格納規則とを対応付けたフォーマットルール情報を記憶するように構成されている。データを収集する方法は、サーバ装置が、複数の通信機器から受信するデータに基づき、複数の通信機器が利用するサービスのサービス識別情報を取得し、取得したサービス識別情報に対応付けられたフォーマットルール情報に従って、複数の通信機器から受信するデータをデータベースとして記憶部に蓄積させるステップと、サーバ装置が、データベースに蓄積されるデータを外部の電子機器へ送信するステップとを含む。
【００１３】
別の実施形態に従うと、複数の通信機器からネットワークを介してデータを収集するサーバ装置の動作を制御するためのプログラムが提供される。サーバ装置は、プロセッサと、複数の通信機器から受信する受信データを、予め定められたフォーマットに従いデータベースとして蓄積するためのメモリとを備える。メモリは、各通信機器が利用するサービスを識別するためのサービス識別情報と、各通信機器から受信する受信データをフォーマットに従ってデータベースに格納するための格納規則とを対応付けたフォーマットルール情報を記憶するように構成されている。プログラムは、プロセッサに、複数の通信機器から受信する受信データに基づき、各通信機器が利用するサービスのサービス識別情報を取得し、取得したサービス識別情報に対応付けられたフォーマットルール情報に従って、各通信機器から受信する受信データをデータベースとして記憶部に蓄積させるステップと、データベースに蓄積されるデータを外部の電子機器へ送信するステップとを実行させる。
【発明の効果】
【００１４】
一実施形態によると、異なるサービスによって生成されたデータを、各サービスに応じた格納規則に従って共通のフォーマットでデータベースとしてサーバ装置で蓄積するため、サーバ装置は、各通信機器からデータを収集して、収集したデータの解析結果を外部の電子機器へ送信することができる。
【００１５】
この発明の上記および他の目的、特徴、局面および利点は、添付の図面と関連して理解されるこの発明に関する次の詳細な説明から明らかとなるであろう。
【図面の簡単な説明】
【００１６】
【図１】実施の形態１のデータ収集管理システム１の構成を示す図である。
【図２】サーバ２０の構成を示すブロック図である。
【図３】通信機器１０の機能的な構成を示すブロック図である。
【図４】通信機器１０とサーバ２０とが通信することにより、サーバ２０がデータを収集し、収集したデータをサーバ２０から外部の電子機器へ送信する処理を示した図である。
【図５】データ格納用テーブル２６２のデータ構造を示す図である。
【図６】Ｗｅｂサーバへのアクセスログをサーバ２０のデータベースへ格納する際の、サーバ２０によるフォーマットルールの生成およびデータの格納処理を示す図である。
【図７】アプリケーションのログをサーバ２０のデータベースへ格納する際の、サーバ２０によるフォーマットルールの生成およびデータの格納処理を示す図である。
【図８】サーバ２０が通信機器１０から受信したデータを、フォーマットルール情報２６１に基づきデータベースに格納する処理を示すフローチャートである。
【図９】サーバ２０が外部の電子機器から検索要求を受け付けて、データベースの検索結果を外部の電子機器へ応答する処理を示すフローチャートである。
【図１０】実施の形態２のデータ収集管理システムにおいて、サーバ２０へデータを送信する通信機器１０と、サーバ２０にデータベースとして蓄積されるデータを検索した結果を通信機器１０がユーザに通知する場面とを示す図である。
【図１１】サーバ２０が通信機器１０から各ユーザの位置情報を逐次受信してデータベースに蓄積する処理を示すフローチャートである。
【図１２】実施の形態２において、サーバ２０が外部の電子機器から検索要求を受け付けて、データベースの検索結果を外部の電子機器へ応答する処理を示す。
【図１３】実施の形態３のデータ収集管理システムにおいて、サーバ２０へデータを送信する通信機器１０を保持するユーザと、サーバ２０に蓄積されるデータをもとにサーバ２０から各ユーザの通信機器１０へ情報を通知する場面とを示す図である。
【図１４】実施の形態３のデータ収集管理システムで使用するデータのデータ構造を示す図である。
【図１５】実施の形態３のデータ収集管理システムのサーバ２０が、データベースに蓄積されたデータに基づき、注目されているイベント情報その他の情報を通信機器１０へ通知する処理を示すフローチャートである。
【図１６】実施の形態４のデータ収集管理システムの構成を示す図である。
【発明を実施するための形態】
【００１７】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【００１８】
＜実施の形態１＞
図１は、実施の形態１のデータ収集管理システム１の構成を示す図である。図１に示すように、データ収集管理システム１は、複数の通信機器と、サーバ２０とを含む。
【００１９】
複数の通信機器は、例えば、通信機器１０Ａ（スマートフォン）と、通信機器１０Ｂ（タブレット）と、通信機器１０Ｃ（腕時計型ウェアラブルデバイス）と、通信機器１０Ｄ（センサ装置）と、通信機器１０Ｅ（モニタリング装置）等の各種の機器を含む。ネットワーク９０に、ブロードバンドルータ９１、無線基地局９２、サーバ２０等の各装置が接続されている。以下、通信機器１０Ａ、通信機器１０Ｂ、通信機器１０Ｃ、通信機器１０Ｄ、通信機器１０Ｅ等の装置を総称して「通信機器１０」ということもある。
【００２０】
通信機器１０は、ＬＴＥ（Long  Term  Evolution）、ＣＤＭＡ（Code  Division  Multiple  Access）、およびＷｉＭＡＸ（Worldwide  Interoperability  for  Microwave  Access）などの規格に従って、無線基地局９２と無線通信する。通信機器１０は、ＩＥＥＥ（Institute  of  Electrical  and  Electronic  Engineers）８０２．１１などの無線ＬＡＮ（Local  Area  Network）規格にも対応し、ブロードバンドルータ９１と無線通信する。これにより、通信機器１０は、ネットワーク９０を介してサーバ２０と通信することができる。
【００２１】
腕時計型のウェアラブルデバイスとして示す通信機器１０Ｃは、人間などの生物、または、人が使用する用具などに装着されて使用される電子機器である。図１では、腕時計型の通信機器１０Ｃを示しているが、これに限られず、人が装着するデバイスとして、例えば眼鏡型のデバイスや首輪型のデバイスであってもよいし、人が使用する器具や用具に装着されるデバイスとして、例えば人が装着するウェアにセンサを取り付けたデバイスであってもよいし、人が装着する靴にセンサを取り付けたデバイスであってもよい。通信機器１０Ｃは、通信機器１０Ａと、Ｂｌｕｅｔｏｏｔｈ（登録商標）、無線ＬＡＮ規格等の近距離無線通信の規格に従って接続され、通信機器１０Ａとの間でデータを送受信する。通信機器１０Ｃは、通信機器１０Ａを経由してデータをサーバ２０へ送信するが、これに限らず、ウェアラブルデバイスである通信機器１０Ｃが無線基地局９２と通信可能としてもよい。
【００２２】
サーバ２０は、通信機器１０と通信することにより、通信機器１０から送信されるデータをデータベースとして保持する。
【００２３】
センサ装置として示す通信機器１０Ｄは、例えば熱、光、加速度、位置などを検出するセンサを備え、センサの出力値をサーバ２０へ送信する。モニタリング装置として示す通信機器１０Ｅは、各地点をモニタリングして、モニタリングの結果を示すログデータをサーバ２０へ送信する。例えば、モニタリング装置である通信機器１０Ｅは、建物の入り口付近に設置されるカメラの撮影画像を取得して、画像処理により人の流入数および流出数をカウントする、特定の人物を検出する等の様々な処理を行い、その処理結果をログデータとしてサーバ２０へ送信する。
【００２４】
＜サーバ２０の構成＞
図２は、サーバ２０の構成を示すブロック図である。図２を参照して、サーバ２０は、通信部２０２と、記憶部２０６と、制御部２０７とを含む。
【００２５】
記憶部２０６は、フラッシュメモリ、ＨＤＤ（Hard  Disk  Drive）、ＲＡＭ（Random  Access  Memory）等により構成され、サーバ２０が使用するプログラムを記憶し、サーバ２０が使用する各種のデータを蓄積する。ある局面において、記憶部２０６は、フォーマットルール情報２６１と、データ格納用テーブル２６２とを記憶する。データ格納用テーブル２６２は、通信機器１０から受信する受信データを、予め定められたフォーマットに従ってデータベースとして蓄積するためのテーブルである。フォーマットルール情報２６１は、通信機器１０が利用するサービスを識別するための識別情報（サービス特定情報）と、通信機器１０から受信する受信データをフォーマットに従ってサーバ２０のデータベースに格納するための格納規則とを対応付けた情報である。テーブルのレコードは、複数のフィールドによって構成されている。フォーマットルール情報２６１は、サービス特定情報と対応付けて、通信機器１０から受信する受信データのどの部分をどのフィールドに格納するかを示す格納規則を含む。
【００２６】
サーバ２０は、ネットワーク９０を介して複数の通信機器１０と通信接続しており、通信機器１０から受信した受信データを、サービス特定情報と対応付けてフォーマットルール情報２６１によって示される格納規則に従ってデータベースとして蓄積する。
【００２７】
通信部２０２は、サーバ２０が他の通信機器と通信するための変復調処理などを行う通信インタフェースである。
【００２８】
制御部２０７は、記憶部２０６に記憶されるプログラムを読み込んで実行することにより、サーバ２０の動作を制御する。制御部２０７は、例えば複数のプロセッサによって実現される。制御部２０７は、プログラムに従って動作することにより、データ受信部２７０と、データ格納部２７１と、データ送信部２７２として機能する。
【００２９】
データ受信部２７０は、外部の装置からネットワーク９０を介してデータを受信する。データ格納部２７１は、複数の通信機器１０から受信する受信データに基づき、通信機器１０が利用するサービスを識別する情報を取得し、取得した情報（サービス特定情報）に対応付けられたフォーマットルール情報２６１に従って、通信機器１０から受信する受信データをデータベースとして蓄積させる。例えば、サーバ２０は、通信機器１０から、サービスを識別する情報を含む受信データを受信する。この場合、データ格納部２７１は、通信機器１０から受信する受信データに含まれる、サービスを識別する情報を抽出する。こうすることで、データ格納部２７１は、サービスを識別する情報に対応付けられたフォーマットルール情報２６１を記憶部２０６から読み出す。また、例えば、データ格納部２７１は、通信機器１０から、通信機器１０のソフトウェアの実行環境を識別する情報を受信する。例えば、サーバ２０は、通信機器１０が実行しているＯＳ（Operating  System）、通信機器１０のＯＳ上で動作してサーバ２０へデータを送信するためのアプリケーションの情報、そのアプリケーションのバージョンの情報などを、通信機器１０のソフトウェアの実行環境を識別する情報として受信する。データ格納部２７１は、受信した情報により、通信機器１０が利用するサービスを識別する情報を特定する。
【００３０】
データ送信部２７２は、データベースに蓄積されるデータを、外部の電子機器からの検索要求に応じて外部の電子機器へ送信する。
【００３１】
＜通信機器１０の構成＞
次に、図３を参照して、通信機器１０の構成を説明する。
【００３２】
図３は、通信機器１０の機能的な構成を示すブロック図である。図３に示すように、通信機器１０は、アンテナ１０１と、無線通信部１１１と、物理操作キー１３１と、センサ部１３０（加速度センサ１３２、角速度センサ１３３、ＧＰＳ（Global  Positioning  System）モジュール１３４等の各種センサを含む）と、操作受付部（タッチパネル）１４１と、ディスプレイ１４２と、カメラ１４４と、音声処理部１４６と、マイク１４７と、スピーカ１４８と、記憶部１５０と、制御部１６０とを含む。
【００３３】
アンテナ１０１は、通信機器１０が発する信号を電波として放射する。また、アンテナ１０１は、空間から電波を受信して受信信号を無線通信部１１１へ与える。本実施形態では、通信機器１０は、複数の無線通信規格に対応している。
【００３４】
無線通信部１１１は、通信機器１０が他の無線機器と通信するため、アンテナ１０１等を介して信号を送受信するための変復調処理などを行う。無線通信部１１１は、チューナー、ＲＳＳＩ（Received  Signal  Strength  Indicator）算出回路、ＣＲＣ（Cyclic  Redundancy  Check）算出回路、高周波回路などを含む通信モジュールである。無線通信部１１１は、通信機器１０が送受信する無線信号の変復調や周波数変換を行い、受信信号を制御部１６０へ与える。
【００３５】
物理操作キー１３１は、物理的な入力装置であり、ユーザによる押下操作を受け付ける。物理操作キー１３１は、ユーザの押下操作に応じて、操作内容を示す信号を制御部１６０へ出力する。
【００３６】
加速度センサ１３２は、通信機器１０の動きを、加速度として検出するためのセンサである。通信機器１０の重力方向の加速度から通信機器１０の傾き（角度）も取得される。加速度センサ１３２は、例えば３軸加速度センサである。加速度センサ１３２は、検出した３軸の加速度を制御部１６０へ出力する。
【００３７】
角速度センサ１３３は、角速度を検出するためのセンサであり、通信機器１０の回転を検出する。角速度センサ１３３は、例えば３軸角速度センサである。
【００３８】
ＧＰＳモジュール１３４は、衛星測位システムで用いられる受信装置である。衛星測位システムでは、少なくとも３個または４個の衛星からの信号を受信し、受信した信号に基づいて、ＧＰＳモジュール１３４が搭載される通信機器１０の現在位置を検出する。
【００３９】
操作受付部１４１は、ユーザの入力操作を受け付ける。操作受付部１４１は、例えば静電容量方式のタッチパネルを用いることによって、ユーザの接触位置を検出する。操作受付部１４１は、検出したユーザの接触位置を示す信号を入力操作として制御部１６０へ出力する。
【００４０】
ディスプレイ１４２は、制御部１６０の制御に応じて、画像、動画、テキストなどのデータを表示する。ディスプレイ１４２は、例えばＬＣＤ（Liquid  Crystal  Display）、有機ＥＬ（Electro-Luminescence）ディスプレイ等の表示装置によって実現される。
【００４１】
音声処理部１４６は、音声信号の変復調を行う。音声処理部１４６は、マイク１４７から与えられる信号を変調して、変調後の信号を制御部１６０へ与える。また、音声処理部１４６は、音声信号をスピーカ１４８へ与える。音声処理部１４６は、例えば音声処理用のプロセッサによって実現される。
【００４２】
マイク１４７は、音声入力を受け付けて、当該音声入力に対応する音声信号を音声処理部１４６へ与える。スピーカ１４８は、音声処理部１４６から与えられる音声信号を音声に変換して当該音声を通信機器１０の外部へ出力する。
【００４３】
記憶部１５０は、例えばフラッシュメモリ等により構成され、通信機器１０が使用するデータおよびプログラムを記憶する。ある局面において、記憶部１５０は、通信機器１０が取得する各種のデータをサーバ２０へ送信するための処理を行うアプリケーション１５９を記憶する。アプリケーション１５９は、プログラムと、プログラムにより参照されるデータとを含む。アプリケーション１５９は、データとして、サービス識別情報１５１と、ユーザ識別情報１５２と、ログデータ１５３とを含む。サービス識別情報１５１は、通信機器１０が利用しているサービスを識別する情報である。アプリケーション１５９は、サーバ２０と通信する際、サービス識別情報１５１を送信データに含めてサーバ２０へデータを送信する。ユーザ識別情報１５２は、ユーザを特定するための情報である。ユーザを特定する情報は、例えば、サーバ２０に予め登録される。ログデータ１５３は、アプリケーション１５９の処理に応じて、例えばセンサ部１３０の各種センサの出力値を記録したデータであり、サーバ２０へ送信される対象のデータである。受信データ１５４は、例えば、通信機器１０がサーバ２０から受信したデータである。例えば、通信機器１０がサーバ２０に対してデータの検索を要求した場合に、通信機器１０は、サーバ２０から、その検索の要求に対する応答を受信し、受信データ１５４として記憶部１５０に記憶する。
【００４４】
制御部１６０は、記憶部１５０に記憶されるプログラムを読み込んで、プログラムに含まれる命令を実行することにより、通信機器１０の動作を制御する。制御部１６０は、例えばアプリケーションプロセッサである。制御部１６０は、アプリケーション１５９に従って動作することにより、送信処理部１６１と、受信処理部１６２と、通知制御部１６３としての機能を発揮する。
【００４５】
送信処理部１６１は、通信機器１０が利用するサービスを識別する情報（サービス特定情報）を、送信対象のデータに含めてサーバ２０に対しデータを送信する。例えば、送信処理部１６１は、通信機器１０が利用するサービスを識別する情報として、サービス識別情報１５１を、送信対象のデータに含める。送信処理部１６１は、ログデータ１５３を、送信対象のデータとしてサーバ２０へ送信する。
【００４６】
受信処理部１６２は、例えばサーバ２０のデータベースを検索する処理を行うことにより、サーバ２０から、サーバ２０にデータベースとして蓄積されるデータを受信する。受信処理部１６２は、サーバ２０から受信したデータを、受信データ１５４として記憶部１５０に記憶させる。
【００４７】
通知制御部１６３は、サーバ２０から受信したデータをユーザに通知する処理を行う。通知制御部１６３は、サーバ２０から受信したデータを、例えばディスプレイ１４２に表示する、スピーカ１４８により音声出力するその他の処理を行うことにより、ユーザに通知する。
【００４８】
図４は、通信機器１０とサーバ２０とが通信することにより、サーバ２０がデータを収集し、収集したデータをサーバ２０から外部の電子機器へ送信する処理を示した図である。
【００４９】
まず、サーバ２０が通信機器１０からデータを収集する処理を説明する。図４に示すように、サーバ２０は、データベースに蓄積するためのデータの登録を通信機器１０から受け付ける画面であるデータ登録ＩＦ画面２８１を提供している。また、サーバ２０は、通信機器１０がサーバ２０のデータベースにデータを登録するためのＡＰＩ（Application  Programming  Interface）群であるデータ格納ＡＰＩ２８２を提供している。通信機器１０は、例えば、Ｗｅｂサーバにアクセスするサービスであるサービス１０Ｐを実行し、ＷｅｂサーバへのアクセスログであるＷｅｂサーバアクセスログ１９１を、例えばデータ格納ＡＰＩ２８２を呼び出すことによりサーバ２０に登録する。また、通信機器１０は、例えば、サーバ２０にデータを送信するサービスであるサービス１０Ｑを実行し、アプリケーションログ１９２を、例えばデータ登録ＩＦ画面２８１を介してサーバ２０に登録する。また、通信機器１０は、例えば、各種センサ装置の出力値をサーバ２０へ登録するためのサービスであるセンシングサービス１０Ｒを実行して、センサーデータ１９３をサーバ２０へ登録する。また、通信機器１０は、例えば、センサの出力値に基づき、人の流出入数を測定するサービスである人流サービス１０Ｓを実行し、人流データ１９４をサーバ２０へ登録する。
【００５０】
サーバ２０は、データ登録ＩＦ画面２８１またはデータ格納ＡＰＩ２８２によって、通信機器１０からデータを受け付ける。データ収集部２８３は、通信機器１０から受け付けたデータをサーバ２０に登録する。データ収集部２８３は、フォーマットルール取得部２８４と、フォーマットルール生成部２８５と、格納データ生成部２８６と、データ格納部２８７とを含む。
【００５１】
フォーマットルール取得部２８４は、サーバ２０が通信機器１０から受け付けた受信データに基づいて、通信機器１０が利用するサービスを識別する情報を取得し、取得した情報（サービス特定情報）に対応付けられたフォーマットルール情報２６１を記憶部２０６から読み出す。
【００５２】
フォーマットルール生成部２８５は、フォーマットルール取得部２８４で読み出したフォーマットルール情報２６１に基づき、通信機器１０から受信した受信データのどの部分をデータ格納用テーブル２６２の各フィールドに格納する処理を行うためのプログラムを生成する。
【００５３】
格納データ生成部２８６は、通信機器１０から受信したデータの一部分をフォーマットルール情報２６１に従って抽出することにより、データベースに蓄積するための格納データを生成する。
【００５４】
データ格納部２８７は、格納データ生成部２８６によって生成された格納データを、フォーマットルール情報２６１に従って、データ格納用テーブル２６２に示されるデータベースの各フィールドに格納する。
【００５５】
次に、サーバ２０が、データベースに蓄積されたデータを外部の電子機器へ送信する処理を説明する。図４に示すように、サーバ２０は、データベースに蓄積されたデータを検索するためのＡＰＩ群であるデータ検索ＡＰＩ２９１を提供している。サーバ２０は、外部の電子機器から、Ｗｅｂサーバのアクセス時間を検索する検索要求、Ｗｅｂサーバがアクセスされた数を示すアクセス数を検索する検索要求、人が流出入した数を示す人流の総数を検索する検索要求、人流の流れ（人の流入の大小）を検索する検索要求その他の検索要求を、データ検索ＡＰＩ２９１を介して受け付ける。
【００５６】
データ集計部２９３は、外部の電子機器からの検索要求を受け付けて、データベースからデータを検索し、検索結果を外部の電子機器へ応答する。データ集計部２９３は、取得ルール確認部２９４と、データキャッシュ確認部２９５と、クエリ生成部２９６と、データ取得部２９７とを含む。
【００５７】
取得ルール確認部２９４は、データ検索ＡＰＩ２９１を介したデータベースの検索要求に基づいて、データベースを検索する対象となるフィールド、外部の電子機器へ応答するためのデータの形式、データベースを検索するキーその他のデータを取得するための手順を判別する。
【００５８】
データキャッシュ確認部２９５は、外部の電子機器から検索要求を受け付けたデータを、キャッシュに保持しているか否かを判定する。検索要求を受け付けたデータがキャッシュに保持されている場合、サーバ２０は、キャッシュのデータを外部の電子機器へ応答する。
【００５９】
クエリ生成部２９６は、検索要求に応じて、データベースを検索するためのクエリを生成する。
【００６０】
データ取得部２９７は、クエリ生成部２９６で生成されたクエリに基づきデータベースを検索し、データベースからの応答を受け付ける。データ取得部２９７は、検索要求をサーバ２０へ送信した外部の電子機器に対し、クエリに基づくデータベースからの応答を送信する。
【００６１】
＜データ構造＞
図５を参照して、データ収集管理システム１で使用するデータのデータ構造について説明する。
【００６２】
図５は、データ格納用テーブル２６２のデータ構造を示す図である。図５に示すように、データ格納用テーブル２６２は、サーバ２０のデータベースを管理するためのテーブルである。データ格納用テーブル２６２の各レコードは、複数のフィールドを含む。実施の形態１では、データ格納用テーブル２６２の各レコードは、サービス特定情報２６２Ａと、クライアント特定情報２６２Ｂと、利用機能特定情報２６２Ｃと、利用元特定情報２６２Ｄと、利用開始時刻２６２Ｅと、処理に要した時間２６２Ｆと、処理結果２６２Ｇとを含む。なお、データベースの各フィールドは、図５に示す例に限られない。
【００６３】
サービス特定情報２６２Ａは、通信機器１０が利用するサービスを識別するための情報を示す。
【００６４】
クライアント特定情報２６２Ｂは、サービスを利用する利用者（ユーザ）を特定するための情報を示す。
【００６５】
利用機能特定情報２６２Ｃは、ユーザが利用した機能を特定する情報を示す。例えば、サービスがＷｅｂサーバへのアクセスの場合、利用機能特定情報２６２Ｃは、通信機器１０がアクセスしたＷｅｂページのアドレスのログを示す。
【００６６】
利用元特定情報２６２Ｄは、ユーザの通信機器１０が前回サービスを利用した際の情報を示す。例えば、サービスがＷｅｂサーバへのアクセスの場合、利用元特定情報２６２Ｄは、リファラ（例えば、参照元のＷｅｂサイトのアドレス）を示す。
【００６７】
利用開始時刻２６２Ｅは、ユーザの通信機器１０がサービスの利用を開始した時刻を示す。
【００６８】
処理に要した時間２６２Ｆは、サービスの利用により経過した時間を示す。
処理結果２６２Ｇは、処理の結果を示し、例えば、「成功」を示す値、または、「失敗」を示す値を格納する。例えば、サービスがＷｅｂサーバへのアクセスの場合、処理結果２６２Ｇは、サーバから応答されたステータスコード（ステータスコード「２００」は、「成功」を示す）を示す。
【００６９】
＜フォーマットルールおよびデータベースへのデータ格納処理＞
図６と図７とを参照して、フォーマットルール情報２６１の例と、通信機器１０から送信されるデータをサーバ２０のデータベースへ格納する処理とについて説明する。フォーマットルールは、主に、通信機器１０から受信する受信データを何行まで同一データとして取得するか、（ｂ）文字列の処理方法（所定の文字数の抽出、正規表現によるデータ列のマッチングなど）、（ｃ）データを格納するフィールドの指定（データベースのどのフィールドに、受信データのどの部分のデータをどのように格納するか）を含む。以下、具体的に説明する。
【００７０】
図６は、Ｗｅｂサーバへのアクセスログをサーバ２０のデータベースへ格納する際の、サーバ２０によるフォーマットルールの生成およびデータの格納処理を示す図である。
【００７１】
通信機器１０は、Ｗｅｂサーバアクセスログ１９１を、データベースへ格納するためのデータとしてサーバ２０へ送信する。Ｗｅｂサーバアクセスログ１９１は、複数のデータ列（データ列１９１Ａ、データ列１９１Ｂ、データ列１９１Ｃ、データ列１９１Ｄおよびデータ列１９１Ｅ）を含み、これらデータ列が、データ格納用テーブル２６２の各フィールドに格納される。フォーマットルール情報２６１は、これらデータ列をデータ格納用テーブル２６２の各フィールドに格納するための格納規則を示す。図６の例では、フォーマットルール情報２６１には、（ａ）Ｗｅｂサーバアクセスログ１９１に示されるＷｅｂサーバへのアクセスログを、１行ずつ取得すること、文字列の処理として、（ｂ−１）取得したアクセスログについて、２文字目から２７文字目まで（データ列１９１Ａ）を利用開始時刻２６２Ｅに格納すること、（ｂ−２）３０文字目以降の文字から、文字「”」の直前までの文字列（データ列１９１Ｂ）を利用機能特定情報２６２Ｃに格納すること、図示していないが（ｂ−３）データ列１９１Ｃに示されるデータ列を処理結果２６２Ｇに格納すること、（ｂ−４）データ列１９１Ｄに示されるデータ列をクライアント特定情報２６２Ｂに格納すること、（ｂ−５）データ列１９１Ｅに示されるデータ列を処理に要した時間２６２Ｆに格納することが規定されている。
【００７２】
図７は、アプリケーションのログをサーバ２０のデータベースへ格納する際の、サーバ２０によるフォーマットルールの生成およびデータの格納処理を示す図である。
【００７３】
通信機器１０は、アプリケーションログ１９２を、データベースへ格納するためのデータとしてサーバ２０へ送信する。アプリケーションログ１９２は、ログとして、入力（ＩＮ）時のデータ列（データ列１９２Ａおよびデータ列１９２Ｂ）と、出力（ＯＵＴ）時のデータ列（データ列１９２Ｃおよびデータ列１９２Ｄ）とを含む。図７の例では、フォーマットルール情報２６１には、（ａ）アプリケーションログ１９２を、入力時のデータ列および出力時のデータ列の２行ずつ取得すること、文字列の処理として、（ｂ−１）１行目（入力時のデータ列）の１文字目〜１４文字目まで（データ列１９２Ａ）を利用開始時刻２６２Ｅに格納すること、（ｂ−２）２行目（出力時のデータ列）の１文字目〜１４文字目までと、１行目（入力時のデータ列）の１文字目〜１４文字目までとの差分値を、処理に要した時間２６２Ｆに格納すること、（ｂ−３）１行目（入力時のデータ列）の１５文字目〜１８文字目まで（データ列１９２Ｂ）をクライアント特定情報２６２Ｂへ格納することが規定されている。
【００７４】
＜動作＞
図８と図９とを参照して、実施の形態１のデータ収集管理システム１の動作について説明する。
【００７５】
図８は、サーバ２０が通信機器１０から受信したデータを、フォーマットルール情報２６１に基づきデータベースに格納する処理を示すフローチャートである。
【００７６】
ステップＳ２０１において、サーバ２０の制御部２０７は、通信機器１０からデータを受信する。
【００７７】
ステップＳ２０３において、制御部２０７は、通信機器１０から受信した受信データに基づいて、通信機器１０が利用しているサービスを識別する情報を取得し、取得したサービス識別情報（サービス特定情報）に対応するフォーマットルールをフォーマットルール情報２６１に基づき読み出す。
【００７８】
ステップＳ２０５において、制御部２０７は、ステップＳ２０３で読み出したフォーマットルールに従って、通信機器１０から受信した受信データから、サーバ２０のデータベースの各フィールドに格納するデータを抽出し、データベースのフォーマットに従って、格納データを生成する。
【００７９】
ステップＳ２０７において、制御部２０７は、ステップＳ２０５で生成した格納データをデータベースに蓄積してデータ格納用テーブル２６２を更新する。
【００８０】
図９は、サーバ２０が外部の電子機器から検索要求を受け付けて、データベースの検索結果を外部の電子機器へ応答する処理を示すフローチャートである。
【００８１】
ステップＳ２２１において、サーバ２０の制御部２０７は、外部の電子機器から、データベースを検索するための検索要求を、入力として受け付ける。
【００８２】
ステップＳ２２３において、制御部２０７は、入力を受け付けた検索要求に応答するデータのキャッシュの有無を確認し、キャッシュがある場合は、キャッシュデータで応答し、キャッシュがない場合は、データベースを検索するためのクエリを生成する。例えば、外部の電子機器に対し、前回の検索要求時と同一のレスポンスを返却することが確定している場合、サーバ２０は、前回の処理結果を利用してレスポンスを生成する。例えば、キャッシュデータを利用する条件としては、外部の電子機器が、同一のリクエストでサーバ２０のデータベースを検索する場合、データベースの更新処理がない場合その他の処理の場合などがある。
【００８３】
ステップＳ２２５において、制御部２０７は、ステップＳ２２３で生成したクエリに基づきデータベースからデータを取得し、取得したデータを、検索要求を送信した外部の電子機器に対し応答する。なお、制御部２０７は、キャッシュデータをもとに、データベースの更新処理があった差分のみをデータベースから検索することでレスポンスを生成してもよい。これにより処理を高速化できる。
【００８４】
＜実施の形態１のまとめ＞
以上のように、実施の形態１のデータ収集管理システム１について説明した。実施の形態１のデータ収集管理システム１は、サーバ２０において、（Ａ）異なるサービスの入力データを、同一のテーブルに格納するための入力処理を行う。（Ｂ）サーバ２０は、これら入力データを、同一のフォーマットのテーブルに格納するため、サービスごとにフォーマットルールを規定している。（Ｃ）サーバ２０は、サービスを識別する情報に基づいて、入力データ毎にフォーマットルールを適用することでデータを収集する。（Ｄ）フォーマットルールには、テーブル上の各フィールドに対し、入力データのどの部分を格納するかが指定されている。これらの構成を備えることにより、実施の形態１のデータ収集管理システム１は、サーバ２０の単一のテーブルに複数のサービスのデータを格納することができる。そのため、入力データを集計する際に、単一のテーブルへの操作を前提として、データベースを検索するロジックを組めばよく、データを集計する際のロジックの構築（検索者による検索式の生成）が容易となる。
【００８５】
＜実施の形態２＞
次に、図１０から図１２を参照して、実施の形態２のデータ収集管理システムについて説明する。
【００８６】
図１０は、実施の形態２のデータ収集管理システムにおいて、サーバ２０へデータを送信する通信機器１０と、サーバ２０にデータベースとして蓄積されるデータを検索した結果を通信機器１０がユーザに通知する場面とを示す図である。図１０は、例えば、予め定められたコースを各ユーザが周回して順位を競うレースにおいて、各ユーザが自身の位置を互いに知らせること、または、各ユーザの位置を第三者が知ることができるように、各ユーザの位置情報を通信機器１０によってサーバ２０へ送信している。
【００８７】
各ユーザ（第１のユーザ８１Ａ、第２のユーザ８１Ｂ、第３のユーザ８１Ｃおよび第４のユーザ８１Ｄ）は、それぞれ通信機器１０を保持しており、予め定められた経路８０を周回しているとする。各ユーザが保持する通信機器１０は、ＧＰＳ衛星８２と通信することで位置情報を逐次取得し、取得した位置情報をサーバ２０へ送信する。サーバ２０は、各ユーザが保持する通信機器１０から各ユーザの位置を示す位置情報を受信してデータベースに蓄積する。各ユーザが保持する通信機器１０は、それぞれ異なるＯＳおよび異なるアプリケーションが動作し得る。サーバ２０は、ＯＳの種類、ＯＳのバージョン、アプリケーションのバージョンなどに応じてサービス特定情報を発行する。例えば、第１のユーザ８１Ａが保有する通信機器１０に対して、サーバ２０は、サービス特定情報「１」を発行し、第２のユーザ８１Ｂおよび第４のユーザ８１Ｄが保有する通信機器１０に対してサービス特定情報「２」を発行し、第３のユーザ８１Ｃが保有する通信機器１０に対してサービス特定情報「３」を発行している。サーバ２０は、各ユーザの通信機器１０から位置情報を逐次受信するため、各ユーザの位置を時系列に沿ってデータベースに蓄積する。サーバ２０は、任意の通信機器１０の位置情報をデータベースから読み出して、読み出した通信機器１０の位置情報の時系列のデータ（位置情報と時刻情報とが時系列で対応付けられたデータ）を、通信機器１０など外部の電子機器へ送信する。
【００８８】
通信機器１０は、サーバ２０から各ユーザの位置情報を時系列で受信する。図１０に示すように、通信機器１０は、ディスプレイ１４２に、レースが開始してからの経過時間を表示し、各ユーザの位置をユーザマップ８６に表示する。通信機器１０は、ユーザマップ８６に、各ユーザに対応したアイコン（ユーザアイコン８５Ａ、ユーザアイコン８５Ｂ、ユーザアイコン８５Ｃおよびユーザアイコン８５Ｄ）を表示している。また、通信機器１０は、軌跡表示ボタン８７に対する入力操作を操作受付部１４１によって受け付けることにより、ユーザを指定して、指定したユーザの移動の軌跡を表示する。すなわち、通信機器１０は、各ユーザの位置情報を時系列で受信しているため、経過時間とともに各ユーザの位置情報が変化していく様子をディスプレイ１４２に表示する。こうすることで、各ユーザは、互いに他のユーザの位置を知ることができる。また、レースを観戦する第三者にとっても、各ユーザの位置関係を容易に知ることができる。
【００８９】
＜実施の形態２の動作＞
図１１と図１２とを参照して、実施の形態２のサーバ２０の動作を説明する。
【００９０】
図１１は、サーバ２０が通信機器１０から各ユーザの位置情報を逐次受信してデータベースに蓄積する処理を示すフローチャートである。
【００９１】
ステップＳ２０１Ａにおいて、サーバ２０の制御部２０７は、通信機器１０のそれぞれから、位置情報と、通信機器１０のユーザを識別する情報とを受信する。
【００９２】
ステップＳ２０３Ａにおいて、制御部２０７は、通信機器１０から受信した受信データに基づき、通信機器１０が利用するサービスを識別する情報を取得し、取得した情報（サービス特定情報）に対応するフォーマットルール情報２６１を読み出す。
【００９３】
ステップＳ２０５Ａにおいて、制御部２０７は、読み出したフォーマットルール情報２６１に従って、通信機器１０から受信した受信データから、位置情報、ユーザを識別する情報その他の情報を抽出する。制御部２０７は、サーバ２０のデータベースのフォーマットに従って、抽出したこれら情報をデータベースの各フィールドに格納するための格納データを生成する。
【００９４】
ステップＳ２０７Ａにおいて、制御部２０７は、ステップＳ２０５Ａで生成した格納データをデータベースに蓄積してデータ格納用テーブル２６２を更新する。
【００９５】
図１２は、実施の形態２において、サーバ２０が外部の電子機器から検索要求を受け付けて、データベースの検索結果を外部の電子機器へ応答する処理を示す。
【００９６】
ステップＳ２２１Ａにおいて、サーバ２０の制御部２０７は、例えば位置情報をサーバ２０へ送信する通信機器１０（スマートフォン）その他の電子機器から、サーバ２０にデータベースとして蓄積される各ユーザの位置情報を時系列で検索するための入力を受け付ける。
【００９７】
ステップＳ２２３Ａにおいて、制御部２０７は、位置情報のキャッシュの有無を確認し、キャッシュがある場合はキャッシュデータで応答し、キャッシュがない場合はデータベースを検索するためのクエリを生成する。なお、制御部２０７は、データベースの更新処理がなされた差分を対象にデータベースを検索するクエリを生成してもよい。
【００９８】
ステップＳ２２５Ａにおいて、制御部２０７は、ステップＳ２２３Ａで生成したクエリに基づきデータベースから各ユーザの位置情報を時系列で取得し、取得した各ユーザの位置情報の時系列データ（位置情報と時刻情報とを時間軸に沿って対応付けたデータ）を外部の電子機器へ応答する。
【００９９】
＜実施の形態２のまとめ＞
実施の形態２のデータ収集管理システムによると、サーバ２０に対し、複数の通信機器１０が位置情報を送信する場合に、各通信機器１０が、それぞれ異なるＯＳ、異なるアプリケーションによって位置情報を取得してサーバ２０へ送信する場合においても、サーバ２０でサービスそれぞれについてフォーマットルール情報２６１を記憶することにより、アプリケーション側では特にサーバ２０のデータベースのフォーマットを意識せずに位置情報をサーバ２０へ送信することができる。
【０１００】
＜実施の形態３＞
次に、図１３から図１５を参照して、実施の形態３のデータ収集管理システムについて説明する。
【０１０１】
図１３は、実施の形態３のデータ収集管理システムにおいて、サーバ２０へデータを送信する通信機器１０を保持するユーザと、サーバ２０に蓄積されるデータをもとにサーバ２０から各ユーザの通信機器１０へ情報を通知する場面とを示す図である。
【０１０２】
実施の形態３において、通信機器１０は、イベントに関する情報を、ネットワーク９０を介してサーバ２０から受信する。サーバ２０は、データベースとして、イベントが開催される会場、各会場で開催される１以上のイベント、各通信機器１０が参照しているイベントを示す情報、および、各通信機器１０の位置情報とを対応付けた情報をフォーマットに従って記憶する。サーバ２０は、データベースに蓄積される情報に基づいて、通信機器１０に対し、各会場への移動を促す情報を送信する。また、制御部２０７のデータ送信部２７２は、イベントを参照している通信機器１０の数が閾値を上回る場合に、各会場のうち、イベントが開催される会場外に位置する通信機器１０に対し、イベントを参照している通信機器１０の数が閾値を上回るイベントの情報を送信する。制御部２０７のデータ送信部２７２は、イベントを参照している通信機器１０の数に基づいて、イベントが開催される会場への移動経路の混雑状況を推定する情報を、通信機器１０等の外部の電子機器へ送信する。
【０１０３】
例えばオリンピックなどの大規模な競技大会において、各会場にて競技イベントが開催されている。各ユーザは、保持する通信機器１０を介してイベントについての情報をＷｅｂサーバから取得する。図１３の例では、通信機器１０は、ディスプレイ１４２に、イベント情報を表示するためＷｅｂサーバへアクセスする操作を受け付けるためのイベント情報表示ボタン６１を表示している。また、通信機器１０は、位置情報と、ユーザが参照したＷｅｂページの情報とをサーバ２０へ送信する。サーバ２０は、通信機器１０によって測定される各ユーザの位置情報と、各ユーザが参照したＷｅｂページの情報とをデータベースとして蓄積する。こうすることで、サーバ２０は、各ユーザに対し、イベント会場に来場しているユーザの数が比較的多いイベントの情報、各ユーザがＷｅｂサーバにアクセスして参照しているイベントの情報、各会場の混雑状況、各ユーザが各会場へ移動しようとしている人流データを推定した情報など様々な情報を各ユーザの通信機器１０へ送信する。
【０１０４】
図１３に示すように、競技大会において、各会場（第１の会場７１Ａ、第２の会場７１Ｂ、第３の会場７１Ｃ）で競技イベント（イベント（競技Ａ１）７４、イベント（競技Ｂ１）７５、イベント（競技Ｂ２）７６、イベント（競技Ｃ１）７７、イベント（競技Ｃ２）７８）が開催されている。ユーザは、通信機器１０を操作してＷｅｂサーバにアクセスし、Ｗｅｂサーバから、各会場で実施されるイベントの情報を取得する。ユーザは、興味があるイベントを観戦するために、会場間を、経路（経路７２Ａ、経路７２Ｂ、経路７２Ｃ、経路７２Ｄ、経路７２Ｅ）に沿って移動する。経路７２Ａと経路７２Ｂとは、会場Ａと会場Ｂとの間をユーザが移動するための経路である。経路７２Ｃと経路７２Ｄとは、会場Ａと会場Ｃとの間をユーザが移動するための経路である。経路７２Ｅは、会場Ｂと会場Ｃとの間をユーザが移動するための経路である。
【０１０５】
センサ装置７３Ａとセンサ装置７３Ｂとは、人が移動する数を測定するためのセンサ装置であり、例えば光学センサ、カメラ等を備える。センサ装置７３Ａとセンサ装置７３Ｂとは、例えば、光学センサの出力値を解析すること、または、カメラの撮影画像に対して画像処理をすることにより、人が通過した数を測定する。また、例えば、センサ装置７３Ａとセンサ装置７３Ｂとは、電磁的な読み取り手段、光学的な読み取り手段その他の読み取り手段を備えるリーダーであり、ユーザが所定の識別対象物をリーダーに読み取らせることで、人が通過した数を測定することとしてもよい。例えば、センサ装置７３Ａとセンサ装置７３Ｂとは、ＲＦＩＤ（radio  frequency  identifier）タグを読み取り可能なリーダーであり、ユーザがＲＦＩＤタグをリーダーにかざす数をカウントすることで、人が通過した数（人流データ）を測定してもよい。また、センサ装置７３Ａとセンサ装置７３Ｂとは、二次元形式で表現されたコードを読み取り可能な光学スキャナであり、ユーザが二次元形式のコードを光学スキャナに読み取らせることで、人が通過した数を測定してもよい。センサ装置７３Ａは、会場Ａと会場Ｂとの間を移動するユーザの数を測定する。センサ装置７３Ｂは、会場Ａと会場Ｃとの間を移動するユーザの数を測定する。
【０１０６】
ユーザが保持する通信機器１０は、それぞれの位置情報をサーバ２０へ送信する。そのため、サーバ２０は、各ユーザの位置情報に基づいて、どの会場が混雑しているか、どの経路が混雑しているかを判定することができる。例えば、サーバ２０は、各会場と各経路に閾値を設定しておき、各ユーザの位置情報に基づいて、閾値を超える数のユーザがいる会場および経路が混雑していると判定する。図１３の例では、第１の会場７１Ａのイベント（競技Ａ１）７４は、他のイベントと比べて多くのユーザが観戦している。また、経路７２Ｃは、他の経路と比べて多くのユーザが移動に使用しており、混雑している。
【０１０７】
＜注目されているイベントの通知＞
サーバ２０は、ある会場のイベントをユーザが観戦している数が閾値を上回ると、そのイベントが注目されていると判定して、ユーザによって注目されているイベントがあることを、他の会場のユーザに対し通知する。また、ユーザがＷｅｂサーバにアクセスして参照しているイベントページ（イベントの内容、イベントの開催場所、イベントに出場する選手の情報など）へのアクセス数が閾値に達する、一定期間内に一定数のアクセスがある等の条件を満たすと、比較的多くのユーザが注目しているイベントであると判定して、そのイベントが開催される会場の外にいるユーザに通知する。図１３の例では、通信機器１０のディスプレイ１４２に、第１の会場７１Ａで開催されるイベント（競技Ａ１）７４が注目されていることを通知情報６３に表示している。ユーザは、サーバ２０から通知される情報に基づき、各経路を使用して、イベントが開催されている会場を目指して移動することができる。
【０１０８】
＜ルートの案内および混雑状況の通知＞
サーバ２０は、データベースに蓄積される各ユーザの位置情報と、各ユーザが通信機器１０によってＷｅｂサーバにアクセスして参照しているイベントページとに基づいて、ある会場の外にいるユーザが、その会場のマップを参照している場合に、そのユーザの通信機器１０に対し、参照されている会場までのルートを案内する。また、ある会場のマップを参照している会場外のユーザが一定数を超えている場合、会場外の多数のユーザがその会場を目指して移動する可能性がある。そのため、サーバ２０は、データベースに蓄積される情報に基づいて、マップを参照している会場外のユーザの通信機器１０に対し、会場への経路の混雑状況、会場への経路が混雑することの注意喚起その他の情報を送信する。図１３の例では、通信機器１０は、ディスプレイ１４２に、経路の混雑状況を表示するための操作を受け付ける混雑状況表示ボタン６２を表示している。サーバ２０は、混雑が想定される経路がある場合（例えば、ある会場のマップを参照している会場外のユーザが一定数を超える場合）、誘導員７９が保有する通信機器１０に対し、混雑が想定される経路においてユーザの誘導をするよう指示を送信する。
【０１０９】
＜実施の形態３で使用するデータのデータ構造＞
図１４は、実施の形態３のデータ収集管理システムで使用するデータのデータ構造を示す図である。データ格納用テーブル２６９は、サーバ２０が蓄積するデータベースを管理するためのテーブルであり、記憶部２０６に記憶される。
【０１１０】
図１４に示すように、データ格納用テーブル２６９の各レコードは、サービス特定情報２６９Ａと、利用元特定情報２６９Ｂと、参照イベントページ２６９Ｃと、位置情報２６９Ｄと、イベント開催会場２６９Ｅと、イベント２６９Ｆと、流入数２６９Ｇとを含む。なお、データベースの各フィールドは、図１４に示す例に限られない。なお、図１４の例において、サービス特定情報２６９Ａが値「１」と値「３」に該当するデータは、通信機器１０によって送信されたものである。また、サービス特定情報２６９Ａが値「７」と値「８」に該当するデータは、センサ装置７３Ａ等のセンサ装置によって測定されたデータである。
【０１１１】
サービス特定情報２６９Ａは、通信機器１０が利用するサービスを識別するための情報を示す。
【０１１２】
利用元特定情報２６９Ｂは、サービスを利用する利用者（ユーザ）を特定するための情報を示す。
【０１１３】
参照イベントページ２６９Ｃは、ユーザがＷｅｂサーバにアクセスして参照しているＷｅｂページのアドレスを示す。
【０１１４】
位置情報２６９Ｄは、各ユーザの位置情報を示す。なお、センサ装置から出力されたデータについては、位置情報２６９Ｄは、各センサ装置が設置される位置を示す。
【０１１５】
イベント開催会場２６９Ｅは、各ユーザが位置している場所を示す。例えば、通信機器１０がＷｅｂサーバにアクセスして、ユーザの位置（会場、経路その他の位置）をＷｅｂサーバに登録する、または、ＧＰＳセンサ等による位置情報の測定結果に基づき、通信機器１０がユーザの位置を判定する。
【０１１６】
イベント２６９Ｆは、ユーザが観戦しているイベントを示す。例えば、通信機器１０は、位置情報を取得して、ユーザが位置している会場において、ユーザの位置に最も近いイベントを、ユーザが観戦しているイベントとする。
【０１１７】
流入数２６９Ｇは、人が流入した数を示す。例えば、センサ装置７３Ａ等のセンサ装置は、一定時間ごとに、人の流れを計測した計測結果をサーバ２０へ送信する。
【０１１８】
実施の形態３においても、通信機器１０、センサ装置７３Ａ等の各機器は、それぞれのサービスに応じたデータ形式でサーバ２０へデータを送信する。サーバ２０は、各機器から送信されるデータに基づき、サービスを特定して、特定したサービスに応じたフォーマットルール情報２６１を読み出すことにより、各機器から送信されるデータをサーバ２０のデータベースに蓄積する。
【０１１９】
＜実施の形態３の動作＞
図１５は、実施の形態３のデータ収集管理システムのサーバ２０が、データベースに蓄積されたデータに基づき、注目されているイベント情報その他の情報を通信機器１０へ通知する処理を示すフローチャートである。例えば、サーバ２０は、図１５に示す処理を周期的に実行する。
【０１２０】
ステップＳ２４１において、サーバ２０の制御部２０７は、データ格納用テーブル２６９の参照イベントページ２６９Ｃ等を参照し、ユーザが参照しているイベントページのアクセス数が閾値を超えるものがあるか否かを判定する。閾値を超えるアクセス数があるイベントページがある場合（ステップＳ２４１においてＹＥＳ）、制御部２０７は、ステップＳ２４３の処理を行い、そうでない場合（ステップＳ２４１においてＮＯ）、制御部２０７は、処理を終了する。
【０１２１】
ステップＳ２４３において、制御部２０７は、データ格納用テーブル２６９の位置情報２６９Ｄ等を参照し、データベースに蓄積されるユーザの位置情報に基づき、イベントページのアクセスが閾値を超えるイベント（注目イベント）が開催される会場の外にあるユーザの通信機器１０を特定し、特定した通信機器１０に対し、注目イベントの情報を送信する。
【０１２２】
ステップＳ２４５において、制御部２０７は、注目イベントを参照しているユーザの数、および、会場間の移動経路の混雑状況に基づいて、各会場のユーザが、注目イベントが開催される会場へ移動する際の混雑状況を推定し、推定した混雑状況を、会場の外にある各ユーザの通信機器１０へ送信する。
【０１２３】
＜実施の形態３のまとめ＞
以上のように、実施の形態３のデータ収集管理システムによると、通信機器１０を保有するユーザは、各イベントが開催される会場と、会場へ向かう経路の混雑状況とをサーバ２０から通知されるため、混雑状況を把握して、安全に目的会場まで移動することができる。
【０１２４】
＜実施の形態４＞
実施の形態１から実施の形態３のデータ収集管理システムでは、サーバ２０は、スマートフォンなどの端末、センサ装置その他の通信機器からデータを収集し、収集したデータを、各通信機器のサービス識別情報に対応するフォーマットルールに従ってデータベースに格納している。
【０１２５】
これに対し、実施の形態４のデータ収集管理システムは、各端末からデータを収集するサービス提供用サーバ装置がサービスごとに設置され、これらサービスごとに設置されるサービス提供用サーバ装置からデータを収集する。すなわち実施の形態１から実施の形態３では、サーバ２０がデータを収集する対象とする通信機器は、スマートフォンなどの端末である。これに対し、実施の形態４では、サーバ２０がデータを収集する対象とする通信機器は、サービス提供用サーバ装置である。
【０１２６】
図１６は、実施の形態４のデータ収集管理システムの構成を示す図である。サービス提供用サーバ装置（サーバ２１Ａ，２１Ｂ）は、それぞれ異なるサービスを提供するためのものである。サービス提供用サーバ装置（サーバ２１Ａ，２１Ｂ）は、スマートフォンなどの通信端末向けにサービスを提供する。また、サービス提供用サーバ装置（サーバ２１Ａ，２１Ｂ）は、サービスの提供にかかるアプリケーションログを蓄積する。このアプリケーションログは、サービスを提供する対象となる通信端末からサービス提供用サーバ装置（サーバ２１Ａ，２１Ｂ）が収集したデータを含む。これらサービス提供用サーバ装置（サーバ２１Ａ，２１Ｂ）は、それぞれ固有のデータフォーマットでデータを蓄積している。サーバ２０は、これら各サービス提供用サーバ装置（サーバ２１Ａ，２１Ｂ）に対して、固有の識別情報（サービス特定情報）を割り当てている。サーバ２０は、サービス特定情報に対応付けられたフォーマットルール情報２６１を記憶している。これにより、サーバ２０は、様々なフォーマットでデータを蓄積する各サービス提供用サーバ装置からデータを収集して、単一のテーブルに複数のサービス提供用サーバ装置からのデータを格納することができる。
【０１２７】
そのため、例えば、入力データを集計する際に、単一のテーブルへの操作を前提として、データベースを検索するロジックを組めばよく、データを集計する際のロジックの構築（検索者による検索式の生成）が容易となる。
【０１２８】
＜まとめ＞
上記のように、実施の形態１から実施の形態４のデータ収集管理システムについて説明した。これらの各実施の形態を組み合わせることとしてもよい。各実施の形態で説明したように、本実施の形態に係るシステム、通信機器、サーバ装置は、プロセッサと、その上で実行されるプログラムにより実現される。本実施の形態を実現するプログラムは、通信インタフェースを介してネットワークを利用した送受信等により提供される。各実施の形態で説明したデータ収集管理システムは、以下の構成を有する。
【０１２９】
（構成１）  複数の通信機器（１０）からネットワーク（９０）を介してデータを収集するサーバ装置（２０）が提供される。サーバ装置（２０）は、複数の通信機器（１０）から受信する受信データを、予め定められたフォーマットに従いデータベースとして蓄積するための記憶部（２０６）と、サーバ装置（２０）の動作を制御するための制御部（２０７）とを備える。記憶部（２０６）は、各通信機器（１０）が利用するサービスを識別するためのサービス識別情報と、各通信機器（１０）から受信する受信データをフォーマットに従ってデータベースに格納するための格納規則とを対応付けたフォーマットルール情報（２６１）を記憶するように構成されている。制御部（２０７）は、複数の通信機器（１０）から受信する受信データに基づき、各通信機器（１０）が利用するサービスのサービス識別情報を取得し、取得したサービス識別情報に対応付けられたフォーマットルール情報（２６１）に従って、各通信機器（１０）から受信する受信データをデータベースとして記憶部（２０６）に蓄積させるデータ格納部（２７１）と、データベースに蓄積されるデータを外部の電子機器へ送信するデータ送信部（２７２）とを含む。
【０１３０】
これにより、サーバ装置（２０）の単一のテーブルに複数のサービスのデータを格納することができる。そのため、入力データを集計する際に、単一のテーブルへの操作を前提として、データベースを検索するロジックを組めばよく、データを集計する際のロジックの構築（検索者による検索式の生成）が容易となる。
【０１３１】
（構成２）  上記の（構成１）において、サーバ装置（２０）は、複数の通信機器（１０）から、サービス識別情報を含む受信データを受信するよう構成されている。制御部（２０７）のデータ格納部（２７１）がサービス識別情報を取得することには、各通信機器（１０）から受信する受信データに含まれるサービス識別情報を抽出することを含む。
【０１３２】
これにより、例えばサーバ装置（２０）がサービスそれぞれに予めサービス識別情報を割り当てておくことで、容易に単一のテーブルに複数のサービスのデータを格納することができる。
【０１３３】
（構成３）  上記の（構成１）において、制御部（２０７）のデータ格納部（２７１）がサービス識別情報を取得することは、各通信機器（１０）から、各通信機器（１０）のソフトウェアの実行環境を識別する情報を受信して、受信した実行環境を識別する情報によりサービス識別情報を特定することが含まれる。
【０１３４】
これにより、例えば予め各通信機器（１０）のソフトウェアの実行環境に応じたサービス識別情報をサーバ装置（２０）が保持しておくことで、アプリケーション側ではサービス識別情報をサーバ装置（２０）へ通知するための特段の処理をしなくとも、サーバ装置（２０）側で容易に単一のテーブルに複数のサービスのデータを格納することができる。
【０１３５】
（構成４）  上記の（構成１）において、サーバ装置（２０）は、複数の通信機器（１０）から、各通信機器（１０）の位置情報を通信部（２０２）により逐次受信するよう構成されている。制御部（２０７）のデータ格納部（２７１）は、各通信機器（１０）の位置情報と、時刻情報とを対応付けて、フォーマットに従ってデータベースとして記憶部（２０６）に蓄積させるよう構成されている。制御部（２０７）のデータ送信部（２７２）は、任意の複数の通信機器（１０）の位置情報をデータベースから読み出して、読み出した各通信機器（１０）の位置情報と、時刻情報とを時系列で対応付けた情報を外部の電子機器へ送信するよう構成されている。
【０１３６】
これにより、通信機器（１０）で動作するアプリケーション側では特にサーバ２０のデータベースのフォーマットを意識せずに位置情報をサーバ２０へ送信することができる。
【０１３７】
（構成５）  上記の（構成１）において、複数の通信機器（１０）は、イベントに関する情報を、ネットワーク（９０）を介して受信するよう構成されている。サーバ装置（２０）の記憶部（２０６）は、データベースとして、イベントが開催される会場、各会場で開催される１以上のイベント、各通信機器（１０）が参照しているイベントを示す情報、および、各通信機器（１０）の位置情報とを対応付けた情報をフォーマットに従って記憶するよう構成されている。制御部（２０７）のデータ送信部（２７２）は、データベースに蓄積される情報に基づいて、通信機器（１０）に対し、各会場への移動を促す情報を送信するよう構成されている。
【０１３８】
これにより、ユーザは、会場間を容易に移動することができる。
（構成６）  上記の（構成５）において、制御部（２０７）のデータ送信部（２７２）が通信機器（１０）に対し各会場への移動を促す情報を送信することには、イベントを参照している通信機器（１０）の数が閾値を上回る場合に、各会場のうち、当該イベントが開催される会場外に位置する通信機器（１０）に対し、閾値を上回るイベントの情報を送信することを含む。
【０１３９】
これにより、比較的多数のユーザによって注目されているイベントの情報を、各ユーザで共有することができる。
【０１４０】
（構成７）  上記の（構成５）において、制御部（２０７）のデータ送信部（２７２）は、イベントを参照している通信機器（１０）の数に基づいて、イベントが開催される会場への移動経路の混雑状況を推定する情報を外部の電子機器へ送信するよう構成されている。
【０１４１】
これにより、通信機器（１０）を保有するユーザは、各イベントが開催される会場と、会場へ向かう経路の混雑状況とをサーバ装置（２０）から通知されるため、混雑状況を把握して、安全に目的会場まで移動することができる。
【０１４２】
（構成８）  データを収集するサーバ装置（２０）に対してネットワーク（９０）を介してデータを送信する通信機器（１０）が提供される。サーバ装置（２０）へ送信する送信対象のデータを記憶するように構成された記憶部（１５０）と、通信機器（１０）の動作を制御するための制御部（１６０）とを備える。制御部（１６０）は、通信機器（１０）が利用するサービスのサービス識別情報を送信対象のデータに含めてサーバ装置（２０）に対しデータを送信する送信処理部（１６１）と、サーバ装置（２０）から、サーバ装置（２０）にデータベースとして蓄積されるデータを受信する受信処理部（１６２）と、サーバ装置（２０）から受信したデータをユーザへ通知する通知制御部（１６３）とを含む。
【０１４３】
これにより、サーバ装置（２０）の単一のテーブルに複数のサービスのデータを格納することができる。そのため、入力データを集計する際に、単一のテーブルへの操作を前提として、データベースを検索するロジックを組めばよく、データを集計する際のロジックの構築（検索者による検索式の生成）が容易となる。
【０１４４】
（構成９）  複数の通信機器（１０）からネットワーク（９０）を介してデータを収集するシステムが提供される。システムは、サーバ装置（２０）と、複数の通信機器（１０）とを含む。サーバ装置（２０）は、予め定められたフォーマットに従いデータベースとしてデータを蓄積するための記憶部（２０６）と、サーバ装置（２０）の動作を制御するための制御部（２０７）とを備える。記憶部（２０６）は、サービスを識別するためのサービス識別情報と、サービスを実行する通信機器（１０）から受信されるデータをフォーマットに従ってデータベースに格納するためのデータの格納規則とを対応付けたフォーマットルール情報（２６１）を記憶するように構成されている。制御部（２０７）は、複数の通信機器（１０）から受信するデータに基づき、複数の通信機器（１０）が利用するサービスのサービス識別情報を取得し、取得したサービス識別情報に対応付けられたフォーマットルール情報（２６１）に従って、複数の通信機器（１０）から受信するデータをデータベースとして記憶部（２０６）に蓄積させるデータ格納部（２７１）と、データベースに蓄積されるデータを外部の電子機器へ送信するデータ送信部（２７２）とを含む。
【０１４５】
これにより、サーバ装置（２０）の単一のテーブルに複数のサービスのデータを格納することができる。そのため、入力データを集計する際に、単一のテーブルへの操作を前提として、データベースを検索するロジックを組めばよく、データを集計する際のロジックの構築（検索者による検索式の生成）が容易となる。
【０１４６】
（構成１０）  複数の通信機器（１０）からネットワーク（９０）を介してデータをサーバ装置（２０）へ送信することによりデータを収集する方法が提供される。サーバ装置（２０）は、予め定められたフォーマットに従いデータベースとしてデータを蓄積するための記憶部（２０６）を含む。記憶部（２０６）は、サービスを識別するためのサービス識別情報と、サービスを実行する通信機器（１０）から受信されるデータをフォーマットに従ってデータベースに格納するためのデータの格納規則とを対応付けたフォーマットルール情報（２６１）を記憶するように構成されている。方法は、サーバ装置（２０）が、複数の通信機器（１０）から受信するデータに基づき、複数の通信機器（１０）が利用するサービスのサービス識別情報を取得し、取得したサービス識別情報に対応付けられたフォーマットルール情報（２６１）に従って、複数の通信機器（１０）から受信するデータをデータベースとして記憶部（２０６）に蓄積させるステップと、サーバ装置（２０）が、データベースに蓄積されるデータを外部の電子機器へ送信するステップとを含む。
【０１４７】
これにより、サーバ装置（２０）の単一のテーブルに複数のサービスのデータを格納することができる。そのため、入力データを集計する際に、単一のテーブルへの操作を前提として、データベースを検索するロジックを組めばよく、データを集計する際のロジックの構築（検索者による検索式の生成）が容易となる。
【０１４８】
（構成１１）  複数の通信機器（１０）からネットワーク（９０）を介してデータを収集するサーバ装置（２０）の動作を制御するためのプログラムが提供される。サーバ装置（２０）は、プロセッサと、複数の通信機器（１０）から受信する受信データを、予め定められたフォーマットに従いデータベースとして蓄積するためのメモリとを備える。メモリは、各通信機器（１０）が利用するサービスを識別するためのサービス識別情報と、各通信機器（１０）から受信する受信データをフォーマットに従ってデータベースに格納するための格納規則とを対応付けたフォーマットルール情報（２６１）を記憶するように構成されている。プログラムは、プロセッサに、複数の通信機器（１０）から受信する受信データに基づき、各通信機器（１０）が利用するサービスのサービス識別情報を取得し、取得したサービス識別情報に対応付けられたフォーマットルール情報（２６１）に従って、各通信機器（１０）から受信する受信データをデータベースとして記憶部（２０６）に蓄積させるステップと、データベースに蓄積されるデータを外部の電子機器へ送信するステップとを実行させる。
【０１４９】
これにより、サーバ装置（２０）の単一のテーブルに複数のサービスのデータを格納することができる。そのため、入力データを集計する際に、単一のテーブルへの操作を前提として、データベースを検索するロジックを組めばよく、データを集計する際のロジックの構築（検索者による検索式の生成）が容易となる。
【０１５０】
今回開示された実施の形態はすべての点で例示であって制限的なものでないと考えられるべきである。この発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１５１】
１  データ収集管理システム、１０  通信機器、２０  サーバ、６１  イベント情報表示ボタン、６２  混雑状況表示ボタン、６３  通知情報、７４  イベント（競技Ａ１）、７５  イベント（競技Ｂ１）、７６  イベント（競技Ｂ２）、７７  イベント（競技Ｃ１）、７８  イベント（競技Ｃ２）、７９  誘導員、８０  経路、８２  ＧＰＳ衛星、８６  ユーザマップ、８７  軌跡表示ボタン、９０  ネットワーク、９１  ブロードバンドルータ、９２  無線基地局、１０１  アンテナ、１１１  無線通信部、１３０  センサ部、１３１  物理操作キー、１３２  加速度センサ、１３３  角速度センサ、１３４  ＧＰＳモジュール、１４１  操作受付部、１４２  ディスプレイ、１４４  カメラ、１４６  音声処理部、１４７  マイク、１４８  スピーカ、１５０  記憶部、１５１  サービス識別情報、１５２  ユーザ識別情報、１５３  ログデータ、１５４  受信データ、１５９  アプリケーション、１６０  制御部、１６１  送信処理部、１６２  受信処理部、１６３  通知制御部、１９１  Ｗｅｂサーバアクセスログ、１９２  アプリケーションログ、１９３  センサーデータ、１９４  人流データ、２０２  通信部、２０６  記憶部、２０７  制御部、２６１  フォーマットルール情報、２６２  データ格納用テーブル、２６３  メッセージデータ、２６９  データ格納用テーブル、２７１  データ格納部、２７２  データ送信部、２８１  データ登録ＩＦ画面、２８２  データ格納ＡＰＩ、２８３  データ収集部、２８４  フォーマットルール取得部、２８５  フォーマットルール生成部、２８６  格納データ生成部、２８７  データ格納部、２９１  データ検索ＡＰＩ、２９４  取得ルール確認部、２９５  データキャッシュ確認部、２９６  クエリ生成部、２９７  データ取得部。
【図１】
2016212498.tif 000003
【図２】
2016212498.tif 000004
【図３】
2016212498.tif 000005
【図４】
2016212498.tif 000006
【図５】
2016212498.tif 000007
【図６】
2016212498.tif 000008
【図７】
2016212498.tif 000009
【図８】
2016212498.tif 000010
【図９】
2016212498.tif 000011
【図１０】
2016212498.tif 000012
【図１１】
2016212498.tif 000013
【図１２】
2016212498.tif 000014
【図１３】
2016212498.tif 000015
【図１４】
2016212498.tif 000016
【図１５】
2016212498.tif 000017
【図１６】
2016212498.tif 000018