JP2021096734A - Production management system, production management method, and production management program - Google Patents

Production management system, production management method, and production management program Download PDF

Info

Publication number
JP2021096734A
JP2021096734A JP2019228887A JP2019228887A JP2021096734A JP 2021096734 A JP2021096734 A JP 2021096734A JP 2019228887 A JP2019228887 A JP 2019228887A JP 2019228887 A JP2019228887 A JP 2019228887A JP 2021096734 A JP2021096734 A JP 2021096734A
Authority
JP
Japan
Prior art keywords
unit work
unit
approval
transaction data
work
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.)
Granted
Application number
JP2019228887A
Other languages
Japanese (ja)
Other versions
JP7062629B2 (en
Inventor
光巖 倉
Kogan Kura
光巖 倉
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.)
Screen Logistics Co Ltd
Original Assignee
Screen Logistics Co Ltd
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 Screen Logistics Co Ltd filed Critical Screen Logistics Co Ltd
Priority to JP2019228887A priority Critical patent/JP7062629B2/en
Priority to PCT/JP2020/047161 priority patent/WO2021125267A1/en
Publication of JP2021096734A publication Critical patent/JP2021096734A/en
Application granted granted Critical
Publication of JP7062629B2 publication Critical patent/JP7062629B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Manufacturing & Machinery (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Marketing (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Automation & Control Theory (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • General Factory Administration (AREA)

Abstract

To efficiently perform production management including physical distribution management and process management for manufacturing products even in a case where necessary member purchase destinations and manufacturing places straddle different companies and countries.SOLUTION: In a distribution system including a plurality of computers connected to one another on the Internet, a plurality of transaction data corresponding to a plurality of unit operations (supply, quality control, a production process 1, and a production process 2) to be subjected to production management for manufacturing a product are sequentially generated according to the execution order of the plurality of unit operations. When corresponding transaction data is generated in response to the start of each unit operation, information relating to execution of the unit operation is recorded thereon, and a start approval and a completion approval for the unit operation are performed. Transaction data that has undergone the start approval and the completion approval is linked by block chain configuration data according to the execution order of the unit operations and stored in a shared storage unit of the distributed system.SELECTED DRAWING: Figure 5

Description

本発明は、製品の生産に必要な部材の手配のための物流管理および当該部材を用いた製造のための工程管理を行う生産管理システム、生産管理方法、および、そのような生産管理システムにおいてコンピュータが実行すべき生産管理プログラムに関する。 The present invention relates to a production control system, a production control method, and a computer in such a production control system, which performs physical distribution control for arranging parts necessary for production of a product and process control for manufacturing using the parts. Regarding the production control program that should be executed.

製造メーカにおいて、製品が設計されると部材一覧表(以下「BOM(Bill Of Material)」ともいう)が作成され、その製品が受注されると、当該BOMに基づき、MRP(Material Requirements Planning)システムによる所要量計算によって必要な部材とその数量が特定され、それらの部材を手配するための帳票が作成される。その後、それらの部材がオフラインで紙ベースで発注されるか、または、外付けのEDI(Electronic Data Interchange)システムで発注される。このため、従来、必要な部材の発注後の生産の進捗状況や品質の管理を、コンピュータ等を使用して高い精度で効率よく行うことは困難であった。 When a product is designed by a manufacturer, a material list (hereinafter also referred to as "BOM (Bill Of Material)") is created, and when the product is ordered, an MRP (Material Requirements Planning) system is created based on the BOM. The required parts and their quantities are specified by the required quantity calculation by, and a form for arranging those parts is created. The components are then ordered offline on a paper basis or through an external EDI (Electronic Data Interchange) system. For this reason, conventionally, it has been difficult to efficiently control the progress and quality of production after ordering necessary parts with high accuracy using a computer or the like.

特開2003−223492号公報Japanese Unexamined Patent Publication No. 2003-223492 特開2014−197308号公報Japanese Unexamined Patent Publication No. 2014-197308 特表2018−506128号公報Special Table 2018-506128 特開2018−169798号公報JP-A-2018-169798

製品の製造のための上記一連の作業の管理(部材の発注・納品、製造工程の管理)で使用されるシステムにおいて次のような問題がある。すなわち、製品の製造のための部材の所要量計算および発注を指示するシステムと発注を行うシステムとは、通常、データ授受可能に接続されていない。また、これらのシステムには種々の異なるタイプのものがあり、企業が異なったり同一企業内であっても部門が異なったりすると、異なる種類のシステムが使用されることが多く、その場合にはそれらのシステム間でデータの互換性が得られない。また、必要な部材の購入先や製造場所が異なる国である場合には、上記管理のためのデータ授受を国を跨がって行うことができないため、上記管理のための作業負担が大きなものとなる。 There are the following problems in the system used in the management of the above series of operations for manufacturing products (ordering / delivery of parts, management of manufacturing process). That is, the system for instructing the calculation and ordering of the required quantity of the parts for manufacturing the product and the system for placing the order are not usually connected so as to be able to exchange data. In addition, there are various different types of these systems, and different companies or departments within the same company often use different types of systems, in which case they. Data compatibility is not obtained between the systems of. In addition, if the necessary parts are purchased from different countries or manufactured in different countries, the data for the above management cannot be exchanged across countries, so the work load for the above management is heavy. It becomes.

このような状況から、従来は、必要な部材の購入先や製造場所が異なる企業または異なる国である場合には、製品の製造のための物流管理および工程管理、すなわち、納品・検収に伴う所有権移転や、途中の生産工程の進捗状況、部材の現在地点、通過時間、品質などの管理が煩雑化し長時間を要するものとなっていた。 Under these circumstances, in the past, when the necessary parts were purchased from different companies or manufactured in different countries, distribution control and process control for manufacturing the product, that is, possession associated with delivery and acceptance inspection. Management of rights transfer, progress of production process in the middle, current position of parts, transit time, quality, etc. became complicated and took a long time.

そこで本発明は、必要な部材の購入先や製造場所が異なる企業や国に跨がっている場合であっても上記のような物流管理および工程管理を含む生産管理を効率よく行えるシステムや方法等を提供することを目的とする。 Therefore, the present invention presents a system and a method capable of efficiently performing production control including the above-mentioned distribution control and process control even when the necessary parts are purchased from different companies or in different countries. Etc. are intended to be provided.

本発明の幾つかの実施形態に係るプログラムは、製品の生産に必要な部材の手配のための物流管理および当該部材を用いた製造のための工程管理を含む生産管理を行うためのプログラムであって、
通信ネットワークと当該通信ネットワークにより互いに接続された複数のノードコンピュータとを含み前記生産管理のためのブロックチェーンを形成すべき分散システムにおけるノードコンピュータに、
前記製品の製造に必要な情報を生産情報として受け取る入力ステップと、
前記生産管理の対象となる作業を構成する複数の単位作業のいずれかの開始指示を受け取ると、当該開始指示に基づき開始すべき単位作業に対応するトランザクションデータを前記生産情報に基づき生成するトランザクション生成ステップと、
前記開始すべき単位作業に対応するトランザクションデータが生成されると、当該単位作業の着工の承認を得るための処理を実行する着工承認取得ステップと、
前記開始すべき単位作業の着工の承認が得られた後に、当該単位作業の着工指示を発行する着工指示ステップと、
前記開始すべき単位作業の着工指示が発行された後に、当該着工指示に基づき着工された単位作業の結果情報を受け取る作業結果受領ステップと、
前記着工された単位作業の結果情報が得られると、前記生成されたトランザクションデータに当該結果情報を組み込んだ後、当該トランザクションデータに基づき当該単位作業の完成の承認を得るための処理を実行する完成承認取得ステップと、
前記着工された単位作業の完成の承認が得られた後、完成の承認が得られた単位作業に対応するトランザクションデータを含む新たなブロックを前記ブロックチェーンに追加するブロックチェーン更新ステップと、
前記着工された単位作業の完成の承認が得られた後、前記複数の単位作業につき予め決められた実行順序に基づき、当該単位作業の次に実行すべき単位作業を開始させるための後続実行設定ステップと
を実行させ、
前記ブロックチェーンは、前記完成の承認が得られた単位作業に対応するトランザクションデータと、当該トランザクションデータのハッシュ値を含むブロックヘッダを前記完成の承認が得られた順に連結して構成されるブロックチェーン構成データとを含み、
前記ブロックチェーン更新ステップでは、前記着工された単位作業の完成の承認が得られたときに、当該完成の承認が得られた単位作業に対応するトランザクションデータのハッシュ値を含む新たなブロックヘッダが前記ブロックチェーン構成データに追加される。
The program according to some embodiments of the present invention is a program for performing production control including distribution control for arranging parts necessary for production of a product and process control for manufacturing using the parts. hand,
A node computer in a distributed system that includes a communication network and a plurality of node computers connected to each other by the communication network to form a blockchain for production control.
An input step that receives information necessary for manufacturing the product as production information,
When a start instruction of any of a plurality of unit works constituting the work subject to the production control is received, transaction data corresponding to the unit work to be started based on the start instruction is generated based on the production information. Steps and
When the transaction data corresponding to the unit work to be started is generated, the construction start approval acquisition step for executing the process for obtaining the approval for the start of the unit work, and the construction start approval acquisition step.
After the approval for the start of the unit work to be started is obtained, the start instruction step for issuing the start instruction for the unit work and the start instruction step.
After the construction start instruction of the unit work to be started is issued, the work result receiving step of receiving the result information of the unit work started based on the construction start instruction, and the work result receiving step.
When the result information of the unit work started is obtained, the result information is incorporated into the generated transaction data, and then a process for obtaining approval for the completion of the unit work is executed based on the transaction data. Approval acquisition step and
After the completion approval of the unit work started is obtained, a blockchain update step of adding a new block containing transaction data corresponding to the unit work for which the completion approval has been obtained to the blockchain, and
Subsequent execution setting for starting the unit work to be executed next to the unit work based on the predetermined execution order for the plurality of unit works after the completion approval of the started unit work is obtained. To perform steps and
The blockchain is a blockchain formed by concatenating transaction data corresponding to a unit work for which completion approval has been obtained and a block header containing a hash value of the transaction data in the order in which completion approval has been obtained. Including configuration data
In the blockchain update step, when the completion approval of the unit work started is obtained, a new block header containing the hash value of the transaction data corresponding to the unit work for which the completion approval is obtained is described. Added to blockchain configuration data.

本発明の他の幾つかの実施形態に係る生産管理端末装置は、製品の生産に必要な部材の手配のための物流管理および当該部材を用いた製造のための工程管理を含む生産管理を行う生産管理システムにおける生産管理端末装置であって、
前記生産管理システムは、前記生産管理端末装置を含む複数の生産管理端末装置と、当該複数の生産産管理端末を互いに接続する通信ネットワークとを含み、前記生産管理のためのブロックチェーンを形成すべき分散システムであり、
前記生産管理端末装置は、
前記製品の製造に必要な情報を生産情報として受け取る入力部と、
前記生産管理の対象となる作業を構成する複数の単位作業のいずれかの開始指示を受け取ると、当該開始指示に基づき開始すべき単位作業に対応するトランザクションデータを前記生産情報に基づき生成するトランザクション生成部と、
前記開始すべき単位作業に対応するトランザクションデータが生成されると、当該単位作業の着工の承認を得るための処理を実行する着工承認取得部と、
前記開始すべき単位作業の着工の承認が得られた後、当該単位作業の着工指示を発行する着工指示部と、
前記開始すべき単位作業の着工指示が発行された後、当該着工指示に基づき着工された単位作業の結果情報を受け取る作業結果受領部と、
前記着工された単位作業の結果情報が得られると、前記生成されたトランザクションデータに当該結果情報を組み込んだ後、当該トランザクションデータに基づき当該単位作業の完成の承認を得るための処理を実行する完成承認取得部と、
前記着工された単位作業の完成の承認が得られた後、完成の承認が得られた単位作業に対応するトランザクションデータを含む新たなブロックを前記ブロックチェーンに追加するブロックチェーン更新部と、
前記着工された単位作業の完成の承認が得られた後、前記複数の単位作業につき予め決められた実行順序に基づき、当該単位作業の次に実行すべき単位作業を開始させるための後続実行設定部とを含み、
前記ブロックチェーンは、前記完成の承認が得られた単位作業に対応するトランザクションデータと、当該トランザクションデータのハッシュ値を含むブロックヘッダを前記完成の承認が得られた順に連結して構成されるブロックチェーン構成データとを含み、
前記ブロックチェーン更新部は、前記着工された単位作業の完成の承認が得られたときに、当該完成の承認が得られた単位作業に対応するトランザクションデータのハッシュ値を含む新たなブロックヘッダを前記ブロックチェーン構成データに追加する。
The production control terminal device according to some other embodiments of the present invention performs production control including distribution control for arranging members necessary for product production and process control for manufacturing using the members. It is a production control terminal device in a production control system.
The production control system includes a plurality of production control terminal devices including the production control terminal device and a communication network connecting the plurality of production control terminals to each other, and should form a block chain for the production control. It is a distributed system
The production control terminal device is
An input unit that receives information necessary for manufacturing the product as production information,
When a start instruction of any of a plurality of unit works constituting the work subject to the production control is received, transaction data corresponding to the unit work to be started based on the start instruction is generated based on the production information. Department and
When the transaction data corresponding to the unit work to be started is generated, the construction start approval acquisition unit that executes the process for obtaining the approval for the start of the unit work, and the construction start approval acquisition unit.
After obtaining the approval to start the unit work to be started, the construction start instruction unit that issues the start instruction of the unit work, and
After the construction start instruction of the unit work to be started is issued, the work result receiving unit that receives the result information of the unit work started based on the construction start instruction, and
When the result information of the unit work started is obtained, the result information is incorporated into the generated transaction data, and then a process for obtaining approval for the completion of the unit work is executed based on the transaction data. Approval acquisition department and
A blockchain update unit that adds a new block containing transaction data corresponding to the unit work for which the completion approval has been obtained to the blockchain after the completion approval of the unit work started is obtained.
Subsequent execution setting for starting the unit work to be executed next to the unit work based on the predetermined execution order for the plurality of unit works after the completion approval of the started unit work is obtained. Including part
The blockchain is a blockchain formed by concatenating transaction data corresponding to a unit work for which completion approval has been obtained and a block header containing a hash value of the transaction data in the order in which completion approval has been obtained. Including configuration data
When the approval for the completion of the unit work started is obtained, the blockchain update unit provides a new block header containing a hash value of transaction data corresponding to the unit work for which the approval for completion has been obtained. Add to blockchain configuration data.

本発明の更に他の幾つかの実施形態に係る生産管理方法は、製品の生産に必要な部材の手配のための物流管理および当該部材を用いた製造のための工程管理を含む生産管理を行う生産管理方法であって、
前記製品の設計情報を受け取り、前記製品の製造に必要な情報を当該設計情報に基づき生産情報として生成するとともに、通信ネットワークと当該通信ネットワークにより互いに接続された複数の生産管理端末装置とを含む分散システムにおいて前記生産管理のためのブロックチェーンを形成するための準備を行う準備ステップと、
前記生産管理の対象となる作業を構成する複数の単位作業にそれぞれ対応する複数のトランザクションデータを、前記生産情報に基づき前記複数の単位作業につき予め決められた実行順序に従って順次に生成するトランザクション生成ステップと、
前記トランザクション生成ステップによりいずれかのトランザクションデータが生成されると、当該生成されたトランザクションデータに対応する単位作業の着工の承認を得るための処理を実行する着工承認取得ステップと、
前記対応する単位作業の着工の承認が得られた後に、前記対応する単位作業の着工指示を発行する着工指示ステップと、
前記対応する単位作業の着工指示が発行された後に、前記対応する単位作業の結果情報を受け取る作業結果受領ステップと、
前記対応する単位作業の結果情報が得られると、前記生成されたトランザクションデータに当該結果情報を組み込んだ後、当該トランザクションデータに基づき前記対応する単位作業の完成の承認を得るための処理を実行する完成承認取得ステップと、
前記対応する単位作業の完成の承認が得られた後、完成の承認が得られた単位作業に対応するトランザクションデータを含む新たなブロックを前記ブロックチェーンに追加するブロックチェーン更新ステップとを備え、
前記ブロックチェーンは、前記完成の承認が得られた単位作業に対応するトランザクションデータと、当該トランザクションデータのハッシュ値を含むブロックヘッダを前記完成の承認が得られた順に連結して構成されるブロックチェーン構成データとを含み、
前記ブロックチェーン更新ステップでは、前記着工された単位作業の完成の承認が得られたときに、当該完成の承認が得られた単位作業に対応するトランザクションデータのハッシュ値を含む新たなブロックヘッダが前記ブロックチェーン構成データに追加され、
前記トランザクション生成ステップでは、前記対応する単位作業の完成の承認が得られた後、前記対応する単位作業の次に実行すべき単位作業が前記予め決められた実行順序に基づき決定され、当該決定された単位作業に対応するトランザクションデータが生成される。
The production control method according to still some other embodiments of the present invention performs production control including distribution control for arranging parts necessary for product production and process control for manufacturing using the parts. It ’s a production control method.
Receives the design information of the product, generates the information necessary for manufacturing the product as production information based on the design information, and distributes the communication network and a plurality of production control terminal devices connected to each other by the communication network. A preparatory step to prepare for forming the blockchain for production control in the system, and
A transaction generation step in which a plurality of transaction data corresponding to a plurality of unit works constituting the work subject to the production control are sequentially generated according to a predetermined execution order for the plurality of unit works based on the production information. When,
When any transaction data is generated by the transaction generation step, a construction start approval acquisition step for executing a process for obtaining approval for the start of unit work corresponding to the generated transaction data, and a construction start approval acquisition step.
After the approval for the start of the corresponding unit work is obtained, the construction start instruction step for issuing the construction start instruction for the corresponding unit work, and the construction start instruction step.
After the construction start instruction of the corresponding unit work is issued, the work result receiving step of receiving the result information of the corresponding unit work, and
When the result information of the corresponding unit work is obtained, the result information is incorporated into the generated transaction data, and then a process for obtaining approval for completion of the corresponding unit work is executed based on the transaction data. Completion approval acquisition step and
A blockchain update step is provided in which a new block containing transaction data corresponding to the unit work for which the completion approval has been obtained is added to the blockchain after the completion approval of the corresponding unit work is obtained.
The blockchain is a blockchain formed by concatenating transaction data corresponding to a unit work for which completion approval has been obtained and a block header containing a hash value of the transaction data in the order in which completion approval has been obtained. Including configuration data
In the blockchain update step, when the completion approval of the unit work started is obtained, a new block header containing the hash value of the transaction data corresponding to the unit work for which the completion approval is obtained is described. Added to blockchain configuration data
In the transaction generation step, after approval for completion of the corresponding unit work is obtained, the unit work to be executed next to the corresponding unit work is determined based on the predetermined execution order, and the determination is made. Transaction data corresponding to the unit work is generated.

本発明の更に他の幾つかの実施形態に係る生産管理システムは、製品の生産に必要な部材の手配のための物流管理および当該部材を用いた製造のための工程管理を含む生産管理を行う生産管理システムであって、
通信ネットワークと、
前記通信ネットワークにより互いに接続された複数の生産管理端末装置とを備え、
前記通信ネットワークと前記複数の生産管理端末装置とは、前記生産管理のためのブロックチェーンを形成する分散システムを構成し、
前記分散システムは、
前記製品の設計情報を受け取り、前記製品の製造に必要な情報を当該設計情報に基づき生産情報として生成する生産情報生成部と、
前記生産管理の対象となる作業を構成する複数の単位作業にそれぞれ対応する複数のトランザクションデータを、前記生産情報に基づき前記複数の単位作業につき予め決められた実行順序に従って順次に生成するトランザクション生成部と、
前記トランザクション生成部によりいずれかのトランザクションデータが生成されると、当該生成されたトランザクションデータに対応する単位作業の着工の承認を得るための処理を実行する着工承認取得部と、
前記対応する単位作業の着工の承認が得られた後に、前記対応する単位作業の着工指示を発行する着工指示発行部と、
前記対応する単位作業の着工指示が発行された後に、前記対応する単位作業の結果情報を受け取る作業結果受領部と、
前記対応する単位作業の結果情報が得られると、前記生成されたトランザクションデータに当該結果情報を組み込んだ後、当該トランザクションデータに基づき前記対応する単位作業の完成の承認を得るための処理を実行する完成承認取得部と、
前記対応する単位作業の完成の承認が得られた後、完成の承認が得られた単位作業に対応するトランザクションデータを含む新たなブロックを前記ブロックチェーンに追加するブロックチェーン更新部とを備え、
前記ブロックチェーンは、前記完成の承認が得られた単位作業に対応するトランザクションデータと、当該トランザクションデータのハッシュ値を含むブロックヘッダを前記完成の承認が得られた順に連結して構成されるブロックチェーン構成データとを含み、
前記ブロックチェーン更新部は、前記着工された単位作業の完成の承認が得られたときに、当該完成の承認が得られた単位作業に対応するトランザクションデータのハッシュ値を含む新たなブロックヘッダを前記ブロックチェーン構成データに追加し、
前記トランザクション生成部は、前記対応する単位作業の完成の承認が得られた後、前記対応する単位作業の次に実行すべき単位作業を前記予め決められた実行順序に基づき決定し、当該決定された単位作業に対応するトランザクションデータを生成する。
The production control system according to still some other embodiments of the present invention performs production control including distribution control for arranging parts necessary for producing a product and process control for manufacturing using the parts. It is a production control system
Communication network and
A plurality of production control terminal devices connected to each other by the communication network are provided.
The communication network and the plurality of production control terminal devices form a distributed system that forms a blockchain for the production control.
The distributed system
A production information generation unit that receives design information of the product and generates information necessary for manufacturing the product as production information based on the design information.
A transaction generator that sequentially generates a plurality of transaction data corresponding to a plurality of unit works constituting the work subject to the production control according to a predetermined execution order for the plurality of unit works based on the production information. When,
When any transaction data is generated by the transaction generation unit, a construction start approval acquisition unit that executes a process for obtaining approval for the start of unit work corresponding to the generated transaction data, and a construction start approval acquisition unit.
After obtaining the approval to start the construction of the corresponding unit work, the construction start instruction issuing department that issues the construction start instruction of the corresponding unit work, and
After the construction start instruction of the corresponding unit work is issued, the work result receiving unit that receives the result information of the corresponding unit work, and
When the result information of the corresponding unit work is obtained, the result information is incorporated into the generated transaction data, and then a process for obtaining approval for completion of the corresponding unit work is executed based on the transaction data. Completion approval acquisition department and
It is provided with a blockchain update unit that adds a new block containing transaction data corresponding to the unit work for which the completion approval has been obtained to the blockchain after the completion approval of the corresponding unit work has been obtained.
The blockchain is a blockchain formed by concatenating transaction data corresponding to a unit work for which completion approval has been obtained and a block header containing a hash value of the transaction data in the order in which completion approval has been obtained. Including configuration data
When the approval for the completion of the unit work started is obtained, the blockchain update unit provides a new block header containing a hash value of transaction data corresponding to the unit work for which the approval for completion has been obtained. Add to blockchain configuration data,
After obtaining approval for the completion of the corresponding unit work, the transaction generation unit determines the unit work to be executed next to the corresponding unit work based on the predetermined execution order, and the determination is made. Generate transaction data corresponding to the unit work.

本発明の更に他の幾つかの実施形態に係るプログラムは、製品の生産に必要な部材の手配のための物流管理および当該部材を用いた製造のための工程管理を含む生産管理を、通信ネットワークにより互いに接続されたサーバコンピュータおよび複数のクライアントコンピュータを含む分散システムにおいて行うためのプログラムであって、
前記サーバコンピュータが実行すべきサーバ側生産管理プログラムと、前記複数のクライアントコンピュータのそれぞれが実行すべきクライアント側生産管理プログラムとを含み、
前記クライアント側生産管理プログラムは、前記複数のクライアントコンピュータのそれぞれに、
前記製品の製造に必要な情報を生産情報として受け取る入力ステップと、
前記生産管理の対象となる作業を構成する複数の単位作業のうち次に実行すべき単位作業を知らせる実行可能単位作業通知を前記通信ネットワークを介して受け取り、当該実行可能単位作業通知に基づく単位作業の開始指示を受け取ると、当該開始指示に基づき開始すべき単位作業に対応するトランザクションデータを前記生産情報に基づき生成するトランザクション生成ステップと、
前記開始すべき単位作業に対応するトランザクションデータが生成されると、当該単位作業の着工の承認を得るための処理を実行する着工承認取得ステップと、
前記開始すべき単位作業の着工の承認が得られた後に、当該単位作業の着工指示を発行する着工指示ステップと、
前記開始すべき単位作業の着工指示が発行された後に、当該着工指示に基づき着工された単位作業の結果情報を受け取る作業結果受領ステップと、
前記着工された単位作業の結果情報が得られると、前記生成されたトランザクションデータに当該結果情報を組み込んだ後、当該トランザクションデータに基づき当該単位作業の完成の承認を得るための処理を実行する完成承認取得ステップと、
前記着工された単位作業の完成の承認が得られた後、当該完成の承認が得られた単位作業に対応するトランザクションデータを含む新たなブロックの前記ブロックチェーンへの追加を示すブロック追加通知を前記通信ネットワークを介して前記サーバコンピュータに送信するブロック追加通知ステップと
を実行させ、
前記サーバ側生産管理プログラムは、前記サーバコンピュータに前記生産管理のためのブロックチェーンを形成させるためのプログラムであって、前記サーバコンピュータに、
前記ブロック追加通知を前記通信ネットワークを介して受け取ると、前記ブロック追加通知が示す新たなブロックを前記ブロックチェーンに追加するブロックチェーン更新ステップと、
前記複数の単位作業につき予め決められた実行順序に基づき、前記複数の単位作業のうち次に実行すべき単位作業を知らせる実行可能単位作業通知を前記通信ネットワークに送出する後続実行設定ステップと
を実行させ、
前記ブロックチェーンは、前記完成の承認が得られた単位作業に対応するトランザクションデータと、当該トランザクションデータのハッシュ値を含むブロックヘッダを前記完成の承認が得られた順に連結して構成されるブロックチェーン構成データとを含み、
前記ブロックチェーン更新ステップでは、前記着工された単位作業の完成の承認が得られたときに、当該完成の承認が得られた単位作業に対応するトランザクションデータのハッシュ値を含む新たなブロックヘッダが前記ブロックチェーン構成データに追加される。
A program according to still some other embodiments of the present invention provides a communication network for production control including distribution control for arranging parts necessary for producing a product and process control for manufacturing using the parts. A program to be performed in a distributed system including server computers and multiple client computers connected to each other by
The server-side production control program to be executed by the server computer and the client-side production control program to be executed by each of the plurality of client computers are included.
The client-side production control program is applied to each of the plurality of client computers.
An input step that receives information necessary for manufacturing the product as production information,
A unit work based on the executable unit work notification is received via the communication network to notify the unit work to be executed next among the plurality of unit works constituting the work subject to the production control. When the start instruction of is received, the transaction generation step of generating the transaction data corresponding to the unit work to be started based on the start instruction based on the production information, and
When the transaction data corresponding to the unit work to be started is generated, the construction start approval acquisition step for executing the process for obtaining the approval for the start of the unit work, and the construction start approval acquisition step.
After the approval for the start of the unit work to be started is obtained, the start instruction step for issuing the start instruction for the unit work and the start instruction step.
After the construction start instruction of the unit work to be started is issued, the work result receiving step of receiving the result information of the unit work started based on the construction start instruction, and the work result receiving step.
When the result information of the unit work started is obtained, the result information is incorporated into the generated transaction data, and then a process for obtaining approval for the completion of the unit work is executed based on the transaction data. Approval acquisition step and
After the completion approval of the unit work started is obtained, the block addition notification indicating the addition of a new block containing the transaction data corresponding to the unit work for which the completion approval has been obtained to the blockchain is given. The block addition notification step to be transmitted to the server computer via the communication network is executed.
The server-side production control program is a program for causing the server computer to form a blockchain for the production control, and causes the server computer to form a blockchain.
Upon receiving the block addition notification via the communication network, a blockchain update step of adding a new block indicated by the block addition notification to the blockchain, and
Based on a predetermined execution order for the plurality of unit works, the subsequent execution setting step of sending an executable unit work notification to notify the unit work to be executed next among the plurality of unit works is executed. Let me
The blockchain is a blockchain formed by concatenating transaction data corresponding to a unit work for which completion approval has been obtained and a block header containing a hash value of the transaction data in the order in which completion approval has been obtained. Including configuration data
In the blockchain update step, when the completion approval of the unit work started is obtained, a new block header containing the hash value of the transaction data corresponding to the unit work for which the completion approval is obtained is described. Added to blockchain configuration data.

本発明の上記幾つかの実施形態以外の実施形態については、下記の実施形態の説明から明らかとなるので、説明を省略する。 Embodiments other than the above-mentioned some embodiments of the present invention will be clarified from the following description of the embodiments, and thus the description thereof will be omitted.

本発明の上記幾つかの実施形態によれば、生産管理のために各単位作業(例えば、調達、品質管理、または、生産工程等)を管理するための情報である着工情報および完成情報を含むトランザクションデータが、製品の製造のための作業の進行にしたがって生産管理の対象としての単位作業の実行順に、ブロックチェーンの形態で記録されていく。また、各単位作業に対応するトランザクションデータは、当該単位作業の着手前の着工承認および当該単位作業の実行後の完成承認を得た後に、当該トランザクションデータを含むブロックがブロックチェーンに追加される。このため、生産管理のための情報として信頼性の高い適正な情報(各トランザクションデータ)が改竄困難な形態で記録される。また、例えばインターネットで相互に接続されたパソコン等のコンピュータや情報処理装置により生産管理システムを実現することが可能であり、製品の製造に必要な部材の購入先や製造場所が異なる企業や国に跨がっている場合であっても当該製造のための部品の物流管理や工程管理を効率よく行うことができる。 According to some of the above embodiments of the present invention, it includes construction start information and completion information which are information for managing each unit work (for example, procurement, quality control, production process, etc.) for production control. Transaction data is recorded in the form of a blockchain in the order of execution of unit work as a target of production control as the work for manufacturing the product progresses. Further, as for the transaction data corresponding to each unit work, a block containing the transaction data is added to the blockchain after obtaining the start approval before the start of the unit work and the completion approval after the execution of the unit work. Therefore, highly reliable and appropriate information (each transaction data) is recorded as information for production control in a form that is difficult to falsify. In addition, for example, it is possible to realize a production control system by using a computer such as a personal computer or an information processing device connected to each other via the Internet, and it is possible for companies and countries with different purchase sources and manufacturing locations of parts necessary for manufacturing products. Even when straddling, it is possible to efficiently manage the distribution and process of parts for the manufacturing.

本発明の上記幾つかの実施形態以外の実施形態の効果については、下記の各実施形態の説明から明らかであるので、説明を省略する。 Since the effects of embodiments other than the above-mentioned some embodiments of the present invention are clear from the following description of each embodiment, the description thereof will be omitted.

本発明の第1の実施形態に係る生産管理システムとして機能する分散システムを示す概略図である。It is a schematic diagram which shows the distributed system which functions as the production control system which concerns on 1st Embodiment of this invention. 上記第1の実施形態における分散システムを構成するノードに相当するコンピュータ(ノードコンピュータ)の一構成例を示すブロックである。This is a block showing a configuration example of a computer (node computer) corresponding to a node constituting the distributed system in the first embodiment. 上記第1の実施形態における分散システムを構成するノードコンピュータの他の構成例を示すブロックである。This is a block showing another configuration example of the node computer constituting the distributed system in the first embodiment. 上記第1の実施形態における分散システムにおいて共有記憶部を実現するために使用可能なネットワーク接続型憶装置(NAS)の構成を示すブロック図である。It is a block diagram which shows the structure of the network-attached storage device (NAS) which can be used to realize the shared storage part in the distributed system in the 1st Embodiment. 上記第1の実施形態における生産管理に関連する作業の流れを模式的に示す図である。It is a figure which shows typically the work flow which concerns on the production control in the said 1st Embodiment. 上記第1の実施形態における1つのトランザクションに相当する単位作業につき着工の承認を得るための作業および完成の承認を得るための作業を示す図である。It is a figure which shows the work for obtaining the approval of the start of construction and the work for obtaining the approval of completion for the unit work corresponding to one transaction in the first embodiment. 上記第1の実施形態におけるトランザクションについての承認者として自動判定処理ルーチンを含む場合の完成承認を説明するための図である。It is a figure for demonstrating the completion approval in the case where the automatic determination processing routine is included as the approver about the transaction in the 1st Embodiment. 上記第1の実施形態における生産管理前処理を示すフローチャートである。It is a flowchart which shows the production control pre-processing in the said 1st Embodiment. 上記第1の実施形態における分散システムを構成する各ノードコンピュータにおいて生産管理のために実行される本体処理を示すフローチャートである。It is a flowchart which shows the main body processing which is executed for production control in each node computer which constitutes the distributed system in the said 1st Embodiment. 上記第1の実施形態において形成されるブロックチェーンにおけるブロックの構成を説明するための図である。It is a figure for demonstrating the structure of the block in the blockchain formed in the said 1st Embodiment. 上記第1の実施形態における各ノードコンピュータが保持する自ブロックチェーン構成データの更新を説明するための図である。It is a figure for demonstrating the update of own blockchain configuration data held by each node computer in the said 1st Embodiment. 上記第1の実施形態における各単位作業において必要となる生産情報および着工情報を示す図である。It is a figure which shows the production information and construction start information necessary for each unit work in the said 1st Embodiment. 上記第1の実施形態における生産管理データ構造の一例を示す図である。It is a figure which shows an example of the production control data structure in the said 1st Embodiment. 本発明の第2の実施形態における生産管理前処理を示すフローチャートである。It is a flowchart which shows the production control preprocessing in the 2nd Embodiment of this invention. 上記第2の実施形態における分散システムを構成する各ノードコンピュータにおいて生産管理のために実行される本体処理を示すフローチャートである。It is a flowchart which shows the main body processing which is executed for production control in each node computer which constitutes the distributed system in the 2nd Embodiment. 上記第2の実施形態における生産管理データ構造の一例を示す図である。It is a figure which shows an example of the production control data structure in the said 2nd Embodiment. 本発明の第3の実施形態において生産管理のためにサーバとしてのコンピュータで実行されるサーバ側本体処理を示すフローチャートである。It is a flowchart which shows the server-side main body processing which is executed in the computer as a server for production control in the 3rd Embodiment of this invention. 上記第3の実施形態において生産管理のためにクライアントとしてのコンピュータで実行されるクライアント側本体処理を示すフローチャートである。It is a flowchart which shows the client-side main body processing which is executed in the computer as a client for production control in the said 3rd Embodiment. 本発明の第4の実施形態において生産管理のためにサーバとしてのコンピュータで実行されるサーバ側本体処理を示すフローチャートである。It is a flowchart which shows the server-side main body processing which is executed in the computer as a server for production control in the 4th Embodiment of this invention. 上記第4の実施形態において生産管理のためにクライアントとしてのコンピュータで実行されるクライアント側本体処理を示すフローチャートである。FIG. 5 is a flowchart showing a client-side main body process executed by a computer as a client for production control in the fourth embodiment. 上記第1および第3の実施形態の変形例における生産管理データ構造の一例を示す図である。It is a figure which shows an example of the production control data structure in the modification of the 1st and 3rd embodiments. 上記第2および第4の実施形態の変形例における生産管理データ構造の一例を示す図である。It is a figure which shows an example of the production control data structure in the modification of the 2nd and 4th embodiments.

以下、本発明の実施形態につき図面を参照して説明する。
<1.第1の実施形態>
<1.1 生産管理システムの全体構成>
図1は、本発明の第1の実施形態に係る生産管理システムとして機能する分散システムの全体構成を示す概略図である。この分散システムは、インターネット等の通信ネットワーク100と、その通信ネットワーク100により互いに通信可能に接続されたノードに相当する複数のコンピュータ(以下「ノードコンピュータ」という)とを含む。図1に示すように、この生産管理システムとしての分散システムは、ノードコンピュータとして、生産管理コンピュータ10と、調達管理コンピュータ11と、複数のサプライヤコンピュータ13a,13b,…と、品質管理コンピュータ15と、複数の製造管理コンピュータ17a,17b,…とを備えている。本実施形態では、このような分散システムにおいて、各ノードコンピュータ10,11,13a,13b,…,15,17a,17b,…が後述の生産管理プログラムに基づいて動作することにより、製品の生産に必要な部材の手配のための物流管理および当該部材を用いた製造のための工程管理を行う生産管理のためのブロックチェーンが形成される(以下、この分散システムを「ブロックチェーンシステム」ともいう)。なお図1は、本実施形態における分散システムを構成するノードコンピュータを例示的に示すものであり、本発明の生産管理システムは、これらのノードコンピュータに代えて又はこれらとともに他のコンピュータを含んでいてもよい。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
<1. First Embodiment>
<1.1 Overall configuration of production control system>
FIG. 1 is a schematic view showing an overall configuration of a distributed system that functions as a production control system according to the first embodiment of the present invention. This distributed system includes a communication network 100 such as the Internet and a plurality of computers (hereinafter referred to as "node computers") corresponding to nodes connected to each other so as to be able to communicate with each other by the communication network 100. As shown in FIG. 1, the distributed system as the production control system includes, as node computers, a production control computer 10, a procurement control computer 11, a plurality of supplier computers 13a, 13b, ..., A quality control computer 15, and the like. It is equipped with a plurality of manufacturing control computers 17a, 17b, .... In the present embodiment, in such a distributed system, each node computer 10, 11, 13a, 13b, ..., 15, 17a, 17b, ... Operates based on the production control program described later, thereby producing a product. A blockchain is formed for production control that performs distribution control for arranging necessary parts and process control for manufacturing using the parts (hereinafter, this distributed system is also referred to as "blockchain system"). .. Note that FIG. 1 exemplifies the node computers constituting the distributed system in the present embodiment, and the production control system of the present invention includes other computers in place of or together with these node computers. May be good.

図2は、図1の分散システムを構成するノードコンピュータとしての調達管理コンピュータ11のハードウェア構成を示すブロック図である。このコンピュータ11は、本体110、補助記憶装置120、光ディスクドライブ130、表示部140、キーボード150、およびマウス160などを備えている。本体110は、CPU111、メモリ112、第1ディスクインタフェース部113、第2ディスクインタフェース部114、表示制御部115、入力インタフェース部116、およびネットワークインタフェース部117を含んでいる。CPU111、メモリ112、第1ディスクインタフェース部113、第2ディスクインタフェース部114、表示制御部115、入力インタフェース部116、およびネットワークインタフェース部117は、システムバスを介して互いに接続されている。第1ディスクインタフェース部113には補助記憶装置120が接続されている。第2ディスクインタフェース部114には光ディスクドライブ130が接続されている。表示制御部115には表示部(表示装置)140が接続されている。入力インタフェース部116にはキーボード150およびマウス160が接続されている。ネットワークインタフェース部117には上記の通信ネットワーク100が接続されている。補助記憶装置120は磁気ディスク装置などである。光ディスクドライブ130には、DVD(Digital Versatile Disc)またはCD−ROM(Compact Disc Read Only Memory)等のコンピュータ読み取り可能な記録媒体としての光ディスク170が挿入される。表示部140は液晶ディスプレイなどである。表示部140は、操作者が所望する情報を表示するために使用される。キーボード150およびマウス160は、本生産管理システムとしての分散システムすなわちブロックチェーンシステム(図1)に対して操作者が指示を入力するために使用される。 FIG. 2 is a block diagram showing a hardware configuration of the procurement management computer 11 as a node computer constituting the distributed system of FIG. 1. The computer 11 includes a main body 110, an auxiliary storage device 120, an optical disk drive 130, a display unit 140, a keyboard 150, a mouse 160, and the like. The main body 110 includes a CPU 111, a memory 112, a first disk interface unit 113, a second disk interface unit 114, a display control unit 115, an input interface unit 116, and a network interface unit 117. The CPU 111, the memory 112, the first disk interface unit 113, the second disk interface unit 114, the display control unit 115, the input interface unit 116, and the network interface unit 117 are connected to each other via a system bus. An auxiliary storage device 120 is connected to the first disk interface unit 113. An optical disk drive 130 is connected to the second disk interface unit 114. A display unit (display device) 140 is connected to the display control unit 115. A keyboard 150 and a mouse 160 are connected to the input interface unit 116. The above communication network 100 is connected to the network interface unit 117. The auxiliary storage device 120 is a magnetic disk device or the like. An optical disk 170 as a computer-readable recording medium such as a DVD (Digital Versatile Disc) or a CD-ROM (Compact Disc Read Only Memory) is inserted into the optical disk drive 130. The display unit 140 is a liquid crystal display or the like. The display unit 140 is used to display information desired by the operator. The keyboard 150 and the mouse 160 are used for the operator to input instructions to the distributed system as the production control system, that is, the blockchain system (FIG. 1).

図1の分散システムにおける他のノードコンピュータも、図2に示した上記構成と同様の構成とすることができる。ただし本実施形態では、当該分散システムを構成するいずれのノードコンピュータからもアクセス可能な記憶部(以下「共有メモリ」または「共有記憶部」という)が設けられている。図3は、この共有記憶部の第1の実現例を説明するための図であり、ノードコンピュータについての図2の構成例とは若干異なる他の構成例を示している。第1の実現例では、生産管理コンピュータ10における補助記憶装置120内に設けられた共有領域123が共有記憶部として機能する。すなわち図3に示すように、生産管理コンピュータ10は、ハードウェア的には、図2の構成と基本的に同じであるが、その補助記憶装置120には、図1の分散システムにおける他のノードコンピュータからも通信ネットワーク100を介してアクセス可能な共有領域123が設けられている。生産管理コンピュータ10のハードウェア構成における他の部分は、図2に示した上記構成と同じであるので、同一要素には同一の参照符号を付して説明を省略する。 The other node computers in the distributed system of FIG. 1 can also have the same configuration as the above configuration shown in FIG. However, in the present embodiment, a storage unit (hereinafter referred to as "shared memory" or "shared storage unit") that can be accessed from any node computer constituting the distributed system is provided. FIG. 3 is a diagram for explaining a first implementation example of the shared storage unit, and shows another configuration example slightly different from the configuration example of FIG. 2 for the node computer. In the first implementation example, the shared area 123 provided in the auxiliary storage device 120 in the production control computer 10 functions as the shared storage unit. That is, as shown in FIG. 3, the production control computer 10 is basically the same as the configuration of FIG. 2 in terms of hardware, but the auxiliary storage device 120 has other nodes in the distributed system of FIG. A shared area 123 that can be accessed from a computer via the communication network 100 is provided. Since other parts of the hardware configuration of the production control computer 10 are the same as the above configuration shown in FIG. 2, the same elements are designated by the same reference numerals and the description thereof will be omitted.

図4は、この共有記憶部の第2の実現例を説明するための図であり、図1の分散システムにおいて使用可能なネットワーク接続型記憶装置(Network Attached Storage)(以下「NAS」という)19のハードウェア構成を示している。NAS19は、システムバスで互いに接続されたCPU111、メモリ112、ディスクインタフェース部113、およびネットワークインタフェース部117を含む制御部210と、ディスクインタフェース部113に接続された共有補助記憶装置220とを備えており、図1の分散システムにおける他のノードコンピュータから通信ネットワーク100を介して共有補助記憶装置220にアクセス可能に構成されている。したがって、この補助記憶措置220は、上記共有記憶部として機能する。 FIG. 4 is a diagram for explaining a second implementation example of the shared storage unit, and is a network attached storage device (hereinafter referred to as “NAS”) 19 that can be used in the distributed system of FIG. 1. Shows the hardware configuration of. The NAS 19 includes a control unit 210 including a CPU 111, a memory 112, a disk interface unit 113, and a network interface unit 117 connected to each other by a system bus, and a shared auxiliary storage device 220 connected to the disk interface unit 113. , The shared auxiliary storage device 220 is made accessible from another node computer in the distributed system of FIG. 1 via the communication network 100. Therefore, the auxiliary storage measure 220 functions as the shared storage unit.

なお、図1の分散システムにおける各ノードコンピュータは、通信ネットワーク100に接続可能なコンピュータとして通常の機能を有するものであれば、図2または図3に示した構成とは異なる構成であってもよい。ただし当該分散システムは、上記共有記憶部を備える必要がある。以下では説明の便宜上、生産管理コンピュータ10以外の各ノードコンピュータは、図2に示した構成と同じ構成を備え、同一部分には同一の参照符号を付すものとする。生産管理コンピュータ10は、図3に示すように構成されており、その補助記憶装置120における共有領域123が上記共有記憶部として機能するものとする。 Note that each node computer in the distributed system of FIG. 1 may have a configuration different from the configuration shown in FIGS. 2 or 3 as long as it has a normal function as a computer that can be connected to the communication network 100. .. However, the distributed system needs to include the shared storage unit. Hereinafter, for convenience of explanation, each node computer other than the production control computer 10 has the same configuration as that shown in FIG. 2, and the same parts are designated by the same reference numerals. The production control computer 10 is configured as shown in FIG. 3, and the shared area 123 in the auxiliary storage device 120 functions as the shared storage unit.

調達管理コンピュータ11の補助記憶装置120には、調達管理コンピュータ11をブロックチェーンシステムにおけるノードとして機能させるための生産管理プログラム121が格納されている。図1の分散システムにおける他のノードコンピュータにおいても、その補助記憶装置120には、同様の生産管理プログラム121が格納されている。図1の分散システムを構成する各ノードコンピュータにおいて、そのCPU111がその生産管理プログラム121を補助記憶装置120からメモリ112に読み出して実行することにより、当該分散システムにおいて生産管理のためのブロックチェーンが形成され、このブロックチェーンを用いて、製品の生産に必要な部材の手配のための物流管理および当該部材を用いた製造のための工程管理が行われる。 The auxiliary storage device 120 of the procurement management computer 11 stores a production control program 121 for causing the procurement management computer 11 to function as a node in the blockchain system. In the other node computer in the distributed system of FIG. 1, a similar production control program 121 is stored in the auxiliary storage device 120. In each node computer constituting the distributed system of FIG. 1, the CPU 111 reads the production control program 121 from the auxiliary storage device 120 into the memory 112 and executes it to form a blockchain for production control in the distributed system. Then, using this blockchain, distribution control for arranging members necessary for product production and process control for manufacturing using the members are performed.

図5は、本実施形態において生産管理の対象となる作業および生産管理のための作業の流れを模式的に示す図である。以下、図5を参照して、本実施形態における生産管理に関連するこれらの作業の流れを説明する。 FIG. 5 is a diagram schematically showing a work subject to production control and a work flow for production control in the present embodiment. Hereinafter, the flow of these work related to production control in the present embodiment will be described with reference to FIG.

図5に示すように製造メーカにおいて、受注した製品が設計されると(P1,P2)、その設計結果を示すデータ(以下「設計情報」という)が図面データベース(図面DB)に格納される(P3)。ここで図面データベースに格納されるデータには、その製品についての設計段階での部品構成すなわち機能面から見た部品構成を示す部材一覧表(以下「設計部品表」という)B1が含まれる。その後、上記設計情報に基づき品質工程手順書および工程手順書が作成される(P8,P11,P13)。すなわち、上記の製品設計(P2)に基づき各部材の設計仕様および品質指標を示す情報が品質・仕様・管理データベースに格納され(P7)、この品質・仕様・管理データベースを用いて品質工程手順書が作成される(P8)。また、上記の製品設計(P2)に基づき当該製品の製造のための工程設計が行われ(P10)、その工程設計に基づき、必要な生産工程(図5の例では生産工程1および生産工程2)のための工程手順書が作成される(P11,P13)。また、当該製品の設計(P2)において作成される上記の設計部品表B1に基づき、MRP(Material Requirements Planning)の手法による所要量計算(以下「MRP計算」ともいう)を行うことにより、必要な部材が特定され(P4)、それらの部材を調達するための部品表(以下「調達部品表」といい、「BOM」と略記することがある)が作成される(P5)。なお、「工程手順書」とは、各工程の手順が記載された手順書であり、当該工程の達成すべき仕様や当該工程の対象となる部材も記載されている。「品質工程手順書」とは、対象となる部材や部品の仕様および達成すべき基準が記載された手順書である。なお、品質工程手順書には、必要に応じて、各部品や部材によって構成された部材の仕様が記載されていてもよい。 As shown in FIG. 5, when the ordered product is designed by the manufacturer (P1, P2), data indicating the design result (hereinafter referred to as "design information") is stored in the drawing database (drawing DB) (drawing DB). P3). Here, the data stored in the drawing database includes a member list (hereinafter referred to as "design parts list") B1 showing the parts configuration at the design stage of the product, that is, the parts configuration from the functional aspect. After that, a quality process procedure manual and a process procedure manual are created based on the above design information (P8, P11, P13). That is, based on the above product design (P2), information indicating the design specifications and quality indicators of each member is stored in the quality / specification / control database (P7), and the quality process procedure manual is used using this quality / specification / control database. Is created (P8). Further, a process design for manufacturing the product is performed based on the above product design (P2) (P10), and a necessary production process (production process 1 and production process 2 in the example of FIG. 5) is performed based on the process design. ) Is created (P11, P13). In addition, it is necessary by performing the required quantity calculation (hereinafter also referred to as "MRP calculation") by the method of MRP (Material Requirements Planning) based on the above design bill of materials B1 created in the design of the product (P2). The members are specified (P4), and a bill of materials for procuring those members (hereinafter referred to as "procurement bill of materials", sometimes abbreviated as "BOM") is created (P5). The "process procedure manual" is a procedure manual that describes the procedure of each process, and also describes the specifications to be achieved in the process and the members that are the target of the process. The "quality process procedure manual" is a procedure manual that describes the specifications of the target members and parts and the standards to be achieved. In addition, the quality process procedure manual may describe the specifications of each part or a member composed of the member, if necessary.

上記のようにして調達部品表が作成されると、当該製造メーカの調達部門においてその調達部品表にしたがって、必要な部材の調達が行われる(P6)。すなわち、必要な各部材を、当該部材を提供するサプライヤに発注する。具体的には、調達部門の作業者(担当者)が、必要な部材や部品とその数量を特定して手作業で発注するか、または、当該製造メーカが当該部材や部品の調達に利用可能なEDI(Electronic Data Interchange)システムを備えている場合にはそのシステムを利用して発注を行う。説明の便宜上、図5に示す例では、10個の部材(1)〜(10)が発注されるものとする。また調達部門には、図1の分散システムにおける調達管理コンピュータ11が設置されている。後述のように調達部門の作業者は、調達の作業開始の前に、本実施形態における生産管理の対象となる単位作業としての調達の開始を指示する入力操作を当該調達管理コンピュータ11に対して行う。これにより当該調達に対応するトランザクションデータTD1が生成される。ただし本実施形態は、図1の分散システムにおける調達管理コンピュータ11以外の他のノードコンピュータに対する入力操作によっても当該調達の開始を指示することができるように構成されている(詳細は後述)。 When the procurement parts list is created as described above, the procurement department of the manufacturer procures the necessary parts according to the procurement parts list (P6). That is, each necessary member is ordered from the supplier who provides the member. Specifically, a worker (person in charge) in the procurement department can specify the necessary parts and parts and their quantity and place an order manually, or the manufacturer can use it to procure the parts and parts. If an EDI (Electronic Data Interchange) system is provided, an order is placed using that system. For convenience of explanation, in the example shown in FIG. 5, 10 members (1) to (10) are ordered. Further, in the procurement department, the procurement management computer 11 in the distributed system shown in FIG. 1 is installed. As will be described later, before the start of the procurement work, the worker in the procurement department sends an input operation instructing the start of procurement as a unit work subject to production control in the present embodiment to the procurement management computer 11. Do. As a result, transaction data TD1 corresponding to the procurement is generated. However, this embodiment is configured so that the start of procurement can be instructed by an input operation to a node computer other than the procurement management computer 11 in the distributed system of FIG. 1 (details will be described later).

上記のようにして調達部門で発注された部材(1)〜(10)がサプライヤから納品されると、作業者がそれらの部材を検収する。その後、検収された部材は、次工程である品質管理工程へ渡される。すなわち、検収された部材は、当該製造メーカの品質管理部門に納品される(次工程納品)。 When the parts (1) to (10) ordered by the procurement department as described above are delivered from the supplier, the worker inspects the parts. After that, the accepted member is passed to the next process, the quality control process. That is, the inspected parts are delivered to the quality control department of the manufacturer (delivery in the next process).

品質管理部門では、納品された部材のそれぞれにつき、既述の品質工程手順書に基づき品質管理の作業が行われる(P9)。具体的には、品質管理部門に渡された上記部材(1)〜(10)のそれぞれにつき当該品質工程手順書に基づく検査が行われる。また品質管理部門には、図1の分散システムにおける品質管理コンピュータ15が設置されている。後述のように品質管理部門の作業者は、品質管理の作業開始の前に、本実施形態における生産管理の対象となる単位作業としての品質管理の開始を指示する入力操作を当該品質管理コンピュータ15に対して行う。これにより当該品質管理に対応するトランザクションデータTD2が生成される。ただし本実施形態は、図1の分散システムにおける品質管理コンピュータ15以外の他のノードコンピュータに対する入力操作によっても当該品質管理の開始を指示することができるように構成されている(詳細は後述)。 In the quality control department, quality control work is performed for each of the delivered parts based on the above-mentioned quality process procedure manual (P9). Specifically, each of the above-mentioned members (1) to (10) handed over to the quality control department is inspected based on the quality process procedure manual. Further, in the quality control department, the quality control computer 15 in the distributed system of FIG. 1 is installed. As will be described later, before the start of the quality control work, the worker of the quality control department performs an input operation instructing the start of the quality control as the unit work subject to the production control in the present embodiment of the quality control computer 15. To do. As a result, transaction data TD2 corresponding to the quality control is generated. However, this embodiment is configured so that the start of the quality control can be instructed by an input operation to a node computer other than the quality control computer 15 in the distributed system of FIG. 1 (details will be described later).

このような品質管理工程は、品質管理の作業が終了した部材(1)〜(10)につき検査・検収を行うことにより終了し、この検査・検収を経た部材は、次工程である生産工程1へ渡される。すなわち、生産工程1を備える当該製造メーカ(自社)または他社(関連会社を含む。以下同様。)の製造部門に納品される(次工程納品)。 Such a quality control process is completed by inspecting and inspecting the members (1) to (10) for which the quality control work has been completed, and the members that have passed the inspection and acceptance are the next process, the production process 1. Passed to. That is, the product is delivered to the manufacturing department of the manufacturer (in-house) or another company (including affiliated companies; the same applies hereinafter) having the production process 1 (delivery in the next process).

生産工程1を備える製造部門(以下「第1製造部門」という)では、納品された部材(1)〜(10)を用いて、生産工程1のための既述の工程手順書(以下「第1工程手順書」という)に基づき製造を行う。図5に示す例では、この生産工程1において、部材(1)から部品1が製造され、部材(2)(3)から部品2が製造され、部材(4)〜(6)から部品3が製造され、部材(7)〜(9)から部品4が製造され、部材(10)から部品5が製造される。また第1製造部門には、図1の分散システムにおける第1製造管理コンピュータ17aが設置されている。後述のように第1製造部門の作業者は、第1生産工程による製造の開始前に、本実施形態における生産管理の対象となる単位作業としての第1生産工程の開始を指示する入力操作を当該第1製造管理コンピュータ17aに対して行う。これにより第1生産工程に対応するトランザクションデータTD3が生成される。ただし本実施形態は、図1の分散システムにおける第1製造管理コンピュータ17a以外の他のノードコンピュータに対する入力操作によっても第1生産工程の開始を指示することができるように構成されている(詳細は後述)。 In the manufacturing department including the production process 1 (hereinafter referred to as the "first manufacturing department"), the above-mentioned process procedure manual for the production process 1 (hereinafter referred to as "the first manufacturing department") is performed using the delivered members (1) to (10). Manufacture is performed based on "1 process procedure manual"). In the example shown in FIG. 5, in the production process 1, the part 1 is manufactured from the member (1), the part 2 is manufactured from the members (2) and (3), and the part 3 is manufactured from the members (4) to (6). It is manufactured, the component 4 is manufactured from the members (7) to (9), and the component 5 is manufactured from the member (10). Further, in the first manufacturing department, the first manufacturing management computer 17a in the distributed system of FIG. 1 is installed. As will be described later, the worker of the first manufacturing department performs an input operation for instructing the start of the first production process as the unit work subject to the production control in the present embodiment before the start of the production by the first production process. This is performed on the first manufacturing control computer 17a. As a result, transaction data TD3 corresponding to the first production process is generated. However, this embodiment is configured so that the start of the first production process can be instructed by an input operation to a node computer other than the first production control computer 17a in the distributed system of FIG. See below).

