JP2023074641A - 情報処理システム、情報処理方法および情報処理プログラム - Google Patents

情報処理システム、情報処理方法および情報処理プログラム Download PDF

Info

Publication number
JP2023074641A
JP2023074641A JP2021187662A JP2021187662A JP2023074641A JP 2023074641 A JP2023074641 A JP 2023074641A JP 2021187662 A JP2021187662 A JP 2021187662A JP 2021187662 A JP2021187662 A JP 2021187662A JP 2023074641 A JP2023074641 A JP 2023074641A
Authority
JP
Japan
Prior art keywords
data
transmission
topic
information processing
identification information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2021187662A
Other languages
English (en)
Inventor
英紀 八竹
Hidenori Yatake
浩司 福田
Koji Fukuda
芹香 藤川
Serika Fujikawa
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to JP2021187662A priority Critical patent/JP2023074641A/ja
Priority to KR1020220135300A priority patent/KR20230073093A/ko
Priority to TW111140175A priority patent/TWI849544B/zh
Priority to CN202211300159.6A priority patent/CN116136794A/zh
Priority to EP22203332.6A priority patent/EP4184343A1/en
Priority to US17/976,328 priority patent/US20230156085A1/en
Publication of JP2023074641A publication Critical patent/JP2023074641A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/221Column-oriented storage; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)

Abstract

Figure 2023074641000001
【課題】データを効率的に収集および格納し、データ活用を容易化する技術を提供する。
【解決手段】情報処理システムは、1または複数の値および当該1または複数の値に対応付けられた識別情報を含むデータと、当該データの属性を示すトピックとを含む送信データを送信する送信部と、トピック毎に区分けされたデータベースと、送信データに含まれるトピックに基づいてデータの格納先を特定するとともに、送信データに含まれるデータを当該特定したデータの格納先に格納するデータ管理部とを含む。データ管理部は、送信データに含まれる識別情報と同一の識別情報に対応付けられた値が既にデータベースに格納されている場合には、データベースに既に格納されている識別情報に対応付けて、送信データに含まれるデータに含まれる1または複数の値を格納する。
【選択図】図1

Description

