特許第6571782号(P6571782)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ サン電子株式会社の特許一覧

<>
  • 特許6571782-サーバ及びコンピュータプログラム 図000002
  • 特許6571782-サーバ及びコンピュータプログラム 図000003
  • 特許6571782-サーバ及びコンピュータプログラム 図000004
  • 特許6571782-サーバ及びコンピュータプログラム 図000005
  • 特許6571782-サーバ及びコンピュータプログラム 図000006
  • 特許6571782-サーバ及びコンピュータプログラム 図000007
  • 特許6571782-サーバ及びコンピュータプログラム 図000008
  • 特許6571782-サーバ及びコンピュータプログラム 図000009
  • 特許6571782-サーバ及びコンピュータプログラム 図000010
  • 特許6571782-サーバ及びコンピュータプログラム 図000011
  • 特許6571782-サーバ及びコンピュータプログラム 図000012
  • 特許6571782-サーバ及びコンピュータプログラム 図000013
  • 特許6571782-サーバ及びコンピュータプログラム 図000014
  • 特許6571782-サーバ及びコンピュータプログラム 図000015
  • 特許6571782-サーバ及びコンピュータプログラム 図000016
  • 特許6571782-サーバ及びコンピュータプログラム 図000017
  • 特許6571782-サーバ及びコンピュータプログラム 図000018
  • 特許6571782-サーバ及びコンピュータプログラム 図000019
  • 特許6571782-サーバ及びコンピュータプログラム 図000020
  • 特許6571782-サーバ及びコンピュータプログラム 図000021
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6571782
(24)【登録日】2019年8月16日
(45)【発行日】2019年9月4日
(54)【発明の名称】サーバ及びコンピュータプログラム
(51)【国際特許分類】
   G06F 13/00 20060101AFI20190826BHJP
   H04M 11/00 20060101ALI20190826BHJP
   G06F 16/00 20190101ALI20190826BHJP
【FI】
   G06F13/00 351N
   H04M11/00 301
   G06F16/00