第1生産工程は、そこで製造された部品1〜5につき検査・検収を行うことにより終了し、この検査・検収を経た部品1〜5は、次工程である生産工程2へ渡される。すなわち、生産工程2を備える当該製造メーカまたは他社の製造部門に納品される(次工程納品)。 The first production process is completed by inspecting and inspecting the parts 1 to 5 manufactured there, and the parts 1 to 5 that have passed the inspection and acceptance are passed to the production process 2 which is the next process. That is, the product is delivered to the manufacturer having the production process 2 or the manufacturing department of another company (delivery in the next process).

生産工程2を備える製造部門(以下「第2製造部門」という)では、納品された部品1〜5を用いて、生産工程2のための既述の工程手順書(以下「第2工程手順書」という)に基づき製造を行う。図5に示す例では、この生産工程2において、部品1,2から構成品(component)Iが製造され、部品3から構成品IIが製造され、部品4,5から構成品IIIが製造される。また第2製造部門には、図1の分散システムにおける第2製造管理コンピュータ17bが設置されている。後述のように第2製造部門の作業者は、第2生産工程による製造の開始前に、本実施形態における生産管理の対象となる単位作業としての第2生産工程の開始を指示する入力操作を当該第2製造管理コンピュータ17bに対して行う。これにより第2生産工程に対応するトランザクションデータTD4が生成される。ただし本実施形態は、図1の分散システムにおける第2製造管理コンピュータ17b以外の他のノードコンピュータに対する入力操作によっても第2生産工程の開始を指示することができるように構成されている(詳細は後述)。 In the manufacturing department including the production process 2 (hereinafter referred to as "second manufacturing department"), the above-mentioned process procedure manual for the production process 2 (hereinafter referred to as "second process procedure manual") using the delivered parts 1 to 5 is used. ”). In the example shown in FIG. 5, in the production process 2, component I is manufactured from parts 1 and 2, component II is manufactured from component 3, and component III is manufactured from parts 4 and 5. .. Further, in the second manufacturing department, the second manufacturing control computer 17b in the distributed system of FIG. 1 is installed. As will be described later, the worker in the second manufacturing department performs an input operation instructing the start of the second production process as the unit work subject to the production control in the present embodiment before the start of the production by the second production process. This is performed for the second manufacturing control computer 17b. As a result, the transaction data TD4 corresponding to the second production process is generated. However, this embodiment is configured so that the start of the second production process can be instructed by an input operation to a node computer other than the second production control computer 17b in the distributed system of FIG. See below).

なお、図5に示す例では、上記のようにして製造された構成品I〜IIIが製品の1セットとして出荷されるが、これに代えて、生産工程2の次工程として更に生産工程3が設けられていて、この生産工程3においてそれらの構成品I〜IIIが1つの製品に組み立てられてもよい。 In the example shown in FIG. 5, the components I to III manufactured as described above are shipped as one set of products, but instead of this, the production step 3 is further performed as the next step of the production step 2. They may be provided and their components I to III may be assembled into one product in this production step 3.

<1.2 生産管理システムにおけるトランザクションとその承認>
図5に示すように本実施形態に係る生産管理システムでは、調達、品質管理、生産工程1、生産工程2のそれぞれが管理の単位となる単位作業として扱われ、各単位作業に対応するトランザクションデータTD1〜TD4が順次に生成される。すなわち、本実施形態では生産管理の対象となる単位作業の種類に応じて互いに種別の異なる複数の(図5に示す例では4つの)トランザクションデータTD1〜TD4が予め決められた順序で生成される。いずれかのトランザクションデータTDk(k=1〜4)が生成されると、そのトランザクションデータTDkは後述の承認による内容的な検証がなされた後に、そのトランザクションデータTDk単独で又は他の検証済みの1つ以上のトランザクションデータTDkb(kb≠k)とともに1つのブロックとして、図1の分散システムで形成されるべきブロックチェーンに追加される(詳細は後述)。なお本実施形態では、生産管理システムにおける管理の単位となる調達、品質管理、生産工程1、または、生産工程2等の単位作業は、図1の分散システムで形成されるべきブロックチェーンにおけるトランザクションに相当し、トランザクションに相当する単位作業の実行に関する記録をトランザクションデータと呼ぶものとする(他の実施形態においても同様)。後述のように、トランザクションの種別毎に予め決められた項目からなるテンプレートが用意されており、いずれかの単位作業が開始されるときに、当該単位作業に相当するトランザクションのテンプレートに当該単位作業の実行に関するデータが組み込まれることによりトランザクションデータが生成される。
<1.2 Transactions and their approval in the production control system>
As shown in FIG. 5, in the production control system according to the present embodiment, each of procurement, quality control, production process 1 and production process 2 is treated as a unit work as a management unit, and transaction data corresponding to each unit work. TD1 to TD4 are sequentially generated. That is, in the present embodiment, a plurality of transaction data TD1 to TD4 (four in the example shown in FIG. 5) having different types depending on the type of unit work subject to production control are generated in a predetermined order. .. When any transaction data TDk (k = 1 to 4) is generated, the transaction data TDk is verified by the approval described later, and then the transaction data TDk alone or another verified 1 Together with one or more transaction data TDkb (kb ≠ k), it is added as one block to the blockchain to be formed by the distributed system of FIG. 1 (details will be described later). In the present embodiment, the unit work such as procurement, quality control, production process 1 or production process 2, which is the unit of control in the production control system, is a transaction in the blockchain to be formed in the distributed system of FIG. A record relating to the execution of a unit work corresponding to a transaction is referred to as transaction data (the same applies to other embodiments). As will be described later, a template consisting of items determined in advance for each transaction type is prepared, and when any unit work is started, the transaction template corresponding to the unit work is used for the unit work. Transaction data is generated by incorporating data related to execution.

図6は、本実施形態における1つのトランザクションに相当する単位作業につき着工の承認を得るための作業および完成の承認を得るための作業を示す図である。本実施形態では、各トランザクションにつき、それに相当する単位作業の開始を承認する1または複数の承認者(以下「着工承認者」ともいう)、および、当該単位作業の完了後に当該単位作業が適正に実行されたことを承認する1または複数の承認者(以下「完成承認者」ともいう)が予め決められている。図6に示す例では、着工承認者(着工承認の主体)は3人の承認者1s,2s,3sから構成され、完成承認者(完成承認の主体)は3人の承認者1c,2c,3cから構成される。 FIG. 6 is a diagram showing a work for obtaining approval for starting construction and a work for obtaining approval for completion of a unit work corresponding to one transaction in the present embodiment. In the present embodiment, for each transaction, one or a plurality of approvers (hereinafter, also referred to as “construction approvers”) who approve the start of the corresponding unit work, and the unit work is properly performed after the completion of the unit work. One or more approvers (hereinafter also referred to as "completion approvers") who approve the execution are predetermined. In the example shown in FIG. 6, the construction start approver (main body of construction start approval) is composed of three approvers 1s, 2s, 3s, and the completion approver (main body of completion approval) is three approvers 1c, 2c, It is composed of 3c.

開始すべき単位作業が例えば調達である場合には、調達部門の発注担当者および/または責任者が着工承認者となり、調達部門の納品受領の担当者および/または責任者が完成承認者となる。調達先としてのサプライヤにもノードコンピュータが設置されており(図1)、サプライヤを着工承認者に含めてもよい。また、開始すべき単位作業が例えば品質管理である場合には、品質管理部門の作業者および/または責任者が着工承認者および完成承認者となる。この場合、品質管理部門に納品された部品が仕様に合致していることを既述の品質工程手順書(P8)で確認することにより着工承認および完成承認が行われる。なお、着工承認は、当該製品の生産計画に適合していることを確認するために行われ、完成承認は、部材や部品等が検査や品質管理の面から適正であることを確認するために行われる。 If the unit work to be started is, for example, procurement, the person in charge of ordering and / or the person in charge of the procurement department is the person who approves the start of construction, and the person in charge of receiving the delivery in the procurement department and / or the person in charge is the person who approves the completion. .. A node computer is also installed in the supplier as a supplier (Fig. 1), and the supplier may be included in the construction start approver. Further, when the unit work to be started is, for example, quality control, the worker and / or the person in charge of the quality control department becomes the construction start approver and the completion approver. In this case, construction start approval and completion approval are performed by confirming that the parts delivered to the quality control department conform to the specifications in the above-mentioned quality process procedure manual (P8). The construction start approval is given to confirm that the product conforms to the production plan, and the completion approval is given to confirm that the parts and parts are appropriate in terms of inspection and quality control. Will be done.

本実施形態では、いずれかの単位作業を開始すべきとき、すなわち、いずれかのトランザクションを起動すべきときに、当該トランザクションにつき図6に示す着工承認が行われる。すなわち、まず、着工承認者である各承認者1s,2s,3sに対し着工申請が行われる。具体的には、通信ネットワーク100を利用して各承認者1s,2s,3sに電子メールを送信すること等により着工申請を行う。 In the present embodiment, when any unit work should be started, that is, when any transaction should be started, the construction start approval shown in FIG. 6 is performed for the transaction. That is, first, a construction start application is made to each approver 1s, 2s, 3s who is a construction start approver. Specifically, the construction start application is made by sending an e-mail to each approver 1s, 2s, 3s using the communication network 100.