本発明は、データ収集に係る情報処理システム、情報処理方法および情報処理プログラムに関する。
情報通信技術の進展に伴って、様々なデータを収集して活用する取り組みがなされている。
例えば、特表2020-503784号公報(特許文献1)は、IoTネットワークにおけるコンポジットオブジェクトを備える装置を開示する。また、特開2019-133610号公報(特許文献2)は、複数のデータ源を含むネットワーク通信環境におけるデータオーケストレーションプラットフォーム管理方法を開示する。
また、収集したデータを検索する技術として、特表2017-516213号公報(特許文献3)は、IoTまたはM2Mデバイスに最も効率的な検索結果を提供するであろう現在のリソースディレクトリ機能性に、より高度な検索エンジン最適化を追加した構成を開示する。
特表2020-503784号公報 特開2019-133610号公報 特表2017-516213号公報
生産現場などにおいても、様々なデータを収集して活用するという取り組みが進められている。生産現場などにおいては、ワーク毎および/または工程毎に関連のデータを対応付ける必要がある。このようなデータの対応付けを実現するためには、対応付けられるデータに共通の識別情報を付与する必要がある。データ毎に共通の識別情報を付与することで、保存するデータ量の増大や分析処理負荷の増大などの課題が生じ得る。
本発明の一つの目的は、データを効率的に収集および格納し、データ活用を容易化する技術を提供することである。
本発明の一例に従う情報処理システムは、1または複数の値および当該1または複数の値に対応付けられた識別情報を含むデータと、当該データの属性を示すトピックとを含む送信データを送信する送信部と、トピック毎に区分けされたデータベースと、送信データに含まれるトピックに基づいてデータの格納先を特定するとともに、送信データに含まれるデータを当該特定したデータの格納先に格納するデータ管理部とを含む。データ管理部は、送信データに含まれる識別情報と同一の識別情報に対応付けられた値が既にデータベースに格納されている場合には、データベースに既に格納されている識別情報に対応付けて、送信データに含まれるデータに含まれる1または複数の値を格納する。
この構成によれば、同一のトピックおよび同一の識別情報を含む複数の送信データが送信された場合であっても、各送信データに含まれる1または複数の値は、同一のトピックおよび同一の識別情報に対応付けてデータベースに格納される。これによって、異なるタイミングで複数の送信データが送信されたとしても、それぞれの送信データに含まれるデータを効率的に収集および格納できる。また、送信データに基づいて、データベースへの項目などの追加を自動的に行うことができるので、データベースの構造を明示的に変更する必要がない。
データ管理部は、送信データに含まれるトピックに対応付けられたデータの格納先が存在しない場合に、当該トピックに対応付けられたデータの格納先を新たに生成するようにしてもよい。この構成によれば、新たなトピックを含む送信データが生成された場合であっても、データベース内を自動的に拡張できるので、データベースを再構成する必要がなく、柔軟に拡張可能なデータベースを実現できる。
データ管理部は、送信データに含まれる識別情報と同一の識別情報に対応付けられた値がデータベースに格納されていない場合には、当該識別情報に対応付けられた値を格納するための新たなレコードを追加するようにしてもよい。この構成によれば、新たな識別情報に対応付けられた値を含む送信データが生成された場合などにおいて、当該新たな識別情報に対応付けられた値を確実にデータベースに格納できる。
データ管理部は、送信データに含まれる値のデータ名を格納するカラムが存在しない場合には、当該データ名の値を格納するための新たなカラムを追加するようにしてもよい。この構成によれば、同一の識別情報に対応付けられた値が複数存在していても、各値を格納するための領域を柔軟に確保できる。
データ管理部は、同一の識別情報に対応付けられた複数の値について予め定められた演算を実行して新たな値を追加するようにしてもよい。この構成によれば、収集部が個々に収集した値に対して、任意の演算を実行することで、より有益な情報を生成できる。
データ管理部は、送信部に設定されたトピックと同一のトピックがデータベースに既に存在するか否かを判断するようにしてもよい。この構成によれば、新たに送信部を追加するような場合に、既に使用されているトピックが誤って設定される可能性を低減できる。
データ管理部は、送信部が送信する送信データに含まれる1または複数の値のデータ名と同一のデータ名がデータベースに既に存在するか否かを判断するようにしてもよい。この構成によれば、新たに送信部を追加するような場合に、既に使用されているデータ名が誤って設定される可能性を低減できる。
トピックは、階層構造で記述されてもよい。この構成によれば、データの収集対象である生産現場の構成に対応付けてトピックを記述できる。
データ管理部は、集計要求に従って、当該集計要求により指定されたトピックに関連付けられた複数の値に対して、当該集計要求により指定された集計処理を実行するようにしてもよい。この構成によれば、特定のトピックに関連する複数の値についての集計結果を容易に取得できる。
集計要求は、対象のトピックを指定するためのワイルドカードを用いた記述を含んでいてもよい。この構成によれば、対象のトピックの各々を特定できなくても、共通した属性の少なくとも一部を特定すれば、集計処理を実行できる。
データ管理部は、集計要求を受信すると、当該受信した集計要求に従って、集計処理を実行するようにしてもよい。この構成によれば、集計要求を送信する毎に、処理結果を取得できる。
本発明の別の例に従う情報処理方法は、トピック毎に区分けされたデータベースを管理するステップと、1または複数の値および当該1または複数の値に対応付けられた識別情報を含むデータと、当該データの属性を示すトピックとを含む送信データを送信するステップと、送信データに含まれるトピックに基づいてデータの格納先を特定するステップと、送信データに含まれるデータを当該特定したデータの格納先に格納するステップとを含む。格納するステップは、送信データに含まれる識別情報と同一の識別情報に対応付けられた値が既にデータベースに格納されている場合には、データベースに既に格納されている識別情報に対応付けて、送信データに含まれるデータに含まれる1または複数の値を格納するステップを含む。
本発明のさらに別の例に従う情報処理プログラムはコンピュータに、トピック毎に区分けされたデータベースを管理するステップと、1または複数の値および当該1または複数の値に対応付けられた識別情報を含むデータと、当該データの属性を示すトピックとを含む送信データに応答して、送信データに含まれるトピックに基づいてデータの格納先を特定するステップと、送信データに含まれるデータを当該特定したデータの格納先に格納するステップとを実行させる。格納するステップは、送信データに含まれる識別情報と同一の識別情報に対応付けられた値が既にデータベースに格納されている場合には、データベースに既に格納されている識別情報に対応付けて、送信データに含まれるデータに含まれる1または複数の値を格納するステップを含む。
本発明によれば、データを効率的に収集および格納し、データ活用を容易化する技術を提供できる。
本実施の形態に従う情報処理システムの適用例を示す模式図である。 本実施の形態に従う情報処理システムの全体構成例を示す模式図である。 本実施の形態に従う情報処理システムのサーバ装置のハードウェア構成例を示すブロック図である。 本実施の形態に従う情報処理システムの送信装置のハードウェア構成例を示すブロック図である。 本実施の形態に従う情報処理システムの収集処理を実現するための機能構成例を示す模式図である。 本実施の形態に従う情報処理システムの一例を示す模式図である。 図6に示す情報処理システムにおけるデータベースのデータ構造に生じる時間的変化の一例を説明するための模式図である。 本実施の形態に従う情報処理システムの収集処理に係るサーバ装置が実行する処理手順を示すフローチャートである。 本実施の形態に従う情報処理システムの管理処理を説明するための模式図である。 本実施の形態に従う情報処理システムの管理処理に係る処理手順を示すシーケンス図である。 本実施の形態に従う情報処理システムの集計処理を説明するための模式図である。 本実施の形態に従う情報処理システムの集計処理に係るサーバ装置が実行する処理手順を示すフローチャートである。
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
<A.適用例>
まず、本発明が適用される場面の一例について説明する。
図1は、本実施の形態に従う情報処理システム1の適用例を示す模式図である。図1(A)および図1(B)を参照して、情報処理システム1は、データ送信モジュール250から送信データ50を受信するサーバ装置100を含む。サーバ装置100は、データ管理モジュール152およびデータベース160を含む。
データ送信モジュール250が送信する送信データ50は、データ54およびデータ54の属性を示すトピック52を含む。送信データ50に含まれるデータ54は、1または複数の値58および当該1または複数の値58に対応付けられた識別情報であるID56を含む。ID56は、データ54を特定するための識別情報である。
本明細書において、「トピック」は、データの属性を示す任意の情報を意味し、データを収集する対象に応じて、適宜設定される。トピックは、管理したいデータの任意の単位で設定することができる。例えば、データが収集される工程名、データが収集される場所(工場名やフロア名)、データが収集される装置、データが収集されるワーク種類などをトピックとして設定することができる。
データベース160は、トピック52の別に1または複数のテーブル162を格納する。すなわち、データベース160は、トピック毎に区分けされている。図1には、トピック52として、「TP1」および「TP2」がそれぞれ付与された2つのテーブル162がデータベース160に格納されている例を示す。
データ管理モジュール152は、送信データ50に含まれるトピック52に基づいてデータ54の格納先(テーブル162)を特定するとともに、送信データ50に含まれるデータ54を当該特定したデータの格納先に格納する。
図1(A)および図1(B)に示す例では、データ54には、データ名として「開始時刻」および「終了時刻」の2つの値が格納されるように構成されている。但し、図1(A)に示すデータ54には、「開始時刻」の値がのみ格納されており、「終了時刻」の値については格納されていない(例えば、nullが格納されている)。一方、図1(B)に示すデータ54には、「終了時刻」の値がのみ格納されており、「開始時刻」の値については格納されていない(例えば、nullが格納されている)。
なお、図1(A)および図1(B)に示すデータ54は、いずれも同一のID56(例えば、「001」)を含む。
図1(A)を参照して、データ管理モジュール152は、送信データ50のトピック52に基づいて、「TP1」が付与されているテーブル162を特定する。そして、データ管理モジュール152は、送信データ50に含まれるID56である「001」のエントリを新たに生成するとともに、送信データ50に含まれる「開始時刻」の値58を当該エントリに格納する。
その後、図1(B)に示すように、データ管理モジュール152が送信データ50を受信すると、送信データ50のトピック52に基づいて、「TP1」が付与されているテーブル162を特定する。ここで、送信データ50に含まれるID56である「001」のエントリが既に存在しているので、データ管理モジュール152は、新たにエントリを生成するのではなく、既に存在する「001」のエントリに、送信データ50に含まれる「終了時刻」の値58を当該エントリに格納する。
このように、データ管理モジュール152は、送信データ50に含まれる識別情報(ID56)と同一の識別情報に対応付けられた値58が既にデータベース160(あるいは、テーブル162)に格納されている場合には、データベース160に既に格納されている識別情報(ID56)に対応付けて、送信データ50に含まれるデータ54に含まれる1または複数の値58を格納する。
このような構成を採用することで、同一のトピックおよび同一の識別情報(ID56)を含む複数の送信データ50が異なるタイミングで送信されたとしても、データベース160(あるいは、テーブル162)において、同一のトピックおよび同一の識別情報に対応付けて、すべての値を格納できる。これによって、トピックおよび識別情報を重複してデータベース160に格納する必要はなく、データを効率的に収集および格納できる。
<B.情報処理システムの全体構成例>
本実施の形態に従う情報処理システム1は、主として、生産現場からデータを収集するが、データを収集する対象については特に限定されるものではない。
図2は、本実施の形態に従う情報処理システム1の全体構成例を示す模式図である。図2を参照して、情報処理システム1は、サーバ装置100と、1または複数の送信装置200-1,200-2,200-3,200-4,200-5,200-6,…(以下、「送信装置200」とも総称する。)と、情報処理装置300-1,300-2…(以下、「情報処理装置300」とも総称する。)とを含む。
サーバ装置100は、ネットワーク2を介して送信装置200から送信されるデータを格納するとともに、必要な情報処理を実行する。また、サーバ装置100は、情報処理装置300などからの集計要求に応じて、格納しているデータを提供する。
送信装置200の各々は、生産現場などから予め定められたデータを収集し、サーバ装置100へ送信する。送信装置200がデータをサーバ装置100へ送信するタイミングは、任意に決定できる。
図2に示すように、ワーク10が複数の工程を経て製品になるようなラインを想定すると、送信装置200の各々は、いずれかの工程に配置されており、各工程を通過するワーク10から収集したデータをサーバ装置100へ送信する。
情報処理装置300は、ネットワーク4を介してサーバ装置100にアクセスして、任意のデータを提供する。
<C.ハードウェア構成>
次に、本実施の形態に従う情報処理システム1を構成する装置のハードウェア構成の一例について説明する。
(c1:サーバ装置100)
図3は、本実施の形態に従う情報処理システム1のサーバ装置100のハードウェア構成例を示すブロック図である。図3を参照して、サーバ装置100は、CPU(Central Processing Unit)やMPU(Micro-Processing Unit)などの1または複数のプロセッサ102と、主メモリ104と、光学ドライブ106と、ストレージ110と、ネットワークコントローラ120,122と、USB(Universal Serial Bus)コントローラ124と、入力部126と、表示部128とを含む。これらのコンポーネントは、バス108を介して接続される。
プロセッサ102は、ストレージ110に格納された各種プログラムを読み出して、主メモリ104に展開して実行することで、サーバ装置100で必要な処理を実現する。
ストレージ110は、例えば、HDD(Hard Disk Drive)やSSD(Flash Solid State Drive)などの1または複数の不揮発性記憶装置で構成される。ストレージ110には、典型的には、OS(Operating System)112および後述する各種処理を実現するための情報処理プログラム114が格納される。なお、ストレージ110には、図3に示すプログラム以外の必要なプログラムが格納されてもよい。
ストレージ110の記憶領域を用いて、送信装置200から収集されたデータから構成されるデータベース160が実現されてもよい。
サーバ装置100は、光学ドライブ106を有していてもよい。光学ドライブ106は、コンピュータ読取可能なプログラムを非一過的に格納する記録媒体107(例えば、DVD(Digital Versatile Disc)などの光学記録媒体)からプログラムを読み取って、ストレージ110などに格納する。
サーバ装置100で実行される各種プログラムは、コンピュータ読取可能な記録媒体107を介してインストールされてもよいが、ネットワーク上の任意のサーバからダウンロードする形でインストールするようにしてもよい。
ネットワークコントローラ120は、ネットワーク2を介した送信装置200などとのデータのやり取りを制御する。ネットワークコントローラ122は、ネットワーク4を介した情報処理装置300などとのデータのやり取りを制御する。
USBコントローラ124は、USB接続を介した外部装置(例えば、サポート装置)とのデータのやり取りを制御する。
入力部126は、タッチパネル、マウス、キーボードなどで構成され、ユーザ操作を受け付ける。表示部128は、ディスプレイ、各種インジケータなどで構成され、プロセッサ102からの処理結果などを出力する。
図3には、プロセッサ102がプログラムを実行することで必要な処理が提供される構成例を示したが、これらの提供される処理の一部または全部を、専用のハードウェア回路(例えば、ASIC(Application Specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)など)を用いて実装してもよい。
また、サーバ装置100が担当する処理の全部または一部をネットワーク上のクラウドコンピューティングを用いて実行してもよい。
(c2:送信装置200)
図4は、本実施の形態に従う情報処理システム1の送信装置200のハードウェア構成例を示すブロック図である。図4を参照して、送信装置200は、処理回路210と、ネットワークコントローラ220と、入力部226と、表示部228と、収集部230とを含む。
処理回路210は、CPUやMPUなどのプロセッサ212と、主メモリ214と、フラッシュメモリなどのストレージ216とを含む。プロセッサ212は、ストレージ216に格納された各種プログラムを読み出して、主メモリ214に展開して実行することで、送信装置200で必要な処理を実現する。
ネットワークコントローラ220は、ネットワーク2を介したサーバ装置100などとのデータのやり取りを制御する。
入力部226は、タッチパネル、マウス、キーボードなどで構成され、ユーザ操作を受け付ける。表示部228は、ディスプレイ、各種インジケータなどで構成され、プロセッサ102からの処理結果などを出力する。なお、入力部226と表示部228とを一体化したタッチパネルディスプレイを採用してもよいし、入力部226および表示部228を省略してもよい。
収集部230は、データを収集するための任意の構成を含む。例えば、収集部230は、ワークなどに付与された2次元または3次元コードを光学的に読み取る光学デバイスや、任意の計測装置からデータを収集するインターフェイス回路を含み得る。
図4には、プロセッサ212がプログラムを実行することで必要な処理が提供される構成例を示したが、これらの提供される処理の一部または全部を、専用のハードウェア回路(例えば、ASICまたはFPGAなど)を用いて実装してもよい。あるいは、送信装置200の主要部を、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。
また、送信装置200は、単一の装置ではなく、複数の装置が連携することで実現されてもよい。例えば、既存のセンサや制御装置に対して、送信データを生成および送信するための通信インターフェイスを付加することで実現されてもよい。
さらに、送信装置200に相当する機能を任意の装置で実行されるソフトウェアとして実現してもよい。この場合には、既存の装置で実行されるソフトウェアに加えて、送信装置200に相当するソフトウェアを追加することで実現されてもよい。
(c3:情報処理装置300)
本実施の形態に従う情報処理システム1の情報処理装置300は、一般的なパーソナルコンピュータなどにより構成される。一般的なパーソナルコンピュータについては公知であるので、詳細な説明は行わない。
<D.基本的な収集処理>
次に、本実施の形態に従う情報処理システム1における基本的な収集処理について説明する。
図5は、本実施の形態に従う情報処理システム1の収集処理を実現するための機能構成例を示す模式図である。図5を参照して、情報処理システム1において、サーバ装置100は、データ配信モジュール150と、データ管理モジュール152と、データベース160とを含む。送信装置200は、データ送信モジュール250を含む。情報処理装置300は、データ取得モジュール350を含む。
送信装置200のデータ送信モジュール250は、送信部に相当し、データを収集して送信する。データ送信モジュール250が送信するデータを「送信データ50」と称す。
送信データ50は、格納されているデータ54の属性を示すトピック52を含む。送信データ50に格納されているデータ54は、1または複数の値58、および、1または複数の値58に対応付けられたID56を含む。ID56は、データ54を特定するための識別情報である。
サーバ装置100のデータ配信モジュール150は、データ送信モジュール250から受信する送信データ50に含まれるトピック52を特定し、当該特定したトピック52を購読しているデータ管理モジュール152および/またはデータ取得モジュール350へ送信データ50を転送する。送信データ50の配信先は、複数のモジュールであってもよい。なお、データ配信モジュール150は、受信する送信データ50のすべてをデータ管理モジュール152へ転送するようにしてもよい。
情報処理装置300のデータ取得モジュール350は、ユーザにより指定された購読対象のトピックをデータ配信モジュール150へ通知する。また、データ取得モジュール350は、格納されているデータのうちから取得したいデータのトピックをデータ配信モジュール150へ通知する。この通知に応答して、データ配信モジュール150は、指定されたトピックに対応するデータをデータ取得モジュール350へ送信する。
サーバ装置100のデータ管理モジュール152は、データ配信モジュール150から受信する送信データ50に含まれるトピック52に基づいて、対応するデータ54をデータベース160に格納する。このように、データ管理モジュール152は、送信データ50に含まれるトピック52に基づいてデータの格納先を特定するとともに、送信データ50に含まれるデータ54を当該特定したデータの格納先に格納する。
データ管理モジュール152は、データ配信モジュール150からの集計要求に応じて、データベース160に格納されているデータを検索するようにしてもよい。
また、データ管理モジュール152は、後述するようなデータベース160のデータ構造の更新(追加および削除を含む)を担当してもよい。さらに、データ管理モジュール152は、送信データ50に含まれるデータ54に対する任意の演算を実行するようにしてもよい。
データベース160は、トピック毎に区分けされている。より具体的には、データベース160は、トピック52の別に1または複数のテーブル162を格納する。テーブル162の各々は、ID164と、1または複数の値166とが対応付けられて格納されている。
なお、トピックは、上述したような単一の値に限らず、階層構造を採用してもよい。階層構造で記述する場合には、「相対表記」および/または「絶対表記」を導入してもよい。「相対表記」は、任意の基準からの経路を示すものであり、例えば、「line3/process5」といったように、「/」で始まらない表記としてもよい。
また、「絶対表記」は、対象のシステムにおいて一意に特定可能な経路を示すものであり、例えば、「/factory2/line3/process5」といったように、「/」で始まる表記としてもよい。このとき、絶対表記の先頭部分(例えば、「/factory2/」)をグローバルトピックと称し、それ以降の部分(例えば、「line3/process5」)をローカルトピックと称することができる。相対表記は、グローバルトピックなしの、ローカルトピックとみなすこともできる。
図6は、本実施の形態に従う情報処理システム1の一例を示す模式図である。図6には、ワーク10が工程1および工程2で処理される例を示す。情報処理システム1は、工程1および工程2におけるワーク10に対する処理の開始時刻および終了時刻を収集する。
図6を参照して、ワーク10は、コンベアなどにより工程1、工程2といった順序に搬送されるとともに、各工程において加工や組み立てなどの処理が行われる。ワーク10には、ワーク10を特定するためのID(001,002,003,…)を示す2次元コード12が付与されている。
送信装置200は、2次元コード12を光学的に読み取って、ワーク10のIDを取得するとともに、IDを取得した時刻も取得する。送信装置200は、いずれかの工程の処理開始ポイントまたは処理終了ポイントに配置されている。そのため、送信装置200は、各工程においてワーク10に対する処理の開始時刻または終了時刻をサーバ装置100へ送信することができる。すなわち、送信装置200が送信する送信データ50のデータ54は、ワーク10のIDと、開始時刻または終了時刻とを含む。
より具体的には、送信装置200-1は、工程1の処理開始ポイントに配置されており、送信装置200-2は、工程1の処理終了ポイントに配置されている。同様に、送信装置200-3は、工程2の処理開始ポイントに配置されており、送信装置200-4は、工程2の処理終了ポイントに配置されている。
このように、送信装置200の各々は、ワーク10が通過したときに、ワーク10に付与されている2次元コード12を光学的に読み取って、当該2次元コード12を光学的に読み取った時刻をサーバ装置100へ送信する。このとき、送信装置200の各々は、配置されている工程を特定するための情報をトピック52として送信データ50に含める。
より具体的には、送信装置200-1は、ワーク10が通過すると(工程1でのワーク10に対する処理が開始されると)、ワーク10に付与されている2次元コード12を光学的に読み取って取得されたワーク10のIDと、ワーク10のIDを読み取った時刻である開始時刻とをデータ54-1として生成する。そして、送信装置200-1は、「工程1」をトピック52-1としてデータ54-1に付加して送信データ50-1を生成し、サーバ装置100へ送信する。
サーバ装置100(データ管理モジュール152)は、送信装置200-1から送信データ50-1を受信すると、送信データ50-1に含まれるトピック52-1の値である「工程1」に対応するテーブル162-1を特定し、送信データ50-1に含まれるデータ54-1(IDおよび開始時刻)を格納する。このとき、データ54-1のIDの値である「001」と同じ値のID164が付与されたレコードが存在しないので、サーバ装置100は、新たなレコードを追加する。
このように、サーバ装置100(データ管理モジュール152)は、送信データ50に含まれるID56(識別情報)と同一のIDに対応付けられた値がデータベース160に格納されていない場合には、ID56に対応付けられた値を格納するための新たなレコードを追加する。
続いて、送信装置200-2は、ワーク10が通過すると(工程1でのワーク10に対する処理が終了すると)、ワーク10に付与されている2次元コード12を光学的に読み取って取得されたワーク10のIDと、ワーク10のIDを読み取った時刻である終了時刻とをデータ54-2として生成する。そして、送信装置200-2は、「工程1」をトピック52-2としてデータ54-2に付加して送信データ50-2を生成し、サーバ装置100へ送信する。
サーバ装置100(データ管理モジュール152)は、送信装置200-2から送信データ50-2を受信すると、送信データ50-2に含まれるトピック52-2の値である「工程1」に対応するテーブル162-1を特定し、送信データ50-2に含まれるデータ54-2(IDおよび終了時刻)を格納する。このとき、データ54-1のIDの値である「001」と同じ値のID164が付与されたレコードが既に存在しているので、サーバ装置100は、既存のレコードに終了時刻を格納する。
また、サーバ装置100(データ管理モジュール152の演算機能154)は、開始時刻および終了時刻の両方が格納されたレコードについて、開始時刻と終了時刻との差を作業時間として算出する。そして、サーバ装置100は、算出した作業時間を対応するレコードに格納する。
データ管理モジュール152の演算機能154は、ワーク10の各々について、開始時刻および終了時刻から作業時間を算出する処理を担当する。なお、演算機能154による作業時間の算出は、対応する開始時刻および終了時刻が揃っていればいずれであってもよい。例えば、開始時刻と終了時刻とが揃った直後に作業時間を算出するようにしてもよいし、予め定められた周期毎に、テーブル162に含まれるレコードのうち開始時刻と終了時刻とが揃ったレコードを抽出し、抽出したレコードについて、作業時間を算出するようにしてもよい。
ワーク10は、工程1での処理が終了すると、工程2へ送られる。
送信装置200-3は、ワーク10が通過すると(工程2でのワーク10に対する処理が開始されると)、ワーク10に付与されている2次元コード12を光学的に読み取って取得されたワーク10のIDと、ワーク10のIDを読み取った時刻である開始時刻とをデータ54-3として生成する。そして、送信装置200-3は、「工程2」をトピック52-3としてデータ54-3に付加して送信データ50-3を生成し、サーバ装置100へ送信する。
続いて、送信装置200-4は、ワーク10が通過すると(工程2でのワーク10に対する処理が終了すると)、ワーク10に付与されている2次元コード12を光学的に読み取って取得されたワーク10のIDと、ワーク10のIDを読み取った時刻である終了時刻とをデータ54-4として生成する。そして、送信装置200-4は、「工程2」をトピック52-4としてデータ54-4に付加して送信データ50-4を生成し、サーバ装置100へ送信する。
サーバ装置100(データ管理モジュール152)は、送信装置200-3および送信装置200-4から送信データ50-3および送信データ50-4をそれぞれ受信すると、「工程2」に対応するテーブル162-2を特定し、送信データ50-3,50-4に含まれるデータ54-2,54-4を格納する。また、サーバ装置100(データ管理モジュール152の演算機能154)は、送信データ50-3および送信データ50-4についても、開始時刻と終了時刻との差を作業時間として算出する。
上述したように、データ管理モジュール152の演算機能154は、同一のIDに対応付けられた複数の値(例えば、「開始時刻」および「終了時刻」)について予め定められた演算を実行して新たな値(例えば、「作業時間」)を追加する。
図7は、図6に示す情報処理システム1におけるデータベース160のデータ構造に生じる時間的変化の一例を説明するための模式図である。図7には、同一のワーク10が工程1および工程2で順次処理された場合のデータベース160のデータ構造に生じる時間的変化の一例を示す。
まず、初期状態においては、サーバ装置100のデータベース160は、何らのテーブル162も存在しないとする。ワーク10に対する工程1での処理が開始されると、サーバ装置100は、送信データ50-1を受信する。送信データ50-1は、トピック52-1として「工程1」の情報を含んでいる。
サーバ装置100のデータ管理モジュール152は、「工程1」に対応するテーブルが存在しないので、新たなテーブルを生成する。より具体的には、データ管理モジュール152は、送信データ50-1に含まれるトピック52-1に基づいて、「工程1」が付与されたテーブルを生成する(図7の(1))。生成されたテーブルには、必須の情報であるIDを格納するカラムが初期設定されてもよい。
このように、サーバ装置100のデータ管理モジュール152は、送信データ50に含まれるトピック52に対応付けられたデータの格納先であるテーブルが存在しない場合に、当該トピックに対応付けられたテーブルを新たに生成する。
続いて、データ管理モジュール152は、送信データ50-1に含まれるデータ名である「開始時刻」に対応するカラムが存在しないので、新たなカラムを追加する(図7の(2))。このように、サーバ装置100のデータ管理モジュール152は、送信データ50に含まれる値のデータ名を格納するカラムが存在しない場合には、当該データ名の値を格納するための新たなカラムを追加する。
そして、データ管理モジュール152は、送信データ50-1に含まれるIDの値および開始時刻の値を対象のレコードに格納する(図7の(3))。
その後、サーバ装置100が送信データ50-2を受信すると、送信データ50-2に含まれるデータ名である「終了時刻」に対応するカラムが存在しないので、データ管理モジュール152は、新たなカラムを追加する(図7の(4))。
続いて、データ管理モジュール152は、送信データ50-2に含まれるIDの値に対応するレコードを特定し、送信データ50-2に含まれる終了時刻の値を対象のレコードに格納する。さらに、データ管理モジュール152は、開始時刻の値および終了時刻の値から作業時間を算出する。データ管理モジュール152は、「作業時間」に対応するカラムが存在しないので、新たなカラムを追加する。最終的に、データ管理モジュール152は、算出した作業時間値を対象のレコードに格納する(図7の(5))。
その後、サーバ装置100は、送信データ50-3および送信データ50-4を順次受信すると、上述と同様の処理を実行する。
具体的には、ワーク10に対する工程2での処理が開始されると、サーバ装置100は、送信データ50-3を受信する。送信データ50-3は、トピック52-3として「工程2」の情報を含んでいる。
サーバ装置100のデータ管理モジュール152は、送信データ50-3に含まれるトピック52-3に基づいて、「工程2」が付与されたテーブルを生成する(図7の(6))。続いて、データ管理モジュール152は、送信データ50-3に含まれるデータ名である「開始時刻」に対応するカラムが存在しないので、新たなカラムを追加する(図7の(7))。そして、データ管理モジュール152は、送信データ50-3に含まれるIDの値および開始時刻の値を対象のレコードに格納する(図7の(8))。
その後、サーバ装置100が送信データ50-4を受信すると、送信データ50-4に含まれるデータ名である「終了時刻」に対応するカラムが存在しないので、データ管理モジュール152は、新たなカラムを追加する(図7の(9))。
続いて、データ管理モジュール152は、送信データ50-4に含まれるIDの値に対応するレコードを特定し、送信データ50-4に含まれる終了時刻の値を対象のレコードに格納する。さらに、データ管理モジュール152は、開始時刻の値および終了時刻の値から作業時間を算出する。データ管理モジュール152は、「作業時間」に対応するカラムが存在しないので、新たなカラムを追加する。最終的に、データ管理モジュール152は、算出した作業時間値を対象のレコードに格納する(図7の(10))。
サーバ装置100のデータ管理モジュール152は、送信データ50を受信するたびに上述したような処理を実行する。なお、新たなテーブルの生成、および/または、新たなカラムの追加は、新たなトピック52を含む送信データ50を受信した場合のみ実行されることになる。
図8は、本実施の形態に従う情報処理システム1の収集処理に係るサーバ装置100が実行する処理手順を示すフローチャートである。図8に示す各ステップは、典型的には、サーバ装置100のプロセッサ102が情報処理プログラム114を実行することで実現される。
図8を参照して、サーバ装置100は、トピック毎に区分けされたデータベース160を管理する(ステップS100)。そして、サーバ装置100は、いずれかの送信装置200から送信データ50を受信したか否かを判断する(ステップS102)。すなわち、サーバ装置100は、送信装置200が送信データ50をサーバ装置100へ送信したか否かを判断する。送信データ50を受信していなければ(ステップS102においてNO)、ステップS102の処理が繰り返される。
送信データ50を受信していれば(ステップS102においてYES)、サーバ装置100は、受信した送信データ50に含まれるトピック52に対応するテーブル162が存在するか否かを判断する(ステップS104)。
受信した送信データ50に含まれるトピック52に対応するテーブル162が存在しなければ(ステップS104においてNO)。サーバ装置100は、受信した送信データ50に含まれるトピック52に対応する新たなテーブル162を生成する(ステップS106)。
このように、サーバ装置100は、送信データ50に含まれるトピック52に基づいてデータの格納先を特定する。
受信した送信データ50に含まれるトピック52に対応するテーブル162が存在していれば(ステップS104においてYES)、または、新たなテーブル162を生成した後(ステップS106の実行後)、サーバ装置100は、受信した送信データ50に含まれるID56と同じ値のID164が付与されたレコードが存在するか否かを判断する(ステップS108)。
受信した送信データ50に含まれるID56と同じ値のID164が付与されたレコードが存在しなければ(ステップS108においてNO)、サーバ装置100は、受信した送信データ50に含まれるID56をID164として付与したレコードを生成する(ステップS110)。
続いて、サーバ装置100は、受信した送信データ50に含まれるデータ54のデータ名(開始時刻および/または終了時刻)を特定する(ステップS112)。そして、サーバ装置100は、特定したデータ名が格納先のテーブル162に存在するか否かを判断する(ステップS114)。
特定したデータ名が格納先のテーブル162に存在しなければ(ステップS114においてNO)、サーバ装置100は、存在しないデータ名に対応する新たなカラムを追加する(ステップS116)。
特定したデータ名が格納先のテーブル162に存在していれば(ステップS114においてYES)、または、テーブル162に新たなカラムを追加した後(ステップS116の実行後)、サーバ装置100は、受信した送信データ50に含まれるデータ54に含まれる値58をID56と同じ値のID164が付与されたレコードの対応するカラムに格納する(ステップS118)。このように、サーバ装置100は、送信データ50に含まれるデータ54を特定したデータの格納先に格納する。このとき、サーバ装置100は、送信データ50に含まれるID56と同一のID164に対応付けられた値が既にデータベース160に格納されている場合には、データベース160に既に格納されているID164に対応付けて、送信データ50に含まれるデータ54に含まれる1または複数の値58を格納することになる。
続いて、サーバ装置100は、ID56と同じ値のID164が付与されたレコードにおいて、開始時刻と終了時刻とが揃ったか否かを判断する(ステップS120)。ID56と同じ値のID164が付与されたレコードにおいて、開始時刻と終了時刻とが揃っていれば(ステップS120においてYES)、サーバ装置100は、開始時刻および終了時刻から作業時間を算出する(ステップS122)。
ID56と同じ値のID164が付与されたレコードにおいて、開始時刻と終了時刻とが揃っていなければ(ステップS120においてNO)、ステップS122の処理はスキップされる。
このように、工程1および工程2の各々において、ワーク10に対する作業に要する時間(作業時間)を収集できる。ワーク10は順次処理されるので、すべてのワーク10について、開始時刻、終了時刻および作業時間を蓄積することで、工程毎に要する作業時間の平均値やバラツキなどを分析するためのデータとして利用できる。
説明の便宜上、2つの工程からなる例を説明したが、1または複数の工程が追加された場合であっても、柔軟に対応できる。例えば、工程3が追加された場合には、追加された工程3に送信装置200を新たに配置するとともに、当該新たに追加された送信装置200に対して、トピック52として「工程3」を設定する。これによって、サーバ装置100は、トピック52の新たな値に対応するテーブル162を生成する。
図6に示すように、同一のワーク10についてのデータ(開始時刻および終了時刻)は、異なる送信装置200がそれぞれ異なるタイミングでサーバ装置100へ送信される。このように時間的に分散された複数のデータが送信される場合であっても、トピック52およびID56を利用することで、ワーク10毎に必要なデータを集約できる。
<E.トピックおよびデータ名の管理>
上述したように、本実施の形態に従う情報処理システム1は、トピックに基づいて、複数の送信装置200からのデータを収集する。また、同一のIDに対して複数種類のデータを順次収集する。そのため、送信装置200がデータを送信する際に指定するトピックおよびデータ名の管理が重要になってくる。
例えば、図6に示すような情報処理システム1を構築するにあたって、送信装置200のデータ送信モジュール250には、トピックおよびデータ名が設定される。図6に示すように、送信装置200-1および送信装置200-2に対して、同一のトピック52(図6に示す例では「工程1」)およびID(図6に示す例では、ワーク10に付与されている2次元コード12から読み出される値)を設定するとともに、送信装置200-1に対しては、データ名として「開始時刻」を設定し、送信装置200-1に対しては、データ名として「終了時刻」を設定することで、サーバ装置100でのデータの集約および演算を実現する。
一方で、複数の送信装置200がそれぞれ独立してデータを送信する方式を採用するため、対応付けるべきではない複数の送信装置200の間で意図せずに同一のトピックが設定されてしまう可能性がある。そのため、トピックを設定する際には、重複の有無などを確認することが好ましい。同様に、データ名を設定する際にも、重複の有無などを確認することが好ましい。
より具体的には、データ送信モジュール250に対してトピックおよび/またはデータ名を設定する際、データ送信モジュール250がサーバ装置100に対して、設定しようとするトピックおよび/またはデータ名が既に別のデータ送信モジュール250によって使用されているかを問い合わせる。設定しようとするトピックおよび/またはデータ名が既に別のデータ送信モジュール250によって使用されている場合には、ユーザに対して通知を行うことで、設定の間違いなどを防止できる。
図9は、本実施の形態に従う情報処理システム1の管理処理を説明するための模式図である。図9を参照して、サーバ装置100のデータ管理モジュール152は、登録管理機能156を有している。データ管理モジュール152の登録管理機能156は、送信装置200に設定されたトピックおよび/またはデータ名を記録するための設定テーブル170を有している。データ管理モジュール152の登録管理機能156は、送信データ50の送信元である送信装置200にトピックおよび/またはデータ名が設定されると、当該設定内容を設定テーブル170に登録する。
より具体的には、送信装置200-1のデータ送信モジュール250-1は、トピックおよび/またはデータ名の設定を受け付けるためのインターフェイスをユーザへ提供する。図9には、設定ウィンドウ260の例を示す。ユーザは、設定ウィンドウ260の入力窓262に対して、設定を希望するトピックの値(例えば、「工程1」)を入力する。すると、送信装置200-1のデータ送信モジュール250-1は、ユーザが設定した内容をサーバ装置100へ送信する。
データ管理モジュール152の登録管理機能156は、送信装置200-1のデータ送信モジュール250-1からの設定内容を設定テーブル170に登録する。このように、データ管理モジュール152の登録管理機能156が送信装置200-1から送信されるトピックおよび/またはデータ名を管理することで、重複の有無などの問い合せに応答することができる。説明の便宜上、図9には、トピックを設定する設定ウィンドウ260を示すが、データ名を設定できるようにしてもよい。
その後、ユーザが送信装置200-1に対してトピックを設定する場合を想定する。この場合においても、送信装置200-1のデータ送信モジュール250-1は、設定ウィンドウ260をユーザに提示し、ユーザは、設定ウィンドウ260の入力窓262に対して、設定を希望するトピックの値(例えば、「工程1」)を入力する。すると、送信装置200-2のデータ送信モジュール250-2は、ユーザが設定した内容をサーバ装置100へ送信する。
データ管理モジュール152の登録管理機能156は、設定テーブル170を参照して、送信装置200-2のデータ送信モジュール250-2からの設定内容と同一の内容が登録されているか否かを判断する。データ管理モジュール152の登録管理機能156は、データ送信モジュール250-2からの設定内容と同一の内容が登録済であるか否かを送信装置200-2のデータ送信モジュール250-2へ応答する。
送信装置200-2のデータ送信モジュール250-2は、ユーザが設定した内容が既に登録されていれば、その旨を通知する。例えば、設定内容が既に登録されている旨を通知する通知ウィンドウ264を表示してもよい。
このように、データ管理モジュール152の登録管理機能156は、データ送信モジュール250(送信装置200)に設定されたトピックと同一のトピックがデータベース160に既に存在するか否かを判断する。あるいは、データ管理モジュール152の登録管理機能156は、データ送信モジュール250(送信装置200)が送信する送信データ50に含まれる1または複数の値58のデータ名と同一のデータ名がデータベース160に既に存在するか否かを判断してもよい。
このような管理機能を実装することで、トピックおよび/またはデータ名についての設定の間違いなどを防止できる。
図10は、本実施の形態に従う情報処理システム1の管理処理に係る処理手順を示すシーケンス図である。
図10を参照して、送信装置200(データ送信モジュール250)は、ユーザからトピックおよび/またはデータ名についての設定を受け付けると(シーケンスSQ200)、受け付けた設定内容をサーバ装置100(データ管理モジュール152の登録管理機能156)へ送信する(シーケンスSQ202)。
サーバ装置100は、設定テーブル170を参照して、送信装置200からの設定内容と同一の内容が登録されているか否かを判断する(シーケンスSQ204)。送信装置200からの設定内容と同一の内容が登録されていなければ、サーバ装置100は、送信装置200からの設定内容を設定テーブル170に登録し(シーケンスSQ206)、登録完了を送信装置200へ通知する(シーケンスSQ208)。
送信装置200からの設定内容と同一の内容が登録されていれば、サーバ装置100は、設定内容が重複している旨を送信装置200へ通知する(シーケンスSQ210)。送信装置200は、設定内容が既に登録されていることをユーザへ通知する(シーケンスSQ212)。
送信装置200は、ユーザから設定内容の登録の続行を指示されると(シーケンスSQ214)、登録の続行をサーバ装置100へ通知する(シーケンスSQ216)。サーバ装置100は、送信装置200からの登録の続行の通知に従って、送信装置200からの設定内容を設定テーブル170に登録する(シーケンスSQ218)。
<F.集計機能>
次に、本実施の形態に従う情報処理システム1の集計機能の一例について説明する。
経営者や管理者などが生産現場のKPI(Key Performance Indicators)などを監視したい場合には、複数のライン全体の生産性、品質、設備稼働率、使用エネルギーなどを俯瞰して集計する必要がある。このような複数のラインの生産状況を容易に集計できる仕組みが有益である。以下、このような集計機能の一例について説明する。
図11は、本実施の形態に従う情報処理システム1の集計処理を説明するための模式図である。図11には、各ラインの不良数をサブトピックに対応付けられたデータとして収集するとともに、ライン全体の不良数の合計を親トピックとして指定することで集計する例を示す。一例として、「ライン1」、「ライン2」、「ライン3」という3つのラインが「フロア2」に存在する場合を示す。
図11を参照して、各ラインを制御する制御装置(PLC:Programmable Logic Controller)が送信装置200-5,200-6,200-7として機能する。送信装置200-5,200-6,200-7の各々は、担当するラインに発生した不良数をカウントし、カウントした不良数をデータ54-5,54-6,54-7として含む送信データ50-5,50-6,50-7をサーバ装置100へ送信する。
送信データ50-5,50-6,50-7に含まれるトピック52-5,52-6,52-7の各々は、対象のフロアおよびラインを階層構造で指定するものとなっている。より具体的には、送信データ50-5のトピック52-5は、「フロア2/ライン1」であり、送信データ50-6のトピック52-6は、「フロア2/ライン2」であり、送信データ50-7のトピック52-7は、「フロア2/ライン3」である。
サーバ装置100のデータベース160は、それぞれのトピック52に対応したテーブル162-3,162-4,162-5を格納している。テーブル162-3,162-4,162-5には、それぞれ「フロア2/ライン1」、「フロア2/ライン2」、「フロア2/ライン3」がトピックとして付与されている。データ管理モジュール152は、送信装置200-5,200-6,200-7から受信する送信データ50-5,50-6,50-7を含まれるトピック52に対応するテーブル162に格納する。図11に示す例では、「不良数」のカラムにデータ54に含まれる不良数の値が格納される。
サーバ装置100のデータ管理モジュール152は、集計機能158を有している。データ管理モジュール152の集計機能158は、集計要求184に応じて、1または複数のテーブル162に格納されているデータを検索して集計する。特に、集計機能158は、トピックの階層構造に基づいて、対象となるデータを抽出するとともに、抽出したデータに対して指定された集計処理を実行することで、集計結果を生成する。
例えば、情報処理装置300がサーバ装置100に対して集計要求184を送信したとする。なお、情報処理装置300は、集計要求184の内容を設定するための設定ウィンドウを表示してもよい。
より具体的には、集計要求184は、トピック1841と、キー1842と、集計方法1843とを含む。
トピック1841には「フロア2/+」が指定されている。ここで、「+」はワイルドカードを意味する。このように、集計要求184は、対象のトピックを指定するためのワイルドカードを用いた記述を含んでいてもよい。キー1842には「不良数」が指定されており、集計方法1843には「合計」が指定されている。
データ管理モジュール152の集計機能158は、データベース160に格納されているテーブル162のうち指定されたトピック1841である「フロア2/+」に合致するテーブルを抽出する。すなわち、「フロア2/+」は、「フロア」で始まるトピックが付与されているすべてのテーブル162を意味するので、テーブル162-3,162-4,162-5が対象として抽出される。
そして、データ管理モジュール152の集計機能158は、抽出したテーブル162のうちから、指定されたキー1842である「不良数」のカラムに格納されている値をそれぞれ抽出する。
最終的に、データ管理モジュール152の集計機能158は、指定された集計方法1843である「合計」に従って、抽出したそれぞれの値の合計を算出する。そして、データ管理モジュール152の集計機能158は、算出した不良数の合計を集計結果として、情報処理装置300へ応答する。情報処理装置300には、集計結果372を含む結果ウィンドウ370が表示される。
このように、データ管理モジュール152の集計機能158は、集計要求184に応じて、集計要求184により指定されたトピック1841に関連付けられた複数の値に対して、集計要求184により指定された集計処理を実行する。
このように、階層構造のトピック52を用いることで、複数のデータソース(例えば、ライン)に対して、集計処理を容易に実現できる。
なお、サーバ装置100は、集計要求184の受信に応答して、集計処理を実行するようにしてもよい。すなわち、データ管理モジュール152の集計機能158は、集計要求184を受信すると、当該受信した集計要求184に従って、集計処理を実行してもよい。
一方で、データ管理モジュール152の集計機能158は、予め定められた集計処理を定期的に実行し、得られた集計結果を別のトピックが付与されたテーブルに格納するようにしてもよい。例えば、1日分のデータに対して夜間のバッチ処理で集計することで、集計要求184を受信するたびに集計処理を実行する必要がなくなり、処理負荷を低減できるとともに、集計結果の応答を高速化できる。
図12は、本実施の形態に従う情報処理システム1の集計処理に係るサーバ装置100が実行する処理手順を示すフローチャートである。図12に示す各ステップは、典型的には、サーバ装置100のプロセッサ102が情報処理プログラム114を実行することで実現される。
図12を参照して、サーバ装置100は、集計要求184を受信したか否かを判断する(ステップS300)。集計要求184を受信していなければ(ステップS300においてNO)、ステップS300の処理が繰り返される。
集計要求184を受信していれば(ステップS300においてYES)、サーバ装置100は、集計要求184に含まれるトピック1841に基づいて、対象のテーブル162を抽出する(ステップS302)。そして、サーバ装置100は、抽出した1または複数のテーブル162のうち集計要求184に含まれるキー1842により指定されたカラムに格納されている値を抽出する(ステップS304)。さらに、サーバ装置100は、集計要求184に含まれる集計方法1843に従って、抽出した値について集計処理を実行して集計結果を生成する(ステップS306)。そして、サーバ装置100は、生成した集計結果を集計要求184の送信元へ応答する(ステップS308)。
<G.付記>
上述したような本実施の形態は、以下のような技術思想を含む。
[構成1]
情報処理システム(1)であって、
1または複数の値(58)および当該1または複数の値に対応付けられた識別情報(56)を含むデータ(54)と、当該データの属性を示すトピック(52)とを含む送信データ(50)を送信する送信部(200;250)と、
トピック毎に区分けされたデータベース(160;162)と、
前記送信データに含まれるトピックに基づいてデータの格納先を特定するとともに、前記送信データに含まれるデータを当該特定したデータの格納先に格納するデータ管理部(152)とを備え、
前記データ管理部は、前記送信データに含まれる識別情報と同一の識別情報に対応付けられた値が既に前記データベースに格納されている場合には、前記データベースに既に格納されている識別情報に対応付けて、前記送信データに含まれるデータに含まれる1または複数の値を格納する、情報処理システム。
[構成2]
前記データ管理部は、前記送信データに含まれるトピック(52)に対応付けられたデータの格納先(162)が存在しない場合に、当該トピックに対応付けられたデータの格納先を新たに生成する、構成1に記載の情報処理システム。
[構成3]
前記データ管理部は、前記送信データに含まれる識別情報と同一の識別情報に対応付けられた値が前記データベースに格納されていない場合には、当該識別情報に対応付けられた値を格納するための新たなレコードを追加する、構成1または2に記載の情報処理システム。
[構成4]
前記データ管理部は、前記送信データに含まれる値のデータ名を格納するカラムが存在しない場合には、当該データ名の値を格納するための新たなカラムを追加する、構成1~3のいずれか1項に記載の情報処理システム。
[構成5]
前記データ管理部(152;154)は、同一の識別情報に対応付けられた複数の値について予め定められた演算を実行して新たな値を追加する、構成1~4のいずれか1項に記載の情報処理システム。
[構成6]
前記データ管理部(152;156)は、前記送信部に設定されたトピックと同一のトピックが前記データベースに既に存在するか否かを判断する、構成1~5のいずれか1項に記載の情報処理システム。
[構成7]
前記データ管理部(152;156)は、前記送信部が送信する送信データに含まれる1または複数の値のデータ名と同一のデータ名が前記データベースに既に存在するか否かを判断する、構成1~6のいずれか1項に記載の情報処理システム。
[構成8]
前記トピックは、階層構造で記述される、構成1~7のいずれか1項に記載の情報処理システム。
[構成9]
前記データ管理部(152;158)は、集計要求(184)に従って、当該集計要求により指定されたトピックに関連付けられた複数の値に対して、当該集計要求により指定された集計処理を実行する、構成1~8のいずれか1項に記載の情報処理システム。
[構成10]
前記集計要求は、対象のトピックを指定するためのワイルドカードを用いた記述を含む、構成9に記載の情報処理システム。
[構成11]
前記データ管理部は、前記集計要求を受信すると、当該受信した集計要求に従って、前記集計処理を実行する、構成9または10に記載の情報処理システム。
[構成12]
トピック毎に区分けされたデータベース(160)を管理するステップ(S100)と、
1または複数の値(58)および当該1または複数の値に対応付けられた識別情報(56)を含むデータ(54)と、当該データの属性を示すトピック(52)とを含む送信データ(50)を送信するステップ(S102)と、
前記送信データに含まれるトピックに基づいてデータの格納先を特定するステップ(S104,S106)と、
前記送信データに含まれるデータを当該特定したデータの格納先に格納するステップ(S114)とを備え、
前記格納するステップは、前記送信データに含まれる識別情報と同一の識別情報に対応付けられた値が既に前記データベースに格納されている場合には、前記データベースに既に格納されている識別情報に対応付けて、前記送信データに含まれるデータに含まれる1または複数の値を格納するステップを含む、情報処理方法。
[構成13]
情報処理プログラム(114)であって、前記情報処理プログラムはコンピュータ(100)に、
トピック毎に区分けされたデータベース(160)を管理するステップ(S100)と、
1または複数の値(58)および当該1または複数の値に対応付けられた識別情報(56)を含むデータ(54)と、当該データの属性を示すトピック(52)とを含む送信データ(50)に応答して、前記送信データに含まれるトピックに基づいてデータの格納先を特定するステップ(S104,S106)と、
前記送信データに含まれるデータを当該特定したデータの格納先に格納するステップ(S114)とを実行させ、
前記格納するステップは、前記送信データに含まれる識別情報と同一の識別情報に対応付けられた値が既に前記データベースに格納されている場合には、前記データベースに既に格納されている識別情報に対応付けて、前記送信データに含まれるデータに含まれる1または複数の値を格納するステップを含む、情報処理プログラム。
<H.利点>
生産現場では、様々な装置およびセンサが分散配置されており、また多くの作業者が生産リソースとして分散配置されている。これらが組み合わされて生産システムおよび組織が構成される。複数の生産システムおよび組織が連携することで生産活動が行われる。生産現場での生産活動は、「モノ」を生み出すとともに、多くの「データ」も生み出す。
分散配置された生産リソースからデータは生み出されるため、生み出されるデータも空間的および時間的に分散することになる。生産改善の利用のために、このような時間的および空間的に分散したデータを収集しようとすると、互いに関連するデータを集約するとともに、集計などの処理が必要となる。
また、生産リソース(装置、センサ、作業員など)は、生産の状況に応じて、随時変更されることが多いため、このような変更に対しても対応が必要となる。
本実施の形態に従う情報処理システムは、トピックおよびIDを用いて、生産現場から取得されるデータを効率的に収集することができる。また、トピックおよびIDを適宜設定あるいは適宜変更することで、生産リソースの変更に対しても柔軟に対応できる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 情報処理システム、2,4 ネットワーク、10 ワーク、12 2次元コード、50 送信データ、52 トピック、54 データ、56,164 ID、58,166 値、100 サーバ装置、102,212 プロセッサ、104,214 主メモリ、106 光学ドライブ、107 記録媒体、108 バス、110,216 ストレージ、114 情報処理プログラム、120,122,220 ネットワークコントローラ、124 USBコントローラ、126,226 入力部、128,228 表示部、150 データ配信モジュール、152 データ管理モジュール、154 演算機能、156 登録管理機能、158 集計機能、160 データベース、162 テーブル、170 設定テーブル、184 集計要求、200 送信装置、210 処理回路、230 収集部、250 データ送信モジュール、260 設定ウィンドウ、262 入力窓、264 通知ウィンドウ、300 情報処理装置、350 データ取得モジュール、370 結果ウィンドウ、372 集計結果、1841 トピック、1842 キー、1843 集計方法。

