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

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

▶ ジェイピーモルガン・チェース・バンク,ナショナル・アソシエーションの特許一覧

特許7185648分散型台帳ゲートウェイを使用するためのシステムおよび方法
<>
  • 特許-分散型台帳ゲートウェイを使用するためのシステムおよび方法 図1
  • 特許-分散型台帳ゲートウェイを使用するためのシステムおよび方法 図2
  • 特許-分散型台帳ゲートウェイを使用するためのシステムおよび方法 図3
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-29
(45)【発行日】2022-12-07
(54)【発明の名称】分散型台帳ゲートウェイを使用するためのシステムおよび方法
(51)【国際特許分類】
   H04L 41/40 20220101AFI20221130BHJP
【FI】
H04L41/40
【請求項の数】 18
(21)【出願番号】P 2019572362
(86)(22)【出願日】2018-06-27
(65)【公表番号】
(43)【公表日】2020-08-27
(86)【国際出願番号】 US2018039780
(87)【国際公開番号】W WO2019005985
(87)【国際公開日】2019-01-03
【審査請求日】2021-06-25
(31)【優先権主張番号】62/525,600
(32)【優先日】2017-06-27
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】501254036
【氏名又は名称】ジェイピーモルガン・チェース・バンク,ナショナル・アソシエーション
【氏名又は名称原語表記】JPMorgan Chase Bank,N.A.
(74)【代理人】
【識別番号】100118902
【弁理士】
【氏名又は名称】山本 修
(74)【代理人】
【識別番号】100106208
【弁理士】
【氏名又は名称】宮前 徹
(74)【代理人】
【識別番号】100120112
【氏名又は名称】中西 基晴
(74)【代理人】
【識別番号】100162846
【弁理士】
【氏名又は名称】大牧 綾子
(72)【発明者】
【氏名】モイ,クリスティーン
(72)【発明者】
【氏名】ロバン,テュラー
(72)【発明者】
【氏名】バルデット,アンバー
(72)【発明者】
【氏名】シェティ,スレシュ
【審査官】宮島 郁美
(56)【参考文献】
【文献】米国特許出願公開第2017/0148021(US,A1)
【文献】米国特許出願公開第2017/0046638(US,A1)
【文献】特表2018-505633(JP,A)
【文献】米国特許出願公開第2016/0234026(US,A1)
【文献】中国特許出願公開第101310263(CN,A)
【文献】特表2009-507298(JP,A)
【文献】米国特許出願公開第2015/0244825(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L12/00-13/18,41/00-69/40
(57)【特許請求の範囲】
【請求項1】
複数の分散型台帳と対話するための方法であって、
少なくとも1つのコンピュータプロセッサを備える情報処理装置において、
複数の分散型台帳のうちの1つに書き込まれるべきペイロードと、クライアント要求から抽出されるメタデータとを含む前記クライアント要求を受信するステップと、
前記複数の分散型台帳のうち、宛先の分散型台帳を特定するステップと、
前記要求のソースと前記宛先の分散型台帳とを記録するステップと、
前記ペイロードを暗号化するステップと、
前記暗号化されたペイロードを前記宛先の分散型台帳にルーティングするステップとを含む、方法。
【請求項2】
ルーティング情報が前記クライアント要求および前記メタデータとともに受信される、請求項1に記載の方法。
【請求項3】
前記クライアント要求および前記メタデータは、第1のアダプタを介して第1のアクセスポイントから受信される、請求項1に記載の方法。
【請求項4】
前記ペイロードは、前記第1のアダプタによって暗号化される、請求項3に記載の方法。
【請求項5】
前記アクセスポイントは、サーバベースのアクセスポイントを備える、請求項3に記載の方法。
【請求項6】
前記暗号化されたペイロードを前記宛先の分散型台帳にルーティングするステップは、前記宛先の分散型台帳とインターフェースするために第2のアダプタを呼び出すステップを含む、請求項1に記載の方法。
【請求項7】
前記宛先の分散型台帳は、複数の宛先の分散型台帳を備え、前記暗号化されたペイロードの少なくとも一部は、前記複数の宛先の分散型台帳に書き込まれる、請求項1に記載の方法。
【請求項8】
前記宛先の分散型台帳に書き込まれる前記暗号化されたペイロードは、指定された分散型台帳またはアクセスポイントのみによってアクセス可能である、請求項1に記載の方法。
【請求項9】
第2のアダプタを使用して前記暗号化されたペイロードを解読するステップをさらに含む、請求項6に記載の方法。
【請求項10】
ゲートウェイをサービスとして提供するためのシステムであって、
ゲートウェイと、
それぞれがアクセスポイントと通信している、複数の第1のアダプタと、
それぞれが複数の分散型台帳のうちの1つと通信している、複数の第2のアダプタとを備え、
前記ゲートウェイは、前記第1のアダプタのうちの1つからクライアント要求を受信し、前記クライアント要求は、前記複数の分散型台帳のうちの1つに書き込まれるべきペイロードと、前記クライアント要求から抽出されるメタデータとを備え、
前記ゲートウェイは、前記複数の分散型台帳のうち、宛先の分散型台帳を特定し、
前記ゲートウェイは、前記要求のソースと前記宛先の分散型台帳とを記録し、
前記第1のアダプタは、前記ペイロードを暗号化し、
前記ゲートウェイは、前記暗号化されたペイロードを、前記第2のアダプタのうちの1つを介して前記宛先の分散型台帳にルーティングする、システム。
【請求項11】
前記ゲートウェイは、サービスとして提供される、請求項10に記載のシステム。
【請求項12】
ルーティング情報が前記クライアント要求および前記メタデータとともに受信される、請求項10に記載のシステム。
【請求項13】
前記アクセスポイントは、サーバベースのアクセスポイントを備える、請求項10に記載のシステム。
【請求項14】
前記宛先の分散型台帳は、複数の宛先の分散型台帳を備え、前記暗号化されたペイロードの少なくとも一部は、前記複数の宛先の分散型台帳に書き込まれる、請求項10に記載のシステム。
【請求項15】
前記宛先の分散型台帳に書き込まれる前記暗号化されたペイロードは、指定された分散型台帳またはアクセスポイントのみによってアクセス可能である、請求項10に記載のシステム。
【請求項16】
APIゲートウェイをさらに備え、
前記APIゲートウェイは、複数のクライアント要求に優先順位を付ける、請求項10に記載のシステム。
【請求項17】
前記第1のアダプタは、クライアントメッセージからメタデータを抽出する、請求項10に記載のシステム。
【請求項18】
前記第2のアダプタは、前記暗号化されたペイロードを解読する、請求項10に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願
[0001]本願は、2017年6月27日に出願された米国仮特許出願第62/525,600号の優先権を主張し、その開示全体が参照により本明細書に組み込まれる。
【0002】
[0002]本開示は、一般に、分散型台帳ゲートウェイを使用するためのシステムおよび方法に関する。
【背景技術】
【0003】
[0003]ブロックチェーンなどの「分散型台帳」は、暗号によって検証された台帳を提供し、その場合、信頼は、中央機関によって提供されるのではなく、正確であることの暗号プルーフを有する同じ台帳の同一のコピーの普及によって確立される。
【発明の概要】
【課題を解決するための手段】
【0004】
[0004]分散型台帳ゲートウェイを使用するためのシステムおよび方法が開示される。一実施形態において、少なくとも1つのコンピュータプロセッサを備えた情報処理装置において、複数の分散型台帳と対話するための方法は、(1)複数の分散型台帳のうちの1つに書き込まれるべきペイロードと、クライアント要求から抽出されるメタデータとを含むクライアント要求を受信するステップと、(2)複数の分散型台帳のうち、宛先の分散型台帳を特定するステップと、(3)要求のソースと宛先の分散型台帳とを記録するステップと、(4)ペイロードを暗号化するステップと、(5)暗号化されたペイロードを宛先の分散型台帳にルーティングするステップとを含んでもよい。
【0005】
[0005]一実施形態においてクライアント要求およびメタデータとともに、ルーティング情報を受信してもよい。
[0006]一実施形態において、クライアント要求およびメタデータは、第1のアダプタを介して第1のアクセスポイントから受信してもよい。
【0006】
[0007]一実施形態において、ペイロードは、第1のアダプタによって暗号化してもよい。
[0008]一実施形態において、アクセスポイントは、サーバベースのアクセスポイントを含んでもよい。
【0007】
[0009]一実施形態において、暗号化されたペイロードを宛先の分散型台帳にルーティングするステップは、宛先の分散型台帳とインターフェースするために第2のアダプタを呼び出すことを含んでもよい。
【0008】
[0010]一実施形態において、宛先の分散型台帳は、複数の宛先の分散型台帳を含んでもよく、暗号化されたペイロードの少なくとも一部を、複数の宛先の分散型台帳に書き込んでもよい。
【0009】
[0011]一実施形態において、宛先の分散型台帳に書き込まれる暗号化されたペイロードは、指定された分散型台帳またはアクセスポイントのみによってアクセス可能であってもよい。
【0010】
[0012]一実施形態において、方法はさらに、第2のアダプタを使用して、暗号化されたペイロードを解読するステップを含んでもよい。
[0013]別の実施形態によれば、ゲートウェイをサービスとして提供するためのシステムは、ゲートウェイと、それぞれがアクセスポイントと通信している複数の第1のアダプタと、それぞれが複数の分散型台帳のうちの1つと通信している複数の第2のアダプタとを含んでもよい。ゲートウェイは、第1のアダプタのうちの1つからクライアント要求を受信してもよく、クライアント要求は、複数の分散型台帳のうちの1つに書き込まれるべきペイロードと、クライアント要求から抽出されるメタデータとを含み、ゲートウェイは、複数の分散型台帳のうち、宛先の分散型台帳を特定してもよく、要求のソースと宛先の分散型台帳とを記録してもよい。第1のアダプタはペイロードを暗号化してもよい。ゲートウェイは、暗号化されたペイロードを、第2のアダプタのうちの1つを介して宛先の分散型台帳にルーティングしてもよい。
【0011】
[0014]一実施形態において、ゲートウェイは、サービスとして提供してもよい。
[0015]一実施形態において、クライアント要求およびメタデータとともにルーティング情報を受信してもよい。
【0012】
[0016]一実施形態において、アクセスポイントは、サーバベースのアクセスポイントを含んでもよい。
[0017]一実施形態において、宛先の分散型台帳は、複数の宛先の分散型台帳を含んでもよく、暗号化されたペイロードの少なくとも一部は、複数の宛先の分散型台帳に書き込んでもよい。
【0013】
[0018]一実施形態において、宛先の分散型台帳に書き込まれる暗号化されたペイロードは、指定された分散型台帳またはアクセスポイントのみによってアクセス可能であってもよい。
【0014】
[0019]一実施形態において、システムはAPIゲートウェイを含んでもよく、APIゲートウェイは複数のクライアント要求に優先順位を付けてもよい。
[0020]一実施形態において、第1のアダプタは、クライアントメッセージからメタデータを抽出してもよい。
【0015】
[0021]一実施形態において、第2のアダプタは、暗号化されたペイロードを解読してもよい。
[0022]クライアント、既存/従来のアプリケーションから、ブロックチェーン/分散型台帳プラットフォームへのトランザクション接続を容易にするシステムおよび方法が開示される。一実施形態において、クライアントに代わってホスティングおよびサービス提供する分散型台帳ノード、ならびにクライアントが1つまたは多くの分散型台帳プラットフォーム/ブロックチェーンとシームレスに対話するための接続性を提供してもよい。
【0016】
[0023]本発明、その目的および利点をより完全に理解するために、添付図面に関連してなされる以下の説明を参照する。
【図面の簡単な説明】
【0017】
図1】[0024]一実施形態による分散型台帳ゲートウェイシステムを示す図である。
図2】[0025]一実施形態による分散型台帳ゲートウェイを使用するための方法を示す図である。
図3】[0026]一実施形態によるサービスとして分散型台帳ゲートウェイを使用するための方法を示す図である。
【発明を実施するための形態】
【0018】
[0027]本明細書で開示される実施形態は、分散型台帳ゲートウェイシステムと、1つまたは複数の分散型台帳にアクセスするための方法とに関する。分散型台帳の例は、たとえば、ブロックチェーン台帳、イーサリアムベースの台帳などを含む。
【0019】
[0028]実施形態は、1つまたは複数の分散型台帳へのシームレスなアクセスを機関に提供してもよい。たとえば、分散型台帳ゲートウェイは、分散型台帳の識別情報、分散型台帳とのインタラクションなどを管理してもよい。
【0020】
[0029]一実施形態において、ゲートウェイを、取引の作成、取引の修正、支払いなど、分散型台帳タイプのタイプにとらわれないアクティビティを可能にする埋め込み可能なライブラリである、安穏なAPIと呼んでもよい。
【0021】
[0030]実施形態を金融トランザクションの文脈で提供してもよいが、実施形態は、幅広い適用性を有し、そのように限定されないことを認識されたい。
[0031]図1を参照して示すように、一実施形態による分散型台帳システムが開示される。システム100は、たとえば、ユーザ112、REST/FTPサーバ114、企業アプリケーションサーバ116、メインフレーム118、リレーショナルデータベース管理システム(RDBMS)(120)などを含むアクセスポイント110を含んでもよい。必要および/または所望に応じて、他のアクセスポイントを含んでもよい。
【0022】
[0032]一実施形態において、アクセスポイント110は、たとえば、APIオーバHTTPS(REST)を除く、SDKベースのクライアントアダプタ、ブラウザなどを含んでもよい。たとえば、クライアントの需要/要件に基づいて、必要および/または所望に応じて、任意の適切なメカニズムを使用してもよい。
【0023】
[0033]APIゲートウェイ140は、ブラウザ125または1つまたは複数のアダプタ130を介してアクセスポイント110とインターフェースしてもよい。一実施形態において、各アクセスポイント110に対して個別のアダプタ130を提供してもよい。別の実施形態において、単一のアダプタ130が、1つ以上のアクセスポイント110にサービス提供してもよい。
【0024】
[0034]一実施形態において、アダプタ130は、メタデータを抽出し、暗号化および/または解読を実行し、ノードおよびエンドポイントにローカライズされたペイロードを変換してもよい。たとえば、あらゆる機密データまたはPIデータが、ゲートウェイまたはトランスポート層に公開されないようにするために、暗号化および/または解読を、クライアントのインターフェースの場所(クライアントの構内)で実行してもよい。したがって、クライアント情報は転送中に保護され、クライアント情報へのアクセスは、意図された関係者の安全なサイトに制限される。
【0025】
[0035]別の実施形態において、暗号化および/または解読は、クライアントに代わって展開されてもよい分散型台帳ノード場所において実行される場合があるが、転送中またはゲートウェイ150上では行われない。
【0026】
[0036]一実施形態において、APIゲートウェイ140は、接続性、スケーラビリティ、回復力、可用性、性能、エンドポイント/クライアントインターフェースのセキュリティ、ならびに各クライアントの需要および構成に応じたトラフィックの調整/優先順位付けを担当してもよい。
【0027】
[0037]分散型メッセージング基板152は、安全な接続を確立し、送信者と受信者との両方にわたりデータを効率的にルーティングすることを担当してもよい、地理的に分散された適切なインフラストラクチャ上に展開/ホストされる分散型ソフトウェアを含んでもよい。
【0028】
[0038]分散型メッセージング基板152は、アクセスポイント110のいずれかからトランザクションをルーティングすることができる、分散型企業サービスバス155を含んでもよい。
【0029】
[0039]一実施形態において、分散型メッセージング基板152および分散型企業サービスバス155を、分散されたスケーラブルなインフラストラクチャ上に提供してもよい。
[0040]分散型メッセージング基板152について、分散型台帳の相互運用性および接続性の文脈で説明してもよいが、本開示はそれに限定されないことを認識されたい。実施形態は、送信者または受信者の技術またはアーキテクチャにとらわれない。分散型メッセージングおよびバスフレームワークと組み合わされたアダプタ設計は、システムのこのような疎結合性を促進する。
【0030】
[0041]アダプタ130は、分散型メッセージング基板152とブロックチェーンノードホスティングサービス160との間をインターフェースしてもよい。一実施形態において、ブロックチェーンノードホスティングサービス160は、1つまたは複数の分散型台帳165、165、165をホストしてもよい。一実施形態において、分散型台帳165、165、165は、パブリッククラウド、プライベートクラウドなどで提供してもよい。例示的な分散型台帳165、165、165は、たとえば、Quorum、Axoni、Fabricなどを含む。
【0031】
[0042]一実施形態において、分散型台帳165、165、165は、他のエンティティによって(たとえば、他の機関によって、Amazonによって、Azureによってなど)ホストおよび/または管理される場合があるノードを含んでもよい。
【0032】
[0043]一実施形態において、分散型メッセージング基板152および分散型企業サービスバス155はともに、分散型メッセージングゲートウェイ150を備えてもよい。
[0044]システム100はさらに、オペレーションダッシュボード175を介してインターフェースを提供してもよいオペレーションデータストア170を含んでもよい。一実施形態において、オペレーションデータストア170は、ゲートウェイ150を通過するトラフィックのメタデータ情報を収集して分析してもよく、性能、可用性、スケーラビリティ、優先順位付け、接続性、ゲートウェイ150を通過するデータのセキュリティを、率先して管理することを支援してもよい。メタデータは、たとえば、伝達される情報の時間、頻度、サイズなどを含んでもよい。伝達される情報の内容は含まない。これは、交換に関与するそれぞれのエンドポイント/アダプタで情報を暗号化および解読することにより実現され、情報の伝達を担当するゲートウェイメッセージングおよびルーティング層に対するその可視性を制限する。一実施形態において、ゲートウェイメッセージングおよびルーティングは、集中型サービスであるが、非集中型/分散型であってもよい。サービスは、展開の規模および他の要件(たとえば、規制、コンプライアンス、セキュリティなど)に応じて、パブリッククラウド、プライベートクラウド、または構内で展開される複数のソフトウェアコンポーネントを含んでもよい。
【0033】
[0045]システム100はさらに、分析および報告データストア180を含んでもよい。分析および報告データストア180を、様々なクライアントおよび技術アセットに提供されるサービスの周りのKPI(主要業績評価指標)およびメタデータを記憶するために利用してもよい。この情報は、プラットフォームの最適化を支援して、プラットフォームのサービス品質(QoS)を向上してもよい。例は、クライアントごとの要求率、プラットフォームのルーティングおよび配信効率、可用性、監視、特定のメッセージの優先順位付け、サービスを中断する意図的な攻撃に対するセキュリティ/防御などを含む。
【0034】
[0046]一実施形態において、ゲートウェイ150は、1つのフォーマットでメッセージを受信し、メッセージを評価してもよい。一実施形態において、ゲートウェイ150は、メッセージが関連する製品を特定し、送信者および/または受信者を特定するなどしてもよい。この情報の一部またはすべてを使用して、ゲートウェイ150は、その後、メッセージがルーティングされる分散型台帳165を特定してもよい。一実施形態において、ゲートウェイ150は、分散型台帳165のためのメッセージのフォーマットを決定してもよく、メッセージをそのフォーマットに再フォーマットまたは変換してもよい。
【0035】
[0047]一実施形態において、ゲートウェイ150は、送信した情報が実際に記録されたというメッセージの送信アクセスポイント112~120に暗号プルーフ(たとえば、Merkelプルーフ)を提供してもよい。したがって、送信アクセスポイント112~120は、分散型台帳165上に実際に存在するもののプルーフを取得し得、それによって、送信アクセスポイント112~120は、そのデータの操作または誤変換がなかったことを知る。
【0036】
[0048]一実施形態において、アトミックトランザクションのためのメカニズムを提供してもよく、ゲートウェイ150は、多数のチェーンとアトミックにトランザクトしてもよく、これらのチェーン全体に、アクションが、オールオアナッシング方式で適用されることを保証する。したがって、トランザクションを、必要なすべての分散型台帳165に書き込むことができない場合、どの分散型台帳165にも書き込まれない。
【0037】
[0049]たとえば、トランザクションが、債券移動および現金移動を含む場合、このトランザクションは、現金移動については分散型台帳165に、債券移動については分散型台帳165にと、両方書き込まれる場合にのみ書き込まれる。
【0038】
[0050]一実施形態において、ゲートウェイ150は、これらのクライアントの鍵を管理および保護し、それに応じて、正しいユーザの正しい鍵で、トランザクションをバインドしてもよい。したがって、第三者は、トランザクションが実際に機関から来たことを確認し、ゲートウェイ150が関与していたことは明らかではない。したがって、第三者の観点から、トランザクションは、機関が分散型台帳にトランザクションを書き込んだかのように、シームレスで定期的な分散型台帳トランザクションである。
【0039】
[0051]一実施形態において、トランザクションがゲートウェイ150を使用したことを示すインジケーションを機関が望む場合、インジケーションを提供してもよい。一実施形態において、これを、メタデータとして分散型台帳のブロックに提供してもよい。
【0040】
[0052]図2を参照して示すように、一実施形態にしたがう分散型台帳ゲートウェイを使用するための方法が開示される。ステップ205では、クライアント(たとえば、ユーザ、アプリケーションなど)は、API、アダプタ、ブラウザなどを呼び出して、分散型台帳に書き込まれたペイロードを有するようなクライアント要求を発行してもよい。
【0041】
[0053]一実施形態において、クライアントは、構内でアダプタをホストしてもよい。別の実施形態において、クライアントは、ゲートウェイとインターフェースするためにAPIエンドポイントのみを必要としてもよい。クライアントがアダプタをホストするか、アダプタと統合されると、ターゲット分散型台帳の決定がアダプタで行われ、関連付けられたメタデータは、ターゲット分散型台帳を反映してもよい。実施形態において、ゲートウェイは、クライアントに代わってプロキシ/サービスプロバイダとして機能してもよく、たとえば、ルーティングのためにゲートウェイに送信されるペイロードに基づいてその決定を行ってもよい。たとえば、ペイロードはアセットを特定してもよく、異なる分散型台帳は、異なるアセットクラスのターゲットであってもよいので、分散型台帳を決定するために、アセットクラスを使用してもよい。2つ以上の分散型台帳が同じアセットクラスにサービス提供する場合、クライアントのオンボーディングを使用して、特定のアセットクラスのために選択してもよい分散型台帳を決定し、分散型台帳を、ゲートウェイ層でルーティングルールとして構成してもよい。
【0042】
[0054]ステップ210では、アダプタ、API、ブラウザなどがクライアント要求を処理してもよい。一実施形態において、処理は、たとえば、クライアント要求からメタデータを抽出すること、ルーティング情報(たとえば、ターゲット分散型台帳の識別情報)を追加すること、および基礎となるデータ(たとえば、ペイロード)を暗号化することを含んでもよい。一実施形態において、この情報をさらに使用して、サービスレベル契約(「SLA」)などに応じて特定のアセットクラスの優先順位を決定してもよい。
【0043】
[0055]ステップ215では、アダプタ、API、ブラウザなどがゲートウェイを呼び出してもよく、処理されたクライアント要求を送信してもよい。たとえば、メタデータ、ルーティング情報、および暗号化されたペイロードは、ゲートウェイへ送信してもよい。
【0044】
[0056]ステップ220では、ゲートウェイルータは、受信した処理済みクライアント要求を処理してもよい。たとえば、ゲートウェイルータは、ルーティング情報を検査してもよく、追跡および追跡可能性のためにソース(たとえば、クライアント)および宛先の情報を記録してもよい。ゲートウェイルータは、暗号化されたペイロードを分析、処理、または検査しない場合がある。
【0045】
[0057]ステップ225では、オペレーションデータベースエントリを作成してもよく、オペレーションダッシュボードを介して見られるようになってもよい。一実施形態において、オペレーションデータベースエントリは、たとえば、ゲートウェイプラットフォームのサービス品質データを含んでもよい。収集される場合がある例示的な属性は、たとえば、クライアントごとの要求率、ネットワーク層およびエンドポイントにおけるレイテンシ、ターゲット分散型台帳または他のエンドポイントへの接続の可用性などを含む。
【0046】
[0058]一実施形態において、オペレーションデータベースはオペレーションダッシュボードとインターフェースしてもよく、これを、たとえば、サービスオペレーションチームが使用して、アラートを監視し、それに基づいて機能してもよい、および/または、考えられる影響や、サービスの中断などに関する通知を、様々なクライアントに送信してもよい。可用性、サービスの性能などを自動化するために、同じ情報を使用することができる。
【0047】
[0059]ステップ230では、ゲートウェイは、第2のアダプタを呼び出してもよく、暗号化されたペイロードを、適切な分散型台帳にルーティングしてもよい。上述したように、一実施形態において、適切な分散型台帳の決定を、たとえば、要求時点での要求に基づいて、ゲートウェイサービスへのクライアントのオンボーディング中に行ってもよい、または、たとえば、アセットクラスなどのような属性に基づいて、ゲートウェイに委任してもよい。他の任意の適切な技術および/または情報を使用して、必要および/または所望に応じて、適切な分散型台帳を特定してもよい。
【0048】
[0060]ステップ235では、暗号化されたペイロードが分散型台帳に書き込まれる。
一実施形態において、指定された分散型台帳、クライアント、アダプタなどのみが、ペイロードを解読できる場合がある。たとえば、PKI(公開鍵インフラストラクチャ)戦略を使用して、暗号化および解読を実施してもよい。この場合、公開鍵と秘密鍵を、伝達のいずれかの側でそれぞれの当事者が保持してもよく、鍵をHSM(ハードウェアセキュリティモジュール)に記憶してもよい。アダプタに、必要な暗号化/解読を実行するために鍵を要求および使用することを許可してもよい。他の適切な方法を、必要および/または所望されるように使用してもよい。
【0049】
[0061]図3を参照して示すように、サービスとして分散型台帳ゲートウェイを使用するための方法が、一実施形態にしたがって開示される。実施形態において、ゲートウェイは、ルーティングおよびメッセージングに限定されないノードサービスとして機能してもよい。したがって、ゲートウェイは、クライアントに代わるノードホスティングサービスと、メッセージングおよびルーティングサービスとの両方として機能してもよい。
【0050】
[0062]ステップ305では、クライアント(たとえば、ユーザ、アプリケーションなど)は、API、アダプタ、ブラウザなどを呼び出して、分散型台帳に書き込まれたペイロードを有するようなクライアント要求を発行してもよい。
【0051】
[0063]ステップ310では、アダプタ、API、ブラウザなどが、クライアント要求を処理してもよい。一実施形態において、処理は、たとえば、クライアント要求からメタデータを作成すること、ルーティング情報を追加すること、および基礎となるデータ(たとえば、ペイロード)を暗号化することを含んでもよい。
【0052】
[0064]ステップ315では、アダプタ、API、ブラウザなどがゲートウェイを呼び出してもよく、処理されたクライアント要求を送信してもよい。たとえば、メタデータ、ルーティング情報、暗号化されたペイロードを、ゲートウェイに送信してもよい。
【0053】
[0065]ステップ320では、ゲートウェイルータは、受信した処理済みクライアント要求を処理してもよい。たとえば、ゲートウェイルータは、ルーティング情報を検査してもよく、追跡および追跡可能性のためにソース(たとえば、クライアント)および宛先の情報を記録してもよい。ゲートウェイルータは、暗号化されたペイロードを分析、処理、または検査しない場合がある。
【0054】
[0066]ステップ325では、オペレーションデータベースエントリを作成してもよく、オペレーションダッシュボードを介して見られるようになってもよい。これは、上記のステップ225と同様であってもよい。
【0055】
[0067]ステップ330では、ゲートウェイはAPIを呼び出してもよく、暗号化されたペイロードを、適切な分散型台帳にルーティングしてもよい。実施形態において、クライアントは、アダプタ/SDKを統合できない場合があり、したがって、クライアントおよび/またはゲートウェイは、APIエンドポイントを直接呼び出してもよい。たとえば、ターゲット分散型台帳が第三者によってホストされ、ゲートウェイが分散型台帳と統合する必要がある場合、クライアントは、アダプタを使用せずに分散型台帳と直接通信してもよい。この場合、アダプタ機能は、ゲートウェイ自体の一部であってもよく、個別の機能/ライブラリではない場合がある。
【0056】
[0068]ステップ335では、暗号化されたペイロードが、分散型台帳に書き込まれる。一実施形態において、指定された分散型台帳、クライアント、アダプタなどのみが、ペイロードを解読できる場合がある。これは、上記のステップ235と同様であってもよい。
【0057】
[0069]実施形態において、ゲートウェイは、クロスチェーン相互運用サービスを提供してもよい。
[0070]他の実施形態/アプリケーションは、たとえば、チェーンからチェーンへの通信、分散型台帳から分散型台帳への通信、モバイルから分散型台帳への通信、企業向けアプリケーションから分散型台帳への通信、クラウドホスト型アプリケーションから分散型台帳、それらの組合せなどを含む。
【0058】
[0071]実施形態では、ペイロードを、変換および/または分割してもよく、複数の分散型台帳、アプリケーションなどにルーティングしてもよい。
[0072]以下、本発明のシステムおよび方法の実施の一般的な態様を説明する。
【0059】
[0073]本発明のシステムまたは本発明のシステムの一部は、たとえば、汎用コンピュータなどの「処理マシン」の形態であってもよい。本明細書で使用される「処理マシン」という用語は、少なくとも1つのメモリを使用する少なくとも1つのプロセッサを含むと理解されるべきである。少なくとも1つのメモリは、一連の命令を記憶する。命令を、処理マシンの1つまたは複数のメモリに、永久的または一時的に記憶してもよい。プロセッサは、データを処理するために、1つまたは複数のメモリに記憶されている命令を実行する。一連の命令は、上述したタスクのような特定の1つまたは複数のタスクを実行する様々な命令を含んでもよい。特定のタスクを実行するためのこのような一連の命令を、プログラム、ソフトウェアプログラム、または単にソフトウェアとして特徴付けてもよい。
【0060】
[0074]一実施形態において、処理マシンは、専用プロセッサであってもよい。
[0075]上述したように、処理マシンは、データを処理するために、1つまたは複数のメモリに記憶されている命令を実行する。データのこの処理は、たとえば、前の処理に応じて、別の処理マシンおよび/または他の入力による要求に応じて、処理マシンの1人または複数のユーザによるコマンドに応じてもよい。
【0061】
[0076]上述したように、本発明を実施するために使用される処理マシンは、汎用コンピュータであってもよい。しかしながら、上述した処理マシンはまた、たとえば、マイクロコンピュータと、ミニコンピュータまたはメインフレームと、プログラムされたマイクロプロセッサと、マイクロコントローラと、周辺集積回路素子と、CSIC(カスタマ固有の集積回路)またはASIC(特定用途向け集積回路)または他の集積回路と、論理回路と、デジタル信号プロセッサと、FPGA、PLD、PLA、またはPALなどのプログラマブルロジックデバイスと、または本発明の処理のステップを実施することが可能な他の任意のデバイスまたはデバイスの配置構成とを含むコンピュータシステムである、専用コンピュータを含む多種多様な他の技術のうちのいずれかを利用してもよい。
【0062】
[0077]本発明を実施するために使用される処理マシンは、適切なオペレーティングシステムを利用してもよい。したがって、本発明の実施形態は、iOSオペレーティングシステム、OS Xオペレーティングシステム、Androidオペレーティングシステム、Microsoft WindowsTMオペレーティングシステム、Unixオペレーティングシステム、Linux(登録商標)オペレーティングシステム、Xenixオペレーティングシステム、IBM ATMTMオペレーティングシステム、Hewlett-Packard UXTMオペレーティングシステム、Novell NetwareTMオペレーティングシステム、Sun Microsystems SolarisTMオペレーティングシステム、OS/2TMオペレーティングシステム、BeOSTMオペレーティングシステム、Macintoshオペレーティングシステム、Apacheオペレーティングシステム、OpenStepTMオペレーティングシステム、または別のオペレーティングシステムまたはプラットフォームを実行する処理マシンを含んでもよい。
【0063】
[0078]上述した本発明の方法を実践するために、処理マシンのプロセッサおよび/またはメモリが同じ地理的場所に物理的に配置される必要はないことが理解される。すなわち、処理マシンによって使用されるプロセッサおよびメモリのおのおのを、地理的に異なる場所に配置され、任意の適切な方式で通信するように接続してもよい。加えて、プロセッサおよび/またはメモリのおのおのを、機器の異なる物理的部分から構成してもよいことが理解される。したがって、プロセッサが1つの場所にある1つの機器であり、メモリが、別の場所にある別の1つの機器である必要はない。すなわち、プロセッサは、2つの異なる物理的場所にある2つの機器であってもよいことが企図される。異なる2つの機器を、適切な方式で接続してもよい。加えて、メモリは、2つ以上の物理的場所にメモリの2つ以上の部分を含んでもよい。
【0064】
[0079]さらに説明するために、上述したような処理は、様々なコンポーネントおよび様々なメモリによって実行される。しかしながら、本発明のさらなる実施形態によれば、上述した2つの別個のコンポーネントによって実行される処理を、単一のコンポーネントが実行してもよいことが理解される。さらに、上述した1つの別個のコンポーネントによって実行される処理を、2つの別個のコンポーネントが実行してもよい。同様に、本発明のさらなる実施形態によれば、上述した2つの別個のメモリ部分によって実行されるメモリストレージを、単一のメモリ部分が実行してもよい。さらに、上述したような1つの別個のメモリ部分によって実行されるメモリストレージを、2つのメモリ部分が実行してもよい。
【0065】
[0080]さらに、様々なプロセッサおよび/またはメモリ間の通信を提供するためのみならず、本発明のプロセッサおよび/またはメモリが、他の任意のエンティティと通信できるようにするため、すなわち、たとえば、さらなる命令を取得するため、またはリモートメモリストアにアクセスして使用するために、様々な技術を使用してもよい。そのような通信を提供するために使用されるそのような技術は、たとえば、ネットワーク、インターネット、イントラネット、エクストラネット、LAN、イーサネット(登録商標)、セルタワーまたは衛星を経由したワイヤレス通信、または通信を提供する任意のクライアントサーバシステムを含む場合がある。そのような通信技術は、たとえばTCP/IP、UDP、またはOSIのような任意の適切なプロトコルを使用してもよい。
【0066】
[0081]上述したように、本発明の処理では、一連の命令を使用してもよい。一連の命令は、プログラムまたはソフトウェアの形態であってもよい。ソフトウェアは、たとえば、システムソフトウェアまたはアプリケーションソフトウェアの形態であってもよい。ソフトウェアは、たとえば、個別のプログラムの集合、より大きなプログラム内のプログラムモジュール、またはプログラムモジュールの一部の形態である場合がある。使用されるソフトウェアは、オブジェクト指向プログラミングの形態のモジュール式プログラミングも含む場合がある。ソフトウェアは、処理中のデータをどう処理するかを処理マシンに指示する。
【0067】
[0082]さらに、本発明の実施および動作で使用される命令または一連の命令は、処理マシンが命令を読み取ることができるように適切な形態であってもよいことが理解される。たとえば、プログラムを形成する命令は、適切なプログラミング言語の形態であってもよく、これは、マシン語またはオブジェクトコードに変換されて、1つまたは複数のプロセッサが、命令を読み取ることができるようにする。つまり、特定のプログラミング言語で書かれたプログラミングコードまたはソースコードの行は、コンパイラ、アセンブラ、またはインタープリタを使用してマシン語に変換される。マシン語は、特定のタイプの処理マシン、つまり、たとえば、特定のタイプのコンピュータに固有のバイナリコード化されたマシン命令である。コンピュータは、マシン語を理解する。
【0068】
[0083]本発明の様々な実施形態にしたがって、任意の適切なプログラミング言語を使用してもよい。実例として、使用されるプログラミング言語は、たとえば、アセンブリ言語、Ada、APL、Basic、C、C++、COBOL、dBase、Forth、Fortran、Java(登録商標)、Modula-2、Pascal、Prolog、REXX、Visual Basic、および/または、JavaScript(登録商標)を含んでもよい。さらに、本発明のシステムおよび方法の動作と連携して単一のタイプの命令または単一のプログラミング言語が利用される必要はない。むしろ、必要および/または所望されるように、任意の数の異なるプログラミング言語を利用してもよい。
【0069】
[0084]また、本発明の実践において使用される命令および/またはデータは、必要に応じて、任意の圧縮または暗号化技術またはアルゴリズムを利用してもよい。暗号化モジュールを、データを暗号化するために使用する場合もある。さらに、たとえば、ファイルまたは他のデータを、適切な解読モジュールを使用して解読してもよい。
【0070】
[0085]上述したように、本発明を、たとえば、少なくとも1つのメモリを含むコンピュータまたはコンピュータシステムを含む処理マシンの形態で実例として具体化してもよい。一連の命令、すなわち、たとえば、コンピュータオペレーティングシステムが、上述した動作を実行することを可能にするソフトウェアを、必要に応じて、多種多様な1つまたは複数の媒体のいずれかに含んでもよいことを理解されたい。さらに、一連の命令によって処理されるデータを、多種多様な1つまたは複数の媒体のいずれかに含む場合もある。すなわち、本発明で使用される一連の命令および/またはデータを保持するために利用される特定の媒体、すなわち処理マシンにおけるメモリは、たとえば、様々な物理的形態または伝送のいずれかを採ってもよい。実例として、媒体は、紙、紙のスライド、コンパクトディスク、DVD、集積回路、ハードディスク、フロッピーディスク、光ディスク、磁気テープ、RAM、ROM、PROM、EPROM、ワイヤ、ケーブル、ファイバ、通信チャネル、衛星通信、メモリカード、SIMカード、または他のリモート送信のみならず、他の任意の媒体、または本発明のプロセッサが読み取ってもよいデータのソースの形態であることができる。
【0071】
[0086]さらに、本発明を実施する処理マシンにおいて使用される1つまたは複数のメモリは、メモリが、命令、データ、または他の情報を、必要に応じて保持できるようにする多種多様な形態のいずれかであってもよい。したがって、メモリは、データを保持するデータベースの形態である場合がある。データベースは、たとえば、フラットファイル配置構成またはリレーショナルデータベース配置構成のように、所望される任意のファイルの配置構成を使用する場合がある。
【0072】
[0087]本発明のシステムおよび方法では、様々な「ユーザインターフェース」を利用して、ユーザが、本発明を実施するために使用される1つまたは複数の処理マシンとインターフェース可能にしてもよい。本明細書で使用される場合、ユーザインターフェースは、ユーザが処理マシンと対話することを可能にする、処理マシンによって使用される任意のハードウェア、ソフトウェア、またはハードウェアとソフトウェアとの組合せを含む。ユーザインターフェースは、たとえば、ダイアログ画面の形態であってもよい。ユーザインターフェースには、マウス、タッチスクリーン、キーボード、キーパッド、音声リーダ、音声認識器、ダイアログ画面、メニューボックス、リスト、チェックボックス、トグルスイッチ、プッシュボタン、または、処理マシンが一連の命令を処理する、および/または、処理マシンに情報を提供すると、処理マシンの動作に関する情報を、ユーザが受信することを可能にする他の任意のデバイスのいずれかを含んでもよい。したがって、ユーザインターフェースは、ユーザと処理マシンとの間で通信を提供する、任意のデバイスである。ユーザがユーザインターフェースを介して処理マシンに提供する情報は、たとえば、コマンド、データの選択、または他の何らかの入力の形態であってもよい。
【0073】
[0088]上述したように、ユーザインターフェースは、処理マシンがユーザのデータを処理するように、一連の命令を実行する処理マシンによって利用される。通常、ユーザインターフェースは、情報を伝達したり、あるいは、ユーザから情報を受信したりするために、ユーザと対話するために処理マシンによって使用される。しかしながら、本発明のシステムおよび方法のいくつかの実施形態によれば、人間のユーザが実際に本発明の処理マシンによって使用されるユーザインターフェースと対話する必要はないことを理解されたい。むしろ、本発明のユーザインターフェースは、人間のユーザではなく別の処理マシンと対話する、すなわち、情報を伝達および受信する、ことも企図される。したがって、他の処理マシンを、ユーザとして特徴付ける場合がある。さらに、本発明のシステムおよび方法において利用されるユーザインターフェースは、部分的に別の1つまたは複数の処理マシンと対話し、人間のユーザとも部分的に対話することが企図される。
【0074】
[0089]当業者であれば、本発明が幅広い有用性および用途に影響されやすいことを容易に理解するであろう。本明細書に記載されたもの以外の本発明の多くの実施形態および適応、ならびに多くの変形、修正、および同等の構成は、本発明の内容または範囲から逸脱することなく、本発明およびその前述の説明から明らかであるか、合理的に示唆されるであろう。
【0075】
[0090]したがって、本明細書では、本発明をその例示的な実施形態に関連して詳細に説明したが、この開示は本発明の例示および典型例に過ぎず、本発明の実施可能な開示を提供するようになされていることが理解されるべきである。したがって、前述した開示は、本発明を解釈または制限すること、または他のそのような実施形態、適応、変形、修正、または均等の配置構成を除外することは意図されていない。
図1
図2
図3