上記の着工申請に応じて全ての承認者1s,2s,3sから、通信ネットワーク100を利用した電子メール等により着工許可が得られると、当該単位作業が開始される。その後、当該単位作業が終了すると、当該トランザクションにつき図6に示す完成承認が行われる。すなわち、まず、完成承認者である各承認者1c,2c,3cに対し完成申請が行われる。具体的には、通信ネットワーク100を利用して各承認者1c,2c,3cに電子メールを送信すること等により完成申請を行う。 When the construction start permission is obtained from all the approvers 1s, 2s, 3s by e-mail or the like using the communication network 100 in response to the above construction start application, the unit work is started. After that, when the unit work is completed, the completion approval shown in FIG. 6 is performed for the transaction. That is, first, a completion application is made to each approver 1c, 2c, 3c who is a completion approver. Specifically, a completion application is made by sending an e-mail to each approver 1c, 2c, 3c using the communication network 100.

上記の完成申請に応じて全ての承認者1c,2c,3cから、通信ネットワーク100を利用した電子メール等により完成許可が得られると、当該トランザクションに対応するトランザクションデータTDkの内容が検証されたことになる。これにより、このトランザクションデータTDkを含むブロックが後述の手続にしたがってブロックチェーンに追加されるとともに、本生産管理システムは、次のトランザクションの起動が可能な状態、すなわち次の単位作業の開始が可能な状態となる(図5参照)。 When the completion permission was obtained from all the approvers 1c, 2c, 3c by e-mail or the like using the communication network 100 in response to the above completion application, the contents of the transaction data TDk corresponding to the transaction were verified. become. As a result, the block containing the transaction data TDk is added to the blockchain according to the procedure described later, and the production control system can start the next transaction, that is, the next unit work. It becomes a state (see FIG. 5).

なお上記では、着工申請、着工許可、完成申請、および完成許可(以下これらを総称して「申請承認作業」という)は、通信ネットワーク100を利用した電子メール等により行われるものとしたが、これに代えて又はこれとともに、他の方法により申請承認作業を行ってもよい。例えば、電話、書面の手渡し、または、直接的な対話等により申請承認作業を行ってもよい。なお、承認者による着工許可および完成許可を認証するために電子署名を利用してもよい。 In the above, the construction start application, construction permission, completion application, and completion permission (hereinafter collectively referred to as "application approval work") are assumed to be performed by e-mail or the like using the communication network 100. The application approval work may be performed by other methods instead of or in combination with this. For example, the application approval work may be performed by telephone, handing over a document, direct dialogue, or the like. An electronic signature may be used to certify the construction start permit and the completion permit by the approver.

また、着工承認者や完成承認者に、所定の地点で着工完成(当該単位作業の開始および終了)がなされたことを確認する地点管理者が含まれていてもよい。この地点管理者は、人間である必要はなく、コンピュータ等の情報処理装置をGPS(Global Positioning System)と連動して動作させる所定のプログラム(または処理ルーチン)であってもよい。このような地点管理者を着工承認者や完成承認者に含めることにより、製品の製造に必要な部品の誤配送を防止することができる。また、地点管理者による承認のために使用される位置データは、部品または製品が倉庫に格納された場合には区域や棚位置等の詳細データを含むのが好ましい。 In addition, the construction start approver or the completion approver may include a point manager who confirms that the construction has been completed (start and end of the unit work) at a predetermined point. The point manager does not have to be a human being, and may be a predetermined program (or processing routine) that operates an information processing device such as a computer in conjunction with GPS (Global Positioning System). By including such a point manager as a construction start approver or a completion approver, it is possible to prevent erroneous delivery of parts necessary for manufacturing a product. Further, the position data used for approval by the point manager preferably includes detailed data such as an area and a shelf position when the part or product is stored in the warehouse.

また、着工承認者や完成承認者に、所定の時間内または時間帯に着工完成(当該単位作業の開始および終了)がなされたことを確認する時間管理者が含まれていてもよい。この時間管理者も、人間である必要はなく、コンピュータ等の情報処理装置を時計と連動して動作させる所定のプログラム(または処理ルーチン)であってもよい。このような時間管理者を着工承認者や完成承認者に含めることにより、例えば生産工程への部材や部品の早期投入や遅延を防止することができる。 In addition, the construction start approver or the completion approver may include a time manager who confirms that the construction has been completed (start and end of the unit work) within a predetermined time or time zone. The time manager does not have to be a human being, and may be a predetermined program (or processing routine) that operates an information processing device such as a computer in conjunction with a clock. By including such a time manager in the construction start approver and the completion approver, it is possible to prevent, for example, early introduction or delay of members and parts in the production process.

図7は、本実施形態におけるトランザクションについての完成承認者として自動判定処理ルーチンを含む場合の完成承認を説明するための図である。図7は、開始すべき単位作業が品質管理である場合の着工承認および完成承認の手順を模式的に示している。すなわち、図7に示す例では、生産管理の対象となる単位作業として品質管理を開始すべきときは、まず、当該単位作業としての品質管理に対応するトランザクションデータ(以下「対応トランザクションデータ」という)TD2が作成され(図5参照)、次に、該当する着工承認者1s〜Nsに着工申請がなされ、これに応じて全ての着工承認者1s〜Nsから着工許可が得られると、当該単位作業が開始される。その後、当該単位作業が終了すると、当該単位作業の結果情報が当該トランザクションデータTD2に組み込まれ、続いて、完成承認者である各承認者1c,2c,…,Mcに対し完成申請が行われる。図7に示すように、完成承認者としての承認者1c,2c,…,Mcのうち第2承認者2cは、人間ではなく自動判定処理ルーチンであり、第2承認者2cに対する完成申請は、この自動判定処理ルーチンの起動に相当する。この自動判定処理ルーチンは例えば品質管理コンピュータ15で実行される。このとき品質管理コンピュータ15は次のように動作する。 FIG. 7 is a diagram for explaining the completion approval when the automatic determination processing routine is included as the completion approver for the transaction in the present embodiment. FIG. 7 schematically shows the procedure of construction start approval and completion approval when the unit work to be started is quality control. That is, in the example shown in FIG. 7, when quality control should be started as a unit work subject to production control, first, transaction data corresponding to the quality control as the unit work (hereinafter referred to as "corresponding transaction data"). When TD2 is created (see Fig. 5), then the construction start application is made to the corresponding construction start approvers 1s to Ns, and the construction start permission is obtained from all the construction start approvers 1s to Ns in response to this, the unit work is concerned. Is started. After that, when the unit work is completed, the result information of the unit work is incorporated into the transaction data TD2, and subsequently, a completion application is made to each approver 1c, 2c, ..., Mc which is a completion approver. As shown in FIG. 7, among the approvers 1c, 2c, ..., Mc as the completion approver, the second approver 2c is not a human being but an automatic judgment processing routine, and the completion application to the second approver 2c is This corresponds to the activation of this automatic determination processing routine. This automatic determination processing routine is executed by, for example, the quality control computer 15. At this time, the quality control computer 15 operates as follows.

まず、既述の品質工程手順書(P8)と対応トランザクションデータTD2とを照合し(ステップS202)、品質工程手順書に対応トランザクションデータTD2が適合しているか否かを判定する(ステップS204)。その判定の結果、品質工程手順書に対応トランザクションデータTD2が適合している場合(すなわち品質管理の対象としての各部材がその仕様に合致している場合)、当該自動判定処理ルーチンが終了する。これにより、承認者2cとしての自動判定処理ルーチンから、品質管理に対応するトランザクションを起動したコンピュータ(通常は品質管理コンピュータ)における着工承認取得処理のルーチンに完成許可が与えられる(後述の図9のステップS42参照)。 First, the quality process procedure manual (P8) described above is collated with the corresponding transaction data TD2 (step S202), and it is determined whether or not the corresponding transaction data TD2 conforms to the quality process procedure manual (step S204). As a result of the determination, when the corresponding transaction data TD2 conforms to the quality process procedure manual (that is, when each member subject to quality control conforms to the specifications), the automatic determination processing routine ends. As a result, the automatic judgment processing routine as the approver 2c gives the completion permission to the routine of the construction start approval acquisition processing on the computer (usually the quality control computer) that started the transaction corresponding to the quality control (FIG. 9 described later). See step S42).

ステップS204での判定の結果、品質工程手順書に対応トランザクションデータTD2が適合していない場合には、不適合部分を解消するためのトラブルシューティングを行う(ステップS206)。ただし、この自動判定処理ルーチンにおいて不適合部分を解消できない場合、このステップS206では、不適合部分の告知(例えば品質管理コンピュータ15の表示部への表示)を行い、他の機器や作業者による処理によって不適合部分が解消されるまで待機することになる。この待機中において不適合部分の解消を示す入力操作またはデータを受け取るとステップS202へ戻る。以後、品質工程手順書に対応トランザクションデータTD2が適合するまで、ステップS202〜S206を繰り返し実行し、品質工程手順書に対応トランザクションデータTD2が適合していると判定されると、当該自動判定処理ルーチンが終了し、対応トランザクションデータTD2を起動したコンピュータにおける完成承認取得処理のルーチンに完成許可が与えられる(後述の図9のステップS54参照)。 As a result of the determination in step S204, if the transaction data TD2 corresponding to the quality process procedure manual is not conforming, troubleshooting is performed to eliminate the nonconforming portion (step S206). However, if the nonconforming portion cannot be resolved in this automatic determination processing routine, the nonconforming portion is notified (for example, displayed on the display unit of the quality control computer 15) in this step S206, and the nonconforming portion is processed by another device or an operator. You will have to wait until the part is resolved. If an input operation or data indicating that the nonconforming portion is resolved is received during this standby, the process returns to step S202. After that, steps S202 to S206 are repeatedly executed until the corresponding transaction data TD2 conforms to the quality process procedure manual, and when it is determined that the corresponding transaction data TD2 conforms to the quality process procedure manual, the automatic determination processing routine is performed. Is completed, and completion permission is given to the completion approval acquisition processing routine in the computer that started the corresponding transaction data TD2 (see step S54 in FIG. 9 described later).

<1.3 生産管理のためのプログラムおよび処理>
既述のように本実施形態では、図1の分散システムにおける各ノードコンピュータ10,11,13a,13b,…,15,17a,17b,…が生産管理プログラムを実行することにより、受注した製品の製造のための生産管理、すなわち当該製品の生産に必要な部材の手配のための物流管理および当該部材を用いた製造のための工程管理を行うためのブロックチェーンが当該分散システムにおいて形成され、当該分散システムは、このブロックチェーンを用いて製品を製造するための生産管理システムとして機能する。すなわち、通信ネットワーク100によって互いに接続されたノードコンピュータ10,11,13a,13b,…,15,17a,17b,…は、生産管理プログラムをそれぞれ実行することにより、生産管理システムを構成する生産管理端末装置10,11,13a,13b,…,15,17a,17b,…として機能する。ただし、上記製造メーカにおいて、受注した製品の製造のための生産管理を行うためには、当該製品の設計情報に基づき、当該製品の製造に必要な情報を生産情報として各ノードコンピュータに与える必要がある。本実施形態では、このための処理(以下「生産管理前処理」という)は、生産管理コンピュータ10が所定プログラム(以下「生産管理前処理プログラム」という)を実行することにより実現される。
<1.3 Programs and processes for production control>
As described above, in the present embodiment, each node computer 10, 11, 13a, 13b, ..., 15, 17a, 17b, ... In the distributed system of FIG. 1 executes the production control program to obtain the ordered product. A blockchain is formed in the distributed system for production control for manufacturing, that is, distribution control for arranging parts necessary for the production of the product and process control for manufacturing using the parts. The distributed system functions as a production control system for manufacturing products using this blockchain. That is, the node computers 10, 11, 13a, 13b, ..., 15, 17a, 17b, ... Connected to each other by the communication network 100 are the production control terminals constituting the production control system by executing the production control programs, respectively. It functions as devices 10, 11, 13a, 13b, ..., 15, 17a, 17b, .... However, in order for the above-mentioned manufacturer to perform production control for manufacturing the ordered product, it is necessary to give each node computer information necessary for manufacturing the product as production information based on the design information of the product. is there. In the present embodiment, the processing for this purpose (hereinafter referred to as "production control preprocessing") is realized by the production control computer 10 executing a predetermined program (hereinafter referred to as "production control preprocessing program").

上記より、図1の分散システムにおいて各ノードコンピュータ10,11,13a,13b,…,15,17a,17b,…が生産管理プログラムを実行するとともに、生産管理コンピュータ10が生産管理前処理プログラムを実行することにより、本実施形態に係る生産管理システムが実現される。これらの生産管理プログラムおよび生産管理前処理プログラムは、コンピュータ読み取り可能な記録媒体(非一過性の記録媒体)としての光ディスク170に格納されて提供される。すなわち、各ノードコンピュータ10,11,13a,13b,…,15,17a,17b,…のユーザは、例えば、生産管理プログラム121の記録媒体としての光ディスク170を購入して光ディスクドライブ130に挿入し、光ディスク170から生産管理プログラム121を読み出して補助記憶装置120にインストールする(図2参照)。また、これに代えて、通信ネットワーク100を介して送信される生産管理プログラム121をネットワークインタフェース部117で受信して、それを補助記憶装置120にインストールするようにしてもよい。また、生産管理コンピュータ10のユーザは、同様にして、生産管理前処理プログラムの格納された記録媒体としての光ディスク170を購入し、または、通信ネットワーク100を介して生産管理前処理プログラムを受信して補助記憶装置120にインストールする。 From the above, in the distributed system of FIG. 1, each node computer 10, 11, 13a, 13b, ..., 15, 17a, 17b, ... Executes the production control program, and the production control computer 10 executes the production control preprocessing program. By doing so, the production control system according to the present embodiment is realized. These production control programs and production control preprocessing programs are provided stored in an optical disk 170 as a computer-readable recording medium (non-transient recording medium). That is, the users of the node computers 10, 11, 13a, 13b, ..., 15, 17a, 17b, ... For example, purchase the optical disk 170 as the recording medium of the production control program 121 and insert it into the optical disk drive 130. The production control program 121 is read from the optical disk 170 and installed in the auxiliary storage device 120 (see FIG. 2). Alternatively, the network interface unit 117 may receive the production control program 121 transmitted via the communication network 100 and install it in the auxiliary storage device 120. Similarly, the user of the production control computer 10 purchases the optical disk 170 as a recording medium in which the production control preprocessing program is stored, or receives the production control preprocessing program via the communication network 100. It is installed in the auxiliary storage device 120.

以下、図8および図9を参照して、これら生産管理前処理プログラムに基づく生産管理前処理および生産管理プログラムに基づく生産管理本体処理について説明する。 Hereinafter, the production control preprocessing based on these production control preprocessing programs and the production control main body processing based on the production control program will be described with reference to FIGS. 8 and 9.

<1.3.1 生産管理前処理>
図8は、本実施形態における生産管理前処理の手順を示すフローチャートである。この生産管理前処理は、図1に示す分散システムにおいて生産管理コンピュータ10が生産管理前処理プログラムに基づき行う処理であり、当該分散システムにおいて生産管理のためのブロックチェーンを形成するための準備に相当する。生産管理コンピュータ10は、この生産管理前処理プログラムに基づき下記のように動作する。
<1.3.1 Production control pretreatment>
FIG. 8 is a flowchart showing the procedure of production control preprocessing in the present embodiment. This production control preprocessing is a process performed by the production control computer 10 based on the production control preprocessing program in the distributed system shown in FIG. 1, and corresponds to preparation for forming a blockchain for production control in the distributed system. To do. The production control computer 10 operates as follows based on this production control preprocessing program.

既述のようにして、受注した製品の設計情報に基づき調達部品表(BOM)(P5)、品質工程手順書(P8)、生産工程1および2のための工程手順書(P11,P13)が作成されると(図5参照)、生産管理コンピュータ10は、これらの調達部品表、品質工程手順書、および、工程手順書を受け取り、これらから当該製品の製造のための生産情報を作成する(ステップS12)。 As described above, based on the design information of the ordered product, the procurement bill of materials (BOM) (P5), the quality process procedure manual (P8), and the process procedure manual for production processes 1 and 2 (P11, P13) are prepared. When created (see FIG. 5), the production control computer 10 receives these procurement bills of materials, quality process procedure manuals, and process procedure manuals, and creates production information for manufacturing the product from these (see FIG. 5). Step S12).

次に、生産管理コンピュータ10は、ステップS12で作成された生産情報を、図1の分散システムにおける各ノードコンピュータが取得できるように通信ネットワーク100に送出する(ブロードキャスト)。後述のように、この生産情報は各ノードコンピュータで受信されてメモリ112または補助記憶装置120に格納される。各ノードコンピュータがアクセス可能な共有メモリが分散システム内(例えばいずれかのノードコンピュータ内のメモリ112内)に設けられている場合には、その生産情報を各ノードコンピュータ内のメモリ112等に格納する代わりに、当該共有メモリに格納してもよい。本実施形態では、既述のように、生産管理コンピュータ10の補助記憶装置120内に設けられた共有領域123が当該共有メモリ(共有記憶部)として機能するので(図3参照)、この共有領域123に上記生産情報を格納してもよい。この点は他の実施形態においても同様である。 Next, the production control computer 10 sends the production information created in step S12 to the communication network 100 so that each node computer in the distributed system of FIG. 1 can acquire it (broadcast). As will be described later, this production information is received by each node computer and stored in the memory 112 or the auxiliary storage device 120. When the shared memory accessible to each node computer is provided in the distributed system (for example, in the memory 112 in any node computer), the production information is stored in the memory 112 or the like in each node computer. Alternatively, it may be stored in the shared memory. In the present embodiment, as described above, since the shared area 123 provided in the auxiliary storage device 120 of the production control computer 10 functions as the shared memory (shared storage unit) (see FIG. 3), this shared area The production information may be stored in 123. This point is the same in other embodiments.

上記生産情報が通信ネットワーク100に送出された後、上記生産情報に基づき下記データ(d1)〜(d3)を作成し、下記データ(d1)〜(d3)を各ノードコンピュータが取得できるように通信ネットワーク100に送出する。すなわち下記データ(d1)〜(d3)をブロードキャストする。なお以下、これらのデータ(d1)〜(d3)を総称して「生産管理準備データ」という。
(d1)各トランザクションデータのテンプレートTP1〜TP4(図13)
(d2)ブロックチェーンの形成に必要な準備データ(図11参照)
(d3)トランザクションの起動順を示す順序データ(図13のTBL)
After the production information is sent to the communication network 100, the following data (d1) to (d3) are created based on the production information, and the following data (d1) to (d3) are communicated so that each node computer can acquire the following data (d1) to (d3). Send to network 100. That is, the following data (d1) to (d3) are broadcast. Hereinafter, these data (d1) to (d3) are collectively referred to as "production control preparation data".
(D1) Templates TP1 to TP4 for each transaction data (FIG. 13)
(D2) Preparation data required for blockchain formation (see FIG. 11)
(D3) Order data indicating the transaction activation order (TBL in FIG. 13)

ここで、(d1)のテンプレートについては、図5に示す例では、調達、品質管理、生産工程1、生産工程2という4つの単位作業に応じて4種類のトランザクションデータTD1〜TD4のそれぞれ対応する4つのテンプレートTP1〜TP4が作成されて通信ネットワーク100に送出される。
(d2)の準備データは、後述の図11に示すようなブロックチェーンの形成に必要なデータであってトランザクションデータ以外のデータであり、例えば、ハッシュ値を算出するためのハッシュ関数を定義するためのデータや、各ブロックの構造を定義するためのデータ、新たなブロックをブロックチェーンに追加するときに求められるハッシュ値に課せられる制約(これは当該ブロックチェーンにおけるハッシュパズルの難易度に相当する)を示すデータ等である。なお、本実施形態で使用されるハッシュ関数は、一方向性関数である暗号的ハッシュ関数である。
(d3)の順序データは、本実施形態における複数のトランザクションには起動の順序が予め決まっていることに基づくものであり、この起動順を特定するデータである。図5に示す例では、調達→品質管理→生産工程1→生産工程2という単位作業の実行順序に応じて、これら4つの単位作業にそれぞれ対応する4つのトランザクションが当該順序で起動される。この場合、順序データは、調達→品質管理→生産工程1→生産工程2という単位作業の実行順を示すことになる。このような順序データの示す情報は、本実施形態では、後述の生産管理プログラムの実行中において、図13に示すようにテーブルの形態で保持される。
Here, regarding the template (d1), in the example shown in FIG. 5, four types of transaction data TD1 to TD4 correspond to each of the four unit operations of procurement, quality control, production process 1, and production process 2. Four templates TP1 to TP4 are created and sent to the communication network 100.
The preparation data of (d2) is data necessary for forming a blockchain as shown in FIG. 11 described later and is data other than transaction data. For example, in order to define a hash function for calculating a hash value. Data, data for defining the structure of each block, and constraints imposed on the hash value required when adding a new block to the blockchain (this corresponds to the difficulty of the hash puzzle in the blockchain). It is the data which shows. The hash function used in this embodiment is a cryptographic hash function which is a one-way function.
The order data of (d3) is based on the fact that the order of activation is predetermined for a plurality of transactions in the present embodiment, and is data for specifying the order of activation. In the example shown in FIG. 5, four transactions corresponding to each of these four unit operations are started in the order of execution of the unit operations of procurement → quality control → production process 1 → production process 2. In this case, the order data indicates the execution order of the unit work of procurement → quality control → production process 1 → production process 2. In the present embodiment, the information indicated by such order data is held in the form of a table as shown in FIG. 13 during the execution of the production control program described later.

上記生産管理準備データ(d1)〜(d3)が通信ネットワーク100に送出されると、生産管理前処理を終了する。なお、後述のように、この生産管理準備データ(d1)〜(d3)は、各ノードコンピュータのメモリ112等に格納されることで各ノードコンピュータ内に保持される。各ノードコンピュータがアクセス可能な共有メモリが分散システム内(例えばいずれかのノードコンピュータ内のメモリ112内)に設けられている場合には、この生産管理準備データ(d1)〜(d3)の一部または全部を各ノードコンピュータ内のメモリ112等に格納する代わりに、当該共有メモリに格納してもよい。本実施形態では、この生産管理準備データ(d1)〜(d3)の一部または全部を、生産管理コンピュータ10の補助記憶装置120内において共有メモリ(共有記憶部)として機能する共有領域123に格納してもよい(図3参照)。 When the production control preparation data (d1) to (d3) are sent to the communication network 100, the production control pre-processing ends. As will be described later, the production control preparation data (d1) to (d3) are stored in the memory 112 or the like of each node computer and are held in each node computer. When the shared memory accessible to each node computer is provided in the distributed system (for example, in the memory 112 in any node computer), a part of the production control preparation data (d1) to (d3). Alternatively, instead of storing all of them in the memory 112 or the like in each node computer, they may be stored in the shared memory. In the present embodiment, a part or all of the production control preparation data (d1) to (d3) is stored in the shared area 123 that functions as a shared memory (shared storage unit) in the auxiliary storage device 120 of the production control computer 10. You may (see FIG. 3).

<1.3.2 生産管理本体処理>
図9は、本実施形態における分散システム(図1)を構成する各ノードコンピュータにおいて生産管理のために行われる処理(以下「生産管理本体処理」または単に「本体処理」という)を示すフローチャートである。この本体処理は、図1に示す分散システムにおけるノードコンピュータ(生産管理コンピュータ10を含む)のそれぞれが生産管理プログラム121を実行することにより実現される。この本体処理により、各ノードコンピュータに保持されるべき自ブロックチェーン構成データおよび共有記憶部123に格納されるべきトランザクションデータが生成され更新されることで、生産管理のためのブロックチェーンが図1の分散システムにおいて形成され更新される。具体的には、各ノードコンピュータは、この生産管理プログラム121に基づき下記のように動作する。以下、1つのノードコンピュータに着目して、生産管理プログラムに基づく本体処理につき図9を参照して説明する。
<1.3.2 Production control main unit processing>
FIG. 9 is a flowchart showing a process (hereinafter, referred to as “production control main body process” or simply “main body process”) performed for production control in each node computer constituting the distributed system (FIG. 1) in the present embodiment. .. This main body processing is realized by each of the node computers (including the production control computer 10) in the distributed system shown in FIG. 1 executing the production control program 121. By this main body processing, the own blockchain configuration data to be held in each node computer and the transaction data to be stored in the shared storage unit 123 are generated and updated, so that the blockchain for production control is shown in FIG. Formed and updated in a distributed system. Specifically, each node computer operates as follows based on the production control program 121. Hereinafter, focusing on one node computer, the main body processing based on the production control program will be described with reference to FIG.

まず、当該ノードコンピュータは、生産管理コンピュータ10から通信ネットワーク100に送出された生産情報および生産管理準備データを受け取り(図8のステップS14,S16および図9のステップS22参照)、生産情報に基づき、生産管理の対象となる作業を構成する単位作業のうち最初に実行すべき単位作業を実行可能単位作業として設定する(ステップS24)。図5に示す例では、最初に実行される単位作業は調達であるので、これが実行可能単位作業として設定される。また、生産管理準備データに基づき、本実施形態における単位作業の実行順を特定するとともに各トランザクションデータのテンプレートを保持するためのデータ構造(以下「生産管理データ構造」という)として、図13に示すデータ構造を作成する。 First, the node computer receives the production information and the production control preparation data sent from the production control computer 10 to the communication network 100 (see steps S14 and S16 in FIG. 8 and step S22 in FIG. 9), and based on the production information. The unit work to be executed first among the unit works constituting the work subject to production control is set as the executable unit work (step S24). In the example shown in FIG. 5, since the unit work to be executed first is procurement, this is set as an executable unit work. Further, based on the production control preparation data, FIG. 13 is shown as a data structure (hereinafter referred to as “production control data structure”) for specifying the execution order of the unit work in the present embodiment and holding the template of each transaction data. Create a data structure.

次に、ブロック追加通知を他のノードコンピュータから受領したか否かを判定し(ステップS26)、ブロック追加通知を受領していなければステップS28へ進み、実行可能単位作業を表示する(ステップS28)。これにより、当該ノードコンピュータの操作者は、現時点で実行可能な単位作業を認識することができ、その実行可能な単位作業を開始すべきと判断する場合には、当該ノードコンピュータに対して、単位作業の開始を指示する入力操作を行う。 Next, it is determined whether or not the block addition notification has been received from another node computer (step S26), and if the block addition notification has not been received, the process proceeds to step S28 to display the executable unit work (step S28). .. As a result, the operator of the node computer can recognize the unit work that can be executed at the present time, and when it is determined that the unit work that can be executed should be started, the unit is referred to the node computer. Perform an input operation to instruct the start of work.

その後、当該ノードコンピュータは、単位作業の開始を指示する入力操作が当該ノードコンピュータに行われたか否かを判定する(ステップS30)。その結果、単位作業の開始を指示する入力操作が行われていない場合にはステップS26へ戻る。以降、ブロック追加通知を受け取らず単位作業の開始を指示する入力操作も行われない間は、ステップS26→ステップS28→ステップS30を繰り返し実行する。 After that, the node computer determines whether or not the input operation instructing the start of the unit work has been performed on the node computer (step S30). As a result, if the input operation for instructing the start of the unit work has not been performed, the process returns to step S26. After that, as long as the block addition notification is not received and the input operation for instructing the start of the unit work is not performed, step S26 → step S28 → step S30 is repeatedly executed.

なお、ここでのブロック追加通知とは、図1の分散システムにおける他のノードコンピュータでの本体処理により着工許可および完成許可の得られたトランザクションデータすなわち検証済みのトランザクションデータを含むブロックがブロックチェーンに追加されるときに、各ノードコンピュータに保持されるブロックチェーン構成データの一貫性を確保すべく、ブロック追加に関する情報を各ノードコンピュータに送信してブロックチェーンの更新を知らせることをいう(後述のステップS60参照)。 The block addition notification here means that the block including the transaction data for which the construction start permission and the completion permission have been obtained by the main body processing in the other node computer in the distributed system of FIG. 1, that is, the verified transaction data is put into the block chain. When added, in order to ensure the consistency of the blockchain configuration data held in each node computer, it means to send information about block addition to each node computer to notify the blockchain update (step described later). See S60).

上記のようにステップS26→ステップS28→ステップS30を繰り返し実行している間に、ブロック追加通知を受け取ると(ステップS26でYesと判定されると)、ステップS32へ進み、自ブロックチェーン構成データを更新する。以下、図10および図11を参照して、この自ブロックチェーン構成データの更新について説明する。なお、ブロックチェーンを構成する各ブロックには複数のトランザクションデータを含めることが可能であるが、以下では説明の便宜上、各ブロックには1つのトランザクションデータのみが含まれるものとする。 If a block addition notification is received while repeatedly executing step S26 → step S28 → step S30 as described above (if it is determined to be Yes in step S26), the process proceeds to step S32 and the own blockchain configuration data is input. Update. Hereinafter, the update of the own blockchain configuration data will be described with reference to FIGS. 10 and 11. Although each block constituting the blockchain can include a plurality of transaction data, it is assumed that each block contains only one transaction data for convenience of explanation below.

本実施形態におけるブロックチェーンは、生産管理システムにおいて1つの製品に対する生産管理のために生成されるトランザクションデータを含むブロックを生成順に連結したものであり、そのブロックチェーンを構成するデータのうちブロックヘッダを連結して構成される自ブロックチェーン構成データが図1の分散システムにおける各ノードコンピュータに保持される。ただし、下記のように、ブロックチェーンを構成する各ブロックにおけるトランザクションデータは、生産管理コンピュータ10の補助記憶装置120内の共有領域123(以下「共有記憶部123」という)に格納され、この共有記憶部123に格納されたトランザクションデータは図1の分散システムにおける各ノードコンピュータによって共用される。この点で、生産管理コンピュータ10はサーバとして機能するといえる。 The blockchain in the present embodiment is obtained by concatenating blocks including transaction data generated for production control for one product in the production control system in the order of generation, and a block header among the data constituting the blockchain. The own blockchain configuration data configured by concatenating is held in each node computer in the distributed system of FIG. However, as described below, the transaction data in each block constituting the block chain is stored in the shared area 123 (hereinafter referred to as "shared storage unit 123") in the auxiliary storage device 120 of the production control computer 10, and this shared storage is performed. The transaction data stored in the unit 123 is shared by each node computer in the distributed system of FIG. In this respect, it can be said that the production control computer 10 functions as a server.

図10(A)は、本実施形態におけるブロックチェーンを構成する1つのブロックの構成例を示す図である。図10(A)に示すように、当該1つのブロックは、ブロックヘッダBLKkと、当該ブロックヘッダBLKkに対応付けられたトランザクションデータTDkとからなる。ブロックヘッダBLKkは、自ブロックチェーン構成データの構成要素として各ノードコンピュータに保持され、トランザクションデータTDkは、共有記憶部123に格納される(図3参照)。図10(A)の構成例では、各ブロックヘッダBLKk(k=1,2,…)は、それに対応付けるべきトランザクションデータTDkのハッシュ値THSkと、当該トランザクションデータTDkの格納場所(共有記憶部123における格納位置)を示すアドレス値TADkと、直前ブロックヘッダBLKk-1を参照するためのアドレス情報としての直前参照PRFkと、直前ブロックヘッダBLKk-1のハッシュ値PHSkと、当該ブロックヘッダBLKkのハッシュ値を求めるときに使用されるナンス値NSkとを含んでいる(後述の図11(A)参照)。 FIG. 10A is a diagram showing a configuration example of one block constituting the blockchain in the present embodiment. As shown in FIG. 10A, the one block includes a block header BLKk and transaction data TDk associated with the block header BLKk. The block header BLKk is held in each node computer as a component of its own blockchain configuration data, and the transaction data TDk is stored in the shared storage unit 123 (see FIG. 3). In the configuration example of FIG. 10A, each block header BLKk (k = 1, 2, ...) has a hash value THSk of transaction data TDk to be associated with the block header BLKk and a storage location of the transaction data TDk (in the shared storage unit 123). The address value TADk indicating the storage position), the immediately preceding reference PRFk as address information for referring to the immediately preceding block header BLKk-1, the hash value PHSk of the immediately preceding block header BLKk-1, and the hash value of the block header BLKk. It includes the nonce value NSk used when obtaining it (see FIG. 11 (A) described later).