Claims (13)

  1. 情報処理システムであって、
    1または複数の値および当該1または複数の値に対応付けられた識別情報を含むデータと、当該データの属性を示すトピックとを含む送信データを送信する送信部と、
    トピック毎に区分けされたデータベースと、
    前記送信データに含まれるトピックに基づいてデータの格納先を特定するとともに、前記送信データに含まれるデータを当該特定したデータの格納先に格納するデータ管理部とを備え、
    前記データ管理部は、前記送信データに含まれる識別情報と同一の識別情報に対応付けられた値が既に前記データベースに格納されている場合には、前記データベースに既に格納されている識別情報に対応付けて、前記送信データに含まれるデータに含まれる1または複数の値を格納する、情報処理システム。
  2. 前記データ管理部は、前記送信データに含まれるトピックに対応付けられたデータの格納先が存在しない場合に、当該トピックに対応付けられたデータの格納先を新たに生成する、請求項1に記載の情報処理システム。
  3. 前記データ管理部は、前記送信データに含まれる識別情報と同一の識別情報に対応付けられた値が前記データベースに格納されていない場合には、当該識別情報に対応付けられた値を格納するための新たなレコードを追加する、請求項1または2に記載の情報処理システム。
  4. 前記データ管理部は、前記送信データに含まれる値のデータ名を格納するカラムが存在しない場合には、当該データ名の値を格納するための新たなカラムを追加する、請求項1~3のいずれか1項に記載の情報処理システム。
  5. 前記データ管理部は、同一の識別情報に対応付けられた複数の値について予め定められた演算を実行して新たな値を追加する、請求項1~4のいずれか1項に記載の情報処理システム。
  6. 前記データ管理部は、前記送信部に設定されたトピックと同一のトピックが前記データベースに既に存在するか否かを判断する、請求項1~5のいずれか1項に記載の情報処理システム。
  7. 前記データ管理部は、前記送信部が送信する送信データに含まれる1または複数の値のデータ名と同一のデータ名が前記データベースに既に存在するか否かを判断する、請求項1~6のいずれか1項に記載の情報処理システム。
  8. 前記トピックは、階層構造で記述される、請求項1~7のいずれか1項に記載の情報処理システム。
  9. 前記データ管理部は、集計要求に従って、当該集計要求により指定されたトピックに関連付けられた複数の値に対して、当該集計要求により指定された集計処理を実行する、請求項1~8のいずれか1項に記載の情報処理システム。
  10. 前記集計要求は、対象のトピックを指定するためのワイルドカードを用いた記述を含む、請求項9に記載の情報処理システム。
  11. 前記データ管理部は、前記集計要求を受信すると、当該受信した集計要求に従って、前記集計処理を実行する、請求項9または10に記載の情報処理システム。
  12. トピック毎に区分けされたデータベースを管理するステップと、
    1または複数の値および当該1または複数の値に対応付けられた識別情報を含むデータと、当該データの属性を示すトピックとを含む送信データを送信するステップと、
    前記送信データに含まれるトピックに基づいてデータの格納先を特定するステップと、
    前記送信データに含まれるデータを当該特定したデータの格納先に格納するステップとを備え、
    前記格納するステップは、前記送信データに含まれる識別情報と同一の識別情報に対応付けられた値が既に前記データベースに格納されている場合には、前記データベースに既に格納されている識別情報に対応付けて、前記送信データに含まれるデータに含まれる1または複数の値を格納するステップを含む、情報処理方法。
  13. 情報処理プログラムであって、前記情報処理プログラムはコンピュータに、
    トピック毎に区分けされたデータベースを管理するステップと、
    1または複数の値および当該1または複数の値に対応付けられた識別情報を含むデータと、当該データの属性を示すトピックとを含む送信データに応答して、前記送信データに含まれるトピックに基づいてデータの格納先を特定するステップと、
    前記送信データに含まれるデータを当該特定したデータの格納先に格納するステップとを実行させ、
    前記格納するステップは、前記送信データに含まれる識別情報と同一の識別情報に対応付けられた値が既に前記データベースに格納されている場合には、前記データベースに既に格納されている識別情報に対応付けて、前記送信データに含まれるデータに含まれる1または複数の値を格納するステップを含む、情報処理プログラム。
