IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日立産機システムの特許一覧

特許7391903コード生成システムおよびコード生成方法
<>
  • 特許-コード生成システムおよびコード生成方法 図1
  • 特許-コード生成システムおよびコード生成方法 図2
  • 特許-コード生成システムおよびコード生成方法 図3
  • 特許-コード生成システムおよびコード生成方法 図4
  • 特許-コード生成システムおよびコード生成方法 図5
  • 特許-コード生成システムおよびコード生成方法 図6
  • 特許-コード生成システムおよびコード生成方法 図7
  • 特許-コード生成システムおよびコード生成方法 図8
  • 特許-コード生成システムおよびコード生成方法 図9
  • 特許-コード生成システムおよびコード生成方法 図10
  • 特許-コード生成システムおよびコード生成方法 図11
  • 特許-コード生成システムおよびコード生成方法 図12
  • 特許-コード生成システムおよびコード生成方法 図13
  • 特許-コード生成システムおよびコード生成方法 図14
  • 特許-コード生成システムおよびコード生成方法 図15
  • 特許-コード生成システムおよびコード生成方法 図16
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-27
(45)【発行日】2023-12-05
(54)【発明の名称】コード生成システムおよびコード生成方法
(51)【国際特許分類】
   G06Q 50/04 20120101AFI20231128BHJP
   G06Q 10/00 20230101ALI20231128BHJP