本実施形態では、いずれかの単位作業の開始指示に基づきトランザクションデータTDkが新たに生成されると、その単位作業についての着工承認および完成承認の作業を経た後、そのトランザクションデータTDkに対応するブロックが作成されてブロックチェーンに追加される(図9のステップS58,S60等参照)。このとき、図10(A)に示すように1つのブロックヘッダBLKkには1つのトランザクションデータTDkのみが対応するが、1つのブロックヘッダに複数のトランザクションデータが対応する構成、すなわち1つのブロックに複数のトランザクションデータが含まれる構成であってもよい。このような構成のブロックでは、それに含まれる複数のトランザクションデータがマークルツリー(Merkle Tree)の形態で連結されることで、当該複数のトランザクションデータのハッシュ値が当該マークルツリーのルートノードのハッシュ値(以下「ルートハッシュ値」という)に集約され、当該ブロックのブロックヘッダBLKkにおいて、そのルートハッシュ値がトランザクションハッシュ値THSkとして保持されるとともに、当該マークルツリーのルートノードの格納場所(すなわちルートノードを構成する後述のハッシュ参照データの格納場所)を示すアドレス情報がトランザクションアドレス値TADkとして保持される。 In the present embodiment, when transaction data TDk is newly generated based on the start instruction of any unit work, the block corresponding to the transaction data TDk is subjected to the work of approval of start and completion of the unit work. Is created and added to the blockchain (see steps S58, S60, etc. in FIG. 9). At this time, as shown in FIG. 10A, only one transaction data TDk corresponds to one block header BLKk, but a plurality of transaction data correspond to one block header, that is, a plurality of one block. It may be configured to include the transaction data of. In a block having such a configuration, a plurality of transaction data contained therein are concatenated in the form of a Merkle Tree, so that the hash value of the plurality of transaction data is the hash of the root node of the Merkle tree. It is aggregated into values (hereinafter referred to as "root hash value"), and the root hash value is held as the transaction hash value THSk in the block header BLKk of the block, and the storage location (that is, root) of the root node of the Merkle tree. The address information indicating the storage location of the hash reference data described later that constitutes the node) is held as the transaction address value TADk.

例えば、1つのブロックに2つのトランザクションデータTDk1,TDk2(例えば調達に対応するトランザクションデータTD1と品質管理に対応するトランザクションデータTD2)が含まれる場合、当該ブロックは図10(B)に示すように構成される。すなわち当該ブロックは、図10(A)の構成例におけるブロックヘッダBLKkと同じ構成のブロックヘッダBLKkと、当該2つのトランザクションデータTDk1,TDk2を連結して構成されたマークルツリーとを含む。このマークルツリーは、図10(B)に示すように、2つのトランザクションデータTDk1,TDk2をそれぞれリーフノードとして含むとともに、一方のトランザクションデータTDk1のハッシュ参照データTHRk1と他方のトランザクションデータTDk2のハッシュ参照データTHRk2とからなるルートノードTNk1を含む。ここで、ハッシュ参照データとは、データの読み出しに使用すべきデータであって、読み出すべきデータの格納場所を示すアドレス値と当該読み出すべきデータのハッシュ値とからなるデータである(以下では、トランザクションデータの読み出しに使用すべきハッシュ参照データを「トランザクションハッシュ参照データ」という)。したがって、図10(B)の構成例では、ルートノードTNk1を構成する2つのトランザクションハッシュ参照データのうち、一方のハッシュ参照データTHRk1は、上記一方のトランザクションデータTDk1の格納場所を示すアドレス値と上記一方のトランザクションデータTDk1のハッシュ値とからなり、他方のハッシュ参照データTHRk2は、上記他方のトランザクションデータTDk2の格納場所を示すアドレス値と上記他方のトランザクションデータTDk2のハッシュ値とからなる。また、ルートノードTNk1のハッシュ参照データTHRkが、当該2つのトランザクションデータTDk1,TDk2に対応するブロックヘッダBLKkに保持される。すなわち図10(B)に示すように、当該ブロックヘッダBLKkにおいて、ルートノードTNk1の格納場所を示すアドレス値がトランザクションアドレス値TADkとして保持されるとともに、当該ルートノードTNk1のハッシュ値がトランザクションハッシュ値THSkとして保持される。なお、図10(B)の構成例における上記マークルツリーにおいて、ルートノードTNk1とリーフノードとしてのトランザクションデータTDk1,TDk2との間に(2個の)中間ノードを設けることにより、1つのブロックに更に多くのトランザクションデータを含めることができる。この場合、各中間ノードは、その子ノードとしてのリーフノードのハッシュ参照データから構成され、ルートノードTNk1は、その子ノードとしての中間ノードのハッシュ参照データから構成される。 For example, when one block contains two transaction data TDk1 and TDk2 (for example, transaction data TD1 corresponding to procurement and transaction data TD2 corresponding to quality control), the block is configured as shown in FIG. 10B. Will be done. That is, the block includes a block header BLKk having the same configuration as the block header BLKk in the configuration example of FIG. 10A, and a Merkle tree configured by concatenating the two transaction data TDk1 and TDk2. As shown in FIG. 10B, this Merkle tree includes two transaction data TDk1 and TDk2 as leaf nodes, respectively, and has a hash reference data THRk1 of one transaction data TDk1 and a hash reference of the other transaction data TDk2. Includes a root node TNk1 consisting of data THRk2. Here, the hash reference data is data to be used for reading data, and is data including an address value indicating a storage location of the data to be read and a hash value of the data to be read (hereinafter, transaction). Hash reference data that should be used to read data is called "transaction hash reference data"). Therefore, in the configuration example of FIG. 10B, of the two transaction hash reference data constituting the root node TNk1, one hash reference data THRk1 has an address value indicating a storage location of the one transaction data TDk1 and the above. It is composed of a hash value of one transaction data TDk1, and the other hash reference data THRk2 is composed of an address value indicating a storage location of the other transaction data TDk2 and a hash value of the other transaction data TDk2. Further, the hash reference data THRk of the root node TNk1 is held in the block header BLKk corresponding to the two transaction data TDk1 and TDk2. That is, as shown in FIG. 10B, in the block header BLKk, the address value indicating the storage location of the root node TNk1 is held as the transaction address value TADk, and the hash value of the root node TNk1 is the transaction hash value THSk. Is held as. In the Merkle tree in the configuration example of FIG. 10B, by providing (two) intermediate nodes between the root node TNk1 and the transaction data TDk1 and TDk2 as leaf nodes, one block is formed. More transaction data can be included. In this case, each intermediate node is composed of the hash reference data of the leaf node as its child node, and the root node TNk1 is composed of the hash reference data of the intermediate node as its child node.

上記ようなマークルツリーを用いることにより、ブロックヘッダの構成を変えることなく、1つのブロックに複数のトランザクションデータを含めることができる。ただし以下では、既述のように説明の便宜上、各ブロックに含まれるトランザクションデータは1個のみとする。 By using the Merkle tree as described above, it is possible to include a plurality of transaction data in one block without changing the structure of the block header. However, in the following, as described above, for convenience of explanation, only one transaction data is included in each block.

図11は、本実施形態における各ノードコンピュータが保持するブロックチェーン構成データ(自ブロックチェーン構成データ)の更新を説明するための図である。いま、ブロック追加通知を受け取った時点で、当該ノードコンピュータにおける自ブロックチェーン構成データが図11(A)に示すようにブロックヘッダBLK1〜BLKnが順に連結された状態であるときに、トランザクションデータTDn+1のハッシュ参照データ(トランザクションハッシュ値THSn+1およびトランザクションアドレス値TADn+1)と直前ハッシュ値PHSn+1とナンス値NSn+1を含むブロック追加通知を受け取るものとする(ステップS26)。このブロック追加通知に応じて次のような自ブロックチェーン構成データの更新が行われる。 FIG. 11 is a diagram for explaining the update of the blockchain configuration data (own blockchain configuration data) held by each node computer in the present embodiment. Now, when the block addition notification is received, when the own blockchain configuration data in the node computer is in a state in which the block headers BLK1 to BLKn are connected in order as shown in FIG. 11 (A), the transaction data TDn + It is assumed that the block addition notification including the hash reference data (transaction hash value THSn + 1 and transaction address value TADn + 1) of 1 and the immediately preceding hash value PHSn + 1 and the nonce value NSn + 1 is received (step S26). The following own blockchain configuration data is updated in response to this block addition notification.

まず、ブロックチェーンに追加すべきブロックのブロックヘッダBLKn+1を生成して自ブロックチェーン構成データに組み込む。具体的には、このブロック追加通知に含まれる直前ハッシュ値PHSn+1、ナンス値NSn+1、トランザクションハッシュ値THSn+1、およびトランザクションアドレス値TADn+1を含み、自ブロックチェーンにおける最新参照RRFすなわちn番目のブロックヘッダBLKnの位置を示すアドレス情報を直前参照PRFn+1として含むブロックヘッダをn+1番目のブロックヘッダBLKn+1として生成する。その後、最新参照RRFをn+1番目のブロックヘッダBLKn+1の位置を示すアドレス情報に更新する。このようにして自ブロックチェーン構成データは、図11(A)に示す構成から図11(B)に示す構成に更新される。 First, the block header BLKn + 1 of the block to be added to the blockchain is generated and incorporated into the own blockchain configuration data. Specifically, the latest reference RRF in the own blockchain, that is, includes the immediately preceding hash value PHSn + 1, the nonce value NSn + 1, the transaction hash value THSn + 1, and the transaction address value TADn + 1 included in this block addition notification. A block header containing the address information indicating the position of the nth block header BLKn as the immediately preceding reference PRFn + 1 is generated as the n + 1th block header BLKn + 1. After that, the latest reference RRF is updated with the address information indicating the position of the n + 1th block header BLKn + 1. In this way, the own blockchain configuration data is updated from the configuration shown in FIG. 11A to the configuration shown in FIG. 11B.

なお、ブロック追加通知を受け取ったときに、追加すべきブロックに含まれるトランザクションデータとして共有記憶部123に格納されたトランザクションデータTDn+1を入力値とするハッシュ関数の出力値とそのブロック追加通知に含まれるトランザクションハッシュ値THSn+1とが一致することを確認とともに、そのブロック追加通知に含まれるトランザクションハッシュ値THSn+1と直前ハッシュ値PHSn+1とナンス値NSn+1との組み合わせを入力値とするハッシュ関数の出力値を求め、この出力値が所定値以下であることを確認することが好ましい。これらの確認ができない場合は、トランザクションデータTDn+1と直前ハッシュ値PHSn+1とナンス値NSn+1のうち少なくとも1つは適正でないので、そのブロック追加通知に基づく自ブロックチェーン構成データの更新は回避すべきであるからである。 When the block addition notification is received, the output value of the hash function whose input value is the transaction data TDn + 1 stored in the shared storage unit 123 as the transaction data included in the block to be added and the block addition notification Confirm that the included transaction hash value THSn + 1 matches, and use the combination of the transaction hash value THSn + 1 included in the block addition notification, the immediately preceding hash value PHSn + 1, and the nonce value NSn + 1 as the input value. It is preferable to obtain the output value of the hash function to be used and confirm that this output value is equal to or less than a predetermined value. If these cannot be confirmed, at least one of the transaction data TDn + 1, the immediately preceding hash value PHSn + 1, and the nonce value NSn + 1 is not appropriate, so the update of the own blockchain configuration data based on the block addition notification is performed. This is because it should be avoided.

上記のようにして自ブロックチェーン構成データが更新された後は、ステップS22で入力された生産情報に基づく図12または図13に示すデータを参照して、実行可能な単位作業の有無を判定する(ステップS34)。この判定の結果、実行可能な単位作業がなければ、本実施形態において生産管理の対象となる全ての単位作業に対応するトランザクションは全て起動されたことになる。すなわち、1つの製品の生産管理のための当該ノードコンピュータでの本体処理が終了したことになる。そこで、ステップS22へ戻り、次に製造すべき製品に関する生産情報を受け取るまでステップS22で待機する。 After the own blockchain configuration data is updated as described above, it is determined whether or not there is a feasible unit work by referring to the data shown in FIG. 12 or FIG. 13 based on the production information input in step S22. (Step S34). As a result of this determination, if there is no feasible unit work, all transactions corresponding to all the unit work subject to production control in the present embodiment have been started. That is, the main body processing in the node computer for the production control of one product is completed. Therefore, the process returns to step S22, and the process waits in step S22 until the production information regarding the next product to be manufactured is received.

ステップS34での判定の結果、実行可能な単位作業がある場合には、図13に示す生産管理データ構造におけるテーブルTBLで特定される実行順に基づき、自ブロックチェーン構成データにおける最新のブロックヘッダBLKn+1に対応する最新のトランザクションデータに対応する単位作業の次に実行すべき単位作業を決定し、当該決定された単位作業を実行可能単位作業として設定し、これを当該ノードコンピュータの表示部140に表示する(ステップS36)。その後、ステップS26へ戻る。 As a result of the determination in step S34, if there is an executable unit work, the latest block header BLKn + in the own blockchain configuration data is based on the execution order specified in the table TBL in the production control data structure shown in FIG. The unit work to be executed next to the unit work corresponding to the latest transaction data corresponding to 1 is determined, the determined unit work is set as an executable unit work, and this is set on the display unit 140 of the node computer. Display (step S36). Then, the process returns to step S26.

一方、ステップS26→ステップS28→ステップS30を繰り返し実行している間に、単位作業の開始を指示する入力操作を当該ノードコンピュータが受け付けると(ステップS30でYesと判定されると)、現時点の実行可能単位作業の開始が指示されたとみなし、当該実行可能単位作業を対象単位作業としてステップS38へ進む。 On the other hand, if the node computer accepts an input operation instructing the start of the unit work while repeatedly executing step S26 → step S28 → step S30 (if it is determined to be Yes in step S30), the current execution is performed. It is considered that the start of the possible unit work is instructed, and the process proceeds to step S38 with the executable unit work as the target unit work.

ステップS38では、ステップS22で入力された生産情報および自ブロックチェーン構成データにおける最新ブロックヘッダ(以下この最新ブロックヘッダを符号“BLKn”で示すものとする)に含まれるトランザクションデータTDnを参照して、対象単位作業の着工情報を取得する。この着工情報は、対象単位作業の開始に必要なデータである。図12は、各単位作業において必要となる生産情報および着工情報を示している。図12に示すように、着工情報は、対象単位作業が調達である場合には、生産情報における調達部品表(BOM)から得られる部品発注番号であり、対象単位作業が品質管理である場合には、生産情報における品質工程手順を示す情報および直前の単位作業(調達)に対応するトランザクションデータTDnから得られる次工程納品を示す情報であり、対象単位作業が生産工程1である場合には、生産情報における工程手順1を示す情報および直前の単位作業(品質管理)に対応するトランザクションデータTDnから得られる次工程納品1を示す情報であり、対象単位作業が生産工程2である場合には、生産情報における工程手順2を示す情報および直前の単位作業(生産工程1)に対応するトランザクションデータTDnから得られる次工程納品2を示す情報である(図5参照)。 In step S38, the transaction data TDn included in the latest block header in the production information and own blockchain configuration data input in step S22 (hereinafter, this latest block header is indicated by the code “BLKn”) is referred to. Target unit Acquire construction start information for work. This construction start information is data necessary for starting the target unit work. FIG. 12 shows production information and construction start information required for each unit work. As shown in FIG. 12, the construction start information is a parts order number obtained from the bill of materials (BOM) in the production information when the target unit work is procurement, and when the target unit work is quality control. Is information indicating the quality process procedure in the production information and information indicating the next process delivery obtained from the transaction data TDn corresponding to the immediately preceding unit operation (procurement). When the target unit operation is the production process 1, Information indicating the process procedure 1 in the production information and information indicating the next process delivery 1 obtained from the transaction data TDn corresponding to the immediately preceding unit operation (quality control). When the target unit operation is the production process 2, Information indicating the process procedure 2 in the production information and information indicating the next process delivery 2 obtained from the transaction data TDn corresponding to the immediately preceding unit operation (production process 1) (see FIG. 5).

次に、図13に示す生産管理データ構造に基づき、取得された着工情報を対象単位作業(図12参照)に対応するテンプレートTPn+1に組み込むことにより、対象単位作業に対応するトランザクションデータ(以下「対応トランザクションデータ」という)TDn+1を生成する(ステップS40)。 Next, based on the production control data structure shown in FIG. 13, the acquired transaction start information is incorporated into the template TPn + 1 corresponding to the target unit work (see FIG. 12), so that the transaction data corresponding to the target unit work (hereinafter referred to as Generate TDn + 1 (referred to as “corresponding transaction data”) (step S40).

次に、対象単位作業の着工承認の取得処理を実行する(ステップS42)。図13に示すように、各単位作業に対応するテンプレートTPk(k=1〜4)には当該単位作業の着工承認者や完成承認者を特定する情報(以下「承認者情報」という)ASが含まれている。そこで、対応トランザクションデータTDn+1に含まれる承認者情報ASで特定される各着工承認者Ssjから既述のようにして着工許可を得るための作業が行われ(図6、図7参照)、その作業に基づき当該ノードコンピュータに対し各着工承認者Ssjによる着工許可を示す通知または入力操作が行われる。この着工承認の取得処理は、当該承認者情報ASで特定される全ての着工承認者Ssjから着工許可を得るまで繰り返される(ステップS42,S44)。当該承認者情報ASで特定される全ての着工承認者Ssjから着工許可が得られると、対象単位作業の着手が承認されたとみなしてステップS46へ進む。 Next, the process of obtaining the start approval of the target unit work is executed (step S42). As shown in FIG. 13, the template TPk (k = 1 to 4) corresponding to each unit work contains information (hereinafter referred to as “approver information”) AS that identifies the start approver or the completion approver of the unit work. include. Therefore, the work for obtaining the construction start permission from each construction start approver Ssj specified by the approver information AS included in the corresponding transaction data TDn + 1 is performed as described above (see FIGS. 6 and 7). Based on the work, the node computer is notified or input operation indicating the construction start permission by each construction start approver Ssj. This process of obtaining the construction start approval is repeated until the construction start permission is obtained from all the construction start approvers Ssj specified in the approver information AS (steps S42 and S44). When the construction start permission is obtained from all the construction start approvers Ssj specified in the approver information AS, it is considered that the start of the target unit work has been approved, and the process proceeds to step S46.

ステップS46では、対象単位作業の着工指示を発行する。この着工指示の発行により、対象単位作業が開始される。すなわち、対象単位作業が調達、品質管理、生産工程1、生産工程2のいずれであるかに応じて、対応する部門の担当者やコンピュータ等が既述の作業または処理を行う(図5参照)。 In step S46, a construction start instruction for the target unit work is issued. By issuing this construction start instruction, the target unit work is started. That is, depending on whether the target unit work is procurement, quality control, production process 1, or production process 2, the person in charge of the corresponding department, a computer, or the like performs the above-mentioned work or processing (see FIG. 5). ..

対象単位作業に相当する既述の作業または処理が終了すると、当該ノードコンピュータは、対象単位作業の終了通知を受け取り(ステップS48)、その後、対象単位作業の結果情報を取得し(ステップS50)、取得された結果情報を対応トランザクションデータTDn+1に完成情報として組み込む(ステップS52)。ここで、対象単位作業の結果情報とは、対象単位作業が調達である場合には、発注日や検収日等を示す情報であり、対象単位作業が品質管理である場合には、部品の検査結果等を示す情報であり、対象単位作業が生産工程1である場合には、生産工程1により得られる部品の検査結果や検収日等を示す情報であり、対象単位作業が生産工程2である場合には、生産工程2により得られる部品または製品の検査結果や検収日等を示す情報である。 When the above-mentioned work or process corresponding to the target unit work is completed, the node computer receives the completion notification of the target unit work (step S48), and then acquires the result information of the target unit work (step S50). The acquired result information is incorporated into the corresponding transaction data TDn + 1 as completion information (step S52). Here, the result information of the target unit work is information indicating the ordering date, the acceptance date, etc. when the target unit work is procurement, and the inspection of parts when the target unit work is quality control. Information indicating the result, etc., and when the target unit work is the production process 1, the information indicates the inspection result, acceptance date, etc. of the parts obtained by the production process 1, and the target unit work is the production process 2. In the case, it is information indicating an inspection result, an acceptance date, or the like of a part or product obtained in the production process 2.

次に、対象単位作業の完成承認の取得処理を実行する(ステップS54)。この取得処理では、対応トランザクションデータTDn+1に含まれる承認者情報ASで特定される各完成承認者Scj(図13参照)から既述のようにして、対応トランザクションデータTDn+1に基づき対象単位作業につき完成許可を得るための作業が行われ(図6、図7参照)、その作業に基づき当該ノードコンピュータに対し、各完成承認者Scjによる完成許可を示す通知または入力操作が行われる。この完成承認の取得処理は、当該承認者情報ASで特定される全ての完成承認者Scjから完成許可を得るまで繰り返される(ステップS54,S56)。当該承認者情報ASで特定される全ての完成承認者Scjから完成許可が得られると、対象単位作業の完成が承認されたとみなしてステップS57へ進む。 Next, the process of obtaining the completion approval of the target unit work is executed (step S54). In this acquisition process, as described above from each completed approver Scj (see FIG. 13) specified by the approver information AS included in the corresponding transaction data TDn + 1, the target unit is based on the corresponding transaction data TDn + 1. The work for obtaining the completion permission is performed for the work (see FIGS. 6 and 7), and based on the work, the node computer is notified or input operation indicating the completion permission by each completion approver Scj. This completion approval acquisition process is repeated until completion permission is obtained from all completion approvers Scj specified in the approver information AS (steps S54 and S56). When the completion permission is obtained from all the completion approvers Scj specified in the approver information AS, it is considered that the completion of the target unit work has been approved, and the process proceeds to step S57.

ステップS57では、対応トランザクションデータTDn+1を含むブロックを本実施形態におけるブロックチェーンに追加するためのナンス値を求める。すなわち、既述の生産管理準備データ(ステップS22参照)で特定されるハッシュ関数を使用したときのハッシュ値が下記の条件HPを満たすようにナンス値を求める(このようなナンス値を求める問題は「ハッシュパズル」呼ばれる)。
(条件HP):トランザクションハッシュ値THSn+1と直前ハッシュ値とナンス値との組み合わせを入力値としたときのハッシュ関数の出力値であるハッシュ値が所定値以下である(例えば出力値の所定上位ビットが“0”である)。ここでの直前ハッシュ値は、現時点の最新ブロックヘッダであるn番目のブロックヘッダBLKnにおけるトランザクションハッシュ値THAnと直前ハッシュ値PHSnとナンス値NSnとの組み合わせを入力値としたときのハッシュ関数の出力値である。
In step S57, the nonce value for adding the block including the corresponding transaction data TDn + 1 to the blockchain in the present embodiment is obtained. That is, the nonce value is obtained so that the hash value when the hash function specified in the above-mentioned production control preparation data (see step S22) satisfies the following condition HP (the problem of obtaining such a nonce value is Called a "hash puzzle").
(Condition HP): The hash value, which is the output value of the hash function when the combination of the transaction hash value THSn + 1 and the immediately preceding hash value and the nonce value is used as the input value, is equal to or less than the predetermined value (for example, the predetermined upper level of the output value). The bit is "0"). The immediately preceding hash value here is the output value of the hash function when the combination of the transaction hash value THAn, the immediately preceding hash value PHSn, and the nonce value NSn in the nth block header BLKn, which is the latest block header at the present time, is used as the input value. Is.

上記の条件HPを満たすナンス値が求められると、対応トランザクションデータTDn+1による自ブロックチェーン構成データの更新を行う(ステップS58)。すなわち、当該ノードコンピュータの自ブロックチェーン構成データにつき下記の処理を行う。 When a nonce value satisfying the above condition HP is obtained, the own blockchain configuration data is updated by the corresponding transaction data TDn + 1 (step S58). That is, the following processing is performed on the own blockchain configuration data of the node computer.

いま、ステップS58における自ブロックチェーン構成データの更新の直前において、当該自ブロックチェーン構成データが図11(A)に示すようにブロックヘッダBLK1〜BLKnが順に連結された状態であるものとする。このときステップS58では、まず、対応トランザクションデータTDn+1を共有記憶部123(サーバとして機能する生産管理コンピュータ10の補助記憶装置120における共有領域123(図3参照))に格納し、対応トランザクションデータTDn+1に対応するブロックヘッダBLKn+1を生成して自ブロックチェーン構成データに組み込む。ここでブロックヘッダBLKn+1は、次のようなデータを含むブロックヘッダとして生成される。すなわちブロックヘッダBLKn+1は、当該自ブロックチェーン構成データの更新直前の最新ブロックヘッダすなわちn番目のブロックヘッダBLKnの位置を示すアドレス情報を直前参照PRFn+1として含み、そのn番目のブロックヘッダBLKnに含まれるトランザクションハッシュ値THSnと直前ハッシュ値PHSnとナンス値NSnとの組み合わせを入力値としたときのハッシュ関数の出力値を直前ハッシュ値PHSn+1として含み、対応トランザクションデータTDn+1の共有記憶部123における格納場所を示すアドレス情報をトランザクションアドレス値TADn+1として含み、対応トランザクションデータTDn+1を入力値としたときのハッシュ関数の出力値をトランザクションアドレス値TADn+1として含む。その後、最新参照RRFとして、n+1番目のブロックヘッダBLKn+1の位置を示すアドレス情報を設定する。このようにして、自ブロックチェーン構成データは、図11(A)に示す構成から図11(B)に示す構成に更新される。 Immediately before the update of the own blockchain configuration data in step S58, it is assumed that the own blockchain configuration data is in a state in which the block headers BLK1 to BLKn are sequentially connected as shown in FIG. 11A. At this time, in step S58, first, the corresponding transaction data TDn + 1 is stored in the shared storage unit 123 (shared area 123 (see FIG. 3) in the auxiliary storage device 120 of the production management computer 10 functioning as a server), and the corresponding transaction data is stored. The block header BLKn + 1 corresponding to TDn + 1 is generated and incorporated into the own blockchain configuration data. Here, the block header BLKn + 1 is generated as a block header containing the following data. That is, the block header BLKn + 1 includes the address information indicating the position of the latest block header immediately before the update of the own blockchain configuration data, that is, the nth block header BLKn, as the immediately preceding reference PRFn + 1, and the nth block header BLKn + 1. The output value of the hash function when the combination of the transaction hash value THSn, the immediately preceding hash value PHSn, and the nonce value NSn included in is used as the input value is included as the immediately preceding hash value PHSn + 1, and the corresponding transaction data TDn + 1 is shared and stored. The address information indicating the storage location in the unit 123 is included as the transaction address value TADn + 1, and the output value of the hash function when the corresponding transaction data TDn + 1 is used as the input value is included as the transaction address value TADn + 1. After that, as the latest reference RRF, the address information indicating the position of the n + 1th block header BLKn + 1 is set. In this way, the own blockchain configuration data is updated from the configuration shown in FIG. 11A to the configuration shown in FIG. 11B.

上記のような自ブロックチェーン構成データの更新後、当該ノードコンピュータは、対応トランザクションデータTDn+1についてのブロックチェーンの更新権限者として、上記ステップS58において追加されたブロックヘッダBLKn+1に対応する直前ハッシュ値PHSn+1、ナンス値NSn+1、トランザクションハッシュ値THSn+1、およびトランザクションアドレス値TADn+1を含むブロック追加通知を、図1の分散システムにおける他のノードコンピュータが取得できるように通信ネットワーク100に送出する(ステップS60)。 After updating the own blockchain configuration data as described above, the node computer immediately before corresponding to the block header BLKn + 1 added in step S58 as the blockchain update authority for the corresponding transaction data TDn + 1. Communication network so that other node computers in the distributed system of FIG. 1 can obtain block addition notifications including hash value PHSn + 1, nonce value NSn + 1, transaction hash value THSn + 1, and transaction address value TADn + 1. Send to 100 (step S60).

その後、ステップS34へ戻り、ブロック追加通知の受領に基づき自ブロックチェーン構成データを更新した場合(ステップS26→S32)と同様、ステップS34以降の処理を実行する。 After that, the process returns to step S34, and the processes after step S34 are executed in the same manner as when the own blockchain configuration data is updated based on the receipt of the block addition notification (step S26 → S32).

上記のようにして、図1の分散システムにおける各ノードコンピュータが生産管理プログラム121に基づき図9の本体処理を行うことにより、当該分散システムにおいて、トランザクション生成部(ステップS40参照)、着工承認取得部(ステップS42〜S44参照)、着工指示発行部(ステップS46参照)、作業結果受領部(ステップS48〜S50参照)、完成承認取得部(ステップS52〜S56参照)、ブロックチェーン更新部(ステップS26,S32,S57〜S60参照)、および、後続実行設定部(S34,S36参照)が実現され、当該分散システムはブロックチェーンを利用した生産管理システムとして機能する。なお、ブロックチェーン更新部は、新たなブロックの生成に基づき自ブロックチェーン構成データを更新するブロック生成更新部(ステップS57〜S58)と、ブロック追加通知を送出するブロック追加通知部(ステップS60)、他のノードコンピュータから送出されたブロック追加通知の受信に基づき自ブロックチェーン構成データを更新するブロック受信更新部(ステップS26,S32)とを含む。 As described above, each node computer in the distributed system of FIG. 1 performs the main body processing of FIG. 9 based on the production control program 121, so that the transaction generation unit (see step S40) and the construction start approval acquisition unit are performed in the distributed system. (See steps S42 to S44), construction start instruction issuing section (see steps S46), work result receiving section (see steps S48 to S50), completion approval acquisition section (see steps S52 to S56), blockchain updating section (steps S26, S32, S57 to S60) and the subsequent execution setting unit (see S34, S36) are realized, and the distributed system functions as a production control system using a blockchain. The blockchain update unit includes a block generation update unit (steps S57 to S58) that updates its own blockchain configuration data based on the generation of a new block, and a block addition notification unit (step S60) that sends a block addition notification. It includes a block reception update unit (steps S26 and S32) that updates the own blockchain configuration data based on the reception of the block addition notification sent from another node computer.

<1.4 効果>
上記のように本実施形態によれば、生産管理のために各単位作業(図5に示す例では、調達、品質管理、生産工程1、生産工程2のそれぞれ)を管理するための情報である着工情報および完成情報を含むトランザクションデータTDk(k=1,2,…)が、受注した製品の製造のための作業の進行にしたがって生産管理の対象としての単位作業の実行順に(図13参照)、ブロックチェーンの形態で記録されていく(図11参照)。また、各単位作業に対応するトランザクションデータTDkは、当該単位作業に応じて予め決められた着工承認者による着工許可および完成承認者による完成許可を得た後に、当該トランザクションデータTDkを含むブロックがブロックチェーンに追加される。このため、生産管理のための情報として信頼性の高い適正な情報(各トランザクションデータTDk)が改竄困難な形態で記録される。すなわち、図11に示すような形態で各トランザクションデータを含むブロックチェーンでは、ブロックヘッダBLKkのハッシュ値が直後のブロックヘッダBLKk+1に直前ハッシュ値PHSk+1として含まれているので、当該ブロックヘッダBLKkに対応するトランザクションデータTDkが改竄された場合には、その改竄を容易に検出することができる。一方、最新ブロックヘッダBLKnに先行する途中のブロックヘッダBLKk(k<n)のトランザクションデータTDkが改竄される場合、その改竄が検出されないようにナンス値や直前ハッシュ値を変更しようとすると、当該ブロックヘッダBLKkにつき既述のハッシュパズルを解くだけでなく、当該ブロックヘッダBLKkに後続する全てのブロックヘッダBLKk+1,BLKk+2,…,BLKnにつきハッシュパズルを解くことが必要となるので、ブロックチェーンにおけるトランザクションデータの改竄は困難である。
<1.4 Effect>
As described above, according to the present embodiment, it is information for managing each unit work (in the example shown in FIG. 5, each of procurement, quality control, production process 1 and production process 2) for production control. Transaction data TDk (k = 1, 2, ...) Containing construction start information and completion information is in the order of execution of unit work as a target of production control according to the progress of work for manufacturing the ordered product (see FIG. 13). , Recorded in the form of a blockchain (see FIG. 11). Further, the transaction data TDk corresponding to each unit work is blocked by the block including the transaction data TDk after obtaining the construction start permission by the construction start approver and the completion permission by the completion approver determined in advance according to the unit work. Added to the chain. Therefore, highly reliable and appropriate information (each transaction data TDk) is recorded as information for production control in a form that is difficult to falsify. That is, in the block chain including each transaction data in the form shown in FIG. 11, since the hash value of the block header BLKk is included in the immediately following block header BLKk + 1 as the immediately preceding hash value PHSk + 1, the block header When the transaction data TDk corresponding to BLKk is falsified, the falsification can be easily detected. On the other hand, when the transaction data TDk of the block header BLKk (k <n) in the middle preceding the latest block header BLKn is tampered with, if the nonce value or the immediately preceding hash value is changed so that the tampering is not detected, the block concerned. Since it is necessary not only to solve the hash puzzle described above for the header BLKk, but also to solve the hash puzzle for all the block headers BLKk + 1, BLKk + 2, ..., BLKn following the block header BLKk, the blockchain It is difficult to falsify the transaction data in.

