(57)【要約】【課題】生産設備で発生するデータを管理する装置において、データの形式の相違を吸収できるようにする。【解決手段】データ構造は、生産設備の状態を示す状態データを記憶手段に記憶させる場合に用いられるデータ構造であって、フォーマットが決まっていてキー情報を格納する第１領域（５２）と、状態データを格納する第２領域（５４）と、を含み、第２領域は、フォーマットが決まっておらず、かつ構造化用の言語を用いて定義されている。【選択図】図３
2020057090.tif 000002
【特許請求の範囲】
【請求項１】
生産設備の状態を示す状態データを記憶手段に記憶させる場合に用いられるデータ構造であって、
フォーマットが決まっていてキー情報を格納する第１領域と、
前記状態データを格納する第２領域と、
を備え、
前記第２領域は、フォーマットが決まっておらず、かつ構造化用の言語を用いて定義されているデータ構造。
【請求項２】
請求項１に記載のデータ構造において、
前記構造化用の言語は、ＪＳＯＮ（JavaScript Object Notation）又はＸＭＬ（eXtensible Markup Language）であるデータ構造。
【請求項３】
請求項１又は２に記載のデータ構造において、
前記状態データは、前記生産設備の稼働情報及び生産された物の検査工程における検査結果情報の少なくとも一方を含む、データ構造。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ構造に関する。
【背景技術】
【０００２】
近年、生産現場へのＩｏＴ（Internet of Things）の導入が進んでいる。日々変化する生産現場で発生する事象をＩｏＴによりデジタル化し管理すると、生産設備の稼働状態の見える化を実現できる。その結果、業務改善や生産性の向上を図ることができる。
【０００３】
特許文献１には、製造に関する加工・製造条件や検査・測定データを品質データとして収集し、その品質データを標準データ化し管理する方法が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−５２５７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
生産現場に関わる様々な設備、もの（製品、材料）、及び人（作業者等）に関するデータを電子化し、管理することが、様々な製造業において望まれている。一方、望まれるデータの形式は、製造業の業種や会社によって異なり得る。このため、このデータの形式の相違を吸収する仕組みを準備することが望まれる。
【０００６】
本発明は上記事情に鑑みてなされたものであり、その目的とするところは、生産設備で発生するデータを管理する装置において、データの形式の相違を吸収できるようにすることにある。
【課題を解決するための手段】
【０００７】
本発明の各側面では、上述した課題を解決するために、それぞれ以下の構成を採用する。
【０００８】
第一の側面は、データ構造に関する。
第一の側面に係るデータ構造は、
生産設備の状態を示す状態データを記憶手段に記憶させる場合に用いられるデータ構造であって、
フォーマットが決まっていてキー情報を格納する第１領域と、
前記状態データを格納する第２領域と、
を含み、
前記第２領域は、フォーマットが決まっておらず、かつ構造化用の言語を用いて定義されている。
【０００９】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【００１０】
また、本発明の各種の構成要素は、必ずしも個々に独立した存在である必要はなく、複数の構成要素が一個の部材として形成されていること、一つの構成要素が複数の部材で形成されていること、ある構成要素が他の構成要素の一部であること、ある構成要素の一部と他の構成要素の一部とが重複していること、等でもよい。
【００１１】
また、本発明の方法およびコンピュータプログラムには複数の手順を順番に記載してあるが、その記載の順番は複数の手順を実行する順番を限定するものではない。このため、本発明の方法およびコンピュータプログラムを実施するときには、その複数の手順の順番は内容的に支障のない範囲で変更することができる。
【００１２】
さらに、本発明の方法およびコンピュータプログラムの複数の手順は個々に相違するタイミングで実行されることに限定されない。このため、ある手順の実行中に他の手順が発生すること、ある手順の実行タイミングと他の手順の実行タイミングとの一部ないし全部が重複していること、等でもよい。
【発明の効果】
【００１３】
上記各側面によれば、生産設備で発生するデータを管理する装置において、データの形式の相違を吸収できるようにできる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施の形態に係る情報処理システムの全体像を概念的示す図である。
【図２】本実施形態の情報処理システムの論理的な構成の一例を示す機能ブロック図である。
【図３】本実施形態の変化前と変化後の状態データのデータ構造の一例を示す図である。
【図４】図３（ａ）の状態データをデータレイクに格納した例を示す図である。
【図５】データ加工フローの一例を示す図である。
【図６】状態データのメタバージョン毎に異なるコンテキストを適用する例を説明する図である。
【図７】エッジ処理部、変換部およびアラーム通知部の構成を論理的に示す機能ブロック図である。
【図８】データ分割の処理フローの一例を示す図である。
【図９】データ振分の処理フローの一例を示す図である。
【図１０】アラーム通知の処理フローの一例を示す図である。
【図１１】アラーム通知処理で行われる異常判定ルールの例を示す図である。
【図１２】イベントデータの生成の処理フローの一例を示す図である。
【図１３】事象データ生成の処理フローの一例を示す図である。
【図１４】１カラムのデータを用いて事象データを生成する例を説明するための図である。
【図１５】複数カラムのデータを用いて事象データを生成する例を説明するための図である。
【図１６】データ編集の処理フローの例を示す図である。
【図１７】データ加工部１０８の編集機能の種類の例を示す図である。
【図１８】データ集約の処理フローの例を示す図である。
【図１９】データ取込み処理フローの例を示す図である。
【図２０】メタバージョンを用いたデータ振分けを説明するための図である。
【図２１】データレイクのデータ構造の例を示す図である。
【図２２】編集ツールの加工フロー編集の画面の一例を示す図である。
【図２３】図２２の画面から開かれるウィンドウの一例を示す図である。
【図２４】データ分割処理の編集画面の一例を示す図である。
【図２５】データレイクへの加工／書込処理の編集画面の一例を示す図である。
【図２６】データ転送処理の編集画面の一例を示す図である。
【図２７】イベント検出処理の編集画面の一例を示す図である。
【図２８】事象データ作成処理の編集画面の一例を示す図である。
【図２９】データマートへの加工／書込処理の編集画面の一例を示す図である。
【図３０】他の実施形態のコンテキスト編集ツールを説明するための図である。
【図３１】コンテキストを用いた処理フローの一例を示す図である。
【図３２】本実施形態の情報処理システムの情報処理装置を実現するコンピュータの構成の一例を示す図である。
【発明を実施するための形態】
【００１５】
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
【００１６】
（第１の実施の形態）
図１は、本発明の実施の形態に係る情報処理システム１の全体像を概念的示す図である。
本発明の実施の形態に係る情報処理システム１は、生産現場で発生する事象をデータ化し、様々な業務アプリケーション４０での活用を容易にするものである。
【００１７】
情報処理システム１は、エッジ１０と、データレイク２０と、データマート３０と、を備える。また、情報処理システム１は、さらに、業務アプリケーション４０毎に特化した業務データマート３２を備えてもよい。以下の説明において、業務データマート３２については説明を省略する。
【００１８】
＜データレイクとデータマートの分離＞
エッジ１０は、生産設備１２から様々な事象を示すデータを収集する。エッジ１０が収集するデータ（以下、状態データと記載）は、生産設備１２において生成され、その生産設備１２の状態を示している。一つの生産設備１２は、複数の監視対象を有していることがある。この場合、エッジ１０が収集するデータは、その監視対象に固有に割り当てられた識別情報を含んでいる。なお、監視対象の具体例については後述する。
【００１９】
エッジ１０が収集したデータは、データレイク２０に蓄積される。データレイク２０は生産設備１２からのデータを格納し易い形式を有している。情報処理システム１は、データレイク２０に蓄積されたデータを、業務アプリケーション４０が利用し易い形式に変換してデータマート３０に格納する。業務アプリケーション４０は、データマート３０に格納されたデータを利用する。
【００２０】
このようにデータレイク２０とデータマート３０を分離することで、生産設備１２での変化にも柔軟に対応できるとともに、業務アプリケーション４０側の変更が、生産設備１２が生成すべきデータの構造に与える影響を少なくすることが可能になる。
【００２１】
図２は、本実施形態の情報処理システム１の論理的な構成の一例を示す機能ブロック図である。本図に示す情報処理システム１は情報処理装置の一例であり、エッジ処理部１０２と、変換部１０４と、アラーム通知部１０５と備える。さらに、情報処理システム１は、情報処理システム１が利用する各種設定情報を記憶する記憶部１１０を備える。
【００２２】
エッジ処理部１０２は、生産現場の生産設備１２から収集したデータに対して後述する処理を行い、データレイク２０に格納する。
変換部１０４は、データレイク２０に格納された状態データを業務アプリケーション４０が利用し易い形式に変換してデータマート３０に格納する。
アラーム通知部１０５は、データレイク２０に格納されたデータの値の状態を監視してアラームを発生させる。
【００２３】
＜状態データ＞
状態データは、上記したように、生産設備１２において生成され、その生産設備１２の状態を示している。状態データは一定間隔で生成されているため、時系列のデータとなっている。状態データを解析することにより、生産設備１２で発生した事象を特定することができる。これらの事象としては、例えば、在庫滞留（モノの入庫、モノの出庫）、段取作業（段取着手、段取完了）、生産作業（生産開始、生産終了）、設備稼働（チョコ停発生、設備停止、設備再開、材料投入、異常発生、加工条件、品質結果）等である。このような生産現場における５Ｍ１Ｅ（Man, Machine, Method, Material, Measurement, Environment）データを収集することで、これらの様々な事象をデータ化することができる。
【００２４】
これらのデータを生成する手段として、例えば、センサ（重量、接触、温度、赤外線、加速度等）、カメラ（動画または静止画）、ＲＦＩＤ（Radio Frequency Identification）、操作受付手段（ボタン、レバー、タッチスクリーン、キーボード等）、音声入力、ＧＰＳ（Global Positioning System）受信機、近距離無線通信機器、ＰＬＣ（Programable Logic Controller）等がある。そしてこれらの手段は、その手段が監視すべき対象の識別情報（後述するソースＩＤ）とともに、生成したデータを、生産設備１２の管理装置（不図示）に送信する。
【００２５】
生産設備１２からのデータ取得のタイミングは、以下に例示される。
（ａ１）設備イベント発生時に取得する。
（ａ２）一定間隔で定期的に取得する。
【００２６】
生産設備１２から収集されるデータは、例えば、ＣＳＶファイル形式である。ＣＳＶファイルの書式は、例えばデータを生成する手段によって変わり得るため、様々である。そこで、情報処理システム１においては、変換テーブル（不図示）を用いて、入力されたデータ書式を共通の形式に変換する。
【００２７】
図３（ａ）の状態データ１４を、変換テーブルを用いて変換した変換後のデータのデータ構造の一例を図３（ｂ）に示す。
データ５０は、キー情報５２と属性情報５４とを含む。キー情報５２は、ソースＩＤ、情報種別、およびメタバージョン（バージョン情報）を含む。属性情報５４は、測定データと、そのデータの計測日時と送信日時の少なくともいずれか一方とを含む。データ５０のうちキー情報５２を格納する第１領域はフォーマットが決まっており、属性情報５４を格納する第２領域は、後述するように、フォーマットが決まっておらず、かつ、構造化用の言語を用いて定義されている。
【００２８】
ソースＩＤとは、データ５０の生産現場における情報発信源（設備、モノ、人）、すなわち上述した監視対象を特定する識別情報であり、設備であれば、ラインＩＤ、工程ＩＤ、設備ＩＤ等を含み、モノであれば、品番、ロット等を含み、人であれば、作業者ＩＤ、管理者ＩＤ等を含む。
【００２９】
情報種別とは、データ５０が何であるか、その実体（エンティティ）を示す情報であり、例として、「設備稼働情報（ＯＰＥ）」、「品質情報（ＱＵＡ）」等である。設備稼働情報は、生産現場に存在する設備単位に収集される、設備の状態データであり、設備に接続されたＰＬＣまたはセンサから採取可能な情報である。設備稼働情報は、例えば、稼働実績、生産実績、および加工条件等の情報を含む。品質情報は、生産された物の検査工程における検査結果情報であり、検査結果、検査測定結果、加工条件測定結果（設計値、設定値、または実測値）を含む。
【００３０】
メタバージョンとは、例えば、状態データのデータ構造のバージョンを示す情報である。例えば、バージョン番号で示されてもよい。メタバージョンについては後述する。
【００３１】
測定データは、状態データの実体データであり、上記した設備稼働情報及び品質情報の少なくとも一方を含んでいる。
本実施形態では、測定データは、様々な事象を示す情報に対応するために、非定型構造形式となっている。測定データは、例えば、ＪＳＯＮ（JavaScript Object Notation）、ＸＭＬ（eXtensible Markup Language）形式等の構造化言語で記載される。図４は、図３（ａ）の状態データ１４をデータレイク２０に格納した例を示す図である。この図の例では、送信日時のカラムは含まれていない。測定データは、非定型構造形式（そして構造化言語で記述）で格納されるので、様々なフォーマットのデータに対応でき、データフォーマットが違っていてもデータを格納できる。
【００３２】
この例では、変換部１０４が必要な情報を取り出しやすくするために、測定データの個々の値に「value1」等のキーを付している。このキーは、受信した状態データ１４のＣＳＶファイルのヘッダカラムの内容を用いて記述される。よって，状態データ１４のＣＳＶファイルのヘッダカラムの内容を変更すると自動的に対応するキーも変更される。または、キーは、後述するコンテキストによって設定して測定データ内に挿入することもできる。つまり、状態データ１４のＣＳＶファイルのヘッダカラムで予めキーを設定しておいてもよいし、予め設定せずにコンテキストで後から挿入することもできる。
このように、キーを含むことで、キーを指定してデータを抽出することもできる。
【００３３】
＜コンテキストによるデータ加工フロー＞
図５は、エッジ処理部１０２、変換部１０４、およびアラーム通知部１０５が処理を行う際に用いるデータ加工フローの一例を示す図である。
エッジ処理部１０２、変換部１０４、およびアラーム通知部１０５による状態データ１４の加工方法はコンテキストに定義される。この定義は、例えば生産設備１２別、かつ、情報種別またはメタバージョン別に生成されている。コンテキストは外部設定によって定義できる。よって、加工方法の変更を、プログラムを書き換えずに、外部設定によって行うことができる。
【００３４】
コンテキストは、ＲＤＢ（Relational DataBase）の設定でもよいし、タグ形式の言語で記述したテキストファイルでもよい。
データ加工フロー定義はグルーピングして管理し、識別情報を付与する。
【００３５】
＜情報種別とメタバージョン管理＞
図６は、状態データ１４のメタバージョン毎に異なるコンテキストを適用する例を説明する図である。
生産設備１２に変更があり、状態データ１４のメタバージョンが１から２に変更された場合、変更前は、コンテキストＩＤがＣ１のコンテキストを用い、変更後は、コンテキストＩＤがＣ２のコンテキストを用いて加工処理を行う。
【００３６】
コンテキストは、エッジ処理部１０２、変換部１０４、およびアラーム通知部１０５の各処理部で利用される。図７に示すように、エッジ処理部１０２、変換部１０４およびアラーム通知部１０５は、いずれも選定部１０６と、データ加工部１０８とを含む。
【００３７】
選定部１０６は、生産設備１２から受信した状態データ１４のソースＩＤ、情報種別及び、メタバージョンを読み出し、ソースＩＤ、情報種別及び、メタバージョンに対応するコンテキストを選定する。データ加工部１０８は、選定部１０６が選定したコンテキストを用いてデータの加工処理を行う。
【００３８】
なお、メタバージョンとコンテキスト（処理内容を定義する情報であり、処理設定情報の一例）の対応付けは、操作画面を介して操作者によって入力される。この操作画面は、情報処理システム１によって表示される。また、情報処理システム１は、操作画面に対して入力された設定内容を受け付けて記憶する。
【００３９】
ここで、情報処理システム１は、予め設定されている複数の処理を選択可能に操作画面に表示し、当該複数の処理から選択された処理を用いて処理内容を定義してもよい。処理の具体例については、図２４〜図２９を用いて後述する。
【００４０】
＜コンテキストによる加工フロー定義＞
コンテキストで定義できる加工方法は、データ分割、データ振分、アラーム通知、蓄積、およびその他の演算処理等を含む。コンテキストは、さらに、データ加工処理毎に必要な定義を含む。
＜＜データ分割＞＞
図８は、データ分割の処理フローの一例を示す図である。状態データ１４は、生産設備１２の管理装置によって収集され、その後、管理装置によって情報処理システム１に送信される。生産設備１２の管理装置から送信される状態データ１４は、データの送受信効率を上げるために、情報種が互いに異なる複数種類のデータを含んでいる。よって、受信した状態データ１４を情報種別に分ける処理（データ分割）が必要となる。
【００４１】
状態データ１４を受信すると（ステップＳ１１）、図７に示したデータ加工部１０８は、情報種別ごとに状態データ１４に含まれる測定データを分ける（ステップＳ１２）。コンテキストには、対象データの情報種別、出力するデータの情報種別等が定義される。ここでは、データ加工部１０８は、生産数データＤ１と運転状態データＤ２に分けてそれぞれ出力する。これにより複数の情報種別の情報が含まれている状態データ１４から情報種別にデータを適切に分けることができる。つまり、一度の受信で複数の種別の情報を取得しても対応できるので効率がよい。
【００４２】
＜＜データ振分＞＞
データ加工部１０８は、受信した状態データ１４、または上記したデータ分割によって生成された情報種別のデータに対してそれぞれ行う処理を振り分ける。
図９は、データ振分の処理フローの一例を示す図である。
データ振分において、データ加工部１０８は、受信データまたはデータ分割されたデータ毎に、以下の（ｂ１）〜（ｂ３）のいずれの処理を行うかを指示する。
（ｂ１）データレイク２０を作成
（ｂ２）データマート３０を作成
（ｂ３）データマート３０のキューに送信
【００４３】
図の例では、データ加工部１０８は、図８で分割された生産数データＤ１と運転状態データＤ２を振り分けて（ステップＳ２１）、生産数データＤ１に対してはデータレイク２０の作成を行い（ステップＳ２２）、かつ、運転状態データＤ２をデータマート３０のキューに送信（ステップＳ２３）している。
【００４４】
＜＜アラーム通知＞＞
図１０は、アラーム通知の処理フローの一例を示す図である。アラーム通知処理では、データの値の状態を監視してアラームを発生させる。なお、このアラーム通知処理は、アラーム通知部１０５が行う。
図の例では、アラーム通知部１０５のデータ加工部１０８は、受信した状態データ１４の値を監視（ステップＳ３１）、または図８で分割された生産数データＤ１と運転状態データＤ２の値を監視する（ステップＳ３２）。そして、データ加工部１０８は、値がアラーム通知のための基準を満たすか否かの判定を行う。判定結果は、例えば、メールで通知されるので、メール通知キューに送信する（ステップＳ３３）。そして、判定結果が所定の宛先にメールで通知される（ステップＳ３４）。
【００４５】
アラームの監視項目と、その判定ルールは図１１に示す通りである。この例では、ＪＩＳ規格に準拠したルールを用いている。生産設備１２の仕様に合わせて生産設備１２毎に新ＪＩＳ規格および旧ＪＩＳ規格のいずれかを用いる。コンテキストには、監視対象、適用ルール、基準、アラーム通知方法、通知先等が定義される。
【００４６】
次に、イベント生成および事象データ生成の処理フローについて説明する前に、各データについて説明する。
本実施形態では、生産設備１２で発生する状態データ１４の履歴からイベントデータ２２と事象データ２４を生成し、データレイク２０に格納する。
本実施形態では、状態データ１４、イベントデータ２２、事象データ２４の３つのデータをデータレイク２０に蓄積する。各データの定義は下記の通りである。
【００４７】
状態データ１４は、上記したように、時系列で収集されるデータであり、例えば、設備稼働、加工条件、人の位置情報等の５Ｍ１Ｅデータ、および、品質（検査、測定）、生産量（良品、不良）、重点監視項目、在庫量等の結果データを含む。
【００４８】
状態データ１４が一定間隔で生成される場合、状態データ１４は一定期間の設備状態をロギングするデータとなる。そして、状態データ１４そのものからは、生産設備１２で何が起きていたのかを把握することは難しい。そこで、データ加工部１０８は、イベントデータ２２と事象データ２４を生成する。
【００４９】
イベントデータ２２は、生産現場で発生する事象データ（５Ｍ１Ｅの変化点、事象の開始および完了）を示している。データ加工部１０８は、状態データが所定のルールを満たしたときに、生産設備１２に所定のイベントが生じたことを示すイベントデータを生成する。例えばデータ加工部１０８は、生産設備１２で発生するロギングデータのデータ値の変化点の発生を監視し、変化したときにイベントデータ２２を生成する。イベントデータ２２の生成は、重複する内容を含むデータから有効な情報を予め抽出することを意味する。このため、イベントデータ２２は利用しやすく、また、イベントデータ２２によってデータ圧縮効果が生じる。なお、状態データ１４からイベントデータ２２を生成するためのルールはその監視対象の種類別に予めに定義されており、例えば、記憶部１１０に記憶されている。また、これらのルールは所定のイベント別に設定されている。
【００５０】
例えば、イベントデータ２２は、状態データ１４の変化、設備停止、人の変更、部材補充、治具交換、設備点検、品番変更、在庫変動等の５Ｍ１Ｅの変化点、および、作業の着手完了、段取の着手完了、モノの設備への入出、入出庫、品質不良の発生、進捗遅れの発生、管理図異常、人身災害、予知予測パラメータ異常等の結果情報の変化を含む。
【００５１】
イベントデータ２２の具体的な利用シーンの例は以下の通りである。
（ｄ１）生産数が変わったときの設備の状態や環境情報を収集
（ｄ２）５Ｍ１Ｅの変化履歴を収集
（ｄ３）温度等の計測値が閾値を上回った場合や下回った場合のデータを収集
（ｄ４）温度等の計測値が範囲内に収まっている、または範囲外のデータを抽出
（ｄ５）生産数が変わった場合に前回差分を算出し、データを収集
【００５２】
事象データ２４は、生産現場で発生する事象で期間をもったデータである。
事象データ２４は、設備で発生するロギングデータの変化点を監視して生成する2つのイベントデータ２２から、「ある状態にあった期間」のデータを生成する。あらかじめ「ある状態にあった期間」データを抽出することで、利用しやすく、データ圧縮効果が期待できる。なお、イベントデータ２２から事象データ２４を生成するためのルールは予め定義されており、例えば記憶部１１０に記憶されている。
【００５３】
例えば、事象データ２４は、加工作業中、加工時間（サイクルタイム）、段取作業中、設備稼働中、設備停止中、設備保守中、モノの保管中、モノの滞留、モノの運搬中、ヒトの移動等を含む。
【００５４】
事象データ２４の具体的な利用シーンの例は以下の通りである。
（ｅ１）運転状態が故障中の期間を集計
（ｅ２）発生した設備異常のエラーコード毎の期間を集計
（ｅ３）温度等の計測値がある閾値を越えていた期間を計測
（ｅ４）温度等の計測値が範囲内に収まっていた期間、または範囲外になっていた期間を計測
【００５５】
＜＜イベント生成＞＞
図１２は、イベントデータの生成（以下、イベント生成と記載）の処理フローの一例を示す図である。
イベント生成処理では、データ加工部１０８は、データの変化点等を所定のルールを用いて監視する。そして、このルールを用いてイベントデータ２２を生成する。
【００５６】
イベント発生の監視対象は、データレイク２０またはデータマート３０に格納されるデータテーブルの少なくとも１つのカラムに格納されているデータである。各レコードが複数項目（カラム）のデータを含む場合、イベント発生のためのルールは、複数の異なるカラムのイベント発生を監視するようにカラム毎に異なる基準を設けて設定できる。あるいは、１つのカラムに対して、複数のイベント発生を監視するように複数の異なる基準を設けたルールを設定できる。
【００５７】
ルール監視の種類は以下に例示されるがこれらに限定されない。
（ｃ１）値変化
監視カラムの文字列に変化があった場合にイベントデータ２２を生成する。例えば、ある値→その他の値、ｎｕｌｌ→ｎｕｌｌ以外、ｎｕｌｌ以外→ｎｕｌｌ。
（ｃ２）閾値
監視カラムの数値データに対して、閾値監視を行い、該当する場合にイベントデータ２２を生成する。例えば、「等しい（＝）」、「より大きい（＞）」、「より小さい（＜）」、「以上（≧）」、「以下（≦）」等である。
（ｃ３）バンド
監視カラムの数値データに対して、監視データ範囲内か、範囲外かを監視し、該当する場合にイベントデータ２２を生成する。
（ｃ４）変化差分
監視カラムの数値データに対して、値の変化を監視し、変化差分（増分）を算出して、イベントデータ２２を生成する。
【００５８】
図の例では、図８で分割された生産数データＤ１と運転状態データＤ２についてルール監視を行い（ステップＳ４１）、その結果生成されたイベントデータ２２をデータレイク２０に格納する（ステップＳ４２）。
【００５９】
＜＜事象データ生成＞＞
図１３は、データ加工部１０８が行う事象データ生成の処理フローの一例を示す図である。
事象データ２４は、イベントデータ２２の組み合わせを含んでいる。具体的には、事象データ２４は、開始イベントを示すイベントデータ２２と終了イベントを示すイベントデータ２２を含んでいる。さらに事象データ２４は、イベント間の時間、すなわち事象が生じていた期間を含んでいてもよい。
事象データ２４もルールを用いて生成され（ステップＳ５１）、データレイク２０に格納される（ステップＳ５２）。
【００６０】
なお、情報処理システム１は、開始イベントを示すイベントデータ２２と終了イベントを示すイベントデータ２２をユーザに選択させる選択画面を表示してもよい。
【００６１】
図１４は、１カラムのデータを用いて事象データ２４を生成する例を説明するための図である。
監視ルールとして、開始イベントＥ１と終了イベントＥ２が予め設定されている。図の例では、データ加工部１０８は、異常コードのカラムを監視する。そしてデータ加工部１０８は、ルール（Ｅ１）を適用することにより、ｎｕｌｌからｎｕｌｌ以外に変化するポイントのイベントデータを開始イベントデータとして検知する。また、データ加工部１０８は、ルール（Ｅ２）を適用することにより、ｎｕｌｌ以外からｎｕｌｌに変化するポイントのイベントデータを終了イベントデータとして検知する。そしてこれら２つのイベントデータを用いて事象データ２４を生成する。
【００６２】
図１５は、複数カラムのデーを用いて事象データ２４を生成する例を説明するための図である。
監視ルールとして、開始イベントＥ１と終了イベントＥ２を予め設定する。図の例では、ルール（１）では、異常コードのカラムを監視し、ｎｕｌｌからｎｕｌｌ以外に変化するポイントを検知するとともに、ルール（２）では、作業内容のカラムを監視し、「修理完了」を検知して、事象データ２４を生成する。
【００６３】
上記は主にデータレイク２０に格納するデータ又は格納されているデータに対するデータ加工について説明した。以下、データレイク２０のデータをデータマート３０に格納する際に変換部１０４のデータ加工部１０８が行うデータ加工処理について説明する。ここでは、変換部１０４のデータ加工部１０８が、データマート３０に格納する際に行う、データ編集とデータ集約を例に説明する。
【００６４】
＜＜データ編集＞＞
図１６は、データ編集の処理フローの例を示す図である。
データ加工部１０８は、受信したデータまたは分割されたデータをデータマート３０に登録する際に、各種のデータ編集を行う。
【００６５】
図の例では、データ加工部１０８は、図９のステップＳ２３でデータマート３０の作成キュー３４に送信された運転状態データＤ２をデータマート３０に登録する処理を行う（ステップＳ６１）。このようにデータをそのままデータマート３０に登録することもできるし、さらに、データを編集して（ステップＳ６２）登録することもできる。
【００６６】
図１７は、データ加工部１０８の編集機能の種類の例を示す図である。
図の例では、データ加工部１０８は、データの型変換、文字列操作、時刻変換、四則演算、変換点差分、配列変換、メッセージ取得、ｎｕｌｌ時の固定値設定、マスタ取得、コード変換等の編集機能を有している。
【００６７】
＜＜データ集約＞＞
図１８は、データ集約の処理フローの例を示す図である。
データ加工処理は、リアルタイムに行われるものと、データを集約し、集約されたデータに対して行うものがある。前者の例では、データレイク２０に格納されるデータが発生する時点でデータマート３０のデータも作成される。後者の場合、データ加工部１０８は、データレイク２０に時系列に格納される測定データを時間軸（分単位、時間単位、日単位）で集約する。この際、時間軸を合わせることで、データマート３０間で時間軸に対して関連付けをすることが可能になる。
【００６８】
データ加工部１０８は、蓄積したデータレイク２０のデータから、集約処理を行うためのキーを指定し、このキーを用いてデータを集約し、その後、集約したデータをデータマート３０に作成する（ステップＳ７１）。例えば、測定データは生産設備１２により時間単位が異なるため、１００ｍ秒毎の測定データと１秒毎の測定データの単位を互いに揃えるためにデータ集約を行う。
【００６９】
データ集約で指定される設定は以下に例示されるがこれらに限定されない。
（ｆ１）取得データの条件
（ｆ２）グルーピングするキー
（ｆ３）集約するカラム、関数（min（最小値）、max（最大値）、avg（平均）等）
（ｆ４）集約する時間間隔、処理起動間隔
【００７０】
また、データ集約に際し、データ加工部１０８は以下の処理を行ってもよい。
（ｇ１）データレイク２０に蓄積されている非定型構造の測定データの中から、抽出対象のエンティティを特定し、集約単位を指定して抽出する。コンテキストには、抽出対象のデータと、集約単位が定義される。
（ｇ２）抽出されたレコード群の測定データは非定型構造であるので、測定データ内のＪＳＯＮ等の項目定義を元に、各々に項目ＩＤを付与してデータを構造化する。コンテキストには、項目ＩＤマッピング情報（ＪＳＯＮ等の項目定義）が定義される。
（ｇ３）データレイク２０から抽出されたデータ値を元にマスタからデータを取得して連結する。コンテキストには、連結対象のマスタエンティティと、連結キーが定義される。
【００７１】
図１９は、データの取り込み処理フローの例を示す図である。
上記したように、本実施形態では、データレイク２０からの取り出しやすさを考慮し、データ加工部１０８は、構造化言語（ＪＳＯＮ）を使ってデータレイク２０にデータを登録している（ステップＳ８１）。その際、ＣＳＶファイルのヘッダのカラム毎にＪＳＯＮキー（名前）を付ける設定を行う。
【００７２】
一方、登録する際のＪＳＯＮキーを、ＣＳＶファイルのヘッダカラムに付けることで、ＣＳＶファイルのカラム毎のコンテキスト設定を不要とすることもできる。
これにより、ＣＳＶファイルのヘッダカラムに変更があっても、そのままデータレイク２０にデータを蓄積することかできる。
【００７３】
＜メタバージョン＞
図２０は、状態データをデータレイク２０またはデータマート３０に格納する際に、メタバージョンを用いてデータを振り分ける例を説明するための図である。
図の例では、受信した２つの状態データ１４のうち、データＤ１１のメタバージョンは１で、データＤ１２のメタバージョンは２である。メタバージョン１のデータには、コンテキストＩＤがＣ１のコンテキストを用い、メタバージョン２のデータには、コンテキストＩＤがＣ２のコンテキストを用いる。
【００７４】
＜データレイク２０の構造＞
図２１は、データレイク２０のデータ構造の例を示す図である。
データ毎に構造が異なり、図２１（ａ）が状態データ１４、図２１（ｂ）がイベントデータ２２、図２１（ｃ）が事象データ２４を示している。
状態データ１４については、上記したのでここでは説明を省略する。
【００７５】
図２１（ｂ）の例では、イベントデータ２２は、ソースＩＤ、イベント種別、および測定日時、変化前と変化後の測定データを含んでいる。ソースＩＤは、イベントデータ２２の元となる状態データ１４のソースＩＤである。イベント種別は、変化点の種類（どういう変化が起きたのか）を識別するための情報である。測定日時は、イベント発生時の状態データ１４の測定日時である。イベントデータ２２は変化前のデータと変化後のデータを、測定データと同様に構造化言語で格納する。
【００７６】
図２１（ｃ）の例では、事象データ２４は、ソースＩＤ、事象種別、開始日時、終了日時、経過時間、ならびに開始時および終了時イベントデータを含んでいる。ソースＩＤは、事象データ２４の元となる状態データ１４のソースＩＤである。事象種別は、どういう状態の期間データかを識別する情報である。開始日時及び終了日時は、それぞれ、事象データ２４の開始日時及び終了日時である。事象データ２４を生成した開始イベントと終了イベントそれぞれのイベントデータ２２は、測定データと同様に構造化言語で格納される。
【００７７】
＜コンテキスト編集ツール＞
コンテキストは、ユーザが編集ツールを用いて作成することができる。
＜＜メイン画面＞＞
図２２は、編集ツールの加工フロー編集の画面２００の一例を示す図である。
編集者は、画面上にＧＵＩ（Graphical User Interface）を用いて、データ処理内容を示すアイコンを配置するとともに、各処理の流れを線で結び、処理の順序を定義する。各データ処理内容を示すアイコンは、図示されない選択リストから選択して配置することができる。また、画面２００は、データレイク２０に対する処理内容を定義する領域２１０と、データマート３０に対する処理内容を定義する領域２２０とを含んでいて、それぞれ定義できる。なお、領域２１０と領域２２０は一画面に表示されてもよいし、二画面に分けて表示されてもよい。
【００７８】
編集者がアイコンを選択すると、図２３のウィンドウ２３０が開く。編集者は、このウィンドウ２３０に対し、当該処理の入力と出力の情報種別の名称の入力を行う。これにより、処理の前後の情報種別の変化が視覚的にわかる。また、各アイコン上で、例えば、右クリックなどでメニューを表示させて、各データ加工処理の編集画面を開くことができる。以下、各データ加工処理の編集画面について説明する。
【００７９】
＜＜データ分割画面＞＞
図２４は、データ分割処理の編集画面３１０の一例を示す図である。この画面３１０において、情報処理システム１は、上記したデータ分割処理に関する設定を受け付ける。画面３１０は、入力情報種別入力欄３１２と、出力情報種別一覧３１４と、出力情報種別追加ボタン３１６と、を含む。
【００８０】
入力情報種別入力欄３１２は、データ分割処理の入力となるデータの情報種別の指定を受け付けるための欄である。出力情報種別一覧３１４は、入力の測定データのキー情報（図の例では、input_aqty、operating_state等）毎に、当該キー情報を含む状態データをどの情報種別（図の例では、ME_OPERATING（稼働情報）またはME_PRODUCTION（生産数））に振り分けるかの指定（出力先の指定）を受け付けるための欄である。また、当該キー情報は複数の情報種別（図の例では、ME_OPERATING（稼働情報）とME_PRODUCTION（生産数）の両方）に振り分ける指定をすることも可能である。
【００８１】
この例では、振り分ける情報種別の欄が選択されると、チェックマークが表示されて選択されたことを示す。出力情報種別一覧３１４に表示されるキー情報は、マスタ情報から取得して自動的に表示されてもよいし、ユーザの入力を受け付けてもよい。
【００８２】
出力情報種別追加ボタン３１６は、操作を受け付けると出力となる情報種別を追加できる。この操作により出力情報種別一覧３１４の列が追加される。
【００８３】
＜＜データレイク２０へのデータ加工／書込画面＞＞
図２５は、データレイク２０への加工／書込処理の編集画面３２０の一例を示す図である。この画面３２０において、情報処理システム１は、データレイク２０に対する上記したデータの加工または書込処理に関する設定を受け付ける。画面３２０は、入力情報種別選択欄３２２と、テーブル名選択欄３２４と、処理内容指定欄３２６とを含む。
【００８４】
入力情報種別選択欄３２２には、図２４の出力情報種別一覧３１４で設定した出力先となるデータの情報種別がリスト表示される。そして情報処理システム１は、リストの中から出力先のデータの情報種別をユーザに選択させて受け付けることができる。この図の例ではME_OPERATING（稼働情報が）選択されている。
【００８５】
テーブル名選択欄３２４には、データ加工したデータの書き込み先となるデータレイク２０のテーブル名がリスト表示される。そして情報処理システム１は、リストの中から書き込み対象となるテーブル名をユーザに選択させて受け付けることができる。データレイク２０にテーブルが予め作成されている場合はそれらのテーブル名がリスト表示されるが、予め作成されていないテーブル名を入力して指定することで新たなテーブルを作成するとともに、新たなテーブルに書き込むようにしてもよい。
【００８６】
処理内容指定欄３２６において、情報処理システム１は、入力となる測定データのキー情報（図の例では、operating_state、cycle_time等）毎に、加工処理の内容の指定を受け付ける。加工処理の内容の指定は、例えば、テーブル名選択欄３２４で指定したテーブルへの書き込み対象であるか否かの指定（Write target）、演算対象であるか否かの指定（Arithmetic）、演算対象指定された場合の演算式の指定（formula）等を含む。
【００８７】
図の例では、稼働状態データ（operating_state）は、書き込み対象のみが指定されており、サイクル時間（cycle_time）は、書き込み対象と、演算対象が指定され、データを１０００分の１する演算式が指定されている。
【００８８】
＜＜データ転送画面＞＞
図２６は、データ転送処理の編集画面３３０の一例を示す図である。この画面３３０において、情報処理システム１は、上記したデータ転送の処理に関する設定を受け付ける。画面３３０は、入力情報種別選択欄３３２と、出力情報種別入力欄３３４と、出力先データマート選択欄３３６と、を含む。
【００８９】
入力情報種別選択欄３３２には、転送元のデータの情報種別がリスト表示される。そして情報処理システム１は、リストの中から転送元のデータの情報種別をユーザに選択させて受け付けることができる。出力情報種別入力欄３３４において、情報処理システム１は、転送先のデータの情報種別の入力を受け付ける。出力先データマート選択欄３３６には、転送先となるデータマート３０のデータベース名のリストが表示される。そして情報処理システム１は、リストの中から転送先のデータベースをユーザに選択させて受け付けることができる。データマート３０にデータベースが予め作成されている場合はそれらのデータベース名がリスト表示されるが、予め作成されていないデータベース名を入力して指定することで新たなデータベースを作成するとともに、新たなデータベースに転送するようにしてもよい。
【００９０】
＜＜イベント検出画面＞＞
図２７は、イベント検出処理の編集画面３４０の一例を示す図である。この画面３４０は上記したイベントデータの生成処理に関する設定を受け付ける。画面３４０は、入力情報種別入力欄３４２と、イベント情報種別入力欄３４４と、ルール指定一覧３４６とを含む。
【００９１】
入力情報種別入力欄３４２において、情報処理システム１は、イベントの検出対象となる測定データの情報種別の入力を受け付ける。イベント情報種別入力欄３４４において、情報処理システム１は、検出されたイベントの情報種別（言い換えればイベント名）の入力を受け付ける。
【００９２】
ルール指定一覧３４６は、入力データキー入力欄３５０と、監視指定欄３５２と、イベントの検出基準種類入力欄３５４と、イベントの検出基準詳細入力欄３５６とを含む。
入力データキー入力欄３５０は、イベントの監視対象となる測定データのキー情報の指定を受け付ける。監視指定欄３５２において、情報処理システム１は、その行のキーの測定データを監視するか否かの指定を受け付けるか否かの指定を受け付け、指定された場合はチェックマークが表示される。この図の例では、すべての行にチェックマークが表示されていて、すべてが監視対象であることを示している。
【００９３】
また、情報処理システム１は、イベントの検出基準種類入力欄３５４と、イベントの検出基準詳細入力欄３５６で、イベント検出の基準の入力を受け付ける。イベントの検出基準種類入力欄３５４では、予め設定されている基準種類を含むリストが表示されてもよい。イベントの検出基準詳細入力欄３５６は、さらに詳細設定ボタン３５８を含んでいる。詳細設定ボタン３５８の押下を受け付けると、編集ウィンドウ（不図示）が表示され、具体的な基準値の入力が受け付け可能になる。そして、確定ボタン（不図示）が選択されると、入力された値が確定値として検出基準詳細入力欄３５６に表示される。
【００９４】
この図の例では、温度（temperature）は、バンド（band）が指定され、その幅が３０〜５０と指定されている。また、湿度（humidity）は、閾値（threshold）が指定され、８０以上と指定されている。
【００９５】
＜＜事象データ作成画面＞＞
図２８は、事象データ作成処理の編集画面３６０の一例を示す図である。この画面３６０において、情報処理システム１は上記した事象データ作成処理に関する設定を受け付ける。画面３６０は、事象データ情報種別入力欄３６２と、開始イベント入力欄３６４と、終了イベント入力欄３６６とを含む。
【００９６】
事象データ情報種別入力欄３６２において、情報処理システム１は、事象データ２４の生成対象となるイベントデータ２２の情報種別の入力を受け付ける。開始イベント入力欄３６４において、情報処理システム１は、開始イベント名の入力を受け付ける。終了イベント入力欄３６６において、情報処理システム１は、終了イベント名の入力を受け付ける。
【００９７】
＜＜データマート３０へのデータ加工／書込画面＞＞
【００９８】
図２９は、データマート３０への加工／書込処理の編集画面３７０の一例を示す図である。この画面３７０において、情報処理システム１はデータマート３０に対する上記したデータの加工または書込処理に関する設定を受け付ける。画面３７０は、入力情報種別選択欄３７２と、テーブル名選択欄３７４と、処理内容指定欄３７６とを含む。
【００９９】
入力情報種別選択欄３７２には、図２６のデータマート３０への転送内容を指定する出力情報種別入力欄３３４で設定された出力先を有するデータの情報種別がリスト表示され、リストの中から出力先のデータの情報種別をユーザに選択させて受け付けることができる。この図の例では稼働情報が選択されている。
【０１００】
テーブル名選択欄３７４には、データ加工したデータの書き込み先となるデータマート３０のテーブル名がリスト表示される。そして情報処理システム１は、リストの中から書き込み対象となるテーブル名をユーザに選択させて受け付けることができる。データマート３０にテーブルが予め作成されている場合、テーブル名選択欄３７４にはそれらのテーブル名がリスト表示される。ただし、予め作成されていないテーブル名を入力することで新たなテーブルを作成するとともに、この新たなテーブルに書き込むようにしてもよい。
【０１０１】
処理内容指定欄３７６において、情報処理システム１は、書き込み先のデータマート３０のテーブルのカラム（図の例では、operating state、cycle time等）毎に、加工処理の内容の指定を受け付ける。加工処理の内容の指定は、例えば、書き込みされる測定データのキーの指定（Input key）、演算対象であるか否かの指定（Arithmetic）、演算対象指定された場合の演算式の指定（formula）等を含む。
【０１０２】
以上説明したように、本実施形態によれば、生産設備で発生するデータを管理する装置において、データの形式の相違を吸収できるようにすることができる。
その理由は、第１に、生産設備１２から受信した状態データ１４がソースＩＤ、情報種別及びメタバージョンを含んでおり、状態データ１４を処理するデータ加工部１０８が、ソースＩＤ、情報種別及びメタバージョンに対応するコンテキストを用いて処理を行うからである。この構成により、生産設備１２に変更が生じてもコンテキストを変えるだけでよく、プログラムの変更等が必要ない。
【０１０３】
また、第２に、生産設備１２から受信した状態データ１４は、そのままデータレイク２０に格納できるとともに、業務アプリケーション４０が利用し易い形式に変換部１０４が状態データ１４を変換してデータマート３０に格納できる。この構成により、生産設備１２側の変更と業務アプリケーション４０側の変更の両方にそれぞれ柔軟に対応できる。
【０１０４】
また、第３に、状態データ１４を格納するデータレイク２０のデータ構造が、キー情報を格納する第１領域と、状態データ１４を格納する第２領域を含み、第１領域は、フォーマットが決まっていて、第２領域は、フォーマットが決まっておらず、かつ、構造化言語を用いて定義されるので、様々な生産設備１２のデータ形式に柔軟に対応できる。
【０１０５】
本明細書において、「取得」とは、自装置が他の装置や記憶媒体に格納されているデータまたは情報を取りに行くこと（能動的な取得）、たとえば、他の装置にリクエストまたは問い合わせして受信すること、他の装置や記憶媒体にアクセスして読み出すこと等、および、自装置に他の装置から出力されるデータまたは情報を入力すること（受動的な取得）、たとえば、配信（または、送信、プッシュ通知等）されるデータまたは情報を受信すること等、の少なくともいずれか一方を含む。また、受信したデータまたは情報の中から選択して取得すること、または、配信されたデータまたは情報を選択して受信することも含む。
【０１０６】
図３２は、本実施形態の情報処理システム１の情報処理装置を実現するコンピュータ８０の構成の一例を示す図である。なお、情報処理装置は、少なくとも１つのコンピュータ８０を組み合わせて実現される。また、本実施形態のコンテキスト編集ツールも、同様のコンピュータ８０上でプログラム９０を実行することにより実現される。また、コンテキスト編集ツールは、情報処理装置と同じコンピュータ８０に含まれてもよいし、他のコンピュータに含まれてもよい。
【０１０７】
本実施形態のコンピュータ８０は、ＣＰＵ（Central Processing Unit）８２、メモリ８４、メモリ８４にロードされた図２の構成要素を実現するプログラム９０、そのプログラム９０を格納するストレージ８５、Ｉ／Ｏ（Input/Output）８６、およびネットワーク接続用インタフェース（通信Ｉ／Ｆ８７）を備える。
【０１０８】
ＣＰＵ８２、メモリ８４、ストレージ８５、Ｉ／Ｏ８６、通信Ｉ／Ｆ８７は、バス８９を介して互いに接続され、ＣＰＵ８２により情報処理装置全体が制御される。ただし、ＣＰＵ８２などを互いに接続する方法は、バス接続に限定されない。
メモリ８４は、ＲＡＭ（Random Access Memory）やＲＯＭ（Read Only Memory）などのメモリである。ストレージ８５は、ハードディスク、ＳＳＤ（Solid State Drive）、またはメモリカードなどの記憶装置である。また、ストレージ８５は、ＲＡＭやＲＯＭなどのメモリであってもよい。
ＣＰＵ８２が、ストレージ８５に記憶されるプログラム９０をメモリ８４に読み出して実行することにより、情報処理装置の各機能を実現することができる。
【０１０９】
Ｉ／Ｏ８６は、コンピュータ８０と他の入出力装置間のデータおよび制御信号の入出力制御を行う。他の入出力装置とは、たとえば、コンピュータ８０に接続されるキーボード、タッチパネル、マウス、およびマイクロフォン等の入力装置（不図示）と、ディスプレイ、プリンタ、およびスピーカ等の出力装置（不図示）と、これらの入出力装置とコンピュータ８０のインタフェースとを含む。さらに、Ｉ／Ｏ８６は、他の記録媒体の読み取りまたは書き込み装置（不図示）とのデータの入出力制御を行ってもよい。
【０１１０】
通信Ｉ／Ｆ８７は、コンピュータ８０と外部の装置との通信を行うためのネットワーク接続用インタフェースである。通信Ｉ／Ｆ８７は、有線回線と接続するためのネットワークインタフェースでもよいし、無線回線と接続するためのネットワークインタフェースでもよい。
【０１１１】
図２の本実施形態の情報処理装置の各構成要素は、図３２のコンピュータ８０のハードウェアとソフトウェアの任意の組合せによって実現される。そして、その実現方法、装置にはいろいろな変形例があることは、当業者には理解されるところである。本明細書で説明する実施形態の情報処理装置を示す機能ブロック図は、ハードウェア単位の構成ではなく、論理的な機能単位のブロックを示している。
なお、各図において、本発明の本質に関わらない部分の構成については省略してあり、図示されていない。
【０１１２】
本実施形態のコンピュータプログラムは、情報処理装置を実現させるためのコンピュータ８０に、生産設備１２から当該設備の状態を特定するための状態データ１４を受信する手順、状態データ１４を処理する手順、バージョン情報に対応する処理内容で状態データ１４を処理する手順、を実行させるように記述されている。
【０１１３】
さらに、本実施形態のコンピュータプログラムは、情報処理装置を実現させるためのコンピュータ８０に、受信した状態データ１４をデータレイク２０に蓄積する手順、データレイク２０に蓄積された状態データ１４が所定のルールを満たしたときに、生産設備１２に所定のイベントが生じたことを示すイベントデータ２２を生成し、データレイク２０に格納する手順、複数のイベントデータ２２を組み合わせた事象データ２４を生成してデータレイク２０に格納する手順、を実行させるように記述されている。
【０１１４】
本実施形態のコンピュータプログラムは、コンピュータで読み取り可能な記録媒体に記録されてもよい。記録媒体は特に限定されず、様々な形態のものが考えられる。また、プログラムは、記録媒体からコンピュータのメモリにロードされてもよいし、ネットワークを通じてコンピュータにダウンロードされ、メモリにロードされてもよい。
【０１１５】
コンピュータプログラム９０を記録する記録媒体は、非一時的な有形のコンピュータ８０が使用可能な媒体を含み、その媒体に、コンピュータ８０が読み取り可能なプログラムコードが埋め込まれる。コンピュータプログラム９０が、コンピュータ８０上で実行されたとき、コンピュータ８０に、情報処理装置を実現する以下の制御方法を実行させる。
【０１１６】
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。
たとえば、他の実施形態のコンテキスト編集ツールについて、以下図３０を用いて説明する。
図３０は、他の実施形態のコンテキスト編集ツールを説明するための図である。
コンテキスト編集ツール４００は、コンテキストＩＤ定義４１０と、データ加工フロー定義４２０の２つの機能を有している。データ加工フロー定義４２０ではデータマート３０の作成設定画面４２２と、機能ブロック毎設定画面４２４とを含む。そして、コンテキスト編集ツール４００は、内容が定義されたコンテキストのコンテキストＩＤと生産設備１２の紐付けを受け付けて、生産設備１２毎にコンテキストＩＤを対応付けて記憶部１１０に記憶させる（４３０）。
【０１１７】
このようにして作成されたコンテキストは、例えば、データマート３０作成（集約）用のものと、データレイク２０またはデータマート３０へのアクセス用のものとを含む。
図３１に示すように、コンテキストＩＤで識別されるコンテキスト６０は、エッジ処理部１０２および変換部１０４においてコンテキストＩＤを用いて呼び出して利用される。
【０１１８】
さらに、データレイク２０またはデータマート３０にアクセスするためのＡＰＩ（Application Programming Interface）７０、７２も、それぞれコンテキスト６０を呼び出して利用する。
【０１１９】
以上、実施形態および実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
なお、本発明において利用者に関する情報を取得、利用する場合は、これを適法に行うものとする。
【０１２０】
以下、参考形態の例を付記する。
１．  生産設備の状態を示す状態データを記憶手段に記憶させる場合に用いられるデータ構造であって、
フォーマットが決まっていてキー情報を格納する第１領域と、
前記状態データを格納する第２領域と、
を備え、
前記第２領域は、フォーマットが決まっておらず、かつ構造化用の言語を用いて定義されているデータ構造。
２．  １．に記載のデータ構造において、
前記構造化用の言語は、ＪＳＯＮ（JavaScript Object Notation）又はＸＭＬ（eXtensible Markup Language）であるデータ構造。
３．  １．又は２．に記載のデータ構造において、
前記状態データは、前記生産設備の稼働情報及び生産された物の検査工程における検査結果情報の少なくとも一方を含む、データ構造。
【符号の説明】
【０１２１】
１  情報処理システム
１０  エッジ
１２  生産設備
１４  状態データ
２０  データレイク
２２  イベントデータ
２４  事象データ
３０  データマート
３２  業務データマート
３４  作成キュー
４０  業務アプリケーション
５０  データ
５２  キー情報
５４  属性情報
６０  コンテキスト
８０  コンピュータ
８２  ＣＰＵ
８４  メモリ
８５  ストレージ
８６  Ｉ／Ｏ
８７  通信Ｉ／Ｆ
８９  バス
９０  コンピュータプログラム
１０２  エッジ処理部
１０４  変換部
１０５  アラーム通知部
１０６  選定部
１０８  データ加工部
１１０  記憶部
２００  画面
２１０  領域
２２０  領域
２３０  ウィンドウ
３１０  編集画面
３１２  入力情報種別入力欄
３１４  出力情報種別一覧
３１６  出力情報種別追加ボタン
３２０  編集画面
３２２  入力情報種別選択欄
３２４  テーブル名選択欄
３２６  処理内容指定欄
３３０  編集画面
３３２  入力情報種別選択欄
３３４  出力情報種別入力欄
３３６  出力先データマート選択欄
３４０  編集画面
３４２  入力情報種別入力欄
３４４  イベント情報種別入力欄
３４６  ルール指定一覧
３５０  入力データキー入力欄
３５２  監視指定欄
３５４  検出基準種類入力欄
３５６  検出基準詳細入力欄
３５８  詳細設定ボタン
３６０  編集画面
３６２  事象データ情報種別入力欄
３６４  開始イベント入力欄
３６６  終了イベント入力欄
３７０  編集画面
３７２  入力情報種別選択欄
３７４  テーブル名選択欄
３７６  処理内容指定欄
４００  コンテキスト編集ツール
４１０  コンテキストＩＤ定義
４２０  データ加工フロー定義
４２２  作成設定画面
４２４  機能ブロック毎設定画面
Ｄ１  生産数データ
Ｄ２  運転状態データ
Ｅ１  開始イベント
Ｅ２  終了イベント
【図１】
2020057090.tif 000003
【図２】
2020057090.tif 000004
【図３】
2020057090.tif 000005
【図４】
2020057090.tif 000006
【図５】
2020057090.tif 000007
【図６】
2020057090.tif 000008
【図７】
2020057090.tif 000009
【図８】
2020057090.tif 000010
【図９】
2020057090.tif 000011
【図１０】
2020057090.tif 000012
【図１１】
2020057090.tif 000013
【図１２】
2020057090.tif 000014
【図１３】
2020057090.tif 000015
【図１４】
2020057090.tif 000016
【図１５】
2020057090.tif 000017
【図１６】
2020057090.tif 000018
【図１７】
2020057090.tif 000019
【図１８】
2020057090.tif 000020
【図１９】
2020057090.tif 000021
【図２０】
2020057090.tif 000022
【図２１】
2020057090.tif 000023
【図２２】
2020057090.tif 000024
【図２３】
2020057090.tif 000025
【図２４】
2020057090.tif 000026
【図２５】
2020057090.tif 000027
【図２６】
2020057090.tif 000028
【図２７】
2020057090.tif 000029
【図２８】
2020057090.tif 000030
【図２９】
2020057090.tif 000031
【図３０】
2020057090.tif 000032
【図３１】
2020057090.tif 000033
【図３２】
2020057090.tif 000034