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

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

▶ アメリカン エキスプレス トラヴェル リレイテッド サーヴィシーズ カンパニー, インコーポレイテッドの特許一覧

特許7595600イベント駆動型プラットフォームを使用する供給者インボイス調整及び支払い
<>
  • 特許-イベント駆動型プラットフォームを使用する供給者インボイス調整及び支払い 図1
  • 特許-イベント駆動型プラットフォームを使用する供給者インボイス調整及び支払い 図2
  • 特許-イベント駆動型プラットフォームを使用する供給者インボイス調整及び支払い 図3
  • 特許-イベント駆動型プラットフォームを使用する供給者インボイス調整及び支払い 図4
  • 特許-イベント駆動型プラットフォームを使用する供給者インボイス調整及び支払い 図5
  • 特許-イベント駆動型プラットフォームを使用する供給者インボイス調整及び支払い 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-28
(45)【発行日】2024-12-06
(54)【発明の名称】イベント駆動型プラットフォームを使用する供給者インボイス調整及び支払い
(51)【国際特許分類】
   G06Q 30/04 20120101AFI20241129BHJP
   G06Q 20/14 20120101ALI20241129BHJP
【FI】
G06Q30/04
G06Q20/14
【請求項の数】 19
(21)【出願番号】P 2021576657
(86)(22)【出願日】2020-06-15
(65)【公表番号】
(43)【公表日】2022-09-14
(86)【国際出願番号】 US2020037715
(87)【国際公開番号】W WO2020263607
(87)【国際公開日】2020-12-30
【審査請求日】2023-05-16
(31)【優先権主張番号】16/456,203
(32)【優先日】2019-06-28
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520107951
【氏名又は名称】アメリカン エキスプレス トラヴェル リレイテッド サーヴィシーズ カンパニー, インコーポレイテッド
【氏名又は名称原語表記】AMERICAN EXPRESS TRAVEL RELATED SERVICES COMPANY, INC.
【住所又は居所原語表記】200 Vesey Street, New York, NY 10285-4900 U.S.A.
(74)【代理人】
【識別番号】100083116
【弁理士】
【氏名又は名称】松浦 憲三
(72)【発明者】
【氏名】バラスブラマニアン, サティシュクマール
(72)【発明者】
【氏名】キャラハン, メアリー, キャサリン
(72)【発明者】
【氏名】ゴラントラ, モニッシュ
(72)【発明者】
【氏名】ジャドハブ, サチン, ディー.
(72)【発明者】
【氏名】クノール, クリスティーン, エイ.
(72)【発明者】
【氏名】メルツァー, ジェイスン
(72)【発明者】
【氏名】ミルズ, ドロシー
(72)【発明者】
【氏名】ペトラ, アマール
(72)【発明者】
【氏名】セス, アヌパム
(72)【発明者】
【氏名】ショーリア, ラーフル
(72)【発明者】
【氏名】シン, シラジット
(72)【発明者】
【氏名】ティアギ, ウルヴァシ
【審査官】野元 久道
(56)【参考文献】
【文献】特開2003-085420(JP,A)
【文献】特開平07-013903(JP,A)
【文献】特表2001-525575(JP,A)
【文献】特開2020-201729(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
(57)【特許請求の範囲】
【請求項1】
供給者システムから、購入注文(PO)に関連する注文確認を、コンピュータベースのシステムによって受信するステップと、
買い手システムから前記注文確認に関連する前記POを、前記コンピュータベースのシステムによって受信するステップと、
前記供給者システムから前記PO及び前記注文確認に関連する第1のインボイスを、前記コンピュータベースのシステムによって受信するステップと、
前記PO、前記第1のインボイス、及び前記注文確認の間で、前記コンピュータベースのシステムによって調整するステップと、
前記調整は、
前記PO、前記第1のインボイス、及び前記注文確認は、マッチした行項目セットの中の各アイテムの為のそれぞれの属性の比較に少なくとも部分的に基づいて、前記マッチした行項目セットを有するかを検証するステップと、
アイテム価格及びアイテム量に少なくとも部分的に基づいて、前記マッチした行項目セットの累計を計算するステップと、
を含み、
前記マッチした行項目セットの前記累計と前記マッチした行項目セットの前記検証に少なくとも部分的に基づいて、第2のインボイスを、前記コンピュータベースのシステムによって生成するステップと、
前記第2のインボイスを前記買い手システムに、前記コンピュータベースのシステムによって渡すステップと
を含む、方法。
【請求項2】
注文確認メッセージを、前記コンピュータベースのシステムによって消費し、前記注文確認を注文確認テーブルに記録するステップと、
前記注文確認メッセージを前記買い手システムの注文確認APIに、前記コンピュータベースのシステムによってポストし、買い手注文確認応答メッセージを受信するステップと、
前記買い手注文確認応答メッセージに基づいて前記注文確認の状態を、前記コンピュータベースのシステムによって更新するステップと、
エラーに応答して前記注文確認メッセージを前記注文確認APIに、前記コンピュータベースのシステムによって再送するステップと
を更に含む、請求項1に記載の方法。
【請求項3】
前記第1のインボイスを第1のインボイス・テーブル内の複数のインボイスと、前記コンピュータベースのシステムによって比較して新しいインボイスを決定するステップと、
前記新しいインボイスを決定することに応答して前記第1のインボイスを前記第1のインボイス・テーブルに、前記コンピュータベースのシステムによって書き込むステップと、
前記PO及び前記注文確認を、前記コンピュータベースのシステムによってフェッチするステップと、
前記第1のインボイス、前記PO、及び前記注文確認を、前記コンピュータベースのシステムによってマッチングするステップと
を更に含む、請求項2に記載の方法。
【請求項4】
前記第2のインボイスを生成するステップは、
前記第1のインボイス・テーブルから前記第1のインボイスを、前記コンピュータベースのシステムによってフェッチするステップと、
前記買い手システムの電子インボイス発行APIに前記第2のインボイスを、前記コンピュータベースのシステムによって渡し、返信を受信するステップと、
前記返信に基づいて第2のインボイス・テーブルに記録された前記第2のインボイスの状態を、前記コンピュータベースのシステムによって更新するステップと
を更に含む、請求項1に記載の方法。
【請求項5】
生成支払い命令ファイル(PIF)メッセージを、前記コンピュータベースのシステムによって生成するステップと、
前記生成PIFメッセージに応答して前記第1のインボイス及び前記POに基づいてPIFを、前記コンピュータベースのシステムによって生成するステップと、
支払いAPIに前記PIFを、前記コンピュータベースのシステムによって渡すこと及び応答で支払い確認IDを受信するステップと、
前記第2のインボイスと前記支払い確認ID又は前記PIFのうちの少なくとも一つを、前記コンピュータベースのシステムによって関連付けるステップと
を更に含む、請求項4に記載の方法。
【請求項6】
プロセッサと、
前記プロセッサと通信するように構成された、有形の、非一時的なメモリであり、前記プロセッサによる実行に応答して、
供給者システムから、購入注文(PO)に関連する注文確認を、前記プロセッサによって受信すること、
買い手システムから前記注文確認に関連する前記POを、前記プロセッサによって受信すること、
前記供給者システムから前記PO及び前記注文確認に関連する第1のインボイスを、前記プロセッサによって受信すること、
前記PO、前記第1のインボイス、及び前記注文確認の間で、前記プロセッサによって調整すること、
前記調整は、
前記PO、前記第1のインボイス、及び前記注文確認は、マッチした行項目セットの中の各アイテムの為のそれぞれの属性の比較に少なくとも部分的に基づいて、前記マッチした行項目セットを有するかを検証することと、
アイテム価格及びアイテム量に少なくとも部分的に基づいて、前記マッチした行項目セットの累計を計算することと、
を備え、
前記調整に応答して第2のインボイスを、前記プロセッサによって生成すること、及び、
前記第2のインボイスを前記買い手システムに、前記プロセッサによって渡すこと
を含む動作を前記プロセッサに実行させる、命令が記憶された前記有形の、非一時的なメモリと
を備える、システム。
【請求項7】
注文確認メッセージを、前記プロセッサによって消費し、前記注文確認を注文確認テーブルに記録することと、
前記買い手システムの注文確認APIに前記注文確認メッセージを、前記プロセッサによってポストし、買い手注文確認応答メッセージを受信することと、
前記買い手注文確認応答メッセージに基づいて前記注文確認の状態を、前記プロセッサによって更新することと、
エラーに応答して前記注文確認メッセージを前記注文確認APIに、前記プロセッサによって再送することと
を更に含む、請求項6に記載のシステム。
【請求項8】
前記第1のインボイスを第1のインボイス・テーブル内の複数のインボイスと、前記プロセッサによって比較して新しいインボイスを決定することと、
前記新しいインボイスを決定することに応答して前記第1のインボイスを前記第1のインボイス・テーブルに、前記プロセッサによって書き込むことと、
前記PO及び前記注文確認を、前記プロセッサによってフェッチすることと、
前記第1のインボイス、前記PO、及び前記注文確認を、前記プロセッサによってマッチングすることと
を更に含む、請求項7に記載のシステム。
【請求項9】
前記第1のインボイス、前記PO、及び前記注文確認のそれぞれから複数の行項目を、前記プロセッサによって読み取ることと、
共通属性に基づいて前記第1のインボイス、前記PO、及び前記注文確認のそれぞれにわたる同じセットの行項目を含むマッチした行項目セットを、前記プロセッサによって決定することと、
アイテム価格及びアイテム量に基づいて前記マッチした行項目セットの累計を、前記プロセッサによって計算することと
を更に含む、請求項8に記載のシステム。
【請求項10】
前記第2のインボイスを生成することは、
前記第1のインボイス・テーブルから前記第1のインボイスを、前記プロセッサによってフェッチすることと、
前記買い手システムの電子インボイス発行APIに前記第2のインボイスを、前記プロセッサによって渡し、返信を受信することと、
前記返信に基づいて第2のインボイス・テーブルに記録された前記第2のインボイスの状態を、前記プロセッサによって更新することと、
を更に含む、請求項9に記載のシステム。
【請求項11】
生成支払い命令ファイル(PIF)メッセージを、前記プロセッサによって生成することと、
前記生成PIFメッセージに応答して前記第1のインボイス及び前記POに基づいてP
IFを、前記プロセッサによって生成することと、
支払いAPIに前記PIFを、前記プロセッサによって渡すこと及び応答で支払い確認IDを受信することと、
前記支払い確認ID又は前記PIFのうちの少なくとも一つを前記第2のインボイスと、前記プロセッサによって関連付けることと
を更に含む、請求項9又は10に記載のシステム。
【請求項12】
カフカ・アーキテクチャを更に含む、請求項6乃至11のいずれか一項に記載のシステム。
【請求項13】
供給者システムから購入注文(PO)に関連する注文確認を、コンピュータベースのシステムによって受信することと、
買い手システムから前記注文確認に関連する前記POを、前記コンピュータベースのシステムによって受信することと、
前記供給者システムから前記PO及び前記注文確認に関連する第1のインボイスを、前記コンピュータベースのシステムによって受信することと、
前記PO、前記第1のインボイス、及び前記注文確認の間で、前記コンピュータベースのシステムによって調整することと、
前記調整は、
前記PO、前記第1のインボイス、及び前記注文確認は、マッチした行項目セットの中の各アイテムの為のそれぞれの属性の比較に少なくとも部分的に基づいて、前記マッチした行項目セットを有するかを検証することと、
アイテム価格及びアイテム量に少なくとも部分的に基づいて、前記マッチした行項目セットの累計を計算することと、
を含み、
前記マッチした行項目セットの前記累計と前記マッチした行項目セットの前記検証に少なくとも部分的に基づいて、第2のインボイスを、前記コンピュータベースのシステムによって生成することと、
前記第2のインボイスを前記買い手システムに、前記コンピュータベースのシステムによって渡すことと
を含む動作を、前記コンピュータベースのシステムによる実行に応答して、前記コンピュータベースのシステムに実行させる命令が記憶された非一時的な、有形のコンピュータ可読記憶媒体を含む、製品。
【請求項14】
注文確認メッセージを、前記コンピュータベースのシステムによって消費し、前記注文確認を注文確認テーブルに記録することと、
前記注文確認メッセージを前記買い手システムの注文確認APIに、前記コンピュータベースのシステムによってポストし、買い手注文確認応答メッセージを受信することと、
前記買い手注文確認応答メッセージに基づいて前記注文確認の状態を、前記コンピュータベースのシステムによって更新することと、
エラーに応答して前記注文確認メッセージを前記注文確認APIに、前記コンピュータベースのシステムによって再送することと
を更に含む、請求項13に記載の製品。
【請求項15】
前記第1のインボイスを第1のインボイス・テーブル内の複数のインボイスと、前記コンピュータベースのシステムによって比較して新しいインボイスを決定することと、
前記新しいインボイスを決定することに応答して前記第1のインボイスを前記第1のインボイス・テーブルに、前記コンピュータベースのシステムによって書き込むことと、
前記PO及び前記注文確認を、前記コンピュータベースのシステムによってフェッチすることと、
前記第1のインボイス、前記PO、及び前記注文確認を、前記コンピュータベースのシステムによってマッチングすることと
を更に含む、請求項14に記載の製品。
【請求項16】
前記第1のインボイス、前記PO、及び前記注文確認のそれぞれから複数の行項目を、前記コンピュータベースのシステムによって読み取ることと、
共通属性に基づいて前記第1のインボイス、前記PO、及び前記注文確認のそれぞれにわたる同じセットの行項目を含むマッチした行項目セットを、前記コンピュータベースのシステムによって決定することと、
アイテム価格及びアイテム量に基づいて前記マッチした行項目セットの累計を、前記コンピュータベースのシステムによって計算することと
を更に含む、請求項15に記載の製品。
【請求項17】
前記第1のインボイス・テーブルから前記第1のインボイスを、前記コンピュータベースのシステムによってフェッチすることと、
前記PO、前記第1のインボイス、及び前記累計に基づいて前記第2のインボイスを、前記コンピュータベースのシステムによって生成することと、
前記買い手システムの電子インボイス発行APIに前記第2のインボイスを、前記コンピュータベースのシステムによって渡し、返信を受信することと、
前記返信に基づいて第2のインボイス・テーブルに記録された前記第2のインボイスの状態を、前記コンピュータベースのシステムによって更新することと
を更に含む、請求項16に記載の製品。
【請求項18】
生成支払い命令ファイル(PIF)メッセージを、前記コンピュータベースのシステムによって生成することと、
前記生成PIFメッセージに応答して前記第1のインボイス及び前記POに基づいてPIFを、前記コンピュータベースのシステムによって生成することと、
支払いAPIに前記PIFを、前記コンピュータベースのシステムによって渡すこと及び応答で支払い確認IDを受信することと、
前記第2のインボイスと前記支払い確認ID又は前記PIFのうちの少なくとも一つを、前記コンピュータベースのシステムによって関連付けることと
を更に含む、請求項17に記載の製品。
【請求項19】
カフカ・アーキテクチャを更に含む、請求項13乃至18のいずれか一項に記載の製品。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2019年6月28日に出願された、「SUPPLIER INVOICE RECONCILIATION AND PAYMENT USING EVENT DRIVEN PLATFORM」と題する同時係属の米国特許出願第16/456,203号の優先権、及び利益を主張する。
【0002】
本開示は、概して、自動化されたインボイス調整及び支払いのためのシステム及び方法に関する。
【背景技術】
【0003】
インボイス調整のための従来の方法は、しばしば、買い手と供給者との間で流れる支払いに先立った一連の購入注文及びインボイスに依拠する。支払い処理能力が買い手、供給者、及び支払人の間の購入注文の送信の効率、購入注文の数及びインボイスの数によって制限されるという点で、技術的問題が存在する。更に、主としてシステム間の調整プロセスの手動の性質により、エラーが導入され得る。この関連で、従来の手動の方法による供給者インボイス分析及び調整は、通常は、時間がかかり、比較的多数のユーザ入力を必要とし、情報の誤りに耐性がないことがある。
【発明の概要】
【課題を解決するための手段】
【0004】
様々な実施形態において、自動化された供給者インボイス調整のためのシステム、方法、及び製品(総称して、「システム」)が、開示される。本システムは、供給者システムから購入注文(PO:purchase order)に関連する注文確認を受信し得る。本システムは、買い手システムから注文確認に関連するPOを受信し得る。本システムは、POに関連する第1のインボイス及び注文確認を供給者システムから受信し得る。本システムは、PO、第1のインボイス、及び注文確認の間で調整し得る。本システムは、調整に応答して第2のインボイスを生成し得る。本システムは、第2のインボイスを買い手システムに渡し得る。
【0005】
様々な実施形態において、本システムは、注文確認メッセージを消費し、注文確認を注文確認テーブルに記録し得る。本システムは、注文確認メッセージを買い手システムの注文確認APIにポストし、買い手注文確認応答メッセージを受信し得る。本システムは、買い手注文確認応答メッセージに基づいて注文確認の状態を更新し得る。本システムは、エラーに応答して注文確認メッセージを注文確認APIに再送し得る。
【0006】
様々な実施形態において、本システムは、第1のインボイスを第1のインボイス・テーブル内の複数のインボイスと比較して新しいインボイスを決定する。本システムは、新しいインボイスを決定することに応答して第1のインボイスをインボイス・テーブルに書き込み得る。本システムは、PO及び注文確認をフェッチ又は受信し得る。本システムは、インボイス、PO、及び注文確認をマッチングし得る。様々な実施形態において、本システムは、第1のインボイス、PO、及び注文確認のそれぞれから複数の行項目を読み取り得る。本システムは、共通属性に基づいて第1のインボイス、PO、及び注文確認のそれぞれにわたる同セットの行項目を含むマッチした行項目セットを決定する。本システムは、アイテム価格及びアイテム量に基づいて、マッチした行項目セットの累計を計算し得る。
【0007】
様々な実施形態において、本システムは、第1のインボイスを第1のインボイス・テーブルからフェッチし得る。本システムは、PO、第1のインボイス、及び累計に基づいて、第2のインボイスを生成し得る。本システムは、第2のインボイスを買い手システムの電子インボイス発行APIに渡し得、返信を受信し得る。本システムは、返信に基づいて、第2のインボイス・テーブルに記録された第2のインボイスの状態を更新し得る。様々な実施形態において、本システムは、生成支払い命令ファイル(PIF:payment instruction file)メッセージを生成し得る。本システムは、生成されたPIFメッセージに応答して、第1のインボイス及びPOに基づいて、JSON PIFを生成し得る。本システムは、JSON PIFを本システムの支払いAPIに渡すことができ、応答して支払い確認IDを受信し得る。本システムは、支払い確認ID又はJSON PIFのうちの少なくとも一つを第2のインボイスと関連付け得る。
【0008】
前述の特徴及び要素は、本明細書において別の明確な指示がない限り、排他性を有さずに様々な組合せで組み合わされ得る。これらの特徴及び要素並びに本開示の実施形態の動作は、以下の説明及び添付の図面を考慮して、更に明らかとなろう。
【0009】
本開示の主題は、具体的には、本明細書の結びの部分で指摘され、明確に請求される。しかしながら、本開示のより完璧な理解は、類似の番号は類似の要素を示す、図面に関連して考慮されるときに、その詳細な説明及び特許請求の範囲を参照することによって、得られ得る。
【図面の簡単な説明】
【0010】
図1】様々な実施形態による、供給者インボイス調整のためのシステムの様々なシステム構成要素を示すブロック図である。
【0011】
図2】様々な実施形態による、供給者インボイス調整のためのシステムにおける注文確認のプロセスを示す図である。
【0012】
図3】様々な実施形態による、供給者インボイス調整のためのシステムにおけるインボイス処理の方法を示す図である。
【0013】
図4】様々な実施形態による、供給者インボイス調整のためのシステムにおけるインボイス・マッチングのプロセスを示す図である。
【0014】
図5】様々な実施形態による、供給者インボイス調整のためのシステムにおけるインボイス生成プロセスを示す図である。
【0015】
図6】様々な実施形態による、供給者インボイス調整のためのシステムにおける支払い情報ファイル生成のプロセスを示す図である。
【発明を実施するための形態】
【0016】
本システムは、供給者インボイス調整プロセスのより大きなレベルの高度化及び制御を提供する。本開示の利益は、インボイス発行システム及び発注システムの任意の適切な用途に適用され得る。たとえば、本開示は、消費者販売コンテキスト、B2B、又は物流コンテキストにおいて適用され得る。本開示は、「供給者インボイス」を参照することがあるが、本システムは任意のタイプのインボイス、請求書、チャージ又は要求に適用され得ることが、当業者には理解されよう。
【0017】
前述のように、先行技術システムは、通常は、買い手と供給者との間に支払い及び調整時間遅延の技術的問題を含むが、本システムは、イベント・プラットフォームにおいて支払いを調整することによって技術的解決を提供する。この関連で、本システムは、イベント・プラットフォームによる自動化された調整によって、支払い処理の速度及び効率を上げることができる。本システムは、支払いプロセスがユーザによって従事されるプロセス時間を減らし得る。たとえば、支払いプロセスは、数カ月又は数週間の期間から数日の期間に減らされ得る。本システムはまた、冗長PO確認要求及びインボイスを減らすことができ、それによって、システム資源の需要を減らし得る。本システムは、メッセージ並べ替え、ルート指定、及び調整処理を単純化し、ユーザ・インタラクションの数を減らすことによってユーザ体験を強化し得る。
【0018】
このプロセスは、コンピュータの機能を改善する。たとえば、プロセスは、ユーザ入力の数を減らすことによって及び/又はPO、インボイス、PO確認を調整する及び支払いを生成するためのいくつかのユーザ入力要求を渡すことによって、供給者調整の信頼性及び速度を上げる。同様に、プロセスは、自動化された調整及びインボイス支払いを可能にすることによって、データ提示の信頼性及び速度を上げる。本システムは、PO、インボイス、及び/又はPO確認が調整されるところのシステムに情報を渡すことによって、信頼性を高める傾向にあり得る。この関連で、システム資源は、無効、二重、又は保留中であり得るデータによる負担をかけられず、それによって、キックアウト手動介入、及び/又は同類のものを減らす傾向にある。様々な実施形態において、本明細書に記載のプロセスは、フロントエンド及びバック・エンド・プロセス・コール及び/又はネットワーク・ホップを減らすことによって、ネットワーク可用性を高めることができる。プロセスはまた、CPU時間、メモリ資源、及びネットワーク資源を含む処理資源を節約し得る。たとえば、従来のシステムは、PO、インボイス、PO確認又は同類のものをキャプチャ及び調整するために各法人、ERP、及び/又は市場の別個のパンチアウト・カタログを構成する傾向にあり得る。この関連で、従来のシステムは、処理及びデータ資源の需要を増やす傾向にある。本明細書で開示されるプロセス及びシステムは、自動的にPO、インボイス、PO確認及び同類のものを調整し得る市場による単一パンチアウトを可能にする傾向がある。
【0019】
様々な実施形態において、及び図1を参照すると、供給者インボイス調整及び支払いのためのシステム100は、イベント・プラットフォーム102、ユーザ・デバイス104、買い手システム106、供給者システム108、及び金融機関システム110を含み得る。これらの構成要素のいずれも、アウトソーシングされ得る及び/又はネットワークを介してイベント・プラットフォーム102と通信し得る。システム100は、コンピュータベースでもよく、他の適切なシステム・ソフトウェア及びハードウェア構成要素と共に、プロセッサ、有形の一時的なコンピュータ可読メモリ、及び/又はネットワーク・インターフェースを含み得る。有形の非一時的なメモリに記憶された命令は、本明細書に記載のように、様々な機能をシステム100が実行することを可能にし得る。様々な実施形態において、イベント・プラットフォーム102は、様々なシステム、エンジン、及びシステム100の構成要素にアクセスするための中央ネットワーク要素又はハブとして構成され得る。
【0020】
システム100は、生産、検出、消費、及びイベントへの反応を促進するアーキテクチャ・パターンであるメッセージ駆動型アーキテクチャとしても知られているイベント駆動型アーキテクチャを備え得る。イベントは、状態の有意な変化として定義され得る。イベント駆動型アーキテクチャは、イベント・ジェネレータ、イベント消費者、及びイベント・チャネルを含み得る。イベント・ジェネレータは、メッセージの形でイベントを公開することができ、消費イベントを知らないことが可能である。イベント消費者は、公開されたイベントを購読し、他のイベント消費者には気付かないことが可能である。イベント消費者は、非同期方式でイベントを処理し得る。イベント・チャネルは、イベントの購読、記憶、及び配信を処理し得る。
【0021】
様々な実施形態において、イベント駆動型アーキテクチャは、複数のイベント消費者を含む消費者グループ及び複数のイベント・ジェネレータを含む製作者グループを含むカフカ・アーキテクチャでもよい。カフカ・アーキテクチャは、複数のイベント・ブローカ及びズーキーパを含むカフカ・クラスタを含む。イベント・ブローカは、消費者グループからのプルに応答して製作者グループからプッシュされたメッセージを渡し得る。ズーキーパは、イベント消費者グループ・オフセット、トピック・リスト、リーダー選出、及び一般状態情報を保持し得る。カフカ・クラスタ及び/又はイベント・ブローカは、複数のイベント・トピックを定義し得、イベント・ジェネレータは、イベント・メッセージをイベント・トピックに公開し得る。
【0022】
様々な実施形態において、イベント・プラットフォーム102は、ネットワーク、コンピュータベースのシステム、及び/又は、様々なシステム、エンジン、及びシステム100の構成要素に買い手システム106、供給者システム108及び金融機関システム110にわたるアクセス・ポイントを提供するように構成されたソフトウェア構成要素を備え得る。買い手システム106は、ユーザ・デバイス104及びイベント・プラットフォーム102と動作及び/又は電子通信し得る。この関連で、イベント・プラットフォーム102は、ユーザ・デバイス104からシステム、エンジン、及びシステム100の構成要素への通信を可能にし得る。様々な実施形態において、イベント・プラットフォーム102のいずれも、一つ又は複数のデータ・センタ、クラウド・ストレージ、又は同類のものを含み得、様々なシステム、エンジン、及びシステム100の要素からデータを取得する及びそれらにデータを書き込むように構成されたソフトウェア、たとえば、API、を含み得る。
【0023】
様々な実施形態において、ユーザ・デバイス104は、取引アカウント所有者、ユーザ、及び/又は同類のものがメール・イベント・プラットフォーム102及び/又は供給者システム108にアクセスすることを可能にするように構成されたハードウェア及び/又はソフトウェアを備えるネットワークを介して買い手システム106と通信するソフトウェア及び/又はハードウェアを備え得る。ユーザ・デバイス104は、ユーザがネットワーク及びシステム100の要素と通信することを可能にするように構成された任意の適切なデバイスを備え得る。ユーザ・デバイス104は、たとえば、パーソナル・コンピュータ、パーソナル・デジタル・アシスタント、携帯電話、キオスク、及び/又は同類のものを含み得、ユーザが音声通信及び/又は電子メッセージを送信することを可能にし得る。
【0024】
様々な実施形態において、買い手システム106は、買い手がシステム100と対話して購入注文要求(すなわち、PO)を提出する、供給者見積り及び融資製品を見る、購買を完了する、及び/又は同類のことを可能にし得る。買い手システム106は、ハードウェア、ソフトウェア、及び/又はデータベース構成要素の任意の適切な組合せを備え得る。たとえば、買い手システム106は、コンピュータ若しくはプロセッサ、又は1セットのコンピュータ/プロセッサの形で少なくとも一つの計算デバイスを備え得るが、他のタイプの計算ユニット又はシステム、たとえば、サーバ、ウェブ・サーバ、プール型サーバ、又は同類のものなど、が使用され得る。買い手システム106はまた、一つ又は複数のデータ・センタ、クラウド・ストレージ、又は同類のものを含み得、イベント・プラットフォーム102へのデータを取得する及び書き込むように構成されたソフトウェア、たとえば、API、を含み得る。様々な実施形態において、買い手システム106は、一つ若しくは複数のプロセッサ及び/又は一つ若しくは複数の有形の、非一時的なメモリを含み得、論理を実施する能力を有し得る。プロセッサは、本明細書で更に論じるように、命令、たとえば、非一時的な、有形の、コンピュータ可読媒体に記憶された命令、の実行に応答して様々な論理演算を実施するように構成され得る。
【0025】
本開示は、買い手システム106を参照するが、本開示の原理は、イベント・プラットフォーム102に相互接続された任意の適切な数の供給者システムを有する供給者インボイス調整及び支払いシステムに適用され得る、ということを理解されたい。
【0026】
様々な実施形態において、供給者システム108は、売り手がシステム100と対話して購入注文要求を取得する及び見る、見積りを提出する、買い手注文を完了する、及び/又は同類のことを可能にし得る。供給者システム108は、ハードウェア、ソフトウェア、及び/又はデータベース構成要素の任意の適切な組合せを備え得る。たとえば、供給者システム108は、コンピュータ又はプロセッサ、又は1セットのコンピュータ/プロセッサの形で少なくとも一つの計算デバイスを備え得るが、他のタイプの計算ユニット又はシステム、たとえば、サーバ、ウェブ・サーバ、プール型サーバ、又は同類のもの、が、使用され得る。供給者システム108はまた、一つ又は複数のデータ・センタ、クラウド・ストレージ、又は同類のものを含み得、ブロックチェーンへのデータを取得する及び書き込むように構成されたソフトウェア、たとえば、API、を含み得る。様々な実施形態において、供給者システム108は、一つ若しくは複数のプロセッサ及び/又は一つ若しくは複数の有形の、非一時的なメモリを含み得、論理を実施する能力を有し得る。プロセッサは、本明細書で更に論じるように、命令、たとえば、非一時的な、有形の、コンピュータ可読媒体に記憶された命令、の実行に応答して様々な論理演算を実施するように構成され得る。供給者システム108はまた、アイテム棚卸、取引処理、アイテム出荷及び/又は配送、及び/又は同類のものことを行うための任意の適切な数のバックエンド・システムを含み得る。
【0027】
本開示は、供給者システム108を参照するが、本開示の原理は、イベント・プラットフォーム102に相互接続された任意の適切な数の供給者システムを有する供給者インボイス調整及び支払いシステムに適用され得る、ということを理解されたい。
【0028】
様々な実施形態において、金融機関システム110は、システム100と対話してPO、支払い許可書、インボイス、供給者見積り及び/又は同類のものを取得する及び見る、融資製品を提出する、支払いを送信して買い手注文を完了する、及び/又は同類のことができる。金融機関システム110は、ハードウェア、ソフトウェア、及び/又はデータベース構成要素の任意の適切な組合せを備え得る。たとえば、一つ又は複数のネットワーク環境、サーバ、コンピュータベースのシステム、プロセッサ、データベース、及び/又は同類のものを備え得る。金融機関システム110は、コンピュータ若しくはプロセッサ、又は1セットのコンピュータ/プロセッサの形で少なくとも一つの計算デバイスを備え得るが、他のタイプの計算ユニット又はシステム、たとえば、サーバ、ウェブ・サーバ、プール型サーバ、又は同類のもの、が、使用され得る。金融機関システム110はまた、一つ又は複数のデータ・センタ、クラウド・ストレージ、又は同類のものを含み得、イベント・プラットフォーム102へのデータを取得する及び書き込むように構成されたソフトウェア、たとえば、API、を含み得る。様々な実施形態において、金融機関システム110は、一つ若しくは複数のプロセッサ及び/又は一つ若しくは複数の有形の、非一時的なメモリを含み得、論理を実施する能力を有し得る。プロセッサは、本明細書で更に論じるように、命令、たとえば、非一時的な、有形の、コンピュータ可読媒体に記憶された命令、の実行に応答して様々な論理演算を実施するように構成され得る。
【0029】
様々な実施形態において、金融機関システム110は、購買及び支払いを円滑にする、取引を承認する、及び/又は取引を決済するためにイベント・プラットフォーム102を含み得る又はそれと対話し得る。たとえば、金融機関システム110は、クレジット・カード、デビット・カード、及び/又は他のタイプの取引アカウント若しくは取引手段の取引を現在受け入れている既存の専用ネットワークを表し得る。金融機関システム110は、盗聴者から守られた閉じたネットワークでもよい。様々な実施形態において、金融機関システム110は、AMERICAN EXPRESS(登録商標)、VISANET(登録商標)、MASTERカード(登録商標)、DISCOVER(登録商標)、INTERAC(登録商標)、Cartes Bancaires,JCB(登録商標)、プライベート・ネットワーク(たとえば、百貨店ネットワーク)、及び/又は任意の他の支払いネットワークなどの例示的取引ネットワークを含み得る。金融機関システム110は、たとえば、一つ又は複数の承認エンジン、認証エンジン及びデータベース、決済エンジン及びデータベース、アカウント受信可能システム及びデータベース、アカウント支払い可能システム及びデータベース、及び/又は同類のものなど、金融及び/又は取引システム及びプロセスに関連するシステム及びデータベースを含み得る。たとえば、金融機関システム110は、支払い取引を承認及び決済し、取引アカウント・メンバ・データベース、アカウント受信可能データベース、アカウント支払い可能データベース、又は同類のものを維持し得る。様々な実施形態において、金融機関システム110は、発行者システム、アクワイアラ・システム、支払いプロセッサ、及び/又は同類のものを含み得る。
【0030】
本開示は、金融機関システム110を参照するが、本開示の原理は、イベント・プラットフォーム102に相互接続された任意の適切な数の供給者システムを有する供給者インボイス調整及び支払いシステムに適用され得る、ということを理解されたい。
【0031】
図2を参照すると、供給者インボイス調整及び支払いのためのシステムにおける注文確認のプロセス200(たとえば、システム100内)が、示されている。買い手システム106は、購入注文(PO)201を生成し、PO201を供給者システム108に渡し得る(ステップ202)。ステップ202は、買い手カタログ・パンチアウトを介してユーザ・デバイス104に供給者カタログを表示することを含む。ステップ202は、買い手カタログ・パンチアウトを介してPO201を構築することを含む。たとえば、POを構築することは、買い手カタログ・パンチアウトから複数のストック番号を選択することを含み得る。様々な実施形態において、買い手システム106は、商業拡張マークアップ言語(cXML:commerce extensible markup language)プロトコルを介してPO201を供給者システム108に渡し得る。任意の適切なプロトコルが、システム100の様々なモジュールの間でデータ・ファイルを渡すために使用され得る、ということが当業者には理解されよう。PO201を受信することに応答して、供給者システム108は、cXML PO確認をイベント・プラットフォーム102の注文確認API206にポストし得る(ステップ204)。様々な実施形態においてcXML PO確認メッセージは、PO201を含み得る、又はPO201と関連付けられ得る。たとえば、cXML PO確認メッセージは、PO番号を介してPO201と関連付けられ得る。cXML PO確認メッセージを受信することに応答して、注文確認API206は、cXML PO確認メッセージをカフカ・アーキテクチャの注文確認トピック208にポストし得る(ステップ210)。
【0032】
注文確認消費者212は、注文確認トピック208からcXML PO確認メッセージを消費し得る(ステップ214)。cXML PO確認メッセージを消費することに応答して、注文確認消費者212は、注文確認を注文確認テーブル216に記録する(ステップ218)。様々な実施形態において、イベント・プラットフォーム102は、注文確認を買い手システム106に渡すように構成され得る。注文確認消費者212は、注文確認メッセージを注文確認ポストトピック220にポストし得る(ステップ222)。注文確認ポストAPI消費者224は、注文確認メッセージを注文確認ポストトピック220から読み取り得る(ステップ226)。注文確認ポストAPI消費者224は、注文確認メッセージを買い手システム106の注文確認API228にポストし得る(ステップ230)。注文確認ポストAPI消費者224は、注文確認API228から買い手注文確認応答メッセージを受信し得、応答して、注文確認テーブル216に記録された注文確認の状態を更新し得る(ステップ232)。たとえば、ステップ232は、注文確認の注文確認受信フラグを設定することを含み得る。プロセス200は、注文確認が買い手システム106の注文確認API228に無事にポストされたかどうかを判定することと、無事にポストされなかった場合に、注文確認を注文確認トピック208にポストすることと(ステップ234)を含む。この関連で、プロセスは、ステップ214において再循環し得、それによって注文確認を買い手システム106に再送する及び注文確認の受領を確実にする傾向がある。たとえば、本システムは、エラーを示す買い手注文確認応答メッセージに応答してXML PO確認メッセージを注文確認API228に再送し得る。
【0033】
様々な実施形態において、及び図3を追加で参照すると、供給者インボイス調整及び支払いのためのシステムにおけるインボイス処理のプロセス300が、示されている。PO201を受信することに応答して、供給者システム108は、cXMLプロトコルにおいてインボイス301(すなわち第1のインボイス)を生成し得る。インボイス301を生成することに応答して、供給者システム108は、インボイス301を含むcXMLインボイス・メッセージをイベント・プラットフォーム102のインボイスAPI302にポストし得る(ステップ304)。インボイスAPI302は、インボイス301をインボイス・テーブル306に記憶されたインボイスと比較することによって、インボイス301が重複インボイスであるかをチェックし得る(ステップ308)。インボイスAPI302は、インボイスは重複インボイスではないと判定することに応答して、cXMLインボイス・メッセージを新しい/再処理インボイス・トピック310にポストする(ステップ312)。処理インボイス消費者314は、新しい/再処理インボイス・トピック310からcXMLインボイス・メッセージを消費してインボイス301を受信する(ステップ316)。cXMLインボイス・メッセージを消費することに応答して、処理インボイス消費者314は、インボイス301をインボイス・テーブル306に書き込む(ステップ318)。別の言い方をすれば、本システムは、インボイス301は新しいインボイスであると判定し得、応答して、インボイス301をインボイス・テーブル306に書き込む。様々な実施形態において、イベント・プラットフォーム102は、購入注文201を買い手システム106からフェッチするように構成され得る。処理インボイス消費者314は、買い手システム106のPO取得API320を呼び出し得、応答してPO201を受信し得る(ステップ322)。PO取得API320は、cXML又はXML POを返し得る。処理インボイス消費者314は、PO201を受信することに応答してPO201を購入注文テーブル324に書き込み得る(ステップ326)。
【0034】
処理インボイス消費者314は、インボイス301がPO201及び/又は注文確認と関連していることを検証し得る(ステップ328)。ステップ328は、たとえば、注文確認テーブル216を読み取ることとPO番号及びインボイス番号に基づいてインボイス301を注文確認とマッチングすることとを含み得る。ステップ328は、PO番号及びインボイス番号に基づいてPO201をインボイス301とマッチングすることを含み得る。ステップ328は、PO番号、インボイス番号、及び注文確認番号がマッチする場合にインボイスを有効と判定することを含み得る。PO番号及び関連する付帯的フィールドは、PO、注文確認及びインボイスにわたって対応する。この関連で、全ての文書にわたって、PO番号は、マッチし得る。したがって、本システムは、PO201及び注文確認との関連付けによってインボイス301を検証し得る。処理インボイス消費者314は、インボイス301を有効なインボイスと判定することに応答して、インボイス301に関連するメッセージ・マッチング開始すべき商品にトピックのマッチング開始すべき商品330をポストし得る(ステップ332)。様々な実施形態において、処理インボイス消費者314は、エラー・メッセージを生成し、応答してインボイス・テーブル306を更新し得る(ステップ334)。ステップ334は、たとえば、PO番号、インボイス番号、及び注文確認番号のいずれもマッチしない場合に無効としてインボイス301にフラグを付けることを含み得る。様々な実施形態において、本システムは、インボイスがインボイス・テーブル306へ挿入されていない又はPOとの関連付けによって検証される新しい/再処理インボイス・トピック310にインボイスを含むインボイス・メッセージを定期的に及び/又は非同期的に再発行し得る(ステップ336)。
【0035】
様々な実施形態において及び図4を追加で参照すると、供給者インボイス調整及び支払いのためのシステムにおけるインボイス・マッチングのプロセス400が、示されている。開始マッチング消費者402は、トピックのマッチング開始すべき商品330を購読し、インボイス301に関連するメッセージのマッチング開始すべき商品を消費してマッチング・プロセスをトリガする(ステップ404)。開始マッチング消費者402は、インボイス301をインボイス・テーブル306からフェッチする(ステップ406)。開始マッチング消費者402は、関連注文確認を注文確認テーブル216からフェッチする(ステップ408)。開始マッチング消費者402は、関連するPO201を購入注文テーブル324からフェッチする(ステップ410)。様々な実施形態において、PO201、インボイス301、及び注文確認のそれぞれは、購買と関連する行項目を含むXML又はcXMLなどの構造化されたデータを含み得る。各行項目は、アイテムと関連する様々な属性、たとえば、アイテム番号、アイテム価格、アイテム量、及び/又は同類のものなど、を含み得る。様々な実施形態において、行項目は、たとえば、ストック番号、在庫品識別番号(SKU:Stock Keeping Unit)、アイテム番号、及び/又は同類のものによって、購買と関連付けられ得る。開始マッチング消費者402は、PO201、インボイス301、及び注文確認のそれぞれをイベント・プラットフォーム102のマッチング・モジュール412に渡し得る。
【0036】
イベント・プラットフォーム102のマッチング・モジュール412は、PO201、インボイス301、及び注文確認のそれぞれにわたり同セットの行項目を含むマッチした行項目セットを決定し得る(ステップ414)。ステップ414は、PO201、インボイス301、及び注文確認の行項目のそれぞれを比較してそれぞれのPO201、インボイス301、及び注文確認の行項目にわたるマッチを、各行項目に関して、決定するマッチング・モジュール412を含み得る。たとえば、PO201は、第1の量及び第1の価格と関連する第1の行項目を含み得る。様々な実施形態において、マッチング・モジュール412は、SKU、アイテム番号、及び/又はストック番号のうちの一つなどの共通属性に基づいて、それぞれのPO201、インボイス301、及び注文確認で行項目を整列及び/又はマッチングし得る。ステップ414は、それぞれのインボイス301及び注文確認の複数の行項目を検索してそれぞれのインボイス301及び注文確認が第1の量及び第1の価格を有する行項目を含むことを検証する、マッチング・モジュール412を含み得る。ステップ414は、それぞれのマッチした行項目のそれぞれの属性を比較して、それぞれのPO201、インボイス301、及び注文確認が同セットの行項目及び関連属性を含むことを検証することを含み得る。この関連で、本システムは、PO201、インボイス301、及びPO201と関連する注文確認の間で調整し得る。様々な実施形態において、マッチング・モジュール412は、クレジット(たとえば、負の支払い金)を計算し得る。たとえば、マッチング・モジュール412は、インボイス及び/又は支払い命令の符号変換(正から負に又はその逆)を処理し、それによって支払い及びクレジットの両方を処理し得る。様々な実施形態において、支払い金又はクレジットは、インボイスと含まれるインボイス・タイプ・ルックアップ・コードに基づいて、計算され得る。
【0037】
各マッチした行項目について、本システムは、アイテム価格及びアイテム量に基づいて、マッチした行項目の累計を計算し得る(ステップ416)。様々な実施形態において、インボイスとPO及び/又は注文確認との間の多対一の関係が存在し得る。この関連で、累計は、複数のインボイスにわたり行項目をマッチングすることによって計算され得る。ステップ416は、各マッチした行項目の累計を累計テーブル418に挿入することを含む。マッチング・モジュール412は、それぞれのPO201、インボイス301、及び注文確認にわたる同セットの行項目を含むマッチした行項目セットを生成することに応答して、電子インボイス・メッセージを生成すべき商品をインボイス・トピックを生成すべき商品420に公開する(ステップ422)。マッチング・モジュール412は、PO201、インボイス301、及び注文確認の行項目のいずれかの間でミスマッチが判定されたとき、例外処理424を呼び出し得る(ステップ426)。
【0038】
図5を更に参照すると、様々な実施形態において、供給者インボイス調整及び支払いのためのシステムにおけるインボイス生成のプロセス500が、示されている。電子インボイス生成消費者502は、インボイス・トピックを生成すべき商品420を購読し、電子インボイス・メッセージを生成すべき商品を消費してインボイス生成プロセスをトリガする(ステップ504)。電子インボイス生成消費者502は、インボイス301をインボイス・テーブル306からフェッチする(ステップ506)。電子インボイス生成消費者502は、関連するPO201を購入注文テーブル324からフェッチする(ステップ508)。電子インボイス生成消費者502は、PO201及びインボイス301をイベント・プラットフォーム102のインボイス生成モジュール510に渡し得る。インボイス生成モジュール510は、PO201及びインボイス301に基づいて第2のインボイスを生成し得る(ステップ512)。ステップ512は、累計テーブル418を読み取ることと、PO201、インボイス301、及び累計に基づいて第2のインボイスを生成することとを含み得る。インボイス生成モジュール510は、第2のインボイスを生成することに応答して、インボイス・メッセージをポストすべき商品をインボイス・トピックをポストすべき商品514に送り得る(ステップ516)。
【0039】
電子インボイス・ポスト消費者518は、インボイス・トピックをポストすべき商品514を購読し、インボイス・メッセージをポストすべき商品を消費して第2のインボイスを回復する(ステップ520)。電子インボイス・ポスト消費者518は、第2のインボイスを買い手システム106の電子インボイス発行API522に渡し得る(ステップ524)。電子インボイス・ポスト消費者518は、電子インボイス発行API522からの返信を受信し得、応答して、電子インボイス・テーブル526に記録された第2のインボイスの状態を更新し得る(ステップ232)。ステップ232は、電子インボイス・テーブル526において第2のインボイスを記録することを含み得る。様々な実施形態において、電子インボイス発行API522からの返信は、第2のインボイスを渡せなかったことを示し得、本システムは、インボイス・メッセージをポストすべき商品をインボイス・トピックをポストすべき商品514に再送し得る(ステップ528)。この関連で、プロセス500は、それによって第2のインボイスを買い手システム106に再送する及び第2のインボイスの受領を確実にする傾向にあるステップ520において再循環し得る。
【0040】
図6を更に参照すると、様々な実施形態において、供給者インボイス調整及び支払いのためのシステムにおける支払い命令ファイル(PIF)生成のプロセス600が、示されている。非同期PIF公開元602は、PIF生成メッセージを定期的に生成し、PIF生成メッセージをPIFトピックを生成すべき商品604にポストし得る(ステップ601)。PIF生成開始消費者606は、PIFトピックを生成すべき商品604を購読し、PIFメッセージを生成すべき商品を消費してPIF生成プロセスをトリガする(ステップ608)。PIF生成消費者606は、インボイス301をインボイス・テーブル306からフェッチする(ステップ610)。PIF生成消費者606は、関連するPO201を購入注文テーブル324からフェッチする(ステップ612)。PIF生成消費者606は、PO201及びインボイス301をイベント・プラットフォーム102のPIF生成モジュール614に渡し得る。PIF生成モジュール614は、PO201及びインボイス301に基づいてPIFを含むJSON PIFメッセージを生成する(ステップ617)。PIF生成モジュール614は、JSON PIFメッセージをPIFトピックをポストすべき商品616に送る(ステップ618)。
【0041】
PIFポスト消費者620は、PIFトピックをポストすべき商品616を購読し、JSON PIFメッセージを消費してPIFポストプロセスをトリガする(ステップ622)。PIFポスト消費者620は、システム100の支払いAPI624(たとえば、買い手システム106、金融機関システム110、又は、イベント・プラットフォーム102)を呼び出し、支払い確認IDを受信し得る(ステップ626)。ステップ626は、支払いAPI624を介してPIFをイベント・プラットフォーム102に渡すことと、応答して支払い確認IDを含む返信を受信することとを含み得る。PIFポスト消費者620は、電子インボイス・テーブル526に記録されたPIFの状態を更新する(ステップ628)。ステップ628は、電子インボイス・テーブル526にPIF及び支払い確認IDを記録することと、PIF及び支払い確認IDを第2のインボイスと関連付けることを含み得る。様々な実施形態において、支払いAPI624からの返信は、PIFを渡すのに失敗したことを示し得、本システムは、JSON PIFメッセージをPIFトピックをポストすべき商品616に再送し得る(ステップ630)。この関連で、プロセス600は、それによってPIFを再送する及びPIF及び支払い確認IDの受領を確実にする傾向があるステップ622において再循環し得る。様々な実施形態において、イベント・プラットフォーム102は、支払い確認IDを金融機関システム110に渡し得る。
【0042】
本明細書の様々な実施形態の詳細な説明は、図示することによって様々な実施形態を示す、添付の図面及び絵を参照する。これらの様々な実施形態は、当業者が本開示を実施することを可能にするのに十分に詳しく説明されるが、他の実施形態が実現され得ることと、論理的及び機械的変更が、本開示の趣旨及び範囲を逸脱することなく、行われ得ることとを理解されたい。したがって、本明細書の詳細な説明は、限定ではなく例示を目的として提示される。たとえば、方法又はプロセスのいずれの説明のステップも、任意の順番で実行することができ、提示された順番に限定されない。更に、機能又はステップのいずれも、一つ又は複数の第三者に外注され得る、或いはそれらによって実行され得る。修正、追加、又は省略が、本開示の範囲を逸脱することなく、本明細書に記載のシステム、装置、及び方法に対して行われ得る。たとえば、本システム及び装置の構成要素は、統合する又は分けることができる。更に、本明細書で開示されるシステム及び装置の動作は、より多数の、より少数の、又は他の構成要素によって実行されてもよく、本明細書に記載の方法は、より多数の、より少数の、又は他のステップを含み得る。加えて、ステップは、任意の適切な順番で実行され得る。本明細書で使用されるとき、「各」は、1セットの各メンバ又は1セットのサブセットの各メンバを指す。更に、単数形の任意の参照は、複数形の実施形態を含み、複数形の構成要素の任意の参照は、単数形の実施形態を含み得る。特定の利点が、本明細書で列挙されているが、様々な実施形態は、列挙された利点のうちのいくつか又は全てを含んでもよく、或いはいずれも含まなくてもよい。
【0043】
システム、方法及びコンピュータ・プログラム製品が提供される。本明細書における詳細な説明において、「様々な実施形態」、「一つの実施形態」、「一実施形態」、「例示的実施形態」などの言及は、記載された実施形態は特定の特徴、構造、又は特性を含み得るが、あらゆる実施形態がその特定の特徴、構造、又は特性を必ずしも含む訳ではないことを示す。更に、そのような表現は、必ずしも同じ実施形態を指していない。更に、特定の特徴、構造、又は特性が、一実施形態に関して説明されるとき、明示的に記述されているか否かにかかわらず、他の実施形態に関するそのような特徴、構造、又は特性に影響することは当業者の知識内にあると考えられる。本記述を読んだ後、代替実施形態において本開示をどのように実施するかは当業者には明らかであろう。
【0044】
本明細書では、「満たす」、「合う」、「マッチする」、「関連する」又は類似の表現は、完全なマッチ、部分的マッチ、ある特定の基準に合うこと、1サブセットのデータにマッチすること、相互関係、ある特定の基準を満たすこと、対応、関連、アルゴリズム関係及び/又は同類のことを含み得る。同様に、本明細書では、「認証する」又は類似の用語は、厳密な認証、部分的認証、1サブセットのデータの認証、対応、ある特定の基準を満たすこと、関連、アルゴリズム関係及び/又は同類のことを含み得る。
【0045】
「関連付ける」及び/又は「関連する」と類似の用語及び表現は、たとえば、(i)取引アカウント及び(ii)アイテム(たとえば、オファー、報奨、割引)及び/又はデジタル・チャネルなどの要素間の関係を示す又は生み出すためのタグ付け、フラグ付け、関連付け、ルックアップ・テーブルの使用、又は任意の他の方法若しくはシステムを含み得る。更に、関連付けは、任意の適切なアクション、イベント、又は期間に応答して、任意のポイントで生じ得る。関連付けは、所定の間隔で、定期的、ランダムに、一度、複数回、或いは適切な要求又はアクションに応答して、生じ得る。いずれの情報も、ソフトウェア対応のリンクを介して配布及び/又はアクセスされ得、リンクは、電子メール、テキスト、ポスト、ソーシャル・ネットワーク入力及び/又は当分野で知られている任意の他の方法を介して送られ得る。
【0046】
「非一時的」という用語は、特許請求の範囲から一時的信号自体を伝えることのみを取り除くと理解されるべきであり、一時的信号自体を伝えているだけではない全ての標準コンピュータ可読媒体に対する権利を放棄しない。
【0047】
利益、他の利点、及び問題に対する解決法が、特定の実施形態に関して本明細書で説明されてある。しかしながら、それらの利益、利点、問題に対する解決法、及び、いずれかの利益、利点、又は解決法を生じさせ得る若しくはより顕著にさせ得る任意の要素は、本開示の重大な、必要な、又は必須の特徴又は要素として解釈されるべきではない。したがって、本開示の範囲は、添付の特許請求の範囲以外の何によっても制限されるべきではなく、添付の特許請求の範囲における単数形での要素の参照は、そのような明示的な記述のない限り「唯一」を意味することは意図されておらず、「一つ又は複数」が意図されている。更に、「A、B、及びCのうちの少なくとも一つ」或いは「A、B、又はCのうちの少なくとも一つ」と類似の表現が、特許請求の範囲又は明細書で使用される場合、その表現は、Aが単独で一実施形態において存在し得る、Bが単独で一実施形態において存在し得る、Cが単独で一実施形態において存在し得るということ、或いは要素A、B及びCの任意の組合せ、たとえば、A及びB、A及びC、B及びC、或いはA及びB及びC、が、単一の実施形態において存在し得るということを意味すると解釈されることが意図されている。本開示は、方法を含むが、それは、有形のコンピュータ可読キャリア、たとえば磁気又は光メモリ或いは磁気又は光ディスク、にコンピュータ・プログラム命令として実施され得ることが企図されている。更に、デバイス又は方法が、本特許請求の範囲によって包含されるために、本開示によって解決しようとされるそれぞれの及びあらゆる問題に対処することは必須ではない。更に、本開示におけるどの要素、構成要素、又は方法のステップも、それらの要素、構成要素、又は方法のステップが請求項で明示的に挙げられているかどうかにかかわらず、公衆に捧げられるものではない。本明細書で、「備える(含む)」、「備えた」という用語、又はその任意の他の変化形は、要素のリストを含むプロセス、方法、品目、又は装置が、それらの要素のみを含むのではなく、明確に挙げられていない又はそのようなプロセス、方法、品目、又は装置に固有の他の要素を含み得るように、非排他的包含を含めることが意図されている。
【0048】
コンピュータ・プログラム(コンピュータ制御論理とも称される)は、メイン・メモリ及び/又は2次メモリに記憶される。コンピュータ・プログラムはまた、通信インターフェースを介して受信され得る。そのようなコンピュータ・プログラムは、実行されると、本明細書で論じられるような特徴をコンピュータ・システムが実行することを可能にする。具体的には、コンピュータ・プログラムは、実行されると、様々な実施形態の特徴をプロセッサが実行することを可能にする。したがって、そのようなコンピュータ・プログラムは、コンピュータ・システムのコントローラを表す。
【0049】
コンピュータ又は他のプログラマブル・データ処理装置で実行する命令が、流れ図の一つ又は複数のブロックにおいて指定された機能を実施するための手段を生み出すように、これらのコンピュータ・プログラム命令は、機械を生み出すために汎用コンピュータ、専用コンピュータ、又は他のプログラマブル・データ処理装置にロードされ得る。コンピュータ可読メモリに記憶された命令が、流れ図の一つ又は複数のブロックにおいて指定された機能を実施する命令手段を含む製品を生み出すように、これらのコンピュータ・プログラム命令はまた、特定の方式で機能するようにコンピュータ又は他のプログラマブル・データ処理装置に指示することができるコンピュータ可読メモリに記憶され得る。コンピュータ又は他のプログラマブル装置で実行する命令が、流れ図の一つ又は複数のブロックにおいて指定された機能を実施するためのステップを実現するように、コンピュータ・プログラム命令はまた、コンピュータ実施のプロセスを生み出すためにコンピュータ又は他のプログラマブル装置で一連の動作ステップを実行させるために、コンピュータ又は他のプログラマブル・データ処理装置にロードされ得る。
【0050】
様々な実施形態において、ソフトウェアは、取り外し可能記憶ドライブ、ハード・ディスク・ドライブ又は通信インターフェースを使用してコンピュータ・プログラム製品に記憶する及びコンピュータ・システムにロードすることができる。制御論理(ソフトウェア)は、プロセッサによって実行されるとき、本明細書に記載されているような様々な実施形態の機能をプロセッサに実行させる。様々な実施形態において、ハードウェア構成要素は、特定用途向け集積回路(ASIC)の形を取り得る。本明細書に記載の機能を実行するためのハードウェア状態機械の実装形態は、当業者には明らかであろう。
【0051】
本システムは、既存のシステム、アドオン製品、アップグレードされたソフトウェアを実行する処理装置、独立型システム、分散型システム、方法、データ処理システム、データ処理のためのデバイス、及び/又はコンピュータ・プログラム製品のカスタムとして実施され得る、ということが当業者には理解されよう。したがって、本システム又はモジュールの任意の部分は、コードを実行する処理装置、インターネットベースの実施形態、完全なハードウェア実施形態、或いは、インターネット、ソフトウェア及びハードウェアの態様を結合した実施形態の形を取り得る。更に、本システムは、記憶媒体において実施されたコンピュータ可読プログラム・コード手段を有するコンピュータ可読記憶媒体でコンピュータ・プログラム製品の形を取り得る。ハード・ディスク、CD-ROM、BLU-RAY DISC(登録商標)、光記憶デバイス、磁気記憶デバイス、及び/又は同類のものを含む、任意の適切なコンピュータ可読記憶媒体が使用され得る。
【0052】
本システム及び方法は、機能ブロック構成要素、スクリーン・ショット、オプション選択及び様々な処理ステップに関して本明細書で説明され得る。そのような機能ブロックは、指定された機能を実行するように構成された任意の数のハードウェア及び/又はソフトウェア構成要素によって実現され得る、ということを理解されたい。たとえば、本システムは、一つ又は複数のマイクロプロセッサ又は他の制御デバイスの制御下で様々な機能を実施することができる、様々な集積回路構成要素、たとえば、メモリ要素、処理要素、論理要素、ルックアップ・テーブル、及び同類のもの、を使用し得る。同様に、本システムのソフトウェア要素は、任意のプログラミング又はスクリプト言語、たとえば、C、C++、C#、JAVA(登録商標)、JAVASCRIPT(登録商標)、JAVASCRIPT(登録商標)Object Notation(JSON)、VBScript、マクロメディア・コールド・フュージョン、COBOL、MICROSOFT(登録商標)社のアクティブ・サーバ・ページ、アセンブリ、PERL(登録商標)、PHP、オーク、PYTHON(登録商標)、ビジュアル・ベーシック、SQLで記憶された手続き、PL/SQL、任意のUNIX(登録商標)シェル・スクリプト、及び、データ構造、オブジェクト、プロセス、ルーティン若しくは他のプログラミング要素の任意の組合せで実装された様々なアルゴリズムを有する拡張マークアップ言語(XML)、で実装され得る。更に、本システムは、データ送信、信号伝達、データ処理、ネットワーク制御、及び同類のことのための任意の数の従来の技法を使用し得る、ということに留意されたい。更に、本システムは、クライアント側のスクリプト言語、たとえば、JAVASCRIPT(登録商標)、VBScript又は同類のもの、でセキュリティ上の問題を検出又は防止するために使用され得る。
【0053】
本システム及び方法は、様々な実施形態による方法、装置、及びコンピュータ・プログラム製品のスクリーン・ショット、ブロック図及び流れ図の図解を参照して、本明細書で説明される。ブロック図及び流れ図の図解の各機能ブロックと、ブロック図及び流れ図の図解内の機能ブロックの組合せとは、それぞれ、コンピュータ・プログラム命令によって実施され得る、ということが理解されよう。
【0054】
したがって、ブロック図及び流れ図の図解の機能ブロックは、指定された機能を実行するための手段の組合せ、指定された機能を実行するためのステップの組合せ、及び指定された機能を実行するためのプログラム命令手段をサポートする。ブロック図及び流れ図の図解の各機能ブロックと、ブロック図及び流れ図の図解内の機能ブロックの組合せとは、指定された機能又はステップを実行する専用ハードウェアベースのコンピュータ・システム、或いは専用ハードウェア及びコンピュータ命令の適切な組合せによって実施され得る、ということもまた理解されよう。更に、プロセスの図解及びその記述は、ユーザWINDOWS(登録商標)、ウェブ・ページ、ウェブサイト、ウェブ・フォーム、プロンプトなどを参照し得る。本明細書に記載の図示されたステップは、WINDOWS(登録商標)アプリケーション、ウェブ・ページ、ウェブ・フォーム、ポップアップWINDOWS(登録商標)アプリケーション、プロンプト及び同類のものの使用を含む任意の数の構成に含まれ得る、ということが専門家には理解されよう。図示及び記述されたような複数のステップは、単一のウェブ・ページ及び/又はWINDOWS(登録商標)アプリケーションに結合され得るが、簡単にするために展開されてある、ということもまた理解されたい。他の場合には、単一のプロセスのステップとして図示及び記述されたステップは、複数のウェブ・ページ及び/又はWINDOWS(登録商標)アプリケーションに分けることができるが、簡略化するために結合されてある。
【0055】
様々な実施形態において、本システムのソフトウェア要素はまた、ウェブ・ブラウザの外部でJAVASCRIPT(登録商標)コードを実行するように構成されたJAVASCRIPT(登録商標)ランタイム環境を使用して実装され得る。たとえば、本システムのソフトウェア要素はまた、NODE.JS(登録商標)構成要素を使用して実装され得る。NODE.JS(登録商標)プログラムは、様々なコア機能を処理するために、いくつかのモジュールを実装し得る。たとえば、NPM(登録商標)などのパッケージ管理モジュールは、第三者のNODE.JS(登録商標)プログラムのインストール及び管理の編成を助けるためにオープン・ソース・ライブラリとして実装され得る。NODE.JS(登録商標)はまた、プロセス・マネージャ、たとえば、パラレル・マルチスレッド機械(Parallel Multithreaded Machine、「PM2」)など、資源及び性能モニタリング・ツール、たとえば、ノード・アプリケーション・メトリクス(「appmetrics」)など、ユーザ・インターフェースを構築するためのライブラリ・モジュール、及び/又は任意の他の適切な及び/又は所望のモジュールを実装し得る。
【0056】
ミドルウェアは、異なるコンピューティング・システムの間の通信を円滑化する及び/又は取引を処理するように適切に構成された任意のハードウェア及び/又はソフトウェアを含み得る。ミドルウェア構成要素は、市販されており、当分野で知られている。ミドルウェアは、市販のハードウェア及び/又はソフトウェアを介して、カスタム・ハードウェア及び/又はソフトウェア構成要素を介して、又はその組合せを介して、実装され得る。ミドルウェアは、様々な構成内に存在してもよく、独立型システムとして存在してもよく、又はインターネット・サーバ上にあるソフトウェア構成要素でもよい。ミドルウェアは、本明細書で開示される目的のうちのいずれかのためにアプリケーション・サーバ及び任意の数の内部若しくは外部システムの様々な構成要素の間で取引を処理するように構成され得る。IBM(登録商標),Inc.(ニューヨーク州アーモンク)によるWEBSPHERE(登録商標)MQTM(かつてのMQシリーズ)は、市販のミドルウェア製品の一例である。企業サービス・バス(Enterprise サービス Bus、「ESB」)アプリケーションは、ミドルウェアのもう一つの例である。
【0057】
本明細書で論じられるコンピュータは、ユーザによってアクセス可能な適切なウェブサイト又は他のインターネットベースのグラフィカル・ユーザ・インターフェースを提供し得る。一つの実施形態において、MICROSOFT(登録商標)社のインターネット情報サービス(IIS:Internet Information Services)、取引サーバ(MTS:Microsoft Transaction Server)サービス、及びSQL SERVER(登録商標)データベースが、MICROSOFT(登録商標)オペレーティング・システム、WINDOWS NT(登録商標)ウェブ・サーバ・ソフトウェア、SQL SERVER(登録商標)データベース、及びMICROSOFT(登録商標)コマース・サーバと併せて使用される。加えて、ACCESS(登録商標)ソフトウェア、SQL SERVER(登録商標)データベース、ORACLE(登録商標)ソフトウェア、SYBASE(登録商標)ソフトウェア、INFORMIX(登録商標)ソフトウェア、MYSQL(登録商標)ソフトウェア、INTERBASE(登録商標)ソフトウェアなどの構成要素が、アクティブ・データ・オブジェクト(ADO:Active Data Object)対応のデータベース管理システムを提供するために使用され得る。一つの実施形態において、APACHE(登録商標)ウェブ・サーバが、LINUX(登録商標)オペレーティング・システム、MYSQL(登録商標)データベース、並びにPERL(登録商標)、PHP、ルビー、及び/又はPYTHON(登録商標)プログラミング言語と併せて使用される。
【0058】
簡潔にするために、従来のデータ・ネットワーキング、アプリケーション開発、及び本システムの他の機能的態様(及び本システムの個々の動作構成要素の構成要素)は、本明細書では詳しく説明されないことがある。更に、本明細書に含まれる様々な図に示された接続線は、様々な要素の間の例示的な機能的関係及び/又は物理的連結を表すことを意図されている。多数の代替の又は付加的な機能的関係又は物理接続が実際のシステムに存在し得る、ということに留意されたい。
【0059】
様々な実施形態において、本明細書に記載の方法は、本明細書に記載の様々な特定の機械を使用して実施される。本明細書に記載の方法は、任意の適切な組合せで、後述の特定の機械、及び以下の開発されるものを使用して実装され得る、ということが当業者には直ちに理解されよう。更に、本開示から明らかなように、本明細書に記載の方法は、ある特定の品目の様々な変形をもたらし得る。
【0060】
本明細書で論じる様々なシステム構成要素は、以下のうちの一つ又は複数を含み得る:デジタル・データを処理するためのプロセッサを含むホスト・サーバ又は他のコンピューティング・システムと、デジタル・データを記憶するためのプロセッサに結合されたメモリと、デジタル・データを入力するためのプロセッサに結合された入力デジタイザと、メモリに記憶された及びプロセッサによるデジタル・データの処理を指示するためにプロセッサによってアクセス可能なアプリケーション・プログラムと、プロセッサによって処理されたデジタル・データから導出された情報を表示するためのプロセッサ及びメモリに結合された表示デバイスと、複数のデータベース。本明細書で使用される様々なデータベースは、以下を含み得る:顧客データ、商人データ、金融機関データ、及び/又は、本システムの動作において有用な、類似のデータ。ユーザ・コンピュータは、オペレーティング・システム(たとえば、WINDOWS(登録商標)、UNIX(登録商標)、LINUX(登録商標)、SOLARIS(登録商標)、MACOS(登録商標)など)、並びにコンピュータに通常は関連付けられた様々な従来のサポート・ソフトウェア及びドライバを含み得る、ということが当業者には理解されよう。
【0061】
本システム又はその任意の部分若しくは機能は、ハードウェア、ソフトウェア又はその組合せを使用して実装され得、一つ又は複数のコンピュータ・システム又は他の処理システムにおいて実装され得る。しかしながら、実施形態によって実行される操作は、人間オペレータによって実行される知的動作に共通して関連する、マッチング又は選択などの用語でしばしば参照された。人間オペレータのそのような能力は、本明細書に記載の動作のいずれにおいても、必須ではなく、ほとんどの事例では望ましくはない。そうではなくて、動作は、機械動作でもよく、或いは、いずれの動作も、人工知能(AI)又は機械学習によって行う又は強化することができる。人工知能は、それらの周りの世界を知覚する、計画を立てる、及びそれらの目的を達成するための決定を行うエージェント(たとえば、機械、コンピュータベースのシステムなど)の学習を一般に指し得る。AIの基礎は、数学、論理、哲学、確率論、言語学、神経科学、及び決定理論を含む。多数の分野は、AI、たとえば、コンピュータ・ビジョン、ロボット工学、機械学習、及び自然言語処理の傘下に入る。様々な実施形態を実行するための有用な機械は、汎用デジタル・コンピュータ又は類似のデバイスを含む。
【0062】
様々な実施形態において、実施形態は、本明細書に記載の機能を実施する能力を有する一つ又は複数のコンピュータ・システムを対象とする。コンピュータ・システムは、一つ又は複数のプロセッサを含む。プロセッサは、通信インフラストラクチャ(たとえば、通信バス、クロス・オーバー・バー、又はネットワーク)に接続される。様々なソフトウェア実施形態は、この例示的コンピュータ・システムに関して説明される。他のコンピュータ・システム及び/又はアーキテクチャを使用して様々な実施形態をいかにして実装するかは、本明細書を読んだ後、当業者には明らかとなろう。コンピュータ・システムは、表示装置に表示するために通信インフラストラクチャから(又は、図示されていないフレーム・バッファから)グラフィックス、テキスト、及び他のデータを転送する表示インターフェースを含むことができる。
【0063】
コンピュータ・システムはまた、メイン・メモリ、たとえば、ランダム・アクセス・メモリ(RAM)、を含み、2次メモリも含み得る。2次メモリは、たとえば、ハード・ディスク・ドライブ、ソリッドステート・ドライブ、及び/又は取り外し可能記憶ドライブを含み得る。取り外し可能記憶ドライブは、よく知られている方式で取り外し可能記憶装置から読み取る及び/又はそこに書き込む。取り外し可能記憶装置は、コンピュータ・ソフトウェア及び/又はデータがそこに記憶されたコンピュータ使用可能記憶媒体を含む、ということが理解されよう。
【0064】
様々な実施形態において、2次メモリは、コンピュータ・プログラム又は他の命令がコンピュータ・システムにロードされることを可能にするための他の類似のデバイスを含み得る。そのようなデバイスは、たとえば、取り外し可能記憶装置及びインターフェースを含み得る。そのようなものの例には、ソフトウェア及びデータが取り外し可能記憶装置からコンピュータ・システムに転送されることを可能にする、プログラム・カートリッジ及びカートリッジ・インターフェース(たとえば、ビデオ・ゲーム・デバイスにおいて見つけられるもの)、取り外し可能メモリ・チップ(たとえば、消去可能プログラマブル読み取り専用メモリ(EPROM)、プログラマブル読み取り専用メモリ(PROM)など)及び関連ソケット、或いは他の取り外し可能記憶装置及びインターフェースが含まれ得る。
【0065】
コンピュータ・システムはまた、通信インターフェースを含み得る。通信インターフェースは、ソフトウェア及びデータがコンピュータ・システムと外部デバイスとの間で転送されることを可能にする。通信インターフェースの例には、モデム、ネットワーク・インターフェース(イーサネット・カードなど)、通信ポートなどが含まれ得る。通信インターフェースを介して転送されるソフトウェア及びデータは、通信インターフェースによって受信することができる電子、電磁気、光、又は他の信号でもよい信号の形を取る。これらの信号は、通信パス(たとえば、チャネル)を介して通信インターフェースに提供される。このチャネルは、信号を運び、ワイヤ、ケーブル、光ファイバ、電話回線、セルラ・リンク、無線周波数(RF)リンク、ワイヤレス及び他の通信チャネルを使用して実装され得る。
【0066】
様々な実施形態において、サーバは、アプリケーション・サーバ(たとえば、WEBSPHERE(登録商標)、WEBLOGIC(登録商標)、JBOSS(登録商標)、POSTGRES PLUS ADVANCED SERVER(登録商標)など)を含み得る。様々な実施形態において、サーバは、ウェブ・サーバ(たとえば、アパッチ、IIS、GOOGLE(登録商標)ウェブ・サーバ、SUN JAVA(登録商標)システム・ウェブ・サーバ、LINUX(登録商標)又はWINDOWS(登録商標)オペレーティング・システムで実行するJAVA(登録商標)仮想機械)を含み得る。
【0067】
ウェブ・クライアントは、任意のネットワークを介して通信する任意のデバイス又はソフトウェア、たとえば、本明細書で論じる任意のデバイス又はソフトウェアなど、を含む。ウェブ・クライアントは、オンライン取引及び/又は通信を行うために計算ユニット又はシステム内にインストールされたインターネット・ブラウジング・ソフトウェアを含み得る。これらの計算ユニット又はシステムは、コンピュータ又はコンピュータのセットの形を取り得るが、パーソナル・コンピュータ、ラップトップ、ノートブック、タブレット、スマート・フォン、携帯電話、パーソナル・デジタル・アシスタント、サーバ、プール型サーバ、メインフレーム・コンピュータ、分散型計算クラスタ、キオスク、端末、販売時点情報管理(POS:point of sale)デバイス又は端末、テレビジョン、又はネットワークを介してデータを受信する能力を有する任意の他のデバイスを含む、他のタイプの計算ユニット又はシステムが、使用され得る。ウェブ・クライアントは、オペレーティング・システム(たとえば、WINDOWS(登録商標)、WINDOWS MOBILE(登録商標)オペレーティング・システム、UNIX(登録商標)オペレーティング・システム、LINUX(登録商標)オペレーティング・システム、APPLE(登録商標)OS(登録商標)オペレーティング・システムなど)、並びにコンピュータと通常は関連する様々な従来のサポート・ソフトウェア及びドライバを含み得る。ウェブ・クライアントはまた、MICROSOFT(登録商標)INTERNET EXPLORER(登録商標)ソフトウェア、MOZILLA(登録商標)FIREFOX(登録商標)ソフトウェア、GOOGLE(登録商標)CHROME(登録商標)ソフトウェア、APPLE(登録商標)SAFARI(登録商標)ソフトウェア、又は、インターネットのブラウジングのために利用可能な多種多様なソフトウェアパッケージの他のいずれかを実行し得る。
【0068】
ウェブ・クライアントはサーバ(たとえば、本明細書に記載のように、アプリケーション・サーバ、ウェブ・サーバなど)と直接連絡してもしなくてもよいことが、当業者には理解されよう。たとえば、ウェブ・クライアントは、インターネット・サーバへの直接又は間接接続を有し得る、別のサーバ及び/又はハードウェア構成要素を介して、サーバのサービスにアクセスし得る。たとえば、ウェブ・クライアントは、ロード・バランサを介してサーバと通信し得る。様々な実施形態において、ウェブ・クライアント・アクセスは、ネットワーク又は市販のウェブブラウザ・ソフトウェア・パッケージを介するインターネットを介する。その関連で、ウェブ・クライアントは、ネットワーク又はインターネットへのアクセスを有する住居又は企業環境内にあってもよい。ウェブ・クライアントは、セキュア・ソケット・レイヤ(SSL:Secure Sockets Layer)及びトランスポート・レイヤ・セキュリティ(TLS)などのセキュリティ・プロトコルを実装し得る。ウェブ・クライアントは、HTTP、HTTPS、FTP、及びSFTPを含むいくつかのアプリケーション・レイヤ・プロトコルを実装し得る。
【0069】
本明細書で論じられる通信、入力、ストレージ、データベース又はディスプレイのいずれも、ウェブ・ページを有するウェブサイトを介して円滑化され得る。本明細書では「ウェブ・ページ」という用語は、ユーザと対話するために使用され得る文書及びアプリケーションのタイプを制限することを意図していない。たとえば、通常のウェブサイトは、標準HTML文書に加えて、様々なフォーム、JAVA(登録商標)アプレット、JAVASCRIPT(登録商標)プログラム、アクティブ・サーバ・ページ(ASP:active server page)、共通ゲートウェイ・インターフェース・スクリプト(CGI:common ゲートウェイ interface script)、拡張マークアップ言語(XML:extensible markup language)、動的HTML、カスケーディング・スタイル・シート(CSS:cascading style sheet)、AJAX(Asynchronous JAVASCRIPT And XML)プログラム、ヘルパ・アプリケーション、プラグイン、及び同類のものを含み得る。サーバは、ウェブ・サーバから要求を受信するウェブ・サービスを含み得、その要求は、URL及びIPアドレス(192.168.1.1)を含む。ウェブ・サーバは、適切なウェブ・ページを取得し、ウェブ・ページのデータ又はアプリケーションをIPアドレスに送る。ウェブ・サービスは、インターネットなどの通信手段を介して他のアプリケーションと対話する能力を有するアプリケーションである。ウェブ・サービスは、通常は、XML、SOAP、AJAX、WSDL及びUDDIなどの標準又はプロトコルに基づく。ウェブ・サービス方法は、当分野でよく知られており、多数の標準テキストで取り扱われている。たとえば、REST(representational state transfer)、又はRESTful、ウェブ・サービスは、アプリケーション間の相互運用を可能にする一つの方法を提供し得る。
【0070】
ウェブ・クライアントの計算ユニットは、標準ダイヤルアップ、ケーブル、DSL又は当分野で知られている任意の他のインターネット・プロトコルを使用してインターネット又はイントラネットに接続されたインターネット・ブラウザを更に備え得る。ウェブ・クライアントにおいて始められる取引は、他のネットワークのユーザからの無許可のアクセスを防ぐために、ファイアウォールを通過し得る。更に、追加のファイアウォールが、セキュリティを更に強化するために、CMSの様々な構成要素の間に配備され得る。
【0071】
暗号化は、当分野で現在利用可能な又は利用可能になり得る技法-たとえば、Twofish、RSA、エル・ガマル、シュノア署名、DSA、PGP、PKI、GPG(GnuPG)、HPEフォーマット保存暗号化(FPE:Format-Preserving Encryption)、ボルテージ、トリプルDES、Blowfish、AES、MD5、HMAC、IDEA、RC6、及び、対称及び非対称暗号システム-のいずれかを用いて実行され得る。本システム及び方法はまた、SHAシリーズ暗号方法、楕円曲線暗号方式(たとえば、ECC、ECDH、ECDSAなど)、及び/又は開発中の他の後の量子暗号アルゴリズムを包含し得る。
【0072】
本明細書で論じられる任意のデータベースは、関係的、階層的、グラフィカル、ブロックチェーン、又はオブジェクト指向の構造、及び/又は任意の他のデータベース構成を含み得る。任意のデータベースはまた、データが、索引を付けるための構造も記録の間の構造的関係も有さずに、行及び列の形で単一のファイルに記憶され得る、フラット・ファイル構造を含み得る。たとえば、フラット・ファイル構造は、区切られたテキスト・ファイル、CSV(コンマで区切られた値)ファイル、及び/又は任意の他の適切なフラット・ファイル構造を含み得る。データベースを実装するために使用され得る共通データベース製品は、IBM(登録商標)(ニューヨーク州アーモンク)によるDB2(登録商標)、ORACLE(登録商標) Corporation(カリフォルニア州レッドウッド・ショアーズ)から入手可能な様々なデータベース製品、MICROSOFT(登録商標)Corporation(ワシントン州レドモンド)によるMICROSOFT ACCESS(登録商標)又はMICROSOFT SQL SERVER(登録商標)、MySQL AB(スウェーデン、ウプサラ)によるMYSQL(登録商標)、MONGODB(登録商標)、Redis、APACHE CASSANDRA(登録商標)、APACHE(登録商標)によるHBASE(登録商標)、MAPR(登録商標)によるMapR-DB、又は任意の他の適切なデータベース製品を含む。更に、データベースは、任意の適切な方式、たとえば、データ・テーブル又はルックアップ・テーブルのような、で編成され得る。各記録は、単一のファイル、ファイルのシリーズ、データ・フィールドのリンクされたシリーズ又は任意の他のデータ構造でもよい。
【0073】
ある特定のデータの関連付けは、当分野で知られている及び実施されているものなどの任意の所望のデータ関連付け技法を介して達成され得る。たとえば、関連付けは、手動で又は自動的に達成され得る。自動関連付け技法は、たとえば、データベース検索、データベース結合、GREP、AGREP、SQL、テーブル内のキー・フィールドを使用して検索を速めること、全てのテーブル及びファイルを通した逐次検索、検索を簡単にするために知られている順番に従ってファイル内の記録をソートすること、及び/又は同類のことを含み得る。関連付けステップは、たとえば、事前に選択されたデータベース又はデータ・セクタにおいて「キー・フィールド」を使用して、データベース結合機能によって達成され得る。様々なデータベース・チューニング・ステップが、データベース性能を最適化するために、企図されている。たとえば、索引などの頻繁に使用されるファイルは、入出力(In/Out、「I/O」)ボトルネックを減らすために、別個のファイルシステムに配置され得る。
【0074】
更に具体的には、「キー・フィールド」は、キー・フィールドによって定義されたオブジェクトのハイレベル・クラスに従って、データベースを分割する。たとえば、ある特定のタイプのデータが、複数の関連データ・テーブルにおいてキー・フィールドとして指定され得、データ・テーブルは、次いで、キー・フィールド内のデータのタイプに基づいてリンクされ得る。リンクされたそれぞれのデータ・テーブル内のキー・フィールドに対応するデータは、同じである、又は同タイプであることが望ましい。しかしながら、キー・フィールド内の類似の、しかし同一ではない、データを有するデータ・テーブルもまた、たとえば、AGREPを使用することによって、リンクされ得る。一つの実施形態によれば、任意の適切なデータ記憶技法が、標準フォーマットなしにデータを記憶するために使用され得る。たとえば、ISO/IEC7816-4ファイル構造を使用して個々のファイルを記憶すること、一つ又は複数のデータ・セットを含む一つ又は複数の基本ファイルを公開する専用ファイルが選択される、ドメインを実装すること、階層的ファイリング・システムを使用して個々のファイルに記憶されたデータ・セットを使用すること、単一のファイルにおいて記録として記憶された(圧縮、第1のタプルによって一つ又は複数の鍵、数字、アルファベットを介してハッシュされた、アクセス可能なSQLなどを含む)データ・セット、バイナリ・ラージ・オブジェクト(BLOB:Binary Large Object)として記憶されたデータ、ISO/IEC7816-6データ要素を使用してエンコードされたグループ化解除データ要素として記憶されたデータ、ISO/IEC8824及び8825にあるようなISO/IEC抽象構文記法(Abstract Syntax Notation:ASN.1)を使用してエンコードされたグループ化解除データ要素として記憶されたデータ、フラクタル圧縮方法、画像圧縮方法などを含み得る他の専用技法を含む、任意の適切な技法を使用して、データ・セットは記憶され得る。
【0075】
様々な実施形態において、異なるフォーマットで多種多様な情報を記憶する能力は、BLOBとして情報を記憶することによって、促進される。したがって、任意の2進情報が、データ・セットと関連する記憶領域に記憶され得る。前述のように、2進情報は、本システムに関連して又は外部だがシステムと連携して記憶され得る。BLOB方法は、固定記憶域割り当て、循環キュー技法、又はメモリ管理に関するベスト・プラクティス(たとえば、ページ化メモリ、最も長い間使用されていない、など)のいずれかを使用して固定メモリ・オフセットを介して2進のブロックとしてフォーマットされたグループ化解除データ要素としてデータ・セットを記憶し得る。BLOB方法を使用することによって、異なるフォーマットを有する様々なデータ・セットを記憶するための能力は、データ・セットの複数の非関連所有者による、データベースにおける又はシステムと関連する、データの記憶を円滑にする。たとえば、記憶され得る第1のデータ・セットは、第1の関係者によって提供され得、記憶され得る第2のデータ・セットは、非関連の第2の関係者によって提供され得、更に記憶され得る第3のデータ・セットは、第1の及び第2の関係者に非関連の第三者によって提供され得る。これらの三つの例示的データ・セットのそれぞれは、異なるデータ記憶フォーマット及び/又は技法を使用して記憶される異なる情報を含み得る。更に、各データ・セットは、他のサブセットとは異なってもよいデータのサブセットを含み得る。
【0076】
前述のように、様々な実施形態において、データは、共通のフォーマットを考慮せずに記憶され得る。しかしながら、データ・セット(たとえば、BLOB)は、データベース又はシステム内のデータを操作するために提供されるときに標準方式で注釈を付けられ得る。注釈は、様々なデータ・セットの管理に役立つ情報を伝達するように構成された各データ・セットに関する短いヘッダ、トレーラ、又は他の適切なインジケータを含み得る。たとえば、注釈は、本明細書では「条件ヘッダ」、「ヘッダ」、「トレーラ」、又は「状態」と呼ばれることがあり、データ・セットの状態の指示を含み得る、又はデータの特定の発行者又は所有者と相関がある識別子を含み得る。一つの例で、各データ・セットBLOBの最初の3バイトは、その特定のデータ・セットの状態を示すように構成され得る又は構成可能になり得る:たとえば、ロードされた、初期化された、準備完了、ブロックされた、取り外し可能、又は削除された。データのその後のバイトは、たとえば、発行者、ユーザ、取引/会員アカウント識別子又は同類のものの識別を示すために使用され得る。これらの状態注釈のそれぞれについては、本明細書で更に論じる。
【0077】
データ・セット注釈はまた、他のタイプの状態情報並びに様々な他の目的のために使用され得る。たとえば、データ・セット注釈は、アクセス・レベルを確立するセキュリティ情報を含み得る。アクセス・レベルは、たとえば、ある特定の個人、従業員のレベル、会社、又は他のエンティティのみにデータ・セットにアクセスすることを許可するように、或いは取引、商人、発行者、ユーザ又は同類のものに基づいて特定のデータ・セットへのアクセスを許可するように構成され得る。更に、セキュリティ情報は、データ・セットのアクセス、修正、及び/又は削除などのある特定のアクションのみを制限/許可し得る。一つの例では、データ・セット注釈は、データ・セットの所有者又はユーザのみが、データ・セットを削除することを許可され、様々な特定されたユーザが、読むためにデータ・セットにアクセスすることを許可され得、他のものは全て、データ・セットへのアクセスから排除されることを示す。しかしながら、他のアクセス規制パラメータも、必要に応じて、様々なエンティティが様々な許可レベルによりデータ・セットにアクセスすることを許可するために使用され得る。
【0078】
ヘッダ又はトレーラを含む、データは、ヘッダ又はトレーラに従ってデータを追加、削除、修正、又は拡張するように構成された独立型インタラクション・デバイスによって受信され得る。そのようなものとして、一つの実施形態で、ヘッダ又はトレーラは、関連発行者所有のデータと共に取引デバイスに記憶されないが、その代わりに、アクションが取られるための適切なオプションを独立型デバイスにおいてユーザに提供することによって、適切なアクションが取られ得る。本システムは、データ記憶配置を企図し得、データのヘッダ若しくはトレーラ、又はヘッダ若しくはトレーラ履歴が、適切なデータに関してシステム、デバイス、又は取引手段に記憶される。
【0079】
セキュリティ上の理由で、システムの任意のデータベース、システム、デバイス、サーバ又は他の構成要素は、単一の位置において又は複数の位置においてその任意の組合せで構成され得、各データベース又はシステムは、様々な適切なセキュリティ特徴のいずれか、たとえば、ファイアウォール、アクセス・コード、暗号化、復号、圧縮、展開、及び/又は同類のもの、を含む、ということが当業者には更に理解されよう。
【0080】
ブラウザベースの文書内にデータを表示するためのいくつかの方法が存在することもまた、専門家には理解されよう。データは、標準テキストとして或いは固定リスト、スクロール可能なリスト、ドロップダウン・リスト、編集可能なテキスト・フィールド、固定テキスト・フィールド、ポップアップ・ウインドウ、及び同類のものの中に表され得る。更に、たとえば、キーボードを使用したフリー・テキスト入力、メニュ・アイテム、チェック・ボックス、オプション・ボックス、及び同類のものの選択など、ウェブ・ページにおいてデータを修正するために利用可能ないくつかの方法が存在する。
【0081】
分散型計算クラスタは、たとえば、分散型記憶システムを含むノードのうちのいくつか及び分散型処理システムを含むノードのうちのいくつかを有するビッグ・データ・セットを処理及び記憶するように構成されたHADOOP(登録商標)ソフトウェア・クラスタでもよい。その関連で、分散型計算クラスタは、www.hadoop.apache.org/docsにおいてApache Software Foundationによって指定されているようなHADOOP(登録商標)ソフトウェア分散型ファイルシステム(HDFS)をサポートするように構成され得る。
【0082】
本明細書では、「ネットワーク」という用語は、任意のクラウド、クラウド・コンピューティング・システム、或いはハードウェア及び/又はソフトウェア構成要素を包含する電子通信システム又は方法を含む。関係者間の通信は、任意の適切な通信チャネル、たとえば、電話ネットワーク、エクストラネット、イントラネット、インターネット、ポイント・オブ・インタラクション・デバイス(販売時点情報管理デバイス、パーソナル・デジタル・アシスタント(たとえば、IPHONE(登録商標)デバイス、BLACKBERRY(登録商標)デバイス)、携帯電話、キオスクなど)、オンライン通信、衛星通信、オフライン通信、ワイヤレス通信、トランスポンダ通信、ローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)、仮想プライベート・ネットワーク(VPN)、ネットワークで結ばれた若しくはリンクされたデバイス、キーボード、マウス及び/又は任意の適切な通信若しくはデータ入力モダリティなど、を介して達成され得る。更に、本システムは、TCP/IP通信プロトコルを有して実装されるものとして本明細書ではしばしば説明されているが、本システムはまた、IPX、APPLETALK(登録商標)、IP-6、NetBIOS、OSI、任意のトンネリング・プロトコル(たとえば、IPsec、SSHなど)、又は任意の数の既存の若しくは未来のプロトコルを使用して実装され得る。ネットワークが、公衆ネットワーク、たとえば、インターネット、の性質を有している場合、そのネットワークは不安定であり盗聴者に対してオープンであると見なすことが有利になり得る。インターネットに関連して使用されるプロトコル、標準、及びアプリケーション・ソフトウェアと関連する具体的な情報は、当業者には一般に知られており、したがって、本明細書で詳述される必要はない。
【0083】
「クラウド」又は「クラウド・コンピューティング」は、最小限の管理努力又はサービス・プロバイダ・インタラクションで迅速に提供及び解放され得る構成可能なコンピューティング資源(たとえば、ネットワーク、サーバ、ストレージ、アプリケーション、及びサービス)の共用プールへの便利なオンデマンド・ネットワーク・アクセスを可能にするためのモデルを含む。クラウド・コンピューティングは、それによって共有サーバがオンデマンドでコンピュータ及び他のデバイスに資源、ソフトウェア、及びデータを提供する、位置に依存しないコンピューティングを含み得る。
【0084】
本明細書では、「送信する」は、ネットワーク接続を介して一つのシステム構成要素から別のシステム構成要素に電子データを送ることを含み得る。加えて、本明細書では、「データ」は、デジタル又は任意の他の形でコマンド、クエリ、ファイル、記憶するためのデータ、及び同類のものなどの情報を包含することを含み得る。
【0085】
「支払いプロセッサ」に類似の表現は、取引を扱うように指名された(たとえば、商人によって)企業(たとえば、第三者)を含み得る。支払いプロセッサは、発行者、アクワイアラ、承認者、及び/又は取引プロセスに関わる任意の他のシステム若しくはエンティティを含み得る。支払いプロセッサは、二つのタイプに分類され得る:フロントエンド及びバックエンド。フロントエンド支払いプロセッサは、様々な取引アカウントへの接続を有し、承認及び決済サービスをマーチャント・バンクの商人に提供する。フロントエンド支払いプロセッサからの及び、連邦準備銀行を介する、バックエンド支払いプロセッサ受け入れ決済は、発行銀行からマーチャント・バンクに資金を移動する。数秒を通常は要することになる動作において、支払いプロセッサは、両方とも、検証のためにそれぞれのアカウントの発行銀行又はカード協会に詳細を転送することによって受信された詳細をチェックし、取引に対して一連の不正防止策を実施し得る。アカウントの発行国及びそれの以前の支払い履歴を含む、付加的パラメータが、取引が承認される確率を評価するために使用され得る。取引アカウント詳細が検証されたという確認を支払いプロセッサが受信することに応答して、情報は、支払い取引を次いで完了することになる、商人へ中継し戻され得る。検証が否定されたことに応答して、支払いプロセッサは、次いで取引を辞退し得る、商人へと情報を中継する。
【0086】
「支払いゲートウェイ」又は「ゲートウェイ」と類似の表現は、電子ビジネス、オンライン販売業者、及び/又は従来のブリック・アンド・モルタル商人のための支払いを承認するアプリケーション・サービス提供者サービスを含み得る。ゲートウェイは、ほとんどの小売店内にある物理的販売時点情報管理端末の同等物であり得る。支払いゲートウェイは、顧客と商人との間で並びに商人と支払いプロセッサとの間でも安全に情報が渡ることを確実にするために、機密情報、たとえば、取引アカウント番号、を暗号化することによって取引アカウント詳細を保護し得る。
図1
図2
図3
図4
図5
図6