また、生産管理のための上記情報を記録するブロックチェーンを構成するデータのうち、トランザクションデータTD1,TD2,…は、サーバとして機能する生産管理コンピュータ10内の共有記憶部(共有領域)123に格納されるが(図3、図10参照)、ブロックヘッダを連結して構成される自ブロックチェーン構成データは、分散システムを構成する各ノードコンピュータ(図1参照)に保持され、かつ、各ノードコンピュータにおける自ブロックチェーン構成データは一貫性を維持しつつ更新される(図9参照)。このため、本実施形態に係る生産管理システムは、その全体を制御または調整する部分を必要とすることなく、また当該システムの構成要素として、トランザクションデータを格納するサーバとしてのコンピュータ以外は特に信頼性の高いコンピュータや通信ネットワークを使用しなくても、高い信頼性を維持しつつ高稼働率で連続的に動作することができる。したがって、例えばインターネットで相互に接続されたパソコン等のコンピュータや情報処理装置を用いて生産管理システムを実現することが可能であり、製品の製造に必要な部材の購入先や製造場所が異なる企業や国に跨がっている場合であっても当該製造のための部品の物流管理や工程管理を高い信頼性を維持しつつ効率よく行うことができる。また、高度に制御されたシステムや調整する部分が無く、上記サーバとしてのコンピュータ以外は信頼性の高いコンピュータやネットワークを使用することなく、堅牢な生産情報データベースの構築が可能となり権限を有する者がデータの管理や工程の進捗確認を行うことができる。また、資本関係がない組織体間のEDIシステムとして使用してもよい。 Further, among the data constituting the blockchain for recording the above information for production management, the transaction data TD1, TD2, ... Are stored in the shared storage unit (shared area) 123 in the production management computer 10 functioning as a server. However, the own blockchain configuration data configured by concatenating the block headers is held in each node computer (see FIG. 1) constituting the distributed system, and each node computer. The own blockchain configuration data in is updated while maintaining consistency (see FIG. 9). Therefore, the production control system according to the present embodiment does not require a part that controls or adjusts the entire system, and is particularly reliable except for a computer as a server that stores transaction data as a component of the system. It can operate continuously at a high operating rate while maintaining high reliability without using a high-performance computer or communication network. Therefore, for example, it is possible to realize a production control system by using a computer such as a personal computer or an information processing device connected to each other via the Internet, and a company or a company having a different purchase source or manufacturing place of parts necessary for manufacturing a product. Even if it spans countries, it is possible to efficiently manage the distribution and process of parts for the manufacturing while maintaining high reliability. In addition, there is no highly controlled system or adjustment part, and it is possible to build a robust production information database without using a highly reliable computer or network other than the computer as the above server, and those who have authority You can manage data and check the progress of the process. It may also be used as an EDI system between organizations that do not have a capital relationship.

また本実施形態によれば、ブロックチェーンを構成する各ブロックに含まれるトランザクションデータTDkは、いずれも共有記憶部123にのみ格納されるので、ブロックチェーンを利用した生産管理システムにおいて必要な記憶容量を低減することができる。 Further, according to the present embodiment, since the transaction data TDk included in each block constituting the blockchain is stored only in the shared storage unit 123, the storage capacity required in the production control system using the blockchain can be obtained. Can be reduced.

<2.第2の実施形態>
上記第1の実施形態では、生産管理の対象となる各単位作業の開始指示およびそれに基づく対応トランザクションデータの生成は、生産管理システムとしての分散システムにおけるいずれのノードコンピュータにおいても行うことができる(図9参照)。図1および図5に示す例では、生産管理の対象となる作業を構成する単位作業(調達、品質管理、生産工程1、生産工程2)と分散システムにおけるノードコンピュータ11,15,17a,17bとを対応付けることができることから、各単位作業に対応するトランザクションデータを生成するコンピュータが予め決められていてもよい。そこで以下では、各単位作業に対応するトランザクションデータを生成するコンピュータが予め決められている生産管理システムを本発明の第2の実施形態として説明する。
<2. Second embodiment>
In the first embodiment described above, the start instruction of each unit work subject to production control and the generation of the corresponding transaction data based on the instruction can be performed on any node computer in the distributed system as the production control system (Fig.). 9). In the examples shown in FIGS. 1 and 5, the unit work (procurement, quality control, production process 1, production process 2) constituting the work subject to production control and the node computers 11, 15, 17a, 17b in the distributed system Can be associated with each other, so that a computer that generates transaction data corresponding to each unit work may be determined in advance. Therefore, in the following, a production control system in which a computer for generating transaction data corresponding to each unit work is predetermined will be described as a second embodiment of the present invention.

本実施形態においても、上記第1の実施形態と同様、図1および図2に示す分散システムにおいて、当該分散システムを構成する各ノードコンピュータが所定のプログラムを実行することにより、上記と同様の機能を有する生産管理システムが実現される。また、各単位作業に対応するトランザクションデータに基づく着工許可および完成許可を得るための作業や処理も上記第1の実施形態と同様である(図6、図7参照)。しかし、本実施形態において当該分散システム(図1)を構成するコンピュータのうち、生産管理コンピュータ10が実行する生産管理前処理プログラムおよび各ノードコンピュータ10,11,13a,13b,…,15,17a,17b,…が実行する生産管理プログラム121が、上記第1の実施形態における対応するプログラム(図8、図9参照)と異なり、これに応じて、単位作業の実行順(トランザクションの起動順)を特定するとともに各トランザクションデータのテンプレートを保持するためのデータ構造すなわち生産管理データ構造も上記第1の実施形態におけるデータ構造(図13)と相違する。本実施形態におけるこれら以外の構成については上記第1の実施形態と同様であるので、同一または対応する部分に同一の参照符号を付して詳しい説明を省略する。以下では、本実施形態における構成および動作のうち生産管理のためのプログラムと当該プログラムに基づく生産管理前処理および生産管理本体処理を中心に説明する。 Also in the present embodiment, as in the first embodiment, in the distributed system shown in FIGS. 1 and 2, each node computer constituting the distributed system executes a predetermined program to have the same function as described above. A production control system with Further, the work and processing for obtaining the construction start permission and the completion permission based on the transaction data corresponding to each unit work are the same as those in the first embodiment (see FIGS. 6 and 7). However, among the computers constituting the distributed system (FIG. 1) in the present embodiment, the production control preprocessing program executed by the production control computer 10 and each node computer 10, 11, 13a, 13b, ..., 15, 17a, The production control program 121 executed by 17b, ... is different from the corresponding program (see FIGS. 8 and 9) in the first embodiment, and the unit work execution order (transaction activation order) is set accordingly. The data structure for specifying and holding the template of each transaction data, that is, the production control data structure is also different from the data structure (FIG. 13) in the first embodiment. Since the configurations other than these in the present embodiment are the same as those in the first embodiment, the same reference numerals are given to the same or corresponding parts, and detailed description thereof will be omitted. In the following, among the configurations and operations in the present embodiment, a program for production control, production control preprocessing based on the program, and production control main body processing will be mainly described.

<2.1 生産管理のためのプログラムおよび処理>
本実施形態においても、受注した製品の設計情報に基づき生産管理に必要な生産情報を生成して各ノードコンピュータに与えるために、図1の分散システムにおける生産管理コンピュータ10が生産管理前処理プログラムを実行する。また本実施形態においても、図1の分散システムにおける各ノードコンピュータ10,11,13a,13b,…,15,17a,17b,…が生産管理プログラムを実行することにより、製品の製造に必要な部材の手配のための物流管理および当該部材を用いた製造のための工程管理を行う生産管理のためのブロックチェーンが当該分散システムにおいて形成され、当該分散システムは、このブロックチェーンを用いて製品を製造するための生産管理システムとして機能する。
<2.1 Programs and processes for production control>
Also in this embodiment, in order to generate production information necessary for production control based on the design information of the ordered product and give it to each node computer, the production control computer 10 in the distributed system of FIG. 1 provides a production control preprocessing program. Execute. Further, also in the present embodiment, each node computer 10, 11, 13a, 13b, ..., 15, 17a, 17b, ... In the distributed system of FIG. 1 executes a production control program to be a member necessary for manufacturing a product. A blockchain for production control that performs distribution control for arranging goods and process control for manufacturing using the parts is formed in the distributed system, and the distributed system manufactures products using the blockchain. It functions as a production control system for this purpose.

図14は、本実施形態における生産管理前処理の手順を示すフローチャートである。この生産管理前処理は、図1に示す分散システムにおいて生産管理コンピュータ10が生産管理前処理プログラムに基づき行う処理であり、当該分散システムにおいて生産管理のためのブロックチェーンを形成するための準備に相当する。生産管理コンピュータ10は、この生産管理前処理プログラムに基づき下記のように動作する。 FIG. 14 is a flowchart showing a procedure of production control preprocessing in the present embodiment. This production control preprocessing is a process performed by the production control computer 10 based on the production control preprocessing program in the distributed system shown in FIG. 1, and corresponds to preparation for forming a blockchain for production control in the distributed system. To do. The production control computer 10 operates as follows based on this production control preprocessing program.

まず、上記第1の実施形態と同様(図8参照)、受注した製品の設計情報に基づき作成された調達部品表(BOM)(P5)、品質工程手順書(P8)、生産工程1および2のための工程手順書(P11,P13)から当該製品のための生産情報を作成し(ステップS12)、その生産情報を、図1の分散システムにおける各ノードコンピュータが取得できるように通信ネットワーク100に送出する(ステップS14)。 First, as in the first embodiment (see FIG. 8), the procurement parts list (BOM) (P5), the quality process procedure manual (P8), the production processes 1 and 2 created based on the design information of the ordered product. Production information for the product is created from the process procedure manuals (P11, P13) for the above (step S12), and the production information is transferred to the communication network 100 so that each node computer in the distributed system of FIG. 1 can acquire the production information. Send (step S14).

その後、上記生産情報に基づき下記データ(e1)〜(e3)を作成し、下記データ(e1)〜(e3)を各ノードコンピュータが取得できるように通信ネットワーク100に送出する。すなわち下記データ(e1)〜(e3)をブロードキャストする(以下、これらのデータ(e1)〜(e3)を総称して「生産管理準備データ」という)。
(e1)各トランザクションデータのテンプレートTP1〜TP4(図16)
(e2)ブロックチェーンの形成に必要な準備データ(図11)
(e3)トランザクションの起動順を示す順序データ
After that, the following data (e1) to (e3) are created based on the above production information, and the following data (e1) to (e3) are transmitted to the communication network 100 so that each node computer can acquire the following data (e1) to (e3). That is, the following data (e1) to (e3) are broadcast (hereinafter, these data (e1) to (e3) are collectively referred to as "production control preparation data").
(E1) Templates TP1 to TP4 for each transaction data (FIG. 16)
(E2) Preparation data required for blockchain formation (Fig. 11)
(E3) Order data indicating the transaction activation order

これらの生産管理準備データ(e1)〜(e3)は、上記第1の実施形態における生産管理準備データ(d1)〜(d3)にそれぞれ相当する。しかし本実施形態では、各単位作業に対応するトランザクションデータを生成するコンピュータは、予め決められており、図16に示す生産管理データ構造におけるテーブルTBLにおいて特定されている。なお、このテーブルTBLで特定されている調達管理コンピュータ(Node1)、品質管理コンピュータ(Node2)、製造管理コンピュータ(Node3)、製造管理コンピュータ(Node4)は、図1に示す調達管理コンピュータ11、品質管理コンピュータ15、第1製造管理コンピュータ17a、第2製造管理コンピュータ17bにそれぞれ相当する。 These production control preparation data (e1) to (e3) correspond to the production control preparation data (d1) to (d3) in the first embodiment, respectively. However, in the present embodiment, the computer that generates the transaction data corresponding to each unit work is predetermined and is specified in the table TBL in the production control data structure shown in FIG. The procurement management computer (Node1), quality control computer (Node2), manufacturing control computer (Node3), and manufacturing control computer (Node4) specified in this table TBL are the procurement management computer 11 and quality control shown in FIG. It corresponds to the computer 15, the first manufacturing control computer 17a, and the second manufacturing control computer 17b, respectively.

上記生産管理準備データ(e1)〜(e3)が通信ネットワーク100に送出された後、それらの生産管理準備データ(e1)〜(e3)のうち順序データに基づき、最初に実行すべき単位作業に対応するトランザクションデータを生成すべきノードコンピュータに対し、当該単位作業の開始指示を送信する(ステップS18)。図16に示す例では、調達管理コンピュータ11に対し単位作業としての調達の開始指示を送信する。このような最初に実行すべき単位作業の開始指示の送信の後、生産管理前処理を終了する。 After the production control preparation data (e1) to (e3) are sent to the communication network 100, the unit work to be executed first is performed based on the order data of the production control preparation data (e1) to (e3). A start instruction for the unit work is transmitted to the node computer for which the corresponding transaction data should be generated (step S18). In the example shown in FIG. 16, a procurement start instruction as a unit work is transmitted to the procurement management computer 11. After the transmission of the instruction to start the unit work to be executed first, the production control preprocessing is terminated.

図15は、本実施形態における分散システム(図1)を構成する各ノードコンピュータにおいて生産管理のために行われる生産管理本体処理(以下「本体処理」と略記する)を示すフローチャートである。この本体処理は、上記第1の実施形態と同様、図1に示す分散システムにおけるノードコンピュータ(生産管理コンピュータ10を含む)のそれぞれが生産管理プログラム121を実行することにより実現され、この本体処理により、各ノードコンピュータに保持されるべき自ブロックチェーン構成データおよび共有記憶部123に格納されるべきトランザクションデータが生成され更新されることで、生産管理のためのブロックチェーンが図1の分散システムにおいて形成され更新される。しかし本実施形態では、各単位作業に対応するトランザクションデータを生成するコンピュータが予め決められていることから、この生産管理プログラム121は、上記第1の実施形態における生産管理プログラム121と異なる。各ノードコンピュータは、本実施形態における生産管理プログラムに基づき下記のように動作する。以下、1つのノードコンピュータに着目して、本実施形態における生産管理プログラムに基づく本体処理につき図15を参照して説明する。 FIG. 15 is a flowchart showing a production control main body process (hereinafter abbreviated as “main body process”) performed for production control in each node computer constituting the distributed system (FIG. 1) in the present embodiment. Similar to the first embodiment, this main body processing is realized by each of the node computers (including the production control computer 10) in the distributed system shown in FIG. 1 executing the production control program 121, and this main body processing , The blockchain for production control is formed in the distributed system of FIG. 1 by generating and updating the own blockchain configuration data to be held in each node computer and the transaction data to be stored in the shared storage unit 123. Will be updated. However, in the present embodiment, since the computer that generates the transaction data corresponding to each unit work is predetermined, the production control program 121 is different from the production control program 121 in the first embodiment. Each node computer operates as follows based on the production control program in this embodiment. Hereinafter, focusing on one node computer, the main body processing based on the production control program in the present embodiment will be described with reference to FIG.

まず、当該ノードコンピュータは、生産管理コンピュータ10から通信ネットワーク100に送出された生産情報(図14のステップS14参照)および生産管理準備データ(図14のステップS16参照)を受け取る(ステップS62)。 First, the node computer receives the production information (see step S14 in FIG. 14) and the production control preparation data (see step S16 in FIG. 14) sent from the production control computer 10 to the communication network 100 (step S62).

次に、ブロック追加通知を受け取ったか否かを判定し(ステップS64)、ブロック追加通知を受け取っていなければステップS66へ進み、単位作業の開始指示が行われたか否かを判定する。その判定の結果、単位作業の開始指示が行われていない場合にはステップS64へ戻る。以降、ブロック追加通知を受け取らず単位作業の開始指示も行われない間、ステップS64→ステップS66を繰り返し実行する。 Next, it is determined whether or not the block addition notification has been received (step S64), and if the block addition notification has not been received, the process proceeds to step S66 to determine whether or not the unit work start instruction has been given. As a result of the determination, if the unit work start instruction has not been given, the process returns to step S64. After that, step S64 → step S66 is repeatedly executed while the block addition notification is not received and the unit work start instruction is not given.

上記のようにステップS64→ステップS66を繰り返し実行している間に、ブロック追加通知を受け取ると(ステップS64でYesと判定されると)、ステップS68へ進み、自ブロックチェーン構成データを更新する。この自ブロックチェーン構成データの更新における具体的な処理は上記第1の実施形態と同様である(図11参照)。 If a block addition notification is received while the steps S64 → S66 are repeatedly executed as described above (if it is determined to be Yes in step S64), the process proceeds to step S68 and the own blockchain configuration data is updated. The specific processing in updating the own blockchain configuration data is the same as that in the first embodiment (see FIG. 11).

上記自ブロックチェーン構成データの更新後は、ステップS62で入力された生産情報に基づく図12または図16に示すデータを参照して、実行可能な単位作業の有無を判定する(ステップS70)。この判定の結果、実行可能な単位作業がある場合には、ステップS64へ戻る。一方、この判定の結果、実行可能な単位作業がなければ、本実施形態において生産管理の対象となる全ての単位作業に対応するトランザクションは全て起動されたことになる。すなわち、1つの製品の生産管理のための当該ノードコンピュータでの本体処理が終了したことになる。そこで、ステップS62へ戻り、次に製造すべき製品に関する生産情報を受け取るまでステップS62で待機する。 After updating the own blockchain configuration data, it is determined whether or not there is a feasible unit work by referring to the data shown in FIG. 12 or FIG. 16 based on the production information input in step S62 (step S70). As a result of this determination, if there is a unit work that can be executed, the process returns to step S64. On the other hand, as a result of this determination, if there is no feasible unit work, all transactions corresponding to all the unit work subject to production control in the present embodiment have been started. That is, the main body processing in the node computer for the production control of one product is completed. Therefore, the process returns to step S62, and the process waits in step S62 until the production information regarding the next product to be manufactured is received.

上記のようにステップS64→ステップS66を繰り返し実行している間に、ステップS66において他のノードコンピュータから単位作業の開始指示を受け取ると、ステップS72へ進む(以下では、ここで開始指示を受け取った単位作業を「対象単位作業」という)。なお、後述のように各ノードコンピュータからの単位作業の開始指示は、当該単位作業に対して予め決められたノードコンピュータに対して発行される(ステップS102)。したがって、図16に示すテーブルTBLからわかるように、当該ノードコンピュータが調達管理コンピュータ11(Node1)である場合には調達の開始指示を受け取り、品質管理コンピュータ15(Node2)である場合には品質管理の開始指示を受け取り、第1製造管理コンピュータ17a(Node3)である場合には生産工程1の開始指示を受け取り、第2製造管理コンピュータ17b(Node4)である場合には生産工程2の開始指示を受け取る。 If a unit work start instruction is received from another node computer in step S66 while the steps S64 → step S66 are being repeatedly executed as described above, the process proceeds to step S72 (hereinafter, the start instruction is received here). Unit work is called "target unit work"). As will be described later, a unit work start instruction from each node computer is issued to a node computer predetermined for the unit work (step S102). Therefore, as can be seen from the table TBL shown in FIG. 16, when the node computer is the procurement management computer 11 (Node 1), the procurement start instruction is received, and when the node computer is the quality control computer 15 (Node 2), the quality control is received. In the case of the first manufacturing control computer 17a (Node 3), the start instruction of the production process 1 is received, and in the case of the second manufacturing control computer 17b (Node 4), the start instruction of the production process 2 is received. receive.

ステップS72では、ステップS62で入力された生産情報および自ブロックチェーン構成データにおける最新ブロックヘッダ(以下この最新ブロックヘッダも符号“BLKn”で示すものとする)に含まれるトランザクションデータTDnを参照して、対象単位作業の着工情報を取得する。この着工情報は、上記第1の実施形態における着工情報と同じであるので、説明を省略する(図12参照)。 In step S72, the transaction data TDn included in the latest block header in the production information and own blockchain configuration data input in step S62 (hereinafter, this latest block header is also referred to by the reference numeral “BLKn”) is referred to. Target unit Acquire construction start information for work. Since this construction start information is the same as the construction start information in the first embodiment, the description thereof will be omitted (see FIG. 12).

次に、図16に示す生産管理データ構造に基づき、取得された着工情報を対象単位作業(図12参照)に対応するテンプレートTPn+1に組み込むことにより、対象単位作業に対応するトランザクションデータ(以下「対応トランザクションデータ」という)TDn+1を生成する(ステップS74)。 Next, based on the production control data structure shown in FIG. 16, by incorporating the acquired construction start information into the template TPn + 1 corresponding to the target unit work (see FIG. 12), the transaction data corresponding to the target unit work (hereinafter referred to as Generate TDn + 1 (referred to as “corresponding transaction data”) (step S74).

次に、対象単位作業の着工承認の取得処理を実行する(ステップS76)。この着工承認の取得処理は、上記第1の実施形態と同様であるので説明を省略する(図6、図7参照)。この着工承認の取得処理は、対象単位作業に対応するテンプレートTPi(図16参照)における承認者情報ASで特定される全ての着工承認者Ssjから着工許可を得るまで繰り返される(ステップS76,S78)。当該承認者情報ASで特定される全ての着工承認者Ssjから着工許可が得られると、対象単位作業の着手が承認されたとみなしてステップS80へ進む。 Next, the process of obtaining the start approval of the target unit work is executed (step S76). Since the process of obtaining the construction start approval is the same as that of the first embodiment, the description thereof will be omitted (see FIGS. 6 and 7). This process of obtaining the construction start approval is repeated until the construction start permission is obtained from all the construction start approvers Ssj specified by the approver information AS in the template TPi (see FIG. 16) corresponding to the target unit work (steps S76 and S78). .. When the construction start permission is obtained from all the construction start approvers Ssj specified in the approver information AS, it is considered that the start of the target unit work has been approved, and the process proceeds to step S80.

ステップS80では、対象単位作業の着工指示を発行する。この着工指示の発行により、対象単位作業が開始される。すなわち、上記第1の実施形態と同様、対象単位作業が調達、品質管理、生産工程1、生産工程2のいずれであるかに応じて、対応する部門の担当者やコンピュータ等が既述の作業または処理を行う(図5参照)。 In step S80, a construction start instruction for the target unit work is issued. By issuing this construction start instruction, the target unit work is started. That is, as in the first embodiment, depending on whether the target unit work is procurement, quality control, production process 1, or production process 2, the person in charge of the corresponding department, the computer, or the like has already described the work. Alternatively, processing is performed (see FIG. 5).

対象単位作業に相当する既述の作業または処理が終了すると、当該ノードコンピュータは、対象単位作業の終了通知を受け取り(ステップS82)、その後、対象単位作業の結果情報を取得し(ステップS84)、取得された結果情報を対応トランザクションデータTDn+1に完成情報として組み込む(ステップS86)。これらのステップS82〜86の具体的な処理は、上記第1の実施形態と同様であるので(図9のステップS48〜S52参照)説明を省略する。 When the above-mentioned work or process corresponding to the target unit work is completed, the node computer receives the completion notification of the target unit work (step S82), and then acquires the result information of the target unit work (step S84). The acquired result information is incorporated into the corresponding transaction data TDn + 1 as completion information (step S86). Since the specific processing of these steps S82 to 86 is the same as that of the first embodiment (see steps S48 to S52 of FIG. 9), the description thereof will be omitted.

次に、対象単位作業の完成承認の取得処理を実行する(ステップS88)。この完成承認の取得処理は、上記第1の実施形態と同様であるので説明を省略する(図6、図7参照)。この完成承認の取得処理は、対象単位作業に対応するテンプレートTPi(図16参照)における承認者情報ASで特定される全ての完成承認者Scjから完成許可を得るまで繰り返される(ステップS88,S90)。当該承認者情報ASで特定される全ての完成承認者Scjから完成許可が得られると、対象単位作業の完成が承認されたとみなしてステップS92へ進む。 Next, the process of obtaining the completion approval of the target unit work is executed (step S88). Since the process of obtaining the completion approval is the same as that of the first embodiment, the description thereof will be omitted (see FIGS. 6 and 7). This completion approval acquisition process is repeated until completion permission is obtained from all completion approvers Scj specified in the approver information AS in the template TPi (see FIG. 16) corresponding to the target unit work (steps S88 and S90). .. When the completion permission is obtained from all the completion approvers Scj specified in the approver information AS, it is considered that the completion of the target unit work has been approved, and the process proceeds to step S92.

ステップS92では、対応トランザクションデータTDn+1を含むブロックを本実施形態におけるブロックチェーンに追加するためのナンス値を求め(ステップS92)、このナンス値を用いて対応トランザクションデータTDn+1による自ブロックチェーン構成データの更新(対応トランザクションデータTDn+1を含むブロックの追加)を行う(ステップS94)。このとき対応トランザクションデータTDn+1は、共有記憶部123に格納され、自ブロックチェーン構成データには含まれない。これらのステップS92,S94の具体的な処理は、上記第1の実施形態と同様であるので(図9のステップS57,S58、図11参照)説明を省略する。 In step S92, a nonce value for adding a block containing the corresponding transaction data TDn + 1 to the block chain in the present embodiment is obtained (step S92), and the nonce value is used to obtain the own block chain based on the corresponding transaction data TDn + 1. Update the configuration data (add a block containing the corresponding transaction data TDn + 1) (step S94). At this time, the corresponding transaction data TDn + 1 is stored in the shared storage unit 123 and is not included in the own blockchain configuration data. Since the specific processing of these steps S92 and S94 is the same as that of the first embodiment (see steps S57 and S58 of FIG. 9 and FIG. 11), the description thereof will be omitted.

上記のような自ブロックチェーン構成データの更新後、当該ノードコンピュータは、対応トランザクションデータTDn+1についてのブロックチェーンの更新権限者として、上記ステップS94において追加されたブロックヘッダTBLKn+1に対応する直前ハッシュ値PHSn+1、ナンス値NSn+1、トランザクションハッシュ値THSn+1、およびトランザクションアドレス値TADn+1を含むブロック追加通知を、図1の分散システムにおける他のノードコンピュータが取得できるように通信ネットワーク100に送出する(ステップS96)。 After updating the own blockchain configuration data as described above, the node computer immediately before corresponding to the block header TBLKn + 1 added in step S94 as the blockchain update authority for the corresponding transaction data TDn + 1. Communication network so that other node computers in the distributed system of FIG. 1 can obtain block addition notifications including hash value PHSn + 1, nonce value NSn + 1, transaction hash value THSn + 1, and transaction address value TADn + 1. Send to 100 (step S96).

その後、図16に示すテーブルTBLで特定される実行順(順序データ)に基づき、対象単位作業が最後の単位作業か否かを判定する(ステップS98)。この判定の結果、対象単位作業が最後の単位作業である場合には、本実施形態において生産管理の対象となる全ての単位作業に対応するトランザクションは全て起動されたことになる。すなわち、1つの製品の生産管理のための当該ノードコンピュータでの本体処理が終了したことになる。そこで、ステップS62へ戻り、次に製造すべき製品に関する生産情報を受け取るまでステップS62で待機する。 After that, based on the execution order (order data) specified in the table TBL shown in FIG. 16, it is determined whether or not the target unit work is the last unit work (step S98). As a result of this determination, when the target unit work is the last unit work, it means that all the transactions corresponding to all the unit work subject to the production control in the present embodiment have been started. That is, the main body processing in the node computer for the production control of one product is completed. Therefore, the process returns to step S62, and the process waits in step S62 until the production information regarding the next product to be manufactured is received.

ステップS98での判定の結果、対象単位作業が最後の単位作業でない場合には、図16に示すテーブルTBLで特定される実行順に基づき、対象単位作業の次に実行すべき単位作業を決定し(ステップS100)、決定した単位作業の開始指示を当該単位作業を実行すべきノードコンピュータに送信する(次の単位作業の開始指示の発行)(ステップS102)。その後、ステップS64へ戻り、それ以降の処理を再び実行する。 As a result of the determination in step S98, if the target unit work is not the last unit work, the unit work to be executed next to the target unit work is determined based on the execution order specified in the table TBL shown in FIG. Step S100), the determined unit work start instruction is transmitted to the node computer to execute the unit work (issue of the next unit work start instruction) (step S102). After that, the process returns to step S64, and the subsequent processes are executed again.

<2.2 効果>
上記のように本実施形態では、生産管理の対象となる各単位作業(図5に示す例では、調達、品質管理、生産工程1、生産工程2のそれぞれ)に対応するトランザクションデータを生成するコンピュータが予め決められているが(図16に示すテーブルTBL参照)、上記第1の実施形態と同様、各単位作業を管理するための情報である着工情報および完成情報を含むトランザクションデータTDk(k=1,2,…)が、受注した製品の製造のための作業の進行にしたがって生産管理の対象としての単位作業の実行順に(図5、図16参照)、ブロックチェーンの形態で記録されていく(図11参照)。また、上記第1の実施形態と同様、各単位作業に対応するトランザクションデータTDkは、当該単位作業に応じて予め決められた着工承認者による着工許可および完成承認者による完成許可を得た後に、当該トランザクションデータTDkを含むブロックがブロックチェーンに追加される。したがって、本実施形態も上記第1の実施形態と同様の効果を奏する。すなわち本実施形態によっても、製品の製造に必要な部材の購入先や製造場所が異なる企業や国に跨がっている場合であっても当該製造のための部品の物流管理および工程管理を高い信頼性を維持しつつ効率よく行うことができる。また、高度に制御されたシステムや調整する部分が無く、上記サーバとしてのコンピュータ以外は信頼性の高いコンピュータやネットワークを使用することなく、堅牢な生産情報データベースの構築が可能となる。また、資本関係がない組織体間のEDIシステムとして使用してもよい。さらにまた、ブロックチェーンを構成する各ブロックに含まれるトランザクションデータTDkは、いずれも共有記憶部123にのみ格納されるので、ブロックチェーンを利用した生産管理システムにおいて必要な記憶容量を低減することができる。
<2.2 effect>
As described above, in the present embodiment, the computer that generates transaction data corresponding to each unit work subject to production control (in the example shown in FIG. 5, each of procurement, quality control, production process 1 and production process 2). Is predetermined (see table TBL shown in FIG. 16), but as in the first embodiment, transaction data TDk (k =) including construction start information and completion information which are information for managing each unit work. 1, 2, ...) Are recorded in the form of a blockchain in the order of execution of unit work as the target of production control (see FIGS. 5 and 16) according to the progress of the work for manufacturing the ordered product. (See FIG. 11). Further, as in the first embodiment, the transaction data TDk corresponding to each unit work is obtained after obtaining the construction start permission by the construction start approver and the completion permission by the completion approver determined in advance according to the unit work. A block containing the transaction data TDk is added to the blockchain. Therefore, this embodiment also has the same effect as that of the first embodiment. That is, even in this embodiment, even if the supplier or manufacturing place of the parts required for manufacturing the product spans different companies or countries, the distribution control and process control of the parts for the manufacturing are high. It can be done efficiently while maintaining reliability. In addition, there is no highly controlled system or parts to be adjusted, and it is possible to construct a robust production information database without using a highly reliable computer or network other than the computer as the server. It may also be used as an EDI system between organizations that do not have a capital relationship. Furthermore, since the transaction data TDk included in each block constituting the blockchain is stored only in the shared storage unit 123, the storage capacity required in the production control system using the blockchain can be reduced. ..

<3.第3の実施形態>
上記第1および第2の実施形態では、ブロックチェーンを構成するデータのうち、トランザクションデータTD1,TD2,…は共有記憶部123にのみ格納されるが、ブロックヘッダBLK1,BLK2,…を連結して構成される自ブロックチェーン構成データは各ノードコンピュータに格納される(図10、図11参照)。しかし、ブロックチェーンを構成する全てのデータを共有記憶部123に格納してもよい。以下では、上記第1の実施形態において、各ノードコンピュータに格納されていた自ブロックチェーン構成データを共有ブロックチェーン構成データとして、共有記憶部123(生産管理コンピュータ10の補助記憶装置120における共有領域123)に格納するように変更した構成を、第3の実施形態として説明する。なお第3の実施形態では、トランザクションデータTD1,TD2,…が格納される共有記憶部(第1共有記憶部)と共有ブロックチェーン構成データが格納される共有記憶部(第2共有記憶部)とは同一の共有記憶部123であるが、トランザクションデータTD1,TD2,…と共有ブロックチェーン構成データとが、互いに異なる第1および第2共有記憶部にそれぞれ格納されるようにしてもよい(この点は後述の第4の実施形態においても同様である)。
<3. Third Embodiment>
In the first and second embodiments, the transaction data TD1, TD2, ... Of the data constituting the blockchain are stored only in the shared storage unit 123, but the block headers BLK1, BLK2, ... Are concatenated. The configured own blockchain configuration data is stored in each node computer (see FIGS. 10 and 11). However, all the data constituting the blockchain may be stored in the shared storage unit 123. In the following, in the first embodiment, the own blockchain configuration data stored in each node computer is used as the shared blockchain configuration data in the shared storage unit 123 (shared area 123 in the auxiliary storage device 120 of the production control computer 10). ) Will be described as the third embodiment. In the third embodiment, a shared storage unit (first shared storage unit) in which transaction data TD1, TD2, ... Is stored and a shared storage unit (second shared storage unit) in which shared blockchain configuration data is stored. Is the same shared storage unit 123, but the transaction data TD1, TD2, ... And the shared blockchain configuration data may be stored in different first and second shared storage units, respectively (this point). The same applies to the fourth embodiment described later).

