JP2023074642A - 情報処理システムおよび情報処理方法 - Google Patents

情報処理システムおよび情報処理方法 Download PDF

Info

Publication number
JP2023074642A
JP2023074642A JP2021187663A JP2021187663A JP2023074642A JP 2023074642 A JP2023074642 A JP 2023074642A JP 2021187663 A JP2021187663 A JP 2021187663A JP 2021187663 A JP2021187663 A JP 2021187663A JP 2023074642 A JP2023074642 A JP 2023074642A
Authority
JP
Japan
Prior art keywords
topic
data
information processing
information
server device
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
JP2021187663A
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 JP2021187663A priority Critical patent/JP2023074642A/ja
Priority to KR1020220136550A priority patent/KR20230073094A/ko
Priority to TW111140179A priority patent/TWI831430B/zh
Priority to CN202211300574.1A priority patent/CN116136795A/zh
Priority to EP22203333.4A priority patent/EP4184344A1/en
Priority to US17/976,270 priority patent/US20230153329A1/en
Publication of JP2023074642A publication Critical patent/JP2023074642A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • 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/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/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management
    • G06F16/213Schema design and management with details for schema evolution support
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries
    • 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
    • G06F16/256Integrating or interfacing systems involving database management systems in federated or virtual 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/04Manufacturing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Business, Economics & Management (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Computing Systems (AREA)
  • Tourism & Hospitality (AREA)
  • Marketing (AREA)
  • Fuzzy Systems (AREA)
  • Computational Linguistics (AREA)
  • Educational Administration (AREA)
  • Development Economics (AREA)
  • Operations Research (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Game Theory and Decision Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】データを効率的に利用できる技術を提供する。【解決手段】情報処理システムは、トピック毎に区分けされた複数のデータベースと、複数のデータベースが有しているトピックを管理するトピック管理部と、トピックを指定した要求に応答して、当該指定されたトピックに対応するデータベースを特定するとともに、当該特定したデータベースに対してデータを要求する取得部とを含む。【選択図】図1

Description

本発明は、データ収集に係る情報処理システムおよび情報処理方法に関する。
情報通信技術の進展に伴って、様々なデータを収集して活用する取り組みがなされている。
例えば、特表2020-503784号公報(特許文献1)は、IoTネットワークにおけるコンポジットオブジェクトを備える装置を開示する。また、特開2019-133610号公報(特許文献2)は、複数のデータ源を含むネットワーク通信環境におけるデータオーケストレーションプラットフォーム管理方法を開示する。
また、収集したデータを検索する技術として、特表2017-516213号公報(特許文献3)は、IoTまたはM2Mデバイスに最も効率的な検索結果を提供するであろう現在のリソースディレクトリ機能性に、より高度な検索エンジン最適化を追加した構成を開示する。
特表2020-503784号公報 特開2019-133610号公報 特表2017-516213号公報
生産現場などにおいても、様々なデータを収集して活用するという取り組みが進められている。例えば、生産拠点が複数存在するような場合には、拠点毎にデータを収集する仕組みを構築するのが簡便である。一方で、複数の拠点毎に散在するデータを活用するためには、各データへアクセスできる仕組みが必要となり、システムが複雑化したり、管理コストなどが増加したりするといった課題が生じ得る。
本発明の一つの目的は、データを効率的に利用できる技術を提供することである。
本発明の一例に従う情報処理システムは、トピック毎に区分けされた複数のデータベースと、複数のデータベースが有しているトピックを管理するトピック管理部と、トピックを指定した要求に応答して、当該指定されたトピックに対応するデータベースを特定するとともに、当該特定したデータベースに対してデータを要求する取得部とを含む。この構成によれば、複数のデータベースが分散配置されていても、指定されたトピックに対応するデータベースを特定できるので、複数のデータベースの存在をユーザに意識させることなく、任意のデータに対して容易にアクセスできる。
情報処理システムは、トピックに対応付けられた、1または複数の値を含むデータからなる送信データを複数のデータベースのいずれかに送信する送信部と、複数のデータベースのそれぞれに対応付けられた複数のデータ管理部とをさらに含んでいてもよい。複数のデータ管理部の各々は、送信データに対応付けられたトピックに基づいて、送信データに含まれるデータを対応付けられたデータベースに格納するようにしてもよい。この構成によれば、送信部が送信する送信データに含まれるトピックに基づいて、当該送信データに含まれるデータをデータベースの対応する領域に格納できる。
データ管理部は、対応付けられたデータベースに新たなトピックを追加すると、当該新たに追加したトピックを示すトピック情報をトピック管理部へ送信するようにしてもよい。この構成によれば、いずれかのデータベースに新たなトピックが追加された場合であっても、当該新たに追加されたトピックに対応付けられたデータへのアクセスを維持できる。
トピック管理部は、複数のデータ管理部のいずれかのデータ管理部からトピック情報を受信すると、当該受信したトピック情報を他のデータ管理部へ転送するようにしてもよい。複数のデータ管理部の各々は、トピック管理部からトピック情報を受信すると、当該受信したトピック情報を格納するようにしてもよい。この構成によれば、いずれかのデータ管理部からのトピック情報は、他のデータ管理部へ転送されるので、情報処理システムに含まれるすべてのデータ管理部の間でトピック情報を共有できる。
トピック管理部は、複数のデータ管理部のいずれかのデータ管理部からトピック情報を受信すると、当該受信したトピック情報を格納するようにしてもよい。この構成によれば、トピック管理部の各々がトピック情報を格納するので、すべてのデータ管理部の間でトピック情報を共有する場合に比較して、トピック情報を格納および処理するためのリソースを低減できる。
トピック管理部は、トピック情報が示すトピックと同一のトピックが複数のデータベースのいずれかに既に存在するか否かを判断するようにしてもよい。この構成によれば、複数のデータベースの間でトピックが重複してしまう事態を回避できる。
トピックは、階層構造で記述されてもよい。この構成によれば、現実の設備の構成などに対応させてトピックを記述できる。
取得部は、トピックを指定した要求のうち、対応するデータベースに固有に設定されているトピックの部分を除いて、当該対応するデータベースに対してデータを要求するようにしてもよい。この構成によれば、個々のデータベースに対する処理を簡素化できる。
本発明の別の例に従う情報処理方法は、トピック毎に区分けされた複数のデータベースを管理するステップと、複数のデータベースが有しているトピックを管理するステップと、トピックを指定した要求に応答して、当該指定されたトピックに対応するデータベースを特定するとともに、当該特定したデータベースに対してデータを要求するステップとを含む。
本発明によれば、データを効率的に利用できる技術を提供できる。
本実施の形態に従う情報処理システムの適用例を示す模式図である。 本実施の形態に従う情報処理システムの全体構成例を示す模式図である。 本実施の形態に従う情報処理システムのサーバ装置に関する構成例を示す模式図である。 本実施の形態に従う情報処理システムのサーバ装置のハードウェア構成例を示すブロック図である。 本実施の形態に従う情報処理システムの送信装置のハードウェア構成例を示すブロック図である。 本実施の形態に従う情報処理システムのデータ収集処理を実現するための機能構成例を示す模式図である。 本実施の形態に従う情報処理システムの一例を示す模式図である。 本実施の形態に従う情報処理システムのデータ収集処理に係るサーバ装置が実行する処理手順を示すフローチャートである。 本実施の形態に従う情報処理システムのサーバ装置のデータベースの一例を示す模式図である。 本実施の形態に従う情報処理システムのデータ参照処理を実現するための機能構成例を示す模式図である。 本実施の形態に従う情報処理システムのトピック情報テーブルの一例を示す模式図である。 本実施の形態に従う情報処理システムのデータ参照処理に係る処理手順を示すシーケンス図である。 本実施の形態に従う情報処理システムのデータ参照処理を実現するための別の機能構成例を示す模式図である。 本実施の形態に従う情報処理システムの複製収集処理を実現するための機能構成例を示す模式図である。 本実施の形態に従う情報処理システムの集計処理を説明するための模式図である。
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
<A.適用例>
まず、本発明が適用される場面の一例について説明する。
図1は、本実施の形態に従う情報処理システム1の適用例を示す模式図である。図1を参照して、情報処理システム1は、複数のサーバ装置100-1,100-2,100-3,…(以下、「サーバ装置100」とも総称する。)と、いずれかのサーバ装置100に対応付けられた1または複数の送信装置200とを含む。
例えば、サーバ装置100-1~100-3が拠点1~3にそれぞれ配置されているとする。サーバ装置100の各々は、サーバ装置100に対応付けられた1または複数の送信装置200からのデータをデータベース160に格納する。データベース160は、トピックの別に1または複数のテーブル162を格納する。すなわち、データベース160は、トピック毎に区分けされている。
サーバ装置100の各々は、データベース160に加えて、データ配信モジュール150およびデータ管理モジュール152を含む。
データ管理モジュール152は、自装置のデータベース160に対応付けられている。データ管理モジュール152の各々は、送信データ50に対応付けられたトピックに基づいて、送信データ50に含まれるデータを対応付けられたデータベース160に格納する。このように、データ管理モジュール152は、送信装置200からのデータ(トピックが付加されている)を付加されているトピックに対応するテーブル162に格納する。また、データ管理モジュール152は、他のサーバ装置100のトピックを示すトピック情報テーブル170を有している。
データ配信モジュール150は、送信装置200からのデータを中継するとともに、他のサーバ装置100との間でデータをやり取りする。より具体的には、データ配信モジュール150は、トピックを指定した要求に応答して、当該指定されたトピックに対応するデータベース(サーバ装置100)を特定するとともに、当該特定したデータベースに対してデータを要求する。このとき、データ配信モジュール150は、トピック情報テーブル170を参照して、指定されたトピックに対応する(サーバ装置100)を特定してもよい。
これによって、複数のサーバ装置100が分散配置されていても、ユーザに対して分散されていることを意識させることなく、任意のサーバ装置100が格納しているデータを参照できる。
<B.情報処理システムの全体構成例>
本実施の形態に従う情報処理システム1は、主として、生産現場からデータを収集するが、データを収集する対象については特に限定されるものではない。
図2は、本実施の形態に従う情報処理システム1の全体構成例を示す模式図である。図2を参照して、情報処理システム1は、複数のサーバ装置100-1,100-2,100-3,…と、いずれかのサーバ装置100に対応付けられた1または複数の送信装置200と、1または複数の情報処理装置300と、管理装置400とを含む。
サーバ装置100および管理装置400は、典型的には、インターネットなどのグローバルネットワーク4を介して接続されている。
サーバ装置100の各々は、データベースを有しており、接続されている1または複数の送信装置200から送信されるデータを格納するとともに、必要な情報処理を実行する。また、サーバ装置100は、管理装置400などからの要求に応じて、格納しているデータの一部または全部を提供する。
図2に示す構成例においては、拠点1にサーバ装置100-1が配置されており、拠点2にサーバ装置100-2が配置されており、拠点3にサーバ装置100-3が配置されている。
送信装置200の各々は、生産現場などから予め定められたデータを収集し、接続されているサーバ装置100へ送信する。
管理装置400は、複数のサーバ装置100の連係させるための処理を実行する。
情報処理装置300は、サーバ装置100に格納されているデータにアクセスする。本実施の形態に従う情報処理システム1においては、情報処理装置300は、複数のサーバ装置100がそれぞれ有しているデータベースに対してアクセスすることができる。さらに、情報処理装置300のユーザに対して、アクセス先のデータベースがいずれのサーバ装置100に属しているのかを意識させなくてもよい。
図3は、本実施の形態に従う情報処理システム1のサーバ装置100に関する構成例を示す模式図である。図3を参照して、例えば、各拠点に配置されたサーバ装置100は、ローカルネットワーク2を介して送信装置200から送信されるデータを格納するとともに、必要な情報処理を実行する。また、サーバ装置100は、情報処理装置300などからの集計要求に応じて、格納しているデータを提供する。
送信装置200の各々は、生産現場などから予め定められたデータを収集し、サーバ装置100へ送信する。送信装置200がデータをサーバ装置100へ送信するタイミングは、任意に決定できる。
図3に示すように、ワーク10が複数の工程を経て製品になるようなラインを想定すると、送信装置200の各々は、いずれかの工程に配置されており、各工程を通過するワーク10から収集したデータをサーバ装置100へ送信する。サーバ装置100は、ローカルネットワーク2を介して送信装置200から送信されるデータを格納する。
<C.ハードウェア構成>
次に、本実施の形態に従う情報処理システム1を構成する装置のハードウェア構成の一例について説明する。
(c1:サーバ装置100)
図4は、本実施の形態に従う情報処理システム1のサーバ装置100のハードウェア構成例を示すブロック図である。図4を参照して、サーバ装置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には、図4に示すプログラム以外の必要なプログラムが格納されてもよい。
ストレージ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からの処理結果などを出力する。
図4には、プロセッサ102がプログラムを実行することで必要な処理が提供される構成例を示したが、これらの提供される処理の一部または全部を、専用のハードウェア回路(例えば、ASIC(Application Specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)など)を用いて実装してもよい。
また、サーバ装置100が担当する処理の全部または一部をネットワーク上のクラウドコンピューティングを用いて実行してもよい。
(c2:送信装置200)
図5は、本実施の形態に従う情報処理システム1の送信装置200のハードウェア構成例を示すブロック図である。図5を参照して、送信装置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次元コードを光学的に読み取る光学デバイスや、任意の計測装置からデータを収集するインターフェイス回路を含み得る。
図5には、プロセッサ212がプログラムを実行することで必要な処理が提供される構成例を示したが、これらの提供される処理の一部または全部を、専用のハードウェア回路(例えば、ASICまたはFPGAなど)を用いて実装してもよい。あるいは、送信装置200の主要部を、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。
また、送信装置200は、単一の装置ではなく、複数の装置が連携することで実現されてもよい。例えば、既存のセンサや制御装置に対して、送信データを生成および送信するための通信インターフェイスを付加することで実現されてもよい。
さらに、送信装置200に相当する機能を任意の装置で実行されるソフトウェアとして実現してもよい。この場合には、既存の装置で実行されるソフトウェアに加えて、送信装置200に相当するソフトウェアを追加することで実現されてもよい。
(c3:情報処理装置300)
本実施の形態に従う情報処理システム1の情報処理装置300は、一般的なパーソナルコンピュータなどにより構成される。一般的なパーソナルコンピュータについては公知であるので、詳細な説明は行わない。
(c4:管理装置400)
本実施の形態に従う情報処理システム1の管理装置400は、図4に示すサーバ装置100と同様のハードウェア構成を有しているので、詳細な説明は繰り返さない。
<D.データ収集処理>
次に、本実施の形態に従う情報処理システム1におけるデータ収集処理について説明する。
図6は、本実施の形態に従う情報処理システム1のデータ収集処理を実現するための機能構成例を示す模式図である。図6を参照して、情報処理システム1において、サーバ装置100は、データ配信モジュール150と、データ管理モジュール152と、データベース160とを含む。送信装置200は、データ送信モジュール250を含む。情報処理装置300は、データ取得モジュール350を含む。
送信装置200のデータ送信モジュール250は、送信部に相当し、データを収集して送信する。データ送信モジュール250が送信するデータを「送信データ50」と称す。すなわち、送信装置200のデータ送信モジュール250は、トピックに対応付けられた、1または複数の値を含むデータからなる送信データ50を複数のサーバ装置100(データベース160)のいずれかに送信する。
送信データ50は、格納されているデータ54の属性を示すトピック52を含む。送信データ50に格納されているデータ54は、1または複数の値58、および、1または複数の値58に対応付けられたID56を含む。ID56は、データ54を特定するための識別情報である。
サーバ装置100のデータ配信モジュール150は、データ送信モジュール250から受信する送信データ50に含まれるトピック52を特定し、当該特定したトピック52を購読しているデータ管理モジュール152および/またはデータ取得モジュール350へ送信データ50を転送する。また、サーバ装置100のデータ配信モジュール150は、データ送信モジュール250から受信する送信データ50を、管理装置400を介して他のサーバ装置100へ転送するようにしてもよい。送信データ50の配信先は、複数のモジュールであってもよい。なお、データ配信モジュール150は、受信する送信データ50のすべてをデータ管理モジュール152へ転送するようにしてもよい。
情報処理装置300のデータ取得モジュール350は、ユーザにより指定された購読対象のトピックをデータ配信モジュール150へ通知する。また、データ取得モジュール350は、格納されているデータのうちから取得したいデータのトピックをデータ配信モジュール150へ通知する。この通知に応答して、データ配信モジュール150は、指定されたトピックに対応するデータをデータ取得モジュール350へ送信する。
サーバ装置100のデータ管理モジュール152は、データ配信モジュール150から受信する送信データ50に含まれるトピック52に基づいて、対応するデータ54をデータベース160に格納する。このように、データ管理モジュール152は、送信データ50に含まれるトピック52に基づいてデータの格納先を特定するとともに、送信データ50に含まれるデータ54を当該特定したデータの格納先に格納する。
また、サーバ装置100のデータ管理モジュール152は、管理装置400を介して、他のサーバ装置100から受信する送信データ50に含まれるトピック52に基づいて、対応するデータ54をデータベース160に格納するようにしてもよい。
データ管理モジュール152は、データ配信モジュール150からの要求に応じて、データベース160に格納されているデータを検索するようにしてもよい。また、データ管理モジュール152は、データベース160のデータ構造の更新(追加および削除を含む)を担当してもよい。さらに、データ管理モジュール152は、送信データ50に含まれるデータ54に対する任意の演算を実行するようにしてもよい。
データベース160は、トピック毎に区分けされている。より具体的には、データベース160は、トピック52の別に1または複数のテーブル162を格納する。テーブル162の各々は、ID164と、1または複数の値166とが対応付けられて格納されている。
なお、トピックは、上述したような単一の値に限らず、階層構造を採用してもよい。階層構造で記述する場合には、「相対表記」および/または「絶対表記」を導入してもよい。「相対表記」は、任意の基準からの経路を示すものであり、例えば、「line1/工程1」といったように、「/」で始まらない表記としてもよい。
また、「絶対表記」は、対象のシステムにおいて一意に特定可能な経路を示すものであり、例えば、「/Factory1/line1/工程1」といったように、「/」で始まる表記としてもよい。このとき、絶対表記の先頭部分(例えば、「/Factory1/」)をグローバルトピックと称し、それ以降の部分(例えば、「line1/工程1」)をローカルトピックと称することができる。相対表記は、グローバルトピックなしの、ローカルトピックとみなすこともできる。
図7は、本実施の形態に従う情報処理システム1の一例を示す模式図である。図7には、ワーク10が工程1および工程2で処理される例を示す。情報処理システム1は、工程1および工程2におけるワーク10に対する処理の開始時刻および終了時刻を収集する。
図7を参照して、ワーク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は、新たなレコードを追加する。
続いて、送信装置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に対応付けられた複数の値(例えば、「開始時刻」および「終了時刻」)について予め定められた演算を実行して新たな値(例えば、「作業時間」)を追加する。
図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は、受信した送信データ50に含まれるデータ54に含まれる値58をID56と同じ値のID164が付与されたレコードの対応するカラムに格納する(ステップS114)。このように、サーバ装置100は、送信データ50に含まれるデータ54を特定したデータの格納先に格納する。このとき、サーバ装置100は、送信データ50に含まれるID56と同一のID164に対応付けられた値が既にデータベース160に格納されている場合には、データベース160に既に格納されているID164に対応付けて、送信データ50に含まれるデータ54に含まれる1または複数の値58を格納することになる。
続いて、サーバ装置100は、ID56と同じ値のID164が付与されたレコードにおいて、開始時刻と終了時刻とが揃ったか否かを判断する(ステップS116)。ID56と同じ値のID164が付与されたレコードにおいて、開始時刻と終了時刻とが揃っていれば(ステップS116においてYES)、サーバ装置100は、開始時刻および終了時刻から作業時間を算出する(ステップS118)。
ID56と同じ値のID164が付与されたレコードにおいて、開始時刻と終了時刻とが揃っていなければ(ステップS116においてNO)、ステップS118の処理はスキップされる。
このように、工程1および工程2の各々において、ワーク10に対する作業に要する時間(作業時間)を収集できる。ワーク10は順次処理されるので、すべてのワーク10について、開始時刻、終了時刻および作業時間を蓄積することで、工程毎に要する作業時間の平均値やバラツキなどを分析するためのデータとして利用できる。
説明の便宜上、2つの工程からなる例を説明したが、1または複数の工程が追加された場合であっても、柔軟に対応できる。例えば、工程3が追加された場合には、追加された工程3に送信装置200を新たに配置するとともに、当該新たに追加された送信装置200に対して、トピック52として「工程3」を設定する。これによって、サーバ装置100は、トピック52の新たな値に対応するテーブル162を生成する。
図7に示すように、同一のワーク10についてのデータ(開始時刻および終了時刻)は、異なる送信装置200がそれぞれ異なるタイミングでサーバ装置100へ送信される。このように時間的に分散された複数のデータが送信される場合であっても、トピック52およびID56を利用することで、ワーク10毎に必要なデータを集約できる。
<E.データ参照処理>
次に、本実施の形態に従う情報処理システム1におけるデータ参照処理について説明する。
上述したように、サーバ装置100の各々が収集したデータは、それぞれのサーバ装置100のデータベース160に格納されることになる。
図9は、本実施の形態に従う情報処理システム1のサーバ装置100のデータベース160の一例を示す模式図である。図9を参照して、例えば、図2に示すような構成例を採用した場合には、サーバ装置100-1は、拠点1についてのテーブル162を有しており、サーバ装置100-2は、拠点2についてのテーブル162を有しており、サーバ装置100-3は、拠点3についてのテーブル162を有している。図9に示す例では、拠点1~3の各々は同様のラインを有しており、各ラインについて工程毎にデータが収集される。
サーバ装置100-1~100-3は、配置されている拠点を示す識別情報として、グローバルトピック60-1~60-3をそれぞれ有している。グローバルトピック60-1~60-3は、トピックのプレフィックスとして用いられる。
本実施の形態に従う情報処理システム1においては、少なくともいずれかのサーバ装置100と通信可能な情報処理装置300は、他のサーバ装置が有しているデータベースについても実質的にアクセスすることができるようになっている。
すなわち、図9に示すような複数のテーブル162がいずれのサーバ装置100のデータベース160に格納されているのかをユーザに意識させることなく、複数のテーブル162を一体として処理できるようになっている。
図10は、本実施の形態に従う情報処理システム1のデータ参照処理を実現するための機能構成例を示す模式図である。図10を参照して、サーバ装置100-1~100-3の各々は、データ配信モジュール150、データ管理モジュール152およびデータベース160を含む。
管理装置400は、トピック管理モジュール450を含む。トピック管理モジュール450は、複数のデータベース160が有しているトピックを管理する。より具体的には、トピック管理モジュール450は、複数のサーバ装置100が有しているテーブル162のトピックを他のサーバ装置100が参照できる仕組みを提供する。
より具体的には、トピック管理モジュール450は、いずれかのサーバ装置100から有しているテーブル162についてのトピックに関する情報であるトピック情報を受信すると、他のサーバ装置100に受信したトピック情報を転送する。サーバ装置100のデータ管理モジュール152は、管理装置400のトピック管理モジュール450からのトピック情報をトピック情報テーブル170に格納する。
このように、あるサーバ装置100が有しているテーブル162のトピック情報を他のサーバ装置100と共有することで、情報処理システム1に含まれるいずれのサーバ装置100が有しているテーブル162のトピックを特定できる。
図10には、一例として、サーバ装置100-1およびサーバ装置100-2が稼動している状態において、サーバ装置100-3が新たに追加された場合の処理を示す。サーバ装置100-3は、自装置のデータベース160に格納されたテーブル162のトピックを示すトピック情報を管理装置400のトピック管理モジュール450へ送信する。トピック管理モジュール450は、サーバ装置100-3からのトピック情報をサーバ装置100-1およびサーバ装置100-2へ転送する。サーバ装置100-1は、トピック管理モジュール450からのトピック情報をトピック情報テーブル170-1に追加し、サーバ装置100-2は、トピック管理モジュール450からのトピック情報をトピック情報テーブル170-2に追加する。
なお、新たに追加されたサーバ装置100-3には、サーバ装置100-1およびサーバ装置100-2が有しているテーブル162のトピック情報が存在しない。そのため、サーバ装置100-3(データ管理モジュール152)は、トピック管理モジュール450に対して、他のサーバ装置100が有しているテーブル162のトピック情報を送信するように要求してもよい。この場合、トピック管理モジュール450の中継処理によって、他のサーバ装置100からトピック情報を取得してもよいし、トピック管理モジュール450がキャッシュしているトピック情報をサーバ装置100-3に提供してもよい。
このように、サーバ装置100の各々がトピック情報を保持することで、他のサーバ装置100が格納しているデータにも容易にアクセスできる。
図11は、本実施の形態に従う情報処理システム1のトピック情報テーブル170の一例を示す模式図である。図11(A)には、サーバ装置100が有しているテーブル162に付与されているトピックのグローバルトピック(プレフィックス)を格納する例を示す。図11(B)には、サーバ装置100の各々が有しているテーブル162に付与されているトピックをすべて格納する例を示す。
図11(A)を参照して、トピック情報テーブル170の各エントリは、サーバ名と、対応するネットワークアドレスと、対応するグローバルトピックとを含む。より具体的には、サーバ1が有しているテーブルのグローバルトピックは、「/Factory1/」であり、サーバ2が有しているテーブルのグローバルトピックは、「/Factory3/」であり、サーバ3が有しているテーブルのグローバルトピックは、「/Factory3/」である。
なお、サーバ装置100の各々がトピック情報テーブル170を保持することになるが、自装置の情報については、トピック情報テーブル170から除外するようにしてもよい。すなわち、すべてのサーバ装置100が同一のトピック情報テーブル170を保持するようにしてもよいし、自装置の情報を除いている点において、互いに異なるトピック情報テーブル170を保持するようにしてもよい。
例えば、情報処理装置300からサーバ装置100-1に対して、「/Factory3/工程2」というトピックに対応するデータの取得を指示すると、サーバ装置100-1は、トピック情報テーブル170を参照して、グローバルトピックである「/Factory3/」が付与されたテーブル162を有しているサーバ装置100-3を特定する。そして、サーバ装置100-1(データ配信モジュール150)は、グローバルトピックを除外した「工程2」を指定してデータの要求をサーバ装置100-3へ送信する。
これは、サーバ装置100-3が管理するテーブル162の各々には、ローカルトピックのみが付与されているからである。このように、サーバ装置100のデータ配信モジュール150は、トピックを指定した要求のうち、対応するデータベースに固有に設定されているトピックの部分(すなわち、グローバルトピック)を除いて、当該対応するデータベース160に対してデータを要求してもよい。
サーバ装置100-3は、「工程2」を指定したデータの要求に対して、データベース160に格納されている対応するテーブル162のデータを提供する。
このように、サーバ装置100のデータ配信モジュール150は、トピックを指定した要求に応答して、当該指定されたトピックに対応するデータベース160を特定するとともに、当該特定したデータベース160に対してデータを要求する。この一連の処理によって、要求されたデータを取得できる。
上述したように、情報処理システム1を構成するサーバ装置100の間でテーブルのグローバルトピック(プレフィックス)を共有することで、共有する情報のデータ量を抑制できるとともに、別のサーバ装置100が格納している任意のデータに容易にアクセスできる。
図11(B)を参照して、トピック情報テーブル170の各エントリは、サーバ名と、対応するネットワークアドレスと、対応するトピックとを含む。より具体的には、サーバ1は、「/Factory1/工程1」および「/Factory1/工程2」のトピックがそれぞれ付与された2つのテーブルを有しており、サーバ2は、「/Factory2/工程1」および「/Factory2/工程2」のトピックがそれぞれ付与された2つのテーブルを有しており、サーバ3は、「/Factory3/工程1」および「/Factory3/工程2」のトピックがそれぞれ付与された2つのテーブルを有している。
なお、サーバ装置100の各々がトピック情報テーブル170を保持することになるが、自装置の情報については、トピック情報テーブル170から除外するようにしてもよい。すなわち、すべてのサーバ装置100が同一のトピック情報テーブル170を保持するようにしてもよいし、自装置の情報を除いている点において、互いに異なるトピック情報テーブル170を保持するようにしてもよい。
図11(B)に示すように、情報処理システム1を構成するサーバ装置100の間でテーブルに付与されているすべてのトピックを共有することで、情報処理システム1に存在するいずれのトピックについても、グローバルトピック(プレフィックス)を明示的に指定しなくても、格納しているサーバ装置100を特定できる。
図11(B)に示すようなトピック情報テーブル170を採用する場合には、指定されたトピックについて、グローバルトピック(プレフィックス)とローカルトピックとを分離することなく、アクセス先のサーバ装置100を一意に特定できる。
なお、図11(A)および図11(B)のいずれにおいても、トピックが重複すると、アクセス先を誤って特定する可能性があるので、サーバ装置100に対して新たなトピックを設定あるいは登録する場合には、他のサーバ装置100に対して既に設定あるいは登録されたトピックと重複しないことを確認する機能を採用してもよい。
この場合には、トピック管理モジュール450は、トピック情報が示すトピックと同一のトピックが複数のデータベース160のいずれかに既に存在するか否かを判断する。同一のトピックがいずれかのデータベース160に存在していれば、トピックの重複をユーザなどへ通知してもよい。
図12は、本実施の形態に従う情報処理システム1のデータ参照処理に係る処理手順を示すシーケンス図である。図12には、図10に示すデータ参照処理に対応する処理手順を示す。
図12を参照して、サーバ装置100-1およびサーバ装置100-2は、トピック毎に区分けされたデータベース160を管理している(シーケンスSQ200)。
サーバ装置100-3は、トピックを追加するユーザ操作を受けると(シーケンスSQ202)、指定されたトピックに対応するテーブルを生成する(シーケンスSQ204)。そして、サーバ装置100-3は、新たに追加したトピックを示すトピック情報を管理装置400へ送信する(シーケンスSQ206)。このように、サーバ装置100のデータ管理モジュール152は、対応付けられたデータベース160に新たなトピックを追加すると、当該新たに追加したトピックを示すトピック情報を管理装置400のトピック管理モジュール450へ送信する。
管理装置400は、サーバ装置100-3からのトピック情報をサーバ装置100-1およびサーバ装置100-2へ転送する(シーケンスSQ208)。このように、管理装置400のトピック管理モジュール450は、複数のデータ管理モジュール152のいずれかのデータ管理モジュール152からトピック情報を受信すると、当該受信したトピック情報を他のデータ管理モジュール152へ転送する。
サーバ装置100-1およびサーバ装置100-2は、管理装置400からのトピック情報をトピック情報テーブル170に格納する(シーケンスSQ210)。このように、複数のデータ管理モジュール152の各々は、トピック管理モジュール450からトピック情報を受信すると、当該受信したトピック情報を格納する。
以上の処理によって、新たなトピックが追加された場合のトピック情報テーブル170への登録が完了する。シーケンスSQ202~SQ210の処理は、複数のデータベース160が有しているトピックを管理する処理に相当し、トピックが追加される毎に繰り返される。
サーバ装置100-1は、特定のトピックを指定したデータの要求を受けると(シーケンスSQ212)、トピック情報テーブル170を参照して、指定されたトピックが付与されたテーブル162を有しているサーバ装置100(この例では、サーバ装置100-3)を特定する(シーケンスSQ214)。そして、サーバ装置100-1は、特定したサーバ装置100-3へデータの要求を送信する(シーケンスSQ216)。
このように、サーバ装置100(データ配信モジュール150)は、トピックを指定した要求に応答して、当該指定されたトピックに対応するデータベースを特定するとともに、当該特定したデータベース160に対してデータを要求する処理を実行する。
サーバ装置100-3は、サーバ装置100-1からの要求に応答して、テーブル162から要求されたデータを抽出し(シーケンスSQ218)、抽出したデータをサーバ装置100-1へ送信する(シーケンスSQ220)。
以上の処理によって、データの要求に対するデータの提供が完了する。シーケンスSQ212~SQ220の処理は、データが要求される毎に繰り返される。
図10には、サーバ装置100の各々がトピック情報テーブル170を保持する構成例を示すが、これに代えて、管理装置400のトピック管理モジュール450がトピック情報テーブル170を保持するようにしてもよい。
図13は、本実施の形態に従う情報処理システム1のデータ参照処理を実現するための別の機能構成例を示す模式図である。図13に示す情報処理システム1においては、管理装置400のトピック管理モジュール450がトピック情報テーブル170を保持する。
図13を参照して、いずれかのサーバ装置100が新たなトピックを追加する場合には、当該新たに追加されるトピックをトピック管理モジュール450へ送信する。例えば、サーバ装置100-3は、新たに追加されるトピックを示すトピック情報をトピック管理モジュール450へ送信する([登録]トピック情報)。トピック管理モジュール450は、サーバ装置100-3からのトピック情報をトピック情報テーブル170に格納する。
一方、データを参照する場合には、要求を受けたサーバ装置100は、トピック管理モジュール450にアクセス先を問合せる。例えば、サーバ装置100-1は、何らかのトピックを指定したデータの要求を受けると、当該要求において指定されているトピックに対応するアクセス先を特定するために、トピック管理モジュール450に問合せを行う([問合せ]トピック情報)。トピック管理モジュール450は、サーバ装置100-1からの問合せに対して、トピック情報テーブル170を参照して、指定されたトピックに対応するアクセス先(ネットワークアドレスなど)を応答する(アクセス先情報)。サーバ装置100-1は、トピック管理モジュール450が応答したアクセス先に従って、対象となるサーバ装置100を特定し、指定されたトピックに関するデータを取得する。
図12に示すように、管理装置400のトピック管理モジュール450は、複数のデータ管理モジュール152のいずれかのデータ管理モジュール152からトピック情報を受信すると、当該受信したトピック情報を格納する。管理装置400のトピック管理モジュール450がトピック情報テーブル170を保持することで、トピックを集中的に管理できるので、システム構成を簡素化できる。
上述の説明においては、一例として、サーバ装置100とは別の管理装置400(トピック管理モジュール450)が配置されている構成例を示すが、この構成例に限定されることなく、トピック管理モジュール450は任意の形態で実装できる。
例えば、いずれかのサーバ装置100にトピック管理モジュール450を配置してもよい。この場合には、トピック管理モジュール450を有しているサーバ装置100が管理装置400により提供される処理を担当することになる。
また、情報処理システム1に複数のトピック管理モジュール450を配置してもよい。この場合には、処理負荷などに応じて、トピック管理モジュール450の数を適宜設計すればよい。
さらに、サーバ装置100同士が直接データ交換を行ってもよい(例えば、ピアトゥピアの構成)。この場合には、新たにトピックを追加するサーバ装置100は、他のすべてのサーバ装置100に対して、当該新たに追加するトピックを示すトピック情報を通知する。サーバ装置100の各々は、他のサーバ装置100からのトピック情報に基づいて、自装置に保持しているトピック情報テーブル170を更新する。
このように、サーバ装置100の間でトピックを共有できる仕組みはどのような形態で実装してもよい。
<F.複製収集処理>
上述の説明においては、情報処理システム1に含まれるサーバ装置100の間でトピックを共有する構成例を示した。これに代えて、あるいは、これに加えて、他のサーバ装置100が収集するデータの一部または全部の複製を収集するようにしてもよい。
図14は、本実施の形態に従う情報処理システム1の複製収集処理を実現するための機能構成例を示す模式図である。図14には、サーバ装置100-3が収集するデータの複製をサーバ装置100-1も収集する例を示す。
この構成例においては、サーバ装置100-3は、送信装置200から送信される送信データ50の複製を、管理装置400を介してサーバ装置100-1に転送する。サーバ装置100-3は、サーバ装置100-3に接続された送信装置200からの送信データ50に含まれるデータ54をテーブル162に格納する。同様に、サーバ装置100-1は、サーバ装置100-3に接続された送信装置200からの送信データ50に含まれるデータ54をテーブル162に格納する。
このような処理によって、サーバ装置100-1は、サーバ装置100-3のデータベース160に格納されるテーブル162と実質的に同一のテーブル162をデータベース160に格納できる。
このようなデータの複製を収集する処理を採用することで、サーバ装置100は、他のサーバ装置100からデータを取得する必要はなく、自装置のデータベース160から必要なデータを取得すればよい。
なお、いずれの送信データの複製を収集するのかについては、トピック情報テーブル170などを参照して、ユーザが任意に設定できるようにしてもよい。
<G.集計機能>
任意のサーバ装置100に収集されたデータを取得する際には、サーバ装置100が予め定められた集計処理を行い、その結果を応答するようにしてもよい。
図15は、本実施の形態に従う情報処理システム1の集計処理を説明するための模式図である。図15には、各ラインの不良数をサブトピックに対応付けられたデータとして収集するとともに、ライン全体の不良数の合計を親トピックとして指定することで集計する例を示す。一例として、「ライン1」、「ライン2」、「ライン3」という3つのラインが「フロア2」に存在する場合を示す。
図15を参照して、各ラインを制御する制御装置(PLC:Programmable Logic Controller)が送信装置200-1,200-2,200-3として機能する。送信装置200-1,200-2,200-3の各々は、担当するラインに発生した不良数をカウントし、カウントした不良数をデータ54-1,54-2,54-3として含む送信データ50-1,50-2,50-3をサーバ装置100へ送信する。
送信データ50-1,50-2,50-3に含まれるトピック52-1,52-2,52-3の各々は、対象のフロアおよびラインを階層構造で指定するものとなっている。より具体的には、送信データ50-1のトピック52-1は、「フロア2/ライン1」であり、送信データ50-6のトピック52-6は、「フロア2/ライン2」であり、送信データ50-7のトピック52-7は、「フロア2/ライン3」である。
サーバ装置100のデータベース160は、それぞれのトピック52に対応したテーブル162-1,162-2,162-3を格納している。テーブル162-1,162-2,162-3には、それぞれ「フロア2/ライン1」、「フロア2/ライン2」、「フロア2/ライン3」がトピックとして付与されている。データ管理モジュール152は、送信装置200-1,200-2,200-3から受信する送信データ50-1,50-2,50-3を含まれるトピック52に対応するテーブル162に格納する。図15に示す例では、「不良数」のカラムにデータ54に含まれる不良数の値が格納される。
サーバ装置100のデータ管理モジュール152は、集計機能158を有している。データ管理モジュール152の集計機能158は、集計要求184に応じて、1または複数のテーブル162に格納されているデータを検索して集計する。特に、集計機能158は、トピックの階層構造に基づいて、対象となるデータを抽出するとともに、抽出したデータに対して指定された集計処理を実行することで、集計結果を生成する。
サーバ装置100は、集計処理を規定する集計要求184を受信する。一例として、集計要求184は、トピック1841と、キー1842と、集計方法1843とを含む。
トピック1841には「フロア2/+」が指定されている。ここで、「+」はワイルドカードを意味する。このように、集計要求184は、対象のトピックを指定するためのワイルドカードを用いた記述を含んでいてもよい。キー1842には「不良数」が指定されており、集計方法1843には「合計」が指定されている。
データ管理モジュール152の集計機能158は、データベース160に格納されているテーブル162のうち指定されたトピック1841である「フロア2/+」に合致するテーブルを抽出する。すなわち、「フロア2/+」は、「フロア」で始まるトピックが付与されているすべてのテーブル162を意味するので、テーブル162-1,162-2,162-3が対象として抽出される。
そして、データ管理モジュール152の集計機能158は、抽出したテーブル162のうちから、指定されたキー1842である「不良数」のカラムに格納されている値をそれぞれ抽出する。
最終的に、データ管理モジュール152の集計機能158は、指定された集計方法1843である「合計」に従って、抽出したそれぞれの値の合計を算出する。そして、データ管理モジュール152の集計機能158は、算出した不良数の合計を集計結果として応答する。
このように、データ管理モジュール152の集計機能158は、集計要求184に応じて、集計要求184により指定されたトピック1841に対応付けられた複数の値に対して、集計要求184により指定された集計処理を実行する。
このように、階層構造のトピック52を用いることで、複数のデータソース(例えば、ライン)に対して、集計処理を容易に実現できる。
<H.変形例>
上述の説明においては、サーバ装置100は、任意の他のサーバ装置100に対してデータを要求できることを前提としていたが、各データに対するアクセス権限を管理するようにしてもよい。アクセス権限は、データを要求するユーザ単位で設定してもよいし、サーバ装置100毎に設定してもよい。
アクセス権限の管理は、トピック管理モジュール450が行ってもよいし、データ管理モジュール152のトピック情報テーブル170にアクセス権限の情報を付加してもよい。このように、アクセス権限の管理は、どのような実装方法を採用してもよい。
<I.付記>
上述したような本実施の形態は、以下のような技術思想を含む。
[構成1]
情報処理システム(1)であって、
トピック毎に区分けされた複数のデータベース(160)と、
前記複数のデータベースが有しているトピックを管理するトピック管理部(450)と、
前記トピックを指定した要求に応答して、当該指定されたトピックに対応するデータベースを特定するとともに、当該特定したデータベースに対してデータを要求する取得部(150)とを備える、情報処理システム。
[構成2]
トピックに対応付けられた、1または複数の値を含むデータからなる送信データ(54)を前記複数のデータベースのいずれかに送信する送信部(250)と、
前記複数のデータベースのそれぞれに対応付けられた複数のデータ管理部(152)とをさらに備え、前記複数のデータ管理部の各々は、前記送信データに対応付けられたトピックに基づいて、前記送信データに含まれるデータを対応付けられたデータベースに格納する、構成1に記載の情報処理システム。
[構成3]
前記データ管理部は、対応付けられたデータベースに新たなトピックを追加すると、当該新たに追加したトピックを示すトピック情報を前記トピック管理部へ送信する、構成2に記載の情報処理システム。
[構成4]
前記トピック管理部は、前記複数のデータ管理部のいずれかのデータ管理部から前記トピック情報を受信すると、当該受信したトピック情報を他のデータ管理部へ転送し、
前記複数のデータ管理部の各々は、前記トピック管理部から前記トピック情報を受信すると、当該受信したトピック情報を格納する、構成3に記載の情報処理システム。
[構成5]
前記トピック管理部は、前記複数のデータ管理部のいずれかのデータ管理部から前記トピック情報を受信すると、当該受信したトピック情報を格納する、構成3に記載の情報処理システム。
[構成6]
前記トピック管理部は、前記トピック情報が示すトピックと同一のトピックが前記複数のデータベースのいずれかに既に存在するか否かを判断する、構成3~5のいずれか1項に記載の情報処理システム。
[構成7]
前記トピックは、階層構造で記述される、構成1~6のいずれか1項に記載の情報処理システム。
[構成8]
前記取得部は、前記トピックを指定した要求のうち、対応するデータベースに固有に設定されているトピックの部分を除いて、当該対応するデータベースに対してデータを要求する、構成1~7のいずれか1項に記載の情報処理システム。
[構成9]
トピック毎に区分けされた複数のデータベースを管理するステップ(SQ200)と、
前記複数のデータベースが有しているトピックを管理するステップ(SQ202~SQ210)と、
前記トピックを指定した要求に応答して、当該指定されたトピックに対応するデータベースを特定するとともに、当該特定したデータベースに対してデータを要求するステップ(SQ212~SQ220)とを備える、情報処理方法。
<J.利点>
生産現場では、様々な装置およびセンサが分散配置されており、また多くの作業者が生産リソースとして分散配置されている。これらが組み合わされて生産システムおよび組織が構成される。複数の生産システムおよび組織が連携することで生産活動が行われる。生産現場での生産活動は、「モノ」を生み出すとともに、多くの「データ」も生み出す。
分散配置された生産リソースからデータは生み出されるため、生み出されるデータも空間的および時間的に分散することになる。
データを格納したデータベースが複数存在する場合であっても、本実施の形態に従う情報処理システムによれば、複数のデータベースを一体化したデータベースとみなすことができる。そのため、ユーザは、データベースの物理的な構成などを意識することなく、目的のトピックを指定するだけで、必要なデータへアクセスすることができる。これによって、データベースなどの専門知識を有しているユーザでなくても、必要なデータを任意に取得できる。
また、生産現場でのラインの追加や変更などによって収集されるデータが変化した場合などにおいても、変化した部分を一体化したデータベースに含めることができるので、生産現場での変化に追従して、必要なデータの収集および分析などを途切れることなく実現できる。これによって、生産現場の改善などをより効率的に実現できる。さらに、データ収集に係る構成の自由度を高めることができるので、生産現場に応じた適切なセンサなどを容易に追加できる。
また、サーバ装置のリソース制約などの理由から、単一のサーバ装置ではなく、複数のサーバ装置を分散させなければならないような状況においても、容易に対応できる。本実施の形態に従う情報処理システムにおいては、サーバ装置の分散および集約についての自由度が高いので、リソースや要求などに応じて、サーバ装置の数および配置場所を自由に設計できる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 情報処理システム、2 ローカルネットワーク、4 グローバルネットワーク、10 ワーク、12 2次元コード、50 送信データ、52 トピック、54 データ、56,164 ID、58,166 値、60 グローバルトピック、100 サーバ装置、102,212 プロセッサ、104,214 主メモリ、106 光学ドライブ、107 記録媒体、108 バス、110,216 ストレージ、114 情報処理プログラム、120,122,220 ネットワークコントローラ、124 USBコントローラ、126,226 入力部、128,228 表示部、150 データ配信モジュール、152 データ管理モジュール、154 演算機能、158 集計機能、160 データベース、162 テーブル、170 トピック情報テーブル、184 集計要求、200 送信装置、210 処理回路、230 収集部、250 データ送信モジュール、300 情報処理装置、350 データ取得モジュール、400 管理装置、450 トピック管理モジュール、1841 トピック、1842 キー、1843 集計方法。

Claims (9)

  1. 情報処理システムであって、
    トピック毎に区分けされた複数のデータベースと、
    前記複数のデータベースが有しているトピックを管理するトピック管理部と、
    前記トピックを指定した要求に応答して、当該指定されたトピックに対応するデータベースを特定するとともに、当該特定したデータベースに対してデータを要求する取得部とを備える、情報処理システム。
  2. トピックに対応付けられた、1または複数の値を含むデータからなる送信データを前記複数のデータベースのいずれかに送信する送信部と、
    前記複数のデータベースのそれぞれに対応付けられた複数のデータ管理部とをさらに備え、前記複数のデータ管理部の各々は、前記送信データに対応付けられたトピックに基づいて、前記送信データに含まれるデータを対応付けられたデータベースに格納する、請求項1に記載の情報処理システム。
  3. 前記データ管理部は、対応付けられたデータベースに新たなトピックを追加すると、当該新たに追加したトピックを示すトピック情報を前記トピック管理部へ送信する、請求項2に記載の情報処理システム。
  4. 前記トピック管理部は、前記複数のデータ管理部のいずれかのデータ管理部から前記トピック情報を受信すると、当該受信したトピック情報を他のデータ管理部へ転送し、
    前記複数のデータ管理部の各々は、前記トピック管理部から前記トピック情報を受信すると、当該受信したトピック情報を格納する、請求項3に記載の情報処理システム。
  5. 前記トピック管理部は、前記複数のデータ管理部のいずれかのデータ管理部から前記トピック情報を受信すると、当該受信したトピック情報を格納する、請求項3に記載の情報処理システム。
  6. 前記トピック管理部は、前記トピック情報が示すトピックと同一のトピックが前記複数のデータベースのいずれかに既に存在するか否かを判断する、請求項3~5のいずれか1項に記載の情報処理システム。
  7. 前記トピックは、階層構造で記述される、請求項1~6のいずれか1項に記載の情報処理システム。
  8. 前記取得部は、前記トピックを指定した要求のうち、対応するデータベースに固有に設定されているトピックの部分を除いて、当該対応するデータベースに対してデータを要求する、請求項1~7のいずれか1項に記載の情報処理システム。
  9. トピック毎に区分けされた複数のデータベースを管理するステップと、
    前記複数のデータベースが有しているトピックを管理するステップと、
    前記トピックを指定した要求に応答して、当該指定されたトピックに対応するデータベースを特定するとともに、当該特定したデータベースに対してデータを要求するステップとを備える、情報処理方法。
JP2021187663A 2021-11-18 2021-11-18 情報処理システムおよび情報処理方法 Pending JP2023074642A (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2021187663A JP2023074642A (ja) 2021-11-18 2021-11-18 情報処理システムおよび情報処理方法
KR1020220136550A KR20230073094A (ko) 2021-11-18 2022-10-21 정보 처리 시스템 및 정보 처리 방법
TW111140179A TWI831430B (zh) 2021-11-18 2022-10-24 資訊處理系統以及資訊處理方法
CN202211300574.1A CN116136795A (zh) 2021-11-18 2022-10-24 信息处理系统和信息处理方法
EP22203333.4A EP4184344A1 (en) 2021-11-18 2022-10-24 Information processing system and information processing method
US17/976,270 US20230153329A1 (en) 2021-11-18 2022-10-28 Information processing system and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021187663A JP2023074642A (ja) 2021-11-18 2021-11-18 情報処理システムおよび情報処理方法

Publications (1)

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

Family

ID=83995152

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021187663A Pending JP2023074642A (ja) 2021-11-18 2021-11-18 情報処理システムおよび情報処理方法

Country Status (6)

Country Link
US (1) US20230153329A1 (ja)
EP (1) EP4184344A1 (ja)
JP (1) JP2023074642A (ja)
KR (1) KR20230073094A (ja)
CN (1) CN116136795A (ja)
TW (1) TWI831430B (ja)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201426584A (zh) * 2012-12-27 2014-07-01 Chunghwa Telecom Co Ltd 多維樹狀架構之會計科目模組
CN103077165A (zh) * 2012-12-31 2013-05-01 威盛电子股份有限公司 自然语言对话方法及其系统
TWI578175B (zh) * 2012-12-31 2017-04-11 威盛電子股份有限公司 檢索方法、檢索系統以及自然語言理解系統
TWI528767B (zh) * 2013-03-05 2016-04-01 神乎科技股份有限公司 資訊服務方法及系統
KR20160146978A (ko) 2014-04-28 2016-12-21 콘비다 와이어리스, 엘엘씨 리소스 디렉터리를 위한 검색 엔진 최적화
TW201820175A (zh) * 2016-11-22 2018-06-01 財團法人資訊工業策進會 資料庫轉換伺服器及其資料庫轉換方法
WO2018125989A2 (en) 2016-12-30 2018-07-05 Intel Corporation The internet of things
JP7065498B2 (ja) 2018-02-03 2022-05-12 アレグロスマート株式会社 データオーケストレーションプラットフォーム管理
TW202115666A (zh) * 2019-10-14 2021-04-16 廖文萍 自動查找相同房地產物件資料的方法及系統

Also Published As

Publication number Publication date
TWI831430B (zh) 2024-02-01
TW202321940A (zh) 2023-06-01
US20230153329A1 (en) 2023-05-18
CN116136795A (zh) 2023-05-19
EP4184344A1 (en) 2023-05-24
KR20230073094A (ko) 2023-05-25

Similar Documents

Publication Publication Date Title
JP6117378B2 (ja) 分散型データベースクエリ・エンジン用のシステムおよび方法
EP1649371B1 (en) Dynamic reassignment of data ownership
CN110019292B (zh) 一种数据的查询方法及装置
US20130297788A1 (en) Computer system and data management method
JP5245711B2 (ja) 分散データ処理システム、分散データ処理方法および分散データ処理用プログラム
US20210011928A1 (en) Smart elastic scaling based on application scenarios
CN110597913B (zh) 交易信息跟踪方法、装置、系统、存储介质和计算机设备
Li et al. Parallelizing skyline queries over uncertain data streams with sliding window partitioning and grid index
CN107491463B (zh) 数据查询的优化方法和系统
CN100429622C (zh) 数据管理方法
US10685019B2 (en) Secure query interface
US20230156085A1 (en) Information processing system, information processing method and non-transitory storage medium storing information processing program thereon
JP2023074642A (ja) 情報処理システムおよび情報処理方法
Kong et al. Real-manufacturing-oriented big data analysis and data value evaluation with domain knowledge
CN108696559A (zh) 流处理方法及装置
CN115374109B (zh) 数据访问方法、装置、计算设备和系统
JP5883937B2 (ja) 計算機システム、データ管理方法及びプログラムを格納する記録媒体
JP6871395B2 (ja) クロスネットワークイベントアトリビューションを提供するためのシステムおよび方法
JP2022014633A (ja) 分散処理システム、分散処理装置、データベース管理装置及び方法
JPH09114784A (ja) アクセス権評価装置
JP2008176715A (ja) 情報管理システム
Meng Data-intensive Scheduling
KR20230069520A (ko) 로봇 기반 지능형 서비스의 상황정보 접근 방법 및 장치
CN114096950A (zh) 提升任务-机器紧密性的分布式系统
JP2023069701A (ja) データ制御装置、ストレージシステム、及びデータ制御方法