GATEWAY COMMUNICATION SYSTEM AND METHOD FOR A DISTRIBUTED LEDGER SYSTEM
The gateway communication system addresses compatibility issues by enabling secure and reliable communication between distributed ledger systems and other systems through encryption, decryption, and message conversion, facilitating tokenization and integration across different domains.
Patent Information
- Application Number
- JP2024023631
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2019-12-16
- Filing Date
- 2024-02-20
- Publication Date
- 2024-12-17
- Estimated Expiration
- 2040-12-16
AI Technical Summary
Distributed ledger systems, such as blockchain-based systems, face challenges in communicating with other systems, including non-blockchain-based systems and legacy systems, due to compatibility issues.
A gateway communication system and method that facilitates communication between distributed ledger systems and non-distributed ledger systems by using listeners, adapters, and a gateway communication service to encrypt, decrypt, and convert messages, enabling tokenization and communication with various distributed ledger technologies.
Enables seamless communication and integration of distributed ledger systems with other systems, supporting tokenization of assets and providing secure, reliable messaging across different domains, ensuring authenticity and non-repudiation of messages.
Smart Images

Figure 0007602082000001 
Figure 0007602082000002 
Figure 0007602082000003
Abstract
Description
[Technical field]
[0001] Related Applications
[0001] This application claims priority to and the benefit of U.S. Provisional Patent Application No. 62 / 948,702, filed December 16, 2019, the disclosure of which is incorporated herein by reference in its entirety. [Background technology]
[0002]
[0002] The present disclosure relates generally to systems and methods for gateway communications with distributed ledger systems. Summary of the Invention [Problem to be solved by the invention]
[0003]
[0003] Distributed ledger systems, such as blockchain-based systems, are increasingly being implemented by different providers. There are different kinds of systems, and it is difficult for one system to communicate with another system, or with legacy systems (e.g., non-blockchain-based systems). [Means for solving the problem]
[0004]
[0004] A gateway communication system and method for a distributed ledger system is disclosed. In one embodiment, a method of gateway communication between a non-distributed ledger system and a distributed ledger system may include: (1) receiving, at a listener including a computer processor, a message for a destination distributed ledger system from an application in a first domain, which may be one of a plurality of distributed ledger systems in a second domain; (2) generating, by the listener, a payload for the message, the payload identifying a destination distributed ledger system for the message; and (3) encrypting, by the listener, the payload and passing the payload message including the encrypted payload to one of a plurality of adapters in a gateway communication service using an API. The adapter may receive the payload message, decrypt the payload, identify the destination distributed ledger system, and communicate the decrypted payload to the destination distributed ledger system.
[0005] In one embodiment, the message may include a request to tokenize an asset having a plurality of attributes, and the method may further include tokenizing, by the listener, the plurality of attributes of the asset. The payload may include the tokenized plurality of attributes of the asset.
[0006]
[0006] In one embodiment, the payload may also identify a distributed ledger technology of the destination distributed ledger system, and the method may further include the adapter converting the decrypted payload into a format for that distributed ledger technology and communicating the converted decrypted payload to the destination distributed ledger system.
[0007] In one embodiment, the method may further include signing the encrypted payload by the listener.
[0008] In one embodiment, the payload message may include an identifier for the adapter.
[0008]
[0009] In one embodiment, the adapter may be associated with a destination distributed ledger system.
[0010] According to another embodiment, a gateway between a non-distributed ledger system and a distributed ledger system is provided. In one embodiment, the gateway communication method includes the steps of: (1) receiving a payload message including an encrypted payload at an adapter of a plurality of adapters in a gateway communication service in a second domain including a computer processor, the payload being from an application in the first domain and encrypted by the listener, the payload being for a destination distributed ledger system, which may be one of a plurality of distributed ledger systems in the second domain; (2) decrypting the payload by the adapter; (3) identifying the destination distributed ledger system from the decrypted payload by the adapter; and (4) communicating the decrypted payload to the destination distributed ledger system.
[0009]
[0011] In one embodiment, the payload may include multiple tokenized attributes of the asset.
[0012] In one embodiment, the payload may identify a distributed ledger technology of the destination distributed ledger system, and the method may further include the adapter converting the decrypted payload into a format of that distributed ledger technology and communicating the converted decrypted payload to the destination distributed ledger system.
[0010]
[0013] In one embodiment, the encrypted payload may be signed by the listener.
[0014] In one embodiment, the payload message may include an identifier for the adapter.
[0015] In one embodiment, the adapter may be associated with a destination distributed ledger system.
[0011]
[0016] According to another embodiment, a method of gateway communication between a distributed ledger system and a non-distributed ledger system may include (1) receiving, at one of a plurality of adapters in a gateway communication service in a second domain including a computer processor, a message for an application in a first domain from one of a plurality of distributed ledger systems, (2) converting, by the adapter, the message from a format for the distributed ledger system to a format for the application, (3) encrypting, by the adapter, the converted message, (4) generating, by the adapter, a payload for the converted message, (5) generating, by the adapter, a payload message including the encrypted payload, and (6) communicating, using an API, the payload message to a listener associated with the application in the first domain, where the listener decrypts the payload and provides the decrypted payload to the application.
[0012]
[0017] In one embodiment, communicating the payload message to a listener associated with an application in the first domain may include an adapter pushing the payload message to the listener.
[0013]
[0018] In one embodiment, communicating the payload message to a listener associated with an application in the first domain may include the listener pulling the payload message from the adapter in response to the listener polling the adapter.
[0014]
[0019] In one embodiment, the payload message may identify the listener.
[0020] In one embodiment, a listener may be associated with an application.
[0021] In one embodiment, the method may further include signing the encrypted payload by the adapter.
[0015]
[0022] In order that the invention may be more readily understood, reference will now be made to the accompanying drawings, in which: They should not be construed as limiting the invention but are intended only to be illustrative of various aspects and embodiments. [Brief description of the drawings]
[0016] [Figure 1]
[0023] FIG. 1 illustrates a system for distributed ledger system gateway communications according to one embodiment. [Diagram 2]
[0024] FIG. 1 illustrates a system for distributed ledger system gateway communications according to one embodiment. [Diagram 3]
[0025] FIG. 1 illustrates a system for distributed ledger system gateway communications according to another embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0017]
[0026] The disclosures of U.S. Provisional Patent Application No. 62 / 525,600 and U.S. Patent Application No. 16 / 020,473 are incorporated herein by reference in their entireties.
[0027] Embodiments are generally directed to systems and methods for distributed ledger system gateway communications. In one embodiment, a gateway may provide access through an organization's firewall, and all communications to and from the organization may pass through the gateway. For example, each backend system may be equipped with an adapter to facilitate communication with the gateway, such that the gateway can route incoming communications to the appropriate backend system, and outgoing communications from the backend system (e.g., distributed ledger system, database, etc.).
[0018]
[0028] Embodiments may enable the representation of existing financial instruments (including cash, fixed income securities, and other debt securities) and other types of assets via a gateway that relates events handled on existing internal systems to the creation and destruction of tokens on the distributed ledger platform.
[0019]
[0029] Although the term "distributed ledger" is used herein, it should be understood that this may include any suitable distributed ledger that provides an immutable, cryptographically verifiable record.
[0020]
[0030] Embodiments may provide a "tokenization service" that may be responsible for creating a "tokenization certificate" or cryptographic proof of an event from an internal system. This payload may be signed (non-repudiation that only the issuing system could have created it) and / or encrypted (security, so only the intended destination can read the payload; anti-spoofing).
[0021]
[0031] Examples of events may include the movement of cash between accounts, notification of a collateral movement, e.g., via a SWIFT® MT569 message, the movement, exchange, trading of investment vehicles, securities, renewable energy credits, carbon credits, etc., the "digitization" of tangible assets such as precious metals, vehicles, goods, artwork, etc. Other suitable events may also be included as necessary and / or desired.
[0022]
[0032] One example of the transfer of renewable energy credits is disclosed in U.S. patent application Ser. No. 17 / 087,337, filed November 2, 2020, the disclosure of which is incorporated by reference in its entirety into this specification.
[0023]
[0033] The payload can be delivered via a gateway, which may be a mechanism for connecting internal messages to an externally hosted distributed ledger platform. A gateway may coordinate internal and external message brokers, and may exclusively via an egress-only "bridge" proxy component. In one embodiment, the gateway may connect non-distributed ledger internal / external systems to one or more distributed ledger platforms through a single secure API.
[0024]
[0034] In one embodiment, the gateway may provide at least some of the following: message signing, non-repudiation, guaranteed delivery, fault management, key management, high availability, trade receipt delivery, trade receipt reply, and event delivery.
[0025]
[0035] Referring to FIG. 1, a system for gateway communication between distributed ledger systems and non-distributed ledger systems according to another embodiment is disclosed. The system 100 includes applications 1101, 1102, 1103, ... 1104. n Each application 110 may include one or more asset types associated with it, such as cash, collateral, securities, precious metals, vehicles, goods, energy credits, etc. Other asset types may be included as needed and / or desired.
[0026]
[0036] In embodiments, application 110 may be a system that maintains relevant information about assets, such as the type of asset, the identity of the owner, and so on.
[0037] Each application 110 may be executed by one or more computing devices, such as computers, servers (physical and / or cloud-based), etc. In one embodiment, application 110 may be in a first domain, such as a business domain, such as an organization, a financial institution, FinTech, etc.
[0027]
[0038] The system 100 includes multiple listeners 1201, 1202, 1203, ... 120 nEach listener 120 may be associated with one or more applications 110 and may receive messages from one or more applications 110. In one embodiment, the listener 120 transmits application-specific messages from the applications 110 to one or more distributed ledger systems 1501, 1502, 1503, ... 1504 via an adapter 135 in the gateway communication service 130. n The listener 120 may further communicate with one or more distributed ledger systems 1501, 1502, 1503, ... 1504 via a gateway communication service 130. n The message processor 114 may convert a generic payload received from the application 110 into an application-specific message for one of the applications 110.
[0028]
[0039] Each listener 120 may encrypt and digitally sign the generic payload it sends, thereby providing authenticity and non-repudiation.
[0040] The listener 120 may provide tokenization services for one or more types of assets (e.g., cash tokenization, collateral tokenization, securities tokenization, precious metals tokenization, vehicle tokenization, goods tokenization, energy credit tokenization, etc.) and may be responsible for the root of trust for the particular domain in which the event is generated. ), the listener 120 may create and sign messages reflecting events (e.g., business domain events) using a sub-certificate that establishes a link to the listener 120. Thus, the listener 120 can tokenize and issue asset-backed tokens in a trusted and verifiable manner.
[0029]
[0041] The listener 120 may also provide reporting functionality for statistics and information regarding token usage.
[0042] In one embodiment, each listener 120 may be a computer program executed by one or more computing devices, such as computers, servers (physical and / or cloud-based), and the like.
[0030]
[0043] In one embodiment, applications 1101, 1102, 1103, ... 110 n and listeners 1201, 1202, 1203, ... 120 n may be within a domain such as a business domain, a business entity, etc.
[0031]
[0044] The gateway communication service 130 can provide a highly available and reliable messaging layer. The gateway communication service 130 may translate between domains (e.g., the domain of one or more applications 110 and listener 120) and one or more distributed ledger systems (e.g., one or more distributed ledgers 150). The gateway communication service 130 supports multiple adapters 1351, 1352, 1353, ... 135 that can receive a payload from one listener 120, decrypt the payload, transform it for the destination distributed ledger system 150, and write it to the distributed ledger system 150. n may include:
[0032]
[0045] For example, in one embodiment, a message from one of the applications 110 may include an identification of a platform (e.g., a particular distributed ledger technology) and a destination distributed ledger system (e.g., one of the distributed ledger systems 150). The message (e.g., in a header portion) may further identify one of the adapters 135 that will process the message. The identified adapter 135 may identify the destination distributed ledger system 150 from the message.
[0033]
[0046] Similarly, a message from one of the distributed ledger systems 150 may identify the particular application 110 that should receive the message.
[0047] The adapter 135 may receive a message (e.g., a confirmation message) from the distributed ledger system 150, convert it into a generic payload, and convey it to the application 110.
[0034]
[0048] In one embodiment, each listener 120 communicates with one or more distributed ledger systems 1501, 1502, 1503, ... 150 for a particular application 110. n No messages from or one or more of adapters 1351, 1352, 1353, ... 135 n In another embodiment, each listener 120 may poll one or more adapters 1351, 1352, 1353, ... 1354 for a particular application 110. n via one or more distributed ledger systems 1501, 1502, 1503, ... 150 n The message may include any type of suitable message regarding an asset associated with the application 110, including a confirmation message.
[0035]
[0049] An exemplary adapter 135 is a cash / collateral adapter. Such an adapter 135 may verify the authenticity of the cash and collateral events, for example, using digital signatures. The adapter 135 may also convert the cash and collateral events into other types of transactions as needed and / or desired.
[0036]
[0050] The gateway communication service 130 may also provide several services, such as validation and non-repudiation checks, data filtering, enrichment, and / or transformation, and distributed ledger system integration.
[0037]
[0051] In one embodiment, the gateway communication service 130 may run on one or more servers (physical and / or cloud).
[0052] In an embodiment, key management services (KMS) 115, 125, and 140 may be provided. The applications 110, listeners 120, and gateway communication services 130 use the KMS to sign messages and distributed ledger transactions. Each of the KMSs 115, 125, 150 can communicate with a respective KMS 115, 125, 150, which can store keys available for use with the KMSs, perform other cryptographic operations, and so on.
[0038]
[0053] Distributed Ledger Systems 1501, 1502, 1503, ... 150 n may be any suitable distributed ledger system using any suitable technology. In embodiments, one or more of the distributed ledger systems may be in a second domain different from the first domain. Multiple second domains may be provided as needed and / or desired.
[0039]
[0054] In an embodiment, producers of data and consumers of that data (e.g., applications 110 and distributed ledger system 150, or vice versa) are agnostic to each other. Thus, the gateway communication service 130 provides an interface or bridge to route payloads from applications 110 to the distributed ledger system 150 and from the distributed ledger system 150 to applications 110, with adapters transforming the payloads as necessary.
[0040]
[0055] Referring to FIG. 2, a method for gateway communication between a distributed ledger system and a non-distributed ledger system according to another embodiment is disclosed.
[0056] At step 200, an application may generate a message for a distributed ledger system outside of its domain (e.g., outside of a business domain). In one embodiment, the message may be about an asset associated with the application.
[0041]
[0057] In one embodiment, the message may include a request to tokenize or digitize the asset. The asset may optionally be tokenized at step 205. For example, an asset may be tokenized by taking a set of attributes of the asset and creating a payload that represents the asset.
[0042]
[0058] Examples of tokenization processes are disclosed in U.S. Provisional Patent Application No. 62 / 757,614, U.S. Provisional Patent Application No. 16 / 677,609, U.S. Provisional Patent Application No. 63 / 022,827, and U.S. Provisional Patent Application No. 16 / 878,457, the disclosures of each of which are incorporated herein by reference in their entireties.
[0043]
[0059] At step 210, a payload may be generated for the message received by the listener from the application. In one embodiment, the payload may identify the destination distributed ledger system and optionally the distributed ledger technology. In another embodiment, the particular type of distributed ledger system, destination, etc. may not be identified in the message.
[0044]
[0060] In one embodiment, the listener may encrypt and sign the payload. In one embodiment, the payload may be encrypted using a first key, and then the payload and the first key may be encrypted using a second key.
[0045]
[0061] In step 215, a payload message containing the encrypted and signed payload may be provided to the gateway communication service, for example using a standard generic message that can accept any payload message, and passed to a predefined standardized API, which may route the payload message to an adapter in step 220. In one embodiment, the payload message may identify a particular adapter to receive the payload.
[0046]
[0062] In step 225, the adapter decodes the payload from the payload message. The adapter may then convert the payload as necessary into a format for the destination distributed ledger technology, if necessary and / or desired, and may identify the destination distributed ledger system and technology, if indicated.
[0047]
[0063] In step 230, the adapter can send the transformed payload to the appropriate destination distributed ledger system, where the payload may be written to the destination distributed ledger system.
[0048]
[0064] Referring to FIG. 3, a method for gateway communication between a distributed ledger system and a non-distributed ledger system according to another embodiment is disclosed.
[0065] At step 305, the distributed ledger system may originate a message for one of the applications in the other domain. For example, the message may be any appropriate message, including a confirmation message, a message regarding an asset, etc.
[0049]
[0066] An adapter may receive the message from the distributed ledger system at step 310. In one embodiment, the adapter may convert the message from the distributed ledger system format to a format for the application as necessary and / or desired.
[0050]
[0067] In one embodiment, the adapter may encrypt the message. For example, the message may be encrypted using a first key, and then the first key and the message may be encrypted using a second key.
[0051]
[0068] In one embodiment, the message may identify specific listeners in different domains that are to receive the message.
[0069] In step 315, the adapter may provide a message to a gateway communication service, which may then provide (e.g., push) the message to the listener, or the listener may poll the adapter for messages for its application and retrieve (e.g., pull) the messages via the gateway communication service.
[0052]
[0070] In step 320, the gateway communication service can deliver the message to a listener within the domain.
[0071] The listener may decrypt the message, in step 325, and may provide the decrypted message to the application, in step 330. The application may then use the message as needed and / or desired.
[0053]
[0072] Below, general aspects of embodiments of the systems and methods of the present invention are described.
[0073] The inventive system or a portion of the inventive system may be in the form of a "processing machine", such as, for example, a general purpose computer. The term "processing machine" as used herein should be understood to include at least one processor using at least one memory. The at least one memory stores a set of instructions. The instructions may be permanently or temporarily stored in one or more memories of the processing machine. The processor executes the instructions stored in the one or more memories to process data. The set of instructions may include various instructions to perform a particular task or tasks, such as those described above. Such a set of instructions to perform a particular task may be characterized as a program, a software program, or simply software.
[0054]
[0074] In one embodiment, the processing machine may be a special purpose processor.
[0075] As noted above, a processing machine executes instructions stored in one or more memories to process data. This processing of data may, for example, be in response to commands by one or more users of the processing machine, in response to previous processing, in response to requests by another processing machine, and / or other input.
[0055]
[0076] As mentioned above, the processing machine used to implement the present invention can be a general-purpose computer. However, the processing machine described above can utilize any of a wide variety of other technologies, including special purpose computers, e.g., computer systems including microcomputers, minicomputers, or mainframes, programmable microprocessors, microcontrollers, peripheral integrated circuit elements, CSICs (customer specific integrated circuits) or ASICs (application specific integrated circuits) or other integrated circuits, logic circuits, digital signal processors, programmable logic devices such as FPGAs, PLDs, PLAs, or PALs, or other devices or configurations of devices capable of implementing the steps of the process of the present invention.
[0056]
[0077] The processing machine used to implement the present invention may utilize any suitable operating system. Thus, embodiments of the present invention may be implemented using any suitable operating system, including, but not limited to, the iOS operating system, the OS X operating system, the Android operating system, the Microsoft Windows operating system, the Unix operating system, the Linux operating system, the Xenix operating system, the IBM AIX operating system, the Hewlett-Packard UX operating system, the Novell This may include processing machines running the Netware™ operating system, the Sun Microsystems Solaris™ operating system, the OS / 2™ operating system, the BeOS operating system, the Macintosh operating system, the Apache operating system, the OpenStep™ operating system, or another operating system or platform.
[0057]
[0078] It is understood that in order to implement the method of the present invention as described above, it is not necessary that the processor and / or memory of the processing machine are physically located at the same geographic location. That is, each of the processors and memories used by the processing machine may be located at geographically separate locations and communicatively connected in any suitable manner. In addition, it is understood that each of the processors and / or memories may be configured in different physical devices. Thus, it is not necessary that the processor is a single device at one location and the memory is another single device at another location. That is, it is contemplated that the processor may be two devices at two different physical locations. The two separate devices may be connected in any suitable manner. In addition, the memory may include two or more portions of the memory at two or more physical locations.
[0058]
[0079] To further explain, the processing as described above is performed by various components and various memories. However, it is understood that the processing performed by two separate components as described above may be performed by a single component according to further embodiments of the present invention. Furthermore, the processing performed by one separate component as described above may be performed by two separate components. Similarly, the memory storage performed by two separate memory portions as described above may be performed by a single memory portion according to further embodiments of the present invention. Furthermore, the memory storage performed by one separate memory portion as described above may be performed by two memory portions.
[0059]
[0080] Further, various technologies may be used to provide communication between the various processors and / or memories, and to enable the processors and / or memories of the present invention to communicate with any other entity, i.e., to obtain further instructions or to access and use a remote memory store. Such technologies used to provide such communication may include, for example, a network, the Internet, an intranet, an extranet, a LAN, Ethernet, wireless communication via a cell tower or satellite, or any client-server system that provides communication. Such communication technologies may use any suitable protocol, such as, for example, TCP / IP, UDP, or OSI.
[0060]
[0081] As mentioned above, a set of instructions may be used in the process of the present invention. The set of instructions may be in the form of a program or software. The software may be in the form of, for example, system software or application software. The software may also be in the form of, for example, a collection of separate programs, a program module within a larger program, or a portion of a program module. The software used may also include modular programming in the form of object-oriented programming. The software tells the processing machine what to do with the data being processed.
[0061]
[0082] It is further understood that the instructions or sets of instructions used in the implementation and operation of the present invention may be in any suitable form such that a processing machine can read the instructions. For example, the instructions forming a program may be in the form of a suitable programming language that is converted into machine code or object code to enable one or more processors to read the instructions. That is, written lines of programming code or source code in a particular programming language are converted into machine code using a compiler, assembler, or interpreter. The machine code is, for example, binary coded machine instructions that are specific to a particular type of processing machine, i.e., a particular type of computer. The computer understands the machine code.
[0062]
[0083] Any suitable programming language may be used in accordance with various embodiments of the present invention. By way of example, programming languages used may include, for example, assembly language, Ada, APL, Basic, C, C++, COBOL, dBase, Forth, Fortran, Java, Modula-2, Pascal, Prolog, REXX, Visual Basic, and / or JavaScript. Furthermore, it is not necessary that a single type of instruction or a single programming language be utilized in connection with the operation of the systems and methods of the present invention. Rather, any number of different programming languages may be utilized as needed and / or desired.
[0063]
[0084] Similarly, the instructions and / or data used in practicing the present invention may utilize any compression or encryption technique or algorithm, as may be desired. An encryption module may be used to encrypt the data. Additionally, files or other data may be decrypted using, for example, an appropriate decryption module.
[0064]
[0085] As noted above, the present invention may illustratively be embodied in the form of a processing machine including, for example, a computer or computer system including at least one memory. It should be understood that a set of instructions, i.e., software, for example, that enables a computer operating system to perform the operations described above, may be included in any of a wide variety of one or more media, as desired. Additionally, data processed by the set of instructions may also be stored in any of a wide variety of one or more media. The medium may include, for example, a particular medium within a processing machine utilized to hold a set of instructions and / or data used in the present invention, i.e., memory, may take any of a variety of physical forms or transmission media. By way of example, the medium may be in the form of paper, transparency, compact discs, DVDs, integrated circuits, hard disks, floppy disks, optical disks, magnetic tape, RAM, ROM, PROM, EPROM, wire, cable, fiber, communications channels, satellite transmissions, memory cards, SIM cards, or other remote transmissions, as well as any other medium or source of data that can be read by a processor of the present invention.
[0065]
[0086] Furthermore, the memory or memories used in a processing machine implementing the present invention may be in any of a wide variety of forms that enable the memory to hold instructions, data, or other information, as desired. Thus, the memory may be in the form of a database for holding data. The database may use any desired file organization, such as, for example, a flat file organization or a relational database organization.
[0066]
[0087] In the systems and methods of the present invention, various "user interfaces" are utilized to allow a user to interface with one or more processing machines used to implement the present invention. As used herein, a user interface includes any hardware, software, or combination of hardware and software used by a processing machine that allows a user to interact with the processing machine. A user interface may be in the form of, for example, a dialog screen. A user interface may further include any of a mouse, a touch screen, a keyboard, a keypad, a voice reader, a voice recognizer, a dialog screen, a menu box, a list, a check box, a toggle switch, a push button, or any other device that allows a user to receive information regarding the operation of the processing machine as the other device processes a set of instructions and / or provides information to the processing machine. Thus, a user interface is any device that provides communication between a user and a processing machine. Information provided by a user to a processing machine through a user interface may be in the form of, for example, a command, a selection of data, or some other input.
[0067]
[0088] As discussed above, a user interface is utilized by a processing machine that executes a set of instructions, such that the processing machine processes data for a user. A user interface is generally used by a processing machine to interact with a user to convey information or receive information from the user. However, it should be understood that in accordance with some embodiments of the systems and methods of the present invention, it is not necessary for a human user to actually interact with a user interface utilized by a processing machine of the present invention. Rather, it is also contemplated that a user interface of the present invention may interact, i.e., convey information and receive information, with another processing machine rather than a human user. Thus, the other processing machine may be considered a user. Additionally, it is contemplated that a user interface utilized in the systems and methods of the present invention may interact partially with another processing machine or machines and partially with a human user.
[0068]
[0089] It will be readily understood by those skilled in the art that the present invention is susceptible to a wide range of utility and applications. Numerous embodiments and adaptations of the present invention other than those described herein, as well as numerous variations, modifications, and equivalents, will be apparent from, or will reasonably be suggested by, the present invention and the foregoing description of the invention without departing from the spirit or scope of the invention.
[0069]
[0090] Thus, while the present invention has been described in detail herein with reference to exemplary embodiments, it should be understood that the disclosure is merely illustrative and exemplary of the invention, and is made to provide an enabling disclosure of the invention. Thus, the foregoing disclosure is not intended to be construed as limiting the invention or otherwise excluding any other such embodiments, adaptations, variations, modifications, or equivalents.
Claims
1. 1. A method for gateway communication between a non-distributed ledger system and a distributed ledger system, comprising: receiving, at a listener including a computer processor, a message from an application in a first domain for a destination distributed ledger system, the destination distributed ledger system being one of a plurality of distributed ledger systems in a second domain; generating, by the listener, a payload for the message, the payload identifying the destination distributed ledger system for the message and identifying a distributed ledger technology of the destination distributed ledger system; passing, by the listener, a payload message including the payload to one of a plurality of adapters in a gateway communication service between the non-distributed ledger system and the distributed ledger system using an API; the adapter receives the payload message, identifies the destination distributed ledger system, converts the payload into a format for the distributed ledger technology, and communicates the converted payload to the destination distributed ledger system.
2. The message includes a request to tokenize an asset having a plurality of attributes, and the method further comprises: tokenizing, by the listener, the plurality of attributes of the asset; The method of claim 1 , wherein the payload comprises a tokenized version of the asset.
3. The method of claim 1 , further comprising signing the payload by the listener.
4. The method of claim 1 , wherein the payload message includes an identifier for the adapter.
5. The method of claim 1 , wherein the adapter is associated with the destination distributed ledger system.
6. 1. A method for gateway communication between a non-distributed ledger system and a distributed ledger system, comprising: receiving a payload message including a payload at an adapter of a plurality of adapters in a gateway communication service between the non-distributed ledger system and the distributed ledger system, the payload being from an application in a first domain received by a listener, the payload being for a destination distributed ledger system, the destination distributed ledger system being one of a plurality of distributed ledger systems in a second domain, the payload further identifying a distributed ledger technology of the destination distributed ledger system; identifying the destination distributed ledger system from the payload by the adapter; converting the payload into a format for the distributed ledger technology by the adapter; and communicating the payload to the destination distributed ledger system.
7. The method of claim 6 , wherein the payload comprises a plurality of tokenized attributes of an asset.
8. The method of claim 6 , wherein the payload is signed by the listener.
9. The method of claim 6 , wherein the payload message includes an identifier for the adapter.
10. The method of claim 6 , wherein the adapter is associated with the destination distributed ledger system.
11. 1. A method for gateway communication between a distributed ledger system and a non-distributed ledger system, comprising: receiving a message for an application in a first domain from one of a plurality of distributed ledger systems in a second domain at one of a plurality of adapters in a gateway communication service between the non-distributed ledger system and the distributed ledger system, the adapter comprising a computer processor; converting, by the adapter, the message from a format for the distributed ledger system to a format for the application; generating, by said adapter, a transformed payload of said message; generating, by the adapter, a payload message including the payload; and communicating the payload message to a listener associated with the application in the first domain using an API; The listener provides the payload to the application.
12. 12. The method of claim 11, wherein the step of communicating the payload message to a listener associated with the application in the first domain comprises the adapter pushing the payload message to the listener.
13. 12. The method of claim 11, wherein the step of communicating the payload message to a listener associated with the application in the first domain comprises pulling the payload message from the adapter in response to the listener polling the adapter.
14. The method of claim 11 , wherein the payload message identifies the listener.
15. The method of claim 11 , wherein the listener is associated with the application.
16. The method of claim 11 , further comprising signing the payload by the adapter.
Citation Information
Patent Citations
Container operation data processing method and device
CN107392528A
Obfuscation of intent in transactions using cryptographic techniques
JP2018517208A
System and method for using a distributed ledger gateway
US20180375840A1
Wallet device for cryptocurrency, and signature method using said device
WO2019043466A1