本実施形態においても、上記第1の実施形態と同様、図1および図2に示す分散システムにおいて、当該分散システムを構成する各ノードコンピュータが所定のプログラムを実行することにより、上記と同様の機能を有する生産管理システムが実現される。また、各単位作業に対応するトランザクションデータに基づく着工許可および完成許可を得るための作業や処理も上記第1の実施形態と同様である(図6、図7参照)。しかし、本実施形態において当該分散システム(図1)を構成するノードコンピュータのうち、生産管理コンピュータ10は、上記第1の実施形態における生産管理前処理プログラムを実行するともに、上記第1の実施形態における生産管理プログラムに代えて後述のサーバ側生産管理プログラムを実行することで、サーバコンピュータ(以下、単に「サーバ」ともいう)として機能し、他のノードコンピュータは、上記第1の実施形態における生産管理プログラムに対応するプログラム(以下「クライアント側生産管理プログラム」という)を実行し、クライアントコンピュータ(以下、単に「クライアント」ともいう)として機能する。本実施形態におけるこれら以外の構成については上記第1の実施形態と同様であるので、同一または対応する部分に同一の参照符号を付して詳しい説明を省略する。以下では、本実施形態における構成および動作のうち、サーバとしての生産管理コンピュータ10で実行されるサーバ側生産管理プログラムに基づくサーバ側本体処理、および、各クライアントコンピュータで実行されるクライアント側生産管理プログラムに基づくクライアント側本体処理を中心に説明する。 Also in the present embodiment, as in the first embodiment, in the distributed system shown in FIGS. 1 and 2, each node computer constituting the distributed system executes a predetermined program to have the same function as described above. A production control system with Further, the work and processing for obtaining the construction start permission and the completion permission based on the transaction data corresponding to each unit work are the same as those in the first embodiment (see FIGS. 6 and 7). However, among the node computers constituting the distributed system (FIG. 1) in the present embodiment, the production management computer 10 executes the production control preprocessing program according to the first embodiment, and also executes the production control preprocessing program according to the first embodiment. By executing the server-side production control program described later in place of the production control program in the above, the computer functions as a server computer (hereinafter, also simply referred to as a "server"), and the other node computers are produced in the first embodiment. It executes a program corresponding to the management program (hereinafter referred to as "client-side production control program") and functions as a client computer (hereinafter, also simply referred to as "client"). Since the configurations other than these in the present embodiment are the same as those in the first embodiment, the same reference numerals are given to the same or corresponding parts, and detailed description thereof will be omitted. In the following, among the configurations and operations in the present embodiment, the server-side main body processing based on the server-side production management program executed by the production management computer 10 as a server, and the client-side production management program executed by each client computer. The explanation will focus on the client-side main body processing based on.

<3.1 生産管理前処理>
本実施形態においても、上記第1の実施形態と同様、サーバとしての生産管理コンピュータ10が生産管理前処理プログラムに基づき図8に示す生産管理前処理を実行する。これにより、対象となる製品の製造のための生産情報が各ノードコンピュータに送出されるかまたは共有記憶部123に格納される。その後、この生産情報に基づき既述の生産管理準備データ(d1)〜(d3)が生成されて各ノードコンピュータに送出されるかまたは共有記憶部123に格納される。
<3.1 Production control pretreatment>
In this embodiment as well, as in the first embodiment, the production control computer 10 as a server executes the production control preprocessing shown in FIG. 8 based on the production control preprocessing program. As a result, the production information for manufacturing the target product is sent to each node computer or stored in the shared storage unit 123. After that, the production control preparation data (d1) to (d3) described above are generated based on this production information and sent to each node computer or stored in the shared storage unit 123.

<3.2 サーバ側本体処理>
上記の生産管理前処理の終了後、サーバとしての生産管理コンピュータ10は、サーバ側生産管理プログラムに基づきサーバ側の生産管理本体処理(以下「サーバ側本体処理」という)を実行する。図17は、このサーバ側本体処理を示すフローチャートである。図1の分散システムにおいて、生産管理コンピュータ10がサーバ側生産管理プログラムを実行するとともに、各クライアントコンピュータすなわちサーバとしての生産管理コンピュータ10以外のノードコンピュータのそれぞれが後述のクライアント側生産管理プログラムを実行することにより、生産管理のためのブロックチェーンが図1の分散システムにおいて形成され更新される。
<3.2 Server-side main unit processing>
After the completion of the above production control pre-processing, the production control computer 10 as a server executes the server-side production control main body processing (hereinafter referred to as "server-side main body processing") based on the server-side production management program. FIG. 17 is a flowchart showing the server-side main body processing. In the distributed system of FIG. 1, the production control computer 10 executes the server-side production control program, and each client computer, that is, each of the node computers other than the production control computer 10 as a server executes the client-side production control program described later. As a result, a blockchain for production control is formed and updated in the distributed system of FIG.

以下、図17を参照して、サーバ側本体処理について説明する。サーバ側本体処理では、生産管理コンピュータ10がサーバ側生産管理プログラムに基づき下記のように動作する。 Hereinafter, the server-side main body processing will be described with reference to FIG. In the server-side main body processing, the production control computer 10 operates as follows based on the server-side production control program.

まず、生産情報および生産管理準備データを共有記憶部123(生産管理コンピュータ10の補助記憶装置120における共有領域123)から読み出す(ステップS22)。
次に、ブロック追加通知を他のノードコンピュータすなわちクライアントコンピュータから受領するまで待機し(ステップS26)、ブロック追加通知を受領するとステップS27へ進む。
First, the production information and the production control preparation data are read from the shared storage unit 123 (shared area 123 in the auxiliary storage device 120 of the production control computer 10) (step S22).
Next, it waits until the block addition notification is received from another node computer, that is, the client computer (step S26), and when the block addition notification is received, the process proceeds to step S27.

ここでのブロック追加通知とは、クライアントとしての他のノードコンピュータでの本体処理(クライアント側本体処理)により着工許可および完成許可の得られたトランザクションデータ(検証済みのトランザクションデータ)を含むブロックがブロックチェーンに追加すべきときに、ブロック追加に関する情報をサーバとしての生産管理コンピュータ10に送信することで、ブロックチェーンを更新すべきことを知らせることをいう(詳細は後述(図18のステップS60参照))。後述のようにブロック追加通知には、追加すべきブロックのブロックヘッダBLKn+1に設定すべきトランザクションハッシュ値THSn+1およびトランザクションアドレス値TADn+1が含まれる。 The block addition notification here is a block that includes transaction data (verified transaction data) for which construction start permission and completion permission have been obtained by main body processing (client side main body processing) on another node computer as a client. When it should be added to the chain, it means that the block chain should be updated by transmitting the information about the block addition to the production management computer 10 as a server (details will be described later (see step S60 in FIG. 18)). ). As will be described later, the block addition notification includes a transaction hash value THSn + 1 and a transaction address value TADn + 1 to be set in the block header BLKn + 1 of the block to be added.

ステップS27では、共有ブロックチェーン構成データにおける現時点の最新ブロックヘッダであるn番目のブロックヘッダBLKnにおけるトランザクションハッシュ値THAnと直前ハッシュ値PHSnとナンス値NSnとの組み合わせを入力値としたときのハッシュ関数の出力値である直前ハッシュ値PHSn+1を求め、この直前ハッシュ値PHSn+1と上記ブロック追加通知に含まれるトランザクションハッシュ値THSn+1とを用いて、既述の条件HPを満たすようにナンス値NSn+1を求める。 In step S27, the hash function of the hash function when the combination of the transaction hash value THAn, the immediately preceding hash value PHSn, and the nonce value NSn in the nth block header BLKn, which is the latest block header at the present time in the shared blockchain configuration data, is used as the input value. The immediately preceding hash value PHSn + 1, which is the output value, is obtained, and the nonce value is used so as to satisfy the above-mentioned condition HP by using the immediately preceding hash value PHSn + 1 and the transaction hash value THSn + 1 included in the block addition notification. Find NSn + 1.

次に、求められたナンス値NSn+1を上記の直前ハッシュ値PHSn+1およびトランザクションハッシュ値THSn+1とともに用いて、共有ブロックチェーン構成データを更新する(ステップS32)。本実施形態では、ブロックチェーンの各ブロックに含まれるトランザクションデータTD1,TD2,…が共有記憶部123(生産管理コンピュータ10の補助記憶装置120における共有領域123)に格納されるだけでなく、上記第1の実施形態において各ノードコンピュータに格納されていた自ブロックチェーン構成データも共有ブロックチェーン構成データとして共有記憶部123にのみ格納される。このような相違を除けば、本実施形態における共有ブロックチェーン構成データの更新(ステップS32)は、上記第1の実施形態における自ブロックチェーン構成データの更新(図9のステップS32)と同様である(図11)。そこで、共有ブロックチェーン構成データの更新についての詳しい説明を省略する。 Next, the shared blockchain configuration data is updated by using the obtained nonce value NSn + 1 together with the immediately preceding hash value PHSn + 1 and the transaction hash value THSn + 1 (step S32). In the present embodiment, the transaction data TD1, TD2, ... Included in each block of the block chain is not only stored in the shared storage unit 123 (shared area 123 in the auxiliary storage device 120 of the production management computer 10), but also in the above-mentioned first. The own blockchain configuration data stored in each node computer in the first embodiment is also stored only in the shared storage unit 123 as shared blockchain configuration data. Except for such a difference, the update of the shared blockchain configuration data in the present embodiment (step S32) is the same as the update of the own blockchain configuration data in the first embodiment (step S32 in FIG. 9). (Fig. 11). Therefore, detailed description of updating the shared blockchain configuration data will be omitted.

上記のようにして共有ブロックチェーン構成データが更新された後は、ステップS22で入力された生産情報に基づく図12または図13に示すデータを参照して、実行可能な単位作業の有無を判定する(ステップS34)。この判定の結果、実行可能な単位作業がなければ、本実施形態において生産管理の対象となる全ての単位作業に対応するトランザクションは全て起動されたことになる。そこで、ステップS22へ戻り、次に製造すべき製品に関する生産情報を受け取るまでステップS22で待機する。 After the shared blockchain configuration data is updated as described above, it is determined whether or not there is a feasible unit work by referring to the data shown in FIG. 12 or FIG. 13 based on the production information input in step S22. (Step S34). As a result of this determination, if there is no feasible unit work, all transactions corresponding to all the unit work subject to production control in the present embodiment have been started. Therefore, the process returns to step S22, and the process waits in step S22 until the production information regarding the next product to be manufactured is received.

ステップS34での判定の結果、実行可能な単位作業がある場合には、図13に示す生産管理データ構造におけるテーブルTBLで特定される実行順に基づき、共有ブロックチェーン構成データにおける最新のブロックヘッダBLKn+1に対応する最新のトランザクションデータに対応する単位作業の次に実行すべき単位作業を決定し、当該決定された単位作業を知らせる通知(以下「実行可能単位作業通知」という)を、図1の分散システムにおけるクライアントとしての他のノードコンピュータが取得できるように通信ネットワーク100に送出する(ステップS36)。 As a result of the determination in step S34, if there is an executable unit work, the latest block header BLKn + in the shared blockchain configuration data is based on the execution order specified in the table TBL in the production control data structure shown in FIG. A notification (hereinafter referred to as "executable unit work notification") for determining the unit work to be executed next to the unit work corresponding to the latest transaction data corresponding to 1 and notifying the determined unit work is shown in FIG. It is sent to the communication network 100 so that it can be acquired by another node computer as a client in the distributed system (step S36).

その後、ステップS26へ戻り、ステップS26以降の処理を実行する。 After that, the process returns to step S26, and the processes after step S26 are executed.

<3.3 クライアント側本体処理>
図18は、本実施形態における分散システム(図1)を構成するノードコンピュータのうちサーバとしての生産管理コンピュータ10以外の各ノードコンピュータすなわちクライアントコンピュータにおいて生産管理のために行われる処理(以下「クライアント側本体処理」という)を示すフローチャートである。このクライアント側本体処理は、図1の分散システムにおける各クライアントコンピュータがクライアント側生産管理プログラムを実行することにより実現される。各クライアントコンピュータは、この生産管理プログラムに基づき下記のように動作する。以下、1つのクライアントコンピュータに着目して、この生産管理プログラムに基づくクライアント側本体処理につき図18を参照して説明する。
<3.3 Client-side processing>
FIG. 18 shows a process performed for production control at each node computer other than the production control computer 10 as a server among the node computers constituting the distributed system (FIG. 1) in the present embodiment, that is, a client computer (hereinafter, “client side”). It is a flowchart which shows "main body processing"). This client-side main body processing is realized by each client computer in the distributed system of FIG. 1 executing a client-side production control program. Each client computer operates as follows based on this production control program. Hereinafter, focusing on one client computer, the client-side main body processing based on this production control program will be described with reference to FIG.

まず、当該クライアントコンピュータは、生産管理コンピュータ10から通信ネットワーク100に送出された生産情報および生産管理準備データを受け取る(図8のステップS14,S16および図18のステップS22参照)。次に、生産管理コンピュータ10から通信ネットワーク100に送出された実行可能単位作業通知の受領を試みる。これにより、実行可能単位作業通知を受領した場合、当該通知により示される(実行可能)単位作業を表示し、実行可能単位作業通知を受領できなかった場合には、直前に受領した実行可能単位作業通知が示す単位作業を表示する(ステップS28)。ただし、この時点までに受領した実行可能単位作業がない場合には、実行可能な単位作業が未知である旨を表示する。 First, the client computer receives the production information and the production control preparation data sent from the production control computer 10 to the communication network 100 (see steps S14 and S16 in FIG. 8 and step S22 in FIG. 18). Next, the production control computer 10 attempts to receive the executable unit work notification sent to the communication network 100. As a result, when the executable unit work notification is received, the (executable) unit work indicated by the notification is displayed, and when the executable unit work notification is not received, the immediately received executable unit work is displayed. The unit work indicated by the notification is displayed (step S28). However, if there is no executable unit work received by this point, it is displayed that the executable unit work is unknown.

その後、表示された実行可能単位作業につき、その開始を指示する入力操作が当該ノードコンピュータに行われたか否かを判定する(ステップS30)。その結果、単位作業の開始を指示する入力操作が行われていない場合にはステップS25へ戻る。以降、単位作業の開始を指示する入力操作が行われない間は、ステップS25→ステップS28→ステップS30を繰り返し実行する。 After that, it is determined whether or not the input operation instructing the start of the displayed executable unit work has been performed on the node computer (step S30). As a result, if the input operation for instructing the start of the unit work has not been performed, the process returns to step S25. After that, step S25 → step S28 → step S30 is repeatedly executed while the input operation for instructing the start of the unit work is not performed.

上記のようにステップS25→ステップS28→ステップS30を繰り返し実行している間に、ステップS30において単位作業の開始を指示する入力操作がなされると、ステップS38へ進む。以下では、ここで開始指示を受け取った(実行可能)単位作業を「対象単位作業」という)。 If an input operation instructing the start of the unit work is performed in step S30 while repeatedly executing step S25 → step S28 → step S30 as described above, the process proceeds to step S38. In the following, the unit work for which the start instruction is received (executable) is referred to as "target unit work").

その後、上記第1の実施形態と同様の処理(図9のステップS38〜S56)により、対象単位作業に対応するトランザクションデータ(対応トランザクションデータ)TDn+1が生成され、対象単位作業につき着工承認取得処理および完成承認取得処理等が行われ(図18のステップS38〜S56)、全ての完成承認者から完成許可が得られると、対象単位作業の完成が承認されたとみなしてステップS60へ進む。 After that, transaction data (corresponding transaction data) TDn + 1 corresponding to the target unit work is generated by the same process as the first embodiment (steps S38 to S56 in FIG. 9), and the start approval is obtained for the target unit work. When the processing, the completion approval acquisition process, and the like are performed (steps S38 to S56 in FIG. 18) and the completion permission is obtained from all the completion approvers, it is considered that the completion of the target unit work has been approved, and the process proceeds to step S60.

ステップS60では、当該クライアントコンピュータは、対応トランザクションデータTDn+1についてのブロックチェーンの更新権限者として、対応トランザクションデータTDn+1を共有記憶部123に格納し、対応トランザクションデータTDn+1を含むべきブロックをブロックチェーンに追加するためのブロック追加通知を、通信ネットワーク100を介してサーバとしての生産管理コンピュータ10に送信する。このブロック追加通知は、対応トランザクションデータTDn+1の格納場所を示すトランザクションアドレス値TADn+1と、対応トランザクションデータTDn+1を入力値とするハッシュ関数の出力値であるトランザクションハッシュ値THSn+1とを含んでいる。 In step S60, the client computer stores the corresponding transaction data TDn + 1 in the shared storage unit 123 as a blockchain update authority for the corresponding transaction data TDn + 1, and blocks that should include the corresponding transaction data TDn + 1. The block addition notification for adding the data to the blockchain is transmitted to the production management computer 10 as a server via the communication network 100. This block addition notification includes a transaction address value TADn + 1 indicating the storage location of the corresponding transaction data TDn + 1, and a transaction hash value THSn + 1 which is an output value of a hash function having the corresponding transaction data TDn + 1 as an input value. Includes.

上記のブロック追加通知の送出後は、ステップS22で入力された生産情報に基づく図12または図13に示すデータを参照して、実行可能な単位作業の有無を判定する(ステップS61)。この判定の結果、実行可能な単位作業があれば、ステップS25へ戻り、それ以降の処理を実行する。一方、この判定の結果、実行可能な単位作業がなければ、本実施形態において生産管理の対象となる全ての単位作業に対応するトランザクションは全て起動されたことになる。そこで、ステップS22へ戻り、次に製造すべき製品に関する生産情報を受け取るまでステップS22で待機する。 After sending the block addition notification, it is determined whether or not there is a unit work that can be performed by referring to the data shown in FIG. 12 or 13 based on the production information input in step S22 (step S61). As a result of this determination, if there is a unit work that can be executed, the process returns to step S25 and the subsequent processing is executed. On the other hand, as a result of this determination, if there is no feasible unit work, all transactions corresponding to all the unit work subject to production control in the present embodiment have been started. Therefore, the process returns to step S22, and the process waits in step S22 until the production information regarding the next product to be manufactured is received.

<3.4 効果>
上記のように本実施形態における分散システム(図1)において、生産管理コンピュータ10がサーバ側生産管理プログラムを実行するとともに、各クライアントコンピュータがクライアント側生産管理プログラムを実行することにより、生産管理のためのブロックチェーンが図1の分散システムにおいて形成され更新される。このような本実施形態によっても、上記第1の実施形態と同様、各単位作業を管理するための情報である着工情報および完成情報を含むトランザクションデータTDk(k=1,2,…)が、受注した製品の製造のための作業の進行にしたがって生産管理の対象としての単位作業の実行順に(図5、図16参照)、ブロックチェーンの形態で記録されていく(図11参照)。また、上記第1の実施形態と同様、各単位作業に対応するトランザクションデータTDkは、当該単位作業に応じて予め決められた着工承認者による着工許可および完成承認者による完成許可を得た後に、当該トランザクションデータTDkを含むブロックがブロックチェーンに追加される。したがって、本実施形態も上記第1の実施形態と同様の効果を奏する。なお本実施形態では、トランザクションデータTD1,TD2,…のみならず、ブロックヘッダを連結して構成される共有ブロックチェーン構成データも共有記憶部123にのみ格納されるので、上記第1の実施形態に比べ、必要な記憶容量を更に低減することができる。
<3.4 effect>
As described above, in the distributed system (FIG. 1) of the present embodiment, the production control computer 10 executes the server-side production control program, and each client computer executes the client-side production control program for production control. Blockchain is formed and updated in the distributed system of FIG. In this embodiment as well, as in the first embodiment, the transaction data TDk (k = 1, 2, ...) Containing the construction start information and the completion information, which are information for managing each unit work, can be obtained. As the work for manufacturing the ordered product progresses, the unit work as the target of production control is recorded in the form of a blockchain in the order of execution (see FIGS. 5 and 16) (see FIG. 11). Further, as in the first embodiment, the transaction data TDk corresponding to each unit work is obtained after obtaining the construction start permission by the construction start approver and the completion permission by the completion approver determined in advance according to the unit work. A block containing the transaction data TDk is added to the blockchain. Therefore, this embodiment also has the same effect as that of the first embodiment. In the present embodiment, not only the transaction data TD1, TD2, ..., But also the shared blockchain configuration data configured by concatenating the block headers is stored only in the shared storage unit 123. In comparison, the required storage capacity can be further reduced.

<4.第4の実施形態>
次に、上記第2の実施形態において、各ノードコンピュータに格納されていた自ブロックチェーン構成データを共有ブロックチェーン構成データとして、共有記憶部123すなわち生産管理コンピュータ10の補助記憶装置120における共有領域123に格納するように変更した構成を、第4の実施形態として説明する。
<4. Fourth Embodiment>
Next, in the second embodiment, the own blockchain configuration data stored in each node computer is used as the shared blockchain configuration data, and the shared area 123 in the shared storage unit 123, that is, the auxiliary storage device 120 of the production control computer 10. The configuration modified to be stored in the fourth embodiment will be described.

本実施形態においても、上記第2の実施形態と同様、図1および図2に示す分散システムにおいて、当該分散システムを構成する各ノードコンピュータが所定のプログラムを実行することにより、上記と同様の機能を有する生産管理システムが実現される。また、各単位作業に対応するトランザクションデータに基づく着工許可および完成許可を得るための作業や処理も上記第2の実施形態と同様である(図6、図7参照)。しかし、本実施形態において当該分散システム(図1)を構成するノードコンピュータのうち、生産管理コンピュータ10は、上記第2の実施形態における生産管理前処理プログラムを実行するとともに、上記第2の実施形態における生産管理プログラムに代えて後述のサーバ側生産管理プログラムを実行することで、サーバコンピュータ(以下、単に「サーバ」ともいう)として機能し、他のノードコンピュータは、上記第2の実施形態における生産管理プログラムに対応するプログラム(以下「クライアント側生産管理プログラム」という)を実行し、クライアントコンピュータ(以下、単に「クライアント」ともいう)として機能する。本実施形態におけるこれら以外の構成については上記第2の実施形態と同様であるので、同一または対応する部分に同一の参照符号を付して詳しい説明を省略する。以下では、本実施形態における構成および動作のうち、サーバとしての生産管理コンピュータ10で実行されるサーバ側生産管理プログラムに基づくサーバ側本体処理、および、各クライアントコンピュータで実行されるクライアント側生産管理プログラムに基づくクライアント側本体処理を中心に説明する。 Also in the present embodiment, as in the second embodiment, in the distributed system shown in FIGS. 1 and 2, each node computer constituting the distributed system executes a predetermined program to have the same function as described above. A production control system with Further, the work and processing for obtaining the construction start permission and the completion permission based on the transaction data corresponding to each unit work are the same as those in the second embodiment (see FIGS. 6 and 7). However, among the node computers constituting the distributed system (FIG. 1) in the present embodiment, the production management computer 10 executes the production control preprocessing program in the second embodiment and also executes the production control preprocessing program in the second embodiment. By executing the server-side production control program described later in place of the production control program in the above, the computer functions as a server computer (hereinafter, also simply referred to as a "server"), and the other node computers are produced in the second embodiment. It executes a program corresponding to the management program (hereinafter referred to as "client-side production control program") and functions as a client computer (hereinafter, also simply referred to as "client"). Since the configurations other than these in the present embodiment are the same as those in the second embodiment, the same reference numerals are given to the same or corresponding parts, and detailed description thereof will be omitted. In the following, among the configurations and operations in the present embodiment, the server-side main body processing based on the server-side production management program executed by the production management computer 10 as a server, and the client-side production management program executed by each client computer. The explanation will focus on the client-side main body processing based on.

<4.1 生産管理前処理>
本実施形態においても、上記第2の実施形態と同様、サーバとしての生産管理コンピュータ10が生産管理前処理プログラムに基づき図14に示す生産管理前処理を実行する。これにより、対象となる製品の製造のための生産情報が各ノードコンピュータに送出されるかまたは共有記憶部123に格納される。その後、この生産情報に基づき既述の生産管理準備データ(e1)〜(e3)が生成されて各ノードコンピュータに送出されるかまたは共有記憶部123に格納される。
<4.1 Production control pretreatment>
In this embodiment as well, as in the second embodiment, the production control computer 10 as a server executes the production control preprocessing shown in FIG. 14 based on the production control preprocessing program. As a result, the production information for manufacturing the target product is sent to each node computer or stored in the shared storage unit 123. After that, the production control preparation data (e1) to (e3) described above are generated based on this production information and sent to each node computer or stored in the shared storage unit 123.

<4.2 サーバ側本体処理>
上記の生産管理前処理の終了後、サーバとしての生産管理コンピュータ10は、サーバ側生産管理プログラムに基づきサーバ側の生産管理本体処理(以下「サーバ側本体処理」という)を実行する。図19は、このサーバ側本体処理を示すフローチャートである。図1の分散システムにおいて、生産管理コンピュータ10がサーバ側生産管理プログラムを実行するとともに、各クライアントコンピュータすなわちサーバとしての生産管理コンピュータ10以外のノードコンピュータのそれぞれが後述のクライアント側生産管理プログラムを実行することにより、生産管理のためのブロックチェーンが図1の分散システムにおいて形成され更新される。
<4.2 Server-side main unit processing>
After the completion of the above production control pre-processing, the production control computer 10 as a server executes the server-side production control main body processing (hereinafter referred to as "server-side main body processing") based on the server-side production management program. FIG. 19 is a flowchart showing the server-side main body processing. In the distributed system of FIG. 1, the production control computer 10 executes the server-side production control program, and each client computer, that is, each of the node computers other than the production control computer 10 as a server executes the client-side production control program described later. As a result, a blockchain for production control is formed and updated in the distributed system of FIG.

以下、図19を参照して、サーバ側本体処理について説明する。サーバ側本体処理では、生産管理コンピュータ10がサーバ側生産管理プログラムに基づき下記のように動作する。 Hereinafter, the server-side main body processing will be described with reference to FIG. In the server-side main body processing, the production control computer 10 operates as follows based on the server-side production control program.

まず、上記第3の実施形態におけるサーバ側本体処理(図17)におけるステップS22〜S32に相当するステップS62〜S68を実行することにより、生産情報および生産管理準備データを共有記憶部123から読み出す。次に、ブロック追加通知をいずれかのクライアントコンピュータから受領すると、そのブロック追加通知に基づきブロックチェーンにブロックを追加するために必要なナンス値を求め、共有ブロックチェーン構成データを更新する。 First, the production information and the production control preparation data are read from the shared storage unit 123 by executing steps S62 to S68 corresponding to steps S22 to S32 in the server-side main body processing (FIG. 17) in the third embodiment. Next, when the block addition notification is received from any of the client computers, the nonce value required for adding the block to the blockchain is obtained based on the block addition notification, and the shared blockchain configuration data is updated.

その後、ステップS62で入力された生産情報に基づく図12または図13に示すデータを参照して、実行可能な単位作業の有無を判定する(ステップS70)。この判定の結果、実行可能な単位作業がなければ、本実施形態において生産管理の対象となる全ての単位作業に対応するトランザクションは全て起動されたことになる。そこで、生産管理終了通知を、図1の分散システムにおける各クライアントコンピュータが取得できるように通信ネットワーク100に送出する(ステップS104)。その後、ステップS62へ戻り、次に製造すべき製品に関する生産情報を受け取るまでステップS62で待機する。 After that, with reference to the data shown in FIG. 12 or 13 based on the production information input in step S62, it is determined whether or not there is a feasible unit work (step S70). As a result of this determination, if there is no feasible unit work, all transactions corresponding to all the unit work subject to production control in the present embodiment have been started. Therefore, the production control end notification is sent to the communication network 100 so that each client computer in the distributed system of FIG. 1 can acquire it (step S104). After that, the process returns to step S62, and the process waits in step S62 until the production information regarding the next product to be manufactured is received.

ステップS70での判定の結果、実行可能な単位作業がある場合には、図13に示す生産管理データ構造におけるテーブルTBLで特定される実行順に基づき、共有ブロックチェーン構成データにおける最新のブロックヘッダBLKn+1に対応する最新のトランザクションデータに対応する単位作業の次に実行すべき単位作業を決定し(ステップS100)、決定した単位作業の開始指示を当該単位作業を実行すべきクライアントコンピュータに送信する(次の単位作業の開始指示の発行)(ステップS102)。その後、ステップS65へ戻り、それ以降の処理を再び実行する。 As a result of the determination in step S70, if there is an executable unit work, the latest block header BLKn + in the shared blockchain configuration data is based on the execution order specified in the table TBL in the production control data structure shown in FIG. The unit work to be executed next to the unit work corresponding to the latest transaction data corresponding to 1 is determined (step S100), and the start instruction of the determined unit work is transmitted to the client computer to execute the unit work (step S100). Issuing an instruction to start the next unit work) (step S102). After that, the process returns to step S65, and the subsequent processes are executed again.

<4.3 クライアント側本体処理>
図20は、本実施形態における分散システム(図1)を構成するノードコンピュータのうち各クライアントコンピュータにおいて生産管理のために行われる処理(以下「クライアント側本体処理」という)を示すフローチャートである。このクライアント側本体処理は、図1の分散システムにおける各クライアントコンピュータがクライアント側生産管理プログラムを実行することにより実現される。各クライアントコンピュータは、このクライアント側生産管理プログラムに基づき下記のように動作する。以下、1つのクライアントコンピュータに着目して、この生産管理プログラムに基づくクライアント側本体処理につき図20を参照して説明する。
<4.3 Client-side processing>
FIG. 20 is a flowchart showing a process (hereinafter referred to as “client-side main body process”) performed for production control in each client computer among the node computers constituting the distributed system (FIG. 1) in the present embodiment. This client-side main body processing is realized by each client computer in the distributed system of FIG. 1 executing a client-side production control program. Each client computer operates as follows based on this client-side production control program. Hereinafter, focusing on one client computer, the client-side main body processing based on this production control program will be described with reference to FIG. 20.

まず、当該クライアントコンピュータは、生産管理コンピュータ10から通信ネットワーク100に送出された生産情報(図14のステップS14参照)および生産管理準備データ(図14のステップS16参照)を受け取る(ステップS62)。 First, the client computer receives production information (see step S14 in FIG. 14) and production control preparation data (see step S16 in FIG. 14) sent from the production control computer 10 to the communication network 100 (step S62).

次に、単位作業の開始指示を受け取ったか否かを判定し(ステップS67)、単位作業の開始指示を受け取っていなければステップS69へ進み、サーバとしての生産管理コンピュータ10から送出された生産管理終了通知を受け取ったか否かを判定する。その判定の結果、生産管理終了通知を受け取っていなければステップS67へ戻る。以降、単位作業の開始指示も生産管理終了通知も受け取らない間、ステップS67→ステップS69を繰り返し実行する。 Next, it is determined whether or not the unit work start instruction has been received (step S67), and if the unit work start instruction has not been received, the process proceeds to step S69, and the production control end sent from the production control computer 10 as a server. Determine if you have received the notification. As a result of the determination, if the production control end notification has not been received, the process returns to step S67. After that, step S67 → step S69 is repeatedly executed while neither the start instruction of the unit work nor the production control end notification is received.

ステップS67→ステップS69を繰り返し実行している間に、生産管理終了通知を受け取るとステップS62へ戻り、次に製造すべき製品に関する生産情報を受け取るまでステップS62で待機する。 When the production control end notification is received while the steps S67 → S69 are being repeatedly executed, the process returns to step S62, and the process waits in step S62 until the production information regarding the next product to be manufactured is received.

ステップS67→ステップS69を繰り返し実行している間に、単位作業の開始指示を受け取るとステップS72へ進む(以下では、ここで開始指示を受け取った単位作業を「対象単位作業」という)。 If a start instruction for unit work is received while the steps S67 → S69 are being repeatedly executed, the process proceeds to step S72 (hereinafter, the unit work for which the start instruction is received is referred to as “target unit work”).

ステップS72へ進むと、上記第2の実施形態と同様の処理(図15のステップS72〜S90)により、対象単位作業に対応するトランザクションデータ(対応トランザクションデータ)TDn+1が生成され、対象単位作業につき着工承認取得処理および完成承認取得処理等が行われ(図20のステップS72〜S90)、全ての完成承認者から完成許可が得られると、対象単位作業の完成が承認されたとみなしてステップS96へ進む。 Proceeding to step S72, transaction data (corresponding transaction data) TDn + 1 corresponding to the target unit work is generated by the same process as the second embodiment (steps S72 to S90 in FIG. 15), and the target unit work is performed. When the construction start approval acquisition process, the completion approval acquisition process, etc. are performed (steps S72 to S90 in FIG. 20) and the completion permission is obtained from all the completion approvers, it is considered that the completion of the target unit work has been approved and the completion of the target unit work is approved in step S96. Proceed to.

