(57)【要約】  分散型台帳ゲートウェイを使用するためのシステムおよび方法が開示される。一実施形態において、少なくとも１つのコンピュータプロセッサを備えた情報処理装置において、複数の分散型台帳と対話するための方法は、（１）複数の分散型台帳のうちの１つに書き込まれるべきペイロードと、クライアント要求から抽出されるメタデータとを含むクライアント要求を受信することと、（２）複数の分散型台帳のうち、宛先の分散型台帳を特定することと、（３）要求のソースと宛先の分散型台帳とを記録することと、（４）ペイロードを暗号化することと、（５）暗号化されたペイロードを宛先の分散型台帳にルーティングすることとを含んでもよい。
2020526121.tif 000002
【特許請求の範囲】
【請求項１】
複数の分散型台帳と対話するための方法であって、
少なくとも１つのコンピュータプロセッサを備える情報処理装置において、
複数の分散型台帳のうちの１つに書き込まれるべきペイロードと、クライアント要求から抽出されるメタデータとを含む前記クライアント要求を受信するステップと、
前記複数の分散型台帳のうち、宛先の分散型台帳を特定するステップと、
前記要求のソースと前記宛先の分散型台帳とを記録するステップと、
前記ペイロードを暗号化するステップと、
前記暗号化されたペイロードを前記宛先の分散型台帳にルーティングするステップとを含む、方法。
【請求項２】
ルーティング情報が前記クライアント要求および前記メタデータとともに受信される、請求項１に記載の方法。
【請求項３】
前記クライアント要求および前記メタデータは、第１のアダプタを介して第１のアクセスポイントから受信される、請求項１に記載の方法。
【請求項４】
前記ペイロードは、前記第１のアダプタによって暗号化される、請求項３に記載の方法。
【請求項５】
前記アクセスポイントは、サーバベースのアクセスポイントを備える、請求項３に記載の方法。
【請求項６】
前記暗号化されたペイロードを前記宛先の分散型台帳にルーティングするステップは、前記宛先の分散型台帳とインターフェースするために第２のアダプタを呼び出すステップを含む、請求項１に記載の方法。
【請求項７】
前記宛先の分散型台帳は、複数の宛先の分散型台帳を備え、前記暗号化されたペイロードの少なくとも一部は、前記複数の宛先の分散型台帳に書き込まれる、請求項１に記載の方法。
【請求項８】
前記宛先の分散型台帳に書き込まれる前記暗号化されたペイロードは、指定された分散型台帳またはアクセスポイントのみによってアクセス可能である、請求項１に記載の方法。
【請求項９】
第２のアダプタを使用して前記暗号化されたペイロードを解読するステップをさらに含む、請求項６に記載の方法。
【請求項１０】
ゲートウェイをサービスとして提供するためのシステムであって、
ゲートウェイと、
それぞれがアクセスポイントと通信している、複数の第１のアダプタと、
それぞれが複数の分散型台帳のうちの１つと通信している、複数の第２のアダプタとを備え、
前記ゲートウェイは、前記第１のアダプタのうちの１つからクライアント要求を受信し、前記クライアント要求は、前記複数の分散型台帳のうちの１つに書き込まれるべきペイロードと、前記クライアント要求から抽出されるメタデータとを備え、
前記ゲートウェイは、前記複数の分散型台帳のうち、宛先の分散型台帳を特定し、
前記ゲートウェイは、前記要求のソースと前記宛先の分散型台帳とを記録し、
前記第１のアダプタは、前記ペイロードを暗号化し、
前記ゲートウェイは、前記暗号化されたペイロードを、前記第２のアダプタのうちの１つを介して前記宛先の分散型台帳にルーティングする、システム。
【請求項１１】
前記ゲートウェイは、サービスとして提供される、請求項１０に記載のシステム。
【請求項１２】
ルーティング情報が前記クライアント要求および前記メタデータとともに受信される、請求項１０に記載のシステム。
【請求項１３】
前記アクセスポイントは、サーバベースのアクセスポイントを備える、請求項１０に記載のシステム。
【請求項１４】
前記宛先の分散型台帳は、複数の宛先の分散型台帳を備え、前記暗号化されたペイロードの少なくとも一部は、前記複数の宛先の分散型台帳に書き込まれる、請求項９に記載のシステム。
【請求項１５】
前記宛先の分散型台帳に書き込まれる前記暗号化されたペイロードは、指定された分散型台帳またはアクセスポイントのみによってアクセス可能である、請求項１０に記載のシステム。
【請求項１６】
ＡＰＩゲートウェイをさらに備え、
前記ＡＰＩゲートウェイは、複数のクライアント要求に優先順位を付ける、請求項１０に記載のシステム。
【請求項１７】
前記第１のアダプタは、クライアントメッセージからメタデータを抽出する、請求項１０に記載のシステム。
【請求項１８】
前記第２のアダプタは、前記暗号化されたペイロードを解読する、請求項１０に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
[0001]本願は、２０１７年６月２７日に出願された米国仮特許出願第６２／５２５，６００号の優先権を主張し、その開示全体が参照により本明細書に組み込まれる。
【０００２】
[0002]本開示は、一般に、分散型台帳ゲートウェイを使用するためのシステムおよび方法に関する。
【背景技術】
【０００３】
[0003]ブロックチェーンなどの「分散型台帳」は、暗号によって検証された台帳を提供し、その場合、信頼は、中央機関によって提供されるのではなく、正確であることの暗号プルーフを有する同じ台帳の同一のコピーの普及によって確立される。
【発明の概要】
【課題を解決するための手段】
【０００４】
[0004]分散型台帳ゲートウェイを使用するためのシステムおよび方法が開示される。一実施形態において、少なくとも１つのコンピュータプロセッサを備えた情報処理装置において、複数の分散型台帳と対話するための方法は、（１）複数の分散型台帳のうちの１つに書き込まれるべきペイロードと、クライアント要求から抽出されるメタデータとを含むクライアント要求を受信するステップと、（２）複数の分散型台帳のうち、宛先の分散型台帳を特定するステップと、（３）要求のソースと宛先の分散型台帳とを記録するステップと、（４）ペイロードを暗号化するステップと、（５）暗号化されたペイロードを宛先の分散型台帳にルーティングするステップとを含んでもよい。
【０００５】
[0005]一実施形態においてクライアント要求およびメタデータとともに、ルーティング情報を受信してもよい。
[0006]一実施形態において、クライアント要求およびメタデータは、第１のアダプタを介して第１のアクセスポイントから受信してもよい。
【０００６】
[0007]一実施形態において、ペイロードは、第１のアダプタによって暗号化してもよい。
[0008]一実施形態において、アクセスポイントは、サーバベースのアクセスポイントを含んでもよい。
【０００７】
[0009]一実施形態において、暗号化されたペイロードを宛先の分散型台帳にルーティングするステップは、宛先の分散型台帳とインターフェースするために第２のアダプタを呼び出すことを含んでもよい。
【０００８】
[0010]一実施形態において、宛先の分散型台帳は、複数の宛先の分散型台帳を含んでもよく、暗号化されたペイロードの少なくとも一部を、複数の宛先の分散型台帳に書き込んでもよい。
【０００９】
[0011]一実施形態において、宛先の分散型台帳に書き込まれる暗号化されたペイロードは、指定された分散型台帳またはアクセスポイントのみによってアクセス可能であってもよい。
【００１０】
[0012]一実施形態において、方法はさらに、第２のアダプタを使用して、暗号化されたペイロードを解読するステップを含んでもよい。
[0013]別の実施形態によれば、ゲートウェイをサービスとして提供するためのシステムは、ゲートウェイと、それぞれがアクセスポイントと通信している複数の第１のアダプタと、それぞれが複数の分散型台帳のうちの１つと通信している複数の第２のアダプタとを含んでもよい。ゲートウェイは、第１のアダプタのうちの１つからクライアント要求を受信してもよく、クライアント要求は、複数の分散型台帳のうちの１つに書き込まれるべきペイロードと、クライアント要求から抽出されるメタデータとを含み、ゲートウェイは、複数の分散型台帳のうち、宛先の分散型台帳を特定してもよく、要求のソースと宛先の分散型台帳とを記録してもよい。第１のアダプタはペイロードを暗号化してもよい。ゲートウェイは、暗号化されたペイロードを、第２のアダプタのうちの１つを介して宛先の分散型台帳にルーティングしてもよい。
【００１１】
[0014]一実施形態において、ゲートウェイは、サービスとして提供してもよい。
[0015]一実施形態において、クライアント要求およびメタデータとともにルーティング情報を受信してもよい。
【００１２】
[0016]一実施形態において、アクセスポイントは、サーバベースのアクセスポイントを含んでもよい。
[0017]一実施形態において、宛先の分散型台帳は、複数の宛先の分散型台帳を含んでもよく、暗号化されたペイロードの少なくとも一部は、複数の宛先の分散型台帳に書き込んでもよい。
【００１３】
[0018]一実施形態において、宛先の分散型台帳に書き込まれる暗号化されたペイロードは、指定された分散型台帳またはアクセスポイントのみによってアクセス可能であってもよい。
【００１４】
[0019]一実施形態において、システムはＡＰＩゲートウェイを含んでもよく、ＡＰＩゲートウェイは複数のクライアント要求に優先順位を付けてもよい。
[0020]一実施形態において、第１のアダプタは、クライアントメッセージからメタデータを抽出してもよい。
【００１５】
[0021]一実施形態において、第２のアダプタは、暗号化されたペイロードを解読してもよい。
[0022]クライアント、既存／従来のアプリケーションから、ブロックチェーン／分散型台帳プラットフォームへのトランザクション接続を容易にするシステムおよび方法が開示される。一実施形態において、クライアントに代わってホスティングおよびサービス提供する分散型台帳ノード、ならびにクライアントが１つまたは多くの分散型台帳プラットフォーム／ブロックチェーンとシームレスに対話するための接続性を提供してもよい。
【００１６】
[0023]本発明、その目的および利点をより完全に理解するために、添付図面に関連してなされる以下の説明を参照する。
【図面の簡単な説明】
【００１７】
【図１】[0024]一実施形態による分散型台帳ゲートウェイシステムを示す図である。
【図２】[0025]一実施形態による分散型台帳ゲートウェイを使用するための方法を示す図である。
【図３】[0026]一実施形態によるサービスとして分散型台帳ゲートウェイを使用するための方法を示す図である。
【発明を実施するための形態】
【００１８】
[0027]本明細書で開示される実施形態は、分散型台帳ゲートウェイシステムと、１つまたは複数の分散型台帳にアクセスするための方法とに関する。分散型台帳の例は、たとえば、ブロックチェーン台帳、イーサリアムベースの台帳などを含む。
【００１９】
[0028]実施形態は、１つまたは複数の分散型台帳へのシームレスなアクセスを機関に提供してもよい。たとえば、分散型台帳ゲートウェイは、分散型台帳の識別情報、分散型台帳とのインタラクションなどを管理してもよい。
【００２０】
[0029]一実施形態において、ゲートウェイを、取引の作成、取引の修正、支払いなど、分散型台帳タイプのタイプにとらわれないアクティビティを可能にする埋め込み可能なライブラリである、安穏なＡＰＩと呼んでもよい。
【００２１】
[0030]実施形態を金融トランザクションの文脈で提供してもよいが、実施形態は、幅広い適用性を有し、そのように限定されないことを認識されたい。
[0031]図１を参照して示すように、一実施形態による分散型台帳システムが開示される。システム１００は、たとえば、ユーザ１１２、ＲＥＳＴ／ＦＴＰサーバ１１４、企業アプリケーションサーバ１１６、メインフレーム１１８、リレーショナルデータベース管理システム（ＲＤＢＭＳ）（１２０）などを含むアクセスポイント１１０を含んでもよい。必要および／または所望に応じて、他のアクセスポイントを含んでもよい。
【００２２】
[0032]一実施形態において、アクセスポイント１１０は、たとえば、ＡＰＩオーバＨＴＴＰＳ（ＲＥＳＴ）を除く、ＳＤＫベースのクライアントアダプタ、ブラウザなどを含んでもよい。たとえば、クライアントの需要／要件に基づいて、必要および／または所望に応じて、任意の適切なメカニズムを使用してもよい。
【００２３】
[0033]ＡＰＩゲートウェイ１４０は、ブラウザ１２５または１つまたは複数のアダプタ１３０を介してアクセスポイント１１０とインターフェースしてもよい。一実施形態において、各アクセスポイント１１０に対して個別のアダプタ１３０を提供してもよい。別の実施形態において、単一のアダプタ１３０が、１つ以上のアクセスポイント１１０にサービス提供してもよい。
【００２４】
[0034]一実施形態において、アダプタ１３０は、メタデータを抽出し、暗号化および／または解読を実行し、ノードおよびエンドポイントにローカライズされたペイロードを変換してもよい。たとえば、あらゆる機密データまたはＰＩデータが、ゲートウェイまたはトランスポート層に公開されないようにするために、暗号化および／または解読を、クライアントのインターフェースの場所（クライアントの構内）で実行してもよい。したがって、クライアント情報は転送中に保護され、クライアント情報へのアクセスは、意図された関係者の安全なサイトに制限される。
【００２５】
[0035]別の実施形態において、暗号化および／または解読は、クライアントに代わって展開されてもよい分散型台帳ノード場所において実行される場合があるが、転送中またはゲートウェイ１５０上では行われない。
【００２６】
[0036]一実施形態において、ＡＰＩゲートウェイ１４０は、接続性、スケーラビリティ、回復力、可用性、性能、エンドポイント／クライアントインターフェースのセキュリティ、ならびに各クライアントの需要および構成に応じたトラフィックの調整／優先順位付けを担当してもよい。
【００２７】
[0037]分散型メッセージング基板１５２は、安全な接続を確立し、送信者と受信者との両方にわたりデータを効率的にルーティングすることを担当してもよい、地理的に分散された適切なインフラストラクチャ上に展開／ホストされる分散型ソフトウェアを含んでもよい。
【００２８】
[0038]分散型メッセージング基板１５２は、アクセスポイント１１０のいずれかからトランザクションをルーティングすることができる、分散型企業サービスバス１５５を含んでもよい。
【００２９】
[0039]一実施形態において、分散型メッセージング基板１５２および分散型企業サービスバス１５５を、分散されたスケーラブルなインフラストラクチャ上に提供してもよい。
[0040]分散型メッセージング基板１５２について、分散型台帳の相互運用性および接続性の文脈で説明してもよいが、本開示はそれに限定されないことを認識されたい。実施形態は、送信者または受信者の技術またはアーキテクチャにとらわれない。分散型メッセージングおよびバスフレームワークと組み合わされたアダプタ設計は、システムのこのような疎結合性を促進する。
【００３０】
[0041]アダプタ１３０は、分散型メッセージング基板１５２とブロックチェーンノードホスティングサービス１６０との間をインターフェースしてもよい。一実施形態において、ブロックチェーンノードホスティングサービス１６０は、１つまたは複数の分散型台帳１６５１、１６５２、１６５ｎをホストしてもよい。一実施形態において、分散型台帳１６５１、１６５２、１６５ｎは、パブリッククラウド、プライベートクラウドなどで提供してもよい。例示的な分散型台帳１６５１、１６５２、１６５ｎは、たとえば、Ｑｕｏｒｕｍ、Ａｘｏｎｉ、Ｆａｂｒｉｃなどを含む。
【００３１】
[0042]一実施形態において、分散型台帳１６５１、１６５２、１６５ｎは、他のエンティティによって（たとえば、他の機関によって、Ａｍａｚｏｎによって、Ａｚｕｒｅによってなど）ホストおよび／または管理される場合があるノードを含んでもよい。
【００３２】
[0043]一実施形態において、分散型メッセージング基板１５２および分散型企業サービスバス１５５はともに、分散型メッセージングゲートウェイ１５０を備えてもよい。
[0044]システム１００はさらに、オペレーションダッシュボード１７５を介してインターフェースを提供してもよいオペレーションデータストア１７０を含んでもよい。一実施形態において、オペレーションデータストア１７０は、ゲートウェイ１５０を通過するトラフィックのメタデータ情報を収集して分析してもよく、性能、可用性、スケーラビリティ、優先順位付け、接続性、ゲートウェイ１５０を通過するデータのセキュリティを、率先して管理することを支援してもよい。メタデータは、たとえば、伝達される情報の時間、頻度、サイズなどを含んでもよい。伝達される情報の内容は含まない。これは、交換に関与するそれぞれのエンドポイント／アダプタで情報を暗号化および解読することにより実現され、情報の伝達を担当するゲートウェイメッセージングおよびルーティング層に対するその可視性を制限する。一実施形態において、ゲートウェイメッセージングおよびルーティングは、集中型サービスであるが、非集中型／分散型であってもよい。サービスは、展開の規模および他の要件（たとえば、規制、コンプライアンス、セキュリティなど）に応じて、パブリッククラウド、プライベートクラウド、または構内で展開される複数のソフトウェアコンポーネントを含んでもよい。
【００３３】
[0045]システム１００はさらに、分析および報告データストア１８０を含んでもよい。分析および報告データストア１８０を、様々なクライアントおよび技術アセットに提供されるサービスの周りのＫＰＩ（主要業績評価指標）およびメタデータを記憶するために利用してもよい。この情報は、プラットフォームの最適化を支援して、プラットフォームのサービス品質（ＱｏＳ）を向上してもよい。例は、クライアントごとの要求率、プラットフォームのルーティングおよび配信効率、可用性、監視、特定のメッセージの優先順位付け、サービスを中断する意図的な攻撃に対するセキュリティ／防御などを含む。
【００３４】
[0046]一実施形態において、ゲートウェイ１５０は、１つのフォーマットでメッセージを受信し、メッセージを評価してもよい。一実施形態において、ゲートウェイ１５０は、メッセージが関連する製品を特定し、送信者および／または受信者を特定するなどしてもよい。この情報の一部またはすべてを使用して、ゲートウェイ１５０は、その後、メッセージがルーティングされる分散型台帳１６５を特定してもよい。一実施形態において、ゲートウェイ１５０は、分散型台帳１６５のためのメッセージのフォーマットを決定してもよく、メッセージをそのフォーマットに再フォーマットまたは変換してもよい。
【００３５】
[0047]一実施形態において、ゲートウェイ１５０は、送信した情報が実際に記録されたというメッセージの送信アクセスポイント１１２〜１２０に暗号プルーフ（たとえば、Ｍｅｒｋｅｌプルーフ）を提供してもよい。したがって、送信アクセスポイント１１２〜１２０は、分散型台帳１６５上に実際に存在するもののプルーフを取得し得、それによって、送信アクセスポイント１１２〜１２０は、そのデータの操作または誤変換がなかったことを知る。
【００３６】
[0048]一実施形態において、アトミックトランザクションのためのメカニズムを提供してもよく、ゲートウェイ１５０は、多数のチェーンとアトミックにトランザクトしてもよく、これらのチェーン全体に、アクションが、オールオアナッシング方式で適用されることを保証する。したがって、トランザクションを、必要なすべての分散型台帳１６５に書き込むことができない場合、どの分散型台帳１６５にも書き込まれない。
【００３７】
[0049]たとえば、トランザクションが、債券移動および現金移動を含む場合、このトランザクションは、現金移動については分散型台帳１６５に、債券移動については分散型台帳１６５にと、両方書き込まれる場合にのみ書き込まれる。
【００３８】
[0050]一実施形態において、ゲートウェイ１５０は、これらのクライアントの鍵を管理および保護し、それに応じて、正しいユーザの正しい鍵で、トランザクションをバインドしてもよい。したがって、第三者は、トランザクションが実際に機関から来たことを確認し、ゲートウェイ１５０が関与していたことは明らかではない。したがって、第三者の観点から、トランザクションは、機関が分散型台帳にトランザクションを書き込んだかのように、シームレスで定期的な分散型台帳トランザクションである。
【００３９】
[0051]一実施形態において、トランザクションがゲートウェイ１５０を使用したことを示すインジケーションを機関が望む場合、インジケーションを提供してもよい。一実施形態において、これを、メタデータとして分散型台帳のブロックに提供してもよい。
【００４０】
[0052]図２を参照して示すように、一実施形態にしたがう分散型台帳ゲートウェイを使用するための方法が開示される。ステップ２０５では、クライアント（たとえば、ユーザ、アプリケーションなど）は、ＡＰＩ、アダプタ、ブラウザなどを呼び出して、分散型台帳に書き込まれたペイロードを有するようなクライアント要求を発行してもよい。
【００４１】
[0053]一実施形態において、クライアントは、構内でアダプタをホストしてもよい。別の実施形態において、クライアントは、ゲートウェイとインターフェースするためにＡＰＩエンドポイントのみを必要としてもよい。クライアントがアダプタをホストするか、アダプタと統合されると、ターゲット分散型台帳の決定がアダプタで行われ、関連付けられたメタデータは、ターゲット分散型台帳を反映してもよい。実施形態において、ゲートウェイは、クライアントに代わってプロキシ／サービスプロバイダとして機能してもよく、たとえば、ルーティングのためにゲートウェイに送信されるペイロードに基づいてその決定を行ってもよい。たとえば、ペイロードはアセットを特定してもよく、異なる分散型台帳は、異なるアセットクラスのターゲットであってもよいので、分散型台帳を決定するために、アセットクラスを使用してもよい。２つ以上の分散型台帳が同じアセットクラスにサービス提供する場合、クライアントのオンボーディングを使用して、特定のアセットクラスのために選択してもよい分散型台帳を決定し、分散型台帳を、ゲートウェイ層でルーティングルールとして構成してもよい。
【００４２】
[0054]ステップ２１０では、アダプタ、ＡＰＩ、ブラウザなどがクライアント要求を処理してもよい。一実施形態において、処理は、たとえば、クライアント要求からメタデータを抽出すること、ルーティング情報（たとえば、ターゲット分散型台帳の識別情報）を追加すること、および基礎となるデータ（たとえば、ペイロード）を暗号化することを含んでもよい。一実施形態において、この情報をさらに使用して、サービスレベル契約（「ＳＬＡ」）などに応じて特定のアセットクラスの優先順位を決定してもよい。
【００４３】
[0055]ステップ２１５では、アダプタ、ＡＰＩ、ブラウザなどがゲートウェイを呼び出してもよく、処理されたクライアント要求を送信してもよい。たとえば、メタデータ、ルーティング情報、および暗号化されたペイロードは、ゲートウェイへ送信してもよい。
【００４４】
[0056]ステップ２２０では、ゲートウェイルータは、受信した処理済みクライアント要求を処理してもよい。たとえば、ゲートウェイルータは、ルーティング情報を検査してもよく、追跡および追跡可能性のためにソース（たとえば、クライアント）および宛先の情報を記録してもよい。ゲートウェイルータは、暗号化されたペイロードを分析、処理、または検査しない場合がある。
【００４５】
[0057]ステップ２２５では、オペレーションデータベースエントリを作成してもよく、オペレーションダッシュボードを介して見られるようになってもよい。一実施形態において、オペレーションデータベースエントリは、たとえば、ゲートウェイプラットフォームのサービス品質データを含んでもよい。収集される場合がある例示的な属性は、たとえば、クライアントごとの要求率、ネットワーク層およびエンドポイントにおけるレイテンシ、ターゲット分散型台帳または他のエンドポイントへの接続の可用性などを含む。
【００４６】
[0058]一実施形態において、オペレーションデータベースはオペレーションダッシュボードとインターフェースしてもよく、これを、たとえば、サービスオペレーションチームが使用して、アラートを監視し、それに基づいて機能してもよい、および／または、考えられる影響や、サービスの中断などに関する通知を、様々なクライアントに送信してもよい。可用性、サービスの性能などを自動化するために、同じ情報を使用することができる。
【００４７】
[0059]ステップ２３０では、ゲートウェイは、第２のアダプタを呼び出してもよく、暗号化されたペイロードを、適切な分散型台帳にルーティングしてもよい。上述したように、一実施形態において、適切な分散型台帳の決定を、たとえば、要求時点での要求に基づいて、ゲートウェイサービスへのクライアントのオンボーディング中に行ってもよい、または、たとえば、アセットクラスなどのような属性に基づいて、ゲートウェイに委任してもよい。他の任意の適切な技術および／または情報を使用して、必要および／または所望に応じて、適切な分散型台帳を特定してもよい。
【００４８】
[0060]ステップ２３５では、暗号化されたペイロードが分散型台帳に書き込まれる。
一実施形態において、指定された分散型台帳、クライアント、アダプタなどのみが、ペイロードを解読できる場合がある。たとえば、ＰＫＩ（公開鍵インフラストラクチャ）戦略を使用して、暗号化および解読を実施してもよい。この場合、公開鍵と秘密鍵を、伝達のいずれかの側でそれぞれの当事者が保持してもよく、鍵をＨＳＭ（ハードウェアセキュリティモジュール）に記憶してもよい。アダプタに、必要な暗号化／解読を実行するために鍵を要求および使用することを許可してもよい。他の適切な方法を、必要および／または所望されるように使用してもよい。
【００４９】
[0061]図３を参照して示すように、サービスとして分散型台帳ゲートウェイを使用するための方法が、一実施形態にしたがって開示される。実施形態において、ゲートウェイは、ルーティングおよびメッセージングに限定されないノードサービスとして機能してもよい。したがって、ゲートウェイは、クライアントに代わるノードホスティングサービスと、メッセージングおよびルーティングサービスとの両方として機能してもよい。
【００５０】
[0062]ステップ３０５では、クライアント（たとえば、ユーザ、アプリケーションなど）は、ＡＰＩ、アダプタ、ブラウザなどを呼び出して、分散型台帳に書き込まれたペイロードを有するようなクライアント要求を発行してもよい。
【００５１】
[0063]ステップ３１０では、アダプタ、ＡＰＩ、ブラウザなどが、クライアント要求を処理してもよい。一実施形態において、処理は、たとえば、クライアント要求からメタデータを作成すること、ルーティング情報を追加すること、および基礎となるデータ（たとえば、ペイロード）を暗号化することを含んでもよい。
【００５２】
[0064]ステップ３１５では、アダプタ、ＡＰＩ、ブラウザなどがゲートウェイを呼び出してもよく、処理されたクライアント要求を送信してもよい。たとえば、メタデータ、ルーティング情報、暗号化されたペイロードを、ゲートウェイに送信してもよい。
【００５３】
[0065]ステップ３２０では、ゲートウェイルータは、受信した処理済みクライアント要求を処理してもよい。たとえば、ゲートウェイルータは、ルーティング情報を検査してもよく、追跡および追跡可能性のためにソース（たとえば、クライアント）および宛先の情報を記録してもよい。ゲートウェイルータは、暗号化されたペイロードを分析、処理、または検査しない場合がある。
【００５４】
[0066]ステップ３２５では、オペレーションデータベースエントリを作成してもよく、オペレーションダッシュボードを介して見られるようになってもよい。これは、上記のステップ２２５と同様であってもよい。
【００５５】
[0067]ステップ３３０では、ゲートウェイはＡＰＩを呼び出してもよく、暗号化されたペイロードを、適切な分散型台帳にルーティングしてもよい。実施形態において、クライアントは、アダプタ／ＳＤＫを統合できない場合があり、したがって、クライアントおよび／またはゲートウェイは、ＡＰＩエンドポイントを直接呼び出してもよい。たとえば、ターゲット分散型台帳が第三者によってホストされ、ゲートウェイが分散型台帳と統合する必要がある場合、クライアントは、アダプタを使用せずに分散型台帳と直接通信してもよい。この場合、アダプタ機能は、ゲートウェイ自体の一部であってもよく、個別の機能／ライブラリではない場合がある。
【００５６】
[0068]ステップ３３５では、暗号化されたペイロードが、分散型台帳に書き込まれる。一実施形態において、指定された分散型台帳、クライアント、アダプタなどのみが、ペイロードを解読できる場合がある。これは、上記のステップ２３５と同様であってもよい。
【００５７】
[0069]実施形態において、ゲートウェイは、クロスチェーン相互運用サービスを提供してもよい。
[0070]他の実施形態／アプリケーションは、たとえば、チェーンからチェーンへの通信、分散型台帳から分散型台帳への通信、モバイルから分散型台帳への通信、企業向けアプリケーションから分散型台帳への通信、クラウドホスト型アプリケーションから分散型台帳、それらの組合せなどを含む。
【００５８】
[0071]実施形態では、ペイロードを、変換および／または分割してもよく、複数の分散型台帳、アプリケーションなどにルーティングしてもよい。
[0072]以下、本発明のシステムおよび方法の実施の一般的な態様を説明する。
【００５９】
[0073]本発明のシステムまたは本発明のシステムの一部は、たとえば、汎用コンピュータなどの「処理マシン」の形態であってもよい。本明細書で使用される「処理マシン」という用語は、少なくとも１つのメモリを使用する少なくとも１つのプロセッサを含むと理解されるべきである。少なくとも１つのメモリは、一連の命令を記憶する。命令を、処理マシンの１つまたは複数のメモリに、永久的または一時的に記憶してもよい。プロセッサは、データを処理するために、１つまたは複数のメモリに記憶されている命令を実行する。一連の命令は、上述したタスクのような特定の１つまたは複数のタスクを実行する様々な命令を含んでもよい。特定のタスクを実行するためのこのような一連の命令を、プログラム、ソフトウェアプログラム、または単にソフトウェアとして特徴付けてもよい。
【００６０】
[0074]一実施形態において、処理マシンは、専用プロセッサであってもよい。
[0075]上述したように、処理マシンは、データを処理するために、１つまたは複数のメモリに記憶されている命令を実行する。データのこの処理は、たとえば、前の処理に応じて、別の処理マシンおよび／または他の入力による要求に応じて、処理マシンの１人または複数のユーザによるコマンドに応じてもよい。
【００６１】
[0076]上述したように、本発明を実施するために使用される処理マシンは、汎用コンピュータであってもよい。しかしながら、上述した処理マシンはまた、たとえば、マイクロコンピュータと、ミニコンピュータまたはメインフレームと、プログラムされたマイクロプロセッサと、マイクロコントローラと、周辺集積回路素子と、ＣＳＩＣ（カスタマ固有の集積回路）またはＡＳＩＣ（特定用途向け集積回路）または他の集積回路と、論理回路と、デジタル信号プロセッサと、ＦＰＧＡ、ＰＬＤ、ＰＬＡ、またはＰＡＬなどのプログラマブルロジックデバイスと、または本発明の処理のステップを実施することが可能な他の任意のデバイスまたはデバイスの配置構成とを含むコンピュータシステムである、専用コンピュータを含む多種多様な他の技術のうちのいずれかを利用してもよい。
【００６２】
[0077]本発明を実施するために使用される処理マシンは、適切なオペレーティングシステムを利用してもよい。したがって、本発明の実施形態は、ｉＯＳオペレーティングシステム、ＯＳ  Ｘオペレーティングシステム、Ａｎｄｒｏｉｄオペレーティングシステム、Ｍｉｃｒｏｓｏｆｔ  ＷｉｎｄｏｗｓＴＭオペレーティングシステム、Ｕｎｉｘオペレーティングシステム、Ｌｉｎｕｘ（登録商標）オペレーティングシステム、Ｘｅｎｉｘオペレーティングシステム、ＩＢＭ  ＡＴＭＴＭオペレーティングシステム、Ｈｅｗｌｅｔｔ−Ｐａｃｋａｒｄ  ＵＸＴＭオペレーティングシステム、Ｎｏｖｅｌｌ  ＮｅｔｗａｒｅＴＭオペレーティングシステム、Ｓｕｎ  Ｍｉｃｒｏｓｙｓｔｅｍｓ  ＳｏｌａｒｉｓＴＭオペレーティングシステム、ＯＳ／２ＴＭオペレーティングシステム、ＢｅＯＳＴＭオペレーティングシステム、Ｍａｃｉｎｔｏｓｈオペレーティングシステム、Ａｐａｃｈｅオペレーティングシステム、ＯｐｅｎＳｔｅｐＴＭオペレーティングシステム、または別のオペレーティングシステムまたはプラットフォームを実行する処理マシンを含んでもよい。
【００６３】
[0078]上述した本発明の方法を実践するために、処理マシンのプロセッサおよび／またはメモリが同じ地理的場所に物理的に配置される必要はないことが理解される。すなわち、処理マシンによって使用されるプロセッサおよびメモリのおのおのを、地理的に異なる場所に配置され、任意の適切な方式で通信するように接続してもよい。加えて、プロセッサおよび／またはメモリのおのおのを、機器の異なる物理的部分から構成してもよいことが理解される。したがって、プロセッサが１つの場所にある１つの機器であり、メモリが、別の場所にある別の１つの機器である必要はない。すなわち、プロセッサは、２つの異なる物理的場所にある２つの機器であってもよいことが企図される。異なる２つの機器を、適切な方式で接続してもよい。加えて、メモリは、２つ以上の物理的場所にメモリの２つ以上の部分を含んでもよい。
【００６４】
[0079]さらに説明するために、上述したような処理は、様々なコンポーネントおよび様々なメモリによって実行される。しかしながら、本発明のさらなる実施形態によれば、上述した２つの別個のコンポーネントによって実行される処理を、単一のコンポーネントが実行してもよいことが理解される。さらに、上述した１つの別個のコンポーネントによって実行される処理を、２つの別個のコンポーネントが実行してもよい。同様に、本発明のさらなる実施形態によれば、上述した２つの別個のメモリ部分によって実行されるメモリストレージを、単一のメモリ部分が実行してもよい。さらに、上述したような１つの別個のメモリ部分によって実行されるメモリストレージを、２つのメモリ部分が実行してもよい。
【００６５】
[0080]さらに、様々なプロセッサおよび／またはメモリ間の通信を提供するためのみならず、本発明のプロセッサおよび／またはメモリが、他の任意のエンティティと通信できるようにするため、すなわち、たとえば、さらなる命令を取得するため、またはリモートメモリストアにアクセスして使用するために、様々な技術を使用してもよい。そのような通信を提供するために使用されるそのような技術は、たとえば、ネットワーク、インターネット、イントラネット、エクストラネット、ＬＡＮ、イーサネット（登録商標）、セルタワーまたは衛星を経由したワイヤレス通信、または通信を提供する任意のクライアントサーバシステムを含む場合がある。そのような通信技術は、たとえばＴＣＰ／ＩＰ、ＵＤＰ、またはＯＳＩのような任意の適切なプロトコルを使用してもよい。
【００６６】
[0081]上述したように、本発明の処理では、一連の命令を使用してもよい。一連の命令は、プログラムまたはソフトウェアの形態であってもよい。ソフトウェアは、たとえば、システムソフトウェアまたはアプリケーションソフトウェアの形態であってもよい。ソフトウェアは、たとえば、個別のプログラムの集合、より大きなプログラム内のプログラムモジュール、またはプログラムモジュールの一部の形態である場合がある。使用されるソフトウェアは、オブジェクト指向プログラミングの形態のモジュール式プログラミングも含む場合がある。ソフトウェアは、処理中のデータをどう処理するかを処理マシンに指示する。
【００６７】
[0082]さらに、本発明の実施および動作で使用される命令または一連の命令は、処理マシンが命令を読み取ることができるように適切な形態であってもよいことが理解される。たとえば、プログラムを形成する命令は、適切なプログラミング言語の形態であってもよく、これは、マシン語またはオブジェクトコードに変換されて、１つまたは複数のプロセッサが、命令を読み取ることができるようにする。つまり、特定のプログラミング言語で書かれたプログラミングコードまたはソースコードの行は、コンパイラ、アセンブラ、またはインタープリタを使用してマシン語に変換される。マシン語は、特定のタイプの処理マシン、つまり、たとえば、特定のタイプのコンピュータに固有のバイナリコード化されたマシン命令である。コンピュータは、マシン語を理解する。
【００６８】
[0083]本発明の様々な実施形態にしたがって、任意の適切なプログラミング言語を使用してもよい。実例として、使用されるプログラミング言語は、たとえば、アセンブリ言語、Ａｄａ、ＡＰＬ、Ｂａｓｉｃ、Ｃ、Ｃ＋＋、ＣＯＢＯＬ、ｄＢａｓｅ、Ｆｏｒｔｈ、Ｆｏｒｔｒａｎ、Ｊａｖａ（登録商標）、Ｍｏｄｕｌａ−２、Ｐａｓｃａｌ、Ｐｒｏｌｏｇ、ＲＥＸＸ、Ｖｉｓｕａｌ  Ｂａｓｉｃ、および／または、ＪａｖａＳｃｒｉｐｔ（登録商標）を含んでもよい。さらに、本発明のシステムおよび方法の動作と連携して単一のタイプの命令または単一のプログラミング言語が利用される必要はない。むしろ、必要および／または所望されるように、任意の数の異なるプログラミング言語を利用してもよい。
【００６９】
[0084]また、本発明の実践において使用される命令および／またはデータは、必要に応じて、任意の圧縮または暗号化技術またはアルゴリズムを利用してもよい。暗号化モジュールを、データを暗号化するために使用する場合もある。さらに、たとえば、ファイルまたは他のデータを、適切な解読モジュールを使用して解読してもよい。
【００７０】
[0085]上述したように、本発明を、たとえば、少なくとも１つのメモリを含むコンピュータまたはコンピュータシステムを含む処理マシンの形態で実例として具体化してもよい。一連の命令、すなわち、たとえば、コンピュータオペレーティングシステムが、上述した動作を実行することを可能にするソフトウェアを、必要に応じて、多種多様な１つまたは複数の媒体のいずれかに含んでもよいことを理解されたい。さらに、一連の命令によって処理されるデータを、多種多様な１つまたは複数の媒体のいずれかに含む場合もある。すなわち、本発明で使用される一連の命令および／またはデータを保持するために利用される特定の媒体、すなわち処理マシンにおけるメモリは、たとえば、様々な物理的形態または伝送のいずれかを採ってもよい。実例として、媒体は、紙、紙のスライド、コンパクトディスク、ＤＶＤ、集積回路、ハードディスク、フロッピーディスク、光ディスク、磁気テープ、ＲＡＭ、ＲＯＭ、ＰＲＯＭ、ＥＰＲＯＭ、ワイヤ、ケーブル、ファイバ、通信チャネル、衛星通信、メモリカード、ＳＩＭカード、または他のリモート送信のみならず、他の任意の媒体、または本発明のプロセッサが読み取ってもよいデータのソースの形態であることができる。
【００７１】
[0086]さらに、本発明を実施する処理マシンにおいて使用される１つまたは複数のメモリは、メモリが、命令、データ、または他の情報を、必要に応じて保持できるようにする多種多様な形態のいずれかであってもよい。したがって、メモリは、データを保持するデータベースの形態である場合がある。データベースは、たとえば、フラットファイル配置構成またはリレーショナルデータベース配置構成のように、所望される任意のファイルの配置構成を使用する場合がある。
【００７２】
[0087]本発明のシステムおよび方法では、様々な「ユーザインターフェース」を利用して、ユーザが、本発明を実施するために使用される１つまたは複数の処理マシンとインターフェース可能にしてもよい。本明細書で使用される場合、ユーザインターフェースは、ユーザが処理マシンと対話することを可能にする、処理マシンによって使用される任意のハードウェア、ソフトウェア、またはハードウェアとソフトウェアとの組合せを含む。ユーザインターフェースは、たとえば、ダイアログ画面の形態であってもよい。ユーザインターフェースには、マウス、タッチスクリーン、キーボード、キーパッド、音声リーダ、音声認識器、ダイアログ画面、メニューボックス、リスト、チェックボックス、トグルスイッチ、プッシュボタン、または、処理マシンが一連の命令を処理する、および／または、処理マシンに情報を提供すると、処理マシンの動作に関する情報を、ユーザが受信することを可能にする他の任意のデバイスのいずれかを含んでもよい。したがって、ユーザインターフェースは、ユーザと処理マシンとの間で通信を提供する、任意のデバイスである。ユーザがユーザインターフェースを介して処理マシンに提供する情報は、たとえば、コマンド、データの選択、または他の何らかの入力の形態であってもよい。
【００７３】
[0088]上述したように、ユーザインターフェースは、処理マシンがユーザのデータを処理するように、一連の命令を実行する処理マシンによって利用される。通常、ユーザインターフェースは、情報を伝達したり、あるいは、ユーザから情報を受信したりするために、ユーザと対話するために処理マシンによって使用される。しかしながら、本発明のシステムおよび方法のいくつかの実施形態によれば、人間のユーザが実際に本発明の処理マシンによって使用されるユーザインターフェースと対話する必要はないことを理解されたい。むしろ、本発明のユーザインターフェースは、人間のユーザではなく別の処理マシンと対話する、すなわち、情報を伝達および受信する、ことも企図される。したがって、他の処理マシンを、ユーザとして特徴付ける場合がある。さらに、本発明のシステムおよび方法において利用されるユーザインターフェースは、部分的に別の１つまたは複数の処理マシンと対話し、人間のユーザとも部分的に対話することが企図される。
【００７４】
[0089]当業者であれば、本発明が幅広い有用性および用途に影響されやすいことを容易に理解するであろう。本明細書に記載されたもの以外の本発明の多くの実施形態および適応、ならびに多くの変形、修正、および同等の構成は、本発明の内容または範囲から逸脱することなく、本発明およびその前述の説明から明らかであるか、合理的に示唆されるであろう。
【００７５】
[0090]したがって、本明細書では、本発明をその例示的な実施形態に関連して詳細に説明したが、この開示は本発明の例示および典型例に過ぎず、本発明の実施可能な開示を提供するようになされていることが理解されるべきである。したがって、前述した開示は、本発明を解釈または制限すること、または他のそのような実施形態、適応、変形、修正、または均等の配置構成を除外することは意図されていない。
【図１】
2020526121.tif 000003
【図２】
2020526121.tif 000004
【図３】
2020526121.tif 000005
【国際調査報告】
2020526121.tif 000006