(57)【要約】  サーバ１０は、設定端末７０から仮想フォームデータを取得し（Ｓ６８）、メモリに格納する（Ｓ７０）。次いで、サーバ１０は、メモリに格納された仮想フォームデータに従って、複数個の仮想デバイス９０をメモリ内に仮想的に再現する（Ｓ７２）。仮想デバイス９０は、イベントが仮想的に発生する毎に、仮想デバイスデータをサーバ１０に供給する（Ｓ８０、Ｓ８４）。サーバ１０は、仮想デバイス９０から仮想デバイスデータを取得する毎に、取得された仮想デバイスデータをメモリに格納する（Ｓ８２、Ｓ８６）。サーバ１０は、設定端末７０から仮想閲覧データ要求を取得すると（Ｓ８８）、仮想デバイス９０における各イベントの発生状況を示す仮想閲覧データを生成し（Ｓ９０）、設定端末７０に供給する（Ｓ９２）。
2016151757.tif 000002
【特許請求の範囲】
【請求項１】
管理対象の複数個の実デバイスのそれぞれから実デバイスデータを取得してメモリに格納するとともに、前記メモリ内に仮想的に再現された複数個の仮想デバイスのそれぞれから仮想デバイスデータを取得して前記メモリに格納するサーバであって、
前記サーバは、
ユーザが前記複数個の実デバイスを管理するために用いるユーザ端末に、前記複数個の実デバイスのそれぞれから取得される前記実デバイスデータを前記メモリに格納する様式を設定するためのテンプレートデータを供給するテンプレートデータ供給部と、
前記ユーザ端末から、前記テンプレートデータに基づいて生成された実フォームデータを取得する実フォームデータ取得部であって、
前記実フォームデータは、前記テンプレートデータに従って入力された実入力済テンプレートデータと、前記テンプレートデータに基づいて生成された実マスタデータと、を含み、
前記実入力済テンプレートデータは、前記複数個の実デバイスの配置場所に関係する拠点構造情報を含み、
前記実マスタデータは、前記拠点構造情報に対応する複数個の拠点のそれぞれに配置される実デバイスに関係する情報を含む、
前記実フォームデータ取得部と、
前記実フォームデータを前記メモリに格納する実フォームデータ格納部と、
前記複数個の実デバイスのそれぞれから前記実デバイスデータを取得する実デバイスデータ取得部であって、
各実デバイスデータは、
当該実デバイスデータの供給元である特定実デバイスを識別するためのデバイス識別情報と、
前記特定実デバイスで発生するイベントの発生時間に関係する時間情報と、
前記特定実デバイスで発生する前記イベントの種類を示す種類情報と、を含む、
前記実デバイスデータ取得部と、
取得された前記実デバイスデータを、前記実フォームデータによって示される様式に従って前記メモリに格納する実デバイスデータ格納部と、
前記複数個の実デバイスから取得されて前記メモリに格納された前記実デバイスデータである実格納済データに基づいて、前記複数個の実デバイスにおける各イベントの発生状況を示す実閲覧データを生成する、実閲覧データ生成部と、
前記実閲覧データを前記ユーザ端末に供給する、実閲覧データ供給部と、を備え、
前記サーバは、さらに、
仮想フォームデータを前記メモリに格納する仮想フォームデータ格納部であって、
前記仮想フォームデータは、仮想入力済テンプレートデータと、仮想マスタデータと、を含み、
前記仮想入力済テンプレートデータは、前記複数個の仮想デバイスの仮想配置場所に関係する仮想拠点構造情報を含み、
前記仮想マスタデータは、前記仮想拠点構造情報に含まれる複数個の仮想拠点のそれぞれに含まれる仮想デバイスに関係する情報を含む、
前記仮想フォームデータ格納部と、
前記仮想フォームデータに従って、前記複数個の仮想デバイスを前記メモリ内に仮想的に再現する仮想デバイス再現部と、
前記メモリ内に仮想的に再現された前記複数個の仮想デバイスのそれぞれから仮想デバイスデータを取得する仮想デバイスデータ取得部であって、
各仮想デバイスデータは、
当該仮想デバイスデータの供給元である特定仮想デバイスを識別するためのデバイス識別情報と、
前記特定仮想デバイスで仮想的に発生するイベントの発生時間に関係する時間情報と、
前記特定仮想デバイスで仮想的に発生する前記イベントの種類を示す種類情報と、を含む、
前記仮想デバイスデータ取得部と、
取得された前記仮想デバイスデータを、前記仮想フォームデータによって示される様式に従って前記メモリに格納する仮想デバイスデータ格納部と、
前記複数個の仮想デバイスから取得されて前記メモリに格納された前記仮想デバイスデータである仮想格納済データに基づいて、前記複数個の仮想デバイスにおける各イベントの発生状況を示す仮想閲覧データを生成する、仮想閲覧データ生成部と、
前記仮想閲覧データを前記ユーザ端末に供給する、仮想閲覧データ供給部と、
を備えるサーバ。
【請求項２】
前記サーバは、さらに、
前記ユーザ端末から、前記テンプレートデータに基づいて生成された前記仮想フォームデータを取得する第１の仮想フォームデータ取得部を備え、
前記仮想フォームデータ格納部は、前記ユーザ端末から取得される前記仮想フォームデータを前記メモリに格納する、請求項１に記載のサーバ。
【請求項３】
前記サーバは、さらに、
前記ユーザ端末から、前記メモリに格納される前記実フォームデータに基づいて生成された前記仮想フォームデータを取得する第２の仮想フォームデータ取得部を備え、
前記仮想フォームデータ格納部は、前記ユーザ端末から取得される前記仮想フォームデータを前記メモリに格納する、請求項１又は２に記載のサーバ。
【請求項４】
前記仮想入力済テンプレートデータは、前記実入力済テンプレートデータと同じデータを含む、請求項３に記載のサーバ。
【請求項５】
前記サーバは、
前記ユーザの指示に従って、前記仮想デバイスに前記イベントを仮想的に発生させるイベント発生部をさらに備える、請求項１から４のいずれか一項に記載のサーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書によって開示される技術は、デバイスからデータを取得し、取得されたデータに基づいて閲覧データを生成して供給するサーバに関する。
【背景技術】
【０００２】
例えば、日経エレクトロニクス１−６−２０１４「Ｍ２Ｍ再発見」（以下、非特許文献１という）には、Ｍ２Ｍ（Machine To Machineの略）通信を利用したシステムの例として、建設機械の稼働状況を監視するシステム、エレベータの稼働状況を監視するシステム、自動販売機等の販売実績情報を収集するシステム等が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
非特許文献１の各システムでは、デバイス（建設機械、エレベータ、自動販売機、等）が、稼働状況を示す情報をサーバに供給する。サーバは、各デバイスから集めたデータを用いてデータベースを作成し、各デバイスを管理する管理装置の要求に応じて、管理装置にデータベース内のデータを供給する。【０００４】
従来、非特許文献１の各システムを構築しようとすると、システム毎にサーバに詳細なプログラミングを行う必要があり、システム構築者の負担が大きい。また、非特許文献１の各システムを実際に構築する場合に、システム毎に定義された様式に従ってどのようにデータベースが作成されるのかをシミュレーションしたいというユーザの要望もある。【０００５】
本明細書では、デバイスを管理するためのシステムを構築する際のシステム構築者の負担を軽減することができるとともに、データの取得及び閲覧データの生成のシミュレーションを適切に行い得る技術を提供する。【０００６】
本明細書によって開示される一つの技術は、管理対象の複数個の実デバイスのそれぞれから実デバイスデータを取得してメモリに格納するとともに、メモリ内に仮想的に再現された複数個の仮想デバイスのそれぞれから仮想デバイスデータを取得してメモリに格納するサーバである。サーバは、テンプレートデータ供給部と、実フォームデータ取得部と、実フォームデータ格納部と、実デバイスデータ取得部と、実デバイスデータ格納部と、実閲覧データ生成部と、実閲覧データ供給部と、を備える。テンプレートデータ供給部は、ユーザが複数個の実デバイスを管理するために用いるユーザ端末に、複数個の実デバイスのそれぞれから取得される実デバイスデータをメモリに格納する様式を設定するためのテンプレートデータを供給する。実フォームデータ取得部は、ユーザ端末から、テンプレートデータに基づいて生成された実フォームデータを取得する。実フォームデータは、テンプレートデータに従って入力された実入力済テンプレートデータと、テンプレートデータに基づいて生成された実マスタデータと、を含む。実入力済テンプレートデータは、複数個の実デバイスの配置場所に関係する拠点構造情報を含む。実マスタデータは、拠点構造情報に対応する複数個の拠点のそれぞれに配置される実デバイスに関係する情報を含む。実フォームデータ格納部は、実フォームデータをメモリに格納する。実デバイスデータ取得部は、複数個の実デバイスのそれぞれから実デバイスデータを取得する。各実デバイスデータは、当該実デバイスデータの供給元である特定実デバイスを識別するための実デバイス識別情報と、特定実デバイスで発生するイベントの発生時間に関係する時間情報と、特定実デバイスで発生するイベントの種類を示す種類情報と、を含む。実デバイスデータ格納部は、取得された実デバイスデータを、実フォームデータによって示される様式に従ってメモリに格納する。実閲覧データ生成部は、複数個の実デバイスから取得されてメモリに格納された実デバイスデータである実格納済データに基づいて、複数個の実デバイスにおける各イベントの発生状況を示す実閲覧データを生成する。実閲覧データ供給部は、実閲覧データをユーザ端末に供給する。サーバは、さらに、仮想フォームデータ格納部と、仮想デバイス再現部と、仮想デバイスデータ取得部と、仮想デバイスデータ格納部と、仮想閲覧データ生成部と、仮想閲覧データ供給部と、を備える。仮想フォームデータ格納部は、仮想フォームデータをメモリに格納する。仮想フォームデータは、仮想入力済テンプレートデータと、仮想マスタデータと、を含む。仮想入力済テンプレートデータは、複数個の仮想デバイスの仮想配置場所に関係する仮想拠点構造情報を含む。仮想マスタデータは、仮想拠点構造情報に含まれる複数個の仮想拠点のそれぞれに含まれる仮想デバイスに関係する情報を含む。仮想デバイス再現部は、仮想フォームデータに従って、複数個の仮想デバイスをメモリ内に仮想的に再現する。仮想デバイスデータ取得部は、メモリ内に仮想的に再現された複数個の仮想デバイスのそれぞれから仮想デバイスデータを取得する。各仮想デバイスデータは、当該仮想デバイスデータの供給元である特定仮想デバイスを識別するためのデバイス識別情報と、特定仮想デバイスで仮想的に発生するイベントの発生時間に関係する時間情報と、特定仮想デバイスで仮想的に発生するイベントの種類を示す種類情報と、を含む。仮想デバイスデータ格納部は、取得された仮想デバイスデータを、仮想フォームデータによって示される様式に従ってメモリに格納する。仮想閲覧データ生成部は、複数個の仮想デバイスから取得されてメモリに格納された仮想デバイスデータである仮想格納済データに基づいて、複数個の仮想デバイスにおける各イベントの発生状況を示す仮想閲覧データを生成する。仮想閲覧データ供給部は、仮想閲覧データをユーザ端末に供給する。【０００７】
ここで、「テンプレートデータを供給する」とは、テンプレートデータ一式をユーザ端末に送信することと、ユーザ端末が、サーバにアクセスして、テンプレートデータに従って表示される表示画面を見て、その表示画面に従って情報を入力することができることの両方を含む。また、「ユーザ端末」は、ユーザが実フォームデータを生成するための設定端末と、ユーザが閲覧データを閲覧するための閲覧端末と、を含む。【０００８】
上記のサーバによると、各ユーザは、サーバから供給されたテンプレートデータに従って情報を入力することにより、実デバイスデータをメモリに格納する様式を簡単に設定することができる。サーバは、実フォームデータによって示される様式に従って実デバイスデータをメモリに格納し、メモリに格納された格納済データを用いて実閲覧データを生成する。そのため、ユーザ毎に、複数個の実デバイスのそれぞれから情報を収集して当該複数個の実デバイスを管理するためのシステムを構築する際に、サーバにおいて、システム毎に異なるプログラミングを行う必要がない。また、上記のサーバは、複数個の実デバイスのそれぞれから実デバイスデータを取得する。各実デバイスから実デバイスデータを取得する場合、実デバイスに対して行うべき電文設計の内容は決まっている。そのため、実デバイスデータの取得のために、実デバイス毎に異なる電文設計を行う必要もない。従って、上記のサーバを用いてシステムを構築することにより、実デバイスを管理するためのシステムを構築する際のシステム構築者の負担を軽減することができる。また、上記のサーバは、メモリ内の仮想フォームデータに従って、複数個の仮想デバイスをメモリ内に仮想的に再現し、複数個の仮想デバイスのそれぞれから仮想デバイスデータを取得する。さらに、サーバは、仮想格納済データに基づいて仮想閲覧データを生成し、ユーザ端末に供給する。従って、上記のサーバは、データの取得及び閲覧データの生成のシミュレーションを、仮想フォームデータによって示される様式に従って適切に行い得る。【０００９】
なお、上記のサーバを実現するための制御方法、コンピュータプログラム、及び、当該コンピュータプログラムを格納するコンピュータ読取可能記録媒体も、新規で有用である。また、上記のサーバと、複数個の実デバイスと、ユーザ端末と、を含む通信システムも、新規で有用である。
【図面の簡単な説明】
【００１０】
【図１】通信システムの構成を示す。
【図２】第１実施例の通信システムの動作概要のシーケンスチャート（１）を示す。
【図３】第１実施例の通信システムの動作概要のシーケンスチャート（２）を示す。
【図４】実デバイスデータの生成手法の例を示す。
【図５】実デバイスデータの例を示す。
【図６】テンプレートデータ表示画面の例を示す。
【図７】設定画面の例を示す。
【図８】実入力済テンプレートデータの例を示す。
【図９】実入力済テンプレートデータの例の続きを示す。
【図１０】厨房機器種類の対応表を示す。
【図１１】厨房機器の対応表を示す。
【図１２】企業マスタの対応表を示す。
【図１３】店舗グループマスタの対応表を示す。
【図１４】店舗マスタの対応表を示す。
【図１５】店の対応表を示す。
【図１６】設置機器の対応表を示す。
【図１７】各機器収集データの対応表を示す。
【図１８】実データ閲覧画面の例を示す。
【図１９】仮想店舗マスタの対応表を示す。
【図２０】仮想デバイス画像の例を示す。
【図２１】仮想データ閲覧画面の例を示す。
【図２２】第２実施例の通信システムの動作概要のシーケンスチャートを示す。
【００１１】
以下に説明する実施例の主要な特徴を列記しておく。なお、以下に記載する技術要素は、それぞれ独立した技術要素であって、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。【００１２】
（特徴１）サーバは、さらに、ユーザ端末から、テンプレートデータに基づいて生成された仮想フォームデータを取得する第１の仮想フォームデータ取得部を備えてもよい。仮想フォームデータ格納部は、ユーザ端末から取得される仮想フォームデータをメモリに格納してもよい。【００１３】
この構成によると、サーバは、ユーザ端末においてテンプレートデータに基づいて生成された仮想フォームデータを取得する。サーバは、当該仮想フォームデータに従って、複数個の仮想デバイスをメモリ内に仮想的に再現し、複数個の仮想デバイスのそれぞれから仮想デバイスデータを取得する。従って、この構成によると、サーバは、ユーザ端末においてテンプレートデータに基づいて生成された仮想フォームデータに従って、データの取得及び閲覧データの生成のシミュレーションを行い得る。従って、例えば、ユーザは、実デバイスを管理するためのシステムを実際に構築する前において、仮想フォームデータによって示される様式に従って、データの取得及び閲覧データの生成のシミュレーションを行うことができる。このサーバを用いて、実デバイスを管理するためのシステムを実際に構築する場合のシミュレーション結果を適切にユーザに供給し得る。【００１４】
（特徴２）サーバは、さらに、ユーザ端末から、メモリに格納される実フォームデータに基づいて生成された仮想フォームデータを取得する第２の仮想フォームデータ取得部を備えてもよい。仮想フォームデータ格納部は、ユーザ端末から取得される仮想フォームデータをメモリに格納してもよい。【００１５】
この構成によると、サーバは、メモリに既に格納されている実フォームデータに基づいて生成された仮想フォームデータに従って、データの取得及び閲覧データの生成のシミュレーションを行い得る。従って、例えば、ユーザは、実デバイスを管理するためのシステムを実際に構築した後において、当該システムで用いられている実フォームデータに基づいて実フォームデータとは異なる仮想フォームデータを生成し、当該仮想フォームデータによって示される様式に従って、データの取得及び閲覧データの生成のシミュレーションを行うことができる。そのため、このサーバによると、システム構築後の現実的なシミュレーション結果をユーザに供給し得る。従って、この場合も、シミュレーション結果を適切にユーザに供給し得る。【００１６】
（特徴３）仮想入力済テンプレートデータは、実入力済テンプレートデータと同じデータを含んでもよい。【００１７】
この構成によると、実入力済テンプレートデータと同じデータを含む仮想入力済テンプレートデータに従って、シミュレーションを行うことができる。実際の複数個の実デバイスの配置場所に関係する拠点構造に従ったシミュレーション結果をユーザに供給し得る。【００１８】
（特徴４）サーバは、ユーザの指示に従って、仮想デバイスにイベントを仮想的に発生させるイベント発生部をさらに備えてもよい。【００１９】
この構成によると、サーバは、ユーザの指示に従って、仮想デバイスにイベントを仮想的に発生させることができる。そのため、サーバは、ユーザの想定する状況に応じたシミュレーション結果をユーザに提供し得る。【００２０】
（第１実施例）
（通信システム２の構成；図１）
図１に示すように、通信システム２は、サーバ１０と、複数個の実デバイス６０と、設定端末７０と、閲覧端末８０と、を備える。複数個の実デバイス６０、設定端末７０、閲覧端末８０は、それぞれ、サーバ１０と通信可能に備えられている。図１の例では、複数個の実デバイス６０は、例えば、電子レンジ６０ａと、オーブン６０ｂと、食器洗浄機６０ｃと、を含む。本実施例では、複数個の実デバイス６０は、例えば、特定のユーザに属する。特定のユーザは、複数個の実デバイス６０のベンダである厨房機器メーカーである。【００２１】
また、図示しないが、通信システム２は、特定のユーザとは異なるユーザ（以下では「他のユーザ」と呼ぶ）に属する複数個の実デバイスと、設定端末と、閲覧端末と、をさらに備えている。これらの他のユーザに属する実デバイス、設定端末、及び、閲覧端末も、サーバ１０と通信可能に備えられている。即ち、本実施例の通信システム２は、特定のユーザが、サーバ１０を利用して複数個の実デバイス６０を管理するための第１のシステムを含むと共に、他のユーザが、サーバ１０を利用して他のユーザに属する複数個の実デバイスを管理するための第２のシステムを含む、と言うことができる。この場合、第１のシステムは、複数個の実デバイス６０と、サーバ１０と、設定端末７０と、閲覧端末８０とを含む。第２のシステムは、他のユーザに属する複数個の実デバイス（図示しない）と、サーバ１０と、他のユーザに属する設定端末及び閲覧端末（図示しない）を含む。【００２２】
（複数個の実デバイス６０）
上記の通り、複数個の実デバイス６０は、電子レンジ６０ａと、オーブン６０ｂと、食器洗浄機６０ｃと、を含む。本実施例における「実デバイス」とは、実際に存在するデバイスという意味を含む。複数個の実デバイス６０は、これら以外の図示しない実デバイスも含んでいる。以下では、複数個の実デバイス６０に含まれる各デバイス（例えば電子レンジ６０ａ等）のことを単に「実デバイス６０」と呼ぶ場合がある。複数個の実デバイス６０のそれぞれは、デバイスを識別するための機器固有番号を記憶している。また、複数個の実デバイス６０のそれぞれは、サーバ１０に、実デバイスデータを供給することができる。ここで、「実デバイスデータ」は、当該実デバイスデータの供給元である実デバイス（特定実デバイスと呼ぶ）を識別するためのデバイス識別情報（即ち、機器固有番号）と、特定デバイスで発生するイベントの種類を示す種類情報と、特定実デバイスで発生するイベントの発生時間を示す時間情報とを含むデータである。【００２３】
（サーバ１０）
サーバ１０は、通信インターフェース（以下では「通信Ｉ／Ｆ」と呼ぶ）１２と、制御部１４とを有している。通信Ｉ／Ｆ１２は、外部の装置（例えば、複数個の実デバイス６０、設定端末７０、閲覧端末８０）と通信を行うためのインターフェースである。制御部１４は、ＣＰＵ２０と、メモリ２２と、を有する。ＣＰＵ２０は、メモリ２２に格納されているプログラム２４に従って、様々な処理を実行する。メモリ２２は、ＲＯＭ、ＲＡＭ、ハードディスク等によって構成される。【００２４】
メモリ２２は、上記のプログラム２４と、テンプレートデータ２６と、ユーザデータ２８とを格納する。【００２５】
テンプレートデータ２６は、サーバ１０を利用するユーザ（例えば、特定のユーザ）のデバイス（例えば、実デバイス６０）からサーバ１０が取得する実デバイスデータを、サーバ１０のメモリ２２に格納する様式を設定するためのデータである。テンプレートデータは、実デバイスで発生する各イベントに関するメタデータを入力するためのデータである、と言い換えてもよい。サーバ１０を利用するユーザは、サーバ１０にアクセスし、テンプレートデータ２６に従って情報を入力することにより、上記実デバイスデータをサーバ１０のメモリ２２に格納する際の様式を設定することができる（即ち、実フォームデータをメモリ２２に格納させることができる）。テンプレートデータ２６の詳しい内容、及び、実フォームデータの詳しい内容については後で詳しく説明する。【００２６】
ユーザデータ２８は、特定のユーザが複数個の実デバイス６０を管理することに関係する様々なデータを含む。なお、図示していないが、メモリ２２には、他のユーザが他のユーザに属する実デバイスを管理することに関する他のユーザデータも格納されている。ただし、以下では、特定のユーザに関係するユーザデータ２８についてのみ説明する。ユーザデータ２８は、実デバイスデータの取得と格納に関係する実データ関係領域３０と、後で説明する仮想デバイスデータの取得と格納に関係する仮想データ関係領域４０とを含む。【００２７】
実データ関係領域３０には、実フォームデータ３２と、第１データベース３８と、が含まれる。実フォームデータ３２は、実入力済テンプレートデータ３４と実マスタデータ３６とを含む。【００２８】
実フォームデータ３２（即ち、実入力済テンプレートデータ３４及び実マスタデータ３６）は、設定端末７０から取得されるデータである。即ち、特定のユーザは、設定端末７０を用いてサーバ１０にアクセスし、上述のテンプレートデータ２６に従って情報を入力することにより、実入力済テンプレートデータ３４及び実マスタデータ３６を生成することができる。実入力済テンプレートデータ３４は、複数個の実デバイス６０の配置場所に関係する拠点構造を示す情報（即ち、拠点構造情報）を含む。実マスタデータ３６は、拠点構造情報が示す複数個の拠点のそれぞれに配置される実デバイスに関係する情報を含む。実入力済テンプレートデータ３４の例（図８、図９参照）、及び、実マスタデータ３６の例（図１０〜図１７参照）については、後で詳しく説明する。上記の実フォームデータ３２は、複数個の実デバイス６０から取得される実デバイスデータをメモリ２２に格納する際の様式を示している。また、実フォームデータ３２によって示される様式は、複数個の実デバイス６０から取得される実デバイスデータを閲覧する際の階層構造も示している。サーバ１０のＣＰＵ２０は、設定端末７０から上記の実フォームデータ３２を取得すると、取得された実フォームデータ３２をメモリ２２内に格納する。【００２９】
第１データベース３８は、複数個の実デバイス６０から通信Ｉ／Ｆ１２を介して取得された実デバイスデータを、実フォームデータ３２によって示される様式に従ってメモリ２２に格納させた結果として形成されるデータベースである。【００３０】
仮想データ関係領域４０には、仮想フォームデータ４２と、第２データベース４８と、が含まれる。仮想フォームデータ４２は、仮想入力済テンプレートデータ４４と、仮想マスタデータ４６とを含む。【００３１】
また、仮想データ関係領域４０には、仮想フォームデータ４２に従って、サーバ１０のＣＰＵ２０によって仮想的に再現された複数個の仮想デバイス９０（電子レンジ９０ａ、オーブン９０ｂ、食器洗浄機９０ｃ等）が含まれている。本実施例における「仮想デバイス」とは、実際に存在しないデバイスという意味を含む。以下では、複数個の仮想デバイス９０に含まれる各デバイス（例えば電子レンジ９０ａ等）のことを単に「仮想デバイス９０」と呼ぶ場合がある。仮想デバイス９０は、デバイスの動作を再現可能なデータ群と言い換えることができる。図１の例では、複数個の仮想デバイス９０は、複数個の実デバイス６０と同様の仮想デバイス（電子レンジ９０ａ、オーブン９０ｂ、食器洗浄機９０ｃ）を含むとともに、複数個の実デバイス６０には含まれない仮想デバイス（図示しない）も含んでいてもよい。複数個の仮想デバイス９０のそれぞれは、当該仮想デバイスを識別するための機器固有番号を記憶している。また、複数個の仮想デバイス９０のそれぞれは、サーバ１０に、仮想デバイスデータを供給することができる。ここで、「仮想デバイスデータ」は、当該仮想デバイスデータの供給元である仮想デバイス（特定仮想デバイスと呼ぶ）を識別するためのデバイス識別情報（即ち、機器固有番号）と、特定仮想デバイスで発生するイベントの種類を示す種類情報と、特定仮想デバイスで発生するイベントの発生時間を示す時間情報とを含むデータである。サーバ１０のＣＰＵ２０は、複数個の仮想デバイス９０のそれぞれから供給された仮想デバイスデータを、実デバイスデータを取得する場合と同様に、通信Ｉ／Ｆ１２を介して取得することができる。【００３２】
仮想フォームデータ４２（即ち、仮想入力済テンプレートデータ４４及び仮想マスタデータ４６）も、設定端末７０から取得されるデータである。本実施例では、仮想フォームデータ４２は、既にメモリ２２に格納されている実フォームデータ３２に基づいて生成されるデータである。即ち、特定のユーザは、設定端末７０を用いてサーバ１０にアクセスし、上述の実フォームデータ３２に従って情報を入力する（具体的には、実マスタデータ３６の内容を一部変更する）ことにより、仮想入力済テンプレートデータ４４及び仮想マスタデータ４６を生成することができる。本実施例では、仮想入力済テンプレートデータ４４は、実入力済テンプレートデータ３４と同じ内容を含む。ただし、変形例では、仮想入力済テンプレートデータ４４が、実入力済テンプレートデータ３４と異なる内容を含んでいてもよい。【００３３】
仮想入力済テンプレートデータ４４は、複数個の仮想デバイス９０の配置場所に関係する拠点構造を示す情報（即ち、拠点構造情報）を含む。仮想マスタデータ４６は、拠点構造情報が示す複数個の拠点のそれぞれに配置される仮想デバイスに関係する情報を含む。仮想フォームデータ４２は、複数個の仮想デバイス９０から取得される仮想デバイスデータをメモリ２２に格納する際の様式を示している。また、仮想フォームデータ４２によって示される様式は、複数個の仮想デバイス９０から取得される仮想デバイスデータを閲覧する際の階層構造も示している。サーバ１０のＣＰＵ２０は、設定端末７０から上記の仮想フォームデータ４２を取得すると、取得された仮想フォームデータ４２をメモリ２２内に格納する。また、ＣＰＵ２０は、仮想フォームデータ４２に従って、上記の複数個の仮想デバイス９０をメモリ２２内に再現する。【００３４】
第２データベース４８は、複数個の仮想デバイス９０から通信Ｉ／Ｆ１２を介して取得された仮想デバイスデータを、仮想フォームデータ４２によって示される様式に従ってメモリ２２に格納させた結果として形成されるデータベースである。【００３５】
（設定端末７０、閲覧端末８０）
設定端末７０は、例えば、特定のユーザのＰＣ等の端末装置である。閲覧端末８０は、例えば、特定のユーザのタブレット端末等の端末装置である。設定端末７０、閲覧端末８０は、いずれも、図示しない操作部、表示部、制御部を有している。設定端末７０、閲覧端末８０は、それぞれ、図示しないネットワークを介して、サーバ１０と通信可能に備えられている。本実施例では、設定端末７０と閲覧端末８０が別個の端末として構成されている。これに限られず、変形例では、設定端末７０と閲覧端末８０とが１個の端末として構成されていてもよい。【００３６】
（通信システム２の動作の概要；図２、図３）
続いて、図２、図３を参照して、通信システム２における各構成要素の動作の概要を説明する。【００３７】
図２は、サーバ１０が、設定端末７０から実フォームデータを取得し、その後、実デバイス６０から実デバイスデータを取得し、実閲覧データを閲覧端末８０に供給する場合における各構成要素の動作の概要を示す。【００３８】
設定端末７０は、特定のユーザの指示に従ってサーバ１０にアクセスし、サーバ１０にテンプレート要求を供給する（Ｓ１０）。【００３９】
サーバ１０のＣＰＵ２０は、設定端末７０からテンプレート要求を取得すると、メモリ２２内のテンプレートデータ２６を設定端末７０に供給する（Ｓ１２）。【００４０】
設定端末７０は、サーバ１０からテンプレートデータを取得すると、テンプレートデータ表示画面を表示部に表示させる（Ｓ１４）。テンプレートデータ表示画面の内容については後で詳しく説明する（図６参照）。特定のユーザは、設定端末７０の操作部を操作して、テンプレートデータに従って情報を入力する（Ｓ１６）。この結果、実入力済テンプレートデータ（図８、図９参照）、及び、実マスタデータ（図１０〜図１７参照）が生成される。設定端末７０は、生成された実入力済テンプレートデータ及び実マスタデータ（即ち、実フォームデータ）を、サーバ１０に供給する（Ｓ１８）。【００４１】
サーバ１０のＣＰＵ２０は、設定端末７０から実フォームデータを取得すると、取得された実フォームデータをメモリ２２に格納する（Ｓ２０）（図１の符号３２参照）。【００４２】
その後、実デバイス６０は、実デバイス６０でイベント（例えば、電源ＯＮ、加熱開始、異常動作、等）が発生する毎に、実デバイスデータをサーバ１０に供給する（Ｓ２２、Ｓ２６）。上記の通り、実デバイスデータは、実デバイス６０を識別するための機器固有番号と、発生したイベントの種類を示す種類情報と、発生したイベントの発生時間を示す時間情報とを含む。実デバイス６０が実デバイスデータを生成する手法、及び、実デバイスデータの内容は、図４、図５を参照して後で詳しく説明する。【００４３】
サーバ１０のＣＰＵ２０は、実デバイス６０から実デバイスデータを取得する毎に、取得された実デバイスデータをメモリ２２に格納する（Ｓ２４、Ｓ２８）。ＣＰＵ２０は、取得された実デバイスデータをメモリ２２に格納する際、メモリ２２に格納されている実フォームデータ３２が示す様式に従って格納する。これにより、メモリ２２内に、第１データベース３８が構築される。さらに、Ｓ２４、Ｓ２８では、ＣＰＵ２０は、取得された実デバイスデータに基づいて、実デバイス６０のイベントの発生状況を集計して集計データを生成する（Ｓ２４、Ｓ２８）。サーバ１０は、集計データもメモリ２２に格納する。【００４４】
ＣＰＵ２０は、メモリ２２内の第１データベース３８に含まれる実デバイスデータを用いれば、実デバイス６０におけるイベントの発生状況を時系列に沿って適切に再現することができる。【００４５】
その後、閲覧端末８０は、特定のユーザの指示に従って、サーバ１０にアクセスし、サーバ１０に実閲覧データ要求を送信する（Ｓ３０）。実閲覧データ要求は、閲覧端末８０がデータの閲覧を要求する階層（例えば、実デバイス６０の設置地区等）を示す情報を含む。ここで、「階層」は、実デバイス６０の配置場所に関係する「拠点」と言い換えてもよい。【００４６】
サーバ１０のＣＰＵ２０は、閲覧端末８０から実閲覧データ要求を取得すると、メモリ２２内の第１データベース３８に含まれる実デバイスデータと、実フォームデータ３２と、取得された実閲覧データ要求とに基づいて、実デバイス６０における各イベントの発生状況を示す実閲覧データを生成する（Ｓ３２）。この際、ＣＰＵ２０は、実閲覧データ要求に含まれる情報が示す階層に対応するイベントの発生状況（例えば、設置地区ごとのイベントの発生状況）を示す実閲覧データを生成する。また、ＣＰＵ２０は、実閲覧データを生成する際、予め生成されている集計データを利用する。ＣＰＵ２０は、既に生成されている集計データを利用して実閲覧データを生成するため、実閲覧データ要求が取得された後に、データの集計を行った上で実閲覧データを生成する必要がない。そのため、ＣＰＵ２０が実閲覧データを生成する際の負担は小さく済む。さらに、ＣＰＵ２０は、閲覧端末８０から実閲覧データ要求を取得した後、短時間で実閲覧データを生成して閲覧端末８０に供給することができる。特定のユーザを長時間待たせることもない。【００４７】
実閲覧データにどのような情報が含まれるかは、第１データベース３８に含まれる実デバイスデータの内容と、実フォームデータ３２の内容と、実閲覧データ要求の内容と、によって変わる。例えば、ＣＰＵ２０によって生成される実閲覧データが、実デバイス６０において、第１のイベント（例えば、加熱運転開始）が発生してから第１のイベントが再び発生するまでの間に発生した第２のイベント（例えば、温度センサの値が１００℃以上）の数を含んでいてもよい。【００４８】
ＣＰＵ２０は、実閲覧データを生成すると、生成された実閲覧データを閲覧端末８０に供給する（Ｓ３４）。【００４９】
閲覧端末８０は、サーバ１０から実閲覧データを取得すると、取得された実閲覧データに従って、実データ閲覧画面（図１８参照）を表示部に表示させる（Ｓ３６）。特定のユーザは、実データ閲覧画面において、例えば、データを閲覧する階層を変更して、新たな実閲覧データ要求操作を行うことができる。その場合、閲覧端末８０は、新たな実閲覧データ要求をサーバ１０に供給する（Ｓ３８）。【００５０】
サーバ１０のＣＰＵ２０は、閲覧端末８０から新たな実閲覧データ要求を取得すると、メモリ２２内の第１データベース３８に含まれる実デバイスデータと、実フォームデータ３２と、取得された新たな実閲覧データ要求とに基づいて、新たな実閲覧データを生成する（Ｓ４０）。ＣＰＵ２０は、生成された実閲覧データを閲覧端末８０に供給する（Ｓ４２）。【００５１】
閲覧端末８０は、サーバ１０から実閲覧データを取得すると、取得された実閲覧データに従って、実データ閲覧画面を表示部に表示させる（Ｓ４４）。このように、閲覧端末８０は、実閲覧データ要求に対応する実閲覧データをサーバ１０から取得し、表示部に表示させることができる（Ｓ３６、Ｓ４４）。特定のユーザは、実閲覧データに基づいて表示される実データ閲覧画面を見ることにより、実デバイス６０における各イベントの発生状況を知ることができる。また、条件（即ち、階層）を変えて実閲覧データ要求をサーバ１０に供給することにより、様々な条件における各イベントの発生状況を知ることができる。その結果、特定のユーザは、実デバイス６０を適切に管理することができる。【００５２】
続いて、図３を参照して、サーバ１０のＣＰＵ２０が、設定端末７０から取得した実フォームデータをメモリ２２に格納させた後に、設定端末７０から仮想フォームデータを取得する場合の各構成要素の動作の概要を説明する。この例では、サーバ１０のＣＰＵ２０は、仮想フォームデータに基づいて仮想デバイス９０をメモリ２２内に仮想的に再現し、その後、仮想デバイス９０から仮想デバイスデータを取得し、仮想閲覧データを設定端末７０に供給する。【００５３】
設定端末７０は、特定のユーザの指示に従ってサーバ１０にアクセスし、サーバ１０にシミュレーション要求を供給する（Ｓ６０）。【００５４】
サーバ１０のＣＰＵ２０は、設定端末７０からシミュレーション要求を取得すると、メモリ２２内に既に格納されている実フォームデータ３２を設定端末７０に供給する（Ｓ６２）。具体的には、Ｓ６２では、ＣＰＵ２０は、メモリ２２内の実フォームデータ３２のコピーデータを生成し、生成されたコピーデータを設定端末７０に供給する。【００５５】
設定端末７０は、サーバ１０から実フォームデータを取得すると、実フォームデータの内容を表すフォームデータ表示画面を表示部に表示させる（Ｓ６４）。ここで表示されるフォームデータ表示画面の内容は、特定のユーザが、テンプレートデータに基づいて実フォームデータを作成した時点の表示画面の内容と同じである（図２のＳ１６参照）。特定のユーザは、設定端末７０の操作部を操作して、実フォームデータに従って情報を入力する（Ｓ６６）。具体的には、Ｓ６６では、特定のユーザは、実フォームデータに含まれる実マスタデータの内容を一部変更する。特定のユーザは、実入力済テンプレートデータの内容は変更しない。この結果、仮想入力済テンプレートデータ（図８、図９参照）、及び、仮想マスタデータ（図１０〜図１３、図１５〜図１７、図１９参照）が生成される。この例では、仮想入力済テンプレートデータの内容は、実フォームデータに含まれる実入力済テンプレートと同様である。他の例では、特定のユーザは、実入力済テンプレートデータの内容も変更してもよい。その場合、仮想入力済テンプレートデータは、実入力済テンプレートデータと異なる情報を含んでもよい。設定端末７０は、生成された仮想入力済テンプレートデータ及び仮想マスタデータ（即ち、仮想フォームデータ）を、サーバ１０に供給する（Ｓ６８）。【００５６】
サーバ１０のＣＰＵ２０は、設定端末７０から仮想フォームデータを取得すると、取得された仮想フォームデータをメモリ２２に格納する（Ｓ７０）（図１の符号４２参照）。次いで、ＣＰＵ２０は、メモリ２２に格納された仮想フォームデータに従って、複数個の仮想デバイス９０をメモリ２２内に仮想的に再現する（Ｓ７２）。具体的には、Ｓ７２では、ＣＰＵ２０は、仮想デバイス９０に相当するデバイスの動作を再現可能なデータ群をメモリ２２に格納する。【００５７】
上記の通り、Ｓ７２の処理の結果、メモリ２２内に仮想デバイス９０が再現される。その後、仮想デバイス９０は、イベント（例えば、電源ＯＮ、加熱開始、異常動作、等）を、予め設定されている頻度で仮想的に発生させる。仮想デバイス９０は、イベントが仮想的に発生する毎に、仮想デバイスデータをサーバ１０に供給する（Ｓ８０、Ｓ８４）。上記の通り、仮想デバイスデータは、仮想デバイス９０を識別するための機器固有番号と、発生したイベントの種類を示す種類情報と、発生したイベントの発生時間を示す時間情報とを含む。【００５８】
サーバ１０のＣＰＵ２０は、仮想デバイス９０から仮想デバイスデータを取得する毎に、取得された仮想デバイスデータをメモリ２２に格納する（Ｓ８２、Ｓ８６）。ＣＰＵ２０は、取得された仮想デバイスデータをメモリ２２に格納する際、メモリ２２に格納されている仮想フォームデータ４２が示す様式に従って格納する。これにより、メモリ２２内に、第２データベース４８が構築される。さらに、Ｓ２４、Ｓ２８では、ＣＰＵ２０は、取得された仮想デバイスデータに基づいて、仮想デバイス９０のイベントの発生状況を集計して集計データを生成する（Ｓ８２、Ｓ８６）。サーバ１０は、集計データもメモリ２２に格納する。【００５９】
ＣＰＵ２０は、メモリ２２内の第２データベース４８に含まれる仮想デバイスデータを用いれば、仮想デバイス９０におけるイベントの発生状況を時系列に沿って再現することができる。【００６０】
その後、設定端末７０は、特定のユーザの指示に従って、サーバ１０にアクセスし、サーバ１０に仮想閲覧データ要求を送信する（Ｓ８８）。仮想閲覧データ要求は、設定端末７０がデータの閲覧を要求する階層（例えば、仮想デバイス９０の仮想的な設置地区等）を示す情報を含む。ここでも、「階層」は、仮想デバイス９０の仮想的な配置場所に関係する「拠点」と言い換えてもよい。【００６１】
サーバ１０のＣＰＵ２０は、設定端末７０から仮想閲覧データ要求を取得すると、メモリ２２内の第２データベース４８に含まれる仮想デバイスデータと、仮想フォームデータ４２と、取得された仮想閲覧データ要求とに基づいて、仮想デバイス９０における各イベントの発生状況を示す仮想閲覧データを生成する（Ｓ９０）。この際、ＣＰＵ２０は、実閲覧データの場合と同様に、仮想閲覧データ要求に含まれる情報が示す階層に対応するイベントの発生状況を示す仮想閲覧データを生成する。また、ＣＰＵ２０は、仮想閲覧データを生成する際、予め生成されている集計データを利用する。そのため、この場合も、ＣＰＵ２０は、仮想閲覧データ要求が取得された後に、データの集計を行った上で実閲覧データを生成する必要がない。そのため、ＣＰＵ２０が仮想閲覧データを生成する際の負担も小さく済む。さらに、ＣＰＵ２０は、設定端末７０から仮想閲覧データ要求を取得した後、短時間で仮想閲覧データを生成して設定端末７０に供給することができる。特定のユーザを長時間待たせることもない。【００６２】
仮想閲覧データにどのような情報が含まれるかは、第２データベース４８に含まれる仮想デバイスデータの内容と、仮想フォームデータ４２の内容と、仮想閲覧データ要求の内容とによって変わる。【００６３】
ＣＰＵ２０は、仮想閲覧データを生成すると、生成された仮想閲覧データを設定端末７０に供給する（Ｓ９２）。【００６４】
設定端末７０は、サーバ１０から仮想閲覧データを取得すると、取得された仮想閲覧データに従って、仮想データ閲覧画面（図２１参照）を表示部に表示させる（Ｓ９４）。特定のユーザは、仮想データ閲覧画面において、例えば、データを閲覧する階層を変更して、新たな仮想閲覧データ要求操作を行うことができる。その場合、設定端末７０は、新たな仮想閲覧データ要求をサーバ１０に供給する（Ｓ９６）。【００６５】
サーバ１０のＣＰＵ２０は、設定端末７０から新たな仮想閲覧データ要求を取得すると、メモリ２２内の第２データベース４８に含まれる仮想デバイスデータと、仮想フォームデータ４２と、取得された新たな仮想閲覧データ要求とに基づいて、新たな仮想閲覧データを生成する（Ｓ９８）。ＣＰＵ２０は、生成された仮想閲覧データを設定端末７０に供給する（Ｓ１００）。【００６６】
設定端末７０は、サーバ１０から仮想閲覧データを取得すると、取得された仮想閲覧データに従って、仮想データ閲覧画面を表示部に表示させる（Ｓ１０２）。このように、設定端末７０は、仮想閲覧データ要求に対応する仮想閲覧データをサーバ１０から取得し、表示部に表示させることができる（Ｓ９４、Ｓ１０２）。特定のユーザは、仮想閲覧データに基づいて表示される仮想データ閲覧画面を見ることにより、仮想デバイス９０における各イベントの発生状況を知ることができる。また、条件（即ち、階層）を変えて仮想閲覧データ要求をサーバ１０に供給することにより、様々な条件における各イベントの発生状況を知ることができる。その結果、特定のユーザは、仮想デバイス９０を用いたシミュレーションの結果を知ることができる。【００６７】
上記の例では、設定端末７０が仮想閲覧データ要求をサーバ１０に供給し、設定端末７０の表示部に仮想データ閲覧画面を表示させている（Ｓ８８、Ｓ９４参照）。変形例では、図２の例と同様に、閲覧端末８０が仮想閲覧データ要求をサーバ１０に供給し、閲覧端末８０の表示部に仮想データ閲覧画面を表示させるようにしてもよい。【００６８】
（実デバイスデータの生成手法；図４、図５）
図４を参照して、実デバイス６０が実デバイスデータを生成する手法について説明する。図４では、実デバイス６０において、種類Ａと種類Ｂの２種類のイベントが発生する例を示している。図４に示すように、実デバイス６０は、特定のイベント（図４のＡ１）が発生した場合に、その特定のイベントの種類（Ａ）と、その特定のイベントの発生時（ｔ１）と、を特定する。実デバイス６０は、自機の機器固有番号（１００１）と、特定のイベントの種類を示す種類情報と、特定のイベントの発生時を示す時間情報とを対応付ける。この結果、図５に示すように、機器固有番号と、種類情報と、時間情報とが対応付けられた実デバイスデータが生成される。【００６９】
実デバイス６０は、特定のイベント以降の各イベントが発生した場合についても、上記と同様の要領で実デバイスデータを生成する。実デバイス６０は、実デバイスデータをサーバ１０に随時供給する。そのため、例えば、毎秒のイベント発生状況を示す情報をサーバ１０に供給する場合よりも、実デバイス６０の通信負荷を小さくすることができる。【００７０】
図４、図５の例では、実デバイス６０が実デバイスデータを生成する例について説明したが、仮想デバイス９０が仮想デバイスデータを生成する場合も、上記と同様である。【００７１】
（テンプレートデータ表示画面；図６）
図６を参照して、サーバ１０が供給するテンプレートデータに従って、設定端末７０で表示されるテンプレートデータ表示画面（図２のＳ１４参照）について説明する。【００７２】
図６は、初期状態のテンプレートデータ表示画面を示す。初期状態のテンプレートデータ表示画面は、日付１０２、曜日１０４、月１０６、年１０８、カレンダー１１０の各アイテムを含むツリー構造を有している。各アイテムの隣に表示されている「＋」マークを選択すると、各アイテム内のデータが展開される。図示していないが、例えば、日付１０２の隣の「＋」を選択すると、日付番号、日付名の各アイテムが表示される。日付１０２、曜日１０４、月１０６、年１０８、カレンダー１１０の各アイテムは、所定の日付、所定の曜日、所定の月、所定の年、所定のカレンダー内の日のそれぞれにおける、複数個の実デバイス６０におけるイベントの発生状況を閲覧するためのアイテムである。【００７３】
（設定画面；図７）
図６のテンプレートデータ表示画面において、所定のアイテム追加操作が行われる場合、又は、表示されているアイテムのいずれかを選択する操作が行われる場合、図６に示すツリー構造の隣に、図７に示す設定画面が表示される。設定画面も、テンプレートデータに従って表示される画面である。図７の設定画面は、項目と、値と、型とが関連づけられたテーブルを含む。【００７４】
項目の欄には、「Name」「DispName」「ValueType」「ValueRule」「TargetType」「SignalNumber」の各項目が予め入力されている。値の欄には、各項目に対応する情報（文字や数字）を入力可能である。型の欄には、値の欄に入力された情報の属性が文字で表示される。特定のユーザ（及び他のユーザ。以下同じ）は、値の欄に、各項目に対応する情報を入力することができる。【００７５】
「Name」は、テンプレートデータ表示画面に表示されるアイテムのデータ上の名称である。「Name」が示す名称は、他の名称と重複しないユニークな名称である。特定のユーザは、「Name」に対応する値の欄に、「Company」のように、所望の名称を入力することができる。値の欄の入力に伴い、型の欄には、文字情報であることを示す情報が入力される。【００７６】
「DispName」は、アイテムを表示する際の名称（表示名）である。特定のユーザは、「DispName」に対応する値の欄に、「企業」のように、所望の表示名を入力することができる。値の欄の入力に伴い、型の欄には、文字情報であることを示す情報が入力される。【００７７】
「ValueType」は、アイテムに対応するイベントのタイプ（信号、数値、文字情報、等）を示す。例えば、実デバイス６０では、種々のタイプのイベントが発生する。実デバイス６０は、イベントが発生する毎に、所定の情報を出力する。例えば、実デバイス６０における電源のオン・オフや、加熱運転開始、異常運転、のようなイベントが発生する場合、実デバイス６０はパルス信号を出力する。パルス信号は、単発タイプのものと、ハイ／ローを切り替えるタイプのものと、を含む。また、実デバイス６０では、センサの検出値（例えば温度等）、型番、ＩＤ、等の所定の数値や文字情報を出力するイベントが発生する場合もある。特定のユーザは、「ValueType」に対応する値の欄に、「０」「１」「２」等の各値を入力することができる。ここでは、「０」「１」「２」等の各値は、「信号」「数値」の各タイプに対応する。値の欄の入力に伴い、型の欄には、例えば、整数情報であることを示す情報が表示される。【００７８】
「ValueRule」は、「ValueType」で入力されたタイプに対応する情報に関するルールを示す。具体的に言うと、デバイスから出力される情報の加算可否を示す。例えば、実デバイス６０から出力される情報が、パルス信号や、金額を示す数値情報である場合等は、パルス信号の数や、数値が示す値を加算できる。また、実デバイス６０から出力される情報が、数値であっても、型番を示す数値等のユニークな値である場合等は、値を加算できない。ユーザは、「ValueRule」に対応する値の欄に、「０」「１」「２」等の各値を入力することができる。値の欄に入力される各値は、それぞれ「加算不可」、「加算可」、「ユニーク値」等に対応する。値の欄の入力に伴い、型の欄には、例えば、整数であることを示す情報が表示される。【００７９】
「TargetType」は、ツリー構造で示す実際のデータベース構造の関係を示す。例えば、第１のアイテムに対応する拠点階層の下にさらに第２のアイテムに対応する拠点概念が存在する等の関係を示す。ユーザは、「TargetType」に対応する値の欄に、「０」「１」「２」等の各値を入力することができる。値の欄に入力される各値は、それぞれ「（アイテムに対応する）下の階層に拠点が存在しない」、「下の階層にさらに拠点が存在する」、「下の階層にデータベーステーブルの項目が存在する」等に対応する。型の欄には、整数であることを示す情報が表示される。【００８０】
「SignalNumber」は、デバイスから取得されるデバイスデータを定義する信号種類番号を示す。「SignalNumber」が定義されることで、信号種類番号によって定義されるデバイスデータがデータベース項目の値とされる。例えば、デバイス毎に「センサＡ信号」は「５」、「センサＢ信号」は「６」のように、ユニークな信号種類番号が割り当てられる。サーバ１０は、この値が定義されたアイテムに対応するデータベース項目について、デバイスからデバイスデータが取得された際に、その信号種類番号が示すイベントの回数を累計し、変化する度に更新する。【００８１】
図７の設定画面において、特定のユーザが必要な情報を入力することにより、テンプレートデータ表示画面にアイテムが表示される。アイテムの表示名は、「DispName」に入力された名称である。また、アイテムは、「TargetType」に入力された値に対応する位置に表示される。【００８２】
このように、特定のユーザは、設定画面を表示させて、必要な情報を入力することにより、テンプレートデータ表示画面にアイテムを追加することができる。この結果、ユーザの所望のツリー構造を形成することができる。【００８３】
また、上記の通り、特定のユーザは、既に設定済みのアイテムを選択することによっても、設定画面を表示させることができる。その場合、表示された設定画面において、特定のユーザは、アイテムの設定内容を変更することができる。【００８４】
従って、特定のユーザは、図６のテンプレートデータ表示画面と、図７の設定画面と、において必要な情報を入力することによって、テンプレートデータに基づいて、実入力済テンプレートデータ及び実マスタデータ（即ち、実フォームデータ）を作成することができる。【００８５】
なお、図７に示す設定画面はあくまで一例である。変形例では、設定画面には、他の項目等が含まれていてもよい。【００８６】
（実フォームデータの例；図８〜図１７）
続いて、図８〜図１７を参照して、設定端末７０の使用者である特定のユーザが、テンプレートデータに従って情報を入力することによって生成した実フォームデータの例について説明する。図８〜図１７によって示される実フォームデータのうち、図８、図９は実入力済テンプレートデータ（即ち、特定のユーザによって生成されたツリー構造（即ち拠点階層構造））に相当し、図１０〜図１７は実マスタデータに相当する。【００８７】
図８、図９は、実入力済テンプレートデータに従って設定端末７０の表示部に表示される画面を示している。図８に示すように、実入力済テンプレートデータは、初期状態のテンプレートデータ表示画面（図６）と同様に、日付１０２、曜日１０４、月１０６、年１０８、カレンダー１１０の各アイテムを含む。さらに、図８、図９に示すように、実入力済テンプレートデータは、厨房機器種類１２０、厨房機器１４０、期間１６０、の各アイテムを含む。期間１６０は、下の階層として、企業マスタ１７０、店舗グループマスタ１８０、店舗マスタ２００、店２２０、の各アイテムを含む。店２２０は、さらに下の階層として、設置機器２４０、各機器収集データ２６０、の各アイテムを含む。【００８８】
図８の日付１０２、曜日１０４、月１０６、年１０８、カレンダー１１０の各アイテムについては、初期状態のテンプレートデータ表示画面（図６）と同様であるため、詳しい説明を省略する。【００８９】
図８の厨房機器種類１２０は、下の階層として、機器種類番号と機器種類名の各アイテムを含む。厨房機器種類１２０では、図１０に示すように、機器種類番号と、機器種類名とが対応付けられている。図１０では、例えば、機器種類番号「１」が機器種類名「オーブン」を示す。【００９０】
また、図８の厨房機器１４０は、機器固有番号と、機器種類番号と、機器名と、メーカーの各アイテムを含む。厨房機器１４０では、図１１に示すように、機器固有番号と、機器種類番号と、機器名と、メーカーとが対応付けられている。図１１では、例えば、機器固有番号「１００１」、機器種類番号「１」、名称「窯焼きオーブン」、メーカー「Ｔ電子」が対応付けられている。【００９１】
また、上記の通り、図９の期間１６０は、下の階層として、企業マスタ１７０、店舗グループマスタ１８０、店舗マスタ２００、店２２０、の各アイテムを含む。企業マスタ１７０は、企業番号と企業名の各アイテムを含む。企業マスタ１７０では、図１２に示すように、企業番号と企業名とが対応付けられている。図１２では、例えば、企業番号「１」が企業名「Ｓカフェ」を示す。また、企業マスタ１７０という階層が設けられていることに起因して、サーバ１０のＣＰＵ２０は、実デバイス６０から実デバイスデータが取得される毎に、実デバイス６０におけるイベントの発生状況を、企業毎に集計する。【００９２】
また、図９の店舗グループマスタ１８０は、企業番号と、店舗グループ番号と、店舗グループ名の各アイテムを含む。店舗グループマスタ１８０では、図１３に示すように、企業番号と、店舗グループ番号と、店舗グループ名とが対応付けられている。図１３では、例えば、企業番号「１」の企業において、店舗グループ番号「１２」が店舗グループ名「関東」に対応する。店舗グループ番号と店舗グループ名の対応関係は、企業間で共通していてもよい。即ち、図１３に示すように、企業番号「２」の企業においても、店舗グループ番号「１２」が店舗グループ名「関東」に対応する。また、店舗グループマスタ１８０という階層が設けられていることに起因して、サーバ１０のＣＰＵ２０は、実デバイス６０から実デバイスデータが取得される毎に、実デバイス６０におけるイベントの発生状況を、店舗グループ毎に集計する。【００９３】
また、図９の店舗マスタ２００は、店舗番号と店舗名の各アイテムを含む。店舗マスタ２００では、図１４に示すように、店舗番号と店舗名が対応付けられている。図１４では、例えば、店舗番号「１７０」が、店舗名「Ｓカフェ  丸の内店」を示す。また、店舗マスタ２０２という階層が設けられていることに起因して、サーバ１０のＣＰＵ２０は、実デバイス６０から実デバイスデータが取得される毎に、実デバイス６０におけるイベントの発生状況を、店舗毎に集計する。【００９４】
また、図９の店２２０は、店舗番号と店舗グループ番号の各アイテムを含む。店２２０では、図１５に示すように、店舗番号と、店舗グループ番号とが対応付けられている。図１５では、例えば、店舗グループ番号「１２」と、店舗番号「１７０」とが対応付けられている。【００９５】
また、上記の通り、図９の店２２０は、下の階層として、設置機器２４０、各機器収集データ２６０の各アイテムを含む。設置機器２４０は、機器固有番号と、使用開始日と、修理日付と、使用終了日の各アイテムを含む。設置機器２４０では、図１６に示すように、機器固有番号と、使用開始日と、修理日付と、使用終了日とが対応付けられている。【００９６】
また、図９の各機器収集データ２６０は、機器固有番号と、Ａ信号累計値と、Ｂ信号累計値と、Ｃ信号累計値の各アイテムを含む。各機器収集データ２６０では、図１７に示すように、機器固有番号と、Ａ信号累計値と、Ｂ信号累計値と、Ｃ信号累計値とが対応付けられている。Ａ信号累計値、Ｂ信号累計値、Ｃ信号累計値は、それぞれ、複数個の実デバイス６０で発生する各イベントの累計値（即ち、イベントの発生回数の合計）を示す。【００９７】
また、図８、図９では、矢印２７０に示すように、設置機器２４０の機器固有番号と、厨房機器１４０の機器固有番号とが関連づけられている。同様に、各機器収集データ２６０の機器固有番号も、厨房機器１４０の機器固有番号と関連づけられている。そのため、例えば、閲覧端末７８０において設置機器毎のイベントの発生状況を閲覧している間に、機器固有番号が選択されると、厨房機器毎のイベントの発生状況を閲覧することができる。この場合、設置機器毎のイベントの発生状況を閲覧する画面と、厨房機器毎のイベントの発生状況を閲覧する画面のどちらにも、機器固有番号に関する項目が設けられる。一般に、図８、図９の矢印２７０で示す関連づけを「リレーション」と呼ぶ場合がある。【００９８】
このほかにも、図９の矢印２８０に示すように、店２２０の店舗グループ番号と店舗グループマスタ１８０の店舗グループ番号とが関連づけられている。また、矢印２８５に示すように、店２２０の店舗番号と店舗マスタ２００の店舗番号とが関連づけられている。【００９９】
以上、図８〜図１７を参照して、実フォームデータの例について説明した。上記の通り、設定端末７０は、実フォームデータを生成すると、生成された実フォームデータをサーバ１０に供給する（図２のＳ１８参照）。サーバ１０のＣＰＵ２０は、実フォームデータをメモリ２２に格納する（図２のＳ２０、図１の符号３２参照）。【０１００】
上記の例では、設定端末７０の使用者である特定のユーザが、テンプレートデータに従って情報を入力することによって実フォームデータを生成する例について説明した。これに限られず、図示しない他の設定端末の使用者である他のユーザが実フォームデータを生成する場合も上記と同様である。ただし、その場合、生成される実フォームデータの内容は、図８〜図１７で説明した特定のユーザの実フォームデータの内容とは異なる。【０１０１】
（実データ閲覧画面の例；図１８）
続いて、図１８を参照して、実閲覧データ（図２のＳ３４、Ｓ４２参照）に従って、特定のユーザの閲覧端末８０の表示部に表示される実データ閲覧画面の例を説明する。この例では、閲覧端末８０が、実閲覧データ要求に、「電子レンジ」「関東エリア」「Ｓカフェ」「１か月以内」の各条件を入力した場合を想定している。この場合、サーバ１０のＣＰＵ２０は、メモリ２２内の第１データベース３８に含まれる実デバイスデータと、メモリ２２内の実フォームデータ３２と、実閲覧データ要求（即ち、「電子レンジ」「関東エリア」「Ｓカフェ」「１か月以内」の各条件）とに基づいて、実閲覧データを生成し、閲覧端末８０に供給する（図２のＳ３４、Ｓ４２参照）。閲覧端末８０は、実閲覧データを取得すると、図１８に示す実データ閲覧画面を表示部に表示させる（図２のＳ３６、Ｓ４４参照）。【０１０２】
図１８の実データ閲覧画面では、店と、各イベント（Ａ状態、Ｂ状態、Ｃ状態）の発生回数とが関連付けられている。例えば、「Ｓカフェ  丸の内店」では、１か月の間に、Ａ状態が１００回発生し、Ｂ状態が５０回発生し、Ｃ状態が４０回発生したことを示す。このように、閲覧端末８０は、実閲覧データ要求に対応する実閲覧データをサーバ１０から取得し、表示部に表示させることができる。特定のユーザは、実閲覧データに基づいて表示される実データ閲覧画面を見ることにより、複数個の実デバイス６０における各イベントの発生状況を知ることができる（図２のＳ３６、Ｓ４４参照）。また、条件を変えて実閲覧データ要求をサーバ１０に供給することにより、様々な条件における各イベントの発生状況を知ることができる。その結果、特定のユーザは、複数個の実デバイス６０を適切に管理することができる。【０１０３】
なお、他のユーザが、自身の閲覧端末の表示部に表示させる他の実データ閲覧画面については詳しく説明しないが、上記の実閲覧データに基づく実データ閲覧画面の場合（図１８参照）と同様のことが言える。【０１０４】
（仮想フォームデータの例；図８〜図１３、図１５〜図１７、図１９）
上記の通り、本実施例では、設定端末７０は、サーバ１０のメモリ２２に実フォームデータが格納された後に、特定のユーザの指示に従って、サーバ１０にシミュレーション要求を供給する（図３のＳ６０）。設定端末７０は、サーバ１０から実フォームデータを取得し、フォームデータ表示画面を表示部に表示させる（Ｓ６４）。特定のユーザは、設定端末７０の操作部を操作して、実フォームデータに従って情報を入力する。本実施例では、特定のユーザは、実フォームデータに含まれる実マスタデータの内容を一部変更する。特定のユーザは、実入力済テンプレートデータの内容は変更しない。この結果、仮想入力済テンプレートデータ（図８、図９参照）、及び、仮想マスタデータ（図１０〜図１３、図１５〜図１７、図１９参照）を含む仮想フォームデータが生成される。【０１０５】
上記の通り、本実施例では、特定のユーザは、実入力済テンプレートデータの内容を変更しない。そのため、仮想入力済テンプレートデータの内容は、図８、図９の実入力済テンプレートデータの内容と同じである。【０１０６】
本実施例では、特定のユーザは、実フォームデータに含まれる実マスタデータの内容を一部変更する。この例では、特定のユーザは、図１４の店舗マスタの内容の一部を、図１９に示す内容に変更する。図１９に示すように、変更後の店舗マスタでは、店舗番号「１８１」〜「１８４」に対応する各情報が追加されている。店舗番号「１８１」〜「１８４」は、それぞれ、店舗名「Ｓカフェ  新宿店」「Ｓカフェ  渋谷店」「Ｓカフェ  池袋店」「Ｓカフェ  神田店」に対応する。追加された各情報は、例えば、特定のユーザが今後出店を予定する店舗を示す情報である。即ち、特定のユーザは、今後出店を予定する店舗を示す情報を店舗マスタに追加することにより、今後の各店における各イベントの発生状況等をシミュレーションすることができる。【０１０７】
ここでは、特定のユーザが、店舗マスタの内容の一部のみを変更する例について説明したが、特定のユーザは、他のマスタデータ（例えば、企業マスタ等）を変更することも可能である。また、変形例では、特定のユーザは、実入力済テンプレートデータの内容も変更してもよい。その場合、仮想入力済テンプレートデータは、図８、図９の実入力済テンプレートデータとは異なるデータを含む。【０１０８】
上記の例では、設定端末７０の使用者である特定のユーザが、実フォームデータに従って情報を入力することによって仮想フォームデータを生成する例について説明した。これに限られず、図示しない他の設定端末の使用者である他のユーザが、既にサーバ１０のメモリ２２に格納された当該他のユーザの実フォームデータに従って情報を入力することによって仮想フォームデータを生成する場合も上記と同様である。【０１０９】
（仮想デバイス画像の例；図２０）
また、図３の例では説明していないが、サーバ１０のＣＰＵ２０は、設定端末７０から取得された仮想フォームデータをメモリ２２に格納し、複数個の仮想デバイス９０をメモリ２２内に仮想的に再現した後で、設定端末７０からの要求（即ち、ユーザの指示）に応じて、複数個の仮想デバイス９０のうちの少なくとも１つを模式的に示す仮想デバイス画像（図２０参照）を設定端末７０の表示部に表示させることができる。【０１１０】
図２０の例では、仮想デバイス画像４００は、電子レンジを模式的に表す画像である。仮想デバイス画像４００の下方には、特定のユーザが操作可能なイベント発生ボタン４０２が併せて表示される。サーバ１０のＣＰＵ２０は、特定のユーザによってイベント発生ボタン４０２が操作される毎に、仮想デバイス画像４００が示す仮想デバイス９０にイベントを発生させることができる。【０１１１】
従って、特定のユーザは、表示部に表示された仮想デバイス画像４００を見ることにより、仮想デバイス９０がメモリ２２内に再現されていることを感覚的に把握することができる。また、サーバ１０のＣＰＵ２０は、イベント発生ボタン４０２が操作される毎に、仮想デバイス画像４００が示す仮想デバイス９０にイベントを発生させることができる。そのため、ＣＰＵ２０は、特定のユーザの想定する状況に応じたシミュレーション結果をユーザに提供し得る。【０１１２】
（仮想データ閲覧画面の例；図２１）
続いて、続いて、図２１を参照して、仮想閲覧データ（図２のＳ９２、Ｓ１００参照）に従って、特定のユーザの設定端末７０の表示部に表示される仮想データ閲覧画面の例を説明する。この例でも、設定端末７０が、仮想閲覧データ要求に、「電子レンジ」「関東エリア」「Ｓカフェ」「１か月以内」の各条件を入力した場合を想定している。この場合、サーバ１０のＣＰＵ２０は、メモリ２２内の第２データベース４８に含まれる仮想デバイスデータと、メモリ２２内の仮想フォームデータ４２と、仮想閲覧データ要求（即ち、「電子レンジ」「関東エリア」「Ｓカフェ」「１か月以内」の各条件）とに基づいて、仮想閲覧データを生成し、設定端末７０に供給する（図３のＳ９２、Ｓ１００参照）。設定端末７０は、仮想閲覧データを取得すると、図２１に示す仮想データ閲覧画面を表示部に表示させる（図３のＳ９４、Ｓ１０２参照）。【０１１３】
図２１の仮想データ閲覧画面でも、図１８の実データ閲覧画面と同様に、店と、各イベント（Ａ状態、Ｂ状態、Ｃ状態）の発生回数とが関連付けられている。ただし、図２１の仮想データ閲覧画面では、「Ｓカフェ  新宿店」「Ｓカフェ  渋谷店」等の各店舗における各イベントの発生回数を示す情報が含まれている点において図１８の実データ閲覧画面とは異なる。このように、設定端末７０は、仮想閲覧データ要求に対応する仮想閲覧データをサーバ１０から取得し、表示部に表示させることができる。特定のユーザは、仮想閲覧データに基づいて表示される仮想データ閲覧画面を見ることにより、複数個の仮想デバイス９０における各イベントの発生状況を知ることができる（図３のＳ９４、Ｓ１０２参照）。また、条件を変えて仮想閲覧データ要求をサーバ１０に供給することにより、様々な条件における各イベントの発生状況を知ることができる。その結果、特定のユーザは、実デバイス６０とは異なるデバイスを含む複数個の仮想デバイス９０を用いて行ったシミュレーション結果を適切に知ることができる。【０１１４】
（本実施例の作用効果）
以上、本実施例の通信システム２について説明した。本実施例のサーバ１０によると、各ユーザ（即ち、特定のユーザ及び他のユーザ）は、サーバ１０から供給されたテンプレートデータに従って情報を入力することにより、実デバイスデータをメモリに格納する様式を簡単に設定することができる。そのため、ユーザ毎に、複数個の実デバイス６０のそれぞれから情報を収集して当該複数個の実デバイス６０を管理するためのシステムを構築する際に、サーバ１０において、システム毎に異なるプログラミングを行う必要がない。また、サーバ１０は、複数個の実デバイス６０のそれぞれから実デバイスデータを取得する。各実デバイス６０から実デバイスデータを取得する場合、実デバイス６０に対して行うべき電文設計の内容は決まっている。そのため、実デバイスデータの取得のために、実デバイス毎に異なる電文設計を行う必要もない。従って、上記のサーバを用いてシステムを構築することにより、実デバイス６０を管理するためのシステムを構築する際のシステム構築者の負担を軽減することができる。また、上記のサーバ１０は、メモリ２２内の仮想フォームデータ４２に従って、複数個の仮想デバイス９０をメモリ２２内に仮想的に再現し（図３のＳ７２参照）、複数個の仮想デバイス９０のそれぞれから仮想デバイスデータを取得する（Ｓ８０、Ｓ８４参照）。さらに、サーバ１０は、第２データベース４８内の仮想デバイスデータに基づいて仮想閲覧データを生成し（Ｓ９０、Ｓ９８参照）、ユーザ端末に供給する（Ｓ９６、Ｓ１００参照）。従って、上記のサーバ１０は、データの取得及び閲覧データの生成のシミュレーションを、仮想フォームデータによって示される様式に従って適切に行い得る。【０１１５】
本実施例では、サーバ１０は、設定端末７０から、メモリ２２に既に格納されている実フォームデータ３２に基づいて生成された仮想フォームデータを取得し、メモリ２２に格納させる（図３のＳ６８、Ｓ７０参照）。そのため、サーバ１０は、メモリ２２に既に格納されている実フォームデータ３２に基づいて生成された仮想フォームデータに従って、データの取得及び閲覧データの生成のシミュレーションを行い得る。従って、例えば、特定のユーザは、実デバイス６０を管理するためのシステムを実際に構築した後において、当該システムで用いられている実フォームデータに基づいて仮想フォームデータを生成し、当該仮想フォームデータによって示される様式に従って、仮想デバイスデータの取得及び仮想閲覧データの生成のシミュレーションを行うことができる。そのため、このサーバ１０によると、システム構築後の現実的なシミュレーション結果をユーザに供給し得る。【０１１６】
さらに、本実施例では、仮想入力済テンプレートデータは、実入力済テンプレートデータと同じ内容（即ち同じデータ）を含む。そのため、本実施例では、サーバ１０は、実入力済テンプレートデータと同じ内容（即ち同じデータ）を含む仮想入力済テンプレートデータに従って、シミュレーションを行うことができる。そのため、シミュレーションを行う場合に、実入力済テンプレートデータと同じ内容の仮想入力済テンプレートデータを使用できるため、実際の拠点構造に従った現実的なシミュレーション結果をユーザに供給し得る。また、本実施例では、シミュレーションを行う際に、実フォームデータとは別個の仮想フォームデータが用いられ、第１データベース３８とは別個の第２データベース４８が構築される。そのため、第１データベース３８内の実デバイスデータと第２データベース４８内の仮想デバイスデータとが混在することもない。従って、ユーザは、実際のデバイスデータの取得結果と、シミュレーション結果と、を完全に分けて管理することができる。【０１１７】
（対応関係）
設定端末７０及び閲覧端末８０が「ユーザ端末」の一例である。図８、図９に示されるツリー構造が「実デバイスデータをメモリに格納する様式」及び「仮想デバイスデータをメモリに格納する様式」の一例である。また、図８、図９に含まれる各アイテムの階層構造が「拠点構造情報」の一例である。機器固有番号が「デバイス識別情報」の一例である。実閲覧データ要求に含まれる条件（例えば、図１８における「電子レンジ」「関東エリア」「Ｓカフェ」「１か月以内」の各条件）が「拠点」の一例である。同様に、仮想閲覧データ要求に含まれる条件（例えば、図２１における「電子レンジ」「関東エリア」「Ｓカフェ」「１か月以内」の各条件）が「仮想拠点」の一例である。第１データベース３８内の実デバイスデータが「実格納済データ」の一例である。第２データベース４８内の仮想デバイスデータが「仮想格納済データ」の一例である。【０１１８】
図２のＳ１２の処理が「テンプレートデータ供給部」が実行する処理の一例である。Ｓ１８の実フォームデータを取得することが「実フォームデータ取得部」が実行する処理の一例である。Ｓ２０の処理が「実フォームデータ格納部」が実行する処理の一例である。Ｓ２２、Ｓ２６の実デバイスデータを取得することが「実デバイスデータ取得部」が実行する処理の一例である。Ｓ２４、Ｓ２８の処理が「実デバイスデータ格納部」が実行する処理の一例である。Ｓ３２、Ｓ４０の処理が「実閲覧データ生成部」が実行する処理の一例である。Ｓ３４、Ｓ４２の処理が「実閲覧データ供給部」が実行する処理の一例である。図３のＳ６８の仮想フォームデータを取得することが「第２の仮想フォームデータ取得部」が実行する処理の一例である。Ｓ７０の処理が「仮想フォームデータ格納部」が実行する処理の一例である。Ｓ７２の処理が「仮想デバイス再現部」が実行する処理の一例である。Ｓ８０、Ｓ８４の仮想デバイスデータを取得することが「仮想デバイスデータ取得部」が実行する処理の一例である。Ｓ８２、Ｓ８６の処理が「仮想デバイスデータ格納部」が実行する処理の一例である。Ｓ９０、Ｓ９８の処理が「仮想閲覧データ生成部」が実行する処理の一例である。Ｓ９２、Ｓ１００の処理が「仮想閲覧データ供給部」が実行する処理の一例である。設定端末７０の表示部に図２０の仮想デバイス画像４００及びイベント発生ボタン４０２を表示させることが「イベント発生部」が実行する処理の一例である。【０１１９】
（第２実施例；図２２）
第２実施例について、第１実施例と異なる点を中心に説明する。上記の第１実施例では、サーバ１０のメモリ２２に実フォームデータが格納された後に、設定端末７０がシミュレーション要求をサーバ１０に供給する（図３参照）。これに対し、本実施例では、図２２に示すように、サーバ１０が設定端末７０から実フォームデータを取得する前に、設定端末７０がシミュレーション要求をサーバ１０に供給する点で第１実施例とは異なる。【０１２０】
以下、図２２を参照して、サーバ１０のＣＰＵ２０が、設定端末７０から実フォームデータを取得する前に、設定端末７０からシミュレーション要求を取得する場合の各構成要素の動作の概要を説明する。【０１２１】
設定端末７０は、特定のユーザの指示に従ってサーバ１０にアクセスし、サーバ１０にシミュレーション要求を供給する（Ｓ２００）。【０１２２】
サーバ１０のＣＰＵ２０は、設定端末７０からシミュレーション要求を取得すると、メモリ２２内に格納されているテンプレートデータ２６を設定端末７０に供給する（Ｓ２０２）。上記の通り、この例では、ＣＰＵ２０は、設定端末７０からシミュレーション要求を取得する前に、設定端末７０から実フォームデータを取得していない。そのため、Ｓ２０２では、ＣＰＵ２０は、テンプレートデータ２６を設定端末７０に供給する。【０１２３】
設定端末７０は、サーバ１０からテンプレートデータを取得すると、テンプレートデータ表示画面（図６参照）を表示させる（Ｓ２０４）。特定のユーザは、設定端末７０の操作部を操作して、テンプレートデータに従って情報を入力する（Ｓ２０６）。この結果、仮想入力済テンプレートデータ及び仮想マスタデータ（即ち、仮想フォームデータ）が生成される。Ｓ２０６における仮想フォームデータの生成手法は、図２のＳ１６において実フォームデータが生成される手法と同様である。ただし、仮想マスタデータの少なくとも一部が、テンプレートデータに従って自動作成されてもよい。設定端末７０は、生成された仮想フォームデータを、サーバ１０に供給する（Ｓ２０８）。【０１２４】
サーバ１０のＣＰＵ２０は、設定端末７０から仮想フォームデータを取得すると、取得された仮想フォームデータをメモリ２２に格納する（Ｓ２１０）（図１の符号４２参照）。次いで、ＣＰＵ２０は、メモリ２２に格納された仮想フォームデータに従って、複数個の仮想デバイス９０をメモリ２２内に仮想的に再現する（Ｓ２１２）。【０１２５】
その後に実行されるＳ２２０〜Ｓ２４２の各処理の内容は、図３のＳ８０〜Ｓ１０２の内容と同様であるため、詳しい説明を省略する。【０１２６】
（本実施例の作用効果）
本実施例では、サーバ１０は、設定端末７０から、設定端末７０においてテンプレートデータに基づいて生成された仮想フォームデータを取得する（図２２のＳ２０８参照）。サーバ１０は、当該仮想フォームデータに従って、複数個の仮想デバイス９０をメモリ２２内に仮想的に再現し（Ｓ２１２参照）、複数個の仮想デバイス９０のそれぞれから仮想デバイスデータを取得する（Ｓ２２２、Ｓ２２６参照）。従って、サーバ１０は、設定端末７０においてテンプレートデータに基づいて生成された仮想フォームデータに従って、データの取得及び閲覧データの生成のシミュレーションを行い得る。従って、例えば、特定のユーザは、実デバイス６０を管理するためのシステムを実際に構築する前において、仮想フォームデータによって示される様式に従って、データの取得及び閲覧データの生成のシミュレーションを行うことができる。サーバ１０を用いて実デバイス６０を管理するためのシステムを実際に構築する場合のシミュレーション結果を適切に供給し得る。【０１２７】
図２２のＳ２０８の仮想フォームデータを取得することが「第１の仮想フォームデータ取得部」の一例である。【０１２８】
以上、各実施例を詳細に説明したが、これらは例示に過ぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。例えば、以下の変形例を採用してもよい。【０１２９】
（変形例１）上記の各実施例では、実デバイスデータは、実デバイス６０で発生したイベントの発生時を示す時間情報を含む。これに代えて、実デバイスデータは、実デバイス６０で発生する各イベントの間の差分時間を示す差分時間情報を含んでいてもよい。この差分時間情報も「時間情報」の一例である。同様に、仮想デバイスデータが、仮想デバイス９０で発生するイベントの発生時間を示す時間情報に代えて、仮想デバイス９０で発生する各イベントの間の差分時間を示す差分時間情報を含んでいてもよい。【０１３０】
（変形例２）上記の各実施例では、サーバ１０のＣＰＵ２０は、設定端末７０からの要求（即ち、ユーザの指示）に応じて、仮想デバイス画像４００とイベント発生ボタン４０２とを設定端末７０の表示部に表示させ（図２０参照）、イベント発生ボタン４０２が操作される毎に仮想デバイス９０にイベントを仮想的に発生させている。これに限られず、ＣＰＵ２０は、設定端末７０から、仮想デバイス９０にイベントを発生させる旨の指示を取得し、その指示に従って、仮想デバイス９０にイベントを仮想的に発生させることができれば、イベント発生ボタン４０２を設定端末７０の表示部に表示させなくてもよい。【０１３１】
（変形例３）上記の各実施例において、ＣＰＵ２０は、複数個の仮想デバイス９０をメモリ２２内に再現する際に、各仮想デバイス９０がイベントを発生する間隔を通常より短く設定して再現することもできる。言い換えると、ＣＰＵ２０は、例えば、１か月分の仮想デバイス９０の動作を、１日で再現できるように設定して各仮想デバイス９０を再現することもできる。その場合、サーバ１０は、１か月分のシミュレーション結果を１日でユーザに提供することができる。【０１３２】
（変形例４）上記の第１実施例では、サーバ１０のＣＰＵ２０は、メモリ２２に実フォームデータが格納された後に、設定端末７０からシミュレーション要求を取得すると、メモリ２２内の実フォームデータをコピーし、設定端末７０に供給する。ＣＰＵ２０は、実フォームデータに基づいて生成された仮想フォームデータを設定端末７０から取得する。これに代えて、ＣＰＵ２０は、メモリ２２に実フォームデータが格納された後に、設定端末７０からシミュレーション要求を取得する場合において、メモリ２２内のテンプレートデータを設定端末７０に供給してもよい。ＣＰＵ２０は、テンプレートデータに基づいて生成された仮想フォームデータを設定端末７０から取得してもよい。【０１３３】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【図１】
2016151757.tif 000003
【図２】
2016151757.tif 000004
【図３】
2016151757.tif 000005
【図４】
2016151757.tif 000006
【図５】
2016151757.tif 000007
【図６】
2016151757.tif 000008
【図７】
2016151757.tif 000009
【図８】
2016151757.tif 000010
【図９】
2016151757.tif 000011
【図１０】
2016151757.tif 000012
【図１１】
2016151757.tif 000013
【図１２】
2016151757.tif 000014
【図１３】
2016151757.tif 000015
【図１４】
2016151757.tif 000016
【図１５】
2016151757.tif 000017
【図１６】
2016151757.tif 000018
【図１７】
2016151757.tif 000019
【図１８】
2016151757.tif 000020
【図１９】
2016151757.tif 000021
【図２０】
2016151757.tif 000022
【図２１】
2016151757.tif 000023
【図２２】
2016151757.tif 000024
【国際調査報告】
2016151757.tif 000025
2016151757.tif 000026