ステップS96では、当該クライアントコンピュータは、対応トランザクションデータTDn+1についてのブロックチェーンの更新権限者として、対応トランザクションデータTDn+1を共有記憶部123に格納し、対応トランザクションデータTDn+1を含むべきブロックをブロックチェーンに追加するためのブロック追加通知を、通信ネットワーク100を介してサーバとしての生産管理コンピュータ10に送信する。このブロック追加通知は、対応トランザクションデータTDn+1の格納場所を示すトランザクションアドレス値TADn+1と、対応トランザクションデータTDn+1を入力値とするハッシュ関数の出力値であるトランザクションハッシュ値THSn+1とを含んでいる。 In step S96, the client computer stores the corresponding transaction data TDn + 1 in the shared storage unit 123 as a blockchain update authority for the corresponding transaction data TDn + 1, and should include the corresponding transaction data TDn + 1. The block addition notification for adding the data to the blockchain is transmitted to the production management computer 10 as a server via the communication network 100. This block addition notification includes a transaction address value TADn + 1 indicating the storage location of the corresponding transaction data TDn + 1, and a transaction hash value THSn + 1 which is an output value of a hash function having the corresponding transaction data TDn + 1 as an input value. Includes.

上記のブロック追加通知の送出後は、図16に示すテーブルTBLで特定される実行順(順序データ)に基づき、対象単位作業が最後の単位作業か否かを判定する(ステップS98)。この判定の結果、対象単位作業が最後の単位作業である場合には、本実施形態において生産管理の対象となる全ての単位作業に対応するトランザクションは全て起動されたことになる。そこで、ステップS62へ戻り、次に製造すべき製品に関する生産情報を受け取るまでステップS62で待機する。 After sending the block addition notification, it is determined whether or not the target unit work is the last unit work based on the execution order (order data) specified in the table TBL shown in FIG. 16 (step S98). As a result of this determination, when the target unit work is the last unit work, it means that all the transactions corresponding to all the unit work subject to the production control in the present embodiment have been started. Therefore, the process returns to step S62, and the process waits in step S62 until the production information regarding the next product to be manufactured is received.

ステップS98での判定の結果、対象単位作業が最後の単位作業でない場合には、ステップS67へ戻り、それ以降の処理を再び実行する。 As a result of the determination in step S98, if the target unit work is not the last unit work, the process returns to step S67, and the subsequent processes are executed again.

<4.4 効果>
上記のように本実施形態における分散システム(図1)において、生産管理コンピュータ10がサーバ側生産管理プログラムを実行するとともに、各クライアントコンピュータがクライアント側生産管理プログラムを実行することにより、生産管理のためのブロックチェーンが図1の分散システムにおいて形成され更新される。本実施形態では、上記第2の実施形態と同様、生産管理の対象となる各単位作業(図5に示す例では、調達、品質管理、生産工程1、生産工程2のそれぞれ)に対応するトランザクションデータを生成するコンピュータが予め決められているが(図16に示すテーブルTBL参照)、上記第1の実施形態と同様、各単位作業を管理するための情報である着工情報および完成情報を含むトランザクションデータTDk(k=1,2,…)が、受注した製品の製造のための作業の進行にしたがって生産管理の対象としての単位作業の実行順に(図5、図16参照)、ブロックチェーンの形態で記録されていく(図11参照)。また、上記第1および第2の実施形態と同様、各単位作業に対応するトランザクションデータTDkは、当該単位作業に応じて予め決められた着工承認者による着工許可および完成承認者による完成許可を得た後に、当該トランザクションデータTDkを含むブロックがブロックチェーンに追加される。したがって、本実施形態も上記第1および第2の実施形態と同様の効果を奏する。なお本実施形態では、トランザクションデータTD1,TD2,…のみならず、ブロックヘッダを連結して構成される共有ブロックチェーン構成データも共有記憶部123にのみ格納されるので、上記第1および第2の実施形態に比べ、必要な記憶容量を更に低減することができる。
<4.4 effect>
As described above, in the distributed system (FIG. 1) of the present embodiment, the production control computer 10 executes the server-side production control program, and each client computer executes the client-side production control program for production control. Blockchain is formed and updated in the distributed system of FIG. In the present embodiment, as in the second embodiment, the transaction corresponding to each unit work subject to production control (in the example shown in FIG. 5, each of procurement, quality control, production process 1 and production process 2). Although the computer that generates the data is predetermined (see the table TBL shown in FIG. 16), as in the first embodiment, the transaction including the construction start information and the completion information which are the information for managing each unit work. Data TDk (k = 1, 2, ...) Is in the order of execution of unit work as the target of production control according to the progress of work for manufacturing the ordered product (see FIGS. 5 and 16), and the form of the blockchain. It is recorded in (see FIG. 11). Further, as in the first and second embodiments, the transaction data TDk corresponding to each unit work obtains a construction start permit and a completion permit by a completion approver determined in advance according to the unit work. After that, the block containing the transaction data TDk is added to the blockchain. Therefore, this embodiment also has the same effect as the first and second embodiments. In the present embodiment, not only the transaction data TD1, TD2, ..., But also the shared blockchain configuration data configured by concatenating the block headers is stored only in the shared storage unit 123. The required storage capacity can be further reduced as compared with the embodiment.

<5.変形例>
本発明は、上記実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で上記実施形態を種々変形して実施することができる。以下、上記実施形態の変形例について説明する。
<5. Modification example>
The present invention is not limited to the above-described embodiment, and the above-described embodiment can be variously modified and implemented without departing from the spirit of the present invention. Hereinafter, a modified example of the above embodiment will be described.

上記第1から第4の実施形態では、生産管理前処理(図8、図14)で生成される生産管理準備データに基づき、単位作業の実行順を特定するとともに各トランザクションデータのテンプレートを保持するためのデータ構造すなわち生産管理データ構造は、図13または図16に示すようにテーブルTBLを用いて構成されているが、図13または図16に示すデータ構造とは異なる構成のデータ構造を使用してもよい。例えば、単位作業の実行順序に応じた順序でテンプレートが連結された連結リストを使用してもよい。この場合、上記第1および第3の実施形態では、図13に示すデータ構造に代えて図21に示す連結リストを使用することができ、上記第2および第4の実施形態では、図16に示すデータ構造に代えて図22に示す連結リストを使用することができる。これらの連結リストは、単位作業である調達、品質管理、生産工程1、生産工程2、…に対応するトランザクションデータTD1,TD2,TD3,TD4,…のテンプレートTP1,TP2,TP3,TP4,…にそれぞれ対応するエントリE1,E2,E3,E4,…が単方向リストとして連結されている。すなわち、図21および図22が示す連結リストでは、調達のテンプレートTP1に相当する先頭のエントリE1を指すポインタSPtrを格納するヘッダHDRが設けられ、各エントリEkには、対応するテンプレートTPkのデータ構造に加えて次のエントリEk+1を指すポインタNPtrが含まれている。なお上記第2および第4の実施形態では、生産管理の対象となる各単位作業に対応するトランザクションデータを生成するコンピュータが予め決められていることから、図22に示す連結リストにおける各エントリEkには、対応するトランザクションデータを生成すべきノードコンピュータの識別情報Nodekが含まれている。これらの図21および図22に示す連結リストは、いずれも単位作業の実行順を特定し、各単位作業に対応するテンプレートのデータ構造として図13および図16と同じデータ構造をそれぞれ含んでいる。このため、図13および図16に示すデータ構造に代えて図21および図22に示す連結リストをそれぞれ使用する場合であっても、上記第1および第2実施形態と同様の効果がそれぞれ得られる。 In the first to fourth embodiments, the execution order of the unit work is specified and the template of each transaction data is held based on the production control preparation data generated in the production control preprocessing (FIGS. 8 and 14). The data structure for the purpose, that is, the production control data structure is configured by using the table TBL as shown in FIG. 13 or FIG. 16, but uses a data structure having a structure different from the data structure shown in FIG. 13 or FIG. You may. For example, a linked list in which templates are concatenated in an order according to the execution order of unit work may be used. In this case, in the first and third embodiments, the linked list shown in FIG. 21 can be used instead of the data structure shown in FIG. 13, and in the second and fourth embodiments, FIG. The linked list shown in FIG. 22 can be used instead of the data structure shown. These linked lists are converted into templates TP1, TP2, TP3, TP4, ... Of transaction data TD1, TD2, TD3, TD4, ... Corresponding to unit operations such as procurement, quality control, production process 1, production process 2, ... The corresponding entries E1, E2, E3, E4, ... Are concatenated as a unidirectional list. That is, in the linked list shown in FIGS. 21 and 22, a header HDR for storing a pointer SPtr pointing to the first entry E1 corresponding to the procurement template TP1 is provided, and each entry Ek has a data structure of the corresponding template TPk. In addition, a pointer NPtr pointing to the next entry Ek + 1 is included. In the second and fourth embodiments, since the computer that generates the transaction data corresponding to each unit work subject to production control is predetermined, each entry Ek in the linked list shown in FIG. 22 is included. Contains the identification information Nodek of the node computer from which the corresponding transaction data should be generated. Each of the linked lists shown in FIGS. 21 and 22 specifies the execution order of the unit work, and includes the same data structure as in FIGS. 13 and 16 as the data structure of the template corresponding to each unit work. Therefore, even when the linked list shown in FIGS. 21 and 22 is used instead of the data structures shown in FIGS. 13 and 16, the same effects as those in the first and second embodiments can be obtained, respectively. ..

上記第1または第2の実施形態では、新たなトランザクションデータを生成したノードコンピュータが更新権限者として、他のノードコンピュータに対するブロック追加通知を通信ネットワーク100に送出し(図9のステップS60、図14のステップS96)、また上記第3または第4の実施形態では、新たなトランザクションデータを生成したノードコンピュータ(クライアントコンピュータ)が更新権限者として、サーバとしての生産管理コンピュータ10に対するブロック追加通知を通信ネットワーク100に送出する(図18のステップS60、図20のステップS96)。しかし、新たなトランザクションデータについての更新権限者を当該トランザクションデータを生成したノードコンピュータまたはクライアントコンピュータに限定しない構成であってもよい。 In the first or second embodiment, the node computer that generated the new transaction data sends a block addition notification to the other node computer to the communication network 100 as the update authority (step S60 in FIG. 9, FIG. 14). Step S96), and in the third or fourth embodiment, the node computer (client computer) that generated the new transaction data acts as the update authority and sends a block addition notification to the production management computer 10 as a server in the communication network. It is sent to 100 (step S60 in FIG. 18, step S96 in FIG. 20). However, the configuration may be such that the update authority for new transaction data is not limited to the node computer or client computer that generated the transaction data.

上記第1または第2の実施形態では、ブロックチェーンを構成するデータのうち、ブロックヘッダを連結して構成される自ブロックチェーン構成データは、各ノードコンピュータ(図1参照)に保持され、トランザクションデータTD1,TD2,…は、共有記憶部123(サーバとして機能する生産管理コンピュータ10内の共有領域123)に格納される(図3、図10参照)。しかし、これに代えて、自ブロックチェーン構成データのみならずトランザクションデータTD1,TD2,…も各ノードコンピュータに格納するようにしてもよい。このような構成によれば、生産管理システムにおいて必要な記憶容量が上記第1および第2の実施形態よりも多くなるが、上記第1または第2の実施形態と同様の効果を奏する。また、ブロックチェーンを構成するデータの全てが各ノードコンピュータに格納され一貫性を維持しつつ更新されることから、高度に制御されたシステムや調整する部分が無く、信頼性の高いコンピュータやネットワークを使用しなくとも、堅牢な生産情報データベースの構築が可能となる。 In the first or second embodiment, among the data constituting the blockchain, the own blockchain configuration data formed by concatenating the block headers is held in each node computer (see FIG. 1) and is transaction data. The TD1, TD2, ... Are stored in the shared storage unit 123 (shared area 123 in the production management computer 10 that functions as a server) (see FIGS. 3 and 10). However, instead of this, not only the own blockchain configuration data but also transaction data TD1, TD2, ... May be stored in each node computer. According to such a configuration, the storage capacity required in the production control system is larger than that of the first and second embodiments, but the same effect as that of the first or second embodiment is obtained. In addition, since all the data that makes up the blockchain is stored in each node computer and updated while maintaining consistency, there is no highly controlled system or coordination part, and a highly reliable computer or network can be created. It is possible to build a robust production information database without using it.

上記各実施形態では、ハッシュパズルを解くためにハッシュ値は、トランザクションハッシュ値THSnと直前ハッシュ値PHSnとナンス値NSnとの組み合わせを入力値とするハッシュ関数の出力値として求められるが(既述の“(条件HP)”参照)、トランザクションデータの変更(改竄)が検出可能であれば、これに代えて他の値やデータの組み合わせをハッシュ関数の入力値としてもよい。例えば、トランザクションデータTDnと直前ハッシュ値PHSnとナンス値NSnとの組み合わせをハッシュ関数の入力値としてもよいし、また、ハッシュ参照データTHRn(トランザクションハッシュ値THSnおよびトランザクションアドレス値TADn)と直前ハッシュ値PHSnとナンス値NSnとの組み合わせをハッシュ関数の入力値としてもよい。 In each of the above embodiments, the hash value is obtained as the output value of the hash function having the combination of the transaction hash value THSn, the immediately preceding hash value PHSn, and the nonce value NSn as input values in order to solve the hash puzzle (described above). (Refer to "(Condition HP)"), if a change (tampering) of transaction data can be detected, another value or a combination of data may be used as an input value of the hash function instead. For example, a combination of the transaction data TDn, the immediately preceding hash value PHSn, and the nonce value NSn may be used as the input value of the hash function, or the hash reference data THRn (transaction hash value THSn and the transaction address value TADn) and the immediately preceding hash value PHSn. The combination of and the nonce value NSn may be used as the input value of the hash function.

上記各実施形態では、ブロックチェーンにおける各ブロックのブロックヘッダには、そのブロックに含まれるトランザクションデータTDkのハッシュ参照データTHRkが保持されており、このハッシュ参照データTHRkは、当該トランザクションデータTDkの格納場所を示すトランザクションアドレス値TADkと当該トランザクションデータTDkのハッシュ値であるトランザクションハッシュ値THSkとからなる(図10(A)参照)。このようなハッシュ参照データTHRkを用いる構成によれば、トランザクションアドレス値TADkに基づき当該トランザクションデータを読み出してそのハッシュ値を求め、そのハッシュ値とハッシュ参照データにおけるトランザクションハッシュ値THSkと照合することにより、当該トランザクションデータTDkの変更の有無(改竄の有無)を容易に確認することができる。しかし、このようなハッシュ参照データTHRkをブロックヘッダに保持する代わりにトランザクションハッシュ値THSkのみをブロックヘッダに保持するようにしてもよい。この場合、例えば、当該ブロックヘッダに対応するトランザクションデータTDkに、当該ブロックヘッダまたはそれに含まれるトランザクションハッシュ値THSkの格納場所を示すアドレス値を含める構成とすることにより、上記と同様にして、当該トランザクションデータTDkの変更の有無(改竄の有無)を確認することができる。なお、通常、システムアプリケーションにおいて、当該トランザクションデータTDkに対応する“YY年MM月DD日の部品Aの発注”というような特定情報をユーザが入力することにより、当該トランザクションデータTDkの内容にアクセスすることができる。 In each of the above embodiments, the block header of each block in the block chain holds the hash reference data THRk of the transaction data TDk included in the block, and the hash reference data THRk is the storage location of the transaction data TDk. It is composed of a transaction address value TADk indicating the above and a transaction hash value THSk which is a hash value of the transaction data TDk (see FIG. 10A). According to the configuration using such hash reference data THRk, the transaction data is read out based on the transaction address value TADk, the hash value is obtained, and the hash value is collated with the transaction hash value THSk in the hash reference data. It is possible to easily confirm whether or not the transaction data TDk has been changed (whether or not it has been tampered with). However, instead of holding such hash reference data THRk in the block header, only the transaction hash value THSk may be held in the block header. In this case, for example, the transaction data TDk corresponding to the block header includes the address value indicating the storage location of the block header or the transaction hash value THSk included in the block header, so that the transaction can be performed in the same manner as described above. It is possible to confirm whether or not the data TDk has been changed (whether or not the data has been tampered with). Normally, in a system application, the contents of the transaction data TDk are accessed by the user inputting specific information such as "ordering part A on the MY year MM month DD date" corresponding to the transaction data TDk. be able to.

なお、上記各実施形態において、生産管理の対象となる単位作業は図5に示すものに限定されず、製造すべき製品に応じて異なる単位作業が実行されてもよい。この場合、当該異なる単位作業に対応するトランザクションデータが当該異なる単位作業の実行順に応じたブロックチェーンの形態で記録されることになる。 In each of the above embodiments, the unit work subject to production control is not limited to the one shown in FIG. 5, and different unit work may be executed depending on the product to be manufactured. In this case, the transaction data corresponding to the different unit work is recorded in the form of a blockchain according to the execution order of the different unit work.

10 …生産管理コンピュータ(ノードコンピュータ、生産管理端末装置)
11 …調達管理コンピュータ(ノードコンピュータ、生産管理端末装置)
13a…サプライヤコンピュータ(ノードコンピュータ、生産管理端末装置)
13b…サプライヤコンピュータ(ノードコンピュータ、生産管理端末装置)
15 …品質管理コンピュータ(ノードコンピュータ、生産管理端末装置)
17a…第1製造管理品コンピュータ(ノードコンピュータ、生産管理端末装置)
17b…第2製造管理品コンピュータ(ノードコンピュータ、生産管理端末装置)
18 …生産管理プログラム
100…通信ネットワーク
111…CPU
112…メモリ
117…ネットワークインタフェース部メモリ
120…補助記憶装置
121…生産管理プログラム
123…共有領域(共有記憶部)
TAk…トランザクション(k=1,2,…)
TDk…トランザクションデータ(k=1,2,…)
RRF…最新参照
TPk…テンプレート(k=1,2,…)
BLKk…ブロックヘッダ(k=1,2,…)
TBL …テーブル
1s〜Ns…着工承認者(着工の承認主体)
1c〜Mc…完成承認者(完成の承認主体)
10 ... Production control computer (node computer, production control terminal equipment)
11 ... Procurement management computer (node computer, production control terminal equipment)
13a ... Supplier computer (node computer, production control terminal equipment)
13b ... Supplier computer (node computer, production control terminal equipment)
15 ... Quality control computer (node computer, production control terminal equipment)
17a ... 1st manufacturing control product computer (node computer, production control terminal device)
17b ... Second manufacturing control product computer (node computer, production control terminal device)
18 ... Production control program 100 ... Communication network 111 ... CPU
112 ... Memory 117 ... Network interface memory 120 ... Auxiliary storage 121 ... Production control program 123 ... Shared area (shared storage)
TAk ... Transaction (k = 1, 2, ...)
TDk ... Transaction data (k = 1, 2, ...)
RRF ... Latest reference TPk ... Template (k = 1, 2, ...)
BLKk ... Block header (k = 1, 2, ...)
TBL ... Table 1s-Ns ... Start of construction approver (main body of approval of start of construction)
1c ~ Mc ... Completion approver (completion approver body)

Claims (23)

