(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-04-24
(45)【発行日】2025-05-07
(54)【発明の名称】販売時点管理において秘密指向の出所のための方法及びシステム
(51)【国際特許分類】
G06Q 20/38 20120101AFI20250425BHJP
【FI】
G06Q20/38 310
(21)【出願番号】P 2023570034
(86)(22)【出願日】2022-04-11
(86)【国際出願番号】 US2022024203
(87)【国際公開番号】W WO2022240529
(87)【国際公開日】2022-11-17
【審査請求日】2023-12-07
(32)【優先日】2021-05-13
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】500041363
【氏名又は名称】マスターカード インターナシヨナル インコーポレイテツド
(74)【代理人】
【識別番号】100147485
【氏名又は名称】杉村 憲司
(74)【代理人】
【識別番号】230118913
【氏名又は名称】杉村 光嗣
(74)【代理人】
【識別番号】100224683
【氏名又は名称】齋藤 詩織
(72)【発明者】
【氏名】ロバート コリンズ
(72)【発明者】
【氏名】スティーブン シー デイビス
(72)【発明者】
【氏名】ロブ ビルネ
(72)【発明者】
【氏名】ピーター グロアーク
【審査官】上田 威
(56)【参考文献】
【文献】米国特許出願公開第2020/0160352(US,A1)
【文献】特表2019-504385(JP,A)
【文献】米国特許出願公開第2015/0012372(US,A1)
【文献】特開2020-035197(JP,A)
【文献】米国特許出願公開第2017/0262862(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
(57)【特許請求の範囲】
【請求項1】
トランザクションメッセージを介して、販売時点管理において製品の真正性を検証するための方法であって、
販売時点管理装置によって、1つ以上の製品識別値を受信することであって、各製品識別値は、決済トランザクションにおいて購入される製品に対応する、ことと、
前記販売時点管理装置によって、前記1つ以上の製品識別値を格納する1つ以上のデータ要素を含むトランザクションメッセージを生成することであって、前記トランザクションメッセージは、1つ以上の規格に従ってフォーマットされる、ことと、
前記販売時点管理装置によって、第1の処理システムに前記トランザクションメッセージを送信することと、
前記第1の処理システムによって、第2の処理システムに、受信された前記トランザクションメッセージ内に含まれる前記1つ以上のデータ要素から構文解析された前記1つ以上の製品識別値を送信することと、
前記第2の処理システムによって、前記第1の処理システムから、前記1つ以上の製品識別値を受信することと、
前記第2の処理システムによって、ブロックチェーンを含む複数のブロックのブロック内に前記製品識別値を含むこと及び前記1つ以上の製品識別値の各々に対応する製品が製造業者から販売業者への適切な管理のチェーンを通過したことを検証することに基づいて、前記1つ以上の製品識別値の各々についての検証結果を決定することであって、前記製品識別値が前記複数のブロックのいずれのブロックにも含まれない場合又は前記製品が前記適切な管理のチェーンを通過していない場合、前記検証結果は検証失敗を示し、前記製品識別値が前記複数のブロックのいずれかのブロックに含まれる場合及び前記製品が前記適切な管理のチェーンを通過した場合、前記検証結果は検証成功を示す、ことと、
前記第2の処理システムによって、前記第1の処理システムに、前記1つ以上の製品識別値の各々についての前記検証結果を送信することと、
前記第1の処理システムによって、前記第2の処理システムから、前記1つ以上の製品識別値の各々についての
前記検証結果を受信することと、
前記第1の処理システムによって、前記決済トランザクションを処理することであって、処理は、(i)前記1つ以上の製品識別値のうちの少なくとも1つについての前記検証結果が
前記検証失敗を示す場合、前記決済トランザクションを拒否する応答メッセージを前記販売時点管理装置に送信すること、又は(ii)前記1つ以上の製品識別値の各々についての前記検証結果が
前記検証成功を示す場合、前記トランザクションメッセージを決済ネットワークに送信すること、を含む、ことと、
を含
み、
前記検証失敗は、前記製品が真正でないことを示し、前記検証成功は、前記製品が真正であることを示す、方法。
【請求項2】
請求項1に記載の方法において、前記トランザクションメッセージは、決済レールを使用して前記第1の処理システムに送信される、方法。
【請求項3】
請求項1に記載の方法において、前記第1の処理システムは、アクワイアラ金融機関システムであり、前記第2の処理システムは、第三者のプロセッサシステムである、方法。
【請求項4】
請求項1に記載の方法において、前記1つ以上の規格は、ISO 8583とISO 20022とのうちの少なくとも1つを含む、方法。
【請求項5】
請求項1に記載の方法において、前記1つ以上のデータ要素は、前記1つ以上の規格に従って私的使用のために予約される、方法。
【請求項6】
請求項1に記載の方法において、前記1つ以上の製品識別値は、アプリケーションプログラミングインタフェースを使用して前記第2の処理システムに送信される、方法。
【請求項7】
請求項1に記載の方法において、
前記販売時点管理装置によって、前記製品識別値にハッシュアルゴリズムを適用することによって、前記1つ以上の製品識別値の各々についてのハッシュ値を生成すること、をさらに含み、
前記トランザクションメッセージ内に含まれる前記1つ以上のデータ要素は、前記製品識別値の代わりに、前記1つ以上の製品識別値の各々についての前記ハッシュ値を格納する、方法。
【請求項8】
トランザクションメッセージを介して、販売時点管理において製品の真正性を検証するためのシステムであって、
販売時点管理装置と、
第1の処理システムと、
第2の処理システムと、を含み、前記販売時点管理装置は、
1つ以上の製品識別値を受信することであって、各製品識別値は、決済トランザクションにおいて購入される製品に対応する、ことと、
前記1つ以上の製品識別値を格納する1つ以上のデータ要素を含むトランザクションメッセージを生成することであって、前記トランザクションメッセージは、1つ以上の規格に従ってフォーマットされる、ことと、
前記第1の処理システムに前記トランザクションメッセージを送信することと、を実行して、前記第1の処理システムは、
前記第2の処理システムに、受信された前記トランザクションメッセージ内に含まれる前記1つ以上のデータ要素から構文解析された前記1つ以上の製品識別値を送信することと、
前記第2の処理システムから、前記1つ以上の製品識別値の各々についての検証結果を受信することと、
前記決済トランザクションを処理することであって、処理は、(i)前記1つ以上の製品識別値のうちの少なくとも1つについての前記検証結果が検証失敗を示す場合、前記決済トランザクションを拒否する応答メッセージを前記販売時点管理装置に送信すること、又は(ii)前記1つ以上の製品識別値の各々についての前記検証結果が検証成功を示す場合、前記トランザクションメッセージを決済ネットワークに送信すること、を含む、ことと、を実行
し、
前記第2の処理システムは、
前記第1の処理システムから前記1つ以上の製品識別値を受信することと、
ブロックチェーンを含む複数のブロックのブロック内に前記製品識別値を含むこと及び前記1つ以上の製品識別値の各々に対応する製品が製造業者から販売業者への適切な管理のチェーンを通過したことを検証することに基づいて、前記1つ以上の製品識別値の各々についての前記検証結果を決定することであって、前記製品識別値が前記複数のブロックのいずれのブロックにも含まれない場合又は前記製品が前記適切な管理のチェーンを通過していない場合、前記検証結果は前記検証失敗を示し、前記製品識別値が前記複数のブロックのいずれかのブロックに含まれる場合及び前記製品が前記適切な管理のチェーンを通過した場合、前記検証結果は前記検証成功を示す、ことと、
前記第1の処理システムに、前記1つ以上の製品識別値の各々についての前記検証結果を送信することと、
を実行し、前記検証失敗は、前記製品が真正でないことを示し、前記検証成功は、前記製品が真正であることを示す、システム。
【請求項9】
請求項
8に記載のシステムにおいて、前記トランザクションメッセージは、決済レールを使用して前記第1の処理システムに送信される、システム。
【請求項10】
請求項
8に記載のシステムにおいて、前記第1の処理システムは、アクワイアラ金融機関システムであり、前記第2の処理システムは、第三者のプロセッサシステムである、システム。
【請求項11】
請求項
8に記載のシステムにおいて、前記1つ以上の規格は、ISO 8583とISO 20022とのうちの少なくとも1つを含む、システム。
【請求項12】
請求項
8に記載のシステムにおいて、前記1つ以上のデータ要素は、前記1つ以上の規格に従って私的使用のために予約される、システム。
【請求項13】
請求項
8に記載のシステムにおいて、前記1つ以上の製品識別値は、アプリケーションプログラミングインタフェースを使用して前記第2の処理システムに送信される、システム。
【請求項14】
請求項
8に記載のシステムにおいて、
前記販売時点管理装置は、ハッシュアルゴリズムを前記製品識別値に適用することによって、前記1つ以上の製品識別値の各々についてのハッシュ値を生成し、
前記トランザクションメッセージ内に含まれる前記1つ以上のデータ要素は、前記製品識別値の代わりに、前記1つ以上の製品識別値の各々についての前記ハッシュ値を格納する、システム。
【発明の詳細な説明】
【関連出願の相互参照】
【0001】
本出願は、2021年5月13日に出願された米国特許出願公開第17/319,532号の利益を主張する。その全内容は、あらゆる目的のために参照により本明細書に組み込まれる。
【技術分野】
【0002】
本開示は、販売時点管理(point of sale)における秘密指向の出所に関する。具体的には、本開示は、商品の出所を追跡して、トランザクションメッセージを介して販売時点管理において製品の真正性の検証を可能にするためのブロックチェーンの使用に関する。
【背景技術】
【0003】
ブロックチェーンは、暗号通貨を用いて決済トランザクションを行う際に使用するための記憶機構として最初に作成された。ブロックチェーンを使用することは、分散化、分散コンピューティング、トランザクションに関する透明性、さらにトランザクションに関与する個人又はエンティティに関する匿名性を提供すること、などの多くの利点を提供する。ブロックチェーンのより一般的な態様の1つは、それが不変の記録であることである。チェーンの一部であるすべてのトランザクションは、その内に格納され、特にチェーンがより長くなり、ブロックチェーンネットワークがより多くのノードを追加するにつれて、計算要件及び帯域幅制限のために変更されることができない。
【0004】
ブロックチェーンは、任意の様式のデータについて不変の記録を格納するので、いくつかのブロックチェーンは、生鮮品又は高価値商品の生産及び流通を追跡するなど、商品の出所に関する情報を格納するために開発された。例えば、ブロックチェーンは農産物を追跡するために使用されることができる。農産物が収穫され、収穫場所から積荷され、流通業者にて下ろされて、流通業者によってトラックに積み込まれ、小売業者に到着し、小売業者によって受け入れられ、消費者に販売されるとき、項目(entry)が作成されることができる。これらの項目は、結果として、本物の製品のライフサイクルを格納することができる。
【0005】
しかしながら、消費者は、出所ブロックチェーンにアクセスする能力、そのようなブロックチェーン上の所望の商品を識別する能力、又はその内に格納されているデータを理解することができる能力を有さないことがあり得る。同時に、医薬品又は高価な高級品に関心のある消費者などの消費者は、購入を望む製品が真正であることを確実にすることに大きな関心を持っている可能性がある。したがって、消費者が購入する製品の真正性を検証することを可能にするシステムが必要とされる。これは、出所ブロックチェーンを活用することができるものである。
【発明の概要】
【0006】
本開示は、トランザクションメッセージを介して販売時点管理において製品の真正性を検証するためのシステム及び方法の説明を提供する。販売時点管理は、従来の精算処理の一部として、消費者が購入に関心のある製品から製品識別子を収集することができる。製品識別子は、決済トランザクションのために販売業者のアクワイアラ銀行(acquiring bank)に提出されるトランザクションメッセージ内の特別なデータ要素内に含まれることができる。アクワイアラによるトランザクションの処理の一部として、アクワイアラは、プロセッサに問い合わせて、トランザクションメッセージ内に含まれる製品識別子の出所ブロックチェーンを調査することによって購入される製品の真正性を検査することができる。製品が真正であると決定される場合、トランザクションは通常通りに進むことができる。製品が真正でない場合、アクワイアラは、トランザクションを拒否し、消費者が偽造品又は不正品を購入することを止めることができる。また、消費者は、販売時点管理を介して1つ以上の製品の不正性を通知されることができる。これは、購入される他の製品の消費者を安心させることができる、又は消費者が、立ち去って、別の販売業者を選択することを可能にすることができる。標準的なトランザクションメッセージを使用することによって、消費者体験は同じままであり、既存の通信経路及び処理が利用されることが可能でありながら、消費者、販売業者、及び製造業者の利益のためにこの追加のサービスをさらに提供することができる。
【0007】
トランザクションメッセージを介して、販売時点管理において製品の真正性を検証するための方法であって、販売時点管理装置によって、1つ以上の製品識別値を受信することであって、各製品識別値は、決済トランザクションにおいて購入される製品に対応する、ことと、前記販売時点管理装置によって、前記1つ以上の製品識別値を格納する1つ以上のデータ要素を含むトランザクションメッセージを生成することであって、前記トランザクションメッセージは、1つ以上の規格に従ってフォーマットされる、ことと、前記販売時点管理装置によって、第1の処理システムに前記トランザクションメッセージを送信することと、前記第1の処理システムによって、第2の処理システムに、受信された前記トランザクションメッセージ内に含まれる前記1つ以上のデータ要素から構文解析された前記1つ以上の製品識別値を送信することと、前記第1の処理システムによって、前記第2の処理システムから、前記1つ以上の製品識別値の各々についての検証結果を受信することと、前記第1の処理システムによって、前記決済トランザクションを処理することであって、処理は、(i)前記1つ以上の製品識別値のうちの少なくとも1つについての前記検証結果が検証失敗を示す場合、前記決済トランザクションを拒否する応答メッセージを前記販売時点管理装置に送信すること、又は(ii)前記1つ以上の製品識別値の各々についての前記検証結果が検証成功を示す場合、前記トランザクションメッセージを決済ネットワークに送信すること、を含む、ことと、を含む、方法。
【0008】
トランザクションメッセージを介して、販売時点管理において製品の真正性を検証するためのシステムであって、販売時点管理装置と、第1の処理システムと、第2の処理システムと、を含み、前記販売時点管理装置は、1つ以上の製品識別値を受信することであって、各製品識別値は、決済トランザクションにおいて購入される製品に対応する、ことと、前記1つ以上の製品識別値を格納する1つ以上のデータ要素を含むトランザクションメッセージを生成することであって、前記トランザクションメッセージは、1つ以上の規格に従ってフォーマットされる、ことと、前記第1の処理システムに前記トランザクションメッセージを送信することと、を実行して、前記第1の処理システムは、前記第2の処理システムに、受信された前記トランザクションメッセージ内に含まれる前記1つ以上のデータ要素から構文解析された前記1つ以上の製品識別値を送信することと、前記第2の処理システムから、前記1つ以上の製品識別値の各々についての検証結果を受信することと、前記決済トランザクションを処理することであって、処理は、(i)前記1つ以上の製品識別値のうちの少なくとも1つについての前記検証結果が検証失敗を示す場合、前記決済トランザクションを拒否する応答メッセージを前記販売時点管理装置に送信すること、又は(ii)前記1つ以上の製品識別値の各々についての前記検証結果が検証成功を示す場合、前記トランザクションメッセージを決済ネットワークに送信すること、を含む、ことと、を実行する、システム。
【0009】
本開示の範囲は添付の図面と併せて読まれるとき、例示的な実施形態の以下の詳細な説明から最もよく理解される。図面に含まれるのは、以下の図である。
【図面の簡単な説明】
【0010】
【
図1】例示的な実施形態による、トランザクションメッセージを介して販売時点管理において製品の真正性を検証する高位レベルのシステムアーキテクチャを示すブロック図である。
【
図2】例示的な実施形態による、決済トランザクションにおける製品の真正性を検証する際に使用するための
図1のシステムのコンピューティングシステムを示すブロック図である。
【
図3A】例示的な実施形態による、トランザクションメッセージと出所ブロックチェーンとを介して販売時点管理において製品の真正性を検証するための処理を示すフロー図である。
【
図3B】例示的な実施形態による、トランザクションメッセージと出所ブロックチェーンとを介して販売時点管理において製品の真正性を検証するための処理を示すフロー図である。
【
図4】例示的な実施形態による、トランザクションメッセージを介して販売時点管理において製品の真正性を検証するための例示的な方法を示すフローチャートである。
【
図5】例示的な実施形態による、コンピュータシステムアーキテクチャを示すブロック図である。
【発明を実施するための形態】
【0011】
本開示のさらなる適用範囲は、以下に提供される詳細な説明から明らかになるであろう。例示的な実施形態の詳細な説明は、例示の目的のみを意図するものであり、したがって、必ずしも本開示の範囲を限定することを意図するものではないことを理解されたい。
【0012】
用語集
ブロックチェーン-ブロックチェーンに基づく通貨のすべてのトランザクションの公開台帳。1つ以上のコンピューティング装置はブロックチェーンネットワークを含むことができる。ブロックチェーンネットワークは、ブロックチェーン内のブロックの一部として、トランザクションを処理及び記録するように構成されることができる。ブロックが完成されると、ブロックはブロックチェーンに追加され、トランザクション記録がこれにより更新される。多くの事例では、ブロックチェーンは、時系列順のトランザクション台帳とすることができる、又はブロックチェーンネットワークによる使用に適し得る任意の他の順序で提示されることができる。ある構成では、ブロックチェーン内に記録されたトランザクションは、宛先アドレス及び通貨額を含むことができ、ブロックチェーンは、どのくらいの通貨が特定のアドレスに帰属可能であるかを記録する。ある事例では、あるトランザクションは、金融、他のトランザクションは、金融ではない、又はトランザクションは、送信元アドレス、タイムスタンプなどの追加の若しくは異なる情報を含み得る。ある実施形態では、ブロックチェーンは、さらにまたは代替として、その操作者によるものでさえ改竄及び修正に対して強固にされたデータ記録の連続的に増大する一覧を維持する分散データベース内に配置される、又は配置される必要があるトランザクションの形態として、ほぼ任意の種類のデータを含むことができる。ある実施形態では、ブロックチェーンは、作業の証明及び/又はそれに関連付けられる任意の他の適切な検証技術を介して、ブロックチェーンネットワークによって確認され、検証されることができる。ある場合では、所与のトランザクションに関するデータは、トランザクションデータに付加されたトランザクションの直接的な一部ではない追加のデータをさらに含むことができる。ある事例では、ブロックチェーン内にそのようなデータを含めることは、トランザクションを構成することができる。そのような事例では、ブロックチェーンは、特定のデジタル通貨、仮想通貨、フィアット(不換)通貨、又は他の種類の通貨に直接関連付けられないとすることができる。
【0013】
決済ネットワーク-所与の期間中に、数千、数百万、さらには数十億のトランザクションについて、現金代替物の使用を介して、金銭の移転のために使用されるシステム又はネットワーク。決済ネットワークは、様々な種類のトランザクションについて金銭の移転を処理するために、様々な異なるプロトコル及び手順を使用することができる。決済ネットワークを介して実行され得るトランザクションは、製品又はサービスの購入、信用購入、デビットトランザクション、資金振替、口座引き落としなどを含むことができる。決済ネットワークは、現金代替物を介してトランザクションを実行するように構成されることができる。これは、決済カード、信用状、小切手、トランザクション口座などを含むことができる。決済ネットワークとして実行するように構成されたネットワーク又はシステムの例は、Mastercard(登録商標)、VISA(登録商標)、Discover(登録商標)、American Express(登録商標)、PayPal(登録商標)などによって動作されるものを含む。本明細書における用語「決済ネットワーク」の使用は、エンティティとしての決済ネットワークと、決済ネットワークを含む機器、ハードウェア、及びソフトウェアなどの物理的決済ネットワークとの両方を指すことができる。
【0014】
トランザクション口座-当座預金口座、貯蓄口座、掛売り口座、仮想決済口座など、トランザクションに資金を提供するために使用され得る金融口座。トランザクション口座は、消費者に関連付けられることができ、消費者は、決済口座に関連付けられた任意の適切な種類のエンティティとすることができる。このエンティティは、個人、家族、会社、法人、政府のエンティティなどを含むことができる。ある事例では、トランザクション口座は、PayPal(登録商標)などによって動作される口座などの仮想とすることができる。
【0015】
発行体-受益者のために信用状又は信用限度額を設定(例えば、開設)し、信用状又は信用限度額に指定された額に対して、受益者が振り出した為替手形を受領するエンティティ。多くの事例では、発行体は、銀行、又は信用限度額を開設することを承認された他の金融機関とすることができる。ある事例では、受益者に信用限度額を拡大することができる任意のエンティティが発行体と見なされることができる。発行体によって開設された信用限度額は、決済口座の形態で表されてもよく、決済カードの使用を介して受益者によって引き出されてもよい。また、発行体は、デビット口座、プリペイド口座、電子ウォレット口座、貯蓄口座、当座預金口座など、当業者に明らかであるような追加の種類の決済口座を消費者に提供することができ、デビットカード、プリペイドカード、現金自動支払い機カード、電子ウォレット、小切手などのような、そのような口座にアクセスし、及び/又はそのような口座を利用するための物理的又は非物理的手段を消費者に提供することができる。
【0016】
アクワイアラ(acquirer:加盟店契約会社)-販売業者に代わって決済カードトランザクションを処理することができるエンティティ。アクワイアラは、銀行、又は販売業者に代わって決済カードトランザクションを処理することを承認された他の金融機関とすることができる。多くの事例では、アクワイアラは、販売業者を受益者とする信用限度額を開設することができる。アクワイアラは、消費者(これは、発行体によって提供される信用限度額に対する受益者であり得る)が、アクワイアラが代理する販売業者と決済カードを介して取引を行う場合に、発行体と資金を交換することができる。
【0017】
決済トランザクション-あるエンティティから他方のエンティティに金銭又は他の金銭的利益が交換される、2つのエンティティ間のトランザクション。決済トランザクションは、商品若しくはサービスの購入のための、負債の返済のための、又は当業者に明らかであるような任意の他の金銭的利益の交換のための、資金の移転とすることができる。ある事例では、決済トランザクションは、クレジットカードトランザクションなどの決済カード及び/又は決済口座を介して資金を提供されるトランザクションを指すことができる。そのような決済トランザクションは、発行体、決済ネットワーク、及びアクワイアラを介して処理されることができる。そのような決済トランザクションを処理するための処理は、承認、バッチ処理、清算、決済、及び資金提供のうちの少なくとも1つを含むことができる。承認は、消費者による販売業者への決済詳細の提供と、販売業者からアクワイアラへのトランザクション詳細(例えば、決済詳細を含む)の提出と、トランザクションに資金を提供するために使用される消費者の決済口座の発行体との決済詳細の検証とを含むことができる。バッチ処理は、アクワイアラへの分配のために、バッチ処理内の承認されたトランザクションを、他の承認されたトランザクションと共に格納することを指すことができる。清算は、処理のために、アクワイアラから決済ネットワークへのバッチ処理されたトランザクションの送信を含むことができる。決済は、発行体の受益者が関与するトランザクションのための、決済ネットワークによる発行体の引き落としを含むことができる。ある事例では、発行体は、決済ネットワークを介してアクワイアラに支払うことができる。他の事例では、発行体は、アクワイアラに直接支払うことができる。資金提供は、清算され、決済された決済トランザクションについての、アクワイアラから販売業者への決済を含むことができる。決済トランザクション処理の一部として実行される上述のステップの順序及び/又は分類化は当業者には明らかであろう。
【0018】
販売時点管理において製品の真正性を検証するためのシステム
図1は、出所ブロックチェーンと従来のトランザクションメッセージングとの使用を介して、販売時点管理において製品の真正性を検証するためのシステム100を示す。
【0019】
システム100は、1つ以上のブロックチェーンノード102を含むことができる。各ブロックチェーンノード102は、ブロックチェーンネットワーク104の一部とすることができる。各ブロックチェーンノード102は、以下でより詳細に論じられ、
図2及び
図5に示されるようなコンピューティングシステムとすることができる。コンピューティングシステムは、ブロックチェーンの処理及び管理に関連した機能を実行するように構成される。この機能は、ブロックチェーンデータ値の生成と、提案されたブロックチェーントランザクションの検証と、デジタル署名の検証と、新しいブロックの生成と、新しいブロックの検証と、ブロックチェーンの複製の維持とを含む。
【0020】
ブロックチェーンは、少なくとも複数のブロックから構成される分散台帳とすることができる。各ブロックは、少なくとも、ブロックヘッダと、1つ以上のデータ値とを含むことができる。各ブロックヘッダは、少なくとも、タイムスタンプと、ブロック参照値と、データ参照値とを含むことができる。タイムスタンプは、ブロックヘッダが生成された時間とすることができ、任意の適切な方法(例えば、UNIXタイムスタンプ、日時型(DateTime)など)を使用して表されることができる。ブロック参照値は、ブロックチェーン内のより前のブロックを(例えば、タイムスタンプに基づいて)参照する値とすることができる。ある実施形態では、ブロックヘッダ内のブロック参照値は、それぞれのブロックの前にごく最近追加されたブロックのブロックヘッダへの参照とすることができる。例示的な実施形態では、ブロック参照値は、ごく最近追加されたブロックのブロックヘッダのハッシュ化を介して生成されたハッシュ値とすることができる。データ参照値は、同様に、ブロックヘッダを含むブロック内に格納された1つ以上のデータ値への参照とすることができる。例示的な実施形態では、データ参照値は、1つ以上のデータ値のハッシュ化を介して生成されたハッシュ値とすることができる。例えば、ブロック参照値は、1つ以上のデータ値を使用して生成されたマークルツリーのルートとすることができる。
【0021】
各ブロックヘッダ内のブロック参照値及びデータ参照値の使用は、ブロックチェーンが不変であることをもたらすことができる。何らかのデータ値への修正を試みると、そのブロックについて新しいデータ参照値の生成が必要になり、それによって、後続のブロックのブロック参照値が新たに生成されることが必要になり、さらに、すべての後続のブロック内に新しいブロック参照値を生成することが必要になる。これは、変更を永続的にするために、新しいブロックを生成して新しいブロックをブロックチェーンに追加する前に、ブロックチェーンネットワーク104内のすべての単一のブロックチェーンノード102において実行され、更新されなければならない。不可能ではないにしても、計算上及び通信上の制限は、そのような修正を非常に困難にし、したがって、ブロックチェーンを不変にすることができる。
【0022】
ある実施形態では、ブロックチェーンは、2つの異なるブロックチェーンウォレット間で行われるブロックチェーントランザクションに関する情報を格納するために使用されることができる。ブロックチェーンウォレットは、暗号鍵ペアのうちの秘密鍵を含むことができる。これは、ブロックチェーントランザクションの支払人による承認として機能するデジタル署名を生成するために使用される。デジタル署名は、暗号鍵ペアのうちの公開鍵を使用して、ブロックチェーンネットワーク104によって検証されることができる。ある場合では、用語「ブロックチェーンウォレット」は、特に秘密鍵を指すことができる。他の場合では、用語「ブロックチェーンウォレット」は、ブロックチェーントランザクションの際に使用するための秘密鍵を格納するコンピューティング装置(例えば、製造業者システム106、販売時点管理装置108、アクワイアラ金融機関114、検証プロセッサ118など)を指すことができる。例えば、各コンピューティング装置は、それぞれの暗号鍵ペアについて独自の秘密鍵を各々有することができ、それぞれ、ブロックチェーンネットワークに関連付けられたブロックチェーンとのトランザクションの際に使用するためのブロックチェーンウォレットとすることができる。コンピューティング装置は、ブロックチェーンウォレットを格納して利用するのに適した任意の種類の装置とすることができ、例えば、デスクトップコンピュータ、ラップトップコンピュータ、ノートブックコンピュータ、タブレットコンピュータ、携帯電話、スマートフォン、スマートウォッチ、スマートテレビ、装着型コンピューティング装置、埋め込み型コンピューティング装置などである。
【0023】
ブロックチェーン内に格納された各ブロックチェーンデータ値は、適用可能な場合、ブロックチェーントランザクション又は他のデータの記憶に対応することができる。ブロックチェーントランザクションは、少なくとも、送信者の秘密鍵を使用して生成される、送信者のデジタル署名と、受信者の公開鍵を使用して生成される、通貨の受信者のブロックチェーンアドレスと、転送されるブロックチェーン通貨額又は格納されている他のデータと、から構成されることができる。通貨とは別のデータ記憶のために使用されるブロックチェーンの場合、通貨額は、そのような他のデータによって置き換えられる、又はそのような他のデータに追加されることができる。また、あるブロックチェーントランザクションでは、トランザクションは、ブロックチェーン通貨が現在格納される(例えば、デジタル署名がそのような通貨へのアクセスを証明する)送信者の1つ以上のブロックチェーンアドレスと、送信者によって保持される任意の変更のために送信者の公開鍵を使用して生成されるアドレスと、を含むことができる。将来のトランザクションにおいて使用され得る、暗号通貨が送信されたアドレスは「出力」アドレスと呼ばれ、これは、各アドレスが前のブロックチェーントランザクションの出力を捕捉するために以前に使用されたものであり、「未使用トランザクション」とも呼ばれ、これはその通貨が依然として未使用である前のトランザクションにおいてアドレスに送信された通貨があるためである。また、ある場合では、ブロックチェーントランザクションは、トランザクションを検証する際のエンティティによる使用のために、送信者の公開鍵を含むことができる。ブロックチェーントランザクションの従来の処理のために、そのようなデータは、送信者又は受信者のいずれかによって、ブロックチェーンネットワーク104内のブロックチェーンノード102に提供されることができる。ノードは、送信者のウォレットの暗号鍵ペア内の公開鍵を使用してデジタル署名を検証することができる。また、ノードは、(例えば、未使用トランザクションがまだ使用されておらず、送信者のウォレットに関連付けられたアドレスに送信された)送信者の資金へのアクセス、トランザクションの「確認」として知られる処理、を検証し、次に、ブロックチェーントランザクションを新しいブロック内に含むことができる。新しいブロックは、従来のブロックチェーン実装では、ブロックチェーンに追加され、ブロックチェーンネットワーク104内のブロックチェーンノード102のすべてに分散される前に、ブロックチェーンネットワーク104内の他のノードによって検証されることができる。ブロックチェーンデータ値がブロックチェーントランザクションに関連されないが、代わりに他の種類のデータの記憶に関連され得る場合、ブロックチェーンデータ値は、依然として、デジタル署名の検証を含む、又は、デジタル署名の検証を伴うことができる。
【0024】
システム100では、ブロックチェーンネットワーク104は、出所ブロックチェーンを動作させる及び格納することができる。出所ブロックチェーンは、サプライチェーンに関するデータを格納するブロックチェーンとすることができ、サプライチェーン内のイベントがそこに格納される。そのようなイベントは、例えば、製品製造と、流通エンティティによる積荷と、ある貯蔵施設から別の貯蔵施設への輸送と、小売業者への配送と、小売業者による販売と、消費者による再販売と、製品のグループ分けへの製品の追加と、製品のグループ分けからの製品の分離と、製品の入金取消しと、などを含むことができる。ある場合では、そのようなイベントのために出所ブロックチェーン内に格納されたブロックチェーンデータ値は、イベントについての詳細な情報を含むことができる。他の場合では、ブロックチェーンデータ値は、イベントについて詳細な情報のハッシュ値を含むことができる。詳細な情報は、別々のデータ記憶内に格納されることができる。ある事例では、文書及び他のデータは、直接、又は実行された契約に関与するエンティティによって所有されるなどの他の場所に格納され得る基礎となるデータ(例えば、実行された契約)を検証するために使用されることができるハッシュ値を介して、など、ブロックチェーンデータ値内に格納されることができる。出所ブロックチェーンの使用及び動作に関する追加の情報は、2020年5月15日に出願されたSteven C. Davisらによる「Method and System for Generalized Provenance Solution for Blockchain Supply Chain Applications」という名称の米国特許出願公開第16/875,154号において見出されることができ、その全体が参照により本明細書に組み込まれる。
【0025】
システム100では、消費者110は、製品を購入する前に、購入される製品の真正性を有することに関心があり得る。製品が製造されると、製造業者システム106は、製品識別子を製品に割り当てることができる。ある場合では、製品識別子は、製品に対して一意とすることができ、これは、製造される製品のすべてにわたって一意であるシリアル番号などである。他の場合では、製品識別子は、共通の組のすべての製品に割り当てられることができ、これは、薬剤の組に割り当てられたロット番号などである。組内の各アイテムは追跡目的のために同一と見なさることができる。製品識別子は、整数又は英数の値など、適切な長さの任意の適切な種類の値とすることができる。製造された製品は、出所ブロックチェーン内に格納されることができる。製品の作成は、ブロックチェーン内の対応する項目内に格納さることができる。
【0026】
製品は、製品識別子のハッシュを介して出所ブロックチェーン内に格納されることができる。ハッシュアルゴリズムは、製品識別子に適用されることができ、これは、出所ブロックチェーン内に格納されるハッシュ値をもたらすことができる。ハッシュアルゴリズムは、一方向ハッシュアルゴリズムが使用される場合、基礎となる製品識別子を明らかにすることなく、製品が追跡されることができることを保証し得る。これは、例えば、悪意のある行為者が本物の製品のシリアル番号又は他の製品識別子を用いて偽造製品をラベル付けすることを防止する。例示的な実施形態では、ハッシュアルゴリズムは、一方向の衝突耐性(collision-resistant)ハッシュアルゴリズムであってもよい。ある場合では、製造業者システム106は、偽造に対する追加の対策として、非連続的なシリアル番号及び他の製品識別子を使用することを奨励されることができる。
【0027】
製品の流通は、上述のように、出所ブロックチェーンを使用して追跡されることができる。製品は、最終的に、消費者110による購入のために販売業者に配送されることができる。販売業者が製品を受け入れると、ハッシュ化された製品識別子と、販売業者によって受諾された配送の標示と、を含む新しい項目がブロックチェーン内に入れられることができる。
【0028】
システム100では、消費者110は、所望の製品についての支払いのために使用されるトランザクション口座を発行されることができる。発行体銀行などの発行体金融機関は、消費者110にトランザクション口座を発行することができる。トランザクション口座の発行の一部として、発行体金融機関は、クレジットカード又はデビットカードなどの決済カード、又は口座の詳細を伝達する際に使用するための他の決済手段を消費者110に発行して、消費者の発行されたトランザクション口座を介して資金提供される決済トランザクションが処理されることを可能にすることができる。
【0029】
消費者110が所望の製品を購入することに関心があるとき、消費者110は、製品を選択し、販売時点管理装置108に接近して、決済トランザクションを行い、精算処理を開始することができる。精算処理の一部として、販売時点管理装置108は、真正性が検証される、購入される各製品の製品識別子を収集することができる。ある場合では、消費者110は、真正性が検証されることを望む製品を示すことができる。他の場合では、販売業者は、販売されているどの製品が真正性を検証されるかに関する規則を有することができる。これは、例えば、出所ブロックチェーンを介して追跡される任意の製品、又は所定の価格点を上回る製品、である。販売時点管理装置108は、任意の適切な方法を使用して製品識別子を収集することができる。任意の適切な方法は、例えば、光学撮像装置を用いた機械可読コードの読み取り、近距離無線通信又は無線周波数などの電子送信を介した製品識別子の受信、販売業者の従業員又は消費者110による入力装置を介した製品識別子の入力、などである。ある場合では、受信された製品識別子は、ハッシュ化された製品識別子とすることができる。他の場合では、販売時点管理装置108は、受信時に製品識別子をハッシュ化して、ハッシュ化された製品識別子を生成することができる。
【0030】
また、販売時点管理装置108は、検証される製品及び任意の他の製品の購入のために、決済トランザクションの処理に必要な任意の他の情報を収集することができる。そのような情報は、決済トランザクションに資金を提供するために使用される消費者のトランザクション口座についてのトランザクション口座情報(例えば、磁気ストライプの読み取り、近距離無線通信の送信の受信などを介して、決済手段から読み取られる、又は受信される)、トランザクション額、販売時点管理識別子、通貨の種類、トランザクション時間、トランザクション日付、販売業者識別子、販売業者分類コード、ロイヤルティデータ、報酬データ、クーポンデータなどを含むことができる。
【0031】
決済トランザクションの処理を開始して、選択された製品について消費者110による決済を容易にするために、販売時点管理装置108は、トランザクションメッセージを生成することができる。トランザクションメッセージは、特別にフォーマットされたデータメッセージとすることができる。これは、国際標準化機構のISO 8583又はISO 20022規格などの、金融トランザクションメッセージの交換を管理する1つ以上の規格に従ってフォーマットされる。トランザクションメッセージは、複数のデータ要素を含むことができる。各データ要素は、適用可能な規格において示されるようなデータを格納する。ある場合では、トランザクションメッセージは、1つ以上のビットマップを含むことができる。これは、トランザクションメッセージ内の各データ要素に格納されたデータを示すことができる。また、各トランザクションメッセージは、メッセージ種類指標(message type indicator)を含むことができる。これは、トランザクションメッセージの処理において使用するためのトランザクションメッセージの種類を示すことができる。
【0032】
従来のトランザクションメッセージは、所定のデータ要素内に、決済トランザクションの標準的な処理の際に使用するために必要なデータを格納することができる。このようなデータの格納は、トランザクション額と、決済トランザクションに資金を提供するために使用される消費者のトランザクション口座のトランザクション口座データと、決済トランザクションにおいて資金を受け取るために使用される販売業者のトランザクション口座のトランザクション口座データと、トランザクション時間、トランザクション日付、販売時点管理識別子、通貨の種類、トランザクション時間、トランザクション日付、販売業者識別子、販売業者分類コード、ロイヤルティデータ、報酬データ、クーポンデータなどの上記トランザクションデータと、の記憶である。システム100では、トランザクションメッセージはまた、真正性が検証される製品ごとに、ハッシュ化された製品識別子を格納することができる。ある場合では、ハッシュ化された製品識別子はすべて、単一のデータ要素内に格納されることができる。他の場合では、複数の製品が真正性を検証される場合、ハッシュ化された製品識別子は各々、それら自体のデータ要素内に格納されることができる。ある事例では、トランザクションメッセージは、検証される製品の数が所定の数を超える場合など、ハッシュ化された製品識別子を格納する際に使用するための追加のデータ要素の定義のために、追加のビットマップを要求することができる。ある実施形態では、ハッシュ化された製品識別子を格納するために使用されるデータ要素は、適用可能な規格に従って私的使用のために予約されたデータ要素とすることができる。
【0033】
販売時点管理装置108は、適切な通信ネットワーク及び方法を使用して、トランザクションメッセージをアクワイアラ金融機関114に電子的に送信することができる。ある場合では、販売時点管理装置108は、トランザクションメッセージをアクワイアラ金融機関114に直接、電子的に送信することができる。他の場合では、販売時点管理装置108は、1つ以上の仲介を介して(例えば、決済ネットワーク116を介して)、トランザクションメッセージをアクワイアラ金融機関114に電子的に送信することができる。ある事例では、トランザクションメッセージは、販売時点管理装置108によって直接、又は決済ネットワーク116を介して、のいずれかで、決済ネットワーク116に関連付けられた決済レール(payment rail)を介して、アクワイアラ金融機関114に電子的に送信されることができる。ある実施形態では、通信ネットワーク及び方法は、特別にフォーマットされたトランザクションメッセージの送信のために特別に構成されることができる。アクワイアラ金融機関114は、アクワイアラ銀行などの金融機関、又は販売業者が関与する電子決済トランザクションにおいて資金を受け取る際に使用するために販売業者にトランザクション口座を発行する他のエンティティとすることができる。
【0034】
アクワイアラ金融機関114は、トランザクションメッセージを受信することができ、1つ以上の製品の検証が実行されることを識別することができる。そのような識別は、所定のデータ要素内の1つ以上のハッシュ化された製品識別子の記憶、トランザクションメッセージ内の特定のビットマップ若しくはビットマップデータの包含、又は製品の真正性検証が要求されることを示す、若しくは実行される製品検証の数の標示を示す、ことができる、所定のデータ要素内に格納されたデータフラグなどの他の標示、に基づくことができる。製品検証が実行されない場合、トランザクションメッセージは、従来の方法を使用して処理されることができる。
【0035】
消費者110によって購入される製品の真正性の検証を実行するために、アクワイアラ金融機関114は、トランザクションメッセージから、ハッシュ化された製品識別子を構文解析することができる。次に、ハッシュ化された製品識別子を使用して、検証処理が実行されることができる。ある実施形態では、アクワイアラ金融機関114は、検証処理を実行することができる。他の実施形態では、検証処理は、第三者コンピューティングシステム及び/又はアクワイアラ金融機関114とは別個のエンティティとし得る検証プロセッサ118によって実行されることができる。検証プロセッサ118が検証処理を実行する実施形態では、アクワイアラ金融機関114は、任意の適切な通信ネットワーク及び方法を使用して、構文解析された、ハッシュ化された製品識別子を検証プロセッサ118に電子的に送信することができる。例えば、検証プロセッサ118は、製品の真正性を検証するために、ハッシュ化された製品識別子を提出するためのアプリケーションプログラミングインタフェースを利用することができる。
【0036】
検証処理は、ハッシュ化された製品識別子の包含を識別するために、出所ブロックチェーンの調査を含むことができる。検証プロセッサ118(例えば、又は適用可能な場合、アクワイアラ金融機関114)は、ハッシュ化された製品識別子を含む、出所ブロックチェーン内に含まれるすべてのブロックチェーンデータ項目を識別することができる。次に、出所ブロックチェーンが、製造業者からの最初の項目と、任意の流通エンティティによる適切な配送及び受領と、それに続いて販売時点管理装置108に関連付けられた販売業者による製品の受領とを含むことを検証するなどによって、検証プロセッサ118は、製品が製造業者から販売業者への適切な管理(custody)のチェーンを通過したことを検証することができる。ハッシュ化された製品識別子を含むブロックチェーンデータ項目が存在しない場合、又は製品の管理のチェーンが検証に成功することができない場合(例えば、販売業者が製品の所有を受け入れたが、製造業者が流通業者による製品の積荷をまだ登録していない場合)、製品の真正性の検証は失敗する可能性がある。そうでなければ、検証は成功し得、製品は真正かつ本物であると決定されることができる。アクワイアラ金融機関114が検証処理を実行しない場合、検証処理を実行するエンティティ(例えば、検証プロセッサ118)は、適切な通信方法を使用して、ハッシュ化された製品識別子ごとの検証結果をアクワイアラ金融機関に返すことができる。
【0037】
したがって、アクワイアラ金融機関114は、ハッシュ化された製品識別子ごとに検証結果を有することができる。すべての検証が成功した場合(例えば、購入される製品のすべてが真正かつ本物である場合)、アクワイアラ金融機関114は、従来のシステム及び方法を使用して決済トランザクションの処理を続けることができる。1つ以上の検証が失敗した場合、アクワイアラ金融機関114は、決済トランザクションの拒否を示す応答コードを含む許可応答トランザクションメッセージを販売時点管理装置108に返すことなどによって、決済トランザクションを拒否することができる。ある場合では、応答コードは、1つ以上の製品の真正性の検証に失敗したため、拒否を示すことができる。ある事例では、1つ以上の所定のデータ要素内の失敗した各検証についてハッシュ化された製品識別子を格納することなどによって、許可応答メッセージは、認証が失敗した1つ以上の製品を示すことができる。いくつかのさらなる事例では、ハッシュ化された製品識別子が見つけられなかったこと、管理のチェーンが検証されなかったことなどを示すなど、失敗した検証の理由がさらに示されることができる。
【0038】
ある実施形態では、販売時点管理装置108は、表示装置を介して消費者110に、検証の失敗に関する情報の通知を表示することができる。例えば、販売時点管理装置108は、どの製品が検証に成功しなかったかを伝えることができ、真正性検証が失敗した製品なしで、依然として製品を購入する、又はトランザクションを継続する機会を消費者110に提供することができる。そのような事例では、通知を見た後、消費者110によって選択された製品についての決済トランザクションの処理のために、販売時点管理装置108は、別のトランザクションメッセージをアクワイアラ金融機関114に提出することができる。消費者110が決済トランザクションを継続することを望まない場合、決済トランザクションはキャンセルされることができ、消費者110は、検証に失敗した製品を購入しないで立ち去ることができる。決済トランザクションが処理に成功した場合、消費者110は、購入された製品を提供されることができる。
【0039】
本明細書で論じられるシステム及び方法は、販売時点管理において製品の真正性の検証を可能にする。消費者110が、製品を購入することを望み、その出所が出所ブロックチェーン内に格納されるとき、製品の真正性は、決済トランザクションの処理の一部として検証されることができる。トランザクションメッセージ内のハッシュ化された製品識別子を伝達することによって、既存の通信方法及び技術を使用して検証を実行することができ、これは、既存の販売時点管理システム及び金融機関システムを使用して検証が実行されることを可能にする。加えて、消費者110によって動作を実行する必要はなく、これは、消費者110が、標準的なトランザクション処理外の任意の動作を実行する必要なく、購入される製品の真正性を保証されることを可能にする。結果として、本明細書で論じられる方法及びシステムは、消費者110及び販売業者に役立つサービスを提供し、消費者の体験に影響を及ぼすことなく、かつ既存の技術及び処理に依存することなく、偽造製品が販売されないことを確実にする。そのような処理は、偽造薬剤の販売を防止するなど、健康及び安全性の場合にさらに有益であり得、消費者110が購入している薬剤が本物であることを確実にすることを可能にする。
【0040】
コンピューティングシステム
図2は、システム100内のコンピューティングシステム200の一実施形態を示す。
図2に示されるコンピューティングシステム200の実施形態は、例示としてのみ提供され、本明細書で論じられるような機能を実行するのに適したコンピューティングシステム200のすべての可能な構成を網羅し得るものではないことが、当業者には明らかであろう。例えば、
図5に示され、以下でより詳細に論じられるコンピュータシステム500は、コンピューティングシステム200の適切な構成とすることができる。
図1のシステム100におけるブロックチェーンノード102、販売時点管理装置108、アクワイアラ金融機関114、及び検証プロセッサ118は、コンピューティングシステム200(例えば、又はコンピュータシステム500)として実装されることができ、
図2に示される、又は以下で論じられるような1つ以上の構成要素を含むことができる。
【0041】
コンピューティングシステム200は、受信装置202を含むことができる。受信装置202は、1つ以上のネットワークプロトコルを介して1つ以上のネットワークにわたってデータを受信するように構成されることができる。ある事例では、受信装置202は、1つ以上の通信方法を介して、他のブロックチェーンノード102と、製造業者システム106と、販売時点管理装置108と、発行体金融機関112と、アクワイアラ金融機関114と、決済ネットワーク116と、検証プロセッサ118と、他のシステム及びエンティティと、からデータを受信するように構成されることができる。この通信方法は、無線周波数、構内通信網、無線エリアネットワーク、セルラー通信ネットワーク、Bluetooth、インターネットなどである。ある実施形態では、受信装置202は、複数の装置から構成されることができる。これは、例えば、異なるネットワークを介してデータを受信するための異なる受信装置であり、構内通信網を介してデータを受信するための第1の受信装置及びインターネットを介してデータを受信するための第2の受信装置などである。受信装置202は、電子的に送信されたデータ信号を受信することができる。このデータは、データ信号に重ねられる、又は符号化されることができ、受信装置202によるデータ信号の受信を介して、復号される、構文解析される、読み込まれる、又は取得されることができる。ある事例では、受信装置202は、受信されたデータ信号を構文解析して、重ねられたデータを取得するために構文解析モジュールを含むことができる。例えば、受信装置202は、パーサプログラムを含むことができる。パーサプログラムは、受信して、受信されたデータ信号を、本明細書で説明される方法及びシステムを実行するために処理装置によって実行される機能のための使用可能な入力に変換するように構成される。
【0042】
受信装置202は、販売時点管理装置108、アクワイアラ金融機関114、又は決済ネットワーク116によって電子的に送信されたデータ信号を受信するように構成されることができる。このデータ信号は、トランザクションメッセージと重ねられる又は符号化されることができる。受信装置202は、アクワイアラ金融機関114によって電子的に送信されたデータ信号を受信するように構成されことができる。このデータ信号は、ハッシュ化された製品識別子、検証結果、又は通知データと重ねられる又は符号化される。また、受信装置202は、検証プロセッサ118によって電子的に送信されたデータ信号を受信するように構成されることができる。このデータ信号は、検証結果と重ねられる又は符号化されることができる。
【0043】
また、コンピューティングシステム200は通信モジュール204を含むことができる。通信モジュール204は、本明細書で論じられる機能を実行する際に使用するために、モジュールと、エンジンと、データベースと、記憶部と、コンピューティングシステム200の他の構成要素との間でデータを送信するように構成されることができる。通信モジュール204は、1つ以上の通信種別から構成されることができ、コンピューティング装置内の通信のための様々な通信方法を利用することができる。例えば、通信モジュール204は、バス、コンタクトピンコネクタ、電線などから構成されることができる。また、ある実施形態では、通信モジュール204は、コンピューティングシステム200の内部構成要素と、外部接続データベース、表示装置、入力装置などのコンピューティングシステム200の外部構成要素との間で通信するように構成されることができる。また、コンピューティングシステム200は、処理装置を含むことができる。処理装置は、当業者には明らかであるように、本明細書で論じられるコンピューティングシステム200の機能を実行するように構成されることができる。ある実施形態では、処理装置は、クエリモジュール214、生成モジュール216、検証モジュール218、トランザクション処理モジュール220など、処理装置の1つ以上の機能を実行するように特別に構成された複数のエンジン及び/又はモジュールを含む、及び/又はそれらから構成されることができる。本明細書で使用される場合、用語「モジュール」は、入力を受信し、入力を使用して1つ以上の処理を実行し、出力を提供するように特にプログラムされたソフトウェア又はハードウェアとすることができる。様々なモジュールによって実行される入力、出力、及び処理は、本開示に基づいて当業者には明らかであろう。
【0044】
コンピューティングシステム200は記憶部212を含むことができる。記憶部212は、本明細書で論じられる機能を実行する際にコンピューティングシステム200によって使用されるためのデータを格納するように構成されることができる。記憶部212は、適切なデータフォーマット方法及びスキーマを使用してデータを記憶するように構成されることができ、読取り専用メモリ、ランダムアクセスメモリなどの任意の適切な種類のメモリとすることができる。例えば、記憶部212は、暗号鍵及びアルゴリズムと、通信プロトコル及び規格と、データフォーマット規格及びプロトコルと、処理装置のモジュール及びアプリケーションプログラムのためのプログラムコードと、当業者には明らかであるような、本明細書で開示される機能の実行の際にコンピューティングシステム200によって使用されるのに適し得る他のデータと、を含むことができる。ある実施形態では、記憶部212は、関係データベースから構成されることができる、又はそれを含むことができる。関係データベースは、格納された構造化データ集合の記憶、識別、修正、更新、アクセスなどのために構造化クエリ言語を利用する。例えば、記憶部212は、トランザクションデータ、ブロックチェーンデータ、通信データ、トランザクションメッセージフォーマット規格、ハッシュアルゴリズムなどを格納するように構成されることができる。
【0045】
コンピューティングシステム200は、クエリモジュール214を含むことができる。クエリモジュール214は、情報を識別するために、データベース上でクエリを実行するように構成されることができる。クエリモジュール214は、1つ以上のデータ値又はクエリ文字列を受信することができ、コンピューティングシステム200の記憶部212などの、示されたデータベース上で、それに基づくクエリ文字列を実行して、格納された情報を識別することができる。次に、クエリモジュール214は、必要に応じて、識別された情報を、コンピューティングシステム200の適切なエンジン又はモジュールに出力することができる。クエリモジュール214は例えば、記憶部212上でクエリを実行して、製品識別子をハッシュ化するためにハッシュアルゴリズムを識別すること、トランザクションメッセージを生成するためにトランザクションデータを識別すること、検証処理のためにブロックチェーンデータを識別することなどを行うことができる。
【0046】
また、コンピューティングシステム200は、生成モジュール216を含むことができる。生成モジュール216は、本明細書で論じられる機能を実行する際にコンピューティングシステム200によって使用されるためのデータを生成するように構成されることができる。生成モジュール216は、入力として命令を受信することができ、命令に基づいてデータを生成することができ、生成されたデータをコンピューティングシステム200の1つ以上のモジュールに出力することができる。例えば、生成モジュール216は、受信された製品識別子にハッシュアルゴリズムを適用することを介して、ハッシュ化された製品識別子を生成するように構成されることができる。
【0047】
コンピューティングシステム200はまた、検証モジュール218を含むことができる。検証モジュール218は、本明細書で論じられる機能の一部として、コンピューティングシステム200の検証を実行するように構成されることができる。検証モジュール218は、入力として命令を受信することができ(これは、検証を実行する際に使用されるデータも含み得る)、要求に応じて検証を実行することができ、検証の結果をコンピューティングシステム200の別のモジュール又はエンジンに出力することができる。検証モジュール218は例えば、供給された、ハッシュ化された製品識別子を含む出所ブロックチェーン内のブロックチェーンデータ値を識別することと、対応する製品の適切な管理のチェーンを保証するためのブロックチェーンデータ値の見直し(review)とを介して、製品の真正性を検証する検証処理を実行するように構成されることができる。
【0048】
コンピューティングシステム200はまた、トランザクション処理モジュール220を含むことができる。トランザクション処理モジュール220は、電子決済トランザクションの開始及び処理について、コンピューティングシステム200の機能を実行するように構成されることができる。トランザクション処理モジュール220は、トランザクション口座情報と他のトランザクションデータとを入力として受信することができ、トランザクションメッセージ又は命令を、コンピューティングシステム200の他のモジュール又はエンジンに出力することができる。トランザクション処理モジュール220は例えば、1つ以上の適用可能な規格に従ってフォーマットされたトランザクションメッセージを生成するように構成されることができる。トランザクションメッセージは、トランザクションデータならびに所定のデータ要素内に格納されたハッシュ化された製品識別子を含むことができる。
【0049】
また、コンピューティングシステム200は送信装置222を含むことができる。送信装置222は、1つ以上のネットワークプロトコルを介して1つ以上のネットワークにわたってデータを送信するように構成されることができる。ある事例では、送信装置222は、1つ以上の通信方法を介して、他のブロックチェーンノード102と、製造業者システム106と、販売時点管理装置108と、発行体金融機関112と、アクワイアラ金融機関114と、決済ネットワーク116と、検証プロセッサ118と、他のエンティティと、にデータを送信するように構成されることができる。この通信方法は、構内通信網、無線エリアネットワーク、セルラー通信、Bluetooth、無線周波数、インターネットなどである。ある実施形態では、送信装置222は、複数の装置から構成されることができる。これは、例えば、異なるネットワークを介してデータを送信するための異なる送信装置であり、構内通信網を介してデータを送信するための第1の送信装置及びインターネットを介してデータを送信するための第2の送信装置などである。送信装置222は、受信するコンピューティング装置によって構文解析され得る、データが重ねられたデータ信号を電子的に送信することができる。ある事例では、送信装置222は、データを、送信に適したデータ信号に重ねる、符号化する、又はフォーマットするための1つ以上のモジュールを含むことができる。
【0050】
送信装置222は、販売時点管理装置108、アクワイアラ金融機関114、又は決済ネットワーク116にデータ信号を電子的に送信するように構成されることができる。このデータ信号は、トランザクションメッセージに重ねられる、又は符号化されることができる。送信装置222は、アクワイアラ金融機関114、検証プロセッサ118、又は販売時点管理装置108に、データ信号を電子的に送信するように構成されることができる。このデータ信号は、ハッシュ化された製品識別子、検証結果、又は通知データと重ねられる、又は符号化される。送信装置222はまた、アクワイアラ金融機関114にデータ信号を電子的に送信するように構成されることができる。このデータ信号は、検証結果と重ねられる又は符号化されることができる。
【0051】
販売時点管理において製品の真正性を検証するための処理
図3A及び
図3Bは、
図1に示され、上述されたシステム100において、トランザクションメッセージを使用して、販売時点管理において、購入される1つ以上の製品の真正性を検証するための処理を示す。
【0052】
ステップ302において、販売時点管理装置108は、対応する製品の製品識別子で符号化された、製品上に表示された機械可読コードの読み取りなどの適切な方法を使用して、消費者110によって購入される1つ以上の製品から製品識別子を読み取ることができる。製品識別子は、製品に対して一意とすることができ、又は薬剤のロット番号など、製品に関連付けられることができる。ステップ304において、販売時点管理装置108は、(例えば、生成モジュール216を介して)、読み取られた製品識別子をハッシュ化して、真正性が検証される各製品についてハッシュ化された製品識別子を生成することができる。ある場合では、消費者110は、真正性が検証されることを望む製品を示すことができる。他の場合では、製品は、1つ以上の規則又は基準を介して識別されることができる。これは、製品識別子を読み取ると販売時点管理装置108によって自動的に識別されることができる。ステップ306において、販売時点管理装置108は(例えば、トランザクション処理モジュール220を介して)、ステップ302において製品識別子が読み取られた製品の購入のための決済トランザクションについて、トランザクションメッセージを生成することができる。トランザクションメッセージは、金融トランザクションメッセージの交換を管理する1つ以上の規格に従って特別にフォーマットされることができ、ハッシュ化された製品識別子を格納する1つ以上のデータ要素を含むトランザクションデータを格納する複数のデータ要素を含むことができる。
【0053】
ステップ308において、販売時点管理装置108は(例えば、送信装置222を介して)、決済ネットワーク116に関連付けられた決済レールなどを介して、生成されたトランザクションメッセージをアクワイアラ金融機関114に電子的に送信することができる。ステップ310において、アクワイアラ金融機関114は(例えば、受信装置202を介して)、販売時点管理装置108からトランザクションメッセージを受信することができる。ステップ312において、アクワイアラ金融機関114は(例えば、クエリモジュール214を介して)、真正性が検証される製品についてのハッシュ化された製品識別子を、格納される所定のデータ要素から、構文解析することができ、これは、トランザクションメッセージ内の1つ以上のビットマップを介して識別されることができる。ステップ314において、アクワイアラ金融機関114は(例えば、送信装置222を介して)、検証プロセッサ118によって利用可能にされたアプリケーションプログラミングインタフェースなどを使用して、ハッシュ化された製品識別子の各々についての検証要求を検証プロセッサ118に提出することができる。ステップ316において、検証プロセッサ118は(例えば、受信装置202を介して)、1つ以上の検証要求を受信することができ、その各々は、トランザクションメッセージから構文解析された、ハッシュ化された製品識別子を含むことができる。
【0054】
ステップ318において、検証プロセッサ118は(例えば、検証モジュール218を介して)、各検証要求について検証処理を実行することができる。検証処理は、ハッシュ化された製品識別子を含む出所ブロックチェーン内に格納されたすべてのブロックチェーンデータ値を識別することと、製品の製造から、販売時点管理装置108に関連付けられた販売業者による所有までの間の全ての適切な管理のチェーンがあるかを決定することと、を含むことができる。ある場合では、販売時点管理装置108の装置識別子又は販売業者識別子は、検証要求内に含まれることができ、トランザクションに関与する販売業者が、出所ブロックチェーンにおいて販売のために製品を受け入れたのと同じ販売業者であることを確実にする。検証プロセッサ118は、ハッシュ化された製品識別子ごとに検証処理の結果(例えば、成功又は失敗)を識別することができる。検証プロセッサ118は、ステップ320において(例えば、送信装置222を介して)、アプリケーションプログラミングインタフェースなどを介して、各検証要求についての検証結果をアクワイアラ金融機関114に電子的に送信することができる。
【0055】
ステップ322において、アクワイアラ金融機関114は(例えば、受信装置202を介して)、検証プロセッサ118から検証結果を受信することができる。ステップ324において、アクワイアラ金融機関114は(例えば、トランザクション処理モジュール220を介して)、決済トランザクションが処理されるかを決定することができる。決定は検証結果に基づくことができる。1つ以上の検証の失敗は、決済トランザクションがアクワイアラ金融機関114によって拒否されることをもたらし得る。そのような事例では、(例えば、トランザクションメッセージ内のメッセージ種類指標によって示されるような)許可応答が、販売時点管理装置108に返されることができる。
図3Bに示される例では、アクワイアラ金融機関114は、すべての検証結果が成功したと決定することができ、ステップ326において、決済トランザクションについてのトランザクションメッセージを、従来の方法又はシステムを使用して処理するために、決済レールを介して、決済ネットワーク116又は発行体金融機関112に電子的に(例えば、送信装置222を介して)送信することができる。ある事例では、ハッシュ化された製品識別子は、アクワイアラ金融機関114による転送の前に、トランザクションメッセージから除去されることができる。
【0056】
ステップ328において、アクワイアラ金融機関114は(例えば、送信装置222を介して)、販売時点管理装置108に通知メッセージを電子的に送信することができる。通知メッセージは、適用可能な製品の各々の認証が成功したことを示すことができる。ステップ330において、販売時点管理装置108は(例えば、受信装置202を介して)、通知メッセージを受信することができる。ステップ332において、通知メッセージは、消費者110に表示されることができる。これは、購入される製品が、出所ブロックチェーンを使用した真正性の検証の成功の結果として本物であることを消費者110に保証することができる。決済トランザクションは、従来の方法を使用して、処理され、消費者110に製品が与えられることができる。
【0057】
製品の真正性を検証するための例示的な方法
図4は、トランザクションメッセージを介して販売時点管理において製品の真正性を検証するための方法400を示す。
【0058】
ステップ402では、1つ以上の製品識別値は、販売時点管理装置(例えば、販売時点管理装置108)によって(例えば、受信装置202を介して)受信されることができる。各製品識別値は、決済トランザクションにおいて購入される製品に対応する。ステップ404では、1つ以上の製品識別値を格納する1つ以上のデータ要素を含むトランザクションメッセージが、販売時点管理装置によって、(例えば、生成モジュール216を介して)生成されることができる。トランザクションメッセージは、1つ以上の規格に従ってフォーマットされる。ステップ406において、トランザクションメッセージは、販売時点管理装置によって、第1の処理システム(例えば、アクワイアラ金融機関114)に(例えば、送信装置222を介して)送信されることができる。
【0059】
ステップ408において、受信されたトランザクションメッセージ内に含まれる1つ以上のデータ要素から構文解析された1つ以上の製品識別値は、第1の処理システムによって第2の処理システム(例えば、検証プロセッサ118)に(例えば、送信装置222を介して)送信されることができる。ステップ410において、第1の処理システムは、第2の処理システムから、1つ以上の製品識別値の各々についての検証結果を(例えば、受信装置202を介して)受信することができる。ステップ412において、決済トランザクションは、第1の処理システムによって(例えば、トランザクション処理モジュール220を介して)処理されることができる。処理は、(i)1つ以上の製品識別値のうちの少なくとも1つについての検証結果が検証失敗を示す場合、決済トランザクションを拒否する応答メッセージを販売時点管理装置に(例えば、送信装置222を介して)送信すること、又は(ii)1つ以上の製品識別値の各々についての検証結果が検証成功を示す場合、トランザクションメッセージを決済ネットワーク(例えば、決済ネットワーク116)に送信すること、を含む。
【0060】
一実施形態では、トランザクションメッセージは、決済レールを使用して、第1の処理システムに送信されることができる。ある実施形態では、第1の処理システムは、アクワイアラ金融機関システムとすることができ、第2の処理システムは、第三者のプロセッサシステムとすることができる。一実施形態では、1つ以上の規格は、ISO 8583とISO 20022とのうちの少なくとも1つを含むことができる。ある実施形態では、1つ以上のデータ要素は、1つ以上の規格に従って私的使用のために予約されることができる。
【0061】
一実施形態では、1つ以上の製品識別値は、アプリケーションプログラミングインタフェースを使用して第2の処理システムに送信されることができる。ある実施形態では、方法400は、販売時点管理装置によって、(例えば、生成モジュール216を介して)、ハッシュアルゴリズムを製品識別値に適用することによって、1つ以上の製品識別値の各々についてのハッシュ値を生成することをさらに含むことができる。トランザクションメッセージ内に含まれる1つ以上のデータ要素は、製品識別値の代わりに、1つ以上の製品識別値の各々についてのハッシュ値を格納する。一実施形態では、方法400はまた、第2の処理システムによって、第1の処理システムから、1つ以上の製品識別値を(例えば、受信装置202を介して)受信することと、第2の処理システムによって、ブロックチェーンを含む複数のブロックのブロック内に製品識別値を含むことに基づいて、1つ以上の製品識別値の各々についての検証結果を(例えば、検証モジュール218を介して)決定することであって、製品識別値が複数のブロックのいずれのブロックにも含まれない場合、検証失敗が生じる、ことと、第2の処理システムによって、1つ以上の製品識別値の各々についての検証結果を第1の処理システムに(例えば、送信装置222を介して)送信することと、を含むことができる。
【0062】
コンピュータシステムアーキテクチャ
図5は、本開示の実施形態又はその一部がコンピュータ可読コードとして実装されることができるコンピュータシステム500を示す。例えば、
図1の販売時点管理装置108、アクワイアラ金融機関114、及び検証プロセッサ118と、
図2のコンピューティングシステム200とは、ハードウェア、命令を格納した非一時的コンピュータ可読媒体、又はそれらの組み合わせを使用してコンピュータシステム500において実装されることができ、1つ以上のコンピュータシステム又は他の処理システムにおいて実装されることができる。ハードウェアは、
図3A、
図3B、及び
図4の方法を実施するために使用されるモジュール及び構成要素を具体化することができる。
【0063】
プログラマブルロジックが使用される場合、そのようなロジックは、実行可能ソフトウェアコードによって構成された市販の処理プラットフォーム上で実行して、特定の目的のコンピュータ又は特別の目的の装置(例えば、プログラマブルロジックアレイ、特定用途向け集積回路など)になることができる。当業者は、開示された主題の実施形態が様々なコンピュータシステム構成を用いて実施され得ることを理解することができる。このコンピュータシステム構成は、マルチコアマルチプロセッサシステム、ミニコンピュータ、メインフレームコンピュータ、分散機能を用いてリンク又はクラスタ化されたコンピュータ、ならびに仮想的に任意の装置に埋め込まれ得るパーペイシブ又は小型コンピュータを含む。例えば、少なくとも1つのプロセッサ装置と記憶部とが、上述の実施形態を実装するために使用されることができる。
【0064】
本明細書で論じられるプロセッサユニット又は装置は、単一のプロセッサ、複数のプロセッサ、又はそれらの組み合わせとすることができる。プロセッサ装置は、1つ以上のプロセッサ「コア」を有することができる。本明細書で論じられるような用語「コンピュータプログラム媒体」、「非一時的コンピュータ可読媒体」、及び「コンピュータ使用可能媒体」は、概して、取り外し可能記憶ユニット518、取り外し可能記憶ユニット522、及びハードディスクドライブ512にインストールされたハードディスクなどの有形媒体を指すために使用される。
【0065】
本開示の様々な実施形態は、この例示的なコンピュータシステム500に関して説明される。この説明を読んだ後、他のコンピュータシステム及び/又はコンピュータアーキテクチャを使用して、どのように本開示を実施するかが当業者には明らかになるであろう。動作は連続的な処理として説明されることができるが、動作の一部は、実際には、並列に、同時に、及び/又は分散環境において、単一又はマルチプロセッサ機械によるアクセスのためにローカルに又は遠隔に格納されたプログラムコードを用いて、実行されることができる。追加として、ある実施形態では、動作の順序が、開示される主題の趣旨から逸脱することなく、再構成されることができる。
【0066】
プロセッサ装置504は、本明細書で論じられる機能を実行するように特に構成された専用又は汎用プロセッサ装置とすることができる。プロセッサ装置504は、通信インフラストラクチャ506に接続されることができる。これは、例えば、バス、メッセージキュー、ネットワーク、マルチコアメッセージパッシング方式などである。ネットワークは、本明細書で開示されるような機能を実行するのに適した任意のネットワークとすることができ、構内通信網(LAN)、広域通信網(WAN)、無線ネットワーク(例えば、WiFi)、移動体通信網、衛星ネットワーク、インターネット、光ファイバ、同軸ケーブル、赤外線、無線周波数(RF)、又はそれらの任意の組合せを含むことができる。他の適切なネットワークの種類及び構成は、当業者には明らかであろう。また、コンピュータシステム500は、主記憶部508(例えば、ランダムアクセスメモリ、読み取り専用メモリなど)を含むことができ、補助記憶部510も含むことができる。補助記憶部510は、ハードディスクドライブ512と取り外し可能記憶ドライブ514とを含むことができる。これは、例えば、フロッピーディスクドライブ、磁気テープドライブ、光ディスクドライブ、フラッシュメモリなどである。
【0067】
取り外し可能記憶ドライブ514は、周知の方法で、取り外し可能記憶ユニット518から読み取り、及び/又はそれに書き込むことができる。取り外し可能記憶ユニット518は、取り外し可能記憶ドライブ514によって読み書きされ得る取り外し可能記憶媒体を含むことができる。例えば、取り外し可能記憶ドライブ514がフロッピーディスクドライブ又はユニバーサルシリアルバスポートである場合、取り外し可能記憶ユニット518は、それぞれ、フロッピーディスク又はポータブルフラッシュドライブとすることができる。一実施形態では、取り外し可能記憶ユニット518は、非一時的コンピュータ可読記録媒体とすることができる。
【0068】
ある実施形態では、補助記憶部510は、コンピュータプログラム又は他の命令をコンピュータシステム500内に読み込むことを可能にするための代替手段、例えば、取り外し可能記憶ユニット522及びインタフェース520を含むことができる。そのような手段の例は、プログラムカートリッジ及びカートリッジインタフェース(例えば、ビデオゲームシステムに見られるようなもの)と、取り外し可能メモリチップ(例えば、EEPROM、PROMなど)及び関連付けられたソケットと、当業者には明らかであるような他の取り外し可能記憶ユニット522及びインタフェース520とを含むことができる。
【0069】
コンピュータシステム500(例えば、主記憶部508及び/又は補助記憶部510)内に格納されたデータは、任意の種類の適切なコンピュータ可読媒体上に格納されることができる。これは、例えば、光学記憶装置(例えば、コンパクトディスク、デジタル多用途ディスク、ブルーレイディスクなど)又は磁気テープ記憶装置(例えば、ハードディスクドライブ)である。データは、任意の種類の適切なデータベース構成において構成されることができる。これは、例えば、関係データベース、構造化クエリ言語(SQL)データベース、分散データベース、オブジェクトデータベースなどである。適切な構成及び記憶装置の種類は、当業者には明らかであろう。
【0070】
コンピュータシステム500はまた、通信インタフェース524を含むことができる。通信インタフェース524は、ソフトウェア及びデータを、コンピュータシステム500と外部装置との間で転送することを可能にするように構成されることができる。例示的な通信インタフェース524は、モデム、ネットワークインタフェース(例えば、イーサネットカード)、通信ポート、PCMCIAスロット及びカードなどを含むことができる。通信インタフェース524を介して転送されたソフトウェア及びデータは、信号の形態とすることができ、これは、電子信号、電磁信号、光信号、又は当業者には明らかであるような他の信号とすることができる。信号は、通信経路526を介して伝わることができる。これは、信号を搬送するように構成されることができ、電線、ケーブル、光ファイバ、電話回線、携帯電話リンク、無線周波数リンクなどを使用して実装されることができる。
【0071】
コンピュータシステム500は、表示インタフェース502をさらに含むことができる。表示インタフェース502は、データを、コンピュータシステム500と外部表示装置530との間で転送することを可能にするように構成されることができる。例示的な表示インタフェース502は、高解像度マルチメディアインタフェース(HDMI)、デジタルビジュアルインタフェース(DVI)、ビデオグラフィックスアレイ(VGA)などを含むことができる。表示装置530は、コンピュータシステム500の表示インタフェース502を介して送信されるデータを表示するための任意の適切な種類の表示装置とすることができる。この表示装置は、陰極線管(CRT)表示装置、液晶表示装置(LCD)、発光ダイオード(LED)表示装置、静電タッチ表示装置、薄膜トランジスタ(TFT)表示装置などを含む。
【0072】
コンピュータプログラム媒体及びコンピュータ使用可能媒体は、主記憶部508及び補助記憶部510などの記憶部を指すことができ、これは、メモリ半導体(例えば、DRAMなど)とすることができる。これらのコンピュータプログラム製品は、コンピュータシステム500にソフトウェアを提供するための手段とすることができる。コンピュータプログラム(例えば、コンピュータ制御ロジック)は、主記憶部508及び/又は補助記憶部510内に格納されることができる。また、コンピュータプログラムは、通信インタフェース524を介して受信されることができる。そのようなコンピュータプログラムは、実行されると、コンピュータシステム500が本明細書で論じられるような本方法を実施することを可能にすることができる。特に、コンピュータプログラムは、実行されると、プロセッサ装置504が、本明細書で論じられるような、
図3Aと、
図3Bと、
図4とによって示された方法を実施することを可能にすることができる。したがって、そのようなコンピュータプログラムは、コンピュータシステム500の制御装置を表すことができる。本開示がソフトウェアを使用して実装される場合、ソフトウェアは、コンピュータプログラム製品内に格納され、取り外し可能記憶ドライブ514、インタフェース520、及びハードディスクドライブ512、又は通信インタフェース524を使用してコンピュータシステム500内に読み込まれることができる。
【0073】
プロセッサ装置504は、コンピュータシステム500の機能を実行するように構成された1つ以上のモジュール又はエンジンを含むことができる。モジュール又はエンジンの各々は、ハードウェアを使用して実装されることができ、ある事例では、主記憶部508又は補助記憶部510内に格納されたプログラムコード及び/又はプログラムに対応するようなソフトウェアも利用することができる。そのような事例では、プログラムコードは、コンピュータシステム500のハードウェアによる実行の前に、プロセッサ装置504によって、(例えば、コンパイルするモジュール又はエンジンによって)コンパイルされることができる。例えば、プログラムコードは、プロセッサ装置504及び/又はコンピュータシステム500の任意の追加のハードウェア構成要素による実行のために、アセンブリ言語又は機械コードなどの低水準言語に翻訳されるプログラミング言語で書かれたソースコードとすることができる。コンパイルする処理は、字句解析と、前処理と、構文解析と、意味解析と、構文指向翻訳と、コード生成と、コード最適化と、コンピュータシステム500を制御して本明細書で開示される機能を実行するのに適した低水準言語へのプログラムコードの翻訳に適し得る任意の他の技術との使用を含むことができる。そのような処理の結果、コンピュータシステム500は、上述の機能を実行するように一意にプログラムされた、特別に構成されたコンピュータシステム500となることが当業者には明らかであろう。
【0074】
本開示と一致する技術は、とりわけ、トランザクションメッセージを介して販売時点管理において製品の真正性を検証するシステム及び方法を提供する。開示されたシステム及び方法の様々な例示的な実施形態が上記説明されたが、それらは、限定ではなく、例示のみを目的として提示されたことを理解されたい。それは、網羅的ではなく、開示された厳密な形態に本開示を限定しない。上記の教示に照らして、修正及び変形が可能であり、又は、修正及び変形は、広さ若しくは範囲から逸脱することなく、本開示の実施から得られることができる。