【請求項の数】7
【全頁数】22
(21)【出願番号】特願2017-537150(P2017-537150)
(86)(22)【出願日】2015年9月2日
(86)【国際出願番号】JP2015075008
(87)【国際公開番号】WO2017037905
(87)【国際公開日】20170309
【審査請求日】2018年8月28日
(73)【特許権者】
【識別番号】000106690
【氏名又は名称】サン電子株式会社
(74)【代理人】
【識別番号】110000110
【氏名又は名称】特許業務法人快友国際特許事務所
(72)【発明者】
【氏名】近藤 誠
【審査官】 森田 充功
(56)【参考文献】
【文献】 特開2014−021627(JP,A)
【文献】 特開2014−203184(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 13/00
G06F 16/00
H04M 11/00
(57)【特許請求の範囲】
【請求項1】
複数個のデバイスのそれぞれからデバイスデータを取得してメモリに格納するサーバであって、
前記複数個のデバイスのそれぞれから前記デバイスデータを取得するデバイスデータ取得部であって、各デバイスデータは、当該デバイスデータの供給元であるデバイスを特定するためのデバイス特定情報を含む、前記デバイスデータ取得部と、
取得された前記デバイスデータを、所定の様式に従って前記メモリに格納するデバイスデータ格納部であって、前記所定の様式は、前記複数個のデバイスの配置場所に関係する拠点情報と、前記複数個のデバイスの稼働期間に関係する期間情報と、を含む、前記デバイスデータ格納部と、
前記複数個のデバイスから取得されて前記メモリに格納された格納済データのうちの一部を予め設定された集計条件に従って集計するとともに、特定のタイミング毎に、前記拠点情報に対応する複数個の拠点のそれぞれと、前記期間情報に対応する複数個の期間区分のそれぞれと、それらの組合せについて、対応するデバイスに関係するデータを集計して部分集計データを生成する、部分集計部と、
生成された前記部分集計データを前記メモリに格納する部分集計データ格納部と、
前記端末装置から閲覧要求を取得する要求取得部と、
前記閲覧要求が取得される場合に、前記メモリ内の前記部分集計データを利用して、前記複数個のデバイスにおける稼働状況を示す閲覧データを生成する閲覧データ生成部と、
生成された前記閲覧データを前記端末装置に供給する、閲覧データ供給部と、
を備えるサーバ。
【請求項2】
前記集計条件は、前記拠点情報に対応する複数個の拠点のうち、ユーザによって特定された特定拠点を示す情報を含み、
前記部分集計部は、前記格納済データのうち、前記特定拠点に配置される1以上のデバイスに関係するデータを集計して前記部分集計データを生成する、請求項1に記載のサーバ。
【請求項3】
前記サーバは、さらに、
前記端末装置に、前記集計条件を設定するための設定画面を表示するための設定画面データを供給する、画面データ供給部と、
前記設定画面データによって表される前記設定画面に従って設定された前記集計条件を示す条件データを前記端末装置から取得する、条件データ取得部と、
取得された前記条件データを前記メモリに格納する、条件データ格納部と、
を備え、
前記部分集計部は、前記メモリに格納された前記条件データによって示される前記集計条件に従って、前記部分集計データを生成する、請求項1又は2に記載のサーバ。
【請求項4】
前記集計条件は、集計の必要がない条件を示す除外条件を含み、
前記部分集計部は、前記部分集計データを生成する際に、前記格納済データのうち前記除外条件に対応するデータを除外して前記部分集計データを生成する、請求項1からのいずれか一項に記載のサーバ。
【請求項5】
前記閲覧要求は、ユーザによって特定された閲覧条件を含み、
前記閲覧データ生成部は、前記閲覧要求が取得される場合に、前記メモリ内の前記部分集計データを利用して、前記閲覧要求に含まれる前記閲覧条件に従った前記閲覧データを生成する、請求項1からのいずれか一項に記載のサーバ。
【請求項6】
前記要求取得部は、前記ユーザが第1の閲覧条件を特定する場合に、前記端末装置から前記第1の閲覧条件を含む第1の閲覧要求を取得し、
前記閲覧データ生成部は、前記第1の閲覧要求が取得される場合に、前記第1の閲覧条件に従った第1の閲覧データを生成し、
前記要求取得部は、前記ユーザが前記第1の閲覧条件を特定した後に、さらに、前記第1の閲覧条件とは異なる第2の閲覧条件を特定する場合に、前記端末装置から前記第2の閲覧条件を含む第2の閲覧要求を取得し、
前記閲覧データ生成部は、前記第2の閲覧要求が取得される場合に、前記第2の閲覧条件に従った第2の閲覧データを生成する、
請求項に記載のサーバ。
【請求項7】
複数個のデバイスのそれぞれからデバイスデータを取得してメモリに格納するサーバのためのコンピュータプログラムであって、
前記サーバは、コンピュータを備え、
前記コンピュータプログラムは、前記コンピュータに、以下の各処理、即ち、
前記複数個のデバイスのそれぞれから前記デバイスデータを取得するデバイスデータ取得処理であって、各デバイスデータは、当該デバイスデータの供給元であるデバイスを特定するためのデバイス特定情報を含む、前記デバイスデータ取得処理と、
取得された前記デバイスデータを、所定の様式に従って前記メモリに格納するデバイスデータ格納処理であって、前記所定の様式は、前記複数個のデバイスの配置場所に関係する拠点情報と、前記複数個のデバイスの稼働期間に関係する期間情報と、を含む、前記デバイスデータ格納処理と、
前記複数個のデバイスから取得されて前記メモリに格納された格納済データのうちの一部を予め設定された集計条件に従って集計するとともに、特定のタイミング毎に、前記拠点情報に対応する複数個の拠点のそれぞれと、前記期間情報に対応する複数個の期間区分のそれぞれと、それらの組合せについて、対応するデバイスに関係するデータを集計して部分集計データを生成する、部分集計処理と、
生成された前記部分集計データを前記メモリに格納する部分集計データ格納処理と、
前記端末装置から閲覧要求を取得する要求取得処理と、
前記閲覧要求が取得される場合に、前記メモリ内の前記部分集計データを利用して、前記複数個のデバイスにおける稼働状況を示す閲覧データを生成する閲覧データ生成処理と、
生成された前記閲覧データを前記端末装置に供給する、閲覧データ供給処理と、
を実行させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書によって開示される技術は、デバイスからデータを取得し、取得されたデータに基づいて閲覧データを生成して供給するサーバに関する。
【背景技術】
【0002】
例えば、日経エレクトロニクス1−6−2014「M2M再発見」(以下、非特許文献1という)には、M2M(Machine To Machineの略)通信を利用したシステムの例として、建設機械の稼働状況を監視するシステム、エレベータの稼働状況を監視するシステム、自動販売機等の販売実績情報を収集するシステム等が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【0003】
非特許文献1の各システムでは、デバイス(建設機械、エレベータ、自動販売機、等)が、稼働状況を示す情報をサーバに供給する。サーバは、各デバイスから集めたデータを用いてデータベースを作成する。サーバは、各デバイスを管理する管理装置の要求に応じて、データベース内のデータを用いて閲覧用の閲覧データを生成し、生成された閲覧データを管理装置に供給する。これにより、管理装置のユーザ(例えば、システムの管理者)は、各デバイスの稼働状況等を把握することができる。
【0004】
このようなシステムでは、管理対象のデバイス数が多くなると、閲覧データを生成する際のサーバの負担が大きくなり、閲覧データの生成に長時間を要する場合がある。
【0005】
本明細書では、閲覧データを短時間で生成することができるとともに、サーバの負担を軽減し得る技術を提供する。
【0006】
本明細書によって開示される一つの技術は、複数個のデバイスのそれぞれからデバイスデータを取得してメモリに格納するサーバに関する。サーバは、デバイスデータ取得部と、デバイスデータ格納部と、部分集計部と、部分集計データ格納部と、要求取得部と、閲覧データ生成部と、閲覧データ供給部と、を備える。デバイスデータ取得部は、複数個のデバイスのそれぞれからデバイスデータを取得する。各デバイスデータは、当該デバイスデータの供給元であるデバイスを特定するためのデバイス特定情報を含む。デバイスデータ格納部は、取得されたデバイスデータを、所定の様式に従ってメモリに格納する。所定の様式は、複数個のデバイスの配置場所に関係する拠点情報と、複数個のデバイスの稼働期間に関係する期間情報と、を含む。部分集計部は、複数個のデバイスから取得されてメモリに格納された格納済データのうちの一部を予め設定された集計条件に従って集計して部分集計データを生成する。部分集計データ格納部は、生成された部分集計データをメモリに格納する。要求取得部は、端末装置から閲覧要求を取得する。閲覧データ生成部は、閲覧要求が取得される場合に、メモリ内の部分集計データを利用して、複数個のデバイスにおける各イベントの発生状況を示す閲覧データを生成する。閲覧データ供給部は、生成された閲覧データを端末装置に供給する。
【0007】
ここで、「端末装置」は、ユーザがフォームデータを生成するための設定端末と、ユーザが閲覧データを閲覧するための閲覧端末と、を含む。また、「デバイス特定情報」は、デバイスを特定するためのデバイス固有の情報に限られず、デバイスを一意に特定し得る他の任意の情報を含む。また、「所定の様式」は、予め設定された様式と、ユーザによって設定された様式と、のどちらも含む。また、「予め設定された集計条件」は、どのようなタイミングで、誰によって設定されるものも含む。例えば、集計条件は、デバイスの状況に応じて自動的に設定されてもよい。「メモリ」、「サーバ」、「端末装置」は、それぞれ、一体の装置として構成されたものであっても、別体に構成されたものであってもよい。「メモリ」、「サーバ」、「端末装置」が別体に構成されるものである場合、少なくとも一つが、通信回線等を通じて通信可能に接続されるものであってもよい。「閲覧データ」は、部分集計データを利用して生成されるデータであれば、どのようなデータを含んでもよく、画像情報に限られない。画像情報は、閲覧データを受信した端末装置によって生成されてもよい。
【0008】
上記の構成によると、サーバは、予め設定された集計条件に従った部分集計データを生成し、端末装置から閲覧要求を取得すると、メモリ内の部分集計データを利用して閲覧データを生成し、生成された閲覧データを端末装置に供給する。即ち、サーバは、予め設定された集計条件に従った部分集計データを生成しておけば、閲覧データの生成の際に、部分集計データを利用して閲覧データを生成すれば済む。そのため、閲覧データを生成する際の負担が少なく済む。そのため、サーバは、端末装置に閲覧データを短時間で供給し得る。従って、上記のサーバによると、閲覧データを短時間で生成することができるとともに、サーバの負担を軽減し得る。
【0009】
なお、上記のサーバを実現するための制御方法、コンピュータプログラム、及び、当該コンピュータプログラムを格納するコンピュータ読取可能記録媒体も、新規で有用である。また、上記のサーバと、複数個のデバイスと、端末装置と、を含む通信システムも、新規で有用である。
【図面の簡単な説明】
【0010】
図1】通信システムの構成を示す。
図2】通信システムの動作概要のシーケンスチャート(1)を示す。
図3】通信システムの動作概要のシーケンスチャート(2)を示す。
図4】デバイスデータの生成手法の例を示す。
図5】デバイスデータの例を示す。
図6】テンプレートデータ表示画面の例を示す。
図7】設定画面の例を示す。
図8】入力済テンプレートデータの例を示す。
図9】入力済テンプレートデータの例の続きを示す。
図10】厨房機器種類の対応表を示す。
図11】厨房機器の対応表を示す。
図12】企業マスタの対応表を示す。
図13】店舗グループマスタの対応表を示す。
図14】店舗マスタの対応表を示す。
図15】店の対応表を示す。
図16】設置機器の対応表を示す。
図17】各機器収集データの対応表を示す。
図18】集計条件設定画面の例を示す。
図19】条件データの例を示す。
図20】データ閲覧画面の例を示す。
【0011】
以下に説明する実施例の主要な特徴を列記しておく。なお、以下に記載する技術要素は、それぞれ独立した技術要素であって、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。
【0012】
(特徴1)部分集計部は、さらに、特定のタイミング毎に、拠点情報に対応する複数個の拠点のそれぞれと、期間情報に対応する複数個の期間区分のそれぞれと、それらの組合せについて、対応するデバイスに関係するデータを集計して部分集計データを生成してもよい。
【0013】
上記の構成によると、サーバは、特定のタイミング毎に、複数個の拠点のそれぞれと、複数個の期間区分のそれぞれと、それらの組合せについて、部分集計データを生成する。そのため、サーバは、例えば集計条件が変更された場合等、新たな集計条件が設定された場合であっても、短時間で、当該新たな集計条件に従った部分集計データを生成することができる。
【0014】
(特徴2)集計条件は、拠点情報に対応する複数個の拠点のうち、ユーザによって特定された特定拠点を示す情報を含んでもよい。部分集計部は、格納済データのうち、特定拠点に配置される1以上のデバイスに関係するデータを集計して部分集計データを生成してもよい。
【0015】
上記の構成によると、サーバは、特定拠点に配置される1以上のデバイスに関係するデータを集計した部分集計データを生成する。サーバは、特定拠点に関係する閲覧データを短時間で生成することができる。
【0016】
(特徴3)サーバは、さらに、端末装置に、集計条件を設定するための設定画面を表示するための設定画面データを供給する画面データ供給部と、設定画面データによって表される設定画面に従って設定された集計条件を示す条件データを端末装置から取得する条件データ取得部と、取得された条件データをメモリに格納する条件データ格納部と、を備えていてもよい。部分集計部は、メモリに格納された条件データによって示される集計条件に従って、部分集計データを生成してもよい。
【0017】
上記の構成によると、ユーザは、設定画面に従って集計条件を設定することができる。そのため、ユーザは比較的容易に集計条件を設定し得る。
【0018】
(特徴4)集計条件は、集計の必要がない条件を示す除外条件を含んでもよい。部分集計部は、部分集計データを生成する際に、格納済データのうち除外条件に対応するデータを除外して部分集計データを生成してもよい。
【0019】
上記の構成によると、サーバは、集計の必要がない除外条件に対応するデータを除外して部分集計データを生成する。そのため、サーバが無駄なデータの集計をする必要がない。サーバの負荷をさらに軽減することができる。
【0020】
(特徴5)閲覧要求は、ユーザによって特定された閲覧条件を含んでもよい。閲覧データ生成部は、閲覧要求が取得される場合に、メモリ内の部分集計データを利用して、閲覧要求に含まれる閲覧条件に従った閲覧データを生成してもよい。
【0021】
上記の構成によると、サーバは、メモリ内の部分集計データを利用して、閲覧要求に含まれる閲覧条件に従った閲覧データを生成する。即ち、サーバは、短時間で、ユーザが所望する閲覧条件に従った閲覧データを端末装置に供給し得る。
【0022】
(特徴6)要求取得部は、ユーザが第1の閲覧条件を特定する場合に、端末装置から第1の閲覧条件を含む第1の閲覧要求を取得してもよい。閲覧データ生成部は、第1の閲覧要求が取得される場合に、第1の閲覧条件に従った第1の閲覧データを生成してもよい。要求取得部は、ユーザが第1の閲覧条件を特定した後に、さらに、第1の閲覧条件とは異なる第2の閲覧条件を特定する場合に、端末装置から第2の閲覧条件を含む第2の閲覧要求を取得してもよい。閲覧データ生成部は、第2の閲覧要求が取得される場合に、第2の閲覧条件に従った第2の閲覧データを生成してもよい。
【0023】
上記の構成によると、サーバは、ユーザが特定する閲覧条件が変更される場合であっても、変更された新たな閲覧条件に応じた新たな閲覧データを生成して端末装置に供給し得る。
【0024】
(実施例)
(通信システム2の構成;図1
図1に示すように、通信システム2は、サーバ10と、複数個のデバイス60と、設定端末70と、閲覧端末80と、を備える。複数個のデバイス60、設定端末70、閲覧端末80は、それぞれ、サーバ10と通信可能に備えられている。図1の例では、複数個のデバイス60は、例えば、電子レンジ60aと、オーブン60bと、食器洗浄機60cと、を含む。本実施例では、複数個のデバイス60は、例えば、特定のユーザに属する。特定のユーザは、複数個のデバイス60のベンダである厨房機器メーカーである。
【0025】
また、図示しないが、通信システム2は、特定のユーザとは異なるユーザ(以下では「他のユーザ」と呼ぶ)に属する複数個のデバイスと、設定端末と、閲覧端末と、をさらに備えている。これらの他のユーザに属するデバイス、設定端末、及び、閲覧端末も、サーバ10と通信可能に備えられている。即ち、本実施例の通信システム2は、特定のユーザが、サーバ10を利用して複数個のデバイス60を管理するための第1のシステムを含むと共に、他のユーザが、サーバ10を利用して他のユーザに属する複数個のデバイスを管理するための第2のシステムを含む、と言うことができる。この場合、第1のシステムは、複数個のデバイス60と、サーバ10と、設定端末70と、閲覧端末80とを含む。第2のシステムは、他のユーザに属する複数個のデバイス(図示しない)と、サーバ10と、他のユーザに属する設定端末及び閲覧端末(図示しない)を含む。
【0026】
(複数個のデバイス60)
上記の通り、複数個のデバイス60は、電子レンジ60aと、オーブン60bと、食器洗浄機60cと、を含む。複数個のデバイス60は、これら以外の図示しないデバイスも含んでいる。以下では、複数個のデバイス60に含まれる各デバイス(例えば電子レンジ60a等)のことを単に「デバイス60」と呼ぶ場合がある。複数個のデバイス60のそれぞれは、デバイスを特定するための機器固有番号を記憶している。また、複数個のデバイス60のそれぞれは、サーバ10に、デバイスデータを供給することができる。ここで、「デバイスデータ」は、当該デバイスデータの供給元であるデバイス(以下、特定デバイスと呼ぶ)を特定するためのデバイス特定情報(即ち、機器固有番号)と、特定デバイスで発生するイベントの種類を示す種類情報と、特定デバイスで発生するイベントの発生時間を示す時間情報とを含むデータである。
【0027】
(サーバ10)
サーバ10は、通信インターフェース(以下では「通信I/F」と呼ぶ)12と、制御部14とを有している。通信I/F12は、外部の装置(例えば、複数個のデバイス60、設定端末70、閲覧端末80)と通信を行うためのインターフェースである。制御部14は、CPU20と、メモリ22と、を有する。CPU20は、メモリ22に格納されているプログラム24に従って、様々な処理を実行する。メモリ22は、ROM、RAM、ハードディスク等によって構成される。
【0028】
メモリ22は、上記のプログラム24と、テンプレートデータ26と、ユーザデータ28とを格納する。
【0029】
テンプレートデータ26は、サーバ10を利用するユーザ(例えば、特定のユーザ)のデバイス(例えば、デバイス60)からサーバ10が取得するデバイスデータを、サーバ10のメモリ22に格納する様式を設定するためのデータである。テンプレートデータは、デバイスで発生する各イベントに関するメタデータを入力するためのデータである、と言い換えてもよい。サーバ10を利用するユーザは、サーバ10にアクセスし、テンプレートデータ26に従って情報を入力することにより、上記デバイスデータをサーバ10のメモリ22に格納する際の様式を設定することができる(即ち、フォームデータをメモリ22に格納させることができる)。テンプレートデータ26の詳しい内容、及び、フォームデータの詳しい内容については後で詳しく説明する。
【0030】
ユーザデータ28は、特定のユーザが複数個のデバイス60を管理することに関係する様々なデータを含む。なお、図示していないが、メモリ22には、他のユーザが他のユーザに属するデバイスを管理することに関する他のユーザデータも格納されている。ただし、以下では、特定のユーザに関係するユーザデータ28についてのみ説明する。
【0031】
ユーザデータ28は、フォームデータ32と、デバイスデータ38と、部分集計データ39と、条件データ40とを含む。フォームデータ32は、入力済テンプレートデータ34とマスタデータ36とを含む。
【0032】
フォームデータ32(即ち、入力済テンプレートデータ34及びマスタデータ36)は、設定端末70から取得されるデータである。即ち、特定のユーザは、設定端末70を用いてサーバ10にアクセスし、上述のテンプレートデータ26に従って情報を入力することにより、入力済テンプレートデータ34及びマスタデータ36を生成することができる。入力済テンプレートデータ34は、複数個のデバイス60の配置場所に関係する拠点構造を示す情報(即ち、拠点情報)を含む。マスタデータ36は、拠点情報が示す複数個の拠点のそれぞれに配置されるデバイスに関係する情報を含む。入力済テンプレートデータ34の例(図8図9参照)、及び、マスタデータ36の例(図10図17参照)については、後で詳しく説明する。上記のフォームデータ32は、複数個のデバイス60から取得されるデバイスデータをメモリ22に格納する際の様式を示している。また、フォームデータ32によって示される様式は、複数個のデバイス60から取得されるデバイスデータを閲覧する際の階層構造も示している。サーバ10のCPU20は、設定端末70から上記のフォームデータ32を取得すると、取得されたフォームデータ32をメモリ22内に格納する。
【0033】
デバイスデータ38は、複数個のデバイス60から通信I/F12を介して取得された各デバイスデータを、フォームデータ32によって示される様式に従ってメモリ22に格納させた結果として形成されるデータである。図1のデバイスデータ38には、多数のデバイスデータが含まれ得る。図1のデバイスデータ38は、複数個のデバイス60から取得された各デバイスデータの集合体と言い換えることもできる。
【0034】
部分集計データ39は、メモリ22内のデバイスデータ38の一部を、後述の条件データ40に従って部分集計した結果として形成されるデータである。部分集計データ39には、多数の部分集計データが含まれ得る。図1の部分集合データ39は、CPU20によって生成された複数個の部分集計データの集合体と言い換えることもできる。
【0035】
条件データ40は、設定端末70から取得されるデータである。特定のユーザは、設定端末70を用いてサーバ10にアクセスし、設定端末70に表示される設定画面(図18参照)に従って所望の集計条件を特定することにより、ユーザによって特定された集計条件を示す条件データ40を生成することができる。ここで、集計条件とは、デバイスデータ38の一部を部分集計する際の条件のことである。条件データ40には、複数個の条件データが含まれ得る。図1の条件データ40は、設定端末70から取得される複数個の条件データの集合体と言い換えることもできる。
【0036】
(設定端末70、閲覧端末80)
設定端末70は、例えば、特定のユーザのPC等の端末装置である。閲覧端末80は、例えば、特定のユーザのタブレット端末等の端末装置である。設定端末70、閲覧端末80は、いずれも、図示しない操作部、表示部、制御部を有している。設定端末70、閲覧端末80は、それぞれ、図示しないネットワークを介して、サーバ10と通信可能に備えられている。本実施例では、設定端末70と閲覧端末80が別個の端末として構成されている。これに限られず、変形例では、設定端末70と閲覧端末80とが1個の端末として構成されていてもよい。
【0037】
(通信システム2の動作の概要;図2図3
続いて、図2図3を参照して、通信システム2における各構成要素の動作の概要を説明する。
【0038】
図2は、サーバ10が、設定端末70からフォームデータと条件データを取得し、その後、デバイス60からデバイスデータを取得する場合における各構成要素の動作の概要を示す。
【0039】
設定端末70は、特定のユーザの指示に従ってサーバ10にアクセスし、サーバ10にテンプレート要求を供給する(S10)。
【0040】
サーバ10のCPU20は、設定端末70からテンプレート要求を取得すると、メモリ22内のテンプレートデータ26を設定端末70に供給する(S12)。
【0041】
設定端末70は、サーバ10からテンプレートデータを取得すると、テンプレートデータ表示画面を表示部に表示させる(S14)。テンプレートデータ表示画面の内容については後で詳しく説明する(図6参照)。特定のユーザは、設定端末70の操作部を操作して、テンプレートデータに従って情報を入力する(S16)。この結果、入力済テンプレートデータ(図8図9参照)、及び、マスタデータ(図10図17参照)が生成される。設定端末70は、生成された入力済テンプレートデータ及びマスタデータ(即ち、フォームデータ)を、サーバ10に供給する(S18)。
【0042】
サーバ10のCPU20は、設定端末70からフォームデータを取得すると、取得されたフォームデータをメモリ22に格納する(S20)(図1の符号32参照)。
【0043】
その後、設定端末70は、特定のユーザの指示に従ってサーバ10にアクセスし、集計条件設定画面(図18参照)を表示するための設定画面要求をサーバ10に供給する(S30)。
【0044】
サーバ10のCPU20は、設定端末70から設定画面要求を取得すると、メモリ22内の入力済テンプレートデータ34を利用して設定画面データを生成する(S32)。即ち、S32で生成される設定画面データの内容は、入力済テンプレートデータ34の内容によって変化する。CPU20は、生成された設定画面データを設定端末70に供給する(S34)。
【0045】
設定端末70は、サーバ10から設定画面データを取得すると、集計条件設定画面(図18参照)を表示部に表示させる(S36)。集計条件設定画面の内容については後で詳しく説明する。特定のユーザは、集計条件設定画面に従って集計条件を設定する(S38)。この結果、特定のユーザによって設定された集計条件を含む条件データが生成される。設定端末70は、生成された条件データをサーバ10に供給する(S40)。
【0046】
サーバ10のCPU20は、設定端末70から条件データを取得すると、取得された条件データをメモリ22に格納する(S42)。これにより、メモリ22内に図1の条件データ40が構築される。
【0047】
その後、デバイス60は、当該デバイス60でイベント(例えば、電源ON、加熱開始、異常動作、等)が発生する毎に、デバイスデータをサーバ10に供給する(S50、S54)。上記の通り、デバイスデータは、デバイス60を特定するための機器固有番号と、発生したイベントの種類を示す種類情報と、発生したイベントの発生時間を示す時間情報とを含む。デバイス60がデバイスデータを生成する手法、及び、デバイスデータの内容は、図4図5を参照して後で詳しく説明する。
【0048】
サーバ10のCPU20は、デバイス60からデバイスデータを取得する毎に、取得されたデバイスデータをメモリ22に格納する(S52、S56)。CPU20は、取得されたデバイスデータをメモリ22に格納する際、メモリ22に格納されているフォームデータ32が示す様式に従って格納する。これにより、メモリ22内に図1のデバイスデータ38が構築される。
【0049】
さらに、サーバ10のCPU20は、1時間毎に、メモリ22内の条件データ40が示す集計条件に従って、デバイスデータ38内のデバイスデータを集計する(S60)。これにより、集計条件に従った部分集計データが生成される。なお以下では、S60で行われるデバイスデータの集計(即ち、集計条件に従って1時間毎に行われるデバイスデータの集計)のことを部分集計と呼ぶ場合がある。また、S60では、メモリ22内に複数個の条件データ40が格納されている場合、CPU20は、各条件データが示す集計条件に従って部分集計を行う。この場合、複数個の部分集計データが生成される。CPU20は、生成された部分集計データをメモリ22に格納する(S62)。これにより、メモリ22内に図1の部分集計データ39が構築される。
【0050】
その後、再び1時間が経過するまでの間にも、デバイス60は、当該デバイス60でイベントが発生する毎にデバイスデータをサーバ10に供給する(S64)。
【0051】
サーバ10のCPU20は、デバイス60からデバイスデータを取得する毎に、取得されたデバイスデータをメモリ22に格納する(S66)。
【0052】
その後、前回の部分集計(S60)から1時間が経過すると、サーバ10のCPU20は、再びS60と同様の部分集計を行う(S70)。これにより、メモリ22内の条件データ40が示す集計条件に従った部分集計データが生成される(更新されていく)。CPU20は、生成された部分集計データをメモリ22に格納する(S62)。
【0053】
さらに、サーバ10のCPU20は、1日毎(24時間毎)に、入力済テンプレートデータ34に含まれる全ての期間区分、全ての拠点、及びそれらの組合せについて、デバイスデータ38に含まれる各デバイスデータを集計する(S80)。即ち、S80では、CPU20は、入力済テンプレートデータ34に含まれる期間区分、拠点、及び、それらの組合せの全てのパターンについて、部分集計を行う。期間区分、拠点、及び、それらの組合せのことを、「階層」と呼び換えてもよい。以下では、S80で行われる集計(即ち、入力済テンプレートデータ34に含まれる期間区分、拠点、及び、それらの組合せの全てのパターンについての部分集計)のことを、全集計と呼ぶ。S80で全集計が行われることにより、入力済テンプレートデータ34に含まれる期間区分、拠点、及び、それらの組合せの全てのパターン(即ち全階層)に対応する部分集計データが生成される。CPU20は、生成された部分集計データをメモリ22に格納する(S82)。
【0054】
上記の通り、本実施例では、メモリ22内の条件データ40が示す集計条件に従った部分集計データは、1時間毎に作成される。一方、全階層に対応する部分集計データは、1日毎に作成される。
【0055】
続いて、図3を参照して、サーバ10が、閲覧端末80から閲覧要求を取得し、閲覧データを閲覧端末80に供給する場合における各構成要素の動作の概要を示す。以下の例では、図2の各処理の終了後に、図3の各処理が行われる場合の例を説明する。
【0056】
閲覧端末80は、特定のユーザの指示に従って、サーバ10にアクセスし、サーバ10に閲覧要求を送信する(S100)。閲覧要求は、閲覧端末80がデータの閲覧を要求する閲覧条件(例えば、デバイス60の稼働期間の期間区分(即ち年、月、週等)、デバイス60の拠点(即ち設置地区、店舗等)、それらの組合せ)を示す情報を含む。
【0057】
サーバ10のCPU20は、閲覧端末80から閲覧要求を取得すると、メモリ22内のデバイスデータ38(図1参照)に含まれている各デバイスデータと、フォームデータ32と、取得された閲覧要求に含まれる閲覧条件と、に基づいて、デバイス60における各イベントの発生状況を示す閲覧データを生成する(S102)。この際、CPU20は、閲覧条件が示す階層に対応するイベントの発生状況(例えば、設置地区ごとのイベントの発生状況)を示す閲覧データを生成する。また、CPU20は、閲覧データを生成する際、予め生成されている部分集計データ(即ち部分集計データ39)を利用する。CPU20は、既に生成されている部分集計データを利用して閲覧データを生成するため、閲覧要求が取得された後に、データの集計を行った上で閲覧データを生成する必要がない。そのため、CPU20が閲覧データを生成する際の負担は小さく済む。さらに、CPU20は、閲覧端末80から閲覧要求を取得した後、短時間で閲覧データを生成して閲覧端末80に供給することができる。特定のユーザを長時間待たせることもない。
【0058】
閲覧データにどのような情報が含まれるかは、デバイスデータ38に含まれるデバイスデータの内容と、フォームデータ32の内容と、閲覧要求の内容と、によって変わる。例えば、CPU20によって生成される閲覧データが、デバイス60において、第1のイベント(例えば、加熱開始運転)が発生してから第1のイベントが再び発生するまでの間に発生した第2のイベント(例えば、温度センサの値が100℃以上)の数を含んでいてもよい。
【0059】
CPU20は、閲覧データを生成すると、生成された閲覧データを閲覧端末80に供給する(S104)。
【0060】
閲覧端末80は、サーバ10から閲覧データを取得すると、取得された閲覧データに従って、データ閲覧画面(図20参照)を表示部に表示させる(S106)。特定のユーザは、データ閲覧画面において、閲覧条件(例えば、データを閲覧する拠点)を変更して、新たな閲覧要求操作を行うことができる。その場合、閲覧端末80は、新たな閲覧条件を含む閲覧要求をサーバ10に供給する(S110)。
【0061】
サーバ10のCPU20は、閲覧端末80から新たな閲覧要求を取得すると、デバイスデータ38に含まれているデバイスデータと、フォームデータ32と、取得された閲覧要求に含まれる新たな閲覧条件と、に基づいて、新たな閲覧データを生成する(S112)。CPU20は、生成された閲覧データを閲覧端末80に供給する(S114)。
【0062】
閲覧端末80は、サーバ10から閲覧データを取得すると、取得された閲覧データに従って、データ閲覧画面を表示部に表示させる(S116)。このように、閲覧端末80は、閲覧要求に対応する閲覧データをサーバ10から取得し、表示部に表示させることができる(S106、S116)。特定のユーザは、閲覧データに基づいて表示されるデータ閲覧画面を見ることにより、デバイス60における各イベントの発生状況を知ることができる。また、閲覧条件(即ち、階層)を変えて閲覧要求をサーバ10に供給することにより、様々な条件における各イベントの発生状況を知ることができる。その結果、特定のユーザは、デバイス60を適切に管理することができる。
【0063】
(デバイスデータの生成手法;図4図5
図4を参照して、デバイス60がデバイスデータを生成する手法について説明する。図4では、デバイス60において、種類Aと種類Bの2種類のイベントが発生する例を示している。図4に示すように、デバイス60は、特定のイベント(図4のA1)が発生した場合に、その特定のイベントの種類(A)と、その特定のイベントの発生時(t1)と、を特定する。デバイス60は、自機の機器固有番号(1001)と、特定のイベントの種類を示す種類情報と、特定のイベントの発生時を示す時間情報とを対応付ける。この結果、図5に示すように、機器固有番号と、種類情報と、時間情報とが対応付けられたデバイスデータが生成される。
【0064】
デバイス60は、特定のイベント以降の各イベントが発生した場合についても、上記と同様の要領でデバイスデータを生成する。デバイス60は、デバイスデータをサーバ10に随時供給する。そのため、例えば、毎秒のイベント発生状況を示す情報をサーバ10に供給する場合よりも、デバイス60の通信負荷を小さくすることができる。
【0065】
(テンプレートデータ表示画面;図6
図6を参照して、サーバ10が供給するテンプレートデータに従って、設定端末70で表示されるテンプレートデータ表示画面(図2のS14参照)について説明する。
【0066】
図6は、初期状態のテンプレートデータ表示画面を示す。初期状態のテンプレートデータ表示画面は、日付102、曜日104、月106、年108、カレンダー110の各アイテムを含むツリー構造を有している。各アイテムの隣に表示されている「+」マークを選択すると、各アイテム内のデータが展開される。図示していないが、例えば、日付102の隣の「+」を選択すると、日付番号、日付名の各アイテムが表示される。日付102、曜日104、月106、年108、カレンダー110の各アイテムは、所定の日付、所定の曜日、所定の月、所定の年、所定のカレンダー内の日のそれぞれにおける、複数個のデバイス60におけるイベントの発生状況を閲覧するためのアイテムである。
【0067】
(設定画面;図7
図6のテンプレートデータ表示画面において、所定のアイテム追加操作が行われる場合、又は、表示されているアイテムのいずれかを選択する操作が行われる場合、図6に示すツリー構造の隣に、図7に示す設定画面が表示される。設定画面も、テンプレートデータに従って表示される画面である。図7の設定画面は、項目と、値と、型とが関連づけられたテーブルを含む。
【0068】
項目の欄には、「Name」「DispName」「ValueType」「ValueRule」「TargetType」「SignalNumber」の各項目が予め入力されている。値の欄には、各項目に対応する情報(文字や数字)を入力可能である。型の欄には、値の欄に入力された情報の属性が文字で表示される。特定のユーザ(及び他のユーザ。以下同じ)は、値の欄に、各項目に対応する情報を入力することができる。
【0069】
「Name」は、テンプレートデータ表示画面に表示されるアイテムのデータ上の名称である。「Name」が示す名称は、他の名称と重複しないユニークな名称である。特定のユーザは、「Name」に対応する値の欄に、「Company」のように、所望の名称を入力することができる。値の欄の入力に伴い、型の欄には、文字情報であることを示す情報が入力される。
【0070】
「DispName」は、アイテムを表示する際の名称(表示名)である。特定のユーザは、「DispName」に対応する値の欄に、「企業」のように、所望の表示名を入力することができる。値の欄の入力に伴い、型の欄には、文字情報であることを示す情報が入力される。
【0071】
「ValueType」は、アイテムに対応するイベントのタイプ(信号、数値、文字情報、等)を示す。例えば、デバイス60では、種々のタイプのイベントが発生する。デバイス60は、イベントが発生する毎に、所定の情報を出力する。例えば、デバイス60における電源のオン・オフや、加熱運転開始、異常運転、のようなイベントが発生する場合、デバイス60はパルス信号を出力する。パルス信号は、単発タイプのものと、ハイ/ローを切り替えるタイプのものと、を含む。また、デバイス60では、センサの検出値(例えば温度等)、型番、ID、等の所定の数値や文字情報を出力するイベントが発生する場合もある。特定のユーザは、「ValueType」に対応する値の欄に、「0」「1」「2」等の各値を入力することができる。ここでは、「0」「1」「2」等の各値は、「信号」「数値」の各タイプに対応する。値の欄の入力に伴い、型の欄には、例えば、整数情報であることを示す情報が表示される。
【0072】
「ValueRule」は、「ValueType」で入力されたタイプに対応する情報に関するルールを示す。具体的に言うと、デバイスから出力される情報の加算可否を示す。例えば、デバイス60から出力される情報が、パルス信号や、金額を示す数値情報である場合等は、パルス信号の数や、数値が示す値を加算できる。また、デバイス60から出力される情報が、数値であっても、型番を示す数値等のユニークな値である場合等は、値を加算できない。ユーザは、「ValueRule」に対応する値の欄に、「0」「1」「2」等の各値を入力することができる。値の欄に入力される各値は、それぞれ「加算不可」、「加算可」、「ユニーク値」等に対応する。値の欄の入力に伴い、型の欄には、例えば、整数であることを示す情報が表示される。
【0073】
「TargetType」は、ツリー構造で示す実際のデータベース構造の関係を示す。例えば、第1のアイテムに対応する拠点階層の下にさらに第2のアイテムに対応する拠点概念が存在する等の関係を示す。ユーザは、「TargetType」に対応する値の欄に、「0」「1」「2」等の各値を入力することができる。値の欄に入力される各値は、それぞれ「(アイテムに対応する)下の階層に拠点が存在しない」、「下の階層にさらに拠点が存在する」、「下の階層にデータベーステーブルの項目が存在する」等に対応する。型の欄には、整数であることを示す情報が表示される。
【0074】
「SignalNumber」は、デバイスから取得されるデバイスデータを定義する信号種類番号を示す。「SignalNumber」が定義されることで、信号種類番号によって定義されるデバイスデータがデータベース項目の値とされる。例えば、デバイス毎に「センサA信号」は「5」、「センサB信号」は「6」のように、ユニークな信号種類番号が割り当てられる。サーバ10は、この値が定義されたアイテムに対応するデータベース項目について、デバイスからデバイスデータが取得された際に、その信号種類番号が示すイベントの回数を累計し、変化する度に更新する。
【0075】
図7の設定画面において、特定のユーザが必要な情報を入力することにより、テンプレートデータ表示画面にアイテムが表示される。アイテムの表示名は、「DispName」に入力された名称である。また、アイテムは、「TargetType」に入力された値に対応する位置に表示される。
【0076】
このように、特定のユーザは、設定画面を表示させて、必要な情報を入力することにより、テンプレートデータ表示画面にアイテムを追加することができる。この結果、ユーザの所望のツリー構造を形成することができる。
【0077】
また、上記の通り、特定のユーザは、既に設定済みのアイテムを選択することによっても、設定画面を表示させることができる。その場合、表示された設定画面において、特定のユーザは、アイテムの設定内容を変更することができる。
【0078】
従って、特定のユーザは、図6のテンプレートデータ表示画面と、図7の設定画面と、において必要な情報を入力することによって、テンプレートデータに基づいて、入力済テンプレートデータ及びマスタデータ(即ち、フォームデータ)を作成することができる。
【0079】
なお、図7に示す設定画面はあくまで一例である。変形例では、設定画面には、他の項目等が含まれていてもよい。
【0080】
(フォームデータの例;図8図17
続いて、図8図17を参照して、設定端末70の使用者である特定のユーザが、テンプレートデータに従って情報を入力することによって生成したフォームデータの例について説明する。図8図17によって示されるフォームデータのうち、図8図9は入力済テンプレートデータ(即ち、特定のユーザによって生成されたツリー構造(即ち拠点階層構造))に相当し、図10図17はマスタデータに相当する。
【0081】
図8図9は、入力済テンプレートデータに従って設定端末70の表示部に表示される画面を示している。図8に示すように、入力済テンプレートデータは、初期状態のテンプレートデータ表示画面(図6)と同様に、日付102、曜日104、月106、年108、カレンダー110の各アイテムを含む。さらに、図8図9に示すように、入力済テンプレートデータは、厨房機器種類120、厨房機器140、期間160、の各アイテムを含む。期間160は、下の階層として、企業マスタ170、店舗グループマスタ180、店舗マスタ200、店220、の各アイテムを含む。店220は、さらに下の階層として、設置機器240、各機器収集データ260、の各アイテムを含む。
【0082】
図8の日付102、曜日104、月106、年108、カレンダー110の各アイテムについては、初期状態のテンプレートデータ表示画面(図6)と同様であるため、詳しい説明を省略する。
【0083】
図8の厨房機器種類120は、下の階層として、機器種類番号と機器種類名の各アイテムを含む。厨房機器種類120では、図10に示すように、機器種類番号と、機器種類名とが対応付けられている。図10では、例えば、機器種類番号「1」が機器種類名「オーブン」を示す。
【0084】
また、図8の厨房機器140は、機器固有番号と、機器種類番号と、機器名と、メーカーの各アイテムを含む。厨房機器140では、図11に示すように、機器固有番号と、機器種類番号と、機器名と、メーカーとが対応付けられている。図11では、例えば、機器固有番号「1001」、機器種類番号「1」、名称「窯焼きオーブン」、メーカー「T電子」が対応付けられている。
【0085】
また、上記の通り、図9の期間160は、下の階層として、企業マスタ170、店舗グループマスタ180、店舗マスタ200、店220、の各アイテムを含む。企業マスタ170は、企業番号と企業名の各アイテムを含む。企業マスタ170では、図12に示すように、企業番号と企業名とが対応付けられている。図12では、例えば、企業番号「1」が企業名「Sカフェ」を示す。
【0086】
また、図9の店舗グループマスタ180は、企業番号と、店舗グループ番号と、店舗グループ名の各アイテムを含む。店舗グループマスタ180では、図13に示すように、企業番号と、店舗グループ番号と、店舗グループ名とが対応付けられている。図13では、例えば、企業番号「1」の企業において、店舗グループ番号「12」が店舗グループ名「関東」に対応する。店舗グループ番号と店舗グループ名の対応関係は、企業間で共通していてもよい。即ち、図13に示すように、企業番号「2」の企業においても、店舗グループ番号「12」が店舗グループ名「関東」に対応する。
【0087】
また、図9の店舗マスタ200は、店舗番号と店舗名の各アイテムを含む。店舗マスタ200では、図14に示すように、店舗番号と店舗名が対応付けられている。図14では、例えば、店舗番号「170」が、店舗名「Sカフェ 丸の内店」を示す。
【0088】
また、図9の店220は、店舗番号と店舗グループ番号の各アイテムを含む。店220では、図15に示すように、店舗番号と、店舗グループ番号とが対応付けられている。図15では、例えば、店舗グループ番号「12」と、店舗番号「170」とが対応付けられている。
【0089】
また、上記の通り、図9の店220は、下の階層として、設置機器240、各機器収集データ260の各アイテムを含む。設置機器240は、機器固有番号と、使用開始日と、修理日付と、使用終了日の各アイテムを含む。設置機器240では、図16に示すように、機器固有番号と、使用開始日と、修理日付と、使用終了日とが対応付けられている。
【0090】
また、図9の各機器収集データ260は、機器固有番号と、A信号累計値と、B信号累計値と、C信号累計値の各アイテムを含む。各機器収集データ260では、図17に示すように、機器固有番号と、A信号累計値と、B信号累計値と、C信号累計値とが対応付けられている。A信号累計値、B信号累計値、C信号累計値は、それぞれ、複数個のデバイス60で発生する各イベントの累計値(即ち、イベントの発生回数の合計)を示す。
【0091】
また、図8図9では、矢印270に示すように、設置機器240の機器固有番号と、厨房機器140の機器固有番号とが関連づけられている。同様に、各機器収集データ260の機器固有番号も、厨房機器140の機器固有番号と関連づけられている。そのため、例えば、閲覧端末80において設置機器毎のイベントの発生状況を閲覧している間に、機器固有番号が選択されると、厨房機器毎のイベントの発生状況を閲覧することができる。この場合、設置機器毎のイベントの発生状況を閲覧する画面と、厨房機器毎のイベントの発生状況を閲覧する画面のどちらにも、機器固有番号に関する項目が設けられる。一般に、図8図9の矢印270で示す関連づけを「リレーション」と呼ぶ場合がある。
【0092】
このほかにも、図9の矢印280に示すように、店220の店舗グループ番号と店舗グループマスタ180の店舗グループ番号とが関連づけられている。また、矢印285に示すように、店220の店舗番号と店舗マスタ200の店舗番号とが関連づけられている。
【0093】
以上、図8図17を参照して、フォームデータの例について説明した。上記の通り、設定端末70は、フォームデータを生成すると、生成されたフォームデータをサーバ10に供給する(図2のS18参照)。サーバ10のCPU20は、フォームデータをメモリ22に格納する(図2のS20、図1の符号32参照)。
【0094】
上記の例では、設定端末70の使用者である特定のユーザが、テンプレートデータに従って情報を入力することによってフォームデータを生成する例について説明した。これに限られず、図示しない他の設定端末の使用者である他のユーザがフォームデータを生成する場合も上記と同様である。ただし、その場合、生成されるフォームデータの内容は、図8図17で説明した特定のユーザのフォームデータの内容とは異なる。
【0095】
(条件設定画面;図18
続いて、図18を参照して、設定画面データ(図2のS34)に従って表示される集計条件設定画面(S36)の例を説明する。設定端末70は、サーバ10から設定画面データを取得すると、図18に示す集計条件設定画面を表示部に表示する(図2のS34、S36参照)。
【0096】
図18の集計条件設定画面では、サーバ10に部分集計(図2のS60、S70)を行わせる際の集計条件を設定するための項目群400、420が表示されている。項目群400には、期間選択欄402、拠点選択欄404、方式選択欄406が含まれている。
【0097】
特定のユーザが期間選択欄402を選択すると、例えば、「日付」「曜日」「月」「年」「カレンダー」「設定なし」等の各アイテムを含むプルダウンメニューが表示される。プルダウンメニュー内に表示される各アイテムは、メモリ22に記憶されている入力済テンプレートデータ34の内容に従って決定される。特定のユーザは、いずれかのアイテム(例えば「曜日」)を選択すると、さらに詳細なアイテム(例えば「月曜日」等)を選択することができる。
【0098】
同様に、特定のユーザが拠点選択欄404を選択すると、例えば、「企業」「店舗グループ」「店舗」「店」等の各アイテムを含むプルダウンメニューが表示される。プルダウンメニュー内に表示される各アイテムは、メモリ22に記憶されている入力済テンプレートデータ34の内容に従って決定される。特定のユーザは、いずれかのアイテム(例えば「店舗グループ」)を選択すると、さらに詳細なアイテム(例えば「関東」等)を選択することができる。
【0099】
同様に、特定のユーザが方式選択欄406を選択すると、「AND」「OR」「NOT」の各アイテムを含むプルダウンメニューが表示される。「AND」は、期間選択欄402で選択されたアイテムの条件(例えば「月曜日」)と拠点選択欄404で選択されたアイテムの条件(例えば「関東」)とをともに満たすことを集計条件に含むことを意味する。「OR」は、期間選択欄402で選択されたアイテムの条件と拠点選択欄404で選択されたアイテムの条件の一方を満たすことを集計条件に含むことを意味する。「NOT」は、期間選択欄402で選択されたアイテムの条件と拠点選択欄404で選択されたアイテムの条件とを検索条件に含ませないことを意味する。
【0100】
項目群420にも、項目群の各欄402〜406と同様の期間選択欄422、拠点選択欄424、方式選択欄426が含まれている。項目群400で設定される条件と項目群420で設定される条件とはAND条件として設定される。
【0101】
また、図18の集計条件設定画面では、項目群追加ボタン430と決定ボタン440とがさらに表示されている。特定のユーザが項目群追加ボタン430を操作すると、項目群400、420と同様の項目群が追加される。特定のユーザが決定ボタン440を操作すると、各項目群で設定されているアイテムを含む集計条件が決定される。これにより、特定のユーザによる集計条件の設定が完了する。その場合、設定端末70は、設定された集計条件を示す条件データを生成し(S38)、生成された条件データをサーバ10に送信する(S40)。
【0102】
(条件データの例;図19
図19を参照して、条件データの例について説明する。図19では、条件データC1、C2の2つの条件データの例を説明する。条件データC1は、「期間:2015年」「拠点:関東」「方式:AND」の第1条件(図18の項目群400に対応)と、「期間:月曜日」「拠点:設定なし」「方式:NOT」の第2条件(図18の項目群420に対応)と、を含む。即ち、例1の条件データは、「2015年の関東地方の各デバイスの部分集計データを生成する。ただし月曜日のデータは部分集計データから除外する」という集計条件を示す。
【0103】
一方、条件データC2は、「期間:設定なし」「拠点:Sカフェ 丸の内店」「方式:AND」の第1条件(図18の項目群400に対応)のみを含む。即ち、例2の条件データは、「Sカフェ 丸の内店の各デバイスの部分集計データを生成する」という集計条件を示す。
【0104】
図19に示す条件データC1、C2がメモリ22に格納されている場合、サーバ10のCPU20は、1時間毎に、条件データC1が示す上記条件に従って部分集計を行い、部分集計データをメモリ22に格納する。さらに、CPU20は、条件データC2が示す上記条件に従って部分集計を行い、部分集計データをメモリ22に格納する。即ち、1時間毎に2種類の部分集計データがメモリ22に格納される(図2のS60、S62等参照)。
【0105】
(データ閲覧画面の例;図20
続いて、図20を参照して、閲覧データ(図3のS104、S114参照)に従って、特定のユーザの閲覧端末80の表示部に表示されるデータ閲覧画面の例を説明する。この例では、閲覧端末80が、閲覧要求に、「電子レンジ」「関東エリア」「Sカフェ」「1か月以内」の各閲覧条件を入力した場合を想定している。この場合、サーバ10のCPU20は、メモリ22内のデバイスデータ38(図1参照)に含まれるデバイスデータと、メモリ22内のフォームデータ32と、閲覧条件(即ち、「電子レンジ」「関東エリア」「Sカフェ」「1か月以内」の各条件)とに基づいて、閲覧データを生成し、閲覧端末80に供給する(図3のS104、S114参照)。閲覧端末80は、閲覧データを取得すると、図18に示すデータ閲覧画面を表示部に表示させる(図3のS106、S116参照)。
【0106】
図20のデータ閲覧画面では、店と、各イベント(A状態、B状態、C状態)の発生回数とが関連付けられている。例えば、「Sカフェ 丸の内店」では、1か月の間に、A状態が100回発生し、B状態が50回発生し、C状態が40回発生したことを示す。このように、閲覧端末80は、閲覧要求に含まれる閲覧条件に対応する閲覧データをサーバ10から取得し、表示部に表示させることができる。特定のユーザは、閲覧データに基づいて表示されるデータ閲覧画面を見ることにより、複数個のデバイス60における各イベントの発生状況を知ることができる(図3のS106、S116参照)。また、閲覧条件を変えて閲覧要求をサーバ10に供給することにより、様々な条件における各イベントの発生状況を知ることができる。その結果、特定のユーザは、複数個のデバイス60を適切に管理することができる。
【0107】
なお、他のユーザが、自身の閲覧端末の表示部に表示させる他のデータ閲覧画面については詳しく説明しないが、上記の閲覧データに基づくデータ閲覧画面の場合(図20参照)と同様のことが言える。
【0108】
(本実施例の作用効果)
以上、本実施例の通信システム2について説明した。上記の通り、サーバ10のCPU20は、デバイスデータ38(図1参照)内のデバイスデータを、条件データによって示される集計条件に従って一時間ごとに部分集計して部分集計データを生成し、メモリ22に格納する(図2のS60、S62、S70、S72参照)。また、CPU20は、閲覧端末80から閲覧要求を取得すると、メモリ22内の部分集計データを利用して閲覧データを生成し、生成された閲覧データを閲覧端末80に供給する(図3参照)。即ち、CPU20は、メモリ22内の部分集計データを利用して閲覧データを生成するため、閲覧データを短時間で生成して閲覧端末80に供給し得る。従って、本実施例によると、サーバ10が閲覧データを短時間で生成することができるとともに、閲覧データ生成時におけるサーバ10の負担も少なく済む。
【0109】
閲覧データ生成時におけるサーバ10の負担を少なくして、閲覧データを短時間で提供するために、例えば、「各デバイスからデバイスデータを取得する毎に、サーバ10のCPU20が全集計を行う」という構成を採用することも考えられる。しかしながら、この構成を採用する場合、デバイスデータを取得する毎に作成される全パターン分の部分集計データの大部分は、閲覧データの生成の際に利用される可能性が殆どない無駄なデータになり得る。この点、本実施例によると、上述の通り、サーバ10のCPU20が一時間ごとに行う部分集計は、条件データによって示される集計条件に従ったものに限られる。集計条件は、ユーザによって設定された条件であるため、ユーザが将来、集計条件に対応する閲覧条件に従ったデータの閲覧を希望する可能性も高い。従って、本実施例によると、無駄な部分集計データの生成を抑制することもできる。
【0110】
また、サーバ10のCPU20は、1日毎に全集計を行い、全階層に対応する部分集計データを生成し、メモリ22に格納する(S80、S82)。即ち、1日毎という比較的長いタイミング毎に(少なくとも、S60、S70の部分集計が行われるタイミングよりも長いタイミング毎に)、全階層に対応する部分集計データがメモリ22に格納される。そのため、本実施例では、サーバ10は、例えば特定のユーザが集計条件を変更した場合等、ユーザが新たな集計条件を設定した場合であっても、短時間で、当該新たな集計条件に従った部分集計データを生成することができる。また、本実施例では、全集計を行うのは1日に1回であるため、サーバ10の負担も比較的少なく済む。
【0111】
図19の条件データC1、C2が示すように、集計条件は拠点(例えば、「関東」、「Sカフェ 丸の内店」等)を示す情報を含む。その場合、サーバ10のCPU20は、ユーザによって特定された拠点に関係する部分集計データを集計する。従って、サーバ10は、ユーザによって特定された拠点に関係する閲覧データを短時間で生成することができる。
【0112】
また、本実施例では、サーバ10のCPU20は、設定端末70から設定画面要求(図2のS30)を取得すると、設定端末70に設定画面データを供給する(図2のS34)。特定のユーザは、設定端末70に表示された集計条件設定画面(図18参照)に従って集計条件を特定することができる。そのため、特定ユーザは比較的容易に集計条件を特定し得る。
【0113】
また、本実施例では、条件データが示す集計条件が、集計の必要がない除外条件(即ち、「方式:NOT」を含む条件)を含む場合もある。集計条件が除外条件を含む場合、CPU20は、除外条件に対応するデータを除外して部分集計データを生成する。そのため、サーバ10が無駄なデータの集計をする必要がない。サーバ10の負荷をさらに軽減することができる。
【0114】
(対応関係)
設定端末70及び閲覧端末80が「端末装置」の一例である。図8図9に示されるツリー構造が「フォームデータによって示される様式」の一例である。機器固有番号が「デバイス特定情報」の一例である。図1のデバイスデータ38内の各デバイスデータが「格納済データ」の一例である。図9の符号170〜220が「拠点情報」の一例である。図8の符号102〜110が「期間情報」の一例である。S50、S54、S64のデバイスデータを取得することが「デバイスデータ取得部」が実行する処理の一例である。S52、S56、S66が「デバイスデータ格納部」が実行する処理の一例である。S60、S70が「部分集計部」が実行する処理の一例である。S62、S72が「部分集計データ格納部」が実行する処理の一例である。S100、S110の閲覧要求を取得することが「要求取得部」が実行する処理の一例である。S102、S112が「閲覧データ生成部」が実行する処理の一例である。S104、S114が「閲覧データ供給部」が実行する処理の一例である。S34が「画面データ供給部」が実行する処理の一例である。S40の条件データを取得することが「条件データ取得部」が実行する処理の一例である。S42が「条件データ格納部」が実行する処理の一例である。
【0115】
以上、実施例を詳細に説明したが、これらは例示に過ぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。例えば、以下の変形例を採用してもよい。
【0116】
(変形例1)CPU20は、1時間毎に限らず、他のタイミング毎に、メモリ22内の条件データが示す集計条件に従って部分集計を行ってもよい。例えば、CPU20は、デバイス60からデバイスデータを取得する毎に、メモリ22内の条件データが示す集計条件に従って部分集計を行ってもよい。
【0117】
(変形例2)また、CPU20は、1日毎に限らず、他のタイミング毎(例えば3日毎)に全集計を行ってもよい。この場合、CPU20が全集計を行うタイミングは、CPU20がメモリ22内の条件データが示す集計条件に従って部分集計を行うタイミングよりも長い期間であることが好ましい。
【0118】
(変形例3)図18の方式選択欄406において、「NOT」が選択できないようにされていてもよい。その場合、集計条件は、除外条件を含まなくてもよい。
【0119】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20