製品の生産に必要な部材の手配のための物流管理および当該部材を用いた製造のための工程管理を含む生産管理を行うためのプログラムであって、
通信ネットワークと当該通信ネットワークにより互いに接続された複数のノードコンピュータとを含み前記生産管理のためのブロックチェーンを形成すべき分散システムにおけるノードコンピュータに、
前記製品の製造に必要な情報を生産情報として受け取る入力ステップと、
前記生産管理の対象となる作業を構成する複数の単位作業のいずれかの開始指示を受け取ると、当該開始指示に基づき開始すべき単位作業に対応するトランザクションデータを前記生産情報に基づき生成するトランザクション生成ステップと、
前記開始すべき単位作業に対応するトランザクションデータが生成されると、当該単位作業の着工の承認を得るための処理を実行する着工承認取得ステップと、
前記開始すべき単位作業の着工の承認が得られた後に、当該単位作業の着工指示を発行する着工指示ステップと、
前記開始すべき単位作業の着工指示が発行された後に、当該着工指示に基づき着工された単位作業の結果情報を受け取る作業結果受領ステップと、
前記着工された単位作業の結果情報が得られると、前記生成されたトランザクションデータに当該結果情報を組み込んだ後、当該トランザクションデータに基づき当該単位作業の完成の承認を得るための処理を実行する完成承認取得ステップと、
前記着工された単位作業の完成の承認が得られた後、完成の承認が得られた単位作業に対応するトランザクションデータを含む新たなブロックを前記ブロックチェーンに追加するブロックチェーン更新ステップと、
前記着工された単位作業の完成の承認が得られた後、前記複数の単位作業につき予め決められた実行順序に基づき、当該単位作業の次に実行すべき単位作業を開始させるための後続実行設定ステップと
を実行させ、
前記ブロックチェーンは、前記完成の承認が得られた単位作業に対応するトランザクションデータと、当該トランザクションデータのハッシュ値を含むブロックヘッダを前記完成の承認が得られた順に連結して構成されるブロックチェーン構成データとを含み、
前記ブロックチェーン更新ステップでは、前記着工された単位作業の完成の承認が得られたときに、当該完成の承認が得られた単位作業に対応するトランザクションデータのハッシュ値を含む新たなブロックヘッダが前記ブロックチェーン構成データに追加される、プログラム。
It is a program for performing production control including distribution control for arranging parts necessary for product production and process control for manufacturing using the parts.
A node computer in a distributed system that includes a communication network and a plurality of node computers connected to each other by the communication network to form a blockchain for production control.
An input step that receives information necessary for manufacturing the product as production information,
When a start instruction of any of a plurality of unit works constituting the work subject to the production control is received, transaction data corresponding to the unit work to be started based on the start instruction is generated based on the production information. Steps and
When the transaction data corresponding to the unit work to be started is generated, the construction start approval acquisition step for executing the process for obtaining the approval for the start of the unit work, and the construction start approval acquisition step.
After the approval for the start of the unit work to be started is obtained, the start instruction step for issuing the start instruction for the unit work and the start instruction step.
After the construction start instruction of the unit work to be started is issued, the work result receiving step of receiving the result information of the unit work started based on the construction start instruction, and the work result receiving step.
When the result information of the unit work started is obtained, the result information is incorporated into the generated transaction data, and then a process for obtaining approval for the completion of the unit work is executed based on the transaction data. Approval acquisition step and
After the completion approval of the unit work started is obtained, a blockchain update step of adding a new block containing transaction data corresponding to the unit work for which the completion approval has been obtained to the blockchain, and
Subsequent execution setting for starting the unit work to be executed next to the unit work based on the predetermined execution order for the plurality of unit works after the completion approval of the started unit work is obtained. To perform steps and
The blockchain is a blockchain formed by concatenating transaction data corresponding to a unit work for which completion approval has been obtained and a block header containing a hash value of the transaction data in the order in which completion approval has been obtained. Including configuration data
In the blockchain update step, when the completion approval of the unit work started is obtained, a new block header containing the hash value of the transaction data corresponding to the unit work for which the completion approval is obtained is described. A program that is added to the blockchain configuration data.
前記分散システムは、前記複数のノードコンピュータのいずれもがアクセス可能であって前記完成の承認が得られた単位作業に対応するトランザクションデータを保持する第1の共有記憶部を備える、請求項1に記載のプログラム。 The distributed system includes a first shared storage unit that holds transaction data corresponding to the unit work for which the completion approval has been obtained, which is accessible to all of the plurality of node computers. Described program. 前記分散システムは、前記複数のノードコンピュータのいずれもがアクセス可能であって前記ブロックチェーン構成データを保持する第2の共有記憶部を更に備える、請求項1に記載のプログラム。 The program according to claim 1, wherein the distributed system further includes a second shared storage unit that is accessible to all of the plurality of node computers and holds the blockchain configuration data. 前記複数のノードコンピュータのそれぞれは、前記ブロックチェーン構成データを保持しており、
前記ブロックチェーン更新ステップは、
前記完成の承認が得られた単位作業に対応するトランザクションデータを含む新たなブロックを前記ブロックチェーンに追加すべきときに、当該対応するトランザクションデータを前記第1の共有記憶部に格納するデータ書込ステップと、
前記新たなブロックを前記ブロックチェーンに追加すべきときに、前記対応するトランザクションデータが生成されたノードコンピュータにおけるブロックチェーン構成データに前記対応するトランザクションデータのハッシュ値を含むブロックヘッダを追加するブロック生成更新ステップと、
前記対応するトランザクションデータが前記第1の共有記憶部に格納され、かつ、前記対応するトランザクションデータのハッシュ値を含むブロックヘッダが前記ブロックチェーン構成データに追加されると、当該新たなブロックの追加を示すブロック追加通知を前記分散システムにおける他のノードコンピュータが受信可能に前記通信ネットワークに送出するブロック追加通知ステップと、
新たなブロックの追加を示すブロック追加通知を前記通信ネットワークを介して受け取ると、当該ブロック追加通知を受け取ったノードコンピュータにおけるブロックチェーン構成データに、当該新たなブロックにおけるトランザクションデータのハッシュ値を含むブロックヘッダを追加するブロック受信更新ステップと
を含む、請求項2に記載のプログラム。
Each of the plurality of node computers holds the blockchain configuration data, and
The blockchain update step
When a new block containing transaction data corresponding to the unit work for which completion approval has been obtained should be added to the blockchain, data writing for storing the corresponding transaction data in the first shared storage unit. Steps and
When the new block should be added to the blockchain, a block generation update that adds a block header containing a hash value of the corresponding transaction data to the blockchain configuration data in the node computer in which the corresponding transaction data was generated. Steps and
When the corresponding transaction data is stored in the first shared storage unit and a block header containing a hash value of the corresponding transaction data is added to the blockchain configuration data, the new block is added. A block addition notification step of sending the indicated block addition notification to the communication network so that other node computers in the distributed system can receive it, and
When a block addition notification indicating the addition of a new block is received via the communication network, the block header containing the hash value of the transaction data in the new block in the blockchain configuration data in the node computer that received the block addition notification. The program according to claim 2, comprising a block reception update step to add.
単位作業の開始指示の入力操作を受け付ける操作受付ステップを更に備え、
前記後続実行設定ステップは、前記ブロック追加通知ステップにおいて前記ブロック追加通知が送出されたときに、前記予め決められた実行順序に基づき次に実行すべき単位作業を実行可能な単位作業として表示し、前記ブロック受信更新ステップにおいて前記ブロック追加通知が受け取られたときに、前記予め決められた実行順序に基づき次に実行すべき単位作業を実行可能な単位作業として表示する表示ステップを含み、
前記トランザクション生成ステップでは、前記表示ステップにより前記実行可能な単位作業が表示されているときに前記入力操作が受け付けられると、前記実行可能な単位作業が開始すべき単位作業とされ、当該開始すべき単位作業に対応するトランザクションデータが生成される、請求項4に記載のプログラム。
It also has an operation reception step that accepts input operations for unit work start instructions.
In the subsequent execution setting step, when the block addition notification is sent in the block addition notification step, the unit work to be executed next based on the predetermined execution order is displayed as a unit work that can be executed. The block reception update step includes a display step of displaying the unit work to be executed next based on the predetermined execution order as a unit work that can be executed when the block addition notification is received.
In the transaction generation step, when the input operation is accepted while the executable unit work is displayed by the display step, the executable unit work is regarded as a unit work to be started and should be started. The program according to claim 4, wherein transaction data corresponding to unit work is generated.
前記通信ネットワークを介して単位作業の開始指示を受信する開始指示受信ステップを更に備え、
前記複数のノードコンピュータは、前記複数の単位作業にそれぞれ対応付けられており、
前記後続実行設定ステップは、
前記ブロック追加通知ステップにおいて前記ブロック追加通知が送出されたときに、前記予め決められた実行順序に基づき次に実行すべき単位作業を決定する後続決定ステップと、
当該決定された単位作業の開始指示を当該単位作業に対応付けられたノードコンピュータに送信する後続送信ステップとを含み、
前記トランザクション生成ステップでは、前記開始指示受信ステップにより単位作業の開始指示が受信されると、当該単位作業に対応するトランザクションデータが生成される、請求項4に記載のプログラム。
Further provided with a start instruction receiving step of receiving a unit work start instruction via the communication network.
The plurality of node computers are associated with the plurality of unit operations, respectively.
The subsequent execution setting step is
When the block addition notification is sent in the block addition notification step, a subsequent determination step of determining the unit work to be executed next based on the predetermined execution order, and a subsequent determination step.
Including a subsequent transmission step of transmitting the determined unit work start instruction to the node computer associated with the unit work.
The program according to claim 4, wherein in the transaction generation step, when a start instruction of a unit work is received by the start instruction receiving step, transaction data corresponding to the unit work is generated.
前記分散システムは、前記複数のノードコンピュータのいずれもがアクセス可能な記憶部であって、前記予め決められた実行順序を示す順序情報を記憶しているとともに前記複数の単位作業のそれぞれにつき対応するトランザクションデータを生成すべきノードコンピュータの識別情報を記憶している記憶部を含み、
前記後続決定ステップでは、前記記憶部に記憶された前記順序情報を参照することにより、前記次に実行すべき単位作業が決定され、
前記後続送信ステップでは、前記記憶部に記憶された前記識別情報が示すノードコンピュータに、前記次に実行すべき単位作業の開始指示が送信される、請求項6に記載のプログラム。
The distributed system is a storage unit accessible to all of the plurality of node computers, stores order information indicating the predetermined execution order, and corresponds to each of the plurality of unit operations. Contains a storage unit that stores the identification information of the node computer from which transaction data should be generated.
In the subsequent determination step, the unit work to be executed next is determined by referring to the order information stored in the storage unit.
The program according to claim 6, wherein in the subsequent transmission step, an instruction to start the unit work to be executed next is transmitted to the node computer indicated by the identification information stored in the storage unit.
前記分散システムは、前記複数のノードコンピュータのいずれもがアクセス可能な記憶部であって、前記複数の単位作業にそれぞれ対応する複数のトランザクションデータのテンプレートを記憶している記憶部を含み、
各トランザクションデータのテンプレートは、対応する単位作業につき着工の承認主体および完成の承認主体の識別情報を含んでおり、
前記トランザクションデータ生成ステップでは、前記開始すべき単位作業に対応するトランザクションデータは、当該トランザクションデータのテンプレートおよび前記生産情報に基づき生成され、
前記着工承認取得ステップでは、前記開始すべき単位作業に対応するトランザクションデータに含まれる前記着工の承認主体の識別情報に基づき当該単位作業の着工の承認を得るための処理が実行され、
前記完成承認取得ステップでは、前記着工された単位作業に対応するトランザクションデータに含まれる前記完成の承認主体の識別情報に基づき当該単位作業の完成の承認を得るための処理が実行される、請求項1に記載のプログラム。
The distributed system includes a storage unit that is accessible to all of the plurality of node computers and stores a plurality of transaction data templates corresponding to the plurality of unit operations.
Each transaction data template contains identification information of the approver of the start and the approver of the completion for the corresponding unit work.
In the transaction data generation step, transaction data corresponding to the unit work to be started is generated based on the transaction data template and the production information.
In the construction start approval acquisition step, a process for obtaining approval for the start of the unit work is executed based on the identification information of the approval entity of the construction start included in the transaction data corresponding to the unit work to be started.
In the completion approval acquisition step, a process for obtaining approval for completion of the unit work is executed based on the identification information of the completion approval entity included in the transaction data corresponding to the unit work started. The program described in 1.
前記着工承認取得ステップでは、前記開始すべき単位作業の着工につき複数の承認主体が決められている場合には、当該複数の承認主体の全てにより当該着工が承認されたことが判明したときに、当該着工の承認が得られたとみなされ、
前記完成承認取得ステップでは、前記着工された単位作業の完成につき複数の承認主体が決められている場合には、当該複数の承認主体の全てにより当該完成が承認されたことが判明したときに、当該完成の承認が得られたとみなされる、請求項8に記載のプログラム。
In the construction start approval acquisition step, when a plurality of approval entities are determined for the start of the unit work to be started, when it is found that the construction has been approved by all of the plurality of approval entities. It is considered that the approval of the start of construction has been obtained,
In the completion approval acquisition step, when a plurality of approval entities are determined for the completion of the unit work started, when it is found that the completion is approved by all of the plurality of approval entities. The program of claim 8, which is deemed to have been approved for completion.
各トランザクションデータのテンプレートは、対応する単位作業の次に実行すべき単位作業の識別情報、および、当該次に実行すべき単位作業に対応するトランザクションデータを生成するノードコンピュータの識別情報を更に含み、
前記後続実行設定ステップでは、前記対応するトランザクションデータのテンプレートに記憶された前記単位作業の識別情報が示す単位作業の開始指示が、当該テンプレートに記憶された前記ノードコンピュータの識別情報が示すノードコンピュータに送信される、請求項8に記載のプログラム。
Each transaction data template further includes identification information for the unit work to be performed next to the corresponding unit work and identification information for the node computer that generates the transaction data corresponding to the unit work to be performed next.
In the subsequent execution setting step, the unit work start instruction indicated by the unit work identification information stored in the corresponding transaction data template is sent to the node computer indicated by the node computer identification information stored in the template. The program according to claim 8, which is transmitted.
前記複数の単位作業は、前記製品の生産に必要な部材の調達、当該部材の品質管理、および、当該製品を製造する各生産工程を含む、請求項1から10のいずれか1項に記載のプログラム。 The plurality of unit operations according to any one of claims 1 to 10, which include procurement of parts necessary for the production of the product, quality control of the parts, and each production process for manufacturing the product. program. 前記通信ネットワークはインターネットである、請求項1から10のいずれか1項に記載のプログラム。 The program according to any one of claims 1 to 10, wherein the communication network is the Internet. 製品の生産に必要な部材の手配のための物流管理および当該部材を用いた製造のための工程管理を含む生産管理を行う生産管理システムにおける生産管理端末装置であって、
前記生産管理システムは、前記生産管理端末装置を含む複数の生産管理端末装置と、当該複数の生産産管理端末を互いに接続する通信ネットワークとを含み、前記生産管理のためのブロックチェーンを形成すべき分散システムであり、
前記生産管理端末装置は、
前記製品の製造に必要な情報を生産情報として受け取る入力部と、
前記生産管理の対象となる作業を構成する複数の単位作業のいずれかの開始指示を受け取ると、当該開始指示に基づき開始すべき単位作業に対応するトランザクションデータを前記生産情報に基づき生成するトランザクション生成部と、
前記開始すべき単位作業に対応するトランザクションデータが生成されると、当該単位作業の着工の承認を得るための処理を実行する着工承認取得部と、
前記開始すべき単位作業の着工の承認が得られた後、当該単位作業の着工指示を発行する着工指示部と、
前記開始すべき単位作業の着工指示が発行された後、当該着工指示に基づき着工された単位作業の結果情報を受け取る作業結果受領部と、
前記着工された単位作業の結果情報が得られると、前記生成されたトランザクションデータに当該結果情報を組み込んだ後、当該トランザクションデータに基づき当該単位作業の完成の承認を得るための処理を実行する完成承認取得部と、
前記着工された単位作業の完成の承認が得られた後、完成の承認が得られた単位作業に対応するトランザクションデータを含む新たなブロックを前記ブロックチェーンに追加するブロックチェーン更新部と、
前記着工された単位作業の完成の承認が得られた後、前記複数の単位作業につき予め決められた実行順序に基づき、当該単位作業の次に実行すべき単位作業を開始させるための後続実行設定部とを含み、
前記ブロックチェーンは、前記完成の承認が得られた単位作業に対応するトランザクションデータと、当該トランザクションデータのハッシュ値を含むブロックヘッダを前記完成の承認が得られた順に連結して構成されるブロックチェーン構成データとを含み、
前記ブロックチェーン更新部は、前記着工された単位作業の完成の承認が得られたときに、当該完成の承認が得られた単位作業に対応するトランザクションデータのハッシュ値を含む新たなブロックヘッダを前記ブロックチェーン構成データに追加する、生産管理端末装置。
It is a production control terminal device in a production control system that performs production control including distribution control for arranging parts necessary for product production and process control for manufacturing using the parts.
The production control system includes a plurality of production control terminal devices including the production control terminal device and a communication network connecting the plurality of production control terminals to each other, and should form a block chain for the production control. It is a distributed system
The production control terminal device is
An input unit that receives information necessary for manufacturing the product as production information,
When a start instruction of any of a plurality of unit works constituting the work subject to the production control is received, transaction data corresponding to the unit work to be started based on the start instruction is generated based on the production information. Department and
When the transaction data corresponding to the unit work to be started is generated, the construction start approval acquisition unit that executes the process for obtaining the approval for the start of the unit work, and the construction start approval acquisition unit.
After obtaining the approval to start the unit work to be started, the construction start instruction unit that issues the start instruction of the unit work, and
After the construction start instruction of the unit work to be started is issued, the work result receiving unit that receives the result information of the unit work started based on the construction start instruction, and
When the result information of the unit work started is obtained, the result information is incorporated into the generated transaction data, and then a process for obtaining approval for the completion of the unit work is executed based on the transaction data. Approval acquisition department and
A blockchain update unit that adds a new block containing transaction data corresponding to the unit work for which the completion approval has been obtained to the blockchain after the completion approval of the unit work started is obtained.
Subsequent execution setting for starting the unit work to be executed next to the unit work based on the predetermined execution order for the plurality of unit works after the completion approval of the started unit work is obtained. Including part
The blockchain is a blockchain formed by concatenating transaction data corresponding to a unit work for which completion approval has been obtained and a block header containing a hash value of the transaction data in the order in which completion approval has been obtained. Including configuration data
When the approval for the completion of the unit work started is obtained, the blockchain update unit provides a new block header containing a hash value of transaction data corresponding to the unit work for which the approval for completion has been obtained. Production control terminal equipment to be added to blockchain configuration data.
前記分散システムは、前記複数のノードコンピュータのいずれもがアクセス可能であって前記完成の承認が得られた単位作業に対応するトランザクションデータを保持する第1の共有記憶部を備える、請求項13に記載の生産管理端末装置。 13. The distributed system includes a first shared storage unit that holds transaction data corresponding to the unit work for which the completion approval has been obtained, which is accessible to all of the plurality of node computers. The production control terminal equipment described. 前記分散システムは、前記複数のノードコンピュータのいずれもがアクセス可能であって前記ブロックチェーンに対応するブロックチェーン構成データを保持する第2の共有記憶部を更に備える、請求項14に記載の生産管理端末装置。 The production control according to claim 14, wherein the distributed system further includes a second shared storage unit that is accessible to all of the plurality of node computers and holds blockchain configuration data corresponding to the blockchain. Terminal device. 前記複数の生産管理端末装置のそれぞれは、前記ブロックチェーン構成データを保持しており、
前記ブロックチェーン更新部は、
前記完成の承認が得られた単位作業に対応するトランザクションデータを含む新たなブロックを前記ブロックチェーンに追加すべきときに、当該対応するトランザクションデータを前記第1の共有記憶部に格納するデータ書込部と、
前記新たなブロックを前記ブロックチェーンに追加すべきときに、前記対応するトランザクションデータのハッシュ値を含むブロックヘッダを前記ブロックチェーン構成データに追加するブロック生成更新部と、
前記対応するトランザクションデータが前記第1の共有記憶部に格納され、かつ、前記対応するトランザクションデータのハッシュ値を含むブロックヘッダが前記ブロックチェーン構成データに追加されると、当該新たなブロックの追加を示すブロック追加通知を前記分散システムにおける他の生産管理端末装置が受信可能に前記通信ネットワークに送出するブロック追加通知部と、
新たなブロックの追加を示すブロック追加通知を前記通信ネットワークを介して受け取ると、当該新たなブロックにおけるトランザクションデータのハッシュ値を含むブロックヘッダを前記ブロックチェーン構成データに追加するブロック受信更新部とを含む、請求項14に記載の生産管理端末装置。
Each of the plurality of production control terminal devices holds the blockchain configuration data.
The blockchain update unit
When a new block containing transaction data corresponding to the unit work for which completion approval has been obtained should be added to the blockchain, data writing for storing the corresponding transaction data in the first shared storage unit. Department and
A block generation update unit that adds a block header containing a hash value of the corresponding transaction data to the blockchain configuration data when the new block should be added to the blockchain.
When the corresponding transaction data is stored in the first shared storage and a block header containing a hash value of the corresponding transaction data is added to the blockchain configuration data, the new block is added. A block addition notification unit that sends the block addition notification shown to the communication network so that other production management terminal devices in the distributed system can receive it, and
When a block addition notification indicating the addition of a new block is received via the communication network, a block reception update unit that adds a block header containing a hash value of transaction data in the new block to the blockchain configuration data is included. The production control terminal device according to claim 14.
単位作業の開始指示の入力操作を受け付ける操作受付部を更に備え、
前記後続実行設定部は、前記ブロック追加通知部において前記ブロック追加通知が送出されたときに、前記予め決められた実行順序に基づき次に実行すべき単位作業を実行可能な単位作業として表示し、前記ブロック受信更新部において前記ブロック追加通知が受け取られたときに、前記予め決められた実行順序に基づき次に実行すべき単位作業を実行可能な単位作業として表示する表示部を含み、
前記トランザクション生成部は、前記表示部により前記実行可能な単位作業が表示されているときに前記入力操作が受け付けられると、前記実行可能な単位作業を開始すべき単位作業とし、当該単位作業に対応するトランザクションデータを生成する、請求項16に記載の生産管理端末装置。
It also has an operation reception unit that accepts input operations for unit work start instructions.
When the block addition notification is sent by the block addition notification unit, the subsequent execution setting unit displays the unit work to be executed next based on the predetermined execution order as a unit work that can be executed. The block reception update unit includes a display unit that displays the unit work to be executed next based on the predetermined execution order as a unit work that can be executed when the block addition notification is received.
When the input operation is received while the feasible unit work is displayed by the display unit, the transaction generation unit sets the feasible unit work as a unit work to be started and corresponds to the unit work. The production control terminal device according to claim 16, wherein the transaction data to be generated is generated.
前記通信ネットワークを介して単位作業の開始指示を受信する開始指示受信部を更に備え、
前記複数の生産管理端末装置は、前記複数の単位作業にそれぞれ対応付けられており、
前記後続実行設定部は、
前記ブロック追加通知部において前記ブロック追加通知が送出されたとき、前記予め決められた実行順序に基づき次に実行すべき単位作業を決定する後続決定部と、
当該決定された単位作業の開始指示を当該単位作業に対応付けられた生産管理端末装置に送信する後続送信部とを含み、
前記トランザクション生成部は、前記開始指示受信部により単位作業の開始指示が受信されると、当該単位作業に対応するトランザクションデータを生成する、請求項16に記載の生産管理端末装置。
A start instruction receiving unit for receiving a unit work start instruction via the communication network is further provided.
The plurality of production control terminal devices are associated with the plurality of unit operations, respectively.
The subsequent execution setting unit is
When the block addition notification is sent in the block addition notification unit, a subsequent determination unit that determines the unit work to be executed next based on the predetermined execution order, and the subsequent determination unit.
Including a subsequent transmission unit that transmits a start instruction of the determined unit work to the production control terminal device associated with the unit work.
The production control terminal device according to claim 16, wherein the transaction generation unit generates transaction data corresponding to the unit work when the start instruction of the unit work is received by the start instruction receiving unit.
製品の生産に必要な部材の手配のための物流管理および当該部材を用いた製造のための工程管理を含む生産管理を行う生産管理方法であって、
前記製品の設計情報を受け取り、前記製品の製造に必要な情報を当該設計情報に基づき生産情報として生成するとともに、通信ネットワークと当該通信ネットワークにより互いに接続された複数の生産管理端末装置とを含む分散システムにおいて前記生産管理のためのブロックチェーンを形成するための準備を行う準備ステップと、
前記生産管理の対象となる作業を構成する複数の単位作業にそれぞれ対応する複数のトランザクションデータを前記生産情報に基づき順次に生成するトランザクション生成ステップと、
前記トランザクション生成ステップによりいずれかのトランザクションデータが生成されると、当該生成されたトランザクションデータに対応する単位作業の着工の承認を得るための処理を実行する着工承認取得ステップと、
前記対応する単位作業の着工の承認が得られた後に、前記対応する単位作業の着工指示を発行する着工指示ステップと、
前記対応する単位作業の着工指示が発行された後に、前記対応する単位作業の結果情報を受け取る作業結果受領ステップと、
前記対応する単位作業の結果情報が得られると、前記生成されたトランザクションデータに当該結果情報を組み込んだ後、当該トランザクションデータに基づき前記対応する単位作業の完成の承認を得るための処理を実行する完成承認取得ステップと、
前記対応する単位作業の完成の承認が得られた後、完成の承認が得られた単位作業に対応するトランザクションデータを含む新たなブロックを前記ブロックチェーンに追加するブロックチェーン更新ステップと、
前記着工された単位作業の完成の承認が得られた後、前記複数の単位作業につき予め決められた実行順序に基づき、当該単位作業の次に実行すべき単位作業を決定する後続実行設定ステップと
を備え、
前記ブロックチェーンは、前記完成の承認が得られた単位作業に対応するトランザクションデータと、当該トランザクションデータのハッシュ値を含むブロックヘッダを前記完成の承認が得られた順に連結して構成されるブロックチェーン構成データとを含み、
前記ブロックチェーン更新ステップでは、前記着工された単位作業の完成の承認が得られたときに、当該完成の承認が得られた単位作業に対応するトランザクションデータのハッシュ値を含む新たなブロックヘッダが前記ブロックチェーン構成データに追加され、
前記トランザクション生成ステップでは、前記後続実行ステップにより次に実行すべき単位作業が決定されると、当該決定された単位作業に対応するトランザクションデータが生成される、生産管理方法。
It is a production control method that performs production control including distribution control for arranging parts necessary for product production and process control for manufacturing using the parts.
Receives the design information of the product, generates the information necessary for manufacturing the product as production information based on the design information, and distributes the communication network and a plurality of production control terminal devices connected to each other by the communication network. A preparatory step to prepare for forming the blockchain for production control in the system, and
A transaction generation step that sequentially generates a plurality of transaction data corresponding to each of a plurality of unit works constituting the work subject to the production control based on the production information, and a transaction generation step.
When any transaction data is generated by the transaction generation step, a construction start approval acquisition step for executing a process for obtaining approval for the start of unit work corresponding to the generated transaction data, and a construction start approval acquisition step.
After the approval for the start of the corresponding unit work is obtained, the construction start instruction step for issuing the construction start instruction for the corresponding unit work, and the construction start instruction step.
After the construction start instruction of the corresponding unit work is issued, the work result receiving step of receiving the result information of the corresponding unit work, and
When the result information of the corresponding unit work is obtained, the result information is incorporated into the generated transaction data, and then a process for obtaining approval for completion of the corresponding unit work is executed based on the transaction data. Completion approval acquisition step and
After the completion approval of the corresponding unit work is obtained, a blockchain update step of adding a new block containing transaction data corresponding to the unit work for which the completion approval has been obtained to the blockchain, and
After obtaining approval for the completion of the unit work that has started, the subsequent execution setting step that determines the unit work to be executed next to the unit work based on the predetermined execution order for the plurality of unit work. With
The blockchain is a blockchain formed by concatenating transaction data corresponding to a unit work for which completion approval has been obtained and a block header containing a hash value of the transaction data in the order in which completion approval has been obtained. Including configuration data
In the blockchain update step, when the completion approval of the unit work started is obtained, a new block header containing the hash value of the transaction data corresponding to the unit work for which the completion approval is obtained is described. Added to blockchain configuration data
In the transaction generation step, when the unit work to be executed next is determined by the subsequent execution step, transaction data corresponding to the determined unit work is generated, which is a production control method.
前記複数の生産管理端末装置は、前記複数の単位作業にそれぞれ対応付けられており、
前記トランザクション生成ステップでは、いずれのトランザクションデータも当該トランザクションデータに対応する単位作業に対応付けられた生産管理端末装置において生成される、請求項19に記載の生産管理方法。
The plurality of production control terminal devices are associated with the plurality of unit operations, respectively.
The production control method according to claim 19, wherein in the transaction generation step, any transaction data is generated in the production control terminal device associated with the unit work corresponding to the transaction data.
前記複数の単位作業のそれぞれにつき着工の承認主体および完成の承認主体が予め決められており、
前記着工承認取得ステップでは、前記生成されたトランザクションデータに対応する単位作業の着工につき複数の承認主体が決められている場合には、当該複数の承認主体の全てにより当該着工が承認されたことが判明したときに、当該着工の承認が得られたとみなされ、
前記完成承認取得ステップでは、前記生成されたトランザクションデータに対応する単位作業の完成につき複数の承認主体が決められている場合には、当該複数の承認主体の全てにより当該完成が承認されたことが判明したときに、当該完成の承認が得られたとみなされる、請求項19に記載の生産管理方法。
The approval body for starting construction and the approval body for completion are predetermined for each of the plurality of unit works.
In the construction start approval acquisition step, when a plurality of approval bodies are determined for the start of the unit work corresponding to the generated transaction data, the construction start is approved by all of the plurality of approval bodies. When it is found, it is considered that the approval of the start of construction has been obtained,
In the completion approval acquisition step, when a plurality of approval entities are determined for the completion of the unit work corresponding to the generated transaction data, the completion is approved by all of the plurality of approval entities. The production control method according to claim 19, wherein when it is found, the approval of the completion is considered to be obtained.
製品の生産に必要な部材の手配のための物流管理および当該部材を用いた製造のための工程管理を含む生産管理を行う生産管理システムであって、
通信ネットワークと、
前記通信ネットワークにより互いに接続された複数の生産管理端末装置とを備え、
前記通信ネットワークと前記複数の生産管理端末装置とは、前記生産管理のためのブロックチェーンを形成する分散システムを構成し、
前記分散システムは、
前記製品の設計情報を受け取り、前記製品の製造に必要な情報を当該設計情報に基づき生産情報として生成する生産情報生成部と、
前記生産管理の対象となる作業を構成する複数の単位作業にそれぞれ対応する複数のトランザクションデータを前記生産情報に基づき順次に生成するトランザクション生成部と、
前記トランザクション生成部によりいずれかのトランザクションデータが生成されると、当該生成されたトランザクションデータに対応する単位作業の着工の承認を得るための処理を実行する着工承認取得部と、
前記対応する単位作業の着工の承認が得られた後に、前記対応する単位作業の着工指示を発行する着工指示発行部と、
前記対応する単位作業の着工指示が発行された後に、前記対応する単位作業の結果情報を受け取る作業結果受領部と、
前記対応する単位作業の結果情報が得られると、前記生成されたトランザクションデータに当該結果情報を組み込んだ後、当該トランザクションデータに基づき前記対応する単位作業の完成の承認を得るための処理を実行する完成承認取得部と、
前記対応する単位作業の完成の承認が得られた後、完成の承認が得られた単位作業に対応するトランザクションデータを含む新たなブロックを前記ブロックチェーンに追加するブロックチェーン更新部と、
前記着工された単位作業の完成の承認が得られた後、前記複数の単位作業につき予め決められた実行順序に基づき、当該単位作業の次に実行すべき単位作業を決定する後続実行設定部と
を備え、
前記ブロックチェーンは、前記完成の承認が得られた単位作業に対応するトランザクションデータと、当該トランザクションデータのハッシュ値を含むブロックヘッダを前記完成の承認が得られた順に連結して構成されるブロックチェーン構成データとを含み、
前記ブロックチェーン更新部は、前記着工された単位作業の完成の承認が得られたときに、当該完成の承認が得られた単位作業に対応するトランザクションデータのハッシュ値を含む新たなブロックヘッダを前記ブロックチェーン構成データに追加し、
前記トランザクション生成部は、前記後続実行設定部により次に実行すべき単位作業が決定されると、当該決定された単位作業に対応するトランザクションデータを生成する、生産管理システム。
It is a production control system that performs production control including distribution control for arranging parts necessary for product production and process control for manufacturing using the parts.
Communication network and
A plurality of production control terminal devices connected to each other by the communication network are provided.
The communication network and the plurality of production control terminal devices form a distributed system that forms a blockchain for the production control.
The distributed system
A production information generation unit that receives design information of the product and generates information necessary for manufacturing the product as production information based on the design information.
A transaction generation unit that sequentially generates a plurality of transaction data corresponding to each of a plurality of unit works constituting the work subject to the production control based on the production information.
When any transaction data is generated by the transaction generation unit, a construction start approval acquisition unit that executes a process for obtaining approval for the start of unit work corresponding to the generated transaction data, and a construction start approval acquisition unit.
After obtaining the approval to start the construction of the corresponding unit work, the construction start instruction issuing department that issues the construction start instruction of the corresponding unit work, and
After the construction start instruction of the corresponding unit work is issued, the work result receiving unit that receives the result information of the corresponding unit work, and
When the result information of the corresponding unit work is obtained, the result information is incorporated into the generated transaction data, and then a process for obtaining approval for completion of the corresponding unit work is executed based on the transaction data. Completion approval acquisition department and
A blockchain update unit that adds a new block containing transaction data corresponding to the unit work for which the completion approval has been obtained to the blockchain after the completion approval of the corresponding unit work has been obtained.
After obtaining approval for the completion of the unit work that has started, the subsequent execution setting unit that determines the unit work to be executed next to the unit work based on the execution order predetermined for the plurality of unit work. With
The blockchain is a blockchain formed by concatenating transaction data corresponding to a unit work for which completion approval has been obtained and a block header containing a hash value of the transaction data in the order in which completion approval has been obtained. Including configuration data
When the approval for the completion of the unit work started is obtained, the blockchain update unit provides a new block header containing a hash value of transaction data corresponding to the unit work for which the approval for completion has been obtained. Add to blockchain configuration data,
The transaction generation unit is a production control system that generates transaction data corresponding to the determined unit work when the subsequent execution setting unit determines the unit work to be executed next.
製品の生産に必要な部材の手配のための物流管理および当該部材を用いた製造のための工程管理を含む生産管理を、通信ネットワークにより互いに接続されたサーバコンピュータおよび複数のクライアントコンピュータを含む分散システムにおいて行うためのプログラムであって、
前記サーバコンピュータが実行すべきサーバ側生産管理プログラムと、前記複数のクライアントコンピュータのそれぞれが実行すべきクライアント側生産管理プログラムとを含み、
前記クライアント側生産管理プログラムは、前記複数のクライアントコンピュータのそれぞれに、
前記製品の製造に必要な情報を生産情報として受け取る入力ステップと、
前記生産管理の対象となる作業を構成する複数の単位作業のうち次に実行すべき単位作業を知らせる実行可能単位作業通知を前記通信ネットワークを介して受け取り、当該実行可能単位作業通知に基づく単位作業の開始指示を受け取ると、当該開始指示に基づき開始すべき単位作業に対応するトランザクションデータを前記生産情報に基づき生成するトランザクション生成ステップと、
前記開始すべき単位作業に対応するトランザクションデータが生成されると、当該単位作業の着工の承認を得るための処理を実行する着工承認取得ステップと、
前記開始すべき単位作業の着工の承認が得られた後に、当該単位作業の着工指示を発行する着工指示ステップと、
前記開始すべき単位作業の着工指示が発行された後に、当該着工指示に基づき着工された単位作業の結果情報を受け取る作業結果受領ステップと、
前記着工された単位作業の結果情報が得られると、前記生成されたトランザクションデータに当該結果情報を組み込んだ後、当該トランザクションデータに基づき当該単位作業の完成の承認を得るための処理を実行する完成承認取得ステップと、
前記着工された単位作業の完成の承認が得られた後、当該完成の承認が得られた単位作業に対応するトランザクションデータを含む新たなブロックの前記ブロックチェーンへの追加を示すブロック追加通知を前記通信ネットワークを介して前記サーバコンピュータに送信するブロック追加通知ステップと
を実行させ、
前記サーバ側生産管理プログラムは、前記サーバコンピュータに前記生産管理のためのブロックチェーンを形成させるためのプログラムであって、前記サーバコンピュータに、
前記ブロック追加通知を前記通信ネットワークを介して受け取ると、前記ブロック追加通知が示す新たなブロックを前記ブロックチェーンに追加するブロックチェーン更新ステップと、
前記複数の単位作業につき予め決められた実行順序に基づき、前記複数の単位作業のうち次に実行すべき単位作業を知らせる実行可能単位作業通知を前記通信ネットワークに送出する後続実行設定ステップと
を実行させ、
前記ブロックチェーンは、前記完成の承認が得られた単位作業に対応するトランザクションデータと、当該トランザクションデータのハッシュ値を含むブロックヘッダを前記完成の承認が得られた順に連結して構成されるブロックチェーン構成データとを含み、
前記ブロックチェーン更新ステップでは、前記着工された単位作業の完成の承認が得られたときに、当該完成の承認が得られた単位作業に対応するトランザクションデータのハッシュ値を含む新たなブロックヘッダが前記ブロックチェーン構成データに追加される、プログラム。
A distributed system that includes a server computer and a plurality of client computers connected to each other by a communication network for production control including distribution control for arranging parts necessary for product production and process control for manufacturing using the parts. It is a program to do in
The server-side production control program to be executed by the server computer and the client-side production control program to be executed by each of the plurality of client computers are included.
The client-side production control program is applied to each of the plurality of client computers.
An input step that receives information necessary for manufacturing the product as production information,
A unit work based on the executable unit work notification is received via the communication network to notify the unit work to be executed next among the plurality of unit works constituting the work subject to the production control. When the start instruction of is received, the transaction generation step of generating the transaction data corresponding to the unit work to be started based on the start instruction based on the production information, and
When the transaction data corresponding to the unit work to be started is generated, the construction start approval acquisition step for executing the process for obtaining the approval for the start of the unit work, and the construction start approval acquisition step.
After the approval for the start of the unit work to be started is obtained, the start instruction step for issuing the start instruction for the unit work and the start instruction step.
After the construction start instruction of the unit work to be started is issued, the work result receiving step of receiving the result information of the unit work started based on the construction start instruction, and the work result receiving step.
When the result information of the unit work started is obtained, the result information is incorporated into the generated transaction data, and then a process for obtaining approval for the completion of the unit work is executed based on the transaction data. Approval acquisition step and
After the completion approval of the unit work started is obtained, the block addition notification indicating the addition of a new block containing the transaction data corresponding to the unit work for which the completion approval has been obtained to the blockchain is given. The block addition notification step to be transmitted to the server computer via the communication network is executed.
The server-side production control program is a program for causing the server computer to form a blockchain for the production control, and causes the server computer to form a blockchain.
Upon receiving the block addition notification via the communication network, a blockchain update step of adding a new block indicated by the block addition notification to the blockchain, and
Based on a predetermined execution order for the plurality of unit works, the subsequent execution setting step of sending an executable unit work notification to notify the unit work to be executed next among the plurality of unit works is executed. Let me
The blockchain is a blockchain formed by concatenating transaction data corresponding to a unit work for which completion approval has been obtained and a block header containing a hash value of the transaction data in the order in which completion approval has been obtained. Including configuration data
In the blockchain update step, when the completion approval of the unit work started is obtained, a new block header containing the hash value of the transaction data corresponding to the unit work for which the completion approval is obtained is described. A program that is added to the blockchain configuration data.
JP2019228887A 2019-12-19 2019-12-19 Production control system, production control method, and production control program Active JP7062629B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019228887A JP7062629B2 (en) 2019-12-19 2019-12-19 Production control system, production control method, and production control program
PCT/JP2020/047161 WO2021125267A1 (en) 2019-12-19 2020-12-17 Production control system, production control method, and production control program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019228887A JP7062629B2 (en) 2019-12-19 2019-12-19 Production control system, production control method, and production control program

Publications (2)

Publication Number Publication Date
JP2021096734A true JP2021096734A (en) 2021-06-24
JP7062629B2 JP7062629B2 (en) 2022-05-17

Family

ID=76431446

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019228887A Active JP7062629B2 (en) 2019-12-19 2019-12-19 Production control system, production control method, and production control program

Country Status (2)

Country Link
JP (1) JP7062629B2 (en)
WO (1) WO2021125267A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024053789A1 (en) * 2022-09-07 2024-03-14 주식회사 브로넥스 Process management system using micro-service architecture based on blockchain network

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002063240A (en) * 2000-06-06 2002-02-28 Mori Seiki Co Ltd Production management system
JP2003030488A (en) * 2001-07-12 2003-01-31 Heiwa Corp Manufacture supporting system and operation program
JP2009080530A (en) * 2007-09-25 2009-04-16 Class Technology Co Ltd Integrated component table preparation system, and integrated component table preparation method
JP2009187499A (en) * 2008-02-08 2009-08-20 Fujitsu Fsas Inc Maintenance management method and maintenance management system
JP2013003902A (en) * 2011-06-17 2013-01-07 Ntt Hometechno Corp Work information management device, work information management system and program
JP2013073511A (en) * 2011-09-28 2013-04-22 Hitachi Ltd Operation procedure management system and operation procedure management method
JP2016177624A (en) * 2015-03-20 2016-10-06 キヤノンマーケティングジャパン株式会社 Workflow management system, workflow management device, control method and program
WO2018111295A1 (en) * 2016-12-16 2018-06-21 Hitachi, Ltd. Blockchain monitoring and management
JP2018156612A (en) * 2017-03-21 2018-10-04 株式会社大和総研ビジネス・イノベーション Transaction recording system and program
JP2018169798A (en) * 2017-03-30 2018-11-01 三菱重工業株式会社 Process management system and process management method

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6835810B2 (en) * 2018-12-28 2021-02-24 株式会社Screenロジスティクス Production control system, production control method, and production control program

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002063240A (en) * 2000-06-06 2002-02-28 Mori Seiki Co Ltd Production management system
JP2003030488A (en) * 2001-07-12 2003-01-31 Heiwa Corp Manufacture supporting system and operation program
JP2009080530A (en) * 2007-09-25 2009-04-16 Class Technology Co Ltd Integrated component table preparation system, and integrated component table preparation method
JP2009187499A (en) * 2008-02-08 2009-08-20 Fujitsu Fsas Inc Maintenance management method and maintenance management system
JP2013003902A (en) * 2011-06-17 2013-01-07 Ntt Hometechno Corp Work information management device, work information management system and program
JP2013073511A (en) * 2011-09-28 2013-04-22 Hitachi Ltd Operation procedure management system and operation procedure management method
JP2016177624A (en) * 2015-03-20 2016-10-06 キヤノンマーケティングジャパン株式会社 Workflow management system, workflow management device, control method and program
WO2018111295A1 (en) * 2016-12-16 2018-06-21 Hitachi, Ltd. Blockchain monitoring and management
JP2018156612A (en) * 2017-03-21 2018-10-04 株式会社大和総研ビジネス・イノベーション Transaction recording system and program
JP2018169798A (en) * 2017-03-30 2018-11-01 三菱重工業株式会社 Process management system and process management method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024053789A1 (en) * 2022-09-07 2024-03-14 주식회사 브로넥스 Process management system using micro-service architecture based on blockchain network

Also Published As

Publication number Publication date
JP7062629B2 (en) 2022-05-17
WO2021125267A1 (en) 2021-06-24

Similar Documents

Publication Publication Date Title
JP6987594B2 (en) Access right management method, access right management system, and access right management device
JP6835810B2 (en) Production control system, production control method, and production control program
CN102460387A (en) Configuration and management of add-ons to digital application programs for network-based distribution
US20190012623A1 (en) Trade management method, trade management system and trade management device
CN102203815A (en) Electronic submission and management of digital products for network-based distribution
US20230088936A1 (en) Physical Storage Vault for Physical Items of Digital Twin NFTs
WO2021125267A1 (en) Production control system, production control method, and production control program
KR20200014682A (en) Apparatus for matching transactions for exchanging cryptocurrencies and method thereof
JP2010152795A (en) In-house book management system
JP6547304B2 (en) Shipping management device and program
JP5868692B2 (en) Algorithmic trading matching system and algorithmic trading integrated matching system provided with the same
WO2007132581A1 (en) Workflow system, management method, program, and recording medium
US20210287234A1 (en) Tracking manufacturing information
JP2005509931A (en) System and method for third party management of product manufacturing orders by sub-end users based on end-user approved products
JP4634840B2 (en) Asset management system, asset management method and program
JP2006259858A (en) Exhibit management system and computer program for managing exhibit
JP6603426B1 (en) Information processing program, information processing apparatus, and information processing method
US11748704B1 (en) Digital tags to facilitate production, collaboration, transparency, privacy, authentication, history, synchronization, ownership, and regulatory compliance during the creation and use of a product
JP2019160269A (en) Product-assessable distributed information construction system and method for distributed information construction
CN116610685B (en) Method, device, equipment and medium for updating standard information base
WO2017191672A1 (en) Production planning assist device, production planning assist system, and production planning assist method
US20230153904A1 (en) Systems and processes for peer-to-peer financial instrument transactions
JP6420873B2 (en) Financial product transaction management device, program
JP6181824B2 (en) Financial product transaction management device, program
JP2016177720A (en) Workflow device, control method thereof, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200501

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210126

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20210325

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210512

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211005

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211206

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220405

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220420

R150 Certificate of patent or registration of utility model

Ref document number: 7062629

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150