【FI】
G06Q50/04
G06Q10/00
【請求項の数】 15
(21)【出願番号】P 2021029671
(22)【出願日】2021-02-26
(65)【公開番号】P2022130975
(43)【公開日】2022-09-07
【審査請求日】2022-09-29
(73)【特許権者】
【識別番号】502129933
【氏名又は名称】株式会社日立産機システム
(74)【代理人】
【識別番号】110002365
【氏名又は名称】弁理士法人サンネクスト国際特許事務所
(72)【発明者】
【氏名】小檜山 智久
(72)【発明者】
【氏名】佐藤 貞男
(72)【発明者】
【氏名】相良 敦志
(72)【発明者】
【氏名】渡辺 能康
(72)【発明者】
【氏名】横田 英明
(72)【発明者】
【氏名】五十嵐 和明
(72)【発明者】
【氏名】川崎 博之
(72)【発明者】
【氏名】前田 勝則
(72)【発明者】
【氏名】藤原 圭吾
(72)【発明者】
【氏名】久恒 一修
【審査官】鈴木 和樹
(56)【参考文献】
【文献】特開2009-076055(JP,A)
【文献】特開2012-168639(JP,A)
【文献】特開2018-200598(JP,A)
【文献】米国特許第09710505(US,B1)
【文献】中国特許出願公開第111178900(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00 - 99/00
(57)【特許請求の範囲】
【請求項1】
企業の一部における管理対象を前記企業の一部で一意に識別する第1のコードと前記企業の一部を識別する第2のコードとを含む企業コードの情報から、前記管理対象の履歴を含む識別コードを生成する識別コード生成部と、前記識別コード生成部により生成された前記識別コードをハッシュ関数に従ってハッシュ化し、当該ハッシュ化した前記識別コードを無意味コードに変換するハッシュ処理部と、前記ハッシュ処理部で変換された前記無意味コードを基に前記企業全体で統一された参照コードを生成する参照コード生成部と、を備えることを特徴とするコード生成システム。
【請求項2】
請求項1に記載のコード生成システムであって、
前記参照コード生成部は、前記ハッシュ処理部で変換された前記無意味コードに対して、ヘッダとパリティを含む管理コードを付加して前記参照コードを生成することを特徴とするコード生成システム。
【請求項3】
請求項2に記載のコード生成システムであって、
前記参照コードの保存先となる管理テーブルを記憶する記憶部を更に備え、
前記参照コード生成部は、
前記参照コードを生成した際に、前記生成した前記参照コードと前記管理テーブルに記録された既存の参照コードとを比較し、前記生成した前記参照コードが前記管理テーブルに存在しないことを条件に、前記識別コード生成部により生成された前記識別コードと前記生成した前記参照コードとを関連づけて前記管理テーブルに記録することを特徴とするコード生成システム。
【請求項4】
請求項3に記載のコード生成システムであって、
前記参照コード生成部は、
前記生成した前記参照コードが前記管理テーブルに存在する場合、前記識別コード生成部により生成された前記識別コードに補正値を付加して新たな参照コードを生成し、前記生成した前記新たな参照コードが前記管理テーブルに存在しないことを条件に、前記識別コード生成部により生成された前記識別コードと前記生成した前記新たな参照コードとを関連づけて前記管理テーブルに記録することを特徴とするコード生成システム。
【請求項5】
請求項2に記載のコード生成システムであって、
前記参照コード生成部は、
前記生成した前記参照コードを二次元コードに変換し、前記変換した前記二次元コードを基にコード画像を生成することを特徴とするコード生成システム。
【請求項6】
請求項2に記載のコード生成システムであって、
前記管理対象の用途に応じて前記参照コードを複数のグループに分けて記録する複数の用途別管理テーブルと、前記管理対象の用途に対応した複数のヘッダの各々を前記複数の用途別管理テーブルの各々に対応づけて記録するヘッダ管理テーブルと、を記憶する記憶部を更に備え、
前記参照コード生成部は、
前記管理対象の用途を示す情報を受信した場合、前記受信した前記管理対象の用途を示す情報を基に前記ヘッダ管理テーブルを参照して、前記複数のヘッダの中から前記管理対象の用途に対応したヘッダを特定すると共に、前記複数の用途別管理テーブルの中から前記管理対象の用途に対応した用途別管理テーブルを特定し、前記特定したヘッダを基に前記参照コードを生成し、前記生成した前記参照コードを、前記特定した前記用途別管理テーブルに記録することを特徴とするコード生成システム。
【請求項7】
請求項3に記載のコード生成システムであって、
端末と情報の送受信を行うと共に、前記記憶部を検索先として検索する検索部を更に備え、
前記検索部は、
前記端末から前記参照コードを含む検索要求を受信した場合、前記検索要求に応答して前記記憶部を検索し、前記検索要求に付加された前記参照コードに対応する前記識別コードの情報を前記管理テーブルから抽出し、前記抽出した前記識別コードの情報を前記端末に送信することを特徴とするコード生成システム。
【請求項8】
請求項1に記載のコード生成システムであって、
前記管理対象は、
製品、部品、或いは調達品で構成され、
前記企業コードは、
前記管理対象が、前記製品の場合、前記製品の製品番号と、前記製品を製造した工場の工場コードであり、前記管理対象が、前記部品の場合、前記部品の製造番号と、前記部品を製造した工場の工場コードであり、前記管理対象が、前記調達品の場合、前記調達品を特定する調達品番号と、前記調達品を調達した工場の工場コードであることを特徴とするコード生成システム。
【請求項9】
識別コード生成部が、企業の一部における管理対象を前記企業の一部で一意に識別する第1のコードと前記企業の一部を識別する第2のコードとを含む企業コードの情報から、前記管理対象の履歴を含む識別コードを生成する識別コード生成ステップと、ハッシュ処理部が、前記識別コード生成ステップにより生成された前記識別コードをハッシュ関数に従ってハッシュ化し、前記ハッシュ化した前記識別コードを無意味コードに変換するハッシュ化ステップと、参照コード生成部が、前記ハッシュ化ステップで変換された前記無意味コードを基に前記企業全体で統一された参照コードを生成する参照コード生成ステップと、を備えることを特徴とするコード生成方法。
【請求項10】
請求項9に記載のコード生成方法であって、
前記参照コード生成ステップでは、前記参照コード生成部が、前記ハッシュ化ステップで変換された前記無意味コードに対して、ヘッダとパリティを含む管理コードを付加して前記参照コードを生成することを特徴とするコード生成方法。
【請求項11】
請求項10に記載のコード生成方法であって、
前記参照コードの保存先となる管理テーブルを記憶部に記憶する記憶ステップを更に備え、
前記参照コード生成ステップでは、
前記参照コード生成部が、前記参照コードを生成した際に、前記生成した前記参照コードと前記管理テーブルに記録された既存の参照コードとを比較し、前記生成した前記参照コードが前記管理テーブルに存在しないことを条件に、前記識別コード生成ステップにより生成された前記識別コードと前記生成した前記参照コードとを関連づけて前記管理テーブルに記録することを特徴とするコード生成方法。
【請求項12】
請求項11に記載のコード生成方法であって、
前記参照コード生成ステップでは、
前記参照コード生成部が、前記生成した前記参照コードが前記管理テーブルに存在する場合、前記識別コード生成ステップにより生成された前記識別コードに補正値を付加して新たな参照コードを生成し、前記生成した前記新たな参照コードが前記管理テーブルに存在しないことを条件に、前記識別コード生成ステップにより生成された前記識別コードと前記生成した前記新たな参照コードとを関連づけて前記管理テーブルに記録することを特徴とするコード生成方法。
【請求項13】
請求項10に記載のコード生成方法であって、
前記参照コード生成ステップでは、
前記参照コード生成部が、前記生成した前記参照コードを二次元コードに変換し、前記変換した前記二次元コードを基にコード画像を生成することを特徴とするコード生成方法。
【請求項14】
請求項10に記載のコード生成方法であって、
前記管理対象の用途に応じて前記参照コードを複数のグループに分けて記録する複数の用途別管理テーブルと、前記管理対象の用途に対応した複数のヘッダの各々を前記複数の用途別管理テーブルの各々に対応づけて記録するヘッダ管理テーブルと、を記憶部に記憶する記憶ステップを更に備え、
前記参照コード生成ステップでは、
前記参照コード生成部が、前記管理対象の用途を示す情報を受信した場合、前記受信した前記管理対象の用途を示す情報を基に前記ヘッダ管理テーブルを参照して、前記複数のヘッダの中から前記管理対象の用途に対応したヘッダを特定すると共に、前記複数の用途別管理テーブルの中から前記管理対象の用途に対応した用途別管理テーブルを特定し、前記特定したヘッダを基に前記参照コードを生成し、前記生成した前記参照コードを、前記特定した前記用途別管理テーブルに記録することを特徴とするコード生成方法。
【請求項15】
請求項11に記載のコード生成方法であって、
検索部が、端末と情報の送受信を行うと共に、前記記憶ステップで記憶された前記管理テーブルを検索先として検索する検索ステップを更に備え、
前記検索ステップでは、
前記検索部が、前記端末から前記参照コードを含む検索要求を受信した場合、前記検索要求に応答して前記管理テーブルを検索し、前記検索要求に付加された前記参照コードに対応する前記識別コードの情報を前記管理テーブルから抽出し、前記抽出した前記識別コードの情報を前記端末に送信することを特徴とするコード生成方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、製品等に付与されるコードを生成するコード生成システムおよびコード生成方法に関する。
【背景技術】
【0002】
例えば製造業において、DX(デジタルトランスフォーメーション)化推進のため、製品から部品に至るまでのあらゆるモノを、全社レベルで統一して特定および管理できるようにするため、それぞれのモノを特定するために付与する統一的な番号体系が求められている。一方、工場などの生産拠点ごとに運用されている製品や部品の既存の番号体系を放棄して、全社レベルで統一した新たな番号体系を構築することは、多大な投資と期間を要し、番号体系の移行に困難を伴う。これは一般的に、M&Aなどで歴史も背景も異なる会社(あるいは生産拠点)を統合する際にも普通に生じる課題である。
【0003】
このような課題に対応するため、従来から、既存のBOM(Bill Of Material)コード(特許文献1の図5参照)を拡張して全社レベルで統一した番号体系を構築することが行われている。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2019-194920号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記従来技術では、既存コードが複雑である他、新たな番号体系における番号が、ユニーク性確保、無意味コード化、必要桁数確保といった要件を満たなければならない点で、実現に多大なコストを要するという課題がある。
【0006】
本発明は以上の課題を考慮してなされたもので、企業の一部における管理対象に対して付与される企業コードを基に企業全体で統一したコード体系を低コストで構築することを目的とする。
【0007】
さらに近年においては製品や部品の製造や検査に係る記録が後から故意に書き換えられて問題になったという事例があり、このような記録の改変があったかなかったかを容易に検証できることが望ましい。これが本発明が解決しようとする第二の課題である。後からの記録の書き換えは間違いの訂正の場合もあるし、何らかの悪意を伴った書き換えも考えられるが、動機が善意・悪意に関わらず、こうした書き換えがあったかどうかを容易に検出できるとともに、元の記録がどのようなものであったかを確かめられるコードを生成できることを本発明の第二の目的とする。
【課題を解決するための手段】
【0008】
かかる課題を解決するため本発明においては、企業の一部における管理対象を前記企業の一部で一意に識別する第1のコード(製品番号など)と前記企業の一部を識別する第2のコード(工場の識別番号など)とを含む企業コードの情報(対象の製品や部品、すなわち管理対象を特定するユニークなコード)から、前記管理対象の履歴を含む識別コードを生成する識別コード生成部と、前記識別コード生成部により生成された前記識別コードをハッシュ関数に入力してハッシュ化し、前記ハッシュ化した前記識別コードを無意味コードに変換するハッシュ処理部と、前記ハッシュ処理部で変換された前記無意味コードを基に前記企業全体で統一された参照コードを生成する参照コード生成部と、を備えることを特徴とする。
【発明の効果】
【0009】
本発明によれば、企業の一部における管理対象に対して付与される企業コードを基に企業全体で統一したコード体系を低コストで構築することができる。さらに該統一したコードを生成するための該企業コードを後から書き換えた場合に、書き換えたことを容易に検知することができる。
【図面の簡単な説明】
【0010】
図1】実施形態1に係る全体システムの概略構成を示す図。
図2】実施形態1に係るコード生成システムの構成を示す図。
図3】実施形態1に係るコード生成システムの処理の概略を示す図。
図4】実施形態1に係るコード生成システムの処理を示すフローチャート。
図5】実施形態2に係るコード生成システムの処理を示すフローチャート。
図6】実施形態2で用いるPIDを定義するJSONオブジェクトを示す図。
図7】実施形態2においてDNCからPIDを逆引きする処理を示すフローチャート。
図8】実施形態3に係るコード生成システムの処理を示すフローチャート。
図9】実施形態3で用いるPIDを定義するJSONオブジェクトを示す図。
図10】実施形態3においてDNCからPIDを逆引きする処理を示すフローチャート。
図11】実施形態4においてコード画像を使ってDNCとLCMサービスシステムとを連携する概要を示す図。
図12】実施形態4に係るLCMサービスシステムの構成を示す図。
図13】実施形態4においてDNCをもとに製品情報の登録画面を表示する処理を示すフローチャート。
図14】実施形態5に係るPID変換テーブルとヘッダ管理テーブルの構成を示す構成図。
図15】実施形態5に係るコード生成システムの処理を示すフローチャート。
図16】各システムを実現するコンピュータのハードウェアの構成図。
【発明を実施するための形態】
【0011】
以下、本発明の実施形態について、図面を参照して説明する。各実施形態および各変形例は、本発明の技術思想の範囲内かつ整合する範囲内でその一部または全部を組合せることができる。
【0012】
なお、以下に説明する実施形態は特許請求の範囲に係る発明を限定するものではなく、また実施形態の中で説明されている諸要素及びその組合せの全てが発明の解決手段に必須であるとは限らない。また、発明の構成に必須だが周知である構成については、図示及び説明を省略する場合がある。
【0013】
実施形態を説明するための各図面において、同一参照番号で同一または類似の機能を備えた構成または処理を示し、後出の説明を省略する。また例えば「xxx100-1」「xxx100-2」や「xxx100a」「xxx100b」のように、同一番号に異なる枝番号が付加された符号が付与されている同一名称の複数の要素を、同一番号のみを用いて「xxx100」のように表して総称する。
<実施形態1>
【0014】
以下、図1図4を参照して、本発明の実施形態1を説明する。実施形態1の前提として、ある企業の事業所(例えば部品や製品の生産を行う工場や開発拠点、管理拠点、営業拠点等)が複数存在するとする。
【0015】
実施形態1では、ある企業の工場で使用されている工場ごとのコード体系で製品を識別する既存コードを拡張して、当該企業の全製品を当該企業の全社内で一意に識別する統一コードを策定する。
【0016】
また本実施形態では、各工場での既存コードの継続運用を可能としつつ、各工場の個々の出荷製品に統一コードを付与することで、製品情報の統一管理を可能とし、品質保証システムとも連携できるようになる。また統一コードを用いて製品や部品と製品や部品に関するあらゆる事象とを紐付けて記録することで、製品のライフサイクル管理(部品情報、生産情報、販売情報、保守情報等の管理)を実現する。なお統一コードの対象製品・部品は、個体単位で管理が行われる製品や部品の他、ロット単位で管理が行われる製品や部品でもよい。
(実施形態1の全体システムS)
【0017】
図1は、実施形態1に係る全体システムSの概略構成を示す図である。図1において、全体システムSは、コード生成システム1、PID変換テーブル2、品質データレイク3、および複数の事業用システム200を含んで構成される。コード生成システム1、PID(Product/Parts/Procurement ID)変換テーブル2、および品質データレイク3は、データセンタ(企業内のサーバルーム、企業内外のデータセンタ、クラウドサービスなどを含む)に配置される。事業用システム200は、生産管理システム、品質保証システム、出荷管理システム、維持保守システム等である。各事業用システム200が、それぞれの工場に配置される。図1の例では、事業用システム200Aが工場Aに配置され、事業用システム200Bが工場Bに配置される。
【0018】
事業用システム200とコード生成システム1は、通信網を介して接続される。例えば工場A内においては、工場A内で製品を一意に識別する製品ID、工場A内で部品を一意に識別する部品ID、工場A内で調達品を一意に識別する調達IDなどのID(Identification)が、それぞれの既存のコード体系を持つIDとして使用されている。この際、製品、部品、或いは調達品を、企業の管理対象として管理することができる。事業用システム200Aは、オペレータの指示に応じて、既存のコード体系のIDをコード生成システム1へ送信する。コード生成システム1へ送信するIDは、1種類のIDであってもよいし、複数種類のIDの組合せであってもよい。
【0019】
コード生成システム1は、事業用システム200Aから受信したIDに、事業所(工場)を識別するコード(工場コード)を付加したPIDを生成し、PIDからDNC(Digital Name Code)を生成する。コード生成システム1は、例えば、企業の一部(工場)における管理対象を、企業の一部で一意に識別する第1のコード(製品番号)と企業の一部を識別する第2のコード(工場コード)とを含む企業コードの情報から、PIDを管理対象の履歴を含む識別コードとして生成することができる。
【0020】
ここで、企業コードとは、管理対象が、製品の場合、製品の製品番号(第1のコード)と、製品を製造した工場の工場コード(第2のコード)であり、管理対象が、部品の場合、部品の製造番号(第1のコード)と、部品を製造した工場の工場コード(第2のコード)であり、管理対象が、調達品の場合、調達品を特定する調達品番号(第1のコード)と、調達品を調達した工場の工場コード(第2のコード)である。また、DNCとは、ある企業に属する複数の工場を跨って当該企業の全社内で一意性を持つ、全社内で製品や部品をユニークに識別する統一コードとしての参照コードである。生成されたDNCは、二次元コードのコード画像にエンコードされ、エンコードされたコード画像が、シールや銘板等で該当の製品や部品に貼付(あるいは印刷)される。製品や部品に貼付されたコード画像をスキャンして読み取られたDNCに関する情報は、製品や部品を全社内で一意に識別される情報として利用される。
【0021】
またコード生成システム1は、DNCを発行する際に、DNCと、当該DNCの生成元となったPIDとを対応付けたレコードを生成してPID変換テーブル2へ格納する。PID変換テーブル2は、データベースとして管理され、DNCからPIDを逆引きする際に参照される。
【0022】
以上の処理は、工場Bの事業用システム200Bとコード生成システム1との間でも、事業用システム200Aと同様に行われる。
【0023】
ここで工場Aにおいて生産された部品が工場Bへ搬入され、工場Bでこの部品を使って製品が製造される場合を考える。工場Bでは、オペレータの指示に応じて、部品に貼付されたコード画像がスキャンされてDNCが読み取られ、読み取られDNCが工場Bから品質データレイク3へ送信される。品質データレイク3は、PID変換テーブル2と連携して管理され、品質データレイク3には、PIDとDNCに対応付けられた部品や製品の製造・品質データが保存される。この際、品質データレイク3には、工場Bから取得されたデータであって、工場Bから受信したDNCに対応付けられている製造・品質データが格納される。
【0024】
また、品質データレイク3に対してDNCで部品や製品の製造・品質データの問い合わせがあった場合、問い合わせ先は、データレイク3から目的とする製造・品質データを取得できる。
【0025】
このように全社レベルで統一して製品や部品を特定できるDNCを用いることで、企業や事業所のコスト負担を抑えつつ、事業所間を流通する製品や部品の管理を全社で統一的に行い、製品や部品のトレーサビリティを向上できる。トレーサビリティの向上により、不具合発生時の対応を迅速化できることから顧客満足度向上が向上する。また不具合発生時に、DNCを用いることで、迅速な原因特定と影響範囲の把握ができ、仕損費最小化を図ることができる。また企業や事業所が外部から調達する調達品に適用することで、調達品の調達先を集約し、購買等原価低減を図ることができる。またコード画像を使ってDNCの出力や読み取りを行うことで、コード読み取りの際の人の労力とミスを減らすことができる。
(実施形態1のコード生成システム1の構成)
【0026】
図2は、実施形態1に係るコード生成システム1の構成を示す図である。コード生成システム1には、DNCの生成元コードであるPIDやオペレータの指示などの入力を受付ける入力部10と、コード生成システム1によって生成されたDNCを出力する出力部20とが接続されている。入力部10および出力部20は、コード生成システム1のコンソールであってもよいし、ネットワークを介してコード生成システム1と接続されている端末であってもよい。
【0027】
コード生成システム1は、PID生成部11と、ハッシュ処理部12と、ヘッダ・パリティ付加部13と、を有する。PID生成部11は、入力部10から入力された各工場内でユニークな既存のコード体系のコード(製品番号)に、各工場を識別するコード(工場コード)を付加したPIDを生成する。この際、PID生成部11は、企業の一部(工場)における管理対象(例えば、製品)を、企業の一部で一意に識別する第1のコード(製品番号)と企業の一部を識別する第2のコード(工場コード)とを含む企業コードの情報から、製品の履歴を含む識別コードを生成する識別コード生成部として機能する。なお、PIDとしては、(1)各工場で使用されている現行のコード単体、(2)各工場で使用されている複数の現行コード、(3)各工場で使用されている他のコードと現行コードとをミックスしたコード、(4)PIDの対象物を構成する1以上のDNCを示すコード、(5)上記のいずれかのコードをJSON(JavaScript Object Notation)形式で表現したコード、を用いることができる。特に例として挙げたJSON形式では複数の部品を組み合わせた記録や、品質記録(例えば使用した検査装置、検査結果の値、作業者、日時など)を容易に記述することが可能である。ここでJSON形式を取り上げたのは例としてであり、他のNOSQL、RDBで扱える形式のデータでもよい。以上のようにPIDは単一のコードの場合もあるし、複数のコードの集合である場合もあるし、またJSON形式のようなドキュメントの場合もある。本明細書ではこれらを区別することなくPIDとして表現する。
【0028】
ハッシュ処理部12は、PID生成部11によって生成されたPIDを、所定のハッシュ関数を用いてハッシュ化して無意味コードを生成する。この際、ハッシュ処理部12は、PID生成部(識別コード生成部)11により生成されたPID(識別コード)をハッシュ関数に入力してハッシュ化し、ハッシュ化したPID(識別コード)を無意味コードに変換するハッシュ処理部(ハッシュ化部)として機能する。ハッシュ処理部12は、PIDをハッシュ関数処理することで、PIDを所定桁数のコード空間にマッピングして出力されたコードの桁数を同じにし、新規の無意味コードを生成する。ハッシュ関数は、一方向関数で逆変換できない特性を有する。さらにハッシュ関数の特性により、PIDの値が1ビットでも異なれば、PIDをハッシュ化したハッシュ値は全く異なるものとなる。
【0029】
ヘッダ・パリティ付加部13は、ハッシュ処理部12によって生成された無意味コードに対して、仕様で定めたヘッダとパリティを含む管理コードを付加し、一定長さのコードを示すDNCを生成する。この際、ヘッダ・パリティ付加部13は、ハッシュ処理部12で変換された無意味コードを基に企業全体で統一されたDNC(参照コード)を生成する参照コード生成部として機能する。また、ヘッダ・パリティ付加部13は、PID生成部11により生成されたPIDと生成したDNCとを対応付けたレコード2Lを、PID変換テーブル2へ格納する。なお、無意味コード(ハッシュ値)に対して、パリティ、すなわち検査符号を付けなくても良いが、無意味コードに対して1桁以上のパリティを付けることで、印刷面のひっかきや汚損による二次元コードの部分的な毀損によるハッシュ値の誤読み出しを検知できる。一般的に二次元コードの付加機能として二次元コード自体に情報の冗長化による検査パターンが埋め込まれていることがあるが、二次元コードの所定面積が毀損された時の最後のバックアップ手段として二次元コードの画像とは別に、テキスト文字でコードの内容を文字として併記する場合がある。この場合には検査符号がないと文字列の正しさをチェックする方法がないため、検査符号の付加が望ましい。
【0030】
なおここでは検査符号の代表例としてパリティと記載しているが、パリティ以外の検査符号であってもよい。ヘッダとしては、標準的には1文字の情報が用いられる。無意味コード(ハッシュ値)に対して、1文字のヘッダを付加することで、DNC集合の特性を示すことができる。ここでもヘッダ(ヘッダ文字)の有無やヘッダの文字数は何であっても構わず、このことは本発明の本質ではない。
【0031】
PID変換テーブル2としては、NOSQL(Not Only SQL)タイプのデータベースを活用することができる。例えば、(1)キー(DNC)に対して、1対1対応のPIDの場合、キー・バリューストア型のもの。(2)キーに対して、空白を含む複数のカラムを有するPIDの場合、カラム指向型のもの。(3)キーに対して、JSON等の文書構造を有するPIDの場合、ドキュメント指向型のもの。(4)これらのNOSQLタイプに加えて、従来のSQLタイプのRDB(Relational Database)を適用したもの。
【0032】
図2に示すように、品質データレイク3は、DB管理装置40によって管理されるデータベースであり、品質データレイク3には、工場で管理される製造・品質データやPID変換テーブル2と同様の情報(PIDとDNCとを対応付けたレコード2Lの情報)が格納される。端末30は、オペレータ操作により、製品に貼付されているコード画像を読み取り装置が読み取って得られたDNCの情報を、ネットワークを介してDB管理装置40へ送信する。DB管理装置40は、端末30と情報の送受信を行い、端末30からの要求に応答して、品質データレイク3を検索対象とする検索部として機能し、検索結果を端末30に送信する。
(実施形態1のコード生成システム1の概略構成)
【0033】
図3は、実施形態1に係るコード生成システムの処理の概略を示す図である。図3において、A工場(工業用システム200A)では、生産された製品5を搬出するに前に、製品5として、A工場で定義されたコードであって、A工場でユニークな既存のコード体系のコードである製品番号=ABCD12345を製造・品質データD1として、端末30とDB管理装置40を介して品質データレイク3に格納する(A1)。この後、A工場(工業用システム200A)では、A工場でユニークなコードである製品番号=ABCD12345と、全社でユニークな工場コードであってA工場固有の工場コードとを含む情報を既存のコード体系の情報として、コード生成システム1に送信する(A2)。コード生成システム1は、受信した情報、すなわち、A工場で定義されたコードである製品番号=ABCD12345とA工場固有の工場コードとからPIDを生成し、生成されたPIDを、所定のハッシュ関数を用いてハッシュ化して、新規の無意味コードを生成する。この後、コード生成システム1は、生成された無意味コードに対して、仕様で定めたヘッダとパリティを付加したDNCを生成する。
【0034】
この際、コード生成システム1は、生成したDNCを基にPID変換テーブル2又は品質データレイク3を参照し(A3、A4)、生成したDNCとPID変換テーブル2又は品質データレイク3に記録された既存のDNCとを比較し、生成したDNCが、全体システムS内において一意であるか否かを判定する。コード生成システム1は、生成したDNCが、既存のDNCとは一致せず、全体システムS内において一意である場合、生成したDNCと生成したPIDとを対応づけたレコード2Lを生成し(A5)、生成したレコード2LをPID変換テーブル2に記録する(A6)。この後、コード生成システム1は、生成したDNCを二次元コード化し、二次元コードからコード画像を生成し、生成したコード画像の情報をA工場(工業用システム200A)に送信する(A7)。A工場(工業用システム200A)では、コード画像の情報を受信した場合、受信したコード画像の情報を基に製品5にコード画像6を貼付又は印刷する。
【0035】
一方、A工場から製品5が搬出され、製品5がB工場に搬入された場合(A8)、B工場(工業用システム200B)では、二次元コードリーダで、製品5に貼付又は印刷されたコード画像6の情報を読み取り、製品5に対応したDNCを判別することができる。この際、B工場(工業用システム200B)では、コード画像6の情報を読み取って得られた、製品5に対応したDNCの内容を、DB管理装置40を介して品質データレイク3に照会することができる(A9)。この際、DB管理装置40は、A工場固有の製品番号=ABCD12345に紐づいた製造・品質データD1を基に、照会内容を工場B(工業用システム200B)にトレースバックすることができる(A10)。すなわち、品質データレイク3には、PID変換テーブル2と同じ情報(PIDとDNCとを対応づけた情報)が記録されているので、B工場に搬入された製品5が、A工場で生産された製品であって、製品番号が正しい番号であるかを示す情報が、DB管理装置40から工場B(工業用システム200B)に送信される。
(実施形態1のコード生成システム1の処理)
【0036】
図4は、実施形態1に係るコード生成システムの処理を示すフローチャート。図4において、コード生成システム1は、PID生成部11が、入力部10から、製品に関する情報として、工場定義のコード入力を受付ける(S11)。例えば、PID生成部11は、A工場定義のコードとして、製品番号=ABCD12345を受付ける。この後、PID生成部11は、A工場定義のコードに、A工場を識別するコード(工場コード)を付加してPIDを生成し、生成したPIDをハッシュ処理部12に出力する(S12)。
【0037】
ハッシュ処理部12は、PID生成部11によって生成されたPIDを、所定のハッシュ関数を用いてハッシュ化して、新規の無意味コードを生成し、生成した無意味コードをヘッダ・パリティ付加部13に出力する。
【0038】
ヘッダ・パリティ付加部13は、ハッシュ処理部12によって生成された無意味コードに対して、仕様で定めたヘッダとパリティを付加したDNCを生成し(S13)、生成したDNCを基にPID変換テーブル2を参照して、生成したDNCとPID変換テーブル2に記録された既存のDNCとを比較し、生成したDNCは、全体システムS内において一意であるか否かを判定する(S14)。
【0039】
ヘッダ・パリティ付加部13は、ステップS14で肯定の判定結果を得た場合、すなわち、生成したDNCが、既存のDNCとは一致せず、全体システムS内において一意である場合、生成したDNCをPID変換テーブル2に格納する処理を実行する(S15)。例えば、ヘッダ・パリティ付加部13は、ステップS12で生成されたPIDと、ステップS13で生成されたDNCとを対応づけたレコード2Lを生成し、生成したレコード2LをPID変換テーブル2に記録する。これにより、一意性を有する正確なDNCをPIDと対応づけてPID変換テーブル2に記録することができる。
【0040】
この後、ヘッダ・パリティ付加部13は、ステップS13で生成したDNCを二次元コード化し、二次元コードからコード画像を生成し、生成したコード画像の情報をA工場の工業用システム200Aに送信した後、このルーチンでの処理を終了する。
【0041】
一方、ヘッダ・パリティ付加部13は、ステップS14で否定の判定結果を得た場合、すなわち、生成したDNCが、既存のDNCと一致し、ハッシュ衝突した場合、ステップS12で生成されたPIDに、ソルト(出力ハッシュ値を変えるための所定ビット数の付加コード)を補正値として付加し(S17)、ステップS13の処理に移行する。この際、ステップS13において、ヘッダ・パリティ付加部13は、ステップS12で生成されたPIDにソルトが付加された値を基に新たなDNCを生成する。これにより、ハッシュ衝突が発生しても、PIDにソルトを付加することで、再度、一意性を有するDNCを生成することができる。ヘッダ・パリティ付加部13は、その後、ステップS14~S17の処理を実行する。
【0042】
実施形態1によれば、企業の一部における管理対象に対して付与される企業コードを基に企業全体で統一したコード体系を低コストで構築することができる。すなわち、既存コードを拡張して全社レベルで統一した番号体系を低コストで構築することができる。この際、工場では、既存の現行コード(製品番号や工場コード)を変更することなく、現行コードを用いることができる。また、現行コードとして工場ごとに別の番号体系があっても、工場間跨りで同一桁数のコードであるDNCを用いて各工場で管理することができる。さらに、DNCは、ハッシュ関数により「無意味化されたコード」として生成されるので、DNCが社外に公開されても、社内の情報が漏れることはない。これは、ハッシュ関数の計算困難性によるものである。また、ハッシュ関数を用いてDNCを生成することは、コードを暗号化で秘匿した場合の鍵の管理の必要性も鍵の流出の危険性もない。また、DNCを用いて製品を管理するに際して、DX化に要するコストを抑え、短期間で改善効果を出すことができる。
<実施形態2>
【0043】
以下、図5図7を参照して、本発明の実施形態2を説明する。なお、実施形態2における全体システムSの構成は、実施形態1と同様である。
(実施形態2のコード生成システム1の処理)
【0044】
図5は、実施形態2に係るコード生成システムの処理を示すフローチャートである。図5において、コード生成システム1は、PID生成部11が、入力部10から、複数の部品で構成される組み立て品(製品)に関する情報として、各部品に付加されたDNC等の情報の入力を受付ける(S11-B1)。この後、PID生成部11は、受け付けた情報をJSON形式の情報に変換し(S11-B2)、変換された情報を基に、組み立て品(製品)のPIDを生成し(図6参照)、生成したPIDをハッシュ処理部12に出力する(S12)。
【0045】
ハッシュ処理部12は、PID生成部11によって生成されたPIDを、所定のハッシュ関数を用いてハッシュ化して、新規の無意味コードを生成し、生成した無意味コードをヘッダ・パリティ付加部13に出力する。この後、ヘッダ・パリティ付加部13は、ステップS13~S17の処理を、図4に示すステップS13~S17の処理と同様に実行する。
(実施形態2のJSONオブジェクト100の構成)
【0046】
図6は、実施形態2で用いるPIDを定義するJSONオブジェクトを示す図である。図6において、JSONオブジェクト100は、書式101と、組み立て品のPID102と、組み立て品の実績ベースDNC103を備える。書式101には、組み立て品(製品)のPIDを記録する際の書式として、各要素が“キー名”:“値”で構成されることが記録される。また、組み立て品のPID102には、各部品に付加されたDNC等の情報をJSON形式に変換した際の情報が記録される。例えば、組み立て品のPID102の情報として、“事業所”:“(N)”、“図番品番”:“YYYY”、“正式品名”:“XXXX”、“作業者”:“SANKI Taro”、“日時”:“2020/05/14/13:34”、“部品1のDNC”:“DNC1”、“部品2のDNC”:“DNC2”、・・・、“部品nのDNC”:“DNCn”が記録される。
【0047】
組み立て品の実績ベースDNC103には、組み立て品(製品)のPID102の情報を基にヘッダ・パリティ付加部13で生成されたDNCの情報が記録される。なお、JSONオブジェクト100に記録された情報は、品質データレイク3に記録される。
(実施形態2のコード生成システム1の処理)
【0048】
図7は、実施形態2においてDNCからPIDを逆引きする処理を示すフローチャートである。図7において、オペレータから端末30に対して、DNCからPIDを逆引きする処理が指示された場合、端末30は、オペレータに指示に応答して、組み立て品(製品)に貼付されたコード画像をスキャンしてDNCを読み取り、読み取ったDNCの情報をDB管理装置40に転送し、DB管理装置40に対して、DNCからPIDを逆引きする処理を要求することで、このルーチンでの処理が開始される。DB管理装置40は、端末30からの要求に応答し、端末30から転送されたDNCの情報を基に、DNCからJSON形式のPIDを逆引きする処理を実行する(S21)。例えば、DB管理装置40は、端末30から転送されたDNCの情報を基に、品質データレイク3に記録されたJSONオブジェクト100の情報を検索し、作業者、日時、部品のDNC等のリストを含む情報として、例えば、組み立て品のPID102に記録された情報を端末30にトレースバックする(S22)。この際、DB管理装置40は、組み立て品のPID102に記録された情報のうち、部品のDNCの情報を基に、入れ子構造のPIDを検索結果として端末30にトレースバックし(S23)、このルーチンでの処理を終了する。
【0049】
実施形態2によれば、複数の部品に付加された複数のDNC(DNCの集合体)を基に実施形態1とは異なる新たなDNCを入れ子構造のDNCとして生成し、生成したDNCを組み立て品(製品)のDNCとして用いることができる。また、生成したDNCを組み立て品(製品)に貼付又は印字することで、組み立て品(製品)がいつどの部品を使用して組み込まれたかが記録される。さらに、DNCからPIDを逆引きすることで、組み立て品を構成する各部品の履歴を検索することができる。
<実施形態3>
【0050】
以下、図8図10を参照して、本発明の実施形態3を説明する。なお、実施形態3における全体システムSの構成は、実施形態1と同様である。
(実施形態3のコード生成システム1の処理)
【0051】
図8は、実施形態3に係るコード生成システムの処理を示すフローチャートである。図8において、コード生成システム1は、PID生成部11が、入力部10から、調達品に関する情報として、調達品に付加された複数の調達品コードの情報の入力を受付ける(S11-C1)。この後、PID生成部11は、受け付けた情報をJSON形式の情報に変換し(S11-C2)、変換された情報を基に、調達品のPIDを生成し(図9参照)、生成したPIDをハッシュ処理部12に出力する(S12)。
【0052】
ハッシュ処理部12は、PID生成部11によって生成されたPIDを、所定のハッシュ関数を用いてハッシュ化して、新規の無意味コードを生成し、生成した無意味コードをヘッダ・パリティ付加部13に出力する。この後、ヘッダ・パリティ付加部13は、ステップS13~S17の処理を、図4に示すステップS13~S17の処理と同様に実行する。
(実施形態3のJSONオブジェクト200の構成)
【0053】
図9は、実施形態3で用いるPIDを定義するJSONオブジェクトを示す図である。図9において、JSONオブジェクト200は、書式201と、調達品のPID202と、調達品の実績ベースDNC203を備える。書式201には、調達品のPIDを記録する際の書式として、各要素が“キー名”:“値”で構成されることが記録される。調達品のPID202には、調達品に付加された複数の調達品コードの情報をJSON形式に変換した際の情報が記録される。例えば、調達品のPID202には、“事業所”:“(SK)(N)”、“類別コード”:“VVVV”、“図番品番”:“WWWW”、“正式品名”:“AAAA”、“取引先名”:“取引先1”、“サプライヤ”:“サプライヤ1”が繰り返して記録される。なお、調達品コードの代わりに、調達品に付加されたCSVファイルの情報を用いることもできる。
【0054】
調達品の実績ベースDNC203には、調達品のPID202の情報を基にヘッダ・パリティ付加部13で生成されたDNCの情報が記録される。なお、JSONオブジェクト200に記録された情報は、品質データレイク3に記録される。
(実施形態3のコード生成システム1の逆引きの処理)
【0055】
図10は、実施形態3においてDNCからPIDを逆引きする処理を示すフローチャートである。図10において、オペレータから端末30に対して、DNCからPIDを逆引きする処理が指示された場合、端末30は、オペレータの指示に応答して、調達品に貼付されたコード画像をスキャンしてDNCを読み取り、読み取ったDNCの情報をDB管理装置40に転送し、DB管理装置40に対して、DNCからPIDを逆引きする処理を要求する。これにより、このルーチンでの処理が開始される。DB管理装置40は、端末30からの要求に応答し、端末30から転送されたDNCの情報を基に、調達品のDNCからJSON形式のPIDを逆引きする処理を実行する(S31)。例えば、DB管理装置40は、端末30から転送されたDNCの情報を基に、品質データレイク3に記録されたJSONオブジェクト200の情報を参照し、同一の正式品名のDNCを検索する(S32)。この後、DB管理装置40は、JSONオブジェクト200に記録された情報のうち、同一の正式品名のDNCの検索結果として、例えば、“正式品名”:“AAAA”の情報を出力し(S33)、このルーチンでの処理を終了する。
【0056】
実施形態3によれば、調達品に付加された複数の調達品コードを基に実施形態1とは異なる新たなDNCを生成し、生成したDNCを調達品のDNCとして用いることができる。また、生成したDNCを二次元コード化し、二次元コード化されたDNCを調達品に貼付又は印字して工場等に入庫することができる。さらに、調達品のDNCからPIDを逆引きすることで、調達品の履歴を検索することができる。
<実施形態4>
【0057】
以下、図11図13を参照して、本発明の実施形態4を説明する。なお、実施形態4における全体システムSの構成は、実施形態1と同様である。
(実施形態4のLCMサービスシステムとDNCの連携の概要)
【0058】
図11は、実施形態4においてコード画像を使ってDNCとLCMサービスシステムとを連携する概要を示す図である。図11において、LCMサービスシステムにおいて、DNCから二次元コードを生成し、二次元コードをコード画像に画像化するに際して、Webブラウザーをアクセルする際に用いるURL(Uniform Resource Locator)300として、LCM(Life Cycle Management)サービスのドメイン301の他に、LCMやDNC等を有する情報を用い、このURL300の情報を二次元コードに変換し、変換された二次元コードを画像化してコード画像400を生成し、生成したコード画像400を製品の銘板等に印刷する。コード画像400を携帯端末を用いて登録する場合、LCMサービスシステムは、携帯端末と情報の送受信を行い、携帯端末にLCMサービスユーザ登録画面401を表示した後、携帯端末の表示画面をLCMサービスユーザログイン画面402に切り替える。この後、LCMサービスシステムは、LCMサービスユーザログイン画面402を用いてユーザ認証が実行された後、携帯端末の表示画面をLCMサービスDNC情報登録画面403に切り替え、URL300に記録されたLCMに対応する製品の情報を携帯端末から取得し、取得した製品の情報をLCMサービスDNC情報登録画面403に表示する。
(実施形態4のLCMサービスシステム50の構成)
【0059】
図12は、実施形態4に係るLCMサービスシステムの構成を示す図である。図4において、LCMサービスシステム50には、二次元コードや製品に関する情報およびオペレータの指示などの入力を受付ける端末60と、LCMサービスシステム50によって取得された製品情報を出力する出力部70とが接続されている。
【0060】
LCMサービスシステム50は、認証部51と、製品情報取得部52とを有する。認証部51は、端末60から、製品に貼付されているコード画像400を取り込み、コード画像400に含まれる二次元コードを受け付けると共に、端末60から、ユーザ認証に関する情報を受け付け、ユーザ認証の処理を実行し、ユーザ認証の処理結果と二次元コードの情報を製品情報取得部52に出力する。製品情報取得部52は、ユーザ認証の処理結果がOKである場合、二次元コードを識別し、識別結果を基に二次元コードで特定されるDNCとDNCに対応する製品の情報である製品情報を取得し、取得した製品情報を出力部70とDB管理装置40に出力する。出力部70は、製品情報取得部52により取得された製品情報をLCMサービスDNC情報登録画面403上に表示する。DB管理装置40は、製品情報取得部52により取得された製品情報と二次元コードで特定されるDNCとを関連づけて品質データレイク3に格納する。
(実施形態4のLCMサービスシステム50の処理)
【0061】
図13は、実施形態4においてDNCをもとに製品情報の登録画面を表示する処理を示すフローチャートである。図13において、認証部51は、端末60から、製品に貼付されているコード画像400を取り込み、コード画像400に含まれる二次元コードを受け付ける(S41)。この後、認証部51は、端末60から、ユーザ認証に関する情報を受け付け、ユーザ認証の処理を実行し、ユーザ認証の処理結果と二次元コードの情報を製品情報取得部52に出力する(S42)。
【0062】
次に、製品情報取得部52は、ユーザ認証の処理結果がOKである場合、二次元コードの情報を識別し、識別結果を基に二次元コードで特定されるDNCとDNCに対応する製品の情報である製品情報を取得し、取得した製品情報を出力部70とDB管理装置40に出力する(S43)。この後、出力部70は、製品情報取得部52により取得された製品情報をLCMサービスDNC情報登録画面403上に表示し(S43)、このルーチンでの処理を終了する。
【0063】
実施形態4によれば、ユーザ認証が得られることを条件に、DNCに対応する製品の情報を表示することができる。
<実施形態5>
【0064】
以下、図14図15を参照して、本発明の実施形態5を説明する。なお、実施形態5における全体システムSの構成は、実施形態1と同様である。
(実施形態5のPID変換テーブル2とヘッダ管理テーブル500の構成)
【0065】
図14は、実施形態5に係るPID変換テーブルとヘッダ管理テーブルの構成を示す構成図である。図14において、PID変換テーブル2は、複数のPID変換テーブル、例えば、ヘッダA用PID変換テーブル2A、ヘッダB用PID変換テーブル2B、ヘッダC用PID変換テーブル2C、ヘッダD用PID変換テーブル2D、ヘッダE用PID変換テーブル2E、ヘッダF用PID変換テーブル2F、・・・から構成される。この際、各ヘッダ用PID変換テーブルは、ヘッダ管理テーブル500によって管理される。
【0066】
ヘッダ管理テーブル500は、ヘッダ・パリティ付加部13に格納されるテーブルであって、ヘッダ501と、用途502から構成される。ヘッダ501には、ハッシュ処理部12の出力によるハッシュ値に付与されるヘッダを一意に識別する識別子が格納される。用途502には、製品の用途を示す情報として、例えば、製品が、「AAA製品用」である場合、「AAA製品用」が格納される。この際、製品が、「AAA製品用」である場合、ヘッダ501には、複数のPID変換テーブルの中の1つのPID変換テーブルとして、ヘッダA用PID変換テーブル2Aが管理対象であることを示す、「A」の情報が格納される。また、各PID変換テーブルには、各ヘッダに対応したDNCの情報等が格納される。例えば、製品の総量によってDNCの桁数が規定される場合、製品の総量の上限を各ヘッダに対応づけて格納することができる。この際、例えば、ヘッダ「F」を、総量の上限:10億個に対応づけ、ヘッダ「P」を、総量の上限:1兆個に対応づけて格納することができる。
(実施形態5のコード生成システム1の処理)
【0067】
図15は、実施形態5に係るコード生成システムの処理を示すフローチャートである。図15において、コード生成システム1は、PID生成部11が、入力部10から、製品に関する情報として、工場定義のコード入力を受付ける(S11)。例えば、PID生成部11は、A工場定義のコードとして、製品番号=ABCD12345を受付ける。PID生成部11は、この際、対象の用途として、例えば、製品の用途に関する情報の入力を受付ける(S11-D1)。この後、PID生成部11は、A工場定義のコードに、A工場を識別するコード(工場コード)を付加してPIDを生成し、生成したPIDをハッシュ処理部12に出力し、製品の用途に関する情報をヘッダ・パリティ付加部13に出力する(S12)。
【0068】
ハッシュ処理部12は、PID生成部11によって生成されたPIDを、所定のハッシュ関数を用いてハッシュ化して、新規の無意味コードを生成し、生成した無意味コードをヘッダ・パリティ付加部13に出力する。ハッシュ関数としては暗号論的なハッシュ関数を用いる。暗号論的なハッシュ関数とは、生成されるハッシュ値の第1現像困難性と第2現像困難性という特徴を備え、統計的に偏りのないハッシュ値を生成できる方式をさす。一例としてSHA2グループの一つであるSHA256として知られるハッシュ関数で説明する。このハッシュ関数は256ビットのハッシュ値を生成するが、256ビットの空間は2256=1.2×1077という広大な空間を有する。この空間をアドレス空間と考えると、256ビットのアドレスで1つの番地を指定することになる。この番地情報が無意味コード化した部品や製品を示す番号となる。256ビットの2進数を文字で表現しようとした場合、0と1の2進数表記では256文字、ヘキサデシマルとして知られる16進表記では64文字、電子メールでバイナリデータを文字表記する際に使われるBASE64エンコードによる表現では43文字となる。これで指定できる部品や製品の総数は最大で1.2×1077個となるが、これほどの総数が不要の場合はビット数を減らせばよい。暗号論的なハッシュ関数であれば生成されるハッシュ値に統計的な偏りがないため、生成されたハッシュ値のうち必要十分なビット数だけ採用し、後は破棄してしまう(トランケートする)ことができる。SHA256の例で説明すると、例えば指定できる部品や製品の総数が最大で約1兆個あればよいのであれば40ビット(240=1.1×1012)で済む。このため生成された256ビットのハッシュ値のうち40ビットを使い、残りの216ビットを破棄してしまえばよい。40ビットの値を文字で表現すると2進数では40文字、ヘキサデシマルでは10文字、BASE64では7文字となる。部品や製品を表すための番号は短い方が扱いが容易であり、かつ表現できる総数量は大きい方が安心である。すなわちトレードオフの関係となる。本発明では最も効率よく番号を使うために、何桁目から何桁目までは何々を指定する、というフィールド構造を排した無意味コードとしている。この無意味コードを次のヘッダ・パリティ付加部に与える。
【0069】
ヘッダ・パリティ付加部13は、製品の用途に関する情報を基にヘッダ管理テーブル500を参照し、製品の用途に応じてヘッダを選択し、ハッシュ処理部12によって生成された無意味コードに対して、選択したヘッダとパリティを付加したDNCを製品の用途に応じたDNCとして生成する(S13-D1)。この後、ヘッダ・パリティ付加部13は、生成したDNCで特定されるPID変換テーブル2を参照する。例えば、ヘッダ「A」を基にDNCを生成した場合、ヘッダ・パリティ付加部13は、ヘッダA用PID変換テーブル2Aを参照し、生成したDNCとヘッダA用PID変換テーブル2Aに記録された既存のDNCとを比較し、生成したDNCは、対応するヘッダA用PID変換テーブル2A内において一意であるか否かを判定する(S14-D1)。
【0070】
ヘッダ・パリティ付加部13は、ステップS14-D1で肯定の判定結果を得た場合、すなわち、生成したDNCが、既存のDNCとは一致せず、対応するヘッダA用PID変換テーブル2A内において一意である場合、生成したDNCをヘッダA用PID変換テーブル2Aに格納する処理を実行する(S15-D1)。例えば、ヘッダ・パリティ付加部13は、ステップS12で生成されたPIDと、ステップS13-D1で生成されたDNCとを対応づけたレコード2Lを生成し、生成したレコード2LをヘッダA用PID変換テーブル2Aに記録する。
【0071】
この後、ヘッダ・パリティ付加部13は、ステップS13-D1で生成したDNCを二次元コード化し、二次元コードを基にコード画像を生成し、このルーチンでの処理を終了する。
【0072】
一方、コード生成システム1は、ステップS14-D1で否定の判定結果を得た場合、すなわち、生成したDNCが、既存のDNCと一致し、ハッシュ衝突した場合、ステップS12で生成されたPIDに、ソルト(出力ハッシュ値を変えるための所定ビット数の付加コード)を付加し(S17)、ステップS13-D1の処理に移行する。この際、ステップS13において、ヘッダ・パリティ付加部13は、ステップS12で生成されたPIDにソルトが付加された値を基に新たなDNCを製品の用途に応じたDNCとして生成する。その後、ヘッダ・パリティ付加部13は、ステップS14-D1~S17の処理を実行する。
【0073】
この際、各ヘッダ用PID変換テーブル2A~2Fを、製品の用途に応じてDNCを複数のグループに分けて記録する複数の用途別管理テーブルとして構成し、ヘッダ管理テーブル500を、製品の用途に対応した複数のヘッダの各々(A~F)を複数の用途別管理テーブル2A~2Fの各々に対応づけて記録するヘッダ管理テーブルとして構成することができる。また、ヘッダ・パリティ付加部13は、製品の用途を示す情報を受信した場合、受信した製品の用途を示す情報を基にヘッダ管理テーブル500を参照して、複数のヘッダの中から製品の用途に対応したヘッダを特定すると共に、複数の用途別管理テーブル(ヘッダ用PID変換テーブル2A~2F)の中から製品の用途に対応した用途別管理テーブルを特定し、特定したヘッダを基にDNCを生成し、生成したDNCを、特定した用途別管理テーブルに記録することができる。もしも単一のDNCコード体系でよければヘッダを省略することができる。この場合、DNCをヘッダの文字数分短くすることができる。また、もしパリティチェックを不要とするならば、パリティ(すなわち検査符号)として付加した文字数分DNCを短くすることができる。この場合はDNC単体でのエラーチェックはできなくなるが、DNCを2次元コードにエンコードする際に2次元コードの機能として組み込まれたエラーチェック機能を使うことにより正しく読めたかどうかを確認することができる。
【0074】
実施形態5によれば、製品の用途に応じてDNCを生成し、生成したDNCを製品の用途に応じたDNCを格納するPID変換テーブルで管理することができる。
(記録書き換えの検出と元の記録の検証)
【0075】
図1および図2を用いて記録書き換えの検出及び書き換え前の記録の検証について説明する。前述のようにハッシュ関数は入力される値(=PID)が短くても長くても定められた同じ桁数のハッシュ値を出力する。PIDが少しでも異なれば出力されるハッシュ値は全く異なるものになる。PID変換テーブル2にはDNCとそれを生成する元となったPIDが1:1で記載される。この変換テーブルを用いて記録の書き換えを検証できる。
【0076】
工場が製造する製品は調達部品や内部で製造する部品を組み合わせて最終製品を作る。最終製品のDNCからPIDを参照し、そのPIDを構成する部品のDNC(1つ以上複数ある)からPIDを参照し、という手順を繰り返していくことによって、調達部品レベルまで遡りトレースバックすることができる。これは品質データレイクの機能として大変有用で、製品に何か不具合があった時に部品レベルまで遡って影響範囲を絞り込み、対策することができるからである。このようなトレースバックの仕組みを有効に維持するためには記録の整合性が重要である。したがって間違いの修正など善意の書き換えや悪意を含む故意の書き換えのいずれに関わらず、整合性を保つためには品質データレイク3やPID変換テーブル2の該当部分を書き換える必要がある。
【0077】
すると例えばPIDの記述にJSON形式のドキュメントを用いて組み立て記録まで記載した場合は特に理解しやすいのであるが、その記載事項全てがPIDとしてハッシュ関数の入力となっているため、もし整合性維持のため少しでも書き換えが行われれば、生成されるハッシュ値はPID変換テーブル2に記録されたDNCとは全く異なるものとなってしまい、記録を書き換えたことが容易に検出できる。現在記録されているDNCと同じハッシュ値は、変換の元となったPIDと完全に同じものでないと同一とはならないため、書き換えの前のPIDが推定できるのであれば、その推定が正しいかどうかはコード生成システム1を用いて正確に検証することができる。
(コンピュータのハードウェアの構成)
【0078】
図16は、各システムを実現するコンピュータのハードウェアの構成図である。図16において、コード生成システム1又は工業用システム200を構成するシステム5000は、例えば、プロセッサ5100、メモリ5200、ストレージ5300、ネットワークインターフェース5400、入力装置5500、出力装置5600を備えたコンピュータ装置(計算機)で構成され、各部がバス5700を介して接続される。
【0079】
プロセッサ5100は、例えば、装置全体の動作を統括的に制御するCPU(Central Processing Unit)で構成される。メモリ5200は、RAM(Random Access Memory)およびROM(Read Only Memory)などの記憶媒体から構成される。ストレージ5300は、例えば、ハードディスクデバイス、半導体メモリデバイス、光ディスクデバイス、光磁気ディスクデバイス、磁気テープデバイス、フレキシブルディスクデバイス等の記憶デバイスを含む記憶装置で構成される。ネットワークインターフェース5400は、無線LAN又は有線LANに接続するためのNIC(Network Interface Card)を備えて構成される。入力装置5500は、キーボードまたはマウスから構成され、出力装置5600は、ディスプレイまたはプリンタから構成される。
【0080】
ストレージ5300には、プロセッサ5100がメモリ5200に読み出して実行する各種コンピュータプログラムが格納される。例えば、ストレージ5300には、プロセッサ5100をPID生成部11として機能させるPID生成プログラムと、プロセッサ5100をハッシュ処理部12として機能させるハッシュ処理プログラムと、プロセッサ5100をヘッダ・パリティ付加部13として機能させるヘッダ・パリティ付加プログラムと、プロセッサ5100を認証部51として機能させる認証プログラム、及びプロセッサ5100を製品情報取得部52として機能させる製品情報取得プログラムが格納される。また、ストレージ5300を各種情報やデータを記憶する記憶部として構成し、この記憶部に、PID変換テーブル2と、ヘッダA用PID変換テーブル2A~ヘッダF用PID変換テーブル2Fと、品質データレイク3、及びヘッダ管理テーブル500の情報を格納することもできる。
【0081】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例を含む。例えば、PID変換テーブル2と品質データレイク3を一体化したデータベースで構成し、PID変換テーブル2と品質データレイク3の情報を一体化されたデータベースに格納することができる。また、DB管理装置40を検索部として構成し、この検索部の機能をコード生成システム1やLCMサービスシステム50に付加することもできる。上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換・統合・分散をすることが可能である。また実施例で示した各処理は、処理効率または実装効率に基づいて適宜分散または統合してもよい。
【0082】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば、集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、IC(Integrated Circuit)カード、SD(Secure Digital)メモリカード、DVD(Digital Versatile Disc)等の記録媒体に記録して置くことができる。
【符号の説明】
【0083】
1 コード生成システム、2 PID変換テーブル、3 品質データレイク、10 入力部、11 PID生成部、12 ハッシュ処理部、13 ヘッダ・パリティ付加部、30 端末、40 DB管理装置、50 LCMサービスシステム、51 認証部、52 製品情報取得部、60 端末、70 出力部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16