JP2021187662A 2021-11-18 2021-11-18 情報処理システム、情報処理方法および情報処理プログラム Pending JP2023074641A (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2021187662A JP2023074641A (ja) 2021-11-18 2021-11-18 情報処理システム、情報処理方法および情報処理プログラム
KR1020220135300A KR20230073093A (ko) 2021-11-18 2022-10-20 정보 처리 시스템, 정보 처리 방법 및 정보 처리 프로그램을 격납한 기록 매체
TW111140175A TWI849544B (zh) 2021-11-18 2022-10-24 資訊處理系統、資訊處理方法以及保存有資訊處理程式的記錄媒體
CN202211300159.6A CN116136794A (zh) 2021-11-18 2022-10-24 信息处理系统、信息处理方法及存储有信息处理程序的记录介质
EP22203332.6A EP4184343A1 (en) 2021-11-18 2022-10-24 Information processing system, information processing method and information processing program
US17/976,328 US20230156085A1 (en) 2021-11-18 2022-10-28 Information processing system, information processing method and non-transitory storage medium storing information processing program thereon

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021187662A JP2023074641A (ja) 2021-11-18 2021-11-18 情報処理システム、情報処理方法および情報処理プログラム

Publications (1)

Publication Number Publication Date
JP2023074641A true JP2023074641A (ja) 2023-05-30

Family

ID=83995173

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021187662A Pending JP2023074641A (ja) 2021-11-18 2021-11-18 情報処理システム、情報処理方法および情報処理プログラム

Country Status (6)

Country Link
US (1) US20230156085A1 (ja)
EP (1) EP4184343A1 (ja)
JP (1) JP2023074641A (ja)
KR (1) KR20230073093A (ja)
CN (1) CN116136794A (ja)
TW (1) TWI849544B (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102640115B1 (ko) * 2023-05-19 2024-02-23 쿠팡 주식회사 정보를 제공하는 전자 장치의 동작 방법 및 이를 지원하는 전자 장치

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI528767B (zh) * 2013-03-05 2016-04-01 神乎科技股份有限公司 資訊服務方法及系統
US10558623B2 (en) 2014-04-28 2020-02-11 Convida Wireless, Llc Search engine optimization for resource directory
US10754869B2 (en) * 2016-06-03 2020-08-25 Hcl Technologies Limited Managing data format of data received from devices in an internet of things network
TW201820175A (zh) * 2016-11-22 2018-06-01 財團法人資訊工業策進會 資料庫轉換伺服器及其資料庫轉換方法
EP3934203A1 (en) 2016-12-30 2022-01-05 INTEL Corporation Decentralized data storage and processing for iot devices
JP7065498B2 (ja) 2018-02-03 2022-05-12 アレグロスマート株式会社 データオーケストレーションプラットフォーム管理
AU2018223056A1 (en) * 2018-08-31 2020-03-19 Jaxsta Enterprise Pty Ltd Data deduplication and data merging
US10775976B1 (en) * 2018-10-01 2020-09-15 Splunk Inc. Visual previews for programming an iterative publish-subscribe message processing system
US10877972B1 (en) * 2020-07-27 2020-12-29 Ja1, Inc. Systems and methods for high efficiency data logging

Also Published As

Publication number Publication date
EP4184343A1 (en) 2023-05-24
TWI849544B (zh) 2024-07-21
KR20230073093A (ko) 2023-05-25
US20230156085A1 (en) 2023-05-18
TW202321941A (zh) 2023-06-01
CN116136794A (zh) 2023-05-19

Similar Documents

Publication Publication Date Title
US10319087B2 (en) Control system, control device, image processing device, and control method
WO2019195121A1 (en) Digital worker management system
CN100428238C (zh) 在流设计工具中显示性能约束的方法和系统
WO2014054230A1 (ja) 情報システム構築装置、情報システム構築方法および記憶媒体
JP5268589B2 (ja) 情報処理装置及び情報処理装置の運用方法
US20190108063A1 (en) Device and method for acquiring values of counters associated with a computational task
JPWO2018189845A1 (ja) 作業管理システム及び作業管理方法
JP2023074641A (ja) 情報処理システム、情報処理方法および情報処理プログラム
CN110059070B (zh) 将数据从数据源收集到制造运营管理数据仓库
WO2010018637A1 (ja) 業務フロー分散処理システム及び方法
US20090313230A1 (en) Computing job information managing device, terminal, and computing job information managing system
JP7210982B2 (ja) 情報処理装置、情報処理方法、およびプログラム
WO2023063172A1 (ja) 業務情報管理システム及びデータ検索方法
US20220405665A1 (en) Method and device for managing project by using data merging
JP4336251B2 (ja) トレーサビリティシステム、トレース情報管理方法、トレース情報管理プログラム、及び記録媒体
JP7385539B2 (ja) データ処理装置、データ処理方法、およびデータ処理プログラム
US10572457B2 (en) Database construction device, database construction method, and database construction program
JP2023074642A (ja) 情報処理システムおよび情報処理方法
WO2015111225A1 (ja) 部品管理システム、部品管理装置、部品管理方法及びプログラム
CN112486953A (zh) 数据迁移方法、装置、计算机设备及存储介质
Fletcher et al. The signal data explorer: A high performance grid based signal search tool for use in distributed diagnostic applications
CN110766555A (zh) 信息采集系统
JP6952928B1 (ja) データ分析システム
EP4109364B1 (en) Method and device for managing project by using data pointer
US20070288884A1 (en) Managing non-essential formatting elements peculiar to individual program developers in source code in a system for shared computer program development

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240909